diff --git a/.gitignore b/.gitignore deleted file mode 100644 index 6cca948..0000000 --- a/.gitignore +++ /dev/null @@ -1,440 +0,0 @@ -/a2ping.doc.tar.xz -/a2ping.tar.xz -/accfonts.doc.tar.xz -/accfonts.tar.xz -/adhocfilelist.doc.tar.xz -/adhocfilelist.tar.xz -/afm2pl.tar.xz -/aleph.doc.tar.xz -/aleph.tar.xz -/amstex.doc.tar.xz -/amstex.tar.xz -/arara.doc.tar.xz -/arara.tar.xz -/authorindex.doc.tar.xz -/authorindex.tar.xz -/autosp.doc.tar.xz -/bibexport.doc.tar.xz -/bibexport.tar.xz -/bibtex8.doc.tar.xz -/bibtex8.tar.xz -/bibtex.doc.tar.xz -/bibtex.tar.xz -/bibtexu.doc.tar.xz -/bundledoc.doc.tar.xz -/bundledoc.tar.xz -/cachepic.doc.tar.xz -/cachepic.tar.xz -/checkcites.doc.tar.xz -/checkcites.tar.xz -/checklistings.doc.tar.xz -/checklistings.tar.xz -/chktex.doc.tar.xz -/chktex.tar.xz -/cjk-gs-integrate.doc.tar.xz -/cjk-gs-integrate.tar.xz -/cjkutils.tar.xz -/context.doc.tar.xz -/context.tar.xz -/convbkmk.doc.tar.xz -/convbkmk.tar.xz -/crossrefware.doc.tar.xz -/crossrefware.tar.xz -/cslatex.tar.xz -/csplain.tar.xz -/ctanify.doc.tar.xz -/ctanify.tar.xz -/ctanupload.doc.tar.xz -/ctanupload.tar.xz -/ctie.doc.tar.xz -/cweb.doc.tar.xz -/cweb.tar.xz -/cyrillic-bin.doc.tar.xz -/cyrillic-bin.tar.xz -/cyrillic.doc.tar.xz -/cyrillic.tar.xz -/de-macro.doc.tar.xz -/de-macro.tar.xz -/detex.doc.tar.xz -/detex.tar.xz -/diadia.doc.tar.xz -/diadia.tar.xz -/dosepsbin.doc.tar.xz -/dosepsbin.tar.xz -/dtl.doc.tar.xz -/dtl.tar.xz -/dtxgen.doc.tar.xz -/dtxgen.tar.xz -/dvi2tty.doc.tar.xz -/dvi2tty.tar.xz -/dviasm.doc.tar.xz -/dviasm.tar.xz -/dvicopy.doc.tar.xz -/dvicopy.tar.xz -/dvidvi.doc.tar.xz -/dvidvi.tar.xz -/dviljk.doc.tar.xz -/dviljk.tar.xz -/dvipdfmx.doc.tar.xz -/dvipdfmx.tar.xz -/dvipng.doc.tar.xz -/dvipng.tar.xz -/dvipos.doc.tar.xz -/dvipos.tar.xz -/dvips.doc.tar.xz -/dvips.tar.xz -/dvisvgm.doc.tar.xz -/dvisvgm.tar.xz -/ebong.doc.tar.xz -/ebong.tar.xz -/eplain.doc.tar.xz -/eplain.tar.xz -/epspdf.doc.tar.xz -/epspdf.tar.xz -/epstopdf.doc.tar.xz -/epstopdf.tar.xz -/exceltex.doc.tar.xz -/exceltex.tar.xz -/fig4latex.doc.tar.xz -/fig4latex.tar.xz -/findhyph.doc.tar.xz -/findhyph.tar.xz -/fontinst.doc.tar.xz -/fontinst.tar.xz -/fontools.doc.tar.xz -/fontools.tar.xz -/fontware.doc.tar.xz -/fragmaster.doc.tar.xz -/fragmaster.tar.xz -/getmap.doc.tar.xz -/getmap.tar.xz -/glossaries.doc.tar.xz -/glossaries.tar.xz -/glyphlist.tar.xz -/gregoriotex.doc.tar.xz -/gregoriotex.tar.xz -/gsftopk.doc.tar.xz -/gsftopk.tar.xz -/installfont.doc.tar.xz -/installfont.tar.xz -/jadetex.doc.tar.xz -/jadetex.tar.xz -/kotex-utils.doc.tar.xz -/kotex-utils.tar.xz -/kpathsea.doc.tar.xz -/kpathsea.tar.xz -/lacheck.doc.tar.xz -/latex2man.doc.tar.xz -/latex2man.tar.xz -/latex2nemeth.doc.tar.xz -/latex2nemeth.tar.xz -/latexdiff.doc.tar.xz -/latexdiff.tar.xz -/latex.doc.tar.xz -/latexfileversion.doc.tar.xz -/latexfileversion.tar.xz -/latex-git-log.doc.tar.xz -/latex-git-log.tar.xz -/latexindent.doc.tar.xz -/latexindent.tar.xz -/latexpand.doc.tar.xz -/latexpand.tar.xz -/latex-papersize.doc.tar.xz -/latex-papersize.tar.xz -/latex.tar.xz -/lcdftypetools.doc.tar.xz -/lilyglyphs.doc.tar.xz -/lilyglyphs.tar.xz -/listbib.doc.tar.xz -/listbib.tar.xz -/listings-ext.doc.tar.xz -/listings-ext.tar.xz -/lollipop.doc.tar.xz -/lollipop.tar.xz -/ltxfileinfo.doc.tar.xz -/ltxfileinfo.tar.xz -/ltximg.doc.tar.xz -/ltximg.tar.xz -/lua2dox.doc.tar.xz -/lua2dox.tar.xz -/luaotfload.doc.tar.xz -/luaotfload.tar.xz -/luatex.doc.tar.xz -/luatex.tar.xz -/lwarp.doc.tar.xz -/lwarp.tar.xz -/make4ht.doc.tar.xz -/make4ht.tar.xz -/makedtx.doc.tar.xz -/makedtx.tar.xz -/makeindex.doc.tar.xz -/makeindex.tar.xz -/match_parens.doc.tar.xz -/match_parens.tar.xz -/mathspic.doc.tar.xz -/mathspic.tar.xz -/metafont.doc.tar.xz -/metafont.tar.xz -/metapost.doc.tar.xz -/metapost.tar.xz -/mex.doc.tar.xz -/mex.tar.xz -/mf2pt1.doc.tar.xz -/mf2pt1.tar.xz -/mflua.tar.xz -/mfware.doc.tar.xz -/mfware.tar.xz -/mkgrkindex.doc.tar.xz -/mkgrkindex.tar.xz -/mkjobtexmf.doc.tar.xz -/mkjobtexmf.tar.xz -/mkpic.doc.tar.xz -/mkpic.tar.xz -/mltex.doc.tar.xz -/mltex.tar.xz -/mptopdf.doc.tar.xz -/mptopdf.tar.xz -/m-tx.doc.tar.xz -/m-tx.tar.xz -/multibibliography.doc.tar.xz -/multibibliography.tar.xz -/musixtex.doc.tar.xz -/musixtex.tar.xz -/musixtnt.doc.tar.xz -/musixtnt.tar.xz -/oberdiek.doc.tar.xz -/oberdiek.tar.xz -/omegaware.doc.tar.xz -/patgen.doc.tar.xz -/patgen.tar.xz -/pax.doc.tar.xz -/pax.tar.xz -/pdfbook2.doc.tar.xz -/pdfbook2.tar.xz -/pdfcrop.doc.tar.xz -/pdfcrop.tar.xz -/pdfjam.doc.tar.xz -/pdfjam.tar.xz -/pdflatexpicscale.doc.tar.xz -/pdflatexpicscale.tar.xz -/pdftex.doc.tar.xz -/pdftex.tar.xz -/pdftools.doc.tar.xz -/pdftools.tar.xz -/pdfxup.doc.tar.xz -/pdfxup.tar.xz -/pedigree-perl.doc.tar.xz -/pedigree-perl.tar.xz -/perltex.doc.tar.xz -/perltex.tar.xz -/petri-nets.doc.tar.xz -/petri-nets.tar.xz -/pfarrei.doc.tar.xz -/pfarrei.tar.xz -/pkfix.doc.tar.xz -/pkfix-helper.doc.tar.xz -/pkfix-helper.tar.xz -/pkfix.tar.xz -/pmxchords.doc.tar.xz -/pmxchords.tar.xz -/pmx.doc.tar.xz -/pmx.tar.xz -/ps2pk.doc.tar.xz -/ps2pk.tar.xz -/pst2pdf.doc.tar.xz -/pst2pdf.tar.xz -/pstools.tar.xz -/pst-pdf.doc.tar.xz -/pst-pdf.tar.xz -/ptex2pdf.doc.tar.xz -/ptex2pdf.tar.xz -/ptex.doc.tar.xz -/ptex-fontmaps.doc.tar.xz -/ptex-fontmaps.tar.xz -/ptex.tar.xz -/purifyeps.doc.tar.xz -/purifyeps.tar.xz -/pygmentex.doc.tar.xz -/pygmentex.tar.xz -/pythontex.doc.tar.xz -/pythontex.tar.xz -/rubik.doc.tar.xz -/rubik.tar.xz -/seetexk.doc.tar.xz -/seetexk.tar.xz -/splitindex.doc.tar.xz -/splitindex.tar.xz -/srcredact.doc.tar.xz -/srcredact.tar.xz -/sty2dtx.doc.tar.xz -/sty2dtx.tar.xz -/svn-multi.doc.tar.xz -/svn-multi.tar.xz -/synctex.doc.tar.xz -/synctex.tar.xz -/tetex.doc.tar.xz -/tetex.tar.xz -/tex4ebook.doc.tar.xz -/tex4ebook.tar.xz -/tex4ht.doc.tar.xz -/tex4ht.tar.xz -/texconfig.doc.tar.xz -/texconfig.tar.xz -/texcount.doc.tar.xz -/texcount.tar.xz -/texdef.doc.tar.xz -/texdef.tar.xz -/texdiff.doc.tar.xz -/texdiff.tar.xz -/texdirflatten.doc.tar.xz -/texdirflatten.tar.xz -/texdoc.doc.tar.xz -/tex.doc.tar.xz -/texdoc.tar.xz -/texfot.doc.tar.xz -/texfot.tar.xz -/texlive-20170520-source.tar.xz -/texlive-en.doc.tar.xz -/texlive.infra.doc.tar.xz -/texlive.infra.tar.xz -/texlive-licenses.tar.xz -/texliveonfly.doc.tar.xz -/texliveonfly.tar.xz -/texlive-scripts.doc.tar.xz -/texlive-scripts.tar.xz -/texloganalyser.doc.tar.xz -/texloganalyser.tar.xz -/texosquery.doc.tar.xz -/texosquery.tar.xz -/texsis.doc.tar.xz -/texsis.tar.xz -/tex.tar.xz -/texware.doc.tar.xz -/texware.tar.xz -/thumbpdf.doc.tar.xz -/thumbpdf.tar.xz -/tie.doc.tar.xz -/tie.tar.xz -/tpic2pdftex.doc.tar.xz -/tpic2pdftex.tar.xz -/ttfutils.doc.tar.xz -/ttfutils.tar.xz -/typeoutfileinfo.doc.tar.xz -/typeoutfileinfo.tar.xz -/ulqda.doc.tar.xz -/ulqda.tar.xz -/uplatex.doc.tar.xz -/uptex.doc.tar.xz -/urlbst.doc.tar.xz -/urlbst.tar.xz -/velthuis.doc.tar.xz -/velthuis.tar.xz -/vlna.doc.tar.xz -/vpe.doc.tar.xz -/vpe.tar.xz -/web.doc.tar.xz -/web.tar.xz -/xdvi.doc.tar.xz -/xdvi.tar.xz -/xetex.doc.tar.xz -/xetex.tar.xz -/xindy.doc.tar.xz -/xindy.tar.xz -/xmltex.doc.tar.xz -/xmltex.tar.xz -/yplan.doc.tar.xz -/yplan.tar.xz -/texlive-20180414-source.tar.xz -/axodraw2.doc.tar.xz -/axodraw2.tar.xz -/bib2gls.doc.tar.xz -/bib2gls.tar.xz -/ctan-o-mat.doc.tar.xz -/ctan-o-mat.tar.xz -/dviinfox.doc.tar.xz -/dviinfox.tar.xz -/jfmutil.doc.tar.xz -/jfmutil.tar.xz -/l3build.doc.tar.xz -/l3build.tar.xz -/wordcount.doc.tar.xz -/wordcount.tar.xz -/texdoctk.doc.tar.xz -/texdoctk.tar.xz -/lyluatex.doc.tar.xz -/lyluatex.tar.xz -/texlive-20190410-source.tar.xz -/dviout-util.doc.tar.xz -/cluttex.tar.xz -/cluttex.doc.tar.xz -/ctanbib.doc.tar.xz -/ctanbib.tar.xz -/pdftex-quiet.doc.tar.xz -/pdftex-quiet.tar.xz -/webquiz.tar.xz -/webquiz.doc.tar.xz -/xindex.tar.xz -/xindex.doc.tar.xz -/texlive-20200327-source.tar.xz -/texlive-scripts-extra.doc.tar.xz -/texlive-scripts-extra.tar.xz -/chklref.doc.tar.xz -/chklref.tar.xz -/ps2eps.doc.tar.xz -/ps2eps.tar.xz -/ketcindy.doc.tar.xz -/ketcindy.tar.xz -/clojure-pamphlet.doc.tar.xz -/clojure-pamphlet.tar.xz -/luahbtex.doc.tar.xz -/luahbtex.tar.xz -/attachfile2.doc.tar.xz -/attachfile2.tar.xz -/texplate.doc.tar.xz -/texplate.tar.xz -/psutils.doc.tar.xz -/psutils.tar.xz -/xpdfopen.doc.tar.xz -/texlive.tlpdb -/optex.tar.xz -/optex.doc.tar.xz -/texlive-20210325-source.tar.xz -/albatross.doc.tar.xz -/albatross.tar.xz -/git-latexdiff.doc.tar.xz -/git-latexdiff.tar.xz -/hyperxmp.doc.tar.xz -/hyperxmp.tar.xz -/light-latex-make.doc.tar.xz -/light-latex-make.tar.xz -/spix.doc.tar.xz -/spix.tar.xz -/tikztosvg.doc.tar.xz -/tikztosvg.tar.xz -/xml2pmx.doc.tar.xz -/xml2pmx.tar.xz -/citation-style-language.doc.tar.xz -/citation-style-language.tar.xz -/hitex.doc.tar.xz -/hitex.tar.xz -/luafindfont.doc.tar.xz -/luafindfont.tar.xz -/texlogsieve.doc.tar.xz -/texlogsieve.tar.xz -/luajittex.doc.tar.xz -/pdftosrc.doc.tar.xz -/texlive-20230311-source.tar.xz -/bibcop.doc.tar.xz -/bibcop.tar.xz -/pagelayout.doc.tar.xz -/pagelayout.tar.xz -/texaccents.doc.tar.xz -/texaccents.tar.xz -/upmendex.doc.tar.xz -/digestif.doc.tar.xz -/digestif.tar.xz -/texaccents.source.tar.xz -/build-svn66984.tar.gz -/optexcount.doc.tar.xz -/optexcount.tar.xz -/texlogfilter.doc.tar.xz diff --git a/generate-fmtutilcnf b/generate-fmtutilcnf deleted file mode 100755 index 88b7d70..0000000 --- a/generate-fmtutilcnf +++ /dev/null @@ -1,22 +0,0 @@ -#!/bin/bash - -# Regenerate the fmtutil.cnf file from the pieces which are currently present -# in the fmtutil.cnf.d directory. - -# Abort immediately if any command fails -set -o errexit -shopt -s nullglob - -texdir=$1 -[[ -z $texdir ]] && texdir=/usr/share/texlive -web2cdir=$texdir/texmf-dist/web2c - -rm -f $web2cdir/fmtutil.cnf.rpmtmp - -echo "# Generated by $0 on $(date)" > $web2cdir/fmtutil.cnf.rpmtmp - -cat $web2cdir/fmtutil-hdr.cnf \ - $texdir/fmtutil.cnf.d/* \ - >> $web2cdir/fmtutil.cnf.rpmtmp - -mv $web2cdir/fmtutil.cnf.rpmtmp $web2cdir/fmtutil.cnf diff --git a/macros.texlive b/macros.texlive deleted file mode 100644 index 2aa1342..0000000 --- a/macros.texlive +++ /dev/null @@ -1,26 +0,0 @@ -# macros to keep trees in texlive consistent -%_texmf /usr/share/texlive/texmf-local -%_texmf_main /usr/share/texlive/texmf-dist -%_texmf_vendor /usr/share/texlive/texmf-dist -%_texmf_var /var/lib/texmf -%_texmf_conf /usr/share/texlive/texmf-config - -%texlive_post \ -mkdir -p /var/run/texlive \ -touch /var/run/texlive/run-texhash \ -touch /var/run/texlive/run-mtxrun \ -: - -%texlive_postun \ -if [ $1 == 1 ]; then \ - mkdir -p /var/run/texlive \ - touch /var/run/run-texhash \ -else \ - %{_bindir}/texhash 2> /dev/null \ -fi \ -: - -%texlive_posttrans \ -if [ -e /var/run/texlive/run-texhash ] && [ -e %{_bindir}/texhash ]; then %{_bindir}/texhash 2> /dev/null; rm -f /var/run/texlive/run-texhash; fi \ -if [ -e /var/run/texlive/run-mtxrun ]; then export TEXMF=/usr/share/texlive/texmf-dist; export TEXMFCNF=/usr/share/texlive/texmf-dist/web2c; export TEXMFCACHE=/var/lib/texmf; %{_bindir}/mtxrun --generate &> /dev/null; rm -f /var/run/texlive/run-mtxrun; fi \ -: diff --git a/sources b/sources deleted file mode 100644 index 7cc8838..0000000 --- a/sources +++ /dev/null @@ -1,425 +0,0 @@ -SHA512 (a2ping.doc.tar.xz) = 7a7b6474819b2715c131485472963b463163378d4ae4ac586f17a130b3327c6dda1f4132f4f2379388a8a493fb2374abfff6b7ad87513cbe9d04993572692aeb -SHA512 (a2ping.tar.xz) = 4008c18f93a7d378c8da20bad7c1fdf19c3e6befccdcc804326168854fcd35bb89fe414b30a26dbddeaf81a11c0d404bf5b5459bd3d8adce49dc30279e3bd420 -SHA512 (accfonts.doc.tar.xz) = 24b19688008b875890a397e2250277f81be1b77c00f95a9a2d40a257c0dc6f4c8adfc07e594f3873e60e1bfbcfeba786e45e9e63eb632ca92b7c935f74b3049e -SHA512 (accfonts.tar.xz) = f70105569c5b8ed83c103e423d29367702a5330d57f743a640ef68fc6a290b246e8f514907d63d6c7f203c12ab3eeb0cc64a45fe5c0379f10ccf1c8002007a47 -SHA512 (adhocfilelist.doc.tar.xz) = 14bde143bf3ffa3f2b972f93544089e4c0314c7696e1d711719549b7e831278c66fee0676665fe6eaaac744689d613dce159e4eee2e3f9c24dbbe602794fc62e -SHA512 (adhocfilelist.tar.xz) = 57436dae1489c0f614c4b002f83d34a711398a762ac532b44b1d91a51d068462aaedb5b034923629f7630f039988452eb833d1e98af389c788091517bbee8954 -SHA512 (attachfile2.doc.tar.xz) = 3033a58688a822f74712d072be3251c58b96e9e370859effc8a4ff7f8b9db98906c471a6472b7b9ab4b0d9725a9b53918e8b65d5bdbbed56e737addbe582737f -SHA512 (attachfile2.tar.xz) = 57ef4d0c2de0cb854bb91b14a55921851a4abdd60221589f0655afc64a01d4bc672380fd572e0d451b6bac7ffd66f407b4ffab5f0fa1092dc8fcd809c81b23bc -SHA512 (authorindex.doc.tar.xz) = a6c48d89cfd854d8acae47e318bc3951f8e81434d9a81901c8a7b7f1c25188afb013b94780ceb201e81b5d10efb7f5c24f5b5e4c8d8379aba390431707bc4d55 -SHA512 (authorindex.tar.xz) = 75e35298e4839f3975824624c7367504a26dafdf4b8e1d5238e2575c821f652282cd9a6e58fb4296b2c0345ff104dbd2281135776718fe4d2ecb76110946ab9f -SHA512 (autosp.doc.tar.xz) = 2905669b9e2b61749cb7b1eaa02be889c4e8d8adbd78b126e7ee6d894f24f623c888a24abac1d163f3332c5cfa9cd1f64d0de95200350b88a7f47faeacb841a6 -SHA512 (axodraw2.doc.tar.xz) = 927e42358d543f46ccabb8184e35b6f0a5848783ce9eea09e6c780fc83955d5f37b998254153b1954cf1a59be6cfe573a6c79c2c328ab2a22a6e5f6764a50fa1 -SHA512 (axodraw2.tar.xz) = bc9923a9614ef9d7bece20e682729347dc942470a927b40736d6868f02867408b5fba51b117edd8745f96df23b9c1e93792d321291db13b7fdfdae0ee32bb7fd -SHA512 (bibexport.doc.tar.xz) = ec96364b4a9f7ab446c6b0104646e82cab1c9015e0d3dfac6a795e58e02dd3920737207d16089c5470ac32f76a61be949efa6899ca935322c0062f71f3477b16 -SHA512 (bibexport.tar.xz) = 75f9cb374e0aee1b049e977e3ee1a855ae8f908a6c6191589ce9d9fc28a8358fedf93faa416b1020e157a8ec7a3980673d00e052a100c88724e86050ea5eb487 -SHA512 (cachepic.doc.tar.xz) = 93108475f74b2356cea79a8403729df7c24e95871680b0b53f9316a7b158aa973ce108632a121198459352968bfdfd79f265d4aa301ecd00ce55cf56db5f976c -SHA512 (cachepic.tar.xz) = a0405befc4ed9217cedc4abc78c355b869bb803fa4be32245198ba4aa8151884ace023b3465db3b4757c923d0425fd1d186e25facd7c29d05d5072668a9f0e3d -SHA512 (checklistings.doc.tar.xz) = 3f8d6eb67f305fa5e03bb625a4034ffe616a6c0223774688463884df99c337c1e5bdd76bbfa3b9428ec4812ec72388979c4252ba7407ae8b79e3de7cfacbeb01 -SHA512 (checklistings.tar.xz) = 599ed476321a825bea61fbdd468670cadcdb11249a4a9324fc88339a9445ceeced3680459dc2d27c2e6263cd207ffc0ce3b60b325d31072922bf4644478cf544 -SHA512 (chklref.doc.tar.xz) = 5aeb13824c1781feefe94215f3efce15c212e0d38f9e0d5fb393e96c2159ba43f165c600cd64ee9d8c42c0a4f0db6c2e462ee85a93993965bad0420b6b662ef6 -SHA512 (chklref.tar.xz) = 12f5e950ae439d0efd3f625572e8b81d993485a1efd71dc04c078cb1dc9b76650de3c424d7a6c60ebc5ccb5d29f37ed04c477ea1306acf4c5f4fccbd95e18985 -SHA512 (cjk-gs-integrate.doc.tar.xz) = c1165f2ecd08b279cd0d0b028682eecbb3953659426a1885bbe5aab9838a90107c576a3b9bf80b0d54dbe3fc438c8af8a8c82f5faf79052c37d2c5e85ea9ae42 -SHA512 (cjk-gs-integrate.tar.xz) = 376a1b287955a801cb223c761fc9bee8af0f587f27f8c3e6cb32ef009fa575fdaf54f5e3847d7b4ca414e3eb4d58d3611ee2194736dcfafe8afb2dd6230c1999 -SHA512 (cjkutils.tar.xz) = 36b0d0ef4bae2a9e5f2238c5c9aa125eabfca509462b65a159f66cbafc690939e16760a86e7e7dcce22ffda2f301c039059cdff1af8ed862017f18552e13e728 -SHA512 (clojure-pamphlet.doc.tar.xz) = 02ab33398a87a47c76fd34df9eccde47b60b028b3a659294968b35beaead85908d958ccd94b8f706f6f2173c9af3d7f7382c510134dabde4bfab9be20f85998d -SHA512 (clojure-pamphlet.tar.xz) = 67047118c74e1d19426d99bd3a716d6076d977156f1e686bbd991d6b1cba464897f662e950c86218910b485300d40a5cb80d8d43868fb7920cc99a6d7f1c5735 -SHA512 (cluttex.doc.tar.xz) = c8e395e087f9ca511db96b96dee3de4a51fdfc9374ddaf40703db0980724000f1987298dc8253d0c5a8d7c97e46cc2a8165b7cad6560fa560213cd5ce85205de -SHA512 (cluttex.tar.xz) = 35c8ec3711963131bb50fe67ef95705a1d40a6dfd831a33d863bde16f16e66086e204725154d0deaed13e94fdc28dd59497561673542151c1574f7fe87f516f9 -SHA512 (convbkmk.doc.tar.xz) = 937d436cb9387eac601883ced516fa40f60e606bb4bae0be62e1ded2a31754a1d00461a34ad533cce1cc48f4d11e880233eaac128d80841e0b22f18801e86506 -SHA512 (convbkmk.tar.xz) = 01bb9621459bac7eecc99b1d9aa59de420ba805b2e0ecdb2a89f5c86fa4a3021d957b4ddc69617ea406e77865d68e40c657979c488fc51f4676d084cfe6181cd -SHA512 (csplain.tar.xz) = c4dbe1721fc2281cba7e426f6c75d35671cfeddf77a947f147a33c651090bc90528583445736bc2933c2d3986424e1b3ac4984e93cfae5f0ad1cfe41902f63cb -SHA512 (ctanify.doc.tar.xz) = f9b636cb41b126809d808c167410a37052b1c6c385fe4eb8df3b819c0cf2cac2c7c1c74d7ea15d2916c1cbc563e078845e451000e3a08cd9a8e0696a342b22ac -SHA512 (ctanify.tar.xz) = 6774b151bb0fb052d41d8447c7e8d378d7f31b0a5aea5f2f00b93669b8c2f629f479ae21d40480fd62f468d866cbe0c6f0dedd8a0248f8d83cd1039131849439 -SHA512 (ctan-o-mat.doc.tar.xz) = 423efc3f2f850c5a9bcbe787edb8155ef76e56ce5e3a1ba3332bb465b8239616bd1fcff2e8a58db6f5ce9d5191ae3209a5451f746250a3b081fe9b35d024eebd -SHA512 (ctan-o-mat.tar.xz) = a995dfc6d79ba77fe673aa501f28eaf9f057c34501fa032423569317e5a4eed048c3375d806eafacedefec02e91bcb587fa6bfb8c0ff980395bb877b2ce88c4c -SHA512 (ctanupload.doc.tar.xz) = 9e027f7ce08041be7668a7a404fad6b6c7cfc71e581ad1216956d0b53c379d204bd84d2d55d186c74f784df8911770b96f934775f44f7141a5f1b9b5e773cb7a -SHA512 (ctanupload.tar.xz) = 4464bdfbf72318b24abcd88e1c25dae5925a96e867c694f3f02a594ed7b8b24cffdcdb345f0054e200a6af63f88b591ff84058af0adfb4a1b3feff2a057d9d72 -SHA512 (de-macro.doc.tar.xz) = 079dfa97d55a2989e300856e7877591bd041b239454a0a0f72ed20e329fe2f9ebbbff22497eec1b622e2679316242a845eacab5716e01e74c5c810fb357c1636 -SHA512 (de-macro.tar.xz) = 8952325be56b193440dd24f0e6847ed1a9bea4cf8aed86afc7b7ff0a0f6d61130320834e679d55a020d8114d555733a92e645eea8fa1d3afabeb8cac5ef097ea -SHA512 (diadia.doc.tar.xz) = e7487bb47fbe8aee714304150c00866780782a9ad32bf6ccbb02799aeb251345ce1cf042e8b4d7b4011083a3be2fe3b16b78f25a4a4206d173ac1384716592ab -SHA512 (diadia.tar.xz) = 55a246d4e3ab86d6300210d830ce464a935bb83c9ffd29b5387f0a56f5c82d4c5a71cf107f78ffe0cde07f17897e2f949acf1fe70da9da7c7992b330a07b1c68 -SHA512 (dosepsbin.doc.tar.xz) = b9edce9984698db8e50f9183f89b025cfa89dca8a8725054af80f379c88ff1d2b02cef8f3d5f37ee5b8585a59d1a4d0f0ee0e541a7784f3f3f4e382d78e6a47e -SHA512 (dosepsbin.tar.xz) = 7f31d47d60b0bf151cd6e6516e29a8414c6344657c133e726e6e8dfe23818995b10b9a2898b1801c4bcb9219969a8af1d2725b75df514ffb119730b3e49008f1 -SHA512 (dtl.doc.tar.xz) = 476723cb714863405daaa5fdc35557ffe7cb1149735272cfec2f14473ee65b93da90648abf73b4cf09799b1595569513f3735a07173b50eb6db405d526d40660 -SHA512 (dtl.tar.xz) = c2b7f3ab778c01979b158c335e4bff7bbb677fe8c5bc3202a5f43c747119dbc4a7e348c5fbb0bf2a487a49430939fae6abc855392da92ba65441b87e08585189 -SHA512 (dtxgen.doc.tar.xz) = f666a2b5d3cb32d43a23cc3edcd92bfb727d500a8c439b4b78bae89ac73c317adac9786e4702e78b5b4861b76489ff7af5cfd115a80b96cd6298c65412d56a50 -SHA512 (dtxgen.tar.xz) = b197684c1e941a64b606b472fb9e0f1ed4f5d0b0db2df59202712c0e3f3b3993106b8d493d707c4875e90dacd9dc7d12bba784ef7c8d04984a38708073b1b92d -SHA512 (dviinfox.doc.tar.xz) = 4da7f09620beb3aa7e5a572f31c1d53466607ec0f6401b687ac1da624ea435f0efb3e0e2074252f49a720cb6d53412658a8a45dcba5553315fc9423233755dbe -SHA512 (dviinfox.tar.xz) = d366c28a88f488418405944e299b8e8c681a2bfbe1fb8d37847d89920ab41d3103d52072c7455ecec2451702cbbea02971ac6f1e1d609bde9a2f5e8abd345ef5 -SHA512 (ebong.doc.tar.xz) = 22d20c89883c6cbb95f3fbc3da3f4c5526c9c22b15ec35828bb03a1edf068573de0b35187a893c8356b50fd59c93ce4231f02ac4f15de4071e6ced73b9e44a57 -SHA512 (ebong.tar.xz) = 2553e46f91021de4fc9eda99ff45f8efe9b20b0663912b4339b22247d1bf7125f9be398661fe24fa2e3fae6a220025d47b05f4680601f7b4842d1111a6128d8c -SHA512 (exceltex.doc.tar.xz) = a6c4ae60f2922af773f67494c30407b5b6ead39def9253b4710940774e619496a3c242f7e9bcc8733fc733234679bb2b01c6f4571e30dca16c8eb15ad8d6d01c -SHA512 (exceltex.tar.xz) = ef8495b4ef6937af022951044652ea1fb1dcd3f65961408e84a52f9053db8f4fde6703f18833ee9cd002bc058f01813ddf765f575200211563d6e16a956d3613 -SHA512 (fig4latex.doc.tar.xz) = c05d3c08b916785b765694e68b8f7cd96c3c359325e8f84166102beb4caeada7490ed24ad0b4f52a66cb822000f8b4d75d1013b93055898e88e82d7f23d5095a -SHA512 (fig4latex.tar.xz) = 3f01676ea85d64e09376da4481794e1537b9e19c0ff0bac77c022b10b5d49c39d789de6e4f0356b4ea4b23326f9ef320f4b08035bc04a827951cbf44ed7c6228 -SHA512 (findhyph.doc.tar.xz) = 97f3fa22fe490d21bc9e5ce5ea0b23ff25ab9afd9c5dbf6e8d78b24fd306ddc132c5ba7ca7ea7e3d7aaeb48993c7968b0c02ae0b765416a939d84b53171f4179 -SHA512 (findhyph.tar.xz) = aea6305dc0d9b31367638078a7958933468e761ef4cf47a1c44d9fd5ab2e25f7af22273c4631946a90edc9b51947c2e56b3d4b74c8c59f0a79250c2edf5bc137 -SHA512 (fontinst.doc.tar.xz) = 23c569bdd6f12dd4cd0b5673ed9efde2c7c7988d86bf2f89409bc22c80f64ea80ca6824745b50ea3ef30f70e4bd7c8d7005a9e05e511c1e917a12630f4b4bdb2 -SHA512 (fontinst.tar.xz) = c3668f79f4b926090188386044fd68b0f13913168cdcb2aa23ccfd3aead488dec03e79133669bac3d2b719fdd2d5ef735fd46cbb27fd26fe560368f9e0cda05d -SHA512 (fragmaster.doc.tar.xz) = 61f0bd7dab46bfb91b634006217f01648007cbce3c9187b0811a5cc1755ec19654da94b47866ad9873fd57629f1561d1cc46bf3a4d62db618502aa0e67500637 -SHA512 (fragmaster.tar.xz) = dc5d80aa4bab7a0a66258face6cf8222d03b12ea492f7cf568ef815a6d5950a8a2b36c7403ab466141f49cb8faedfbb33146820b88da17d8b8fa18a2b16235e4 -SHA512 (getmap.doc.tar.xz) = bb55c60ec958182aaaa6dfc292a06fbad8a0ebdcb56a6799f1358ad2009bcb72b06611672219c5e9bd6d7cb4db76c4fa030be5e06f9bb38d04fa6744f8bca330 -SHA512 (getmap.tar.xz) = e5287152442820e20087b45c50a750af621e71e2175cd6790231d81e1f338e50aa75f29d9fbc31c2e5802229c8f15c4e0c7769d0513f1d1b0bafc96a8a3b120f -SHA512 (git-latexdiff.doc.tar.xz) = bfda354f808c1f94dfac207d1526409a160b89292e44541930dac34383e3ffec9ce63d04db041ea5ac529e1e01fdc80c4c64cd43e8cdc14aac974094732d6fe8 -SHA512 (git-latexdiff.tar.xz) = 74077b3dd1a91a734af6d668b309f804dc58a282393d88d8d5d74a5e6fc73c197e49b462369f829cc7151e20aaf8085c0587428ed61ce7957a1ef173d92c5481 -SHA512 (glyphlist.tar.xz) = c050808623d162ffbfba8742c9aee6c92555717eb3ed0a0cfb0e3cd6696c4f6d940aa494582011e6d0becc3c5572ddccac2598ac8d521b58a323768272f9125a -SHA512 (gregoriotex.doc.tar.xz) = 67f018fe0eb9568b0ecc6977de8eb8fc1b0b9503372e2f674a97723c537d8a8fb4f48d48b95ee8979e4d4490d3725cf4a1411ab9d7da2ea14f72d0dad0fddd95 -SHA512 (gregoriotex.tar.xz) = 00dcd5bc7c12374a15d778cb903715036bd29a7a07522446cb5a5cb14509956db71df518d97e44d1e89366402281c26b96eaf39cc9f97d624ecb40107eae3db4 -SHA512 (gsftopk.doc.tar.xz) = 0a597e2908438fc00fc2bafa7ec635a82b70aad9d7f7e86851a654c0b72b719b8c550be0c20ecf6c8d96627863a48e6a387156ad2c7e71d1e296dd4937d60805 -SHA512 (gsftopk.tar.xz) = cb9aebd7428d10b627d80ea40d297f3e6de006859c7dd713478ff193458494f90017ecd0737376ac1f47638b059e02e8a46ea53a7c56b8561af75f770e214413 -SHA512 (installfont.doc.tar.xz) = 2b61c4b229e0c4ec89c591075e52bcf8c150f5f9584bff94f81ec1f229940dafef11d6b6f84dd086692cbd99e6616685533d4313ef5bc48c56a7494fef3583b7 -SHA512 (installfont.tar.xz) = cd5133b93c5daabaa0ea13649f3d34c28f9af9f92db54917e64cafca5f5e7fe5169d87e36783036850ccde0002d34860eceaea528ad06e21f08141106e6599ae -SHA512 (jfmutil.doc.tar.xz) = 045b74024de9798fd7c74442404dba0610a94f66b60455d84fc33bfe56e8612b014fbd83cfa3edfb0c3a8acb31c0dece69ebefb58294b2d271dc1dc2e95d094f -SHA512 (jfmutil.tar.xz) = 11f0ee88997b197ccb4cf249a92f90ecd08227b0086861b59752c2e17fafb1e1fec7a1cfc701d5df91497d4cb9e61d13f892d776ded07c34d7dab09a2a65eed4 -SHA512 (ketcindy.doc.tar.xz) = 1704411b3e7c41b6318ff6f8da56007dbf1bec67bb495d25364d6274d9b8acf234430081c22bab6ad13ffd0ea47586e6e24c9f27da8a97a309e2128ec74f89e9 -SHA512 (ketcindy.tar.xz) = da33a0bdc989fcb6f4521d23e5d44bae70d608ed8ac10f05d6962a252e99bbd80380afa2cbe9e02b9c652b044dfff79218f951144da6ce55f8a53033c11ff346 -SHA512 (kotex-utils.doc.tar.xz) = a46c5d09d119fa2fe8b9acea87a37776536e3216b776af6b7037fc5b0a522af5c1a58baf081e60f06c9a4054e8ac2372458c276c779038a030dc92efdfa3aef6 -SHA512 (kotex-utils.tar.xz) = 569e9677ef0f346e5a53f4cc84302a8ddf2b4ad85708f4ab8ba7d076ebf339ec60998a41fa92fa815167e9bfc37085ebfd921dd13a60b017a0574e4a5d205802 -SHA512 (latexfileversion.doc.tar.xz) = b1df01f8bc7daed937cd20d1ab7cce443a3d1fbb58e04cb18f0c0b30ef0795c988cf51bf49ace2f960c173f6a95fe982ee9d29d7650dcde21784c788165094c1 -SHA512 (latexfileversion.tar.xz) = 3a017b8a367864358370f0063957c301014df2aa039566ef33ae78dcf428235ccc2a88e19c917c940e186371e2c0b747887cb04e7cb78b9a04ac1720dbd94cf9 -SHA512 (latex-git-log.doc.tar.xz) = 52bc94324c64caac9a5b25b49c9ea01b8560433d640646ee70830d27637482cf50da95bbb86db93006f2be4ab9f5f79fa144e4b631d62c05f0a11ab45e639cbf -SHA512 (latex-git-log.tar.xz) = 15994c6eb9ba1b194df270c68a3d74ab3db11974875ce192559182b2dbfa9b308d598056a3145f2cc2f6718865a5b140ccb95dea22a9e23edee527e5b86362ff -SHA512 (latex-papersize.doc.tar.xz) = 8ebddd884e3e533d06332f2d6f8657ed54c9c376b3de68c7e7652f3b2835ec6601f5326ea70dc830b645440f0bd9ba2281e4f71a847946bb595771c6a950c0a6 -SHA512 (latex-papersize.tar.xz) = 00010f764235c6d9e4d6667c8c8b9f0ec6ae4b65afb53109f8179e0429d4b3787bd6b0985cd511f770cd74512483d1077e0f42136fe7ce1871984b372f2f2e54 -SHA512 (lcdftypetools.doc.tar.xz) = 5a1dd1e2fd79351afc65d6786b24aebd9681a2b9e92755b44a836b47da5ceb1817f085483f306991a113dc0c26edfcd84839dec93bb46a003034536f31b31e5f -SHA512 (lilyglyphs.doc.tar.xz) = 4d9ac765c6a4b2b736d08569eeb6d0d8b168fe96563526264f2485d3d27a944a3e81c6144cd8f1d8cb5162d425b436fc688172db18b09610b3088df4ce868a27 -SHA512 (lilyglyphs.tar.xz) = 2616757691d289e859fb2bc161c2a5b5312bb1cd824aa15854520e004a639e597f42515756b3cad383e4e33b3057a1579ff5c2ea7c39d8f9bf9d36e9c9b58b70 -SHA512 (listbib.doc.tar.xz) = 0ec0970f591fd3a840c27730d41f0b817f631727c9c7219880b45209c21fe0d3aa616eb6eb94bc7016a9acabfe9c50846d872d3b36a104e1f4eb74dd003a16d3 -SHA512 (listbib.tar.xz) = e71bda783acbb8ab6ccab3d8af535034caf0eea919bbd175685fe50585970b87613e0df5ed076967aca395cd8c7f1317e805fb1cf765897b03d6cc131d3d98b8 -SHA512 (listings-ext.doc.tar.xz) = 82491f81dfc89950d085f7cc41dabdf7b895b23c8a69f80c1b4f4c420fe8f036ac181b56e3ab60496910d0f1165ce19b2f94c5e268dc1d59e352ab6747e3bee5 -SHA512 (listings-ext.tar.xz) = c68752d0e7a1ffb7d08f153bf337849164d0287f20ff8f092635ad7083b2e5a6c487bcd9dff913dd029f4ea92750768d23583eed53a0c2d3bf012e4db059708c -SHA512 (lollipop.doc.tar.xz) = 206dee2be733e3ac04b5b259862b60fb3641fc44ea182da601ca54a010ff8e42f254dd01c03be7bcdd2a6258110c567a596ee82b4eb74d04ca8ed70e50cd6a86 -SHA512 (lollipop.tar.xz) = 81557b83acfa4ad42dfa6fb1a65ea42bc33885da444ee23bc3c67a899df7b3ac2c19a1607305b5ec10b503980365c5d29ac3598339fc186a05417ea5bca60a78 -SHA512 (ltxfileinfo.doc.tar.xz) = 0020ffc5874e0545c7ae4d1f6f9c0d5d598786444f4e98369e0c5fc872c5d63f235222594a9b0f5d2def5c3dcafc5ad660a4fd5a9e4551dd7717bc6ac06189d5 -SHA512 (ltxfileinfo.tar.xz) = ca078af6b822747e9b337eb5694c1b019444e55f5f9f9dbdf59fa1a65c9445b19a62b0d610514c9231365017d3ea95ad9288a37b62b400c12df74c0c7f774a44 -SHA512 (ltximg.doc.tar.xz) = 05f9639a0224c779276a3b7f19450c93e255c70680fd54292e1ad41b3c89aa15dc187d58a73475ed9a8f7279faa0f3a0ec15042e75a52c70d78416ec46255b44 -SHA512 (ltximg.tar.xz) = 0c91f46da529823a96ef441ec88d6d3c077a8bd5997bc291f55012e0d227cc24f00081f846ae127a364cba26498a74f2769d401e6d5fe0057afdb2a76a875f4a -SHA512 (makedtx.doc.tar.xz) = 913f6f02ff478ab5edeed4792846ee6bc06d28c16fd3d7396d394f4a964d6f39a12c8163d66a50a5bf53add151317184b09a712dfd32f9ff783bda7f520c7eef -SHA512 (makedtx.tar.xz) = e083fa791975cef84b2e2ba3472984e354d5ced50ae7fb96dd8239cfffd379e7a25fdab80abcb721e63dfb10d9557bce69e97c5624d1635f894bcd26e22b5f4d -SHA512 (makeindex.doc.tar.xz) = 40b9ee1ebf7dba9a4bb4bb3077cdb1e88b07f276a9d0ae9c2817bd76a2f742ec9237d1b6d9658694fc5fc4e8f82591194862637bd83ea8e106c0541591d343ee -SHA512 (makeindex.tar.xz) = 5967ba4123fd4c708ce841d29211fdb66c28518f4b418903be0ddf2a49964f706af96b250eec814c547e0703460c1273ce72a7acf3ea9fe28cc1c7073af29d3c -SHA512 (match_parens.doc.tar.xz) = 60428bc16f65fe820e267852c9d85a5f862c6800ac9c2aae0915a48819da381b2a311fdd3d08096d4aab7311ef86c1c89fabff3d88caf419dacbef515f4dd39a -SHA512 (match_parens.tar.xz) = 1e03e279e977af436a8f5d5c3d30f046f46f1a31a0fd3de6d8ab458a64f0634b5f3ef8a338954971a898a1c68128f60c6eabd7ca231df9f3ca8ed12e55967dad -SHA512 (mathspic.doc.tar.xz) = 1702071f4c26097e241ba161258a51461405954105c8a7f2d92a552d6397ef69af029652ba5528df999c569fae32955d1b194b0f7c4475b3fc870656b473386a -SHA512 (mathspic.tar.xz) = e556960f07a003e877ce678110e724ef94d34aabc0ae52c59ec2ae487fc7d3e5de169844baaefd61e467e98a7a9718d94d881c3f0d43855e133040bdbddb6a62 -SHA512 (mex.doc.tar.xz) = 091f2825376718d8c2190555af7ef54d0ae5202425d57b986fba861df2f8604301df5a121ccfcfcdc91032d07dcda8289fb8de5d81c487b93b0e202a2a5a658e -SHA512 (mex.tar.xz) = a79d6a1ecb15f7962826773d7eab4b1ffd86a5c15f8076f096fecf63df1bd661449eb7d14251a57a1eb2bede030ddf93aac170fc3c59ae0a124da6cef69e55be -SHA512 (mf2pt1.doc.tar.xz) = 6c10831fdcc48d25645be675fbf5da29da945bd79032c60e73e04a39d61c287a64e7b884381ac0b08e48f5dc9b6dec27efea874f6e13d6e4a5e3f32c22fa3ce2 -SHA512 (mf2pt1.tar.xz) = ca93a3ae439f9cd8029720bd1d90fbe75a403e7ab4ebcbe1ba1e5a7a28aa9269197f90a4aee849fea59d734d5dc38f04eedc140ff1be64fd805a10ab5510a2f5 -SHA512 (mflua.tar.xz) = fa735fa117e7bd433339efbb709caa5fc25007088500dd5e4f6999cc417d188fd43435f74d526186880ac857f9bfc52e1fb7f1055974cea959e28536150b1a19 -SHA512 (mkgrkindex.doc.tar.xz) = 5a5b14d4282e97420f796456155a71c23a44d4197d4d92bfea1f0f20e95b42e506c7be3f2b0aba37508415341e999522bd823c649cc6259a6e26d42399c6b8cf -SHA512 (mkgrkindex.tar.xz) = bbb0b306f30b4fe898f5d5bfdcb1eaa4d2d88a95cfa1ea0da51957aad1de028928562c930180f6c0a7d66b5cdfd804d52afbd229e7ca43173477a229cefff192 -SHA512 (mkjobtexmf.doc.tar.xz) = 3ef5c333cedd5104b63c1457fff2eee40aea7d1f1b187d34ce4cfccd5b6bd38809b7686dc7b41a147fbee2ae0e951470f3ae574bd3c10a5f9b6fb76b686ce4f5 -SHA512 (mkjobtexmf.tar.xz) = c0dffdb276141b78bd2c47e6d2bfddcd13c1800d3a0806a05ca1fba72a91621364b827801430bc757601e07f2a5130366ade49d7ac1df27901fbec29827739c3 -SHA512 (mkpic.doc.tar.xz) = bfaf4232fc39c13fefd86c21b2f9f76cd93761c58e39c1420c601627e95adf9e6c5c06db73a0afda6621acef374089dd93afbd2a3bd761cf5aa8db29883375e2 -SHA512 (mkpic.tar.xz) = 7814f14293e10a23bc9348dcaea9af326ab4dd93cc55865320706984e50883742381b5df3e77774e7a63fbba7ebcbe0fae7268a3d1a34ebb2d8a0303f5b53034 -SHA512 (mltex.doc.tar.xz) = e9d5a1cfdc6183bf99ef369b447c73e9ec5926952a80a75708db4fc6343ffc1a10d599276c13f295005f7c8c56e2e35ad9edc9dee3ee06928fa8c7b267d82bbf -SHA512 (mltex.tar.xz) = e04f33b83474e58c4725abbba21ae56659920ad2929faba7f25b47befeeb7e207e36888e1dbf7260ecc95c126e1732f6f5dced3d277db7c3889f2b08590b04dc -SHA512 (multibibliography.doc.tar.xz) = 3e13c8c60ab8091a363b63a63259e53e3c5076feb224a6f426e55a351141f007ea8bf7526b0f80684c83e4e97b43f5f05217e254f978e8b69665c736efbe8512 -SHA512 (multibibliography.tar.xz) = faa2e16b8bdb9309e2f16cdb2c717b59c8ecd5d73e4819d72ee3226a80fe0c0ff6b4d686d0f1d009601e0d6dea140cd4812c2f4cb94f37b5bd9cc1bd19137965 -SHA512 (musixtnt.doc.tar.xz) = 2da473ad2425064747187da005e01d6844731c536b75095828a85d358ffb1344331ef483c0cebe79b346b4fa96a358a1e416cce7d7cfcce6b1242cf3c0a3645e -SHA512 (musixtnt.tar.xz) = eab6332d626f199e46dcd03ea546abbc4446b41c4b0354c066790ebfde154c6fa90f861dcff77206318b58a31565d884576899629520e78b3285bac673d1f4bf -SHA512 (pdfbook2.doc.tar.xz) = 3048de4be891e270e8efe9f9d85524aff948c9483da25f491669a7181967dc281f42b984c9ee46464bc563c42a4f171589066f67818a291a136e1f49d40912ef -SHA512 (pdfbook2.tar.xz) = dd87268e3856eb26b37f025ac62f24cd5e680e92e727588d36878de9df799f49254ef2259c29de15db11d5888ada83110a39aaa3116aa6f6aa290d3e64f1231f -SHA512 (pdfcrop.doc.tar.xz) = 786fe00793f62e09f225ca0decdd53ad3b2ce03a133a2ae4ba20db9d40352863dc6a8728e005aecfcaec06072e8a0ef454d1f7fbe90bfc5997cfc65c6ab97170 -SHA512 (pdfcrop.tar.xz) = ba611ee2a516fb031a7f3c93f563b2aaa2e50d4ef95433a5d83ee46191c2a6001fdd4ef25f33166c0e3f9791e85c200e452684974d54d34e8d651a7254f6652c -SHA512 (pdfjam.doc.tar.xz) = a29c09a2e843188135265aaec690e09cd08fe29076a0378b308ec0e48aa7936ba0edfa7d6ad3ac808ec334bb5c2793a32d8ef625f4ad9b3fea40d4db567cae56 -SHA512 (pdfjam.tar.xz) = 1b1084859a811861e60e27186d67d267d3740152331f50fdbe67ce7226a76b4db24d79b674e6511d2f3de9a711da3369c565d781614f5d0c1a8021bc1ac18827 -SHA512 (pdflatexpicscale.doc.tar.xz) = 64440f794e88c08bfeeac75d6d4174eccb800125c8d57e3b0be3ac6883c04790d422cb05cbed6be7335ab2e4d2e6bb2c8c0137c04160db126674960ddb7603e1 -SHA512 (pdflatexpicscale.tar.xz) = d36dcc4d70156d52bcaf668d620c8eee5db8914473f943412ea5ad5c8bde673a6715fd5a69d13e502a5d4fe0b1e0e55099432c4e0e5e02bd5f6155ca5804c3f3 -SHA512 (pdftex-quiet.doc.tar.xz) = e13392cfefaed2c154c086ffcf85e21725e4230ce78d10e07dcb0a1c8b3685bef2572c5f5e249c56120320f2b0167cd5055ade50625a296446a197c0ba4b85cc -SHA512 (pdftex-quiet.tar.xz) = 7b33e37a4b33060abee48ccf825cacecdee552d641da48dae47e3615fa0ab91ea9912b52fbd5c5ba6cdaa9c0d2cc7baa7c48a80bebb6d1887e5c633dacb4d104 -SHA512 (pdfxup.doc.tar.xz) = 23db38fd8ebbd04bf6fed3b2814360cb6d0b736db1540d0298e9ab6edd449894c420078adae11d97998fa1fceb8e7083adacc0048337afbf4b6fbb253c8ed21f -SHA512 (pdfxup.tar.xz) = f5b7623c1ecd132bb3646af5953245bc7378901bd5ded2e910487770cd79bb3d248cad426aafd18dd12a28bdd46be0f89b81dc95959f06688fb6a7a8f96dd11b -SHA512 (perltex.doc.tar.xz) = d39c93f4bf3da08266bb0f10b06582db2bf96bee73faafdb191af3770c7c24abde407774f21d3c97b1f2453a8a9bd24576acaf0606796d7439334b8b1e42ac7d -SHA512 (perltex.tar.xz) = af7cd6b065f2405a514d20cb386b34399742a42286002ab3e0f795b64dcb434ae97470ce9cbf25cb27a9b124ebe56844b47c7cf89e1f83a4bd35f1bfcc98163a -SHA512 (petri-nets.doc.tar.xz) = cf03048e2bccded143fb493b100fd19103ab90f40713441c5380446702d6c57ac3820f2892a3dfdb80880952e09de78e69b309783767a3e157f76b81c9360535 -SHA512 (petri-nets.tar.xz) = 0807444f934acf16b052dc499a097a2a645d037622a71430cd82fcef85d11bc652341ce6396a27d717effd08bde8ba3224c5235351fa9146000c01abd522f644 -SHA512 (pfarrei.doc.tar.xz) = d50ff4603d51eb72d1d12e7f5b1440fa3d7abb1ab74fdf441d7e4a474df91247a1ccad504a14438bc0c3c6354c8f8674f180b5d9d826ff09a8749db3cf0d08c4 -SHA512 (pfarrei.tar.xz) = f6046dc96672b60ed272dd6fe23a4a51032f039d3aeaff3f8b5e2407c99fe1f43c568a03564a7c20212a97bbfa4ecbd0dcb7f5f44593e1485c8e5d9197467a6c -SHA512 (pkfix.doc.tar.xz) = c6819c63aa4cf7df5879a796e08299f2fa132e1244648d17a7fb0b3c28204b0641e56fe4661887c257ca4f5998786c31b1cae2aa64e3163340f08d02fda4c8d4 -SHA512 (pkfix-helper.doc.tar.xz) = 50103799bbfc18a728b6510f9cd3d9aa4cbafaebb1e68f2f3280b3a57efbdbf75ff68f36e72b4442e49bbb04801795250fb3e2d0728968e30c1e70fc5b7d15d0 -SHA512 (pkfix-helper.tar.xz) = e5151d85d2db65f41b69320ad92611adcc8d211719aa06f39488ba75972f6bd4eda3a9ebd9f13e8889eb84451a640bbdbfd8862c95620304917cca3dcff4a194 -SHA512 (pkfix.tar.xz) = b4d374e5b771e131075ec59ef6713c6433cc3cefb6331a933e791c3774a9d54d6c8427d70a4aadb2c6326c3733abdb562ca103f0b6a9dbcafd87856d20b18a24 -SHA512 (pmxchords.doc.tar.xz) = d4075306620fa1ce037a37b9d2646d197348f6482e1286ff6fd99641a8b441b3d830a1420dbf6c025b8d11af78363b717a1acc7ea6b9e2954aa4f11ef04452ad -SHA512 (pmxchords.tar.xz) = 0a8f4a88834eb22d3f11ca567f37189af7834370530c6dbca4d83482e94cfb48b128bc1290e7f3ee718bffb4df445a300ddf5081805f88002f53bcf8b434bb3c -SHA512 (ps2eps.doc.tar.xz) = 0194c8634c5d31cf441fb3d7fa171d85358db9831c03cc77bac37272ddfed81d8296e9b05eb4daa7c8012f3bad1a01625aeacb2232989969551e01a92912c409 -SHA512 (ps2eps.tar.xz) = c43ba33d29d5b23ece2add44310b89036d5c4725ad76da1ed6e17bb93d0e7d103549f4a7e7807f89cdffcb19a95e0df2fe7851989b8a3b691aacfebfd41044ae -SHA512 (pst2pdf.doc.tar.xz) = 5805c535c8a043fea721093a4b7d2ab06c86c80d4a45eb3d603986b898b6d2053d041b638874e53c79e2d815a929749e02ca0986a2f8cbb400a2fa87581462dc -SHA512 (pst2pdf.tar.xz) = a266409d6740653bacb23e83b98e545dc462ed879299b195d65761b10e4700a797005ca231fc24e37a42591c09ba93b5ea6b8b82ad8b14a29a7649cdb3f39b33 -SHA512 (pst-pdf.doc.tar.xz) = eb5013040f3774e81d019c0010e8fb507d22cb2fb9c74e75f2c14aa0e4edd20245ddaaa3744fec7204c607b5f6329425f8f2b6e09bd153e6df6a3ae39d1e1625 -SHA512 (pst-pdf.tar.xz) = 5f5850f0e908bf6b10977bf616aa82ce05d1f0afd4127b5db14379a510ca62614a3552cc85ec0136805fb479201c817442872f9d1074fa6cc1367f41403476e1 -SHA512 (psutils.doc.tar.xz) = 8b4814c2a769b1ea8831aa945352f31125267aeebedd8dc8abf6381928707799bcb1eb29214930152046bab63b1a56179ea035ae6568595fd5ac83bbbd22f588 -SHA512 (psutils.tar.xz) = 1489c9cd3ae9e1063367301f038cd52f0fd7f5b2d548ea78c06a2bff56100aa613cd01026ce601527b6a32f88b6ed1df96f9c8c6a591d16a63dccdc8e32d6969 -SHA512 (purifyeps.doc.tar.xz) = 3f9fadfb35596835b250cab98b0d1e3c6d537cfac5878e0b9788aeb5cc7ef455ce3d44f7d0f03e9002796a162d374f6aa8f9bce5bd4c3f0e8937040de0b82a8d -SHA512 (purifyeps.tar.xz) = 79d99ef7ebc462c7c65d03f23cc85b9f136df2b0c9d647fc0672584fa57bfb7447f6db0e6d6b11bfc738cfe8c8658f45fe0b4059ff00f355e4b21d44f0d4102a -SHA512 (pythontex.doc.tar.xz) = 3ec2fe0f095384734575c2c9fd1bc9d485b628485c8ee75cd8fb9ebd6d1f56edbec6f378c7c9e1d5ba9c10c4bbcc3934ddb957dc47a258ac81ca89b5ce3a2e92 -SHA512 (pythontex.tar.xz) = 2e67beb9974eb9a567726d8a68f7d565aeca97d20484ef6e36312100411eef9d9de937297399a98f367a756f6679314cc1a25201ff11936b8a61f8f1f148830b -SHA512 (rubik.doc.tar.xz) = 33d5c8210600cb4ce7b1313d1046f6644f0a6648f7ee9676d4d628d042f6501b5e92f2b56a31fbad6f637dc93a460a568be9e1335bd52bcea825f5772b2a9d51 -SHA512 (rubik.tar.xz) = 67931287ea126947b5b2d567ba355d44ce094b2b527288ce32329de4a73434be9a43cd520e6c24ef570a46a16c0edcf12212f46228ee1bcd2b8a8be7f9db3a7c -SHA512 (seetexk.doc.tar.xz) = 1b36ac131e25541123a7d18e9a5e3cb1fccab04ffca1b0d1e5a036a26de99fb05e6745d43cac6dc76a295eac5503f90eafdb2b40f96c88836123b5b599a47e2e -SHA512 (seetexk.tar.xz) = 1f217550f7455a82dd1771556045e10a39138eebddc90f4d38a274d56d9072501d94476c6045012f3c5cda43aea71924268fd222895079b225d893df3b78fa97 -SHA512 (splitindex.doc.tar.xz) = c8dd92e955fcccf71b412d9750fff7b6f214e929ddf194a6496a79a146f4837af3d773ed3f2303546727cc4a8fb9d5366dd75b64d3877e6121ce20315f71997a -SHA512 (splitindex.tar.xz) = 858033eadfa82b4e40a388356f64002370a5f4fc2c95565eae90c68373f708a3c9827fc4e0ba8094659382aba4e5925cba86632733b15d85ea6a82f73ace8737 -SHA512 (srcredact.doc.tar.xz) = dba9916acf75e800af1e581b4276e82bfe4c421a500a400773354766b37849568c1f19752a75983374ca41f793903f9776423888215f00376db1e0f5f3b3dbbc -SHA512 (srcredact.tar.xz) = 9e11ed88fbbfc0130f43fdecd8fb0b3eecbdf50eb33bdca57bd34c860cdfe84dcd560371efba4cb261e65aaf4577306f478d1c43ed89152e7e21fd627eb7328d -SHA512 (texcount.doc.tar.xz) = 5141bdf4378cf87a19933945d6742427f4467dc73d92f4a470e34474232dbb2f60c4d8db065f812481520f1aa2f8a90d7e97dfc83f0f089d10386847f64f4d94 -SHA512 (texcount.tar.xz) = 82f51346d9474270af6374cc1619ca005206b1bd729ce1559b8b66e361b184a192c7fbe085216a3a64e656197756593f7d76e52437ac562fd33bf09504b0f58f -SHA512 (texdiff.doc.tar.xz) = d458fa8db6433b4c7fbd23a16f9be53c2c822e396e7f50844cfa6acdd2a08acf8efdd0bd946c8fdc09ca8aa28d1eb25708d3719184634abced92ea5c94d9a948 -SHA512 (texdiff.tar.xz) = 26fa84b3090d641efb186947ce4d1d89c30a2c224cfc8fa759da3ba7ec9cc113c0ed4afc1c3d0fa5f9d0a88af4f9b3001d57651df6b5be6e0234fb78ec4f252a -SHA512 (texdirflatten.doc.tar.xz) = 1114dce13ac47c4352e968f42e89582b62b2702bc25ce3a9a4fd766b3bd63607e11eab52d19bc9f809b2b67cd92153c4f591632cfc72dcaf1c0a1b1cfb416b11 -SHA512 (texdirflatten.tar.xz) = 3cd6cf4d9ff3a1a3daef0bd5a998417696f6645cb54679e99e5424ebbe3926c45acad7b999ee4371392a7ba13fe3f2899438ce66efca7829c7aa1eaef84aa6e5 -SHA512 (texdoctk.doc.tar.xz) = fb403dc17ad839ea64bcf6da84e59288a8745b5eb731051d7df8593138aa5d3b6891d56f52bdbe5c9a41e590f1f36db390e7e7a825d9aaf00d4fbc01c8dc16ba -SHA512 (texdoctk.tar.xz) = f3300a088f5ecedfe66ca277f793d3565b5b0f111721a0d73a788d65b72f09d0103a11edda13679fb9e919f11ce9ed3662717c18e46be99a83b744a1f7ec88fe -SHA512 (texliveonfly.doc.tar.xz) = 46d57a6ebd68a56d55ccddc68006693fcbad8ed8f809243a3ffac7adb82da58cbc28239b57556d5d8d6388ea034b6571557588ff9365d4891145d5cc3fabfaea -SHA512 (texliveonfly.tar.xz) = 63353a768b700ea11982e9552046dfd1dc3d844883f03099833cabe2af5ccddecebd7ef737fbcd256c90304174165a4d283d4912f8311508e61c723d751619a7 -SHA512 (texlive-scripts-extra.doc.tar.xz) = 22cf59bf4dafc7ad9425086bc0aaedb2bf5f7d8aa6ea9c65abde2d523be37665b9c9bee4acb399857eae03613e7241ca1d6099f43cab77a95c10eced8813ad80 -SHA512 (texlive-scripts-extra.tar.xz) = 46ac37826d3c60de6c9260bf83d6275d49a35cbde88fb03481a050f92e87b698e9a94b2e520a74edc0417419f5a2dee53000a529b9c81ea6f6244a83480e56e7 -SHA512 (texloganalyser.doc.tar.xz) = 8eb890f880dc56d37e29e2f0bb3228e36031d45010677097136d40959ba7ec0cdd10b5056169325f481318f137a9de2f180438f1716bfa12705fcf0db315e3cb -SHA512 (texloganalyser.tar.xz) = 85f491af4a3867283d56bc2d98ebcf491e622008b3a70bb2cae03b9deb38170e1c73088d109445fac11fcce6e10aac57f42f03066580a79c978dd19af1f74caa -SHA512 (texosquery.doc.tar.xz) = 51bc4e5a9f62b4526198b380fa69dd2d79ff69ccf0915aef4269d890fed057c4130ccca65e0c279e58ebfb72347d627b186534138f9c4bc8d395677c73a2a0fc -SHA512 (texosquery.tar.xz) = d454a95139920c24404a501ad3bbde4ae8e809e0f0b6b7c32053d375e0cac31d81087a53d65ab067c9c6dfd988ae90429adbc5d7cd2e1b23f41f46dbf6a25056 -SHA512 (texplate.doc.tar.xz) = e28f0f3476e710fcec772206138a2f423ea6f9df903bfd4c4a278453f217752b7f4ffd7e68f10821ee36a9251a14e6226887ed5aa7a5fb53e5deb7a1685a04e8 -SHA512 (texplate.tar.xz) = 5b19c1f2d5bdaacb1c842e78b1980ecb3f4fc548873e6a36fc9c5a70c3e3649b812819cc0d3bf68622acf31ac6c687cc4ba657ce2a4682bd13faba4070b0a1d7 -SHA512 (texsis.doc.tar.xz) = 2a4979a10514ccd589b331ff34a677a4e22adbeea73d6112c9a14392b3ee75a8cdb292b008b160792b3d00b812834afa7e0211db860c41f1beb69bbc900fdb90 -SHA512 (texsis.tar.xz) = 7309726b33eadf8290e596aab50bb1af95600a067338b352c1ac092643a8c6d4142180d0146abbbb828a38fb08fdd9ae03da6572e6c221afcd151a51430a423e -SHA512 (thumbpdf.doc.tar.xz) = 26f698eef73b85181abbd155e8ec8f6057f7ec0c5ed1448a256e4fc2e41cffc77474fe4c3695d611e8993bbb1afdf238e3db3a90bc2b7af145535f726af027ed -SHA512 (thumbpdf.tar.xz) = 74d1b32b1a48825c423d4346258f6f1eea60d2054ed38b3d9d4e207a3375e35b6e80d87706bc2d265f62606a449a0a665c8698f4e1615b39df98f6f54b309fff -SHA512 (tikztosvg.doc.tar.xz) = 3d90c0963c570a115390603bcd5f39a224a155faea8ac6eec511b9689ab98383386d3d6e92076129e0f704d69bd18da52cf2f89f5db024a4d5c34a75c1edf279 -SHA512 (tikztosvg.tar.xz) = 0957b87c9a06771afab350de769e3fa9f97ec0aa09e4e740d0f916992948a65740a96446a0f8ac144273e94f228db2c6c0ddb22bd01ea9f0f66abe5adfe0125c -SHA512 (tpic2pdftex.doc.tar.xz) = f24f8508279ded0689bb9dda8c653cfbd903c46782744fcb8d004f50a771ca74b86549c86abc765a408f2be67334048390e407be9446faa476a02ce9c27d5547 -SHA512 (tpic2pdftex.tar.xz) = fa8689bd257b6336badb8e5a742d5c5f12d9088b33b43bdc41474feda62358c754db05735fa471baa307907bcd61f68e8d061e66c400198d6a1dc165f39d2226 -SHA512 (typeoutfileinfo.doc.tar.xz) = 143c4ad9cb3890b6350069d5d045f74c0bb0cfbe50e7d051c50c82011b56e651d483c1422d7d553a8d1d1784ae726a1ca1aead023fc3ccb1da4f0d59d47f7920 -SHA512 (typeoutfileinfo.tar.xz) = b30d2618c8cdbf69fcb8a5444922185a52b934448b5d28ba143948cf80ed17cb402d73d1162194df3d2992a52ca9e6faca79000644eef968c4eba892c415b6bd -SHA512 (ulqda.doc.tar.xz) = 182dbcb73a25e05035f878696887ea219569a1a7ef44281bee14b4498b37e92346e0e97d187a5f3dbcd8d9783f260080ff10f58dfe41e69caec4888d901b9128 -SHA512 (ulqda.tar.xz) = 228132cc464dfe171426fffec6103f0dd5eac61c112b03d64d98bc89a0af0ddb7f52f27f9bb5461c8be6f752ae30ef3d4c6b987e580d834eb7524d5c27d956cf -SHA512 (uplatex.doc.tar.xz) = 7a66eca2b04deea9af77b2663b423b928c25e4b3074ed01e7aa3305f1116c9c1d906c214588ede8b4310c7ded23fbd6a7a63ad070bf3e627d9a2b3bd23162b00 -SHA512 (vpe.doc.tar.xz) = 3c60c736fa03de82bfa5bb86f40420e7f7eb59f6943a94790361bd1d64076ec97843404d1cc508074a903f83392892c6dddd1dc912162928b286e65c24a46037 -SHA512 (vpe.tar.xz) = 5fd5180edb830cc2f309652ad6a86e3ce1900dd0b150b72b3115f2e0f51aed4023b3f7af8c86befd1b1317829907b35ce583b50fe5cd1fa50f15863046e806d5 -SHA512 (webquiz.doc.tar.xz) = 58faed1d21c5f0abe004d5aff0ef6f754012722dace25948e236c940f3e9f3a49d4f661d6692afa0bbd0a654424017e84611c32cdd99a0ef60e510c4b2fa01e9 -SHA512 (webquiz.tar.xz) = 04ce66027089c2be815380a10540e6c12040d33a33b1de9c6a98985e82a65e87f58a19b6cbf2b0ad7bc8e0a1e500bd21a80e2adbe3ff395ec4be1ecdd5b5adf0 -SHA512 (wordcount.doc.tar.xz) = a86b034ebff42c89f07015b01f86756a83ff2c69ed911ecde185ff719b09e3db47f284fe778c9dfd16442d1513edc9ddbb4944cc242328c17bd3fc18a0aa098f -SHA512 (wordcount.tar.xz) = 3c26b3bcb4c3edce8cf9d6628cf6b89103aa1ae454b07c1e963ca90693c18fb851772a52082a23efbefb51235005e558fd553afc891a472eb39cd430c97f861a -SHA512 (xdvi.doc.tar.xz) = 0fd1bc1ba7bb022f03334fa6c6bc6aed779179a7c486211c3016b0880efa2b13859eb7cea78e8bfc0069192f93313d37a4966fd7e233bccfb1d010d3e413cfd9 -SHA512 (xdvi.tar.xz) = 57024e05928f45e253e236d7e8c6b9cef07359c1cabc10b3f6ac13a9b98dc04530517d8d66b20cefaeced793fbc57a5373c226fb3d26186ba3bb7eaadb0f4ef2 -SHA512 (xml2pmx.doc.tar.xz) = 973960f65159f5107caa7e9a041dca75f0171fc61f94794c7b7560eb9b6898534974fb8b360a28dfa3a01d422b71618bcaf8aba2ed25ae4d4b9f67d24ab730be -SHA512 (xml2pmx.tar.xz) = 9545fb5ca0e95788afab79d8a29336f337619adbcac68472bb5de6af6c54187f19bda655232175223168891c064f6fadc67c4ab8f5a0256e2c55e1a65c5e6f6b -SHA512 (xmltex.doc.tar.xz) = d87c6d1f4c472b436104b0746d48a463977dc7eb520de3d7a53f48bc1c8e5682a23d604bbe2ebda1b5029d4a6dd33c2d2bf8b917ad4f54d2c7472874fdfe8509 -SHA512 (xmltex.tar.xz) = ee01abb25b18e99f18bc78357be04fb1405473e90fbdf74ed875e2910812550c44fcc7aee960b2bdc53fcd7d78e9aa706e46929da65d5cb78d9ca43ba475d675 -SHA512 (yplan.doc.tar.xz) = 7d3cddf3f2d54283b777c7ab7867df68fdb484c67d2f88589e29fc087db721e7ba9e0fcea2ffde9328e89075884d668b7de8fc61f462b735d9f1cfadb9662463 -SHA512 (yplan.tar.xz) = 4884ac99b0b56927fb86c6e06ae9d4accb7d8b441bb17df79753d8af9ee84b9440d66ad4fcf2107aa036eb2af89d5ad49d0a4c4cb91236c6475cf81bab85566a -SHA512 (optexcount.doc.tar.xz) = 7f0d33068083736fe58c08dc9e37929efcf65de3b62a3afb51077a21d0e27b473a65ee1b333a0dd31b1d39e7f6ce79cae3343e8b7a9742199fb409e90030f7aa -SHA512 (optexcount.tar.xz) = 88a35391d3deb37dd6466e903f3cdd7d134eb9fb8c0a9ab548ca2eeee86687544e1b499248c2d0a7aa3b801d9604913e763128309f88f768d0dafb8ac1fd6998 -SHA512 (texlogfilter.doc.tar.xz) = 76fbce938945ebfd6bfb78022219fe217b7e6f0ae3c298e1bd9d0c570bfff1100d34034475f2577a9676e01a5bf64428664bb5cce4fd65c7d0cd350c9f156d5f -SHA512 (arara.doc.tar.xz) = 0c0b799f6e4f43c6d123f66b6a84e35607b2c10d6241c445376d29a466154634c559cb6282f4e3f66c273342c764b56604e00bc1ee12b4452ef78ab7620aaaf2 -SHA512 (arara.tar.xz) = b30ab2023cea6e606301146c06b34711b4c40b771721724bef178a5df7a1bf3e22ce97675131ee7370acae3b6416d49b28f12d0c02eb7e34885e2609f8dc5ca8 -SHA512 (bundledoc.doc.tar.xz) = d74b1ec9473c4616642911fb918553350c5c65ae2cd5171d3513d6fdd5b5b774a516c54a5ce09a8fb966a9de6c5e372b773f7e8ade9f14fa2b1a646112638679 -SHA512 (bundledoc.tar.xz) = 8f1e4428993dda804a2bd6b11504996e6cbef869b98a64d576f0edd97a47b1f2301b34ed234ecf1cc902c74dcb31064a96cb69018ac514fd91eb3e5c1b6df5ad -SHA512 (checkcites.doc.tar.xz) = a394ea5f70f48e7dc7c9d75de33bbf788904a5e1d8e3aefb5dd3bfd5207ee512b1a84ab4bc03bddfa15dedf962f330931d9e80593542e5a180fdda8a8aaf87c2 -SHA512 (checkcites.tar.xz) = c28a2785348bdc7cf8e30d3339f301a355b6a9e513d143d34f2b2535a69a32f7cf8a8ae9c26b42c6db32d00021a10ca135891a22b0547c219f31c6c9720d8ca5 -SHA512 (chktex.doc.tar.xz) = 28df4bed075d66d9f25bcbe332731f1d5f0bb0f7f92bd2f3618c84adf788d0f429bd0c6e75381ebf7bbeac98409d94f85d17ebd752f9e4af707d9e3373d45f97 -SHA512 (chktex.tar.xz) = 7c28847e87e788d0f50c07c1c3140962a70173d2a36997720f3066755740744060ecd03272662aff563de39102052e91a4582a4bb63e35f918ad8f517dff55e6 -SHA512 (crossrefware.doc.tar.xz) = 7b7212f8a4b6f75d93ec573f9d7544f09df2e73e0b2a32e2f22866378f0d69e0b035511ee5cbc7eee4114b5540b3783d613aafd7508a41aa336195e49b070a78 -SHA512 (crossrefware.tar.xz) = 7e8836c9c1cec51676a01e3e631cd3a0155f081909415e8ae2a4143b5eb611c5c843a0c700af98dc983ace1f9e3492da5a42bd54e74757ca68da7f106f7eb6b5 -SHA512 (cyrillic.doc.tar.xz) = b0b1d24d3e8887c5b9c251922157de7cf042845009c07e62fd324ba850dff9f39bc6ebad04ab216ad69070da93f77f68693d1be57cd15b038374f0253329c8fa -SHA512 (cyrillic.tar.xz) = 1b8889d33e5433b32d0b84bd31ef7ea96fe338456ef8e1732ea6c254dfe2f21d3600766b1e51bafa4ddbf0144e8420ad8ba6ad593eaa32c3d45dde99b0b4ec8c -SHA512 (cyrillic-bin.doc.tar.xz) = 91da42251e165d17507b37eb48b35e157c75b06fa8822c9717fafd5e7aadc60bfeb084dc30a5ec32df22ae4e69c03c3f00e8a243d187881212ffe62c96b6235b -SHA512 (cyrillic-bin.tar.xz) = 30d3bdb0f92a0006613dee654714818b6961207029982d62b9933829b3d044bea0b2d9a30d0007dac23c08358a7ada2df9ac25ee92398cb32d47e9c29c503c67 -SHA512 (dviasm.doc.tar.xz) = c1be5541992450e6519c1768ea21d342c5e41fb4da6547828c89c79bd8abf77634ae76c3e5c06b608172234d117f5d5839600031dc4fb0cbbaa493d0bb1154ac -SHA512 (dviasm.tar.xz) = bfdc888c7a69d103d9c4548ca0465223a4e16be51a5c36f4c7a9d1064a553f60e6fb5d197a6be72e2be076c5012d7d3c7f871e217777d0be0c0e4669c1602a6c -SHA512 (eplain.doc.tar.xz) = 60902b2422d2f5d7570a19daf7f586df7882505d7c156539699a0aa47a0f3bde5688dcbdc92c8a6a9878f11392bc9b9f147626aad230eecd2740d56f104928ed -SHA512 (eplain.tar.xz) = fda8158ae2bdc96187b6e6ace2a94be3e0f68201adbc02553b48a3848481352ac10ddd72babcbc2835e089ce751ade7dfa6cfd1c642c94155c2861db865f5c29 -SHA512 (jadetex.doc.tar.xz) = f70f85a12d730fc9dfb29da57a6f95239c10aa8ba7b9453ae884cae81399609fb99ccac3bfbc41f0c5f360ef80bd3f78b2f8479a826412bf573e9c5336d7e8ca -SHA512 (jadetex.tar.xz) = 75b9c8be4f87b51798826f5ea070ff9877e8bfa2fbee5112972e9e0fc81a76dcb7081c2fe9eed645f53a38dd85443dfdb394004b2970c2ff5a91b32dc1cab909 -SHA512 (latex2man.doc.tar.xz) = 390666cc56ad70342c9a24ca593fe65b3760674a882ed8bba383d193f2578285727a085f823afc03fa0dbc9966612caf9a29222fd2a9f39214f01aa268acdc50 -SHA512 (latex2man.tar.xz) = 2617f6e8059f30c0098ea896cff69f585ea2ddbd3bbbd8066e7296dd833d3a246b8fefc0af71a92abf7e2051c754c0e3e6098175a4b181780563416bc9146b95 -SHA512 (luaotfload.doc.tar.xz) = 9e1c223ec2589f32640aefd2692d031b8ba324da30a814eea98768443eeb76d92d2700c320e6f96006e54635d31a655cae0a27c76931e7640748889ead4fbfb4 -SHA512 (luaotfload.tar.xz) = 70f27796fdfe61e0337239a2962052eb2896478358fca0f271287db06a1d2de2f83cd7394d0ec6c281e9a5779ec396e2993f53b8b045ed7a09cb17f100a4a477 -SHA512 (m-tx.doc.tar.xz) = 316fbc2b37b903cae8da6bb9f44b8afad0e3e577c6fd84664e1724ffe318bbdbf9609dcadd5cde6a14cc5acbc134f69bd7a87dd90d9da7d4442a5f913b8132f5 -SHA512 (m-tx.tar.xz) = b56bc4432bcd340f3e92f5043c38bde7f14b5f2d32b9433fa21c73c20f7ebb981714175aa6f4f871636efb62a52cd24aa639e87a320039313b16db1b027ee2f5 -SHA512 (pax.doc.tar.xz) = a2e0e7129e98efc8a44184d445118220e16f8149166c2093b7c44a936885845c0d49d37a7588f32e2c06fc834f808b0e4a1b15808a32183bf9e457a9a1c19ba7 -SHA512 (pax.tar.xz) = 71a2c105a7d593ca432a50a68fbcd16d876c8a28ce25be99326f323bcdba997b000158514328542378384f55a0ceadd9d34b71840980346b0b5c1c63843f7c1b -SHA512 (pedigree-perl.doc.tar.xz) = b0b251fcf40185b017835a7a47e32736ce0d49c56be134bf93619dffedae4ecf44d36050e4515fa681c8c37707a933d8faece2943b4eddb58dab6ba3a2df113d -SHA512 (pedigree-perl.tar.xz) = 4aca97c3d231e3c68a8372d6d8c970aa681fef3d1b7061fbea1648a188c03e06221bf83d2ed0678390780e9a3c2edfe425ea0050172e837ef1a1a62369c41909 -SHA512 (texlogsieve.doc.tar.xz) = 7a744ba4bdbcda04c1adf53c07acb5d20799268f31aebf2234203251ac56a96ad6cd0574d1c25c983eec0d7191dcb49bc9f11dbb2aa6aedccf31c7499400fd9f -SHA512 (texlogsieve.tar.xz) = 8017144da38d3e7b011b1620b4165e62159cb2975a418b350bf8a5d87e8d519166fb87b916a96ef6ec203df12834e72a31e21c41a84e113e8ebe620bd5eb8860 -SHA512 (glossaries.doc.tar.xz) = 24e43bacdaf3d3680b49460849f2d4eb652f2e2103558edecff0cb78d261d0275e5f416c7fe83857fbe09f7016643849ee5f030e4b3db167f469960d7791489b -SHA512 (glossaries.tar.xz) = a805158d4c2741c4efc707bfe417032903630d3f235c7431a3767e47592d8b9be2d64f6a14f21a0c7a3f4b37cbcba90d501c0ab1a551fe16357745960f362a1b -SHA512 (texlive-licenses.tar.xz) = e97870378e39e23244cdace139a63067d96616c25a0efbe08baff23ae633ddacb776f0558776930d71a1e7f3eaba148cb4e658f747729ed24997bdf1794ef9a5 -SHA512 (pygmentex.doc.tar.xz) = 050bf2576a7305eda104ac928cb332e6fd1437e1852726442694fb7ec88ebe7fb9e7e54987a13b76aa103afcc446019a57b8e011f4e638469ea34a9788a8e7cf -SHA512 (pygmentex.tar.xz) = 097a1eec7e6a969b0c2aef3915d8231d7e6b6c234abe79caa7f7325df22f4976d1bcf2b111c87c9b457250a2c89b5b0a29afd7deb81ee309753901768fb3fd08 -SHA512 (afm2pl.tar.xz) = 9ec87ccaff69c7467f803e4ce3f3408f8195cb93f571a7c7aa5f195d3de80b480b182831d239d8b2144dc72a5c26f9da58973075b6a939d23a51de0acdb1d199 -SHA512 (albatross.doc.tar.xz) = dfc9cb6a72ec80fe5f240a8c50c8c98167d069cf13e3502ba281991deadccd094e369a2ef2ae6b089064de77d937c45ad3a3dc70c06fe6fc5e39190b7d652189 -SHA512 (albatross.tar.xz) = 3ca4c3ff3fdbb1b865e62fa96e984f94761bbce1de24cf09d7e5bdee3b4361c6536cfbd2119aeb6aa5df842228004cb78a27e2aa9e5e957cff59ef82b9fb459e -SHA512 (aleph.doc.tar.xz) = 33dbdb3fc2ed1cb698b1b3a1826771475b27e33c19ab102b5f0f403f670abd10330dbdb4223d9f5b96cff001a14dc8d25ecc9a084a612b9db8a1cc6a70bec090 -SHA512 (aleph.tar.xz) = 326c0c2327ec391a2e6caa5b7bed74af44be58df05b58dd2d2ed68ac96151282f63cc51dcfad7b84f3fa716b9df1d9fe97e27e4ebefe81d40a1e0ddf06be48e4 -SHA512 (context.doc.tar.xz) = aa322165f3fa693240bd7b1378a344788b45948e2adc51e41ce711afa0968ec3ba1fa5401082145424a2dca3f20ed655aa022057a4565f916dd1b42bf61cdb8b -SHA512 (context.tar.xz) = eb1b44e12b94e0eccc18f23c51db04b7494ce883968c23dbc1660dba581e083fe5f3003a654963faa0f0c24227e01c2ca72e56084883f0080d2279ad811dec6a -SHA512 (cslatex.tar.xz) = 21e2f395230c07a28b7ac75c2728797dd2d343aa408c55c8d0d8d082a67ab9051672830206a4a758c7af5ecfe4f19683acaf7ceab6f83c44f17e307b3713bc3a -SHA512 (ctanbib.doc.tar.xz) = 0c02549c5e0390727c50a53697abb042be5af30d2d455d9cd098462f33f2f2fe996d1c05e3fc04c87a5d178d49a3dc371c17c1840033f2e023f7e66d570fa086 -SHA512 (ctanbib.tar.xz) = 9ebcdb2b194ce91075addb5e42ec419203012f494ecf9ea663f1007f085946ddeb5a618439924406119a07b3801d09dfd3d5ca04db2886c6a530e798a78fd487 -SHA512 (ctie.doc.tar.xz) = 178a88260131781b6678ee63b1b35ecc0734525309b99c0d5bd4498127970bd67e30c23072392b6678186532a845c7e27188b1902b5dca52180720bc98fe3dd6 -SHA512 (detex.doc.tar.xz) = 3d5a3b371e007bda61441460479a208062fd0d477d1fc9ab9a6764c1969fd383acec9e336e8d0b16aab5606444f5d87335320e010657cf088e9caeb18d6dddf5 -SHA512 (detex.tar.xz) = e258d80d1509831132c4f70df81b8e93cfc9d92ee74c5d39e7f35bd4f71a3eb93fe3594afbd5ab0e33cf0b6f45c816506e32ca8f41427f3c3fe661f3086100d1 -SHA512 (dvi2tty.doc.tar.xz) = 3ee736f5fbf91472008a5c8613c0e629a9f76f61fee4c4491b67045ddaad7aa2f89a22937b172e058b072ae1a013478fdf5a9f68dd2e225e8a8e77c8e3b3a289 -SHA512 (dvi2tty.tar.xz) = 1051c3448703fdd6395d78b0d8b7658197da6114fb7455b31502bad5c2eda24fd4eba2ceaba1f65d106f981bbc60caf9f3bd0db29403e898b293514d086bf91d -SHA512 (dvicopy.doc.tar.xz) = 40dd53fe878937846f003d3b72b7d474c13ad07156e78679501d01c020380a3fcc450aee7a72c0155a950429c258b8fab253a7ce3043d58d88300d0c1037da56 -SHA512 (dvicopy.tar.xz) = 60f44492a3d1af9686de3118af37f1d054068527f50765e21773f76ec406b4ec0f419d6298dab6b5d33e2fb740bd740f2037f711e8993bf9d3ab8f611bebb2d0 -SHA512 (dvidvi.doc.tar.xz) = b571021445b822e9824782ab35a0743ca23f69b809354dea6676c58209a451be5bf595641fbcb461211e6dec15e765bbfaf8164c0ce1ed4204ea72a2073ecb92 -SHA512 (dvidvi.tar.xz) = 81c58f4e1352a8e5133de1ad86b6b37c47f9b0d29307354001693ebc4975c30808e349c73a477283a16df4219fd5702b733ecb5abe2043aff1d1b537b7fa6a3c -SHA512 (dviljk.doc.tar.xz) = 4b5815d766a41eb74125269e297eb6f7d1626d68b3f2cf9d6c4f8734721e3c71b63e84e729c39fef41320e4f728888796e421bb5c7ea5ffe76cd549400d18d37 -SHA512 (dviljk.tar.xz) = 0d34e837c0f67ac43dd8ef5bfb9a11d2821188ef8259f41b0cf9454bfa6641f956c21d63fe15fbd68dd59f89c1da820cab4ec5c4579fc0255a771c47010821cc -SHA512 (dviout-util.doc.tar.xz) = d10e8c9343f9065499e2c06b5eecce4047730875ccee29d6a09d1608e2334f7310282cff765c88c7da8ed8a52816910c79f3fad58d118f047d04b4bb7ebf44ca -SHA512 (dvipdfmx.doc.tar.xz) = 33a7401c27496a49546683cd9cf9001badd1dbabd22a5ae9e3501a83273fe342980cddc9e2fa7784b1e0c77512098b1abdc0a409c9306fbc86c9f2fa414bc7bc -SHA512 (dvipdfmx.tar.xz) = dd9284fa286b423b63b0240634348f3355feeefb685216120753f2e5991cb662944cb7fc4d61434e9d4dc982dd1892ce4da2451743c02ee6f25aed408d687ca3 -SHA512 (dvipng.doc.tar.xz) = a4473f728047cdf06743520a5cd4c79d7aa41818c44291abf4781f04b87822b03fe5db9f42d489d7542ca259070f71a3f255507f3dc8fbe772e30da8cc88722e -SHA512 (dvipng.tar.xz) = a1693423389d56570a3fa1ac1eb45bffdef5fa9bf26d738adae1ac2361fc9aa7985d4ed0908b5f8aa49e2425da9821989a61a3ac925ac4432c9caa49f66a95dc -SHA512 (dvipos.doc.tar.xz) = 254a1db41636608a133e7807a8d4ea8ddd99ac646f35b66a43205ac7fdaf4a15c21eafbb85e23a182506e509895776d1fcbe63b3b8a7f197d577c6405ece5c44 -SHA512 (dvipos.tar.xz) = 9e949fb402facda9c30fa2f388b80f2cfc530670b33cbd78559e4449fa6004c5d4082e4fb895ea397a334a333e5d5ae1a4f66fde3885f0a9eb28c9d9ebbecd0a -SHA512 (dvips.doc.tar.xz) = ac2518c20c26dcda42df79be79ed24e2c021af2084ede43f51a5589b1023c9c94a307bd0a4742880e2c89d7620b2889f3a675e30a449d699d15db98922b0da71 -SHA512 (dvips.tar.xz) = fbaf1dd979ceed4f7146d8aebc31ba7d770a8389b4ac214086db5951c485a2a3e3a62b2772394c8053444dfb8de0d22b3501c2ee3ee1e4e7493a1df5a34cc275 -SHA512 (epspdf.doc.tar.xz) = ee5687a3add6773e127a1e83c91683b5c6ea5e37dd98ec5f5558a32015d292c31f1a456c985ee5d2e4201c0a47324dbac4a7129529236438676f587985bca64a -SHA512 (epspdf.tar.xz) = 3dc467713b1d90b96a8fd3903effe209fe15be82463a1ef4693e29e7d145220936bed0e75dd3824a1e520f778ab9b96fe29389037e14690352db136e642f6a2c -SHA512 (fontools.doc.tar.xz) = 0506f6e9d0e0ae4fe4bb15303e2abde50a076899e4330a7d68f875abeaacff999cbab779bb368da5c717370e7cf885333c1479d6e795da4e387edd4656c30933 -SHA512 (fontools.tar.xz) = a4cd3009c98502534f3c54d40fb22d788bcdfd474ba6bfc1b7010aa4d3471f468cd54a5d5c292d5afe685f9e4d99c023b8f78f302792dd1b381418042d96f47c -SHA512 (fontware.doc.tar.xz) = ccd22e262e5fa2cccd5da0ff016447d2df04aefcdd6960f226762667ea2e81b4afd406ea9f822b74d07c8f93cbe70ef90cfcc4040cae2820cf5ace94ce8d1113 -SHA512 (hyperxmp.doc.tar.xz) = 350822e58fc27cf949615ab5fcc4e0b3a31c51921c64d59a039b235f786560f5f30debb676ea1a0cc2b21e1fd4fc0a390caf37846440350067417de7a7718069 -SHA512 (hyperxmp.tar.xz) = ed89d3ec618c2826bcaad1b4766c8dda2e4561a5a7f54f373170740977139bab3d89af01143110054b31645311a6d8fbf9a615881af0097e9fe2082cb757670c -SHA512 (lacheck.doc.tar.xz) = cf4355d56985f9335270e4280d10602299fadfd01605e83edb4e8b89cf0d91b3e8ca671257a9599d5f5578e7a85140d390edd40c3b109f77bb9fca5ba47ca517 -SHA512 (latexdiff.doc.tar.xz) = 2f484db22ec12886a4d76fabde3a65a982d3e659f524120b377221f91c7ad5973ad6023aa3226dd35baa687c86ec8dd8e736553d1604690d87e68d3cf7be84f8 -SHA512 (latexdiff.tar.xz) = ae7179b5a9d410302d750233b6b22d29382406f3222129155c98b1f2ddc23d22ca7abe1683fd013c7302fe8e21e82a376499ae33d83c15a01fa2720696e5b718 -SHA512 (latexpand.doc.tar.xz) = c06bbb57bc006aebb644fc4a8edc1f89e10617c67bb77193bd2f4dc3eb7b04b55fb1f239d7d6979f9b385134f3b1e584d9f10521efe704292b7e64865f78d156 -SHA512 (latexpand.tar.xz) = e5b63c9aa31f3b5885b1a61503998ce949021b448199538ac385d3fe687156ce6669cd3610a7c3387592d968b0707f7122f35fd50402616470e34bb49f341bf4 -SHA512 (light-latex-make.doc.tar.xz) = f5bb10465cf3dd983f59b101f6c631e202ce655282319c773cd0d83c0a9a8a3b9cee7790ef1f803b0c68215b553a2668d861a51dd9ec35b2dfe4b07ef0cf3a08 -SHA512 (light-latex-make.tar.xz) = 1ede05b31d3b7acdd0f38b19e83b4258f05ddb184343dd36a46f142adca9f4081631d687411a1370be880dba5e3c6ad3f1c21108232e8b8f4fd03fdc1f3ad60e -SHA512 (luahbtex.doc.tar.xz) = 3016c12de8386af715932819701a6da1b106c504a7d13ba9bb5a04999737709f474b50c08311c1d4c23b5532ba7c1546cb0585e5375babbcd2091adf52d05664 -SHA512 (luahbtex.tar.xz) = 30b1fcd361cff27688c65ecffbcffc65053696200abfccd543a14253b53a35de2af53b37f7ed1580510a8c63293d2d002cf4d9fd2d44f86678e2ecb09f02e4b8 -SHA512 (lyluatex.doc.tar.xz) = 6f4f2d0b6ebba019542bebf22afbd4e871989cfc864474cf406ae9ad10d2eef1e69af9013e8d85d660538d955086406775d4d3b64572bcb3fec0334c60f41fae -SHA512 (lyluatex.tar.xz) = 8c6b3484efcc49f1b9938a6d24f123ba0d66615f4fa44c9055043a07e8ba56eee88103efa4c67441c6c8a8e0b12596b36671eb1fdd719adb88c10aff2f7b334f -SHA512 (make4ht.doc.tar.xz) = 2552e84307b92538639481b64690b2d4853f03e795b11daa61f88a1a15896f24982dcd563c181497a287744eabc5a4c3e18a2a705bbfcd9099383b1858a02081 -SHA512 (make4ht.tar.xz) = 9eddfced4137652653744256bd4ef342a1b5462a2bbe1852c7fc264b08646b0757d24ae2d12711c66905f810a8f0749ae7f6d7f32983d3aa96fad63e9e104a00 -SHA512 (metafont.doc.tar.xz) = 48b1def32bfba5ab1123712fe41d69f979e33a77456801c21f030de8a39b37fcae179db44a517d7b194d7e6e6eb93d770e179ca49db9014cd433c86ef91b07d0 -SHA512 (metafont.tar.xz) = 2ba715c32631b3ce24aba65e7e1df90a7beabc52b855f5e81cd383f94399e439a344f8a8a21f38648d34d546ca8f1890a74922836557cae5cd05ac945013d71e -SHA512 (metapost.doc.tar.xz) = 1058be2aa15a7fef8e751821f308d663a8a115bd95754572fb04ff99018855592c60ed569bbbd3dcfae2b6cc4c27f8dac6372d6326a827847298fb5467678f25 -SHA512 (metapost.tar.xz) = aab95d361bd62caa5e0eac5aedcc20a35357052ca0b31f16db5abb6d815e63f8366f055d7251018277bf57299885afc6c92fad32683d8d1b4d59c81da6cb9838 -SHA512 (mfware.doc.tar.xz) = ec469dc655be20598ae40cdccd8360252cb216039cfcdfaab5f45d0276fee272a463f19db7f98f6d35b3e6930098536fe8eb4a453161646aa0ed33dd3f8773db -SHA512 (mfware.tar.xz) = f14b1f8876f8a4f2ba8954459c2a3739e0537d800fc1fde11aaaaa61400c18b9419edd3c7884ecac499da3efbd5219244c06ccab1efe17674b5458b464abd3ea -SHA512 (mptopdf.doc.tar.xz) = aba8f16aed39b0b8dde19eae496f7f811475a2a4ad07b420e9783b305412da8b0bec15569fa0325751f5ba101ab12ba6bf3f83d93cb50328adb5bb222fff8ba0 -SHA512 (mptopdf.tar.xz) = 50f4acccc6db126ed7770fbe33e3925659797387d6d4a856286a32ff0444a234e3575b9be4679c90e60b502ca612f02d8de3a39c3beeff122404e5cbf9168819 -SHA512 (musixtex.doc.tar.xz) = cae619ff0b16f557537ce3d28fd8df938d9297aeb37ed47713934e3a6ee41e4d8007e4e798b03221df6e958db93e2a765b9854576381eaacc924433e4efaa362 -SHA512 (musixtex.tar.xz) = 85ff6dae443655c320990517debd59c2d3b3cf79ae795fd27836704af1ead716da34521e254a201ee8cad90ba0b5d1c559157567adf3e7142aa5446e91af0147 -SHA512 (omegaware.doc.tar.xz) = e3312826fc6f2bb7fb8f116f7d73f4f113e2b4fda8acdce29668ffc324bdc90f26dfe21becccea36e53f22707067c19116fa2942fb4165aed3d7c28da88992ce -SHA512 (patgen.doc.tar.xz) = c7bf5af0965cb675a82ee13c6ec467f88395438d07d59379f4850a36c783cfd6661d6fa6493e67bf39e78be615e3148cda9452003b5e9f5d5ceb1fbd305d4ee6 -SHA512 (patgen.tar.xz) = f37ecebfd74a30b2f4fcba5db893b31e7672f2d91d2be7f003bf625512dd54be056a23165ba8b1f5ed2165595405220df20dbd711e63a3be9901424aaf1fb0de -SHA512 (pmx.doc.tar.xz) = dedba4570b68a8628442716dc3a9b1699e5f531aef2737e4b3f47862a91ba69bda91d6fe6692914d2bd7b8fe3188a83fdfce8bdd219ab7c4f238a9c6ec273ffb -SHA512 (pmx.tar.xz) = 433287732fbb2cb47886c6c78c923d5b6a1b5c1e71e3990084cde9bb288a282fff7fb9134a5165e0fc0908b8e60547e23cb900bc82b99717133d7600fa17dc31 -SHA512 (ps2pk.doc.tar.xz) = 032c5ab3442cf668d6b40851bdf710b4e4b9eca701bf04c87359c579a5fce52bedea15ee5dc9e4c5967fcc0e3b84805450987b73c204e0df4708b65a7cf74c13 -SHA512 (ps2pk.tar.xz) = 764e6dc186bc0e9c1b5ee0a3c5a256e9d42d81645477bba49c59baafec55bc9af63124f77227ca5b6516bf3fa2bdb8d201af813cff09ac9da4574e70351922ce -SHA512 (ptex.doc.tar.xz) = 160902b1b32b9725f4c7cabd06dfb612fbbeef31845df108efd50917d85ef619ba62d03760852d31a21a23e2bdcb5035292b317982d7fede260a696041bb2293 -SHA512 (ptex-fontmaps.doc.tar.xz) = 4b21fe546634aad338630520bf68fce2a83f8e6fade99d170ef87a92c8308dd289ed130bf67bfc88419f8752454ab04730bfaa68de90535984590ce8435d87b5 -SHA512 (ptex-fontmaps.tar.xz) = b864c185b5718dfa76e0d4385654ca8e319ab0cbb59911defbec8d6198879265d064087df233d9020f3abc4bebe0742530f40b2ae6e584dbb4f5b6ed7ff28d07 -SHA512 (ptex.tar.xz) = dca32af2c2742207b380c909190204049e29eb9c824f534c39757e3544e305a9395c9fd6ff76d855f1e7fc67e0999bfd863640fc2d2f45dc44bdaa7df543568f -SHA512 (spix.doc.tar.xz) = b783636e01e976f3a0020d6e5b8c87918277fb0caae09057e68b2e216e504618f0b784b1214fdf99fde79cae5a6169c585bacf093de149a99534ef7069e6cb2a -SHA512 (spix.tar.xz) = e0447cedced73a9544b837c555f3d42995b5fa5e23ba737b6794e11e7fa391969c2156ae89d6e7e18140dae0e0c9b0f2d5d6036c4fda3d236790abb21fc8d9ed -SHA512 (svn-multi.doc.tar.xz) = 6fb5e19bc88ab89fb7363587121374f08ebac0d3bc2868e27c43a8deb986cb5b1e82a665adfa56810ff70a49104007b056aefbb3e55cb821e0039eef0bf941eb -SHA512 (svn-multi.tar.xz) = cb2b1c9a95445b1b2cae4b4f8b7d22a417c766b8158a229712a2ecf8b5b2c731c4c4ee348e626a734406487327d7e0288df458329d1231aaa9c63c1283636930 -SHA512 (synctex.doc.tar.xz) = 14e1f266182ee0be47a7b3841435f79594cdeb959245e6226520e81248691beeaa73f365c1112ef3bb4eacf4ca77e55265bd0d13c190858144bdc3064fa88a59 -SHA512 (synctex.tar.xz) = cbe1f8c6d64619f742003c01566d55b675724f5d03681ad53dc1f58ff7314af88000ba25ea74e4fcfb07ece6160be6976ac8e69a9a1b524f223f5b80f350deb0 -SHA512 (tex4ebook.doc.tar.xz) = 4f7ab8795e1f6d848fc2bfa4d2cd772b68ba1b8cae18b86e20720930d56bf645c89aa2a188cab8c9c081ea497b7c4382ae8384db278291cfdb913533911e3d12 -SHA512 (tex4ebook.tar.xz) = 2a0d11b9b86594e65100b5c6670533e42e10e81d1b8a4e29b2c628b40c8d3d8be69280b64c576f2b47cc06d47236bcd3e4213a5b551c616f9fc6072929eaf428 -SHA512 (texdef.doc.tar.xz) = bf84f04183654db606a7ebcd30d4986bca69e633439511cc7d9cf57a3a1210231ed158d2bcd86c5014065d355ec94faf3d5f9ab08be568eadc6637ae9cb72aaf -SHA512 (texdef.tar.xz) = ad6b67da367b1cef01db4e7d912685ccfde58babd7dc4868325624114d85e89f5daf3a47fd855dc084ffff66e332ca85c5d77f682d7bfe1b507c43e0a0612977 -SHA512 (texdoc.doc.tar.xz) = 80ddcd5d32e02ac87ebba175b3f2e253ca02daf70e38ec5a6db1a0e595349ad33d6b7cf7e95f8af7de621600a58b952927edde04319adec13fa139fa0b634970 -SHA512 (tex.doc.tar.xz) = 69e9a2068eb63d7a503be0aa3d94cc270485370be0342d5adf6fac714743a90b705622b8cfbd7e62e52c15f9a663fc3101d11a116c1af9c4f9f3f5c5d3dbfc77 -SHA512 (texdoc.tar.xz) = 02e7d23e20983f96d05725eb91a4f8bed6bdad0051e9f3c152f945e22255c70e7c0b2d93eeca1fdbbc2ca550a7a15d46540ecbb383575b03a4da9bfcea4e42aa -SHA512 (tex.tar.xz) = 028cf62dc7bd7f62acdd005c1121b4fcd55f9130db61d3bfd782cdae22e2e51581cd66a43a827ce76f6e4fed09f2050ee81c13594f6df64817c3a48ca3d1d088 -SHA512 (texware.doc.tar.xz) = c4be0bdc3490a0bee08d6a99907f7abe1145ae8f8f89dd8665cf6a8738d07c7a537c0d7e767b56a6eed3a00ea169729b4d78208aab2aa883c9fb422e4dde3383 -SHA512 (texware.tar.xz) = 532cf8cfb19ea5c8ed0fe6939fba0ddfaed58989a588acef18ef38c587d8485295e9d438487fd2225a0f68c12d0dd8c6263d597c2e94cbdc96ed074ddd296729 -SHA512 (tie.doc.tar.xz) = 66e92b91bcf9b6c44d8d2af141d4980a2b0e0ee3a9dcab778eae118debe4ce4459c933cde6a5cb8cf07af8b5d5d001bc1bcafa2776ae64121ba6308a7b19b3cf -SHA512 (tie.tar.xz) = ca58ca773fd1e4e786f12e1acf9b0e39afe1709c73cc7a0da4331576933c1a4aafd9eed3a0181bcb20b6087d409c73f78fc2a77d96bb75d183996593b8aadadc -SHA512 (ttfutils.doc.tar.xz) = bac6812f37f1d53184a4944e91b06c4ecd6a03d96d78956781c4b01c38ec3b65b74032704d98a4951f8dd5ad84ff54d82891c12e7db99ac58e687e535758decc -SHA512 (ttfutils.tar.xz) = 2e4eba2acd3b97297d2629ad93fdac4587afdfff30584ff77f69574efde4172ce60b904100c70d168016e8cb5c6407f4b4ef5ed7b3c83f942b7477af2f101be7 -SHA512 (uptex.doc.tar.xz) = edd326824f93b2e893ac9bc7b6f498178427477138c2e068a3cffddfef5ac658cfad2671454caa6c222bf165a2d4a16964fa67eed86c01342d119053f31a3fa3 -SHA512 (urlbst.doc.tar.xz) = 897c866ab03bdd5ab741537182788c5f484009681d6fb98f1149329068be707abae7ef012c0bd0170e2b4b673eaa63b46f5d0d55714015e8a451457f5a6c540c -SHA512 (urlbst.tar.xz) = 25d5655fc01f98a1414aa962d8ad924464835aaed993e3bb5a749721034aacb559a4ca1590d353615734535ac91d31abf7b99004f6298525ac618f35bfcb0fd0 -SHA512 (velthuis.doc.tar.xz) = 06a9330410b55052759e18efa8720ef65f0f3dc8a2f15d3c0a0c8f70edaf8de65eeef8ec10a9a376b4b285b1c8f619278f68e9a2bd7ba1622da72b6ff488f8f7 -SHA512 (velthuis.tar.xz) = b7901813517790a92a921b1202c39a058d53a4159634cae79960ec7ce2da08acb757b307b5066ab1251e4b460234fd9dd98c2e404c05fc6384c656472302e3ec -SHA512 (vlna.doc.tar.xz) = 921d76535cbe7e940617355c74b82acfc61edb840db8ed9cae1aaf987fe6b83245505048c7c550d59829b204f139ae1cfd44601435e2fff2b0d5230b45a27b77 -SHA512 (web.doc.tar.xz) = ed04fce861ae2adda602a2a50d560cc9a5863ab1668dd9512baa96b6c37acd8334e4800bc4ca853c0b1f58bd3a643abc82a96f31de9d4980806ad0572ea2a92a -SHA512 (web.tar.xz) = cc8b2b6525ef1ee49162dc157e8d735225f5fc3bee54e56ac01ad47f85f639e4c43b4409e949d68804e650e243da0a8a6d098ca7c37587f14c810112cc82abee -SHA512 (xetex.doc.tar.xz) = 7fda9e0a2e7f4dcd6a1813cf8fe280f7193aa88a77cbc5891b892112950e5d5e7690328e267805c8b9a24dc735e7991065ee3664b1278fa334f83ddf06aee236 -SHA512 (xetex.tar.xz) = fddc7a48405d5ae56b09fab5f180372972fc7fdd10eb19ec8e2b0f6e1e3bc54d2f92512a6954238c21fbdd75425923dcdf115bf16fe35ab3a850363c41ac99e0 -SHA512 (xindy.doc.tar.xz) = d0dacd7cfa169b03b7fa9d0b351133582577c3908323f501d7bca7b0165159b72c34f62abfd73b97065baef8cf179b292e654759f3b3e324112623539e5acfd6 -SHA512 (xindy.tar.xz) = 9b7fe97c14e3cf30d1e6743c2d7b4460e8bca901ba3ee216001f1518ff4d834fb3d9b67085825a6e152c6acde544c41cf16d56e609016caab89a594305a21599 -SHA512 (xpdfopen.doc.tar.xz) = b4f332054a5fe85c9404a05673b373ac2b1275b79a1f0b57061cda614350df230dba60ed3be590e0688840334a113ce5c64847c1dc4e6ebae6cc29524c1f6bd5 -SHA512 (luajittex.doc.tar.xz) = 7637835fae934f4fb1aea954270281a986733d0e0592204346edc290f2cd7d5200ee2fa0d9e15a27be8221c3c990a8c3d4654e314f96441a65c197d3bd259129 -SHA512 (pdftosrc.doc.tar.xz) = 01598180f8eff2913eeebf5bc3d5f3aba32029286fc6e0c072aa8c0f4dabaf0c6e71ae7451ba9a7b65b4d0075a7f0a3baf345b02c5826eab64d74e39eb82798e -SHA512 (amstex.tar.xz) = 7d309307df0f162f303f4077dbd92a1ef739906ec880b4a6dfd80443358a756d065c8f690e273d4b316016cff60e7ae0b29322d38ecd2a27c8914776643e3545 -SHA512 (amstex.doc.tar.xz) = 440cdecbf6397b0205dd3b0c9308b096d3f75075fa5d8890760ac2e2c7351293a76f4073bee4a6188c527f12999b752d96d5ddee31aaf0dad59edd95d44bf2cc -SHA512 (bib2gls.doc.tar.xz) = 2a22e662fa0c41581a3c9d9496f97854ea2faa0d01970ab0cc0542048d0ebdcfcbf7ddc7fcf519510d99300eb6634f1c7688874cf02cf6052962d903c5810887 -SHA512 (bib2gls.tar.xz) = 009e393b3083a3260642cb36dc463c714689d1b32d07885c9d20092e4f7386d05118c452e6f97001120f70558a69aa58d757ae0998cefe10e164bb172e432fbf -SHA512 (bibtex.doc.tar.xz) = 4f95c010ded89688791e1115ce4e167740b43e9e48d596b2621e6c18b4529479da9441351b463946e7efa1e428cba3d60112c5f7a5e008733a00fc64050723a9 -SHA512 (bibtex.tar.xz) = 568a72b269dbcb0d5c723e346e8118a0ed923273460d9518891616cbf7b174b17cd75acff02f092176d71b6020483de75df20994bfb66c2cd46432c33d5ade3d -SHA512 (bibtexu.doc.tar.xz) = 0f200681fd81074a5f23477ff99ac9e08e2d123056544edf7bc5b7b7645c22b74b66404028133037b5e47ffc4ff7c0059a1ed375ed0d3e4d211632c44f37072c -SHA512 (bibtex8.doc.tar.xz) = c305fe0afcaab072ee07542b8bae8475ce205744500f81c6de400b2bcd7ac05ff65a025301319f80a668ed35d653105c0ec0ab392c0c893f5d76802a1806bd04 -SHA512 (bibtex8.tar.xz) = 27008a8ccf05b7f48f7668ea171c9d53063fc26c09ac4507a3eaa86eb22b94cbd70ba6c2b7a8d439d7978a3860be37733dcbc17f7cef930d06dc5a45a89c95d5 -SHA512 (cweb.doc.tar.xz) = 978e2666f833bce94ac7323d9f9e9c45542bf6ea2c5a5c35e6d54679831ad4c5c5676d527b249b6ea2f27750f7e6e54ad18032e6ddae6bb84469d64bf2c18e46 -SHA512 (cweb.tar.xz) = 7888adf1d9721784827b3f9aa880b9929481cf58d13b3331f5ca17f8818894f0bfefde882c248676079fbe47981032132c44bf9012fa515afc36139ef760a0e5 -SHA512 (dvisvgm.doc.tar.xz) = cebe9fc18ba72542133e10c98277762dc221747cec852ea500a56058be75f25f46a96887d04144a2786a058e085451568138b697f0af7f57ec692516daf639d2 -SHA512 (dvisvgm.tar.xz) = fd8df318271d357d2c874a0dbd66ff7a1e171f67a9ad51e9558b97fa6e1641e000b002d8b3894659302a9f3f0307201c5fec5f0abc9cc9ad8daa4e4d19e13364 -SHA512 (epstopdf.doc.tar.xz) = b0e134d9907efeb41d4b83ebabc3e83f7ae04c354584f157726f3f827cee28824562f6864f8e39864410aa97e05b80e97c91248d27923ba910556c35d661db65 -SHA512 (epstopdf.tar.xz) = de91f8df2838eb7b8f0406b63895e7c61d0154017140f0b8cc1306b3369237e72015187327387e55fd996321625abf9fde5ad3575f84a0168cc21070427445e1 -SHA512 (hitex.doc.tar.xz) = 30deaac343815d366a1cd265d68b74198857b3fb6a953cb000e5c5351aecd03b2eb68f563d796d21ffebbbf479ed74bfa95f72fb8ef5a0055590c67014e5d8d2 -SHA512 (hitex.tar.xz) = 4e2f7492a20dce409299344245b89e778cd5bee7fd7baf8de4a630906129a6f011e6666d4bed2b9df20826d2d9ffd0bed179312491434be2db99e834cb9a4ac3 -SHA512 (kpathsea.doc.tar.xz) = b29518a446a11a962ebf795742b947179e5f99653f1be35dcf1cbabaf086d0f0550523cd26567232a475a618bf1cf815d05d0169df3c40d3438759e4a95a78c2 -SHA512 (kpathsea.tar.xz) = 89cdc74e3f82fa3b62afa61e6a946d4cbf25b71193249d1a5f6122b0047ba02645412cda9248dc7cac487c23781e11c2dc1b9fcef4b95c7ad8d230b6253e7637 -SHA512 (l3build.doc.tar.xz) = e126739b4ad5fdc305385929f88917dd61df72cb98d5db50d625b16bdb3867af8d84161a8394ed04b1322c52f53504a28852b919282b3431f81c533d0240cc91 -SHA512 (l3build.tar.xz) = b34715b851daf019e56539362b32d3b7f13ee838f6030e9e94fb6da1caca14ba595567edc91798f31ab9856c131d192876f0a4a32f6eb9caf22f4a62a1eaa94c -SHA512 (latex.doc.tar.xz) = 68ecd2a5c85afe7b39402db416bb7ad0f8e5662c77d77c0839a470f3f70da65377560fbcb5a6952e997da70868533f29a4b7c65d3f7dd63db13aa95ee7159b23 -SHA512 (latex.tar.xz) = de95ba089738862d57b1139a21da57a8263cbe9ff81a7ab43608ce23fde57b4630057a95c99ecb7be712bc864e0c07a56429019d7aa9f63c01f47a995d5d567d -SHA512 (latex2nemeth.doc.tar.xz) = 7fa7ae1c628e29549fc3cb2c98164e27f60cc0bcbf14e26b7a325aee313a5f41c3144d5adf2993c20999016f4798dcd436d96c637c4258ace0efc3bda4a54a43 -SHA512 (latex2nemeth.tar.xz) = f2669a9e58857094c922b968f337e2cb2cf475b07811d53c61a8e0b4dc8bcc41d95186940361676bc62c0f235edb4fe7a7c0d5ee0f6d74c541d1108960e18e7e -SHA512 (latexindent.doc.tar.xz) = 2a34372c3aa18aa3016262905f675d23eaed1d8c6e0e360b61e2084b3bfcfdebc6e349ce2af020fb09a24037119ccd5d3a80635454100ccc688251cde62519b9 -SHA512 (latexindent.tar.xz) = 86767228ea35d9c65f4954ae441b13702abb17e2baee941bfb95be4323fd3468953781ceecee7c3518b45f05d94daed5cc89eb18b4d17d2e0ae545a7613bb5c3 -SHA512 (luafindfont.doc.tar.xz) = e7196d9a2e69b5a6d5582d7ddc00ac480b16228b424cb9d568ef1ff6fbef48e5926776d5f22fa0eb5c4b09b6b29a283416206f64cf324356b35d66228bbbd3ea -SHA512 (lwarp.doc.tar.xz) = 704b3f89973e2fa158252e48f3804b4de5f45bd1ae03954d0eb0f598a4c1c05d6378229dec906caffaf5dfd1ea57dbd53afc77d3d1abd96c3d1be7f146b7ebfc -SHA512 (lwarp.tar.xz) = 2001aeb9c76b008488cededa297bfd8802cc2f4961c6f1432ed4118de204d9e8a0769b3b540ac922e786e2e6723964cdf2975f1e59ed7006029062129996e4f4 -SHA512 (oberdiek.doc.tar.xz) = 73a422dd8009d191a24790f5f68b9ae2a5046f3e42e3c360faabb3f7c7581afdf9bf2b20da8609e8d3513135ee1de98329cd4fb1713fce23c5a03fac28c976b9 -SHA512 (oberdiek.tar.xz) = a07473833a8eb833fa1b149ae6f913219c48ad9ecf9671196774d9b0ea7ac06ef110e3ca18a2a53d7a875ca803aff6e07cf435ef1e6d2020a353df97c0cb7046 -SHA512 (optex.doc.tar.xz) = d0c5512cf6ad24f47fff0d4db2b386dc882dec4b1b2bdd71a2acc4c7e5338898fc15bf3887332c0aa16e7b8df385c75c9a764f82bbc31a83b3ba3e899ce1b0a7 -SHA512 (optex.tar.xz) = 50afa81df97805c224fb765885c453d756d926b6982d1e149c14d4e1aa6164980b4584264d561b77f20f3634c22d09c26397cb2c136474fdbb1f000a4fbe1118 -SHA512 (pdftex.doc.tar.xz) = d059f01596573efacc4ca80333b07236f860375f49b82d0cd3ab6b3f441f379163a37c820e713a2d96a8f69b821b3dbd68f360c5b5f005dccac54575df4b5d4e -SHA512 (pdftex.tar.xz) = c0158cb19918ea2bba57cc68e32af1d2c4ef50ba45bf05e0c8b7e64057daee19843ff77633e4dd0ad660df39983c46f755c691f85d4aa2000086c02d48498d0e -SHA512 (ptex2pdf.doc.tar.xz) = 5635ead2dfa20ce9b616073272452de5c68c55104d88b2362b87cafe4762608d681b0c370169bff78466520d14f9055e509efdaa4ecdb083c3c3111ad829978c -SHA512 (ptex2pdf.tar.xz) = 6a4246d9fbc7cc6f37319d338df8320769cd4b1f0247186beea117b8bf228263f3a330146cf251a9e8e8c7232eb894ce6dad9eda840dd4a154f2502eae4c0f57 -SHA512 (sty2dtx.doc.tar.xz) = 1bc66506350b07341c8c4b858c6b1c637d9f0bf48323714ee7dedd701faf20e3cadb318f56bfb1a05f4fcaf84cdd6e9db18299801a69e0359937d7852ac6a824 -SHA512 (sty2dtx.tar.xz) = f95ad4f6260657ce329c10ae1306e5ec50965c2766c3c28f5a6dd77f4884637c36ecfae28b7853dfaf4e2e5bc256713abe4c8b3525e194fed1eccdd1ea24e1ac -SHA512 (tex4ht.doc.tar.xz) = 1d207661007626fdcbbdb91387611c8333908d4daa83b5322b0c5320c8b83694255b8e59f6c1bf94d7bc0c956711a801f049c60ee54e5dd6b3c2ceb7082ecae0 -SHA512 (tex4ht.tar.xz) = 57ea737b006b20e326e409e55dba3ac3231181bee9b3dd5a725533cedcd4030f10ef44461003673964aa2a78c79a979057be03c6238575f3d832d8e69cec25e0 -SHA512 (texfot.doc.tar.xz) = 07cbd86a5f4731257804a8a62fab247a5a091fbdb51b5f618b42200c06ac8293e809ba19fc98f844dbfe6321e733aae5671b5a8318892608687a454cac15bd10 -SHA512 (texfot.tar.xz) = e7553ab1e2368f1ee54cebe94ef1cc6675a6dd6f76f1bb94b1d79a742ddbbfb30215c97b7aa08165ec0e94b4468491d6cbbe6e1d8d77c24e37f3ec46104cc12f -SHA512 (texlive-en.doc.tar.xz) = dc38f273ba39e0cd69ffa9b755651073acbe0bfe8d5a4ffd0d267971aa82a711b74ed9cb03c5d779c06b859d0944611a541cbd22d40bf2db0841b01d27b5b9a3 -SHA512 (texlive-scripts.doc.tar.xz) = 1ed7a1468a152ee1dffe304922df52110800b4ef6fbd75cde71e5a822ecf6b187559448f3dbed89eb3bb4ee4eb5c5c4e89e25f41811f0d8a2b006d19eab30e91 -SHA512 (texlive-scripts.tar.xz) = 90eebdbc0e1cab8046faefaaaf0f78523b614ea35559eb189432f5fa052eeca73ea2d4a89e57add9519b0280e88b6617d282047ce5af95c672c3c08ee55fecda -SHA512 (texlive.infra.doc.tar.xz) = 14b7c89dd015fe0455ad8291736a53687598a4e3aaca413950eb334eafac91eb63b213967684778d2e2a3b46ff79909311797116be10a587c016646c40fea835 -SHA512 (texlive.infra.tar.xz) = a71b92deef545eea40aa523ea337e77df2bad58cd8be77ddafc7f0bf6f1469a30d5e12d33d4e4d5d89d004c3d008630d1673aeba6f80e6e8a65e19a5446d000c -SHA512 (citation-style-language.doc.tar.xz) = 1adc512a538ca6c9869c373e55d2851d90ad7a52dc804c6e15810d6789518ee45d097394c40338bd8f5285b9ac1d2b19c3d92da75752629ea7d9a3f366057941 -SHA512 (citation-style-language.tar.xz) = 2d792b1e0f7bae17daa6cf17e4aa9135f1e7b67eefb4f253a18c150e022854fd62794b12b3592ac457f467093be88c74cb2dc8c74f9a1b308a369d53ced68a69 -SHA512 (texlive.tlpdb) = 53da64dfd77f334d1a9d35e34ba966af8f40d981c50a1c2fe84de74a9e8a4f64fe1ae8aa21a61e3d79b37918c709cd9ed8f45c8e4963f07bc12efdfdc17d9d56 -SHA512 (texlive-20230311-source.tar.xz) = 93ac43f3055fee0103a6cfceea18d39ece63984914f3af9ad76da218f2d568852d9b987d1c9647c1497b985e4ffa297ef97dc2d50d3e90f62b03ad685af31d96 -SHA512 (xindex.doc.tar.xz) = 3d36e5f8811c6df621717a7077bb49bec137a5bbc3c6593078644811d915c720d41c2e1a6e5be6e3af95ddc64879582061f7aba6113e2b3a1ee5d7b3f63064d0 -SHA512 (xindex.tar.xz) = c88e7d602c741db871ab6ec5895fee5455b954c4487d57be812b172369c5d973a8fad4b9fdcb60179562d04ba4105ecfc1228ae7d414a7d90df9a9723306de07 -SHA512 (bibcop.doc.tar.xz) = 93abe6f0a97138237d7546d132385069f8ff8a638a31cf9be23619b812fa578af808e6f9ce04c06778a4559b1eef98b7d24a0ce5ce6eb5ca9680fc2ddbf7c4b8 -SHA512 (bibcop.tar.xz) = a035642f1b1827f0b6b4d15b4115054b9ab3ff49d7d369f3e304cab5964a707b23865b837c6b156b913e33fe8ae5589941e6ff284ee0b62454a9eb8ec77f3442 -SHA512 (pagelayout.doc.tar.xz) = 2e777b9486a9de61a7bc77e7777b92bc4512f051e716c2b5597832ae862f4885c28f9518f5371316ef09d36a62e420c2648b6e2bc37122a3a21f36965c26834d -SHA512 (pagelayout.tar.xz) = e1dabe46c223811fb88d17c13ccad55853c4c5eb13d7927b841cded1ca198fd04d7add6a54e9542f05fbf1953eb2431b8a2d508531f26909414a40baf7d78d52 -SHA512 (texaccents.doc.tar.xz) = 87bc11f186513adbf32c15af2f1c1253dd72802fb2008b76b9d7d67fc0a039aab0d2424fb853b6bd8e968cd4e9c1cd93bff786fa07e84593fbda99191b053eaa -SHA512 (texaccents.tar.xz) = 5a2a79c9faddebd523939cb3cf42236b1d2c441a036cd7fc6f6f62422e5142cdbc0a45ddaa9e642266c41c9fe5b723fc440d0372639cffd399a89d489bd11b66 -SHA512 (upmendex.doc.tar.xz) = ec4d1670ff84680fcab88e29ca5f4306f44450ccca9cba06282ad34bd026f74b46d166724a06a313957ca8d798b0c296e848bb248ad416597a99afb16b4b5a0c -SHA512 (digestif.doc.tar.xz) = fabc6d0ea5a1e55b7ecd6430b2373c15e413c985485331bd7bd5bca437947a76ac7d8ac6ed2ea3d6afe687284aef673b0e302a1c9925737c6e1d95cecf2ea8cb -SHA512 (digestif.tar.xz) = 098d625749cee42f965d21ef5ec2843211db36fd0f4cced882ed15f32a20a2d70bf292b01e6797e7ca097adfadf2fd40d3c5eef6c694da39e8302770cfb784d3 -SHA512 (texaccents.source.tar.xz) = 8bf5d4957008833d54f87eff9feb14f60694ea02e7e9fd2cd5c5d2e2db3f6de3a33784121208ffab516763fbf578125399cbd6f39750e6bb0162a65c2fc44f24 -SHA512 (luatex.doc.tar.xz) = f77425653668fc4cc76383862c67a7a170d0021a7d946f55ee399e2400357083ea4524862f8c40360fe9f6c39d6d2c2dfc2babfb43db66a783649d0f4358b059 -SHA512 (luatex.tar.xz) = a857a84fa4d2b03a1ba8a7890dd52eb42c44174cf2117ea9ab1fb6d946decedacfa51af4cadcfe30580bc20152ca0403db641c5c61a5b86b726e994d0b4114c8 -SHA512 (build-svn66984.tar.gz) = f17e97c11dcd5ccb5bc29c6ffaaff7f9f888b80f4f9b17199d3ff7fcde4f10659c4cf042a55b811e7ba58d34dc45124a1e3e4f648755f5a1855fc3aabbd674cc diff --git a/texdef-perl-option-5.40.x.patch b/texdef-perl-option-5.40.x.patch deleted file mode 100644 index f79ea13..0000000 --- a/texdef-perl-option-5.40.x.patch +++ /dev/null @@ -1,18 +0,0 @@ -diff -up texmf-dist/scripts/texdef/texdef.pl.orig texmf-dist/scripts/texdef/texdef.pl ---- texmf-dist/scripts/texdef/texdef.pl.orig 2025-07-18 14:43:22.865503978 +0200 -+++ texmf-dist/scripts/texdef/texdef.pl 2025-07-18 14:46:49.871203706 +0200 -@@ -1,4 +1,4 @@ --#!/usr/bin/env perl -+texmf-dist/scripts/texdef/texdef.pl#!/usr/bin/env perl - ################################################################################ - # texdef -- Show definitions of TeX commands - # Copyright (c) 2011-2020 Martin Scharrer -@@ -222,7 +222,7 @@ sub envcode { - } - - ## Define and process options --Getopt::Long::Configure ("bundling"); -+Getopt::Long::Configure ("bundling","no_ignore_case"); - GetOptions ( - 'value|v!' => \$SHOWVALUE, - 'Environment|E!' => \$ISENVIRONMENT, diff --git a/texlive-2016-kpathsea-texlive-path.patch b/texlive-2016-kpathsea-texlive-path.patch deleted file mode 100644 index 7b32fb2..0000000 --- a/texlive-2016-kpathsea-texlive-path.patch +++ /dev/null @@ -1,40 +0,0 @@ -diff -up source/texk/kpathsea/texmf.cnf.fixme source/texk/kpathsea/texmf.cnf ---- source/texk/kpathsea/texmf.cnf.fixme 2016-10-19 15:35:25.804218872 -0400 -+++ source/texk/kpathsea/texmf.cnf 2016-10-19 15:37:19.308035612 -0400 -@@ -491,17 +491,17 @@ RUBYINPUTS = .;$TEXMF/scripts/{$progna - % - TEXMFCNF = {\ - $SELFAUTOLOC,\ --$SELFAUTOLOC/share/texmf-local/web2c,\ --$SELFAUTOLOC/share/texmf-dist/web2c,\ --$SELFAUTOLOC/share/texmf/web2c,\ -+$SELFAUTOLOC/share/texlive/texmf-local/web2c,\ -+$SELFAUTOLOC/share/texlive/texmf-dist/web2c,\ -+$SELFAUTOLOC/share/texlive/texmf/web2c,\ - $SELFAUTOLOC/texmf-local/web2c,\ - $SELFAUTOLOC/texmf-dist/web2c,\ - $SELFAUTOLOC/texmf/web2c,\ - \ - $SELFAUTODIR,\ --$SELFAUTODIR/share/texmf-local/web2c,\ --$SELFAUTODIR/share/texmf-dist/web2c,\ --$SELFAUTODIR/share/texmf/web2c,\ -+$SELFAUTODIR/share/texlive/texmf-local/web2c,\ -+$SELFAUTODIR/share/texlive/texmf-dist/web2c,\ -+$SELFAUTODIR/share/texlive/texmf/web2c,\ - $SELFAUTODIR/texmf-local/web2c,\ - $SELFAUTODIR/texmf-dist/web2c,\ - $SELFAUTODIR/texmf/web2c,\ -@@ -509,9 +509,9 @@ $SELFAUTODIR/texmf/web2c,\ - $SELFAUTOGRANDPARENT/texmf-local/web2c,\ - $SELFAUTOPARENT,\ - \ --$SELFAUTOPARENT/share/texmf-local/web2c,\ --$SELFAUTOPARENT/share/texmf-dist/web2c,\ --$SELFAUTOPARENT/share/texmf/web2c,\ -+$SELFAUTOPARENT/share/texlive/texmf-local/web2c,\ -+$SELFAUTOPARENT/share/texlive/texmf-dist/web2c,\ -+$SELFAUTOPARENT/share/texlive/texmf/web2c,\ - $SELFAUTOPARENT/texmf-local/web2c,\ - $SELFAUTOPARENT/texmf-dist/web2c,\ - $SELFAUTOPARENT/texmf/web2c\ diff --git a/texlive-20160520-selinux-context.patch b/texlive-20160520-selinux-context.patch deleted file mode 100644 index 89334ed..0000000 --- a/texlive-20160520-selinux-context.patch +++ /dev/null @@ -1,41 +0,0 @@ -diff -up source/texk/kpathsea/mktexlsr.than source/texk/kpathsea/mktexlsr ---- source/texk/kpathsea/mktexlsr.than 2015-07-28 21:31:52.595540260 -0400 -+++ source/texk/kpathsea/mktexlsr 2015-07-28 21:32:12.347422108 -0400 -@@ -217,7 +217,8 @@ for TEXMFLS_R in "$@"; do - until PERMS=`kpsestat = "$db_file"`; do sleep 1; done - chmod $PERMS "$db_file_tmp" - rm -f "$db_file" -- mv "$db_file_tmp" "$db_file" -+ # selinux fix -+ cp "$db_file_tmp" "$db_file" - rm -rf "$db_dir_tmp" - done - -diff -up source/texk/texlive/linked_scripts/texlive/fmtutil.pl.orig source/texk/texlive/linked_scripts/texlive/fmtutil.pl ---- source/texk/texlive/linked_scripts/texlive/fmtutil.pl.orig 2016-06-22 10:58:50.754708661 -0400 -+++ source/texk/texlive/linked_scripts/texlive/fmtutil.pl 2016-06-22 11:00:32.566943691 -0400 -@@ -679,7 +679,7 @@ sub rebuild_one_format { - } - TeXLive::TLUtils::mkdirhier($fulldestdir); - -- if (!File::Copy::move( "$fmt.log", "$fulldestdir/$fmt.log")) { -+ if (!File::Copy::copy( "$fmt.log", "$fulldestdir/$fmt.log")) { - print_deferred_error("Cannot move $fmt.log to $fulldestdir.\n"); - } - if ($opts{'recorder'}) { -@@ -687,13 +687,13 @@ sub rebuild_one_format { - # package dependencies for each format. Unfortunately omega-based - # engines gratuitiously changed the extension from .fls to .ofl. - my $recfile = $fmt . ($fmt =~ m/^(aleph|lamed)$/ ? ".ofl" : ".fls"); -- if (!File::Copy::move( $recfile, "$fulldestdir/$recfile")) { -+ if (!File::Copy::copy( $recfile, "$fulldestdir/$recfile")) { - print_deferred_error("Cannot move $recfile to $fulldestdir.\n"); - } - } - - my $destfile = "$fulldestdir/$fmtfile"; -- if (File::Copy::move( $fmtfile, $destfile )) { -+ if (File::Copy::copy( $fmtfile, $destfile )) { - print_info("$destfile installed.\n"); - # - # original fmtutil.sh did some magic trick for mplib-luatex.mem diff --git a/texlive-20170520-new-poppler.patch b/texlive-20170520-new-poppler.patch deleted file mode 100644 index 24635d3..0000000 --- a/texlive-20170520-new-poppler.patch +++ /dev/null @@ -1,1281 +0,0 @@ -diff -up texlive-base-20170520/source/texk/web2c/pdftexdir/pdftoepdf.cc.newpoppler texlive-base-20170520/source/texk/web2c/pdftexdir/pdftoepdf.cc ---- texlive-base-20170520/source/texk/web2c/pdftexdir/pdftoepdf.cc.newpoppler 2016-11-25 13:09:21.000000000 -0500 -+++ texlive-base-20170520/source/texk/web2c/pdftexdir/pdftoepdf.cc 2017-10-29 19:30:15.715109138 -0400 -@@ -1,5 +1,5 @@ - /* --Copyright 1996-2016 Han The Thanh, -+Copyright 1996-2017 Han The Thanh, - - This file is part of pdfTeX. - -@@ -17,6 +17,15 @@ You should have received a copy of the G - with this program. If not, see . - */ - -+/* -+This is based on the patch texlive-poppler-0.59.patch <2017-09-19> at -+https://git.archlinux.org/svntogit/packages.git/plain/texlive-bin/trunk -+by Arch Linux. A little modifications are made to avoid a crash for -+some kind of pdf images, such as figure_missing.pdf in gnuplot. -+The poppler should be 0.59.0 or newer versions. -+POPPLER_VERSION should be defined. -+*/ -+ - /* Do this early in order to avoid a conflict between - MINGW32 defining 'boolean' as 'unsigned char' and - defining Pascal's boolean as 'int'. -@@ -39,10 +48,7 @@ with this program. If not, see - #define GString GooString - #else --#include --#include --#include --#include -+#error POPPLER_VERSION should be defined. - #endif - #include - -@@ -84,31 +90,6 @@ extern integer zround(double); - #define MASK_SUPPRESS_PTEX_PAGENUMBER 0x04 - #define MASK_SUPPRESS_PTEX_INFODICT 0x08 - --// PdfObject encapsulates the xpdf Object type, --// and properly frees its resources on destruction. --// Use obj-> to access members of the Object, --// and &obj to get a pointer to the object. --// It is no longer necessary to call Object::free explicitely. -- --class PdfObject { -- public: -- PdfObject() { // nothing -- } ~PdfObject() { -- iObject.free(); -- } -- Object *operator->() { -- return &iObject; -- } -- Object *operator&() { -- return &iObject; -- } -- private: // no copying or assigning -- PdfObject(const PdfObject &); -- void operator=(const PdfObject &); -- public: -- Object iObject; --}; -- - // When copying the Resources of the selected page, all objects are copied - // recusively top-down. Indirect objects however are not fetched during - // copying, but get a new object number from pdfTeX and then will be -@@ -212,18 +193,6 @@ static void delete_document(PdfDocument - delete pdf_doc; - } - --// Replacement for --// Object *initDict(Dict *dict1){ initObj(objDict); dict = dict1; return this; } -- --static void initDictFromDict(PdfObject & obj, Dict * dict) --{ -- obj->initDict(xref); -- for (int i = 0, l = dict->getLength(); i < l; i++) { -- Object obj1; -- obj->dictAdd(copyString(dict->getKey(i)), dict->getValNF(i, &obj1)); -- } --} -- - // -------------------------------------------------------------------- - - static int addEncoding(GfxFont * gfont) -@@ -320,10 +289,10 @@ static void copyName(char *s) - - static void copyDictEntry(Object * obj, int i) - { -- PdfObject obj1; -+ Object obj1; - copyName(obj->dictGetKey(i)); - pdf_puts(" "); -- obj->dictGetValNF(i, &obj1); -+ obj1 = obj->dictGetValNF(i); - copyObject(&obj1); - pdf_puts("\n"); - } -@@ -376,17 +345,17 @@ static void copyStream(Stream * str) - static void copyProcSet(Object * obj) - { - int i, l; -- PdfObject procset; -+ Object procset; - if (!obj->isArray()) - pdftex_fail("PDF inclusion: invalid ProcSet array type <%s>", - obj->getTypeName()); - pdf_puts("/ProcSet [ "); - for (i = 0, l = obj->arrayGetLength(); i < l; ++i) { -- obj->arrayGetNF(i, &procset); -- if (!procset->isName()) -+ procset = obj->arrayGetNF(i); -+ if (!procset.isName()) - pdftex_fail("PDF inclusion: invalid ProcSet entry type <%s>", -- procset->getTypeName()); -- copyName(procset->getName()); -+ procset.getTypeName()); -+ copyName(procset.getName()); - pdf_puts(" "); - } - pdf_puts("]\n"); -@@ -394,10 +363,29 @@ static void copyProcSet(Object * obj) - - #define REPLACE_TYPE1C true - -+static bool embeddableFont(Object * fontdesc) -+{ -+ Object fontfile, ffsubtype; -+ -+ if (!fontdesc->isDict()) -+ return false; -+ fontfile = fontdesc->dictLookup("FontFile"); -+ if (fontfile.isStream()) -+ return true; -+ if (REPLACE_TYPE1C) { -+ fontfile = fontdesc->dictLookup("FontFile3"); -+ if (!fontfile.isStream()) -+ return false; -+ ffsubtype = fontfile.streamGetDict()->lookup("Subtype"); -+ return ffsubtype.isName() && !strcmp(ffsubtype.getName(), "Type1C"); -+ } -+ return false; -+} -+ - static void copyFont(char *tag, Object * fontRef) - { -- PdfObject fontdict, subtype, basefont, fontdescRef, fontdesc, charset, -- fontfile, ffsubtype, stemV; -+ Object fontdict, subtype, basefont, fontdescRef, fontdesc, charset, -+ stemV; - GfxFont *gfont; - fd_entry *fd; - fm_entry *fontmap; -@@ -413,33 +401,39 @@ static void copyFont(char *tag, Object * - } - // Only handle included Type1 (and Type1C) fonts; anything else will be copied. - // Type1C fonts are replaced by Type1 fonts, if REPLACE_TYPE1C is true. -- if (!fixedinclusioncopyfont && fontRef->fetch(xref, &fontdict)->isDict() -- && fontdict->dictLookup("Subtype", &subtype)->isName() -- && !strcmp(subtype->getName(), "Type1") -- && fontdict->dictLookup("BaseFont", &basefont)->isName() -- && fontdict->dictLookupNF("FontDescriptor", &fontdescRef)->isRef() -- && fontdescRef->fetch(xref, &fontdesc)->isDict() -- && (fontdesc->dictLookup("FontFile", &fontfile)->isStream() -- || (REPLACE_TYPE1C -- && fontdesc->dictLookup("FontFile3", &fontfile)->isStream() -- && fontfile->streamGetDict()->lookup("Subtype", -- &ffsubtype)->isName() -- && !strcmp(ffsubtype->getName(), "Type1C"))) -- && (fontmap = lookup_fontmap(basefont->getName())) != NULL) { -+ fontdict = fontRef->fetch(xref); -+ fontdesc = Object(objNull); -+ if (fontdict.isDict()) { -+ subtype = fontdict.dictLookup("Subtype"); -+ basefont = fontdict.dictLookup("BaseFont"); -+ fontdescRef = fontdict.dictLookupNF("FontDescriptor"); -+ if (fontdescRef.isRef()) { -+ fontdesc = fontdescRef.fetch(xref); -+ } -+ } -+ if (!fixedinclusioncopyfont && fontdict.isDict() -+ && subtype.isName() -+ && !strcmp(subtype.getName(), "Type1") -+ && basefont.isName() -+ && fontdescRef.isRef() -+ && fontdesc.isDict() -+ && embeddableFont(&fontdesc) -+ && (fontmap = lookup_fontmap(basefont.getName())) != NULL) { - // round /StemV value, since the PDF input is a float - // (see Font Descriptors in PDF reference), but we only store an - // integer, since we don't want to change the struct. -- fontdesc->dictLookup("StemV", &stemV); -- fd = epdf_create_fontdescriptor(fontmap, zround(stemV->getNum())); -- if (fontdesc->dictLookup("CharSet", &charset) && -- charset->isString() && is_subsetable(fontmap)) -- epdf_mark_glyphs(fd, charset->getString()->getCString()); -+ stemV = fontdesc.dictLookup("StemV"); -+ fd = epdf_create_fontdescriptor(fontmap, zround(stemV.getNum())); -+ charset = fontdesc.dictLookup("CharSet"); -+ if (!charset.isNull() && -+ charset.isString() && is_subsetable(fontmap)) -+ epdf_mark_glyphs(fd, charset.getString()->getCString()); - else - embed_whole_font(fd); -- addFontDesc(fontdescRef->getRef(), fd); -+ addFontDesc(fontdescRef.getRef(), fd); - copyName(tag); - gfont = GfxFont::makeFont(xref, tag, fontRef->getRef(), -- fontdict->getDict()); -+ fontdict.getDict()); - pdf_printf(" %d 0 R ", addFont(fontRef->getRef(), fd, - addEncoding(gfont))); - } else { -@@ -451,24 +445,24 @@ static void copyFont(char *tag, Object * - - static void copyFontResources(Object * obj) - { -- PdfObject fontRef; -+ Object fontRef; - int i, l; - if (!obj->isDict()) - pdftex_fail("PDF inclusion: invalid font resources dict type <%s>", - obj->getTypeName()); - pdf_puts("/Font << "); - for (i = 0, l = obj->dictGetLength(); i < l; ++i) { -- obj->dictGetValNF(i, &fontRef); -- if (fontRef->isRef()) -+ fontRef = obj->dictGetValNF(i); -+ if (fontRef.isRef()) - copyFont(obj->dictGetKey(i), &fontRef); -- else if (fontRef->isDict()) { // some programs generate pdf with embedded font object -+ else if (fontRef.isDict()) { // some programs generate pdf with embedded font object - copyName(obj->dictGetKey(i)); - pdf_puts(" "); - copyObject(&fontRef); - } - else - pdftex_fail("PDF inclusion: invalid font in reference type <%s>", -- fontRef->getTypeName()); -+ fontRef.getTypeName()); - } - pdf_puts(">>\n"); - } -@@ -557,7 +551,7 @@ static char *convertNumToPDF(double n) - - static void copyObject(Object * obj) - { -- PdfObject obj1; -+ Object obj1; - int i, l, c; - Ref ref; - char *p; -@@ -601,8 +595,8 @@ static void copyObject(Object * obj) - } else if (obj->isArray()) { - pdf_puts("["); - for (i = 0, l = obj->arrayGetLength(); i < l; ++i) { -- obj->arrayGetNF(i, &obj1); -- if (!obj1->isName()) -+ obj1 = obj->arrayGetNF(i); -+ if (!obj1.isName()) - pdf_puts(" "); - copyObject(&obj1); - } -@@ -612,9 +606,8 @@ static void copyObject(Object * obj) - copyDict(obj); - pdf_puts(">>"); - } else if (obj->isStream()) { -- initDictFromDict(obj1, obj->streamGetDict()); - pdf_puts("<<\n"); -- copyDict(&obj1); -+ copyDict(obj->getStream()->getDictObject()); - pdf_puts(">>\n"); - pdf_puts("stream\n"); - copyStream(obj->getStream()->getUndecodedStream()); -@@ -638,9 +631,8 @@ static void writeRefs() - InObj *r; - for (r = inObjList; r != 0; r = r->next) { - if (!r->written) { -- Object obj1; - r->written = 1; -- xref->fetch(r->ref.num, r->ref.gen, &obj1); -+ Object obj1 = xref->fetch(r->ref.num, r->ref.gen); - if (r->type == objFont) { - assert(!obj1.isStream()); - pdfbeginobj(r->num, 2); // \pdfobjcompresslevel = 2 is for this -@@ -656,7 +648,6 @@ static void writeRefs() - pdf_puts("\n"); - pdfendobj(); - } -- obj1.free(); - } - } - } -@@ -685,7 +676,7 @@ static void writeEncodings() - #ifdef POPPLER_VERSION - r->font->decRefCnt(); - #else -- delete r->font; -+#error POPPLER_VERSION should be defined. - #endif - delete r; - } -@@ -728,7 +719,7 @@ read_pdf_info(char *image_name, char *pa - #ifdef POPPLER_VERSION - int pdf_major_version_found, pdf_minor_version_found; - #else -- float pdf_version_found, pdf_version_wanted; -+#error POPPLER_VERSION should be defined. - #endif - // initialize - if (!isInit) { -@@ -760,19 +751,7 @@ read_pdf_info(char *image_name, char *pa - } - } - #else -- pdf_version_found = pdf_doc->doc->getPDFVersion(); -- pdf_version_wanted = 1 + (minor_pdf_version_wanted * 0.1); -- if (pdf_version_found > pdf_version_wanted + 0.01) { -- char msg[] = -- "PDF inclusion: found PDF version <%.1f>, but at most version <%.1f> allowed"; -- if (pdf_inclusion_errorlevel > 0) { -- pdftex_fail(msg, pdf_version_found, pdf_version_wanted); -- } else if (pdf_inclusion_errorlevel < 0) { -- ; /* do nothing */ -- } else { /* = 0, give warning */ -- pdftex_warn(msg, pdf_version_found, pdf_version_wanted); -- } -- } -+#error POPPLER_VERSION should be defined. - #endif - epdf_num_pages = pdf_doc->doc->getCatalog()->getNumPages(); - if (page_name) { -@@ -839,8 +818,8 @@ void write_epdf(void) - Page *page; - Ref *pageRef; - Dict *pageDict; -- PdfObject contents, obj1, obj2, pageObj, dictObj; -- PdfObject groupDict; -+ Object contents, obj1, obj2, pageObj, dictObj; -+ Object groupDict; - bool writeSepGroup = false; - Object info; - char *key; -@@ -867,8 +846,8 @@ void write_epdf(void) - encodingList = 0; - page = pdf_doc->doc->getCatalog()->getPage(epdf_selected_page); - pageRef = pdf_doc->doc->getCatalog()->getPageRef(epdf_selected_page); -- xref->fetch(pageRef->num, pageRef->gen, &pageObj); -- pageDict = pageObj->getDict(); -+ pageObj = xref->fetch(pageRef->num, pageRef->gen); -+ pageDict = pageObj.getDict(); - rotate = page->getRotate(); - PDFRectangle *pagebox; - // write the Page header -@@ -886,7 +865,7 @@ void write_epdf(void) - pdf_printf("/%s.PageNumber %i\n", pdfkeyprefix, (int) epdf_selected_page); - } - if ((suppress_ptex_info & MASK_SUPPRESS_PTEX_INFODICT) == 0) { -- pdf_doc->doc->getDocInfoNF(&info); -+ info = pdf_doc->doc->getDocInfoNF(); - if (info.isRef()) { - // the info dict must be indirect (PDF Ref p. 61) - pdf_printf("/%s.InfoDict ", pdfkeyprefix); -@@ -942,14 +921,14 @@ void write_epdf(void) - pdf_puts(stripzeros(s)); - - // Metadata validity check (as a stream it must be indirect) -- pageDict->lookupNF("Metadata", &dictObj); -- if (!dictObj->isNull() && !dictObj->isRef()) -+ dictObj = pageDict->lookupNF("Metadata"); -+ if (!dictObj.isNull() && !dictObj.isRef()) - pdftex_warn("PDF inclusion: /Metadata must be indirect object"); - - // copy selected items in Page dictionary except Resources & Group - for (i = 0; pageDictKeys[i] != NULL; i++) { -- pageDict->lookupNF(pageDictKeys[i], &dictObj); -- if (!dictObj->isNull()) { -+ dictObj = pageDict->lookupNF(pageDictKeys[i]); -+ if (!dictObj.isNull()) { - pdf_newline(); - pdf_printf("/%s ", pageDictKeys[i]); - copyObject(&dictObj); // preserves indirection -@@ -957,8 +936,8 @@ void write_epdf(void) - } - - // handle page group -- pageDict->lookupNF("Group", &dictObj); -- if (!dictObj->isNull()) { -+ dictObj = pageDict->lookupNF("Group"); -+ if (!dictObj.isNull()) { - if (pdfpagegroupval == 0) { - // another pdf with page group was included earlier on the - // same page; copy the Group entry as is. See manual for -@@ -972,11 +951,36 @@ void write_epdf(void) - copyObject(&dictObj); - } else { - // write Group dict as a separate object, since the Page dict also refers to it -- pageDict->lookup("Group", &dictObj); -- if (!dictObj->isDict()) -+ dictObj = pageDict->lookup("Group"); -+ if (!dictObj.isDict()) - pdftex_fail("PDF inclusion: /Group dict missing"); - writeSepGroup = true; -- initDictFromDict(groupDict, page->getGroup()); -+/* -+This part is only a single line -+ groupDict = Object(page->getGroup()); -+in the original patch. In this case, however, pdftex crashes at -+"delete pdf_doc->doc" in "delete_document()" for inclusion of some -+kind of pdf images, for example, figure_missing.pdf in gnuplot. -+A change -+ groupDict = Object(page->getGroup()).copy(); -+does not improve the situation. -+The changes below seem to work fine. -+*/ -+// begin modification -+ groupDict = pageDict->lookup("Group"); -+ const Dict& dic1 = page->getGroup(); -+ const Dict& dic2 = groupDict.getDict(); -+ // replace dic2 in groupDict with dic1 -+ l = dic2.getLength(); -+ for (i = 0; i < l; i++) { -+ groupDict.dictRemove(dic2.getKey(i)); -+ } -+ l = dic1.getLength(); -+ for (i = 0; i < l; i++) { -+ groupDict.dictAdd(copyString(dic1.getKey(i)), -+ dic1.getValNF(i)); -+ } -+// end modification - pdf_printf("/Group %ld 0 R\n", (long)pdfpagegroupval); - } - } -@@ -989,14 +993,14 @@ void write_epdf(void) - pdftex_warn - ("PDF inclusion: /Resources missing. 'This practice is not recommended' (PDF Ref)"); - } else { -- initDictFromDict(obj1, page->getResourceDict()); -+ Object *obj1 = page->getResourceDictObject(); - if (!obj1->isDict()) - pdftex_fail("PDF inclusion: invalid resources dict type <%s>", - obj1->getTypeName()); - pdf_newline(); - pdf_puts("/Resources <<\n"); - for (i = 0, l = obj1->dictGetLength(); i < l; ++i) { -- obj1->dictGetVal(i, &obj2); -+ obj2 = obj1->dictGetVal(i); - key = obj1->dictGetKey(i); - if (strcmp("Font", key) == 0) - copyFontResources(&obj2); -@@ -1009,8 +1013,8 @@ void write_epdf(void) - } - - // write the page contents -- page->getContents(&contents); -- if (contents->isStream()) { -+ contents = page->getContents(); -+ if (contents.isStream()) { - - // Variant A: get stream and recompress under control - // of \pdfcompresslevel -@@ -1021,36 +1025,35 @@ void write_epdf(void) - - // Variant B: copy stream without recompressing - // -- contents->streamGetDict()->lookup("F", &obj1); -- if (!obj1->isNull()) { -+ obj1 = contents.streamGetDict()->lookup("F"); -+ if (!obj1.isNull()) { - pdftex_fail("PDF inclusion: Unsupported external stream"); - } -- contents->streamGetDict()->lookup("Length", &obj1); -- assert(!obj1->isNull()); -+ obj1 = contents.streamGetDict()->lookup("Length"); -+ assert(!obj1.isNull()); - pdf_puts("/Length "); - copyObject(&obj1); - pdf_puts("\n"); -- contents->streamGetDict()->lookup("Filter", &obj1); -- if (!obj1->isNull()) { -+ obj1 = contents.streamGetDict()->lookup("Filter"); -+ if (!obj1.isNull()) { - pdf_puts("/Filter "); - copyObject(&obj1); - pdf_puts("\n"); -- contents->streamGetDict()->lookup("DecodeParms", &obj1); -- if (!obj1->isNull()) { -+ obj1 = contents.streamGetDict()->lookup("DecodeParms"); -+ if (!obj1.isNull()) { - pdf_puts("/DecodeParms "); - copyObject(&obj1); - pdf_puts("\n"); - } - } - pdf_puts(">>\nstream\n"); -- copyStream(contents->getStream()->getUndecodedStream()); -+ copyStream(contents.getStream()->getUndecodedStream()); - pdfendstream(); -- } else if (contents->isArray()) { -+ } else if (contents.isArray()) { - pdfbeginstream(); -- for (i = 0, l = contents->arrayGetLength(); i < l; ++i) { -- Object contentsobj; -- copyStream((contents->arrayGet(i, &contentsobj))->getStream()); -- contentsobj.free(); -+ for (i = 0, l = contents.arrayGetLength(); i < l; ++i) { -+ Object contentsobj = contents.arrayGet(i); -+ copyStream(contentsobj.getStream()); - if (i < l - 1) - pdf_newline(); // add a newline after each stream except the last - } -diff -up texlive-base-20170520/source/texk/web2c/pdftexdir/pdftosrc.cc.newpoppler texlive-base-20170520/source/texk/web2c/pdftexdir/pdftosrc.cc ---- texlive-base-20170520/source/texk/web2c/pdftexdir/pdftosrc.cc.newpoppler 2016-11-25 13:09:21.000000000 -0500 -+++ texlive-base-20170520/source/texk/web2c/pdftexdir/pdftosrc.cc 2017-10-29 19:30:29.988736531 -0400 -@@ -1,5 +1,5 @@ - /* --Copyright 1996-2014 Han The Thanh, -+Copyright 1996-2017 Han The Thanh, - - This file is part of pdfTeX. - -@@ -16,6 +16,14 @@ GNU General Public License for more deta - You should have received a copy of the GNU General Public License along - with this program. If not, see . - */ -+ -+/* -+This is based on the patch texlive-poppler-0.59.patch <2017-09-19> at -+https://git.archlinux.org/svntogit/packages.git/plain/texlive-bin/trunk -+by Arch Linux. The poppler should be 0.59.0 or newer versions. -+POPPLER_VERSION should be defined. -+*/ -+ - #include - - #include -@@ -32,10 +40,7 @@ with this program. If not, see - #include - #else --#include --#include --#include --#include -+#error POPPLER_VERSION should be defined. - #endif - #include - -@@ -86,22 +91,20 @@ int main(int argc, char *argv[]) - objgen = atoi(argv[3]); - } - xref = doc->getXRef(); -- catalogDict.initNull(); -- xref->getCatalog(&catalogDict); -+ catalogDict = xref->getCatalog(); - if (!catalogDict.isDict("Catalog")) { - fprintf(stderr, "No Catalog found\n"); - exit(1); - } -- srcStream.initNull(); -+ srcStream = Object(objNull); - if (objnum == 0) { -- catalogDict.dictLookup("SourceObject", &srcStream); -+ srcStream = catalogDict.dictLookup("SourceObject"); - static char const_SourceFile[] = "SourceFile"; - if (!srcStream.isStream(const_SourceFile)) { - fprintf(stderr, "No SourceObject found\n"); - exit(1); - } -- srcName.initNull(); -- srcStream.getStream()->getDict()->lookup("SourceName", &srcName); -+ srcName = srcStream.getStream()->getDict()->lookup("SourceName"); - if (!srcName.isString()) { - fprintf(stderr, "No SourceName found\n"); - exit(1); -@@ -110,7 +113,7 @@ int main(int argc, char *argv[]) - // We cannot free srcName, as objname shares its string. - // srcName.free(); - } else if (objnum > 0) { -- xref->fetch(objnum, objgen, &srcStream); -+ srcStream = xref->fetch(objnum, objgen); - if (!srcStream.isStream()) { - fprintf(stderr, "Not a Stream object\n"); - exit(1); -@@ -153,35 +156,34 @@ int main(int argc, char *argv[]) - (e->type == xrefEntryFree ? "f" : "n")); - else { // e->offset is the object number of the object stream - Stream *str; -+ Lexer *lexer; - Parser *parser; - Object objStr, obj1, obj2; - int nObjects, first, n; - int localOffset = 0; - Guint firstOffset; - -- assert(xref->fetch(e->offset, 0, &objStr)->isStream()); -- nObjects = objStr.streamGetDict()->lookup("N", &obj1)->getInt(); -- obj1.free(); -- first = objStr.streamGetDict()->lookup("First", &obj1)->getInt(); -- obj1.free(); -+ objStr = xref->fetch(e->offset, 0); -+ assert(objStr.isStream()); -+ obj1 = objStr.streamGetDict()->lookup("N"); -+ nObjects = obj1.getInt(); -+ obj1 = objStr.streamGetDict()->lookup("First"); -+ first = obj1.getInt(); - firstOffset = objStr.getStream()->getBaseStream()->getStart() + first; - - // parse the header: object numbers and offsets - objStr.streamReset(); -- obj1.initNull(); -- str = new EmbedStream(objStr.getStream(), &obj1, gTrue, first); -- parser = new Parser(xref, new Lexer(xref, str), gFalse); -+ str = new EmbedStream(objStr.getStream(), Object(objNull), gTrue, first); -+ lexer = new Lexer(xref, str); -+ parser = new Parser(xref, lexer, gFalse); - for (n = 0; n < nObjects; ++n) { -- parser->getObj(&obj1); -- parser->getObj(&obj2); -+ obj1 = parser->getObj(); -+ obj2 = parser->getObj(); - if (n == e->gen) - localOffset = obj2.getInt(); -- obj1.free(); -- obj2.free(); - } - while (str->getChar() != EOF) ; - delete parser; -- objStr.free(); - - fprintf(outfile, "%.10lu 00000 n\n", - (long unsigned)(firstOffset + localOffset)); -@@ -192,7 +194,6 @@ int main(int argc, char *argv[]) - s->reset(); - while ((c = s->getChar()) != EOF) - fputc(c, outfile); -- srcStream.free(); - } - if (objnum == 0) - fprintf(stderr, "Source file extracted to %s\n", outname); -@@ -201,7 +202,6 @@ int main(int argc, char *argv[]) - else - fprintf(stderr, "Cross-reference table extracted to %s\n", outname); - fclose(outfile); -- catalogDict.free(); - delete doc; - delete globalParams; - } ---- texlive-base-20170520/source/texk/web2c/luatexdir/image/pdftoepdf.w.newpoppler 2017-05-08 22:39:36.639375783 +0200 -+++ texlive-base-20170520/source/texk/web2c/luatexdir/image/pdftoepdf.w 2017-09-19 11:23:36.586768739 +0200 -@@ -224,7 +224,7 @@ - free(checksum); - } - if (pdf_doc->doc == NULL) { -- docmemstream = new MemStream( docstream,0,streamsize, obj.initNull() ); -+ docmemstream = new MemStream( docstream,0,streamsize, Object(objNull) ); - doc = new PDFDoc(docmemstream); /* takes ownership of docmemstream */ - pdf_doc->pc++; - if (!doc->isOk() || !doc->okToPrint()) { -@@ -408,9 +408,8 @@ - Object obj1; - pdf_begin_array(pdf); - for (i = 0, l = array->getLength(); i < l; ++i) { -- array->getNF(i, &obj1); -+ obj1 = array->getNF(i); - copyObject(pdf, pdf_doc, &obj1); -- obj1.free(); - } - pdf_end_array(pdf); - } -@@ -422,9 +421,8 @@ - pdf_begin_dict(pdf); - for (i = 0, l = dict->getLength(); i < l; ++i) { - copyName(pdf, dict->getKey(i)); -- dict->getValNF(i, &obj1); -+ obj1 = dict->getValNF(i); - copyObject(pdf, pdf_doc, &obj1); -- obj1.free(); - } - pdf_end_dict(pdf); - } -@@ -510,13 +508,12 @@ - PDFDoc *doc = pdf_doc->doc; - xref = doc->getXRef(); - for (r = pdf_doc->inObjList; r != NULL;) { -- xref->fetch(r->ref.num, r->ref.gen, &obj1); -+ obj1 = xref->fetch(r->ref.num, r->ref.gen); - if (obj1.isStream()) - pdf_begin_obj(pdf, r->num, OBJSTM_NEVER); - else - pdf_begin_obj(pdf, r->num, 2); - copyObject(pdf, pdf_doc, &obj1); -- obj1.free(); - pdf_end_obj(pdf); - n = r->next; - delete r; -@@ -740,7 +737,7 @@ - catalog = doc->getCatalog(); - page = catalog->getPage(img_pagenum(idict)); - pageref = catalog->getPageRef(img_pagenum(idict)); -- doc->getXRef()->fetch(pageref->num, pageref->gen, &pageobj); -+ pageobj = doc->getXRef()->fetch(pageref->num, pageref->gen); - pageDict = pageobj.getDict(); - /* write the Page header */ - pdf_begin_obj(pdf, img_objnum(idict), OBJSTM_NEVER); -@@ -757,12 +754,11 @@ - pdf_dict_add_int(pdf, "PTEX.PageNumber", (int) img_pagenum(idict)); - } - if ((suppress_optional_info & 8) == 0) { -- doc->getDocInfoNF(&obj1); -+ obj1 = doc->getDocInfoNF(); - if (obj1.isRef()) { - /* the info dict must be indirect (PDF Ref p. 61) */ - pdf_dict_add_ref(pdf, "PTEX.InfoDict", addInObj(pdf, pdf_doc, obj1.getRef())); - } -- obj1.free(); - } - if (img_is_bbox(idict)) { - bbox[0] = sp2bp(img_bbox(idict)[0]); -@@ -788,19 +784,17 @@ - Now all relevant parts of the Page dictionary are copied. Metadata validity - check is needed(as a stream it must be indirect). - */ -- pageDict->lookupNF("Metadata", &obj1); -+ obj1 = pageDict->lookupNF("Metadata"); - if (!obj1.isNull() && !obj1.isRef()) - formatted_warning("pdf inclusion","/Metadata must be indirect object"); -- obj1.free(); - /* copy selected items in Page dictionary */ - for (i = 0; pagedictkeys[i] != NULL; i++) { -- pageDict->lookupNF(pagedictkeys[i], &obj1); -+ obj1 = pageDict->lookupNF(pagedictkeys[i]); - if (!obj1.isNull()) { - pdf_add_name(pdf, pagedictkeys[i]); - /* preserves indirection */ - copyObject(pdf, pdf_doc, &obj1); - } -- obj1.free(); - } - /* - If there are no Resources in the Page dict of the embedded page, -@@ -808,32 +802,28 @@ - PDF file, climbing up the tree until the Resources are found. - (This fixes a problem with Scribus 1.3.3.14.) - */ -- pageDict->lookupNF("Resources", &obj1); -+ obj1 = pageDict->lookupNF("Resources"); - if (obj1.isNull()) { - op1 = &pagesobj1; - op2 = &pagesobj2; -- pageDict->lookup("Parent", op1); -+ *op1 = pageDict->lookup("Parent"); - while (op1->isDict()) { -- obj1.free(); -- op1->dictLookupNF("Resources", &obj1); -+ obj1 = op1->dictLookupNF("Resources"); - if (!obj1.isNull()) { - pdf_add_name(pdf, "Resources"); - copyObject(pdf, pdf_doc, &obj1); - break; - } -- op1->dictLookup("Parent", op2); -+ *op2 = op1->dictLookup("Parent"); - optmp = op1; - op1 = op2; - op2 = optmp; -- op2->free(); - }; - if (!op1->isDict()) - formatted_warning("pdf inclusion","Page /Resources missing"); -- op1->free(); - } -- obj1.free(); - /* Write the Page contents. */ -- page->getContents(&contents); -+ contents = page->getContents(); - if (contents.isStream()) { - /* - Variant A: get stream and recompress under control of \pdfcompresslevel -@@ -844,27 +834,23 @@ - - Variant B: copy stream without recompressing - */ -- contents.streamGetDict()->lookup("F", &obj1); -+ obj1 = contents.streamGetDict()->lookup("F"); - if (!obj1.isNull()) { - normal_error("pdf inclusion","unsupported external stream"); - } -- obj1.free(); -- contents.streamGetDict()->lookup("Length", &obj1); -+ obj1 = contents.streamGetDict()->lookup("Length"); - pdf_add_name(pdf, "Length"); - copyObject(pdf, pdf_doc, &obj1); -- obj1.free(); -- contents.streamGetDict()->lookup("Filter", &obj1); -+ obj1 = contents.streamGetDict()->lookup("Filter"); - if (!obj1.isNull()) { - pdf_add_name(pdf, "Filter"); - copyObject(pdf, pdf_doc, &obj1); -- obj1.free(); -- contents.streamGetDict()->lookup("DecodeParms", &obj1); -+ obj1 = contents.streamGetDict()->lookup("DecodeParms"); - if (!obj1.isNull()) { - pdf_add_name(pdf, "DecodeParms"); - copyObject(pdf, pdf_doc, &obj1); - } - } -- obj1.free(); - pdf_end_dict(pdf); - pdf_begin_stream(pdf); - copyStreamStream(pdf, contents.getStream()->getUndecodedStream()); -@@ -875,8 +861,8 @@ - pdf_end_dict(pdf); - pdf_begin_stream(pdf); - for (i = 0, l = contents.arrayGetLength(); i < l; ++i) { -- copyStreamStream(pdf, (contents.arrayGet(i, &obj1))->getStream()); -- obj1.free(); -+ obj1 = contents.arrayGet(i); -+ copyStreamStream(pdf, obj1.getStream()); - if (i < (l - 1)) { - /* - Put a space between streams to be on the safe side (streams -@@ -897,8 +883,6 @@ - } - /* write out all indirect objects */ - writeRefs(pdf, pdf_doc); -- contents.free(); -- pageobj.free(); - /* - unrefPdfDocument() must come after contents.free() and pageobj.free()! - TH: The next line makes repeated pdf inclusion unacceptably slow ---- texlive-base-20170520/source/texk/web2c/luatexdir/lua/lepdflib.cc.newpoppler 2017-05-08 22:39:36.689375107 +0200 -+++ texlive-base-20170520/source/texk/web2c/luatexdir/lua/lepdflib.cc 2017-09-19 09:48:19.658021769 +0200 -@@ -538,7 +538,7 @@ - pdfdoc_changed_error(L); \ - uout = new_Object_userdata(L); \ - uout->d = new Object(); \ -- ((in *) uin->d)->function((Object *) uout->d); \ -+ *((Object *)uout->d) = ((in *) uin->d)->function(); \ - uout->atype = ALLOC_LEPDF; \ - uout->pc = uin->pc; \ - uout->pd = uin->pd; \ -@@ -668,13 +668,11 @@ - - static int m_Array_incRef(lua_State * L) - { -- int i; - udstruct *uin; - uin = (udstruct *) luaL_checkudata(L, 1, M_Array); - if (uin->pd != NULL && uin->pd->pc != uin->pc) - pdfdoc_changed_error(L); -- i = ((Array *) uin->d)->incRef(); -- lua_pushinteger(L, i); -+ lua_pushinteger(L, 1); - return 1; - } - -@@ -685,8 +683,7 @@ - uin = (udstruct *) luaL_checkudata(L, 1, M_Array); - if (uin->pd != NULL && uin->pd->pc != uin->pc) - pdfdoc_changed_error(L); -- i = ((Array *) uin->d)->decRef(); -- lua_pushinteger(L, i); -+ lua_pushinteger(L, 1); - return 1; - } - -@@ -702,7 +699,7 @@ - if ((uin->pd != NULL && uin->pd->pc != uin->pc) - || (uobj->pd != NULL && uobj->pd->pc != uobj->pc)) - pdfdoc_changed_error(L); -- ((Array *) uin->d)->add(((Object *) uobj->d)); -+ ((Array *) uin->d)->add(std::move(*((Object *) uobj->d))); - return 0; - } - -@@ -718,7 +715,7 @@ - if (i > 0 && i <= len) { - uout = new_Object_userdata(L); - uout->d = new Object(); -- ((Array *) uin->d)->get(i - 1, (Object *) uout->d); -+ *((Object *) uout->d) = ((Array *) uin->d)->get(i - 1); - uout->atype = ALLOC_LEPDF; - uout->pc = uin->pc; - uout->pd = uin->pd; -@@ -739,7 +736,7 @@ - if (i > 0 && i <= len) { - uout = new_Object_userdata(L); - uout->d = new Object(); -- ((Array *) uin->d)->getNF(i - 1, (Object *) uout->d); -+ *((Object *) uout->d) = ((Array *) uin->d)->getNF(i - 1); - uout->atype = ALLOC_LEPDF; - uout->pc = uin->pc; - uout->pd = uin->pd; -@@ -953,25 +950,21 @@ - - static int m_Dict_incRef(lua_State * L) - { -- int i; - udstruct *uin; - uin = (udstruct *) luaL_checkudata(L, 1, M_Dict); - if (uin->pd != NULL && uin->pd->pc != uin->pc) - pdfdoc_changed_error(L); -- i = ((Dict *) uin->d)->incRef(); -- lua_pushinteger(L, i); -+ lua_pushinteger(L, 1); - return 1; - } - - static int m_Dict_decRef(lua_State * L) - { -- int i; - udstruct *uin; - uin = (udstruct *) luaL_checkudata(L, 1, M_Dict); - if (uin->pd != NULL && uin->pd->pc != uin->pc) - pdfdoc_changed_error(L); -- i = ((Dict *) uin->d)->decRef(); -- lua_pushinteger(L, i); -+ lua_pushinteger(L, 1); - return 1; - } - -@@ -986,7 +979,7 @@ - pdfdoc_changed_error(L); - s = copyString(luaL_checkstring(L, 2)); - uobj = (udstruct *) luaL_checkudata(L, 3, M_Object); -- ((Dict *) uin->d)->add(s, ((Object *) uobj->d)); -+ ((Dict *) uin->d)->add(s, std::move(*((Object *) uobj->d))); - return 0; - } - -@@ -999,7 +992,7 @@ - pdfdoc_changed_error(L); - s = luaL_checkstring(L, 2); - uobj = (udstruct *) luaL_checkudata(L, 3, M_Object); -- ((Dict *) uin->d)->set(s, ((Object *) uobj->d)); -+ ((Dict *) uin->d)->set(s, std::move(*((Object *) uobj->d))); - return 0; - } - -@@ -1027,7 +1020,7 @@ - s = luaL_checkstring(L, 2); - uout = new_Object_userdata(L); - uout->d = new Object(); -- ((Dict *) uin->d)->lookup(s, (Object *) uout->d); -+ *((Object *) uout->d) = ((Dict *) uin->d)->lookup(s); - uout->atype = ALLOC_LEPDF; - uout->pc = uin->pc; - uout->pd = uin->pd; -@@ -1044,7 +1037,7 @@ - s = luaL_checkstring(L, 2); - uout = new_Object_userdata(L); - uout->d = new Object(); -- ((Dict *) uin->d)->lookupNF(s, (Object *) uout->d); -+ *((Object *) uout->d) = ((Dict *) uin->d)->lookupNF(s); - uout->atype = ALLOC_LEPDF; - uout->pc = uin->pc; - uout->pd = uin->pd; -@@ -1096,7 +1089,7 @@ - if (i > 0 && i <= len) { - uout = new_Object_userdata(L); - uout->d = new Object(); -- ((Dict *) uin->d)->getVal(i - 1, (Object *) uout->d); -+ *((Object *) uout->d) = ((Dict *) uin->d)->getVal(i - 1); - uout->atype = ALLOC_LEPDF; - uout->pc = uin->pc; - uout->pd = uin->pd; -@@ -1117,7 +1110,7 @@ - if (i > 0 && i <= len) { - uout = new_Object_userdata(L); - uout->d = new Object(); -- ((Dict *) uin->d)->getValNF(i - 1, (Object *) uout->d); -+ *((Object *) uout->d) = ((Dict *) uin->d)->getValNF(i - 1); - uout->atype = ALLOC_LEPDF; - uout->pc = uin->pc; - uout->pd = uin->pd; -@@ -1381,9 +1374,9 @@ - pdfdoc_changed_error(L); - luaL_checktype(L, 2, LUA_TBOOLEAN); - if (lua_toboolean(L, 2) != 0) -- ((Object *) uin->d)->initBool(gTrue); -+ *((Object *) uin->d) = Object(gTrue); - else -- ((Object *) uin->d)->initBool(gFalse); -+ *((Object *) uin->d) = Object(gFalse); - return 0; - } - -@@ -1395,7 +1388,7 @@ - if (uin->pd != NULL && uin->pd->pc != uin->pc) - pdfdoc_changed_error(L); - i = luaL_checkint(L, 2); -- ((Object *) uin->d)->initInt(i); -+ *((Object *) uin->d) = Object(i); - return 0; - } - -@@ -1407,7 +1400,7 @@ - if (uin->pd != NULL && uin->pd->pc != uin->pc) - pdfdoc_changed_error(L); - d = luaL_checknumber(L, 2); -- ((Object *) uin->d)->initReal(d); -+ *((Object *) uin->d) = Object(d); - return 0; - } - -@@ -1422,7 +1415,7 @@ - pdfdoc_changed_error(L); - s = luaL_checklstring(L, 2, &len); - gs = new GooString(s, len); -- ((Object *) uin->d)->initString(gs); -+ *((Object *) uin->d) = Object(gs); - return 0; - } - -@@ -1434,7 +1427,7 @@ - if (uin->pd != NULL && uin->pd->pc != uin->pc) - pdfdoc_changed_error(L); - s = luaL_checkstring(L, 2); -- ((Object *) uin->d)->initName(s); -+ *((Object *) uin->d) = Object(objName, s); - return 0; - } - -@@ -1444,13 +1437,14 @@ - uin = (udstruct *) luaL_checkudata(L, 1, M_Object); - if (uin->pd != NULL && uin->pd->pc != uin->pc) - pdfdoc_changed_error(L); -- ((Object *) uin->d)->initNull(); -+ *((Object *) uin->d) = Object(objNull); - return 0; - } - - static int m_Object_initArray(lua_State * L) - { - udstruct *uin, *uxref; -+ Array *a; - uin = (udstruct *) luaL_checkudata(L, 1, M_Object); - uxref = (udstruct *) luaL_checkudata(L, 2, M_XRef); - if (uin->pd != NULL && uxref->pd != NULL && uin->pd != uxref->pd) -@@ -1458,7 +1452,8 @@ - if ((uin->pd != NULL && uin->pd->pc != uin->pc) - || (uxref->pd != NULL && uxref->pd->pc != uxref->pc)) - pdfdoc_changed_error(L); -- ((Object *) uin->d)->initArray((XRef *) uxref->d); -+ a = new Array((XRef *) uxref->d); -+ *((Object *) uin->d) = Object(a); - return 0; - } - -@@ -1469,6 +1464,7 @@ - static int m_Object_initDict(lua_State * L) - { - udstruct *uin, *uxref; -+ Dict *d; - uin = (udstruct *) luaL_checkudata(L, 1, M_Object); - uxref = (udstruct *) luaL_checkudata(L, 2, M_XRef); - if (uin->pd != NULL && uxref->pd != NULL && uin->pd != uxref->pd) -@@ -1476,7 +1472,8 @@ - if ((uin->pd != NULL && uin->pd->pc != uin->pc) - || (uxref->pd != NULL && uxref->pd->pc != uxref->pc)) - pdfdoc_changed_error(L); -- ((Object *) uin->d)->initDict((XRef *) uxref->d); -+ d = new Dict((XRef *) uxref->d); -+ *((Object *) uin->d) = Object(d); - return 0; - } - -@@ -1490,7 +1487,7 @@ - if ((uin->pd != NULL && uin->pd->pc != uin->pc) - || (ustream->pd != NULL && ustream->pd->pc != ustream->pc)) - pdfdoc_changed_error(L); -- ((Object *) uin->d)->initStream((Stream *) ustream->d); -+ *((Object *) uin->d) = Object((Stream *) ustream->d); - return 0; - } - -@@ -1503,7 +1500,7 @@ - pdfdoc_changed_error(L); - num = luaL_checkint(L, 2); - gen = luaL_checkint(L, 3); -- ((Object *) uin->d)->initRef(num, gen); -+ *((Object *) uin->d) = Object(num, gen); - return 0; - } - -@@ -1515,7 +1512,7 @@ - if (uin->pd != NULL && uin->pd->pc != uin->pc) - pdfdoc_changed_error(L); - s = luaL_checkstring(L, 2); -- ((Object *) uin->d)->initCmd(CHARP_CAST s); -+ *((Object *) uin->d) = Object(objCmd, CHARP_CAST s); - return 0; - } - -@@ -1525,7 +1522,7 @@ - uin = (udstruct *) luaL_checkudata(L, 1, M_Object); - if (uin->pd != NULL && uin->pd->pc != uin->pc) - pdfdoc_changed_error(L); -- ((Object *) uin->d)->initError(); -+ *((Object *) uin->d) = Object(objError); - return 0; - } - -@@ -1535,7 +1532,7 @@ - uin = (udstruct *) luaL_checkudata(L, 1, M_Object); - if (uin->pd != NULL && uin->pd->pc != uin->pc) - pdfdoc_changed_error(L); -- ((Object *) uin->d)->initEOF(); -+ *((Object *) uin->d) = Object(objEOF); - return 0; - } - -@@ -1551,7 +1548,7 @@ - pdfdoc_changed_error(L); - uout = new_Object_userdata(L); - uout->d = new Object(); -- ((Object *) uin->d)->fetch((XRef *) uxref->d, (Object *) uout->d); -+ *((Object *) uout->d) = ((Object *) uin->d)->fetch((XRef *) uxref->d); - uout->atype = ALLOC_LEPDF; - uout->pc = uin->pc; - uout->pd = uin->pd; -@@ -1816,7 +1813,7 @@ - pdfdoc_changed_error(L); - if (!((Object *) uin->d)->isArray()) - luaL_error(L, "Object is not an Array"); -- ((Object *) uin->d)->arrayAdd((Object *) uobj->d); -+ ((Object *) uin->d)->arrayAdd(std::move(*((Object *) uobj->d))); - return 0; - } - -@@ -1833,7 +1830,7 @@ - if (i > 0 && i <= len) { - uout = new_Object_userdata(L); - uout->d = new Object(); -- ((Object *) uin->d)->arrayGet(i - 1, (Object *) uout->d); -+ *((Object *) uout->d) = ((Object *) uin->d)->arrayGet(i - 1); - uout->atype = ALLOC_LEPDF; - uout->pc = uin->pc; - uout->pd = uin->pd; -@@ -1857,7 +1854,7 @@ - if (i > 0 && i <= len) { - uout = new_Object_userdata(L); - uout->d = new Object(); -- ((Object *) uin->d)->arrayGetNF(i - 1, (Object *) uout->d); -+ *((Object *) uout->d) = ((Object *) uin->d)->arrayGetNF(i - 1); - uout->atype = ALLOC_LEPDF; - uout->pc = uin->pc; - uout->pd = uin->pd; -@@ -1897,7 +1894,7 @@ - pdfdoc_changed_error(L); - if (!((Object *) uin->d)->isDict()) - luaL_error(L, "Object is not a Dict"); -- ((Object *) uin->d)->dictAdd(copyString(s), (Object *) uobj->d); -+ ((Object *) uin->d)->dictAdd(copyString(s), std::move(*((Object *) uobj->d))); - return 0; - } - -@@ -1915,7 +1912,7 @@ - pdfdoc_changed_error(L); - if (!((Object *) uin->d)->isDict()) - luaL_error(L, "Object is not a Dict"); -- ((Object *) uin->d)->dictSet(s, (Object *) uobj->d); -+ ((Object *) uin->d)->dictSet(s, std::move(*((Object *) uobj->d))); - return 0; - } - -@@ -1930,7 +1927,7 @@ - if (((Object *) uin->d)->isDict()) { - uout = new_Object_userdata(L); - uout->d = new Object(); -- ((Object *) uin->d)->dictLookup(s, (Object *) uout->d); -+ *((Object *) uout->d) = ((Object *) uin->d)->dictLookup(s); - uout->atype = ALLOC_LEPDF; - uout->pc = uin->pc; - uout->pd = uin->pd; -@@ -1950,7 +1947,7 @@ - if (((Object *) uin->d)->isDict()) { - uout = new_Object_userdata(L); - uout->d = new Object(); -- ((Object *) uin->d)->dictLookupNF(s, (Object *) uout->d); -+ *((Object *) uout->d) = ((Object *) uin->d)->dictLookupNF(s); - uout->atype = ALLOC_LEPDF; - uout->pc = uin->pc; - uout->pd = uin->pd; -@@ -1991,7 +1988,7 @@ - if (i > 0 && i <= len) { - uout = new_Object_userdata(L); - uout->d = new Object(); -- ((Object *) uin->d)->dictGetVal(i - 1, (Object *) uout->d); -+ *((Object *) uout->d) = ((Object *) uin->d)->dictGetVal(i - 1); - uout->atype = ALLOC_LEPDF; - uout->pc = uin->pc; - uout->pd = uin->pd; -@@ -2015,7 +2012,7 @@ - if (i > 0 && i <= len) { - uout = new_Object_userdata(L); - uout->d = new Object(); -- ((Object *) uin->d)->dictGetValNF(i - 1, (Object *) uout->d); -+ *((Object *) uout->d) = ((Object *) uin->d)->dictGetValNF(i - 1); - uout->atype = ALLOC_LEPDF; - uout->pc = uin->pc; - uout->pd = uin->pd; -@@ -2243,7 +2240,7 @@ - m_poppler_get_poppler(Page, Dict, getPieceInfo); - m_poppler_get_poppler(Page, Dict, getSeparationInfo); - m_poppler_get_poppler(Page, Dict, getResourceDict); --m_poppler_get_OBJECT(Page, getAnnots); -+m_poppler_get_OBJECT(Page, getAnnotsObject); - - m_poppler_get_OBJECT(Page, getContents); - -@@ -2270,7 +2267,7 @@ - {"getPieceInfo", m_Page_getPieceInfo}, - {"getSeparationInfo", m_Page_getSeparationInfo}, - {"getResourceDict", m_Page_getResourceDict}, -- {"getAnnots", m_Page_getAnnots}, -+ {"getAnnots", m_Page_getAnnotsObject}, - {"getContents", m_Page_getContents}, - {"__tostring", m_Page__tostring}, - {NULL, NULL} // sentinel -@@ -2520,7 +2517,7 @@ - if (((PdfDocument *) uin->d)->doc->getXRef()->isOk()) { - uout = new_Object_userdata(L); - uout->d = new Object(); -- ((PdfDocument *) uin->d)->doc->getDocInfo((Object *) uout->d); -+ *((Object *) uout->d) = ((PdfDocument *) uin->d)->doc->getDocInfo(); - uout->atype = ALLOC_LEPDF; - uout->pc = uin->pc; - uout->pd = uin->pd; -@@ -2538,7 +2535,7 @@ - if (((PdfDocument *) uin->d)->doc->getXRef()->isOk()) { - uout = new_Object_userdata(L); - uout->d = new Object(); -- ((PdfDocument *) uin->d)->doc->getDocInfoNF((Object *) uout->d); -+ *((Object *) uout->d) = ((PdfDocument *) uin->d)->doc->getDocInfoNF(); - uout->atype = ALLOC_LEPDF; - uout->pc = uin->pc; - uout->pd = uin->pd; -@@ -2841,7 +2838,7 @@ - uout = new_Object_userdata(L); - uout->d = new Object(); - origin = (Object *) (((Attribute *) uin->d)->getValue()); -- origin->copy ( ((Object *)uout->d) ); -+ *((Object *) uout->d) = origin->copy(); - uout->atype = ALLOC_LEPDF; - uout->pc = uin->pc; - uout->pd = uin->pd; -@@ -3320,7 +3317,7 @@ - parent = root->findParentElement(i-1); - if (parent != NULL) { - uout = new_StructElement_userdata(L); -- uout->d = new StructElement( *parent ); -+ uout->d = (StructElement *) parent; - uout->atype = ALLOC_LEPDF; - uout->pc = uin->pc; - uout->pd = uin->pd; -@@ -3370,7 +3367,7 @@ - gen = luaL_checkint(L, 3); - uout = new_Object_userdata(L); - uout->d = new Object(); -- ((XRef *) uin->d)->fetch(num, gen, (Object *) uout->d); -+ *((Object *) uout->d) = ((XRef *) uin->d)->fetch(num, gen); - uout->atype = ALLOC_LEPDF; - uout->pc = uin->pc; - uout->pd = uin->pd; ---- texlive-base-20170520/source/texk/web2c/luatexdir/lua/lpdfscannerlib.cc.newpoppler 2017-05-08 22:39:36.692708395 +0200 -+++ texlive-base-20170520/source/texk/web2c/luatexdir/lua/lpdfscannerlib.cc 2017-09-19 09:48:19.658021769 +0200 -@@ -634,7 +634,7 @@ - int i; - for (i=0;iget(i, val); -+ *val = arrayref->get(i); - if (val->isStream()) { - ObjectList *rover = self->_streams; - ObjectList *item = (ObjectList *)priv_xmalloc (sizeof(ObjectList)); diff --git a/texlive-20170520-texinfo-path-fix.patch b/texlive-20170520-texinfo-path-fix.patch deleted file mode 100644 index fc1bbd8..0000000 --- a/texlive-20170520-texinfo-path-fix.patch +++ /dev/null @@ -1,22 +0,0 @@ -diff -up texlive-base-20170520/source/texk/kpathsea/texmf.cnf.texinfo-fix texlive-base-20170520/source/texk/kpathsea/texmf.cnf ---- texlive-base-20170520/source/texk/kpathsea/texmf.cnf.texinfo-fix 2018-02-04 05:06:07.907542229 -0500 -+++ texlive-base-20170520/source/texk/kpathsea/texmf.cnf 2018-02-04 05:06:15.813363518 -0500 -@@ -78,6 +78,9 @@ TEXMFSYSCONFIG = $TEXMFROOT/texmf-config - % to %USERPROFILE% on Windows, $HOME otherwise. - TEXMFHOME = ~/texmf - -+% Texinfo on Fedora lives out of $TEXMFROOT -+TEXINFOHOME = $SELFAUTODIR/share/texmf -+ - % TEXMFVAR, where texconfig/updmap/fmtutil store cached runtime data. - TEXMFVAR = ~/.texlive2017/texmf-var - -@@ -103,7 +106,7 @@ TEXMFAUXTREES = {} - % The odd-looking $TEXMFAUXTREES$TEXMF... construct is so that if no auxtree is - % ever defined (the 99% common case), no extra elements will be added to - % the search paths. tlmgr takes care to end any value with a trailing comma. --TEXMF = {$TEXMFAUXTREES$TEXMFCONFIG,$TEXMFVAR,$TEXMFHOME,!!$TEXMFLOCAL,!!$TEXMFSYSCONFIG,!!$TEXMFSYSVAR,!!$TEXMFDIST} -+TEXMF = {$TEXMFAUXTREES$TEXMFCONFIG,$TEXMFVAR,$TEXMFHOME,$TEXINFOHOME,!!$TEXMFLOCAL,!!$TEXMFSYSCONFIG,!!$TEXMFSYSVAR,!!$TEXMFDIST} - - % Where to look for ls-R files. There need not be an ls-R in the - % directories in this path, but if there is one, Kpathsea will use it. diff --git a/texlive-20180215-disable-more-failing-tests.patch b/texlive-20180215-disable-more-failing-tests.patch deleted file mode 100644 index 06bc7b2..0000000 --- a/texlive-20180215-disable-more-failing-tests.patch +++ /dev/null @@ -1,117 +0,0 @@ -diff -up ./source/libs/xpdf/xpdf-src/misc/xpdf.dt ./source/libs/xpdf/xpdf-src/misc/xpdf -diff -up ./source/texk/web2c/am/texmf.am.dt ./source/texk/web2c/am/texmf.am ---- ./source/texk/web2c/am/texmf.am.dt 2018-02-15 10:07:08.302267160 +0100 -+++ ./source/texk/web2c/am/texmf.am 2018-02-15 10:07:16.703189440 +0100 -@@ -73,7 +73,7 @@ DISTCLEANFILES += $(nodist_tex_SOURCES) - - # TeX tests - # --tex_tests = triptest.test tests/write18-quote-test.pl -+tex_tests = tests/write18-quote-test.pl - triptest.log: tex$(EXEEXT) dvitype$(EXEEXT) pltotf$(EXEEXT) tftopl$(EXEEXT) - tests/write18-quote-test.log: tex$(EXEEXT) - EXTRA_DIST += $(tex_tests) -@@ -201,7 +201,7 @@ DISTCLEANFILES += $(nodist_libmf_a_SOURC - - # Metafont tests - # --mf_tests = mftraptest.test -+mf_tests = - mftraptest.log: mf$(EXEEXT) gftype$(EXEEXT) tftopl$(EXEEXT) - EXTRA_DIST += $(mf_tests) - if MF -diff -up ./source/texk/web2c/eptexdir/am/eptex.am.dt ./source/texk/web2c/eptexdir/am/eptex.am ---- ./source/texk/web2c/eptexdir/am/eptex.am.dt 2018-02-15 10:05:27.165202818 +0100 -+++ ./source/texk/web2c/eptexdir/am/eptex.am 2018-02-15 10:05:30.931167978 +0100 -@@ -81,7 +81,7 @@ EXTRA_DIST += \ - - # e-pTeX Tests - # --eptex_tests = eptexdir/eptriptest.test eptexdir/pdfprimitive.test -+eptex_tests = - eptexdir/eptriptest.log: eptex$(EXEEXT) dvitype$(EXEEXT) pltotf$(EXEEXT) tftopl$(EXEEXT) - eptexdir/pdfprimitive.log: eptex$(EXEEXT) - -diff -up ./source/texk/web2c/euptexdir/am/euptex.am.dt ./source/texk/web2c/euptexdir/am/euptex.am ---- ./source/texk/web2c/euptexdir/am/euptex.am.dt 2018-02-15 10:05:50.468987226 +0100 -+++ ./source/texk/web2c/euptexdir/am/euptex.am 2018-02-15 10:05:52.884964874 +0100 -@@ -82,7 +82,7 @@ EXTRA_DIST += \ - - # e-upTeX Tests - # --euptex_tests = euptexdir/euptriptest.test euptexdir/pdfprimitive.test -+euptex_tests = - euptexdir/euptriptest.log: euptex$(EXEEXT) dvitype$(EXEEXT) pltotf$(EXEEXT) tftopl$(EXEEXT) - euptexdir/pdfprimitive.log: euptex$(EXEEXT) - -diff -up ./source/texk/web2c/mfluadir/am/mflua.am.dt ./source/texk/web2c/mfluadir/am/mflua.am ---- ./source/texk/web2c/mfluadir/am/mflua.am.dt 2018-02-15 10:06:02.271878033 +0100 -+++ ./source/texk/web2c/mfluadir/am/mflua.am 2018-02-15 10:06:05.055852277 +0100 -@@ -110,7 +110,7 @@ EXTRA_DIST += \ - - # MFLua tests - # --mflua_tests = mfluadir/mfluatraptest.test -+mflua_tests = - mfluadir/mfluatraptest.log: mflua$(EXEEXT) gftype$(EXEEXT) tftopl$(EXEEXT) - EXTRA_DIST += $(mflua_tests) - -diff -up ./source/texk/web2c/mfluajitdir/am/mfluajit.am.dt ./source/texk/web2c/mfluajitdir/am/mfluajit.am ---- ./source/texk/web2c/mfluajitdir/am/mfluajit.am.dt 2018-02-15 10:05:39.915084864 +0100 -+++ ./source/texk/web2c/mfluajitdir/am/mfluajit.am 2018-02-15 10:05:42.588060135 +0100 -@@ -106,7 +106,7 @@ EXTRA_DIST += \ - - # MFLuaJIT tests - # --mfluajit_tests = mfluajitdir/mfluajittraptest.test -+mfluajit_tests = - mfluajitdir/mfluajittraptest.log: mfluajit$(EXEEXT) gftype$(EXEEXT) tftopl$(EXEEXT) - EXTRA_DIST += $(mfluajit_tests) - -diff -up ./source/texk/web2c/pdftexdir/am/pdftex.am.dt ./source/texk/web2c/pdftexdir/am/pdftex.am ---- ./source/texk/web2c/pdftexdir/am/pdftex.am.dt 2018-02-15 10:06:15.873752196 +0100 -+++ ./source/texk/web2c/pdftexdir/am/pdftex.am 2018-02-15 10:06:20.268711537 +0100 -@@ -86,7 +86,7 @@ EXTRA_DIST += \ - - # pdfTeX Tests - # --pdftex_tests = pdftexdir/wprob.test pdftexdir/pdftex.test pdftexdir/pdfimage.test -+pdftex_tests = pdftexdir/pdftex.test - pdftexdir/wprob.log pdftexdir/pdftex.log pdftexdir/pdfimage.log: pdftex$(EXEEXT) - - EXTRA_DIST += $(pdftex_tests) -diff -up ./source/texk/web2c/ptexdir/am/ptex.am.dt ./source/texk/web2c/ptexdir/am/ptex.am ---- ./source/texk/web2c/ptexdir/am/ptex.am.dt 2018-02-15 10:06:35.612569585 +0100 -+++ ./source/texk/web2c/ptexdir/am/ptex.am 2018-02-15 10:06:40.374525531 +0100 -@@ -166,7 +166,7 @@ EXTRA_DIST += \ - - # pTeX Tests - # --ptex_tests = ptexdir/ptriptest.test -+ptex_tests = - ptexdir/ptriptest.log: ptex$(EXEEXT) dvitype$(EXEEXT) pltotf$(EXEEXT) tftopl$(EXEEXT) - pweb_tests = \ - ptexdir/pbibtex.test \ -diff -up ./source/texk/web2c/uptexdir/am/uptex.am.dt ./source/texk/web2c/uptexdir/am/uptex.am ---- ./source/texk/web2c/uptexdir/am/uptex.am.dt 2018-02-15 10:06:47.072463565 +0100 -+++ ./source/texk/web2c/uptexdir/am/uptex.am 2018-02-15 10:06:49.552440622 +0100 -@@ -156,7 +156,7 @@ EXTRA_DIST += \ - uptexdir/ChangeLog - - # upTeX Tests --uptex_tests = uptexdir/uptriptest.test -+uptex_tests = - uptexdir/uptriptest.log: uptex$(EXEEXT) dvitype$(EXEEXT) pltotf$(EXEEXT) tftopl$(EXEEXT) - upweb_tests = \ - uptexdir/upbibtex.test \ -diff -up ./source/texk/web2c/xetexdir/am/xetex.am.dt ./source/texk/web2c/xetexdir/am/xetex.am ---- ./source/texk/web2c/xetexdir/am/xetex.am.dt 2018-02-15 10:06:56.190379212 +0100 -+++ ./source/texk/web2c/xetexdir/am/xetex.am 2018-02-15 10:06:57.898363410 +0100 -@@ -198,7 +198,6 @@ EXTRA_DIST += \ - # XeTeX Tests - # - xetex_tests = \ -- xetexdir/xetex-bug73.test \ - xetexdir/xetex.test - xetexdir/xetex-bug73.log xetexdir/xetex.log: xetex$(EXEEXT) - diff --git a/texlive-20180414-annocheck.patch b/texlive-20180414-annocheck.patch deleted file mode 100644 index 7804a29..0000000 --- a/texlive-20180414-annocheck.patch +++ /dev/null @@ -1,11 +0,0 @@ ---- texlive-20180414/source/libs/luajit/Makefile.in.annocheck 2018-01-10 01:37:05.000000000 +0100 -+++ texlive-20180414/source/libs/luajit/Makefile.in 2019-01-11 22:45:34.503080977 +0100 -@@ -680,7 +680,7 @@ - NEVER_NAMES_LT = -o -name .libs -o -name '*.lo' - AM_CPPFLAGS = -I$(srcdir)/$(LUAJIT_TREE)/src $(LUAJIT_DEFINES) -U_FORTIFY_SOURCE - AM_CFLAGS = $(LUAJIT_CFLAGS) $(LUAJIT_HAS_NOT_LOG2) -Wall --AM_CCASFLAGS = $(LUAJIT_CFLAGS) $(LUAJIT_HAS_NOT_LOG2) -+AM_CCASFLAGS = $(LUAJIT_CFLAGS) $(LUAJIT_HAS_NOT_LOG2) -Wa,--generate-missing-build-notes=yes - SUBDIRS = . native include - lib_LTLIBRARIES = libtexluajit.la - libtexluajit_la_LDFLAGS = -bindir @bindir@ -no-undefined -version-info $(LUAJIT_LT_VERSINFO) $(LIBLUAJIT_LDEXTRA) diff --git a/texlive-20180414-new-poppler.patch b/texlive-20180414-new-poppler.patch deleted file mode 100644 index 6eb2fb7..0000000 --- a/texlive-20180414-new-poppler.patch +++ /dev/null @@ -1,641 +0,0 @@ -diff -up texlive-base-20180414/source/texk/web2c/pdftexdir/pdftoepdf.cc.newpoppler texlive-base-20180414/source/texk/web2c/pdftexdir/pdftoepdf.cc ---- texlive-base-20180414/source/texk/web2c/pdftexdir/pdftoepdf.cc.newpoppler 2016-11-25 13:24:37.000000000 -0500 -+++ texlive-base-20180414/source/texk/web2c/pdftexdir/pdftoepdf.cc 2018-04-30 13:26:10.442342831 -0400 -@@ -1,5 +1,5 @@ - /* --Copyright 1996-2016 Han The Thanh, -+Copyright 1996-2017 Han The Thanh, - - This file is part of pdfTeX. - -@@ -17,6 +17,15 @@ You should have received a copy of the G - with this program. If not, see . - */ - -+/* -+This is based on the patch texlive-poppler-0.59.patch <2017-09-19> at -+https://git.archlinux.org/svntogit/packages.git/plain/texlive-bin/trunk -+by Arch Linux. A little modifications are made to avoid a crash for -+some kind of pdf images, such as figure_missing.pdf in gnuplot. -+The poppler should be 0.59.0 or newer versions. -+POPPLER_VERSION should be defined. -+*/ -+ - /* Do this early in order to avoid a conflict between - MINGW32 defining 'boolean' as 'unsigned char' and - defining Pascal's boolean as 'int'. -@@ -39,10 +48,7 @@ with this program. If not, see - #define GString GooString - #else --#include --#include --#include --#include -+#error POPPLER_VERSION should be defined. - #endif - #include - -@@ -84,31 +90,6 @@ extern integer zround(double); - #define MASK_SUPPRESS_PTEX_PAGENUMBER 0x04 - #define MASK_SUPPRESS_PTEX_INFODICT 0x08 - --// PdfObject encapsulates the xpdf Object type, --// and properly frees its resources on destruction. --// Use obj-> to access members of the Object, --// and &obj to get a pointer to the object. --// It is no longer necessary to call Object::free explicitely. -- --class PdfObject { -- public: -- PdfObject() { // nothing -- } ~PdfObject() { -- iObject.free(); -- } -- Object *operator->() { -- return &iObject; -- } -- Object *operator&() { -- return &iObject; -- } -- private: // no copying or assigning -- PdfObject(const PdfObject &); -- void operator=(const PdfObject &); -- public: -- Object iObject; --}; -- - // When copying the Resources of the selected page, all objects are copied - // recusively top-down. Indirect objects however are not fetched during - // copying, but get a new object number from pdfTeX and then will be -@@ -212,18 +193,6 @@ static void delete_document(PdfDocument - delete pdf_doc; - } - --// Replacement for --// Object *initDict(Dict *dict1){ initObj(objDict); dict = dict1; return this; } -- --static void initDictFromDict(PdfObject & obj, Dict * dict) --{ -- obj->initDict(xref); -- for (int i = 0, l = dict->getLength(); i < l; i++) { -- Object obj1; -- obj->dictAdd(copyString(dict->getKey(i)), dict->getValNF(i, &obj1)); -- } --} -- - // -------------------------------------------------------------------- - - static int addEncoding(GfxFont * gfont) -@@ -320,10 +289,10 @@ static void copyName(char *s) - - static void copyDictEntry(Object * obj, int i) - { -- PdfObject obj1; -+ Object obj1; - copyName(obj->dictGetKey(i)); - pdf_puts(" "); -- obj->dictGetValNF(i, &obj1); -+ obj1 = obj->dictGetValNF(i); - copyObject(&obj1); - pdf_puts("\n"); - } -@@ -376,17 +345,17 @@ static void copyStream(Stream * str) - static void copyProcSet(Object * obj) - { - int i, l; -- PdfObject procset; -+ Object procset; - if (!obj->isArray()) - pdftex_fail("PDF inclusion: invalid ProcSet array type <%s>", - obj->getTypeName()); - pdf_puts("/ProcSet [ "); - for (i = 0, l = obj->arrayGetLength(); i < l; ++i) { -- obj->arrayGetNF(i, &procset); -- if (!procset->isName()) -+ procset = obj->arrayGetNF(i); -+ if (!procset.isName()) - pdftex_fail("PDF inclusion: invalid ProcSet entry type <%s>", -- procset->getTypeName()); -- copyName(procset->getName()); -+ procset.getTypeName()); -+ copyName(procset.getName()); - pdf_puts(" "); - } - pdf_puts("]\n"); -@@ -394,10 +363,29 @@ static void copyProcSet(Object * obj) - - #define REPLACE_TYPE1C true - -+static bool embeddableFont(Object * fontdesc) -+{ -+ Object fontfile, ffsubtype; -+ -+ if (!fontdesc->isDict()) -+ return false; -+ fontfile = fontdesc->dictLookup("FontFile"); -+ if (fontfile.isStream()) -+ return true; -+ if (REPLACE_TYPE1C) { -+ fontfile = fontdesc->dictLookup("FontFile3"); -+ if (!fontfile.isStream()) -+ return false; -+ ffsubtype = fontfile.streamGetDict()->lookup("Subtype"); -+ return ffsubtype.isName() && !strcmp(ffsubtype.getName(), "Type1C"); -+ } -+ return false; -+} -+ - static void copyFont(char *tag, Object * fontRef) - { -- PdfObject fontdict, subtype, basefont, fontdescRef, fontdesc, charset, -- fontfile, ffsubtype, stemV; -+ Object fontdict, subtype, basefont, fontdescRef, fontdesc, charset, -+ stemV; - GfxFont *gfont; - fd_entry *fd; - fm_entry *fontmap; -@@ -413,33 +401,39 @@ static void copyFont(char *tag, Object * - } - // Only handle included Type1 (and Type1C) fonts; anything else will be copied. - // Type1C fonts are replaced by Type1 fonts, if REPLACE_TYPE1C is true. -- if (!fixedinclusioncopyfont && fontRef->fetch(xref, &fontdict)->isDict() -- && fontdict->dictLookup("Subtype", &subtype)->isName() -- && !strcmp(subtype->getName(), "Type1") -- && fontdict->dictLookup("BaseFont", &basefont)->isName() -- && fontdict->dictLookupNF("FontDescriptor", &fontdescRef)->isRef() -- && fontdescRef->fetch(xref, &fontdesc)->isDict() -- && (fontdesc->dictLookup("FontFile", &fontfile)->isStream() -- || (REPLACE_TYPE1C -- && fontdesc->dictLookup("FontFile3", &fontfile)->isStream() -- && fontfile->streamGetDict()->lookup("Subtype", -- &ffsubtype)->isName() -- && !strcmp(ffsubtype->getName(), "Type1C"))) -- && (fontmap = lookup_fontmap(basefont->getName())) != NULL) { -+ fontdict = fontRef->fetch(xref); -+ fontdesc = Object(objNull); -+ if (fontdict.isDict()) { -+ subtype = fontdict.dictLookup("Subtype"); -+ basefont = fontdict.dictLookup("BaseFont"); -+ fontdescRef = fontdict.dictLookupNF("FontDescriptor"); -+ if (fontdescRef.isRef()) { -+ fontdesc = fontdescRef.fetch(xref); -+ } -+ } -+ if (!fixedinclusioncopyfont && fontdict.isDict() -+ && subtype.isName() -+ && !strcmp(subtype.getName(), "Type1") -+ && basefont.isName() -+ && fontdescRef.isRef() -+ && fontdesc.isDict() -+ && embeddableFont(&fontdesc) -+ && (fontmap = lookup_fontmap(basefont.getName())) != NULL) { - // round /StemV value, since the PDF input is a float - // (see Font Descriptors in PDF reference), but we only store an - // integer, since we don't want to change the struct. -- fontdesc->dictLookup("StemV", &stemV); -- fd = epdf_create_fontdescriptor(fontmap, zround(stemV->getNum())); -- if (fontdesc->dictLookup("CharSet", &charset) && -- charset->isString() && is_subsetable(fontmap)) -- epdf_mark_glyphs(fd, charset->getString()->getCString()); -+ stemV = fontdesc.dictLookup("StemV"); -+ fd = epdf_create_fontdescriptor(fontmap, zround(stemV.getNum())); -+ charset = fontdesc.dictLookup("CharSet"); -+ if (!charset.isNull() && -+ charset.isString() && is_subsetable(fontmap)) -+ epdf_mark_glyphs(fd, charset.getString()->getCString()); - else - embed_whole_font(fd); -- addFontDesc(fontdescRef->getRef(), fd); -+ addFontDesc(fontdescRef.getRef(), fd); - copyName(tag); - gfont = GfxFont::makeFont(xref, tag, fontRef->getRef(), -- fontdict->getDict()); -+ fontdict.getDict()); - pdf_printf(" %d 0 R ", addFont(fontRef->getRef(), fd, - addEncoding(gfont))); - } else { -@@ -451,24 +445,24 @@ static void copyFont(char *tag, Object * - - static void copyFontResources(Object * obj) - { -- PdfObject fontRef; -+ Object fontRef; - int i, l; - if (!obj->isDict()) - pdftex_fail("PDF inclusion: invalid font resources dict type <%s>", - obj->getTypeName()); - pdf_puts("/Font << "); - for (i = 0, l = obj->dictGetLength(); i < l; ++i) { -- obj->dictGetValNF(i, &fontRef); -- if (fontRef->isRef()) -+ fontRef = obj->dictGetValNF(i); -+ if (fontRef.isRef()) - copyFont(obj->dictGetKey(i), &fontRef); -- else if (fontRef->isDict()) { // some programs generate pdf with embedded font object -+ else if (fontRef.isDict()) { // some programs generate pdf with embedded font object - copyName(obj->dictGetKey(i)); - pdf_puts(" "); - copyObject(&fontRef); - } - else - pdftex_fail("PDF inclusion: invalid font in reference type <%s>", -- fontRef->getTypeName()); -+ fontRef.getTypeName()); - } - pdf_puts(">>\n"); - } -@@ -557,7 +551,7 @@ static char *convertNumToPDF(double n) - - static void copyObject(Object * obj) - { -- PdfObject obj1; -+ Object obj1; - int i, l, c; - Ref ref; - char *p; -@@ -601,8 +595,8 @@ static void copyObject(Object * obj) - } else if (obj->isArray()) { - pdf_puts("["); - for (i = 0, l = obj->arrayGetLength(); i < l; ++i) { -- obj->arrayGetNF(i, &obj1); -- if (!obj1->isName()) -+ obj1 = obj->arrayGetNF(i); -+ if (!obj1.isName()) - pdf_puts(" "); - copyObject(&obj1); - } -@@ -612,9 +606,8 @@ static void copyObject(Object * obj) - copyDict(obj); - pdf_puts(">>"); - } else if (obj->isStream()) { -- initDictFromDict(obj1, obj->streamGetDict()); - pdf_puts("<<\n"); -- copyDict(&obj1); -+ copyDict(obj->getStream()->getDictObject()); - pdf_puts(">>\n"); - pdf_puts("stream\n"); - copyStream(obj->getStream()->getUndecodedStream()); -@@ -638,9 +631,8 @@ static void writeRefs() - InObj *r; - for (r = inObjList; r != 0; r = r->next) { - if (!r->written) { -- Object obj1; - r->written = 1; -- xref->fetch(r->ref.num, r->ref.gen, &obj1); -+ Object obj1 = xref->fetch(r->ref.num, r->ref.gen); - if (r->type == objFont) { - assert(!obj1.isStream()); - pdfbeginobj(r->num, 2); // \pdfobjcompresslevel = 2 is for this -@@ -656,7 +648,6 @@ static void writeRefs() - pdf_puts("\n"); - pdfendobj(); - } -- obj1.free(); - } - } - } -@@ -685,7 +676,7 @@ static void writeEncodings() - #ifdef POPPLER_VERSION - r->font->decRefCnt(); - #else -- delete r->font; -+#error POPPLER_VERSION should be defined. - #endif - delete r; - } -@@ -728,7 +719,7 @@ read_pdf_info(char *image_name, char *pa - #ifdef POPPLER_VERSION - int pdf_major_version_found, pdf_minor_version_found; - #else -- float pdf_version_found, pdf_version_wanted; -+#error POPPLER_VERSION should be defined. - #endif - // initialize - if (!isInit) { -@@ -760,19 +751,7 @@ read_pdf_info(char *image_name, char *pa - } - } - #else -- pdf_version_found = pdf_doc->doc->getPDFVersion(); -- pdf_version_wanted = 1 + (minor_pdf_version_wanted * 0.1); -- if (pdf_version_found > pdf_version_wanted + 0.01) { -- char msg[] = -- "PDF inclusion: found PDF version <%.1f>, but at most version <%.1f> allowed"; -- if (pdf_inclusion_errorlevel > 0) { -- pdftex_fail(msg, pdf_version_found, pdf_version_wanted); -- } else if (pdf_inclusion_errorlevel < 0) { -- ; /* do nothing */ -- } else { /* = 0, give warning */ -- pdftex_warn(msg, pdf_version_found, pdf_version_wanted); -- } -- } -+#error POPPLER_VERSION should be defined. - #endif - epdf_num_pages = pdf_doc->doc->getCatalog()->getNumPages(); - if (page_name) { -@@ -839,8 +818,8 @@ void write_epdf(void) - Page *page; - Ref *pageRef; - Dict *pageDict; -- PdfObject contents, obj1, obj2, pageObj, dictObj; -- PdfObject groupDict; -+ Object contents, obj1, obj2, pageObj, dictObj; -+ Object groupDict; - bool writeSepGroup = false; - Object info; - char *key; -@@ -867,8 +846,8 @@ void write_epdf(void) - encodingList = 0; - page = pdf_doc->doc->getCatalog()->getPage(epdf_selected_page); - pageRef = pdf_doc->doc->getCatalog()->getPageRef(epdf_selected_page); -- xref->fetch(pageRef->num, pageRef->gen, &pageObj); -- pageDict = pageObj->getDict(); -+ pageObj = xref->fetch(pageRef->num, pageRef->gen); -+ pageDict = pageObj.getDict(); - rotate = page->getRotate(); - PDFRectangle *pagebox; - // write the Page header -@@ -886,7 +865,7 @@ void write_epdf(void) - pdf_printf("/%s.PageNumber %i\n", pdfkeyprefix, (int) epdf_selected_page); - } - if ((suppress_ptex_info & MASK_SUPPRESS_PTEX_INFODICT) == 0) { -- pdf_doc->doc->getDocInfoNF(&info); -+ info = pdf_doc->doc->getDocInfoNF(); - if (info.isRef()) { - // the info dict must be indirect (PDF Ref p. 61) - pdf_printf("/%s.InfoDict ", pdfkeyprefix); -@@ -942,14 +921,14 @@ void write_epdf(void) - pdf_puts(stripzeros(s)); - - // Metadata validity check (as a stream it must be indirect) -- pageDict->lookupNF("Metadata", &dictObj); -- if (!dictObj->isNull() && !dictObj->isRef()) -+ dictObj = pageDict->lookupNF("Metadata"); -+ if (!dictObj.isNull() && !dictObj.isRef()) - pdftex_warn("PDF inclusion: /Metadata must be indirect object"); - - // copy selected items in Page dictionary except Resources & Group - for (i = 0; pageDictKeys[i] != NULL; i++) { -- pageDict->lookupNF(pageDictKeys[i], &dictObj); -- if (!dictObj->isNull()) { -+ dictObj = pageDict->lookupNF(pageDictKeys[i]); -+ if (!dictObj.isNull()) { - pdf_newline(); - pdf_printf("/%s ", pageDictKeys[i]); - copyObject(&dictObj); // preserves indirection -@@ -957,8 +936,8 @@ void write_epdf(void) - } - - // handle page group -- pageDict->lookupNF("Group", &dictObj); -- if (!dictObj->isNull()) { -+ dictObj = pageDict->lookupNF("Group"); -+ if (!dictObj.isNull()) { - if (pdfpagegroupval == 0) { - // another pdf with page group was included earlier on the - // same page; copy the Group entry as is. See manual for -@@ -972,11 +951,36 @@ void write_epdf(void) - copyObject(&dictObj); - } else { - // write Group dict as a separate object, since the Page dict also refers to it -- pageDict->lookup("Group", &dictObj); -- if (!dictObj->isDict()) -+ dictObj = pageDict->lookup("Group"); -+ if (!dictObj.isDict()) - pdftex_fail("PDF inclusion: /Group dict missing"); - writeSepGroup = true; -- initDictFromDict(groupDict, page->getGroup()); -+/* -+This part is only a single line -+ groupDict = Object(page->getGroup()); -+in the original patch. In this case, however, pdftex crashes at -+"delete pdf_doc->doc" in "delete_document()" for inclusion of some -+kind of pdf images, for example, figure_missing.pdf in gnuplot. -+A change -+ groupDict = Object(page->getGroup()).copy(); -+does not improve the situation. -+The changes below seem to work fine. -+*/ -+// begin modification -+ groupDict = pageDict->lookup("Group"); -+ const Dict& dic1 = page->getGroup(); -+ const Dict& dic2 = groupDict.getDict(); -+ // replace dic2 in groupDict with dic1 -+ l = dic2.getLength(); -+ for (i = 0; i < l; i++) { -+ groupDict.dictRemove(dic2.getKey(i)); -+ } -+ l = dic1.getLength(); -+ for (i = 0; i < l; i++) { -+ groupDict.dictAdd(copyString(dic1.getKey(i)), -+ dic1.getValNF(i)); -+ } -+// end modification - pdf_printf("/Group %ld 0 R\n", (long)pdfpagegroupval); - } - } -@@ -989,14 +993,14 @@ void write_epdf(void) - pdftex_warn - ("PDF inclusion: /Resources missing. 'This practice is not recommended' (PDF Ref)"); - } else { -- initDictFromDict(obj1, page->getResourceDict()); -+ Object *obj1 = page->getResourceDictObject(); - if (!obj1->isDict()) - pdftex_fail("PDF inclusion: invalid resources dict type <%s>", - obj1->getTypeName()); - pdf_newline(); - pdf_puts("/Resources <<\n"); - for (i = 0, l = obj1->dictGetLength(); i < l; ++i) { -- obj1->dictGetVal(i, &obj2); -+ obj2 = obj1->dictGetVal(i); - key = obj1->dictGetKey(i); - if (strcmp("Font", key) == 0) - copyFontResources(&obj2); -@@ -1009,8 +1013,8 @@ void write_epdf(void) - } - - // write the page contents -- page->getContents(&contents); -- if (contents->isStream()) { -+ contents = page->getContents(); -+ if (contents.isStream()) { - - // Variant A: get stream and recompress under control - // of \pdfcompresslevel -@@ -1021,36 +1025,35 @@ void write_epdf(void) - - // Variant B: copy stream without recompressing - // -- contents->streamGetDict()->lookup("F", &obj1); -- if (!obj1->isNull()) { -+ obj1 = contents.streamGetDict()->lookup("F"); -+ if (!obj1.isNull()) { - pdftex_fail("PDF inclusion: Unsupported external stream"); - } -- contents->streamGetDict()->lookup("Length", &obj1); -- assert(!obj1->isNull()); -+ obj1 = contents.streamGetDict()->lookup("Length"); -+ assert(!obj1.isNull()); - pdf_puts("/Length "); - copyObject(&obj1); - pdf_puts("\n"); -- contents->streamGetDict()->lookup("Filter", &obj1); -- if (!obj1->isNull()) { -+ obj1 = contents.streamGetDict()->lookup("Filter"); -+ if (!obj1.isNull()) { - pdf_puts("/Filter "); - copyObject(&obj1); - pdf_puts("\n"); -- contents->streamGetDict()->lookup("DecodeParms", &obj1); -- if (!obj1->isNull()) { -+ obj1 = contents.streamGetDict()->lookup("DecodeParms"); -+ if (!obj1.isNull()) { - pdf_puts("/DecodeParms "); - copyObject(&obj1); - pdf_puts("\n"); - } - } - pdf_puts(">>\nstream\n"); -- copyStream(contents->getStream()->getUndecodedStream()); -+ copyStream(contents.getStream()->getUndecodedStream()); - pdfendstream(); -- } else if (contents->isArray()) { -+ } else if (contents.isArray()) { - pdfbeginstream(); -- for (i = 0, l = contents->arrayGetLength(); i < l; ++i) { -- Object contentsobj; -- copyStream((contents->arrayGet(i, &contentsobj))->getStream()); -- contentsobj.free(); -+ for (i = 0, l = contents.arrayGetLength(); i < l; ++i) { -+ Object contentsobj = contents.arrayGet(i); -+ copyStream(contentsobj.getStream()); - if (i < l - 1) - pdf_newline(); // add a newline after each stream except the last - } -diff -up texlive-base-20180414/source/texk/web2c/pdftexdir/pdftosrc.cc.newpoppler texlive-base-20180414/source/texk/web2c/pdftexdir/pdftosrc.cc ---- texlive-base-20180414/source/texk/web2c/pdftexdir/pdftosrc.cc.newpoppler 2018-04-30 13:32:27.005472583 -0400 -+++ texlive-base-20180414/source/texk/web2c/pdftexdir/pdftosrc.cc 2018-04-30 13:38:12.805326988 -0400 -@@ -16,6 +16,14 @@ GNU General Public License for more deta - You should have received a copy of the GNU General Public License along - with this program. If not, see . - */ -+ -+/* -+This is based on the patch texlive-poppler-0.59.patch <2017-09-19> at -+https://git.archlinux.org/svntogit/packages.git/plain/texlive-bin/trunk -+by Arch Linux. The poppler should be 0.59.0 or newer versions. -+POPPLER_VERSION should be defined. -+*/ -+ - #include - - #include -@@ -32,10 +40,7 @@ with this program. If not, see - #include - #else --#include --#include --#include --#include -+#error POPPLER_VERSION should be defined. - #endif - #include - -@@ -86,22 +91,20 @@ int main(int argc, char *argv[]) - objgen = atoi(argv[3]); - } - xref = doc->getXRef(); -- catalogDict.initNull(); -- xref->getCatalog(&catalogDict); -+ catalogDict = xref->getCatalog(); - if (!catalogDict.isDict("Catalog")) { - fprintf(stderr, "No Catalog found\n"); - exit(1); - } -- srcStream.initNull(); -+ srcStream = Object(objNull); - if (objnum == 0) { -- catalogDict.dictLookup("SourceObject", &srcStream); -+ srcStream = catalogDict.dictLookup("SourceObject"); - static char const_SourceFile[] = "SourceFile"; - if (!srcStream.isStream(const_SourceFile)) { - fprintf(stderr, "No SourceObject found\n"); - exit(1); - } -- srcName.initNull(); -- srcStream.getStream()->getDict()->lookup("SourceName", &srcName); -+ srcName = srcStream.getStream()->getDict()->lookup("SourceName"); - if (!srcName.isString()) { - fprintf(stderr, "No SourceName found\n"); - exit(1); -@@ -110,7 +113,7 @@ int main(int argc, char *argv[]) - // We cannot free srcName, as objname shares its string. - // srcName.free(); - } else if (objnum > 0) { -- xref->fetch(objnum, objgen, &srcStream); -+ srcStream = xref->fetch(objnum, objgen); - if (!srcStream.isStream()) { - fprintf(stderr, "Not a Stream object\n"); - exit(1); -@@ -160,26 +163,24 @@ int main(int argc, char *argv[]) - int localOffset = 0; - Guint firstOffset; - -- assert(xref->fetch(e->offset, 0, &objStr)->isStream()); -- nObjects = objStr.streamGetDict()->lookup("N", &obj1)->getInt(); -- obj1.free(); -- first = objStr.streamGetDict()->lookup("First", &obj1)->getInt(); -- obj1.free(); -+ objStr = xref->fetch(e->offset, 0); -+ assert(objStr.isStream()); -+ obj1 = objStr.streamGetDict()->lookup("N"); -+ nObjects = obj1.getInt(); -+ obj1 = objStr.streamGetDict()->lookup("First"); -+ first = obj1.getInt(); - firstOffset = objStr.getStream()->getBaseStream()->getStart() + first; - - // parse the header: object numbers and offsets - objStr.streamReset(); -- obj1.initNull(); -- str = new EmbedStream(objStr.getStream(), &obj1, gTrue, first); -+ str = new EmbedStream(objStr.getStream(), Object(objNull), gTrue, first); - lexer = new Lexer(xref, str); - parser = new Parser(xref, lexer, gFalse); - for (n = 0; n < nObjects; ++n) { -- parser->getObj(&obj1); -- parser->getObj(&obj2); -+ obj1 = parser->getObj(); -+ obj2 = parser->getObj(); - if (n == e->gen) - localOffset = obj2.getInt(); -- obj1.free(); -- obj2.free(); - } - #if defined(POPPLER_VERSION) || defined(XPDF304) - while (str->getChar() != EOF) ; -@@ -187,7 +188,6 @@ int main(int argc, char *argv[]) - lexer->skipToEOF(); - #endif - delete parser; -- objStr.free(); - - fprintf(outfile, "%.10lu 00000 n\n", - (long unsigned)(firstOffset + localOffset)); -@@ -198,7 +198,6 @@ int main(int argc, char *argv[]) - s->reset(); - while ((c = s->getChar()) != EOF) - fputc(c, outfile); -- srcStream.free(); - } - if (objnum == 0) - fprintf(stderr, "Source file extracted to %s\n", outname); -@@ -207,7 +206,6 @@ int main(int argc, char *argv[]) - else - fprintf(stderr, "Cross-reference table extracted to %s\n", outname); - fclose(outfile); -- catalogDict.free(); - delete doc; - delete globalParams; - } diff --git a/texlive-20180414-poppler-0.64.patch b/texlive-20180414-poppler-0.64.patch deleted file mode 100644 index 04aca34..0000000 --- a/texlive-20180414-poppler-0.64.patch +++ /dev/null @@ -1,225 +0,0 @@ -From b14146667f4cd6cbc5d5821c88e47096df3c78b5 Mon Sep 17 00:00:00 2001 -From: Akira Kakuto -Date: Sat, 28 Apr 2018 07:36:22 +0000 -Subject: support poppler-0.64.0 - -git-svn-id: svn://tug.org/texlive/trunk@47470 c570f23f-e606-0410-a88d-b1316a301751 ---- - Build/source/texk/web2c/luatexdir/image/pdftoepdf.w | 4 ++-- - Build/source/texk/web2c/luatexdir/lua/lepdflib.cc | 4 ++-- - Build/source/texk/web2c/pdftexdir/ChangeLog | 5 +++++ - Build/source/texk/web2c/pdftexdir/pdftoepdf-newpoppler.cc | 14 +++++++------- - Build/source/texk/web2c/pdftexdir/pdftosrc-newpoppler.cc | 2 +- - 5 files changed, 17 insertions(+), 12 deletions(-) - -diff --git a/Build/source/texk/web2c/luatexdir/image/pdftoepdf.w b/Build/source/texk/web2c/luatexdir/image/pdftoepdf.w -index 7ba2973..d697959 100644 ---- Build/source/texk/web2c/luatexdir/image/pdftoepdf.w -+++ Build/source/texk/web2c/luatexdir/image/pdftoepdf.w -@@ -472,10 +472,10 @@ static void copyObject(PDF pdf, PdfDocument * pdf_doc, Object * obj) - break; - */ - case objString: -- copyString(pdf, obj->getString()); -+ copyString(pdf, (GooString *)obj->getString()); - break; - case objName: -- copyName(pdf, obj->getName()); -+ copyName(pdf, (char *)obj->getName()); - break; - case objNull: - pdf_add_null(pdf); -diff --git a/Build/source/texk/web2c/luatexdir/lua/lepdflib.cc b/Build/source/texk/web2c/luatexdir/lua/lepdflib.cc -index a16bf3b..32bcdab 100644 ---- Build/source/texk/web2c/luatexdir/lua/lepdflib.cc -+++ Build/source/texk/web2c/luatexdir/lua/lepdflib.cc -@@ -674,7 +674,7 @@ static int m_##in##_##function(lua_State * L) \ - uin = (udstruct *) luaL_checkudata(L, 1, M_##in); \ - if (uin->pd != NULL && uin->pd->pc != uin->pc) \ - pdfdoc_changed_error(L); \ -- gs = ((in *) uin->d)->function(); \ -+ gs = (GooString *)((in *) uin->d)->function(); \ - if (gs != NULL) \ - lua_pushlstring(L, gs->getCString(), gs->getLength()); \ - else \ -@@ -1813,7 +1813,7 @@ static int m_Object_getString(lua_State * L) - if (uin->pd != NULL && uin->pd->pc != uin->pc) - pdfdoc_changed_error(L); - if (((Object *) uin->d)->isString()) { -- gs = ((Object *) uin->d)->getString(); -+ gs = (GooString *)((Object *) uin->d)->getString(); - lua_pushlstring(L, gs->getCString(), gs->getLength()); - } else - lua_pushnil(L); -diff --git a/Build/source/texk/web2c/pdftexdir/ChangeLog b/Build/source/texk/web2c/pdftexdir/ChangeLog -index c022bc2..f4af035 100644 ---- Build/source/texk/web2c/pdftexdir/ChangeLog -+++ Build/source/texk/web2c/pdftexdir/ChangeLog -@@ -1,3 +1,8 @@ -+2018-04-28 Akira Kakuto -+ -+ * pdftoepdf-newpoppler.cc, pdftosrc-newpoppler.cc: -+ Support poppler 0.64.0. -+ - 2018-04-14 Karl Berry - - * TeX Live 2018 release, pdftex 1.40.19. -diff --git a/Build/source/texk/web2c/pdftexdir/pdftoepdf-newpoppler.cc b/Build/source/texk/web2c/pdftexdir/pdftoepdf-newpoppler.cc -index 10fea29..750579d 100644 ---- Build/source/texk/web2c/pdftexdir/pdftoepdf-newpoppler.cc -+++ Build/source/texk/web2c/pdftexdir/pdftoepdf-newpoppler.cc -@@ -290,7 +290,7 @@ static void copyName(char *s) - static void copyDictEntry(Object * obj, int i) - { - Object obj1; -- copyName(obj->dictGetKey(i)); -+ copyName((char *)obj->dictGetKey(i)); - pdf_puts(" "); - obj1 = obj->dictGetValNF(i); - copyObject(&obj1); -@@ -355,7 +355,7 @@ static void copyProcSet(Object * obj) - if (!procset.isName()) - pdftex_fail("PDF inclusion: invalid ProcSet entry type <%s>", - procset.getTypeName()); -- copyName(procset.getName()); -+ copyName((char *)procset.getName()); - pdf_puts(" "); - } - pdf_puts("]\n"); -@@ -418,7 +418,7 @@ static void copyFont(char *tag, Object * fontRef) - && fontdescRef.isRef() - && fontdesc.isDict() - && embeddableFont(&fontdesc) -- && (fontmap = lookup_fontmap(basefont.getName())) != NULL) { -+ && (fontmap = lookup_fontmap((char *)basefont.getName())) != NULL) { - // round /StemV value, since the PDF input is a float - // (see Font Descriptors in PDF reference), but we only store an - // integer, since we don't want to change the struct. -@@ -427,7 +427,7 @@ static void copyFont(char *tag, Object * fontRef) - charset = fontdesc.dictLookup("CharSet"); - if (!charset.isNull() && - charset.isString() && is_subsetable(fontmap)) -- epdf_mark_glyphs(fd, charset.getString()->getCString()); -+ epdf_mark_glyphs(fd, (char *)charset.getString()->getCString()); - else - embed_whole_font(fd); - addFontDesc(fontdescRef.getRef(), fd); -@@ -456,7 +456,7 @@ static void copyFontResources(Object * obj) - if (fontRef.isRef()) - copyFont(obj->dictGetKey(i), &fontRef); - else if (fontRef.isDict()) { // some programs generate pdf with embedded font object -- copyName(obj->dictGetKey(i)); -+ copyName((char *)obj->dictGetKey(i)); - pdf_puts(" "); - copyObject(&fontRef); - } -@@ -565,7 +565,7 @@ static void copyObject(Object * obj) - } else if (obj->isNum()) { - pdf_printf("%s", convertNumToPDF(obj->getNum())); - } else if (obj->isString()) { -- s = obj->getString(); -+ s = (GooString *)obj->getString(); - p = s->getCString(); - l = s->getLength(); - if (strlen(p) == (unsigned int) l) { -@@ -589,7 +589,7 @@ static void copyObject(Object * obj) - pdf_puts(">"); - } - } else if (obj->isName()) { -- copyName(obj->getName()); -+ copyName((char *)obj->getName()); - } else if (obj->isNull()) { - pdf_puts("null"); - } else if (obj->isArray()) { -diff --git a/Build/source/texk/web2c/pdftexdir/pdftosrc-newpoppler.cc b/Build/source/texk/web2c/pdftexdir/pdftosrc-newpoppler.cc -index 4e2bcad..0db154b 100644 ---- Build/source/texk/web2c/pdftexdir/pdftosrc-newpoppler.cc -+++ Build/source/texk/web2c/pdftexdir/pdftosrc-newpoppler.cc -@@ -109,7 +109,7 @@ int main(int argc, char *argv[]) - fprintf(stderr, "No SourceName found\n"); - exit(1); - } -- outname = srcName.getString()->getCString(); -+ outname = (char *)srcName.getString()->getCString(); - // We cannot free srcName, as objname shares its string. - // srcName.free(); - } else if (objnum > 0) { ---- Build/source/texk/web2c/pdftexdir/pdftosrc.cc -+++ Build/source/texk/web2c/pdftexdir/pdftosrc.cc -@@ -109,7 +109,7 @@ int main(int argc, char *argv[]) - fprintf(stderr, "No SourceName found\n"); - exit(1); - } -- outname = srcName.getString()->getCString(); -+ outname = (char *)srcName.getString()->getCString(); - // We cannot free srcName, as objname shares its string. - // srcName.free(); - } else if (objnum > 0) { ---- Build/source/texk/web2c/pdftexdir/pdftoepdf.cc -+++ Build/source/texk/web2c/pdftexdir/pdftoepdf.cc -@@ -290,7 +290,7 @@ static void copyName(char *s) - static void copyDictEntry(Object * obj, int i) - { - Object obj1; -- copyName(obj->dictGetKey(i)); -+ copyName((char *)obj->dictGetKey(i)); - pdf_puts(" "); - obj1 = obj->dictGetValNF(i); - copyObject(&obj1); -@@ -355,7 +355,7 @@ static void copyProcSet(Object * obj) - if (!procset.isName()) - pdftex_fail("PDF inclusion: invalid ProcSet entry type <%s>", - procset.getTypeName()); -- copyName(procset.getName()); -+ copyName((char *)procset.getName()); - pdf_puts(" "); - } - pdf_puts("]\n"); -@@ -418,7 +418,7 @@ static void copyFont(char *tag, Object * fontRef) - && fontdescRef.isRef() - && fontdesc.isDict() - && embeddableFont(&fontdesc) -- && (fontmap = lookup_fontmap(basefont.getName())) != NULL) { -+ && (fontmap = lookup_fontmap((char *)basefont.getName())) != NULL) { - // round /StemV value, since the PDF input is a float - // (see Font Descriptors in PDF reference), but we only store an - // integer, since we don't want to change the struct. -@@ -427,7 +427,7 @@ static void copyFont(char *tag, Object * fontRef) - charset = fontdesc.dictLookup("CharSet"); - if (!charset.isNull() && - charset.isString() && is_subsetable(fontmap)) -- epdf_mark_glyphs(fd, charset.getString()->getCString()); -+ epdf_mark_glyphs(fd, (char *)charset.getString()->getCString()); - else - embed_whole_font(fd); - addFontDesc(fontdescRef.getRef(), fd); -@@ -456,7 +456,7 @@ static void copyFontResources(Object * obj) - if (fontRef.isRef()) - copyFont(obj->dictGetKey(i), &fontRef); - else if (fontRef.isDict()) { // some programs generate pdf with embedded font object -- copyName(obj->dictGetKey(i)); -+ copyName((char *)obj->dictGetKey(i)); - pdf_puts(" "); - copyObject(&fontRef); - } -@@ -565,7 +565,7 @@ static void copyObject(Object * obj) - } else if (obj->isNum()) { - pdf_printf("%s", convertNumToPDF(obj->getNum())); - } else if (obj->isString()) { -- s = obj->getString(); -+ s = (GooString *)obj->getString(); - p = s->getCString(); - l = s->getLength(); - if (strlen(p) == (unsigned int) l) { -@@ -589,7 +589,7 @@ static void copyObject(Object * obj) - pdf_puts(">"); - } - } else if (obj->isName()) { -- copyName(obj->getName()); -+ copyName((char *)obj->getName()); - } else if (obj->isNull()) { - pdf_puts("null"); - } else if (obj->isArray()) { --- -cgit v1.1 - diff --git a/texlive-20180414-poppler-0.73.patch b/texlive-20180414-poppler-0.73.patch deleted file mode 100644 index a311747..0000000 --- a/texlive-20180414-poppler-0.73.patch +++ /dev/null @@ -1,574 +0,0 @@ ---- texlive-base-20180414/source/texk/web2c/luatexdir/image/pdftoepdf.w -+++ texlive-base-20180414/source/texk/web2c/luatexdir/image/pdftoepdf.w -@@ -33,9 +33,9 @@ - - */ - --extern void md5(Guchar *msg, int msgLen, Guchar *digest); -+extern void md5(unsigned char *msg, int msgLen, unsigned char *digest); - --static GBool isInit = gFalse; -+static bool isInit = false; - - /* Maintain AVL tree of all PDF files for embedding */ - -@@ -363,10 +363,10 @@ void copyReal(PDF pdf, double d) - - static void copyString(PDF pdf, GooString * string) - { -- char *p; -+ const char *p; - unsigned char c; - size_t i, l; -- p = string->getCString(); -+ p = string->c_str(); - l = (size_t) string->getLength(); - if (pdf->cave) - pdf_out(pdf, ' '); -@@ -393,7 +393,7 @@ static void copyString(PDF pdf, GooStrin - pdf->cave = true; - } - --static void copyName(PDF pdf, char *s) -+static void copyName(PDF pdf, const char *s) - { - pdf_out(pdf, '/'); - for (; *s != 0; s++) { -@@ -468,7 +468,7 @@ static void copyObject(PDF pdf, PdfDocum - break; - /* - case objNum: -- GBool isNum() { return type == objInt || type == objReal; } -+ bool isNum() { return type == objInt || type == objReal; } - break; - */ - case objString: -@@ -527,7 +527,7 @@ static void writeRefs(PDF pdf, PdfDocume - - /* get the pagebox coordinates according to the pagebox_spec */ - --static PDFRectangle *get_pagebox(Page * page, int pagebox_spec) -+static const PDFRectangle *get_pagebox(Page * page, int pagebox_spec) - { - switch (pagebox_spec) { - case PDF_BOX_SPEC_MEDIA: -@@ -584,14 +584,14 @@ void read_pdf_info(image_dict * idict) - Catalog *catalog; - Page *page; - int rotate; -- PDFRectangle *pagebox; -+ const PDFRectangle *pagebox; - int pdf_major_version_found, pdf_minor_version_found; - float xsize, ysize, xorig, yorig; -- if (isInit == gFalse) { -+ if (isInit == false) { - if (!(globalParams)) - globalParams = new GlobalParams(); -- globalParams->setErrQuiet(gFalse); -- isInit = gTrue; -+ globalParams->setErrQuiet(false); -+ isInit = true; - } - if (img_type(idict) == IMG_TYPE_PDF) - pdf_doc = refPdfDocument(img_filepath(idict), FE_FAIL); -@@ -721,7 +721,7 @@ void write_epdf(PDF pdf, image_dict * id - Ref *pageref; - Dict *pageDict; - Object obj1, contents, pageobj, pagesobj1, pagesobj2, *op1, *op2, *optmp; -- PDFRectangle *pagebox; -+ const PDFRectangle *pagebox; - int i, l; - double bbox[4]; - /* char s[256]; */ -@@ -966,7 +966,7 @@ void epdf_free() - if (PdfDocumentTree != NULL) - avl_destroy(PdfDocumentTree, destroyPdfDocument); - PdfDocumentTree = NULL; -- if (isInit == gTrue) -+ if (isInit == true) - delete globalParams; -- isInit = gFalse; -+ isInit = false; - } ---- texlive-base-20180414/source/texk/web2c/luatexdir/lua/lepdflib.cc -+++ texlive-base-20180414/source/texk/web2c/luatexdir/lua/lepdflib.cc -@@ -240,7 +240,7 @@ static int l_new_Attribute(lua_State * L - if (uobj->pd != NULL && uobj->pd->pc != uobj->pc) - pdfdoc_changed_error(L); - uout = new_Attribute_userdata(L); -- uout->d = new Attribute(n, nlen, (Object *)uobj->d); -+ uout->d = new Attribute(GooString(n, nlen), (Object *)uobj->d); - uout->atype = ALLOC_LEPDF; - uout->pc = uobj->pc; - uout->pd = uobj->pd; -@@ -439,7 +439,7 @@ static int l_new_Object(lua_State * L) - break; - case 1: - if (lua_isboolean (L,1)) { -- uout->d = new Object(lua_toboolean(L, 1)? gTrue : gFalse); -+ uout->d = new Object(lua_toboolean(L, 1)? true : false); - uout->atype = ALLOC_LEPDF; - uout->pc = 0; - uout->pd = NULL; -@@ -596,7 +596,7 @@ static int m_##in##_##function(lua_State - uin = (udstruct *) luaL_checkudata(L, 1, M_##in); \ - if (uin->pd != NULL && uin->pd->pc != uin->pc) \ - pdfdoc_changed_error(L); \ -- o = ((in *) uin->d)->function(); \ -+ o = (out *) ((in *) uin->d)->function(); \ - if (o != NULL) { \ - uout = new_##out##_userdata(L); \ - uout->d = o; \ -@@ -676,7 +676,7 @@ static int m_##in##_##function(lua_State - pdfdoc_changed_error(L); \ - gs = (GooString *)((in *) uin->d)->function(); \ - if (gs != NULL) \ -- lua_pushlstring(L, gs->getCString(), gs->getLength()); \ -+ lua_pushlstring(L, gs->c_str(), gs->getLength()); \ - else \ - lua_pushnil(L); \ - return 1; \ -@@ -911,7 +911,7 @@ static int m_Array_getString(lua_State * - if (i > 0 && i <= len) { - gs = new GooString(); - if (((Array *) uin->d)->getString(i - 1, gs)) -- lua_pushlstring(L, gs->getCString(), gs->getLength()); -+ lua_pushlstring(L, gs->c_str(), gs->getLength()); - else - lua_pushnil(L); - delete gs; -@@ -1063,7 +1063,7 @@ static int m_Catalog_getJS(lua_State * L - if (i > 0 && i <= len) { - gs = ((Catalog *) uin->d)->getJS(i - 1); - if (gs != NULL) -- lua_pushlstring(L, gs->getCString(), gs->getLength()); -+ lua_pushlstring(L, gs->c_str(), gs->getLength()); - else - lua_pushnil(L); - delete gs; -@@ -1125,12 +1125,12 @@ m_poppler_get_INT(Dict, getLength); - - static int m_Dict_add(lua_State * L) - { -- char *s; -+ const char *s; - udstruct *uin, *uobj; - uin = (udstruct *) luaL_checkudata(L, 1, M_Dict); - if (uin->pd != NULL && uin->pd->pc != uin->pc) - pdfdoc_changed_error(L); -- s = copyString(luaL_checkstring(L, 2)); -+ s = luaL_checkstring(L, 2); - uobj = (udstruct *) luaL_checkudata(L, 3, M_Object); - ((Dict *) uin->d)->add(s, std::move(*((Object *) uobj->d))); - return 0; -@@ -1378,7 +1378,7 @@ static int m_GooString__tostring(lua_Sta - uin = (udstruct *) luaL_checkudata(L, 1, M_GooString); - if (uin->pd != NULL && uin->pd->pc != uin->pc) - pdfdoc_changed_error(L); -- lua_pushlstring(L, ((GooString *) uin->d)->getCString(), -+ lua_pushlstring(L, ((GooString *) uin->d)->c_str(), - ((GooString *) uin->d)->getLength()); - return 1; - } -@@ -1527,9 +1527,9 @@ static int m_Object_initBool(lua_State * - pdfdoc_changed_error(L); - luaL_checktype(L, 2, LUA_TBOOLEAN); - if (lua_toboolean(L, 2) != 0) -- *((Object *) uin->d) = Object(gTrue); -+ *((Object *) uin->d) = Object(true); - else -- *((Object *) uin->d) = Object(gFalse); -+ *((Object *) uin->d) = Object(false); - return 0; - } - -@@ -1814,7 +1814,7 @@ static int m_Object_getString(lua_State - pdfdoc_changed_error(L); - if (((Object *) uin->d)->isString()) { - gs = (GooString *)((Object *) uin->d)->getString(); -- lua_pushlstring(L, gs->getCString(), gs->getLength()); -+ lua_pushlstring(L, gs->c_str(), gs->getLength()); - } else - lua_pushnil(L); - return 1; -@@ -2051,7 +2051,7 @@ static int m_Object_dictAdd(lua_State * - pdfdoc_changed_error(L); - if (!((Object *) uin->d)->isDict()) - luaL_error(L, "Object is not a Dict"); -- ((Object *) uin->d)->dictAdd(copyString(s), std::move(*((Object *) uobj->d))); -+ ((Object *) uin->d)->dictAdd(s, std::move(*((Object *) uobj->d))); - return 0; - } - -@@ -2465,14 +2465,14 @@ m_PDFDoc_INT(getErrorCode); - - static int m_PDFDoc_getFileName(lua_State * L) - { -- GooString *gs; -+ const GooString *gs; - udstruct *uin; - uin = (udstruct *) luaL_checkudata(L, 1, M_PDFDoc); - if (uin->pd != NULL && uin->pd->pc != uin->pc) - pdfdoc_changed_error(L); - gs = ((PdfDocument *) uin->d)->doc->getFileName(); - if (gs != NULL) -- lua_pushlstring(L, gs->getCString(), gs->getLength()); -+ lua_pushlstring(L, gs->c_str(), gs->getLength()); - else - lua_pushnil(L); - return 1; -@@ -2553,7 +2553,7 @@ m_PDFDoc_INT(getNumPages); - - static int m_PDFDoc_readMetadata(lua_State * L) - { -- GooString *gs; -+ const GooString *gs; - udstruct *uin; - uin = (udstruct *) luaL_checkudata(L, 1, M_PDFDoc); - if (uin->pd != NULL && uin->pd->pc != uin->pc) -@@ -2561,7 +2561,7 @@ static int m_PDFDoc_readMetadata(lua_Sta - if (((PdfDocument *) uin->d)->doc->getCatalog()->isOk()) { - gs = ((PdfDocument *) uin->d)->doc->readMetadata(); - if (gs != NULL) -- lua_pushlstring(L, gs->getCString(), gs->getLength()); -+ lua_pushlstring(L, gs->c_str(), gs->getLength()); - else - lua_pushnil(L); - } else -@@ -2577,7 +2577,7 @@ static int m_PDFDoc_getStructTreeRoot(lu - if (uin->pd != NULL && uin->pd->pc != uin->pc) - pdfdoc_changed_error(L); - if (((PdfDocument *) uin->d)->doc->getCatalog()->isOk()) { -- obj = ((PdfDocument *) uin->d)->doc->getStructTreeRoot(); -+ obj = (StructTreeRoot *) ((PdfDocument *) uin->d)->doc->getStructTreeRoot(); - uout = new_StructTreeRoot_userdata(L); - uout->d = obj; - uout->pc = uin->pc; -@@ -3024,12 +3024,12 @@ m_poppler_get_GUINT(Attribute,getRevisio - - static int m_Attribute_setRevision(lua_State * L) - { -- Guint i; -+ unsigned int i; - udstruct *uin; - uin = (udstruct *) luaL_checkudata(L, 1, M_Attribute); - if (uin->pd != NULL && uin->pd->pc != uin->pc) - pdfdoc_changed_error(L); -- i = (Guint) luaL_checkint(L, 2); -+ i = (unsigned int) luaL_checkint(L, 2); - ((Attribute *) uin->d)->setRevision(i); - return 0; - } -@@ -3038,12 +3038,12 @@ m_poppler_get_BOOL(Attribute, isHidden); - - static int m_Attribute_setHidden(lua_State * L) - { -- GBool i; -+ bool i; - udstruct *uin; - uin = (udstruct *) luaL_checkudata(L, 1, M_Attribute); - if (uin->pd != NULL && uin->pd->pc != uin->pc) - pdfdoc_changed_error(L); -- i = (GBool) lua_toboolean(L, 2); -+ i = (bool) lua_toboolean(L, 2); - ((Attribute *) uin->d)->setHidden(i); - return 0; - } -@@ -3180,7 +3180,7 @@ static int m_StructElement_getParentRef( - // Ref is false if the C++ functione return false - static int m_StructElement_getPageRef(lua_State * L) - { -- GBool b; -+ bool b; - Ref *r; - udstruct *uin, *uout; - uin = (udstruct *) luaL_checkudata(L, 1, M_StructElement); -@@ -3214,28 +3214,28 @@ static int m_StructElement_getTypeName(l - - static int m_StructElement_setRevision(lua_State * L) - { -- Guint i; -+ unsigned int i; - udstruct *uin; - uin = (udstruct *) luaL_checkudata(L, 1, M_StructElement); - if (uin->pd != NULL && uin->pd->pc != uin->pc) - pdfdoc_changed_error(L); -- i = (Guint) luaL_checkint(L, 2); -+ i = (unsigned int) luaL_checkint(L, 2); - ((StructElement *) uin->d)->setRevision(i); - return 0; - } - - static int m_StructElement_getText(lua_State * L) - { -- GBool i; -+ bool i; - GooString *gs; - udstruct *uin; - uin = (udstruct *) luaL_checkudata(L, 1, M_StructElement); - if (uin->pd != NULL && uin->pd->pc != uin->pc) - pdfdoc_changed_error(L); -- i = (GBool) lua_toboolean(L, 2); -+ i = (bool) lua_toboolean(L, 2); - gs = ((StructElement *) uin->d)->getText(i); - if (gs != NULL) -- lua_pushlstring(L, gs->getCString(), gs->getLength()); -+ lua_pushlstring(L, gs->c_str(), gs->getLength()); - else - lua_pushnil(L); - return 1; -@@ -3321,7 +3321,7 @@ static int m_StructElement_findAttribute - { - Attribute::Type t; - Attribute::Owner o; -- GBool g; -+ bool g; - udstruct *uin, *uout; - const Attribute *a; - uin = (udstruct *) luaL_checkudata(L, 1, M_StructElement); -@@ -3329,7 +3329,7 @@ static int m_StructElement_findAttribute - pdfdoc_changed_error(L); - t = (Attribute::Type) luaL_checkint(L,1); - o = (Attribute::Owner) luaL_checkint(L,2); -- g = (GBool) lua_toboolean(L, 3); -+ g = (bool) lua_toboolean(L, 3); - a = ((StructElement *) uin->d)->findAttribute(t,g,o); - - if (a!=NULL){ ---- texlive-base-20180414/source/texk/web2c/pdftexdir/pdftoepdf.cc -+++ texlive-base-20180414/source/texk/web2c/pdftexdir/pdftoepdf.cc -@@ -120,7 +120,7 @@ struct UsedEncoding { - - static InObj *inObjList; - static UsedEncoding *encodingList; --static GBool isInit = gFalse; -+static bool isInit = false; - - // -------------------------------------------------------------------- - // Maintain list of open embedded PDF files -@@ -275,7 +275,7 @@ static int getNewObjectNumber(Ref ref) - - static void copyObject(Object *); - --static void copyName(char *s) -+static void copyName(const char *s) - { - pdf_puts("/"); - for (; *s != 0; s++) { -@@ -310,7 +310,7 @@ static void copyDict(Object * obj) - static void copyFontDict(Object * obj, InObj * r) - { - int i, l; -- char *key; -+ const char *key; - if (!obj->isDict()) - pdftex_fail("PDF inclusion: invalid dict type <%s>", - obj->getTypeName()); -@@ -382,7 +382,7 @@ static bool embeddableFont(Object * font - return false; - } - --static void copyFont(char *tag, Object * fontRef) -+static void copyFont(const char *tag, Object * fontRef) - { - Object fontdict, subtype, basefont, fontdescRef, fontdesc, charset, - stemV; -@@ -427,7 +427,7 @@ static void copyFont(char *tag, Object * - charset = fontdesc.dictLookup("CharSet"); - if (!charset.isNull() && - charset.isString() && is_subsetable(fontmap)) -- epdf_mark_glyphs(fd, (char *)charset.getString()->getCString()); -+ epdf_mark_glyphs(fd, (char *)charset.getString()->c_str()); - else - embed_whole_font(fd); - addFontDesc(fontdescRef.getRef(), fd); -@@ -467,7 +467,7 @@ static void copyFontResources(Object * o - pdf_puts(">>\n"); - } - --static void copyOtherResources(Object * obj, char *key) -+static void copyOtherResources(Object * obj, const char *key) - { - // copies all other resources (write_epdf handles Fonts and ProcSets), - -@@ -554,8 +554,8 @@ static void copyObject(Object * obj) - Object obj1; - int i, l, c; - Ref ref; -- char *p; -- GString *s; -+ const char *p; -+ const GString *s; - if (obj->isBool()) { - pdf_printf("%s", obj->getBool()? "true" : "false"); - } else if (obj->isInt()) { -@@ -565,8 +565,8 @@ static void copyObject(Object * obj) - } else if (obj->isNum()) { - pdf_printf("%s", convertNumToPDF(obj->getNum())); - } else if (obj->isString()) { -- s = (GooString *)obj->getString(); -- p = s->getCString(); -+ s = (const GooString *)obj->getString(); -+ p = s->c_str(); - l = s->getLength(); - if (strlen(p) == (unsigned int) l) { - pdf_puts("("); -@@ -664,7 +664,7 @@ static void writeEncodings() - ("PDF inclusion: CID fonts are not supported" - " (try to disable font replacement to fix this)"); - } -- if ((s = ((Gfx8BitFont *) r->font)->getCharName(i)) != 0) -+ if ((s = (char *) ((Gfx8BitFont *) r->font)->getCharName(i)) != 0) - glyphNames[i] = s; - else - glyphNames[i] = notdef; -@@ -683,7 +683,7 @@ static void writeEncodings() - } - - // get the pagebox according to the pagebox_spec --static PDFRectangle *get_pagebox(Page * page, int pagebox_spec) -+static const PDFRectangle *get_pagebox(Page * page, int pagebox_spec) - { - if (pagebox_spec == pdfboxspecmedia) - return page->getMediaBox(); -@@ -715,7 +715,7 @@ read_pdf_info(char *image_name, char *pa - { - PdfDocument *pdf_doc; - Page *page; -- PDFRectangle *pagebox; -+ const PDFRectangle *pagebox; - #ifdef POPPLER_VERSION - int pdf_major_version_found, pdf_minor_version_found; - #else -@@ -724,8 +724,8 @@ read_pdf_info(char *image_name, char *pa - // initialize - if (!isInit) { - globalParams = new GlobalParams(); -- globalParams->setErrQuiet(gFalse); -- isInit = gTrue; -+ globalParams->setErrQuiet(false); -+ isInit = true; - } - // open PDF file - pdf_doc = find_add_document(image_name); -@@ -822,7 +822,7 @@ void write_epdf(void) - Object groupDict; - bool writeSepGroup = false; - Object info; -- char *key; -+ const char *key; - char s[256]; - int i, l; - int rotate; -@@ -849,7 +849,7 @@ void write_epdf(void) - pageObj = xref->fetch(pageRef->num, pageRef->gen); - pageDict = pageObj.getDict(); - rotate = page->getRotate(); -- PDFRectangle *pagebox; -+ const PDFRectangle *pagebox; - // write the Page header - pdf_puts("/Type /XObject\n"); - pdf_puts("/Subtype /Form\n"); -@@ -977,7 +977,7 @@ The changes below seem to work fine. - } - l = dic1.getLength(); - for (i = 0; i < l; i++) { -- groupDict.dictAdd(copyString(dic1.getKey(i)), -+ groupDict.dictAdd(dic1.getKey(i), - dic1.getValNF(i)); - } - // end modification ---- texlive-base-20180414/source/texk/web2c/pdftexdir/pdftosrc.cc -+++ texlive-base-20180414/source/texk/web2c/pdftexdir/pdftosrc.cc -@@ -109,7 +109,7 @@ int main(int argc, char *argv[]) - fprintf(stderr, "No SourceName found\n"); - exit(1); - } -- outname = (char *)srcName.getString()->getCString(); -+ outname = (char *)srcName.getString()->c_str(); - // We cannot free srcName, as objname shares its string. - // srcName.free(); - } else if (objnum > 0) { -@@ -118,7 +118,7 @@ int main(int argc, char *argv[]) - fprintf(stderr, "Not a Stream object\n"); - exit(1); - } -- sprintf(buf, "%s", fileName->getCString()); -+ sprintf(buf, "%s", fileName->c_str()); - if ((p = strrchr(buf, '.')) == 0) - p = strchr(buf, 0); - if (objgen == 0) -@@ -128,7 +128,7 @@ int main(int argc, char *argv[]) - outname = buf; - } else { // objnum < 0 means we are extracting the XRef table - extract_xref_table = true; -- sprintf(buf, "%s", fileName->getCString()); -+ sprintf(buf, "%s", fileName->c_str()); - if ((p = strrchr(buf, '.')) == 0) - p = strchr(buf, 0); - sprintf(p, ".xref"); -@@ -161,7 +161,7 @@ int main(int argc, char *argv[]) - Object objStr, obj1, obj2; - int nObjects, first, n; - int localOffset = 0; -- Guint firstOffset; -+ unsigned int firstOffset; - - objStr = xref->fetch(e->offset, 0); - assert(objStr.isStream()); -@@ -173,9 +173,9 @@ int main(int argc, char *argv[]) - - // parse the header: object numbers and offsets - objStr.streamReset(); -- str = new EmbedStream(objStr.getStream(), Object(objNull), gTrue, first); -+ str = new EmbedStream(objStr.getStream(), Object(objNull), true, first); - lexer = new Lexer(xref, str); -- parser = new Parser(xref, lexer, gFalse); -+ parser = new Parser(xref, lexer, false); - for (n = 0; n < nObjects; ++n) { - obj1 = parser->getObj(); - obj2 = parser->getObj(); ---- texlive-base-20180414/source/texk/web2c/xetexdir/pdfimage.cpp -+++ texlive-base-20180414/source/texk/web2c/xetexdir/pdfimage.cpp -@@ -79,25 +79,28 @@ pdf_get_rect(char* filename, int page_nu - Page* page = doc->getCatalog()->getPage(page_num); - - PDFRectangle* r; -+ const PDFRectangle* cr; - switch (pdf_box) { - default: - case pdfbox_crop: -- r = page->getCropBox(); -+ cr = page->getCropBox(); - break; - case pdfbox_media: -- r = page->getMediaBox(); -+ cr = page->getMediaBox(); - break; - case pdfbox_bleed: -- r = page->getBleedBox(); -+ cr = page->getBleedBox(); - break; - case pdfbox_trim: -- r = page->getTrimBox(); -+ cr = page->getTrimBox(); - break; - case pdfbox_art: -- r = page->getArtBox(); -+ cr = page->getArtBox(); - break; - } - -+ r = new PDFRectangle (cr->x1, cr->y1, cr->x2, cr->y2); -+ - int RotAngle = 0; - RotAngle = (int)page->getRotate() % 360; - if (RotAngle < 0) -@@ -125,6 +128,7 @@ pdf_get_rect(char* filename, int page_nu - box->wd = 72.27 / 72 * fabs(r->x2 - r->x1); - box->ht = 72.27 / 72 * fabs(r->y2 - r->y1); - -+ delete r; - delete doc; - - return 0; diff --git a/texlive-20180414-selinux-context.patch b/texlive-20180414-selinux-context.patch deleted file mode 100644 index 10968a1..0000000 --- a/texlive-20180414-selinux-context.patch +++ /dev/null @@ -1,41 +0,0 @@ -diff -up texlive-base-20180414/source/texk/kpathsea/mktexlsr.selinux texlive-base-20180414/source/texk/kpathsea/mktexlsr ---- texlive-base-20180414/source/texk/kpathsea/mktexlsr.selinux 2018-01-16 19:55:32.000000000 -0500 -+++ texlive-base-20180414/source/texk/kpathsea/mktexlsr 2018-04-30 13:10:12.447909163 -0400 -@@ -228,7 +228,8 @@ for TEXMFLS_R in "$@"; do - until PERMS=`kpsestat = "$db_file"`; do sleep 1; done - chmod $PERMS "$db_file_tmp" - rm -f "$db_file" -- mv "$db_file_tmp" "$db_file" -+ # selinux fix -+ cp "$db_file_tmp" "$db_file" - rm -rf "$db_dir_tmp" - done - -diff -up texlive-base-20180414/source/texk/texlive/linked_scripts/texlive/fmtutil.pl.selinux texlive-base-20180414/source/texk/texlive/linked_scripts/texlive/fmtutil.pl ---- texlive-base-20180414/source/texk/texlive/linked_scripts/texlive/fmtutil.pl.selinux 2018-04-30 13:10:12.447909163 -0400 -+++ texlive-base-20180414/source/texk/texlive/linked_scripts/texlive/fmtutil.pl 2018-04-30 13:12:43.035361954 -0400 -@@ -719,7 +719,7 @@ sub rebuild_one_format { - - TeXLive::TLUtils::mkdirhier($destdir); - -- if (!File::Copy::move( $logfile, "$destdir/$logfile")) { -+ if (!File::Copy::copy( $logfile, "$destdir/$logfile")) { - print_deferred_error("Cannot move $logfile to $destdir.\n"); - } - if ($opts{'recorder'}) { -@@ -727,13 +727,13 @@ sub rebuild_one_format { - # package dependencies for each format. Unfortunately omega-based - # engines gratuitiously changed the extension from .fls to .ofl. - my $recfile = $fmt . ($fmt =~ m/^(aleph|lamed)$/ ? ".ofl" : ".fls"); -- if (!File::Copy::move( $recfile, "$destdir/$recfile")) { -+ if (!File::Copy::copy( $recfile, "$destdir/$recfile")) { - print_deferred_error("Cannot move $recfile to $destdir.\n"); - } - } - - my $destfile = "$destdir/$fmtfile"; -- if (File::Copy::move( $fmtfile, $destfile )) { -+ if (File::Copy::copy( $fmtfile, $destfile )) { - print_info("$destfile installed.\n"); - # - # original fmtutil.sh did some magic trick for mplib-luatex.mem diff --git a/texlive-20180414-synctex-version.patch b/texlive-20180414-synctex-version.patch deleted file mode 100644 index 368ae99..0000000 --- a/texlive-20180414-synctex-version.patch +++ /dev/null @@ -1,47 +0,0 @@ -From 28fe90a530c055abce7af362512b81a70d296e7d Mon Sep 17 00:00:00 2001 -From: Akira Kakuto -Date: Mon, 23 Jul 2018 21:21:12 +0000 -Subject: [PATCH] add synctex_version.h (report from Johannes) - -git-svn-id: svn://tug.org/texlive/trunk/Build/source@48260 c570f23f-e606-0410-a88d-b1316a301751 ---- - texk/web2c/Makefile.in | 3 ++- - texk/web2c/synctexdir/am/synctex.am | 1 + - 2 files changed, 3 insertions(+), 1 deletion(-) - -diff --git a/texk/web2c/Makefile.in b/texk/web2c/Makefile.in -index abdd6dfef..4872c68f2 100644 ---- a/source/texk/web2c/Makefile.in -+++ b/source/texk/web2c/Makefile.in -@@ -2420,7 +2420,7 @@ NROFF = nroff - MANS = $(dist_man_MANS) $(nodist_man_MANS) - DATA = $(pkgconfig_DATA) - am__syncinclude_HEADERS_DIST = synctexdir/synctex_parser.h \ -- synctexdir/synctex_parser_utils.h -+ synctexdir/synctex_version.h synctexdir/synctex_parser_utils.h - HEADERS = $(syncinclude_HEADERS) - RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \ - distclean-recursive maintainer-clean-recursive -@@ -4687,6 +4687,7 @@ syncincludedir = ${includedir}/synctex - pkgconfigdir = ${libdir}/pkgconfig - @SYNCTEX_TRUE@syncinclude_HEADERS = \ - @SYNCTEX_TRUE@ synctexdir/synctex_parser.h \ -+@SYNCTEX_TRUE@ synctexdir/synctex_version.h \ - @SYNCTEX_TRUE@ synctexdir/synctex_parser_utils.h - - @SYNCTEX_TRUE@pkgconfig_DATA = synctexdir/synctex.pc -diff --git a/texk/web2c/synctexdir/am/synctex.am b/texk/web2c/synctexdir/am/synctex.am -index 316ffbbae..b69cb260a 100644 ---- a/source/texk/web2c/synctexdir/am/synctex.am -+++ b/source/texk/web2c/synctexdir/am/synctex.am -@@ -55,6 +55,7 @@ pkgconfigdir = ${libdir}/pkgconfig - if SYNCTEX - syncinclude_HEADERS = \ - synctexdir/synctex_parser.h \ -+ synctexdir/synctex_version.h \ - synctexdir/synctex_parser_utils.h - - pkgconfig_DATA = synctexdir/synctex.pc --- -2.17.1 - diff --git a/texlive-20180414-texinfo-path-fix.patch b/texlive-20180414-texinfo-path-fix.patch deleted file mode 100644 index 1af679c..0000000 --- a/texlive-20180414-texinfo-path-fix.patch +++ /dev/null @@ -1,22 +0,0 @@ -diff -up texlive-base-20180414/source/texk/kpathsea/texmf.cnf.texinfo-fix texlive-base-20180414/source/texk/kpathsea/texmf.cnf ---- texlive-base-20180414/source/texk/kpathsea/texmf.cnf.texinfo-fix 2018-04-30 13:17:29.671610006 -0400 -+++ texlive-base-20180414/source/texk/kpathsea/texmf.cnf 2018-04-30 13:18:25.434296471 -0400 -@@ -82,6 +82,9 @@ TEXMFSYSCONFIG = $TEXMFROOT/texmf-config - % to %USERPROFILE% on Windows, $HOME otherwise. - TEXMFHOME = ~/texmf - -+% Texinfo on Fedora lives out of $TEXMFROOT -+TEXINFOHOME = $SELFAUTODIR/share/texmf -+ - % TEXMFVAR, where texconfig/updmap/fmtutil store cached runtime data. - TEXMFVAR = ~/.texlive2018/texmf-var - -@@ -107,7 +110,7 @@ TEXMFAUXTREES = {} - % The odd-looking $TEXMFAUXTREES$TEXMF... construct is so that if no auxtree is - % ever defined (the 99% common case), no extra elements will be added to - % the search paths. tlmgr takes care to end any value with a trailing comma. --TEXMF = {$TEXMFAUXTREES$TEXMFCONFIG,$TEXMFVAR,$TEXMFHOME,!!$TEXMFLOCAL,!!$TEXMFSYSCONFIG,!!$TEXMFSYSVAR,!!$TEXMFDIST} -+TEXMF = {$TEXMFAUXTREES$TEXMFCONFIG,$TEXMFVAR,$TEXMFHOME,$TEXINFOHOME,!!$TEXMFLOCAL,!!$TEXMFSYSCONFIG,!!$TEXMFSYSVAR,!!$TEXMFDIST} - - % Where to look for ls-R files. There need not be an ls-R in the - % directories in this path, but if there is one, Kpathsea will use it. diff --git a/texlive-20190410-disable-more-failing-tests.patch b/texlive-20190410-disable-more-failing-tests.patch deleted file mode 100644 index 975741e..0000000 --- a/texlive-20190410-disable-more-failing-tests.patch +++ /dev/null @@ -1,118 +0,0 @@ -diff -up texlive-base-20190410/source/texk/web2c/am/texmf.am.dt texlive-base-20190410/source/texk/web2c/am/texmf.am ---- texlive-base-20190410/source/texk/web2c/am/texmf.am.dt 2015-07-10 05:42:52.000000000 -0400 -+++ texlive-base-20190410/source/texk/web2c/am/texmf.am 2019-05-23 15:07:41.663729872 -0400 -@@ -73,7 +73,7 @@ DISTCLEANFILES += $(nodist_tex_SOURCES) - - # TeX tests - # --tex_tests = triptest.test tests/write18-quote-test.pl -+tex_tests = tests/write18-quote-test.pl - triptest.log: tex$(EXEEXT) dvitype$(EXEEXT) pltotf$(EXEEXT) tftopl$(EXEEXT) - tests/write18-quote-test.log: tex$(EXEEXT) - EXTRA_DIST += $(tex_tests) -@@ -201,7 +201,7 @@ DISTCLEANFILES += $(nodist_libmf_a_SOURC - - # Metafont tests - # --mf_tests = mftraptest.test -+mf_tests = - mftraptest.log: mf$(EXEEXT) gftype$(EXEEXT) tftopl$(EXEEXT) - EXTRA_DIST += $(mf_tests) - if MF -diff -up texlive-base-20190410/source/texk/web2c/eptexdir/am/eptex.am.dt texlive-base-20190410/source/texk/web2c/eptexdir/am/eptex.am ---- texlive-base-20190410/source/texk/web2c/eptexdir/am/eptex.am.dt 2015-08-06 04:49:49.000000000 -0400 -+++ texlive-base-20190410/source/texk/web2c/eptexdir/am/eptex.am 2019-05-23 15:07:41.663729872 -0400 -@@ -81,7 +81,7 @@ EXTRA_DIST += \ - - # e-pTeX Tests - # --eptex_tests = eptexdir/eptriptest.test eptexdir/pdfprimitive.test -+eptex_tests = - eptexdir/eptriptest.log: eptex$(EXEEXT) dvitype$(EXEEXT) pltotf$(EXEEXT) tftopl$(EXEEXT) - eptexdir/pdfprimitive.log: eptex$(EXEEXT) - -diff -up texlive-base-20190410/source/texk/web2c/euptexdir/am/euptex.am.dt texlive-base-20190410/source/texk/web2c/euptexdir/am/euptex.am ---- texlive-base-20190410/source/texk/web2c/euptexdir/am/euptex.am.dt 2018-01-20 22:48:06.000000000 -0500 -+++ texlive-base-20190410/source/texk/web2c/euptexdir/am/euptex.am 2019-05-23 15:07:41.663729872 -0400 -@@ -82,7 +82,7 @@ EXTRA_DIST += \ - - # e-upTeX Tests - # --euptex_tests = euptexdir/euptriptest.test euptexdir/pdfprimitive.test -+euptex_tests = - euptexdir/euptriptest.log: euptex$(EXEEXT) dvitype$(EXEEXT) pltotf$(EXEEXT) tftopl$(EXEEXT) - euptexdir/pdfprimitive.log: euptex$(EXEEXT) - -diff -up texlive-base-20190410/source/texk/web2c/mfluadir/am/mflua.am.dt texlive-base-20190410/source/texk/web2c/mfluadir/am/mflua.am ---- texlive-base-20190410/source/texk/web2c/mfluadir/am/mflua.am.dt 2017-04-16 06:11:22.000000000 -0400 -+++ texlive-base-20190410/source/texk/web2c/mfluadir/am/mflua.am 2019-05-23 15:07:41.663729872 -0400 -@@ -110,7 +110,7 @@ EXTRA_DIST += \ - - # MFLua tests - # --mflua_tests = mfluadir/mfluatraptest.test -+mflua_tests = - mfluadir/mfluatraptest.log: mflua$(EXEEXT) gftype$(EXEEXT) tftopl$(EXEEXT) - EXTRA_DIST += $(mflua_tests) - -diff -up texlive-base-20190410/source/texk/web2c/mfluajitdir/am/mfluajit.am.dt texlive-base-20190410/source/texk/web2c/mfluajitdir/am/mfluajit.am ---- texlive-base-20190410/source/texk/web2c/mfluajitdir/am/mfluajit.am.dt 2017-04-16 06:11:22.000000000 -0400 -+++ texlive-base-20190410/source/texk/web2c/mfluajitdir/am/mfluajit.am 2019-05-23 15:07:41.663729872 -0400 -@@ -106,7 +106,7 @@ EXTRA_DIST += \ - - # MFLuaJIT tests - # --mfluajit_tests = mfluajitdir/mfluajittraptest.test -+mfluajit_tests = - mfluajitdir/mfluajittraptest.log: mfluajit$(EXEEXT) gftype$(EXEEXT) tftopl$(EXEEXT) - EXTRA_DIST += $(mfluajit_tests) - -diff -up texlive-base-20190410/source/texk/web2c/pdftexdir/am/pdftex.am.dt texlive-base-20190410/source/texk/web2c/pdftexdir/am/pdftex.am ---- texlive-base-20190410/source/texk/web2c/pdftexdir/am/pdftex.am.dt 2019-05-23 15:07:41.663729872 -0400 -+++ texlive-base-20190410/source/texk/web2c/pdftexdir/am/pdftex.am 2019-05-23 15:09:34.941250514 -0400 -@@ -94,8 +94,8 @@ EXTRA_DIST += \ - - # pdfTeX tests - # --pdftex_tests = pdftexdir/wprob.test pdftexdir/pdftex.test \ -- pdftexdir/pdfimage.test pdftexdir/expanded.test -+pdftex_tests = pdftexdir/pdftex.test \ -+ pdftexdir/expanded.test - - pdftexdir/wprob.log pdftexdir/pdftex.log \ - pdftexdir/pdfimage.log pdftexdir/expanded.log: pdftex$(EXEEXT) -diff -up texlive-base-20190410/source/texk/web2c/ptexdir/am/ptex.am.dt texlive-base-20190410/source/texk/web2c/ptexdir/am/ptex.am ---- texlive-base-20190410/source/texk/web2c/ptexdir/am/ptex.am.dt 2019-02-06 05:58:23.000000000 -0500 -+++ texlive-base-20190410/source/texk/web2c/ptexdir/am/ptex.am 2019-05-23 15:07:41.664729850 -0400 -@@ -167,7 +167,7 @@ EXTRA_DIST += \ - - # pTeX Tests - # --ptex_tests = ptexdir/ptriptest.test -+ptex_tests = - ptexdir/ptriptest.log: ptex$(EXEEXT) dvitype$(EXEEXT) pltotf$(EXEEXT) tftopl$(EXEEXT) - pweb_tests = \ - ptexdir/pbibtex.test \ -diff -up texlive-base-20190410/source/texk/web2c/uptexdir/am/uptex.am.dt texlive-base-20190410/source/texk/web2c/uptexdir/am/uptex.am ---- texlive-base-20190410/source/texk/web2c/uptexdir/am/uptex.am.dt 2018-08-18 07:45:50.000000000 -0400 -+++ texlive-base-20190410/source/texk/web2c/uptexdir/am/uptex.am 2019-05-23 15:07:41.664729850 -0400 -@@ -157,7 +157,7 @@ EXTRA_DIST += \ - uptexdir/ChangeLog - - # upTeX Tests --uptex_tests = uptexdir/uptriptest.test -+uptex_tests = - uptexdir/uptriptest.log: uptex$(EXEEXT) dvitype$(EXEEXT) pltotf$(EXEEXT) tftopl$(EXEEXT) - upweb_tests = \ - uptexdir/upbibtex.test \ -diff -up texlive-base-20190410/source/texk/web2c/xetexdir/am/xetex.am.dt texlive-base-20190410/source/texk/web2c/xetexdir/am/xetex.am ---- texlive-base-20190410/source/texk/web2c/xetexdir/am/xetex.am.dt 2018-01-17 17:54:13.000000000 -0500 -+++ texlive-base-20190410/source/texk/web2c/xetexdir/am/xetex.am 2019-05-23 15:07:41.664729850 -0400 -@@ -200,7 +200,6 @@ EXTRA_DIST += \ - # XeTeX Tests - # - xetex_tests = \ -- xetexdir/xetex-bug73.test \ - xetexdir/xetex.test - xetexdir/xetex-bug73.log xetexdir/xetex.log: xetex$(EXEEXT) - diff --git a/texlive-20190410-dvisvgm-fix-libgs-detection.patch b/texlive-20190410-dvisvgm-fix-libgs-detection.patch deleted file mode 100644 index d797831..0000000 --- a/texlive-20190410-dvisvgm-fix-libgs-detection.patch +++ /dev/null @@ -1,25 +0,0 @@ -diff -up texlive-base-20190410/source/texk/dvisvgm/configure.ac.fix-libgs-detection texlive-base-20190410/source/texk/dvisvgm/configure.ac ---- texlive-base-20190410/source/texk/dvisvgm/configure.ac.fix-libgs-detection 2019-03-10 14:21:29.000000000 -0400 -+++ texlive-base-20190410/source/texk/dvisvgm/configure.ac 2019-05-23 19:07:30.447057345 -0400 -@@ -66,7 +66,8 @@ AS_IF([test "x$have_libgs" = "xno"], - # Ghostscript not found, check for dlopen - [AC_CHECK_LIB(dl, dlopen,, - [AC_DEFINE(DISABLE_GS, 1, [Set to 1 if PostScript support should be disabled])] -- [AC_MSG_WARN(PostScript support disabled)])]) -+ [AC_MSG_WARN(PostScript support disabled)])], -+ [test "x$have_libgs" = "xyes"], [HAVE_LIBGS=1]) - fi - - if test -z "$HAVE_LIBGS" || test "$HAVE_LIBGS" -eq 0; then -diff -up texlive-base-20190410/source/texk/dvisvgm/configure.fix-libgs-detection texlive-base-20190410/source/texk/dvisvgm/configure ---- texlive-base-20190410/source/texk/dvisvgm/configure.fix-libgs-detection 2019-05-23 19:07:45.568703333 -0400 -+++ texlive-base-20190410/source/texk/dvisvgm/configure 2019-05-23 19:09:31.341219687 -0400 -@@ -22013,6 +22013,8 @@ $as_echo "#define DISABLE_GS 1" >>confde - $as_echo "$as_me: WARNING: PostScript support disabled" >&2;} - fi - -+elif test "x$have_libgs" = "xyes"; then : -+ HAVE_LIBGS=1 - fi - fi - diff --git a/texlive-20190410-poppler-0.73.patch b/texlive-20190410-poppler-0.73.patch deleted file mode 100644 index 35e77e0..0000000 --- a/texlive-20190410-poppler-0.73.patch +++ /dev/null @@ -1,249 +0,0 @@ -diff -up texlive-base-20190410/source/texk/web2c/pdftexdir/pdftoepdf.cc.poppler-0.73 texlive-base-20190410/source/texk/web2c/pdftexdir/pdftoepdf.cc ---- texlive-base-20190410/source/texk/web2c/pdftexdir/pdftoepdf.cc.poppler-0.73 2019-05-23 15:50:17.849768543 -0400 -+++ texlive-base-20190410/source/texk/web2c/pdftexdir/pdftoepdf.cc 2019-05-23 16:00:41.022262790 -0400 -@@ -120,7 +120,7 @@ struct UsedEncoding { - - static InObj *inObjList; - static UsedEncoding *encodingList; --static GBool isInit = gFalse; -+static bool isInit = false; - - // -------------------------------------------------------------------- - // Maintain list of open embedded PDF files -@@ -275,7 +275,7 @@ static int getNewObjectNumber(Ref ref) - - static void copyObject(Object *); - --static void copyName(char *s) -+static void copyName(const char *s) - { - pdf_puts("/"); - for (; *s != 0; s++) { -@@ -310,7 +310,7 @@ static void copyDict(Object * obj) - static void copyFontDict(Object * obj, InObj * r) - { - int i, l; -- char *key; -+ const char *key; - if (!obj->isDict()) - pdftex_fail("PDF inclusion: invalid dict type <%s>", - obj->getTypeName()); -@@ -382,7 +382,7 @@ static bool embeddableFont(Object * font - return false; - } - --static void copyFont(char *tag, Object * fontRef) -+static void copyFont(const char *tag, Object * fontRef) - { - Object fontdict, subtype, basefont, fontdescRef, fontdesc, charset, - stemV; -@@ -418,7 +418,7 @@ static void copyFont(char *tag, Object * - && fontdescRef.isRef() - && fontdesc.isDict() - && embeddableFont(&fontdesc) -- && (fontmap = lookup_fontmap(basefont.getName())) != NULL) { -+ && (fontmap = lookup_fontmap((char *)basefont.getName())) != NULL) { - // round /StemV value, since the PDF input is a float - // (see Font Descriptors in PDF reference), but we only store an - // integer, since we don't want to change the struct. -@@ -427,7 +427,7 @@ static void copyFont(char *tag, Object * - charset = fontdesc.dictLookup("CharSet"); - if (!charset.isNull() && - charset.isString() && is_subsetable(fontmap)) -- epdf_mark_glyphs(fd, charset.getString()->getCString()); -+ epdf_mark_glyphs(fd, (char *)charset.getString()->c_str()); - else - embed_whole_font(fd); - addFontDesc(fontdescRef.getRef(), fd); -@@ -467,7 +467,7 @@ static void copyFontResources(Object * o - pdf_puts(">>\n"); - } - --static void copyOtherResources(Object * obj, char *key) -+static void copyOtherResources(Object * obj, const char *key) - { - // copies all other resources (write_epdf handles Fonts and ProcSets), - -@@ -554,8 +554,8 @@ static void copyObject(Object * obj) - Object obj1; - int i, l, c; - Ref ref; -- char *p; -- GString *s; -+ const char *p; -+ const GString *s; - if (obj->isBool()) { - pdf_printf("%s", obj->getBool()? "true" : "false"); - } else if (obj->isInt()) { -@@ -566,7 +566,7 @@ static void copyObject(Object * obj) - pdf_printf("%s", convertNumToPDF(obj->getNum())); - } else if (obj->isString()) { - s = obj->getString(); -- p = s->getCString(); -+ p = s->c_str(); - l = s->getLength(); - if (strlen(p) == (unsigned int) l) { - pdf_puts("("); -@@ -664,7 +664,7 @@ static void writeEncodings() - ("PDF inclusion: CID fonts are not supported" - " (try to disable font replacement to fix this)"); - } -- if ((s = ((Gfx8BitFont *) r->font)->getCharName(i)) != 0) -+ if ((s = (char *) ((Gfx8BitFont *) r->font)->getCharName(i)) != 0) - glyphNames[i] = s; - else - glyphNames[i] = notdef; -@@ -683,7 +683,7 @@ static void writeEncodings() - } - - // get the pagebox according to the pagebox_spec --static PDFRectangle *get_pagebox(Page * page, int pagebox_spec) -+static const PDFRectangle *get_pagebox(Page * page, int pagebox_spec) - { - if (pagebox_spec == pdfboxspecmedia) - return page->getMediaBox(); -@@ -715,7 +715,7 @@ read_pdf_info(char *image_name, char *pa - { - PdfDocument *pdf_doc; - Page *page; -- PDFRectangle *pagebox; -+ const PDFRectangle *pagebox; - #ifdef POPPLER_VERSION - int pdf_major_version_found, pdf_minor_version_found; - #else -@@ -724,8 +724,8 @@ read_pdf_info(char *image_name, char *pa - // initialize - if (!isInit) { - globalParams = new GlobalParams(); -- globalParams->setErrQuiet(gFalse); -- isInit = gTrue; -+ globalParams->setErrQuiet(false); -+ isInit = true; - } - // open PDF file - pdf_doc = find_add_document(image_name); -@@ -822,7 +822,7 @@ void write_epdf(void) - Object groupDict; - bool writeSepGroup = false; - Object info; -- char *key; -+ const char *key; - char s[256]; - int i, l; - int rotate; -@@ -849,7 +849,7 @@ void write_epdf(void) - pageObj = xref->fetch(pageRef->num, pageRef->gen); - pageDict = pageObj.getDict(); - rotate = page->getRotate(); -- PDFRectangle *pagebox; -+ const PDFRectangle *pagebox; - // write the Page header - pdf_puts("/Type /XObject\n"); - pdf_puts("/Subtype /Form\n"); -@@ -977,7 +977,7 @@ The changes below seem to work fine. - } - l = dic1.getLength(); - for (i = 0; i < l; i++) { -- groupDict.dictAdd(copyString(dic1.getKey(i)), -+ groupDict.dictAdd(dic1.getKey(i), - dic1.getValNF(i)); - } - // end modification -diff -up texlive-base-20190410/source/texk/web2c/pdftexdir/pdftosrc.cc.poppler-0.73 texlive-base-20190410/source/texk/web2c/pdftexdir/pdftosrc.cc ---- texlive-base-20190410/source/texk/web2c/pdftexdir/pdftosrc.cc.poppler-0.73 2019-05-23 15:50:17.850768522 -0400 -+++ texlive-base-20190410/source/texk/web2c/pdftexdir/pdftosrc.cc 2019-05-23 15:50:17.858768349 -0400 -@@ -109,7 +109,7 @@ int main(int argc, char *argv[]) - fprintf(stderr, "No SourceName found\n"); - exit(1); - } -- outname = srcName.getString()->getCString(); -+ outname = (char *)srcName.getString()->c_str(); - // We cannot free srcName, as objname shares its string. - // srcName.free(); - } else if (objnum > 0) { -@@ -118,7 +118,7 @@ int main(int argc, char *argv[]) - fprintf(stderr, "Not a Stream object\n"); - exit(1); - } -- sprintf(buf, "%s", fileName->getCString()); -+ sprintf(buf, "%s", fileName->c_str()); - if ((p = strrchr(buf, '.')) == 0) - p = strchr(buf, 0); - if (objgen == 0) -@@ -128,7 +128,7 @@ int main(int argc, char *argv[]) - outname = buf; - } else { // objnum < 0 means we are extracting the XRef table - extract_xref_table = true; -- sprintf(buf, "%s", fileName->getCString()); -+ sprintf(buf, "%s", fileName->c_str()); - if ((p = strrchr(buf, '.')) == 0) - p = strchr(buf, 0); - sprintf(p, ".xref"); -@@ -161,7 +161,7 @@ int main(int argc, char *argv[]) - Object objStr, obj1, obj2; - int nObjects, first, n; - int localOffset = 0; -- Guint firstOffset; -+ unsigned int firstOffset; - - objStr = xref->fetch(e->offset, 0); - assert(objStr.isStream()); -@@ -173,9 +173,9 @@ int main(int argc, char *argv[]) - - // parse the header: object numbers and offsets - objStr.streamReset(); -- str = new EmbedStream(objStr.getStream(), Object(objNull), gTrue, first); -+ str = new EmbedStream(objStr.getStream(), Object(objNull), true, first); - lexer = new Lexer(xref, str); -- parser = new Parser(xref, lexer, gFalse); -+ parser = new Parser(xref, lexer, false); - for (n = 0; n < nObjects; ++n) { - obj1 = parser->getObj(); - obj2 = parser->getObj(); -diff -up texlive-base-20190410/source/texk/web2c/xetexdir/pdfimage.cpp.poppler-0.73 texlive-base-20190410/source/texk/web2c/xetexdir/pdfimage.cpp ---- texlive-base-20190410/source/texk/web2c/xetexdir/pdfimage.cpp.poppler-0.73 2018-12-25 00:48:22.000000000 -0500 -+++ texlive-base-20190410/source/texk/web2c/xetexdir/pdfimage.cpp 2019-05-23 15:50:17.858768349 -0400 -@@ -78,26 +78,29 @@ pdf_get_rect(char* filename, int page_nu - - Page* page = doc->getCatalog()->getPage(page_num); - -- const PDFRectangle* r; -+ PDFRectangle* r; -+ const PDFRectangle* cr; - switch (pdf_box) { - default: - case pdfbox_crop: -- r = page->getCropBox(); -+ cr = page->getCropBox(); - break; - case pdfbox_media: -- r = page->getMediaBox(); -+ cr = page->getMediaBox(); - break; - case pdfbox_bleed: -- r = page->getBleedBox(); -+ cr = page->getBleedBox(); - break; - case pdfbox_trim: -- r = page->getTrimBox(); -+ cr = page->getTrimBox(); - break; - case pdfbox_art: -- r = page->getArtBox(); -+ cr = page->getArtBox(); - break; - } - -+ r = new PDFRectangle (cr->x1, cr->y1, cr->x2, cr->y2); -+ - int RotAngle = 0; - RotAngle = (int)page->getRotate() % 360; - if (RotAngle < 0) -@@ -112,6 +115,7 @@ pdf_get_rect(char* filename, int page_nu - box->x = 72.27 / 72 * my_fmin(r->x1, r->x2); - box->y = 72.27 / 72 * my_fmin(r->y1, r->y2); - -+ delete r; - delete doc; - - return 0; diff --git a/texlive-20190410-selinux-context.patch b/texlive-20190410-selinux-context.patch deleted file mode 100644 index b167984..0000000 --- a/texlive-20190410-selinux-context.patch +++ /dev/null @@ -1,14 +0,0 @@ -diff -up texlive-base-20190410/source/texk/kpathsea/mktexlsr.selinux texlive-base-20190410/source/texk/kpathsea/mktexlsr ---- texlive-base-20190410/source/texk/kpathsea/mktexlsr.selinux 2018-01-16 19:55:32.000000000 -0500 -+++ texlive-base-20190410/source/texk/kpathsea/mktexlsr 2019-05-23 14:58:50.837886937 -0400 -@@ -228,7 +228,8 @@ for TEXMFLS_R in "$@"; do - until PERMS=`kpsestat = "$db_file"`; do sleep 1; done - chmod $PERMS "$db_file_tmp" - rm -f "$db_file" -- mv "$db_file_tmp" "$db_file" -+ # selinux fix -+ cp "$db_file_tmp" "$db_file" - rm -rf "$db_dir_tmp" - done - -diff -up texlive-base-20190410/source/texk/texlive/linked_scripts/texlive/fmtutil.pl.selinux texlive-base-20190410/source/texk/texlive/linked_scripts/texlive/fmtutil.pl diff --git a/texlive-20190410-texinfo-path-fix.patch b/texlive-20190410-texinfo-path-fix.patch deleted file mode 100644 index cf6369b..0000000 --- a/texlive-20190410-texinfo-path-fix.patch +++ /dev/null @@ -1,22 +0,0 @@ -diff -up texlive-base-20190410/source/texk/kpathsea/texmf.cnf.texinfo-fix texlive-base-20190410/source/texk/kpathsea/texmf.cnf ---- texlive-base-20190410/source/texk/kpathsea/texmf.cnf.texinfo-fix 2019-05-23 15:03:28.928056938 -0400 -+++ texlive-base-20190410/source/texk/kpathsea/texmf.cnf 2019-05-23 15:06:38.997072248 -0400 -@@ -82,6 +82,9 @@ TEXMFSYSCONFIG = $TEXMFROOT/texmf-config - % to %USERPROFILE% on Windows, $HOME otherwise. - TEXMFHOME = ~/texmf - -+% Texinfo on Fedora lives out of $TEXMFROOT -+TEXINFOHOME = $SELFAUTODIR/share/texmf -+ - % TEXMFVAR, where texconfig/updmap/fmtutil store cached runtime data. - TEXMFVAR = ~/.texlive2019/texmf-var - -@@ -107,7 +110,7 @@ TEXMFAUXTREES = {} - % The odd-looking $TEXMFAUXTREES$TEXMF... construct is so that if no auxtree is - % ever defined (the 99% common case), no extra elements will be added to - % the search paths. tlmgr takes care to end any value with a trailing comma. --TEXMF = {$TEXMFAUXTREES$TEXMFCONFIG,$TEXMFVAR,$TEXMFHOME,!!$TEXMFLOCAL,!!$TEXMFSYSCONFIG,!!$TEXMFSYSVAR,!!$TEXMFDIST} -+TEXMF = {$TEXMFAUXTREES$TEXMFCONFIG,$TEXMFVAR,$TEXMFHOME,$TEXINFOHOME,!!$TEXMFLOCAL,!!$TEXMFSYSCONFIG,!!$TEXMFSYSVAR,!!$TEXMFDIST} - - % Where to look for, and where mktexlsr creates, ls-R files. By default, - % this is all and only the !! elements of TEXMF, so that mktexlsr does not diff --git a/texlive-20190410-tlmgr-ignore-warning.patch b/texlive-20190410-tlmgr-ignore-warning.patch deleted file mode 100644 index 34636dd..0000000 --- a/texlive-20190410-tlmgr-ignore-warning.patch +++ /dev/null @@ -1,79 +0,0 @@ -diff -up ./scripts/texlive/tlmgr.pl.ignore-warning ./scripts/texlive/tlmgr.pl ---- ./scripts/texlive/tlmgr.pl.ignore-warning 2019-05-24 21:35:57.384845754 -0400 -+++ ./scripts/texlive/tlmgr.pl 2019-05-24 21:39:32.703577109 -0400 -@@ -231,6 +231,7 @@ my %action_specification = ( - "dry-run|n" => 1, - "file" => 1, - "force" => 1, -+ "ignore-warning" => 1, - "no-depends" => 1, - "no-depends-at-all" => 1, - "reinstall" => 1, -@@ -331,6 +332,7 @@ my %action_specification = ( - "dry-run|n" => 1, - "exclude" => "=s@", - "force" => 1, -+ "ignore-warning" => 1, - "list" => 1, - "no-auto-install" => 1, - "no-auto-remove" => 1, -@@ -2613,6 +2615,15 @@ sub upd_info { - } - - sub action_update { -+ if (!($opts{"ignore-warning"})) { -+ print("*** WARNING ***: Performing this action will likely destroy the Fedora TeXLive install on your system.\n"); -+ print("*** WARNING ***: This is almost NEVER what you want to do.\n"); -+ print("*** WARNING ***: Try using dnf install/update instead.\n"); -+ print("*** WARNING ***: If performing this action is really what you want to do, pass the \"ignore-warning\" option.\n"); -+ print("*** WARNING ***: But please do not file any bugs with the OS Vendor.\n"); -+ exit; -+ } -+ - init_local_db(1); - $opts{"no-depends"} = 1 if $opts{"no-depends-at-all"}; - -@@ -3618,6 +3629,15 @@ sub check_announce_format_triggers { - # anymore! That has all to be done by the caller. - # - sub action_install { -+ if (!($opts{"ignore-warning"})) { -+ print("*** WARNING ***: Performing this action will likely destroy the Fedora TeXLive install on your system.\n"); -+ print("*** WARNING ***: This is almost NEVER what you want to do.\n"); -+ print("*** WARNING ***: Try using dnf install/update instead.\n"); -+ print("*** WARNING ***: If performing this action is really what you want to do, pass the \"ignore-warning\" option.\n"); -+ print("*** WARNING ***: But please do not file any bugs with the OS Vendor.\n"); -+ exit; -+ } -+ - init_local_db(1); - my $ret = $F_OK; - return ($F_ERROR) if !check_on_writable(); -@@ -8151,6 +8171,13 @@ If updates to C itself (or other - infrastructure) are present, C will bail out and not perform the - installation unless this option is given. Not recommended. - -+=item B<--ignore-warning> -+ -+The tlmgr tool can really ruin a Fedora install of TeXLive. -+We have added a warning check here to try to keep you from -+blindly following a tutorial and doing this. If you still want to -+proceed, just use this option. -+ - =item B<--no-depends> - - Do not install dependencies. (By default, installing a package ensures -@@ -8846,6 +8873,13 @@ In short: - Nothing is actually installed; instead, the actions to be performed are - written to the terminal. This is a more detailed report than C<--list>. - -+=item B<--ignore-warning> -+ -+The tlmgr tool can really ruin a Fedora install of TeXLive. -+We have added a warning check here to try to keep you from -+blindly following a tutorial and doing this. If you still want to -+proceed, just use this option. -+ - =item B<--list> [I] - - Concisely list the packages which would be updated, newly installed, or diff --git a/texlive-20200327-disable-more-failing-tests.patch b/texlive-20200327-disable-more-failing-tests.patch deleted file mode 100644 index 8c277e2..0000000 --- a/texlive-20200327-disable-more-failing-tests.patch +++ /dev/null @@ -1,142 +0,0 @@ -diff -up texlive-base-20200327/source/texk/web2c/am/texmf.am.dt texlive-base-20200327/source/texk/web2c/am/texmf.am ---- texlive-base-20200327/source/texk/web2c/am/texmf.am.dt 2019-12-17 14:24:59.000000000 -0500 -+++ texlive-base-20200327/source/texk/web2c/am/texmf.am 2020-04-20 14:33:43.465656684 -0400 -@@ -75,7 +75,7 @@ DISTCLEANFILES += $(nodist_tex_SOURCES) - - # TeX tests - # --tex_tests = triptest.test tests/write18-quote-test.pl tests/tex-closeout.test -+tex_tests = tests/write18-quote-test.pl tests/tex-closeout.test - triptest.log: tex$(EXEEXT) dvitype$(EXEEXT) pltotf$(EXEEXT) tftopl$(EXEEXT) - tests/write18-quote-test.log tests/tex-closeout.test: tex$(EXEEXT) - EXTRA_DIST += $(tex_tests) -@@ -203,7 +203,7 @@ DISTCLEANFILES += $(nodist_libmf_a_SOURC - - # Metafont tests - # --mf_tests = mftraptest.test -+mf_tests = - mftraptest.log: mf$(EXEEXT) gftype$(EXEEXT) tftopl$(EXEEXT) - EXTRA_DIST += $(mf_tests) - if MF -diff -up texlive-base-20200327/source/texk/web2c/eptexdir/am/eptex.am.dt texlive-base-20200327/source/texk/web2c/eptexdir/am/eptex.am ---- texlive-base-20200327/source/texk/web2c/eptexdir/am/eptex.am.dt 2020-04-20 14:32:46.325851485 -0400 -+++ texlive-base-20200327/source/texk/web2c/eptexdir/am/eptex.am 2020-04-20 14:34:20.015892398 -0400 -@@ -83,7 +83,7 @@ EXTRA_DIST += \ - - # e-pTeX Tests - # --eptex_tests = eptexdir/eptriptest.test eptexdir/pdfprimitive.test eptexdir/epver.test -+eptex_tests = eptexdir/epver.test - eptexdir/eptriptest.log: eptex$(EXEEXT) dvitype$(EXEEXT) pltotf$(EXEEXT) tftopl$(EXEEXT) - eptexdir/pdfprimitive.log: eptex$(EXEEXT) - eptexdir/epver.log: eptex$(EXEEXT) -diff -up texlive-base-20200327/source/texk/web2c/euptexdir/am/euptex.am.dt texlive-base-20200327/source/texk/web2c/euptexdir/am/euptex.am ---- texlive-base-20200327/source/texk/web2c/euptexdir/am/euptex.am.dt 2020-04-20 14:32:46.326851464 -0400 -+++ texlive-base-20200327/source/texk/web2c/euptexdir/am/euptex.am 2020-04-20 14:34:55.625147806 -0400 -@@ -84,7 +84,7 @@ EXTRA_DIST += \ - - # e-upTeX Tests - # --euptex_tests = euptexdir/euptriptest.test euptexdir/pdfprimitive.test euptexdir/eupver.test -+euptex_tests = euptexdir/eupver.test - euptexdir/euptriptest.log: euptex$(EXEEXT) dvitype$(EXEEXT) pltotf$(EXEEXT) tftopl$(EXEEXT) - euptexdir/pdfprimitive.log: euptex$(EXEEXT) - euptexdir/eupver.log: euptex$(EXEEXT) -diff -up texlive-base-20200327/source/texk/web2c/mfluadir/am/mflua.am.dt texlive-base-20200327/source/texk/web2c/mfluadir/am/mflua.am ---- texlive-base-20200327/source/texk/web2c/mfluadir/am/mflua.am.dt 2017-04-16 06:11:22.000000000 -0400 -+++ texlive-base-20200327/source/texk/web2c/mfluadir/am/mflua.am 2020-04-20 14:32:46.326851464 -0400 -@@ -110,7 +110,7 @@ EXTRA_DIST += \ - - # MFLua tests - # --mflua_tests = mfluadir/mfluatraptest.test -+mflua_tests = - mfluadir/mfluatraptest.log: mflua$(EXEEXT) gftype$(EXEEXT) tftopl$(EXEEXT) - EXTRA_DIST += $(mflua_tests) - -diff -up texlive-base-20200327/source/texk/web2c/mfluajitdir/am/mfluajit.am.dt texlive-base-20200327/source/texk/web2c/mfluajitdir/am/mfluajit.am ---- texlive-base-20200327/source/texk/web2c/mfluajitdir/am/mfluajit.am.dt 2017-04-16 06:11:22.000000000 -0400 -+++ texlive-base-20200327/source/texk/web2c/mfluajitdir/am/mfluajit.am 2020-04-20 14:32:46.326851464 -0400 -@@ -106,7 +106,7 @@ EXTRA_DIST += \ - - # MFLuaJIT tests - # --mfluajit_tests = mfluajitdir/mfluajittraptest.test -+mfluajit_tests = - mfluajitdir/mfluajittraptest.log: mfluajit$(EXEEXT) gftype$(EXEEXT) tftopl$(EXEEXT) - EXTRA_DIST += $(mfluajit_tests) - -diff -up texlive-base-20200327/source/texk/web2c/pdftexdir/am/pdftex.am.dt texlive-base-20200327/source/texk/web2c/pdftexdir/am/pdftex.am ---- texlive-base-20200327/source/texk/web2c/pdftexdir/am/pdftex.am.dt 2020-04-20 14:32:46.326851464 -0400 -+++ texlive-base-20200327/source/texk/web2c/pdftexdir/am/pdftex.am 2020-04-20 14:35:48.451043188 -0400 -@@ -95,8 +95,8 @@ EXTRA_DIST += \ - - # pdfTeX tests - # --pdftex_tests = pdftexdir/wprob.test pdftexdir/pdftex.test \ -- pdftexdir/pdfimage.test pdftexdir/expanded.test \ -+pdftex_tests = pdftexdir/pdftex.test \ -+ pdftexdir/expanded.test \ - pdftexdir/tests/cnfline.test - - pdftexdir/wprob.log pdftexdir/pdftex.log \ -diff -up texlive-base-20200327/source/texk/web2c/ptexdir/am/ptex.am.dt texlive-base-20200327/source/texk/web2c/ptexdir/am/ptex.am ---- texlive-base-20200327/source/texk/web2c/ptexdir/am/ptex.am.dt 2020-04-20 14:32:46.327851443 -0400 -+++ texlive-base-20200327/source/texk/web2c/ptexdir/am/ptex.am 2020-04-20 14:36:23.750305069 -0400 -@@ -168,7 +168,7 @@ EXTRA_DIST += \ - - # pTeX Tests - # --ptex_tests = ptexdir/ptriptest.test ptexdir/pver.test -+ptex_tests = ptexdir/pver.test - ptexdir/ptriptest.log: ptex$(EXEEXT) dvitype$(EXEEXT) pltotf$(EXEEXT) tftopl$(EXEEXT) - ptexdir/pver.log: ptex$(EXEEXT) - pweb_tests = \ -diff -up texlive-base-20200327/source/texk/web2c/uptexdir/am/uptex.am.dt texlive-base-20200327/source/texk/web2c/uptexdir/am/uptex.am ---- texlive-base-20200327/source/texk/web2c/uptexdir/am/uptex.am.dt 2020-04-20 14:32:46.327851443 -0400 -+++ texlive-base-20200327/source/texk/web2c/uptexdir/am/uptex.am 2020-04-20 14:36:53.266687857 -0400 -@@ -158,7 +158,7 @@ EXTRA_DIST += \ - uptexdir/ChangeLog - - # upTeX Tests --uptex_tests = uptexdir/uptriptest.test uptexdir/upver.test -+uptex_tests = uptexdir/upver.test - uptexdir/uptriptest.log: uptex$(EXEEXT) dvitype$(EXEEXT) pltotf$(EXEEXT) tftopl$(EXEEXT) - uptexdir/upver.log: uptex$(EXEEXT) - upweb_tests = \ -diff -up texlive-base-20200327/source/texk/web2c/xetexdir/am/xetex.am.dt texlive-base-20200327/source/texk/web2c/xetexdir/am/xetex.am ---- texlive-base-20200327/source/texk/web2c/xetexdir/am/xetex.am.dt 2020-04-20 14:32:46.327851443 -0400 -+++ texlive-base-20200327/source/texk/web2c/xetexdir/am/xetex.am 2020-04-20 14:37:13.223270564 -0400 -@@ -201,7 +201,6 @@ EXTRA_DIST += \ - # - xetex_tests = \ - xetexdir/xetex-filedump.test \ -- xetexdir/xetex-bug73.test \ - xetexdir/xetex.test - xetexdir/xetex-filedump.log xetexdir/xetex-bug73.log xetexdir/xetex.log: xetex$(EXEEXT) - -diff -up texlive-base-20200327/source/texk/kpathsea/Makefile.am.dt texlive-base-20200327/source/texk/kpathsea/Makefile.am ---- texlive-base-20200327/source/texk/kpathsea/Makefile.am.dt 2020-04-20 15:49:39.282325550 -0400 -+++ texlive-base-20200327/source/texk/kpathsea/Makefile.am 2020-04-20 15:49:51.475074045 -0400 -@@ -275,7 +275,7 @@ uninstall-local: - AM_TESTS_ENVIRONMENT = LN_S='$(LN_S)'; export LN_S; - AM_TESTS_ENVIRONMENT += LT_OBJDIR='$(LT_OBJDIR)'; export LT_OBJDIR; - # --TESTS = tests/cnfline.test tests/cnfnewline.test -+TESTS = tests/cnfnewline.test - TESTS += tests/cnfnull.test tests/cnfprog.test - TESTS += tests/kpseaccess.test - TESTS += tests/kpsereadlink.test tests/kpsestat.test tests/kpsewhich.test -diff -up texlive-base-20200327/source/texk/kpathsea/Makefile.in.dt texlive-base-20200327/source/texk/kpathsea/Makefile.in ---- texlive-base-20200327/source/texk/kpathsea/Makefile.in.dt 2020-04-21 10:17:29.766949867 -0400 -+++ texlive-base-20200327/source/texk/kpathsea/Makefile.in 2020-04-21 10:17:36.926798780 -0400 -@@ -858,7 +858,7 @@ dist_noinst_DATA = texmf.cnf - AM_TESTS_ENVIRONMENT = LN_S='$(LN_S)'; export LN_S; \ - LT_OBJDIR='$(LT_OBJDIR)'; export LT_OBJDIR; - # --TESTS = tests/cnfline.test tests/cnfnewline.test tests/cnfnull.test \ -+TESTS = tests/cnfnewline.test tests/cnfnull.test \ - tests/cnfprog.test tests/kpseaccess.test \ - tests/kpsereadlink.test tests/kpsestat.test \ - tests/kpsewhich.test diff --git a/texlive-20200327-dviasm-py3.patch b/texlive-20200327-dviasm-py3.patch deleted file mode 100644 index 399a71c..0000000 --- a/texlive-20200327-dviasm-py3.patch +++ /dev/null @@ -1,318 +0,0 @@ -diff -up texlive-base-20200327/source/texk/texlive/linked_scripts/dviasm/dviasm.py.py3fix texlive-base-20200327/source/texk/texlive/linked_scripts/dviasm/dviasm.py ---- texlive-base-20200327/source/texk/texlive/linked_scripts/dviasm/dviasm.py.py3fix 2019-11-27 17:03:14.000000000 -0500 -+++ texlive-base-20200327/source/texk/texlive/linked_scripts/dviasm/dviasm.py 2020-09-18 17:30:44.000000000 -0400 -@@ -5,8 +5,8 @@ - # - # Copyright (C) 2007-2008 by Jin-Hwan Cho - # Copyright (C) 2011-2017 by Khaled Hosny --# Copyright (C) 2019 by Arthur Reutenauer --# Copyright (C) 2019 by Hironobu Yamashita -+# Copyright (C) 2019 by Arthur Reutenauer -+# Copyright (C) 2019-2020 by Hironobu Yamashita - # - # 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 -@@ -180,22 +180,26 @@ def GetInt(s): - except: return -1 - - def GetStrASCII(s): # used in Parse() -- if len(s) > 1 and ((s[0] == "'" and s[-1] == "'") or (s[0] == '"' and s[-1] == '"')): return [ord(c) for c in s[1:-1].decode('unicode_escape')] -+ if len(s) > 1 and ((s[0] == "'" and s[-1] == "'") or (s[0] == '"' and s[-1] == '"')): -+ return [ord(c) for c in s[1:-1].decode('unicode_escape')] - else: return '' - - def UCS2toJIS(c): -- s = c.encode('iso2022-jp') -+ try: -+ s = c.encode('iso2022-jp') -+ except UnicodeEncodeError: -+ s = c.encode('raw_unicode_escape') - if len(s) == 1: return ord(s) - else: return (s[3] << 8) + s[4] - - def GetStrUTF8(s): # used in Parse() - if len(s) > 1 and ((s[0] == "'" and s[-1] == "'") or (s[0] == '"' and s[-1] == '"')): -- t = s[1:-1] -+ t = s[1:-1].encode('raw_unicode_escape').decode('unicode_escape') - if is_ptex: return [UCS2toJIS(c) for c in t] - else: return [ord(c) for c in t] - else: return '' - --def PutStrASCII(t): # unsed in Dump() -+def PutStrASCII(t): # used in Dump() - s = '' - for o in t: - if o == 92: s += '\\\\' -@@ -206,7 +210,7 @@ def PutStrASCII(t): # unsed in Dump() - warning('Not support characters > 65535; may skip %d.\n' % o) - return "'%s'" % s - --def PutStrLatin1(t): # unsed in Dump() -+def PutStrLatin1(t): # used in Dump() - s = '' - for o in t: - if o == 92: s += '\\\\' -@@ -221,14 +225,14 @@ def DecodeISO2022JP(c): - try: - s = bytes.fromhex("1b 24 42 %02x %02x" % (c//256, c%256)).decode('iso2022-jp') - except UnicodeDecodeError: -- s = '' -+ s = chr(c) - return s - --def PutStrUTF8(t): # unsed in Dump() -+def PutStrUTF8(t): # used in Dump() - s = '' - if is_subfont: - for o in t: -- s += chr((subfont_idx << 8) + o).encode('utf8') -+ s += chr((subfont_idx << 8) + o) - else: # not the case of subfont - for o in t: - if o == 92: s += '\\\\' -@@ -239,16 +243,6 @@ def PutStrUTF8(t): # unsed in Dump() - else: s += chr(o) - return "'%s'" % s - --def PutStrSJIS(t): # unsed in Dump() -- s = '' -- for o in t: -- if o == 92: s += '\\\\' -- elif 32 <= o < 127: s += chr(o) -- elif o < 128: s += ('\\x%02x' % o) -- else: -- s += DecodeISO2022JP(o).encode('sjis') -- return "'%s'" % s -- - def IsFontChanged(f, z): - global cur_font, cur_ssize, subfont_idx, is_subfont - for n in subfont_list: -@@ -461,7 +455,7 @@ class DVI(object): - if o == SET_RULE: - s.append([SET_RULE, [p, SignedQuad(fp)]]) - elif o in (PUT1, PUT2, PUT3, PUT4): -- s.append([PUT1, p]) -+ s.append([PUT1, [p]]) - elif o == PUT_RULE: - s.append([PUT_RULE, [p, SignedQuad(fp)]]) - elif o == NOP: -@@ -498,7 +492,7 @@ class DVI(object): - elif o < FNT_NUM_0 + 64 or o in (FNT1, FNT2, FNT3, FNT4): - s.append([FNT1, p]) - elif o in (XXX1, XXX2, XXX3, XXX4): -- q = fp.read(p).decode('utf8') -+ q = fp.read(p) - s.append([XXX1, q]) - elif o in (FNT_DEF1, FNT_DEF2, FNT_DEF3, FNT_DEF4): - self.DefineFont(p, fp) -@@ -622,11 +616,11 @@ class DVI(object): - if cmd[0] == SET1: - for o in cmd[1]: - if o < 128: s.append(bytes.fromhex('%02x' % (SET_CHAR_0 + o))) -- else: s.append(self.CmdPair([SET1, o])) -+ else: s.append(self.CmdPairU([SET1, o])) - elif cmd[0] in (SET_RULE, PUT_RULE): - s.append(bytes.fromhex('%02x' % cmd[0]) + PutSignedQuad(cmd[1][0]) + PutSignedQuad(cmd[1][1])) - elif cmd[0] == PUT1: -- s.append(self.CmdPair([PUT1, cmd[1][0]])) -+ s.append(self.CmdPairU([PUT1, cmd[1][0]])) - elif cmd[0] in (RIGHT1, DOWN1): - s.append(self.CmdPair(cmd)) - elif cmd[0] in (W0, X0, Y0, Z0): -@@ -648,12 +642,22 @@ class DVI(object): - z = cmd[1]; s.append(self.CmdPair(cmd)) - elif cmd[0] == FNT1: - if cmd[1] < 64: s.append(bytes.fromhex('%02x' % (FNT_NUM_0 + cmd[1]))) -- else: s.append(self.CmdPair(cmd)) -+ else: s.append(self.CmdPairU(cmd)) - elif cmd[0] == XXX1: -- cmd1 = cmd[1].encode('utf8') -- l = len(cmd[1]) -- if l < 256: s.append(bytes.fromhex('%02x' % XXX1) + bytes.fromhex('%02x' % l) + cmd1) -- else: s.append(bytes.fromhex('%02x' % XXX4) + PutSignedQuad(l) + cmd1) -+ if options.xxx_encoding == "none": -+ l = len(cmd[1]) # leave encoding untouched -+ else: -+ cmd1 = cmd[1].encode(options.xxx_encoding) -+ l = len(cmd1) -+ if l < 256: -+ s.append(bytes.fromhex('%02x' % XXX1) + bytes.fromhex('%02x' % l)) -+ else: -+ s.append(bytes.fromhex('%02x' % XXX4) + PutSignedQuad(l)) -+ if options.xxx_encoding == "none": -+ for o in cmd[1]: -+ s.append(bytes.fromhex('%02x' % ord(o))) -+ else: -+ s.append(cmd1) - elif cmd[0] == DIR: - s.append(bytes.fromhex('%02x' % DIR) + bytes.fromhex('%02x' % cmd[1])) - elif cmd[0] == BEGIN_REFLECT: -@@ -685,7 +689,8 @@ class DVI(object): - def WriteFontDefinitions(self, fp): - s = [] - for e in sorted(self.font_def.keys()): -- if self.font_def[e]['native']: -+ try: -+ self.font_def[e]['native'] - flags = self.font_def[e]['flags'] - s.append(PutByte(NATIVE_FONT_DEF)) - s.append(PutSignedQuad(e)) -@@ -698,7 +703,7 @@ class DVI(object): - if flags & XDV_FLAG_EXTEND: s.append(PutSignedQuad(self.font_def[e]['extend'])) - if flags & XDV_FLAG_SLANT: s.append(PutSignedQuad(self.font_def[e]['slant'])) - if flags & XDV_FLAG_EMBOLDEN: s.append(PutSignedQuad(self.font_def[e]['embolden'])) -- else: -+ except KeyError: - l, q = PutUnsigned(e) - s.append(PutByte(FNT_DEF1 + l)) - s.append(q) -@@ -710,6 +715,10 @@ class DVI(object): - s.append(self.font_def[e]['name'].encode('utf8')) - fp.write(b''.join(s)) - -+ def CmdPairU(self, cmd): -+ l, q = PutUnsigned(cmd[1]) -+ return bytes.fromhex('%02x' % (cmd[0] + l)) + q -+ - def CmdPair(self, cmd): - l, q = PutSigned(cmd[1]) - return bytes.fromhex('%02x' % (cmd[0] + l)) + q -@@ -718,7 +727,7 @@ class DVI(object): - # Parse: Text -> Internal Format - ########################################################## - def Parse(self, fn, encoding=''): -- fp = open(fn, 'r') -+ fp = open(fn, 'r', encoding=encoding) - s = fp.read() - fp.close() - self.ParseFromString(s, encoding=encoding) -@@ -807,7 +816,10 @@ class DVI(object): - else: - self.cur_page.append([SET1, ol]) - elif key == 'put': -- self.cur_page.append([PUT1, GetStr(val)]) -+ ol = GetStr(val) -+ if len(ol) != 1: -+ warning('only one character is allowed for put!') -+ self.cur_page.append([PUT1, ol]) - elif key == 'setrule': - v = val.split(' ') - if len(v) != 2: -@@ -895,7 +907,7 @@ class DVI(object): - # Dump: Internal Format -> Text - ########################################################## - def Dump(self, fn, tabsize=2, encoding=''): -- fp = open(fn, 'w') -+ fp = open(fn, 'w', encoding=encoding) - self.DumpToFile(fp, tabsize=tabsize, encoding=encoding) - fp.close() - -@@ -903,7 +915,6 @@ class DVI(object): - global PutStr - if encoding == 'ascii': PutStr = PutStrASCII - elif encoding == 'latin1': PutStr = PutStrLatin1 -- elif encoding == 'sjis': PutStr = PutStrSJIS - else: PutStr = PutStrUTF8 - # DumpPreamble - fp.write("[preamble]\n") -@@ -921,10 +932,10 @@ class DVI(object): - # DumpFontDefinitions - fp.write("\n[font definitions]\n") - for e in sorted(self.font_def.keys()): -- fp.write("fntdef: %s" % self.font_def[e]['name']) -+ fp.write("fntdef: %s " % self.font_def[e]['name']) - if self.font_def[e]['design_size'] != self.font_def[e]['scaled_size']: -- fp.write(" (%s) " % self.byconv(self.font_def[e]['design_size'])) -- fp.write(" at %s\n" % self.byconv(self.font_def[e]['scaled_size'])) -+ fp.write("(%s) " % self.byconv(self.font_def[e]['design_size'])) -+ fp.write("at %s\n" % self.byconv(self.font_def[e]['scaled_size'])) - # DumpPages - for page in self.pages: - fp.write("\n[page" + (" %d"*10 % tuple(page['count'])) + "]\n") -@@ -939,7 +950,10 @@ class DVI(object): - fp.write("push:\n") - indent += tabsize - elif cmd[0] == XXX1: -- fp.write("xxx: %s\n" % repr(cmd[1])) -+ if options.xxx_encoding == "none": -+ fp.write("xxx: %s\n" % PutStrASCII(cmd[1])) # leave encoding untouched -+ else: -+ fp.write("xxx: '%s'\n" % cmd[1].decode(options.xxx_encoding)) - elif cmd[0] == DIR: - fp.write("dir: %d\n" % cmd[1]) - elif cmd[0] == BEGIN_REFLECT: -@@ -1092,7 +1106,6 @@ class DVI(object): - f['slant'] = slant - f['embolden'] = embolden - else: -- f['native'] = False - f['name'] = n - - if q[:2] == "at": q = q[2:] -@@ -1144,16 +1157,18 @@ def ProcessOptions(): - DVIasm is a Python script to support changing or creating DVI files - via disassembling into text, editing, and then reassembling into - binary format. It is fully documented at -+ http://tug.org/TUGboat/Articles/tb28-2/tb89cho.pdf -+ http://ajt.ktug.kr/assets/2008/5/1/0201cho.pdf - --http://tug.org/TUGboat/Articles/tb28-2/tb89cho.pdf --http://ajt.ktug.kr/assets/2008/5/1/0201cho.pdf""" -+Please report bugs to -+ https://github.com/aminophen/dviasm""" -+ -+ version = """This is %prog-20200918 - -- version = """This is %prog-20191126 -- - Copyright (C) 2007-2008 by Jin-Hwan Cho - Copyright (C) 2011-2017 by Khaled Hosny --Copyright (C) 2019 by Arthur Reutenauer --Copyright (C) 2019 by Hironobu Yamashita -+Copyright (C) 2019 by Arthur Reutenauer -+Copyright (C) 2019-2020 by Hironobu Yamashita - - This is free software; you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by -@@ -1173,6 +1188,10 @@ the Free Software Foundation, either ver - action="store", type="string", dest="encoding", - metavar="STR", - help="encoding for input/output [default=%default]") -+ parser.add_option("-x", "--xxx-encoding", -+ action="store", type="string", dest="xxx_encoding", -+ metavar="STR", -+ help="encoding for interpreting xxx strings [default=%default]") - parser.add_option("-t", "--tabsize", - action="store", type="int", dest="tabsize", - metavar="INT", -@@ -1184,18 +1203,20 @@ the Free Software Foundation, either ver - action="append", type="string", dest="subfont", - metavar="STR", - help="the list of fonts with UCS2 subfont scheme (comma separated); disable internal subfont list if STR is empty") -- parser.set_defaults(unit='pt', encoding='utf8', tabsize=2) -+ parser.set_defaults(unit='pt', encoding='utf8', xxx_encoding='none', tabsize=2) - (options, args) = parser.parse_args() - if not options.unit in ['sp', 'pt', 'bp', 'mm', 'cm', 'in']: - parser.error("invalid unit name '%s'!" % options.unit) -- if options.tabsize < 0: -+ if options.tabsize < 0: - parser.error("negative tabsize!") -- if not options.encoding in ['ascii', 'latin1', 'utf8', 'sjis']: -+ if not options.xxx_encoding in ['none', 'utf8', 'sjis', 'eucjp']: -+ parser.error("invalid xxx-encoding '%s'!" % options.xxx_encoding) -+ if not options.encoding in ['ascii', 'latin1', 'utf8', 'sjis', 'eucjp']: - parser.error("invalid encoding '%s'!" % options.encoding) - if options.ptex: - global is_ptex - is_ptex = True -- if not options.encoding in ['utf8', 'sjis']: -+ if not options.encoding in ['utf8', 'sjis', 'eucjp']: - parser.error("invalid encoding '%s' for Japanese pTeX!" % options.encoding) - if options.subfont: - global subfont_list -@@ -1235,4 +1256,4 @@ if __name__ == '__main__': - else: # dump -> dvi - aDVI.Parse(args[0], encoding=options.encoding) - if options.output: aDVI.Save(options.output) -- else: aDVI.SaveToFile(sys.stdout) -+ else: aDVI.SaveToFile(sys.stdout.buffer) diff --git a/texlive-20200327-new-poppler.patch b/texlive-20200327-new-poppler.patch deleted file mode 100644 index 307d918..0000000 --- a/texlive-20200327-new-poppler.patch +++ /dev/null @@ -1,641 +0,0 @@ -diff -up texlive-base-20200327/source/texk/web2c/pdftexdir/pdftoepdf.cc.newpoppler texlive-base-20200327/source/texk/web2c/pdftexdir/pdftoepdf.cc ---- texlive-base-20200327/source/texk/web2c/pdftexdir/pdftoepdf.cc.newpoppler 2019-11-27 17:45:26.000000000 -0500 -+++ texlive-base-20200327/source/texk/web2c/pdftexdir/pdftoepdf.cc 2020-04-20 14:28:40.111986243 -0400 -@@ -1,5 +1,5 @@ - /* --Copyright 1996-2016 Han The Thanh, -+Copyright 1996-2017 Han The Thanh, - - This file is part of pdfTeX. - -@@ -17,6 +17,15 @@ You should have received a copy of the G - with this program. If not, see . - */ - -+/* -+This is based on the patch texlive-poppler-0.59.patch <2017-09-19> at -+https://git.archlinux.org/svntogit/packages.git/plain/texlive-bin/trunk -+by Arch Linux. A little modifications are made to avoid a crash for -+some kind of pdf images, such as figure_missing.pdf in gnuplot. -+The poppler should be 0.59.0 or newer versions. -+POPPLER_VERSION should be defined. -+*/ -+ - /* Do this early in order to avoid a conflict between - MINGW32 defining 'boolean' as 'unsigned char' and - defining Pascal's boolean as 'int'. -@@ -39,10 +48,7 @@ with this program. If not, see - #define GString GooString - #else --#include --#include --#include --#include -+#error POPPLER_VERSION should be defined. - #endif - #include - -@@ -84,31 +90,6 @@ extern integer zround(double); - #define MASK_SUPPRESS_PTEX_PAGENUMBER 0x04 - #define MASK_SUPPRESS_PTEX_INFODICT 0x08 - --// PdfObject encapsulates the xpdf Object type, --// and properly frees its resources on destruction. --// Use obj-> to access members of the Object, --// and &obj to get a pointer to the object. --// It is no longer necessary to call Object::free explicitely. -- --class PdfObject { -- public: -- PdfObject() { // nothing -- } ~PdfObject() { -- iObject.free(); -- } -- Object *operator->() { -- return &iObject; -- } -- Object *operator&() { -- return &iObject; -- } -- private: // no copying or assigning -- PdfObject(const PdfObject &); -- void operator=(const PdfObject &); -- public: -- Object iObject; --}; -- - // When copying the Resources of the selected page, all objects are copied - // recusively top-down. Indirect objects however are not fetched during - // copying, but get a new object number from pdfTeX and then will be -@@ -212,18 +193,6 @@ static void delete_document(PdfDocument - delete pdf_doc; - } - --// Replacement for --// Object *initDict(Dict *dict1){ initObj(objDict); dict = dict1; return this; } -- --static void initDictFromDict(PdfObject & obj, Dict * dict) --{ -- obj->initDict(xref); -- for (int i = 0, l = dict->getLength(); i < l; i++) { -- Object obj1; -- obj->dictAdd(copyString(dict->getKey(i)), dict->getValNF(i, &obj1)); -- } --} -- - // -------------------------------------------------------------------- - - static int addEncoding(GfxFont * gfont) -@@ -320,10 +289,10 @@ static void copyName(char *s) - - static void copyDictEntry(Object * obj, int i) - { -- PdfObject obj1; -+ Object obj1; - copyName(obj->dictGetKey(i)); - pdf_puts(" "); -- obj->dictGetValNF(i, &obj1); -+ obj1 = obj->dictGetValNF(i); - copyObject(&obj1); - pdf_puts("\n"); - } -@@ -376,17 +345,17 @@ static void copyStream(Stream * str) - static void copyProcSet(Object * obj) - { - int i, l; -- PdfObject procset; -+ Object procset; - if (!obj->isArray()) - pdftex_fail("PDF inclusion: invalid ProcSet array type <%s>", - obj->getTypeName()); - pdf_puts("/ProcSet [ "); - for (i = 0, l = obj->arrayGetLength(); i < l; ++i) { -- obj->arrayGetNF(i, &procset); -- if (!procset->isName()) -+ procset = obj->arrayGetNF(i); -+ if (!procset.isName()) - pdftex_fail("PDF inclusion: invalid ProcSet entry type <%s>", -- procset->getTypeName()); -- copyName(procset->getName()); -+ procset.getTypeName()); -+ copyName(procset.getName()); - pdf_puts(" "); - } - pdf_puts("]\n"); -@@ -394,10 +363,29 @@ static void copyProcSet(Object * obj) - - #define REPLACE_TYPE1C true - -+static bool embeddableFont(Object * fontdesc) -+{ -+ Object fontfile, ffsubtype; -+ -+ if (!fontdesc->isDict()) -+ return false; -+ fontfile = fontdesc->dictLookup("FontFile"); -+ if (fontfile.isStream()) -+ return true; -+ if (REPLACE_TYPE1C) { -+ fontfile = fontdesc->dictLookup("FontFile3"); -+ if (!fontfile.isStream()) -+ return false; -+ ffsubtype = fontfile.streamGetDict()->lookup("Subtype"); -+ return ffsubtype.isName() && !strcmp(ffsubtype.getName(), "Type1C"); -+ } -+ return false; -+} -+ - static void copyFont(char *tag, Object * fontRef) - { -- PdfObject fontdict, subtype, basefont, fontdescRef, fontdesc, charset, -- fontfile, ffsubtype, stemV; -+ Object fontdict, subtype, basefont, fontdescRef, fontdesc, charset, -+ stemV; - GfxFont *gfont; - fd_entry *fd; - fm_entry *fontmap; -@@ -413,33 +401,39 @@ static void copyFont(char *tag, Object * - } - // Only handle included Type1 (and Type1C) fonts; anything else will be copied. - // Type1C fonts are replaced by Type1 fonts, if REPLACE_TYPE1C is true. -- if (!fixedinclusioncopyfont && fontRef->fetch(xref, &fontdict)->isDict() -- && fontdict->dictLookup("Subtype", &subtype)->isName() -- && !strcmp(subtype->getName(), "Type1") -- && fontdict->dictLookup("BaseFont", &basefont)->isName() -- && fontdict->dictLookupNF("FontDescriptor", &fontdescRef)->isRef() -- && fontdescRef->fetch(xref, &fontdesc)->isDict() -- && (fontdesc->dictLookup("FontFile", &fontfile)->isStream() -- || (REPLACE_TYPE1C -- && fontdesc->dictLookup("FontFile3", &fontfile)->isStream() -- && fontfile->streamGetDict()->lookup("Subtype", -- &ffsubtype)->isName() -- && !strcmp(ffsubtype->getName(), "Type1C"))) -- && (fontmap = lookup_fontmap(basefont->getName())) != NULL) { -+ fontdict = fontRef->fetch(xref); -+ fontdesc = Object(objNull); -+ if (fontdict.isDict()) { -+ subtype = fontdict.dictLookup("Subtype"); -+ basefont = fontdict.dictLookup("BaseFont"); -+ fontdescRef = fontdict.dictLookupNF("FontDescriptor"); -+ if (fontdescRef.isRef()) { -+ fontdesc = fontdescRef.fetch(xref); -+ } -+ } -+ if (!fixedinclusioncopyfont && fontdict.isDict() -+ && subtype.isName() -+ && !strcmp(subtype.getName(), "Type1") -+ && basefont.isName() -+ && fontdescRef.isRef() -+ && fontdesc.isDict() -+ && embeddableFont(&fontdesc) -+ && (fontmap = lookup_fontmap(basefont.getName())) != NULL) { - // round /StemV value, since the PDF input is a float - // (see Font Descriptors in PDF reference), but we only store an - // integer, since we don't want to change the struct. -- fontdesc->dictLookup("StemV", &stemV); -- fd = epdf_create_fontdescriptor(fontmap, zround(stemV->getNum())); -- if (fontdesc->dictLookup("CharSet", &charset) && -- charset->isString() && is_subsetable(fontmap)) -- epdf_mark_glyphs(fd, charset->getString()->getCString()); -+ stemV = fontdesc.dictLookup("StemV"); -+ fd = epdf_create_fontdescriptor(fontmap, zround(stemV.getNum())); -+ charset = fontdesc.dictLookup("CharSet"); -+ if (!charset.isNull() && -+ charset.isString() && is_subsetable(fontmap)) -+ epdf_mark_glyphs(fd, charset.getString()->getCString()); - else - embed_whole_font(fd); -- addFontDesc(fontdescRef->getRef(), fd); -+ addFontDesc(fontdescRef.getRef(), fd); - copyName(tag); - gfont = GfxFont::makeFont(xref, tag, fontRef->getRef(), -- fontdict->getDict()); -+ fontdict.getDict()); - pdf_printf(" %d 0 R ", addFont(fontRef->getRef(), fd, - addEncoding(gfont))); - } else { -@@ -451,24 +445,24 @@ static void copyFont(char *tag, Object * - - static void copyFontResources(Object * obj) - { -- PdfObject fontRef; -+ Object fontRef; - int i, l; - if (!obj->isDict()) - pdftex_fail("PDF inclusion: invalid font resources dict type <%s>", - obj->getTypeName()); - pdf_puts("/Font << "); - for (i = 0, l = obj->dictGetLength(); i < l; ++i) { -- obj->dictGetValNF(i, &fontRef); -- if (fontRef->isRef()) -+ fontRef = obj->dictGetValNF(i); -+ if (fontRef.isRef()) - copyFont(obj->dictGetKey(i), &fontRef); -- else if (fontRef->isDict()) { // some programs generate pdf with embedded font object -+ else if (fontRef.isDict()) { // some programs generate pdf with embedded font object - copyName(obj->dictGetKey(i)); - pdf_puts(" "); - copyObject(&fontRef); - } - else - pdftex_fail("PDF inclusion: invalid font in reference type <%s>", -- fontRef->getTypeName()); -+ fontRef.getTypeName()); - } - pdf_puts(">>\n"); - } -@@ -557,7 +551,7 @@ static char *convertNumToPDF(double n) - - static void copyObject(Object * obj) - { -- PdfObject obj1; -+ Object obj1; - int i, l, c; - Ref ref; - char *p; -@@ -601,8 +595,8 @@ static void copyObject(Object * obj) - } else if (obj->isArray()) { - pdf_puts("["); - for (i = 0, l = obj->arrayGetLength(); i < l; ++i) { -- obj->arrayGetNF(i, &obj1); -- if (!obj1->isName()) -+ obj1 = obj->arrayGetNF(i); -+ if (!obj1.isName()) - pdf_puts(" "); - copyObject(&obj1); - } -@@ -612,9 +606,8 @@ static void copyObject(Object * obj) - copyDict(obj); - pdf_puts(">>"); - } else if (obj->isStream()) { -- initDictFromDict(obj1, obj->streamGetDict()); - pdf_puts("<<\n"); -- copyDict(&obj1); -+ copyDict(obj->getStream()->getDictObject()); - pdf_puts(">>\n"); - pdf_puts("stream\n"); - copyStream(obj->getStream()->getUndecodedStream()); -@@ -638,9 +631,8 @@ static void writeRefs() - InObj *r; - for (r = inObjList; r != 0; r = r->next) { - if (!r->written) { -- Object obj1; - r->written = 1; -- xref->fetch(r->ref.num, r->ref.gen, &obj1); -+ Object obj1 = xref->fetch(r->ref.num, r->ref.gen); - if (r->type == objFont) { - assert(!obj1.isStream()); - pdfbeginobj(r->num, 2); // \pdfobjcompresslevel = 2 is for this -@@ -656,7 +648,6 @@ static void writeRefs() - pdf_puts("\n"); - pdfendobj(); - } -- obj1.free(); - } - } - } -@@ -685,7 +676,7 @@ static void writeEncodings() - #ifdef POPPLER_VERSION - r->font->decRefCnt(); - #else -- delete r->font; -+#error POPPLER_VERSION should be defined. - #endif - delete r; - } -@@ -728,7 +719,7 @@ read_pdf_info(char *image_name, char *pa - #ifdef POPPLER_VERSION - int pdf_major_version_found, pdf_minor_version_found; - #else -- float pdf_version_found, pdf_version_wanted; -+#error POPPLER_VERSION should be defined. - #endif - // initialize - if (!isInit) { -@@ -760,19 +751,7 @@ read_pdf_info(char *image_name, char *pa - } - } - #else -- pdf_version_found = pdf_doc->doc->getPDFVersion(); -- pdf_version_wanted = major_pdf_version_wanted + (minor_pdf_version_wanted * 0.1); -- if (pdf_version_found > pdf_version_wanted + 0.01) { -- char msg[] = -- "PDF inclusion: found PDF version <%.1f>, but at most version <%.1f> allowed"; -- if (pdf_inclusion_errorlevel > 0) { -- pdftex_fail(msg, pdf_version_found, pdf_version_wanted); -- } else if (pdf_inclusion_errorlevel < 0) { -- ; /* do nothing */ -- } else { /* = 0, give warning */ -- pdftex_warn(msg, pdf_version_found, pdf_version_wanted); -- } -- } -+#error POPPLER_VERSION should be defined. - #endif - epdf_num_pages = pdf_doc->doc->getCatalog()->getNumPages(); - if (page_name) { -@@ -839,8 +818,8 @@ void write_epdf(void) - Page *page; - Ref *pageRef; - Dict *pageDict; -- PdfObject contents, obj1, obj2, pageObj, dictObj; -- PdfObject groupDict; -+ Object contents, obj1, obj2, pageObj, dictObj; -+ Object groupDict; - bool writeSepGroup = false; - Object info; - char *key; -@@ -867,8 +846,8 @@ void write_epdf(void) - encodingList = 0; - page = pdf_doc->doc->getCatalog()->getPage(epdf_selected_page); - pageRef = pdf_doc->doc->getCatalog()->getPageRef(epdf_selected_page); -- xref->fetch(pageRef->num, pageRef->gen, &pageObj); -- pageDict = pageObj->getDict(); -+ pageObj = xref->fetch(pageRef->num, pageRef->gen); -+ pageDict = pageObj.getDict(); - rotate = page->getRotate(); - PDFRectangle *pagebox; - // write the Page header -@@ -886,7 +865,7 @@ void write_epdf(void) - pdf_printf("/%s.PageNumber %i\n", pdfkeyprefix, (int) epdf_selected_page); - } - if ((suppress_ptex_info & MASK_SUPPRESS_PTEX_INFODICT) == 0) { -- pdf_doc->doc->getDocInfoNF(&info); -+ info = pdf_doc->doc->getDocInfoNF(); - if (info.isRef()) { - // the info dict must be indirect (PDF Ref p. 61) - pdf_printf("/%s.InfoDict ", pdfkeyprefix); -@@ -942,14 +921,14 @@ void write_epdf(void) - pdf_puts(stripzeros(s)); - - // Metadata validity check (as a stream it must be indirect) -- pageDict->lookupNF("Metadata", &dictObj); -- if (!dictObj->isNull() && !dictObj->isRef()) -+ dictObj = pageDict->lookupNF("Metadata"); -+ if (!dictObj.isNull() && !dictObj.isRef()) - pdftex_warn("PDF inclusion: /Metadata must be indirect object"); - - // copy selected items in Page dictionary except Resources & Group - for (i = 0; pageDictKeys[i] != NULL; i++) { -- pageDict->lookupNF(pageDictKeys[i], &dictObj); -- if (!dictObj->isNull()) { -+ dictObj = pageDict->lookupNF(pageDictKeys[i]); -+ if (!dictObj.isNull()) { - pdf_newline(); - pdf_printf("/%s ", pageDictKeys[i]); - copyObject(&dictObj); // preserves indirection -@@ -957,8 +936,8 @@ void write_epdf(void) - } - - // handle page group -- pageDict->lookupNF("Group", &dictObj); -- if (!dictObj->isNull()) { -+ dictObj = pageDict->lookupNF("Group"); -+ if (!dictObj.isNull()) { - if (pdfpagegroupval == 0) { - // another pdf with page group was included earlier on the - // same page; copy the Group entry as is. See manual for -@@ -972,11 +951,36 @@ void write_epdf(void) - copyObject(&dictObj); - } else { - // write Group dict as a separate object, since the Page dict also refers to it -- pageDict->lookup("Group", &dictObj); -- if (!dictObj->isDict()) -+ dictObj = pageDict->lookup("Group"); -+ if (!dictObj.isDict()) - pdftex_fail("PDF inclusion: /Group dict missing"); - writeSepGroup = true; -- initDictFromDict(groupDict, page->getGroup()); -+/* -+This part is only a single line -+ groupDict = Object(page->getGroup()); -+in the original patch. In this case, however, pdftex crashes at -+"delete pdf_doc->doc" in "delete_document()" for inclusion of some -+kind of pdf images, for example, figure_missing.pdf in gnuplot. -+A change -+ groupDict = Object(page->getGroup()).copy(); -+does not improve the situation. -+The changes below seem to work fine. -+*/ -+// begin modification -+ groupDict = pageDict->lookup("Group"); -+ const Dict& dic1 = page->getGroup(); -+ const Dict& dic2 = groupDict.getDict(); -+ // replace dic2 in groupDict with dic1 -+ l = dic2.getLength(); -+ for (i = 0; i < l; i++) { -+ groupDict.dictRemove(dic2.getKey(i)); -+ } -+ l = dic1.getLength(); -+ for (i = 0; i < l; i++) { -+ groupDict.dictAdd(copyString(dic1.getKey(i)), -+ dic1.getValNF(i)); -+ } -+// end modification - pdf_printf("/Group %ld 0 R\n", (long)pdfpagegroupval); - } - } -@@ -989,14 +993,14 @@ void write_epdf(void) - pdftex_warn - ("PDF inclusion: /Resources missing. 'This practice is not recommended' (PDF Ref)"); - } else { -- initDictFromDict(obj1, page->getResourceDict()); -+ Object *obj1 = page->getResourceDictObject(); - if (!obj1->isDict()) - pdftex_fail("PDF inclusion: invalid resources dict type <%s>", - obj1->getTypeName()); - pdf_newline(); - pdf_puts("/Resources <<\n"); - for (i = 0, l = obj1->dictGetLength(); i < l; ++i) { -- obj1->dictGetVal(i, &obj2); -+ obj2 = obj1->dictGetVal(i); - key = obj1->dictGetKey(i); - if (strcmp("Font", key) == 0) - copyFontResources(&obj2); -@@ -1009,8 +1013,8 @@ void write_epdf(void) - } - - // write the page contents -- page->getContents(&contents); -- if (contents->isStream()) { -+ contents = page->getContents(); -+ if (contents.isStream()) { - - // Variant A: get stream and recompress under control - // of \pdfcompresslevel -@@ -1021,36 +1025,35 @@ void write_epdf(void) - - // Variant B: copy stream without recompressing - // -- contents->streamGetDict()->lookup("F", &obj1); -- if (!obj1->isNull()) { -+ obj1 = contents.streamGetDict()->lookup("F"); -+ if (!obj1.isNull()) { - pdftex_fail("PDF inclusion: Unsupported external stream"); - } -- contents->streamGetDict()->lookup("Length", &obj1); -- assert(!obj1->isNull()); -+ obj1 = contents.streamGetDict()->lookup("Length"); -+ assert(!obj1.isNull()); - pdf_puts("/Length "); - copyObject(&obj1); - pdf_puts("\n"); -- contents->streamGetDict()->lookup("Filter", &obj1); -- if (!obj1->isNull()) { -+ obj1 = contents.streamGetDict()->lookup("Filter"); -+ if (!obj1.isNull()) { - pdf_puts("/Filter "); - copyObject(&obj1); - pdf_puts("\n"); -- contents->streamGetDict()->lookup("DecodeParms", &obj1); -- if (!obj1->isNull()) { -+ obj1 = contents.streamGetDict()->lookup("DecodeParms"); -+ if (!obj1.isNull()) { - pdf_puts("/DecodeParms "); - copyObject(&obj1); - pdf_puts("\n"); - } - } - pdf_puts(">>\nstream\n"); -- copyStream(contents->getStream()->getUndecodedStream()); -+ copyStream(contents.getStream()->getUndecodedStream()); - pdfendstream(); -- } else if (contents->isArray()) { -+ } else if (contents.isArray()) { - pdfbeginstream(); -- for (i = 0, l = contents->arrayGetLength(); i < l; ++i) { -- Object contentsobj; -- copyStream((contents->arrayGet(i, &contentsobj))->getStream()); -- contentsobj.free(); -+ for (i = 0, l = contents.arrayGetLength(); i < l; ++i) { -+ Object contentsobj = contents.arrayGet(i); -+ copyStream(contentsobj.getStream()); - if (i < l - 1) - pdf_newline(); // add a newline after each stream except the last - } -diff -up texlive-base-20200327/source/texk/web2c/pdftexdir/pdftosrc.cc.newpoppler texlive-base-20200327/source/texk/web2c/pdftexdir/pdftosrc.cc ---- texlive-base-20200327/source/texk/web2c/pdftexdir/pdftosrc.cc.newpoppler 2017-10-17 00:24:27.000000000 -0400 -+++ texlive-base-20200327/source/texk/web2c/pdftexdir/pdftosrc.cc 2020-04-20 14:25:55.786266341 -0400 -@@ -16,6 +16,14 @@ GNU General Public License for more deta - You should have received a copy of the GNU General Public License along - with this program. If not, see . - */ -+ -+/* -+This is based on the patch texlive-poppler-0.59.patch <2017-09-19> at -+https://git.archlinux.org/svntogit/packages.git/plain/texlive-bin/trunk -+by Arch Linux. The poppler should be 0.59.0 or newer versions. -+POPPLER_VERSION should be defined. -+*/ -+ - #include - - #include -@@ -32,10 +40,7 @@ with this program. If not, see - #include - #else --#include --#include --#include --#include -+#error POPPLER_VERSION should be defined. - #endif - #include - -@@ -86,22 +91,20 @@ int main(int argc, char *argv[]) - objgen = atoi(argv[3]); - } - xref = doc->getXRef(); -- catalogDict.initNull(); -- xref->getCatalog(&catalogDict); -+ catalogDict = xref->getCatalog(); - if (!catalogDict.isDict("Catalog")) { - fprintf(stderr, "No Catalog found\n"); - exit(1); - } -- srcStream.initNull(); -+ srcStream = Object(objNull); - if (objnum == 0) { -- catalogDict.dictLookup("SourceObject", &srcStream); -+ srcStream = catalogDict.dictLookup("SourceObject"); - static char const_SourceFile[] = "SourceFile"; - if (!srcStream.isStream(const_SourceFile)) { - fprintf(stderr, "No SourceObject found\n"); - exit(1); - } -- srcName.initNull(); -- srcStream.getStream()->getDict()->lookup("SourceName", &srcName); -+ srcName = srcStream.getStream()->getDict()->lookup("SourceName"); - if (!srcName.isString()) { - fprintf(stderr, "No SourceName found\n"); - exit(1); -@@ -110,7 +113,7 @@ int main(int argc, char *argv[]) - // We cannot free srcName, as objname shares its string. - // srcName.free(); - } else if (objnum > 0) { -- xref->fetch(objnum, objgen, &srcStream); -+ srcStream = xref->fetch(objnum, objgen); - if (!srcStream.isStream()) { - fprintf(stderr, "Not a Stream object\n"); - exit(1); -@@ -160,26 +163,24 @@ int main(int argc, char *argv[]) - int localOffset = 0; - Guint firstOffset; - -- assert(xref->fetch(e->offset, 0, &objStr)->isStream()); -- nObjects = objStr.streamGetDict()->lookup("N", &obj1)->getInt(); -- obj1.free(); -- first = objStr.streamGetDict()->lookup("First", &obj1)->getInt(); -- obj1.free(); -+ objStr = xref->fetch(e->offset, 0); -+ assert(objStr.isStream()); -+ obj1 = objStr.streamGetDict()->lookup("N"); -+ nObjects = obj1.getInt(); -+ obj1 = objStr.streamGetDict()->lookup("First"); -+ first = obj1.getInt(); - firstOffset = objStr.getStream()->getBaseStream()->getStart() + first; - - // parse the header: object numbers and offsets - objStr.streamReset(); -- obj1.initNull(); -- str = new EmbedStream(objStr.getStream(), &obj1, gTrue, first); -+ str = new EmbedStream(objStr.getStream(), Object(objNull), gTrue, first); - lexer = new Lexer(xref, str); - parser = new Parser(xref, lexer, gFalse); - for (n = 0; n < nObjects; ++n) { -- parser->getObj(&obj1); -- parser->getObj(&obj2); -+ obj1 = parser->getObj(); -+ obj2 = parser->getObj(); - if (n == e->gen) - localOffset = obj2.getInt(); -- obj1.free(); -- obj2.free(); - } - #if defined(POPPLER_VERSION) || defined(XPDF304) - while (str->getChar() != EOF) ; -@@ -187,7 +188,6 @@ int main(int argc, char *argv[]) - lexer->skipToEOF(); - #endif - delete parser; -- objStr.free(); - - fprintf(outfile, "%.10lu 00000 n\n", - (long unsigned)(firstOffset + localOffset)); -@@ -198,7 +198,6 @@ int main(int argc, char *argv[]) - s->reset(); - while ((c = s->getChar()) != EOF) - fputc(c, outfile); -- srcStream.free(); - } - if (objnum == 0) - fprintf(stderr, "Source file extracted to %s\n", outname); -@@ -207,7 +206,6 @@ int main(int argc, char *argv[]) - else - fprintf(stderr, "Cross-reference table extracted to %s\n", outname); - fclose(outfile); -- catalogDict.free(); - delete doc; - delete globalParams; - } diff --git a/texlive-20200327-poppler-0.84.patch b/texlive-20200327-poppler-0.84.patch deleted file mode 100644 index 7c0228b..0000000 --- a/texlive-20200327-poppler-0.84.patch +++ /dev/null @@ -1,266 +0,0 @@ -diff -up texlive-base-20200327/source/texk/web2c/pdftexdir/pdftoepdf.cc.poppler-0.84 texlive-base-20200327/source/texk/web2c/pdftexdir/pdftoepdf.cc ---- texlive-base-20200327/source/texk/web2c/pdftexdir/pdftoepdf.cc.poppler-0.84 2020-04-20 14:38:05.301181578 -0400 -+++ texlive-base-20200327/source/texk/web2c/pdftexdir/pdftoepdf.cc 2020-04-20 14:38:05.314181306 -0400 -@@ -26,6 +26,15 @@ The poppler should be 0.59.0 or newer ve - POPPLER_VERSION should be defined. - */ - -+#ifdef POPPLER_VERSION -+#include -+#define xpdfVersion POPPLER_VERSION -+#define xpdfString "poppler" -+#else -+#include /* just to get the xpdf version */ -+#define xpdfString "xpdf" -+#endif -+ - /* Do this early in order to avoid a conflict between - MINGW32 defining 'boolean' as 'unsigned char' and - defining Pascal's boolean as 'int'. -@@ -292,7 +301,7 @@ static void copyDictEntry(Object * obj, - Object obj1; - copyName(obj->dictGetKey(i)); - pdf_puts(" "); -- obj1 = obj->dictGetValNF(i); -+ obj1 = obj->dictGetValNF(i).copy(); - copyObject(&obj1); - pdf_puts("\n"); - } -@@ -351,7 +360,7 @@ static void copyProcSet(Object * obj) - obj->getTypeName()); - pdf_puts("/ProcSet [ "); - for (i = 0, l = obj->arrayGetLength(); i < l; ++i) { -- procset = obj->arrayGetNF(i); -+ procset = obj->arrayGetNF(i).copy(); - if (!procset.isName()) - pdftex_fail("PDF inclusion: invalid ProcSet entry type <%s>", - procset.getTypeName()); -@@ -406,7 +415,7 @@ static void copyFont(const char *tag, Ob - if (fontdict.isDict()) { - subtype = fontdict.dictLookup("Subtype"); - basefont = fontdict.dictLookup("BaseFont"); -- fontdescRef = fontdict.dictLookupNF("FontDescriptor"); -+ fontdescRef = fontdict.dictLookupNF("FontDescriptor").copy(); - if (fontdescRef.isRef()) { - fontdesc = fontdescRef.fetch(xref); - } -@@ -452,7 +461,7 @@ static void copyFontResources(Object * o - obj->getTypeName()); - pdf_puts("/Font << "); - for (i = 0, l = obj->dictGetLength(); i < l; ++i) { -- fontRef = obj->dictGetValNF(i); -+ fontRef = obj->dictGetValNF(i).copy(); - if (fontRef.isRef()) - copyFont(obj->dictGetKey(i), &fontRef); - else if (fontRef.isDict()) { // some programs generate pdf with embedded font object -@@ -595,7 +604,7 @@ static void copyObject(Object * obj) - } else if (obj->isArray()) { - pdf_puts("["); - for (i = 0, l = obj->arrayGetLength(); i < l; ++i) { -- obj1 = obj->arrayGetNF(i); -+ obj1 = obj->arrayGetNF(i).copy(); - if (!obj1.isName()) - pdf_puts(" "); - copyObject(&obj1); -@@ -723,7 +732,7 @@ read_pdf_info(char *image_name, char *pa - #endif - // initialize - if (!isInit) { -- globalParams = new GlobalParams(); -+ globalParams = std::unique_ptr(new GlobalParams()); - globalParams->setErrQuiet(false); - isInit = true; - } -@@ -761,7 +770,7 @@ read_pdf_info(char *image_name, char *pa - if (link == 0 || !link->isOk()) - pdftex_fail("PDF inclusion: invalid destination <%s>", page_name); - Ref ref = link->getPageRef(); -- page_num = pdf_doc->doc->getCatalog()->findPage(ref.num, ref.gen); -+ page_num = pdf_doc->doc->getCatalog()->findPage(ref); - if (page_num == 0) - pdftex_fail("PDF inclusion: destination is not a page <%s>", - page_name); -@@ -921,13 +930,13 @@ void write_epdf(void) - pdf_puts(stripzeros(s)); - - // Metadata validity check (as a stream it must be indirect) -- dictObj = pageDict->lookupNF("Metadata"); -+ dictObj = pageDict->lookupNF("Metadata").copy(); - if (!dictObj.isNull() && !dictObj.isRef()) - pdftex_warn("PDF inclusion: /Metadata must be indirect object"); - - // copy selected items in Page dictionary except Resources & Group - for (i = 0; pageDictKeys[i] != NULL; i++) { -- dictObj = pageDict->lookupNF(pageDictKeys[i]); -+ dictObj = pageDict->lookupNF(pageDictKeys[i]).copy(); - if (!dictObj.isNull()) { - pdf_newline(); - pdf_printf("/%s ", pageDictKeys[i]); -@@ -936,7 +945,7 @@ void write_epdf(void) - } - - // handle page group -- dictObj = pageDict->lookupNF("Group"); -+ dictObj = pageDict->lookupNF("Group").copy(); - if (!dictObj.isNull()) { - if (pdfpagegroupval == 0) { - // another pdf with page group was included earlier on the -@@ -978,7 +987,7 @@ The changes below seem to work fine. - l = dic1.getLength(); - for (i = 0; i < l; i++) { - groupDict.dictAdd(dic1.getKey(i), -- dic1.getValNF(i)); -+ dic1.getValNF(i).copy()); - } - // end modification - pdf_printf("/Group %ld 0 R\n", (long)pdfpagegroupval); -@@ -1108,6 +1117,6 @@ void epdf_check_mem() - delete_document(p); - } - // see above for globalParams -- delete globalParams; -+ globalParams.reset(); - } - } -diff -up texlive-base-20200327/source/texk/web2c/pdftexdir/pdftosrc.cc.poppler-0.84 texlive-base-20200327/source/texk/web2c/pdftexdir/pdftosrc.cc ---- texlive-base-20200327/source/texk/web2c/pdftexdir/pdftosrc.cc.poppler-0.84 2020-04-20 14:38:05.301181578 -0400 -+++ texlive-base-20200327/source/texk/web2c/pdftexdir/pdftosrc.cc 2020-04-20 14:38:05.314181306 -0400 -@@ -24,6 +24,15 @@ by Arch Linux. The poppler should be 0.5 - POPPLER_VERSION should be defined. - */ - -+#ifdef POPPLER_VERSION -+#include -+#define xpdfVersion POPPLER_VERSION -+#define xpdfString "poppler" -+#else -+#include /* just to get the xpdf version */ -+#define xpdfString "xpdf" -+#endif -+ - #include - - #include -@@ -79,7 +88,7 @@ int main(int argc, char *argv[]) - exit(1); - } - fileName = new GString(argv[1]); -- globalParams = new GlobalParams(); -+ globalParams = std::unique_ptr(new GlobalParams()); - doc = new PDFDoc(fileName); - if (!doc->isOk()) { - fprintf(stderr, "Invalid PDF file\n"); -@@ -100,7 +109,7 @@ int main(int argc, char *argv[]) - if (objnum == 0) { - srcStream = catalogDict.dictLookup("SourceObject"); - static char const_SourceFile[] = "SourceFile"; -- if (!srcStream.isStream(const_SourceFile)) { -+ if (!(srcStream.isStream() && srcStream.getDict()->is(const_SourceFile))) { - fprintf(stderr, "No SourceObject found\n"); - exit(1); - } -@@ -156,7 +165,6 @@ int main(int argc, char *argv[]) - (e->type == xrefEntryFree ? "f" : "n")); - else { // e->offset is the object number of the object stream - Stream *str; -- Lexer *lexer; - Parser *parser; - Object objStr, obj1, obj2; - int nObjects, first, n; -@@ -174,8 +182,7 @@ int main(int argc, char *argv[]) - // parse the header: object numbers and offsets - objStr.streamReset(); - str = new EmbedStream(objStr.getStream(), Object(objNull), true, first); -- lexer = new Lexer(xref, str); -- parser = new Parser(xref, lexer, false); -+ parser = new Parser(xref, str, false); - for (n = 0; n < nObjects; ++n) { - obj1 = parser->getObj(); - obj2 = parser->getObj(); -@@ -207,5 +214,5 @@ int main(int argc, char *argv[]) - fprintf(stderr, "Cross-reference table extracted to %s\n", outname); - fclose(outfile); - delete doc; -- delete globalParams; -+ globalParams.reset(); - } -diff -up texlive-base-20200327/source/texk/web2c/pdftexdir/utils.c.poppler-0.84 texlive-base-20200327/source/texk/web2c/pdftexdir/utils.c ---- texlive-base-20200327/source/texk/web2c/pdftexdir/utils.c.poppler-0.84 2019-12-29 19:37:32.000000000 -0500 -+++ texlive-base-20200327/source/texk/web2c/pdftexdir/utils.c 2020-04-20 14:39:39.355214866 -0400 -@@ -32,14 +32,6 @@ with this program. If not, see - #include "ptexlib.h" - #include --#ifdef POPPLER_VERSION --/* POPPLER_VERSION should be a proper version string */ --#define xpdfVersion POPPLER_VERSION --#define xpdfString "poppler" --#else --#include /* just to get the xpdf version */ --#define xpdfString "xpdf" --#endif - - #define check_nprintf(size_get, size_want) \ - if ((unsigned)(size_get) >= (unsigned)(size_want)) \ -@@ -977,12 +969,10 @@ void initversionstring(char **versions) - { - const_string fmt = - "Compiled with libpng %s; using libpng %s\n" -- "Compiled with zlib %s; using zlib %s\n" -- "Compiled with %s version %s\n"; -+ "Compiled with zlib %s; using zlib %s\n"; - size_t len = strlen(fmt) - + strlen(PNG_LIBPNG_VER_STRING) + strlen(png_libpng_ver) - + strlen(ZLIB_VERSION) + strlen(zlib_version) -- + strlen(xpdfString) + strlen(xpdfVersion) - + 1; - - /* len will be more than enough, because of the placeholder chars in fmt -@@ -990,7 +980,7 @@ void initversionstring(char **versions) - *versions = xmalloc(len); - sprintf(*versions, fmt, - PNG_LIBPNG_VER_STRING, png_libpng_ver, -- ZLIB_VERSION, zlib_version, xpdfString, xpdfVersion); -+ ZLIB_VERSION, zlib_version); - } - - -diff -up texlive-base-20200327/source/texk/web2c/xetexdir/XeTeX_ext.c.poppler-0.84 texlive-base-20200327/source/texk/web2c/xetexdir/XeTeX_ext.c ---- texlive-base-20200327/source/texk/web2c/xetexdir/XeTeX_ext.c.poppler-0.84 2019-12-30 16:00:39.000000000 -0500 -+++ texlive-base-20200327/source/texk/web2c/xetexdir/XeTeX_ext.c 2020-04-20 14:40:44.534851910 -0400 -@@ -38,10 +38,6 @@ authorization from the copyright holders - - #include - --#ifndef POPPLER_VERSION --#include --#endif -- - #include - #include - #include -@@ -170,7 +166,6 @@ void initversionstring(char **versions) - "Compiled with Graphite2 version %d.%d.%d; using %d.%d.%d\n" - "Compiled with HarfBuzz version %s; using %s\n" - "Compiled with libpng version %s; using %s\n" -- "Compiled with poppler version %s\n" - #ifdef XETEX_MAC - "Using Mac OS X Core Text and Cocoa frameworks\n" - #else -@@ -187,7 +182,6 @@ void initversionstring(char **versions) - + strlen(hb_version_string()) - + strlen(PNG_LIBPNG_VER_STRING) - + strlen(png_libpng_ver) -- + strlen(POPPLER_VERSION) - #ifndef XETEX_MAC - + 6 * 3 /* for fontconfig version #s (won't really need 3 digits per field!) */ - #endif -@@ -217,7 +211,7 @@ void initversionstring(char **versions) - GR2_VERSION_MAJOR, GR2_VERSION_MINOR, GR2_VERSION_BUGFIX, - grMajor, grMinor, grBugfix, - HB_VERSION_STRING, hb_version_string(), -- PNG_LIBPNG_VER_STRING, png_libpng_ver, POPPLER_VERSION -+ PNG_LIBPNG_VER_STRING, png_libpng_ver - #ifndef XETEX_MAC - , - FC_VERSION / 10000, (FC_VERSION % 10000) / 100, FC_VERSION % 100, diff --git a/texlive-20200327-poppler-0.90.patch b/texlive-20200327-poppler-0.90.patch deleted file mode 100644 index e76b436..0000000 --- a/texlive-20200327-poppler-0.90.patch +++ /dev/null @@ -1,20 +0,0 @@ -diff -up texlive-base-20200327/source/texk/web2c/pdftexdir/pdftoepdf.cc.poppler090 texlive-base-20200327/source/texk/web2c/pdftexdir/pdftoepdf.cc ---- texlive-base-20200327/source/texk/web2c/pdftexdir/pdftoepdf.cc.poppler090 2020-07-14 13:13:31.620607263 -0400 -+++ texlive-base-20200327/source/texk/web2c/pdftexdir/pdftoepdf.cc 2020-07-14 13:16:01.530248309 -0400 -@@ -766,7 +766,7 @@ read_pdf_info(char *image_name, char *pa - if (page_name) { - // get page by name - GString name(page_name); -- LinkDest *link = pdf_doc->doc->findDest(&name); -+ std::unique_ptr link = pdf_doc->doc->findDest(&name); - if (link == 0 || !link->isOk()) - pdftex_fail("PDF inclusion: invalid destination <%s>", page_name); - Ref ref = link->getPageRef(); -@@ -774,7 +774,6 @@ read_pdf_info(char *image_name, char *pa - if (page_num == 0) - pdftex_fail("PDF inclusion: destination is not a page <%s>", - page_name); -- delete link; - } else { - // get page by number - if (page_num <= 0 || page_num > epdf_num_pages) diff --git a/texlive-20200327-texinfo-path-fix.patch b/texlive-20200327-texinfo-path-fix.patch deleted file mode 100644 index 6816f81..0000000 --- a/texlive-20200327-texinfo-path-fix.patch +++ /dev/null @@ -1,22 +0,0 @@ -diff -up texlive-base-20200327/source/texk/kpathsea/texmf.cnf.texinfo-fix texlive-base-20200327/source/texk/kpathsea/texmf.cnf ---- texlive-base-20200327/source/texk/kpathsea/texmf.cnf.texinfo-fix 2020-04-20 14:29:38.934769870 -0400 -+++ texlive-base-20200327/source/texk/kpathsea/texmf.cnf 2020-04-20 14:31:48.070069635 -0400 -@@ -83,6 +83,9 @@ TEXMFSYSCONFIG = $TEXMFROOT/texmf-config - % to %USERPROFILE% on Windows, $HOME otherwise. - TEXMFHOME = ~/texmf - -+% Texinfo on Fedora lives out of $TEXMFROOT -+TEXINFOHOME = $SELFAUTODIR/share/texmf -+ - % TEXMFVAR, where texconfig/updmap/fmtutil store cached runtime data. - TEXMFVAR = ~/.texlive2020/texmf-var - -@@ -108,7 +111,7 @@ TEXMFAUXTREES = {} - % The odd-looking $TEXMFAUXTREES$TEXMF... construct is so that if no auxtree is - % ever defined (the 99% common case), no extra elements will be added to - % the search paths. tlmgr takes care to end any value with a trailing comma. --TEXMF = {$TEXMFAUXTREES$TEXMFCONFIG,$TEXMFVAR,$TEXMFHOME,!!$TEXMFLOCAL,!!$TEXMFSYSCONFIG,!!$TEXMFSYSVAR,!!$TEXMFDIST} -+TEXMF = {$TEXMFAUXTREES$TEXMFCONFIG,$TEXMFVAR,$TEXMFHOME,$TEXINFOHOME,!!$TEXMFLOCAL,!!$TEXMFSYSCONFIG,!!$TEXMFSYSVAR,!!$TEXMFDIST} - - % Where to look for, and where mktexlsr creates, ls-R files. By default, - % this is all and only the !! elements of TEXMF, so that mktexlsr does not diff --git a/texlive-20210325-new-poppler.patch b/texlive-20210325-new-poppler.patch deleted file mode 100644 index 2f5ba71..0000000 --- a/texlive-20210325-new-poppler.patch +++ /dev/null @@ -1,578 +0,0 @@ -diff -up texlive-base-20210325/source/texk/web2c/pdftexdir/pdftoepdf.cc.newpoppler texlive-base-20210325/source/texk/web2c/pdftexdir/pdftoepdf.cc ---- texlive-base-20210325/source/texk/web2c/pdftexdir/pdftoepdf.cc.newpoppler 2020-05-14 17:45:48.000000000 -0400 -+++ texlive-base-20210325/source/texk/web2c/pdftexdir/pdftoepdf.cc 2021-05-06 17:39:49.308416042 -0400 -@@ -1,5 +1,5 @@ - /* --Copyright 1996-2016 Han The Thanh, -+Copyright 1996-2017 Han The Thanh, - - This file is part of pdfTeX. - -@@ -17,6 +17,15 @@ You should have received a copy of the G - with this program. If not, see . - */ - -+/* -+This is based on the patch texlive-poppler-0.59.patch <2017-09-19> at -+https://git.archlinux.org/svntogit/packages.git/plain/texlive-bin/trunk -+by Arch Linux. A little modifications are made to avoid a crash for -+some kind of pdf images, such as figure_missing.pdf in gnuplot. -+The poppler should be 0.59.0 or newer versions. -+POPPLER_VERSION should be defined. -+*/ -+ - /* Do this early in order to avoid a conflict between - MINGW32 defining 'boolean' as 'unsigned char' and - defining Pascal's boolean as 'int'. -@@ -75,31 +84,6 @@ extern integer zround(double); - #define MASK_SUPPRESS_PTEX_PAGENUMBER 0x04 - #define MASK_SUPPRESS_PTEX_INFODICT 0x08 - --// PdfObject encapsulates the xpdf Object type, --// and properly frees its resources on destruction. --// Use obj-> to access members of the Object, --// and &obj to get a pointer to the object. --// It is no longer necessary to call Object::free explicitely. -- --class PdfObject { -- public: -- PdfObject() { // nothing -- } ~PdfObject() { -- iObject.free(); -- } -- Object *operator->() { -- return &iObject; -- } -- Object *operator&() { -- return &iObject; -- } -- private: // no copying or assigning -- PdfObject(const PdfObject &); -- void operator=(const PdfObject &); -- public: -- Object iObject; --}; -- - // When copying the Resources of the selected page, all objects are copied - // recusively top-down. Indirect objects however are not fetched during - // copying, but get a new object number from pdfTeX and then will be -@@ -203,18 +187,6 @@ static void delete_document(PdfDocument - delete pdf_doc; - } - --// Replacement for --// Object *initDict(Dict *dict1){ initObj(objDict); dict = dict1; return this; } -- --static void initDictFromDict(PdfObject & obj, Dict * dict) --{ -- obj->initDict(xref); -- for (int i = 0, l = dict->getLength(); i < l; i++) { -- Object obj1; -- obj->dictAdd(copyString(dict->getKey(i)), dict->getValNF(i, &obj1)); -- } --} -- - // -------------------------------------------------------------------- - - static int addEncoding(GfxFont * gfont) -@@ -311,10 +283,10 @@ static void copyName(char *s) - - static void copyDictEntry(Object * obj, int i) - { -- PdfObject obj1; -+ Object obj1; - copyName(obj->dictGetKey(i)); - pdf_puts(" "); -- obj->dictGetValNF(i, &obj1); -+ obj1 = obj->dictGetValNF(i); - copyObject(&obj1); - pdf_puts("\n"); - } -@@ -367,17 +339,17 @@ static void copyStream(Stream * str) - static void copyProcSet(Object * obj) - { - int i, l; -- PdfObject procset; -+ Object procset; - if (!obj->isArray()) - pdftex_fail("PDF inclusion: invalid ProcSet array type <%s>", - obj->getTypeName()); - pdf_puts("/ProcSet [ "); - for (i = 0, l = obj->arrayGetLength(); i < l; ++i) { -- obj->arrayGetNF(i, &procset); -- if (!procset->isName()) -+ procset = obj->arrayGetNF(i); -+ if (!procset.isName()) - pdftex_fail("PDF inclusion: invalid ProcSet entry type <%s>", -- procset->getTypeName()); -- copyName(procset->getName()); -+ procset.getTypeName()); -+ copyName(procset.getName()); - pdf_puts(" "); - } - pdf_puts("]\n"); -@@ -385,10 +357,29 @@ static void copyProcSet(Object * obj) - - #define REPLACE_TYPE1C true - -+static bool embeddableFont(Object * fontdesc) -+{ -+ Object fontfile, ffsubtype; -+ -+ if (!fontdesc->isDict()) -+ return false; -+ fontfile = fontdesc->dictLookup("FontFile"); -+ if (fontfile.isStream()) -+ return true; -+ if (REPLACE_TYPE1C) { -+ fontfile = fontdesc->dictLookup("FontFile3"); -+ if (!fontfile.isStream()) -+ return false; -+ ffsubtype = fontfile.streamGetDict()->lookup("Subtype"); -+ return ffsubtype.isName() && !strcmp(ffsubtype.getName(), "Type1C"); -+ } -+ return false; -+} -+ - static void copyFont(char *tag, Object * fontRef) - { -- PdfObject fontdict, subtype, basefont, fontdescRef, fontdesc, charset, -- fontfile, ffsubtype, stemV; -+ Object fontdict, subtype, basefont, fontdescRef, fontdesc, charset, -+ stemV; - GfxFont *gfont; - fd_entry *fd; - fm_entry *fontmap; -@@ -404,33 +395,39 @@ static void copyFont(char *tag, Object * - } - // Only handle included Type1 (and Type1C) fonts; anything else will be copied. - // Type1C fonts are replaced by Type1 fonts, if REPLACE_TYPE1C is true. -- if (!fixedinclusioncopyfont && fontRef->fetch(xref, &fontdict)->isDict() -- && fontdict->dictLookup("Subtype", &subtype)->isName() -- && !strcmp(subtype->getName(), "Type1") -- && fontdict->dictLookup("BaseFont", &basefont)->isName() -- && fontdict->dictLookupNF("FontDescriptor", &fontdescRef)->isRef() -- && fontdescRef->fetch(xref, &fontdesc)->isDict() -- && (fontdesc->dictLookup("FontFile", &fontfile)->isStream() -- || (REPLACE_TYPE1C -- && fontdesc->dictLookup("FontFile3", &fontfile)->isStream() -- && fontfile->streamGetDict()->lookup("Subtype", -- &ffsubtype)->isName() -- && !strcmp(ffsubtype->getName(), "Type1C"))) -- && (fontmap = lookup_fontmap(basefont->getName())) != NULL) { -+ fontdict = fontRef->fetch(xref); -+ fontdesc = Object(objNull); -+ if (fontdict.isDict()) { -+ subtype = fontdict.dictLookup("Subtype"); -+ basefont = fontdict.dictLookup("BaseFont"); -+ fontdescRef = fontdict.dictLookupNF("FontDescriptor"); -+ if (fontdescRef.isRef()) { -+ fontdesc = fontdescRef.fetch(xref); -+ } -+ } -+ if (!fixedinclusioncopyfont && fontdict.isDict() -+ && subtype.isName() -+ && !strcmp(subtype.getName(), "Type1") -+ && basefont.isName() -+ && fontdescRef.isRef() -+ && fontdesc.isDict() -+ && embeddableFont(&fontdesc) -+ && (fontmap = lookup_fontmap(basefont.getName())) != NULL) { - // round /StemV value, since the PDF input is a float - // (see Font Descriptors in PDF reference), but we only store an - // integer, since we don't want to change the struct. -- fontdesc->dictLookup("StemV", &stemV); -- fd = epdf_create_fontdescriptor(fontmap, zround(stemV->getNum())); -- if (fontdesc->dictLookup("CharSet", &charset) && -- charset->isString() && is_subsetable(fontmap)) -- epdf_mark_glyphs(fd, charset->getString()->getCString()); -+ stemV = fontdesc.dictLookup("StemV"); -+ fd = epdf_create_fontdescriptor(fontmap, zround(stemV.getNum())); -+ charset = fontdesc.dictLookup("CharSet"); -+ if (!charset.isNull() && -+ charset.isString() && is_subsetable(fontmap)) -+ epdf_mark_glyphs(fd, charset.getString()->getCString()); - else - embed_whole_font(fd); -- addFontDesc(fontdescRef->getRef(), fd); -+ addFontDesc(fontdescRef.getRef(), fd); - copyName(tag); - gfont = GfxFont::makeFont(xref, tag, fontRef->getRef(), -- fontdict->getDict()); -+ fontdict.getDict()); - pdf_printf(" %d 0 R ", addFont(fontRef->getRef(), fd, - addEncoding(gfont))); - } else { -@@ -442,24 +439,24 @@ static void copyFont(char *tag, Object * - - static void copyFontResources(Object * obj) - { -- PdfObject fontRef; -+ Object fontRef; - int i, l; - if (!obj->isDict()) - pdftex_fail("PDF inclusion: invalid font resources dict type <%s>", - obj->getTypeName()); - pdf_puts("/Font << "); - for (i = 0, l = obj->dictGetLength(); i < l; ++i) { -- obj->dictGetValNF(i, &fontRef); -- if (fontRef->isRef()) -+ fontRef = obj->dictGetValNF(i); -+ if (fontRef.isRef()) - copyFont(obj->dictGetKey(i), &fontRef); -- else if (fontRef->isDict()) { // some programs generate pdf with embedded font object -+ else if (fontRef.isDict()) { // some programs generate pdf with embedded font object - copyName(obj->dictGetKey(i)); - pdf_puts(" "); - copyObject(&fontRef); - } - else - pdftex_fail("PDF inclusion: invalid font in reference type <%s>", -- fontRef->getTypeName()); -+ fontRef.getTypeName()); - } - pdf_puts(">>\n"); - } -@@ -548,7 +545,7 @@ static char *convertNumToPDF(double n) - - static void copyObject(Object * obj) - { -- PdfObject obj1; -+ Object obj1; - int i, l, c; - Ref ref; - char *p; -@@ -592,8 +589,8 @@ static void copyObject(Object * obj) - } else if (obj->isArray()) { - pdf_puts("["); - for (i = 0, l = obj->arrayGetLength(); i < l; ++i) { -- obj->arrayGetNF(i, &obj1); -- if (!obj1->isName()) -+ obj1 = obj->arrayGetNF(i); -+ if (!obj1.isName()) - pdf_puts(" "); - copyObject(&obj1); - } -@@ -603,9 +600,8 @@ static void copyObject(Object * obj) - copyDict(obj); - pdf_puts(">>"); - } else if (obj->isStream()) { -- initDictFromDict(obj1, obj->streamGetDict()); - pdf_puts("<<\n"); -- copyDict(&obj1); -+ copyDict(obj->getStream()->getDictObject()); - pdf_puts(">>\n"); - pdf_puts("stream\n"); - copyStream(obj->getStream()->getUndecodedStream()); -@@ -629,9 +625,8 @@ static void writeRefs() - InObj *r; - for (r = inObjList; r != 0; r = r->next) { - if (!r->written) { -- Object obj1; - r->written = 1; -- xref->fetch(r->ref.num, r->ref.gen, &obj1); -+ Object obj1 = xref->fetch(r->ref.num, r->ref.gen); - if (r->type == objFont) { - assert(!obj1.isStream()); - pdfbeginobj(r->num, 2); // \pdfobjcompresslevel = 2 is for this -@@ -647,7 +642,6 @@ static void writeRefs() - pdf_puts("\n"); - pdfendobj(); - } -- obj1.free(); - } - } - } -@@ -805,8 +799,8 @@ void write_epdf(void) - Page *page; - Ref *pageRef; - Dict *pageDict; -- PdfObject contents, obj1, obj2, pageObj, dictObj; -- PdfObject groupDict; -+ Object contents, obj1, obj2, pageObj, dictObj; -+ Object groupDict; - bool writeSepGroup = false; - Object info; - char *key; -@@ -833,8 +827,8 @@ void write_epdf(void) - encodingList = 0; - page = pdf_doc->doc->getCatalog()->getPage(epdf_selected_page); - pageRef = pdf_doc->doc->getCatalog()->getPageRef(epdf_selected_page); -- xref->fetch(pageRef->num, pageRef->gen, &pageObj); -- pageDict = pageObj->getDict(); -+ pageObj = xref->fetch(pageRef->num, pageRef->gen); -+ pageDict = pageObj.getDict(); - rotate = page->getRotate(); - PDFRectangle *pagebox; - // write the Page header -@@ -852,7 +846,7 @@ void write_epdf(void) - pdf_printf("/%s.PageNumber %i\n", pdfkeyprefix, (int) epdf_selected_page); - } - if ((suppress_ptex_info & MASK_SUPPRESS_PTEX_INFODICT) == 0) { -- pdf_doc->doc->getDocInfoNF(&info); -+ info = pdf_doc->doc->getDocInfoNF(); - if (info.isRef()) { - // the info dict must be indirect (PDF Ref p. 61) - pdf_printf("/%s.InfoDict ", pdfkeyprefix); -@@ -908,14 +902,14 @@ void write_epdf(void) - pdf_puts(stripzeros(s)); - - // Metadata validity check (as a stream it must be indirect) -- pageDict->lookupNF("Metadata", &dictObj); -- if (!dictObj->isNull() && !dictObj->isRef()) -+ dictObj = pageDict->lookupNF("Metadata"); -+ if (!dictObj.isNull() && !dictObj.isRef()) - pdftex_warn("PDF inclusion: /Metadata must be indirect object"); - - // copy selected items in Page dictionary except Resources & Group - for (i = 0; pageDictKeys[i] != NULL; i++) { -- pageDict->lookupNF(pageDictKeys[i], &dictObj); -- if (!dictObj->isNull()) { -+ dictObj = pageDict->lookupNF(pageDictKeys[i]); -+ if (!dictObj.isNull()) { - pdf_newline(); - pdf_printf("/%s ", pageDictKeys[i]); - copyObject(&dictObj); // preserves indirection -@@ -923,8 +917,8 @@ void write_epdf(void) - } - - // handle page group -- pageDict->lookupNF("Group", &dictObj); -- if (!dictObj->isNull()) { -+ dictObj = pageDict->lookupNF("Group"); -+ if (!dictObj.isNull()) { - if (pdfpagegroupval == 0) { - // another pdf with page group was included earlier on the - // same page; copy the Group entry as is. See manual for -@@ -938,11 +932,36 @@ void write_epdf(void) - copyObject(&dictObj); - } else { - // write Group dict as a separate object, since the Page dict also refers to it -- pageDict->lookup("Group", &dictObj); -- if (!dictObj->isDict()) -+ dictObj = pageDict->lookup("Group"); -+ if (!dictObj.isDict()) - pdftex_fail("PDF inclusion: /Group dict missing"); - writeSepGroup = true; -- initDictFromDict(groupDict, page->getGroup()); -+/* -+This part is only a single line -+ groupDict = Object(page->getGroup()); -+in the original patch. In this case, however, pdftex crashes at -+"delete pdf_doc->doc" in "delete_document()" for inclusion of some -+kind of pdf images, for example, figure_missing.pdf in gnuplot. -+A change -+ groupDict = Object(page->getGroup()).copy(); -+does not improve the situation. -+The changes below seem to work fine. -+*/ -+// begin modification -+ groupDict = pageDict->lookup("Group"); -+ const Dict& dic1 = page->getGroup(); -+ const Dict& dic2 = groupDict.getDict(); -+ // replace dic2 in groupDict with dic1 -+ l = dic2.getLength(); -+ for (i = 0; i < l; i++) { -+ groupDict.dictRemove(dic2.getKey(i)); -+ } -+ l = dic1.getLength(); -+ for (i = 0; i < l; i++) { -+ groupDict.dictAdd(copyString(dic1.getKey(i)), -+ dic1.getValNF(i)); -+ } -+// end modification - pdf_printf("/Group %ld 0 R\n", (long)pdfpagegroupval); - } - } -@@ -955,14 +974,14 @@ void write_epdf(void) - pdftex_warn - ("PDF inclusion: /Resources missing. 'This practice is not recommended' (PDF Ref)"); - } else { -- initDictFromDict(obj1, page->getResourceDict()); -+ Object *obj1 = page->getResourceDictObject(); - if (!obj1->isDict()) - pdftex_fail("PDF inclusion: invalid resources dict type <%s>", - obj1->getTypeName()); - pdf_newline(); - pdf_puts("/Resources <<\n"); - for (i = 0, l = obj1->dictGetLength(); i < l; ++i) { -- obj1->dictGetVal(i, &obj2); -+ obj2 = obj1->dictGetVal(i); - key = obj1->dictGetKey(i); - if (strcmp("Font", key) == 0) - copyFontResources(&obj2); -@@ -975,8 +994,8 @@ void write_epdf(void) - } - - // write the page contents -- page->getContents(&contents); -- if (contents->isStream()) { -+ contents = page->getContents(); -+ if (contents.isStream()) { - - // Variant A: get stream and recompress under control - // of \pdfcompresslevel -@@ -987,36 +1006,35 @@ void write_epdf(void) - - // Variant B: copy stream without recompressing - // -- contents->streamGetDict()->lookup("F", &obj1); -- if (!obj1->isNull()) { -+ obj1 = contents.streamGetDict()->lookup("F"); -+ if (!obj1.isNull()) { - pdftex_fail("PDF inclusion: Unsupported external stream"); - } -- contents->streamGetDict()->lookup("Length", &obj1); -- assert(!obj1->isNull()); -+ obj1 = contents.streamGetDict()->lookup("Length"); -+ assert(!obj1.isNull()); - pdf_puts("/Length "); - copyObject(&obj1); - pdf_puts("\n"); -- contents->streamGetDict()->lookup("Filter", &obj1); -- if (!obj1->isNull()) { -+ obj1 = contents.streamGetDict()->lookup("Filter"); -+ if (!obj1.isNull()) { - pdf_puts("/Filter "); - copyObject(&obj1); - pdf_puts("\n"); -- contents->streamGetDict()->lookup("DecodeParms", &obj1); -- if (!obj1->isNull()) { -+ obj1 = contents.streamGetDict()->lookup("DecodeParms"); -+ if (!obj1.isNull()) { - pdf_puts("/DecodeParms "); - copyObject(&obj1); - pdf_puts("\n"); - } - } - pdf_puts(">>\nstream\n"); -- copyStream(contents->getStream()->getUndecodedStream()); -+ copyStream(contents.getStream()->getUndecodedStream()); - pdfendstream(); -- } else if (contents->isArray()) { -+ } else if (contents.isArray()) { - pdfbeginstream(); -- for (i = 0, l = contents->arrayGetLength(); i < l; ++i) { -- Object contentsobj; -- copyStream((contents->arrayGet(i, &contentsobj))->getStream()); -- contentsobj.free(); -+ for (i = 0, l = contents.arrayGetLength(); i < l; ++i) { -+ Object contentsobj = contents.arrayGet(i); -+ copyStream(contentsobj.getStream()); - if (i < l - 1) - pdf_newline(); // add a newline after each stream except the last - } -diff -up texlive-base-20210325/source/texk/web2c/pdftexdir/pdftosrc.cc.newpoppler texlive-base-20210325/source/texk/web2c/pdftexdir/pdftosrc.cc ---- texlive-base-20210325/source/texk/web2c/pdftexdir/pdftosrc.cc.newpoppler 2020-05-14 17:45:48.000000000 -0400 -+++ texlive-base-20210325/source/texk/web2c/pdftexdir/pdftosrc.cc 2021-05-06 17:50:38.863177570 -0400 -@@ -16,6 +16,14 @@ GNU General Public License for more deta - You should have received a copy of the GNU General Public License along - with this program. If not, see . - */ -+ -+/* -+This is based on the patch texlive-poppler-0.59.patch <2017-09-19> at -+https://git.archlinux.org/svntogit/packages.git/plain/texlive-bin/trunk -+by Arch Linux. The poppler should be 0.59.0 or newer versions. -+POPPLER_VERSION should be defined. -+*/ -+ - #include - - #include -@@ -77,22 +85,20 @@ int main(int argc, char *argv[]) - objgen = atoi(argv[3]); - } - xref = doc->getXRef(); -- catalogDict.initNull(); -- xref->getCatalog(&catalogDict); -+ catalogDict = xref->getCatalog(); - if (!catalogDict.isDict("Catalog")) { - fprintf(stderr, "No Catalog found\n"); - exit(1); - } -- srcStream.initNull(); -+ srcStream = Object(objNull); - if (objnum == 0) { -- catalogDict.dictLookup("SourceObject", &srcStream); -+ srcStream = catalogDict.dictLookup("SourceObject"); - static char const_SourceFile[] = "SourceFile"; - if (!srcStream.isStream(const_SourceFile)) { - fprintf(stderr, "No SourceObject found\n"); - exit(1); - } -- srcName.initNull(); -- srcStream.getStream()->getDict()->lookup("SourceName", &srcName); -+ srcName = srcStream.getStream()->getDict()->lookup("SourceName"); - if (!srcName.isString()) { - fprintf(stderr, "No SourceName found\n"); - exit(1); -@@ -101,7 +107,7 @@ int main(int argc, char *argv[]) - // We cannot free srcName, as objname shares its string. - // srcName.free(); - } else if (objnum > 0) { -- xref->fetch(objnum, objgen, &srcStream); -+ srcStream = xref->fetch(objnum, objgen); - if (!srcStream.isStream()) { - fprintf(stderr, "Not a Stream object\n"); - exit(1); -@@ -151,26 +157,24 @@ int main(int argc, char *argv[]) - int localOffset = 0; - Guint firstOffset; - -- assert(xref->fetch(e->offset, 0, &objStr)->isStream()); -- nObjects = objStr.streamGetDict()->lookup("N", &obj1)->getInt(); -- obj1.free(); -- first = objStr.streamGetDict()->lookup("First", &obj1)->getInt(); -- obj1.free(); -+ objStr = xref->fetch(e->offset, 0); -+ assert(objStr.isStream()); -+ obj1 = objStr.streamGetDict()->lookup("N"); -+ nObjects = obj1.getInt(); -+ obj1 = objStr.streamGetDict()->lookup("First"); -+ first = obj1.getInt(); - firstOffset = objStr.getStream()->getBaseStream()->getStart() + first; - - // parse the header: object numbers and offsets - objStr.streamReset(); -- obj1.initNull(); -- str = new EmbedStream(objStr.getStream(), &obj1, gTrue, first); -+ str = new EmbedStream(objStr.getStream(), Object(objNull), gTrue, first); - lexer = new Lexer(xref, str); - parser = new Parser(xref, lexer, gFalse); - for (n = 0; n < nObjects; ++n) { -- parser->getObj(&obj1); -- parser->getObj(&obj2); -+ obj1 = parser->getObj(); -+ obj2 = parser->getObj(); - if (n == e->gen) - localOffset = obj2.getInt(); -- obj1.free(); -- obj2.free(); - } - #if defined(XPDF304) - while (str->getChar() != EOF) ; -@@ -178,7 +182,6 @@ int main(int argc, char *argv[]) - lexer->skipToEOF(); - #endif - delete parser; -- objStr.free(); - - fprintf(outfile, "%.10lu 00000 n\n", - (long unsigned)(firstOffset + localOffset)); -@@ -189,7 +192,6 @@ int main(int argc, char *argv[]) - s->reset(); - while ((c = s->getChar()) != EOF) - fputc(c, outfile); -- srcStream.free(); - } - if (objnum == 0) - fprintf(stderr, "Source file extracted to %s\n", outname); -@@ -198,7 +200,6 @@ int main(int argc, char *argv[]) - else - fprintf(stderr, "Cross-reference table extracted to %s\n", outname); - fclose(outfile); -- catalogDict.free(); - delete doc; - delete globalParams; - } diff --git a/texlive-20210325-poppler-0.73.patch b/texlive-20210325-poppler-0.73.patch deleted file mode 100644 index 4b24f29..0000000 --- a/texlive-20210325-poppler-0.73.patch +++ /dev/null @@ -1,200 +0,0 @@ -diff -up texlive-base-20210325/source/texk/web2c/pdftexdir/pdftoepdf.cc.poppler-0.73 texlive-base-20210325/source/texk/web2c/pdftexdir/pdftoepdf.cc ---- texlive-base-20210325/source/texk/web2c/pdftexdir/pdftoepdf.cc.poppler-0.73 2021-05-06 18:01:35.847959461 -0400 -+++ texlive-base-20210325/source/texk/web2c/pdftexdir/pdftoepdf.cc 2021-05-06 18:08:20.143955577 -0400 -@@ -114,7 +114,7 @@ struct UsedEncoding { - - static InObj *inObjList; - static UsedEncoding *encodingList; --static GBool isInit = gFalse; -+static bool isInit = false; - - // -------------------------------------------------------------------- - // Maintain list of open embedded PDF files -@@ -269,7 +269,7 @@ static int getNewObjectNumber(Ref ref) - - static void copyObject(Object *); - --static void copyName(char *s) -+static void copyName(const char *s) - { - pdf_puts("/"); - for (; *s != 0; s++) { -@@ -304,7 +304,7 @@ static void copyDict(Object * obj) - static void copyFontDict(Object * obj, InObj * r) - { - int i, l; -- char *key; -+ const char *key; - if (!obj->isDict()) - pdftex_fail("PDF inclusion: invalid dict type <%s>", - obj->getTypeName()); -@@ -376,7 +376,7 @@ static bool embeddableFont(Object * font - return false; - } - --static void copyFont(char *tag, Object * fontRef) -+static void copyFont(const char *tag, Object * fontRef) - { - Object fontdict, subtype, basefont, fontdescRef, fontdesc, charset, - stemV; -@@ -412,7 +412,7 @@ static void copyFont(char *tag, Object * - && fontdescRef.isRef() - && fontdesc.isDict() - && embeddableFont(&fontdesc) -- && (fontmap = lookup_fontmap(basefont.getName())) != NULL) { -+ && (fontmap = lookup_fontmap((char *)basefont.getName())) != NULL) { - // round /StemV value, since the PDF input is a float - // (see Font Descriptors in PDF reference), but we only store an - // integer, since we don't want to change the struct. -@@ -421,7 +421,7 @@ static void copyFont(char *tag, Object * - charset = fontdesc.dictLookup("CharSet"); - if (!charset.isNull() && - charset.isString() && is_subsetable(fontmap)) -- epdf_mark_glyphs(fd, charset.getString()->getCString()); -+ epdf_mark_glyphs(fd, (char *)charset.getString()->c_str()); - else - embed_whole_font(fd); - addFontDesc(fontdescRef.getRef(), fd); -@@ -461,7 +461,7 @@ static void copyFontResources(Object * o - pdf_puts(">>\n"); - } - --static void copyOtherResources(Object * obj, char *key) -+static void copyOtherResources(Object * obj, const char *key) - { - // copies all other resources (write_epdf handles Fonts and ProcSets), - -@@ -548,8 +548,8 @@ static void copyObject(Object * obj) - Object obj1; - int i, l, c; - Ref ref; -- char *p; -- GString *s; -+ const char *p; -+ const GString *s; - if (obj->isBool()) { - pdf_printf("%s", obj->getBool()? "true" : "false"); - } else if (obj->isInt()) { -@@ -560,7 +560,7 @@ static void copyObject(Object * obj) - pdf_printf("%s", convertNumToPDF(obj->getNum())); - } else if (obj->isString()) { - s = obj->getString(); -- p = s->getCString(); -+ p = s->c_str(); - l = s->getLength(); - if (strlen(p) == (unsigned int) l) { - pdf_puts("("); -@@ -658,7 +658,7 @@ static void writeEncodings() - ("PDF inclusion: CID fonts are not supported" - " (try to disable font replacement to fix this)"); - } -- if ((s = ((Gfx8BitFont *) r->font)->getCharName(i)) != 0) -+ if ((s = (char *) ((Gfx8BitFont *) r->font)->getCharName(i)) != 0) - glyphNames[i] = s; - else - glyphNames[i] = notdef; -@@ -673,7 +673,7 @@ static void writeEncodings() - } - - // get the pagebox according to the pagebox_spec --static PDFRectangle *get_pagebox(Page * page, int pagebox_spec) -+static const PDFRectangle *get_pagebox(Page * page, int pagebox_spec) - { - if (pagebox_spec == pdfboxspecmedia) - return page->getMediaBox(); -@@ -705,13 +705,13 @@ read_pdf_info(char *image_name, char *pa - { - PdfDocument *pdf_doc; - Page *page; -- PDFRectangle *pagebox; -+ const PDFRectangle *pagebox; - float pdf_version_found, pdf_version_wanted; - // initialize - if (!isInit) { - globalParams = new GlobalParams(); -- globalParams->setErrQuiet(gFalse); -- isInit = gTrue; -+ globalParams->setErrQuiet(false); -+ isInit = true; - } - // open PDF file - pdf_doc = find_add_document(image_name); -@@ -803,7 +803,7 @@ void write_epdf(void) - Object groupDict; - bool writeSepGroup = false; - Object info; -- char *key; -+ const char *key; - char s[256]; - int i, l; - int rotate; -@@ -830,7 +830,7 @@ void write_epdf(void) - pageObj = xref->fetch(pageRef->num, pageRef->gen); - pageDict = pageObj.getDict(); - rotate = page->getRotate(); -- PDFRectangle *pagebox; -+ const PDFRectangle *pagebox; - // write the Page header - pdf_puts("/Type /XObject\n"); - pdf_puts("/Subtype /Form\n"); -@@ -958,7 +958,7 @@ The changes below seem to work fine. - } - l = dic1.getLength(); - for (i = 0; i < l; i++) { -- groupDict.dictAdd(copyString(dic1.getKey(i)), -+ groupDict.dictAdd(dic1.getKey(i), - dic1.getValNF(i)); - } - // end modification -diff -up texlive-base-20210325/source/texk/web2c/pdftexdir/pdftosrc.cc.poppler-0.73 texlive-base-20210325/source/texk/web2c/pdftexdir/pdftosrc.cc ---- texlive-base-20210325/source/texk/web2c/pdftexdir/pdftosrc.cc.poppler-0.73 2021-05-06 18:01:35.847959461 -0400 -+++ texlive-base-20210325/source/texk/web2c/pdftexdir/pdftosrc.cc 2021-05-06 18:01:35.854959565 -0400 -@@ -103,7 +103,7 @@ int main(int argc, char *argv[]) - fprintf(stderr, "No SourceName found\n"); - exit(1); - } -- outname = srcName.getString()->getCString(); -+ outname = (char *)srcName.getString()->c_str(); - // We cannot free srcName, as objname shares its string. - // srcName.free(); - } else if (objnum > 0) { -@@ -112,7 +112,7 @@ int main(int argc, char *argv[]) - fprintf(stderr, "Not a Stream object\n"); - exit(1); - } -- sprintf(buf, "%s", fileName->getCString()); -+ sprintf(buf, "%s", fileName->c_str()); - if ((p = strrchr(buf, '.')) == 0) - p = strchr(buf, 0); - if (objgen == 0) -@@ -122,7 +122,7 @@ int main(int argc, char *argv[]) - outname = buf; - } else { // objnum < 0 means we are extracting the XRef table - extract_xref_table = true; -- sprintf(buf, "%s", fileName->getCString()); -+ sprintf(buf, "%s", fileName->c_str()); - if ((p = strrchr(buf, '.')) == 0) - p = strchr(buf, 0); - sprintf(p, ".xref"); -@@ -155,7 +155,7 @@ int main(int argc, char *argv[]) - Object objStr, obj1, obj2; - int nObjects, first, n; - int localOffset = 0; -- Guint firstOffset; -+ unsigned int firstOffset; - - objStr = xref->fetch(e->offset, 0); - assert(objStr.isStream()); -@@ -167,9 +167,9 @@ int main(int argc, char *argv[]) - - // parse the header: object numbers and offsets - objStr.streamReset(); -- str = new EmbedStream(objStr.getStream(), Object(objNull), gTrue, first); -+ str = new EmbedStream(objStr.getStream(), Object(objNull), true, first); - lexer = new Lexer(xref, str); -- parser = new Parser(xref, lexer, gFalse); -+ parser = new Parser(xref, lexer, false); - for (n = 0; n < nObjects; ++n) { - obj1 = parser->getObj(); - obj2 = parser->getObj(); -diff -up texlive-base-20210325/source/texk/web2c/xetexdir/pdfimage.cpp.poppler-0.73 texlive-base-20210325/source/texk/web2c/xetexdir/pdfimage.cpp diff --git a/texlive-20210325-poppler-0.84.patch b/texlive-20210325-poppler-0.84.patch deleted file mode 100644 index 37cb1c3..0000000 --- a/texlive-20210325-poppler-0.84.patch +++ /dev/null @@ -1,228 +0,0 @@ -diff -up texlive-base-20210325/source/texk/web2c/pdftexdir/pdftoepdf.cc.poppler-0.84 texlive-base-20210325/source/texk/web2c/pdftexdir/pdftoepdf.cc ---- texlive-base-20210325/source/texk/web2c/pdftexdir/pdftoepdf.cc.poppler-0.84 2021-05-06 18:21:18.379430999 -0400 -+++ texlive-base-20210325/source/texk/web2c/pdftexdir/pdftoepdf.cc 2021-05-10 11:15:09.572907304 -0400 -@@ -26,6 +26,15 @@ The poppler should be 0.59.0 or newer ve - POPPLER_VERSION should be defined. - */ - -+#ifdef POPPLER_VERSION -+#include -+#define xpdfVersion POPPLER_VERSION -+#define xpdfString "poppler" -+#else -+#include /* just to get the xpdf version */ -+#define xpdfString "xpdf" -+#endif -+ - /* Do this early in order to avoid a conflict between - MINGW32 defining 'boolean' as 'unsigned char' and - defining Pascal's boolean as 'int'. -@@ -286,7 +295,7 @@ static void copyDictEntry(Object * obj, - Object obj1; - copyName(obj->dictGetKey(i)); - pdf_puts(" "); -- obj1 = obj->dictGetValNF(i); -+ obj1 = obj->dictGetValNF(i).copy(); - copyObject(&obj1); - pdf_puts("\n"); - } -@@ -345,7 +354,7 @@ static void copyProcSet(Object * obj) - obj->getTypeName()); - pdf_puts("/ProcSet [ "); - for (i = 0, l = obj->arrayGetLength(); i < l; ++i) { -- procset = obj->arrayGetNF(i); -+ procset = obj->arrayGetNF(i).copy(); - if (!procset.isName()) - pdftex_fail("PDF inclusion: invalid ProcSet entry type <%s>", - procset.getTypeName()); -@@ -400,7 +409,7 @@ static void copyFont(const char *tag, Ob - if (fontdict.isDict()) { - subtype = fontdict.dictLookup("Subtype"); - basefont = fontdict.dictLookup("BaseFont"); -- fontdescRef = fontdict.dictLookupNF("FontDescriptor"); -+ fontdescRef = fontdict.dictLookupNF("FontDescriptor").copy(); - if (fontdescRef.isRef()) { - fontdesc = fontdescRef.fetch(xref); - } -@@ -446,7 +455,7 @@ static void copyFontResources(Object * o - obj->getTypeName()); - pdf_puts("/Font << "); - for (i = 0, l = obj->dictGetLength(); i < l; ++i) { -- fontRef = obj->dictGetValNF(i); -+ fontRef = obj->dictGetValNF(i).copy(); - if (fontRef.isRef()) - copyFont(obj->dictGetKey(i), &fontRef); - else if (fontRef.isDict()) { // some programs generate pdf with embedded font object -@@ -589,7 +598,7 @@ static void copyObject(Object * obj) - } else if (obj->isArray()) { - pdf_puts("["); - for (i = 0, l = obj->arrayGetLength(); i < l; ++i) { -- obj1 = obj->arrayGetNF(i); -+ obj1 = obj->arrayGetNF(i).copy(); - if (!obj1.isName()) - pdf_puts(" "); - copyObject(&obj1); -@@ -709,7 +718,7 @@ read_pdf_info(char *image_name, char *pa - float pdf_version_found, pdf_version_wanted; - // initialize - if (!isInit) { -- globalParams = new GlobalParams(); -+ globalParams = std::unique_ptr(new GlobalParams()); - globalParams->setErrQuiet(false); - isInit = true; - } -@@ -742,7 +751,7 @@ read_pdf_info(char *image_name, char *pa - if (link == 0 || !link->isOk()) - pdftex_fail("PDF inclusion: invalid destination <%s>", page_name); - Ref ref = link->getPageRef(); -- page_num = pdf_doc->doc->getCatalog()->findPage(ref.num, ref.gen); -+ page_num = pdf_doc->doc->getCatalog()->findPage(ref); - if (page_num == 0) - pdftex_fail("PDF inclusion: destination is not a page <%s>", - page_name); -@@ -902,13 +911,13 @@ void write_epdf(void) - pdf_puts(stripzeros(s)); - - // Metadata validity check (as a stream it must be indirect) -- dictObj = pageDict->lookupNF("Metadata"); -+ dictObj = pageDict->lookupNF("Metadata").copy(); - if (!dictObj.isNull() && !dictObj.isRef()) - pdftex_warn("PDF inclusion: /Metadata must be indirect object"); - - // copy selected items in Page dictionary except Resources & Group - for (i = 0; pageDictKeys[i] != NULL; i++) { -- dictObj = pageDict->lookupNF(pageDictKeys[i]); -+ dictObj = pageDict->lookupNF(pageDictKeys[i]).copy(); - if (!dictObj.isNull()) { - pdf_newline(); - pdf_printf("/%s ", pageDictKeys[i]); -@@ -917,7 +926,7 @@ void write_epdf(void) - } - - // handle page group -- dictObj = pageDict->lookupNF("Group"); -+ dictObj = pageDict->lookupNF("Group").copy(); - if (!dictObj.isNull()) { - if (pdfpagegroupval == 0) { - // another pdf with page group was included earlier on the -@@ -959,7 +968,7 @@ The changes below seem to work fine. - l = dic1.getLength(); - for (i = 0; i < l; i++) { - groupDict.dictAdd(dic1.getKey(i), -- dic1.getValNF(i)); -+ dic1.getValNF(i).copy()); - } - // end modification - pdf_printf("/Group %ld 0 R\n", (long)pdfpagegroupval); -@@ -1089,6 +1098,6 @@ void epdf_check_mem() - delete_document(p); - } - // see above for globalParams -- delete globalParams; -+ globalParams.reset(); - } - } -diff -up texlive-base-20210325/source/texk/web2c/pdftexdir/pdftosrc.cc.poppler-0.84 texlive-base-20210325/source/texk/web2c/pdftexdir/pdftosrc.cc ---- texlive-base-20210325/source/texk/web2c/pdftexdir/pdftosrc.cc.poppler-0.84 2021-05-06 18:21:18.379430999 -0400 -+++ texlive-base-20210325/source/texk/web2c/pdftexdir/pdftosrc.cc 2021-05-06 18:21:18.383431058 -0400 -@@ -24,6 +24,15 @@ by Arch Linux. The poppler should be 0.5 - POPPLER_VERSION should be defined. - */ - -+#ifdef POPPLER_VERSION -+#include -+#define xpdfVersion POPPLER_VERSION -+#define xpdfString "poppler" -+#else -+#include /* just to get the xpdf version */ -+#define xpdfString "xpdf" -+#endif -+ - #include - - #include -@@ -73,7 +82,7 @@ int main(int argc, char *argv[]) - exit(1); - } - fileName = new GString(argv[1]); -- globalParams = new GlobalParams(); -+ globalParams = std::unique_ptr(new GlobalParams()); - doc = new PDFDoc(fileName); - if (!doc->isOk()) { - fprintf(stderr, "Invalid PDF file\n"); -@@ -94,7 +103,7 @@ int main(int argc, char *argv[]) - if (objnum == 0) { - srcStream = catalogDict.dictLookup("SourceObject"); - static char const_SourceFile[] = "SourceFile"; -- if (!srcStream.isStream(const_SourceFile)) { -+ if (!(srcStream.isStream() && srcStream.getDict()->is(const_SourceFile))) { - fprintf(stderr, "No SourceObject found\n"); - exit(1); - } -@@ -150,7 +159,6 @@ int main(int argc, char *argv[]) - (e->type == xrefEntryFree ? "f" : "n")); - else { // e->offset is the object number of the object stream - Stream *str; -- Lexer *lexer; - Parser *parser; - Object objStr, obj1, obj2; - int nObjects, first, n; -@@ -168,8 +176,7 @@ int main(int argc, char *argv[]) - // parse the header: object numbers and offsets - objStr.streamReset(); - str = new EmbedStream(objStr.getStream(), Object(objNull), true, first); -- lexer = new Lexer(xref, str); -- parser = new Parser(xref, lexer, false); -+ parser = new Parser(xref, str, false); - for (n = 0; n < nObjects; ++n) { - obj1 = parser->getObj(); - obj2 = parser->getObj(); -@@ -201,5 +208,5 @@ int main(int argc, char *argv[]) - fprintf(stderr, "Cross-reference table extracted to %s\n", outname); - fclose(outfile); - delete doc; -- delete globalParams; -+ globalParams.reset(); - } -diff -up texlive-base-20210325/source/texk/web2c/pdftexdir/utils.c.poppler-0.84 texlive-base-20210325/source/texk/web2c/pdftexdir/utils.c ---- texlive-base-20210325/source/texk/web2c/pdftexdir/utils.c.poppler-0.84 2019-12-29 19:37:32.000000000 -0500 -+++ texlive-base-20210325/source/texk/web2c/pdftexdir/utils.c 2021-05-06 18:21:18.383431058 -0400 -@@ -32,14 +32,6 @@ with this program. If not, see - #include "ptexlib.h" - #include --#ifdef POPPLER_VERSION --/* POPPLER_VERSION should be a proper version string */ --#define xpdfVersion POPPLER_VERSION --#define xpdfString "poppler" --#else --#include /* just to get the xpdf version */ --#define xpdfString "xpdf" --#endif - - #define check_nprintf(size_get, size_want) \ - if ((unsigned)(size_get) >= (unsigned)(size_want)) \ -@@ -977,12 +969,10 @@ void initversionstring(char **versions) - { - const_string fmt = - "Compiled with libpng %s; using libpng %s\n" -- "Compiled with zlib %s; using zlib %s\n" -- "Compiled with %s version %s\n"; -+ "Compiled with zlib %s; using zlib %s\n"; - size_t len = strlen(fmt) - + strlen(PNG_LIBPNG_VER_STRING) + strlen(png_libpng_ver) - + strlen(ZLIB_VERSION) + strlen(zlib_version) -- + strlen(xpdfString) + strlen(xpdfVersion) - + 1; - - /* len will be more than enough, because of the placeholder chars in fmt -@@ -990,7 +980,7 @@ void initversionstring(char **versions) - *versions = xmalloc(len); - sprintf(*versions, fmt, - PNG_LIBPNG_VER_STRING, png_libpng_ver, -- ZLIB_VERSION, zlib_version, xpdfString, xpdfVersion); -+ ZLIB_VERSION, zlib_version); - } - - -diff -up texlive-base-20210325/source/texk/web2c/xetexdir/XeTeX_ext.c.poppler-0.84 texlive-base-20210325/source/texk/web2c/xetexdir/XeTeX_ext.c diff --git a/texlive-20210325-texinfo-path-fix.patch b/texlive-20210325-texinfo-path-fix.patch deleted file mode 100644 index e1ad38b..0000000 --- a/texlive-20210325-texinfo-path-fix.patch +++ /dev/null @@ -1,22 +0,0 @@ -diff -up texlive-base-20210325/source/texk/kpathsea/texmf.cnf.texinfo-fix texlive-base-20210325/source/texk/kpathsea/texmf.cnf ---- texlive-base-20210325/source/texk/kpathsea/texmf.cnf.texinfo-fix 2021-05-06 17:53:44.616943275 -0400 -+++ texlive-base-20210325/source/texk/kpathsea/texmf.cnf 2021-05-06 17:55:40.097662674 -0400 -@@ -83,6 +83,9 @@ TEXMFSYSCONFIG = $TEXMFROOT/texmf-config - % to %USERPROFILE% on Windows, $HOME otherwise. - TEXMFHOME = ~/texmf - -+% Texinfo on Fedora lives out of $TEXMFROOT -+TEXINFOHOME = $SELFAUTODIR/share/texmf -+ - % TEXMFVAR, where texconfig/updmap/fmtutil store cached runtime data. - TEXMFVAR = ~/.texlive2021/texmf-var - -@@ -108,7 +111,7 @@ TEXMFAUXTREES = {} - % The odd-looking $TEXMFAUXTREES$TEXMF... construct is so that if no auxtree is - % ever defined (the 99% common case), no extra elements will be added to - % the search paths. tlmgr takes care to end any value with a trailing comma. --TEXMF = {$TEXMFAUXTREES$TEXMFCONFIG,$TEXMFVAR,$TEXMFHOME,!!$TEXMFLOCAL,!!$TEXMFSYSCONFIG,!!$TEXMFSYSVAR,!!$TEXMFDIST} -+TEXMF = {$TEXMFAUXTREES$TEXMFCONFIG,$TEXMFVAR,$TEXMFHOME,$TEXINFOHOME,!!$TEXMFLOCAL,!!$TEXMFSYSCONFIG,!!$TEXMFSYSVAR,!!$TEXMFDIST} - - % Where to look for, and where mktexlsr creates, ls-R files. By default, - % this is all and only the !! elements of TEXMF, so that mktexlsr does not diff --git a/texlive-20220321-disable-more-failing-tests.patch b/texlive-20220321-disable-more-failing-tests.patch deleted file mode 100644 index 6e17370..0000000 --- a/texlive-20220321-disable-more-failing-tests.patch +++ /dev/null @@ -1,140 +0,0 @@ -diff -up texlive-base-20220321/source/texk/kpathsea/Makefile.am.dt texlive-base-20220321/source/texk/kpathsea/Makefile.am ---- texlive-base-20220321/source/texk/kpathsea/Makefile.am.dt 2020-06-22 18:11:50.000000000 -0400 -+++ texlive-base-20220321/source/texk/kpathsea/Makefile.am 2022-04-24 15:03:32.852801273 -0400 -@@ -275,7 +275,7 @@ uninstall-local: - AM_TESTS_ENVIRONMENT = LN_S='$(LN_S)'; export LN_S; - AM_TESTS_ENVIRONMENT += LT_OBJDIR='$(LT_OBJDIR)'; export LT_OBJDIR; - # --TESTS = tests/cnfline.test tests/cnfnewline.test -+TESTS = tests/cnfnewline.test - TESTS += tests/cnfnull.test tests/cnfprog.test - TESTS += tests/kpseaccess.test - TESTS += tests/kpsereadlink.test tests/kpsestat.test tests/kpsewhich.test -diff -up texlive-base-20220321/source/texk/kpathsea/Makefile.in.dt texlive-base-20220321/source/texk/kpathsea/Makefile.in ---- texlive-base-20220321/source/texk/kpathsea/Makefile.in.dt 2021-10-04 11:13:00.000000000 -0400 -+++ texlive-base-20220321/source/texk/kpathsea/Makefile.in 2022-04-24 15:03:32.852801273 -0400 -@@ -861,7 +861,7 @@ dist_noinst_DATA = texmf.cnf - AM_TESTS_ENVIRONMENT = LN_S='$(LN_S)'; export LN_S; \ - LT_OBJDIR='$(LT_OBJDIR)'; export LT_OBJDIR; - # --TESTS = tests/cnfline.test tests/cnfnewline.test tests/cnfnull.test \ -+TESTS = tests/cnfnewline.test tests/cnfnull.test \ - tests/cnfprog.test tests/kpseaccess.test \ - tests/kpsereadlink.test tests/kpsestat.test \ - tests/kpsewhich.test -diff -up texlive-base-20220321/source/texk/web2c/am/texmf.am.dt texlive-base-20220321/source/texk/web2c/am/texmf.am ---- texlive-base-20220321/source/texk/web2c/am/texmf.am.dt 2022-01-11 17:47:10.000000000 -0500 -+++ texlive-base-20220321/source/texk/web2c/am/texmf.am 2022-04-24 15:03:32.850801263 -0400 -@@ -77,7 +77,7 @@ DISTCLEANFILES += $(nodist_tex_SOURCES) - - # TeX tests - # --tex_tests = triptest.test tests/write18-quote-test.pl tests/tex-closeout.test -+tex_tests = tests/write18-quote-test.pl tests/tex-closeout.test - triptest.log: tex$(EXEEXT) dvitype$(EXEEXT) pltotf$(EXEEXT) tftopl$(EXEEXT) - tests/write18-quote-test.log tests/tex-closeout.test: tex$(EXEEXT) - EXTRA_DIST += $(tex_tests) -@@ -205,7 +205,7 @@ DISTCLEANFILES += $(nodist_libmf_a_SOURC - - # Metafont tests - # --mf_tests = mftraptest.test -+mf_tests = - mftraptest.log: mf$(EXEEXT) gftype$(EXEEXT) tftopl$(EXEEXT) - EXTRA_DIST += $(mf_tests) - if MF -diff -up texlive-base-20220321/source/texk/web2c/eptexdir/am/eptex.am.dt texlive-base-20220321/source/texk/web2c/eptexdir/am/eptex.am ---- texlive-base-20220321/source/texk/web2c/eptexdir/am/eptex.am.dt 2022-01-11 17:47:10.000000000 -0500 -+++ texlive-base-20220321/source/texk/web2c/eptexdir/am/eptex.am 2022-04-24 15:03:32.850801263 -0400 -@@ -89,7 +89,7 @@ EXTRA_DIST += \ - - # e-pTeX Tests - # --eptex_tests = eptexdir/eptriptest.test eptexdir/pdfprimitive.test eptexdir/epver.test -+eptex_tests = eptexdir/epver.test - eptexdir/eptriptest.log: eptex$(EXEEXT) dvitype$(EXEEXT) pltotf$(EXEEXT) tftopl$(EXEEXT) - eptexdir/pdfprimitive.log: eptex$(EXEEXT) - eptexdir/epver.log: eptex$(EXEEXT) -diff -up texlive-base-20220321/source/texk/web2c/euptexdir/am/euptex.am.dt texlive-base-20220321/source/texk/web2c/euptexdir/am/euptex.am ---- texlive-base-20220321/source/texk/web2c/euptexdir/am/euptex.am.dt 2022-01-11 17:47:10.000000000 -0500 -+++ texlive-base-20220321/source/texk/web2c/euptexdir/am/euptex.am 2022-04-24 15:03:32.850801263 -0400 -@@ -90,7 +90,7 @@ EXTRA_DIST += \ - - # e-upTeX Tests - # --euptex_tests = euptexdir/euptriptest.test euptexdir/pdfprimitive.test euptexdir/eupver.test -+euptex_tests = euptexdir/eupver.test - euptexdir/euptriptest.log: euptex$(EXEEXT) dvitype$(EXEEXT) pltotf$(EXEEXT) tftopl$(EXEEXT) - euptexdir/pdfprimitive.log: euptex$(EXEEXT) - euptexdir/eupver.log: euptex$(EXEEXT) -diff -up texlive-base-20220321/source/texk/web2c/mfluadir/am/mflua.am.dt texlive-base-20220321/source/texk/web2c/mfluadir/am/mflua.am ---- texlive-base-20220321/source/texk/web2c/mfluadir/am/mflua.am.dt 2022-02-18 13:44:19.000000000 -0500 -+++ texlive-base-20220321/source/texk/web2c/mfluadir/am/mflua.am 2022-04-24 15:03:32.850801263 -0400 -@@ -110,7 +110,7 @@ EXTRA_DIST += \ - - # MFLua tests - # --mflua_tests = mfluadir/mfluatraptest.test -+mflua_tests = - mfluadir/mfluatraptest.log: mflua$(EXEEXT) gftype$(EXEEXT) tftopl$(EXEEXT) - EXTRA_DIST += $(mflua_tests) - -diff -up texlive-base-20220321/source/texk/web2c/mfluajitdir/am/mfluajit.am.dt texlive-base-20220321/source/texk/web2c/mfluajitdir/am/mfluajit.am ---- texlive-base-20220321/source/texk/web2c/mfluajitdir/am/mfluajit.am.dt 2022-02-18 13:44:19.000000000 -0500 -+++ texlive-base-20220321/source/texk/web2c/mfluajitdir/am/mfluajit.am 2022-04-24 15:03:32.851801268 -0400 -@@ -106,7 +106,7 @@ EXTRA_DIST += \ - - # MFLuaJIT tests - # --mfluajit_tests = mfluajitdir/mfluajittraptest.test -+mfluajit_tests = - mfluajitdir/mfluajittraptest.log: mfluajit$(EXEEXT) gftype$(EXEEXT) tftopl$(EXEEXT) - EXTRA_DIST += $(mfluajit_tests) - -diff -up texlive-base-20220321/source/texk/web2c/pdftexdir/am/pdftex.am.dt texlive-base-20220321/source/texk/web2c/pdftexdir/am/pdftex.am ---- texlive-base-20220321/source/texk/web2c/pdftexdir/am/pdftex.am.dt 2022-04-24 15:03:32.851801268 -0400 -+++ texlive-base-20220321/source/texk/web2c/pdftexdir/am/pdftex.am 2022-04-24 15:47:20.351639955 -0400 -@@ -104,7 +104,7 @@ EXTRA_DIST += \ - # pdfTeX tests - # - pdftex_tests = pdftexdir/wprob.test pdftexdir/pdftex.test \ -- pdftexdir/pdfimage.test pdftexdir/expanded.test \ -+ pdftexdir/expanded.test \ - pdftexdir/tests/cnfline.test pdftexdir/tests/partoken.test - - pdftexdir/wprob.log pdftexdir/pdftex.log \ -diff -up texlive-base-20220321/source/texk/web2c/ptexdir/am/ptex.am.dt texlive-base-20220321/source/texk/web2c/ptexdir/am/ptex.am ---- texlive-base-20220321/source/texk/web2c/ptexdir/am/ptex.am.dt 2022-01-11 17:47:10.000000000 -0500 -+++ texlive-base-20220321/source/texk/web2c/ptexdir/am/ptex.am 2022-04-24 15:03:32.851801268 -0400 -@@ -171,7 +171,7 @@ EXTRA_DIST += \ - - # pTeX Tests - # --ptex_tests = ptexdir/ptriptest.test ptexdir/pver.test -+ptex_tests = ptexdir/pver.test - ptexdir/ptriptest.log: ptex$(EXEEXT) dvitype$(EXEEXT) pltotf$(EXEEXT) tftopl$(EXEEXT) - ptexdir/pver.log: ptex$(EXEEXT) - pweb_tests = \ -diff -up texlive-base-20220321/source/texk/web2c/uptexdir/am/uptex.am.dt texlive-base-20220321/source/texk/web2c/uptexdir/am/uptex.am ---- texlive-base-20220321/source/texk/web2c/uptexdir/am/uptex.am.dt 2022-01-29 05:40:22.000000000 -0500 -+++ texlive-base-20220321/source/texk/web2c/uptexdir/am/uptex.am 2022-04-24 15:03:32.851801268 -0400 -@@ -161,7 +161,7 @@ EXTRA_DIST += \ - uptexdir/ChangeLog - - # upTeX Tests --uptex_tests = uptexdir/uptriptest.test uptexdir/upver.test -+uptex_tests = uptexdir/upver.test - uptexdir/uptriptest.log: uptex$(EXEEXT) dvitype$(EXEEXT) pltotf$(EXEEXT) tftopl$(EXEEXT) - uptexdir/upver.log: uptex$(EXEEXT) - upweb_tests = \ -diff -up texlive-base-20220321/source/texk/web2c/xetexdir/am/xetex.am.dt texlive-base-20220321/source/texk/web2c/xetexdir/am/xetex.am ---- texlive-base-20220321/source/texk/web2c/xetexdir/am/xetex.am.dt 2022-01-11 17:47:10.000000000 -0500 -+++ texlive-base-20220321/source/texk/web2c/xetexdir/am/xetex.am 2022-04-24 15:03:32.852801273 -0400 -@@ -203,7 +203,6 @@ EXTRA_DIST += \ - # - xetex_tests = \ - xetexdir/xetex-filedump.test \ -- xetexdir/xetex-bug73.test \ - xetexdir/xetex.test - xetexdir/xetex-filedump.log xetexdir/xetex-bug73.log xetexdir/xetex.log: xetex$(EXEEXT) - diff --git a/texlive-20220321-texinfo-path-fix.patch b/texlive-20220321-texinfo-path-fix.patch deleted file mode 100644 index 118bccd..0000000 --- a/texlive-20220321-texinfo-path-fix.patch +++ /dev/null @@ -1,22 +0,0 @@ -diff -up texlive-base-20220321/source/texk/kpathsea/texmf.cnf.texinfo-fix texlive-base-20220321/source/texk/kpathsea/texmf.cnf ---- texlive-base-20220321/source/texk/kpathsea/texmf.cnf.texinfo-fix 2022-04-24 14:56:58.552736645 -0400 -+++ texlive-base-20220321/source/texk/kpathsea/texmf.cnf 2022-04-24 14:59:20.022477425 -0400 -@@ -83,6 +83,9 @@ TEXMFSYSCONFIG = $TEXMFROOT/texmf-config - % to %USERPROFILE% on Windows, $HOME otherwise. - TEXMFHOME = ~/texmf - -+% Texinfo on Fedora lives out of $TEXMFROOT -+TEXINFOHOME = $SELFAUTODIR/share/texmf -+ - % TEXMFVAR, where texconfig/updmap/fmtutil store cached runtime data. - TEXMFVAR = ~/.texlive2022/texmf-var - -@@ -108,7 +111,7 @@ TEXMFAUXTREES = {} - % The odd-looking $TEXMFAUXTREES$TEXMF... construct is so that if no auxtree is - % ever defined (the 99% common case), no extra elements will be added to - % the search paths. tlmgr takes care to end any value with a trailing comma. --TEXMF = {$TEXMFAUXTREES$TEXMFCONFIG,$TEXMFVAR,$TEXMFHOME,!!$TEXMFLOCAL,!!$TEXMFSYSCONFIG,!!$TEXMFSYSVAR,!!$TEXMFDIST} -+TEXMF = {$TEXMFAUXTREES$TEXMFCONFIG,$TEXMFVAR,$TEXMFHOME,$TEXINFOHOME,!!$TEXMFLOCAL,!!$TEXMFSYSCONFIG,!!$TEXMFSYSVAR,!!$TEXMFDIST} - - % Where to look for, and where mktexlsr creates, ls-R files. By default, - % this is all and only the !! elements of TEXMF, so that mktexlsr does not diff --git a/texlive-2023-gcc15-ftbfs.patch b/texlive-2023-gcc15-ftbfs.patch deleted file mode 100644 index 2f10805..0000000 --- a/texlive-2023-gcc15-ftbfs.patch +++ /dev/null @@ -1,197 +0,0 @@ -diff -up texlive-base-20230311/source/texk/web2c/luatexdir/tex/textoken.c.me texlive-base-20230311/source/texk/web2c/luatexdir/tex/textoken.c ---- texlive-base-20230311/source/texk/web2c/luatexdir/tex/textoken.c.me 2025-01-23 16:20:29.845574328 +0100 -+++ texlive-base-20230311/source/texk/web2c/luatexdir/tex/textoken.c 2025-01-23 16:23:32.896925830 +0100 -@@ -2665,7 +2665,7 @@ static int do_feedback_pdf(halfword c) - halfword save_def_ref; - halfword save_warning_index; - /*tex temp boolean */ -- boolean bool; -+ boolean bool1; - /*tex first temp string */ - str_number s; - /*tex for use with |set_ff| */ -@@ -2738,7 +2738,7 @@ static int do_feedback_pdf(halfword c) - print_int(pdf_get_obj(static_pdf, obj_type_page, cur_val, false)); - pop_selector; - } else if (scan_keyword("colorstackinit")) { -- bool = scan_keyword("page"); -+ bool1 = scan_keyword("page"); - if (scan_keyword("direct")) - cur_val = direct_always; - else if (scan_keyword("page")) -@@ -2762,7 +2762,7 @@ static int do_feedback_pdf(halfword c) - warning_index = save_warning_index; - scanner_status = save_scanner_status; - str = makecstring(s); -- cur_val = newcolorstack(str, cur_val, bool); -+ cur_val = newcolorstack(str, cur_val, bool1); - free(str); - flush_str(s); - cur_val_level = int_val_level; -@@ -2801,7 +2801,7 @@ void conv_toks(void) - halfword save_def_ref; - halfword save_warning_index; - /*tex temp boolean */ -- boolean bool; -+ boolean bool1; - /*tex first temp string */ - str_number s; - /*tex lua chunk name */ -@@ -2991,11 +2991,11 @@ void conv_toks(void) - save_def_ref = def_ref; - save_warning_index = warning_index; - scan_toks(false, true); -- bool = in_lua_escape; -+ bool1 = in_lua_escape; - in_lua_escape = true; - escstr.s = (unsigned char *) tokenlist_to_cstring(def_ref, false, &l); - escstr.l = (unsigned) l; -- in_lua_escape = bool; -+ in_lua_escape = bool1; - delete_token_ref(def_ref); - def_ref = save_def_ref; - warning_index = save_warning_index; -diff -up texlive-base-20230311/source/texk/web2c/luatexdir/unilib/ustring.c.me texlive-base-20230311/source/texk/web2c/luatexdir/unilib/ustring.c ---- texlive-base-20230311/source/texk/web2c/luatexdir/unilib/ustring.c.me 2025-01-23 16:45:23.164475899 +0100 -+++ texlive-base-20230311/source/texk/web2c/luatexdir/unilib/ustring.c 2025-01-23 16:47:08.044935510 +0100 -@@ -396,7 +396,7 @@ double u_strtod(const unichar_t *str, un - char buf[60], *pt, *ret; - const unichar_t *upt; - double val; -- extern double strtod(); /* Please don't delete this, not all of us have good ansi headers */ -+ //extern double strtod(); /* Please don't delete this, not all of us have good ansi headers */ - - for ( upt=str, pt=buf; *upt<128 && *upt!='\0' && pt-buffrom->nextcp; - spline->from->nextcp = spline->from->prevcp; - spline->from->prevcp = tp; -- bool = spline->from->nonextcp; -+ bool1 = spline->from->nonextcp; - spline->from->nonextcp = spline->from->noprevcp; -- spline->from->noprevcp = bool; -- bool = spline->from->nextcpdef; -+ spline->from->noprevcp = bool1; -+ bool1 = spline->from->nextcpdef; - spline->from->nextcpdef = spline->from->prevcpdef; -- spline->from->prevcpdef = bool; -+ spline->from->prevcpdef = bool1; - - for ( ; spline!=NULL && spline!=first; spline=next ) { - next = spline->to->next; -@@ -2076,12 +2076,12 @@ return( spl ); /* Only one point, reve - tp = spline->to->nextcp; - spline->to->nextcp = spline->to->prevcp; - spline->to->prevcp = tp; -- bool = spline->to->nonextcp; -+ bool1 = spline->to->nonextcp; - spline->to->nonextcp = spline->to->noprevcp; -- spline->to->noprevcp = bool; -- bool = spline->to->nextcpdef; -+ spline->to->noprevcp = bool1; -+ bool1 = spline->to->nextcpdef; - spline->to->nextcpdef = spline->to->prevcpdef; -- spline->to->prevcpdef = bool; -+ spline->to->prevcpdef = bool1; - } - - temp = spline->to; -diff -up texlive-base-20230311/source/texk/dvisvgm/dvisvgm-src/libs/woff2/include/woff2/output.h.me texlive-base-20230311/source/texk/dvisvgm/dvisvgm-src/libs/woff2/include/woff2/output.h ---- texlive-base-20230311/source/texk/dvisvgm/dvisvgm-src/libs/woff2/include/woff2/output.h.me 2025-01-23 17:53:11.940292061 +0100 -+++ texlive-base-20230311/source/texk/dvisvgm/dvisvgm-src/libs/woff2/include/woff2/output.h 2025-01-23 18:00:25.679229974 +0100 -@@ -13,6 +13,7 @@ - #include - #include - #include -+#include - - namespace woff2 { - -diff -up texlive-base-20230311/source/texk/dvisvgm/dvisvgm-src/src/Character.hpp.me texlive-base-20230311/source/texk/dvisvgm/dvisvgm-src/src/Character.hpp ---- texlive-base-20230311/source/texk/dvisvgm/dvisvgm-src/src/Character.hpp.me 2025-01-23 18:00:29.791326309 +0100 -+++ texlive-base-20230311/source/texk/dvisvgm/dvisvgm-src/src/Character.hpp 2025-01-23 18:01:29.795726026 +0100 -@@ -21,6 +21,7 @@ - #ifndef CHARACTER_HPP - #define CHARACTER_HPP - -+#include - - class Character { - public: -diff -up texlive-base-20230311/source/texk/dvisvgm/dvisvgm-src/src/EPSFile.hpp.me texlive-base-20230311/source/texk/dvisvgm/dvisvgm-src/src/EPSFile.hpp ---- texlive-base-20230311/source/texk/dvisvgm/dvisvgm-src/src/EPSFile.hpp.me 2025-01-23 18:01:42.194015062 +0100 -+++ texlive-base-20230311/source/texk/dvisvgm/dvisvgm-src/src/EPSFile.hpp 2025-01-23 18:02:08.019619304 +0100 -@@ -21,6 +21,7 @@ - #ifndef EPSFILE_HPP - #define EPSFILE_HPP - -+#include - #include - #include - #include -diff -up texlive-base-20230311/source/texk/dvisvgm/dvisvgm-src/src/FontMetrics.hpp.me texlive-base-20230311/source/texk/dvisvgm/dvisvgm-src/src/FontMetrics.hpp ---- texlive-base-20230311/source/texk/dvisvgm/dvisvgm-src/src/FontMetrics.hpp.me 2025-01-23 18:02:39.822363424 +0100 -+++ texlive-base-20230311/source/texk/dvisvgm/dvisvgm-src/src/FontMetrics.hpp 2025-01-23 18:02:46.917529433 +0100 -@@ -21,6 +21,7 @@ - #ifndef FONTMETRICS_HPP - #define FONTMETRICS_HPP - -+#include - #include - #include - #include -diff -up texlive-base-20230311/source/texk/dvisvgm/dvisvgm-src/src/HashFunction.cpp.me texlive-base-20230311/source/texk/dvisvgm/dvisvgm-src/src/HashFunction.cpp ---- texlive-base-20230311/source/texk/dvisvgm/dvisvgm-src/src/HashFunction.cpp.me 2025-01-23 18:03:21.502336489 +0100 -+++ texlive-base-20230311/source/texk/dvisvgm/dvisvgm-src/src/HashFunction.cpp 2025-01-23 18:03:28.253494025 +0100 -@@ -18,6 +18,7 @@ - ** along with this program; if not, see . ** - *************************************************************************/ - -+#include - #include - #include - #include -diff -up texlive-base-20230311/source/texk/dvisvgm/dvisvgm-src/src/HashFunction.hpp.me texlive-base-20230311/source/texk/dvisvgm/dvisvgm-src/src/HashFunction.hpp ---- texlive-base-20230311/source/texk/dvisvgm/dvisvgm-src/src/HashFunction.hpp.me 2025-01-23 18:04:33.647023179 +0100 -+++ texlive-base-20230311/source/texk/dvisvgm/dvisvgm-src/src/HashFunction.hpp 2025-01-23 18:04:40.919193442 +0100 -@@ -21,6 +21,7 @@ - #ifndef HASHFUNCTION_HPP - #define HASHFUNCTION_HPP - -+#include - #include - #include - #include -diff -up texlive-base-20230311/source/texk/dvisvgm/dvisvgm-src/src/utility.hpp.me texlive-base-20230311/source/texk/dvisvgm/dvisvgm-src/src/utility.hpp ---- texlive-base-20230311/source/texk/dvisvgm/dvisvgm-src/src/utility.hpp.me 2025-01-23 17:54:42.338405708 +0100 -+++ texlive-base-20230311/source/texk/dvisvgm/dvisvgm-src/src/utility.hpp 2025-01-23 17:58:32.140551634 +0100 -@@ -32,6 +32,7 @@ - #include - #include - #include -+#include - - namespace math { - diff --git a/texlive-20230311-texinfo-path-fix.patch b/texlive-20230311-texinfo-path-fix.patch deleted file mode 100644 index cd974ed..0000000 --- a/texlive-20230311-texinfo-path-fix.patch +++ /dev/null @@ -1,44 +0,0 @@ -diff -up texlive-base-20230311/source/texk/kpathsea/texmf.cnf.texinfo-fix texlive-base-20230311/source/texk/kpathsea/texmf.cnf ---- texlive-base-20230311/source/texk/kpathsea/texmf.cnf.texinfo-fix 2023-05-25 10:49:55.510891474 -0400 -+++ texlive-base-20230311/source/texk/kpathsea/texmf.cnf 2023-05-25 11:44:59.261966579 -0400 -@@ -59,7 +59,7 @@ - % SELFAUTOPARENT (its grandparent = /usr/local/texlive/YYYY), and - % SELFAUTOGRANDPARENT (its great-grandparent = /usr/local/texlive). - % Sorry for the off-by-one-generation names. --TEXMFROOT = $SELFAUTOPARENT -+TEXMFROOT = /usr/share/texlive - - % The main tree of distributed packages and programs: - TEXMFDIST = $TEXMFROOT/texmf-dist -@@ -69,10 +69,10 @@ TEXMFDIST = $TEXMFROOT/texmf-dist - TEXMFMAIN = $TEXMFDIST - - % Local additions to the distribution trees. --TEXMFLOCAL = $SELFAUTOGRANDPARENT/texmf-local -+TEXMFLOCAL = /usr/share/texlive/texmf-local - - % TEXMFSYSVAR, where *-sys store cached runtime data. --TEXMFSYSVAR = $TEXMFROOT/texmf-var -+TEXMFSYSVAR = /var/lib/texmf - - % TEXMFSYSCONFIG, where *-sys store configuration data. - TEXMFSYSCONFIG = $TEXMFROOT/texmf-config -@@ -83,6 +83,9 @@ TEXMFSYSCONFIG = $TEXMFROOT/texmf-config - % to %USERPROFILE% on Windows, $HOME otherwise. - TEXMFHOME = ~/texmf - -+% Texinfo on Fedora lives out of $TEXMFROOT -+TEXINFOHOME = /usr/share/texmf -+ - % TEXMFVAR, where texconfig/updmap/fmtutil store cached runtime data. - TEXMFVAR = ~/.texlive2023/texmf-var - -@@ -108,7 +111,7 @@ TEXMFAUXTREES = {} - % The odd-looking $TEXMFAUXTREES$TEXMF... construct is so that if no auxtree is - % ever defined (the 99% common case), no extra elements will be added to - % the search paths. tlmgr takes care to end any value with a trailing comma. --TEXMF = {$TEXMFAUXTREES$TEXMFCONFIG,$TEXMFVAR,$TEXMFHOME,!!$TEXMFLOCAL,!!$TEXMFSYSCONFIG,!!$TEXMFSYSVAR,!!$TEXMFDIST} -+TEXMF = {$TEXMFAUXTREES$TEXMFCONFIG,$TEXMFVAR,$TEXMFHOME,!!$TEXINFOHOME,!!$TEXMFLOCAL,!!$TEXMFSYSCONFIG,!!$TEXMFSYSVAR,!!$TEXMFDIST} - - % Where to look for, and where mktexlsr creates, ls-R files. By default, - % this is all and only the !! elements of TEXMF, so that mktexlsr does not diff --git a/texlive-base-20180414-disable-omegafonts-check-test.patch b/texlive-base-20180414-disable-omegafonts-check-test.patch deleted file mode 100644 index 1879359..0000000 --- a/texlive-base-20180414-disable-omegafonts-check-test.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff -up texlive-base-20180414/source/texk/web2c/omegafonts/check.test.disabletest texlive-base-20180414/source/texk/web2c/omegafonts/check.test ---- texlive-base-20180414/source/texk/web2c/omegafonts/check.test.disabletest 2018-10-04 13:24:17.965126655 -0400 -+++ texlive-base-20180414/source/texk/web2c/omegafonts/check.test 2018-10-04 13:24:26.068945230 -0400 -@@ -4,6 +4,8 @@ - # Copyright 2014, 2015 Peter Breitenlohner - # You may freely use, modify and/or distribute this file. - -+exit 0 -+ - test -d tests || mkdir -p tests - - TEXMFCNF=$srcdir/../../kpathsea diff --git a/texlive-base-20180414-synctex-do-not-throw-no-file-error.patch b/texlive-base-20180414-synctex-do-not-throw-no-file-error.patch deleted file mode 100644 index d098854..0000000 --- a/texlive-base-20180414-synctex-do-not-throw-no-file-error.patch +++ /dev/null @@ -1,11 +0,0 @@ -diff -up texlive-base-20180414/source/texk/web2c/synctexdir/synctex_parser.c.shh texlive-base-20180414/source/texk/web2c/synctexdir/synctex_parser.c ---- texlive-base-20180414/source/texk/web2c/synctexdir/synctex_parser.c.shh 2019-03-19 11:02:44.303218932 -0400 -+++ texlive-base-20180414/source/texk/web2c/synctexdir/synctex_parser.c 2019-03-19 11:02:59.545857443 -0400 -@@ -6023,7 +6023,6 @@ synctex_scanner_p synctex_scanner_new_wi - if ((scanner->reader = synctex_reader_init_with_output_file(scanner->reader, output, build_directory))) { - return parse? synctex_scanner_parse(scanner):scanner; - } -- _synctex_error("No file?"); - return NULL; - } - diff --git a/texlive-base-20190410-CVE-2019-19601.patch b/texlive-base-20190410-CVE-2019-19601.patch deleted file mode 100644 index ac6c1f9..0000000 --- a/texlive-base-20190410-CVE-2019-19601.patch +++ /dev/null @@ -1,16 +0,0 @@ -diff -up texlive-base-20190410/source/texk/detex/detex-src/detex.l.me texlive-base-20190410/source/texk/detex/detex-src/detex.l ---- texlive-base-20190410/source/texk/detex/detex-src/detex.l.me 2020-02-05 12:54:36.100840384 +0100 -+++ texlive-base-20190410/source/texk/detex/detex-src/detex.l 2020-02-05 13:00:28.476320773 +0100 -@@ -898,10 +898,10 @@ TexOpen(char *sbFile) - #else - if (*sbFile == '/') { /* absolute path */ - #endif -- (void)sprintf(sbFullPath, "%s", sbFile); -+ (void)snprintf(sbFullPath, PATH_MAX-1, "%s", sbFile); - iPath = csbInputPaths; /* only check once */ - } else -- (void)sprintf(sbFullPath, "%s/%s", rgsbInputPaths[iPath], sbFile); -+ (void)snprintf(sbFullPath, PATH_MAX-1, "%s/%s", rgsbInputPaths[iPath], sbFile); - #ifdef OS2 - pch = sbFullPath; - while (pch = strchr(pch, '\\')) diff --git a/texlive-base-20190410-gcc10-autosp-fix-global-vars.patch b/texlive-base-20190410-gcc10-autosp-fix-global-vars.patch deleted file mode 100644 index 47f88ff..0000000 --- a/texlive-base-20190410-gcc10-autosp-fix-global-vars.patch +++ /dev/null @@ -1,249 +0,0 @@ -diff -up texlive-base-20190410/source/utils/autosp/autosp-src/autosp.c.externfix texlive-base-20190410/source/utils/autosp/autosp-src/autosp.c ---- texlive-base-20190410/source/utils/autosp/autosp-src/autosp.c.externfix 2020-01-23 13:07:24.044942747 -0500 -+++ texlive-base-20190410/source/utils/autosp/autosp-src/autosp.c 2020-01-23 13:12:41.905857613 -0500 -@@ -82,6 +82,13 @@ char version[12] = "2019-01-08"; - - # include "autosp.h" - -+char infilename[SHORT_LEN]; -+char *infilename_n; -+char outfilename[SHORT_LEN]; -+char *outfilename_n; -+char logfilename[SHORT_LEN]; -+char *logfilename_n; -+FILE *infile, *outfile, *logfile; - - PRIVATE void - usage () -diff -up texlive-base-20190410/source/utils/autosp/autosp-src/autosp.h.externfix texlive-base-20190410/source/utils/autosp/autosp-src/autosp.h ---- texlive-base-20190410/source/utils/autosp/autosp-src/autosp.h.externfix 2020-01-23 13:02:59.186403822 -0500 -+++ texlive-base-20190410/source/utils/autosp/autosp-src/autosp.h 2020-01-23 13:12:30.912087145 -0500 -@@ -25,16 +25,16 @@ - - # define SHORT_LEN 256 - --bool debug; --bool dottedbeamnotes; /* dotted beam notes ignored? */ -+extern bool debug; -+extern bool dottedbeamnotes; /* dotted beam notes ignored? */ - --char infilename[SHORT_LEN]; --char *infilename_n; --char outfilename[SHORT_LEN]; --char *outfilename_n; --char logfilename[SHORT_LEN]; --char *logfilename_n; --FILE *infile, *outfile, *logfile; -+extern char infilename[SHORT_LEN]; -+extern char *infilename_n; -+extern char outfilename[SHORT_LEN]; -+extern char *outfilename_n; -+extern char logfilename[SHORT_LEN]; -+extern char *logfilename_n; -+extern FILE *infile, *outfile, *logfile; - - - void process_score (); -diff -up texlive-base-20190410/source/utils/autosp/autosp-src/process_command.c.externfix texlive-base-20190410/source/utils/autosp/autosp-src/process_command.c ---- texlive-base-20190410/source/utils/autosp/autosp-src/process_command.c.externfix 2020-01-23 13:23:55.275608432 -0500 -+++ texlive-base-20190410/source/utils/autosp/autosp-src/process_command.c 2020-01-23 13:26:00.074878265 -0500 -@@ -1,5 +1,37 @@ - # include "process_command.h" -+char terminator[MAX_STAFFS]; /* one of '&' "|', '$' */ -+char *notes[MAX_STAFFS]; /* note segment for ith staff */ -+char *current[MAX_STAFFS]; -+int spacings[MAX_STAFFS]; /* spacing for ith staff */ -+int vspacing[MAX_STAFFS]; /* virtual-note (skip) spacing */ -+bool vspacing_active[MAX_STAFFS]; /* virtual-note spacing active? */ -+ /* used to preclude unnecessary pre-accidental skips */ -+bool nonvirtual_notes; /* used to preclude output of *only* virtual notes */ -+int cspacing[MAX_STAFFS]; /* nominal collective-note spacing */ -+char collective[MAX_STAFFS][SHORT_LEN]; -+ /* prefixes for collective note sequences */ -+bool first_collective[MAX_STAFFS]; -+char deferred_bar[SHORT_LEN]; /* deferred \bar (or \endpiece etc.) */ -+int beaming[MAX_STAFFS]; /* spacing for beamed notes */ -+int new_beaming; -+int semiauto_beam_notes[MAX_STAFFS]; /* semi-automatic beam notes */ - -+/* save-restore state for a staff; used in process_xtuplet */ -+int beamingi; -+char *currenti; -+int cspacingi; -+int vspacingi; -+char collectivei[SHORT_LEN]; -+bool first_collectivei; -+int xtuplet[MAX_STAFFS]; /* x for xtuplet in staff i */ -+bool appoggiatura; -+char outstrings[MAX_STAFFS][LINE_LEN]; -+ /* accumulate commands to be output */ -+char *n_outstrings[MAX_STAFFS]; -+int global_skip; -+/* = 1, 2, 3, or 4 for (non-standard) commands \QQsk \HQsk \TQsk \Qsk */ -+/* = 5 for five commas and double-flat accidental spacing */ -+/* = 6 for six commas */ - - void process_xtuplet (void); - -diff -up texlive-base-20190410/source/utils/autosp/autosp-src/process_command.h.externfix texlive-base-20190410/source/utils/autosp/autosp-src/process_command.h ---- texlive-base-20190410/source/utils/autosp/autosp-src/process_command.h.externfix 2020-01-23 13:18:54.495606362 -0500 -+++ texlive-base-20190410/source/utils/autosp/autosp-src/process_command.h 2020-01-23 13:23:33.154094850 -0500 -@@ -8,47 +8,47 @@ - # define NOTEsp "\\vnotes9.52\\elemskip" - # define APPOGG_NOTES "\\vnotes1.45\\elemskip" - --char terminator[MAX_STAFFS]; /* one of '&' "|', '$' */ -+extern char terminator[MAX_STAFFS]; /* one of '&' "|', '$' */ - --char *notes[MAX_STAFFS]; /* note segment for ith staff */ --char *current[MAX_STAFFS]; -+extern char *notes[MAX_STAFFS]; /* note segment for ith staff */ -+extern char *current[MAX_STAFFS]; - --int spacings[MAX_STAFFS]; /* spacing for ith staff */ -+extern int spacings[MAX_STAFFS]; /* spacing for ith staff */ - --int vspacing[MAX_STAFFS]; /* virtual-note (skip) spacing */ --bool vspacing_active[MAX_STAFFS]; /* virtual-note spacing active? */ -+extern int vspacing[MAX_STAFFS]; /* virtual-note (skip) spacing */ -+extern bool vspacing_active[MAX_STAFFS]; /* virtual-note spacing active? */ - /* used to preclude unnecessary pre-accidental skips */ - --bool nonvirtual_notes; /* used to preclude output of *only* virtual notes */ -+extern bool nonvirtual_notes; /* used to preclude output of *only* virtual notes */ - --int cspacing[MAX_STAFFS]; /* nominal collective-note spacing */ --char collective[MAX_STAFFS][SHORT_LEN]; -+extern int cspacing[MAX_STAFFS]; /* nominal collective-note spacing */ -+extern char collective[MAX_STAFFS][SHORT_LEN]; - /* prefixes for collective note sequences */ --bool first_collective[MAX_STAFFS]; -+extern bool first_collective[MAX_STAFFS]; - --char deferred_bar[SHORT_LEN]; /* deferred \bar (or \endpiece etc.) */ -+extern char deferred_bar[SHORT_LEN]; /* deferred \bar (or \endpiece etc.) */ - --int beaming[MAX_STAFFS]; /* spacing for beamed notes */ --int new_beaming; --int semiauto_beam_notes[MAX_STAFFS]; /* semi-automatic beam notes */ -+extern int beaming[MAX_STAFFS]; /* spacing for beamed notes */ -+extern int new_beaming; -+extern int semiauto_beam_notes[MAX_STAFFS]; /* semi-automatic beam notes */ - - /* save-restore state for a staff; used in process_xtuplet */ --int beamingi; --char *currenti; --int cspacingi; --int vspacingi; --char collectivei[SHORT_LEN]; --bool first_collectivei; -+extern int beamingi; -+extern char *currenti; -+extern int cspacingi; -+extern int vspacingi; -+extern char collectivei[SHORT_LEN]; -+extern bool first_collectivei; - --int xtuplet[MAX_STAFFS]; /* x for xtuplet in staff i */ -+extern int xtuplet[MAX_STAFFS]; /* x for xtuplet in staff i */ - --bool appoggiatura; -+extern bool appoggiatura; - --char outstrings[MAX_STAFFS][LINE_LEN]; -+extern char outstrings[MAX_STAFFS][LINE_LEN]; - /* accumulate commands to be output */ --char *n_outstrings[MAX_STAFFS]; -+extern char *n_outstrings[MAX_STAFFS]; - --int global_skip; -+extern int global_skip; - /* = 1, 2, 3, or 4 for (non-standard) commands \QQsk \HQsk \TQsk \Qsk */ - /* = 5 for five commas and double-flat accidental spacing */ - /* = 6 for six commas */ -diff -up texlive-base-20190410/source/utils/autosp/autosp-src/process_score.c.externfix texlive-base-20190410/source/utils/autosp/autosp-src/process_score.c ---- texlive-base-20190410/source/utils/autosp/autosp-src/process_score.c.externfix 2020-01-23 13:17:36.073400920 -0500 -+++ texlive-base-20190410/source/utils/autosp/autosp-src/process_score.c 2020-01-23 13:18:29.827262141 -0500 -@@ -1,5 +1,20 @@ - # include "process_score.h" - -+int staffs[MAX_STAFFS]; /* number of staffs for ith instrument*/ -+bool active[MAX_STAFFS]; /* is staff i active? */ -+bool bar_rest[MAX_STAFFS]; -+int spacing; /* spacing for current notes */ -+int restbars; -+char global_skip_str[7][16]; -+int ninstr; /* number of instruments */ -+int nstaffs; /* number of staffs */ -+int nastaffs; /* number of active staffs; */ -+int old_spacing; -+bool Changeclefs; /* output \Changeclefs after \def\atnextbar */ -+char TransformNotes2[SHORT_LEN];/* 2nd argument of \TransformNotes */ -+bool TransformNotesDefined; -+char line[LINE_LEN]; /* line of input */ -+ - void process_line () - { - char *ln; -diff -up texlive-base-20190410/source/utils/autosp/autosp-src/process_score.h.externfix texlive-base-20190410/source/utils/autosp/autosp-src/process_score.h ---- texlive-base-20190410/source/utils/autosp/autosp-src/process_score.h.externfix 2020-01-23 13:13:28.767879231 -0500 -+++ texlive-base-20190410/source/utils/autosp/autosp-src/process_score.h 2020-01-23 13:16:56.554238138 -0500 -@@ -6,21 +6,21 @@ - # define SP(note) (SMALL_NOTE/note) - /* note = { 256 | 128 | 64 | 32 | 16 | 8 | 4 | 2 | 1 } */ - # define MAX_SPACING 2*SP(1) --int staffs[MAX_STAFFS]; /* number of staffs for ith instrument*/ --bool active[MAX_STAFFS]; /* is staff i active? */ --bool bar_rest[MAX_STAFFS]; --int spacing; /* spacing for current notes */ --int restbars; --char global_skip_str[7][16]; --int ninstr; /* number of instruments */ --int nstaffs; /* number of staffs */ --int nastaffs; /* number of active staffs; */ --int old_spacing; --bool Changeclefs; /* output \Changeclefs after \def\atnextbar */ --char TransformNotes2[SHORT_LEN]; /* 2nd argument of \TransformNotes */ --bool TransformNotesDefined; -+extern int staffs[MAX_STAFFS]; /* number of staffs for ith instrument*/ -+extern bool active[MAX_STAFFS]; /* is staff i active? */ -+extern bool bar_rest[MAX_STAFFS]; -+extern int spacing; /* spacing for current notes */ -+extern int restbars; -+extern char global_skip_str[7][16]; -+extern int ninstr; /* number of instruments */ -+extern int nstaffs; /* number of staffs */ -+extern int nastaffs; /* number of active staffs; */ -+extern int old_spacing; -+extern bool Changeclefs; /* output \Changeclefs after \def\atnextbar */ -+extern char TransformNotes2[SHORT_LEN]; /* 2nd argument of \TransformNotes */ -+extern bool TransformNotesDefined; - --char line[LINE_LEN]; /* line of input */ -+extern char line[LINE_LEN]; /* line of input */ - - void process_line (); - -diff -up texlive-base-20190410/source/utils/autosp/autosp-src/utils.c.externfix texlive-base-20190410/source/utils/autosp/autosp-src/utils.c ---- texlive-base-20190410/source/utils/autosp/autosp-src/utils.c.externfix 2020-01-23 13:05:26.584382978 -0500 -+++ texlive-base-20190410/source/utils/autosp/autosp-src/utils.c 2020-01-23 13:05:37.343164091 -0500 -@@ -24,6 +24,8 @@ - - # include "utils.h" - -+int lineno; -+ - void - warning (const char msg[]) /* output warning message msg to stderr */ - { -diff -up texlive-base-20190410/source/utils/autosp/autosp-src/utils.h.externfix texlive-base-20190410/source/utils/autosp/autosp-src/utils.h ---- texlive-base-20190410/source/utils/autosp/autosp-src/utils.h.externfix 2020-01-23 13:04:15.805822929 -0500 -+++ texlive-base-20190410/source/utils/autosp/autosp-src/utils.h 2020-01-23 13:04:25.408627563 -0500 -@@ -61,6 +61,6 @@ extern size_t append (char *dst, char ** - extern bool prefix (const char *cs, const char *ct); /* is string cs[] a prefix of ct[]? */ - extern bool suffix (const char *cs, const char *ct); /* is string cs[] a suffix of ct[]? */ - --int lineno; -+extern int lineno; - extern void error (const char msg[]); /* abort with stderr message msg */ - extern void warning (const char msg[]); /* output warning message msg to stderr */ diff --git a/texlive-base-20190410-gcc10-luatex-fix-global-vars.patch b/texlive-base-20190410-gcc10-luatex-fix-global-vars.patch deleted file mode 100644 index fa18ed9..0000000 --- a/texlive-base-20190410-gcc10-luatex-fix-global-vars.patch +++ /dev/null @@ -1,63 +0,0 @@ -diff -up texlive-base-20190410/source/texk/web2c/luatexdir/font/luatexfont.h.externfix texlive-base-20190410/source/texk/web2c/luatexdir/font/luatexfont.h ---- texlive-base-20190410/source/texk/web2c/luatexdir/font/luatexfont.h.externfix 2020-01-23 14:39:03.317389393 -0500 -+++ texlive-base-20190410/source/texk/web2c/luatexdir/font/luatexfont.h 2020-01-23 14:39:24.282963661 -0500 -@@ -128,8 +128,8 @@ int write_tounicode(PDF, char **, char * - void replace_packet_fonts(internal_font_number f, int *old_fontid, int *new_fontid, int count); - int *packet_local_fonts(internal_font_number f, int *num); - --int packet_cur_s; /* current |do_vf_packet()| recursion level */ --int packet_stack_ptr; /* pointer into |packet_stack| */ -+extern int packet_cur_s; /* current |do_vf_packet()| recursion level */ -+extern int packet_stack_ptr; /* pointer into |packet_stack| */ - vf_struct *new_vfstruct(void); - - /* writecff.c */ -diff -up texlive-base-20190410/source/texk/web2c/luatexdir/font/vfpacket.c.externfix texlive-base-20190410/source/texk/web2c/luatexdir/font/vfpacket.c -diff -up texlive-base-20190410/source/texk/web2c/luatexdir/image/writeimg.h.externfix texlive-base-20190410/source/texk/web2c/luatexdir/image/writeimg.h ---- texlive-base-20190410/source/texk/web2c/luatexdir/image/writeimg.h.externfix 2020-01-23 14:44:11.720101536 -0500 -+++ texlive-base-20190410/source/texk/web2c/luatexdir/image/writeimg.h 2020-01-23 14:44:27.964767014 -0500 -@@ -26,7 +26,7 @@ - # include "pdf/pdfpage.h" - - typedef image_dict *idict_entry; --idict_entry *idict_array; -+extern idict_entry *idict_array; - - void new_img_pdfstream_struct(image_dict *); - image *new_image(void); -diff -up texlive-base-20190410/source/texk/web2c/luatexdir/pdf/pdftables.h.externfix texlive-base-20190410/source/texk/web2c/luatexdir/pdf/pdftables.h ---- texlive-base-20190410/source/texk/web2c/luatexdir/pdf/pdftables.h.externfix 2020-01-23 14:35:18.313067342 -0500 -+++ texlive-base-20190410/source/texk/web2c/luatexdir/pdf/pdftables.h 2020-01-23 14:35:27.367878245 -0500 -@@ -21,7 +21,7 @@ - #ifndef PDFTABLES_H - # define PDFTABLES_H - --const char *pdf_obj_typenames[PDF_OBJ_TYPE_MAX + 1]; -+extern const char *pdf_obj_typenames[PDF_OBJ_TYPE_MAX + 1]; - - typedef enum { - union_type_int, -diff -up texlive-base-20190410/source/texk/web2c/luatexdir/pdf/pdfxform.c.externfix texlive-base-20190410/source/texk/web2c/luatexdir/pdf/pdfxform.c ---- texlive-base-20190410/source/texk/web2c/luatexdir/pdf/pdfxform.c.externfix 2020-01-23 14:51:41.427758029 -0500 -+++ texlive-base-20190410/source/texk/web2c/luatexdir/pdf/pdfxform.c 2020-01-23 14:51:50.676561145 -0500 -@@ -24,8 +24,6 @@ with LuaTeX; if not, see = --int mp_snprintf_res ; -+static int mp_snprintf_res ; - /* Some compilers (i.e. gcc 8.2.0 ) complained with the old */ - /* #define mp_snprintf (void)snprintf */ - /* about truncation. For the moment we store the result. */ diff --git a/texlive-base-20190410-gcc10-ttf2pk2-fix-global-var.patch b/texlive-base-20190410-gcc10-ttf2pk2-fix-global-var.patch deleted file mode 100644 index 65b2e33..0000000 --- a/texlive-base-20190410-gcc10-ttf2pk2-fix-global-var.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff -up texlive-base-20190410/source/texk/ttf2pk2/ftlib.c.externfix texlive-base-20190410/source/texk/ttf2pk2/ftlib.c -diff -up texlive-base-20190410/source/texk/ttf2pk2/pklib.c.externfix texlive-base-20190410/source/texk/ttf2pk2/pklib.c ---- texlive-base-20190410/source/texk/ttf2pk2/pklib.c.externfix 2020-01-23 15:56:27.041072021 -0500 -+++ texlive-base-20190410/source/texk/ttf2pk2/pklib.c 2020-01-23 16:02:05.585252609 -0500 -@@ -64,7 +64,7 @@ - #define PK_POST (char)245 - #define PK_NOP (char)246 - --int dpi; -+extern int dpi; - - FILE *pk_file; - diff --git a/texlive-base-20190410-poppler-0.84.patch b/texlive-base-20190410-poppler-0.84.patch deleted file mode 100644 index beef04b..0000000 --- a/texlive-base-20190410-poppler-0.84.patch +++ /dev/null @@ -1,259 +0,0 @@ ---- texlive-base-20190410/source/texk/web2c/pdftexdir/pdftoepdf.cc -+++ texlive-base-20190410/source/texk/web2c/pdftexdir/pdftoepdf.cc -@@ -26,6 +26,15 @@ The poppler should be 0.59.0 or newer ve - POPPLER_VERSION should be defined. - */ - -+#ifdef POPPLER_VERSION -+#include -+#define xpdfVersion POPPLER_VERSION -+#define xpdfString "poppler" -+#else -+#include /* just to get the xpdf version */ -+#define xpdfString "xpdf" -+#endif -+ - /* Do this early in order to avoid a conflict between - MINGW32 defining 'boolean' as 'unsigned char' and - defining Pascal's boolean as 'int'. -@@ -292,7 +292,7 @@ static void copyDictEntry(Object * obj, - Object obj1; - copyName(obj->dictGetKey(i)); - pdf_puts(" "); -- obj1 = obj->dictGetValNF(i); -+ obj1 = obj->dictGetValNF(i).copy(); - copyObject(&obj1); - pdf_puts("\n"); - } -@@ -351,7 +351,7 @@ static void copyProcSet(Object * obj) - obj->getTypeName()); - pdf_puts("/ProcSet [ "); - for (i = 0, l = obj->arrayGetLength(); i < l; ++i) { -- procset = obj->arrayGetNF(i); -+ procset = obj->arrayGetNF(i).copy(); - if (!procset.isName()) - pdftex_fail("PDF inclusion: invalid ProcSet entry type <%s>", - procset.getTypeName()); -@@ -406,7 +406,7 @@ static void copyFont(const char *tag, Ob - if (fontdict.isDict()) { - subtype = fontdict.dictLookup("Subtype"); - basefont = fontdict.dictLookup("BaseFont"); -- fontdescRef = fontdict.dictLookupNF("FontDescriptor"); -+ fontdescRef = fontdict.dictLookupNF("FontDescriptor").copy(); - if (fontdescRef.isRef()) { - fontdesc = fontdescRef.fetch(xref); - } -@@ -452,7 +452,7 @@ static void copyFontResources(Object * o - obj->getTypeName()); - pdf_puts("/Font << "); - for (i = 0, l = obj->dictGetLength(); i < l; ++i) { -- fontRef = obj->dictGetValNF(i); -+ fontRef = obj->dictGetValNF(i).copy(); - if (fontRef.isRef()) - copyFont(obj->dictGetKey(i), &fontRef); - else if (fontRef.isDict()) { // some programs generate pdf with embedded font object -@@ -595,7 +595,7 @@ static void copyObject(Object * obj) - } else if (obj->isArray()) { - pdf_puts("["); - for (i = 0, l = obj->arrayGetLength(); i < l; ++i) { -- obj1 = obj->arrayGetNF(i); -+ obj1 = obj->arrayGetNF(i).copy(); - if (!obj1.isName()) - pdf_puts(" "); - copyObject(&obj1); -@@ -723,7 +723,7 @@ read_pdf_info(char *image_name, char *pa - #endif - // initialize - if (!isInit) { -- globalParams = new GlobalParams(); -+ globalParams = std::unique_ptr(new GlobalParams()); - globalParams->setErrQuiet(false); - isInit = true; - } -@@ -761,7 +761,7 @@ read_pdf_info(char *image_name, char *pa - if (link == 0 || !link->isOk()) - pdftex_fail("PDF inclusion: invalid destination <%s>", page_name); - Ref ref = link->getPageRef(); -- page_num = pdf_doc->doc->getCatalog()->findPage(ref.num, ref.gen); -+ page_num = pdf_doc->doc->getCatalog()->findPage(ref); - if (page_num == 0) - pdftex_fail("PDF inclusion: destination is not a page <%s>", - page_name); -@@ -921,13 +921,13 @@ void write_epdf(void) - pdf_puts(stripzeros(s)); - - // Metadata validity check (as a stream it must be indirect) -- dictObj = pageDict->lookupNF("Metadata"); -+ dictObj = pageDict->lookupNF("Metadata").copy(); - if (!dictObj.isNull() && !dictObj.isRef()) - pdftex_warn("PDF inclusion: /Metadata must be indirect object"); - - // copy selected items in Page dictionary except Resources & Group - for (i = 0; pageDictKeys[i] != NULL; i++) { -- dictObj = pageDict->lookupNF(pageDictKeys[i]); -+ dictObj = pageDict->lookupNF(pageDictKeys[i]).copy(); - if (!dictObj.isNull()) { - pdf_newline(); - pdf_printf("/%s ", pageDictKeys[i]); -@@ -936,7 +936,7 @@ void write_epdf(void) - } - - // handle page group -- dictObj = pageDict->lookupNF("Group"); -+ dictObj = pageDict->lookupNF("Group").copy(); - if (!dictObj.isNull()) { - if (pdfpagegroupval == 0) { - // another pdf with page group was included earlier on the -@@ -978,7 +978,7 @@ The changes below seem to work fine. - l = dic1.getLength(); - for (i = 0; i < l; i++) { - groupDict.dictAdd(dic1.getKey(i), -- dic1.getValNF(i)); -+ dic1.getValNF(i).copy()); - } - // end modification - pdf_printf("/Group %ld 0 R\n", (long)pdfpagegroupval); -@@ -1108,6 +1108,6 @@ void epdf_check_mem() - delete_document(p); - } - // see above for globalParams -- delete globalParams; -+ globalParams.reset(); - } - } ---- texlive-base-20190410/source/texk/web2c/pdftexdir/pdftosrc.cc -+++ texlive-base-20190410/source/texk/web2c/pdftexdir/pdftosrc.cc -@@ -24,6 +24,15 @@ by Arch Linux. The poppler should be 0.5 - POPPLER_VERSION should be defined. - */ - -+#ifdef POPPLER_VERSION -+#include -+#define xpdfVersion POPPLER_VERSION -+#define xpdfString "poppler" -+#else -+#include /* just to get the xpdf version */ -+#define xpdfString "xpdf" -+#endif -+ - #include - - #include -@@ -79,7 +79,7 @@ int main(int argc, char *argv[]) - exit(1); - } - fileName = new GString(argv[1]); -- globalParams = new GlobalParams(); -+ globalParams = std::unique_ptr(new GlobalParams()); - doc = new PDFDoc(fileName); - if (!doc->isOk()) { - fprintf(stderr, "Invalid PDF file\n"); -@@ -100,7 +100,7 @@ int main(int argc, char *argv[]) - if (objnum == 0) { - srcStream = catalogDict.dictLookup("SourceObject"); - static char const_SourceFile[] = "SourceFile"; -- if (!srcStream.isStream(const_SourceFile)) { -+ if (!(srcStream.isStream() && srcStream.getDict()->is(const_SourceFile))) { - fprintf(stderr, "No SourceObject found\n"); - exit(1); - } -@@ -156,7 +156,6 @@ int main(int argc, char *argv[]) - (e->type == xrefEntryFree ? "f" : "n")); - else { // e->offset is the object number of the object stream - Stream *str; -- Lexer *lexer; - Parser *parser; - Object objStr, obj1, obj2; - int nObjects, first, n; -@@ -174,8 +173,7 @@ int main(int argc, char *argv[]) - // parse the header: object numbers and offsets - objStr.streamReset(); - str = new EmbedStream(objStr.getStream(), Object(objNull), true, first); -- lexer = new Lexer(xref, str); -- parser = new Parser(xref, lexer, false); -+ parser = new Parser(xref, str, false); - for (n = 0; n < nObjects; ++n) { - obj1 = parser->getObj(); - obj2 = parser->getObj(); -@@ -207,5 +207,5 @@ int main(int argc, char *argv[]) - fprintf(stderr, "Cross-reference table extracted to %s\n", outname); - fclose(outfile); - delete doc; -- delete globalParams; -+ globalParams.reset(); - } ---- texlive-base-20190410/source/texk/web2c/pdftexdir/utils.c -+++ texlive-base-20190410/source/texk/web2c/pdftexdir/utils.c -@@ -32,14 +32,6 @@ with this program. If not, see - #include "ptexlib.h" - #include --#ifdef POPPLER_VERSION --#include --#define xpdfVersion POPPLER_VERSION --#define xpdfString "poppler" --#else --#include /* just to get the xpdf version */ --#define xpdfString "xpdf" --#endif - - #define check_nprintf(size_get, size_want) \ - if ((unsigned)(size_get) >= (unsigned)(size_want)) \ -@@ -977,12 +969,10 @@ void initversionstring(char **versions) - { - const_string fmt = - "Compiled with libpng %s; using libpng %s\n" -- "Compiled with zlib %s; using zlib %s\n" -- "Compiled with %s version %s\n"; -+ "Compiled with zlib %s; using zlib %s\n"; - size_t len = strlen(fmt) - + strlen(PNG_LIBPNG_VER_STRING) + strlen(png_libpng_ver) - + strlen(ZLIB_VERSION) + strlen(zlib_version) -- + strlen(xpdfString) + strlen(xpdfVersion) - + 1; - - /* len will be more than enough, because of the placeholder chars in fmt -@@ -990,7 +980,7 @@ void initversionstring(char **versions) - *versions = xmalloc(len); - sprintf(*versions, fmt, - PNG_LIBPNG_VER_STRING, png_libpng_ver, -- ZLIB_VERSION, zlib_version, xpdfString, xpdfVersion); -+ ZLIB_VERSION, zlib_version); - } - - ---- texlive-base-20190410/source/texk/web2c/xetexdir/XeTeX_ext.c -+++ texlive-base-20190410/source/texk/web2c/xetexdir/XeTeX_ext.c -@@ -38,7 +38,6 @@ authorization from the copyright holders - - #include - --#include - #include - #include - #include -@@ -167,7 +166,6 @@ void initversionstring(char **versions) - "Compiled with Graphite2 version %d.%d.%d; using %d.%d.%d\n" - "Compiled with HarfBuzz version %s; using %s\n" - "Compiled with libpng version %s; using %s\n" -- "Compiled with poppler version %s\n" - #ifdef XETEX_MAC - "Using Mac OS X Core Text and Cocoa frameworks\n" - #else -@@ -184,7 +182,6 @@ void initversionstring(char **versions) - + strlen(hb_version_string()) - + strlen(PNG_LIBPNG_VER_STRING) - + strlen(png_libpng_ver) -- + strlen(POPPLER_VERSION) - #ifndef XETEX_MAC - + 6 * 3 /* for fontconfig version #s (won't really need 3 digits per field!) */ - #endif -@@ -214,7 +211,7 @@ void initversionstring(char **versions) - GR2_VERSION_MAJOR, GR2_VERSION_MINOR, GR2_VERSION_BUGFIX, - grMajor, grMinor, grBugfix, - HB_VERSION_STRING, hb_version_string(), -- PNG_LIBPNG_VER_STRING, png_libpng_ver, POPPLER_VERSION -+ PNG_LIBPNG_VER_STRING, png_libpng_ver - #ifndef XETEX_MAC - , - FC_VERSION / 10000, (FC_VERSION % 10000) / 100, FC_VERSION % 100, diff --git a/texlive-base-20200327-out-of-memory.patch b/texlive-base-20200327-out-of-memory.patch deleted file mode 100644 index 9381ca1..0000000 --- a/texlive-base-20200327-out-of-memory.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff -up texlive-base-20200327/source/texk/kpathsea/texmf.cnf.me texlive-base-20200327/source/texk/kpathsea/texmf.cnf ---- texlive-base-20200327/source/texk/kpathsea/texmf.cnf.me 2020-09-23 09:35:26.729192291 +0200 -+++ texlive-base-20200327/source/texk/kpathsea/texmf.cnf 2020-09-23 09:36:01.849651692 +0200 -@@ -786,7 +786,7 @@ texmf_casefold_search = 1 - % For some xy-pic samples, you may need as much as 700000 words of memory. - % For the vast majority of documents, 60000 or less will do. - % --main_memory = 5000000 % words of inimemory available; also applies to inimf&mp -+main_memory = 6000000 % words of inimemory available; also applies to inimf&mp - extra_mem_top = 0 % extra high memory for chars, tokens, etc. - extra_mem_bot = 0 % extra low memory for boxes, glue, breakpoints, etc. - diff --git a/texlive-base-20200327-pygmentex-python3-0.10.patch b/texlive-base-20200327-pygmentex-python3-0.10.patch deleted file mode 100644 index 7a71386..0000000 --- a/texlive-base-20200327-pygmentex-python3-0.10.patch +++ /dev/null @@ -1,210 +0,0 @@ -diff -up texlive-base-20200327/source/texk/texlive/linked_scripts/pygmentex/pygmentex.py.10 texlive-base-20200327/source/texk/texlive/linked_scripts/pygmentex/pygmentex.py ---- texlive-base-20200327/source/texk/texlive/linked_scripts/pygmentex/pygmentex.py.10 2014-08-20 17:53:18.000000000 -0400 -+++ texlive-base-20200327/source/texk/texlive/linked_scripts/pygmentex/pygmentex.py 2021-03-18 14:34:36.879392389 -0400 -@@ -1,4 +1,4 @@ --#! /usr/bin/env python2 -+#! /usr/bin/env python3 - # -*- coding: utf-8 -*- - - """ -@@ -8,11 +8,11 @@ - PygmenTeX is a converter that do syntax highlighting of snippets of - source code extracted from a LaTeX file. - -- :copyright: Copyright 2014 by José Romildo Malaquias -+ :copyright: Copyright 2020 by José Romildo Malaquias - :license: BSD, see LICENSE for details - """ - --__version__ = '0.8' -+__version__ = '0.10' - __docformat__ = 'restructuredtext' - - import sys -@@ -27,6 +27,7 @@ from pygments.formatters.latex import La - from pygments.util import get_bool_opt, get_int_opt - from pygments.lexer import Lexer - from pygments.token import Token -+from pygments.util import guess_decode - - ################################################### - # The following code is in >=pygments-2.0 -@@ -56,24 +57,24 @@ class EnhancedLatexFormatter(LatexFormat - realoutfile = outfile - outfile = StringIO() - -- outfile.write(u'\\begin{Verbatim}[commandchars=\\\\\\{\\}') -+ outfile.write(r'\begin{Verbatim}[commandchars=\\\{\}') - if self.linenos: - start, step = self.linenostart, self.linenostep -- outfile.write(u',numbers=left' + -- (start and u',firstnumber=%d' % start or u'') + -- (step and u',stepnumber=%d' % step or u'')) -+ outfile.write(',numbers=left' + -+ (start and ',firstnumber=%d' % start or '') + -+ (step and ',stepnumber=%d' % step or '')) - if self.mathescape or self.texcomments or self.escapeinside: -- outfile.write(u',codes={\\catcode`\\$=3\\catcode`\\^=7\\catcode`\\_=8}') -+ outfile.write(r',codes={\catcode`\$=3\catcode`\^=7\catcode`\_=8}') - if self.verboptions: -- outfile.write(u',' + self.verboptions) -- outfile.write(u']\n') -+ outfile.write(',' + self.verboptions) -+ outfile.write(']\n') - - for ttype, value in tokensource: - if ttype in Token.Comment: - if self.texcomments: - # Try to guess comment starting lexeme and escape it ... - start = value[0:1] -- for i in xrange(1, len(value)): -+ for i in range(1, len(value)): - if start[0] != value[i]: - break - start += value[i] -@@ -129,7 +130,7 @@ class EnhancedLatexFormatter(LatexFormat - else: - outfile.write(value) - -- outfile.write(u'\\end{Verbatim}\n') -+ outfile.write('\\end{Verbatim}\n') - - if self.full: - realoutfile.write(DOC_TEMPLATE % -@@ -232,7 +233,7 @@ DISPLAY_LINENOS_SNIPPET_TEMPLATE = r''' - ''' - - --def pyg(outfile, n, opts, extra_opts, text, usedstyles, inline_delim = ''): -+def pyg(outfile, outencoding, n, opts, extra_opts, text, usedstyles, inline_delim = ''): - try: - lexer = get_lexer_by_name(opts['lang']) - except ClassNotFound as err: -@@ -260,27 +261,8 @@ def pyg(outfile, n, opts, extra_opts, te - if tabsize: - lexer.tabsize = tabsize - -- encoding = opts['encoding'] -- if encoding == 'guess': -- try: -- import chardet -- except ImportError: -- try: -- text = text.decode('utf-8') -- if text.startswith(u'\ufeff'): -- text = text[len(u'\ufeff'):] -- encoding = 'utf-8' -- except UnicodeDecodeError: -- text = text.decode('latin1') -- encoding = 'latin1' -- else: -- encoding = chardet.detect(text)['encoding'] -- text = text.decode(encoding) -- else: -- text = text.decode(encoding) -- - lexer.encoding = '' -- _fmter.encoding = encoding -+ # _fmter.encoding = outencoding - - stylename = opts['sty'] - -@@ -367,7 +349,7 @@ _re_input = re.compile( - r'^<@@pygmented@input@(\d+)\n(.*)\n([\s\S]*?)\n>@@pygmented@input@\1$', - re.MULTILINE) - --def convert(code, outfile): -+def convert(code, outfile, outencoding): - """ - Convert ``code`` - """ -@@ -393,6 +375,7 @@ def convert(code, outfile): - m = _re_inline.match(code, pos) - if m: - pyg(outfile, -+ outencoding, - m.group(1), - parse_opts(opts.copy(), m.group(2)), - '', -@@ -405,6 +388,7 @@ def convert(code, outfile): - m = _re_display.match(code, pos) - if m: - pyg(outfile, -+ outencoding, - m.group(1), - parse_opts(opts.copy(), m.group(2)), - '', -@@ -415,15 +399,16 @@ def convert(code, outfile): - - m = _re_input.match(code, pos) - if m: -+ opts_new = parse_opts(opts, m.group(2)) - try: -- filecontents = open(m.group(3), 'rb').read() -+ filecontents, inencoding = read_input(m.group(3), opts_new['encoding']) - except Exception as err: -- sys.stderr.write('Error: cannot read input file: ') -- sys.stderr.write(str(err)) -+ print('Error: cannot read input file: ', err, file=sys.stderr) - else: - pyg(outfile, -+ outencoding, - m.group(1), -- parse_opts(opts, m.group(2)), -+ opts_new, - "", - filecontents, - usedstyles) -@@ -435,6 +420,16 @@ def convert(code, outfile): - - outfile.write(GENERIC_DEFINITIONS_2) - -+def read_input(filename, encoding): -+ with open(filename, 'rb') as infp: -+ code = infp.read() -+ -+ if not encoding or encoding == 'guess': -+ code, encoding = guess_decode(code) -+ else: -+ code = code.decode(encoding) -+ -+ return code, encoding - - - USAGE = """\ -@@ -486,7 +481,7 @@ def main(args = sys.argv): - return 0 - - if opts.pop('-V', None) is not None: -- print('PygmenTeX version %s, (c) 2010 by José Romildo.' % __version__) -+ print('PygmenTeX version %s, (c) 2020 by José Romildo.' % __version__) - return 0 - - if len(args) != 1: -@@ -494,10 +489,9 @@ def main(args = sys.argv): - return 2 - infn = args[0] - try: -- code = open(infn, 'rb').read() -+ code, inencoding = read_input(infn, "guess") - except Exception as err: -- sys.stderr.write('Error: cannot read input file: ') -- sys.stderr.write(str(err)) -+ print('Error: cannot read input file: ', err, file=sys.stderr) - return 1 - - outfn = opts.pop('-o', None) -@@ -507,11 +501,10 @@ def main(args = sys.argv): - try: - outfile = open(outfn, 'w') - except Exception as err: -- sys.stderr.write('Error: cannot open output file: ') -- sys.stderr.write(str(err)) -+ print('Error: cannot open output file: ', err, file=sys.stderr) - return 1 - -- convert(code, outfile) -+ convert(code, outfile, inencoding) - - return 0 - diff --git a/texlive-base-20210325-configure-poppler-xpdf-fix.patch b/texlive-base-20210325-configure-poppler-xpdf-fix.patch deleted file mode 100644 index 61b144c..0000000 --- a/texlive-base-20210325-configure-poppler-xpdf-fix.patch +++ /dev/null @@ -1,159 +0,0 @@ -diff -up texlive-base-20210325/source/configure.poppler-xpdf-fix texlive-base-20210325/source/configure ---- texlive-base-20210325/source/configure.poppler-xpdf-fix 2021-03-24 17:28:22.000000000 -0400 -+++ texlive-base-20210325/source/configure 2021-05-10 15:21:08.254142588 -0400 -@@ -21497,7 +21497,27 @@ if test "x$with_mpfr_libdir" != x && tes - MPFR_LIBS="-L$with_mpfr_libdir $MPFR_LIBS" - fi - --: "kpse_xpdf_system_flags - no-op" -+if $PKG_CONFIG poppler --atleast-version=0.30; then -+ POPPLER_INCLUDES=`$PKG_CONFIG poppler --cflags` -+ POPPLER_LIBS=`$PKG_CONFIG poppler --libs` -+elif test "x$need_poppler:$with_system_poppler" = xyes:yes; then -+ as_fn_error $? "did not find poppler 0.30 or better" "$LINENO" 5 -+fi -+ -+POPPLER_VERSION='-DPOPPLER_VERSION=\"'`$PKG_CONFIG poppler --modversion`'\"' -+POPPLER_INCLUDES="$POPPLER_VERSION $POPPLER_INCLUDES" -+ -+if $PKG_CONFIG poppler --atleast-version=0.12; then -+ XPDF_INCLUDES=`$PKG_CONFIG poppler --cflags` -+ XPDF_LIBS=`$PKG_CONFIG poppler --libs` -+elif test "x$need_xpdf:$with_system_xpdf" = xyes:yes; then -+ as_fn_error $? "did not find poppler 0.12 or better" "$LINENO" 5 -+fi -+ -+POPPLER_VERSION='-DPOPPLER_VERSION=\"'`$PKG_CONFIG poppler --modversion`'\"' -+XPDF_INCLUDES="$POPPLER_VERSION $XPDF_INCLUDES" -+ -+# : "kpse_xpdf_system_flags - no-op" - - if $PKG_CONFIG zziplib --atleast-version=0.12; then - ZZIPLIB_INCLUDES=`$PKG_CONFIG zziplib --cflags` -diff -up texlive-base-20210325/source/texk/web2c/configure.poppler-xpdf-fix texlive-base-20210325/source/texk/web2c/configure ---- texlive-base-20210325/source/texk/web2c/configure.poppler-xpdf-fix 2021-02-16 22:03:54.000000000 -0500 -+++ texlive-base-20210325/source/texk/web2c/configure 2021-05-10 15:21:08.256142617 -0400 -@@ -25500,9 +25500,21 @@ fi - ##tldbg _KPSE_LIB_FLAGS: Setup xpdf (-lxpdf) flags. - echo 'tldbg:_KPSE_LIB_FLAGS called: libdir=xpdf, libname=xpdf, options=, tlincl=-DPDF_PARSER_ONLY -IBLD/libs/xpdf -IBLD/libs/xpdf/goo -IBLD/libs/xpdf/xpdf, tllib=BLD/libs/xpdf/libxpdf.a, tlextra=, rebuildsrcdeps=, rebuildblddeps=${top_builddir}/../../libs/xpdf/xpdf/Stream.h.' >&5 - ##tldbg _KPSE_LIB_FLAGS_TL: xpdf (xpdf) . --: "kpse_xpdf_options - no-op" -+# Check whether --with-system-xpdf was given. -+if test "${with_system_xpdf+set}" = set; then : -+ withval=$with_system_xpdf; -+fi -+ - if test "x$with_system_xpdf" = xyes; then -- : "kpse_xpdf_system_flags - no-op" -+ if $PKG_CONFIG poppler --atleast-version=0.12; then -+ XPDF_INCLUDES=`$PKG_CONFIG poppler --cflags` -+ XPDF_LIBS=`$PKG_CONFIG poppler --libs` -+elif test "x$need_xpdf:$with_system_xpdf" = xyes:yes; then -+ as_fn_error $? "did not find poppler 0.12 or better" "$LINENO" 5 -+fi -+ -+POPPLER_VERSION='-DPOPPLER_VERSION=\"'`$PKG_CONFIG poppler --modversion`'\"' -+XPDF_INCLUDES="$POPPLER_VERSION $XPDF_INCLUDES" - else - XPDF_INCLUDES="-DPDF_PARSER_ONLY -I$kpse_BLD/libs/xpdf -I$kpse_BLD/libs/xpdf/goo -I$kpse_BLD/libs/xpdf/xpdf" - XPDF_LIBS="$kpse_BLD/libs/xpdf/libxpdf.a" -diff -up texlive-base-20210325/source/texk/web2c/pdftexdir/pdftoepdf.cc.poppler-xpdf-fix texlive-base-20210325/source/texk/web2c/pdftexdir/pdftoepdf.cc ---- texlive-base-20210325/source/texk/web2c/pdftexdir/pdftoepdf.cc.poppler-xpdf-fix 2021-05-10 15:56:50.770034767 -0400 -+++ texlive-base-20210325/source/texk/web2c/pdftexdir/pdftoepdf.cc 2021-05-10 16:05:07.939283063 -0400 -@@ -49,10 +49,16 @@ POPPLER_VERSION should be defined. - #include - #include - --#include --#include --#include --#include -+#ifdef POPPLER_VERSION -+#include -+#include -+#include -+#include -+#include -+#define GString GooString -+#else -+#error POPPLER_VERSION should be defined. -+#endif - #include - - #include "Object.h" -@@ -676,7 +682,7 @@ static void writeEncodings() - } - for (r = encodingList; r != 0; r = n) { - n = r->next; -- delete r->font; -+ r->font->decRefCnt(); - delete r; - } - } -@@ -715,7 +721,7 @@ read_pdf_info(char *image_name, char *pa - PdfDocument *pdf_doc; - Page *page; - const PDFRectangle *pagebox; -- float pdf_version_found, pdf_version_wanted; -+ int pdf_major_version_found, pdf_minor_version_found; - // initialize - if (!isInit) { - globalParams = std::unique_ptr(new GlobalParams()); -@@ -730,17 +736,18 @@ read_pdf_info(char *image_name, char *pa - // this works only for PDF 1.x -- but since any versions of PDF newer - // than 1.x will not be backwards compatible to PDF 1.x, pdfTeX will - // then have to changed drastically anyway. -- pdf_version_found = pdf_doc->doc->getPDFVersion(); -- pdf_version_wanted = major_pdf_version_wanted + (minor_pdf_version_wanted * 0.1); -- if (pdf_version_found > pdf_version_wanted + 0.01) { -- char msg[] = -- "PDF inclusion: found PDF version <%.1f>, but at most version <%.1f> allowed"; -+ pdf_major_version_found = pdf_doc->doc->getPDFMajorVersion(); -+ pdf_minor_version_found = pdf_doc->doc->getPDFMinorVersion(); -+ if ((pdf_major_version_found > major_pdf_version_wanted) -+ || (pdf_minor_version_found > minor_pdf_version_wanted)) { -+ const char *msg = -+ "PDF inclusion: found PDF version <%d.%d>, but at most version <%d.%d> allowed"; - if (pdf_inclusion_errorlevel > 0) { -- pdftex_fail(msg, pdf_version_found, pdf_version_wanted); -+ pdftex_fail(msg, pdf_major_version_found, pdf_minor_version_found, major_pdf_version_wanted, minor_pdf_version_wanted); - } else if (pdf_inclusion_errorlevel < 0) { - ; /* do nothing */ - } else { /* = 0, give warning */ -- pdftex_warn(msg, pdf_version_found, pdf_version_wanted); -+ pdftex_warn(msg, pdf_major_version_found, pdf_minor_version_found, major_pdf_version_wanted, minor_pdf_version_wanted); - } - } - epdf_num_pages = pdf_doc->doc->getCatalog()->getNumPages(); -diff -up texlive-base-20210325/source/texk/web2c/pdftexdir/pdftosrc.cc.poppler-xpdf-fix texlive-base-20210325/source/texk/web2c/pdftexdir/pdftosrc.cc ---- texlive-base-20210325/source/texk/web2c/pdftexdir/pdftosrc.cc.poppler-xpdf-fix 2021-05-10 15:26:43.545060694 -0400 -+++ texlive-base-20210325/source/texk/web2c/pdftexdir/pdftosrc.cc 2021-05-10 16:06:58.614896618 -0400 -@@ -41,10 +41,15 @@ POPPLER_VERSION should be defined. - #include - #include - --#include --#include --#include --#include -+#ifdef POPPLER_VERSION -+#define GString GooString -+#include -+#include -+#include -+#include -+#else -+#error POPPLER_VERSION should be defined. -+#endif - #include - - #include "Object.h" -@@ -183,7 +188,7 @@ int main(int argc, char *argv[]) - if (n == e->gen) - localOffset = obj2.getInt(); - } --#if defined(XPDF304) -+#if defined(POPPLER_VERSION) || defined(XPDF304) - while (str->getChar() != EOF) ; - #else /* xpdf 4.00 */ - lexer->skipToEOF(); diff --git a/texlive-base-20210325-mendex-weird-arch-fixes.patch b/texlive-base-20210325-mendex-weird-arch-fixes.patch deleted file mode 100644 index 97fdf59..0000000 --- a/texlive-base-20210325-mendex-weird-arch-fixes.patch +++ /dev/null @@ -1,168 +0,0 @@ -diff -U0 texlive-base-20210325/source/texk/mendexk/ChangeLog.archfix texlive-base-20210325/source/texk/mendexk/ChangeLog ---- texlive-base-20210325/source/texk/mendexk/ChangeLog.archfix 2021-05-27 15:01:46.888501972 -0400 -+++ texlive-base-20210325/source/texk/mendexk/ChangeLog 2021-05-27 15:02:10.669627643 -0400 -@@ -0,0 +1,13 @@ -+2021-05-09 Karl Berry -+ -+ * mendex.h (page.attr): use int, not char, since we do signed -+ comparison and aarch64 apparently treats char as unsigned. -+ (index.words): use unsigned char for consistency. -+ * fwrite.c (printpage): factor out beginning/end page values. -+ * tests/rangetwo.idx, -+ * tests/rangetwo.ind, -+ * tests/rangetwo.ist: new simple test. -+ * tests/mendex.test: run the rangetwo test. -+ Report from Johannes Hielscher, -+ https://tug.org/pipermail/tlbuild/2021q1/004873.html. -+ -diff -up texlive-base-20210325/source/texk/mendexk/fwrite.c.archfix texlive-base-20210325/source/texk/mendexk/fwrite.c ---- texlive-base-20210325/source/texk/mendexk/fwrite.c.archfix 2021-05-27 15:02:37.867771347 -0400 -+++ texlive-base-20210325/source/texk/mendexk/fwrite.c 2021-05-27 15:07:00.875160968 -0400 -@@ -326,7 +326,11 @@ static void printpage(struct index *ind, - for(j=0;jj) { -- if (pnumconv(ind[num].p[j].page,ind[num].p[j].attr[0])==pnumconv(ind[num].p[cc].page,ind[num].p[cc].attr[0])) { -+ int epage = pnumconv(ind[num].p[cc].page, -+ ind[num].p[cc].attr[0]); -+ int bpage = pnumconv(ind[num].p[j].page, -+ ind[num].p[j].attr[0]); -+ if (epage==bpage) { - j=cc-1; - continue; - } -@@ -337,20 +341,18 @@ static void printpage(struct index *ind, - if (strlen(ind[num].p[j].enc)>0) { - SPRINTF(buff,"%s%s%s",encap_prefix,ind[num].p[j].enc,encap_infix); - } -- if (strlen(suffix_3p)>0 && (pnumconv(ind[num].p[cc].page,ind[num].p[cc].attr[0])-pnumconv(ind[num].p[j].page,ind[num].p[j].attr[0]))==2) { -- SAPPENDF(buff,"%s",ind[num].p[j].page); -+ /* print beginning of range */ -+ SAPPENDF(buff,"%s",ind[num].p[j].page); -+ if (strlen(suffix_3p)>0 && (epage-bpage)==2) { - SAPPENDF(buff,"%s",suffix_3p); - } -- else if (strlen(suffix_mp)>0 && (pnumconv(ind[num].p[cc].page,ind[num].p[cc].attr[0])-pnumconv(ind[num].p[j].page,ind[num].p[j].attr[0]))>=2) { -- SAPPENDF(buff,"%s",ind[num].p[j].page); -+ else if (strlen(suffix_mp)>0 && (epage-bpage)>=2) { - SAPPENDF(buff,"%s",suffix_mp); - } -- else if (strlen(suffix_2p)>0 && (pnumconv(ind[num].p[cc].page,ind[num].p[cc].attr[0])-pnumconv(ind[num].p[j].page,ind[num].p[j].attr[0]))==1) { -- SAPPENDF(buff,"%s",ind[num].p[j].page); -+ else if (strlen(suffix_2p)>0 && (epage-bpage)==1) { - SAPPENDF(buff,"%s",suffix_2p); - } - else { -- SAPPENDF(buff,"%s",ind[num].p[j].page); - SAPPENDF(buff,"%s",delim_r); - SAPPENDF(buff,"%s",ind[num].p[cc].page); - } -diff -up texlive-base-20210325/source/texk/mendexk/mendex.h.archfix texlive-base-20210325/source/texk/mendexk/mendex.h ---- texlive-base-20210325/source/texk/mendexk/mendex.h.archfix 2021-05-27 15:07:31.173321042 -0400 -+++ texlive-base-20210325/source/texk/mendexk/mendex.h 2021-05-27 15:07:50.429422834 -0400 -@@ -14,12 +14,12 @@ - struct page { - char *page; - char *enc; -- char attr[3]; -+ int attr[3]; - }; - - struct index { - int num; -- char words; -+ unsigned char words; - char *org[3]; - char *dic[3]; - char *idx[3]; -diff -up texlive-base-20210325/source/texk/mendexk/tests/mendex.test.archfix texlive-base-20210325/source/texk/mendexk/tests/mendex.test ---- texlive-base-20210325/source/texk/mendexk/tests/mendex.test.archfix 2021-05-27 15:08:12.848541283 -0400 -+++ texlive-base-20210325/source/texk/mendexk/tests/mendex.test 2021-05-27 15:13:28.110189451 -0400 -@@ -1,6 +1,6 @@ - #! /bin/sh -vx - # $Id: mendex.test 58575 2021-03-21 08:54:52Z takuji $ --# Copyright 2017 Karl Berry -+# Copyright 2017-2021 Karl Berry - # Copyright 2013 Peter Breitenlohner - # You may freely use, modify and/or distribute this file. - -@@ -24,13 +24,21 @@ cat $srcdir/tests/uni.idx | \ - >uni.ind2 2>uni.ilg2 \ - && diff $srcdir/tests/uni.ind uni.ind2 || exit 1 - --# test for page_precedence --./mendex -s $srcdir/tests/pprec0.ist $srcdir/tests/pprecA.idx -o pprecA-0.ind1 -t pprecA-0.ilg \ -+# test for two-element range suffix_2p -+./mendex -s $srcdir/tests/rangetwo.ist $srcdir/tests/rangetwo.idx \ -+ -o rangetwo.ind1 -t rangetwo.ilg \ -+ && diff $srcdir/tests/rangetwo.ind rangetwo.ind1 || exit 1 -+ -+# test for page_precedence and suffix_3p -+./mendex -s $srcdir/tests/pprec0.ist $srcdir/tests/pprecA.idx \ -+ -o pprecA-0.ind1 -t pprecA-0.ilg \ - && diff $srcdir/tests/pprecA-0.ind pprecA-0.ind1 || exit 1 - --./mendex -s $srcdir/tests/pprec1.ist $srcdir/tests/pprecA.idx -o pprecA-1.ind1 -t pprecA-1.ilg \ -+./mendex -s $srcdir/tests/pprec1.ist $srcdir/tests/pprecA.idx \ -+ -o pprecA-1.ind1 -t pprecA-1.ilg \ - && diff $srcdir/tests/pprecA-1.ind pprecA-1.ind1 || exit 1 - --./mendex -s $srcdir/tests/pprec2.ist $srcdir/tests/pprecA.idx -o pprecA-2.ind1 -t pprecA-2.ilg \ -+./mendex -s $srcdir/tests/pprec2.ist $srcdir/tests/pprecA.idx \ -+ -o pprecA-2.ind1 -t pprecA-2.ilg \ - && diff $srcdir/tests/pprecA-2.ind pprecA-2.ind1 || exit 1 - -diff -up texlive-base-20210325/source/texk/mendexk/tests/rangetwo.idx.archfix texlive-base-20210325/source/texk/mendexk/tests/rangetwo.idx ---- texlive-base-20210325/source/texk/mendexk/tests/rangetwo.idx.archfix 2021-05-27 15:14:09.048403077 -0400 -+++ texlive-base-20210325/source/texk/mendexk/tests/rangetwo.idx 2021-05-27 15:14:03.416373688 -0400 -@@ -0,0 +1,2 @@ -+\indexentry{entryA}{1} -+\indexentry{entryA}{2} -diff -up texlive-base-20210325/source/texk/mendexk/tests/rangetwo.ind.archfix texlive-base-20210325/source/texk/mendexk/tests/rangetwo.ind ---- texlive-base-20210325/source/texk/mendexk/tests/rangetwo.ind.archfix 2021-05-27 15:14:30.601515549 -0400 -+++ texlive-base-20210325/source/texk/mendexk/tests/rangetwo.ind 2021-05-27 15:14:59.970668807 -0400 -@@ -0,0 +1,5 @@ -+\begin{theindex} -+ -+ \item entryA, 1[[sfx2p]] -+ -+\end{theindex} -diff -up texlive-base-20210325/source/texk/mendexk/tests/rangetwo.ist.archfix texlive-base-20210325/source/texk/mendexk/tests/rangetwo.ist ---- texlive-base-20210325/source/texk/mendexk/tests/rangetwo.ist.archfix 2021-05-27 15:15:24.712797920 -0400 -+++ texlive-base-20210325/source/texk/mendexk/tests/rangetwo.ist 2021-05-27 15:15:51.412937250 -0400 -@@ -0,0 +1,2 @@ -+suffix_2p "[[sfx2p]]" -+ -diff -U0 texlive-base-20210325/source/texk/upmendex/ChangeLog.archfix texlive-base-20210325/source/texk/upmendex/ChangeLog ---- texlive-base-20210325/source/texk/upmendex/ChangeLog.archfix 2021-05-27 14:58:11.836365567 -0400 -+++ texlive-base-20210325/source/texk/upmendex/ChangeLog 2021-05-27 14:59:42.613845327 -0400 -@@ -0,0 +1,11 @@ -+2021-05-09 Karl Berry -+ * mendex.h (page.attr): use int, not char, since we do signed -+ comparison and aarch64 apparently treats char as unsigned. -+ (index.words): use unsigned char for consistency. -+ -+ Same fixes as for mendex; see mendexk/ChangeLog. -+ Report from Johannes Hielscher, -+ https://tug.org/pipermail/tlbuild/2021q1/004873.html -+ and follow-up: -+ https://tug.org/pipermail/tlbuild/2021q2/004911.html -+ -diff -up texlive-base-20210325/source/texk/upmendex/mendex.h.archfix texlive-base-20210325/source/texk/upmendex/mendex.h ---- texlive-base-20210325/source/texk/upmendex/mendex.h.archfix 2021-05-27 14:59:52.774899013 -0400 -+++ texlive-base-20210325/source/texk/upmendex/mendex.h 2021-05-27 15:01:33.381430577 -0400 -@@ -14,12 +14,12 @@ - struct page { - char *page; - char *enc; -- char attr[3]; -+ int attr[3]; - }; - - struct index { - int num; -- char words; -+ unsigned char words; - UChar *dic[3]; - UChar *org[3]; - UChar *idx[3]; diff --git a/texlive-base-20210325-no-setpdfwrite.patch b/texlive-base-20210325-no-setpdfwrite.patch deleted file mode 100644 index a68f83c..0000000 --- a/texlive-base-20210325-no-setpdfwrite.patch +++ /dev/null @@ -1,10 +0,0 @@ -diff -up texlive-base-20210325/source/utils/asymptote/patches/dvipdf.no-setpdfwrite texlive-base-20210325/source/utils/asymptote/patches/dvipdf ---- texlive-base-20210325/source/utils/asymptote/patches/dvipdf.no-setpdfwrite 2021-06-21 10:05:10.392585479 -0400 -+++ texlive-base-20210325/source/utils/asymptote/patches/dvipdf 2021-06-21 10:05:30.969698895 -0400 -@@ -50,5 +50,5 @@ fi - - # We have to include the options twice because -I only takes effect if it - # appears before other options. --exec dvips $DVIPSOPTIONS -q -f "$infile" | $GS_EXECUTABLE $OPTIONS -q -dNOPAUSE -dBATCH -sDEVICE=pdfwrite -sstdout=%stderr -sOutputFile="$outfile" $OPTIONS -c .setpdfwrite - -+exec dvips $DVIPSOPTIONS -q -f "$infile" | $GS_EXECUTABLE $OPTIONS -q -dNOPAUSE -dBATCH -sDEVICE=pdfwrite -sstdout=%stderr -sOutputFile="$outfile" $OPTIONS -c 3000000 setvmthreshold - - diff --git a/texlive-base-20210325-pdftoepdf-fix-crash.patch b/texlive-base-20210325-pdftoepdf-fix-crash.patch deleted file mode 100644 index b19d483..0000000 --- a/texlive-base-20210325-pdftoepdf-fix-crash.patch +++ /dev/null @@ -1,34 +0,0 @@ -diff -up texlive-base-20210325/source/texk/web2c/pdftexdir/pdftoepdf.cc.debug texlive-base-20210325/source/texk/web2c/pdftexdir/pdftoepdf.cc ---- texlive-base-20210325/source/texk/web2c/pdftexdir/pdftoepdf.cc.debug 2022-01-20 10:25:58.454233201 -0500 -+++ texlive-base-20210325/source/texk/web2c/pdftexdir/pdftoepdf.cc 2022-01-20 12:57:04.241513707 -0500 -@@ -962,21 +962,30 @@ A change - does not improve the situation. - The changes below seem to work fine. - */ -+ if (page->getGroup() != NULL) { -+ groupDict = Object(page->getGroup()); -+ } else { -+ pdftex_fail("PDF inclusion: getGroup failed"); -+ } -+/* - // begin modification - groupDict = pageDict->lookup("Group"); - Dict *dic1 = page->getGroup(); - Dict *dic2 = groupDict.getDict(); - // replace dic2 in groupDict with dic1 - l = dic2->getLength(); -+ pdftex_warn("dic2 length is %d", l); - for (i = 0; i < l; i++) { - groupDict.dictRemove(dic2->getKey(i)); - } - l = dic1->getLength(); -+ pdftex_warn("dic1 length is %d", l); - for (i = 0; i < l; i++) { - groupDict.dictAdd(dic1->getKey(i), - dic1->getValNF(i).copy()); - } - // end modification -+*/ - pdf_printf("/Group %ld 0 R\n", (long)pdfpagegroupval); - } - } diff --git a/texlive-base-20210325-poppler-22.01.0.patch b/texlive-base-20210325-poppler-22.01.0.patch deleted file mode 100644 index 483eb6a..0000000 --- a/texlive-base-20210325-poppler-22.01.0.patch +++ /dev/null @@ -1,49 +0,0 @@ -diff -up texlive-base-20210325/source/texk/web2c/Makefile.in.poppler22 texlive-base-20210325/source/texk/web2c/Makefile.in ---- texlive-base-20210325/source/texk/web2c/Makefile.in.poppler22 2022-01-15 16:57:15.020632269 -0500 -+++ texlive-base-20210325/source/texk/web2c/Makefile.in 2022-01-15 17:00:20.852711238 -0500 -@@ -4573,7 +4573,7 @@ ttf2afm_tests = pdftexdir/ttf2afm.test - # Force Automake to use CXXLD for linking - nodist_EXTRA_pdftosrc_SOURCES = dummy.cxx - pdftosrc_CPPFLAGS = $(pdftex_cppflags) --pdftosrc_CXXFLAGS = $(WARNING_CXXFLAGS) -+pdftosrc_CXXFLAGS = $(WARNING_CXXFLAGS) -std=c++17 - pdftosrc_SOURCES = pdftexdir/pdftosrc.cc - pdftosrc_LDADD = $(pdftex_ldadd) $(LDADD) - pdftosrc_DEPENDENCIES = $(pdftex_dependencies) -@@ -18343,7 +18343,7 @@ xetex-xetex-pool.obj: xetex-pool.c - @am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(LTCXXCOMPILE) -c -o $@ $< - - pdftexdir/libpdftex_a-pdftoepdf.o: pdftexdir/pdftoepdf.cc --@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libpdftex_a_CPPFLAGS) $(CPPFLAGS) $(libpdftex_a_CXXFLAGS) $(CXXFLAGS) -MT pdftexdir/libpdftex_a-pdftoepdf.o -MD -MP -MF pdftexdir/$(DEPDIR)/libpdftex_a-pdftoepdf.Tpo -c -o pdftexdir/libpdftex_a-pdftoepdf.o `test -f 'pdftexdir/pdftoepdf.cc' || echo '$(srcdir)/'`pdftexdir/pdftoepdf.cc -+@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libpdftex_a_CPPFLAGS) $(CPPFLAGS) -std=c++17 $(libpdftex_a_CXXFLAGS) $(CXXFLAGS) -MT pdftexdir/libpdftex_a-pdftoepdf.o -MD -MP -MF pdftexdir/$(DEPDIR)/libpdftex_a-pdftoepdf.Tpo -c -o pdftexdir/libpdftex_a-pdftoepdf.o `test -f 'pdftexdir/pdftoepdf.cc' || echo '$(srcdir)/'`pdftexdir/pdftoepdf.cc - @am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) pdftexdir/$(DEPDIR)/libpdftex_a-pdftoepdf.Tpo pdftexdir/$(DEPDIR)/libpdftex_a-pdftoepdf.Po - @AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='pdftexdir/pdftoepdf.cc' object='pdftexdir/libpdftex_a-pdftoepdf.o' libtool=no @AMDEPBACKSLASH@ - @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -diff -up texlive-base-20210325/source/texk/web2c/pdftexdir/pdftoepdf.cc.poppler22 texlive-base-20210325/source/texk/web2c/pdftexdir/pdftoepdf.cc ---- texlive-base-20210325/source/texk/web2c/pdftexdir/pdftoepdf.cc.poppler22 2022-01-14 15:01:29.811105995 -0500 -+++ texlive-base-20210325/source/texk/web2c/pdftexdir/pdftoepdf.cc 2022-01-14 15:01:29.831106120 -0500 -@@ -964,17 +964,17 @@ The changes below seem to work fine. - */ - // begin modification - groupDict = pageDict->lookup("Group"); -- const Dict& dic1 = page->getGroup(); -- const Dict& dic2 = groupDict.getDict(); -+ Dict *dic1 = page->getGroup(); -+ Dict *dic2 = groupDict.getDict(); - // replace dic2 in groupDict with dic1 -- l = dic2.getLength(); -+ l = dic2->getLength(); - for (i = 0; i < l; i++) { -- groupDict.dictRemove(dic2.getKey(i)); -+ groupDict.dictRemove(dic2->getKey(i)); - } -- l = dic1.getLength(); -+ l = dic1->getLength(); - for (i = 0; i < l; i++) { -- groupDict.dictAdd(dic1.getKey(i), -- dic1.getValNF(i).copy()); -+ groupDict.dictAdd(dic1->getKey(i), -+ dic1->getValNF(i).copy()); - } - // end modification - pdf_printf("/Group %ld 0 R\n", (long)pdfpagegroupval); diff --git a/texlive-base-20210325-poppler-22.08.0.patch b/texlive-base-20210325-poppler-22.08.0.patch deleted file mode 100644 index 28478e2..0000000 --- a/texlive-base-20210325-poppler-22.08.0.patch +++ /dev/null @@ -1,121 +0,0 @@ ---- texlive-base-20210325/source/configure -+++ texlive-base-20210325/source/configure -@@ -22090,7 +22090,7 @@ $as_echo_n "checking requested system \` - int - main () - { --GfxFont *gfxFont; gfxFont->decRefCnt(); -+GfxFont *gfxFont; gfxFont->getFlags(); - ; - return 0; - } ---- texlive-base-20210325/source/texk/web2c/pdftexdir/pdftosrc.cc -+++ texlive-base-20210325/source/texk/web2c/pdftexdir/pdftosrc.cc -@@ -72,7 +72,7 @@ int main(int argc, char *argv[]) - { - char *p, buf[1024]; - PDFDoc *doc; -- GString *fileName; -+ std::unique_ptr fileName; - Stream *s; - Object srcStream, srcName, catalogDict; - FILE *outfile; -@@ -86,9 +86,9 @@ int main(int argc, char *argv[]) - "Usage: pdftosrc []\n"); - exit(1); - } -- fileName = new GString(argv[1]); -+ fileName = std::make_unique(argv[1]); - globalParams = std::unique_ptr(new GlobalParams()); -- doc = new PDFDoc(fileName); -+ doc = new PDFDoc(std::move(fileName)); - if (!doc->isOk()) { - fprintf(stderr, "Invalid PDF file\n"); - exit(1); -@@ -126,7 +126,7 @@ int main(int argc, char *argv[]) - fprintf(stderr, "Not a Stream object\n"); - exit(1); - } -- sprintf(buf, "%s", fileName->c_str()); -+ sprintf(buf, "%s", argv[1]); - if ((p = strrchr(buf, '.')) == 0) - p = strchr(buf, 0); - if (objgen == 0) -@@ -136,7 +136,7 @@ int main(int argc, char *argv[]) - outname = buf; - } else { // objnum < 0 means we are extracting the XRef table - extract_xref_table = true; -- sprintf(buf, "%s", fileName->c_str()); -+ sprintf(buf, "%s", argv[1]); - if ((p = strrchr(buf, '.')) == 0) - p = strchr(buf, 0); - sprintf(p, ".xref"); -diff -up texlive-base-20210325/source/texk/web2c/pdftexdir/pdftoepdf.cc.spot texlive-base-20210325/source/texk/web2c/pdftexdir/pdftoepdf.cc ---- texlive-base-20210325/source/texk/web2c/pdftexdir/pdftoepdf.cc.spot 2022-08-24 21:21:36.558035301 +0000 -+++ texlive-base-20210325/source/texk/web2c/pdftexdir/pdftoepdf.cc 2022-08-24 21:41:04.409172692 +0000 -@@ -123,7 +123,7 @@ struct InObj { - - struct UsedEncoding { - int enc_objnum; -- GfxFont *font; -+ std::shared_ptr font; - UsedEncoding *next; - }; - -@@ -167,8 +167,8 @@ static PdfDocument *find_add_document(ch - p->file_name = xstrdup(file_name); - p->xref = xref = 0; - p->occurences = 0; -- GString *docName = new GString(p->file_name); -- p->doc = new PDFDoc(docName); // takes ownership of docName -+ // GString *docName = new GString(p->file_name); -+ p->doc = new PDFDoc(std::make_unique(p->file_name)); // takes ownership of docName - if (!p->doc->isOk() || !p->doc->okToPrint()) { - pdftex_fail("xpdf: reading PDF image failed"); - } -@@ -204,7 +204,7 @@ static void delete_document(PdfDocument - - // -------------------------------------------------------------------- - --static int addEncoding(GfxFont * gfont) -+static int addEncoding(std::shared_ptr gfont) - { - UsedEncoding *n; - n = new UsedEncoding; -@@ -395,7 +395,8 @@ static void copyFont(const char *tag, Ob - { - Object fontdict, subtype, basefont, fontdescRef, fontdesc, charset, - stemV; -- GfxFont *gfont; -+ // GfxFont *gfont; -+ std::shared_ptr gfont; - fd_entry *fd; - fm_entry *fontmap; - // Check whether the font has already been embedded before analysing it. -@@ -666,6 +667,7 @@ static void writeEncodings() - UsedEncoding *r, *n; - char *glyphNames[256], *s; - int i; -+ - for (r = encodingList; r != 0; r = r->next) { - for (i = 0; i < 256; i++) { - if (r->font->isCIDFont()) { -@@ -673,7 +675,8 @@ static void writeEncodings() - ("PDF inclusion: CID fonts are not supported" - " (try to disable font replacement to fix this)"); - } -- if ((s = (char *) ((Gfx8BitFont *) r->font)->getCharName(i)) != 0) -+ const GfxFont *const font = r->font.get(); -+ if ((s = (char *) ((Gfx8BitFont *) font)->getCharName(i)) != 0) - glyphNames[i] = s; - else - glyphNames[i] = notdef; -@@ -682,7 +685,7 @@ static void writeEncodings() - } - for (r = encodingList; r != 0; r = n) { - n = r->next; -- r->font->decRefCnt(); -+ // r->font->decRefCnt(); - delete r; - } - } diff --git a/texlive-base-2022-dvisvgm-3.0.1.patch b/texlive-base-2022-dvisvgm-3.0.1.patch deleted file mode 100644 index 1a971b6..0000000 --- a/texlive-base-2022-dvisvgm-3.0.1.patch +++ /dev/null @@ -1,36589 +0,0 @@ -diff -up texlive-base-20220321/source/texk/dvisvgm/configure.301 texlive-base-20220321/source/texk/dvisvgm/configure ---- texlive-base-20220321/source/texk/dvisvgm/configure.301 2022-02-28 17:04:29.000000000 -0500 -+++ texlive-base-20220321/source/texk/dvisvgm/configure 2023-01-17 15:53:51.698205242 -0500 -@@ -1,6 +1,6 @@ - #! /bin/sh - # Guess values for system-dependent variables and create Makefiles. --# Generated by GNU Autoconf 2.71 for dvisvgm (TeX Live) 2.13.3. -+# Generated by GNU Autoconf 2.71 for dvisvgm (TeX Live) 3.0.1. - # - # Report bugs to . - # -@@ -629,8 +629,8 @@ MAKEFLAGS= - # Identity of this package. - PACKAGE_NAME='dvisvgm (TeX Live)' - PACKAGE_TARNAME='dvisvgm--tex-live-' --PACKAGE_VERSION='2.13.3' --PACKAGE_STRING='dvisvgm (TeX Live) 2.13.3' -+PACKAGE_VERSION='3.0.1' -+PACKAGE_STRING='dvisvgm (TeX Live) 3.0.1' - PACKAGE_BUGREPORT='tex-k@tug.org' - PACKAGE_URL='' - -@@ -1437,7 +1437,7 @@ 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 dvisvgm (TeX Live) 2.13.3 to adapt to many kinds of systems. -+\`configure' configures dvisvgm (TeX Live) 3.0.1 to adapt to many kinds of systems. - - Usage: $0 [OPTION]... [VAR=VALUE]... - -@@ -1509,7 +1509,7 @@ fi - - if test -n "$ac_init_help"; then - case $ac_init_help in -- short | recursive ) echo "Configuration of dvisvgm (TeX Live) 2.13.3:";; -+ short | recursive ) echo "Configuration of dvisvgm (TeX Live) 3.0.1:";; - esac - cat <<\_ACEOF - -@@ -1642,7 +1642,7 @@ fi - test -n "$ac_init_help" && exit $ac_status - if $ac_init_version; then - cat <<\_ACEOF --dvisvgm (TeX Live) configure 2.13.3 -+dvisvgm (TeX Live) configure 3.0.1 - generated by GNU Autoconf 2.71 - - Copyright (C) 2021 Free Software Foundation, Inc. -@@ -2404,7 +2404,7 @@ 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 dvisvgm (TeX Live) $as_me 2.13.3, which was -+It was created by dvisvgm (TeX Live) $as_me 3.0.1, which was - generated by GNU Autoconf 2.71. Invocation command line was - - $ $0$ac_configure_args_raw -@@ -3381,7 +3381,7 @@ ac_link='$CC -o conftest$ac_exeext $CFLA - ac_compiler_gnu=$ac_cv_c_compiler_gnu - - --DATE="February 2022" -+DATE="January 2023" - - ac_config_headers="$ac_config_headers config.h" - -@@ -9015,7 +9015,7 @@ fi - - # Define the identity of the package. - PACKAGE='dvisvgm--tex-live-' -- VERSION='2.13.3' -+ VERSION='3.0.1' - - - printf "%s\n" "#define PACKAGE \"$PACKAGE\"" >>confdefs.h -@@ -15924,11 +15924,11 @@ if test x$ac_prog_cxx_stdcxx = xno - then : - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $CXX option to enable C++11 features" >&5 - printf %s "checking for $CXX option to enable C++11 features... " >&6; } --if test ${ac_cv_prog_cxx_11+y} -+if test ${ac_cv_prog_cxx_cxx11+y} - then : - printf %s "(cached) " >&6 - else $as_nop -- ac_cv_prog_cxx_11=no -+ ac_cv_prog_cxx_cxx11=no - ac_save_CXX=$CXX - cat confdefs.h - <<_ACEOF >conftest.$ac_ext - /* end confdefs.h. */ -@@ -15970,11 +15970,11 @@ if test x$ac_prog_cxx_stdcxx = xno - then : - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $CXX option to enable C++98 features" >&5 - printf %s "checking for $CXX option to enable C++98 features... " >&6; } --if test ${ac_cv_prog_cxx_98+y} -+if test ${ac_cv_prog_cxx_cxx98+y} - then : - printf %s "(cached) " >&6 - else $as_nop -- ac_cv_prog_cxx_98=no -+ ac_cv_prog_cxx_cxx98=no - ac_save_CXX=$CXX - cat confdefs.h - <<_ACEOF >conftest.$ac_ext - /* end confdefs.h. */ -@@ -21413,7 +21413,7 @@ Usage: $0 [OPTIONS] - Report bugs to ." - - lt_cl_version="\ --dvisvgm (TeX Live) config.lt 2.13.3 -+dvisvgm (TeX Live) config.lt 3.0.1 - configured by $0, generated by GNU Autoconf 2.71. - - Copyright (C) 2011 Free Software Foundation, Inc. -@@ -24250,7 +24250,7 @@ dvisvgm_srcdir='$(top_srcdir)/dvisvgm-sr - - - --ac_config_files="$ac_config_files Makefile dvisvgm-src/Makefile dvisvgm-src/libs/Makefile dvisvgm-src/libs/brotli/Makefile dvisvgm-src/libs/clipper/Makefile dvisvgm-src/libs/ff-woff/Makefile dvisvgm-src/libs/md5/Makefile dvisvgm-src/libs/potrace/Makefile dvisvgm-src/libs/variant/Makefile dvisvgm-src/libs/woff2/Makefile dvisvgm-src/libs/xxHash/Makefile dvisvgm-src/src/Makefile dvisvgm-src/src/version.hpp dvisvgm-src/src/optimizer/Makefile" -+ac_config_files="$ac_config_files Makefile dvisvgm-src/Makefile dvisvgm-src/libs/Makefile dvisvgm-src/libs/boost/Makefile dvisvgm-src/libs/brotli/Makefile dvisvgm-src/libs/clipper/Makefile dvisvgm-src/libs/md5/Makefile dvisvgm-src/libs/potrace/Makefile dvisvgm-src/libs/variant/Makefile dvisvgm-src/libs/woff2/Makefile dvisvgm-src/libs/xxHash/Makefile dvisvgm-src/src/Makefile dvisvgm-src/src/version.hpp dvisvgm-src/src/fonts/Makefile dvisvgm-src/src/optimizer/Makefile dvisvgm-src/src/ttf/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 -@@ -24822,7 +24822,7 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_wri - # report actual input values of CONFIG_FILES etc. instead of their - # values after options handling. - ac_log=" --This file was extended by dvisvgm (TeX Live) $as_me 2.13.3, which was -+This file was extended by dvisvgm (TeX Live) $as_me 3.0.1, which was - generated by GNU Autoconf 2.71. Invocation command line was - - CONFIG_FILES = $CONFIG_FILES -@@ -24890,7 +24890,7 @@ ac_cs_config_escaped=`printf "%s\n" "$ac - cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 - ac_cs_config='$ac_cs_config_escaped' - ac_cs_version="\\ --dvisvgm (TeX Live) config.status 2.13.3 -+dvisvgm (TeX Live) config.status 3.0.1 - configured by $0, generated by GNU Autoconf 2.71, - with options \\"\$ac_cs_config\\" - -@@ -25411,9 +25411,9 @@ do - "Makefile") CONFIG_FILES="$CONFIG_FILES Makefile" ;; - "dvisvgm-src/Makefile") CONFIG_FILES="$CONFIG_FILES dvisvgm-src/Makefile" ;; - "dvisvgm-src/libs/Makefile") CONFIG_FILES="$CONFIG_FILES dvisvgm-src/libs/Makefile" ;; -+ "dvisvgm-src/libs/boost/Makefile") CONFIG_FILES="$CONFIG_FILES dvisvgm-src/libs/boost/Makefile" ;; - "dvisvgm-src/libs/brotli/Makefile") CONFIG_FILES="$CONFIG_FILES dvisvgm-src/libs/brotli/Makefile" ;; - "dvisvgm-src/libs/clipper/Makefile") CONFIG_FILES="$CONFIG_FILES dvisvgm-src/libs/clipper/Makefile" ;; -- "dvisvgm-src/libs/ff-woff/Makefile") CONFIG_FILES="$CONFIG_FILES dvisvgm-src/libs/ff-woff/Makefile" ;; - "dvisvgm-src/libs/md5/Makefile") CONFIG_FILES="$CONFIG_FILES dvisvgm-src/libs/md5/Makefile" ;; - "dvisvgm-src/libs/potrace/Makefile") CONFIG_FILES="$CONFIG_FILES dvisvgm-src/libs/potrace/Makefile" ;; - "dvisvgm-src/libs/variant/Makefile") CONFIG_FILES="$CONFIG_FILES dvisvgm-src/libs/variant/Makefile" ;; -@@ -25421,7 +25421,9 @@ do - "dvisvgm-src/libs/xxHash/Makefile") CONFIG_FILES="$CONFIG_FILES dvisvgm-src/libs/xxHash/Makefile" ;; - "dvisvgm-src/src/Makefile") CONFIG_FILES="$CONFIG_FILES dvisvgm-src/src/Makefile" ;; - "dvisvgm-src/src/version.hpp") CONFIG_FILES="$CONFIG_FILES dvisvgm-src/src/version.hpp" ;; -+ "dvisvgm-src/src/fonts/Makefile") CONFIG_FILES="$CONFIG_FILES dvisvgm-src/src/fonts/Makefile" ;; - "dvisvgm-src/src/optimizer/Makefile") CONFIG_FILES="$CONFIG_FILES dvisvgm-src/src/optimizer/Makefile" ;; -+ "dvisvgm-src/src/ttf/Makefile") CONFIG_FILES="$CONFIG_FILES dvisvgm-src/src/ttf/Makefile" ;; - - *) as_fn_error $? "invalid argument: \`$ac_config_target'" "$LINENO" 5;; - esac -diff -up texlive-base-20220321/source/texk/dvisvgm/configure.ac.301 texlive-base-20220321/source/texk/dvisvgm/configure.ac ---- texlive-base-20220321/source/texk/dvisvgm/configure.ac.301 2022-02-23 17:20:08.000000000 -0500 -+++ texlive-base-20220321/source/texk/dvisvgm/configure.ac 2023-01-17 15:53:51.698205242 -0500 -@@ -15,7 +15,7 @@ dnl - AC_PREREQ([2.65]) - m4_include([version.ac])[] dnl define dvisvgm_version - AC_INIT([dvisvgm (TeX Live)], dvisvgm_version, [tex-k@tug.org]) --DATE="February 2022" -+DATE="January 2023" - AC_CONFIG_SRCDIR([dvisvgm-src/src/dvisvgm.cpp]) - AC_CONFIG_HEADERS([config.h]) - AC_CONFIG_MACRO_DIRS([../../m4])dnl not just _DIR -@@ -225,9 +225,9 @@ AC_SUBST(AM_LDFLAGS) - AC_CONFIG_FILES([Makefile - dvisvgm-src/Makefile - dvisvgm-src/libs/Makefile -+ dvisvgm-src/libs/boost/Makefile - dvisvgm-src/libs/brotli/Makefile - dvisvgm-src/libs/clipper/Makefile -- dvisvgm-src/libs/ff-woff/Makefile - dvisvgm-src/libs/md5/Makefile - dvisvgm-src/libs/potrace/Makefile - dvisvgm-src/libs/variant/Makefile -@@ -235,6 +235,8 @@ AC_CONFIG_FILES([Makefile - dvisvgm-src/libs/xxHash/Makefile - dvisvgm-src/src/Makefile - dvisvgm-src/src/version.hpp -+ dvisvgm-src/src/fonts/Makefile - dvisvgm-src/src/optimizer/Makefile -+ dvisvgm-src/src/ttf/Makefile - ])dnl TL: skipping tests/* and doc/* - AC_OUTPUT -diff -up texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/config.h.in.301 texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/config.h.in ---- texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/config.h.in.301 2022-01-21 12:25:16.000000000 -0500 -+++ texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/config.h.in 2023-01-17 15:53:51.698205242 -0500 -@@ -46,9 +46,6 @@ - /* Define to 1 if you have the `z' library (-lz). */ - #undef HAVE_LIBZ - --/* Define to 1 if you have the header file. */ --#undef HAVE_MEMORY_H -- - /* Define to 1 if you have the header file, and it defines `DIR'. */ - #undef HAVE_NDIR_H - -@@ -68,6 +65,9 @@ - /* Define to 1 if you have the header file. */ - #undef HAVE_STDINT_H - -+/* Define to 1 if you have the header file. */ -+#undef HAVE_STDIO_H -+ - /* Define to 1 if you have the header file. */ - #undef HAVE_STDLIB_H - -@@ -115,6 +115,12 @@ - /* Define to 1 if the system has the type `_Bool'. */ - #undef HAVE__BOOL - -+/* Define to 1 if the system has the `__builtin_clz' built-in function */ -+#undef HAVE___BUILTIN_CLZ -+ -+/* The machine triplet of the host system */ -+#undef HOST_SYSTEM -+ - /* Define to 1 if the kpathsea headers are not C++ safe. */ - #undef KPSE_CXX_UNSAFE - -@@ -146,12 +152,11 @@ - /* Define to the version of this package. */ - #undef PACKAGE_VERSION - --/* Define to 1 if you have the ANSI C header files. */ -+/* Define to 1 if all of the C90 standard headers exist (not just the ones -+ required in a freestanding environment). This macro is provided for -+ backward compatibility; new code need not use it. */ - #undef STDC_HEADERS - --/* The machine triplet of the target system */ --#undef TARGET_SYSTEM -- - /* Define to 1 if your declares `struct tm'. */ - #undef TM_IN_SYS_TIME - -diff -up texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/configure.ac.301 texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/configure.ac ---- texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/configure.ac.301 2022-02-28 17:04:29.000000000 -0500 -+++ texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/configure.ac 2023-01-17 15:53:51.698205242 -0500 -@@ -1,30 +1,27 @@ - # This file is part of dvisvgm --# Copyright (C) 2005-2022 Martin Gieseking -+# Copyright (C) 2005-2023 Martin Gieseking - # - # Process this file with autoconf to produce a configure script. - --AC_PREREQ(2.59) --AC_INIT([dvisvgm],[2.13.3],[martin.gieseking@uos.de]) --DATE="February 2022" -+AC_PREREQ([2.69]) -+AC_INIT([dvisvgm],[3.0.1],[martin.gieseking@uos.de]) -+DATE="January 2023" - AC_CONFIG_SRCDIR(src) - AC_CONFIG_HEADERS([config.h]) - AC_CONFIG_MACRO_DIR([m4]) - AC_CANONICAL_HOST --AC_CANONICAL_TARGET --AM_INIT_AUTOMAKE([subdir-objects]) -+AM_INIT_AUTOMAKE([subdir-objects dist-xz]) - --AH_TEMPLATE([TARGET_SYSTEM], [The machine triplet of the target system]) --AC_DEFINE_UNQUOTED([TARGET_SYSTEM], ["$target"]) -+AH_TEMPLATE([HOST_SYSTEM], [The machine triplet of the host system]) -+AC_DEFINE_UNQUOTED([HOST_SYSTEM], ["$host"]) - - # Checks for programs. - AC_PROG_CC --AC_PROG_CC_C99 - AC_PROG_CXX - AX_CXX_COMPILE_STDCXX([11]) - AM_PROG_AR - LT_INIT - --AC_PROG_RANLIB - AC_LANG(C) - - AX_CHECK_COMPILE_FLAG([-Wmismatched-tags -Wno-mismatched-tags], [CXXFLAGS="$CXXFLAGS -Wno-mismatched-tags"]) -@@ -55,6 +52,7 @@ AC_CHECK_LIB([kpathsea], [kpse_find_file - - AC_MSG_CHECKING([kpathsea version]) - AC_RUN_IFELSE([AC_LANG_SOURCE([#include -+ #include - #include - int main() { - FILE *f; -@@ -146,7 +144,7 @@ AC_CHECK_LIB(z, gzopen) - - # Check for header files. - AC_HEADER_DIRENT --AC_HEADER_STDC -+ - AC_CHECK_HEADERS_ONCE([libintl.h stdlib.h string.h strings.h unistd.h]) - - # Check for typedefs, structures, and compiler characteristics. -@@ -157,6 +155,7 @@ AC_STRUCT_TM - # Check for library functions. - AC_FUNC_STAT - AC_CHECK_FUNCS_ONCE([ftime gettimeofday sigaction umask uselocale]) -+AX_GCC_BUILTIN(__builtin_clz) - - # add options for selection of "optional" library locations - # currently these libraries are mandatory; the --with-foo options -@@ -204,6 +203,7 @@ AS_IF([test "x$enable_manpage" != "xyes" - AM_CONDITIONAL([BUILD_MANPAGE], [test "x$enable_manpage" = "xyes"]) - - AX_CODE_COVERAGE -+ - AS_IF([ test "$enable_code_coverage" = "yes" ], [ - # disable optimization - changequote({,}) -@@ -219,18 +219,19 @@ AC_SUBST(AM_LDFLAGS) - AC_CONFIG_FILES([ - Makefile - libs/Makefile -+ libs/boost/Makefile - libs/brotli/Makefile - libs/clipper/Makefile -- libs/ff-woff/Makefile - libs/md5/Makefile - libs/potrace/Makefile - libs/variant/Makefile - libs/woff2/Makefile - libs/xxHash/Makefile -- m4/Makefile - src/Makefile - src/version.hpp -+ src/fonts/Makefile - src/optimizer/Makefile -+ src/ttf/Makefile - tests/Makefile - tests/data/Makefile - doc/Makefile]) -diff -up texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/libs/boost/boost-vectorstream.hpp.301 texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/libs/boost/boost-vectorstream.hpp ---- texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/libs/boost/boost-vectorstream.hpp.301 2023-01-17 15:53:51.698205242 -0500 -+++ texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/libs/boost/boost-vectorstream.hpp 2023-01-17 15:53:51.698205242 -0500 -@@ -0,0 +1,607 @@ -+////////////////////////////////////////////////////////////////////////////// -+// -+// (C) Copyright Ion Gaztanaga 2005-2012. Distributed under the Boost -+// Software License, Version 1.0. (See accompanying file -+// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -+// -+// See http://www.boost.org/libs/interprocess for documentation. -+// -+////////////////////////////////////////////////////////////////////////////// -+// -+// This file comes from SGI's sstream file. Modified by Ion Gaztanaga 2005-2012. -+// Changed internal SGI string to a generic, templatized vector. Added efficient -+// internal buffer get/set/swap functions, so that we can obtain/establish the -+// internal buffer without any reallocation or copy. Kill those temporaries! -+/////////////////////////////////////////////////////////////////////////////// -+/* -+ * Copyright (c) 1998 -+ * Silicon Graphics Computer Systems, Inc. -+ * -+ * Permission to use, copy, modify, distribute and sell this software -+ * and its documentation for any purpose is hereby granted without fee, -+ * provided that the above copyright notice appear in all copies and -+ * that both that copyright notice and this permission notice appear -+ * in supporting documentation. Silicon Graphics makes no -+ * representations about the suitability of this software for any -+ * purpose. It is provided "as is" without express or implied warranty. -+ */ -+ -+//!\file -+//!This file defines basic_vectorbuf, basic_ivectorstream, -+//!basic_ovectorstream, and basic_vectorstreamclasses. These classes -+//!represent streamsbufs and streams whose sources or destinations are -+//!STL-like vectors that can be swapped with external vectors to avoid -+//!unnecessary allocations/copies. -+ -+#ifndef BOOST_INTERPROCESS_VECTORSTREAM_HPP -+#define BOOST_INTERPROCESS_VECTORSTREAM_HPP -+ -+#include -+#include -+#include -+#include -+#include // char traits -+#include // ptrdiff_t -+ -+namespace boost { namespace interprocess { -+ -+//!A streambuf class that controls the transmission of elements to and from -+//!a basic_ivectorstream, basic_ovectorstream or basic_vectorstream. -+//!It holds a character vector specified by CharVector template parameter -+//!as its formatting buffer. The vector must have contiguous storage, like -+//!std::vector, boost::interprocess::vector or boost::interprocess::basic_string -+template -+class basic_vectorbuf -+ : public std::basic_streambuf -+{ -+ public: -+ typedef CharVector vector_type; -+ typedef typename CharVector::value_type char_type; -+ typedef typename CharTraits::int_type int_type; -+ typedef typename CharTraits::pos_type pos_type; -+ typedef typename CharTraits::off_type off_type; -+ typedef CharTraits traits_type; -+ -+ #if !defined(BOOST_INTERPROCESS_DOXYGEN_INVOKED) -+ private: -+ typedef std::basic_streambuf base_t; -+ -+ basic_vectorbuf(const basic_vectorbuf&); -+ basic_vectorbuf & operator =(const basic_vectorbuf&); -+ #endif //#ifndef BOOST_INTERPROCESS_DOXYGEN_INVOKED -+ -+ public: -+ //!Constructor. Throws if vector_type default -+ //!constructor throws. -+ explicit basic_vectorbuf(std::ios_base::openmode mode -+ = std::ios_base::in | std::ios_base::out) -+ : base_t(), m_mode(mode) -+ { this->initialize_pointers(); } -+ -+ //!Constructor. Throws if -+ //!vector_type(const VectorParameter ¶m) throws. -+ template -+ explicit basic_vectorbuf(const VectorParameter ¶m, -+ std::ios_base::openmode mode -+ = std::ios_base::in | std::ios_base::out) -+ : base_t(), m_mode(mode), m_vect(param) -+ { this->initialize_pointers(); } -+ -+ public: -+ -+ //!Swaps the underlying vector with the passed vector. -+ //!This function resets the read/write position in the stream. -+ //!Does not throw. -+ void swap_vector(vector_type &vect) -+ { -+ if (this->m_mode & std::ios_base::out){ -+ //Update high water if necessary -+ //And resize vector to remove extra size -+ if (mp_high_water < base_t::pptr()){ -+ //Restore the vector's size if necessary -+ mp_high_water = base_t::pptr(); -+ } -+ //This does not reallocate -+ m_vect.resize(std::size_t(mp_high_water - (m_vect.size() ? &m_vect[0] : 0))); -+ } -+ //Now swap vector -+ m_vect.swap(vect); -+ this->initialize_pointers(); -+ } -+ -+ //!Returns a const reference to the internal vector. -+ //!Does not throw. -+ const vector_type &vector() const -+ { -+ if (this->m_mode & std::ios_base::out){ -+ if (mp_high_water < base_t::pptr()){ -+ //Restore the vector's size if necessary -+ mp_high_water = base_t::pptr(); -+ } -+ //This shouldn't reallocate -+ typedef typename vector_type::size_type size_type; -+ char_type *old_ptr = base_t::pbase(); -+ size_type high_pos = size_type(mp_high_water-old_ptr); -+ if(m_vect.size() > high_pos){ -+ m_vect.resize(high_pos); -+ //But we must update end write pointer because vector size is now shorter -+ int old_pos = (int)(base_t::pptr() - base_t::pbase()); -+ const_cast(this)->base_t::setp(old_ptr, old_ptr + high_pos); -+ const_cast(this)->base_t::pbump(old_pos); -+ } -+ } -+ return m_vect; -+ } -+ -+ //!Preallocates memory from the internal vector. -+ //!Resets the stream to the first position. -+ //!Throws if the internals vector's memory allocation throws. -+ void reserve(typename vector_type::size_type size) -+ { -+ if (this->m_mode & std::ios_base::out && size > m_vect.size()){ -+ typename vector_type::difference_type write_pos = base_t::pptr() - base_t::pbase(); -+ typename vector_type::difference_type read_pos = base_t::gptr() - base_t::eback(); -+ //Now update pointer data -+ m_vect.reserve(size); -+ this->initialize_pointers(); -+ base_t::pbump((int)write_pos); -+ if(this->m_mode & std::ios_base::in){ -+ base_t::gbump((int)read_pos); -+ } -+ } -+ } -+ -+ //!Calls clear() method of the internal vector. -+ //!Resets the stream to the first position. -+ void clear() -+ { m_vect.clear(); this->initialize_pointers(); } -+ -+ #if !defined(BOOST_INTERPROCESS_DOXYGEN_INVOKED) -+ private: -+ //Maximizes high watermark to the initial vector size, -+ //initializes read and write iostream buffers to the capacity -+ //and resets stream positions -+ void initialize_pointers() -+ { -+ // The initial read position is the beginning of the vector. -+ if(!(m_mode & std::ios_base::out)){ -+ if(m_vect.empty()){ -+ this->setg(0, 0, 0); -+ } -+ else{ -+ this->setg(&m_vect[0], &m_vect[0], &m_vect[0] + m_vect.size()); -+ } -+ } -+ -+ // The initial write position is the beginning of the vector. -+ if(m_mode & std::ios_base::out){ -+ //First get real size -+ int real_size = (int)m_vect.size(); -+ //Then maximize size for high watermarking -+ m_vect.resize(m_vect.capacity()); -+ BOOST_ASSERT(m_vect.size() == m_vect.capacity()); -+ //Set high watermarking with the expanded size -+ mp_high_water = m_vect.size() ? (&m_vect[0] + real_size) : 0; -+ //Now set formatting pointers -+ if(m_vect.empty()){ -+ this->setp(0, 0); -+ if(m_mode & std::ios_base::in) -+ this->setg(0, 0, 0); -+ } -+ else{ -+ char_type *p = &m_vect[0]; -+ this->setp(p, p + m_vect.size()); -+ if(m_mode & std::ios_base::in) -+ this->setg(p, p, p + real_size); -+ } -+ if (m_mode & (std::ios_base::app | std::ios_base::ate)){ -+ base_t::pbump((int)real_size); -+ } -+ } -+ } -+ -+ protected: -+ virtual int_type underflow() BOOST_OVERRIDE -+ { -+ if (base_t::gptr() == 0) -+ return CharTraits::eof(); -+ if(m_mode & std::ios_base::out){ -+ if (mp_high_water < base_t::pptr()) -+ mp_high_water = base_t::pptr(); -+ if (base_t::egptr() < mp_high_water) -+ base_t::setg(base_t::eback(), base_t::gptr(), mp_high_water); -+ } -+ if (base_t::gptr() < base_t::egptr()) -+ return CharTraits::to_int_type(*base_t::gptr()); -+ return CharTraits::eof(); -+ } -+ -+ virtual int_type pbackfail(int_type c = CharTraits::eof()) BOOST_OVERRIDE -+ { -+ if(this->gptr() != this->eback()) { -+ if(!CharTraits::eq_int_type(c, CharTraits::eof())) { -+ if(CharTraits::eq(CharTraits::to_char_type(c), this->gptr()[-1])) { -+ this->gbump(-1); -+ return c; -+ } -+ else if(m_mode & std::ios_base::out) { -+ this->gbump(-1); -+ *this->gptr() = CharTraits::to_char_type(c); -+ return c; -+ } -+ else -+ return CharTraits::eof(); -+ } -+ else { -+ this->gbump(-1); -+ return CharTraits::not_eof(c); -+ } -+ } -+ else -+ return CharTraits::eof(); -+ } -+ -+ virtual int_type overflow(int_type c = CharTraits::eof()) BOOST_OVERRIDE -+ { -+ if(m_mode & std::ios_base::out) { -+ if(!CharTraits::eq_int_type(c, CharTraits::eof())) { -+ typedef typename vector_type::difference_type dif_t; -+ //The new output position is the previous one plus one -+ //because 'overflow' requires putting 'c' on the buffer -+ dif_t new_outpos = base_t::pptr() - base_t::pbase() + 1; -+ //Adjust high water if necessary -+ dif_t hipos = mp_high_water - base_t::pbase(); -+ if (hipos < new_outpos) -+ hipos = new_outpos; -+ //Insert the new data -+ m_vect.push_back(CharTraits::to_char_type(c)); -+ m_vect.resize(m_vect.capacity()); -+ BOOST_ASSERT(m_vect.size() == m_vect.capacity()); -+ char_type* p = const_cast(&m_vect[0]); -+ //A reallocation might have happened, update pointers -+ base_t::setp(p, p + (dif_t)m_vect.size()); -+ mp_high_water = p + hipos; -+ if (m_mode & std::ios_base::in) -+ base_t::setg(p, p + (base_t::gptr() - base_t::eback()), mp_high_water); -+ //Update write position to the old position + 1 -+ base_t::pbump((int)new_outpos); -+ return c; -+ } -+ else // c is EOF, so we don't have to do anything -+ return CharTraits::not_eof(c); -+ } -+ else // Overflow always fails if it's read-only. -+ return CharTraits::eof(); -+ } -+ -+ virtual pos_type seekoff(off_type off, std::ios_base::seekdir dir, -+ std::ios_base::openmode mode -+ = std::ios_base::in | std::ios_base::out) BOOST_OVERRIDE -+ { -+ //Get seek mode -+ bool in(0 != (mode & std::ios_base::in)), out(0 != (mode & std::ios_base::out)); -+ //Test for logic errors -+ if(!in & !out) -+ return pos_type(off_type(-1)); -+ else if((in && out) && (dir == std::ios_base::cur)) -+ return pos_type(off_type(-1)); -+ else if((in && (!(m_mode & std::ios_base::in) || (off != 0 && this->gptr() == 0) )) || -+ (out && (!(m_mode & std::ios_base::out) || (off != 0 && this->pptr() == 0)))) -+ return pos_type(off_type(-1)); -+ -+ off_type newoff; -+ //Just calculate the end of the stream. If the stream is read-only -+ //the limit is the size of the vector. Otherwise, the high water mark -+ //will mark the real size. -+ off_type limit; -+ if(m_mode & std::ios_base::out){ -+ //Update high water marking because pptr() is going to change and it might -+ //have been updated since last overflow() -+ if(mp_high_water < base_t::pptr()) -+ mp_high_water = base_t::pptr(); -+ //Update read limits in case high water mark was changed -+ if(m_mode & std::ios_base::in){ -+ if (base_t::egptr() < mp_high_water) -+ base_t::setg(base_t::eback(), base_t::gptr(), mp_high_water); -+ } -+ limit = static_cast(mp_high_water - base_t::pbase()); -+ } -+ else{ -+ limit = static_cast(m_vect.size()); -+ } -+ -+ switch(dir) { -+ case std::ios_base::beg: -+ newoff = 0; -+ break; -+ case std::ios_base::end: -+ newoff = limit; -+ break; -+ case std::ios_base::cur: -+ newoff = in ? static_cast(this->gptr() - this->eback()) -+ : static_cast(this->pptr() - this->pbase()); -+ break; -+ default: -+ return pos_type(off_type(-1)); -+ } -+ -+ newoff += off; -+ -+ if (newoff < 0 || newoff > limit) -+ return pos_type(-1); -+ if (m_mode & std::ios_base::app && mode & std::ios_base::out && newoff != limit) -+ return pos_type(-1); -+ //This can reassign pointers -+ //if(m_vect.size() != m_vect.capacity()) -+ //this->initialize_pointers(); -+ if (in) -+ base_t::setg(base_t::eback(), base_t::eback() + newoff, base_t::egptr()); -+ if (out){ -+ base_t::setp(base_t::pbase(), base_t::epptr()); -+ base_t::pbump(static_cast(newoff)); -+ } -+ return pos_type(newoff); -+ } -+ -+ virtual pos_type seekpos(pos_type pos, std::ios_base::openmode mode -+ = std::ios_base::in | std::ios_base::out) BOOST_OVERRIDE -+ { return seekoff(pos - pos_type(off_type(0)), std::ios_base::beg, mode); } -+ -+ private: -+ std::ios_base::openmode m_mode; -+ mutable vector_type m_vect; -+ mutable char_type* mp_high_water; -+ #endif //#ifndef BOOST_INTERPROCESS_DOXYGEN_INVOKED -+}; -+ -+//!A basic_istream class that holds a character vector specified by CharVector -+//!template parameter as its formatting buffer. The vector must have -+//!contiguous storage, like std::vector, boost::interprocess::vector or -+//!boost::interprocess::basic_string -+template -+class basic_ivectorstream -+ : public std::basic_istream -+ #if !defined(BOOST_INTERPROCESS_DOXYGEN_INVOKED) -+ , private basic_vectorbuf -+ #endif //#ifndef BOOST_INTERPROCESS_DOXYGEN_INVOKED -+{ -+ public: -+ typedef CharVector vector_type; -+ typedef typename std::basic_ios -+ ::char_type char_type; -+ typedef typename std::basic_ios::int_type int_type; -+ typedef typename std::basic_ios::pos_type pos_type; -+ typedef typename std::basic_ios::off_type off_type; -+ typedef typename std::basic_ios::traits_type traits_type; -+ -+ #if !defined(BOOST_INTERPROCESS_DOXYGEN_INVOKED) -+ private: -+ typedef basic_vectorbuf vectorbuf_t; -+ typedef std::basic_ios basic_ios_t; -+ typedef std::basic_istream base_t; -+ -+ vectorbuf_t & get_buf() { return *this; } -+ const vectorbuf_t & get_buf() const{ return *this; } -+ #endif //#ifndef BOOST_INTERPROCESS_DOXYGEN_INVOKED -+ -+ public: -+ -+ //!Constructor. Throws if vector_type default -+ //!constructor throws. -+ basic_ivectorstream(std::ios_base::openmode mode = std::ios_base::in) -+ : base_t(0) //Initializes first the base class to safely init the virtual basic_ios base -+ //(via basic_ios::init() call in base_t's constructor) without the risk of a -+ //previous throwing vectorbuf constructor. Set the streambuf after risk has gone. -+ , vectorbuf_t(mode | std::ios_base::in) -+ { this->base_t::rdbuf(&get_buf()); } -+ -+ //!Constructor. Throws if vector_type(const VectorParameter ¶m) -+ //!throws. -+ template -+ basic_ivectorstream(const VectorParameter ¶m, -+ std::ios_base::openmode mode = std::ios_base::in) -+ : vectorbuf_t(param, mode | std::ios_base::in) -+ //basic_ios_t() is constructed uninitialized as virtual base -+ //and initialized inside base_t calling basic_ios::init() -+ , base_t(&get_buf()) -+ {} -+ -+ public: -+ //!Returns the address of the stored -+ //!stream buffer. -+ basic_vectorbuf* rdbuf() const -+ { return const_cast*>(&get_buf()); } -+ -+ //!Swaps the underlying vector with the passed vector. -+ //!This function resets the read position in the stream. -+ //!Does not throw. -+ void swap_vector(vector_type &vect) -+ { get_buf().swap_vector(vect); } -+ -+ //!Returns a const reference to the internal vector. -+ //!Does not throw. -+ const vector_type &vector() const -+ { return get_buf().vector(); } -+ -+ //!Calls reserve() method of the internal vector. -+ //!Resets the stream to the first position. -+ //!Throws if the internals vector's reserve throws. -+ void reserve(typename vector_type::size_type size) -+ { get_buf().reserve(size); } -+ -+ //!Calls clear() method of the internal vector. -+ //!Resets the stream to the first position. -+ void clear() -+ { get_buf().clear(); } -+}; -+ -+//!A basic_ostream class that holds a character vector specified by CharVector -+//!template parameter as its formatting buffer. The vector must have -+//!contiguous storage, like std::vector, boost::interprocess::vector or -+//!boost::interprocess::basic_string -+template -+class basic_ovectorstream -+ : public std::basic_ostream -+ #if !defined(BOOST_INTERPROCESS_DOXYGEN_INVOKED) -+ , private basic_vectorbuf -+ #endif //#ifndef BOOST_INTERPROCESS_DOXYGEN_INVOKED -+{ -+ public: -+ typedef CharVector vector_type; -+ typedef typename std::basic_ios -+ ::char_type char_type; -+ typedef typename std::basic_ios::int_type int_type; -+ typedef typename std::basic_ios::pos_type pos_type; -+ typedef typename std::basic_ios::off_type off_type; -+ typedef typename std::basic_ios::traits_type traits_type; -+ -+ #if !defined(BOOST_INTERPROCESS_DOXYGEN_INVOKED) -+ private: -+ typedef basic_vectorbuf vectorbuf_t; -+ typedef std::basic_ios basic_ios_t; -+ typedef std::basic_ostream base_t; -+ -+ vectorbuf_t & get_buf() { return *this; } -+ const vectorbuf_t & get_buf()const { return *this; } -+ #endif //#ifndef BOOST_INTERPROCESS_DOXYGEN_INVOKED -+ -+ public: -+ //!Constructor. Throws if vector_type default -+ //!constructor throws. -+ basic_ovectorstream(std::ios_base::openmode mode = std::ios_base::out) -+ : base_t(0) //Initializes first the base class to safely init the virtual basic_ios base -+ //(via basic_ios::init() call in base_t's constructor) without the risk of a -+ //previous throwing vectorbuf constructor. Set the streambuf after risk has gone. -+ , vectorbuf_t(mode | std::ios_base::out) -+ { this->base_t::rdbuf(&get_buf()); } -+ -+ //!Constructor. Throws if vector_type(const VectorParameter ¶m) -+ //!throws. -+ template -+ basic_ovectorstream(const VectorParameter ¶m, -+ std::ios_base::openmode mode = std::ios_base::out) -+ : base_t(0) //Initializes first the base class to safely init the virtual basic_ios base -+ //(via basic_ios::init() call in base_t's constructor) without the risk of a -+ //previous throwing vectorbuf constructor. Set the streambuf after risk has gone. -+ , vectorbuf_t(param, mode | std::ios_base::out) -+ { this->base_t::rdbuf(&get_buf()); } -+ -+ public: -+ //!Returns the address of the stored -+ //!stream buffer. -+ basic_vectorbuf* rdbuf() const -+ { return const_cast*>(&get_buf()); } -+ -+ //!Swaps the underlying vector with the passed vector. -+ //!This function resets the write position in the stream. -+ //!Does not throw. -+ void swap_vector(vector_type &vect) -+ { get_buf().swap_vector(vect); } -+ -+ //!Returns a const reference to the internal vector. -+ //!Does not throw. -+ const vector_type &vector() const -+ { return get_buf().vector(); } -+ -+ //!Calls reserve() method of the internal vector. -+ //!Resets the stream to the first position. -+ //!Throws if the internals vector's reserve throws. -+ void reserve(typename vector_type::size_type size) -+ { get_buf().reserve(size); } -+}; -+ -+//!A basic_iostream class that holds a character vector specified by CharVector -+//!template parameter as its formatting buffer. The vector must have -+//!contiguous storage, like std::vector, boost::interprocess::vector or -+//!boost::interprocess::basic_string -+template -+class basic_vectorstream -+ : public std::basic_iostream -+ #if !defined(BOOST_INTERPROCESS_DOXYGEN_INVOKED) -+ , private basic_vectorbuf -+ #endif //#ifndef BOOST_INTERPROCESS_DOXYGEN_INVOKED -+{ -+ public: -+ typedef CharVector vector_type; -+ typedef typename std::basic_ios -+ ::char_type char_type; -+ typedef typename std::basic_ios::int_type int_type; -+ typedef typename std::basic_ios::pos_type pos_type; -+ typedef typename std::basic_ios::off_type off_type; -+ typedef typename std::basic_ios::traits_type traits_type; -+ -+ #if !defined(BOOST_INTERPROCESS_DOXYGEN_INVOKED) -+ private: -+ typedef basic_vectorbuf vectorbuf_t; -+ typedef std::basic_ios basic_ios_t; -+ typedef std::basic_iostream base_t; -+ -+ vectorbuf_t & get_buf() { return *this; } -+ const vectorbuf_t & get_buf() const{ return *this; } -+ #endif //#ifndef BOOST_INTERPROCESS_DOXYGEN_INVOKED -+ -+ public: -+ //!Constructor. Throws if vector_type default -+ //!constructor throws. -+ basic_vectorstream(std::ios_base::openmode mode -+ = std::ios_base::in | std::ios_base::out) -+ : base_t(0) //Initializes first the base class to safely init the virtual basic_ios base -+ //(via basic_ios::init() call in base_t's constructor) without the risk of a -+ //previous throwing vectorbuf constructor. Set the streambuf after risk has gone. -+ , vectorbuf_t(mode) -+ { this->base_t::rdbuf(&get_buf()); } -+ -+ //!Constructor. Throws if vector_type(const VectorParameter ¶m) -+ //!throws. -+ template -+ basic_vectorstream(const VectorParameter ¶m, std::ios_base::openmode mode -+ = std::ios_base::in | std::ios_base::out) -+ : base_t(0) //Initializes first the base class to safely init the virtual basic_ios base -+ //(via basic_ios::init() call in base_t's constructor) without the risk of a -+ //previous throwing vectorbuf constructor. Set the streambuf after risk has gone. -+ , vectorbuf_t(param, mode) -+ { this->base_t::rdbuf(&get_buf()); } -+ -+ public: -+ //Returns the address of the stored stream buffer. -+ basic_vectorbuf* rdbuf() const -+ { return const_cast*>(&get_buf()); } -+ -+ //!Swaps the underlying vector with the passed vector. -+ //!This function resets the read/write position in the stream. -+ //!Does not throw. -+ void swap_vector(vector_type &vect) -+ { get_buf().swap_vector(vect); } -+ -+ //!Returns a const reference to the internal vector. -+ //!Does not throw. -+ const vector_type &vector() const -+ { return get_buf().vector(); } -+ -+ //!Calls reserve() method of the internal vector. -+ //!Resets the stream to the first position. -+ //!Throws if the internals vector's reserve throws. -+ void reserve(typename vector_type::size_type size) -+ { get_buf().reserve(size); } -+ -+ //!Calls clear() method of the internal vector. -+ //!Resets the stream to the first position. -+ void clear() -+ { get_buf().clear(); } -+}; -+ -+//Some typedefs to simplify usage -+//! -+//!typedef basic_vectorbuf > vectorbuf; -+//!typedef basic_vectorstream > vectorstream; -+//!typedef basic_ivectorstream > ivectorstream; -+//!typedef basic_ovectorstream > ovectorstream; -+//! -+//!typedef basic_vectorbuf > wvectorbuf; -+//!typedef basic_vectorstream > wvectorstream; -+//!typedef basic_ivectorstream > wivectorstream; -+//!typedef basic_ovectorstream > wovectorstream; -+ -+}} //namespace boost { namespace interprocess { -+ -+#endif /* BOOST_INTERPROCESS_VECTORSTREAM_HPP */ -diff -up texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/libs/boost/LICENSE.txt.301 texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/libs/boost/LICENSE.txt ---- texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/libs/boost/LICENSE.txt.301 2023-01-17 15:53:51.698205242 -0500 -+++ texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/libs/boost/LICENSE.txt 2023-01-17 15:53:51.698205242 -0500 -@@ -0,0 +1,23 @@ -+Boost Software License - Version 1.0 - August 17th, 2003 -+ -+Permission is hereby granted, free of charge, to any person or organization -+obtaining a copy of the software and accompanying documentation covered by -+this license (the "Software") to use, reproduce, display, distribute, -+execute, and transmit the Software, and to prepare derivative works of the -+Software, and to permit third-parties to whom the Software is furnished to -+do so, all subject to the following: -+ -+The copyright notices in the Software and this entire statement, including -+the above license grant, this restriction and the following disclaimer, -+must be included in all copies of the Software, in whole or in part, and -+all derivative works of the Software, unless such copies or derivative -+works are solely in the form of machine-executable object code generated by -+a source language processor. -+ -+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, TITLE AND NON-INFRINGEMENT. IN NO EVENT -+SHALL THE COPYRIGHT HOLDERS OR ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE -+FOR ANY DAMAGES OR OTHER LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWISE, -+ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER -+DEALINGS IN THE SOFTWARE. -diff -up texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/libs/boost/Makefile.am.301 texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/libs/boost/Makefile.am ---- texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/libs/boost/Makefile.am.301 2023-01-17 15:53:51.698205242 -0500 -+++ texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/libs/boost/Makefile.am 2023-01-17 15:53:51.698205242 -0500 -@@ -0,0 +1,5 @@ -+noinst_HEADERS = \ -+ boost-vectorstream.hpp \ -+ vectorstream.hpp -+ -+EXTRA_DIST = LICENSE.txt -diff -up texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/libs/boost/Makefile.in.301 texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/libs/boost/Makefile.in ---- texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/libs/boost/Makefile.in.301 2023-01-17 15:53:51.698205242 -0500 -+++ texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/libs/boost/Makefile.in 2023-01-17 15:53:51.698205242 -0500 -@@ -0,0 +1,555 @@ -+# Makefile.in generated by automake 1.16.5 from Makefile.am. -+# @configure_input@ -+ -+# Copyright (C) 1994-2021 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 = dvisvgm-src/libs/boost -+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -+am__aclocal_m4_deps = $(top_srcdir)/../../m4/ax_cxx_compile_stdcxx.m4 \ -+ $(top_srcdir)/../../m4/kpse-common.m4 \ -+ $(top_srcdir)/../../m4/kpse-cxx-hack.m4 \ -+ $(top_srcdir)/../../m4/kpse-freetype2-flags.m4 \ -+ $(top_srcdir)/../../m4/kpse-kpathsea-flags.m4 \ -+ $(top_srcdir)/../../m4/kpse-warnings.m4 \ -+ $(top_srcdir)/../../m4/kpse-win32.m4 \ -+ $(top_srcdir)/../../m4/kpse-zlib-flags.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)/version.ac \ -+ $(top_srcdir)/configure.ac -+am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ -+ $(ACLOCAL_M4) -+DIST_COMMON = $(srcdir)/Makefile.am $(noinst_HEADERS) \ -+ $(am__DIST_COMMON) -+mkinstalldirs = $(install_sh) -d -+CONFIG_HEADER = $(top_builddir)/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 -+HEADERS = $(noinst_HEADERS) -+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)` -+am__DIST_COMMON = $(srcdir)/Makefile.in -+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) -+ACLOCAL = @ACLOCAL@ -+AMTAR = @AMTAR@ -+AM_CPPFLAGS = @AM_CPPFLAGS@ -+AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ -+AM_LDFLAGS = @AM_LDFLAGS@ -+AR = @AR@ -+AS = @AS@ -+AUTOCONF = @AUTOCONF@ -+AUTOHEADER = @AUTOHEADER@ -+AUTOMAKE = @AUTOMAKE@ -+AWK = @AWK@ -+BROTLI_CFLAGS = @BROTLI_CFLAGS@ -+BROTLI_LIBS = @BROTLI_LIBS@ -+CC = @CC@ -+CCDEPMODE = @CCDEPMODE@ -+CFLAGS = @CFLAGS@ -+CODE_COVERAGE_RULES = @CODE_COVERAGE_RULES@ -+CPP = @CPP@ -+CPPFLAGS = @CPPFLAGS@ -+CSCOPE = @CSCOPE@ -+CTAGS = @CTAGS@ -+CXX = @CXX@ -+CXXCPP = @CXXCPP@ -+CXXDEPMODE = @CXXDEPMODE@ -+CXXFLAGS = @CXXFLAGS@ -+CXXLD = @CXXLD@ -+CYGPATH_W = @CYGPATH_W@ -+DATE = @DATE@ -+DEFS = @DEFS@ -+DEPDIR = @DEPDIR@ -+DLLTOOL = @DLLTOOL@ -+DSYMUTIL = @DSYMUTIL@ -+DUMPBIN = @DUMPBIN@ -+DVISVGM_TREE = @DVISVGM_TREE@ -+ECHO_C = @ECHO_C@ -+ECHO_N = @ECHO_N@ -+ECHO_T = @ECHO_T@ -+EGREP = @EGREP@ -+ETAGS = @ETAGS@ -+EXEEXT = @EXEEXT@ -+FGREP = @FGREP@ -+FREETYPE2_DEPEND = @FREETYPE2_DEPEND@ -+FREETYPE2_INCLUDES = @FREETYPE2_INCLUDES@ -+FREETYPE2_LIBS = @FREETYPE2_LIBS@ -+FT2_CONFIG = @FT2_CONFIG@ -+GREP = @GREP@ -+HAVE_CXX11 = @HAVE_CXX11@ -+INSTALL = @INSTALL@ -+INSTALL_DATA = @INSTALL_DATA@ -+INSTALL_PROGRAM = @INSTALL_PROGRAM@ -+INSTALL_SCRIPT = @INSTALL_SCRIPT@ -+INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ -+KPATHSEA_DEPEND = @KPATHSEA_DEPEND@ -+KPATHSEA_INCLUDES = @KPATHSEA_INCLUDES@ -+KPATHSEA_LIBS = @KPATHSEA_LIBS@ -+LD = @LD@ -+LDFLAGS = @LDFLAGS@ -+LIBGS_INCLUDES = @LIBGS_INCLUDES@ -+LIBGS_LIBS = @LIBGS_LIBS@ -+LIBOBJS = @LIBOBJS@ -+LIBS = @LIBS@ -+LIBTOOL = @LIBTOOL@ -+LIPO = @LIPO@ -+LN_S = @LN_S@ -+LTLIBOBJS = @LTLIBOBJS@ -+LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@ -+MAINT = @MAINT@ -+MAKEINFO = @MAKEINFO@ -+MANIFEST_TOOL = @MANIFEST_TOOL@ -+MKDIR_P = @MKDIR_P@ -+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@ -+PKG_CONFIG = @PKG_CONFIG@ -+RANLIB = @RANLIB@ -+SED = @SED@ -+SET_MAKE = @SET_MAKE@ -+SHELL = @SHELL@ -+STRIP = @STRIP@ -+VERSION = @VERSION@ -+WARNING_CFLAGS = @WARNING_CFLAGS@ -+WARNING_CXXFLAGS = @WARNING_CXXFLAGS@ -+WOFF2_CFLAGS = @WOFF2_CFLAGS@ -+WOFF2_LIBS = @WOFF2_LIBS@ -+ZLIB_DEPEND = @ZLIB_DEPEND@ -+ZLIB_INCLUDES = @ZLIB_INCLUDES@ -+ZLIB_LIBS = @ZLIB_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@ -+dvisvgm_srcdir = @dvisvgm_srcdir@ -+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@ -+runstatedir = @runstatedir@ -+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@ -+noinst_HEADERS = \ -+ boost-vectorstream.hpp \ -+ vectorstream.hpp -+ -+EXTRA_DIST = LICENSE.txt -+all: all-am -+ -+.SUFFIXES: -+$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(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) --foreign dvisvgm-src/libs/boost/Makefile'; \ -+ $(am__cd) $(top_srcdir) && \ -+ $(AUTOMAKE) --foreign dvisvgm-src/libs/boost/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__maybe_remake_depfiles)'; \ -+ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \ -+ esac; -+ -+$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) -+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -+ -+$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps) -+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -+$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps) -+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -+$(am__aclocal_m4_deps): -+ -+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: $(BUILT_SOURCES) -+ $(MAKE) $(AM_MAKEFLAGS) distdir-am -+ -+distdir-am: $(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 $(HEADERS) -+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 mostlyclean-am -+ -+distclean: distclean-am -+ -rm -f Makefile -+distclean-am: clean-am 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 -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: -+ -+.MAKE: install-am install-strip -+ -+.PHONY: 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 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: -diff -up texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/libs/boost/vectorstream.hpp.301 texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/libs/boost/vectorstream.hpp ---- texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/libs/boost/vectorstream.hpp.301 2023-01-17 15:53:51.698205242 -0500 -+++ texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/libs/boost/vectorstream.hpp 2023-01-17 15:53:51.698205242 -0500 -@@ -0,0 +1,17 @@ -+#pragma once -+ -+#ifndef BOOST_OVERRIDE -+#define BOOST_OVERRIDE override -+#endif -+ -+#ifndef BOOST_ASSERT -+#define BOOST_ASSERT(expr) -+#endif -+ -+#include "boost-vectorstream.hpp" -+ -+template -+using ovectorstream = boost::interprocess::basic_ovectorstream>; -+ -+template -+using ivectorstream = boost::interprocess::basic_ivectorstream>; -diff -up texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/libs/Makefile.am.301 texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/libs/Makefile.am ---- texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/libs/Makefile.am.301 2022-01-21 12:25:16.000000000 -0500 -+++ texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/libs/Makefile.am 2023-01-17 15:53:51.698205242 -0500 -@@ -1,10 +1,10 @@ - ## This file is part of dvisvgm --## Copyright (C) 2005-2022 Martin Gieseking -+## Copyright (C) 2005-2023 Martin Gieseking - ## - ## Process this file with automake. - --SUBDIRS = clipper md5 potrace variant xxHash -+SUBDIRS = boost clipper md5 potrace variant xxHash - - if ENABLE_WOFF --SUBDIRS += brotli ff-woff woff2 -+SUBDIRS += brotli woff2 - endif -diff -up texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/libs/Makefile.in.301 texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/libs/Makefile.in ---- texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/libs/Makefile.in.301 2021-10-04 11:13:00.000000000 -0400 -+++ texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/libs/Makefile.in 2023-01-17 15:53:51.699205253 -0500 -@@ -87,7 +87,7 @@ PRE_UNINSTALL = : - POST_UNINSTALL = : - build_triplet = @build@ - host_triplet = @host@ --@ENABLE_WOFF_TRUE@am__append_1 = brotli ff-woff woff2 -+@ENABLE_WOFF_TRUE@am__append_1 = brotli woff2 - subdir = dvisvgm-src/libs - ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 - am__aclocal_m4_deps = $(top_srcdir)/../../m4/ax_cxx_compile_stdcxx.m4 \ -@@ -163,7 +163,7 @@ am__define_uniq_tagged_files = \ - unique=`for i in $$list; do \ - if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ - done | $(am__uniquify_input)` --DIST_SUBDIRS = clipper md5 potrace variant xxHash brotli ff-woff woff2 -+DIST_SUBDIRS = boost clipper md5 potrace variant xxHash brotli woff2 - am__DIST_COMMON = $(srcdir)/Makefile.in - DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) - am__relativize = \ -@@ -344,7 +344,7 @@ target_alias = @target_alias@ - top_build_prefix = @top_build_prefix@ - top_builddir = @top_builddir@ - top_srcdir = @top_srcdir@ --SUBDIRS = clipper md5 potrace variant xxHash $(am__append_1) -+SUBDIRS = boost clipper md5 potrace variant xxHash $(am__append_1) - all: all-recursive - - .SUFFIXES: -diff -up texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/Makefile.am.301 texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/Makefile.am ---- texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/Makefile.am.301 2022-01-21 12:25:16.000000000 -0500 -+++ texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/Makefile.am 2023-01-17 15:53:51.699205253 -0500 -@@ -1,11 +1,11 @@ - ## This file is part of dvisvgm --## Copyright (C) 2005-2022 Martin Gieseking -+## Copyright (C) 2005-2023 Martin Gieseking - ## - ## Process this file with automake. - - AUTOMAKE_OPTIONS = foreign - EXTRA_DIST = COPYING --SUBDIRS = libs src #not for TL: m4 tests doc -+SUBDIRS = libs src #not for TL: tests doc - ACLOCAL_AMFLAGS = -I m4 - - if USE_BUNDLED_LIBS -diff -up texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/Makefile.in.301 texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/Makefile.in ---- texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/Makefile.in.301 2022-03-21 11:11:58.000000000 -0400 -+++ texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/Makefile.in 2023-01-17 15:53:51.699205253 -0500 -@@ -346,7 +346,7 @@ top_builddir = @top_builddir@ - top_srcdir = @top_srcdir@ - AUTOMAKE_OPTIONS = foreign - EXTRA_DIST = COPYING --SUBDIRS = libs src #not for TL: m4 tests doc -+SUBDIRS = libs src #not for TL: tests doc - ACLOCAL_AMFLAGS = -I m4 - @USE_BUNDLED_LIBS_TRUE@AM_DISTCHECK_CONFIGURE_FLAGS = --enable-bundled-libs - @CODE_COVERAGE_ENABLED_TRUE@lcov_dir = $(top_builddir)/lcov -diff -up texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/AGLTable.hpp.301 texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/AGLTable.hpp ---- texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/AGLTable.hpp.301 2022-01-21 12:25:16.000000000 -0500 -+++ texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/AGLTable.hpp 2023-01-17 16:37:01.639082483 -0500 -@@ -2,7 +2,7 @@ - ** AGLTable.hpp ** - ** ** - ** This file is part of dvisvgm -- a fast DVI to SVG converter ** --** Copyright (C) 2005-2022 Martin Gieseking ** -+** Copyright (C) 2005-2023 Martin Gieseking ** - ** ** - ** This program is free software; you can redistribute it and/or ** - ** modify it under the terms of the GNU General Public License as ** -@@ -26,6 +26,7 @@ - * http://tug.ctan.org/macros/latex/contrib/pdfx/glyphtounicode-cmr.tex */ - - #include -+#include - - struct HashCodepointPair { - uint32_t hash; -diff -up texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/BasicDVIReader.cpp.301 texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/BasicDVIReader.cpp ---- texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/BasicDVIReader.cpp.301 2022-01-21 12:25:16.000000000 -0500 -+++ texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/BasicDVIReader.cpp 2023-01-17 15:53:51.699205253 -0500 -@@ -2,7 +2,7 @@ - ** BasicDVIReader.cpp ** - ** ** - ** This file is part of dvisvgm -- a fast DVI to SVG converter ** --** Copyright (C) 2005-2022 Martin Gieseking ** -+** Copyright (C) 2005-2023 Martin Gieseking ** - ** ** - ** This program is free software; you can redistribute it and/or ** - ** modify it under the terms of the GNU General Public License as ** -diff -up texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/BasicDVIReader.hpp.301 texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/BasicDVIReader.hpp ---- texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/BasicDVIReader.hpp.301 2022-01-21 12:25:16.000000000 -0500 -+++ texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/BasicDVIReader.hpp 2023-01-17 15:53:51.699205253 -0500 -@@ -2,7 +2,7 @@ - ** BasicDVIReader.hpp ** - ** ** - ** This file is part of dvisvgm -- a fast DVI to SVG converter ** --** Copyright (C) 2005-2022 Martin Gieseking ** -+** Copyright (C) 2005-2023 Martin Gieseking ** - ** ** - ** This program is free software; you can redistribute it and/or ** - ** modify it under the terms of the GNU General Public License as ** -diff -up texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/Bezier.cpp.301 texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/Bezier.cpp ---- texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/Bezier.cpp.301 2022-01-21 12:25:16.000000000 -0500 -+++ texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/Bezier.cpp 2023-01-17 15:53:51.699205253 -0500 -@@ -2,7 +2,7 @@ - ** Bezier.cpp ** - ** ** - ** This file is part of dvisvgm -- a fast DVI to SVG converter ** --** Copyright (C) 2005-2022 Martin Gieseking ** -+** Copyright (C) 2005-2023 Martin Gieseking ** - ** ** - ** This program is free software; you can redistribute it and/or ** - ** modify it under the terms of the GNU General Public License as ** -@@ -22,21 +22,58 @@ - #include - #include "Bezier.hpp" - #include "Matrix.hpp" -+#include "utility.hpp" - - using namespace std; - --Bezier::Bezier () { -- _points[0] = _points[1] = _points[2] = _points[3] = DPair(0); -+QuadBezier::QuadBezier () { -+ _points[0] = _points[1] = _points[2] = DPair(0, 0); - } - - --/** Creates a quadratic Bézier curve. internally, it's represented as a cubic one. */ --Bezier::Bezier (const DPair &p0, const DPair &p1, const DPair &p2) { -- setPoints(p0, p0+(p1-p0)*2.0/3.0, p2+(p1-p2)*2.0/3.0, p2); -+QuadBezier::QuadBezier (const DPair &p0, const DPair &p1, const DPair &p2) { -+ setPoints(p0, p1, p2); -+} -+ -+ -+void QuadBezier::setPoints(const DPair &p0, const DPair &p1, const DPair &p2) { -+ _points[0] = p0; -+ _points[1] = p1; -+ _points[2] = p2; -+} -+ -+ -+/** Returns the value (curve point) at t. */ -+DPair QuadBezier::valueAt (double t) const { -+ const double s = 1-t; -+ return _points[0]*s*s + _points[1]*2.0*s*t + _points[2]*t*t; -+} -+ -+ -+/** Returns the value of the first derivative of the curve at t. */ -+DPair QuadBezier::derivativeAt (double t) const { -+ return _points[0]*(2*t-2) + _points[1]*(2-4*t) + _points[2]*(2*t); -+} -+ -+ -+/** Returns the arc length of the curve from 0 to t. */ -+double QuadBezier::arclen (double t) const { -+ return math::integral(0, t, 20, [this](double t) -> double { -+ DPair deriv = derivativeAt(t); -+ return sqrt(deriv.x()*deriv.x() + deriv.y()*deriv.y()); -+ }); -+} -+ -+ -+//////////////////////////////////////////////////////////////////////////////// -+ -+ -+CubicBezier::CubicBezier () { -+ _points[0] = _points[1] = _points[2] = _points[3] = DPair(0, 0); - } - - --Bezier::Bezier (const DPair &p0, const DPair &p1, const DPair &p2, const DPair &p3) { -+CubicBezier::CubicBezier (const DPair &p0, const DPair &p1, const DPair &p2, const DPair &p3) { - setPoints(p0, p1, p2, p3); - } - -@@ -45,7 +82,7 @@ Bezier::Bezier (const DPair &p0, const D - * @param[in] source original curve to be clipped - * @param[in] t0 'time' parameter \f$\in[0,1]\f$ of source curve where the subcurve starts - * @param[in] t1 'time' parameter \f$\in[0,1]\f$ of source curve where the subcurve ends */ --Bezier::Bezier (const Bezier &source, double t0, double t1) { -+CubicBezier::CubicBezier (const CubicBezier &source, double t0, double t1) { - if (t0 == t1) - _points[0] = _points[1] = _points[2] = _points[3] = source.valueAt(t0); - else { -@@ -56,7 +93,7 @@ Bezier::Bezier (const Bezier &source, do - else if (t1 == 1) - source.subdivide(t0, nullptr, this); - else { -- Bezier subcurve; -+ CubicBezier subcurve; - source.subdivide(t0, nullptr, &subcurve); - subcurve.subdivide((t1-t0)/(1-t0), this, nullptr); - } -@@ -64,7 +101,16 @@ Bezier::Bezier (const Bezier &source, do - } - - --void Bezier::setPoints(const DPair &p0, const DPair &p1, const DPair &p2, const DPair &p3) { -+/** Creates a cubic Bézier from a quadratic one. */ -+CubicBezier::CubicBezier (const QuadBezier &qbezier) { -+ const DPair &p0 = qbezier.point(0); -+ const DPair &p1 = qbezier.point(1); -+ const DPair &p2 = qbezier.point(2); -+ setPoints(p0, p0+(p1-p0)*2.0/3.0, p2+(p1-p2)*2.0/3.0, p2); -+} -+ -+ -+void CubicBezier::setPoints(const DPair &p0, const DPair &p1, const DPair &p2, const DPair &p3) { - _points[0] = p0; - _points[1] = p1; - _points[2] = p2; -@@ -72,20 +118,20 @@ void Bezier::setPoints(const DPair &p0, - } - - --void Bezier::reverse() { -+void CubicBezier::reverse() { - swap(_points[0], _points[3]); - swap(_points[1], _points[2]); - } - - --DPair Bezier::valueAt (double t) const { -+DPair CubicBezier::valueAt (double t) const { - const double s = 1-t; - return _points[0]*s*s*s + _points[1]*3.0*s*s*t + _points[2]*3.0*s*t*t + _points[3]*t*t*t; - } - - - /** Returns a value of the Bézier curve's blossom representation. */ --DPair Bezier::blossomValue (double u, double v, double w) const { -+DPair CubicBezier::blossomValue (double u, double v, double w) const { - const double uv = u*v; - const double uw = u*w; - const double vw = v*w; -@@ -98,7 +144,7 @@ DPair Bezier::blossomValue (double u, do - - - /** Splits the curve at t into two sub-curves. */ --void Bezier::subdivide (double t, Bezier *bezier1, Bezier *bezier2) const { -+void CubicBezier::subdivide (double t, CubicBezier *bezier1, CubicBezier *bezier2) const { - const double s = 1-t; - DPair p01 = _points[0]*s + _points[1]*t; - DPair p12 = _points[1]*s + _points[2]*t; -@@ -121,7 +167,7 @@ void Bezier::subdivide (double t, Bezier - * @param[out] p the resulting sequence of points defining the start/end points of the line segments - * @param[out] t corresponding curve parameters of the approximated points p: \f$ b(t_i)=p_i \f$ - * @return number of points in vector p */ --int Bezier::approximate (double delta, std::vector &p, vector *t) const { -+int CubicBezier::approximate (double delta, std::vector &p, vector *t) const { - p.push_back(_points[0]); - if (t) - t->push_back(0); -@@ -129,7 +175,7 @@ int Bezier::approximate (double delta, s - } - - --int Bezier::approximate (double delta, double t0, double t1, vector &p, vector *t) const { -+int CubicBezier::approximate (double delta, double t0, double t1, vector &p, vector *t) const { - // compute distance of adjacent control points - const double l01 = (_points[1]-_points[0]).length(); - const double l12 = (_points[2]-_points[1]).length(); -@@ -142,13 +188,13 @@ int Bezier::approximate (double delta, d - } - else { - // subdivide curve at b(0.5) and approximate the resulting parts separately -- Bezier b1, b2; -+ CubicBezier b1, b2; - subdivide(0.5, &b1, &b2); - double tmid = (t0+t1)/2; - b1.approximate(delta, t0, tmid, p, t); - b2.approximate(delta, tmid, t1, p, t); - } -- return p.size(); -+ return static_cast(p.size()); - } - - -@@ -188,7 +234,7 @@ static inline bool near (const DPair &p1 - * @param[in] delta deviation tolerance - * @param[in] p control points of the reduced curve - * @return degree of the reduced curve */ --int Bezier::reduceDegree (double delta, vector &p) const { -+int CubicBezier::reduceDegree (double delta, vector &p) const { - p.clear(); - if (near(_points[0], _points[1], delta) && near(_points[0], _points[2], delta) && near(_points[0], _points[3], delta)) - p.push_back(_points[0]); -@@ -206,7 +252,89 @@ int Bezier::reduceDegree (double delta, - for (int i=0; i < 4; i++) - p[i] = _points[i]; - } -- return p.size()-1; -+ return static_cast(p.size()-1); -+} -+ -+ -+/** Approximates the cubic Bézier curve by a sequence of quadratic ones. -+ * @param[in] precision specifies the precision of the approximation -+ * @return map containing the split parameters t_n together with the qudratic curves */ -+vector CubicBezier::toQuadBeziers (double precision, vector *splitParams) const { -+ vector qbeziers; -+ toQuadBeziers(0, 1, precision, qbeziers, splitParams); -+ return qbeziers; -+} -+ -+ -+/** Returns the "mid-point approximation" of this cubic Bézier. */ -+QuadBezier CubicBezier::midpointApproximation () const { -+ DPair p0 = (_points[1]*3.0 - _points[0])/2.0; -+ DPair p1 = (_points[2]*3.0 - _points[3])/2.0; -+ return QuadBezier(_points[0], (p0+p1)/2.0, _points[3]); -+} -+ -+ -+/** Approximates a segment of a cubic Bézier curve by a sequence of quadratic curves. -+ * The quadratic segments are computed by adaptive subdivision of the cubic curve -+ * as described at http://www.caffeineowl.com/graphics/2d/vectorial/cubic2quad01.html -+ * @param[in] t0 curve parameter of the segment's start point -+ * @param[in] t1 curve parameter of the segment's end point -+ * @param[in] precision maximum allowed distance between the curve points b(t) and the -+ * corresponding approximated point c(t) on the quadratic curve -+ * @param[out] qbeziers the resulting quadratic curves sorted in ascending order by their split points -+ * @param[out] startParams the start parameters t[k] of the curves qbeziers[k] relative to *this. */ -+void CubicBezier::toQuadBeziers (double t0, double t1, double precision, vector &qbeziers, vector *startParams) const { -+ // If -p0+3p1-3p2+p3 = 0, the degree of the curve is <= 2 and it's not necessary do any approximation. -+ // In this case, the control point of the quadratic Bézier curve is (-p0+3p1)/2 = (3p2-p3)/2. -+ // Otherwise, the distance d between q1:=(-p0+3p1)/2 and q2:=(3p2-p3)/2 is != 0. -+ // Now we compute the quadratic Bézier with start point p0, end point p3, and control point (q1+q2)/2, -+ // the "mid-point approximation" (MPA) of b. -+ // The maximal distance between the points of the original curve b and the corresponding ones -+ // on the MPA is d*sqrt(3)/18. The same computations can be done for the cubic curves we get -+ // when subdividing b at a parameter t. The maximal distance of these curves to their MPA -+ // is t^3*d*sqrt(3)/18. -+ // Based on the formula for this distance we compute the split point tmax for a given precision -+ // and check 3 cases: -+ // * tmax >= 1: curve is quadratic, return MPA of b -+ // * tmax >= 0.5: split b at t=0.5, return the MPAs of both segments -+ // * tmax < 0.5: split b at tmax and 1-tmax, return the MPAs of the first and third segment, -+ // recurse the algorithm for the middle segment -+ DPair q1 = (_points[1]*3.0 - _points[0])/2.0; -+ DPair q2 = (_points[2]*3.0 - _points[3])/2.0; -+ double dist = (q2-q1).length(); -+ double tmax3 = 18.0/sqrt(3.0)*precision/dist; // the cube of tmax -+ if (tmax3 >= 1.0) { -+ // curve is already quadratic, no subdivision necessary, return MPA -+ qbeziers.emplace_back(QuadBezier(_points[0], (q1+q2)/2.0, _points[3])); -+ if (startParams) -+ startParams->push_back(t0); -+ } -+ else if (tmax3 >= 0.125) { // tmax >= 0.5 -+ // split the curve at t=0.5 and compute the MPA for both segments -+ CubicBezier cbezier1, cbezier2; -+ subdivide(0.5, &cbezier1, &cbezier2); -+ qbeziers.emplace_back(cbezier1.midpointApproximation()); -+ qbeziers.emplace_back(cbezier2.midpointApproximation()); -+ if (startParams) { -+ startParams->push_back(t0); -+ startParams->push_back((t0+t1)/2); -+ } -+ } -+ else { // tmax < 0.5 -+ double tmax = cbrt(tmax3); -+ double smax = 1.0-tmax; -+ double dt = t1-t0; -+ // first segment can be approximated by its MPA -+ qbeziers.emplace_back(CubicBezier(*this, 0, tmax).midpointApproximation()); -+ if (startParams) -+ startParams->push_back(t0); -+ // recurse for middle segment -+ CubicBezier(*this, tmax, smax).toQuadBeziers(t0+tmax*dt, t0+smax*dt, precision, qbeziers, startParams); -+ // third segment can be approximated by its MPA -+ qbeziers.emplace_back(CubicBezier(*this, smax, 1).midpointApproximation()); -+ if (startParams) -+ startParams->push_back(smax); -+ } - } - - -@@ -231,7 +359,7 @@ static bool solve_quadratic_equation (do - - - /** Returns a tight bounding box parallel to the x- and y-axis. */ --BoundingBox Bezier::getBBox () const { -+BoundingBox CubicBezier::getBBox () const { - BoundingBox bbox; - // coefficients of the derivative - DPair pa = _points[3] - _points[2]*3.0 + _points[1]*3.0 - _points[0]; -@@ -258,8 +386,9 @@ BoundingBox Bezier::getBBox () const { - } - - --Bezier& Bezier::transform (const Matrix &matrix) { -- for (int i=0; i < 4; i++) -- _points[i] = matrix*_points[i]; -+CubicBezier& CubicBezier::transform (const Matrix &matrix) { -+ for (auto &point : _points) -+ point = matrix * point; - return *this; - } -+ -diff -up texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/Bezier.hpp.301 texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/Bezier.hpp ---- texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/Bezier.hpp.301 2022-01-21 12:25:16.000000000 -0500 -+++ texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/Bezier.hpp 2023-01-17 15:53:51.699205253 -0500 -@@ -2,7 +2,7 @@ - ** Bezier.hpp ** - ** ** - ** This file is part of dvisvgm -- a fast DVI to SVG converter ** --** Copyright (C) 2005-2022 Martin Gieseking ** -+** Copyright (C) 2005-2023 Martin Gieseking ** - ** ** - ** This program is free software; you can redistribute it and/or ** - ** modify it under the terms of the GNU General Public License as ** -@@ -27,25 +27,45 @@ - - class Matrix; - --class Bezier { -+class QuadBezier { - public: -- Bezier (); -- Bezier (const DPair &p0, const DPair &p1, const DPair &p2); -- Bezier (const DPair &p0, const DPair &p1, const DPair &p2, const DPair &p3); -- Bezier (const Bezier &source, double t0, double t1); -+ QuadBezier (); -+ QuadBezier (const DPair &p0, const DPair &p1, const DPair &p2); -+ void setPoints (const DPair &p0, const DPair &p1, const DPair &p2); -+ constexpr const DPair& point (int i) const {return _points[i];} -+ DPair valueAt (double t) const; -+ DPair derivativeAt (double t) const; -+ double arclen (double t=1.0) const; -+ -+ private: -+ DPair _points[3]; -+}; -+ -+ -+class CubicBezier { -+ public: -+ CubicBezier (); -+ //CubicBezier (const DPair &p0, const DPair &p1, const DPair &p2); -+ CubicBezier (const DPair &p0, const DPair &p1, const DPair &p2, const DPair &p3); -+ CubicBezier (double x0, double y0, double x1, double y1, double x2, double y2, double x3, double y3); -+ CubicBezier (const CubicBezier &source, double t0, double t1); -+ explicit CubicBezier (const QuadBezier &qbezier); - void setPoints (const DPair &p0, const DPair &p1, const DPair &p2, const DPair &p3); - void reverse (); - DPair valueAt (double t) const; - DPair blossomValue (double u, double v, double w) const; -- void subdivide (double t, Bezier *bezier1, Bezier *bezier2) const; -- Bezier& transform (const Matrix &matrix); -+ void subdivide (double t, CubicBezier *bezier1, CubicBezier *bezier2) const; -+ CubicBezier& transform (const Matrix &matrix); - int approximate (double delta, std::vector &p, std::vector *t=nullptr) const; -- const DPair& point (int i) const {return _points[i];} -+ constexpr const DPair& point (int i) const {return _points[i];} - int reduceDegree (double delta, std::vector &p) const; -+ std::vector toQuadBeziers (double delta, std::vector *startParams=nullptr) const; - BoundingBox getBBox () const; - - protected: - int approximate (double delta, double t0, double t1, std::vector &p, std::vector *t) const; -+ void toQuadBeziers (double t0, double t1, double precision, std::vector &qbeziers, std::vector *startParams) const; -+ QuadBezier midpointApproximation () const; - - private: - DPair _points[4]; -diff -up texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/BgColorSpecialHandler.cpp.301 texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/BgColorSpecialHandler.cpp ---- texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/BgColorSpecialHandler.cpp.301 2022-01-21 12:25:16.000000000 -0500 -+++ texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/BgColorSpecialHandler.cpp 2023-01-17 15:53:51.699205253 -0500 -@@ -2,7 +2,7 @@ - ** BgColorSpecialHandler.cpp ** - ** ** - ** This file is part of dvisvgm -- a fast DVI to SVG converter ** --** Copyright (C) 2005-2022 Martin Gieseking ** -+** Copyright (C) 2005-2023 Martin Gieseking ** - ** ** - ** This program is free software; you can redistribute it and/or ** - ** modify it under the terms of the GNU General Public License as ** -diff -up texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/BgColorSpecialHandler.hpp.301 texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/BgColorSpecialHandler.hpp ---- texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/BgColorSpecialHandler.hpp.301 2022-01-21 12:25:16.000000000 -0500 -+++ texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/BgColorSpecialHandler.hpp 2023-01-17 15:53:51.700205265 -0500 -@@ -2,7 +2,7 @@ - ** BgColorSpecialHandler.hpp ** - ** ** - ** This file is part of dvisvgm -- a fast DVI to SVG converter ** --** Copyright (C) 2005-2022 Martin Gieseking ** -+** Copyright (C) 2005-2023 Martin Gieseking ** - ** ** - ** This program is free software; you can redistribute it and/or ** - ** modify it under the terms of the GNU General Public License as ** -diff -up texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/Bitmap.cpp.301 texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/Bitmap.cpp ---- texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/Bitmap.cpp.301 2022-01-21 12:25:16.000000000 -0500 -+++ texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/Bitmap.cpp 2023-01-17 15:53:51.700205265 -0500 -@@ -2,7 +2,7 @@ - ** Bitmap.cpp ** - ** ** - ** This file is part of dvisvgm -- a fast DVI to SVG converter ** --** Copyright (C) 2005-2022 Martin Gieseking ** -+** Copyright (C) 2005-2023 Martin Gieseking ** - ** ** - ** This program is free software; you can redistribute it and/or ** - ** modify it under the terms of the GNU General Public License as ** -diff -up texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/Bitmap.hpp.301 texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/Bitmap.hpp ---- texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/Bitmap.hpp.301 2022-01-21 12:25:16.000000000 -0500 -+++ texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/Bitmap.hpp 2023-01-17 16:32:18.684782410 -0500 -@@ -2,7 +2,7 @@ - ** Bitmap.hpp ** - ** ** - ** This file is part of dvisvgm -- a fast DVI to SVG converter ** --** Copyright (C) 2005-2022 Martin Gieseking ** -+** Copyright (C) 2005-2023 Martin Gieseking ** - ** ** - ** This program is free software; you can redistribute it and/or ** - ** modify it under the terms of the GNU General Public License as ** -@@ -23,6 +23,7 @@ - - #include - #include -+#include - - - class Bitmap { -diff -up texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/BoundingBox.cpp.301 texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/BoundingBox.cpp ---- texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/BoundingBox.cpp.301 2022-02-28 17:04:29.000000000 -0500 -+++ texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/BoundingBox.cpp 2023-01-17 15:53:51.700205265 -0500 -@@ -2,7 +2,7 @@ - ** BoundingBox.cpp ** - ** ** - ** This file is part of dvisvgm -- a fast DVI to SVG converter ** --** Copyright (C) 2005-2022 Martin Gieseking ** -+** Copyright (C) 2005-2023 Martin Gieseking ** - ** ** - ** This program is free software; you can redistribute it and/or ** - ** modify it under the terms of the GNU General Public License as ** -diff -up texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/BoundingBox.hpp.301 texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/BoundingBox.hpp ---- texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/BoundingBox.hpp.301 2022-02-28 17:04:29.000000000 -0500 -+++ texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/BoundingBox.hpp 2023-01-17 15:53:51.700205265 -0500 -@@ -2,7 +2,7 @@ - ** BoundingBox.hpp ** - ** ** - ** This file is part of dvisvgm -- a fast DVI to SVG converter ** --** Copyright (C) 2005-2022 Martin Gieseking ** -+** Copyright (C) 2005-2023 Martin Gieseking ** - ** ** - ** This program is free software; you can redistribute it and/or ** - ** modify it under the terms of the GNU General Public License as ** -diff -up texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/Calculator.cpp.301 texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/Calculator.cpp ---- texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/Calculator.cpp.301 2022-01-21 12:25:16.000000000 -0500 -+++ texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/Calculator.cpp 2023-01-17 15:53:51.700205265 -0500 -@@ -2,7 +2,7 @@ - ** Calculator.cpp ** - ** ** - ** This file is part of dvisvgm -- a fast DVI to SVG converter ** --** Copyright (C) 2005-2022 Martin Gieseking ** -+** Copyright (C) 2005-2023 Martin Gieseking ** - ** ** - ** This program is free software; you can redistribute it and/or ** - ** modify it under the terms of the GNU General Public License as ** -diff -up texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/Calculator.hpp.301 texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/Calculator.hpp ---- texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/Calculator.hpp.301 2022-01-21 12:25:16.000000000 -0500 -+++ texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/Calculator.hpp 2023-01-17 15:53:51.700205265 -0500 -@@ -2,7 +2,7 @@ - ** Calculator.hpp ** - ** ** - ** This file is part of dvisvgm -- a fast DVI to SVG converter ** --** Copyright (C) 2005-2022 Martin Gieseking ** -+** Copyright (C) 2005-2023 Martin Gieseking ** - ** ** - ** This program is free software; you can redistribute it and/or ** - ** modify it under the terms of the GNU General Public License as ** -diff -up texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/Character.hpp.301 texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/Character.hpp ---- texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/Character.hpp.301 2022-01-21 12:25:16.000000000 -0500 -+++ texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/Character.hpp 2023-01-17 16:37:44.642584029 -0500 -@@ -2,7 +2,7 @@ - ** Character.hpp ** - ** ** - ** This file is part of dvisvgm -- a fast DVI to SVG converter ** --** Copyright (C) 2005-2022 Martin Gieseking ** -+** Copyright (C) 2005-2023 Martin Gieseking ** - ** ** - ** This program is free software; you can redistribute it and/or ** - ** modify it under the terms of the GNU General Public License as ** -@@ -21,6 +21,7 @@ - #ifndef CHARACTER_HPP - #define CHARACTER_HPP - -+#include - - class Character { - public: -diff -up texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/CharMapID.cpp.301 texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/CharMapID.cpp ---- texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/CharMapID.cpp.301 2022-01-21 12:25:16.000000000 -0500 -+++ texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/CharMapID.cpp 2023-01-17 15:53:51.700205265 -0500 -@@ -2,7 +2,7 @@ - ** CharMapID.cpp ** - ** ** - ** This file is part of dvisvgm -- a fast DVI to SVG converter ** --** Copyright (C) 2005-2022 Martin Gieseking ** -+** Copyright (C) 2005-2023 Martin Gieseking ** - ** ** - ** This program is free software; you can redistribute it and/or ** - ** modify it under the terms of the GNU General Public License as ** -diff -up texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/CharMapID.hpp.301 texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/CharMapID.hpp ---- texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/CharMapID.hpp.301 2022-01-21 12:25:16.000000000 -0500 -+++ texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/CharMapID.hpp 2023-01-17 15:53:51.700205265 -0500 -@@ -2,7 +2,7 @@ - ** CharMapID.hpp ** - ** ** - ** This file is part of dvisvgm -- a fast DVI to SVG converter ** --** Copyright (C) 2005-2022 Martin Gieseking ** -+** Copyright (C) 2005-2023 Martin Gieseking ** - ** ** - ** This program is free software; you can redistribute it and/or ** - ** modify it under the terms of the GNU General Public License as ** -diff -up texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/CLCommandLine.cpp.301 texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/CLCommandLine.cpp ---- texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/CLCommandLine.cpp.301 2022-01-21 12:25:16.000000000 -0500 -+++ texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/CLCommandLine.cpp 2023-01-17 15:53:51.700205265 -0500 -@@ -2,7 +2,7 @@ - ** CLCommandLine.cpp ** - ** ** - ** This file is part of dvisvgm -- a fast DVI to SVG converter ** --** Copyright (C) 2005-2022 Martin Gieseking ** -+** Copyright (C) 2005-2023 Martin Gieseking ** - ** ** - ** This program is free software; you can redistribute it and/or ** - ** modify it under the terms of the GNU General Public License as ** -@@ -154,7 +154,7 @@ void CommandLine::parseLongOption (istre - /** Returns all options that match the given long name. */ - vector CommandLine::lookupOption (const string &optname) const { - vector matches; -- int len = optname.length(); -+ auto len = optname.length(); - for (OptSectPair optsect : options()) { - if (optsect.first->longName() == optname) { // exact match? - matches.clear(); -@@ -187,7 +187,7 @@ void CommandLine::help (ostream &os, int - string usage = _usage; - int count=0; - while (!usage.empty()) { -- size_t pos = usage.find('\n'); -+ auto pos = usage.find('\n'); - os << (count++ == 0 ? "Usage: " : " ") << PROGRAM_NAME << ' ' << usage.substr(0, pos) << '\n'; - if (pos != string::npos) - usage = usage.substr(pos+1); -@@ -201,7 +201,7 @@ void CommandLine::help (ostream &os, int - unordered_map> linecols; - size_t col1width=0; - for (const OptSectPair &ospair : options()) { -- size_t pos; -+ string::size_type pos; - string line = ospair.first->helpline(); - if ((pos = line.find('\t')) != string::npos) { - linecols.emplace(ospair.first, pair(line.substr(0, pos), line.substr(pos+1))); -diff -up texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/CLCommandLine.hpp.301 texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/CLCommandLine.hpp ---- texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/CLCommandLine.hpp.301 2022-01-21 12:25:16.000000000 -0500 -+++ texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/CLCommandLine.hpp 2023-01-17 15:53:51.700205265 -0500 -@@ -2,7 +2,7 @@ - ** CLCommandLine.hpp ** - ** ** - ** This file is part of dvisvgm -- a fast DVI to SVG converter ** --** Copyright (C) 2005-2022 Martin Gieseking ** -+** Copyright (C) 2005-2023 Martin Gieseking ** - ** ** - ** This program is free software; you can redistribute it and/or ** - ** modify it under the terms of the GNU General Public License as ** -diff -up texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/CLOption.hpp.301 texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/CLOption.hpp ---- texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/CLOption.hpp.301 2022-01-21 12:25:16.000000000 -0500 -+++ texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/CLOption.hpp 2023-01-17 15:53:51.700205265 -0500 -@@ -2,7 +2,7 @@ - ** CLOption.hpp ** - ** ** - ** This file is part of dvisvgm -- a fast DVI to SVG converter ** --** Copyright (C) 2005-2022 Martin Gieseking ** -+** Copyright (C) 2005-2023 Martin Gieseking ** - ** ** - ** This program is free software; you can redistribute it and/or ** - ** modify it under the terms of the GNU General Public License as ** -diff -up texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/CMap.cpp.301 texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/CMap.cpp ---- texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/CMap.cpp.301 2022-01-21 12:25:16.000000000 -0500 -+++ texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/CMap.cpp 2023-01-17 15:53:51.700205265 -0500 -@@ -2,7 +2,7 @@ - ** CMap.cpp ** - ** ** - ** This file is part of dvisvgm -- a fast DVI to SVG converter ** --** Copyright (C) 2005-2022 Martin Gieseking ** -+** Copyright (C) 2005-2023 Martin Gieseking ** - ** ** - ** This program is free software; you can redistribute it and/or ** - ** modify it under the terms of the GNU General Public License as ** -@@ -66,7 +66,7 @@ string SegmentedCMap::getROString() cons - bool SegmentedCMap::mapsToUnicode () const { - vector encstrings = {"UTF8", "UTF16", "UCS2", "UCS4", "UCS32"}; - for (const string &encstr : encstrings) { -- size_t pos = _filename.find(encstr); -+ auto pos = _filename.find(encstr); - if (pos != string::npos && (pos == 0 || _filename[pos-1] == '-')) - return true; - } -diff -up texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/CMap.hpp.301 texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/CMap.hpp ---- texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/CMap.hpp.301 2022-01-21 12:25:16.000000000 -0500 -+++ texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/CMap.hpp 2023-01-17 16:38:02.135788051 -0500 -@@ -2,7 +2,7 @@ - ** CMap.hpp ** - ** ** - ** This file is part of dvisvgm -- a fast DVI to SVG converter ** --** Copyright (C) 2005-2022 Martin Gieseking ** -+** Copyright (C) 2005-2023 Martin Gieseking ** - ** ** - ** This program is free software; you can redistribute it and/or ** - ** modify it under the terms of the GNU General Public License as ** -@@ -22,6 +22,7 @@ - #define CMAP_HPP - - #include -+#include - #include - #include - #include "FontEncoding.hpp" -diff -up texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/CMapManager.cpp.301 texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/CMapManager.cpp ---- texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/CMapManager.cpp.301 2022-01-21 12:25:16.000000000 -0500 -+++ texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/CMapManager.cpp 2023-01-17 15:53:51.701205277 -0500 -@@ -2,7 +2,7 @@ - ** CMapManager.cpp ** - ** ** - ** This file is part of dvisvgm -- a fast DVI to SVG converter ** --** Copyright (C) 2005-2022 Martin Gieseking ** -+** Copyright (C) 2005-2023 Martin Gieseking ** - ** ** - ** This program is free software; you can redistribute it and/or ** - ** modify it under the terms of the GNU General Public License as ** -diff -up texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/CMapManager.hpp.301 texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/CMapManager.hpp ---- texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/CMapManager.hpp.301 2022-01-21 12:25:16.000000000 -0500 -+++ texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/CMapManager.hpp 2023-01-17 15:53:51.701205277 -0500 -@@ -2,7 +2,7 @@ - ** CMapManager.hpp ** - ** ** - ** This file is part of dvisvgm -- a fast DVI to SVG converter ** --** Copyright (C) 2005-2022 Martin Gieseking ** -+** Copyright (C) 2005-2023 Martin Gieseking ** - ** ** - ** This program is free software; you can redistribute it and/or ** - ** modify it under the terms of the GNU General Public License as ** -diff -up texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/CMapReader.cpp.301 texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/CMapReader.cpp ---- texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/CMapReader.cpp.301 2022-01-21 12:25:16.000000000 -0500 -+++ texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/CMapReader.cpp 2023-01-17 16:38:29.444106546 -0500 -@@ -2,7 +2,7 @@ - ** CMapReader.cpp ** - ** ** - ** This file is part of dvisvgm -- a fast DVI to SVG converter ** --** Copyright (C) 2005-2022 Martin Gieseking ** -+** Copyright (C) 2005-2023 Martin Gieseking ** - ** ** - ** This program is free software; you can redistribute it and/or ** - ** modify it under the terms of the GNU General Public License as ** -@@ -20,6 +20,7 @@ - - #include - #include -+#include - #include - #include - #include "CMap.hpp" -diff -up texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/CMapReader.hpp.301 texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/CMapReader.hpp ---- texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/CMapReader.hpp.301 2022-01-21 12:25:16.000000000 -0500 -+++ texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/CMapReader.hpp 2023-01-17 15:53:51.701205277 -0500 -@@ -2,7 +2,7 @@ - ** CMapReader.hpp ** - ** ** - ** This file is part of dvisvgm -- a fast DVI to SVG converter ** --** Copyright (C) 2005-2022 Martin Gieseking ** -+** Copyright (C) 2005-2023 Martin Gieseking ** - ** ** - ** This program is free software; you can redistribute it and/or ** - ** modify it under the terms of the GNU General Public License as ** -diff -up texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/Color.cpp.301 texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/Color.cpp ---- texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/Color.cpp.301 2022-01-21 12:25:16.000000000 -0500 -+++ texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/Color.cpp 2023-01-17 15:53:51.701205277 -0500 -@@ -2,7 +2,7 @@ - ** Color.cpp ** - ** ** - ** This file is part of dvisvgm -- a fast DVI to SVG converter ** --** Copyright (C) 2005-2022 Martin Gieseking ** -+** Copyright (C) 2005-2023 Martin Gieseking ** - ** ** - ** This program is free software; you can redistribute it and/or ** - ** modify it under the terms of the GNU General Public License as ** -diff -up texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/Color.hpp.301 texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/Color.hpp ---- texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/Color.hpp.301 2022-01-21 12:25:16.000000000 -0500 -+++ texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/Color.hpp 2023-01-17 16:34:06.270037168 -0500 -@@ -2,7 +2,7 @@ - ** Color.hpp ** - ** ** - ** This file is part of dvisvgm -- a fast DVI to SVG converter ** --** Copyright (C) 2005-2022 Martin Gieseking ** -+** Copyright (C) 2005-2023 Martin Gieseking ** - ** ** - ** This program is free software; you can redistribute it and/or ** - ** modify it under the terms of the GNU General Public License as ** -@@ -24,6 +24,7 @@ - #include - #include - #include -+#include - #include "VectorIterator.hpp" - - #ifdef TRANSPARENT -diff -up texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/ColorSpecialHandler.cpp.301 texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/ColorSpecialHandler.cpp ---- texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/ColorSpecialHandler.cpp.301 2022-01-21 12:25:16.000000000 -0500 -+++ texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/ColorSpecialHandler.cpp 2023-01-17 15:53:51.701205277 -0500 -@@ -2,7 +2,7 @@ - ** ColorSpecialHandler.cpp ** - ** ** - ** This file is part of dvisvgm -- a fast DVI to SVG converter ** --** Copyright (C) 2005-2022 Martin Gieseking ** -+** Copyright (C) 2005-2023 Martin Gieseking ** - ** ** - ** This program is free software; you can redistribute it and/or ** - ** modify it under the terms of the GNU General Public License as ** -diff -up texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/ColorSpecialHandler.hpp.301 texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/ColorSpecialHandler.hpp ---- texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/ColorSpecialHandler.hpp.301 2022-01-21 12:25:16.000000000 -0500 -+++ texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/ColorSpecialHandler.hpp 2023-01-17 15:53:51.701205277 -0500 -@@ -2,7 +2,7 @@ - ** ColorSpecialHandler.hpp ** - ** ** - ** This file is part of dvisvgm -- a fast DVI to SVG converter ** --** Copyright (C) 2005-2022 Martin Gieseking ** -+** Copyright (C) 2005-2023 Martin Gieseking ** - ** ** - ** This program is free software; you can redistribute it and/or ** - ** modify it under the terms of the GNU General Public License as ** -diff -up texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/CommandLine.hpp.301 texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/CommandLine.hpp ---- texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/CommandLine.hpp.301 2022-01-21 12:25:16.000000000 -0500 -+++ texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/CommandLine.hpp 2023-01-17 15:53:51.701205277 -0500 -@@ -2,7 +2,7 @@ - // It is part of the dvisvgm package and published under the terms - // of the GNU General Public License version 3, or (at your option) any later version. - // See file COPYING for further details. --// Copyright (C) 2016-2022 Martin Gieseking -+// Copyright (C) 2016-2023 Martin Gieseking - - #ifndef COMMANDLINE_HPP - #define COMMANDLINE_HPP -@@ -20,7 +20,7 @@ class CommandLine : public CL::CommandLi - CommandLine () : CL::CommandLine( - "This program converts DVI files, as created by TeX/LaTeX, as well as\nEPS and PDF files to the XML-based scalable vector graphics format SVG.", - "[options] dvifile\n--eps [options] epsfile\n--pdf [options] pdffile", -- "Copyright (C) 2005-2022 Martin Gieseking " -+ "Copyright (C) 2005-2023 Martin Gieseking " - ) {} - - CommandLine (int argc, char **argv) : CommandLine() { -@@ -35,6 +35,8 @@ class CommandLine : public CL::CommandLi - Option colorOpt {"color", '\0', "colorize messages"}; - Option colornamesOpt {"colornames", '\0', "prefer color names to RGB values if possible"}; - Option commentsOpt {"comments", '\0', "add comments with additional information"}; -+ Option debugGlyphsOpt {"debug-glyphs", '\0', "create PS files for all glyphs converted to TTF"}; -+ Option embedBitmapsOpt {"embed-bitmaps", '\0', "prevent references to external bitmap files"}; - Option epsOpt {"eps", 'E', "convert EPS file to SVG"}; - Option exactBboxOpt {"exact-bbox", 'e', "compute exact glyph bounding boxes"}; - TypedOption fontFormatOpt {"font-format", 'f', "format", "svg", "set file format of embedded fonts"}; -@@ -106,6 +108,7 @@ class CommandLine : public CL::CommandLi - #endif - {&colornamesOpt, 1}, - {&commentsOpt, 1}, -+ {&embedBitmapsOpt, 1}, - #if !defined(DISABLE_WOFF) - {&fontFormatOpt, 1}, - #endif -@@ -135,6 +138,9 @@ class CommandLine : public CL::CommandLi - {&transformOpt, 2}, - {&zoomOpt, 2}, - {&cacheOpt, 3}, -+#if defined(TTFDEBUG) -+ {&debugGlyphsOpt, 3}, -+#endif - {&exactBboxOpt, 3}, - {&keepOpt, 3}, - #if !defined(HAVE_LIBGS) && !defined(DISABLE_GS) -diff -up texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/Directory.cpp.301 texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/Directory.cpp ---- texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/Directory.cpp.301 2022-01-21 12:25:16.000000000 -0500 -+++ texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/Directory.cpp 2023-01-17 15:53:51.701205277 -0500 -@@ -2,7 +2,7 @@ - ** Directory.cpp ** - ** ** - ** This file is part of dvisvgm -- a fast DVI to SVG converter ** --** Copyright (C) 2005-2022 Martin Gieseking ** -+** Copyright (C) 2005-2023 Martin Gieseking ** - ** ** - ** This program is free software; you can redistribute it and/or ** - ** modify it under the terms of the GNU General Public License as ** -diff -up texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/Directory.hpp.301 texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/Directory.hpp ---- texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/Directory.hpp.301 2022-01-21 12:25:16.000000000 -0500 -+++ texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/Directory.hpp 2023-01-17 15:53:51.701205277 -0500 -@@ -2,7 +2,7 @@ - ** Directory.hpp ** - ** ** - ** This file is part of dvisvgm -- a fast DVI to SVG converter ** --** Copyright (C) 2005-2022 Martin Gieseking ** -+** Copyright (C) 2005-2023 Martin Gieseking ** - ** ** - ** This program is free software; you can redistribute it and/or ** - ** modify it under the terms of the GNU General Public License as ** -diff -up texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/DLLoader.cpp.301 texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/DLLoader.cpp ---- texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/DLLoader.cpp.301 2022-01-21 12:25:16.000000000 -0500 -+++ texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/DLLoader.cpp 2023-01-17 15:53:51.701205277 -0500 -@@ -2,7 +2,7 @@ - ** DLLoader.cpp ** - ** ** - ** This file is part of dvisvgm -- a fast DVI to SVG converter ** --** Copyright (C) 2005-2022 Martin Gieseking ** -+** Copyright (C) 2005-2023 Martin Gieseking ** - ** ** - ** This program is free software; you can redistribute it and/or ** - ** modify it under the terms of the GNU General Public License as ** -diff -up texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/DLLoader.hpp.301 texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/DLLoader.hpp ---- texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/DLLoader.hpp.301 2022-01-21 12:25:16.000000000 -0500 -+++ texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/DLLoader.hpp 2023-01-17 15:53:51.701205277 -0500 -@@ -2,7 +2,7 @@ - ** DLLoader.hpp ** - ** ** - ** This file is part of dvisvgm -- a fast DVI to SVG converter ** --** Copyright (C) 2005-2022 Martin Gieseking ** -+** Copyright (C) 2005-2023 Martin Gieseking ** - ** ** - ** This program is free software; you can redistribute it and/or ** - ** modify it under the terms of the GNU General Public License as ** -diff -up texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/DVIActions.hpp.301 texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/DVIActions.hpp ---- texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/DVIActions.hpp.301 2022-01-21 12:25:16.000000000 -0500 -+++ texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/DVIActions.hpp 2023-01-17 15:53:51.702205288 -0500 -@@ -2,7 +2,7 @@ - ** DVIActions.hpp ** - ** ** - ** This file is part of dvisvgm -- a fast DVI to SVG converter ** --** Copyright (C) 2005-2022 Martin Gieseking ** -+** Copyright (C) 2005-2023 Martin Gieseking ** - ** ** - ** This program is free software; you can redistribute it and/or ** - ** modify it under the terms of the GNU General Public License as ** -diff -up texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/DVIReader.cpp.301 texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/DVIReader.cpp ---- texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/DVIReader.cpp.301 2022-01-21 12:25:16.000000000 -0500 -+++ texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/DVIReader.cpp 2023-01-17 16:40:43.562667256 -0500 -@@ -2,7 +2,7 @@ - ** DVIReader.cpp ** - ** ** - ** This file is part of dvisvgm -- a fast DVI to SVG converter ** --** Copyright (C) 2005-2022 Martin Gieseking ** -+** Copyright (C) 2005-2023 Martin Gieseking ** - ** ** - ** This program is free software; you can redistribute it and/or ** - ** modify it under the terms of the GNU General Public License as ** -@@ -460,7 +460,7 @@ const Font* DVIReader::defineFont (uint3 - Font *font = fm.getFont(fontnum); - if (!font && !name.empty()) { // font not registered yet? - if (name[0] == '[') { // LuaTeX native font reference? -- size_t last = name.rfind(']'); -+ auto last = name.rfind(']'); - if (last != string::npos) { - string path = name.substr(1, last-1); - FontStyle style; -@@ -595,6 +595,20 @@ void DVIReader::cmdXFontDef (int) { - } - - -+/** Returns the width of a string typed with a given font. -+ * @param[in] glyphs glyphs of the string -+ * @param[in] font assigned font -+ * @return width in bp units */ -+static double string_width (const vector &glyphs, const Font *font) { -+ double width=0; -+ if (auto nfont = font_cast(font)) { -+ for (auto glyph: glyphs) -+ width += nfont->hAdvance(Character(Character::INDEX, glyph)); -+ } -+ return width; -+} -+ -+ - /** XDV extension: prints an array of characters where each character - * can take independent x and y coordinates. - * parameters: w[4] n[2] (dx,dy)[(4+4)n] glyphs[2n] */ -@@ -602,11 +616,14 @@ void DVIReader::cmdXGlyphArray (int) { - vector dx, dy; - vector glyphs; - double width = putGlyphArray(false, dx, dy, glyphs); -- if (Font *font = FontManager::instance().getFont(_currFontNum)) -- dviXGlyphArray(dx, dy, glyphs, *font); -- else -+ Font *font = FontManager::instance().getFont(_currFontNum); -+ if (!font) - throw DVIException("missing setfont prior to xglypharray"); -- moveRight(width, MoveMode::SETCHAR); -+ dviXGlyphArray(dx, dy, glyphs, *font); -+ double diff = abs(string_width(glyphs, font) - width); -+ // if the given width differs from the actual width of the string, -+ // we must force a position change to prevent misalignments -+ moveRight(width, diff < 0.2 ? MoveMode::SETCHAR : MoveMode::CHANGEPOS); - } - - -@@ -617,11 +634,14 @@ void DVIReader::cmdXGlyphString (int) { - vector dx, dy; - vector glyphs; - double width = putGlyphArray(true, dx, dy, glyphs); -- if (Font *font = FontManager::instance().getFont(_currFontNum)) -- dviXGlyphString(dx, glyphs, *font); -- else -+ Font *font = FontManager::instance().getFont(_currFontNum); -+ if (!font) - throw DVIException("missing setfont prior to xglyphstring"); -- moveRight(width, MoveMode::SETCHAR); -+ dviXGlyphString(dx, glyphs, *font); -+ double diff = abs(string_width(glyphs, font) - width); -+ // if the given width differs from the actual width of the string, -+ // we must force a position change to prevent misalignments -+ moveRight(width, diff < 0.2 ? MoveMode::SETCHAR : MoveMode::CHANGEPOS); - } - - -@@ -639,11 +659,14 @@ void DVIReader::cmdXTextAndGlyphs (int) - vector x, y; - vector glyphs; - double width = putGlyphArray(false, x, y, glyphs); -- if (Font *font = FontManager::instance().getFont(_currFontNum)) -- dviXTextAndGlyphs(x, y, chars, glyphs, *font); -- else -+ Font *font = FontManager::instance().getFont(_currFontNum); -+ if (!font) - throw DVIException("missing setfont prior to xtextandglyphs"); -- moveRight(width, MoveMode::SETCHAR); -+ dviXTextAndGlyphs(x, y, chars, glyphs, *font); -+ double diff = abs(string_width(glyphs, font) - width); -+ // if the given width differs from the actual width of the string, -+ // we must force a position change to prevent misalignments -+ moveRight(width, diff < 0.2 ? MoveMode::SETCHAR : MoveMode::CHANGEPOS); - } - - -diff -up texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/DVIReader.hpp.301 texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/DVIReader.hpp ---- texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/DVIReader.hpp.301 2022-01-21 12:25:16.000000000 -0500 -+++ texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/DVIReader.hpp 2023-01-17 16:40:36.417584653 -0500 -@@ -2,7 +2,7 @@ - ** DVIReader.hpp ** - ** ** - ** This file is part of dvisvgm -- a fast DVI to SVG converter ** --** Copyright (C) 2005-2022 Martin Gieseking ** -+** Copyright (C) 2005-2023 Martin Gieseking ** - ** ** - ** This program is free software; you can redistribute it and/or ** - ** modify it under the terms of the GNU General Public License as ** -@@ -21,6 +21,7 @@ - #ifndef DVIREADER_HPP - #define DVIREADER_HPP - -+#include - #include - #include - #include -diff -up texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/dvisvgm.cpp.301 texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/dvisvgm.cpp ---- texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/dvisvgm.cpp.301 2022-01-21 12:25:16.000000000 -0500 -+++ texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/dvisvgm.cpp 2023-01-17 15:53:51.702205288 -0500 -@@ -2,7 +2,7 @@ - ** dvisvgm.cpp ** - ** ** - ** This file is part of dvisvgm -- a fast DVI to SVG converter ** --** Copyright (C) 2005-2022 Martin Gieseking ** -+** Copyright (C) 2005-2023 Martin Gieseking ** - ** ** - ** This program is free software; you can redistribute it and/or ** - ** modify it under the terms of the GNU General Public License as ** -@@ -40,6 +40,7 @@ - #include "HyperlinkManager.hpp" - #include "Message.hpp" - #include "PageSize.hpp" -+#include "PDFHandler.hpp" - #include "PDFToSVG.hpp" - #include "PSInterpreter.hpp" - #include "PsSpecialHandler.hpp" -@@ -48,6 +49,8 @@ - #include "optimizer/SVGOptimizer.hpp" - #include "SVGOutput.hpp" - #include "System.hpp" -+#include "ttf/TTFWriter.hpp" -+#include "XMLParser.hpp" - #include "XXHashFunction.hpp" - #include "utility.hpp" - #include "version.hpp" -@@ -55,8 +58,7 @@ - #ifndef DISABLE_WOFF - #include - //#include --#include "ffwrapper.h" --#include "TTFAutohint.hpp" -+#include "ttf/TTFAutohint.hpp" - #endif - - using namespace std; -@@ -65,7 +67,7 @@ using namespace std; - - static string remove_path (string fname) { - fname = FileSystem::ensureForwardSlashes(fname); -- size_t slashpos = fname.rfind('/'); -+ auto slashpos = fname.rfind('/'); - if (slashpos == string::npos) - return fname; - return fname.substr(slashpos+1); -@@ -74,7 +76,7 @@ static string remove_path (string fname) - - static string ensure_suffix (string fname, const string &suffix) { - if (!fname.empty()) { -- size_t dotpos = remove_path(fname).rfind('.'); -+ auto dotpos = remove_path(fname).rfind('.'); - if (dotpos == string::npos) - fname += "." + suffix; - } -@@ -155,7 +157,7 @@ static bool set_temp_dir (const CommandL - if (!args.tmpdirOpt.value().empty()) - FileSystem::TMPDIR = args.tmpdirOpt.value(); - else { -- cout << "temporary folder: " << FileSystem::tmpdir() << '\n'; -+ cout << "temporary folder: " << FileSystem::ensureSystemSlashes(FileSystem::tmpdir(true)) << '\n'; - return false; - } - } -@@ -254,9 +256,9 @@ class VersionInfo { - - static void print_version (bool extended) { - string versionstr = string(PROGRAM_NAME)+" "+PROGRAM_VERSION; --#ifdef TARGET_SYSTEM -- if (extended && strlen(TARGET_SYSTEM) > 0) -- versionstr += " (" TARGET_SYSTEM ")"; -+#ifdef HOST_SYSTEM -+ if (extended && strlen(HOST_SYSTEM) > 0) -+ versionstr += " (" HOST_SYSTEM ")"; - #endif - cout << versionstr << '\n'; - if (extended) { -@@ -268,11 +270,11 @@ static void print_version (bool extended - versionInfo.add("xxhash", XXH64HashFunction::version(), 3, 100); - versionInfo.add("zlib", zlibVersion()); - versionInfo.add("Ghostscript", Ghostscript().revisionstr(), true); -+ versionInfo.add("mutool", PDFHandler::mutoolVersion(), true); - #ifndef DISABLE_WOFF - versionInfo.add("brotli", BrotliEncoderVersion(), 3, 0x1000); - // versionInfo.add("woff2", woff2::version, 3, 0x100); -- versionInfo.add("fontforge", ff_version()); -- versionInfo.add("ttfautohint", TTFAutohint().version(), true); -+ versionInfo.add("ttfautohint", ttf::TTFAutohint().version(), true); - #endif - #ifdef MIKTEX - versionInfo.add("MiKTeX", FileFinder::instance().version()); -@@ -370,6 +372,10 @@ static void set_variables (const Command - PsSpecialHandler::SHADING_SEGMENT_SIZE = max(1, cmdline.gradSegmentsOpt.value()); - PsSpecialHandler::SHADING_SIMPLIFY_DELTA = cmdline.gradSimplifyOpt.value(); - PsSpecialHandler::BITMAP_FORMAT = util::tolower(cmdline.bitmapFormatOpt.value()); -+#ifdef TTFDEBUG -+ ttf::TTFWriter::CREATE_PS_GLYPH_OUTLINES = cmdline.debugGlyphsOpt.given(); -+#endif -+ PsSpecialHandler::EMBED_BITMAP_DATA = cmdline.embedBitmapsOpt.given(); - if (!PSInterpreter::imageDeviceKnown(PsSpecialHandler::BITMAP_FORMAT)) { - ostringstream oss; - oss << "unknown image format '" << PsSpecialHandler::BITMAP_FORMAT << "'\nknown formats:\n"; -@@ -494,6 +500,10 @@ int main (int argc, char *argv[]) { - Message::estream() << "\nPostScript error: " << e.what() << '\n'; - return -2; - } -+ catch (XMLParserException &e) { -+ Message::estream() << "\nXML error: " << e.what() << '\n'; -+ return -5; -+ } - catch (SignalException &e) { - Message::wstream().clearline(); - Message::wstream(true) << "execution interrupted by user\n"; -diff -up texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/DvisvgmSpecialHandler.cpp.301 texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/DvisvgmSpecialHandler.cpp ---- texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/DvisvgmSpecialHandler.cpp.301 2022-02-23 17:20:08.000000000 -0500 -+++ texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/DvisvgmSpecialHandler.cpp 2023-01-17 15:53:51.702205288 -0500 -@@ -2,7 +2,7 @@ - ** DvisvgmSpecialHandler.cpp ** - ** ** - ** This file is part of dvisvgm -- a fast DVI to SVG converter ** --** Copyright (C) 2005-2022 Martin Gieseking ** -+** Copyright (C) 2005-2023 Martin Gieseking ** - ** ** - ** This program is free software; you can redistribute it and/or ** - ** modify it under the terms of the GNU General Public License as ** -@@ -23,6 +23,7 @@ - #include - #include "Calculator.hpp" - #include "DvisvgmSpecialHandler.hpp" -+#include "GraphicsPathParser.hpp" - #include "InputBuffer.hpp" - #include "InputReader.hpp" - #include "Length.hpp" -@@ -35,10 +36,60 @@ - using namespace std; - - --DvisvgmSpecialHandler::DvisvgmSpecialHandler () : -- _currentMacro(_macros.end()), -- _defsParser(&SVGTree::appendToDefs, &SVGTree::pushDefsContext, &SVGTree::popDefsContext), -- _pageParser(&SVGTree::appendToPage, &SVGTree::pushPageContext, &SVGTree::popPageContext) -+void SVGParser::assign (SVGTree &svg, Append append, PushContext pushContext, PopContext popContext) { -+ _svg = &svg; -+ _append = append; -+ _pushContext = pushContext; -+ _popContext = popContext; -+ setRootElement(nullptr); -+} -+ -+ -+XMLElement* SVGParser::openElement (const std::string &tag) { -+ XMLElement *elem = XMLParser::openElement(tag); -+ if (elem->name() == "path" || elem->name() == "svg:path") { -+ if (const char *d = elem->getAttributeValue("d")) { -+ try { -+ // parse and reformat path definition -+ auto path = GraphicsPathParser().parse(d); -+ ostringstream oss; -+ path.writeSVG(oss, SVGTree::RELATIVE_PATH_CMDS); -+ elem->addAttribute("d", oss.str()); -+ } -+ catch (const GraphicsPathParserException &e) { -+ throw XMLParserException(string("error in path data: ")+e.what()); -+ } -+ } -+ } -+ return elem; -+} -+ -+ -+void SVGParser::appendNode (unique_ptr node) { -+ (_svg->*_append)(std::move(node)); -+} -+ -+ -+XMLElement* SVGParser::finishPushContext (unique_ptr elem) { -+ unique_ptr svgElement{static_cast(elem.release())}; -+ XMLElement *elemPtr = svgElement.get(); -+ (_svg->*_pushContext)(std::move(svgElement)); -+ return elemPtr; -+} -+ -+ -+void SVGParser::finishPopContext () { -+ (_svg->*_popContext)(); -+} -+ -+ -+XMLElement* SVGParser::createElementPtr (std::string name) const { -+ return new SVGElement(std::move(name)); -+} -+ -+/////////////////////////////////////////////////////////////////////////// -+ -+DvisvgmSpecialHandler::DvisvgmSpecialHandler () : _currentMacro(_macros.end()) - { - } - -@@ -153,19 +204,19 @@ bool DvisvgmSpecialHandler::process (con - static void expand_constants (string &str, SpecialActions &actions) { - bool repl_bbox = true; - while (repl_bbox) { -- size_t pos = str.find("{?bbox "); -+ const auto pos = str.find("{?bbox "); - if (pos == string::npos) - repl_bbox = false; - else { -- size_t endpos = pos+7; -+ auto endpos = pos+7; - while (endpos < str.length() && isalnum(str[endpos])) - ++endpos; -- if (str[endpos] == '}') { -- BoundingBox &box=actions.bbox(str.substr(pos+7, endpos-pos-7)); -+ if (str[endpos] != '}') -+ repl_bbox = false; -+ else { -+ BoundingBox &box = actions.bbox(str.substr(pos+7, endpos-pos-7)); - str.replace(pos, endpos-pos+1, box.svgViewBoxString()); - } -- else -- repl_bbox = false; - } - } - struct Constant { -@@ -181,7 +232,7 @@ static void expand_constants (string &st - }}; - for (const Constant &constant : constants) { - const string pattern = string("{?")+constant.name+"}"; -- size_t pos = str.find(pattern); -+ auto pos = str.find(pattern); - while (pos != string::npos) { - str.replace(pos, strlen(constant.name)+3, constant.val); - pos = str.find(pattern, pos+constant.val.length()); // look for further matches -@@ -194,9 +245,9 @@ static void expand_constants (string &st - * and replaces the substring by the computed value. - * @param[in,out] str string to scan for expressions */ - static void evaluate_expressions (string &str, const SpecialActions &actions) { -- size_t left = str.find("{?("); // start position of expression macro -+ auto left = str.find("{?("); // start position of expression macro - while (left != string::npos) { -- size_t right = str.find(")}", left+2); // end position of expression macro -+ auto right = str.find(")}", left+2); // end position of expression macro - if (right == string::npos) - break; - Calculator calc; -@@ -232,7 +283,7 @@ void DvisvgmSpecialHandler::processRaw ( - if (!xml.empty()) { - evaluate_expressions(xml, actions); - expand_constants(xml, actions); -- _pageParser.parse(xml, actions); -+ _pageParser.parse(std::move(xml)); - } - } - } -@@ -244,7 +295,7 @@ void DvisvgmSpecialHandler::processRawDe - if (!xml.empty()) { - evaluate_expressions(xml, actions); - expand_constants(xml, actions); -- _defsParser.parse(xml, actions); -+ _defsParser.parse(std::move(xml)); - } - } - } -@@ -276,9 +327,9 @@ void DvisvgmSpecialHandler::processRawPu - if ((type == 'P' || type == 'D') && !def.empty()) { - expand_constants(def, actions); - if (type == 'P') -- _pageParser.parse(def, actions); -+ _pageParser.parse(std::move(def)); - else { // type == 'D' -- _defsParser.parse(def, actions); -+ _defsParser.parse(std::move(def)); - type = 'L'; // locked - } - } -@@ -413,9 +464,16 @@ void DvisvgmSpecialHandler::dviPreproces - } - - -+void DvisvgmSpecialHandler::dviBeginPage (unsigned, SpecialActions &actions) { -+ SVGTree &svg = actions.svgTree(); -+ _defsParser.assign(svg, &SVGTree::appendToDefs, &SVGTree::pushDefsContext, &SVGTree::popDefsContext); -+ _pageParser.assign(svg, &SVGTree::appendToPage, &SVGTree::pushPageContext, &SVGTree::popPageContext); -+} -+ -+ - void DvisvgmSpecialHandler::dviEndPage (unsigned, SpecialActions &actions) { -- _defsParser.finish(actions); -- _pageParser.finish(actions); -+ _defsParser.finish(); -+ _pageParser.finish(); - actions.bbox().unlock(); - for (auto &strvecpair : _macros) { - StringVector &vec = strvecpair.second; -@@ -432,147 +490,3 @@ vector DvisvgmSpecialHandle - vector pfx {"dvisvgm:"}; - return pfx; - } -- --//////////////////////////////////////////////////////////////////////////////// -- --/** Parses a fragment of XML code, creates corresponding XML nodes and adds them -- * to the SVG tree. The code may be split and processed by several calls of this -- * function. Incomplete chunks that can't be processed yet are stored and picked -- * up again together with the next incoming XML fragment. If a call of this function -- * is supposed to finish the parsing of an XML subtree, parameter 'finish' must be set. -- * @param[in] xml XML fragment to parse -- * @param[in] actions object providing the SVG tree functions -- * @param[in] finish if true, no more XML is expected and parsing is finished */ --void DvisvgmSpecialHandler::XMLParser::parse (const string &xml, SpecialActions &actions, bool finish) { -- // collect/extract an XML fragment that only contains complete tags -- // incomplete tags are held back -- _xmlbuf += xml; -- size_t left=0; -- try { -- while (left != string::npos) { -- size_t right = _xmlbuf.find('<', left); -- if (left < right && left < _xmlbuf.length()) // plain text found? -- (actions.svgTree().*_append)(util::make_unique(_xmlbuf.substr(left, right-left))); -- if (right != string::npos) { -- left = right; -- if (_xmlbuf.compare(left, 9, "", left+9); -- if (right == string::npos) { -- if (finish) throw SpecialException("expected ']]>' at end of CDATA block"); -- break; -- } -- (actions.svgTree().*_append)(util::make_unique(_xmlbuf.substr(left+9, right-left-9))); -- right += 2; -- } -- else if (_xmlbuf.compare(left, 4, "", left+4); -- if (right == string::npos) { -- if (finish) throw SpecialException("expected '-->' at end of comment"); -- break; -- } -- (actions.svgTree().*_append)(util::make_unique(_xmlbuf.substr(left+4, right-left-4))); -- right += 2; -- } -- else if (_xmlbuf.compare(left, 2, "", left+2); -- if (right == string::npos) { -- if (finish) throw SpecialException("expected '?>' at end of processing instruction"); -- break; -- } -- (actions.svgTree().*_append)(util::make_unique(_xmlbuf.substr(left, right-left+2))); -- right++; -- } -- else if (_xmlbuf.compare(left, 2, "', left+2); -- if (right == string::npos) { -- if (finish) throw SpecialException("missing '>' at end of closing XML tag"); -- break; -- } -- closeElement(_xmlbuf.substr(left+2, right-left-2), actions); -- } -- else { -- right = _xmlbuf.find('>', left+1); -- if (right == string::npos) { -- if (finish) throw SpecialException("missing '>' or '/>' at end of opening XML tag"); -- break; -- } -- openElement(_xmlbuf.substr(left+1, right-left-1), actions); -- } -- } -- left = right; -- if (right != string::npos) -- left++; -- } -- } -- catch (const SpecialException &e) { -- _error = true; -- throw; -- } -- if (left == string::npos) -- _xmlbuf.clear(); -- else -- _xmlbuf.erase(0, left); --} -- -- --/** Processes an opening element tag. -- * @param[in] tag tag without leading and trailing angle brackets */ --void DvisvgmSpecialHandler::XMLParser::openElement (const string &tag, SpecialActions &actions) { -- StringInputBuffer ib(tag); -- BufferInputReader ir(ib); -- string name = ir.getString("/ \t\n\r"); -- ir.skipSpace(); -- auto elemNode = util::make_unique(name); -- map attribs; -- if (ir.parseAttributes(attribs, true, "\"'")) { -- for (const auto &attrpair : attribs) -- elemNode->addAttribute(attrpair.first, attrpair.second); -- } -- ir.skipSpace(); -- if (ir.peek() == '/') // end of empty element tag -- (actions.svgTree().*_append)(std::move(elemNode)); -- else if (ir.peek() < 0) { // end of opening tag -- _nameStack.push_back(name); -- (actions.svgTree().*_pushContext)(std::move(elemNode)); -- } -- else -- throw SpecialException("'>' or '/>' expected at end of opening tag <"+name); --} -- -- --/** Processes a closing element tag. -- * @param[in] tag tag without leading and trailing angle brackets */ --void DvisvgmSpecialHandler::XMLParser::closeElement (const string &tag, SpecialActions &actions) { -- StringInputBuffer ib(tag); -- BufferInputReader ir(ib); -- string name = ir.getString(" \t\n\r"); -- ir.skipSpace(); -- if (ir.peek() >= 0) -- throw SpecialException("'>' expected at end of closing tag "); -- if (_nameStack.back() != name) -- throw SpecialException("expected but found "); -- (actions.svgTree().*_popContext)(); -- _nameStack.pop_back(); --} -- -- --/** Processes any remaining XML fragments, checks for missing closing tags, -- * and resets the parser state. */ --void DvisvgmSpecialHandler::XMLParser::finish (SpecialActions &actions) { -- if (!_xmlbuf.empty()) { -- if (!_error) -- parse("", actions, true); -- _xmlbuf.clear(); -- } -- string tags; -- while (!_nameStack.empty()) { -- tags += ", "; -- _nameStack.pop_back(); -- } -- if (!tags.empty() && !_error) { -- tags.resize(tags.length()-2); -- throw SpecialException("missing closing tag(s): "+tags); -- } --} -diff -up texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/DvisvgmSpecialHandler.hpp.301 texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/DvisvgmSpecialHandler.hpp ---- texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/DvisvgmSpecialHandler.hpp.301 2022-01-21 12:25:16.000000000 -0500 -+++ texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/DvisvgmSpecialHandler.hpp 2023-01-17 15:53:51.702205288 -0500 -@@ -2,7 +2,7 @@ - ** DvisvgmSpecialHandler.hpp ** - ** ** - ** This file is part of dvisvgm -- a fast DVI to SVG converter ** --** Copyright (C) 2005-2022 Martin Gieseking ** -+** Copyright (C) 2005-2023 Martin Gieseking ** - ** ** - ** This program is free software; you can redistribute it and/or ** - ** modify it under the terms of the GNU General Public License as ** -@@ -26,6 +26,7 @@ - #include - #include - #include "SpecialHandler.hpp" -+#include "XMLParser.hpp" - - class InputReader; - class SpecialActions; -@@ -42,33 +43,31 @@ class XMLNode; - #pragma pointers_to_members(full_generality, single_inheritance) - #endif - --class DvisvgmSpecialHandler : public SpecialHandler { -- class XMLParser { -- using AppendFunc = void (SVGTree::*)(std::unique_ptr); -- using PushFunc = void (SVGTree::*)(std::unique_ptr); -- using PopFunc = void (SVGTree::*)(); -- using NameStack = std::vector; -- -- public: -- XMLParser (AppendFunc append, PushFunc push, PopFunc pop) -- : _append(append), _pushContext(push), _popContext(pop) {} -- -- void parse (const std::string &xml, SpecialActions &actions, bool finish=false); -- void finish (SpecialActions &actions); -- -- protected: -- void openElement (const std::string &tag, SpecialActions &actions); -- void closeElement (const std::string &tag, SpecialActions &actions); -- -- private: -- AppendFunc _append; -- PushFunc _pushContext; -- PopFunc _popContext; -- std::string _xmlbuf; -- NameStack _nameStack; ///< names of nested elements still missing a closing tag -- bool _error=false; -- }; -+class SVGParser : public XMLParser { -+ using Append = void (SVGTree::*)(std::unique_ptr node); -+ using PushContext = void (SVGTree::*)(std::unique_ptr elem); -+ using PopContext = void (SVGTree::*)(); -+ -+ public: -+ SVGParser () : XMLParser() {} -+ void assign (SVGTree &svg, Append append, PushContext pushContext, PopContext popContext); -+ -+ protected: -+ XMLElement* openElement (const std::string &tag) override; -+ void appendNode (std::unique_ptr node) override; -+ XMLElement* finishPushContext (std::unique_ptr elem) override; -+ void finishPopContext () override; -+ XMLElement* createElementPtr (std::string name) const override; - -+ private: -+ SVGTree *_svg=nullptr; -+ Append _append=nullptr; -+ PushContext _pushContext=nullptr; -+ PopContext _popContext=nullptr; -+}; -+ -+ -+class DvisvgmSpecialHandler : public SpecialHandler { - using StringVector = std::vector; - using MacroMap = std::unordered_map; - -@@ -94,14 +93,15 @@ class DvisvgmSpecialHandler : public Spe - void processBBox (InputReader &ir, SpecialActions &actions); - void processImg (InputReader &ir, SpecialActions &actions); - void dviPreprocessingFinished () override; -+ void dviBeginPage (unsigned pageno, SpecialActions &actions) override; - void dviEndPage (unsigned pageno, SpecialActions &actions) override; - - private: - MacroMap _macros; - MacroMap::iterator _currentMacro; - int _nestingLevel=0; ///< nesting depth of rawset specials -- XMLParser _defsParser; ///< parses XML added by 'rawdef' specials -- XMLParser _pageParser; ///< parses XML added by 'raw' specials -+ SVGParser _defsParser; ///< parses XML added by 'rawdef' specials -+ SVGParser _pageParser; ///< parses XML added by 'raw' specials - }; - - #endif -diff -up texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/DVIToSVGActions.cpp.301 texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/DVIToSVGActions.cpp ---- texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/DVIToSVGActions.cpp.301 2022-01-21 12:25:16.000000000 -0500 -+++ texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/DVIToSVGActions.cpp 2023-01-17 15:53:51.702205288 -0500 -@@ -2,7 +2,7 @@ - ** DVIToSVGActions.cpp ** - ** ** - ** This file is part of dvisvgm -- a fast DVI to SVG converter ** --** Copyright (C) 2005-2022 Martin Gieseking ** -+** Copyright (C) 2005-2023 Martin Gieseking ** - ** ** - ** This program is free software; you can redistribute it and/or ** - ** modify it under the terms of the GNU General Public License as ** -@@ -33,8 +33,7 @@ using namespace std; - - - void DVIToSVGActions::reset() { -- _usedChars.clear(); -- _usedFonts.clear(); -+ FontManager::instance().resetUsedChars(); - _bbox = BoundingBox(); - _currentFontNum = -1; - _bgcolor = Color::TRANSPARENT; -@@ -93,10 +92,7 @@ void DVIToSVGActions::setChar (double x, - // record font names and chars. The various font sizes can be ignored here. - // For a given font object, Font::uniqueFont() returns the same unique font object for - // all fonts with the same name. -- _usedChars[SVGTree::USE_FONTS ? font.uniqueFont() : &font].insert(c); -- -- // However, we record all required fonts -- _usedFonts.insert(&font); -+ FontManager::instance().addUsedChar(font, c); - _svg.appendChar(c, x, y); - - static string fontname; -@@ -216,10 +212,10 @@ void DVIToSVGActions::special (const str - * @param[in] c array with 10 components representing \\count0 ... \\count9. c[0] contains the - * current (printed) page number (may differ from page count) */ - void DVIToSVGActions::beginPage (unsigned pageno, const vector&) { -- SpecialManager::instance().notifyBeginPage(pageno, *this); - _svg.newPage(++_pageCount); - _bbox = BoundingBox(); // clear bounding box - _boxes.clear(); -+ SpecialManager::instance().notifyBeginPage(pageno, *this); - } - - -diff -up texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/DVIToSVGActions.hpp.301 texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/DVIToSVGActions.hpp ---- texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/DVIToSVGActions.hpp.301 2022-01-21 12:25:16.000000000 -0500 -+++ texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/DVIToSVGActions.hpp 2023-01-17 15:53:51.702205288 -0500 -@@ -2,7 +2,7 @@ - ** DVIToSVGActions.hpp ** - ** ** - ** This file is part of dvisvgm -- a fast DVI to SVG converter ** --** Copyright (C) 2005-2022 Martin Gieseking ** -+** Copyright (C) 2005-2023 Martin Gieseking ** - ** ** - ** This program is free software; you can redistribute it and/or ** - ** modify it under the terms of the GNU General Public License as ** -@@ -37,8 +37,6 @@ class Font; - class XMLNode; - - class DVIToSVGActions : public DVIActions, public SpecialActions { -- using CharMap = std::unordered_map>; -- using FontSet = std::unordered_set; - using BoxMap = std::unordered_map; - - public: -@@ -80,8 +78,6 @@ class DVIToSVGActions : public DVIAction - void embed (const DPair &p, double r=0) override; - FilePath getSVGFilePath (unsigned pageno) const override; - std::string getBBoxFormatString () const override; -- CharMap& getUsedChars () const {return _usedChars;} -- const FontSet& getUsedFonts () const {return _usedFonts;} - void setDVIReader (BasicDVIReader &r) {_dvireader = &r;} - - private: -@@ -90,8 +86,6 @@ class DVIToSVGActions : public DVIAction - BoundingBox _bbox; - int _pageCount=0; - int _currentFontNum=-1; -- mutable CharMap _usedChars; -- FontSet _usedFonts; - Color _bgcolor=Color::TRANSPARENT; - BoxMap _boxes; - bool _outputLocked=false; -diff -up texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/DVIToSVG.cpp.301 texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/DVIToSVG.cpp ---- texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/DVIToSVG.cpp.301 2022-01-21 12:25:16.000000000 -0500 -+++ texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/DVIToSVG.cpp 2023-01-17 15:53:51.702205288 -0500 -@@ -2,7 +2,7 @@ - ** DVIToSVG.cpp ** - ** ** - ** This file is part of dvisvgm -- a fast DVI to SVG converter ** --** Copyright (C) 2005-2022 Martin Gieseking ** -+** Copyright (C) 2005-2023 Martin Gieseking ** - ** ** - ** This program is free software; you can redistribute it and/or ** - ** modify it under the terms of the GNU General Public License as ** -@@ -120,6 +120,7 @@ void DVIToSVG::convert (unsigned first, - SVGOptimizer(_svg).execute(); - embedFonts(_svg.rootNode()); - bool success = _svg.write(_out.getPageStream(currentPageNumber(), numberOfPages(), hashTriple)); -+ _out.finish(); - string fname = path.shorterAbsoluteOrRelative(); - if (fname.empty()) - fname = ""; -@@ -350,9 +351,7 @@ void DVIToSVG::embedFonts (XMLElement *s - if (!svgElement || !_actions) // no dvi actions => no chars written => no fonts to embed - return; - -- const DVIToSVGActions *svgActions = static_cast(_actions.get()); -- auto &usedCharsMap = svgActions->getUsedChars(); -- -+ auto &usedCharsMap = FontManager::instance().getUsedChars(); - collect_chars(usedCharsMap); - - GlyphTracerMessages messages; -@@ -374,7 +373,7 @@ void DVIToSVG::embedFonts (XMLElement *s - else - Message::wstream(true) << "can't embed font '" << font->name() << "'\n"; - } -- _svg.appendFontStyles(svgActions->getUsedFonts()); -+ _svg.appendFontStyles(FontManager::instance().getUsedFonts()); - } - - -diff -up texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/DVIToSVG.hpp.301 texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/DVIToSVG.hpp ---- texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/DVIToSVG.hpp.301 2022-01-21 12:25:16.000000000 -0500 -+++ texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/DVIToSVG.hpp 2023-01-17 15:53:51.703205300 -0500 -@@ -2,7 +2,7 @@ - ** DVIToSVG.hpp ** - ** ** - ** This file is part of dvisvgm -- a fast DVI to SVG converter ** --** Copyright (C) 2005-2022 Martin Gieseking ** -+** Copyright (C) 2005-2023 Martin Gieseking ** - ** ** - ** This program is free software; you can redistribute it and/or ** - ** modify it under the terms of the GNU General Public License as ** -diff -up texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/EllipticalArc.cpp.301 texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/EllipticalArc.cpp ---- texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/EllipticalArc.cpp.301 2022-01-21 12:25:16.000000000 -0500 -+++ texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/EllipticalArc.cpp 2023-01-17 15:53:51.703205300 -0500 -@@ -2,7 +2,7 @@ - ** EllipticalArc.cpp ** - ** ** - ** This file is part of dvisvgm -- a fast DVI to SVG converter ** --** Copyright (C) 2005-2022 Martin Gieseking ** -+** Copyright (C) 2005-2023 Martin Gieseking ** - ** ** - ** This program is free software; you can redistribute it and/or ** - ** modify it under the terms of the GNU General Public License as ** -@@ -156,7 +156,7 @@ void EllipticalArc::transform (const Mat - /** Approximates an arc of the unit circle by a single cubic Bézier curve. - * @param[in] phi start angle of the arc in radians - * @param[in] delta length of the arc */ --static Bezier approx_unit_arc (double phi, double delta) { -+static CubicBezier approx_unit_arc (double phi, double delta) { - double c = 0.551915024494; // see http://spencermortensen.com/articles/bezier-circle - if (abs(delta + math::HALF_PI) < 1e-7) - c = -c; -@@ -166,13 +166,13 @@ static Bezier approx_unit_arc (double ph - DPair p4(cos(phi+delta), sin(phi+delta)); - DPair p2(p1.x()-c*p1.y(), p1.y()+c*p1.x()); - DPair p3(p4.x()+c*p4.y(), p4.y()-c*p4.x()); -- return Bezier(p1, p2, p3, p4); -+ return CubicBezier(p1, p2, p3, p4); - } - - - /** Approximates the arc by a sequence of cubic Bézier curves. */ --vector EllipticalArc::approximate () const { -- vector beziers; -+vector EllipticalArc::approximate () const { -+ vector beziers; - if (_startPoint != _endPoint) { - if (isStraightLine()) { - DPair dir = (_endPoint - _startPoint); -diff -up texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/EllipticalArc.hpp.301 texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/EllipticalArc.hpp ---- texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/EllipticalArc.hpp.301 2022-01-21 12:25:16.000000000 -0500 -+++ texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/EllipticalArc.hpp 2023-01-17 15:53:51.703205300 -0500 -@@ -2,7 +2,7 @@ - ** EllipticalArc.hpp ** - ** ** - ** This file is part of dvisvgm -- a fast DVI to SVG converter ** --** Copyright (C) 2005-2022 Martin Gieseking ** -+** Copyright (C) 2005-2023 Martin Gieseking ** - ** ** - ** This program is free software; you can redistribute it and/or ** - ** modify it under the terms of the GNU General Public License as ** -@@ -47,7 +47,7 @@ class EllipticalArc { - bool isStraightLine () const {return _rx < 1e-7 || _ry < 1e-7;} - BoundingBox getBBox () const; - void transform (const Matrix &matrix); -- std::vector approximate () const; -+ std::vector approximate () const; - - private: - double _rx, _ry; ///< length of semi-major and semi-minor axes -diff -up texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/EmSpecialHandler.cpp.301 texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/EmSpecialHandler.cpp ---- texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/EmSpecialHandler.cpp.301 2022-01-21 12:25:16.000000000 -0500 -+++ texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/EmSpecialHandler.cpp 2023-01-17 15:53:51.703205300 -0500 -@@ -2,7 +2,7 @@ - ** EmSpecialHandler.cpp ** - ** ** - ** This file is part of dvisvgm -- a fast DVI to SVG converter ** --** Copyright (C) 2005-2022 Martin Gieseking ** -+** Copyright (C) 2005-2023 Martin Gieseking ** - ** ** - ** This program is free software; you can redistribute it and/or ** - ** modify it under the terms of the GNU General Public License as ** -diff -up texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/EmSpecialHandler.hpp.301 texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/EmSpecialHandler.hpp ---- texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/EmSpecialHandler.hpp.301 2022-01-21 12:25:16.000000000 -0500 -+++ texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/EmSpecialHandler.hpp 2023-01-17 15:53:51.703205300 -0500 -@@ -2,7 +2,7 @@ - ** EmSpecialHandler.hpp ** - ** ** - ** This file is part of dvisvgm -- a fast DVI to SVG converter ** --** Copyright (C) 2005-2022 Martin Gieseking ** -+** Copyright (C) 2005-2023 Martin Gieseking ** - ** ** - ** This program is free software; you can redistribute it and/or ** - ** modify it under the terms of the GNU General Public License as ** -diff -up texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/EncFile.cpp.301 texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/EncFile.cpp ---- texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/EncFile.cpp.301 2022-01-21 12:25:16.000000000 -0500 -+++ texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/EncFile.cpp 2023-01-17 15:53:51.703205300 -0500 -@@ -2,7 +2,7 @@ - ** EncFile.cpp ** - ** ** - ** This file is part of dvisvgm -- a fast DVI to SVG converter ** --** Copyright (C) 2005-2022 Martin Gieseking ** -+** Copyright (C) 2005-2023 Martin Gieseking ** - ** ** - ** This program is free software; you can redistribute it and/or ** - ** modify it under the terms of the GNU General Public License as ** -diff -up texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/EncFile.hpp.301 texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/EncFile.hpp ---- texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/EncFile.hpp.301 2022-01-21 12:25:16.000000000 -0500 -+++ texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/EncFile.hpp 2023-01-17 16:41:00.380861690 -0500 -@@ -2,7 +2,7 @@ - ** EncFile.hpp ** - ** ** - ** This file is part of dvisvgm -- a fast DVI to SVG converter ** --** Copyright (C) 2005-2022 Martin Gieseking ** -+** Copyright (C) 2005-2023 Martin Gieseking ** - ** ** - ** This program is free software; you can redistribute it and/or ** - ** modify it under the terms of the GNU General Public License as ** -@@ -21,6 +21,7 @@ - #ifndef ENCFILE_HPP - #define ENCFILE_HPP - -+#include - #include - #include - #include -diff -up texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/EPSFile.cpp.301 texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/EPSFile.cpp ---- texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/EPSFile.cpp.301 2022-01-21 12:25:16.000000000 -0500 -+++ texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/EPSFile.cpp 2023-01-17 15:53:51.703205300 -0500 -@@ -2,7 +2,7 @@ - ** EPSFile.cpp ** - ** ** - ** This file is part of dvisvgm -- a fast DVI to SVG converter ** --** Copyright (C) 2005-2022 Martin Gieseking ** -+** Copyright (C) 2005-2023 Martin Gieseking ** - ** ** - ** This program is free software; you can redistribute it and/or ** - ** modify it under the terms of the GNU General Public License as ** -diff -up texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/EPSFile.hpp.301 texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/EPSFile.hpp ---- texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/EPSFile.hpp.301 2022-01-21 12:25:16.000000000 -0500 -+++ texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/EPSFile.hpp 2023-01-17 16:41:12.689003984 -0500 -@@ -2,7 +2,7 @@ - ** EPSFile.hpp ** - ** ** - ** This file is part of dvisvgm -- a fast DVI to SVG converter ** --** Copyright (C) 2005-2022 Martin Gieseking ** -+** Copyright (C) 2005-2023 Martin Gieseking ** - ** ** - ** This program is free software; you can redistribute it and/or ** - ** modify it under the terms of the GNU General Public License as ** -@@ -21,6 +21,7 @@ - #ifndef EPSFILE_HPP - #define EPSFILE_HPP - -+#include - #include - #include - #include -diff -up texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/EPSToSVG.hpp.301 texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/EPSToSVG.hpp ---- texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/EPSToSVG.hpp.301 2022-01-21 12:25:16.000000000 -0500 -+++ texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/EPSToSVG.hpp 2023-01-17 15:53:51.703205300 -0500 -@@ -2,7 +2,7 @@ - ** EPSToSVG.hpp ** - ** ** - ** This file is part of dvisvgm -- a fast DVI to SVG converter ** --** Copyright (C) 2005-2022 Martin Gieseking ** -+** Copyright (C) 2005-2023 Martin Gieseking ** - ** ** - ** This program is free software; you can redistribute it and/or ** - ** modify it under the terms of the GNU General Public License as ** -diff -up texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/FileFinder.cpp.301 texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/FileFinder.cpp ---- texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/FileFinder.cpp.301 2022-01-21 12:25:16.000000000 -0500 -+++ texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/FileFinder.cpp 2023-01-17 15:53:51.703205300 -0500 -@@ -2,7 +2,7 @@ - ** FileFinder.cpp ** - ** ** - ** This file is part of dvisvgm -- a fast DVI to SVG converter ** --** Copyright (C) 2005-2022 Martin Gieseking ** -+** Copyright (C) 2005-2023 Martin Gieseking ** - ** ** - ** This program is free software; you can redistribute it and/or ** - ** modify it under the terms of the GNU General Public License as ** -@@ -21,7 +21,6 @@ - #include - #ifdef MIKTEX - #include "MiKTeXCom.hpp" -- #include "utility.hpp" - #else - #ifdef KPSE_CXX_UNSAFE - extern "C" { -@@ -43,6 +42,7 @@ - #include "Message.hpp" - #include "MessageException.hpp" - #include "Process.hpp" -+#include "utility.hpp" - - std::string FileFinder::_argv0; - std::string FileFinder::_progname; -@@ -120,12 +120,12 @@ const char* FileFinder::findFile (const - if (ftype) - ext = ftype; - else { -- size_t pos = fname.rfind('.'); -+ auto pos = fname.rfind('.'); - if (pos == std::string::npos) - return nullptr; // no extension and no file type => no search - ext = fname.substr(pos+1); - } -- -+ ext = util::tolower(ext); - #ifdef _WIN32 - if (ext == "dll" || ext == "exe") - return lookupExecutable(fname); -@@ -140,7 +140,18 @@ const char* FileFinder::findFile (const - return _pathbuf.empty() ? nullptr : _pathbuf.c_str(); - } - try { -- return _miktex->findFile(fname.c_str()); -+ if (!ftype) // no file type given? -+ return _miktex->findFile(fname.c_str()); // lookup given filename -+ // handle file type "ttf" similar to kpathsea and look for .ttf, .ttc, and .dfont -+ std::vector suffixes{ext}; -+ if (ext == "ttf") { -+ suffixes.emplace_back("ttc"); -+ suffixes.emplace_back("dfont"); -+ } -+ for (const auto &suffix : suffixes) { -+ if (const char *path = _miktex->findFile((fname+"."+suffix).c_str())) -+ return path; -+ } - } - catch (const MessageException &e) { - return nullptr; -@@ -181,8 +192,8 @@ const char* FileFinder::findFile (const - std::free(path); - return _pathbuf.c_str(); - } -- return nullptr; - #endif // !MIKTEX -+ return nullptr; - } - - -@@ -191,7 +202,7 @@ const char* FileFinder::findFile (const - * @param[in] fname name of file to look up - * @return file path on success, 0 otherwise */ - const char* FileFinder::findMappedFile (std::string fname) const { -- size_t pos = fname.rfind('.'); -+ auto pos = fname.rfind('.'); - if (pos == std::string::npos) - return nullptr; - const std::string ext = fname.substr(pos+1); // file extension -@@ -214,7 +225,7 @@ const char* FileFinder::findMappedFile ( - * @param[in] fname name of file to build - * @return file path on success, 0 otherwise */ - const char* FileFinder::mktex (const std::string &fname) const { -- size_t pos = fname.rfind('.'); -+ auto pos = fname.rfind('.'); - if (!_enableMktex || pos == std::string::npos) - return nullptr; - -diff -up texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/FileFinder.hpp.301 texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/FileFinder.hpp ---- texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/FileFinder.hpp.301 2022-01-21 12:25:16.000000000 -0500 -+++ texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/FileFinder.hpp 2023-01-17 15:53:51.703205300 -0500 -@@ -2,7 +2,7 @@ - ** FileFinder.hpp ** - ** ** - ** This file is part of dvisvgm -- a fast DVI to SVG converter ** --** Copyright (C) 2005-2022 Martin Gieseking ** -+** Copyright (C) 2005-2023 Martin Gieseking ** - ** ** - ** This program is free software; you can redistribute it and/or ** - ** modify it under the terms of the GNU General Public License as ** -diff -up texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/FilePath.cpp.301 texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/FilePath.cpp ---- texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/FilePath.cpp.301 2022-01-21 12:25:16.000000000 -0500 -+++ texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/FilePath.cpp 2023-01-17 15:53:51.703205300 -0500 -@@ -2,7 +2,7 @@ - ** FilePath.cpp ** - ** ** - ** This file is part of dvisvgm -- a fast DVI to SVG converter ** --** Copyright (C) 2005-2022 Martin Gieseking ** -+** Copyright (C) 2005-2023 Martin Gieseking ** - ** ** - ** This program is free software; you can redistribute it and/or ** - ** modify it under the terms of the GNU General Public License as ** -@@ -29,7 +29,7 @@ using namespace std; - - /** Removes redundant slashes from a given path. */ - static string& single_slashes (string &str) { -- size_t pos=0; -+ string::size_type pos=0; - while ((pos = str.find("//", pos)) != string::npos) - str.replace(pos, 2, "/"); - return str; -@@ -124,7 +124,7 @@ void FilePath::init (string path, bool i - path = FileSystem::ensureForwardSlashes(path); - #endif - if (isfile) { -- size_t pos = path.rfind('/'); -+ auto pos = path.rfind('/'); - _fname = path.substr((pos == string::npos) ? 0 : pos+1); - // remove filename from path - if (pos == 0 && _fname.length() > 1) // file in root directory? -@@ -163,12 +163,12 @@ void FilePath::add (const string &dir) { - * location of a directory (and not of a file) an empty string - * is returned. */ - string FilePath::suffix () const { -- size_t start = 0; -+ string::size_type start = 0; - // ignore leading dots - while (start < _fname.length() && _fname[start] == '.') - start++; - string sub = _fname.substr(start); -- size_t pos = sub.rfind('.'); -+ auto pos = sub.rfind('.'); - if (pos != string::npos && pos < sub.length()-1) - return sub.substr(pos+1); - return ""; -@@ -194,7 +194,7 @@ void FilePath::suffix (const string &new - * Example: FilePath("/a/b/c.def", true) == "c" */ - string FilePath::basename () const { - if (!_fname.empty()) { -- size_t len = suffix().length(); -+ auto len = suffix().length(); - if (len > 0) - len++; // strip dot too - return _fname.substr(0, _fname.length()-len); -diff -up texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/FilePath.hpp.301 texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/FilePath.hpp ---- texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/FilePath.hpp.301 2022-01-21 12:25:16.000000000 -0500 -+++ texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/FilePath.hpp 2023-01-17 15:53:51.703205300 -0500 -@@ -2,7 +2,7 @@ - ** FilePath.hpp ** - ** ** - ** This file is part of dvisvgm -- a fast DVI to SVG converter ** --** Copyright (C) 2005-2022 Martin Gieseking ** -+** Copyright (C) 2005-2023 Martin Gieseking ** - ** ** - ** This program is free software; you can redistribute it and/or ** - ** modify it under the terms of the GNU General Public License as ** -diff -up texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/FileSystem.cpp.301 texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/FileSystem.cpp ---- texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/FileSystem.cpp.301 2022-01-21 12:25:16.000000000 -0500 -+++ texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/FileSystem.cpp 2023-01-17 15:53:51.704205311 -0500 -@@ -2,7 +2,7 @@ - ** FileSystem.cpp ** - ** ** - ** This file is part of dvisvgm -- a fast DVI to SVG converter ** --** Copyright (C) 2005-2022 Martin Gieseking ** -+** Copyright (C) 2005-2023 Martin Gieseking ** - ** ** - ** This program is free software; you can redistribute it and/or ** - ** modify it under the terms of the GNU General Public License as ** -@@ -135,6 +135,14 @@ string FileSystem::ensureForwardSlashes - } - - -+string FileSystem::ensureSystemSlashes (string path) { -+#ifdef _WIN32 -+ std::replace(path.begin(), path.end(), '/', PATHSEP); -+#endif -+ return path; -+} -+ -+ - /** Returns the absolute path of the current working directory. */ - string FileSystem::getcwd () { - char buf[1024]; -@@ -207,12 +215,13 @@ const char* FileSystem::userdir () { - } - - --/** Returns the path of the temporary folder. */ --string FileSystem::tmpdir () { -+/** Returns the path of the temporary folder. -+ * @param[in] inpace if true, don't create a uniquely named subfolder */ -+string FileSystem::tmpdir (bool inplace) { - if (_tmpdir.path().empty()) { - string basedir; - if (!TMPDIR.empty()) -- basedir = TMPDIR; -+ basedir = ensureForwardSlashes(TMPDIR); - else { - #ifdef _WIN32 - char buf[MAX_PATH]; -@@ -226,10 +235,14 @@ string FileSystem::tmpdir () { - else - basedir = "/tmp"; - #endif -- if (basedir.back() == '/') -- basedir.pop_back(); - } -- _tmpdir = TemporaryDirectory(basedir, PROGRAM_NAME); -+ if (basedir.length() > 2 && string(basedir.end()-2, basedir.end()) == "//") { -+ inplace = true; -+ basedir.pop_back(); -+ } -+ if (basedir.front() != '/' && basedir.back() == '/') -+ basedir.pop_back(); -+ _tmpdir = TemporaryDirectory(basedir, PROGRAM_NAME, inplace); - } - return _tmpdir.path(); - } -@@ -380,26 +393,34 @@ int FileSystem::collect (const std::stri - } - - --/** Creates a temporary directory in a given folder. -+/** Creates a temporary directory in a given folder or treats the given folder as temporary directory. - * @param[in] folder folder path in which the directory is to be created -- * @param[in] prefix initial string of the directory name */ --FileSystem::TemporaryDirectory::TemporaryDirectory (const std::string &folder, string prefix) { -- using namespace std::chrono; -- auto now = system_clock::now().time_since_epoch(); -- auto now_ms = duration_cast(now).count(); -- auto hash = XXH64HashFunction(to_string(now_ms)).digestValue(); -- if (!prefix.empty() && prefix.back() != '-') -- prefix += "-"; -- for (int i=0; i < 10 && _path.empty(); i++) { -- hash++; -- stringstream oss; -- oss << folder << '/' << prefix << hex << hash; -- if (exists(oss.str())) -- continue; -- if (s_mkdir(oss.str())) -- _path = oss.str() + "/"; -- else -- break; -+ * @param[in] prefix initial string of the directory name -+ * @param[in] inplace if true, 'folder' is treated as temporary directory and no subfolder is created */ -+FileSystem::TemporaryDirectory::TemporaryDirectory (const std::string &folder, string prefix, bool inplace) { -+ if (inplace) { -+ _path = folder; -+ if (!_path.empty() && _path.back() != '/') -+ _path.push_back('/'); -+ } -+ else { -+ using namespace std::chrono; -+ auto now = system_clock::now().time_since_epoch(); -+ auto now_ms = duration_cast(now).count(); -+ auto hash = XXH64HashFunction(to_string(now_ms)).digestValue(); -+ if (!prefix.empty() && prefix.back() != '-') -+ prefix.push_back('-'); -+ for (int i = 0; i < 10 && _path.empty(); i++) { -+ hash++; -+ stringstream oss; -+ oss << folder << '/' << prefix << hex << hash; -+ if (exists(oss.str())) -+ continue; -+ if (s_mkdir(oss.str())) -+ _path = oss.str() + "/"; -+ else -+ break; -+ } - } - } - -diff -up texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/FileSystem.hpp.301 texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/FileSystem.hpp ---- texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/FileSystem.hpp.301 2022-01-21 12:25:16.000000000 -0500 -+++ texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/FileSystem.hpp 2023-01-18 10:14:44.009823202 -0500 -@@ -2,7 +2,7 @@ - ** FileSystem.hpp ** - ** ** - ** This file is part of dvisvgm -- a fast DVI to SVG converter ** --** Copyright (C) 2005-2022 Martin Gieseking ** -+** Copyright (C) 2005-2023 Martin Gieseking ** - ** ** - ** This program is free software; you can redistribute it and/or ** - ** modify it under the terms of the GNU General Public License as ** -@@ -21,6 +21,7 @@ - #ifndef FILESYSTEM_HPP - #define FILESYSTEM_HPP - -+#include - #include - #include - -@@ -28,7 +29,7 @@ class FileSystem { - class TemporaryDirectory { - friend class FileSystem; - public: -- TemporaryDirectory (const std::string &folder, std::string prefix); -+ TemporaryDirectory (const std::string &folder, std::string prefix, bool inplace=false); - TemporaryDirectory (TemporaryDirectory &&tmpdir) =default; - ~TemporaryDirectory (); - TemporaryDirectory& operator = (TemporaryDirectory &&tmpdir) =default; -@@ -47,11 +48,12 @@ class FileSystem { - static bool copy (const std::string &src, const std::string &dest, bool remove_src=false); - static uint64_t filesize (const std::string &fname); - static std::string ensureForwardSlashes (std::string path); -+ static std::string ensureSystemSlashes (std::string path); - static std::string getcwd (); - #ifdef _WIN32 - static std::string getcwd (char drive); - #endif -- static std::string tmpdir (); -+ static std::string tmpdir (bool inplace=false); - static bool chdir (const std::string &dir); - static bool exists (const std::string &fname); - static bool mkdir (const std::string &dirname); -diff -up texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/FixWord.hpp.301 texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/FixWord.hpp ---- texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/FixWord.hpp.301 2022-01-21 12:25:16.000000000 -0500 -+++ texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/FixWord.hpp 2023-01-17 15:53:51.704205311 -0500 -@@ -2,7 +2,7 @@ - ** FixWord.hpp ** - ** ** - ** This file is part of dvisvgm -- a fast DVI to SVG converter ** --** Copyright (C) 2005-2022 Martin Gieseking ** -+** Copyright (C) 2005-2023 Martin Gieseking ** - ** ** - ** This program is free software; you can redistribute it and/or ** - ** modify it under the terms of the GNU General Public License as ** -diff -up texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/FontCache.cpp.301 texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/FontCache.cpp ---- texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/FontCache.cpp.301 2022-01-21 12:25:16.000000000 -0500 -+++ texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/FontCache.cpp 2023-01-17 15:53:51.704205311 -0500 -@@ -2,7 +2,7 @@ - ** FontCache.cpp ** - ** ** - ** This file is part of dvisvgm -- a fast DVI to SVG converter ** --** Copyright (C) 2005-2022 Martin Gieseking ** -+** Copyright (C) 2005-2023 Martin Gieseking ** - ** ** - ** This program is free software; you can redistribute it and/or ** - ** modify it under the terms of the GNU General Public License as ** -diff -up texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/FontCache.hpp.301 texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/FontCache.hpp ---- texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/FontCache.hpp.301 2022-01-21 12:25:16.000000000 -0500 -+++ texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/FontCache.hpp 2023-01-17 16:41:25.575152960 -0500 -@@ -2,7 +2,7 @@ - ** FontCache.hpp ** - ** ** - ** This file is part of dvisvgm -- a fast DVI to SVG converter ** --** Copyright (C) 2005-2022 Martin Gieseking ** -+** Copyright (C) 2005-2023 Martin Gieseking ** - ** ** - ** This program is free software; you can redistribute it and/or ** - ** modify it under the terms of the GNU General Public License as ** -@@ -21,6 +21,7 @@ - #ifndef FONTCACHE_HPP - #define FONTCACHE_HPP - -+#include - #include - #include - #include -diff -up texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/Font.cpp.301 texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/Font.cpp ---- texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/Font.cpp.301 2022-01-21 12:25:16.000000000 -0500 -+++ texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/Font.cpp 2023-01-17 15:53:51.704205311 -0500 -@@ -2,7 +2,7 @@ - ** Font.cpp ** - ** ** - ** This file is part of dvisvgm -- a fast DVI to SVG converter ** --** Copyright (C) 2005-2022 Martin Gieseking ** -+** Copyright (C) 2005-2023 Martin Gieseking ** - ** ** - ** This program is free software; you can redistribute it and/or ** - ** modify it under the terms of the GNU General Public License as ** -@@ -18,8 +18,8 @@ - ** along with this program; if not, see . ** - *************************************************************************/ - -+#include - #include --#include - #include - #include - #include "CMap.hpp" -@@ -54,7 +54,7 @@ const FontEncoding* Font::encoding () co - - const FontMap::Entry* Font::fontMapEntry () const { - string fontname = name(); -- size_t pos = fontname.rfind('.'); -+ auto pos = fontname.rfind('.'); - if (pos != string::npos) - fontname = fontname.substr(0, pos); // strip extension - return FontMap::instance().lookup(fontname); -@@ -233,7 +233,8 @@ int PhysicalFont::unitsPerEm() const { - } - - --int PhysicalFont::hAdvance () const { -+/** Returns the average horizontal advance width in font units. */ -+int PhysicalFont::hAverageAdvance () const { - if (type() == Type::MF) - return 0; - FontEngine::instance().setFont(*this); -@@ -241,6 +242,7 @@ int PhysicalFont::hAdvance () const { - } - - -+/** Returns the horizontal advance width of a character in font units. */ - double PhysicalFont::hAdvance (int c) const { - if (type() == Type::MF) - return unitsPerEm()*charWidth(c)/designSize(); -@@ -252,6 +254,7 @@ double PhysicalFont::hAdvance (int c) co - } - - -+/** Returns the vertical advance width of a character in font units. */ - double PhysicalFont::vAdvance (int c) const { - if (type() == Type::MF) - return unitsPerEm()*charWidth(c)/designSize(); -@@ -279,7 +282,8 @@ double PhysicalFont::scaledAscent() cons - } - - --/** Returns the unscaled ascender of the font in design units. */ -+/** Returns the unscaled ascender of the font in design units. -+ * Positive values denote an extension above the baseline.'*/ - int PhysicalFont::ascent () const { - if (type() == Type::MF) - return getMetrics() ? getMetrics()->getAscent()*unitsPerEm()/getMetrics()->getQuad() : 0; -@@ -288,7 +292,8 @@ int PhysicalFont::ascent () const { - } - - --/** Returns the unscaled descender of the font in design units. */ -+/** Returns the unscaled descender of the font in design units. -+ * Positive values denote an extension below the baseline. */ - int PhysicalFont::descent () const { - if (type() == Type::MF) - return getMetrics() ? getMetrics()->getDescent()*unitsPerEm()/getMetrics()->getQuad() : 0; -@@ -315,6 +320,13 @@ std::string PhysicalFont::styleName () c - } - - -+int PhysicalFont::charIndexByName(const string &charname) const { -+ if (charname.empty()) -+ return 0; -+ FontEngine::instance().setFont(*this); -+ return FontEngine::instance().getCharIndexByGlyphName(charname.c_str()); -+} -+ - - /** Extracts the glyph outlines of a given character. - * @param[in] c character code of requested glyph -@@ -596,7 +608,7 @@ PhysicalFont::Type NativeFont::type () c - return PhysicalFont::Type::OTF; - if (ext == "ttf") - return PhysicalFont::Type::TTF; -- if (ext == "pfb") -+ if (ext == "pfb" || ext == "pfa") - return PhysicalFont::Type::PFB; - } - } -@@ -607,7 +619,7 @@ PhysicalFont::Type NativeFont::type () c - double NativeFont::charWidth (int c) const { - FontEngine::instance().setFont(*this); - int upem = FontEngine::instance().getUnitsPerEM(); -- return upem ? (scaledSize()*FontEngine::instance().getAdvance(c)/upem*_style.extend) : 0; -+ return upem ? (scaledSize()*FontEngine::instance().getHAdvance(decodeChar(c))/upem*_style.extend) : 0; - } - - -@@ -621,14 +633,37 @@ double NativeFont::italicCorr(int c) con - double NativeFont::charHeight (int c) const { - FontEngine::instance().setFont(*this); - int upem = FontEngine::instance().getUnitsPerEM(); -- return upem ? (scaledSize()*FontEngine::instance().getHeight(Character(Character::INDEX, c))/upem) : 0; -+ return upem ? (scaledSize()*FontEngine::instance().getHeight(decodeChar(c))/upem) : 0; - } - - - double NativeFont::charDepth (int c) const { - FontEngine::instance().setFont(*this); - int upem = FontEngine::instance().getUnitsPerEM(); -- return upem ? (scaledSize()*FontEngine::instance().getDepth(Character(Character::INDEX, c))/upem) : 0; -+ return upem ? (scaledSize()*FontEngine::instance().getDepth(decodeChar(c))/upem) : 0; -+} -+ -+ -+double NativeFont::hAdvance (Character c) const { -+ FontEngine::instance().setFont(*this); -+ int upem = FontEngine::instance().getUnitsPerEM(); -+ return upem ? (scaledSize()*FontEngine::instance().getHAdvance(c)/upem) : 0; -+} -+ -+ -+double NativeFont::vAdvance (Character c) const { -+ FontEngine::instance().setFont(*this); -+ int upem = FontEngine::instance().getUnitsPerEM(); -+ return upem ? (scaledSize()*FontEngine::instance().getVAdvance(c)/upem) : 0; -+} -+ -+////////////////////////////////////////////////////////////////////////////// -+ -+NativeFontImpl::NativeFontImpl (string fname, string fontname, double ptsize) -+ : NativeFont(ptsize, FontStyle(), Color::BLACK), _path(std::move(fname)), _name(std::move(fontname)) -+{ -+ // plus characters (as appended to subset prefixes) are not allowed in font/family names -+ std::replace(_name.begin(), _name.end(), '+', '-'); - } - - -@@ -644,13 +679,25 @@ bool NativeFontImpl::findAndAssignBaseFo - - - Character NativeFontImpl::decodeChar (uint32_t c) const { -- return Character(Character::INDEX, c); -+ return {Character::INDEX, c}; - } - - - uint32_t NativeFontImpl::unicode (uint32_t c) const { - uint32_t ucode = _toUnicodeMap.valueAt(c); -- return Unicode::charToCodepoint(ucode); -+ return Unicode::charToCodepoint(ucode, true); -+} -+ -+ -+void NativeFontImpl::mapCharToUnicode (uint32_t c, uint32_t codepoint) { -+ _toUnicodeMap.addRange(c, c, codepoint); -+} -+ -+ -+bool NativeFontImpl::verticalLayout() const { -+ FontEngine &fe = FontEngine::instance(); -+ fe.setFont(*this); -+ return fe.hasVerticalMetrics(); - } - - ////////////////////////////////////////////////////////////////////////////// -diff -up texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/FontEncoding.cpp.301 texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/FontEncoding.cpp ---- texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/FontEncoding.cpp.301 2022-01-21 12:25:16.000000000 -0500 -+++ texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/FontEncoding.cpp 2023-01-17 15:53:51.704205311 -0500 -@@ -2,7 +2,7 @@ - ** FontEncoding.cpp ** - ** ** - ** This file is part of dvisvgm -- a fast DVI to SVG converter ** --** Copyright (C) 2005-2022 Martin Gieseking ** -+** Copyright (C) 2005-2023 Martin Gieseking ** - ** ** - ** This program is free software; you can redistribute it and/or ** - ** modify it under the terms of the GNU General Public License as ** -diff -up texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/FontEncoding.hpp.301 texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/FontEncoding.hpp ---- texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/FontEncoding.hpp.301 2022-01-21 12:25:16.000000000 -0500 -+++ texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/FontEncoding.hpp 2023-01-17 16:41:57.041516740 -0500 -@@ -2,7 +2,7 @@ - ** FontEncoding.hpp ** - ** ** - ** This file is part of dvisvgm -- a fast DVI to SVG converter ** --** Copyright (C) 2005-2022 Martin Gieseking ** -+** Copyright (C) 2005-2023 Martin Gieseking ** - ** ** - ** This program is free software; you can redistribute it and/or ** - ** modify it under the terms of the GNU General Public License as ** -@@ -21,6 +21,7 @@ - #ifndef FONTENCODING_HPP - #define FONTENCODING_HPP - -+#include - #include - #include "Character.hpp" - -diff -up texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/FontEngine.cpp.301 texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/FontEngine.cpp ---- texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/FontEngine.cpp.301 2022-01-21 12:25:16.000000000 -0500 -+++ texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/FontEngine.cpp 2023-01-17 16:42:19.770779511 -0500 -@@ -2,7 +2,7 @@ - ** FontEngine.cpp ** - ** ** - ** This file is part of dvisvgm -- a fast DVI to SVG converter ** --** Copyright (C) 2005-2022 Martin Gieseking ** -+** Copyright (C) 2005-2023 Martin Gieseking ** - ** ** - ** This program is free software; you can redistribute it and/or ** - ** modify it under the terms of the GNU General Public License as ** -@@ -19,6 +19,7 @@ - *************************************************************************/ - - #include -+#include - #include - #include - #include FT_ADVANCES_H -@@ -29,6 +30,7 @@ - #include "Font.hpp" - #include "FontEngine.hpp" - #include "FontStyle.hpp" -+#include "fonts/Base14Fonts.hpp" - #include "Message.hpp" - #include "utility.hpp" - -@@ -88,7 +90,19 @@ string FontEngine::version () { - bool FontEngine::setFont (const string &fname, int fontindex, const CharMapID &charMapID) { - if (_currentFace && FT_Done_Face(_currentFace)) - Message::estream(true) << "failed to release font\n"; -- if (FT_New_Face(_library, fname.c_str(), fontindex, &_currentFace)) { -+ if (fname.size() <= 6 || fname.substr(0, 6) == "sys://") { -+ if (const MemoryFontData *data = find_base14_font(fname.substr(6))) { -+ FT_Open_Args args; -+ args.flags = FT_OPEN_MEMORY; -+ args.memory_base = reinterpret_cast(data->data); -+ args.memory_size = FT_Long(data->size); -+ if (FT_Open_Face(_library, &args, fontindex, &_currentFace)) { -+ Message::estream(true) << "can't read memory font " << fname << '\n'; -+ return false; -+ } -+ } -+ } -+ else if (FT_New_Face(_library, fname.c_str(), fontindex, &_currentFace)) { - Message::estream(true) << "can't read font file " << fname << '\n'; - return false; - } -@@ -115,16 +129,24 @@ bool FontEngine::setFont (const Font &fo - - bool FontEngine::isCIDFont() const { - FT_Bool cid_keyed; -- return FT_Get_CID_Is_Internally_CID_Keyed(_currentFace, &cid_keyed) == 0 && cid_keyed; -+ return _currentFace && FT_Get_CID_Is_Internally_CID_Keyed(_currentFace, &cid_keyed) == 0 && cid_keyed; -+} -+ -+ -+/** Returns true if the current font contains vertical layout data. */ -+bool FontEngine::hasVerticalMetrics () const { -+ return _currentFace && FT_HAS_VERTICAL(_currentFace); - } - - - bool FontEngine::setCharMap (const CharMapID &charMapID) { -- for (int i=0; i < _currentFace->num_charmaps; i++) { -- FT_CharMap ft_cmap = _currentFace->charmaps[i]; -- if (ft_cmap->platform_id == charMapID.platform_id && ft_cmap->encoding_id == charMapID.encoding_id) { -- FT_Set_Charmap(_currentFace, ft_cmap); -- return true; -+ if (_currentFace) { -+ for (int i = 0; i < _currentFace->num_charmaps; i++) { -+ FT_CharMap ft_cmap = _currentFace->charmaps[i]; -+ if (ft_cmap->platform_id == charMapID.platform_id && ft_cmap->encoding_id == charMapID.encoding_id) { -+ FT_Set_Charmap(_currentFace, ft_cmap); -+ return true; -+ } - } - } - return false; -@@ -149,22 +171,24 @@ void FontEngine::buildGidToCharCodeMap ( - /** Creates a charmap that maps from the custom character encoding to Unicode. - * @return pointer to charmap if it could be created, 0 otherwise */ - unique_ptr FontEngine::createCustomToUnicodeMap () { -- FT_CharMap ftcharmap = _currentFace->charmap; -- if (FT_Select_Charmap(_currentFace, FT_ENCODING_ADOBE_CUSTOM) != 0) -- return nullptr; -- RangeMap gidToCharCodeMap; -- buildGidToCharCodeMap(gidToCharCodeMap); -- if (FT_Select_Charmap(_currentFace, FT_ENCODING_UNICODE) != 0) -- return nullptr; - auto charmap = util::make_unique(); -- FT_UInt gid; // index of current glyph -- uint32_t ucCharcode = FT_Get_First_Char(_currentFace, &gid); // Unicode code point -- while (gid) { -- uint32_t customCharcode = gidToCharCodeMap.valueAt(gid); -- charmap->addRange(customCharcode, customCharcode, ucCharcode); -- ucCharcode = FT_Get_Next_Char(_currentFace, ucCharcode, &gid); -+ if (_currentFace) { -+ FT_CharMap ftcharmap = _currentFace->charmap; -+ if (FT_Select_Charmap(_currentFace, FT_ENCODING_ADOBE_CUSTOM) != 0) -+ return nullptr; -+ RangeMap gidToCharCodeMap; -+ buildGidToCharCodeMap(gidToCharCodeMap); -+ if (FT_Select_Charmap(_currentFace, FT_ENCODING_UNICODE) != 0) -+ return nullptr; -+ FT_UInt gid; // index of current glyph -+ uint32_t ucCharcode = FT_Get_First_Char(_currentFace, &gid); // Unicode code point -+ while (gid) { -+ uint32_t customCharcode = gidToCharCodeMap.valueAt(gid); -+ charmap->addRange(customCharcode, customCharcode, ucCharcode); -+ ucCharcode = FT_Get_Next_Char(_currentFace, ucCharcode, &gid); -+ } -+ FT_Set_Charmap(_currentFace, ftcharmap); - } -- FT_Set_Charmap(_currentFace, ftcharmap); - return std::move(charmap); - } - -@@ -179,6 +203,27 @@ const char* FontEngine::getStyleName () - } - - -+/** Returns the PS name of the current font. */ -+const char* FontEngine::getPSName () const { -+ return _currentFace ? FT_Get_Postscript_Name(_currentFace) : nullptr; -+} -+ -+ -+/** Returns the PS name of a font given by a file. -+ * @param[in] fname name/path of the font file -+ * @return the PS name */ -+string FontEngine::getPSName (const string &fname) const { -+ string psname; -+ FT_Face face; -+ if (FT_New_Face(_library, fname.c_str(), 0, &face) == 0) { -+ if (const char *ptr = FT_Get_Postscript_Name(face)) -+ psname = ptr; -+ FT_Done_Face(face); -+ } -+ return psname; -+} -+ -+ - int FontEngine::getUnitsPerEM () const { - return _currentFace ? _currentFace->units_per_EM : 0; - } -@@ -200,16 +245,6 @@ int FontEngine::getDescender () const { - } - - --int FontEngine::getAdvance (int c) const { -- if (_currentFace) { -- FT_Fixed adv=0; -- FT_Get_Advance(_currentFace, c, FT_LOAD_NO_SCALE, &adv); -- return adv; -- } -- return 0; --} -- -- - int FontEngine::getHAdvance () const { - if (_currentFace) { - auto table = static_cast(FT_Get_Sfnt_Table(_currentFace, ft_sfnt_os2)); -@@ -219,21 +254,26 @@ int FontEngine::getHAdvance () const { - } - - -+/** Returns the horizontal advance width of a given character in font units. */ - int FontEngine::getHAdvance (const Character &c) const { - if (_currentFace) { -- FT_Load_Glyph(_currentFace, charIndex(c), FT_LOAD_NO_SCALE); -- return _currentFace->glyph->metrics.horiAdvance; -+ FT_Fixed adv=0; -+ FT_Get_Advance(_currentFace, charIndex(c), FT_LOAD_NO_SCALE, &adv); -+ return adv; - } - return 0; - } - - -+/** Returns the vertical advance width of a given character in font units. */ - int FontEngine::getVAdvance (const Character &c) const { - if (_currentFace) { -- FT_Load_Glyph(_currentFace, charIndex(c), FT_LOAD_NO_SCALE); -+ FT_Fixed adv=0; -+ auto flags = FT_LOAD_NO_SCALE; - if (FT_HAS_VERTICAL(_currentFace)) -- return _currentFace->glyph->metrics.vertAdvance; -- return _currentFace->glyph->metrics.horiAdvance; -+ flags |= FT_LOAD_VERTICAL_LAYOUT; -+ FT_Get_Advance(_currentFace, charIndex(c), flags, &adv); -+ return adv; - } - return 0; - } -@@ -241,8 +281,8 @@ int FontEngine::getVAdvance (const Chara - - int FontEngine::getWidth (const Character &c) const { - if (_currentFace) { -- FT_Load_Glyph(_currentFace, charIndex(c), FT_LOAD_NO_SCALE); -- return _currentFace->glyph->metrics.width; -+ if (FT_Load_Glyph(_currentFace, charIndex(c), FT_LOAD_NO_SCALE) == 0) -+ return _currentFace->glyph->metrics.width; - } - return 0; - } -@@ -250,8 +290,8 @@ int FontEngine::getWidth (const Characte - - int FontEngine::getHeight (const Character &c) const { - if (_currentFace) { -- FT_Load_Glyph(_currentFace, charIndex(c), FT_LOAD_NO_SCALE); -- return _currentFace->glyph->metrics.horiBearingY; -+ if (FT_Load_Glyph(_currentFace, charIndex(c), FT_LOAD_NO_SCALE) == 0) -+ return _currentFace->glyph->metrics.horiBearingY; - } - return 0; - } -@@ -259,13 +299,18 @@ int FontEngine::getHeight (const Charact - - int FontEngine::getDepth (const Character &c) const { - if (_currentFace) { -- FT_Load_Glyph(_currentFace, charIndex(c), FT_LOAD_NO_SCALE); -- return _currentFace->glyph->metrics.height - _currentFace->glyph->metrics.horiBearingY; -+ if (FT_Load_Glyph(_currentFace, charIndex(c), FT_LOAD_NO_SCALE) == 0) -+ return _currentFace->glyph->metrics.height - _currentFace->glyph->metrics.horiBearingY; - } - return 0; - } - - -+int FontEngine::getCharIndexByGlyphName(const char *name) const { -+ return _currentFace ? int(FT_Get_Name_Index(_currentFace, name)) : 0; -+} -+ -+ - int FontEngine::charIndex (const Character &c) const { - if (!_currentFace || !_currentFace->charmap) - return c.type() == Character::NAME ? 0 : c.number(); -@@ -280,22 +325,6 @@ int FontEngine::charIndex (const Charact - } - - --/** Get first available character of the current font face. */ --int FontEngine::getFirstChar () const { -- if (_currentFace) -- return _currentChar = FT_Get_First_Char(_currentFace, &_currentGlyphIndex); -- return 0; --} -- -- --/** Get the next available character of the current font face. */ --int FontEngine::getNextChar () const { -- if (_currentFace && _currentGlyphIndex) -- return _currentChar = FT_Get_Next_Char(_currentFace, _currentChar, &_currentGlyphIndex); -- return getFirstChar(); --} -- -- - /** Returns the number of glyphs present in the current font face. */ - int FontEngine::getNumGlyphs () const { - return _currentFace ? _currentFace->num_glyphs : 0; -@@ -306,15 +335,15 @@ int FontEngine::getNumGlyphs () const { - * @param[in] c char code - * @return glyph name */ - string FontEngine::getGlyphName (const Character &c) const { -+ string ret; - if (c.type() == Character::NAME) -- return c.name(); -- -- if (_currentFace && FT_HAS_GLYPH_NAMES(_currentFace)) { -+ ret = c.name(); -+ else if (_currentFace && FT_HAS_GLYPH_NAMES(_currentFace)) { - char buf[256]; - FT_Get_Glyph_Name(_currentFace, charIndex(c), buf, 256); -- return string(buf); -+ ret = string(buf); - } -- return ""; -+ return ret; - } - - -@@ -335,7 +364,7 @@ int FontEngine::getCharMapIDs (vectornum_charmaps; i++) { - FT_CharMap charmap = _currentFace->charmaps[i]; -- charmapIDs.emplace_back(charmap->platform_id, charmap->encoding_id); -+ charmapIDs.emplace_back(uint8_t(charmap->platform_id), uint8_t(charmap->encoding_id)); - } - } - return charmapIDs.size(); -@@ -344,14 +373,14 @@ int FontEngine::getCharMapIDs (vectorcharmap->platform_id, _currentFace->charmap->encoding_id); -+ return CharMapID(uint8_t(_currentFace->charmap->platform_id), uint8_t(_currentFace->charmap->encoding_id)); - return CharMapID(); - } - - - CharMapID FontEngine::setCustomCharMap () { - if (_currentFace && FT_Select_Charmap(_currentFace, FT_ENCODING_ADOBE_CUSTOM) == 0) -- return CharMapID(_currentFace->charmap->platform_id, _currentFace->charmap->encoding_id); -+ return CharMapID(uint8_t(_currentFace->charmap->platform_id), uint8_t(_currentFace->charmap->encoding_id)); - return CharMapID(); - } - -@@ -414,11 +443,13 @@ static bool trace_outline (FT_Face face, - } - FT_Outline outline = face->glyph->outline; - // apply style parameters if set -- if (const FontStyle *style = font->style()) { -- FT_Matrix matrix = {to_16dot16(style->extend), to_16dot16(style->slant), 0, to_16dot16(1)}; -- FT_Outline_Transform(&outline, &matrix); -- if (style->bold != 0) -- FT_Outline_Embolden(&outline, style->bold/font->scaledSize()*face->units_per_EM); -+ if (font) { -+ if (const FontStyle *style = font->style()) { -+ FT_Matrix matrix = {to_16dot16(style->extend), to_16dot16(style->slant), 0, to_16dot16(1)}; -+ FT_Outline_Transform(&outline, &matrix); -+ if (style->bold != 0) -+ FT_Outline_Embolden(&outline, style->bold/font->scaledSize()*face->units_per_EM); -+ } - } - const FT_Outline_Funcs funcs = {moveto, lineto, quadto, cubicto, 0, 0}; - FT_Outline_Decompose(&outline, &funcs, &glyph); -diff -up texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/FontEngine.hpp.301 texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/FontEngine.hpp ---- texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/FontEngine.hpp.301 2022-01-21 12:25:16.000000000 -0500 -+++ texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/FontEngine.hpp 2023-01-17 15:53:51.704205311 -0500 -@@ -2,7 +2,7 @@ - ** FontEngine.hpp ** - ** ** - ** This file is part of dvisvgm -- a fast DVI to SVG converter ** --** Copyright (C) 2005-2022 Martin Gieseking ** -+** Copyright (C) 2005-2023 Martin Gieseking ** - ** ** - ** This program is free software; you can redistribute it and/or ** - ** modify it under the terms of the GNU General Public License as ** -@@ -43,29 +43,30 @@ class FontEngine { - static FontEngine& instance (); - static std::string version (); - bool setFont (const Font &font); -+ const Font* currentFont () const {return _currentFont;} - bool isCIDFont() const; -+ bool hasVerticalMetrics () const; - bool traceOutline (const Character &c, Glyph &glyph, bool scale=true) const; - const char* getFamilyName () const; - const char* getStyleName () const; -+ const char* getPSName () const; -+ std::string getPSName (const std::string &fname) const; - int getUnitsPerEM () const; - int getAscender () const; - int getDescender () const; -- int getAdvance (int c) const; - int getHAdvance () const; - int getHAdvance (const Character &c) const; - int getVAdvance (const Character &c) const; - int getWidth (const Character &c) const; - int getHeight (const Character &c) const; - int getDepth (const Character &c) const; -- int getFirstChar () const; -- int getNextChar () const; - int getCharMapIDs (std::vector &charmapIDs) const; - int getNumGlyphs () const; - CharMapID setUnicodeCharMap (); - CharMapID setCustomCharMap (); - std::vector getPanose () const; - std::string getGlyphName (const Character &c) const; -- int getCharByGlyphName (const char *name) const; -+ int getCharIndexByGlyphName (const char *name) const; - bool setCharMap (const CharMapID &charMapID); - void buildGidToCharCodeMap (RangeMap &charmap); - std::unique_ptr createCustomToUnicodeMap (); -diff -up texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/Font.hpp.301 texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/Font.hpp ---- texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/Font.hpp.301 2022-01-21 12:25:16.000000000 -0500 -+++ texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/Font.hpp 2023-01-17 16:41:46.689397060 -0500 -@@ -2,7 +2,7 @@ - ** Font.hpp ** - ** ** - ** This file is part of dvisvgm -- a fast DVI to SVG converter ** --** Copyright (C) 2005-2022 Martin Gieseking ** -+** Copyright (C) 2005-2023 Martin Gieseking ** - ** ** - ** This program is free software; you can redistribute it and/or ** - ** modify it under the terms of the GNU General Public License as ** -@@ -21,6 +21,7 @@ - #ifndef FONT_HPP - #define FONT_HPP - -+#include - #include - #include - #include -@@ -50,7 +51,7 @@ struct GlyphMetrics { - double wl, wr, h, d; - }; - --class FontVisitor; -+struct FontVisitor; - - /** Abstract base for all font classes. */ - class Font { -@@ -124,7 +125,7 @@ class PhysicalFont : public virtual Font - virtual bool getExactGlyphBox (int c, BoundingBox &bbox, GFGlyphTracer::Callback *cb) const; - virtual bool getExactGlyphBox (int c, GlyphMetrics &metrics, bool vertical, GFGlyphTracer::Callback *cb) const; - virtual bool isCIDFont () const; -- virtual int hAdvance () const; -+ virtual int hAverageAdvance () const; - virtual std::string familyName () const; - virtual std::string styleName () const; - virtual double hAdvance (int c) const; -@@ -139,6 +140,7 @@ class PhysicalFont : public virtual Font - virtual CharMapID getCharMapID () const =0; - virtual void setCharMapID (const CharMapID &id) {} - virtual Character decodeChar (uint32_t c) const; -+ virtual int charIndexByName (const std::string &charname) const; - const char* path () const override; - void visit (FontVisitor &visitor) override; - void visit (FontVisitor &visitor) const override; -@@ -270,16 +272,20 @@ class NativeFont : public PhysicalFont { - std::unique_ptr clone (double ds, double sc) const override =0; - std::string name () const override; - Type type () const override; -- double designSize () const override {return _ptsize;} -- double scaledSize () const override {return _ptsize;} -+ const NativeFont* uniqueFont () const override {return this;} -+ double designSize () const override {return _ptsize;} -+ double scaledSize () const override {return _ptsize;} - double charWidth (int c) const override; - double charDepth (int c) const override; - double charHeight (int c) const override; - double italicCorr (int c) const override; -+ virtual double hAdvance (Character c) const; -+ virtual double vAdvance (Character c) const; - const FontMetrics* getMetrics () const override {return nullptr;} - const FontStyle* style () const override {return &_style;} - Color color () const override {return _color;} - const FontMap::Entry* fontMapEntry () const override {return nullptr;} -+ virtual void mapCharToUnicode (uint32_t c, uint32_t codepoint) =0; - static std::string uniqueName (const std::string &path, const FontStyle &style); - void visit (FontVisitor &visitor) override; - void visit (FontVisitor &visitor) const override; -@@ -305,12 +311,18 @@ class NativeFontProxy : public NativeFon - return std::unique_ptr(new NativeFontProxy(this , sc, *style(), color())); - } - -- const Font* uniqueFont () const override {return _nfont;} -+ const NativeFont* uniqueFont () const override {return _nfont;} - const char* path () const override {return _nfont->path();} - int fontIndex () const override {return _nfont->fontIndex();} - Character decodeChar (uint32_t c) const override {return _nfont->decodeChar(c);} - uint32_t unicode (uint32_t c) const override {return _nfont->unicode(c);} - CharMapID getCharMapID () const override {return _nfont->getCharMapID();} -+ bool verticalLayout() const override {return _nfont->verticalLayout();} -+ std::string name () const override {return _nfont->name();} -+ -+ void mapCharToUnicode (uint32_t c, uint32_t codepoint) override { -+ const_cast(_nfont)->mapCharToUnicode(c, codepoint); -+ } - - protected: - NativeFontProxy (const NativeFont *nfont, double ptsize, const FontStyle &style, Color color) -@@ -326,6 +338,8 @@ class NativeFontImpl : public NativeFont - NativeFontImpl (std::string fname, int fontIndex, double ptsize, const FontStyle &style, Color color) - : NativeFont(ptsize, style, color), _path(std::move(fname)), _fontIndex(fontIndex) {} - -+ NativeFontImpl (std::string fname, std::string fontname, double ptsize); -+ - std::unique_ptr clone (double ptsize, const FontStyle &style, Color color) const override { - return std::unique_ptr(new NativeFontProxy(this, ptsize, style, color)); - } -@@ -334,18 +348,20 @@ class NativeFontImpl : public NativeFont - return std::unique_ptr(new NativeFontProxy(this , sc, *style(), color())); - } - -- const Font* uniqueFont () const override {return this;} - const char* path () const override {return _path.c_str();} -- int fontIndex() const override {return _fontIndex;} -- std::string fontFamily () const; -+ int fontIndex () const override {return _fontIndex;} -+ std::string name () const override {return _name.empty() ? NativeFont::name() : _name;} - bool findAndAssignBaseFontMap () override; - CharMapID getCharMapID () const override {return CharMapID::NONE;} - Character decodeChar (uint32_t c) const override; - uint32_t unicode (uint32_t c) const override; -+ bool verticalLayout() const override; -+ void mapCharToUnicode (uint32_t c, uint32_t codepoint) override; - - private: - std::string _path; -- int _fontIndex; -+ std::string _name; -+ int _fontIndex = 0; - ToUnicodeMap _toUnicodeMap; ///< maps from char indexes to unicode points - }; - -diff -up texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/FontManager.cpp.301 texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/FontManager.cpp ---- texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/FontManager.cpp.301 2022-01-21 12:25:16.000000000 -0500 -+++ texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/FontManager.cpp 2023-01-17 15:53:51.705205323 -0500 -@@ -2,7 +2,7 @@ - ** FontManager.cpp ** - ** ** - ** This file is part of dvisvgm -- a fast DVI to SVG converter ** --** Copyright (C) 2005-2022 Martin Gieseking ** -+** Copyright (C) 2005-2023 Martin Gieseking ** - ** ** - ** This program is free software; you can redistribute it and/or ** - ** modify it under the terms of the GNU General Public License as ** -@@ -24,10 +24,13 @@ - #include - #include "CMap.hpp" - #include "Font.hpp" -+#include "fonts/Base14Fonts.hpp" -+#include "FontEngine.hpp" - #include "FontManager.hpp" - #include "FileFinder.hpp" - #include "FileSystem.hpp" - #include "Message.hpp" -+#include "SVGTree.hpp" - - using namespace std; - -@@ -80,6 +83,18 @@ int FontManager::fontID (const string &n - } - - -+int FontManager::fontID (string name, double ptsize) const { -+ std::replace(name.begin(), name.end(), '+', '-'); -+ for (auto it = _fonts.begin(); it != _fonts.end(); ++it) { -+ if (auto nativeFont = font_cast(it->get())) { -+ if (nativeFont->name() == name && nativeFont->scaledSize() == ptsize) -+ return int(std::distance(_fonts.begin(), it)); -+ } -+ } -+ return -1; -+} -+ -+ - int FontManager::fontnum (int id) const { - if (id < 0 || size_t(id) > _fonts.size()) - return -1; -@@ -129,6 +144,14 @@ Font* FontManager::getFont (const string - } - - -+Font* FontManager::getFont (const string &name, double ptsize) { -+ int id = fontID(name, ptsize); -+ if (id < 0) -+ return nullptr; -+ return _fonts[id].get(); -+} -+ -+ - Font* FontManager::getFontById (int id) const { - if (id < 0 || size_t(id) >= _fonts.size()) - return nullptr; -@@ -145,7 +168,7 @@ const VirtualFont* FontManager::getVF () - static unique_ptr create_font (const string &filename, const string &fontname, int fontindex, uint32_t checksum, double dsize, double ssize) { - string ext; - if (const char *dot = strrchr(filename.c_str(), '.')) -- ext = dot+1; -+ ext = util::tolower(dot+1); - if (!ext.empty() && FileFinder::instance().lookup(filename)) { - if (ext == "pfb") - return PhysicalFont::create(fontname, checksum, dsize, ssize, PhysicalFont::Type::PFB); -@@ -219,7 +242,7 @@ int FontManager::registerFont (uint32_t - missing_fonts.insert(filename); - } - } -- _name2id[name] = newid; -+ _name2id.emplace(name, newid); - } - _fonts.push_back(std::move(newfont)); - if (_vfStack.empty()) // register font referenced in dvi file? -@@ -256,7 +279,7 @@ int FontManager::registerFont (uint32_t - * @param[in] style font style parameters - * @param[in] color global font color - * @return global font id */ --int FontManager::registerFont (uint32_t fontnum, string filename, int fontIndex, double ptsize, const FontStyle &style, Color color) { -+int FontManager::registerFont (uint32_t fontnum, const string &filename, int fontIndex, double ptsize, const FontStyle &style, Color color) { - int id = fontID(fontnum); - if (id >= 0) - return id; -@@ -271,8 +294,13 @@ int FontManager::registerFont (uint32_t - newfont = font->clone(ptsize, style, color); - } - else { -- if (!FileSystem::exists(path)) -- path = FileFinder::instance().lookup(filename, false); -+ if (!FileSystem::exists(path)) { -+ const char *fontFormats[] = {nullptr, "otf", "ttf"}; -+ for (const char *format : fontFormats) { -+ if ((path = FileFinder::instance().lookup(filename, format, false)) != nullptr) -+ break; -+ } -+ } - if (path) { - newfont.reset(new NativeFontImpl(path, fontIndex, ptsize, style, color)); - newfont->findAndAssignBaseFontMap(); -@@ -287,7 +315,7 @@ int FontManager::registerFont (uint32_t - missing_fonts.insert(filename); - } - } -- _name2id[fontname] = newid; -+ _name2id.emplace(fontname, newid); - } - _fonts.push_back(std::move(newfont)); - _num2id[fontnum] = newid; -@@ -295,6 +323,40 @@ int FontManager::registerFont (uint32_t - } - - -+/** Registers a native font that is referenced by its name instead of a DVI font number. -+ * @param[in] fname filename/path of the font file -+ * @param[in] ptsize font size in PS points -+ * return global ID assigned to the font */ -+int FontManager::registerFont (const std::string &fname, double ptsize) { -+ if (fname.empty()) -+ return -1; -+ string fontname; -+ if (fname.size() > 6 && fname.substr(0,6) == "sys://") { -+ fontname = fname.substr(6); -+ if (!find_base14_font(fontname)) -+ return -1; -+ } -+ else if (!FileSystem::exists(fname) || (fontname = FontEngine::instance().getPSName(fname)).empty()) -+ return -1; -+ int id = fontID(fontname, ptsize); -+ if (id >= 0) -+ return id; -+ unique_ptr nativeFont; -+ id = fontID(fontname); -+ if (id < 0) { -+ nativeFont = util::make_unique(fname, fontname, ptsize); -+ _name2id.emplace(std::move(fontname), _fonts.size()); -+ } -+ else { -+ auto *nf = font_cast(getFontById(id)); -+ nativeFont = unique_ptr(nf->clone(ptsize, FontStyle(), Color::BLACK)); -+ } -+ id = int(_fonts.size()); -+ _fonts.push_back(std::move(nativeFont)); -+ return id; -+} -+ -+ - /** Enters a new virtual font frame. - * This method must be called before processing a VF character. - * @param[in] vf virtual font */ -@@ -320,6 +382,20 @@ void FontManager::assignVFChar (int c, v - } - - -+void FontManager::addUsedChar (const Font &font, int c) { -+ _usedChars[font.uniqueFont()].insert(c); -+ if (!SVGTree::USE_FONTS) -+ _usedChars[&font].insert(c); -+ _usedFonts.insert(&font); -+} -+ -+ -+void FontManager::resetUsedChars () { -+ _usedChars.clear(); -+ _usedFonts.clear(); -+} -+ -+ - ostream& FontManager::write (ostream &os, Font *font, int level) { - #if 0 - if (font) { -diff -up texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/FontManager.hpp.301 texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/FontManager.hpp ---- texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/FontManager.hpp.301 2022-01-21 12:25:16.000000000 -0500 -+++ texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/FontManager.hpp 2023-01-17 15:53:51.705205323 -0500 -@@ -2,7 +2,7 @@ - ** FontManager.hpp ** - ** ** - ** This file is part of dvisvgm -- a fast DVI to SVG converter ** --** Copyright (C) 2005-2022 Martin Gieseking ** -+** Copyright (C) 2005-2023 Martin Gieseking ** - ** ** - ** This program is free software; you can redistribute it and/or ** - ** modify it under the terms of the GNU General Public License as ** -@@ -27,6 +27,7 @@ - #include - #include - #include -+#include - #include - #include "Color.hpp" - #include "FontStyle.hpp" -@@ -42,6 +43,8 @@ class VirtualFont; - * virtual fonts are completely replaced by their DVI description so they don't - * appear anywhere in the output. */ - class FontManager { -+ using CharMap = std::unordered_map>; -+ using FontSet = std::unordered_set; - using Num2IdMap = std::unordered_map; - using Name2IdMap = std::unordered_map; - using VfNum2IdMap = std::unordered_map; -@@ -53,20 +56,28 @@ class FontManager { - static FontManager& instance (); - int registerFont (uint32_t fontnum, const std::string &fontname, uint32_t checksum, double dsize, double scale); - int registerFont (uint32_t fontnum, const std::string &fname, double ptsize, const FontStyle &style, Color color); -- int registerFont (uint32_t fontnum, std::string fname, int fontIndex, double ptsize, const FontStyle &style, Color color); -+ int registerFont (uint32_t fontnum, const std::string &fname, int fontIndex, double ptsize, const FontStyle &style, Color color); -+// int registerFont (const std::string &fname, int fontIndex, double ptsize, const FontStyle &style, Color color); -+ int registerFont (const std::string &fname, double ptsize); - Font* getFont (int n) const; - Font* getFont (const std::string &name) const; -+ Font* getFont (const std::string &name, double ptsize); - Font* getFontById (int id) const; - const VirtualFont* getVF () const; - int fontID (int n) const; - int fontID (const Font *font) const; - int fontID (const std::string &name) const; -+ int fontID (std::string name, double ptsize) const; - int fontnum (int id) const; - int vfFirstFontNum (const VirtualFont *vf) const; - Font* vfFirstFont (const VirtualFont *vf) const; - void enterVF (VirtualFont *vf); - void leaveVF (); - void assignVFChar (int c, std::vector &&dvi); -+ void addUsedChar (const Font &font, int c); -+ void resetUsedChars (); -+ CharMap& getUsedChars () {return _usedChars;} -+ FontSet& getUsedFonts () {return _usedFonts;} - std::ostream& write (std::ostream &os, Font *font=nullptr, int level=0); - - protected: -@@ -80,6 +91,8 @@ class FontManager { - VfStack _vfStack; ///< stack of currently processed virtual fonts - VfFirstFontNumMap _vfFirstFontNumMap; ///< VF -> local font number of first font defined in VF - VfFirstFontMap _vfFirstFontMap; ///< VF -> first font defined -+ CharMap _usedChars; -+ FontSet _usedFonts; - }; - - #endif -diff -up texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/FontMap.cpp.301 texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/FontMap.cpp ---- texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/FontMap.cpp.301 2022-01-21 12:25:16.000000000 -0500 -+++ texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/FontMap.cpp 2023-01-17 15:53:51.705205323 -0500 -@@ -2,7 +2,7 @@ - ** FontMap.cpp ** - ** ** - ** This file is part of dvisvgm -- a fast DVI to SVG converter ** --** Copyright (C) 2005-2022 Martin Gieseking ** -+** Copyright (C) 2005-2023 Martin Gieseking ** - ** ** - ** This program is free software; you can redistribute it and/or ** - ** modify it under the terms of the GNU General Public License as ** -@@ -125,13 +125,13 @@ bool FontMap::apply (const MapLine& mapl - * @return true if at least one of the given map files was found */ - bool FontMap::read (const string &fname_seq) { - bool found = false; -- size_t left=0; -+ string::size_type left=0; - while (left < fname_seq.length()) { - const char modechar = fname_seq[left]; - if (strchr("+-=", modechar)) - left++; - string fname; -- size_t right = fname_seq.find(',', left); -+ auto right = fname_seq.find(',', left); - if (right != string::npos) - fname = fname_seq.substr(left, right-left); - else { -diff -up texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/FontMap.hpp.301 texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/FontMap.hpp ---- texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/FontMap.hpp.301 2022-01-21 12:25:16.000000000 -0500 -+++ texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/FontMap.hpp 2023-01-17 15:53:51.705205323 -0500 -@@ -2,7 +2,7 @@ - ** FontMap.hpp ** - ** ** - ** This file is part of dvisvgm -- a fast DVI to SVG converter ** --** Copyright (C) 2005-2022 Martin Gieseking ** -+** Copyright (C) 2005-2023 Martin Gieseking ** - ** ** - ** This program is free software; you can redistribute it and/or ** - ** modify it under the terms of the GNU General Public License as ** -diff -up texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/FontMetrics.cpp.301 texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/FontMetrics.cpp ---- texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/FontMetrics.cpp.301 2022-01-21 12:25:16.000000000 -0500 -+++ texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/FontMetrics.cpp 2023-01-17 15:53:51.705205323 -0500 -@@ -2,7 +2,7 @@ - ** FontMetrics.cpp ** - ** ** - ** This file is part of dvisvgm -- a fast DVI to SVG converter ** --** Copyright (C) 2005-2022 Martin Gieseking ** -+** Copyright (C) 2005-2023 Martin Gieseking ** - ** ** - ** This program is free software; you can redistribute it and/or ** - ** modify it under the terms of the GNU General Public License as ** -diff -up texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/FontMetrics.hpp.301 texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/FontMetrics.hpp ---- texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/FontMetrics.hpp.301 2022-01-21 12:25:16.000000000 -0500 -+++ texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/FontMetrics.hpp 2023-01-17 15:53:51.705205323 -0500 -@@ -2,7 +2,7 @@ - ** FontMetrics.hpp ** - ** ** - ** This file is part of dvisvgm -- a fast DVI to SVG converter ** --** Copyright (C) 2005-2022 Martin Gieseking ** -+** Copyright (C) 2005-2023 Martin Gieseking ** - ** ** - ** This program is free software; you can redistribute it and/or ** - ** modify it under the terms of the GNU General Public License as ** -diff -up texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/fonts/Base14Fonts.cpp.301 texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/fonts/Base14Fonts.cpp ---- texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/fonts/Base14Fonts.cpp.301 2023-01-17 15:53:51.705205323 -0500 -+++ texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/fonts/Base14Fonts.cpp 2023-01-17 15:53:51.705205323 -0500 -@@ -0,0 +1,65 @@ -+/************************************************************************* -+** Base14Fonts.cpp ** -+** ** -+** This file is part of dvisvgm -- a fast DVI to SVG converter ** -+** Copyright (C) 2005-2022 Martin Gieseking ** -+** ** -+** 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 . ** -+*************************************************************************/ -+ -+#include -+#include "Base14Fonts.hpp" -+ -+using namespace std; -+ -+extern const MemoryFontData Dingbats_cff; -+extern const MemoryFontData NimbusMonoPS_Bold_cff; -+extern const MemoryFontData NimbusMonoPS_BoldItalic_cff; -+extern const MemoryFontData NimbusMonoPS_Italic_cff; -+extern const MemoryFontData NimbusMonoPS_Regular_cff; -+extern const MemoryFontData NimbusRoman_Bold_cff; -+extern const MemoryFontData NimbusRoman_BoldItalic_cff; -+extern const MemoryFontData NimbusRoman_Italic_cff; -+extern const MemoryFontData NimbusRoman_Regular_cff; -+extern const MemoryFontData NimbusSans_Bold_cff; -+extern const MemoryFontData NimbusSans_BoldItalic_cff; -+extern const MemoryFontData NimbusSans_Italic_cff; -+extern const MemoryFontData NimbusSans_Regular_cff; -+extern const MemoryFontData StandardSymbolsPS_cff; -+ -+const MemoryFontData* find_base14_font (const string &fontname) { -+ struct FontData { -+ const char *name; -+ const MemoryFontData *font; -+ } names[14] = { -+ {"Courier", &NimbusMonoPS_Regular_cff}, -+ {"Courier-Oblique", &NimbusMonoPS_Italic_cff}, -+ {"Courier-Bold", &NimbusMonoPS_Bold_cff}, -+ {"Courier-BoldOblique", &NimbusMonoPS_BoldItalic_cff}, -+ {"Helvetica", &NimbusSans_Regular_cff}, -+ {"Helvetica-Oblique", &NimbusSans_Italic_cff}, -+ {"Helvetica-Bold", &NimbusSans_Bold_cff}, -+ {"Helvetica-BoldOblique", &NimbusSans_BoldItalic_cff}, -+ {"Times-Roman", &NimbusRoman_Regular_cff}, -+ {"Times-Italic", &NimbusRoman_Italic_cff}, -+ {"Times-Bold", &NimbusRoman_Bold_cff}, -+ {"Times-BoldItalic", &NimbusRoman_BoldItalic_cff}, -+ {"Symbol", &StandardSymbolsPS_cff}, -+ {"ZapfDingbats", &Dingbats_cff} -+ }; -+ auto it = find_if(begin(names), end(names), [&fontname](const FontData &data) { -+ return data.name == fontname; -+ }); -+ return it != end(names) ? it->font : nullptr; -+} -diff -up texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/fonts/Base14Fonts.hpp.301 texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/fonts/Base14Fonts.hpp ---- texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/fonts/Base14Fonts.hpp.301 2023-01-17 15:53:51.705205323 -0500 -+++ texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/fonts/Base14Fonts.hpp 2023-01-17 15:53:51.705205323 -0500 -@@ -0,0 +1,32 @@ -+/************************************************************************* -+** Base14Fonts.hpp ** -+** ** -+** This file is part of dvisvgm -- a fast DVI to SVG converter ** -+** Copyright (C) 2005-2022 Martin Gieseking ** -+** ** -+** 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 . ** -+*************************************************************************/ -+ -+#pragma once -+ -+#include -+#include -+ -+struct MemoryFontData { -+ MemoryFontData () =delete; -+ const char *data; -+ size_t size; -+}; -+ -+const MemoryFontData* find_base14_font (const std::string &name); -diff -up texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/fonts/Dingbats.cff.cpp.301 texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/fonts/Dingbats.cff.cpp ---- texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/fonts/Dingbats.cff.cpp.301 2023-01-17 15:53:51.705205323 -0500 -+++ texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/fonts/Dingbats.cff.cpp 2023-01-17 15:53:51.705205323 -0500 -@@ -0,0 +1,785 @@ -+#include "Base14Fonts.hpp" -+ -+extern const MemoryFontData Dingbats_cff = { -+"\x01\x00\x04\x02\x00\x01\x01\x01\x09\x44\x69\x6e\x67\x62\x61\x74\x73\x00\x01\x01\x01\x39\xf8\xe4\x00\xf8\xe5\x01\xf8\xe6\x0c\x00" -+"\xf8\xe7\x02\xf8\xe7\x03\xf8\x18\x04\x43\x0c\x03\xaf\x0c\x04\x8a\xfb\x24\xfa\x69\xf9\xc7\x05\x1d\x00\x4c\x9a\x04\x0d\x1c\x05\x2a" -+"\x0f\x1c\x05\x31\x10\x1c\x05\x3b\x11\x9f\x1c\x60\x1e\x12\x00\xcd\x02\x00\x01\x00\x03\x00\x05\x00\x09\x00\x0b\x00\x0d\x00\x0f\x00" -+"\x13\x00\x17\x00\x1b\x00\x1e\x00\x21\x00\x24\x00\x27\x00\x2a\x00\x2d\x00\x31\x00\x34\x00\x37\x00\x3a\x00\x3d\x00\x40\x00\x43\x00" -+"\x46\x00\x49\x00\x4c\x00\x4f\x00\x52\x00\x55\x00\x57\x00\x59\x00\x5b\x00\x5d\x00\x60\x00\x63\x00\x66\x00\x69\x00\x6c\x00\x6f\x00" -+"\x72\x00\x75\x00\x78\x00\x7b\x00\x7e\x00\x81\x00\x84\x00\x87\x00\x8a\x00\x8d\x00\x90\x00\x93\x00\x96\x00\x99\x00\x9c\x00\x9f\x00" -+"\xa2\x00\xa5\x00\xa8\x00\xab\x00\xae\x00\xb1\x00\xb4\x00\xb7\x00\xba\x00\xbd\x00\xc0\x00\xc3\x00\xc6\x00\xc9\x00\xcc\x00\xcf\x00" -+"\xd2\x00\xd5\x00\xd8\x00\xdb\x00\xde\x00\xe1\x00\xe4\x00\xe7\x00\xea\x00\xee\x00\xf1\x00\xf5\x00\xf8\x00\xfb\x00\xfe\x01\x01\x01" -+"\x04\x01\x07\x01\x0a\x01\x0d\x01\x10\x01\x13\x01\x16\x01\x1a\x01\x1d\x01\x20\x01\x23\x01\x26\x01\x29\x01\x2c\x01\x30\x01\x33\x01" -+"\x37\x01\x3a\x01\x3d\x01\x40\x01\x43\x01\x46\x01\x4a\x01\x4e\x01\x52\x01\x56\x01\x5a\x01\x5e\x01\x62\x01\x66\x01\x6a\x01\x6e\x01" -+"\x72\x01\x76\x01\x7a\x01\x7e\x01\x82\x01\x86\x01\x8a\x01\x8e\x01\x92\x01\x96\x01\x9a\x01\x9e\x01\xa2\x01\xa6\x01\xaa\x01\xae\x01" -+"\xb2\x01\xb6\x01\xba\x01\xbe\x01\xc2\x01\xc6\x01\xca\x01\xce\x01\xd2\x01\xd6\x01\xda\x01\xde\x01\xe2\x01\xe6\x01\xea\x01\xee\x01" -+"\xf2\x01\xf6\x01\xfa\x01\xfe\x02\x02\x02\x06\x02\x0a\x02\x0e\x02\x12\x02\x16\x02\x1a\x02\x1e\x02\x22\x02\x26\x02\x2a\x02\x2e\x02" -+"\x32\x02\x36\x02\x3a\x02\x3e\x02\x42\x02\x46\x02\x4a\x02\x4e\x02\x52\x02\x56\x02\x5a\x02\x5e\x02\x62\x02\x66\x02\x6a\x02\x6e\x02" -+"\x72\x02\x76\x02\x7a\x02\x7e\x02\x82\x02\x86\x02\x8a\x02\x8e\x02\x92\x02\x96\x02\x9a\x02\x9e\x02\xa2\x02\xa6\x02\xaa\x02\xae\x02" -+"\xb2\x02\xb6\x02\xba\x02\xbe\x02\xf4\x03\x34\x03\x3c\x61\x31\x61\x32\x61\x32\x30\x32\x61\x33\x61\x34\x61\x35\x61\x31\x31\x39\x61" -+"\x31\x31\x38\x61\x31\x31\x37\x61\x31\x31\x61\x31\x32\x61\x31\x33\x61\x31\x34\x61\x31\x35\x61\x31\x36\x61\x31\x30\x35\x61\x31\x37" -+"\x61\x31\x38\x61\x31\x39\x61\x32\x30\x61\x32\x31\x61\x32\x32\x61\x32\x33\x61\x32\x34\x61\x32\x35\x61\x32\x36\x61\x32\x37\x61\x32" -+"\x38\x61\x36\x61\x37\x61\x38\x61\x39\x61\x31\x30\x61\x32\x39\x61\x33\x30\x61\x33\x31\x61\x33\x32\x61\x33\x33\x61\x33\x34\x61\x33" -+"\x35\x61\x33\x36\x61\x33\x37\x61\x33\x38\x61\x33\x39\x61\x34\x30\x61\x34\x31\x61\x34\x32\x61\x34\x33\x61\x34\x34\x61\x34\x35\x61" -+"\x34\x36\x61\x34\x37\x61\x34\x38\x61\x34\x39\x61\x35\x30\x61\x35\x31\x61\x35\x32\x61\x35\x33\x61\x35\x34\x61\x35\x35\x61\x35\x36" -+"\x61\x35\x37\x61\x35\x38\x61\x35\x39\x61\x36\x30\x61\x36\x31\x61\x36\x32\x61\x36\x33\x61\x36\x34\x61\x36\x35\x61\x36\x36\x61\x36" -+"\x37\x61\x36\x38\x61\x36\x39\x61\x37\x30\x61\x37\x31\x61\x37\x32\x61\x37\x33\x61\x37\x34\x61\x32\x30\x33\x61\x37\x35\x61\x32\x30" -+"\x34\x61\x37\x36\x61\x37\x37\x61\x37\x38\x61\x37\x39\x61\x38\x31\x61\x38\x32\x61\x38\x33\x61\x38\x34\x61\x39\x37\x61\x39\x38\x61" -+"\x39\x39\x61\x31\x30\x30\x61\x38\x39\x61\x39\x30\x61\x39\x33\x61\x39\x34\x61\x39\x31\x61\x39\x32\x61\x32\x30\x35\x61\x38\x35\x61" -+"\x32\x30\x36\x61\x38\x36\x61\x38\x37\x61\x38\x38\x61\x39\x35\x61\x39\x36\x61\x31\x30\x31\x61\x31\x30\x32\x61\x31\x30\x33\x61\x31" -+"\x30\x34\x61\x31\x30\x36\x61\x31\x30\x37\x61\x31\x30\x38\x61\x31\x31\x32\x61\x31\x31\x31\x61\x31\x31\x30\x61\x31\x30\x39\x61\x31" -+"\x32\x30\x61\x31\x32\x31\x61\x31\x32\x32\x61\x31\x32\x33\x61\x31\x32\x34\x61\x31\x32\x35\x61\x31\x32\x36\x61\x31\x32\x37\x61\x31" -+"\x32\x38\x61\x31\x32\x39\x61\x31\x33\x30\x61\x31\x33\x31\x61\x31\x33\x32\x61\x31\x33\x33\x61\x31\x33\x34\x61\x31\x33\x35\x61\x31" -+"\x33\x36\x61\x31\x33\x37\x61\x31\x33\x38\x61\x31\x33\x39\x61\x31\x34\x30\x61\x31\x34\x31\x61\x31\x34\x32\x61\x31\x34\x33\x61\x31" -+"\x34\x34\x61\x31\x34\x35\x61\x31\x34\x36\x61\x31\x34\x37\x61\x31\x34\x38\x61\x31\x34\x39\x61\x31\x35\x30\x61\x31\x35\x31\x61\x31" -+"\x35\x32\x61\x31\x35\x33\x61\x31\x35\x34\x61\x31\x35\x35\x61\x31\x35\x36\x61\x31\x35\x37\x61\x31\x35\x38\x61\x31\x35\x39\x61\x31" -+"\x36\x30\x61\x31\x36\x31\x61\x31\x36\x33\x61\x31\x36\x34\x61\x31\x39\x36\x61\x31\x36\x35\x61\x31\x39\x32\x61\x31\x36\x36\x61\x31" -+"\x36\x37\x61\x31\x36\x38\x61\x31\x36\x39\x61\x31\x37\x30\x61\x31\x37\x31\x61\x31\x37\x32\x61\x31\x37\x33\x61\x31\x36\x32\x61\x31" -+"\x37\x34\x61\x31\x37\x35\x61\x31\x37\x36\x61\x31\x37\x37\x61\x31\x37\x38\x61\x31\x37\x39\x61\x31\x39\x33\x61\x31\x38\x30\x61\x31" -+"\x39\x39\x61\x31\x38\x31\x61\x32\x30\x30\x61\x31\x38\x32\x61\x32\x30\x31\x61\x31\x38\x33\x61\x31\x38\x34\x61\x31\x39\x37\x61\x31" -+"\x38\x35\x61\x31\x39\x34\x61\x31\x39\x38\x61\x31\x38\x36\x61\x31\x39\x35\x61\x31\x38\x37\x61\x31\x38\x38\x61\x31\x38\x39\x61\x31" -+"\x39\x30\x61\x31\x39\x31\x32\x2e\x30\x30\x28\x55\x52\x57\x29\x2b\x2b\x2c\x43\x6f\x70\x79\x72\x69\x67\x68\x74\x20\x32\x30\x31\x33" -+"\x20\x62\x79\x20\x28\x55\x52\x57\x29\x2b\x2b\x20\x44\x65\x73\x69\x67\x6e\x20\x26\x20\x44\x65\x76\x65\x6c\x6f\x70\x6d\x65\x6e\x74" -+"\x43\x6f\x70\x79\x72\x69\x67\x68\x74\x20\x28\x55\x52\x57\x29\x2b\x2b\x2c\x43\x6f\x70\x79\x72\x69\x67\x68\x74\x20\x32\x30\x31\x33" -+"\x20\x62\x79\x20\x28\x55\x52\x57\x29\x2b\x2b\x20\x44\x65\x73\x69\x67\x6e\x20\x26\x20\x44\x65\x76\x65\x6c\x6f\x70\x6d\x65\x6e\x74" -+"\x44\x69\x6e\x67\x62\x61\x74\x73\x00\x00\x01\x00\x01\x00\x01\x87\xc8\x01\x04\x20\x5e\x80\x0d\xa1\x4e\xf1\x0d\x00\xcb\x02\x00\x01" -+"\x00\x04\x00\x07\x00\xba\x01\x6f\x02\x26\x03\xec\x04\xf2\x05\xf3\x06\x9c\x07\x66\x07\xcc\x08\x9f\x0a\x5d\x0c\x0f\x0d\xb9\x0e\x7b" -+"\x0f\x43\x10\x02\x10\xbf\x11\x71\x11\xc6\x12\x66\x12\x92\x12\xc6\x13\xe2\x15\x02\x15\x52\x15\x6f\x15\x9b\x15\xc7\x15\xe2\x16\x21" -+"\x16\x73\x16\xd9\x17\x54\x17\xe5\x18\x89\x19\x12\x1a\x02\x1a\x6a\x1a\xea\x1b\x12\x1b\x5d\x1b\x89\x1b\xc5\x1c\x49\x1c\xb7\x1d\x60" -+"\x1d\xc1\x1e\x1a\x1e\x5a\x1e\xac\x1e\xf9\x1f\xa1\x20\x4c\x20\xd0\x21\x84\x21\xc1\x22\x16\x22\xa3\x23\x64\x24\xca\x25\xe4\x27\x1e" -+"\x28\x15\x29\x99\x2c\x26\x2c\xeb\x2e\x13\x2e\xbd\x2f\xff\x30\xa1\x31\xe3\x33\x14\x33\xca\x34\xd1\x35\xdc\x36\x04\x36\x60\x36\x6c" -+"\x36\x88\x36\xa3\x36\xc3\x36\xe5\x36\xf3\x37\x01\x37\x13\x37\x5c\x37\x7b\x37\x86\x37\x94\x37\xa2\x37\xe9\x38\x2d\x38\x86\x38\xdd" -+"\x39\x1d\x39\x58\x39\x83\x39\xae\x39\xc5\x39\xdb\x39\xf5\x3a\x10\x3a\x28\x3a\x40\x3a\x5d\x3a\x7b\x3a\xe4\x3b\x4a\x3b\xe7\x3c\x41" -+"\x3c\x9f\x3c\xf3\x3d\x57\x3e\x64\x3f\x37\x3f\xa9\x3f\xd3\x40\x1a\x40\x6a\x40\xa3\x41\x06\x41\x96\x41\xf9\x42\x68\x42\xdc\x43\x3e" -+"\x43\x9e\x44\x11\x44\x7e\x44\xc0\x45\x30\x45\xbd\x45\xf9\x46\x63\x46\xde\x47\x35\x47\x99\x48\x04\x48\x93\x48\xac\x48\xf7\x49\x67" -+"\x49\x90\x49\xd0\x4a\x32\x4a\x5a\x4a\xc4\x4b\x29\x4b\x88\x4b\x9d\x4b\xed\x4c\x61\x4c\x8d\x4c\xeb\x4d\x58\x4d\x81\x4d\xde\x4e\x44" -+"\x4e\x95\x4e\xb9\x4e\xd6\x4f\x0e\x4f\x4d\x4f\x69\x4f\x84\x4f\xa0\x4f\xd4\x50\x25\x50\x3d\x50\x56\x50\x89\x50\xcd\x50\xe4\x51\x04" -+"\x51\x23\x51\x36\x51\x6a\x51\x9b\x51\xb3\x51\xd9\x52\x0b\x52\x3d\x52\x78\x52\xb1\x52\xe0\x53\x13\x53\x4c\x53\x82\x53\xce\x54\x66" -+"\x54\xc8\x55\x26\x55\x8b\x56\x00\x56\x52\x56\xbc\x57\x36\x57\xad\x58\x49\x58\xf0\x59\x49\xfc\xc5\x0e\xfc\xc5\x0e\xf7\x1b\xf8\xfd" -+"\xf7\x0c\x15\x2b\xf7\x02\xf8\x36\xc2\x05\xb4\x42\x4a\x9f\x4b\x1b\x7e\x79\x8a\x8a\x7a\x1f\xfb\x9d\x7c\x5d\xb7\x69\xa4\x6d\x97\x19" -+"\x49\xa4\x8a\x8c\x95\x1a\x8e\x8c\x90\x8d\x8f\x1e\x99\xa6\x8d\x93\x9b\x1a\xc4\x54\xbe\x4e\x5d\x66\x67\x5d\x59\xb3\x62\xcb\x7b\x1e" -+"\xee\x79\xc8\x65\xb4\x45\x08\x68\x69\x57\x71\x67\x1b\x7b\x73\x8f\x92\x6f\x1f\x90\x74\x75\x8f\x7a\x1b\x5d\x64\x65\x5d\x52\xc0\x5a" -+"\xc7\xc1\xb1\xaf\xbe\x91\x8a\x91\x8a\x90\x1f\x88\x99\x89\x94\x8e\x1a\x93\x93\x91\x97\x1e\xbc\x8a\x05\x97\xcc\x91\x91\xb8\x1f\xf0" -+"\xfb\x06\x05\xfc\x09\xf8\x71\x15\xb5\xb5\x65\x65\x6b\x75\x74\x70\x5e\x5d\xb1\xb1\xa9\xa5\xa4\xa9\x1f\x73\xfb\xf8\x15\xba\xaf\x6b" -+"\x61\x69\x70\x70\x68\x5f\x62\xb1\xb3\xab\xa7\xa4\xaf\x1f\x0e\xf7\x0e\xf8\xb9\xf7\xef\x15\xf8\x0d\xf7\x25\x05\xab\x68\x76\x94\x67" -+"\x1b\x70\x68\x84\x7c\x64\x1f\xfb\xcc\xfb\x0a\x05\xa2\x59\x3e\xa2\x70\x1b\x6f\x8d\x81\x90\x96\x1a\x8e\x8d\x91\x8e\x92\x1e\x91\x99" -+"\x8f\x9c\x99\x1a\xbe\x5d\xb4\x50\x4e\x60\x63\x51\x4f\xbe\x62\xd5\x1e\xd1\x8d\x05\xc8\xb7\x74\x60\x9e\x1f\x63\x7d\x5b\x70\x50\x1b" -+"\x47\x8c\x05\x40\x57\x5f\x4d\x53\xb5\x65\xc8\xc8\xb7\xb3\xc1\x97\x89\x96\x87\x94\x1f\x81\xa2\x8b\x8b\x90\x1a\x95\x93\x90\x9b\x8d" -+"\x1e\xcc\x94\x92\x8d\xea\xb1\xf7\xc9\xfb\x06\x18\x7d\xb3\xa9\x85\xab\x1b\xb5\xa4\x95\xa8\xa7\x1f\xfd\xa9\xf8\x08\x15\xb5\xab\x6e" -+"\x63\x64\x70\x70\x64\x5f\x69\xaa\xb2\xb1\xa8\xa6\xb4\x1f\x94\xfb\xdd\x15\xb2\xa6\x70\x65\x60\x6e\x6f\x5d\x64\x6f\xa5\xaf\xb2\xae" -+"\xae\xb4\x1f\x0e\xf7\x1b\xf8\xfd\xf8\xcb\x15\x2f\x93\x26\xfb\x06\x05\x91\x5e\x4c\x91\x7d\x1b\x5b\x8a\x05\x7e\x83\x90\x94\x8e\x8d" -+"\x94\x8e\x99\x1f\x8c\x90\x8c\x90\x91\x1a\xbe\x65\xaf\x55\x4f\x56\x5a\x52\x5d\xb1\x65\xba\x9b\xa2\x8f\x90\xa2\x1e\x92\xa7\xa3\x8f" -+"\x9b\x1b\xaf\xbf\x72\x68\xad\x1f\x75\x5d\x44\x53\x56\x7f\x3f\x79\x8b\x8b\x7c\x84\x08\x61\x77\x71\x66\x65\x1a\x5d\xb0\x67\xb9\xc8" -+"\xc2\xbe\xc4\x9b\x88\x94\x7e\xa5\x1e\x89\x90\x8a\x8f\x8e\x1a\x95\x8d\x8d\xcc\xa4\x1e\xa9\x96\xac\xa3\xba\xb9\xf7\x9d\x7c\x18\x8a" -+"\x9c\x9f\x8a\x96\x1b\xcb\xcb\x9e\xb5\xd5\x1f\xfc\x36\xc1\x05\xfb\xe2\xfb\x77\x15\xa6\xa1\x73\x6c\x64\x61\x65\x60\x6d\x72\xa5\xa9" -+"\xb1\xb9\xb1\xb8\x1f\x62\xf7\xfa\x15\xb1\xa6\x72\x67\x62\x67\x6b\x5c\x67\x6f\xa4\xab\xb3\xb2\xb0\xb6\x1f\x0e\xf7\x21\xf7\x4a\xf7" -+"\x7a\x15\x59\x63\x64\x5a\x59\xb2\x63\xbd\xbc\xb3\xb3\xbc\xbc\x63\xb3\x5b\x1f\x91\x72\x15\xab\xa5\x6e\x67\x67\x71\x6f\x6a\x68\x6e" -+"\xa8\xaf\xae\xa8\xa8\xaf\x1f\x84\xf8\x46\x15\x59\x63\x63\x5b\x59\xb2\x63\xbc\xbd\xb2\xb3\xbc\xbb\x64\xb4\x5b\x1f\x8e\x72\x15\xab" -+"\xa5\x6f\x68\x68\x71\x6f\x6a\x69\x6f\xa8\xad\xae\xa8\xa7\xad\x1f\xf7\xb2\xfb\x69\x15\x72\x77\x75\x6d\x6e\x9e\x74\xa4\xa4\xa0\xa4" -+"\xa8\xa7\x77\xa1\x72\x1f\x8d\x78\x15\x98\x96\x7f\x7b\x79\x7f\x7c\x7d\x7c\x81\x98\x9c\x9d\x97\x98\x9a\x1f\xf8\x6d\xf7\x2d\x15\xc0" -+"\x5a\x65\x9d\x53\x1b\x58\x52\x79\x65\x4a\x1f\xfb\x36\x2c\x05\x9f\x74\x7d\x92\x7c\x1b\x87\x85\x8a\x89\x84\x1f\x83\x6b\x7b\x89\x76" -+"\x1b\x7e\x85\x8c\x8f\x81\x1f\xa0\xab\x94\xa3\xa7\x1a\xd4\x49\xc7\x39\x33\x50\x50\x33\x58\x9f\x60\xb0\x70\x1e\xaa\x75\xb4\x80\xd0" -+"\x88\xc7\x88\x94\x89\x9b\x84\x08\x97\x85\x93\x7f\x7e\x1a\x71\x71\x7d\x59\x89\x1e\x2e\x89\x6d\x85\x66\x74\x08\x61\x71\x75\x61\x54" -+"\x1a\x32\xc5\x50\xe3\xe0\xc7\xc3\xd8\xaa\x83\xa3\x76\xac\x1e\x8e\x9c\x93\x8d\x94\x1b\x96\x9d\x88\x88\x9f\x1f\x89\x93\x93\x8a\x91" -+"\x1b\x91\x8f\x8c\x8e\x8f\x1f\xbb\xa9\xf7\x53\xfb\x13\x05\x6f\xb6\xc5\x77\xb2\x1b\xc3\xc2\xa2\xb1\xac\x1f\xfb\xd6\xf7\x60\x05\xfb" -+"\x58\x35\x15\x87\x85\x84\x8a\x84\x1b\x45\x8d\x05\x6b\x69\x7b\x7c\x87\x8c\x86\x8e\x88\x1f\x9e\x74\x91\x7b\x6f\x1a\x46\x5b\x5a\x47" -+"\x43\x5c\xbb\xd5\xdd\xbe\xb9\xe7\x1e\xc4\x06\xd0\xa8\xa0\xbb\x8c\x8b\x8e\x8a\x8d\x1f\xf7\xb9\xf7\x3f\xc2\xab\x8b\x8b\x96\x90\x19" -+"\x9c\xb0\xa9\x94\xa6\x1b\xaf\xa6\x7f\x6d\xae\x1f\xfc\x37\xfb\xa9\x15\xf2\xca\xf7\xc5\xfb\x56\x05\x70\x68\x71\x80\x6b\x1b\x5e\x62" -+"\x9c\xbb\x42\x1f\xfb\xc0\xf7\x75\x15\x7e\x9e\x6d\x97\x64\x8c\x08\x48\x06\x37\x54\xbd\xd8\xd3\xbb\xbe\xcf\xd0\xbe\x5b\x4a\x76\x86" -+"\x77\x82\x7e\x1f\x7c\x74\x8b\x8b\x85\x1a\x7a\xa4\x82\xb9\x99\x96\x8c\x8d\x90\x1e\x95\xad\x8b\x8b\x96\x1b\x98\x92\x87\x7d\x94\x1f" -+"\x0e\xfb\x0c\xf7\x37\xf7\x1e\x15\xf8\x1c\x06\x98\x8c\x8c\x8b\x8c\x8c\x8e\x8c\x8e\xa2\x8c\xaf\x5a\xf7\x21\x7d\xab\x78\x9e\x08\x6d" -+"\xad\x8b\x8b\x99\x1a\x96\x8b\x92\x8d\x97\x1e\xac\x84\x97\x81\x95\x71\x08\x85\xa9\xa6\x88\xbb\x1b\xa6\x94\x8c\x8f\x9f\x1f\x87\xbc" -+"\x82\xa4\x78\x99\x08\xa9\x66\xfb\x1b\xa4\xfb\x0c\x1b\xfb\x0d\xfb\x1a\x72\x6d\x65\x1f\x79\x7d\x82\x72\x86\x5a\x08\x87\xa0\x93\x8a" -+"\xa7\x1b\xba\xa7\x8e\x91\xa9\x1f\x95\xa5\x97\x95\xab\x92\x08\x8d\x7f\x8c\x84\x80\x1a\x7e\x8a\x8a\x81\x80\x1e\x84\x82\x83\x83\x83" -+"\x82\x81\x7f\x8a\x89\x87\x83\x68\x35\x88\x85\x71\x40\x8d\x5c\x8d\x7e\x92\x8a\x08\xf7\x08\xf7\xe1\x15\x93\xcd\x8c\x8b\xa4\x1b\xa5" -+"\x8b\x8b\x83\xcd\x1f\x7a\x62\x05\x8d\x62\x7a\x8c\x7a\x1b\x7b\x79\x8a\x89\x62\x1f\xd9\x6d\x15\xbf\xb6\x5f\x57\x55\x60\x60\x55\x56" -+"\x5f\xb6\xc1\xc1\xb7\xb5\xc2\x1f\xf7\xd7\x92\x15\x86\x75\x7d\x89\x66\x1b\x6c\x7c\x8c\x91\x64\x1f\x70\x92\x97\x87\xde\x1b\xb6\x8e" -+"\x8d\xa8\x95\x1f\xfd\x1f\x16\x6f\x96\x90\x88\xae\x1b\xb3\xac\x8d\x8f\x98\x1f\x98\x8e\x8e\x8f\x91\x9d\x08\x86\x67\x6b\x89\x63\x1b" -+"\x71\x85\x8c\x91\x78\x1f\x0e\x59\xf7\x2d\xf7\x17\x15\x51\xce\x70\xd0\xdb\x1a\xf7\x45\xf7\x28\xf7\x26\xf7\x46\xf7\x48\xf7\x29\xfb" -+"\x26\xfb\x45\xfb\x4a\xfb\x2d\xfb\x25\xfb\x53\x2e\x48\xb3\xc2\x9a\x91\x98\x91\x8c\x8e\x8a\x8a\x8d\x1e\x88\x90\x94\x88\x91\x1b\xa5" -+"\xc3\xd3\xae\x90\x89\x8e\x87\x8f\x1f\x7d\x98\x88\x92\x96\x1a\xa9\xbc\xf4\xa8\xaa\x1e\x9a\x9b\x91\x8e\xa1\x8e\x96\x8d\x8f\x8d\x90" -+"\x92\x08\x9f\xa5\x97\xb3\xb4\x1a\x99\x83\x8f\x6e\x62\x84\x88\x63\x69\x1e\x2f\x23\x41\xfb\x3c\x25\x1a\x82\x8c\x84\x8e\x88\x1e\x92" -+"\x84\x8c\x89\x89\x1a\x89\x89\x89\x89\x88\x1e\x7f\x7b\x86\x7d\x78\x1a\x47\xdc\x58\xf7\x01\xf7\x63\xf7\x37\xf7\x32\xf7\x5c\xf7\x5a" -+"\xfb\x37\xf7\x38\xfb\x5a\xfb\x57\xfb\x38\xfb\x36\xfb\x54\x37\xb1\x2a\xbc\x61\x1e\x85\x92\x94\x88\x93\x1b\x8e\x8f\x8b\x8e\x92\x1f" -+"\xf7\xf3\xf8\x68\x15\x87\x53\x7f\x69\x71\x68\x08\x86\x98\x97\x89\x9a\x1b\x9a\x8c\x8c\x9c\x95\x1f\x9a\xa6\x91\x9f\xa6\x1a\x95\x8a" -+"\x8c\x84\x92\x1e\x7e\x97\x81\x90\x7d\x90\x08\xfb\x2f\xfb\xf9\x15\x7b\x54\x74\x6a\x64\x74\x08\x80\x9b\xa0\x82\x94\x1b\xa2\xb8\xc8" -+"\xa9\x93\x86\x91\x75\x9d\x1f\x0e\x5a\xf8\xfd\xf7\x26\x15\x99\x95\xae\xc2\x90\xa0\xfb\x25\xf7\x09\x18\x58\x6f\x5e\x5f\x76\x1e\xfb" -+"\xe6\x98\x15\x96\x6c\xa3\x62\x9c\x7a\xf7\x3a\xd7\x18\x5d\xa6\x75\xb2\xc4\x1a\xf7\x43\xf7\xb0\x15\x90\x7c\x81\x8c\x76\x1b\x76\x7c" -+"\x89\x87\x7d\x1f\x76\xfb\x4d\x05\x9a\xa4\xa1\x92\xa6\x1b\xa8\xa0\x84\x7c\xa0\x1f\x43\x84\x15\x52\x5e\x5e\x53\x53\xb8\x5e\xc3\xc3" -+"\xb8\xb8\xc3\xc2\x5e\xb9\x54\x1f\x8f\xf7\x97\x15\xfb\x5f\xfb\x37\x26\x0a\xfb\x5e\xf7\x34\xfb\x35\xf7\x5c\xf7\x5b\xf7\x35\xf7\x35" -+"\xf7\x5b\xf7\x58\x25\x0a\x71\x04\xd7\xde\x6a\x56\xc5\x1f\xd4\x49\xb1\x35\x2b\x1a\xfb\x4c\xfb\x2a\xfb\x2a\xfb\x4c\xfb\x4e\xfb\x28" -+"\xf7\x29\xf7\x50\xdb\xaa\xdb\xc2\xc7\x1e\xd5\xce\xe0\xb0\xf1\x1b\x0e\x5b\xae\xf7\xef\x15\xae\x7e\x6a\xfb\x0b\xbe\x92\xd5\xee\x05" -+"\x86\xb9\xde\x84\x91\x1b\xc3\x8a\x8b\x8b\x94\x87\x08\x94\x87\x90\x83\x80\x1a\x81\x8a\x87\x75\x38\x1e\x34\xfb\x59\x05\xb0\x06\x9f" -+"\x8c\x8f\x8d\x9c\xa4\xb2\xc1\x18\xc8\x06\x91\x90\x93\x94\x93\x86\x94\x85\x1f\x6a\x06\xbc\xd0\x05\xc7\x06\x91\x91\x93\x93\x94\x85" -+"\x94\x84\x1f\x6c\x06\xd5\xee\x93\x8c\x8b\x8b\xb6\x8d\x19\xb1\x8c\x97\x8c\xa6\x8e\x08\xbb\x91\xa2\x96\x9d\x1a\x9e\x5f\x97\x3f\x8f" -+"\x1e\x45\x8d\x82\x8c\x41\xef\x05\xaa\x06\x92\x91\x93\x94\x94\x85\x93\x85\x1f\x4f\x06\x5a\xd0\x05\xac\x06\x91\x90\x93\x94\x93\x86" -+"\x93\x85\x1f\x4e\x06\x64\xc2\x7a\xa3\x87\x8e\x77\x8c\x19\x66\x06\xe2\xfb\x59\x05\xa0\x3b\x8d\x83\x81\x1a\x7a\x7f\x82\x71\x8a\x1e" -+"\x62\x8a\x05\x81\x76\x89\x88\x6b\x1f\x77\x89\x77\x89\x77\x8a\x7f\x89\x18\x41\xee\x58\x93\xac\xfb\x0b\x05\x0e\xfb\x29\xf9\x23\xf8" -+"\xc0\x15\xfd\x00\xfc\x37\xf9\x00\x06\xfc\xed\xf8\x0e\x15\xf7\x64\xfb\x36\x05\x85\x07\x85\x07\xfb\x64\xfb\x36\x05\xf8\xda\x74\x15" -+"\xfc\xda\x06\xf7\x64\xf7\x36\x05\x67\x9b\xa8\x78\xb1\x1b\xb1\xa8\x9e\xaf\x9b\x1f\xf7\x64\xf7\x59\x15\xfb\xe4\x07\xfb\x64\xf7\x36" -+"\x05\x91\x07\x91\x07\xf7\x64\xf7\x4c\x15\xfb\x64\xfb\x36\x05\xaf\x7b\x6e\x9e\x65\x1b\x65\x6e\x78\x67\x7b\x1f\xfb\x64\xf7\x36\x05" -+"\x0e\xf7\x0d\xf9\x2a\xf8\x3c\x15\xa0\xb3\x85\x83\xad\x1f\x82\xb2\x93\x89\x9e\x1b\xa2\xaf\x90\x8f\x9c\x1f\x9d\x90\x93\x92\x96\x1a" -+"\x98\x7f\x97\x6e\x9a\x1e\x66\x9e\xfb\x00\xb3\x5b\x97\x08\x96\x5d\xfb\x19\x9a\x58\x1b\x73\x7e\x88\x80\x71\x1f\x5d\x78\x5c\x74\x6c" -+"\x7a\x6e\x7b\x84\x89\x67\x88\x5b\x87\x8a\x8b\x80\x82\x08\x74\x79\x7b\x55\x50\x1a\x5b\x97\x54\x9b\x72\x1e\x8f\x84\x8b\x8b\xba\x82" -+"\xa1\x88\x97\x8a\x9c\x89\x9f\x89\x8d\x8b\x91\x89\x90\x89\x90\x88\x95\x85\x08\x61\xd7\x8d\x8a\xb5\x1b\xad\xcf\x94\x99\xc7\x1f\xb0" -+"\x93\x9c\x9a\xa6\x1a\x93\x8a\x92\x8a\x94\x1e\xaa\x95\x95\x95\xa3\x1a\x9d\x87\x95\x7c\x9b\x1e\xae\x99\x9c\x9c\xa1\x1a\xa0\x83\x95" -+"\x66\xac\x1e\xfc\x8b\xd1\x15\x97\x83\x86\x8f\x82\x1b\x5c\x66\x36\xfb\x00\x21\xa9\x4a\xbb\x96\x93\x8e\x96\x94\x1f\x8a\x88\x89\x8b" -+"\x8a\x1b\x5b\x6f\xc5\xef\xd2\x9c\xcd\xa3\xa4\x1f\x97\x97\x92\x8d\xa1\x8c\x08\x0e\xef\xae\xf8\x8f\x15\xfb\xee\x07\xf5\x7e\x96\xa4" -+"\x05\xde\xbc\x06\xa2\x8a\xa0\x88\x91\x88\x92\x89\x9b\x83\xa4\x7d\x08\x72\xb9\xa2\x86\xc8\x1b\xb5\x06\x95\x06\x78\x98\x9e\x82\xa9" -+"\x1b\xd4\xd1\xb3\xb4\x99\x85\x97\x78\xa1\x1f\x93\x95\x8c\x90\x97\x1a\xa3\x82\x9c\x73\x9a\x1e\x90\x96\x8d\x91\x91\x1a\x97\x86\x94" -+"\x7e\x9a\x1e\xa9\xea\x90\x8f\xa8\x1f\xc8\x91\xa8\x9d\xaa\x1a\xa0\x78\xa0\x6b\x98\x1e\x99\x68\xfb\x02\x94\xfb\x15\x1b\x70\x79\x8a" -+"\x87\x69\x1f\x98\x78\x7b\x90\x76\x1b\x6c\x6d\x80\x6d\x5d\x1f\x71\x61\x76\x82\x72\x1b\x86\x89\x8b\x8c\x84\x1f\xad\x07\x2b\x69\x15" -+"\xca\xfb\xa4\x56\x06\xe1\xf7\x81\x15\xae\x8c\x96\x8f\xa9\x9d\xbf\xac\x8b\x8b\x9a\x93\x08\x97\xa5\xa0\x92\x99\x1b\xa0\xa2\x81\x7c" -+"\x9a\x1f\xd2\x44\x05\x97\x7e\x93\x7d\x81\x1a\x7b\x78\x7d\x76\x75\x7d\x92\xa4\x6e\x1e\x51\xbc\x7f\x7d\xb5\x55\x05\x70\x73\x6c\x7d" -+"\x6a\x1b\x7f\x77\x8e\x90\x75\x1f\x7e\x8e\x83\x7c\xce\x74\x05\xc1\x06\x99\x5d\x94\x81\xae\x85\x8c\x69\x95\x7c\xa4\x86\x08\x7e\x07" -+"\x8a\x75\x82\x8b\x7f\x1b\x56\x62\x94\x9f\x6b\x1f\x84\x90\x83\x90\x83\x90\x7d\x93\x80\x91\x84\x8e\x7d\x8f\x80\x8d\x73\x8c\x08\xf7" -+"\xbf\xf7\x9d\x15\x8e\xb4\x9f\x8c\xa3\x1b\xde\xf3\x83\x83\xa5\x1f\xa5\x83\x98\x7f\x7d\x1a\x82\x85\x82\x82\x87\x1e\x83\x77\x29\x85" -+"\x2b\x1b\x86\x7e\x8b\x8c\x78\x1f\xa3\x62\x15\x98\x82\x8f\x85\x82\x1a\x79\x7e\x7e\x66\x7b\x1e\x73\x58\x59\x79\x7c\x1b\x77\x79\x9b" -+"\x9d\xa0\xa6\xa7\xa0\x8d\x8f\x8a\x89\x90\x1f\x85\x9b\x99\x89\x9a\x1b\xaa\xa5\x96\xa4\xa1\x1f\x8d\x8e\x8b\x8b\x8d\x8d\x08\x9f\x3f" -+"\x15\x96\x97\x7e\x7e\x77\x78\x76\x6f\x80\x1f\x7e\x6b\x61\x80\x76\x1b\x7c\x7e\x96\x99\x99\x90\x8f\xa7\x93\x1f\x90\x8c\x96\x90\x9a" -+"\x92\x08\xb1\xd9\x8b\x8b\x90\x1b\x4c\xfb\x06\x15\x8e\x97\x94\x8d\x8c\x1b\xa3\x96\x9a\x92\x97\x91\x08\x8e\x8f\x8e\x8c\x8c\x1b\x93" -+"\x96\x79\x7f\x74\x4d\x6d\x5b\x73\x79\x97\x9b\x93\x8d\x8d\x9a\x8e\x1f\x0e\xfb\xb6\xf7\xcc\xf8\x55\x15\x7f\xa8\x84\xa0\x7c\xb6\x08" -+"\xf7\x0f\x62\x72\xb4\x69\x1b\x6c\x6e\x6e\x6b\x76\x9d\x49\x9e\x56\x1f\xa9\x3a\x8c\x88\x90\x78\x08\x91\x7c\x7f\x8f\x83\x1b\x6d\x63" -+"\x63\x6e\x7d\x8e\x79\x90\x77\x1f\x67\x6e\x6d\x64\x5f\xa0\x50\xab\x5c\x1f\x56\xb0\xc9\x6e\xdb\x1b\xd9\xde\xb5\xc7\xb7\x1f\xa9\xb5" -+"\x9f\xcf\xc6\x1a\xb3\x85\xae\x7e\xa9\x1e\x84\x9d\x84\x90\x72\x91\x88\x8c\x81\x8e\x81\x8e\x08\xc0\xf7\x2a\x97\xb4\xb1\x1a\xac\x74" -+"\xa6\x70\x81\x80\x87\x83\x82\x1e\x71\x76\x7e\x73\x71\x42\x85\x7c\x79\x5c\x78\x59\x08\xfb\x7e\xfb\x8e\x15\x74\x07\x98\x73\x98\x77" -+"\x95\x82\x08\x7a\x9e\xa6\x7e\x9d\x1b\x94\x9a\x91\x92\x94\x1f\x95\x93\x8f\x93\x9b\x1a\x8f\x8b\x92\x8a\x92\x1e\xa1\x06\x90\x5a\x90" -+"\x80\xab\x6c\x95\x94\x18\x8a\x90\x8a\x90\x8a\x8d\x08\x83\xa9\x86\x9f\x92\x1a\xa0\xa8\xbc\xa8\xa7\x1e\xa4\xa5\x9c\x93\xb1\x92\x08" -+"\xa6\x07\x76\x8b\x8b\x86\x5b\x1f\x81\x8a\x55\x99\x7c\x92\x08\x79\x94\x7b\xa2\x9b\x1a\x92\x8e\x96\x90\x97\x1e\xa7\x82\x8b\x8b\xb0" -+"\x85\xf7\x15\x75\x8b\x8b\x8f\x89\x08\xa8\x7d\x97\x72\x5a\x1a\xfb\x26\x2c\x25\xfb\x1c\x5b\x5b\x98\xa0\x73\x1e\x7e\x96\x69\xc0\x85" -+"\x9b\x08\x74\xd3\x8b\x8b\x90\x1a\x9d\xa5\xa5\x9d\x9b\x8f\x86\x57\xae\x1e\xb0\x54\x8b\x8b\x86\x1a\x81\x79\x7f\x7e\x75\x60\xb6\xac" -+"\x7f\x1e\xf7\x59\xf7\x76\x15\x8e\x7c\x80\x8c\x83\x1b\x85\x80\x89\x89\x7e\x1f\x86\x94\x8b\x8b\x7d\xb2\x08\x61\xf7\x07\x84\xa1\xac" -+"\x1a\x9a\x95\x97\x97\x97\x93\x84\x7a\x94\x1e\x97\x73\xb4\xfb\x04\xa7\x36\x08\xc4\x16\xf7\x71\xd7\x91\x98\xa3\x1b\x96\x95\x7f\x7d" -+"\x76\x65\xfb\x14\x6e\x44\x1f\xfb\x8f\x63\x15\xa0\x87\x93\x85\x94\x7d\x08\xb3\x4d\xaa\x4d\x7c\x1a\x81\x80\x80\x7f\x80\x7a\x96\x9a" -+"\x7d\x1e\x65\xb5\x67\xc7\x9f\x1a\x95\x90\x92\x9c\x98\x1e\x8f\x8e\x8b\x8c\x8f\x8d\x08\xf7\x1d\xfb\x1e\x15\x74\xc2\xa5\x83\x96\x89" -+"\xaa\x87\x19\x0e\x9b\xdd\xf7\x5e\x15\x98\x7a\x53\xfb\x03\x05\x88\x85\x89\x87\x8a\x1a\x89\x8e\x89\x8d\x8d\x8e\x8c\x8d\x90\x1e\xe3" -+"\xab\xbf\xc3\x05\x7b\xc7\xa6\x86\xae\x1b\x9e\xad\x8e\x91\xd4\x1f\xf3\x80\xe7\xa2\x99\x53\x05\xf7\x2a\x06\xa2\xf7\x22\x05\xf2\x07" -+"\x74\xd2\xfb\x2a\x94\x7d\x77\x6d\x8c\x80\x8f\x74\x9a\x19\x2f\xc6\xd5\xdf\x05\x90\x91\x8d\x8f\x92\x1a\xa6\x77\xa4\x75\x83\x82\x88" -+"\x86\x87\x1e\x35\x2b\x4f\xae\x4a\x6e\x65\x6f\x30\x35\x19\x74\x48\x87\x7d\x80\x5d\x08\xf8\xa2\xe1\x15\x96\x57\x8e\x72\x6b\x1a\x72" -+"\x89\x75\x83\x5e\x1e\x79\x4f\x71\x86\x71\x1b\x78\x81\x8c\x95\x50\x1f\x6f\x87\x74\x88\x7d\x88\x08\x86\x73\x78\x88\x80\x1b\x81\x62" -+"\x92\x8d\x85\x1f\x89\x8c\x89\x8d\x8c\x1a\x8c\x8d\x8c\x8d\x8d\x8c\x08\x97\x95\x8f\x91\x96\x1a\x9f\x7a\x9e\x78\x89\x8a\x8a\x8a\x8b" -+"\x8b\x8a\x8c\x8a\x1e\x94\x80\x90\x7c\x7f\x1a\x7c\x85\x81\x83\x1e\x7d\x8c\x05\x77\x06\x7d\x82\x94\x98\x9f\x96\x9d\x9b\x93\x1f\xa7" -+"\x98\x9f\x98\x8d\x8b\xa1\x8c\x19\xf7\x10\x06\xa1\x9e\x8f\x90\x91\x9c\x08\x7a\x62\x76\x84\x77\x1b\x7d\x8c\xba\xc0\x8c\x94\x8c\x93" -+"\x8c\x8f\x19\x8c\x93\x8c\x90\x8e\x1a\x8e\x89\x91\x88\x95\x1e\xc7\xd1\xf7\x0c\x45\x05\xfb\xef\x4e\x15\x71\x49\x85\x7c\x78\x75\x72" -+"\x76\x19\x79\x06\xa6\xc5\x82\xa6\x79\x95\xa6\xe5\x8f\x97\x8c\x8c\xa0\x9e\x19\xd6\xcd\x05\x9f\xa1\xc0\xaa\x96\x1b\x93\x94\x85\x74" -+"\xa9\x1f\xfb\xcd\xfc\x3c\x15\x8a\x88\x88\x8b\x88\x1b\x84\x85\x90\x92\x8e\x8d\x94\x8d\x8e\x1f\x9a\xa5\x05\x9c\x95\x8b\x8b\x90\x1b" -+"\x94\xa1\x6c\x7d\x85\x87\x87\x83\x88\x1f\xa0\xf7\x55\x15\x92\x84\x8d\x86\x7f\x1a\x67\x7c\x71\x77\x88\x86\x8b\x8c\x86\x1e\xf7\xb0" -+"\xf7\x3c\x15\x5e\x6e\x59\x71\x84\x83\x8c\x8d\x82\x1e\xf8\x5b\xf7\x01\x15\x9c\x61\x92\x68\x52\x1a\x5a\x86\x6b\x7f\x5e\x1e\x21\x82" -+"\x05\x9b\xc2\x92\xbb\xbe\x1a\xa7\x89\x99\x81\xd4\x1e\x0e\xd3\xf7\x56\xf8\xbe\x15\x6a\x64\x58\x61\x78\x9a\x7a\x9b\xaa\xb1\xbe\xb6" -+"\x9e\x7e\x9b\x7c\x1f\xd2\xe2\x15\xfb\x29\x72\x3a\xfb\x1c\xb4\xfb\x2e\xf8\x46\xfb\x99\x9b\x82\x93\x88\xa8\x89\x19\xf7\xa9\x06\xa3" -+"\x97\x93\x9b\x91\x89\x8f\x86\x95\x1f\xfb\x23\xf7\x8f\x80\x9f\x86\x90\x7b\x94\x19\x81\x91\x05\xfc\x3f\xf7\x7a\x15\xad\xfb\x0b\x42" -+"\xfb\x0f\xfb\x0d\x71\x6a\xf7\x16\xd0\xf7\x07\x05\xf9\x29\xfc\x33\x15\xa1\x6a\x8b\x8a\x82\x1a\x7f\x7d\x72\x7d\x7f\x1e\x84\x84\x7d" -+"\x87\x7c\x1b\xfb\x49\x06\xe9\xca\xb3\xd0\x93\xf7\x01\x08\xfc\x3b\xf7\xaf\x15\xf8\x1e\xfb\x84\x05\x8e\x79\x8c\x83\x7d\x1a\x7d\x8a" -+"\x81\x88\x77\x1e\xfc\x02\xf7\x6f\x05\x7f\x77\x15\xf8\x05\xfb\x73\x87\x70\x67\x4f\x74\x79\x19\xfc\x05\xf7\x73\x05\x7f\x77\x15\xf8" -+"\x01\xfb\x70\x7b\x78\x6a\x6e\x7e\x85\x19\xfc\x32\xf7\x91\x05\x0e\xe9\xf7\x25\xf8\x3c\x15\x72\x7d\x6f\x59\x58\x98\x6f\xa5\xa4\x99" -+"\xa7\xbd\xbe\x7d\xa7\x72\x1f\x82\xfb\xaf\x15\xf8\x60\x06\x8c\x9e\x8c\x8b\x8e\x1b\x95\x8d\x8b\x8b\x99\x95\xf7\x75\xf7\x31\x18\xa9" -+"\x9f\x8c\x8d\x98\x1a\x97\x8a\x8d\x6d\x9f\x1e\xfb\x75\xf7\x31\x88\x8d\x88\x8d\x87\x8e\x19\x88\x8e\x86\x8c\x85\x8c\x08\x89\x83\x8b" -+"\x8c\x7e\x1f\xfc\x60\x06\x26\xfb\x0b\x05\xfb\x40\x07\xf7\x54\x94\x15\x39\x28\x39\xea\x05\xf7\x36\x07\xdd\xea\xdd\x29\x05\xf8\x38" -+"\xfb\x7b\x15\xa7\xc8\x97\xbb\xb8\x1a\xb7\x7f\xb9\x6f\xc9\x1e\xf7\x32\xfb\x01\x05\x92\x7a\x8d\x81\x7a\x1a\x7a\x89\x81\x84\x7b\x1e" -+"\xfb\x61\xf7\x6d\x15\x97\x79\x97\x6d\x96\x6b\x08\xfc\x14\x06\x49\xdb\x05\xd1\xfb\x85\x15\xf7\x17\xf8\x18\x07\x90\x79\x8d\x7c\x6a" -+"\x1a\x6b\x89\x7c\x86\x79\x1e\x88\x6c\x15\x7a\x60\x87\x80\x81\x75\x08\xfc\x42\x06\xcf\xd7\x05\x0e\xd3\xf7\x2d\xf7\x9c\x15\x7a\x7d" -+"\x7b\x78\x61\xb2\x58\xac\x9b\x97\x9b\x9e\xb6\x66\xbd\x6b\x1f\xf7\x04\xfb\x6a\x15\xf8\x37\xf7\x91\xa6\x9a\x8d\x8d\x98\xa2\x19\xf7" -+"\x22\xf7\x8d\x05\x91\x95\x8d\x90\x90\x1a\x9b\x7f\x93\x73\x1e\xfb\xa9\x06\x70\x89\x81\x88\x7b\x82\xfc\x46\xfb\x97\x18\x62\xfb\x2e" -+"\xdc\xfb\x1a\x05\xf7\x21\x8a\x15\xfb\x10\xa2\x46\xf7\x07\xac\xf7\x15\xf7\x0d\x71\xd4\xfb\x0f\x05\xf8\x3a\xf7\x49\x15\x83\xf7\x00" -+"\x63\xd0\x2d\xc9\x08\xf7\x49\x06\x97\x9b\x88\x87\x90\x1f\x9a\x7f\x9b\x70\x7e\x1a\x81\x8b\x8a\x75\x6b\x1e\xfc\x8c\xfc\x37\x15\xa7" -+"\xf3\xf8\x02\xf7\x6f\x05\x8e\x77\x8c\x81\x7d\x1a\x7d\x8a\x82\x88\x7a\x1e\xfc\x0e\xfb\x07\x15\x4c\xf4\xf8\x05\xf7\x71\xa2\x7a\xaf" -+"\x4f\x8e\x70\x19\xfc\x4f\x2a\x15\xfb\x03\xa0\xf8\x32\xf7\x8f\x98\x85\xab\x6f\x9b\x78\x19\x0e\xf5\xf7\x3b\xf8\x83\x15\x3e\x54\x4b" -+"\x31\x50\xa5\x5a\xb7\x70\x1f\x81\x9c\x95\x89\xa7\x1b\xf7\x33\x06\xb6\x97\xa3\xa2\xad\x1b\xa2\x9e\x7d\x69\xa0\x1f\x4e\xb2\x99\x7f" -+"\xb0\x1b\xb8\xc8\xa6\xce\xf7\x02\x1f\xce\xb4\xb4\xa9\xb6\xb2\x3f\xcb\x81\x92\x61\xa6\x08\xdc\xfb\x16\x4e\xa7\x5d\x1b\x66\x75\x7a" -+"\x60\x74\x1f\x5c\x74\x72\x75\x6e\x1b\x6c\x75\xa4\xbc\x7e\x1f\xf8\x35\xfb\x20\x15\x2b\x06\xba\x7f\x77\xa2\x6c\x1b\x65\x6c\x65\x5c" -+"\x5e\xa8\x66\xb0\xab\xa1\xa3\xbc\x97\x1f\xeb\x42\x06\x64\x58\x25\x5b\x6b\x1b\x70\x77\x99\xae\x76\x1f\xc4\x68\x77\x9a\x65\x1b\x60" -+"\x68\x72\x63\x7c\x1f\xfb\x1e\x06\x5b\x60\xc2\xc8\xcd\xb7\xc0\xc2\x1f\xf7\x16\x06\x5a\x9f\xa9\x73\xb4\x1b\xb0\xa1\x9d\xc2\xac\x1f" -+"\xb6\xa5\x9c\x98\xaa\x1b\xa1\x9b\x85\x72\xbb\x1f\xbb\x71\xa3\x7d\xa3\x7a\x08\x0e\xf7\x1b\xfa\x3e\xf7\xee\x15\x8c\x87\x8a\x8c\x87" -+"\x1b\x88\x8c\x8b\x8b\x84\x8d\x40\x9e\x5f\xaf\x42\xef\x08\xc5\x61\x69\xa2\x61\x1b\x5b\x5b\x62\x53\x7b\x1f\x7f\x5e\x8b\x8b\x86\x7e" -+"\x08\x6e\x80\x7e\x82\x6f\x1b\x73\x7e\x93\xa7\x7b\x1f\xc3\x6b\x8b\x8b\xfb\x37\x1b\x50\x79\x88\x7f\x77\x1f\x6c\x77\x7a\x5e\x4c\x1a" -+"\x4a\xa0\x5a\xae\x7b\x1e\x83\x9e\x99\x8a\xcc\x1b\xf7\x2c\x8b\x8b\xcb\xb3\x1f\xa0\x99\x94\x91\xa2\x1b\xac\x9a\x7c\x5d\x98\x1f\x9b" -+"\x51\x8b\x8b\x93\x7e\x08\x66\xa1\xb0\x75\xb2\x1b\xb6\xac\xa2\xc6\xb6\x1f\xd5\xf3\xb9\xaf\xe4\x9f\x08\xfb\x94\x9b\x15\xd2\x89\x05" -+"\xf2\x85\x93\x8a\x84\x1a\x84\x63\x86\x45\x89\x1e\x43\x89\x7f\x8a\x05\x68\x7d\x76\x78\x6e\x1b\x68\x70\xaa\xb2\xb2\xa7\xab\xad\xa7" -+"\xa1\x78\x68\x99\x1f\x0e\x37\xf9\x65\x23\x0a\x53\x8c\x47\x77\x63\x6e\x3e\x3e\xfb\x23\xfb\x5b\x21\xfb\x47\x08\x74\x7e\x85\x84\x85" -+"\x1b\x85\x84\x94\x9b\x84\x1f\x6e\xd2\x05\x9b\x85\x86\x8f\x7f\x1b\x75\x6b\x7e\x75\x6f\x1f\x7e\x81\x86\x83\x7e\x1a\x61\xad\x25\xb1" -+"\x42\x1e\x7a\x93\x91\x89\xb4\x1b\xbd\x97\x8f\x9f\x96\x1f\xf6\xf7\x5b\xf7\x7b\xf7\xd6\xf7\x29\xf7\x32\x08\x0e\x92\xf9\xbf\xf9\x2f" -+"\x15\x97\x07\xa1\x86\x90\x75\x76\x83\x89\x7d\x7a\x1e\x39\x4a\x5c\x61\x31\x2e\x4f\x4d\x60\x5f\x73\x75\x3e\x42\x18\x6f\x6e\x89\x8a" -+"\x82\x1b\x88\x84\x8e\x8f\x84\x1f\x7f\x92\x87\x94\x88\xa0\x84\xb5\x86\xa9\x8a\x92\x86\xa7\x87\xaa\x8c\x8d\x08\x9e\x88\x90\x7d\x95" -+"\x1e\x90\x83\x82\x8e\x81\x1b\x7c\x75\x88\x85\x7c\x1f\x7c\x86\x83\x84\x6b\x64\x72\x6d\x8b\x8b\x8a\x80\x08\x89\x80\x88\x57\x7d\x1a" -+"\x74\x8d\x70\x8f\x6b\x1e\x93\x4d\x90\x61\x8c\x7a\x8c\x72\x8e\x85\x95\x7f\x9a\x7b\x9e\x7a\x9e\x7e\x08\x73\xad\x98\x86\xa1\x1b\x9e" -+"\x9a\x94\xb1\xb7\x1f\xef\xe1\xf7\x60\xf7\x5b\xcf\xd9\xd6\xe2\xbf\xc4\x9a\x99\x9a\x99\x94\x96\x8e\x90\x08\x0e\x3e\xf9\x6b\xf9\x0d" -+"\x15\x50\xc6\xfb\xb3\xfb\xb4\xfb\xb3\xf7\xb4\x50\x50\xf7\xb4\xfb\xb2\xfb\xb4\xfb\xb4\xc6\x50\xf7\xb3\xf7\xb5\xf7\xb3\xfb\xb5\xc6" -+"\xc6\xfb\xb4\xf7\xb4\x05\x0e\x3d\xf9\x6b\xf8\x9a\x15\xfb\x42\xf7\x42\xfb\x40\xfb\x42\xfb\x40\xf7\x42\xfb\x42\xfb\x42\xf7\x42\xfb" -+"\x3f\xfb\x42\xfb\x41\xf7\x42\xfb\x42\xf7\x40\xf7\x42\xf7\x40\xfb\x42\xf7\x42\xf7\x42\xfb\x42\xf7\x41\x05\x0e\xfb\xa0\xf8\xb4\xf9" -+"\x28\x15\x8b\x89\x89\x89\x8a\x1e\x81\x80\x8a\x8a\x89\x89\x87\x88\x19\x96\x7d\x7b\x94\x86\x1b\x87\x89\x89\x63\x68\x1f\x44\x39\x63" -+"\x5d\x7a\x74\x87\x93\x89\x90\x8a\x8c\x68\xcc\x18\x63\xde\x8b\x8b\x89\x8c\x08\x8f\x88\x88\x8c\x87\x1b\x88\x88\x8a\x89\x89\x1f\x85" -+"\x83\x85\x85\x05\x8c\x87\x88\x8b\x89\x1b\x8a\x88\x8b\x8a\x88\x1f\x90\x83\x87\x8d\x87\x1b\x81\x7a\x76\x7f\x8a\x1f\x8a\x98\x66\xa5" -+"\x40\x1e\x97\x6b\x97\x6c\x96\x6c\x8d\x87\x8e\x81\x91\x7c\xfb\x0d\xfb\x26\x63\x57\x79\x6b\x78\x68\x7e\x75\x87\x85\x08\x81\x7e\x85" -+"\x81\x86\x1a\x8a\x8e\x84\x8f\x81\x1e\x8c\x88\x8c\x88\x8a\x1a\x89\x89\x84\x88\x81\x1e\x8a\x88\x8a\x89\x88\x1a\x83\x8b\x8b\xa1\x69" -+"\x1e\x82\x90\x8d\x8a\x93\x1b\x9e\xa1\x90\x92\x96\x1f\xba\xdc\xdb\xf7\x11\xd2\xf0\xac\x53\x8b\x8b\xcf\x28\x08\x6f\x9e\x90\x86\x93" -+"\x1b\x97\x9f\x9a\x94\x8d\x89\x8e\x89\x8f\x1f\x8a\x8f\x05\x8d\x8e\x8e\x92\x90\x1e\x95\x93\x05\x92\x07\x94\x8f\x8d\x8e\x8f\x92\x87" -+"\x95\x18\x88\x93\x8a\x8c\x7f\xa6\x78\xb2\x79\xb2\x71\xc2\x88\x91\x82\x9d\x7d\xa5\xbe\xd3\xf7\x00\xf7\x1f\xa6\xa8\x08\x94\x94\x8d" -+"\x8f\x8e\x1a\x8d\x88\x91\x87\x8f\x1e\x82\x95\x8b\x8c\x87\x91\x08\x92\x87\x8a\x8c\x8a\x1b\x0e\xfb\x36\xf8\xf2\xf9\x1a\x15\x88\x8a" -+"\x7d\x98\x8e\x1a\x8d\x8b\x8c\x8c\x8d\x1e\x8e\x8e\x8b\x8d\x8c\x1a\x90\x8a\x6c\xa7\x86\x1b\x83\xfb\x1d\xfb\x1f\x2a\x33\x1f\x5d\xcb" -+"\x75\xac\x56\xe1\x08\x94\x83\x87\x8e\x83\x1b\x7e\x82\x81\x79\x89\x1f\x83\x8a\x85\x84\x86\x1b\x89\x87\x8d\x8f\x88\x1f\x88\x8e\x86" -+"\x90\x84\x90\x77\x78\x88\x88\x7d\x75\x90\x68\xcb\xfb\x23\xbb\x37\x88\x88\x88\x87\x89\x88\x70\x6c\x70\x6b\x6f\x6c\x70\x6b\x74\x6f" -+"\x71\x68\x8e\x80\x8b\x8b\x90\x80\x08\x92\x7e\x8b\x8b\x88\x1a\x86\x88\x84\x87\x85\x1e\x88\x87\x89\x88\x89\x1a\x84\xa9\x62\x93\x87" -+"\x1e\x91\x98\x92\x8e\x8e\x1b\x8e\x8e\x88\x88\x8a\x8b\x89\x8a\x88\x1f\x8a\x8a\x8a\x88\x87\x1a\x9e\x76\x05\x98\x06\xb9\xcc\x9f\xa6" -+"\x93\x95\xd0\xe5\x18\x95\x99\x9a\x78\x8d\x88\xa7\x61\x19\xa9\x5f\x96\x7d\xa6\x6f\x08\x8a\x8e\x8e\x8a\x8c\x1b\x93\x98\x95\x9c\x99" -+"\x1f\x8f\x8f\x8d\x8d\x8d\x1b\x8c\x8e\x89\x89\x8e\x1f\x80\x9a\x8d\x8a\x8f\x1b\x8e\xa5\xa0\x8e\x8c\x1f\x88\x96\x05\x8c\x07\x8c\x8d" -+"\x8c\x99\x97\x1e\xa6\x9f\x90\x93\x90\xa6\x7d\x97\x4e\xd6\x42\xeb\xc9\xd9\xdb\xe3\xd8\xd9\x08\x8a\x8d\x8a\x8c\x8d\x1a\x8c\x8d\x8d" -+"\x8d\x8e\x1e\x93\x95\x8b\x8b\x8d\x93\x88\x8f\x86\x93\x82\x98\x08\x89\x8e\x89\x8e\x8a\x1a\x0e\x3f\xf8\x40\xf9\x04\x15\x2f\xfb\x7a" -+"\xfb\x7b\x2f\xf7\x7b\xfb\x7b\xe7\xf7\x7b\xf7\x7a\xe7\xfb\x7a\x06\xd0\xf7\xc0\x15\xfb\x7c\xfb\x7b\xfb\x7a\xfb\x7c\xf7\x7a\xfb\x7a" -+"\xf7\x7c\xf7\x7a\xf7\x7b\xf7\x7c\xfb\x7b\x06\x68\xf7\x58\x15\xfb\x7b\xf7\x7b\xfb\x35\xfb\x7b\xfb\x7b\xfb\x35\xf7\x7b\xfb\x7b\xf7" -+"\x35\xf7\x7b\xf7\x7b\x07\x0e\x3c\xf8\x84\x20\x0a\xfb\x7b\xfb\x7a\xfb\x7a\xfb\x7b\xf7\x7a\xfb\x7a\xf7\x7b\xf7\x7a\xf7\x7a\xf7\x7b" -+"\xfb\x7a\x06\x0e\x3b\xf7\xd9\x16\xf7\x02\xf7\xb6\xfb\x02\x06\xf7\x02\x04\xf7\x02\xf7\xb6\xfb\x02\x06\xfb\xb6\xfb\xb6\x15\xfb\x02" -+"\xf7\xb6\xf7\x02\x07\xf7\x02\x16\xfb\x02\xf7\xb6\xf7\x02\x07\x0e\x36\xf7\xa5\x16\xf7\x65\xf7\x82\xfb\x65\x06\xf7\x65\x04\xf7\x65" -+"\xf7\x82\xfb\x65\x06\xfb\x82\xfb\x82\x15\xfb\x65\xf7\x82\xf7\x65\x07\xf7\x65\x16\xfb\x65\xf7\x82\xf7\x65\x07\x0e\xfb\xed\xf7\x5e" -+"\x20\x0a\xfb\x49\xfb\x3b\x2f\xf7\x3b\xfc\x36\xe6\xf8\x36\xf7\x3b\xe7\xfb\x3b\xf7\x49\x07\x0e\xfb\xb3\xf7\x49\x20\x0a\xfb\x28\xfb" -+"\x26\xfb\x09\x07\xe5\x40\x05\xc3\xfb\xac\x06\xe1\x44\x05\xf6\xf7\xf3\xf7\x23\xf7\x0f\x06\x3d\xd0\x05\x4a\xd8\x06\x3f\xd2\x05\x2e" -+"\x73\x15\xe8\xfb\x27\xf7\x21\x2d\xfb\x21\xfb\xf7\x2e\xf7\xf7\xfb\x26\xe9\xf7\x26\x06\x0e\xfb\xc2\xf7\x75\xf9\x15\x15\xfb\x2c\xfb" -+"\x20\x36\xf7\x20\xfb\xf6\xe6\xf7\xf6\xf7\x1d\xe0\xfb\x1d\xf7\x2c\x07\xfb\x20\xbc\x15\xfb\x2b\xfb\x21\xfb\x4d\xf7\x21\xfb\xf6\xf7" -+"\x53\xf7\xf6\xf7\x1c\xf7\x4d\xfb\x1c\xf7\x2b\x07\xfb\x3a\x73\x15\xf7\x21\xfb\x2c\xf7\x1c\xfb\x1b\xfb\x1c\xfb\xf6\xfb\x21\xf7\xf6" -+"\xfb\x21\xf7\x1b\xf7\x21\x06\x0e\xfb\x9a\xf4\xf8\xe7\x15\x75\x07\xef\x89\xd0\x32\x85\xfb\x09\x08\x79\x06\x51\x63\x98\xa9\x67\x1f" -+"\x62\xad\x7b\xad\xc0\x1a\x73\xfc\x03\xa3\x06\x8c\xea\xe1\xd3\xf7\x00\x87\x08\x99\x7d\x06\xfb\x02\x8f\x45\x39\x2a\x1b\x74\xf8\x02" -+"\xa2\x07\x2b\x8d\x48\xda\xf7\x03\x1a\x99\x07\xa2\x8c\x05\xf7\x02\xd8\x47\x2b\x1f\xa3\xf8\x03\x73\x06\x88\x28\x38\x47\xfb\x02\x8f" -+"\x7d\x8a\x18\x84\xf7\x0a\xd2\xe6\xee\x8a\x08\xa1\x07\x0e\xfb\x27\xf7\xee\xf9\x52\x15\x21\xfb\x49\x05\xfb\x61\x06\xf1\xfb\x43\x25" -+"\xfb\x45\x05\xf7\x61\x06\xf5\xfb\x4b\xf4\xf7\x4b\x05\xf7\x62\x06\x25\xf7\x45\xf1\xf7\x43\x05\xfb\x62\x06\xfb\x51\x6a\x15\xf7\x3c" -+"\x06\xdd\xfb\x22\x39\xfb\x24\x05\xfb\x3c\x06\x39\xf7\x24\x05\xf7\x3a\xf7\xb0\x15\xc9\xfb\x01\x05\xfb\x11\x06\xf7\x52\x6a\x15\xf7" -+"\x0d\x06\x4f\x23\x05\x3e\x04\xc6\x22\x05\xfb\x0b\x06\x4c\x6a\x15\x4a\xfb\x00\x50\xf7\x00\x05\x48\xac\x15\xfb\x0f\x06\xc8\xf4\x05" -+"\xd8\x04\x50\xf3\x05\xf7\x0b\x06\x0e\x56\xf8\x2e\xf7\xfd\x15\x8a\xa4\x96\xbd\x9e\xca\x08\xaa\xe8\x8b\x8b\xa5\x1a\xbc\x6a\xb1\x61" -+"\x60\x69\x63\x5b\x7a\x8e\x79\x90\x7b\x1e\xb0\xfb\x07\x97\x59\x8d\x63\x4b\x93\x78\x8f\x65\x98\x08\xaf\xfb\x00\x8b\x8b\x70\x1b\x5a" -+"\x66\x6b\x60\x60\xb1\x6a\xbb\x9f\xa0\x8e\x91\x9e\x1f\xf0\xac\xba\x97\xbb\x8f\x8c\x7b\x85\x69\x79\x48\x08\x67\xfb\x01\x8b\x8b\x6e" -+"\x1a\x59\xac\x66\xb5\xb5\xad\xb1\xbc\x9d\x87\xa0\x84\xa0\x1e\x67\xf7\x05\x84\xa8\x86\xc0\xab\x89\xbb\x81\xb9\x7c\x08\x6a\xef\x8b" -+"\x8b\xa7\x1b\xbd\xb0\xa9\xb6\xb7\x65\xac\x58\x78\x79\x89\x85\x7b\x1f\xfb\x07\x66\x85\x89\x3d\x80\x08\x0e\xf8\x16\xf8\x2c\x15\x6c" -+"\x86\x77\x77\x86\x6c\x47\x8c\x7b\x90\x71\xad\x08\xae\x6e\x71\x9a\x69\x1b\x57\x5f\x5f\x55\x56\xb7\x5f\xbf\xae\xa4\x99\xaf\xa8\x1f" -+"\xa4\xac\x9b\x90\xd0\x8c\x90\x6d\x9f\x77\xa9\x86\x08\x48\x85\x7a\x6a\x71\x1e\x67\x6e\x7d\x71\x69\x1a\x57\xb8\x5f\xc0\xc0\xb7\xb7" -+"\xbf\xad\x7d\xa5\x67\xa8\x1e\x6a\xa4\x85\x9b\xd0\x1a\xa9\x90\x9f\x9f\x90\xa9\xd0\x8a\x9b\x86\xa4\x6a\x08\x67\xa8\xa4\x7d\xae\x1b" -+"\xbf\xb7\xb7\xc0\xc1\x5f\xb7\x57\x68\x72\x7c\x68\x6e\x1f\x6c\x73\x78\x83\x54\x1b\x7f\x8a\x86\xaa\x77\x9f\x6d\x90\x19\xd0\x91\x9b" -+"\xac\xa4\x1e\xae\xa8\x9a\xa5\xad\x1a\xbf\x5f\xb7\x56\x56\x5e\x5f\x57\x69\x9a\x71\xae\x6e\x1e\xaa\x73\x93\x78\x54\x1a\x0e\xf8\x0f" -+"\xf7\xd7\x15\x6c\x79\x6b\x67\x69\x1e\x5e\x61\x7e\x72\x60\x1a\x44\xc6\x50\xd2\xd3\xc5\xc6\xd2\xad\x7c\xae\x72\xa3\x1e\x55\xbd\x76" -+"\xab\xb2\x1a\xaf\xa2\x7e\x5e\xb6\x1f\x62\xb2\xa8\x7d\xb5\x1b\xd3\xc4\xc4\xd3\xd3\x51\xc6\x44\x67\x66\x7a\x70\x73\x1f\x59\x5e\x6c" -+"\x77\x64\x1b\x8f\xb7\x95\x9e\xb7\xb4\x08\xb2\xaf\x9b\xab\xb4\x1a\xd1\x50\xc6\x44\x44\x50\x50\x45\x62\x9a\x6e\xb4\x63\x1e\xb3\x63" -+"\x9c\x6d\x8c\x6a\x08\x5f\x81\x91\xc8\x50\x1f\xaa\x6c\x6b\x9a\x65\x1b\x44\x50\x50\x45\x43\xc8\x4f\xd2\xb0\xa8\x98\xa8\xa8\x1f\xc4" -+"\xc6\x97\x92\xbb\x92\x08\x0e\x5a\xf8\x31\xf7\xe4\x15\xf7\x20\x06\x7c\x78\x87\x7e\x79\x1a\x68\xa7\x6f\xae\xaf\xa2\xa2\xb8\x92\x1e" -+"\x86\x97\x93\x89\x97\x1b\xaf\xa4\xa4\xb1\xaf\x73\xa5\x69\x80\x83\x89\x84\x7b\x1f\xbc\x80\x76\xa1\x69\x1b\x67\x70\x70\x68\x77\x8f" -+"\x7f\x9a\x7a\x1f\xfb\x20\xf7\x1f\x06\x7d\xa1\x96\x87\x9b\x1b\xae\xa6\xa8\xaf\xae\x70\xa6\x63\x90\x1f\x90\x96\x8d\x92\x94\x1a\xb0" -+"\x6c\xa9\x66\x69\x6d\x71\x6d\x81\x8d\x84\x91\x76\x1e\x5b\x85\x73\x76\x66\x1a\x65\xa6\x6e\xb0\x9d\x98\x90\x97\x9c\x1e\xfb\x1f\xfb" -+"\x1d\x07\x98\x9e\x90\x96\x9b\x1a\xad\x6c\xa9\x68\x6f\x72\x79\x72\x83\x1e\x89\x85\x8a\x85\x8a\x7c\x08\x90\x7d\x84\x8c\x81\x1b\x68" -+"\x6e\x70\x6a\x69\xa9\x6e\xae\x95\x92\x8d\x91\x98\x1f\x5f\x91\xa5\x71\xaf\x1b\xad\xa7\xa8\xad\x9e\x86\x98\x7f\x9f\x1f\xf7\x1d\xfb" -+"\x23\x06\x98\x7a\x7e\x8f\x79\x1b\x67\x71\x71\x66\x65\xa6\x71\xb6\x88\x1f\x86\x7e\x89\x85\x81\x1a\x67\xa9\x6e\xaf\xaf\xaa\xa9\xae" -+"\x95\x89\x91\x84\x98\x1e\xb6\x90\xa4\xa4\xb1\x1a\xaf\x70\xa5\x68\x79\x7d\x87\x7f\x79\x1e\x0e\x5d\xf8\x1f\x23\x0a\x87\x89\x87\x84" -+"\x89\x1f\x81\x55\x4f\x2b\x4c\x4a\x52\x52\x4b\x66\x35\x72\x08\x82\x89\x88\x88\x87\x1a\x87\x8e\x88\x93\x89\x1e\xbf\x81\xf6\x4a\xc2" -+"\x56\xc8\x51\xbc\x35\x98\x42\x08\x84\x8c\x8d\x88\x8f\x1b\x8f\x8d\x8e\x92\x8d\x1f\x97\xc6\xbe\xe0\xc9\xcd\xcd\xd0\xd6\xb7\xde\x9c" -+"\x08\x94\x8d\x8e\x8e\x90\x1a\x8f\x88\x8d\x83\x8d\x1e\xfb\x2c\xb0\xfb\x28\xf7\x20\x62\xf7\x23\x08\xa7\x85\x8b\x8d\x85\x1b\x0e\x5e" -+"\xf8\x14\x23\x0a\x5a\xfb\x3f\xfb\x1c\xfb\x1b\xfb\x38\x62\x08\x78\x07\xf7\x45\x59\xf7\x1d\xfb\x1e\xae\xfb\x39\x08\x9c\x06\xb6\xf7" -+"\x3f\xf7\x2c\xf7\x2a\xf7\x37\xab\x08\x9e\x07\xfb\x3f\xb1\xfb\x25\xf7\x21\x61\xf7\x3c\x08\x82\x61\x15\xa3\xfb\x13\x9b\x59\xae\x4c" -+"\xd2\x65\xb6\x7e\xf7\x1d\x74\x75\x86\x77\x87\x85\x89\x66\x84\x6c\x84\x7b\x87\x60\x80\x6a\x7e\x60\x73\x69\x52\x7a\x54\x73\xfb\x13" -+"\x70\xf7\x16\x79\xc1\x6c\xc2\x08\x48\xaf\x6e\x94\xfb\x2b\xab\xf7\x1d\xa5\xba\x99\xca\xad\xaf\xcc\x97\xb1\xa7\xf7\x1d\x08\x0e\x74" -+"\xf8\x2d\xf9\x57\x15\x34\xfb\xa2\x05\xfb\xb3\x06\xf7\x7e\xfb\x42\x31\xfb\xa8\xf7\x7a\xf7\x3e\xf7\x7b\xfb\x3e\x32\xf7\xa8\xf7\x7b" -+"\xf7\x42\x05\xfb\xb4\x06\x0e\x7b\xf8\x32\xf9\x63\x15\x24\xfb\x86\xfb\xa8\x75\xf7\x65\xfb\x4c\x4f\xfb\xa1\xf7\x7a\xf7\x2b\xf7\x80" -+"\xfb\x2b\x45\xf7\xa1\xf7\x63\xf7\x4c\xfb\xa7\xa1\x05\x29\xf7\x66\x15\xc8\xfb\x9a\xf7\xaa\x9d\xfb\x7c\xfb\x2e\xf5\xfb\x95\xfb\x69" -+"\xf7\x4c\xfb\x65\xfb\x4c\xef\xf7\x95\xfb\x7f\xf7\x2e\xf7\xab\x79\x05\x0e\x59\xf8\x24\xf9\x56\x36\x0a\x85\x71\x15\xd7\xfb\x74\x05" -+"\xf7\x88\x06\xfb\x5a\xfb\x26\xd3\xfb\x7e\xfb\x56\xf7\x26\xfb\x61\xfb\x26\xda\xf7\x7e\xfb\x53\xf7\x26\x05\xf7\x86\x06\x0e\x8d\xf8" -+"\x31\xf9\x56\x15\x38\xfb\xb8\xfb\xbb\x97\xf7\x8e\xfb\x30\x23\xfb\xb0\xf7\x7c\xf7\x53\xf7\x86\xfb\x53\xfb\x05\xf7\xb0\xf7\x9d\xf7" -+"\x30\xfb\xcc\x7f\x05\x3b\x90\x15\xc4\xbb\x5a\x51\x50\x5c\x5c\x50\x4f\x5c\xba\xc7\xc6\xbb\xba\xc7\x1f\x0e\x7b\xf8\x33\xf9\x56\x15" -+"\x25\xfb\x88\xfb\xaa\x76\xf7\x67\xfb\x4c\x4b\xfb\xa1\xf7\x7d\xf7\x2b\xf7\x7e\xfb\x2b\x46\xf7\xa1\xf7\x65\xf7\x4c\xfb\xa7\xa0\x05" -+"\x28\xf7\x66\x15\xc8\xfb\x99\x05\x97\x73\x7a\x8f\x75\x1b\x74\x7b\x87\x7f\x75\x1f\xf8\x28\x9e\x15\xfb\x7c\xfb\x2e\x05\x90\x9a\x8c" -+"\x95\x97\x1a\xb0\x7b\xaa\x68\xa9\x1e\xf7\x29\xfc\x1c\x15\xfb\x69\xf7\x48\xbe\x91\xad\xa2\xa3\xb9\x19\xfb\xd3\xfb\x97\x15\xf2\xf7" -+"\x97\xa6\x58\xab\x75\xbb\x89\x19\xfb\xef\xf7\x7b\x15\xf7\xae\x78\x05\x6a\x6e\x7a\x6c\x6e\x1a\x7f\x8e\x7b\x8f\x78\x1e\x0e\x85\xf8" -+"\x35\xf8\xbb\x15\x48\xfb\x45\x05\xfb\x2f\x06\xf7\x08\x2e\x5e\xfb\x37\xf7\x2b\xed\xf7\x28\x29\x54\xf7\x38\xf7\x0e\xe7\x05\xfb\x26" -+"\x06\x46\xf7\xe0\x15\x22\xfb\xaa\x05\xfb\xa9\x06\xf7\x69\xfb\x3b\x3e\xfb\xa7\xf7\x8a\xf7\x37\xf7\x8d\xfb\x37\x31\xf7\xa7\xf7\x72" -+"\xf7\x3b\x05\xfb\xa6\x06\x20\xf7\x60\x15\xe4\xfb\x78\x05\xf7\x6b\x06\xfb\x44\xfb\x19\xd1\xfb\x70\xfb\x5a\xf7\x17\xfb\x5b\xfb\x17" -+"\xc8\xf7\x70\xfb\x3c\xf7\x19\x05\xf7\x6e\x06\x0e\x74\xf8\x2e\xf8\x7d\x15\x5e\xfb\x09\x05\xfb\x08\x06\xe3\x44\x66\xfb\x16\xf7\x02" -+"\xd8\xf5\x3e\x69\xf7\x16\xe8\xd2\x05\xfb\x0c\x06\xcc\xe5\x15\x24\xf7\x82\x05\x8f\x8a\x89\x8c\x87\x1b\x88\x89\x8a\x87\x89\x1f\x25" -+"\xfb\x82\xfb\x96\x70\x05\x86\x88\x88\x87\x8a\x8d\x88\x8d\x89\x1f\xf7\x57\xfb\x30\x4e\xfb\x9d\x05\x87\x07\x88\x8e\x87\x8d\x8c\x1e" -+"\x8d\x8d\x8c\x8c\x8d\x1f\xf7\x76\xf7\x23\xf7\x73\xfb\x27\x05\x8a\x8d\x8d\x8a\x8d\x1b\x8d\x8e\x8e\x8f\x1f\x8e\x07\x50\xf7\xa1\xf7" -+"\x55\xf7\x30\x05\x8e\x8e\x8c\x8d\x8d\x1a\x8f\x89\x8d\x85\x1e\xfc\x00\xf7\x34\x15\xd5\xfb\x4b\xf7\x52\x7f\xfb\x27\xfb\x05\xbd\xfb" -+"\x61\xfb\x3b\xf7\x08\xfb\x3f\xfb\x08\xc0\xf7\x61\xfb\x25\xf7\x05\xf7\x53\x97\x05\x0e\x83\xf8\x38\xf9\x57\x15\x2a\xfb\xa6\x05\xfb" -+"\xb4\x06\xf7\x7c\xfb\x39\x2b\xfb\xad\xf7\x8d\xf7\x44\xf7\x94\xfb\x44\x26\xf7\xad\xf7\x71\xf7\x39\x05\xfb\xad\x06\xfb\x45\x78\x15" -+"\xdd\xf7\x85\x05\xfb\xe7\x07\xd9\xed\x15\xf7\x87\x06\xfb\xd5\x29\x05\xf7\x18\x5b\x15\xe5\xfb\x80\xfb\x72\xf7\xb0\x05\xfb\x17\x04" -+"\xfb\x69\xfb\x2d\xf7\x69\xf7\xaf\x05\xfb\x15\x5c\x15\xfb\x60\xf7\x26\xf7\xe1\x28\x05\x0e\xdf\xf8\x2b\xf9\x56\x15\x33\xfb\x9c\x05" -+"\xfb\xb0\x06\xf7\x76\xfb\x40\x35\xfb\x98\xf7\x17\x74\xf7\x46\xf7\x16\xf7\x26\x20\x05\xf7\x19\x06\x31\xf7\x98\xf7\x6b\xf7\x2d\x4c" -+"\x9e\x05\xfb\x69\x06\x39\xf7\x89\x05\xfb\x06\x79\x15\xdd\xfb\x8a\x05\xf7\x8b\x06\xfb\x5f\xfb\x21\xd6\xfb\x83\xfb\x5d\xf7\x2c\xfb" -+"\x66\xfb\x2c\xdc\xf7\x83\xfb\x52\xf7\x21\x05\xf7\x82\x06\x0e\x2c\xf8\x54\x20\x0a\xfb\x2a\xfb\x73\x06\xfb\x4d\xf7\x0a\x3d\xfb\x19" -+"\xf7\x59\xfb\x01\xfb\x59\xfb\x02\xd9\xfb\x18\xf7\x4d\xf7\x09\x05\xfb\x6f\xf7\x2a\xf7\x6f\x07\xf7\x4c\xfb\x09\xd9\xf7\x18\xfb\x59" -+"\xf7\x02\xf7\x59\xf7\x01\x3d\xf7\x19\xfb\x4c\xfb\x0a\x05\x0e\xfb\x08\xf8\x34\x20\x0a\xfb\x01\xfb\x87\xf7\x01\x06\xfb\x01\xfc\x54" -+"\x15\xf7\x01\xf7\x87\xfb\x01\x06\xf8\x11\xf7\x78\x15\x54\xe9\xfb\x66\xfb\x0d\xc1\x2c\x05\xfc\x4e\xfb\x15\x15\xc2\x2c\xf7\x66\xf7" -+"\x0e\x55\xea\x05\xfb\x30\xf7\x73\x15\x54\x2d\xf7\x67\xfb\x0e\xc1\xea\x05\xf7\xe1\xfb\xd3\x15\xc2\xea\xfb\x67\xf7\x0e\x55\x2c\x05" -+"\x0e\x31\xf8\x21\x20\x0a\x5a\x06\x99\xfb\xd4\xfb\x6c\xf7\x7a\x70\x6c\xf7\x79\xfb\x68\xfb\xcd\x98\x05\x60\xf7\xcd\x07\xfb\x79\xfb" -+"\x66\xb0\x6b\xf7\x62\xf7\x79\x7d\xfb\xcf\x05\xbc\x06\x7f\xf7\xcf\xf7\x6b\xfb\x79\xaa\xab\xfb\x7e\xf7\x66\x05\xf7\xd1\xb6\x06\xfb" -+"\xd1\x7e\xf7\x7e\xf7\x68\x6c\xaa\xfb\x6b\xfb\x7a\x05\x0e\x5a\xf7\xfa\xf8\x39\x15\xfb\x6b\xf7\x47\x05\x8c\x89\x89\x8d\x89\x1b\x88" -+"\x88\x87\x88\x89\x8b\x8a\x8c\x8a\x1f\xf7\x48\xfb\x6b\xfb\xa3\x6f\x05\x86\x8a\x89\x89\x87\x1a\x87\x8d\x89\x8e\x8a\x1e\xf7\xa5\x76" -+"\xfb\x45\xfb\x67\x05\x89\x88\x8a\x89\x89\x1a\x88\x8f\x87\x8e\x8d\x8c\x8c\x8c\x8c\x1e\xf7\x6b\xf7\x46\xa7\xfb\xa8\x05\x86\x8e\x88" -+"\x8f\x8e\x8f\x8d\x8e\x1e\xa1\xf7\xab\xf7\x65\xfb\x46\x91\x88\x05\x8e\x8e\x8f\x8e\x8d\x8b\x8c\x8a\x8c\x1f\xfb\x41\xf7\x6b\xf7\xac" -+"\xa5\x05\x8f\x8c\x8e\x8e\x8f\x1a\x8f\x89\x8e\x88\x1e\xfb\xae\xa1\xf7\x48\xf7\x6e\x05\x8d\x8d\x8c\x8e\x8d\x1a\x8e\x87\x8e\x87\x8a" -+"\x89\x8b\x8a\x1e\xfb\x6f\xfb\x4e\x6e\xf7\xaa\x05\x8f\x88\x8e\x87\x88\x88\x89\x89\x1e\x0e\x5c\xf8\x29\x23\x0a\x80\x06\x51\xfb\x71" -+"\xfb\x50\xf7\x0d\x83\x84\xf7\x0b\xfb\x5f\xfb\x74\x58\x05\x81\x07\xf7\x74\x56\xfb\x0b\xfb\x51\x93\x83\xf7\x5c\xf7\x0a\xb9\xfb\x6c" -+"\x05\x96\x06\xc3\xf7\x75\xf7\x50\xfb\x0b\x94\x93\xfb\x09\xf7\x57\xf7\x6d\xbc\x05\x97\x07\xfb\x71\xc1\xf7\x11\xf7\x54\x84\x93\xfb" -+"\x5f\xfb\x0f\x05\x26\x78\x15\xbc\xf7\x5e\x05\xfb\xc9\x07\xc0\xf4\x15\xf7\x45\xf7\x04\xfb\x70\xfb\x6f\x05\xf7\x06\xaf\x15\xf7\x57" -+"\x5d\x05\xfb\xc4\x06\xf1\x55\x15\xf7\x03\xfb\x42\xfb\x6b\xf7\x69\x05\xac\xfb\x03\x15\x5d\xfb\x5d\x05\xf7\xc9\x07\x57\xfb\x00\x15" -+"\xfb\x49\xfb\x05\xf7\x73\xf7\x74\x05\xfb\x06\x64\x15\xfb\x65\xb9\xf7\xcd\x8e\x05\x26\xbe\x15\xfb\x01\xf7\x46\xf7\x6b\xfb\x6d\x05" -+"\x0e\xfb\x24\xf8\x66\xf7\xed\x15\xf7\x54\xf7\x41\x05\x8d\x8d\x8c\x8c\x8d\x1a\x8d\x89\x8d\x88\x1e\x88\x06\xfb\x8a\x3b\x55\xf7\x91" -+"\x05\x8f\x8a\x8a\x8d\x88\x1b\x88\x8a\x89\x87\x8a\x1f\x55\xfb\x91\xfb\x8a\xdb\x05\x88\x06\x88\x89\x89\x89\x89\x8c\x8a\x8d\x89\x1f" -+"\xf7\x54\xfb\x41\xfb\x54\xfb\x42\x05\x89\x8a\x8a\x89\x8a\x1a\x88\x8d\x89\x8e\x1e\x8b\x8d\x8b\x8c\x8c\x1e\xf7\x8a\xdb\xc1\xfb\x92" -+"\x05\x88\x8c\x8d\x89\x8d\x1b\x8e\x8c\x8d\x8e\x8c\x1f\xc1\xf7\x92\xf7\x8a\x3b\x05\x8c\x8a\x8d\x8b\x8b\x1a\x8e\x8d\x8d\x8e\x8c\x8a" -+"\x8d\x89\x8c\x1f\x0e\x4c\xf8\x7e\xf8\x5c\x15\xb6\xf7\x7a\x05\x8c\x8d\x8b\x8c\x8b\x1a\x8e\x87\x8e\x87\x88\x88\x8a\x88\x89\x1e\xfb" -+"\x18\xfb\x53\xfb\x1d\xf7\x56\x05\x8d\x8a\x88\x8c\x89\x1b\x87\x89\x88\x86\x8c\x1f\xb6\xfb\x7d\xfb\x7e\xb7\x05\x88\x06\x88\x88\x88" -+"\x88\x88\x8c\x89\x8e\x89\x1f\xf7\x58\xfb\x21\xfb\x5a\xfb\x19\x05\x87\x88\x8a\x8a\x88\x1a\x88\x8e\x88\x8f\x8c\x1e\x8e\x06\xf7\x80" -+"\xb2\x60\xfb\x83\x05\x87\x8a\x8d\x87\x8f\x1b\x8d\x8d\x8c\x8d\x8d\x1f\xf7\x1d\xf7\x58\xf7\x1c\xfb\x57\x05\x88\x8d\x8e\x8a\x8d\x1b" -+"\x8d\x8d\x8d\x8f\x8c\x1f\x8c\x8b\x8d\x8a\x8c\x1e\x60\xf7\x81\xf7\x86\x5b\x05\x8d\x8c\x8a\x8b\x1f\x8e\x8e\x8e\x8e\x8e\x89\x8d\x89" -+"\x8d\x1f\xfb\x5f\xf7\x22\xf7\x5f\xf7\x22\x05\x8e\x8d\x8c\x8d\x8d\x1a\x8f\x89\x8d\x87\x1e\x88\x06\x0e\x44\xf8\xa7\xf9\x4e\x15\xfb" -+"\x28\xfb\x3c\xfb\x25\xf7\x3c\x99\xfb\x6d\xfb\x6d\x9b\xf7\x3c\xfb\x27\xfb\x3c\xfb\x26\xf7\x6d\x9a\x7d\xfb\x76\xf7\x25\xf7\x3d\xf7" -+"\x28\xfb\x3d\x7d\xf7\x76\xf7\x6d\x7c\xfb\x3b\xf7\x26\xf7\x3b\xf7\x27\xfb\x6d\x7b\x05\x0e\x5c\xf8\xdb\xf9\x34\x15\xfb\x20\xfb\x17" -+"\x59\xf7\x47\x5e\xfb\x47\xfb\x17\xf7\x17\xb8\xfb\x43\xfb\x44\xb7\xf7\x17\xfb\x16\xfb\x4a\x59\xf7\x4a\x55\xfb\x17\xfb\x17\xf7\x44" -+"\xb9\x5e\xfb\x43\xf7\x17\xf7\x15\xb8\xfb\x45\xbd\xf7\x45\xf7\x20\xfb\x15\x5a\xf7\x43\xf7\x42\x5d\xfb\x11\xf7\x17\xf7\x42\xc1\xfb" -+"\x42\xbd\xf7\x11\xf7\x16\xfb\x42\x5f\x05\x0e\x3b\xf8\x00\xf9\x49\x15\xfb\xa1\x07\x2a\xf7\x8e\x67\x7d\xf5\xfb\x8c\xfb\x4f\xf7\x55" -+"\x70\x70\xf7\x57\xfb\x51\xfb\x8e\xf6\x7d\x68\xf7\x92\x28\x05\xfb\xa5\x6a\xf7\xa5\x06\xfb\x92\x2a\x99\x67\xf7\x8e\xf7\x02\xfb\x57" -+"\xfb\x53\xa6\x70\xf7\x4f\xf7\x59\x21\xfb\x8f\xaf\x7d\xec\xf7\x93\x05\xfb\xa7\xac\xf7\xa7\x07\xeb\xfb\x93\xae\x99\x20\xf7\x8f\xf7" -+"\x51\xfb\x59\xa6\xa6\xfb\x55\xf7\x53\xf7\x8b\xfb\x02\x9a\xaf\xfb\x8f\xec\x05\xf7\xa2\xac\xfb\xa2\x06\xf7\x8f\xee\x7c\xae\xfb\x8b" -+"\x20\xf7\x55\xf7\x51\x70\xa6\xfb\x51\xfb\x55\xf6\xf7\x8c\x68\x99\x2b\xfb\x8e\x05\xf7\xa1\x07\x0e\xfb\x18\xf7\x9c\xf7\xbb\x15\x37" -+"\x84\x5a\x80\x59\x74\x08\x69\x7c\x7f\x7c\x72\x1a\x6b\xa7\x6d\xa9\x98\x97\x90\x99\x9f\x1e\xb9\xad\xa7\xaa\xbd\xd2\x08\xf7\x49\xf5" -+"\x15\xe0\x92\xb8\x95\xc0\xa3\x08\xad\x99\x97\x9b\xa4\x1a\xab\x70\xa9\x6d\x65\x46\x4b\x2d\x4a\x1e\xfb\x49\x8e\x15\x5a\xd1\x6e\xab" -+"\x5d\xac\x08\x9a\x77\x7f\x90\x7e\x1b\x6d\x6f\x6d\x6b\x72\x97\x7c\xad\x7c\x1f\xbe\x74\xbc\x80\xde\x84\x08\xf7\x47\x24\x15\x2d\xcb" -+"\xd1\x4b\xb1\x1b\xa9\xa6\xa9\xab\xa4\x7f\x9a\x69\x9a\x1f\x57\xa3\x5d\x95\x36\x92\x08\x32\xf7\x1c\x15\x5d\x64\x65\x5e\x5c\xb0\x64" -+"\xba\xba\xb1\xb1\xba\xb9\x65\xb1\x5d\x1f\x8c\xa1\x15\xb2\xe0\x9c\xc4\xbf\x1a\xad\x74\xa2\x68\x69\x74\x74\x6a\x56\x9c\x51\xb4\x34" -+"\x1e\xfb\x63\x04\x62\x34\x7a\x51\x56\x1a\x69\xa2\x75\xae\xad\xa2\xa2\xad\xbe\x7a\xc6\x64\xdf\x1e\x0e\xfb\x17\xf7\xa1\xf7\x9e\x15" -+"\x8e\x92\x87\x83\x97\x1f\x92\x85\x92\x87\x91\x89\x08\x9b\x86\x8e\x88\x7c\x1a\x7d\x87\x79\x80\x6b\x1e\x7b\x5a\x85\x71\x74\x1a\x64" -+"\xa6\x6b\xab\xaf\xa5\xa9\xb5\xa5\x85\xa7\x7b\xb6\x1e\x82\xa4\x86\xa2\x99\x1a\x9b\x8e\x90\x9a\x8f\x1e\x92\x8d\x94\x90\x94\x93\x08" -+"\x90\x92\x91\x8f\x8f\x1b\x96\xa4\x76\x6f\xa4\x1f\x4d\xc1\xa5\x79\xaf\x1b\xaa\xa5\xa4\xa8\xa4\x7d\xa3\x75\x98\x1f\x75\x98\x73\x93" -+"\x57\x95\x08\x59\x94\x72\x97\x9b\x1a\x8c\x8b\x8f\x8c\x8f\x1e\x8c\x8f\x8b\x90\x91\x1a\x91\x8b\x90\x8a\x8e\x1e\x8a\x90\x8b\x8f\x8c" -+"\x1a\x9b\xa3\x97\xbe\x94\x1e\xbf\x95\xa3\x93\xa1\x98\x08\xa1\x98\x99\xa3\xa3\x1a\xa9\x71\xa4\x6c\x67\x71\x79\x4d\x55\x1e\x6e\x72" -+"\x72\x77\x80\x1b\x87\x85\x8f\x90\x84\x1f\x82\x92\x82\x91\x84\x8d\x08\x7c\x8f\x88\x90\x9b\x1a\x99\x90\xa2\x94\xa4\x1e\x9b\xb6\x91" -+"\xa7\xa5\x1a\xb5\x71\xa9\x68\x6a\x70\x6b\x64\x74\x90\x72\x9c\x59\x1e\x95\x6c\x8f\x78\x7e\x1a\x7c\x88\x87\x7b\x86\x1e\x84\x89\x82" -+"\x85\x82\x84\x08\x86\x84\x85\x87\x88\x1b\x80\x74\x9f\xa8\x70\x1f\xca\x53\x73\x9c\x67\x1b\x6d\x70\x71\x6e\x73\x9a\x73\xa1\x7e\x1f" -+"\xa0\x7e\xa1\x84\xc2\x80\x08\xbc\x82\xa5\x7e\x7e\x1a\x89\x8a\x87\x8a\x85\x1e\x8a\x88\x8b\x86\x85\x1a\x85\x8b\x86\x8c\x87\x1e\x8c" -+"\x86\x8c\x87\x89\x1a\x7e\x70\x7e\x5b\x81\x1e\x55\x81\x74\x84\x76\x7e\x08\x75\x7d\x7c\x74\x73\x1a\x6d\xa6\x72\xaa\xae\xa4\x9c\xca" -+"\xc3\x1e\xa5\xa9\xa2\x9d\x96\x8c\x08\xe0\xf7\x2d\x15\xb4\xab\x6a\x61\x63\x6a\x6a\x63\x63\x6a\xac\xb4\xb4\xac\xac\xb3\x1f\x0e\xfb" -+"\x31\xf7\xd1\xf7\xec\x15\x62\x73\x75\x86\xfb\x02\x7c\x62\x86\x6f\x81\x7d\x7c\x08\x7b\x7a\x81\x73\x76\x1a\x82\x8c\x7e\x8e\x7c\x1e" -+"\x72\xa9\x9c\x83\xa7\x1b\xac\xa2\x9a\xb7\xac\x1f\xcc\xdf\xa0\xa2\xb5\xa2\x08\x5c\x82\x6c\x63\x2a\x1e\x7f\x6f\x85\x73\x78\x1a\x7a" -+"\x94\x76\x9a\x7b\x1e\x97\x7e\x98\x84\xa7\x81\xa2\x93\x97\x91\x96\x94\x08\x9d\x9b\x98\xa4\x9f\x1a\x9e\x85\xa3\x80\xa7\x1e\x61\xed" -+"\x83\xa9\xba\x1a\xb6\x72\x9d\x79\xce\x34\x08\x5f\xac\xa2\x7c\xac\x1b\xa7\x9c\x93\xa4\xa9\x1f\x8d\x9a\x8d\x97\x95\x1a\x9e\x83\x9f" -+"\x7e\x9c\x1e\x7c\x9e\x71\x96\x5c\x91\x21\x99\x6f\x92\x61\xa3\xb3\xa3\xab\x93\xf3\x99\xb4\x90\xa7\x95\x99\x9a\x08\x9b\x9c\x95\xa3" -+"\xa0\x1a\x94\x89\x98\x89\x9a\x1e\xa4\x6d\x7a\x93\x6f\x1b\x6b\x73\x7b\x60\x6a\x1f\x4a\x36\x76\x75\x61\x73\x08\xbb\x93\xa8\xb5\xee" -+"\x1e\x96\xa7\x91\xa3\x9e\x1a\x9c\x82\xa0\x7c\x9b\x1e\x7f\x98\x7e\x92\x6f\x95\x74\x83\x7f\x84\x81\x83\x08\x78\x7a\x7e\x72\x78\x1a" -+"\x78\x91\x73\x97\x6f\x1e\xb3\x2a\x94\x6c\x5b\x1a\x61\xa3\x76\xa1\x4a\xe0\x08\xb6\x6a\x74\x9b\x6a\x1b\x70\x79\x83\x72\x6d\x1f\x88" -+"\x7c\x8a\x7e\x82\x1a\x78\x92\x77\x99\x7a\x1e\x9a\x77\xa5\x81\xba\x85\xf4\x7d\xa9\x83\xb4\x73\x08\x0e\xfb\x1e\xf7\xdc\xf8\x1a\x15" -+"\x28\xf7\x11\x05\xaa\x72\x65\x9f\x69\x1b\x74\x6f\x81\x74\x5f\x1f\x8a\x77\x8a\x7a\x7c\x1a\x46\xaf\x65\xd4\x83\x1e\xf7\x36\x78\xfb" -+"\x36\x79\x05\x42\x82\x67\x65\x47\x1a\x7c\x8c\x7a\x8c\x77\x1e\x75\xb5\xa9\x80\x9d\x1b\xab\xbb\xa3\xa6\xa1\x1f\xee\xf7\x11\x4a\xfb" -+"\x23\x05\x7e\x6e\x87\x7d\x76\x1a\x5d\xa9\x6c\xd5\x69\x1e\xd6\xad\xa8\xaa\xbb\x1a\xa0\x88\x96\x7e\xa9\x1e\x4a\xf7\x23\xee\xfb\x11" -+"\x05\x6f\xa2\xb9\x74\xae\x1b\x9b\xa9\x96\xa1\xb5\x1f\x8c\x9f\x8c\x9b\x9a\x1a\xd0\x67\xb1\x42\x94\x1e\xfb\x36\x9d\xf7\x36\x9e\x05" -+"\xd4\x93\xaf\xb1\xd0\x1a\x9a\x8a\x9c\x8a\x9f\x1e\xa2\x5f\x70\x95\x74\x1b\x69\x64\x77\x6c\x72\x1f\x28\xfb\x11\xcc\xf7\x23\x05\x95" -+"\xa2\x91\xa3\x9f\x1a\xb6\x6d\xaa\x41\xad\x1e\x42\x69\x6c\x6c\x60\x1a\x78\x92\x73\x95\x73\x1e\xe3\xfb\x37\x15\x97\x95\x81\x7e\x7f" -+"\x81\x81\x7e\x7f\x81\x95\x98\x97\x95\x95\x98\x1f\x93\x9f\x15\x7a\x06\x55\xf7\x2d\x05\x85\x9b\x89\x9b\x9b\x1a\xbb\xa0\xa7\xbc\x9d" -+"\x1e\xbd\x79\xa0\x6f\x5b\x1a\x7b\x88\x7b\x86\x7b\x1e\x29\xfb\x76\x15\x21\xfb\x0f\x05\x6f\x73\x6f\x7b\x71\x1b\x71\x79\x92\xa0\x6f" -+"\x1f\x8a\x96\x8a\x96\x92\x1a\xbd\xae\xb2\xc0\x93\x1e\xf7\x35\xa6\x05\xdb\x7d\x15\x94\x99\xf7\x35\x70\x05\xc0\x83\xae\x64\x58\x1a" -+"\x84\x8a\x80\x8a\x81\x1e\x76\x6f\x79\x84\x71\x1b\x72\x6d\x9c\xa6\x74\x1f\x0e\x7e\xf8\x26\xf7\x2f\x15\x90\x90\x90\x91\x91\x90\x86" -+"\x86\x8a\x8b\x88\x8a\x89\x1e\x89\x85\x8a\x85\x85\x1a\x77\x94\x69\x96\x76\x1e\x5c\xa2\xb5\x70\xbb\x1b\xd8\xd5\xd0\xd4\xc1\x68\xbb" -+"\x4f\xa8\x1f\x7f\x90\x84\x8d\x81\x8c\x08\x83\x86\x8e\x92\x91\x90\x91\x91\x8d\x8d\x8a\x88\x8f\x1f\x82\x9a\xa1\x86\xab\x1b\xdb\xc3" -+"\xc0\xd7\xdf\x4f\xce\x42\x62\x64\x78\x66\x67\x1f\x82\x82\x87\x84\x88\x82\x08\x84\x88\x89\x89\x85\x1b\x85\x86\x90\x91\x8f\x8c\x8d" -+"\x90\x8f\x1f\xa2\x9c\x9f\xbe\xb4\x1a\xd6\x51\xc1\x39\x39\x51\x55\x40\x63\x9f\x57\xa2\x7a\x1e\x90\x87\x8c\x89\x87\x1a\x85\x86\x86" -+"\x85\x85\x89\x8d\x92\x88\x1e\x88\x94\x86\x92\x83\x94\x08\xb0\x67\x64\x9e\x62\x1b\x42\x4f\x48\x37\x3f\xc3\x56\xdb\xab\xa1\x90\x94" -+"\x9a\x1f\x8e\x8f\x8d\x8c\x8d\x1b\x91\x90\x85\x85\x84\x86\x88\x83\x1f\x81\x8a\x83\x89\x80\x86\x08\x4f\x6e\x68\x5b\x55\x1a\x42\xd5" -+"\x46\xd8\xb8\xb4\xa4\xb4\xa2\x1e\x98\xa1\x96\xb2\xa1\x1a\x91\x8a\x91\x89\x91\x1e\x97\xf7\xbb\x15\xc9\xc0\x56\x4b\x4b\x56\x56\x4b" -+"\x4a\x57\xc0\xcc\xcc\xc0\xbe\xcd\x1f\x0e\x73\xf7\xcf\xf8\x53\x15\xc9\x48\x67\x9e\x5b\x1b\x44\x51\x51\x45\x3a\xc8\x56\xe9\x9d\x9b" -+"\x8c\x90\xad\x1f\x5b\x70\x75\x7b\x77\x77\x08\x71\x6f\x7d\x6a\x69\x1a\x43\xc5\x51\xd3\xb8\xb3\xa2\xb2\xa5\x1e\x9c\xa7\x94\xa5\x97" -+"\xca\x98\x4f\x93\x71\x9b\x70\x08\x61\xa4\xb5\x73\xb9\x1b\xd3\xc5\xc5\xd3\xad\x7d\xac\x71\xa7\x1f\x77\x9f\x75\x9a\x5b\xa7\x08\x86" -+"\xad\x9b\x8a\x9d\x1b\xe9\xc8\xc0\xdc\xd1\x51\xc5\x44\x5b\x67\x78\x4d\x48\x1f\xa7\xc9\x94\xa9\xad\x1a\xd5\x52\xc5\x42\x43\x52\x51" -+"\x41\x69\x94\x6d\xa7\x4d\x1e\xd0\x90\x15\x6a\x7e\x05\x6c\xb8\x83\xa3\xb3\x1a\xcb\xb3\xb9\xc2\xc3\xb3\x5d\x4b\x63\x82\x73\x6d\x5e" -+"\x1e\x6a\x98\x7d\xea\x05\x93\x8a\x87\x90\x86\x1b\x86\x88\x86\x83\x8a\x1f\xf4\xfb\x1c\x15\x9c\xa0\x93\x94\x96\x94\x08\xa3\xa8\xb0" -+"\x99\xad\x1b\xbf\xb6\x62\x59\x4f\x52\x5e\x3f\x79\x7e\x8d\x94\x6b\x1f\x8d\xae\xe1\xb6\x05\x92\x8e\x8e\x8f\x8e\x1a\x91\x87\x8d\x85" -+"\x1e\x85\x06\x2d\x7b\x05\x88\xfb\x12\x15\xae\x7f\x96\x85\x9c\x7d\x08\xaf\x6f\xa1\x63\x67\x1a\x58\x63\x62\x57\x65\x68\xa3\xb5\x73" -+"\x1e\x7a\xa8\x86\x9f\x8a\xba\xad\x93\x18\xce\x47\x05\x87\x8f\x8f\x89\x8e\x1b\x8f\x8f\x8e\x8f\x8e\x89\x8e\x89\x8f\x1f\x5f\xe0\x05" -+"\xfb\x6b\xf7\x30\x15\x2d\x9b\x05\x85\x06\x85\x88\x89\x85\x88\x8e\x87\x91\x88\x1f\xe1\x60\x8d\x68\x05\x82\x6b\x7e\x89\x79\x1b\x3f" -+"\x52\xb8\xc7\xbd\xb6\xb4\xbf\xab\xae\x7f\x75\xa8\x1f\x98\x81\x93\x82\x9e\x73\x08\x8c\xfb\x45\x15\x5d\x2f\x05\x89\x87\x8a\x88\x88" -+"\x1a\x87\x8e\x88\x8f\x8e\x8f\x8d\x8f\x8f\x1e\xce\xcf\xad\x83\x8a\x60\x87\x79\x7e\x70\x19\x5d\x74\x65\x6f\x62\x1b\x58\x62\xb4\xbe" -+"\xaf\xa1\xb3\xaf\xa7\x1f\x9c\x99\x96\x90\xae\x98\x08\x0e\x59\xf9\x22\xf7\x7d\x15\xac\x93\x9e\x94\x98\x97\x08\xa1\x9e\x98\xaa\xac" -+"\x1a\xa8\x82\xa6\x79\x9e\x1e\x7c\x9d\x78\x94\x64\x95\x08\x9b\xa7\x95\xa5\x9d\x1a\x9f\x79\xac\x77\x9e\x1e\x9f\x77\x72\x96\x74\x1b" -+"\x7a\x78\x84\x79\x6a\x1f\x81\xab\x83\x9d\x7e\x98\x08\xa0\x76\x6d\x98\x6e\x1b\x72\x73\x82\x7a\x76\x1f\x78\x7b\x82\x7a\x7f\x65\x08" -+"\x9d\x6a\x78\x92\x7a\x1b\x74\x72\x7f\x78\x77\x1f\x77\x78\x79\x6a\x77\x1a\x79\x94\x71\x9c\x6f\x1e\x6a\x83\x78\x82\x7e\x7f\x08\x75" -+"\x78\x7e\x6c\x6a\x1a\x6e\x95\x70\x9c\x78\x1e\x9a\x79\x9e\x82\xb2\x81\x08\x7b\x6f\x82\x71\x7a\x1a\x77\x9c\x69\x9f\x78\x1e\x78\x9f" -+"\xa4\x80\xa2\x1b\x9c\x9e\x92\x9c\xac\x1f\x95\x6b\x93\x79\x98\x7e\x08\x76\xa0\xa9\x7e\xa7\x1b\xa5\xa3\x94\x9c\xa0\x1f\x9e\x9b\x95" -+"\x9c\x96\xb1\x08\x7a\xac\x9e\x84\x9c\x1b\xa2\xa5\x96\x9e\x9e\x1f\x9f\x9e\x9d\xad\x9f\x1a\x9c\x81\xa5\x7b\xa7\x1e\xfb\x96\xf7\x5e" -+"\x15\xbc\xb3\x62\x5a\x59\x63\x63\x59\x59\x62\xb3\xbd\xbd\xb3\xb3\xbf\x1f\xa4\xfb\x63\x15\x96\x8d\xb4\x21\x05\x8e\x82\x8d\x82\x81" -+"\x1a\x5e\x65\x66\x5e\x5d\x65\xb0\xb8\x96\x8d\x94\x8e\x93\x1e\xb4\xf5\x96\x89\x72\xfb\x01\x05\x8a\x86\x8b\x86\x87\x1a\x6b\xa2\x72" -+"\xa8\xa9\xa2\xa4\xab\x90\x8b\x8f\x8a\x90\x1e\xfb\x08\xf7\x11\x15\x95\x84\x5d\x24\x05\x6e\x7e\x6e\x79\x6b\x1b\x5d\x65\xb1\xb9\xab" -+"\x9d\xa7\xa8\x98\x1f\xf3\xb9\x91\x82\x2c\x4f\x05\x7a\x80\x80\x78\x77\x1a\x6f\xa1\x75\xa7\x9f\x9f\x96\x9c\x95\x1e\x93\xf7\x3e\x15" -+"\x8d\x7f\x21\x63\x05\x87\x82\x81\x8a\x82\x1b\x5e\x66\xb0\xb9\xb9\xb0\xb0\xb8\x94\x95\x8a\x87\x94\x1f\xf5\x63\x89\x7f\xfb\x02\xa4" -+"\x05\x8c\x87\x87\x8b\x85\x1b\x6c\x71\x74\x6e\x6e\xa5\x73\xab\x90\x8f\x8c\x8c\x8f\x1f\xf7\x11\xf7\x07\x15\x85\x82\x23\xb9\x05\x6e" -+"\x98\x79\xa7\xac\x1a\xb9\xb1\xb1\xb9\xab\xa7\x79\x6d\x99\x1e\xb9\x24\x81\x84\x50\xea\x05\x9d\x7f\x78\x96\x77\x1b\x6f\x75\x75\x6e" -+"\x78\x96\x77\x9c\x80\x1f\xf7\x3e\x84\x15\x80\x89\x62\xf5\x05\x88\x93\x89\x95\x95\x1a\xb8\xb1\xb0\xb9\xb9\xb0\x66\x5e\x81\x89\x82" -+"\x88\x82\x1e\x62\x21\x80\x8d\xa4\xf7\x01\x05\x8c\x90\x8b\x8f\x90\x1a\xab\x74\xa4\x6d\x6e\x74\x72\x6b\x87\x8b\x86\x8c\x86\x1e\xf7" -+"\x08\xfb\x11\x15\x81\x92\xb9\xf2\x05\xa9\x99\xa7\x9d\xab\x1b\xb9\xb1\x65\x5d\x6a\x79\x6f\x6e\x7e\x1f\x23\x5d\x85\x94\xea\xc7\x05" -+"\x9c\x96\x96\x9f\x9f\x1a\xa7\x75\xa1\x6f\x77\x78\x80\x79\x80\x1e\x83\xfb\x3e\x15\x89\x97\xf5\xb3\x05\x8f\x94\x95\x8c\x95\x1b\xb8" -+"\xaf\x66\x5d\x5d\x67\x66\x5d\x82\x81\x8c\x8f\x82\x1f\x21\xb3\x8d\x97\xf7\x02\x72\x05\x8a\x8f\x8f\x8a\x91\x1b\xab\xa4\xa3\xa8\xa8" -+"\x71\xa2\x6c\x85\x87\x8b\x8a\x87\x1f\xfb\x11\xfb\x07\x15\x91\x94\xf3\x5d\x05\xa8\x7e\x9d\x6f\x6a\x1a\x5d\x65\x66\x5d\x6b\x6e\x9d" -+"\xa8\x7e\x1e\x5d\xf2\x95\x92\xc7\x2c\x05\x7a\x95\x9f\x80\x9f\x1b\xa7\xa1\xa1\xa7\x9f\x81\x9e\x79\x96\x1f\x0e\x59\xf8\x23\xf9\x54" -+"\x15\xfb\x5f\xfb\x35\xfb\x33\xfb\x5d\xfb\x59\xf7\x36\xfb\x35\xf7\x5a\xf7\x5a\xf7\x35\xf7\x35\xf7\x5a\x27\x0a\xfb\x56\x1f\x86\x82" -+"\x15\xd0\xfb\x38\x05\x94\x73\x78\x8e\x71\x1b\x72\x78\x88\x82\x73\x1f\xcf\xfc\xab\x15\x47\xf7\x38\x05\x81\xa3\x9e\x88\xa5\x1b\xa4" -+"\x9e\x8e\x95\xa3\x1f\xf7\x47\xf8\x44\x15\x47\xfb\x38\x7a\xb3\x63\xb3\x63\x9c\x19\xfb\xde\xfc\x3f\x15\xcf\xf7\x39\x9c\x62\xb3\x63" -+"\xb3\x7a\x19\xf8\x44\xf7\x48\x15\xfb\x38\x46\x05\x94\xa3\x8e\x9d\xa6\x1a\xa6\x88\x9d\x82\xa3\x1e\xfc\xab\x46\x15\xf7\x38\xd0\x05" -+"\x82\x74\x88\x79\x6f\x1a\x70\x8e\x79\x94\x73\x1e\x4d\xf7\xd0\x15\xf7\x39\x48\x63\x7a\x63\x63\x7a\x63\x19\xf8\x3f\xfb\xde\x15\xfb" -+"\x39\xce\xb3\x9c\xb3\xb3\x9c\xb4\x19\xfb\x46\xf7\x92\x15\xe8\xd8\x3c\x2d\x2d\x3f\x3e\x2d\x2c\x3d\xd8\xea\xec\xd7\xd6\xec\x1f\x0e" -+"\xfb\x18\xf7\xe6\xf8\x15\x15\xf7\x20\x21\x4d\xc3\x58\x1b\x79\x72\x7d\x6e\x6a\x1f\x85\x74\x88\x74\x7a\x1a\x47\xc4\x74\xf7\x7b\x71" -+"\x1e\xfb\x68\x71\x41\x6b\x4a\x1a\x7d\x8d\x76\x90\x76\x1e\x69\xb0\xa3\x7c\xa2\x1b\xbb\xbe\xbc\xf7\x2d\xf7\x04\x1f\x56\xfb\x10\x77" -+"\x49\x53\x1a\x61\xa3\x74\xcb\x76\x1e\xce\x9d\xa9\xa5\xb3\x1a\xbb\x75\xcf\x51\xf7\x18\x1e\xfb\x1f\xf3\xcb\x52\xbd\x1b\x9d\xa4\x99" -+"\xa8\xad\x1f\x90\xa2\x8e\xa2\x9c\x1a\xce\x50\xa3\xfb\x79\xa4\x1e\xf7\x68\xa6\xd5\xab\xcc\x1a\x99\x89\xa0\x87\xa0\x1e\xad\x66\x72" -+"\x9a\x75\x1b\x5b\x57\x59\xfb\x2c\xfb\x03\x1f\xbe\xf7\x0c\xa0\xd1\xc2\x1a\xb6\x73\xa2\x4b\xa0\x1e\x48\x78\x6d\x71\x64\x1a\x5b\xa2" -+"\x44\xc5\xfb\x15\x1e\x9b\x90\x15\x53\xf7\x10\x7a\xc2\xc1\x1a\xba\x9d\x9c\xc2\x92\x1e\xa7\xfb\xd4\x15\xc0\xd3\xa3\xa8\xa7\xa8\x08" -+"\xb2\xb1\xb0\xa1\xa7\x1b\x9d\x9a\x80\x6f\xa1\x1f\xfb\x9b\xfb\x4b\x15\xf7\x00\x7e\xb6\x83\xb2\x7e\x08\xc2\x78\xa9\x72\x70\x1a\x7e" -+"\x87\x7b\x83\x78\x1e\xfb\xb8\xf7\x1d\x15\xc3\xfb\x10\x9c\x54\x55\x1a\x5c\x79\x79\x54\x84\x1e\x70\xf7\xd5\x15\x54\x41\x74\x6f\x70" -+"\x6f\x08\x64\x64\x66\x75\x6f\x1b\x79\x7c\x96\xa6\x75\x1f\xf7\x9c\xf7\x4c\x15\xfb\x03\x98\x61\x93\x65\x98\x08\x54\x9d\x6d\xa5\xa6" -+"\x1a\x98\x8f\x9b\x93\x9d\x1e\x0e\xfb\x2c\xf8\x0e\xf7\xec\x15\xf7\x1f\xdc\xf7\x03\x54\x9e\xa5\x2b\xbb\xef\xc3\x78\xab\x29\x50\x92" -+"\xf7\x00\x6a\x87\x83\xfb\x0f\xfb\x1f\x3a\x05\xf7\x36\x07\xf1\xcf\x7e\xa9\x32\x50\x8d\xf7\x06\x05\x65\x06\x8d\xfb\x06\x31\xc6\x7e" -+"\x6d\xf2\x47\x05\xfb\x36\x07\xfb\x20\xdc\x83\xf7\x0f\x6b\x8f\x91\xfb\x00\x29\xc6\x78\x6b\xef\x53\x2b\x5b\x9e\x71\xf7\x03\xc2\xf7" -+"\x1f\x3a\xfb\x1f\x3a\xfb\x03\xc2\x78\x71\xeb\x5b\x27\x53\x9e\x6b\xed\xc5\x85\x20\xab\x8f\x93\xf7\x0f\xf7\x20\xdc\x05\xfb\x36\x07" -+"\x24\x47\x98\x6d\xe5\xc6\x89\xfb\x06\x05\xb1\x06\x89\xf7\x06\xe4\x50\x98\xa9\x25\xcf\x05\xf7\x36\x07\xf7\x1f\x3a\x93\xfb\x0f\xac" -+"\x87\x84\xf6\xed\x51\x9e\xab\x27\xc3\xeb\xbb\x78\xa5\xfb\x03\x54\x05\x0e\xfb\x23\xf7\x57\xf8\xf7\x15\xfb\x2c\x07\xfb\x12\xdf\x05" -+"\x8c\x89\x8a\x8b\x8a\x1b\x89\x88\x88\x88\x8a\x1f\x84\x77\x7d\x7a\x05\x89\x89\x8a\x89\x89\x1a\x89\x8c\x8a\x8e\x8a\x1e\xf7\x1b\x47" -+"\xfb\x18\x3e\xf7\x18\x3f\xfb\x1b\x47\x05\x88\x8a\x8a\x8a\x8a\x1a\x89\x8c\x87\x8d\x8a\x1e\x99\x7a\x92\x77\x05\x88\x8c\x8e\x88\x8d" -+"\x1b\x8c\x8c\x8b\x8c\x8d\x1f\xf7\x12\xdf\x05\xfb\x2c\x07\xf7\x18\xd6\x82\xfb\x2b\x05\x87\x8d\x89\x92\x1e\xa0\x8f\xa0\x87\x05\x92" -+"\x8d\x8d\x8f\x1f\x81\xf7\x2b\xf7\x19\x40\x05\xf7\x2c\x07\xf7\x12\x37\x05\x8a\x8d\x8c\x8b\x8c\x1b\x8d\x8e\x8e\x8e\x8c\x1f\x92\x9f" -+"\x99\x9c\x05\x8c\x8c\x8c\x8e\x8d\x1a\x8d\x8a\x8d\x89\x1e\xfb\x1b\xcf\xf7\x17\xd7\xfb\x17\xd8\xf7\x1b\xcf\x05\x8e\x8c\x8c\x8c\x8c" -+"\x1a\x8d\x8a\x8f\x89\x8c\x1e\x7d\x9c\x84\x9f\x05\x8e\x8a\x88\x8e\x89\x1b\x8a\x8a\x8b\x8a\x89\x1f\xfb\x12\x37\x05\xf7\x2c\x07\xfb" -+"\x19\x40\x95\xf7\x2b\x05\x8f\x89\x8d\x84\x1e\x76\x87\x76\x8f\x05\x84\x89\x89\x87\x1f\x94\xfb\x2b\x05\xfb\x04\xb4\x15\xf7\x06\x4a" -+"\x05\xfb\x19\x07\xfb\x06\xce\x05\xf7\x9e\xf7\x17\x15\xfb\x17\x07\xfb\x06\x48\x05\xf7\x19\x07\xf7\x8b\xfb\x3a\x15\xfb\x05\x4a\xfb" -+"\x07\xcc\xf7\x07\xcd\x05\x77\xfb\xbc\x15\xfb\x06\xcc\x05\xf7\x18\x07\xf7\x06\x49\x05\xfb\x9e\xfb\x17\x15\xf7\x17\x07\xf7\x06\xcd" -+"\x05\xfb\x18\x07\xfb\x8b\xf7\x39\x15\xf7\x05\xcd\xf7\x07\x49\xfb\x07\x4a\x05\x0e\xfb\x2a\xf8\x06\xf7\xe9\x15\xf4\xc8\xf7\x32\x69" -+"\xa1\xbb\x28\xaa\xe7\xbc\x7a\xa9\x33\x53\xa1\xf1\x57\x8f\x59\xfb\x2e\x22\x50\x89\xf7\x0d\xf7\x01\xf7\x0c\x6d\xb6\x3e\x45\x8f\xf3" -+"\x05\x69\x06\x8f\x23\x3e\xd1\x6d\x60\xf7\x01\xfb\x0c\x89\xfb\x0d\x22\xc6\x59\xf7\x2e\x57\x87\xa1\x25\x33\xc3\x7a\x6d\xe7\x5a\x28" -+"\x6c\xa1\x5b\xf7\x32\xad\xf4\x4e\x22\x4d\xfb\x32\xad\x75\x5b\xee\x6c\x2f\x5a\x9c\x6e\xe3\xc2\x05\x75\x25\xbf\x87\xbd\xf7\x2e\xf4" -+"\xc6\x8d\xfb\x0d\xfb\x01\xfb\x0c\xa9\x60\xd8\xd1\x87\x23\x05\xad\x06\x87\xf3\xd8\x45\xa9\xb6\xfb\x01\xf7\x0c\x8d\xf7\x0d\xf4\x50" -+"\xbd\xfb\x2e\xbf\x8f\x75\xf1\xe3\x54\x9c\xa8\x2f\xbc\xee\xaa\x75\xbb\xfb\x32\x69\x05\x0e\x56\xf7\xc5\xf8\x32\x15\x92\x06\x94\x8e" -+"\x8d\x93\x8c\x8b\x8f\x8a\x8e\x1f\xfb\x61\xf7\x6e\x7f\x76\x88\x89\x77\x80\x19\xf8\x21\xfb\xe9\x15\x84\x06\x82\x88\x89\x83\x8a\x8b" -+"\x87\x8c\x88\x1f\xf7\x61\xfb\x6e\x97\xa0\x8e\x8d\x9f\x96\x19\xfc\x0f\xf7\x4c\x15\x92\x07\x93\x88\x8f\x85\x1e\x89\x06\x84\x06\xfb" -+"\x6e\xfb\x62\xa0\x7f\x8d\x88\x96\x77\x19\xf7\xe9\xf8\x21\x15\x84\x07\x82\x8d\x88\x93\x8c\x8f\x8b\x8c\x8e\x1e\xf7\x6e\xf7\x61\x76" -+"\x97\x89\x8e\x80\x9f\x19\xfb\xa5\xfb\x8e\x15\x6b\x70\x71\x6a\x6a\xa5\x70\xad\xab\xa6\xa6\xac\xac\x71\xa5\x69\x1f\xf7\xbf\x04\x82" -+"\x8c\x86\x88\x7a\x81\x08\x79\x80\x8b\x8b\x7f\x1a\x2c\x8f\x61\x96\x69\x1e\x5a\x9c\x98\x6e\x91\x1b\x8e\x8f\x92\xa1\x95\x1f\xa3\xc1" -+"\x94\xc8\xf1\x1a\xa1\x81\x93\x62\x93\x1e\x8d\xfd\x61\x15\x94\x91\x8d\x95\x9b\x1f\x9d\x96\x8b\x8b\x97\x1a\xe9\x87\xb6\x80\xad\x1e" -+"\xbc\x7a\x7e\xa8\x85\x1b\x88\x87\x84\x75\x81\x1f\x73\x56\x82\x4d\x25\x1a\x75\x95\x83\xb3\x83\x1e\xf7\xfb\xf7\xfb\x15\x8a\x91\x8a" -+"\x91\x88\x92\x08\xa4\x82\x85\x91\x7c\x1b\x2b\x62\x87\x80\x69\x1f\x5a\x7a\x6f\x7e\x8a\x85\x08\x88\x93\x87\xa0\x81\x1e\x73\xc2\xc7" -+"\x82\xf1\x1b\xa1\x93\x95\xb4\x93\x1f\xfd\x61\x89\x15\x83\x8e\x82\x94\x7d\x1e\x79\x95\x8b\x8b\x9a\x1b\xe7\xb7\x8f\x96\xad\x1f\xbb" -+"\x9b\xa8\x99\x91\x1a\x8e\x85\x8f\x74\x95\x1e\xa3\x55\x4f\x94\x25\x1b\x74\x83\x81\x63\x83\x1f\x0e\x57\xe0\xf9\x0d\x15\xf7\x5b\xfb" -+"\x5b\x9f\xa0\xfb\x5a\xf7\x5b\x05\xf8\xe8\xfc\xea\x15\xfb\x5b\xf7\x5b\x77\x76\xf7\x5a\xfb\x5b\x05\xf8\xff\x04\xfb\x5a\xfb\x5b\x9f" -+"\x76\xf7\x5b\xf7\x5b\x05\xfc\xe8\xfc\xea\x15\xf7\x5a\xf7\x5b\x77\xa0\xfb\x5b\xfb\x5b\x05\xf7\xc9\xf8\x06\x15\x5e\x66\x66\x5e\x5e" -+"\xb0\x66\xb8\xb8\xb0\xb0\xb7\xba\x67\xaf\x5d\x1f\x83\xf7\xaa\x15\x67\x62\x56\x5d\x6f\x95\x73\xaa\x5b\x1f\x95\x7b\x95\x7b\x8d\x87" -+"\x08\x6a\x9c\x8c\x8a\x8f\x1b\x8f\x8d\x8e\xab\x9d\x1f\x8e\x92\x94\x9a\x95\x9b\x08\xa8\xbb\x94\xa3\xa9\x1a\xbb\x72\xa6\x4f\x9d\x1e" -+"\x93\xfd\x62\x15\xae\xb5\xc0\xb9\xa7\x81\xa3\x6c\xbb\x1f\x80\x9b\x81\x9c\x8a\x8e\x08\xad\x7a\x8a\x8b\x87\x1b\x87\x88\x87\x6c\x7a" -+"\x1f\x88\x84\x82\x7d\x81\x7a\x08\x6e\x5b\x82\x73\x6d\x1a\x5b\xa4\x70\xc6\x79\x1e\xf7\xfa\xf7\xfb\x15\x8c\x8e\x8b\x8e\x8c\x1a\xaf" -+"\x55\xb4\x5d\x70\x74\x81\x6c\x5b\x1e\x7b\x81\x7b\x81\x86\x89\x08\x6a\x7a\x8b\x8b\x86\x1a\x87\x8f\x88\xaa\x7a\x1e\x92\x87\x99\x83" -+"\x9b\x81\x08\x6e\xbc\xa2\x82\xa9\x1b\xbb\xa6\xa3\xc8\x9d\x1f\xfd\x5f\x16\x8a\x87\x8b\x89\x89\x1a\x67\xc0\x62\xb9\xa7\xa3\x95\xaa" -+"\xba\x1e\x9b\x95\x9a\x95\x90\x8d\x08\xac\x9c\x8c\x8b\x90\x1a\x8f\x88\x8e\x6b\x9c\x1e\x84\x8e\x7d\x94\x7a\x95\x08\xa8\x5b\x73\x94" -+"\x6e\x1b\x5b\x70\x73\x4f\x79\x1f\x0e\xfb\x12\xf8\x09\xf8\x0c\x15\xf7\x31\x07\xb9\x9d\xa3\xa9\xb4\x1a\xba\x63\xb2\x5b\x5d\x64\x63" -+"\x5b\x63\xa2\x6e\xba\x79\x1e\xfb\x31\x07\xfb\x19\xd8\x05\x8e\x97\x8c\x97\x91\x1a\xb9\x63\xb1\x5c\x5a\x64\x67\x5c\x59\xb3\x62\xbb" -+"\xa5\x9e\x94\xa3\xa1\x1e\xf7\x18\x3d\xfb\x18\x3d\x05\xa2\x75\x77\x94\x72\x1b\x5b\x62\x62\x5a\x5d\xb3\x65\xbc\xba\xb4\xb2\xb9\x94" -+"\x8a\x91\x87\x9a\x1f\xf7\x19\xd7\x05\xfb\x31\x07\x5d\x7a\x73\x6d\x61\x1a\x5d\xb3\x63\xbb\xb9\xb2\xb3\xbb\xb3\x74\xa8\x5c\x9d\x1e" -+"\xf7\x31\x07\xf7\x19\x3f\x05\x88\x7e\x8a\x80\x84\x1a\x5e\xb3\x64\xba\xbc\xb2\xb0\xba\xbc\x64\xb4\x5a\x72\x77\x82\x74\x75\x1e\xfb" -+"\x17\xd9\xf7\x17\xd9\x05\x74\xa1\x9e\x82\xa6\x1b\xbb\xb3\xb3\xbc\xba\x64\xb0\x5a\x5b\x62\x64\x5f\x82\x8c\x85\x8f\x7b\x1f\x0e\x5b" -+"\xf8\x28\xf8\x72\x15\xab\xf7\x30\x05\x8e\x96\x8c\x95\x91\x1a\xa3\x76\xa1\x73\x74\x76\x76\x72\x86\x8c\x80\x8e\x80\x1e\xab\xfb\x30" -+"\x05\xfb\x9b\x04\x6b\xfb\x30\x05\x88\x80\x8a\x80\x86\x1a\x72\xa0\x76\xa2\xa3\xa0\xa0\xa4\x91\x8a\x95\x88\x96\x1e\x6b\xf7\x30\x05" -+"\xe5\xf7\x6e\x15\xf7\x1a\xe3\x05\xa5\x9c\x93\x98\x9f\x1a\xa3\x79\x9d\x73\x77\x7e\x82\x72\x7a\x1e\x33\xfb\x1a\x05\xfb\x4d\xfb\x4d" -+"\x15\xfb\x1a\x33\x05\x72\x7a\x82\x7e\x77\x1a\x73\x9d\x79\xa3\xa0\x97\x93\xa5\x9c\x1e\xe3\xf7\x1a\x05\xf7\x6e\xe5\x15\xf7\x30\x6b" -+"\x05\x89\x96\x94\x89\x92\x1b\xa4\xa0\xa0\xa2\xa3\x76\xa0\x72\x84\x81\x89\x89\x81\x1f\xfb\x30\x6b\x05\xfb\x9b\x16\xfb\x30\xab\x05" -+"\x8d\x81\x81\x8d\x84\x1b\x72\x76\x76\x73\x74\xa1\x76\xa3\x92\x94\x8d\x8d\x96\x1f\xf7\x30\xab\x05\xf7\x6e\x31\x15\xe3\xfb\x1a\x05" -+"\x71\x9c\x98\x83\x9f\x1b\xa3\x9d\x9d\xa3\x9f\x83\x98\x71\x9c\x1f\xfb\x1a\xe3\x05\xfb\x4d\xf7\x4d\x15\x33\xf7\x1a\x05\xa4\x7a\x7e" -+"\x94\x78\x1b\x72\x79\x79\x73\x77\x94\x7e\xa4\x7a\x1f\xf7\x1a\x33\x05\xef\x94\x15\x55\x60\x61\x55\x57\xb6\x60\xc0\xbf\xb6\xb6\xbf" -+"\xc0\x61\xb6\x57\x1f\x0e\x55\xf8\x05\xf8\x3c\x15\x84\x89\x84\x88\x86\x87\xfb\x01\xf7\x2d\x18\xaa\x75\x7b\x95\x72\x1b\x6c\x73\x74" -+"\x6c\x72\x96\x7b\xaa\x75\x1f\xf7\x2f\xfb\x02\x88\x86\x88\x83\x8a\x85\x19\xfb\x4e\xaa\x05\x8e\x7e\x7f\x8c\x85\x1b\x6b\x6f\x70\x6d" -+"\x6c\xa7\x71\xab\x92\x96\x8c\x8d\x98\x1f\xf7\x4f\xab\x8d\x84\x8e\x84\x8e\x86\x19\xfb\x2d\xfb\x01\x05\x6c\x75\x80\x7b\x72\x1a\x6c" -+"\xa3\x73\xaa\xa4\x9a\x96\xaa\xa2\x1e\xf7\x01\xf7\x2e\x91\x88\x91\x89\x93\x89\x19\x6c\xfb\x4d\x05\x88\x7e\x8a\x80\x83\x1a\x6c\xa6" -+"\x6f\xa9\xa9\xa6\xa7\xab\x93\x8a\x95\x89\x98\x1e\x6b\xf7\x4e\x91\x8d\x92\x8e\x91\x8f\x19\xf7\x01\xfb\x2d\x05\x6c\xa1\x9b\x81\xa5" -+"\x1b\xaa\xa2\xa2\xaa\xa4\x81\x9a\x6b\xa2\x1f\xfb\x2f\xf7\x01\x8e\x91\x8e\x93\x8c\x91\x19\xf7\x4e\x6b\x05\x89\x98\x96\x8a\x92\x1b" -+"\xab\xa7\xa6\xa9\xaa\x6f\xa5\x6b\x85\x80\x8a\x89\x7d\x1f\xfb\x4f\x6b\x88\x93\x89\x91\x88\x90\x19\xf7\x2d\xf7\x01\x05\xaa\xa1\x96" -+"\x9b\xa4\x1a\xaa\x73\xa3\x6c\x72\x7c\x80\x6c\x74\x1e\xfb\x01\xfb\x2e\x85\x8e\x86\x8d\x82\x8d\x19\xaa\xf7\x4d\x05\x8e\x99\x8c\x97" -+"\x90\x1a\xab\x70\xa7\x6d\x6d\x70\x6f\x6b\x84\x8c\x80\x8d\x7e\x1e\x0e\x5b\xf8\x26\xf9\x58\x15\xfb\x60\xfb\x37\xfb\x33\xfb\x5b\xfb" -+"\x5e\xf7\x35\xfb\x36\xf7\x5c\xf7\x5b\xf7\x36\xf7\x36\xf7\x5b\xf7\x59\xfb\x36\xf7\x38\xfb\x55\x1f\x0e\xad\xf8\x4b\x23\x0a\xfb\x80" -+"\xfb\x3c\xfb\x29\xfb\x66\xfb\x04\xc1\xfb\x00\xe5\x4a\x1f\x5b\xce\xe2\x71\xed\x1b\xf7\x82\xf7\x3d\xf7\x29\xf7\x66\xed\x61\xeb\x44" -+"\xcb\x1f\xc9\x45\xfb\x01\xb2\x20\x1b\x61\x69\x15\xd5\xdc\x6b\x58\xc3\x1f\xd2\x4b\xb0\x37\x2e\x1a\xfb\x47\xfb\x25\xfb\x25\xfb\x47" -+"\xfb\x48\xfb\x24\xf7\x25\xf7\x4a\xd9\xa9\xd8\xc0\xc6\x1e\xd2\xcc\xdd\xaf\xee\x1b\x0e\x3d\xf9\x6a\x16\xf9\x47\xfd\x47\xfd\x47\x07" -+"\x0e\x3e\xf9\x02\x20\x0a\xfc\xdf\xfc\xe6\xf6\x2a\xf8\xdd\xf8\xdf\x22\x06\x6b\xd2\x15\xfc\xa4\xfc\x9e\xf8\xa4\x07\x0e\x3e\xf9\x02" -+"\x16\xf3\xf4\xf8\xdf\xfc\xdd\x25\x20\xfc\xe1\x07\xf8\xbf\xac\x15\xfc\x9e\xf8\xa0\xf8\x9e\x06\x0e\x3b\xf8\xeb\x20\x0a\xfc\xc8\xfc" -+"\xd4\x06\xf7\x0b\xfb\x07\x05\xf8\xcf\xf8\xd0\x06\xfb\x13\xe1\x15\xfc\xab\xfc\xa6\xf8\xab\x07\x0e\x3b\xf8\xeb\x16\xf7\x12\xf7\x0c" -+"\x05\xf8\xcf\xfc\xcf\x07\xfb\x0b\xfb\x07\x05\xfc\xd4\x07\xf8\xc7\xac\x15\xfc\xa6\xf8\xab\xf8\xa6\x06\x0e\xc0\xf9\xee\x16\xfc\x2f" -+"\xf9\x55\xfc\x30\xfd\x55\x05\x0e\xc0\xf9\xee\x20\x0a\xfd\xcb\x06\xf8\x30\xfd\x55\x05\x0e\xf8\x1f\x7d\x15\xf7\xfb\xf7\xfc\xfb\xfb" -+"\xf7\xfb\xfb\xfc\xfb\xfb\x05\x0e\x54\xf8\x1c\x23\x0a\xfb\x29\xfb\x35\xf7\x29\xfb\x29\xf7\x27\xf7\x29\x05\xf7\x66\xfb\x58\x15\xfb" -+"\x34\xf7\x29\xfb\x29\xfb\x29\xf7\x29\xfb\x2d\x05\xfb\x59\xfb\x65\x15\xf7\x2b\xf7\x38\xfb\x2b\xf7\x2a\xfb\x29\xfb\x2a\x05\xfb\x64" -+"\xf7\x5a\x15\xf7\x33\xfb\x28\xf7\x29\xf7\x28\xfb\x29\xf7\x29\x05\x0e\xfc\x25\xae\x7d\x15\xc8\x8c\xb8\x94\xb8\x9e\x08\xf7\x14\xc1" -+"\xe4\xf7\x1b\xf7\x22\x1a\xf7\x5b\xfb\x39\xf7\x34\xfb\x5f\x1e\x0e\xfd\x51\xf3\x20\x0a\x46\xfd\x47\xd0\x06\x0e\xfc\xc6\xf7\x86\x20" -+"\x0a\xfb\x63\xfd\x47\xf7\x63\x06\x0e\xfc\x3c\xf8\x10\x20\x0a\xfb\xed\xfd\x47\xf7\xed\x06\x0e\xfc\x53\xf7\xee\xf9\x54\x15\x8c\x7f" -+"\x7f\x8b\x86\x1b\x2e\x44\x72\x57\x5b\x1f\x5f\x5d\x71\x45\x44\x1a\x20\xcb\x44\xed\xe6\xd0\xca\xdd\xdc\x4b\xcb\x3a\x7a\x7c\x88\x87" -+"\x80\x1e\x86\x7e\x8b\x8b\x85\x1b\x7b\x81\x96\x9b\x9f\x9a\xa6\xa0\x9f\x1f\xa5\xa8\xcd\xa2\xbc\x1b\xaa\x8a\x05\x96\x06\x0e\xfc\x53" -+"\xb8\xf7\x9c\x15\x8a\x9b\x96\x8b\x93\x1b\xe1\xd6\xa7\xbc\xb9\x1f\xb6\xb9\xa6\xd3\xcf\x1a\xf7\x00\x4a\xd2\x29\x30\x46\x4c\x39\x3b" -+"\xcb\x4b\xdc\x9b\x9b\x8d\x8f\x96\x1e\x91\x99\x8b\x8b\x91\x1b\x9a\x95\x7f\x7b\x6d\x6d\x64\x66\x79\x1f\x79\x68\x5b\x81\x5f\x1b\x6f" -+"\x06\x0e\xfb\x3f\xf7\xd2\x23\x0a\x6d\x7f\x8a\x86\x75\x1f\xfb\x12\x72\x2e\xfb\x02\xfb\x10\x1a\x26\xcf\x3f\xe6\xcc\xc5\xb4\xc8\x9f" -+"\x1e\x46\xaa\xba\x6a\xcd\x1b\xe0\xce\xce\xdf\xdf\x47\xcf\x37\x72\x78\x87\x7d\x6d\x1f\x9e\xd2\xee\xc7\xf0\x8c\x77\xa4\x18\xfb\x1e" -+"\x8d\x21\x38\x67\xfb\x1d\x08\xc0\x6a\x5e\xa5\x53\x1b\x71\x78\x87\x7d\x6f\x1f\xa2\xd7\xe9\xc4\xf0\x8a\x08\x0e\xfb\x3f\xf7\xf3\xf7" -+"\x9b\x15\xc0\xb5\x95\xa0\xb4\x1f\xe4\xb8\xc5\xe8\xeb\x1a\xf1\x47\xd6\x30\x4a\x51\x62\x4e\x76\x1e\xd0\x6d\x5c\xac\x49\x1b\x36\x48" -+"\x49\x36\x37\xcf\x46\xde\xa4\x9c\x90\x99\xab\x1f\x79\x44\x25\x4d\x29\x8c\x9f\x72\x18\xf7\x1d\x89\xf6\xdf\xae\xf7\x1c\x08\x56\xad" -+"\xb8\x70\xc2\x1b\xa5\x9f\x91\x98\xa7\x1f\x74\x3f\x2c\x52\x26\x8c\x08\x0e\xfc\x55\xf7\xf0\x23\x0a\x49\x79\x6d\x80\x67\x79\x08\xfb" -+"\x01\x53\x43\xfb\x10\xfb\x18\x1a\xfb\x19\xd3\xfb\x11\xf7\x01\x54\x1e\xac\x7b\xaa\x80\xcf\x77\x93\x96\x18\xfb\x14\xb8\x3a\xf7\x1a" -+"\xf7\x3d\x1a\xf7\x05\xb0\xee\xce\xd2\x1e\xa8\xaa\xa9\x9e\xb9\x9b\x08\x0e\xfc\x55\xae\xf9\x4a\x15\xf7\x13\x5f\xdc\xfb\x1b\xfb\x3e" -+"\x1a\xfb\x3d\x3a\xfb\x1c\xfb\x13\x60\x1e\x93\x80\xce\x9e\xaa\x96\xad\x9c\x19\xf7\x00\xc2\xd3\xf7\x11\xf7\x19\x1a\xf7\x18\x43\xf7" -+"\x10\xfb\x00\xc3\x1e\x68\x9c\x6c\x96\x49\x9e\x08\x0e\xfc\x9e\xf7\x42\x20\x0a\x2e\xfb\x04\x5d\xfb\x06\xfb\x0c\x1a\xfb\x0c\xbb\xfb" -+"\x0b\xe6\x21\x1e\xf7\x01\x06\x4f\xf7\x12\x73\xf1\xf7\x0d\x1a\xf7\x0f\xb2\xf7\x31\xb8\xc9\x1e\x0e\xfc\x9e\xae\x20\x0a\xc9\xfb\x14" -+"\xa1\x2f\xfb\x11\x1a\xfb\x0a\x71\xfb\x00\x51\xfb\x0c\x1e\xf7\x01\x06\xe5\xf2\xbc\xf7\x0e\xf7\x0c\x1a\xf7\x0c\x5d\xf7\x07\x2e\xf7" -+"\x03\x1e\x0e\xfc\xc7\xf7\x1d\x20\x0a\x25\xfb\xee\xf1\xfb\xed\x05\xf4\x06\x23\xf7\xed\xf3\xf7\xee\x05\x0e\xfc\xc7\xf7\x1e\x20\x0a" -+"\x24\x06\xf2\xfb\xee\x24\xfb\xed\x05\xf2\x06\xf3\xf7\xed\x05\x0e\xfb\xde\xf7\xaa\x16\xf7\x59\x06\xfb\x87\xf7\xee\xf7\x87\xf7\xed" -+"\x05\xfb\x59\x06\xfb\x87\xfb\xed\x05\x0e\xfb\xde\xf7\x7c\x16\xf7\x87\xf7\xee\xfb\x87\xf7\xed\x05\xfb\x59\x06\xf7\x87\xfb\xed\xfb" -+"\x87\xfb\xee\x05\x0e\xfc\x41\xf7\x1b\x20\x0a\x27\xfb\xed\xef\xfb\xee\x05\xf7\x84\x06\x27\xf7\xee\xef\xf7\xed\x05\x0e\xfc\x41\xf7" -+"\xa7\x20\x0a\xfb\x84\x06\xef\xfb\xed\x27\xfb\xee\x05\xf7\x84\x06\xef\xf7\xee\x05\x0e\xfc\xf1\xf7\x5b\xf9\x4a\x15\x75\x96\xfb\x22" -+"\x32\x05\xfc\xb1\x07\xf7\x22\x32\xa1\x96\xfb\x06\xd9\x05\xf8\xb1\x07\x0e\xfc\xf1\xae\xf9\x4a\x15\xf7\x06\x3d\x05\xfc\xb1\x07\xfb" -+"\x06\x3d\xa1\x80\xf7\x22\xe4\x05\xf8\xb1\x07\xfb\x22\xe4\x05\x0e\xfc\x8d\xf7\xbf\x20\x0a\x60\x06\x3b\x71\x89\x83\x76\x1f\x6c\x7e" -+"\x7e\x74\x60\x1a\x7f\x07\x8c\x78\x05\xfb\x18\x07\x8d\x4c\x7f\x76\x62\x87\x08\x7f\x07\xb5\x88\x96\x7a\x89\x48\x08\xfb\x18\x07\x8a" -+"\x6b\x05\x65\x96\x74\xa4\x7e\x1e\x80\xa0\xa5\x88\xd8\x1b\xc1\x97\x86\x06\x76\x77\x92\x95\x82\x1f\x80\x98\x8a\x94\xc4\x1a\xf7\x01" -+"\x07\x8d\xe0\x79\xa8\x4b\x99\xcb\x9a\x9d\xa7\x89\xe1\x08\xf7\x01\x07\x89\xda\x95\x9a\xc6\x8d\x08\x0e\xfc\x8d\xae\x20\x0a\x7f\x07" -+"\xc6\x89\x96\x7c\x88\x3c\x08\xfb\x01\x07\x8a\x35\x9c\x6f\xcb\x7c\x4b\x7d\x7a\x6e\x8c\x36\x08\xfb\x01\x07\x51\x8a\x83\x80\x7e\x1e" -+"\x81\x83\x76\x84\x76\x1b\x86\x7f\xb6\x06\xdd\xa3\x8d\x93\xa0\x1f\xaa\x97\x98\xa3\xb5\x1a\x8a\xab\x05\xf7\x18\x07\x8a\xce\x95\x9c" -+"\xb5\x8e\x08\x97\x07\x62\x8f\x7f\xa0\x8d\xca\x08\xf7\x18\x07\x8c\xaa\x05\xb3\x80\xa1\x73\x98\x1e\x96\x75\x70\x8e\x3d\x1b\x0e\x20" -+"\xf9\x4d\x20\x0a\xfb\x46\xf7\x06\x06\x64\x81\x05\x23\x2a\x07\x31\x60\x88\x81\x5d\x1f\x27\x76\x46\x33\x21\x1a\x2e\xc0\x3d\xe3\x67" -+"\x1e\x7b\xb4\xba\x83\xc8\x1b\xbb\xbf\x8f\x94\xc2\x1f\x89\xfb\x05\x84\x51\x7c\x5c\x08\x35\x6f\x50\x57\x45\x1b\x5b\x63\xa8\xad\x94" -+"\x8f\x93\x91\x90\x1f\x90\x90\x8c\x8c\xa4\x8c\x08\xaa\x8e\xa2\xa5\xad\x1a\xb6\x65\xae\x5c\x50\x5b\x56\x4a\x38\xd4\x4a\xe9\xb8\xb5" -+"\x9a\xa8\xb1\x1e\xb8\xac\xa6\xb5\x9d\xcc\x08\x9e\xcb\x8f\xc9\xf7\x3b\x1a\xf7\xd3\x07\x8a\x9e\x99\x8b\x95\x1b\xb7\xa6\x8f\x98\xba" -+"\x1f\xfb\x5c\x7b\x15\xfc\x19\x07\x6e\x8e\x6b\x95\x67\x9c\x08\x82\xb2\x86\xc5\xcc\x1a\xcb\x91\xe2\x93\xb9\x1e\x0e\xfb\xbb\xf7\xa4" -+"\xf7\xbd\x15\xa2\xcd\x96\x99\xc4\xa9\xb6\xa2\x9b\x94\x99\x97\x08\xae\xa7\x9c\xad\xb7\x1a\xae\x7e\xae\x73\xa5\x1e\xb4\x66\x64\x96" -+"\x24\x1b\x24\x64\x80\x62\x66\x1f\x73\x71\x7e\x68\x68\x1a\x64\x98\x6b\xa6\x72\x1e\x9c\x7a\x9b\x82\xbf\x6f\xc4\x6d\x96\x7e\xa2\x48" -+"\x08\x8d\x70\x15\x3b\x4b\x4d\x3c\x3b\xca\x4c\xda\xda\xca\xca\xda\xd9\x4c\xcb\x3e\x1f\x0e\xfb\xbb\xf7\xa3\xf9\x06\x15\x7f\x9f\x87" -+"\x92\x85\x92\x08\xa7\x75\x68\x9b\x66\x1b\x42\x5b\x54\x37\x4e\xa9\x56\xb9\x76\x1f\xf6\x5b\xa5\x75\xa7\x4b\xa2\xc1\xa5\xa4\xcb\xab" -+"\xc9\xa8\x8b\x8b\x97\x96\x08\xab\xa6\x9d\xb6\xbb\x1a\xdf\x5c\xc2\x42\x65\x67\x7b\x6f\x76\x1e\x85\x84\x87\x85\x7f\x76\x08\x8d\xfb" -+"\xf8\x15\x3b\x4b\x4c\x3d\x3b\xca\x4c\xda\xd9\xcb\xca\xda\xd8\x4b\xcc\x3f\x1f\x0e\xd2\xf8\x5b\xf8\x6e\x15\x7b\xb4\x84\x9a\x7f\xa0" -+"\x08\xc8\x65\x45\xb2\x41\x1b\xfb\x09\x35\x35\xfb\x0b\x44\xa2\x57\xbc\x65\x1f\xaa\x72\xac\x7a\xe0\x66\xf7\x0c\x56\xb1\x6c\xb4\x39" -+"\xb5\xdd\xb0\xaa\xf7\x0c\xc0\xd1\xa9\xad\x9c\xa4\x9c\x08\xcb\xb7\xa7\xbf\xd9\x1a\xf7\x0c\x36\xe2\xfb\x0a\x41\x44\x64\x4e\x66\x1e" -+"\x7f\x77\x84\x7b\x7b\x62\x08\x0e\xfb\x40\xf9\x0d\xf8\x11\x15\x89\x7b\x7d\x8a\x81\x1b\x6a\x67\x97\xa0\x6b\x1f\x62\xa5\x6c\xb6\x70" -+"\xcf\x76\xc1\x83\x9c\x7d\x9d\x08\xb7\x6a\x5a\xa4\x54\x1b\x29\x3b\x3c\x2b\x56\xa4\x57\xb6\x6a\x1f\xa2\x78\x9e\x83\xb5\x81\x08\x79" -+"\x07\x67\x82\x79\x83\x77\x7e\x08\x5b\x69\x6d\x54\x52\x1a\x2a\xda\x3d\xed\xd5\xcd\xb8\xd1\xa4\x1e\xaf\xed\x90\x94\xab\xb1\x08\xb8" -+"\xb2\xc4\xa6\xc3\x1b\x94\x92\x8a\x89\x9a\x1f\x0e\x3c\xf7\xd9\xf9\x0e\x15\xb2\x5b\x6a\x9a\x65\x1b\x3d\x2e\x2c\x3a\x74\x9a\x7a\x9f" -+"\x9e\xa0\x9d\x9c\x8f\x8b\x8c\x80\x98\x1f\x82\x95\x86\x99\x99\x1a\xbc\xb6\xb6\xbd\xaf\xb9\x76\x4e\xea\x1e\xc2\x68\x91\x87\xa4\x7e" -+"\x7a\x5e\x88\x84\x83\x7b\x08\x7b\x6c\x89\x85\x7d\x1a\x85\x8c\x87\x8d\x82\x1e\x8d\x8f\x8d\x90\x8e\x90\x92\x98\x92\x99\x93\x99\x93" -+"\x9a\x97\xa6\x97\xac\x08\x7c\xaf\xa1\x84\x9b\x1b\x98\xa3\x8f\x8f\x9a\x1f\xdf\xa2\xc4\xc5\xc7\x1a\xb0\x71\xa7\x69\x6a\x73\x6f\x64" -+"\x82\x8d\x86\x90\x88\x1e\xa2\x7c\x90\x83\x76\x1a\x67\x69\x6c\x65\x6a\x64\x98\xa1\x6c\x1e\x91\xa5\x8d\x9a\x9b\x1a\xc4\x66\xb7\x5c" -+"\x71\x7a\x81\x6f\x72\x1e\xf7\x11\xfb\x03\x15\x7e\x90\x77\x97\x77\x9b\x08\x75\x9c\x82\x99\x9e\x1a\x9e\x9a\x9a\x9d\xaa\xa7\x67\x61" -+"\x80\x89\x80\x87\x80\x1e\x42\xfb\x5b\x15\x96\x07\xca\x66\xb2\x4e\x3c\x52\x3f\x21\xfb\x38\xf7\x21\xfb\x21\xf7\x39\xe0\xd6\xb5\xbc" -+"\xa1\x79\x9b\x72\x7e\x85\x88\x81\x83\x1e\x4d\x82\x71\x6d\x5e\x1b\x69\x71\xa3\xa9\xaa\xa0\x9e\xd7\xb0\x1f\xbe\xa4\xab\x9f\x9c\x9e" -+"\x08\xa7\xa8\x9a\xb1\xb1\x1a\xd1\x58\xc3\x4e\x6d\x6a\x80\x79\x77\x1e\x7a\x7d\x7f\x7c\x77\x68\x08\x0e\x3c\x98\xf7\x6c\x15\x94\x06" -+"\x54\x91\xad\x67\xbb\x1b\xb2\xa1\xa1\xb1\x94\x8a\x91\x8a\x9b\x1f\x7d\x7b\x80\x86\x7a\x1b\x70\x7b\x99\xa8\x84\x1f\xdf\xac\xc2\xc9" -+"\x8a\xc6\xb7\x89\xb3\x75\x9a\x6c\x08\x5b\x71\x7b\x76\x64\x1a\x41\xdd\x51\xf2\xd5\xe2\xab\xc9\xe1\x1e\xc3\xb2\xa1\xa4\xa3\x1a\x9f" -+"\x7e\x97\x77\x7d\x83\x86\x7d\x82\x1e\x90\x7c\x8c\x84\x81\x1a\x6b\x73\x74\x6b\x75\x77\x96\xa0\x7e\x1e\x82\x9a\x88\x9a\x86\xb9\x84" -+"\xd7\x89\x95\x76\xaa\x08\xb5\x70\x58\xa6\x59\x1b\x54\x5d\x63\x5a\x77\x8f\x7c\x98\x6d\x1f\x67\xaa\x62\x9b\x63\x8a\x80\xa5\x7e\x9a" -+"\x6d\x9e\x08\x5d\xa7\x80\x97\xa3\x1a\x97\x91\x94\x98\x95\x1e\x81\x06\x62\x6f\x72\x67\x6a\x9d\x7a\xb9\x81\x1f\xc7\x7f\x8e\x89\x95" -+"\x77\x3a\x7e\x42\x45\x88\x46\x7c\x7c\x87\x81\x88\x75\x08\xd2\xc9\x15\x88\xc4\xc5\xc5\xc8\x8c\x08\x8c\x85\x8b\x86\x88\x1a\x76\x79" -+"\x6f\x71\x79\x1e\x76\x7c\x7b\x83\x67\x7f\x08\x0e\x4c\xf9\x0a\x16\x9f\x07\x2f\x9c\x6c\x9a\x5f\xba\x5e\xbf\x80\xae\x86\xf6\x9c\x6b" -+"\x93\x7d\x99\x7b\x08\x5f\xaf\xc5\x6d\xbd\x1b\xe1\xd1\xd4\xe4\xe2\x4c\xd1\x3c\x73\x7c\x86\x7b\x6a\x1f\x85\x88\x84\x88\x84\x87\x08" -+"\xa7\xb4\x96\xa8\xb0\x1a\xe0\x44\xcf\x34\x34\x44\x47\x36\x66\x96\x6e\xa7\x62\x1e\xa9\x4e\x89\x8c\x6e\x1b\x3c\x4c\x45\x34\x32\xd1" -+"\x42\xe1\xbd\xc5\xa8\xb8\xb0\x1f\x98\x9b\x93\x99\x9c\xab\x86\x21\x80\x67\x5e\x57\x5f\x5c\x6c\x7c\x2f\x7a\x08\x77\x07\x0e\xfb\x88" -+"\xb9\xf7\xdf\x15\xec\xfb\x06\xf7\x04\xfb\x30\xb4\x40\xb6\xda\xf7\x13\xf7\x41\xe9\xf7\x00\x3f\xde\xfb\x30\xf7\x69\x6b\xca\x58\x2e" -+"\x43\x29\xfb\x1f\xfb\x3c\x08\x0e\xfb\x25\xf7\xf0\x7d\x15\xa0\xe2\xc3\xeb\xf7\x04\xf7\x1d\x08\xe6\xf7\x07\xaa\xcc\xd6\x1a\xd9\x48" -+"\xcc\x3b\x5d\x60\x77\x67\x6b\x1e\x77\x73\x80\x77\x7f\x5f\x80\xad\x83\x9c\x7f\x9d\x08\xbb\x6b\x5a\xa6\x55\x1b\x38\x4b\x4a\x37\x4d" -+"\xa1\x5d\xdb\x20\x1f\xf7\x27\xfb\x53\xb1\x4b\xa5\x28\x08\x0e\xfb\x69\xd3\x16\xf8\x75\x9f\x06\x2f\x9c\x6c\x99\x5f\xbb\x66\xb6\x7d" -+"\xad\x85\xc9\x08\x58\xac\xbb\x6e\xc0\x1b\xd3\xc3\xc3\xd2\xca\x73\xb1\x27\xe6\x1f\x29\xe3\x6d\xb7\x71\xeb\x70\x2b\x6d\x5f\x2a\x33" -+"\x08\x27\x30\x72\x65\x4c\x1a\x44\xc4\x53\xd2\xc0\xbb\xa8\xbe\xac\x1e\x85\x4d\x7d\x69\x66\x60\x5f\x5b\x6c\x7d\x2f\x7a\x08\x0e\xf8" -+"\x52\xf8\xe0\x15\x6b\x06\x6c\x60\x5a\x73\x42\x83\x08\x70\xd1\x07\xa4\x8a\x8e\x87\x70\x1a\xfb\x83\x07\x8d\x59\x7f\x7e\x5c\x8a\x08" -+"\x70\x6a\xf7\x97\xac\x67\x06\x63\x8c\x7f\x9a\xbb\x1a\x5d\xf8\x7f\x22\x0a\xfb\x32\xfb\x5b\x31\x0a\xf8\xa8\xf7\xbd\x15\x60\x07\x8a" -+"\x5f\x84\x84\x62\x8d\x08\xfb\x59\x06\x99\xb0\xbf\xb6\xd2\xab\x08\xeb\xb8\xae\xb3\xcb\x1a\xda\x4b\xbd\x25\x39\x51\x61\x51\x6b\x9f" -+"\x74\xa8\xa5\xa1\xa1\xa5\x91\x8a\x90\x89\x8f\x1e\x83\x9e\x8b\x8b\x8e\x1a\x9c\xa8\x9f\xa3\xb0\xa4\x69\x58\x4f\x6e\x62\x32\x48\x1e" -+"\x46\x56\x67\x54\x52\x1a\x85\x8c\x82\x8c\x80\x1e\xf7\xe4\xf7\x47\x06\xfb\x38\xf8\x2d\x22\x0a\x26\x0a\x31\x0a\xf7\xd5\xf7\xf7\x15" -+"\x90\xa4\x96\x8d\x9a\x1b\xc8\xb0\x67\x51\x4b\x5f\x56\x54\x6c\x75\x99\x9e\x8e\x8c\x8f\x8c\x8d\x1f\x91\x9b\x8b\x8b\x94\x1a\xa8\x76" -+"\x9f\x6c\x6b\x76\x76\x6c\x4e\xcc\x60\xe6\xf7\x05\xdd\xc9\xe2\xb2\x7a\xac\x6d\xa0\x1e\x7b\x96\x64\x99\x74\x8d\x08\x83\x88\x8d\x8e" -+"\x8e\x8f\x8d\x9a\x8f\x1f\xc1\x9a\xa8\xae\xbb\x1a\xce\x57\xb0\x2e\x32\x4e\x67\x57\x71\x9e\x77\xa4\xa5\xa1\xa1\xa4\x90\x89\x94\x8a" -+"\x8e\x1e\x87\x92\x8b\x8b\x8d\x1a\x99\xa4\x99\xa4\xb4\xa7\x6d\x5e\x50\x62\x64\x4e\x85\x83\x8b\x8c\x81\x1e\xda\xf7\xcf\x15\xfb\x5e" -+"\xfb\x37\x32\x0a\x37\x2e\x1a\xfb\x49\x28\x0a\xf8\x60\xf8\xe0\x15\x48\x06\xfb\x69\xfb\xd5\x05\x6f\xf7\x55\x65\x07\x8c\x64\x84\x82" -+"\x6b\x89\x08\x5b\x6a\xf7\x85\xac\x6b\x06\x6c\x8e\x85\x91\x8c\xad\x08\xb8\xf7\x02\xb8\xfb\x02\x07\x34\xf7\x67\x15\xfb\x67\xfb\x1b" -+"\x07\xf7\x37\xf8\x39\x15\xfb\x60\xfb\x36\x2d\x0a\xf7\x5c\xf7\x5b\xf7\x34\xf7\x35\xf7\x5a\x3f\x0a\xf7\x38\xfb\x54\x1f\x8a\x6a\x15" -+"\xd5\xde\x6a\x58\xc3\x2f\x0a\x37\x2d\x1a\xfb\x48\x28\x0a\xf7\xb2\xf7\xcf\x15\xad\xa6\xa4\x9b\xa8\x1b\xb9\xad\x5f\x4e\x4b\x60\x57" -+"\x56\x6f\x74\x99\x9c\x91\x8b\x8b\x92\x9a\x1f\x8e\x92\x8d\x93\x93\x1a\xa3\x74\x9f\x6e\x6d\x76\x75\x6b\x53\xcc\x61\xe1\xf7\x05\xe1" -+"\xce\xe3\xdc\x49\xc6\x2e\x5c\x66\x7f\x73\x6d\x1e\x96\xf7\x0d\x05\x88\xac\x9c\x8a\xac\x1b\xe0\xa2\x8f\x9a\xa0\x1f\x9e\x98\x9a\xa8" -+"\x95\xb7\x08\x7d\x64\x6a\x86\x55\x1b\x67\x6b\x8f\x9a\x32\x1f\x88\x57\x80\xfb\x0b\x80\x32\x08\xf7\x2f\xf8\x0a\x21\x0a\xf7\xc3\xf7" -+"\xe2\x15\x8a\xa1\x8b\x99\x90\x1a\xd1\xa1\xd0\xac\xaa\x1e\x96\x97\x9f\x92\x9e\x1b\xa8\xa2\x7c\x78\x88\x8a\x87\x8a\x87\x1f\x87\x80" -+"\x89\x80\x86\x1a\x75\xa1\x77\xa3\xa7\x9f\xa2\xaa\xc0\x4d\xb2\x36\x52\x5e\x79\x67\x6b\x1e\x61\x5b\x72\x41\x40\x1a\x4b\x9c\x51\xac" -+"\x60\x1e\x5e\xad\xbc\x74\xca\x1b\xf3\xd7\xd1\xea\xd8\x51\xc3\x3c\x54\x5e\x72\x59\x69\x1f\xed\xa9\x15\xbd\xac\x5e\x48\x4b\x66\x5f" -+"\x58\x56\x66\xb8\xcc\xca\xb4\xba\xc1\x1f\x8a\xf7\xea\x22\x0a\x30\x0a\xf7\x6f\xf8\xdd\x15\xfb\x3b\xa9\x07\x93\xae\x97\xb7\x8c\x8c" -+"\xac\x8c\x19\xf7\x4a\x06\x43\x27\x47\x33\x8b\x8b\x7c\x72\x19\x73\x62\x7d\x63\x6d\x1a\x66\xa5\x70\xae\xae\xa4\xa2\xac\x91\x8a\x91" -+"\x8a\x90\x1e\x80\xb6\x8b\x8b\x98\x1a\xa7\x97\xb3\x9d\xac\x1e\x91\x97\x8e\x8f\xe3\xf7\x29\xb5\xce\x18\x8c\x8e\x8f\x8e\x92\x1e\xfb" -+"\x43\xf7\x0d\x15\xfb\x5e\xfb\x37\x26\x0a\x34\x0a\x37\x2e\x1a\xfb\x49\x28\x0a\xf8\x5e\xf8\x24\x15\xc1\xaf\x9d\xa3\xb1\x1a\xc3\x55" -+"\xb4\x41\x36\x4e\x58\x43\x5e\x9b\x72\xbf\x6a\x1e\x40\x60\x72\x6a\x53\x1a\x3f\xcc\x59\xed\xf4\xd5\xca\xe3\xc7\x6d\xb3\x3d\xb1\x1e" -+"\x3f\xb2\x15\x68\x9e\x7c\x9d\xa5\x1a\xad\xa9\xa5\xb3\xb5\xa9\x6f\x63\x6b\x7b\x71\x69\x77\x1e\x82\x28\x15\xb9\x71\x9e\x72\x67\x1a" -+"\x5a\x62\x66\x56\x53\x62\xb4\xc3\xb7\xa3\xb2\xb7\xa5\x1e\xb6\xf7\xf8\x21\x0a\xf8\x7a\xf7\xfc\x15\x8c\x7c\x8b\x86\x82\x1a\x45\x75" -+"\x46\x69\x6c\x1e\x80\x80\x76\x84\x78\x1b\x6e\x74\x9a\x9e\x8e\x8c\x8f\x8d\x90\x1f\x8e\x96\x8d\x95\x90\x1a\xa1\x75\x9f\x73\x6f\x77" -+"\x74\x6c\x56\xc9\x64\xe1\xc3\xb9\x9d\xaf\xaa\x1e\xb6\xbb\xa4\xd5\xd6\x1a\xcb\x7a\xc5\x69\xb7\x1e\xb7\x69\x5b\xa2\x4c\x1b\x22\x3f" -+"\x45\x2c\x3e\xc5\x53\xda\xc3\xb7\xa4\xbd\xad\x1f\x2f\xf7\x52\x15\xc0\xb1\x5e\x4a\x4c\x62\x5c\x54\x59\x6a\xb7\xcf\xcb\xaf\xb7\xbf" -+"\x1f\x92\xf7\x24\x21\x0a\xf7\xd2\xf8\xe1\x15\x69\x06\x73\x63\x64\x78\x46\x87\x08\x71\xbe\x07\xab\x88\x8c\x8b\x64\x1a\xfb\x9d\x07" -+"\x6a\x8c\x86\x84\x6e\x1b\x72\x68\xf7\x5a\xae\x78\x06\x69\x8e\x85\x91\x8c\xb1\x08\xf7\x4f\xf8\x1f\x15\x2e\x59\x35\xfb\x30\xfb\x36" -+"\xba\x3b\xeb\xc2\xb0\x9d\xb0\xa1\x1f\xa3\xb3\x98\xc9\xd7\x1a\xf7\x3d\x5a\xdd\x25\x1e\x8f\x6a\x15\xad\x9c\x46\xfb\x20\xfb\x1f\x7a" -+"\x47\x68\x6a\x79\xd3\xf7\x1c\xf7\x1d\x9d\xd2\xad\x1f\xfb\x01\xf7\x24\x21\x0a\xf8\x24\xf9\x56\x39\x0a\xf7\x58\xfb\x35\xf7\x37\xfb" -+"\x55\x1f\xc1\x2e\x15\xfc\x32\x07\x8a\x57\x9a\x78\xb7\x8a\x08\xb3\x69\xfb\xb8\xad\xa9\x06\xb8\x9e\x9c\xb2\x1f\x91\x07\x8a\x95\x05" -+"\xf7\x9d\x07\x8c\xa9\x86\x8f\x70\x8c\x08\x3e\xa9\x06\xd9\x93\xc6\xa8\xaf\xba\x08\x0e\xf8\x24\xf9\x56\x22\x0a\x2a\x0a\xf7\x26\xfc" -+"\x31\x15\xb0\xfb\x5c\xfc\x09\x06\x8a\x97\x8a\x95\x90\x1a\xce\xb0\xc6\xda\xc6\x1e\xc5\xb6\x99\x98\xa2\xa9\x08\xa1\xa8\x97\xad\xac" -+"\x1a\xc3\x70\xb0\x63\x70\x6c\x75\x7a\x88\x8c\x89\x8c\x89\x1e\x94\x74\x8b\x8b\x82\x1a\x6f\x74\x75\x6d\x6b\x74\xa4\xad\xca\xcc\xb9" -+"\xe6\xf7\x04\xd4\x54\x36\x66\x7e\x6b\x70\x6e\x1e\x75\x73\x72\x7c\x51\x6f\x39\x66\x55\x60\x7b\x60\x08\xf7\x6d\x06\xa0\x8a\x05\xa3" -+"\x94\x9a\xb4\x1f\x0e\x33\x0a\x34\xfb\xcf\x15\x8a\x96\x94\x8a\x92\x1b\xa0\xa2\x91\x96\x9e\x1f\xac\x9e\x9b\xa7\xb5\x1a\xbd\x6c\xac" -+"\x5e\x70\x71\x7c\x7b\x8a\x1e\x8a\x8b\x8a\x8c\x8a\x1e\x8f\x82\x8c\x85\x82\x1a\x6f\x73\x74\x6e\x6f\x76\xa0\xa8\xc0\xcf\xb2\xea\xf2" -+"\xc4\x62\x41\x56\x6a\x64\x53\x7b\x1e\x7a\x86\x88\x89\x88\x1a\x87\x8e\x8a\x94\x8a\x1e\x9c\x8a\xb7\x7d\x9b\x82\x08\xb2\x75\xa1\x64" -+"\x5c\x1a\x2c\x31\x46\xfb\x10\x26\x43\xbc\xd0\xaf\xa2\xa3\xae\xad\xa2\x75\x6b\x85\x8a\x85\x8a\x86\x1e\x85\x7c\x8b\x8b\x85\x1a\x76" -+"\xa3\x7c\xac\xc5\xbb\xc5\xd1\xcb\x63\xb2\x49\x7b\x7f\x8a\x86\x71\x1e\x0e\xf8\x06\xf8\x92\x15\xfb\x2a\xfb\x7a\x05\xf7\x2a\x06\xa9" -+"\xf8\x3e\x35\x0a\xcf\x2e\x15\xfb\xe1\xf7\x0c\x55\xfb\x0c\x59\x07\x65\x90\x85\xae\x87\x1e\xae\x68\xfb\xa0\xae\xbf\x06\xaf\x8e\x92" -+"\x94\xb6\x1a\xb6\xfb\x6a\xac\x07\xf7\x81\xf7\xf6\x05\x0e\x29\x0a\xfb\x12\xfb\xe3\x15\xa6\xad\xb4\x98\xbf\x1b\xf1\xd5\x4a\x31\x2a" -+"\x2b\x41\xfb\x13\x2e\x43\xba\xc8\xae\xa2\xa4\xad\xab\xa5\x74\x6f\x83\x89\x82\x87\x83\x1f\x83\x7b\x8b\x8b\x84\x1a\x77\xa4\x7b\xa9" -+"\xc6\xba\xc5\xd4\xce\x65\xbc\x58\x6c\x70\x7b\x65\x6d\x1e\x5f\x9e\x97\xf0\x94\xe9\x90\xe8\x19\x79\xf7\x06\x9f\x89\xb7\x1b\xc5\xab" -+"\x90\x9a\xb9\x1f\x82\x60\x7a\x68\x7b\x7d\x08\x77\x72\x72\x86\x27\x1b\x67\x79\x8c\x8e\x66\x1f\x0e\xf8\x26\xf8\x03\x15\x50\x5f\x58" -+"\x46\x45\xb3\x5a\xc4\xc3\xb3\xbb\xd0\xd5\x67\xbb\x55\x1f\x89\xf7\xe7\x24\x0a\x21\xfc\x05\x15\xc2\xb1\xbc\xa6\xc8\x1b\xe3\xcb\x4c" -+"\x34\x20\x37\x3e\xfb\x08\x45\x56\xa4\xbd\x65\x1f\x66\xbb\x78\xca\xd3\x1a\xd4\xa1\xd5\xb0\xbf\x1e\xc2\xb2\xbf\xa5\xd4\x1b\xe8\xd0" -+"\x60\x51\x69\x75\x73\x6c\x70\x74\xa1\xa4\x91\x8d\x96\x8d\x97\x1f\x8d\x90\x8b\x8f\x8e\x1a\xa1\x73\x9b\x6b\x76\x74\x83\x7f\x7f\x1e" -+"\x66\x68\x73\x40\x3c\x1a\x82\x8b\x8b\x8c\x7c\x1e\x80\x8b\x8b\x8c\x82\x1e\x0e\x38\x0a\xf7\x57\x25\x0a\xfb\x5c\x2c\x15\xf8\x1e\x06" -+"\x88\x84\x88\x86\x8a\x89\x5e\x40\x18\x2a\xfb\x3a\x87\x84\x86\x81\x08\x78\x67\x7e\x5f\x6b\x1a\x82\x8c\x82\x8d\x81\x1e\x91\x62\x8b" -+"\x8b\x83\x1a\x63\x72\x72\x62\x63\x71\xa8\xb7\xbc\xa8\xc8\xc6\xd7\x1e\x9a\x9f\x9a\x9f\x9a\x9e\xdc\xf7\x03\x18\xfb\x5e\x06\x66\x8a" -+"\x8a\x8a\x7e\x5a\x82\x65\x18\x6a\x06\x0e\xf8\x40\xf8\x40\x15\xae\xa1\x9c\xa7\xae\x1a\xb6\x6b\xab\x5e\x5f\x6b\x6f\x66\x6e\x9c\x75" -+"\xb0\x78\x1e\x6f\x28\x15\x5d\x70\x72\x61\x5b\x1a\x4f\xb7\x5e\xc7\xc4\xb8\xb3\xbf\xb2\x76\xa6\x5a\xa7\x1e\x79\xf8\x18\x24\x0a\xcc" -+"\xfb\xbc\x15\xe0\x60\xae\x5f\x47\x1a\x28\x38\x44\xfb\x07\xfb\x01\x43\xc3\xe0\xcb\xa7\xb1\xdd\xba\x1e\x52\xb1\x79\xa6\xbc\x1a\xdb" -+"\xcf\xc3\xe9\xde\xc7\x5f\x4d\x60\x77\x70\x4e\x64\x1e\x0e\xf8\x19\xf8\xdf\x15\x53\x64\x5b\x45\x42\xb0\x5d\xc4\xc4\xb5\xbd\xd0\xcf" -+"\x62\xbd\x52\x1f\x96\xf7\x0b\x35\x0a\xe8\xfb\xeb\x15\x5d\x65\x60\x77\x4c\x1b\x2d\x4c\xc6\xe4\xf3\xdf\xd7\xf7\x06\xf7\x17\xe1\x26" -+"\xfb\x2f\x3d\x76\x40\x64\x54\x1f\x58\x67\x56\x72\x40\x1b\x2f\x47\xb7\xc7\xaf\xa3\xa6\xa9\xa7\xa1\x74\x6d\x86\x8a\x86\x8a\x85\x1f" -+"\x88\x80\x8a\x83\x88\x1a\x75\xa3\x7b\xaa\xa4\xa4\x95\x9c\x99\x1e\xac\xb1\x9f\xd0\xd7\x1a\x95\x07\x0e\xf8\xa0\xf8\xe0\x15\x63\x76" -+"\x3b\xfb\x2f\xfb\x2e\xa0\x3a\xb3\xb4\x9f\xd7\xf7\x32\xf7\x32\x77\xd9\x62\x1f\xfb\x13\xf7\x0a\x15\xfb\x5d\xfb\x35\xfb\x34\xfb\x5c" -+"\xfb\x5a\xf7\x35\xfb\x35\xf7\x5a\xf7\x5b\xf7\x35\xf7\x34\xf7\x5b\xf7\x5a\xfb\x35\xf7\x36\xfb\x58\x1f\x33\x2e\x15\xfc\x42\x07\x61" -+"\x90\x84\xb1\x88\x1e\xa0\x65\xfb\x70\xb1\xa7\x06\xaa\x8c\x91\x92\x8a\xaf\x08\xf7\xba\x07\xb5\x8a\x8c\x67\x8d\x1e\x52\xa8\x06\xda" -+"\x91\xb3\x9e\xa8\xb8\x08\xf7\x8d\x93\x15\xf7\x04\xc2\x30\xfb\x4f\x47\x80\x48\x79\x63\x1f\x51\x70\x62\x72\x45\x1b\x21\x56\xe4\xf7" -+"\x46\xf7\x43\xc2\xe9\xf3\x1f\x0e\xf8\x1d\xf8\xe0\x15\x80\x55\x6a\x77\x3e\x8c\x08\x62\xec\xfb\xf8\xc8\xf8\x6a\x07\x6d\xf7\x0a\x21" -+"\x0a\xf8\xae\xf7\x3d\x15\xfb\x75\x06\x99\xa8\x94\x94\xc2\xb0\x08\xf7\x0d\xdc\xa9\xb3\xd7\x1a\xe1\x4b\xc9\x32\x35\x4d\x4e\x36\x1e" -+"\x7d\xc8\x07\x8a\x92\x8b\x8f\x8f\x1a\xc7\xae\xb3\xc0\xc1\xb1\x61\x4f\x4e\x73\x6c\x2d\x4e\x1e\x3c\x58\x66\x5a\x54\x1a\x88\x8c\x85" -+"\x8c\x84\x1e\xf7\xb5\x06\xfb\x1e\xf8\xe0\x21\x0a\xf7\xca\xf8\x62\x15\x8c\x9d\x8c\x93\x8e\x97\x08\xa9\x94\xa8\x9e\xb0\x1b\xbe\xab" -+"\x6b\x59\x6c\x82\x76\x78\x7e\x1f\x7c\x76\x74\x83\x75\x1b\x88\x84\x8c\x8c\x81\x1f\x82\x60\xac\x06\xd0\xb2\x6b\x51\x58\x65\x66\x56" -+"\x6b\x70\x98\xa2\x7b\x1f\x80\x9a\x87\x9d\xab\x1a\x55\x80\x8a\x77\x05\x46\xc7\x58\xdc\xe3\xc9\xc4\xdd\xc6\x71\xb0\x55\x9d\x1e\xbb" -+"\xa1\x9f\xa9\xbc\x1a\xd6\x4f\xc2\x3a\x58\x5d\x74\x66\x75\x1e\x80\x77\x86\x78\x89\x6a\x08\xf7\x24\xf7\x88\x21\x0a\xf8\xae\xf7\xb1" -+"\x15\x40\xf7\xc8\x53\x06\xfb\x63\xfb\xc8\x05\x59\xf7\x64\xfb\x09\xc2\xf7\x09\xd6\x07\xfb\x16\xf7\xab\x15\xfb\x79\xfb\x2c\x07\xf7" -+"\x24\xf8\x39\x21\x0a\xf7\xa1\xf8\xdd\x15\xfb\x9e\xb8\x07\xbf\x95\xac\xa8\xba\x1b\xc3\xb1\x62\x4f\x31\x69\x5a\x4d\x57\x68\xad\xbc" -+"\x8a\x1f\x5e\x7f\x05\x41\x8f\xbd\x5c\xd6\x1b\xe8\xce\xd5\xf1\xea\x4e\xcc\x34\x5c\x70\x7e\x6c\x75\x1f\xf7\x19\xf7\x5d\xbd\x07\xfb" -+"\x07\xf7\x0d\x21\x0a\xf8\x9c\xf8\x7c\x15\xd1\x7e\x61\xaf\x49\x1b\x51\x53\x67\x56\x72\x1f\x78\x63\x83\x5a\x46\x1a\x41\x96\x54\xa0" -+"\x65\x1e\x61\xa4\xbb\x6f\xbd\x1b\xde\xc9\xd1\xe7\xe2\x53\xc8\x3c\x58\x67\x74\x5e\x76\x1f\x8a\x96\x8b\x8c\x96\x1a\xf7\x00\xb4\xcd" -+"\xcd\xa5\xa1\x7f\x77\x96\x1e\x91\x81\x8d\x83\x91\x72\x08\x3c\x2d\x15\xc0\xad\x5e\x44\x49\x69\x60\x58\x53\x62\xbd\xcf\xc8\xb4\xb9" -+"\xc1\x1f\x95\xf7\xda\x21\x0a\xf7\x82\xf8\xdc\x15\x59\xf7\x92\x07\x24\xfb\x0e\x3c\xfb\x38\x79\xfb\x16\x08\xce\x06\xa4\xf7\x1f\xc2" -+"\xf7\x0f\xf7\x03\xf7\x37\x08\xb4\x07\xfb\x2a\xf7\x0e\x21\x0a\xf8\x5e\xf8\x02\x15\x9c\x92\x94\x90\x93\x90\x08\xa5\x9d\x9a\xab\xb1" -+"\x1a\xd4\x55\xbd\x3d\x3b\x52\x58\x44\x59\xa1\x6a\xbc\x74\x1e\x76\x84\x7f\x85\x81\x84\x08\x6d\x77\x7a\x67\x61\x1a\x3a\xc8\x52\xe2" -+"\xe2\xca\xc5\xdc\xc7\x70\xb0\x51\x9f\x1e\x4e\xf7\x51\x15\xc0\xac\x6b\x56\x59\x67\x68\x59\x58\x6b\xac\xbf\xbe\xac\xad\xbd\x1f\x88" -+"\xfb\x6b\x15\xc6\xad\x68\x50\x53\x65\x63\x55\x54\x64\xb3\xc3\xc4\xb1\xb0\xc2\x1f\x91\xf8\x02\x21\x0a\xf7\x9c\xf7\x69\x15\x90\x70" -+"\x8f\x7e\x94\x7c\x08\x6e\x9e\xb1\x78\xb4\x1b\xaf\xae\x98\xa2\xa4\x1f\xba\xb5\xa0\xcb\xf3\x1a\xcf\x80\xc6\x79\xae\x1e\xbc\x71\x5f" -+"\xa6\x55\x1b\x37\x4c\x48\x2f\x34\xc1\x4f\xda\xc1\xad\xa0\xba\xa2\x1f\x89\x3b\x85\x68\x7c\x6e\x08\x67\x78\x6f\x77\x6a\x1b\x66\x73" -+"\xa2\xb7\x80\x1f\xd4\xf7\xe0\x15\xc2\xb3\x59\x46\x4b\x65\x5f\x54\x53\x6b\xb5\xd5\xcf\xac\xb6\xc0\x1f\x99\xf7\x2b\x21\x0a\xf8\x74" -+"\xf8\xe6\x15\x61\x66\x79\x69\x72\x1f\x6f\x65\x7d\x50\x33\x1a\x2e\x9e\x43\xac\x63\x1e\x71\xa2\xac\x7b\xae\x1b\xb3\xad\x9c\xad\xa5" -+"\x1f\xa8\xaf\x9b\xce\xdd\x1a\xf7\x3a\x5c\xdd\x2c\x1e\x89\x64\x15\xc4\xa7\x46\xfb\x20\xfb\x17\x70\x4a\x54\x53\x6b\xd6\xf7\x18\xf7" -+"\x17\xa8\xce\xc3\x1f\xfb\x75\xac\x15\x86\x5d\x64\x6e\x51\x8a\x08\x63\xde\xfb\xf6\xc7\xf8\x6a\x07\xf5\xf7\x0a\x21\x0a\x29\x0a\xb8" -+"\x22\x15\xfc\x78\x30\xf7\xf9\x2c\xc1\x07\xe1\x8a\xa2\x99\x97\xc7\x08\x0e\x29\x0a\xf7\x2c\xfc\x9f\x15\x49\xfb\xd1\x07\x8a\x94\x8b" -+"\x93\x8f\x1a\xc7\xb0\xbc\xe2\xc4\x1e\xdf\xc1\xa4\xac\xc4\x1a\xc4\x6c\xb2\x5d\x5c\x6f\x66\x4e\x86\x8b\x85\x8c\x81\x1e\x33\x93\x05" -+"\x8a\x94\x8b\x92\x90\x1a\xe2\xd0\xcb\xe9\xed\xd2\x49\x31\x4f\x71\x5d\x4d\x5c\x1e\x78\x7c\x73\x7a\x6c\x77\x5d\x6b\x7f\x81\x82\x78" -+"\x08\x0e\x33\x0a\xfb\x32\xfb\x83\x15\x8d\xb2\x91\xa0\x99\xa1\x08\xaf\xa4\xbc\xa2\xc1\x1b\xe3\xcc\x51\x3c\x5d\x78\x6b\x64\x75\x1f" -+"\x9c\x81\x96\x83\x92\x85\x08\xa2\x76\x98\x6b\x64\x1a\x34\x48\x4d\x2c\x31\x4a\xc2\xd8\x91\x8b\x94\x8c\x93\x1e\xdd\x9c\x05\x65\x8d" -+"\x7e\x91\x7e\x1e\x73\x97\xa3\x7d\xa8\x1b\xb7\xaa\xac\xbb\xc0\x6c\xa8\x55\x7d\x7f\x8a\x88\x72\x1f\xc9\x07\x88\xa0\x95\x8b\x92\x1b" -+"\xc0\xaa\xa7\xb9\xbe\x73\xa7\x60\x73\x77\x82\x79\x80\x1f\x82\x7d\x89\x7e\x8a\x68\x08\x0e\xf8\x1e\xf8\x79\x15\xfb\x0f\xfb\x4c\x05" -+"\xf7\x0f\x06\x91\xf8\x29\x36\x0a\xf7\x2b\xfc\x29\x15\x49\x40\xfb\x0a\x39\xf7\x0a\xfb\x64\xcd\x07\xf7\x6e\xf7\xc5\x05\xd3\xfb\xc5" -+"\x06\x0e\xf8\x24\xf9\x56\x22\x0a\x2d\x0a\xf7\x5c\xf7\x5b\xf7\x34\xf7\x35\xf7\x5b\x27\x0a\xfb\x55\x1f\xfb\x25\x21\x15\xf7\xad\x4a" -+"\xfb\x66\x2d\x06\x9a\xad\x9c\x8f\xaa\x1b\xed\xcd\x48\x27\x20\x43\x3f\x24\x38\x54\xbe\xdc\x87\x1f\xd2\x9e\x05\x73\x8c\x84\x8f\x7f" -+"\x1e\x6e\x96\xa5\x79\xaa\x1b\xc0\xa9\xb6\xd8\xb1\x87\x9c\x80\x9e\x1f\xa0\x7d\x72\x99\x71\x1b\x62\x72\x70\x55\x81\x1f\x44\x06\x0e" -+"\xf8\x19\xf8\x0c\x15\x5d\x69\x61\x53\x4e\xae\x5d\xbb\xb6\xa6\xb1\xc7\xcd\x6f\xb4\x5e\x1f\x96\xf7\xde\x24\x0a\xc5\xfb\x7f\x15\x85" -+"\xa3\x86\x9a\x89\x91\x08\x9e\x82\x79\x95\x72\x1b\x67\x71\x77\x64\x7f\x1f\x82\x72\x89\x7a\x86\x58\x08\xa9\xae\xa2\x95\xb3\x1b\xe0" -+"\xc8\x49\x30\x2a\x47\x42\x30\x56\x57\xa7\xb6\x6f\x1f\x73\xb1\x7f\xc3\xdb\x1a\xd4\x94\xb9\xa2\xb7\x1e\xc2\xa7\xc5\xae\xc9\x1b\xba" -+"\xb4\x78\x6c\xa2\x1f\x98\x7a\x90\x7d\x91\x6b\x08\x0e\x38\x0a\x27\x0a\xfb\x55\x1f\xfb\x45\x20\x15\xf7\xe8\x59\x06\x22\xfb\x42\x5f" -+"\xfb\x02\x74\xfb\x27\x08\x2c\x06\x9e\xf7\x1a\xd2\xf7\x31\xee\xf7\x11\x08\xfb\x9a\x06\x0e\xf8\x22\xf8\xbb\x15\x62\x72\x6e\x5c\x5b" -+"\xa3\x6e\xb4\xb4\xa7\xab\xb9\xba\x71\xa7\x61\x1f\x87\xfb\x67\x15\x5b\x6c\x6a\x59\x57\xac\x67\xba\xba\xab\xaf\xbf\xc0\x6d\xa9\x59" -+"\x1f\x91\xf8\x02\x24\x0a\xdb\xfb\xe0\x15\xc4\x6a\x9e\x6d\x56\x1a\x34\x45\x49\x2e\x2f\x46\xcb\xe0\xc5\xa6\xb3\xc2\xa1\x1e\x62\x9f" -+"\x74\xb1\xb9\x1a\xd5\xcd\xc4\xdf\xe0\xc8\x53\x3f\x5a\x79\x70\x5b\x70\x1e\x0e\xf8\x14\xf8\xbb\x15\x60\x70\x65\x4f\x49\xa7\x62\xb8" -+"\xb9\xad\xb5\xc3\xc8\x68\xb9\x5b\x1f\x9b\xf7\x2f\x24\x0a\x40\xfc\x67\x15\x58\x95\x9d\x76\xab\x1b\x9b\x9d\x92\x98\x97\x1f\xa5\xa7" -+"\x95\xab\x90\xd5\x08\x70\x70\x6d\x80\x61\x1b\x38\x4f\xcd\xe7\xeb\xcf\xd2\xe7\xbe\xb4\x77\x64\xa9\x1f\xa9\x65\x9a\x4c\x35\x1a\x43" -+"\x7f\x4b\x77\x68\x1e\x55\x6c\x55\x6b\x4f\x1b\x5e\x62\x9f\xaa\x75\x1f\x7f\x9c\x86\x9c\x85\xae\x08\x0e\xf8\x78\xf8\xb9\x15\x5d\x73" -+"\x4a\xfb\x0f\xfb\x0e\xa6\x41\xb9\xb8\xa2\xcb\xf7\x0f\xf7\x16\x72\xce\x5d\x1f\x37\xf7\x31\x24\x0a\x28\x22\x15\xfc\x77\x35\xf7\xf6" -+"\x38\xc1\x07\xce\x8a\xa9\xa1\x91\xc1\x08\xf7\x8f\x92\x15\xf3\xc0\x36\xfb\x3d\xfb\x35\x53\x34\x23\x25\x54\xe5\xf7\x3a\xe5\x9a\xc9" -+"\xab\xb4\x1f\xad\xa6\xb3\x9e\xb9\x1b\x0e\xc2\xf8\x22\xf9\x0d\x15\xf7\x6b\xfb\x6f\x05\xfc\xd6\xfb\x18\xf8\xd6\x06\xfb\x6b\xfb\x74" -+"\x05\xf7\x47\x06\xf7\xaf\xf7\xb3\xfb\xaf\xf7\xb4\x05\x0e\x8a\xae\xf7\xf6\x15\x77\xf8\xe1\x07\x53\x46\x75\x56\x8c\x4f\xc6\xe0\xf7" -+"\x04\xdf\xe0\xa1\x36\xa4\x26\xd7\x45\x3d\x0a\xf7\x45\xf7\x69\xf7\xf6\x15\xc1\xcd\xa4\xc7\x89\xc5\x50\x35\xfb\x05\x35\x37\x75\xde" -+"\x74\xf6\x3b\xcd\x32\x8d\xc7\x68\xde\x5f\xb2\x08\xf8\xe2\x06\x53\x47\x74\x54\x8d\x50\xc6\xe0\xf7\x04\xe0\xdf\xa1\x37\xa2\x25\xd8" -+"\x46\x3d\x0a\xfc\x11\xf7\x82\xf9\x14\x15\xcd\x55\xc6\x72\xc6\x8d\x36\xc4\x36\xf7\x05\x73\xe1\x73\x35\x3f\x26\x2e\x46\xc8\x89\xde" -+"\xae\xb3\xb7\x08\xfc\xe1\x07\x46\xc3\x52\xa2\x51\x89\xe1\x50\xdf\xfb\x03\xa2\x35\xa4\xe1\xd9\xf2\xe6\xce\x4e\x8d\x36\x68\x65\x5f" -+"\x08\x0e\x30\xf7\x0f\xf8\xe9\x15\x33\xfb\x11\xf8\x04\xfb\x6b\x38\xfb\x04\xf8\x0e\x58\xfb\x40\xf7\xeb\x3d\xfb\x09\x05\x0e\xe0\xae" -+"\xf8\x4c\x15\xfb\x50\x07\xf8\xb2\xcd\x3b\xfb\x46\xf8\x1d\xf7\x62\xfc\x1d\xf7\x61\xdb\xfb\x46\x05\x0e\x30\xf7\x0f\xe9\x15\xf7\xd9" -+"\xf7\xa9\xd9\xfb\x08\xf7\x40\xf7\xea\xfc\x0e\x59\xde\xfb\x05\xfc\x04\xfb\x6b\x05\x0e\xda\xae\xf8\x04\x15\x5e\x07\xf7\xff\x9a\x66" -+"\x5b\x61\x47\x71\x54\x19\xf7\x2c\xcc\xc4\xa1\xd5\xa2\xf7\x0a\xae\xf7\x19\xa8\xc4\x8f\xfb\x7f\xb2\x27\xaa\xfb\x94\xf7\x03\x08\x87" -+"\x07\xa6\x54\xb4\x4a\xb0\x5b\x08\x0e\xe3\xf8\xda\xf7\x98\x15\x56\x56\x05\x68\x68\x7e\x74\x6f\x1a\x58\xb5\x61\xbe\xac\x9e\x97\xb7" -+"\xb1\x1e\xf7\x78\xf7\x9e\xfb\x78\xf7\x98\x05\xb6\x66\x79\x96\x6b\x1b\x59\x61\x61\x5a\x71\x9a\x6f\xab\x6d\x1f\xbd\x59\x05\xfc\x3b" -+"\x06\x5d\x81\x89\x82\x76\x1f\x70\x7e\x77\x6a\x6b\x1a\x6b\x9f\x6a\xa6\x7e\x1e\x81\xa0\x96\x89\xb8\x1b\x0e\xe4\xae\xf7\xfe\x15\x6a" -+"\xf9\x11\xfb\x5c\x07\xf7\x6f\xf7\x6c\xfb\x6f\xf7\x6d\x05\xfb\x5c\x07\x0e\xe4\xae\xf8\x24\x15\xfb\x04\xf9\x13\xfb\x33\x07\xf7\x6f" -+"\xf7\x6b\xfb\x6f\xf7\x6d\x05\xfb\x35\x07\x0e\x86\xf7\xca\xf8\x46\x15\xfb\x45\xf7\x99\x25\x07\xf7\x78\xf7\x53\xfb\x78\xf7\x53\x05" -+"\x24\x07\xfb\xff\x16\xfb\x45\xd7\xf7\x45\x07\xfb\x33\x16\xfb\x45\xb8\xf7\x45\x07\xfb\x1b\x16\xfb\x45\xa3\xf7\x45\x07\x0e\xad\xf8" -+"\x2c\xf8\x7c\x15\xfb\xb3\xf7\x43\x23\x92\x07\xb0\xee\xf2\xf1\xf7\x00\xb6\xfb\x07\xba\x28\xf1\x69\xf3\x08\x84\x21\x06\xfb\xa6\x16" -+"\xfb\xb3\xd2\xf7\xb3\x07\xfb\x34\x16\xfb\xb3\xbd\xf7\xb3\x07\xfb\x21\x16\xfb\xb3\xac\xf7\xb3\x07\xfb\x13\x16\xfb\xb3\x9e\xf7\xb3" -+"\x07\x0e\x80\xae\xf8\x7f\x15\xfb\xb6\xf8\x93\x2a\x07\xf7\x89\xf7\x86\xfb\x89\xf7\x86\x05\x2a\x07\x0e\xe0\xae\xf8\xf6\x15\xf7\xba" -+"\xfb\xa4\xfb\xba\xfb\x94\xf9\xea\xf7\x8c\x05\xfd\x70\xf7\x63\x15\xf9\x12\xfb\x63\xfc\x39\x95\x05\x0e\xe0\xae\xdd\x15\xf9\xea\xf7" -+"\xab\xfd\xea\xf7\x8d\xf7\xba\xfb\x95\x05\xfb\x40\xfb\x5b\x15\xf7\x6d\xf7\x59\xf8\x39\x95\x05\x0e\xd9\xae\xf9\x44\x15\xf7\x5d\xfb" -+"\xea\xfb\x5d\xfb\xea\xf9\xe3\xf7\xea\x05\x0e\xe6\xf8\xb6\xf8\xb8\x15\x38\xfb\xb7\x07\x60\x8a\x05\x3b\x6a\x9d\xbd\x7c\x1f\x84\xa0" -+"\x8a\x95\xb7\x1a\x63\xfb\x76\x06\x8a\x2b\x94\x6b\xb1\x61\xb0\x67\xae\x80\xd8\x8d\x08\xf7\xcf\x38\x06\xf7\xf3\xf7\x7d\x05\x0e\xe7" -+"\xf8\xb5\xf7\x24\x15\xf7\xf3\xf7\x7b\xfb\xf3\xf7\x7d\x05\x38\xfb\xcf\x07\x3e\x8d\x69\x80\x65\x67\x08\x65\x61\x83\x6f\x28\x1a\xfb" -+"\x78\xb3\x97\x07\xf2\xab\xa9\xf7\x01\x1e\xb1\x06\xf7\xb7\x06\x0e\xfc\x0c\xf8\x41\xf7\xee\x15\xfb\x9e\xf8\x50\x05\xfb\x24\xfb\x14" -+"\xfc\xed\xf7\x14\xfb\x25\x07\x0e\xb7\xae\xf8\xa4\x15\xfc\x01\xf8\x1f\x2e\x96\x07\xef\xf7\x2f\xf7\x17\xe2\xf7\x44\xa9\x08\x93\x07" -+"\xfb\x3b\xa1\xfb\x22\xe9\x29\xf7\x2f\x08\x80\x2e\x06\x0e\x88\xf8\x2e\xf9\x1c\x15\xfb\x32\xfc\x0b\xfb\xb7\xf8\x0b\xfb\x30\xf7\x14" -+"\x07\xf7\x9c\xf7\xc1\xfb\x9c\xf7\xc4\x05\x22\x75\x15\xf7\x8e\xfb\xae\xfb\x8e\xfb\xad\x05\xf7\x34\xfc\x0a\xf7\x87\xf8\x0a\x07\x0e" -+"\x88\xf8\x2b\xf9\x1c\x15\xfb\x32\xfc\x08\xfb\xb7\xf8\x08\xfb\x30\xf7\x16\x07\xf7\x9d\xf7\xc0\xfb\x9d\xf7\xc5\x05\x7a\x75\x15\xf7" -+"\x8e\xfb\xaf\xfb\x8e\xfb\xac\x05\xf7\x34\xfc\x09\xf7\x87\xf8\x09\x07\x0e\xa7\xf9\x30\xf8\xe1\x15\x47\x36\x05\xfc\x15\x06\xfb\x48" -+"\xfb\x4c\x05\xfb\x13\xf7\xf0\x2f\x07\xf8\x55\xf7\x51\x05\xf7\x09\x07\xfb\x37\xf7\x2a\x15\xf7\x21\xfb\x31\xfc\x23\xfb\x3b\xc6\xd8" -+"\x05\xfc\x32\x06\xf7\x3c\xf7\x43\x05\xf8\x15\x06\x0e\xa7\xf9\x31\xf0\x15\xf7\x37\xf7\x4b\x05\xf7\x0a\x07\xfc\x54\xf7\x51\x05\x2f" -+"\xfb\xf1\xfb\x13\x07\xf7\x48\xfb\x4e\x05\xf8\x16\x06\xd0\x56\x15\x4f\xd3\x05\xfc\x16\x06\xfb\x3c\xf7\x45\x05\xf8\x33\x06\x50\xd7" -+"\xf8\x22\xfb\x3b\x05\x0e\xfb\x23\xf7\xaf\xf9\x1f\x15\x22\xfb\x8c\xfb\xe9\x07\xdd\x3a\x05\xf7\x3a\x7a\x06\xdf\x4c\xf7\xba\xf7\xab" -+"\x05\xfb\xf6\xfb\x5b\x15\xec\xfb\x8c\xf7\xba\xf7\x8c\xd9\x07\xf7\x97\xfb\x77\x05\x0e\xfb\x23\xf7\xaf\xb7\x15\xf8\x0e\xf7\xd9\xfb" -+"\xba\xf7\xa9\x37\x4c\x05\x7a\xfb\x3a\x07\x39\x3b\x05\xfb\xe5\xf7\x8c\x07\xa3\xf7\xd4\x15\xec\x07\xf7\x97\xfb\x83\xfb\x97\xfb\x75" -+"\x05\xdb\xfb\x8c\xf7\xb3\x07\x0e\xae\xf8\xcf\xf8\xfa\x15\x30\xfc\xa6\x07\xc9\xfb\x2f\x47\xfb\x18\xcf\x4a\x05\xf8\x62\x2b\x06\xf7" -+"\xa7\xf7\x9f\x05\xfb\x8e\xf7\x6b\x15\xf7\x4e\xfb\x51\xfb\x54\xfb\x4a\x05\xbd\xfc\x9d\x07\xce\xf7\x18\x55\xf7\x18\x05\xf8\x96\x06" -+"\x0e\xae\xf8\xcf\xd6\x15\xf7\xa1\xf7\xa3\xfb\xa7\xf7\x9f\x05\x2c\xfc\x62\x07\x47\x49\xcf\xfb\x17\x47\xfb\x30\x05\xf8\xac\x06\x9e" -+"\x6a\x15\xc4\xfc\x96\x07\xc1\xf7\x18\x48\xf7\x17\x05\xf8\x9d\xbe\x06\xf7\x54\xfb\x4a\x05\x0e\x3c\xf8\x19\xf8\xb2\x15\xf7\x0d\x07" -+"\xf7\xcb\xfb\xd1\xfb\xcb\xfb\xd1\x05\xf7\x0c\xfb\xf6\x07\x8f\x69\x96\x77\xa3\x75\x08\x61\xba\xf7\x01\x6d\xf4\x1b\xf2\xec\xaa\xc2" -+"\xcd\x1f\xd9\xcb\xb9\xeb\xee\x1a\xe1\x69\xde\x4d\xcb\x1e\xd2\x46\x21\xb3\xfb\x0b\x1b\x2a\x22\x70\x66\x5a\x1f\x6c\x74\x7e\x74\x86" -+"\x65\x08\x0e\xf6\xf8\x94\xf7\xf6\x15\xfb\x0d\xf7\x46\x05\xfb\xf8\x06\xf7\x16\xfb\x51\xfb\x16\xfb\x4c\x05\xf7\xf8\x06\xf7\x0d\xf7" -+"\x3f\x05\xf7\x6f\x06\x73\x73\x81\x71\x68\x1a\x67\x96\x70\xa2\x74\x1e\xbf\xf5\xc0\xc1\xd6\xa3\x46\x9c\x48\xd2\x5f\xf0\x08\x73\x6f" -+"\x81\x70\x67\x1a\x69\x95\x72\xa3\x6f\x1e\xfd\x1c\x3e\x0a\x5b\x06\x74\xf7\x2e\x15\xbd\x2e\x0a\x59\x06\x76\x3e\x0a\x59\x06\x75\xf7" -+"\x2e\x15\xbc\x2e\x0a\x5a\x06\xfb\x89\x73\x15\xbc\x06\x26\xfb\x2c\x05\x5b\x06\xf7\x4a\xf7\x2c\x15\xbd\x06\x26\xfb\x2c\x05\x58\x06" -+"\xf7\x4c\xf7\x2c\x15\xbc\x06\x25\xfb\x2c\x05\x5a\x06\xf7\x4b\xf7\x2c\x15\xbb\x06\x25\xfb\x2c\x05\x5b\x06\x0e\x47\xf8\x7e\xf7\x9f" -+"\x15\x73\x6e\xf7\x11\x22\x05\x67\x86\x63\x5e\x68\x1a\x94\xa5\x9c\x8e\xa2\x1b\xbc\xc1\x82\x7c\xb7\x1f\x93\x97\x05\x68\xcc\x7a\xc5" -+"\xbf\x1a\x92\x8c\x96\x8c\x99\x1e\x68\x83\x6b\x62\x87\x5f\x08\xfb\xd4\xcc\x15\x96\xcd\xb6\x8e\xc5\x1b\xfb\x97\xf7\x6e\x3c\x88\x55" -+"\x87\x67\x84\x19\xf7\x44\xf7\x66\x15\x6d\x95\x24\x92\x68\x1e\xf7\x97\xfb\x6d\x05\x81\xbc\x85\xcb\xb6\x1a\x96\x07\x0e\xa5\xf8\x87" -+"\xf7\xfc\x15\x69\xf7\x35\x07\x7e\x78\x85\x7a\x74\x1a\x71\x90\x7c\x99\x7a\x1e\xa3\xb8\xd5\xc4\xd3\xa9\x08\x97\x07\x35\xad\x65\xa8" -+"\x5d\xce\x08\x7d\x79\x87\x7f\x71\x1a\x73\x8f\x7a\x99\x71\x1e\xfb\xb1\xfb\x2b\x15\xc0\xc5\xa3\xa1\xba\xb1\x08\xfb\xeb\x06\x5b\x61" -+"\x5c\x5d\x72\x6d\x08\x8a\xf7\xa6\x15\xbb\x56\xc1\x54\x9e\x7c\x08\xf7\xeb\x06\x66\xa8\x57\xbf\x67\xb5\x08\x0e\x47\xf8\x7e\xf8\x3d" -+"\x15\xf7\x11\xf4\x8f\x5f\xab\x61\xae\x83\x19\x8a\x99\x8a\x96\x92\x1a\xbd\x9d\xc9\xad\xca\x1e\x83\x97\x05\x7b\x5d\x59\x82\x60\x1b" -+"\x6f\x79\x8e\x95\x6f\x1f\x68\xb3\x5e\xaf\x86\x1e\xfb\x11\x22\x05\xfc\x44\xfb\x63\x15\xb0\x84\xc1\x87\xd9\x89\xf7\x97\xf7\x6d\x18" -+"\x48\x8c\x73\x8d\x3f\x97\x08\xf7\x43\xfb\x67\x15\x96\x07\xb6\x91\xcc\x95\xbc\x1e\xfb\x97\xfb\x6e\x05\x84\x68\x81\x24\x6d\x1a\x0e" -+"\xbc\xf7\xbb\xf9\x5b\x15\x6d\x58\x7e\x61\x5c\x1a\x5f\x91\x74\xa0\x61\x1e\x95\x6a\x7d\x8e\x7a\x1b\x46\x55\x75\x56\x51\x1f\xf7\x99" -+"\xfb\x6e\x05\xb6\xbd\xc1\xa2\xbd\x1b\xb2\xbe\x73\x61\xbc\x1f\xf1\x34\x47\x80\x5b\x6e\x44\x42\x19\x9c\xdc\xb6\x90\xc6\x1b\xcd\xbe" -+"\x84\x7c\xbd\x1f\x76\xb6\x7e\xad\x7f\xb7\x08\x81\xb0\x7f\xe9\xb5\x1a\x90\x8c\x97\x8c\x9b\x1e\x8c\x8e\x8b\x90\x92\x1a\x5c\x50\x6d" -+"\x44\x55\x1a\x8c\x77\x26\xe0\x05\x42\xc9\x75\xb1\xcb\x1a\xb6\x96\xb1\xa6\xb7\x1e\x0e\xf7\x14\xae\xf8\xb8\x15\x9b\x25\xbe\x46\xdb" -+"\x6b\x3b\x6e\x53\x3e\x80\x2a\x08\xf7\xe6\x06\x93\xc6\xa9\xc3\xb5\xb0\x08\xa2\xa7\xbe\x97\xcf\x1b\xf7\x1a\x06\x5d\x57\x79\x57\x82" -+"\x25\xe5\xf7\x04\xeb\xda\xe0\xaa\x25\xb6\x36\xd1\x37\xf7\x02\x8d\x37\xa8\x3a\xb5\x62\x08\xfb\x18\x06\x40\x8a\x5e\x96\x69\xa7\x64" -+"\xac\x6d\xc6\x85\xc3\x08\x0e\xbc\xf8\xbd\xf7\x59\x15\x6e\xbc\x80\xad\xb7\x1a\xc6\xa5\xb6\xd2\xc7\x1e\xf0\xe0\x8a\x78\x05\x55\xa9" -+"\x43\xba\x50\x1e\x89\xa3\x8b\x95\x98\x1a\xf7\x02\xa4\xf7\x00\xb6\xd9\x1e\x7b\x56\x5a\x84\x4a\x1b\x51\x64\x90\x9c\x34\x1f\xd3\x42" -+"\xba\x6e\xcf\x81\x25\x33\x18\x62\x5b\x56\x72\x65\x1b\x59\x55\xa2\xb6\x59\x1f\xfb\x98\xfb\x6f\x05\x57\xc6\xc0\x75\xd0\x1b\x9b\x99" -+"\x8e\x96\xac\x1f\x77\x62\x84\x70\x63\x1a\x5a\x94\x6c\xad\x4d\x1e\x0e\x83\xf9\xb0\xf7\xf4\x15\x30\xa3\x64\xaf\x69\xe4\x7d\xb1\x87" -+"\x92\x7c\x98\x08\x97\x7e\x79\x92\x79\x1b\x63\x6b\x6c\x64\x79\x93\x78\x96\x7e\x1f\xac\x67\xb0\x79\xf7\x0a\x65\x98\x87\x9b\x86\x98" -+"\x86\xfb\x52\x92\x33\x99\xfb\x44\xbf\x08\x9e\x49\x6b\x91\x6a\x1b\x49\x62\x63\x4a\x4b\xb4\x63\xcc\xac\xab\x91\x9e\xce\x1f\xf7\x45" -+"\xbf\xe6\x9a\xf7\x4e\x91\x2d\x6c\x77\x84\x61\x7a\x08\x50\x73\x69\x65\x62\x1a\x66\xab\x6c\xb3\x9d\x9d\x92\x97\x98\x1e\x9a\x98\x8f" -+"\x92\x99\xb2\xad\xe4\xb2\xae\xe6\xa3\x08\x0e\xad\xf9\xda\xf7\xf2\x15\x28\xb4\x21\xf7\x04\x82\xd4\x08\x5a\x6b\x70\x5b\x57\x1a\x66" -+"\x9e\x6f\xb6\x70\x1e\xfb\x09\x8d\x50\x9f\x45\xcb\x08\xc9\x43\x70\x99\x5a\x1b\x69\x70\x80\x76\x75\x1f\x7a\x7a\x82\x7a\x7b\x5f\x7b" -+"\x62\x83\x83\x6c\x86\xaa\x85\x95\x81\x99\x62\x98\x66\x95\x75\x97\x7d\x08\x70\xa2\xab\x7c\xab\x1b\xb8\xb2\x9e\xba\xc1\x1f\xbd\xb6" -+"\x90\x8f\xa6\x99\x08\xa0\xb4\xc6\x98\xc2\x1b\xa1\x06\x5d\x6e\x7c\x72\x63\x1a\x57\xa5\x5e\xbc\x6a\x1e\x94\xd4\xf3\xf7\x01\xf0\xb6" -+"\x08\x0e\xe3\xdb\xf8\xb2\x15\x6f\x7b\x81\x79\x82\x90\x7d\x94\x7d\x1f\xc6\x31\x05\x9b\x72\x8d\x85\x82\x1a\x80\x8b\x8a\x7b\x71\x1e" -+"\x4d\x27\x05\x7d\x78\x8b\x8b\x81\x1a\x79\x9b\x7e\xa0\x1e\xf7\x88\x06\xb7\x8f\x8d\xae\xa9\x1f\xbb\xc6\xab\xb5\x99\x92\xbe\x8a\x19" -+"\xdc\x06\xa1\x96\x82\x7b\x82\x89\x84\x7e\x70\x1f\x86\x82\x89\x81\x85\x1a\x78\xac\x77\xaa\x9e\x9c\x94\xa1\xa3\x1e\xf6\xf0\x05\x9f" -+"\x9e\x94\x9b\x9d\x1a\x9e\x81\x9e\x7a\x9a\x1e\xfb\x0d\xf7\x02\x05\x97\x7e\x7a\x92\x7b\x1b\x64\x70\x7b\x75\x83\x8d\x84\x8e\x85\x1f" -+"\x9c\x6c\x8b\x8a\x7e\x1a\x79\x81\x84\x71\x1e\x39\x06\x5a\x8c\x81\x90\x68\xb5\x55\xcd\x18\x75\xa6\x82\x8f\x69\x89\x08\x0e\xf7\x17" -+"\xf7\x14\xf8\xfb\x15\x49\x70\x76\x56\x7a\x8d\x81\x94\x6f\x1f\xa9\x2d\x05\x95\x67\x8c\x86\x84\x1a\x84\x88\x7f\x86\x7c\x1e\x87\x80" -+"\x88\x82\x88\x82\x70\x31\x18\x86\x7b\x89\x7e\x7d\x1a\x71\x94\x76\x9a\x7f\x1e\x80\x99\x9b\x88\xb4\x1b\xf7\x70\x06\xd5\x8a\xa0\x97" -+"\xaf\xcc\xb2\xd0\x18\xc4\xab\x96\x94\xb2\x1b\xa0\x98\x81\x79\x83\x89\x7f\x87\x7d\x1f\x82\x6d\x85\x69\x7e\x1a\x6d\xa7\x70\xaa\x9f" -+"\x99\x93\xab\xaa\x1e\xf7\x24\xf7\x24\x05\xbb\xbe\x8b\x8b\xa0\x1a\xa0\x8a\x8d\x62\xb4\x1e\xfb\x28\xf7\x2b\x05\xaa\x6d\x7c\x94\x75" -+"\x1b\x68\x74\x71\x65\x7e\x8d\x7d\x8e\x7e\x1f\x9a\x55\x8b\x8b\x7f\x1a\x79\x7d\x82\x71\x6d\x7c\x97\xb6\x74\x1e\x60\xd9\x05\xcc\x68" -+"\x75\x98\x3d\x1b\x0e\xda\xf8\xc9\xf8\xe4\x15\xd0\x23\xce\x45\xf0\x41\xfb\x0c\x30\x67\x66\x3a\xfb\x09\x08\xc9\x06\xc8\xeb\xd9\xd5" -+"\xf7\x0a\xd6\xfb\x0b\xd8\x33\xe0\x59\xe1\x08\xfb\x60\x16\x9d\x65\xc3\x3f\xba\x5b\x08\xfc\x92\x5e\xf9\x0f\x06\x47\xbc\x3b\xe2\x61" -+"\xd2\x08\xfc\x51\xfb\xe2\x15\xf8\x92\x06\x6b\x71\x4e\x39\x71\x58\x08\xc3\x06\xb9\xd8\xd5\xda\xcf\xbb\x08\xfd\x0f\x06\x0e\xfb\x8e" -+"\x8b\x1c\x05\x46\x8b\x06\x8b\x0a\x8b\x0b\xf9\xa8\x14\xf9\xdb\x15\x9f\x13\x00\x20\x02\x00\x01\x00\x05\x00\x0c\x00\x12\x00\x16\x00" -+"\x1e\x00\x26\x00\x2b\x00\x30\x00\x37\x00\x3e\x00\x43\x00\x50\x00\x5a\x00\x63\x00\x69\x00\x6e\x00\x79\x00\x84\x00\x90\x00\x9d\x00" -+"\xa9\x00\xb3\x00\xba\x00\xc0\x00\xcc\x00\xd5\x00\xdc\x00\xed\x00\xfc\x01\x05\x01\x0c\x01\x11\xf9\x47\x15\x0b\x15\xfb\x5e\xfb\x37" -+"\x30\x0a\x15\xfb\x5f\xfb\x36\x0b\xf9\x55\x15\x0b\x15\xfb\x5e\xfb\x37\x2a\x0a\x0b\xfb\x35\xf7\x38\xfb\x55\x1f\x0b\xfb\x33\xfb\x5a" -+"\x0b\x3f\x0a\xf7\x37\x0b\x3c\x0a\xd9\xa9\xda\x2c\x0a\xf8\x24\xf9\x56\x24\x0a\x0b\x26\x0a\x3a\x0a\x0b\x2d\x0a\xf7\x5b\xf7\x5b\xf7" -+"\x35\xf7\x35\xf7\x5b\x0b\xc1\xc6\x1e\xd3\xcc\xde\xaf\xef\x1b\x0e\x26\x0a\xfb\x5d\xf7\x34\xfb\x35\x0b\x06\xf3\xfb\x2e\x05\x0b\x1f" -+"\xd2\x4a\xb1\x0b\x32\x0a\x38\x2d\x37\x0a\xda\xa9\xd9\x2c\x0a\x34\x0a\x38\x2d\x37\x0a\xda\xa9\xd9\x2c\x0a\x2a\x0a\x6a\x04\xd5\xdd" -+"\x6b\x57\xc4\x2f\x0a\x0b\xf8\x24\xf9\x56\x22\x0a\x2b\x0a\xf7\x57\x25\x0a\x0b\x3a\x0a\x6a\x04\xd5\xde\x6b\x57\xc3\x2f\x0a\x0b\x22" -+"\x0a\x2b\x0a\x27\x0a\xfb\x55\x1f\x0b\x39\x0a\xf7\x57\x25\x0a\x0b\x1a\xfb\x49\x3c\x0a\x0b\xf8\x24\xf9\x56\x15\xfb\x5e\xfb\x37\x2b" -+"\x0a\x0b\x22\x0a\xfb\x32\xfb\x5b\x3b\x0a\x0b\x3b\x0a\xf7\x57\x25\x0a\x0b\xfb\x5d\xf7\x34\xfb\x35\xf7\x5c\xf7\x5a\xf7\x35\xf7\x35" -+"\xf7\x5b\x0b\xfb\x27\xfb\x26\xfb\x48\xfb\x4a\xfb\x25\xf7\x26\xf7\x4b\x0b\xe9\x89\x4e\xaf\x35\xb6\x66\x08\x0e\xf7\x2e\x15\xbb\x2e" -+"\x0a\x0b\xf7\x58\xfb\x35\x0b", 24967 -+}; -diff -up texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/fonts/Makefile.am.301 texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/fonts/Makefile.am ---- texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/fonts/Makefile.am.301 2023-01-17 15:53:51.705205323 -0500 -+++ texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/fonts/Makefile.am 2023-01-17 15:53:51.705205323 -0500 -@@ -0,0 +1,19 @@ -+noinst_LTLIBRARIES = libbase14fonts.la -+ -+libbase14fonts_la_SOURCES = \ -+ Base14Fonts.cpp \ -+ Base14Fonts.hpp \ -+ Dingbats.cff.cpp \ -+ NimbusMonoPS-Bold.cff.cpp \ -+ NimbusMonoPS-BoldItalic.cff.cpp \ -+ NimbusMonoPS-Italic.cff.cpp \ -+ NimbusMonoPS-Regular.cff.cpp \ -+ NimbusRoman-Bold.cff.cpp \ -+ NimbusRoman-BoldItalic.cff.cpp \ -+ NimbusRoman-Italic.cff.cpp \ -+ NimbusRoman-Regular.cff.cpp \ -+ NimbusSans-Bold.cff.cpp \ -+ NimbusSans-BoldItalic.cff.cpp \ -+ NimbusSans-Italic.cff.cpp \ -+ NimbusSans-Regular.cff.cpp \ -+ StandardSymbolsPS.cff.cpp -diff -up texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/fonts/Makefile.in.301 texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/fonts/Makefile.in ---- texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/fonts/Makefile.in.301 2023-01-17 15:53:51.706205334 -0500 -+++ texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/fonts/Makefile.in 2023-01-17 15:53:51.706205334 -0500 -@@ -0,0 +1,738 @@ -+# Makefile.in generated by automake 1.16.5 from Makefile.am. -+# @configure_input@ -+ -+# Copyright (C) 1994-2021 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 = dvisvgm-src/src/fonts -+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -+am__aclocal_m4_deps = $(top_srcdir)/../../m4/ax_cxx_compile_stdcxx.m4 \ -+ $(top_srcdir)/../../m4/kpse-common.m4 \ -+ $(top_srcdir)/../../m4/kpse-cxx-hack.m4 \ -+ $(top_srcdir)/../../m4/kpse-freetype2-flags.m4 \ -+ $(top_srcdir)/../../m4/kpse-kpathsea-flags.m4 \ -+ $(top_srcdir)/../../m4/kpse-warnings.m4 \ -+ $(top_srcdir)/../../m4/kpse-win32.m4 \ -+ $(top_srcdir)/../../m4/kpse-zlib-flags.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)/version.ac \ -+ $(top_srcdir)/configure.ac -+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)/config.h -+CONFIG_CLEAN_FILES = -+CONFIG_CLEAN_VPATH_FILES = -+LTLIBRARIES = $(noinst_LTLIBRARIES) -+libbase14fonts_la_LIBADD = -+am_libbase14fonts_la_OBJECTS = Base14Fonts.lo Dingbats.cff.lo \ -+ NimbusMonoPS-Bold.cff.lo NimbusMonoPS-BoldItalic.cff.lo \ -+ NimbusMonoPS-Italic.cff.lo NimbusMonoPS-Regular.cff.lo \ -+ NimbusRoman-Bold.cff.lo NimbusRoman-BoldItalic.cff.lo \ -+ NimbusRoman-Italic.cff.lo NimbusRoman-Regular.cff.lo \ -+ NimbusSans-Bold.cff.lo NimbusSans-BoldItalic.cff.lo \ -+ NimbusSans-Italic.cff.lo NimbusSans-Regular.cff.lo \ -+ StandardSymbolsPS.cff.lo -+libbase14fonts_la_OBJECTS = $(am_libbase14fonts_la_OBJECTS) -+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_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@ -I$(top_builddir) -+depcomp = $(SHELL) $(top_srcdir)/../../build-aux/depcomp -+am__maybe_remake_depfiles = depfiles -+am__depfiles_remade = ./$(DEPDIR)/Base14Fonts.Plo \ -+ ./$(DEPDIR)/Dingbats.cff.Plo \ -+ ./$(DEPDIR)/NimbusMonoPS-Bold.cff.Plo \ -+ ./$(DEPDIR)/NimbusMonoPS-BoldItalic.cff.Plo \ -+ ./$(DEPDIR)/NimbusMonoPS-Italic.cff.Plo \ -+ ./$(DEPDIR)/NimbusMonoPS-Regular.cff.Plo \ -+ ./$(DEPDIR)/NimbusRoman-Bold.cff.Plo \ -+ ./$(DEPDIR)/NimbusRoman-BoldItalic.cff.Plo \ -+ ./$(DEPDIR)/NimbusRoman-Italic.cff.Plo \ -+ ./$(DEPDIR)/NimbusRoman-Regular.cff.Plo \ -+ ./$(DEPDIR)/NimbusSans-Bold.cff.Plo \ -+ ./$(DEPDIR)/NimbusSans-BoldItalic.cff.Plo \ -+ ./$(DEPDIR)/NimbusSans-Italic.cff.Plo \ -+ ./$(DEPDIR)/NimbusSans-Regular.cff.Plo \ -+ ./$(DEPDIR)/StandardSymbolsPS.cff.Plo -+am__mv = mv -f -+CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \ -+ $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -+LTCXXCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) \ -+ $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) \ -+ $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \ -+ $(AM_CXXFLAGS) $(CXXFLAGS) -+AM_V_CXX = $(am__v_CXX_@AM_V@) -+am__v_CXX_ = $(am__v_CXX_@AM_DEFAULT_V@) -+am__v_CXX_0 = @echo " CXX " $@; -+am__v_CXX_1 = -+CXXLINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) \ -+ $(LIBTOOLFLAGS) --mode=link $(CXXLD) $(AM_CXXFLAGS) \ -+ $(CXXFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@ -+AM_V_CXXLD = $(am__v_CXXLD_@AM_V@) -+am__v_CXXLD_ = $(am__v_CXXLD_@AM_DEFAULT_V@) -+am__v_CXXLD_0 = @echo " CXXLD " $@; -+am__v_CXXLD_1 = -+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 = $(libbase14fonts_la_SOURCES) -+DIST_SOURCES = $(libbase14fonts_la_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)` -+am__DIST_COMMON = $(srcdir)/Makefile.in \ -+ $(top_srcdir)/../../build-aux/depcomp -+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) -+ACLOCAL = @ACLOCAL@ -+AMTAR = @AMTAR@ -+AM_CPPFLAGS = @AM_CPPFLAGS@ -+AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ -+AM_LDFLAGS = @AM_LDFLAGS@ -+AR = @AR@ -+AS = @AS@ -+AUTOCONF = @AUTOCONF@ -+AUTOHEADER = @AUTOHEADER@ -+AUTOMAKE = @AUTOMAKE@ -+AWK = @AWK@ -+BROTLI_CFLAGS = @BROTLI_CFLAGS@ -+BROTLI_LIBS = @BROTLI_LIBS@ -+CC = @CC@ -+CCDEPMODE = @CCDEPMODE@ -+CFLAGS = @CFLAGS@ -+CODE_COVERAGE_RULES = @CODE_COVERAGE_RULES@ -+CPP = @CPP@ -+CPPFLAGS = @CPPFLAGS@ -+CSCOPE = @CSCOPE@ -+CTAGS = @CTAGS@ -+CXX = @CXX@ -+CXXCPP = @CXXCPP@ -+CXXDEPMODE = @CXXDEPMODE@ -+CXXFLAGS = @CXXFLAGS@ -+CXXLD = @CXXLD@ -+CYGPATH_W = @CYGPATH_W@ -+DATE = @DATE@ -+DEFS = @DEFS@ -+DEPDIR = @DEPDIR@ -+DLLTOOL = @DLLTOOL@ -+DSYMUTIL = @DSYMUTIL@ -+DUMPBIN = @DUMPBIN@ -+DVISVGM_TREE = @DVISVGM_TREE@ -+ECHO_C = @ECHO_C@ -+ECHO_N = @ECHO_N@ -+ECHO_T = @ECHO_T@ -+EGREP = @EGREP@ -+ETAGS = @ETAGS@ -+EXEEXT = @EXEEXT@ -+FGREP = @FGREP@ -+FREETYPE2_DEPEND = @FREETYPE2_DEPEND@ -+FREETYPE2_INCLUDES = @FREETYPE2_INCLUDES@ -+FREETYPE2_LIBS = @FREETYPE2_LIBS@ -+FT2_CONFIG = @FT2_CONFIG@ -+GREP = @GREP@ -+HAVE_CXX11 = @HAVE_CXX11@ -+INSTALL = @INSTALL@ -+INSTALL_DATA = @INSTALL_DATA@ -+INSTALL_PROGRAM = @INSTALL_PROGRAM@ -+INSTALL_SCRIPT = @INSTALL_SCRIPT@ -+INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ -+KPATHSEA_DEPEND = @KPATHSEA_DEPEND@ -+KPATHSEA_INCLUDES = @KPATHSEA_INCLUDES@ -+KPATHSEA_LIBS = @KPATHSEA_LIBS@ -+LD = @LD@ -+LDFLAGS = @LDFLAGS@ -+LIBGS_INCLUDES = @LIBGS_INCLUDES@ -+LIBGS_LIBS = @LIBGS_LIBS@ -+LIBOBJS = @LIBOBJS@ -+LIBS = @LIBS@ -+LIBTOOL = @LIBTOOL@ -+LIPO = @LIPO@ -+LN_S = @LN_S@ -+LTLIBOBJS = @LTLIBOBJS@ -+LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@ -+MAINT = @MAINT@ -+MAKEINFO = @MAKEINFO@ -+MANIFEST_TOOL = @MANIFEST_TOOL@ -+MKDIR_P = @MKDIR_P@ -+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@ -+PKG_CONFIG = @PKG_CONFIG@ -+RANLIB = @RANLIB@ -+SED = @SED@ -+SET_MAKE = @SET_MAKE@ -+SHELL = @SHELL@ -+STRIP = @STRIP@ -+VERSION = @VERSION@ -+WARNING_CFLAGS = @WARNING_CFLAGS@ -+WARNING_CXXFLAGS = @WARNING_CXXFLAGS@ -+WOFF2_CFLAGS = @WOFF2_CFLAGS@ -+WOFF2_LIBS = @WOFF2_LIBS@ -+ZLIB_DEPEND = @ZLIB_DEPEND@ -+ZLIB_INCLUDES = @ZLIB_INCLUDES@ -+ZLIB_LIBS = @ZLIB_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@ -+dvisvgm_srcdir = @dvisvgm_srcdir@ -+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@ -+runstatedir = @runstatedir@ -+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@ -+noinst_LTLIBRARIES = libbase14fonts.la -+libbase14fonts_la_SOURCES = \ -+ Base14Fonts.cpp \ -+ Base14Fonts.hpp \ -+ Dingbats.cff.cpp \ -+ NimbusMonoPS-Bold.cff.cpp \ -+ NimbusMonoPS-BoldItalic.cff.cpp \ -+ NimbusMonoPS-Italic.cff.cpp \ -+ NimbusMonoPS-Regular.cff.cpp \ -+ NimbusRoman-Bold.cff.cpp \ -+ NimbusRoman-BoldItalic.cff.cpp \ -+ NimbusRoman-Italic.cff.cpp \ -+ NimbusRoman-Regular.cff.cpp \ -+ NimbusSans-Bold.cff.cpp \ -+ NimbusSans-BoldItalic.cff.cpp \ -+ NimbusSans-Italic.cff.cpp \ -+ NimbusSans-Regular.cff.cpp \ -+ StandardSymbolsPS.cff.cpp -+ -+all: all-am -+ -+.SUFFIXES: -+.SUFFIXES: .cpp .lo .o .obj -+$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(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) --foreign dvisvgm-src/src/fonts/Makefile'; \ -+ $(am__cd) $(top_srcdir) && \ -+ $(AUTOMAKE) --foreign dvisvgm-src/src/fonts/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__maybe_remake_depfiles)'; \ -+ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \ -+ esac; -+ -+$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) -+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -+ -+$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps) -+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -+$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps) -+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -+$(am__aclocal_m4_deps): -+ -+clean-noinstLTLIBRARIES: -+ -test -z "$(noinst_LTLIBRARIES)" || rm -f $(noinst_LTLIBRARIES) -+ @list='$(noinst_LTLIBRARIES)'; \ -+ locs=`for p in $$list; do echo $$p; done | \ -+ sed 's|^[^/]*$$|.|; s|/[^/]*$$||; s|$$|/so_locations|' | \ -+ sort -u`; \ -+ test -z "$$locs" || { \ -+ echo rm -f $${locs}; \ -+ rm -f $${locs}; \ -+ } -+ -+libbase14fonts.la: $(libbase14fonts_la_OBJECTS) $(libbase14fonts_la_DEPENDENCIES) $(EXTRA_libbase14fonts_la_DEPENDENCIES) -+ $(AM_V_CXXLD)$(CXXLINK) $(libbase14fonts_la_OBJECTS) $(libbase14fonts_la_LIBADD) $(LIBS) -+ -+mostlyclean-compile: -+ -rm -f *.$(OBJEXT) -+ -+distclean-compile: -+ -rm -f *.tab.c -+ -+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/Base14Fonts.Plo@am__quote@ # am--include-marker -+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/Dingbats.cff.Plo@am__quote@ # am--include-marker -+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/NimbusMonoPS-Bold.cff.Plo@am__quote@ # am--include-marker -+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/NimbusMonoPS-BoldItalic.cff.Plo@am__quote@ # am--include-marker -+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/NimbusMonoPS-Italic.cff.Plo@am__quote@ # am--include-marker -+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/NimbusMonoPS-Regular.cff.Plo@am__quote@ # am--include-marker -+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/NimbusRoman-Bold.cff.Plo@am__quote@ # am--include-marker -+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/NimbusRoman-BoldItalic.cff.Plo@am__quote@ # am--include-marker -+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/NimbusRoman-Italic.cff.Plo@am__quote@ # am--include-marker -+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/NimbusRoman-Regular.cff.Plo@am__quote@ # am--include-marker -+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/NimbusSans-Bold.cff.Plo@am__quote@ # am--include-marker -+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/NimbusSans-BoldItalic.cff.Plo@am__quote@ # am--include-marker -+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/NimbusSans-Italic.cff.Plo@am__quote@ # am--include-marker -+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/NimbusSans-Regular.cff.Plo@am__quote@ # am--include-marker -+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/StandardSymbolsPS.cff.Plo@am__quote@ # am--include-marker -+ -+$(am__depfiles_remade): -+ @$(MKDIR_P) $(@D) -+ @echo '# dummy' >$@-t && $(am__mv) $@-t $@ -+ -+am--depfiles: $(am__depfiles_remade) -+ -+.cpp.o: -+@am__fastdepCXX_TRUE@ $(AM_V_CXX)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.o$$||'`;\ -+@am__fastdepCXX_TRUE@ $(CXXCOMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ $< &&\ -+@am__fastdepCXX_TRUE@ $(am__mv) $$depbase.Tpo $$depbase.Po -+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ -+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -+@am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(CXXCOMPILE) -c -o $@ $< -+ -+.cpp.obj: -+@am__fastdepCXX_TRUE@ $(AM_V_CXX)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.obj$$||'`;\ -+@am__fastdepCXX_TRUE@ $(CXXCOMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ `$(CYGPATH_W) '$<'` &&\ -+@am__fastdepCXX_TRUE@ $(am__mv) $$depbase.Tpo $$depbase.Po -+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ -+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -+@am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(CXXCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'` -+ -+.cpp.lo: -+@am__fastdepCXX_TRUE@ $(AM_V_CXX)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.lo$$||'`;\ -+@am__fastdepCXX_TRUE@ $(LTCXXCOMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ $< &&\ -+@am__fastdepCXX_TRUE@ $(am__mv) $$depbase.Tpo $$depbase.Plo -+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@ -+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -+@am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(LTCXXCOMPILE) -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: $(BUILT_SOURCES) -+ $(MAKE) $(AM_MAKEFLAGS) distdir-am -+ -+distdir-am: $(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 $(LTLIBRARIES) -+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-noinstLTLIBRARIES \ -+ mostlyclean-am -+ -+distclean: distclean-am -+ -rm -f ./$(DEPDIR)/Base14Fonts.Plo -+ -rm -f ./$(DEPDIR)/Dingbats.cff.Plo -+ -rm -f ./$(DEPDIR)/NimbusMonoPS-Bold.cff.Plo -+ -rm -f ./$(DEPDIR)/NimbusMonoPS-BoldItalic.cff.Plo -+ -rm -f ./$(DEPDIR)/NimbusMonoPS-Italic.cff.Plo -+ -rm -f ./$(DEPDIR)/NimbusMonoPS-Regular.cff.Plo -+ -rm -f ./$(DEPDIR)/NimbusRoman-Bold.cff.Plo -+ -rm -f ./$(DEPDIR)/NimbusRoman-BoldItalic.cff.Plo -+ -rm -f ./$(DEPDIR)/NimbusRoman-Italic.cff.Plo -+ -rm -f ./$(DEPDIR)/NimbusRoman-Regular.cff.Plo -+ -rm -f ./$(DEPDIR)/NimbusSans-Bold.cff.Plo -+ -rm -f ./$(DEPDIR)/NimbusSans-BoldItalic.cff.Plo -+ -rm -f ./$(DEPDIR)/NimbusSans-Italic.cff.Plo -+ -rm -f ./$(DEPDIR)/NimbusSans-Regular.cff.Plo -+ -rm -f ./$(DEPDIR)/StandardSymbolsPS.cff.Plo -+ -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 -f ./$(DEPDIR)/Base14Fonts.Plo -+ -rm -f ./$(DEPDIR)/Dingbats.cff.Plo -+ -rm -f ./$(DEPDIR)/NimbusMonoPS-Bold.cff.Plo -+ -rm -f ./$(DEPDIR)/NimbusMonoPS-BoldItalic.cff.Plo -+ -rm -f ./$(DEPDIR)/NimbusMonoPS-Italic.cff.Plo -+ -rm -f ./$(DEPDIR)/NimbusMonoPS-Regular.cff.Plo -+ -rm -f ./$(DEPDIR)/NimbusRoman-Bold.cff.Plo -+ -rm -f ./$(DEPDIR)/NimbusRoman-BoldItalic.cff.Plo -+ -rm -f ./$(DEPDIR)/NimbusRoman-Italic.cff.Plo -+ -rm -f ./$(DEPDIR)/NimbusRoman-Regular.cff.Plo -+ -rm -f ./$(DEPDIR)/NimbusSans-Bold.cff.Plo -+ -rm -f ./$(DEPDIR)/NimbusSans-BoldItalic.cff.Plo -+ -rm -f ./$(DEPDIR)/NimbusSans-Italic.cff.Plo -+ -rm -f ./$(DEPDIR)/NimbusSans-Regular.cff.Plo -+ -rm -f ./$(DEPDIR)/StandardSymbolsPS.cff.Plo -+ -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 am--depfiles check check-am clean \ -+ clean-generic clean-libtool clean-noinstLTLIBRARIES \ -+ 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 -+ -+.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: -diff -up texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/fonts/NimbusMonoPS-Bold.cff.cpp.301 texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/fonts/NimbusMonoPS-Bold.cff.cpp ---- texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/fonts/NimbusMonoPS-Bold.cff.cpp.301 2023-01-17 15:53:51.706205334 -0500 -+++ texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/fonts/NimbusMonoPS-Bold.cff.cpp 2023-01-17 15:53:51.706205334 -0500 -@@ -0,0 +1,1636 @@ -+#include "Base14Fonts.hpp" -+ -+extern const MemoryFontData NimbusMonoPS_Bold_cff = { -+"\x01\x00\x04\x02\x00\x01\x01\x01\x12\x4e\x69\x6d\x62\x75\x73\x4d\x6f\x6e\x6f\x50\x53\x2d\x42\x6f\x6c\x64\x00\x01\x01\x01\x35\xf9" -+"\xbc\x00\xf9\xbd\x01\xf9\xbe\x0c\x00\xf9\xbf\x02\xf9\xc0\x03\xf8\x14\x04\x8c\x0c\x01\x33\x0c\x03\xf7\x02\x0c\x04\x39\xfc\x1d\xf9" -+"\x4e\xfa\x83\x05\x1c\x32\x32\x0f\x1c\x32\x45\x11\xb7\x1d\x00\x00\xb7\x0a\x12\x01\xa6\x02\x00\x01\x00\x08\x00\x0e\x00\x13\x00\x1d" -+"\x00\x24\x00\x2b\x00\x35\x00\x39\x00\x3f\x00\x45\x00\x50\x00\x5a\x00\x5d\x00\x63\x00\x69\x00\x6e\x00\x74\x00\x7a\x00\x84\x00\x8b" -+"\x00\x8e\x00\x95\x00\x9c\x00\xa8\x00\xab\x00\xb3\x00\xb7\x00\xbc\x00\xc2\x00\xcd\x00\xd9\x00\xe3\x00\xe7\x00\xf2\x00\xf4\x00\xfa" -+"\x01\x04\x01\x0b\x01\x12\x01\x16\x01\x22\x01\x2b\x01\x31\x01\x3c\x01\x41\x01\x4d\x01\x53\x01\x59\x01\x5f\x01\x6b\x01\x6f\x01\x71" -+"\x01\x77\x01\x7d\x01\x89\x01\x8b\x01\x91\x01\x9e\x01\xa5\x01\xaf\x01\xb6\x01\xc2\x01\xcd\x01\xd0\x01\xd2\x01\xd5\x01\xdb\x01\xe1" -+"\x01\xed\x01\xf0\x01\xf6\x01\xfe\x02\x09\x02\x15\x02\x1a\x02\x1d\x02\x21\x02\x27\x02\x33\x02\x38\x02\x3e\x02\x4b\x02\x52\x02\x59" -+"\x02\x60\x02\x6f\x02\x7b\x02\x80\x02\x86\x02\x8c\x02\x97\x02\xa0\x02\xa6\x02\xa8\x02\xb3\x02\xb9\x02\xbf\x02\xc9\x02\xcd\x02\xd3" -+"\x02\xda\x02\xe3\x02\xec\x02\xf5\x02\xfe\x03\x07\x03\x10\x03\x19\x03\x22\x03\x2b\x03\x34\x03\x3d\x03\x46\x03\x4f\x03\x58\x03\x61" -+"\x03\x6a\x03\x73\x03\x7c\x03\x85\x03\x8e\x03\x97\x03\xa0\x03\xa9\x03\xb2\x03\xbb\x03\xc4\x03\xcd\x03\xd6\x03\xdf\x03\xe8\x03\xf1" -+"\x03\xfa\x04\x03\x04\x0c\x04\x15\x04\x1e\x04\x27\x04\x30\x04\x39\x04\x42\x04\x4b\x04\x54\x04\x5d\x04\x66\x04\x6f\x04\x78\x04\x81" -+"\x04\x8a\x04\x93\x04\x9c\x04\xa5\x04\xae\x04\xb7\x04\xc0\x04\xc9\x04\xd2\x04\xdb\x04\xe4\x04\xed\x04\xf6\x04\xff\x05\x08\x05\x11" -+"\x05\x1a\x05\x23\x05\x2c\x05\x35\x05\x3e\x05\x47\x05\x50\x05\x59\x05\x62\x05\x6b\x05\x74\x05\x7d\x05\x86\x05\x8f\x05\x98\x05\xa1" -+"\x05\xaa\x05\xb3\x05\xbc\x05\xc5\x05\xce\x05\xd7\x05\xe0\x05\xe9\x05\xf2\x05\xfb\x06\x04\x06\x0d\x06\x16\x06\x1f\x06\x28\x06\x31" -+"\x06\x3a\x06\x43\x06\x4c\x06\x55\x06\x5a\x06\x64\x06\x6b\x06\x74\x06\x7e\x06\x85\x06\x90\x06\x9a\x06\xa3\x06\xac\x06\xb5\x06\xbf" -+"\x06\xc6\x06\xcf\x06\xdb\x06\xdf\x06\xe5\x06\xeb\x06\xf6\x07\x00\x07\x03\x07\x11\x07\x15\x07\x1b\x07\x21\x07\x26\x07\x2d\x07\x3a" -+"\x07\x40\x07\x46\x07\x50\x07\x57\x07\x5e\x07\x61\x07\x68\x07\x6f\x07\x7b\x07\x86\x07\x8f\x07\x92\x07\x9a\x07\xa3\x07\xae\x07\xb4" -+"\x07\xb9\x07\xbe\x07\xc4\x07\xcf\x07\xdb\x07\xe5\x07\xf1\x07\xf5\x08\x00\x08\x05\x08\x0a\x08\x10\x08\x12\x08\x19\x08\x21\x08\x29" -+"\x08\x33\x08\x3d\x08\x49\x08\x55\x08\x5c\x08\x60\x08\x6c\x08\x7d\x08\x86\x08\x8c\x08\x97\x08\x9c\x08\xa8\x08\xb4\x08\xba\x08\xc0" -+"\x08\xc6\x08\xd2\x08\xd6\x08\xdf\x08\xe3\x08\xe8\x08\xec\x08\xf2\x08\xfd\x09\x0b\x09\x11\x09\x1c\x09\x22\x09\x2e\x09\x38\x09\x40" -+"\x09\x42\x09\x48\x09\x55\x09\x5c\x09\x61\x09\x6b\x09\x72\x09\x7e\x09\x88\x09\x93\x09\x9e\x09\xa4\x09\xa7\x09\xa9\x09\xb0\x09\xbc" -+"\x09\xca\x09\xcd\x09\xda\x09\xe0\x09\xe7\x09\xed\x09\xf9\x0a\x06\x0a\x09\x0a\x0f\x0a\x17\x0a\x22\x0a\x2e\x0a\x34\x0a\x39\x0a\x42" -+"\x0a\x47\x0a\x50\x0a\x53\x0a\x56\x0a\x5a\x0a\x60\x0a\x6c\x0a\x71\x0a\x76\x0a\x7c\x0a\x89\x0a\x90\x0a\x9d\x0a\xa4\x0a\xab\x0a\xb2" -+"\x0a\xb9\x0a\xc0\x0a\xc7\x0a\xce\x0a\xd5\x0a\xdc\x0a\xe3\x0a\xea\x0a\xf1\x0a\xf8\x0a\xff\x0b\x06\x0b\x0d\x0b\x14\x0b\x1b\x0b\x22" -+"\x0b\x29\x0b\x30\x0b\x37\x0b\x3e\x0b\x45\x0b\x4c\x0b\x53\x0b\x5a\x0b\x61\x0b\x68\x0b\x6f\x0b\x76\x0b\x7d\x0b\x84\x0b\x8b\x0b\x92" -+"\x0b\x99\x0b\xa0\x0b\xa7\x0b\xae\x0b\xb5\x0b\xbc\x0b\xc3\x0b\xca\x0b\xd1\x0b\xd8\x0b\xdf\x0b\xe6\x0b\xed\x0b\xf4\x0b\xfb\x0c\x02" -+"\x0c\x09\x0c\x10\x0c\x17\x0c\x1e\x0c\x25\x0c\x2c\x0c\x33\x0c\x3a\x0c\x41\x0c\x48\x0c\x4d\x0c\x56\x0c\x5d\x0c\x64\x0c\x73\x0c\x87" -+"\x0c\x93\x0c\x98\x0c\x9e\x0c\xa4\x0c\xaf\x0c\xb8\x0c\xbe\x0c\xc0\x0c\xcb\x0c\xd1\x0c\xd7\x0c\xe1\x0c\xe5\x0c\xe9\x0d\x1f\x0d\x5f" -+"\x0d\x72\x0d\x80\x41\x45\x61\x63\x75\x74\x65\x41\x62\x72\x65\x76\x65\x41\x6c\x70\x68\x61\x41\x6c\x70\x68\x61\x74\x6f\x6e\x6f\x73" -+"\x41\x6d\x61\x63\x72\x6f\x6e\x41\x6f\x67\x6f\x6e\x65\x6b\x41\x72\x69\x6e\x67\x61\x63\x75\x74\x65\x42\x65\x74\x61\x43\x61\x63\x75" -+"\x74\x65\x43\x63\x61\x72\x6f\x6e\x43\x63\x69\x72\x63\x75\x6d\x66\x6c\x65\x78\x43\x64\x6f\x74\x61\x63\x63\x65\x6e\x74\x43\x68\x69" -+"\x44\x63\x61\x72\x6f\x6e\x44\x63\x72\x6f\x61\x74\x44\x65\x6c\x74\x61\x45\x62\x72\x65\x76\x65\x45\x63\x61\x72\x6f\x6e\x45\x64\x6f" -+"\x74\x61\x63\x63\x65\x6e\x74\x45\x6d\x61\x63\x72\x6f\x6e\x45\x6e\x67\x45\x6f\x67\x6f\x6e\x65\x6b\x45\x70\x73\x69\x6c\x6f\x6e\x45" -+"\x70\x73\x69\x6c\x6f\x6e\x74\x6f\x6e\x6f\x73\x45\x74\x61\x45\x74\x61\x74\x6f\x6e\x6f\x73\x45\x75\x72\x6f\x47\x61\x6d\x6d\x61\x47" -+"\x62\x72\x65\x76\x65\x47\x63\x69\x72\x63\x75\x6d\x66\x6c\x65\x78\x47\x63\x6f\x6d\x6d\x61\x61\x63\x63\x65\x6e\x74\x47\x64\x6f\x74" -+"\x61\x63\x63\x65\x6e\x74\x48\x62\x61\x72\x48\x63\x69\x72\x63\x75\x6d\x66\x6c\x65\x78\x49\x4a\x49\x62\x72\x65\x76\x65\x49\x64\x6f" -+"\x74\x61\x63\x63\x65\x6e\x74\x49\x6d\x61\x63\x72\x6f\x6e\x49\x6f\x67\x6f\x6e\x65\x6b\x49\x6f\x74\x61\x49\x6f\x74\x61\x64\x69\x65" -+"\x72\x65\x73\x69\x73\x49\x6f\x74\x61\x74\x6f\x6e\x6f\x73\x49\x74\x69\x6c\x64\x65\x4a\x63\x69\x72\x63\x75\x6d\x66\x6c\x65\x78\x4b" -+"\x61\x70\x70\x61\x4b\x63\x6f\x6d\x6d\x61\x61\x63\x63\x65\x6e\x74\x4c\x61\x63\x75\x74\x65\x4c\x61\x6d\x62\x64\x61\x4c\x63\x61\x72" -+"\x6f\x6e\x4c\x63\x6f\x6d\x6d\x61\x61\x63\x63\x65\x6e\x74\x4c\x64\x6f\x74\x4d\x75\x4e\x61\x63\x75\x74\x65\x4e\x63\x61\x72\x6f\x6e" -+"\x4e\x63\x6f\x6d\x6d\x61\x61\x63\x63\x65\x6e\x74\x4e\x75\x4f\x62\x72\x65\x76\x65\x4f\x68\x75\x6e\x67\x61\x72\x75\x6d\x6c\x61\x75" -+"\x74\x4f\x6d\x61\x63\x72\x6f\x6e\x4f\x6d\x65\x67\x61\x74\x6f\x6e\x6f\x73\x4f\x6d\x69\x63\x72\x6f\x6e\x4f\x6d\x69\x63\x72\x6f\x6e" -+"\x74\x6f\x6e\x6f\x73\x4f\x73\x6c\x61\x73\x68\x61\x63\x75\x74\x65\x50\x68\x69\x50\x69\x50\x73\x69\x52\x61\x63\x75\x74\x65\x52\x63" -+"\x61\x72\x6f\x6e\x52\x63\x6f\x6d\x6d\x61\x61\x63\x63\x65\x6e\x74\x52\x68\x6f\x53\x61\x63\x75\x74\x65\x53\x63\x65\x64\x69\x6c\x6c" -+"\x61\x53\x63\x69\x72\x63\x75\x6d\x66\x6c\x65\x78\x53\x63\x6f\x6d\x6d\x61\x61\x63\x63\x65\x6e\x74\x53\x69\x67\x6d\x61\x54\x61\x75" -+"\x54\x62\x61\x72\x54\x63\x61\x72\x6f\x6e\x54\x63\x6f\x6d\x6d\x61\x61\x63\x63\x65\x6e\x74\x54\x68\x65\x74\x61\x55\x62\x72\x65\x76" -+"\x65\x55\x68\x75\x6e\x67\x61\x72\x75\x6d\x6c\x61\x75\x74\x55\x6d\x61\x63\x72\x6f\x6e\x55\x6f\x67\x6f\x6e\x65\x6b\x55\x70\x73\x69" -+"\x6c\x6f\x6e\x55\x70\x73\x69\x6c\x6f\x6e\x64\x69\x65\x72\x65\x73\x69\x73\x55\x70\x73\x69\x6c\x6f\x6e\x74\x6f\x6e\x6f\x73\x55\x72" -+"\x69\x6e\x67\x55\x74\x69\x6c\x64\x65\x57\x61\x63\x75\x74\x65\x57\x63\x69\x72\x63\x75\x6d\x66\x6c\x65\x78\x57\x64\x69\x65\x72\x65" -+"\x73\x69\x73\x57\x67\x72\x61\x76\x65\x58\x69\x59\x63\x69\x72\x63\x75\x6d\x66\x6c\x65\x78\x59\x67\x72\x61\x76\x65\x5a\x61\x63\x75" -+"\x74\x65\x5a\x64\x6f\x74\x61\x63\x63\x65\x6e\x74\x5a\x65\x74\x61\x61\x62\x72\x65\x76\x65\x61\x65\x61\x63\x75\x74\x65\x61\x66\x69" -+"\x69\x30\x30\x32\x30\x38\x61\x66\x69\x69\x31\x30\x30\x31\x37\x61\x66\x69\x69\x31\x30\x30\x31\x38\x61\x66\x69\x69\x31\x30\x30\x31" -+"\x39\x61\x66\x69\x69\x31\x30\x30\x32\x30\x61\x66\x69\x69\x31\x30\x30\x32\x31\x61\x66\x69\x69\x31\x30\x30\x32\x32\x61\x66\x69\x69" -+"\x31\x30\x30\x32\x33\x61\x66\x69\x69\x31\x30\x30\x32\x34\x61\x66\x69\x69\x31\x30\x30\x32\x35\x61\x66\x69\x69\x31\x30\x30\x32\x36" -+"\x61\x66\x69\x69\x31\x30\x30\x32\x37\x61\x66\x69\x69\x31\x30\x30\x32\x38\x61\x66\x69\x69\x31\x30\x30\x32\x39\x61\x66\x69\x69\x31" -+"\x30\x30\x33\x30\x61\x66\x69\x69\x31\x30\x30\x33\x31\x61\x66\x69\x69\x31\x30\x30\x33\x32\x61\x66\x69\x69\x31\x30\x30\x33\x33\x61" -+"\x66\x69\x69\x31\x30\x30\x33\x34\x61\x66\x69\x69\x31\x30\x30\x33\x35\x61\x66\x69\x69\x31\x30\x30\x33\x36\x61\x66\x69\x69\x31\x30" -+"\x30\x33\x37\x61\x66\x69\x69\x31\x30\x30\x33\x38\x61\x66\x69\x69\x31\x30\x30\x33\x39\x61\x66\x69\x69\x31\x30\x30\x34\x30\x61\x66" -+"\x69\x69\x31\x30\x30\x34\x31\x61\x66\x69\x69\x31\x30\x30\x34\x32\x61\x66\x69\x69\x31\x30\x30\x34\x33\x61\x66\x69\x69\x31\x30\x30" -+"\x34\x34\x61\x66\x69\x69\x31\x30\x30\x34\x35\x61\x66\x69\x69\x31\x30\x30\x34\x36\x61\x66\x69\x69\x31\x30\x30\x34\x37\x61\x66\x69" -+"\x69\x31\x30\x30\x34\x38\x61\x66\x69\x69\x31\x30\x30\x34\x39\x61\x66\x69\x69\x31\x30\x30\x35\x30\x61\x66\x69\x69\x31\x30\x30\x35" -+"\x31\x61\x66\x69\x69\x31\x30\x30\x35\x32\x61\x66\x69\x69\x31\x30\x30\x35\x33\x61\x66\x69\x69\x31\x30\x30\x35\x34\x61\x66\x69\x69" -+"\x31\x30\x30\x35\x35\x61\x66\x69\x69\x31\x30\x30\x35\x36\x61\x66\x69\x69\x31\x30\x30\x35\x37\x61\x66\x69\x69\x31\x30\x30\x35\x38" -+"\x61\x66\x69\x69\x31\x30\x30\x35\x39\x61\x66\x69\x69\x31\x30\x30\x36\x30\x61\x66\x69\x69\x31\x30\x30\x36\x31\x61\x66\x69\x69\x31" -+"\x30\x30\x36\x32\x61\x66\x69\x69\x31\x30\x30\x36\x35\x61\x66\x69\x69\x31\x30\x30\x36\x36\x61\x66\x69\x69\x31\x30\x30\x36\x37\x61" -+"\x66\x69\x69\x31\x30\x30\x36\x38\x61\x66\x69\x69\x31\x30\x30\x36\x39\x61\x66\x69\x69\x31\x30\x30\x37\x30\x61\x66\x69\x69\x31\x30" -+"\x30\x37\x31\x61\x66\x69\x69\x31\x30\x30\x37\x32\x61\x66\x69\x69\x31\x30\x30\x37\x33\x61\x66\x69\x69\x31\x30\x30\x37\x34\x61\x66" -+"\x69\x69\x31\x30\x30\x37\x35\x61\x66\x69\x69\x31\x30\x30\x37\x36\x61\x66\x69\x69\x31\x30\x30\x37\x37\x61\x66\x69\x69\x31\x30\x30" -+"\x37\x38\x61\x66\x69\x69\x31\x30\x30\x37\x39\x61\x66\x69\x69\x31\x30\x30\x38\x30\x61\x66\x69\x69\x31\x30\x30\x38\x31\x61\x66\x69" -+"\x69\x31\x30\x30\x38\x32\x61\x66\x69\x69\x31\x30\x30\x38\x33\x61\x66\x69\x69\x31\x30\x30\x38\x34\x61\x66\x69\x69\x31\x30\x30\x38" -+"\x35\x61\x66\x69\x69\x31\x30\x30\x38\x36\x61\x66\x69\x69\x31\x30\x30\x38\x37\x61\x66\x69\x69\x31\x30\x30\x38\x38\x61\x66\x69\x69" -+"\x31\x30\x30\x38\x39\x61\x66\x69\x69\x31\x30\x30\x39\x30\x61\x66\x69\x69\x31\x30\x30\x39\x31\x61\x66\x69\x69\x31\x30\x30\x39\x32" -+"\x61\x66\x69\x69\x31\x30\x30\x39\x33\x61\x66\x69\x69\x31\x30\x30\x39\x34\x61\x66\x69\x69\x31\x30\x30\x39\x35\x61\x66\x69\x69\x31" -+"\x30\x30\x39\x36\x61\x66\x69\x69\x31\x30\x30\x39\x37\x61\x66\x69\x69\x31\x30\x30\x39\x38\x61\x66\x69\x69\x31\x30\x30\x39\x39\x61" -+"\x66\x69\x69\x31\x30\x31\x30\x30\x61\x66\x69\x69\x31\x30\x31\x30\x31\x61\x66\x69\x69\x31\x30\x31\x30\x32\x61\x66\x69\x69\x31\x30" -+"\x31\x30\x33\x61\x66\x69\x69\x31\x30\x31\x30\x34\x61\x66\x69\x69\x31\x30\x31\x30\x35\x61\x66\x69\x69\x31\x30\x31\x30\x36\x61\x66" -+"\x69\x69\x31\x30\x31\x30\x37\x61\x66\x69\x69\x31\x30\x31\x30\x38\x61\x66\x69\x69\x31\x30\x31\x30\x39\x61\x66\x69\x69\x31\x30\x31" -+"\x31\x30\x61\x66\x69\x69\x31\x30\x31\x34\x35\x61\x66\x69\x69\x31\x30\x31\x39\x33\x61\x66\x69\x69\x31\x30\x38\x34\x36\x61\x66\x69" -+"\x69\x36\x31\x32\x34\x38\x61\x66\x69\x69\x36\x31\x32\x38\x39\x61\x66\x69\x69\x36\x31\x33\x35\x32\x61\x6c\x70\x68\x61\x61\x6c\x70" -+"\x68\x61\x74\x6f\x6e\x6f\x73\x61\x6d\x61\x63\x72\x6f\x6e\x61\x6e\x67\x6c\x65\x6c\x65\x66\x74\x61\x6e\x67\x6c\x65\x72\x69\x67\x68" -+"\x74\x61\x6f\x67\x6f\x6e\x65\x6b\x61\x70\x70\x72\x6f\x78\x65\x71\x75\x61\x6c\x61\x72\x69\x6e\x67\x61\x63\x75\x74\x65\x61\x72\x72" -+"\x6f\x77\x62\x6f\x74\x68\x61\x72\x72\x6f\x77\x64\x6f\x77\x6e\x61\x72\x72\x6f\x77\x6c\x65\x66\x74\x61\x72\x72\x6f\x77\x72\x69\x67" -+"\x68\x74\x61\x72\x72\x6f\x77\x75\x70\x61\x72\x72\x6f\x77\x75\x70\x64\x6e\x61\x72\x72\x6f\x77\x75\x70\x64\x6e\x62\x73\x65\x62\x65" -+"\x74\x61\x63\x61\x63\x75\x74\x65\x63\x63\x61\x72\x6f\x6e\x63\x63\x69\x72\x63\x75\x6d\x66\x6c\x65\x78\x63\x64\x6f\x74\x61\x63\x63" -+"\x65\x6e\x74\x63\x68\x69\x63\x69\x72\x63\x6c\x65\x6d\x75\x6c\x74\x69\x70\x6c\x79\x63\x6c\x75\x62\x64\x63\x61\x72\x6f\x6e\x64\x63" -+"\x72\x6f\x61\x74\x64\x65\x6c\x74\x61\x64\x69\x61\x6d\x6f\x6e\x64\x64\x69\x65\x72\x65\x73\x69\x73\x74\x6f\x6e\x6f\x73\x65\x62\x72" -+"\x65\x76\x65\x65\x63\x61\x72\x6f\x6e\x65\x64\x6f\x74\x61\x63\x63\x65\x6e\x74\x65\x6c\x65\x6d\x65\x6e\x74\x65\x6d\x61\x63\x72\x6f" -+"\x6e\x65\x6e\x67\x65\x6f\x67\x6f\x6e\x65\x6b\x65\x70\x73\x69\x6c\x6f\x6e\x65\x70\x73\x69\x6c\x6f\x6e\x74\x6f\x6e\x6f\x73\x65\x71" -+"\x75\x69\x76\x61\x6c\x65\x6e\x63\x65\x65\x73\x74\x69\x6d\x61\x74\x65\x64\x65\x74\x61\x65\x74\x61\x74\x6f\x6e\x6f\x73\x65\x78\x63" -+"\x6c\x61\x6d\x64\x62\x6c\x65\x78\x69\x73\x74\x65\x6e\x74\x69\x61\x6c\x66\x65\x6d\x61\x6c\x65\x66\x72\x61\x6e\x63\x67\x61\x6d\x6d" -+"\x61\x67\x62\x72\x65\x76\x65\x67\x63\x69\x72\x63\x75\x6d\x66\x6c\x65\x78\x67\x63\x6f\x6d\x6d\x61\x61\x63\x63\x65\x6e\x74\x67\x64" -+"\x6f\x74\x61\x63\x63\x65\x6e\x74\x67\x72\x65\x61\x74\x65\x72\x65\x71\x75\x61\x6c\x68\x62\x61\x72\x68\x63\x69\x72\x63\x75\x6d\x66" -+"\x6c\x65\x78\x68\x65\x61\x72\x74\x68\x6f\x75\x73\x65\x69\x62\x72\x65\x76\x65\x69\x6a\x69\x6d\x61\x63\x72\x6f\x6e\x69\x6e\x66\x69" -+"\x6e\x69\x74\x79\x69\x6e\x74\x65\x67\x72\x61\x6c\x69\x6e\x74\x65\x67\x72\x61\x6c\x62\x74\x69\x6e\x74\x65\x67\x72\x61\x6c\x74\x70" -+"\x69\x6e\x74\x65\x72\x73\x65\x63\x74\x69\x6f\x6e\x69\x6e\x76\x73\x6d\x69\x6c\x65\x66\x61\x63\x65\x69\x6f\x67\x6f\x6e\x65\x6b\x69" -+"\x6f\x74\x61\x69\x6f\x74\x61\x64\x69\x65\x72\x65\x73\x69\x73\x69\x6f\x74\x61\x64\x69\x65\x72\x65\x73\x69\x73\x74\x6f\x6e\x6f\x73" -+"\x69\x6f\x74\x61\x74\x6f\x6e\x6f\x73\x69\x74\x69\x6c\x64\x65\x6a\x63\x69\x72\x63\x75\x6d\x66\x6c\x65\x78\x6b\x61\x70\x70\x61\x6b" -+"\x63\x6f\x6d\x6d\x61\x61\x63\x63\x65\x6e\x74\x6b\x67\x72\x65\x65\x6e\x6c\x61\x6e\x64\x69\x63\x6c\x61\x63\x75\x74\x65\x6c\x61\x6d" -+"\x62\x64\x61\x6c\x63\x61\x72\x6f\x6e\x6c\x63\x6f\x6d\x6d\x61\x61\x63\x63\x65\x6e\x74\x6c\x64\x6f\x74\x6c\x65\x73\x73\x65\x71\x75" -+"\x61\x6c\x6c\x69\x72\x61\x6c\x6f\x6e\x67\x73\x6d\x61\x6c\x65\x6d\x69\x6e\x75\x74\x65\x6d\x75\x73\x69\x63\x61\x6c\x6e\x6f\x74\x65" -+"\x6d\x75\x73\x69\x63\x61\x6c\x6e\x6f\x74\x65\x64\x62\x6c\x6e\x61\x63\x75\x74\x65\x6e\x61\x70\x6f\x73\x74\x72\x6f\x70\x68\x65\x6e" -+"\x63\x61\x72\x6f\x6e\x6e\x63\x6f\x6d\x6d\x61\x61\x63\x63\x65\x6e\x74\x6e\x6f\x74\x65\x6c\x65\x6d\x65\x6e\x74\x6e\x6f\x74\x65\x71" -+"\x75\x61\x6c\x6e\x75\x6f\x62\x72\x65\x76\x65\x6f\x68\x75\x6e\x67\x61\x72\x75\x6d\x6c\x61\x75\x74\x6f\x6d\x61\x63\x72\x6f\x6e\x6f" -+"\x6d\x65\x67\x61\x6f\x6d\x65\x67\x61\x74\x6f\x6e\x6f\x73\x6f\x6d\x69\x63\x72\x6f\x6e\x6f\x6d\x69\x63\x72\x6f\x6e\x74\x6f\x6e\x6f" -+"\x73\x6f\x72\x74\x68\x6f\x67\x6f\x6e\x61\x6c\x6f\x73\x6c\x61\x73\x68\x61\x63\x75\x74\x65\x70\x61\x72\x74\x69\x61\x6c\x64\x69\x66" -+"\x66\x70\x65\x73\x65\x74\x61\x70\x68\x69\x70\x69\x70\x72\x6f\x64\x75\x63\x74\x70\x72\x6f\x70\x65\x72\x73\x75\x62\x73\x65\x74\x70" -+"\x72\x6f\x70\x65\x72\x73\x75\x70\x65\x72\x73\x65\x74\x70\x73\x69\x71\x75\x6f\x74\x65\x72\x65\x76\x65\x72\x73\x65\x64\x72\x61\x63" -+"\x75\x74\x65\x72\x61\x64\x69\x63\x61\x6c\x72\x63\x61\x72\x6f\x6e\x72\x63\x6f\x6d\x6d\x61\x61\x63\x63\x65\x6e\x74\x72\x65\x76\x6c" -+"\x6f\x67\x69\x63\x61\x6c\x6e\x6f\x74\x72\x68\x6f\x73\x61\x63\x75\x74\x65\x73\x63\x65\x64\x69\x6c\x6c\x61\x73\x63\x69\x72\x63\x75" -+"\x6d\x66\x6c\x65\x78\x73\x63\x6f\x6d\x6d\x61\x61\x63\x63\x65\x6e\x74\x73\x65\x63\x6f\x6e\x64\x73\x69\x67\x6d\x61\x73\x6d\x69\x6c" -+"\x65\x66\x61\x63\x65\x73\x70\x61\x64\x65\x73\x75\x6d\x6d\x61\x74\x69\x6f\x6e\x73\x75\x6e\x74\x61\x75\x74\x62\x61\x72\x74\x63\x61" -+"\x72\x6f\x6e\x74\x63\x6f\x6d\x6d\x61\x61\x63\x63\x65\x6e\x74\x74\x68\x65\x74\x61\x74\x6f\x6e\x6f\x73\x75\x62\x72\x65\x76\x65\x75" -+"\x68\x75\x6e\x67\x61\x72\x75\x6d\x6c\x61\x75\x74\x75\x6d\x61\x63\x72\x6f\x6e\x75\x6e\x64\x65\x72\x73\x63\x6f\x72\x65\x64\x62\x6c" -+"\x75\x6e\x69\x30\x30\x41\x30\x75\x6e\x69\x30\x30\x41\x44\x75\x6e\x69\x30\x32\x31\x41\x75\x6e\x69\x30\x32\x31\x42\x75\x6e\x69\x30" -+"\x32\x43\x39\x75\x6e\x69\x30\x33\x38\x37\x75\x6e\x69\x30\x33\x39\x34\x75\x6e\x69\x30\x33\x41\x39\x75\x6e\x69\x30\x33\x42\x43\x75" -+"\x6e\x69\x30\x33\x43\x32\x75\x6e\x69\x30\x34\x30\x30\x75\x6e\x69\x30\x34\x30\x44\x75\x6e\x69\x30\x34\x35\x30\x75\x6e\x69\x30\x34" -+"\x35\x44\x75\x6e\x69\x30\x34\x39\x32\x75\x6e\x69\x30\x34\x39\x33\x75\x6e\x69\x30\x34\x39\x36\x75\x6e\x69\x30\x34\x39\x37\x75\x6e" -+"\x69\x30\x34\x39\x38\x75\x6e\x69\x30\x34\x39\x39\x75\x6e\x69\x30\x34\x39\x41\x75\x6e\x69\x30\x34\x39\x42\x75\x6e\x69\x30\x34\x39" -+"\x43\x75\x6e\x69\x30\x34\x39\x44\x75\x6e\x69\x30\x34\x41\x30\x75\x6e\x69\x30\x34\x41\x31\x75\x6e\x69\x30\x34\x41\x32\x75\x6e\x69" -+"\x30\x34\x41\x33\x75\x6e\x69\x30\x34\x41\x41\x75\x6e\x69\x30\x34\x41\x42\x75\x6e\x69\x30\x34\x41\x45\x75\x6e\x69\x30\x34\x41\x46" -+"\x75\x6e\x69\x30\x34\x42\x30\x75\x6e\x69\x30\x34\x42\x31\x75\x6e\x69\x30\x34\x42\x32\x75\x6e\x69\x30\x34\x42\x33\x75\x6e\x69\x30" -+"\x34\x42\x36\x75\x6e\x69\x30\x34\x42\x37\x75\x6e\x69\x30\x34\x42\x38\x75\x6e\x69\x30\x34\x42\x39\x75\x6e\x69\x30\x34\x42\x41\x75" -+"\x6e\x69\x30\x34\x42\x42\x75\x6e\x69\x30\x34\x43\x30\x75\x6e\x69\x30\x34\x43\x42\x75\x6e\x69\x30\x34\x43\x43\x75\x6e\x69\x30\x34" -+"\x44\x38\x75\x6e\x69\x30\x34\x45\x32\x75\x6e\x69\x30\x34\x45\x33\x75\x6e\x69\x30\x34\x45\x38\x75\x6e\x69\x30\x34\x45\x39\x75\x6e" -+"\x69\x30\x34\x45\x45\x75\x6e\x69\x30\x34\x45\x46\x75\x6e\x69\x32\x30\x33\x45\x75\x6e\x69\x32\x30\x41\x46\x75\x6e\x69\x32\x31\x32" -+"\x36\x75\x6e\x69\x32\x32\x31\x35\x75\x6e\x69\x32\x32\x31\x39\x75\x6e\x69\x32\x32\x32\x37\x75\x6e\x69\x32\x32\x32\x38\x75\x6e\x69" -+"\x32\x32\x39\x35\x75\x6e\x69\x32\x35\x41\x31\x75\x6e\x69\x6f\x6e\x75\x6e\x69\x76\x65\x72\x73\x61\x6c\x75\x6f\x67\x6f\x6e\x65\x6b" -+"\x75\x70\x73\x69\x6c\x6f\x6e\x75\x70\x73\x69\x6c\x6f\x6e\x64\x69\x65\x72\x65\x73\x69\x73\x75\x70\x73\x69\x6c\x6f\x6e\x64\x69\x65" -+"\x72\x65\x73\x69\x73\x74\x6f\x6e\x6f\x73\x75\x70\x73\x69\x6c\x6f\x6e\x74\x6f\x6e\x6f\x73\x75\x72\x69\x6e\x67\x75\x74\x69\x6c\x64" -+"\x65\x77\x61\x63\x75\x74\x65\x77\x63\x69\x72\x63\x75\x6d\x66\x6c\x65\x78\x77\x64\x69\x65\x72\x65\x73\x69\x73\x77\x67\x72\x61\x76" -+"\x65\x78\x69\x79\x63\x69\x72\x63\x75\x6d\x66\x6c\x65\x78\x79\x67\x72\x61\x76\x65\x7a\x61\x63\x75\x74\x65\x7a\x64\x6f\x74\x61\x63" -+"\x63\x65\x6e\x74\x7a\x65\x74\x61\x31\x2e\x30\x30\x28\x55\x52\x57\x29\x2b\x2b\x2c\x43\x6f\x70\x79\x72\x69\x67\x68\x74\x20\x32\x30" -+"\x31\x34\x20\x62\x79\x20\x28\x55\x52\x57\x29\x2b\x2b\x20\x44\x65\x73\x69\x67\x6e\x20\x26\x20\x44\x65\x76\x65\x6c\x6f\x70\x6d\x65" -+"\x6e\x74\x43\x6f\x70\x79\x72\x69\x67\x68\x74\x20\x28\x55\x52\x57\x29\x2b\x2b\x2c\x43\x6f\x70\x79\x72\x69\x67\x68\x74\x20\x32\x30" -+"\x31\x34\x20\x62\x79\x20\x28\x55\x52\x57\x29\x2b\x2b\x20\x44\x65\x73\x69\x67\x6e\x20\x26\x20\x44\x65\x76\x65\x6c\x6f\x70\x6d\x65" -+"\x6e\x74\x4e\x69\x6d\x62\x75\x73\x20\x4d\x6f\x6e\x6f\x20\x50\x53\x20\x42\x6f\x6c\x64\x4e\x69\x6d\x62\x75\x73\x20\x4d\x6f\x6e\x6f" -+"\x20\x50\x53\x01\x43\x02\x00\x01\x00\x08\x00\x70\x00\x7a\x00\xa0\x00\xe2\x01\x19\x01\x21\x01\x25\x01\x2c\x01\x37\x01\x3f\x01\x45" -+"\x01\xa3\x01\xae\x01\xbb\x01\xc1\x01\xee\x01\xfb\x02\x03\x02\x0c\x02\x14\x02\x1d\x02\x44\x02\x5e\x02\x6a\x02\x75\x02\x79\x02\x8b" -+"\x02\x99\x02\xa4\x02\xaf\x02\xb7\x02\xbe\x03\x54\x03\xe5\x04\x1b\x04\x5a\x04\x7d\x04\x89\x04\xbe\x04\xe2\x04\xf7\x04\xfb\x05\x0a" -+"\x05\x15\x05\x27\x05\x34\x05\x3e\x05\x47\x05\x51\x05\x5b\x05\x64\x05\x6d\x05\x74\x05\x7b\x05\x80\x05\xdc\x06\x2c\x06\x8e\x06\xa4" -+"\x06\xba\x06\xc1\x06\xc7\x06\xce\x06\xe6\x06\xf4\x06\xff\x07\x08\x07\x18\x07\x27\x07\x32\x07\x3d\x07\x43\x07\x55\x07\x5f\x07\x69" -+"\x07\x79\x07\x84\x07\x8c\x07\x95\x07\x9e\x07\xa5\x07\xad\x07\xb5\x07\xbd\x07\xc5\x07\xd0\x07\xdb\x07\xe2\x08\x5e\x08\xa2\x09\x05" -+"\x09\x4d\x09\xac\x09\xd2\x0a\x06\x0a\x37\x0a\x59\x0a\x7f\x0a\x8c\x0a\xad\x0a\xbe\x0a\xe1\x0a\xf0\x0b\x0a\x0b\x12\x0b\x27\x0b\x35" -+"\x0b\x4a\x0b\x5d\x0b\x6f\x0b\x77\x0b\x7f\x0b\x8a\x0b\x9e\x0b\xaa\x0b\xb9\x0b\xd2\x0b\xe0\x0b\xed\x0b\xfd\x0c\x11\x0c\x1d\x0c\x29" -+"\x0c\x35\x0c\x47\x0c\x59\x0c\x5d\x0c\x68\x0c\x79\x0c\x83\x0c\x88\x0c\x90\x0c\x9e\x0c\xac\x0c\xba\x0c\xc7\x0c\xd4\x0c\xdc\x0c\xe8" -+"\x0c\xee\x0c\xf6\x0c\xfe\x0d\x06\x0d\x11\x0d\x18\x0d\x6b\x0d\x8b\x0d\xd9\x0e\x23\x0e\x73\x0e\xe6\x0f\x01\x0f\x4a\x0f\xb7\x0f\xc8" -+"\x10\x0c\x10\x45\x10\xa0\x11\x0a\x11\x3d\x11\x79\x11\xc8\x11\xf5\x12\x3c\x12\x7e\x12\xac\x12\xb7\x12\xf6\x12\xff\x13\x2a\x13\x36" -+"\x13\x5b\x13\x67\x13\x84\x13\xc9\x14\x04\x14\x34\x14\x72\x14\xac\x14\xc7\x14\xf8\x15\x22\x15\x4b\x15\x67\x15\x88\x15\x9f\x15\xae" -+"\x15\xde\x15\xe2\x16\x03\x16\x15\x16\x36\x16\x5f\x16\x69\x16\x86\x16\x96\x16\xaa\x16\xc8\x16\xef\x16\xf7\x17\x07\x17\x17\x17\x2a" -+"\x17\x48\x17\x6d\x17\x87\x17\x9b\x17\xbb\x17\xc7\x17\xe9\x17\xf7\x17\xfb\x18\x09\x18\x29\x18\x36\x18\x45\x18\x63\x18\x7a\x18\x91" -+"\x18\xa9\x18\xb8\x18\xbf\x18\xce\x18\xd9\x18\xf3\x18\xf8\x19\x11\x19\x2a\x19\x30\x19\x36\x19\x4f\x19\x5d\x19\x75\x19\x7c\x19\x85" -+"\x19\x9b\x19\xa7\x19\xb3\x19\xc3\x19\xd5\x19\xda\x19\xf1\x1a\x08\x1a\x1d\x1a\x33\x1a\x45\x1a\x55\x1a\x6b\x1a\x75\x1a\x85\x1a\x9a" -+"\x1a\xaf\x1a\xc4\x1a\xd7\x1a\xeb\x1a\xff\x1b\x13\x1b\x1a\x1b\x2d\x1b\x40\x1b\x53\x1b\x66\x1b\x6f\x1b\x82\x1b\x86\x1b\x98\x1b\xaa" -+"\x1b\xbc\x1b\xce\x1b\xde\x1b\xef\x1c\x00\x1c\x11\x1c\x22\x1c\x33\x1c\x44\x1c\x54\x1c\x64\x1c\x74\x1c\x84\x1c\x94\x1c\xa4\x1c\xb4" -+"\x1c\xc4\x1c\xd4\x1c\xe2\x1c\xf1\x1d\x00\x1d\x0f\x1d\x16\x1d\x20\x1d\x2e\x1d\x37\x1d\x45\x1d\x53\x1d\x61\x1d\x6a\x1d\x77\x1d\x84" -+"\x1d\x91\x1d\x9e\x1d\xab\x1d\xb8\x1d\xc3\x1d\xcf\x1d\xdb\x1d\xe0\x1d\xec\x1d\xf8\x1e\x04\x1e\x10\x1e\x1c\x1e\x28\x1e\x30\x1e\x38" -+"\x1e\x43\x1e\x4e\x1e\x59\x1e\x64\x1e\x6f\x1e\x7a\x1e\x85\x83\x34\x1d\x7a\x7a\x1a\x0b\xf8\x32\xf7\x2b\x15\x9e\x5c\x05\x7a\x06\x71" -+"\x83\x89\x9d\x1d\x99\x88\xa3\x1b\xf7\x1f\x06\xa0\x9a\xf7\x3a\x1d\x80\x92\x82\x8d\x70\x8c\xfb\x5b\xf8\x60\x18\xfb\x6f\x06\x70\x20" -+"\x1d\x7a\x93\x7c\x9a\x81\x1e\x83\x95\x96\x89\xa6\x1b\xc4\x06\xfb\x2c\xfb\xf9\x05\x5f\x73\x79\x69\x68\xa2\x7a\xba\x1f\xf7\x19\x06" -+"\xa0\x9a\x8d\x90\x3a\x1d\x93\x80\x82\x8d\x6f\x1b\x7a\x06\x9f\xba\x05\xf7\x50\xf2\x15\xfb\x25\x06\xd4\xf7\x3d\x05\x0b\x1a\x9c\x83" -+"\x9a\x7d\x95\x1e\x71\x1d\x0b\x15\x95\x99\x8f\x95\x93\x1a\xa0\x79\x9c\x75\x79\x82\x85\x77\x7d\x1e\x39\xfb\x0c\x05\x83\x7f\x86\x7f" -+"\x82\x1a\x77\x9d\x7a\xa2\x9b\x95\x92\x9f\x98\x1e\x0e\xf7\xc0\xf8\xd6\x15\x48\x4a\x71\x5a\x53\x1f\x4e\x55\x69\x3c\x34\x1a\xfb\x38" -+"\xf7\x13\xfb\x18\xf7\x30\xf7\x2f\xf7\x14\xf7\x18\xf7\x33\xe8\x6b\xd6\x4c\xc4\x1e\xbc\x55\x49\xa5\x47\x1b\x24\x04\xea\xdb\x34\x24" -+"\xfb\x00\x3d\x34\x2a\x2b\x3c\xe2\xf5\xf4\xda\xe2\xeb\x1f\x0b\xf7\xc3\xf8\x49\x15\xfb\x2a\xfb\x07\x29\xfb\x14\xfb\x13\xf7\x07\x28" -+"\xf7\x27\xf7\x27\xf7\x07\xee\xf7\x13\xf7\x12\xfb\x07\xef\xfb\x24\x1f\x86\x24\x15\xe4\xce\x56\x45\x46\x48\x55\x34\x34\x48\xc1\xd0" -+"\xd0\xce\xc1\xe0\x1f\x0b\x15\x9c\x99\x92\x95\x98\xf3\x1d\x06\x4f\x1d\x0b\x1a\xb1\x74\x99\x4b\x1e\x0b\x06\x5c\x73\x79\x69\x69\xa3" -+"\x79\xba\x1f\x0b\x83\x9a\x7d\x95\x1f\x93\x80\x0b\x06\xb9\xa3\x9d\xad\x0b\xf8\x96\xf8\x3d\x15\xfb\x1f\x06\x3d\x1d\x7a\x1a\x7a\x93" -+"\x7c\x99\x81\x3f\x1d\xaa\xfb\x3c\x06\x58\x58\x74\x7f\x5a\x1b\x51\x71\x9f\xb8\x1f\xf7\xa1\xfb\x0c\x07\x3d\x1d\x7a\x1a\x7a\x93\x7c" -+"\x99\x81\x1e\x84\x95\x96\x88\xa6\x1b\x97\xfb\x3e\x06\x52\x9f\x61\xb3\x6e\x1e\x73\xad\xb5\x7f\xb9\x1b\xc1\xab\x98\xb3\xba\x1f\x62" -+"\xee\x07\xa0\x9a\x8d\x90\x3a\x1d\x81\x91\x83\x8d\x76\x8c\x08\x0b\x1b\x9c\x9b\x93\x98\x96\x1f\x93\x96\x8d\x0b\x76\x84\x8a\x88\x82" -+"\x1f\x78\x85\x7c\x76\x76\x1a\x0b\x81\x80\x8d\x70\x1b\x0b\xf7\x5a\xf7\x7c\x15\xd8\x88\x06\x47\x1d\x9b\x93\x98\x96\x72\x1d\xf7\x27" -+"\xfc\x59\x07\x6b\x1d\x7b\x79\x92\x1d\x7b\x79\x1a\x69\xa3\x79\xb9\x1e\xf8\x6f\xf7\x29\x06\xf7\x07\x1d\x07\x0b\x06\xb9\xa3\x9c\xae" -+"\x9b\x2a\x1d\x82\x8d\x6f\x1b\x0b\x8d\x90\x94\x1f\x9b\x95\x95\x0b\x1a\x9b\x83\x9a\x7d\x95\x1e\x93\x0b\x8a\x85\x81\x1f\x7b\x81\x81" -+"\x0b\x5d\x1d\x5d\x1b\x38\x59\x5e\x1d\x0b\x15\x68\x6e\x6f\x6a\x69\xa8\x6f\xae\xae\xa8\xa7\xac\xae\x6f\xa6\x67\x1f\xf7\x64\x16\x68" -+"\x6e\x6f\x6a\x69\xa8\x6f\xae\xae\xa8\xa7\xac\xae\x6f\xa6\x67\x1f\x0e\x15\x67\x76\x7c\x70\x82\x90\x7f\x92\x83\x1f\x81\x95\x93\x88" -+"\xa6\x1b\xf7\x88\x06\xae\xa7\x1d\x73\x1b\x0e\x8d\x90\x94\xa6\x1d\x92\x80\x82\x8d\x6f\x1b\x0b\x06\xba\xa3\x9d\xad\xad\x73\x9d\x5c" -+"\x1f\x0b\x93\xa6\x1d\x0b\x15\x73\x7c\x7b\x73\x3f\xe0\x47\xe9\xe9\xe0\x6f\x1d\x81\x6b\xf7\x1d\x1d\x1f\x7b\x81\x81\x7a\x79\x1a\x7b" -+"\x93\x7b\x99\x81\x1e\x0b\x72\x81\x89\x86\x82\x1f\x7b\x81\x81\x7a\x0b\x1b\x9c\x9b\x93\x98\x96\x1f\x93\x95\x8d\x0b\x1e\x84\x95\x98" -+"\x88\xa4\x1b\x0b\x1b\x74\x79\x7a\x75\x7e\x0b\xf8\xbe\xf7\x41\x15\xa6\x93\x9a\x9d\xa4\x33\x1d\x80\x81\x8d\x6f\x1b\xfb\x43\x06\x71" -+"\x83\x50\x1d\x9a\x81\x1e\x83\x95\x97\x89\xa4\x1b\xeb\x4f\x06\x7d\x68\x64\x84\x5b\x1b\x4d\x5b\x99\xa6\x69\x1f\x6e\xa3\x7d\xaf\xc0" -+"\x1a\xc8\x07\xba\x9e\xba\xac\xaa\x1e\xa8\xa9\xb7\x9a\xc1\x1b\xd3\xbc\x77\x6b\x94\x1f\x94\x6c\x8b\x8b\x91\x84\x08\x81\x94\x99\x85" -+"\x9a\x2d\x1d\x93\xa6\x1a\xd5\x07\xa4\x8a\x93\x85\x95\x1e\x9a\x82\x7a\x95\x79\x1b\x77\x80\x83\x76\x80\x1f\x9e\x60\x5b\x95\x56\x1b" -+"\x37\x4b\x73\x58\x55\x1f\x54\x57\x6c\x44\x41\x1a\x48\x07\x47\xa5\x48\xb4\x63\x1e\x5a\xbd\xe1\x6f\xef\x1b\xda\xbd\x99\xba\xe8\x1f" -+"\x0b\xf8\x92\xf8\x06\x15\x9e\x8a\x92\x88\x94\x1e\x9e\x86\x77\x98\x75\x1b\x7b\x82\x85\x7a\x82\x1f\x9a\x66\x61\x93\x5b\x1b\xfb\x0e" -+"\x33\x53\x3c\x3e\xc7\x63\xf7\x22\x7c\x1f\xc1\x86\xa0\x87\x9b\x85\x08\x9f\x83\x97\x80\x80\x1a\x77\x56\x7a\x50\x56\x61\x97\xa2\x6f" -+"\x1e\xa9\x82\x7a\x99\x6f\x1b\x78\x54\x1d\x82\x71\x1a\x6b\x07\x5d\x9d\x76\xb0\x98\x94\x8e\x93\x96\x1e\x79\xb2\xbe\x82\xc5\x1b\xf7" -+"\x17\xea\xc5\xdb\xb9\x70\xb5\x5e\xa3\x1f\x6d\x9b\x61\x96\x41\x94\x4b\x94\x85\x8c\x7e\x8f\x08\x7c\x91\x82\x92\x92\x1a\x99\xbb\x9a" -+"\xba\xb4\xac\x82\x79\xa5\x1e\x6c\x9d\x97\x83\xa4\x3e\x1d\x95\xa5\x1a\x0b\xf7\x98\xf8\x61\x15\xc0\x69\x1d\xfb\x6a\x06\x6b\x1d\x7b" -+"\x79\x1a\x7a\x93\x7b\x99\x82\x1e\x83\x96\x96\x89\xa5\x1b\xc0\xfb\xfa\x56\x06\x71\x83\x34\x1d\x7b\x79\x1a\x68\xa3\x7a\xb9\x1e\xf8" -+"\x70\xf7\x04\x1d\xfb\x63\x07\x0b\xf7\x66\xf2\x15\xf7\xbe\xf7\xff\x05\xed\xfc\x34\xfb\x3a\x07\x73\x8d\x82\x91\x82\x1e\x7b\x95\x9d" -+"\x82\x9d\x2d\x1d\x93\xa6\x1a\xca\xf7\x3a\x07\xfb\xbd\xfb\xfd\x05\x27\xf8\x62\xf7\x3c\x07\xa4\x8a\x93\x84\x95\x1e\x99\x82\x79\x95" -+"\x78\xf7\x50\x1d\x4a\x07\x0b\x15\xfb\x03\xe5\x05\x96\x7e\x84\x8e\x81\x1b\x76\x79\x7a\x76\xf7\x46\x1d\xa2\x9e\x8d\x8e\x9a\x1a\xa0" -+"\x79\x9c\x77\x80\x83\x87\x81\x7f\x1e\x0e\xc7\x1d\xba\xb8\xaa\x9b\xb8\x1b\xc7\xd5\x1d\x0b\x73\x8c\x82\x91\x82\x1e\x7c\x95\x9d\x81" -+"\xac\x1d\x93\xa6\x1a\xf7\x00\x07\x9f\x8a\x91\x88\x95\x1e\x9d\x84\x76\x99\x75\x1b\x7a\x7b\x83\x7e\x81\x1f\x83\x80\x89\x81\x71\x1a" -+"\x88\x3e\xf7\x13\xf7\x76\x5f\xf7\x48\x1d\x0b\x15\x74\x7c\x7b\x73\x3f\xe0\x47\xe9\xe9\xe0\x6f\x1d\x82\x6a\x84\x1f\x61\x81\x63\x70" -+"\x56\x1b\x56\x62\xa6\xb5\x82\x1f\xab\x84\x82\x95\x75\x1b\x0e\xb2\xaa\xa8\xb1\xb0\x6c\xa9\x64\x1f\x79\x06\x65\x6b\x6d\x66\x66\xaa" -+"\x6d\xb2\x1f\x0b\x16\x9e\x1d\x0e\x80\x82\x8d\x6f\x1b\x26\x06\x72\x81\x89\x86\x82\x73\x1d\x0b\x71\x20\x1d\x7a\x93\x7c\x99\x81\x1e" -+"\x84\x0b\x95\x1e\x9a\x81\x7a\x94\x78\x1b\x7a\x7b\x83\x7e\x80\x1f\x83\x81\x89\x0b\x7e\x1a\x77\x9e\x78\x9f\x95\x96\x91\x96\x96\x1e" -+"\x0b\xb9\xa3\x9d\xad\xad\x73\x9d\x5d\x1f\x0b\x34\x1d\x7b\x79\x1a\x7a\x93\x7c\x0b\x88\x7e\x7b\x1e\xfb\x1a\x21\x05\x7a\x0b\x5d\x72" -+"\x79\x69\x69\xa3\x79\xba\x1f\x0b\x87\x81\x7f\x1e\xfb\x00\x38\x05\x0b\x7c\x84\x7d\x80\x1f\x83\x80\x89\x0b\x82\x1b\x76\x79\x7a\x76" -+"\x0b\x78\xa2\x68\x68\x78\x74\x0b\x90\x94\x97\x1e\x0e\xf7\xae\xf8\x3e\x15\xfb\x1f\x06\x79\x78\x88\x86\x84\x1f\x7b\x82\x81\x7a\x79" -+"\x1a\x69\xa3\x79\xb9\x1e\xaa\xfb\x6f\x55\xf7\x2c\x1d\xf7\xbd\x06\xba\xa3\x9c\xae\x9b\x2a\x1d\x81\x8d\x6f\x1b\xfb\x1b\xf7\x1b\x06" -+"\xd3\xe6\xb3\xa3\xa9\x1b\x98\x94\x87\x7f\x99\x1f\x7d\x9b\x96\x86\x9a\x1b\xa8\xa4\xa3\xa8\x9d\x83\x98\x76\x9c\x1f\xa4\x6b\x6a\x97" -+"\x67\x1b\x59\x68\x7c\x55\x3d\x1f\x0b\xf7\x29\x1d\x79\x1a\x7b\x93\x7c\x99\x81\x1e\x83\x95\x98\x89\xa4\x1b\xf7\x6b\x06\xa2\x97\x6c" -+"\x1d\x71\x1b\xf7\x76\xf8\x33\x05\xad\x8f\x9e\x9d\xa8\x22\x1d\x2f\x06\x2e\x1d\x7b\x93\x7b\x99\x81\x1e\x95\x85\x92\x89\xa1\x8a\xfb" -+"\x04\xfb\x5e\x18\xfb\x01\xf7\x5e\x05\xb0\x8d\x9f\x9e\xa9\x1a\x9c\x83\x9b\x7d\x95\x1e\x92\x83\x1d\x0b\xf7\x0d\x1d\x9a\x7d\x96\x1e" -+"\x92\x80\x82\x8d\x6f\x1b\xfb\x17\x06\x71\x83\x8a\x85\x81\x1f\x7b\x82\x81\x79\x7a\xf7\x5f\x1d\xa5\x1b\xbc\x06\x6a\xfb\x82\x43\xf7" -+"\x5f\x05\xfb\x00\x06\x43\xfb\x5f\x6a\xf7\x82\x05\xb6\x06\xa3\x96\x8d\x90\x95\x77\x1d\x7d\x95\x1e\x93\x80\x81\x8d\x6f\x1b\xfb\x17" -+"\x06\x70\x84\x8a\x85\x81\x1f\x7a\x81\x82\x7b\x77\x1a\x6f\x9b\x7a\xa9\x87\x1e\xc9\xfc\x62\x05\xf7\x0a\x06\x0b\x5b\x6c\x76\x69\x5e" -+"\x1a\x54\x60\x1d\x80\x1e\x7d\x6e\x83\x88\x7f\x1b\x7e\x84\x90\x95\x0b\x83\x8a\x85\x81\x1f\x7b\x82\x81\x79\x7a\x1a\x7a\x93\x7c\x99" -+"\x81\x1e\x83\x96\x96\x89\x0b\xd9\x1d\x74\x31\x71\x87\x0b\xa3\xbf\xf7\x36\x1d\x0b\x71\x83\x8a\x85\x61\x1d\x0b\xb0\x69\xc8\xa7\xaa" -+"\x92\x97\xa5\x1e\xa5\x96\x97\x99\x9f\x1a\xa1\x78\x9d\x74\x83\x85\x89\x86\x0b\x81\x1f\x7b\x81\x81\x7a\xf7\x6b\x1d\x9a\x88\xa2\x1b" -+"\x0b\x06\x64\x6c\x6d\x66\x66\xaa\x6d\xb2\x1f\x0e\x2b\x1d\x9b\x83\x9b\x7d\x95\x1f\x0b\x1a\xa7\x72\xa3\x6e\x7d\x7e\x86\x7f\x7f\x1e" -+"\x71\x72\x8b\x8b\x0b\x9c\xae\x9b\x83\x9a\x7d\x96\x1f\x92\x80\x82\x8d\x6f\x1b\x0b\xf8\x87\x15\xfb\x12\xfb\x00\xf7\x12\x06\x0b\x06" -+"\xb9\xa4\x9d\xad\xad\x72\x9d\x5d\x1f\x0b\x06\x5d\x72\x75\x1d\x0b\x06\xa2\x97\x8d\x90\x94\x77\x1d\x7d\x95\x1e\x93\x80\x82\x8d\x6f" -+"\x1b\x0b\x9a\x80\x1e\x84\x96\x98\x88\xa5\x1b\x0b\x70\x84\x8a\x85\x81\x1f\x7b\x81\x81\x0b\x32\x1d\x9c\x9d\x1a\x9b\x83\x9b\x7d\x94" -+"\x1e\x93\x80\x82\x8d\x0b\x06\x72\x82\x89\x86\x81\x1f\x7b\x81\x81\x0b\xae\x1a\xad\x73\x9d\x5d\x1e\x0b\xcf\xd7\xa3\x7c\x9b\x74\x75" -+"\x82\x0b\x9c\x93\x98\x95\x1f\x93\x96\x8d\x0b\x93\x80\x81\x8d\x70\x1b\x0b\x1f\x93\x96\x8d\x94\xa6\x1a\x0b\x1f\x7b\x81\x81\x7a\x7a" -+"\x1a\x0b\xfb\x0b\xfb\x0a\xfb\x2f\x1f\x0b\x79\x69\x69\xa4\x79\xb9\x1f\x0b\x1b\xab\x9c\x81\x79\x7e\x80\x84\x76\x7b\x0b\x1f\x9b\x95" -+"\x95\x9c\x9d\x1a\x9b\x83\x9a\x0b\xf8\x9d\xf8\x93\xb5\x1d\x0b\xf8\x06\xf7\xb4\x15\xf7\x2c\xf7\x41\x05\xb1\x8c\xa1\x9e\xaa\x22\x1d" -+"\x31\x06\x2e\x1d\x76\x95\x7d\xf7\x35\x1d\x7c\x95\x1e\x93\x2f\x1d\x30\x06\x77\x84\x8a\x88\x82\x1f\x78\x85\x7c\x76\x76\x1a\x7b\x94" -+"\x7b\x98\x82\x1e\x94\x84\x92\x89\xa1\x8a\xf7\x2f\xfb\x41\x18\xfb\x37\xfb\x4d\x05\x65\x74\x77\x6c\x68\xa3\x7a\xb9\x1f\xf7\x03\x06" -+"\xb9\xa3\x9c\xae\xa7\x78\x9e\x6c\x8e\x1f\xe9\xf5\xe8\x22\x05\x6b\x87\x78\x78\x6f\x1a\x68\xa3\x7a\xb9\x1e\xf7\x03\x06\xa0\x9a\x8d" -+"\x90\x3a\x1d\x81\x91\x84\x8d\x75\x8c\x08\x0e\xf8\x2a\xf8\x1f\x15\xa7\x66\x5a\x9a\xe1\x1d\x79\x1a\x7b\x93\x7c\x99\x81\x1e\x83\x95" -+"\x98\x89\xa4\x1b\xf7\x04\x06\xf7\x04\xdf\xda\xf1\x8a\x1f\xf7\xe5\x97\x07\xa3\x96\x38\x1d\xfb\x0c\x06\xfb\x1b\x31\x15\xd6\xc7\x55" -+"\x48\x45\x50\x55\x3f\x41\x4f\xc2\xcf\xcf\xc7\xc1\xd5\x1f\x0b\xa8\xf7\x85\x15\xfb\x27\xf7\x12\x20\xf7\x40\xd4\xd0\x9d\xa9\xb7\x1e" -+"\xaf\xa4\x9e\xa4\xa2\x64\x1d\x81\x85\x08\x7d\x71\x65\x83\x5d\x1b\xfb\x08\x3f\xc7\xe8\x1f\xc8\x07\xef\xd3\xd2\xef\xad\xad\x83\x7c" -+"\xa6\x1e\xa7\x7c\x95\x80\x8f\x75\x08\x65\x92\x9a\x7b\xaa\x3e\x1d\x96\xa4\x1a\xdb\x07\xa4\x8a\x93\x84\x95\x1e\x9a\x81\x7a\x94\x78" -+"\x1b\x79\x7f\x85\x7b\x7e\x1f\xa9\x46\x71\x91\x53\x1b\xfb\x31\x74\x1d\x0b\xf7\xf5\xf8\x61\x15\xf0\x37\x06\x73\x8d\x81\x91\x82\x1e" -+"\x7b\x95\x9c\x82\x9e\x2d\x1d\x93\xa7\x1a\xf7\x4f\xfc\xa0\xfb\x4f\x07\x73\x8d\x81\x91\x82\x1e\x7b\x95\x9d\x82\x9d\x2d\x1d\x93\xa7" -+"\x1a\xdf\xee\xfb\xfa\x4e\x07\x5f\x1d\xf7\x7b\x06\xb9\xa3\x9c\xae\x9b\x2a\x1d\x81\x8d\x70\x1b\x4d\x06\x0b\xd1\xf2\x15\x63\x8a\x77" -+"\x7a\x6a\x1a\x69\xa2\x79\xb5\x1e\xef\x06\xf7\x77\xf7\xa4\x05\xfb\x3c\x84\x07\x5d\x73\x79\x69\x69\xa3\x79\xb9\x1f\xf7\x03\x06\xba" -+"\xa3\x9d\xac\xad\x75\x9c\x5e\x8c\x1f\xf7\x6e\x95\x07\xba\xa3\x9d\xad\xad\x73\x9d\x5c\x1f\xfb\x07\x06\xfb\x77\xfb\xa3\x05\xf7\x3b" -+"\x98\x07\xc0\xa3\x9b\xaf\xaf\x73\x9b\x56\x1f\xfb\x03\x06\x5c\x73\x79\x69\x6a\x9f\x7a\xb4\x8a\x1f\x0b\xf8\x80\xf7\x6e\x15\xa2\x98" -+"\x8d\x90\x93\x1f\x9b\x95\x95\x9c\x9d\x22\x1d\xfc\x14\x06\x3d\x1d\x79\x1a\x7a\x93\x7c\x99\x81\x1e\x83\x95\x97\x89\xa5\x1b\x0e\x15" -+"\xfb\x0c\x6a\x05\x70\x84\x83\x83\x79\x1a\x78\x99\x7c\x9b\x92\x92\x8c\x8e\x93\x1e\xaf\x97\x05\xfb\x79\x5d\x07\x6e\x7d\x80\x76\x76" -+"\x9a\x7f\xa7\x1f\xf7\x37\x06\xa4\x98\x96\xa1\xa0\x7f\x96\x71\x1f\x59\x06\x0b\x15\xfb\x03\xe5\x05\x95\x7f\x83\x8e\x81\x1b\x76\x79" -+"\x7a\x76\x7f\x8f\x84\x98\x81\x1f\x93\x84\xf7\x2f\xfb\x10\xf7\x2e\xf7\x10\x05\xa3\x9e\x8c\x8d\x9b\x1a\x9f\x79\x9c\x77\x80\x82\x87" -+"\x82\x80\x1e\x0e\x15\x98\x7b\x85\x8e\x7f\x40\x1d\x92\x81\x9c\x7d\x1f\xf7\x1a\x20\x05\x7e\x9b\x92\x88\x96\x1b\xa1\x9e\x9d\xa0\x98" -+"\x84\x96\x7a\x99\x1f\x0e\x15\x4b\x57\x59\x4d\x4d\xbf\x59\xcb\xca\xc0\xbd\xc8\xca\x58\xbd\x4a\x1f\x53\x04\xab\xa5\x72\x6d\x6b\x71" -+"\x72\x6b\x6b\x71\xa4\xaa\xaa\xa5\xa4\xab\x1f\x0b\x2f\x1d\x31\xf7\x11\x1d\x6f\x9d\x79\xab\x86\x1e\x0b\xa4\x8a\x93\x84\x4d\x1d\x81" -+"\x71\x1a\x3b\x6c\x07\x70\x84\x8a\x85\x81\x1f\x7b\x82\x81\x79\x7a\x1a\x7a\x93\x7c\x99\x81\x3f\x1d\xaa\x0b\xf7\xc9\xf7\x60\x15\xb2" -+"\xaa\xa9\xb0\xb0\x6c\xa9\x64\x1f\x79\x62\x1d\xf7\xf6\xf8\x3d\x15\xfb\x4a\x06\x70\x83\x34\x1d\x7b\x79\x1a\x68\xa3\x7a\xba\x1e\xd5" -+"\xfb\x6f\xfb\x0a\x06\x71\x20\x1d\x69\xa3\x79\xb9\x1e\x0b\x06\x72\x81\x89\x86\x82\x3c\x1d\x84\x96\x96\x89\xa5\x1b\x0b\x06\x5d\x73" -+"\x79\x69\x6d\x9c\x7a\xae\x87\x1f\xfb\xfa\x07\x58\x8a\x76\x7c\x68\x1a\x69\xa3\x79\xb9\x1e\x0b\x4c\x1d\x95\x99\x88\xa3\x1b\x0b\xf9" -+"\x2f\x15\x68\x6e\x6f\x6a\x69\xa8\x6f\xae\xae\xa8\xa7\xac\xae\x6f\xa6\x67\x1f\x0e\x74\x8d\x81\x91\x82\x1e\x7b\x95\x9c\x82\x9e\x2d" -+"\x1d\x0b\x94\x1f\x9b\x95\x95\x9b\x9d\x1a\x9c\x83\x9a\x7d\x95\x1e\x93\x80\x82\x8d\x6f\x1b\x0b\xf8\x14\x16\xf7\x0d\xf7\x33\x1d\x7f" -+"\xf7\x51\x06\xe6\x40\xc1\xfb\x12\x58\x0b\x06\x77\x84\x8a\x88\x81\x1f\x79\x85\x7c\x76\x76\x1a\x7b\x93\x7b\x99\x0b\x9f\x98\xaf\x28" -+"\x1d\x37\x06\x0b\x91\xf7\x5e\x1d\x80\x1e\x25\x0b\x9b\x2a\x1d\x81\x8d\x70\x1b\xfb\x0a\x06\x0b\x1a\x7a\x93\x7c\x99\x81\x1e\x83\x96" -+"\x96\x89\xa5\x1b\x96\xfb\xfa\x80\x6d\x1d\x0b\x89\xf7\x4e\x1d\x7b\x93\x7b\x99\x81\x3f\x1d\x0b\x86\x90\xa3\x88\xad\x1b\x96\x06\xcb" -+"\xa2\x99\xb0\xb2\x75\x0b\x15\x46\x51\x55\x4a\x4a\xc5\x55\xd0\xd0\xc5\xc1\xcb\xcd\x52\xc1\x45\x1f\x50\x04\xae\xaa\x70\x6b\x0b\xf7" -+"\x64\x1d\x81\x80\x79\x78\x1a\x79\x94\x7b\x6a\x1d\x0b\x94\x78\x1b\x7a\x7b\x83\x7e\x80\x1f\x83\x81\x89\x0b\x15\x98\x7b\x85\x8e\x7f" -+"\x40\x1d\x91\x81\x9d\x7d\x1f\xf7\x1a\x0b\x1f\x9b\x95\x95\x9b\x9d\x1a\x9c\x83\x9a\x7d\x95\x1e\x93\x80\x80\x8d\x71\x1b\x0b\x7d\x66" -+"\x68\xa3\x79\xbb\x1f\x8f\xfb\x17\x06\x0b\x1a\x7b\x9b\x7c\x9c\x98\x95\x93\x9c\x95\x1e\x0b\xb9\x1b\xa9\x9e\x86\x7f\x9a\x1f\x9b\x7e" -+"\x8f\x0b\x85\x81\x1f\x7b\x82\x81\x7a\x79\x1a\x7a\x93\x7c\x99\x81\x1e\x84\x95\x0b\x6b\x72\x73\x6d\x6c\xa4\x73\xab\xab\xa4\xa3\xa9" -+"\xaa\x72\xa3\x6b\x1f\x0b\x07\xa3\x1d\x0b\x68\x6e\x70\x69\x6a\xa8\x6f\xae\xae\xa8\x0b\xb9\xa3\x9c\xae\x9b\x83\x9b\x7d\x95\x1f\x92" -+"\x80\x82\x8d\x6f\x1b\x0b\x94\x54\x1b\xfb\x2d\x20\x2a\xfb\x1f\x0b\x5c\x73\x75\x1d\x0b\x9b\x94\xf7\x69\x1d\x93\x80\x0b\x7d\x84\x80" -+"\x7e\x1a\x76\x9e\x79\xa1\x96\x92\x8e\x98\x0b\x1f\x9b\x95\x95\x9c\x9d\x1a\x9b\x83\x9b\x7d\x95\x1e\x0b\xa1\x9b\xa5\x94\x85\x99\x85" -+"\x92\x1f\x94\x83\x7e\x8e\x0b\x7d\xa3\x1b\xa9\xa3\x99\xac\xa7\x1f\xa1\xa6\x93\x0b\x9b\x83\x9b\x7d\x95\x1f\x93\x80\x82\x8c\x6f\x1b" -+"\x0b\x9d\xad\x9b\x2a\x1d\x81\x8d\x0b\x1b\x80\x80\x90\x9e\x69\x1f\xa9\x59\x78\x92\x0b\x9d\x1b\x9c\x70\x1d\x0b\xd5\xc1\xc9\xa1\x7c" -+"\x9a\x75\x0b\x1e\x3d\x06\x61\x75\x79\x69\x0b\x72\x81\x8a\x85\x82\x1f\x7b\x0b\x9d\x5c\x1f\xfb\x0c\x06\x5d\x73\x79\x68\x0b\xf8\x29" -+"\xf7\x7a\xb2\x1d\x0b\x15\xfb\x13\x80\x07\xde\x1d\xf7\xfa\x06\xad\x8f\x9d\x9d\xa9\x1a\x9b\x83\x9a\x7d\x96\x1e\x92\x4b\x1d\x7a\x93" -+"\x7b\x99\x81\x1e\x84\x96\x95\x89\xa6\x1b\x96\xfb\x14\xfb\x62\xf7\x14\x96\x06\xa4\x95\x8c\x91\x94\x1f\x9b\x95\x95\x9b\x9e\x33\x1d" -+"\x4b\x1d\x6d\x9d\x79\xad\x87\x1e\xfb\xfa\x93\x1d\xf7\x0d\x06\xba\xa2\x65\x1d\x80\xf7\x13\x06\x0b\xf7\x26\x1d\x9c\xae\x9b\x83\x9b" -+"\x7d\x95\x1f\x93\x80\x81\x8c\xf0\x1d\x85\x8a\x88\x81\xbd\x1d\x92\x80\x82\x8d\x6f\x1b\x6c\x06\x0b\xf8\x9d\xf8\x93\xf7\x13\x1d\x59" -+"\x1b\xfb\x13\x2d\x41\x28\xf7\x55\x1d\xce\x80\x9a\x87\xa1\x80\x08\x9f\x81\x98\x79\x79\x1a\x64\x53\x6d\x42\x4c\x4d\xa6\xab\x81\x1e" -+"\x83\xa6\x8b\x8b\x84\x92\x08\x95\xee\x1d\xf7\x20\xe8\xcf\xf2\xbe\x77\xb3\x63\xaa\x1f\x6b\xa4\x64\x98\x33\x9a\x41\x99\x86\xf7\x39" -+"\x1d\x73\x66\xd8\x1d\x0b\xf7\x13\x1d\x58\x1b\xfb\x12\x2d\x41\x29\xf7\x55\x1d\xcd\x7f\x9b\x87\xa1\x81\x08\x9f\x81\x98\x79\x79\x1a" -+"\x64\x53\x6d\x43\x4b\x4d\xa6\xab\x81\x1e\x83\xa5\x8b\x8b\x84\x93\x08\x94\xee\x1d\xf7\x1f\xe9\xd0\xf1\xbe\x77\xb3\x63\xaa\x1f\x6b" -+"\xa3\x64\x99\x33\x9a\x3f\x99\x88\xf7\x39\x1d\x72\x67\xd8\x1d\x0b\xf7\x29\x1d\x7a\x1a\x7a\x93\x7c\x99\x81\x1e\x83\x95\x98\x89\xa4" -+"\x1b\xf7\x6b\x06\xa2\x97\x6c\x1d\x71\x1b\xf7\x76\xf8\x33\x05\xad\x8f\x9e\x9d\xa8\x22\x1d\x2f\x06\x2e\x1d\x7b\x93\x7b\x99\x81\x1e" -+"\x95\x85\x92\x89\xa1\x8a\xfb\x04\xfb\x5e\x18\xfb\x01\xf7\x5e\x05\xaf\x8d\xa0\x9e\xa9\x1a\x9c\x83\x9a\x7d\x95\x1e\x93\x83\x1d\x0b" -+"\xf7\x6f\xf7\x33\x15\x99\x95\xec\x39\x05\x81\x7e\x87\x82\x7e\x1a\x69\xa3\x79\xb9\x1e\xf7\x0a\x06\xba\xa3\x9c\xae\x9c\x2a\x1d\x81" -+"\x8c\x6f\x1b\x6b\x06\xfb\x2f\xf7\x17\xf7\x06\xe3\x05\xa5\x06\xa3\x96\x8c\x91\x8c\x1d\xfb\x04\x06\x72\x80\x89\x86\x82\x73\x1d\x7d" -+"\x8f\x81\x95\x7f\x1e\x46\x57\x05\xf7\xd1\xfb\x0c\x07\x78\x83\x8b\x88\x81\x1f\x79\x85\x7c\x76\xf7\x45\x1d\xfc\x20\x7f\x06\x72\x81" -+"\x89\x85\x82\x1f\x7b\x82\x81\x7a\x79\x1a\x69\xa3\x79\xb9\x1e\xf7\x0c\x06\x0b\xf7\x3d\x1d\xf7\x13\x22\xe8\xfb\x23\x4f\x61\x7d\x66" -+"\x5c\x1f\xb2\xfb\x0c\x07\xf7\x0f\x1d\x97\xfc\x33\xc2\x1d\xd1\xf7\x7c\x15\xfb\x15\x07\x65\x8a\x74\x78\x6c\x1a\x69\xa3\x79\xb9\x1e" -+"\xf7\x61\xe0\x1d\x98\x82\x1e\x95\x84\x92\x89\xa1\x8a\x08\xfb\x12\x88\x07\x70\x20\x1d\x68\xa3\x7a\xb9\x1e\xf7\x04\x16\xd1\x31\x1d" -+"\x45\xf7\x12\xf5\x06\xe7\x8f\xcf\x46\x8d\x28\x08\x5f\x07\x2b\x4d\x51\x28\x8f\x1e\x20\x06\x0e\xf8\x53\xf7\xcf\x15\xf7\x1c\x1d\x05" -+"\x73\x74\x86\x88\x75\x1b\x81\xb6\x06\xc1\x8d\xa0\x99\xaf\x28\x1d\x36\x06\x4b\x74\x7d\x66\x66\xa0\x7c\xc2\x8a\x1f\xfb\x6d\x07\x54" -+"\x8a\x76\x7c\x67\x1a\x65\xa2\x7d\xcb\x1e\xe0\x06\xcb\xa2\x99\xb0\xae\x73\x9d\x5c\x1f\x89\x06\x89\xd1\xa3\x06\xa5\x8c\xa8\x77\xab" -+"\x62\xbd\x48\x18\xad\x5f\x8f\x89\xb1\x8a\x08\xb7\x06\xb5\xa0\x9d\xae\xb1\x75\x97\x47\x8c\x1f\x58\xcf\x76\xa8\x75\xa0\x74\x9a\x19" -+"\xcd\xcd\x05\x0b\xf7\x6e\xf7\xd6\x15\xf7\x45\xf7\x32\x1d\xfb\x45\xdb\x06\xc0\x1d\x0b\xf8\x2a\xf8\x1f\x15\xa6\x68\x58\x9b\xe1\x1d" -+"\x7a\x1a\x7a\x93\x7c\x99\x81\x1e\x83\x95\x98\x89\xa4\x1b\xf7\x04\x06\xf7\x04\xdf\xda\xf1\x8a\x1f\xf7\xe5\x97\x07\xa3\x96\x38\x1d" -+"\xfb\x0c\x06\xfb\x1b\x31\x15\xd6\xc7\x55\x48\x45\x50\x55\x3f\x41\x4f\xc2\xcf\xcf\xc7\xc1\xd5\x1f\x0b\x1f\x78\x85\x7d\x76\x75\x1a" -+"\x76\x95\x7c\x9c\x83\x1e\xfb\x3a\xfb\x1c\x05\xf7\x16\xaa\x07\xa3\x96\x8c\x91\x94\x1f\xa4\x1d\x81\x8d\x70\x1b\xfb\x2a\x87\x1d\x96" -+"\xfb\xfa\x80\x06\x72\x82\x8a\x9d\x1d\x9a\x88\xa2\x1b\xf7\x2a\x63\x1d\x0b\xf7\x98\xf8\x61\x15\xf7\x63\x37\x06\x72\x8d\x82\x91\x82" -+"\x1e\x7b\x95\x9c\x82\x9e\x1b\x9d\x9a\x92\x99\x96\x72\x1d\xf7\x4f\xfc\x70\x07\x5d\x73\x79\x69\x7b\x93\x7c\x99\x81\x1f\x83\x97\x93" -+"\x89\xa7\x1b\xc0\xfb\xfa\x56\x06\x74\x7f\x89\x86\x82\x1f\x7b\x81\x81\x7a\x79\x1a\x7b\x93\x7c\x99\x80\x1e\x84\x96\x93\x89\xa8\x1b" -+"\xf7\x6a\x06\xa4\x95\x8d\x90\x94\x99\x1d\x56\x06\x0e\x15\x78\x7e\x7d\x78\x79\x97\x80\x9e\x89\x1f\xa3\x8a\x92\x8a\x95\x86\x08\xa3" -+"\x80\x9b\x76\x77\x1a\x6a\x70\x7a\x55\x68\x7d\x8e\x94\x7d\x1e\x92\x83\x87\x8c\x84\x1b\x7b\x7e\x7d\x78\x6c\xb9\x76\xd1\xb9\xaa\x93" -+"\x9e\xa3\x1f\xa5\x9f\x9b\xad\xac\x1a\xaf\x77\xac\x68\x9f\x1e\xa9\xa1\x99\xa3\xab\x1a\xc8\x5a\xb7\x48\x4e\x54\x6b\x67\x79\x98\x7c" -+"\x9b\x93\x93\x8e\x92\x90\x1e\x9f\x9c\x99\x91\xa7\x1b\xad\xa1\x7b\x73\x74\x75\x77\x72\x1f\x0b\x84\x1d\xfb\x5e\x06\x38\xd3\x57\xf7" -+"\x09\xc1\xd9\x9b\xa1\xbc\x1e\xb3\x9d\x98\x98\xa4\x1a\xa8\x74\xa2\x6e\x7f\x85\x89\x82\x78\x1e\x76\x5f\x5b\x80\x57\x1b\x66\x70\x91" -+"\x97\x80\x1f\x86\x90\x89\x94\x9e\x1a\x0b\xd1\xf2\x15\x65\x8a\x74\x78\x6c\x1a\x7a\x94\x7b\x98\x82\x1e\x84\x95\x9a\x88\xa3\x1b\xf7" -+"\x60\xe0\x1d\x99\x82\x1e\x94\x84\x92\x89\xa1\x8a\x08\xf7\x00\xfb\xfa\x15\xf7\xfa\xf5\x07\xe7\x8f\xcf\x46\x8d\x28\x08\x5e\x07\x2c" -+"\x4d\x51\x28\x8f\x1e\x0b\x7f\x06\x72\x81\x89\x86\x82\x1f\x7b\x82\x81\x79\x7a\x1a\x7a\x93\x7c\x99\x81\x1e\x83\x95\x97\x89\xa5\x1b" -+"\xf7\x42\x06\xa2\x98\x8d\x90\x3a\x1d\x92\x2f\x1d\x55\x06\xf7\x25\xf8\x3f\x15\xdf\xc7\x5d\x4a\x6c\x79\x6a\x6f\x77\x1f\x79\x72\x6a" -+"\x82\x63\x1b\x62\x6a\x94\x9d\x72\x1f\x70\x9f\x78\xac\xa9\x1a\xcd\xc6\xb9\xe1\x1e\x0e\x08\xd2\xb0\xad\xba\xc8\x1a\xf1\x30\xd2\xfb" -+"\x19\x1e\xfb\x73\x06\xf7\x0b\x1d\xfb\xf9\x80\x06\x72\x82\xf7\x3f\x1d\xf7\x2a\x06\xa0\x9a\x8e\x8f\x3a\x1d\x93\x80\x82\x8d\x6f\x1b" -+"\x6c\x0b\xf7\xf6\xf7\xd6\x15\xe0\x06\xa3\x97\x8d\x90\x94\x77\x1d\x7c\x96\x1e\x92\x81\x81\x8d\x6f\x1b\x36\xf7\x01\x06\xa5\x8a\x92" -+"\x84\x95\x1e\x9a\x82\x79\x97\x1d\x81\x71\x1a\xfb\x01\x35\x07\x72\x81\x89\x86\x82\x1f\x7b\x82\x81\x79\x7a\x1a\x7a\x93\x7c\x99\x81" -+"\x1e\x83\x96\x96\x89\xa5\x1b\xe1\x0b\xf8\xa7\x15\x7d\x7e\x81\x77\x7b\x1f\x6f\x77\x87\x88\x7e\xab\x1d\x74\x1b\x6c\x6e\x7c\x6d\x71" -+"\x1f\x79\x76\x81\x78\x7d\x1a\x78\x9a\x7d\x9f\x96\x94\x90\x96\x94\x1e\xaf\xa7\x93\x91\x9b\x1b\x99\x92\x88\x7a\xa6\x1f\x70\xb8\xac" -+"\xa8\x1d\x9a\x9a\x1a\x9b\x7a\x9a\x78\x1e\x0e\x15\x7d\x7e\x81\x77\x7b\x1f\x70\x77\xf7\x5b\x1d\x59\x79\x92\x72\x1b\x6d\x6e\x7c\x6e" -+"\x71\x1f\x79\x75\x81\x79\x7d\x1a\x78\x9a\x7d\x9e\x97\x94\x8f\x97\x94\x1e\xaf\xa8\x92\x90\x9b\xf5\x1d\xf8\x3d\x15\x29\x06\xcc\x1d" -+"\xf7\x3c\x06\x0b\xf8\x14\xf7\xd6\x15\xfb\xe5\x07\x5c\x67\x6c\x55\x1e\xfb\x03\x06\x71\x83\x8a\x85\x81\x1f\x7b\x82\x81\x79\x7a\x1a" -+"\x7a\x93\x7c\x99\x81\x1e\x83\x95\x98\x89\xa4\x1b\xf7\x06\x06\xf7\x03\xe0\xda\xf1\x8a\x1f\xf8\x4c\xfb\xc6\x07\x4c\x1d\x96\x97\x88" -+"\xa4\x1b\x0b\x5d\x1d\x5d\x1b\x37\x5a\x5e\x1d\x0b\x15\x9a\x9a\x90\x1d\x23\x05\x76\x75\x89\x88\x4e\x1d\xf7\x9e\xf4\x15\xa0\xa2\x8b" -+"\x8b\x99\x1a\x9f\x79\x9d\x77\x7f\x82\x87\x7f\x80\x1e\x25\x23\x05\x77\x75\x89\x88\x4e\x1d\x0e\xf7\x45\x07\xa1\x1d\xfb\x45\xdb\x06" -+"\x84\x1d\x0b\x2e\x1d\x7b\x93\x7b\x99\x81\x1e\x95\x85\x92\x89\xa1\x8a\x08\xfb\x6f\x93\x1d\xf7\x04\x2b\x1d\x9b\x83\x9a\x7d\x96\x1f" -+"\x92\x80\x82\x8d\x6f\x1b\x89\x0b\x86\x1d\xf7\xec\x06\xb9\xa3\x9c\xae\x91\x1d\x0b\xb2\x8c\xa1\x9d\xab\x22\x1d\xfb\x16\x87\x1d\xaa" -+"\xfb\x9a\x06\xfb\x90\xf8\x01\x05\xfb\x09\x06\x3d\x1d\x79\x1a\x7b\x0b\x06\x73\x6b\x76\x61\x7c\x1a\x83\x92\x84\x94\x92\x8f\x8d\x92" -+"\x91\x1e\xad\xb2\xa3\x9f\xbc\xa8\x99\x94\x18\x91\x8e\x8f\x8d\x8c\x8c\x08\x99\x93\x8e\x8e\x93\x1a\x92\x87\x8f\x78\x95\x1e\x4f\xad" -+"\x6e\xa2\x6c\xae\x08\x98\x80\x87\x8e\x84\x1b\x82\x83\x85\x83\x7c\x9b\x6b\xa8\x5f\x1f\x0b\x06\x5d\x73\x79\x69\x69\xa3\x7a\xb9\x1f" -+"\x90\x55\xfb\x5c\xc1\x90\x06\xb9\xa3\x9c\xad\xad\x73\x9d\x5d\x1f\x2c\x06\x5d\x73\x79\x69\x6d\x9c\x7a\xae\x87\x1f\xfb\x6e\x07\x58" -+"\x8a\x76\x7b\x69\x1a\x68\xa3\x79\xb9\x1e\xf7\x07\x27\x1d\x86\xc7\x0b\xe5\xf2\x15\x80\x06\x72\x82\x89\x86\x61\x1d\xf7\xbb\x06\xf7" -+"\x0d\xdb\xc9\xea\xc6\x69\xba\x47\xab\x1f\xb4\xaa\x9d\xac\xb7\x1a\xe8\x36\xcf\xfb\x07\x1e\xfb\x91\x06\x72\x81\x89\x86\x82\x1f\x7b" -+"\x0b\x15\x8c\x98\x8c\x97\x93\x1a\xb9\x64\xaf\x5a\x59\x64\x67\x5d\x84\x8c\x7e\x8c\x7e\x1e\xa8\xfb\xac\x05\x6a\x8e\xa1\x77\xac\x1b" -+"\xab\xa1\x9f\xac\x8e\x1f\x5a\xfb\x80\x15\xb5\xac\xaa\xb2\xb2\x6a\xaa\x61\x1f\x7a\x06\x62\x6a\x6c\x64\x64\xac\x6c\xb4\x1f\x0b\xf7" -+"\x63\x1d\x88\x8f\x84\x91\x1f\x63\xac\x78\xa1\x6d\xbc\x88\x8f\x88\x90\x88\x90\x08\x88\x90\x87\x91\x8b\x1a\x98\x84\x88\x8e\x82\x1b" -+"\x84\x87\x87\x79\x81\x1f\x6a\x52\x72\x6b\x67\x6f\x08\x7e\x80\x88\x86\x85\x1a\x81\x92\x84\x93\x99\x0b\xf7\xf6\xf8\x60\x15\xe9\x67" -+"\x1d\xfb\xbc\x68\x1d\xe9\xfb\xf8\x2d\x68\x1d\xf7\xbc\x67\x1d\x2d\x06\xfb\x31\x0b\xa5\x77\x5e\x1f\xfb\x3a\x07\x65\x74\x78\x6b\x68" -+"\xa3\x7a\xba\x1f\xe4\x06\xb9\xa3\x9c\xae\x9b\x83\x9b\x7d\x95\x1f\x81\x91\x84\x8d\x75\x8c\x08\xf7\x3e\xf7\x5a\x1d\x5c\x1b\x56\x6a" -+"\x7e\x63\x5d\x1f\x0b\x07\x8c\x98\x94\x8c\x8f\x76\x1d\x75\x91\x94\x7a\x1f\x96\x77\x89\x8c\x55\x1d\x7a\x94\x7e\xa0\x80\x1f\x7e\xa5" -+"\xb2\x81\xa7\x1b\xcd\xb9\xb3\xc3\xbe\x72\xa8\x59\x96\x1f\x0e\x8c\x98\x94\x8c\x8f\x76\x1d\x75\x91\x94\x7a\x1f\x96\x77\x89\x8c\x55" -+"\x1d\x7a\x94\x7e\xa0\x80\x1f\x7e\xa5\xb3\x81\xa7\x1b\xcc\xb9\xb3\xc3\xbd\x72\xa9\x59\x96\x1f\x0b\x94\x1e\x92\x6b\x8b\x8b\x93\x83" -+"\x08\x82\x94\x9a\x85\x9a\x1b\x9c\x9a\x93\x98\x96\x1f\x93\x96\x8d\x93\xa6\x1a\x0b\xf7\x21\x1d\xfb\x17\xf7\x02\x2e\xf7\x32\xd3\xf2" -+"\x9c\x9f\xb8\x1e\xa4\x95\x97\x9a\xa0\x1a\xa8\x75\xa2\x6e\x80\x80\x89\x88\x7e\x1e\x0b\xfc\x6f\x07\x71\x83\xf7\x19\x1d\x96\xfb\xfa" -+"\x80\x6d\x1d\x7a\x7a\x1a\x69\xa3\x79\xb9\x1e\x0b\x71\x83\x50\x1d\x99\x81\x1e\x84\x96\x95\x88\xa6\x1b\x97\x0b\x15\xfb\x28\xfb\x17" -+"\x05\x7f\x81\x86\x82\x82\x1a\x78\x9b\x7d\x9f\x97\x8e\x8c\x98\x9b\x1e\xf7\x90\xf7\x46\xfb\x90\xf7\x47\x05\x98\x7a\x89\x8c\x7f\x1b" -+"\x77\x7b\x7d\x78\x81\x90\x84\x97\x80\x1f\x0b\xf8\xc5\xdf\x1d\x72\x82\x8a\x85\x81\x1f\x7b\x82\x81\x79\x7a\x1a\x7a\x93\x7b\x99\x82" -+"\x1e\x84\x95\x99\x88\xa3\x1b\xf7\x0d\x06\xb9\xa3\x65\x1d\x89\x0b\x15\x73\x7c\x7b\x73\x3f\xdf\x47\xea\xea\xdf\x6f\x1d\x82\x6a\xf7" -+"\x1d\x1d\x06\xf7\x32\x87\xf7\x03\xf1\x8c\xf7\x2c\x08\xb7\x07\xf7\x2d\xfb\x07\xf7\x0b\xfb\x27\x89\x1e\xfb\x68\x06\x70\x20\x1d\x7a" -+"\x94\x7b\x0b\x58\x1b\xfb\x1d\x24\x2a\xfb\x15\xfb\x14\xf3\x29\xf7\x1c\xbd\xb8\x99\xa9\xb5\x1f\x5e\x07\x5c\x67\x6c\x55\x1e\xfb\x01" -+"\x06\x71\x83\x8a\x85\x81\x1f\x7b\x82\x81\x79\x0b\xf7\x12\x1d\x82\x87\x80\x84\x9b\x1d\x0e\x15\x9d\xf7\x57\x1d\x7e\x7b\x1e\xfb\x19" -+"\x21\x05\x7b\x7e\x83\x7f\x7e\x1a\x77\x9e\x79\xa1\x95\x94\x8f\x97\x9a\x1e\x0e\x95\x1d\x6a\x6d\x70\x67\x67\x6d\xa6\xac\xab\xa9\xa6" -+"\xaf\x1f\x0e\xf7\x1f\x1d\x7f\x9b\x93\x87\x95\x1b\xa2\x9e\x9d\xa0\x99\x85\x94\x78\x9a\x1f\x0e\xf7\x6f\xf7\x0d\x15\x34\xb9\x5a\xde" -+"\xbf\xad\xa2\xaf\xa7\x73\xa3\x6f\x84\x82\x89\x89\x83\x1e\x89\x85\x85\xf7\x53\x1d\x0b\xa1\x9b\x9d\x9e\x95\x97\x88\x86\x9b\x1e\x86" -+"\x9c\x8f\x8a\x95\x1b\xa9\xa2\xa2\xa8\x9d\x83\x99\x7c\x95\x1f\x98\x76\x5f\x95\x66\x1b\x3d\x4d\x4c\x3b\x1f\x69\x0b\xf7\x53\x1d\x56" -+"\x1d\x5e\x1e\x0b\xaf\x1d\x81\x81\x7a\x7a\x1a\x7a\x93\x7c\x99\x81\x1e\x84\x95\x0b\x95\x1d\x69\x6d\x70\x67\x67\x6d\xa7\xab\xac\xa9" -+"\xa6\xaf\x1f\x0b\x70\x20\x1d\x69\xa3\x79\xba\x1e\xf7\x7a\x06\xba\xa3\xaa\x1d\x6f\x1b\x4e\x0b\x6a\x1d\xf8\xb4\x06\xa2\x98\x8d\x91" -+"\x95\x1f\x9c\x95\x96\x9d\x9e\x1a\x9d\x82\x9c\x7c\x95\x1e\x93\x7f\x82\x8d\x6e\x1b\x0b\xaa\x9b\x98\xa4\xa4\x7b\x98\x6c\x1f\xfb\x01" -+"\x06\xbc\x89\x7c\x9f\x66\x1b\x66\x7b\x77\x5a\x8a\x1f\x5f\x06\x6c\x7b\x7e\x72\x72\x9b\x7e\xaa\x1f\xb7\x0b\x81\x7d\x90\x7c\xf7\x50" -+"\x1d\x4c\x07\x5e\x9d\x75\xaf\x9c\x94\x90\x9c\x9b\x1e\x72\xbe\xbd\x80\xc1\x1b\x0b\x9d\x2d\x1d\x94\xa6\x1a\xf6\x07\xa4\x8a\x93\x84" -+"\x95\xf7\x60\x1d\x81\x1f\x83\x0b\x70\x1b\x6e\x06\x5e\xf6\x4e\xda\x50\xa9\xf7\x3e\xf7\x22\x18\xb5\xa2\x9d\xac\x9c\x83\x9a\x7d\x95" -+"\x1f\x93\x2f\x1d\x27\x06\x76\x0b\xf8\x82\xf8\x61\x15\xc0\x69\x1d\xfb\xa8\x06\x0b\x15\xf7\x01\x30\x05\x82\x97\x93\x87\x96\x1b\x9f" -+"\x9d\x9c\xa0\x9a\x88\x8f\x75\x9c\x1f\xfb\x2d\xf7\x11\xfb\x2f\xfb\x11\x05\x73\x79\x89\x0b\x1a\xa1\x79\x9c\x74\x7f\x85\x51\x1d\xa5" -+"\x1d\x9b\x1e\x0e\xf7\x01\x1d\x0e\xf7\x24\x1d\xa5\x93\x9a\x9a\x1a\x9b\x7a\x9a\x78\x1e\x0e\x87\x1e\xf7\x10\x26\xfb\x21\xfb\x0a\x05" -+"\x67\x88\x77\x79\x6d\x1a\x69\xa3\x79\xb9\x1e\xf7\x03\x06\xba\xa2\x9c\xaf\xa2\x82\x97\x0b\xab\xa4\xa3\xa9\xaa\x72\xa3\x6b\x1f\xf7" -+"\x61\x4a\x1d\xf7\x6c\xf7\x1c\xf7\x5d\x1d\x79\xf7\x61\x1d\xf7\x9a\x05\x0b\x1e\x29\x06\x4c\x74\x7e\x65\x66\xa4\x7a\xc3\x8c\x1f\xfb" -+"\xf8\x07\x4f\x8a\x76\x7d\x65\x1a\x66\xa2\x7d\xca\x1e\xed\x06\x0b\x15\x99\x97\x92\x96\x97\x1a\x9d\x7a\x9b\x78\x82\x81\x53\x1d\x7d" -+"\x80\x84\x80\x7e\x1a\x79\x0b\xf7\x4f\x06\xa4\x89\x94\x85\x94\x1e\x9b\x81\x7a\x94\x78\x1b\x79\x54\x1d\x82\x70\x1a\x37\x0b\xcb\x07" -+"\xc6\x8d\x9e\x97\xb0\x28\x1d\x3a\x06\x4d\x73\x7d\x67\x68\xa1\x7a\xb9\x8a\x1f\x4b\x07\x0b\xf7\xc4\x15\xe4\xf7\x58\x05\x97\xa6\x8e" -+"\x94\xf7\x3b\x1d\x0b\xa3\x89\x95\xf7\x0c\x1d\x0b\x06\x70\x84\x8a\x85\x81\x3c\x1d\x84\x96\x96\x89\xa5\x1b\x0b\x06\xa4\x8a\x93\x84" -+"\x4d\x1d\x80\x72\x1a\x0b\x46\xfb\x5c\x05\x88\x85\x8a\x83\x85\x1a\x7b\x9b\x7d\x9e\x99\x94\x91\x9d\x97\x1e\xf7\x25\xf7\x76\x05\x0b" -+"\xf7\x0e\x1d\x96\x0b\x85\x94\x1e\x9b\x81\x7a\x94\x78\x1b\x7a\x7b\x83\x7e\x80\x1f\x83\x80\x89\x82\x70\x1a\x5d\xfb\x8c\x0b\xf7\xc0" -+"\xf7\x95\x15\xe6\xfb\x95\x05\xf7\x08\x06\xc7\xf8\x62\x05\xa9\x90\x9c\x9e\xa6\x1a\x9b\x83\x0b\x70\x84\xf7\x19\x1d\x0b\x72\x81\xf7" -+"\x17\x1d\x0b\x77\x1a\x6d\xa6\x71\xab\xa0\x95\x91\xac\xa6\x1e\xa8\xa4\x94\x93\x92\x1b\x90\x99\x82\x7c\x9d\x1f\x0b\x06\x77\x84\x8a" -+"\x88\x82\x1f\x77\x85\x7d\x76\x76\x1a\x0b\x15\x8e\x91\x8f\x9b\x90\x1a\x9b\x7b\x9a\x7b\x7d\x81\x84\x79\x82\x1e\xfb\x7d\xfc\x47\x05" -+"\x87\x0b\x15\xf7\x25\x1d\x5e\x96\x0b\xf7\x30\x1d\x66\x77\x59\x68\x1f\x0b\xfb\x2f\xfb\x11\x05\x73\x78\x89\x88\x7d\x1a\x76\x9d\x7a" -+"\xa0\x95\x94\x8f\x94\x97\x1e\x0e\xf7\x48\x1d\x9b\x93\x99\x96\x1f\x93\x95\x8d\x0b\x89\x86\x82\x3c\x1d\x84\x96\x95\x89\xa6\x1b\x0b" -+"\x8a\x84\x80\x1f\x7a\x82\x80\x78\x78\x1a\x79\x94\x7b\x6a\x1d\x0b\x34\x1d\x7a\x7a\x1a\x7a\x94\x7b\x98\x82\x1e\x83\x96\x96\x89\xa5" -+"\x1b\x0b\xf7\x20\x1d\x7d\x0b\x1f\xfb\xc1\xed\x07\xb9\xa3\x9c\xae\x9b\x83\x9b\x7d\x95\x1f\x81\x91\x84\x8d\x76\x8c\x08\x0b\x6d\x92" -+"\x9c\x7d\xa9\x1b\xb1\x9a\xa2\xc6\xbf\x77\x9f\x57\x57\x5f\x7a\x6a\x6d\x1f\x4a\x45\x0b\x84\x1f\x61\x82\x62\x70\x56\x1b\x56\x62\xa6" -+"\xb5\x82\x1f\xab\x84\x82\x95\x76\x1b\x0e\x83\x1b\x85\x7f\x92\x98\x7c\x1f\xc9\x44\x70\x99\x5e\x1b\x5f\x69\x79\x5f\x63\x1f\x6d\x0b" -+"\x15\x98\x7b\x85\x8e\x7f\x40\x1d\x92\x80\x9c\x7e\x1f\xf7\x1a\x20\x05\x0b\x15\x9a\x97\x92\x96\x97\x1a\x9d\x7a\x9b\x78\x82\x80\x53" -+"\x1d\x0b\xf8\xbe\xf7\x38\x15\xb4\x07\xf7\x1a\xfb\x03\xed\xfb\x2c\xfb\x29\xfb\x05\x28\xfb\x15\x0b\x06\x72\x81\x89\x86\x82\x3c\x1d" -+"\x83\x0b\x15\xf7\x1d\x06\xa2\x98\x32\x1d\x9c\x9d\x1a\x9b\x83\x9b\x7d\x0b\x1b\x99\x92\x88\x7b\xa6\x1f\x6f\xb9\xab\x7e\xa2\x1b\xaa" -+"\xa3\x99\xac\xa7\x1f\xa1\x0b\xa5\x8a\x92\x85\x95\x1e\x9a\x82\x79\x94\x78\x1b\x77\x80\x83\x75\x81\x1f\x9e\x6a\x0b\xf7\x5a\xf7\x5c" -+"\x15\xc3\xb9\xc5\x7b\xcf\x28\xb6\xfb\x17\x19\xf7\x05\x06\xb9\xa3\x0b\x1e\x87\x7b\x8a\x85\x7d\x1a\xf7\x00\xfb\xf8\x15\xf7\x6f\xcc" -+"\xfb\x6f\x07\x0e\xf8\x60\x15\xfb\xf8\x81\x07\x5c\x73\x79\x69\x69\xa3\x79\xba\x1f\xf7\x0c\x06\x0b\xf7\x82\x91\x15\x56\x28\x05\x29" -+"\x06\x72\x82\x89\x86\x81\x1f\x7b\x82\x81\x79\x0b\x76\x7d\x6c\x6a\x1a\x4a\xbb\x5f\xd3\xd3\xbb\xb6\xcd\xac\x7d\xaa\x71\xa0\x1e\x0b" -+"\x34\x1d\x7a\x7a\x1a\x7a\x0b\x06\x71\x83\x8a\x85\x81\x1f\x7b\x82\x81\x79\x7a\x1a\x69\xa3\x79\xb9\x1e\x0b\xfb\x2e\xf7\x11\xfb\x2f" -+"\xfb\x11\x05\x74\x79\x89\x87\x7d\x1a\x76\x9d\x7a\x0b\x15\xa3\x9e\x78\x74\x73\x78\x78\x74\x73\x78\x9e\xa3\xa1\x9e\x9f\xa2\x1f\x0b" -+"\x1a\x6d\xa1\x76\xa9\x1e\xac\x06\xb2\x8c\x96\x94\x9f\xbd\xb4\xf5\x18\x99\x0b\xa1\xc6\x1f\x94\x07\xf7\x51\x1d\x0b\x74\x8d\x80\x91" -+"\x81\x1e\x7b\x96\x9e\x81\x9f\x1b\x9e\x9c\x93\x9a\x96\x1f\x0b\x06\xa1\x1d\x0b\x06\xba\xa2\x9c\xae\x9b\x83\x9b\x7d\x95\x1f\x92\x80" -+"\x82\x8d\x6f\x1b\x0b\x15\xfb\x3f\xfb\x1f\xfb\x19\xfb\x37\xfb\x36\xf7\x1f\xfb\x1b\xf7\x3c\x0b\xa4\x7e\x1e\x35\x2b\x33\xeb\x05\xa4" -+"\x98\x95\x98\xa2\x1a\x9b\x83\x9a\x0b\x72\x1f\x8d\xe7\x15\xb9\x9b\xc5\xab\xcf\x1b\xcf\xc4\x6b\x5d\x9c\x1f\x0b\x79\x5d\x1b\x5e\x68" -+"\x9e\xa7\x83\x1f\xa5\x84\x82\x94\x77\x1b\x0e\x8a\x84\x80\x1f\x7a\x81\x80\x79\x78\x1a\x7a\x94\x7a\x9a\x80\x1e\x0b\x8c\x77\x95\x08" -+"\x77\x94\x7d\xa0\x9e\x1a\xb1\xbb\xa9\xc8\xc8\xb8\x0b\x8d\x90\x93\x1f\x9b\x94\x95\x9d\x9d\x1a\x9b\x83\x9b\x7d\x95\x1e\x0b\x98\x1a" -+"\xa2\x7a\x9a\x6f\x61\x80\x7e\x48\x7f\x1e\x67\xfb\x5f\x05\x0b\x1e\xfb\x7d\xfc\x47\x05\x87\x82\x87\x80\x84\x1a\x7b\x9b\x7c\x9c\x0b" -+"\xf7\x46\xc6\x15\x68\xbb\xb9\x7c\xc5\x1b\xf7\x21\xf3\xe3\xf7\x0c\x0b\x7e\x81\x87\x83\x81\x1e\x6a\x63\x6b\x82\x3b\x1b\xfb\x07\x52" -+"\x0b\x89\x85\x81\x1f\x7b\x82\x81\x7a\x79\x1a\x69\xa3\x79\xb9\x1e\x0b\x15\xf7\x28\xf7\x17\x05\x97\x96\x90\x92\x95\x1a\x9e\x7b\x99" -+"\x0b\x15\xf7\x02\x31\x05\x82\x96\x94\x87\x96\x1b\x9f\x9d\x9c\xa0\x0b\x15\xfb\x03\xe5\x05\x96\x7e\x83\x8e\x81\x1b\x76\x79\x7a\x76" -+"\x0b\x94\x1f\x9b\x95\x95\x9c\x9c\x1a\x9c\x83\x9a\x7d\x95\x1e\x93\x0b\xf7\xc1\xf7\x39\x15\xd0\xfb\x39\x05\xec\x06\xdf\xf7\xd6\x05" -+"\x0b\x76\x1a\x7a\x93\x7c\x99\x81\x1e\x83\x96\x95\x89\xa6\x1b\x97\x0b\x7c\x8e\x87\xa1\x79\x1f\xf7\x2f\xfb\x10\xf7\x2e\xf7\x10\x05" -+"\x0b\xb2\x1f\x9c\x06\xb2\xab\xa9\xb0\xb0\x6b\xa9\x64\x1f\x0e\x07\x74\x8d\x80\x91\x82\x1e\x7c\x95\x9d\x81\x9d\x1b\x9c\x0b\x15\xf7" -+"\x01\x31\x05\x82\x97\x94\x87\x95\x1b\xa0\x9d\x9c\x0b\x20\x05\x7a\x7e\x84\x80\x7d\x1a\x77\x9e\x79\xa1\x96\x92\x0b\xad\xad\x72\xb0" -+"\x1d\x69\x0b\x7e\x1a\x79\x9c\x7b\x9e\x94\x95\x57\x1d\xc0\xcd\x57\x05\x75\x82\x7e\x79\x76\x1a\x67\xa2\x7a\x0b\x07\xaf\x1d\x82\x81" -+"\x79\x7a\x1a\x0b\x15\x70\x83\x8a\x84\x80\x1f\x7a\x82\x80\x78\x78\x1a\x0b\x1b\x7a\x7b\x83\x7e\x80\x1f\x84\x81\x88\x80\x72\x1a\x0b" -+"\xb1\x89\x97\x84\x96\x1e\x9b\x80\x79\x91\x69\x1b\x4e\x0b\x81\x1e\x84\x96\x96\x89\xa5\x1b\x0b\x8a\x87\x1b\x80\x87\x91\x9a\x1f\xf7" -+"\x8b\x07\xb8\x0b\x8c\x92\x96\x1f\x9b\x94\x95\x9c\x9d\x1a\x9b\x82\x0b\x53\xab\x57\xbf\x6f\x1f\xac\x79\xaa\x82\xce\x80\x0b\x93\x1a" -+"\xa0\x79\x9d\x75\x79\x82\x85\x76\x7d\x1e\x0b\x9a\x91\x94\x98\x1a\xa1\x79\x9c\x74\x7f\x84\x88\x0b\xac\x52\x08\x79\x95\x8f\x87\x92" -+"\x1b\x92\x90\x8e\x0b\xf7\xac\x15\xfb\x13\xfb\x00\xf7\x13\x06\x0e\x07\xc4\x77\xb5\x62\xa8\x1e\xa3\x6a\x61\x97\x0b\x87\x88\x7e\x1b" -+"\x80\x7f\x90\x9e\x6a\x1f\xa8\x0b\x8f\xf7\x68\x1d\x0b\x15\x46\xfb\x80\x05\x88\x81\x8a\x87\x86\x1a\x0b\x95\x97\x1a\x9f\x79\x9d\x77" -+"\x7f\x83\x87\x7f\x0b\x1a\x7a\x93\x7b\x99\x82\x1e\x83\x96\x96\x89\x0b\x1e\x9a\x82\x79\x95\x78\x1b\x7a\x7b\x83\x7e\x0b\x9b\x7d\x9e" -+"\x99\x97\x94\x9b\x94\x1e\xf7\x25\x0b\x74\x8a\x19\x83\xf7\x00\x06\xc9\x8d\x9e\x97\x0b\x9a\x1b\x93\x92\x92\x94\x92\x0b\x70\x83\x8a" -+"\x84\x80\x1f\x7a\x0b\x06\x5e\x9d\x74\xaf\xae\x9e\xa2\xb8\x1e\x0b\x06\x5d\x9c\x75\xb0\xae\x9e\xa2\xb8\x1e\x0b\x8a\x88\x81\x1f\x78" -+"\x85\x7d\x76\x76\x1a\x0b\x91\x91\x92\x08\x5f\x8f\x9c\x79\xad\x1b\x0b\x95\x9c\x9d\x1a\x9c\x83\x9a\x7d\x95\x1e\x0b\xae\xfb\x8b\x05" -+"\x70\x8e\x95\x80\xa1\x1b\x0b\x7a\x1a\x7b\x94\x7a\x98\x82\x1e\x84\x95\x0b\x01\x00\x01\xe3\x01\x05\x00\x01\x0a\x02\x01\x40\x03\x01" -+"\x87\xff\x02\x87\xa0\x02\x8e\x02\x00\x01\x00\x02\x00\x03\x00\x3c\x00\x5f\x01\x32\x02\x05\x02\x82\x03\x07\x03\x16\x03\x59\x03\x9a" -+"\x04\x05\x04\x44\x04\x46\x04\x48\x04\x4f\x04\x7a\x04\xca\x04\xf8\x05\x58\x05\xd8\x06\x1a\x06\x7e\x06\xe7\x07\x1e\x07\x7a\x07\xe3" -+"\x08\x02\x08\x1b\x08\x65\x08\x80\x08\xca\x09\x30\x09\xb4\x09\xb7\x09\xbe\x09\xc1\x09\xc4\x09\xc7\x09\xf8\x09\xfb\x09\xfd\x0a\x00" -+"\x0a\x3b\x0a\x3e\x0a\x41\x0a\x9b\x0a\x9e\x0a\xa1\x0a\xe1\x0b\x78\x0b\x7b\x0b\x7e\x0b\x80\x0b\x83\x0b\xa9\x0b\xac\x0b\xae\x0b\xb1" -+"\x0b\xb4\x0b\xd6\x0c\x01\x0c\x27\x0c\x5b\x0c\x6e\x0c\x73\x0c\x76\x0c\xed\x0c\xf0\x0d\x39\x0d\x3c\x0d\x8f\x0d\x92\x0d\xc4\x0d\xca" -+"\x0d\xee\x0d\xf1\x0d\xf4\x0e\x57\x0e\x5c\x0e\x5f\x0e\x61\x0e\xeb\x0e\xee\x0e\xf1\x0e\xf4\x0e\xf7\x0f\x2c\x0f\x2f\x0f\x3f\x0f\x42" -+"\x0f\x45\x0f\xa3\x0f\xb0\x10\x0c\x10\x3c\x10\x72\x10\xf6\x11\x68\x11\x6a\x11\xff\x12\x5f\x13\x11\x13\xb1\x13\xbe\x13\xd8\x14\x2b" -+"\x14\x4c\x14\x4f\x14\xb9\x15\x2b\x15\x2d\x15\x34\x15\x70\x15\x72\x15\xe1\x15\xf8\x15\xfa\x16\x06\x16\x14\x16\x1c\x16\x2d\x16\x67" -+"\x16\xc7\x16\xcd\x16\xd8\x16\xde\x17\x0b\x17\x11\x17\x17\x17\x1e\x17\x24\x17\x2a\x17\x35\x17\x3b\x17\x62\x17\x68\x17\x6a\x17\x6d" -+"\x17\xdb\x18\x3b\x18\x3e\x18\xaf\x18\xd9\x18\xdc\x18\xdf\x19\x39\x19\x3c\x19\xba\x1a\x4c\x1a\x84\x1a\xa4\x1b\x1a\x1b\xc4\x1b\xc6" -+"\x1c\x3b\x1c\x78\x1c\xdd\x1d\x41\x1d\x6e\x1d\xc9\x1d\xf3\x1e\x18\x1e\x60\x1e\xb3\x1f\x48\x1f\x4b\x1f\xea\x20\x42\x20\xb0\x21\x35" -+"\x21\x4e\x21\x68\x21\x70\x21\x77\x21\x7e\x21\xa2\x22\x09\x22\x17\x22\x31\x22\x38\x22\x46\x22\x4d\x22\x7b\x22\x83\x22\x8b\x22\xcd" -+"\x22\xe6\x22\xf2\x22\xf9\x23\x00\x23\x24\x23\x50\x23\x6f\x23\x8d\x23\x95\x23\x9d\x23\xbd\x23\xc5\x24\x01\x24\x25\x24\x3a\x24\x85" -+"\x24\xa0\x24\xcb\x25\x06\x25\x71\x25\x8f\x25\xcd\x25\xdf\x25\xfa\x26\x01\x26\x12\x26\x1a\x26\x22\x26\x75\x26\x7d\x26\xad\x26\xb4" -+"\x26\xbb\x26\xf4\x27\xa9\x27\xc6\x27\xd5\x27\xdd\x27\xf8\x28\x00\x28\x08\x28\x31\x28\x94\x28\xe1\x29\x36\x29\x7e\x29\xc1\x29\xea" -+"\x2a\x7e\x2a\xec\x2a\xf4\x2a\xfc\x2a\xff\x2b\x51\x2b\x59\x2b\xc4\x2b\xe0\x2b\xe2\x2b\xea\x2b\xf2\x2b\xfa\x2c\x03\x2c\x05\x2c\x0a" -+"\x2c\x0c\x2c\x27\x2c\x2e\x2c\x33\x2c\x38\x2c\x3f\x2c\xa3\x2c\xd7\x2c\xd9\x2d\x16\x2d\x18\x2d\x24\x2d\xd7\x2d\xd9\x2d\xe1\x2d\xe9" -+"\x2d\xf1\x2d\xfa\x2e\x77\x2e\x7e\x2e\xe3\x2e\xeb\x2e\xf0\x2e\xf8\x2f\x13\x2f\x16\x2f\x1c\x2f\x3b\x2f\x42\x2f\x4a\x2f\x6a\x2f\x72" -+"\x2f\x7a\x2f\xb7\x2f\xe3\x2f\xea\x2f\xfd\x2f\xff\x30\x07\x30\x0d\x30\x15\x30\x2c\x30\x34\x30\x3b\x30\x43\x30\xa1\x30\xa4\x30\xf5" -+"\x30\xfc\x31\x9c\x31\xc2\x32\x36\x32\x3e\x32\x45\x32\x4c\x32\x4e\x32\x55\x32\xf5\x32\xfd\x33\x05\x33\x48\x33\x4a\x33\x84\x33\x89" -+"\x33\xbc\x34\x33\x34\x3b\x34\x43\x34\x4b\x34\x82\x34\x85\x34\xe4\x34\xf0\x34\xf8\x34\xff\x35\x07\x35\x6d\x35\x74\x35\x7b\x35\xdc" -+"\x35\xe3\x35\xeb\x35\xf2\x35\xf8\x35\xfb\x36\x03\x36\x0a\x36\x0c\x36\x0f\x36\x34\x36\x36\x36\x38\x36\xaf\x36\xb1\x37\x13\x37\x9a" -+"\x38\x29\x38\x2c\x38\x4f\x38\x52\x38\xba\x38\xbc\x38\xbe\x38\xc1\x38\xe1\x38\xe3\x38\xe6\x38\xe8\x38\xeb\x39\x6f\x39\x71\x39\xa2" -+"\x39\xe5\x3a\x33\x3a\x77\x3a\xbb\x3b\x2a\x3b\x4a\x3b\xc1\x3c\x34\x3c\x96\x3c\xcc\x3d\x5f\x3d\xa8\x3e\x1f\x3e\x22\x3e\x25\x3e\x2b" -+"\x3e\x2e\x3e\xaa\x3f\x21\x3f\xa7\x3f\xd3\x3f\xf1\x40\x1c\x40\x96\x40\xeb\x40\xee\x41\x4e\x41\x51\x41\xbd\x42\x68\x42\xdd\x42\xe0" -+"\x42\xff\x43\x02\x43\x67\x43\xb0\x43\xd0\x43\xd3\x44\x25\x44\x27\x44\x2e\x44\x4f\x44\x52\x44\xea\x44\xfa\x45\x2b\x45\x66\x45\xb9" -+"\x45\xf4\x46\x34\x46\xa6\x46\xe8\x47\x57\x47\xa2\x47\xee\x48\x0c\x48\x6b\x48\x7d\x48\xe5\x48\xe8\x48\xee\x49\x1b\x49\x22\x49\xa3" -+"\x4a\x05\x4a\x14\x4a\x23\x4a\xac\x4a\xd5\x4a\xd7\x4b\x24\x4c\x01\x4c\x9f\x4d\x4f\x4d\xb6\x4e\x26\x4e\x2e\x4e\x62\x4e\x96\x4f\x01" -+"\x4f\x86\x4f\xa5\x4f\xf4\x50\x3a\x50\x80\x50\x8c\x50\xd9\x51\x0e\x51\x4c\x51\xac\x51\xb3\x51\xbb\x51\xc7\x51\xd0\x52\x28\x52\x9e" -+"\x53\x0a\x53\x62\x53\xb7\x54\x1d\x54\x41\x54\x64\x54\x6c\x54\x74\x54\x7d\x54\xbb\x54\xc3\x55\x03\x55\x3b\x55\xaa\x56\x41\x56\x7e" -+"\x56\xd3\x56\xd6\x56\xeb\x56\xf8\x57\x12\x57\x58\x57\xde\x58\x30\x58\x38\x58\x3f\x58\x62\x58\x72\x58\xd4\x58\xe3\x58\xee\x59\x24" -+"\x59\x48\x59\x4e\x59\x99\x59\xa1\x5a\x0c\x5a\x5c\x5a\x8a\x5a\xb8\x5b\x19\x5b\x82\x5b\xa9\x5b\xb0\x5b\xbb\x5b\xe4\x5b\xfb\x5c\x00" -+"\x5c\x16\x5c\x70\x5c\x9c\x5c\xfa\x5d\x01\x5d\x42\x5d\x6e\x5d\x75\x5d\x88\x5d\xeb\x5e\x50\x5e\x99\x5f\x13\x5f\x19\x5f\x5b\x5f\xe0" -+"\x5f\xea\x60\x17\x60\x20\x60\x2a\x60\xb2\x61\x23\x61\x67\x61\x6f\x61\x76\x61\x7e\x62\x14\x62\xc0\x62\xc3\x63\x0d\x63\x1a\x63\x3a" -+"\x63\x9d\x64\x52\x64\xb9\x65\x48\x65\xc5\x66\x1a\x66\x6d\x66\xc8\x67\x3e\x67\x46\x67\x7c\x67\x83\x67\x8a\x67\xaa\x67\xef\x67\xf6" -+"\x68\x9c\x68\xa4\x68\xac\x68\xc0\x69\x10\x69\xbc\x6a\x02\x6a\x80\x6a\xfa\x6b\x56\x6b\x9c\x6b\xd9\x6c\x42\x6c\x84\x6c\xa5\x6c\xf8" -+"\x6d\x23\x6d\x2b\x6d\x58\x6d\x59\x6d\x5b\x6d\x62\x6d\x6a\x6d\x70\x6d\x72\x6d\x8f\x6e\x09\x6e\x62\x6e\xd4\x6e\xdb\x6e\xf0\x6f\x18" -+"\x6f\x39\x6f\x66\x6f\x9e\x70\x25\x70\xce\x71\x63\x71\xe3\x72\x6d\x72\xdc\x73\x64\x74\x0e\x74\x89\x74\xe3\x75\x4c\x75\x77\x75\xb2" -+"\x76\x06\x76\x09\x76\x5b\x76\xab\x76\xf3\x77\x5e\x77\xbc\x77\xf6\x78\x34\x78\xb3\x79\x2e\x79\x9c\x79\xbc\x79\xbf\x79\xf5\x7a\x5d" -+"\x7a\xab\x7a\xb3\x7a\xbb\x7b\x07\x7b\x09\x7b\x10\x7b\x18\x7b\x24\x7b\xdd\x7c\x5a\x7c\x5c\x7c\x5e\x7c\x75\x7c\x93\x7c\xee\x7d\x04" -+"\x7d\x65\x7d\x92\x7d\xea\x7d\xed\x7d\xf5\x7e\x28\x7e\x41\x7e\x49\x7e\x4e\x7e\x56\x7e\x91\x7e\x98\x7e\x9f\x7f\x22\x7f\x2a\x7f\x32" -+"\x7f\x39\x7f\x42\x7f\xa5\x0e\x0e\xf8\x13\xf8\x8c\x15\x8c\x98\x8c\x98\x93\x1a\xb7\x66\xae\x5c\x5b\x66\x68\x5f\x83\x8c\x7e\x8c\x7e" -+"\x1e\xa8\xfb\xaf\x05\x6c\x8e\x9f\x78\xaa\x1b\xa9\x9f\x9e\xaa\x8e\x1f\x5e\xfb\x7f\x15\xb3\xaa\xa8\xb1\xb0\x6c\xa9\x63\x1f\x7a\x62" -+"\x1d\xf7\x17\xf8\xdb\x15\xf7\x6a\x1d\xa0\x96\x96\xa6\x8e\x1f\xab\xf7\x8b\x05\xca\x16\xae\xfb\x8b\x05\x70\x8e\x95\x80\xa1\x1b\xa0" -+"\x96\xf7\x11\x0a\xf8\x57\xf8\x44\x15\x96\xf7\x29\x8d\xa2\x05\xa2\x8d\x6f\xa5\x6f\x1b\x7b\x7b\x84\x7e\x80\x1f\x82\x81\x89\x84\x8a" -+"\x70\x80\xfb\x31\x18\x4b\x06\x96\xf7\x29\x8c\x9e\x05\xa9\x74\xa2\x6c\x7b\x7b\x84\x7e\x80\x1e\x82\x80\x89\x84\x8a\x71\x80\xfb\x31" -+"\x18\x74\x06\x70\x83\x8a\x85\x81\x3b\x0a\x7a\x93\x7c\x9a\x81\x1e\x83\x95\x95\x89\xa7\x1b\x9a\x06\x84\x2e\x05\x6e\x06\x71\x83\x8a" -+"\x85\x81\x32\x0a\x83\x96\x96\x89\xa5\x1b\xa1\x06\x80\xfb\x29\x05\x8a\x84\x8b\x84\x87\x1a\x6c\xa2\x74\xaa\xae\x9e\xa2\xb5\x1e\x97" -+"\xf7\x30\x05\xcb\x06\x80\xfb\x29\x89\x76\x05\x72\x89\xa6\x71\xa7\x1b\x9b\x9b\x92\x98\x95\x1f\x91\x91\x92\xa1\x8c\x9b\x96\xf7\x31" -+"\x18\xa2\x06\xa2\x97\x8d\x90\xf7\x43\x1d\x80\x80\x8d\x70\x1b\x7d\x06\x92\xe8\x05\xa7\x06\xa4\x94\x8d\x90\x95\x1f\x9b\x95\x95\x9c" -+"\x9c\x1a\x9c\x83\x9b\x7d\x94\x1e\x71\x1d\xfb\x1c\x24\x15\x84\x2e\x05\x4b\x06\x92\xe8\x05\x0e\xf7\xf7\xf8\xe6\x15\xa4\x8a\x93\x84" -+"\x94\x1e\x9b\x82\x79\x94\x79\x1b\x79\x7b\x83\x7e\x81\x1f\x83\x80\x89\x82\x71\x1a\x75\x07\x36\x7c\x4f\x4c\x40\x1a\x3c\xc1\x56\xf1" -+"\x77\x1e\xd4\x7d\x05\xc2\x81\xa1\x7a\x6d\x1a\x63\x5d\x6e\x4c\x56\x57\xa2\xa6\x83\x1e\x84\xa5\x8b\x8b\x83\x93\x08\x95\x81\x7c\x90" -+"\x7d\x1b\x7a\x7b\x83\x7e\x80\x1f\x83\x80\x89\x82\x71\x1a\x50\x07\x72\x8d\x82\x91\x82\x1e\x7b\x96\x9b\x82\x9f\x1b\x9a\x94\x8f\x98" -+"\x9b\x1f\xa8\x7e\x92\x89\xb1\x83\x08\x3f\x07\x73\x8d\x82\x91\x82\x1e\x7c\x94\x9d\x81\x9e\x1b\x9b\x70\x1d\x93\xa6\x1a\xd7\x07\xf2" -+"\x9f\xca\xcb\xdf\x1a\xb5\x7b\xb1\x70\xa6\x1e\x6f\xa5\x67\x9a\x4c\x98\x4a\x97\x18\x5b\x95\x74\x9b\xa4\x1a\xac\xb0\xa1\xc5\xb2\xb1" -+"\x7c\x7b\x8f\x1e\x6f\x90\x9f\x7b\xa9\x2d\x1d\x92\xa7\x1a\xa9\x07\xb8\x79\xa1\x67\x81\x84\x89\x87\x80\x1e\x8c\x87\x88\x8c\x8a\x1b" -+"\x74\x93\x83\x8d\x82\x8d\x7c\x8d\x19\x0e\xf7\x78\xf8\xe8\x15\x3e\x4d\x4f\x40\x41\xca\x4e\xd8\xd7\xca\xc7\xd5\xd7\x4e\xc7\x3c\x1f" -+"\x4c\x04\xb4\xad\x6b\x64\x62\x6a\x6b\x61\x63\x69\xac\xb2\xb3\xac\xab\xb4\x1f\xf7\x9b\xfb\x6a\x15\xa1\x92\x93\x93\x9a\x1a\x9c\x7d" -+"\x99\x7c\x86\x85\x8a\x88\x82\x1e\xfb\xfe\xfb\x05\x05\x74\x84\x84\x84\x7b\x1a\x7a\x98\x7d\x9b\x90\x93\x8d\x8d\x92\x1e\xf7\x83\xbc" -+"\x15\x3e\x4d\x4f\x41\x40\xc9\x4f\xd9\xd7\xca\xc7\xd4\xd7\x4e\xc7\x3c\x1f\x8c\x4c\x15\xb3\xad\x6b\x64\x63\x6a\x6b\x61\x63\x69\xab" -+"\xb3\xb2\xac\xab\xb5\x1f\x0e\xf7\xff\xf7\x5d\x15\x2c\xf7\x18\x05\x7a\xa3\x81\x9f\x95\x1a\xa2\xa1\x9f\xa6\x9f\x96\x85\x6f\xaa\x1e" -+"\xb7\xa2\x05\xac\x9c\x95\x97\xa2\x1a\xa7\x72\xa3\x6f\x86\x83\x89\x87\x7d\x1e\x96\x71\x77\x90\x74\x1b\x37\x42\x47\x3b\x6d\x92\x78" -+"\xa4\x62\x1f\x4f\x69\x69\x53\x4b\x1a\x2d\xd4\x4f\xf7\x06\xbe\xab\x92\x9e\xa7\x1e\x95\x7e\x05\xca\x06\xb9\xa3\x65\x1d\x8a\x06\x95" -+"\x9d\x91\x9a\x95\xaf\x08\xa5\x8f\x9d\x9f\xa6\x1a\x9c\x84\x9a\x7c\x95\x1e\x93\x20\x0a\x53\x06\x3c\xfb\x43\x15\x83\x7a\x82\x89\x75" -+"\x1b\x55\x72\x9b\xae\xa9\x9b\xa1\xab\x9b\x1f\x0e\xf7\x6c\xf8\xee\xf7\x5d\x1d\x7a\xf7\x61\x1d\xf7\x99\x05\x0e\xf8\x49\xf8\xf7\x15" -+"\x73\x7f\x82\x68\x72\x1f\x42\x22\x60\xfb\x0f\x24\x1a\x21\xaf\xfb\x02\xd3\xfb\x01\x1e\x5d\xa9\x98\x80\xa6\x1b\xa9\xa3\xa1\xa8\x98" -+"\x89\x90\x81\x9b\x1f\x45\xf5\x6c\xe7\xeb\x1a\xeb\xaa\xe4\xd1\xf7\x00\x1e\x95\x9b\x8d\x90\x98\x1a\xa8\x74\xa1\x6b\x1e\x0e\xf7\x3c" -+"\xf8\xf7\x15\x6c\x73\x75\x6e\x7e\x8d\x86\x95\x7b\x1f\xd1\x21\xaa\x2f\x2b\x1a\x2b\x6c\x30\x45\x21\x1e\x81\x7b\x89\x86\x7e\x1a\x6e" -+"\xa3\x75\xaa\xa3\x97\x94\xae\xa4\x1e\xd4\xf4\xb6\xf7\x0f\xf2\x1a\xf5\x67\xf7\x02\x43\xf7\x01\x1e\xb9\x6e\x7d\x96\x71\x1b\x0e\xf7" -+"\x68\xf7\xf9\x15\x5b\x4c\x05\x7b\x75\x87\x83\x7e\x1a\x6e\xa3\x74\xa9\xa1\x96\x92\xa6\x9f\x1e\xbc\xcb\xbc\x4b\x05\x70\x9f\x96\x84" -+"\xa1\x1b\xa9\xa3\xa2\xa8\x98\x87\x93\x7b\xa1\x1f\x5b\xca\xdb\xa4\x05\xb1\x96\x9a\x9a\xa6\x1a\xa7\x73\xa3\x6f\x81\x88\x8a\x85\x76" -+"\x1e\x3a\x72\x05\xda\x07\xa3\x89\x94\x85\x95\x1e\x9a\x82\x79\x97\x1d\x80\x72\x1a\x3c\x07\x3a\xa4\x05\x91\x76\x87\x8c\x82\x1b\x6f" -+"\x73\x73\x70\x6f\x9a\x7c\xb1\x80\x1f\x0e\xf7\xf6\xf7\x6f\xf7\x23\x1d\x94\x1e\x93\x7f\x83\x8d\x6e\x1b\xfb\x1d\xf7\x2c\x06\xa5\x8a" -+"\x92\x84\x95\x1e\x9a\x81\x7a\x97\x1d\x81\x71\x1a\xfb\x2c\xfb\x1e\x07\xd5\x0a\x95\x98\x88\xa4\x1b\xf7\x1e\xfb\x2c\x06\x74\x8d\x81" -+"\x91\x82\x1e\x7c\x94\x9e\xe5\x0a\x0e\xf4\x1d\x7e\x1d\xf7\xc9\x7d\x15\x49\x1d\x0e\xf8\x91\xf8\xdc\x15\x95\x9e\x8d\x93\x96\x1a\xa5" -+"\x72\xa2\x6f\x71\x7e\x81\x69\x7a\x1e\xfb\xd5\xfd\x1b\x05\x82\x79\x88\x81\x80\x1a\x71\xa5\x74\xa7\xa5\x98\x95\xad\x9c\x1e\x0e\xf8" -+"\x9d\xf7\xee\x15\xe3\x6e\xda\x59\xbe\x1e\xae\x67\x5b\x9d\x51\x1b\x51\x5b\x79\x68\x67\x1f\x59\x58\x6e\x3c\x33\x1a\x31\x07\x34\xa8" -+"\x3b\xbd\x59\x1e\x68\xaf\xbb\x79\xc5\x1b\xc5\xbb\x9d\xae\xaf\x1f\xbd\xbd\xa8\xdb\xe2\x1a\xfb\xe2\xec\x15\xed\xb7\xca\xd0\xd0\xb7" -+"\x4c\x29\x1e\x24\x07\x2a\x5e\x4b\x47\x47\x5e\xcb\xec\x1e\x0e\xf7\xf6\xf8\xfd\x15\xfb\x6d\x56\x05\x61\x81\x7d\x7d\x6e\x1a\x6d\xa1" -+"\x73\xa7\x95\x8e\x8c\x90\x9f\x1e\xdd\xa0\x05\xfc\x11\x2a\x07\x5f\x1d\xf7\xc2\x06\xb9\xa3\xaa\x1d\x70\x1b\x2a\x06\x0e\xf7\x6e\xf3" -+"\x15\xf7\x98\xf7\x65\xa8\xac\xde\x1a\xf6\x2e\xdc\xfb\x10\x4e\x53\x77\x68\x62\x1e\x68\x6d\x70\x5c\x6b\x1a\x70\xa4\x74\xa8\xa2\x9f" -+"\x97\x9d\x91\x1e\x96\xaa\x8c\x8d\x94\x95\x08\xa3\xa1\xac\x99\xb2\x1b\xca\xbb\x68\x5c\x6c\x7b\x78\x27\x34\x1f\x62\x67\x45\x52\xfb" -+"\x08\x31\x85\x86\x18\x20\xf8\x62\xe3\x07\xa3\x89\x94\x85\x95\x1e\x9a\x81\x7a\x94\x78\x1b\x6b\x7a\x7b\x68\x87\x1f\x0e\xf7\xa8\xf8" -+"\x09\x15\x6b\x73\x75\x6e\x6e\x9f\x7a\xae\x89\x1f\xb8\x89\x96\x89\x9f\x83\x08\xb9\x79\xa7\x6b\x69\x1a\x76\x80\x74\x7b\x7e\x1e\x74" -+"\x71\x67\x82\x47\x1b\x4b\x6e\x90\x9b\x73\x1f\x95\x7a\x86\x8d\x7e\x1b\x6c\x74\x74\x6e\x58\xde\x6a\xf7\x12\xe3\xc0\x98\xac\xb8\x1f" -+"\xba\xad\xa8\xc2\xc4\x1a\xc7\x66\xbd\x44\xad\x1e\xc7\xae\xa5\xb1\xbe\x1a\xb5\x78\xb5\x6b\xaa\x1e\xb0\x64\x57\x9e\x47\x1b\xfb\x03" -+"\x28\x57\x51\x6e\xa3\x74\xa8\x9a\x99\x91\x95\x94\x1f\xac\xab\xa5\x95\xc1\x1b\xce\xb5\x71\x61\x64\x63\x69\x5c\x1f\x0e\xf8\x57\xf8" -+"\xed\x15\xfb\x1d\x06\xfb\x87\xfc\x15\x05\x37\xf7\xa4\x6e\x69\x07\xde\x0a\xf7\x18\x06\xba\xa3\x9d\xad\x9b\x83\x9b\x7d\x94\x1f\x81" -+"\x92\x84\x8d\x75\x8c\x08\xa8\x07\xb2\x8c\xa1\x9e\xab\x4c\x0a\x81\x91\x4d\x0a\xfb\x00\x16\xfb\x1e\x06\xf7\x1e\xf7\x6a\x05\x0e\xf7" -+"\x73\xf8\x86\x15\xf7\x5a\x06\xa1\x99\x8d\x90\x93\x1f\x9b\x95\xf7\x69\x1d\x92\x80\x81\x8d\x70\x1b\xfb\xc6\xfb\xa7\x06\x6a\xa2\x73" -+"\xaa\x96\x8f\x8c\x92\x99\x1e\x9f\xb4\xb9\x98\xaa\x1b\xcd\xb6\x5e\x47\x41\x5d\x69\x26\x49\x6f\x92\xa2\x6d\x1f\x98\x7c\x83\x8e\x7c" -+"\x1b\x6e\x72\x74\x6f\x53\xe7\x61\xf7\x10\xeb\xc5\x9e\xba\xb8\x1f\xaf\xb1\x9f\xbe\xc3\x1a\xf7\x11\x30\xe6\xfb\x10\x6e\x6c\x86\x81" -+"\x68\x1e\x0e\xf7\x6a\xf7\xda\x15\xf7\x00\xa6\xe4\xd8\xee\x1b\x94\x8f\x8a\x87\x96\x1f\x85\x9c\x95\x89\x94\x1b\xa9\xa4\xa3\xa8\xb3" -+"\x5b\xa5\x42\x2e\x37\x62\x3c\x48\x1f\x57\x4e\x71\x41\x36\x1a\x45\x9d\x3f\xa6\x5d\x1e\x49\xb1\xc9\x6a\xe0\x1b\xcf\xbd\x9d\xb2\xb0" -+"\x1f\xad\xb0\x9e\xbc\xc3\x1a\xf7\x02\x34\xe4\xfb\x00\x5b\x65\x7a\x62\x5f\x1e\x93\xfb\x10\x15\xb9\xa5\xbc\xac\xb5\x1b\xbe\xb4\x61" -+"\x56\x4f\x66\x66\x4f\x4c\x68\xae\xd9\x7d\x1f\x0e\xf8\x21\xf8\x86\x15\xfb\x27\xfc\x34\x05\x85\x7c\x89\x81\x82\x1a\x71\xa4\x74\xa8" -+"\xa8\x9a\x98\xb0\x98\x1e\xf7\x33\xf8\x59\x05\xee\xfc\x4d\x34\x07\x73\x8d\x81\x91\x82\x1e\x7b\x95\x9c\x82\x9e\x1b\xab\x9c\x9c\xae" -+"\x8f\x1f\x0e\xf8\x3f\xf7\xc8\x15\xc3\xaf\xa8\xb8\xbc\x1a\xef\x2e\xda\xfb\x0b\xfb\x0b\x2e\x3c\x27\x59\xa8\x60\xc3\x66\x1e\x4d\x66" -+"\x6b\x58\x50\x1a\x23\xe4\x44\xf7\x17\xf7\x18\xe5\xd2\xf3\xc6\x6b\xbe\x4d\xb0\x1e\xfb\x13\xf7\x62\x15\xc8\xb6\x6b\x5d\x5a\x61\x6b" -+"\x4d\x4e\x60\xac\xba\xba\xb5\xab\xc9\x1f\xfb\x9b\x04\xc9\xbe\x67\x5e\x5b\x5d\x6a\x48\x49\x5c\xac\xba\xb9\xbe\xaf\xc9\x1f\x0e\xf8" -+"\x44\xf7\xa9\x15\xfb\x01\x70\x33\x3f\x26\x1b\x82\x88\x8c\x8e\x81\x1f\x91\x7a\x81\x8d\x81\x1b\x6d\x72\x74\x6d\x64\xbb\x71\xd3\xea" -+"\xdd\xb3\xdb\xcf\x1f\xbf\xc8\xa5\xd5\xe1\x1a\xd0\x79\xd7\x70\xb9\x1e\xcd\x64\x4e\xac\x36\x1b\x47\x59\x78\x64\x66\x1f\x69\x67\x78" -+"\x59\x54\x1a\xfb\x03\xe2\x32\xf7\x00\xbb\xb1\x9c\xb5\xb7\x1e\x83\xf7\x0f\x15\x5e\x71\x5a\x6a\x62\x1b\x57\x62\xb5\xc0\xc8\xaf\xaf" -+"\xc7\xcb\xad\x68\x3c\x9a\x1f\x0e\xf7\xc9\x7d\x15\x49\x1d\x9d\xf7\xc4\x15\xb2\xaa\xa9\xb0\xb1\x6c\xa8\x64\x1f\x79\x06\x64\x6c\x6d" -+"\x66\x66\xab\x6d\xb1\x1f\x0e\xf7\x01\x1d\x3a\xf7\xb4\x15\x5b\x6b\x71\x62\x62\xab\x71\xbb\xb9\xab\xa6\xb2\xb4\x6c\xa6\x5c\x1f\x0e" -+"\xf7\xaa\xf7\xa3\x15\xf7\x8c\xf7\x0a\x05\xa5\x98\x98\x9a\x9c\x1a\x93\x89\x93\x87\x93\x1e\x8a\x8d\x05\x9c\x83\x74\x96\x72\x1b\x7c" -+"\x7d\x88\x85\x7e\x1f\xfc\x51\xfb\x63\xf8\x51\xfb\x68\x05\x85\x98\x99\x88\x9a\x1b\xa4\xa2\x96\x9c\x93\x1f\x8c\x8d\x05\x8f\x93\x8d" -+"\x93\x92\x1a\x9e\x80\x97\x6e\x9a\x1e\x0e\xf7\x00\xf8\x2f\x15\x4c\x1d\x96\x97\x88\xa4\x1b\xf8\x14\x06\xa1\x98\x6c\x1d\x6f\x1b\xfc" -+"\x14\xfb\x44\x94\x0a\xf7\xcd\xf7\xa3\x15\xfb\x8b\xfb\x0d\x05\x6e\x7c\x80\x7f\x78\x1a\x84\x8d\x83\x8f\x83\x1e\x8c\x89\x05\x7a\x93" -+"\xa2\x80\xa4\x1b\x9a\x99\x8e\x91\x98\x1f\xf8\x51\xf7\x68\xfc\x51\xf7\x63\x05\x91\x7e\x7d\x8e\x7c\x1b\x72\x74\x80\x7a\x83\x1f\x8a" -+"\x89\x05\x87\x83\x89\x83\x83\x1a\x7a\x98\x7c\xa5\x7e\x1e\x0e\xef\xf8\x9d\x15\x3d\x07\x71\x0a\x7d\x94\x9d\x81\x9e\x2d\x1d\x92\xa7" -+"\x1a\x96\x07\x9a\xad\xa9\x92\xb0\x1b\xc9\xb5\x6c\x5d\x65\x62\x6f\xfb\x0f\x5f\x1f\x53\x07\x75\x8d\x80\x91\x82\x1e\x7c\x95\x9c\x81" -+"\x9e\x1b\xa9\x9e\x9d\xad\x8f\x1f\xf7\x0c\xbd\xb8\xbb\xd9\x1a\xf7\x02\x35\xd6\xfb\x13\x4b\x5e\x7f\x61\x30\x1e\xf7\x5f\xfc\xaf\x15" -+"\xb2\xaa\xa8\xb1\xb0\x6c\xa9\x64\x1f\x7a\x06\x64\x6b\x6d\x66\x66\xab\x6d\xb2\x1f\x0e\xf8\x27\xf8\x17\x15\xfb\x03\x82\x3d\x47\x30" -+"\x1a\x3a\xd4\x46\xe0\x94\x92\x8c\x8c\x9a\x1e\x89\xbe\x07\xb2\x9f\x99\xa8\x9c\x83\x97\x7c\x92\x1f\xf7\x9d\x07\xf7\x01\x3c\xd9\xfb" -+"\x01\xfb\x1a\x2b\xfb\x0d\xfb\x3b\x1e\xfb\x35\x07\x45\x9c\x45\xaa\x57\x1e\x43\xb6\xc2\x6b\xde\x1b\xee\xde\xb2\xba\xa3\x78\x9e\x71" -+"\x80\x83\x87\x7e\x7d\x1f\x79\x79\x65\x80\x5f\x1b\x5f\x6f\x98\xac\x73\x1f\x6a\xb7\x7a\xc6\xd2\x1a\xf7\x29\x07\xf7\x0c\xc8\xe5\xde" -+"\xc6\xb4\x61\x4d\x1e\xfb\x96\x04\x8a\x80\x86\x8b\x85\x1b\x5d\x69\xa7\xb0\xb6\xb4\xac\xc8\x91\x1f\x0e\x21\x1d\x0e\xd1\x1d\x82\x81" -+"\x79\x8e\x0a\x53\x0a\x0e\xc1\x1d\x0e\x30\x1d\x0e\xf7\x5a\xf7\x7c\x15\xd8\x88\x06\x74\x8d\x80\x90\x82\x1e\x7c\x95\x9d\x81\xef\x1d" -+"\x80\x89\x81\x71\x1a\x89\x3e\xf7\x13\xf7\x8c\x5e\x07\x8b\x1d\x94\xa5\x1a\xf7\x28\xda\x1d\xf7\x6b\x29\x0a\x2b\x06\x0e\x41\x1d\x0e" -+"\x50\x0a\x21\x0a\x0e\xf1\x1d\x70\x84\xb6\x0a\x89\x84\x76\x78\x1e\x77\x75\x68\x7e\x6a\x1b\x68\x6b\x93\x9f\x5b\x1f\xe4\x07\xa3\x89" -+"\x94\x85\x4d\x1d\x80\x72\x1a\xfb\x32\x07\x93\x88\x05\x61\xe5\xcc\x79\xc3\x1b\xc7\xc3\x9e\xaf\xb6\x1f\xbc\xb2\x9c\xb0\xcb\x1a\x0e" -+"\xb3\x1d\x0e\x43\x1d\x0e\xaf\x0a\x7b\x93\x7b\x99\x81\x1e\x84\x95\x99\x88\xa3\x1b\xf7\x16\x2b\x1d\x9c\x83\x9a\x7d\x95\x1f\x81\x92" -+"\x4d\x0a\xf7\xf9\x07\xad\x90\x9d\x9c\xa9\x33\x1d\x80\x81\x8d\x70\x1b\xfb\x04\x06\xfb\x19\xfb\xaa\xfb\x1c\xf7\xaa\x05\xfb\x03\xd7" -+"\x0a\x77\x1a\x6d\x9d\x7a\xad\x86\x1e\xfb\xf9\x07\x65\x8a\x74\x78\x6b\x70\x0a\xf7\x15\x06\xb9\x67\x0a\x82\x8d\x6f\x1b\x6c\x06\x0e" -+"\x33\x0a\x0e\x24\x1d\x0e\xf7\x5a\xf7\x53\x15\xe9\x06\xe9\xbe\x9c\xba\xb8\x1f\xab\xad\x9e\xb9\xb8\x1a\xf7\x00\x2f\xd7\xfb\x15\x1e" -+"\xfb\x7d\x06\x71\x20\x1d\x7a\x94\x7b\x98\x82\x1e\x83\x96\x96\x89\xa5\x96\x0a\xf7\xfa\x04\xf7\x06\x06\xce\xb3\x6c\x57\x56\x63\x6c" -+"\x48\x1f\xfb\x06\x06\x0e\xf7\xa6\x85\x15\xe9\x8c\xb6\x98\xc4\xb7\x08\xd7\xc7\xb2\xda\xe9\x1a\xf7\x35\xfb\x13\xf7\x18\xfb\x30\xfb" -+"\x30\xfb\x13\xfb\x18\xfb\x37\x32\xae\x39\xc8\x58\x1e\x9a\x7e\xa2\x7d\xb4\x73\x51\x55\x18\x7a\x7c\x87\x83\x7b\x1a\x6e\xa2\x73\xa7" -+"\x92\x96\x8d\x8e\x97\x1e\x96\xba\xc3\x94\xa2\x1b\xa0\x97\x88\x7e\xaf\x1f\x83\x9f\x9a\x88\x9f\x1b\xac\xa6\x93\xa1\xb0\x1f\xa8\x9b" -+"\x96\x99\xa1\x1a\xa9\x74\xa1\x6c\x7d\x86\x89\x7c\x73\x1e\x80\x79\x83\x88\x7c\x1b\x80\x84\x8c\x91\x75\x1f\x94\x6a\x73\x8e\x6e\x1b" -+"\x7d\x80\x8a\x88\x77\x1f\xa7\xf8\x83\x15\xea\xdb\x34\x24\xfb\x01\x3d\x34\x2a\x2b\x3c\xe3\xf4\xf5\xda\xe2\xeb\x1f\x0e\x3c\x0a\x0e" -+"\x78\x1d\x0e\x54\x0a\x22\x0a\x0e\x8b\x0a\xf7\x61\xf8\x61\x05\x9f\x92\x8b\x8e\x94\x1f\x9f\x92\x99\x9f\xa0\x31\x0a\x81\x7f\x8d\x71" -+"\x1b\xfb\x18\xf7\x22\x1d\x96\x95\x8a\xa6\x1b\x9d\x06\x0e\x5a\x1d\x0e\x79\x1d\x2b\x0a\x0e\x44\x1d\x0e\xf7\xf6\xf8\x8b\x15\xc1\x06" -+"\xba\xa2\x9c\xae\x9b\x83\x9b\x7d\x94\x1f\x93\x20\x0a\xfb\x36\xfd\x7f\xf7\x37\x06\xa2\x97\x38\x1d\x54\x06\x0e\xf7\x50\xf9\x07\x15" -+"\xad\x7a\x7e\x95\x71\x1b\x6f\x72\x74\x71\x80\x8d\x83\x95\x78\x1f\xf7\xd4\xfd\x1c\x05\x69\x9c\x98\x81\xa5\x1b\xa7\xa5\xa3\xa4\x96" -+"\x88\x95\x82\x9d\x1f\x0e\xf7\x8a\x65\x15\x55\x06\x74\x7e\x89\x86\x83\x6d\x0a\x7c\x99\x81\x1e\x83\x96\x94\x89\xa7\x1b\xf7\x36\xf9" -+"\x7f\xfb\x37\x06\x73\x80\xf7\x17\x1d\xc2\x06\x0e\xf7\xbf\xf8\x62\x15\xf7\x05\xfb\x11\x05\x72\xa2\x95\x85\xa1\x1b\xab\xa5\xa4\xa9" -+"\x9c\x86\x94\x78\xa1\x1f\xfb\x5e\xf7\x76\xfb\x5c\xfb\x76\x05\x78\x75\x86\x81\x7c\x1a\x6c\xa5\x72\xab\xa1\x95\x91\xa5\xa2\x1e\x0e" -+"\xa7\x6a\x15\x71\x82\xf7\x18\x1d\xf8\xb4\x06\xa2\x99\x8d\x91\x94\x37\x0a\x0e\xf8\x16\xbd\x0a\x0e\x23\x0a\x0e\xf7\x46\xf8\xef\x15" -+"\xfb\x0c\x06\xd6\x0a\x95\x96\x89\xa6\x1b\x97\xfc\x21\x7f\x06\x72\x81\x8a\x85\x82\x1f\x7b\x82\x81\x7a\x79\x4b\x0a\x84\x95\x98\x88" -+"\xa4\x1b\xf7\x0c\xa9\x06\x6c\xbc\xb3\x7f\xc5\x1b\xf7\x27\xf2\xe8\xf7\x19\xca\x73\xc3\x5c\xb6\x1f\xb6\x5c\x52\x9f\x3f\x1b\x52\x59" -+"\x7c\x6e\x64\x1f\xf7\x23\x50\x15\xbc\xaa\x80\x71\xa7\x1f\xa3\x74\x99\x6c\x6c\x1a\x6c\x7d\x6b\x73\x74\x1e\x72\x70\x6a\x7f\x5d\x1b" -+"\x5c\x6a\x97\xa4\x70\x1f\x73\xa2\x7d\xaa\xa9\x1a\xd4\xc6\xbe\xdf\x1e\x0e\x3d\x0a\x0e\xf8\xab\xf8\xef\x15\xfb\x0c\x06\x71\x83\x50" -+"\x1d\x99\x81\x1e\x84\x96\x95\x88\xa6\x1b\x97\x21\x06\xa8\x64\x59\x9a\x52\x1b\x3e\x52\x77\x60\x5c\x1f\x5c\x60\x73\x53\x4c\x1a\x4b" -+"\xa3\x53\xba\x60\x1e\x60\xba\xc4\x77\xd7\x1b\xc5\xb3\x97\xaa\xbc\x1f\x6d\xf7\x0c\x45\x0a\x7f\x06\xfb\x91\xf7\x7c\x9b\x0a\x35\x1d" -+"\x0e\xf7\xc3\xf7\xd6\x15\xf7\x27\xf7\x32\x1d\xfb\x27\xaa\x06\xa8\xa5\x99\xc2\xab\xb5\x87\x85\xb0\x1e\x89\x98\x95\x8a\x92\x1b\xa7" -+"\xa1\xa2\xa9\xa3\x7b\x9c\x6e\x93\x1f\x93\x6a\x4d\x92\x60\x1b\xfb\x0d\x3f\x53\x30\x1f\x6c\x61\x07\x70\x83\x8a\x4f\x0a\x7a\x79\x1a" -+"\x68\xa3\x7a\xb9\x1e\xb6\xfb\x6f\x55\x06\x89\x1d\xf7\xbd\x31\x1d\xfb\x1b\x06\x0e\x7a\x1d\x0e\xf7\x5b\xad\x0a\x89\x06\x41\x0a\xbf" -+"\xc3\x9f\x95\x9c\x1d\x81\x6b\x1a\xfb\x33\x89\x07\x71\x82\x50\x1d\x9a\x81\x3f\x1d\xf7\x04\xf7\x33\x1d\x89\xf7\x40\x06\xec\x42\xcc" -+"\xfb\x00\x59\x5c\x78\x69\x67\x1e\x0e\x25\x0a\x7d\x66\x1d\x0e\xf8\x14\xf7\xd6\x15\xfb\xe5\x07\x5c\x67\x6c\x55\x1e\xfb\x03\x5e\x0a" -+"\x96\x97\xb8\x0a\xfb\xc6\x07\x4c\x1d\x96\x97\x88\xa4\x1b\xf7\x8c\xf7\x59\x1d\xb7\x1d\x0e\x34\x0a\x0e\xf7\x25\xf8\x3d\x15\x2a\x06" -+"\x2e\x1d\x7b\x93\x7b\x99\x81\x1e\x94\x85\x92\x89\xa1\x8a\x08\xfb\x6f\x07\x66\x74\x77\x6c\x69\xa3\x79\xba\x1f\xe3\x63\x1d\x81\x91" -+"\x4d\x0a\xf7\x53\x07\xaa\xa8\x9c\x94\xa6\x1b\xa1\x93\x82\x73\xf7\x1b\x1d\xf7\x53\x07\xab\xab\x9a\x93\xa5\x1b\xa2\x92\x83\x72\xf7" -+"\x1b\x1d\xf7\x62\x07\xd5\x52\xc1\x3c\x63\x6a\x7d\x6c\x6d\x1e\xa8\x6f\x68\x9b\x64\x1b\x6d\x78\x84\x73\x6b\x1f\x0e\xf7\x5b\x46\x1d" -+"\x0e\x25\x1d\x0e\xb8\x1d\xf8\x3f\x2e\x15\x55\x06\x73\x80\x89\x86\x82\x1f\x7b\x81\x81\x7b\x79\x4b\x0a\x83\x95\x97\x89\xa5\x1b\xf7" -+"\x42\x06\xa2\x98\xe0\x0a\x92\x80\x81\x8d\x70\x1b\x7f\xf8\x33\x97\x06\xa4\x95\x8c\x91\x94\x1f\x9b\x94\x95\x9d\x9c\x1a\x9c\x83\x9b" -+"\x7d\x94\x1e\x93\x20\x0a\xfb\x0c\x64\x06\xb0\x5c\x61\x99\x4e\x1b\xfb\x23\x22\x2e\xfb\x13\xfb\x0c\xf3\x33\xf7\x22\xc5\xb9\x9a\xae" -+"\xbb\x1f\xfb\x25\xf7\xa7\x15\xb4\xab\x82\x79\xa5\x1f\xa6\x78\x9e\x69\x6d\x1a\x49\x50\x5d\x34\x63\x6a\x94\x9d\x72\x1e\x6f\x9f\x79" -+"\xac\xaa\x1a\xaa\x9d\xac\xa7\x9f\x1e\x9d\xa4\xab\x94\xb5\x1b\x0e\x58\x1d\x0e\x42\x1d\x0e\xbb\x1d\x0e\x2c\x1d\x0e\xf7\xc2\xf7\x15" -+"\x15\x24\xf7\x55\x05\xa3\x95\x8c\x91\xf7\x43\x1d\x2f\x1d\xfb\x18\xbf\x0a\x96\x06\xf7\x3c\xfb\xd6\x05\xf7\x00\x06\xf7\x3b\xf7\xd6" -+"\x05\x99\x06\xa4\x94\x8c\x91\x95\x99\x1d\xfb\x1b\xbf\x0a\x8f\x06\x0e\x3e\x0a\x0e\x7a\x0a\xbb\x1e\xf7\x04\x63\x1d\x82\x91\x84\x8d" -+"\x78\x8c\x08\x0e\x59\x1d\x0e\x40\x0a\x0e\xf7\xf4\xf8\x67\x15\xa3\x8c\x92\x92\xa3\x1b\xaa\x8d\xa1\xa0\xa8\x1a\xaa\x73\xa0\x67\x43" -+"\x4e\x50\x46\x1e\xfb\x31\x07\x73\x86\x85\x73\x89\x1e\x69\x87\x79\x79\x6d\x1a\x6c\x9d\x79\xad\x87\x1e\xa3\x89\x90\x85\x73\x1a\xfb" -+"\x39\x07\x45\xc8\x50\xd4\xae\xa3\xa0\xaa\xa8\x75\xa0\x6c\x8d\x1e\x72\x8c\x85\x91\x8a\xa4\x08\xf7\x29\x07\xbe\x86\x9b\x74\xa6\x1e" -+"\xa1\xa3\x90\x9d\x8c\xb5\x08\x0e\xf7\xfa\xf9\xcd\x15\xfb\x08\xfe\xc7\xf7\x08\x06\x0e\xf7\x8c\x81\x15\x72\x8a\x84\x84\x73\x1b\x6c" -+"\x8a\x75\x75\x6e\x1a\x6c\xa3\x76\xae\xd4\xc8\xc6\xd1\x1e\xf7\x30\x07\xa4\x90\x90\xa3\x8e\x1e\xad\x8e\x9d\x9d\xaa\x1a\xa9\x79\x9d" -+"\x69\x8f\x1e\x73\x8d\x86\x91\xa3\x1a\xf7\x3a\x07\xd0\x4e\xc6\x42\x68\x73\x76\x6c\x6e\xa1\x76\xaa\x89\x1e\xa4\x91\x84\x73\x8c\x1f" -+"\xfb\x2a\x07\x58\x90\x7c\xa2\x70\x1e\x76\x72\x85\x79\x8a\x61\x08\x0e\xf8\x7c\xf8\x0b\x15\x75\x7e\x83\x6f\x75\x1f\x6e\x75\x7f\x80" -+"\xf7\x1e\x1d\x6a\x80\x78\xf7\x10\x1d\x56\xc8\xb2\x77\xb5\x1b\xb5\xab\x9d\xb6\xb1\x1f\xae\xb3\x93\x98\xa0\x1a\xaa\x71\xa4\x6b\x1e" -+"\x0e\xf7\x6e\x23\x15\x8a\x7e\x8a\x7e\x83\x1a\x5e\xb0\x69\xba\xbb\xb0\xae\xb7\x93\x8a\x98\x8a\x98\x1e\x6e\xf7\xaf\x05\xaa\x88\x77" -+"\x9e\x6c\x1b\x6d\x77\x78\x6c\x88\x1f\xb8\xf7\x80\x15\x64\x6c\x6d\x66\x65\xaa\x6e\xf7\x47\x1d\xf7\xf7\xea\x15\xe4\x9a\xc6\xb1\xb4" -+"\x1a\xa7\x72\xa4\x6e\x7d\x82\x88\x82\x7d\x1e\x74\x6a\x6b\x80\x66\x1b\x45\x56\xb8\xc6\xca\xc3\xb8\xd8\xb7\xa0\x80\x70\x92\x1f\x92" -+"\x6e\x8b\x8a\x94\x83\x08\x83\x93\x9b\x85\x98\x1b\x9c\x9c\x93\x98\x95\x1f\x93\x96\x8d\x94\xa5\x1a\xb3\x07\xa4\x66\x0a\x84\x85\x8a" -+"\x88\x84\x1f\x79\x96\x73\x92\x6f\x90\x08\xc7\x07\xa5\x66\x0a\x7a\x7b\x84\x7d\x80\x1f\x83\x80\x89\x81\x71\x1a\x45\x07\x29\x74\x45" -+"\x38\x2e\x1a\x28\xcd\x3b\xf1\x73\x1e\x41\x07\x74\x8d\x80\x91\x83\x1e\x7b\x95\x9d\x82\xac\x1d\x94\xa5\x1a\x0e\xf7\xce\xf7\x7c\x15" -+"\xa3\x97\x32\x1d\x9b\x9d\x31\x0a\x80\x81\x8d\x6f\x1b\x4a\x06\x89\x93\x05\x7a\xc6\x8b\x8b\x9f\xc4\x0a\x3a\x24\x41\x47\x2d\x6f\x8f" -+"\x76\x97\x6a\x1f\x64\x06\x71\xdc\x0a\x7b\x78\x1a\x7b\x93\x7c\x99\x81\x1e\x83\x96\x96\x89\xa5\x1b\xcc\x06\x8c\x85\x8b\x84\x89\x1a" -+"\x6a\x85\x6e\x7f\x74\x1e\x82\x7a\x80\x84\x74\x87\x08\x66\x83\x7b\x7c\xef\x0a\xae\x75\xa1\x6a\x6e\x79\x7c\x6e\x86\x1f\xfb\x56\x06" -+"\x9b\xb2\x90\xa5\xb4\x1a\x8e\x8b\x94\x8a\x95\x1e\x0e\x9a\x0a\xf7\xc1\xf7\xeb\x15\x34\xf7\x0a\x05\xa1\x92\x99\x9e\xa2\x33\x1d\x80" -+"\x83\x8d\x6d\x1b\x2f\x06\x71\x83\x8a\x85\x81\x32\x0a\x96\x84\x94\x89\xa5\x8a\xf7\x18\xfb\x4a\x18\x4b\x06\x74\x7f\x81\x77\x77\x98" -+"\x80\xa1\x1f\xe8\x72\x2e\xf7\x0b\x0a\xe8\x71\x61\x06\x70\x20\x1d\x7a\x93\x7b\x99\x82\x1e\x84\x95\x9a\x88\xa2\x1b\xf7\x56\x06\xb9" -+"\xa3\x9c\xae\x9b\x83\x9b\x7d\x94\x1f\x93\x7f\x83\x8d\x6f\x1b\x60\xa5\xe8\x69\x0a\x2e\xa4\xe8\x06\xa1\x98\x96\x9f\x9e\x7f\x96\x74" -+"\x1f\x4b\x06\xf7\x19\xf7\x4a\x05\xb7\xa2\x9d\xad\x9b\x83\x9b\x7d\x94\x1f\x93\x20\x0a\x30\x06\x70\xdc\x0a\x7a\x79\x1a\x75\x9a\x78" -+"\xa2\x84\x1e\x0e\xf7\xfa\xf8\x1d\x15\xb8\x07\xb5\xaa\xac\xb1\x9d\x9a\x88\x86\x9a\x1e\x86\x97\x91\x8a\x92\x1b\xa8\xa2\xa3\xa9\xb3" -+"\x5d\xa2\x3d\x29\x3b\x3d\x2a\x1f\x5b\x56\x07\x70\x83\xd1\x0a\xa6\x1b\xc0\xfb\x73\x06\x5b\x6d\x6a\x5f\x7a\x7f\x8d\x91\x79\x1e\x8f" -+"\x7c\x89\x8c\x84\x1b\x6f\x73\x73\x6f\x63\xba\x73\xda\xf0\xd9\xdb\xf3\x1f\xf7\x73\xc0\x07\xa3\x97\x32\x1d\x9b\x9e\x33\x1d\x7f\x83" -+"\x8d\x6e\x1b\x0e\xf8\x3f\xf8\x6a\x15\x6c\x07\x65\x9b\x78\xab\x9b\x9a\x92\x97\x94\x1e\x92\x94\x8c\x91\xa2\x1a\xf7\x11\xfb\x79\x07" -+"\x55\x66\x7d\x6a\x6b\x1f\x6f\x6f\x7c\x67\x65\x1a\x82\x8c\x86\x8e\x80\x1e\x4c\x7a\x66\x61\x52\x1a\x53\xae\x65\xf0\x53\x1e\xf5\x51" -+"\x05\xd0\x66\xad\x6d\x74\x1a\x73\x6d\x75\x6a\x1e\xfb\x21\xac\x06\xb1\x7b\x9d\x6b\x6b\x7b\x78\x66\x1e\xfb\x11\xf7\x7f\x07\xc1\xae" -+"\x99\xac\xaa\x1f\xa5\xa6\x98\xaa\xae\x1a\x96\x8a\x92\x88\x9a\x1e\xcb\x99\xb0\xb6\xc6\x1a\xc9\x6b\xac\xfb\x0a\xca\x1e\x2f\xbc\x05" -+"\x45\xb1\x68\xa8\xa1\x1a\xa5\xa8\xa0\xb0\x1e\xdd\xfb\x9e\x15\xc6\x6b\xaf\x6b\x76\x1a\x78\x7a\x83\x64\x1e\x7a\x99\x7c\x95\x56\xaa" -+"\x24\xc3\x18\x51\xab\x71\xa4\xa1\x1a\x9e\x9d\x95\xaf\x1e\xb3\x6e\x92\x86\xac\x79\x08\x0e\xf7\x12\xf8\x09\x15\x79\x6a\x85\x74\x69" -+"\x1a\x69\x91\x74\x9d\x69\x1e\x6d\x6d\x05\x74\x74\x87\x84\x79\x1a\x6e\xa4\x73\xa9\x9e\x92\x8f\xa2\xa3\x1e\xa9\xa7\x05\x7a\xaf\xa3" -+"\x85\xaf\x1b\xae\xa3\x91\x9c\xae\x1f\xab\x6e\x05\x75\xa2\x93\x87\x9d\x1b\xaa\xa4\xa3\xa8\x9c\x86\x94\x75\xa1\x1f\x6c\xa8\x05\x9e" -+"\xae\x91\xa2\xad\x1a\xac\x85\xa2\x79\xad\x1e\xa8\xa8\x05\xa2\xa0\x8f\x93\x9d\x1a\xa8\x73\xa2\x6c\x78\x84\x87\x75\x73\x1e\x6f\x71" -+"\x05\x9e\x66\x73\x91\x67\x1b\x67\x73\x85\x78\x67\x1f\x6c\xa7\x05\xa1\x74\x83\x8f\x79\x1b\x6d\x72\x74\x6e\x7d\x96\x78\x9b\x7b\x1f" -+"\xf7\x60\x6c\x15\xbd\xb3\x64\x5c\x5a\x63\x63\x59\x5a\x62\xb3\xbb\xbb\xb3\xb2\xbd\x1f\x0e\xf7\x7b\xf8\xdb\x15\xf7\x6a\x1d\xa1\x95" -+"\xf7\x11\x0a\xf7\x7d\xbd\x0a\xf7\x19\xf7\x60\xf7\x01\x0a\x94\x85\x9a\x1b\x9e\x9b\x99\x9c\x91\x8a\x92\x88\x92\x1f\x0e\xf7\x49\xf7" -+"\x68\xf7\x40\x1d\x77\x7f\x88\x8a\x7e\x7b\x1e\xfb\x91\xfb\x46\xf7\x91\xfb\x47\x05\x7e\x9b\x8e\x8a\x97\x1b\x9f\x9b\x99\x9e\x95\x86" -+"\x92\x7f\x96\x1f\xdc\xf7\x18\x15\xf7\x28\xf7\x17\x05\x97\x96\x90\x92\x95\x1a\x9e\x7b\x99\x77\x7f\x88\x8a\x7e\x7b\x1e\xfb\x91\xfb" -+"\x46\xf7\x91\xfb\x47\x05\x7e\x9b\x8e\x8a\x97\x1b\x9f\xf7\x05\x0a\xf7\x49\xf7\x68\xf7\x40\x1d\x76\x80\x88\x8a\x7e\x7b\x1e\xfb\x91" -+"\xfb\x46\xf7\x91\xfb\x47\x05\x7e\x9c\x8d\x8a\x96\x1b\xa0\xf7\x05\x0a\x97\x0a\x0e\xf7\x5b\xf7\xd6\x15\x8d\x0a\x69\x07\x70\x5c\x1d" -+"\xa6\x1b\xad\xfb\x6f\x65\x06\x70\x20\x1d\x69\xa3\x79\xba\x1e\xf7\x43\x06\x9f\x9b\x8e\x8f\x93\x61\x0a\x82\x8d\x6f\x1b\x6e\x06\xf7" -+"\xd6\xf7\xd6\x15\xfb\x10\x06\x71\x83\x8a\x85\x81\x1f\x7b\x82\x81\x79\x79\x1a\x7b\x93\x7c\x99\x80\x1e\x84\x96\x95\x89\xa6\x1b\x9b" -+"\xfb\x6f\x69\x06\x70\x20\x1d\x69\xa3\x79\xba\x1e\xf7\x42\x31\x1d\x6b\x06\x7a\xf8\x88\x15\xfb\x12\xfb\x00\xf7\x12\x06\x0e\xf7\x58" -+"\xf7\xd6\x15\xa8\x06\xa3\x96\x38\x1d\x6e\xac\x06\xa4\x99\x9b\xa1\x96\x91\x8a\x84\xa3\x1e\x87\x98\x94\x89\x93\x1b\x9c\x99\x93\x9b" -+"\x96\x1f\x94\x84\x94\x89\x9b\x8a\x08\xa9\xfc\x20\x69\x06\x70\x49\x0a\x69\xa3\x79\xba\x1e\xf7\x43\xb2\x0a\x6a\xf8\x87\xfb\x1a\x06" -+"\x72\x7c\x84\x79\x81\x1f\x9b\x6e\x66\x94\x62\x1b\x3e\x4e\x4b\x3a\x1f\x6b\x6a\x07\x70\x5c\x1d\xa6\x1b\xac\xfb\x6f\x64\x5b\x0a\xf7" -+"\x44\x06\x9f\x9b\x8e\x8f\x93\x61\x0a\x81\x8d\x70\x1b\x6e\x06\x0e\x7e\x1d\xc4\x1d\xfb\xea\xc0\x0a\x0e\xc4\x1d\x65\x35\x06\x73\x80" -+"\x89\x86\x82\x32\x0a\x83\x96\x94\x89\xa7\x1b\xe1\xfb\x5e\x06\x74\x8d\x80\x91\x83\xe3\x0a\x93\xa6\x1a\xf7\x5e\xe0\x07\xa5\x94\x8d" -+"\x90\x95\x1f\x9b\x95\x95\x9c\x9c\x1a\x9c\x83\x9a\x7c\x95\x1e\x93\x2f\x1d\x36\x06\x0e\x85\x1d\xf8\x6f\xf8\x76\x15\xa9\x06\xb2\x9e" -+"\x99\xa6\xa6\x78\x99\x64\x1f\xfb\x59\x06\xfb\x23\x8c\xfb\x0b\x3c\x8d\x2e\x08\x5f\x07\x88\x37\xee\x3e\xf7\x11\x80\x08\xfb\x99\x40" -+"\x07\x76\x84\x8a\x86\x83\x1f\x7e\x83\x83\x7e\x7d\x1a\x70\x9e\x7d\xb1\x1e\xf7\x1d\x06\xa3\x95\x91\x9f\x94\x1f\x79\x93\x99\x83\x9d" -+"\x1b\xe8\x06\xb2\x9e\x98\xa7\xa6\x78\x99\x64\x1f\x6b\x06\x37\xf8\xca\x15\xfc\xcc\x07\x82\x86\x88\x87\x86\x83\x86\x94\x87\x8e\x81" -+"\x91\x08\xf8\xcb\x07\x0e\xf7\xbc\xf8\x59\x15\x38\x49\x49\x37\x38\xcd\x48\xdd\xdc\xcd\xce\xde\xdd\x49\xcf\x3b\x1f\x0e\xf4\x1d\xf7" -+"\x30\xf7\x1c\x15\xc1\x0a\xc5\x16\xc1\x0a\x0e\xf7\x30\xf8\xdb\x15\xf7\x0a\x1d\xc5\x16\xf7\x0a\x1d\x0e\x97\x0a\x39\xfb\x18\xdc\x1d" -+"\x0e\xf7\x01\x7d\x15\x49\x1d\xf7\x6e\x16\x49\x1d\xf7\x6e\x16\x49\x1d\x0e\xf8\x69\xf8\x00\x15\xa0\x92\x93\x93\x9a\x1a\x9c\x7e\x99" -+"\x7b\x86\x89\x8b\x87\x7f\x1e\xfc\x01\xfb\x05\x05\x76\x85\x83\x82\x7c\x1a\x7a\x98\x7c\x9a\x91\x8d\x8b\x90\x97\x1e\x97\xf7\xee\x82" -+"\x1d\xed\xfb\xd1\x82\x1d\xf7\xa2\xc3\x82\x1d\x0e\xf8\x88\xfb\x33\x15\xd9\x07\xa2\x89\x96\x85\x93\xf7\x60\x1d\x80\x1f\x83\x80\x89" -+"\x84\x6f\x1a\x80\x07\x7c\x69\x6d\x84\x67\x1b\x4c\x61\xaa\xb9\xb2\xae\xa3\xf7\x15\xba\x1f\xc3\x07\xa2\x89\x95\x85\x94\x1e\x9a\x81" -+"\x79\x95\x79\x1b\x6d\x78\x79\x69\x87\x1f\xfb\x0d\x58\x5f\x5c\x3d\x1a\xfb\x02\xe1\x40\xf7\x13\xca\xb9\x97\xb5\xe6\x1e\xfb\x5f\xf8" -+"\xaf\x15\x64\x6c\x6e\x65\x66\xaa\x6d\xf7\x47\x1d\xf7\x58\xf9\x24\x5a\x0a\xf8\x5b\xf8\xe8\xac\x0a\x90\x96\x99\x1e\x0e\xf7\xc1\xf8" -+"\xd6\x2e\x0a\xf8\x59\xf9\x0e\x15\x7d\x7e\x81\x77\x7b\x1f\x6f\x77\x87\x88\x7e\xe7\x0a\x7c\x6d\x71\x1f\x79\x76\x81\x78\x7d\x1a\x78" -+"\x9a\x7d\x9f\x96\x94\x90\x96\x94\x1e\xaf\xa7\x93\x91\x9b\xb1\x0a\xf7\x46\xf8\xf1\x37\x1d\xf7\x34\xf9\x2c\x3b\x1d\xf7\xc0\xf9\x0c" -+"\x36\x0a\x0e\xf7\x58\xf9\x0c\x28\x0a\xf7\xc0\xf9\x52\xe4\x1d\xf7\x96\x93\x15\x21\x07\xd7\x1d\xb3\x07\x0e\xf7\xba\xf8\xe7\xca\x1d" -+"\xf7\xdc\x93\x15\x4f\x66\x75\x6c\x59\x1a\x54\x60\x1d\x80\x1e\x7d\x6e\x83\x88\x7f\x1b\x7e\x84\x90\x95\x9a\x97\xa1\x9b\x9b\x1f\x9c" -+"\x9c\x98\x94\xbe\xac\x08\x0e\xf7\xc1\xf8\xcc\x45\x1d\x91\x0a\x75\x0a\x0e\xf7\xf2\xf7\xa3\x15\xe4\x06\xae\x9e\x9a\xa5\xa7\x79\x99" -+"\x66\x1f\x89\xf7\x0a\x06\xcd\x56\xb1\x30\x67\x5a\x83\x7f\x6a\x1e\x79\x85\x82\x7f\x79\x1a\x74\x9e\x78\xa1\x92\x96\x8d\x8e\x97\x1e" -+"\x93\xae\x9e\x8e\xa4\x1b\xb1\x9a\x85\x7b\x1f\x87\x07\x8f\x71\x7e\x8c\x78\x1b\x46\x5c\x7b\x67\x6a\x1f\x79\x78\x80\x73\x75\x1a\x56" -+"\xc5\x60\xd5\xb1\xa7\x90\x9a\xb1\x1e\xe6\x04\x7a\x6e\x65\x80\x6c\x1b\x74\x7b\x92\x95\x9f\xaf\x9d\xb1\x9f\x98\x8a\x86\xa9\x1f\x0e" -+"\xf7\x98\xf8\x61\x15\xc0\x69\x1d\xfb\x6a\x06\x5d\x0a\xc0\xfb\x2c\x06\x25\x53\x05\x6a\x79\x82\x80\x74\x1a\x6f\xa4\x72\xa6\x98\x96" -+"\x8f\x96\x9f\x1e\xbb\xa6\x05\x34\x56\x07\x71\x20\x1d\x2d\x0a\x1e\xf8\x70\xf7\x4e\x06\xa4\x89\x94\x85\x94\x74\x0a\x79\x54\x1d\x81" -+"\x71\x1a\x38\xfb\x63\xf7\x17\x07\xf7\x1b\xd7\x05\xab\x9d\x94\x96\xa3\x1a\xa6\x73\xa3\x70\x7f\x7d\x86\x82\x7a\x1e\x39\x5d\x05\x0e" -+"\x7e\x0a\x0e\xf8\x06\xf7\x7c\x15\x96\x06\x69\x8d\xa0\x77\xaa\x1b\x9b\x9b\x93\x98\x96\x1f\x93\x96\x8d\x94\xa5\x1a\xd5\x07\xa5\x66" -+"\x0a\x6c\x79\x79\x68\x87\x1f\x80\xf7\x13\xf7\x0b\x51\xc0\x0a\xf7\x35\xfb\xe6\x07\xfb\x39\xfb\x0a\xfb\x09\xfb\x39\xfb\x38\xf7\x0a" -+"\xfb\x0a\xf7\x39\x1f\xf7\xf9\xf7\x0c\x06\xa5\x8a\x92\x85\x4d\x1d\x82\x70\x1a\x7a\xfb\x1f\x07\xfb\x00\x16\x60\x73\x91\x9b\x70\x1f" -+"\x59\xa9\x69\xca\xcb\x1a\xc5\xa9\xc8\xb6\xaa\x1e\xa8\x9f\xa8\x93\xba\x8c\x08\x0e\xf7\xc1\xf8\xd4\x15\x2c\x3c\x42\x33\x35\xd8\x47" -+"\xec\xeb\xd9\xcf\xdf\xe6\x3e\xd3\x2a\x1f\x39\x04\xba\xb3\x67\x61\x63\x63\x6a\x5c\x5d\x62\xad\xb0\xb7\xb2\xaf\xbb\x1f\x0e\x76\x0a" -+"\x0e\x25\x0a\x0e\xf7\xf6\xf8\xef\x15\xfb\x47\x06\x71\x82\x89\x86\x81\x3c\x1d\x83\x96\x97\x89\xa5\x1b\xd2\xfb\x2b\x06\x3a\x60\x05" -+"\x6d\x7b\x80\x7c\x75\x1a\x6f\xa3\x72\xa7\x97\x95\x8f\x95\x9f\x1e\xa7\x9b\x05\xfb\x12\xfb\x0a\x07\x71\x49\x0a\x2d\x0a\x1e\xf7\xec" -+"\x29\x0a\xfb\x0a\xf7\x3c\x06\xde\xb9\x05\xaa\x9b\x95\x98\xa2\x1a\xa8\x73\xa4\x6f\x7d\x84\x88\x7f\x75\x1e\x6e\x7a\x05\x0e\x80\x0a" -+"\x0e\xf8\xfc\xf7\x37\x15\xba\x07\xd1\x77\xc6\x67\xb2\x1e\xb2\x67\x60\x9f\x5e\x1b\x56\x5c\x71\x5c\x6a\x1f\xbb\x67\x5d\xa4\x58\x1b" -+"\x23\x3a\x26\xfb\x16\xfb\x0f\xde\x29\xf2\xbd\xba\xa3\xb6\xae\x1f\x5f\xac\xb9\x74\xc2\x1b\xb5\xcb\x98\x9b\xae\x1f\xa8\x99\x95\x99" -+"\xa3\x1a\xa9\x73\xa3\x6e\x82\x83\x89\x88\x83\x1e\x73\x53\x80\x88\x6f\x1b\x63\x71\xa4\xbd\x7e\x1f\xfb\x54\xf7\x3e\x15\xb6\xaf\x54" -+"\x49\x45\x68\x55\x5e\x60\x67\xc2\xce\xcf\xaf\xc2\xb7\x1f\xf7\x57\x3b\x15\xc3\x98\x9f\xa3\xac\x1b\xab\xa0\x72\x54\x97\x1f\x0e\xe6" -+"\xf7\xb0\x15\xfb\x49\x7f\x07\xaf\x1d\x82\x81\x79\xf7\x6b\x1d\x98\x88\xa4\x1b\xf7\x0c\xf8\x50\x06\xaf\xa3\x9e\xb8\xb7\xa9\x74\x69" -+"\x7c\x82\x7c\x7d\x82\x1e\x80\x84\x84\x8a\x71\x88\x08\x67\x87\x77\x79\x6d\x1a\x6d\x9e\x7a\xb3\x87\x1e\xbe\x86\xa9\x7f\xa5\x73\x08" -+"\xa5\x74\x99\x6c\x69\x1a\x5f\x7a\x6f\x71\x7d\x82\x93\x9b\x88\x1e\xac\x83\x7d\x97\x6e\x1b\x6a\x76\x74\x66\x4a\xbf\x5c\xd2\xb9\xb1" -+"\x9a\xa6\xa5\x1f\xaa\xad\x9d\xbc\xbe\x1a\xdc\x62\xcf\x41\xb6\x1e\xa3\xa8\x93\xa0\xaf\x1a\xe8\x3d\xd1\x23\x23\x42\x50\x38\x1e\x43" -+"\x7f\x07\xce\x0a\x7b\x94\x7b\x98\x81\x1e\x84\x95\x98\x88\xa4\x1b\x0e\xf7\xe2\xf8\xfc\x15\xfb\x18\x6a\x05\x72\x85\x82\x82\x79\x1a" -+"\x78\x99\x7c\x9c\x91\x8d\x8b\x8f\x97\x1e\xbb\x97\x05\xfb\x79\x52\x07\x6d\x7d\x80\x76\x76\x9a\x7f\xa8\x1f\xf7\x49\x06\xa7\x9a\x97" -+"\xa0\xa0\x7d\x96\x6e\x1f\x52\x06\x0e\xf8\x76\xf8\x19\x15\xfb\x55\x07\x77\x94\x80\x9c\x9c\x94\x96\x9f\x1e\xf7\x88\xfc\x46\x07\x75" -+"\x80\x82\x7a\x7b\x96\x82\xa1\x1f\x0e\xf7\x5f\x82\x15\x86\xa0\x95\x8a\x9e\x1b\xbd\xbc\x95\xa1\xbd\x1f\x7a\xf2\x07\xa1\x9a\x8d\x91" -+"\x94\x1f\x9d\x95\x95\x9d\x9e\x1a\xac\x75\x9f\x64\x8d\x1e\xf7\xd2\xfb\x23\x07\x71\x81\x89\x85\x81\x1f\x7a\x81\x80\x79\x78\x1a\x7a" -+"\x94\x7a\x9a\x81\x1e\x83\x96\x98\x88\xa5\x1b\xa6\xfb\x43\x06\x68\x4e\x63\x7e\x61\x1b\x62\x7c\x98\xaf\x1f\xf7\xb0\xfb\x10\x07\x7b" -+"\x06\x6b\x71\x73\x6c\x7a\x94\x7a\x9a\x81\x1f\x83\x96\x98\x88\xa5\x1b\x93\xfc\x1c\x06\xf7\x31\x1d\x94\x96\x8d\x95\xa5\x1a\x0e\xf7" -+"\x37\xf8\x81\x15\xb0\x5a\x06\x6f\x96\x7d\xa0\xa0\x96\x99\xa7\x1e\xf7\x06\xfb\x9d\xfb\x06\x07\x6f\x96\x7d\xa0\xa0\x95\x99\xa7\x1e" -+"\xbc\xb0\xfb\x68\x74\x07\x6f\x7e\x80\x76\x75\x99\x80\xa5\x1f\xf7\x03\x06\xa6\x99\x96\xa1\xa0\x7e\x96\x6f\x1f\x74\x06\xf7\x67\xf7" -+"\x24\x15\xc7\xfb\x16\x05\x99\x06\xc3\xf7\x15\x05\xfb\x23\x07\x7a\x8a\x8b\x89\x85\x1f\x80\x87\x83\x7e\x7e\x1a\x75\x99\x80\xa5\x1e" -+"\xc7\x06\xa5\x99\x96\xa1\x9e\x80\x96\x75\x8d\x1f\xf7\x69\x07\x9f\x8e\x94\x96\x9d\x1a\xa1\x7e\x95\x6f\x1e\x47\x06\x5a\xfb\x13\x59" -+"\xf7\x13\x05\x49\x06\x6f\x7e\x81\x75\x79\x95\x80\x9e\x88\x1f\xfb\x69\x07\x74\x89\x80\x80\x78\x1a\x75\x99\x80\xa6\x1e\xc6\x06\xa5" -+"\x99\x96\xa1\xa1\x7f\x95\x6c\x1f\x0e\xb9\x1d\xf7\x36\xf9\x10\x7f\x1d\xf7\xbd\xf7\x4e\x15\x8f\x93\x8f\x99\x90\x1a\x9b\x7b\x9a\x7a" -+"\x7d\x82\x84\x79\x81\xf7\x3c\x1d\x99\x95\x93\x9c\x94\x1e\xf7\x6d\x68\x15\xf7\x19\xf7\x0e\x9e\xa4\xbc\x1a\xce\x56\xbc\x42\x68\x6a" -+"\x7f\x76\x74\x1e\x76\x78\x7c\x6e\x77\x1a\x7a\x9a\x7d\x9c\x98\x96\x93\x96\x8f\x1e\x92\x9e\x8b\x8b\x90\x91\x08\x9a\x97\x9e\x93\xa0" -+"\x1b\xae\xa6\x76\x6f\x71\x77\x76\xfb\x33\xfb\x21\x1f\x81\x82\x05\x49\xf7\x95\xc2\x07\xa6\x81\x99\x76\x79\x81\x80\x77\x88\x1e\x0e" -+"\xf7\xf6\xf7\xcf\xf7\x23\x1d\x95\x1e\x92\x80\x82\x8d\x6e\x1b\xfb\x1d\xf7\x0a\xf7\x09\x1d\xfb\x0a\xfb\x1e\x07\x71\x83\x8a\x85\x81" -+"\x48\x0a\x84\x96\x97\x88\xa4\x1b\xf7\x1e\x30\x06\x74\x8d\x81\x91\x82\x1e\x7c\x94\x9e\xe5\x0a\xfb\x8a\xfb\x0d\x94\x0a\xf7\x5b\xf7" -+"\x1a\x15\xe9\x06\xf3\xbf\x9b\xb6\xb5\x1f\xa2\xa3\x98\xac\xac\x1a\xac\x7e\xab\x74\xa3\x1e\xb6\x61\x57\x9b\x23\x1b\x2d\xa9\xea\x06" -+"\xa4\x95\x32\x1d\x9b\x9d\x1a\xae\x73\x9c\x5d\x1e\xfb\x6a\x06\x76\x7c\x89\x86\x83\x6d\x0a\x7b\x99\x82\x1e\x83\x96\x94\x89\xa7\x1b" -+"\x96\xfb\xfa\x80\x06\x72\x82\x89\x86\x61\x1d\xf7\x6a\x29\x0a\x2c\x06\xf7\x1a\x04\xe6\xf7\x13\x07\xcb\xa6\x7e\x6a\x6b\x70\x7e\x4b" -+"\x1f\x0e\xf8\xb5\xf7\xe9\x15\x37\x06\xfb\x26\xfb\x7e\x05\x56\xf7\x37\x7c\x78\x07\x6e\x7d\x80\x76\x75\x9a\x80\xa7\x1f\xda\x06\xa8" -+"\x9a\x96\xa1\x9e\x7e\x97\x73\x8c\x1f\x9a\x07\xa3\x8c\x98\x97\x9f\x1a\x9e\x7d\x97\x74\x8c\x1e\x48\x16\x3c\x06\xda\xf7\x10\x05\xfb" -+"\xd0\xf8\x1d\x7f\x1d\xf7\xca\xf7\x4e\x15\x8f\x92\x8f\x9a\xf5\x0a\xfb\x7c\xfc\x47\x05\x85\x80\x88\x82\x84\x1a\x7b\x9b\x7c\x9c\x99" -+"\x95\x93\x9c\x95\x1e\x0e\x92\x0a\xfb\x54\xfb\x35\x15\x5c\x6b\x70\x63\x62\xab\x70\xb9\xbb\xab\xa5\xb4\xb5\x6c\xa5\x5b\x1f\xf7\xf7" -+"\x04\x5c\x6b\x70\x63\x62\xab\x70\xba\xba\xab\xa5\xb4\xb5\x6c\xa5\x5b\x1f\x0e\xf7\xfa\xf8\xa8\x15\x9f\x8a\x91\x88\x95\x1e\x9e\x83" -+"\x74\x9a\x74\x1b\x79\x79\x83\x7d\x80\x1f\x83\x80\x88\x80\x71\x1a\xfb\x53\x07\x74\x8d\x80\x91\x81\x1e\x7b\x96\x9e\x81\x9f\x1b\xad" -+"\xa3\xa3\xaf\x1f\x95\x07\xfb\x74\x04\xa3\x89\x95\x85\x95\x1e\x9b\x80\x78\x95\x77\x1b\x79\x79\x83\x7d\x80\x1f\x83\x80\x88\x80\x71" -+"\x1a\xfb\x53\x07\xf7\x31\x1d\x93\x95\x8e\x96\xa5\x1a\x0e\xf7\xc0\xf8\xd5\x15\x28\x3b\x3e\x2c\x2c\xdb\x3d\xec\xf0\xdb\xd7\xec\xea" -+"\x3b\xd8\x28\x1f\x49\x04\xc8\xbc\x5c\x4f\x52\x59\x5a\x50\x4d\x5a\xba\xc7\xc6\xbc\xba\xc8\x1f\x0e\xf7\x3d\x1d\xf7\x12\x21\xe9\xfb" -+"\x22\x4f\x61\x7d\x67\x5c\x1f\xf7\x6c\xfb\x0c\x07\x77\x84\x8b\x88\x81\x1f\x78\x84\x7d\x77\xf7\x45\x1d\xfc\xe5\xc2\x1d\xf7\x0a\xf8" -+"\x79\xbf\x1d\xf8\x2a\xfb\x24\x15\x37\x06\xfb\x26\xfb\x7e\x05\x56\xf7\x37\x7c\x78\x07\x6e\x7d\x80\x76\x75\x9a\x80\xa7\x1f\xda\x06" -+"\xa8\x9a\x96\xa1\x9e\x7e\x97\x73\x8c\x1f\x9a\x07\xa3\x8c\x98\x97\x9f\x1a\x9e\x7d\x97\x74\x8c\x1e\x48\x16\x3c\x06\xda\xf7\x10\x05" -+"\x85\xf7\x9e\xe2\x1d\xf7\x91\xf7\xc3\x15\xf7\x2b\xf7\x0f\xa0\xa3\xbd\x1a\xcc\x53\xbd\x40\x66\x69\x7f\x76\x72\x1e\x76\x78\x7b\x6e" -+"\x77\x1a\x7a\x9a\x7d\x9d\x99\x98\x93\x96\x8f\x1e\x91\x9e\x8c\x8b\x90\x91\x08\x9a\x98\x9f\x93\xa2\x1b\xb0\xa7\x76\x6f\x71\x75\x76" -+"\xfb\x44\xfb\x21\x1f\x80\x82\x05\x49\xf7\xac\xc2\x07\xa6\x80\x99\x74\x78\x80\x80\x77\x88\x1e\x0e\xf7\xa5\xf7\x7e\x15\x95\x06\xa8" -+"\x7e\xae\x56\x98\x5b\x08\xb6\x06\xa9\x9d\x99\xa3\xa0\x7e\x99\x72\x8e\x1f\x77\xac\x84\x94\x76\x9d\x08\xb0\x9f\xa0\xa9\xae\x1a\xc8" -+"\x56\xb6\x3d\x1e\x2e\x06\x6b\x7a\x7e\x72\x74\x9a\x7e\xa7\x89\x1f\xfb\x41\x07\x70\x8a\x7b\x7d\x74\x1a\x73\x9d\x7d\xaa\x1e\xcf\x06" -+"\xa9\x9d\x99\xa3\xa2\x7c\x98\x70\x8d\x1f\xf7\x05\x04\xc7\xa0\x07\xa9\x9f\x80\x7b\x79\x75\x7c\x6f\x1f\x90\xf7\xa2\xf7\x34\x1d\xf7" -+"\x43\xf7\x1f\xf7\x17\xf7\x3a\xf7\x37\xfb\x1f\xf7\x19\xfb\x40\x1f\x8c\x3d\x15\xf7\x12\xf2\x29\xfb\x0c\xfb\x0c\x24\x28\xfb\x10\xfb" -+"\x16\x25\xec\xf7\x0e\xf7\x0c\xf2\xed\xf7\x13\x1f\x0e\x92\x0a\x0e\xf8\x37\xf8\xc0\x15\x9b\x93\x94\x97\x98\x1a\x9f\x7c\x9a\x77\x81" -+"\x7e\x88\x85\x7f\x1e\x40\x65\x5c\x9f\x73\x95\x89\x8c\x19\x93\x72\x7b\x8e\x7d\x1b\x74\x77\x79\x76\x7c\x95\x7f\x9d\x85\x1f\x91\x8a" -+"\x91\x89\x90\x89\x08\x8c\x92\x88\x87\x95\x1f\x98\x85\x60\x74\x05\x75\x7f\x87\x86\x7c\x1a\x75\x9a\x7a\x9e\x95\x8f\x8c\x95\x9f\x1e" -+"\xe5\xba\xb2\x76\xbb\x64\xab\x66\x19\xa7\x56\x71\x92\x5d\x1b\xfb\x1f\xfb\x02\x27\xfb\x11\xfb\x0f\xf7\x09\x29\xf7\x25\xd2\xd1\xa4" -+"\xb7\xbd\x1f\xbc\xb5\xa1\xc0\xd9\x1a\xf7\x13\x52\xec\xfb\x11\xe0\x1e\x3b\xfb\x5e\x15\xdf\xcf\x53\x44\x69\x80\x75\x6e\x73\x1f\x71" -+"\x6c\x65\x7e\x5f\x1b\x38\x47\xc0\xcc\xd3\xce\xc3\xe0\x1f\x0e\xf7\xc0\xf7\x5a\x15\xef\x2c\x05\x75\xa2\x94\x86\x9c\x1b\xaa\xa3\xa2" -+"\xa8\x9c\x85\x95\x75\xa0\x1f\x28\xea\xee\xeb\x05\xa1\x9f\x91\x95\x9c\x1a\xa8\x73\xa2\x6c\x7a\x82\x86\x76\x74\x1e\x27\x2b\x27\xeb" -+"\x05\x9f\x75\x81\x91\x7a\x1b\x6c\x73\x74\x6e\x79\x90\x83\xa2\x76\x1f\xef\x2b\x27\x2c\x05\x75\x76\x85\x81\x7a\x1a\x6e\xa3\x74\xaa" -+"\x9c\x94\x90\xa1\xa2\x1e\x0e\xf7\xb2\xf8\x67\x15\x78\x7c\x7e\x78\x79\x98\x7f\xa0\x8a\x1f\xa6\x8a\x92\x8a\x96\x86\x08\xa6\x80\x9c" -+"\x76\x77\x1a\x6a\x6c\x7a\x4e\x64\x7a\x8e\x94\x7c\x1e\x92\x81\x87\x8c\x83\x1b\x78\x7d\x7d\x78\x6b\xbd\x77\xd9\xbd\xad\x93\x9e\xa6" -+"\x1f\xa7\x9f\x9d\xac\xac\x1a\xb0\x74\xab\x62\xa0\x1e\xaf\xa1\x9a\xa3\xaa\x1a\xc8\x56\xb7\x41\x48\x4f\x6b\x68\x79\x9a\x7c\x9d\x94" -+"\x94\x8f\x91\x91\x1e\x9f\x9e\x9a\x91\xac\x1b\xb1\xa4\x7b\x73\x73\x73\x77\x70\x1f\x0e\xf7\x17\xf7\x98\x15\x36\xd4\x4c\xed\xd6\xcd" -+"\xaf\xb3\xa0\x79\x9c\x75\x81\x82\x87\x83\x82\x1e\x75\x75\x80\x87\x64\x1b\x52\x67\xa8\xb7\x1f\xac\x07\xbc\xad\xad\xbc\xab\xa7\x7d" -+"\x7b\x8e\x1e\x71\x90\x97\x7f\xa1\x1b\xa5\x99\x9b\xa9\x1f\xbe\x07\xab\x7f\x9a\x72\x7d\x81\x86\x7f\x85\x1e\x97\x70\x75\x90\x6f\x1b" -+"\x30\x46\x47\x31\x1f\xf7\x3c\xf7\xb0\xf7\x34\x1d\xf7\x44\xf7\x1e\xf7\x17\xf7\x3a\xf7\x38\xfb\x1f\xf7\x18\xfb\x40\x1f\x8c\x3d\x15" -+"\xf7\x12\xf2\x29\xfb\x0c\xfb\x0c\x24\x28\xfb\x10\xfb\x16\x25\xec\xf7\x0e\xf7\x0c\xf2\xed\xf7\x13\x1f\x0e\x21\x1d\xf7\x08\xf7\xca" -+"\xcf\x0a\x7b\x7e\x83\x7f\x7e\x1a\x76\x9d\x79\xa2\x96\x91\x8e\x98\x9c\x1e\x0e\x21\x1d\x7e\xf7\xb7\xf7\x41\x1d\x98\x87\x92\x7b\x97" -+"\x1f\x86\x8f\xfb\x2e\xf7\x11\xed\x0a\x9f\x96\x6f\x0a\x21\x1d\xfb\x0a\xf7\xef\x36\x1d\x21\x1d\x36\xf8\x06\xe5\x1d\x21\x1d\x7d\xf8" -+"\x34\xa1\x0a\x21\x1d\xf7\x1f\xf7\xef\x15\x7f\x7b\x81\x7c\x80\x1f\x6b\x73\x88\x88\x7d\xf7\x03\x0a\x73\x1b\x6b\x6d\x7a\x6c\x71\x1f" -+"\x79\x77\x83\x7a\x7e\x98\x0a\xf7\xe9\x7e\x15\xcc\x8e\xbb\x97\xb2\xa0\x08\xb9\xa3\xa8\xac\xa7\x64\x1d\x80\x85\x08\x7d\x72\x65\x83" -+"\x5d\x1b\xfb\x09\xd8\x0a\x94\x80\x8f\x75\x08\x64\x93\x9f\x0a\x52\x1b\xfb\x30\x74\x1d\x4b\x07\x8c\xfb\x13\xe8\x28\xf7\x20\x74\x08" -+"\x31\x07\x8d\x9e\x8f\x8b\x91\x1b\xa8\x9c\x80\x7a\x7e\x80\x84\x76\x7a\x76\x91\x94\x7a\x1f\x96\x77\x89\x8c\x55\x1d\x7d\x92\x7e\x98" -+"\x83\x1f\x7a\xa7\xb5\x7f\xb0\x1b\xc9\xb9\xb4\xc2\x4e\x0a\x30\x1d\xf7\x73\xf9\x0a\xcf\x0a\x79\xa5\x1d\x9c\x1e\x0e\x51\x0a\xe9\xf8" -+"\xf7\xf7\x41\x1d\x97\x87\x92\x7e\x95\x1f\x88\x8e\x89\x8d\x88\xc6\x0a\x8f\x94\x97\x1e\x0e\x51\x0a\x80\xf9\x2f\x36\x1d\x51\x0a\x9a" -+"\xf9\x46\x98\x1d\x20\x05\x7e\x9c\x92\x62\x0a\x21\x0a\xf0\xf9\x0a\x26\x1d\x21\x0a\x56\xf8\xf7\xb9\x0a\x98\x87\x93\x7e\x94\x1f\x87" -+"\x8e\x87\x8e\x8a\x8c\xfb\x2d\xf7\x11\x18\xfb\x2f\xfb\x11\x05\x73\x78\x89\x89\x7c\x1a\x76\x9d\x7a\xa0\x95\x94\x8f\x94\x97\x1e\x0e" -+"\x21\x0a\xfb\x32\xf9\x2f\x36\x1d\x21\x0a\xfb\x18\xf9\x46\xe5\x1d\x33\x0a\xf7\xa6\xf9\x2f\x15\x7c\x8a\x7f\x83\x7d\x77\x08\x6f\x76" -+"\xf7\x5b\x1d\x58\x79\x92\x73\x1b\x6d\x6d\x7b\x6e\x71\x1f\x79\x75\x82\x7a\x7d\x1a\x78\x9a\x7d\x9e\x97\x94\x90\x95\x93\x1e\xb0\xa9" -+"\x91\x90\x9c\xf7\x24\x1d\xa6\x93\x99\x9a\x1a\x9c\x7d\x97\x74\x8d\x1e\x0e\x24\x1d\xf7\x12\xf7\x96\xf7\x0d\x0a\x73\x7f\x85\x63\x0a" -+"\x76\x9d\x79\xa2\x96\x91\x8e\x98\x9c\x1e\x0e\x24\x1d\x8c\xf7\x83\xf7\x49\x1d\xa0\x99\xb0\x0a\x24\x1d\x23\xf7\xbb\x36\x1d\x24\x1d" -+"\x40\xf7\xd2\xa3\x0a\x24\x1d\xf7\x34\xf7\xbb\x15\x7e\x7d\x81\x77\x7c\x1f\x70\x76\x88\x88\x7d\xf7\x03\x0a\x73\x1b\x6c\x6e\x7c\x6e" -+"\x72\x1f\x78\x75\x81\x79\x7d\x98\x0a\xf7\xce\xf9\x55\x15\xfb\x03\xe5\x05\x95\x7f\x83\x8e\x81\x1b\x76\x79\x7a\x77\xf7\x46\x1d\xa3" -+"\x9f\x8c\x8c\x9a\x1a\xa0\x79\x9c\x76\x81\x82\x87\x82\x80\x1e\xec\xfb\xb0\xb5\x1d\x0e\x22\x0a\x20\xf8\xa9\x15\x9f\x9a\x90\x93\x99" -+"\x1a\xa1\x79\x9c\x73\x7f\x85\x63\x0a\x76\x9d\x79\xa2\x96\x91\x8e\x98\x9c\x1e\x0e\x22\x0a\xfb\x7c\xf8\x96\x15\xf7\x01\x31\xf1\x0a" -+"\x92\x7e\x95\x1f\x88\x8e\x88\x8d\x88\x8d\xfb\x2d\xf7\x11\x18\xf7\x15\x1d\x22\x0a\xfb\xe5\xf8\xce\x36\x1d\x22\x0a\xfb\xc8\xf8\xe5" -+"\xa3\x0a\x2b\x0a\xd6\xf9\x0a\x15\x9e\x9a\x91\x93\x99\x1a\xa1\x79\x9c\x74\x7e\x86\x88\x7e\x7a\x1e\xfb\x1a\x21\x05\x7a\xa5\x1d\x9b" -+"\x1e\x0e\x2b\x0a\xfb\x32\xf9\x2f\x36\x1d\x44\x1d\xfb\x0e\xf8\xee\x15\xfb\x03\xe5\x05\x94\x7f\x82\x8f\x81\x1b\x76\x79\x7a\x76\x7f" -+"\x8f\x83\x9b\x80\x1f\x8c\x89\x8d\x8a\x8e\x89\xf7\x2f\xfb\x10\x18\xf7\x2d\xf7\x10\x05\xa5\xa0\x8b\x8b\x9a\x1a\xa0\x79\x9c\x77\x80" -+"\x81\x87\x82\x80\x1e\x0e\x23\x0a\xb0\xf8\x37\x15\x9e\x9a\x91\x94\x98\x1a\xa1\x79\x9c\x74\x7f\x84\x51\x1d\x7d\x84\x81\x7d\x1a\x76" -+"\x9e\x7a\xa1\x96\x95\x90\x96\x98\x1e\x0e\x23\x0a\x2d\xf8\x25\xf2\x1d\x88\x7c\x1a\x76\x9d\x7a\xa0\x95\x93\x8e\x95\x98\x1e\x0e\x8d" -+"\x1d\x47\x80\x7a\x58\x1e\x73\x83\x7f\x7d\x75\x1a\x6d\xa2\x74\xa8\x95\x99\x8d\x8f\x9d\x1e\x96\xbb\xad\x90\xad\x1b\xc8\xa6\x7e\x6e" -+"\x1f\x79\x07\x91\x68\x6a\x8e\x6a\x1b\x32\x46\x72\x5a\x5c\x1f\x72\x71\x7c\x68\x6c\x1a\x42\xde\x50\xf2\xc2\xc5\x97\xa1\xba\x1e\x8c" -+"\xf7\x08\x44\x0a\xfb\x5c\xf8\x5b\x28\x0a\x23\x0a\xfb\x45\xf8\x73\x15\x98\x7c\x84\x8e\x7f\xa9\x0a\x96\x1b\xa1\x9e\x9d\x9f\x99\x85" -+"\x95\x78\x99\x1f\x0e\x23\x0a\x2b\xf8\xa1\x15\x46\x51\x55\x4a\x4a\xc5\x55\xd0\xd0\xc5\xc1\xcb\xcd\x52\xc1\x45\x1f\x50\x04\xaf\xa9" -+"\x70\x6b\x6a\x6d\x70\x67\x68\x6d\xa6\xac\xab\xa9\xa6\xae\x1f\x0e\x23\x0a\xc8\xf8\x5d\x15\x7f\x7b\x81\x7c\x80\x1f\x6a\x73\x88\x88" -+"\x7e\x1b\x7f\x7f\x90\x9e\x6a\x1f\xa8\x5a\x77\x93\x74\x1b\x6d\x6d\x7c\x6f\x72\x1f\x78\x75\x81\x78\x7c\x1a\x78\x9a\x7d\x9f\x95\x95" -+"\x90\x93\x91\x1e\xb3\xab\x91\x90\x9c\xb1\x0a\xf7\xee\x7c\x15\xc2\x8d\xb0\x91\xb2\x97\x08\xc2\x9d\xb0\xad\xac\x1a\xa7\x72\xa3\x6e" -+"\x90\x0a\xd4\x07\xa5\x8a\x94\x85\x94\x1e\x99\x83\x78\x94\x77\x1b\x77\x80\x83\x78\x84\x1f\x9d\x65\x5a\xa2\x1d\xfb\x0b\xdf\x39\xf7" -+"\x1a\x7e\x1f\x36\x07\x8d\x9c\x8b\x8b\x90\x1b\xae\x9c\x82\x78\x7e\x80\x84\x76\x7b\x75\x91\x94\x7a\x1f\x96\x78\x89\x8c\x55\x1d\x7d" -+"\x92\x7e\x98\x83\x1f\x7a\xa7\xb5\x7f\xaf\x1b\xc9\xb9\xb4\xc2\xbd\x72\xa9\x5a\x96\x1f\x0e\xc9\x1d\xf7\xe8\x04\x9d\x99\x91\x95\x98" -+"\x1a\xa1\x79\x9c\x74\x80\x84\x63\x0a\x77\x9e\x79\xa1\x95\x95\x90\x96\x99\x1e\x0e\x5d\x1d\x5e\x1b\x36\x5a\xa2\xc0\xf7\x36\x1d\xfb" -+"\x14\xf7\xd6\x15\xf7\x01\x30\x05\x82\x97\x93\x87\x96\x1b\x9f\x9d\x9c\xa0\x99\x88\x90\x75\x9c\x1f\xfb\x2d\xf7\x11\xfb\x2f\xfb\x11" -+"\x05\x74\x79\x88\x87\x7d\x1a\x76\x9d\x7a\xa0\x95\x93\x8e\x95\x98\x1e\x0e\xd9\x1d\x75\x31\x70\x86\x5e\x1b\x37\x5a\x5e\x1d\xfb\x7e" -+"\xf8\x0c\x28\x0a\xc9\x1d\xfb\x6a\xf8\x24\x15\x98\x7b\x84\x8e\x80\xa9\x0a\x95\x1b\xa1\x9e\x9d\x9f\x98\x84\x97\x7a\x98\x1f\x0e\x25" -+"\x0a\xc6\xf8\x81\xe3\x1d\x25\x0a\x45\xc8\x0a\x88\x8d\x88\x8d\x89\xc6\x0a\x8e\x95\x97\x1e\x0e\x25\x0a\xfb\x43\xf8\xa5\x28\x0a\x25" -+"\x0a\xfb\x25\xf8\xbd\xa2\x0a\xf7\x5b\xc7\x1d\xbe\xbe\xa2\x97\xbc\x1b\xc5\xd5\x1d\xf7\x8b\xf7\x8e\x15\x7d\x89\x7e\x83\x80\x7c\x08" -+"\x6a\x73\x88\x88\x7d\xab\x1d\x73\x1b\x6d\x6d\x7b\x6e\x72\x1f\x78\x75\x82\x79\x7d\x1a\x78\x9a\x7d\x9f\x96\x94\x90\x95\x93\x1e\xb0" -+"\xa8\x92\x91\x9b\x1b\x9a\x93\x88\x7a\xa5\x1f\x70\xb7\xad\xa8\x1d\x99\x9b\x1a\x9c\x7d\x96\x74\x8e\x1e\x0e\x25\x1d\xf7\x1b\xf7\x9a" -+"\xe3\x1d\x25\x1d\x8e\xf7\x88\x15\xf7\x01\x30\xf1\x0a\x93\x7e\x94\x1f\x87\x8e\x88\x8e\x89\x8c\xfb\x2d\xf7\x11\x18\xfb\x2f\xfb\x11" -+"\x05\x73\x79\x89\x87\x7d\x1a\x76\x9d\x7a\xa0\x95\x94\x8f\x94\x97\x1e\x0e\x25\x1d\x25\xf7\xbe\x28\x0a\x25\x1d\x3c\xf7\xd6\xa2\x0a" -+"\x25\x1d\xf7\x36\xf7\xc0\x15\x7e\x7c\x81\x78\x7d\x1f\x6e\x76\x88\x88\x7d\xe7\x0a\x7b\x6e\x71\x1f\x78\x76\x82\x78\x7d\x1a\x79\x9a" -+"\x7c\x9e\x97\x94\x90\x95\x93\x1e\xb0\xa8\x93\x91\x9a\x1b\x9a\x92\x88\x7a\xa6\x1f\x70\xb7\xad\xcd\x0a\xf7\xcb\xf8\xcc\xf7\x42\x1d" -+"\x7f\x8f\x83\x98\x81\x1f\x94\x84\xf7\x2f\xfb\x10\xf7\x2d\xf7\x10\x05\xa2\x9d\x8e\x8f\x9a\x1a\xa0\x79\x9c\x76\x81\x82\x87\x81\x7f" -+"\x1e\xe5\xfb\xb4\x15\x9e\x8a\x92\x88\x94\x1e\x9e\x86\x77\x98\x75\x1b\x7b\x82\x85\x7a\x82\x1f\x9a\x66\x61\x93\x5b\x1b\xfb\x0e\x33" -+"\x53\x3c\x3e\xc7\x63\xf7\x22\x7c\x1f\xc1\x86\xa0\x87\x9b\x85\x08\x9f\x83\x97\x80\x80\x1a\x77\x56\x7a\x50\x56\x61\x97\xa2\x6f\x1e" -+"\xa9\x82\x7a\x99\x6f\x1b\x78\x54\x1d\x82\x71\x1a\x6b\x07\x5d\x9d\x76\xb0\x98\x94\x8e\x93\x96\x1e\x79\xb2\xbe\x82\xc5\x1b\xf7\x17" -+"\xea\xc5\xdb\xb9\x70\xb5\x5e\xa3\x1f\x6d\x9b\x61\x96\x41\x94\x4b\x94\x85\x8c\x7e\x8f\x08\x7c\x91\x82\x92\x92\x1a\x99\xbb\x9a\xba" -+"\xb4\xac\x82\x79\xa5\x1e\x6c\x9d\x97\x83\xa4\x47\x0a\x0e\x2c\x1d\x2e\xf8\x81\xf7\x0d\x0a\x74\x7f\x84\x51\x1d\x7d\x84\x80\x7e\x1a" -+"\x77\x9e\x79\xa1\x95\x95\x90\x96\x99\x1e\x0e\x2c\x1d\xfb\x6e\xc8\x0a\x83\x91\xf7\x2d\x1d\x9f\x96\x6f\x0a\x2c\x1d\xfb\xd7\xf8\xa5" -+"\x28\x0a\x2c\x1d\xfb\xbd\xf8\xbd\x98\x1d\x21\x05\x80\x99\x95\x86\x96\x1b\xa1\x9e\x9c\xa0\x99\x85\x94\x78\x9a\x1f\x0e\x59\x1d\xf8" -+"\x18\xf7\xa6\x27\x0a\x59\x1d\xf7\x15\xf7\xca\x28\x0a\x40\x0a\xfb\x05\xf8\x65\xf7\x42\x1d\x7c\x8e\x87\xa2\x79\x1f\xf7\x2f\xfb\x10" -+"\xf7\x2d\xf7\x10\x05\xa4\x9f\x8c\x8d\x9a\x1a\xa0\x79\x9c\x77\x80\x82\x87\x81\x7f\x1e\x0e\xf7\x70\xf8\x98\x15\x48\x06\x6a\x7b\x7f" -+"\x73\x7a\x9a\x7b\x9d\x89\x1f\x90\xfb\x0b\x06\x6f\x7a\x7e\x74\x74\x9c\x7e\xab\x1f\xd1\x06\xab\x9c\x97\xa3\xa2\x7c\x97\x6d\x8c\x1f" -+"\xe7\x07\xa5\xa7\x9a\x93\xa5\x1b\xad\x99\x81\x74\x1f\x2e\x07\x74\x89\x7c\x7d\x77\x1a\x73\x9c\x7f\xab\x1e\xc3\x06\xab\x9c\x97\xa3" -+"\x9d\x7c\x9b\x79\x8c\x1f\x86\x8c\x05\xea\x07\xca\x5c\xb3\x44\x70\x70\x83\x7e\x7a\x1e\x85\x86\x05\x0e\xf8\x74\x16\x9f\x9b\x8e\x8f" -+"\xa6\x0a\x6e\xf7\x6e\x8d\x0a\xfb\x29\xad\x07\xe7\x1d\x7d\x07\x71\x5c\x1d\xa5\x1b\x99\xfb\x6e\x79\x06\x71\x83\xf7\x3f\x1d\xf7\x1c" -+"\x06\xae\x97\x90\x9c\x98\x1f\x7a\x99\x97\x86\xae\x1b\xfb\x17\xf3\x15\xf7\x6e\xf7\x29\xfb\x6e\x79\x07\x6a\x7d\x86\x7a\x7d\x1f\x9c" -+"\x7e\x7d\x90\x6a\x1b\x0e\xf8\x9f\xf2\x15\xf7\xd6\xfb\x41\xad\x07\xa1\x9b\x9d\x9f\x95\x97\x89\x85\x9b\x1e\x86\x9c\x8f\x8a\x95\x1b" -+"\xa8\xa3\xa2\xa8\x9d\x83\x99\x7c\x95\x1f\x98\x76\x5f\x95\x66\x1b\x6f\x76\x86\x7d\x74\x1f\x98\x6c\x6e\x91\x69\x1b\x3d\x4d\x4b\x3c" -+"\x8c\x0a\xfb\xba\x16\x52\xf7\x6f\xc4\x06\xf2\x04\x52\xad\x06\xa1\x9b\x9d\x9e\x93\x93\x8a\x88\x96\xf7\x27\x1d\xf8\x9f\xf2\x15\xf8" -+"\x87\xfb\x1a\x07\x69\x78\x87\x7c\x72\x1f\x98\x6c\x6e\x91\x69\x1b\x3d\x4d\x4c\x3b\x8c\x0a\xfb\x0d\xf7\xd6\x15\x4a\xad\x06\xa1\x9b" -+"\x9e\x9e\x94\x91\x8a\x87\x9a\x1e\xfb\x41\xfc\x1c\x15\x52\xf7\x6f\xc4\x06\xf2\x04\x52\xad\x06\xa1\x9b\x9e\x9e\x93\x92\x8a\x87\x97" -+"\xf7\x27\x1d\xf8\xba\xf7\x34\x15\xa3\xa1\x97\xa7\xaa\x1a\xc9\x58\xbb\x4a\x4a\x58\x5b\x4c\x6d\x97\x70\xa3\x74\x1e\x71\xf7\x2a\x1d" -+"\x3b\xf7\x12\x15\xa8\x9f\x78\x70\x6e\x77\x78\x6e\x6e\x77\x9e\xa7\xa7\x9f\x9e\xa8\x1f\xfb\x33\x04\x60\x0a\xfb\xc5\xf8\x91\x7f\x1d" -+"\xf7\xc4\xf7\x4e\xe2\x1d\xf8\x5c\xf8\x91\xf7\x12\x1d\x83\x87\x7e\x85\x9b\x1d\x22\xf8\x2f\xbf\x1d\xf8\x2f\xfb\xd9\xc7\x0a\x7d\x6c" -+"\x6a\x1a\x4a\xbb\x5f\xd3\xd3\xb3\x0a\xfb\x33\x04\x60\x0a\x0e\xf8\x5b\xf8\x91\x15\x8e\x91\x90\x9b\xf5\x0a\xfb\x7c\xfc\x47\x05\x87" -+"\x83\x87\x7e\x85\x9b\x1d\xf7\xdc\xe1\xc7\x0a\x7c\x6c\x6a\x1a\x4a\xbb\x5f\xd3\xd4\xb3\x0a\x8a\xfb\x33\x15\xa8\xa4\x72\x6e\x71\x76" -+"\x7b\x6a\x6c\x75\x9c\xa3\xa9\xa3\xa4\xa8\x1f\xfc\x03\xf8\x47\x15\xea\x06\xa8\x9a\x96\xa1\xa0\x7d\x96\x6d\x1f\xfb\x36\xfb\x3c\x06" -+"\x77\x98\x7c\x9c\x90\x8e\x8c\x8f\x93\x1e\x97\xa1\xa2\x92\x9c\x1b\xad\xa1\x70\x62\x5e\x75\x79\x55\x69\x7c\x8f\x99\x7c\x1f\x92\x82" -+"\x88\x8d\x82\x1b\x7b\x7e\x7d\x79\x69\xbd\x71\xcf\xbf\xae\x97\xa6\xa1\x1f\x9e\xa1\x96\xac\xae\x1a\xd7\x5a\xc2\x49\x7c\x7b\x88\x86" -+"\x79\x1e\x0e\xf7\x7a\xf8\xc4\x15\x33\xfb\x8f\x05\x89\x82\x89\x84\x86\x1a\x7a\x9b\x7d\x9d\x9c\x94\x93\xa2\x93\x1e\xeb\xf7\xa7\x05" -+"\xc9\xfb\x9f\x54\x07\x70\x96\x7d\xa2\x9e\x96\x96\x9f\x8e\x1e\xf7\xf5\x58\x15\x8f\x93\x8f\x99\x90\x1a\x9b\x7b\x9a\x7a\x7d\x82\x84" -+"\x79\x81\xf7\x3c\x1d\x99\x95\x93\x9c\x94\x1e\xf7\xdc\xe1\x15\xa3\xa2\x97\xa6\xaa\x1a\xc9\x59\xbb\x4a\x49\x59\x5b\x4c\x6d\x97\x70" -+"\xa2\x74\x1e\x71\xf7\x2a\x1d\x3c\xd2\x0a\x8a\xfb\x33\x15\x60\x0a\x0e\x75\x0a\xf7\x54\xf7\xc5\x26\x1d\x21\x1d\xfb\x1e\xf8\x0e\x48" -+"\x1d\x21\x1d\x0e\xf8\x34\xf7\x2b\x15\x9e\x5c\x05\x7b\x06\x5c\x73\xe8\x0a\x76\x9b\x5b\x8d\x1f\xfb\x57\xf8\x60\x05\xfb\x51\x39\x0a" -+"\xa9\x06\xfb\x2a\xfb\xf8\x05\x86\x06\x61\x74\xe8\x0a\x73\x9d\x5d\x1f\x7a\x06\x9f\xba\x05\xf7\x4f\xf2\x15\xfb\x23\x06\xd3\xf7\x3c" -+"\x05\xfb\x78\xec\x15\xa8\x7e\x9b\x73\x74\x7e\x7b\x6e\x73\x0a\xa2\xa3\x98\x9b\xa8\x1e\x0e\x21\x1d\xfb\x0b\xf7\xd3\x35\x0a\xf7\xf9" -+"\xf8\xc8\x15\xfb\x6f\x06\x70\x20\x1d\x7a\x93\x7c\x9a\x81\x1e\x83\x95\x96\x89\xa6\x1b\xc4\x06\xfb\x2c\xfb\xf9\x05\x5f\x73\x79\x69" -+"\x68\xa2\x7a\xba\x1f\xf7\x19\x06\xa0\x9a\x8d\x90\xa6\x0a\x7a\x06\x9f\xba\x05\xf7\x7d\x06\x9e\x5c\x05\x7a\x06\x71\x83\x89\x9d\x1d" -+"\x99\x88\xa3\x1b\xc1\x06\x5b\x1d\xa8\xb1\xb4\xc1\xa8\x1f\xb0\x9f\x95\x98\xa3\x4c\x0a\x80\x92\x82\x8d\x70\x8c\x08\xfb\x4f\xf7\x2a" -+"\x15\xfb\x25\x06\xd4\xf7\x3d\x05\x0e\x21\x1d\x93\xf8\x34\xea\x1d\xbd\xf7\x2b\x15\x9d\xf7\x57\x1d\x7f\x7b\x1e\xfb\x19\xf7\x4a\x1d" -+"\x8e\x98\x9b\x1e\x0e\x7c\x0a\x53\x0a\xf8\x3e\xf8\x40\x26\x1d\x53\x0a\xf7\xa4\xf8\x24\x80\x1d\x7b\x1d\xf7\xa4\xf8\x2d\x26\x0a\x7b" -+"\x1d\xf7\xa3\xf8\x65\xab\x0a\x0e\x79\x1d\xc1\x1d\x9b\x42\x0a\xb9\x1d\x8f\x16\xf8\xe4\x06\xfb\x96\xf8\xc7\x05\x3f\x06\xfb\x0c\xfc" -+"\x70\x15\xf7\x32\xf7\xe6\xf7\x32\xfb\xe6\x05\x0e\x30\x1d\x64\xf9\x4e\x48\x1d\x30\x1d\xf2\x42\x0a\x30\x1d\xf1\x8a\x1d\x30\x1d\x77" -+"\xf9\x13\x35\x0a\xf8\x40\x8e\x15\x7d\x44\x74\x75\x4d\x88\x08\x68\x06\xaa\x0a\x95\x97\x89\xa5\x1b\xb1\x06\xf7\x07\xe0\xde\xf7\x09" -+"\x8f\x1f\x8a\xf8\x5d\x05\xb2\x8c\xa1\x9d\xab\x22\x1d\xfb\x16\x87\x1d\xaa\xfb\x9a\x06\xfb\x90\xf8\x01\x05\xfb\x09\x06\x3d\x1d\x79" -+"\x1a\x7b\x94\x7b\x98\x81\x1e\x84\x96\x96\x89\xa5\x1b\x96\xfb\xfa\x06\x65\x74\x78\x6b\x69\xa3\x79\xba\x1f\xf7\x15\x06\xb9\xa3\x9c" -+"\xae\xa9\x1d\x6c\xf7\x9c\x06\x0e\xf8\xa8\xf8\xc8\x15\xfc\x59\x06\x57\x0a\xf7\xfb\x06\x5c\x6b\x76\x6a\x89\x0a\x9a\x97\xa1\x9b\x9b" -+"\x1f\x9c\x9b\x96\x93\xb6\xa8\x08\xf7\x27\x07\xf7\x07\x1d\xf7\x15\xd8\x88\x07\x47\x1d\x9b\x93\x98\x96\x72\x1d\x0e\x78\x0a\x83\xf8" -+"\x9b\x38\x0a\xf7\x62\xfb\x2f\x15\xd8\x88\x06\x47\x1d\x70\x1d\x94\xa6\x1a\xf7\x27\xfc\x59\x07\x57\x0a\xf8\x6f\xf7\x29\x06\xa3\x89" -+"\x95\x85\x94\x1e\x9b\x81\x79\x94\x79\x1b\x79\x7c\x83\x7e\x80\x1f\x83\x80\x89\x82\x70\x1a\x5d\xfb\x8c\x07\x0e\x50\x0a\x98\xf8\x9b" -+"\x38\x0a\xf8\x1c\xfb\x31\xb2\x1d\x0e\xf7\x46\xf7\xf2\x15\xdb\x9d\xba\xb8\xcd\x1b\xa8\xaa\x83\x7c\xa3\x1f\xa4\x7c\x94\x80\x8f\x75" -+"\x08\x64\x91\x99\x7c\xa7\x1b\x9b\x99\x93\x98\x95\x1f\x92\x95\x8d\x96\xa4\x1a\xdb\x07\xa4\x8a\x93\x85\x94\x1e\x9b\x82\x7b\x94\x7a" -+"\x1b\x7b\x80\x85\x7b\x7f\x1f\xa8\x50\x71\x92\x58\x1b\xfb\x12\x2a\x32\xfb\x1f\x75\x1f\x70\x06\x76\x80\x80\x78\x77\x96\x80\xa0\x1f" -+"\xa3\x6c\x73\x06\x76\x80\x80\x77\x77\x96\x80\xa0\x1f\xa6\x06\xfb\x15\xa4\xf1\x3b\xf7\x1f\x1b\xcc\xc9\x9d\xa9\xb3\x1f\xab\xa4\x9c" -+"\xa4\xa2\x1a\xa7\x75\xa3\x70\x7e\x80\x86\x7f\x80\x1e\x73\x72\x8b\x8b\x82\x85\x08\x7e\x75\x68\x83\x64\x1b\x3e\x56\xb0\xcf\x78\x1f" -+"\xf7\x36\x06\x9f\x97\x96\x9f\x9f\x80\x96\x76\x1f\xfb\x3b\xaa\xf7\x56\x06\x9f\x97\x96\x9f\x9e\x80\x96\x76\x1f\x0e\xbe\x1d\x41\x1d" -+"\xfc\x12\xf9\x85\x48\x1d\x41\x1d\xfb\x91\xf9\x2e\x26\x0a\x41\x1d\xfb\x69\xfb\x3b\x23\x1d\x41\x1d\xfb\x92\xf9\x66\xab\x0a\x0e\xe6" -+"\xf8\x48\x15\x86\x06\x88\x06\x65\x71\x7b\x73\x71\xa4\x7d\xba\x1f\xfb\x91\x93\x1d\xf7\x0d\x06\xba\xa2\x65\x1d\x80\xf7\x13\xf7\x62" -+"\xfb\x13\x80\x06\xde\x1d\xf7\x91\x06\xbb\xa3\x99\xa5\xa3\x72\x9b\x64\x1f\x88\x06\x86\xa5\x06\xad\x8f\x9d\x9c\xa9\x4c\x0a\x92\x20" -+"\x0a\x26\x06\x72\x81\x89\x86\x82\x48\x0a\x83\x96\x95\x89\xa6\x1b\x96\x72\xfb\x62\xa4\x96\x06\xa4\x95\x8d\x91\x94\x1f\x9b\x94\x95" -+"\x9c\x9d\x1a\x9b\x83\x9a\x7d\x96\x1e\x92\x4b\x1d\x6e\x9d\x79\xad\x87\x1e\xf7\xce\x21\x15\x68\xfb\x62\xae\x07\x0e\xb1\x1d\xf1\xf8" -+"\x78\x26\x0a\xf7\x6a\xf8\x61\x15\xa9\x06\xa3\x96\x8d\x90\x8c\x1d\xfb\x3c\xf7\x08\x1d\xa9\xfb\xfa\x6d\xf7\x2c\x1d\xf7\x3c\x2b\x1d" -+"\xa9\x1d\x6d\x06\xf7\x9b\xf7\xfa\x15\xfc\x2a\x07\x5f\x88\x84\x77\x78\x1e\x77\x76\x67\x7d\x6b\x1b\x6e\x6a\x92\x9a\x63\x1f\x90\x7e" -+"\x7f\x8e\x84\x1b\x72\x72\x72\x70\x7a\x93\x7c\x99\x81\x1f\x77\xaa\xd8\x78\xc3\x1b\xc1\xc4\x9f\xae\xb4\x1f\xbc\xb3\x9c\xb0\xcb\x1a" -+"\xf8\x9c\xfb\x35\x07\x5d\x0a\x0e\x21\x0a\xfb\x56\xf9\x4e\x58\x0a\x21\x0a\x55\x8a\x1d\x21\x0a\xfb\x44\xf9\x13\x35\x0a\x85\x0a\xf7" -+"\x6f\x06\x5b\x6b\x76\x6a\x89\x0a\xa7\xb0\xb3\xc1\xaa\x1f\xb0\xa0\x94\x97\xa2\x22\x1d\x2a\x06\x0e\x21\x0a\x0e\xd4\x1d\xf9\x06\x43" -+"\x0a\xf8\x0f\xf8\x60\x15\xea\x27\x1d\xfb\xbd\x39\x0a\xe9\xfb\xf8\x2d\x39\x0a\xf7\xbd\x27\x1d\x2c\x06\xfb\xc6\xf8\x33\x38\x0a\x0e" -+"\x21\x0a\xee\xf9\x2f\xc6\x1d\x7d\x0a\xfb\x55\xf8\xa8\x26\x0a\xf7\x26\x1d\x9d\xad\x9b\x83\x9b\x7d\x95\x1f\x92\x80\x81\x8d\xf0\x1d" -+"\x84\x8a\x88\x82\xbd\x1d\x93\x80\x82\x8c\x6f\x1b\x6c\x06\x0e\xb3\x1d\xf7\x23\xfb\x72\x23\x1d\x43\x1d\xf7\x07\xf9\x0a\x26\x1d\xf8" -+"\x49\xf3\x15\x7b\x29\x1d\xf7\x18\x06\xb8\xa4\x9d\xac\xaa\x73\xa1\x69\x1f\x80\x06\xfb\x57\xf8\x60\x05\xfb\x6c\x06\xa3\x1d\xc4\x06" -+"\xfb\x2a\xfb\xf8\x05\x81\x06\x67\x73\x76\x6b\x6a\xa4\x79\xb9\x1f\xf7\x18\x27\x1d\x7a\x06\xf7\x1c\xf7\xd2\x05\x0e\x43\x1d\xf7\xc1" -+"\xf8\x29\x15\x94\x99\x8f\x95\x93\x1a\xa0\x79\x9c\x75\x79\x82\x85\x77\x7d\x1e\x39\xfb\x0c\x05\x82\x7e\x87\x80\x82\x1a\x77\x9e\x7a" -+"\xa0\x9c\x95\x92\x9e\x98\x1e\x0e\x43\x1d\xdc\xfb\x72\x23\x1d\x43\x1d\xf7\x0d\xf7\x06\x15\xb2\xaa\xa9\xb0\xb0\x6c\xa9\x64\x1f\x79" -+"\x62\x1d\x79\x0a\x33\x0a\xf7\xaa\xf9\x0a\x26\x1d\x33\x0a\xf7\x10\x42\x0a\x33\x0a\xf7\x38\xfb\x72\x23\x1d\xf7\x45\xf8\x03\x15\xf7" -+"\x91\xfc\x03\x05\xf4\xf8\x61\x06\xce\x1d\x93\x7b\x99\x9c\x0a\x06\x0e\x24\x1d\xfb\x20\xf7\xda\x58\x0a\x24\x1d\xad\xf7\x94\x87\x0a" -+"\x24\x1d\xfb\x0e\xf7\x9f\x35\x0a\xf7\x27\xec\x15\x9f\x88\x80\x96\x79\x1b\x74\x80\x77\x62\x1f\x48\xf7\x7d\xf7\x38\x07\x34\xa1\x67" -+"\xb6\xe0\x1a\xe7\xc6\xcf\xdb\xdb\xc5\x47\x2e\x39\x62\x59\x39\x7a\x1e\xfb\x38\xf7\x7c\xce\x07\xb3\x7f\xa0\x75\x79\x81\x81\x76\x87" -+"\x1e\x51\x06\xde\xb7\xb3\xd2\xf1\x1a\xf7\x28\xfb\x00\xf7\x08\xfb\x20\xfb\x1d\xfb\x01\xfb\x09\xfb\x28\x25\xb3\x45\xdf\x5f\x1e\xfb" -+"\x19\xf8\x3a\x38\x0a\x0e\x24\x1d\x0e\xf7\xdf\xf8\xd6\x15\xfb\x21\xfb\x03\xfb\x17\xfb\x3a\xfb\x38\xf7\x04\xfb\x17\xf7\x20\xf7\x21" -+"\xf7\x03\xf7\x16\xf7\x39\xe1\x72\xd0\x59\xc4\x1f\xc4\x59\x4f\xa7\x48\x1b\x23\x04\xdb\xcb\x35\x21\x21\x4a\x35\x3c\x3c\x4a\xe1\xf4" -+"\xf6\xcb\xe1\xdb\x1f\xfb\x96\xb8\x15\xa8\x7e\x9b\x73\x73\x7e\x7c\x6d\x73\x0a\xa3\xa3\x98\x9b\xa8\x1e\x0e\x7e\x0a\xd5\xf7\xad\x26" -+"\x1d\xf7\xf4\xf8\xad\x15\x98\x06\xa2\x91\x8c\x8f\x92\x1f\x98\x91\x93\x97\x98\x1a\xa3\x79\x96\x64\x1e\xfb\x18\x06\x64\x79\x80\x73" -+"\x73\x9e\x7f\xb1\x1f\x96\x76\x06\x54\x85\x69\x81\x65\x76\x08\x40\x62\x5b\x3c\x38\x1a\xfb\x15\xf3\x28\xf7\x26\x82\x1e\x76\x80\x07" -+"\x7f\x8c\x05\x71\x78\x7c\x77\x73\x9e\x7f\xb1\x1f\xf7\x18\x06\xa3\x90\x8c\x8f\x92\x1f\x98\x91\x93\x97\x97\x1a\x97\x84\x95\x80\x92" -+"\x1e\x91\x82\x86\x8b\x72\x1b\x7e\x9f\x06\xf7\x24\x92\xf7\x02\xf2\xf7\x15\x1a\xe5\x51\xe1\x35\xb1\x1e\x6a\x99\x6b\x92\x5e\x8f\x08" -+"\xfb\x00\xfc\x1b\x15\x39\x92\x4f\xcb\xdc\x1a\xdd\xc4\xc8\xe0\x94\x1e\xf7\x00\x16\xe3\x83\xc5\x4e\x38\x1a\x39\x4f\x4c\x35\x84\x1e" -+"\x0e\xf8\x24\xf7\x28\x1d\xb8\xa4\x9d\xac\xa2\x7b\xa0\x77\x90\x1f\x8e\x83\x80\x8b\x7a\x1b\xf7\xfa\x30\x0a\xfc\x10\x88\x1d\xf7\x0c" -+"\x39\x1d\x81\xf7\xf8\x06\x0e\xf7\x8b\xf7\x8b\x15\x48\x95\x7a\xa6\x89\xf4\x08\xf7\x43\x2f\x07\x5d\x72\x79\x6a\x6c\xa0\x78\xad\x89" -+"\x1f\x43\x07\xfb\x31\xc8\x3e\xf7\x19\x7f\x1e\x63\x07\x63\x8a\x77\x7a\x6a\x2a\x0a\xe3\x2b\x1d\xac\x77\x9c\x63\x8c\x1f\xb3\x07\xf7" -+"\x19\x96\xcc\xde\x87\xf7\x2c\x08\xd3\x07\xaf\x8d\x9e\x9c\xab\x1a\xad\x73\x9d\x5c\x1e\x2f\xfb\x43\x06\x89\x22\x7b\x70\x47\x81\x08" -+"\xf7\x6a\x07\xb4\x8c\x9e\x9c\xae\x1a\xaf\x74\x99\x4b\x1e\x55\x06\x4b\x74\x7d\x66\x69\x9f\x7a\xb3\x8a\x1f\x0e\x3c\x0a\xf7\x4d\xf8" -+"\x36\x26\x1d\x3c\x0a\xaa\xf8\x1a\x80\x1d\x3c\x0a\xd2\xfc\x46\x23\x1d\x7f\x0a\x78\x1d\x49\xf7\xc7\x26\x1d\xf7\xe4\x7f\x15\xf7\x17" -+"\x96\xd6\xc9\xeb\x1a\xbf\x77\xb3\x62\xaa\x1e\x6b\xa3\x64\x98\x34\x9b\x3e\x99\x88\x8c\x77\x94\x08\x77\x95\x7d\xa0\x9e\x1a\xb1\xbb" -+"\xa9\xc8\xc8\xb9\x72\x67\x93\x1e\x92\x6b\x8b\x8b\x94\x83\x08\x82\x94\x9a\x85\x99\x1b\x9d\x9a\x93\x98\x96\x1f\x93\x96\x8d\x93\xa6" -+"\x1a\xe0\x07\xf7\x25\x1d\x5d\x96\x59\x1b\xfb\x12\x2d\x41\x28\x53\xab\x57\xbf\x6f\x1f\xab\x79\xab\x82\xcd\x80\xcf\x7f\x9a\x88\xa1" -+"\x80\x08\x9f\x81\x98\x79\x79\x1a\x64\x53\x6d\x42\x4b\x4e\xa6\xab\x81\x1e\x83\xa6\x8b\x8b\x83\x92\x08\x95\x82\x7d\x90\x7c\x1b\x67" -+"\x79\x75\x5e\x1f\x4c\x07\x5e\x9d\x75\xaf\x9c\x94\x90\x9c\x9b\x1e\xa8\x7c\xb8\x7d\xa9\x87\x08\x33\xd6\x1d\xb4\x1d\xfb\x70\xf7\xb4" -+"\x26\x0a\x78\x1d\xfb\x48\xfc\xb5\x23\x1d\xf8\xb2\xf8\xc8\x15\xfc\x4b\x35\x06\xf7\x3c\xfb\x52\xfb\x3c\xfb\x59\x05\x30\xf8\x51\xf7" -+"\x33\x07\xb0\x7b\x9d\x6b\x6a\x7b\x7a\x65\x89\x1e\x88\x53\x05\xfb\x69\x06\xf7\x38\xf7\x4f\xfb\x2f\xf7\x43\x05\xf7\x57\x06\x90\x47" -+"\x05\x65\x8e\x9b\x7a\xaa\x1b\xac\x9c\x9d\xb0\x1f\x0e\x54\x0a\xf7\xf5\xf7\xea\x15\xf7\x0b\xf0\x70\xf7\x16\x1d\x93\xa7\x1a\xf7\x16" -+"\xfc\xa0\xfb\x16\xf7\x16\x1d\x94\xa6\x1a\xa6\xee\xfb\x0b\x58\x07\x4c\x1d\x95\x9a\x88\xa2\x1b\xbe\xfb\x1c\x4e\x06\x5f\x1d\xf7\x7b" -+"\x29\x0a\x4d\xf7\x1c\xbf\x31\x1d\x0e\x7c\x1d\x57\x42\x0a\xf7\xeb\x16\xd3\x29\x0a\x4d\xf7\xfa\xf0\x37\x06\x73\x8d\x81\xd9\x0a\x93" -+"\xa7\x1a\xf7\x4f\xfc\xa0\xfb\x4f\x07\x73\x8d\x81\x91\x82\xe3\x0a\x93\xa7\x1a\xdf\xee\xfb\xfa\x4e\x07\x5f\x1d\xdc\x29\x06\xd7\x1d" -+"\x0e\xf7\x82\xf7\xcb\x15\x98\x07\xa3\x7d\x99\x73\x74\x7d\x7d\x73\x1e\x27\x07\x73\x99\x7d\xa2\xa3\x99\x99\xa3\x1e\x9a\xf7\x12\x7c" -+"\x07\x73\x99\x7d\xa3\xa2\x99\x99\xa3\x1e\xef\x07\xa3\x7d\x99\x74\x73\x7d\x7d\x73\x1e\x7e\x07\x4b\xf7\x9f\x15\x48\x4a\x71\x5a\x53" -+"\x1f\x4e\x55\x69\x3c\x34\x1a\xfb\x38\xf7\x13\xfb\x18\xf7\x30\xf7\x2f\xf7\x14\xf7\x18\xf7\x33\xe8\x6b\xd6\x4c\xc4\x1e\xbc\x55\x49" -+"\xa5\x47\x1b\x24\x04\xea\xdb\x34\x24\xfb\x00\x3d\x34\x2a\x2b\x3c\xe2\xf5\xf4\xda\xe2\xeb\x1f\x0e\x22\x0a\xfc\x09\xf8\xed\x58\x0a" -+"\x22\x0a\xfb\x5b\xf8\xa7\x87\x0a\x22\x0a\xfb\xf7\xf8\xb2\x35\x0a\x81\x0a\x3c\xb1\x4d\xd4\x61\x1e\x79\xab\xbc\x7e\xb2\x1b\x91\x94" -+"\x8c\x8c\x97\x1f\x64\x69\x7e\x73\x64\x1a\x53\x60\x1d\x81\x1e\x7e\x71\x80\x87\x7e\x1b\x7e\x85\x90\x94\xaf\xa8\xb7\xc3\xbe\x1f\xcc" -+"\xc3\xa1\xb6\x8d\xd6\x08\x0e\x2b\x0a\x0e\xf7\xf6\xf7\x80\x15\xf7\x33\xf7\x74\x05\xb8\x8d\xa1\x9c\xac\x1a\xad\x73\x9c\x5c\x8c\x1e" -+"\x2f\x06\x5e\x71\x79\x69\x74\x97\x7c\xa5\x80\x1f\x37\xfb\x0c\x36\xf7\x0c\x05\xa5\x98\x95\x99\xa2\x1a\xac\x72\x9c\x5e\x8c\x1e\x32" -+"\x06\x5d\x72\x79\x69\x6b\xa0\x7a\xb7\x88\x1f\xf7\x34\xfb\x74\x05\xfb\x18\x4e\x07\x5e\x72\x79\x69\x69\xa4\x79\xb8\x1f\xf7\x7a\x67" -+"\x1d\x4e\x06\xfb\x31\xf9\x06\x59\x0a\x83\xf8\x9b\x38\x0a\xf7\xfe\xfb\x2b\x7b\x0a\x0e\x22\x0a\xfb\x7d\xf9\x13\xa1\x0a\x22\x0a\x42" -+"\xf8\xce\xc6\x1d\x5a\x1d\xf7\x87\xf9\x71\x26\x1d\xf7\x0d\x1d\x9b\x7d\x95\x1e\x92\x20\x0a\xfb\x17\x06\x71\x83\x8a\x85\x81\x1f\x7b" -+"\x82\x81\x79\x7a\x1a\x7a\x94\x7b\x98\x82\x1e\x83\x96\x96\x89\xa5\x1b\xbc\x06\x6a\xfb\x82\x43\xf7\x5f\x05\xfb\x00\x06\x43\xfb\x5f" -+"\x6a\xf7\x82\x05\xb6\x06\xa3\x96\x8d\x90\x95\x61\x0a\x81\x8d\x6f\x1b\xfb\x17\x06\x70\x84\x8a\x85\x81\x1f\x7a\x81\x82\x7b\x77\x1a" -+"\x6f\x9b\x7a\xa9\x87\x1e\xc9\xfc\x62\x05\xf7\x0a\x06\xe4\xf9\x5e\x26\x0a\x5a\x1d\x7b\xf9\x96\x36\x1d\x5a\x1d\x7b\xf9\xad\x81\x1d" -+"\xf8\x4e\xf8\x60\x15\x5e\x2f\x0a\xf7\x29\xfc\x87\xfb\x29\x2f\x0a\xb8\x07\xf7\x4d\xfb\x76\x15\x6c\x91\x9a\x7c\xa6\x1b\xad\x9a\xa0" -+"\xbd\x1f\xb9\x07\xbc\x7c\xa1\x69\x70\x7c\x7c\x6c\x85\x1e\x32\x06\xab\x85\x7d\x99\x6f\x1b\x6a\x7c\x75\x5a\x1f\x5d\x07\x5a\x9b\x75" -+"\xad\xa5\x9a\x9a\xaa\x90\x1e\x2b\xfb\x16\x15\xb8\x07\xb8\x56\x1d\x5e\x1e\xfb\x29\xf8\x87\xf7\x29\x07\xb8\x56\x1d\x5e\x1e\x5e\x07" -+"\x0e\x2b\x0a\x56\xf8\xf7\x26\x0a\x2b\x0a\xfb\x32\xf9\x46\x81\x1d\x44\x1d\xab\xf9\x0a\x26\x1d\x44\x1d\xfb\x0f\x8a\x1d\x44\x1d\x0e" -+"\x23\x0a\xfb\x75\xf8\x7b\x3b\x1d\x76\x0a\x61\xf7\xea\x27\x0a\x91\x0a\x21\x1d\x0e\xf8\xbb\xf8\xc8\x15\xfc\x66\x9d\x0a\xf7\x12\xf7" -+"\x84\x7a\xf7\x65\x1d\xfb\xf0\xfb\xe7\x15\xf7\x12\xf7\x11\x07\xe6\xba\x74\x5d\x65\x6a\x78\x4a\x1f\x0e\x7c\x0a\xbe\x1d\xf8\x69\x16" -+"\x8f\x5e\x05\x52\x90\x99\x77\xaf\x1b\xb2\x99\xa1\xc7\x1f\xc7\x07\x8d\xcd\x7d\x9b\x4f\x8d\x08\xf7\xf8\x07\xbc\x8c\xa2\x9d\xae\x1a" -+"\xaf\x73\x99\x4c\x1e\xfb\xd9\x06\x4a\x74\x7e\x65\x68\xa4\x79\xbe\x1f\x91\x06\x8d\x06\x8d\xfb\x4b\x06\x47\x80\x5e\x74\x71\x1e\x74" -+"\x76\x6e\x7f\x68\x1b\x83\x06\x80\x8c\x05\x89\x06\x8a\x06\x85\xfb\x24\x06\x4e\x99\x76\xb2\xaf\x99\x9f\xc6\x8f\x1e\x8d\xb6\x05\xf7" -+"\x26\xf8\x60\x15\xf7\x12\xfb\xf8\x06\xfb\x35\x8d\xa1\xb1\x97\xc9\x8c\xd2\x19\x0e\x78\x0a\xf7\x60\xf7\x7b\x15\xd8\x06\x74\x8c\x82" -+"\x8f\x83\x1e\x78\x93\x9e\x80\xa1\x1b\xaf\x9d\xa1\xb9\x1f\xf7\x00\x07\xb6\x78\xa3\x68\x76\x78\x80\x7a\x83\x1e\x86\x83\x8a\x81\x74" -+"\x1a\x3e\xf7\x11\xf7\x6f\x5f\x06\x60\x9e\x73\xae\xae\x9e\xa2\xb7\x1e\xf7\x28\xfc\x51\x07\x65\x0a\x95\xfb\xf8\x81\x06\x5d\x72\x75" -+"\x1d\xf8\x67\xf7\x2a\x06\xb6\x78\xa3\x68\x68\x78\x73\x60\x1e\x5d\xfb\x85\x07\x84\xf9\x13\x43\x0a\xf7\x8a\xf2\x15\x65\x86\x7a\x7b" -+"\x6c\x1a\x66\xa2\x7d\xcb\x1e\xb6\x06\xc9\xa3\x99\xb0\xa9\x7a\x9b\x67\x91\x1f\xf7\x24\x07\x95\x81\xa1\x62\x96\x6d\xb4\x21\x18\xa0" -+"\x59\x95\x82\xb4\x8a\x08\xab\x06\xaa\xa1\x9f\xa9\xaa\x78\x9d\x64\x8f\x1f\x64\xf3\x7a\xb7\x74\xac\x6a\xa7\xf7\x0e\x0a\x6f\x94\x99" -+"\x7f\xa4\x1b\xae\x98\xa0\xc3\x1f\x98\x07\xce\x80\x9b\x5f\x4a\x78\x77\xfb\x46\x29\x1e\xea\x07\xac\x92\x9b\x9b\xa7\x1a\xb1\x74\x99" -+"\x4d\xbc\x0a\x7b\x48\xcc\x0a\x6a\x6c\x73\x68\x7c\x62\x64\x24\x18\x64\x87\x79\x7b\x6b\xf7\x2f\x1d\xaf\x9c\xaa\x99\x99\x08\x0e\xf7" -+"\x4f\xf8\xc6\x15\xa6\x8c\x72\xa2\x6f\x1b\x6d\x74\x75\x6e\x1f\x80\x07\x8c\x63\x05\x60\x8a\x80\x87\x70\x1e\x86\x72\x88\x74\x86\x1a" -+"\x71\xa3\x76\xa8\xa6\x99\x98\xad\x95\x1e\xd2\x9f\xb0\xa6\xd5\x1b\xcc\xb6\x71\x65\x61\x5c\x72\x40\x1f\x78\x06\x4b\x74\x7d\x65\x64" -+"\xa3\x7e\xcf\x1f\xab\x06\xe4\xaf\x77\x5b\x56\x5c\x6f\x31\x44\x59\x99\xaf\x50\x1f\xa2\x66\x7c\x91\x7b\x1b\x6f\x72\x71\x6f\x76\x95" -+"\x7a\xa1\x7d\x1f\x57\xd8\xe1\x71\xea\x1b\xe6\xc7\x9b\xaf\xb9\x1f\xb4\xab\xa2\xba\xbf\x1a\xc4\x73\xb6\x59\xac\x1e\xaf\xac\x9c\xaf" -+"\xb8\x1a\xea\x34\xcf\xfb\x0e\x5b\x62\x82\x77\x62\x1e\x0e\x56\x0a\x0e\x56\x0a\xf7\x06\xf7\xc7\x15\x74\x7c\x7c\x75\x4d\xd6\x55\xe1" -+"\xe0\xd6\xc1\xc9\xa1\x7c\x9a\x75\x78\x81\x82\x75\x84\x1f\x6a\x82\x6c\xf7\x37\x1d\x77\x0a\x0e\xf8\x90\xf8\x60\x15\xbe\x8d\xa0\x9a" -+"\xae\x1a\xb1\x74\x99\x4c\x1e\xfb\xd8\x06\x4b\x74\x7d\x66\x68\xa3\x7a\xbb\x8a\x1f\x90\x06\x92\xfb\x94\x06\x3f\x7a\x67\x69\x89\x1e" -+"\x8a\x06\x87\x95\x06\xbb\x79\xa4\x67\x64\x7c\x74\x54\x1e\x52\x07\x6a\xaf\x77\xc9\xca\xb5\x9d\xb3\xa7\x1e\xa7\xb0\x99\xc2\xd0\x1a" -+"\xf7\x94\xf7\x10\xfb\xf9\x07\x58\x8a\x76\x7c\x68\x1a\x64\xa2\x7e\xcb\x1e\xda\x06\xca\xa2\x99\xb1\xae\x76\x9a\x58\x8c\x1f\x0e\x79" -+"\x0a\x50\x0a\x24\x1d\x0e\xf8\x26\xf7\x28\x1d\xb9\xa3\x9d\xad\xae\x76\x9a\x58\x8c\x1f\xf7\xfa\x30\x0a\xfc\x10\x88\x1d\xf7\x0c\x39" -+"\x1d\x81\xf7\xf8\x06\x0e\x7f\x0a\x7b\x1d\x0e\x54\x0a\x83\x0a\x0e\xf7\xf6\xf8\x69\x15\xa2\x06\xb5\xa1\x9b\xaa\xaa\x74\x9c\x5e\x1f" -+"\xfb\x24\x06\x5e\x74\x7b\x6c\x6c\xa1\x7a\xb3\x1f\xa2\x70\x06\x43\x89\x63\x85\x71\x80\x08\x54\x75\x6c\x58\x4b\x1a\x22\xcf\x52\xf7" -+"\x10\x1e\xab\x6e\x74\x06\x62\x75\x7a\x6c\x6c\xa1\x7b\xb4\x1f\xf7\x2e\x06\xb5\xa2\x9c\xaa\xaa\x76\x9b\x62\x1f\x71\xa8\x99\x06\xf7" -+"\x1f\xd2\xc2\xf7\x01\xc5\x6f\xbb\x5c\xa3\x1f\x6e\x9a\x5e\x92\x40\x8d\x08\xfb\x00\x2d\x15\xfb\x16\x7c\x07\x48\x69\xa2\xb7\xb5\xa9" -+"\xa0\xc7\x1f\xf7\x1a\x16\xa2\x06\xc9\xaa\x76\x61\x5e\x67\x75\x43\x1f\x83\x06\x0e\x79\x1d\xf8\x83\xf8\x60\x15\xc0\x8e\x9f\x98\xaf" -+"\xd3\x0a\xfb\xf9\xfb\x5c\xf7\xf9\x95\x06\xb9\xa4\x9d\xad\xad\x73\xb0\x1d\x68\x9e\x7e\xc0\x88\x1f\xfb\xf9\x2c\x0a\xf8\x19\x55\xf7" -+"\x66\x1d\xf7\x31\x28\x07\x0e\xf8\x20\xf3\x15\x55\x06\x4b\x74\x7d\x64\x66\xa2\x7d\xcb\x1f\xf7\x29\xba\x0a\x4c\x73\x9a\x1d\x62\x50" -+"\x63\x7b\xf7\x07\x0a\xf7\x04\x07\xca\x8c\x9f\x98\xb0\x1a\xb2\x74\x98\x4a\x1e\x32\x06\x4b\x74\x7d\x65\x68\x9f\x7d\xc0\x89\x1f\xfb" -+"\x08\x07\xfb\x09\xc2\x4e\xf7\x09\x0a\x0e\xf7\x8a\xf3\x15\x3f\xf8\x60\xfb\x02\x06\x5d\x73\x79\x68\x69\x9e\x7d\xc0\x89\x1f\xfb\xfa" -+"\x2c\x0a\xf8\x5f\x06\xaf\xa3\xa0\xaa\xac\x76\x9c\x63\x8d\x1f\xf7\xf9\x07\xbf\x8d\x9f\x99\xae\x1a\xad\x73\x9d\x5c\x1e\xfb\x01\xfc" -+"\x60\x3f\xf7\xf9\x06\xac\x8e\x9c\x9c\xaa\x1a\xad\x75\x9d\x5f\xae\x1d\x6e\x9c\x7a\xac\x86\x1f\x0e\xf7\x7f\xf2\x15\x3f\xf8\x61\xfb" -+"\x02\x06\x5d\x73\x79\x68\x68\x9e\x7e\xc0\x88\x1f\xfb\xf9\x2c\x0a\xf8\x54\x55\x4a\x0a\xf7\x31\x29\xf7\xf9\x07\xc0\x8e\x9e\x99\x6e" -+"\x1d\xfb\x02\xfc\x61\x3f\xf7\xfa\x06\xaa\x8e\x9e\x9e\xa9\x1a\xac\x74\x9d\x60\xae\x1d\x6d\x9c\x7a\xac\x87\x1f\x0e\x7c\xf8\xc8\x15" -+"\xfb\x0d\x07\x5e\x9e\x74\xae\xaf\x9d\xa2\xb8\x1e\x9c\xf7\x06\xfb\xf8\x81\x9f\x1d\xf7\x50\x06\xf7\x21\xd4\xc0\xf2\xbd\x77\xb8\x67" -+"\xaa\x1f\xae\x63\x4c\x9c\x2f\x1b\x6a\xf7\x12\xb2\x39\x1d\x64\xfc\x60\x15\xf7\x12\xb1\x07\xe4\xbb\x72\x5d\x67\x6a\x78\x4b\x1f\x0e" -+"\xca\xf3\x15\x81\x06\x64\x76\x79\x6b\x67\xa3\x79\xba\x1f\xf7\x20\x06\xf7\x1e\xd3\xc2\xf5\xf4\x32\xcf\xfb\x1d\x1f\x7a\xf7\x12\xb3" -+"\x27\x1d\xfb\x32\x29\x1d\x95\x06\xf7\x00\xfb\xf8\x15\xf7\x13\xa1\x07\xd6\xb1\x74\x5d\x64\x6f\x78\x52\x1f\xf7\x7d\x16\x63\x89\x75" -+"\x78\x6b\x1a\x69\xa3\x7a\xb9\x1e\xed\x06\xb9\xa4\x9d\xac\xad\x74\x9c\x5d\x8c\x1f\xf7\xfa\x07\xb4\x8c\x9f\x9c\xad\x1a\xac\x74\x9d" -+"\x60\x1e\x26\x06\x62\x75\x79\x6a\x69\x9f\x7a\xb4\x8a\x1f\x0e\xf7\x5f\xf8\x60\x15\xa3\x06\x4f\x1d\xfb\x22\x9d\x0a\x06\xfb\x7a\x04" -+"\xf7\x12\xf7\x11\x07\xe6\xba\x74\x5d\x65\x6a\x78\x4a\x1f\x0e\xf7\x7f\xf7\xe3\x15\x5f\x74\x79\x69\x69\xa2\x79\xb7\x1f\xf7\x75\x06" -+"\x32\x83\x44\x57\xfb\x08\x1b\x53\x64\x97\xa7\x6e\x1f\xa3\x72\x80\x91\x79\x1b\x6f\x72\x72\x71\x6e\xa3\x6d\xb8\x73\x1f\x6f\xbd\xbe" -+"\x7f\xcd\x1b\xf7\x44\xf7\x0f\xf4\xf7\x2a\x1f\xca\x07\xf7\x31\xfb\x0a\xf7\x09\xfb\x32\x55\x5d\x80\x71\x5d\x1e\x9c\x7e\x7e\x91\x78" -+"\x1b\x69\x78\x73\x60\x1f\x3b\x07\x60\x9e\x73\xad\xa9\x9c\x9c\xaf\x93\x1e\x8f\x9e\x91\x94\x9b\x97\x08\x9d\xa4\xb9\x98\xb2\x1b\xdf" -+"\xcf\x53\x38\x99\x1f\x0e\xf7\x5b\xf7\x79\x15\xfb\x32\x98\xd5\x36\xf7\x0f\x1b\xbd\xb6\x9a\xa7\xad\x1f\xbd\xb6\xa9\xed\xf7\x0e\x1a" -+"\xee\x78\xd4\x65\xba\x1e\xb7\x67\x57\xa2\x4e\x1b\xfb\x10\x3c\x2f\xfb\x2d\x83\x1f\x67\xf7\x13\x90\x27\x1d\x2c\x88\x1d\xf7\x07\x2b" -+"\x1d\xad\x73\x9c\x5d\x1f\x86\xf7\x12\x06\xf7\x87\xf7\x89\x15\xa1\x9e\x84\x7e\x9a\x1f\xa7\x74\x9d\x45\x37\x1a\xfb\x13\x6b\x4f\x46" -+"\x6d\x71\x99\xa2\x7a\x1e\x78\xa8\x81\xbc\xd3\x1a\xe5\x97\xc0\xa6\xa7\x1e\x9c\x9c\xa0\x94\xa3\x1b\x0e\xf8\x20\xf7\x68\x15\xfb\x00" -+"\x6d\x07\x65\x0a\xf7\x28\x06\xb9\xa4\x9d\xad\xac\x72\x9e\x5d\x1f\x81\xf7\xf8\x95\x67\x1d\xfb\x72\x06\x45\x55\x7a\x69\x63\x1f\x65" -+"\x6b\x76\x60\x5d\x1a\x4f\xad\x5c\xd1\x64\x1e\x5c\x62\x71\x6b\x5c\x46\x74\x8a\x80\x8a\x82\x87\x08\x79\x84\x7f\x79\x76\x2a\x0a\xc6" -+"\x06\xd9\xf7\x08\xd2\xd7\xba\x9f\x08\xe6\xf3\x15\x43\x06\x3d\x46\xaf\xb5\xb1\xba\xa7\xcb\x1f\xf7\x00\x06\x0e\xf7\x2c\xf8\x61\x15" -+"\xfb\xfa\x56\x07\x74\x7f\x89\x86\x82\x6d\x0a\x7c\x99\x80\x1e\x84\x96\x93\x89\xa8\x1b\xf7\x6a\x06\xa4\x95\x8d\x90\x94\x99\x1d\x56" -+"\xf7\xfa\xf7\xcf\xf7\x04\x1d\xfc\x04\x07\x71\x49\x0a\x2d\x0a\x1e\x0e\xf7\x3e\xf8\x60\x15\xfb\xf7\x07\x4e\x89\x77\x7e\x65\x1a\x69" -+"\xa3\x77\xb3\x8d\x1e\xa2\x8c\xe1\x8a\x05\xcb\x8a\xa3\x9a\xb1\x1a\xaf\x77\x9a\x57\x8d\x1e\xd8\x07\xb3\xcb\xb3\x9c\xaa\x1b\xb1\xa6" -+"\x6b\x5d\x5f\x80\x7d\x5f\x7d\x1f\x69\x80\x7e\x7c\x6e\x1a\x6d\xa0\x79\xaf\xdf\xd0\xe0\xf3\xef\x4a\xcf\x2c\x5c\x60\x7e\x6a\x51\x1e" -+"\xf7\x37\xc2\x07\x8c\x66\x8c\x80\x8f\x82\x08\x77\x92\x9f\x7e\xa2\x1b\xac\x9d\x9f\xaf\x8e\x8b\x9d\x8a\x92\x1f\x8a\xa9\x88\xd4\x86" -+"\x90\x3b\x8d\x19\xfb\x91\x06\x3f\x89\x85\x86\x82\x42\x87\x69\x18\x89\x79\x8b\x85\x84\x1a\x69\x9f\x77\xad\xae\x98\x9d\xc2\x92\x1e" -+"\x8e\xa1\x05\x0e\xf7\x9c\xf3\x15\xf7\xf8\xf7\x5e\x37\x07\x60\x9e\x74\xae\xae\x9e\xa2\xb6\x1e\xf7\x50\xfc\x6a\x9f\x1d\xbf\xfb\xf8" -+"\x57\x06\x46\x0a\xc7\xf8\xf3\x15\x99\x97\x92\x95\x97\x1a\x9d\x7a\x9b\x78\x81\x81\x87\x82\x80\x1e\xfb\x00\x37\x05\x7d\x81\x84\x80" -+"\x7e\x1a\x79\x9b\x7b\x9f\x95\x94\x8f\x95\x97\x1e\x0e\xf7\x22\xf7\xe3\x15\xde\x9a\xcd\xc3\xe0\x1b\xae\xb5\x80\x7c\xa4\x1f\xa0\x7e" -+"\x93\x80\x90\x76\x08\x67\x93\x9c\x7a\xa9\x1b\xad\x9e\xa3\xb6\x1f\xdb\x07\xb6\x78\xa3\x6a\x77\x7d\x84\x7b\x7f\x1e\xa4\x5e\x5d\x97" -+"\x54\x1b\xfb\x32\xfb\x0a\xfb\x09\xfb\x31\x1f\x4c\x07\xfb\x2a\xf7\x0f\x22\xf7\x44\xcd\xbe\x97\xa7\xbd\x1e\xb8\xa3\xa3\xa9\xa8\x1a" -+"\xa6\x72\xa3\x6f\x7c\x7c\x83\x7a\x79\x1e\x69\x67\x6a\x80\x4e\x1b\xfb\x08\x44\xbf\xe4\x83\x1f\xf7\x75\x06\xb7\xa2\x9d\xad\xad\x74" -+"\x9d\x5f\x1f\x0e\xb4\x1d\x0e\x21\x0a\x0e\xd4\x1d\xf9\x13\x43\x0a\x7d\x0a\x0e\xf7\xa1\xf8\x60\x15\xb2\xfb\xf9\x06\x68\x86\x7a\x7a" -+"\x6e\x1a\x68\xa3\x7a\xbb\x1e\xd2\x06\xd0\xbc\x9c\xae\xad\x1f\xaa\xaa\x9c\xb6\xb8\x1a\xc0\x73\xbb\x60\xaa\x1e\x6c\xa2\x6a\x96\x57" -+"\x90\x08\xf7\x0a\x07\xcb\x8c\xa0\x98\xb1\x28\x1d\xfb\x88\x06\x4b\x74\x7d\x66\x68\xa3\x79\xbb\x1f\x91\xfb\x94\x06\x3c\x89\x7d\x68" -+"\x6e\x1b\x89\x06\x87\x8c\x05\x99\x07\xbd\x7d\x9d\x63\x64\x7c\x77\x56\x1e\x61\x07\x5a\xad\x73\xd2\xf5\xc3\xd6\xf7\x24\x1e\xf7\x27" -+"\xac\x15\xbc\x81\xa1\x77\x65\x1a\x66\x75\x78\x5a\x84\x1e\x0e\xf8\x11\xf7\xe1\x15\xf7\x14\x30\x0a\x3f\x06\x61\x74\x79\x6a\x6e\x9f" -+"\x76\xaa\x88\x1f\xfb\x13\xfb\x01\xf7\x13\x07\xab\x8e\x9f\xa0\xa8\x1a\xac\x74\x9d\x60\x1e\x3f\x5f\x0a\xfb\xf9\x07\x58\x8a\x76\x7c" -+"\x68\x1a\x68\xa3\x79\xb9\x1e\xeb\x06\xb6\xa2\x9d\xac\xa9\x77\x9f\x6b\x8e\x1f\xf7\x12\xf7\x01\xfb\x12\x07\x6c\x88\x77\x76\x6e\x1a" -+"\x6a\xa2\x79\xb5\x1e\xf7\x1a\x06\xf7\x13\xd3\xc3\xef\xf7\x03\x35\xcd\xfb\x24\x1f\x82\xfb\x79\x15\xf7\x12\x9d\x07\xcd\xba\x6e\x61" -+"\x67\x6c\x78\x50\x1f\x0e\xf7\xaa\xf8\x60\x15\xc4\x82\x06\x79\x07\x63\x9f\x74\xae\xac\x9d\xa0\xb2\x1e\xa4\x07\x89\xa9\x88\xd0\x7e" -+"\x96\x42\x8a\x19\xfb\x92\x06\x44\x8e\x7d\x7e\x87\x46\x8a\x6d\x18\x8a\x7a\x8b\x8b\x85\x1a\x63\x9d\x75\xad\xb3\x99\xa2\xce\x8c\x1e" -+"\xc5\xfb\xf9\x06\x4f\x76\x7d\x65\x66\xa2\x7d\xca\x1f\xe2\x06\xca\xa3\x99\xb0\xad\x74\x9c\x5b\x8c\x1f\xe1\x07\xb3\xb6\xa8\x9a\xab" -+"\x1b\xaf\x9d\x71\x59\x1f\x4a\x07\x5a\x8a\x75\x7a\x68\x1a\x67\xa3\x7d\xca\x1e\xca\x06\xca\xa2\x99\xb0\xab\x79\x9b\x64\x8f\x1f\xce" -+"\x07\xf4\x4b\xd2\x2e\x67\x68\x80\x75\x65\x1e\x0e\x77\x0a\xfb\x40\xf7\x83\x15\x9b\x97\x91\x95\x97\x1a\x9d\x7a\x9b\x78\x81\x81\x87" -+"\x82\x7f\x1e\xfb\x00\x37\x05\x7d\x80\x84\x80\x80\x1a\x78\x9c\x7b\x9f\x94\x94\x8f\x95\x98\x1e\x0e\x83\x0a\xfb\x0c\xf8\x7d\x15\x74" -+"\x7c\x7c\x75\x4d\xd5\x55\xe2\xe1\xad\x1d\x78\x82\x83\x74\x84\x1f\x6a\x80\x6d\xf7\x37\x1d\x8d\x1d\x42\x7f\x7b\x5a\x1e\x75\x83\x80" -+"\x7c\x75\x1a\x6e\xb5\x0a\x45\x72\x5a\x5d\x1f\x72\x71\x7c\x68\x6d\x1a\x41\xdd\x50\xf3\xc2\xc6\x97\xa1\xb9\x1e\x8c\xf7\x08\x44\x0a" -+"\x0e\xf7\xec\xf8\x4f\x15\xc9\xb2\x95\xa0\xa0\x1f\x9c\x9e\x96\xa9\xaa\x1a\xaf\x75\xa3\x69\x79\x7c\x83\x7d\x80\x1e\x86\x85\x84\x73" -+"\x8c\x82\x08\x80\x07\x7f\x88\x8a\x62\x8a\x1e\x36\x06\x45\x5b\x79\x62\x68\x1f\x68\x62\x7d\x51\x23\x1a\x20\x9a\x56\xb8\x5e\x1e\x5b" -+"\xb9\xcc\x72\xd6\x1b\xf7\x23\xf4\xe7\xf7\x10\xf7\x13\x2a\xe4\xfb\x1c\x52\x61\x80\x71\x63\x1f\x95\xbb\x99\x95\xc7\x8d\x08\xb5\xfb" -+"\x0e\x15\xd9\xc3\x5a\x47\x47\x53\x5a\x3c\x3d\x53\xbc\xce\xa9\x97\xa8\xa0\xa1\x1f\xa5\xa5\xa8\x96\xba\x1b\x0e\xea\xf3\x15\x81\x29" -+"\x1d\xf7\xa3\x06\xce\xbb\x97\xa2\xaa\x1f\xa8\xa1\x9c\xac\xad\x1a\xb9\x71\xaa\x53\xa1\x1e\xa9\xa6\x99\xa8\xac\x1a\xa5\x82\xa2\x7a" -+"\x9d\x1e\xa7\x70\x49\x9d\x3d\x1b\xfb\x78\x29\x1d\x95\x06\xf7\x00\x54\x15\xc2\xf5\x07\xc6\xad\x81\x7b\x75\x71\x84\x34\x1f\x35\xfb" -+"\x36\x15\xc5\xf7\x13\x07\xe5\x9f\x86\x76\x76\x6c\x80\x50\x1f\x0e\x8f\x0a\x0e\xf8\x5f\x16\x68\x07\x58\x9d\x72\xb0\xb2\x99\xa1\xc7" -+"\x1e\xbd\x07\x8d\xcb\x7d\x9c\x53\x8d\x08\xf7\x6d\x07\xba\x8d\xa0\x9b\xae\x1a\xb0\x73\x99\x4c\x1e\xfb\xc2\x06\x4c\x74\x7d\x66\x67" -+"\xa3\x7a\xbb\x1f\x8e\x06\x90\xfb\x04\x06\x89\x34\x7b\x7c\x35\x88\x08\x69\xfb\x19\x06\x4b\x96\x79\xb4\xb5\x99\x9f\xc5\x1e\xac\x07" -+"\xf7\x1e\xf7\xd5\x15\xf7\x03\xfb\x6d\xfb\x1d\x06\x9b\xa4\x95\xb0\xb6\x1a\x0e\x35\x1d\x0e\xf8\xbb\xf7\x34\x15\xb8\x07\xc9\x6f\xca" -+"\x5d\xb5\x1e\xb2\x61\x40\xa5\x46\x1b\xfb\x27\xfb\x04\x29\xfb\x14\xfb\x1b\xf7\x00\x30\xf7\x34\xd5\xed\x9d\xa1\xbc\x1f\x9e\x93\x96" -+"\x9c\x9e\x1a\xa7\x75\xa2\x6e\x81\x7c\x88\x85\x6f\x1e\x7a\x40\x6d\x86\x60\x1b\x42\x59\xa3\xba\x72\x1f\x8f\xf3\x15\xbb\xaa\xb6\xa1" -+"\xca\x1b\xc9\xb7\x75\x5b\xaa\x1f\xfb\x7c\xf7\xe1\x15\x6b\x72\x73\x6d\x6c\xa5\x73\xaa\xab\xa4\xa3\xaa\xa9\x72\xa3\x6b\x1f\xf7\x61" -+"\x4a\x1d\xf7\xf5\xf7\x9f\x15\xc3\x07\xa4\x9b\x94\x9a\xa0\x1a\xab\x71\x9d\x5d\x1e\x6b\x06\x5e\x71\x79\x6b\x76\x94\x7d\xa4\x7a\x1f" -+"\x53\x07\x46\xf5\x05\xad\x74\x69\x9d\x62\x1b\x5f\x76\x77\x63\x1f\x63\x07\x65\x9c\x77\xaa\xa2\x99\x94\xa2\x95\x1e\x97\x69\x9c\x76" -+"\xa3\x7d\x7a\x7e\x77\x73\x7d\x72\x66\x4a\x18\x5d\x8a\x76\x7a\x68\x1a\x6a\x9e\x7a\xad\x1e\xce\x06\xcf\xf7\x0a\x9b\xa7\xa0\x9f\x99" -+"\x8e\x19\x47\x07\x73\x7b\x81\x7c\x77\xe1\x0a\x9b\x1f\xd0\x07\x99\x88\xa0\x76\x9c\x6f\xcf\xfb\x0a\x18\xcd\x06\xae\x9e\x9c\xab\xaf" -+"\x76\x9c\x5d\x8c\x1f\x66\xcc\x7b\xa5\x7a\xa0\x78\x9a\x19\xa4\x99\x9a\x9f\x98\xae\x08\x75\x95\x99\x81\xa3\x1b\xaa\x9c\x9f\xb1\x1f" -+"\xb3\x07\xb3\x75\x9f\x5f\x62\x69\x79\x69\x74\x1e\x0e\xf7\xc6\xf7\x3b\x15\xda\xba\x7f\x76\x74\x58\x79\x4a\x4b\x4e\x9b\xab\x4e\x1f" -+"\x95\x78\x81\x8e\x7e\x1b\x70\x71\x72\x71\x6b\xab\x70\xcb\x74\x1f\x74\xcc\xc5\x81\xcb\x1b\xf7\x1f\xe2\xc2\xe2\xb4\x79\xa9\x65\xa6" -+"\x1f\xa3\xa6\x96\xa3\xa8\x1a\xd6\x3b\xc1\xfb\x02\x58\x62\x80\x73\x63\x1e\xc1\x81\x80\x99\x6a\x1b\x6f\x73\x76\x72\x84\x8d\x80\x8d" -+"\x80\x1f\x8e\x7d\x8c\x7c\x6e\x1a\x79\x8b\x76\x8a\x83\x1e\xb4\x0a\x67\x7f\x8a\x89\x82\x1f\x70\x84\x7e\x7b\x6f\x1a\x66\xa2\x7e\xcb" -+"\x1e\x0e\x7d\x1d\x0e\x7d\x1d\xf7\x00\xf7\xc0\x15\x74\x7c\x7c\x75\x4d\xd5\x55\xe2\xe1\xad\x1d\x77\x83\x83\x70\x82\x1f\x6f\x82\x69" -+"\x78\x61\xea\x0a\xba\x1d\x0e\xf8\x82\xf7\xd5\x15\xba\x8c\xa0\x9c\xad\x28\x1d\xfb\xd0\x06\x4b\x74\x7d\x65\x64\xa0\x7f\xce\x8a\x1f" -+"\xfb\x38\x07\x74\x87\x79\x84\x82\x1e\x83\x83\x7d\x85\x81\x8c\x08\x88\x06\x85\x8c\x05\xb2\x88\x7a\x9e\x6a\x1b\x67\x7d\x76\x55\x1f" -+"\x5c\x07\x70\xad\x7b\xc5\xf7\x05\xc5\xc4\xf7\x04\x1e\xf7\x38\xf7\x0a\xfb\x6e\x07\x5e\x8a\x75\x7a\x68\x1a\x67\xa2\x7d\xcb\x1e\xd0" -+"\x06\xca\xa3\x99\xaf\xae\x75\x9c\x5d\x8c\x1f\x0e\xf7\x3f\xf7\x9d\x15\xe8\xfb\x2d\x05\xd7\x06\xe4\xf7\x2c\x05\xfb\x34\x6c\x07\x3a" -+"\x0a\xf7\x15\x06\xb9\xa4\x9d\xad\xac\x77\x9c\x62\x8d\x1f\xf7\x6e\x30\x0a\xfb\x01\x06\xfb\x02\xfb\x4b\xfb\x04\xf7\x4b\x05\x20\x5f" -+"\x0a\xfb\x6e\x88\x07\x69\x73\x76\x6c\x69\xa4\x79\xb9\x1f\xf7\x14\x39\x1d\x6d\x06\x0e\xf8\x26\xf7\x38\x15\x4f\x86\x07\x3a\x0a\xf7" -+"\x07\x06\xb9\xa3\x9d\xae\xad\x76\x9b\x58\x8c\x1f\xf7\x6e\x30\x0a\x2c\xd0\x1d\x06\x0e\x25\x1d\x0e\xf8\x23\xf7\xd5\x15\xfb\x6e\x81" -+"\x07\x5c\x73\x7a\x69\x69\xa3\x79\xba\x1f\xf7\x0c\x2b\x1d\xae\x76\x9a\x58\x8c\x1f\xf7\x6e\x07\xae\x90\x9c\x9b\xa9\x1a\xae\x73\x9d" -+"\x5d\x1e\xfc\x10\x06\x5d\x73\x79\x69\x6c\x9c\x7a\xae\x87\x1f\xfb\x6e\x07\x58\x8a\x76\x7c\x68\x2a\x0a\xf7\x0c\x06\xb9\xa4\x9d\xad" -+"\xad\x73\x9c\x5c\x1f\x81\xf7\x6e\x06\x0e\xb8\x1d\x6c\x0a\x64\x5b\x55\x0a\x0e\xf7\xf4\xf7\xd5\x15\xee\x37\x06\x24\x0a\xf7\x50\xfc" -+"\x9b\xfb\x50\x2f\x0a\xdf\xeb\xfb\x6d\x4f\x07\xeb\x0a\xf7\x7a\x39\x1d\x4d\x06\x0e\xb6\x1d\x0e\xf7\xf5\xf8\x8e\x15\x8a\xcb\x80\x9b" -+"\x61\x8d\x08\x5a\x50\x82\x81\x7f\x1f\x80\x82\x85\x7b\x79\x1a\x6b\x9e\x7d\xb8\x1e\x9e\x5d\x06\x8d\x79\x86\x8c\x82\x1b\x2d\x42\x29" -+"\xfb\x11\xfb\x15\xcf\x2d\xea\x94\x92\x8b\x8d\x9f\x1f\x76\x7d\x07\x4b\x74\x7e\x65\x64\xa1\x7e\xcc\x1f\xf7\x1d\x06\xcb\xa3\x99\xb0" -+"\xb2\x75\x98\x49\x1f\x7c\xa0\x06\x89\xa2\x90\x8b\x94\x1b\xec\xce\xe6\xf7\x17\xf7\x12\x42\xed\x2e\x82\x85\x8a\x89\x77\x1f\xfb\x00" -+"\xfb\xe5\x15\x8a\x82\x85\x8a\x84\x1b\x61\x70\xb9\xd4\xcf\xa9\xbe\xb3\x90\x92\x8a\x89\x94\x1f\xf7\x00\x16\x8d\x97\x93\x8c\x8d\x1b" -+"\xb6\xa7\x5c\x44\x42\x70\x5b\x62\x84\x85\x8c\x8d\x7f\x1f\x0e\x7a\x0a\xba\x1e\xf7\x05\x63\x1d\x82\x91\x84\x8d\x78\x8c\x08\x0e\xf8" -+"\x83\xf7\xd5\x15\xbf\x8d\xa0\x9a\xae\xd3\x0a\xfb\x6e\xfb\x5c\xf7\x6e\x95\x06\xba\xa3\x9d\xad\xad\x73\xb0\x1d\x69\xa0\x7c\xbe\x89" -+"\x1f\xfb\x6e\x2c\x0a\xf8\x19\x60\xf7\x66\x1d\xf7\x26\x28\x07\x0e\xf8\x16\xf3\x15\x5e\x06\x4b\x74\x7d\x65\x65\xa2\x7d\xcb\x1f\xf7" -+"\x1c\x06\xca\xa3\x99\xb0\xae\x75\x9c\x5b\x8c\x1f\xf7\x6e\xc2\x0a\x4c\x07\x6f\x59\x6b\x81\x62\x1b\x62\x7c\x95\xa6\x1f\xf7\x05\x1d" -+"\x35\xc0\x5d\xef\xbc\xb7\x95\xa0\xb4\x1e\x0e\xf7\x8a\xf3\x15\x3f\xf7\xd5\xfb\x02\x06\x5d\x73\x79\x68\x69\xa0\x7c\xbe\x8a\x1f\xfb" -+"\x6f\x2c\x0a\xf8\x4c\x06\xc2\xa3\x9a\xaf\xad\x77\x9c\x62\x8d\x1f\xf7\x6e\x07\xbe\x8c\xa0\x9a\xae\x1a\xad\x73\x9d\x5c\x1e\xfb\x01" -+"\xfb\xd5\x3f\xf7\x6e\x06\xac\x8e\x9c\x9c\xaa\x1a\xad\x74\x9d\x60\x1e\x3d\x06\x61\x75\x79\x6a\x6b\x9c\x79\xac\x89\x1f\x0e\xf7\x7f" -+"\xf2\x15\x3f\xf7\xd6\xfb\x02\x72\x0a\xfb\x6e\x2c\x0a\xf8\x54\x60\x4a\x0a\xf7\x26\x29\xf7\x6e\x07\xbe\x8d\xa0\x9a\x6e\x1d\xfb\x02" -+"\xfb\xd6\x3f\xf7\x6f\x06\xad\x8f\x9b\x9b\xa9\x1a\xae\x75\x9d\x5f\xae\x1d\x6d\x9b\x7a\xad\x87\x1f\x0e\xf7\x87\xf7\xd5\x15\xfb\x6d" -+"\x81\x07\xeb\x0a\xf7\x3a\x06\xf7\x13\xcd\xb7\xdf\xb1\x7c\xae\x70\xa3\x1f\xa7\x6c\x59\x98\x3e\x1b\x62\xc2\xa2\x06\x4f\x1d\xfc\x04" -+"\xfb\x50\x06\x24\x0a\xdf\x07\xf7\x81\xfb\x6d\x15\xc6\xa2\x07\xe1\xa3\x85\x75\x77\x6b\x80\x51\x1f\x0e\xf7\x4c\xf7\xd5\x15\x9c\x06" -+"\x4f\x1d\xfb\x18\x06\x52\x1d\x92\xfb\x6d\x84\x06\xa3\x1d\xf7\x1e\x06\xf7\x0b\xce\xb9\xdd\xb2\x7b\xae\x70\xa3\x1f\xa6\x6b\x5c\x98" -+"\x44\x1b\x7b\x06\xfb\x36\x04\xc5\x95\x07\xce\xa3\x84\x76\x77\x6d\x81\x55\x1f\xf7\x85\xf7\x6d\x15\xfb\x6d\x86\x07\x6d\x74\x74\x6d" -+"\x6a\xa1\x79\xb4\x1f\xe0\x06\xba\xa3\x9c\xad\xaa\x79\x9d\x68\x8e\x1f\xf7\x6f\x07\xae\x90\x9d\x9c\xa9\x1a\xad\x73\x9c\x5c\x1e\x36" -+"\x06\x62\x75\x79\x6a\x6d\xa2\x74\xa9\x1f\x0e\xf7\x5f\xf7\xd5\x15\x9e\x06\xb9\xa4\x9d\xad\xad\x73\x9d\x5c\x1f\xfb\x1d\x29\x1d\x95" -+"\xfb\x6d\x81\x29\x1d\xf7\xa3\x06\xf7\x12\xcd\xb7\xde\xb1\x7b\xaf\x71\xa3\x1f\xa7\x6c\x59\x98\x3e\x1b\xfb\x25\x06\xfb\x36\x04\xc5" -+"\xf7\x13\x07\xe2\xa2\x85\x75\x78\x6b\x80\x51\x1f\x0e\xf7\x9f\xf7\x9d\x15\x5f\x74\x7a\x69\x68\xa2\x79\xb7\x1f\xf7\x36\x06\x59\x79" -+"\x57\x74\x2f\x1b\x4a\x5d\x97\xa4\x6c\x1f\x98\x7b\x81\x8f\x7d\x1b\x6f\x72\x73\x6f\x4e\xf0\x5f\xf7\x1f\xe0\xc7\x9b\xad\xb9\x1f\xc0" -+"\xb3\xa7\xc5\xcf\x1a\xf7\x1f\x21\xec\xfb\x2d\x57\x60\x82\x78\x61\x1e\x96\x7d\x81\x8f\x7c\x1b\x69\x79\x73\x60\x1f\x4f\x07\x5e\x9e" -+"\x74\xaf\xa8\x9c\x99\xa9\x92\x1e\x8e\x98\x8c\x8e\x8f\x91\x08\xa3\x9a\xb3\x9a\xc0\x1b\xd1\xb5\x76\x5b\xa6\x1f\x0e\xf7\x6e\xf7\x38" -+"\x15\x20\x97\xda\x43\xf3\x1b\xf7\x0e\xd7\xe2\xf7\x1f\xf7\x1f\x3f\xe2\xfb\x0d\x23\x42\x4b\x22\x7a\x1f\x56\xc1\x90\x06\xb9\xa3\x9c" -+"\xad\xad\x73\x9d\x5d\x1f\x2c\x5c\x0a\xf7\x07\x27\x1d\x86\xc7\x06\xf7\x8a\xf7\x3e\x15\xc1\xaf\x5a\x42\x42\x66\x59\x56\x56\x66\xbd" -+"\xd4\xd3\xb0\xbd\xc0\x1f\x0e\xf8\x1a\xf3\x15\x78\x06\x52\x1d\xf7\x1d\x39\x1d\x81\xf7\x6d\x95\x39\x1d\xfb\xa3\x06\xfb\x13\x4a\x5f" -+"\x36\x48\xb3\x5e\xd6\x79\x1f\x72\x75\x7e\x7e\x75\x70\x08\x56\x8a\x76\x7c\x67\x70\x0a\xc6\x06\x8f\x91\xc4\xd5\xc9\xbd\xd2\xa8\x19" -+"\xb3\x06\xf7\x36\x04\x51\xfb\x12\x07\x34\x73\x91\xa0\x9f\xaa\x96\xc6\x1f\x0e\xf7\x30\xf7\xd5\x15\xfb\x6d\x57\x07\x46\x0a\x56\xf7" -+"\x6d\xf7\xca\xf7\x50\x06\xb7\x56\x1d\x5f\x1e\x37\xfb\xfe\x9f\x1d\x0e\xeb\xf2\x15\x89\x06\x41\x0a\xbf\xc3\x9f\x95\x9c\x1d\x80\x6c" -+"\x1a\xfb\xa9\x07\x5c\x8c\x68\x6d\x53\x1b\xfb\x00\x68\x1d\xf7\x03\x06\xf7\x05\x8c\xdd\xd8\xf2\x1a\xf7\xb6\x07\xec\x42\xcc\xfb\x00" -+"\x59\x5c\x78\x69\x67\x1e\xde\xf7\x01\x07\xaa\x9b\x98\xa4\xa4\x7b\x98\x6c\x1f\xfb\x01\x06\xbc\x89\x7c\x9f\x66\x1b\x66\x7b\x77\x5a" -+"\x8a\x1f\x5f\x06\x6c\x7b\x7e\x72\x72\x9b\x7e\xaa\x1f\xb7\x06\x0e\x8f\x0a\xc7\xf8\x61\xf7\x03\x1d\x9b\x7b\x9f\x94\x95\x8f\x95\x97" -+"\x1e\x0e\xf7\x47\xf7\x9d\x15\xbb\xa6\xb5\xa0\xd1\x1b\xcd\xb3\x78\x66\x94\x1f\x67\x94\x99\x7e\xaa\x1b\xaf\x9e\xa2\xb8\x1f\xc7\x07" -+"\xb6\x79\xa3\x69\x7c\x81\x87\x80\x7d\x1e\x9e\x60\x61\x94\x57\x1b\xfb\x2d\x21\x2a\xfb\x1f\x47\xa7\x51\xc0\x63\x1f\x69\xb9\xc7\x7b" -+"\xe0\x1b\xf7\x1f\xf0\xb7\xc8\xa7\x72\xa3\x6f\x7d\x81\x87\x7e\x7b\x1f\x72\x6c\x5e\x7f\x4a\x1b\x2e\x57\xa2\xbd\x79\x1f\xf7\x36\x06" -+"\xb7\xa2\x9d\xae\xad\x74\x9c\x5f\x1f\x0e\x42\x1d\x0e\xcd\x1d\x7d\x66\x1d\x0e\xf7\xf5\xf8\x3d\x15\xfb\x4a\x68\x1d\xd5\xfb\x6d\xfb" -+"\x05\x06\x5e\x72\x79\x69\x69\xa4\x79\xb8\x1f\xf7\xe2\x06\xb8\xa4\x9d\xad\xad\x72\x9d\x5e\x1f\xfb\x05\x06\xfb\x58\xf8\x81\x43\x0a" -+"\xc8\x1d\xf7\x8c\xf7\x59\x1d\xf8\x2f\xf7\xd5\x15\xb6\x8c\xa1\x9d\xac\x28\x1d\xfb\x7e\x06\x4c\x74\x7d\x66\x68\xa3\x79\xbb\x1f\x8e" -+"\x06\x8f\xfb\x38\x06\x8a\x58\x83\x80\x65\x8a\x08\x86\x06\xb3\x88\x7a\x9e\x6b\x1b\x69\x7d\x76\x55\x1f\x5c\x07\x7d\x8f\x82\x94\x87" -+"\x1e\x82\x9f\xae\x84\xa9\x1b\xed\xc4\xc9\xf6\x1f\xf7\x38\xc1\xfb\x6e\x07\x6a\x85\x7a\x7a\x6f\x1a\x69\xa5\x79\xbc\x1e\xb5\x06\xda" -+"\xb4\x92\x9d\xa9\x1f\xb2\xa3\xa3\xb3\xb7\x1a\xb6\x76\xb3\x67\xa4\x1e\x6f\x9e\x69\x94\x56\x8c\x08\x23\x04\xb9\x89\x99\x83\x75\x1a" -+"\x77\x79\x80\x68\x1e\x84\x06\x0e\xf8\x17\xf7\xa0\x15\xc1\x30\x0a\x3f\x06\x61\x74\x79\x6b\x6d\x9f\x77\xaa\x88\x1f\x55\xfb\x08\xc1" -+"\x07\xaa\x8d\xa0\xa0\xa9\x1a\xab\x74\x9d\x60\x1e\x3f\x5c\x0a\xeb\x06\xb6\xa2\x9d\xac\xa9\x77\x9f\x6b\x8e\x1f\xc7\xf7\x08\x4f\x07" -+"\x6c\x87\x77\x77\x6e\x1a\x6a\xa2\x79\xb5\x1e\xf7\x17\x06\xf7\x13\xcc\xb7\xe1\xe6\x47\xba\xfb\x17\x1f\x6d\xfb\x38\x15\xc7\x96\x07" -+"\xe3\xa1\x85\x74\x77\x6c\x80\x50\x1f\x0e\xf7\x60\xf8\x67\x15\xf7\x01\x06\xed\x1d\xfc\x00\x52\x0a\x0e\xba\x1d\x52\xf7\x9a\xf7\x03" -+"\x1d\x9c\x7b\x9d\x95\x95\x57\x1d\xf7\x68\xf7\xd7\x15\xab\x92\x99\x9b\xa7\x1a\xb0\x74\x99\x4b\x1e\x4c\x06\x4b\x74\x7d\x66\x68\xa0" -+"\x7b\xba\x8a\x1f\xf7\x30\xfb\xa0\x79\x6c\x7b\x70\x7a\x7a\x81\x8d\x19\x8a\x06\x8a\x06\xc6\x89\x7f\x9d\x63\x1b\x62\x7d\x77\x4f\x1f" -+"\x59\x07\x7a\x8f\x80\x94\x87\x1e\x80\xa3\xb6\x81\xa7\x1b\xc2\xba\xac\xcd\xb2\x1f\xf7\x5f\xf7\xf0\x05\xb9\x8c\x9f\x9b\xae\x1a\xb0" -+"\x73\x99\x4c\x1e\x4e\x06\x4c\x74\x7d\x66\x6f\x99\x7b\xab\x84\x1f\x2b\xfb\x37\x05\xfb\x15\xf8\x62\x15\x74\x7c\x7c\x75\x4d\xd5\x55" -+"\xe1\xe2\xad\x1d\x78\x82\x83\x74\x83\x1f\x6a\x81\x6c\x79\x5e\xea\x0a\xf7\x5b\xf3\x15\xf7\xf8\x95\x07\xba\xa4\x9d\xf7\x4b\x1d\x9e" -+"\x7d\xc0\x89\x1f\xfb\xfa\xa0\x0a\xf7\xfa\x07\xc0\x8d\x9e\x99\x6e\x1d\xfb\x0c\x39\x0a\x95\xfb\xf8\x06\x0e\x82\x0a\xa8\xf7\x96\x15" -+"\x62\x07\xfb\x1a\xf7\x03\x29\xf7\x2c\xf7\x29\xf7\x05\xee\xf7\x15\xf7\x18\xfb\x02\xe7\xfb\x32\x43\x25\x7a\x78\x5d\x1e\x72\x80\x7f" -+"\x7c\x76\x1a\x6e\xa1\x74\xa8\x96\x96\x8d\x8e\x98\x1e\xa2\xe8\xa2\x8f\xb8\x1b\xdf\xbd\x73\x57\xa4\x1f\x89\x2f\x15\x59\x76\x57\x6f" -+"\x46\x1b\x46\x58\xa7\xbd\x75\x1f\x0e\xf2\xcf\x15\x85\x80\x87\x80\x82\x1a\x74\xa2\x77\xa4\x9d\x9a\x94\x9d\x96\x1e\xee\xf7\x30\x05" -+"\x89\x7c\x8a\x84\x81\x1a\x32\xcc\x4b\xe7\xe5\xcd\xcb\xe3\xe3\x49\xcb\x31\x64\x71\x83\x75\x6a\x1e\xf7\x2b\xf7\x84\x05\x92\x95\x8e" -+"\x95\x96\x1a\xa2\x75\x9f\x72\x78\x7d\x82\x79\x80\x1e\xfb\x08\xfb\x4b\x05\xa1\x85\x7c\x96\x76\x1b\x7f\x86\x89\x7e\x78\x1f\x7d\x78" -+"\x77\x84\x7a\x1b\x67\x71\xa8\xb5\xb4\xa6\xa7\xb2\xa5\x98\x82\x77\x8f\x1f\x75\x8e\x9c\x7d\xa1\x1b\x8c\x8d\x8b\x8c\x8e\x1f\x8d\x06" -+"\xa0\x8e\x9a\x9a\x9f\x1a\x8a\x95\x05\x87\x9d\x8b\x8b\x91\x1a\x90\x8c\x93\x8d\x92\x1e\x8d\x93\x8b\x8c\x8f\x1a\x9f\x7d\x9b\x76\x8e" -+"\x1e\x81\x8d\x05\x8c\x85\x86\x8c\x89\x1b\x84\x83\x88\x87\x85\x1f\x88\x86\x8b\x8b\x8a\x1b\x8a\x87\x8c\x8e\x82\x1f\x8d\x82\x7d\x8d" -+"\x7f\x1b\x35\x49\x49\x35\x35\xcc\x49\xe1\xae\xaa\x95\xa1\xb0\x1f\xf7\x43\x24\x15\xb4\xa5\x6f\x61\x61\x70\x6f\x64\x64\x71\xa7\xb5" -+"\xb5\xa5\xa7\xb1\x1f\x0e\xf7\x50\xf7\x22\x15\x8d\x45\x8e\x76\x95\x76\x08\x72\x98\x9f\x7d\xa3\x1b\xa8\xa3\x99\xab\xa8\x1f\x9d\x9f" -+"\x9b\xa0\x96\x9e\x90\x94\x18\x8d\x8e\x8c\x8f\x8f\x1a\x92\x85\x90\x84\x84\x86\x87\x82\x84\x1e\x80\x7b\x05\x6c\x75\x7a\x7d\x7c\x1b" -+"\x79\x84\x9e\xc0\x97\x8b\xa4\x8c\xa0\x1f\x9e\x07\xaf\x07\xf7\x1e\xf7\x44\xbe\xec\xe1\x1a\xc1\x6e\xae\x5f\x5f\x5a\x6a\x52\x64\x1e" -+"\x60\x4b\x74\xfb\x01\x88\xfb\x3d\x8a\x4e\x18\x74\x6f\x86\x85\x79\x76\x88\x88\x19\x76\x75\x05\x85\x85\x89\x86\x86\x1a\x87\x07\x84" -+"\x8f\x8e\x88\x91\x1b\x96\x8b\x8b\xb9\xb7\x1f\xec\xf7\x3d\x15\x8d\xb1\x05\xf7\x6d\x95\x9e\xd0\xbc\x1b\xa2\x9a\x76\x6b\x44\x64\x2f" -+"\x45\x2b\x1f\x0e\xf8\x25\xf8\x61\x15\xad\x91\x9c\x9c\xa8\x1a\xb0\x74\x99\x4b\x1e\x52\x06\x4c\x73\x7d\x67\x68\xa2\x7a\xbc\x8a\x1f" -+"\xfb\x51\x07\x2e\xf7\x7a\x73\xc3\x85\x90\x5f\x8c\x19\x5d\x06\x62\x73\x78\x6a\x70\x9c\x79\xab\x85\x1f\xfb\xfa\x07\x6a\x84\x7b\x7b" -+"\x6f\x1a\x65\xa2\x7d\xcb\x1e\xc2\x06\xcc\xa2\x99\xb1\xae\x76\x9a\x57\x8d\x1f\xf7\x57\x07\xe6\xfb\x75\x05\x4f\xa3\x9a\x7d\xad\x1b" -+"\xa3\x9f\x96\x9e\x97\x1f\x92\x96\x8d\x99\xb7\x1a\xa8\xf7\x5f\x15\x55\xa8\x6f\xc1\xc1\xa7\xa7\xc1\x1e\xf1\x07\xbb\x6b\xa9\x59\x59" -+"\x6a\x6c\x5c\x1e\xd8\x85\x15\x92\x8c\x8f\x8e\x90\x8d\x88\x83\x1e\x2d\x07\x83\x8a\x88\x87\x87\x89\x8e\x93\x1e\x84\xfb\x00\x15\x57" -+"\x76\x7d\x68\x6e\xa4\x7b\xb8\x1f\xa5\x06\xb6\xa4\x9b\xa8\xae\x77\x99\x58\x1f\x0e\xf8\x5a\xf7\xe2\x15\xd0\x61\x4e\xad\x3d\x1b\xfb" -+"\x17\x23\x27\xfb\x12\xfb\x15\xf3\x2a\xf7\x1f\xdf\xbe\xa8\xcc\xaa\x1f\x9f\x4b\x05\x7a\x91\x9c\x80\xa0\x1b\xa9\x9e\x9d\xa6\x93\x8a" -+"\x8f\x8a\x90\x1f\x55\xf7\x37\xd7\xf7\x2d\x05\x8f\x93\x8d\x94\x94\x1a\xa2\x73\x9f\x6e\x77\x82\x85\x76\x80\x1e\x32\xfb\x58\x15\x33" -+"\x6f\x66\x68\x4a\x1b\x43\x53\xc1\xd0\xd0\xc3\xc1\xd3\xac\xa9\x7f\x75\xa1\x1f\x9e\x77\x95\x76\x9b\x5b\x08\x0e\xf8\xa0\xf7\xe3\x15" -+"\x96\xa7\x91\x9f\x94\x1a\xa5\x76\x9e\x6c\x6c\x81\x81\x56\x76\x1e\x7a\x5f\x05\xda\x52\x5f\xa7\x45\x1b\xfb\x06\x35\x2a\xfb\x15\xfb" -+"\x13\xe4\x28\xf7\x08\xce\xbf\xa9\xce\xba\x1f\xaa\x39\x05\xcb\x06\xb9\xa4\x9d\xad\xab\x78\x9c\x63\x8d\x1f\x89\x92\x88\x92\x85\x9a" -+"\x83\xa2\x7d\xad\x82\x9e\x08\xfb\x09\x87\x15\x37\x62\x6b\x6c\x60\x1b\x56\x61\xc1\xd1\xcf\xb2\xbf\xbf\xb3\xad\x66\x2f\xb9\x1f\xa7" -+"\xf7\xfd\xf7\x1a\x1d\x80\x84\x80\xf7\x4c\x1d\x23\x0a\xfb\x63\xf8\x40\x37\x1d\xf7\x4f\xf7\x98\x15\xf7\x51\xfb\xfe\x05\x7c\x93\x95" -+"\x83\x95\x1b\x92\x8e\x8e\x93\x90\x8a\x8f\x87\x97\x1f\xfb\x24\xf7\xf5\xf7\x24\xf7\xf6\x05\x8e\x92\x8d\x94\x92\x1a\x91\x88\x8e\x84" -+"\x81\x86\x87\x78\x7e\x1e\x0e\xf8\x32\xf7\x98\x15\xfb\x51\xf7\xff\x05\x9d\x7f\x85\x90\x81\x1b\x84\x88\x88\x85\x84\x8d\x82\x8e\x84" -+"\x1f\xf7\x24\xfb\xf6\xfb\x24\xfb\xf5\x05\x87\x7f\x8a\x87\x86\x1a\x83\x8e\x88\x92\x95\x95\x93\x9a\x93\x1e\x0e\xf8\x81\xf2\x15\xf7" -+"\x51\x07\xe6\x40\xc1\xfb\x12\x58\x42\x7f\x7b\x5a\x1e\x75\x83\x80\x7c\x75\x1a\x6e\xa2\x74\xa8\x95\x99\x8d\x8f\x9d\x1e\x96\xbb\xad" -+"\x90\xad\x1b\xc8\xa6\x7e\x6e\x1f\x79\x07\x91\x68\x6a\x8e\x6a\x1b\x32\x46\x72\x5a\x5c\x1f\x72\x71\x7c\x68\x6c\x1a\x42\xde\x50\xf2" -+"\xc2\xc5\x97\xa1\xba\x1e\x78\xbb\x07\x5b\x1d\xa2\xa0\xa6\xb4\xa9\x1f\xc7\xb8\x90\x90\xa5\x1a\x9b\x83\x9a\x7d\x96\x1e\x92\x20\x0a" -+"\xfb\x0c\xab\x44\x0a\x0e\xf8\x76\xf8\x4b\x15\x74\x80\x84\x6e\x74\x1f\x6f\x75\x7f\x7f\xf7\x1e\x1d\x6b\x80\x77\xf7\x10\x1d\x57\xc7" -+"\xb4\x76\xb4\x1b\xb5\xab\x9d\xb6\xb1\x1f\xae\xb2\x93\x99\xa0\x1a\xaa\x71\xa4\x6b\x1e\x8d\xfb\x4a\x15\x75\x7f\x84\x6f\x74\x1f\x6e" -+"\x75\x7f\x80\x83\x1b\x85\x7f\x92\x98\x7c\x1f\xc8\x44\x70\x99\x5e\x1b\x5f\x69\x79\x60\x63\x1f\x6d\x6a\x80\x78\x77\x1a\x6d\xa6\x71" -+"\xab\xa0\x95\x91\xab\xa6\x1e\xa7\xa3\x95\x94\x92\x1b\x91\x97\x83\x7b\x9e\x1f\x57\xc8\xb2\x77\xb5\x1b\xb5\xab\x9c\xb7\xb1\x1f\xae" -+"\xb2\x93\x99\xa0\x1a\xa9\x71\xa4\x6b\x1e\x0e\x23\x0a\x2e\xf8\xa1\x95\x1d\x6a\x6d\x70\x67\x67\x6d\xa6\xac\xab\xa9\xa6\xaf\x1f\xbf" -+"\xf7\x30\x15\x9d\x99\x91\x94\x99\xf3\x1d\xf7\x35\xf7\x9e\x15\xa9\xb8\x9a\xaa\x9a\x1a\x93\x83\x91\x82\x84\x87\x88\x7e\x80\x1e\x6c" -+"\x68\x6e\x74\x4f\x69\x08\x78\x81\x87\x87\x84\x1a\x85\x8f\x85\x92\x87\x1e\x91\x88\x8c\x8a\x8f\x89\x91\x88\x19\x99\x82\xbc\x6e\xa3" -+"\x77\xad\x64\x19\x84\x91\x8f\x89\x92\x1b\x94\x92\x92\x93\x9a\x76\xb5\x73\xab\x1f\xf7\xb3\xcf\x1d\x0e\xf7\x9b\xf8\xae\x15\xfc\x34" -+"\x07\xa2\x6c\x5e\xa1\x7c\x1b\x83\x84\x84\x82\x84\x8d\x87\x93\x85\x1f\xb8\x65\x9a\x79\xb8\x41\x08\x7e\x92\x8e\x88\x94\x1b\x92\x8f" -+"\x90\x9c\x95\x1f\xab\xc3\xa5\xab\xaf\xa9\x08\x98\x96\x8e\x90\x91\x1a\x94\x85\x93\x83\x7c\x6b\x7c\x6e\x5d\x1e\xf8\x33\x07\x0e\xf8" -+"\xdd\xf7\x9f\x15\xfc\x3c\x06\xa3\xab\xa0\xb5\x9a\x1a\x93\x84\x92\x82\x84\x87\x89\x84\x85\x1e\x64\x5e\x78\x7c\x41\x60\x08\x7d\x83" -+"\x88\x88\x83\x1a\x84\x8f\x87\x9e\x81\x1e\xc6\x6a\xaa\x73\xa9\x68\x08\x7f\x95\x90\x87\x91\x1b\x95\x93\x91\x93\x9a\x7b\xab\x6e\xb7" -+"\x1f\xf8\x3c\x06\x0e\xa3\xf7\x6b\x15\xf8\x3c\xcf\x1d\xfc\x3c\x06\x0e\xf7\xd0\x7f\x15\xf8\x34\x07\x75\xaa\xb8\x75\xf7\x63\x1d\x89" -+"\x8f\x83\x91\x1f\x63\xac\x79\xa0\x6c\xbd\x88\x8f\x88\x8f\x88\x91\x88\x90\x88\x90\x8a\x8c\x08\x98\x84\x88\x8e\x82\x1b\x84\x87\x87" -+"\x79\x81\x1f\x69\x51\x74\x6e\x66\x6c\x08\x7e\x81\x88\x86\x85\x1a\x81\x91\x84\x93\x9a\xa9\x99\xa9\xbb\x1e\xfc\x34\x07\x0e\xf7\xa6" -+"\xf7\x02\xda\x0a\x6e\xa5\x6b\xf7\x58\x1d\x93\x8f\x1f\xb7\xd4\x9e\xa4\xb8\xb0\x08\x92\x91\x8e\x8f\x92\x1a\x94\x84\x92\x83\x7c\x5f" -+"\x75\x74\x6b\x1e\xf7\xae\x07\x74\xab\xb7\x76\xd3\x1d\xab\x9a\xa8\xb9\x1e\x0e\xf7\x57\x63\x15\x5f\xf7\x6a\xb7\x07\xfb\x18\xf7\x51" -+"\xda\x0a\x70\xa5\x6a\xf7\x58\x1d\x92\x8f\x1f\xb6\xd5\x9f\xa3\xb8\xb0\x08\x92\x91\x8e\x8f\x92\x1a\x94\x84\x92\x83\x7c\x5e\x75\x75" -+"\x6c\x1e\xf7\xad\x07\x75\xaa\xb8\x75\xd3\x1d\xac\x9a\xa8\xb8\x1e\x0e\xf7\x6f\x99\x15\x76\xad\xa8\x83\xb5\x1b\xf7\x03\xdf\xdf\xf7" -+"\x03\xdd\x6a\xbc\x3f\xa9\x1f\xb1\xaa\x9c\xad\xb9\x1a\xe3\x43\xca\x27\x4c\x54\x72\x5e\x6c\x1e\x73\x6a\x82\x5b\x35\x1a\xfc\xc2\xf7" -+"\x00\x07\xa8\xf8\x70\x15\x96\x06\xc4\x8a\x94\x8a\xa5\x81\x08\xb8\x7b\x9a\x76\x5a\x1a\x51\x6a\x64\x58\x5e\x68\x9c\xaf\x6f\x1e\xf7" -+"\x88\x07\xe2\x9c\xa5\xc5\xb3\xa2\x77\x69\x58\x63\x6c\x46\x89\x1e\x0e\x3d\x0a\x32\xf7\xbf\x27\x0a\x3d\x0a\xfb\x73\xf7\xa3\x45\x1d" -+"\x6c\x0a\x64\x5b\x55\x0a\xfb\x87\xf7\xad\x2e\x0a\x3d\x0a\xfb\x74\xf7\xe3\x36\x0a\x0e\xf7\xbf\xf7\x74\x15\xfb\x16\xf7\x5d\x05\x48" -+"\x29\x1d\x91\x06\xf7\x12\xfb\x57\xfb\x2f\xfb\x84\x05\x7f\x78\x86\x7f\x7f\x1a\x71\xa5\x72\xa8\x9e\x9d\x98\xa3\x9b\x1e\xf7\x14\xf7" -+"\x5a\xf7\x28\xfb\x73\x05\xce\x06\xba\xa3\x9d\xad\xad\x72\x9d\x5d\x1f\x84\x06\xfb\x24\xf7\x70\xf7\x22\xf7\x6b\x05\x97\x9d\x90\x97" -+"\x98\x1a\xa6\x71\xa3\x6e\x78\x79\x7e\x73\x7c\x1e\x0e\xf7\xad\xf8\x88\x15\xfb\x1e\xfb\x07\xfb\x03\xfb\x1a\xfb\x22\xf7\x06\xfb\x05" -+"\xf7\x24\xf7\x1f\xf7\x05\xf7\x03\xf7\x1c\xf7\x1f\xfb\x08\xf7\x06\xfb\x21\x1f\x8f\xfb\xbe\x15\xf5\x23\x05\x72\x67\x68\x80\x61\x1b" -+"\x60\x6e\x94\xa3\x6c\x1f\x5d\xb8\x15\x70\xaf\x82\xa6\xb4\x1a\xb6\x96\xaf\xa3\xac\x1e\xf7\x02\xfb\x00\x05\xe8\x16\xf7\x02\xf6\x05" -+"\xa1\x6d\x94\x72\x66\x1a\x5a\x80\x66\x73\x6a\x1e\xfb\x2c\xf7\x29\x15\xfb\x03\xf7\x00\x05\xa3\xac\xae\x96\xb5\x1b\xb7\xaa\x81\x72" -+"\xae\x1f\x0e\xf8\x82\x16\x9b\x07\xfb\x15\x9e\x50\xce\xf7\x18\x1a\x9c\x6e\x91\x81\x94\x80\x08\x68\xa9\xba\x73\xb5\x1b\xd1\xc2\xc4" -+"\xd4\xd1\x59\xc2\x4c\x78\x80\x88\x7e\x70\x1f\x89\x8a\x82\x86\x86\x89\x08\xa1\xaa\x93\xa3\xa8\x1a\xd0\x53\xc1\x44\x44\x54\x55\x45" -+"\x70\x90\x7d\xa5\x61\x1e\x9c\x68\x78\x91\x76\x1b\x4f\x58\x52\x46\x43\xc3\x53\xd2\xca\xc0\xb1\xd2\xad\x1f\x8c\x78\x05\x85\x07\x8a" -+"\x53\x6e\x4c\x62\x6a\x72\x78\x79\x84\x42\x7c\x08\x7b\x07\x0e\xf8\xab\xf8\x7d\x15\xf7\x06\xfb\x0c\x07\xdb\x1d\x21\x06\xa8\x64\x59" -+"\x9a\x52\x1b\x3e\x52\x77\x60\x5c\x1f\x5c\x60\x73\x53\x4c\x1a\x4b\xa3\x53\xba\x60\x1e\x60\xba\xc4\x77\xd7\x1b\xc5\xb3\x97\xaa\xbc" -+"\x1f\x6d\xf7\x0c\x45\x0a\x7f\xf7\xbf\x06\x89\x91\x91\x8a\x8e\x1b\x9a\x96\x93\x9e\x98\x1f\xdd\xf7\x0c\x05\x95\x9a\x8f\x93\xf7\x56" -+"\x1d\xfb\xd6\xfb\x92\x9b\x0a\xf8\xab\xf8\x7f\x15\xf7\x04\xfb\x0c\x07\xdb\x1d\x24\x06\xa6\x5d\x5e\x98\x54\x1b\xfb\x23\xfb\x01\x25" -+"\xfb\x18\xfb\x15\xf3\x32\xf7\x2a\xc0\xb8\x96\xa3\xb9\x1f\x77\xf7\x0c\x45\x0a\x7f\xf7\xb1\x97\x06\xba\xa2\x9d\xad\x9c\x83\x9a\x7d" -+"\x95\x1f\x92\x20\x0a\xfb\x9d\xfb\x31\x15\xdc\xcb\x52\x41\x43\x54\x60\x30\x33\x53\xb7\xd1\xd6\xca\xc4\xdd\x1f\x0e\xf7\x87\xf8\x41" -+"\x15\x6b\x84\x78\x84\x72\x7f\x08\x3d\x65\x58\x3f\x3c\x1a\xfb\x12\xf7\x07\x28\xf7\x27\xf7\x28\xf7\x06\xee\xf7\x14\xda\x64\xc3\x27" -+"\xce\x1e\xfb\x1f\xe8\x7d\x97\xa0\x1a\xa0\x9e\x93\xbc\x1e\xd9\x06\xae\x9d\x9b\xa8\xa6\x79\x99\x68\x1f\x4d\x06\x5d\x5f\x85\x81\x72" -+"\x1f\x5d\x79\x6b\x60\x60\x1a\x6b\x9b\x74\xbb\x66\x1e\xd4\x27\x15\xe4\xce\x54\x41\x44\x48\x54\x34\x34\x48\xc2\xd2\xd3\xce\xc4\xe0" -+"\x1f\x0e\xf6\xf7\xa2\x15\xe1\x20\xdc\xfb\x09\xaf\x47\xba\xe0\xe3\xf7\x0f\xdb\xeb\x4d\xd1\xfb\x10\xf7\x44\x6e\xc4\x60\x3a\x53\x3c" -+"\xfb\x06\xfb\x23\x08\x0e\xf8\x17\xf8\xe1\x6a\x0a\x78\x7b\x7f\x83\x7a\x80\x1e\x44\x6b\x0a\x9b\x7c\x9f\x99\x97\x93\x9c\x96\x1e\xf7" -+"\x0e\xdf\x15\x9e\x1d\xfb\xaa\x4a\x1d\x35\x1d\xfb\xa6\xf8\x2c\x3b\x1d\x35\x1d\xfb\x19\xf7\xcc\x45\x1d\x35\x1d\xfb\x1a\xf8\x0c\x36" -+"\x0a\x0e\xf8\xd9\xf7\x7b\x15\xbe\xfc\x8d\x07\x8f\xf7\x10\xcd\xc7\xf7\x15\x88\x08\xf7\xc6\xbe\xfb\xba\xf2\x0a\x49\x99\x50\xa4\x65" -+"\x1e\xa2\x68\xae\x6c\xac\x7e\x08\x7c\xaf\xa7\x87\xd4\x1b\xf7\xba\xbe\xfb\xc6\x06\xfb\x14\x88\x4a\xc5\x85\xf7\x0c\x08\x90\x07\x0e" -+"\x35\x1d\xfb\x94\xf7\xf1\x37\x1d\xf7\x5b\xf7\xa3\x15\xbd\xbd\xa4\x98\xba\x1b\xc4\xa7\x76\x5f\x1f\xfb\xb0\x07\x8a\x5a\x6b\x6f\x52" -+"\x8a\x08\x5f\x5e\x0a\x95\x97\x89\xa5\x1b\xba\x06\xf7\x07\x8c\xdd\xd8\x89\xf2\x08\xf7\xb4\xf7\x5a\x1d\x5d\x1b\x55\x6a\x7e\x63\x5d" -+"\x1f\xb4\x29\x07\xcc\x1d\x06\x0e\xf7\x21\x1d\xfb\x18\xf7\x03\x2f\xf7\x33\x97\x8d\x8b\x8c\x9a\x1e\x69\x6e\x7c\x6e\x65\x8a\x0a\xb3" -+"\xc3\xbb\xe4\xad\x1f\xab\x98\x98\x99\xa2\x1a\xa8\x75\xa2\x6e\x80\x80\x89\x88\x7e\x1e\x74\x31\x71\x87\x5d\x1b\x38\x59\x5e\x1d\x0e" -+"\xf8\x1c\xf7\xa2\x15\x88\x76\x80\x8b\x75\x1b\x51\x60\x9e\xa3\x9e\xa9\x97\xb6\x9c\xa6\x88\x88\x9d\x1f\x87\xa2\x8b\x8b\x94\x1b\xa3" -+"\x9e\x9f\xa4\x9e\x81\x99\x79\x93\x1f\x96\x71\x5a\x94\x65\x1b\x22\x42\x59\x42\x6a\x97\x7a\xb9\x66\x1f\x5b\x72\x6f\x64\x5e\x1a\x3e" -+"\xdc\x53\xf7\x05\xb8\xcb\x98\x9a\xaa\x1e\x9d\x95\x93\x98\xa1\x1a\xa4\x79\xa0\x74\x84\x81\x8a\x89\x81\x1e\x81\x5d\x78\x88\x6e\x1b" -+"\x58\x64\x9d\xa2\xa6\xbe\xa0\xcf\x9e\x9b\x8a\x89\x9f\x1f\x0e\xf8\x14\xf7\xa1\x15\x57\x06\x43\x61\x98\xa2\x9b\xa7\x98\xb1\xbe\xb0" -+"\x7a\x64\xad\x1f\x78\x9c\x98\x84\x9c\x1b\xa9\xa6\xa6\xa6\x88\x1f\x8e\x07\x89\xb7\x8c\xa3\x05\x8e\x07\xab\x8e\x74\xa4\x6b\x1b\x75" -+"\x7d\x84\x78\x7e\x1f\x9d\x66\x68\x93\x5f\x1b\x25\x3e\x54\x42\x6b\x9a\x72\xab\x72\x1f\x66\x70\x78\x69\x63\x1a\x64\x9e\x69\xae\x70" -+"\x1e\x6f\xb1\xbb\x7e\xce\x1b\xbc\xb7\x92\x99\xb6\x1f\xb4\x99\xa1\x9f\xa3\x1a\xa7\x70\xa2\x6b\x81\x7f\x89\x87\x7e\x1e\x7c\x5c\x6e" -+"\x86\x67\x1b\x58\x62\x9c\x9f\xa3\xbe\x9c\xd4\x1f\xbe\x06\x9c\xf8\x22\x15\x9b\x97\x91\x96\x97\x1a\x9d\x7a\x9b\x78\x82\x80\x53\x1d" -+"\x7d\x80\x84\x7f\xf0\x0a\xf7\x00\xf7\xdb\x15\x70\x83\xf7\x38\x1d\x84\x96\x98\x88\xa5\x1b\xf8\x14\x06\xa2\x98\x8d\x91\x95\x37\x0a" -+"\xfc\x14\xfb\x42\x15\x96\x1d\xf8\x14\x06\xa2\x99\x8d\x91\x94\x37\x0a\xfc\x14\xf7\xef\x15\x96\x1d\xf8\x14\x06\xa2\x98\x8d\x91\x95" -+"\x37\x0a\x0e\xf8\x71\xf7\x54\x15\x8a\xcf\x87\xa8\x7d\xaa\x08\xcc\x6e\x47\xb2\x35\x1b\xfb\x14\x3b\x37\xfb\x1a\xfb\x1a\xd8\x3c\xf7" -+"\x15\xeb\xce\xb4\xd7\xa5\x1f\x8c\x8e\x8d\x8f\x05\x5e\x06\x8a\x89\x8b\x8a\x88\x87\x08\x5a\x72\x5a\x70\x4a\x1b\x41\x69\xa1\xc8\x77" -+"\x1f\xd6\x07\xf7\x96\xb4\x15\xfb\x94\xd3\x06\xc5\xa9\xab\xa0\xc8\x1b\xcb\xbd\x6d\x5a\x9e\x1f\x0e\x84\x0a\x0e\x84\x0a\xf7\x3a\xf7" -+"\x39\xcb\x0a\x7f\x84\x80\x7f\x1a\x79\x9c\x7b\x9e\x94\x96\x57\x1d\xf7\xb2\xf8\x8a\xd2\x1d\xf7\xbb\xf8\x98\xd2\x1d\x0e\xf8\x30\xf7" -+"\x9e\x15\xfb\x6b\xfb\xb9\x58\xf7\xed\xf8\xc6\xfb\xed\x58\xf7\xb9\xfb\x56\xfb\xb9\x58\x07\x0e\xf7\xd6\xf7\xac\x15\xf6\x94\xe0\xe9" -+"\xf7\x01\x1a\xf7\x0a\x2b\xea\xfb\x0a\xfb\x0a\x2c\x2c\xfb\x0a\xfb\x01\xe0\x2d\xf5\x82\x1e\x32\xfb\x29\x64\xf7\x29\xfb\x2c\xb7\xf7" -+"\x2c\xf7\x28\xb2\xfb\x28\x07\x72\xf8\x69\x15\xeb\xd8\x40\x2f\x2d\x3f\x3f\x2d\x2e\x3f\xd6\xe9\xe6\xd7\xd8\xe5\x1f\x0e\xf7\x17\xf7" -+"\x7c\x15\xb6\x88\x06\x71\x0a\x7b\x95\x9d\x82\xef\x1d\x81\x88\x80\x71\x1a\x89\x60\xf7\x13\xf7\x8c\x07\x76\x8d\x83\x91\x82\x1e\x7b" -+"\x94\x9d\x82\x9e\x1b\x9c\x9c\x93\x98\x95\x1f\x93\x95\x8d\x94\xa6\x1a\xee\xda\x1d\xf7\x49\xb2\x0a\x4d\x06\xf7\xe5\xf7\x9d\x15\x24" -+"\x8e\x1d\x81\x1e\x95\x84\x95\x89\xa3\x8a\x08\xfb\x35\x78\x07\x89\x1d\xf7\x58\x29\x0a\x45\x06\x8c\xd9\x05\xc8\xb3\xad\xad\xa1\x1b" -+"\x96\x96\x86\x80\x97\x1f\x7c\x9e\x93\x87\x9c\x1b\xa8\xa2\xa2\xa8\x9d\x82\x9a\x76\x9c\x1f\xa2\x6d\x67\x99\x6d\x1b\x67\x7d\x82\x54" -+"\x58\x1f\x0e\xf7\xbe\xf7\x1d\x15\xfb\x1d\xf7\xb4\x05\x46\x06\x5c\x73\x79\x69\x69\xa0\x7b\xbc\x8a\x1f\xf7\x2b\xfb\xd2\x05\x81\x5d" -+"\x87\x6f\x68\x1a\x48\xa3\x67\xb8\xb8\xa3\xaf\xce\xae\x87\xad\x81\xb3\x1e\xf7\x1e\xf7\xaf\x05\x97\x91\x93\x99\x8c\x1b\x8d\x8d\x8f" -+"\x8c\x93\x8c\x08\xb7\x92\x9d\x9b\xac\x1a\xad\x75\x9d\x60\x4f\x6b\x6f\x32\x60\x1e\x0e\x7a\x1d\xfb\x03\xf7\xdd\x3b\x1d\xbc\x1d\xa9" -+"\xf7\x87\x2e\x0a\x7a\x1d\xf7\x02\xf7\xb7\x15\x95\x98\x8f\x95\xf7\x56\x1d\x39\xfb\x0c\x05\x82\x7e\x87\x81\x81\x1a\x77\x9d\x7a\xa2" -+"\x9a\x96\x92\x9f\x98\x1e\x0e\xbc\x1d\xa8\xf7\xbd\x15\xa0\x1d\xa6\xac\xae\x6f\xa6\x67\x1f\x0e\xf8\xee\xf7\xf8\x15\xfc\x81\xf7\x65" -+"\x05\x90\x7e\x80\x8e\x82\x1b\x7b\x78\x7f\x7b\x83\x1f\x8a\x89\x05\x88\x85\x89\x84\x83\x1a\x75\x97\x7d\xa6\x7f\x1e\xf7\xb2\xfb\x0b" -+"\xfb\xb2\xfb\x0f\x05\x70\x7f\x7f\x7d\x75\x1a\x85\x8d\x83\x8e\x84\x1e\x8c\x8a\x05\x7a\x93\x9e\x7f\x9c\x1b\x93\x97\x8e\x90\x97\x1f" -+"\x7f\x5f\x15\x65\x74\x79\x6d\x6d\xa2\x79\xb1\x1f\xf8\x1e\x06\xb0\xa2\x9d\xa9\xa9\x74\x9d\x66\x1f\x0e\xf7\x5b\xf8\x67\x15\xf7\x01" -+"\x06\xed\x1d\xfc\x00\x52\x0a\x0e\xf7\x5b\xad\x0a\x52\x0a\xf1\xf7\xde\x26\x0a\xf7\xc0\x75\x15\x9b\xd2\xba\xdb\xe3\xf7\x02\x08\xd5" -+"\xe9\xa4\xbf\xc9\x1a\xca\x55\xc0\x4a\x4b\x5d\x62\x3f\x76\x1e\xd9\x72\x5f\xb2\x4b\x1b\x4a\x58\x56\x47\x57\x9b\x68\xcc\x33\x1f\xf7" -+"\x09\xfb\x30\xa9\x56\xa0\x3b\x08\x0e\xd1\x16\xf8\x61\xf7\xcb\x06\xfb\x7b\xf7\x92\xfb\x7a\xfb\x92\x05\xbd\xfb\x99\x15\xf7\x85\x07" -+"\xf7\x48\xf7\x5a\xf7\x49\xfb\x5a\x05\xfb\x85\x07\x0e\xcd\x1d\xfb\x56\xdd\x1d\xf7\x90\xf8\x3d\x15\xfb\x43\x06\x70\x49\x0a\x68\xa3" -+"\x7a\xba\x1e\xce\xfb\x6f\x47\x5b\x0a\xf7\x84\x06\xba\xa3\xaa\x1d\x6f\x1b\x4b\x06\x84\x66\x1d\xf7\x83\xfb\x40\x15\xfb\xe5\x07\x5c" -+"\x67\x6c\x55\x1e\xfb\x03\x5e\x0a\x96\x97\xb8\x0a\xfb\x6a\x07\xc5\x0a\xf7\x30\xf7\xac\x15\xfb\x13\xfb\x00\xf7\x13\x06\x0e\x25\x0a" -+"\xfb\x44\xf8\x8a\x37\x1d\xf7\xc0\xf7\x8a\x15\x52\xba\xc8\x69\xbf\x1b\xa7\xa5\x93\x98\x9f\x1f\xaa\xa1\xa2\xba\xb2\x1a\xd0\x50\xc3" -+"\x43\x54\x4f\x68\x54\x61\x1e\xc6\x59\x56\xa9\x55\x1b\x43\x50\x52\x44\x47\xc4\x52\xd1\xc7\xb8\xa4\xca\xc1\x1f\xae\xb2\x15\xb9\xab" -+"\xbd\xa9\xb6\x1b\xba\xaa\x6d\x5e\x5e\x6c\x6b\x61\x77\x76\x91\x97\x75\x1f\x7a\x94\x8b\x8b\x5c\xb9\x08\x47\x8f\x15\x5c\x66\x58\x6d" -+"\x61\x1b\x5e\x6e\xaa\xba\xb6\xaa\xa9\xb8\xb4\xb3\x74\x58\xba\x1f\x0e\xf7\xa7\x5c\x15\x44\x84\x6f\x7b\x84\x88\x8d\x99\x83\x1e\x9a" -+"\x80\x7c\x94\x7a\x1b\x71\x79\x7a\x72\x6d\xa5\x76\xb0\xa7\xa7\x98\xa3\xa2\x1f\xa9\xab\x93\xa9\xe4\x1a\xf8\x8a\x07\xca\x92\xa6\x9d" -+"\x90\x8f\x87\x82\x91\x1e\x77\x99\x95\x85\x9f\x1b\xa5\x9d\x9c\xa3\xa9\x72\xa0\x68\x73\x72\x82\x7c\x77\x1f\x66\x6e\x7d\x60\x32\x1a" -+"\x0e\xf7\xda\xf9\x0e\x15\x57\xfd\x35\x06\x4b\x83\x70\x7a\x86\x87\x8f\x94\x85\x1e\xa0\x7d\x81\x92\x77\x1b\x72\x78\x7a\x72\x6e\xa4" -+"\x75\xae\xa3\xa4\x94\x9a\x9f\x1f\xb0\xa8\x99\xb6\xe4\x1a\x0e\xf7\xa6\xfb\x4a\x15\xbf\xf9\x35\x06\xca\x93\xa6\x9c\x90\x8f\x87\x82" -+"\x91\x1e\x77\x99\x95\x85\x9f\x1b\xa5\x9d\x9c\xa3\xa9\x72\xa0\x68\x73\x72\x82\x7c\x77\x1f\x66\x6e\x7d\x60\x32\x1a\x0e\xf8\xad\xf7" -+"\x74\x15\xf7\x2a\x86\xae\x70\xb8\x1e\xce\x61\x3e\xb4\x35\x1b\x57\x5b\x7c\x70\x62\x1f\x58\x68\x6e\x5d\x81\x4d\x08\x86\x69\x8a\x75" -+"\x2a\x1a\xfb\x52\x07\x75\x94\x7f\x9c\x9b\x95\x98\xa0\x1e\xf7\x55\x07\x8c\xe3\x8b\x8b\x95\x1a\x8e\xbf\x92\xa9\x9a\xa1\x08\xbd\xad" -+"\xc8\xab\xcb\x1b\xc8\xc6\x6e\x5e\xab\x1f\xa6\x66\x91\x66\xfb\x1c\x1a\xfb\x55\x07\x75\x94\x7f\x9b\x9b\x96\x99\x9f\x1e\x0e\xf7\xc5" -+"\xf8\xc7\x15\xfb\x33\xfb\x13\xfb\x10\xfb\x2f\xfb\x32\xf7\x11\xfb\x12\xf7\x31\xf7\x2f\xf7\x12\xf7\x12\xf7\x30\xf7\x2d\xfb\x12\xf7" -+"\x14\xfb\x2b\x1f\x30\xfb\x34\xf7\x2e\x1d\xf7\xa2\x34\x15\x86\x48\x82\x6c\x74\x69\x08\x5a\x6a\x5a\x72\x4b\x1b\x4f\x5e\xa0\xb4\x6a" -+"\x1f\x6e\xb0\x80\xad\x85\xd4\x95\x63\x93\x7a\x9e\x75\x08\x61\xae\xbc\x76\xca\x1b\xc9\xbc\xa0\xb5\xae\x1f\x9e\xa1\x93\x9c\x95\xb3" -+"\x08\x29\xe2\xf7\x2e\x1d\x0e\x86\x1d\xf7\x9c\x06\x5b\x1d\x95\x91\x99\x94\x98\x1f\x95\x9a\xb9\xb1\xa5\x9a\x08\xa8\x9c\x93\x96\xa2" -+"\x33\x1d\x80\x81\x8d\x70\x1b\xfb\x0a\x06\x7d\x66\x1d\x0e\xc3\x0a\x85\x85\xe8\x1d\x0e\xc3\x0a\x86\x84\xe8\x1d\x66\xf7\x84\x59\x0a" -+"\xe6\x1d\x56\x1d\x5e\x1e\xf7\x33\xf7\x93\x6a\x0a\x77\x7c\x7f\x83\x7a\x80\x1e\x44\x6b\x0a\x9b\x7c\x9f\x99\x97\x93\x9c\x96\x1e\xf7" -+"\x0e\xdf\x15\x9e\x1d\xfb\xaa\x4a\x1d\xe6\x1d\x79\xa2\x67\x68\x78\x73\x5f\x1e\xf7\x3b\xf7\x64\xf7\x1a\x1d\x7f\x84\x81\xf7\x4c\x1d" -+"\x25\x0a\xc5\xc5\x1d\xc8\x1d\xf7\x15\xf7\x94\xf2\x1d\x87\x7d\x1a\x76\x9d\x7a\xa0\x95\x93\x8e\x95\x97\x1e\x0e\xf7\x85\xf7\xd6\x15" -+"\xaf\x8e\x9d\x9c\xaa\x1a\xad\x73\x9d\x5d\x1e\x2d\x72\x0a\xfb\x6d\x07\x58\x89\x76\x7c\x68\x2a\x0a\xf7\x04\x06\xb9\xa3\x9d\xae\xad" -+"\x76\x9a\x58\x8d\x1f\xc9\x07\xc2\x86\xba\x5e\xca\x20\x8d\x87\x18\x8e\x86\x05\xdd\x27\x1d\x78\x06\x68\xc2\x63\xb7\x67\xa2\xf7\x05" -+"\xea\x18\xb8\x8d\xa0\x9b\xad\x1a\xad\x73\x9d\x5c\x1e\x65\x06\xfb\x54\xfb\x38\x05\x0e\xb7\x1d\xf7\x0e\xfb\x0b\x15\x95\x99\x8f\x95" -+"\x93\x1a\xa0\x79\x9c\x75\x79\x82\x85\x77\x7d\x1e\x39\xfb\x0c\x05\x83\x7f\x86\x7f\x82\x1a\x77\x9d\x7a\xa2\x9b\x95\x92\x9f\x98\x1e" -+"\x0e\xf7\x6f\xf7\x33\x15\x99\x95\xec\x39\x05\x81\x7e\x87\x82\x7e\x2a\x0a\xf7\x0a\x06\xba\x67\x0a\x81\x8c\x6f\x1b\x6b\x06\xfb\x2f" -+"\xf7\x17\xf7\x06\xe2\x05\xa5\x06\xa3\x96\x8d\x91\x8c\x1d\xfb\x04\x06\x72\x80\xbe\x0a\x7d\x8f\x81\x95\x7f\x1e\x46\x57\x05\xf7\x1f" -+"\xfb\x0c\x07\x73\x80\x89\x86\x82\x3b\x0a\x7a\x93\x7b\x99\xf7\x52\x1d\x97\xfb\x6e\x7f\x06\xce\x0a\x2d\x0a\x1e\xf7\x0c\x06\x0e\x34" -+"\x0a\xf0\xf9\x0a\x26\x1d\xe6\xf2\x15\x5e\xf7\x0c\x0a\xe9\x06\xba\xa3\x9d\xad\xa9\x7b\x9b\x6a\x90\x1f\xe2\xf7\x3e\xec\xfb\x3e\x05" -+"\x6a\x85\x7c\x7b\x6e\x1a\x69\xa4\x79\xb9\x1e\xec\x06\xb9\xa4\x9d\xad\xad\x75\x9b\x5d\x8c\x1f\xfb\xb0\xf8\x88\x05\x23\x06\x52\x1d" -+"\xb4\x06\xcc\xfb\x08\x05\x0e\x34\x0a\xf7\x3b\xf8\x4f\x15\x94\x98\x8f\x95\x94\x1a\x9f\x79\x9d\x75\x7a\x81\x85\x76\x7d\x1e\x39\xfb" -+"\x0b\x05\x82\x7e\x87\x80\x81\x1a\x77\x9e\x7a\xa1\x9b\x94\x91\xa0\x99\x1e\x0e\x34\x0a\x7e\xfb\x72\x23\x1d\x34\x0a\xf7\x44\xf7\x3e" -+"\x15\xb3\xaa\xa9\xb0\xb1\x6c\xa8\x63\x1f\x7a\x62\x1d\xf7\x7d\xf7\xf7\x15\xf7\xb1\xf7\x0b\x05\xa6\x97\x97\x99\xa1\x1a\x92\x89\x92" -+"\x88\x92\x1e\x8a\x8d\x05\x9a\x84\x78\x98\x7a\x1b\x82\x80\x88\x86\x7e\x1f\xfc\x80\xfb\x65\xf8\x80\xfb\x6b\x05\x86\x97\x97\x88\x93" -+"\x1b\x9c\x9f\x98\x9b\x92\x1f\x8c\x8c\x05\x8e\x92\x8d\x93\x91\x1a\xa1\x7f\x99\x70\x97\x1e\x6c\xfb\x7b\x15\xb0\xa2\x9d\xa9\xa9\x75" -+"\x9d\x65\x1f\xfc\x1d\x06\x65\x74\x79\x6d\x6d\xa2\x79\xb1\x1f\x0e\xf7\x36\xf7\x4b\x15\x83\x57\x7a\x74\x6a\x87\x08\x66\x84\x7b\x7b" -+"\xef\x0a\xad\x76\xa1\x69\x6e\x79\x7c\x6f\x86\x1f\xfb\x56\x06\x97\xa9\x8f\x9a\x8f\xad\x08\xf7\x03\x69\x0a\xfb\x06\x06\x87\xa5\x05" -+"\xf7\x0a\x69\x0a\xfb\x1a\x06\x88\x98\x05\x7b\xc0\x8a\x91\x9e\xc4\x0a\x39\x24\x42\x47\x2c\x70\x8e\x7c\x99\x60\x1f\x58\x06\x74\x7f" -+"\x81\x77\x77\x97\x80\xa2\x1f\xcf\x06\x8d\x82\x8c\x88\x8d\x7d\x08\x42\xf7\x0b\x0a\x0e\xf7\xc3\xf2\x15\xf7\xf5\x07\xa8\xa5\x99\xc2" -+"\xab\xb5\x87\x85\xb0\x1e\x89\x98\x95\x8a\x92\x1b\xa7\xa1\xa2\xa9\xa3\x7b\x9c\x6e\x93\x1f\x93\x6a\x4d\x92\x60\x1b\xfb\x0d\x3f\x53" -+"\x30\x1f\x6c\x61\x07\x70\x83\x8a\x4f\x0a\x7a\x79\x1a\x68\xa3\x7a\xb9\x1e\xb6\xfb\x6f\x55\x06\x89\x1d\xf7\xbd\x31\x1d\x0e\xf7\xe4" -+"\xf8\x30\x15\x92\x75\x77\x8e\x76\x1b\xfb\x0b\x2c\x2c\xfb\x0a\xfb\x0a\xea\x2c\xf7\x0a\xf7\x0a\xea\xea\xf7\x0a\xdb\x5e\xd4\x45\xb0" -+"\x1f\xe3\xf7\x53\x05\x61\xaa\xaa\x6d\x95\x1b\x92\x8f\x8f\x90\x8f\x89\x8f\x85\x95\x1f\x75\xad\x78\xc0\x88\xaf\x08\x9e\x8a\x8a\x8e" -+"\x85\x1b\x87\x87\x89\x83\x81\x1f\x78\x7a\x4a\x73\x67\x88\x08\x79\x88\x87\x89\x83\x1a\x80\xa3\x84\xb2\x1e\x9f\x06\x9f\x8c\x05\x8d" -+"\x06\xfb\x31\xfb\x79\x15\xea\xd8\x40\x2f\x2d\x40\x3f\x2d\x2e\x3f\xd6\xe8\xe7\xd7\xd8\xe5\x1f\x0e\xf7\xb5\xf7\x06\x1d\x0e\xf7\xa6" -+"\xf7\x28\x15\x90\x7e\x7a\x8f\x7d\x1b\x57\x5d\x5e\x59\x6e\xa1\x78\xad\xd3\xbe\xc2\xda\x1f\xf7\x8b\x07\xba\x84\xb3\x4b\x46\x1a\x60" -+"\x83\x69\x77\x5e\x1e\xa2\x06\xa9\xb0\x9b\xb9\xbc\x1a\xca\x73\xc7\x59\xc7\x1e\x61\xbe\x8a\x8c\x86\x90\x85\x94\x19\xbc\x66\x07\x0e" -+"\xf7\xd8\xf8\x71\x15\xa1\x70\xa2\x77\xa2\x7e\xc8\x6a\x96\x84\x90\x82\x08\x92\x7f\x8f\x78\x74\x1a\xfb\x89\x07\x92\x79\x71\x90\x76" -+"\x1b\x3f\x48\x53\x4c\x66\xaa\x74\xbd\xc3\xc0\xa3\xb4\xac\x1f\xa2\xa7\x92\xa2\x8e\xbe\x08\xf8\x14\x07\x8c\xd8\x67\xd8\x59\xa9\x34" -+"\xc1\x18\x80\x94\x05\x7d\x9a\x84\x9e\xa3\x1a\x99\x5b\xfc\x9b\x07\x92\x79\x73\x8f\x76\x1b\x41\x49\x53\x4c\x66\xaa\x74\xbb\xc2\xbf" -+"\xa3\xb4\xac\x1f\xa1\xa7\x92\xa2\x8e\xbf\x08\xf7\x2c\xf7\x40\x15\xfb\x0d\xca\x70\xb3\x88\xf7\x0d\x8e\x89\x18\xf7\x0d\x4c\xa5\x64" -+"\x90\xfb\x0e\x08\x0e\xf7\x5b\x46\x1d\xf7\x94\xf7\x68\x27\x0a\xf7\x73\x46\x1d\x56\xf7\x44\x15\x93\x98\x90\x96\x93\x1a\xa0\x79\x9c" -+"\x75\x7a\x81\x85\x77\x7d\x1e\x39\xfb\x0c\x05\x82\x7e\x87\x80\x82\x1a\x77\x9d\x7a\xa2\x9b\x95\x92\x9e\x99\x1e\x0e\xf7\x5b\x46\x1d" -+"\xf1\xf7\x4c\x45\x1d\xf7\x5b\x46\x1d\xf7\x22\xfc\x8b\x23\x1d\xf7\xda\xf7\x7c\x15\xf7\x93\xbd\xfb\x79\x06\xec\xf7\x49\x05\xf7\x18" -+"\xbe\x22\x06\x97\xa9\x96\xa1\x96\x9a\x08\x8f\x90\x8d\x8f\x8e\x1a\x96\x7e\x96\x7f\x7e\x85\x87\x7b\x83\x1e\x60\x3a\x05\xfb\x1a\xf2" -+"\x0a\xfb\x10\xb7\x3b\xe6\x63\x1e\x6e\x55\x05\x87\x83\x89\x85\x86\x1a\x7f\x97\x80\x98\x97\x92\x90\x9a\x93\x1e\xac\xca\x05\x87\xac" -+"\x8f\x8b\xb8\x1b\xf7\xba\xbe\xfb\xc6\x06\x73\x84\x8b\x8d\x7e\x1f\xb2\xf7\x47\x15\x31\xfb\x3c\x4a\xa1\x68\xc3\x87\xe0\x19\x90\x07" -+"\xf7\xd2\xf7\x7b\x15\x2a\xfb\x49\x05\xfb\x71\x90\x06\x91\xf7\x0c\xcc\xc6\xf7\x14\x88\x08\x0e\xf8\x54\xf8\x32\x15\x92\x97\x05\x91" -+"\x96\x8e\x94\x95\x1a\xa9\x71\xa4\x6c\x78\x77\x7d\x77\x7f\x1e\x67\x4c\x05\xfb\x68\x06\x96\x1d\xf7\x29\x06\x67\x4b\x05\xfb\x05\x06" -+"\x71\x82\xf7\x18\x1d\xbd\x06\x7c\x71\x05\x85\x81\x87\x7d\x81\x1a\x71\xa5\x74\xa9\xa1\x9e\x97\x9f\x97\x1e\xb7\xd8\x05\xf7\x62\x06" -+"\xa2\x98\x8d\x91\x95\x1f\x9c\x94\x96\x9e\x9e\x1a\x9d\x82\x9c\x7c\x95\x1e\x93\x7f\x81\x8d\x6f\x1b\xfb\x23\x06\xaf\xcb\x05\xf6\x06" -+"\xa2\x99\x8d\x91\x94\x37\x0a\x0e\xf7\x3f\xf8\x3d\x15\x28\x06\x67\x73\x78\x6e\x6d\xa3\x78\xaf\x1f\xa2\x06\xf7\x42\xfb\xe2\x05\xd8" -+"\x06\xf7\x14\xf7\x0b\xca\xee\xdd\x1a\xb3\x7a\xbd\x72\xaa\x1e\x9a\x7f\x7c\x92\x79\x1b\x6d\x72\x74\x6f\x84\x8d\x83\x8e\x85\x1f\x9f" -+"\x63\x8e\x81\x71\x1a\x59\x6c\x55\x49\x48\x1e\x0e\x25\x1d\xfb\x1e\xf7\xde\xdf\x1d\x25\x1d\xaf\xf7\x99\xca\x1d\x25\x1d\xfb\x0c\xf7" -+"\xa3\x37\x1d\xf7\xc0\xba\x15\x60\xa7\xaa\x78\xb8\x1b\xb5\xb2\x9e\xaa\xa6\x1f\xa6\xad\x99\xbc\xcf\x1a\xd9\x76\xd0\x67\xb8\x1e\xae" -+"\x6f\x62\xa3\x6b\x1b\x6f\x74\x73\x6e\x76\x92\x82\xa6\x7b\x1f\x96\x84\x8e\x89\x8f\x88\x08\xaa\x73\x9d\x55\x41\x1a\x57\x7b\x6a\x72" -+"\x6f\x7a\xb0\xd0\x87\x1e\x8a\xa5\x8a\x91\x88\x93\x08\xa2\x84\x7a\x97\x71\x1b\x73\x7a\x81\x77\x83\x1f\x87\x81\x8b\x87\x89\x6c\x08" -+"\x45\x87\x7b\x67\x6e\x1b\x72\x7b\xac\xc1\xc1\x99\xc5\x9e\xa2\x1f\x93\x94\x93\x92\x99\x93\x08\xa9\x9d\x93\x95\x9f\x1a\xa9\x74\xa3" -+"\x6e\x69\x60\x70\x62\x6e\x1e\x6a\x5e\x79\x4a\x42\x1a\xfb\x12\xc2\x40\xe8\xb9\xa9\x9d\xb7\xa8\x1e\x0e\xf7\xc0\xa8\x15\x6d\xa7\xaa" -+"\x7d\xb5\x1b\xec\xc2\xd4\xf7\x13\xd9\x76\xd1\x67\xb8\x1f\xae\x6f\x62\xa3\x6b\x1b\x6f\x74\x73\x6e\x76\x92\x82\xa6\x7b\x1f\x96\x84" -+"\x8e\x89\x8f\x88\x08\xaa\x73\x9d\x55\x41\x1a\x57\x7b\x6a\x72\x6f\x7a\xb0\xd0\x87\x1e\x8a\xa5\x8a\x91\x88\x93\x08\xa2\x84\x7a\x97" -+"\x71\x1b\x73\x7a\x81\x77\x83\x1f\x87\x81\x8b\x87\x89\x6c\x08\x45\x87\x7b\x67\x6e\x1b\x72\x7b\xac\xc1\xc1\x99\xc5\x9e\xa2\x1f\x93" -+"\x94\x93\x92\x99\x93\x08\xa9\x9d\x93\x95\x9f\x1a\xa9\x74\xa3\x6e\x69\x60\x6f\x63\x6e\x1e\x6a\x5e\x79\x4a\x42\x1a\xfb\x14\xc2\x42" -+"\xec\xb6\xa8\x98\xaa\xa8\x1e\xf0\xf8\xac\x15\x9b\x97\x91\x95\x98\x1a\x9d\x7a\x9b\x78\x82\x80\x86\x82\x7f\x1e\xfb\x00\x38\x05\x7d" -+"\x80\x84\x7f\xf0\x0a\x25\x1d\x0e\xf7\xc1\xf8\x49\x15\xfb\x22\xfb\x09\x23\xfb\x13\xfb\x0f\xf7\x07\x29\xf7\x24\xf7\x24\xf7\x07\xec" -+"\xf7\x0e\xf7\x15\xfb\x08\xf3\xfb\x23\x1f\x23\x04\xde\xcf\x51\x45\x4d\x45\x55\x3a\x39\x46\xc1\xca\xd1\xcf\xc4\xde\x1f\xf4\xf7\x7c" -+"\xcb\x0a\x80\x85\x80\x7e\x1a\x79\x9c\x7b\x9d\x95\x95\x8f\x95\x97\x1e\x0e\xcf\x8e\x15\xf8\x66\xec\xfc\x02\xf7\xf5\x27\x06\x0e\x80" -+"\x0a\xe1\xf7\xa1\x15\x9d\x99\x91\x95\x99\x1a\xa0\x79\x9c\x74\x7f\x84\x88\x7f\x7c\x1e\xfb\x1a\xf7\x4a\x1d\x8f\x97\x9b\x1e\x0e\xf7" -+"\x2b\xf8\xbc\x15\x7d\x8c\x95\x82\x9a\x1b\xac\x8c\x05\xbb\xc4\x77\x6c\xb5\x1f\xa8\x76\x9e\x76\xa7\x60\x08\xa7\x5e\x67\x96\x57\x1b" -+"\xfb\x16\x24\x28\xfb\x11\xfb\x11\xf2\x27\xf7\x17\xf7\x15\xf3\xee\xf7\x10\xe9\x64\xf7\x00\x4e\xd1\x1f\xcb\x55\x33\xb0\x29\x1b\x70" -+"\x88\x8a\x84\x84\x1f\x87\x87\x89\x84\x84\x1a\xf7\x27\xfb\x40\x15\xf3\xdb\x40\x28\x2b\x3b\x3e\x26\x26\x3a\xd8\xec\xea\xdb\xd9\xee" -+"\x1f\x0e\xf8\x50\xf7\x49\x15\xd3\x06\xa6\x99\x99\xa3\xa4\x7d\x98\x70\x1f\x43\xb2\x06\xaa\x80\x9b\x75\x75\x80\x7b\x6c\x1e\x64\x85" -+"\x07\x71\x7d\x7e\x72\x73\x99\x7d\xa5\x1f\x91\xfb\x01\x06\x56\xb0\x69\xc5\xa5\xb0\x95\x98\xa3\x1e\xa0\x97\x92\x95\x9d\x1a\xa0\x7d" -+"\x9c\x79\x84\x87\x8a\x85\x81\x1e\x7f\x77\x77\x85\x75\x1b\x72\x87\x8e\x9d\x1f\xfb\xaa\xf7\x00\x15\xce\x8e\xa4\x91\xa8\x9e\x08\xbf" -+"\xac\xad\xca\xcd\x1a\xf6\x3a\xd8\xfb\x05\x1e\x23\x06\x75\x82\x89\x86\x83\x1f\x7d\x81\x82\x7a\x79\x1a\x7b\x93\x7b\x96\x81\x1e\x84" -+"\x95\x93\x89\xa0\x1b\xfb\xfa\x07\x65\x77\x79\x6a\x69\xa0\x79\xb4\x1f\xf7\x41\x06\xb4\xa0\x9d\xad\x9b\x84\x9a\x7f\x95\x1f\x93\x81" -+"\x82\x8d\x73\x1b\x39\x06\xf7\xf9\x04\x99\x06\xc4\xae\x6c\x57\x57\x68\x6b\x52\x1f\x7d\x06\x0e\xf7\x7d\xfb\x21\x15\x24\x0a\xf7\x12" -+"\x07\xc4\x93\xad\x98\xae\xa5\x08\xc3\xb4\xac\xcc\xd2\x1a\xf7\x05\x2c\xf2\x22\x62\x65\x78\x6c\x75\x1e\x7b\x76\x85\x6d\x5a\x1a\xfb" -+"\x4e\x07\x53\x9a\x72\xb0\xcf\x1a\xbc\x9a\xaf\xae\xb2\x1e\x99\x9a\x90\x96\x9a\x1a\xa6\x73\xa3\x70\x4d\x4b\xfb\x02\x20\x39\xa7\x4d" -+"\xc2\x64\x1e\xa8\x76\xa3\x82\xc0\x81\x08\xf7\x00\xf7\xb6\x15\xb3\x8d\x91\x97\xba\xb9\x53\x51\x4e\x62\x5d\x49\x80\x1e\x0e\xf7\x6b" -+"\xf7\xd6\x15\xf7\x3e\xfb\x6e\x8a\x06\x70\x83\x89\x85\x81\x3b\x0a\x7b\x94\x7b\x98\x81\x1e\x83\x96\x94\x89\xa8\x1b\xf7\x04\x06\xa6" -+"\x92\x8c\x92\x95\x1f\x9b\x96\x95\x9b\x9c\x1a\x9b\x83\x99\x7c\x96\x1e\x94\x7f\x84\x8d\x6f\x1b\x88\xf7\x6e\x93\x06\xa5\x92\xf7\x54" -+"\x1d\x9b\x7d\x94\x1e\x93\x80\x82\x8d\x70\x1b\xfc\x26\x06\x72\x83\xc9\x0a\x93\xfb\x6e\x88\x06\x71\x84\x89\x85\x80\x1f\x7a\x80\x82" -+"\x7b\x7a\x1a\x7b\x93\x7c\x9a\x80\x1e\x83\x97\x92\x89\xa7\x1b\xf7\x04\x06\xa6\x93\x8c\x92\x95\x1f\x9b\x94\x95\x9c\x9d\x1a\x9b\x82" -+"\x9b\x7e\x95\x1e\x93\x80\x82\x8d\x6e\x1b\x8a\x06\x0e\xf8\x93\xf8\xae\x15\x92\x06\xae\x8a\xa3\x9f\xab\x1a\x93\x07\x8a\xac\x74\x9f" -+"\x66\x89\x08\xfc\x44\x06\x66\x8d\x74\x77\x8a\x6a\x08\x83\x07\x8c\x6a\xa2\x77\xb0\x8d\x08\x98\xfc\x9b\x7e\x06\x66\x8d\x74\x77\x8a" -+"\x6a\x08\x83\x07\x8c\x6a\xa2\x77\xb0\x8d\x08\xf7\x13\x06\xb0\x89\xa2\x9f\x8c\xac\x08\x93\x07\xaa\x74\xa0\x6a\x8a\x1e\x88\xf8\x9b" -+"\xf7\x4a\xfc\x9b\x83\x06\x68\x8d\x73\x77\x6a\x1a\x83\x07\x8c\x6a\xa2\x77\xb0\x8d\x08\xf7\x13\x06\xb0\x89\xa2\x9f\x8c\xac\x08\x93" -+"\x07\xab\x73\x9f\x68\x8a\x1e\x84\x06\x0e\xf7\xe9\xf8\x64\x15\xfb\x2b\x65\x86\x71\x5e\x1f\x46\x62\x61\x3f\x37\x1a\x3e\xad\x46\xc8" -+"\x5f\x1e\x67\xbd\xae\x85\xf7\x39\x1b\xf7\x56\x06\xa0\x99\x95\x9b\x9b\x7f\x94\x74\x1f\xfb\x58\x06\xfb\x14\x60\x90\x9e\x68\x1f\x54" -+"\xa8\x65\xcb\xcb\x1a\xc5\xab\xc7\xba\xaa\x1e\xa6\xb3\xb0\x90\xf7\x23\x1b\xf7\x58\x06\xa1\x98\x95\x9b\x9b\x7e\x94\x75\x1f\x0e\xf7" -+"\x74\x16\xf7\x2d\xb0\x90\xa5\xb8\x1f\xd0\xb4\xb5\xd7\xdf\x1a\xd8\x68\xd0\x4f\xb7\x1e\xaf\x59\x67\x91\xfb\x39\x1b\xfb\x55\x06\x75" -+"\x7e\x82\x7b\x7b\x98\x81\xa1\x1f\xf7\x58\x06\xf7\x16\xb3\x86\x78\xaf\x1f\xc2\x6f\xb1\x4a\x4b\x1a\x51\x6b\x50\x5b\x6b\x1e\x71\x65" -+"\x63\x85\xfb\x21\x1b\xfb\x58\x06\x74\x7f\x82\x7b\x7c\x99\x80\xa0\x1f\x0e\xf7\x8a\xfb\x21\x15\x24\x0a\xf7\x15\x07\xf7\x03\x91\xc9" -+"\xce\x89\xf7\x02\x08\xf7\x2b\x07\xb4\x8d\x9f\x9b\xac\x1a\xad\x73\x9d\x5c\x1e\x29\xfb\x98\x06\x5b\x7c\x78\x5b\x81\x1e\xf8\x53\x07" -+"\xb7\x78\xa3\x68\x68\x78\x74\x5e\x1e\xfc\x53\x07\x5b\x96\x7e\x9c\x8a\xbc\x08\xf7\x98\x29\x07\x5c\x73\x79\x69\x6b\x9f\x7a\xb4\x89" -+"\x1f\xfb\x2b\x07\x88\xfb\x01\xcd\x45\xf6\x87\x08\x0e\xf8\x68\xf7\x5d\x15\x89\x8c\x8b\x8c\x8a\x8c\x7b\x9c\x83\x94\x77\x9b\xc3\x1d" -+"\xf7\x00\xe7\x06\x9e\x83\x9d\x7d\xa6\x6f\x88\x8a\x18\x6e\x81\x7f\x7e\x75\x1a\x76\x9f\x76\x9f\x90\x97\x8e\x8f\x98\x1e\xab\x96\x90" -+"\x84\xaa\x61\x97\x79\x94\x78\x19\x8e\x85\x05\xdc\xec\x0a\x82\x9c\x7e\x94\x1e\x71\x1d\x80\x06\x84\x94\x89\x8e\x82\x99\x9b\x91\x18" -+"\xa8\x95\x97\x98\xa1\x1a\x9f\x78\xa0\x78\x82\x80\x89\x87\x7e\x1e\xfb\xcc\xee\x15\xf7\x26\xf7\x00\x07\xc8\xb8\x6f\x64\x5d\x4f\x6a" -+"\x39\x1f\x0e\x58\x1d\xf7\x41\xf7\x78\x27\x0a\xf7\x2e\xf7\xd1\x15\x22\x06\x79\x8c\x80\x82\x8a\x7a\x08\x8a\x07\x8c\x7a\x96\x82\x9d" -+"\x8c\x08\xc7\x06\xe4\xfb\xb0\xf7\x85\xf9\x2f\x05\xf7\x3b\x06\x9c\x98\x96\x9a\x9b\x80\x94\x78\x1f\xfb\x66\x06\xfb\x55\xfc\xcc\x05" -+"\x0e\x58\x1d\xb2\xf7\x5c\x45\x1d\x58\x1d\xc6\xfc\x7b\x23\x1d\xf7\x0b\xf8\x19\x15\xf8\x12\x06\xa1\x96\x94\x9b\x9c\x80\x94\x75\x1f" -+"\xfc\x46\xfb\x88\x06\x77\x94\x80\x9c\x9c\x94\x96\x9f\x1e\x0e\xf7\x53\xa3\x15\x71\xb5\xb4\x7e\xba\x1b\xf7\x10\xf2\xf3\xf7\x12\xf7" -+"\x13\x2a\xea\xfb\x17\x3d\x48\x6d\x53\x5f\x1f\x65\x5d\x81\x66\x32\x1a\xfb\xd4\x2f\x0a\xf7\x14\xf8\x6e\x15\xd2\xbd\x5a\x45\x47\x55" -+"\x52\x4a\x67\x64\x9d\xa8\x70\x1f\x78\xa0\x82\xa5\xaa\x1a\xd0\xc0\xbd\xd6\x1e\x0e\x42\x1d\x54\xf7\x99\x27\x0a\xf7\xe4\x7d\x15\xf7" -+"\x0c\x96\xd6\xbf\xd5\x1a\xb9\x70\xb4\x5e\xa4\x1e\x6d\x9b\x61\x96\x41\x94\x4b\x94\x85\x8c\x7e\x8f\x08\x7c\x91\x82\x92\x92\x1a\x99" -+"\xbb\x9a\xba\xb4\xac\x82\x79\xa5\x1e\x6c\x9d\x97\x83\xa4\x47\x0a\xae\x07\x9e\x8a\x92\x88\x94\x1e\x9e\x86\x77\x98\x75\x1b\x7a\x83" -+"\x85\x7a\x81\x1f\x9a\x66\x62\x93\x5b\x1b\xfb\x0f\x34\x53\x3c\x3e\xc7\x63\xf7\x22\x7c\x1f\xc1\x86\xa0\x87\x9b\x85\x08\x9f\x83\x97" -+"\x80\x80\x1a\x77\x56\x7a\x4f\x56\x61\x97\xa2\x70\x1e\xa9\x82\x79\x99\x6f\x1b\x79\x54\x1d\x84\x6f\x1a\x6b\x07\x71\x8c\x84\x92\x81" -+"\x1e\x7c\x95\x9c\x82\x9f\x1b\x98\x93\x8e\x93\x96\x1f\xa6\x7e\xab\x83\xb6\x87\x08\x36\x88\x0a\xb2\x81\xa8\x1b\xcc\xb9\xb3\xc3\x4e" -+"\x0a\x42\x1d\xfb\x65\xf7\x87\x2e\x0a\x42\x1d\xfb\x3d\xfc\x5a\x23\x1d\xf7\x5f\xf7\x06\x1d\xf7\x60\x16\xe4\xf7\x58\x05\x97\xa5\x8e" -+"\x95\xf7\x3b\x1d\x0e\xf7\xe8\xf8\x49\x15\x35\x59\x82\x72\x5b\x1f\x44\x66\x5c\x3f\x3c\x1a\xfb\x13\xf7\x04\x28\xf7\x24\xf7\x22\xf7" -+"\x05\xee\xf7\x11\xb8\x7b\xb4\x6b\xb2\x1e\xb9\x06\xa5\x94\x32\x1d\x9b\x9d\x1a\xa0\x7d\xa0\x78\x91\x1e\x8e\x81\x84\x8c\x77\x1b\xfb" -+"\x93\x24\x15\xe0\xcb\x56\x45\x46\x4b\x55\x38\x37\x4b\xc1\xd0\xd0\xcb\xc1\xdd\x1f\x0e\xf7\x6d\xf8\x23\x15\x75\x79\x7a\x75\x76\x9c" -+"\x79\xa1\xa1\x9c\x9c\xa1\xa0\x7a\x9d\x76\x1f\xf7\x41\x8c\x15\x75\x79\x79\x76\x75\x9d\x79\xa1\xa0\x9d\x9d\xa0\xa1\x79\x9d\x76\x1f" -+"\xe9\x37\x15\x82\x64\x83\x7b\x77\x73\x08\x61\x66\x5c\x77\x4d\x1b\x4c\x5d\x9f\xb5\x66\x1f\x77\xa3\x83\x9b\x82\xb2\x90\x48\x93\x6c" -+"\xa2\x68\x08\x5b\xac\xbd\x72\xcb\x1b\xc6\xba\xa0\xb4\xab\x1f\xa8\xb0\x96\xae\x90\xd3\x08\xfb\x47\xf7\x8b\x15\xfb\x33\xfb\x13\xfb" -+"\x10\xfb\x2f\xfb\x32\xf7\x11\xfb\x12\xf7\x31\xf7\x2f\xf7\x12\xf7\x12\xf7\x30\xf7\x2d\xfb\x12\xf7\x14\xfb\x2b\x1f\x83\x66\x15\xf7" -+"\x1d\xf7\x03\xfb\x00\xfb\x1b\xfb\x1d\xfb\x01\xfb\x01\xfb\x1c\xfb\x1b\xfb\x01\xf7\x01\xf7\x1c\xf7\x19\xf7\x02\xf7\x03\xf7\x17\x1f" -+"\x0e\xf7\x22\x16\xf8\x09\x9d\x06\xfb\x11\x91\x51\xcd\x8d\xf7\x17\x08\x4a\xad\xaf\x72\xc3\x1b\xc1\xb8\xba\xc5\xc0\x77\xaa\x38\xd7" -+"\x1f\x37\xd8\x7c\xa1\x6d\xe5\x7f\x44\x5c\x47\x3a\x4a\x08\x4d\x58\x70\x5f\x5a\x1a\x51\xba\x5b\xc4\xc3\xb3\xa8\xc8\xa8\x1e\xfb\x14" -+"\x90\x47\x40\xfb\x0e\x1b\x0e\xf8\x37\xf8\xab\x15\x91\x42\x8c\x6d\xa2\x75\xaa\x8a\x19\x90\x06\xac\x8c\xa1\xa3\x8a\xab\x08\xf7\x0f" -+"\x07\xad\x8c\x72\xa2\x67\x1b\xfb\xeb\x06\x67\x8c\x72\x74\x6b\x1a\x7e\x07\x7b\x8e\x82\x95\x7e\x1e\xf7\x39\xfb\x73\xfb\x3d\xfb\xba" -+"\x05\x84\x7f\x89\x84\x7e\x1a\x7c\x07\x6a\xa4\x74\xaf\x8c\x1e\xf7\xf2\x06\xaf\xa3\xa2\xad\x1f\xf7\x10\x07\xab\x75\xa3\x6a\x8c\x1e" -+"\x86\x06\x6c\x8a\x74\x74\x8a\x6c\x88\x43\x18\xfb\x62\x06\xf7\x2a\xf7\x93\x05\x91\x97\x8e\x93\x95\x1a\x97\x88\x94\x82\x97\x1e\xfb" -+"\x1a\xf7\x4c\x05\x0e\xf7\x23\xf8\x2a\x15\x73\x6e\x7d\x68\x86\x65\x08\x2c\x5e\xeb\x06\x8f\x64\x99\x68\xa2\x6e\x48\x48\x18\xab\x6b" -+"\xce\xcf\xa9\x73\xab\x7e\xb4\x85\x19\x2c\xb8\xea\x07\xb4\x91\xad\x99\xa7\xa2\xce\x47\x18\xab\xab\x48\xcf\xa1\xa4\x9a\xaf\x90\xb4" -+"\x19\xeb\xb8\x2b\x06\x86\xb3\x7c\xaf\x75\xa6\xce\xce\x18\x6b\xab\x48\x48\x70\xa1\x64\x9b\x66\x8f\x19\xea\x5e\x2d\x07\x67\x87\x62" -+"\x79\x72\x75\x47\xcf\x18\x6b\x6b\x05\xf7\x72\x5d\x15\xdc\xcc\x4b\x3d\x3a\x4b\x4b\x3b\x3c\x4b\xcb\xda\xda\xcb\xcc\xd8\x1f\x0e\xf7" -+"\xed\xf7\xd7\x15\xd7\x06\xa7\x92\x8c\x91\x94\x1f\x9c\x95\x94\x9b\x9d\x1a\xa5\x79\x9f\x71\x8e\x1e\x8e\x74\x8b\x8b\x88\x1b\xfb\x9f" -+"\x06\x71\x83\x8a\x84\x81\x1f\x7b\x81\x81\x7b\x7a\x1a\x7a\x94\x7a\x99\x82\x1e\x84\x96\x95\x89\xa5\x1b\xde\xfb\x8a\x06\x53\xb3\x6c" -+"\xd2\xd1\xbb\xa6\xb2\xa3\x7a\xa0\x78\x84\x81\x89\x87\x81\x1e\x82\x75\x82\x89\x7e\x1b\x80\x88\x8f\x99\x1f\x0e\xf7\x6e\xf7\xa4\x15" -+"\xbd\xcb\x1d\x59\x76\x06\xc5\x0a\xa0\x5a\x06\x38\xd3\x57\xf7\x09\xc0\xda\x9b\xa1\xbc\x1e\xb1\x9b\x9a\x9b\xa3\x1a\xa7\x74\xa3\x6e" -+"\x80\x84\x89\x82\x79\x1e\x75\x5b\x5f\x81\x57\x1b\x65\x70\x91\x97\x80\x1f\x86\x90\x89\x94\x9d\x1a\xaa\xf7\x1d\x07\xa2\x97\x38\x1d" -+"\x0e\xf7\x6e\xf8\x3d\x15\xdb\x07\xc0\x1d\xf7\x4b\xf7\x45\x07\xb9\xa3\x9c\xae\x9f\x7f\x9d\x78\x93\x1f\xe2\xf7\x12\x05\x94\x98\x8f" -+"\x95\x94\x1a\x9f\x79\x9d\x75\x7a\x81\x85\x76\x7d\x1e\x39\xfb\x0b\x05\x81\x7d\x88\x82\x80\x1a\x87\x8b\x89\x8d\x86\x1e\x0e\xf7\xc2" -+"\x7c\x15\xbd\x8c\xc6\x96\xbf\x9e\x08\xbe\x9d\x9e\x9c\xa7\x1a\xa8\x74\xa2\x6e\x7f\x85\x89\x82\x79\x1e\x76\x5f\x5a\x80\x58\x1b\x65" -+"\x71\x91\x97\x80\x1f\x85\x91\x89\x93\x9e\x1a\xf7\x4b\xcb\x1d\xfb\x5e\x06\x4b\xb4\x5e\xd4\x7a\x1e\x2f\x07\x8d\x9c\x8d\x8b\x92\x76" -+"\x1d\x74\x91\x94\x7a\x1f\x97\x77\x89\x8b\x82\x1b\x76\x79\x7a\x76\x7a\x94\x7e\xa0\x80\x1f\x7e\xa5\xb3\x81\xa7\x1b\xcd\xb9\xb3\xc4" -+"\xbd\x72\xa9\x59\x95\x1f\x0e\xf7\xc0\xf8\xef\x15\xfb\x1c\x2b\xfb\x13\xfb\x4a\xfb\x4b\xea\xfb\x12\xf7\x1d\xf7\x1d\xea\xf7\x13\xf7" -+"\x4a\xf7\x4b\x2c\xf7\x12\xfb\x1d\x1f\xfb\x0c\xfb\x96\x15\xed\x9a\xb7\xc3\xc8\x1b\xc8\xb6\x54\x28\x9b\x1f\x23\x04\x29\x7b\x60\x54" -+"\x4e\x1b\x4e\x60\xc2\xed\x7b\x1f\x0e\xf8\x0b\xf8\xc9\x15\x9a\x97\x92\x96\x96\x1a\x9e\x7a\x9b\x78\x82\x80\x53\x1d\x7d\x80\x84\x80" -+"\x7f\x1a\x78\x9c\x7b\x9d\x95\x95\x57\x1d\xbb\x0a\x96\x97\x88\xa4\x1b\xaa\xfb\x3c\x06\x58\x58\x74\x7f\x5a\x1b\x51\x71\x9f\xb8\x1f" -+"\xf7\xa1\xfb\x0c\x07\x72\x81\x89\x86\x82\x32\x0a\x84\x95\x96\x88\xa6\x1b\x97\xfb\x3e\x06\x52\x9f\x61\xb3\x6e\x1e\x73\xad\xb5\x7f" -+"\xb9\x1b\xc1\xab\x98\xb3\xba\x1f\x62\xee\x07\xa0\x9a\x8d\x90\x93\xa6\x1d\x81\x91\x83\x8d\x76\x8c\x08\xfb\xf6\xdd\x1d\x2c\x1d\xfb" -+"\x5c\xf8\x80\x15\x9a\x9a\x90\x1d\x23\x05\x76\x9e\x0a\xf7\x9e\xf4\x15\xa0\xa2\x8b\x8b\x99\x1a\x9f\x79\x9d\x77\x7f\x82\x87\x7f\x80" -+"\x1e\x25\x23\x05\x77\x9e\x0a\x0e\x2c\x1d\xfb\xe4\xf8\x8a\x37\x1d\xa7\xfb\xaf\xf7\x4f\x1d\x79\x94\x7b\xec\x1d\xfc\xb4\xf7\x2f\x15" -+"\xf7\x64\x1d\x81\x80\x79\x78\x1a\x7a\x94\x7a\x6a\x1d\xf8\xb4\x06\xa2\x98\x8d\x91\x95\x1f\x9c\x94\x96\x9e\xee\x0a\x0e\x0e\x7e\x1d" -+"\x7c\x1d\x7f\xfb\x72\x23\x1d\xbb\x1d\xf7\x0f\xfb\x96\x23\x1d\xf7\x46\xf8\xf1\x37\x1d\x85\x1d\xf8\xe8\x16\xfb\x82\xf8\xc8\x05\xfb" -+"\x08\x06\xfb\x82\xfc\xc8\x05\xf8\x44\xf3\x15\xfb\xa3\x06\xf7\x1b\xf7\xd3\x05\x0e\xf7\x9b\xe9\x15\x69\x9a\x7d\x92\x7d\x98\x08\x63" -+"\xac\x72\xd0\xd7\x1a\xf7\x0f\xc4\xcd\xf7\x00\xf5\xc4\x48\xfb\x0e\x3f\x72\x46\x63\x6a\x1e\x7d\x7e\x7d\x84\x69\x7c\x08\x2d\xf7\x5b" -+"\x07\xa4\x93\xf7\x54\x1d\x9a\x7e\x95\x1e\x93\x7f\x82\x8d\x71\x1b\x4d\x06\xa8\x99\x96\x93\x99\x9b\x08\xad\xb1\xa0\xcd\xce\x1a\xd9" -+"\x6e\xd7\x5e\xb6\x1e\xb6\x5e\x3c\xa5\x35\x1b\x35\x3c\x71\x60\x5e\x1f\x5e\x60\x6e\x3f\x3d\x1a\x4e\x9d\x4c\xa8\x65\x1e\x9c\x76\x97" -+"\x81\xac\x7b\x08\x4d\x06\x72\x84\xc9\x0a\xf7\x5b\x06\x0e\xf7\x61\x84\x15\x85\xa1\x9d\x88\x9f\x1b\xa9\xba\x93\x94\xa0\x1f\xb6\x9d" -+"\x05\x78\xed\x07\xb9\xa4\x9d\xad\xaa\x75\x9e\x64\x8c\x1f\xf7\xd6\xfb\x1f\x07\x5d\x72\x79\x69\x6a\xa4\x78\xb9\x1f\xaa\xfb\x4b\x06" -+"\x67\x4e\x61\x7d\x62\x1b\x63\x7a\x9b\xb0\x1f\xf7\xb0\xfb\x0c\x07\x5e\x72\x79\x69\x6a\xa4\x78\xb8\x1f\x97\xfc\x55\x06\x5f\x9e\x73" -+"\xae\xae\x9e\xa3\xb7\x1e\x0e\xf8\xa9\xf8\x0f\x15\xad\x75\xa3\x6b\x76\x7d\x83\x79\x80\x1e\x9d\x70\x6b\x93\x5c\x1b\x3c\x50\x74\x5c" -+"\x5f\x1f\x62\x5e\x75\x50\x47\x1a\x3e\xa7\x4f\xc0\x65\x1e\xa7\x77\xac\x7d\xc7\x78\x08\xcd\x75\x8b\x8b\x81\x1a\x7b\x7a\x83\x60\x87" -+"\x1e\x65\x87\x78\x7b\x6b\x1a\x69\xa1\x7a\xb7\xe6\xcf\xc5\xd8\xad\x7d\xa7\x71\xa1\x1e\x78\x9b\x72\x95\x51\x9c\x08\x24\xa9\x74\xa3" -+"\xd6\x1a\xe8\xbf\xc0\xe6\xc5\xa3\x79\x55\x98\x1e\x65\x95\x9a\x7c\xa8\x1b\xaa\x9e\xa3\xb1\x8c\x1f\x0e\x30\x1d\x89\xf9\x46\x81\x1d" -+"\x56\x0a\xf7\x30\xf7\xe0\x15\x99\x7a\x86\x8d\x7f\x64\x0a\x20\x05\x7e\x9c\x92\x62\x0a\x8b\x0a\xf7\x41\xf8\x13\x05\xb7\x9d\x91\x95" -+"\x94\x1b\x8f\x91\x89\x87\x92\x1f\x7d\xa0\x9e\x85\x9d\x1b\xaf\xaa\xab\xb0\xba\x5f\xad\x4d\x41\x5e\x68\x2f\x61\x1f\x0e\x7d\x1d\xf7" -+"\x2a\xf7\xe2\x15\x98\x7b\x84\x8e\x80\x64\x0a\x21\x05\x80\x99\x95\x86\x96\x1b\xa1\x9e\x9d\x9f\x99\x85\x95\x78\x99\x1f\x0e\xf7\x5a" -+"\xf7\x7c\x15\xf4\xf1\x22\xf7\x13\xf7\x8c\x5e\x06\x8b\x1d\x94\xa5\x1a\xf7\x28\xfc\x6f\x07\xf7\x0b\x1d\xfb\x13\x50\x25\xc6\xfb\x15" -+"\x80\x06\xde\x0a\xf7\x6b\x31\x1d\x2b\x06\x0e\xf7\x30\xf7\x4a\x15\x3d\x57\x07\x46\x0a\x56\xd9\xbd\x06\xae\xa1\x9b\xa5\x94\x85\x99" -+"\x85\x92\x1f\x94\x82\x7e\x8e\x74\x1b\x59\xc2\xf7\x5e\x37\x06\x24\x0a\xf7\x50\xfc\x6a\x07\x52\x1d\xbf\x54\x65\x06\x67\x76\x7b\x71" -+"\xf4\x0a\x0e\xf8\xad\xf3\x15\x64\xf1\x7a\xb8\x76\xaa\x69\xa9\xf7\x0e\x0a\x6e\x94\x99\x80\xa4\x1b\xae\x98\xa0\xc3\x1f\x98\x07\xce" -+"\x80\x9b\x5f\x65\x6f\x7d\x6e\x74\x1e\x7a\x76\x69\x52\x60\x3d\x08\xeb\x07\xad\x92\x9b\x9b\xa7\x1a\xb1\x74\x99\x4c\xbc\x0a\x7a\x49" -+"\xcc\x0a\x69\x6b\x74\x69\x7c\x62\x64\x24\x18\x64\x87\x79\x7a\x6c\xf7\x2f\x1d\xae\x9c\xaa\x99\x99\x08\xfb\x23\x07\x65\x86\x7a\x7b" -+"\x6b\x1a\x67\xa2\x7d\xcb\x1e\xb6\x06\xc9\xa3\x99\xb0\xa8\x7a\x9c\x67\x91\x1f\xf7\x23\x07\x95\x82\xa1\x61\x96\x6e\xb5\x21\x18\x9f" -+"\x59\x96\x82\xb4\x8a\x08\x9e\x56\xe9\x0a\xf8\xa2\xf4\x15\x66\xca\x7b\xa6\x7a\xa0\x78\x99\x19\xa4\x99\x9b\xa0\x98\xae\x08\x75\x94" -+"\x9a\x81\xa2\x1b\xaa\x9c\x9f\xb0\x1f\xb3\x07\xb3\x75\x9f\x60\x61\x69\x79\x69\x75\x1e\x45\x21\x05\xc4\x07\xa5\x9b\x94\x99\xa0\x1a" -+"\xab\x71\x9d\x5c\x1e\x6b\x06\x5e\x71\x79\x6b\x76\x94\x7e\xa4\x7a\x1f\x52\x07\x46\xf5\x05\xad\x75\x68\x9d\x62\x1b\x5f\x76\x77\x63" -+"\x1f\x63\x07\x65\x9c\x77\xaa\xa2\x99\x95\xa1\x95\x1e\x97\x69\x9c\x76\xa3\x7d\x7a\x7f\x77\x72\x7d\x72\x66\x4b\x18\x5e\x8a\x75\x79" -+"\x68\x1a\x6a\x9e\x7a\xad\x1e\xce\x06\xcf\xf7\x0b\x9b\xa6\xa0\xa0\x99\x8e\x19\x47\x07\x73\x7a\x81\x7d\x76\xe1\x0a\x9c\x1f\xcf\x07" -+"\x99\x88\xa0\x76\x9c\x70\xcf\xfb\x0b\x18\xb7\x61\xf7\x0a\x0a\xf7\x27\x07\x0e\xf7\xce\x7d\x15\xc5\x8e\xb8\x95\xa9\x9a\x08\xc9\xaa" -+"\xb0\xc4\xcd\x1a\xc4\x73\xb6\x59\xac\x1e\xb0\xad\x9c\xae\xb8\x1a\xea\x34\xcf\xfb\x0e\x5b\x62\x82\x77\x61\x1e\x8c\x98\x05\xa6\x8c" -+"\x72\xa2\x6e\x1b\x6e\x74\x75\x6e\x1f\x80\x07\x8c\x63\x05\x60\x8a\x80\x87\x70\x1e\x86\x72\x88\x74\x86\x1a\x71\xa3\x76\xa8\xa6\x99" -+"\x98\xad\x95\x1e\xd2\x9f\xb0\xa6\xd5\x1b\xcc\xb6\x71\x65\x61\x5c\x72\x3f\x1f\x78\x06\x4b\x74\x7d\x65\x64\xa3\x7e\xd0\x1f\xab\x06" -+"\xe3\xaf\x77\x5b\x56\x5c\x6f\x32\x43\x5a\x99\xaf\x4f\x1f\xa2\x66\x7d\x91\x7b\x1b\x6f\x72\x71\x6f\x6f\x99\x7b\xbc\x70\x1f\xc5\x6b" -+"\xc6\x78\xc7\x85\x08\x36\x93\x0a\xf7\xe0\x7f\x15\xbd\x8d\xb6\x93\xa7\x98\x08\xc4\xa4\xac\xb6\xbe\x1a\xb4\x7a\xa9\x65\xa6\x1e\xa3" -+"\xa6\x95\xa3\xa8\x1a\xd6\x3b\xc1\xfb\x01\x57\x62\x80\x73\x64\x1e\xc1\x80\x80\x99\x6b\x1b\x6f\x73\x76\x72\x84\x8d\x7e\x8c\x82\x1f" -+"\x8e\x7e\x8c\x7b\x6e\x1a\x8a\x5c\x05\xb4\x0a\x1f\x67\x8a\x7f\x8b\x82\x89\x08\x71\x84\x7e\x7b\x6f\x1a\x66\xa2\x7e\xcb\x1e\x95\x06" -+"\xd9\xba\x7f\x76\x74\x58\x79\x4a\x4b\x4f\x9a\xac\x4e\x1f\x95\x78\x80\x8e\x7f\x1b\x70\x71\x72\x71\x65\xb5\x6d\xe7\x71\x1f\xab\x82" -+"\xa3\x86\xa8\x88\x08\x31\x93\x0a\xf8\x02\xf7\xd1\x15\x90\x92\x98\x9d\xa1\xaa\x8c\x8c\x8d\x8f\x90\x92\x90\x92\x8f\x91\x8d\x8f\xa3" -+"\xaf\x18\x8c\x8c\x8f\x91\x92\x93\x08\x60\x8f\x9c\x78\xad\x1b\xb0\x99\xf7\x30\x1d\x65\x77\x59\x69\x1f\x44\x24\x72\x69\x85\x87\x75" -+"\x8a\x19\x82\xf7\x00\x06\xc9\x8d\x9e\x97\xb1\x1a\xb2\x75\x98\x4b\x1e\x29\x06\x4c\x74\x7e\x65\x66\xa4\x7a\xc3\x8c\x1f\xfb\xf9\x07" -+"\x4f\x8a\x76\x7e\xdb\x0a\x81\xf7\x24\xa2\x06\xa9\x8d\xae\x6d\xaa\x52\xc6\x20\x18\x9b\x6c\x98\x7a\x91\x89\x92\x88\x95\x8a\xae\x89" -+"\x08\x55\x2f\x0a\xf7\x32\x25\x07\x50\xf4\x6e\xbe\x77\xa4\x6d\xa4\x19\x0e\xf8\x79\xf4\x15\x59\xcf\x76\xa7\x74\xa1\x74\x99\x19\xcd" -+"\xcd\x99\x97\x05\x6d\x92\x9c\x7d\xa8\x1b\xb1\x9a\xa2\xc6\xbf\x77\x9f\x57\x58\x5f\x7a\x6a\x6d\x1f\x49\x45\x74\x73\x86\x89\x75\x8a" -+"\x19\x81\xb7\x06\xc1\x8c\xa0\x99\xaf\x28\x1d\x36\x06\x4b\x74\x7d\x66\x66\xa0\x7c\xc2\x8a\x1f\xfb\x6d\x07\x54\x8a\x76\x7c\x67\x1a" -+"\x65\xa2\x7d\xcb\xe2\x0a\xa3\x06\xa5\x8c\xa9\x77\xab\x62\xbd\x48\x18\xad\x5f\x8f\x89\xb1\x8a\x08\x92\x64\x06\x24\x0a\xf7\x24\x07" -+"\x0e\xf7\xdd\xf7\x57\x15\x9f\x6c\xc5\xfb\x00\x98\x72\x99\x76\x90\x89\x19\x94\x1d\x99\x4a\x1f\x7c\x06\x53\xf4\x73\xb8\x72\xaa\x6d" -+"\xa4\x19\x8e\x92\x92\x94\x98\x9e\x9f\xa7\x19\x8e\x91\x8d\x8d\x8e\x8f\x90\x93\x8f\x91\x8e\x8e\x92\x97\x93\x97\x93\x97\x8d\x8d\xf7" -+"\x5c\x1d\xb1\x98\xf7\x14\x1d\x66\x55\x05\x9a\x84\x7c\x95\x79\x1b\x82\x7e\x86\x84\x83\x1f\x80\x83\x88\x82\x72\x1a\x50\x7f\xf7\x00" -+"\x07\xca\x8d\x9e\x97\xb2\x1a\xb1\x75\x98\x4a\xf7\x02\x1d\xcb\xa2\x98\xb1\xae\x73\x9d\x5c\x1f\x86\x06\x85\xf7\x24\x97\x44\x06\x6a" -+"\x9c\x76\xa6\xa8\x9a\x9d\xaf\x1e\x0e\xf8\x04\xf7\x06\x15\xbd\x48\xad\x5f\x8f\x89\xb1\x8a\x19\xb7\x06\xb5\xa0\x9d\xae\xb1\x75\x97" -+"\x47\x8c\x1f\x58\xcf\x65\xbe\x88\x8f\x6e\xa4\x19\xd0\xbd\x99\x98\x05\x6d\x92\x9c\x7d\xa9\x1b\xb1\x9a\xa2\xc6\xbf\x77\x9f\x57\x57" -+"\x5f\x7a\x6a\x6d\x1f\x5c\x59\x05\x97\x84\x81\x91\x7e\x1b\x89\x89\x8b\x8a\x87\x1f\x91\x94\x8e\x95\x98\x1a\xb0\x73\x99\x4c\x1e\x36" -+"\x06\x4b\x74\x7d\x66\x66\xa0\x7c\xc2\x8a\x1f\xfb\x6d\x07\x54\x8a\x76\x7c\x67\x1a\x65\xa2\x7d\xcb\x1e\xe0\x06\xcb\xa2\x99\xb0\xae" -+"\x73\x9d\x5c\x1f\x89\x06\x89\xd1\x06\xaf\x8a\x05\x86\x07\x6b\x9a\x77\xa2\x9c\x98\x96\x9d\x90\x1e\x42\xf7\x1e\x15\x88\x84\x85\x89" -+"\x7e\x1b\x81\xb6\x06\xa2\x8c\x91\x8c\x99\x8f\x08\x85\x83\x8a\x86\x74\x1a\x0e\xef\xf8\x60\x15\x8e\x06\x92\x06\x91\x06\x90\xfb\xf9" -+"\x06\x4f\x8a\x76\x7e\xdb\x0a\x81\xf7\x24\xa2\x06\xa9\x8d\xad\x6d\xab\x52\xc5\x20\x18\x98\x72\x99\x76\x90\x89\x08\x94\x1d\x98\x4a" -+"\x1f\x7c\x06\x53\xf5\x73\xb7\x72\xab\x6c\xa4\x19\x8f\x92\x92\x94\x98\x9d\x9f\xa8\x19\x8d\x8f\x8e\x8f\x8e\x8f\x90\x92\x8f\x91\x8d" -+"\x8f\x94\x97\x92\x96\x93\x97\x8d\x8e\xf7\x5c\x1d\xb0\x99\xf7\x14\x1d\x44\x24\x73\x68\x85\x88\xf7\x62\x1d\xb1\x1a\xad\x7c\x98\x5c" -+"\x8f\x1e\x8c\x8c\x05\xfb\x9c\xfb\x0d\x4a\x0a\x9c\x07\x0e\xf4\xf7\xd5\x15\xac\xfb\x6d\x06\x53\x8a\x76\x7c\x67\x1a\x64\xa2\x7e\xcc" -+"\xe2\x0a\xa3\x06\xa5\x8c\xa8\x77\xab\x62\xbd\x48\x18\xae\x5f\x8e\x89\xb1\x8a\x08\xb7\x06\xb5\xa0\x9d\xae\xb1\x75\x98\x47\x1f\x58" -+"\xd0\x76\xa6\x75\xa2\x74\x99\x19\xcd\xcd\x98\x97\x05\xf7\x1c\x1d\x74\x73\x86\x89\x75\x8a\x19\x81\xb7\x06\xc1\x8c\xa0\x99\xaf\x28" -+"\x1d\xfb\x81\xfb\x4f\x4a\x0a\x0e\xf8\x93\xf2\x15\xf7\xfa\x07\xad\x8f\x9d\x9d\xa9\x1a\x9b\x83\x9a\x7d\x96\x1e\x92\x4b\x1d\x7a\x93" -+"\x7b\x99\x81\x1e\x84\x96\x95\x89\xa6\x1b\x96\xfb\x14\xfb\x62\xf7\x14\x96\x06\xa4\x95\x8c\x91\x94\x1f\x9b\x95\x95\x9b\x9e\x33\x1d" -+"\x4b\x1d\x6d\x9d\x79\xad\x87\x1e\xfb\xfa\x89\x07\xf7\x10\x0a\x7a\x1a\x7a\x93\x7b\x99\x82\x3f\x1d\xf7\x0d\x31\x1d\x80\xf7\x13\xf7" -+"\x62\xfb\x13\x80\x06\x72\x82\x89\x4f\x0a\x7a\x7a\xf3\x0a\x55\xe9\x0a\xf8\x92\xf3\x15\xf7\x6e\x07\xaf\x8f\x9c\x9c\xa9\x1a\xad\x73" -+"\x9d\x5d\x1e\x2b\xd0\x1d\xf7\x5c\x4f\x86\x39\x0a\xf1\x63\x06\x5d\x9c\x75\xaf\xaf\x9e\xa2\xb8\x1e\xf7\x23\x07\x0e\xf7\xe9\x7e\x15" -+"\xc7\x8d\xc0\x98\xb2\xa0\x08\xb9\xa3\xa8\xac\xa7\x64\x1d\x80\x85\x08\x7d\x72\x65\x83\x5d\x1b\xfb\x09\xd8\x0a\x94\x80\x8f\x75\x08" -+"\x64\x93\x9f\x0a\x52\x1b\xfb\x30\x74\x1d\x4b\x07\xfb\x12\xea\x26\xf7\x1f\x75\x1e\x31\xd6\x1d\xf7\xf4\x7c\x15\xf7\x13\x90\xe5\xb7" -+"\xc3\x1a\xa7\x72\xa3\x6e\xf7\x3e\x1d\xb0\xd7\xf7\x00\x0a\x90\x83\x8f\x7b\x90\x75\x8e\x85\x93\x84\x08\x83\x94\x9b\x85\x99\x47\x0a" -+"\xd4\x07\xb9\x7b\xa0\x67\x75\x80\x83\x78\x84\x1e\x9d\x65\x5a\xa2\x1d\x41\xad\x4d\xc9\x63\x1f\xad\x75\xaf\x81\xc5\x85\x08\x36\x88" -+"\x0a\xb2\x81\xa8\x1b\xcc\xb9\xb3\xc3\x4e\x0a\x2b\x0a\x0e\xf7\xf7\x8e\x15\xf7\x42\xf7\xd3\xa7\x0a\x82\x1e\x95\x84\x92\x89\xa1\x8a" -+"\xfb\x04\xfb\x5d\x18\xfb\x00\xf7\x5d\x05\xaf\x8d\xa0\x9e\xa9\x22\x1d\x31\x06\x77\x84\xf7\x67\x1d\x6f\x9d\x79\xab\x86\x1e\xf7\x42" -+"\xfb\xd3\x05\x27\x89\xf7\x4e\x1d\x7a\x93\x7c\x99\x81\x1e\x84\x95\x99\x88\xa3\x1b\xf7\x0a\xd0\x0a\x81\x82\x8c\x6e\x1b\x89\x06\x0e" -+"\xf7\xf6\xf7\x6a\x15\xa1\x07\xf7\x36\xf7\x75\x05\xb7\xa2\x9d\xad\x9b\xae\x0a\xfb\x0c\x32\xf7\x0d\x05\xa3\x95\xb7\x0a\x77\x4b\x0a" -+"\x95\x84\x94\x89\xa4\x8a\xf7\x37\xfb\x75\x18\x75\x46\x07\xf7\x04\x0a\x95\x94\x88\xa5\x1b\xd0\x70\x4e\x06\xeb\x1d\xa6\xcf\x06\xad" -+"\xa1\x9b\xa5\x94\x85\x99\x85\x92\x1f\x94\x83\x7e\x8e\x74\x1b\x0e\xf7\x85\x88\x15\x4e\x06\x67\x76\x7b\x71\xf4\x0a\xc8\x81\x89\x06" -+"\xe9\x1d\x9a\x88\xa2\x1b\xf7\x0b\xd0\x0a\x80\x83\x8c\x6e\x1b\x89\x95\xd0\x06\xad\xa7\x1d\x73\x1b\x47\x91\x06\xf7\x42\xf7\xd3\x99" -+"\x0a\xfb\x5d\x18\xfb\x01\xf7\x5d\x05\xaf\x8d\xa0\x9e\xa9\x31\x0a\x83\x1d\xf7\x42\xfb\xd4\x05\x0e\xf8\xa8\xf3\x15\xfb\x36\xf7\x4c" -+"\xf7\x2d\xf7\x41\x05\xb0\x8c\xa1\x9e\xaa\x22\x1d\x31\x06\x2e\x1d\x75\x95\x7e\xf7\x35\x1d\x7d\x95\x1e\x93\x80\x80\x8d\x71\x1b\x30" -+"\x06\x2e\x1d\x7b\x94\x7b\x99\x82\x1e\x93\x84\x93\x89\xa0\x8a\xf7\x2f\xfb\x41\x18\xfb\x37\xfb\x4d\x05\x65\x74\x77\x6c\x68\xa3\x7a" -+"\xba\x1f\xf7\x02\x06\xba\xa2\x9c\xae\xa7\x78\x9e\x6c\x8e\x1f\xe9\xf5\xe8\x22\x05\x6b\x87\x78\x78\x6f\xf3\x0a\x55\x06\x24\x0a\xf7" -+"\x32\x07\x0e\xf8\xa2\xf2\x15\xfb\x26\xf7\x0a\xf7\x13\xf0\x9b\x8d\x91\x8c\x92\x8f\x19\x9b\x94\x95\x9c\x9d\x1a\x9c\x83\x9a\x7c\x95" -+"\x1e\x93\x2f\x1d\x30\x06\x76\x85\x8a\x88\x81\x1f\x78\x85\x7d\x76\x76\x1a\x7a\x92\x7e\x9b\x7f\x1e\x55\x60\x55\xb5\x05\x9a\x97\x93" -+"\x9a\x9c\x1a\x9b\x68\x0a\x81\x1f\x78\x85\x7d\x76\x76\x1a\x6d\x9d\x7a\xaf\xf6\x1d\x71\x97\x1f\xcd\xf7\x4d\x1d\xba\x1e\xf7\x08\xe4" -+"\x0a\xf8\x8c\xf3\x15\xf7\xf8\x07\xc1\x8e\x8f\x1d\x4c\x73\x9a\x1d\x62\x4f\x64\x7b\xa8\x0a\xfb\x09\xc2\x4e\xf7\x09\x0a\x23\x55\x07" -+"\x4b\x74\x7d\x65\x65\xa2\x7e\xcb\x8a\x1f\xf7\x1d\x56\x06\x5f\x9e\x73\xae\xae\x9e\xa2\xb8\x1e\xf7\x31\x07\x0e\xf8\x82\xf3\x15\xf7" -+"\x6e\xc2\x0a\x4c\x07\x6f\x59\x6b\x81\x62\x1b\x62\x7c\x95\xa6\x1f\xcb\x07\xc6\x8d\x9e\x97\xb0\x28\x1d\x3a\x06\x4d\x73\xdf\x0a\x35" -+"\xc0\x5d\xef\xbc\xb7\x95\xa0\xb4\x1e\x56\x5e\x07\x4b\x74\x7d\x65\x65\xa2\x7d\xcb\x1f\xf7\x14\xe4\x0a\xf7\xe1\xf7\x48\x15\xa3\x92" -+"\x9a\x92\xa3\x99\x08\x23\x54\x07\x4b\x74\x7d\x64\x66\xa2\x7d\xcb\x1f\xf7\x2a\xba\x0a\x4b\x73\x7d\x66\x68\xa4\x79\xbb\x1f\x8f\xfb" -+"\x17\x06\x76\x7c\x84\x87\x68\x79\x08\xbe\x07\xad\x7b\x9f\x6f\x81\x7f\x86\x84\x83\x1e\x80\x82\x88\x83\x72\x1a\x45\x07\x66\x90\x82" -+"\x98\x8a\xc5\x08\xf7\x04\x07\xc9\x8c\x9f\x98\xb0\x28\x1d\x32\x06\x4b\x74\x7d\x65\x68\x9f\x7d\xc0\x89\x1f\xfb\x08\x07\x8e\xfb\x0c" -+"\xb9\x57\xf5\x85\x08\x85\x07\x6a\x9c\x76\xa6\x94\x9a\x90\x91\x92\x1e\x94\x93\x8f\x97\xa2\x1a\x0e\xf7\xbf\xf7\x15\x15\xb0\x91\xa1" -+"\x92\xa7\x9a\x08\x55\x84\x07\x50\x74\x7c\x66\x66\xa3\x7c\xc5\x1f\xed\x8c\x05\xcb\x8c\xa2\x98\xb0\x1a\xad\x75\x9c\x5b\x8c\x1e\xf7" -+"\x6f\x07\xbb\x8c\xa1\x9c\xae\x1a\xaf\x73\x99\x4c\x1e\x40\x06\x4c\x73\x7d\x67\x68\xa1\x7a\xbc\x8a\x1f\x4b\x07\x67\x77\x76\x83\x6d" -+"\x85\x08\x98\x07\xad\x7d\x9e\x72\x81\x82\x87\x85\x84\x1e\x7f\x81\x89\x83\x72\x1a\x82\x07\x82\x90\x88\x94\x8a\x9b\x08\xf7\x05\x1d" -+"\x8c\x3c\xb2\x61\xdc\x81\x08\x72\x07\x6a\x9a\x77\xa4\xa5\x98\x9c\xaf\x1e\x0e\xf7\x5b\xf8\x60\x15\xc1\x06\xcb\xa2\x99\xb1\xb1\x74" -+"\x99\x4b\x1f\xfb\x29\x06\x4b\x74\x7d\x65\x67\xa0\x7d\xc0\x89\x1f\xfb\xf9\x07\x55\x8a\x77\x7c\x68\x1a\x65\xa2\x7d\xcb\x1e\xdf\x06" -+"\xca\xa3\x99\xb0\xae\x73\x9d\x5b\x1f\x87\xf7\x17\x06\xb4\xc6\xb3\x9b\xb5\x1b\xb7\x98\x79\x50\x1f\xfb\x04\x07\x4d\x8a\x76\x7e\x66" -+"\x1a\x64\xa2\x7e\xcc\x1e\xe4\x06\xcb\xa2\x99\xb1\xae\x76\x9a\x57\x8c\x1f\xf7\x08\x07\xf7\x09\x54\xc8\x20\x58\x5f\x7f\x6e\x5a\x1e" -+"\x0e\xf7\x61\xf8\xaf\x15\xbe\x7b\xa1\x65\x65\x7b\x75\x58\x1e\xfc\x48\x89\x07\x41\x0a\xbe\xc2\xa0\x96\x86\x0a\x5b\x78\x69\x68\x1e" -+"\x0e\x21\x0a\x0e\xf8\x20\xf3\x15\xfb\x21\xfb\x32\x06\x24\x0a\xc1\xf7\x1e\x07\xcb\xa2\x99\xb1\xb1\x76\x98\x4c\x8c\x1f\xf7\xf8\x07" -+"\xc1\x8e\x8f\x1d\x4b\x74\x9a\x1d\x61\x4e\x65\x7c\xa8\x0a\xfb\x0a\xc2\x4f\xf6\xbe\xb7\x97\xa8\xbc\x1e\x0e\xf8\x16\xf2\x15\x5a\x06" -+"\x38\x8a\x05\xfb\x23\x07\x5f\x9e\x74\xae\xaf\x9d\xa2\xb7\x1e\xb4\xf7\x14\x07\xcb\xa2\x99\xb1\xb0\x76\x98\x4d\x8c\x1f\xf7\x6e\x07" -+"\xbb\x8d\xa1\x9c\xad\x1a\xb0\x73\x99\x4c\x1e\x40\x06\x4b\x74\x7d\x66\x68\xa1\x7b\xbc\x89\x1f\x4c\x07\x6f\x58\x6b\x81\x63\x1b\x62" -+"\x7c\x95\xa7\x1f\xca\x07\xc6\x8e\x9d\x97\xb0\x1a\xb1\x74\x99\x4c\x1e\x3a\x06\x4c\x74\xdf\x0a\x34\xc0\x5d\xee\xbd\xb6\x95\xa1\xb5" -+"\x1e\x0e\x9d\xf7\xb4\x15\x96\x30\x93\x6e\xa1\x63\x08\x35\xbc\xea\x54\xec\x1b\xf7\x30\xf7\x13\xf7\x18\xf7\x37\xf7\x38\xfb\x12\xf7" -+"\x18\xfb\x31\xfb\x02\x26\x47\x22\x5c\x1f\xf6\x6f\x05\xc6\xa9\xc6\xb1\xc9\x1b\xbf\xbe\x70\x5d\xad\x1f\xa3\x6a\x95\x6f\x8f\x57\x08" -+"\x7c\x37\x15\x43\x6a\x51\x61\x46\x1b\x46\x4d\xb8\xd0\x6e\x1f\x0e\x21\x1d\xfb\x1e\xf8\x0e\x48\x1d\x23\x0a\xfb\x75\xf8\x7b\x3b\x1d" -+"\xf7\xc0\xf8\xd6\x15\xfb\x30\xfb\x13\xfb\x19\xfb\x37\xfb\x37\xf7\x13\xfb\x18\xf7\x30\xf7\x2e\xf7\x15\xf7\x18\xf7\x33\xe8\x6b\xd5" -+"\x4c\xc5\x1f\xbc\x55\x49\xa5\x47\x1b\xf7\x3f\xfb\xe7\x15\x32\x76\x46\x4f\x3a\x1b\x3a\x46\xc7\xe4\x76\x1f\xdf\x04\xe3\x9e\xd1\xca" -+"\xdd\x1b\xdd\xd1\x4d\x32\x9e\x1f\xfb\xea\x06\x0e\x82\x0a\x30\x1d\x64\xf9\x4e\x48\x1d\x35\x1d\xfb\xa6\xf8\x2c\x3b\x1d\xa7\xf9\x6c" -+"\xf7\x4f\x1d\x7a\x94\x7a\xec\x1d\x0e\xf8\x3d\x95\x15\x7f\x9b\x96\x87\x9c\x1b\xd2\xba\xe5\xf7\x1e\xf7\x19\x5a\xe5\x43\x39\x61\x33" -+"\xfb\x3f\x1f\xfb\xd1\x07\x71\x9c\x79\xa4\xa3\x9c\x9d\xa5\x1e\xf7\xe6\x04\x9e\x07\xd0\xa1\xd3\xa0\xa1\x9e\x47\x3f\x2f\x7b\x51\x71" -+"\x75\x7c\xaf\xc3\x88\x1e\xfc\x04\xf7\xc0\x15\xfb\xd0\x07\x8a\x67\x81\x6f\x7c\x86\x08\x7c\x83\x82\x7c\x7a\x1a\x89\x07\x8c\x73\x9e" -+"\x7a\xa5\x8d\x08\xee\x06\xf7\x06\xca\xec\xf7\x43\xf7\x06\x6d\xe1\x55\xb4\x1f\x6d\xa2\x73\x93\x5b\x8c\x8d\x93\x8c\x8e\x8e\x8e\x08" -+"\x90\x92\x8d\x91\x93\x1a\x96\x85\x96\x80\x91\x1e\x89\x8c\x05\x8f\x85\x83\x8d\x84\x1b\x71\x71\x6c\x64\x85\x1f\x86\x06\x6f\x79\x7b" -+"\x73\x74\x9d\x7b\xa7\x1f\xe1\x16\xdb\x8a\xa6\x57\xfb\x28\x1a\x2a\x79\x50\x69\x77\x1e\x83\x7c\x7a\x88\x61\x1b\x95\x9d\x94\xb2\xa9" -+"\x1a\x0e\xf7\x9f\xef\x15\x86\x8d\x69\x9a\x80\x91\x7d\x96\x19\x64\xab\x73\xce\xd6\x1a\xf7\x0a\xc3\xcb\xf3\xf3\xc3\x4c\xfb\x0b\x36" -+"\x6e\x46\x5a\x6d\x1e\x80\x84\x80\x85\x70\x80\x08\x27\xf7\x5f\x07\xa5\x94\x8c\x92\x96\x1f\x9c\x95\x96\x9e\x9d\x1a\x9c\x82\x9c\x7c" -+"\x95\x1e\x94\x7f\x81\x8d\x70\x1b\x5e\x06\xc8\xac\xae\xd5\xeb\x1a\xd9\x6e\xd7\x5d\xb6\x1e\xb6\x5d\x3b\xa5\x34\x1b\x34\x3b\x71\x60" -+"\x5d\x1f\x5d\x60\x6e\x3f\x3d\x1a\x2b\xae\x41\xc8\x6a\x1e\x5e\x06\x72\x82\xf7\x38\x1d\x83\x97\x95\x89\xa7\x1b\xf7\x5f\x06\x0e\x9a" -+"\x0a\x85\x1d\xe6\x16\xbe\x06\xf7\x34\xf8\x19\xf7\x35\xfc\x19\x05\xbe\x06\xfb\x42\xf8\x47\x05\x40\x06\x0e\xe6\xf8\x46\x15\xf7\x42" -+"\xfc\x46\x05\xd6\x06\xf7\x42\xf8\x47\x05\x58\x06\xfb\x35\xfc\x19\xfb\x34\xf8\x19\x05\x58\x06\x0e\xf7\xbd\xf8\x89\x15\xfb\x1b\xfb" -+"\x05\xfb\x04\xfb\x1b\xfb\x22\xf7\x02\xfb\x04\xf7\x20\xf7\x1c\xf7\x03\xf7\x04\xf7\x1f\xf7\x1f\xfb\x03\xf7\x03\xfb\x1e\x1f\x70\xfb" -+"\xad\x15\xfb\x36\x07\x35\x94\x3e\xd6\x87\xd9\x08\xc2\x04\x91\xde\xd5\xd5\xe2\x96\x08\xfb\x3c\x07\xc2\x54\x15\xf7\x3b\x06\x88\x42" -+"\x3b\x3d\x37\x80\x08\xf7\x6d\x04\xf7\x3c\x07\xdf\x82\xd7\x3f\x92\x38\x08\x0e\x9c\x16\xf8\xcb\xf8\xcb\xfc\xcb\x06\xf8\x92\xfc\x92" -+"\x15\xfc\x59\xf8\x59\xf8\x59\x06\x0e\xca\xf7\xe7\x15\xfb\x2b\x90\x68\xa6\x5f\x1e\x47\xb5\xd8\x62\xe1\x1b\xbf\xbb\x9a\xa6\xb4\x1f" -+"\xbe\xae\xa8\xb9\x95\xca\x08\x90\xac\x8c\xa1\xed\x1a\xf7\x51\x07\x9f\x80\x99\x7b\x7b\x82\x7f\x75\x1e\xfb\x54\x07\xfb\x10\x86\x62" -+"\x78\x6a\x1e\x57\x6d\x4a\x68\x49\x1b\x63\x62\x98\xa2\x6a\x1f\x62\xa8\x78\xac\x85\xbb\x87\xa9\x8b\x8b\x8a\xf7\x01\x08\xf7\x54\x07" -+"\xa0\x81\x98\x7b\x7a\x82\x7f\x75\x1e\x0e\xf7\xe1\x16\xf7\x67\xf8\xeb\x05\x55\x06\x4c\xfb\x37\x05\xfb\x97\x06\x4d\xf7\x37\x05\x58" -+"\x06\xf7\x5f\xfc\xeb\x05\xf7\x2a\xf8\x15\x15\xfb\x03\xfb\xe2\x05\x84\x06\x24\xf7\xe2\x05\x0e\xbb\x0a\x95\x98\x88\xa4\x1b\xaa\xfb" -+"\x3c\x06\x58\x58\x74\x7f\x5a\x1b\x51\x71\x9f\xb8\x1f\xf7\xa1\xfb\x0c\x07\x72\x81\x89\x86\x82\x32\x0a\x84\x95\x96\x88\xa6\x1b\x97" -+"\xfb\x3e\x06\x52\x9f\x61\xb3\x6e\x1e\x73\xad\xb5\x7f\xb9\x1b\xc1\xab\x98\xb3\xba\x1f\x62\x9b\x07\x5b\x1d\xa8\xb8\xba\xc0\xa8\x1f" -+"\xaa\x9c\x93\x96\xa2\x4c\x0a\x81\x91\x83\x8d\x76\x8c\x08\x0e\x3f\x0a\x0e\x3f\x0a\xfb\xb9\xf8\x2e\x59\x0a\x3f\x0a\x23\xf8\x3d\x6a" -+"\x0a\x78\x7b\x7f\x83\x7a\x81\x1e\x43\x6b\x0a\x9c\x7c\x9e\x9a\x97\x93\x9c\x95\x1e\xf7\x0e\xdf\x15\x6b\x72\x73\x6d\x6c\xa4\x73\xab" -+"\xaa\xa5\xa3\xa9\xaa\x72\xa3\x6b\x1f\xfb\xaa\x4a\x1d\x3f\x0a\x36\xf8\x0e\xf7\x20\x1d\x7c\x7f\x85\x81\x7e\x1a\x79\x9c\x7b\x9e\x94" -+"\x95\x8f\x95\x97\x1e\x0e\x2c\x1d\xfb\x6a\xf8\xeb\xe4\x1d\x2c\x1d\x4e\xc5\x1d\x3e\x0a\xf7\x6f\xf8\xe8\x27\x0a\xf7\x44\x1d\xae\x8f" -+"\x9d\x9d\xa8\x22\x1d\x2e\x8e\x1d\x82\x1e\x83\x96\x95\x89\xa6\xd4\x0a\xb3\xa1\x9d\xac\x9c\x83\x9a\x7d\x95\x1f\x93\x81\x80\x8d\x70" -+"\x1b\x2f\xf7\x11\x1d\x6d\x9e\x79\xaf\x88\x1e\xe0\xfb\xd6\x05\xef\x06\xcc\xf8\xd6\x2e\x0a\x3e\x0a\x63\xf9\x0c\x28\x0a\x3e\x0a\x63" -+"\xf9\x24\x5a\x0a\xf8\x44\xf7\xe1\x15\x22\x8e\x5f\xa3\xc1\x1a\xa3\x99\xa4\xa0\x9a\x1e\x99\x94\xa1\x91\xa8\x8e\x08\xcb\x8f\xa1\x99" -+"\xb0\x1a\xad\x72\x9d\x5e\x1e\xfb\x45\x06\x5e\x71\x79\x6a\x6b\xa1\x7b\xbc\x87\x1f\x6a\x72\x7d\x71\x63\x1a\x5c\x9f\x62\xb0\x6a\x1e" -+"\x4c\x6a\x6d\x5b\x44\x1a\x55\xa3\x5b\xb6\x6e\x1e\xa2\x7b\xad\x80\xcd\x7c\x08\xc3\x7e\x93\x86\x78\x1a\x77\x7f\x84\x69\x88\x1e\x5a" -+"\x87\x76\x7b\x6a\x1a\x69\xa2\x7a\xb9\xe9\xc8\xc0\xdc\xb7\x78\xb0\x68\xa3\x1e\x77\x98\x68\x97\x5c\x95\x08\x3d\x9a\x77\x9a\xb4\x1a" -+"\xc7\xcb\xab\xf7\x0d\x1e\x0e\xb6\x1d\xf7\x7e\xf7\x94\x2e\x0a\x59\x1d\xf7\x15\xf7\xe2\x5a\x0a\x40\x0a\xb2\xf8\x81\x27\x0a\x40\x0a" -+"\xfb\x08\xf8\xa5\x36\x0a\x0e\xf7\xd8\xf8\x87\x15\xfb\x0f\xfb\x11\x57\x29\x23\x1a\x51\xa6\x52\xb5\x69\x1e\xa5\x77\xab\x7d\xcb\x79" -+"\x08\xc6\x7a\x8f\x89\x77\x1a\x75\x7b\x7f\x6b\x89\x1e\x59\x87\x78\x7c\x69\x1a\x69\xa2\x7a\xb7\xe7\xcd\xc6\xdd\xd0\x65\xb3\x32\xa4" -+"\x1e\x56\x99\x74\x93\x7e\x93\x08\x73\x9a\x7d\xa8\xab\x1a\xac\x93\xaa\x99\xa6\x1e\xad\xcd\xbf\xcc\xce\xc7\x9a\x99\x92\x91\xa4\xa0" -+"\x91\x91\x18\xf0\xfb\x64\x07\x3a\x0a\x0e\x7e\x98\xf8\xed\x9b\x06\xf2\x0a\xf7\x00\x0b\xaf\x9c\x90\x8f\x8f\x93\x8f\x8e\x8e\x97\x92" -+"\x92\x0c\x0c\xba\x8f\x8e\x8f\x90\x8e\x98\x93\xa0\x90\x90\xaa\x0c\x0d\xf8\xec\x14\xb7\x13\x00\xe9\x02\x00\x01\x00\x07\x00\x10\x00" -+"\x20\x00\x4b\x00\x55\x00\x61\x00\x66\x00\x6d\x00\x7c\x00\x89\x00\x90\x00\x97\x00\xa0\x00\xa5\x00\xb4\x00\xb8\x00\xc5\x00\xce\x00" -+"\xd7\x00\xee\x01\x1f\x01\x31\x01\x3c\x01\x44\x01\x56\x01\x5a\x01\x64\x01\x6c\x01\xa3\x01\xaa\x01\xe4\x02\x2a\x02\x61\x02\x82\x02" -+"\x86\x02\x92\x02\xb0\x02\xb6\x02\xbd\x02\xc3\x02\xcc\x02\xd3\x02\xde\x02\xe6\x02\xee\x02\xf4\x02\xfb\x03\x02\x03\x05\x03\x31\x03" -+"\x41\x03\x79\x03\x7c\x03\x9d\x03\xe7\x03\xf2\x04\x16\x04\x22\x04\x37\x04\x3f\x04\x50\x04\x55\x04\x59\x04\x65\x04\x77\x04\x7f\x04" -+"\x8d\x04\x95\x04\x9f\x04\xa4\x04\xab\x04\xb7\x04\xc6\x04\xd1\x04\xdc\x04\xe7\x04\xf8\x04\xfe\x05\x07\x05\x0d\x05\x14\x05\x1b\x05" -+"\x20\x05\x28\x05\x30\x05\xa9\x06\x6c\x06\xda\x07\x12\x07\x6c\x07\xb2\x07\xe4\x07\xeb\x08\x26\x08\xa4\x08\xe4\x09\x5f\x09\xa0\x09" -+"\xd1\x0a\x32\x0a\x7f\x0a\x9a\x0a\xc1\x0a\xe4\x0a\xe8\x0a\xec\x0a\xfd\x0b\x33\x0b\x47\x0b\x53\x0b\x92\x0b\xb4\x0b\xcf\x0b\xe7\x0b" -+"\xee\x0b\xfb\x0b\xfe\x0c\x1f\x0c\x32\x0c\x39\x0c\x4b\x0c\x58\x0c\x83\x0c\xad\x0c\xc8\x0c\xe2\x0c\xe8\x0c\xed\x0d\x0b\x0d\x0e\x0d" -+"\x29\x0d\x31\x0d\x4c\x0d\x6b\x0d\x71\x0d\x82\x0d\xa3\x0d\xb3\x0d\xbc\x0d\xcf\x0d\xea\x0d\xfb\x0e\x0f\x0e\x2c\x0e\x38\x0e\x44\x0e" -+"\x51\x0e\x5e\x0e\x7d\x0e\x9b\x0e\xa4\x0e\xb8\x0e\xc8\x0e\xcd\x0e\xe0\x0e\xf1\x0f\x0d\x0f\x21\x0f\x2c\x0f\x31\x0f\x3f\x0f\x59\x0f" -+"\x72\x0f\x8b\x0f\xa4\x0f\xb2\x0f\xbe\x0f\xd6\x0f\xe1\x0f\xf8\x0f\xfd\x10\x0e\x10\x25\x10\x30\x10\x36\x10\x4c\x10\x57\x10\x64\x10" -+"\x79\x10\x85\x10\x99\x10\xa8\x10\xb7\x10\xc3\x10\xc7\x10\xd2\x10\xe5\x10\xf2\x10\xf6\x11\x08\x11\x13\x11\x1e\x11\x23\x11\x34\x11" -+"\x3f\x11\x50\x11\x58\x11\x5f\x11\x6f\x11\x76\x11\x7f\x11\x86\x11\x94\x11\x9a\x11\x9f\x11\xae\x11\xbd\x11\xcc\x11\xd6\x11\xe4\x11" -+"\xf2\x11\xfb\x12\x08\x12\x15\x12\x22\x12\x2f\x12\x3b\x12\x47\x12\x53\x12\x5f\x12\x69\x12\x71\x12\x79\x12\x81\x12\x89\x12\x94\x12" -+"\x9f\x12\xaa\x12\xb5\x12\xc0\x12\xcb\x12\xd6\x12\xdf\x80\x82\x8d\x6f\x1b\x0b\x85\x0a\xf7\xc2\x29\x0a\x2a\x06\x0b\x81\x0a\xfb\x0d" -+"\xf0\x2f\xf7\x18\xf7\x18\xf0\xe7\xf7\x0d\x1e\x0b\x8d\x1d\x42\x7f\x7b\x5a\x1e\x75\x83\x80\x7c\x75\x1a\x6e\xb5\x0a\x46\x72\x5a\x5c" -+"\x1f\x72\x71\x7c\x68\x6c\x1a\x42\xde\x50\xf2\xc2\xc5\x97\xa1\xba\x1e\x8c\xf7\x08\x44\x0a\x0b\x5f\x9e\x74\xae\xae\x9e\xa2\xb7\x1e" -+"\x0b\x86\x1d\xf7\xec\x06\xb9\xa3\x9d\xad\x91\x1d\x0b\xb9\x0a\x9a\xb0\x0a\xac\x0a\x8f\x97\x99\x1e\x0e\x36\x0a\xf7\x64\x16\xa0\x1d" -+"\xa7\xab\xae\x6f\xa6\x67\x1f\x0e\x06\xb9\xa3\x9c\xae\x9b\x2a\x1d\x81\x8d\x70\x1b\x0b\x1a\x69\xa3\x79\xb9\x1e\x0b\xf7\xf6\xf7\x80" -+"\x7b\x0a\x0b\x07\x68\x87\x7a\x7a\x6d\x2a\x0a\x0b\x69\xa3\x79\xb9\x0b\xe6\x0a\x9a\x88\x8e\x75\x9d\x1f\xf7\x2d\x1d\xa0\x95\x6f\x0a" -+"\x07\x24\x0a\x0b\x07\xae\x8f\x9c\x9c\xa9\x1a\xad\x73\x9d\x5d\x1e\x0b\x1a\x9c\x83\x9a\x7d\x95\x1e\x93\x0b\x73\x1d\x7a\x93\x7c\x99" -+"\x81\x1e\x0b\xf7\x45\xf8\x03\x15\xf7\x91\xfc\x03\x05\xf4\xf8\x61\x06\xce\x1d\x94\x7b\x98\x9c\x0a\x06\x0b\xf7\xf6\xf8\xef\x15\xfb" -+"\x4a\x06\x71\x82\x89\x86\x81\xf7\x06\x0a\x7a\x93\x7c\x9a\x81\x1e\x83\x95\x97\x89\xa5\x1b\xd5\xfc\x20\xfb\x0a\x06\x71\x20\x1d\x69" -+"\xa3\x79\xb9\x1e\xf7\xec\x2b\x1d\x91\x1d\x0b\x15\xf7\x04\x0a\x94\x94\x88\xa6\x1b\xf7\x88\x06\xae\xa7\x1d\x73\x1b\x0e\x15\xa0\x1d" -+"\xa7\xab\xae\x6f\xa6\x67\x1f\x0b\x1f\x9c\x95\x96\x9d\xee\x0a\x0b\x15\xa8\x7e\x9b\x73\x73\x7e\x7c\x6d\x73\x0a\xa3\xa3\x98\x9b\xa8" -+"\x1e\x0b\x06\x3a\x0a\x0b\x5d\x73\x79\x69\x69\xa3\x79\xb9\x1f\x0b\x1f\x7b\x82\x81\x79\x7a\x1a\x0b\xf7\x5a\xf7\x68\x15\xe7\x06\xb3" -+"\x7d\xe2\x28\xbf\x2e\x8e\x85\x18\xdc\xec\x0a\x82\x9c\x7e\x94\x1e\x71\x1d\x80\x06\x65\xc5\x63\xba\x60\xb0\xc3\x1d\x06\xf7\x67\x04" -+"\xf7\x26\xf7\x00\x07\xc8\xb8\x6f\x64\x5d\x4f\x6a\x39\x1f\x0b\x6c\x0a\x65\x5a\x55\x0a\x0b\xf7\x44\x1d\xad\x8f\x9e\x9d\xa8\x22\x1d" -+"\x2e\x8e\x1d\x81\x1e\x84\x96\x96\x89\xa5\xd4\x0a\x9f\x93\x8d\x90\x94\x1f\x9a\x94\x95\x9d\x9c\x1a\x9c\x68\x0a\x82\x1f\x77\x85\x7d" -+"\x76\x76\x1a\x6d\x9e\x79\xaf\x88\x1e\xe0\xfb\xd6\x05\xef\x06\x0b\xf8\x7f\xf7\xd5\x15\x8d\x27\x1d\xfb\x04\x06\x5c\x73\x79\x68\x69" -+"\xa0\x7c\xbf\x89\x1f\xfb\x19\x07\x45\x74\x6e\x52\x72\x76\x91\x96\x7c\x1e\x7b\x98\x83\xa6\xb5\x1a\xf7\x81\xfb\x02\x07\xf7\x0f\x0a" -+"\xfb\x1a\x07\xfb\x16\xcf\x43\xf7\x0e\xc4\xba\x9b\xab\xad\x1e\xae\xac\x9d\xbe\xd1\x1a\x0b\xf7\x92\xf2\x15\xf7\x94\xf7\x83\x05\xde" -+"\xfc\x35\x20\x07\x74\x8d\x80\xd9\x0a\x94\xa6\x1a\x8f\xf7\x1a\x07\xfb\x92\xfb\x82\x05\x37\xf8\x4e\xe3\x07\xa4\x8a\x93\x84\x94\x1e" -+"\x9b\x82\x79\x94\x78\x1b\x6c\x78\x79\x69\x88\x1f\x0b\xe9\x1d\x99\x88\xa3\x1b\xf7\x04\x06\xa1\x99\x32\x1d\x9c\x9d\x1a\x9b\x83\x9a" -+"\x7c\x96\x1e\x93\x81\x81\x8c\x6f\x1b\x89\xf7\x3d\x06\x0b\xf8\xee\x80\x1d\x15\x6b\x72\x73\x6d\x6c\xa4\x73\xab\xf7\x00\x1d\x15\x6c" -+"\x55\x55\x7b\x55\x1b\x64\x6b\x9a\x9d\x99\x97\x9a\x9f\x98\x1f\x9c\xa6\xa7\x92\xb3\x1b\xac\xa9\x88\x84\xb6\x1f\x0b\x07\xa3\x96\x38" -+"\x1d\x0b\x65\x0a\xf7\x69\x27\x1d\x0b\x3e\x1d\x95\xa5\x1a\x0b\x3b\x0a\x7a\x93\x7c\x99\x81\x1e\x0b\x83\x34\x1d\x7b\x79\x1a\x0b\x06" -+"\x5e\x9e\x74\xae\xae\x9e\xa2\xb8\x1e\x0b\x1a\x7a\x93\x7c\x99\x81\x1e\x0b\x1a\x9b\x83\x9b\x7d\x95\x1e\x0b\x84\x8d\x75\x8c\x08\x0b" -+"\xbe\x72\xa8\x59\x96\x1f\x0e\x85\x81\x1f\x7b\x82\x81\x0b\xb1\x1d\x0e\xf7\x5a\xf7\x7c\x15\xd8\x88\x06\x47\x1d\x9b\x93\x98\x96\x72" -+"\x1d\xf7\x27\xfc\x59\x07\x6b\x1d\x7a\x7a\x92\x1d\x7a\x7a\x2a\x0a\xf8\x6f\xf7\x29\x06\xa4\x89\x94\xf7\x0c\x1d\x07\x0b\x89\x06\x41" -+"\x0a\xbf\xc3\x9f\x95\x86\x0a\x5c\x78\x69\x67\x1e\x0b\xa8\xf7\x85\x15\xfb\x27\xf7\x12\x20\xf7\x40\xd4\xd0\x9d\xa9\xb7\x1e\xaf\xa4" -+"\x9e\xa4\xa2\x64\x1d\x81\x85\x08\x7d\x71\x65\x83\x5e\x1b\xfb\x0a\x40\xdd\x0a\x95\x80\x8f\x75\x08\x64\x92\x9a\x7c\xa5\x0a\x53\x1b" -+"\xfb\x31\x74\x1d\x0b\x7c\x1d\x0e\xa2\x1d\x50\xa0\x58\xb4\x64\x1f\x5c\xbd\xca\x77\xed\x1b\xd5\xcb\x96\x9f\xb4\x1f\xb7\xa0\xa2\xa5" -+"\xa6\x1a\xa7\x73\xa3\x6d\x90\x0a\x0b\xcb\xf2\x15\x5f\xf7\x0c\x0a\xf0\x06\xf7\x87\xf8\x02\x05\xfb\x9a\x78\x07\x3a\x0a\xf7\x15\x06" -+"\xb9\xa3\x9d\xae\xad\x76\x9a\x58\x8d\x1f\xf7\xf8\x96\x07\x4f\x1d\xfb\x09\x06\xfb\x87\xfc\x00\x05\xf7\x98\xaa\x07\xba\xa3\x9d\xad" -+"\xad\x72\x9d\x5d\x1f\xfb\x15\x06\x5c\x73\x79\x6a\x69\x9f\x7a\xb4\x8a\x1f\x0b\x6b\x1d\x7b\x79\x92\x1d\x7b\x79\x2a\x0a\x0b\x15\x73" -+"\x7c\x7b\x73\x3f\xe0\x47\xe9\xe9\xe0\x6f\x1d\x82\x6a\x84\x1f\x61\x81\x63\x70\x56\x1b\x56\x62\xa6\xb5\x82\x1f\xab\x84\x82\x95\x76" -+"\x1b\x0e\x15\x6b\x72\x73\x6d\x6c\xa5\x73\xaa\xf7\x00\x1d\x98\x1d\x21\x05\x7f\x99\x95\x87\x95\x1b\xa1\x9e\x9d\x9f\x98\x84\x96\x7a" -+"\x99\x1f\x0e\x06\x71\x20\x1d\x2d\x0a\x1e\x0b\x5f\x0a\xfb\x6e\x07\x58\x8a\x76\x7b\x69\x1a\x68\xa3\x79\xb9\x1e\x0b\x71\x83\xca\x0a" -+"\x0b\x06\xaa\x0a\x0b\x06\x5d\x73\x79\x69\x6d\x9c\x7a\xae\x87\x1f\x0b\xa7\xa4\x72\x6e\x71\x76\x7b\x6b\x6b\x76\x9c\xa3\xa9\xa3\xa4" -+"\xa8\x1f\x0b\x77\x1d\x7d\x95\x1e\x93\x80\x0b\x88\x96\x1b\xa1\x9e\x9d\xa0\x98\x85\x95\x78\x9a\x1f\x0e\x51\x1d\x7e\x84\x7f\x7e\x1a" -+"\x0b\x40\x1d\x92\x80\x9c\x7e\x1f\xf7\x19\x0b\x5d\x72\x75\x1d\x0b\x8a\x92\x84\x95\x74\x0a\x0b\xa3\x9c\xae\x9c\x83\x9a\x7d\x95\x1f" -+"\x93\x80\x0b\x83\x9a\x7d\x95\x1e\x93\x2f\x1d\x2f\x06\x77\x84\x8a\x88\x0b\x06\xa2\x97\x96\x9f\x9e\x7f\x96\x74\x1f\x0b\x15\x92\x97" -+"\x8e\x93\x93\x1a\x9d\x7b\x9b\x0b\xfb\x06\x05\x84\x81\x88\x82\x83\x1a\x78\x0b\xf8\xb4\xf8\x06\x15\xb9\x7b\xa0\x67\x75\x80\x83\x78" -+"\x84\x1e\x9d\x0b\xf7\x06\x0a\x7b\x93\x0b\xa2\x99\xb0\xae\x73\x9d\x5c\x1f\x0b\x93\x8e\x95\x97\x1e\x0e\x1a\x69\xa3\x79\xba\x1e\x0b" -+"\x74\x8d\x80\x91\x82\x1e\x0b\x06\xf7\x0f\x0a\x0b\x1e\xfb\x18\x07\x6e\x98\x7b\x0b\x1e\x9b\x81\x7a\x94\x78\x1b\x0b\xbd\xf2\x15\x87" -+"\x6d\x1d\x7b\x79\x1a\x68\xa3\x7a\xb9\x1e\xea\x06\xb1\xa2\x9f\xad\xa5\x7d\x9c\x71\x90\x1f\x9a\xbc\x05\xe1\x5b\x87\x06\x6c\x74\x75" -+"\x70\x6a\xa3\x76\xaf\x1f\xf7\xf5\xf7\x0d\xf7\x09\x1d\x79\xfb\x1f\xf7\x15\x96\x07\x6a\x8d\xa0\x77\xaa\x3e\x1d\x94\xa6\x1a\xd5\x07" -+"\xa5\x8a\x92\x84\x94\x74\x0a\x7a\x7b\x83\x7e\x80\x1f\x85\x82\x89\x86\x89\x79\x08\x80\xf7\x13\xf7\x0a\x51\x06\x8b\x1d\x93\xa6\x1a" -+"\xf7\x35\xfc\x4f\x07\xf7\x0e\x1d\x93\x06\xf0\xfb\x62\x15\x55\x06\xc1\xf7\x41\x05\x0b\xf8\xfb\xf7\x38\x15\xbb\x07\xcc\x7a\xc2\x6b" -+"\xb1\x1e\xb6\x67\x5d\xa3\x5a\x1b\x60\x6b\x7c\x66\x66\x1f\xaf\x6a\x66\x9b\x5d\x1b\x72\x51\x80\x7f\x65\x1f\x6e\x82\x7c\x7a\x72\x1a" -+"\x6e\xa2\x73\xa8\x92\x93\x8c\x8e\x94\x1e\x9d\xcc\x92\x8d\x9c\x1b\xa5\x9d\x79\x72\x1f\x7c\x07\x8e\x74\x79\x8d\x7c\x1b\x5b\x4c\x79" -+"\x73\x62\x1f\x5f\x70\x7b\x71\x5e\x1a\x2c\xd1\x4d\xf5\xb6\xaa\x94\xa1\xae\x1e\x80\x96\x96\x86\x9a\x1b\x9b\x97\x90\x95\x95\x1f\x75" -+"\xae\xa3\x84\xb4\x1b\xbb\xc9\x9a\xa0\xaf\x1f\x9c\x96\x95\x9b\x9e\x1a\xaa\x76\xa2\x6e\x7d\x7c\x87\x7e\x6e\x1e\x7f\x6f\x7a\x87\x75" -+"\x1b\x65\x75\xa1\xc1\x7b\x1f\xfb\x06\x69\x15\x6a\x62\x75\x81\x6e\x1b\x62\x71\x9f\xaa\x96\x8f\x93\x93\x91\x1f\x9a\x9e\xb2\x95\xb0" -+"\x1b\x9c\x98\x89\x86\xa1\x1f\xf7\x08\xd4\x15\xc0\x94\xa1\xa6\xad\x1b\xae\xa1\x70\x56\x93\x1f\x0b\xf8\xca\xf8\x75\x15\xf7\x51\x1d" -+"\x65\x77\x59\x69\x1f\x44\x24\x73\x69\x85\x87\xf7\x62\x1d\xb2\x1a\xb1\x75\x98\x4b\xf7\x02\x1d\xca\x6e\x0a\x86\x06\x86\xf7\x24\xa2" -+"\x06\xa9\x8d\xad\x6d\xab\x53\xc5\xfb\x00\x18\x98\x72\x99\x76\x90\x89\x08\x94\x1d\x99\x4a\x1f\x7c\x06\x53\xf4\x72\xb8\x73\xaa\x6c" -+"\xa4\x19\x8f\x92\x92\x94\x98\x9e\x9f\xa7\x19\x8e\x91\x8d\x8d\x8e\x8f\x90\x93\x8f\x91\x8d\x8e\xa3\xaf\x18\x8c\x8d\x90\xf7\x68\x1d" -+"\xb0\x99\xa1\xc6\x1f\x0b\xf7\x5a\xf7\x7c\x15\xd8\x88\x06\x47\x1d\x70\x1d\x94\xa6\x1a\xf7\x27\xfc\x59\x07\x57\x0a\xf8\x6f\xf7\x29" -+"\x06\xa3\x89\x95\x85\x94\x1e\x9b\x81\x79\x94\x79\x1b\x79\x7c\x83\x7e\x80\x1f\x83\x80\x89\x82\x70\x1a\x5d\xfb\x8c\x07\x0e\xaf\x0a" -+"\x7a\x93\x7c\x99\x81\x1e\x84\x95\x99\x88\xa3\x1b\xf7\x16\x2b\x1d\x9c\x83\x9a\x7d\x95\x1f\x81\x92\x4d\x0a\xf7\xf9\x07\xad\x90\x9d" -+"\x9c\xa9\x33\x1d\x80\x81\x8d\x70\x1b\xfb\x04\x06\xfb\x19\xfb\xaa\xfb\x1c\xf7\xaa\x05\xfb\x03\xd7\x0a\x77\x1a\x6d\x9d\x7a\xad\x86" -+"\x1e\xfb\xf9\x07\x65\x8a\x74\x78\x6b\x70\x0a\xf7\x15\x06\xb9\x67\x0a\x82\x8d\x6f\x1b\x6c\x06\x0e\xf8\x10\xf7\x71\x15\xf7\x13\xf0" -+"\x9c\x8d\x90\x8c\x92\x8f\x19\xa4\x1d\x80\x8d\x70\x1b\x30\x06\x77\x84\xf7\x67\x1d\x7a\x92\x7e\x9b\x7f\x1e\x55\x60\x55\xb5\x05\x9a" -+"\x97\x93\x9a\x9c\x1a\x9b\x68\x0a\x81\x1f\x78\x85\x7d\x76\x76\x1a\x6d\x9e\x7a\xae\xf6\x1d\x72\x97\x1f\xcc\xf7\x4d\x1d\x0b\x15\xf7" -+"\x36\xf7\x75\x05\xb7\xa2\x9d\xac\x9c\xae\x0a\xfb\x0d\x32\xf7\x0d\x05\xa3\x96\xb7\x0a\x76\x1a\x7b\x93\x7b\x99\x81\x1e\x95\x85\x94" -+"\x89\xa4\x8a\xf7\x37\xfb\x75\x18\xfb\x19\x4e\x07\xeb\x1d\x06\x0b\xd1\x1d\x81\x81\x7a\x8e\x0a\xf1\x1d\x71\x83\xb6\x0a\x88\x83\x77" -+"\x78\x1e\x77\x75\x68\x7e\x6a\x1b\x68\x6d\x93\xa0\x59\x1f\xe4\x07\xa3\x89\x94\x85\x4d\x1d\x80\x72\x1a\xfb\x32\x07\x93\x88\x05\x61" -+"\xe5\xcc\x79\xc3\x1b\xc7\xc3\x9e\xaf\xb6\x1f\xbc\xb2\x9c\xb0\xcb\x1a\x0b\xf7\x33\xa5\x15\x6f\xbc\xb5\x80\xbd\x1b\xf7\x30\xf7\x13" -+"\xf7\x18\xf7\x37\xd2\x79\xc2\x61\xc4\x1f\xbd\xc7\x05\x9c\x9f\x8f\x93\x99\x1a\xa7\x74\xa1\x6e\x77\x82\x85\x72\x76\x1e\x5f\x56\x05" -+"\xaa\x5a\x5c\x99\x57\x1b\xfb\x31\xfb\x13\xfb\x18\xfb\x38\x41\x9f\x51\xb9\x51\x1f\x54\x48\x05\x79\x76\x87\x83\x7d\x1a\x70\xa3\x75" -+"\xa8\x9f\x94\x90\xa4\xa0\x1e\xf7\xec\xf8\x33\x15\x99\x6f\x94\x67\x69\x1a\x24\x3b\x34\x2c\x71\x75\x90\x98\x72\x1e\x41\xd0\x15\x77" -+"\xac\x82\xad\xb2\x1a\xf4\xda\xe2\xeb\xa8\xa5\x84\x7b\xa6\x1e\x0b\xf7\x5a\xf7\x53\x15\xe9\x06\xea\xbd\x9c\xba\xb8\x1f\xab\xad\x9e" -+"\xb9\xb8\x1a\xf7\x00\x2f\xd7\xfb\x15\x1e\xfb\x7d\x06\x71\x20\x1d\x7a\x94\x7b\x98\x82\x1e\x83\x96\x96\x89\xa5\x96\x0a\xf7\xfa\x04" -+"\xf7\x06\x06\xce\xb3\x6c\x57\x56\x63\x6c\x48\x1f\xfb\x06\x06\x0e\xf8\xbb\xf8\x15\x15\xa0\x9f\x90\x93\x9c\x1a\xa6\x74\xa1\x6f\x78" -+"\x82\x86\x77\x76\x1e\x5e\x5e\x05\x9c\x66\x56\x96\x5e\x1b\xfb\x24\xfb\x07\x27\xfb\x12\x5a\x9d\x5c\xae\x61\x1f\x5d\x5e\x05\x76\x77" -+"\x86\x82\x7b\x1a\x6f\xa2\x75\xa8\x9c\x93\x90\xa0\xa2\x1e\xc0\xc0\x05\x78\xb6\xb2\x83\xba\x1b\xf7\x26\xf7\x07\xef\xf7\x12\xbb\x7a" -+"\xb8\x6a\xb5\x1f\x3e\x40\x15\x98\x78\x91\x77\x76\x1a\x45\x48\x56\x32\x7c\x82\x8c\x8f\x78\x1e\x33\xc2\x15\x7d\xa0\x84\x9f\xa1\x1a" -+"\xd0\xce\xc1\xe2\x9b\x96\x8a\x86\xa1\x1e\x0b\xf8\xa9\xf8\x61\x15\xb2\x8c\xa1\x9d\xab\x31\x0a\x20\x0a\xfb\x16\xf7\x08\x1d\xaa\xfb" -+"\xa2\x06\x53\x53\x5e\x46\x46\x53\xb8\xc3\x1e\xf7\xa2\xaa\x07\xa3\x96\x8c\x91\x94\x1f\xa4\x1d\x83\x8d\x6e\x1b\xfb\x16\x06\x3d\x1d" -+"\x79\x1a\x6c\xa1\x78\xb2\x8a\x1e\xfb\x99\x07\x0b\xf7\x5b\xf3\x15\xf7\x6e\x95\x07\xba\xa4\x9c\xf7\x4b\x1d\xa0\x7c\xbe\x8a\x1f\xfb" -+"\x6f\xa0\x0a\xf7\x6f\x07\xbf\x8c\x9f\x9a\x6e\x1d\xfb\x0c\x06\x5d\x73\x79\x69\x69\xa3\x7a\xb9\x1f\x95\xfb\x6e\x06\x0e\xf7\x5d\xf8" -+"\x62\x15\xab\x92\x99\x9b\xa7\x1a\xb1\x74\x98\x4b\x1e\x48\x06\x4c\x73\x7d\x67\x67\xa1\x7b\xbc\x89\x1f\xf7\x3d\xfb\xb3\x76\x68\x78" -+"\x6b\x79\x7a\x7e\x8d\x19\x8a\x06\x87\x91\x06\xc1\x7b\xa1\x65\x64\x7d\x76\x50\x1e\x5a\x07\x66\xb3\x75\xd1\xcb\xb1\xa6\xd8\xb8\x1e" -+"\xf7\x6e\xf8\x07\x05\xba\x8d\xa1\x9c\xac\x28\x1d\x4b\x06\x4b\x74\x7d\x66\x6f\x99\x7b\xab\x84\x1f\xfb\x00\xfb\x4b\x05\x0b\xf7\x7f" -+"\xf8\x3d\x15\xfb\x02\x72\x0a\xfb\x6d\x7e\x07\x68\x73\x76\x6c\x2d\x0a\x1f\xf7\x04\x06\xb9\xa4\x9d\xac\xa2\x7b\xa0\x77\x90\x1f\x8d" -+"\x83\x7f\x8d\x7a\x1b\xf0\x07\xb8\x91\xa0\x9d\xa0\x1e\xa7\xa3\xa5\x99\xa7\x1b\xb7\x9e\x6c\x46\x1f\xfc\x0b\x2f\x0a\xf8\x0a\x07\xf7" -+"\x14\x4c\xd7\x21\x60\x6e\x81\x70\x6b\x1e\x0b\xf7\xf6\xf8\x61\x15\xec\x69\x1d\xfb\xc2\x06\x5d\x0a\xec\xfb\xfa\x2a\x06\x71\x20\x1d" -+"\x68\xa3\x7a\xb9\x1e\x0b\x9c\x1d\x80\x6c\x1a\xfb\x33\x89\x07\x71\x82\x50\x1d\x9a\x81\x3f\x1d\xf7\x04\x06\xa1\x99\xf7\x3a\x1d\x92" -+"\x20\x0a\x89\xf7\x40\x06\xec\x42\xcc\xfb\x00\x59\x0b\x15\x9a\x9b\x90\x1d\x22\x05\x75\x74\x8a\x8a\x4e\x1d\xf7\x9e\xf3\x15\x9b\x9b" -+"\x90\xf7\x5e\x1d\x7f\x1e\x25\x22\x05\x76\x74\x8a\x8a\x4e\x1d\x0e\x07\xa4\x0a\x0b\x5e\x8a\x0a\x0b\x1a\x54\x60\x1d\x80\x1e\x7d\x6e" -+"\x83\x88\x7f\x1b\x7e\x84\x90\x95\x0b\xf7\xc3\xf7\x2b\x15\xfb\x1e\xf7\xca\x05\x98\x06\xa4\x95\x8c\x91\x94\x1f\x9b\x94\x95\x9d\x9c" -+"\x31\x0a\x81\x7f\x8d\x71\x1b\xfb\x19\x06\x72\x82\x89\x86\x81\x3c\x1d\x84\x96\x95\x89\xa5\x1b\xf7\x5f\xfc\x61\x05\xf2\x06\x0b\x1f" -+"\x69\x84\x07\x71\x5c\x1d\xa5\x1b\x92\xfb\x6f\x80\x5b\x0a\xf8\x6a\x31\x1d\x0b\xa8\x06\xa2\x97\x38\x1d\x6e\xad\x06\xe7\x1d\x0b\x7a" -+"\x1a\x7a\x94\x7b\x98\x82\x1e\x83\x96\x96\x89\xa5\x1b\x96\x06\xf7\x00\xfb\x13\x15\xf7\x13\xf7\x15\x07\xc8\xaf\x75\x68\x61\x5b\x6f" -+"\x46\x1f\xfb\x01\xfb\x7b\x15\xf7\x14\xf7\x17\x07\xb4\xaa\x84\x7d\xa4\x1f\xa3\x7d\x9c\x73\x76\x1a\x6b\x6a\x7b\x4a\x1e\x0e\xf7\x9c" -+"\xf3\x15\xf7\x6d\xf7\x5e\x38\x07\x5e\x9e\x74\xae\xae\x9e\xa2\xb8\x1e\xf7\x4f\xfc\x6a\x07\x52\x1d\xbf\xfb\x6d\x57\x06\x46\x0a\x0b" -+"\xf7\x3e\x1d\xb1\xd6\xf7\x00\x0a\x91\x83\x8e\x7b\x90\x75\x8e\x85\x93\x84\x08\x83\x94\x9b\x85\x99\x47\x0a\x0b\xf8\xc7\xf7\x6e\x15" -+"\xa2\x97\x32\x1d\x9c\x9d\x22\x1d\xfc\xa2\xf7\x22\x1d\x95\x97\x89\xa5\x1b\x0e\xf7\x00\xf7\xd6\x95\x0a\x0b\x07\xa4\x0a\xb3\x81\xa7" -+"\x1b\xcc\xb9\xb3\xc3\x4e\x0a\x95\x0a\x0e\x15\xd5\x0a\x96\x97\x88\xa4\x1b\xf8\x14\x06\xa1\x98\x8d\x90\x94\x1f\x9b\x94\x95\x9d\x9d" -+"\x1a\x9b\x83\x9b\x7d\x94\x1e\x93\x20\x0a\x0b\x1b\x96\xfb\xfa\x80\x06\x72\x82\x89\x86\x61\x1d\xf7\x6a\x29\x0a\x2c\x06\x0b\xf8\x3c" -+"\xf7\x67\xdc\x1d\x0b\x1a\x78\x9a\x7d\x9f\x95\x95\x90\x93\x91\x1e\xb2\xab\x91\x90\x9c\xf5\x1d\xa7\x0a\x81\x1e\x95\x85\x92\x89\xa1" -+"\x8a\xfb\x04\x0b\xf8\xb3\xf8\x15\x15\xa8\x9d\x93\x95\xa0\x1a\xa4\x74\xa3\x71\x7e\x84\x88\x7d\x75\x1e\xfc\x43\xfb\xa1\x05\x6d\x79" -+"\x84\x81\x77\x1a\x71\xa2\x73\xa4\x97\x9a\x91\x95\x9b\x1e\x0e\x15\xbb\xaa\x80\x71\xa7\x1f\xa3\x75\x99\x6b\x6d\x1a\x41\x50\x59\x34" -+"\x5d\x6a\x97\xa4\x70\x1e\x73\xa2\x7d\xaa\xab\x1a\xaa\x99\xaa\xa3\xa2\x1e\xa5\xa6\xab\x96\xbb\x1b\x0e\xf7\x52\x1d\x96\xfb\xfa\x06" -+"\x65\x74\x78\x6b\x69\xa3\x79\xba\x1f\xf7\x15\x06\xb9\xa3\x9c\xae\xa9\x1d\x6c\x0b\x29\x1d\x95\xfb\xf8\x81\x29\x1d\xf7\xa7\x06\xf7" -+"\x21\xd4\xc0\xf3\xf7\x07\x34\xc9\xfb\x37\x1f\xfb\x0d\x0b\x75\x89\x88\x4e\x1d\x0b\x9a\x7c\xa5\x0a\x0b\x2c\x0a\xf7\x1c\x63\x06\x5f" -+"\x9e\x74\xae\xaf\x9e\xa2\xb7\x1e\xb3\xf7\x1b\x07\xb9\xa3\x9d\xad\xaa\x7a\x9b\x68\x8f\x1f\x0b\xea\x1d\x0e\x15\x98\x7a\x86\x8e\x7f" -+"\x64\x0a\x21\x05\x80\x99\x96\x86\x95\x1b\xa1\x9e\x9c\xa0\x99\x84\x95\x7a\x99\x1f\x0e\xf7\x1f\x1d\x7e\x9b\x93\x62\x0a\x8c\x98\x94" -+"\x8c\x8f\x76\x1d\x75\x91\x94\x7a\x1f\x96\x77\x89\x8c\x55\x1d\x7a\x94\x7e\xa0\x80\x1f\x7e\xa5\x0b\xaa\x3e\x1d\x96\xa4\x1a\xdb\x07" -+"\xa4\x8a\x93\x84\x95\x1e\x9a\x81\x7a\x94\x78\x1b\x79\x7f\x85\x7b\x7e\x1f\xa9\x46\x71\x91\x0b\x3a\x1d\x93\x20\x0a\x0b\x05\xad\x8f" -+"\x9e\x9d\xa8\x22\x1d\x2f\x06\x2e\x1d\x7b\x93\x7b\x99\x0b\xf7\x07\x0a\xf7\x03\x07\xca\x8d\x9f\x98\xb0\x1a\xb2\x74\x98\x4a\x1e\x32" -+"\x06\x4b\x74\x7d\x65\x68\x9f\x7d\xc0\x88\x1f\xfb\x07\x07\x0b\x40\x1d\x91\x81\x9d\x7d\x1f\xf7\x1a\x21\x05\x80\x99\x95\x86\x0b\x71" -+"\x83\x8a\x85\x81\x48\x0a\x83\x0b\x15\x68\x6e\x6f\x6a\x69\xa8\x6f\xae\xae\xa8\xa7\xac\xae\x6f\xa6\x67\x1f\x0b\x15\x9d\x99\x91\x95" -+"\x98\x1a\xa1\x79\x9c\x74\x7f\x85\x51\x1d\x7d\x84\x80\x7e\x1a\x77\x9e\x79\xa1\x95\x95\x0b\xf8\xef\x15\xfb\x0c\x06\xd6\x0a\x95\x96" -+"\x89\xa6\x1b\x97\xfc\x21\x0b\x2a\x1d\x81\x8d\x70\x1b\x2f\x06\x73\x7f\xbe\x0a\x74\x97\x7a\xa4\x81\x1e\x34\x0b\xf7\x26\xf7\xfa\x15" -+"\xf7\x04\xfb\x76\x05\xea\x06\xf4\xf7\x75\x05\xfb\x91\x6c\x07\x71\x83\x89\x4f\x0a\x7a\x79\x1a\x0b\x88\x8f\x74\x9d\x1f\xfb\x2d\xf7" -+"\x11\xf7\x15\x1d\x1b\x99\x92\x88\x7a\xa6\x1f\x70\xb8\xac\xcd\x0a\x06\xba\xa3\x9c\xae\x9b\x2a\x1d\x81\x8d\x6f\x1b\x0b\xbb\xb6\xcd" -+"\xac\x7d\xaa\x71\xa0\x1e\x3b\xd2\x0a\x0b\x8a\x84\x8b\x80\x82\x1a\x6c\xa0\x76\xa9\xa5\x9c\x9b\xb0\x94\x1e\xc1\x9a\xa2\x99\xd8\x1b" -+"\xbf\xb3\x7e\x79\x7a\x5f\x7e\x4e\x0b\xa2\x74\xa8\x95\x99\x8d\x8f\x9d\x1e\x96\xbb\xad\x90\xad\x1b\xc8\xa6\x7e\x6e\x1f\x79\x07\x91" -+"\x68\x6a\x8e\x6a\x1b\x32\x0b\xca\x0a\xf7\x07\xfb\xa0\x06\x60\x0b\x97\x9b\xa1\x31\x0a\x2f\x1d\x32\x06\x76\x84\x8a\x88\x82\x1f\x78" -+"\x85\x7c\x76\x0b\x89\xa4\x1b\xf7\x06\x06\xf7\x03\xe0\xda\xf1\x8a\x1f\xf8\x4c\x0b\xf7\x49\x1d\x9f\x0b\x06\xcb\xa2\x99\xb1\xaf\x75" -+"\x9a\x57\x8c\x1f\xf7\xf9\x07\xc1\x8d\x8f\x1d\x0b\xf8\x96\xf8\x3d\x15\xfb\x1f\x06\x72\x81\x89\x86\x82\x32\x0a\x84\x0b\x1e\x69\x06" -+"\x4c\x74\x7d\x66\x6e\x9a\x7a\xac\x85\x1f\x2b\x07\x4c\xf7\x02\x05\xcd\x65\x6c\xa2\x58\x1b\x5f\x81\x0b\xf8\xe4\xf7\x01\x0a\x93\x85" -+"\x9b\x1b\x9e\x9b\x99\x9c\x90\x8a\x93\x88\x92\x1f\x0b\x89\x86\x82\x1f\x7b\x81\x81\x7a\x7a\x1a\x0b\x06\xf7\x0f\x1d\x0b\x06\x71\x0a" -+"\x7c\x95\x9d\x82\x9d\x3e\x1d\x94\xa6\x1a\x0b\x46\xfb\x5c\x05\x88\x84\x8a\x84\x85\x1a\x7b\x9b\x7d\x9e\x9a\x93\x91\x9d\x97\x1e\xf7" -+"\x25\xf7\x76\x05\x0b\x07\xbb\x8c\xa1\x9c\xae\x1a\xaf\x73\x99\x4c\x1e\x40\x06\x4c\x73\x7d\x67\x68\xa1\x7a\xbc\x8a\x1f\x0b\xf7\x6f" -+"\xf7\x0d\x15\x34\xb9\x5a\xde\xbf\xad\xa2\xaf\xa7\x73\xa3\x6f\x84\x81\x89\x89\x84\x1e\x89\x0b\x1a\xaa\xa8\xa2\xb2\xa5\x9e\x84\x7a" -+"\x9b\x1e\x72\xa2\x91\x88\x9f\x1b\xa9\xa2\xa2\xa9\xbe\x3a\xbe\x0b\x70\x84\x8a\x85\x81\x48\x0a\x84\x95\x98\x88\xa4\x1b\x0b\x8d\xfb" -+"\x2e\xf7\x11\x18\xed\x0a\xa0\x95\x93\x0b\x15\xa2\xa2\x97\xa6\xaa\x1a\xc9\x59\xbb\x4a\x49\x59\x5b\x4c\x6d\x97\x70\xa2\x74\x1e\x72" -+"\x76\x0b\xf8\x6f\xe6\x0a\x97\x87\x93\x7e\x95\x1f\x0b\x8a\x84\x80\x1f\x7b\x82\x81\x7a\x7a\x1a\x7b\x94\x7b\x98\x81\x1e\x83\x97\x94" -+"\x89\xa6\x1b\x0b\xd1\x0a\xa5\x1b\x0b\x15\x99\x97\x92\x96\x97\x1a\x9d\x7a\x9b\x78\x82\x81\x53\x1d\x7c\x0b\x1f\x7e\x07\x53\x98\x76" -+"\xae\xa4\x98\x96\xa7\x94\x1e\xc0\x2d\x8e\x85\x8e\x87\x95\x7e\x19\x0b\xa8\x1d\x9a\x9a\x1a\x9b\x7a\x9a\x78\x1e\x0e\xf7\x10\x0a\x79" -+"\x1a\x0b\x15\x9d\x99\x91\x95\x98\x1a\xa1\x79\x9c\x74\x7f\x85\x88\x7e\x7a\x1e\xfb\x19\x21\x05\x0b\x06\xa0\xf6\x0a\x83\x9a\x7c\x96" -+"\x1e\x93\x0b\xf7\x2b\x1d\x93\x7b\x99\x82\x1e\x83\x96\x96\x89\x0b\xf7\x12\x15\xa7\x9f\x78\x70\x6e\x78\x78\x6d\x6f\x77\x9e\xa7\xa7" -+"\x9f\x9e\xa8\x1f\x0b\x1a\xad\x73\x9d\x5c\x1e\xfb\x0c\x29\x1d\x95\x0b\x1b\x8d\x06\x67\xfb\x16\x52\xf7\x23\x05\x2d\x06\x53\xfb\x22" -+"\x69\xf7\x15\x05\x0b\x71\x83\x8a\x85\x81\x3b\x0a\x7a\x93\x7b\x99\x82\x1e\x84\x0b\x77\x84\x8b\x88\x81\x1f\x78\x84\x7d\x77\x76\x4b" -+"\x0a\x83\x0b\x06\x77\x84\x8a\x88\x82\x1f\x77\x85\x7d\x76\x0b\x40\xdd\x0a\x0b\x91\x82\x1e\x7b\x95\x9c\x82\x9e\x2d\x1d\x0b\x15\xa7" -+"\x5f\x69\x9b\x7c\x1b\x84\x84\x83\x82\x85\x8f\x86\x97\x80\x1f\xae\x0b\x65\x1a\x66\xa2\x7d\xca\x1e\xed\x06\xca\x6e\x0a\x0b\x83\x34" -+"\x1d\x0b\xc7\xe8\x1f\xc8\x07\xef\xd3\xd2\xef\xad\xad\x83\x7c\xa6\x1e\xa7\x7c\x0b\x72\x82\x89\x86\x81\x73\x1d\x2d\x0a\x1e\x0b\x7d" -+"\x67\x68\xa1\x7a\xb9\x8a\x1f\x4b\x07\x0b\x8d\x90\x3a\x1d\x0b\x1a\x6b\xa5\x79\xb8\x1e\xab\x06\xba\xa5\x9d\xac\xa0\x82\x98\x71\x0b" -+"\x1e\xe0\x06\xcb\x6e\x0a\x89\x06\x89\xd1\x0b\x1e\x7b\x95\x9d\x82\x9d\x1b\x9c\x9b\x93\x98\x96\x1f\x93\x96\x8d\x0b\x62\xf7\x0a\x0a" -+"\xf7\x24\x07\x0e\x81\xac\x1d\x93\xa6\x1a\x0b\x15\xf7\x02\x30\x05\x82\x97\x93\x87\x95\x1b\xa0\x9d\x9c\xa0\x0b\xab\x1d\x74\x1b\x6c" -+"\x6e\x0b\xf7\x08\x0a\xf7\x18\x2b\x1d\xad\x0b\xf7\x65\x1d\xf7\x31\x07\x0e\x1b\x5e\x68\x9e\xa7\x83\x1f\xa6\x83\x83\x93\x77\x1b\x0e" -+"\x5c\x73\xf7\x08\x0a\x0b\x06\x9f\xf6\x0a\x0b\xfb\x2f\xfb\x11\x05\x75\x79\x88\x87\x7d\x1a\x76\x9d\x7a\x0b\x9e\x1a\x9d\x82\x9b\x7c" -+"\x96\x1e\x93\x7f\x82\x8d\x6e\x1b\x0b\x6f\x1a\x68\xa3\x79\xb9\x1e\xf7\xd5\x06\xd4\xb2\xab\xc6\x0b\x7f\x1a\x79\x9c\x7b\x9e\x94\x96" -+"\x57\x1d\x05\x82\x97\x94\x87\x95\x1b\xa0\x9d\x9c\xa0\x97\x87\x0b\x06\x33\x66\x84\x71\x64\x1f\x47\x5e\x68\x40\x27\x1a\x0b\x1a\x68" -+"\xa3\x7a\xb9\x1e\xf7\x03\x0b\x82\x90\x7f\x92\x83\x1f\x81\x95\x93\x88\xa6\x1b\x0b\x90\x1a\x9b\x7b\x9a\x7a\x7d\x82\x84\x79\x81\x1e" -+"\x0b\x9b\x8e\x8f\x93\x1f\x9b\x95\x95\x9c\x9d\x1a\x9b\x0b\xdc\xc7\xbf\xe8\xb6\xae\x83\x7b\xa4\x1f\x97\x84\x0b\x15\xfb\x25\x06\xf7" -+"\x28\xfb\x7a\x05\x78\x97\x0b\x93\x7c\x99\x81\x1e\x83\x95\x98\x89\xa4\x1b\x0b\x1b\x80\x7f\x90\x9e\x6a\x1f\xa8\x59\x79\x92\x0b\x67" -+"\x76\x7c\x70\x82\x90\x7f\x92\x83\x1f\x81\x0b\x9b\x99\x9e\x95\x86\x92\x7f\x96\x1f\x0e\x1f\x7b\x81\x81\x7a\x79\x1a\x0b\x61\x1b\x5f" -+"\x7e\x9d\xc6\x1f\x0b\x79\x69\x69\xa3\x79\xba\x1f\x0b\xf6\xbe\xb7\x97\xa8\xbc\x1e\x0b\x06\x5f\x9d\x74\xaf\xae\x9e\xa2\xb7\x1e\x0b" -+"\x06\x74\x7f\x80\x78\x77\x97\x80\xa2\x1f\x0b\x8a\x75\x7a\x6a\x1a\x69\xa4\x79\xb9\x1e\x0b\x15\x9f\x9a\x90\x93\x99\x1a\xa1\x79\x9c" -+"\x0b\x19\x8f\x8f\x94\x98\x90\x94\xbf\xe8\x18\x0b\x5d\x73\x79\x68\x69\xa0\x7c\xbe\x89\x1f\x0b\x72\x81\x89\x85\x82\x1f\x7b\x82\x81" -+"\x7a\x0b\x96\xa6\x8e\x1f\xab\xf7\x8b\x05\x0e", 52203 -+}; -diff -up texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/fonts/NimbusMonoPS-BoldItalic.cff.cpp.301 texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/fonts/NimbusMonoPS-BoldItalic.cff.cpp ---- texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/fonts/NimbusMonoPS-BoldItalic.cff.cpp.301 2023-01-17 15:53:51.707205346 -0500 -+++ texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/fonts/NimbusMonoPS-BoldItalic.cff.cpp 2023-01-17 15:53:51.707205346 -0500 -@@ -0,0 +1,1855 @@ -+#include "Base14Fonts.hpp" -+ -+extern const MemoryFontData NimbusMonoPS_BoldItalic_cff = { -+"\x01\x00\x04\x02\x00\x01\x01\x01\x18\x4e\x69\x6d\x62\x75\x73\x4d\x6f\x6e\x6f\x50\x53\x2d\x42\x6f\x6c\x64\x49\x74\x61\x6c\x69\x63" -+"\x00\x01\x01\x01\x38\xf9\xbc\x00\xf9\xbd\x01\xf9\xbe\x0c\x00\xf9\xbf\x02\xf9\xc0\x03\xf8\x14\x04\x8c\x0c\x01\x7f\x0c\x02\x33\x0c" -+"\x03\xf7\x02\x0c\x04\x2e\xfc\x1d\xf9\xe0\xfa\x79\x05\x1c\x35\xaf\x0f\x1c\x35\xc2\x11\xa9\x1d\x00\x00\xd1\x60\x12\x01\xa6\x02\x00" -+"\x01\x00\x08\x00\x0e\x00\x13\x00\x1d\x00\x24\x00\x2b\x00\x35\x00\x39\x00\x3f\x00\x45\x00\x50\x00\x5a\x00\x5d\x00\x63\x00\x69\x00" -+"\x6e\x00\x74\x00\x7a\x00\x84\x00\x8b\x00\x8e\x00\x95\x00\x9c\x00\xa8\x00\xab\x00\xb3\x00\xb7\x00\xbc\x00\xc2\x00\xcd\x00\xd9\x00" -+"\xe3\x00\xe7\x00\xf2\x00\xf4\x00\xfa\x01\x04\x01\x0b\x01\x12\x01\x16\x01\x22\x01\x2b\x01\x31\x01\x3c\x01\x41\x01\x4d\x01\x53\x01" -+"\x59\x01\x5f\x01\x6b\x01\x6f\x01\x71\x01\x77\x01\x7d\x01\x89\x01\x8b\x01\x91\x01\x9e\x01\xa5\x01\xaf\x01\xb6\x01\xc2\x01\xcd\x01" -+"\xd0\x01\xd2\x01\xd5\x01\xdb\x01\xe1\x01\xed\x01\xf0\x01\xf6\x01\xfe\x02\x09\x02\x15\x02\x1a\x02\x1d\x02\x21\x02\x27\x02\x33\x02" -+"\x38\x02\x3e\x02\x4b\x02\x52\x02\x59\x02\x60\x02\x6f\x02\x7b\x02\x80\x02\x86\x02\x8c\x02\x97\x02\xa0\x02\xa6\x02\xa8\x02\xb3\x02" -+"\xb9\x02\xbf\x02\xc9\x02\xcd\x02\xd3\x02\xda\x02\xe3\x02\xec\x02\xf5\x02\xfe\x03\x07\x03\x10\x03\x19\x03\x22\x03\x2b\x03\x34\x03" -+"\x3d\x03\x46\x03\x4f\x03\x58\x03\x61\x03\x6a\x03\x73\x03\x7c\x03\x85\x03\x8e\x03\x97\x03\xa0\x03\xa9\x03\xb2\x03\xbb\x03\xc4\x03" -+"\xcd\x03\xd6\x03\xdf\x03\xe8\x03\xf1\x03\xfa\x04\x03\x04\x0c\x04\x15\x04\x1e\x04\x27\x04\x30\x04\x39\x04\x42\x04\x4b\x04\x54\x04" -+"\x5d\x04\x66\x04\x6f\x04\x78\x04\x81\x04\x8a\x04\x93\x04\x9c\x04\xa5\x04\xae\x04\xb7\x04\xc0\x04\xc9\x04\xd2\x04\xdb\x04\xe4\x04" -+"\xed\x04\xf6\x04\xff\x05\x08\x05\x11\x05\x1a\x05\x23\x05\x2c\x05\x35\x05\x3e\x05\x47\x05\x50\x05\x59\x05\x62\x05\x6b\x05\x74\x05" -+"\x7d\x05\x86\x05\x8f\x05\x98\x05\xa1\x05\xaa\x05\xb3\x05\xbc\x05\xc5\x05\xce\x05\xd7\x05\xe0\x05\xe9\x05\xf2\x05\xfb\x06\x04\x06" -+"\x0d\x06\x16\x06\x1f\x06\x28\x06\x31\x06\x3a\x06\x43\x06\x4c\x06\x55\x06\x5a\x06\x64\x06\x6b\x06\x74\x06\x7e\x06\x85\x06\x90\x06" -+"\x9a\x06\xa3\x06\xac\x06\xb5\x06\xbf\x06\xc6\x06\xcf\x06\xdb\x06\xdf\x06\xe5\x06\xeb\x06\xf6\x07\x00\x07\x03\x07\x11\x07\x15\x07" -+"\x1b\x07\x21\x07\x26\x07\x2d\x07\x3a\x07\x40\x07\x46\x07\x50\x07\x57\x07\x5e\x07\x61\x07\x68\x07\x6f\x07\x7b\x07\x86\x07\x8f\x07" -+"\x92\x07\x9a\x07\xa3\x07\xae\x07\xb4\x07\xb9\x07\xbe\x07\xc4\x07\xcf\x07\xdb\x07\xe5\x07\xf1\x07\xf5\x08\x00\x08\x05\x08\x0a\x08" -+"\x10\x08\x12\x08\x19\x08\x21\x08\x29\x08\x33\x08\x3d\x08\x49\x08\x55\x08\x5c\x08\x60\x08\x6c\x08\x7d\x08\x86\x08\x8c\x08\x97\x08" -+"\x9c\x08\xa8\x08\xb4\x08\xba\x08\xc0\x08\xc6\x08\xd2\x08\xd6\x08\xdf\x08\xe3\x08\xe8\x08\xec\x08\xf2\x08\xfd\x09\x0b\x09\x11\x09" -+"\x1c\x09\x22\x09\x2e\x09\x38\x09\x40\x09\x42\x09\x48\x09\x55\x09\x5c\x09\x61\x09\x6b\x09\x72\x09\x7e\x09\x88\x09\x93\x09\x9e\x09" -+"\xa4\x09\xa7\x09\xa9\x09\xb0\x09\xbc\x09\xca\x09\xcd\x09\xda\x09\xe0\x09\xe7\x09\xed\x09\xf9\x0a\x06\x0a\x09\x0a\x0f\x0a\x17\x0a" -+"\x22\x0a\x2e\x0a\x34\x0a\x39\x0a\x42\x0a\x47\x0a\x50\x0a\x53\x0a\x56\x0a\x5a\x0a\x60\x0a\x6c\x0a\x71\x0a\x76\x0a\x7c\x0a\x89\x0a" -+"\x90\x0a\x9d\x0a\xa4\x0a\xab\x0a\xb2\x0a\xb9\x0a\xc0\x0a\xc7\x0a\xce\x0a\xd5\x0a\xdc\x0a\xe3\x0a\xea\x0a\xf1\x0a\xf8\x0a\xff\x0b" -+"\x06\x0b\x0d\x0b\x14\x0b\x1b\x0b\x22\x0b\x29\x0b\x30\x0b\x37\x0b\x3e\x0b\x45\x0b\x4c\x0b\x53\x0b\x5a\x0b\x61\x0b\x68\x0b\x6f\x0b" -+"\x76\x0b\x7d\x0b\x84\x0b\x8b\x0b\x92\x0b\x99\x0b\xa0\x0b\xa7\x0b\xae\x0b\xb5\x0b\xbc\x0b\xc3\x0b\xca\x0b\xd1\x0b\xd8\x0b\xdf\x0b" -+"\xe6\x0b\xed\x0b\xf4\x0b\xfb\x0c\x02\x0c\x09\x0c\x10\x0c\x17\x0c\x1e\x0c\x25\x0c\x2c\x0c\x33\x0c\x3a\x0c\x41\x0c\x48\x0c\x4d\x0c" -+"\x56\x0c\x5d\x0c\x64\x0c\x73\x0c\x87\x0c\x93\x0c\x98\x0c\x9e\x0c\xa4\x0c\xaf\x0c\xb8\x0c\xbe\x0c\xc0\x0c\xcb\x0c\xd1\x0c\xd7\x0c" -+"\xe1\x0c\xe5\x0c\xe9\x0d\x1f\x0d\x5f\x0d\x79\x0d\x87\x41\x45\x61\x63\x75\x74\x65\x41\x62\x72\x65\x76\x65\x41\x6c\x70\x68\x61\x41" -+"\x6c\x70\x68\x61\x74\x6f\x6e\x6f\x73\x41\x6d\x61\x63\x72\x6f\x6e\x41\x6f\x67\x6f\x6e\x65\x6b\x41\x72\x69\x6e\x67\x61\x63\x75\x74" -+"\x65\x42\x65\x74\x61\x43\x61\x63\x75\x74\x65\x43\x63\x61\x72\x6f\x6e\x43\x63\x69\x72\x63\x75\x6d\x66\x6c\x65\x78\x43\x64\x6f\x74" -+"\x61\x63\x63\x65\x6e\x74\x43\x68\x69\x44\x63\x61\x72\x6f\x6e\x44\x63\x72\x6f\x61\x74\x44\x65\x6c\x74\x61\x45\x62\x72\x65\x76\x65" -+"\x45\x63\x61\x72\x6f\x6e\x45\x64\x6f\x74\x61\x63\x63\x65\x6e\x74\x45\x6d\x61\x63\x72\x6f\x6e\x45\x6e\x67\x45\x6f\x67\x6f\x6e\x65" -+"\x6b\x45\x70\x73\x69\x6c\x6f\x6e\x45\x70\x73\x69\x6c\x6f\x6e\x74\x6f\x6e\x6f\x73\x45\x74\x61\x45\x74\x61\x74\x6f\x6e\x6f\x73\x45" -+"\x75\x72\x6f\x47\x61\x6d\x6d\x61\x47\x62\x72\x65\x76\x65\x47\x63\x69\x72\x63\x75\x6d\x66\x6c\x65\x78\x47\x63\x6f\x6d\x6d\x61\x61" -+"\x63\x63\x65\x6e\x74\x47\x64\x6f\x74\x61\x63\x63\x65\x6e\x74\x48\x62\x61\x72\x48\x63\x69\x72\x63\x75\x6d\x66\x6c\x65\x78\x49\x4a" -+"\x49\x62\x72\x65\x76\x65\x49\x64\x6f\x74\x61\x63\x63\x65\x6e\x74\x49\x6d\x61\x63\x72\x6f\x6e\x49\x6f\x67\x6f\x6e\x65\x6b\x49\x6f" -+"\x74\x61\x49\x6f\x74\x61\x64\x69\x65\x72\x65\x73\x69\x73\x49\x6f\x74\x61\x74\x6f\x6e\x6f\x73\x49\x74\x69\x6c\x64\x65\x4a\x63\x69" -+"\x72\x63\x75\x6d\x66\x6c\x65\x78\x4b\x61\x70\x70\x61\x4b\x63\x6f\x6d\x6d\x61\x61\x63\x63\x65\x6e\x74\x4c\x61\x63\x75\x74\x65\x4c" -+"\x61\x6d\x62\x64\x61\x4c\x63\x61\x72\x6f\x6e\x4c\x63\x6f\x6d\x6d\x61\x61\x63\x63\x65\x6e\x74\x4c\x64\x6f\x74\x4d\x75\x4e\x61\x63" -+"\x75\x74\x65\x4e\x63\x61\x72\x6f\x6e\x4e\x63\x6f\x6d\x6d\x61\x61\x63\x63\x65\x6e\x74\x4e\x75\x4f\x62\x72\x65\x76\x65\x4f\x68\x75" -+"\x6e\x67\x61\x72\x75\x6d\x6c\x61\x75\x74\x4f\x6d\x61\x63\x72\x6f\x6e\x4f\x6d\x65\x67\x61\x74\x6f\x6e\x6f\x73\x4f\x6d\x69\x63\x72" -+"\x6f\x6e\x4f\x6d\x69\x63\x72\x6f\x6e\x74\x6f\x6e\x6f\x73\x4f\x73\x6c\x61\x73\x68\x61\x63\x75\x74\x65\x50\x68\x69\x50\x69\x50\x73" -+"\x69\x52\x61\x63\x75\x74\x65\x52\x63\x61\x72\x6f\x6e\x52\x63\x6f\x6d\x6d\x61\x61\x63\x63\x65\x6e\x74\x52\x68\x6f\x53\x61\x63\x75" -+"\x74\x65\x53\x63\x65\x64\x69\x6c\x6c\x61\x53\x63\x69\x72\x63\x75\x6d\x66\x6c\x65\x78\x53\x63\x6f\x6d\x6d\x61\x61\x63\x63\x65\x6e" -+"\x74\x53\x69\x67\x6d\x61\x54\x61\x75\x54\x62\x61\x72\x54\x63\x61\x72\x6f\x6e\x54\x63\x6f\x6d\x6d\x61\x61\x63\x63\x65\x6e\x74\x54" -+"\x68\x65\x74\x61\x55\x62\x72\x65\x76\x65\x55\x68\x75\x6e\x67\x61\x72\x75\x6d\x6c\x61\x75\x74\x55\x6d\x61\x63\x72\x6f\x6e\x55\x6f" -+"\x67\x6f\x6e\x65\x6b\x55\x70\x73\x69\x6c\x6f\x6e\x55\x70\x73\x69\x6c\x6f\x6e\x64\x69\x65\x72\x65\x73\x69\x73\x55\x70\x73\x69\x6c" -+"\x6f\x6e\x74\x6f\x6e\x6f\x73\x55\x72\x69\x6e\x67\x55\x74\x69\x6c\x64\x65\x57\x61\x63\x75\x74\x65\x57\x63\x69\x72\x63\x75\x6d\x66" -+"\x6c\x65\x78\x57\x64\x69\x65\x72\x65\x73\x69\x73\x57\x67\x72\x61\x76\x65\x58\x69\x59\x63\x69\x72\x63\x75\x6d\x66\x6c\x65\x78\x59" -+"\x67\x72\x61\x76\x65\x5a\x61\x63\x75\x74\x65\x5a\x64\x6f\x74\x61\x63\x63\x65\x6e\x74\x5a\x65\x74\x61\x61\x62\x72\x65\x76\x65\x61" -+"\x65\x61\x63\x75\x74\x65\x61\x66\x69\x69\x30\x30\x32\x30\x38\x61\x66\x69\x69\x31\x30\x30\x31\x37\x61\x66\x69\x69\x31\x30\x30\x31" -+"\x38\x61\x66\x69\x69\x31\x30\x30\x31\x39\x61\x66\x69\x69\x31\x30\x30\x32\x30\x61\x66\x69\x69\x31\x30\x30\x32\x31\x61\x66\x69\x69" -+"\x31\x30\x30\x32\x32\x61\x66\x69\x69\x31\x30\x30\x32\x33\x61\x66\x69\x69\x31\x30\x30\x32\x34\x61\x66\x69\x69\x31\x30\x30\x32\x35" -+"\x61\x66\x69\x69\x31\x30\x30\x32\x36\x61\x66\x69\x69\x31\x30\x30\x32\x37\x61\x66\x69\x69\x31\x30\x30\x32\x38\x61\x66\x69\x69\x31" -+"\x30\x30\x32\x39\x61\x66\x69\x69\x31\x30\x30\x33\x30\x61\x66\x69\x69\x31\x30\x30\x33\x31\x61\x66\x69\x69\x31\x30\x30\x33\x32\x61" -+"\x66\x69\x69\x31\x30\x30\x33\x33\x61\x66\x69\x69\x31\x30\x30\x33\x34\x61\x66\x69\x69\x31\x30\x30\x33\x35\x61\x66\x69\x69\x31\x30" -+"\x30\x33\x36\x61\x66\x69\x69\x31\x30\x30\x33\x37\x61\x66\x69\x69\x31\x30\x30\x33\x38\x61\x66\x69\x69\x31\x30\x30\x33\x39\x61\x66" -+"\x69\x69\x31\x30\x30\x34\x30\x61\x66\x69\x69\x31\x30\x30\x34\x31\x61\x66\x69\x69\x31\x30\x30\x34\x32\x61\x66\x69\x69\x31\x30\x30" -+"\x34\x33\x61\x66\x69\x69\x31\x30\x30\x34\x34\x61\x66\x69\x69\x31\x30\x30\x34\x35\x61\x66\x69\x69\x31\x30\x30\x34\x36\x61\x66\x69" -+"\x69\x31\x30\x30\x34\x37\x61\x66\x69\x69\x31\x30\x30\x34\x38\x61\x66\x69\x69\x31\x30\x30\x34\x39\x61\x66\x69\x69\x31\x30\x30\x35" -+"\x30\x61\x66\x69\x69\x31\x30\x30\x35\x31\x61\x66\x69\x69\x31\x30\x30\x35\x32\x61\x66\x69\x69\x31\x30\x30\x35\x33\x61\x66\x69\x69" -+"\x31\x30\x30\x35\x34\x61\x66\x69\x69\x31\x30\x30\x35\x35\x61\x66\x69\x69\x31\x30\x30\x35\x36\x61\x66\x69\x69\x31\x30\x30\x35\x37" -+"\x61\x66\x69\x69\x31\x30\x30\x35\x38\x61\x66\x69\x69\x31\x30\x30\x35\x39\x61\x66\x69\x69\x31\x30\x30\x36\x30\x61\x66\x69\x69\x31" -+"\x30\x30\x36\x31\x61\x66\x69\x69\x31\x30\x30\x36\x32\x61\x66\x69\x69\x31\x30\x30\x36\x35\x61\x66\x69\x69\x31\x30\x30\x36\x36\x61" -+"\x66\x69\x69\x31\x30\x30\x36\x37\x61\x66\x69\x69\x31\x30\x30\x36\x38\x61\x66\x69\x69\x31\x30\x30\x36\x39\x61\x66\x69\x69\x31\x30" -+"\x30\x37\x30\x61\x66\x69\x69\x31\x30\x30\x37\x31\x61\x66\x69\x69\x31\x30\x30\x37\x32\x61\x66\x69\x69\x31\x30\x30\x37\x33\x61\x66" -+"\x69\x69\x31\x30\x30\x37\x34\x61\x66\x69\x69\x31\x30\x30\x37\x35\x61\x66\x69\x69\x31\x30\x30\x37\x36\x61\x66\x69\x69\x31\x30\x30" -+"\x37\x37\x61\x66\x69\x69\x31\x30\x30\x37\x38\x61\x66\x69\x69\x31\x30\x30\x37\x39\x61\x66\x69\x69\x31\x30\x30\x38\x30\x61\x66\x69" -+"\x69\x31\x30\x30\x38\x31\x61\x66\x69\x69\x31\x30\x30\x38\x32\x61\x66\x69\x69\x31\x30\x30\x38\x33\x61\x66\x69\x69\x31\x30\x30\x38" -+"\x34\x61\x66\x69\x69\x31\x30\x30\x38\x35\x61\x66\x69\x69\x31\x30\x30\x38\x36\x61\x66\x69\x69\x31\x30\x30\x38\x37\x61\x66\x69\x69" -+"\x31\x30\x30\x38\x38\x61\x66\x69\x69\x31\x30\x30\x38\x39\x61\x66\x69\x69\x31\x30\x30\x39\x30\x61\x66\x69\x69\x31\x30\x30\x39\x31" -+"\x61\x66\x69\x69\x31\x30\x30\x39\x32\x61\x66\x69\x69\x31\x30\x30\x39\x33\x61\x66\x69\x69\x31\x30\x30\x39\x34\x61\x66\x69\x69\x31" -+"\x30\x30\x39\x35\x61\x66\x69\x69\x31\x30\x30\x39\x36\x61\x66\x69\x69\x31\x30\x30\x39\x37\x61\x66\x69\x69\x31\x30\x30\x39\x38\x61" -+"\x66\x69\x69\x31\x30\x30\x39\x39\x61\x66\x69\x69\x31\x30\x31\x30\x30\x61\x66\x69\x69\x31\x30\x31\x30\x31\x61\x66\x69\x69\x31\x30" -+"\x31\x30\x32\x61\x66\x69\x69\x31\x30\x31\x30\x33\x61\x66\x69\x69\x31\x30\x31\x30\x34\x61\x66\x69\x69\x31\x30\x31\x30\x35\x61\x66" -+"\x69\x69\x31\x30\x31\x30\x36\x61\x66\x69\x69\x31\x30\x31\x30\x37\x61\x66\x69\x69\x31\x30\x31\x30\x38\x61\x66\x69\x69\x31\x30\x31" -+"\x30\x39\x61\x66\x69\x69\x31\x30\x31\x31\x30\x61\x66\x69\x69\x31\x30\x31\x34\x35\x61\x66\x69\x69\x31\x30\x31\x39\x33\x61\x66\x69" -+"\x69\x31\x30\x38\x34\x36\x61\x66\x69\x69\x36\x31\x32\x34\x38\x61\x66\x69\x69\x36\x31\x32\x38\x39\x61\x66\x69\x69\x36\x31\x33\x35" -+"\x32\x61\x6c\x70\x68\x61\x61\x6c\x70\x68\x61\x74\x6f\x6e\x6f\x73\x61\x6d\x61\x63\x72\x6f\x6e\x61\x6e\x67\x6c\x65\x6c\x65\x66\x74" -+"\x61\x6e\x67\x6c\x65\x72\x69\x67\x68\x74\x61\x6f\x67\x6f\x6e\x65\x6b\x61\x70\x70\x72\x6f\x78\x65\x71\x75\x61\x6c\x61\x72\x69\x6e" -+"\x67\x61\x63\x75\x74\x65\x61\x72\x72\x6f\x77\x62\x6f\x74\x68\x61\x72\x72\x6f\x77\x64\x6f\x77\x6e\x61\x72\x72\x6f\x77\x6c\x65\x66" -+"\x74\x61\x72\x72\x6f\x77\x72\x69\x67\x68\x74\x61\x72\x72\x6f\x77\x75\x70\x61\x72\x72\x6f\x77\x75\x70\x64\x6e\x61\x72\x72\x6f\x77" -+"\x75\x70\x64\x6e\x62\x73\x65\x62\x65\x74\x61\x63\x61\x63\x75\x74\x65\x63\x63\x61\x72\x6f\x6e\x63\x63\x69\x72\x63\x75\x6d\x66\x6c" -+"\x65\x78\x63\x64\x6f\x74\x61\x63\x63\x65\x6e\x74\x63\x68\x69\x63\x69\x72\x63\x6c\x65\x6d\x75\x6c\x74\x69\x70\x6c\x79\x63\x6c\x75" -+"\x62\x64\x63\x61\x72\x6f\x6e\x64\x63\x72\x6f\x61\x74\x64\x65\x6c\x74\x61\x64\x69\x61\x6d\x6f\x6e\x64\x64\x69\x65\x72\x65\x73\x69" -+"\x73\x74\x6f\x6e\x6f\x73\x65\x62\x72\x65\x76\x65\x65\x63\x61\x72\x6f\x6e\x65\x64\x6f\x74\x61\x63\x63\x65\x6e\x74\x65\x6c\x65\x6d" -+"\x65\x6e\x74\x65\x6d\x61\x63\x72\x6f\x6e\x65\x6e\x67\x65\x6f\x67\x6f\x6e\x65\x6b\x65\x70\x73\x69\x6c\x6f\x6e\x65\x70\x73\x69\x6c" -+"\x6f\x6e\x74\x6f\x6e\x6f\x73\x65\x71\x75\x69\x76\x61\x6c\x65\x6e\x63\x65\x65\x73\x74\x69\x6d\x61\x74\x65\x64\x65\x74\x61\x65\x74" -+"\x61\x74\x6f\x6e\x6f\x73\x65\x78\x63\x6c\x61\x6d\x64\x62\x6c\x65\x78\x69\x73\x74\x65\x6e\x74\x69\x61\x6c\x66\x65\x6d\x61\x6c\x65" -+"\x66\x72\x61\x6e\x63\x67\x61\x6d\x6d\x61\x67\x62\x72\x65\x76\x65\x67\x63\x69\x72\x63\x75\x6d\x66\x6c\x65\x78\x67\x63\x6f\x6d\x6d" -+"\x61\x61\x63\x63\x65\x6e\x74\x67\x64\x6f\x74\x61\x63\x63\x65\x6e\x74\x67\x72\x65\x61\x74\x65\x72\x65\x71\x75\x61\x6c\x68\x62\x61" -+"\x72\x68\x63\x69\x72\x63\x75\x6d\x66\x6c\x65\x78\x68\x65\x61\x72\x74\x68\x6f\x75\x73\x65\x69\x62\x72\x65\x76\x65\x69\x6a\x69\x6d" -+"\x61\x63\x72\x6f\x6e\x69\x6e\x66\x69\x6e\x69\x74\x79\x69\x6e\x74\x65\x67\x72\x61\x6c\x69\x6e\x74\x65\x67\x72\x61\x6c\x62\x74\x69" -+"\x6e\x74\x65\x67\x72\x61\x6c\x74\x70\x69\x6e\x74\x65\x72\x73\x65\x63\x74\x69\x6f\x6e\x69\x6e\x76\x73\x6d\x69\x6c\x65\x66\x61\x63" -+"\x65\x69\x6f\x67\x6f\x6e\x65\x6b\x69\x6f\x74\x61\x69\x6f\x74\x61\x64\x69\x65\x72\x65\x73\x69\x73\x69\x6f\x74\x61\x64\x69\x65\x72" -+"\x65\x73\x69\x73\x74\x6f\x6e\x6f\x73\x69\x6f\x74\x61\x74\x6f\x6e\x6f\x73\x69\x74\x69\x6c\x64\x65\x6a\x63\x69\x72\x63\x75\x6d\x66" -+"\x6c\x65\x78\x6b\x61\x70\x70\x61\x6b\x63\x6f\x6d\x6d\x61\x61\x63\x63\x65\x6e\x74\x6b\x67\x72\x65\x65\x6e\x6c\x61\x6e\x64\x69\x63" -+"\x6c\x61\x63\x75\x74\x65\x6c\x61\x6d\x62\x64\x61\x6c\x63\x61\x72\x6f\x6e\x6c\x63\x6f\x6d\x6d\x61\x61\x63\x63\x65\x6e\x74\x6c\x64" -+"\x6f\x74\x6c\x65\x73\x73\x65\x71\x75\x61\x6c\x6c\x69\x72\x61\x6c\x6f\x6e\x67\x73\x6d\x61\x6c\x65\x6d\x69\x6e\x75\x74\x65\x6d\x75" -+"\x73\x69\x63\x61\x6c\x6e\x6f\x74\x65\x6d\x75\x73\x69\x63\x61\x6c\x6e\x6f\x74\x65\x64\x62\x6c\x6e\x61\x63\x75\x74\x65\x6e\x61\x70" -+"\x6f\x73\x74\x72\x6f\x70\x68\x65\x6e\x63\x61\x72\x6f\x6e\x6e\x63\x6f\x6d\x6d\x61\x61\x63\x63\x65\x6e\x74\x6e\x6f\x74\x65\x6c\x65" -+"\x6d\x65\x6e\x74\x6e\x6f\x74\x65\x71\x75\x61\x6c\x6e\x75\x6f\x62\x72\x65\x76\x65\x6f\x68\x75\x6e\x67\x61\x72\x75\x6d\x6c\x61\x75" -+"\x74\x6f\x6d\x61\x63\x72\x6f\x6e\x6f\x6d\x65\x67\x61\x6f\x6d\x65\x67\x61\x74\x6f\x6e\x6f\x73\x6f\x6d\x69\x63\x72\x6f\x6e\x6f\x6d" -+"\x69\x63\x72\x6f\x6e\x74\x6f\x6e\x6f\x73\x6f\x72\x74\x68\x6f\x67\x6f\x6e\x61\x6c\x6f\x73\x6c\x61\x73\x68\x61\x63\x75\x74\x65\x70" -+"\x61\x72\x74\x69\x61\x6c\x64\x69\x66\x66\x70\x65\x73\x65\x74\x61\x70\x68\x69\x70\x69\x70\x72\x6f\x64\x75\x63\x74\x70\x72\x6f\x70" -+"\x65\x72\x73\x75\x62\x73\x65\x74\x70\x72\x6f\x70\x65\x72\x73\x75\x70\x65\x72\x73\x65\x74\x70\x73\x69\x71\x75\x6f\x74\x65\x72\x65" -+"\x76\x65\x72\x73\x65\x64\x72\x61\x63\x75\x74\x65\x72\x61\x64\x69\x63\x61\x6c\x72\x63\x61\x72\x6f\x6e\x72\x63\x6f\x6d\x6d\x61\x61" -+"\x63\x63\x65\x6e\x74\x72\x65\x76\x6c\x6f\x67\x69\x63\x61\x6c\x6e\x6f\x74\x72\x68\x6f\x73\x61\x63\x75\x74\x65\x73\x63\x65\x64\x69" -+"\x6c\x6c\x61\x73\x63\x69\x72\x63\x75\x6d\x66\x6c\x65\x78\x73\x63\x6f\x6d\x6d\x61\x61\x63\x63\x65\x6e\x74\x73\x65\x63\x6f\x6e\x64" -+"\x73\x69\x67\x6d\x61\x73\x6d\x69\x6c\x65\x66\x61\x63\x65\x73\x70\x61\x64\x65\x73\x75\x6d\x6d\x61\x74\x69\x6f\x6e\x73\x75\x6e\x74" -+"\x61\x75\x74\x62\x61\x72\x74\x63\x61\x72\x6f\x6e\x74\x63\x6f\x6d\x6d\x61\x61\x63\x63\x65\x6e\x74\x74\x68\x65\x74\x61\x74\x6f\x6e" -+"\x6f\x73\x75\x62\x72\x65\x76\x65\x75\x68\x75\x6e\x67\x61\x72\x75\x6d\x6c\x61\x75\x74\x75\x6d\x61\x63\x72\x6f\x6e\x75\x6e\x64\x65" -+"\x72\x73\x63\x6f\x72\x65\x64\x62\x6c\x75\x6e\x69\x30\x30\x41\x30\x75\x6e\x69\x30\x30\x41\x44\x75\x6e\x69\x30\x32\x31\x41\x75\x6e" -+"\x69\x30\x32\x31\x42\x75\x6e\x69\x30\x32\x43\x39\x75\x6e\x69\x30\x33\x38\x37\x75\x6e\x69\x30\x33\x39\x34\x75\x6e\x69\x30\x33\x41" -+"\x39\x75\x6e\x69\x30\x33\x42\x43\x75\x6e\x69\x30\x33\x43\x32\x75\x6e\x69\x30\x34\x30\x30\x75\x6e\x69\x30\x34\x30\x44\x75\x6e\x69" -+"\x30\x34\x35\x30\x75\x6e\x69\x30\x34\x35\x44\x75\x6e\x69\x30\x34\x39\x32\x75\x6e\x69\x30\x34\x39\x33\x75\x6e\x69\x30\x34\x39\x36" -+"\x75\x6e\x69\x30\x34\x39\x37\x75\x6e\x69\x30\x34\x39\x38\x75\x6e\x69\x30\x34\x39\x39\x75\x6e\x69\x30\x34\x39\x41\x75\x6e\x69\x30" -+"\x34\x39\x42\x75\x6e\x69\x30\x34\x39\x43\x75\x6e\x69\x30\x34\x39\x44\x75\x6e\x69\x30\x34\x41\x30\x75\x6e\x69\x30\x34\x41\x31\x75" -+"\x6e\x69\x30\x34\x41\x32\x75\x6e\x69\x30\x34\x41\x33\x75\x6e\x69\x30\x34\x41\x41\x75\x6e\x69\x30\x34\x41\x42\x75\x6e\x69\x30\x34" -+"\x41\x45\x75\x6e\x69\x30\x34\x41\x46\x75\x6e\x69\x30\x34\x42\x30\x75\x6e\x69\x30\x34\x42\x31\x75\x6e\x69\x30\x34\x42\x32\x75\x6e" -+"\x69\x30\x34\x42\x33\x75\x6e\x69\x30\x34\x42\x36\x75\x6e\x69\x30\x34\x42\x37\x75\x6e\x69\x30\x34\x42\x38\x75\x6e\x69\x30\x34\x42" -+"\x39\x75\x6e\x69\x30\x34\x42\x41\x75\x6e\x69\x30\x34\x42\x42\x75\x6e\x69\x30\x34\x43\x30\x75\x6e\x69\x30\x34\x43\x42\x75\x6e\x69" -+"\x30\x34\x43\x43\x75\x6e\x69\x30\x34\x44\x38\x75\x6e\x69\x30\x34\x45\x32\x75\x6e\x69\x30\x34\x45\x33\x75\x6e\x69\x30\x34\x45\x38" -+"\x75\x6e\x69\x30\x34\x45\x39\x75\x6e\x69\x30\x34\x45\x45\x75\x6e\x69\x30\x34\x45\x46\x75\x6e\x69\x32\x30\x33\x45\x75\x6e\x69\x32" -+"\x30\x41\x46\x75\x6e\x69\x32\x31\x32\x36\x75\x6e\x69\x32\x32\x31\x35\x75\x6e\x69\x32\x32\x31\x39\x75\x6e\x69\x32\x32\x32\x37\x75" -+"\x6e\x69\x32\x32\x32\x38\x75\x6e\x69\x32\x32\x39\x35\x75\x6e\x69\x32\x35\x41\x31\x75\x6e\x69\x6f\x6e\x75\x6e\x69\x76\x65\x72\x73" -+"\x61\x6c\x75\x6f\x67\x6f\x6e\x65\x6b\x75\x70\x73\x69\x6c\x6f\x6e\x75\x70\x73\x69\x6c\x6f\x6e\x64\x69\x65\x72\x65\x73\x69\x73\x75" -+"\x70\x73\x69\x6c\x6f\x6e\x64\x69\x65\x72\x65\x73\x69\x73\x74\x6f\x6e\x6f\x73\x75\x70\x73\x69\x6c\x6f\x6e\x74\x6f\x6e\x6f\x73\x75" -+"\x72\x69\x6e\x67\x75\x74\x69\x6c\x64\x65\x77\x61\x63\x75\x74\x65\x77\x63\x69\x72\x63\x75\x6d\x66\x6c\x65\x78\x77\x64\x69\x65\x72" -+"\x65\x73\x69\x73\x77\x67\x72\x61\x76\x65\x78\x69\x79\x63\x69\x72\x63\x75\x6d\x66\x6c\x65\x78\x79\x67\x72\x61\x76\x65\x7a\x61\x63" -+"\x75\x74\x65\x7a\x64\x6f\x74\x61\x63\x63\x65\x6e\x74\x7a\x65\x74\x61\x31\x2e\x30\x30\x28\x55\x52\x57\x29\x2b\x2b\x2c\x43\x6f\x70" -+"\x79\x72\x69\x67\x68\x74\x20\x32\x30\x31\x34\x20\x62\x79\x20\x28\x55\x52\x57\x29\x2b\x2b\x20\x44\x65\x73\x69\x67\x6e\x20\x26\x20" -+"\x44\x65\x76\x65\x6c\x6f\x70\x6d\x65\x6e\x74\x43\x6f\x70\x79\x72\x69\x67\x68\x74\x20\x28\x55\x52\x57\x29\x2b\x2b\x2c\x43\x6f\x70" -+"\x79\x72\x69\x67\x68\x74\x20\x32\x30\x31\x34\x20\x62\x79\x20\x28\x55\x52\x57\x29\x2b\x2b\x20\x44\x65\x73\x69\x67\x6e\x20\x26\x20" -+"\x44\x65\x76\x65\x6c\x6f\x70\x6d\x65\x6e\x74\x4e\x69\x6d\x62\x75\x73\x20\x4d\x6f\x6e\x6f\x20\x50\x53\x20\x42\x6f\x6c\x64\x20\x49" -+"\x74\x61\x6c\x69\x63\x4e\x69\x6d\x62\x75\x73\x20\x4d\x6f\x6e\x6f\x20\x50\x53\x01\x4d\x02\x00\x01\x00\x06\x00\x16\x00\x7d\x00\xb0" -+"\x00\xb6\x00\xbb\x00\xc6\x00\xcd\x00\xd6\x00\xdb\x00\xe4\x00\xea\x00\xf6\x01\x25\x01\x64\x01\x7f\x01\x8e\x01\x96\x01\x9c\x01\xa1" -+"\x01\xd8\x01\xf1\x01\xf9\x02\x07\x02\x12\x02\x1e\x02\x26\x02\x2c\x02\x30\x02\x39\x02\x42\x02\x4a\x02\x52\x02\x5a\x02\x60\x02\x7d" -+"\x02\xd2\x02\xf5\x03\x21\x03\x2a\x03\x3c\x03\x46\x03\x4d\x03\x58\x03\x67\x03\x6f\x03\x7a\x03\x80\x03\x89\x03\x92\x03\x9b\x03\xa1" -+"\x03\xa7\x03\xb2\x04\x21\x04\x26\x04\x76\x04\xac\x04\xb8\x04\xcb\x04\xd9\x04\xe7\x04\xfa\x05\x07\x05\x13\x05\x1f\x05\x2e\x05\x3a" -+"\x05\x4c\x05\x54\x05\x5d\x05\x66\x05\x73\x05\x7a\x05\x86\x05\x8e\x05\x96\x06\x0a\x06\x9f\x06\xf3\x07\x4a\x07\xa6\x08\x06\x08\x2a" -+"\x08\x4e\x08\x80\x08\x8f\x08\xad\x08\xc9\x08\xe3\x08\xea\x08\xf9\x09\x0b\x09\x24\x09\x50\x09\x58\x09\x6d\x09\x72\x09\x7c\x09\x90" -+"\x09\xb4\x09\xd5\x09\xe6\x09\xf0\x09\xfc\x0a\x17\x0a\x1b\x0a\x2a\x0a\x38\x0a\x41\x0a\x4b\x0a\x61\x0a\x6e\x0a\x76\x0a\x7e\x0a\x8a" -+"\x0a\x96\x0a\xa2\x0a\xad\x0a\xb8\x0a\xc0\x0a\xd0\x0a\xda\x0a\xe4\x0a\xec\x0a\xf3\x0b\x02\x0b\x10\x0b\x16\x0b\x24\x0b\x32\x0b\x3b" -+"\x0b\x44\x0b\x4a\x0b\x57\x0b\x5e\x0b\x6a\x0b\x76\x0b\x7e\x0b\x86\x0b\x8e\x0b\x96\x0b\xa1\x0b\xac\x0b\xb7\x0c\x83\x0d\x10\x0d\xa5" -+"\x0d\xc5\x0e\x32\x0e\x90\x0e\xfd\x0f\x34\x0f\x44\x0f\x53\x0f\xdd\x0f\xf1\x10\x54\x10\xbf\x11\x3c\x11\x9b\x11\xd9\x12\x39\x12\xaf" -+"\x12\xbf\x13\x2c\x13\x6c\x13\x90\x13\xf6\x14\x46\x14\x90\x14\xc2\x15\x1b\x15\x75\x15\xaf\x15\xb6\x15\xd0\x16\x0d\x16\x1d\x16\x3e" -+"\x16\x6f\x16\x90\x16\xce\x16\xea\x16\xed\x17\x18\x17\x53\x17\x6f\x17\x9a\x17\xc2\x17\xd3\x17\xe1\x18\x09\x18\x25\x18\x55\x18\x84" -+"\x18\xb0\x18\xdd\x19\x0a\x19\x13\x19\x29\x19\x52\x19\x7b\x19\x7e\x19\x88\x19\x9a\x19\xc1\x19\xe7\x1a\x0c\x1a\x2c\x1a\x4f\x1a\x66" -+"\x1a\x89\x1a\xac\x1a\xce\x1a\xf0\x1b\x12\x1b\x2a\x1b\x41\x1b\x5e\x1b\x7d\x1b\x9b\x1b\xb8\x1b\xc9\x1b\xe6\x1c\x02\x1c\x1e\x1c\x34" -+"\x1c\x50\x1c\x6a\x1c\x85\x1c\x8d\x1c\xa1\x1c\xba\x1c\xca\x1c\xde\x1c\xec\x1c\xf7\x1c\xff\x1d\x17\x1d\x1f\x1d\x25\x1d\x3c\x1d\x41" -+"\x1d\x52\x1d\x62\x1d\x6d\x1d\x83\x1d\x98\x1d\xa5\x1d\xb0\x1d\xc5\x1d\xd4\x1d\xdb\x1d\xe9\x1d\xfd\x1e\x11\x1e\x15\x1e\x28\x1e\x3b" -+"\x1e\x4e\x1e\x52\x1e\x5c\x1e\x6f\x1e\x82\x1e\x94\x1e\xa6\x1e\xb8\x1e\xca\x1e\xdc\x1e\xee\x1e\xf9\x1f\x0a\x1f\x1b\x1f\x25\x1f\x36" -+"\x1f\x47\x1f\x58\x1f\x69\x1f\x7a\x1f\x7f\x1f\x89\x1f\x99\x1f\xa4\x1f\xb4\x1f\xbc\x1f\xcc\x1f\xd6\x1f\xe0\x1f\xef\x1f\xf7\x20\x00" -+"\x20\x0f\x20\x18\x20\x26\x20\x34\x20\x42\x20\x50\x20\x5c\x20\x65\x20\x6e\x20\x77\x20\x84\x20\x91\x20\x9e\x20\xab\x20\xb8\x20\xc5" -+"\x20\xd2\x20\xdf\x20\xe8\x20\xf5\x21\x01\x21\x0d\x21\x19\x21\x25\x21\x31\x21\x3d\x21\x49\x21\x51\x21\x5c\x21\x67\x21\x72\x21\x7d" -+"\x21\x88\x21\x93\x21\x9e\x21\xa9\x21\xb4\x21\xbf\x21\xca\x21\xd5\x21\xde\x84\x8c\x77\x1b\x0b\x78\x9c\x71\x68\x75\x75\x5e\x81\x1e" -+"\x80\x5c\x05\xfb\x8b\x06\x0b\xf8\x53\xf7\x2b\x15\x94\x5c\x05\x79\x06\x6b\x81\x88\x7f\x7c\x1f\x7b\x7f\x82\x79\x7a\x1a\x6d\x9d\x7f" -+"\xb5\x1e\xf7\x1f\x06\xa8\x99\x3d\x1d\x9c\x1a\xa6\x79\x9a\x6b\x1e\x82\x06\x2b\xf8\x60\x05\xfb\x70\x06\x6a\x83\x99\x1d\xc3\x06\xfb" -+"\x7b\xfb\xf9\x6b\x8a\x81\x89\x7d\x7f\x19\x7b\x7e\x31\x1d\xb6\x1e\xf7\x18\x06\xa9\x98\x3d\x1d\x9c\x1a\x9c\x2c\x1d\x7c\x06\xa9\xba" -+"\x05\xf7\x67\xf2\x15\xfb\x25\x06\xf7\x03\xf7\x3d\x05\x0b\x15\x8c\x8c\x8c\x8c\x8d\x8c\x8e\x8f\x8e\x8e\x8c\x8d\x08\x93\x94\x8e\x92" -+"\x96\x1a\x9d\x7d\x98\x78\x7a\x7d\x83\x7b\x7d\x1e\x23\xfb\x0e\x05\x7a\x79\x87\x83\x7d\x1a\x7b\x9a\x7d\x9d\x9a\x9b\x94\x9b\x99\x1e" -+"\x0e\xb9\x1d\xf8\x6d\x06\x0b\x39\x1d\x7a\x1a\x0b\x06\x6b\x81\x4e\x1d\x6d\x9d\x7f\xb6\x1e\x0b\x49\x1d\x9c\x7f\xb6\x1e\x0b\x8f\x96" -+"\x99\x1f\x9b\x97\x94\x9d\x0b\x3d\x1d\x9b\x1a\x0b\x88\x7f\x7c\x1f\x7c\x7f\x81\x79\x0b\x06\xa7\xf7\x13\x05\x0b\x81\x9b\x7c\x90\x1e" -+"\x8e\x82\x85\x8c\x76\x1b\x0b\xf8\x13\x16\xf7\x0e\x06\xa9\x98\x28\x1d\x9b\x1a\x9d\x81\x9b\x41\x1d\x77\x1b\x7f\x06\xb5\xf7\x50\x05" -+"\x8e\x97\x8c\x95\x97\x69\x1d\x2a\x7b\x7b\x67\x1e\x76\x4f\x1d\x73\x9d\x7a\xa3\x73\x1d\x0b\xf8\x3f\xf8\xd6\x15\xfb\x4a\xfb\x42\xfb" -+"\x45\xfb\x4d\xfb\x17\xea\x29\xf7\x14\xf7\x4e\xf7\x41\xf7\x43\xf7\x50\xf7\x18\x2b\xeb\xfb\x16\x1f\x75\x24\x15\xdb\xc4\x4e\x36\xfb" -+"\x0b\xfb\x03\xfb\x0c\xfb\x02\x39\x52\xc7\xe1\xf7\x0d\xf7\x02\xf7\x0a\xf7\x05\x1f\x0b\x15\xa3\x9b\x94\x97\x9c\x1a\x9d\xf7\x4a\x1d" -+"\x7c\x81\x7d\x7c\x1a\x78\x99\x7e\x9f\x95\x97\x90\x95\x9a\x1e\x0e\x7c\x1f\x7b\x7f\x82\x7a\x7a\x1a\x7a\x95\x7b\x9a\x86\x1e\x0b\x82" -+"\x7a\x7a\x1a\x6d\x9d\x7f\x0b\x90\x1e\x8e\x82\x84\x0b\xf8\xe2\xcf\x1d\x0b\x39\x1d\x7b\x1a\x77\x93\x7f\x9e\x83\x1e\xfb\x07\xfb\x0e" -+"\x4e\xf7\x0d\xf7\x04\x1d\x79\x7b\x1a\x6e\x9c\x7e\xb1\x1e\xf7\x05\xfb\x74\x6d\xfb\x1a\x05\x4d\x06\x6b\x81\x3a\x1d\xf7\x7b\x06\xa7" -+"\x9a\x8f\x96\x99\x91\x1d\x4f\x06\x0b\x67\x1d\x4e\x1d\x6d\x9d\x7f\xb7\x1e\xd4\x06\x5a\xfb\x6f\x05\xfb\x0a\x06\x6b\x81\x88\x7f\xe8" -+"\x1d\x0b\x4e\x1d\x6d\x9d\x7f\xb6\x1e\x0b\x06\x6b\x81\x88\x7f\x7c\x1f\x7b\x7f\x82\x79\x7b\x1a\x0b\x06\x6b\x81\x3b\x1d\x6e\x9d\x7e" -+"\xb6\x1e\x0b\x06\x6b\x81\x88\x7f\x7c\x1f\x7b\x7f\x82\x7a\x0b\x3b\x1d\x6d\x9d\x7f\xb6\x1e\x0b\x3f\x1d\x7a\x7a\x1a\x0b\x9c\x3e\x1d" -+"\x0b\x8f\x96\x99\x1f\x9a\x97\x95\x9d\x0b\x1a\x9c\x81\x9b\x7c\x90\x1e\x8e\x0b\x89\x7e\x7c\x1f\x7b\x7f\x82\x0b\x74\x64\x6e\x9e\x7e" -+"\xb5\x1f\x0b\x7c\x90\x1e\x8e\x83\x84\x8b\x0b\x06\x6a\x82\x89\x7e\x0b\xf8\x7c\xf8\xef\x15\xfb\x4b\x06\x6b\x80\xf7\x19\x1d\xd5\x06" -+"\x32\xfc\x20\x05\xfb\x0a\x06\x6b\x81\x89\x7e\xe8\x1d\x0b\x15\x6f\xfb\x13\x05\x7f\x06\x6b\x81\x3f\x1d\x7a\x7b\x1a\x6c\x9c\x7f\xb7" -+"\x1e\xf7\x0d\x06\xa8\x98\x29\x1d\x9c\x81\x9c\x41\x1d\x77\x1b\x8a\x06\xdb\xf7\xfa\x05\xb2\x8f\xa4\xa3\xac\xa8\x1d\x76\x1b\x27\x06" -+"\x6b\x81\x88\x7f\x30\x1d\x88\x94\x91\x8a\x9f\x1b\x95\x06\x6f\xfb\x14\x05\xfb\x62\x06\xa7\xf7\x14\x05\x97\x06\xaa\x96\x7f\x1d\x27" -+"\x39\x1d\x0b\x8c\x1d\x74\x80\x8c\x8a\x9c\x79\x1f\xf7\x14\xfb\x10\xf7\x49\xf7\x10\x05\xa7\x9e\x91\x92\x9d\x1a\x9d\x7e\x98\x78\x81" -+"\x82\x87\x81\x7d\x1e\x0e\xf7\x55\x1d\xe1\xee\xf5\xdb\xd5\x9d\x7f\x97\x7a\x74\x7f\x80\x6d\x7f\x1f\x61\x7b\x5c\x6e\x56\x1b\x72\x75" -+"\x92\x9a\x78\x1f\x7b\x97\x88\x92\x88\xa8\x08\xac\x88\x84\x94\x75\x1b\x0e\x1f\x9c\x95\x96\x9d\xf7\x4d\x1d\x0b\x7d\x1f\xa3\xe7\x15" -+"\xbd\xac\xc4\xa7\xd1\x1b\xcf\xbd\x6b\x5d\x90\x1f\x0b\x06\x6a\x82\x3f\x1d\x7a\x7a\x1a\x6d\x0b\x06\x6b\x81\xf7\x41\x1d\x0b\x96\x06" -+"\x66\xfb\x3d\x05\x87\x7c\x8a\x7e\x0b\x78\x1a\x79\x94\x7b\x9a\x80\x1e\x84\x96\x98\x88\xa5\x1b\x0b\x7a\x1a\x79\x99\x7e\x9d\x95\x0b" -+"\x88\x7f\x7c\x1f\x7b\x7f\x82\x7a\x7a\x1a\x0b\x82\x7d\x77\x74\x1a\x0b\x8e\x97\x99\x1f\x9b\x97\x94\x9d\x0b\x1a\x9c\x80\x9b\x7d\x90" -+"\x1e\x8e\x0b\x1a\x9b\x80\x9b\x7d\x90\x1e\x8e\x0b\x06\x3b\xfb\xf8\x05\x0b\x5f\x7a\x92\x74\x1b\x0b\x1b\x9c\x9d\x93\x98\x98\x1f\x95" -+"\x95\x8f\x0b\xf8\xe4\xf8\x05\x15\x8e\x9b\x8c\x91\x94\x1a\xa1\x7a\x9a\x73\x7a\x81\x85\x7a\x7e\x1e\x9a\x6a\x63\x93\x5b\x1b\xfb\x1d" -+"\x22\x46\x31\x4c\xbf\x6c\xf7\x10\x63\x1d\x4b\x56\x64\x97\xa2\x75\x1e\xa9\x88\x7c\x99\x6f\x1b\x66\x75\x75\x5f\x81\x1f\x84\x6b\x05" -+"\x88\x7b\x8a\x87\x83\x1a\x73\x9d\x7b\xa6\x99\x93\x8e\x93\x98\x1e\x79\xaf\xbb\x82\xc5\x1b\xf7\x26\xf7\x05\xd2\xe6\xb0\x79\xaa\x6a" -+"\x9f\x1f\x72\x9b\x62\x96\x44\x94\x4e\x93\x84\x8d\x7f\x8f\x84\x1d\x08\x0b\xf8\xf4\xbc\x1d\x0b\x15\x40\x27\x05\x29\x06\x6c\x80\xf7" -+"\x41\x1d\xf7\x6a\xf7\x23\x1d\x83\x85\x8c\x79\x1b\xf7\xd2\xf8\x33\x05\xb2\x8f\xa5\xa3\xac\x1a\x9c\x2c\x1d\x2f\x06\x6c\x7f\x88\x7f" -+"\x7d\x1f\x7b\x7f\x82\x79\x7b\x1a\x6f\x9a\x7f\xae\x89\x1e\xfb\x31\xfb\x5e\x4c\xf7\x5e\xf7\x69\x1d\x7d\x32\x1d\xf7\x42\x1d\x7a\x1a" -+"\x73\x98\x7e\xa7\x87\x1e\x0b\xf8\xee\x15\x2e\xe5\x05\x94\x81\x83\x8f\x82\x1b\x74\x72\x74\x76\x81\x8f\x84\x99\x7e\x1f\xf7\x17\xfb" -+"\x11\xf7\x43\xf7\x10\x99\x95\x92\x91\x8d\x8c\x19\x91\x91\x90\x98\x94\x1a\x9b\x7c\x99\x7a\x81\x7e\x86\x83\x81\x1e\x0e\x05\xfb\x0d" -+"\x06\x6b\x81\x88\x7f\x30\x1d\x88\x0b\x15\x62\x65\x68\x66\x6e\xa1\x76\xa9\xb4\xb1\xae\xb1\xa8\x75\x9f\x6d\x1f\x0e\x1a\x9c\x81\x9a" -+"\x7c\x91\x1e\x8d\x85\x84\x8c\x7e\x1b\x0e\xf8\x87\x15\xfb\x13\x06\x73\xfb\x00\x05\xf7\x13\x06\x0b\x06\xab\x95\x8e\x97\x9a\x1f\x9b" -+"\x97\x94\x9c\x9c\x1a\xa9\x79\x97\x60\x1e\x0b\x7e\x1a\x76\x9a\x7c\x9f\x94\x9c\x93\x94\x95\x1e\x0b\x06\x59\x6b\x72\x64\x6f\x9b\x81" -+"\xb9\x8a\x1f\x0b\xc1\xac\x97\xb3\xc4\x1e\x82\x63\x05\xee\x06\x0b\x65\x68\x66\x6e\xa1\x76\xa9\xb4\xb1\xae\xb1\xa7\x75\xa0\x0b\x7d" -+"\x1f\xe1\x82\xa5\x81\x75\x1a\x75\x52\x78\x0b\x68\x6c\x6e\x6a\x73\x9d\x79\xa5\xae\xaa\xa8\xac\xa4\x79\x9c\x71\x1f\x0b\xfb\x3c\x05" -+"\x58\x4d\x70\x7f\x0b\x06\x61\xfb\x4f\x05\x88\x7e\x8a\x0b\xf8\x3d\x15\xfb\x4b\x06\x6a\x81\x0b\x97\x94\x9d\x9b\x1a\x9d\x81\x9a\x7c" -+"\x90\x1e\x8e\x0b\x1a\xd0\x49\xb6\x21\x53\x0b\x96\x7b\x99\x86\x1e\x88\x93\x96\x8a\x9c\x1b\x0b\x06\xa8\x99\x8f\x96\x99\x1f\x0b\x1f" -+"\xa4\xab\xb3\x98\xbc\x1b\x0b\xf9\x0d\xf8\x92\x15\x90\x9e\x8b\x8d\x93\x1a\xa2\x79\x9b\x72\x76\x7f\x83\x75\x7c\x1e\x9e\x6e\x60\x96" -+"\x59\x1b\xfb\x24\xfb\x0a\x2e\xfb\x06\x64\xa2\x62\xae\x76\x1f\xa7\x79\xa8\x82\xcd\x80\xcc\x7f\x99\x87\x9e\x81\x08\x9a\x83\x94\x7d" -+"\x7d\x1a\x60\x49\x67\x3a\x4c\x54\xa5\xab\x88\x1e\x89\xa5\xdb\x1d\x6c\x93\x55\x95\x3d\x9a\x83\xae\x1d\xb5\xc6\xb0\xcf\xc7\xb3\x73" -+"\x67\x6b\x8b\x8b\x92\x82\x1e\x82\x92\x99\x85\x9a\x1b\x9c\x9c\x93\x98\x98\x1f\x96\x95\x8f\x94\x91\xa5\x08\x0b\xf8\xe4\xf7\x41\x15" -+"\xac\x94\xa0\xa3\xa7\x1a\x9c\x80\x9a\x7d\x32\x1d\x8c\x77\x1b\xfb\x43\x06\x6b\x81\x3b\x1d\x7a\x6a\x1d\xe9\x06\x7e\x50\x05\x7c\x63" -+"\x63\x84\x5b\x1b\x27\x52\xb0\xcd\x9b\x8d\x9c\x8f\x9c\x1f\x98\xc8\x05\xf1\xa2\xe3\xcf\xf7\x00\x1b\xd2\xb7\x78\x6b\x8d\x1f\x8d\x6c" -+"\x8b\x8b\x90\x83\x08\x81\x91\x99\x85\x9a\x55\x1d\x94\x91\xa5\x9c\xd6\x18\x8f\x9d\x8b\x8c\x94\x1a\xa3\x7b\x9b\x72\x77\x7e\x83\x76" -+"\x7b\x1e\x9e\x65\x5d\x95\x56\x1b\x38\x44\x73\x58\x4b\x1f\x48\x58\x5d\x44\x7b\x41\x7c\x47\x18\x86\x78\x89\x77\x77\x1a\x48\xa4\x57" -+"\xba\x6d\x1e\x6f\xb7\xcc\x7b\xd3\x1b\xdb\xbe\x98\xba\xf4\x1f\x0b\xaf\xf7\x86\x15\x87\x7a\x89\x7a\x7a\x1a\xfb\x10\xed\x3b\xf7\x2a" -+"\xe6\xda\xa3\xb9\xc6\x1e\xa5\xa0\x98\x9e\x9f\x7e\x1d\xcb\xc5\x6c\x6a\x89\x1f\x8a\x76\x05\x74\x8a\x9d\x7a\xa5\x55\x1d\x95\x91\xa4" -+"\x9d\xdb\x18\x8f\x9d\x8b\x8c\x94\x1a\xa2\x79\x9c\x71\x79\x7e\x85\x7b\x7a\x1e\xa9\x4c\x73\x91\x52\x1b\xfb\x30\xfb\x25\xfb\x0a\xfb" -+"\x2e\x69\x1f\x0b\xf8\x80\xf8\x1e\x15\xa7\x6d\x5d\x9b\x58\x1b\xfb\x32\xfb\x1e\xfb\x15\xfb\x26\x23\xdb\x42\xf7\x08\xbd\xbb\x99\xa8" -+"\xbb\x1f\x81\x60\x82\x5c\x5e\x6a\x55\x8c\x19\xfb\x01\x4a\x1d\xf7\x03\x06\xf7\x04\xf1\xd9\xf1\xa0\x1f\xd6\xf7\xe6\x05\x98\x06\xaa" -+"\x97\x8e\x97\x9a\x1f\x9a\x97\xaf\x1d\x8e\x82\xf7\x3a\x1d\x3b\x43\x37\x49\x5e\xb2\xc6\xd7\xdb\xd2\xe1\x1f\x0b\xf7\x8b\xf8\x60\x15" -+"\xa7\x06\xb8\xab\xa4\xaf\xa8\x77\x99\x62\x1f\xfb\x28\x06\x59\x6b\x73\x67\x6e\x9f\x7c\xb4\x1f\x9c\x06\x3a\xfb\xf8\xf7\x4b\x1d\xf7" -+"\xb4\xf7\xfd\x50\xfb\x95\x05\x72\x06\x59\x6b\x72\x64\x72\xa1\x7c\xb3\x1f\xf7\x2d\x06\xb8\xab\xa4\xae\xa8\x77\x9a\x62\x1f\x7b\x06" -+"\xd9\xf7\xf8\x05\x97\x06\xb1\xaa\xa7\xad\xa7\x76\x99\x62\x1f\x24\x06\xfb\xaf\xfb\xfd\x05\x0b\xf8\x99\xf7\xd5\x15\x92\x06\xb2\xa9" -+"\xa6\xae\xa9\x7a\x97\x60\x1f\xfb\x04\x06\x59\x6c\x73\x66\x6d\x9d\x7e\xb5\x1f\x90\x06\x6f\xfb\x14\x05\x45\x7c\x67\x69\x4f\x1b\x63" -+"\x76\x9b\xa8\x96\x8d\x99\x93\xac\x1f\xc0\xf7\x7d\x05\xfb\x0b\x06\x58\x6d\x74\x64\x6e\x9d\x7e\xb5\x1f\x90\x06\x6e\xfb\x15\x05\x87" -+"\x77\x88\x73\x7b\x1a\x34\xd0\x4f\xf0\xc9\xbf\xa0\xb4\xb5\x1e\xa9\xa9\x9d\xb1\x9a\xcf\x08\x0b\xf7\x3d\x1d\x86\x8b\x8a\xf4\x1d\xa6" -+"\xf7\x08\x15\x6c\x4f\x50\x7b\x55\x1b\x68\x6f\x98\x9b\x94\x93\x96\x99\x97\x6c\x1d\xac\xa9\x88\x84\xb3\x1f\x0b\x90\x1e\x8e\x82\x85" -+"\x8c\x76\x1b\xfb\xc1\x27\x1d\xeb\x06\x3b\xfb\xfa\x05\x2a\x26\x1d\xf7\xc1\x06\xa8\x99\x28\x1d\x9b\x1a\x9c\x2c\x1d\x2c\x06\x0b\x15" -+"\xfb\x20\x26\x1d\xa9\x06\x65\x65\x1d\x5a\x1b\x5d\x72\x9a\xa7\x91\x8c\x92\x8d\x93\x1f\xc7\xf7\xa2\x5a\x1d\x93\x94\x8a\x9d\x1b\x4b" -+"\x1d\x7b\x1a\x42\xc8\x5b\xe5\xc1\xac\x97\xb3\xc4\x1e\x82\x63\x05\x0b\xf8\xb1\xf7\x0c\x1d\xfc\x13\x37\x1d\x6c\x9c\x7f\xb7\x1e\x0e" -+"\x15\xa7\x9e\x90\x92\x9d\x1a\x9d\x7c\x98\x77\x80\x80\x87\x80\x7d\x1e\xfb\x2b\x21\x05\x73\x7a\x83\xf7\x61\x1d\x98\x1e\x0e\x1a\xa5" -+"\x7a\x9c\x72\x7f\x84\x89\x82\x77\x1e\x76\x5a\x58\x80\x58\x1b\x5b\x71\x94\x9d\x92\x8c\x92\x8d\x94\x1f\x0b\xf7\xf6\xf7\x60\x15\xb8" -+"\xb4\xb2\xb4\xab\x73\xa1\x69\x1f\x7a\x06\x5f\x61\x65\x62\x6b\xa3\x74\xad\x1f\x0e\x06\xa8\x99\xf7\x1a\x1d\x0b\x06\xa9\x98\x8e\x97" -+"\x99\xa0\x1d\x8f\x81\x87\x8b\x75\x1b\x0b\x69\x6c\x6e\x6b\x73\x9d\x79\xa5\xae\xaa\xa8\xac\xa3\x79\x9c\x70\x1f\x0b\x9f\x99\xaf\x1a" -+"\xb1\x74\x99\x4b\x1e\x39\x06\x4c\x73\x7d\x67\x68\xa1\x7a\xb9\x8a\x1f\x6f\xfb\x15\x0b\x1a\xa4\x78\x9d\x71\x7d\x7e\x86\x80\x7d\x1e" -+"\x6b\x71\x8b\x8b\x7f\x85\x08\x7d\x6f\x62\x83\x5d\x1b\x27\x4e\xb8\xd4\x96\x8c\x97\x8e\x96\x1f\x99\xc8\x05\xef\xa1\xe3\xd3\xf0\x1b" -+"\x0b\x96\x1d\x82\x85\x8c\x76\x1b\x0b\xf9\x2a\x15\x65\x64\x66\x66\x70\xa3\x73\xa7\xb4\xb0\xae\xb2\xa8\x75\xa1\x6c\x1f\x0e\xf7\x23" -+"\x1d\x82\x0b\x05\x4e\x25\x1d\x6e\x9d\x7e\xb5\x1e\x0b\x1f\x9b\x97\x94\x9d\x9c\x1a\x97\x86\x96\x81\x93\x1e\x93\x82\x82\x8d\x6f\x1b" -+"\x0b\x08\x80\x90\x83\x91\x91\x1a\x9b\xbf\x9b\xbd\xb5\xa8\x83\x79\xa2\x1e\x6b\x96\x95\x83\xa5\x1b\x9b\x9d\x93\x98\x99\x1f\x95\x95" -+"\x8f\x93\x91\xa6\x0b\x08\x94\x84\x7d\x91\x7c\x1b\x67\x75\x76\x5e\x81\x1f\x7d\x4c\x05\x88\x7e\x8a\x82\x84\x1a\x75\x9e\x7a\xa4\x9c" -+"\x94\x8f\x9d\xa0\x1e\x0b\x98\x1a\xa2\x7a\x9a\x6f\x61\x80\x7e\x48\x7f\x1e\x67\xfb\x5f\x05\x0b\x86\x84\x4d\x1d\x95\x8f\x94\x98\x1e" -+"\x0e\x3a\x6a\x4d\x4e\x1f\x58\x56\x6c\x44\x4a\x1a\x0b\xf7\x38\x15\x94\xb3\x05\x8e\x9a\x8d\x9b\x9b\x1a\xf7\x05\x36\xd4\xfb\x18\xfb" -+"\x3d\xfb\x28\xfb\x13\xfb\x25\x0b\x37\x1d\x6d\x0b\x1e\x3e\x06\x4c\x73\x7d\x67\x68\xa1\x7a\xb9\x8a\x1f\x5a\x0b\x15\x30\xe5\x05\x96" -+"\x80\x85\x8e\x80\x1b\x73\x74\x75\x0b\x1e\xfb\x12\xf7\x40\x1d\x99\x1e\x0e\x91\x9e\x1d\xae\xa8\x9c\xb6\xb5\x1f\x0b\x70\xa2\x76\xa9" -+"\x9d\x9c\x94\x98\x91\x1e\x96\xa1\x9a\xc7\x9f\x1a\xab\x72\x9c\x5d\x51\x0b\x95\x06\x3b\xfb\xfa\x05\x80\x06\x6c\x80\x4e\x1d\x0b\xf7" -+"\x45\x1d\x85\x8c\x76\x1b\x0b\x1f\x9b\x68\x1d\x82\x20\x1d\x0b\xf7\x03\xf7\x17\xf7\x0e\xe7\xf7\x0c\xa5\x1e\x0b\xf8\x61\x15\xc1\x06" -+"\xa9\x97\x8e\x97\x9a\x1f\x0b\x7c\x1f\x7b\x7f\x82\x79\x7b\x1a\x6d\x9d\x7f\x0b\x8e\x97\x9a\x1f\x9b\x97\x94\x9c\x3c\x1d\x0b\x06\x58" -+"\x6c\x74\x65\x6d\x9d\x7e\xb6\x1f\x0b\x90\x9e\x6e\x1f\xa9\x54\x1d\x0b\x89\x7e\x7b\x1f\x7b\x7f\x82\x7a\x7a\x1a\x6d\x9c\x7f\xb7\x1e" -+"\x0b\x84\x79\x7d\x1e\xfb\xd4\xfc\x47\x05\x0b\x8e\x96\x8c\x95\x92\x1a\xab\x72\x9d\x0b\x06\xca\xa3\x99\xb0\xad\x75\x0b\x1a\x6d\x9c" -+"\x7f\xb6\x1e\x0b\x9c\x1b\x99\x91\x88\x7a\xa2\x1f\x70\xb1\xaa\x7d\xa2\x1b\x0b\x06\xa9\x98\x8e\x97\x9a\x1f\x9a\x97\x95\x9d\x9c\x1a" -+"\x0b\x1f\x9b\x97\xaf\x1d\x0b\xa2\xa1\xa2\x96\x8a\x8c\x7a\x9c\x1f\xfb\x12\xf7\x11\x0b\x7c\x1f\x7c\x7f\x81\x79\x7b\x1a\x6d\x9d\x7f" -+"\xb6\x1e\x0b\x83\x72\x78\x19\x76\x70\x65\x7e\x0b\x1b\xc8\xa5\x9b\xaf\xac\x72\x9e\x0b\xa4\x7e\x95\x67\x1f\x0e\x9e\x7a\xa4\x9c\x9c" -+"\x93\x98\x99\x1e\x95\x95\x8f\x0b\x06\xcb\xa2\x99\xb0\xa8\x0b\x1a\x9d\x81\x9a\x7c\x90\x1e\x8e\x82\x85\x8c\x0b\x9e\x7a\xa4\x9c\x9c" -+"\x93\x98\x98\x1e\x96\x95\x0b\x06\x6c\x80\x88\x7f\x7c\x1f\x0b\x90\x80\x95\x82\x1e\x83\x95\x0b\x1f\xa7\xa2\x9e\xa8\xa1\x1a\x0b\x1f" -+"\x7c\x7f\x81\x79\x7a\x1a\x0b\x8d\x7d\x96\x08\x80\x94\x84\x99\x97\x1a\x0b\x94\x9c\x9c\x1a\x9d\x81\x9a\x7c\x90\x1e\x0b\x9e\x7a\xa4" -+"\x9c\x9d\x93\x98\x98\x1e\x95\x0b\xf9\x1f\xf7\x38\x15\x95\xba\x05\x90\xa3\x8e\xa2\xa3\x1a\xe5\x51\xcc\x3b\x60\x66\x7b\x67\x5f\x1e" -+"\xaf\x72\x6a\x9b\x5c\x1b\x70\x40\x7d\x80\x6c\x1f\x6d\x80\x79\x75\x70\x1a\x73\x9d\x79\xa3\x92\x94\x8c\x8e\x94\x1e\x9d\xd0\x92\x8d" -+"\x9d\x1b\x9f\x99\x7e\x7a\x84\x8b\x8a\x8a\x87\x1f\x88\x7b\x05\x8f\x72\x7b\x8c\x7c\x1b\x4c\x39\x70\x67\x5a\x1f\x69\x71\x79\x65\x5b" -+"\x1a\x3e\xc1\x5e\xe6\xb7\xaa\x93\xa1\xb4\x1e\x81\x93\x96\x86\x9a\x1b\x9b\x98\x90\x95\x97\x1f\x75\xa9\xa1\x84\xb3\x1b\xc0\xd9\x9f" -+"\xa0\xab\x1f\xa0\x99\x95\x9d\xa2\x1a\xa2\x7a\x9c\x74\x7d\x7c\x87\x7e\x69\x1e\x7f\x6d\x79\x87\x75\x1b\x65\x7b\xa1\xc1\x87\x1f\xfb" -+"\x0e\x69\x15\x6c\x5f\x6d\x7f\x6f\x1b\x68\x76\x9a\xa4\x97\x8f\x95\x93\x93\x1f\x9c\x9c\xbc\x99\xb5\x1b\x9b\x97\x89\x86\xa0\x1f\xf7" -+"\x19\xd4\x15\xc0\xa0\xa7\xa5\xaf\x1b\xa8\x9c\x74\x64\x88\x8b\x85\x8a\x83\x1f\x0b\xd3\xf2\x15\x87\x06\x6c\x80\x36\x1d\xe9\x06\xb7" -+"\xa9\xa6\xb3\x9d\x81\x97\x76\x90\x1f\xa5\xbc\x05\xe1\x06\x80\x5b\x05\x86\x06\x68\x6d\x6f\x6b\x6f\x9d\x7c\xac\x1f\xf7\xf3\x06\xa6" -+"\xf7\x0c\x05\x8e\x96\x8c\x95\xf7\x5d\x1d\x87\x78\x05\xfb\x1e\x06\xa7\xf7\x15\x05\x96\x06\x8a\x85\x8b\x88\x88\x1a\x73\xf7\x46\x1d" -+"\x9b\xd5\x18\x90\x9e\x8b\x8c\x93\x1a\xa2\x78\x9c\x72\x6b\x75\x79\x68\x80\x1e\x80\x2b\x1d\xf7\x0a\x06\x7e\x52\x05\x88\x7f\x8a\x81" -+"\x84\x1a\x75\x9e\x7a\xa3\xb0\xa1\xa0\xb8\x95\x1e\xaf\xf7\x36\x05\xfc\x4f\x27\x1d\x92\x06\xc2\xfb\x62\x15\x55\x06\xe7\xf7\x3f\x05" -+"\x0b\xf8\xb6\xf7\x41\x15\xac\x94\xa0\xa3\xa7\x1a\x9c\x80\x9a\x7d\x32\x1d\x8c\x77\x1b\xfb\x43\x06\x6b\x81\x3b\x1d\x7a\x6a\x1d\xe9" -+"\x06\x7e\x50\x05\x7c\x63\x63\x84\x5b\x1b\x27\x52\xb0\xcd\x9b\x8d\x9c\x8f\x9c\x1f\x98\xc8\x05\xf1\xa2\xe3\xcf\xf7\x00\x1b\xd2\xb7" -+"\x78\x6b\x8d\x1f\x8d\x6c\x8b\x8b\x90\x83\x08\x81\x91\x99\x85\x9a\x55\x1d\x94\x91\xa5\x9c\xd6\x18\x8f\x9d\x8b\x8c\x94\x1a\xa3\x7b" -+"\x9b\x72\x77\x7e\x83\x76\x7b\x1e\x9e\x65\x5d\x95\x56\x1b\x38\x44\x73\x58\x4b\x1f\x48\x58\x5d\x44\x7b\x41\x7c\x47\x18\x86\x78\x89" -+"\x77\x77\x1a\x48\xa4\x57\xba\x6d\x1e\x6f\xb7\xcc\x7b\xd3\x1b\xdb\xbe\x98\xba\xf4\x1f\x0b\xf7\x5f\xd1\x1d\x7e\x8a\x82\x84\x1a\x74" -+"\x9f\x7a\xa3\xd7\x1d\xf8\x6d\x06\xad\xf7\x28\x05\x8e\x9b\x8c\x91\x92\x1a\xa2\x21\x1d\x0e\xf8\xdf\xf8\x92\x15\x8f\x9c\x8c\x90\x93" -+"\x1a\xa1\x79\x9b\x71\x77\x7f\x83\x75\x7c\x1e\x9e\x6e\x60\x96\x59\x1b\xfb\x24\xfb\x0a\x2d\xfb\x06\x64\xa2\x63\xae\x75\x1f\xa7\x79" -+"\xa8\x83\xcd\x7f\xcd\x7f\x98\x88\x9e\x80\x08\x9a\x83\x94\x7d\x7e\x1a\x5f\x49\x67\x3a\x4c\x54\xa6\xaa\x88\x1e\x89\xa6\xdb\x1d\x6d" -+"\x93\x54\x95\x3e\x9a\x82\xae\x1d\xb6\xc6\xaf\xd0\xc6\xb3\x73\x67\x6b\x8b\x8b\x92\x82\x1e\x82\x92\x99\x85\x9a\x1b\xae\xa2\xa1\xb7" -+"\x95\x1f\x0b\xf7\x0d\xf7\x7c\x15\x6f\xfb\x15\x05\x5f\x8a\x6d\x72\x68\x1a\x6e\x9d\x7e\xb6\x1e\xf7\x61\x06\xf7\x30\x86\xf7\x1a\xf3" -+"\xad\xf7\x2a\x95\xb8\x18\x90\x9f\x8d\xa0\xf1\x1d\x6f\xfb\x12\x18\x87\x06\x6b\x81\x3a\x1d\xf7\x02\x16\xd2\x6b\x1d\x9a\x97\x95\x9c" -+"\x3c\x1d\x82\x20\x1d\x46\x06\xa7\xf7\x12\xf7\x4f\x1d\x63\x1a\x7e\x8a\x7e\x88\x7d\x1e\x81\x60\x76\x2b\x3e\x50\x29\x8f\x19\x22\x06" -+"\x0e\x8c\x76\x1b\x31\x25\x1d\x79\x91\x81\x9e\x81\x1e\xfb\x00\x2a\x49\xeb\x05\xab\x9a\x9a\x9d\xa4\x51\x1d\x82\x20\x1d\x30\x06\x6b" -+"\x81\x88\x7f\x30\x1d\x90\x89\x92\x8a\x98\x8a\xf7\x08\xfb\x40\x18\xfb\x61\xfb\x4e\x05\x60\x8a\x6d\x72\x68\x1a\x6d\x9d\x7f\xb6\x1e" -+"\xf7\x02\x06\xa8\x99\x29\x1d\xa4\x7e\x98\x71\x8e\x1e\xf7\x09\xf5\xd1\x22\x05\x65\x87\x71\x72\x6b\x1a\x6d\x9d\x7f\xb6\x1e\xf7\x02" -+"\x06\xa9\x98\x28\x1d\x9b\x3e\x1d\x86\x84\x8c\x7d\x1b\x0e\xf8\x8b\xf8\x4b\x15\x8f\x1d\x65\x79\x5a\x5e\x1e\x2d\x24\x71\x70\x73\x7b" -+"\x7e\x8c\x19\x88\x06\xa3\xf7\x00\x05\xcb\x8c\xa0\x98\xb1\xe2\x1d\xa6\x06\xa9\x8d\xa4\x70\x9e\x53\xab\x27\x18\xa1\x4c\x8e\x89\xd0" -+"\x89\x08\xf5\x1d\x0b\xf7\x8d\xd1\x1d\x7d\x8a\x84\x83\x1a\x74\x9e\x7a\xa4\xd7\x1d\x0b\xf9\x31\xf8\xef\x15\xca\x1d\xfb\x5e\xf7\x7c" -+"\xf7\x00\x1d\x0b\xf7\x3a\xa5\x15\x70\xb5\xb2\x7f\xbe\x1b\xdf\xe7\xb5\xd1\xd1\x1f\xd1\xd0\xb2\xe7\xe8\x1a\xb6\x85\xa3\x76\xb7\x1e" -+"\xcb\xc7\x05\xa4\xa4\x91\x94\x9e\x1a\xa2\x79\x9c\x72\x77\x81\x86\x71\x71\x1e\x53\x56\x05\xa9\x62\x5e\x9a\x56\x1b\xfb\x4b\xfb\x41" -+"\xfb\x45\xfb\x4f\x5c\x94\x68\xa2\x64\x1f\x44\x47\x05\x70\x72\x86\x82\x78\x1a\x75\x9e\x7a\xa4\x9f\x95\x90\xa4\xa5\x1e\xf8\x48\xf8" -+"\x33\x15\x90\x78\x8c\x81\x79\x1a\xfb\x10\xfb\x01\xfb\x09\xfb\x08\x73\x7a\x8f\x98\x72\x1e\x50\xd1\x15\x83\xa3\x89\x97\xa0\x1a\xf7" -+"\x0f\xf7\x02\xf7\x0a\xf7\x05\xa8\xa2\x84\x7c\xa3\x1e\x0b\xf8\x3d\x75\x1d\xee\x9f\x1d\x9c\x81\x9a\x7c\x91\x1e\x8d\x85\x84\x8c\x7e" -+"\x1b\x0b\xcc\xf2\x15\x80\x06\x6c\x80\x36\x1d\xf7\xbb\x06\xd4\xc7\x9f\xb4\xb7\x1f\xb0\xac\xa3\xbc\xb5\x1a\xb9\x72\xb0\x59\xa6\x1e" -+"\xc5\xaf\xa8\xba\xc1\x1a\xac\x7d\xac\x72\xa2\x1e\xa9\x6c\x62\x98\x51\x1b\xfb\x90\xf7\x39\x1d\xb6\x1e\x95\x06\xdb\xfb\x13\x15\xa7" -+"\xf7\x13\x05\xf7\x16\x06\xc1\xaa\x7a\x6e\x5d\x51\x68\x3e\x1f\xfb\x33\xfb\x7b\x15\xa7\xf7\x14\x05\xf7\x18\x06\xd5\xb9\x71\x60\x65" -+"\x65\x76\x43\x1f\x0e\xf7\xc5\x16\xf7\x27\x06\xbd\xab\xa3\xb0\xa4\x7e\x98\x6f\x8f\x1f\xba\xf7\x6f\xf7\x62\x1d\xa1\x1a\xa6\x76\x9a" -+"\x63\x1e\xfb\x0d\x06\x59\x6b\x74\x66\x6e\x9f\x7d\xb4\x1f\x94\x06\x5c\xfb\x6e\x05\xfb\x70\x06\xba\xf7\x6e\x05\x97\x06\xbd\xab\xa2" -+"\xaf\xa8\x76\x9a\x63\x1f\xfb\x0d\x60\x1d\x5c\xfb\x6e\x05\x63\x85\x72\x74\x6b\x1a\x6f\x9f\x7c\xb4\x1e\xf7\x25\x06\x81\x61\x05\x88" -+"\x7e\x89\x7f\x85\x1a\x76\xa2\x7a\xaa\xac\x9a\x9b\xbe\x96\x1e\x0e\xf9\x10\xf8\x15\x15\xa7\xa0\x94\x98\x9f\x1a\xa2\x79\x9c\x72\x7a" -+"\x80\x86\x77\x72\x1e\x53\x5e\x05\x9c\x68\x5b\x96\x5d\x1b\xfb\x36\xfb\x2b\xfb\x14\xfb\x1e\x66\x94\x6c\x9d\x6e\x1f\x53\x5d\x05\x6e" -+"\x75\x83\x7e\x77\x1a\x74\x9d\x7a\xa4\x9c\x94\x8f\xa1\xa6\x1e\xcd\xc0\x05\x79\xb0\xb3\x82\xb9\x1b\xf7\x38\xf7\x2b\xf7\x14\xf7\x1f" -+"\xae\x83\xa8\x7a\xa9\x1f\x2e\x40\x15\x91\x7c\x8d\x83\x7d\x1a\x3c\x34\x48\x26\x7c\x83\x8c\x8f\x7a\x1e\x3f\xc3\x15\x85\x97\x87\x99" -+"\x97\x1a\xda\xe1\xcf\xee\x9b\x95\x8a\x86\xa0\x1e\x0b\xf8\x52\xf8\x1e\x15\xa7\x6d\x5d\x9b\x58\x1b\xfb\x32\xfb\x1e\xfb\x14\xfb\x27" -+"\x23\xdb\x42\xf7\x08\xbd\xbb\x99\xa8\xbb\x1f\x81\x60\x82\x5c\x5e\x6a\x55\x8c\x19\xfb\x01\x4a\x1d\xf7\x03\x06\xf7\x04\xf1\xd9\xf1" -+"\xa0\x1f\xd6\xf7\xe6\x05\x98\x06\xaa\x97\x8e\x97\x9a\x1f\x9a\x97\x94\x9c\x9c\x1a\x9d\x81\x9b\x7d\x8f\x1e\x8e\x81\xf7\x3a\x1d\x3a" -+"\x43\x38\x49\x5e\xb3\xc5\xd7\xdb\xd2\xe1\x1f\x0b\xf8\x61\x15\xf0\x06\x78\x37\x05\x88\x7f\x8a\x81\x85\x1a\x74\xf7\x2a\x1d\x8f\x93" -+"\x91\xa7\xb5\xf7\x50\x18\xfc\xa0\x66\x1d\x83\x84\x1a\x74\xa6\x1d\x94\x91\xa6\x9e\xe0\x18\xee\x06\x3b\xfb\xfa\x82\x1d\xf7\x7b\x06" -+"\xa7\x9a\x8f\x96\x99\x92\x1d\x4e\x06\x0b\xf8\x61\x15\xf7\x63\x06\x79\x38\x05\x86\x77\x8b\x8a\x83\x1a\x74\x9e\x7a\xa4\x9d\x9c\x92" -+"\x99\x98\x1e\x96\x96\x8e\x92\x91\xa7\xb5\xf7\x50\x18\xfc\x70\x06\x6e\x7d\x87\x80\x7d\x1f\x7b\x7f\x82\x79\x7a\x1a\x7f\x90\x80\x95" -+"\x83\x1e\x83\x94\x93\x89\xa8\x1b\xbe\x06\x3c\xfb\xfa\x05\x55\xaa\x1d\x7b\x7f\x82\x79\x7a\x1a\x7f\x90\x80\x95\x83\x1e\x83\x94\x93" -+"\x89\xa8\x1b\xf7\x69\x5e\x1d\x58\x06\x0e\xf7\xb7\xf8\x3d\x15\xfb\x06\x06\x58\x6c\x73\x66\x6b\x99\x82\xbb\x8a\x1f\x5b\xfb\x6e\x05" -+"\x7c\x06\x64\x6c\x6f\x69\x6d\x9c\x7f\xb6\x1f\xf7\x09\x06\xbd\xaa\xa2\xb1\xaa\x7c\x96\x5c\x8c\x1f\xa1\xef\x95\xb8\x96\xa2\xa4\xa1" -+"\x19\xa5\xa8\xa9\x99\xa6\x1b\xa7\x9f\x78\x70\x83\x88\x7a\x85\x70\x1f\x37\xfc\x00\x05\x86\x74\x89\x7f\x84\x1a\x72\x9d\x7b\xa6\x9f" -+"\x9d\x93\x9a\x98\x1e\x93\x93\x8e\x96\x93\xac\xdf\xf8\x00\x18\x91\xa5\x8e\xa5\xa1\x1a\xdd\x56\xc0\x39\x62\x6b\x80\x71\x67\x1e\x0b" -+"\xcb\x1d\x9b\x97\x94\x9d\x3c\x1d\x83\x84\x8b\x77\x1b\x6d\x06\x0b\xf7\x8c\xf8\x61\x15\xb2\x8e\x9e\x9d\xaa\x1a\xb0\x74\x99\x4b\x1e" -+"\x4c\x06\x4c\x73\x7d\x67\x69\x9f\x7b\xb4\x88\x1f\xf3\xfb\xad\x6a\x64\x77\x72\x6e\x73\x81\x8a\x19\x8f\x9b\x8c\x95\x94\x1a\xa8\x77" -+"\x9d\x6b\x67\x7c\x7a\x57\x7f\x1e\x7e\x51\x05\x89\x7f\x8a\x87\x88\x1a\x76\xc1\x76\xc0\xc6\xc0\xab\xd0\xc3\x1e\xf7\xc3\xf8\x0a\x05" -+"\xbe\x8d\xa2\x9b\xaf\x1a\xaf\x73\x99\x4c\x1e\x3d\x06\x4c\x73\x7d\x66\x6f\x99\x7b\xab\x84\x1f\xfb\x28\xfb\x4a\x05\x0b\xe8\xf2\x15" -+"\x5f\x8a\x6d\x72\x68\x1a\x6e\x9d\x7e\xb6\x1e\xf7\x61\x06\xf7\x2f\x86\xf7\x1b\xf3\xad\xf7\x2a\x95\xb8\x18\x90\xa0\x8d\x9f\xf1\x1d" -+"\x08\xa8\xfb\xfa\x15\xda\xf7\xfa\xf7\x4f\x1d\x64\x1a\x7d\x8a\x7e\x88\x7d\x1e\x81\x5f\x76\x2c\x3e\x50\x29\x8f\x19\x0b\xd4\x1d\x81" -+"\x9b\x7c\x32\x1d\x8c\x77\x1b\xfb\x17\x42\x1d\x7b\x1f\x7b\x7f\x82\x78\x78\x1a\x76\x96\x7f\xa5\x87\x1e\x62\xfc\x62\x05\xf7\x0a\x06" -+"\x0b\xf8\x5d\xf8\x60\x15\x3c\xfb\xf8\x05\x7f\x06\x5a\x6a\x73\x67\x6d\x9e\x7d\xb5\x1f\xf7\x0d\x06\xbe\xaa\xa2\xb1\xaa\x7c\x96\x5c" -+"\x8c\x1f\xdb\xf7\xf9\x05\xb2\x90\xa4\xa2\xac\x1a\xa9\x7a\x97\x5f\x1e\xfc\x18\x06\x56\x6e\x76\x63\x6e\x9a\x7d\xa8\x1f\x91\x06\x3c" -+"\xfb\xf9\x05\x73\x7d\x8a\x86\x81\x1f\x76\x82\x7b\x73\x74\x1a\x6e\x9d\x7f\xb6\x1e\xf7\x0d\x06\xbd\xaa\xa2\xb1\xa9\x7a\x98\x5f\x1f" -+"\x82\x06\xda\xf7\xf8\x05\x0e\xf8\x6a\xf3\x15\xda\xf7\xf8\x05\xc5\x8d\x7d\x1d\x05\x60\x43\x5e\x7a\x61\x1b\x70\x7e\x94\x9d\x96\x8e" -+"\xa0\x8e\x98\x1f\xa5\xf7\x08\x05\xcc\x8c\xa0\x98\xb1\x1a\xb2\x74\x98\x4b\x1e\x33\x06\x4c\x73\x7d\x67\x68\xa0\x7a\xb8\x8a\x1f\x72" -+"\xfb\x04\x05\x86\x75\x88\x73\x7c\x1a\x44\xc5\x59\xdd\xbb\xb9\x97\xa3\xba\x1e\x75\x28\x05\x0b\xfb\x0d\x06\x6b\x81\x88\x7f\x7c\xf7" -+"\x3f\x1d\x8b\x9e\x1b\x96\x06\x73\x20\x05\xa9\x68\x5f\x99\x52\x1b\x30\x42\x6f\x4f\x4e\x1f\x57\x59\x6c\x45\x4a\x1a\x55\xa3\x58\xb3" -+"\x6a\x1e\x71\xac\xbd\x7d\xc8\x1b\xc4\xb4\x96\xab\xc4\x1f\x84\x6d\x05\xf7\x0d\x06\xaa\x97\x8e\x97\x99\x1f\x9b\xf7\x33\x1d\x80\x06" -+"\x0b\xb7\x8c\xa9\xa4\xae\x1a\x9c\x2c\x1d\xfb\x16\x06\x6b\xe7\x1d\xa9\x06\x51\xfb\x9b\xfb\x3f\xf8\x02\x05\xfb\x09\x06\x6b\x80\x88" -+"\x7f\x7d\xf7\x2f\x1d\x60\x6d\x72\x67\x6d\x9d\x7f\xb6\x1f\xf7\x15\x6b\x1d\x0b\x15\x90\x88\x91\x87\x93\x86\x08\x7a\xa4\x99\x85\x9e" -+"\x1b\xa7\xa7\x9b\xb4\xb6\x1f\xa4\xa2\x92\x96\x9b\x1a\x9e\x7d\x9a\x79\x80\x80\x85\x80\x81\x1e\x68\x6c\x7e\x81\x7c\x1b\x83\x8b\x8b" -+"\xa5\x63\x1f\xaa\x5c\x81\x90\x73\x1b\x67\x68\x77\x60\x65\x1f\x7a\x79\x85\x7f\x7d\x1a\x79\x99\x7e\x9e\x95\x94\x8f\x93\x93\x1e\xb4" -+"\xb6\x95\x93\x97\x1b\x92\x90\x88\x7d\xa0\x1f\x0e\xbc\xf7\x6e\x05\xc2\x8c\x9f\x99\xaf\x1a\xb1\x74\x99\x4b\x1e\x42\x06\x4c\x73\x7d" -+"\x66\x6a\xa0\x7a\xb5\x89\x1f\x7e\x4e\x05\x6f\x4d\x5f\x7f\x5c\x1b\x78\x7f\x90\x94\x8d\x8c\x8e\x8e\x9c\x1f\x9a\xcc\x05\xc9\xa1\x98" -+"\xb1\xb1\x74\x99\x4a\x1f\x3d\x06\x4c\x73\x7d\x66\x6b\x9e\x7a\xb4\x88\x1f\x7e\x50\x05\x87\x78\x89\x7e\x7d\x1a\x4e\xc2\x63\xde\xb4" -+"\xb3\x93\x9d\xba\x1e\x0b\x08\xe9\xb7\xba\xc6\xd4\x1a\xe3\x43\xc1\xfb\x09\x1e\xfb\x73\x27\x1d\x95\x06\x3b\xfb\xf9\x05\x80\x06\x6b" -+"\x81\x88\x7f\x7c\x1f\x7b\x7e\x31\x1d\xb6\x1e\xf7\x29\x06\xa8\x9a\x8f\x96\x98\x1f\x9a\x97\x95\x9d\x3c\x1d\x83\x20\x1d\x6d\x06\x0b" -+"\xd5\x1d\xa3\xbf\x48\x1d\x0b\xf8\xc9\x15\x9e\x97\x93\xf7\x07\x1d\x95\x8f\x94\x99\x1e\xfb\x10\xe6\x15\x64\x1d\xf7\xd7\x16\x64\x1d" -+"\x0b\xf7\x7c\x15\xd8\x06\x8a\x89\x05\x87\x79\x8b\x8a\x82\x1a\x74\xa9\x1d\x8e\x93\x91\xa6\xa3\xf7\x00\x18\x90\x9d\x8b\x8e\x93\x1a" -+"\xa2\x78\x9c\x72\x7a\x7a\x83\x7e\x7e\x1e\x80\x80\x88\x84\x84\x6f\x8a\x87\x18\x3f\x2b\x1d\xf7\x76\x06\x81\x60\x05\x88\x0b\xf7\x0b" -+"\x1d\xae\xa2\xa2\xb7\x95\x1e\x8c\x90\x05\xf7\x02\x1d\x0b\x1f\x9b\x98\x94\x9c\x9c\x1a\x9c\x2c\x1d\xfb\x29\x42\x1d\x7c\xf7\x2f\x1d" -+"\x80\x06\x6c\x80\x89\xf7\x57\x1d\xb6\x1e\xf7\x29\x06\xa8\x0b\x81\x9a\x7c\x90\x1e\x8e\x82\x85\x8c\x77\x1b\xfb\x17\x49\x1d\x9c\x7f" -+"\xb7\x1e\xba\x06\x35\xfb\x82\x71\xf7\x5f\x05\xfb\x01\x06\xfb\x09\xfb\x5e\x9f\xf7\x81\x05\xb8\x06\xa9\x98\x8e\x97\xf7\x49\x1d\x0b" -+"\x89\x1d\xfb\x03\xe0\x46\xf7\x1f\xdc\xf7\x07\x9f\xa1\xb7\x1e\xa2\x96\x98\x9e\xa2\x1a\xa2\xf7\x38\x1d\x29\x72\x87\x5d\x1b\x37\x60" -+"\x0b\x15\x8c\x98\x8c\x97\x93\x1a\xb9\x64\xaf\x5a\x59\x64\x67\x5d\x84\x8c\x7e\x8c\x7e\x1e\xa8\xfb\xac\x05\x6a\x8e\xa1\x77\xac\x1b" -+"\xab\xa1\x9f\xac\x8e\x1f\x5a\xfb\x80\x15\xb5\xac\xaa\xb2\xb2\x6a\xaa\x61\x1f\x7a\x06\x62\x6a\x6c\x64\x64\xac\x6c\xb4\x1f\x0b\x9c" -+"\x9d\x93\x98\x98\x1e\x95\x95\x8f\x95\x91\xa5\xac\xf7\x28\x18\xfc\x59\x27\x1d\x90\x1d\x6e\x9d\x7e\xb6\x1e\x0b\xda\x1d\x0e\xf8\x2d" -+"\xf8\x60\x15\xea\xf7\x6b\x1d\xfb\xbc\x06\x57\x6d\x40\x1d\xe7\x06\x3c\xfb\xf8\x05\x2c\x06\x58\x6c\x40\x1d\xf7\xbd\x06\xbf\xa9\xa2" -+"\xb2\xa8\x79\x98\x60\x1f\x2e\x06\x0b\xf7\xf5\xf8\x49\x15\x2e\x2f\x65\x4d\x50\x1f\x5c\x59\x6f\x4e\x54\x1a\xfb\x03\xe2\x40\xf7\x16" -+"\xf7\x39\xf7\x2b\xf7\x13\xf7\x1f\xf7\x02\x34\xd7\xfb\x13\x1e\x70\x24\x15\xd9\xc0\x63\x50\x3c\x35\x47\x28\x40\x56\xb4\xc5\xd8\xe1" -+"\xd1\xeb\x1f\x0b\x8b\x8b\x85\x93\x85\x1d\x72\xb9\xba\x80\xc1\x1b\xf7\x31\xf7\x09\xe3\xf7\x0b\xbb\x6f\xb4\x5d\x9f\x1f\x71\x97\x0b" -+"\xfb\x44\x06\x9d\xda\x05\x8f\x9d\x8b\x8d\x93\x1a\xa2\x78\x9c\x72\x67\x74\x75\x5f\x82\x1e\x79\x3a\x05\x6b\x42\x1d\xa2\x1d\xa9\x06" -+"\x5e\xfb\x5d\x05\x89\x82\x8a\x83\x7f\x1a\x0b\xf7\x28\x1d\xa7\xc5\xab\x99\xaf\xa3\xa8\x1f\xb5\xaf\xbc\xa0\xca\x1b\xb6\xad\x83\x7c" -+"\xa0\x1f\x95\x83\x8f\x83\x7c\x1a\x68\x98\x7c\xaa\xaf\xa2\xa1\xb7\x95\x1e\x0b\x15\xf0\x1d\x82\x7d\x1a\x7b\x9a\x7d\x9d\x9a\x9b\x94" -+"\x9b\x99\x1e\x0e\x05\x80\x06\x6c\x80\x36\x1d\xf7\x6a\x7a\x1d\x2d\x06\x0e\x1f\x9a\x97\x95\x9e\x9b\x1a\x9c\x80\x9b\x7d\x90\x1e\x8f" -+"\x82\x87\x8b\x75\x1b\xfb\x16\x25\x1d\x6f\x9b\x7e\xae\x8a\x1e\x51\xfb\x98\x05\x87\x7a\x89\x7c\x7e\x1a\x0b\xf8\x61\x15\xb7\x8c\xa9" -+"\xa4\xae\x51\x1d\x82\x85\x8c\x76\x1b\xfb\x15\x27\x1d\xa9\x06\x50\xfb\xa1\x05\x53\x7e\x0b\x1a\xb1\x74\x99\x4b\x1e\x2c\x06\x4b\x74" -+"\x7e\x66\x67\xa3\x79\xbb\x1f\x8d\x06\x3c\xfb\xf8\x05\x4d\x74\x7d\x64\x66\xa2\x7d\xcb\x1f\xea\x06\xca\xa3\x99\xb0\xaf\x74\x9c\x58" -+"\x1f\xaa\xf7\x24\x05\x0b\x15\x3d\x3f\x44\x43\x56\xb8\x61\xc3\xb5\xb4\x9d\xab\xac\x1f\xa7\xa8\x97\xa6\xb1\x1a\xc1\x60\xb3\x4f\x1e" -+"\x7f\x4f\x15\xac\x9f\x79\x6d\x68\x63\x67\x64\x6b\x75\x9e\xa7\xb0\xb2\xae\xb4\x1f\x0b\x1f\x9f\xe4\x05\x8d\x96\x8d\x96\x92\x1a\xa1" -+"\x78\x9c\x72\x67\x75\x75\x5f\x81\x1e\x68\xfb\x32\x05\x5a\xeb\xbd\x7c\xc7\x1b\xc7\xc8\x9e\xae\xbd\x1f\xc4\xb3\xa4\xb0\x9a\xca\x08" -+"\x0e\x06\x4c\x67\x6b\x5f\x57\x1a\x61\xa9\x72\xbe\xb0\xba\x97\x9c\xa7\x1e\x9a\x95\x96\x9c\x9a\x1a\x9f\x7d\x98\x76\x83\x85\x89\x86" -+"\x80\x1e\x7e\x6c\x80\x87\x7f\x1b\x80\x86\x8e\x92\xa1\x0b\xf7\x02\x06\xad\xa0\x9d\xa8\x9e\x7e\x95\x70\x1f\xfb\x00\x06\x8d\x98\x8c" -+"\x91\x93\x1a\xa7\x7d\x99\x6f\x66\x77\x77\x5a\x7e\x1e\x5e\x06\x69\x76\x79\x6e\x77\x98\x82\xa6\x1f\xb6\x06\x0b\x82\x3b\x1d\x6d\x9c" -+"\x7f\xb6\x1e\x0b\x7c\x1f\x7b\x7f\x31\x1d\xb6\x1e\xf7\xeb\x06\xa8\x99\x29\x1d\x9c\x2c\x1d\xfb\x08\x06\x0b\xf9\x47\x15\x97\x7f\x87" -+"\x8d\x7f\x1b\x74\x75\x77\x76\x81\x91\x7f\x98\x80\x1f\xf7\x0c\xfb\x00\x05\x82\x95\x97\x85\x91\x1b\xa3\xa0\x9f\xa2\x96\x86\x93\x7d" -+"\x98\x1f\x0e\x95\x97\x1a\x9b\x7e\x96\x79\x82\x83\x88\x84\x81\x1e\x85\x87\xfb\xb8\xfb\x46\xf7\x69\xfb\x47\x05\x7e\x99\x8e\x8a\x96" -+"\x1b\xa1\xa1\x9d\x9e\x92\x87\x94\x83\x93\x1f\x0b\xee\x1d\x0e\x99\x84\x7c\x7a\x7d\x82\xf7\x01\x1d\x0b\x15\x9e\x97\x93\x97\x99\x1a" -+"\x9a\x80\x95\x7b\x82\x80\x87\x82\x7e\x8d\x1d\x15\x3c\x3f\x46\x44\x52\xb6\x62\xc7\xdb\xd7\xd0\xd3\xc3\x60\xb4\x4e\x1f\x80\x50\x15" -+"\xaa\xa1\x77\x6f\x67\x62\x68\x62\x6c\x75\x9f\xa7\xaf\xb4\xae\xb4\x1f\x0b\x7e\x84\x81\x7f\x1a\x7b\x98\x80\x9d\x94\x93\x8e\x92\x95" -+"\x1e\x91\x8f\xf7\xb7\xf7\x46\xfb\x68\xf7\x47\x05\x98\x7c\x89\x8c\x80\x1b\x75\x75\x79\x78\x84\x0b\x8c\x8c\x8c\x8c\x8c\x8d\x8f\x8f" -+"\x8e\x8d\x8c\x8d\x08\x93\x95\x8e\x92\x96\x1a\x9d\x7d\x98\x77\x7b\x7d\x83\x7a\x7d\x1e\x23\xfb\x0e\x05\x7b\x7a\x86\x0b\x9f\x1a\xf7" -+"\x11\x37\xdf\xfb\x11\x1e\xfb\x69\x06\x6a\x82\x3f\x1d\x7a\x7b\x1a\x79\x95\x7b\x9a\x86\x1e\x90\x89\x92\x8a\x98\x8a\x0b\x22\xee\xfb" -+"\x26\x1f\x7b\x3d\x15\xf6\xd8\x43\x27\xfb\x1b\xfb\x1e\xfb\x16\xfb\x23\xfb\x03\x3e\xd1\xf1\xf7\x1d\xf7\x1e\xf7\x14\xf7\x27\x1f\x0e" -+"\x15\xfb\x05\xfb\x5b\x05\x85\x81\x88\x81\x84\xf7\x3e\x1d\xc3\x16\xfb\x05\xfb\x5b\x05\x85\x0b\x8a\x88\x1f\x87\x79\x05\x91\x66\x6d" -+"\x8e\x6b\x1b\x24\x35\x69\x4e\x55\x1f\x70\x6d\x7d\x6b\x6e\x1a\x4b\xce\x5b\xe6\xc3\xc7\x97\xa1\xbf\x1e\x0b\x9e\x06\xca\xa2\x99\xb0" -+"\xb2\x75\x99\x4b\x1f\x7c\x06\x69\xf7\x01\x80\xb0\x79\xa8\x74\xa3\x19\xaf\xb1\xd4\xdd\x90\x91\x90\x90\x97\x97\x19\x0b\x81\x9b\x7c" -+"\x90\x1e\x8e\x83\x84\x8b\x76\x1b\x8a\x06\xb2\xf7\x3f\x05\x8e\x99\x8c\x98\x98\x1a\xd5\x50\xbc\x30\x59\x58\x78\x6a\x60\x1e\x0b\x15" -+"\xd8\xb7\x67\x4d\x6e\x7e\x6b\x74\x71\x1f\x63\x68\x5d\x77\x51\x1b\x3f\x5e\xaf\xc9\xa8\x98\xab\xa2\xa5\x1f\xb3\xaf\xb8\x9f\xc5\x1b" -+"\x0b\x73\x7b\x77\x91\x94\x7b\x1f\x96\x79\x8a\x8c\x82\x1b\x72\x74\x75\x74\x7d\x92\x81\x9b\x81\x1f\x7e\xa1\xb2\x81\xa7\x1b\xd5\xc7" -+"\xc0\xcd\x0b\xf7\x19\x06\xfb\xc6\xf7\x5e\x1d\x9b\x8c\x8f\x93\x1a\xa2\x78\x9c\x72\x6b\x76\x7a\x68\x80\x1e\x0b\x32\x1d\x8c\x77\x1b" -+"\x2f\x06\x6c\x80\x2a\x1d\x7a\x1a\x7e\x8f\x82\x96\x81\x1e\x4b\x60\x5f\x0b\x05\xaa\x97\x9c\xa0\xa6\x1a\x9c\x81\x9b\x7c\x8f\x1e\x8e" -+"\x83\x20\x1d\x31\x06\x6b\x81\x88\x7f\x7c\x1f\x7b\x7f\x82\x0b\x15\xe4\x31\x05\x82\x94\x94\x87\x95\x1b\xa3\xa2\xa1\xa1\x97\x8a\x8c" -+"\x7a\x9c\x1f\xfb\x12\xf7\x11\xfb\x4b\xfb\x11\x05\x6e\x0b\x06\x92\xac\x05\xa1\x90\xa0\x9e\x9f\x1b\x94\x97\x89\x85\x99\x1f\x86\x9b" -+"\x8f\x8a\x95\x1b\xad\xaa\xa9\xac\xab\x5e\xa1\x0b\x97\x99\x1a\x9a\x80\x95\x7c\x81\x81\x87\x82\x7e\x1e\xfb\x13\x38\x05\x79\x7f\x82" -+"\x7f\x7d\x1a\x7c\x96\x80\x9b\x94\x0b\x98\x9f\x9f\x3e\x1d\x82\x85\x8c\x77\x1b\x2e\x06\x6c\x81\x2a\x1d\x0b\x6f\x82\x7e\x7b\x71\x1a" -+"\x69\xa4\x79\xbc\x1e\xb0\x06\xba\xa5\x9d\xad\xa3\x81\x99\x73\x97\x1f\x99\xde\x95\x7a\x8f\x0b\x80\x1a\x74\xa1\x77\xa4\xa2\x9a\x96" -+"\xad\x9e\x1e\xd8\xb7\xc0\xac\xdb\x1b\xc0\xad\x78\x6d\x5d\x50\x66\x42\x1f\x0b\xf7\xa9\xf2\x15\xf7\xc8\xf7\x82\x9e\xdf\x05\xfc\x35" -+"\x06\x73\x21\x05\x89\x81\x89\x7e\x84\x1a\x75\x9e\x7a\xa4\x0b\xf7\x6e\x15\xa9\x97\x8e\x97\x9a\x1f\x9b\x97\x94\x9d\x9c\x51\x1d\x83" -+"\x82\x8c\x78\x1b\x0b\x15\x37\x06\xfb\x55\xfb\x7e\x80\x56\x05\xf7\x37\x06\x88\x7c\x05\x78\x06\x6c\x78\x7c\x73\x79\x97\x83\xa4\x1f" -+"\x0b\xfb\x12\xf7\x11\xfb\x4a\xfb\x11\x05\x6e\x78\x86\x84\x7a\x1a\x79\x98\x7e\x9e\x95\x94\x8f\x94\x99\x1e\x0e\xfb\xd5\x05\x40\x06" -+"\xbd\xf7\x6e\x05\xae\x94\x9d\x9f\xa9\x1a\xa9\x77\x99\x62\x1e\x5f\x06\x51\x6c\x76\x64\x0b\xf7\x64\x1d\x7f\x7d\xf7\x53\x1d\x06\xa8" -+"\x99\x8f\x96\xf7\x49\x1d\x81\x9b\x7c\x91\x1e\x8d\x86\x84\x8c\x7e\x1b\x0b\x05\xb6\x91\xa1\x9f\xac\x1a\xa9\x77\x99\x61\x1e\x48\x06" -+"\x52\x6c\x76\x64\x70\x99\x7e\xa9\x88\x1f\x0b\x1a\x9c\x2c\x1d\x2f\x06\x6b\x81\x88\x7f\x7c\x1f\x7b\x7f\x82\x0b\xf7\x11\x18\xfb\x4a" -+"\xfb\x10\x05\x6f\x78\x85\x83\x4d\x1d\x93\x8e\x95\x9a\x1e\x0b\x1f\x7b\x7f\x82\x79\x7b\x1a\x7a\x95\x7b\x9a\x86\x1e\x0b\x81\x87\x82" -+"\x7e\x1e\xfb\x13\xf7\x40\x1d\x0b\xf7\x27\x1d\x88\x93\x94\x8a\x0b\x64\xfb\x41\x05\x89\x7e\x89\x81\x85\x1a\x75\x9e\x7a\xa5\xad\xa3" -+"\xa2\xb6\x94\x1e\x9b\xd2\x05\x0b\x2a\x1d\x7a\x1a\x7a\x6a\x1d\x0b\x29\x1d\x9c\x2c\x1d\x0b\x74\x75\x72\x83\x91\x80\x96\x81\x1f\xf7" -+"\x02\x21\x05\x7e\x98\x93\x87\x95\x1b\xa5\xa3\xa1\x0b\x1a\x75\xb0\x1d\x0b\xaa\x1d\x7b\x7f\x82\x79\x7a\x1a\x7a\x95\x7c\x9a\x86\x1e" -+"\x87\x94\x0b\xf7\xb3\x15\xf7\x54\xf7\x42\x05\xb5\x8c\xa9\xa5\xad\x3e\x1d\x0b\x95\x93\x87\x96\x1b\xa2\xa1\x1d\xfb\x4b\x0b\xdc\x06" -+"\xa8\x9a\x8f\x96\x98\x1f\x9b\x97\x94\x9d\x9b\x1a\xaa\x7b\x97\x5e\x1e\x81\x06\x0b\x7e\x8c\x19\x88\x06\xa3\xf7\x00\x05\xcb\x8c\xa0" -+"\x98\xb1\x1a\xb1\x74\x99\x4b\x1e\x0b\x06\xa8\x99\x29\x1d\x9d\x81\x9b\x7c\x90\x1e\x8e\x0b\x06\xa9\x98\x8e\x97\x99\x1f\x9b\x68\x1d" -+"\x0b\xfb\x33\x15\xa6\x9c\x79\x70\x6d\x71\x76\x67\x6f\x79\x98\x9f\xaa\xac\xab\xaa\x1f\x0b\x28\x1d\x9c\x1a\x97\x86\x96\x81\x94\x1e" -+"\x92\x82\x83\x8d\x0b\xf7\x35\x1d\xb2\x8a\x93\x0b\x06\x6b\x81\x2a\x1d\x7b\x1a\x7a\x95\x7b\x9a\x86\x1e\x0b\x1a\xa4\x78\x9d\x72\x7e" -+"\x81\x87\x83\x7f\x1e\x6a\x5b\x69\x82\x3b\x1b\x26\x5b\x0b\x9a\x80\x1e\x84\x96\x98\x88\xa5\x1b\xf8\xb4\x06\xa2\x98\x8d\x91\x95\x1f" -+"\x9c\x0b\xb0\x1d\x95\x0b\x86\x95\x19\xad\x79\x6c\x9c\x5e\x1b\x66\x7a\x7e\x65\x81\x1f\x82\x66\x05\x0b\x15\xa3\x9e\x78\x74\x73\x78" -+"\x78\x74\x73\x78\x9e\xa3\xa1\x9e\x9f\xa2\x1f\x0b\x16\x62\x65\x68\x66\x6e\xa1\x76\xa9\xb4\xb1\xae\xb0\xa9\x75\x9f\x6d\x1f\x0b\x96" -+"\x96\x1d\x0b\xf7\x5f\x1d\x95\x06\x3b\xfb\xfa\x05\x0b\x9f\x1a\x9d\x7f\x97\x78\x75\x81\x82\x6b\x7d\x1e\x60\x77\x5d\x70\x55\x1b\x0b" -+"\x31\x05\x81\x94\x94\x87\x95\x1b\xa3\xa2\xa1\xa2\x94\x88\x90\x82\x94\x1f\x0b\x80\x1f\xf7\x02\x21\x05\x80\x97\x94\x86\x95\x1b\xa5" -+"\xa3\xa1\xa2\x95\x0b\x97\x94\x9d\x9b\x1a\x9d\x81\x9b\x7d\x90\x1e\x8e\x82\x84\x8b\x77\x1b\x0b\x1f\xf7\x02\x21\x05\x80\x96\x95\x86" -+"\x95\x1b\xa5\xa3\xa1\xa2\x95\x86\x0b\xe1\x06\xca\xa3\x99\xaf\xae\x75\x9c\x5d\x8c\x1f\x9a\xd2\x05\xa2\x06\x0b\x7a\x1a\x6d\x9d\x7f" -+"\xb6\x1e\xf7\x02\x06\xa9\x99\x8f\x96\x99\x1f\x9b\x0b\x7c\x82\x76\x77\x1f\x6e\x6f\x88\x89\x7d\x1b\x80\x81\x90\x9e\x6e\x1f\x0b\x7a" -+"\x9c\x73\x80\x7f\x89\x88\x7e\x1e\x74\x0b\x06\x6b\x80\x88\x7f\x7d\x1f\x7b\x7f\x82\x7a\x7a\x1a\x6d\x9c\x7f\x0b\x85\x8c\x77\x1b\xfb" -+"\x0c\x06\xfb\x2d\x31\x15\xcb\xb8\x63\x51\x40\x0b\x89\x87\x82\xf7\x71\x1d\x92\x8e\x8b\x0b\x8f\x9d\x8b\x8c\x93\x1a\xa4\x7b\x9a\x71" -+"\x75\x7e\x83\x78\x80\x1e\x0b\x95\x9a\x8d\x8f\x9d\x1e\x96\xbb\xb1\x90\xad\x1b\xc2\xa3\x81\x74\x0b\x1a\x7e\x99\x80\x9a\x9a\x95\x91" -+"\x9d\x9b\x1e\xf7\x58\xf7\x76\x05\x0b\x1f\x7b\x7f\x82\x7a\x7b\x1a\x79\x95\x7b\x9a\x86\x1e\x88\x93\x94\x0b\x38\x05\x79\x7f\x82\x7f" -+"\x7d\x1a\x7b\x96\x81\x9b\x94\x94\x8f\x94\x0b\x88\x7f\xa2\x1d\x0b\x8c\x77\x1b\x31\x06\x6b\x81\x2a\x1d\x0b\x15\x63\x71\x77\x6e\x72" -+"\x99\x81\xae\x1f\xf7\x88\x06\xb2\xa6\x0b\xac\x1d\x9c\x80\x95\x79\x7a\x80\x83\x78\x0b\x1f\x9a\x97\x95\x9d\x9c\x1a\x9b\x81\x9b\x7c" -+"\x90\x1e\x8e\x82\x0b\xb0\x1d\x94\x8f\x95\x91\xa5\x0b\x79\x7a\x72\x82\x8f\x82\x90\x85\x1f\x78\x9e\xba\x7c\xb4\x1b\x0b\x1a\x9e\x7d" -+"\x98\x77\x7f\x84\x88\x7e\x0b\x99\x1f\x9a\x97\x95\x9d\x9b\x1a\x9c\x0b\x7d\x98\x77\x7f\x84\x88\x7e\x78\x1e\xfb\x31\x21\x05\x74\x0b" -+"\x05\x7d\xf7\x6c\x1d\xf4\x06\x0b\x1f\x9a\x97\x95\x9d\x9b\x51\x1d\x0b\x9e\x1a\x9d\x82\x9b\x7c\x96\x1e\x93\x7f\x82\x8d\x6e\x1b\x0b" -+"\x7e\x82\x7b\x7b\x1a\x7e\xab\x1d\x0b\x05\xf6\x06\xb0\xa9\x83\x7b\x9e\x1f\xa5\x76\x9c\x64\x0b\xf7\x39\x15\xab\xfb\x39\x05\xec\x06" -+"\xf7\x2f\xf7\xd6\x0b\x15\xe5\x31\x05\x82\x94\x93\x87\x96\x1b\xa3\xa2\xa1\x0b\xf7\xfa\x15\xc8\xfb\x76\x05\xeb\x06\xf7\x2e\xf7\x74" -+"\x0b\x1a\x7b\x96\x81\x9b\x94\x95\x8f\x94\x99\x1e\x0e\x83\x1b\x85\x7f\x92\x98\x7c\x1f\x0b\x15\x70\x77\x74\x6b\x43\xcf\x52\x0b\x63" -+"\x65\x68\x66\x6e\xa1\x76\xa9\x0b\x7f\x7c\x1f\x7b\x7e\x82\x7a\x7a\x1a\x6e\x9d\x7e\x0b\x05\xb1\x8d\xa6\xa5\xac\x1a\xa7\x76\x99\x63" -+"\x1e\x0b\x06\x67\x6b\x6e\x6a\x70\xa0\x7c\xb3\x1f\xaf\x06\x0b\x83\x1a\x75\x9e\x7a\xa4\x9c\x9d\x93\x98\x98\x1e\x0b\xf7\x6e\x05\xa2" -+"\x06\xb0\xab\xa7\xac\xa7\x76\x99\x0b\x8a\x19\x89\x87\x84\x8a\x82\x1b\x80\x06\x93\xb6\x0b\x92\x1a\xa2\x78\x9c\x72\x67\x75\x75\x5f" -+"\x81\x1e\x0b\xfb\x81\x78\x36\x05\xf8\x4e\x06\x9f\xe2\x05\x8e\x0b\x1f\x7b\x7f\x82\x79\x7b\x9d\x1d\x0b\xfb\x1c\xf4\x27\xf7\x24\xf7" -+"\x5c\xf7\x4e\xf7\x40\x0b\x7f\x7c\x1a\x78\x99\x7e\x9f\x94\x9a\x91\x95\x0b\x05\xa4\x98\x8d\x8f\x94\x1f\xa0\x94\x9c\xa3\x0b\x06\x6b" -+"\x81\x89\x7f\x7c\x1f\x7b\x7e\x82\x7a\x0b\x87\x82\x7e\x1e\xfb\x12\x38\x05\x78\x7f\x82\x0b\x15\x98\x7d\x86\x8e\x7f\x1b\x70\x74\x75" -+"\x72\x0b\x1f\x7a\x81\x80\x79\x78\x1a\x7a\x94\x7a\x9a\x0b\xe1\x15\xae\xa7\x9e\xb0\xb0\x1a\xc0\x64\xaf\x0b\x96\x80\x9b\x99\x97\x93" -+"\x9c\x0b\x05\xb4\x8d\xa7\xa4\xad\x1a\x9d\x81\x9a\x0b\x06\xbd\xab\xa3\xaf\xa9\x77\x99\x62\x1f\x0b\x06\xbf\xa9\xa2\xb2\xa8\x78\x98" -+"\x61\x1f\x0b\x06\x66\x6b\x6e\x6a\x6f\xa0\x7d\xb3\x1f\x0b\x06\x59\x6b\x73\x66\x6c\x9d\x7f\xb6\x1f\x0b\x86\x1e\x88\x93\x94\x8a\x9e" -+"\x1b\x96\x06\x0b\xf7\x78\xf7\x67\x15\xf7\x45\xf7\x17\x05\x0b\x15\xfb\x24\x06\xeb\xfb\x78\x05\x78\x93\x0b\x1e\x88\x83\x86\x8a\x87" -+"\x1b\x83\x88\x8e\x0b\x1f\xa0\xa1\x94\x99\x98\x1a\x99\x7d\x97\x0b\xfb\x10\x05\x6e\x77\x86\x84\x7a\x1a\x79\x0b\x78\x9c\x72\x7a\x79" -+"\x83\x7e\x7e\x1e\x81\x0b\x06\x73\xfb\x00\x05\xf7\x13\x06\x0e\x01\x00\x01\xe3\x01\x05\x00\x01\x0a\x02\x01\x40\x03\x01\x87\xff\x02" -+"\x87\xa0\x02\x8e\x02\x00\x01\x00\x02\x00\x03\x00\x39\x00\x71\x01\x31\x02\x06\x02\x84\x03\x15\x03\x35\x03\x7d\x03\xc4\x04\x31\x04" -+"\x6f\x04\x71\x04\x73\x04\x7a\x04\xa5\x05\x06\x05\x38\x05\x9d\x06\x16\x06\x66\x06\xd3\x07\x4b\x07\x83\x07\xec\x08\x64\x08\x83\x08" -+"\xa9\x08\xf3\x09\x0a\x09\x54\x09\xbe\x0a\x62\x0a\x65\x0a\xc9\x0a\xcc\x0a\xcf\x0a\xdf\x0b\x31\x0b\x34\x0b\x59\x0b\x5c\x0b\x87\x0b" -+"\x8a\x0b\x8d\x0b\xeb\x0b\xee\x0b\xf1\x0b\xff\x0c\x9f\x0c\xa2\x0c\xa5\x0c\xa8\x0c\xab\x0c\xfe\x0d\x26\x0d\x2f\x0d\x3b\x0d\x51\x0d" -+"\x89\x0d\xb4\x0d\xee\x0e\x22\x0e\x3c\x0e\x4d\x0e\x50\x0e\xc4\x0e\xc7\x0e\xca\x0e\xcd\x0f\x22\x0f\x25\x0f\x69\x0f\x71\x0f\xa6\x0f" -+"\xa9\x0f\xac\x10\x28\x10\x2b\x10\x2e\x10\x32\x10\xb8\x10\xbb\x10\xbe\x10\xc1\x10\xc4\x11\x0f\x11\x12\x11\x1f\x11\x22\x11\x38\x11" -+"\xb1\x11\xbe\x12\x36\x12\x72\x12\xb9\x13\x43\x13\xc4\x13\xc6\x14\x72\x14\xde\x15\x8e\x16\x2e\x16\x4c\x16\x6e\x16\x86\x16\xb5\x16" -+"\xc8\x17\x29\x17\xbd\x17\xbf\x18\x08\x18\x6d\x18\x6f\x18\xf8\x19\x0f\x19\x11\x19\x1f\x19\x3a\x19\x82\x19\x92\x19\xcf\x1a\x3c\x1a" -+"\x58\x1a\x5e\x1a\x64\x1a\x97\x1a\x99\x1a\x9f\x1a\xa5\x1a\xab\x1a\xb1\x1a\xc7\x1a\xcd\x1a\xed\x1a\xf3\x1a\xf5\x1a\xf8\x1b\x77\x1b" -+"\xe2\x1b\xe5\x1c\x65\x1c\x92\x1c\x95\x1c\x9a\x1c\xea\x1c\xed\x1d\x6f\x1d\xff\x1e\x38\x1e\x58\x1e\xd5\x1f\x96\x1f\x98\x20\x1f\x20" -+"\x59\x20\xb6\x21\x02\x21\x3a\x21\x70\x21\x9e\x21\xd4\x22\x22\x22\x7e\x22\xfd\x23\x0a\x23\xab\x24\x06\x24\x74\x24\xef\x25\x12\x25" -+"\x2d\x25\x34\x25\x4c\x25\x78\x25\xc3\x26\x30\x26\x60\x26\x82\x26\xaa\x26\xdb\x26\xe1\x27\x02\x27\x09\x27\x16\x27\x6b\x27\x97\x27" -+"\x9e\x27\xb5\x27\xc2\x28\x0d\x28\xc7\x28\xe3\x29\x07\x29\x15\x29\x2c\x29\x57\x29\x75\x29\xde\x2a\x77\x2a\x96\x2a\xc3\x2a\xca\x2a" -+"\xf6\x2b\xb5\x2c\x4d\x2c\x7e\x2c\xb1\x2c\xcc\x2c\xf2\x2d\x3f\x2d\x63\x2d\x98\x2d\xaf\x2e\x02\x2e\x24\x2e\x51\x2e\x62\x2e\x8d\x2e" -+"\xcb\x2f\x49\x2f\x97\x2f\xdf\x30\x03\x30\x54\x30\x5c\x30\x72\x30\xcf\x31\x41\x31\xae\x32\x18\x32\x9c\x32\xfb\x33\x67\x34\x01\x34" -+"\x6e\x34\x8c\x34\x93\x34\x95\x34\xfc\x35\x03\x35\x66\x35\x96\x35\x98\x35\xae\x35\xe8\x35\xf0\x35\xf8\x35\xfa\x35\xff\x36\x01\x36" -+"\x1c\x36\x30\x36\x43\x36\x56\x36\x6a\x36\xa1\x36\xc2\x36\xc4\x37\x69\x37\x78\x37\xab\x38\x56\x38\x5a\x38\x62\x38\x69\x38\x71\x38" -+"\x78\x39\x18\x39\x2c\x39\xaa\x39\xbc\x39\xc1\x39\xc8\x39\xfc\x39\xfe\x3a\x1b\x3a\x3c\x3a\x6b\x3a\xc2\x3a\xda\x3a\xe1\x3a\xe7\x3b" -+"\x1b\x3b\x3a\x3b\x41\x3b\x5a\x3b\x5c\x3b\x62\x3b\x68\x3b\x70\x3b\x88\x3b\x91\x3b\xaa\x3b\xb1\x3c\x28\x3c\x2d\x3c\x97\x3c\xb5\x3d" -+"\x52\x3d\x54\x3d\xec\x3d\xf4\x3e\x2d\x3e\x34\x3e\x36\x3e\x3d\x3e\xea\x3f\x02\x3f\x0a\x3f\x5c\x3f\x5e\x3f\xd0\x3f\xd5\x40\x41\x40" -+"\xc9\x40\xe3\x40\xfc\x41\x13\x41\x3a\x41\x46\x41\xbe\x42\x1d\x42\x25\x42\x8f\x42\xb6\x42\xe3\x43\x00\x43\x2d\x43\xe2\x43\xf2\x44" -+"\x00\x44\x13\x44\x25\x44\x53\x44\x5b\x44\x62\x44\x64\x44\x66\x44\xc5\x44\xc7\x44\xcb\x45\x39\x45\x3b\x45\xc3\x46\x95\x47\x18\x47" -+"\x1b\x47\x46\x47\x49\x47\xae\x47\xb0\x47\xbf\x47\xc4\x47\xc6\x47\xc8\x47\xcb\x47\xcd\x47\xd0\x48\x65\x48\x67\x48\x89\x48\xd8\x49" -+"\x1b\x49\x72\x49\xd2\x4a\x52\x4a\x99\x4b\x1f\x4b\xa0\x4c\x2f\x4c\x76\x4d\x0c\x4d\x4c\x4d\xcd\x4d\xd0\x4d\xd2\x4d\xf0\x4e\x15\x4e" -+"\xa3\x4f\x41\x4f\xec\x50\x00\x50\x2b\x50\x48\x50\xb5\x51\x08\x51\x0b\x51\x83\x51\x88\x51\xf5\x52\xae\x53\x49\x53\x4c\x53\x7e\x53" -+"\x81\x53\xea\x54\x4f\x54\x8e\x54\x90\x54\xdc\x54\xe0\x54\xee\x55\x30\x55\x36\x55\xf4\x56\x01\x56\x58\x56\x77\x56\xa6\x56\xe9\x57" -+"\x39\x57\xc4\x58\x14\x58\x8b\x59\x0e\x59\x85\x59\xb0\x5a\x06\x5a\x1b\x5a\x90\x5a\xc3\x5a\xcb\x5b\x18\x5b\x26\x5b\xa5\x5c\x3a\x5c" -+"\x46\x5c\x4e\x5c\xe4\x5d\x10\x5d\x12\x5d\x66\x5e\x16\x5e\xb4\x5f\x87\x5f\xef\x60\x67\x60\x6f\x60\xa3\x60\xd7\x61\x3d\x61\xb5\x61" -+"\xda\x62\x29\x62\x6f\x62\xb5\x62\xc1\x63\x09\x63\x57\x63\xae\x64\x1e\x64\x25\x64\x2d\x64\x40\x64\x48\x64\xa4\x65\x1a\x65\x86\x65" -+"\x8e\x65\xbf\x66\x29\x66\x4d\x66\x52\x66\x5a\x66\x61\x66\x6d\x66\xac\x66\xb4\x67\x4f\x67\x89\x67\xf8\x68\x8e\x68\xde\x69\x33\x69" -+"\x36\x69\x5b\x69\x68\x69\x82\x69\xc8\x6a\xd2\x6b\x26\x6b\x2d\x6b\x34\x6b\x69\x6b\x70\x6b\xd2\x6c\x08\x6c\x5f\x6c\x95\x6c\xb9\x6c" -+"\xc0\x6d\x1c\x6d\x25\x6d\x90\x6d\xc1\x6d\xef\x6d\xfe\x6e\x5f\x6e\xc8\x6e\xf3\x6e\xf6\x6f\x42\x6f\x74\x6f\x83\x6f\xd9\x6f\xf0\x70" -+"\x64\x70\x7d\x70\xe8\x70\xee\x71\x36\x71\x3e\x71\x45\x71\x5e\x71\xc1\x72\x62\x72\xa9\x73\x23\x73\x33\x73\x75\x73\xfa\x74\x02\x74" -+"\x9b\x74\xa3\x74\xaa\x75\x33\x75\xb5\x75\xff\x76\x06\x76\x0d\x76\x14\x76\x39\x76\x79\x76\x7b\x76\xcc\x76\xd9\x76\xe1\x77\x44\x78" -+"\x15\x78\x8b\x79\x06\x79\x83\x79\xd8\x7a\x2b\x7a\xbf\x7b\x27\x7b\x53\x7b\x89\x7b\x90\x7b\x97\x7b\xb7\x7c\x11\x7c\x18\x7c\x72\x7c" -+"\x87\x7c\x8f\x7c\xac\x7c\xef\x7d\x9b\x7d\xe1\x7e\x5f\x7e\xd9\x7f\x37\x7f\xef\x80\x61\x80\xbd\x81\x17\x81\x2a\x81\x32\x81\x3a\x81" -+"\x42\x81\x6b\x81\x6c\x81\x6e\x81\x75\x81\x8e\x81\x90\x81\x92\x81\xaf\x82\x2e\x82\x95\x83\x12\x83\x24\x83\x50\x83\x9d\x83\xa4\x83" -+"\xe2\x84\x1d\x84\xf5\x85\xb2\x86\x4c\x86\xf6\x87\x85\x87\xf1\x88\x4f\x88\xef\x89\x63\x89\xfd\x8a\x74\x8a\xa6\x8a\xd3\x8b\x0d\x8b" -+"\x19\x8b\x4e\x8b\xb3\x8c\x1c\x8c\xa5\x8d\x19\x8d\x3c\x8d\x66\x8d\xea\x8e\xa8\x8f\x1f\x8f\x39\x8f\x3b\x8f\x66\x8f\xe5\x90\x52\x90" -+"\x5a\x90\x62\x90\xb2\x90\xb4\x90\xc8\x90\xd0\x90\xdd\x91\x96\x92\x12\x92\x14\x92\x16\x92\x2d\x92\x4b\x92\xa6\x92\xbc\x93\x1d\x93" -+"\x4a\x93\x5f\x93\xbf\x93\xda\x94\x1c\x94\x23\x94\x2a\x94\xba\x94\xe8\x95\x22\x95\x29\x95\x3d\x95\xd0\x95\xdb\x95\xfe\x96\x06\x96" -+"\x0d\x96\x7e\x0e\x0e\xf8\x82\xf8\x8b\x15\x94\xa8\x8d\x95\x98\x1a\xaf\x6e\xa5\x62\x6f\x6e\x7e\x76\x77\x1e\x79\x78\x85\x7b\x86\x60" -+"\x69\xfb\xaf\x18\x8a\x88\x8b\x88\x89\x1a\x70\x9b\x7b\xa7\xa9\xa3\x9e\xaa\x95\x1e\x2a\xfb\x7f\x15\x2c\x0a\x0e\xf7\x98\xf8\xdb\x15" -+"\x77\xfb\x8a\x05\x8a\x85\x8b\x86\x89\x1a\x7c\x97\x80\x9b\xa1\x97\x95\xa6\x94\x1e\xe3\xf7\x8c\x05\xc9\x16\x77\xfb\x8a\x05\x8a\x85" -+"\x8b\x86\x89\x1a\x7c\x97\x80\x9b\xa1\x97\x96\xa5\x94\x1e\xe3\xf7\x8c\x05\x0e\xf8\xb7\xf8\x44\x15\xb7\xf7\x28\x05\x92\xa4\x8b\x8b" -+"\x91\x1a\xa3\x78\x9d\x72\x7a\x7b\x84\x7f\x7d\x1e\x80\x81\x88\x84\x83\x6f\x5d\xfb\x31\x18\x4b\x06\xb7\xf7\x28\x05\x90\x9d\x8d\x92" -+"\x93\x1a\xa1\x78\x9d\x72\x68\x74\x76\x60\x81\x1e\x5c\xfb\x31\x05\x73\x06\x6b\x81\x89\x7e\x30\x1d\x88\x94\x92\x8a\x9f\x1b\x99\x06" -+"\x70\x2e\x05\x6d\x06\x6b\x81\x88\x7f\x30\x1d\x88\x94\x94\x8a\x9d\x1b\x9f\x06\x5f\xfb\x28\x05\x87\x7b\x89\x82\x84\x1a\x74\x9e\x79" -+"\xa4\xae\xa3\xa1\xb5\x94\x1e\xba\xf7\x31\x05\xca\x06\x5f\xfb\x28\x05\x87\x7c\x89\x82\x83\x1a\x74\x9e\x79\xa2\x9b\x9c\x92\x97\x99" -+"\x1e\x91\x92\x97\xa1\x90\x9a\xb9\xf7\x32\x18\xa2\x06\xaa\x97\x50\x1d\x9b\x1a\x9c\x80\x51\x0a\x83\x8c\x78\x1b\x7d\x06\xa7\xe8\x05" -+"\xa8\x06\xaa\x96\xd7\x0a\xfb\x32\x24\x15\x6f\x2e\x05\x4c\x06\xa7\xe8\x05\x0e\xf8\x7b\xf8\xe5\x15\xf7\x29\x0a\x7a\x7a\x83\x7e\x7e" -+"\x1e\x81\x81\x86\x82\x86\x70\x86\x75\x18\x24\x7a\x3b\x3b\x35\x1a\x4b\xb5\x62\xdf\x7a\x1e\xd2\x7d\x05\xb9\x82\x9e\x7e\x74\x1a\x5e" -+"\x52\x67\x46\x55\x5d\xa1\xa6\x89\x1e\x8a\xa6\x8b\x8b\x84\x93\x08\x94\x83\x7d\x91\x7d\x1b\x7a\x79\x83\x7e\x7e\x1f\x81\x81\x86\x82" -+"\x86\x71\x7d\x50\x18\x88\x7a\x8a\x87\x83\x1a\x74\x9e\x7a\xa5\x9a\x95\x8f\x98\x9e\x1e\xa5\x7e\x92\x89\xae\x83\x7a\x40\x18\x88\x7f" -+"\x8a\x81\x84\x1a\x75\x9e\x7a\xa4\x9b\x9c\x93\x98\x99\x1e\x95\x95\x8f\x93\x91\xa6\x9c\xd8\x18\xf7\x10\xa2\xdf\xdc\xee\x1a\xd0\x63" -+"\xaf\x28\xa0\x1e\x4d\x97\x05\x63\x94\x76\x99\x9e\x1a\xb0\xb9\xa6\xcb\xae\xb0\x7c\x7d\x6d\x9b\x7b\xaa\x9c\x9c\x92\x99\x99\x1e\x95" -+"\x95\x8e\x92\x92\xa7\x92\xaa\x18\x8e\x99\x8c\x91\x93\x1a\xa1\x78\x9c\x72\x81\x83\x89\x87\x7f\x1e\x8c\x88\x88\x8c\x8a\x1b\x76\x93" -+"\x84\x8d\x82\x8d\x7d\x8d\x19\x0e\xf7\xfd\xf8\xe8\x15\x31\x38\x3c\x37\x4d\xba\x5e\xcc\xe4\xdf\xd9\xe0\xca\x5d\xb7\x49\x1f\x7d\x4c" -+"\x15\xae\xa4\x73\x6b\x5d\x5f\x61\x5a\x68\x72\xa3\xad\xb7\xb8\xb5\xbb\x1f\xf7\x6b\xfb\x6a\x15\xa5\x93\x96\x95\x9d\x1a\x9a\x82\x95" -+"\x7e\x85\x85\x8a\x88\x81\x1e\xfc\x17\xfb\x05\x05\x70\x83\x81\x81\x79\x1a\x7c\x94\x81\x98\x90\x94\x8d\x8d\x92\x1e\xf7\x90\xbc\x15" -+"\x31\x38\x3d\x37\x4d\xba\x5e\xcc\xe4\xdf\xd9\xdf\xca\x5d\xb7\x49\x1f\x7d\x4c\x15\xae\xa4\x73\x6b\x5e\x5f\x61\x5b\x68\x72\xa3\xac" -+"\xb7\xb8\xb5\xba\x1f\x0e\xf8\x2b\xf7\x5d\x15\x4a\xf7\x18\x05\x81\x9d\x84\x9f\x92\x1a\xa6\xa8\xa4\xab\x9e\x95\x85\x6f\xa5\x1e\xbb" -+"\xa2\x05\xb5\x9e\x99\x9b\xa7\x1a\xa2\x77\x9e\x73\x85\x83\x89\x86\x7d\x1e\x96\x74\x77\x90\x74\x1b\x2d\x29\x33\x38\x78\x8f\x78\x97" -+"\x6e\x1f\x38\x62\x59\x42\x3e\x1a\x43\xc8\x5e\xeb\xbe\xad\x93\x9d\xab\x1e\x92\x7e\x05\xca\x20\x0a\x9b\x1a\x9c\x80\x9c\x7d\x8f\x1e" -+"\x8f\x82\x85\x8b\x77\x1b\x98\x9c\x95\x9b\x9d\xaf\x08\xaa\x8f\xa4\xa6\xaa\x1a\x9b\x80\x9b\x7d\x90\x1e\x8e\x83\x84\x8c\x76\x1b\x54" -+"\x06\xfb\x0a\xfb\x42\x15\x82\x79\x81\x89\x74\x1b\x5d\x75\x97\xa4\xad\xa3\xa8\xb5\x9e\x1f\x0e\xf7\xf0\xf8\xee\x15\xfb\x0d\xfb\x7f" -+"\x05\x83\x7d\x8a\x86\x83\x1a\x7e\x99\x80\x9b\x98\x99\x93\x9b\x98\x1e\xf7\x5f\xf7\x9a\x05\x0e\xf8\xd0\xf8\xf7\x15\x6d\x77\x7b\x48" -+"\x55\x1f\xfb\x08\xfb\x23\x57\xfb\x0f\xfb\x19\x1a\x37\xa8\xfb\x04\xb0\x50\x1e\x7e\x94\x97\x84\x9d\x1b\xae\xaa\xa8\xac\x91\x8a\x90" -+"\x86\x97\x1f\x6b\xd6\x7e\xc5\xcc\x1a\xf7\x16\xc1\xf7\x0c\xf7\x0e\xf7\x1e\x1e\x9b\x9e\x90\x95\x9b\x1a\xa3\x78\x9c\x71\x1e\x0e\xf7" -+"\xc2\xf8\xf7\x15\x68\x6c\x6e\x6a\x85\x8c\x86\x90\x7f\x1f\xab\x41\x98\x50\x4a\x1a\xfb\x15\x54\xfb\x0d\xfb\x0d\xfb\x1e\x1e\x7b\x79" -+"\x86\x7f\x7c\x1a\x73\x9e\x7a\xa5\xa9\xa0\x9b\xce\xc0\x1e\xf7\x09\xf7\x25\xbe\xf7\x0d\xf7\x19\x1a\xdf\x6e\xf7\x04\x65\xc6\x1e\x98" -+"\x83\x7e\x92\x7a\x1b\x0e\xf7\xb7\xf7\xfa\x15\x4c\x4b\x05\x73\x72\x85\x81\x79\x1a\x72\x9d\x7a\xa5\xa1\x97\x92\xa5\xa5\x1e\xcb\xcc" -+"\xad\x4b\x05\x70\x99\x95\x84\xa2\x1b\xab\xac\xa9\xa8\x96\x89\x90\x81\x9e\x1f\x69\xcb\xe2\xa4\x05\xb8\x97\x9f\x9f\xaa\x1a\xa2\x79" -+"\x9e\x73\x81\x87\x8a\x85\x75\x1e\x36\x73\x9c\xd8\x05\x8e\x9a\x8c\x91\x93\x1a\xa1\x78\x9c\x72\x68\x74\x75\x5f\x81\x1e\x79\x3b\x3f" -+"\xa4\x05\x91\x77\x88\x8c\x82\x1b\x6a\x6c\x6d\x6b\x75\x96\x80\xab\x81\x1f\x0e\xf8\x27\xf7\x6f\x15\xf7\x1e\x7b\x1d\xfb\x1c\x06\xac" -+"\xf7\x2b\x05\x90\x9e\x8b\x8c\x94\x1a\xa1\x78\x9c\x72\x67\x74\x75\x5f\x82\x1e\x68\xfb\x2d\x05\xfb\x1e\x4a\x1d\xf7\x1c\x06\x6a\xfb" -+"\x2b\x05\x89\x81\x89\x80\x83\x1a\x75\xa9\x1d\x8f\x94\x91\xa5\x08\x0e\xc3\x0a\x76\x1d\xf7\xc5\x7d\x15\x2c\x0a\x0e\xf9\x13\xf8\xdb" -+"\x15\x9c\xa3\x8f\x94\x98\x1a\xa4\x78\x9c\x72\x71\x7c\x81\x6a\x73\x1e\xfc\x65\xfd\x1c\x05\x7c\x76\x85\x7e\x7e\x1a\x74\x9f\x79\xa3" -+"\xa6\x99\x95\xad\xa3\x1e\x0e\xf8\xe9\xf7\xee\x15\x91\xa6\x8e\xa6\xa7\x1a\xf7\x0c\x4e\xd0\xfb\x00\x4f\x57\x79\x68\x60\x1e\x4d\x57" -+"\x5e\x3e\x77\x33\x77\x31\x18\x85\x70\x88\x6f\x70\x1a\xfb\x0d\xc8\x47\xf7\x00\xc7\xbf\x9d\xae\xb6\x1e\xc9\xbe\xb8\xd9\x9f\xe2\x08" -+"\xfb\xcd\xec\x15\xee\xa1\xc6\xca\xd0\x1b\xc0\xa9\x66\x4a\x78\x89\x77\x86\x78\x1f\x75\x23\x05\x2a\x75\x4f\x4b\x47\x1b\x56\x6d\xb0" -+"\xcb\x9f\x8d\x9e\x8f\x9f\x1f\x0e\xf8\x7f\xf8\xfe\x15\xfb\x7a\x55\x05\x5b\x80\x77\x78\x68\x1a\x72\x9b\x7a\xa3\x95\x8f\x8c\x90\xa0" -+"\x1e\xe0\x9f\x36\xfc\x10\x05\x2a\x26\x1d\xf7\xc1\x06\xa7\x9a\x3d\x1d\x9c\x52\x1d\x82\x20\x1d\x2b\x06\x0e\xf7\x85\xf3\x15\xa7\x9f" -+"\xf7\x1e\xe8\xc1\xb3\xc3\xb9\x19\xc7\xbd\xa8\xbf\xc9\x1a\xe3\x41\xc9\x21\x4e\x4e\x77\x68\x5b\x1e\x5a\x68\x65\x57\x6b\x1a\x75\x9f" -+"\x79\xa4\xa1\xa2\x97\x9d\x95\x1e\x9c\xa9\x8d\x8d\x96\x96\x08\xa3\xa7\xaf\x99\xb3\x1b\xc1\xb2\x70\x64\x64\x7b\x7a\xfb\x19\x2a\x1f" -+"\x5b\x68\x50\x62\xfb\x34\x20\x84\x87\x18\x73\xfb\x00\x05\xf8\x62\x06\x9f\xe2\x05\x8f\x9d\x83\x0a\x6b\x76\x7a\x69\x80\x1e\x0e\xf7" -+"\xf9\xf8\x09\x15\x68\x6b\x6f\x6b\x73\x9b\x7d\xa9\x8a\x1f\xb5\x89\x98\x89\x9d\x83\x08\xac\x7d\xa2\x70\x71\x1a\x71\x7b\x6d\x72\x79" -+"\x1e\x74\x6b\x65\x82\x47\x1b\x4b\x70\x90\x9b\x76\x1f\x95\x7c\x86\x8d\x7e\x1b\x69\x6c\x6e\x69\x5f\xd7\x6e\xf7\x07\xf5\xce\x9f\xbd" -+"\xc4\x1f\xb9\xb4\xab\xc8\xbb\x1a\xba\x70\xb3\x57\xa7\x1e\xdb\xb5\xb0\xbc\xcb\x1a\xe1\x47\xc2\x20\xfb\x0d\xfb\x07\x50\x4d\x74\x9e" -+"\x79\xa4\x9a\x9a\x91\x94\x96\x1e\xad\xb2\xa8\x95\xc1\x1b\xc6\xae\x77\x68\x60\x57\x60\x56\x1f\x0e\xf8\xdc\xf8\xed\x15\xfb\x1e\x06" -+"\xfb\xdc\xfc\x14\x78\x36\x05\xf7\xa4\x06\x85\x6e\x05\x68\x06\x6c\x80\x36\x1d\xf7\x18\x06\xa8\x9a\x29\x1d\x9c\x81\x9b\x7c\x90\x1e" -+"\x85\x8d\x84\x8c\x7e\x8c\x91\xa8\x18\xb8\x8c\xa8\xa4\xae\x1a\x9d\x81\x9a\x7c\x90\x1e\x85\x8d\x85\x8c\x7d\x8c\x08\xfb\x00\x16\xfb" -+"\x1d\x06\xf7\x4c\xf7\x69\x05\x0e\xf7\xe2\xf8\x86\x15\xf7\x5a\x06\xa9\x98\x28\x1d\x9c\x1a\xa9\x7a\x96\x5f\x1e\xfb\xc5\x06\x4e\xfb" -+"\xa6\x05\x8a\x85\x8a\x84\x88\x1a\x73\x9e\x79\xa4\x96\x90\x8c\x92\x9a\x1e\x9f\xb8\xbc\x98\xac\x1b\xbf\xac\x6c\x5a\x6b\x80\x6b\x79" -+"\x73\x1f\x66\x6e\x5f\x7b\x41\x1b\x4a\x70\x92\xa2\x73\x1f\x98\x7e\x84\x8e\x7c\x1b\x69\x6b\x6d\x6b\x59\xde\x66\xf7\x04\xf7\x03\xd3" -+"\xa6\xcb\xc5\x1f\xb5\xbb\xa4\xc9\xc7\x1a\xef\x47\xcd\x23\x6d\x69\x86\x81\x68\x1e\x0e\xf7\xb2\xf7\xdb\x15\xf7\x00\xbe\xf6\xd7\xee" -+"\x1b\x93\x90\x8a\x88\x94\x1f\x84\x9c\x94\x89\x94\x1b\xae\xab\xa9\xac\xad\x61\xa1\x49\xfb\x0b\xfb\x18\x40\xfb\x05\x3b\x1f\x58\x43" -+"\x70\x33\x2e\x1a\xfb\x13\xc6\x4c\xf7\x0b\xdb\xcb\xa6\xc2\xbc\x1e\xb3\xb8\xa3\xc9\xc3\x1a\xe2\x47\xcd\x32\x5b\x65\x7c\x61\x53\x1e" -+"\x77\xfb\x11\x15\xba\xb0\xc3\xab\xb5\x1b\xb5\xaa\x6c\x61\x74\x81\x6e\x7a\x75\x1f\x6d\x75\x6c\x7c\x61\x1b\x6e\x72\x94\x99\x80\x1f" -+"\x7f\x99\x81\xad\xa8\x1a\x8d\x8b\x90\x8c\x91\x1e\x0e\xf8\x8e\xf8\x86\x15\xfb\x83\xfc\x33\x05\x80\x77\x86\x7f\x7f\x1a\x75\xa0\x79" -+"\xa3\xa7\x9c\x97\xb0\xa0\x1e\xf7\x99\xf8\x59\xa1\xef\x05\xfc\x4d\x06\x77\x34\x05\x88\x7d\x8a\x85\x83\x1a\x75\x9e\x7a\xa5\xaa\xa0" -+"\x9c\xad\x96\x1e\x0e\xf8\x83\xf7\xc8\x15\xd9\xb7\xb2\xc1\xcc\x1a\xe1\x42\xc7\x23\x4a\x48\x73\x61\x5b\x1e\x5f\x65\x6d\x54\x5f\x1a" -+"\x62\x9e\x6a\xb3\x6c\x1e\x38\x5e\x5c\x4a\x43\x1a\x34\xd2\x55\xf7\x06\xdc\xdb\xa8\xba\xb8\x1e\xae\xaf\xa2\xbf\xb5\x1a\xb9\x75\xb3" -+"\x61\xa9\x1e\x3a\xf7\x62\x15\xc0\xad\x73\x65\x54\x55\x61\x44\x56\x69\xa3\xb2\xc1\xc1\xb5\xd2\x1f\x51\xfb\x9b\x15\xc2\xb3\x6e\x63" -+"\x59\x4f\x60\x44\x4d\x67\xa4\xb4\xbe\xca\xb8\xd2\x1f\x0e\xf8\x80\xf7\xa8\x15\xfb\x00\x58\x21\x3f\x26\x1b\x83\x87\x8c\x8e\x82\x1f" -+"\x91\x7b\x82\x8d\x81\x1b\x68\x6b\x6d\x6b\x69\xb6\x75\xcc\xf7\x0b\xf7\x17\xd5\xf7\x06\xdc\x1f\xbe\xd3\xa6\xe3\xe8\x1a\xf7\x13\x50" -+"\xca\xfb\x0a\x3a\x4b\x70\x54\x5a\x1e\x63\x5d\x73\x4e\x52\x1a\x34\xcf\x49\xe4\xbb\xb1\x9a\xb6\xc3\x1e\x9f\xf7\x11\x15\x5c\x66\x53" -+"\x6b\x61\x1b\x61\x6c\xaa\xb4\xa3\x95\xa8\x9c\xa1\x1f\xaa\xa2\xa9\x99\xb5\x1b\xa9\xa3\x83\x7c\x97\x1f\x97\x7c\x94\x6a\x6d\x1a\x89" -+"\x8b\x86\x8a\x86\x1e\x0e\xf7\xc5\x7d\x15\x2c\x0a\xe0\xf7\xc4\x15\xb8\xb4\xb2\xb5\xaa\x73\xa1\x69\x1f\x7a\x06\x5f\x61\x65\x62\x6b" -+"\xa3\x74\xad\x1f\x0e\xf7\x1c\x0a\x7e\x89\x86\x83\x1a\x7e\x99\x7f\x9b\x98\xf7\x2c\x0a\x7a\xf7\xb5\x15\x55\x61\x68\x5d\x69\xa3\x77" -+"\xb5\xc1\xb4\xae\xb8\xae\x73\x9f\x62\x1f\x0e\xf7\xaa\xf7\xa3\x15\xf7\x8c\xf7\x0a\x05\xa5\x98\x98\x9a\x9c\x1a\x93\x89\x93\x87\x93" -+"\x1e\x8a\x8d\x05\x9c\x83\x74\x96\x72\x1b\x7c\x7d\x88\x85\x7e\x1f\xfc\x51\xfb\x63\xf8\x51\xfb\x68\x05\x85\x98\x99\x88\x9a\x1b\xa4" -+"\xa2\x96\x9c\x93\x1f\x8c\x8d\x05\x8f\x93\x8d\x93\x92\x1a\x9e\x80\x97\x6e\x9a\x1e\x0e\xf7\x5a\xf8\x2f\x15\x6b\x7c\x0a\x32\x0a\xfc" -+"\x3a\xfb\x44\x15\x38\x0a\x7c\x7f\x81\x32\x0a\x0e\xf7\xcd\xf7\xa3\x15\xfb\x8b\xfb\x0d\x05\x6e\x7c\x80\x7f\x78\x1a\x84\x8d\x83\x8f" -+"\x83\x1e\x8c\x89\x05\x7a\x93\xa2\x80\xa4\x1b\x9a\x99\x8e\x91\x98\x1f\xf8\x51\xf7\x68\xfc\x51\xf7\x63\x05\x91\x7e\x7d\x8e\x7c\x1b" -+"\x72\x74\x80\x7a\x83\x1f\x8a\x89\x05\x87\x83\x89\x83\x83\x1a\x7a\x98\x7c\xa5\x7e\x1e\x0e\xf7\x59\xf8\x50\x15\x88\x7d\x8a\x83\x84" -+"\xf7\x1c\x1d\x95\x8f\x92\x91\xa7\x8e\x96\x18\x9b\xae\xad\x92\xb1\x1b\xc3\xaa\x74\x62\x5d\x60\x70\xfb\x27\x5a\x1f\x7f\x53\x05\x86" -+"\x78\x8b\x8a\x82\x1a\x75\x9e\x7a\xa3\xab\xa0\x9c\xae\x98\x1e\xd1\xa6\xb4\xa1\xad\xa8\x08\xb2\xab\xa3\xbf\xc0\x1a\xe6\x48\xc2\xfb" -+"\x01\x4f\x54\x7e\x69\x39\x1e\x80\x86\x82\x88\x86\x88\x08\xe9\xfc\xab\x15\xb7\xb4\xb1\xb5\xaa\x73\xa2\x6a\x1f\x79\xf7\x24\x0a\x0e" -+"\xf8\x7c\xf8\x17\x15\xfb\x13\x81\x24\x34\x28\x1a\x42\xc3\x5a\xdd\x1e\xd4\x06\xa5\x95\x8d\x95\x97\x1f\x99\x96\x92\x99\x99\x1a\x99" -+"\x86\x93\x80\x91\x1e\xc6\xf7\x9c\x05\x8e\x9a\x8d\x99\x99\x1a\xe4\x50\xc3\x2d\xfb\x19\xfb\x0e\xfb\x0c\xfb\x3b\x65\x1e\x67\xfb\x35" -+"\x05\x84\x6c\x88\x6c\x6d\x1a\x53\x97\x5c\xa2\x66\x1e\x5f\xa8\xb7\x76\xcd\x1b\xf7\x00\xe9\xb7\xbd\xa0\x7c\x99\x75\x7f\x84\x88\x7d" -+"\x7a\x1f\x79\x74\x63\x80\x5e\x1b\x6c\x78\x91\x9a\x7b\x1f\x72\xa1\x7c\xb8\xc0\x1a\xa1\x8e\xa6\x92\xa8\x1e\xac\xf7\x29\x05\xf7\x0d" -+"\xa6\xdd\xe5\xde\x1b\xbc\xa9\x6e\x5b\x82\x8a\x83\x89\x82\x1f\x52\xfb\x97\x15\x8a\x7f\x86\x8b\x85\x1b\x63\x70\xa0\xa9\xba\xc1\xb5" -+"\xcf\x92\x1f\x0e\x22\x1d\x0e\xf7\x03\xf2\x15\x80\x06\x6c\x80\x36\x1d\xf7\xbb\x06\xd4\xc7\x9f\xb4\xb7\x1f\xb0\xac\xa3\xbc\xb5\x1a" -+"\xb9\x72\xb0\x59\xa6\x1e\xc5\xaf\xa8\xba\xc1\x1a\xac\x7d\xac\x72\xa2\x1e\xa9\x6c\x62\x98\x51\x1b\xfb\x90\xf7\x39\x1d\xb6\x1e\x95" -+"\x06\xdb\xfb\x13\x15\xa7\xf7\x13\x05\xf7\x16\x06\xc1\xaa\x7a\x6e\x5d\x51\x68\x3e\x1f\xfb\x33\xfb\x7b\x15\xa7\xf7\x14\x05\xf7\x18" -+"\x06\xd5\xb9\x71\x60\x65\x65\x76\x43\x1f\x0e\x56\x0a\x0e\xc6\x1d\x0e\x24\x1d\xad\xf7\x28\x05\x8e\x9b\x8c\x91\x93\x1a\xa1\x21\x1d" -+"\x0e\xf7\x8d\xf7\x7c\x15\xd8\x06\x8a\x89\x05\x89\x81\x89\x7f\x83\x1a\x75\x9e\x7a\xa4\x9b\xf7\x1b\x0a\xa3\xf6\x18\x8e\x96\x8c\x95" -+"\x93\x1a\xa2\x79\x9c\x71\x68\x74\x74\x5f\x82\x1e\x8a\x88\x05\x3f\x2b\x1d\xf7\x8c\x06\x81\x5f\xf7\x08\x0a\x92\x99\x99\x1e\x95\x95" -+"\x8f\x94\x91\xa6\xac\xf7\x28\x18\xfc\x6f\x27\x1d\x95\x06\x3b\xfb\xfa\xdf\x1d\x6e\x1d\x0e\xf8\x5b\xf7\x7a\x44\x1d\x7a\x1a\x72\x98" -+"\x7e\xa7\x87\x1e\x3b\xfb\xfa\x05\x89\xf7\x1e\x0a\x7b\x7f\x66\x0a\x9c\x81\x9c\x41\x1d\x76\x1b\x82\x2b\x1d\x0e\x28\x0a\x0e\xf8\xe7" -+"\x94\x1d\x9a\x97\x95\x9d\x9b\x1a\x9c\x80\x9c\x7d\x8f\x1e\x8e\x82\x84\x8c\x77\x62\x0a\x82\x60\x86\x83\x72\x78\x19\x76\x70\x65\x7f" -+"\x67\x1b\x6b\x6e\x92\x9f\x5f\xe4\x1d\x8b\x0a\x0e\x2f\x0a\x0e\xf7\x75\xf7\x52\x1d\x53\xfb\x90\x05\x6b\x06\x6b\x81\x37\x0a\x79\x7a" -+"\x21\x0a\xf7\x15\x20\x0a\x9c\x1a\x9c\x81\x9a\x7c\x91\x1e\x86\x8d\x84\x8c\x7e\x8c\xdb\xf7\xf9\x18\xb2\x90\xa4\xa3\xab\x41\x0a\xfb" -+"\x03\x06\xfb\x57\xfb\xaa\x41\xf7\xaa\x05\xfb\x03\x25\x1d\x72\x98\x7e\xa7\x88\x1e\x3c\xfb\xfa\x05\x5f\x8a\x6d\x72\x67\x1a\x6d\x9d" -+"\x7f\xb6\x1e\xf7\x15\xb3\x0a\x8c\x77\x1b\x6d\x06\x0e\x3c\x0a\x0e\x2e\x1d\x0e\xf7\x84\xf7\x53\x15\xea\x06\xf5\xcb\xa3\xc9\xc3\x9b" -+"\x0a\xf7\xa4\x85\x15\xd9\x8c\xb2\x93\xbb\xa3\x08\xf7\x18\xcf\xdf\xf7\x12\xf7\x16\x1a\xf7\x17\x2b\xeb\xfb\x16\xfb\x4a\xfb\x42\xfb" -+"\x45\xfb\x4d\x4e\x9f\x53\xae\x66\x1e\x97\x7d\x9f\x7c\xae\x75\x45\x55\x18\x74\x79\x83\x7e\x76\x1a\x75\x9e\x78\xa1\x93\x96\x8d\x8e" -+"\x97\x1e\x95\xb9\xca\x95\xa2\x1b\x9f\x96\x88\x7e\xac\x1f\x83\x9e\x99\x88\x9f\x1b\xb1\xba\x9b\xa5\xb4\x1f\x9e\x97\x96\x9e\x9e\x1a" -+"\xa4\x79\x9c\x70\x7e\x86\x89\x7c\x6f\x1e\x80\x76\x82\x88\x7d\x1b\x7f\x85\x8c\x91\x76\x1f\x94\x6c\x73\x8e\x6f\x1b\x7c\x80\x8a\x89" -+"\x78\x1f\xf7\x1e\xf8\x82\x15\xda\xc5\x4e\x36\xfb\x0c\xfb\x03\xfb\x0c\xfb\x03\x3a\x51\xc7\xe1\xf7\x0e\xf7\x02\xf7\x0a\xf7\x06\x1f" -+"\x0e\x3b\x0a\x0e\x6d\x1d\x0e\x57\x0a\x0e\x23\x0a\x0e\xf7\xe3\xf7\x2b\x15\x46\xf7\xca\x05\x99\x06\xab\x96\x8d\x97\x9a\x1f\x9a\x98" -+"\x94\x9c\x9c\x1a\xa9\x7a\x97\x60\x1e\xfb\x19\x8a\x1d\x9c\x7f\xb5\x1e\xef\xfc\x61\x05\xf3\x06\xf7\xc7\xf8\x61\x05\xa4\x95\x8c\x91" -+"\x96\x1f\xa0\x96\x9a\xa1\xa0\x1a\xa9\x7a\x97\x5f\x1e\xfb\x17\x37\x1d\x79\x95\x7c\x9a\x85\x1e\x88\x94\x91\x8b\x9f\x1b\x9c\x06\x0e" -+"\xf7\xf9\x6a\x0a\xaa\x1a\x9c\xd4\x1d\x80\x9b\x7d\x74\x0a\xfb\x17\x42\x1d\x7b\x1f\x7b\x7f\x82\x78\x79\x1a\x75\x96\x7f\xa5\x87\x1e" -+"\x62\xfc\x62\x05\xf7\x0a\x06\x0e\xf8\x44\xf7\x1e\x1d\x82\x85\xb7\x1d\xf8\x2a\xf7\x7f\x29\x0a\x77\x1b\x2e\x34\x1d\x0e\xf7\x7c\x71" -+"\x0a\x9d\x9d\x93\x98\x98\x1e\x95\x95\x8f\x94\x91\xa5\x99\xcb\x18\x43\x0a\x0e\xf8\x65\xf8\x8b\x15\xc2\x06\xa9\x98\x50\x1d\x9c\x1a" -+"\x9c\x81\x9a\x7c\x90\x1e\x8e\x82\x85\x8c\x77\x1b\xfb\x36\x06\xfb\x3a\xfd\x7f\x05\xf7\x38\x06\xa9\x97\x2a\x0a\x9d\x9b\x1a\x9d\x80" -+"\x9b\x7d\x8f\x1e\x8e\x82\x20\x1d\x55\x06\x0e\xf7\xda\xf9\x07\x15\xac\x82\x80\x96\x72\x1b\x68\x6c\x6e\x6c\x84\x8c\x86\x8f\x7d\x1f" -+"\xf7\x44\xfd\x1c\x05\x69\x94\x96\x80\xa6\x1b\xac\xab\xa8\xaa\x92\x89\x94\x88\x96\x1f\x0e\xf7\x81\x65\x15\x54\x06\x6d\x7e\x88\x7f" -+"\x7d\xad\x1d\x7a\x95\x7c\x9a\x86\x1e\x88\x94\x91\x8a\x9f\x1b\xf7\x36\x06\xf7\x3a\xf9\x7f\x05\xfb\x38\x06\x6d\x7f\x37\x0a\x79\x7b" -+"\x1a\x79\x95\x7c\x9a\x86\x1e\x88\x94\x92\x8a\x9f\x1b\xc1\x06\x0e\xf7\xbf\xf8\x62\x15\xf7\x05\xfb\x11\x05\x72\xa2\x95\x85\xa1\x1b" -+"\xab\xa5\xa4\xa9\x9c\x86\x94\x78\xa1\x1f\xfb\x5e\xf7\x76\xfb\x5c\xfb\x76\x05\x78\x75\x86\x81\x7c\x1a\x6c\xa5\x72\xab\xa1\x95\x91" -+"\xa5\xa2\x1e\x0e\xa7\x6a\x15\x71\x82\x8a\x84\x80\x1f\x7a\x82\x80\x78\x4c\x1d\xf8\xb4\x06\xa2\x99\x8d\x91\x94\x47\x1d\x0e\xf8\x98" -+"\xf0\x0a\xa2\xa0\x9f\xa1\x89\x1f\x8c\x8b\x8e\x8a\x8f\x1e\x0e\x2d\x1d\x0e\xf7\xcc\xf8\xef\x15\xfb\x0d\x06\x6c\x80\x88\x7f\x7c\xf7" -+"\x15\x1d\x88\x93\x94\x8a\x9e\x1b\x96\x06\x32\xfc\x21\x05\x7f\x06\x6b\x80\x89\x7f\xf7\x0e\x0a\xf7\x0c\x06\x91\xaa\x05\x6b\xb5\xb1" -+"\x7f\xc4\x1b\xe4\xd4\xa8\xc6\xc8\x1f\xbf\xbd\xaa\xd1\xcc\x1a\xc2\x73\xbe\x63\xab\x1e\xa5\x6a\x59\x99\x4e\x1b\x53\x59\x7d\x6e\x5b" -+"\x1f\xf7\x17\x4f\x15\xd7\xb7\x67\x4d\x6e\x7e\x6c\x74\x70\x1f\x63\x68\x5d\x77\x53\x1b\x3e\x5f\xaf\xc9\xa8\x98\xab\xa2\xa5\x1f\xb3" -+"\xae\xb8\x9f\xc5\x1b\x0e\x3e\x0a\x0e\xba\x1d\x0e\x33\x1d\x0e\xf8\x09\xf7\xd6\x15\xf7\x28\x81\x1d\x85\x8c\x76\x1b\xfb\x25\x06\x91" -+"\xa9\x05\xa9\x92\xa8\x99\xc3\x1b\xab\xb2\x87\x85\xb1\x1f\x89\x97\x95\x8a\x92\x1b\xaa\xaa\xaa\xaa\x9f\x7f\x98\x73\x92\x1f\x93\x6c" -+"\x4e\x92\x61\x1b\xfb\x0e\x33\x53\x31\x77\x1f\x84\x6b\x05\x60\x06\xe9\x0a\xb4\x39\x0a\x54\x8a\x1d\x9d\x7f\xb5\x1e\xf7\xbe\x7a\x1d" -+"\xfb\x1a\x06\x0e\x70\x1d\x0e\xf7\xe1\xf8\xef\x15\xfb\x0d\x06\x6c\x80\x2a\x1d\x7b\xf4\x0a\x32\xfc\x21\x05\xf7\x05\x0a\x6d\x9d\x7f" -+"\xb5\x1e\xf7\x04\x06\xa9\x99\x29\x1d\x9c\x80\x9c\x7d\x32\x1d\x8b\x77\x4e\x0a\xcd\xa3\x96\xbb\x1b\xb6\xbe\x0a\xa9\x98\x8f\x96\x99" -+"\x1f\x9a\x97\x95\x9d\x9c\x1a\x9c\xf6\x1d\x0e\xf8\x54\x35\x1d\xec\x5d\x1d\x0e\xf8\x5b\xf7\xd6\x84\x0a\x54\x8c\x19\xfb\x02\x6d\x0a" -+"\xb7\x1e\xf7\x05\x06\xf7\x04\xf0\xd9\xf1\xa1\x1f\xed\xf8\x4d\x05\xfb\xc7\x06\x6b\x82\x89\x7e\x7b\x86\x0a\x9d\x7f\xb6\x1e\xf7\xca" -+"\xf7\xac\x15\xfb\x14\xf7\x75\x1d\x8e\x0a\x0e\x43\x1d\x0e\xf7\x83\xf8\x3d\x15\x29\xf7\x27\x1d\x90\x89\x91\x8a\x98\x8a\x5b\xfb\x6f" -+"\x18\x61\x6c\x71\x69\x6c\x9d\x7f\xb6\x1f\xe3\xf7\x11\x1d\xb5\xf7\x52\x05\xaa\xae\xa0\x95\xa6\x1b\x9b\x93\x85\x81\x87\x8a\x85\x89" -+"\x85\x1f\x48\xfb\xc2\x05\xee\xd3\x0a\x7f\x1b\xb5\xf7\x52\x05\xad\xb4\x9a\x92\xa5\x1b\x9b\x92\x86\x81\x8c\x1f\x85\x8b\x86\x89\x85" -+"\x1e\x48\xfb\xc2\x05\xee\xf7\x11\x1d\xb9\xf7\x61\x05\x8d\x95\x8c\x92\x98\x1a\xc5\x5e\xb4\x49\x63\x67\x7d\x6c\x66\x1e\xaa\x74\x6d" -+"\x99\x65\x1b\x6c\x78\x84\x74\x65\x1f\x0e\x3a\x0a\x0e\x24\x0a\x0e\xf7\x52\x91\x0a\xf8\x29\x2e\x15\x54\x06\x6c\x7f\x88\x7f\x7d\xad" -+"\x1d\x7b\x96\x7b\x99\x86\x1e\x88\x93\x96\x8a\x9c\x1b\xf7\x42\x06\xa9\x98\x8e\x97\x99\xa0\x1d\x8e\x82\x85\x8c\x76\x1b\x80\x06\xe8" -+"\xf8\x33\x05\x97\x06\xab\x95\x96\x1d\x82\x85\x8c\x77\x1b\xfb\x0c\x06\x83\x64\x05\xb0\x64\x64\x99\x4e\x1b\xfb\x38\xfb\x1e\xfb\x0e" -+"\xfb\x24\x2c\xe0\x48\xf7\x0d\xc4\xbd\x9a\xad\xc2\x1f\x39\xf7\xa8\x15\xd6\xb9\x69\x53\x65\x70\x61\x63\x72\x1f\x79\x6d\x69\x82\x60" -+"\x1b\x63\x6b\x94\x9d\x77\x1f\x7a\x9a\x7f\xa5\xa0\x1a\xb2\xa6\xb5\xb4\xa4\x1e\x9e\xa9\xac\x93\xb6\x1b\x0e\x3f\x0a\x0e\x56\x1d\x0e" -+"\x94\x0a\x0e\x57\x1d\x0e\xf7\xdd\xf7\x15\x15\x50\xf7\x55\x05\xa4\x94\x8c\x91\x96\x1f\xa1\x97\x99\xa0\xa0\x1a\x9c\x81\x51\x0a\x82" -+"\x8c\x79\x1b\xfb\x18\xf7\x1d\x1d\x92\x8b\x9f\x1b\x95\x06\xeb\xfb\xd6\x05\xf7\x00\x06\xf7\x83\xf7\xd6\x05\x99\x06\xaa\xf7\x2e\x1d" -+"\x83\x82\x8c\x78\x1b\xfb\x1a\xf7\x1d\x1d\x91\x8b\xa0\x1b\x8d\x06\x0e\x3d\x0a\x0e\xf8\x40\xec\x0a\x9c\x9c\x1a\x9c\x81\x9b\x7c\x8d" -+"\x0a\x53\x0a\x0e\xf7\x0b\x1d\x9c\x9c\x92\x99\x98\x1e\x96\x96\x8e\x92\x92\xa7\x8c\x90\x18\xf7\x02\x1d\x0e\xf8\x5b\xf8\x66\x15\xa4" -+"\x92\x93\x92\xa4\x1b\xaf\x8d\xa8\xa7\xab\x1a\xa5\x79\x9b\x6c\x42\x41\x51\x45\x7c\x1e\x68\xfb\x30\x85\x72\x84\x85\x73\x89\x19\x64" -+"\x87\x72\x72\x68\x1a\x72\x99\x7e\xa8\x88\x1e\x9c\x89\x91\x88\x81\x1a\x88\x8a\x85\x89\x84\x1e\x67\xfb\x39\x05\x89\x82\x8a\x83\x82" -+"\x1a\x50\xb9\x5e\xc9\xb4\xaa\xa6\xaf\xa3\x7a\x9b\x70\x8c\x1e\x76\x8c\x86\x8e\x98\x1a\x8e\x8c\x91\x8c\x90\x1e\xac\xf7\x29\x05\x90" -+"\xa1\x8e\x9e\x96\x1a\x98\x87\x98\x80\x9b\x1e\xa6\xa3\x95\x9d\x95\xb5\x08\x0e\xf7\xfa\xf9\xcd\x15\xfb\x08\xfe\xc7\xf7\x08\x06\x0e" -+"\xf7\x89\x82\x15\x71\x85\x82\x84\x72\x1b\x67\x89\x6e\x6f\x6b\x1a\x71\x9d\x7b\xaa\xd4\xd5\xc5\xd1\x9a\x1e\xae\xf7\x31\x90\xa3\x93" -+"\x91\xa3\x8e\x19\xb2\x8f\xa4\xa4\xad\x1a\xa4\x7d\x98\x6e\x8e\x1e\x7a\x8d\x85\x8f\x94\x1a\x8e\x8c\x92\x8d\x91\x1e\xaf\xf7\x3a\x05" -+"\x8d\x93\x8c\x93\x94\x1a\xc7\x5d\xb7\x4d\x63\x6b\x70\x68\x73\x9c\x7b\xa6\x89\x1e\xa0\x8a\x90\x88\x7e\x1a\x88\x8a\x86\x8a\x86\x1e" -+"\x6a\xfb\x2a\x05\x86\x75\x88\x78\x80\x1a\x7e\x8f\x7f\x96\x7a\x1e\x70\x74\x81\x78\x81\x61\x08\x0e\xf8\x7c\xf8\x0b\x15\x75\x7e\x83" -+"\x6f\x75\x1f\x6e\x75\x7f\x80\xf7\x54\x1d\xc9\x44\x70\x99\x5e\x1b\x5f\x69\x79\x5f\x63\x1f\x6d\x6a\x80\x78\xd1\x0a\x56\xc8\xb2\x77" -+"\xb5\x1b\xb5\xab\x9d\xb6\xb1\x1f\xae\xb3\x93\x98\xa0\x1a\xaa\x71\xa4\x6b\x1e\x0e\xf7\x56\x24\x15\x81\x6e\x89\x81\x7e\x1a\x67\xa8" -+"\x71\xb4\xa7\xa8\x98\xa0\x9f\x1e\x9d\x9f\x91\x9a\x90\xb6\xad\xf7\xaf\x18\x8c\x8e\x8b\x8e\x8d\x1a\xa6\x7b\x9b\x6f\x6d\x73\x78\x6d" -+"\x81\x1e\xec\xf7\x7f\x15\x5e\x62\x64\x62\x6b\xa3\x75\xac\x1f\x9d\x06\xb7\xb5\xb1\xb4\xab\x73\xa2\x69\x1f\x0e\xf8\x0b\xea\x15\xf1" -+"\x9c\xcf\xb4\xb9\x1a\xa3\x78\x9e\x72\x7d\x81\x88\x82\x7c\x1e\x73\x64\x68\x81\x66\x1b\x4f\x62\xad\xbc\xd1\xd5\xc6\xe1\xb7\x9d\x80" -+"\x71\x8c\x1f\x8c\x6f\x8b\x88\x92\x83\x08\x83\x92\x9a\x85\x98\x1b\x9c\x9d\x93\x98\x98\x1f\x95\x94\x8f\x95\x91\xa5\x94\xb3\x18\x8e" -+"\x9b\x8c\x90\x92\x1a\xa2\x78\x9c\x71\x85\x86\x8a\x88\x82\x1e\x7a\x96\x77\x92\x70\x8f\x98\xc7\x18\x90\x9e\x83\x0a\x67\x74\x75\x5e" -+"\x81\x1e\x7b\x44\x05\xfb\x0f\x6f\x2d\x22\xfb\x03\x1a\x3c\xba\x51\xdc\x76\x1e\x7b\x42\x05\x86\x78\x8b\x8a\x82\xf7\x1c\x1d\x95\x90" -+"\x94\x90\xa5\x08\x0e\xf8\x02\xf7\x7c\x15\xa9\x97\xd7\x0a\x4a\x06\x88\xba\x8b\x8b\x99\x1a\xba\xad\xac\xbe\xa4\x9c\x84\x7b\x97\x1e" -+"\x71\x9e\x8f\x88\xa0\x1b\xac\xab\xaa\xaa\xbc\x47\xb7\x41\xfb\x0e\x2c\x30\xfb\x0a\x7f\x8c\x84\x8d\x7b\x1f\x64\x06\x6b\x80\x2a\x1d" -+"\x7b\x1a\x79\x95\x7c\x9a\x86\x1e\x88\x94\x94\x8a\x9d\x1b\xcb\x06\x7c\x3d\x6a\x5c\x62\x88\x08\x60\x83\x75\x76\x6b\x1a\x6c\x9d\x7f" -+"\xb6\x1e\xf7\xd5\x06\xb9\xa8\x95\xa3\xa4\x1f\x9e\x9d\x99\xaa\xa4\x1a\xa3\x78\x9b\x71\x6e\x75\x7c\x6e\x80\x1e\xfb\x55\x06\xa5\xb5" -+"\x97\xaa\x96\xc2\x08\x0e\xb0\x0a\xf8\x0c\xf7\xeb\x15\x4f\xf7\x0a\x05\xa7\x93\x9f\xa3\xa5\x1a\x9c\x81\x9b\x7c\x90\x1e\x8f\x82\x87" -+"\x8b\x74\x1b\x2f\x25\x1d\x76\x97\x7c\xa0\x87\x1e\x89\x91\x8e\x8b\x9b\x1b\xe6\xfb\x4a\x05\x4a\x06\x72\x7b\x7d\x75\x7a\x94\x83\x9f" -+"\x1f\xe7\x06\x86\x72\x05\x2d\x06\x72\x7a\x7d\x75\x79\x93\x84\xa1\x1f\xe7\x06\x85\x71\x05\x60\x06\x6b\x81\x36\x1d\xf7\x55\x20\x0a" -+"\x9c\x1a\x9c\x81\x9a\x7c\x88\x0a\x75\x1b\x62\x06\x90\xa5\x05\xe9\x06\xa4\x9c\x9a\xa1\x9b\x82\x93\x76\x1f\x2f\x06\x90\xa4\x05\xe9" -+"\x06\xa4\x9c\x9a\xa0\x9d\x82\x92\x76\x1f\x4c\x06\xf7\x42\xf7\x4a\x05\xa7\x97\x50\x1d\x9b\x1a\x9c\x81\x9b\x7c\x88\x0a\x75\x1b\x30" -+"\x06\x6b\x81\x88\x7f\x7b\x1f\x7c\x7f\x82\x79\x7b\x1a\x78\x95\x7d\x9d\x85\x1e\x0e\xf8\x51\xf8\x1d\x15\x95\xb8\x05\xb4\x94\xb2\xad" -+"\xb2\x1b\x9c\x9a\x88\x86\x99\x1f\x86\x96\x90\x8a\x93\x1b\xac\xaa\xaa\xad\xab\x61\x9f\x47\x27\x2a\x3e\x2a\x76\x1f\x80\x5a\x05\x55" -+"\x06\x6a\x82\x99\x1d\xc0\x06\x59\xfb\x72\x05\x5a\x80\x66\x6a\x5e\x1b\x7a\x7f\x8d\x91\x7b\x1f\x8f\x7e\x88\x8c\x85\x1b\x6a\x6b\x6d" -+"\x6b\x6a\xb6\x76\xcf\xf2\xeb\xda\xf3\xa2\x1f\xbd\xf7\x74\x05\xc1\x06\xaa\x97\x35\x0a\x9c\x1a\x9c\x80\x9a\x7d\x88\x0a\x74\x1b\x0e" -+"\xf8\xa7\xf8\x6a\x15\x84\x6d\x05\x8a\x84\x89\x7f\x86\x1a\x78\x9c\x7c\xa1\xac\x9d\x9d\xb1\x94\x1e\xa7\xf7\x12\x05\xfb\x7a\x06\x4d" -+"\x5c\x77\x60\x61\x1f\x6f\x6d\x76\x61\x6e\x1a\x81\x07\x3e\x77\x57\x54\x4c\x1a\x5f\xa9\x67\xd8\x5b\x1e\xe8\x52\x05\xc0\x6a\xa9\x6d" -+"\x77\x1a\x70\x66\x70\x65\x1e\xfb\x20\x06\x92\xab\x05\x8f\x9b\x8b\x8c\x91\x1a\x9e\x7a\x9a\x74\x6b\x77\x79\x66\x83\x1e\x6f\xfb\x12" -+"\x05\xf7\x80\x06\xed\x85\xed\xe2\x87\xe6\x08\xd8\x9c\xc0\xc4\xce\x1a\xbc\x72\xa8\x2e\xc3\x1e\x3a\xbc\x05\x54\xac\x6d\xa9\x9f\x1a" -+"\xa6\xb1\xa5\xb3\x1e\xa2\xfb\x9e\x15\xba\x6e\xa7\x6d\x76\x1a\x75\x76\x81\x61\x1e\x7f\x98\x79\x98\x60\xa8\x31\xc3\x18\x5c\xa9\x77" -+"\xa0\xa1\x1a\xa1\xa2\x98\xb2\x1e\xab\x6f\x92\x85\xa8\x79\x08\x0e\xf7\x64\xf8\x0a\x15\x6b\x62\x7a\x5e\x63\x1a\x7f\x8e\x7b\x91\x6f" -+"\x1e\x66\x6d\x05\x6c\x72\x83\x7f\x76\x1a\x72\x9e\x79\xa5\x9e\x93\x8f\xa1\xa7\x1e\xb1\xa8\x05\x7a\xab\xa2\x85\xae\x1b\xae\xa5\x91" -+"\x9c\xb2\x1f\xa4\x6f\x05\x75\x9d\x92\x86\x9d\x1b\xad\xae\xaa\xa9\x98\x87\x93\x7c\x9d\x1f\x74\xa9\x05\xac\xb5\x9c\xb7\xb4\x1a\x96" -+"\x88\x9b\x85\xa6\x1e\xae\xa8\x05\xaa\xa3\x93\x97\xa0\x1a\xa4\x78\x9d\x71\x78\x83\x87\x76\x6f\x1e\x68\x70\x05\x9e\x6a\x75\x91\x65" -+"\x1b\x68\x72\x85\x78\x63\x1f\x73\xa7\x05\xa1\x79\x83\x8f\x79\x1b\x6b\x68\x6d\x6e\x82\x95\x74\x92\x82\x1f\xf7\x5b\x6b\x15\xb5\xa9" -+"\x6f\x64\x54\x54\x56\x52\x60\x6d\xa7\xb4\xc2\xc1\xbe\xc6\x1f\x0e\xf7\xfc\xf8\xdb\x15\x77\xfb\x8a\x05\x8a\x85\x8b\x86\x89\x1a\x7c" -+"\x97\x80\x9b\xa1\x97\x95\xa6\x94\x1e\xe3\xf7\x8c\x05\x0e\xf8\xca\xf0\x0a\xa3\x9f\x9f\xa2\x89\x1f\x8d\x8b\x8d\x8a\x8e\x1e\xfb\x78" -+"\xf7\x60\xf7\x70\x1d\x93\x84\x9a\x1b\xa5\x9e\xa2\xa6\x88\x1f\x0e\xf7\x6f\x1d\x9c\x98\x92\xea\x1d\xf7\x03\xf7\x17\x15\xf7\x45\xf7" -+"\x17\x05\x9d\x98\x91\xea\x1d\x0e\xf7\x6f\x1d\x9d\x99\x91\x93\x98\x1a\x9b\x7e\x96\x79\x82\x83\x88\x84\x81\x1e\x85\x87\xfb\xb8\xfb" -+"\x46\xf7\x69\xfb\x47\x05\x7e\x99\x8e\x8a\x96\x1b\xa1\xa1\x9d\x9e\x92\x87\x94\x83\x93\x1f\x0e\xf8\x6a\xf7\x68\x15\xfb\x45\xfb\x17" -+"\x05\x7a\xef\x1d\x8f\x82\x93\x83\x1f\x0e\xf7\xa2\xf7\xd6\x15\xa9\x06\xa9\x97\x2a\x0a\x9d\x9b\x41\x0a\x6f\x06\x93\xac\x05\xa1\x90" -+"\xc2\x0a\x68\xf3\x0a\x7f\xb6\x1e\xac\x2e\x0a\x64\x25\x0a\xf7\x43\x63\x0a\x70\x06\xf8\x1d\xf7\xd6\x15\xfb\x10\x42\x1d\x30\x1d\x87" -+"\x94\x91\x8b\x9f\x1b\x9a\x2e\x0a\x68\x25\x0a\xf7\x43\x06\xa7\x99\x28\x1d\x9c\x1a\x9c\x81\x9a\x7d\x74\x0a\x6c\x06\xe9\xf8\x88\x15" -+"\xfb\x12\x06\x73\xfb\x00\x05\xf7\x12\x06\x0e\xf7\x9e\xf7\xd5\x15\xa9\x06\xaa\x96\x8e\x97\x9a\x1f\x9b\x98\x94\x9c\x9c\x41\x0a\x6f" -+"\x06\x92\xab\x05\xa5\x91\x9d\x9b\xa2\x1b\x95\x93\x89\x85\xa0\x1f\x87\x97\x93\x89\x93\x1b\x9d\x9a\x93\x9b\x99\x1f\x85\x93\x95\x87" -+"\x99\x1b\xa9\x06\x33\xfc\x20\x05\x68\x06\x6a\x81\x3b\x1d\x6e\x9d\x7e\xb6\x1e\xf7\x44\x63\x0a\x6b\x06\xf7\x03\xf8\x87\x05\xfb\x1b" -+"\x06\x72\x7b\x84\x79\x7c\x1f\x9b\x71\x68\x94\x65\x1b\x3c\x40\x4c\x3a\x79\x1f\x84\x6a\x05\x69\xf3\x0a\x7e\xb6\x1e\xab\x06\x5b\xfb" -+"\x6e\x05\x63\x06\x6b\x81\x88\x7f\xe2\x0a\xb5\x1e\xf7\x44\x06\xa8\x99\x8f\x96\x99\xf7\x4c\x1d\x83\x82\x8c\x78\x1b\x70\x06\x0e\x76" -+"\x1d\xf8\x3d\xf7\xd6\x15\xe0\x06\xab\xf7\x2e\x1d\x82\x20\x1d\x37\x06\xa3\xf7\x00\x05\x8e\x9c\x8c\x8f\x92\x1a\xa2\x78\x9c\x72\x7a" -+"\x7a\x83\x7e\x7d\x1e\x81\x82\x86\x80\x86\x72\x72\xfb\x02\x18\x35\xf7\x17\x1d\x9d\x1b\xe0\x06\x3f\xfb\xe9\x05\x87\x78\x8b\x89\xf7" -+"\x5a\x1d\x95\x94\x90\x96\x90\xa4\x08\x0e\xf8\x3c\xf7\xd6\x15\xe1\x06\xaa\x97\x2a\x0a\x9c\x9c\x1a\x9c\x80\x51\x0a\x84\x8c\x76\x1b" -+"\x37\x06\xa3\xf7\x00\x05\x90\x9e\x8b\x8c\x94\x1a\xa1\x78\x9c\x72\x67\x74\x75\x5f\x81\x1e\x73\xfb\x02\x05\x34\xf7\x17\x1d\x9e\x1b" -+"\xe0\x06\x81\x5f\x05\x34\x06\x6d\x80\xd6\x0a\xe0\x06\x60\xfb\x56\x05\x89\x81\x89\x7f\x84\x1a\x75\xcf\x0a\xa5\xb7\xf7\x58\x18\xe1" -+"\x06\xaa\x96\x8e\x97\x9a\xf5\x0a\x82\x8c\x79\x1b\x37\x06\x0e\x79\x1d\xf8\xd6\xf8\x76\x15\xab\x06\xa0\x92\x8c\x90\x94\x1f\x9d\x94" -+"\x96\x9c\x9c\x1a\xa2\x7c\x95\x68\x1e\xfb\x59\x06\xfb\x23\x8c\xfb\x1c\x3d\x78\x2d\x82\x60\x18\x89\x82\x8a\x83\x81\x1a\x40\xd5\x50" -+"\xf7\x03\x7f\x1e\x51\xfb\x99\x05\x40\x06\x75\x84\x8a\x86\x82\x1f\x7a\x82\x7f\x79\x7c\x1a\x73\x99\x81\xaf\x1e\xf7\x1d\x06\xa2\x97" -+"\x92\x9e\x98\x1f\x7a\x8f\x97\x82\x9e\x1b\xe8\x06\xa0\x92\x8c\x90\x94\x1f\x9d\x94\x96\x9c\x9c\x1a\xa2\x7d\x95\x68\x1e\x6b\x06\xb5" -+"\xf8\xca\x15\xfb\x12\xfc\xcb\x81\x86\x86\x86\x84\x83\x19\x88\x94\x89\x8e\x82\x90\xf7\x12\xf8\xcc\x18\x0e\xf7\xbc\xf8\x59\x15\x38" -+"\x49\x49\x37\x38\xcd\x48\xdd\xdc\xcd\xce\xde\xdd\x49\xcf\x3b\x1f\x0e\xc3\x0a\xf7\x4c\xf7\x1c\xf3\x1d\x80\x88\x83\x83\xf7\x3e\x1d" -+"\x0e\xf7\xb0\xf8\xdb\xf3\x1d\x81\x88\x81\x84\x1a\x7e\x99\x80\x9b\x99\x95\x91\x9d\x9b\x1e\xf7\x58\xf7\x76\x05\x0e\xf8\x6a\xf7\x68" -+"\x15\xfb\x46\xfb\x17\x05\x7b\xef\x1d\x90\x82\x92\x83\x1f\xfb\x04\xfb\x17\x15\xfb\x45\xfb\x17\x05\x7a\x7e\x84\x81\x7f\x1a\x7b\x98" -+"\x80\x9d\x94\x93\x8e\x92\x95\x1e\x91\x8f\xf7\xb7\xf7\x46\xfb\x68\xf7\x47\x05\x98\x7d\x88\x8c\x80\x1b\x75\x75\x79\x78\x84\x8f\x82" -+"\x93\x83\x1f\x0e\xf4\x7d\x15\x2c\x0a\xf7\x6d\x16\x2c\x0a\xf7\x6d\x16\x2c\x0a\x0e\xf8\xb9\xf8\x00\x15\xa4\x93\x96\x96\x9c\x1a\x9a" -+"\x82\x95\x7e\x85\x89\x8b\x87\x7e\x1e\xfc\x19\xfb\x05\x05\x71\x84\x80\x7f\x79\x1a\x7d\x94\x80\x98\x91\x8d\x8b\x90\x98\x1e\xe4\xf7" -+"\xee\x15\x41\x45\xbd\x0a\xa8\xfb\xd1\xb8\x0a\xf7\xaf\xc3\xb8\x0a\x0e\xf8\x64\xfb\x33\x15\x9c\xd8\x05\x8e\x99\x8c\x92\x93\x1a\xa1" -+"\xf7\x74\x1d\x81\x88\x84\x84\x6f\x89\x80\x18\x7c\x68\x67\x83\x67\x1b\x52\x6c\xa2\xb3\xb9\xb1\xa4\xf7\x24\xbd\x1f\x93\x8d\x97\xc3" -+"\x05\x90\x9e\x8b\x8c\x79\x0a\x6c\x75\x79\x69\x7f\x1e\x46\x71\x62\x74\x68\x6e\x08\x64\x6a\x73\x58\x55\x1a\x32\xce\x53\xf7\x01\xcc" -+"\xba\x97\xb5\xf0\x1e\x36\xf8\xaf\x15\x5f\x62\x65\x61\x6c\xa3\x74\xac\x1f\x9d\x06\xb7\xb5\xb2\xb4\xab\x73\xa1\x69\x1f\x0e\xf7\xe9" -+"\xf9\x24\x15\x98\x7e\x84\x8e\x80\x1b\x70\x74\x75\x73\x82\x91\x81\x96\x80\xf7\x34\x1d\x95\x7f\x96\x1f\x0e\xf8\xdf\xf8\xe8\x2f\x1d" -+"\xf8\x42\xf8\xd6\x60\x0a\xf8\xe4\xf9\x0e\x15\x7e\xf7\x37\x1d\xa9\x54\x1d\x6c\x6b\x7c\x6e\x6b\x1f\x6f\x71\x7e\x78\x7a\x1a\x7c\xf7" -+"\x2b\x0a\xaf\x94\x91\x9e\x1d\xad\xa9\x9c\xb6\xb5\x1f\xa0\xa0\x94\x9a\x98\x1a\x99\x7c\x97\x7b\x1e\x0e\xcb\x0a\xf7\xc6\xf9\x2c\x2b" -+"\x0a\xf8\x4c\xf9\x0c\x5b\x1d\xf7\xe3\xf9\x0c\x40\x0a\xf8\x5a\xf9\x52\xeb\x1d\xf7\x97\x93\x15\x73\x21\x05\x8c\x99\x94\x42\x0a\xb2" -+"\x7b\x9e\x62\x94\x1f\x94\xb4\x05\x0e\xf8\x3e\xf8\xe6\x5b\x0a\xf7\xdc\x93\x15\x69\x79\x81\x84\x7a\x7c\x08\x6c\x6e\x79\x68\x67\x5d" -+"\x0a\x95\x94\x9a\x9a\x9c\x1f\x9e\xa0\x9f\x98\xd3\xb4\x08\x0e\xf8\x3e\xf8\xcc\x45\x1d\xaa\x0a\xb2\x1d\x0e\xf8\x2d\xf7\xa3\x15\xe6" -+"\x06\xb1\xa4\x9e\xa9\xa3\x7e\x95\x68\x1f\x8a\x06\xa5\xf7\x09\x05\x8d\x94\x8c\x93\x92\x1a\xbe\x5d\xa9\x3e\x62\x4a\x80\x80\x72\x1e" -+"\x7a\x83\x80\x7b\x79\x1a\x77\x99\x7d\x9f\x92\x96\x8d\x8e\x98\x1e\x93\xae\xa0\x8e\xa4\x1b\xad\x9a\x86\x7f\x8a\x1f\x8a\x8b\x89\x8a" -+"\x8a\x1e\x8a\x86\x05\x8f\x71\x7f\x8c\x78\x1b\x3d\x50\x75\x5e\x64\x1f\x78\x76\x81\x74\x77\x1a\x5b\xbb\x69\xcd\xb0\xa9\x90\x9a\xb2" -+"\x1e\xa0\xe7\x15\x79\x6b\x61\x80\x6b\x1b\x78\x7c\x91\x93\x9f\xb6\xa0\xb5\x9d\x98\x8a\x86\xa8\x1f\x0e\xf7\xfe\xf8\x61\x15\xc0\x06" -+"\xaa\x97\x8e\x97\x9a\xdf\x0a\xfb\x69\x27\x1d\xbf\x06\x69\xfb\x2b\xfb\x07\x52\x05\x63\x78\x7e\x7b\x6e\x1a\x75\x9f\x78\xa1\x98\x95" -+"\x8e\x97\xa3\x1e\xc0\xa6\x77\x34\x05\x56\x25\x0a\xf8\x6e\x06\xb5\xf7\x4d\x05\x8e\x9c\x8c\x8f\x93\x1a\xa2\x79\x9c\x71\x67\x75\x75" -+"\x5e\x81\x1e\x78\x37\x05\xfb\x62\x06\xa8\xf7\x17\xf7\x2c\xd7\x05\xb3\x9f\x98\x9a\xa8\x1a\xa0\x78\x9e\x75\x7f\x7c\x86\x82\x77\x1e" -+"\x30\x5d\x05\x0e\xbb\x1d\x0e\xf8\x39\xf7\x7c\x15\x95\x06\x8a\x7d\x05\x74\xa6\x1d\x95\x91\xa4\x9b\xd5\x18\x90\x9e\x83\x0a\x6b\x76" -+"\x79\x68\x7f\x1e\x81\x2b\x1d\xf7\x0b\x06\x7e\x52\x05\x89\x80\x89\x80\x84\x1a\x75\xf7\x46\x1d\xaf\xf7\x36\x18\xfb\xe7\x06\xfb\x54" -+"\xfb\x35\xfb\x34\xfb\x52\xfb\x16\xe6\x37\xf7\x1e\x1f\xf7\xf8\x06\xa6\xf7\x0b\x05\x8e\x99\x8c\x92\x93\x1a\xa2\x79\x9b\x72\x67\x74" -+"\x75\x5f\x82\x1e\x87\x79\x05\xfb\x1f\x06\xfb\x00\x16\x6a\x7b\x8e\x93\x76\x1f\x5e\x9d\x6f\xbb\xc7\x1a\xc9\xae\xd1\xc1\xb6\x1e\xb2" -+"\xab\xb1\x98\xc4\x8c\x08\x0e\xf8\x41\xf8\xd4\x15\xfb\x01\x22\x2e\x2a\x43\xc7\x56\xdd\xf7\x05\xef\xe2\xed\xd6\x50\xc2\x39\x1f\x79" -+"\x39\x15\xb4\xa8\x70\x66\x5e\x58\x61\x54\x65\x6a\xa5\xaa\xbb\xc0\xb9\xc1\x1f\x0e\xb1\x1d\x0e\xf8\x54\x35\x1d\x0e\xf8\x7c\xf8\xef" -+"\x15\xfb\x48\x06\x6a\x81\xf7\x19\x1d\xd2\x06\x69\xfb\x2a\x30\x5f\x05\x63\x78\x7d\x7a\x6f\x1a\x74\x9e\x78\xa2\x97\x98\x8f\x95\xa0" -+"\x1e\xa9\x9a\x6f\xfb\x11\x05\xfb\x0a\x38\x1d\xf7\xeb\x63\x0a\xfb\x09\x06\xb1\xf7\x3c\xe9\xb9\x05\xb2\x9d\x99\x9d\xa7\x1a\xa2\x78" -+"\x9e\x74\x7c\x84\x89\x7e\x72\x1e\x6c\x7b\x05\x0e\xbf\x1d\x0e\xf9\x20\xf7\x37\x15\x95\xb9\x05\x90\xa3\x8e\xa4\xa2\x1a\xe6\x51\xcc" -+"\x3b\x56\x58\x72\x5b\x5e\x1e\xba\x71\x63\xa5\x5a\x1b\x4b\x4c\x68\x4e\x5c\x1f\x5f\x51\x71\x45\x4b\x1a\x2b\xc6\x47\xe1\xbc\xbf\xa3" -+"\xb6\xb7\x1e\x5f\xa3\xb4\x74\xc3\x1b\xbb\xd5\x9c\x9e\xb1\x1f\xa3\x97\x98\xa0\xa3\x1a\xa3\x78\x9d\x74\x82\x81\x89\x88\x83\x1e\x73" -+"\x4d\x7f\x88\x6f\x1b\x64\x77\xa3\xbe\x8a\x1f\xfb\x2e\xf7\x3d\x15\xad\xa0\x6c\x58\x3b\x53\x39\x54\x67\x77\xa8\xc2\xda\xc4\xdc\xc2" -+"\x1f\xf7\x45\x3c\x15\xc3\xa5\xa4\xa2\xad\x1b\xaa\x9a\x71\x56\x1f\x0e\xf7\x30\xf7\xbe\x15\x60\xfb\x57\x05\x7e\x06\x6b\x80\x89\x7e" -+"\x7d\xf7\x3f\x1d\x8a\x9d\x1b\xf7\x0d\x89\xed\xf8\x51\x05\xb0\x93\xa7\x9e\xba\x1b\xb1\xa1\x7a\x6e\x7c\x84\x7d\x7e\x80\x1f\x7c\x7d" -+"\x7f\x87\x6a\x88\x08\x62\x87\x70\x72\x6a\x1a\x72\x9a\x7f\xae\x87\x1e\xdb\x83\xb4\x68\x4f\x1a\x59\x6c\x5b\x6a\x7e\x84\x93\x9a\x1e" -+"\x98\x07\x9e\x7a\x99\x72\x63\x6e\x68\x5c\x54\xb2\x68\xc9\xc6\xba\xa1\xb8\xb1\x1e\xb1\xb7\xa1\xc5\xc1\x1a\xc8\x70\xbd\x58\xad\x1e" -+"\xb1\xaf\x9c\xaf\xb9\x1a\xda\x4f\xbf\x31\x24\x34\x50\x39\x79\x1e\x7e\x4f\x05\x7d\x06\x6b\x80\x88\x7f\x7d\x86\x0a\x9c\x7f\xb7\x1e" -+"\x0e\xf8\x69\xf8\xfc\x15\xfb\x1f\x6a\x05\x6d\x84\x7e\x7f\x75\x1a\x7c\x95\x80\x99\x92\x8d\x8b\x8f\x98\x1e\xbd\x97\x59\xfb\x79\x05" -+"\x52\x06\x6b\x77\x7c\x73\x79\x97\x83\xa4\x1f\xf7\x4a\x06\xaa\x9f\x9b\xa2\x9e\x81\x92\x70\x1f\x52\x06\x0e\xf8\x76\xf8\x19\x15\xfb" -+"\x55\x07\x77\x94\x80\x9c\x9c\x94\x96\x9f\x1e\xf7\x88\xfc\x46\x07\x75\x80\x82\x7b\x7a\x96\x82\xa1\x1f\x0e\xf7\x5f\x82\x15\x86\xa0" -+"\x95\x8a\x9e\x1b\xbd\xbc\x95\xa1\xbd\x1f\x7a\xf2\x07\xa1\x9a\x8d\x91\x94\x1f\x9d\x95\x95\x9d\x9e\x1a\xac\x75\x9f\x64\x8d\x1e\xf7" -+"\xd2\xfb\x23\x07\x71\x81\x89\x85\x81\xf7\x66\x1d\x81\x1e\x83\x96\x98\x88\xa5\x1b\xa6\xfb\x43\x06\x68\x4e\x63\x7e\x61\x1b\x62\x7c" -+"\x98\xaf\x1f\xf7\xb0\xfb\x10\x07\x7b\x06\x6b\x71\x73\x6c\x7a\x94\x7a\x9a\x81\x1f\x83\x96\x98\x88\xa5\x1b\x93\xfc\x1c\x06\x74\x8d" -+"\x80\x91\x81\x1e\x7b\x96\x9e\x81\x9f\x1b\x9e\x9c\x93\x9a\x96\x1f\x94\x96\x8d\x95\xa5\x1a\x0e\xf7\xa4\xf8\x81\x15\xb0\x06\x80\x5b" -+"\x05\x88\x80\x8b\x88\x87\x1a\x7d\x97\x80\x9a\xa0\x98\x98\xa7\x91\x1e\xa5\xf7\x07\x05\xfb\x9e\x06\x72\xfb\x05\x05\x88\x7e\x8b\x8a" -+"\x87\x1a\x7d\x96\x80\x9a\xa0\x98\x99\xa6\x91\x1e\x96\xbd\x05\xb0\x06\x5c\xfb\x68\x05\x73\x06\x6d\x79\x7d\x72\x79\x96\x83\xa3\x1f" -+"\xf7\x02\x06\xa8\x9e\x9a\xa3\x9d\x81\x93\x72\x1f\x75\x06\xf7\x87\xf7\x25\x15\xaa\xfb\x17\x05\x9a\x06\xdf\xf7\x14\x6b\xfb\x22\x05" -+"\x86\x06\x6f\x79\x7b\x74\x79\x96\x83\xa3\x1f\xc6\x06\xa8\x9e\x9a\xa3\x9b\x83\x93\x78\x8d\x1f\xba\xf7\x68\x05\xa2\x8f\x99\x9a\x9f" -+"\x1a\x9e\x81\x92\x72\x1e\x48\x06\x3e\xfb\x13\x74\xf7\x13\x05\x48\x06\x6d\x79\x7d\x73\x7b\x92\x83\x9a\x89\x1f\x5c\xfb\x69\x05\x71" -+"\x89\x7c\x7c\x76\x1a\x78\x96\x83\xa2\x1e\xc7\x06\xa8\x9e\x9a\xa3\x9d\x80\x93\x75\x1f\x87\x06\x0e\xb6\x1d\xf7\xb7\xf9\x10\x5e\x0a" -+"\xf7\xe2\xf7\x4e\x15\x92\x96\x91\x98\x93\x1a\x9a\x80\x96\x7c\x7c\x80\x84\x79\x7e\x1e\xfb\xd4\xfc\x47\x05\x82\x7e\x86\x81\x83\x1a" -+"\x7b\xf7\x68\x1d\x97\x1e\xf7\x66\x68\x15\xf7\x40\xf7\x19\xa1\xa4\xc9\x1a\xc1\x60\xb1\x4e\x5e\x5f\x78\x6a\x6d\x1e\x79\x78\x7f\x75" -+"\x7e\x1a\x7c\x96\x80\x9a\x98\x98\x93\x96\x91\x1e\x95\x9e\x8c\x8b\x91\x91\x08\x9a\x9b\x9f\x93\xa0\x1b\xab\xa0\x7a\x73\x6e\x77\x79" -+"\xfb\x5a\xfb\x29\x1f\x7f\x82\x7e\x49\x05\xf7\x95\x06\x96\xc2\x05\x8c\x90\x8c\x93\x8f\x1a\x98\x80\x96\x7d\x79\x7f\x81\x76\x84\x1e" -+"\x0e\xf8\x3c\xf7\xcf\x15\xf7\x1e\x7b\x1d\xfb\x1c\x06\xa5\xf7\x09\x05\x8e\x9b\x8c\x90\xf7\x5d\x1d\x71\xfb\x0b\x05\xfb\x1f\x4a\x1d" -+"\xf7\x1d\x06\x76\x31\xe6\x0a\x95\x95\x8f\x94\x91\xa5\x08\xfb\xa5\xfb\x0c\x15\x38\x0a\x7c\x7f\x81\x32\x0a\x0e\xf7\x77\xf7\x1a\x15" -+"\xea\x06\xf3\xc4\x9b\xb6\xbd\x1f\xb0\xaa\xa1\xb9\xb4\x1a\xb0\x76\xae\x6a\x9f\x1e\x9f\x6a\x60\x93\x40\x1b\x2e\x06\x91\xa9\x05\xeb" -+"\x5e\x1d\xfb\x69\x06\x6e\x7d\x87\x80\x72\x0a\x87\x94\x8f\x8b\xa1\x1b\x90\x1d\x6d\x9d\x7f\xb6\x1e\xf7\x69\x06\xa8\x9a\x8f\x96\x98" -+"\x91\x1d\x2e\x06\xa9\xf7\x1a\x15\x9f\xe6\x05\xf7\x13\x06\xc6\xa2\x81\x71\x66\x69\x79\x45\x1f\x0e\xf8\xfa\xf7\xe9\xf7\x0d\x1d\xdb" -+"\x06\xaa\x9f\x9a\xa3\x9b\x80\x94\x76\x8c\x1f\x8e\x9a\x05\xa6\x8d\x9d\x9a\xa1\x1a\x9b\x80\x94\x76\x8c\x1e\x48\x16\x3c\x06\xf4\xf7" -+"\x10\x05\xfb\x81\xf8\x1d\x5e\x0a\xf7\xef\xf7\x4e\x15\x92\x95\x91\x99\x93\x1a\x9a\x80\x96\x7c\x7c\x81\x76\x0a\x83\x1a\x7b\xf7\x68" -+"\x1d\x98\x1e\x0e\xf7\x47\xf7\xd6\x15\x38\x0a\x7c\x7f\x81\x32\x0a\xfb\x78\xfb\x35\x15\x57\x61\x67\x5e\x69\xa3\x77\xb4\xc2\xb4\xae" -+"\xb9\xae\x73\x9e\x60\x1f\xda\xf7\xf7\x15\x57\x61\x67\x5f\x68\xa3\x77\xb4\xc2\xb4\xae\xb8\xaf\x74\x9e\x5f\x1f\x0e\xf7\xfa\xf8\xa8" -+"\x15\x9f\x8a\x91\x88\x95\x1e\x9e\x83\x74\x9a\x74\xca\x0a\xad\xa3\xa3\xaf\x1f\x95\x07\xfb\x74\x04\xa3\x89\x95\x85\x95\x1e\x9b\x80" -+"\x78\x95\x77\xca\x0a\x9e\x9c\x93\x9a\x96\x1f\x93\x95\x8e\x96\xa5\x1a\x0e\xf8\x3f\xf8\xd5\x15\xfb\x06\x20\x27\x20\x3b\xc7\x51\xdf" -+"\xf7\x07\xf6\xef\xf7\x00\xdb\x4f\xc4\x36\x1f\x7e\x49\x15\xbe\xb0\x69\x5a\x49\x48\x4b\x46\x55\x67\xad\xbd\xcd\xce\xca\xd2\x1f\x0e" -+"\xf7\x52\xc7\x15\x67\xb3\xb7\x7c\xf7\x14\x0a\x3b\xd0\xfb\x10\x4f\x5e\x7d\x67\x54\x1f\xbc\xf7\x6c\x05\xfb\x0d\x82\x0a\x7f\x82\x7a" -+"\x7a\x1a\x7a\x95\x7b\x99\x86\x1e\x88\x94\x94\x8a\x9d\x1b\x96\x06\xfb\x18\xfc\xe5\x9f\x0a\xf7\x6b\xf8\x79\x9c\x0a\xf8\x0d\xfb\x24" -+"\xf7\x0d\x1d\xda\x06\xaa\x9f\x9a\xa3\x9b\x81\x94\x76\x8c\x1f\x8e\x9a\x05\xa6\x8d\x9c\x9a\xa1\x1a\x9c\x80\x93\x77\x8c\x1e\x48\x16" -+"\x3c\x06\xf3\xf7\x10\x05\xbb\xf7\x9e\x15\x92\x95\x91\x99\x93\x1a\x9a\x80\x96\x7c\x7c\x81\x9a\x1d\x81\x7e\x87\x81\x50\x0a\x96\x93" -+"\x9c\x98\x1e\x0e\xf7\xd5\xf7\xc3\x15\xf7\x55\xf7\x19\xa3\xa4\xc9\x1a\xc2\x5f\xb0\x4b\x5c\x5e\x78\x6a\x6a\x1e\x79\x78\x7e\x75\x7d" -+"\x1a\x7d\x96\x80\x9b\x99\x99\x93\x96\x92\x1e\x96\x9e\x8b\x8b\x92\x91\x08\x9a\x9b\xa1\x93\xa2\x1b\xab\xa2\x7a\x74\x6d\x78\x7b\xfb" -+"\x72\xfb\x2b\x1f\x7f\x82\x7c\x49\x05\xf7\xac\x06\x97\xc2\x05\x8c\x90\x8c\x93\x8f\x1a\x98\x7f\x96\x7d\x77\x7e\x81\x76\x84\x1e\x0e" -+"\xf7\xd8\xf7\x7e\x15\x96\x06\x9f\x83\xa6\x55\x8d\x66\x8c\x83\x18\x8c\x84\x05\xb7\x06\xac\xa2\x9d\xa6\x9e\x82\x93\x76\x8f\x1f\x7e" -+"\xab\x86\x95\x7b\x9d\x08\xbb\xa1\xa9\xb3\xb5\x1a\xbf\x61\xac\x46\x1e\x2e\x06\x69\x74\x79\x70\x77\x96\x82\xa3\x89\x1f\x65\xfb\x41" -+"\x05\x6b\x8a\x76\x78\x72\x1a\x76\x99\x81\xa7\x1e\xd0\x06\xac\xa2\x9d\xa6\x9f\x80\x94\x74\x8d\x1f\xa4\xf7\x05\x15\x98\xc7\x05\xa1" -+"\x06\xa7\x9b\x83\x7d\x77\x6f\x79\x6d\x1f\xcd\xf7\xa2\x15\xfb\x5a\xfb\x4e\xfb\x41\xfb\x4c\xf7\x60\x1d\xf7\x4c\xf7\x1e\xf2\x1d\xf7" -+"\x47\xf7\xd6\x15\x38\x0a\x7c\x7f\x81\x32\x0a\x0e\xf8\xb3\xf8\xc0\x15\xa0\x95\x97\x99\x9b\x1a\x9b\x7f\x97\x7a\x81\x7d\x88\x85\x7e" -+"\x1e\x37\x65\x61\x9f\x75\x95\x89\x8c\x19\x93\x74\x7c\x8e\x7d\x1b\x71\x71\x75\x74\x7f\x93\x82\x9a\x86\x1f\x9a\x85\x91\x89\x90\x88" -+"\x90\x89\x19\x8d\x8a\x8f\x89\x90\x89\x5b\x73\x18\x70\x7e\x85\x84\x77\x1a\x78\x96\x7f\x9b\x95\x8e\x8c\x95\xa2\x1e\xf0\xba\xad\x76" -+"\xb2\x63\xa3\x66\x19\xa8\x5b\x72\x92\x5e\x1b\x36\x38\x68\x4e\x50\x1f\x5b\x58\x6e\x4c\x53\x1a\x22\xe6\x40\xf7\x13\xe1\xe7\xb0\xc6" -+"\xc8\x1e\xc0\xbf\xab\xde\xe1\x1a\xe9\x66\xd3\x36\xcf\x1e\xfb\x10\xfb\x5e\x15\xd4\xbf\x60\x4f\x6d\x7e\x6d\x76\x75\x1f\x65\x64\x55" -+"\x74\x57\x1b\x41\x53\xb5\xc1\xd8\xe5\xd4\xe9\x1f\x0e\xf7\xeb\xf7\x5a\x15\xda\x2c\x05\x75\x9d\x93\x86\x9d\x1b\xac\xad\xa9\xa9\x98" -+"\x87\x93\x7c\x9d\x1f\x3c\xeb\xf7\x0e\xea\x05\xa9\xa3\x94\x98\xa0\x1a\xa3\x78\x9d\x71\x79\x81\x86\x76\x71\x1e\xfb\x0e\x2b\x3c\xea" -+"\x05\xa0\x7a\x81\x91\x7a\x1b\x6a\x69\x6d\x6d\x7d\x8f\x84\x9a\x79\x1f\xda\x2c\xfb\x0e\x2b\x05\x6c\x73\x83\x7f\x76\x1a\x72\x9d\x79" -+"\xa6\x9c\x95\x90\xa0\xa7\x1e\x0e\xf8\x19\xf8\x67\x15\x75\x77\x79\x77\x7b\x94\x83\x9e\x8a\x1f\xa3\x8a\x94\x89\x95\x87\x08\x9e\x82" -+"\x99\x79\x7b\x1a\x65\x66\x76\x48\x64\x7b\x8e\x94\x7e\x1e\x92\x82\x88\x8c\x83\x1b\x75\x78\x78\x76\x70\xb9\x79\xd2\xc8\xb5\x98\xa8" -+"\xad\x1f\xa7\xa3\x9e\xaf\xa8\x1a\xa9\x7b\xa4\x6d\x9c\x1e\xbb\xa5\xa1\xaa\xb2\x1a\xc0\x63\xac\x4a\x41\x45\x67\x64\x7d\x97\x80\x9a" -+"\x94\x94\x8f\x91\x93\x1e\x9f\xa2\x9c\x91\xac\x1b\xad\xa0\x7e\x77\x71\x6c\x72\x6c\x1f\x0e\xf7\x50\xf7\x99\x15\x89\x81\x8a\x83\x7f" -+"\x1a\x44\xc4\x5c\xe0\xdb\xd9\xb3\xb5\x9d\x7d\x98\x78\x81\x81\x87\x84\x81\x1e\x75\x6f\x7f\x87\x65\x1b\x5a\x71\x9e\xaf\x88\x1f\x91" -+"\x8b\x90\x8c\x91\x1e\x93\xac\x05\xbb\x95\xb6\xae\xbc\x1b\xa8\xa6\x7e\x7e\x6c\x93\x80\xa3\xa4\x9c\x9b\xa9\x91\x1f\x97\xbd\x05\x8e" -+"\x99\x8b\x8b\x90\x1a\x9c\x7e\x97\x7a\x7c\x81\x86\x7f\x82\x1e\x97\x72\x77\x90\x6e\x1b\x30\x38\x48\x31\x77\x1f\xf7\x7c\xf7\xaf\x15" -+"\xfb\x5b\xfb\x4d\xfb\x40\xfb\x4d\xf7\x60\x1d\xf7\x4d\xf7\x1d\xf2\x1d\x22\x1d\xf7\x4d\xf7\xc9\x15\xa3\x9c\x94\x97\x9b\x1a\x9e\x7d" -+"\x98\x77\x7f\x85\x89\x7d\x77\x4c\x0a\x78\x99\x7e\x9f\x96\x91\x8e\x98\x9f\x1e\x0e\x22\x1d\xbf\xf7\xb7\x15\xe5\x31\x05\x82\x94\x93" -+"\x87\x96\x1b\xa2\xa1\x1d\xfb\x4a\xfb\x11\x05\x6e\x78\x6f\x0a\x22\x1d\x61\xf7\xee\x40\x0a\x22\x1d\x88\xf8\x06\x15\x98\x7d\x86\x8e" -+"\x7e\x1b\x71\xf7\x1b\x1d\xa2\x96\x86\x94\x7f\x97\x1f\x0e\x22\x1d\xd9\xf8\x34\x15\x3c\x3f\x46\x43\x53\xb6\x62\xc6\xdb\xd7\xcf\xd3" -+"\xc5\x60\xb3\x4f\x1f\x80\x50\x15\xaa\xa0\x77\x6e\x68\x62\x67\x64\x6b\x75\x9f\xa6\xb1\xb3\xae\xb5\x1f\x0e\x22\x1d\xf7\x6c\xf7\xef" -+"\x15\x7f\x78\x81\x7d\x7e\x1f\x6a\x6c\x86\x88\x7d\x1b\x81\x7f\x91\x9d\x6f\x1f\xa8\x54\x1d\x6b\x69\x7b\x6c\x6a\x1f\x71\x72\x80\x79" -+"\x7c\x1a\x7c\x98\x80\x9b\x95\x96\x8f\x93\x93\x1e\xb3\xb3\x93\x90\x9d\x1b\x98\x91\x88\x7b\xa2\x1f\x6f\xb2\xa9\x7e\xa2\x1b\xad\xaa" -+"\x9c\xb5\xb4\x75\x0a\xf7\xe5\x7e\x15\xda\x8f\xc3\x9a\xbb\xa8\x08\xbb\xa7\xa3\xa7\xa5\x7e\x1d\xcc\xc4\x6c\x69\x89\x1f\x8a\x78\x05" -+"\x73\x8a\x9d\x7a\xa5\x1b\xaf\xa1\xa1\xb7\x95\x1f\x9d\xdb\x05\x98\x0a\x7d\x4b\x05\x80\x0a\x3c\xb5\x4a\xd1\x6a\x1e\xa2\x81\x9c\x86" -+"\xab\x84\x77\x31\x18\x8d\xa2\x8d\x8b\x92\x1b\xa3\x99\x83\x7d\x7b\x7d\x81\x73\x7b\x77\x91\x94\x7c\x1f\x96\x7a\x88\x8c\x83\x1b\x72" -+"\x74\x75\x74\x6c\xc0\x71\xc8\xd3\xc6\xc1\xcc\xb2\x7b\x9e\x62\x94\x1f\x0e\x24\x1d\xad\xf7\x28\x05\x8e\x9b\x8c\x91\x93\x1a\xa1\x21" -+"\x1d\xf7\xff\xf9\x09\x15\xa1\x9b\x95\x98\x9b\x1a\x9e\x7d\x98\x77\x7f\x85\x88\x7e\x78\x4c\x0a\x79\x99\x7d\x9f\x96\x91\x8e\x98\x9f" -+"\x1e\x0e\x24\x1d\xac\xf7\x28\x05\x90\x9e\x8b\x8d\x93\x1a\xa2\x21\x1d\xf7\x7a\xf8\xf7\xf7\x51\x1d\xa2\x94\x88\x90\x82\x93\x1f\x84" -+"\x92\xf7\x0e\x1d\x24\x1d\xac\xf7\x28\x05\x90\x9e\x8b\x8d\x93\x1a\xa2\x21\x1d\xf7\x1c\xf9\x2e\x15\x4d\x0a\xb1\xa8\x75\x9f\x6d\x1f" -+"\xf7\x64\x16\x4d\x0a\xb1\xa7\x75\xa0\x6d\x1f\x0e\x24\x1d\xac\xf7\x28\x05\x90\x9e\x8b\x8d\x93\x1a\xa2\x21\x1d\xf7\x3c\xf9\x46\xf7" -+"\x65\x1d\x82\x90\x82\x97\x80\x1f\xf7\x02\x21\x05\x7e\x99\x92\x87\x95\x1b\xa5\xa3\xa1\xa3\x94\x85\x96\x80\x96\x1f\x0e\x28\x0a\xf7" -+"\x56\x30\x0a\x28\x0a\xde\xf8\xf7\x15\xe4\x31\x05\x82\xf7\x1f\x1d\xfb\x11\x05\x6f\x78\x86\x84\x7a\x1a\x79\x98\x7e\x9d\x96\x94\x8e" -+"\x95\x99\x1e\x0e\x28\x0a\x80\xf9\x2e\x40\x0a\x28\x0a\xa0\xf9\x46\xc4\x0a\x85\x96\x80\x96\x1f\x0e\xf8\x10\xf9\x4c\x15\x99\x92\x88" -+"\x7b\xa2\x1f\x70\xb0\xab\x7d\xa2\x1b\xad\xa9\x9c\xb5\xb5\xf7\x72\x1d\x7a\x7e\x7b\x81\x78\x78\x1e\x6f\x70\x87\x88\x7d\x1b\x80\x80" -+"\x91\x9d\x6f\x1f\xa8\x5e\x7b\x92\x73\x1b\x6c\x6a\x7c\x6d\x6b\x1f\x6f\x72\x7f\x78\x7a\x1a\x7d\x98\x80\x9b\x96\x95\x90\x94\x95\x1e" -+"\xb0\xb0\x94\x91\x9c\x1b\xfb\x0e\xfb\xdd\x96\x0a\x0e\x2e\x1d\xf7\x4c\xf7\x95\x15\xa3\x9c\x94\x97\x9c\x1a\x9d\x7d\x98\x77\x7f\x85" -+"\x89\x7d\x77\x1e\xfb\x31\x21\x05\x74\x7c\x81\x7d\x7b\x1a\x78\x99\x7e\x9f\x96\x92\x8e\x98\x9e\x1e\x0e\x2e\x1d\xc2\xf7\x83\x31\x0a" -+"\x2e\x1d\x63\xf7\xba\x15\x63\x73\x0a\x6c\x1f\xf7\x65\x16\x4d\x0a\xb1\xa8\x75\x9f\x6d\x1f\x0e\x2e\x1d\x87\xf7\xd2\xc4\x0a\x86\x96" -+"\x7f\x96\x1f\x0e\x2e\x1d\xf7\x75\xf7\xbb\x15\x7d\x7b\x81\x78\x78\x1f\x6f\x70\x87\x88\x7d\x1b\x81\x7f\x90\x9e\x6f\x1f\xa8\x54\x1d" -+"\x6c\x6b\x7c\x6e\x6b\x1f\x6f\x72\x7e\x77\x7b\x1a\x7c\x98\x80\x9b\x95\x96\x90\x92\x93\x1e\xb2\xb2\x94\x91\x9c\x1b\x99\x91\x88\x7b" -+"\xa2\x1f\x70\xb2\xa9\x7d\xa2\x1b\xad\xaa\x9c\xb5\xb4\x75\x0a\xf8\x69\xf9\x55\x15\x30\xe5\x05\x94\x82\x83\x8f\x80\x1b\x73\x74\x75" -+"\x75\x81\x8e\x86\x96\x81\x1f\x90\x86\xf7\x13\xfb\x11\xf7\x49\xf7\x11\x05\xa9\x9f\x8f\x90\x9d\x1a\x9d\x7e\x98\x79\x80\x81\x87\x82" -+"\x7e\x1e\xad\xfb\xb1\x15\x90\x9e\x8b\x8c\x94\x1a\xa2\x79\x9b\x71\x77\xb4\x0a\x2e\xfb\x06\x63\xa2\x63\xae\x76\x1f\xa7\x79\xa8\x82" -+"\xcd\x80\xcd\x7f\x98\x87\x9e\x81\x08\x9a\x83\x94\x7d\x7d\x1a\x60\x49\x67\x3a\x4c\x54\xa5\xab\x88\x1e\x89\xa6\x8b\x8b\x85\x92\x85" -+"\x1d\x73\xb8\xbb\x7f\xc1\x1b\xf7\x31\xf7\x09\xe3\xf7\x0b\xbb\x6f\xb4\x5d\x9f\x1f\x71\x97\x6d\x93\x54\x95\x3d\x9a\x83\x8d\x7d\x96" -+"\x08\x80\x94\x84\x99\x97\x1a\xb5\xc6\xb0\xcf\xc7\xb3\x73\x67\x6b\x8b\x8b\x92\x82\x1e\x82\x92\x99\x85\x9a\x1b\x9c\x9c\x93\x98\x98" -+"\x1f\x95\x95\x90\x94\x91\xa5\x08\x0e\x23\x0a\x97\xf8\xa9\x15\xa5\x9c\x93\x96\x9c\xf7\x48\x1d\x78\x4c\x0a\x78\x99\x7e\x9e\x96\x92" -+"\x8e\x98\x9f\x1e\x0e\x23\x0a\xfb\x09\xf8\x97\xf7\x51\x1d\xa1\x95\x89\x90\x82\x93\x1f\x87\x8e\x88\x8e\x8a\x8c\xfb\x12\xf7\x11\x18" -+"\xfb\x4a\xfb\x11\x05\x6e\x78\x6f\x0a\x23\x0a\xfb\x67\xf8\xce\xc1\x0a\xa7\x75\xa0\x6c\x1f\x0e\x23\x0a\xfb\x44\xf8\xe6\x15\x98\x7e" -+"\x86\x8e\x7e\x1b\x71\xd5\x0a\x95\x86\x93\x7f\x98\x1f\x0e\xf8\xe4\xf9\x70\x15\xa4\x9c\x94\x97\x9b\x1a\x9e\x7d\x98\x77\x7e\x85\x88" -+"\x7e\x78\x4c\x0a\x78\x99\x7e\x9f\x95\x92\x8e\x98\x9f\x1e\x6e\xfc\x1b\x29\x0a\x77\x1b\x2e\x34\x1d\x0e\xf8\x02\xf9\x95\x15\x63\x62" -+"\x1d\x6c\x1f\xf7\x64\x16\x63\x62\x1d\x6c\x1f\xfb\x3c\xfc\xaa\x29\x0a\x77\x1b\x2e\x34\x1d\x0e\xf7\x7c\xf1\x0a\x86\x78\x8b\x8a\x83" -+"\x1a\x75\x9e\x79\xa4\xaf\xa2\xa0\xb8\x95\x1e\x99\xcb\x05\xf7\x39\x06\xfc\x0c\xfb\xfc\x74\x26\x05\xf8\x62\x06\xb0\xf7\x3b\x05\x90" -+"\x9e\x8b\x8c\xd9\x0a\x7c\x49\x05\x96\xf8\xee\x15\x30\xe5\x05\x95\x81\x84\x8e\x80\x1b\x73\x74\x75\x75\x81\x8e\x86\x96\x81\x1f\x8d" -+"\x89\x8c\x89\x8d\x8a\xf7\x13\xfb\x11\x18\xf7\x49\xf7\x11\x05\xa7\x9d\x91\x93\x9c\x1a\x9d\x7d\x98\x79\x81\x81\x87\x82\x7e\x1e\x0e" -+"\xf8\x14\x16\xf7\x0e\x06\xa8\x98\x8f\x96\x9a\x1f\x9a\xf7\x33\x1d\x80\x06\xb5\xf7\x50\x05\x8d\x97\x8c\x93\x99\x69\x1d\x2b\x7b\x7b" -+"\x67\x1e\x75\x82\x7e\x77\x74\x1a\x73\x9c\x7a\xa4\x95\x9a\x8d\x8f\x9d\x1e\x96\xbb\xb1\x90\xac\x1b\xc3\x9f\x82\x73\x8e\x1f\x82\x07" -+"\x87\x79\x05\x91\x65\x6e\x8e\x6b\x1b\x24\x34\x69\x4e\x56\x1f\x70\x6d\x7d\x6b\x6e\x1a\x4b\xce\x5b\xe6\xc3\xc7\x97\xa1\xbf\x1e\xa6" -+"\xf7\x08\x15\x6c\x4e\x51\x7b\x54\x1b\x68\x6f\x98\x9b\x95\x92\x95\x9a\x97\x6c\x1d\xac\xa9\x88\x84\xb3\x1f\xf7\x17\xf8\x37\x15\xa3" -+"\x9b\x94\x97\x9b\xf7\x48\x1d\x79\x1e\xfb\x32\x21\x05\x74\x7b\x81\x7e\x52\x0a\x97\x90\x95\x9b\x1e\x0e\x2d\x1d\x86\xf8\x25\x15\xe5" -+"\x31\x05\x81\x36\x0a\xa2\x94\x88\x90\x83\x93\x1f\x88\x8e\x8a\x8c\x87\x8e\xfb\x12\xf7\x14\x1d\x0e\xf8\x13\xbc\x0a\x41\x1d\x77\x1b" -+"\x7f\x06\xcc\x0a\x30\x7c\x7b\x64\x1e\x73\x4f\x1d\x72\x9c\x7a\xa4\x73\x1d\x27\xf8\x5b\x15\x63\x4a\x0a\xb0\xa9\x75\x9f\x6c\x1f\xf7" -+"\x65\xf7\x2d\x1d\x0e\x2d\x1d\x45\xf8\x73\xb7\x0a\x2d\x1d\x9f\xf8\xa1\x15\x3c\x3f\x46\x43\x53\xb6\x62\xc7\xdb\xd7\xd0\xd2\xc4\x60" -+"\xb4\x4e\x1f\x81\x50\x15\xaa\xa0\x77\x6f\x68\x62\x67\x64\x6b\x75\x9e\xa7\xb0\xb3\xae\xb5\x1f\x0e\xf8\x13\x16\xf7\x0e\xf7\x22\x1d" -+"\x83\x84\x8b\x76\x1b\x80\x06\xb5\xf7\x50\x05\x8d\x97\x8d\x97\x95\x1a\xd0\x49\xb6\x21\x53\x2a\x7b\x7b\x67\x1e\x76\x4f\x1d\x73\x9d" -+"\x7a\xa3\x95\x9a\x8d\x8f\x9d\x1e\x96\xbb\xb1\x90\xad\x1b\xc2\xa3\x81\x74\x88\x8b\x88\x8a\x88\x1f\x87\x79\x05\x91\x66\x6d\x8e\x6b" -+"\x1b\x24\x35\x69\x4e\x55\x1f\x70\x6d\x7d\x6b\x6e\x1a\x4b\xce\x5b\xe6\xc3\xc7\x97\xa1\xbf\x1e\xa6\xf7\x08\x15\x6c\x4f\x50\x7b\x54" -+"\xf7\x21\x0a\x97\x99\x96\x6c\x1d\xad\xa8\x88\x84\xb3\x1f\xf7\x37\xf8\x5d\x15\x7f\x78\x81\x7c\x7e\x1f\x6a\x6b\x87\x88\x7d\x1b\x81" -+"\x7f\x91\x9d\x6f\x1f\xa9\x54\x1d\x6d\x6a\x7c\x6f\x6c\x1f\x6e\x71\x7e\x77\x7a\x1a\x7c\x98\x80\x9b\x96\x95\x8f\x94\x93\x1e\xb3\xb3" -+"\x93\x90\x9c\x1b\x99\x91\x88\x7a\xa2\x1f\x70\xb1\xaa\x7d\xa2\x1b\xae\xa8\x9c\xb6\xb5\x75\x0a\xf7\xe9\x7c\x15\xd3\x8e\xbd\x94\xb6" -+"\x9e\x08\xc0\xa2\xa9\xa9\xa9\xf7\x28\x1d\xa6\xc6\xab\x99\xaf\xa3\xa8\x1f\xb5\xaf\xbc\xa0\xc9\x1b\xb7\xac\x83\x7c\xa1\x1f\x95\x83" -+"\x8f\x83\x8a\x7b\x08\x69\x99\x7c\xaa\xaf\xa1\xa1\xb7\x95\x1e\x9b\xd5\x05\x90\x9e\x8b\x8d\x94\x1a\xa1\x79\x9a\x71\x77\x7e\x83\x78" -+"\x7f\x1e\x9c\x6a\x5b\x95\x55\x1b\x2d\x88\x1d\x42\xb7\x50\xd3\x75\x1e\x9e\x85\x99\x88\xa6\x88\x78\x36\x18\x8d\x9c\x8c\x8b\x90\x1b" -+"\xab\x99\x84\x7c\x7b\x7d\x81\x73\x7b\x77\x91\x94\x7c\x1f\x96\x79\x89\x8c\x83\x1b\x72\x74\x75\x74\x80\x90\x81\x94\x85\x1f\x79\xa2" -+"\xb4\x7f\xaf\x1b\xd3\xc6\xc1\xcc\xb3\x7b\x9d\x62\x94\x1f\x0e\xf8\xe2\xd5\x1d\xa2\xc0\x48\x1d\xd7\xf7\xe8\x15\xa3\x9a\x94\x98\x9c" -+"\x1a\x9d\x7d\x98\x77\x7f\x85\x88\x7e\x78\x1e\xfb\x32\x21\x05\x73\x7b\x82\x7f\x7b\x1a\x78\x99\x7e\x9f\x95\x98\x90\x95\x9a\x1e\x0e" -+"\xa8\x0a\x71\x87\x5e\x1b\x36\x60\xa2\xc0\x48\x1d\x53\xf7\xd6\xf7\x10\x0a\x96\x1b\xa3\xa2\xa1\xa2\x94\x88\x90\x83\x93\x1f\x83\x92" -+"\xfb\x12\xf7\x11\xfb\x4a\xf7\x73\x1d\x98\x7e\x9e\x95\x93\x8e\x95\x9a\x1e\x0e\xa8\x0a\x70\x87\x5e\x1b\x37\x60\xa3\xbf\x48\x1d\xfb" -+"\x2a\xf8\x0c\x15\x4d\x0a\xb0\xa9\x76\x9f\x6c\xda\x0a\x0e\x33\x1d\xfb\x11\xf8\x24\x15\x98\x7e\x85\x8e\x7f\x1b\x70\x74\x75\x72\x83" -+"\x90\x82\x97\x7f\x1f\xf7\x03\x21\x05\x80\x96\x94\xf7\x01\x0a\x95\x7f\x96\x1f\x0e\xf8\x54\xf8\x3d\x15\xfb\x4c\x26\x1d\xd4\x39\x0a" -+"\xfb\x0b\x06\x6b\x81\x89\x7e\xf7\x11\x0a\x6d\x9d\x7f\xb6\x1e\xf7\xeb\x06\xa8\x9a\x8f\x96\x99\xdf\x0a\xfb\x09\x06\xf7\x3d\xf8\x81" -+"\x15\xa4\x9b\x93\x97\x9c\x1a\x9d\x7d\x98\x77\x7f\x83\x88\x7e\x79\x1e\xfb\x32\x21\x05\x75\x7d\x81\x7c\x52\x0a\x96\x90\x95\x9b\x1e" -+"\x0e\xf8\x54\x35\x1d\xaf\xf8\x6f\x15\xe4\xf7\x31\x1d\x85\x91\xfb\x12\xf7\x11\xfb\x4b\xfb\x10\x05\x6e\x76\x86\x86\x79\x1a\x79\x98" -+"\x7e\x9e\x95\x26\x0a\xf8\x54\x67\x1d\x89\x7e\xb6\x0a\xf7\xeb\x20\x0a\x9b\x1a\x9c\x80\x9b\x7d\x69\x0a\xfb\x09\x06\x52\xf8\xa5\x15" -+"\x63\x65\x68\x65\x6f\xa1\x76\xa9\xb3\xb1\xae\xb1\xa7\x75\xa0\x6d\x1f\xf7\x64\x16\x62\x62\x1d\x6d\x1f\x0e\xf8\x54\x35\x1d\x74\xf8" -+"\xbd\xf7\x65\x1d\x83\x91\x81\x96\xf7\x32\x1d\x86\x94\x7f\x97\x1f\x0e\xf7\xee\xf8\xc4\x15\x99\x92\x88\x7a\xa1\x1f\x71\xb0\xac\x7c" -+"\xa1\x1b\xad\xa9\x9c\xb4\xb4\x1f\xa0\xa1\x95\x9b\x98\x1a\x99\x7d\x97\x7a\x80\x78\x80\x7d\x7e\x1e\x6a\x6b\x87\x88\x7d\x1b\x81\x80" -+"\x98\x1d\x6c\x6a\x7c\x6d\x6b\x1f\x6f\x71\x7f\x78\x7b\x1a\x7c\x98\x80\x9b\x96\x95\x90\x95\x95\x1e\xb0\xb0\x94\x91\x9c\x1b\x56\xfb" -+"\x1b\x92\x0a\x0e\x24\x0a\xf7\x55\xf7\x9a\x15\xa5\x9c\x93\x95\x9c\x1a\x9e\xf7\x06\x0a\x76\x7d\x80\x7c\x7c\x1a\x78\x99\x7e\x9e\x96" -+"\x95\x8f\x96\x9c\x1e\x0e\x24\x0a\xc5\xf7\x88\x15\xe4\x31\x05\x81\x36\x0a\xa2\x96\x8a\x8d\x7a\x9b\x1f\xfb\x12\xf7\x11\xfb\x4b\xfb" -+"\x10\x05\x6e\x76\x86\x86\x79\x1a\x79\x99\x7e\x9d\x95\x94\x8e\x95\x99\x1e\x0e\x24\x0a\x67\xf7\xbe\xc7\x0a\xb4\xb1\xae\xb1\xa7\x75" -+"\xa0\x6c\x1f\x0e\x24\x0a\x83\xf7\xd6\x15\x98\x7d\x86\x8e\x7f\x1b\x70\x74\x75\x73\x82\x91\x81\x96\x80\x1f\xf7\x02\x21\x05\x80\x97" -+"\x94\x86\x96\x1b\xa5\xa3\xa1\xa2\x95\x87\x93\x7d\x98\x1f\x0e\x24\x0a\xf7\x78\xf7\xc0\x15\x7d\x7b\x81\x78\x79\x1f\x6e\x6f\x87\x88" -+"\x7d\x1b\x81\x80\x98\x1d\x6c\x6a\x7c\x6e\x6c\x1f\x6f\x71\x7e\x78\x7a\x1a\x7c\x98\x80\x9b\x96\x95\x8f\x96\x95\x1e\xb0\xb1\x93\x8e" -+"\x1d\xa0\xa1\x94\x99\x98\x1a\x99\x7d\x97\x7b\x1e\x0e\xf8\x48\xf8\xcc\x8c\x1d\x75\x7f\x8c\x8a\x9c\x79\x1f\xf7\x14\xfb\x10\xf7\x49" -+"\xf7\x10\x05\xa7\x9e\x91\x92\x9d\x1a\x9d\x7e\x98\x78\x81\x82\x87\x81\x7d\x1e\xa5\xfb\xb5\x15\x8e\x98\x8c\x95\x93\x7f\x0a\x7f\x1e" -+"\x9a\x69\x78\x0a\xf7\x11\x63\x1d\x4a\x61\x0a\x94\x8e\x93\x97\x1e\x79\xaf\xbc\x82\xc5\x1b\xf7\x26\xf7\x05\xd2\xe6\xb0\x79\xaa\x6a" -+"\x9f\x1f\x71\x9b\x63\x96\x43\x94\x4e\x93\x84\x8d\x7f\x8f\x08\x80\x90\x83\x91\x91\x1a\x9b\xbf\x9b\xbd\xb5\xa9\x83\x79\xa1\x1e\x6b" -+"\x96\x95\x83\xa5\x55\x1d\x93\x91\xa6\x08\x0e\xf8\xbd\xf8\xe8\x15\xa5\x9c\x93\x96\x9b\x1a\x9e\xf7\x06\x0a\x75\x7d\x81\x7c\x52\x0a" -+"\x96\x90\x95\x9b\x1e\xf7\x68\x4b\x15\xfb\x20\x26\x1d\xa9\x06\x65\x65\x1d\x5a\x1b\x5d\x72\x9a\xa7\x91\x8c\x92\x8d\x93\x1f\xc7\xf7" -+"\xa2\x5a\x1d\x93\x94\x8a\x9d\x1b\x4b\x1d\x7b\x1a\x42\xc8\x5b\xe5\x61\x1d\xa9\x98\x35\x0a\x9c\x5c\x1d\xf8\x3c\xf8\xd6\x15\xe5\xf7" -+"\x31\x1d\x88\x8d\x89\x8e\x8a\x8c\xfb\x13\xf7\x14\x1d\xf7\xcf\x4d\x15\xfb\x20\x26\x1d\xa9\x06\x65\x65\x1d\x5a\x1b\x5d\x72\x9a\xa7" -+"\x91\x8c\x92\x8d\x93\x1f\xc7\xf7\xa2\x5a\x1d\x93\x94\x8a\x9d\x1b\x4b\x1d\x7b\x1a\x42\xc8\x5b\xe5\x61\x1d\xa9\x98\x35\x0a\x9c\x5c" -+"\x1d\xf7\xdf\xf9\x0c\x15\x62\x4a\x0a\xb0\xa9\x75\x9f\x6d\xda\x0a\xd0\xfb\x63\x75\x1d\xee\x9f\x1d\x9c\x81\x9a\x7c\x91\x1e\x8d\x85" -+"\x84\x8c\x7e\x1b\x0e\xf7\xfe\xf9\x24\x15\x98\x7d\x86\xf7\x28\x0a\x95\x81\x1f\xf7\x03\x21\x05\x80\x96\x95\xf7\x01\x0a\x93\x7e\x98" -+"\x1f\xf7\x1c\xfb\x11\x15\xfb\x20\x26\x1d\xa9\x06\x65\x65\x1d\x5a\x1b\x5d\x72\x9a\xa7\x91\x8c\x92\x8d\x93\x1f\xc7\xf7\xa2\x5a\x1d" -+"\x93\x94\x8a\x9d\x1b\x4b\x1d\x7b\x1a\x42\xc8\x5b\xe5\x61\x1d\xa9\x98\x35\x0a\x9c\x5c\x1d\x53\x0a\xf8\x54\xf7\xa6\x2f\x1d\xf7\xe4" -+"\xf9\x0c\xc7\x0a\xb3\xb1\xae\xb1\xa7\x75\xa0\x6d\x1f\xfb\xc5\xfd\x05\x58\x1d\x0e\xf7\xa9\xf2\x15\xf7\xc9\xf7\x82\x9d\xdf\x05\xfc" -+"\x35\x06\x73\x21\x05\x89\x81\x89\x7e\x84\x1a\x75\x9e\x7a\xa4\xae\xa2\xa2\xb7\x95\x1e\x8c\x90\x05\xf7\x1a\x06\xfb\xc7\xf7\x5e\x1d" -+"\x99\x8c\x91\x79\x0a\x6c\x75\x7a\x68\x80\x1e\x81\xf8\x65\x8c\x1d\x74\x80\x8c\x89\x9c\x7a\x1f\xf7\x14\xfb\x10\xf7\x49\xf7\x10\x05" -+"\xa8\x9e\x90\x92\x9d\x1a\x9d\x7e\x98\x79\x80\x82\x87\x81\x7d\x1e\x0e\xf7\xf9\xf8\x98\x15\x48\x06\x67\x75\x7b\x71\x7c\x97\x7f\x9a" -+"\x89\x1f\x8f\x06\x71\xfb\x0b\x05\x6a\x76\x7a\x72\x76\x98\x82\xa9\x1f\xd0\x06\xae\xa1\x9c\xa5\x9e\x7f\x94\x72\x8c\x1f\x9f\xe6\x05" -+"\xa6\xad\x9d\x93\xa4\x1b\xa7\x99\x84\x7c\x89\x8a\x87\x8a\x87\x1f\x77\x2d\x05\x6f\x89\x78\x7a\x74\x1a\x76\x98\x82\xa9\x1e\xc2\x06" -+"\xae\xa1\x9b\xa6\x9a\x80\x97\x7b\x8c\x1f\x88\x8c\xa0\xe9\x05\x8d\x95\x8c\x95\x93\x1a\xb9\x63\xa9\x50\x6f\x71\x83\x7e\x75\x1e\x85" -+"\x87\x05\x0e\xf8\x73\x16\xa8\x99\x28\x1d\x9c\xf7\x0c\x0a\x70\x06\xbb\xf7\x6e\x05\xa8\x06\xaa\x97\x2a\x0a\x9d\x9b\xf7\x0c\x0a\x6f" -+"\x06\x92\xac\x05\xa1\x91\xc2\x0a\xfb\x28\xf7\x06\x1d\x4a\x3a\x81\x0a\x7d\x25\x0a\x97\x06\x5b\xfb\x6e\x05\x78\x06\x6b\x81\x88\xf7" -+"\x04\x0a\xf7\x1b\x06\xb0\x8c\x95\x8e\x9d\x9d\x08\x7a\x96\x95\x86\xaf\x1b\xfb\x01\xf3\x15\xbb\xf7\x6e\x05\xf7\x29\x06\x5a\xfb\x6e" -+"\x05\x79\x06\x69\x7e\x87\x79\x79\x1f\x9d\x80\x7f\x8f\x6a\x1b\x0e\xf8\xb6\xf2\x15\xd2\xf7\xd6\x05\xfb\x40\xf7\x06\x1d\x48\x6f\x76" -+"\x86\x7d\x70\x1f\x98\x6f\x6f\x91\x6c\x1b\x3a\x81\x0a\x84\x25\x0a\x90\x39\x0a\x7f\x38\x1d\xf8\x6a\x06\xa7\x9a\x8f\x96\x98\x1f\x9b" -+"\x97\x94\x9d\x9c\x1a\xa8\x7a\x97\x60\x1e\xfb\xb9\x16\x52\x06\xbc\xf7\x6f\x05\xc3\x06\xa3\xf2\x15\x52\x89\x0a\x9d\x9f\x1b\x92\x90" -+"\x8a\x89\x97\x1f\x83\x7a\x89\x85\x88\x7d\x08\xa8\xfb\xf8\x15\xbc\xf7\x6f\x05\xcb\x06\x5a\xfb\x6f\x05\x0e\xf8\xb5\xf2\x15\xf7\x03" -+"\xf8\x87\x05\xfb\x1b\x06\x6c\x8c\x73\x85\x70\x7d\x08\x98\x70\x6e\x91\x6c\x1b\x3a\x40\x4e\x39\x79\x1f\x83\x69\x05\x84\x06\x6b\x81" -+"\x3a\x1d\x90\x39\x0a\x7f\x38\x1d\xf8\x6a\x06\xa7\x9a\x8f\x96\x98\x1f\x9b\x97\x94\x9d\x9c\x1a\xa8\x7a\x97\x60\x1e\x5a\xf7\xd6\x15" -+"\x4b\x89\x0a\x9e\x9f\x1b\x92\x92\x8a\x87\x98\x1f\xfb\x98\xfc\x1c\x15\x52\x06\xbc\xf7\x6f\x05\xc3\x06\xa3\xf2\x15\x52\x89\x0a\x9e" -+"\x9f\x1b\x92\x90\x8a\x88\x97\x1f\x83\x7a\x89\x85\x88\x7d\x08\xa8\xfb\xf8\x15\xbc\xf7\x6f\x05\xcb\x06\x5a\xfb\x6f\x05\x0e\xf8\xdb" -+"\xf7\x34\x15\xad\xa7\x9e\xb0\xb0\x1a\xc0\x65\xaf\x52\xf7\x07\x0a\x62\x60\x7b\x0a\xa2\x7b\x9b\x1e\x54\xf7\x12\x15\xa3\x9b\x7d\x75" -+"\x6b\x71\x71\x6a\x8a\x0a\xac\x1f\x6a\xf7\x24\x1d\xfb\x5d\xf8\x91\x5e\x0a\xf7\xe8\xf7\x4e\x15\x93\x96\x91\x98\x93\x1a\x9a\x80\x96" -+"\x7b\x7d\x80\x84\x79\x7e\x1e\xfb\xd5\xfc\x47\x05\x83\x7f\x86\x7f\x84\x1a\x7b\x96\x80\x9b\x98\x97\x93\x9c\x98\x1e\x0e\xf8\xc2\xf8" -+"\x91\x15\x92\x96\x91\x98\x93\x1a\x9a\x80\x96\x7b\x7d\x81\x9a\x1d\x82\x7e\x86\x81\x50\x0a\x96\x93\x9c\x98\x1e\x75\xf8\x2f\x9c\x0a" -+"\xf7\xee\xfb\xd9\x15\xad\xa7\x9e\xb0\xb0\x1a\xc0\x64\xaf\x53\xf7\x07\x0a\x61\x61\x1a\x58\xb2\x6a\xc8\xdc\xcb\xc5\xd4\xa3\x82\xa2" -+"\x7b\x9b\x1e\x54\xf7\x12\x15\xa3\x9b\x7d\x76\x6a\x71\x71\x6a\x8a\x0a\xac\x1f\x6b\xfb\x33\x15\xa4\x9d\x79\x71\x6c\x71\x76\x67\x6f" -+"\x79\x98\x9f\xaa\xac\xab\xab\x1f\x0e\xf8\xc2\xf8\x91\x15\x92\x95\x91\x99\x93\x1a\x9a\x80\x96\x7c\x7d\x80\x76\x0a\x50\x0a\x97\x93" -+"\x9c\x98\x1e\xf7\xed\xf7\x67\x1d\x53\x41\x48\x4d\x46\x74\x92\x78\x9a\x79\x1e\x65\x70\x75\x63\x60\x7b\x0a\xa3\x7b\x9a\xb1\x0a\xfb" -+"\xab\xf8\x47\x15\xeb\x06\xaa\x9e\x9a\xa3\x9e\x80\x92\x71\x1f\xfb\x37\x06\x69\xfb\x3c\x8a\x81\x05\x7d\x95\x80\x98\x91\x8e\x8c\x8f" -+"\x93\x1e\x97\xa5\xa2\x92\x9d\x1b\xa6\x9c\x79\x6e\x78\x85\x77\x82\x7d\x1f\x75\x7e\x74\x82\x63\x1b\x6a\x7c\x8f\x99\x7f\x1f\x92\x84" -+"\x88\x8d\x83\x1b\x78\x79\x78\x77\x6c\xb8\x75\xc7\xca\xb3\x9c\xb1\xa9\x1f\xa2\xa9\x98\xb2\xb0\x1a\xc7\x67\xb2\x54\x7c\x7f\x89\x85" -+"\x73\x1e\x0e\xf7\xec\xf8\xc4\x15\xfb\x1f\xfb\x8f\x05\x85\x80\x88\x82\x84\x1a\x7d\x98\x80\x9a\x9d\x95\x93\xa2\x98\x1e\xf7\x2b\xf7" -+"\xa7\x97\xc9\x05\xfb\x9f\x06\x80\x54\x05\x8a\x83\x8a\x87\x87\x1a\x7d\x97\x80\x9a\x9f\x98\x95\xa0\x92\x1e\xf7\xeb\x58\x15\x92\x95" -+"\x91\x99\x93\x1a\x9a\x80\x96\x7b\x7e\x80\x76\x0a\x50\x0a\x97\x93\x9c\x97\x1e\xf7\xee\xf7\x67\x1d\x52\x42\x48\x4d\x46\x74\x92\x78" -+"\x9a\x79\x1e\x66\x71\x74\x62\x60\x7b\x0a\xa2\x7b\x9b\xb1\x0a\x0e\xb2\x1d\xf7\x95\xf7\xc7\x15\xa5\x9d\x91\x93\x6e\x0a\x74\x7a\x82" -+"\x7f\x7c\x1a\x78\x99\x7e\x9f\x94\x9a\x91\x95\x99\x1e\x0e\x22\x1d\x25\xf8\x0e\x46\x1d\x93\x0a\xf8\x28\xf7\x2b\x15\x93\x5c\xdb\x0a" -+"\x78\x9f\x72\x8a\x1f\x81\x8a\x05\x89\x06\x87\x06\x2e\xf8\x60\x05\xfb\x48\x97\x1d\x9f\x06\xfb\x7a\xfb\xf8\x73\x8a\x80\x8a\x80\x86" -+"\x19\x76\x80\x7c\x74\x76\x1a\x6d\xe5\x0a\xaa\xba\x05\xf7\x66\xf2\x15\xfb\x24\x06\xf7\x01\xf7\x3c\x05\xfb\x60\xea\x15\x8d\x95\x8b" -+"\x8b\x8f\x1a\xa1\x81\x96\x79\x79\x7f\x7e\x73\x85\x1e\x6a\xfb\x2b\x05\x89\x84\x8b\x88\x86\x1a\x77\xf7\x20\x0a\x90\x1e\x0e\x22\x1d" -+"\x2c\xf7\xd9\x47\x0a\xf8\x76\xf8\xc8\x15\xfb\x70\x6b\x0a\xc3\x06\xfb\x7b\xfb\xf9\x6b\x8a\x81\x89\x7d\x7f\x19\x7b\x7e\x31\x1d\xb6" -+"\x1e\xf7\x18\xdc\x0a\x82\x85\x8c\x76\x1b\x7c\x06\xa9\xba\x05\xf7\x7d\x06\x94\x5c\x05\x79\x06\x6b\x81\x37\x0a\x79\x7a\x1a\x6d\x9d" -+"\x7f\xb5\x1e\xcf\x06\x3f\xb2\x0a\xb8\xb6\xc9\xa6\x1f\xb4\x9d\x9b\x9d\xa7\x1a\xa6\x79\x9a\x6b\x1e\x82\x06\xfb\x2d\xf7\x2a\x15\xfb" -+"\x25\x06\xf7\x03\xf7\x3d\x05\x0e\x22\x1d\xb9\xf8\x34\xe3\x1d\xc0\xf7\x22\x15\xa5\x9d\x91\x94\x9c\x1a\x9d\x7c\x99\x77\x7f\x85\x88" -+"\x7f\x79\x1e\xfb\x2b\x20\x05\x74\x7b\x82\x7f\x7b\x1a\x78\x99\x7e\xa1\x92\x9a\x92\x94\x98\x1e\x0e\xbd\x1d\x56\x0a\xf8\x97\xf8\x3f" -+"\x15\xa7\x9e\x90\x92\x6e\x0a\x73\x7a\x83\xf7\x61\x1d\x98\x1e\x0e\x56\x0a\xf7\xf7\xf8\x23\x15\x2e\xe5\x05\x94\x81\x83\x8f\x82\x1b" -+"\x74\x72\x74\x76\x81\x8f\x84\x99\x7e\x1f\xf7\x17\xfb\x11\xf7\x43\xf7\x10\x99\x95\x92\x91\x8d\x8c\x19\x91\x91\x90\x98\x94\x1a\x9b" -+"\x7c\x99\x7a\x81\x7e\x86\x83\x81\x1e\x0e\x6f\x1d\xf8\x00\xf8\x2c\x31\x0a\x6f\x1d\xf8\x04\xf8\x5f\xb9\x0a\x8c\x0a\xc6\x1d\xf4\x59" -+"\x1d\xb6\x1d\x8f\x16\xf8\xe4\x06\xfb\x96\xf8\xc7\x05\x3f\x06\xfb\x0c\xfc\x70\x15\xf7\x32\xf7\xe6\xf7\x32\xfb\xe6\x05\x0e\x24\x1d" -+"\xad\xf7\x28\x05\x8e\x9b\x8c\x91\x93\x1a\xa1\x21\x1d\xe3\xf9\x4e\x46\x1d\x24\x1d\xad\xf7\x28\x05\x8e\x9b\x8c\x91\x93\x1a\xa1\x21" -+"\x1d\xf7\x66\x59\x1d\x24\x1d\xad\xf7\x28\x05\x8e\x9b\x8c\x91\x93\x1a\xa1\x21\x1d\xf7\x73\x80\x1d\x24\x1d\xad\xf7\x28\x05\x8e\x9b" -+"\x8c\x91\x93\x1a\xa1\x21\x1d\xea\xf9\x19\x47\x0a\xf8\x40\x8f\x15\x76\x48\x6a\x6f\x4c\x89\x08\x29\x06\x6a\x83\x89\x7e\x7b\x1f\x7a" -+"\x7e\x82\x7b\x7b\x1a\x6c\x9c\x7f\xb7\x1e\xf0\x06\xc8\xcb\xa4\xb6\xb9\x1f\xa5\x9f\xa0\xb4\xa1\xd3\xf3\xf8\x5c\x18\xc4\x1d\xc6\xf7" -+"\x9c\x05\x0e\xb9\x1d\xf8\x04\x06\x40\x64\x71\xb5\x0a\xb7\xb6\xc8\xa4\x1f\x90\x8d\x92\x8e\xac\xf7\x27\x05\x8e\x9b\x8c\x91\x93\x1a" -+"\xa1\x21\x1d\x0e\xb4\x1d\xd0\xf8\x99\x15\x8d\x96\x8b\x8b\x8f\x1a\xa0\x81\x96\x79\x79\x7f\x7e\x73\x85\x1e\x6a\xfb\x2b\x05\x8a\x87" -+"\x8a\x84\x85\x1a\x79\x95\x80\x9d\x9d\x97\x98\xa4\x90\x1e\xf7\x4a\xfb\x1c\x15\xd8\x06\x8a\x89\x05\x87\x78\x8b\x8a\x83\x1a\x74\xa9" -+"\x1d\x8e\x93\x91\xa6\xa4\xf7\x00\x18\x8e\x9b\x8c\x90\x93\x1a\xa2\x78\x9c\x72\x7a\x7a\x83\x7e\x7e\x1e\x80\x80\x88\x84\x85\x6f\x8a" -+"\x87\x18\x3e\x2b\x1d\xf7\x76\x06\x81\x60\x05\x88\x7b\x8a\x86\x83\x1a\x74\x9f\x7a\xa3\x9c\xf7\x1b\x0a\xac\xf7\x28\x18\xfc\x59\x27" -+"\x1d\x95\x06\x3c\xfb\xfa\x05\x7f\x06\x6c\x80\x36\x1d\xf8\x6d\x06\xad\xf7\x28\x05\x8e\x99\x8c\x93\x92\x1a\xa2\x78\x9c\x72\x67\x75" -+"\x75\x5e\x81\x1e\x80\x5c\x05\xfb\x8b\x06\x0e\xf8\x2d\xf7\x7a\x44\x1d\x7b\x1a\x71\x97\x7e\xa8\x45\x0a\x0e\xdb\xf8\x99\x15\x8d\x93" -+"\x8b\x8d\x8f\x1a\xa1\x81\x96\x79\x79\x7f\x7e\x73\x85\x1e\x6a\xfb\x2b\x05\x8a\x86\x8a\x86\x86\x1a\x77\xf7\x20\x0a\x91\x1e\xf7\xfe" -+"\xfb\x1e\x44\x1d\x7b\x1a\x71\x97\x7e\xa8\x45\x0a\x0e\xf7\x93\xf7\xf2\x15\xdc\xb0\xc4\xb7\xce\x1b\xc1\xbd\x6d\x6b\x1f\x8a\x72\x05" -+"\x74\x9a\x7c\xa2\xab\xa0\xa1\xb7\x95\x1e\x9d\xdb\x05\x8e\x9a\x8c\x91\x93\x1a\xa2\x7b\x9b\x74\x7a\x7f\x85\x7b\x7c\x1e\xa8\x57\x72" -+"\x92\x58\x1b\xfb\x11\xfb\x0f\x2d\xfb\x1a\x5c\x1f\x6f\x06\x75\x7b\x7c\x75\x7a\x93\x84\x9d\x1f\xa2\x06\x84\x6c\x05\x72\x06\x75\x7b" -+"\x7c\x75\x7a\x93\x83\x9d\x1f\xa6\x7e\x06\xfb\x0a\xe3\x3d\xf7\x17\xdd\xd4\xa4\xb8\xc0\x1e\xa4\xa1\x97\x9e\x9f\x1a\xa3\x7a\x9d\x74" -+"\x7e\x7f\x86\x80\x7e\x1e\x6d\x71\x8b\x8b\x81\x86\x08\x7d\x72\x65\x83\x64\x1b\x3e\x5f\xb0\xcf\x88\x1f\xf7\x36\x06\xa2\x9b\x9b\xa1" -+"\x9c\x83\x92\x78\x1f\xfb\x3a\x06\x92\xaa\x05\xf7\x57\x06\xa2\x9b\x9b\xa0\x9c\x83\x92\x78\x1f\x0e\xf7\xfd\xc2\x1d\x6e\x1d\xfb\x7f" -+"\xf9\x86\x46\x1d\xb3\x1d\x23\xf9\x2f\x31\x0a\x6e\x1d\xfb\x84\xfb\x3a\x23\x1d\xb3\x1d\x27\xf9\x62\xb9\x0a\xf7\x21\xf8\x48\x15\x84" -+"\x06\x89\x06\x61\x6c\x78\x70\x75\xa0\x80\xb6\x8a\x1f\x52\xfb\x91\x05\x89\xc9\x0a\x7a\x1a\x6e\x9d\x7e\xb5\x1e\xf7\x0d\x06\xa9\x98" -+"\xf7\x25\x1d\x6e\x1b\x82\x2b\x1d\xf7\x62\x06\x6e\xfb\x13\x05\x80\x38\x1d\xf7\x0d\x06\xa8\x98\x28\x1d\x9b\x1a\x98\x86\x97\x82\x93" -+"\x1e\x92\x82\x82\x8d\x6f\x1b\x8a\x06\xc3\xf7\x91\x05\x9d\x94\x8c\x8d\x95\x1f\xa4\x90\x9e\x9e\x9e\x1a\xa0\x76\x98\x68\x1e\x88\x06" -+"\x87\x06\x90\xa5\x05\xb3\x8f\xa4\xa3\xac\xce\x0a\x6e\x9d\x7e\xb5\x1e\x95\x06\x86\x72\x05\xfb\x62\x06\x90\xa4\x05\x97\x06\xaa\x96" -+"\x2a\x0a\x9d\x9c\xce\x0a\x73\x99\x7d\xa6\x88\x1e\xf7\xb7\x21\x15\x83\x68\x05\xfb\x62\x06\x93\xae\x05\x0e\xf8\x2d\xf7\x7a\x44\x1d" -+"\x7b\x1a\x71\x97\x7e\xa8\x45\x0a\xf7\x67\xf8\x78\x31\x0a\xf7\xd1\xf8\x61\x15\xa9\x06\xaa\x97\x8e\x96\x9a\x1f\x9a\x98\x95\xf6\x0a" -+"\xfb\x3c\x42\x1d\x95\x1d\xb5\x1e\xa8\x06\x3c\xfb\xfa\x05\x6c\xeb\x0a\xb6\x1e\xf7\x3c\x20\x0a\x9c\x1a\x97\x86\x96\x81\x94\x1e\x93" -+"\x82\x82\x8c\x6f\x1b\x6e\x06\xf7\xea\xf7\xfa\x15\x31\xfc\x2a\x81\x60\x87\xa3\x1d\x68\x1b\x70\x6f\x92\x9a\x63\x1f\x90\x7e\x81\x8e" -+"\x84\x1b\x6d\x6b\x6b\x6d\x7d\x90\x81\x95\x83\x1f\x77\xa4\xd5\x78\xbf\x1b\xc5\xc7\x9f\xae\xbe\x1f\xc4\xb2\xa4\xb0\x99\xcb\xf7\x08" -+"\xf8\x9d\x18\xfb\x35\x49\x1d\x9d\x7f\xb5\x1e\x0e\xf8\x2e\x49\x0a\x9c\x9c\x1a\x9c\x81\x9b\x7c\x74\x1d\x47\xf9\x4e\x5f\x0a\x28\x0a" -+"\xe2\x80\x1d\x28\x0a\x62\xf9\x19\x47\x0a\xf8\x5c\x49\x0a\x9d\x9c\x52\x1d\x82\x85\x8c\x76\x1b\xfb\xc1\x27\x1d\xeb\x06\x3b\xfb\xfa" -+"\x05\x2a\x26\x1d\xf7\x77\x06\x40\xb2\x0a\xbb\xb9\xc8\xa4\x1f\xb4\x9c\x9b\x9c\xa7\x1a\x9c\x81\x9b\x7c\x69\x0a\x2c\x06\x0e\x58\x0a" -+"\xd9\x1d\x6a\xf9\x0d\x15\x7c\x1d\xf7\x61\x16\x69\x6c\x6e\x6b\x73\x9d\x79\xa5\xae\xaa\xa8\xac\xa3\x78\x9c\x71\x1f\x0e\xf8\x50\xf8" -+"\x60\x15\xea\xf7\x25\x0a\xfb\xbc\x97\x1d\xe8\x53\x1d\x2c\xf7\x6d\x1d\xf7\xbd\xf7\x25\x0a\x2e\x06\xfb\x6d\xf8\x31\xbb\x0a\xf8\x5c" -+"\xf8\x61\x15\xed\x06\xa9\x97\x8e\x97\x9a\x83\x1d\xfb\xc1\x49\x1d\x9d\x7f\xb5\x1e\xeb\x06\x3b\xfb\xfa\x05\x2a\x38\x1d\xf7\xc1\x6b" -+"\x1d\x9a\x97\x95\xf6\x0a\x2c\x06\xba\xf8\xcb\xcc\x1d\xf8\xb9\x94\x1d\x9a\x97\x95\x9c\x9c\x1a\x9c\x80\x51\x0a\x85\x8c\x76\x62\x0a" -+"\x81\x60\x87\xa3\x1d\x67\x1b\x6b\x6f\x93\x9f\x5e\x1f\x9f\xe4\xf7\x23\x0a\x72\x67\x75\x75\x5f\x81\x1e\x68\xfb\x32\x05\x5b\xe9\xbf" -+"\x7b\xc7\x1b\xc7\xc8\x9e\xae\xbd\x1f\xc4\xb3\xa4\xb0\x9a\xca\x08\x41\xf8\xa9\x15\xe5\x31\x05\x82\x36\x0a\xa1\x97\x8a\x8c\x79\x9c" -+"\x1f\xf7\x0e\x1d\xf7\x57\x9d\x0a\x97\x8e\x96\x9a\xd3\x1d\x9a\x8f\x96\x98\x48\x0a\x82\x85\x8b\x77\x1b\x6d\x06\x0e\x8b\x0a\xf3\xfb" -+"\x72\x23\x1d\x2f\x0a\xf7\x8d\x30\x0a\xf7\xf3\xf8\x3a\x15\xcc\xfb\xd2\xdb\x0a\x79\x9e\x71\x1f\x81\x8a\x05\x89\x06\x87\x06\x2e\xf8" -+"\x60\x05\xfb\x6c\x97\x1d\xc3\x06\xfb\x7a\xfb\xf9\x05\x72\x80\x89\x86\x80\x1f\x76\x80\x7d\x75\x75\x1a\x6e\xe5\x0a\x0e\x2f\x0a\xf8" -+"\x10\xf8\x29\x15\x8c\x8c\x8c\x8b\x8c\x8d\x8f\x64\x0a\x7c\x83\x7b\x7e\x1e\x23\xfb\x0e\x05\x7b\x7a\x86\x82\x65\x0a\x2f\x0a\xb5\xfb" -+"\x72\x23\x1d\x2f\x0a\xf7\x6d\xf7\xbf\x15\x60\x60\x64\x63\x6c\xf7\x2e\x0a\xb2\xb3\xab\x73\xa2\x69\x1f\x82\x06\x0e\x8f\x0a\x3c\x0a" -+"\xf8\x08\x30\x0a\x3c\x0a\xf7\x7c\x59\x1d\x3c\x0a\xf7\x11\xfb\x72\x23\x1d\xf7\x68\xf8\x03\x15\xf7\x3f\xfc\x03\x05\xf4\x06\xf1\xf8" -+"\x61\x05\xcb\x1d\x9a\x97\x95\xe8\x0a\x0e\xf8\x11\x5c\x0a\x2b\xf7\xda\x5f\x0a\x2e\x1d\xe2\xf7\x92\x46\x0a\x6e\x72\x88\x87\x5f\x1d" -+"\xf7\xa9\xf0\x46\x0a\x6e\x72\x88\x87\x5f\x1d\x0e\x2e\x1d\x46\xf7\xa5\x47\x0a\xf7\x35\xec\x15\x8e\x07\x8e\x07\x9a\x81\x95\x7d\x75" -+"\x81\x7c\x5e\x81\x1e\x7c\x47\x05\xf7\x58\x06\xae\xf7\x38\x7f\x8f\x83\x8d\x88\x8d\x19\x60\x9c\x76\xaf\xc4\x1a\xf2\xd3\xe4\xde\xc7" -+"\xb2\x5a\x41\x34\x5a\x44\x3d\x71\x1e\x84\x88\x68\xfb\x38\x05\xf7\x6c\x06\x99\xcd\x05\x8d\x95\x8d\x98\x94\x1a\x9f\x82\x95\x7b\x7a" -+"\x80\x81\x76\x85\x1e\x66\x06\xe4\xc4\xbd\xe6\xf4\x1a\xf7\x1a\x35\xe9\xfb\x0d\x41\x4d\x6d\x4e\x57\x1e\x5b\x52\x70\x42\x41\x1a\x38" -+"\xa9\x4e\xc8\x61\x1e\x43\xf8\x38\xbb\x0a\xf8\x11\x5c\x0a\x0e\xf8\x28\xf8\xd6\x15\x3c\x46\x67\x42\x4c\x1f\x51\x46\x6a\x31\x2c\x1a" -+"\xfb\x20\xd8\x32\xf7\x0e\xe9\xe1\xc0\xed\xca\x1e\xb2\xc9\xa0\xd5\xd8\x1a\xf7\x1f\x3c\xe4\xfb\x0d\x1e\x23\x04\xc5\xad\x5f\x3f\x44" -+"\x77\x4e\x62\x55\x1f\x57\x63\x5e\x71\x5b\x1b\x50\x6a\xb7\xdb\xce\x9f\xc8\xb4\xc0\x1f\xc0\xb4\xb6\xa5\xbc\x1b\xfb\x9e\xb6\x15\x8c" -+"\x9b\x05\x9f\x81\x96\x79\x79\x80\xf7\x18\x0a\x85\x85\x1a\x78\x95\x80\x9d\x9d\x96\x97\xa5\x91\x1e\x0e\xbb\x1d\xf7\x0b\xf7\xac\x15" -+"\xa5\x9d\x91\x93\x6e\x0a\x74\x7a\x82\x80\x7b\x1a\x78\x99\x7e\x9f\x95\x99\x91\x95\x98\x1e\x0e\xf8\x6b\xf8\xad\x15\x98\x06\xa7\x91" -+"\x8c\x94\x98\x1f\x96\x93\x92\x97\x96\x1a\xa1\x7d\x93\x66\x1e\xfb\x17\x06\x61\x74\x7c\x71\x76\x9a\x82\xaf\x1f\x95\x06\x86\x76\x3d" -+"\x82\x56\x78\x56\x65\x19\x3f\x54\x5a\x35\x3b\x1a\x20\xda\x41\xf7\x10\x82\x1e\x86\x77\x05\x80\x06\x7f\x06\x6e\x73\x78\x75\x76\x9b" -+"\x82\xae\x1f\xf7\x17\x06\xa7\x91\x8c\x94\x97\x1f\x97\x93\x92\x96\x97\x1a\xa1\x7d\x93\x66\x1e\x7f\x06\x90\x9f\x05\xf7\x3d\x92\xf7" -+"\x23\xf7\x19\xf7\x2a\x1a\xce\x61\xcd\x4e\xa8\x1e\x6d\x99\x6d\x92\x60\x8f\x08\xfb\x57\xfc\x1b\x15\x47\x91\x5f\xb9\xcc\x1a\xe9\xda" -+"\xdd\xef\x96\x1e\xf7\x01\x16\xd5\x84\xb5\x61\x47\x1a\x2d\x38\x37\x26\x83\x1e\x0e\xc8\x1d\xf7\x94\xf7\x8b\x15\x5e\x91\x76\x9f\xb1" -+"\x1a\x9a\x8f\xa8\x93\xac\x1e\xb2\xf7\x44\x05\x2e\x06\x57\x6c\x74\x64\x71\x99\x7e\xaa\x89\x1f\x7b\x45\x05\x84\x6b\x86\x69\x77\x1a" -+"\x39\xc1\x53\xec\x74\x1e\x82\x63\x05\x5f\x89\x6e\x72\x68\x1a\x6e\x9e\x7e\xb5\x1e\xe3\x06\xbe\xaa\xa2\xb0\xa7\x7c\x98\x68\x8d\x1f" -+"\x94\xb3\x05\xc8\xbf\x9b\xa8\xb2\x1f\xc7\xbe\x91\x97\xaa\xf7\x1d\x9b\xd4\x18\xb4\x8e\xa6\xa3\xad\x1a\xa7\x76\x99\x62\x1e\x30\x06" -+"\x64\xfb\x41\x71\x21\x76\x70\x45\x80\x19\xba\xf7\x69\x05\xb9\x8e\xa5\xa2\xb1\x1a\xaa\x79\x94\x50\x1e\x54\x06\x64\x7a\x88\x84\x7e" -+"\x1f\x7a\x80\x7f\x76\x77\x1a\x70\x9a\x7f\xae\x89\x1e\x0e\x3b\x0a\xf7\x7c\xf8\x36\x77\x1d\x3b\x0a\xd3\xf8\x1a\x15\x2e\xe5\x05\x94" -+"\x81\x83\x8f\x82\x1b\x74\x72\x74\x76\x81\x8f\x84\x99\x7e\x1f\xf7\x17\xfb\x11\xf7\x43\xf7\x10\x99\x95\x92\x91\x8d\x8c\x19\x91\x91" -+"\x90\x98\x94\x1a\x9b\x7c\x99\x7a\x81\x7e\x86\x83\x81\x1e\x0e\x3b\x0a\x7c\xfc\x46\x23\x1d\x99\x0a\x6d\x1d\x5f\xf7\xc8\x77\x1d\xf7" -+"\xe7\x7f\x15\xf7\x21\x96\xef\xe0\xf7\x02\x1a\xba\x6f\xb5\x5d\x9f\x1e\x71\x97\x6c\x93\x55\x95\x3d\x9a\x83\xae\x1d\xb5\xc6\xb0\xcf" -+"\xc7\xb3\x73\x67\x6b\x8b\x8b\x92\x82\x1e\x82\x92\x99\x85\x9a\x1b\x9c\x9c\x93\x98\x98\x1f\x96\x95\x8f\x94\x91\xa5\x9d\xe0\x18\x90" -+"\x9e\x8b\x8d\x93\x1a\xa2\x79\x9b\x72\x76\xb4\x0a\x2d\xfb\x06\x64\xa2\x63\xae\x75\x1f\xa7\x79\xa8\x83\xcd\x7f\xcd\x7f\x98\x88\x9e" -+"\x80\x08\x9a\x83\x94\x7d\x7d\x1a\x60\x49\x67\x3a\x4c\x54\xa6\xaa\x88\x1e\x89\xa6\x8b\x8b\x85\x93\x85\x1d\xa5\x7b\xb7\x7d\xaa\x87" -+"\x76\x2e\x18\x8c\x9c\x95\x8c\x8d\x1b\xa6\x9a\x82\x7b\x7e\x80\x83\x78\x7a\x74\x92\x95\x7b\x1f\x96\x79\x88\x8c\x7f\x1b\x73\xf7\x47" -+"\x1d\xd4\xbf\xba\xcd\xb1\x79\xa1\x64\x94\x1f\x0e\xb5\x1d\xfb\x2f\xf7\xb5\x15\xe4\x31\x05\x82\x36\x0a\xa1\x97\x8a\x8c\x7a\xf7\x17" -+"\x0a\x78\x87\x1d\x6d\x1d\xfb\xb7\xfc\xb4\x23\x1d\xf9\x2f\xf8\xc8\x15\xfc\x4b\x06\x78\x35\xf7\x12\xfb\x51\xfb\x69\xfb\x5a\x77\x30" -+"\x05\xf8\x51\x06\xae\xf7\x32\x05\x8d\x92\x8c\x93\x92\x1a\xa0\x7c\x98\x73\x6a\x79\x7b\x65\x80\x1e\x7b\x52\x05\xfb\x68\x06\xf7\x61" -+"\xf7\x4e\xfb\x08\xf7\x44\x05\xf7\x57\x06\x81\x47\x05\x8a\x84\x8b\x8b\x80\x1a\x73\x99\x7e\xa5\xac\x9e\x9d\xaf\x94\x1e\x0e\x97\x0a" -+"\xf8\x41\xf7\xeb\x15\xa5\xf7\x0a\x05\xf0\x06\x7f\x57\xe6\x0a\x96\x95\x8e\x94\x91\xa6\xae\xf7\x30\x18\xfc\xa0\x06\x69\xfb\x2f\x05" -+"\x86\x78\x8b\x8a\x83\x1a\x74\x9e\x7a\xa4\x9c\x9d\x93\x98\x98\x1e\x95\x95\x90\x95\x90\xa5\x97\xc0\x18\xee\x06\x71\xfb\x0a\x05\x56" -+"\x06\x6b\x83\x89\x7e\x7a\x1f\x7b\xf7\x4e\x1d\x91\x89\xa8\x1b\xbf\x06\x6c\xfb\x1d\x82\x1d\xf7\x7b\x06\xa7\x9b\x8f\x96\x98\x92\x1d" -+"\x4f\x06\xa9\xf7\x1d\x05\xbc\x06\xc0\xa7\xa1\xb5\xa6\x79\x97\x62\x1f\x0e\x57\x0a\xcd\x59\x1d\xf7\xf0\x16\xce\x06\xa7\x9a\x8f\x96" -+"\x99\x92\x1d\x4e\x06\xdb\xf7\xfa\x05\xf0\x06\x78\x37\x05\x88\x7f\x8a\x81\x85\x1a\x74\xf7\x2a\x1d\x8f\x93\x91\xa7\xb5\xf7\x50\x18" -+"\xfc\xa0\x66\x1d\x83\x84\x1a\x74\xcf\x0a\xa6\x9e\xe0\x18\xee\x06\x3b\xfb\xfa\x82\x1d\xdf\x06\x75\x27\x05\x8c\x9c\x94\x8c\x8e\x1b" -+"\xa6\x9a\x82\x7b\x7e\x80\x83\x78\x7a\x74\x92\x95\x7b\x1f\x96\x79\x88\x8c\x7f\x1b\x73\xf7\x47\x1d\xd4\xbf\xba\xcd\xb1\x79\xa0\x64" -+"\x95\x1f\x0e\xf7\xc6\xf7\xcb\x15\x8e\x97\x8c\x98\x05\x9b\x7f\x95\x78\x74\x7a\x7d\x74\x86\x1e\x75\x27\x05\x8a\x86\x8a\x86\x88\xf7" -+"\x1a\x0a\x8f\x9b\x05\xf7\x12\x06\x88\x7d\x05\x8a\x87\x8b\x87\x86\xf7\x1a\x0a\xa1\xef\x05\x8c\x8e\x8b\x8f\x91\x1a\x9b\x7f\x95\x78" -+"\x74\x7b\x7d\x74\x86\x1e\x87\x7d\x05\x86\xf7\x9f\x15\x37\x2d\x60\x46\x46\x1f\x46\x47\x63\x2d\x30\x1a\xfb\x14\xeb\x29\xf7\x13\xf7" -+"\x4e\xf7\x41\xf7\x44\xf7\x4f\xf7\x18\x2b\xeb\xfb\x16\x1e\x76\x24\x15\xda\xc4\x4e\x37\xfb\x0d\xfb\x02\xfb\x0b\xfb\x03\x39\x52\xc7" -+"\xe1\xf7\x0e\xf7\x02\xf7\x09\xf7\x06\x1f\x0e\xf8\xe0\xe1\x1d\x48\x5d\x46\xe4\x0a\x96\x8e\x96\x9a\xe0\x1d\x29\xdc\x44\x93\x1d\xfb" -+"\xa0\xf8\xee\x5f\x0a\x23\x0a\x36\xf8\xa6\x46\x0a\x6f\x73\x87\x86\x5f\x1d\xf7\xa9\xf0\x46\x0a\x6f\x73\x87\x86\x5f\x1d\x0e\x23\x0a" -+"\xfb\x85\xf8\xb9\x15\x64\x71\x77\x6e\x72\x98\x81\xae\x1f\xf7\x89\x06\xb1\xa7\x4b\x0a\x95\x0a\x2c\xdc\x41\xf2\x98\x96\x8b\x8c\x9a" -+"\x1e\x53\x6b\x74\x6a\x5a\x1a\x5e\xc6\x0a\x82\x87\x8e\x93\xa5\x9d\xa0\xe1\xd4\x1f\xe1\xd2\xa4\xaf\xa1\xd9\x08\x0e\xf7\xfc\xf7\x7f" -+"\x29\x0a\x76\x1b\x2f\x34\x1d\x0e\xf7\xfc\xf7\x80\x15\xf7\x65\xf7\x75\x05\xa0\x94\x8d\x8f\x96\x1f\xa2\x95\x9a\xa1\xa2\x1a\xa8\x78" -+"\x98\x61\x1e\x2f\x06\x72\x7c\x88\x84\x7f\x1f\x79\x80\x7f\x77\x77\x1a\x7a\x93\x7f\x9e\x81\x1e\xfb\x03\xfb\x0c\x51\xf7\x0b\x05\xac" -+"\x99\x9a\x9e\xa5\x1a\xa8\x79\x98\x60\x1e\x32\x06\x58\x8c\x6c\x73\x65\x1a\x6f\x9c\x7e\xb1\x8a\x1e\xf7\x02\xfb\x74\x6d\xfb\x19\x05" -+"\x4d\x06\x58\x6c\x40\x1d\xf7\x7a\x06\xbf\xaa\xa2\xb2\xa8\x78\x98\x60\x1f\x50\x06\x5e\xf9\x0d\x15\x7c\x1d\xf7\x61\x16\x7c\x1d\x0e" -+"\xc4\xf8\x99\xbf\x0a\xf7\xe5\xfb\x19\xd0\x0a\x82\x85\x8c\x76\x1b\x2f\x06\x6a\x81\x37\x0a\x7a\x7b\x1a\x77\x93\x7f\x9f\x83\x1e\xfb" -+"\x07\xfb\x0e\x4d\xf7\x0d\x05\xab\x97\x9c\xa0\xa6\x1a\x9c\x80\x9b\x7d\x8f\x1e\x8e\x82\x85\x8c\x76\x1b\x32\x06\x6a\x81\x4e\x1d\x6e" -+"\x9c\x7e\xb2\x1e\xf7\x05\xfb\x74\x6d\xfb\x1a\x05\x4d\x25\x0a\xf7\x7b\x06\xa7\x9a\x3d\x1d\x9c\x52\x1d\x82\x20\x1d\x4e\x06\x0e\x23" -+"\x0a\x31\xf9\x14\xe3\x1d\x0e\xf9\x0f\xf8\x61\x15\xb7\x8c\xa8\xa4\xaf\x1a\x97\x86\x96\x82\x93\x1e\x93\x81\x82\x8d\x6f\x1b\xfb\x15" -+"\x06\x6a\x82\x3a\x1d\xa8\x06\x50\xfb\xa1\x05\x53\x7e\x49\x5d\x45\x1b\x4f\x5f\xae\xba\x90\x8c\x92\xf7\x27\x0a\x97\x8e\x96\x99\x1f" -+"\x9b\x98\x94\x9c\x9d\x1a\x97\x86\x96\x82\x93\x1e\x93\x81\x84\x8d\x6e\x1b\xfb\x16\x25\x1d\x70\x9b\x7d\xad\x8a\x1e\x51\xfb\x98\x05" -+"\x88\x7a\x89\x7b\x7b\x1a\x2c\xdc\x45\x93\x1d\xfb\x18\xf8\x6b\xcc\x1d\x55\x0a\xf8\x16\xf9\x71\x15\xa5\x9d\x91\x93\x9d\x1a\x9d\x7c" -+"\x98\x77\x80\x81\x87\x80\x7c\x1e\xfb\x2b\x21\x05\x73\x7a\x83\x7f\x52\x0a\x99\x91\x95\x99\x1e\x0e\xf7\xca\x6a\x0a\xa9\x1a\x9d\xc7" -+"\x1d\xf7\x8c\xf9\x5e\x15\xe4\x31\x05\x82\x95\x93\x87\x96\x1b\xa3\xa2\xa1\xa1\x97\x8a\x8c\x79\xf7\x17\x0a\x77\x86\x85\x4d\x1d\x95" -+"\x8f\x94\x99\x1e\x0e\x55\x0a\xf7\x0f\xf9\x91\xe3\x0a\xf7\x64\x16\x65\x64\x66\x66\x70\xa3\x73\xa7\xb4\xb0\xae\xb2\xa8\x75\xa1\x6c" -+"\x1f\x0e\x55\x0a\xf7\x00\xf9\xae\x15\x97\x7e\x87\x8d\x7f\x1b\x74\x75\x77\x76\x80\x91\x81\x98\x7f\x1f\xf7\x0c\xfb\x00\x05\x82\x95" -+"\x97\x85\x92\x1b\xa3\xa0\x9f\xa2\x97\x87\x90\x7c\x9a\x1f\x0e\xf8\x86\xf8\x60\x15\x81\x5f\x05\x87\x7a\x8a\x84\x86\x1a\x75\x9e\x7a" -+"\xa5\xae\xa3\xa2\xb6\x94\x1e\xad\xf7\x2a\x05\xfc\x87\x06\x6a\xfb\x28\x05\x89\x7f\x89\x80\x86\x1a\x74\x9e\x7a\xa5\xad\xa3\xa2\xb6" -+"\x94\x1e\x95\xb9\x05\xf7\x1c\xfb\x76\x15\x6b\x8a\x97\x7d\xa5\x1b\xae\x9e\xa0\xbc\x96\x1f\x95\xb9\x05\x8e\x97\x8d\x98\x95\x1a\xa3" -+"\x7d\x98\x73\x70\x79\x7d\x6b\x7e\x1e\x33\x8d\x06\x8d\x07\x8e\x07\xa4\x7e\x99\x73\x69\x76\x74\x5c\x81\x1e\x81\x5d\x05\x86\x77\x8a" -+"\x83\x83\x1a\x75\x99\x7d\xa4\xa6\x9d\x99\xab\x98\x1e\xfb\x11\xfb\x16\x15\x94\xb7\x05\x8e\x99\x8d\x95\x90\x1a\xa1\x78\x9c\x71\x68" -+"\x74\x74\x60\x81\x1e\x6a\xfb\x2a\x05\xf8\x87\x06\xab\xf7\x28\x05\x8f\x9a\x8c\x94\x90\x1a\xa1\x78\x9c\x71\x68\x74\x74\x60\x81\x1e" -+"\x81\x5d\x05\x0e\xf7\xfc\xf7\x7f\x29\x0a\x76\x1b\x2f\x34\x1d\xde\xf8\xf7\x31\x0a\xf8\x2a\xf7\x7f\x29\x0a\x77\x1b\x2e\x34\x1d\x51" -+"\xe9\x1d\xf7\x7c\x71\x0a\xb0\xa1\xa0\xb8\x95\x1e\x99\xcb\x05\x43\x0a\xf7\x26\x30\x0a\xf7\x7c\x71\x0a\xb0\xa1\xa0\xb8\x95\x1e\x99" -+"\xcb\x05\x43\x0a\x94\x80\x1d\xf7\x4e\xf2\x15\xf8\x0f\xf7\xff\xa1\xed\x05\xfc\x34\x06\x66\xfb\x39\x05\x89\x81\x89\x7f\x85\x1a\x75" -+"\x9e\x79\xa3\x9d\x9d\x93\x98\x98\x1e\x95\x95\x8f\x94\x91\xa5\x99\xcb\x18\x43\x0a\x0e\x2d\x1d\xfb\x0a\xf8\x7b\x2b\x0a\xb1\x1d\xad" -+"\xf7\xea\x2f\x1d\xaa\x0a\x93\x0a\xf8\xf3\xf8\xc8\x15\xfc\x7a\x06\x66\x6b\x6f\x69\x70\xa0\x7c\xb4\x1f\xaf\x53\x1d\x80\x34\x0a\xf7" -+"\xb4\x06\xf7\x22\xeb\xd5\xf7\x00\xc1\x77\xb1\x61\xa4\x1f\xa2\x63\x56\x97\x50\x1b\xfb\x0e\x06\xa9\xf7\x12\x05\xf7\x6e\x06\x7e\x5a" -+"\x05\x89\x82\x89\x7f\x83\x1a\x74\x9e\x7a\xa5\xad\xa1\xa1\xb7\x96\x1e\xfc\x1c\xfb\xc4\x15\xa7\xf7\x12\x05\xf7\x12\x06\xdb\xb4\x76" -+"\x60\x62\x66\x76\x40\x1f\x0e\xbd\x1d\xf7\xcf\xc2\x1d\xf8\x34\x16\x86\x67\x05\x89\x7a\x8a\x7e\x86\x1a\x6d\xa1\x76\xaa\xab\x96\x99" -+"\xc3\x98\x1e\x99\xc9\x05\x91\xa4\x8d\x96\x93\x1a\xab\x75\x9c\x60\x8c\x1e\xdb\xf7\xf8\x05\xc3\x8d\x77\x0a\xfb\xd8\x27\x0a\x66\xa2" -+"\x7b\xc3\x1f\x63\xfb\x46\x70\xfb\x0d\x5d\x56\x3a\x87\x19\x73\x06\x6b\xfb\x1b\x05\x87\x77\x88\x7b\x84\x1a\x70\xa2\x76\xa9\xa8\x99" -+"\x9a\xbe\x99\x1e\x9b\xc3\x05\xf7\x84\xf8\x60\x15\xf7\x10\x53\x1d\xfb\x30\x06\xa5\xa6\xa6\xcd\x9d\xd7\x08\x0e\xb4\x1d\xf7\x64\xf7" -+"\x7b\x15\xd7\x06\x88\x7d\x8a\x81\x85\x1a\x74\x9e\x7a\xa4\xaf\xa1\xa0\xb9\x95\x1e\xa3\xf7\x00\xf7\x23\x0a\x73\x75\x76\x80\x7b\x7f" -+"\x1e\x86\x83\x88\x81\x85\x73\x08\x3f\x06\xa7\xf7\x11\x05\xf7\x6e\x06\x82\x60\x05\x87\x7e\x8a\x81\x85\x1a\x75\x9e\x7a\xa5\xae\xa2" -+"\xa1\xb7\x94\x1e\xad\xf7\x29\x05\xfc\x53\x06\x57\x6d\x40\x1d\x94\x53\x1d\x80\xea\x0a\xf8\x67\x06\xac\xf7\x29\x05\x8d\x97\x8d\x96" -+"\x91\x1a\xa1\x77\x9c\x72\x69\x74\x74\x60\x81\x1e\x80\x5c\x05\xfb\x84\x06\xf7\x1a\xef\x0a\x79\x9c\x70\x1f\xf7\x61\x16\xf7\x0d\x0a" -+"\x79\x9c\x70\x1f\x0e\xf7\x6d\xf3\x15\x61\x8a\x75\x79\x69\x1a\x66\xa2\x7d\xca\x1e\xbb\xa7\x1d\x7c\x9a\x69\x93\x1f\xad\xf7\x2d\x93" -+"\x80\x92\x7d\x8e\x7d\x19\xad\xfb\x25\x8c\x84\x8b\x8b\x8e\x80\x19\x87\x8c\x88\x8c\x89\x1e\x69\x93\x9e\x80\xbc\x1b\xb7\xa3\x9e\xad" -+"\xa7\x7a\x9b\x69\x91\x1f\x6b\xf7\x1e\x85\xa3\x80\x9f\x78\x9c\x19\x99\x92\xbf\xca\xb1\xc2\x08\x71\x91\x99\x80\xa6\x1b\xa4\x9a\x9a" -+"\xa9\x92\x1f\x95\xb5\x05\x8e\x98\x8d\x9c\x96\x1a\xa8\x77\x9c\x68\x51\x69\x6c\xfb\x3d\xfb\x13\x1e\xa3\xeb\x05\x8f\x06\xae\xa2\xa1" -+"\xab\xaf\x73\x99\x4c\x1f\x5f\x06\x4f\x74\x7d\x66\x71\x99\x7b\xa9\x82\x1f\x78\x29\x64\xf7\x08\x82\xa2\xf7\x2b\x1d\x87\x7b\x88\x7b" -+"\x82\x1a\x72\xa1\x77\xa7\xa3\x97\x96\xaa\x98\x1e\x94\x5c\x9a\x66\xa3\x6a\x6e\x7d\x75\x78\x79\x71\x21\xfb\x2c\x18\x60\x89\x76\x7b" -+"\x69\x1a\x68\xa2\x7a\xbc\xb4\x92\x90\xb9\xa9\x1e\xef\xf7\x2b\x97\x9d\x94\x95\xa5\xa3\x19\x0e\xf7\xad\xf7\xeb\x15\x59\x73\x7b\x68" -+"\x77\x95\x7a\x9d\x82\x1f\x86\x95\x96\x89\xb1\x1b\xe7\xb0\x7c\x67\x74\x7d\x72\x73\x79\x1f\x76\x6f\x63\x81\x54\x1b\x45\x57\x9a\xb1" -+"\x51\x1f\xa0\x6c\x7b\x92\x7d\x1b\x6f\x70\x70\x70\x70\xa3\x71\xbe\x6d\x1f\x68\xc7\xc9\x7c\xdc\x1b\xf1\xce\x9e\xb7\xbf\x1f\xb8\xb2" -+"\xa5\xbe\xbf\x1a\xb7\x7b\xad\x6a\xa6\x1e\xc4\xb1\xa5\xb6\xc4\x1a\xe2\x41\xc5\xfb\x03\x53\x62\x80\x73\x67\x1e\x8c\x95\x8b\x8d\x8f" -+"\x1a\xa6\x75\xa0\x6c\x6e\x7b\x7a\x63\x85\x1e\x82\x57\x7f\x65\x75\x5f\x08\x7d\x6e\x86\x7e\xf7\x0a\x1d\x0e\x71\x1d\x0e\x71\x1d\xec" -+"\xf8\xc4\x15\x72\x79\x77\x6f\x52\xc5\x60\xd6\xbd\xbe\x9c\xa9\xaf\xf7\x44\x1d\x82\x1e\x68\x7a\x64\x76\x5b\x1b\x5f\x6b\x9f\xa6\x8a" -+"\x1f\xa6\x8a\x84\x94\x78\x1b\x0e\xb8\x1d\x0e\xf8\xbf\xf8\x60\x15\xc3\x8d\xa0\x99\xb0\x1a\xb0\x74\x99\x4b\x1e\xfb\xd7\x27\x0a\x68" -+"\xa4\x79\xbb\x1f\x90\x06\x53\xfb\x90\x79\x40\x72\x65\x67\x86\x19\x90\x9f\x8d\x94\x93\x1a\xa9\x77\x9b\x67\x69\x7d\x7b\x58\x7f\x1e" -+"\x7d\x51\x05\x89\x81\x8a\x85\x87\x1a\x75\xc1\x76\xc5\xf0\xcf\xd4\xf7\x21\xab\x1e\xc5\xf7\x99\x05\xf7\x0f\x06\x3c\xfb\xf9\x05\x54" -+"\x76\x7c\x67\x64\xa2\x7e\xcb\x1f\xd8\x9c\x1d\x9c\x60\x8c\x1f\x0e\x8f\x0a\xf8\x2d\xf7\x7a\x44\x1d\x7b\x1a\x71\x97\x7e\xa8\x45\x0a" -+"\x0e\xf8\x11\x5c\x0a\x0e\xc8\x1d\x99\x0a\x6f\x1d\x0e\x97\x0a\xc5\x1d\x0e\xf8\x30\xf8\x69\x15\xa2\x06\xba\xa7\xa1\xaf\xa6\x7b\x95" -+"\x60\x1f\xfb\x25\x06\x59\x6f\x78\x67\x70\x9d\x7e\xb0\x1f\x9f\x06\x85\x70\x05\x68\x06\x3f\x53\x79\x68\x64\x1f\x67\x6a\x76\x5b\x58" -+"\x1a\x35\xc4\x5c\xf2\x1e\xab\x06\x85\x6e\x05\x74\x06\x5e\x6d\x75\x69\x71\x9d\x7e\xb1\x1f\xf7\x2d\x06\xb8\xaa\xa2\xac\xa5\x79\x98" -+"\x67\x1f\x73\x06\x91\xa8\x05\xa2\x06\xdb\xc6\x9e\xb2\xb3\x1f\xb1\xaf\xa0\xbe\xc0\x1a\xdc\x57\xb2\x22\x1e\x6a\x06\xfb\x15\x28\x15" -+"\x6e\xfb\x0d\x05\x79\x06\x50\x6e\x9d\xaf\xb5\xb3\xa4\xcf\x1f\xf7\x1b\x16\xa2\x06\xc1\xa5\x7d\x6e\x75\x7c\x72\x74\x7d\x1f\x7f\x79" -+"\x72\x86\x5f\x1b\x84\x06\x0e\x8c\x0a\xf8\x40\x16\x82\x5a\x05\x88\x80\x8a\x7e\x83\x1a\x71\x9c\x7c\xa8\xad\xa0\xa0\xb9\x95\x1e\xb1" -+"\xf7\x33\x05\x29\x06\xda\xf7\xf9\xa0\x0a\x0e\xf7\xfc\xf3\x15\x51\x06\x4c\x74\x7d\x65\x65\xa1\x7d\xcb\x1f\xf7\x28\x9c\x1d\x9d\x5e" -+"\x8c\x1f\xda\xf7\xf9\x05\xc5\x8c\x7d\x1d\x05\x60\x44\x5d\x7a\x61\x1b\x70\x7e\x94\x9d\x96\x8e\xa0\x8e\x98\x1f\xa5\xf7\x09\x05\xcc" -+"\xa0\x98\xb1\xb2\x74\x98\x4b\x1f\xc5\x0a\x74\x88\x74\x7c\x1a\x44\xc5\x59\xdd\xbb\xb7\x96\xa4\xbc\x1e\x0e\xf8\x87\xf3\x15\xd8\xf7" -+"\xf8\x05\xa2\x06\xb1\xaa\xa8\xac\xa7\x76\x99\x63\x1f\xfb\x0a\x06\x28\xfc\x60\x05\x40\x06\xda\xf7\xf9\xf7\x12\x1d\x3c\xfb\xf9\x05" -+"\x3f\x06\xee\xf8\x60\x05\xfb\x06\x06\x58\x6c\x74\x65\x6c\x99\x81\xbb\x8a\x1f\x42\xfb\xf9\x2d\x0a\xf8\x78\x7d\x0a\x0e\xf7\x63\xf2" -+"\x15\x3f\x06\xee\xf8\x61\x05\xfb\x06\x06\x58\x6c\x74\x65\x6c\x99\x81\xbb\x89\x1f\x42\xfb\xf8\x2d\x0a\xf8\x5a\x06\x7e\x56\x05\x89" -+"\x81\x8a\x81\x82\x1a\x71\x9c\x7d\xaa\xb4\xa2\xa7\xc6\x93\x1e\x9e\xf7\x1e\x05\x29\x06\xd9\xf7\xf9\x05\xa2\x06\xb0\xab\xa8\xac\xa6" -+"\x76\x9a\x63\x1f\xfb\x09\x06\x27\xfc\x61\x05\x40\x06\xda\xf7\xfa\xf7\x12\x1d\x0e\xf7\x15\xf8\x60\x15\xf7\x11\x06\x3c\xfb\xf8\x05" -+"\x80\x06\x59\x6b\x74\x66\x6d\x9f\x7d\xb4\x1f\xf7\x74\x06\xcc\xcb\x9d\xa9\xb5\x1f\xb3\xa8\xa5\xc2\xc0\x1a\xee\x43\xbd\xfb\x22\x1e" -+"\x52\x06\xa8\xf7\x12\x05\xbd\x06\xb1\xaa\xa7\xad\xa7\x76\x99\x62\x1f\xfc\x0b\x06\x61\xfb\x4e\x05\x88\x7d\x8a\x82\x84\x70\x0a\xf7" -+"\x42\xfb\xa3\x15\xa7\xf7\x12\x05\xc8\x06\xe2\xad\x7a\x5f\x60\x66\x75\x40\x1f\x0e\xf7\x65\xf8\x60\x15\xbb\x06\xaf\xab\xa8\xac\xa7" -+"\x76\x99\x63\x1f\xfb\x2b\xf7\x13\x0a\x3b\xfb\xf8\x05\x5d\x89\x73\x78\x66\x1a\x6c\x9d\x7c\xb1\x1e\xf7\x23\x06\xf7\x1b\xe3\xd4\xf7" -+"\x04\xea\x47\xc1\xfb\x0c\x1f\x85\x06\x5a\xfb\x7a\x15\xa7\xf7\x13\x05\x95\x06\xce\xa6\x7a\x60\x5e\x6b\x75\x4b\x1f\xf7\x81\x8a\x15" -+"\x64\x88\x74\x73\x68\x1a\x70\xa0\x7d\xb2\x1e\xe4\x06\xbf\xaa\xa2\xb1\xaa\x7c\x96\x5c\x8c\x1f\xda\xf7\xf9\x05\xb0\x91\x9e\x9f\xab" -+"\x1a\xaa\x78\x99\x61\x1e\x30\x06\x56\x6e\x75\x65\x6d\x9f\x7d\xb4\x1f\x94\x06\x0e\xf7\xa0\xf8\x60\x15\xbc\x06\xb0\xab\xa8\xac\xa7" -+"\x76\x99\x63\x1f\xfb\x2d\x34\x0a\x94\x53\x1d\x80\x34\x0a\xf7\xaa\x06\xf7\x2d\xe8\xd2\xf7\x09\xaf\x7f\xab\x75\xa3\x1f\xac\x6c\x43" -+"\xa0\x36\x1b\xfb\x04\x06\x5a\xfb\x7a\x15\xa7\xf7\x12\x05\xf7\x07\x06\xeb\xad\x7b\x5f\x5c\x68\x78\x36\x1f\x0e\xf7\xbc\xf7\xdc\x15" -+"\x63\x75\x79\x69\x69\xa0\x79\xb4\x1f\xf7\x1c\x06\x2f\x60\x50\x61\x32\x1b\x5a\x5e\x9b\xad\x59\x1f\x9b\x73\x7d\x91\x7c\x1b\x71\x71" -+"\x72\x72\x70\xa5\x6f\xbc\x6f\x1f\x6d\xc2\xbe\x7e\xca\x1b\xf0\xd9\xad\xd4\xca\x1f\xc5\xce\xaa\xe1\xe7\x1a\xf7\x25\x37\xea\xfb\x16" -+"\x5c\x69\x82\x73\x63\x1e\x8c\x90\x8b\x8d\x8e\x1a\xab\x78\x9d\x69\x6a\x7d\x7a\x5c\x85\x1e\x87\x62\x81\x68\x79\x63\x08\x7d\x6d\x87" -+"\x7e\x80\x1a\x75\xa2\x76\xa4\xa1\x9b\x98\xaa\x9b\x1e\xd2\xb2\xba\xaa\xd1\x1b\xb2\xac\x7e\x74\x9f\x1f\x9d\x77\x92\x6d\x8e\x4f\x08" -+"\x0e\xf7\x68\xf7\x7a\x15\x8a\x7a\x8b\x88\x86\x1a\xfb\x1b\xce\x37\xf7\x00\xd9\xc7\xb1\xde\xbe\x1e\xba\xd6\xa3\xe1\xe4\x1a\xf7\x21" -+"\x4c\xdb\xfb\x03\x3a\x50\x65\x36\x56\x1e\x71\x62\x7b\x64\x82\x62\x08\x5c\x06\xa7\xf7\x12\x05\xc1\x8e\xa7\x9f\xb0\x1a\xa9\x77\x99" -+"\x62\x1e\x32\x06\x59\x6b\x73\x67\x71\x98\x7e\xa8\x87\x1f\x3b\xfb\xfa\x05\x5f\x8a\x6e\x72\x69\x1a\x6e\xa0\x7d\xb3\x1e\xf7\x01\x06" -+"\xbd\x7e\x0a\xa7\xf7\x13\x05\xf7\xc2\xf7\x89\x15\xbf\xa5\x60\x34\xfb\x1e\x4c\xfb\x09\x40\x55\x70\xb6\xe0\xf7\x28\xc7\xf7\x01\xdc" -+"\x1f\x0e\xf8\xa6\xf8\x60\x15\xc3\x8d\xa0\x99\xaf\x1a\xb1\x74\x99\x4b\x1e\xfb\x31\x06\x31\x4b\x7b\x69\x64\x1f\x67\x6d\x76\x5d\x5d" -+"\x1a\x4b\xaa\x64\xd0\x73\x1e\x7a\x7d\x74\x73\x7a\x74\x87\x86\x18\x87\x85\x87\x85\x86\x85\x7a\x75\x7b\x76\x7a\x76\x81\x7e\x18\x6e" -+"\x06\x61\x74\x79\x69\x77\x95\x7b\x9b\x83\x1f\x85\x97\x9e\x89\xb6\x1b\xb8\x8f\x8d\xca\xba\x1f\xf7\x15\xf7\x41\x8f\x8f\xae\x8d\x08" -+"\xa4\x06\x69\xfb\x20\x05\x79\x06\x62\x73\x77\x6a\x66\xa2\x7d\xcb\x1f\xde\x06\xca\xa3\x99\xb0\xad\x76\x9c\x5f\x8c\x1f\x70\xf7\xf9" -+"\x15\x72\xfb\x04\x05\x3d\x06\x3e\x76\x95\xae\xb7\xac\xa2\xcc\x1f\x0e\xf8\xb5\xf8\xc8\x15\xfc\x04\x06\x6e\x7d\x87\x80\x7d\xe0\x0a" -+"\xbe\x06\x3c\xfb\xfa\x05\x55\x06\x6c\x80\x88\x7f\x7c\xe0\x0a\xf7\x69\x5e\x1d\x58\x06\xda\xf7\xfa\x05\xf7\xcf\x06\xb5\xf7\x4e\x05" -+"\x8e\x97\x8c\x95\x92\x1a\xa2\x79\x9c\x71\x7a\x7a\x84\x7d\x7d\x1e\x81\x81\x87\x82\x85\x70\x08\x0e\xf7\x9d\xf7\x51\x15\xb2\xd6\xb5" -+"\x9a\xad\x1b\xac\x9a\x79\x64\x6b\x80\x69\x7d\x7d\x1f\x84\x84\x7f\x87\x74\x87\x08\x5d\x82\x78\x7b\x6d\x1a\x6a\xa3\x79\xb5\xed\xd8" -+"\xe4\xf7\x05\xf3\x59\xc3\x2e\x63\x63\x80\x6f\x4f\x1e\xad\xf7\x2e\x05\xc0\x06\x86\x76\x8a\x82\x82\x1a\x6a\x9e\x79\xae\xae\x9a\x9f" -+"\xc2\x92\x1e\x8f\xa7\x05\x90\xab\x8b\x8b\x90\x1a\xb2\x76\x98\x49\x1e\xfb\x8e\x06\x45\x8a\x86\x87\x78\x4e\x81\x68\x18\x83\x6e\x89" -+"\x81\x84\x1a\x72\xa2\x76\xa8\xa8\x97\x98\xbc\x9b\x1e\x94\xa8\x05\xc3\x06\x3c\xfb\xfb\x05\x4d\x8c\x74\x7d\x65\x1a\x64\xa1\x7e\xcc" -+"\x1e\xe2\x06\xca\xa2\x99\xb1\xad\x77\x9b\x5e\x8c\x1f\x0e\xf7\x39\xf8\x60\x15\x3c\xfb\xf8\x44\x0a\xdb\xf7\xf8\x05\xf7\x8b\x06\x79" -+"\x39\x05\x88\x80\x8a\x80\x84\x1a\x74\x9e\x7a\xa5\xad\xa2\xa2\xb6\x95\x1e\xb5\xf7\x51\x05\xfc\x98\xf7\x6c\x1d\xf7\xd4\xf7\x8f\x15" -+"\x9d\x97\x94\x97\x22\x0a\x7b\x82\x81\x87\x82\x7d\x8d\x1d\xf7\x3e\xf7\xe3\x15\xe2\xb0\xd5\xbf\xe4\x1b\xc8\xc2\x6d\x69\x1f\x77\x07" -+"\x71\x9a\x7d\xa6\xae\xa3\xa2\xb6\x94\x1e\x9d\xdb\x05\x8d\x94\x8d\x98\x92\x1a\xa1\x78\x9c\x73\x78\x7d\x85\x7a\x7a\x1e\xa4\x64\x5f" -+"\x97\x54\x1b\xfb\x31\xfb\x22\xfb\x08\xfb\x31\x67\x1f\x7d\x4c\x05\x87\x7a\x89\x7a\x7b\x1a\x51\xa1\x58\xb5\x65\x1e\x63\xb7\xc6\x78" -+"\xdd\x1b\xf7\x16\xf7\x19\xce\xcc\xa2\x77\x9e\x73\x7c\x7b\x84\x7a\x75\x1f\x68\x5f\x68\x80\x4c\x1b\x27\x4d\xb7\xd1\x95\x8b\x92\x8c" -+"\x95\x1f\xf7\x73\x06\xbc\xa5\x9e\xad\xaa\x73\x9f\x66\x1f\x0e\xb5\x1d\x0e\x58\x0a\xd9\x1d\x78\xef\x0a\x78\x9c\x71\x1f\xf7\x61\x16" -+"\x69\x6c\x6e\x6b\x72\x9d\x7a\xa6\xad\xaa\xa8\xac\xa3\x79\x9c\x70\x1f\x0e\xf8\xb9\x94\x1d\x9b\x97\x94\x9d\x9b\x1a\x9c\x80\x9c\x7d" -+"\x8f\x1e\x8e\x82\x84\x8c\x77\x62\x0a\x82\x60\x86\xa3\x1d\x67\x1b\x6b\x6f\x93\x9f\x5e\xe4\x1d\xf7\xc9\xf8\x60\x15\xb6\x06\x3c\xfb" -+"\xf9\x05\x65\x87\x79\x7a\x6d\x1a\x69\xa5\x79\xbc\x1e\xb6\x06\xdc\xc7\x9d\xb0\xb5\x1f\xb3\xaf\xa1\xbc\xc3\x1a\xe4\x5e\xb7\x25\x97" -+"\x1e\xa7\xf7\x0b\x05\xcb\x8c\xa0\x98\xb1\x1a\xb1\x74\x99\x4b\x1e\xfb\x8f\x06\x4a\x75\x7e\x63\x69\x9f\x7a\xb1\x1f\xa0\x06\x52\xfb" -+"\x90\x7b\x41\x6b\x5c\x6a\x8d\x19\x8f\xa5\x8c\x92\x92\x1a\xa7\x77\x9b\x67\x68\x7d\x7c\x5b\x82\x1e\x80\x55\x05\x89\x80\x8a\x85\x86" -+"\x1a\x7b\x92\x80\x9c\x84\x1e\x82\x9d\xb0\x85\xac\x1b\xf3\xca\xce\xf7\x27\xac\x1f\xf7\x34\xb2\x15\xb6\x88\x9d\x7c\x6a\x1a\x5a\x6d" -+"\x70\x4e\x84\x1e\x0e\xf7\xbc\xf7\x7a\x15\x6e\xfb\x13\x05\x64\x84\x78\x77\x6a\x1a\x6b\x9a\x80\xb6\x1e\xf7\x01\x06\xd7\xd1\xa2\xb0" -+"\xb1\x1f\xab\xaa\x9e\xbe\xc0\x1a\xbc\x79\xad\x66\xa3\x1e\x9f\x6a\x62\x97\x64\x1b\x79\x06\xa9\xf7\x12\x05\xbb\x7d\x0a\xfb\x16\x06" -+"\x5a\x6b\x73\x67\x6f\x9a\x7e\xac\x88\x1f\x6f\xfb\x12\x05\xfb\x0d\x2b\x1d\xae\x91\xa3\xa4\xa9\x1a\xa6\x78\x9a\x67\x1e\x44\x06\x58" -+"\x6b\x72\x64\x75\x99\x7e\xa7\x87\x1f\x3b\xfb\xfa\x05\x8a\x89\x8b\x8b\x88\x1b\x62\x85\x76\x77\x6a\x1a\x6e\x9f\x7d\xb4\x1e\xe1\x06" -+"\xba\xab\xa4\xb1\xa4\x7b\x98\x69\x8d\x1f\xa7\xf7\x13\x05\xf7\x63\xfb\x13\x15\xa7\xf7\x13\x05\x95\x06\xc3\xa6\x77\x63\x5f\x6c\x74" -+"\x4c\x1f\x0e\xf7\xd9\xf8\x60\x15\xc2\x06\x89\x7e\x05\x89\x7e\x89\x7d\x85\x1a\x73\xa3\x77\xa7\xa9\x9b\x9c\xb3\x92\x1e\x8c\x92\x8c" -+"\x93\x91\xaa\x05\x8e\x9a\x8d\x98\x96\x1a\xb2\x76\x98\x4a\x1e\xfb\x90\x06\x64\x72\x86\x84\x86\x1f\x85\x87\x80\x73\x83\x71\x7c\x5b" -+"\x18\x84\x73\x88\x7f\x85\x1a\x74\x9f\x7a\xa5\xad\x9a\x9b\xbf\x9e\x1e\x94\xa3\x05\xc3\x06\x3d\xfb\xf9\x05\x4c\x8c\x74\x7d\x64\x1a" -+"\x66\xa2\x7d\xcb\x1e\xd7\x06\xcb\xa2\x99\xb0\xaa\x7a\x9b\x65\x90\x1f\xa0\xe4\x05\xb5\xc5\xad\x9b\xaa\x1b\xa2\x98\x7f\x76\x80\x89" -+"\x81\x87\x79\x1f\x7a\x40\x05\x57\x8a\x76\x7c\x68\x1a\x65\xa2\x7d\xcb\x1e\xc6\xa7\x1d\x7a\x9c\x69\x91\x1f\x9c\xcf\x05\x8f\x9f\x8d" -+"\x96\x98\x1a\xdb\x53\xc6\x40\x67\x6d\x83\x75\x61\x1e\x0e\xb8\x1d\x55\xf7\x9d\x15\x9d\x96\x94\x98\x22\x0a\x7c\x81\xf7\x16\x1d\x99" -+"\x1e\x0e\xc5\x1d\x5d\xf8\x77\x15\x71\x7a\x77\x6f\x52\xc5\x60\xd7\xbc\xbe\x9c\xa9\xb0\xf7\x44\x1d\x81\x1e\x67\x7a\x65\x77\x5a\x1b" -+"\x5f\x6c\x9e\xa7\x89\x1f\xa6\x8a\x84\x94\x78\x1b\x0e\xf7\xe5\xbc\x0a\x7d\x32\x1d\x8b\x77\x1b\x7f\x06\xcc\x0a\x2a\x7b\x7b\x67\x1e" -+"\x76\x4f\x1d\x73\x9d\x7a\xa3\x73\x1d\x0e\xf8\x1a\xf8\x4c\x15\xd4\xb6\x98\xab\xa7\x1f\xa0\xa2\x9c\xb5\xaa\x1a\xa7\x72\xa2\x6d\x6e" -+"\x79\x79\x64\x82\x1e\x88\x7d\x88\x82\x87\x85\x08\x88\x8a\x79\x88\x6f\x1b\x37\x06\x2a\x47\x62\x35\x5c\x1f\x63\x41\x73\x33\x42\x1a" -+"\xfb\x06\xe5\x3d\xf7\x16\xf7\x32\xf7\x11\xf7\x01\xf7\x1e\xf7\x00\x3b\xd7\xfb\x08\x5e\x66\x82\x75\x5c\x1e\x9f\xb6\x9b\x95\xc0\x8c" -+"\x08\x9c\xfb\x13\x15\xd6\xaf\x6f\x50\x3d\x42\x51\x29\x42\x61\xad\xc5\xd9\xd2\xc0\xf3\x1f\x0e\xd5\xf1\x15\x81\x06\x55\x6e\x77\x67" -+"\x6c\xa1\x7c\xb5\x1f\xf7\xa3\x06\xf7\x2c\xe2\xb8\xda\xb6\x70\xa5\x4c\x9c\x1f\xcc\x9e\xaf\xb2\xbd\x1a\xce\x4b\xb3\x22\x1e\xfb\xa0" -+"\xf7\x12\x0a\xec\x52\x15\x97\xc4\x05\xf7\x27\x06\xc1\xa8\x83\x7c\x73\x66\x81\x2b\x1f\xfb\x23\xfb\x36\x15\x97\xc5\x05\xf7\x18\x06" -+"\xe3\xab\x83\x75\x76\x70\x84\x3d\x1f\x0e\xa2\x0a\x0e\xf8\x27\x16\x86\x71\x05\x88\x7f\x8a\x80\x81\x1a\x6d\xa1\x75\xa8\xa8\x9d\x9e" -+"\xb4\x94\x1e\x99\xca\x05\x8f\x9c\x8d\x99\x95\x1a\xaa\x79\x9b\x66\x8f\x1e\xbb\xf7\x6d\x05\xc1\x8d\x9f\x99\xae\x1a\xb2\x74\x99\x4b" -+"\x1e\xfb\xc0\x06\x4c\x74\x7d\x65\x68\x9f\x7c\xbf\x89\x1f\x73\x20\x78\x39\x62\x6e\x28\x8c\x19\x6e\xfb\x12\x05\x86\x77\x89\x7d\x83" -+"\x1a\x70\xa1\x76\xa8\xa8\x99\x9b\xbd\x99\x1e\x98\xb9\x05\xf7\x63\xf7\xd5\x15\xf7\x01\x06\x5b\xfb\x6d\x05\xfb\x15\x06\x9e\xa8\x99" -+"\xab\x94\xb2\x08\x0e\xf8\xb4\xcf\x1d\x0e\xf8\xb0\xf7\x34\x15\x95\xb7\x05\x8e\x98\x8d\x9b\x9c\x1a\xf7\x05\x37\xd5\xfb\x14\xfb\x3d" -+"\xfb\x27\xfb\x13\xfb\x26\xfb\x02\xe0\x46\xf7\x1c\xd6\xf7\x00\x9d\xa0\xbd\x1e\xa4\x95\x9b\xa1\xa3\x1a\xa2\x79\x9c\x74\x80\x7a\x88" -+"\x85\x6e\x1e\x7a\x42\x65\x86\x60\x1b\x42\x5f\xa3\xba\x7e\x1f\xa7\xf3\x15\xba\xb4\xbc\xa2\xca\x1b\xc8\xb3\x74\x5c\x9e\x1f\xfb\x35" -+"\xf7\xdc\x15\x69\x6c\x6e\x6b\x72\x68\x0a\x9d\x79\xa5\xae\xaa\xa8\xad\xa3\x79\x9c\x70\x1f\x0e\xf7\x74\xf2\x15\xf7\x09\x1d\x83\x93" -+"\x77\x19\xa8\x3f\xa1\x52\x91\x86\xb3\x89\x19\x9f\x06\xab\xa3\xa1\xaa\xa8\x7a\x9b\x67\x90\x1f\x74\xc8\x81\xa5\x7b\xa5\x7d\x95\x19" -+"\x9d\x98\xa3\xa2\xa5\xa9\x08\x6f\x91\x99\x7f\xa7\x1b\xaa\x96\x99\xbd\x97\x1f\x92\xaa\x05\x8e\x97\x8c\x94\x92\x1a\xa7\x73\xa1\x6b" -+"\x65\x65\x76\x60\x65\x1e\x42\x3a\x92\xb5\x05\xa7\x93\x99\x9c\xa5\x1a\xad\x72\x9d\x5a\x1e\x65\x06\x5c\x71\x78\x6a\x73\x95\x7d\xa4" -+"\x7f\x1f\x83\x5f\x65\xd3\x05\xc3\x6d\x73\x9d\x5e\x1b\x6c\x78\x81\x73\x7f\x1f\x81\x77\x85\x71\x72\x1a\x6d\x9e\x78\xa9\xa2\x99\x96" -+"\xa6\x94\x1e\x9f\x62\x91\x81\x9b\x77\x73\x81\x79\x7e\x7d\x79\x3d\x2e\x18\x7e\x06\x69\x72\x75\x6d\x6e\xa3\x74\xaa\x1f\xa6\x06\xa5" -+"\x8c\x8c\x8c\xaf\xb5\xda\xec\x18\x99\x9c\x9a\x9a\x9a\x96\x08\x0e\xf7\x82\xf8\x2c\x15\x8f\x07\xab\x79\x9c\x6b\x66\x7f\x79\x4c\x84" -+"\x1e\x89\x72\x85\x75\x81\x70\x08\x84\x76\x87\x7b\x83\x1a\x73\xa1\x77\xa6\xa1\x98\x95\xa8\x99\x1e\xc7\xa8\xa8\x9b\xe1\x1b\xbd\xac" -+"\x81\x7b\x77\x67\x7d\x55\x8a\x1f\x60\x8a\x8b\x8b\x82\x89\x08\x71\x85\x7d\x7a\x72\x1a\x72\x96\x7c\xa3\x83\x1e\x98\x87\x92\x8a\xb0" -+"\x8a\x08\xb6\x8a\xa9\x80\x7e\x1a\x72\x50\x74\x49\x47\x56\x99\xab\x53\x1e\x99\x71\x7c\x91\x7e\x1b\x70\x71\x71\x6f\x73\x9a\x78\xb0" -+"\x77\x1f\x67\xcf\xd2\x79\xda\x1b\xdd\xc5\x99\xab\xba\x1f\xb4\xa7\xa3\xb1\xb2\x1a\xb1\x7a\xa3\x65\x9d\x1e\xbc\x9f\xa3\xab\xb8\x1a" -+"\xd2\x42\xbd\x23\x5a\x63\x81\x74\x65\x1e\x0e\x59\x0a\x0e\x59\x0a\xca\xf8\x4b\x15\x72\x79\x77\x6f\x52\xc5\x60\xd7\xbd\xbc\x9c\xa9" -+"\xb0\xac\x1d\x9b\x80\x96\x79\x7a\x80\x83\x78\x82\x1e\x68\x7a\x64\x76\x5c\x1b\x5e\x6c\x9e\xa7\x89\x1f\xa6\x89\x85\x94\x78\x1b\x0e" -+"\x90\x0a\x0e\xf8\x96\xf7\xd5\x15\xbf\x8c\xa0\x9a\xaf\x1a\xb1\x74\x99\x4c\x1e\xfb\xb6\x06\x4b\x74\x7d\x66\x68\xa4\x79\xbb\x1f\x8f" -+"\x06\x8e\x06\x68\xfb\x31\x81\x5e\x75\x74\x69\x8a\x19\xb4\x89\x7d\x9c\x6a\x1b\x6a\x7e\x7c\x56\x80\x1f\x81\x61\x05\x8a\x85\x8a\x85" -+"\x88\x1a\x74\xb6\x7a\xc4\xf0\xcc\xc4\xf6\xa4\x1e\xb0\xf7\x3d\x05\xe7\x06\x5a\xfb\x6e\x05\x58\x75\x7b\x68\x65\xa1\x7d\xcb\x1f\xcf" -+"\x06\xcb\xa2\x99\xb0\xab\x78\x9c\x63\x8e\x1f\x0e\xf7\x42\xf7\x95\x15\xcb\xfb\x1f\x05\xe2\x06\xf7\x17\xf7\x18\x63\xfb\x26\x05\x6b" -+"\x06\x59\x6b\x73\x66\x6e\x9f\x7d\xb4\x1f\xf7\x15\x06\xbd\xab\xa2\xb0\xa7\x7c\x98\x68\x8d\x1f\xba\xf7\x6f\xf7\x58\x1d\x36\x06\xfb" -+"\x53\xfb\x58\x2b\xf7\x58\x05\x37\x06\x59\x6b\x73\x66\x72\x98\x7e\xa8\x87\x1f\x5b\xfb\x6e\x05\x88\x06\x64\x6c\x6f\x69\x70\xa0\x7c" -+"\xb3\x1f\xf7\x15\x06\xbd\xab\xa4\xb1\xa5\x75\x9a\x64\x1f\x6e\x06\x0e\xf8\x1e\xf7\x36\x15\x7e\x50\x05\x85\x06\x59\x6b\x74\x66\x6e" -+"\xa0\x7d\xb4\x1f\xf7\x0c\x06\xbd\xab\xa4\xb1\xa5\x75\x99\x64\x1f\x84\x06\xbb\xf7\x6f\xa6\x0a\x89\x87\x81\x1f\x77\x82\x7a\x73\x75" -+"\x1a\x70\xa0\x7c\xb3\x1e\xf7\x0d\x06\xbc\x7e\x0a\x98\xc6\x05\x0e\xd8\x1d\xf8\x30\xf7\xd5\x15\x5c\xfb\x6e\x05\x7f\x06\x59\x6b\x73" -+"\x64\x71\xa1\x7d\xb2\x1f\xf7\x0d\x06\xbe\xaa\xa2\xb1\xaa\x7c\x96\x5c\x1f\xbb\xf7\x6e\x05\xb2\x90\xa4\xa3\xac\x1a\xa7\x76\x99\x63" -+"\x1e\xfc\x18\x06\x55\x6e\x76\x63\x6e\x9a\x7d\xa9\x1f\x91\x06\x5c\xfb\x6e\x05\x73\x7d\x8a\x86\xcd\x0a\xbb\xf7\x6e\x05\x0e\xf7\x23" -+"\x91\x0a\xf8\xd8\x7a\x0a\x9d\x69\x5c\x94\x55\x1b\x2d\x5a\x0a\x0e\xf8\x00\xf7\xd5\x15\xec\x06\x78\x38\x05\x89\x7f\x89\x80\x85\x70" -+"\x0a\xb5\xf7\x51\x05\xfc\x9a\x66\x1d\x81\x85\x1a\x75\x9f\x7a\xa4\xad\xa3\xa2\xb6\x94\x1e\x9e\xe0\x05\xeb\x06\x5c\xfb\x6d\x05\x4d" -+"\x06\x59\x6b\x72\x64\x72\xa1\x7c\xb2\x1f\xf7\x7a\xf7\x6a\x1d\x4f\x06\x0e\xf7\x53\x92\x58\x1d\x0e\xf7\xc7\x89\x15\x87\xa0\x9a\x8a" -+"\x9a\x1b\xca\xbc\xa8\xc7\xb2\x1f\xae\xc2\x9e\xcd\xd0\x1a\xf4\x5f\xc5\x3c\x7f\x83\x8a\x89\x7e\x1e\x98\xcb\x05\x90\xa0\x8d\x99\x92" -+"\x1a\xa7\x74\xa0\x6b\x1e\x6a\x8a\x74\x89\x05\x4d\x85\x77\x7f\x68\x1a\x6b\xa1\x77\xaf\x8d\x90\x8b\x8c\x92\x1e\x81\x5a\x05\x8f\x76" -+"\x7f\x8c\x7f\x1b\x59\x58\x6f\x59\x61\x1f\x5d\x55\x75\x4a\x3f\x1a\x51\x97\x64\xa5\x6c\x1e\x70\xa2\xab\x7c\xac\x1b\x96\x93\x8c\x8e" -+"\x9a\x1f\x84\x72\x05\x77\x06\x4b\x74\x7e\x65\x64\xa1\x7e\xcc\x1f\xf7\x1b\x06\xcc\xa2\x98\xb1\xb2\x75\x98\x49\x1f\x85\x06\x38\xf7" -+"\x12\x15\x87\x7d\x82\x89\x82\x1b\x71\x7e\xa1\xb8\xe0\xc0\xe3\xbe\x91\x8f\x8b\x89\x94\x1f\xf7\x04\x16\x8d\x99\x91\x8b\x93\x1b\xa7" -+"\x9b\x74\x62\x67\x82\x62\x7a\x66\x1f\x5f\x76\x74\x79\x66\x1b\x86\x89\x8b\x8d\x83\x1f\x0e\xf8\x12\xec\x0a\x9d\x9b\x1a\x9c\x80\x9b" -+"\x7d\x8d\x0a\xf8\xd7\xf3\x15\x2c\x06\xba\xf7\x6e\xf7\x62\x1d\xa0\x1a\xa7\x76\x9a\x63\x1e\xfb\x0d\x06\x5a\x6a\x72\x65\x71\xa1\x7d" -+"\xb2\x1f\x95\x06\x5b\xfb\x6e\x05\xfb\x63\x06\xba\xf7\x6e\x05\x97\x06\xbd\xab\xa2\xaf\xa8\x76\x9a\x63\x1f\xfb\x0d\x60\x1d\x5c\xfb" -+"\x6e\x2d\x0a\xf8\x1d\x06\x81\x61\x05\x88\x7d\x89\x80\x86\x1a\x75\xa1\x7a\xa7\xac\x9f\xa0\xb9\x95\x1e\x0e\xf7\xf4\xf3\x15\x54\x06" -+"\x4b\x74\x7d\x65\x65\xa1\x7d\xcc\x1f\xf7\x1e\x06\xcb\xa2\x99\xb0\xac\x78\x9c\x61\x8e\x1f\xcd\x1d\x0e\xf8\x87\xf3\x15\xbb\xf7\x5b" -+"\x1d\x62\x1f\xfb\x09\x06\x45\xf7\x0f\x1d\x75\x95\x7e\xa2\x84\x1f\x59\xfb\x6f\x05\x3f\x06\xd1\xf7\xd5\x05\xfb\x06\x60\x1d\x5f\xfb" -+"\x6e\x2d\x0a\xf8\x78\x7d\x0a\x0e\xf7\x63\xf3\x15\x3f\x06\xd1\xf7\xd5\x05\xfb\x06\x60\x1d\x5f\xfb\x6e\x2d\x0a\xf8\x4f\x06\x7f\x61" -+"\x05\x88\x81\x89\x81\x82\x1a\x70\x9c\x7e\xac\xb4\x98\x9a\xd2\x9c\x1e\xaa\xf7\x15\x05\x28\x06\xbc\xf7\x5b\x1d\x63\x1f\xfb\x09\x06" -+"\x44\xf7\x0f\x1d\x74\x96\x7d\xa1\x86\x1f\x0e\xbd\xf8\x3d\x15\xf7\x18\x1d\xf1\x06\x5e\xfb\x6f\x05\x81\x06\x55\x6e\x77\x67\x6c\xa1" -+"\x7c\xb5\x1f\xf7\x29\x06\xe1\xc6\x97\xa4\xac\x1f\xaa\xa1\x9c\xaf\xb3\x1a\xdd\x49\xb9\xfb\x09\x1e\x76\x06\x97\xc5\x05\xc0\x06\xb1" -+"\xaa\xa7\xad\xa6\x76\x9a\x62\x1f\x21\xfb\xd7\x15\x97\xc5\x05\xad\x06\xc2\xa8\x81\x78\x78\x70\x81\x58\x1f\x0e\xf7\x50\xf7\xd5\x15" -+"\xc2\x06\xb1\xaa\xa7\xad\xa7\x76\x99\x63\x1f\xfb\x33\x06\x56\x6d\x76\x65\x6d\xa0\x7c\xb6\x1f\x91\x06\x5d\xfb\x6f\x05\x7f\x06\x64" -+"\x6e\x73\x6a\x6d\xa1\x7c\xb5\x1f\xf7\x0b\x06\xdf\xc3\x97\xa4\xad\x1f\xa9\xa1\x9c\xaf\xb4\x1a\xd9\x49\xbc\x23\x1e\x80\x06\x69\xfb" -+"\x35\x15\x96\xc5\x05\x96\x06\x9d\xb5\x84\x85\x97\x1f\x93\x88\x90\x84\x84\x1a\x79\x6b\x81\x53\x1e\xf7\x8a\x8c\x15\x5b\x86\x75\x77" -+"\x67\x1a\x6c\x9a\x80\xb8\x1e\xed\x06\xbe\xab\xa4\xb2\xa7\x7a\x96\x5e\x8c\x1f\xbd\xf7\x6e\xf7\x58\x1d\x2f\x06\x59\x6b\x72\x64\x6f" -+"\x9a\x81\xb9\x8a\x1f\x0e\xf7\x79\xf7\xd5\x15\xc3\x06\xb1\xaa\xa7\xad\xa6\x76\x9a\x63\x1f\xfb\x37\xf7\x12\x0a\x5e\xfb\x6f\x05\x81" -+"\x06\x55\x6e\x77\x67\x6c\xa1\x7c\xb5\x1f\xf7\x96\x06\xed\xc9\x97\xa5\xad\x1f\xa8\xa2\x9b\xae\xb3\x1a\xdf\x47\xb7\xfb\x14\x1e\xfb" -+"\x16\x06\x69\xfb\x36\x15\x97\xc5\x05\xf7\x0b\x06\xe4\xaa\x83\x75\x76\x70\x84\x3d\x1f\x0e\xf7\xba\xf7\x9a\x15\x5c\x72\x78\x68\x6a" -+"\xa1\x7a\xb2\x1f\xf7\x10\x06\x5c\x6e\x5e\x74\x4a\x1b\x4f\x53\xa1\xb7\x56\x1f\xa1\x71\x7b\x93\x7a\x1b\x70\x71\x72\x71\x71\xa3\x71" -+"\xc6\x64\x1f\x62\xca\xbd\x7b\xcf\x1b\xf7\x3b\xf7\x17\xf7\x04\xf7\x23\xf7\x09\x36\xdb\xfb\x10\x57\x60\x80\x74\x67\x1f\xb8\x88\x7f" -+"\x99\x69\x1b\x68\x80\x7c\x49\x80\x1f\x85\x6c\x85\x70\x85\x76\x08\x80\x6c\x89\x82\x82\x1a\x75\xa1\x76\xa3\xa2\x9a\x97\xac\x9c\x1e" -+"\xc2\xa8\xb7\xa3\xd2\x1b\xcd\xb8\x70\x5e\x94\x1f\x0e\xf7\x6c\xf7\x36\x15\xfb\x01\x90\xd0\x46\xf5\x1b\xd5\xc0\xa7\xc6\xb4\x1f\xb0" -+"\xc0\x9f\xcd\xd2\x1a\xca\x7b\xb6\x68\xa8\x1e\xa6\x6c\x60\x99\x5c\x1b\x29\x38\x4c\xfb\x00\x62\x1f\x62\x06\x96\xc3\xa3\x8c\x95\x8d" -+"\x97\x93\x19\x9c\x96\x96\xa0\x9e\x1a\xa5\x75\x9a\x64\x1e\x38\x06\x59\x6b\x72\x65\x73\x9a\x7e\xa8\x88\x1f\x5b\xfb\x6f\x05\x61\x89" -+"\x75\x77\x67\x1a\x6c\x9f\x7d\xb5\x1e\xee\x06\xbe\xaa\xa2\xb2\xa6\x7c\x99\x6e\x1f\x71\x06\x98\xc6\x05\xf7\xa9\xf7\x40\x15\xb8\xa5" -+"\x6a\x51\x37\x57\x44\x4e\x59\x6d\xad\xc2\xde\xc4\xd5\xcc\x1f\x0e\xf8\x8e\xf7\xd5\x15\xa2\x06\xb4\xa3\x9e\xad\xb0\x73\x99\x4c\x1f" -+"\xfb\x43\x06\x31\x50\x7d\x6f\x67\x1f\x6b\x72\x78\x65\x64\x1a\x58\xa6\x68\xc2\x76\x1e\x7a\x82\x81\x84\x79\x7a\x5f\x5f\x18\x72\x06" -+"\x4f\x75\x7e\x68\x6b\xa0\x7a\xb3\x1f\xcb\x06\xb0\x8c\x8b\x8b\xb7\xba\xde\xe2\x9e\x98\xb8\x8d\x08\xa4\x06\x81\x5c\x05\x72\x06\x60" -+"\x75\x7a\x68\x65\xa2\x7e\xcb\x1f\xe8\x06\xca\xa2\x99\xaf\xae\x75\x9c\x5d\x8c\x1f\x4e\xf7\x6e\x15\x7c\x47\x05\x49\x06\x38\x6e\x92" -+"\xa1\xa7\xab\x96\xdb\x1f\x0e\xf8\x88\xf8\x3d\x15\xfc\x19\xf7\x59\x1d\x5c\xfb\x6d\x44\x0a\xbb\xf7\x6d\x05\xf7\xe4\x06\xb5\xf7\x4f" -+"\x05\x8d\x97\x8d\x96\x92\x1a\xa1\x78\x9c\x71\x69\x74\x74\x5f\x81\x1e\x0e\xd4\xf2\x15\x88\x67\x0a\xa8\xde\x0a\x82\x8d\x6f\x4e\x0a" -+"\xcc\xa5\x96\xb9\x1b\xb7\xa6\x7b\x71\x84\x8a\x81\x88\x7f\x1f\x4d\xfb\xa9\x05\x5c\x82\x60\x6c\x53\x1b\x20\x06\x57\x6c\x73\x63\x70" -+"\x9f\x7e\xb4\x1f\xf7\x03\x06\xf7\x05\x8c\xed\xd7\xa2\xf2\xcc\xf7\xb6\x18\x8e\x99\x8c\x96\x9a\x1a\xd6\x50\xbb\x30\x59\x58\x78\x6a" -+"\x60\x1e\x9e\xdd\x05\xe6\x1d\x0e\xa2\x0a\xf7\xd2\xf7\x88\x15\x9e\x97\x93\x97\x22\x0a\x7b\x82\x80\x87\x82\x7e\x8d\x1d\xf7\x53\xf7" -+"\x9d\x15\xba\xac\xba\xa0\xd2\x1b\xb0\xb1\x82\x7e\x9c\x1f\x95\x83\x8f\x82\x7c\x1a\x67\x98\x7d\xab\xae\xa2\xa1\xb8\x95\x1e\x99\xc7" -+"\x05\x8e\x98\x8c\x95\x91\x1a\xa0\x77\x9d\x73\x7e\x7f\x87\x80\x7c\x1e\x9e\x65\x62\x94\x56\x1b\x30\x42\x6f\x4f\x4d\x1f\x50\x53\x6c" -+"\x46\x45\x1a\xfb\x02\xdc\x50\xf7\x2c\xf7\x23\xf7\x0a\xbf\xca\xa2\x77\x9e\x73\x7f\x7f\x87\x81\x7e\x1e\x6e\x5e\x62\x80\x42\x1b\x31" -+"\x5e\xa2\xbd\x84\x1f\xf7\x35\x06\xba\xa5\x9f\xb0\xaa\x77\x9b\x62\x1f\x0e\xf8\xb6\xf8\x05\x15\x8e\x9b\x8c\x91\x94\x7f\x0a\x7e\x1e" -+"\x9a\x6a\x78\x0a\xf7\x10\x63\x1d\x4b\x61\x0a\x93\x8e\x93\x98\x1e\x79\xaf\xbb\xf2\x0a\x72\x9b\x62\x96\x44\x94\x4e\x93\x84\x8d\x7f" -+"\x8f\x84\x1d\x08\x0e\xf8\x26\x35\x1d\xec\x5d\x1d\x0e\xf8\x25\xf8\x3d\x15\xfb\x4b\xea\x0a\xd3\x06\x5b\xfb\x6d\x05\xfb\x06\x06\x58" -+"\x6c\x74\x64\x6e\x9e\x7e\xb5\x1f\xf7\xe2\xf7\x6b\x1d\xfb\x04\x06\x32\xf8\x7c\x15\x69\x6b\x6e\x6b\x72\x9e\x79\xa4\xaf\xaa\xa8\xac" -+"\xa4\x79\x9c\x70\x1f\xf7\x61\x16\x68\x6c\x6e\x6b\x72\x9e\x79\xa5\xae\xaa\xa8\xac\xa4\x79\x9c\x70\x1f\x0e\xf8\x2d\xa4\x0a\xf7\xca" -+"\xf7\xac\x15\xfb\x14\xf7\x75\x1d\xf8\x4f\xf7\xd5\x15\xc0\x8c\xa0\x9a\xaf\x1a\xb1\x74\x99\x4b\x1e\xfb\x81\x27\x0a\x69\xa0\x7a\xb7" -+"\x89\x1f\x68\xfb\x34\x80\x5f\x77\x75\x6b\x89\x19\x8d\x92\x8b\x8e\x8f\x1a\xa9\x78\x9c\x6b\x6b\x78\x76\x61\x83\x1e\x82\x5f\x05\x89" -+"\x81\x8b\x87\x88\x1a\x71\xaf\x7b\xc5\xf7\x03\xc1\xba\xf7\x09\xa5\x1e\xb1\xf7\x3d\x05\xc8\x06\x5a\xfb\x6e\x05\x68\x86\x7a\x7a\x6d" -+"\x1a\x67\xa5\x7b\xc5\xec\xbd\x92\x9e\xac\x1e\xb9\xa6\xa8\xbc\xc0\x1a\xd5\x60\xae\x26\x92\x1e\x74\x24\x15\xbb\x8a\x93\x88\x7a\x1a" -+"\x72\x75\x7e\x5b\x87\x1e\x0e\xf7\xb4\xf7\x34\x15\x7f\x51\x05\x66\x87\x78\x79\x6a\x1a\x69\x9e\x7e\xb9\x1e\xde\x06\xe0\xb9\x93\x9e" -+"\xaa\x1f\xb1\xa1\x9f\xb2\xbc\x1a\xdd\x54\xb8\x24\x1e\x7f\x06\x96\xc4\x05\xc4\x06\xb0\xaa\xa7\xad\xa6\x76\x9a\x63\x1f\xfb\x1f\x06" -+"\x56\x6d\x76\x64\x6f\x9a\x7d\xae\x89\x1f\x80\x52\x05\xfb\x0c\x06\x97\xc5\x05\xb0\x92\x9e\x9f\xab\x1a\xa9\x77\x99\x62\x1e\x4a\x06" -+"\x59\x6b\x72\x64\x74\x9a\x7e\xa8\x87\x1f\x5b\xfb\x6d\x05\x61\x89\x75\x77\x66\x1a\x6c\x9e\x7d\xb6\x1e\xdd\x06\xbe\xaa\xa2\xb2\xa7" -+"\x7c\x99\x6d\x1f\x83\x06\x98\xc3\x05\xf7\x6c\x51\x15\x97\xc5\x05\xa2\x06\xb3\x9f\x81\x78\x75\x7d\x84\x60\x1f\x0e\xf7\x9a\xf8\x67" -+"\x15\xe6\x1d\x3b\xfc\x00\x54\x0a\x90\x0a\xfb\x2a\xf7\x8e\xed\x1d\xf7\x73\xf7\xd6\x15\xb0\x91\x9b\x9b\xa9\x1a\xb0\x74\x99\x4c\x1e" -+"\x54\x27\x0a\x6b\x9e\x7a\xb3\x88\x1f\xea\xfb\x98\x6e\x66\x05\x74\x79\x73\x76\x80\x1b\x8e\x9d\x8b\x8f\x92\x1a\xaa\x78\x9c\x6b\x69" -+"\x7c\x7a\x57\x80\x1e\x80\x5c\x05\x8a\x85\x8a\x85\x86\x1a\x6e\xb4\x76\xc5\xc5\xbf\xaa\xcd\xc1\x1e\xf7\xaf\xf7\xf2\x05\xbd\x8c\xa1" -+"\x9b\xae\x1a\xb0\x73\x99\x4c\x1e\x40\x27\x0a\x6f\x99\x7b\xaa\x84\x1f\xfb\x17\xfb\x36\x05\x5b\xf8\x5c\x15\x73\x79\x77\x6f\x52\xc5" -+"\x60\xd7\xbd\xbc\x9c\xa9\xb0\xac\x1d\x9b\x80\x96\x79\x7a\x80\x82\x78\x82\x1e\x69\x7b\x63\x76\x5c\x1b\x5e\x6c\x9e\xa7\x89\x1f\xa7" -+"\x89\x85\x93\x77\x1b\x0e\xf7\xc3\x16\xf7\x1b\x06\xbe\xab\xa4\xb2\xa1\x7c\x99\x70\x8e\x1f\xda\xf7\xfa\xa0\x0a\xf7\x1e\x06\x7c\x56" -+"\x05\x89\x83\x89\x7f\x82\x1a\x73\x9e\x7b\xa9\xaf\x9a\x9b\xbe\x97\x1e\x0e\xbe\x1d\xb1\xf7\x96\x15\x82\x63\x05\x88\x7c\x89\x7b\x7b" -+"\x1a\xfb\x06\xdf\x43\xf7\x19\xf7\x3d\xf7\x28\xf7\x13\xf7\x25\xf7\x03\x36\xd0\xfb\x1f\x3a\xfb\x07\x77\x75\x5f\x1e\x74\x80\x7e\x78" -+"\x74\x1a\x74\x9c\x7a\xa3\x96\x97\x8d\x8e\x98\x1e\xa2\xed\xa4\x8f\xb8\x1b\xdf\xb7\x73\x57\x99\x1f\x73\x2f\x15\x59\x6a\x52\x6f\x45" -+"\x1b\x47\x59\xab\xb9\x86\x1f\x0e\xf8\x0d\xf8\x09\x15\x72\xba\x83\x86\x80\x84\x05\x69\x57\x7a\x84\x71\x1b\x6e\x7a\x9d\xac\xbc\xb1" -+"\xb3\xb9\xa2\x97\x83\x7c\x86\x8a\x73\x89\x79\x1f\xe7\x96\x05\x8a\x9b\x8b\x99\x98\x1a\xa3\x8c\x8f\x9e\xb2\x1e\x90\x94\x8e\x92\x8e" -+"\x90\x34\x9c\x18\x86\x7b\x05\x92\x72\x82\x8d\x7b\x1b\x27\x32\x34\x28\x44\xbb\x5c\xd3\xae\xac\x94\xa1\xb4\x1f\xfb\x67\xfb\x8c\x05" -+"\x80\x7e\x84\x7d\x7f\x1a\x78\x9d\x7b\xa1\x9d\x9b\x94\x9c\x9a\x1e\xf7\x19\xf7\x30\x05\x81\x71\x87\x79\x75\x1a\x43\xbc\x5d\xd9\xf3" -+"\xe5\xe1\xee\xd3\x59\xba\x3f\x65\x6f\x83\x77\x66\x1e\xf7\x60\xf7\x82\x05\x96\x98\x91\x99\x97\x1a\x9e\x79\x9b\x75\x79\x7b\x83\x79" -+"\x7c\x1e\x5b\xfb\xe8\x15\xac\x9e\x79\x6b\x5a\x65\x62\x5d\x6b\x78\x9d\xab\xbc\xb1\xb4\xb8\x1f\x0e\xf7\x50\xf7\x22\x15\x8d\x45\x8e" -+"\x76\x95\x76\x08\x72\x98\x9f\x7d\xa3\x1b\xa8\xa3\x99\xab\xa8\x1f\x9d\x9f\x9b\xa0\x96\x9e\x90\x94\x18\x8d\x8e\x8c\x8f\x8f\x1a\x92" -+"\x85\x90\x84\x84\x86\x87\x82\x84\x1e\x80\x7b\x05\x6c\x75\x7a\x7d\x7c\x1b\x79\x84\x9e\xc0\x97\x8b\xa4\x8c\xa0\x1f\x9e\x07\xaf\x07" -+"\xf7\x1e\xf7\x44\xbe\xec\xe1\x1a\xc1\x6e\xae\x5f\x5f\x5a\x6a\x52\x64\x1e\x60\x4b\x74\xfb\x01\x88\xfb\x3d\x8a\x4e\x18\x74\x6f\x86" -+"\x85\x79\x76\x88\x88\x19\x76\x75\x05\x85\x85\x89\x86\x86\x1a\x87\x07\x84\x8f\x8e\x88\x91\x1b\x96\x8b\x8b\xb9\xb7\x1f\xec\xf7\x3d" -+"\x15\x8d\xb1\x05\xf7\x6d\x95\x9e\xd0\xbc\x1b\xa2\x9a\x76\x6b\x44\x64\x2f\x45\x2b\x1f\x0e\xa8\xf2\x15\x69\x85\x7b\x7a\x6e\x1a\x66" -+"\xa2\x7d\xcb\x1e\xc1\x06\xca\xa2\x99\xaf\xae\x75\x9c\x5e\x8c\x1f\xb6\xf7\x5a\xb2\xfb\x68\x05\x46\x98\x9a\x77\xb6\x1b\xb4\x9a\x9d" -+"\xcf\x9a\x1f\xde\xf8\x0b\x05\xae\x91\x9b\x9c\xa7\x1a\xb2\x74\x98\x4b\x1e\x55\x06\x4c\x73\x7d\x67\x68\xa1\x7a\xb9\x8a\x1f\x61\xfb" -+"\x53\x62\xf7\x70\x05\xd0\x7f\x85\x90\x42\x1b\x7b\x06\x4b\x74\x7d\x66\x6e\x9a\x7b\xac\x84\x1f\xf7\xe0\xfb\x62\x15\x71\x9a\xa2\x7f" -+"\xac\x1b\xc0\xae\xad\xcb\x98\x1f\x9e\xe4\x05\x8c\x91\x8c\x92\x92\x1a\xb3\x6e\xa7\x60\x55\x68\x6a\x49\x7d\x1e\x78\x3b\x05\x88\x7e" -+"\x8a\x82\x85\x1a\x88\x8e\x7a\x8c\x85\x1e\x8c\x8a\x05\xe2\xb7\x15\x82\x89\x88\x87\x87\x1b\x88\x8a\x8c\x8d\x8d\x8b\x8b\x8d\x91\x1f" -+"\xa5\xf7\x01\x05\x92\x8d\x8d\x8e\x8f\x1b\x90\x8b\x8b\x7c\x87\x1f\x48\xfb\x69\x15\x58\x76\x7d\x69\x6d\xa0\x7a\xb0\x1f\xa6\x06\xbd" -+"\xa1\x99\xac\xab\x75\x9b\x61\x1f\x0e\xf8\xa3\xf7\xe3\x15\xcd\x71\x54\xaf\x41\x1b\xfb\x2d\xfb\x20\xfb\x16\xfb\x21\xfb\x03\xd8\x45" -+"\xf7\x0d\xdf\xc4\xa7\xcc\xb9\x1f\x91\x4d\x05\x7a\x8c\x9b\x7f\xa0\x1b\xae\xa4\xa3\xac\x1f\x8f\x07\x79\xf7\x38\xf7\x02\xf7\x2c\x05" -+"\x94\x97\x8f\x96\x95\x1a\xa1\x79\x9a\x70\x77\x81\x85\x76\x7b\x1e\xfb\x18\xfb\x57\x15\x32\x5b\x5e\x68\x4a\x1b\x4d\x62\xb2\xc5\xd8" -+"\xd8\xd3\xde\xab\xa7\x7e\x76\x9b\x1f\x9a\x76\x90\x78\x90\x5b\x08\x0e\xf8\x6f\xf7\x4f\x15\xe4\xf7\x1f\x05\x9e\xaa\x93\x9d\x9c\x1a" -+"\xa7\x79\x9c\x6c\x6d\x81\x83\x54\x69\x1e\x6b\x58\x05\xdb\x66\x5b\xad\x41\x1b\xfb\x11\xfb\x05\xfb\x12\xfb\x1f\xfb\x01\xd5\x3d\xf0" -+"\xcb\xca\xaa\xc3\xbb\x1f\x96\x43\x05\xc7\x06\xbd\xab\xa3\xaf\xa6\x7c\x99\x6a\x8d\x1f\xfb\x18\xf4\x15\x70\x65\x84\x83\x7b\x7a\x08" -+"\x63\x65\x6f\x7b\x6c\x1b\x63\x6f\xac\xbc\xdd\xcc\xdb\xcc\xb3\x9f\x6d\x2c\xa4\x1f\xd2\xf7\xf9\x15\x9e\x97\x93\x97\x22\x0a\x7b\x82" -+"\x80\xf7\x64\x1d\x7e\x7e\xf7\x53\x1d\x2d\x1d\xfb\x05\xf8\x40\x33\x0a\xf7\x4f\xf7\x98\x15\xf7\x51\xfb\xfe\x05\x7c\x93\x95\x83\x95" -+"\x1b\x92\x8e\x8e\x93\x90\x8a\x8f\x87\x97\x1f\xfb\x24\xf7\xf5\xf7\x24\xf7\xf6\x05\x8e\x92\x8d\x94\x92\x1a\x91\x88\x8e\x84\x81\x86" -+"\x87\x78\x7e\x1e\x0e\xf8\x32\xf7\x98\x15\xfb\x51\xf7\xff\x05\x9d\x7f\x85\x90\x81\x1b\x84\x88\x88\x85\x84\x8d\x82\x8e\x84\x1f\xf7" -+"\x24\xfb\xf6\xfb\x24\xfb\xf5\x05\x87\x7f\x8a\x87\x86\x1a\x83\x8e\x88\x92\x95\x95\x93\x9a\x93\x1e\x0e\xf8\x97\xf2\x15\xb5\xf7\x50" -+"\x05\x8e\x97\x8c\x95\x97\x69\x1d\x2a\x7b\x7b\x67\x1e\x76\x4f\x1d\x73\x9d\x7a\xa3\xf7\x3d\x1d\x86\x8b\x8a\xf4\x1d\x87\x78\x05\xb7" -+"\x06\x4b\x67\x6b\x5f\x57\x5d\x0a\x93\x90\x95\x94\x97\x1f\x9d\xa3\x9d\x98\xd1\xb5\x08\xad\xa0\x98\x9c\xa3\x1a\x9c\x81\x9b\x7c\x90" -+"\x1e\x8e\x83\x84\x8b\x77\x1b\xfb\x05\xab\x15\x6c\x4f\x50\x7b\x55\xf7\x21\x0a\x96\x99\x97\x6c\x1d\xac\xa9\x88\x84\xb3\x1f\x0e\xf8" -+"\x76\xf8\x4b\x15\x74\x7f\x84\x6f\x75\x1f\x6f\x75\x7f\x7f\xe7\x0a\x5f\x63\x1f\x6d\x6b\x80\x77\xd1\x0a\x57\xc7\xb3\x77\xb5\x1b\xb5" -+"\xab\x9c\xb7\xb1\x1f\xae\xb2\x93\x99\x9f\x1a\xaa\x71\xa4\x6b\x1e\x8d\xfb\x4a\x15\x75\x7f\x84\x6f\x74\x1f\x6e\x75\x7f\x80\xe7\x0a" -+"\x60\x63\x1f\x6d\x6a\x80\x78\x77\x1a\x6d\xa6\x71\xab\xa0\x95\x91\xab\xa6\x1e\xa7\xa3\x95\x94\x92\x1b\x91\x97\x83\x7b\x9e\x1f\x57" -+"\xc8\xb2\x77\xb5\x1b\xb5\xab\x9c\xb7\xb1\x1f\xae\xb2\x93\x99\xa0\x1a\xa9\x71\xa4\x6b\x1e\x0e\x2d\x1d\xa9\xf8\xa1\xee\x1d\xd1\xf7" -+"\x25\x15\xa3\x9b\x94\x98\x9b\x1a\x9e\xf7\x4a\x1d\x7b\x81\x7e\x7b\x1a\x78\x99\x7e\x9f\x96\x93\x8e\x98\x9d\x1e\x0e\xf7\x35\xf7\x9e" -+"\x15\xa9\xb8\x9a\xaa\x9a\x1a\x93\x83\x91\x82\x84\x87\x88\x7e\x80\x1e\x6c\x68\x6e\x74\x4f\x69\x08\x78\x81\x87\x87\x84\x1a\x85\x8f" -+"\x85\x92\x87\x1e\x91\x88\x8c\x8a\x8f\x89\x91\x88\x19\x99\x82\xbc\x6e\xa3\x77\xad\x64\x19\x84\x91\x8f\x89\x92\x1b\x94\x92\x92\x93" -+"\x9a\x76\xb5\x73\xab\x1f\xf7\xb3\xa3\x0a\x0e\xf7\x9b\xf8\xae\x15\xfc\x34\x07\xa2\x6c\x5e\xa1\x7c\x1b\x83\x84\x84\x82\x84\x8d\x87" -+"\x93\x85\x1f\xb8\x65\x9a\x79\xb8\x41\x08\x7e\x92\x8e\x88\x94\x1b\x92\x8f\x90\x9c\x95\x1f\xab\xc3\xa5\xab\xaf\xa9\x08\x98\x96\x8e" -+"\x90\x91\x1a\x94\x85\x93\x83\x7c\x6b\x7c\x6e\x5d\x1e\xf8\x33\x07\x0e\xf8\xdd\xf7\x9f\x15\xfc\x3c\x06\xa3\xab\xa0\xb5\x9a\x1a\x93" -+"\x84\x92\x82\x84\x87\x89\x84\x85\x1e\x64\x5e\x78\x7c\x41\x60\x08\x7d\x83\x88\x88\x83\x1a\x84\x8f\x87\x9e\x81\x1e\xc6\x6a\xaa\x73" -+"\xa9\x68\x08\x7f\x95\x90\x87\x91\x1b\x95\x93\x91\x93\x9a\x7b\xab\x6e\xb7\x1f\xf8\x3c\x06\x0e\xa3\xf7\x6b\x15\xf8\x3c\xa3\x0a\xfc" -+"\x3c\x06\x0e\xf7\xd0\x7f\x15\xf8\x34\x07\x75\xaa\xb8\x75\x9a\x1b\x93\x92\x92\x94\x92\x89\x8f\x83\x91\x1f\x63\xac\x79\xa0\x6c\xbd" -+"\x88\x8f\x88\x8f\x88\x91\x88\x90\x88\x90\x8a\x8c\x08\xf7\x16\x0a\x69\x51\x74\x6e\x66\x6c\x08\x7e\x81\x88\x86\x85\x1a\x81\x91\x84" -+"\x93\x9a\xa9\x99\xa9\xbb\x1e\xfc\x34\x07\x0e\xf7\xa6\xf7\x02\x15\xa7\x5f\x69\x9b\x7c\x1b\x84\x84\x83\x82\x85\x8f\x86\x97\x80\x1f" -+"\xae\x6e\xa5\x6b\xac\x52\x08\x79\x95\x8f\x87\x92\x1b\x92\x90\x8e\x93\x8f\x1f\xb7\xd4\x9e\xa4\xb8\xb0\x08\x92\x91\x8e\x8f\x92\x1a" -+"\x94\x84\x92\x83\x7c\x5f\x75\x74\x6b\x1e\xf7\xae\x07\x74\xab\xb7\x76\xa7\x0a\xab\x9a\xa8\xb9\x1e\x0e\xf7\x57\x63\x15\x5f\xf7\x6a" -+"\xb7\x07\xfb\x18\xf7\x51\x15\xa7\x5f\x69\x9b\x7c\x1b\x84\x84\x83\x82\x85\x8f\x86\x97\x80\x1f\xae\x70\xa5\x6a\xac\x52\x08\x79\x95" -+"\x8f\x87\x92\x1b\x92\x90\x8e\x92\x8f\x1f\xb6\xd5\x9f\xa3\xb8\xb0\x08\x92\x91\x8e\x8f\x92\x1a\x94\x84\x92\x83\x7c\x5e\x75\x75\x6c" -+"\x1e\xf7\xad\x07\x75\xaa\xb8\x75\xa7\x0a\xac\x9a\xa8\xb8\x1e\x0e\xf7\x43\x9a\x15\x77\xab\xb2\x81\xb8\x1b\xcd\xc1\xa2\xbb\xb8\x1f" -+"\xb2\xb5\xa1\xc0\xc2\x1a\xcd\x74\xb3\x55\xa7\x1e\xc3\xae\xa6\xb6\xc1\x1a\xda\x4d\xbf\x2e\x4d\x54\x73\x5e\x63\x1e\x6e\x6a\x7b\x62" -+"\x76\x2d\xfb\x10\xfc\xc2\x18\xf7\x00\x06\xf7\x1b\xf8\x70\x15\x98\x06\x9b\x8a\x05\xd9\x8a\xb1\x73\x59\x1a\x49\x5d\x56\x51\x5d\x67" -+"\x98\xa5\x75\x1e\xc4\xf7\x95\x05\xec\xa0\xa1\xa6\xc4\x1b\xad\x9e\x7a\x6b\x6b\x75\x6c\x67\x77\x1f\x76\x80\x7a\x87\x6a\x8a\x08\x0e" -+"\x3e\x0a\x74\xf7\xc0\x2f\x1d\x3e\x0a\xfb\x42\xf7\xa4\x45\x1d\xf8\xd8\x7a\x0a\x9d\x69\x5c\x94\x55\x1b\x2d\x5a\x0a\xfb\x48\xf7\xae" -+"\x60\x0a\x3e\x0a\xfb\x2a\xf7\xe4\x5b\x1d\xf7\xbe\xf7\x78\x15\x39\xf7\x59\x05\x4c\x06\x59\x6b\x74\x65\x6d\x9c\x7e\xb7\x1f\x95\x06" -+"\xd8\xfb\x4f\xfb\x62\xfb\x8a\x05\x79\x75\x83\x7a\x7a\x1a\x72\xa0\x79\xa7\xa1\x9f\x97\xa3\x9f\x1e\xf7\x3c\xf7\x5c\xe7\xfb\x71\x05" -+"\xcb\x06\xbd\xaa\xa2\xb1\xa9\x79\x98\x60\x1f\x80\x06\x35\xf7\x67\xf7\x4d\xf7\x70\x05\x9c\x9f\x94\x9e\x9b\x1a\xa4\x76\x9d\x6d\x73" -+"\x7f\x84\x6f\x73\x1e\x0e\xf7\xad\xf8\x88\x15\xfb\x1e\xfb\x07\xfb\x03\xfb\x1a\xfb\x22\xf7\x06\xfb\x05\xf7\x24\xf7\x1f\xf7\x05\xf7" -+"\x03\xf7\x1c\xf7\x1f\xfb\x08\xf7\x06\xfb\x21\x1f\x8f\xfb\xbe\x15\xf5\x23\x05\x72\x67\x68\x80\x61\x1b\x60\x6e\x94\xa3\x6c\x1f\x5d" -+"\xb8\x15\x70\xaf\x82\xa6\xb4\x1a\xb7\x96\xae\xa3\xac\x1e\xf7\x02\xfb\x00\x05\xe8\x16\xf7\x02\xf6\x05\xa1\x6d\x94\x72\x66\x1a\x5a" -+"\x80\x66\x73\x6a\x1e\xfb\x2c\xf7\x29\x15\xfb\x03\xf7\x00\x05\xa3\xac\xae\x96\xb5\x1b\xb7\xaa\x81\x72\xae\x1f\x0e\xf8\x82\x16\x9b" -+"\x07\xfb\x15\x9e\x50\xce\xf7\x18\x1a\x9c\x6e\x91\x81\x94\x80\x08\x68\xa9\xba\x73\xb5\x1b\xd1\xc2\xc4\xd4\xd1\x59\xc2\x4c\x78\x80" -+"\x88\x7e\x70\x1f\x89\x8a\x82\x86\x86\x89\x08\xa1\xaa\x93\xa3\xa8\x1a\xd0\x53\xc1\x44\x44\x54\x55\x45\x70\x90\x7d\xa5\x61\x1e\x9c" -+"\x68\x78\x91\x76\x1b\x4f\x58\x52\x46\x43\xc3\x53\xd2\xca\xc0\xb1\xd2\xad\x1f\x8c\x78\x05\x85\x07\x8a\x53\x6e\x4c\x62\x6a\x72\x78" -+"\x79\x84\x42\x7c\x08\x7b\x07\x0e\xba\x1d\xf8\x66\xf7\x68\xde\x1d\xf9\x19\xf8\x83\x15\xa3\xf7\x00\x05\xca\x1d\xcb\xf7\xb5\x05\x97" -+"\x06\xaa\x97\x8d\x97\x99\x1f\x99\x95\x96\xa1\x9c\x1a\x95\x84\x9a\x82\x91\x1e\x92\x82\x81\x8d\x71\x1b\xfb\xbf\xfb\x34\xf7\x00\x1d" -+"\x0e\xf7\xe7\xf8\x41\x15\x4d\x7f\x62\x79\x60\x6b\x08\x45\x58\x60\x3f\x45\x1a\xfb\x02\xe2\x40\xf7\x16\xe5\xe7\xb1\xc9\xc6\x1e\xba" -+"\xbd\xa7\xc9\xc2\x1a\xc8\x70\xb7\x43\xc4\x1e\xfb\x03\xe2\x7d\x99\x9d\x1a\xa4\xa2\x96\xc0\x1e\xd9\x06\xb2\xa4\xa1\xac\xa0\x7c\x95" -+"\x6b\x1f\x4d\x06\x48\x59\x80\x75\x68\x1f\x64\x73\x6e\x5f\x68\x1a\x73\x98\x75\xac\x6d\x1e\xbe\x27\x15\xd9\xbe\x62\x4b\x3c\x34\x44" -+"\x28\x3f\x58\xb4\xc9\xd9\xe4\xd5\xea\x1f\x0e\xf6\xf7\xa2\x15\xe1\x20\xdc\xfb\x09\xaf\x47\xba\xe0\xe3\xf7\x0f\xdb\xeb\x4d\xd1\xfb" -+"\x10\xf7\x44\x6e\xc4\x60\x3a\x53\x3c\xfb\x06\xfb\x23\x08\x0e\xf8\x62\xd0\x1d\x0e\x33\x1d\xfb\x4c\xf8\x2c\x2b\x0a\x33\x1d\x4b\xf7" -+"\xcc\x45\x1d\x33\x1d\x59\xf8\x0c\x15\x62\x73\x0a\x6d\x1f\x0e\xf8\xd9\xf7\x7b\x15\xbe\xfc\x8d\x07\x8f\xf7\x10\xcd\xc7\xf7\x15\x88" -+"\x08\xf7\xc6\xbe\xfb\xba\xf7\x09\x0a\x49\x99\x50\xa4\x65\x1e\xa2\x68\xae\x6c\xac\x7e\x08\x7c\xaf\xa7\x87\xd4\x1b\xf7\xba\xbe\xfb" -+"\xc6\x06\xfb\x14\x88\x4a\xc5\x85\xf7\x0c\x08\x90\x07\x0e\x33\x1d\xfb\x47\xf7\xf1\x33\x0a\xf7\x98\xf7\xa3\x15\x94\x92\x8b\x8b\x93" -+"\x91\xa7\xa2\x8b\x8b\x92\x8f\x08\x9c\xa6\xa1\x91\xb0\x1b\xb9\xa2\x7c\x6c\x85\x8a\x85\x8a\x85\x1f\x4b\xfb\xb0\x81\x5c\x5e\x6a\x56" -+"\x8c\x19\x29\x06\x6a\x83\x89\x7e\x7b\x1f\x7a\x7e\x82\x7b\x7b\x1a\x6c\x9c\x7f\xb7\x1e\xf0\x06\xf7\x07\x8d\xeb\xd4\xa3\xf4\xcb\xf7" -+"\xb4\x18\x8e\x9a\x8d\x9b\x9a\x1a\xd3\x4f\xba\x2f\x58\x5c\x7b\x6c\x61\x1e\x93\xae\x05\x28\x06\x57\x6e\x75\x61\x72\x99\x7f\xae\x89" -+"\x1f\x5b\xfb\x6f\x05\x88\x06\x6b\x83\x89\x7e\x7b\x1f\x7a\x7e\x82\x7b\x7a\x1a\x7f\x90\x81\x95\x81\x1e\x83\x95\x91\x89\xa8\x1b\xf7" -+"\x04\x06\xab\x96\x2a\x0a\x9d\x9b\x1a\xa9\x79\x97\x60\x1e\x8a\x06\x0e\xf8\xe2\x89\x1d\xfb\x02\xe1\x45\xf7\x1a\x96\x97\x8b\x8c\x9c" -+"\x1e\x59\x65\x75\x67\x5f\x5d\x0a\xae\xd9\xc7\xe4\xab\x1f\xb3\x9a\x9b\x9d\xa7\x1a\xa3\x7a\x9c\x73\x80\x7f\x89\x88\x7e\x1e\x74\x29" -+"\x72\x87\x5d\x1b\x37\x60\xa3\xbf\x48\x1d\x0e\xf8\x58\xf7\xa2\x15\x89\x75\x7f\x8a\x75\x1b\x55\x66\x9b\xa2\x9f\xae\x9a\xb9\x9d\xa5" -+"\x89\x87\x9c\x1f\x87\xa1\x8c\x8b\x92\x1b\xa8\xa5\xa5\xa7\x99\x84\x96\x7d\x92\x1f\x96\x74\x5c\x94\x64\x1b\xfb\x06\x2f\x4c\x3e\x73" -+"\x94\x7c\xaa\x6c\x1f\x4b\x6e\x64\x59\x57\x1a\x48\xce\x5f\xf0\xbd\xd5\x9b\x9b\xa8\x1e\x9d\x95\x96\xa0\xa1\x1a\x9e\x7c\x9a\x79\x84" -+"\x81\x8a\x89\x81\x1e\x81\x5c\x76\x88\x6e\x1b\x5b\x6b\x9a\xa1\xa7\xc7\xa3\xd2\x9e\x9b\x8a\x89\x9d\x1f\x0e\xf8\x26\xf7\xa1\x15\x65" -+"\x06\x3f\x5f\x97\xa0\x9e\xaf\x98\xc0\xbd\x9b\x83\x6c\x9c\x1f\x6b\x9b\x98\x81\xa4\x1b\xa8\x9d\x9d\xaf\x92\x1f\x8e\xa0\x8d\x93\x91" -+"\x9d\x08\x90\x9d\x8d\x95\x94\x1a\xa6\x75\x9e\x6c\x76\x7e\x85\x7b\x7f\x1e\x9b\x6a\x6b\x91\x5d\x1b\xfb\x0b\x3e\x57\x3a\x74\x90\x79" -+"\x9a\x74\x1f\x4f\x6a\x71\x65\x58\x1a\x3c\xd5\x55\xf7\x01\xc3\xd1\x96\x9a\xb1\x1e\xb1\x99\x9b\x9d\xa6\x1a\xa7\x75\xa2\x70\x81\x7d" -+"\x88\x85\x77\x1e\x78\x4c\x74\x87\x66\x1b\x5f\x6a\x99\x9c\xa5\xcc\xa4\xcf\x9c\xa3\x8a\x8a\x99\x1f\x8f\x06\x8e\x06\x91\x8a\x05\xf7" -+"\x00\xf8\x21\x15\x9d\x96\x93\x98\x22\x0a\x7c\x81\x81\xf7\x10\x1d\xf7\x00\xf7\xdb\x15\x70\x83\xed\x0a\x84\x96\x98\x88\xa5\x1b\xf8" -+"\x14\x06\xa2\x98\x8d\x91\x95\x47\x1d\xfc\x14\xfb\x42\x15\x70\x83\x8a\x84\x80\x1f\x7a\x81\x80\x79\x4c\x1d\xf8\x14\x06\xa2\x99\x8d" -+"\x91\x94\x47\x1d\xfc\x14\xf7\xef\x15\x70\x83\x8a\x84\x80\x1f\x7a\x81\x80\x79\x4c\x1d\xf8\x14\x06\xa2\x98\x8d\x91\x95\x47\x1d\x0e" -+"\xf8\x71\xf7\x54\x15\x8a\xcf\x87\xa8\x7d\xaa\x08\xcc\x6e\x46\xb2\x36\x1b\xfb\x14\x3b\x37\xfb\x1a\xfb\x1a\xd8\x3c\xf7\x15\xeb\xce" -+"\xb4\xd7\xa5\x1f\x8c\x8e\x8d\x8f\x05\x5e\x06\x8a\x89\x8b\x8a\x88\x87\x08\x5a\x72\x5a\x70\x4a\x1b\x41\x69\xa1\xc8\x77\x1f\xd6\x07" -+"\xf7\x96\xb4\x15\xfb\x94\xd3\x06\xc5\xa9\xab\xa0\xc8\x1b\xcb\xbd\x6d\x5a\x9e\x1f\x0e\xc3\x1d\x0e\xc3\x1d\xf7\x75\xf7\x39\x15\x9e" -+"\x97\x93\x97\x22\x0a\x7b\x82\x80\x87\x82\x7e\x1e\xfb\x12\x38\x05\x79\x7f\x82\x7f\x7d\x1a\x7c\x96\x80\x9b\x94\x26\x0a\xf7\xb2\xf8" -+"\x8a\xd6\x1d\xf7\xbb\xf8\x98\xd6\x1d\x0e\xf8\x30\xf7\x9e\x15\xfb\x6b\xfb\xb9\x58\xf7\xed\xf8\xc6\xfb\xed\x58\xf7\xb9\xfb\x56\xfb" -+"\xb9\x58\x07\x0e\xf7\xd6\xf7\xac\x15\xf6\x94\xe0\xe9\xf7\x01\x1a\xf7\x0a\x2b\xea\xfb\x0a\xfb\x0a\x2c\x2c\xfb\x0a\xfb\x01\xe0\x2d" -+"\xf5\x82\x1e\x32\xfb\x29\x64\xf7\x29\xfb\x2c\xb7\xf7\x2c\xf7\x28\xb2\xfb\x28\x07\x72\xf8\x69\x15\xeb\xd8\x40\x2f\x2d\x3f\x3f\x2d" -+"\x2e\x3f\xd6\xe9\xe6\xd7\xd8\xe5\x1f\x0e\xf7\x50\xf7\x7c\x15\xa8\x89\x06\x8a\x8a\x87\x89\x86\x1e\x8a\x86\x8a\x86\x86\x1a\x71\x9d" -+"\x79\xa5\x9c\x9d\x93\x98\x98\x1e\x92\x92\x94\x9e\x8f\x9f\xa3\xf7\x01\x18\x8d\x95\x8d\x98\x91\x1a\xa0\x78\x9c\x73\x6c\x6e\x73\x6c" -+"\x85\x1e\x8a\x85\x8a\x88\x8a\x1a\x8a\x87\x05\x6e\x06\xa7\xf7\x12\x05\xf7\x3c\x06\x88\x80\x05\x89\x80\x89\x7e\x85\x1a\x76\x9f\x7b" -+"\xa4\x9a\x9c\x92\x99\x9a\x1e\x97\x96\x8e\x92\x90\xa5\xa5\xf7\x08\x18\xfc\x10\x06\x6e\x7d\x88\x80\x7e\x1f\x7c\x80\x81\x77\x7b\x1a" -+"\x6f\x9c\x7d\xb0\x1e\x3c\xfb\xfa\x05\x71\x80\x88\x7f\x7c\x1f\x7a\x7e\x82\x7b\x7a\x1a\x7f\xab\x1d\x91\x89\xa8\x1b\xf7\x37\x06\xaa" -+"\x98\x8f\x96\x9a\x1f\x98\x96\x95\x9e\x9a\x1a\xaa\x7b\x97\x5f\x1e\x50\x06\xf7\xd6\x16\x99\xc9\x92\x92\x05\xe4\xdc\x8b\x8b\x9c\x1b" -+"\x93\x94\x86\x80\x94\x1f\x7d\x98\x92\x87\x99\x1b\xa9\xa3\xa6\xac\xb4\x61\xb0\x5d\x67\x75\x7e\x5b\x60\x1f\x96\xbb\x05\x23\x06\x6e" -+"\x7d\x87\x81\x7e\x1f\x7c\x80\x81\x77\x7b\x1a\x6f\x9c\x7d\xb0\x1e\x6b\xfb\x26\x05\x71\x82\x8a\x84\x80\x1f\x73\x7e\x7e\x78\x76\x1a" -+"\x7f\xab\x1d\x92\x89\xa7\x1b\xf7\x40\x06\xaa\x96\x4f\x0a\xa9\x79\x97\x61\x1e\x0e\xf7\xa9\xf7\x23\x15\x42\xf7\xae\x05\x4d\x06\x58" -+"\x6b\x73\x65\x6d\x9a\x81\xb8\x8a\x1f\xdc\xfb\xd0\x05\x6c\x56\x7e\x62\x5c\x1a\x5c\xa2\x6e\xb1\xc6\xa6\xc8\xf7\x25\x91\x1e\xf7\x4d" -+"\xf7\xb5\x05\x9e\x97\x9c\x9e\x90\x1b\x8c\x06\x8a\x8e\x8b\x8f\x8a\x1e\x8d\x06\x8a\x8d\x8d\x8b\x8e\x1b\xa7\xa3\xa3\xa6\xad\x71\xa0" -+"\x61\x53\x69\x70\x34\x53\x1f\x0e\x70\x1d\x63\xf7\xdd\x2b\x0a\xc0\x1d\xdf\xf7\x87\xaf\x0a\x70\x1d\xf7\x56\xf7\xb7\x15\x8f\x8f\x8e" -+"\x8f\x8e\x8e\x8c\x8c\x19\x93\x95\x8e\x92\x96\x1a\x9d\x7d\x98\x78\x7b\x7c\x83\x7b\x7d\x1e\x23\xfb\x0e\x05\x7b\x79\x86\x82\x7d\x1a" -+"\x7b\x9a\x7d\x9d\x9a\x9b\x94\x9c\x99\x1e\x0e\xc0\x1d\xe9\xf7\xbd\x5b\x1d\xf8\xee\xf7\xf8\x15\xfc\x81\xf7\x65\x05\x90\x7e\x80\x8e" -+"\x82\x1b\x7b\x78\x7f\x7b\x83\x1f\x8a\x89\x05\x88\x85\x89\x84\x83\x1a\x75\x97\x7d\xa6\x7f\x1e\xf7\xb2\xfb\x0b\xfb\xb2\xfb\x0f\x05" -+"\x70\x7f\x7f\x7d\x75\x1a\x85\x8d\x83\x8e\x84\x1e\x8c\x8a\x05\x7a\x93\x9e\x7f\x9c\x1b\x93\x97\x8e\x90\x97\x1f\x7f\x5f\x15\x65\x74" -+"\x79\x6d\x6d\xa2\x79\xb1\x1f\xf8\x1e\x06\xb0\xa2\x9d\xa9\xa9\x74\x9d\x66\x1f\x0e\xf7\x94\xf8\x67\x15\xf7\x02\x06\xad\xa0\x9d\xa8" -+"\x9e\x7e\x95\x70\x1f\xfb\x00\x06\x8d\x98\x8c\x91\x93\x1a\xa7\x7d\x99\x6f\x66\x77\x77\x5a\x7e\x1e\x5e\x06\x69\x76\x79\x6e\x77\x98" -+"\x82\xa6\x1f\xb6\x06\x3b\xfc\x00\x54\x0a\xf7\xb3\xf8\xef\x15\xfb\x0d\x06\x6c\x80\x2a\x1d\x7b\x1a\x7a\x96\x7b\x99\xf7\x6e\x1d\x32" -+"\xfc\x21\x05\xf7\x05\x0a\x6d\x9d\x7f\xb5\x1e\xf7\x04\x06\xa9\x99\x29\x1d\x9c\x80\x9c\x7d\x32\x1d\x8b\x77\x4e\x0a\xcd\xa3\x96\xba" -+"\x1b\xb7\xbe\x0a\xa8\x9a\x8f\x96\x98\x1f\x9b\x97\x94\x9d\x9b\x1a\x9d\xf6\x1d\xf7\x44\xf7\xdd\xf7\x05\x1d\x77\x86\x85\x4d\x1d\x26" -+"\x0a\xf7\xc0\x75\x15\x9b\xd2\xba\xdb\xe3\xf7\x02\x08\xd5\xe9\xa4\xbf\xc9\x1a\xca\x55\xc0\x4a\x4b\x5d\x62\x3f\x76\x1e\xd9\x72\x5f" -+"\xb2\x4b\x1b\x4a\x58\x56\x47\x57\x9b\x68\xcc\x33\x1f\xf7\x09\xfb\x30\xa9\x56\xa0\x3b\x08\x0e\xd1\x16\xf8\x61\xf7\xcb\x06\xfb\x7b" -+"\xf7\x92\xfb\x7a\xfb\x92\x05\xbd\xfb\x99\x15\xf7\x85\x07\xf7\x48\xf7\x5a\xf7\x49\xfb\x5a\x05\xfb\x85\x07\x0e\xf8\x26\x35\x1d\x44" -+"\xa9\x0a\xf7\xee\xf8\x3d\x15\xfb\x44\x06\x6a\x7c\x0a\x79\x7a\x1a\x6f\x9e\x7e\xb6\x1e\xcd\x2e\x0a\x47\x25\x1d\x6e\x9d\x7e\xb6\x1e" -+"\xf7\x84\x06\xa7\x9a\x8f\x96\x99\x83\x1d\x4c\x06\xf3\x5d\x1d\xf7\x5c\xfb\x40\x84\x0a\x55\x8c\x19\xfb\x03\x26\x1d\xf7\x05\x06\xf7" -+"\x04\xf1\xd9\xf1\xa0\x1f\xed\xf8\x4d\x05\xfb\x6b\x25\x0a\xf7\x6e\xf7\xac\x15\xfb\x13\x06\x73\xfb\x00\x05\xf7\x13\x06\x0e\xf8\x54" -+"\x35\x1d\x49\xf8\x8a\x33\x0a\xf7\xc0\xf7\x8a\x15\x52\xba\xc8\x69\xbf\x1b\xa7\xa5\x93\x98\x9f\x1f\xaa\xa1\xa2\xba\xb2\x1a\xd0\x50" -+"\xc3\x43\x54\x4f\x68\x54\x61\x1e\xc6\x59\x56\xa9\x55\x1b\x43\x50\x52\x44\x47\xc4\x52\xd1\xc7\xb8\xa4\xca\xc1\x1f\xae\xb2\x15\xb9" -+"\xab\xbd\xa9\xb6\x1b\xba\xaa\x6d\x5e\x5e\x6c\x6b\x61\x77\x76\x91\x97\x75\x1f\x7a\x94\x8b\x8b\x5c\xb9\x08\x47\x8f\x15\x5c\x66\x58" -+"\x6d\x61\x1b\x5e\x6e\xaa\xba\xb6\xaa\xa9\xb8\xb4\xb3\x74\x58\xba\x1f\x0e\xf7\xa7\x5c\x15\x44\x84\x6f\x7b\x84\x88\x8d\x99\x83\x1e" -+"\x9a\x80\x7c\x94\x7a\x1b\x71\x79\x7a\x72\x6d\xa5\x76\xb0\xa7\xa7\x98\xa3\xa2\x1f\xa9\xab\x93\xa9\xe4\x1a\xf8\x8a\x07\xca\x92\xa6" -+"\x9d\xc0\x0a\xf7\xda\xf9\x0e\x15\x57\xfd\x35\x06\x4b\x83\x70\x7a\x86\x87\x8f\x94\x85\x1e\xa0\x7d\x81\x92\x77\x1b\x72\x78\x7a\x72" -+"\x6e\xa4\x75\xae\xa3\xa4\x94\x9a\x9f\x1f\xb0\xa8\x99\xb6\xe4\x1a\x0e\xf7\xa6\xfb\x4a\x15\xbf\xf9\x35\x06\xca\x93\xa6\x9c\xc0\x0a" -+"\xf8\xad\xf7\x74\x15\xf7\x2a\x86\xae\x70\xb8\x1e\xce\x61\x3e\xb4\x35\x1b\x57\x5b\x7c\x70\x62\x1f\x58\x68\x6e\x5d\x81\x4d\x08\x86" -+"\x69\x8a\x75\x2a\x1a\xfb\x52\x07\x75\x94\x7f\x9c\x9b\x95\x98\xa0\x1e\xf7\x55\x07\x8c\xe3\x8b\x8b\x95\x1a\x8e\xbf\x92\xa9\x9a\xa1" -+"\x08\xbd\xad\xc8\xab\xcb\x1b\xc8\xc6\x6e\x5e\xab\x1f\xa6\x66\x91\x66\xfb\x1c\x1a\xfb\x55\x07\x75\x94\x7f\x9b\x9b\x96\x99\x9f\x1e" -+"\x0e\xf7\xc5\xf8\xc7\x15\xfb\x33\xfb\x13\xfb\x10\xfb\x2f\xfb\x32\xf7\x11\xfb\x12\xf7\x31\xf7\x2f\xf7\x12\xf7\x12\xf7\x30\xf7\x2d" -+"\xfb\x12\xf7\x14\xfb\x2b\x1f\x30\xfb\x34\xf7\x2c\x1d\xf7\xa2\x34\x15\x86\x48\x82\x6c\x74\x69\x08\x5a\x6a\x5a\x72\x4b\x1b\x4f\x5e" -+"\xa0\xb4\x6a\x1f\x6e\xb0\x80\xad\x85\xd4\x95\x63\x93\x7a\x9e\x75\x08\x61\xae\xbc\x76\xca\x1b\xc9\xbc\xa0\xb5\xae\x1f\x9e\xa1\x93" -+"\x9c\x95\xb3\x08\x29\xe2\xf7\x2c\x1d\x0e\xf8\x54\x67\x1d\x88\x7f\xb6\x0a\xf7\x9c\xe5\x1d\xab\xac\xbb\xa9\x1f\xce\xb4\x8b\x8b\x95" -+"\x99\x08\x91\x93\x8f\x97\x95\x1a\x9c\x81\x9b\x7c\x69\x0a\xfb\x08\x06\xec\x5d\x1d\x0e\xa5\x0a\x0e\xf7\xa4\xf8\xe4\x15\x69\x6c\x6e" -+"\x6a\x73\x68\x0a\x9e\x79\xa4\xae\xaa\xa9\xab\xa4\x79\x9c\x70\x1f\xfb\x99\xfc\x67\x15\x86\x74\x89\x7c\x7e\x1a\x56\xb6\x67\xcc\xc6" -+"\xb5\xa8\xb4\xa4\x78\x9e\x73\x84\x83\x89\x87\x81\xf7\x71\x1d\x93\x8d\x8b\x8b\x8d\x95\x1f\xc2\xf7\x93\x05\x8d\x94\x8d\x99\x92\x1a" -+"\xa2\xf7\x1d\x0a\xf8\x42\xd0\x1d\xfb\xd2\xfc\x53\x15\x87\x77\x89\x7b\x7c\x1a\x55\xb5\x68\xcb\xc6\xb5\xa8\xb4\xa4\x79\x9e\x73\x83" -+"\x83\xf7\x3b\x1d\x8e\x8d\x92\x1f\xc2\xf7\x93\x05\x8d\x96\x8d\x96\x92\x1a\xa3\xf7\x1d\x0a\xa5\x0a\xf7\x40\xf7\x58\x15\x9d\x97\x94" -+"\xf7\x07\x1d\x26\x0a\xf8\x54\x67\x1d\x89\x7e\x7c\xad\x1d\x6f\x9e\x7e\xb6\x1e\xd4\x2e\x0a\xfb\x0a\x25\x1d\x6e\x9d\x7e\xb6\x1e\xf7" -+"\xeb\x06\xa8\x9a\x8f\x96\x98\x83\x1d\xfb\x08\x06\xf7\x41\xf8\xa7\x15\x7d\xf7\x37\x1d\xa8\x5f\x7a\x93\x74\x1b\x6c\x6b\x7c\x6e\x6b" -+"\x1f\x6f\x71\x7e\x78\x7a\x1a\x7c\xf7\x2b\x0a\xaf\x94\x8e\x1d\xa0\xa1\x94\x99\x98\x1a\x99\x7d\x97\x7b\x1e\x0e\xf8\x2d\xa4\x0a\xf7" -+"\x47\xf7\x94\x15\xe4\x31\x05\x81\xf7\x1f\x1d\xfb\x10\x05\x6e\x77\x87\x1d\xf7\x9c\xf7\xd6\x15\xb4\x90\xa4\xa1\xac\x1a\xaa\x7a\x97" -+"\x5f\x1e\x26\x06\x59\x6b\x72\x65\x6f\x9e\x7e\xb5\x1f\x90\x06\x5b\xfb\x6d\x05\x5a\x89\x6e\x74\x66\x1a\x6e\x9d\x7e\xb6\x1e\xf7\x05" -+"\x06\xbd\xab\xa3\xb0\xa9\x79\x98\x60\x1f\x84\x06\x9a\xcd\xc5\x8a\xb5\x59\xad\xfb\x01\x19\x87\x8c\x88\x8c\x88\x1e\xda\x06\xbd\xab" -+"\xa2\xb1\xa9\x79\x98\x60\x1f\x75\x06\x7c\xb4\x70\xb5\x6a\xa8\xf7\x29\xf4\x18\xbc\x8c\xaa\xa2\xb0\x1a\xa9\x79\x98\x60\x1e\x50\x06" -+"\xfb\x78\xfb\x3a\x05\x0e\x8e\x0a\xf5\xfb\x0b\x15\x8c\x8c\x8c\x8c\x8d\x8c\x8e\x64\x0a\x7d\xf7\x0f\x0a\x7a\x79\x87\x83\x65\x0a\xf7" -+"\x92\xf7\x32\x15\x9b\x96\xda\x39\x05\x7b\x7c\x84\x7e\x7a\x1a\x6e\x9d\x7e\xb5\x1e\xf7\x0b\x20\x0a\x9c\x1a\x97\x86\x97\x81\x93\x1e" -+"\x93\x82\x82\x8c\x6f\xd4\x0a\x9d\x1a\xa8\x7a\x97\x5f\x1e\xfb\x04\x82\x0a\x7e\x82\x7b\x79\x1a\x81\x8c\x86\x91\x82\x1e\x3a\x56\xaa" -+"\xf7\x1f\x05\xfb\x0d\x06\x6d\x7f\x88\x80\xf7\x0e\x0a\x96\x06\x5a\xfb\x6e\x05\x7f\x06\x6b\x80\x88\x7f\x7c\x1f\x7c\x7e\x82\x7a\x7a" -+"\x1a\x6e\x9d\x7e\xb5\x1e\xf7\x0c\x06\x0e\x43\x1d\xf7\x56\x30\x0a\xcd\xf2\x15\x60\x8a\x6c\x73\x69\x1a\x6d\x9e\x7d\xb5\x1e\xf0\x06" -+"\xbd\xab\xa3\xb0\xa3\x7f\x98\x70\x90\x1f\xf7\x0f\xf7\x3b\xc8\xfb\x3b\x05\x64\x85\x73\x74\x6b\x1a\x6d\x9c\x7f\xb8\x1e\xe7\x06\xbd" -+"\xab\xa2\xb0\xa9\x7a\x98\x61\x1f\xfb\x47\xf8\x88\x05\x26\xf7\x6d\x1d\xb8\x06\xb1\xfb\x00\x05\x0e\x43\x1d\xf7\xc5\xf8\x50\xde\x1d" -+"\x43\x1d\x56\xfb\x72\x23\x1d\x43\x1d\xf7\x73\xf7\xc0\x15\x60\x60\x64\x64\x6b\xf7\x2e\x0a\xb3\xb2\xab\x73\xa2\x69\x1f\x82\x06\x0e" -+"\xf7\x7d\xf7\xf7\x15\xf7\xb1\xf7\x0b\x05\xa6\x97\x97\x99\xa1\x1a\x92\x89\x92\x88\x92\x1e\x8a\x8d\x05\x9a\x84\x78\x98\x7a\x1b\x82" -+"\x80\x88\x86\x7e\x1f\xfc\x80\xfb\x65\xf8\x80\xfb\x6b\x05\x86\x97\x97\x88\x93\x1b\x9c\x9f\x98\x9b\x92\x1f\x8c\x8c\x05\x8e\x92\x8d" -+"\x93\x91\x1a\xa1\x7f\x99\x70\x97\x1e\x6c\xfb\x7b\x15\xb0\xa2\x9d\xa9\xa9\x75\x9d\x65\x1f\xfc\x1d\x06\x65\x74\x79\x6d\x6d\xa2\x79" -+"\xb1\x1f\x0e\xf7\x2f\xf7\x4b\x15\x78\x58\x74\x73\x69\x87\x08\x60\x83\x75\x76\x6a\x1a\x6e\x9d\x7e\xb6\x1e\xf7\xd4\x06\xb9\xa9\x95" -+"\xa3\xa4\x1f\x9f\x9d\x98\xa9\xa4\x1a\xa3\x79\x9b\x70\x6e\x75\x7c\x6f\x80\x1e\xfb\x55\x06\x9c\xa6\x96\xa2\x95\xa8\x08\xf7\x04\x06" -+"\xa3\x9c\x9a\xa1\x9c\x82\x92\x77\x1f\xfb\x06\x06\x8c\xa5\x05\xf7\x0c\x06\xa3\x9c\x9a\xa0\x9d\x82\x92\x77\x1f\xfb\x1a\x06\x89\xaf" -+"\x8a\xa0\x91\x1a\xbd\xac\xab\xbe\xa5\x9c\x84\x7b\x97\x1e\x71\x9d\x91\x88\x9f\x1b\xad\xaa\xa9\xac\xbb\x47\xb7\x41\xfb\x0c\x2a\x30" -+"\xfb\x06\x81\x8c\x84\x8d\x71\x1f\x57\x06\x72\x7b\x7d\x75\x7a\x94\x83\x9f\x1f\xcf\x06\x8a\x71\x05\x41\x06\x72\x7b\x7d\x75\x79\x94" -+"\x84\x9f\x1f\x0e\xf7\xd9\xf2\x15\xd9\xf7\xf4\x05\xa9\x92\xa8\x99\xc3\x1b\xab\xb2\x87\x85\xb1\x1f\x89\x97\x95\x8a\x92\x1b\xaa\xaa" -+"\xaa\xaa\x9f\x7f\x98\x73\x92\x1f\x93\x6c\x4e\x92\x61\x1b\xfb\x0e\x33\x53\x31\x77\x1f\x84\x6b\x05\x60\x06\xe9\x0a\xb4\x39\x0a\x54" -+"\x8a\x1d\x9d\x7f\xb5\x1e\xf7\xbe\x7a\x1d\x0e\xf7\xe4\xf8\x31\x15\x91\x75\x77\x8e\x76\x1b\xfb\x0b\x2c\x2c\xfb\x0a\xfb\x0a\xea\x2c" -+"\xf7\x0a\xf7\x0a\xea\xea\xf7\x0a\xdb\x5e\xd4\x45\xb0\x1f\xe3\xf7\x53\x05\x61\xaa\xaa\x6d\x95\x1b\x92\x8f\x8f\x90\x8f\x89\x8f\x85" -+"\x95\x1f\x75\xad\x78\xc0\x88\xaf\x08\x9e\x8a\x8a\x8e\x85\x1b\x87\x87\x89\x83\x81\x1f\x78\x7a\x4a\x73\x67\x88\x08\x79\x88\x87\x89" -+"\x83\x1a\x80\xa3\x84\xb2\x1e\x9f\x06\x9f\x8c\x05\x8d\x06\xfb\x31\xfb\x79\x15\xea\xd8\x40\x2f\x2d\x40\x3f\x2d\x2e\x3f\xd6\xe8\xe7" -+"\xd7\xd8\xe5\x1f\x0e\xf7\xb5\xf7\xc4\x15\xe4\xf7\x58\x05\x97\xa6\x8e\x94\x86\x1d\x0e\xf7\xa6\xf7\x28\x15\x90\x7e\x7a\x8f\x7d\x1b" -+"\x57\x5d\x5e\x59\x6e\xa1\x78\xad\xd3\xbe\xc2\xda\x1f\xf7\x8b\x07\xba\x84\xb3\x4b\x46\x1a\x60\x83\x69\x77\x5e\x1e\xa2\x06\xa9\xb0" -+"\x9b\xb9\xbc\x1a\xca\x73\xc7\x59\xc7\x1e\x61\xbe\x8a\x8c\x86\x90\x85\x94\x19\xbc\x66\x07\x0e\xf7\xd8\xf8\x71\x15\xa1\x70\xa2\x77" -+"\xa2\x7e\xc8\x6a\x96\x84\x90\x82\x08\x92\x7f\x8f\x78\x74\x1a\xfb\x89\x07\x92\x79\x71\x90\x76\x1b\x3f\x48\x53\x4c\x66\xaa\x74\xbd" -+"\xc3\xc0\xa3\xb4\xac\x1f\xa2\xa7\x92\xa2\x8e\xbe\x08\xf8\x14\x07\x8c\xd8\x67\xd8\x59\xa9\x34\xc1\x18\x80\x94\x05\x7d\x9a\x84\x9e" -+"\xa3\x1a\x99\x5b\xfc\x9b\x07\x92\x79\x73\x8f\x76\x1b\x41\x49\x53\x4c\x66\xaa\x74\xbb\xc2\xbf\xa3\xb4\xac\x1f\xa1\xa7\x92\xa2\x8e" -+"\xbf\x08\xf7\x2c\xf7\x40\x15\xfb\x0d\xca\x70\xb3\x88\xf7\x0d\x8e\x89\x18\xf7\x0d\x4c\xa5\x64\x90\xfb\x0e\x08\x0e\x3a\x0a\xf7\xc3" -+"\xf7\x67\x2f\x1d\xf7\xd1\xf8\x3d\x15\x28\x06\x71\x82\x8a\x85\x80\x1f\x75\x7f\x7d\x76\x75\x1a\x7f\x90\x7f\x95\x84\x1e\x93\x84\x92" -+"\x89\x9f\x8a\x5a\xfb\x6f\x18\x89\x67\x0a\xa7\x99\xf7\x25\x1d\x6f\x1b\x8a\x06\xb0\xf7\x3c\x05\xba\xc3\xae\x9b\xb8\x1b\xba\xa5\x7c" -+"\x71\x83\x8a\x84\x8a\x83\x1f\x66\xfb\x3b\x05\x5f\x6d\x71\x68\x6e\x9d\x7e\xb6\x1f\xe4\x20\x0a\x9c\x1a\xa6\x7c\x97\x68\x8d\x1e\xb0" -+"\xf7\x3d\x05\x8f\x9a\x8c\x99\x9c\x1a\xd2\x4e\xbb\x31\x55\x67\x7e\x64\x55\x1e\x76\xf7\x43\x15\x9a\x9b\x91\x96\x97\x1a\x9d\x7d\x98" -+"\x78\x7a\x80\x85\x77\x79\x1e\xfb\x01\xfb\x0c\x05\x7c\x7a\x85\x80\x7f\x1a\x7a\x9a\x7e\x9e\x9b\x97\x92\x9e\x9c\x1e\x0e\x3a\x0a\xf7" -+"\x22\xf7\x4b\x45\x1d\x3a\x0a\xb3\xfc\x8c\x23\x1d\xf7\xda\xf7\x7c\x15\xf7\x93\xbd\xfb\x79\x06\xec\xf7\x49\x05\xf7\x18\xbe\x22\x06" -+"\x97\xa9\x96\xa1\x96\x9a\x08\x8f\x90\x8d\x8f\x8e\x1a\x96\x7e\x96\x7f\x7e\x85\x87\x7b\x83\x1e\x60\x3a\x05\xfb\x1a\xf7\x09\x0a\xfb" -+"\x10\xb7\x3b\xe6\x63\x1e\x6e\x55\x05\x87\x83\x89\x85\x86\x1a\x7f\x97\x80\x98\x97\x92\x90\x9a\x93\x1e\xac\xca\x05\x87\xac\x8f\x8b" -+"\xb8\x1b\xf7\xba\xbe\xfb\xc6\x06\x73\x84\x8b\x8d\x7e\x1f\xb2\xf7\x47\x15\x31\xfb\x3c\x4a\xa1\x68\xc3\x87\xe0\x19\x90\x07\xf7\xd2" -+"\xf7\x7b\x15\x2a\xfb\x49\x05\xfb\x71\x90\x06\x91\xf7\x0c\xcc\xc6\xf7\x14\x88\x08\x0e\xf8\x54\xf8\x32\x15\x92\x97\x05\x91\x96\x8e" -+"\x94\x95\x1a\xa9\x71\xa4\x6c\x78\x77\x7d\x77\x7f\x1e\x67\x4c\x05\xfb\x68\x06\x70\x83\x8a\x84\x80\x1f\x7a\x81\x80\x79\x4c\x1d\xf7" -+"\x29\x06\x67\x4b\x05\xfb\x05\x06\x71\x82\x8a\x84\x80\x1f\x7a\x82\x80\x78\x4c\x1d\xbd\x06\x7c\x71\x05\x85\x81\x87\x7d\x81\x1a\x71" -+"\xa5\x74\xa9\xa1\x9e\x97\x9f\x97\x1e\xb7\xd8\x05\xf7\x62\x06\xa2\x98\x8d\x91\x95\x1f\x9c\x94\x96\x9e\x9e\x1a\x9d\x82\x9c\x7c\x95" -+"\x1e\x93\x7f\x81\x8d\x6f\x1b\xfb\x23\x06\xaf\xcb\x05\xf6\x06\xa2\x99\x8d\x91\x94\x47\x1d\x0e\xf7\x7f\xf8\x3d\x15\x28\x06\x62\x6d" -+"\x72\x6a\x73\x9e\x7c\xab\x1f\xa2\x06\xee\xfb\xe2\x05\xd9\x06\xab\xa4\x96\x94\xb2\xad\x08\xf7\x13\xf7\x04\xbe\xd9\xdb\x1a\xa9\x84" -+"\xaa\x7f\xa0\x1e\x9a\x82\x7e\x93\x78\x1b\x6a\x6a\x6e\x6c\x86\x8b\x88\x8c\x87\x1f\x93\x6d\x8c\x88\x7b\x1a\x52\x60\x4d\x2c\x3c\x1e" -+"\x0e\xda\x1d\x49\xf7\xde\xac\x0a\x24\x0a\xc1\xf7\x98\x5b\x0a\x24\x0a\x4e\xf7\xa3\x33\x0a\xf7\xaa\xaf\x15\x68\xa5\xaa\x7b\xb3\x1b" -+"\xf6\xd5\xf7\x02\xf7\x32\x9a\x0a\x5c\x98\x69\xa6\x70\x1e\x74\xa3\xad\x7d\xab\x1b\xb0\xac\x9a\xaf\xb3\x1f\x0e\xf7\xa9\xa7\x15\x6e" -+"\xa6\xaa\x7d\xb1\x1b\xf7\x01\xd5\xf7\x01\xf7\x33\x9a\x0a\x36\xc1\x4f\xd8\xaf\xab\x98\xa9\xb3\x1e\xf7\x66\xf8\xad\x15\x9e\x97\x93" -+"\x97\x22\x0a\x7c\x81\x81\x87\x82\x7d\x1e\xfb\x12\x38\x05\x79\x7f\x82\x7f\x7d\x1a\x7c\x96\x80\x9b\x94\x26\x0a\xd8\x1d\xf7\xf3\xf8" -+"\x49\x15\x3e\x32\x69\x57\x52\x1f\x53\x57\x67\x42\x4d\x1a\x23\xe5\x40\xf7\x13\xf7\x39\xf7\x25\xf7\x10\xf7\x21\xf7\x00\x32\xda\xfb" -+"\x0f\x1e\x76\x23\x15\xd3\xbe\x5f\x4e\x43\x35\x48\x2e\x43\x54\xb5\xc2\xa9\x9b\xab\xa8\xa7\x1f\xb2\xb3\xb7\x9d\xc1\x1b\xf7\x19\xf7" -+"\x7c\x15\x9e\x97\x93\x97\x22\x0a\x7b\x82\x80\xf7\x10\x1d\xcf\x8e\x15\xf8\x66\xec\xfc\x02\xf7\xf5\x27\x06\x0e\xbf\x1d\xf7\x1e\xf7" -+"\xa0\x2f\x1d\xf7\x2b\xf8\xbc\x15\x7d\x8c\x95\x82\x9a\x1b\xac\x8c\x05\xbb\xc4\x77\x6c\xb5\x1f\xa8\x76\x9e\x76\xa7\x60\x08\xa7\x5f" -+"\x66\x96\x57\x1b\xfb\x16\x24\x28\xfb\x11\xfb\x11\xf2\x27\xf7\x17\xf7\x15\xf3\xee\xf7\x10\xe9\x64\xf7\x00\x4e\xd1\x1f\xcb\x55\x33" -+"\xb0\x29\x1b\x70\x88\x8a\x84\x84\x1f\x87\x87\x89\x84\x84\x1a\xf7\x27\xfb\x40\x15\xf3\xdb\x40\x28\x2b\x3b\x3e\x26\x26\x3a\xd8\xec" -+"\xea\xdb\xd9\xee\x1f\x0e\xf7\x92\xf7\x6f\x15\x98\x06\xf7\x04\xe0\xe0\xf7\x03\xeb\x55\xc0\x29\x1f\x35\x06\x74\x85\x8a\x85\x7f\x1f" -+"\x78\x80\x7e\x76\x75\x1a\x6f\x99\x7d\xab\x1e\x3c\xfb\xfa\x73\x8c\x82\x87\x7c\x7f\x19\x7d\x7e\x83\x7c\x79\x1a\x7f\x8f\x81\x93\x82" -+"\x1e\x81\x94\x90\x8a\xa5\x1b\xf7\x18\x06\xaa\x96\x8e\x97\x9a\x1f\x9b\x97\x94\x9d\x9b\x1a\xa9\x79\x97\x61\x1e\x6f\x06\xda\xf7\xf9" -+"\x15\xb0\x87\x97\x7e\x69\x1a\x71\x82\x73\x7a\x7b\x1e\x7f\x7e\x7f\x87\x6d\x88\x08\xf7\xa3\x44\x15\x90\x9b\x8c\x8e\x96\x1a\xa2\x79" -+"\x9a\x70\x68\x71\x72\x62\x84\x1e\x88\x7b\x05\x76\x83\x8a\x84\x81\x1f\x7a\x81\x7e\x74\x77\x1a\x6e\x99\x7e\xaa\x8a\x1e\x85\x6f\x8a" -+"\x80\x7d\x1a\x53\xbd\x63\xd0\xbb\xab\xa2\xb0\xa1\x7d\x9d\x78\x87\x88\x8b\x8a\x88\x1e\x88\x7f\x8b\x8b\x84\x1b\x7b\x82\x95\x9d\x91" -+"\x8c\x90\x8d\x99\x1f\xa9\x93\x8d\x91\x98\x1f\xa0\x96\x9a\xa1\x9f\x1a\xab\x7a\x96\x5d\x1e\x0e\xf7\xbf\x7c\x15\xcc\x92\xbb\x99\xb1" -+"\xa4\x08\xd1\xb8\xb9\xe0\xe0\x1a\xf6\x40\xdf\x2d\x68\x68\x7d\x72\x72\x1e\x78\x79\x80\x72\x80\x5e\x5a\xfb\x6f\x18\x5e\x97\x76\xa8" -+"\xbc\x1a\xc9\xa3\xba\xc7\xc1\x1e\xa0\x9f\x93\x98\x9e\x1a\xa4\x7a\x9b\x6f\x63\x63\x70\x55\x65\x1e\x64\x54\x78\x53\x4e\x1a\x2a\xc4" -+"\x41\xe9\x72\x1e\x6f\xfb\x17\x05\x89\x82\x89\x7e\x85\x1a\x73\x9d\x7b\xa7\xae\xa3\xa2\xb6\x94\x1e\xef\xf8\x56\x15\x9e\x8f\x94\x94" -+"\x98\x1b\xac\xa7\x63\x5c\x3c\x58\x52\x37\x78\x1f\x0e\xf7\xb1\xf7\xd6\x15\xf7\x3f\x06\x5a\xfb\x6e\x05\x89\x06\x6b\x80\x88\x7e\x7c" -+"\x1f\x7b\x7f\x82\x7a\x7b\x1a\x6c\x9d\x7f\xb7\x1e\xf7\x04\x06\xaa\x93\x8d\x98\x9c\x1f\x9b\x98\x94\x9c\x9b\x1a\x97\x86\x96\x81\x94" -+"\x1e\x94\x81\x84\x8d\x6f\x1b\x89\x06\xbc\xf7\x6e\x05\x94\x06\xa9\x96\x4f\x0a\xa8\x79\x98\x61\x1e\xfc\x27\x06\x6d\x80\x88\x7f\x7c" -+"\xf7\x5f\x1d\x92\x06\x5a\xfb\x6e\x05\x88\x06\x6b\x83\x88\x7e\x7b\x1f\x7a\xf7\x4e\x1d\x92\x89\xa7\x1b\xf7\x04\x06\xac\x95\x4f\x0a" -+"\xa9\x79\x98\x60\x1e\x8a\x06\x0e\xf8\x93\xf8\xae\x15\x92\x06\xae\x8a\xa3\x9f\xab\x1a\x93\x07\x8a\xac\x74\x9f\x66\x89\x08\xfc\x44" -+"\x06\x66\x8d\x74\x77\x8a\x6a\x08\x83\x07\x8c\x6a\xa2\x77\xb0\x8d\x08\x98\xfc\x9b\x7e\x06\x66\x8d\x74\x77\x8a\x6a\x08\x83\x07\x8c" -+"\x6a\xa2\x77\xb0\x8d\x08\xf7\x13\x06\xb0\x89\xa2\x9f\x8c\xac\x08\x93\x07\xaa\x74\xa0\x6a\x8a\x1e\x88\xf8\x9b\xf7\x4a\xfc\x9b\x83" -+"\x06\x68\x8d\x73\x77\x6a\x1a\x83\x07\x8c\x6a\xa2\x77\xb0\x8d\x08\xf7\x13\x06\xb0\x89\xa2\x9f\x8c\xac\x08\x93\x07\xab\x73\x9f\x68" -+"\x8a\x1e\x84\x06\x0e\xf7\xe9\xf8\x64\x15\xfb\x2b\x65\x86\x71\x5e\x1f\x46\x62\x61\x3f\x37\x1a\x3e\xad\x46\xc8\x5f\x1e\x67\xbd\xae" -+"\x85\xf7\x39\x1b\xf7\x56\x06\xa0\x99\x95\x9b\x9b\x7f\x94\x74\x1f\xfb\x58\x06\xfb\x14\x60\x90\x9e\x68\x1f\x54\xa8\x65\xcb\xcb\x1a" -+"\xc5\xab\xc7\xba\xaa\x1e\xa6\xb3\xb0\x90\xf7\x23\x1b\xf7\x58\x06\xa1\x98\x95\x9b\x9b\x7e\x94\x75\x1f\x0e\xf7\x74\x16\xf7\x2d\xb0" -+"\x90\xa5\xb8\x1f\xd0\xb4\xb5\xd7\xdf\x1a\xd8\x68\xd0\x4f\xb7\x1e\xaf\x59\x67\x91\xfb\x39\x1b\xfb\x55\x06\x75\x7e\x82\x7b\x7b\x98" -+"\x81\xa1\x1f\xf7\x58\x06\xf7\x16\xb3\x86\x78\xaf\x1f\xc2\x6f\xb1\x4a\x4b\x1a\x51\x6b\x50\x5b\x6b\x1e\x71\x65\x63\x85\xfb\x21\x1b" -+"\xfb\x58\x06\x74\x7f\x82\x7b\x7c\x99\x80\xa0\x1f\x0e\xf7\x3f\xfb\x14\x15\x86\x78\x89\x7c\x82\x1a\x73\x9d\x7b\xa7\x9e\x9d\x93\x9a" -+"\x99\x1e\x92\x93\x90\x99\x92\xa9\xa6\xf7\x0c\x18\xf7\x20\x8f\xba\xb4\xa4\xf7\x1e\xad\xf7\x2f\x18\xb9\x8e\xa5\xa2\xad\x1a\xaa\x79" -+"\x97\x60\x1e\x29\x06\x4e\xfb\xa6\x80\x5b\x7d\x7f\x59\x88\x19\xec\xf8\x44\x05\x90\xa2\x8d\x98\x93\x1a\xa4\x7a\x99\x6f\x77\x79\x83" -+"\x7b\x7d\x1e\x83\x83\x88\x81\x83\x6a\x28\xfc\x4f\x18\x67\x8c\x7c\x94\x9f\x1a\x93\x8d\x9a\x91\xa3\x1e\xc6\xf7\x9b\x05\x26\x06\x59" -+"\x6b\x73\x67\x6f\x9a\x7d\xad\x8a\x1f\x6b\xfb\x26\x05\x85\x6e\x88\x76\x7c\x1a\x69\x9a\x6a\xa7\x72\x1e\xa1\x77\xa3\x82\xba\x84\x08" -+"\x0e\xf8\x92\xf7\x5f\x15\x7c\x9f\x86\x92\x7c\x9b\xce\x1d\xa3\xf7\x00\x05\xe7\x06\x9d\x82\x9a\x7d\x9f\x70\x89\x8a\x18\x6c\x81\x7c" -+"\x79\x71\x1a\x78\x9b\x77\x9a\x8c\x1e\x91\x95\x8e\x8f\x98\x1f\xac\x96\xa3\x5b\x92\x7b\x91\x74\x19\xf7\x20\x1d\x87\x93\x8a\x8e\x85" -+"\x98\x91\x8c\x18\xa8\x94\x9c\x9f\xa5\x1a\x9e\x7c\x9d\x7c\x86\x7f\x88\x87\x7e\x1e\xfb\xa9\xf0\x15\xab\xf7\x26\x05\xf7\x01\x06\xc2" -+"\xaf\x75\x68\x5a\x42\x63\x33\x1f\x0e\x3f\x0a\xf7\x74\xf7\x78\x15\xa3\x9b\x94\x97\x9c\x1a\x9d\x7d\x98\x77\x7f\x84\x88\x7e\x78\x1e" -+"\xfb\x31\x21\x05\x74\x7c\x81\x7d\x7c\x1a\x78\x99\x7e\x9f\x95\x97\x90\x95\x9a\x1e\x0e\xf7\x2e\xf7\xd1\x15\x22\x06\x79\x8c\x80\x82" -+"\x8a\x7a\x08\x8a\x07\x8c\x7a\x96\x82\x9d\x8c\x08\xc7\x06\xe4\xfb\xb0\xf7\x85\xf9\x2f\x05\xf7\x3b\x06\x9c\x98\x96\x9a\x9b\x80\x94" -+"\x78\x1f\xfb\x66\x06\xfb\x55\xfc\xcc\x05\x0e\x3f\x0a\xca\xf7\x5c\x45\x1d\x3f\x0a\x64\xfc\x7b\x23\x1d\xf7\x0b\xf8\x19\x15\xf8\x12" -+"\x06\xa1\x96\x94\x9c\x9b\x80\x94\x75\x1f\xfc\x46\xfb\x88\x06\x77\x94\x80\x9c\x9c\x94\x96\x9f\x1e\x0e\xf7\x30\xa8\x15\x6d\xb4\xb4" -+"\x7d\xba\x1b\xcb\xca\xa6\xbe\xbf\x1f\xc1\xc0\xa6\xc8\xd1\x1a\xf7\x05\x3c\xd8\xfb\x09\x43\x3f\x6b\x58\x5a\x1e\x68\x67\x72\x53\x7a" -+"\x3c\x48\xfb\xcb\x18\x86\x71\x89\x81\x83\x1a\x72\x9c\x7d\xa8\x9f\x9d\x93\x9a\x99\x1e\x92\x93\x8e\x94\x93\xae\x08\xf7\x7c\xf8\x69" -+"\x15\xc2\xab\x6c\x54\x3b\x40\x3d\x3d\x56\x63\xb4\xc1\xda\xd5\xd1\xe0\x1f\x0e\x56\x1d\x8e\xf7\x9a\x2f\x1d\xf7\xe0\x7d\x15\xf7\x19" -+"\x95\xea\xce\xdf\x1a\xb0\x79\xaa\x6a\x9f\x1e\x72\x9b\x62\x96\x44\x94\x4e\x93\x84\x8c\x7f\x90\x08\x80\x90\x83\x91\x91\x1a\x9b\xbf" -+"\x9b\xbd\xb5\xa8\x83\x79\xa2\x1e\x6b\x96\x95\x83\xa5\x1b\x9b\x9d\x93\x98\x99\x1f\x95\x95\x8f\x93\x91\xa6\x93\xae\x18\xa1\x0a\xa2" -+"\x7f\xa9\x83\xb5\x86\x78\x36\x18\x8c\x99\x94\x42\x0a\xb2\x7b\x9e\x62\x94\x1f\x0e\x56\x1d\xfb\x2e\xf7\x88\x15\xe4\x31\x05\x81\x95" -+"\x93\x87\x95\x1b\xa3\xc8\x0a\x26\x0a\x56\x1d\xfb\x98\xfc\x59\x23\x1d\xf7\x5f\xf7\xc4\x15\xe4\xf7\x58\x05\x97\xa6\x8e\x94\x86\x1d" -+"\xf7\x60\x16\xe4\xf7\x58\x05\x97\xa5\x8e\x95\x86\x1d\x0e\xf8\x48\xf8\x49\x15\xfb\x07\x45\x77\x59\x4b\x1f\x4a\x59\x61\x3d\x45\x1a" -+"\xfb\x02\xe0\x41\xf7\x12\xe3\xe5\xb1\xc9\xc5\x1e\xb9\xbd\xa6\xc6\xc0\x1a\xab\x83\xa6\x7a\xa7\x1e\xba\x5e\x1d\xfb\xa8\x24\x15\xd6" -+"\xbc\x64\x4e\x3e\x36\x46\x2d\x42\x5a\xb3\xc7\xd7\xe0\xd1\xe7\x1f\x0e\xf7\x6d\xf8\x23\x15\x75\x79\x7a\x75\x76\x9c\x79\xa1\xa1\x9c" -+"\x9c\xa1\xa0\x7a\x9d\x76\x1f\xf7\x41\x8c\x15\x75\x79\x79\x76\x75\x9d\x79\xa1\xa0\x9d\x9d\xa0\xa1\x79\x9d\x76\x1f\xe9\x37\x15\x82" -+"\x64\x83\x7b\x77\x73\x08\x61\x66\x5c\x77\x4d\x1b\x4c\x5d\x9f\xb5\x66\x1f\x77\xa3\x83\x9b\x82\xb2\x90\x48\x93\x6c\xa2\x68\x08\x5b" -+"\xac\xbd\x72\xcb\x1b\xc6\xba\xa0\xb4\xab\x1f\xa8\xb0\x96\xae\x90\xd3\x08\xfb\x47\xf7\x8b\x15\xfb\x33\xfb\x13\xfb\x10\xfb\x2f\xfb" -+"\x32\xf7\x11\xfb\x12\xf7\x31\xf7\x2f\xf7\x12\xf7\x12\xf7\x30\xf7\x2d\xfb\x12\xf7\x14\xfb\x2b\x1f\x83\x66\x15\xf7\x1d\xf7\x03\xfb" -+"\x00\xfb\x1b\xfb\x1d\xfb\x01\xfb\x01\xfb\x1c\xfb\x1b\xfb\x01\xf7\x01\xf7\x1c\xf7\x19\xf7\x02\xf7\x03\xf7\x17\x1f\x0e\xf7\x22\x16" -+"\xf8\x09\x9d\x06\xfb\x11\x91\x51\xcd\x8d\xf7\x17\x08\x4a\xad\xaf\x72\xc3\x1b\xc1\xb8\xba\xc5\xc0\x77\xaa\x38\xd7\x1f\x37\xd8\x7c" -+"\xa1\x6d\xe5\x7f\x44\x5c\x47\x3a\x4a\x08\x4d\x58\x70\x5f\x5a\x1a\x51\xba\x5b\xc4\xc3\xb3\xa8\xc8\xa8\x1e\xfb\x14\x90\x47\x40\xfb" -+"\x0e\x1b\x0e\xf8\x37\xf8\xab\x15\x91\x42\x8c\x6d\xa2\x75\xaa\x8a\x19\x90\x06\xac\x8c\xa1\xa3\x8a\xab\x08\xf7\x0f\x07\xad\x8c\x72" -+"\xa2\x67\x1b\xfb\xeb\x06\x67\x8c\x72\x74\x6b\x1a\x7e\x07\x7b\x8e\x82\x95\x7e\x1e\xf7\x39\xfb\x73\xfb\x3d\xfb\xba\x05\x84\x7f\x89" -+"\x84\x7e\x1a\x7c\x07\x6a\xa4\x74\xaf\x8c\x1e\xf7\xf2\x06\xaf\xa3\xa2\xad\x1f\xf7\x10\x07\xab\x75\xa3\x6a\x8c\x1e\x86\x06\x6c\x8a" -+"\x74\x74\x8a\x6c\x88\x43\x18\xfb\x62\x06\xf7\x2a\xf7\x93\x05\x91\x97\x8e\x93\x95\x1a\x97\x88\x94\x82\x97\x1e\xfb\x1a\xf7\x4c\x05" -+"\x0e\xf7\x23\xf8\x2a\x15\x73\x6e\x7d\x68\x86\x65\x08\x2c\x5e\xeb\x06\x8f\x64\x99\x68\xa2\x6e\x48\x48\x18\xab\x6b\xce\xcf\xa9\x73" -+"\xab\x7e\xb4\x85\x19\x2c\xb8\xea\x07\xb4\x91\xad\x99\xa7\xa2\xce\x47\x18\xab\xab\x48\xcf\xa1\xa4\x9a\xaf\x90\xb4\x19\xeb\xb8\x2b" -+"\x06\x86\xb3\x7c\xaf\x75\xa6\xce\xce\x18\x6b\xab\x48\x48\x71\xa1\x62\x9c\x67\x8e\x19\xea\x5e\x2d\x07\x68\x87\x61\x79\x72\x75\x47" -+"\xcf\x18\x6b\x6b\x05\xf7\x72\x5d\x15\xdc\xcc\x4b\x3d\x3a\x4b\x4b\x3b\x3c\x4b\xcb\xda\xda\xcb\xcc\xd8\x1f\x0e\xf8\x35\xf7\xd7\x15" -+"\xd7\x06\xad\x92\x8d\x97\x9b\x1f\x9b\x98\x94\x9c\x9c\x1a\xa1\x7e\x99\x75\x8e\x1e\x8e\x75\x8a\x8b\x89\x1b\xfb\x9f\x06\x6b\x82\x88" -+"\x7f\x7b\x1f\x7b\x7e\x82\x7b\x7a\x9d\x1d\xdd\x06\x55\xfb\x89\x05\x89\x84\x8b\x87\x81\x1a\x5f\xac\x74\xc8\xd9\xc2\xab\xb8\x9f\x7f" -+"\x99\x7b\x83\x81\x89\x87\x81\x1e\x82\x74\x80\x89\x7e\x1b\x84\x88\x8d\x90\x8e\x8b\x8e\x8c\x8f\x1f\x0e\xf7\xab\xf7\xa5\x15\x96\xbc" -+"\x05\xf7\x46\x06\xaa\x96\x4f\x0a\xa9\x7a\x97\x60\x1e\xfb\x44\x06\x9c\xda\x05\x8f\x9b\x8c\x8e\x96\x1a\xa2\x79\x9a\x70\x79\x7e\x85" -+"\x7d\x7b\x1e\x82\x82\x83\x7a\x87\x77\x79\x3a\x18\x6c\x06\x6c\x80\x88\x80\x7c\x1f\x7b\x7f\x81\x79\x7a\x1a\x7f\x90\x80\x95\x82\x1e" -+"\x82\x95\x92\x8a\xa8\x1b\xa9\x06\x80\x5a\x05\x72\x82\x8a\x85\x7f\x1f\x75\x80\x7c\x75\x76\x1a\x7f\x90\x81\x95\x81\x1e\x82\x95\x91" -+"\x8a\xa8\x1b\x81\x5a\x05\x89\x82\x8a\x83\x80\x1a\x6f\x93\x75\x9c\x7b\x1e\x72\xa4\xc3\x7a\xc0\x1b\xd2\xf0\xa2\xa7\xbd\x1f\xa2\x98" -+"\x99\x9f\xa0\x1a\xa1\x77\x9e\x73\x83\x83\x89\x87\x82\x1e\x71\x50\x5c\x80\x52\x1b\x5a\x72\x94\x9d\x92\x8c\x92\x8d\x94\x1f\x92\xab" -+"\x05\xf7\x1d\x06\xab\x96\x2a\x0a\x9c\x9b\x1a\xaa\x7a\x97\x5f\x1e\x0e\xf8\x81\xf8\x3d\x15\x86\x06\xfb\x44\x06\x9d\xda\x05\x8f\x9d" -+"\x8b\x8d\xd9\x0a\x79\x3a\x05\x6b\x06\x6a\x82\x89\x7e\xa2\x1d\xa9\x06\x5e\xfb\x5d\x05\x89\x82\x8a\x83\x7f\x1a\x6b\x99\x6f\xa4\x7b" -+"\x1e\x77\xa9\xb7\x80\xb8\x1b\xd2\xeb\xa1\xa8\xc3\x1f\xa4\x98\x97\x9c\xa1\x78\x1d\xb4\xf7\x4c\x05\xf7\x46\x06\xa9\x98\x8e\x97\x99" -+"\x1f\x9b\x97\x94\x9c\x9d\x1a\x91\x8a\x8f\x87\x93\x1e\x97\x8e\x8b\x8b\xa2\xa0\xf2\xf7\x0d\x18\xf0\x1d\x81\x7f\x1a\x89\x8b\x89\x8c" -+"\x88\x1e\x0e\xf7\xc8\x7c\x15\xc1\x8d\xd4\x9b\xbe\x9f\x08\xbb\x9e\x9c\x9d\xa7\x78\x1d\xb4\xf7\x4c\x05\xf7\x46\x81\x1d\x20\x1d\xdc" -+"\x1d\x57\xac\x6a\xcb\x7c\x1e\x74\x26\x05\x8d\x9c\x93\x8b\x90\x1b\xa6\x9a\x82\x7b\x7e\x80\x83\x78\x7a\x74\x92\x95\x7a\x1f\x96\x79" -+"\x89\x8c\x7f\x1b\x72\x79\x7a\x72\x82\x8f\x82\x90\x85\x1f\x78\x9e\xba\x7c\xb4\x1b\xd5\xbf\xba\xcd\xb1\x79\xa0\x64\x95\x1f\x0e\xf8" -+"\x07\xf8\xef\x15\x2c\x36\x51\x29\x59\x1f\x67\x45\x74\x2b\x3e\x1a\x44\x9d\x56\xb1\x64\x1e\x66\xae\xb9\x78\xc0\x1b\xda\xdb\xb8\xd3" -+"\xbb\x1f\xbc\xd4\xab\xf7\x06\xef\x1a\xf7\x14\x3f\xe1\xfb\x05\x1e\xfb\x2d\xfb\x96\x15\xee\xa9\xc1\xc2\xd0\x1b\xc0\xa7\x64\x41\x7f" -+"\x8a\x83\x89\x76\x1f\x73\x23\x15\x28\x6b\x55\x55\x47\x1b\x56\x6f\xb2\xd2\x99\x8c\x93\x8d\xa0\x1f\x0e\xf8\x63\xf8\xc9\x15\x9e\x97" -+"\x93\x97\x22\x0a\x7b\x82\xf7\x16\x1d\x9a\x1e\x0e\xf8\xc6\xbc\x1d\xfb\x7a\xa9\x0a\x57\x1d\xfb\x02\xf8\x7f\x5b\x0a\x57\x1d\xfb\x75" -+"\xf8\x8a\x33\x0a\xa7\xfb\xaf\xf7\x0b\x0a\x79\x94\x7b\xba\x0a\xfc\xb4\xf7\x2f\x15\x70\x83\x8a\x84\x80\x1f\x7a\x81\x80\x79\x78\x1a" -+"\x7a\x94\x7a\xf7\x29\x1d\x94\x96\x9e\xf7\x4d\x1d\x0e\x0e\x76\x1d\x57\x0a\x58\xfb\x72\x23\x1d\x94\x0a\xd7\xfb\x95\x15\x8c\x8c\x8c" -+"\x8c\x8d\x8c\x8e\x64\x0a\x7d\xf7\x0f\x0a\x7a\x79\x87\x83\x65\x0a\xcb\x0a\x79\x1d\xf8\xb9\x16\xfb\x06\xf8\xc8\x05\xfb\x08\x06\xfb" -+"\xff\xfc\xc8\x05\xf8\x62\xf3\x15\xfb\xa1\x06\xf7\x61\xf7\xd2\x05\x0e\xf7\xaf\xe9\x15\x74\x96\x87\x8d\x82\x91\x08\x68\xa2\x7a\xb2" -+"\xc5\x1a\xcd\xa1\xd2\xad\xbc\x1e\xbe\xb1\xc0\xa5\xd0\x1b\xe1\xb6\x62\x3a\x3c\x68\x30\x58\x56\x1f\x73\x72\x78\x81\x56\x75\x75\x2d" -+"\x18\xf7\x5c\x06\xaa\x96\x35\x0a\x9b\x1a\xa8\x79\x98\x61\x1e\x4f\x06\xc1\xa3\xa2\x9f\xaa\xbc\x08\xae\xc3\x9f\xce\xca\x1a\xd0\x74" -+"\xc1\x61\xa8\x1e\xa7\x62\x4d\x9b\x4a\x1b\xfb\x00\x2a\x65\x4b\x53\x1f\x53\x4b\x69\x33\x38\x1a\x59\x99\x62\xa4\x72\x1e\x91\x85\x94" -+"\x84\x9c\x82\x08\x4c\xaa\x1d\x7c\x7f\xf7\x00\x0a\xf7\x5a\x06\x0e\xf7\x31\x89\x15\x81\xa2\x9d\x87\xa5\x1b\xb8\xb5\x95\xa3\xbe\x1f" -+"\x87\x79\x05\xee\x06\xbe\xaa\xa2\xb2\xa6\x7a\x98\x6a\x8c\x1f\xd3\xf7\xd6\x05\xfb\x20\x06\x57\x6c\x74\x64\x6e\x9e\x7e\xb6\x1f\xa8" -+"\x06\x62\xfb\x4b\x05\x67\x46\x5c\x7c\x5e\x1b\x72\x7a\x96\x9b\x90\x8d\x94\x8d\x97\x1f\xcb\xf7\xb1\x05\xfb\x0e\x06\x58\x6d\x40\x1d" -+"\x95\x06\x27\xfc\x54\x05\x88\x7e\x8a\x81\x85\x1a\x74\x9e\x7a\xa4\xae\xa3\xa2\xb7\x94\x1e\x0e\xf8\xb7\xf7\xc3\x15\x91\xa8\x05\x93" -+"\xac\x8d\x95\x97\x1a\xa7\x74\xa1\x6d\x76\x7c\x83\x7a\x80\x1e\x9c\x6e\x67\x93\x5e\x1b\x39\x44\x6d\x51\x56\x1f\x5a\x56\x6e\x43\x47" -+"\x1a\x28\xbd\x50\xf7\x05\x68\x1e\xc1\x7b\x8f\x88\x7f\x1a\x79\x71\x7a\x69\x88\x1e\x77\x89\x87\x8a\x81\x88\x08\x72\x82\x7c\x77\x70" -+"\x1a\x6d\x9e\x7e\xb4\xf2\xda\xc9\xdd\xc7\x6b\xae\x39\xa6\x1e\x36\xa8\x79\x9c\xc0\x1a\xf3\xd7\xde\xea\xb7\xb1\x77\x73\x89\x8b\x88" -+"\x8a\x86\x1e\x8a\x87\x8b\x86\x86\x1a\x6b\xa1\x75\xad\xab\x99\x9b\xbc\x94\x1e\x0e\x24\x1d\xad\xf7\x28\x05\x8e\x9b\x8c\x91\x93\x1a" -+"\xa1\x21\x1d\xed\xe9\x1d\x71\x1d\xbc\xf8\xe3\x15\x97\x7f\x86\x8d\x7f\x1b\x74\x75\x77\x76\x80\x91\x82\x98\x7e\x1f\xf7\x0c\xfb\x00" -+"\x05\x83\x95\x97\x84\x92\x1b\xa3\xa0\x9f\xa2\x96\x87\x92\x7c\x99\x1f\x0e\xf7\x79\xf7\x2c\x15\x46\xf7\xc9\x05\x99\x06\xab\x96\x50" -+"\x1d\x9b\x1a\xa9\x79\x97\x61\x1e\xfb\x19\x06\x6c\x80\x88\x7f\x95\x1d\xb4\x1e\xef\xfc\x61\x05\xf3\x06\xf7\x87\xf8\x13\x05\xab\xa0" -+"\x9d\x9d\x97\x1b\x8f\x8e\x8a\x89\x8e\x1f\x7a\xaa\x8d\x8a\x9d\x1b\xb7\xb5\xb3\xb5\xb4\x68\xa5\x54\x40\x50\x63\x35\x55\x1f\x0e\x59" -+"\x0a\xb5\xf8\x72\xb7\x0a\xf7\x8d\xf7\x7c\x15\xf7\x0b\x06\xa2\xf1\x05\xfb\x0b\x06\xa7\xf7\x13\x05\xf7\x8c\x06\x81\x5f\xf7\x08\x0a" -+"\x92\x99\x99\x1e\x95\x95\x8f\x94\x91\xa6\xac\xf7\x28\x18\xfc\x6f\x27\x1d\x95\x06\x6f\xfb\x13\x05\x53\x06\x74\x25\x05\xc3\x06\x6e" -+"\xfb\x15\xdf\x1d\xf7\x82\xf7\xa2\x15\x96\xbe\x05\xf7\x78\x06\x79\x38\x05\x87\x7c\x8a\x83\xf7\x26\x0a\x95\x1e\xb5\xf7\x51\x05\xfc" -+"\x86\xf7\x59\x1d\x80\x58\x05\x6b\x06\x63\x71\xf7\x22\x0a\xaa\x06\x79\x39\x44\x0a\x9d\xdd\x05\xce\x06\xb1\xa6\xa0\xa7\xa5\x1d\xf8" -+"\x91\xf7\x00\x15\x6c\xf7\x19\x85\xa4\x80\x9e\x78\x9c\x19\x99\x93\xbf\xca\xb1\xc1\x08\x71\x91\x99\x80\xa6\x1b\xa4\x9a\x9a\xa9\x92" -+"\x1f\x95\xb5\x05\x8e\x98\x8d\x9c\x96\x1a\xa8\x77\x9c\x68\x51\x69\x6b\xfb\x3c\xfb\x13\x1e\xa3\xeb\x05\x8f\x06\xae\xa2\xa1\xab\xaf" -+"\x73\x99\x4c\x1f\x5f\x06\x4f\x74\x7d\x66\x71\x99\x7b\xa9\x82\x1f\x78\x29\x64\xf7\x06\x82\xa4\xf7\x2b\x1d\x86\x7a\x89\x7d\x81\x1a" -+"\x72\xa1\x78\xa7\xa3\x97\x95\xab\x98\x1e\x94\x5b\x9a\x67\xa3\x69\x6e\x7d\x75\x79\x79\x71\x21\xfb\x2d\x18\x60\x8a\x76\x7a\x69\x1a" -+"\x68\xa2\x7a\xbc\xb4\x92\x90\xb9\xa9\x1e\xef\xf7\x2b\x97\x9d\x94\x95\xa5\xa3\x19\x64\xfb\x2a\x05\x61\x8a\x75\x79\x69\x1a\x66\xa2" -+"\x7d\xca\x1e\xbb\xa7\x1d\x7c\x9b\x69\x92\x1f\xad\xf7\x2d\x93\x80\x92\x7d\x8e\x7d\x19\xad\xfb\x25\x8d\x84\x8b\x88\x8d\x83\x19\x93" -+"\x62\x97\x81\xbc\x88\x80\x5a\x18\x88\x82\x8a\x7f\x84\x85\x0a\xc5\x93\x1e\x9e\xf7\x1f\x05\x0e\xf8\xef\xf7\xef\x15\x8e\x97\x8c\x94" -+"\x92\x1a\xa7\x73\xa1\x6b\x65\x65\x76\x60\x65\x1e\x42\x3a\x92\xb5\x05\xa7\x93\x99\x9c\xa5\x1a\xad\x72\x9d\x5a\x1e\x65\x06\x5c\x71" -+"\x78\x6a\x73\x95\x7d\xa4\x7f\x1f\x83\x5f\x65\xd3\x05\xc3\x6d\x73\x9d\x5e\x1b\x6c\x78\x81\x73\x7f\x1f\x81\x77\x85\x71\x72\x1a\x6d" -+"\x9e\x78\xa9\xa2\x99\x96\xa6\x94\x1e\x9f\x62\x91\x81\x9b\x77\x73\x81\x79\x7e\x7d\x79\x3d\x2e\x18\x7e\x06\x69\x72\x75\x6d\x6e\xa3" -+"\x74\xaa\x1f\xa6\x06\xa5\x8c\x8c\x8c\xaf\xb5\xda\xec\x18\x99\x9c\x9a\x9a\x9a\x96\x7c\x3a\x18\xf7\x09\x1d\x82\x93\x78\x19\xa8\x3f" -+"\xa1\x54\x90\x86\xac\x87\x19\x7e\x62\x05\x89\xe1\x0a\x9b\xd1\x9c\x1e\xaa\xf7\x14\x05\x26\x06\x71\xc7\x7d\xac\x7e\x9e\x7e\x95\x19" -+"\x9d\x98\xa3\xa2\xa5\xa9\x08\x6f\x91\x99\x7f\xa7\x1b\xaa\x96\x99\xbd\x97\x1f\x0e\xf7\x97\x7c\x15\xcf\x8d\xc6\x97\xb2\xa1\x08\xd0" -+"\xb1\xb5\xcb\xce\x1a\xb7\x7b\xad\x6a\xa6\x1e\xc4\xb1\xa5\xb6\xc4\x1a\xe2\x41\xc5\xfb\x03\x53\x62\x80\x73\x67\x1e\x8c\x95\x8b\x8d" -+"\x8f\x1a\xa6\x75\xa0\x6c\x6e\x7b\x7a\x63\x85\x1e\x82\x57\x7f\x66\x75\x5e\x08\x7d\x6f\x86\x7d\xf7\x0a\x1d\x61\x06\x59\x73\x7b\x68" -+"\x77\x95\x7a\x9d\x82\x1f\x86\x95\x96\x89\xb1\x1b\xe7\xb0\x7c\x67\x74\x7d\x72\x73\x79\x1f\x76\x6f\x63\x81\x54\x1b\x45\x57\x9a\xb1" -+"\x51\x1f\xa0\x6c\x7b\x92\x7d\x1b\x6f\x70\x70\x70\x57\xf7\x00\x4a\xf7\x00\x7f\x1f\x77\x34\x05\x8e\x9f\x8b\x8b\x93\x1b\xa7\x99\x83" -+"\x7c\x7b\x7d\x81\xf7\x01\x1d\xb3\x7b\x9d\x62\x95\x1f\x0e\xf7\xaa\x7f\x15\xc4\xbf\x94\x9c\xb0\x1f\xc9\xa7\xb1\xbb\xbc\x1a\xb0\x7a" -+"\xa4\x65\x9d\x1e\xbc\x9f\xa3\xab\xb8\x1a\xd2\x42\xbd\x23\x5a\x63\x81\x74\x65\x1e\x8f\x07\x8f\x07\xab\x79\x9c\x6b\x66\x7f\x79\x4c" -+"\x84\x1e\x89\x72\x85\x75\x81\x70\x08\x84\x76\x87\x7b\x83\x1a\x73\xa1\x77\xa6\xa1\x98\x95\xa8\x99\x1e\xc7\xa8\xa8\x9b\xe1\x1b\xbd" -+"\xac\x81\x7b\x77\x67\x7d\x55\x8a\x1f\x60\x8a\x8b\x8b\x82\x89\x08\x71\x85\x7d\x7a\x72\x1a\x72\x96\x7c\xa3\x83\x1e\x98\x87\x92\x8a" -+"\xb0\x8a\x08\xb6\x8a\xa9\x80\x7e\x1a\x72\x50\x74\x49\x47\x56\x99\xab\x53\x1e\x99\x71\x7c\x91\x7e\x1b\x70\x71\x71\x6f\x6e\xa1\x76" -+"\xc4\x71\x1f\xb1\x79\xb8\x7e\xb0\x86\x77\x30\x18\x8c\x98\x95\x42\x0a\xb3\x7b\x9d\x62\x94\x1f\x0e\xf8\x5d\xf5\x15\x6a\xf6\x7f\xb0" -+"\x7a\xa8\x74\xa2\x19\xaf\xb2\xd4\xdd\x91\x92\x90\x8f\x96\x97\x19\x84\x07\x70\xa2\x76\xa9\x9d\x9c\x94\x98\x91\x1e\x96\xa1\x9a\xc7" -+"\x9f\x1a\xab\x72\x9c\x5d\x51\x65\x79\x59\x5e\x1e\x2d\x24\x71\x70\x73\x7c\xf7\x21\x1d\x2c\x06\x4b\x74\x7e\x66\x67\xa3\x79\xbb\x1f" -+"\x8d\x06\x3c\xfb\xf9\x05\x4d\x74\x7d\x65\x65\xa2\x7e\xcb\x1f\xea\x06\xca\xa3\x99\xaf\xb0\x74\x9b\x58\x1f\xaa\xf7\x25\x05\xa6\x06" -+"\xa9\x8c\xa4\x70\x9e\x54\xab\x26\x18\xa1\x4d\x8d\x8a\xca\x88\x7f\x59\x18\x88\x7d\x8a\x83\x84\x1a\x72\x9c\x7c\xaa\xb5\xa2\xa7\xc6" -+"\x93\x1e\x9e\xf7\x1e\x05\x0e\xf8\x54\xf3\x15\x60\xda\x81\x9d\x7d\x9a\x78\x96\x19\xd9\xd0\xdd\x0a\x92\xab\x05\x9b\x1d\x5f\x5e\x65" -+"\x7c\x6a\x67\x1e\x3a\x41\x7d\x7f\x80\x82\x88\xf7\x5c\x1d\x05\xbf\x8d\x9e\x9a\xb0\x1a\xb1\x77\x97\x4d\x8b\x1d\xfb\x6f\x05\x50\x8c" -+"\x74\x7c\x66\x1a\x65\xa2\x7d\xca\x1e\xf7\x26\x1d\x85\xa2\x63\xb2\x44\x18\xa2\x5d\x92\x85\xa9\x88\x7f\x61\x18\x87\x7e\x8a\x84\x82" -+"\x1a\x70\x9c\x7e\xac\xaf\x97\x96\xb4\x99\x1e\x95\xad\x9a\xc7\x9a\xcf\x08\x0e\xf7\xcf\xf7\x5b\x15\x98\x6b\xab\x27\xa1\x4c\x8e\x89" -+"\xd0\x89\x19\xf5\x1d\x84\x07\x8f\x1d\x65\x79\x5a\x5e\x1e\x58\x53\x05\x99\x85\x7b\x95\x7b\x1b\xa5\x91\x97\x99\xa6\xe2\x1d\x96\x06" -+"\x7a\x3f\x05\x89\x84\x8a\x83\x85\x1a\x75\x9e\x77\xa0\xa6\x97\x97\xad\x93\x1e\x60\xf7\x5a\x15\x8a\x87\x89\x8b\x89\x1b\x88\x06\xa3" -+"\xf7\x00\x9a\x8c\x91\x8b\x98\x8d\x19\x77\x84\x85\x84\x85\x6d\x08\x0e\xf8\x02\xf7\x7b\x15\xd5\xcc\x94\x93\x90\x8e\x94\x91\x19\x6a" -+"\x8e\x99\x7c\xa9\x1b\xa6\x9b\x9a\xae\x93\x1f\x92\xab\x05\x9b\x1d\x60\x5e\x6f\x80\x69\x5f\x1e\x96\x84\x7d\x94\x81\x1b\x7e\x7c\x7f" -+"\x7d\x86\x1f\xb2\x79\x96\x4b\x8c\x8b\x1d\xfb\x6e\x05\x50\x74\x7c\x66\x65\xa2\x7d\xca\x1f\xf7\x35\x1d\x9b\x8a\x8f\x8b\x98\x87\x81" -+"\x5b\x18\x89\x83\x8a\x84\x84\x1a\x77\x9e\x76\x9d\x99\x98\x97\x9f\x92\x1e\x9d\x69\x98\x73\x94\x7d\x91\x86\x19\x82\x94\x9e\x87\xb4" -+"\xa4\x1d\x5f\x1f\x7d\x06\x8a\x06\x87\x06\x60\xda\x81\x9d\x7c\x9a\x7c\x95\x19\x51\xdd\x15\x87\x86\x7c\x7f\x80\x82\x89\x8a\x19\x89" -+"\x87\x84\x8a\x82\x1b\x80\x06\x93\xb6\xaf\x8c\x9d\x93\x95\x9b\x19\x0e\xf7\x15\xf8\x60\x15\xc2\x06\x3c\xfb\xf9\x05\x4d\x8c\x74\x7d" -+"\x64\x1a\x66\xa2\x7d\xcb\x1e\xea\x06\xca\xa3\x99\xb0\xaf\x74\x9c\x58\x1f\xab\xf7\x24\x05\xa5\x06\xa9\x8d\xa4\x6f\x9e\x54\xab\x27" -+"\x18\xa1\x4c\x8e\x89\xd0\x89\x08\x9e\x06\xca\xa2\x99\xb0\xb2\x75\x99\x4b\x1f\x7c\x06\x69\xf7\x01\x80\xb0\x79\xa8\x74\xa2\x19\xaf" -+"\xb2\xd4\xdd\x90\x91\x90\x90\x97\x97\x19\x84\x07\x8f\x1d\x66\x79\x59\x5d\x1e\x2d\x24\x71\x70\x73\x7c\xf7\x21\x1d\xfb\x8c\x66\x1d" -+"\x82\x84\x70\x0a\x0e\xf7\x44\xf7\xd5\x15\x5b\xfb\x6e\x05\x4f\x8c\x74\x7c\x66\x1a\x65\xa2\x7d\xcb\x1e\xe0\x06\xca\xa3\x99\xaf\xae" -+"\x75\x9c\x5d\x8c\x1f\x9b\xd1\x05\xa1\x06\xb2\x93\x85\x63\xa2\x1f\xb3\x44\x98\x73\x94\x7d\x90\x86\x19\x82\x94\x9f\x87\xb3\xa4\x1d" -+"\x60\x1f\x7d\x06\x89\x06\x87\x06\x60\xda\x81\x9d\x7c\x9a\x7a\x96\x19\xd8\xd0\x94\x92\x90\x8f\x94\x91\x19\x6a\x8e\x9a\x7c\xa9\x1b" -+"\xa6\x9a\x9a\xae\x93\x1f\x92\xaa\x05\x8f\x9b\x8c\x92\x91\x1a\xab\x72\x9d\x5f\x5e\x64\x7b\x6b\x67\x1e\x3a\x41\x7e\x7f\x7f\x82\x88" -+"\x8a\x19\x89\x88\x83\x8a\x82\x1b\x80\x06\x94\xb6\x05\xbe\x8d\x9e\x9a\xb0\x1a\xb1\x78\x97\x4d\x1e\xfb\x73\x06\xf7\x18\x1d\x0e\xf8" -+"\x7e\xf6\x15\xdb\xf7\xf6\x05\xb2\x8f\xa4\xa3\xac\xd2\x0a\x27\xae\x0a\x95\x06\x6f\xfb\x14\x05\xfb\x62\x06\xa7\xf7\x14\x05\x97\x06" -+"\xaa\x96\x7f\x1d\x27\x39\x1d\x7b\x1a\x71\x97\x7e\xa8\x87\x1e\x3b\xfb\xf9\x05\x89\x06\x38\x0a\x7b\x7e\x66\x0a\x9d\x81\x9b\x7c\x90" -+"\x1e\x8e\x83\x84\x8c\x76\x1b\x82\x06\xa7\xf7\x12\x05\xf7\x62\x06\x6f\xfb\x12\x05\x7f\x37\x1d\x6c\x9c\x7f\xb7\x1e\xe5\x06\x80\x59" -+"\x05\x88\x80\x8a\x81\x84\x1a\x71\x9c\x7c\xaa\xb4\xa2\xa7\xc6\x93\x1e\x9f\xf7\x1f\x05\x0e\xf8\x7d\xf3\x15\xbb\xf7\x6e\xa6\x0a\x8a" -+"\x86\xcd\x0a\x98\xc6\x05\xf7\x70\x06\x7e\x50\x05\x85\x06\x59\x6b\x74\x66\x6e\x9f\x7d\xb5\x1f\xec\x06\x7f\x62\x05\x89\xe1\x0a\x9b" -+"\xd1\x9c\x1e\xaa\xf7\x14\x05\x0e\xf7\xe8\x7e\x15\xd1\x8e\xca\x9b\xba\xa8\x08\xbb\xa7\xa3\xa7\xa5\x9e\x0a\x7d\x4b\x05\x80\x0a\x22" -+"\xd2\x3f\xf7\x08\x79\x1e\x77\x31\x05\x8c\x99\x94\x42\x0a\xb2\x7b\x9e\x62\x94\x1f\x0e\xf7\xf3\x7c\x15\xf7\x19\x91\xf4\xbd\xc5\xdd" -+"\x1d\x9b\xd5\x05\xf7\x3c\x1d\x9c\x6a\x5b\x95\x54\x1b\x2e\x88\x1d\x42\xba\x4d\xd0\x78\x1e\xa0\x85\x9f\x87\xa6\x89\x79\x36\x18\x8c" -+"\x98\x94\x8c\x90\x1b\xa8\xec\x1d\xb2\x7b\x9e\x61\x94\x1f\x0e\xf8\x2a\xf7\x7f\x29\x0a\x77\x1b\x2e\x34\x1d\x0e\xf7\x53\x96\x15\x75" -+"\x23\x05\x88\x38\x1d\xf7\x04\x9f\x1d\x97\x86\x96\x81\x94\x1e\x92\x82\x82\x8d\x6e\x1b\x8a\x06\x9f\xe7\xf7\x96\xf7\xd7\x05\xb3\x90" -+"\xa4\xa2\xac\xee\x0a\x7f\x88\x7f\x72\x0a\x90\x89\x92\xab\x0a\x0e\xf8\x26\xf7\x6e\x15\x8f\x9d\xf7\x69\xf7\x75\x05\xa1\x95\x8d\x90" -+"\x96\x1f\xa1\x97\x99\xa1\xa0\x52\x1d\x83\x20\x1d\x2e\x39\x1d\x7b\x1a\x77\x93\x80\x9e\x82\x1e\xfb\x07\xfb\x0d\x4e\xf7\x0c\xf7\x04" -+"\x1d\x7a\x7a\x1a\x6e\x9c\x7f\xb1\x8a\x1e\xf7\x05\xfb\x74\x87\x78\x05\x27\x06\x64\x70\xf7\x22\x0a\xed\x06\x84\x6c\x05\x4d\x06\x6b" -+"\x81\x3a\x1d\xf7\x7b\x06\xa7\x9a\xd8\x0a\x4f\x06\x91\xaa\x05\xea\x06\xb2\xa6\x4b\x0a\xf7\x51\x8c\x15\x47\x06\x64\x70\x77\x6d\x83" -+"\x8f\x80\x90\x85\x1f\x83\x92\x94\x89\xa3\x1b\xce\x06\x89\x81\x05\x88\x06\x6b\x81\x89\x7f\x95\x1d\xb6\x1e\xf7\x04\x06\xa9\x98\xf7" -+"\x1f\x0a\x9c\x9c\x1a\x97\x86\x97\x81\x93\x1e\x93\x82\x82\x8c\x6e\x1b\x8a\x06\x8d\x95\x05\xd1\x06\xb1\xa6\xa0\xa8\xa4\x7e\x95\x68" -+"\x1f\x48\x06\xf7\x94\xf7\xd5\x05\xb3\x90\xa4\xa2\xac\xee\x0a\x7f\x88\x7f\x72\x0a\x91\x89\x91\xab\x0a\xee\xfb\xcc\x05\x0e\xf8\x90" -+"\xf2\x15\xfb\x0e\xf7\x4c\xf7\x54\xf7\x42\x05\xb5\x8c\xa9\xa5\xad\x3e\x1d\x83\x84\x8c\x76\x1b\x31\x25\x1d\x79\x91\x81\x9e\x81\x1e" -+"\xfb\x00\x2a\x49\xeb\x05\xab\x9a\x9a\x9d\xa4\x51\x1d\x82\x20\x1d\x30\x06\x6b\x81\x88\x7f\x30\x1d\x90\x89\x92\x8a\x98\x8a\xf7\x08" -+"\xfb\x40\x18\xfb\x61\xfb\x4e\x05\x60\x8a\x6d\x72\x68\x21\x0a\xf7\x02\x20\x0a\x9b\x1a\xa4\x7e\x98\x71\x8e\x1e\xf7\x09\xf5\xd1\x22" -+"\x05\x65\x87\x71\x72\x6b\x21\x0a\xf7\x02\x06\x91\x06\x8c\x06\x7e\x54\x05\x88\x7f\x8a\x82\x84\x1a\x71\x9c\x7d\xaa\xb4\xa2\xa6\xc6" -+"\x94\x1e\x9e\xf7\x1f\x05\x0e\xf8\x89\xf1\x15\xfb\x0b\xf7\x0a\xf7\x2a\xf1\xa2\x8d\x92\x8e\x97\x94\x19\x9b\x98\x94\x9d\x9b\x1a\x9c" -+"\x80\x9b\x7d\xf7\x03\x1d\xb4\x05\xa0\x99\xf7\x08\x1d\x7a\x1a\x7a\x95\x7c\x9a\x86\x1e\x8f\x89\x90\x8a\x95\x8a\xf0\x26\x18\xfb\x3c" -+"\xfb\x0a\x74\x89\x83\x88\x7f\x81\x19\x7b\x7e\x82\x7b\xf7\x36\x1d\x97\x94\x9d\x9d\x1a\x9d\x85\x94\x78\x94\xf7\x2d\x0a\x72\x21\x0a" -+"\xf7\x06\x06\x7f\x60\x05\x89\x83\x89\x7f\x82\x1a\x70\x9c\x7e\xac\xb4\x98\x9a\xd2\x9c\x1e\xa9\xf7\x14\x05\x0e\xc9\x1d\x51\x06\x4c" -+"\x74\x7d\x65\x65\xa1\x7e\xcb\x8a\x1f\xf7\x1e\x06\x7f\x54\x05\x88\x81\x8a\x80\x83\x85\x0a\xc6\x93\x1e\x9e\xf7\x21\x05\x0e\xf8\x61" -+"\xf3\x15\xcd\x1d\x82\x65\x05\x54\x06\x4b\x74\x7d\x65\x65\xa1\x7e\xcc\x8a\x1f\xf7\x09\x06\x7f\x54\x05\x88\x80\x8a\x81\x83\x85\x0a" -+"\xc6\x93\x1e\x9f\xf7\x21\x05\x0e\xf7\xcd\xf7\x44\x15\xaa\x94\x98\x90\xa4\x98\x75\x28\x18\x51\x06\x4c\x74\x7d\x65\x65\xa1\x7d\xcb" -+"\x1f\xf7\x28\x9c\x1d\x9d\x5e\x8c\x1f\xda\xf7\xf9\x05\xc5\x8c\x7d\x1d\x71\x7b\x83\x87\x64\x79\x19\x93\xae\x05\x8c\x92\x8c\x92\x93" -+"\x1a\xa3\x79\x9d\x74\x72\x7e\x7e\x6a\x83\x1e\x7b\x41\x05\x72\x8e\x83\x91\x9c\x1a\x96\x8e\x9f\x8e\x99\x1e\xa5\xf7\x09\x05\xcc\xa0" -+"\x98\xb1\xb2\x74\x98\x4b\x1f\xc5\x0a\x74\x88\x74\x7c\x1a\x65\x9e\x68\xab\x74\x1e\x9e\x7d\x9b\x86\xaf\x86\x08\x89\x81\x8a\x83\x87" -+"\x1a\x76\x9f\x77\xa0\xa5\x98\x98\xac\x92\x1e\x0e\xf7\xbe\xf7\x0f\x15\xa4\x90\x9b\x90\xa1\x93\x82\x66\x18\x84\x06\x80\x77\x85\x85" -+"\x80\x1f\x7f\x84\x84\x7d\x78\x1a\x78\x92\x7c\x98\x84\x1e\x85\x95\x9f\x86\x96\x1b\xe5\x06\xcb\xa2\x99\xb0\xac\x78\x9b\x61\x8e\x1f" -+"\xbc\xf7\x6e\x05\xc2\x8d\x77\x0a\x42\x27\x0a\x69\x9f\x7a\xb6\x8a\x1f\x7e\x4e\x75\x81\x84\x88\x6a\x7f\x19\x90\x9e\x05\x8d\x92\x8c" -+"\x92\x92\x1a\xa4\x7a\x9d\x73\x84\x81\x89\x87\x85\x1e\x7e\x84\x88\x86\x84\x6f\x7d\x54\x18\x85\x8d\x85\x8d\x86\x8c\x08\x81\x8f\x89" -+"\x8d\x91\x1a\x8d\x8c\x8e\x8e\x9c\x1e\x9a\xcb\x05\xc9\x8c\xa1\x98\xb1\x1a\xb1\x74\x99\x4a\x1e\x3d\x06\x4b\x74\x7d\x66\x6a\x9e\x7b" -+"\xb4\x88\x1f\x7e\x50\x05\x87\x78\x89\x7d\x7e\x1a\x5a\xae\x67\xc6\x7f\x1e\x96\x89\x92\x89\x84\x71\x05\x89\x83\x8a\x82\x86\x1a\x75" -+"\x9e\x77\xa1\xa5\x97\x96\xae\x94\x1e\x0e\xf7\xe3\xf8\x60\x15\xc5\x06\xcb\xa2\x99\xb1\xb1\x74\x99\x4b\x1f\xfb\x28\x27\x0a\x69\xa1" -+"\x79\xb8\x8a\x1f\x3c\xfb\xf9\x05\x52\x8a\x76\x7d\x67\x1a\x65\xa2\x7d\xcb\x1e\xde\x06\xca\xa3\x99\xaf\xae\x75\x9c\x5c\x8c\x1f\xa7" -+"\xf7\x15\x05\xb6\xd4\xb8\x9c\xb5\x1b\xa6\x98\x82\x79\x80\x89\x7b\x87\x79\x1f\x70\xfb\x09\x05\x4b\x75\x7e\x65\x64\xa2\x7e\xcb\x1f" -+"\xe4\x06\xc9\xa3\x99\xaf\xae\x75\x9c\x5f\x8c\x1f\xa4\xf7\x04\x05\x91\xa5\x8e\xa0\x99\x1a\xd2\x51\xbd\x39\x5a\x5f\x80\x72\x5a\x1e" -+"\x0e\xf7\xa9\xf8\xae\x15\x8e\x99\x8c\x93\x96\x1a\xa7\x7d\x98\x6e\x66\x77\x76\x58\x7f\x1e\x2a\xfc\x49\x54\x0a\x58\x0a\xc9\x1d\xfb" -+"\x0f\x06\x62\xfb\x2d\x05\x88\x7f\x89\x7d\x81\x1a\x71\x9c\x7e\xaa\xb2\x9c\x9d\xbe\x95\x1e\x96\xc2\x05\xf7\x47\x06\xb8\x8c\xa5\x9f" -+"\xaf\x1a\xaa\x74\x9b\x5f\x1e\x0e\xf8\x61\xf3\x15\xbc\xf7\x6e\x05\xc2\x8c\x77\x0a\x42\x27\x0a\x6a\xa0\x7a\xb5\x89\x1f\x7e\x4e\x05" -+"\x6f\x4d\x5f\x7f\x5c\x1b\x78\x7f\x90\x94\x8d\x8c\x8e\x8e\x9c\x1f\x9a\xcc\x05\xc9\xa1\x98\xb1\xb1\x74\x99\x4a\x1f\x3d\x06\x4b\x74" -+"\x7d\x66\x6b\x9e\x7a\xb4\x88\x1f\x7e\x50\x05\x87\x78\x89\x7e\x7d\x1a\x4e\xc2\x63\xde\xb4\xb2\x93\x9c\xbb\x1e\x82\x66\x05\xfb\x0a" -+"\x06\x5f\xfb\x2a\x05\x87\x7f\x89\x7d\x82\x1a\x6f\x9a\x7d\xa9\xb3\x9f\x9e\xbc\x95\x1e\x97\xc2\x05\xf7\x2c\x06\xc2\x8c\xa2\x9a\xb1" -+"\x1a\xae\x77\x9a\x5c\x1e\x0e\xf8\xb4\xf7\xd1\x15\xfc\x5f\x06\x85\x6a\x88\x6d\x6e\x1a\x36\xa9\x43\xbe\x66\x1e\x6f\xb2\xbe\x7b\xbd" -+"\x1b\xf7\x4b\xf7\x41\xf7\x45\xf7\x4f\xf7\x17\x2b\xeb\xfb\x17\x33\x23\x59\x43\x4c\x1f\xed\x63\x8c\x8d\x8d\x8c\x8d\x8d\x19\x8c\x8c" -+"\x8b\x8c\x8c\x1b\xaf\xbb\xb2\x9b\xb5\x1b\xb7\xb2\x78\x6c\xa3\x1f\x9e\x71\x99\x64\x70\x1a\x72\x27\x15\x68\x56\x7d\x79\x74\x76\x08" -+"\x6d\x6a\x55\x76\x60\x1b\x61\x62\x9e\xaa\x75\x1f\x7e\x9c\x82\xa6\x80\xbc\x08\x0e\x22\x1d\xfb\x09\xf8\x0e\x46\x1d\x2d\x1d\xfb\x0a" -+"\xf8\x7b\x2b\x0a\xf8\x40\xf8\xd6\x15\xfb\x4c\xfb\x41\xfb\x44\xfb\x4f\xfb\x17\xeb\x2a\xf7\x16\xf7\x48\xf7\x44\xf7\x45\xf7\x4a\xf7" -+"\x1b\x2d\xec\xfb\x17\x1f\xe7\xfb\xed\x15\x74\x5f\x7a\x75\x6b\x72\x08\x6a\x62\x5d\x79\x5f\x1b\x62\x65\x9d\xab\x72\x1f\x78\xa2\x84" -+"\xa0\x86\xbb\x08\x9b\xdf\x15\xeb\xb4\xdd\xc9\xe0\x1b\xde\xc1\x4c\x2c\x8a\x1f\x0e\xbe\x1d\x24\x1d\xad\xf7\x28\x05\x8e\x9b\x8c\x91" -+"\x93\x1a\xa1\x21\x1d\xcf\xf9\x4e\x46\x1d\x33\x1d\xfb\x5e\xf8\x2c\x2b\x0a\xf7\x50\xf9\x6c\xf7\x0b\x0a\x7a\x94\x7a\xba\x0a\x0e\xf8" -+"\x3d\x95\x15\x7f\x9b\x96\x87\x9c\x1b\xd2\xba\xe5\xf7\x1e\xf7\x19\x5a\xe5\x43\x39\x61\x33\xfb\x3f\x1f\xfb\xd1\x07\x71\x9c\x79\xa4" -+"\xa3\x9c\x9d\xa5\x1e\xf7\xe6\x04\x9e\x07\xd0\xa1\xd3\xa0\xa1\x9e\x47\x3f\x2f\x7b\x51\x71\x75\x7c\xaf\xc3\x88\x1e\xfc\x04\xf7\xc0" -+"\x15\xfb\xd0\x07\x8a\x67\x81\x6f\x7c\x86\x08\x7c\x83\x82\x7c\x7a\x1a\x89\x07\x8c\x73\x9e\x7a\xa5\x8d\x08\xee\x06\xf7\x06\xca\xec" -+"\xf7\x43\xf7\x06\x6d\xe1\x55\xb4\x1f\x6d\xa2\x73\x93\x5b\x8c\x8d\x93\x8c\x8e\x8e\x8e\x08\x90\x92\x8d\x91\x93\x1a\x96\x85\x96\x80" -+"\x91\x1e\x89\x8c\x05\x8f\x85\x83\x8d\x84\x1b\x71\x71\x6c\x64\x85\x1f\x86\x06\x6f\x79\x7b\x73\x74\x9d\x7b\xa7\x1f\xe1\x16\xdb\x8a" -+"\xa6\x57\xfb\x28\x1a\x2a\x79\x50\x69\x77\x1e\x83\x7c\x7a\x88\x61\x1b\x95\x9d\x94\xb2\xa9\x1a\x0e\xf7\x9f\xef\x15\x86\x8d\x69\x9a" -+"\x80\x91\x7d\x96\x19\x64\xab\x73\xce\xd6\x1a\xf7\x0a\xc3\xcb\xf3\xf3\xc3\x4c\xfb\x0b\x36\x6e\x46\x5a\x6d\x1e\x80\x84\x80\x85\x70" -+"\x80\x08\x27\xf7\x5f\x07\xa5\x94\x8c\x92\x96\x1f\x9c\x95\x96\x9e\x9d\x1a\x9c\x82\x9c\x7c\x95\x1e\x94\x7f\x81\x8d\x70\x1b\x5e\x06" -+"\xc8\xac\xae\xd5\xeb\x1a\xd9\x6e\xd7\x5d\xb6\x1e\xb6\x5d\x3b\xa5\x34\x1b\x34\x3b\x71\x60\x5d\x1f\x5d\x60\x6e\x3f\x3d\x1a\x2b\xae" -+"\x41\xc8\x6a\x1e\x5e\x06\x72\x82\xed\x0a\x83\x97\x95\x89\xa7\x1b\xf7\x5f\x06\x0e\xb0\x0a\x79\x1d\xe6\x16\xbe\x06\xf7\x34\xf8\x19" -+"\xf7\x35\xfc\x19\x05\xbe\x06\xfb\x42\xf8\x47\x05\x40\x06\x0e\xe6\xf8\x46\x15\xf7\x42\xfc\x46\x05\xd6\x06\xf7\x42\xf8\x47\x05\x58" -+"\x06\xfb\x35\xfc\x19\xfb\x34\xf8\x19\x05\x58\x06\x0e\xf7\xbd\xf8\x89\x15\xfb\x1b\xfb\x05\xfb\x04\xfb\x1b\xfb\x22\xf7\x02\xfb\x04" -+"\xf7\x20\xf7\x1c\xf7\x03\xf7\x04\xf7\x1f\xf7\x1f\xfb\x03\xf7\x03\xfb\x1e\x1f\x70\xfb\xad\x15\xfb\x36\x07\x35\x94\x3e\xd6\x87\xd9" -+"\x08\xc2\x04\x91\xde\xd5\xd5\xe2\x96\x08\xfb\x3c\x07\xc2\x54\x15\xf7\x3b\x06\x88\x42\x3b\x3d\x37\x80\x08\xf7\x6d\x04\xf7\x3c\x07" -+"\xdf\x82\xd7\x3f\x92\x38\x08\x0e\x9c\x16\xf8\xcb\xf8\xcb\xfc\xcb\x06\xf8\x92\xfc\x92\x15\xfc\x59\xf8\x59\xf8\x59\x06\x0e\xca\xf7" -+"\xe7\x15\xfb\x2b\x90\x68\xa6\x5f\x1e\x47\xb5\xd8\x62\xe1\x1b\xbf\xbb\x9a\xa6\xb4\x1f\xbe\xae\xa8\xb9\x95\xca\x08\x90\xac\x8c\xa1" -+"\xed\x1a\xf7\x51\x07\x9f\x80\x99\x7b\x7b\x82\x7f\x75\x1e\xfb\x54\x07\xfb\x10\x86\x62\x78\x6a\x1e\x57\x6d\x4a\x68\x49\x1b\x63\x62" -+"\x98\xa2\x6a\x1f\x62\xa8\x78\xac\x85\xbb\x87\xa9\x8b\x8b\x8a\xf7\x01\x08\xf7\x54\x07\xa0\x81\x98\x7b\x7a\x82\x7f\x75\x1e\x0e\xf7" -+"\xe1\x16\xf7\x67\xf8\xeb\x05\x55\x06\x4c\xfb\x37\x05\xfb\x97\x06\x4d\xf7\x37\x05\x58\x06\xf7\x5f\xfc\xeb\x05\xf7\x2a\xf8\x15\x15" -+"\xfb\x03\xfb\xe2\x05\x84\x06\x24\xf7\xe2\x05\x0e\xf8\xf4\xf8\x3d\x75\x1d\xa7\xe5\x1d\xa6\xa7\xc1\xae\x1f\xcb\xb5\x9a\x9c\xa6\x5c" -+"\x1d\xf8\x99\xf7\xd5\x15\x92\x06\xb2\xa9\xa6\xae\xa9\x7a\x97\x60\x1f\xfb\x04\x06\x59\x6c\x73\x66\x6d\x9d\x7e\xb5\x1f\x90\x06\x6f" -+"\xfb\x14\x05\x45\x7c\x67\x69\x4f\x1b\x63\x76\x9b\xa8\x96\x8e\x9a\x92\xab\x1f\xc0\xf7\x7d\x05\xfb\x0b\x06\x58\x6d\x74\x64\x6e\x9d" -+"\x7e\xb5\x1f\x90\x06\x6e\xfb\x15\x05\x87\x77\x88\x73\x7b\x1a\x34\xd0\x4f\xf0\xc9\xbf\xa0\xb4\xb5\x1e\xa9\xa9\x9d\xb1\x9a\xcf\x08" -+"\x0e\x72\x1d\xfb\x69\xf8\x2d\x15\x69\x6c\x6e\x6b\x72\x68\x0a\x9d\x79\xa5\xae\xaa\xa8\xad\xa3\x79\x9c\x70\x1f\x0e\x72\x1d\x6e\xf8" -+"\x12\x15\x9d\x97\x94\x97\x22\x0a\x7b\x82\x81\x87\x82\x7e\x1e\xfb\x13\x38\x05\x79\x80\x82\x7e\x7d\x1a\x7b\x96\x81\x9b\x94\x94\x8f" -+"\x94\x9a\x1e\xfb\x10\xe6\x15\x68\x6c\x6e\x6a\x73\x9d\x79\xa6\xad\xaa\xa8\xac\xa4\x79\x9c\x71\x1f\xf7\xd7\x16\x64\x1d\x0e\x72\x1d" -+"\x82\xf8\x12\xed\x1d\x57\x1d\x39\xf8\xeb\xeb\x1d\xf8\xf4\xf8\x3d\x15\xfb\x20\x25\x1d\x6e\x9d\x7e\xb6\x1e\xa8\x06\x66\xfb\x3c\x05" -+"\x58\x4d\x70\x7f\x59\x1b\x5f\x71\x9a\xa6\x93\x8c\x91\x8c\x93\x1f\xc8\xf7\xa2\x05\xfb\x0d\x06\x71\x82\x8a\x85\x80\x1f\x75\x7f\x7d" -+"\x76\x76\x9d\x1d\x4b\x1d\x79\x1a\x44\xc7\x5b\xe6\x61\x1d\xa8\x99\x8e\x97\x99\xf7\x02\x0a\x97\x81\x93\x1e\x83\x91\x84\x8d\x77\x8c" -+"\x08\xbb\xf8\xa7\x15\x7d\x7b\x81\x77\x78\x1f\x6f\x6f\x88\x88\x7d\x1b\x81\x80\x98\x1d\x67\x63\x75\x63\x66\x1f\x7b\x79\x84\x7e\x7f" -+"\x1a\x7b\x97\x80\x9c\x96\x95\x90\x96\x96\x1e\xaf\xb0\x93\x8e\x1d\xa1\xa1\x93\x99\x99\x1a\x98\x7c\x97\x7c\x1e\x0e\x3d\x0a\xf7\xdd" -+"\xf8\xe2\x15\xa5\x9d\x91\x94\x9c\x1a\x9e\x7c\x98\x77\x80\x83\x88\x7f\x7a\x1e\xfb\x2b\x20\x05\x74\x7a\x82\x80\x7b\x1a\x78\x98\x7f" -+"\xa0\x8a\x1e\x94\x99\x91\x95\x9a\x1f\x0e\xf7\xb8\xf7\x50\x1d\xa1\x8d\x92\x8e\x97\x95\x19\x9b\x97\x94\x9c\x9c\xf7\x13\x1d\x7a\x7a" -+"\x1a\x7a\x87\x0a\x87\x94\x91\x8b\xa0\x1b\x4b\xfb\x15\x71\xf7\x22\x05\x2d\x06\x33\xfb\x22\x86\xf7\x15\x05\xa5\x96\xad\x0a\xf7\x56" -+"\xf8\xd6\xaf\x0a\x3d\x0a\xdb\xf9\x0c\x40\x0a\x3d\x0a\xe0\xf9\x24\xf7\x15\x0a\x90\x81\x97\xf7\x32\x1d\x85\x95\x80\x96\x1f\x0e\xf8" -+"\x48\xf7\x84\x15\xa2\xf7\x00\x87\x8c\x05\x86\x06\x84\x8c\x88\x8b\x83\x8c\x08\x37\x94\x70\x9a\xae\x1a\xa3\x9a\xa4\xa2\x9b\x1e\x9c" -+"\x96\xa5\x92\xad\x8e\xab\x8d\x98\x8d\x96\x8e\x08\xa3\x94\x9e\xa3\xa4\x1a\xa8\x79\x98\x60\x1e\xfb\x5c\x06\x5a\x6a\x73\x68\x6e\x9f" -+"\x7d\xb7\x89\x1f\x6c\x6d\x7f\x71\x65\x1a\x67\x99\x6a\xa5\x70\x1e\x2e\x5f\x62\x50\x34\x1a\x57\x9f\x61\xb2\x70\x1e\xa2\x7b\xb0\x7e" -+"\xcd\x7b\x08\xa5\x85\x91\x86\x7f\x1a\x74\x79\x82\x57\x86\x1e\x61\x87\x74\x74\x65\x1a\x72\xa0\x7d\xb3\xf7\x03\xd2\xc5\xe5\xca\x6d" -+"\xa9\x37\xa2\x1e\x30\xa3\x7f\x94\xb1\x1a\xd1\xd6\xb6\xf7\x13\x8e\x1e\x0e\xf7\x54\x92\x58\x1d\xf7\xb7\xf7\x94\x60\x0a\x53\x0a\xf7" -+"\x4b\xf7\xe2\xf7\x15\x0a\x91\x81\x96\x80\x1f\xf7\x03\x21\x05\x80\x96\x94\x86\x95\x1b\xa5\xa3\xa1\xa2\x95\x85\x95\x80\x96\x1f\x0e" -+"\xd2\x1d\xf7\x29\xf8\x81\x2f\x1d\xd2\x1d\x8d\xf8\xa5\x5b\x1d\xf7\xfa\xf8\x87\x15\x55\x60\x56\x55\x61\x55\x08\x50\x3f\x72\x50\x4b" -+"\x1a\x5f\x99\x62\xa4\x6e\x1e\xa2\x71\xac\x79\xd4\x73\xa1\x84\x8b\x8b\x8e\x8a\x08\x99\x85\x92\x83\x7f\x1a\x74\x76\x7f\x5a\x86\x1e" -+"\x60\x87\x75\x75\x64\x1a\x71\xa0\x7e\xb3\xf6\xd6\xc7\xe1\xaf\x7c\xac\x72\xa2\x1e\x7c\x99\x72\x96\x5e\x9a\x08\x40\xa4\x7d\x98\xb4" -+"\x1a\xc8\xb8\xd2\xf0\xec\x1e\xbc\xbb\xbf\xb5\xb8\xa9\x94\x91\x18\xa1\xf1\x05\xfb\x70\x06\x59\x6b\x72\x63\x71\x9f\x7e\xb4\x1f\x0e" -+"\x7e\x98\xf8\xed\x9b\x06\xf2\x0a\xf7\x04\x0b\xaf\x9c\x8f\x90\x8f\x92\x8f\x8f\x8f\x96\x92\x92\x0c\x0c\xf8\xec\x14\xa9\x13\x01\x06" -+"\x02\x00\x01\x00\x0d\x00\x14\x00\x1a\x00\x22\x00\x5d\x00\x63\x00\x69\x00\x6f\x00\x7d\x00\x83\x00\x8b\x00\xa6\x00\xb4\x00\xc1\x00" -+"\xc7\x00\xfd\x01\x01\x01\x07\x01\x10\x01\x15\x01\x20\x01\x25\x01\x2e\x01\x36\x01\x3d\x01\x43\x01\x4a\x01\x79\x01\x80\x01\xab\x01" -+"\xb9\x02\x13\x02\x1b\x02\x20\x02\x27\x02\x4b\x02\x57\x02\x70\x02\x8c\x02\x9d\x02\xa5\x02\xb4\x02\xbf\x02\xc3\x02\xcf\x02\xd6\x02" -+"\xdf\x02\xe6\x02\xee\x02\xf5\x02\xfd\x03\x03\x03\x51\x03\x5b\x03\x75\x03\x7a\x03\x88\x03\xdc\x03\xf8\x04\x46\x04\x83\x04\xa9\x04" -+"\xde\x05\x0a\x05\x14\x05\x35\x05\x41\x05\x47\x05\x59\x05\x66\x05\x73\x05\x7b\x05\x90\x05\x99\x05\xad\x05\xb3\x05\xb9\x05\xc4\x05" -+"\xd5\x05\xdb\x05\xe7\x05\xf4\x05\xf9\x06\x00\x06\x09\x06\x0f\x06\x16\x06\x20\x06\x2d\x06\x34\x06\x3b\x06\x47\x06\x4b\x06\x56\x06" -+"\x61\x06\x6b\x06\x72\x06\x7b\x06\x84\x06\x8d\x06\x96\x06\x9f\x06\xa8\x06\xae\x06\xb5\x06\xbd\x06\xc5\x06\xda\x06\xe3\x07\x34\x07" -+"\x8e\x07\xe5\x08\x43\x08\x64\x08\xcb\x09\x25\x09\x4c\x09\x5c\x09\x6b\x09\x70\x09\x8a\x09\x98\x0a\x08\x0a\x45\x0a\xaf\x0b\x00\x0b" -+"\x1d\x0b\x68\x0b\xae\x0b\xc8\x0b\xf6\x0c\x3b\x0c\x65\x0c\x9a\x0c\xda\x0d\x0f\x0d\x2c\x0d\x30\x0d\x3f\x0d\x5f\x0d\x7a\x0d\x96\x0d" -+"\x9c\x0d\xb7\x0d\xe2\x0d\xf8\x0d\xfd\x0e\x08\x0e\x18\x0e\x24\x0e\x30\x0e\x41\x0e\x47\x0e\x4a\x0e\x5f\x0e\x62\x0e\x70\x0e\x94\x0e" -+"\xb3\x0e\xce\x0e\xef\x0e\xfd\x0f\x19\x0f\x2a\x0f\x36\x0f\x48\x0f\x68\x0f\x75\x0f\x81\x0f\x87\x0f\xa4\x0f\xaf\x0f\xbb\x0f\xcf\x0f" -+"\xe2\x0f\xe7\x0f\xfb\x10\x14\x10\x19\x10\x28\x10\x40\x10\x45\x10\x50\x10\x5a\x10\x60\x10\x6d\x10\x74\x10\x89\x10\x92\x10\xa6\x10" -+"\xb4\x10\xb9\x10\xcd\x10\xd9\x10\xe0\x10\xf3\x10\xff\x11\x12\x11\x1b\x11\x28\x11\x33\x11\x3c\x11\x42\x11\x49\x11\x5a\x11\x63\x11" -+"\x6c\x11\x73\x11\x7d\x11\x8e\x11\x9e\x11\xae\x11\xb7\x11\xbc\x11\xc4\x11\xce\x11\xd8\x11\xe2\x11\xea\x11\xf0\x11\xf5\x12\x03\x12" -+"\x11\x12\x1f\x12\x2d\x12\x33\x12\x41\x12\x47\x12\x55\x12\x63\x12\x6c\x12\x75\x12\x7e\x12\x8b\x12\x98\x12\xa5\x12\xb2\x12\xbf\x12" -+"\xcc\x12\xd8\x12\xe4\x12\xf0\x12\xfc\x13\x08\x13\x12\x13\x1a\x13\x22\x13\x2a\x13\x32\x13\x3a\x13\x45\x13\x50\x13\x5b\x13\x66\x13" -+"\x71\x13\x7c\x13\x87\x13\x92\x13\x9d\x13\xa8\x13\xb3\x13\xbe\x06\xa8\x99\x8f\x96\x99\x1f\x9a\x97\x95\x9d\x0b\x1a\x6d\x9d\x7f\xb6" -+"\x1e\x0b\x99\x1a\x9a\x80\x95\x0b\x95\x0a\x29\xdc\x44\x93\x1d\x0b\xf8\x23\xf8\x49\x15\x2e\x2f\x65\x4d\x50\x1f\x5c\x59\x6f\x4e\x54" -+"\x1a\xfb\x03\xe2\x40\xf7\x16\xf7\x39\xf7\x2b\xf7\x13\xf7\x1f\xf7\x02\x34\xd7\xfb\x13\x1e\x70\x24\x15\xd9\xc0\x63\x50\x3d\x35\x46" -+"\x28\x40\x56\xb4\xc5\xd9\xe1\xd0\xeb\x1f\x0b\x06\x6b\x81\x3a\x1d\x0b\x94\x8f\x94\x99\x1e\x0e\x06\x4c\x73\x7d\x66\x0b\xf8\x5c\x49" -+"\x0a\x9d\x9c\x1a\x9b\x80\x9b\x7d\x74\x1d\x0b\xd0\x0a\x83\x84\x8c\x0b\x8e\x97\x9a\x1f\x9b\x97\x94\x0b\xf7\x2a\x0a\xcb\xa8\xbd\xb8" -+"\x1f\xa1\xa3\x9a\xaa\xf7\x30\x1d\x54\x6b\xa6\xb9\x1f\xa6\x8c\x82\x96\x77\x1b\x0e\xb8\xb4\xb1\xb5\xaa\x73\xa2\x69\x1f\x7a\xf7\x24" -+"\x0a\x0b\x05\x63\x85\x72\x74\x6b\x1a\x6f\x9f\x7c\xb4\x1e\x0b\x06\x5a\xfb\x6f\x05\x0b\xf7\xfd\xf8\x61\x15\xc1\x06\xa9\x97\x7f\x1d" -+"\xfb\x69\x49\x1d\x9c\x7f\xb7\x1e\xbe\x06\x3c\xfb\xfa\x05\x55\x25\x0a\xf8\x6f\x06\xb5\xf7\x4e\x05\x8e\x9b\x8c\x90\x79\x0a\x67\x75" -+"\x75\x5e\x81\x1e\x78\x36\x05\xfb\x63\x06\x0b\xf9\x0a\x77\x1d\xf7\x05\x1d\x78\x87\x1d\x79\x7b\x21\x0a\xf8\x13\x7b\x1d\x0b\xf7\x43" -+"\x1d\x4b\x0a\x06\x59\x6b\x73\x67\x6e\x9f\x7c\xb4\x1f\x0b\xf7\x1f\x0a\x9d\x0b\x94\x94\x87\x95\x1b\xa3\xa2\xa1\x0b\x88\x7f\x7c\x1f" -+"\x7b\x7f\x82\x0b\x6b\x81\x88\x7f\x7c\x1f\x0b\x06\x5b\xfb\x6f\x05\x0b\xf7\xb9\xf8\x3d\x92\x0a\x0b\xf7\x89\xf7\x68\x15\xe7\x06\xb1" -+"\x7e\xd1\xfb\x03\xa6\x33\x08\xf7\x20\x1d\x73\xc4\x6d\xbb\x68\xb0\xce\x1d\xba\xf7\x67\x15\xab\xf7\x26\x05\xf7\x01\x06\xc2\xaf\x75" -+"\x68\x5a\x42\x63\x33\x1f\x0b\xf7\x96\xf8\x03\x96\x0a\x0b\xf7\xe6\xf7\x50\x1d\x05\xb3\x8f\xa5\xa3\xac\xf7\x13\x1d\x79\x7b\x1a\x6d" -+"\x9c\x7f\xb7\x1e\x4b\xfb\x15\x71\xf7\x22\x05\x2d\x06\x33\xfb\x22\x86\xf7\x15\x05\xa6\x95\xad\x0a\x0b\xf9\x06\x7a\x0a\x9c\x6a\x5b" -+"\x95\x54\x1b\x2e\x5a\x0a\x0b\xf8\x0c\xf8\x3e\x15\xfb\x20\x06\x71\x7a\x87\x80\x7e\x1f\x7b\x7e\x82\x7a\x7b\x1a\x6d\x9d\x7e\xb5\x1e" -+"\xa9\x2e\x0a\x54\x06\x6c\x81\x88\x7f\x7b\x1f\x7c\x7f\x31\x1d\xb5\x1e\xf7\xbe\x06\xa7\x9a\xf7\x1a\x1d\xfb\x1a\x06\xa9\xf7\x1b\x05" -+"\xd1\xf2\xbd\xa5\xa9\x1b\x98\x92\x87\x7f\x97\x1f\x7d\x98\x95\x86\x9a\x1b\xac\xac\xaa\xaa\xb1\x52\xb1\x53\x59\x64\x7c\x55\x32\x1f" -+"\x0b\xc1\x0a\xa8\x75\x9f\x6c\x1f\x0e\x1a\x9c\x2c\x1d\x0b\x8c\x90\x1b\xa7\xec\x1d\x0b\xf7\x39\x06\xfc\x0c\xfb\xfc\x74\x26\x05\xf8" -+"\x62\x06\xb1\xf7\x3b\x05\x8f\x9e\x8b\x8c\x93\x1a\xa2\xf7\x74\x1d\x82\x86\x80\x86\x72\x7c\x49\x18\x0b\x05\x78\x34\x0a\xf7\x66\xf7" -+"\x6a\x1d\x38\x06\x0b\x87\x1e\x3b\xfb\xfa\x05\x89\xf7\x1e\x0a\x7b\x7f\x66\x0a\x9c\x81\x9c\x41\x1d\x76\x1b\x82\x2b\x1d\x0b\x15\x98" -+"\x97\x92\x91\x8b\x1a\x93\x94\x8e\x92\x96\x1a\x9d\x7c\x99\x78\x7d\x83\x87\x7f\x7d\x1e\xfb\x08\x26\x05\x0b\x15\x64\x71\x77\x6e\x72" -+"\x98\x81\xae\x1f\xf7\x89\x06\xb1\xa7\x4b\x0a\x1f\x9a\x97\x95\x9d\x3c\x1d\x0b\xf8\x61\x15\xed\x06\xa9\x97\x8e\x97\x9a\x1f\x9a\x97" -+"\x95\x0b\x65\x68\x66\x6e\xa1\x76\xa9\xb4\xb1\xae\x0b\x9f\xa8\xa5\x1d\x1e\xfb\x32\x21\x05\x75\x7c\x81\x7d\x7b\x1a\x0b\xf7\x56\x1d" -+"\xb3\xb1\xae\x0b\x1b\x8a\x06\xb0\xf7\x3d\x05\xbe\x0b\x8e\x97\x9b\xf7\x03\x0a\x0b\x82\x1a\x7c\x96\x80\x9b\x99\x0b\x9b\x7d\x90\x1e" -+"\x8e\x82\x0b\x7c\x1a\x78\x99\x7e\x9f\x95\x0b\xf7\x82\x92\x58\x1d\x0b\x05\x88\x67\x0a\xa8\xde\x0a\x82\x8d\x6f\x4e\x0a\xcc\xa5\x96" -+"\xb9\x1b\xb7\xa6\x7b\x71\x84\x8a\x81\x88\x7f\x1f\x68\xfb\x34\x05\x88\x06\x6b\x80\x89\xf7\x04\x0a\xf7\x04\x06\xa9\x99\x8f\x96\x99" -+"\xf7\x03\x0a\xa9\x7a\x97\x60\x1e\x8a\x06\xb1\xf7\x3f\x05\x8e\x99\x8c\x96\x9b\x1a\xd4\x4f\xbc\x31\x59\x58\x78\x6a\x60\x1e\x0e\xf7" -+"\xf9\x6a\x0a\xaa\x1a\x9c\xc7\x1d\x0b\xdd\xf7\x86\x15\x80\x0a\xfb\x10\xed\x3b\xf7\x2a\xe6\xda\xa3\xb9\xc6\x1e\xa5\xa0\x98\x9e\x9f" -+"\x9e\x0a\x0b\xf8\x5b\xc1\x1d\x0b\xf8\x2e\x49\x0a\x9c\x9c\x1a\x9c\x81\x9b\x7c\x74\x1d\x0e\xf7\x7d\xf7\xd5\x15\xa7\x06\xb9\xaa\xa4" -+"\xb1\xa6\x75\x99\x64\x1f\xfb\x28\x34\x0a\x9b\x06\x5b\xfb\x6d\xf7\x4b\x1d\xf7\x88\xf7\x8b\x6a\xfb\x23\x05\x73\x06\x59\x6b\x72\x64" -+"\x72\xa1\x7c\xb2\x1f\xf7\x2d\x06\xb9\xab\xa4\xae\xa8\x77\x9a\x62\x1f\x7a\x06\xba\xf7\x6d\x05\x96\x06\xb1\xab\xa7\xad\xa6\x76\x9a" -+"\x62\x1f\x24\x06\xfb\x85\xfb\x8b\x05\x0b\x88\x1d\x58\xa2\x5d\xb3\x6c\x1e\x71\xaf\xc2\x7d\xd6\x1b\xef\xd5\x9c\xaf\xc1\x1f\xa7\x9d" -+"\x9a\xa1\xa0\xdd\x1d\x0b\x15\xa5\xa3\x8f\x90\x9b\x1a\x9d\x7e\x98\x78\x80\x81\x87\x80\x7e\x1e\xfb\x12\x22\x05\x6f\x73\x88\x86\x7c" -+"\x1a\x79\x99\x7c\x9d\x95\x97\x90\x97\x98\x1e\xf7\xb6\xf3\x15\xa6\xa3\x8e\x90\x9b\x1a\x9d\x7e\x98\x79\x7f\x82\x87\x80\x7d\x1e\xfb" -+"\x12\x22\x05\x70\x73\x87\x86\x7c\x1a\x79\x99\x7c\x9d\x95\x97\x91\x96\x98\x1e\x0e\xf8\xd6\x15\xfb\x4a\xfb\x42\xfb\x45\xfb\x4d\xfb" -+"\x17\xea\x29\xf7\x14\xf7\x4e\xf7\x41\xf7\x43\xf7\x50\xf7\x18\x2b\xeb\xfb\x16\x1f\x75\x24\x15\xdb\xc4\x4e\x36\xfb\x0b\xfb\x03\xfb" -+"\x0c\xfb\x02\x39\x52\xc7\xe1\xf7\x0d\xf7\x02\xf7\x0a\xf7\x05\x1f\x0b\x1a\x61\xa9\x72\xbe\xb0\xba\x97\x9c\xa7\x1e\x9a\x95\x96\x9c" -+"\x9a\x1a\x9f\x7d\x98\x76\x83\x85\x89\x86\x80\x1e\x7e\x6c\x80\x87\x7f\x1b\x80\x86\x8e\x92\x0b\x15\xfb\x13\x6a\x05\x6c\x83\x80\x80" -+"\x76\x1a\x7b\x95\x80\x99\x91\x93\x8c\x8e\x93\x1e\xb2\x97\x5d\xfb\x79\x05\x5d\x06\x6b\x78\x7d\x73\x78\x97\x83\xa5\x1f\xf7\x37\x06" -+"\xa6\x9d\x9b\xa3\x9d\x82\x92\x74\x1f\x59\x06\x0b\xf7\x55\x1d\xe0\xef\xf5\xdb\xd5\x9d\x7f\x97\x7a\x74\x7f\x80\x6d\x7f\x1f\x61\x7b" -+"\x5c\x6e\x56\x1b\x72\x75\x92\x9a\x78\x1f\x7b\x97\x88\x92\x88\xa8\x08\xac\x88\x84\x94\x75\x1b\x0e\xf7\x10\x0a\x95\x1b\xa3\xc8\x0a" -+"\x26\x0a\x56\x64\x97\xa2\x75\x1e\xa9\x88\x7c\x99\x6f\x1b\x66\x75\x75\x5f\x81\x1f\x84\x6b\x05\x88\x7b\x8a\x87\x83\x1a\x73\x9d\x7b" -+"\xa6\x99\x0b\x1b\xfb\xa8\x6b\x0a\xf7\x06\x06\x4f\xfb\x9f\x0b\x06\xa8\x99\xd8\x0a\x0b\x8f\x8e\x8e\x8c\x8d\x08\x93\x94\x8e\x92\x96" -+"\x1a\x9d\x7d\x98\x78\x7a\x0b\x7d\x1a\x7b\x9a\x7d\x9d\x9a\x9b\x94\x9b\x99\x1e\x0e\xf7\x00\x0a\xf7\x0d\x06\xa9\x98\x3d\x1d\x9b\x1a" -+"\x0b\xeb\x0a\xb5\x1e\xf7\x05\x06\x0b\x9d\x79\xa5\xae\xaa\xa8\xac\xa4\x79\x9c\x70\x1f\xf7\x61\x16\x69\x6c\x6e\x6b\x72\x0b\x90\x1e" -+"\x8e\x82\x85\x8c\x76\x1b\x0b\xf7\x95\x15\xad\xfb\x95\x05\xf7\x08\x06\xf7\x37\xf8\x62\x05\xae\x91\xa3\xa3\x0b\x06\x6a\x83\x99\x1d" -+"\x0b\x06\x6b\x81\x37\x0a\x0b\x06\x6b\x81\x2a\x1d\x7b\x1a\x6d\x9c\x7f\x0b\x9d\x1a\x9d\x7c\x98\x77\x80\x80\x87\x80\x7d\x1e\xfb\x2b" -+"\x21\x05\x0b\x86\x84\x4d\x1d\x26\x0a\x1a\x75\x9e\x7a\xa5\xad\xa3\xa2\xb6\x94\x1e\x0b\xf1\x0a\x89\x81\x89\x7f\x85\x1a\x75\x9e\x79" -+"\xa3\x0b\x7d\xf7\x15\x1d\x0b\x4a\x0a\xb1\xa8\x75\x9f\x0b\x90\x1e\x8e\x82\x84\x8c\x77\x1b\x0b\xf7\x72\x1d\x7b\x1e\x0e\x9a\x1d\x81" -+"\x7d\x87\x82\x0b\x9f\x99\xaf\x1a\xb1\x74\x99\x4b\x1e\x0b\x63\x93\x5b\x1b\xfb\x1d\x22\x46\x31\x4c\xbf\x6c\x0b\x93\x1a\xa2\x78\x9c" -+"\x72\x0b\xf8\x06\x15\xf7\x3c\x1d\x0b\x1a\x58\xb2\x6a\xc8\xdc\xcb\xc5\xd4\xa3\x82\x0b\x81\x3f\x1d\x0b\x06\xb0\xab\xa8\xac\xa7\x76" -+"\x99\x62\x1f\x0b\xab\xa2\xb0\xa8\x77\x99\x62\x1f\x82\x06\x0b\x1a\xa1\x7a\x9a\x73\x7a\x81\x85\x7a\x0b\x87\x7a\x89\x7a\x7a\x1a\x0b" -+"\x40\x4d\x3a\x79\x1f\x83\x69\x05\x0b\x06\x6c\x7f\x88\x7f\x7c\x1f\x7c\x0b\x8b\x8c\x94\x1a\xa2\x78\x9c\x72\x0b\x15\x40\xfb\xe4\x81" -+"\x5b\x5f\x6b\x0b\x1a\x72\x9c\x7c\xa9\xb5\xa2\xa7\x0b\x1f\x7b\x7f\x82\x7a\x7a\x1a\x6d\x0b\x95\x7b\x9a\x86\x1e\x0b\x90\x1e\x8f\x81" -+"\x87\x8b\x0b\x06\x92\xac\x05\xa2\x90\xa0\x0b\x73\x7b\x99\xa1\xac\xa5\xa4\x0b\xf7\x85\x9d\x0a\x98\x8e\x96\x99\xd3\x1d\x99\x8f\x96" -+"\x99\x1f\x9a\x97\x95\xe8\x0a\x0b\xf8\x16\xf7\x1e\x1d\x83\x84\xb7\x1d\xf7\x03\x1d\xb5\x05\xa0\x98\xf7\x08\x1d\x7b\x1a\x7a\x87\x0a" -+"\x8f\x89\x90\x8a\x95\x8a\xf0\x27\x18\xfb\x3c\xfb\x0b\x74\x89\x83\x89\x7f\x81\x19\x7b\x7e\x82\x7a\xf7\x36\x1d\x98\x94\x9d\x9d\x1a" -+"\x9c\x85\x94\x78\x95\xf7\x2d\x0a\x71\x21\x0a\xf7\x04\x06\xa8\x99\x28\x1d\x9b\x1a\x9c\x81\x9b\x7c\x91\x1e\x87\x8c\x85\x8c\x7f\x8c" -+"\x08\x0e\xf7\x91\xf7\x32\x15\x9c\x96\xd9\x39\x05\x7b\x7c\x84\x7e\x7a\x21\x0a\xf7\x0a\xf7\x22\x1d\x82\x85\x8b\x76\xd4\x0a\x9c\xd2" -+"\x0a\xfb\x04\x82\x0a\x7e\x82\x7a\x7a\x1a\x81\x8d\x86\x90\x82\x1e\x3b\x56\xd1\xf7\xd1\x05\xfb\x0d\x06\x73\x80\x8a\x85\x80\x1f\x76" -+"\x80\x7c\x75\x76\xf4\x0a\x33\xfc\x20\x05\x7e\x06\x6b\x80\x88\x7f\x7d\x1f\x7b\x7e\x31\x1d\xb5\x1e\xf7\x0c\x06\x0b\xf7\x46\xf7\x52" -+"\x1d\x52\xfb\x90\x05\x6c\x6c\x0a\x79\x7a\x21\x0a\xf7\x15\x20\x0a\x9c\x1a\x9c\x81\x9a\x7c\x91\x1e\x86\x8d\x84\x8c\x7e\x8c\xdb\xf7" -+"\xf9\x18\xb2\x90\xa4\xa3\xab\x41\x0a\xfb\x03\x06\xfb\x57\xfb\xaa\x41\xf7\xaa\x05\xfb\x03\x25\x1d\x72\x98\x7e\xa7\x88\x1e\x3c\xfb" -+"\xfa\x05\x5f\x8a\x6d\x72\x67\x21\x0a\xf7\x15\xb3\x0a\x8c\x77\x1b\x6d\x06\x0e\xf8\xcc\xf7\xef\x15\x9b\x1d\x5f\x5e\x65\x7b\x6b\x67" -+"\x1e\x3a\x41\x7d\x7f\x80\x82\x88\xf7\x5c\x1d\x05\xbf\x8d\x9e\x9a\xb0\x1a\xb1\x77\x97\x4d\x8b\x1d\xfb\x6e\x05\x50\x74\x7c\x66\x65" -+"\xa2\x7d\xca\x1f\xf7\x26\x1d\x86\xa2\x62\xb2\x44\x18\x98\x73\x94\x7d\x91\x86\x08\x82\x94\x9e\x87\xb4\xa4\x1d\x5f\x1f\x7d\x06\x8a" -+"\x06\x87\x06\x60\xda\x81\x9d\x7c\x9b\x79\x95\x19\xd9\xd0\xdd\x0a\x0b\xc6\x15\x69\xb3\xb7\x7b\xf7\x14\x0a\x3c\xd0\xfb\x11\x4f\x5e" -+"\x7d\x67\x54\x1f\x94\xb1\x05\xfb\x0d\xae\x0a\x97\x06\x2e\xfc\x33\x9f\x0a\x15\x28\x37\x1d\x7a\x87\x0a\x90\x89\x92\x8a\x98\x8a\x5a" -+"\xfb\x6f\x18\x89\xf7\x63\x1d\x7b\x1a\x6c\x9c\x7f\xb6\x1e\xf7\x04\x06\xa8\x99\x29\x1d\x9c\x81\x9c\x41\x1d\x77\x1b\x8a\x06\xb0\xf7" -+"\x3c\x05\xba\xc3\xae\x9b\xb7\x1b\xbc\xa4\x7c\x6f\x85\x8a\x84\x89\x83\x1f\x66\xfb\x3b\x05\x60\x6d\x72\x68\x6c\x9d\x7f\xb6\x1f\xe4" -+"\xd3\x0a\x7d\x1b\xb1\xf7\x3d\x05\x8e\x9a\x8d\x9a\x9a\x1a\xd3\x4e\xbb\x31\x55\x67\x7e\x64\x55\x1e\x0b\xf8\x24\xf7\x2b\x15\x94\x5c" -+"\x05\x79\x6c\x0a\x79\x7a\x1a\x6d\x9d\x7f\xb5\x1e\xf7\x1f\x6b\x1d\x9b\x97\x94\x9d\x9b\x1a\xa7\x79\x9a\x6b\x1e\x82\x06\x2b\xf8\x60" -+"\x05\xfb\x70\x6b\x0a\xc3\x06\xfb\x7b\xfb\xf9\x6b\x8a\x81\x89\x7d\x7f\x19\x7b\x7e\x31\x1d\xb6\x1e\xf7\x18\xdc\x0a\x82\x85\x8c\x76" -+"\x1b\x7c\x06\xa9\xba\x05\xf7\x67\xf2\x15\xfb\x25\x06\xf7\x03\xf7\x3d\x05\x0e\xf7\xb5\xf7\xd6\x15\xf7\x46\x81\x1d\x20\x1d\xdc\x1d" -+"\x6b\x99\x6f\xa4\x7b\x1e\x77\xa9\xb7\x80\xb8\x1b\xd2\xeb\xa1\xa8\xc3\x1f\xa4\x98\x97\x9c\xa1\x78\x1d\x0b\xf9\x0f\xe1\x1d\x49\x5d" -+"\x45\xe4\x0a\x97\x8e\x96\x99\xe0\x1d\x0b\x15\xf7\x3f\xfc\x03\x05\xf4\x06\xf1\xf8\x61\x05\xc4\x1d\x0b\xf8\x2d\xc1\x1d\x0e\xf7\x29" -+"\x0a\x79\x7e\x85\x7b\x7a\x1e\xa9\x4c\x73\x91\x52\x1b\xfb\x30\xfb\x25\xfb\x0a\xfb\x2e\x69\x1f\x0b\xf7\x56\xf7\x53\x15\xea\x06\xf5" -+"\xca\xa3\xc9\xc4\x9b\x0a\xca\x7f\xb5\x71\xac\x1f\xa8\x74\x6b\x9c\x6e\x1b\x6c\x73\x73\x6e\x7a\x90\x84\xa4\x7b\x1f\xab\x77\x92\x7d" -+"\x58\x1a\x52\x84\x63\x7a\x6c\x1e\x70\x7c\x79\x7c\x79\x1b\x7a\x82\x9a\xa5\x9b\x8e\x9e\x8f\xa0\x1f\x91\xa3\x8c\x92\x97\x1a\xa6\x7c" -+"\x99\x6f\x68\x75\x77\x5d\x7e\x1e\x38\x73\x75\x6b\x6b\x1b\x7b\x83\x98\xa7\xbe\xa1\xd4\xa5\xae\x1f\x98\x9c\x9b\x97\xa7\x98\x08\xad" -+"\x9a\x99\x9c\xa3\x1a\xa5\x72\xa3\x6f\x61\x51\x68\x5a\x66\x1e\x61\x53\x6e\x30\x3f\x1a\x0b\x1f\xb1\xb4\xa1\xbd\xbb\x1a\xe6\x44\xc4" -+"\xfb\x06\x1e\xfb\x7d\x06\x6b\xe7\x1d\x90\x1d\x6d\x9d\x7f\xb6\x1e\xf7\x69\x06\xa7\x9a\x8f\x96\x99\xf7\x45\x1d\x20\x1d\x2e\x06\xda" -+"\xf7\xfa\x15\xf7\x07\x06\xc4\xac\x74\x63\x4e\x56\x60\x3f\x1f\xfb\x05\x06\x0e\x15\x76\x79\x78\x76\x7d\x94\x82\x9c\x8a\x1f\xa2\x8a" -+"\x92\x8a\x95\x86\x08\x9d\x82\x97\x7a\x7a\x1a\x65\x6a\x76\x4f\x69\x7d\x8e\x94\x7f\x1e\x92\x84\x88\x8c\x84\x1b\x78\x79\x78\x76\x70" -+"\xb5\x79\xcb\xc4\xb1\x98\xa8\xaa\x1f\xa5\xa4\x9c\xaf\xa9\x1a\xa7\x7c\xa5\x72\x9b\x1e\xb5\xa6\x9e\xaa\xb2\x1a\xbf\x66\xac\x50\x48" -+"\x4b\x66\x65\x7d\x95\x80\x98\x94\x93\x8e\x92\x91\x1e\x9f\xa0\x9a\x91\xa7\x1b\xaa\x9d\x7f\x75\x73\x6f\x72\x6f\x1f\x0b\xf7\x5c\x15" -+"\xcf\xb9\xc0\x7b\xb9\x28\x99\xfb\x17\x19\xf7\x05\x06\xa8\x9a\x8f\x96\x98\x48\x0a\x82\x85\x8b\x77\x1b\x6e\x06\x76\xf5\x5f\xdb\x58" -+"\xa9\xf7\x5e\xf7\x22\x18\xb9\xaa\xa4\xaf\x9d\x81\x9a\x7c\x90\x1f\x8e\x82\x85\x8c\x77\x1b\x26\x6c\x0a\x78\x79\x1a\x7b\x90\x82\x99" -+"\x84\x1e\xfb\x58\xfb\x1c\xa7\xf7\x15\x05\xab\x06\xa9\x0b\x7e\x1d\xcb\xc5\x6c\x6a\x89\x1f\x8a\x76\x05\x74\x8a\x9d\x7a\xa5\x1b\xaf" -+"\xa1\xa1\xb7\x95\x1f\x9d\xdb\x05\x98\x0a\x0b\x05\x7f\x6d\x0a\xb6\x1e\xf7\x42\x06\xaa\x97\x50\x1d\x9b\x1a\x9d\x81\x9b\x7c\x8f\x1e" -+"\x8e\x83\x82\x8c\x79\x1b\x56\x06\xf7\x85\xf8\x3f\x15\xb3\xaa\x82\x79\x9f\x1f\x9c\x7c\x97\x71\x76\x1a\x65\x70\x60\x63\x72\x1e\x79" -+"\x6d\x69\x82\x62\x1b\x40\x5d\xae\xc2\xb1\xa6\xb5\xb3\xa4\x1f\x9e\xa9\xac\x93\xb6\x1b\x0e\x05\xa5\x97\x8d\x8f\x95\x1f\x9f\x94\x9c" -+"\xa4\xa0\x1a\xa7\x76\x99\x63\x1e\xfb\x0c\xf7\x13\x0a\x3c\xfb\xf8\x05\xfb\x5c\x06\xda\xf7\xf9\x05\xa6\x97\x8d\x8f\x95\x1f\xa0\x94" -+"\x9c\xa3\xa0\x1a\xa8\x77\x99\x62\x1e\xfb\x0c\x06\x58\x6c\x74\x65\x6c\x99\x81\xbb\x8a\x1f\x42\xfb\xf9\x2d\x0a\x0b\x8e\x9b\x8c\x91" -+"\x94\x7f\x0a\x7e\x1e\x9a\x6a\x78\x0a\xf7\x10\x63\x1d\x4b\x61\x0a\x93\x8e\x93\x98\x1e\x0b\xf7\x20\xf7\xd5\x15\x5c\xfb\x6d\x44\x0a" -+"\xbb\xf7\x6d\x05\xf7\x78\x06\x79\x38\x05\x87\x7c\x8a\x83\xf7\x26\x0a\x95\x1e\xb5\xf7\x51\x05\xfc\x86\x06\x67\x6b\x6e\x6a\x70\xa0" -+"\x7c\xb3\x1f\x0b\x06\x73\x6b\x76\x61\x7c\x1a\x83\x92\x84\x94\x92\x8f\x8d\x92\x91\x1e\xad\xb2\xa3\x9f\xbc\xa8\x99\x94\x18\x91\x8e" -+"\x8f\x8d\x8c\x8c\x08\x99\x93\x8e\x8e\x93\x1a\x92\x87\x8f\x78\x95\x1e\x4f\xad\x6e\xa2\x6c\xae\x08\x98\x80\x87\x8e\x84\x1b\x82\x83" -+"\x85\x83\x7c\x9b\x6b\xa8\x5f\x1f\x0b\xf7\xd6\x84\x0a\x54\x8c\x19\xfb\x02\x6d\x0a\xb7\x1e\xf7\x05\x06\xf7\x04\xf0\xd9\xf1\xa1\x1f" -+"\xed\xf8\x4d\x05\xfb\xc7\x06\x6b\x82\x89\x7e\x7b\x86\x0a\x9d\x7f\xb6\x1e\x0b\xf7\x6e\xf7\x11\x15\x86\x76\x89\x7b\x7e\x1a\x55\xb5" -+"\x67\xcc\xc6\xb5\xa8\xb4\xa4\x79\x9e\x72\x84\x82\xf7\x3b\x1d\x8b\x8d\x95\x1f\xc2\xf7\x93\x05\x8f\x9c\x8c\x91\x91\x1a\xa3\x78\x9c" -+"\x70\x68\x73\x73\x5f\x81\x1e\x0b\x05\xb0\x8d\xa7\xa5\xac\x1a\xa6\x75\x9a\x63\x1e\x27\x06\x59\x6b\x72\x65\x71\xa1\x7c\xb2\x1f\x95" -+"\x06\x7f\x54\x05\xfb\x70\x06\x97\xc2\x05\x93\x06\xbd\xab\xa3\xb0\xa8\x77\x99\x62\x1f\x27\x06\x59\x6b\x72\x64\x74\x9a\x7e\xa8\x88" -+"\x1f\x5c\xfb\x6f\x05\x73\x7d\x0b\x9a\x1b\x93\x92\x92\x94\x92\x88\x8f\x84\x91\x1f\x63\xac\x78\xa1\x6d\xbc\x88\x8f\x88\x90\x88\x90" -+"\x08\x88\x90\x87\x91\x8b\x1a\xf7\x16\x0a\x6a\x52\x72\x6b\x67\x6f\x08\x7e\x80\x88\x86\x85\x1a\x81\x92\x84\x93\x99\x0b\xf8\xe2\x89" -+"\x1d\xfb\x03\xe0\x46\xf7\x1f\xdc\xf7\x07\x9f\xa1\xb7\x1e\xa2\x96\x98\x9e\xa2\x1a\xa2\xf7\x38\x1d\x2a\x0b\xf8\xc5\xac\x0a\xf8\xf8" -+"\xf7\x0c\x1d\xfc\xa1\x37\x1d\x6c\x9c\x7f\xb7\x1e\x0e\x8a\x98\x8a\xfb\x31\xfb\x5d\x18\x4c\xf7\x5d\xf7\x69\x1d\x7c\x90\x1e\x8e\x82" -+"\x85\xf7\x42\x1d\x7b\x1a\x72\x97\x7f\xa7\x86\x1e\x0b\xf7\x2a\x0a\xcc\xa8\xbd\xb7\x1f\xa1\xa4\x9a\xa9\xf7\x30\x1d\x55\x6a\xa6\xb8" -+"\x1f\xa7\x8c\x82\x96\x77\x1b\x0e\x8e\x97\x99\x1f\x9a\x68\x1d\x82\x85\x8c\x77\x1b\x2f\x37\x1d\x71\x98\x7e\xab\x88\x1e\x98\xfb\xd6" -+"\x05\xef\x06\x0b\x06\x6b\x81\xd6\x0a\x0b\x15\xe4\x31\x05\x81\x36\x0a\xa2\x96\x8a\x8c\x7a\x9c\x1f\xfb\x13\xf7\x11\xfb\x4a\xfb\x10" -+"\x05\x6e\x77\x6f\x0a\xf8\xa9\xf7\xdc\x15\xb0\x9e\x97\x9a\xa5\x1a\x9f\x79\x9d\x77\x7d\x83\x88\x7e\x72\x1e\xfc\x20\xfb\x69\x05\x66" -+"\x78\x7f\x7c\x72\x1a\x76\x9d\x79\xa0\x96\x99\x90\x96\xa0\x1e\x0e\x1e\x55\xf7\x12\x15\xa3\x9b\x7d\x75\x6b\x71\x71\x69\x8a\x0a\xad" -+"\x1f\x69\xf7\x24\x1d\x0b\x64\x72\xb5\x0a\x0b\x06\xa8\x99\x8f\x96\x99\x48\x0a\x83\x84\x0b\x7f\x83\x75\x7c\x1e\x9e\x6e\x60\x96\x59" -+"\x1b\xfb\x24\xfb\x0a\x0b\x6b\x55\x1a\x5d\xc6\x0a\x81\x88\x8e\x93\xad\x0b\xe2\x0a\xb7\x1e\xd4\x2e\x0a\xfb\x0a\x26\x1d\x0b\x15\x98" -+"\x7d\x85\xf7\x28\x0a\x96\x81\xf7\x34\x1d\x94\x7f\x97\x1f\x0e\x15\x40\x46\xbd\x0a\x0b\xe3\x0a\x0e\xf7\x29\x1d\x95\x96\x9d\x9e\x1a" -+"\x9d\x82\x9c\x7c\x95\x1e\x93\x7f\x82\x8d\x6e\x1b\x0b\xbf\x0a\x0e\x16\xf7\x0e\x06\xa9\x98\x28\x1d\x9b\x1a\x9d\x81\x9b\x0b\x4a\x45" -+"\x58\xb2\x65\xc1\xd5\xd1\xcc\xd1\xbf\x64\xb0\x55\x1f\x7e\x53\x15\xa6\x9f\x78\x72\x68\x68\x6a\x66\x70\x77\x9e\xa5\xad\xae\xac\xb0" -+"\x1f\x0b\xa6\x7b\x71\x84\x8a\x81\x88\x7f\x1f\x67\xfb\x34\x05\x89\x06\x6b\x80\x89\x7f\x7c\x1f\x7b\x7e\x31\x1d\xb6\x1e\xf7\x04\x06" -+"\x0b\x15\x8c\x9b\x05\x9f\x81\x96\x79\x79\x80\xf7\x18\x0a\x85\x85\x1a\x78\x95\x80\x9d\x9d\x96\x97\xa5\x91\x1e\x0b\x90\x8f\x87\x82" -+"\x91\x1e\x77\x99\x95\x85\x9f\x1b\xa5\x9d\x9c\xa3\xa9\x72\xa0\x68\x73\x72\x82\x7c\x77\x1f\x66\x6e\x7d\x60\x32\x1a\x0e\x15\x63\x73" -+"\x0a\x6c\x1f\xf7\x64\x16\x63\x4a\x0a\xb1\x0b\x9f\x9e\x9f\x1b\x95\x96\x89\x85\x9a\x1f\x86\x9a\x8f\x8a\x95\x1b\xad\xaa\xa9\xac\xab" -+"\x5e\xa1\x4a\x3b\x81\x0a\x0b\xf7\x1c\x0a\x7d\x89\x87\x83\x1a\x7e\x99\x7f\x9a\x99\xf7\x2c\x0a\x0e\x15\x98\x7d\x86\x8e\x7f\x1b\x70" -+"\xd5\x0a\x94\x0b\x33\x06\x4c\x73\x7d\x67\x68\xa0\x7a\xb8\x8a\x1f\x72\xfb\x04\x05\x86\x0b\xaa\x6f\xbd\xad\xbb\x98\x9b\xa5\x1e\x9a" -+"\x95\x95\x9b\x9a\x1a\x9f\x7d\x99\x77\x83\x83\x89\x87\x82\x1e\x7c\x67\x87\x8a\x7f\x1b\x0b\x15\x62\x62\x1d\x6d\x1f\xf7\x63\x16\xf7" -+"\x56\x1d\x0b\xa1\x1d\xfb\x4b\xf7\x73\x1d\x99\x7e\x9d\x95\x0b\x06\x6b\x7c\x0a\x7a\x0b\x1b\x79\x79\x83\x7d\x80\x1f\x83\x80\x88\x80" -+"\x71\x1a\xfb\x53\x07\x74\x8d\x80\x91\x81\x1e\x7b\x96\x9e\x81\x9f\x1b\x0b\xf7\xcb\xf8\xf1\xf7\x43\x1d\xa0\xa7\xa5\x1d\xb5\xf7\x50" -+"\x05\x8e\x97\x8c\x95\x97\x69\x1d\x0b\x81\x1f\x77\x82\x7a\x73\x75\x1a\x70\xa0\x7c\xb3\x1e\xf7\x0d\x06\xbc\x7e\x0a\x0b\x1a\x97\x86" -+"\x97\x81\x92\x1e\x93\x82\x82\x8d\x6f\x1b\x27\x39\x1d\x7a\x1a\x0b\xa6\x1d\x94\x91\x0b\x15\xf7\x69\xf7\x76\x05\xa1\x95\x8d\x90\x96" -+"\x1f\xa0\x96\x9a\xa1\xa1\x52\x1d\x0b\x77\x1a\x6d\xa6\x71\xab\xa0\x95\x91\xac\xa6\x1e\xa8\xa4\x94\x93\x92\x1b\x90\x99\x82\x7c\x9d" -+"\x1f\x0b\xa8\x1d\x76\x1b\x0b\x20\x0a\x9b\x1a\x9d\x81\x9a\x7c\x91\x1e\x8d\x86\x84\x8c\x0b\x1b\x6b\x06\xfb\x11\xf7\x16\xf7\x1a\xe4" -+"\x05\xa5\x06\xaa\x96\x8d\x97\x9a\x1f\x9b\x98\x94\x9c\x0b\xf7\x1b\x1d\xa3\x0b\x88\x7f\x30\x1d\x88\x94\x91\x8a\x9f\x1b\x0b\x8e\x97" -+"\x9a\xa0\x1d\x8e\x82\x20\x1d\x0b\x8f\x96\x99\x91\x1d\x0b\x93\x1a\xa2\x78\x9c\x72\x67\x74\x75\x5f\x82\x1e\x0b\x1f\xf7\x64\xf7\x2d" -+"\x1d\x0b\x05\x79\x06\x59\x6b\x73\x66\x6c\x9c\x7f\xb7\x1f\xf7\x18\x06\xbe\xab\xa3\xaf\xa5\x0b\x06\xa9\x98\x8f\x96\x99\x48\x0a\x0b" -+"\x94\x93\x90\x8e\x94\x91\x19\x6a\x8e\x99\x7c\xa9\x1b\xa6\x9b\x9a\xae\x93\x1f\x0b\x99\x8f\x96\x99\xf7\x02\x0a\x96\x81\x94\x1e\x92" -+"\x82\x0b\xf5\x0a\x20\x1d\x0b\x1f\x7b\x7f\x82\x79\x7a\x1a\x7f\x90\x80\x95\x83\x1e\x83\x94\x93\x89\xa8\x1b\x0b\x81\x89\x81\x82\x1a" -+"\x70\x9c\x7e\xac\xb4\x98\x0b\xf7\x11\x0a\x6d\x9d\x7f\x0b\x15\x65\x64\x66\x66\x70\xa3\x73\xa7\xb4\xb0\xae\xb2\xa8\x75\xa1\x6c\x1f" -+"\x0b\x1b\x4f\x5f\xae\xba\x8f\x8c\x93\xf7\x27\x0a\x0b\x9d\x7f\xb6\x1e\xf7\x19\x06\xbc\xab\xa2\xaf\xaa\x78\x99\x61\x1f\x7c\x06\x0b" -+"\x05\x87\x79\x8b\x88\xf7\x5a\x1d\x0b\xf7\x54\x1d\xc8\x44\x70\x99\x5e\x1b\x5f\x69\x79\x0b\x9d\x3c\x1d\x83\x84\x8b\x77\x1b\x6d\x06" -+"\x0b\x6b\x81\x3f\x1d\x79\x7b\x21\x0a\x0b\x06\x58\x6c\x40\x1d\x0b\xf7\x0a\x0a\x6e\x9d\x7e\x0b\xf7\x70\x15\xf7\x2a\xf1\xa2\x8e\x92" -+"\x8d\x97\x95\x19\x9b\x97\x94\x0b\x8a\x84\x80\xf7\x66\x1d\x80\x1e\x0b\x3e\x1d\x82\x20\x1d\x2f\x06\x6c\x0b\xf9\x04\x15\xf7\x0d\x0a" -+"\x0b\xf8\xe4\xf7\x70\x1d\x94\x84\x9a\x1b\x0b\xf2\x15\xf8\x0f\xf7\xff\xa1\xed\x05\xfc\x34\x06\x66\xfb\x39\x05\x0b\x82\xc5\x1b\xf7" -+"\x26\xf7\x05\xd2\xe6\xb0\x79\xaa\x6a\x9f\x1f\x0b\x06\x6b\x81\x89\x7e\x7c\x1f\x7c\x7f\x81\x79\x7b\x1a\x6d\x9d\x0b\x1a\x7a\x96\x7b" -+"\x99\xf7\x6e\x1d\x0b\xf7\x4c\x1d\x82\x0b\x9d\x9c\x1a\x97\xf7\x19\x0a\x0b\x82\x7a\x7b\x1a\x6c\x9c\x7f\xb6\x1e\x0b\x86\x95\x1b\xa5" -+"\xa3\xa1\xa2\x95\x86\x0b\x1f\x9b\x97\x94\x9d\x9c\x1a\x97\x86\x0b\x1f\x9a\x97\x94\x9d\x9b\x1a\x0b\xf7\x57\x1d\xb6\x1e\x0b\x89\xf7" -+"\x0a\x0a\x0b\x7d\x98\x77\x7f\x83\x88\x7e\x79\x1e\xfb\x32\x21\x05\x0b\x41\x49\x4d\x46\x74\x92\x77\x99\x7a\x1e\x66\x71\x75\x0b\x05" -+"\x89\x81\x89\x7f\x84\x1a\x75\x9e\x7a\xa4\x9c\x9c\x0b\x06\x33\x66\x84\x71\x64\x1f\x47\x5e\x68\x40\x27\x1a\x0b\xf7\x63\x1d\x7a\x1a" -+"\x0b\x15\x70\x83\x8a\x84\x80\x1f\x7a\x82\x80\x78\x78\x1a\x0b\x1a\x98\xf7\x19\x0a\x0b\x69\x6c\x6e\x6b\x72\x9d\x7a\xa6\xad\xaa\xa8" -+"\xac\xa3\x0b\x7c\x1f\x7c\x7e\x82\x7a\x7a\x1a\x6d\x9c\x7f\xb6\x1e\x0b\x83\x7b\x7d\x1e\x23\xfb\x0e\x05\x0b\x15\xe4\x31\x05\x81\x95" -+"\x93\x87\x0b\x7c\x1f\x7b\x7f\x82\x7a\x7a\x1a\x0b\x06\x55\x6e\x76\x65\x6d\xa0\x7c\xb6\x1f\x94\x06\x0b\x06\x59\x6b\x74\x66\x6e\x9f" -+"\x7c\xb4\x1f\x94\x06\x0b\xc4\x1b\xf7\x35\xf7\x1b\xf7\x07\xf7\x1c\xf7\x00\x0b\x15\x98\x7e\x85\x8e\x7f\x1b\x70\x74\x75\x73\x82\x0b" -+"\x98\x84\x88\x8e\x82\x1b\x84\x87\x87\x79\x81\x1f\x0b\x9c\x1f\xfb\x12\xf7\x11\xfb\x4b\xfb\x11\x05\x6e\x0b\x7e\x73\x85\x1e\x6a\xfb" -+"\x2b\x05\x8a\x87\x8a\x0b\x86\x96\x81\x93\x1e\x93\x82\x82\x8d\x6f\x1b\x0b\x1a\x7b\x97\x81\x9e\xa2\x9c\x99\xa2\x90\x1e\x0b\x9d\x93" -+"\x98\x98\x1e\x95\x95\x8f\x95\x91\xa5\x0b\xf7\x88\xf7\x1c\x15\xfb\x0d\xfb\x80\x05\x84\x0b\x78\x9c\x70\x69\x73\x73\x5f\x81\x1e\x0e" -+"\x06\x6b\x81\x89\x7e\x7c\x1f\x0b\x8e\x97\x9a\x1f\x9a\x97\x95\x0b\x95\x80\x9d\x9d\x97\x98\xa4\x0b\x1b\x68\x6f\x98\x9b\x94\x93\x0b" -+"\x77\x6e\x72\x99\x81\xae\x1f\x0b\x05\x8d\x96\x8d\x96\x92\x1a\xa1\x78\x9c\x0b\x06\x5f\x61\x64\x62\x6b\xa3\x75\xad\x1f\x0b\x06\xbe" -+"\xaa\xa2\xb1\xaa\x7a\x97\x5f\x1f\x0b\x85\x1a\x75\x9e\x7a\xa5\xad\xa3\xa2\xb6\x0b\x8c\x92\x1f\xc8\xf7\xa2\x05\xaa\x06\xaa\x0b\x8e" -+"\x7f\x1b\x71\x74\x75\x73\x82\x91\x80\x0b\x8f\x9d\x8b\x8c\x94\x1a\xa2\x79\x9c\x71\x0b\x15\x6d\x78\x74\x68\x42\xcb\x56\xe1\xcc\x0b" -+"\x97\x80\x9c\x96\x95\x90\x96\x96\x1e\xaf\x0b\x99\x93\x9c\x98\x1e\xf7\x5f\xf7\x9a\x05\x0b\x1e\xd8\xc0\xc2\x57\x05\x6e\x82\x78\x73" -+"\x0b\xa4\x73\xac\x1f\x94\x06\x94\x06\xb6\xb6\x0b", 59212 -+}; -diff -up texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/fonts/NimbusMonoPS-Italic.cff.cpp.301 texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/fonts/NimbusMonoPS-Italic.cff.cpp ---- texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/fonts/NimbusMonoPS-Italic.cff.cpp.301 2023-01-17 15:53:51.707205346 -0500 -+++ texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/fonts/NimbusMonoPS-Italic.cff.cpp 2023-01-17 15:53:51.707205346 -0500 -@@ -0,0 +1,1644 @@ -+#include "Base14Fonts.hpp" -+ -+extern const MemoryFontData NimbusMonoPS_Italic_cff = { -+"\x01\x00\x04\x02\x00\x01\x01\x01\x14\x4e\x69\x6d\x62\x75\x73\x4d\x6f\x6e\x6f\x50\x53\x2d\x49\x74\x61\x6c\x69\x63\x00\x01\x01\x01" -+"\x37\xf9\xbc\x00\xf9\xbd\x01\xf9\xbe\x0c\x00\xf9\xbf\x02\xf9\xc0\x03\xf8\x18\x04\x8c\x0c\x01\x7f\x0c\x02\x30\x0c\x03\xbe\x0c\x04" -+"\x4d\xfb\xd1\xf9\xac\xfa\x2c\x05\x1c\x31\x0a\x0f\x1c\x31\x1d\x11\xad\x1d\x00\x00\xb8\x40\x12\x01\xa6\x02\x00\x01\x00\x08\x00\x0e" -+"\x00\x13\x00\x1d\x00\x24\x00\x2b\x00\x35\x00\x39\x00\x3f\x00\x45\x00\x50\x00\x5a\x00\x5d\x00\x63\x00\x69\x00\x6e\x00\x74\x00\x7a" -+"\x00\x84\x00\x8b\x00\x8e\x00\x95\x00\x9c\x00\xa8\x00\xab\x00\xb3\x00\xb7\x00\xbc\x00\xc2\x00\xcd\x00\xd9\x00\xe3\x00\xe7\x00\xf2" -+"\x00\xf4\x00\xfa\x01\x04\x01\x0b\x01\x12\x01\x16\x01\x22\x01\x2b\x01\x31\x01\x3c\x01\x41\x01\x4d\x01\x53\x01\x59\x01\x5f\x01\x6b" -+"\x01\x6f\x01\x71\x01\x77\x01\x7d\x01\x89\x01\x8b\x01\x91\x01\x9e\x01\xa5\x01\xaf\x01\xb6\x01\xc2\x01\xcd\x01\xd0\x01\xd2\x01\xd5" -+"\x01\xdb\x01\xe1\x01\xed\x01\xf0\x01\xf6\x01\xfe\x02\x09\x02\x15\x02\x1a\x02\x1d\x02\x21\x02\x27\x02\x33\x02\x38\x02\x3e\x02\x4b" -+"\x02\x52\x02\x59\x02\x60\x02\x6f\x02\x7b\x02\x80\x02\x86\x02\x8c\x02\x97\x02\xa0\x02\xa6\x02\xa8\x02\xb3\x02\xb9\x02\xbf\x02\xc9" -+"\x02\xcd\x02\xd3\x02\xda\x02\xe3\x02\xec\x02\xf5\x02\xfe\x03\x07\x03\x10\x03\x19\x03\x22\x03\x2b\x03\x34\x03\x3d\x03\x46\x03\x4f" -+"\x03\x58\x03\x61\x03\x6a\x03\x73\x03\x7c\x03\x85\x03\x8e\x03\x97\x03\xa0\x03\xa9\x03\xb2\x03\xbb\x03\xc4\x03\xcd\x03\xd6\x03\xdf" -+"\x03\xe8\x03\xf1\x03\xfa\x04\x03\x04\x0c\x04\x15\x04\x1e\x04\x27\x04\x30\x04\x39\x04\x42\x04\x4b\x04\x54\x04\x5d\x04\x66\x04\x6f" -+"\x04\x78\x04\x81\x04\x8a\x04\x93\x04\x9c\x04\xa5\x04\xae\x04\xb7\x04\xc0\x04\xc9\x04\xd2\x04\xdb\x04\xe4\x04\xed\x04\xf6\x04\xff" -+"\x05\x08\x05\x11\x05\x1a\x05\x23\x05\x2c\x05\x35\x05\x3e\x05\x47\x05\x50\x05\x59\x05\x62\x05\x6b\x05\x74\x05\x7d\x05\x86\x05\x8f" -+"\x05\x98\x05\xa1\x05\xaa\x05\xb3\x05\xbc\x05\xc5\x05\xce\x05\xd7\x05\xe0\x05\xe9\x05\xf2\x05\xfb\x06\x04\x06\x0d\x06\x16\x06\x1f" -+"\x06\x28\x06\x31\x06\x3a\x06\x43\x06\x4c\x06\x55\x06\x5a\x06\x64\x06\x6b\x06\x74\x06\x7e\x06\x85\x06\x90\x06\x9a\x06\xa3\x06\xac" -+"\x06\xb5\x06\xbf\x06\xc6\x06\xcf\x06\xdb\x06\xdf\x06\xe5\x06\xeb\x06\xf6\x07\x00\x07\x03\x07\x11\x07\x15\x07\x1b\x07\x21\x07\x26" -+"\x07\x2d\x07\x3a\x07\x40\x07\x46\x07\x50\x07\x57\x07\x5e\x07\x61\x07\x68\x07\x6f\x07\x7b\x07\x86\x07\x8f\x07\x92\x07\x9a\x07\xa3" -+"\x07\xae\x07\xb4\x07\xb9\x07\xbe\x07\xc4\x07\xcf\x07\xdb\x07\xe5\x07\xf1\x07\xf5\x08\x00\x08\x05\x08\x0a\x08\x10\x08\x12\x08\x19" -+"\x08\x21\x08\x29\x08\x33\x08\x3d\x08\x49\x08\x55\x08\x5c\x08\x60\x08\x6c\x08\x7d\x08\x86\x08\x8c\x08\x97\x08\x9c\x08\xa8\x08\xb4" -+"\x08\xba\x08\xc0\x08\xc6\x08\xd2\x08\xd6\x08\xdf\x08\xe3\x08\xe8\x08\xec\x08\xf2\x08\xfd\x09\x0b\x09\x11\x09\x1c\x09\x22\x09\x2e" -+"\x09\x38\x09\x40\x09\x42\x09\x48\x09\x55\x09\x5c\x09\x61\x09\x6b\x09\x72\x09\x7e\x09\x88\x09\x93\x09\x9e\x09\xa4\x09\xa7\x09\xa9" -+"\x09\xb0\x09\xbc\x09\xca\x09\xcd\x09\xda\x09\xe0\x09\xe7\x09\xed\x09\xf9\x0a\x06\x0a\x09\x0a\x0f\x0a\x17\x0a\x22\x0a\x2e\x0a\x34" -+"\x0a\x39\x0a\x42\x0a\x47\x0a\x50\x0a\x53\x0a\x56\x0a\x5a\x0a\x60\x0a\x6c\x0a\x71\x0a\x76\x0a\x7c\x0a\x89\x0a\x90\x0a\x9d\x0a\xa4" -+"\x0a\xab\x0a\xb2\x0a\xb9\x0a\xc0\x0a\xc7\x0a\xce\x0a\xd5\x0a\xdc\x0a\xe3\x0a\xea\x0a\xf1\x0a\xf8\x0a\xff\x0b\x06\x0b\x0d\x0b\x14" -+"\x0b\x1b\x0b\x22\x0b\x29\x0b\x30\x0b\x37\x0b\x3e\x0b\x45\x0b\x4c\x0b\x53\x0b\x5a\x0b\x61\x0b\x68\x0b\x6f\x0b\x76\x0b\x7d\x0b\x84" -+"\x0b\x8b\x0b\x92\x0b\x99\x0b\xa0\x0b\xa7\x0b\xae\x0b\xb5\x0b\xbc\x0b\xc3\x0b\xca\x0b\xd1\x0b\xd8\x0b\xdf\x0b\xe6\x0b\xed\x0b\xf4" -+"\x0b\xfb\x0c\x02\x0c\x09\x0c\x10\x0c\x17\x0c\x1e\x0c\x25\x0c\x2c\x0c\x33\x0c\x3a\x0c\x41\x0c\x48\x0c\x4d\x0c\x56\x0c\x5d\x0c\x64" -+"\x0c\x73\x0c\x87\x0c\x93\x0c\x98\x0c\x9e\x0c\xa4\x0c\xaf\x0c\xb8\x0c\xbe\x0c\xc0\x0c\xcb\x0c\xd1\x0c\xd7\x0c\xe1\x0c\xe5\x0c\xe9" -+"\x0d\x1f\x0d\x5f\x0d\x74\x0d\x82\x41\x45\x61\x63\x75\x74\x65\x41\x62\x72\x65\x76\x65\x41\x6c\x70\x68\x61\x41\x6c\x70\x68\x61\x74" -+"\x6f\x6e\x6f\x73\x41\x6d\x61\x63\x72\x6f\x6e\x41\x6f\x67\x6f\x6e\x65\x6b\x41\x72\x69\x6e\x67\x61\x63\x75\x74\x65\x42\x65\x74\x61" -+"\x43\x61\x63\x75\x74\x65\x43\x63\x61\x72\x6f\x6e\x43\x63\x69\x72\x63\x75\x6d\x66\x6c\x65\x78\x43\x64\x6f\x74\x61\x63\x63\x65\x6e" -+"\x74\x43\x68\x69\x44\x63\x61\x72\x6f\x6e\x44\x63\x72\x6f\x61\x74\x44\x65\x6c\x74\x61\x45\x62\x72\x65\x76\x65\x45\x63\x61\x72\x6f" -+"\x6e\x45\x64\x6f\x74\x61\x63\x63\x65\x6e\x74\x45\x6d\x61\x63\x72\x6f\x6e\x45\x6e\x67\x45\x6f\x67\x6f\x6e\x65\x6b\x45\x70\x73\x69" -+"\x6c\x6f\x6e\x45\x70\x73\x69\x6c\x6f\x6e\x74\x6f\x6e\x6f\x73\x45\x74\x61\x45\x74\x61\x74\x6f\x6e\x6f\x73\x45\x75\x72\x6f\x47\x61" -+"\x6d\x6d\x61\x47\x62\x72\x65\x76\x65\x47\x63\x69\x72\x63\x75\x6d\x66\x6c\x65\x78\x47\x63\x6f\x6d\x6d\x61\x61\x63\x63\x65\x6e\x74" -+"\x47\x64\x6f\x74\x61\x63\x63\x65\x6e\x74\x48\x62\x61\x72\x48\x63\x69\x72\x63\x75\x6d\x66\x6c\x65\x78\x49\x4a\x49\x62\x72\x65\x76" -+"\x65\x49\x64\x6f\x74\x61\x63\x63\x65\x6e\x74\x49\x6d\x61\x63\x72\x6f\x6e\x49\x6f\x67\x6f\x6e\x65\x6b\x49\x6f\x74\x61\x49\x6f\x74" -+"\x61\x64\x69\x65\x72\x65\x73\x69\x73\x49\x6f\x74\x61\x74\x6f\x6e\x6f\x73\x49\x74\x69\x6c\x64\x65\x4a\x63\x69\x72\x63\x75\x6d\x66" -+"\x6c\x65\x78\x4b\x61\x70\x70\x61\x4b\x63\x6f\x6d\x6d\x61\x61\x63\x63\x65\x6e\x74\x4c\x61\x63\x75\x74\x65\x4c\x61\x6d\x62\x64\x61" -+"\x4c\x63\x61\x72\x6f\x6e\x4c\x63\x6f\x6d\x6d\x61\x61\x63\x63\x65\x6e\x74\x4c\x64\x6f\x74\x4d\x75\x4e\x61\x63\x75\x74\x65\x4e\x63" -+"\x61\x72\x6f\x6e\x4e\x63\x6f\x6d\x6d\x61\x61\x63\x63\x65\x6e\x74\x4e\x75\x4f\x62\x72\x65\x76\x65\x4f\x68\x75\x6e\x67\x61\x72\x75" -+"\x6d\x6c\x61\x75\x74\x4f\x6d\x61\x63\x72\x6f\x6e\x4f\x6d\x65\x67\x61\x74\x6f\x6e\x6f\x73\x4f\x6d\x69\x63\x72\x6f\x6e\x4f\x6d\x69" -+"\x63\x72\x6f\x6e\x74\x6f\x6e\x6f\x73\x4f\x73\x6c\x61\x73\x68\x61\x63\x75\x74\x65\x50\x68\x69\x50\x69\x50\x73\x69\x52\x61\x63\x75" -+"\x74\x65\x52\x63\x61\x72\x6f\x6e\x52\x63\x6f\x6d\x6d\x61\x61\x63\x63\x65\x6e\x74\x52\x68\x6f\x53\x61\x63\x75\x74\x65\x53\x63\x65" -+"\x64\x69\x6c\x6c\x61\x53\x63\x69\x72\x63\x75\x6d\x66\x6c\x65\x78\x53\x63\x6f\x6d\x6d\x61\x61\x63\x63\x65\x6e\x74\x53\x69\x67\x6d" -+"\x61\x54\x61\x75\x54\x62\x61\x72\x54\x63\x61\x72\x6f\x6e\x54\x63\x6f\x6d\x6d\x61\x61\x63\x63\x65\x6e\x74\x54\x68\x65\x74\x61\x55" -+"\x62\x72\x65\x76\x65\x55\x68\x75\x6e\x67\x61\x72\x75\x6d\x6c\x61\x75\x74\x55\x6d\x61\x63\x72\x6f\x6e\x55\x6f\x67\x6f\x6e\x65\x6b" -+"\x55\x70\x73\x69\x6c\x6f\x6e\x55\x70\x73\x69\x6c\x6f\x6e\x64\x69\x65\x72\x65\x73\x69\x73\x55\x70\x73\x69\x6c\x6f\x6e\x74\x6f\x6e" -+"\x6f\x73\x55\x72\x69\x6e\x67\x55\x74\x69\x6c\x64\x65\x57\x61\x63\x75\x74\x65\x57\x63\x69\x72\x63\x75\x6d\x66\x6c\x65\x78\x57\x64" -+"\x69\x65\x72\x65\x73\x69\x73\x57\x67\x72\x61\x76\x65\x58\x69\x59\x63\x69\x72\x63\x75\x6d\x66\x6c\x65\x78\x59\x67\x72\x61\x76\x65" -+"\x5a\x61\x63\x75\x74\x65\x5a\x64\x6f\x74\x61\x63\x63\x65\x6e\x74\x5a\x65\x74\x61\x61\x62\x72\x65\x76\x65\x61\x65\x61\x63\x75\x74" -+"\x65\x61\x66\x69\x69\x30\x30\x32\x30\x38\x61\x66\x69\x69\x31\x30\x30\x31\x37\x61\x66\x69\x69\x31\x30\x30\x31\x38\x61\x66\x69\x69" -+"\x31\x30\x30\x31\x39\x61\x66\x69\x69\x31\x30\x30\x32\x30\x61\x66\x69\x69\x31\x30\x30\x32\x31\x61\x66\x69\x69\x31\x30\x30\x32\x32" -+"\x61\x66\x69\x69\x31\x30\x30\x32\x33\x61\x66\x69\x69\x31\x30\x30\x32\x34\x61\x66\x69\x69\x31\x30\x30\x32\x35\x61\x66\x69\x69\x31" -+"\x30\x30\x32\x36\x61\x66\x69\x69\x31\x30\x30\x32\x37\x61\x66\x69\x69\x31\x30\x30\x32\x38\x61\x66\x69\x69\x31\x30\x30\x32\x39\x61" -+"\x66\x69\x69\x31\x30\x30\x33\x30\x61\x66\x69\x69\x31\x30\x30\x33\x31\x61\x66\x69\x69\x31\x30\x30\x33\x32\x61\x66\x69\x69\x31\x30" -+"\x30\x33\x33\x61\x66\x69\x69\x31\x30\x30\x33\x34\x61\x66\x69\x69\x31\x30\x30\x33\x35\x61\x66\x69\x69\x31\x30\x30\x33\x36\x61\x66" -+"\x69\x69\x31\x30\x30\x33\x37\x61\x66\x69\x69\x31\x30\x30\x33\x38\x61\x66\x69\x69\x31\x30\x30\x33\x39\x61\x66\x69\x69\x31\x30\x30" -+"\x34\x30\x61\x66\x69\x69\x31\x30\x30\x34\x31\x61\x66\x69\x69\x31\x30\x30\x34\x32\x61\x66\x69\x69\x31\x30\x30\x34\x33\x61\x66\x69" -+"\x69\x31\x30\x30\x34\x34\x61\x66\x69\x69\x31\x30\x30\x34\x35\x61\x66\x69\x69\x31\x30\x30\x34\x36\x61\x66\x69\x69\x31\x30\x30\x34" -+"\x37\x61\x66\x69\x69\x31\x30\x30\x34\x38\x61\x66\x69\x69\x31\x30\x30\x34\x39\x61\x66\x69\x69\x31\x30\x30\x35\x30\x61\x66\x69\x69" -+"\x31\x30\x30\x35\x31\x61\x66\x69\x69\x31\x30\x30\x35\x32\x61\x66\x69\x69\x31\x30\x30\x35\x33\x61\x66\x69\x69\x31\x30\x30\x35\x34" -+"\x61\x66\x69\x69\x31\x30\x30\x35\x35\x61\x66\x69\x69\x31\x30\x30\x35\x36\x61\x66\x69\x69\x31\x30\x30\x35\x37\x61\x66\x69\x69\x31" -+"\x30\x30\x35\x38\x61\x66\x69\x69\x31\x30\x30\x35\x39\x61\x66\x69\x69\x31\x30\x30\x36\x30\x61\x66\x69\x69\x31\x30\x30\x36\x31\x61" -+"\x66\x69\x69\x31\x30\x30\x36\x32\x61\x66\x69\x69\x31\x30\x30\x36\x35\x61\x66\x69\x69\x31\x30\x30\x36\x36\x61\x66\x69\x69\x31\x30" -+"\x30\x36\x37\x61\x66\x69\x69\x31\x30\x30\x36\x38\x61\x66\x69\x69\x31\x30\x30\x36\x39\x61\x66\x69\x69\x31\x30\x30\x37\x30\x61\x66" -+"\x69\x69\x31\x30\x30\x37\x31\x61\x66\x69\x69\x31\x30\x30\x37\x32\x61\x66\x69\x69\x31\x30\x30\x37\x33\x61\x66\x69\x69\x31\x30\x30" -+"\x37\x34\x61\x66\x69\x69\x31\x30\x30\x37\x35\x61\x66\x69\x69\x31\x30\x30\x37\x36\x61\x66\x69\x69\x31\x30\x30\x37\x37\x61\x66\x69" -+"\x69\x31\x30\x30\x37\x38\x61\x66\x69\x69\x31\x30\x30\x37\x39\x61\x66\x69\x69\x31\x30\x30\x38\x30\x61\x66\x69\x69\x31\x30\x30\x38" -+"\x31\x61\x66\x69\x69\x31\x30\x30\x38\x32\x61\x66\x69\x69\x31\x30\x30\x38\x33\x61\x66\x69\x69\x31\x30\x30\x38\x34\x61\x66\x69\x69" -+"\x31\x30\x30\x38\x35\x61\x66\x69\x69\x31\x30\x30\x38\x36\x61\x66\x69\x69\x31\x30\x30\x38\x37\x61\x66\x69\x69\x31\x30\x30\x38\x38" -+"\x61\x66\x69\x69\x31\x30\x30\x38\x39\x61\x66\x69\x69\x31\x30\x30\x39\x30\x61\x66\x69\x69\x31\x30\x30\x39\x31\x61\x66\x69\x69\x31" -+"\x30\x30\x39\x32\x61\x66\x69\x69\x31\x30\x30\x39\x33\x61\x66\x69\x69\x31\x30\x30\x39\x34\x61\x66\x69\x69\x31\x30\x30\x39\x35\x61" -+"\x66\x69\x69\x31\x30\x30\x39\x36\x61\x66\x69\x69\x31\x30\x30\x39\x37\x61\x66\x69\x69\x31\x30\x30\x39\x38\x61\x66\x69\x69\x31\x30" -+"\x30\x39\x39\x61\x66\x69\x69\x31\x30\x31\x30\x30\x61\x66\x69\x69\x31\x30\x31\x30\x31\x61\x66\x69\x69\x31\x30\x31\x30\x32\x61\x66" -+"\x69\x69\x31\x30\x31\x30\x33\x61\x66\x69\x69\x31\x30\x31\x30\x34\x61\x66\x69\x69\x31\x30\x31\x30\x35\x61\x66\x69\x69\x31\x30\x31" -+"\x30\x36\x61\x66\x69\x69\x31\x30\x31\x30\x37\x61\x66\x69\x69\x31\x30\x31\x30\x38\x61\x66\x69\x69\x31\x30\x31\x30\x39\x61\x66\x69" -+"\x69\x31\x30\x31\x31\x30\x61\x66\x69\x69\x31\x30\x31\x34\x35\x61\x66\x69\x69\x31\x30\x31\x39\x33\x61\x66\x69\x69\x31\x30\x38\x34" -+"\x36\x61\x66\x69\x69\x36\x31\x32\x34\x38\x61\x66\x69\x69\x36\x31\x32\x38\x39\x61\x66\x69\x69\x36\x31\x33\x35\x32\x61\x6c\x70\x68" -+"\x61\x61\x6c\x70\x68\x61\x74\x6f\x6e\x6f\x73\x61\x6d\x61\x63\x72\x6f\x6e\x61\x6e\x67\x6c\x65\x6c\x65\x66\x74\x61\x6e\x67\x6c\x65" -+"\x72\x69\x67\x68\x74\x61\x6f\x67\x6f\x6e\x65\x6b\x61\x70\x70\x72\x6f\x78\x65\x71\x75\x61\x6c\x61\x72\x69\x6e\x67\x61\x63\x75\x74" -+"\x65\x61\x72\x72\x6f\x77\x62\x6f\x74\x68\x61\x72\x72\x6f\x77\x64\x6f\x77\x6e\x61\x72\x72\x6f\x77\x6c\x65\x66\x74\x61\x72\x72\x6f" -+"\x77\x72\x69\x67\x68\x74\x61\x72\x72\x6f\x77\x75\x70\x61\x72\x72\x6f\x77\x75\x70\x64\x6e\x61\x72\x72\x6f\x77\x75\x70\x64\x6e\x62" -+"\x73\x65\x62\x65\x74\x61\x63\x61\x63\x75\x74\x65\x63\x63\x61\x72\x6f\x6e\x63\x63\x69\x72\x63\x75\x6d\x66\x6c\x65\x78\x63\x64\x6f" -+"\x74\x61\x63\x63\x65\x6e\x74\x63\x68\x69\x63\x69\x72\x63\x6c\x65\x6d\x75\x6c\x74\x69\x70\x6c\x79\x63\x6c\x75\x62\x64\x63\x61\x72" -+"\x6f\x6e\x64\x63\x72\x6f\x61\x74\x64\x65\x6c\x74\x61\x64\x69\x61\x6d\x6f\x6e\x64\x64\x69\x65\x72\x65\x73\x69\x73\x74\x6f\x6e\x6f" -+"\x73\x65\x62\x72\x65\x76\x65\x65\x63\x61\x72\x6f\x6e\x65\x64\x6f\x74\x61\x63\x63\x65\x6e\x74\x65\x6c\x65\x6d\x65\x6e\x74\x65\x6d" -+"\x61\x63\x72\x6f\x6e\x65\x6e\x67\x65\x6f\x67\x6f\x6e\x65\x6b\x65\x70\x73\x69\x6c\x6f\x6e\x65\x70\x73\x69\x6c\x6f\x6e\x74\x6f\x6e" -+"\x6f\x73\x65\x71\x75\x69\x76\x61\x6c\x65\x6e\x63\x65\x65\x73\x74\x69\x6d\x61\x74\x65\x64\x65\x74\x61\x65\x74\x61\x74\x6f\x6e\x6f" -+"\x73\x65\x78\x63\x6c\x61\x6d\x64\x62\x6c\x65\x78\x69\x73\x74\x65\x6e\x74\x69\x61\x6c\x66\x65\x6d\x61\x6c\x65\x66\x72\x61\x6e\x63" -+"\x67\x61\x6d\x6d\x61\x67\x62\x72\x65\x76\x65\x67\x63\x69\x72\x63\x75\x6d\x66\x6c\x65\x78\x67\x63\x6f\x6d\x6d\x61\x61\x63\x63\x65" -+"\x6e\x74\x67\x64\x6f\x74\x61\x63\x63\x65\x6e\x74\x67\x72\x65\x61\x74\x65\x72\x65\x71\x75\x61\x6c\x68\x62\x61\x72\x68\x63\x69\x72" -+"\x63\x75\x6d\x66\x6c\x65\x78\x68\x65\x61\x72\x74\x68\x6f\x75\x73\x65\x69\x62\x72\x65\x76\x65\x69\x6a\x69\x6d\x61\x63\x72\x6f\x6e" -+"\x69\x6e\x66\x69\x6e\x69\x74\x79\x69\x6e\x74\x65\x67\x72\x61\x6c\x69\x6e\x74\x65\x67\x72\x61\x6c\x62\x74\x69\x6e\x74\x65\x67\x72" -+"\x61\x6c\x74\x70\x69\x6e\x74\x65\x72\x73\x65\x63\x74\x69\x6f\x6e\x69\x6e\x76\x73\x6d\x69\x6c\x65\x66\x61\x63\x65\x69\x6f\x67\x6f" -+"\x6e\x65\x6b\x69\x6f\x74\x61\x69\x6f\x74\x61\x64\x69\x65\x72\x65\x73\x69\x73\x69\x6f\x74\x61\x64\x69\x65\x72\x65\x73\x69\x73\x74" -+"\x6f\x6e\x6f\x73\x69\x6f\x74\x61\x74\x6f\x6e\x6f\x73\x69\x74\x69\x6c\x64\x65\x6a\x63\x69\x72\x63\x75\x6d\x66\x6c\x65\x78\x6b\x61" -+"\x70\x70\x61\x6b\x63\x6f\x6d\x6d\x61\x61\x63\x63\x65\x6e\x74\x6b\x67\x72\x65\x65\x6e\x6c\x61\x6e\x64\x69\x63\x6c\x61\x63\x75\x74" -+"\x65\x6c\x61\x6d\x62\x64\x61\x6c\x63\x61\x72\x6f\x6e\x6c\x63\x6f\x6d\x6d\x61\x61\x63\x63\x65\x6e\x74\x6c\x64\x6f\x74\x6c\x65\x73" -+"\x73\x65\x71\x75\x61\x6c\x6c\x69\x72\x61\x6c\x6f\x6e\x67\x73\x6d\x61\x6c\x65\x6d\x69\x6e\x75\x74\x65\x6d\x75\x73\x69\x63\x61\x6c" -+"\x6e\x6f\x74\x65\x6d\x75\x73\x69\x63\x61\x6c\x6e\x6f\x74\x65\x64\x62\x6c\x6e\x61\x63\x75\x74\x65\x6e\x61\x70\x6f\x73\x74\x72\x6f" -+"\x70\x68\x65\x6e\x63\x61\x72\x6f\x6e\x6e\x63\x6f\x6d\x6d\x61\x61\x63\x63\x65\x6e\x74\x6e\x6f\x74\x65\x6c\x65\x6d\x65\x6e\x74\x6e" -+"\x6f\x74\x65\x71\x75\x61\x6c\x6e\x75\x6f\x62\x72\x65\x76\x65\x6f\x68\x75\x6e\x67\x61\x72\x75\x6d\x6c\x61\x75\x74\x6f\x6d\x61\x63" -+"\x72\x6f\x6e\x6f\x6d\x65\x67\x61\x6f\x6d\x65\x67\x61\x74\x6f\x6e\x6f\x73\x6f\x6d\x69\x63\x72\x6f\x6e\x6f\x6d\x69\x63\x72\x6f\x6e" -+"\x74\x6f\x6e\x6f\x73\x6f\x72\x74\x68\x6f\x67\x6f\x6e\x61\x6c\x6f\x73\x6c\x61\x73\x68\x61\x63\x75\x74\x65\x70\x61\x72\x74\x69\x61" -+"\x6c\x64\x69\x66\x66\x70\x65\x73\x65\x74\x61\x70\x68\x69\x70\x69\x70\x72\x6f\x64\x75\x63\x74\x70\x72\x6f\x70\x65\x72\x73\x75\x62" -+"\x73\x65\x74\x70\x72\x6f\x70\x65\x72\x73\x75\x70\x65\x72\x73\x65\x74\x70\x73\x69\x71\x75\x6f\x74\x65\x72\x65\x76\x65\x72\x73\x65" -+"\x64\x72\x61\x63\x75\x74\x65\x72\x61\x64\x69\x63\x61\x6c\x72\x63\x61\x72\x6f\x6e\x72\x63\x6f\x6d\x6d\x61\x61\x63\x63\x65\x6e\x74" -+"\x72\x65\x76\x6c\x6f\x67\x69\x63\x61\x6c\x6e\x6f\x74\x72\x68\x6f\x73\x61\x63\x75\x74\x65\x73\x63\x65\x64\x69\x6c\x6c\x61\x73\x63" -+"\x69\x72\x63\x75\x6d\x66\x6c\x65\x78\x73\x63\x6f\x6d\x6d\x61\x61\x63\x63\x65\x6e\x74\x73\x65\x63\x6f\x6e\x64\x73\x69\x67\x6d\x61" -+"\x73\x6d\x69\x6c\x65\x66\x61\x63\x65\x73\x70\x61\x64\x65\x73\x75\x6d\x6d\x61\x74\x69\x6f\x6e\x73\x75\x6e\x74\x61\x75\x74\x62\x61" -+"\x72\x74\x63\x61\x72\x6f\x6e\x74\x63\x6f\x6d\x6d\x61\x61\x63\x63\x65\x6e\x74\x74\x68\x65\x74\x61\x74\x6f\x6e\x6f\x73\x75\x62\x72" -+"\x65\x76\x65\x75\x68\x75\x6e\x67\x61\x72\x75\x6d\x6c\x61\x75\x74\x75\x6d\x61\x63\x72\x6f\x6e\x75\x6e\x64\x65\x72\x73\x63\x6f\x72" -+"\x65\x64\x62\x6c\x75\x6e\x69\x30\x30\x41\x30\x75\x6e\x69\x30\x30\x41\x44\x75\x6e\x69\x30\x32\x31\x41\x75\x6e\x69\x30\x32\x31\x42" -+"\x75\x6e\x69\x30\x32\x43\x39\x75\x6e\x69\x30\x33\x38\x37\x75\x6e\x69\x30\x33\x39\x34\x75\x6e\x69\x30\x33\x41\x39\x75\x6e\x69\x30" -+"\x33\x42\x43\x75\x6e\x69\x30\x33\x43\x32\x75\x6e\x69\x30\x34\x30\x30\x75\x6e\x69\x30\x34\x30\x44\x75\x6e\x69\x30\x34\x35\x30\x75" -+"\x6e\x69\x30\x34\x35\x44\x75\x6e\x69\x30\x34\x39\x32\x75\x6e\x69\x30\x34\x39\x33\x75\x6e\x69\x30\x34\x39\x36\x75\x6e\x69\x30\x34" -+"\x39\x37\x75\x6e\x69\x30\x34\x39\x38\x75\x6e\x69\x30\x34\x39\x39\x75\x6e\x69\x30\x34\x39\x41\x75\x6e\x69\x30\x34\x39\x42\x75\x6e" -+"\x69\x30\x34\x39\x43\x75\x6e\x69\x30\x34\x39\x44\x75\x6e\x69\x30\x34\x41\x30\x75\x6e\x69\x30\x34\x41\x31\x75\x6e\x69\x30\x34\x41" -+"\x32\x75\x6e\x69\x30\x34\x41\x33\x75\x6e\x69\x30\x34\x41\x41\x75\x6e\x69\x30\x34\x41\x42\x75\x6e\x69\x30\x34\x41\x45\x75\x6e\x69" -+"\x30\x34\x41\x46\x75\x6e\x69\x30\x34\x42\x30\x75\x6e\x69\x30\x34\x42\x31\x75\x6e\x69\x30\x34\x42\x32\x75\x6e\x69\x30\x34\x42\x33" -+"\x75\x6e\x69\x30\x34\x42\x36\x75\x6e\x69\x30\x34\x42\x37\x75\x6e\x69\x30\x34\x42\x38\x75\x6e\x69\x30\x34\x42\x39\x75\x6e\x69\x30" -+"\x34\x42\x41\x75\x6e\x69\x30\x34\x42\x42\x75\x6e\x69\x30\x34\x43\x30\x75\x6e\x69\x30\x34\x43\x42\x75\x6e\x69\x30\x34\x43\x43\x75" -+"\x6e\x69\x30\x34\x44\x38\x75\x6e\x69\x30\x34\x45\x32\x75\x6e\x69\x30\x34\x45\x33\x75\x6e\x69\x30\x34\x45\x38\x75\x6e\x69\x30\x34" -+"\x45\x39\x75\x6e\x69\x30\x34\x45\x45\x75\x6e\x69\x30\x34\x45\x46\x75\x6e\x69\x32\x30\x33\x45\x75\x6e\x69\x32\x30\x41\x46\x75\x6e" -+"\x69\x32\x31\x32\x36\x75\x6e\x69\x32\x32\x31\x35\x75\x6e\x69\x32\x32\x31\x39\x75\x6e\x69\x32\x32\x32\x37\x75\x6e\x69\x32\x32\x32" -+"\x38\x75\x6e\x69\x32\x32\x39\x35\x75\x6e\x69\x32\x35\x41\x31\x75\x6e\x69\x6f\x6e\x75\x6e\x69\x76\x65\x72\x73\x61\x6c\x75\x6f\x67" -+"\x6f\x6e\x65\x6b\x75\x70\x73\x69\x6c\x6f\x6e\x75\x70\x73\x69\x6c\x6f\x6e\x64\x69\x65\x72\x65\x73\x69\x73\x75\x70\x73\x69\x6c\x6f" -+"\x6e\x64\x69\x65\x72\x65\x73\x69\x73\x74\x6f\x6e\x6f\x73\x75\x70\x73\x69\x6c\x6f\x6e\x74\x6f\x6e\x6f\x73\x75\x72\x69\x6e\x67\x75" -+"\x74\x69\x6c\x64\x65\x77\x61\x63\x75\x74\x65\x77\x63\x69\x72\x63\x75\x6d\x66\x6c\x65\x78\x77\x64\x69\x65\x72\x65\x73\x69\x73\x77" -+"\x67\x72\x61\x76\x65\x78\x69\x79\x63\x69\x72\x63\x75\x6d\x66\x6c\x65\x78\x79\x67\x72\x61\x76\x65\x7a\x61\x63\x75\x74\x65\x7a\x64" -+"\x6f\x74\x61\x63\x63\x65\x6e\x74\x7a\x65\x74\x61\x31\x2e\x30\x30\x28\x55\x52\x57\x29\x2b\x2b\x2c\x43\x6f\x70\x79\x72\x69\x67\x68" -+"\x74\x20\x32\x30\x31\x34\x20\x62\x79\x20\x28\x55\x52\x57\x29\x2b\x2b\x20\x44\x65\x73\x69\x67\x6e\x20\x26\x20\x44\x65\x76\x65\x6c" -+"\x6f\x70\x6d\x65\x6e\x74\x43\x6f\x70\x79\x72\x69\x67\x68\x74\x20\x28\x55\x52\x57\x29\x2b\x2b\x2c\x43\x6f\x70\x79\x72\x69\x67\x68" -+"\x74\x20\x32\x30\x31\x34\x20\x62\x79\x20\x28\x55\x52\x57\x29\x2b\x2b\x20\x44\x65\x73\x69\x67\x6e\x20\x26\x20\x44\x65\x76\x65\x6c" -+"\x6f\x70\x6d\x65\x6e\x74\x4e\x69\x6d\x62\x75\x73\x20\x4d\x6f\x6e\x6f\x20\x50\x53\x20\x49\x74\x61\x6c\x69\x63\x4e\x69\x6d\x62\x75" -+"\x73\x20\x4d\x6f\x6e\x6f\x20\x50\x53\x01\x3a\x02\x00\x01\x00\x0c\x00\x11\x00\x15\x00\x1a\x00\x20\x00\x25\x00\x2b\x00\x33\x00\x39" -+"\x00\x3e\x00\x43\x00\x4e\x00\x5d\x00\x90\x00\xa1\x00\xa7\x00\xf8\x01\x03\x01\x0e\x01\x14\x01\x1a\x01\x20\x01\x2b\x01\x32\x01\x3a" -+"\x01\x42\x01\x4b\x01\x67\x01\x6c\x01\x81\x01\x86\x01\x8c\x01\x95\x01\x9b\x01\xa2\x01\xaa\x01\xb0\x02\x31\x02\x4f\x02\x7a\x02\x8a" -+"\x02\x93\x02\x9c\x02\xa2\x02\xad\x02\xb4\x02\xbf\x02\xc8\x02\xcf\x02\xd4\x02\xff\x03\x56\x03\x72\x03\xc7\x03\xf0\x04\x03\x04\x0d" -+"\x04\x19\x04\x2c\x04\x3e\x04\x4d\x04\x57\x04\x62\x04\x74\x04\x81\x04\x8a\x04\x97\x04\xa0\x04\xaa\x04\xb4\x04\xbf\x04\xc5\x04\xcf" -+"\x04\xd7\x04\xdf\x04\xee\x04\xf7\x05\x00\x05\x0c\x05\x14\x05\x36\x05\x5c\x05\xa4\x05\xfa\x06\x2c\x06\x2f\x06\x70\x06\x89\x06\xab" -+"\x06\xc6\x06\xe7\x06\xfb\x07\x29\x07\x3f\x07\x46\x07\x57\x07\x6f\x07\x88\x07\x96\x07\xa1\x07\xb1\x07\xc3\x07\xcd\x07\xdc\x07\xeb" -+"\x07\xf9\x08\x11\x08\x1d\x08\x26\x08\x31\x08\x3c\x08\x47\x08\x52\x08\x63\x08\x6c\x08\x76\x08\x7e\x08\x8c\x08\x95\x08\x9e\x08\xa7" -+"\x08\xb4\x08\xbb\x08\xc7\x08\xcf\x08\xd7\x08\xdf\x08\xea\x08\xf0\x09\xa1\x09\xa4\x0a\x52\x0a\x8f\x0a\x9d\x0b\x24\x0b\xa9\x0c\x07" -+"\x0c\x72\x0c\xad\x0c\xf1\x0d\x40\x0d\x85\x0d\xe2\x0e\x0d\x0e\x56\x0e\x73\x0e\xb4\x0e\xe1\x0f\x28\x0f\x6b\x0f\x83\x0f\x8e\x0f\xc8" -+"\x10\x10\x10\x3d\x10\x85\x10\xac\x10\xd7\x11\x0b\x11\x46\x11\x67\x11\x94\x11\xd6\x12\x1c\x12\x5f\x12\x85\x12\xc4\x12\xe0\x13\x04" -+"\x13\x3c\x13\x76\x13\xb1\x13\xd3\x13\xdf\x13\xfb\x14\x11\x14\x21\x14\x41\x14\x63\x14\x69\x14\x80\x14\x94\x14\xa3\x14\xc0\x14\xd1" -+"\x14\xf0\x15\x1b\x15\x45\x15\x6d\x15\x88\x15\xab\x15\xb5\x15\xdc\x16\x03\x16\x14\x16\x29\x16\x2e\x16\x39\x16\x53\x16\x73\x16\x94" -+"\x16\xb4\x16\xd4\x16\xe3\x17\x02\x17\x21\x17\x3a\x17\x4e\x17\x5d\x17\x6c\x17\x79\x17\x89\x17\x95\x17\xb1\x17\xc5\x17\xdf\x17\xf2" -+"\x18\x08\x18\x22\x18\x3c\x18\x56\x18\x66\x18\x75\x18\x83\x18\x98\x18\xb0\x18\xc8\x18\xd8\x18\xee\x19\x05\x19\x1a\x19\x1f\x19\x35" -+"\x19\x43\x19\x59\x19\x6d\x19\x78\x19\x8d\x19\xa0\x19\xb5\x19\xbd\x19\xc6\x19\xd9\x19\xed\x19\xfe\x1a\x12\x1a\x1e\x1a\x25\x1a\x38" -+"\x1a\x4b\x1a\x5e\x1a\x67\x1a\x7a\x1a\x8d\x1a\x9e\x1a\xb0\x1a\xc2\x1a\xd3\x1a\xdd\x1a\xe4\x1a\xf2\x1b\x02\x1b\x12\x1b\x1c\x1b\x2c" -+"\x1b\x3c\x1b\x4c\x1b\x56\x1b\x65\x1b\x6e\x1b\x7d\x1b\x8c\x1b\x99\x1b\xa8\x1b\xb7\x1b\xbb\x1b\xc9\x1b\xd7\x1b\xe5\x1b\xf3\x1c\x01" -+"\x1c\x0f\x1c\x1d\x1c\x29\x1c\x32\x1c\x37\x1c\x3d\x1c\x4a\x1c\x57\x1c\x64\x1c\x71\x1c\x7b\x1c\x88\x1c\x95\x1c\xa1\x1c\xad\x1c\xb9" -+"\x1c\xc5\x1c\xcf\x1c\xd7\x1c\xdf\x1c\xe7\x1c\xf2\x1c\xfd\x1d\x08\x1d\x13\x1d\x1e\x1d\x29\x1d\x34\x1d\x3f\x1d\x4a\x1d\x55\x1d\x60" -+"\x1d\x69\x06\x74\x7d\x80\x79\x7c\x94\x84\x9e\x1f\x0b\x4a\x1d\x9e\x1f\x0b\xf8\x94\x15\x0b\x06\xa2\x34\x1d\x0b\x06\x74\x7d\x69\x1d" -+"\x0b\x94\x84\x9e\x1f\x0b\x06\x27\xfc\x61\x05\x0b\x2f\x1d\x9a\x83\x91\x76\x1f\x0b\x95\x95\xa0\x90\x1e\x0b\x4a\x1d\x9f\x1f\x0b\x06" -+"\xa2\x40\x1d\x0b\x06\x73\x7e\x81\x78\x7d\x95\x83\x9e\x1f\x0b\x15\xa1\x9a\x96\x9d\x99\x82\x92\x77\x1f\xfb\x80\x8e\x1d\x0e\xf7\x78" -+"\xf7\x9e\x15\x81\x1d\x8e\x1a\x96\x82\x94\x7e\x7a\x81\x81\x76\x87\x1e\x82\x63\x8a\x1d\x98\x9b\x96\x95\xa0\x8f\x1e\xaa\xf7\x23\x05" -+"\xfc\x48\x49\x1d\xf8\x5b\x06\xae\xf7\x35\xf7\x11\x1d\xfb\xc3\x06\x0b\xb8\x1d\x7c\x1a\x2d\xce\x4b\xee\xf7\x07\xf6\xe2\xf7\x07\xa4" -+"\x1e\x0b\x06\xa2\x9a\x97\x9d\x0b\xf8\xcb\xf7\x57\x15\x92\xb0\x8d\x99\x9c\x1a\xee\x3b\xd2\xfb\x04\xfb\x2c\xfb\x19\xfb\x0e\xfb\x1f" -+"\xfb\x04\xdd\x3f\xf7\x0c\xf3\xf7\x17\xbd\xb3\x97\x82\x94\x7f\x85\x87\x89\x85\x81\x1e\x6d\x5d\x3e\x75\x4e\x1b\x2c\x4a\xc5\xe0\x90" -+"\x8b\x8f\x8c\x93\x1f\xf8\x09\xbe\x15\xfb\xfe\x06\xdc\xae\xe0\xc2\xe7\x1b\xe3\xcd\x52\x42\x87\x1f\x0b\x06\xa2\x99\x96\x9d\x99\x81" -+"\x93\x78\x1f\x0b\x06\x73\x7d\x80\x78\x7d\x94\x84\x9f\x1f\x0b\x06\x73\x7d\x39\x1d\x0b\x9a\x97\x9d\x35\x1d\x0b\x9a\x82\x91\x77\x1f" -+"\x0b\x06\x71\x7d\x82\x7b\x7a\x99\x82\xa5\x1f\x0b\x06\x74\x7d\x80\x79\x7c\x0b\x97\x9d\x9a\x83\x91\x77\x1f\x0b\x80\x79\x7c\x94\x84" -+"\x9f\x1f\x0b\x99\x94\x9b\x9c\x7d\x94\x71\x1f\x0b\xf8\x48\x22\x1d\xf7\x1b\x27\x1d\xfb\xd4\x83\x1d\xf7\xd4\x06\xa2\x9a\x97\x9c\x9b" -+"\x82\x91\x76\x1f\xfb\x18\x06\x0b\xf8\x34\xd0\x1d\x0b\x15\x9a\x96\x8f\x91\x96\x1a\x97\x82\x94\x7e\x84\x86\x7f\x1d\x90\x8d\x93\x96" -+"\x1e\x0e\x96\x1d\x78\x1f\x0b\x06\x73\x7d\x69\x1d\x0b\x9a\x97\x9d\x99\x82\x92\x77\x1f\x0b\x1e\xfb\x1b\x29\x05\x0b\x6c\x6a\x72\x9e" -+"\x78\xa5\x0b\x81\x78\x7d\x95\x83\x9e\x1f\x0b\x1f\xe8\x29\x05\x83\x0b\xf8\xcd\xf7\x61\x15\x95\x23\x1d\xfb\x56\x21\x1d\xf7\x18\x06" -+"\x6e\xfb\x1e\x05\x72\x4b\x6c\x84\x58\x1b\xfb\x09\x45\xc4\xea\x9b\x8d\xa0\x90\x9f\x1f\x9a\xd2\x97\xc3\xb4\xc8\xbf\xb4\x19\xad\xb7" -+"\xbb\x9c\xc1\x1b\xc0\xb6\x7e\x74\xa2\x1f\x98\x7e\x95\x80\x88\x1a\x89\x67\x05\x85\x97\x82\x94\x9c\x95\x95\x9f\x8f\x1e\x9f\xe4\x05" -+"\x8d\x95\xf7\x48\x1d\x86\x1e\x8a\x87\x05\xaa\x66\x58\x9b\x4c\x1b\x48\x4b\x75\x60\x54\x1f\x4e\x5b\x5b\x42\x7c\x44\x7b\x43\x18\x86" -+"\x74\x89\x76\x76\x1a\xfb\x0e\xe2\x40\xf7\x20\xcb\xd5\x9e\xad\xcc\x1e\x0b\xf8\xb8\xf8\x15\x15\x88\x1d\x22\xd5\x47\xf7\x06\xd0\xd2" -+"\x9f\xae\xc6\x1f\xb2\xa2\x9c\x9d\x9b\x1a\x96\x82\x94\x71\x1d\x0b\xf8\x12\xf7\x90\x15\xf7\x7b\xf7\x98\x05\xa0\x91\x1d\x79\x7c\x80" -+"\x1d\x79\x7c\x25\x1d\xa0\x06\xf7\x0c\xfb\x96\x5f\xfb\x5f\x05\x26\x21\x1d\xf7\x90\x06\xa1\x34\x1d\x29\x06\x0b\x15\x77\x7e\x7c\x75" -+"\x4a\xbb\x67\xe0\xc1\xb9\x9a\xa9\xb0\xd8\x1d\x20\x1d\xbb\x26\x1d\x59\x20\x1d\x0b\x06\x74\x7d\x80\x78\x7d\x94\x84\x0b\x06\xa2\x99" -+"\x38\x1d\x0b\x06\xa5\x99\x94\x9c\x9b\x7d\x94\x71\x1f\x0b\x05\x59\x4a\x1d\x9e\x1f\x0b\x82\x86\x84\x7f\x1a\x7f\x94\x82\x98\x91\x0b" -+"\x06\x73\x7e\x80\x79\x7c\x94\x84\x0b\x92\x84\x1f\xe8\x29\x05\x0b\x7b\x9a\x76\x1f\x0e\xf7\xa9\x92\x15\x28\xfb\x1e\x05\xfb\x10\x20" -+"\x1d\xf7\x7d\x06\xa2\x99\x96\x9e\xf7\x1d\x1d\x83\x91\x76\x65\x1d\xfb\xc6\x33\xf7\xc6\x05\xb7\x27\x1d\xfb\x06\x33\x1d\x97\x06\x0b" -+"\xf7\xec\xf8\x37\x15\xfb\x0e\x20\x1d\xcf\x06\x46\xfb\xd1\x05\x2f\x06\x75\x7c\x7f\x7a\x7c\x95\x84\x9d\x1f\xf7\xd1\x06\xa1\x9a\x97" -+"\x9c\x9a\x81\x92\x78\x1f\xfb\x40\x06\xb8\xf7\x64\x05\xea\xf7\x13\xb5\xa3\xb6\x1b\x9f\x99\x83\x74\x9f\x1f\x83\x92\x8e\x89\x93\x1b" -+"\x9c\x9a\x99\x9b\x94\x82\x98\x7a\x9a\x1f\x9d\x77\x78\x92\x70\x1b\x57\x57\x72\x3d\x22\x1f\x0b\xf8\x8e\x16\xf7\x03\xf8\x94\x05\xa8" -+"\x23\x1d\xfb\x29\x06\x73\x7d\x80\x79\x7c\xcf\x1d\x9a\x82\x91\xf7\x4d\x1d\x0b\xf8\xdc\xf8\x96\x15\xb3\x64\x55\xa0\x4c\x1b\x47\x49" -+"\x71\x5c\x53\x1f\x55\x5c\x60\x46\x7e\x4e\x79\x3a\x18\x88\x7c\x89\x7b\x7b\x1a\xfb\x0c\xe8\x2e\xf7\x0d\xd2\xd5\xa8\xc1\xca\x1e\xa7" -+"\xa3\x93\x95\x98\x1a\x96\x82\x93\x7f\x81\x86\x89\x82\x82\x1e\x4d\x48\x54\x72\x47\x7d\x1d\x93\x9c\x60\x1d\x8b\x8f\x1a\x97\x82\x93" -+"\x7e\x7a\x81\x81\x77\x86\x1e\x0b\xf8\x45\x15\xfb\x29\xfb\x1e\xfb\x15\xfb\x20\x22\xda\x40\xf7\x01\xf7\x2c\xf7\x1d\xf7\x14\xf7\x21" -+"\xf5\x3d\xd5\xfb\x04\x1f\x82\x58\x15\xe2\xc6\x53\x39\x20\x5f\x1d\x0b\x06\x47\x7e\x1d\xf7\x20\x06\xa3\x99\x96\x9d\x99\x81\x93\x78" -+"\x1f\x5b\x06\x0b\x26\x1d\x6d\x20\x1d\xf7\x2a\x2f\x1d\x0b\x15\x68\x67\x1d\xaa\xac\xa4\x78\x9e\x71\x1f\x0e\x05\x62\x24\x1d\xf7\x17" -+"\x06\xa3\x99\x96\x9d\x99\x81\x93\x78\x1f\x64\x06\x0b\x84\x84\x88\x84\x80\x1e\xfb\x1a\x2b\x05\x7e\x82\x85\x81\x80\x1a\x7f\x0b\xf7" -+"\x4a\x1d\xc4\xb8\x69\xab\x5c\x1f\x84\x60\x15\xa5\x9d\x0b\x27\x1d\xfb\x03\x06\x74\x7d\x39\x1d\x0b\x06\xa3\x99\x95\x9e\x9a\x81\x92" -+"\x78\x1f\x0b\xfb\x00\x25\xfb\x05\x31\x4f\xc2\xdd\xf7\x01\xf7\x00\xf0\xf7\x09\x1f\x0b\x95\x95\x9f\x90\x1e\xa3\xf7\x02\x05\x8d\x94" -+"\x8b\x0b\x15\x98\x95\x91\x94\x96\x1a\x97\x0b\x9e\x70\x93\x3f\x98\x08\x2b\x9b\x6c\xa0\xba\x1a\x0b\x1a\x80\x94\x82\x98\x9b\x28\x1d" -+"\x0b\x95\x82\x97\x94\x96\x91\x95\x94\x1e\x0e\x1f\xfb\x02\x20\x1d\xb7\x06\xfb\x6f\x0b\x06\xa2\x99\x96\x9d\x99\x82\x92\x78\x1f\x0b" -+"\x6a\x42\x1d\xaf\xab\x0b\x74\x7d\x80\x79\x7d\x94\x84\x9f\x1f\x0b\x81\x79\x7c\x95\x83\x9e\x1f\x0b\x90\x97\x1a\x97\x82\x94\x7e\x0b" -+"\x9a\x97\x9d\x9a\x83\x91\x76\x1f\xfb\x0c\x06\x74\x7d\x80\x0b\x8a\x86\x88\x1a\x80\x95\x82\x97\x0b\x99\x96\x9d\x9a\x81\x92\x78\x1f" -+"\x0b\x38\x05\x84\x92\x91\x88\x91\x1b\x9b\x9a\x99\x0b\x1a\x96\x82\x94\x7e\x7b\x80\x0b\xf4\x85\x1d\xf7\x16\xf0\xd0\xe4\xa4\x7d\xa7" -+"\x76\x9b\x1f\x76\x1d\x40\x52\x9b\x1d\x8e\x8d\x1a\x96\x82\x94\x7e\x7a\x81\x81\x76\x86\x1e\x0b\x7f\x83\x87\x89\x82\x80\x1e\x5c\x4e" -+"\x4a\x74\x41\x1b\x31\x53\xbe\xdb\xb9\x9d\xbc\xac\xb3\x1f\xc0\xb5\xc7\xa7\xd2\x1b\xb4\xb2\xe0\x1d\x81\x76\x87\x1e\x0b\xf8\x7c\xf8" -+"\x37\x15\xfb\xfc\xfb\xeb\xcc\xf7\xb8\x05\xb6\x06\xa3\x99\x96\x9d\x99\x81\x93\x78\x1f\xfb\x1d\x3f\x1d\xb4\x06\x45\xfb\xd1\x05\x64" -+"\x24\x1d\xec\x06\xf7\xfb\xf7\xe9\x4c\xfb\xb6\x05\x63\x3f\x1d\xf7\x14\x06\xa3\x99\x96\x9d\x99\x81\x93\x78\x1f\x68\x06\xd0\xf7\xd1" -+"\x05\xb0\x31\x1d\x0b\xf8\x63\xf8\x04\x15\x6b\xfb\x27\x7b\x40\x7c\x65\x70\x6f\x19\x6e\x6f\x67\x7b\x60\x1b\x4b\x67\xac\xc5\xa0\x8f" -+"\xaa\x94\xb3\x1f\xb6\xf7\x5d\x05\x20\x8d\x1d\xbe\x06\x6b\xfb\x27\x05\x83\x66\x87\x69\x70\x1a\x36\xc7\x55\xe8\xc3\xc3\xa4\xb4\xb0" -+"\x1e\xa9\xad\x9f\xbb\x9d\xe1\xab\xf7\x2a\x18\xb4\x3e\x1d\xfb\x26\x06\x73\x7e\x81\x78\x7d\x95\x83\x9d\x1f\x0b\xf7\x28\x1d\xfb\x09" -+"\x2f\x05\x7b\x7f\x88\x86\x80\x1a\x7f\x94\x82\x98\x92\x92\x8e\x93\x94\x1e\xf7\x98\xe6\xf7\x28\x1d\xfb\x0a\x2f\x05\x7c\x80\x87\x86" -+"\x7f\x1a\x7f\x94\x82\x98\x92\x92\x8e\x93\x95\x1e\x0e\xc8\x1d\x0e\x6f\xa0\x68\x97\x4e\x91\x40\x94\x8b\x8b\x76\x93\xf7\x21\x1d\x84" -+"\x9d\x78\xf7\x0e\x1d\x8e\x1a\x97\x82\x94\x7f\x7d\x80\x81\x7b\x85\x1e\xa5\x6f\x60\x99\x55\x1b\xfb\x04\x32\x4f\x3f\x74\x98\x72\x9f" -+"\x7d\x1f\xa4\x79\xa6\x84\xd4\x84\xc0\x85\xa4\x85\xa1\xf7\x46\x1d\x0b\x15\x69\x67\x1d\xaa\xac\xa5\x78\x9d\x70\x1f\xf7\x71\x16\x69" -+"\x67\x1d\xaa\xac\xa5\x78\x9d\x70\x1f\x0e\x93\x1a\x95\x81\x95\x80\x81\x83\x87\x7f\x81\x1e\xfb\x03\xfb\x0f\x05\x82\x80\x87\x84\x83" -+"\x1a\x80\x95\x82\x97\x94\x95\x91\x95\x95\x1e\x0e\x87\x1a\x88\x61\x05\x85\x97\x82\x95\x9b\x28\x1d\xa1\xef\x05\x8d\x95\x8b\x8b\x8e" -+"\x6f\x1d\x81\x77\x87\x1e\x0b\xef\xf8\x61\x05\xb0\x06\xa4\x99\x94\x9c\x9b\x7d\x94\x72\x1f\xfb\x18\x06\x72\x7d\x82\x7b\x7a\x99\x82" -+"\xa4\x1f\xb4\x06\x61\xfb\x54\x0b\x94\x84\x9f\x1f\xf7\x02\x06\xfb\xa7\xfc\x61\x05\x6f\x20\x1d\xf7\x2b\x2f\x1d\x0b\x6f\x49\x1b\x62" -+"\x70\xa5\xb2\x8f\x8c\x92\x8c\x91\x1f\xcd\xf7\xc2\x05\x25\x20\x1d\xbb\x06\x55\xfb\x8d\x05\x88\x7f\x8a\x80\x80\x1a\x6e\x98\x6e\xa1" -+"\x78\x1e\x7b\x9d\xa4\x83\xaf\x1b\xcb\x0b\xf7\x0b\x1d\xb9\xb9\x7c\x73\xa3\x1f\x93\x83\xa0\x6c\x87\x1a\x89\x65\x05\x85\x98\x82\x0b" -+"\xfb\xd1\x05\x62\x24\x1d\x0b\x89\x83\x7f\x41\x1d\x7c\x81\x87\x84\x80\x1a\x7f\x94\x82\x98\x92\x0b\x94\x84\x9f\x1f\xa8\x06\xfb\x4c" -+"\xfb\x64\x29\xf7\x64\x05\xa9\x27\x1d\xfb\x03\x06\x74\x7d\x80\x0b\xf7\x1a\x06\x83\x65\x05\x8a\x87\x8a\x86\x88\x1a\x80\xf7\x34\x1d" -+"\xa7\xf7\x15\x05\x8d\x95\x8b\x8b\x0b\x41\x1d\x7e\x81\x85\x83\x82\x1a\x7e\x94\x82\x99\x91\x0b\x21\x1d\xf7\x19\x26\x1d\xfb\x1b\x21" -+"\x1d\x0b\x06\x9b\x8a\x97\x95\x9a\x1a\x8e\x07\x9a\x7f\x95\x7b\x8a\x1e\x0b\xac\x15\x8a\x85\x8a\x87\x88\x63\x1d\x8c\x07\x6b\xac\xba" -+"\x7b\xca\x1b\x0b\x7d\x39\x1d\xf7\x20\x06\xa2\x9a\x97\x0b\x8f\x1f\xa5\xf7\x0b\x05\xfc\x67\x06\x72\xfb\x08\x05\x8a\x0b\xaa\x69\x5a" -+"\x9c\x50\x1b\xfb\x30\xfb\x19\xfb\x13\xfb\x29\x0b\x26\x06\x74\x7d\x80\x79\x7b\x93\x85\x9f\x1f\xba\x06\x0b\x05\xfb\x1a\x06\xb5\xf7" -+"\x57\x05\xf7\xae\x06\x78\x31\x05\x8a\x86\x8a\x87\x88\x1a\x7f\x94\x82\x0b\x15\xfb\x70\x06\xf7\x39\xf7\xa9\x05\x92\x06\x0b\xab\xaa" -+"\xac\xa5\x78\x9d\x70\x1f\x0b\x06\x73\x7e\x81\x79\x7c\x95\x83\x9e\x1f\x0b\x06\x74\x7d\x80\x79\x7d\x94\x84\x9e\x1f\x0b\x06\x7a\x7f" -+"\x80\x7d\x80\x93\x84\x99\x1f\x0b\x99\x9a\x94\x86\x93\x81\x8f\x1f\x93\x78\x0b\x06\xa0\x9b\x97\x9c\x9a\x81\x92\x78\x1f\xfb\x02\x06" -+"\x73\x7d\x80\x0b\x7d\x7c\x82\x8d\x88\x94\x83\x1f\x0e\x15\xf7\x13\x06\xf7\x18\xf7\x07\xe9\x0b\x96\x99\x96\x83\x92\x7d\x1f\x0b\x6c" -+"\x69\x6c\x69\x70\x79\x9b\xa3\xab\xac\xa9\xaf\x1f\x0b\x06\xa3\x99\x96\x9d\x9a\x81\x92\x0b\x15\x5c\x61\x64\x5f\x6a\xa4\x74\x0b\x77" -+"\x1f\x45\x06\xdb\xf7\x19\x05\x0b\x1f\x77\x7b\x83\x81\x80\x1a\x7f\x94\x83\x98\x92\x0b\x99\x95\x9e\x99\x81\x93\x0b\xa8\xb1\x8e\x8c" -+"\x90\x8c\x92\x1e\x8c\x8e\x8b\x0b\x06\xce\xbe\x9c\xb0\xb1\x1f\x0b\x94\x1a\x98\x80\x96\x7d\x1e\x0b\x68\x74\xa0\xaa\xb2\xb4\xae\x0b" -+"\x85\x7b\x1b\x80\x82\x8f\x9e\x6d\x1f\x9e\x0b\x1e\xae\xf7\x22\x05\x0e\xa2\x06\xa5\x3a\x1d\x2c\x06\x72\x7d\x82\x7a\x7b\x99\x82\xa4" -+"\x1f\x9e\x06\x63\xfb\x4d\x05\x84\x06\x74\x8c\x85\x96\x74\xdd\x79\xce\x87\x97\x7d\xa7\x08\xa3\x7f\x72\x96\x61\x1b\x71\x84\x85\x70" -+"\x85\x1f\x7f\x52\x05\x89\x80\x8a\x88\x87\x1a\x7e\x94\x82\x9a\x9a\x94\x94\x9e\x8f\x1e\x97\xbe\xa4\x89\x91\x84\x97\x5d\x19\x9b\x4b" -+"\xa1\x47\x96\x7a\x60\x79\x7b\x7a\x53\x35\x34\xfb\x1c\x18\x6e\x06\x72\x7d\x82\x7a\x7b\x99\x82\xa4\x1f\xab\x06\x98\x96\x8c\x8d\x8d" -+"\x1f\x8e\x8d\x92\x94\x91\x94\xe3\xf7\x21\x18\xba\xd3\xbb\xb7\xa7\x87\x08\x92\x06\x5a\xfb\x75\x05\x6e\x06\x71\x7d\x82\x7a\x7b\x99" -+"\x82\xa5\x1f\xf0\x06\xa5\x3a\x1d\x78\x06\xbc\xf7\x75\x05\x94\x06\xaf\x8a\xa2\x69\x9c\x40\xa5\xfb\x18\x18\x92\x6b\x8d\x8a\xab\x8a" -+"\x08\x0b\xa3\x1d\x0e\xf8\x95\xf7\xdd\x15\x8a\x85\x8a\x86\x88\x1a\x7d\x95\x82\x9a\x9b\x94\x95\x9f\x8e\x1e\x94\xc1\x05\x8c\x8e\x8b" -+"\x8d\x8b\x1a\x8c\x8c\x05\x8d\x07\x8c\x8e\x8b\x8e\x8f\x1a\x9d\x7d\x93\x6e\x4e\x6e\x7d\x49\x46\x1e\x66\x67\x6f\x73\x76\x7d\x7d\x80" -+"\x72\x87\x5d\x8a\x08\x87\x06\xa5\xf7\x0a\x05\xb7\x06\xa4\x99\x94\x9b\x9c\x7d\x94\x72\x1f\xfb\x1e\x36\x1d\xb5\x06\x46\xfb\xd1\x05" -+"\x5f\x06\x72\x7d\x82\x7a\x7b\x99\x82\xa4\x1f\xf7\x1f\x06\xa4\x99\x94\x9b\x9c\x7d\x94\x72\x1f\x61\x06\xaa\xf7\x28\x05\x93\x06\xf2" -+"\x89\x99\x84\xae\x47\xb9\x2c\x18\x98\x71\x8c\x8b\xa8\x8a\x08\xc6\x06\xa4\x99\x94\x9b\x9c\x7d\x94\x72\x1f\x54\x06\x5f\xe5\x74\xb9" -+"\x6f\xaa\x70\x95\x19\xa9\x9c\xa4\x9f\xb8\xb7\xbe\xbb\x99\x93\xaf\x8e\x08\x0b\xf7\x4c\xf7\x9e\x15\x81\x1d\x8d\x1a\x97\x82\x94\x7e" -+"\x7a\x81\x81\x77\x87\x1e\x82\x62\x8a\x1d\x97\x9c\x28\x1d\xaa\xf7\x23\x05\xfc\x48\x49\x1d\xf8\x5b\x06\xae\xf7\x35\x05\x8d\x95\x8b" -+"\x8b\x8e\x6f\x1d\x81\x76\x86\x1e\x73\xfb\x04\x05\xfb\xc3\x06\x0e\xf7\xf1\xf7\xb3\x15\xaa\x1d\xf7\x17\x2a\x1d\x7d\x06\x0e\xf7\xe1" -+"\xf7\x78\x15\x8d\x95\x8c\x91\x8f\x1a\x9a\x82\x94\x7c\x7d\x81\x80\x74\x86\x1e\x84\x6b\x7c\x43\x7f\x69\x79\x73\x19\x71\x78\x71\x7c" -+"\x72\x1b\x64\x73\xaf\xc6\xf4\xcf\xf7\x0a\xd8\xa7\x1f\xa3\x93\x90\x90\x99\x1a\x9a\x81\x95\x7a\x65\x54\x62\x52\x63\x1e\x64\x51\x70" -+"\x37\x48\x1a\x37\xb9\x51\xd0\xb7\xb1\xa1\xb6\xaa\x1e\x60\x9d\xaa\x75\xb8\x1b\xee\xde\xf7\x0b\xf7\x23\xcb\x7f\xb1\x6d\xb1\x1f\xa8" -+"\x72\x71\x9d\x77\x1b\x7e\x81\x81\x7d\x80\x90\x83\x99\x83\x1f\xbb\x6c\x9c\x69\x49\x1a\xfb\x09\x4f\x28\x45\x69\x78\xa6\xba\xa1\x8f" -+"\xaa\x94\xb6\x1e\x0b\xf7\x2c\xbb\x15\x5e\xb3\xb7\x78\xc9\x1b\xf7\x3a\xf7\x32\xf7\x48\xf7\x50\xbc\x81\xb3\x77\xb0\x1f\xe0\xde\x05" -+"\x96\x96\x8e\x90\x93\x1a\x96\x82\x93\x80\x82\x87\x89\x7f\x80\x1e\x3b\x3d\x05\xb9\x5f\x64\x9c\x4f\x1b\xfb\x3c\xfb\x33\xfb\x46\xfb" -+"\x51\x5c\x94\x65\xa0\x63\x1f\x36\x38\x05\x81\x80\x88\x87\x83\x1a\x80\x93\x83\x97\x93\x91\x8e\x95\x95\x1e\xeb\xf7\x2d\x15\x7c\xb0" -+"\x87\xa0\xae\x1a\xf7\x30\xf7\x17\xf7\x2b\xf7\x1b\xb7\xae\x7b\x68\xaa\x1e\xa3\x67\x15\x9a\x62\x8f\x78\x69\x1a\xfb\x31\xfb\x16\xfb" -+"\x2b\xfb\x1c\x5f\x68\x9c\xaf\x6b\x1e\x0b\xf7\xc0\xf8\xef\x15\x89\x1d\xfb\x00\xfc\x89\x05\x62\x33\x1d\xf7\x18\x2f\x1d\x9a\x82\x91" -+"\x76\x1f\x65\x06\xbf\xf7\x86\xbd\xb9\x8b\x8b\x98\x94\x19\xa3\xad\xa9\x95\xb0\x1b\xb3\x9d\x86\x78\x9e\x1f\x9a\x7d\x92\x7b\x77\x1a" -+"\x87\x8a\x83\x89\x84\x1e\x58\xfb\x82\x05\x62\x20\x1d\xf7\x18\x23\x1d\x64\x06\xbe\xf7\x83\x05\x8e\x95\x8c\x95\x93\x1a\xd1\x55\xb8" -+"\x37\x51\x5d\x77\x57\x50\x1e\x0b\xf7\x63\x22\x1d\xae\x06\xa4\x99\x94\x9b\x9c\x7d\x94\x72\x1f\xfb\x03\x36\x1d\x9e\x06\xf7\x09\xfb" -+"\xef\x5f\x51\x05\x5c\x66\x6a\x72\x6f\x1b\x84\x81\x8c\x8e\x7d\x1f\x96\xbc\x05\x8d\x92\x8c\x91\x90\x1a\x99\x81\x94\x7c\x7c\x81\x80" -+"\x75\x87\x1e\x7e\x51\x05\x89\x83\x8a\x83\x87\x1a\x76\xa8\x7e\xb9\xc7\xb0\xa2\xd5\xc4\x1e\xf7\xe1\xf8\x43\x05\xa2\x06\xa5\x3a\x1d" -+"\x20\x06\x72\x7d\x82\x7b\x7a\x99\x82\xa4\x1f\x9e\x06\xfb\x78\xfb\xbd\x05\x0b\xf7\x74\xf7\x75\x05\x98\x27\x1d\xfb\x03\x29\x1d\xab" -+"\x06\xfb\x4a\xfb\x4b\x23\xf7\x4b\x05\xac\x06\xa2\x34\x1d\xfb\x02\x06\x74\x7d\x80\x78\x7d\xf7\x17\x1d\x78\x7d\x94\x84\x9f\x1f\xf7" -+"\x16\x2f\x1d\x99\x82\x92\xf7\x32\x1d\x75\x7c\x39\x1d\x0b\xf7\xd5\xf7\x3a\x15\xf7\x7a\xf7\xec\x28\xfc\x5f\x05\x45\x20\x1d\xf7\x29" -+"\x2a\x1d\x70\x06\xef\xf8\x61\x05\xa0\x06\xa1\x9a\x97\x9d\x9a\x83\x91\x76\x1f\x25\x06\xfb\x74\xfb\xe2\x3b\xf7\xe2\x05\x23\x20\x1d" -+"\x9e\x58\x1d\x99\x82\x92\x77\x1f\x47\x06\xee\xf8\x5f\xdf\xfb\xec\x05\x0e\xf7\x79\xf7\x47\x15\xbb\xad\xf7\x18\xfb\x36\x05\x7a\x20" -+"\x1d\xf7\x17\x23\x1d\x61\x06\xfb\x32\xf7\x55\xf7\x46\xf7\x10\x05\xb8\x06\xa2\x9a\x97\x9c\x9b\x83\x91\x76\x1f\xfb\x16\x20\x1d\x91" -+"\x06\xfb\x48\xfb\x13\xd9\xf7\xfe\x05\x26\x06\x74\x7d\x80\x79\x7b\x93\x85\x9f\x1f\xbb\x06\xfb\x01\xfc\x89\x05\x59\x20\x1d\xef\x06" -+"\x0b\xf8\x49\xbe\x15\x7a\x1d\x05\x50\x36\x50\x73\x4f\x1b\x5f\x75\x9e\xb2\x98\x8d\x97\x8e\x9c\x1f\xb1\xf7\x43\x05\xb9\x4c\x1d\xfb" -+"\x1e\x06\x72\x7d\x82\x7b\x7a\x99\x82\xa4\x1f\xb1\x06\x67\xfb\x3d\x05\x86\x74\x89\x7c\x7d\x1a\x4c\xb9\x61\xd0\xc7\xc8\x9f\xb9\xd5" -+"\x1e\x60\xfb\x5d\x05\x0b\xf8\x4b\xbe\x15\xcf\xf7\xd1\x05\xb2\x06\xa5\x3a\x1d\xfb\x14\x06\x71\x7d\x82\x7a\x7b\x99\x82\xa5\x1f\xaf" -+"\x06\x6f\xfb\x11\x05\x60\x37\x55\x7a\x52\x1b\x60\x74\x99\xa6\x95\x8d\x97\x8e\x9a\x1f\xa3\xf6\x05\xb8\x06\xa5\x3a\x1d\xfb\x18\x06" -+"\x72\x7d\x82\x7a\x7b\x99\x82\xa4\x1f\xad\x06\x75\x23\x05\x86\x74\x89\x7f\x7f\x1a\x58\xb8\x6a\xd1\xc7\xc5\x9a\xad\xd0\x1e\x6f\xfb" -+"\x17\x05\x0b\xf7\xe6\xf7\x90\x15\xf7\x7a\xf7\x98\x05\xa1\x91\x1d\x78\x7d\x80\x1d\x78\x7d\x25\x1d\xa0\x06\xf7\x0c\xfb\x96\x5f\xfb" -+"\x5f\x05\x26\x21\x1d\xf7\x90\x06\xa1\x40\x1d\x29\x06\x0b\x06\xef\xf8\x61\x05\xad\x06\xa3\x99\x95\x9d\x9a\x81\x93\x78\x1f\xfb\x06" -+"\x06\x74\x7d\x80\x79\x7d\x95\x83\x9e\x1f\xa6\x26\x1d\xfb\x29\x06\xee\xf8\x61\x05\xa4\x06\xa3\x99\x95\x9d\x9a\x81\x93\x78\x1f\x20" -+"\xf7\x5b\x1d\xa8\x26\x1d\xfb\x29\x06\xef\xf8\x61\x05\xa2\x3e\x1d\xfb\x03\x2b\x1d\xae\x06\x0b\xdf\x1d\x78\x7d\xd1\x1d\x74\x7c\x39" -+"\x1d\xf7\x20\x06\xa2\x9a\x97\x9c\x9a\x82\x92\x77\x1f\x5c\x06\xba\xf7\x6b\x05\x0b\xf8\x84\x22\x1d\x27\xfc\x61\x05\x5a\x24\x1d\xf7" -+"\x1f\x06\xa3\x99\x96\x9d\x99\x81\x93\x78\x1f\x65\x06\xef\xf8\x61\x05\xa8\x06\xa2\x9a\x1d\x79\x1f\xfc\x3e\x2b\x1d\xae\x26\x1d\x62" -+"\x24\x1d\xf7\x20\x06\xa3\x99\x96\x9d\x99\x81\x93\x78\x1f\x5b\x06\xef\xf8\x61\x05\x0e\xf7\x7d\x92\x15\x28\xfb\x1e\x05\xfb\x10\x21" -+"\x1d\xf7\x7d\x06\xa1\x9a\x97\x9d\xf7\x1d\x1d\x82\x91\x77\x65\x1d\xfb\xc6\x33\xf7\xc6\x05\xb7\x06\xa2\x34\x1d\xfb\x06\x33\x1d\x97" -+"\x06\x0b\xf7\x01\xbe\x15\x6d\x29\x1d\xf7\x70\x06\xf7\x16\xf7\x12\xf7\x02\xf7\x23\xab\x1f\x97\xc2\x05\x90\x9f\x8d\xa0\x9c\x1a\xf7" -+"\x09\x3f\xdb\xfb\x04\x1e\xfb\x70\x29\x1d\xa6\x06\x5b\xfc\x61\x15\xef\xf8\x61\x05\xf7\x43\x1d\x63\x1a\x80\x89\x7d\x89\x7f\x1e\x7b" -+"\x43\x72\x23\x20\x2c\x31\x8e\x19\x0b\x5a\x1d\xc0\xf7\x86\x05\xd7\xe1\xa4\x98\xc2\x1b\xc7\xac\x71\x5b\x85\x8b\x8a\x88\x7f\x1f\x58" -+"\xfb\x82\x05\x62\x06\x73\x7e\x81\x78\x7d\x95\x83\x9d\x1f\xf7\x18\x06\xa2\x99\x96\x9d\x99\x81\x93\x79\x1f\x64\x06\xbf\xf7\x82\x05" -+"\x8d\x96\x8c\x93\x94\x1a\xd1\x56\xb9\x3b\x52\x0b\x40\x1d\x70\x06\xdb\xf8\x04\x05\xfb\x0e\x32\x1d\xcf\x06\x55\xfb\x8b\x05\x51\x48" -+"\x4a\x7c\x1d\x0b\xf7\x08\xbd\x1d\x79\x7c\x25\x1d\x94\x06\x0b\xf8\xfb\x22\x1d\xa8\x27\x1d\xfb\x29\x20\x1d\xcf\x06\x45\xfb\xd8\x05" -+"\x35\x78\x39\x48\x35\x1b\x42\x5a\xbb\xd2\x96\x8c\x95\x8d\x96\x1f\xd2\xf7\xda\x05\xd1\x06\xa1\x9a\x38\x1d\xfb\x29\x32\x1d\xa6\x06" -+"\x45\xfb\xd8\x05\x88\x7b\x89\x7c\x0b\xf8\xd3\x22\x1d\xe7\x06\xa1\x9a\x38\x1d\xfb\xbc\x21\x1d\xf7\x2c\x06\x41\xfb\xeb\x05\x40\x7b" -+"\x3f\x50\x3c\x1b\x5b\x63\x9f\xb6\x64\x1f\xa6\xf7\x11\x05\x8d\x94\x8b\x8b\x8e\x1a\x97\x82\x94\x7e\x7a\x81\x81\x76\x86\x1e\x6b\xfb" -+"\x29\x91\x85\x05\x4d\xc4\xba\x73\xcc\x1b\xf4\xf4\xde\xee\xa0\x1f\x0b\x06\xcf\xf7\xd1\x05\xb4\x31\x1d\xfb\x1f\x06\x72\x7e\x43\x1d" -+"\xba\x06\x47\xfb\xd1\x05\xfb\x94\x06\xcf\xf7\xd1\x05\xbc\x3e\x1d\xfb\x20\x3f\x1d\xb2\x06\x44\xfb\xd1\x05\x70\x24\x1d\x0b\x1f\x20" -+"\x06\xfc\x12\xfc\x6f\xe7\xf8\x3c\x05\xba\x06\xa2\x99\x96\x9d\x99\x81\x93\x79\x1f\xfb\x29\x06\x73\x7d\x81\x78\x7d\x95\x83\x9d\x1f" -+"\xbe\x06\x26\xfc\x61\x05\x5d\x24\x1d\xf6\x06\xf8\x10\xf8\x64\x31\xfc\x31\x05\x5d\x06\x74\x7d\x81\x79\x7c\x95\x83\x9d\x1f\xf7\x29" -+"\x06\xa3\x99\x95\x9e\x0b\x61\x1d\x83\x93\x7e\x5b\x1d\x94\x83\x97\x92\x92\x8e\x92\x96\xf7\x13\x1d\xf7\x97\x16\x6f\x71\x72\x70\x74" -+"\x98\x7e\xa2\xa9\xa5\xa3\xa7\xa0\x7b\x9a\x75\x1f\x0e\xf7\x0a\x1d\x9d\x9a\x83\x91\x77\x1f\xfb\x2a\x21\x1d\xe3\x06\xfb\x27\xfc\x46" -+"\x73\xf7\xfe\x05\x45\x06\xfb\x4c\xfb\xfe\xb5\xf8\x46\x05\xe3\x27\x1d\xfb\x29\x06\x74\x7d\x80\x0b\x05\x44\x24\x1d\xf7\x2b\x31\x1d" -+"\x71\x06\x34\xf8\x94\x05\xfb\x63\x06\x73\x7d\x80\x79\x7c\x95\x84\x9e\x1f\xf7\x01\x06\xfb\xa6\xfc\x61\x05\x6f\x24\x1d\xf7\x2a\x06" -+"\xa3\x99\x96\x9d\x99\x81\x93\x78\x1f\x47\x06\x0b\x15\x84\x85\x89\x84\x83\x1f\x6e\x67\x81\x85\x7b\x1b\x80\x83\x8f\x9e\x6c\x1f\x9e" -+"\x6d\x7f\x8f\x76\x1b\x71\x72\xf7\x15\x1d\xa8\xad\x95\x90\x9d\x1b\x96\x95\x87\x80\x9c\x1f\x73\xae\x9d\x84\xa2\x1b\xa6\xa4\x97\xa9" -+"\xaf\x1f\x9e\x9a\x90\x92\x0b\x22\x1d\xf7\x9a\x06\x6a\xfb\x2b\x05\x89\x83\x8b\x89\x89\x1a\x80\x95\x82\x97\x9b\x96\x95\x9f\x90\x1e" -+"\xb7\xf7\x60\x05\xfc\x5e\xd9\x1d\xf7\xe4\xf8\x18\x15\x8f\x9b\x8b\x8d\x8d\x1a\x9b\x81\x94\x7b\x7b\x84\x83\x72\x86\x1e\x49\xfb\xc8" -+"\x05\x89\x7d\x89\x7e\x7f\x1a\x60\xa9\x71\xba\xa0\xea\x1d\x92\x8c\x92\x8f\x9f\x1f\x0b\xf7\x62\xf8\x04\x15\x48\xfb\xd1\x05\x26\x24" -+"\x1d\xf7\x8e\x06\xa3\x99\x96\x9d\x99\x81\x93\x78\x1f\x29\x06\xcf\xf7\xd1\x05\xf7\xa6\x06\x6e\xfb\x16\x8a\x7d\x05\x7f\x93\x84\x98" -+"\x9c\x96\x96\x9e\x8f\x1e\xb3\xf7\x4c\x05\xfc\x71\x06\x73\x7e\x81\x78\x7d\x95\x83\x9d\x1f\x0b\xf7\x35\xac\x15\x6a\xb0\xb7\x7b\xc1" -+"\x1b\xf7\x2a\xf7\x1d\xf7\x15\xf7\x21\xb2\x82\xa9\x76\xab\x1f\xd5\xc8\x05\x97\x95\x8f\x91\x94\x1a\x96\x83\x93\x7f\x84\x88\x8a\x80" -+"\x7e\x1e\x40\x4d\x05\xab\x67\x60\x9a\x55\x1b\xfb\x29\xfb\x1d\xfb\x15\xfb\x20\x65\x94\x6c\x9f\x6c\x1f\x3e\x4c\x05\x0b\x15\x83\x83" -+"\x86\x7e\x7a\x1f\x70\x6a\x89\x8a\x7e\x1b\x7f\x81\x8f\x98\x77\x1f\xac\x57\x88\x8c\x79\x1b\x63\x45\x5a\x6f\x7f\x93\x84\x99\x93\x91" -+"\x8e\x91\x92\x1f\xa1\xa2\xa4\x9a\x97\x1b\x91\x9e\x82\x84\x95\x1f\x73\xac\xa4\x80\xa0\x1b\xb1\xd3\xbc\xa5\x96\x81\x95\x80\x1f\x0e" -+"\x15\x77\x7e\x7c\x75\x4a\xba\x67\xe1\xc1\xb9\x9a\xa9\xb0\xf7\x52\x1d\x80\x81\x85\x82\x87\x1e\x81\x73\x86\x84\x7d\x80\x08\x78\x74" -+"\x66\x80\x65\xf7\x0f\x1d\x15\xfb\x55\xfb\x48\xfb\x40\xfb\x4c\xfb\x1c\xf2\x27\xf7\x20\xf7\x56\xf7\x48\xf7\x3f\xf7\x4d\xf7\x1d\x25" -+"\xee\xfb\x22\x1f\x82\x58\x15\xf7\x08\xdf\x3a\xfb\x04\xfb\x2b\xfb\x2a\xfb\x26\xfb\x30\xfb\x0d\x37\xda\xf7\x06\xf7\x2d\xf7\x2a\xf7" -+"\x24\xf7\x35\x1f\x0e\xf8\x0f\xf7\x03\x1d\xf7\x19\x3a\xe6\xfb\x0a\x1f\x84\x58\x15\xe4\xcb\x3f\x21\xfb\x2c\xf7\x29\x1d\xf7\x1c\x1f" -+"\x0b\xf8\x1c\x22\x1d\xf7\x1b\x27\x1d\xfb\xd4\x20\x1d\xf7\x19\x26\x1d\xfb\x1b\x21\x1d\xf7\xd4\x06\xa2\x9a\x97\x9c\x9a\x82\x92\x76" -+"\x1f\xfb\x18\x06\x0b\xf8\xb9\x15\xfb\x00\x6c\x76\x85\x85\x87\x08\x85\x87\x86\x83\x84\x1a\x82\x93\x83\x94\x8f\x8d\x8b\x8c\x8f\x1e" -+"\xcc\x9f\x54\xfb\x97\x05\x8c\x75\x75\x8b\x7c\x1b\x73\x7d\x82\x7b\x80\x93\x85\x97\x1f\xf7\x46\x06\x9a\xf7\x5f\x1d\x0b\xf7\x56\x1d" -+"\x88\x8f\x84\x91\x1f\x63\xac\x78\xa1\x6d\xbc\x88\x8f\x88\x90\x88\x90\x08\x88\x90\x87\x91\x8b\x1a\x98\x84\x88\x8e\x82\x1b\x84\x87" -+"\x87\x79\x81\x1f\x6a\x52\x72\x6b\x67\x6f\x08\x7e\x80\x88\x86\x85\x1a\x81\x92\x84\x93\x99\x0b\x86\x82\x1a\x80\x93\x83\x97\x91\x91" -+"\x8e\x93\x95\x1e\xf8\x3e\xf7\xf2\x15\x99\x74\x91\x75\x6e\x1a\xfb\x00\xfb\x00\x25\xfb\x08\x61\x6e\x95\xa3\x6d\x1e\x70\xaa\x15\x7c" -+"\xaa\x87\x9a\xa5\x1a\xf7\x01\xf6\xf0\xf7\x08\xb5\xa7\x82\x74\xa9\x1e\x0b\xf7\x7b\xf8\x37\x15\x3a\x06\x73\x7d\x81\x78\x7c\x95\x84" -+"\x9e\x1f\xa6\x06\x46\xfb\xd1\x5a\x1d\xbf\xf7\x84\x05\xd4\xdb\xab\x9d\xc2\x1b\x0b\xf5\x1d\x87\x1a\x80\x95\x82\x97\xf7\x18\x1d\x0e" -+"\xf8\x08\xf8\x37\x15\xfb\x3a\x20\x1d\xf7\x04\x06\x46\xfb\xd1\x05\xfb\x30\x21\x1d\xf7\xfe\x2a\x1d\xfb\x2e\x06\x0b\x94\x84\x9f\x1f" -+"\xcf\x06\x2d\xfc\x43\xfb\x54\xf8\x76\x05\xfb\x02\x20\x1d\xbb\x58\x1d\x0b\xf8\x37\x15\xfb\x3a\x20\x1d\xf7\x04\x06\x46\xfb\xd1\xf1" -+"\x1d\x0b\x94\x84\x9f\x1f\xba\x06\x61\xfb\x57\x05\xfb\x97\x06\xb5\xf7\x57\x05\xbc\x06\xa2\x6b\x1d\x78\x7d\x25\x1d\x9e\x26\x1d\x62" -+"\x06\x0b\xf7\x65\xf7\x22\x1d\x89\x92\x80\x1f\xf2\xfb\x35\xfb\x42\xfb\x35\x05\x7d\x7e\x88\x86\x81\x1a\x7f\x94\x82\x98\x93\x92\x8e" -+"\x94\x96\x1e\x0b\xda\x1d\x67\x90\x1f\x0e\xf7\x04\x1d\xe1\x35\x05\x83\x92\x8f\x89\x92\x1b\x9b\x9b\x99\x9a\x93\x8a\x8d\x80\x95\x1f" -+"\x0e\xe5\x1d\x8e\x91\x95\x1e\xf7\x0e\xdf\xe1\x6e\x1d\x9b\x92\x8a\x8e\x81\x94\x1f\x0e\x25\x1d\xd2\x06\x46\xfb\xd1\x05\x3c\x21\x1d" -+"\xf7\x58\x06\x0b\x06\xb5\xf7\x57\x05\xf7\xc3\x06\x78\x31\x05\x8a\x86\x8a\x87\x87\x63\x1d\xaa\xf7\x23\x05\xfc\x5d\x21\x1d\xbb\x06" -+"\x0b\xf7\x52\x1d\x7c\x85\x86\x77\x83\x1e\x65\x7b\x5b\x73\x50\xf7\x0f\x1d\x06\x75\x7c\x7f\x79\x7d\xf7\x39\x1d\x7f\x79\x7c\x93\x85" -+"\x9f\x1f\xf7\x7e\x06\xa2\x99\x96\x9e\x99\x82\x92\x77\x1f\x32\x06\x0e\x94\x85\x7f\x7d\x7a\x80\x74\x7a\x7d\x8f\x95\x79\x1f\x8f\x85" -+"\x89\x8b\x82\x1b\x7b\x80\x81\x7b\x7f\x90\x84\x96\x84\x1f\x81\x9d\xa7\x84\xa0\x1b\xc5\xb6\xae\xb9\xac\x79\x9d\x0b\x15\xfb\x2f\xfb" -+"\x01\x05\x7c\x84\x85\x82\x7f\x1a\x7f\x95\x82\x97\x8f\x98\x90\x8f\x90\x1e\xf7\x0d\xe2\xe1\x35\x05\x83\x92\x90\x89\x92\x1b\x9a\x9b" -+"\x9a\x99\x93\x8a\x8d\x0b\xf7\x6f\x15\x98\x94\x91\x95\x96\x1a\x97\x83\x93\x7e\x84\x84\x88\x84\x81\x1e\xfb\x1b\x2b\x05\x7e\x81\x85" -+"\x82\x80\x1a\x7f\x94\x83\x97\x92\x93\x8e\x92\x95\x1e\x0e\x15\x6f\x71\x72\x70\x76\x9a\x7c\xa1\xa8\xa4\xa3\xa7\xa0\xf7\x4e\x1d\x9b" -+"\x7c\xa0\xa8\xa4\xa3\xa7\xa0\x51\x1d\xf9\x06\x15\x93\x83\x86\x8e\x84\x1b\x7a\x7d\x7d\x7b\x85\x8e\x86\x50\x1d\x83\x92\x91\x88\x92" -+"\x1b\x9a\x9b\x99\x99\x8e\x84\x99\x87\x8e\x1f\x0e\xef\xf8\x61\x05\xa0\x06\xa1\x6b\x1d\x0b\x81\x7b\xa0\x1f\x95\x83\xa3\x70\x87\x1a" -+"\x89\x67\x05\x85\x97\x82\x95\x9c\x95\x95\x9f\x8f\x1e\x9f\xe5\x05\x8d\x94\x8b\x8b\x8f\x1a\x96\x82\x94\x7e\x7b\x80\x0b\x15\x4c\x51" -+"\x56\x51\x5f\xad\x6a\xb9\xc9\xc5\xc1\xc5\xb5\x68\xad\x5f\x1f\x84\x63\x15\xa5\x9e\x7b\x74\x67\x68\x6a\x65\x72\x77\x9c\xa0\xb1\xac" -+"\xab\xb3\x1f\x0b\xf7\x31\x1d\x78\x7d\x25\x1d\xd2\x06\x46\xfb\xd1\x05\x3c\x21\x1d\x0b\x15\x94\x83\x86\x8d\x84\x1b\x7b\x7c\x7d\x7c" -+"\x85\x8e\x84\x92\x85\x44\x1d\x92\xf0\x1d\x37\x1d\xf2\x1d\x0b\x15\xfb\x32\xfb\x01\x05\x7b\x4e\x1d\x91\x0b\x33\x1e\xfb\x97\x20\x1d" -+"\xbb\x06\x95\xfb\x57\x15\xb5\xf7\x57\x05\xf7\x34\x06\xc8\xb6\x6b\x5c\x70\x7a\x0b\xf7\x7f\xf7\x2d\x15\xfb\x11\xfb\x8c\x05\x88\x84" -+"\x89\x85\x85\x1a\x7b\x97\x7f\x9c\x9a\x94\x91\x9f\x9b\x1e\xf7\x64\xf7\xa1\x05\x0e\x8a\x7c\x05\x7b\x95\x80\x9a\x99\x94\x96\xa1\x90" -+"\x1e\x96\xc0\x05\x8d\x94\x8c\x93\x8e\x1a\x9b\x7b\x94\x6e\x45\x74\x7c\x22\x36\x1e\x0b\xf8\x92\xf7\xf1\x15\xc4\x6c\x5b\xa6\x46\x1b" -+"\xfb\x1b\xfb\x13\xfb\x0f\xfb\x17\x28\xd2\x45\xef\xd0\xc5\xa5\xc3\xc3\x1f\x73\x20\x0b\x9f\x8f\x92\xa0\x1e\xa2\x94\x96\x97\x9b\x1a" -+"\x98\x82\x94\x7e\x86\x86\x8a\x88\x85\x1e\x80\x73\x7a\x87\x79\x1b\x7b\x83\x91\x99\x0b\x82\x93\x7f\x5b\x1d\x94\x83\x97\x92\x92\x8e" -+"\x92\x96\x1e\x0e\x06\x46\xfb\xd1\x05\x62\x06\x75\x7c\x7f\x7a\x7c\x94\x84\x9f\x1f\xf7\x17\x06\xa1\x9a\x97\x9c\x9a\x82\x92\x78\x1f" -+"\x64\x06\x0b\xc2\xf7\x93\x05\x8d\x93\x8c\x94\x91\x1a\xc9\x51\xb5\x36\x65\x2b\x78\x7d\x68\x1e\x7c\x85\x84\x81\x7f\x1a\x7f\x94\x82" -+"\x96\x0b\x1a\x6b\xa5\x78\xb6\xb9\xb8\xa1\xa1\x94\x84\x93\x82\x88\x87\x8a\x88\x86\x1e\x7e\x71\xf7\x45\x1d\x0b\x81\x82\x86\x81\x82" -+"\x1e\xfb\x03\xfb\x10\x05\x81\x80\x88\x85\x82\x1a\x81\x64\x1d\x91\x88\x91\x1b\x9c\x9a\x99\x9b\x90\x8b\x8b\x80\x98\x1f\x0e\x05\xfb" -+"\x30\x21\x1d\xf7\xfe\x06\xa2\x34\x1d\xfb\x2e\x06\x0b\x25\x1d\xbb\x26\x1d\x59\x20\x1d\xf7\x3e\x2f\x1d\x0b\xf9\x08\xf7\x94\x15\xa1" -+"\x9a\x96\x9e\x35\x1d\xfc\xb4\x29\x1d\x0e\x2b\x1d\xc0\x06\x47\xfb\xd1\x05\x59\x24\x1d\x0b\x86\x1e\x6e\xfb\x1a\x05\xfb\xc1\x06\xf8" -+"\x3b\xf8\x53\x99\xcc\x05\xfb\xfc\x06\x68\xfb\x35\x05\x89\x82\x8b\x8b\x0b\xf7\x1f\x1d\x7f\x8f\x95\x78\x1f\x90\x82\x88\x8c\x86\x1b" -+"\x7b\x7d\x7e\x7b\x78\x0b\x78\x1f\xfb\x18\x06\xbc\xf7\x76\x15\xbe\xf7\x7f\x05\xf7\x24\x06\xcd\xbc\x63\x56\x40\x34\x48\x2b\x1f\x0e" -+"\x05\x62\x3f\x1d\xf7\x18\x06\xa2\x99\x95\x9e\x9a\x81\x92\x78\x1f\x65\x06\x0b\x05\xb8\x06\xa1\x9a\x97\x9d\x9a\x82\x91\x78\x1f\xfb" -+"\x07\x06\x74\x7d\x39\x1d\x97\x06\x0b\xf8\xd3\x15\xfb\x3c\xfb\x32\xfb\x46\xfb\x52\xfb\x17\xdc\x2f\xf7\x08\xf7\x3e\xf7\x32\xf7\x45" -+"\xf7\x52\x0b\x15\xfb\x30\xfb\x01\x05\x7c\x84\x85\x82\x7f\x1a\x7f\x95\x82\x97\x8f\x98\x90\x8f\x90\x1e\xf7\x0e\xe2\x0b\x9a\x96\x92" -+"\x9b\x98\x1e\xf7\x57\xf7\x87\x05\xd9\x16\xfb\x0c\xfb\x73\x05\x87\x84\x8a\x86\x86\x1a\x7c\x0b\x90\x8d\x92\x95\x1e\xf7\x0f\xdf\xe1" -+"\x6e\x1d\x9a\x93\x89\x8e\x0b\x99\x1d\x94\x8e\x91\x91\x1e\xa7\xad\x95\x91\x9d\x1b\x96\x0b\x15\x91\x7f\x93\x82\x77\x7e\x7b\x71\x51" -+"\xbe\x65\xd9\x0b\xf7\x73\x15\x98\x95\x91\x93\x94\x1a\x98\x82\x94\x7f\x82\x87\x89\x83\x80\x41\x1d\x0b\x16\xd4\x06\xf7\x54\xf8\x0d" -+"\xa5\xfc\x0d\x05\xd4\x06\xf7\x41\xf8\x94\x05\x96\x06\xa1\x9a\x97\x0b\x1b\x29\x43\xd3\xed\x99\x8d\x99\x8e\x9a\x1f\x9a\xd0\x05\xf7" -+"\x06\xa3\xf7\x01\xe8\xf7\x00\x1b\x0b\x97\x1d\xaf\x1f\x96\x06\xbb\xb5\xb2\xb7\xac\x72\xa2\x66\x1f\x0e\x1e\xfb\x1c\x29\x05\x7c\x80" -+"\x87\x85\x80\x1a\x7f\x94\x82\x98\x92\x90\x8d\x93\x97\x1e\x0e\x87\x1a\x89\x6d\x05\x84\x97\x82\x94\x9c\x96\x95\xa0\x8f\x1e\x9a\xcf" -+"\x05\x8d\x94\x8b\x8b\x0b\x1b\x62\x60\xa0\xa0\x89\x1f\x89\xab\x8b\x8b\x87\x90\x08\x91\x87\x86\x8d\x85\x1b\x0e\xf9\x56\xf7\x19\x1d" -+"\x05\x8d\x94\x8b\x8b\x8f\x1a\x96\x82\x94\x7e\x7a\x81\x81\x76\x86\x1e\x73\xfb\x04\x05\x0b\x15\x84\x85\x89\x84\x83\x1f\x6e\x67\x81" -+"\x9f\x1d\x6d\x0b\x1e\x27\xd9\x15\x6e\x72\x73\x6f\x74\x98\x7e\xa2\xa9\xa4\xa3\xa7\xa0\x7c\x9a\x75\x1f\x0b\xfb\x90\x05\x80\x07\x78" -+"\x96\x7f\x9c\x9f\x98\x97\xa6\x95\x1e\xe5\xf7\x93\x05\x0e\x80\x71\x68\x99\x1d\x94\x8e\x91\x91\x1e\x0b\x86\x8b\x87\x8a\x88\x1f\x7d" -+"\x4b\x05\x99\x58\x6c\x90\x5e\x1b\xfb\x23\xfb\x00\x40\x0b\x25\x1d\x97\x06\xf7\x13\xfb\x73\xfb\x81\xfb\x82\x05\x7c\x06\x74\x7d\x80" -+"\x0b\x9b\x96\x96\x9f\x90\x1e\xa3\xf7\x04\x05\xf7\x93\x06\xfc\x3a\xfc\x52\x7d\x49\x05\x0b\x15\x6a\xf7\x3a\x1d\x70\x1f\x0e\x16\x69" -+"\x6b\x42\x1d\xae\x8c\x1d\x0e\x1b\xa5\xa4\x97\xa9\xb0\x1f\x9e\x9b\x8f\x91\x95\x1a\x97\x81\x94\x7f\x1e\x0e\x8c\x8f\x8f\x1a\x94\x86" -+"\x92\x80\x91\x1e\xfb\xed\xf7\x50\xf7\xee\xf7\x50\x05\x0b\x9a\x83\x91\x77\x1f\x55\x06\xf7\xfb\xf8\x87\x05\x95\x2f\x1d\x9a\x0b\xef" -+"\xf7\x66\x15\xf7\x3d\xfb\x59\x05\x82\x93\x92\x87\x93\x1b\x9b\x99\x99\x9b\x0b\xa6\x06\xa3\x97\x86\x81\x7c\x78\x7f\x71\x7c\x0b\xf7" -+"\x2e\x1d\x95\x8c\x8b\x0b\x08\x78\x93\x7d\x9b\x9a\x1a\xb4\xcc\xae\xd7\xaf\xaa\x84\x7f\x9e\x1e\x94\x0b\x15\xfb\x3c\xf7\x59\x05\x94" -+"\x83\x84\x8f\x83\x1b\x7b\x7d\x7d\x7b\x86\x8c\x0b\x15\x3b\x40\x42\x3d\x51\xb5\x61\xc5\xdc\xd6\xd4\xd9\xc5\x61\xb5\x50\x1f\x0b\x15" -+"\xfb\x32\xf7\x40\x1d\x91\x91\x0b\x93\x9f\x72\x1e\x90\x85\x88\x8c\x86\x1b\x7e\x80\x80\x7e\x74\xc5\x6f\xbb\x0b\x95\x83\x9d\x1f\xf7" -+"\x20\x06\xa3\x99\x96\x9d\x99\x81\x93\x78\x1f\x5c\x06\x0b\x88\x1a\x7e\x93\x84\x98\x9c\x96\x95\x9f\x90\x1e\xad\xf7\x22\x05\x0e\x15" -+"\x9b\x98\x8e\x8f\x96\x1a\x97\x82\x94\x7e\x84\x83\x88\x84\x82\x1e\x0b\xfb\x17\xfb\x2f\xfb\x15\x2c\x4b\xd4\xf7\x00\xf7\x32\xf7\x16" -+"\xf7\x2a\x0b\x49\x4c\x52\x4e\x73\x93\x7a\x9f\x7b\x1e\x5e\x71\x74\x67\x62\x1a\x0b\xf7\x5d\x1d\xfc\xce\x06\x76\x80\x82\x0b\x15\xfb" -+"\x33\xf7\x40\x1d\x0b\x41\x1d\x7d\x81\x86\x84\x80\x1a\x7f\x94\x82\x98\x92\x0b\xbf\x05\xb9\x95\xae\xae\xae\x1b\x99\x9f\x87\x85\x9f" -+"\x1f\x87\x0b\x82\x92\x77\x1f\xfb\x0e\x06\xab\xf7\x2a\x05\x8d\x91\x8b\x8d\x0b\x97\x1d\xb0\x1f\x95\x06\xbb\xb5\xb2\x0b\x1b\x4c\x4d" -+"\x52\x42\x7b\x1f\x80\x55\x05\x42\x06\x74\x7d\x80\x0b\x77\x1f\x58\x06\xf7\x57\xf7\x58\xf7\x04\xfb\x58\x05\x56\x06\x0b\xb8\xba\x1a" -+"\xae\x80\xa8\x77\xa1\x1e\xab\x6e\x45\x9f\x3a\x1b\x0b\x94\x82\x98\x9b\x96\x95\x9f\x8f\x1e\x0b\x7f\x7a\x70\x4f\xbe\x63\xd8\xbf\xb9" -+"\x9c\xa9\xad\x1e\xa4\x0b\x05\x8a\x86\x6c\x1d\x9b\x96\x95\x0b\x06\x76\x33\x05\x8a\x86\x8a\x87\x87\x1a\x7e\x93\x84\x98\x0b\x15\x7e" -+"\x87\x87\x75\x7a\x1f\x6a\x73\x75\x7b\x75\x1b\x7b\x0b\x25\x1d\xe5\x06\x27\xfc\x61\x05\x2f\x06\x74\x7d\x0b\x6a\x6b\x6b\x72\x9f\x77" -+"\xa3\xae\xac\xaa\xac\xa5\x78\x9e\x0b\xac\x1a\xbb\x81\xac\x76\xa2\x1e\xa1\x77\x6c\x98\x6b\x1b\x0b\xf7\x47\x1d\x0e\x06\x33\x66\x84" -+"\x71\x64\x1f\x47\x5e\x68\x40\x27\x1a\x0b\xf7\x35\xf7\x43\xf7\x36\x05\x99\x98\x8e\x8f\x95\x1a\x0b\x15\xfb\x0b\xfb\x73\x05\x88\x85" -+"\x89\x85\x86\x1a\x7c\x0b\xfb\x01\x05\x7b\x81\x86\x85\x7f\x1a\x7f\x94\x82\x98\x0b\x9f\x1a\x97\x82\x94\x7e\x7c\x81\x83\x79\x85\x1e" -+"\x64\x0b\x25\x06\x74\x7d\x80\x79\x7b\x93\x85\xa0\x1f\xba\x06\x0b\xf7\x1e\x06\xc0\xac\x7d\x6a\xa4\x1f\xa2\x6d\x98\x64\x0b\x1b\x9b" -+"\x9b\x9a\x99\x93\x8a\x8d\x80\x95\x1f\x0e\x86\x89\x79\x1b\x76\x80\x91\x97\x0b\xf7\x4f\x1d\x30\x0b\x88\x1a\xf7\x57\x1d\x0b\x8b\x8b" -+"\x8e\x1a\x97\x82\x93\x7e\x7a\x81\x81\x77\x0b\x15\x4e\x3b\x53\x74\x43\x1b\x52\x6a\xa2\xb4\xcc\x0b\x15\x4d\x51\x55\x51\x60\xad\x6a" -+"\xb9\xca\xc5\xc1\x0b\x1f\xf7\x49\xab\x15\xdf\xc4\x57\x3f\x28\x24\x2d\x0b\x9d\x35\x1d\xfc\x26\x06\x74\x7d\x80\x0b\x77\x1f\x47\x06" -+"\xe8\xf8\x42\xf7\x54\xfc\x75\x05\x0b\x7c\x9a\x75\x1f\xf7\x62\x16\x6f\x71\x72\x70\x76\x0b\x7d\x08\x9c\x80\x97\x78\x7b\x1a\x57\x3e" -+"\x5f\x0b\x8b\x82\x6d\x69\xfb\x08\x18\x88\x81\x8a\x84\x0b\x15\x43\x48\x49\x45\x57\xb1\x65\xbf\xd4\xce\x0b\x1f\xa7\xa2\x9d\xa7\xa0" -+"\x1a\x98\x82\x93\x7c\x0b\x15\x45\x06\x73\xfb\x05\x05\xd0\x06\x0e\x7e\x93\x84\x98\x9c\x96\x96\x0b\x8a\x85\x8a\x87\x88\x1a\x80\x0b" -+"\x9a\x1b\x93\x92\x92\x94\x92\x0b\x7e\x96\x80\x98\x99\x93\x93\x9e\x8f\x1e\x0b\x06\xa0\x96\x95\xa0\x96\x83\x90\x7b\x1f\x0b\x06\xa1" -+"\x96\x94\x9c\x9b\x80\x94\x75\x1f\x0b\x06\xa2\x99\x95\x9d\x9a\x81\x93\x79\x1f\x0b\x06\x74\x7d\x81\x78\x7c\x95\x84\x9e\x1f\x0b\x8e" -+"\x1a\x97\x82\x94\x7e\x7b\x80\x81\x77\x0b\x15\xa1\x96\x94\x9c\x9b\x80\x94\x75\x1f\x0b\x15\x7b\x7f\x81\x7d\x80\x92\x85\x99\x1f\x0b" -+"\x97\x96\x98\x96\x84\x91\x7f\x1f\x47\x06\x0b\x6a\x80\x7a\x49\x7f\x1e\x67\xfb\x66\x05\x0b\xf0\xd0\xe4\xa4\x7d\xa7\x76\x9b\x1f\x6f" -+"\x0b\x82\x98\x92\x8b\x8b\x95\x9c\x1e\x0e\x01\x00\x01\xe3\x01\x05\x00\x01\x0a\x02\x01\x40\x03\x01\x87\xff\x02\x87\xa0\x02\x8e\x02" -+"\x00\x01\x00\x02\x00\x03\x00\x42\x00\x61\x00\xf1\x01\xc7\x02\x27\x02\xa4\x02\xab\x02\xf9\x03\x40\x03\xad\x03\xe1\x03\xe3\x03\xe5" -+"\x03\xec\x04\x17\x04\x7a\x04\xa9\x05\x04\x05\x74\x05\xb6\x06\x1d\x06\x87\x06\xbf\x07\x1b\x07\x8b\x07\xab\x07\xbe\x07\xf7\x08\x12" -+"\x08\x5c\x08\xba\x09\x5c\x09\x5f\x09\x83\x09\x9e\x09\xa1\x09\xa4\x09\xe1\x09\xe4\x09\xe7\x09\xea\x09\xed\x09\xf0\x09\xf3\x0a\x30" -+"\x0a\x39\x0a\x3c\x0a\x57\x0a\xf2\x0a\xf5\x0a\xf8\x0a\xfb\x0a\xfe\x0b\x2b\x0b\x5e\x0b\x9f\x0b\xa2\x0b\xb2\x0b\xd1\x0b\xfc\x0c\x20" -+"\x0c\x54\x0c\x5a\x0c\x74\x0c\x77\x0c\xbd\x0c\xc0\x0c\xe1\x0c\xe4\x0d\x2f\x0d\x39\x0d\x3c\x0d\x44\x0d\x48\x0d\x4b\x0d\x4e\x0d\xd8" -+"\x0d\xdb\x0d\xde\x0e\x01\x0e\x5d\x0e\x60\x0e\x7e\x0e\x81\x0e\x8f\x0e\xb9\x0e\xbc\x0e\xdc\x0e\xdf\x0e\xf8\x0f\x73\x0f\x7e\x0f\xf8" -+"\x10\x25\x10\x67\x10\xee\x11\x78\x11\x7a\x11\xf4\x12\x5d\x13\x2b\x13\xc9\x13\xd2\x14\x05\x14\x4e\x14\x66\x14\x6b\x14\xb8\x14\xfa" -+"\x15\x0a\x15\x22\x15\x53\x15\x55\x15\xc5\x15\xdc\x15\xde\x15\xfa\x16\x16\x16\x3e\x16\x4d\x16\x8c\x16\xee\x16\xf2\x16\xf8\x16\xfe" -+"\x17\x0c\x17\x12\x17\x18\x17\x1e\x17\x22\x17\x2d\x17\x3d\x17\x43\x17\x57\x17\x5d\x17\x5f\x17\x62\x17\xd7\x18\x36\x18\x39\x18\xb2" -+"\x18\xdd\x18\xe0\x18\xe3\x19\x3b\x19\x43\x19\xc8\x1a\x48\x1a\x7e\x1a\x9e\x1a\xf3\x1b\x92\x1b\x94\x1c\x14\x1c\x60\x1c\x94\x1d\x3a" -+"\x1d\x69\x1d\x9c\x1d\xc7\x1d\xe7\x1e\x80\x1e\xdb\x1f\x49\x1f\x57\x1f\xd2\x20\x34\x20\x60\x20\xdc\x20\xfe\x21\x17\x21\x24\x21\x3f" -+"\x21\x62\x21\x9a\x21\xfc\x22\x0e\x22\x28\x22\x30\x22\x38\x22\x40\x22\x69\x22\x89\x22\xa9\x22\xe6\x23\x0b\x23\x26\x23\x33\x23\x55" -+"\x23\xc7\x24\x3d\x24\x44\x24\x4b\x24\x5b\x24\x6b\x24\x73\x24\x88\x24\x96\x24\xb3\x24\xc3\x25\x1b\x25\x3c\x25\x53\x25\xe3\x26\x2e" -+"\x26\x35\x26\x45\x26\x8c\x26\xa9\x26\xb7\x26\xc5\x26\xcc\x26\xee\x27\x85\x27\xa7\x27\xb8\x27\xcb\x27\xd2\x27\xf4\x28\x5f\x28\x71" -+"\x28\x87\x28\x9a\x28\xb3\x28\xbb\x28\xd3\x29\x0e\x29\x7f\x29\xa6\x29\xfc\x2a\x56\x2a\xb4\x2b\x07\x2b\xc1\x2c\x19\x2c\x2b\x2c\x33" -+"\x2c\x35\x2c\x7b\x2c\x83\x2c\xc0\x2c\xdd\x2c\xdf\x2c\xe6\x2c\xed\x2c\xf8\x2d\x00\x2d\x02\x2d\x09\x2d\x0b\x2d\x26\x2d\x2e\x2d\x36" -+"\x2d\x3d\x2d\x45\x2d\x8a\x2d\xd6\x2d\xd8\x2e\x53\x2e\x55\x2e\xac\x2f\x58\x2f\x5c\x2f\x72\x2f\x85\x2f\x98\x2f\xa5\x2f\xfc\x30\x26" -+"\x30\x8a\x30\x91\x30\x98\x30\xa0\x30\xd2\x30\xd4\x30\xfd\x31\x26\x31\x2e\x31\x39\x31\x76\x31\x7e\x31\x86\x31\x95\x31\xba\x31\xc1" -+"\x31\xdd\x31\xdf\x31\xe7\x31\xee\x31\xf5\x31\xfe\x32\x05\x32\x0c\x32\x14\x32\xad\x32\xaf\x33\x23\x33\x2b\x33\x97\x33\x99\x34\x0a" -+"\x34\x12\x34\x19\x34\x20\x34\x22\x34\x29\x34\x61\x34\x68\x34\x70\x34\xc1\x34\xc3\x35\x5b\x35\x62\x35\x97\x36\x33\x36\x3b\x36\x42" -+"\x36\x49\x36\x86\x36\x89\x36\xec\x37\x37\x37\x3f\x37\x46\x37\x58\x37\x6c\x37\x87\x37\xac\x38\x71\x38\x79\x38\xa3\x38\xbc\x38\xc5" -+"\x38\xdc\x38\xe4\x38\xf5\x38\xf7\x38\xf9\x39\x1a\x39\x1c\x39\x20\x39\x8e\x39\x90\x3a\x16\x3a\x63\x3a\xff\x3b\x02\x3b\x48\x3b\x4b" -+"\x3b\xa2\x3b\xa4\x3b\xa6\x3b\xa8\x3b\xaa\x3b\xac\x3b\xe4\x3b\xe6\x3b\xe9\x3c\x87\x3c\x89\x3c\xa8\x3c\xd2\x3c\xe0\x3d\x00\x3d\x53" -+"\x3d\x99\x3d\xac\x3e\x34\x3e\xb2\x3f\x19\x3f\x31\x3f\xba\x40\x18\x40\xb0\x41\x08\x41\x0a\x41\x24\x41\x60\x41\xe0\x42\x3d\x42\xbe" -+"\x42\xd0\x43\x03\x43\x6d\x43\xe1\x44\x37\x44\x3a\x44\xa8\x44\xdc\x45\x2d\x46\x01\x46\x37\x46\x3a\x46\x68\x46\x6a\x46\xcb\x47\x10" -+"\x47\x56\x47\x5b\x47\x80\x47\xc7\x48\x1b\x48\x65\x48\x68\x49\x15\x49\x23\x49\x3b\x49\x7f\x49\x8d\x49\xab\x4a\x05\x4a\x5b\x4a\x8e" -+"\x4b\x14\x4b\x74\x4b\xd6\x4c\x0c\x4c\x70\x4c\x76\x4c\xe9\x4d\x51\x4d\x59\x4d\x92\x4d\x96\x4e\x0b\x4e\x81\x4e\xa4\x4e\xa9\x4f\x2d" -+"\x4f\x4b\x4f\x4d\x4f\x9c\x50\x7e\x51\x1c\x51\xbb\x52\x31\x52\xa5\x52\xac\x52\xe0\x53\x14\x53\x75\x53\xe0\x53\xfb\x54\x4a\x54\x90" -+"\x54\xd6\x54\xe2\x55\x2f\x55\x7d\x55\xd4\x56\x5e\x56\x65\x56\x7c\x56\xa1\x56\xa8\x56\xf7\x57\x6d\x57\xd9\x58\x1f\x58\x7c\x58\xe4" -+"\x59\x08\x59\x0e\x59\x16\x59\x2e\x59\x35\x59\x74\x59\x7b\x59\xd4\x5a\x10\x5a\x85\x5b\x13\x5b\x4b\x5b\xa0\x5b\xd5\x5c\x1a\x5c\x9b" -+"\x5c\xb5\x5c\xfb\x5d\xf2\x5e\x34\x5e\x3b\x5e\x58\x5e\x73\x5e\x83\x5e\xe5\x5f\x55\x5f\x5d\x5f\x93\x5f\xb7\x5f\xe5\x60\x34\x60\x3c" -+"\x60\xa7\x60\xf7\x61\x25\x61\x53\x61\xb4\x62\x1b\x62\x58\x62\x5b\x62\x8c\x62\xdb\x62\xe5\x62\xef\x63\x0a\x63\x55\x63\x5c\x63\xa5" -+"\x63\xad\x63\xd9\x63\xe6\x63\xed\x64\x09\x64\x5b\x65\x1b\x65\x5c\x65\xd6\x65\xdb\x66\x1d\x66\xa6\x66\xc1\x67\x0b\x67\x13\x67\x1a" -+"\x67\xa3\x68\x06\x68\x4f\x68\x75\x68\x7c\x68\x84\x68\x87\x68\x9e\x68\xa3\x69\x04\x69\x10\x69\x1c\x69\x7f\x6a\x2c\x6a\xae\x6a\xd4" -+"\x6b\x0a\x6b\x5f\x6b\xb2\x6c\x2c\x6c\xb4\x6c\xbc\x6c\xf2\x6c\xf9\x6d\x00\x6d\x19\x6d\x6c\x6d\x74\x6d\xaf\x6d\xb7\x6d\xbf\x6d\xd8" -+"\x6e\x13\x6e\x9f\x6e\xe5\x6f\x61\x6f\xdb\x70\x28\x70\xad\x70\xb9\x70\xda\x71\x39\x71\x4e\x71\x56\x71\x5d\x71\x64\x71\x7e\x71\x7f" -+"\x71\x81\x71\x89\x71\x91\x71\x97\x71\x99\x71\xb6\x72\x2d\x72\x8e\x73\x12\x73\x3d\x73\x69\x73\xb3\x73\xdb\x74\x02\x74\x42\x74\x9c" -+"\x75\x7e\x76\x25\x76\x66\x76\xd7\x77\x6b\x77\xca\x78\x73\x78\x9e\x78\xa0\x78\xc1\x78\xfe\x79\x23\x79\x70\x79\x73\x79\x98\x79\xd4" -+"\x7a\x08\x7a\x1e\x7a\x35\x7a\x46\x7a\x5c\x7a\xaa\x7b\x1c\x7b\x69\x7b\x7f\x7b\x81\x7b\xaa\x7b\xd3\x7c\x2c\x7c\x33\x7c\x3b\x7c\x8f" -+"\x7c\x91\x7c\x99\x7c\xa1\x7c\xa7\x7d\x82\x7d\xf2\x7d\xf4\x7d\xf6\x7e\x0d\x7e\x2b\x7e\x86\x7e\x9c\x7e\xfd\x7f\x2a\x7f\x5a\x7f\xaa" -+"\x7f\xbe\x7f\xf0\x80\x02\x80\x0e\x80\x40\x80\x5e\x80\xa6\x80\xab\x80\xb0\x81\x4a\x81\x5a\x81\x78\x81\x89\x81\x91\x82\x03\x0e\x0e" -+"\xf8\x63\xf8\xc0\x15\x8f\x97\x8d\x96\x8f\x1a\x9e\x7a\x99\x76\x6c\x78\x78\x64\x85\x1e\x58\xfb\xd4\x05\x8a\x86\x8b\x86\x88\x1a\x80" -+"\x95\x82\x96\x9b\x28\x1d\x4c\xfb\x22\x15\x65\x6a\x6d\x68\x71\x9f\x79\xa8\x1f\x97\x06\xb2\xac\xa9\xae\xa5\x77\x9d\x6d\x1f\x0e\xf7" -+"\xa2\xf8\xef\x15\x76\xfb\x90\x05\x80\x07\x78\x96\x7f\x9c\xa0\x97\x97\xa6\x95\x1e\xe5\xf7\x93\x05\xb2\x16\x77\xf7\x14\x1d\xf8\x6a" -+"\xf7\xf1\x15\xe2\x06\x53\x0a\x3a\x06\xc8\xf7\x66\x05\x8c\x91\x8c\x90\x8e\x28\x0a\x7c\x81\x82\x77\x85\x1e\x4d\xfb\x6c\x05\x3b\x06" -+"\xc8\xf7\x66\x05\x8e\x95\x8b\x8c\x8f\x1a\x96\x81\x94\x7f\x7c\x81\x82\x77\x85\x1e\x4d\xfb\x6c\x05\x3e\x32\x1d\xd2\x06\x6a\xfb\x05" -+"\x05\x36\x21\x1d\xdb\x06\x4e\xfb\x67\x05\x88\x81\x8b\x8b\x86\x1a\x80\x95\x82\x97\x9a\x96\x95\x9e\x90\x1e\xca\xf7\x6d\x05\xda\x06" -+"\x4f\xfb\x67\x05\x89\x84\x8a\x88\x87\x1a\x7f\x94\x82\x98\x9a\x95\x94\x9f\x91\x1e\xc9\xf7\x6d\x05\xda\x06\xa1\x34\x1d\x43\x06\x78" -+"\xf7\x05\x15\x6a\xfb\x05\x05\x3b\x06\xac\xf7\x05\x05\x0e\xf8\x23\xf8\xd3\x15\x2a\x7f\x3a\x3f\x3b\x1a\x6e\x97\x70\x9f\x7c\x1e\xa2" -+"\x7a\xa6\x81\xca\x7f\xcb\x7e\x9a\x87\x9d\x7e\x08\x99\x82\x94\x78\x79\x1a\x49\x40\x56\x30\x5e\x68\x95\x9f\x76\x1e\x7e\x97\x80\x98" -+"\x8e\x1a\x8d\xa9\x05\x91\x7f\x94\x82\x7b\x80\x81\x76\x87\x1e\x7a\x3e\x05\x8a\x86\x8a\x86\x88\x1a\x80\x95\x82\x97\x9b\x95\x95\x9f" -+"\x90\x1e\x8c\x90\x9d\x75\xbc\x76\xb1\x89\x19\x74\xfb\x03\x05\x8a\x87\x8a\x86\x88\x1a\x7f\x94\x82\x98\x9b\x28\x1d\xa3\xf7\x05\x05" -+"\xf7\x0a\x97\xdf\xd5\xe6\x1a\xa8\x7e\xa8\x77\x9b\x1e\x73\x9e\x72\x93\x44\x99\x51\x97\x7a\x90\x7a\x96\x08\x7e\x93\x83\x9c\x9c\x1a" -+"\xc4\xd1\xc2\xd5\xaa\xad\x81\x7c\x9e\x1e\x96\x83\x94\x7e\x85\x1a\x8a\x78\x05\x83\x96\x82\x95\x9c\x28\x1d\x98\xc5\x05\x8d\x95\x8b" -+"\x8b\x8e\x1a\x96\x82\x94\x7e\x7e\x80\x82\x7c\x86\x1e\x71\xa2\x75\x94\x64\x90\x95\xb7\x18\x8d\x92\x8b\x8e\x8e\x28\x0a\x7b\x80\x81" -+"\x75\x87\x1e\x0e\xf8\x30\xf7\x83\xf7\x23\x1d\x83\x60\x15\xb1\xa6\x71\x64\x58\x59\x5a\x58\x63\x70\xa5\xb2\xbf\xbc\xbb\xc1\x1f\x67" -+"\xf8\x32\xf7\x23\x1d\x82\x60\x15\xb2\xa6\x71\x64\x59\x59\x59\x58\x63\x70\xa5\xb2\xbf\xbc\xbb\xc0\x1f\xf7\x66\xfb\x76\x15\x9b\x8f" -+"\x93\x94\x97\x1a\x95\x84\x93\x82\x88\x87\x8a\x89\x85\x1e\xfc\x2a\xfb\x0d\x05\x7c\x87\x82\x82\x7e\x1a\x82\x93\x83\x93\x8e\x90\x8c" -+"\x8d\x91\x1e\x0e\xf8\x1a\x16\xc8\x23\x1d\x69\x06\x7b\xad\xa3\xa5\xa7\xb7\xa4\xbc\x19\x94\x2e\x0a\x5d\x06\x88\x84\x7a\x64\x71\x5f" -+"\x75\x6d\x19\x44\xf7\x39\x05\x7b\xb1\x84\xa4\x9b\x1a\xb8\xbb\xb8\xba\xa3\x98\x85\x76\x9e\x1e\xb2\x9d\x05\x9c\x93\x92\x94\x98\x1a" -+"\x96\x82\x95\x80\x86\x87\x8a\x86\x80\x1e\x83\x87\x05\x99\x76\x79\x90\x74\x1b\x3c\x3e\x44\x44\x76\x8e\x81\xa2\x53\x1f\x38\x72\x4f" -+"\x40\x3c\x1a\x41\xbe\x55\xd1\xb7\xb6\x9f\xb2\xaf\x1e\x77\xba\x15\x69\x6f\x67\x76\x6c\x1b\x5f\x6a\xaf\xbb\xc6\xb8\xc1\xc7\x99\x1f" -+"\x0e\xf7\xe0\xf8\xef\xc6\x0a\x0e\xf8\xcb\xf8\xef\x15\x7c\x79\x7a\x52\x5e\x1f\xfb\x05\xfb\x27\x5d\xfb\x04\xfb\x16\x1a\x5a\x90\x69" -+"\x99\x5a\x1e\x9b\x4f\x99\x68\x99\x73\x08\x84\x8f\x92\x87\x92\x1b\x9b\x9a\x99\x99\x8e\x8b\x8d\x87\x96\x1f\x72\xd4\x7e\xcf\xcb\x1a" -+"\xf7\x22\xc2\xf7\x19\xf7\x0e\xf7\x30\x1e\x96\x9a\x8c\x8c\x93\x1a\x97\x81\x94\x7f\x1e\x0e\xf7\xbc\xf8\xef\x15\x7b\x7c\x7d\x7d\x87" -+"\x8c\x89\x8e\x81\x1f\xa3\x4d\x9a\x3b\x4c\x1a\xfb\x21\x53\xfb\x1e\xfb\x0d\xfb\x2c\x1e\x80\x7c\x8a\x8a\x83\x1a\x7f\x95\x82\x97\x9a" -+"\x9d\x9c\xc4\xb8\x1e\xf7\x05\xf7\x26\xb9\xf7\x05\xf7\x15\x1a\xdc\x70\xf7\x00\x66\xca\x1e\x92\x87\x84\x8f\x84\x1b\x0e\xf8\x05\xf8" -+"\x4e\x15\xfb\x0a\xb2\x05\x8d\x83\x88\x8c\x87\x1b\x7b\x7d\x7d\x7c\x7f\x90\x86\x9a\x87\x1f\xf7\x08\x64\x28\x23\x05\x7f\x7f\x89\x87" -+"\x82\x1a\x7f\x94\x82\x98\x94\x93\x8f\x96\x95\x1e\xef\xf4\xc2\x23\x05\x7f\x91\x90\x87\x95\x1b\x9b\x9a\x99\x99\x8f\x89\x92\x88\x91" -+"\x1f\x55\xf3\xf7\x1c\xb3\x05\xa0\x91\x94\x94\x9a\x1a\x96\x82\x95\x80\x87\x83\x8a\x89\x85\x1e\xfb\x19\x63\xa6\xf7\x13\x05\x8c\x91" -+"\x8c\x8f\x8f\x6f\x1d\x81\x76\x87\x1e\x0e\xf8\x10\xf7\x94\x15\xf7\x44\x23\x1d\xfb\x42\x06\xb4\xf7\x52\x05\x8d\x94\xf7\x13\x0a\x78" -+"\x87\x1e\x61\xfb\x55\x05\xfb\x44\x21\x1d\xf7\x42\x06\x61\xfb\x53\x8a\x7e\x05\x80\x95\x82\x97\x9b\x95\x95\x9f\x90\x1e\x0e\xe7\x1d" -+"\xc4\x0a\xf7\xd3\xf7\x10\xf7\x0c\x1d\xf9\x01\xf9\x03\x15\x93\x96\x8d\x8f\x91\x1a\x97\x81\x94\x7f\x7f\x84\x86\x7d\x80\x1e\xfc\x70" -+"\xfd\x3f\x05\x85\x82\x88\x84\x86\x1a\x7f\x95\x82\x97\x97\x92\x90\x99\x95\x1e\x0e\xf8\xcb\xf7\xf1\x15\x91\xa9\x8f\xaa\xa7\x1a\xf7" -+"\x04\x55\xcd\x2f\xfb\x06\x26\x20\xfb\x32\x69\x1e\x76\x29\x05\x84\x6d\x88\x6d\x6e\x1a\xfb\x05\xc1\x49\xe7\xf7\x06\xef\xf6\xf7\x32" -+"\xae\x1e\xfb\xce\xe8\x15\x99\xc9\xab\xcd\xb2\xb7\x08\xac\xa8\xaf\x9c\xb3\x1b\xce\xac\x5c\x2b\x71\x88\x70\x86\x73\x1f\x78\x34\x7e" -+"\x4d\x6a\x49\x64\x5f\x19\x6a\x6f\x67\x7a\x63\x1b\x48\x6a\xbb\xeb\xa7\x8d\xa4\x90\xa2\x1f\x0e\xf8\x5f\xf8\xf9\x15\xfb\x62\x4f\x05" -+"\x76\x85\x82\x82\x7c\x1a\x80\x94\x81\x96\x8d\x95\x8d\x8c\x8f\x1e\xf7\x19\xb1\x20\xfc\x80\x05\xfb\x1b\x33\x1d\xf7\xd4\x06\xa1\x9a" -+"\x38\x1d\xfb\x19\x06\x0e\xf7\x25\xbe\x15\xf5\xd7\xf7\x61\xf7\x35\xb6\xb4\x08\xc4\xc1\xa0\xb2\xbf\x1a\xd9\x45\xcb\x38\x4a\x4c\x70" -+"\x5a\x5a\x1e\x6f\x6f\x76\x6a\x7a\x1a\x81\x95\x82\x97\x97\x94\x92\x9a\x93\x1e\xc5\xa8\xd0\xb5\xcd\x1b\xc9\xbd\x5f\x55\x55\x75\x70" -+"\xfb\x13\x27\x1f\x20\x35\x3d\x50\x32\x49\x81\x84\x18\x7c\x47\x05\xf8\x29\x06\x9c\xda\x05\x8d\x95\xf7\x0a\x0a\x87\x1e\x84\x6c\x05" -+"\x0e\xf7\xf5\xf7\xf9\x15\x76\x7c\x7f\x7a\x7c\x94\x85\x9f\x8a\x1f\xdd\xcb\x5a\x4d\x39\x2d\x3e\x26\x53\x5c\x9c\xaf\x62\x1f\x91\x84" -+"\x86\x8d\x84\x1b\x7c\x7d\x7d\x7c\x7e\x97\x7e\xa7\x7b\x1f\x6f\xba\xb7\x7e\xbe\x1b\xf7\x18\xf7\x11\xf3\xf7\x01\xc2\x6c\xb8\x54\xa7" -+"\x1f\xd8\xab\xbd\xca\xce\x1a\xd7\x4e\xbf\x30\x4f\x4d\x76\x68\x5c\x1e\x74\x79\x82\x80\x80\x1a\x7e\x94\x83\x98\x94\x8f\x8d\x98\x99" -+"\x1e\xac\xb0\xbd\x9d\xc3\x1b\xcb\xb7\x68\x59\x48\x46\x52\x3a\x1f\x0e\xf8\x29\xf7\x3a\x15\x72\xfb\x07\x05\x43\x29\x1d\xf7\x2a\x06" -+"\xa1\x9a\x38\x1d\x70\x06\xa4\xf7\x07\x05\xa8\x06\xa2\x99\x96\x9e\x9a\x83\x91\x77\x1f\x70\x06\xde\xf8\x16\x05\x2e\x06\xfb\xcc\xfc" -+"\x13\x7f\x55\x05\xf7\xae\xbe\x15\xfb\x6d\x06\xf7\xa7\xf7\xe3\x05\x99\x06\x0e\xf7\xcf\xf8\xbc\x15\xf7\x81\x57\x0a\xfb\xb3\x06\x51" -+"\xfb\xa0\x05\x8a\x88\x8b\x88\x88\x1a\x80\x8c\x93\x83\x96\x1b\x92\x90\x8d\x91\x9a\x1f\xa0\xb8\xb8\x96\xb3\x1b\xce\xb4\x63\x4a\x65" -+"\x7d\x60\x72\x66\x1f\x52\x65\x51\x6c\x49\x1b\x52\x5e\xa0\xb7\x63\x1f\x93\x84\x86\x8d\x84\x1b\x7c\x7c\x7d\x7c\x7c\x9e\x77\xae\x73" -+"\x1f\x72\xb1\xb7\x7e\xbb\x1b\xf7\x20\xf7\x0d\xf7\x0f\xf7\x23\xe4\x50\xc5\x32\x62\x66\x83\x78\x57\x1f\x0e\xf7\x81\xf7\x9b\x15\x95" -+"\xc3\x9e\xbf\xa8\xb5\x08\xe3\xc5\xf6\xcb\xe3\x1b\x9d\x9a\x88\x87\x93\x1f\x86\x94\x8f\x8a\x91\x1b\x9a\x99\x99\x9a\x9e\x69\x9b\x60" -+"\x39\x32\x65\x48\x42\x1f\x35\x3d\x58\xfb\x10\xfb\x15\x1a\xfb\x0b\xc7\x3f\xea\xf7\x07\xf7\x01\xf7\x06\xf7\x0d\xe1\x52\xc8\x3b\x48" -+"\x4a\x66\x48\x57\x1e\x82\x40\x15\xae\xb7\x96\x98\x9e\x9c\x08\xae\xb3\xb5\x9e\xb1\x1b\xc0\xb3\x5f\x50\x30\x3c\x35\x38\x40\x67\xbb" -+"\xf3\x86\x1f\x0e\xf8\xb8\xf8\xb1\x15\xfb\xa1\xfc\x8a\x05\x87\x82\x89\x86\x85\x1a\x80\x94\x82\x97\x98\x93\x91\x9c\x95\x1e\xf7\xa5" -+"\xf8\x92\x9a\xd2\x05\xfc\x14\x06\x7a\x3c\x05\x8a\x85\x6c\x1d\x9c\x95\x95\xa0\x8f\x1e\x92\xaa\x05\xf7\xac\x06\x0e\xf8\x5a\xf7\xcc" -+"\x15\xde\xb1\xb8\xc6\xd1\x1a\xda\x4c\xc5\x34\xfb\x04\xfb\x01\x2b\x28\x5d\xa1\x68\xb9\x70\x1e\x33\x64\x56\x47\x3f\x1a\x36\xcd\x4f" -+"\xe8\xf7\x0b\xf7\x06\xf1\xf5\xbd\x71\xb4\x59\xa7\x1e\x6c\xf7\x91\x15\xc9\xb7\x64\x55\x42\x42\x4d\x36\x4d\x5d\xb0\xbe\xd3\xd9\xcf" -+"\xdd\x1f\x4f\xfb\xaa\x15\xce\xba\x63\x51\x3b\x39\x42\x31\x49\x5b\xb5\xc5\xdc\xda\xd1\xe8\x1f\x0e\xf8\xad\xf7\xe6\x15\x81\x53\x77" -+"\x57\x6f\x61\x08\x33\x51\x20\x4b\x33\x1b\x79\x7c\x8e\x90\x83\x1f\x90\x82\x87\x8c\x85\x1b\x7b\x7e\x7d\x7c\x77\xad\x7b\xb6\xde\xe3" -+"\xb1\xcd\xd4\x1f\xe1\xda\xbe\xf7\x10\xf7\x15\x1a\xf7\x0b\x4f\xd7\x2d\xfb\x08\xfb\x01\xfb\x06\xfb\x0d\x35\xc4\x4e\xdb\xce\xcc\xb0" -+"\xce\xbf\x1e\x94\xd6\x15\x6a\x62\x7c\x7a\x7a\x7b\x08\x68\x63\x60\x78\x65\x1b\x57\x63\xb7\xc6\xe6\xda\xe1\xde\xb3\xac\x7a\x6e\x9c" -+"\x1f\x9b\x71\x95\x62\x64\x1a\x0e\xf7\xd3\xf7\x10\xf7\x30\x1d\xb8\xab\x72\xa2\x66\x1f\xc0\xf7\xba\x97\x1d\xaf\x1f\x96\x06\xbb\xb5" -+"\xb2\xb7\xad\x72\xa1\x66\x1f\x0e\xf7\x83\xf7\x2d\xc6\x0a\x70\xf7\x9d\xf7\x30\x1d\xb7\xac\x72\xa2\x66\x1f\x0e\xc7\xf7\xad\x15\xf8" -+"\x3e\xfb\x7d\x05\x88\x90\x91\x8a\x90\x1b\x93\x93\x90\x92\x8f\x1f\x8d\x8e\x05\x8d\x8f\xf7\x1c\x1d\x96\x91\x90\x92\x94\x1a\x8f\x8a" -+"\x8f\x88\x8f\x1e\x8a\x8e\x05\x93\x86\x83\x90\x83\x1b\x87\x86\x89\x88\x85\x1f\x0e\xf8\xe5\xf7\xdb\x15\x53\x0a\xfc\x50\x21\x1d\xf8" -+"\x32\xfb\x21\x15\xa2\x99\x96\x9e\x3c\x0a\xfc\x50\x29\x1d\x0e\xf8\xaa\xf7\xad\x15\xfc\x3f\xf7\x7d\x05\x8e\x84\x87\x8d\x87\x1b\x82" -+"\x84\x86\x83\x86\x1f\x8a\x88\x05\x88\x87\x8a\x87\x87\x1a\x82\x90\x84\x96\x85\x1e\xf7\xee\xfb\x50\xfb\xee\xfb\x50\x05\x80\x85\x86" -+"\x84\x82\x1a\x88\x8d\x86\x8d\x87\x1e\x8c\x88\x05\x84\x8f\x94\x86\x92\x1b\x91\x90\x8c\x8e\x91\x1f\x0e\xf8\x10\xf7\x88\x15\xcd\xa6" -+"\xb2\xa0\xac\xa5\x08\xb6\xac\xa5\xbd\xbd\x1a\xd9\x51\xba\x2b\x51\x75\x86\x64\x29\x1e\x7f\x86\x7c\x46\x05\x89\x85\x8b\x88\x73\x0a" -+"\x93\xb1\x05\xa3\xc3\xab\x92\xb8\x1b\xd1\xb7\x6a\x57\x4c\x56\x5f\xfb\x25\x54\x1f\x7c\x45\x05\x8a\x87\x8a\x86\x87\x63\x1d\x49\xfb" -+"\x04\x15\x62\x6a\x6e\x67\x70\x9f\x7a\xab\x1f\xa7\x06\xb4\xac\xa8\xaf\xa6\x77\x9c\x6a\x1f\x0e\xf8\x4e\xf7\x22\x15\xb3\x06\xa2\x99" -+"\x96\x9e\x95\x87\x91\x81\x8e\x1f\xc5\xf7\x9f\x05\x8d\x97\x8d\x99\x95\x1a\xd8\x56\xbe\x3a\xfb\x07\xfb\x00\xfb\x02\xfb\x2c\x6a\x1e" -+"\x69\xfb\x33\x05\x85\x71\x88\x71\x71\x1a\x59\x9a\x58\xa4\x6a\x1e\x69\xa4\xb0\x7b\xbd\x1b\xde\xe1\xaf\xae\x96\x82\x94\x7e\x85\x86" -+"\x89\x87\x86\x1f\x73\x6a\x68\x80\x5a\x1b\x69\x70\x95\x9d\x7b\x1f\x75\xa3\x7d\xb9\xb9\x1a\xa2\x8d\xa0\x90\xa1\x1e\xad\xf7\x30\x05" -+"\xf7\x13\xa6\xdd\xe4\xe3\x1b\xc3\xac\x6b\x55\x83\x8a\x82\x89\x83\x1f\x82\x62\x05\xfb\x06\x8a\x2b\x3c\x2c\x1a\x51\xbc\x61\xce\x96" -+"\x96\x8c\x8c\x98\x1e\x96\xbf\x15\x89\x7e\x83\x8a\x7f\x1b\x5d\x6d\xa2\xaf\xc8\xce\xbf\xdb\x8d\x1f\x0e\x29\x0a\x0e\xf7\x15\xbe\x15" -+"\x59\x20\x1d\xf7\xc7\x06\xf4\xf0\xe4\xe8\xbf\x6c\xb1\x4e\xa4\x1f\xd2\xb0\xae\xba\xc7\x1a\xd4\x4f\xbc\xe6\x1d\x6c\x6f\x76\xb3\x0a" -+"\xf8\xdc\xf8\x96\x15\x4e\x0a\xfb\x0c\xe8\x2e\xf7\x0d\xd2\xd4\xa8\xc1\xcb\x1e\xa7\xa3\x93\x95\x98\x95\x0a\x0e\xb4\x1d\x0e\x2d\x1d" -+"\x0e\xf7\x78\xf7\x9e\x15\xf7\x1a\x06\x83\x65\x05\x8a\x87\x8a\x86\x89\x1a\x7f\xf7\x34\x1d\xa7\xf7\x15\x05\x8d\x94\x8b\x8b\x8e\x1a" -+"\x97\xf7\x18\x0a\x87\x1e\x82\x63\x05\xfb\x1a\xd7\x1d\x3f\x0a\x59\x24\x0a\x78\x7d\x25\x1d\xf7\x7e\x23\x1d\xfb\x18\x06\x0e\x45\x1d" -+"\x0e\x86\x0a\x0e\x3b\x1d\x0e\xb9\x1d\x0e\x87\x0a\x0e\x40\x0a\x0e\xf8\x01\xf7\x3a\x15\xf7\x7a\xf7\xec\x28\xfc\x5f\x05\x45\x20\x1d" -+"\xf7\x29\x06\x5c\x0a\x77\x1f\x70\x06\x36\x0a\xa0\x2e\x0a\x25\x06\xfb\x74\xfb\xe2\x3b\xf7\xe2\x05\x23\x20\x1d\x9e\x58\x1d\x9a\x82" -+"\x91\x77\x1f\x47\x06\xee\xf8\x5f\xdf\xfb\xec\x05\x0e\xf8\x8e\x9a\x0a\x9a\x82\x91\xf6\x0a\x31\x0a\x0e\xf7\x6f\xf7\x76\x93\x1d\xf7" -+"\x00\xda\x47\xc3\x2c\x1f\xfb\x84\x64\x0a\xa1\x9a\x97\x9d\x9a\x82\x91\xf7\x00\x1d\xf7\xc3\x7b\x15\xf7\x3d\x94\xf7\x2a\xf7\x40\xf7" -+"\x4f\x1a\xf7\x18\x3a\xe6\xfb\x0a\xfb\x3c\xfb\x32\xfb\x46\xfb\x51\x47\xa5\x48\xb4\x64\x1e\x9e\x78\x9c\x82\xac\x7f\x2e\x52\x18\x7f" -+"\x83\x85\x82\x81\x1a\x7e\x94\x82\x97\x8f\x8e\x8c\x8c\x90\x1e\x97\xb7\xd1\x96\xa9\x1b\xa4\x98\x88\x81\xa4\x1f\x80\xa8\x94\x89\x9c" -+"\x1b\xa6\xad\x96\x9d\xad\x1f\x9f\x96\x91\x93\x98\x1a\x97\x82\x94\x7f\x85\x87\x8a\x87\x85\x1e\x77\x68\x7a\x85\x77\x1b\x7f\x84\x8d" -+"\x93\x75\x1f\x97\x6e\x76\x8f\x6c\x1b\x7c\x82\x8a\x88\x78\x1f\xf7\x2d\xf8\xc8\x15\xe3\xcb\x3e\x23\xfb\x2d\xfb\x17\xfb\x2f\xfb\x15" -+"\x2c\x4b\xd4\xf7\x00\xf7\x32\xf7\x16\xf7\x2a\xf7\x1d\x1f\x0e\x4b\x0a\x0e\x49\x0a\x0e\x5f\x0a\x0e\x2e\x1d\x0e\xf7\x9b\x16\xcb\x06" -+"\xf7\xd4\xf8\x94\x05\xa7\xf7\x1e\x0a\xfb\x2a\x24\x0a\x78\x7c\x93\x85\x9f\x1f\xd0\x06\xfb\xb2\xfc\x5c\x3b\xf8\x5c\x05\xd1\xf7\x1e" -+"\x0a\xfb\x2b\x26\x0a\xa5\x06\x0e\xf7\x08\xf7\x0a\x1d\x9c\x9b\x83\x91\x77\x1f\xfb\x2a\x37\x1d\x25\x1d\xe3\x06\xfb\x27\xfc\x46\x73" -+"\xf7\xfe\x05\x45\x06\xfb\x4c\xfb\xfe\xb5\xf8\x46\x05\xe3\x27\x1d\xfb\x29\x24\x0a\x79\x7c\x25\x1d\x94\x06\x0e\xf8\x1d\xf7\xb3\x15" -+"\xf7\x74\xf7\x75\x05\x98\x06\x5c\x0a\x77\x1f\xfb\x03\x4a\x1d\x9f\x1f\xab\x06\xfb\x4a\xfb\x4b\x23\xf7\x4b\x05\xac\x06\xa2\x6f\x0a" -+"\x79\x7c\xf7\x17\x1d\x79\x7c\x2a\x0a\xf7\x16\x06\x5c\x0a\xf7\x32\x1d\x74\x7d\x39\x1d\xf7\x17\x23\x1d\x7d\x06\x0e\x47\x1d\x0e\xf8" -+"\x89\x16\xb3\xf7\x4b\x05\x8d\x95\x8b\x8b\x8e\x7c\x0a\xcd\x1d\xf8\x51\xf8\xbc\x15\xe8\x06\xa2\x99\x96\x9e\x9a\x82\x91\x77\x1f\xfb" -+"\x22\x06\xfb\x31\xfd\x69\x05\xf7\x25\x2e\x0a\x31\x06\x0e\xf7\xbe\xf9\x18\x15\x9b\x87\x85\x90\x7e\x1b\x7b\x7d\x7d\x7c\x88\x8b\x89" -+"\x8d\x85\x1f\xf7\x48\xfd\x3f\x05\x7c\x8f\x91\x85\x98\x1b\x9a\x9a\x99\x9a\x8e\x8b\x8b\x89\x94\x1f\x0e\xf7\x95\x44\x15\x2e\x24\x0a" -+"\x78\x7c\x94\x85\x9f\x1f\xf7\x22\x06\xf7\x31\xf9\x69\x05\xfb\x25\x06\x75\x7c\x7f\x79\x7c\x93\x85\xa0\x1f\xe5\x06\x0e\xf7\xc0\xf8" -+"\xfc\x15\xfb\x4a\xfb\x73\x05\x83\x82\x89\x86\x84\x1a\x7d\x96\x80\x9a\x94\x91\x8f\x96\x94\x1e\xf7\x22\xf7\x43\xf7\x23\xfb\x43\x05" -+"\x80\x93\x92\x87\x94\x1b\x9a\x96\x96\x99\x92\x89\x8f\x83\x95\x1f\x0e\xf8\xdd\xfb\x08\xd0\x0a\xf8\x9c\xf8\xec\x15\xfb\x25\x06\xeb" -+"\xfb\x80\x05\x79\x93\x94\x83\x99\x1b\xa2\x9e\x9d\xa1\x1f\x92\x07\x0e\x37\x0a\x0e\xf7\xab\xf8\xef\x15\x89\x1d\xfb\x00\xfc\x89\x05" -+"\x59\x20\x1d\xef\x06\x9b\xd6\x05\x4e\xad\xbf\x6d\xd0\x1b\xf7\x23\xf7\x1a\xf7\x18\xf7\x22\xf2\x40\xd3\x21\x46\x48\x6c\x51\x52\x1f" -+"\xf7\x4c\xb1\x15\xd9\xc6\x52\x3f\xfb\x01\x22\x22\xfb\x01\x38\x51\xc2\xda\xf7\x03\xf3\xf1\xf7\x06\x1f\x0e\x46\x1d\x0e\xb4\x0a\x27" -+"\xd7\x41\xd2\x0a\xfb\x2b\xf7\xdf\x15\xdd\xc3\x54\x3a\x20\x22\x23\xfb\x00\x36\x53\xc1\xdc\xf7\x03\xf2\xf0\xf7\x05\x1f\x0e\x30\x1d" -+"\x0e\xf7\xf8\xf8\x04\x15\xf7\x4d\x2e\x0a\xfb\x4a\x06\x96\xc1\x05\xba\x95\xbe\xab\xcb\x1b\xaf\xaa\x88\x83\xc1\x1f\x8a\x93\x8e\x8b" -+"\x8e\x1b\x9c\x99\x98\x9c\x95\x85\x92\x7f\x8e\x1f\x91\x6c\x47\x92\x64\x1b\x2e\x3e\x56\x40\x7b\x1f\x7f\x53\x05\x37\x26\x0a\xdc\x25" -+"\x0a\x2d\x26\x0a\xf7\xd0\x23\x1d\xfb\x3f\x06\x0e\xe9\x1d\x82\x4f\x44\x51\x4c\xa1\x0a\x0e\xa8\x1d\x0e\x3c\x1d\xf7\x0e\xf8\xcf\x77" -+"\x0a\xf8\x7f\x9e\x0a\xac\x1d\x0e\x41\x0a\x0e\xf7\x64\xf8\x37\x15\x3a\x4f\x1d\x9e\x1f\xa7\x25\x0a\x6d\x21\x1d\xf7\x00\x2a\x1d\x70" -+"\x06\xc2\xf7\x92\x05\xc1\xbb\xaf\xa2\xad\x1b\xa4\x9f\x74\x6e\x87\x8a\x86\x8a\x86\x1f\x47\xfb\xd0\x05\xdb\x06\xa2\x99\x97\x9d\x99" -+"\x83\x92\x77\x1f\x70\x06\xc2\xf7\x92\x05\xc2\xbb\xad\xa1\xae\x1b\x98\x95\x88\x84\x91\x1f\x97\x7f\x92\x7b\x8a\x7e\x08\x89\x8a\x87" -+"\x8a\x85\x1e\x46\xfb\xd3\x05\xdb\x06\xa1\x9a\x97\x9d\x99\x83\x92\x77\x1f\x70\x06\xc5\xf7\xa1\x05\x8d\x93\x8c\x95\x91\x1a\xbf\x66" -+"\xb0\x56\x62\x66\x78\x5e\x5c\x1e\xb6\x7c\x70\xa0\x60\x1b\x64\x6a\x7b\x66\x65\x1f\x0e\x4a\x0a\x0e\x38\x0a\x0e\xf7\x84\xf8\x37\x15" -+"\x25\x26\x0a\xba\x06\xfb\x00\xfc\x87\xaa\x0a\x43\xce\xfb\x03\x41\x56\x74\x4f\x4b\xe9\x0a\xd7\xf0\xf1\xe8\xf7\x03\x1f\x0e\xf8\xa7" -+"\xf7\xf1\x15\xc5\x68\x5b\xa5\x42\x1b\x3d\x47\x6e\x52\x53\x1f\x5d\x5c\x70\x4c\x52\x1a\x26\xd5\x46\xf7\x02\xd4\xc6\xa4\xc4\xc6\x1e" -+"\x5a\xfb\x73\x05\x2e\x06\x74\x7c\x39\x1d\xf7\x55\x06\xa2\x99\x97\x9d\x9a\x82\x91\x78\x1f\x5b\x06\xf7\x01\xf8\x87\x05\xbd\x2e\x0a" -+"\x28\x06\xfb\x48\x66\x15\xdf\xc4\x57\x3f\x28\x24\x2d\xfb\x00\x35\x52\xbe\xd7\xf1\xf1\xe7\xf7\x03\x1f\x0e\x53\x1d\x0e\xf4\x85\x1d" -+"\xf7\x16\xf0\xd0\xe4\xa4\x7d\xa7\x76\x9b\x1f\x76\x1d\x3f\x53\x6b\x0a\x81\x94\x7f\x7a\x81\x81\x76\x86\x1e\x0e\x5e\x0a\x0e\xf8\x45" -+"\x16\xdd\x06\xa1\xb6\x1d\xca\xa3\xbc\xcb\x1f\x0e\xf7\xe7\x16\xf7\x8a\xf8\x04\x05\xb1\x27\x1d\xfb\x2c\x20\x1d\xc6\x06\xfb\x68\xfb" -+"\xd1\x05\x7f\x06\x3f\xf7\xd1\x05\xc6\x27\x1d\xfb\x2c\x26\x0a\xaf\x06\xe4\xfc\x04\x05\x0e\x4d\x0a\x0e\xf8\x13\xf7\x6e\x15\x99\x0a" -+"\x79\x7c\x25\x1d\xf7\x19\x23\x1d\x57\x06\xf7\x40\xf7\x19\xf7\x04\xfb\x19\x05\x56\xd4\x0a\x84\x06\x0e\x52\x1d\x0e\xb8\x0a\xfc\x00" -+"\xfb\xd8\x81\x5f\x05\xf8\x15\x06\xa1\xee\x05\x8d\x94\x8b\x8b\x8e\x1a\x97\xd7\x0a\x0e\xf8\x46\xf8\x81\x15\x92\xab\xa4\xa2\xab\x8f" -+"\x08\xa4\x8e\x96\x94\x9d\x1a\x98\x82\x93\x7b\x51\x54\x5c\x4e\x7e\x1e\x66\xfb\x3d\x83\x69\x70\x73\x69\x8a\x19\x75\x89\x7f\x80\x79" -+"\x1a\x7d\x92\x85\x9d\x89\x1e\xa7\x89\x9a\x7c\x71\x1a\x87\x8a\x86\x8a\x86\x1e\x67\xfb\x3d\x05\x89\x83\x8a\x83\x82\x1a\x5a\xae\x67" -+"\xbb\x9f\x9a\x97\x9c\x9a\x85\x8f\x76\x8e\x1e\x74\x8d\x7d\x9b\x8a\xa3\x08\x90\x8b\x90\x8c\x90\x1e\xb0\xf7\x3d\x05\x8d\x96\x8c\x94" -+"\x96\x1a\xa0\x84\x9b\x79\x9c\x1e\xac\x9f\x9c\xa4\x93\xb1\x08\x0e\xf7\xda\xf9\xcd\x15\x58\xfe\xc7\xbe\x06\x0e\xf7\xa2\x7f\x15\x84" -+"\x6b\x72\x74\x6a\x87\x08\x73\x88\x80\x82\x79\x1a\x7e\x94\x83\x9b\xc5\xc2\xba\xc8\x98\x1e\xb0\xf7\x3d\x92\xad\xa7\xa3\xad\x8d\x19" -+"\xa1\x8c\x97\x96\x9d\x1a\x99\x84\x91\x78\x8d\x1e\x6f\x8d\x7a\x9c\x8d\xa3\x08\x8f\x8c\x8f\x8c\x91\x1e\xb0\xf7\x3d\x05\x8d\x94\x8c" -+"\x94\x93\x1a\xbb\x68\xaf\x5b\x77\x7c\x7f\x7a\x7c\x91\x87\xa0\x88\x1e\xa2\x89\x9a\x7a\x74\x1a\x85\x8b\x87\x8a\x86\x1e\x66\xfb\x3d" -+"\x05\x88\x80\x8a\x80\x82\x1a\x76\x92\x7c\x9e\x79\x1e\x6a\x77\x7a\x72\x82\x65\x08\x0e\xf8\x7d\xf7\xe2\xf7\x38\x1d\x89\x8c\xb3\x57" -+"\x1f\xb7\x53\x7c\xf7\x0c\x0a\x7d\x72\x0a\xc1\xb7\x94\x7b\x0a\x56\xcb\xa1\x7f\xac\x1b\xac\xa9\x9d\xb5\xaf\x1f\x9e\xa0\x92\x97\x9d" -+"\x1d\x0e\xf7\x72\xfb\x2b\x15\x88\x7f\x89\x81\x85\x1a\x78\x9b\x7d\xa0\xab\x9d\x9e\xb3\x91\x1e\xbe\xf7\xd4\x05\x8c\x91\x8c\x90\x8d" -+"\x1a\x96\x82\x94\x7f\x7b\x81\x82\x75\x85\x1e\xcb\xf7\x22\x15\xb1\xac\xa9\xad\xa5\x77\x9d\x6d\x1f\x7f\x06\x65\x6a\x6d\x69\x71\xa0" -+"\x79\xa8\x1f\x0e\xf8\x11\xf8\x84\x15\x51\x7e\x69\x7c\x67\x6d\x08\x57\x60\x6c\x4c\x50\x1a\x3d\xc0\x4f\xd9\x81\x1e\x74\x22\x05\x89" -+"\x82\x8b\x8b\x87\x1a\x80\x95\x82\x97\x9c\x28\x1d\xa2\xf5\xb1\x8e\xb8\x98\xb4\x9f\x19\xa7\x99\x97\x97\x9a\x1a\x97\x83\x93\x7e\x84" -+"\x87\x8a\x83\x80\x1e\x71\x64\x5c\x7d\x5d\x1b\x43\x5c\xb6\xcc\xe7\xe0\xd8\xf0\xa9\xa4\x85\x7e\x9c\x1f\x96\x83\x96\x7b\x82\x1a\x8a" -+"\x75\x05\x82\x95\x82\x96\x9c\x28\x1d\x98\xc7\x8c\x94\x05\x98\x8c\x82\x94\x7d\x1b\x81\x83\x87\x82\x84\x1f\x78\x9c\x66\x99\x6a\x8c" -+"\xa1\xec\x18\x8d\x94\xf7\x0a\x0a\x86\x1e\x0e\xf7\x61\xbe\x15\xbe\xbe\xb1\xe4\x8f\xd7\x08\xdf\x57\x0a\x2d\x06\x93\x8b\x8b\x8a\x99" -+"\x1e\x88\xac\x8b\x8f\x9b\x1a\xb4\x94\xa5\xa4\xa5\x1e\xa4\xa3\xab\x9a\xaa\x1b\xac\xa2\x7d\x6c\x9e\x1f\x80\x91\x91\x87\x92\x1b\x9b" -+"\x9a\x99\x99\x96\x82\x9c\x7c\x9a\x1f\xa6\x73\x6c\x98\x64\x1b\x5e\x5f\x78\x67\x67\x1f\x65\x66\x7a\x61\x55\x1a\x78\x8c\x7a\x8e\x68" -+"\x1e\x33\x26\x0a\xed\x06\x84\x26\x46\xfb\x06\x55\x89\x08\x79\x7d\x7f\x7b\x7c\x25\x1d\xf7\xd8\x06\xa9\xa9\x9a\xa6\xa1\x1f\x9b\x9e" -+"\x97\xa6\x9a\x1a\x96\x82\x94\x7e\x7c\x82\x83\x79\x85\x1e\x6e\x81\x78\x7a\x74\x1b\x0e\xab\x0a\xf8\x0c\xf7\x7d\x15\xf7\x13\x06\x9f" -+"\x96\x95\xa0\x96\x83\x90\x7c\x1f\x21\x06\xf7\x63\xf7\x7c\x05\xa0\x06\xa2\x6f\x0a\x79\x7c\x2a\x0a\xa6\x06\xfb\x4e\xfb\x64\x2b\xf7" -+"\x64\x05\xaa\x06\xa1\x6f\x0a\x78\x7d\x25\x1d\xa0\x06\xf5\xfb\x7c\x05\xfb\x00\x06\x77\x80\x81\x77\x7f\x93\x86\x9b\x1f\xf7\x0f\x06" -+"\x81\x5b\x05\xfb\x12\x06\x76\x80\x81\x77\x80\x93\x85\x9b\x1f\xf7\x10\x06\x78\x34\x05\x39\x21\x1d\xf7\x6a\x30\x0a\x3c\x06\x9e\xe2" -+"\x05\xf7\x12\x06\xa0\x96\x96\x9f\x95\x83\x91\x7b\x1f\xfb\x10\x06\x0e\xf8\x2c\xf8\x0e\x15\x9c\xd9\x05\xcc\x99\xc1\xb7\xcd\x1b\x9b" -+"\x99\x89\x85\x9b\x1f\x89\x93\x8f\x8a\x8e\x1b\x9a\x99\x99\x9b\x93\x87\x91\x82\x8f\x1f\x94\x78\x6f\x90\x71\x1b\x34\x37\x46\x33\x78" -+"\x1f\x7a\x3a\x05\x2f\x20\x1d\xe5\x06\x53\xfb\x96\x05\x4b\x7d\x57\x5e\x4f\x1b\x80\x7b\x8d\x8d\x84\x1f\x93\x73\x89\x8b\x85\x1b\x7d" -+"\x7d\x7d\x7c\x78\xb0\x7c\xbb\xe0\xdc\xce\xe0\x9e\x1f\xc5\xf7\x9e\x05\xe7\x06\xa2\x99\x97\x9d\x35\x1d\x0e\xf9\x0a\xf8\xef\x15\xfb" -+"\x6e\x06\x39\x3c\x47\x44\x84\x8c\x87\x8d\x81\x1f\x67\x85\x78\x85\x76\x7c\x08\x70\x79\x7a\x6f\x71\x1a\x5e\xae\x62\xdb\x59\x1e\xc4" -+"\x67\x05\xd4\x5e\xaa\x6c\x70\x1a\x61\x5a\x65\x54\x1e\xfb\x33\x06\x98\xca\x05\x8c\x8f\x8c\x90\x8d\x1a\x96\x82\x93\x7e\x7b\x80\x81" -+"\x79\x87\x1e\x72\xfb\x07\x05\xf7\x6a\x06\xe4\xd7\xcb\xd7\x92\x8a\x90\x89\x94\x1f\xb2\x90\x9f\x92\xa1\x9d\x08\xa5\x9f\x98\xa4\xa7" -+"\x1a\xb8\x6c\xaf\x3f\xba\x1e\x59\xa9\x05\x2f\xc3\x6f\xa5\xa7\x1a\xb4\xbe\xb4\xbf\x1e\xf7\x35\x06\x7e\x4d\x05\x8a\x88\x8b\x88\x87" -+"\x1a\x80\x95\x82\x97\x9a\x97\x95\x9d\x8f\x1e\xfb\x38\xfb\x5f\x15\xbd\x6c\xac\x67\x71\x1a\x72\x6c\x7a\x5c\x89\x1e\x81\x06\x89\x8a" -+"\x8b\x8a\x87\x1f\x7c\x9c\x72\x9e\x5b\xa8\x55\xae\x18\x48\xb4\x6a\xad\xa4\x1a\xa5\xae\x9f\xb8\x1e\x92\x06\x8e\x8c\x8b\x8c\x90\x1f" -+"\xa2\x72\x9e\x7d\xc6\x67\x08\x0e\xf7\x7d\xf7\x31\x15\x73\xaa\xa4\x82\xb0\x1b\xb2\xa8\x94\xa3\xb4\x1f\xb3\x58\x05\x81\x93\x90\x88" -+"\x93\x1b\x9a\x9b\x99\x9a\x8d\x85\x99\x89\x8e\x1f\x63\xbe\x05\xb4\xb8\x9d\xb4\xbc\x1a\xa1\x88\x98\x7e\xa7\x1e\xcb\xbf\x05\x99\x96" -+"\x8e\x90\x96\x28\x0a\x83\x85\x88\x82\x80\x1e\x4c\x58\x05\xa2\x6d\x70\x95\x64\x1b\x66\x6c\x82\x73\x63\x1f\x63\xbd\x05\x96\x82\x87" -+"\x8d\x83\x1b\x7b\x7c\x7d\x7c\x85\x8d\x86\x91\x84\x1f\xb4\x58\x05\x65\x61\x77\x5e\x5c\x1a\x76\x8f\x7d\x97\x6e\x1e\x4a\x56\x05\x7e" -+"\x81\x87\x84\x81\x1a\x7f\x94\x82\x98\x93\x8f\x8d\x95\x98\x1e\xf7\x70\xf7\xc4\x15\xc3\xb2\x65\x55\x43\x43\x45\x41\x51\x64\xb0\xc2" -+"\xd4\xd3\xd0\xd7\x1f\x0e\xf7\xfc\xf8\xef\x15\x76\xf7\x14\x1d\xf7\xf9\xf8\xec\x15\xfb\x21\x06\xe7\xfb\x80\x05\x79\x92\x94\x83\x9a" -+"\x1b\xa2\x9e\x9d\xa1\x1f\x92\x07\xf7\x4c\xf7\x6b\x15\xfb\x21\x06\xe7\xfb\x80\x05\x79\x92\x94\x83\x99\x1b\xa3\x9e\x9d\xa1\x1f\x92" -+"\x07\x0e\xf7\x1e\x1d\x90\x89\x8f\x86\x94\x1f\x22\xf7\x3e\x1d\x97\x82\x94\x7e\x84\x83\x88\x82\x80\x1e\x72\xfb\x59\x15\xf7\x3d\xfb" -+"\x59\x05\x82\x93\x92\x87\x93\x1b\x9b\x99\x99\x9b\x90\x8a\x8e\x84\x95\x1f\x23\xf7\x35\xf7\x43\xf7\x36\x05\x99\x97\x8e\x90\x95\x1a" -+"\x98\x82\x93\x7e\x83\x84\x87\x83\x80\x1e\x0e\xf7\x1e\x1d\x91\x8a\x8d\x84\x95\x1f\x23\xf7\x3e\x1d\x98\x82\x93\x7e\x84\x82\x87\x83" -+"\x81\x1e\x0e\xf8\xe5\xd2\x1d\x0e\xf7\x8a\xf8\x04\x15\xce\x27\x1d\x4a\x06\x96\xf7\x20\x1d\x8f\x1b\x9a\x98\x99\x9a\x94\x86\x92\x81" -+"\x90\x1f\x93\x78\x69\x92\x77\x1b\x4c\x4d\x52\x42\x7c\x1f\x7f\x55\x05\x42\x37\x1d\xd6\x1d\x53\x0a\x4a\x06\xf8\x26\xf8\x04\x15\x22" -+"\x26\x0a\xbd\x25\x0a\x42\x26\x0a\xf7\x55\x30\x0a\x47\x06\xf7\x0f\xf8\xcf\xf7\x53\x1d\xf7\x89\xf8\x04\x15\xcf\x2e\x0a\x4a\x06\x97" -+"\xf7\x20\x1d\x8e\x1b\x9b\x98\x90\x1d\x68\x92\x78\xf7\x31\x1d\x79\x7c\xd6\x1d\xa1\x34\x1d\x4b\x06\xf8\x4d\xf8\xbc\x15\x22\x24\x0a" -+"\x78\x7c\x93\x85\xa0\x1f\xbd\x06\xfb\x01\xfc\x89\x05\x43\x21\x1d\xf7\x57\x79\x0a\x44\x06\x0e\xf8\xc0\xf7\x94\x15\xa2\x9a\x97\xf7" -+"\x4c\x1d\x78\x7d\x25\x1d\x0e\xf7\x14\x0a\x9e\x99\xf7\x2f\x1d\x8e\x1a\x97\xc2\x0a\x35\xfc\x21\x05\x8a\x86\x8a\x87\x73\x0a\x0e\xf7" -+"\x14\x0a\x9d\x9a\xf7\x2f\x1d\x8f\x1a\x96\xc2\x0a\x7e\x51\x05\xfb\x10\x21\x1d\xf7\x0e\x06\x4c\xfb\xb4\xf7\x02\x0a\xca\xf7\xb6\x05" -+"\xf7\x10\x06\xa2\x9a\x96\x9d\x9b\x82\x91\x77\x1f\xfb\x0e\x06\x0e\x68\x0a\xf8\xc6\xf8\xbc\x15\xc3\x06\xa0\x9a\x97\x9d\x99\x82\x92" -+"\x79\x1f\xfb\x5c\x06\xfb\x1d\x89\x28\x50\x77\x30\x81\x5d\x18\x89\x83\x8a\x83\x85\x1a\x5f\xa6\x66\xba\x74\x1e\xa7\x7e\xa6\x84\xb9" -+"\x88\x52\xfb\x9e\x18\x2e\x06\x75\x7d\x7f\x79\x7e\x95\x83\x9c\x1f\xf7\x1a\x06\xa0\x9a\x97\x9d\x95\x85\x92\x81\x8e\x1f\xf7\x0e\xf8" -+"\xc7\x05\xc8\x06\xfb\x0e\xfc\xc6\x05\x7b\x88\x80\x7f\x7c\x1a\x7e\x94\x83\x9d\x1e\xed\x06\xa0\x9a\x97\x9d\x99\x82\x92\x79\x1f\x53" -+"\x06\x0e\xf7\xbc\xf8\x59\x15\x38\x49\x49\x37\x38\xcd\x48\xdd\xdc\xcd\xce\xde\xdd\x49\xcf\x3b\x1f\x0e\xe7\x1d\xf7\x54\xf7\x2d\xf7" -+"\x3f\x1d\x97\x80\x9d\xf7\x05\x1d\x97\x80\x9d\x9a\x96\x91\x9c\x98\x1e\xf7\x57\xf7\x87\x05\x0e\xf7\xb5\xf8\xef\xf7\x3f\x1d\x98\x80" -+"\x9c\xf7\x05\x1d\x98\x80\x9c\x9a\x96\x92\x9b\x98\x1e\xf7\x57\xf7\x87\x05\x0e\xf7\xff\xd2\x1d\xf8\x77\xf7\x59\xf7\x22\x1d\x88\x91" -+"\x81\x1f\xf3\xfb\x35\xfb\x42\xfb\x35\x05\x7d\x7e\x88\x86\x81\x1a\x7f\x94\x82\x98\x93\x92\x8e\x94\x96\x1e\x0e\xf7\x0a\xe8\xdf\x0a" -+"\xf7\x5b\x16\xe4\x0a\xf7\x5c\xf7\x1a\x1d\xf7\xa6\xf8\xf9\xf7\x51\x1d\xcd\xd1\xcb\x0a\xf7\xcc\xfb\x52\x15\x99\x8f\x92\x93\x95\x1a" -+"\x94\x85\x92\x83\x87\x87\x8a\x8a\x87\x1e\xfc\x24\xfb\x0c\x05\x7d\x87\x83\x82\x81\x1a\x82\x92\x84\x93\x8d\x8f\x8c\x8d\x91\x1e\xbb" -+"\x5c\xb1\x0a\xf7\xab\xb2\xb1\x0a\x0e\xf7\xc7\xf7\x35\x15\x49\x6f\x64\x76\x69\x72\x08\x61\x6a\x71\x58\x59\x1a\x3d\xc5\x5c\xeb\xbf" -+"\xae\x93\xa7\xd0\x1e\x9a\x91\x8c\x8b\x9d\x92\x9a\xd1\x18\x8d\x93\x8b\x8b\xf7\x5c\x1d\x86\x1e\x83\x65\x05\x72\x53\x6c\x84\x5e\x1b" -+"\x45\x5f\xac\xbf\xcb\xc1\xb7\xf7\x24\xc2\x1f\x9a\xd0\xf1\x0a\x77\x87\x1e\xcd\xf7\x04\x15\xb4\xac\xa7\xaf\xa6\x77\x9c\x6a\x1f\x6f" -+"\x06\x63\x6a\x6f\x67\x6f\x9f\x7b\xab\x1f\x0e\xf7\xe0\xde\x1d\xf8\xc8\xf8\xe0\x3d\x1d\xf8\x49\xf9\x12\xd5\x1d\xf8\xc7\xf8\xed\xbf" -+"\x1d\x96\x1a\x96\x81\x94\x7f\x1e\x0e\xf8\xa9\xf8\xa1\x2c\x1d\xf7\xde\xf8\xf0\x32\x0a\xf8\x43\xf8\xf5\x59\x1d\xf7\xd4\xad\x0a\xf8" -+"\x4d\xf9\x26\x5c\x1d\x7a\x74\x95\x1d\x0e\xf7\xa2\x96\x15\x78\x31\x05\x42\x0a\x68\x8e\x1f\x95\xb9\x05\x0e\xf8\x39\xf8\xda\x74\x1d" -+"\xf8\x40\x96\x15\x43\x06\x45\x6d\x6a\x67\x5d\x65\x0a\xa6\xa5\xa7\xb9\xa2\x1f\x0e\xf8\x28\xf8\x73\x61\x0a\xf3\x1d\x82\x0a\x0e\xf8" -+"\x31\xf7\xa8\x15\xd1\x06\x9f\x98\x96\x9b\x99\x83\x91\x7a\x1f\x78\x06\xae\xf7\x36\x05\x8c\x91\x8c\x92\x8f\x1a\xb5\x67\xa8\x55\x71" -+"\x53\x7f\x80\x74\x1e\x7e\x85\x85\x82\x7f\x1a\x81\x93\x82\x96\x90\x8d\x8b\x8f\x95\x1e\x96\xa9\xaa\x92\x9c\x1b\xaa\x9f\x7f\x78\x88" -+"\x8b\x89\x8a\x88\x1f\x83\x64\x05\x92\x70\x7a\x8d\x74\x1b\x32\x43\x57\x4c\x60\xad\x71\xc2\xb1\xa7\x91\x9d\xb3\x1f\x97\xc2\x15\x74" -+"\x63\x6b\x82\x64\x1b\x6e\x78\x96\x9b\xae\xbd\xa9\xc4\xa1\x9b\x89\x84\xa4\x1f\x0e\xf7\xea\x22\x1d\xe7\x4b\x1d\xfb\x7e\x21\x1d\xe5" -+"\x06\x5c\xfb\x6c\xfb\x20\x44\x05\x7a\x82\x85\x84\x7e\x1a\x7f\x94\x81\x96\x91\x8f\x8d\x90\x96\x1e\xf7\x01\xc3\x63\xfb\x4e\x05\x2f" -+"\x21\x1d\xf8\x5d\x06\xb7\xf7\x5f\x05\x8d\x94\xf7\x48\x1d\x87\x1e\x69\xfb\x2e\x05\xfb\x9b\x06\xb8\xf7\x65\xf7\x40\xe3\x05\x9e\x95" -+"\x90\x91\x98\x1a\x97\x82\x94\x80\x85\x82\x88\x88\x84\x1e\xfb\x21\x42\x05\x0e\xa7\x1d\x0e\xf8\x25\xf7\x9e\x15\xce\x06\x86\x76\x8a" -+"\x7e\x05\x80\x95\x82\x97\x9b\x28\x1d\x9f\xea\x05\x8d\x91\x8b\x8d\xf7\x5c\x1d\x87\x1e\x86\x74\x05\x48\x34\x0a\xf7\x48\x06\x74\x22" -+"\xf7\x02\x0a\xad\xf7\x32\x05\xfb\xd5\x06\xfb\x42\xfb\x25\xfb\x37\xfb\x59\x4f\xa2\x51\xb0\x68\x1f\x6a\xad\xbe\x7a\xc9\x1b\xf7\xdf" -+"\x06\xa8\xf7\x1b\x05\x8c\x8c\x8b\x92\x8e\x1a\x97\xea\x0a\xbb\xf8\x61\x15\x3f\x0a\x6f\x06\x5d\x65\x95\x9e\x72\x1f\x69\xa6\x76\xbc" -+"\xc2\x1a\xcd\xa1\xd3\xb0\xc0\x1e\xd5\xbf\xce\xaf\xe4\x1b\x0e\xf8\x3c\xf8\xd4\x15\x2a\x31\x35\x2e\x47\xbf\x58\xd2\xec\xe6\xe1\xe7" -+"\xd1\x58\xbd\x42\x1f\x83\x5c\x15\xbd\xad\x6a\x5c\x4c\x4b\x4e\x4a\x58\x68\xac\xba\xcb\xca\xc7\xcf\x1f\x0e\x81\x0a\x0e\x3c\x1d\x0e" -+"\xf8\x5a\xf8\xef\x15\xfb\x38\x24\x0a\x79\x7b\x93\x85\x9f\x1f\xf7\x02\x06\x5b\xfb\x73\xfb\x0a\x50\x05\x79\x82\x85\x84\x7e\x1a\x7f" -+"\x94\x82\x97\x91\x8f\x8c\x90\x96\x1e\xe2\xb7\x5c\xfb\x6f\x05\xfb\x2f\x29\x1d\xf7\xfd\x06\xa1\x9a\x38\x1d\xfb\x2f\x06\xbf\xf7\x86" -+"\xf7\x0b\xc6\x05\x9d\x94\x91\x92\x99\x1a\x97\x82\x94\x7f\x85\x88\x8a\x85\x7f\x1e\x33\x5f\x05\x0e\xc3\x1d\x7e\x81\x88\xcb\x1d\x0e" -+"\xf9\x04\xf7\x57\x15\x94\xb7\x8e\xa1\xf7\x3b\x1d\x53\x55\x67\x49\x61\x1f\xc9\x7b\x5f\xb3\x57\x1b\x20\x21\xfb\x23\xfb\x23\x2d\xbd" -+"\x46\xcf\xc2\xc3\xb2\xd0\xb8\x1f\x48\x9c\xba\x62\xc5\x1b\xae\xb6\x9d\xaf\xbc\x1f\xa3\x9d\x91\x92\xe8\x0a\x6f\x1b\x58\x67\xc0\xd7" -+"\x93\x8c\x94\x8c\x99\x1f\x97\xbe\x15\xe4\xab\xb9\xba\xc2\x1b\xba\xa4\x6a\x4d\x7d\x8b\x82\x89\x79\x1f\xfb\xe0\xf7\x1c\x15\xb7\x88" -+"\xaa\x5c\x49\x1a\x5a\x7c\x56\x70\x5f\x1e\x6e\x5b\x5e\x68\x69\x89\x08\x60\x89\x68\xbe\xce\x1a\xbe\x9a\xbf\xa6\xb7\x1e\xa9\xbc\xbc" -+"\xb0\xab\x89\x08\x0e\xf7\x50\xf7\xd9\x15\x50\xfb\xa6\x4d\x1d\xf0\x06\xf0\xf8\x6b\x05\xb8\x95\xbe\xaf\xc1\x1b\xba\xac\x6c\x5e\x6c" -+"\x7c\x71\x6d\x78\x1f\x7d\x75\x73\x83\x76\x1b\x86\x06\x79\x7c\x7e\x7b\x7c\x93\x85\xa0\x1f\x90\x06\xd7\xcc\x51\x48\x36\x4f\x38\x4e" -+"\x6d\x7c\x9c\xad\x91\x8b\x90\x8c\x91\x1f\x8c\x8f\x8b\x8e\x8e\x1a\x96\x81\x93\x7f\x76\x7f\x79\x6c\x4c\xab\x67\xc4\xc0\xbc\xa9\xc4" -+"\xb1\x1e\xa5\xb3\x9c\xc0\xb6\x1a\xce\x68\xc0\x48\xaa\x1e\xbe\xab\xa4\xb5\xbe\x1a\xd2\x59\xbc\x41\x3b\x3c\x51\x43\x7c\x1e\x75\x2a" -+"\x05\x5b\x29\x1d\x0e\xf8\x58\xf8\xf8\x15\xfb\x05\x6a\x7c\x87\x85\x87\x08\x85\x87\x86\x83\x84\x1a\x81\x92\x84\x94\x8f\x8e\x8b\x8c" -+"\x8e\x1e\xcc\x9f\x54\xfb\x97\x05\x51\x06\x70\x7f\x84\x7a\x80\x92\x85\x98\x1f\xf7\x47\x06\x99\xf7\x5f\x1d\x0e\xf8\x76\xf8\x19\x15" -+"\xfb\x55\x07\x77\x94\x80\x9c\x9c\x94\x96\x9f\x1e\xf7\x88\xfc\x46\x07\x75\x80\x82\x7b\x7a\x96\x82\xa1\x1f\x0e\xf7\x3f\x95\x15\x77" -+"\xa7\xa0\x85\xb2\x1b\xc9\xc7\xa2\xb7\xc0\x1f\x58\xdc\x07\xa0\x96\x94\x9b\x9b\x80\x94\x76\x1f\x6e\xf8\x05\xfb\x0d\x06\x74\x81\x83" -+"\x7a\x7b\x97\x82\xa0\x1f\xd0\xfb\x8d\x06\x51\x55\x51\x6f\x49\x1b\x58\x69\xad\xbd\x1f\xf7\xc1\x26\x07\x75\x81\x83\x7a\x7b\x96\x82" -+"\xa0\x1f\xbc\xfc\xa9\x06\x76\x94\x80\x9c\x9c\x94\x96\xa0\x1e\x0e\xf7\x97\xf8\x9c\x15\xc7\x06\x7d\x49\x05\x8a\x89\x8b\x89\x89\x1a" -+"\x80\x93\x83\x96\x98\x95\x94\x9a\x8e\x1e\xa3\xf7\x02\x05\xfb\x91\x06\x74\xfb\x00\x05\x8a\x88\x8b\x89\x88\x1a\x80\x8c\x92\x84\x95" -+"\x1b\x98\x95\x94\x9a\x8e\x1f\x9a\xce\x05\xc7\x06\x57\xfb\x83\x05\x5a\x8f\x1d\xf7\x20\x06\x9b\x98\x96\x99\x97\x83\x91\x7d\x1f\x5c" -+"\x06\xf7\xd1\xbb\x15\xf6\xf7\x34\x5e\xfb\x64\x05\x6b\x8f\x1d\xdf\x06\x9b\x98\x94\x1d\x83\x06\xbf\xf7\x83\x05\x90\x06\x9c\x97\x94" -+"\x1d\x4d\x06\xfb\x07\xfb\x41\x61\xf7\x41\x05\x4c\x8f\x1d\x8e\x06\x57\xfb\x83\x05\x81\x06\x7b\x7f\x80\x7d\x80\x93\x84\x98\x1f\xdf" -+"\x06\x9b\x98\x94\x1d\x6d\x06\xb8\xf7\x66\xb3\xfb\x36\x05\x0e\x84\x0a\xf8\xe0\xf8\x6d\x15\x96\x95\x8e\x90\x93\x1a\x96\x83\x92\x3b" -+"\x0a\x81\x81\x87\x85\x83\x1a\x81\x93\x83\x96\x93\x8d\x8c\x97\x98\x1e\xf7\x1b\xc9\x1d\xf7\x4e\xfb\x94\x15\xf7\x64\xf7\x32\x9d\x9e" -+"\xbf\x1a\xbb\x64\xb0\x59\x61\x62\x77\x68\x6e\x1e\x7f\x7c\x83\x7d\x82\x1a\x82\x92\x84\x95\x95\x92\x90\x97\x91\x1e\xa9\x9b\xac\xa0" -+"\xad\x1b\xab\xa3\x75\x6e\x76\x7d\x77\x68\x6f\x1f\x52\x5c\x48\x56\x51\x61\x85\x86\x18\x81\x5c\x05\xf7\x7f\x06\x94\xb4\x05\x8c\x8e" -+"\x8b\x8e\x8c\x1a\x94\x84\x92\x81\x7f\x81\x82\x7e\x88\x1e\x8a\x07\x0e\xf8\x19\xf7\xbb\x15\xf7\x44\xf7\x1d\x0a\xfb\x42\x06\xab\xf7" -+"\x2b\x05\x8c\x8f\x8c\x90\x8e\x28\x0a\x7b\x80\x80\x77\x87\x1e\x6a\xfb\x2d\x05\xfb\x44\x8e\x1d\xf7\x42\x06\x6a\xfb\x2c\x05\x89\x82" -+"\x8b\x8a\x88\xf7\x1b\x0a\x95\xa0\x8f\x1e\xfb\x8b\x30\x15\x74\x7d\x80\x79\x7d\x94\x84\x9f\x1f\xf8\x25\xf7\x1d\x0a\x0e\xf7\x5a\xf7" -+"\x14\x93\x1d\xf6\xda\x47\xc3\x2c\x1f\xfb\x1f\x06\x96\xbb\x05\xf7\x1a\x23\x1d\xfb\x7e\x64\x0a\x53\x0a\xfb\x18\x06\xa7\xf7\x14\x15" -+"\xbd\xf7\x7e\x05\xf7\x25\x06\xcd\xbc\x64\x55\x41\x34\x48\x2b\x1f\x0e\xf7\xaa\xf8\xf8\x15\xfb\x00\x6c\x76\x85\x85\x87\x08\x85\x87" -+"\x86\x83\x84\x1a\x82\x93\x83\x94\x8f\x8d\x8b\x8c\x8f\x1e\xcc\x9f\x54\xfb\x97\x05\x8c\x75\x75\x8b\x7c\x1b\x73\x7d\x82\x7b\x80\x93" -+"\x85\x97\x1f\xf7\x46\x06\x9b\x97\x96\x98\x96\x84\x91\x7e\x1f\x47\x06\xf8\x3a\xf7\x44\x15\x96\x94\x8e\x91\x93\x1a\x95\x83\x93\x3b" -+"\x0a\x81\x81\x87\x85\x83\x1a\x81\x93\x83\x96\x93\x8d\x8d\x96\x98\x1e\xf7\xe0\xa8\x15\x80\x58\x05\x77\x06\x6d\x80\x85\x79\x80\x92" -+"\x85\x98\x1f\xe1\x06\x9a\x97\x96\x98\x96\x84\x91\x7e\x1f\x81\x06\x96\xbe\x05\xa7\x96\x92\x9c\x96\x83\x91\x7f\x1f\x81\x06\xb9\xf7" -+"\x6a\x05\x4d\x06\xfb\x43\xfb\x6d\x82\x65\x05\xf7\x32\xb4\x15\x26\x06\xf7\x1d\xf7\x3c\x05\x0e\xf8\xc1\xf7\x95\x15\xa2\x99\x96\xf7" -+"\x4c\x1d\x79\x7d\x2a\x0a\xf7\x3f\xfb\x11\x15\x69\x6b\x6c\x6a\x73\x9e\x78\xa5\xae\xab\xa9\xac\xa5\x78\x9d\x70\x1f\xe5\xf8\x2c\x15" -+"\x68\xf4\x0a\x71\x1f\x0e\xf7\xda\xf8\xcf\x15\xa0\x82\x96\x7a\x7b\x82\x80\x76\x1e\xfb\x9a\x07\x77\x94\x80\x9c\x9b\x94\x96\x9f\x1e" -+"\xfb\x1d\x04\xa0\x82\x96\x7a\x7b\x82\x80\x76\x1e\xfb\x9a\x07\x76\x94\x80\x9b\x9c\x94\x96\xa0\x1e\x0e\xf8\x4a\xf9\x0e\x15\x2a\x32" -+"\x36\x30\x46\xbe\x59\xd2\xeb\xe4\xe1\xe6\xcf\x58\xbd\x45\x1f\x7e\x58\x15\xbb\xac\x6c\x5f\x4e\x4f\x52\x4c\x5d\x6a\xaa\xb8\xc6\xc7" -+"\xc5\xc8\x1f\x0e\xf7\xa9\xf8\xe1\x15\x25\x21\x1d\xbb\x06\xfb\x25\xfd\x31\xaa\x0a\x42\xce\xfb\x02\x41\x55\x73\x50\x4c\xe9\x0a\xd8" -+"\xef\xf7\x23\x0a\xf7\x68\xf7\x0e\x0a\xb7\x8a\xaa\xf7\x09\x0a\x76\xf7\x25\x1d\xd7\xd4\xc9\xcb\xa8\x7f\xa1\x6f\x9e\x1f\xb5\xa4\x9f" -+"\xa9\xaf\x1a\xb8\x67\xaa\x57\x56\xf2\x0a\x9e\xa5\x94\xa7\x1b\xac\xa1\x7a\x71\x6b\x69\x70\x62\x1f\xf8\x03\x90\x15\x94\x94\x8f\x92" -+"\x92\x1a\x95\x83\x93\x3b\x0a\x82\x82\x87\x84\x83\x1a\x81\x92\x83\x96\x93\x8d\x8c\x97\x98\x1e\xf8\x07\xa8\x15\x80\x58\x05\x76\x06" -+"\x6d\x80\x84\x7a\x80\x93\x85\x97\x1f\xe1\x06\x9b\x97\x96\x98\x96\x83\x91\x7f\x1f\x81\x06\x95\xbe\x05\xa7\x96\x92\x9c\x96\x84\x91" -+"\x7e\x1f\x81\x06\xb9\xf7\x6a\x05\x4e\x06\xfb\x44\xfb\x6d\x83\x65\x05\xf7\x32\xb4\x15\x26\x06\xf7\x1d\xf7\x3c\x05\x0e\xf7\xb6\xf7" -+"\xbd\x15\xf7\x66\xf7\x34\x9c\x9c\xc1\x1a\xb9\x63\xb0\x59\x66\x66\x7b\x6f\x6e\x1e\x7a\x79\x7f\x78\x7f\x1a\x83\x93\x84\x94\x95\x92" -+"\x90\x97\x91\x1e\xa9\x9b\xad\x9f\xac\x1b\xab\xa4\x75\x6f\x70\x80\x7e\x47\x55\x1f\x53\x5e\x61\x6a\x55\x63\x84\x86\x18\x81\x5c\x05" -+"\xf7\x80\x06\x94\xb4\x05\x92\x07\x95\x8a\x85\x91\x81\x1b\x7f\x81\x82\x7e\x89\x1f\x8a\x8a\x05\x0e\xf7\xb9\xf7\x91\x15\xc5\x06\xaa" -+"\x7f\xa7\x5b\x9e\x40\x08\xb7\x06\x9b\x98\x97\x9a\x97\x83\x92\x7d\x1f\x80\x06\x72\xcc\x83\x9a\x76\xa1\x08\xc1\xa0\xa9\xae\xb8\x1a" -+"\xba\x66\xaa\x53\x1e\xfb\x1e\x06\x7a\x7e\x80\x7b\x7f\x93\x84\x99\x1f\x9d\x06\x58\xfb\x7f\x05\x77\x06\x7a\x7e\x7f\x7c\x7f\x93\x84" -+"\x99\x1f\xeb\x06\x9c\x98\x97\x9a\x97\x83\x92\x7d\x1f\x6e\x06\xa8\xf7\x1b\x15\xa1\xef\x05\xd4\x06\xad\x9f\x7c\x72\x68\x61\x72\x52" -+"\x1f\xd3\xf7\xaa\xc6\x1d\xf7\x37\xf7\xc7\x15\x74\x7d\xf0\x0a\xf8\x26\x2a\x1d\x0e\xf8\xc8\xf8\xca\x15\x95\x8f\x92\x95\x97\x1a\x97" -+"\x82\x94\x7f\x88\x88\x8b\x8a\x89\x1e\x25\x63\x05\xa6\x56\x51\x9e\x70\x1b\x7a\x7d\x7d\x7a\x81\x91\x85\x99\x88\x1f\xaf\x83\x9d\x86" -+"\xa4\x7f\x52\x75\x18\x81\x87\x85\x81\x7f\x1a\x7e\x95\x81\x97\x8c\x8f\x8c\x8c\x8e\x1e\xec\xb3\xa7\x74\xae\x54\x9b\x5f\x19\xa7\x65" -+"\x67\x97\x5b\x1b\xfb\x28\xfb\x1d\xfb\x16\xfb\x1f\x21\xda\x41\xf7\x03\xd8\xd6\xac\xc6\xc4\x1f\xbf\xc0\xaa\xdb\xd9\x1a\xe5\x66\xe9" -+"\x4e\xcd\x1e\x22\xfb\x2e\x15\xe2\xc6\x53\x39\x20\x5f\x1d\x0e\xf8\x03\xf7\xd1\x15\xfb\x01\xf7\x1c\x05\x94\x84\x86\x8e\x83\x1b\x7b" -+"\x7c\x7d\x7c\x86\x8e\x84\x90\x85\x1f\xf7\x01\xfb\x1c\xfb\x3d\xfb\x1c\x05\x7e\x81\x87\x84\x81\x3e\x0a\x93\x8e\x93\x95\x1e\xf7\x3c" -+"\xf7\x1d\xf7\x01\xfb\x1c\x05\x82\x93\x90\x88\x93\x1b\x9b\x9a\x99\x9a\x90\x88\x91\x86\x92\x1f\xfb\x01\xf7\x1c\xf7\x3c\xf7\x1c\x05" -+"\x99\x96\x8f\x91\x95\x1a\x97\x81\x94\x7e\x84\x84\x88\x83\x81\x1e\x0e\xf8\x17\xf7\x0e\x0a\xb6\x8a\xaa\xbd\x0a\xa9\x7f\xa0\x70\x9e" -+"\x1f\xb4\xa4\x9f\xa9\xaf\x1a\xb8\x67\xaa\x57\x57\xf2\x0a\x9d\xa5\x94\xa8\x1b\xab\xa1\x7a\x72\x6a\x6a\x70\x62\x1f\x0e\xf7\x60\xf7" -+"\x99\x15\x89\x82\x8a\x81\x82\x1a\x45\xc2\x55\xd2\xb4\xb6\x9c\xaa\xb0\x1e\x9c\x9a\x91\x93\x95\x1a\x97\x83\x92\x80\x83\x86\x89\x84" -+"\x83\x1e\x6a\x68\x70\x7f\x68\x1b\x5a\x67\xaf\xbc\x94\x8c\x91\x8c\x92\x1f\x93\xb1\x05\xc6\x98\xc1\xba\xc2\x1b\xa2\xa2\x83\x7f\x98" -+"\x1f\x8f\x87\x94\x7d\x89\x1a\x8a\x76\x05\x85\x96\x83\x94\x98\x96\x94\x9a\x8e\x1e\x99\xca\x05\x8c\x8e\x8b\x8e\x8d\x1a\x96\x83\x93" -+"\x7f\x80\x82\x84\x80\x86\x1e\x9d\x6f\x76\x92\x6c\x1b\x3c\x3c\x49\x3a\x7a\x1f\xf7\x67\xf7\xa4\xc6\x1d\x29\x0a\xf7\x11\xf7\x73\x15" -+"\x9c\x97\x8e\x8f\x97\x28\x0a\x83\x86\x89\x83\x80\x1e\xfb\x1c\x29\x05\x7e\x81\x86\x84\x80\x3e\x0a\x8f\x47\x0a\x29\x0a\xad\xf7\xa5" -+"\xe5\x1d\x8d\x92\x95\x7f\x0a\x91\x1b\x9b\x9a\x99\x9a\x93\x89\x8e\x82\x94\x1f\x0e\x29\x0a\x37\xf7\x88\x15\x69\x6b\x42\x1d\xae\xbe" -+"\x0a\x29\x0a\x68\xf7\x99\x15\x94\x83\x87\x8d\x83\x1b\x7c\x7c\x7d\x7c\x85\x8f\x83\x90\x86\x44\x1d\x92\x91\xee\x0a\x29\x0a\xb5\xf7" -+"\xb9\xf7\x4a\x1d\xc5\xb7\x69\xab\x5c\x1f\x84\x60\x15\xa5\x9d\x7b\x73\x6c\x6a\x6c\x68\x71\x78\x9b\xa2\xac\xac\xa9\xaf\x1f\x0e\x29" -+"\x0a\xf7\x34\xf7\x80\x5b\x0a\x67\x81\x85\x7b\x1b\x81\x81\x90\x9d\x6d\xe3\x0a\x73\x80\x71\x68\xf7\x07\x1d\x94\x87\x80\x9c\x1f\x73" -+"\xaf\x9d\x84\xa2\x1b\xa5\xa5\x97\xa9\xae\x1f\x9f\x9b\x8f\x91\x96\x1a\x96\x81\x94\x7f\x1e\x0e\xf7\xd3\x7b\x15\x92\x06\xca\xd8\xab" -+"\xbe\xc8\x1f\xa8\xa4\x92\x94\x98\x1a\x96\x82\x93\x7f\x81\x86\x88\x83\x82\x1e\x4d\x48\x54\x72\x47\xf7\x0b\x1d\xb8\xba\x7b\x74\xa3" -+"\x1f\x93\x83\xa0\x6c\x87\x1a\x89\x65\x05\x85\x98\x82\x93\x9c\x60\x1d\x8b\x8f\xdc\x0a\x88\x79\x05\x4e\x0a\x49\xa9\x4c\xbe\x63\x1e" -+"\xa3\x79\xa1\x81\xb2\x81\x7c\x46\x18\xf6\x1d\xb7\x77\xb5\xc4\xb6\xaf\xbb\xa9\x79\x9c\x68\x8e\x1f\x0e\x2d\x1d\xf8\x06\xf9\x40\x15" -+"\x99\x95\x90\x71\x0a\x87\x7f\x1d\x8f\x47\x0a\x2d\x1d\xf7\xac\xf9\x72\x15\xfb\x33\xfb\x00\x05\x7b\x80\x86\x85\x7f\x3e\x0a\xf7\x06" -+"\x1d\x81\x94\x1f\x0e\x2d\x1d\xf7\x36\xf9\x55\x77\x1d\x2d\x1d\xf7\x60\xf9\x66\xe3\x1d\x3b\x1d\xf7\x72\xf9\x40\x2d\x0a\x3b\x1d\xf7" -+"\x19\xf9\x72\x3d\x0a\x81\x86\x85\xef\x0a\x90\x8d\x92\x96\x1e\xf7\x0e\xdf\xe1\x38\x05\x84\x93\x90\x88\x91\x1b\x9b\x9a\x99\x9a\x93" -+"\x8a\x8e\x81\x94\x1f\x0e\xf8\x48\x22\x1d\xf7\x1b\x2e\x0a\xfb\xd3\x83\x1d\xf7\xd4\x06\xa1\x9a\x97\x9c\x9b\x83\x91\x76\x1f\xfb\x18" -+"\x06\x9a\xf9\x55\xaf\x0a\x3b\x1d\xcb\xf9\x66\x15\x94\x83\x86\x8d\x84\x1b\x7b\x7c\x7d\x7c\x85\x8e\x84\x92\x85\x44\x1d\x92\x91\x88" -+"\x91\x1b\x9d\xf7\x16\x0a\x54\x1d\xf7\x29\xf9\x80\xf7\x12\x1d\x80\x8f\x75\x1b\x71\x73\x80\x71\x68\x1f\x76\x7b\x84\xf7\x00\x0a\xa7" -+"\xad\x95\x91\x9d\x1b\x96\x94\x87\x80\x9c\x1f\x73\xb0\x9b\x84\xa3\x1b\xa5\xa5\x97\xa9\xaf\x1f\x9e\x9b\x8f\x91\x96\x1a\x96\x81\x94" -+"\x7f\x1e\x0e\x31\x0a\xf7\x29\xf7\x67\x15\x9a\x96\x8f\x90\x97\x46\x0a\x80\x1e\xfb\x1c\x29\x05\x7e\x82\x86\x83\x80\x1a\x7f\x94\x82" -+"\x97\x93\x8e\x8d\x93\x98\x1e\x0e\x31\x0a\xbe\xf7\x99\xcd\x0a\xe1\x38\x05\x84\x92\x90\x88\x92\x1b\x9a\x9a\x99\x9b\x92\x89\x8e\x82" -+"\x94\x1f\x0e\x31\x0a\x48\xf7\x7c\x15\x69\x6a\x42\x1d\xaf\xbe\x0a\x31\x0a\x72\xf7\x8d\x15\x94\x83\x87\x8d\x84\x1b\x7b\x7c\x7d\x7c" -+"\x85\x8e\x84\x91\x7d\x0a\x91\x88\x91\x1b\x9c\xf7\x11\x0a\x80\x98\x1f\x0e\xf8\x3b\xf8\xd3\x15\xfb\x3b\xfb\x32\xfb\x46\xfb\x52\xfb" -+"\x17\xdc\x2f\xf7\x08\xdd\xda\xb2\xd4\xcc\x1f\xca\xd2\xb1\xea\xe4\x1a\xf7\x19\x3b\xe6\xfb\x0b\x1e\x85\x58\x15\xe3\xcb\x3f\x21\xfb" -+"\x2c\xfb\x17\xfb\x2f\xfb\x14\x2c\x4b\xd4\xf6\xf7\x33\xf7\x16\xf7\x2a\xf7\x1c\x1f\xf7\x4d\xf7\x74\x15\x84\x85\x89\x84\x83\x1f\x6e" -+"\x67\x81\x9f\x1d\x6e\x7f\x8f\x75\x1b\x71\x73\xa3\x0a\x94\x87\x80\x9c\x1f\x73\xb0\x9c\x84\xa2\x1b\xa5\xa5\x97\xa9\xaf\x1f\x9e\x9b" -+"\x8f\x91\x56\x0a\xf8\xbd\xf8\xa0\x15\xf5\x0a\xa0\x79\x1f\xa6\x76\xad\x7f\xd0\x7e\xcf\x80\x9e\x85\x9f\x7c\x08\x9b\x80\x96\x75\x77" -+"\x1a\x3b\x37\x4a\x24\x63\x62\x96\x9c\xa7\x0a\xc0\x75\xcd\x1b\xf7\x1e\xf7\x04\xe5\xf7\x03\xaf\x7b\xad\x71\x9d\x1f\x71\x62\x1d\xd0" -+"\xd7\xc5\xe3\xb0\xae\x80\x7b\x9c\x1e\x94\x83\x9f\x6d\x87\x1a\x89\x61\x05\x85\x97\x82\x95\x9b\x28\x1d\xa0\xef\x05\x8c\x8f\x8c\x91" -+"\x8e\x1a\x96\x82\x94\x7e\x7b\x81\x81\x77\x86\x1e\xfb\x00\xe9\xbf\x0a\x85\x85\x8e\x85\x1b\x7a\x7d\x92\x1d\x2e\x1d\x9e\xf8\xb9\xb0" -+"\x0a\x2e\x1d\x40\xf8\xeb\xa8\x0a\x2e\x1d\xfb\x55\xf8\xce\xbb\x0a\xaa\xac\xa4\x78\x9e\x70\x1f\x0e\x2e\x1d\xfb\x27\xf8\xdf\x15\x93" -+"\x83\x86\x8e\xe7\x0a\x92\xf0\x1d\x47\x1d\xf7\x75\xf9\x40\xb0\x0a\x47\x1d\x98\xf9\x55\x15\x50\x0a\xf7\x72\x16\x68\x6b\x35\x0a\xa5" -+"\x78\x9d\x70\x1f\x0e\x60\x0a\xf7\xe4\xf9\x06\x78\x0a\x85\x89\x84\x81\x4f\x0a\x5d\x0a\xc9\xf8\x19\x15\x9a\x96\x8f\x90\x97\x46\x0a" -+"\x7f\x41\x1d\x7c\x80\x87\x85\x80\x3e\x0a\x90\x8d\x93\x96\x1e\x0e\x37\x0a\x6e\xf8\x4b\x15\xfb\x33\xfb\x01\x05\x7c\x63\x0a\x59\x0a" -+"\x74\x0a\x77\x1f\x5b\x06\xf7\x19\x0a\x93\x92\x1a\xc9\x51\xb5\x36\x6a\x0a\xd7\xa6\x90\xad\x1b\xca\xb2\x73\x66\x85\x8b\x88\x8a\x88" -+"\x1f\x7d\x4b\x05\x9a\x55\x6e\x8f\x5f\x1b\xfb\x22\xfb\x01\x40\x29\x48\xbf\x63\xe0\xd0\xc7\xa1\xbf\xd2\x1f\x99\xc8\x15\x4e\x3c\x52" -+"\x74\x44\x1b\x51\x6a\xa2\xb4\xcc\xe0\xbc\xf7\x05\xb3\xb5\x86\x82\xae\x1f\xfb\x26\xf8\x2e\x77\x1d\x5d\x0a\x22\xf8\x3f\xf7\x0b\x0a" -+"\x8d\x86\x93\x84\x44\x1d\x93\x90\x88\x92\x1b\x9b\x9a\x99\x9b\x90\x8b\x8b\x85\x93\x1f\x87\x90\x05\x0e\x5d\x0a\x72\xf8\x5f\x5c\x1d" -+"\x7b\x73\x6c\x69\x6c\x69\x70\x79\x9b\xa3\xab\xac\xa9\xaf\x1f\x0e\xf8\x31\x16\xf0\x4b\x1d\x5b\x06\xc3\xf7\x93\x05\x8c\x93\x8c\x91" -+"\x94\x1a\xc9\x51\xb5\x37\x6a\x0a\xd5\xa8\x90\xac\x1b\xca\xb0\x75\x64\x8d\x1f\x86\x8b\x87\x8a\x88\x1e\x7e\x4b\x05\x9a\x54\x6f\x8f" -+"\x5f\x1b\xfb\x22\xfb\x01\x40\x28\x49\xbf\x63\xe0\xcf\xc8\xa1\xbf\xd2\x1f\x98\xc8\x15\x4e\x3d\x52\x74\x43\x1b\x52\x6a\xa2\xb4\xcc" -+"\xdf\xbc\xf7\x05\xb4\xb4\x86\x82\xaf\x1f\xec\xf8\x26\x5b\x0a\x67\x81\x85\x7b\x1b\x80\x82\x8f\x9e\x6d\x1f\x9e\x6e\x7f\x8f\x75\x1b" -+"\x71\x73\x81\x70\x68\x1f\x77\x7b\x83\xf7\x00\x0a\xa8\xad\x95\x90\x9d\x1b\x96\x95\x87\x80\x9b\x1f\x73\xb0\x9c\x84\xa2\xf7\x1b\x1d" -+"\xf7\xd0\x7c\x15\xc4\x8d\xb9\x96\xba\xa0\x08\xc5\xa6\xaf\xa8\xa0\x1a\x97\x82\x93\x71\x1d\x8a\x88\x05\x88\x1d\x47\xad\x51\xc3\x70" -+"\x1f\x9d\x83\x99\x87\xa8\x86\x7c\x49\x18\xf7\x1f\x1d\x80\x8f\x95\x78\x1f\x90\x82\x88\x8c\x85\x1b\x7c\x7d\x7e\x7c\x77\xb7\x77\xb5" -+"\xc4\xb5\xaf\xbb\xa9\x79\x9c\x69\x8e\x1f\x0e\x30\x1d\x93\xf7\xe4\x3d\x1d\x30\x1d\x38\xf8\x16\x3d\x0a\x4e\x1d\xf7\x06\x1d\x82\x94" -+"\x1f\x0e\xa9\x0a\xfb\x04\xdd\x3f\xf7\x0c\xf3\xf7\x17\xbd\xb3\x97\x83\x94\x7e\x85\x87\x89\x85\x81\x1e\x6d\x5d\x3f\x75\x4c\x1b\x2d" -+"\x4a\xc5\xe0\x8f\x8b\x90\x8c\x93\x1f\xf8\x09\xbe\x15\xfb\xfd\x06\xdc\xad\xe0\xc2\xe7\x1b\xe4\xc8\x56\x3e\x1f\xfb\x5d\xf7\xf9\xbb" -+"\x0a\xa9\xad\xa5\x78\x9d\x70\x1f\x0e\x30\x1d\xfb\x33\xf8\x0a\x15\x94\x83\x86\x8d\xe7\x0a\x93\x90\x88\x91\x1b\x9b\x9b\x99\x99\x8e" -+"\x84\x99\x88\x8e\x1f\x0e\x3c\x1d\xf7\x4d\xf8\xad\xba\x0a\x8e\x8c\x94\x98\x1e\x0e\xf8\x33\xd0\x1d\xe0\xf8\xdf\xf7\x2c\x1d\x91\x92" -+"\xc3\x0a\x3c\x1d\x6d\xf8\xc2\xaf\x0a\x3c\x1d\x9e\xf8\xd3\x15\x93\x83\x86\x8e\x84\x1b\x7b\x7c\x7d\x7c\x84\x8e\x85\x91\x7d\x0a\x91" -+"\x88\x91\x1b\x9c\xf7\x11\x0a\x80\x98\x1f\x0e\xf7\x9b\xf8\x37\x15\x39\x4f\x1d\x9f\x1f\xa6\x69\x0a\x78\x1f\x64\x06\xbf\xf7\x84\x05" -+"\xd7\xd8\xa9\x9b\xc7\x1b\xb0\x9c\x85\x79\x9e\x1f\x9a\x7c\x92\x7a\x77\x1a\x80\x8b\x8a\x8a\x85\x1e\x57\xfb\x82\x05\x6e\x06\x73\x7d" -+"\x80\x78\x7d\x2a\x0a\xf7\x00\x23\x1d\x70\x06\xc0\xf7\x87\x05\x8c\x92\x8c\x93\x94\x1a\xd0\x55\xb9\x39\x4f\x62\x79\x54\x4b\x1e\xf7" -+"\xc4\xf7\x85\x5b\x0a\x68\x80\x9f\x1d\x6d\x7f\x8f\x76\x1b\x70\x74\x81\x70\x67\x1f\x77\x7b\x83\x81\x7f\x1a\x80\x94\x83\x98\x92\x93" -+"\x8e\x91\x92\x1e\xa8\xae\x94\x90\x9d\x1b\x96\x95\x87\x80\x9c\x1f\x73\xaf\x9c\x84\xa3\x1b\xa5\xa4\x97\xa9\xaf\x1f\x9f\x9b\x8f\x91" -+"\x56\x0a\x38\x0a\xf7\x24\xf7\x62\x15\x9a\x96\x8f\x90\x97\x46\x0a\x7f\x41\x1d\x7e\x82\x86\x83\x80\x1a\x7f\x94\x82\x97\x93\x8e\x8c" -+"\x94\x97\x1e\x0e\x38\x0a\xc0\xf7\x94\x3d\x0a\x81\x86\x85\xef\x0a\x91\x8d\x92\xc8\x0a\xb2\x0a\x3a\xfb\x00\x5f\x1d\x4b\xf7\x77\x15" -+"\x50\x0a\xf7\x71\x16\x50\x0a\x0e\x38\x0a\x7b\xf7\x88\xe3\x1d\xb2\x0a\x39\x20\x5f\x1d\xf7\x4e\xf7\x6f\xf7\x12\x1d\x7f\x8f\x76\x1b" -+"\x70\x73\xa3\x0a\x94\x87\x80\x9d\x1f\x73\xaf\x9c\x84\xa3\xf7\x1b\x1d\xf3\x85\x1d\xf7\x17\xf7\x61\x1d\xa0\x67\x97\x4f\x91\x3f\x94" -+"\x8b\x8b\x76\x93\xf7\x21\x1d\x85\x9d\x77\x87\x1a\x8a\x6d\x05\x84\x97\x82\x94\x9c\x28\x1d\x99\xcf\x05\x8c\x8f\x8c\x90\x8e\x1a\x97" -+"\x82\x94\x7f\x7d\x80\x81\x7b\x86\x1e\xa5\x6f\x60\x99\x55\x1b\xfb\x05\xec\x0a\xc1\x85\xa4\x85\xa1\xf7\x4f\x1d\x2f\x40\x52\x9b\x1d" -+"\x8d\x8e\x7c\x0a\x86\x1e\xf7\xb6\xf8\x01\xbf\x0a\x84\x86\x8e\x84\x1b\x7b\x7d\x7d\x7c\x82\x8c\x89\x95\x82\x1f\x0e\x2c\x0a\xcf\xf8" -+"\xa7\x15\x9c\x96\x8e\x6a\x1d\x84\x85\x89\x83\x80\xd3\x0a\x2c\x0a\x7b\xf8\xd9\xf7\x24\x1d\x8d\x92\x95\x7f\x0a\x92\x1b\x9a\x9a\x99" -+"\x9a\x93\x59\x0a\xf8\x45\x16\xdc\x06\xa2\xb6\x1d\xc9\xa3\xbc\xcc\x1f\xfb\x19\xf8\xbc\x77\x1d\x2c\x0a\x36\xf8\xcd\x15\x94\x83\x87" -+"\x8d\x83\x1b\x7b\x7c\x7d\x7c\x85\x8e\x84\x92\x7d\x0a\x90\xee\x0a\x52\x1d\xf8\x1d\xf7\x70\x3d\x1d\x52\x1d\xf7\x29\xf7\x85\x15\x50" -+"\x0a\xf7\x71\x16\x68\x6b\x6c\x6a\x71\x9e\x79\xa5\xaf\x8c\x1d\x0e\xde\x0a\x95\x82\x97\xf7\x0d\x0a\xfc\x01\xfb\xd8\x82\x5f\x05\xf8" -+"\x15\x06\xa0\xee\x05\x8c\x8f\x8c\x90\x8f\x1a\x96\x82\x94\x7f\x7a\x81\x81\x76\x86\x1e\x80\x59\x05\xfb\x97\x06\xf8\x03\xf7\xd8\x05" -+"\xfb\x32\xf3\x78\x0a\x85\x89\x84\x81\x4f\x0a\xf7\xed\xf8\xab\x15\x50\x06\x78\x7f\x81\x7b\x7f\x94\x84\x9a\x1f\x94\x06\x63\xfb\x4c" -+"\x05\x79\x06\x78\x7e\x80\x7c\x7f\x94\x84\x9a\x1f\xdd\x06\x9d\x98\x96\x9a\x98\x83\x91\x7b\x1f\x7b\x06\xaa\xf7\x23\x05\xb2\xb4\x9f" -+"\x95\xae\x1b\xab\xa2\x7b\x75\x89\x1f\x8a\x82\x6b\xfb\x25\x05\x80\x06\x78\x7e\x81\x7b\x7f\x94\x84\x9a\x1f\xcf\x06\x9d\x98\x96\x9a" -+"\x97\x83\x92\x7b\x1f\x82\x06\xab\xf7\x27\x05\x8c\x91\x8c\x91\x8f\x1a\xb8\x67\xa8\x53\x68\x73\x82\x73\x6a\x1e\x0e\xf7\x8a\xf8\x04" -+"\x15\xce\x23\x1d\x4a\x98\x0a\xa2\x40\x1d\x4a\x06\xf7\xf3\xf7\xd1\x15\xce\x30\x0a\x4b\x98\x0a\xa1\x9a\x97\x9d\x99\x82\x92\x78\x1f" -+"\x4a\x06\x0e\xf8\x8d\xbe\x15\xda\xf8\x04\x05\xfb\x38\x06\x96\xf7\x2e\x1d\x94\x8d\x8b\x8f\x1b\x99\x99\x90\x1d\x69\x92\x77\x1b\x70" -+"\x76\x83\x76\x6e\xa0\x0a\xfb\x0c\x16\xfb\x05\x06\xd0\xf7\xd1\x05\xf7\x05\x06\xfb\xee\xfb\xd1\x15\xd0\xf7\xd1\x05\xf7\x04\x25\x0a" -+"\xdb\xf8\x04\x15\xfb\x04\x76\x0a\x9d\x87\x84\xa1\x1f\x8e\x8a\x90\x8a\x7d\x77\x82\x77\x85\x71\x19\x0e\xf8\xff\xf8\xd9\x15\x5b\x99" -+"\x05\x8f\x7b\x75\x8f\x7e\x1b\x70\x77\x83\x76\x6d\xa0\x0a\x47\x06\x57\x16\xfb\x05\x06\xd0\xf7\xd1\x05\xda\x4b\x1d\x3e\x06\x96\xbf" -+"\x05\xb9\x95\xae\xae\xae\x1b\x99\x99\x88\x85\x9f\x1f\xfc\x13\xfc\x80\x15\xd0\xf7\xd1\x05\xf7\x04\x25\x0a\xdb\xf8\x04\x15\xfb\x04" -+"\x76\x0a\x9d\x87\x84\xa1\x1f\x8e\x8a\x90\x8a\x7d\x77\x82\x77\x85\x71\x19\x0e\xf8\xe8\xf8\x6d\x15\x94\x94\x8f\x91\x93\x1a\x96\x83" -+"\x92\x3b\x0a\x82\x82\x87\x84\x83\x1a\x81\x93\x83\x95\x93\x8d\x8c\x97\x98\x1e\xf7\x07\xc9\x1d\xf8\x0e\xfb\x09\x15\xb2\xa2\xa0\xac" -+"\xb1\x1a\xba\x67\xad\x57\xf7\x2a\x1d\x5a\xb2\x67\xc1\xd1\xcd\xc7\xcc\xa5\x81\x9d\x75\x9e\x1e\x67\xf7\x1a\x15\xac\xa0\x78\x6e\x67" -+"\x66\x6c\x61\x6c\x74\x9d\xa5\xaf\xb2\x70\x0a\x5e\x9e\x1d\xb8\x1f\x0e\xf8\xdb\xf8\x6d\x15\x94\x94\x8f\x92\x92\x1a\x95\x83\x93\x3b" -+"\x0a\x80\x80\x88\x86\x84\x1a\x80\x93\x83\x96\x93\x8e\x8d\x96\x97\x92\x0a\xfb\xa7\xf7\xc9\xf7\x5e\x1d\xb7\x8a\xa9\xbd\x0a\xa8\x7f" -+"\xa1\x70\x9e\x1f\xb5\xa4\x9f\xa9\xaf\x1a\xb8\x67\xaa\x57\x56\xf7\x12\x0a\x95\x1e\x9c\x9e\xa4\x94\xa7\x1b\xad\xa0\x7a\x71\x6b\x69" -+"\x70\x62\x1f\x0e\xf8\xdb\xf8\x6d\x15\x94\x93\x8f\x93\x92\x1a\x95\x83\x93\x81\x83\x88\x89\x80\x7f\x1e\xfc\x4a\xfc\x2d\x05\x81\x81" -+"\x87\x85\x84\x1a\x80\x93\x83\x96\x93\x8d\x8d\x96\x98\x1e\xf8\x3e\xf7\x09\x15\xb2\xa2\xa0\xad\xb0\x1a\xba\x66\xad\x58\xf7\x2a\x1d" -+"\x59\xb2\x68\xc1\xd1\xcd\xc7\xcc\xa5\x81\x9d\x75\x9e\x1e\x67\xf7\x1a\x15\xab\xa1\x78\x6f\x66\x66\x6c\x61\x6b\x75\x9d\xa5\xaf\xb2" -+"\x70\x0a\x5e\x9e\x1d\xb8\x1f\xfb\xc3\xf8\x27\x15\xf7\x12\x06\x9b\x94\x94\x9a\x98\x86\x8f\x7e\x1f\xfb\x3a\x06\x69\xfb\x2f\x05\x87" -+"\x07\x83\x93\x81\x92\x1e\x95\x8d\x90\x8c\x91\x8e\x05\x91\x94\xb6\x95\x9b\x1b\xab\xa1\x76\x6b\x51\x5e\x5b\x55\x71\x68\x9b\x9c\x7f" -+"\x1f\x91\x86\x88\x8d\x84\x1b\x7f\x80\x80\x7e\x71\xc5\x6b\xba\xd9\xcf\xd3\xdd\xc0\x68\xad\x55\x79\x79\x88\x82\x71\x1f\x0e\xf8\xda" -+"\xf8\x6d\x15\x95\x94\x8f\x92\x92\x1a\x95\x83\x93\x3b\x0a\x80\x81\x88\x85\x84\x1a\x80\x93\x83\x96\x93\x8d\x8c\x97\x98\x92\x0a\xfb" -+"\x30\xf8\x27\x15\x2d\xfb\x40\x53\xfb\x00\x81\x1a\x8a\x83\x05\x88\x97\x85\x92\x92\x95\x92\x94\x90\x1e\xf7\x2b\xf7\xb2\x95\xb9\x05" -+"\xfb\x74\x06\x80\x57\x05\x7e\x88\x93\x81\x97\x1b\x98\x93\x92\x9a\x8e\x1f\x8e\x97\x05\x0e\x82\x0a\xf7\x64\xf7\x09\x1d\x7d\x81\x85" -+"\x83\x82\x1a\x7e\x95\xf7\x62\x1d\x29\x0a\xfb\x01\xf7\x98\x48\x1d\x8d\x0a\xf7\x2e\xf8\x98\x15\x94\x97\x8d\x91\x92\x1a\x97\x82\x94" -+"\x7f\x81\x81\x85\x7e\x83\x1e\x2e\xfb\x1b\x05\x84\x81\x88\x83\x84\x1a\x7e\x93\x82\x98\x95\x94\x91\x98\x94\x1e\xf8\x13\xfb\x58\x15" -+"\xa1\xfb\x19\xbe\x1d\xdb\xf7\x19\x05\xf7\x8c\xbe\x15\xfb\x6e\x06\xf7\x38\xf7\xa9\x05\x92\x06\x0e\x29\x0a\xf7\x08\xf7\x31\x2c\x1d" -+"\xf8\x5a\xf8\xc7\x15\xfb\x64\x37\x1d\x7b\x1d\x9a\x82\x91\x98\x1d\xf7\x96\x06\xa2\xfb\x19\x05\x45\x21\x1d\xd9\xb6\x0a\xa0\x9d\xa2" -+"\xa9\x9d\x1f\xa5\x9b\xa9\x98\x9a\x8d\x08\xa0\x8e\x96\x95\x9c\x1a\x9a\x82\x91\x77\x1e\x6b\x06\x36\xf7\x4c\x8b\x1d\x0e\x29\x0a\xb1" -+"\xf7\xb6\xe1\x1d\xb6\xf7\x01\x15\x99\xf7\x07\x0a\x7e\x83\x87\x89\x83\x7f\x82\x1d\x95\x8f\x91\x92\x1e\x0e\x8c\x0a\x55\x1d\x6e\xf7" -+"\x5f\x2d\x0a\x55\x1d\xfb\x15\xe9\x39\x0a\x55\x1d\x23\xf7\x91\xdb\x1d\x80\x95\x1f\x0e\x55\x1d\x23\xf7\x75\xe0\x0a\x0e\xa5\x1d\xb4" -+"\x1d\xe9\xf8\xd3\x39\x0a\x84\x0a\xae\x16\xf8\xa6\x06\xfb\x84\xf8\xc6\x05\x59\x06\xfb\x38\xfc\x93\x15\xf7\x51\xf8\x47\xf7\x51\xfc" -+"\x47\x05\x0e\x2d\x1d\xf7\x1e\xf9\x65\x48\x1d\x2d\x1d\xf7\x77\xf8\xd3\x39\x0a\x2d\x1d\xf7\x9b\xf7\x10\x1d\x2d\x1d\xf8\x09\xf8\xfe" -+"\x2c\x1d\xf8\xfd\x22\x1d\xa8\x23\x1d\xfb\x29\x32\x1d\xcf\x06\x2d\xfc\x42\xfb\x54\xf8\x75\x05\xfb\x02\x20\x1d\xbb\x58\x1d\x35\x1d" -+"\x47\x06\xe8\xf8\x42\xf7\x57\xfc\x70\x83\x69\x7e\x4d\x5b\x64\x4a\x8a\x19\x46\x06\x7a\x7d\x7d\x7b\x7c\x94\x85\xa0\x1f\xca\x06\xe5" -+"\x89\xe0\xd1\x9d\xe5\x08\x0e\xf7\x49\xbe\x15\xba\xf7\x6b\x05\x81\x1d\x8e\x1a\x96\xf7\x18\x0a\x87\x1e\x82\x63\x8a\x1d\x98\x9b\x96" -+"\x95\xa0\x8f\x1e\xaa\xf7\x23\x05\xfc\x48\x49\x1d\xf8\x01\x06\x4c\x6c\x71\x6e\x62\x1a\x6a\xa5\x79\xb9\xb8\xed\x0a\x87\x8a\x72\x1b" -+"\x79\x82\x91\x98\xaf\xb9\xaf\xd3\x9f\x1f\x93\x8d\xae\xf7\x34\xf7\x11\x1d\x0e\xa4\x1d\xf7\x2a\xf8\x98\x43\x0a\xf7\x52\xfb\x06\x15" -+"\xf7\x19\x06\x82\x65\x8a\x7e\x05\x7f\x93\x83\x98\x9c\x96\x96\x9f\x8f\x1e\xa7\xf7\x15\x05\x8d\x91\x8b\x8e\x8f\x1a\x98\x83\x92\x7d" -+"\x7b\x80\x80\x77\x86\x1e\x83\x63\x05\xfb\x19\x06\xb5\xf7\x57\x05\xf7\xa9\x06\x78\x31\x05\x8a\x85\x8a\x87\x7e\x0a\x96\x9f\x8f\x1e" -+"\xaa\xf7\x23\x05\xfc\x43\x37\x1d\x95\x84\x9e\x1f\xb9\x06\x27\xfc\x61\x05\x5a\x2b\x1d\xf8\x56\x06\xae\xf7\x35\x8c\x99\x05\x97\x83" -+"\x92\x7e\x7a\x80\x80\x77\x87\x1e\x72\xfb\x04\x05\xfb\xbe\x06\x0e\x85\x0a\xf7\x21\xf8\x98\x43\x0a\xf8\x35\xfb\x06\x15\x5c\xfb\x6b" -+"\x05\x59\x06\x74\x7d\x43\x1d\xf7\x20\x23\x0a\x64\x06\x36\x0a\xa0\x06\xa2\x52\x0a\xfb\x0c\x24\x0a\x79\x7d\x95\x83\x9e\x1f\xba\x06" -+"\x61\xfb\x57\x05\xfb\x94\x34\x0a\xbc\x5e\x1d\xfb\x0c\x06\x74\x7d\x80\x79\x7c\x95\x84\x9e\x1f\x9d\x26\x1d\x62\x06\x73\x7e\x81\x78" -+"\x7d\xf7\x26\x1d\xba\xf7\x6b\x05\x0e\xf7\x51\xf7\xf6\x15\xa5\xc2\x9d\xa4\xae\xa9\x08\xb3\xb8\xbe\x9f\xc2\x1b\xb8\xb9\x7c\x73\xa4" -+"\x1f\x95\x82\x9e\x6d\x86\x1a\x88\x66\x05\x85\x98\x82\x94\x9c\x95\x95\x9f\x90\x1e\xa2\xf7\x02\x05\x8c\x90\x8c\x8f\x8f\x1a\xf7\x20" -+"\x0a\x87\x79\x05\xb3\x65\x55\xa0\x4c\x1b\xfb\x12\xfb\x06\x35\xfb\x1b\x57\x1f\x6e\x06\x77\x80\x81\x77\x7f\x92\x86\x9b\x1f\xa3\x06" -+"\x81\x5b\x05\x71\x06\x76\x80\x81\x77\x7f\x93\x86\x9b\x1f\xa5\x06\x60\x8c\x83\x92\x72\x1e\x2d\xa8\xda\x51\xed\x1b\xd2\xd4\xa8\xc1" -+"\xcb\x1f\xa7\xa3\x93\x95\x98\x1a\x96\x83\x93\x7e\x81\x86\x89\x82\x82\x1e\x4c\x46\x56\x73\x47\x1b\x49\x57\xa9\xc1\x6d\x1f\x7a\xa8" -+"\x86\xa2\xb4\x1a\xf7\x91\xf7\x58\x1d\xfb\x92\x06\x95\xbb\x05\xf7\xb1\xf7\x58\x1d\x0e\xf7\xea\xc0\x1d\x45\x1d\xfb\x2e\xf9\x73\x15" -+"\x77\x7e\x7c\x75\x4a\xbb\x67\xe0\xc1\xb8\x9a\xa9\xb1\xd8\x1d\x45\x1d\x54\xf9\x80\xf7\x04\x1d\xe0\x35\x05\x84\x92\x90\x88\x92\xf7" -+"\x44\x1d\x45\x1d\xfb\x6f\xfb\x16\x15\x94\x95\x8f\x92\x93\x1a\x95\x80\x95\x81\xef\x1d\x45\x1d\x67\xf9\x64\x15\x69\xf7\x3a\x1d\x71" -+"\x1f\x0e\xf7\x5f\xf8\x11\x15\x43\xfb\xde\x05\x62\x06\x73\x86\x1d\x9c\x9b\x82\x91\xca\x0a\xf7\x97\x06\xc0\x0a\xd3\xf7\xde\x05\xa7" -+"\x66\x1d\x70\x06\x9d\xdc\x05\xa0\x06\xa1\x6b\x1d\x79\x7c\x2a\x0a\xba\x06\x7a\x3a\x05\xfb\x98\x06\x9d\xdc\x05\xbc\x06\xa2\x6b\x1d" -+"\x78\x7d\x25\x1d\x9e\x06\x79\x3a\x05\x68\x06\x68\x1d\xdf\x16\xf7\x98\x06\x7d\x4b\x05\xfb\x97\x06\x0e\x86\x0a\xf7\x7e\xf8\x9b\x15" -+"\xfb\x2f\xfb\x01\x05\x7b\x84\x85\x82\x7f\x1a\x7f\x95\x82\x97\x8f\x98\x90\x8f\x91\x1e\xf7\x0d\xe2\xe1\x35\x05\x83\x92\x90\x89\x91" -+"\xf7\x44\x1d\xf7\x75\xf8\x94\x15\x3f\x0a\x3a\x21\x1d\xf7\x69\x30\x0a\x3c\x06\x36\x0a\xdd\x06\xa1\x99\x96\x9e\x99\x82\x92\x78\x1f" -+"\xfb\x68\x06\x74\x7d\x7f\x79\x7c\x94\x85\x9e\x1f\xf8\x5d\x16\x26\xfc\x65\x05\x40\x7b\x3f\x50\x3c\x1b\x61\x59\xa1\xa9\x70\x1f\xa1" -+"\x77\x8a\x8c\x81\x1b\x7a\x7d\x7d\x7b\x82\x8d\x88\xa2\x77\x1f\x5d\xbd\xb4\x79\xc3\x1b\xf4\xf4\xde\xef\xa0\x1f\xf1\xf8\x67\x05\xa0" -+"\x30\x0a\xfb\x48\x20\x1d\x0e\xc8\x1d\x7a\xf9\x65\xc5\x1d\x3b\x1d\xf7\x14\xf7\x10\x1d\x3b\x1d\xf7\x78\xf8\xfe\x2c\x1d\xf8\x48\x22" -+"\x1d\xf7\x1b\x27\x1d\xfb\xd4\x83\x1d\xf7\x8a\xb6\x0a\x9a\x94\x9b\x9b\x9a\x1f\x9b\x98\xa7\x9c\x9a\x90\xbc\x9b\x8b\x8b\x90\x91\x08" -+"\x91\x91\x8e\x92\x91\x1a\x9b\x82\x91\x76\x1e\xfb\x18\x06\x0e\x75\x1d\x9f\x0a\x9b\xf9\x2c\x15\x6f\x71\x72\x70\x75\x9b\x7c\xa0\xa9" -+"\xa4\xa4\xa7\xa0\x7c\x9a\x74\x1f\xf7\x63\x16\x6f\x71\x72\x6f\x76\x9b\x7c\xa0\xa8\xa4\xa4\xa7\xa0\x51\x1d\xf7\x43\xf8\x98\x43\x0a" -+"\xf7\xe7\xf7\x18\x15\xf7\x1a\x31\x1d\xfb\xd1\x37\x1d\x95\x84\x9e\x1f\xf7\x17\x26\x1d\xfb\x1a\x2b\x1d\xf7\xd1\x06\xa2\x52\x0a\xfb" -+"\x17\x06\x0e\x3b\x1d\xf7\x89\xf9\x49\xc4\x1d\xb9\x1d\xe1\xf8\xff\xdb\x1d\x81\x95\x1f\x0e\xf7\x41\xf7\x6f\x15\xe8\xcf\xe0\x6e\xa8" -+"\x51\xa9\xfb\x5c\x19\xe6\x2a\x1d\x57\x06\x6b\xf7\x4a\x70\xbe\x38\xb3\xf7\x93\xf7\x50\x18\x9a\x27\x1d\xfb\x0b\x32\x1d\xa8\x06\xfb" -+"\xc9\xfb\x77\xbd\xf7\x77\x05\xd1\x27\x1d\xfb\x3e\xe4\x1d\x3c\x0a\x47\x06\x0e\x87\x0a\xf7\x19\xfb\x24\x27\x0a\x40\x0a\xf7\x7f\xf9" -+"\x40\x2d\x0a\xf8\x13\x22\x1d\xd9\xfc\x61\xbe\x1d\xf7\xa6\xf8\x61\x05\x0e\x40\x0a\xf8\x18\xf8\x73\x15\x95\x96\x8e\x92\x93\x1a\x95" -+"\x81\x95\x7f\x81\x84\x87\x7f\x80\x1e\xfb\x03\xfb\x10\x05\x81\x80\x88\x85\x83\x1a\x80\x64\x1d\x40\x0a\xd2\xfb\x24\x27\x0a\x40\x0a" -+"\xf7\x8e\xf7\xe6\x15\x58\x64\x65\x5a\x6d\xa5\x75\xaf\x1f\x95\x06\xba\xb7\xb3\xb5\xac\x71\xa3\x66\x1f\x0e\xab\x1d\x54\x1d\xf7\x05" -+"\xf9\x73\x2d\x0a\x54\x1d\x84\xf9\x06\x39\x0a\x54\x1d\xfb\x17\x2e\x27\x0a\xf8\x62\x9a\x0a\x99\x82\x92\xf6\x0a\xc7\x1d\x2a\xf7\x8c" -+"\xc5\x1d\x31\x0a\xf0\xf7\x65\x97\x0a\x31\x0a\xf7\x27\xf7\x25\x2c\x1d\xcd\xbe\x15\x90\xa0\x8c\x97\x05\x99\x82\x94\x7c\x7c\x81\x80" -+"\x76\x86\x1e\x7c\x40\x05\xf7\x73\x06\xa6\xf7\x0f\x74\x8f\x80\x8e\x7d\x90\x19\x50\xa0\x6c\xba\xcf\x1a\xc5\xa7\xd0\xb5\xb7\x1e\xbf" -+"\xbb\xd5\xa9\xd6\x1b\xf7\x07\xd2\x4a\x22\xfb\x05\x37\x33\xfb\x17\x72\x1f\x84\x8a\x6f\xfb\x13\x05\xf7\x78\x06\x9a\xcd\x05\x8c\x90" -+"\x8c\x94\x8f\x1a\x99\x82\x94\x7c\x7c\x81\x80\x76\x87\x1e\x85\x73\x05\xfb\x0d\x06\x92\xad\xca\x9e\xb1\x9e\xb0\xac\x19\xc5\xc0\xad" -+"\xd6\xda\x1a\xf7\x12\x2a\xe1\xfb\x22\x31\x3f\x6c\x4e\x4e\x1e\x50\x50\x6b\x40\x3d\x1a\x4e\xa0\x55\xb0\x6b\x1e\x9e\x7b\x9c\x82\xae" -+"\x7e\x83\x68\x18\x60\xf8\x65\x43\x0a\x0e\x9d\x0a\xf8\x2a\xf8\xd3\x15\xfb\x3a\xfb\x31\xfb\x47\xfb\x51\xfb\x19\xda\x31\xf7\x08\xdf" -+"\xd7\xb1\xd7\xcd\x1f\xcc\xd7\xad\xe2\xe5\x1a\xc9\x7a\xc1\x6a\xb4\x1e\xb9\x66\x5d\xa0\x4b\x1b\x83\x58\x15\xe5\xc9\x41\x20\xfb\x2f" -+"\xfb\x15\xfb\x2d\xfb\x17\x2e\x4e\xd3\xf7\x02\xd7\xa7\xd3\xc1\xca\x1f\xcb\xc2\xc7\xab\xcc\x1b\xfb\x7b\x83\x15\x91\x94\x8e\x93\x93" -+"\x1a\x97\x83\x94\x7e\x81\x83\x85\x7e\x82\x1e\x2e\xfb\x1b\x05\x84\x81\x88\x84\x83\x1a\x7e\x93\x82\x98\x95\x93\x91\x98\x95\x1e\x0e" -+"\xa7\x1d\xf8\x02\xf9\x1b\x2d\x0a\xf7\xe1\xb1\x15\xf7\x33\x9c\xf7\x14\xf7\x15\xf7\x25\x1a\xf4\x45\xd5\xfb\x04\x98\x1e\x92\xaf\x05" -+"\xf1\x23\x1d\xfb\x91\x21\x1d\xee\x06\x84\x68\x05\xfb\x34\x79\xfb\x13\xfb\x15\xfb\x25\x1a\x22\xd1\x41\xf7\x04\x7e\x1e\x81\x5d\x05" -+"\x25\x29\x1d\xf7\x91\x06\xa1\x9a\x97\x9c\x9b\x82\x91\x77\x1f\x28\x06\xf3\xf8\x72\x15\xe2\x7f\xc0\x51\x3a\x1a\xfb\x01\x27\x24\xfb" -+"\x0f\x79\x1e\x57\x16\x35\x97\x55\xc5\xdc\x1a\xf7\x02\xee\xf1\xf7\x10\x9d\x1e\x0e\xb2\x1d\xf8\x24\x22\x1d\xb6\xe6\x0a\xfb\x24\x06" -+"\x74\x7d\x80\x79\x7d\x95\x83\x9d\x1f\xbc\x06\x4c\xfb\xb0\x05\x42\x8f\x65\xaa\xc3\x1a\x9b\x8e\xa3\x92\xac\x1e\xaf\xf7\x3f\x05\x2b" -+"\x24\x0a\x79\x7d\x95\x83\x9e\x1f\xb4\x06\x72\xfb\x05\x05\x84\x6c\x88\x75\x77\x1a\x33\xc0\x57\xee\x82\x1e\x71\xfb\x12\x05\x5a\x2b" -+"\x1d\xf7\x2f\x44\x0a\x55\x06\xa5\xf7\x12\xf7\x2a\x91\xca\xc9\xb0\xf7\x48\x19\x9e\xe2\x05\xa8\x23\x0a\x3a\x06\x6e\xfb\x1f\x6c\xfb" -+"\x20\x5c\x59\x20\x85\x19\x0e\x4b\x0a\xf7\x6c\xf8\x4a\x2d\x0a\x4b\x0a\xc3\xf7\xdd\x39\x0a\x4b\x0a\x6f\xfc\x1a\x27\x0a\x94\x0a\x49" -+"\x0a\x8e\xf7\x5f\x2d\x0a\xf7\xce\x7c\x15\xf7\x1d\x94\xee\xdf\xf6\x1a\xaf\x7b\xad\x71\x9d\x1e\x70\x62\x1d\xcf\xd7\xc6\xe4\xaf\xaf" -+"\x80\x7b\x9c\x1e\x93\x83\xa0\x6d\x79\x1d\x89\x83\x05\x93\x0a\xa1\x6c\xb9\x73\xbe\x85\x19\x7c\x47\x05\xa9\x06\xa0\xd3\x1d\x49\x0a" -+"\x3f\xf7\x91\xd4\x1d\x49\x0a\xfb\x85\xfd\x05\x27\x0a\xf9\x25\xf8\xc7\x15\xfc\x26\x06\x80\x5a\xf7\x1e\xfb\x6c\xfb\x82\xfb\x8a\x80" -+"\x57\x05\xf8\x2d\x06\xab\xf7\x29\x05\x8c\x90\x8c\x91\x8e\x1a\x96\x83\x92\x81\x7e\x81\x82\x7d\x87\x1e\x6f\x20\x05\xfb\xbc\x06\xf7" -+"\x8a\xf7\x8a\xfb\x21\xf7\x6b\x05\xf7\xad\x06\x7d\xfb\x03\x8a\x89\x05\x83\x89\x95\x82\x96\x1b\x98\x95\x94\x99\x8e\x1f\x0e\x90\x0a" -+"\xf8\x1e\xf7\xd0\x15\xb6\xf7\x58\x05\xf7\x2d\x06\x6f\xfb\x17\x05\x89\x82\x8b\x8b\x89\x1a\x7f\x95\x81\x97\x9a\x96\x94\x99\x8e\x1e" -+"\x8e\x92\xb2\xf7\x4d\x05\xfc\x63\x06\x64\xfb\x4a\x05\x8a\x87\x8b\x88\x87\x1a\x7e\x94\x82\x96\x91\x96\x90\x90\x91\x1e\x90\x8f\x8b" -+"\x8b\x90\x9b\xa7\xf7\x1a\x18\xf7\x2e\x06\x60\xfb\x58\x05\x26\x06\x74\x7c\x7e\x79\x7f\x96\x83\x9e\x1f\xee\x06\x5c\xfb\x6a\x05\x26" -+"\x06\x76\x7b\x7e\x7b\x7d\x96\x83\x9c\x1f\xf7\x8f\x06\x95\x8f\x8c\x8e\x92\x1f\x93\x8e\x94\x98\x94\x1a\x99\x81\x93\x78\x1e\x29\x06" -+"\xb9\xf7\x6a\x05\xf1\x06\x96\x94\x8e\x8f\x90\x1f\x90\x8f\x91\x97\x8f\x1a\x9c\x83\x92\x77\x1e\x0e\x5f\x0a\x87\xf8\xd3\x39\x0a\xf7" -+"\xd7\x16\xf2\x23\x1d\x29\x06\xef\xf8\x61\x05\xf7\x2f\x06\x7d\x4a\x8a\x82\x05\x86\x07\x82\x8a\x96\x81\x96\x1b\x9c\x95\x94\xa0\x87" -+"\x1d\x86\x6c\x1d\x67\x0a\xef\x06\x79\x39\x05\xaa\x06\xa0\xda\x1d\x66\x90\x1f\x0e\xf7\x9c\xf7\xc9\x15\x8d\x96\x05\x8c\x8f\x8b\x8e" -+"\x8e\x1a\x98\x8a\x83\x93\x7f\x1b\x7b\x80\x81\x79\x87\x1f\x7a\x3d\x05\x8a\x87\x8b\x89\x87\x1a\x7f\x94\x82\x97\x9b\x96\x96\x9c\x8f" -+"\x1e\x8f\x9b\x05\xf7\x62\x06\x88\x7e\x05\x8a\x87\x8b\x88\x88\x1a\x7f\x94\x82\x97\x9b\x97\x96\x9c\x8f\x1e\x9b\xd9\x05\x8c\x8f\x8c" -+"\x8f\x8d\x1a\x97\x8c\x81\x94\x7f\x1b\x7b\x7f\x81\x79\x87\x1f\x88\x7d\x05\x5e\xf7\x9e\x15\xfb\x3e\xfb\x32\xfb\x45\xfb\x54\xfb\x17" -+"\xdc\x30\xf7\x09\xf7\x3d\xf7\x32\xf7\x46\xf7\x53\xf7\x16\x3a\xe7\xfb\x08\x1f\x7c\x58\x15\xea\xcb\x42\x20\xfb\x32\xfb\x16\xfb\x2b" -+"\xfb\x1c\x32\x4b\xd7\xf5\xf7\x2d\xf7\x17\xf7\x2e\xf7\x15\x1f\x0e\x2e\x1d\xfb\x71\xf8\xde\x48\x1d\x2e\x1d\x49\xf8\xb7\x97\x0a\x2e" -+"\x1d\x9f\xf8\x77\x2c\x1d\xb8\x1d\x7b\x1a\x30\xcf\x49\xe9\x1e\xa4\x8c\x05\x62\x71\x78\x70\x6a\x1a\x6a\xa5\x79\xb9\xb7\xb7\xa1\xa1" -+"\x94\x83\x93\x82\x87\x87\x89\x89\x87\x1e\x7b\x74\x88\x8a\x71\x1b\x7a\x82\x91\x98\xa1\x98\x9b\xae\xa3\x1f\xf7\x0e\xde\xb8\xc0\x9d" -+"\xdc\x08\x0e\xaf\x1d\x0e\xf7\xe4\xf7\x90\x15\xf7\x79\xf7\x98\x05\xa1\x06\xa1\x40\x1d\xfb\x02\x06\x74\x7c\x7f\x79\x7d\x2a\x0a\xa6" -+"\x06\xfb\x4a\xfb\x63\x2c\xf7\x63\x05\xaa\x2a\x1d\xfb\x03\x06\x74\x7c\x7f\x7a\x7c\x2a\x0a\xa0\x06\xf7\x0a\xfb\x96\x5f\xfb\x5f\x05" -+"\x26\x55\x0a\xf7\x8e\x2a\x1d\x29\x06\x85\xf9\x2c\x15\x6f\x71\x72\x70\x75\x9b\x7c\xa0\xa8\xa4\xa4\xf7\x05\x0a\x75\x9b\x7c\xa0\xa9" -+"\xa4\xa4\xa7\xa0\x7b\x9a\x75\x1f\x0e\xf7\x2a\xf8\x98\x43\x0a\xf7\xee\xfb\x14\x15\xf7\x79\xf7\x98\x05\xa0\x06\xa3\x99\x96\x9d\x99" -+"\x81\x93\x77\x1f\xfb\x02\x06\x73\x7e\xf7\x17\x0a\xa7\x06\xfb\x4a\xfb\x63\x2c\xf7\x63\x05\xa9\x23\x0a\xfb\x03\x06\x74\x7d\x43\x1d" -+"\x9f\x06\xf7\x0a\xfb\x96\x5f\xfb\x5f\x05\x27\x33\x0a\xf7\x8f\x31\x1d\x29\x06\x0e\x2e\x1d\x46\xf8\xfc\xe1\x1d\x0e\x2e\x1d\xb4\xf8" -+"\xc2\xc4\x1d\xb7\x1d\xf8\x1b\xf7\x09\x1d\x7e\x82\x85\x82\x82\x1a\x7e\x94\xf7\x62\x1d\xd3\xbd\x1d\x78\x7d\x25\x1d\x94\x06\xf7\xc1" -+"\xf7\xa5\xf7\x2c\x1d\x92\x91\xc3\x0a\x91\x0a\xf7\x89\xe0\x0a\xf7\x71\x16\x6a\x6a\x6b\x6b\x72\x9f\x77\xa3\xae\xab\xaa\xac\xa5\x78" -+"\x9e\x71\x1f\x0e\x91\x0a\xf7\x99\x15\x94\x83\x86\x8d\x84\x1b\x7b\x7c\x7c\x7b\x87\x8e\x85\x50\x1d\x82\x92\x8f\x89\x94\x1b\x9a\x9a" -+"\x9a\x9b\x90\x88\x90\x84\x92\x1f\x0e\xf8\xb6\x22\x1d\x7a\x3c\x05\x89\x84\x8a\x82\x87\x1a\x7d\x94\x82\x9a\x9a\x95\x96\xa0\x8f\x1e" -+"\xa9\xf7\x21\x05\xfc\x5e\x06\x70\xfb\x16\x05\x89\x81\x8a\x85\x87\x1a\x7d\x94\x82\x9a\x9a\x95\x96\xa0\x90\x1e\x9d\xe5\x05\xa9\xfb" -+"\x61\x15\x8e\x9b\x05\x8f\x9d\x8b\x8b\x8d\x1a\x99\x81\x94\x7d\x7b\x81\x80\x75\x87\x1e\x77\x2e\x05\x88\x7b\x8b\x8b\x87\x1a\x7d\x94" -+"\x82\x9a\x9a\x94\x95\xa2\x90\x1e\x91\xa5\x05\xf7\x5e\x06\x88\x7b\x05\x89\x80\x8a\x86\x88\x1a\x7c\x94\x82\x9a\x9a\x95\x96\xa1\x8f" -+"\x1e\xa0\xe8\x05\x8e\x98\x8b\x8e\x8e\x1a\x9a\x82\x94\x7c\x7c\x81\x80\x75\x86\x1e\x85\x71\x05\xfb\xe1\xfb\x94\x15\x9c\xda\x05\x8d" -+"\x98\x8c\x8e\x8f\x1a\x9a\x82\x94\x7c\x7c\x81\x80\x75\x86\x1e\x6e\xfb\x21\x05\xf8\x5d\x06\xa6\xf7\x16\x05\x8d\x92\x8c\x94\x90\x1a" -+"\x99\x82\x94\x7c\x7c\x82\x80\x75\x86\x1e\x78\x31\x05\x0e\xaf\x1d\xf7\x16\xf9\x72\xa8\x0a\x47\x1d\x9b\xf9\x66\x15\x93\x83\x86\x8e" -+"\x83\x1b\x7b\x7c\x7c\x7b\x87\x8e\x86\x93\x83\x1f\xe8\x29\x05\x82\x91\x8f\x89\x95\x1b\x9a\x9a\x9a\x9b\x90\x88\x8f\x83\x93\x1f\x0e" -+"\x60\x0a\xf8\x62\xf9\x73\x15\x98\xf7\x07\x0a\x7f\x82\x87\x89\x83\x7f\x82\x1d\x8b\x8b\x95\x9d\x1e\x0e\x60\x0a\xf7\xf9\xf9\x89\xf7" -+"\x19\x1d\xf8\x5e\x16\xb3\xf7\x4b\x05\x8d\x94\x8b\x8c\x8e\x1a\x96\x81\x94\x7f\x7a\x81\x82\x75\xcd\x1d\x37\x0a\xfb\x12\xf8\x29\x32" -+"\x0a\x81\x0a\x67\xf7\xea\x15\x9a\x95\x8f\x71\x0a\x87\x89\x83\x7f\xd3\x0a\xf3\x1d\x8d\x0a\xf8\xc6\xf8\xc7\x15\xfc\x31\xa2\x0a\xfb" -+"\x14\x34\x0a\xf7\x97\x06\x82\x65\xe5\x0a\x99\x9b\x96\x96\x9f\x90\x1e\xfc\x26\xfc\x39\xd8\x0a\x8c\x0a\xf7\xbe\xc0\x1d\xf8\x5d\x16" -+"\x77\x2e\x05\x8a\x85\x8a\x86\x86\x1a\x7a\x93\x82\x9a\x9a\x94\x95\xa1\x90\x1e\xa3\xf7\x02\x05\x8d\x98\x8c\x8e\x8f\x1a\x9a\x7d\x94" -+"\x71\x1e\x6d\x06\x36\x0a\xb4\x4c\x1d\xfc\x1b\x36\x1d\xbd\x06\x58\xfb\x7e\x71\xfb\x18\x4b\x3b\x31\x7d\x19\x77\x89\x86\x86\x85\x71" -+"\x73\xfb\x05\x18\x89\x81\x8a\x86\x87\x1a\x7e\x94\x82\x9a\x99\x95\x95\x9f\x8f\x1e\xa2\xf4\x05\xf7\x9f\x22\x1d\xf7\x55\x26\x1d\xfb" -+"\x9c\x06\xc9\xbb\xac\xc8\xa4\xf7\x07\x08\x0e\xa4\x1d\xf7\x4f\xf7\x9e\x15\xf7\x19\x06\x83\x65\x05\x8a\x88\x8a\x83\x89\xf7\x1b\x0a" -+"\x96\x9f\x8f\x1e\xa7\xf7\x15\x05\x8c\x90\x8c\x90\x8e\x6f\x1d\x80\x77\x86\x1e\x83\x63\x05\xfb\x19\x34\x0a\xf7\xa9\x06\x78\x31\x05" -+"\xf7\x55\x1d\x94\x82\x98\x9c\x95\x95\xa0\x8f\x1e\xab\xf7\x23\x05\xfc\x44\x06\x75\x7c\x7f\x79\x7d\x2a\x0a\xba\x26\x1d\x59\x55\x0a" -+"\xf8\x56\x06\xae\xf7\x35\x05\x8c\x8e\x8b\x90\x90\x1a\x96\x82\x94\x7e\x7c\x7f\x80\x77\x87\x1e\x73\xfb\x04\x05\xfb\xbf\x06\xf7\x3a" -+"\xf9\x2d\x15\xdd\x0a\xf7\x05\x0a\x76\x9a\x7c\xa1\xa8\xa4\xa3\xa7\xa0\x51\x1d\xf8\x1b\x22\x1d\xa1\x1d\xaa\x21\x0a\x75\x06\x70\xf7" -+"\x1a\x7e\xc4\x77\xb6\x73\x9f\x19\xa0\x9f\xab\xb4\xaf\xbe\xc2\xdb\x93\x94\xa3\x90\x81\x64\x18\x8a\x80\x05\x79\x94\x81\x9b\x99\x94" -+"\x95\xa0\x90\x1e\x97\xc2\x05\x8d\x97\x8c\x90\x8e\x1a\x9b\x7e\x94\x71\x51\x75\x78\xfb\x17\x31\x1e\x5a\x44\x7e\x7f\x70\x88\x08\x0e" -+"\xf7\x20\xf8\x60\x15\x77\x42\x8b\x8b\x89\x1a\x7f\x94\x82\x98\x98\x93\x92\x9d\x92\x1e\x94\xa5\x95\x9e\x97\x9b\x08\xbb\xae\xca\xa5" -+"\xda\x1b\xda\xbd\x6c\x5a\x69\x77\x6a\x68\x74\x1f\x71\x63\x53\x7f\x3b\x1b\x6d\x22\x0a\xbc\x06\xcc\xcc\x7d\x77\xa2\x1f\x9a\x7e\x93" -+"\x79\x76\x1a\x68\x78\x66\x6b\x71\x1e\x6c\x66\x59\x7c\x4a\x1b\x3a\x56\x9b\xb5\x50\x1f\x93\x80\x83\x8e\x84\x1b\x7e\x7c\x7c\x7d\x60" -+"\xf7\x0d\x5b\xf7\x02\xe9\xca\x9e\xb4\xbd\x1f\xb6\xb0\xa4\xbc\xbd\x1a\xc3\x6e\xb1\x50\xa0\x1e\xdd\xa9\xb4\xbc\xd1\x1a\xdb\x48\xbe" -+"\x22\x51\x65\x81\x6c\x50\x1e\x83\x7d\x88\x8a\x88\x1b\x87\x89\x90\x96\x9f\x82\x95\x7b\x7c\x82\x82\x7a\x88\x1f\x0e\x8f\x0a\x0e\xf8" -+"\xc9\x22\x1d\xb9\x96\x1d\x77\xbb\x1d\x9a\x81\x92\x78\x1f\x58\x06\xfb\x39\xf9\x5d\x15\x76\x7f\x7b\x70\x4e\xbe\x64\xd8\xbe\xba\x9c" -+"\xa9\xad\x1f\xa3\xa1\x9e\xac\xf7\x41\x1d\x7e\x5c\x70\x55\x1b\x5c\x67\xa3\xab\x8e\x8b\x8d\x8c\x8d\x1f\x8d\x07\x8c\x07\x91\x07\x96" -+"\x82\x94\x81\x1e\x0e\x83\x0a\x0e\xf8\xbb\x22\x1d\xae\x2f\x0a\xfc\x0f\x51\x0a\xb7\x06\x47\xfb\xd0\x05\x22\x74\x5f\x52\x51\x1b\x83" -+"\x85\x8c\x8f\x7a\x1f\x97\xbf\x8c\x96\x05\x9a\x80\x97\x7d\x7d\x82\x81\x76\x86\x1e\x7e\x4f\x05\x89\x83\x8a\x82\x87\x1a\x78\xab\x7d" -+"\xb9\xb5\xb2\x9a\xa7\xa9\x1e\xad\xac\xa3\xbf\x9c\xdd\xd1\xf7\xd2\x18\xf7\x54\x48\x0a\x68\x20\x0a\xf7\x11\x2b\x0a\x66\x06\x0e\xab" -+"\x1d\x85\x0a\x9d\x0a\xb2\x1d\x94\x0a\xf8\xb0\xf8\x96\x15\x4e\x0a\xfb\x0c\xe8\x2e\xf7\x0d\xd2\xd4\xa8\xc1\xcb\x1e\xa7\xa3\x93\x95" -+"\x98\xf7\x1a\x0a\x89\x82\x82\x1e\x4b\x43\x5a\x74\x46\x7d\x1d\x94\x9b\x60\x1d\x8d\x8e\x1a\x96\x81\x93\x7f\x7a\x81\x81\x77\x86\x1e" -+"\x0e\x90\x0a\xa9\x1d\x0e\xf8\x1c\x22\x1d\xad\x06\x98\x06\x9f\x8a\x99\x96\x9d\x1a\x9b\x7f\x92\x71\x1e\xfb\x03\x06\x7b\x8c\x05\x88" -+"\x06\x78\x8e\x79\x7d\x79\x1a\x79\x95\x86\xab\x1e\xa9\x06\x84\x6b\x43\x89\x60\x80\x5f\x6f\x19\x43\x5e\x5f\x3e\x3d\x1a\x29\xcd\x54" -+"\xf7\x0f\x88\x1e\x84\x6b\x05\x68\x06\x6c\x79\x81\x78\x7c\x98\x84\xa6\x1f\xf7\x0b\x06\xa9\x9c\x96\x9f\x99\x7f\x91\x71\x1f\x6b\x06" -+"\x92\xab\xd3\x8d\xb6\x96\xb7\xa7\x19\xd2\xb8\xb7\xd8\xd9\x1a\xed\x48\xc3\xfb\x0d\x8d\x1e\xfb\x13\xfb\xed\x15\x25\x92\x5e\xae\xd2" -+"\x1a\xbb\xa2\xba\xb2\xac\x1e\xb1\xab\xb7\x9a\xcd\x90\x08\xc0\x16\xf1\x83\xb7\x69\x42\x1a\x55\x6a\x51\x5a\x6c\x1e\x6c\x78\x5f\x7f" -+"\x56\x87\x08\x0e\xa5\x1d\xf8\xac\xbe\x15\xfb\x02\x96\x0a\xf8\x56\x06\x76\x33\x05\x8a\x88\x8a\x85\x87\x1a\x7e\x93\x84\x98\x9b\x96" -+"\x95\xa0\x90\x1e\x0e\xf8\x13\xbe\x15\x20\x22\x0a\xf7\x5b\x21\x0a\x64\x06\x7a\x1d\x05\x50\x36\x50\x73\x4f\x1b\x5f\x75\x9e\xb2\x98" -+"\x8d\x97\xac\x0a\x4c\xb9\x61\xd0\xc7\xc8\x9f\xb9\xd5\x1e\x0e\xb1\xbe\x15\x62\x24\x1d\xf8\xb1\x5e\x1d\x5d\xb0\x1d\x0e\xf8\xdb\xbe" -+"\x15\x31\xb0\x1d\x3f\x0a\x62\x24\x1d\xf8\xa5\x06\x76\x33\x05\x8a\x87\x8a\x85\x88\x1a\x7e\x93\x84\x99\x9b\x28\x1d\x0e\xf7\x0e\x22" -+"\x1d\xf7\x1e\x26\x1d\x59\x3f\x1d\xf7\x78\x06\xf7\x0f\xe3\xd5\xf2\xaf\x81\xa9\x76\xa1\x1f\xab\x6e\x45\x9f\x3a\x1b\x54\x34\x0a\xd9" -+"\xf7\x5a\x1d\xfb\xd5\x06\x6a\xfb\x1f\x05\x8a\x85\x8a\x87\x87\x1a\x7f\x93\x83\x98\x9b\x97\x96\x9f\x90\x1e\xf7\x02\xfc\x06\x15\xbb" -+"\xf7\x6b\x05\xcd\x06\xf7\x06\xbb\x70\x4b\x42\x4b\x58\x32\x1f\x0e\xf7\x59\x22\x1d\xb8\x44\x0a\xfb\x29\xc5\x0a\xf7\x6b\x9c\x1d\xaf" -+"\xac\x9e\xf7\x33\x1d\x60\x06\x4d\xfb\x9e\x15\xba\xf7\x6b\x05\xc0\x06\xf7\x06\xbc\x70\x4a\x43\x4c\x58\x31\x1f\xf8\x15\xf8\x61\x15" -+"\xb2\x23\x0a\xfb\x13\x3a\x0a\xaf\x26\x1d\x62\xc9\x0a\x9d\x1f\xf7\x21\x31\x1d\x5c\x06\x0e\xf7\x88\x22\x1d\xc3\x44\x0a\xfb\x34\xa2" -+"\x0a\xfb\x10\x06\x4d\xfb\x9e\xd8\x0a\xf8\x7f\xf7\x96\x15\xfb\x21\x65\x29\x38\xfb\x13\x1b\x56\x71\x95\xba\x46\x1f\x91\x82\x84\x8e" -+"\x86\x1b\x7e\x7d\x7d\x7f\x79\xa1\x77\xb5\x77\x1f\x74\xba\xb1\x82\xbc\x1b\xf1\xda\xb0\xd9\xc8\x1f\xc4\xd2\xab\xe6\xe5\x1a\xf7\x1d" -+"\x3c\xe2\xfb\x11\x49\x5a\x79\x60\x58\x1e\x8e\x98\x8c\x91\x91\x1a\x9a\x83\x93\x7b\x79\x86\x83\x5a\x7e\x1e\x76\x3d\x05\x87\x7c\x88" -+"\x7c\x85\x1a\x7e\x95\x82\x99\x98\x94\x94\x9e\x94\x1e\x94\x9d\x8d\x91\x91\x95\x08\xc8\xac\xc6\xab\xd7\x1b\xee\xc7\x4d\x23\x7c\x8a" -+"\x7b\x89\x79\x1f\xfb\xa2\x06\x70\x7d\x82\x79\x7c\x97\x82\xa0\x1f\x0e\xf7\x55\xf7\x9e\x15\x88\x72\x8a\x7c\x77\x1a\xfb\x1a\xcb\x33" -+"\xed\xd3\xc8\xb3\xdb\xbd\x1e\xba\xd8\xa4\xe3\xe6\x1a\xf7\x1a\x4f\xdd\x28\xfb\x01\x2d\x27\xfb\x33\x62\x1e\x59\x34\x0a\xbd\x06\xa3" -+"\x99\x96\x9d\x99\x81\x93\x77\x1f\xfb\x0b\x06\x73\x7d\x81\x79\x7c\x95\x83\x9e\x1f\x9d\x06\x27\xfc\x61\x05\x62\x24\x1d\xf7\x20\x23" -+"\x0a\x5b\x06\xba\xf7\x6b\x05\xf7\xc1\xf7\x97\x15\xd3\xb2\x4f\xfb\x04\x2d\x6c\x2d\x55\x49\x1f\x5f\x68\x68\x77\x62\x1b\x44\x5d\xd2" -+"\xf7\x02\xd5\xa0\xd4\xb3\xcb\x1f\xce\xb5\xb8\xaa\xc1\x1b\x0e\xf8\xa7\x22\x1d\xb3\x2f\x0a\xfb\x5c\x06\x3c\x5a\x7e\x6e\x67\x1f\x64" -+"\x6c\x73\x5a\x5a\x1a\x4b\xb2\x62\xd5\x7b\x1e\x67\x75\x41\x2f\x49\x21\x08\x59\x20\x0a\xbb\x06\x9c\x95\x8d\x8e\x8e\x1f\x8d\x8d\x97" -+"\x9c\x97\x9c\xf7\x03\xf7\x39\xca\xc9\xc1\x86\x08\xc9\x06\x60\xfb\x68\x05\x5c\x20\x0a\xf7\x21\x21\x0a\x62\x06\xb7\xf8\x62\x15\x60" -+"\xfb\x5b\x05\x2b\x06\x2a\x5c\xa6\xc2\xad\x9c\xac\xa8\xa2\x1f\x9e\xa5\xac\x93\xc6\x1b\x0e\xf7\xbe\x22\x1d\xf7\xcf\x06\xb7\xf7\x5e" -+"\x8c\x97\x05\xf7\x20\x0a\x6a\xfb\x2d\x05\xfc\x2b\xd9\x1d\xf7\x8b\xf7\x60\x15\xc5\xe0\xc3\xa3\xc0\x1b\xb7\xa7\x6e\x5d\x5c\x77\x57" -+"\x6b\x69\x1f\x74\x72\x74\x7f\x65\x87\x08\x74\x89\x81\x83\x7a\x1a\x7a\x96\x82\xa0\xef\xe6\xf4\xf7\x09\xdc\x5b\xbe\x41\x54\x52\x76" -+"\x5c\x42\x1e\xbf\xf7\x86\x05\xf7\x12\x06\x7e\x2a\x05\x89\x7b\x8b\x8b\x8a\x1a\x7b\x94\x82\x9b\x9b\x94\x97\xa3\x8e\x1e\x99\xf7\x04" -+"\x05\x8c\x94\x8c\x91\x8d\x1a\x9b\x7d\x94\x72\x1e\xfb\xd9\x06\x6a\x8a\x8b\xf7\x50\x1d\x86\x1a\x7e\x94\x82\x99\x99\x95\x95\xa0\x91" -+"\x1e\xaa\xf7\x01\x05\xf7\x13\x48\x0a\x5e\x06\x71\x5a\x0a\xa5\x1f\xf7\x1c\x2f\x0a\x65\x06\x0e\xf7\x82\x22\x1d\x28\xfc\x61\x05\x26" -+"\x24\x1d\xf7\x8e\x23\x0a\x29\x06\xef\xf8\x61\x05\xf7\xa6\x06\x6f\xfb\x16\x05\x8a\x87\x8a\x85\x87\x1a\x7e\x93\x84\x99\x9b\x96\x96" -+"\x9f\x8f\x1e\xb3\xf7\x4c\x05\xfc\x71\x24\x1d\xf7\xea\xf7\x6d\x15\x98\x94\x91\x95\x95\x1a\x98\x83\x93\x7e\x84\x85\x88\x84\x80\x1e" -+"\xfb\x1b\x2a\x05\x7e\x82\x85\x82\x80\x1a\x7f\x94\x83\x97\x93\x92\x8e\x92\x95\x1e\x0e\xf7\x1c\xf7\xd1\x15\xf7\x11\xae\xea\xdd\xf7" -+"\x03\x1b\xd6\xcd\x5f\x59\x87\x8b\x89\x8a\x85\x1f\x8a\x07\x8a\x85\x8b\x8b\x89\x1a\x7e\x93\x83\x99\x9b\x96\x96\xa0\x8f\x1e\xa3\xf7" -+"\x01\x05\x8d\x91\x8b\x8e\x8f\x1a\x98\x83\x92\x7d\x7b\x80\x80\x77\x86\x1e\x88\x7a\x05\xb4\x63\x59\x9f\x4b\x1b\xfb\x1b\xfb\x18\xfb" -+"\x02\xfb\x1d\x6c\x1f\x79\x37\x05\x87\x7b\x8a\x83\x7c\x1a\x50\x99\x5d\xa6\x68\x1e\x58\xb5\xca\x6d\xce\x1b\xc1\xb5\x98\xb1\xcd\x1f" -+"\xbc\xa7\xaa\xab\xa0\x1a\x95\x82\x93\x7f\x82\x84\x88\x82\x82\x1e\x54\x52\x45\x6b\x4c\x1b\x2f\x41\xd4\xe7\x9b\x8d\x9d\x91\xab\x1f" -+"\xf7\xaf\x06\xa6\x99\x94\x9d\x9b\x80\x93\x75\x1f\x0e\xf8\x91\xf8\xa0\x15\xad\x6c\x5f\x9c\x53\x1b\xfb\x0d\x22\x35\x29\x6b\x98\x6d" -+"\xa1\x79\x1f\xa5\x76\xac\x7f\xd1\x7e\xd0\x7f\x9e\x86\x9f\x7d\x08\x9b\x7f\x96\x75\x77\x1a\x3b\x37\x4a\x24\x63\x61\x97\x9b\xa7\x0a" -+"\xc1\x75\xcc\x1b\xf7\x1e\xf7\x05\xe5\xf7\x03\xaf\x7b\xad\x71\x9d\x1f\x70\x62\x1d\xcf\xd7\xc6\xe4\xaf\xaf\x80\x7b\x9c\x1e\x94\x83" -+"\x9f\x6d\x79\x1d\x0e\x75\x1d\x9f\x0a\x99\xf9\x2d\x15\xdd\x0a\xa8\x9f\xf7\x4e\x1d\x9b\x7c\xa0\xa8\xa4\xa3\xa8\x9f\x7b\x9a\x76\x1f" -+"\x0e\xf8\xa7\x22\x1d\xe7\x06\xa2\x99\x38\x1d\xfb\xbc\x21\x1d\xf7\x2c\x06\x41\xfb\xeb\x05\x40\x7b\x3f\x50\x3c\x1b\x5b\x63\x9f\xb6" -+"\x64\x1f\xa6\xf7\x11\xf1\x0a\x76\x86\x1e\x6b\xfb\x29\x91\x85\x05\x4d\xc4\xbb\x73\xcb\x1b\xf4\xf4\xde\xee\xa0\x1f\x0e\xf8\x59\x22" -+"\x1d\xbb\x21\x0a\xfb\xbd\x22\x0a\xbc\x06\x48\xfb\xd0\x05\x20\x74\x60\x55\x4e\x1b\x81\x83\x8c\x8d\x80\x1f\x97\xc0\x05\x8c\x8f\x8b" -+"\x8e\x8f\x1a\x9c\x82\x95\x7c\x7c\x82\x81\x77\x86\x1e\x7e\x4e\x05\x89\x82\x8a\x83\x87\x1a\x77\xa6\x7e\xb5\xf6\xc3\xc8\xf7\x29\xab" -+"\x1e\xd1\xf7\xd2\x05\xe5\x48\x0a\x64\x20\x0a\xde\x06\xe2\xc3\x9e\xb6\xb2\x1f\xaa\xae\x9d\xbb\xba\x1a\xb9\x76\xb2\x67\x9e\x1e\x6e" -+"\x9b\x74\x90\x58\x8d\x08\x7c\x56\x15\xe0\x8a\xac\x75\x54\x1a\x5d\x72\x5c\x66\x75\x1e\x75\x7e\x6d\x84\x5c\x89\x08\x0e\xf7\xb3\xf7" -+"\x9e\x15\x5d\xfb\x6b\x05\x6b\x3a\x0a\xf7\x35\x9c\x1d\xae\xac\x9f\xb8\xba\x1a\xe6\x46\xba\xfb\x1c\x1e\x7a\x06\xb6\xf7\x57\x05\xc9" -+"\x44\x0a\xfb\x28\x06\x72\x7e\x69\x1d\xad\x06\x60\xfb\x57\x05\xfb\x29\x34\x0a\xa9\x23\x0a\xfb\x01\x3f\x1d\xa6\x06\x27\xfc\x61\x5a" -+"\x1d\xba\xf7\x6b\x05\xf7\x2f\xfb\x6b\x15\xb9\xf7\x6b\x05\xa2\x06\xf4\xbf\x6d\x4d\x43\x4c\x58\x32\x1f\x0e\xf7\xcc\x22\x1d\xf7\x13" -+"\x06\x7d\x2a\x8a\x7b\x05\x7b\x94\x81\x9a\x9b\x94\x96\xa3\x8e\x1e\x9c\xf7\x05\x05\x8d\x9a\x8b\x8b\x8d\x1a\x9b\x7d\x94\x71\x1e\xfb" -+"\xdb\x06\x6b\x8a\x8a\xf7\x50\x1d\x87\x1a\x7d\x95\x82\x98\x99\x95\x95\xa0\x91\x1e\xaa\xf7\x01\x05\xf7\x13\x48\x0a\x5e\x22\x0a\xf7" -+"\x1f\x21\x0a\x62\x06\xad\xf7\x2c\x05\xc6\xd2\xb9\xa2\xba\x1b\xb3\xa0\x75\x62\x7c\x89\x78\x88\x7d\x1f\x71\xfb\x0f\x05\x5d\x20\x0a" -+"\xf7\x0d\x21\x0a\x75\x06\xa5\xf7\x0b\x05\x8f\x9f\x8d\x9b\x9a\x1a\xd0\x5e\xba\x48\x5a\x5b\x78\x60\x53\x1e\x0e\x83\x0a\x31\xf7\x6d" -+"\x15\x98\x94\x91\x95\xf3\x0a\x2a\x05\x7e\x83\x54\x0a\xa9\x1d\x71\xf8\xb9\x15\x77\x7f\x7b\x70\x4e\xbe\x64\xd8\xbe\xbb\x9c\xa9\xac" -+"\x1f\xa3\xa2\x9e\xab\xf7\x41\x1d\x7d\x5d\x70\x55\x1b\x5b\x68\xa3\xac\x1f\x91\x07\x8c\x8d\x8b\x90\x8e\x1a\x95\x82\x94\x80\x1e\x0e" -+"\xf8\x05\x16\xf1\x30\x0a\x5c\x06\xf7\x19\x0a\x94\x91\x1a\xc9\x51\xb5\x36\x65\x2e\x79\x7c\x65\x1e\x7d\x85\x83\x81\x7f\x1a\x7f\x94" -+"\x82\x96\x90\x8d\x8b\x90\x9b\x1e\xa0\xd7\xa5\x90\xad\x1b\xca\xb2\x74\x65\x86\x8b\x87\x8a\x88\x1f\x7d\x4b\x05\x99\x58\x6c\x90\x5e" -+"\x1b\xfb\x23\xfb\x00\x40\x28\x49\xbf\x63\xe0\xd0\xc5\xa0\xc0\xd4\x1f\x99\xc7\x15\x4e\x39\x55\x75\x44\x1b\x51\x6a\xa2\xb4\xcc\xdf" -+"\xbc\xf7\x03\xb7\xb4\x86\x82\xae\x1f\x0e\xf8\x31\xf8\x7b\x15\xc0\xac\x93\x9e\xa5\x1f\xa0\x9b\x97\xa0\x9e\x1a\x9b\x81\x95\x7b\x7c" -+"\x82\x84\x7a\x85\x1e\x86\x76\x6e\x7f\x56\x8a\x08\x2f\x06\x39\x46\x6c\x56\x6a\x1f\x62\x49\x62\xfb\x29\x37\x1a\x28\xdd\x46\xf7\x0c" -+"\xdf\xce\xa5\xc1\xc4\x1e\xc1\xbf\xa8\xcb\xd1\x1a\xf7\x02\x3d\xd1\xfb\x0f\x3d\x4a\x72\x57\x53\x1e\xad\xec\xb6\xab\xeb\x8d\x08\x9f" -+"\x22\x15\xe8\xc5\x58\x3a\x55\x74\x58\x61\x60\x1f\x5e\x5d\x57\x76\x47\x1b\x2e\x51\xbd\xdc\xf7\x0b\xf2\xeb\xf7\x14\x1f\x0e\xe3\xbe" -+"\x15\x59\x24\x1d\xf7\xb0\x06\xd6\xbe\x96\xa0\xa7\x1f\xa4\x9e\x9a\xaa\xad\x1a\xc0\x6e\xa9\x47\x9d\x1e\xcc\xa0\xa7\xa9\xbd\x1a\xcc" -+"\x55\xaf\x28\x1e\xfb\x84\x2b\x1d\xc0\x06\xa5\xfb\x12\x15\xa5\xf7\x12\x05\xf7\x21\x06\xd0\xad\x78\x65\x5e\x58\x73\x28\x1f\xfb\x36" -+"\xfb\x53\x15\xaa\xf7\x20\x05\xf7\x14\x06\xf3\xc0\x72\x5a\x5c\x62\x78\x29\x1f\x0e\xc2\x1d\x0e\xf8\x58\x16\x7c\x51\x8a\x7d\x05\x7a" -+"\x94\x81\x9b\x99\x94\x95\xa0\x90\x1e\x9c\xd6\x05\x8c\x92\x8c\x92\x90\x1a\x9b\x7e\x94\x71\x1e\x6a\x06\xd0\xf7\xd1\x05\xad\x2b\x0a" -+"\xfc\x08\x20\x0a\xb9\x06\x68\xfb\x34\x7a\x31\x55\x56\x36\x7e\x19\x77\x89\x86\x87\x85\x70\x7b\x3e\x18\x88\x7e\x8b\x89\x88\x1a\x7e" -+"\x95\x82\x9b\x9a\x94\x94\x9e\x8f\x1e\x9b\xd1\x05\xf7\x74\xf8\x04\x15\xf7\x4e\x06\x47\xfb\xd1\x05\xfb\x87\x06\x8c\x8c\xb4\xa4\xa9" -+"\xbe\x9c\xd7\x19\x0e\xf8\x9f\xf7\x57\x15\x92\xb0\x8d\x99\x9b\x1a\xef\xf7\x0f\x0a\xfb\x04\xdd\x3f\xf7\x0c\xf3\xf7\x17\xbd\xb3\x97" -+"\x83\x94\x7e\x85\x87\x8a\x84\x81\x1e\x6c\x5b\x41\x76\x4c\x1b\x2d\xd5\x0a\xe4\xcd\x52\x42\x86\x1f\x0e\xf8\x9e\xf7\x56\x15\x93\xb0" -+"\x8c\x90\xa1\x1a\xf4\x3e\xd1\xfb\x05\xfb\x2a\xfb\x19\xfb\x0f\xfb\x1e\xfb\x05\xdc\x40\xf7\x10\xf2\xf7\x16\xbd\xb3\x96\x82\x95\x80" -+"\x85\x85\x89\x85\x81\x1e\x6a\x56\x47\x78\x4c\x1b\x2b\x4b\xc4\xdf\x90\x8b\x8c\x8c\x97\x1f\x97\xbe\x15\xdd\xb0\xde\xc1\xe4\x1b\xe5" -+"\xc4\x56\x38\x1f\xfb\x5b\xf7\xed\xdd\x1d\xf7\xfb\xf8\x04\x15\xa7\x21\x0a\x2a\x20\x0a\x9c\x06\x72\xfb\x0a\x05\x84\x06\x74\x8c\x84" -+"\x93\x71\xc4\x08\xe5\x64\x7d\x98\x50\x1b\x6f\x83\x84\x71\x85\x1f\x83\x67\x05\x88\x7e\x8b\x8a\x87\x1a\x7e\x94\x82\x9a\x9b\x96\x95" -+"\x9c\x8f\x1e\x92\xaa\xa2\x89\x8f\x86\xa0\x5f\x19\x9c\x63\x9a\x6d\x97\x7a\x58\x70\x88\x89\x5c\x50\x43\x30\x18\x6f\x20\x0a\xa4\x06" -+"\xa3\x8c\x8d\x8c\x92\x91\x95\x98\x19\xd7\xeb\xb8\xc2\xb4\xa9\xa6\x88\x19\x91\x06\x6b\xfb\x28\x05\x70\x22\x0a\xeb\x21\x0a\x7b\x06" -+"\xab\xf7\x28\x05\x94\x06\xb4\x88\x9c\x7b\xa0\x4f\xaa\x31\x18\x95\x70\x8e\x89\xa8\x8a\x08\xa5\x2b\x0a\x77\x06\x6c\xe4\x7c\xb5\x74" -+"\xad\x75\x95\x19\xa5\xa0\x94\x93\xa5\xaa\xc2\xce\x97\x95\xa6\x8f\x86\x78\x18\x89\x85\x8b\x89\x8a\x1a\x78\x94\x81\x9b\x99\x94\x95" -+"\xa1\x90\x1e\x92\xac\x05\x8d\x92\x8c\x94\x8f\x1a\x9b\x7e\x93\x71\x57\x76\x7e\x42\x4b\x1e\x4d\x45\x81\x82\x6f\x87\x08\x0e\xf7\x47" -+"\xf8\x1c\x15\x8b\x0a\x7b\x95\x80\x9f\x83\x1f\x74\xc2\xcd\x7f\xce\x1b\xe2\xc6\x98\xa8\xb8\x1f\xb4\xa6\xa1\xaf\xb3\x1a\xb8\x72\xa8" -+"\x57\x99\x1e\xcc\xa3\xac\xaf\xbc\x1a\xcb\x4a\xb3\x21\x39\x51\x7c\x6a\x61\x1e\x0e\x72\x1d\x0e\x72\x1d\xfb\xcf\xf7\x45\x15\x92\x07" -+"\x97\x82\x93\x7e\x77\xf7\x35\x1d\xa3\x9d\xaa\xa0\x28\x0a\x7d\x80\x82\x7c\x86\x1e\x61\x7e\x5d\x70\x53\x1b\x5c\x67\xa3\xab\x8e\x8b" -+"\x8d\x8c\x8e\x1f\x0e\xa2\x1d\xf8\x8d\xf8\x04\x15\xae\x06\xa5\x3a\x1d\xfc\x08\x20\x0a\xb9\x06\x5b\xfb\x71\x05\x41\x7b\x65\x67\x4e" -+"\x1b\x82\x85\x8c\x8c\x81\x1f\x90\xaa\x05\x8c\x8e\x8b\x8f\x8e\x1a\x9d\x82\x95\x7b\x7c\x82\x81\x77\x88\x1e\x84\x66\x05\x89\x7f\x8a" -+"\x85\x86\x1a\x78\xa4\x7f\xb4\xf0\xc4\xbd\xf7\x00\xa3\x1e\xbb\xf7\x73\x05\xf7\x4f\x25\x0a\x69\x22\x0a\xf7\x0c\x06\xa4\x99\x94\x9b" -+"\x9c\x7e\x94\x71\x1f\x6a\x06\x0e\xf7\xc4\xb3\x15\xf7\x65\xf7\xd2\x49\xfb\xc7\x05\x45\x8d\x1d\xf7\x28\x3e\x1d\x70\x06\xcf\xf7\xd1" -+"\x05\x9f\x5e\x1d\x20\x06\xfb\x69\xfb\xd9\x3d\xf7\xd9\x05\x24\x33\x0a\x9d\x06\x47\xfb\xd1\x05\x6e\x06\x73\x7e\x69\x1d\xf7\x29\x06" -+"\xa2\x6d\x1d\x48\x06\xcd\xf7\xca\xdb\xfb\xd5\x05\x0e\xf8\x3f\xf7\x53\x15\x6c\xfb\x20\x05\x63\x06\x73\x7e\x81\x79\x7c\xf7\x26\x1d" -+"\xcf\xf7\xd1\x05\xac\x23\x0a\xfb\x0c\x06\x73\x7e\x81\x79\x7c\x95\x83\x9d\x1f\xad\x06\x70\xfb\x12\x05\xfb\x93\x6e\x0a\x77\x1f\xfb" -+"\x0b\x06\x73\x7d\x81\x78\x7d\x95\x83\x9e\x1f\xa9\x57\x1d\xaa\xf7\x20\x05\x0e\xf7\xf1\x56\x1d\x0e\xf8\x64\xf8\x04\x15\x47\xfb\xd1" -+"\x05\x5a\x24\x1d\xf7\x1f\x23\x0a\x65\x06\xd2\xf7\xd1\x05\xa5\x31\x1d\xfc\x3d\x45\x0a\xaf\x57\x1d\xcf\xf7\xd1\x05\x0e\xf7\x58\xf8" -+"\x37\x15\x25\x26\x0a\xba\x06\xfb\x00\xfc\x87\x4d\x1d\xf7\x55\x06\xa2\x99\x96\x9e\x9a\x83\x91\x77\x1f\x30\x06\xbb\xf7\x75\x05\x51" -+"\xae\xbc\x71\xd4\x1b\xf7\x24\xf7\x15\xf7\x0c\xf7\x1a\xf1\x43\xce\xfb\x03\x41\x55\x73\x50\x4c\xf7\x4b\x1d\xfb\x00\x35\x52\xbe\xd8" -+"\xef\xf7\x23\x0a\xf8\x8c\xf8\x15\x15\xab\x68\x5b\x9b\x50\x1b\xfb\x30\xfb\x19\xfb\x13\xfb\x29\x22\xd5\x47\xf7\x06\xcf\xd3\x9f\xae" -+"\xc6\x1f\xb2\xa2\x9c\x9c\x9c\x1a\x96\x82\x93\x7f\x83\x87\x89\x83\x80\x1e\x64\x6e\x7d\x82\x6a\x80\x08\x7d\x66\x62\x84\x67\x1b\x31" -+"\x53\xbe\xdb\xb9\x9d\xbc\xac\xb3\x1f\xc0\xb5\xc7\xa7\xd2\x1b\xb5\xb1\xe0\x1d\x80\x77\x87\x1e\x0e\xf7\xfb\xf8\x04\x15\xf7\x2e\x06" -+"\x6e\xfb\x16\x8a\x7e\x05\x7e\x93\x84\x98\x9c\x96\x96\x9e\x8f\x1e\xb3\xf7\x4c\x05\xfc\x64\x06\x64\xfb\x49\x05\x89\x83\x8b\x89\x88" -+"\x1a\x7e\x93\x84\x98\x9c\x96\x96\x9e\x90\x1e\xa7\xf7\x19\x05\xf7\x2e\x06\x47\xfb\xd1\x05\x27\xc9\x0a\x9d\x1f\xf7\x8f\x6c\x0a\x28" -+"\x06\x0e\xb3\x1d\x0e\xf8\x23\xf8\xb6\x15\x8d\x94\x8c\x92\x90\x1a\x9a\x81\x94\x7a\x1e\x8a\x06\x7e\x8a\x48\x87\x05\x71\x89\x7e\x82" -+"\x7b\x1a\x7b\x96\x82\x9c\x90\x90\x8b\x8c\x8f\x1e\xba\x8f\x71\xfb\x0f\x05\x98\x77\x7c\x8f\x72\x1b\x52\x57\x6a\x4d\x62\x1f\x63\x50" -+"\x76\x46\x45\x1a\x30\xbd\x4c\xd3\x9b\x97\x8d\x91\xa7\x1e\x78\x2c\x05\x3a\x20\x0a\xf7\x69\x21\x0a\x3b\x06\xa2\xf2\x05\x7e\x9c\x9d" -+"\x86\xa4\x1b\xc4\xbd\xaa\xc8\xb4\x1f\xb3\xc5\xa0\xcf\xd0\x1a\xf1\x5e\xc7\x3e\x77\x7d\x88\x82\x74\x1e\x7f\x4d\x15\x9b\x9f\x9e\x92" -+"\xa1\x1b\xbc\xa4\x65\x43\xfb\x0e\x41\xfb\x06\x3d\x75\x7e\x92\x9b\x7d\x1f\x57\x8d\x15\x7a\x77\x79\x84\x74\x1b\x59\x70\xb0\xd0\xc5" -+"\x9b\xc2\xaa\xbd\x1f\xbe\xac\xae\xa4\xb5\x1b\xa1\x97\x85\x7c\x97\x1f\x0e\xf7\xe7\xf7\x6e\x15\x8a\x0a\xf7\x18\x2a\x1d\x84\x06\x0e" -+"\xf8\xac\xbe\x15\x28\xba\x1d\xf8\x44\x06\x76\x33\x05\x89\x82\x8b\x8a\x7e\x0a\x95\xa0\x90\x1e\x0e\xf8\x16\xbe\x15\x22\x20\x0a\xf7" -+"\x54\x06\xa5\x98\x80\x0a\x69\x06\xcf\xf7\xd1\x05\xb2\x2b\x0a\xfb\x14\x22\x0a\xaf\x06\x6f\xfb\x11\x05\x60\x37\x55\x7a\x52\x1b\x60" -+"\x74\x99\xa6\x95\x8d\x97\x8e\x9a\x1f\xa3\xf6\x05\xb8\x06\xa5\xbc\x0a\x58\xb8\x6a\xd1\xc7\xc5\x9a\xad\xd0\x1e\x0e\xb1\xbe\x15\x62" -+"\x24\x1d\xf8\xb1\x5e\x1d\x5d\x8e\x0a\x0e\xf8\xe3\xbe\x15\x29\x8e\x0a\x47\x7e\x1d\xf8\xae\x06\x76\x33\x05\x8a\x88\x8a\x84\x88\x1a" -+"\x7f\x93\x83\x98\x9c\x28\x1d\x0e\xee\xf8\x04\x15\xf7\x1b\x06\x47\xfb\xd1\x05\x5a\x33\x0a\xf7\x6f\x06\xf7\x18\xc9\xb3\xe1\xdb\x52" -+"\xaf\xfb\x13\x1f\x3d\x06\xa6\xf7\x12\x05\xc6\x06\xa3\x98\x95\x9e\x9a\x81\x92\x79\x1f\xfb\xbb\x06\x6a\xfb\x1e\x05\x8a\x85\x8a\x86" -+"\x88\x1a\x7e\x93\x84\x98\x9b\x97\x96\x9f\x90\x1e\xf7\x20\xfb\x77\x15\xaa\xf7\x20\x05\xca\x06\xf7\x07\xb5\x78\x57\x59\x64\x78\x27" -+"\x1f\x0e\xf7\x45\xf8\x04\x15\xc6\x31\x1d\xfb\x38\xf4\x1d\xf7\x73\x06\xde\xc0\x97\xa3\xa3\x1f\xa0\xa0\x98\xac\xad\x1a\xd9\x4d\xb3" -+"\xfb\x0e\x1e\x38\x06\x63\xfb\x53\x15\xaa\xf7\x20\x05\xce\x06\xf7\x09\xb3\x79\x56\x58\x66\x79\x24\x1f\xf7\xef\xf7\xd1\x15\xa3\x06" -+"\xa3\xf7\x08\x0a\x27\xe2\x0a\x9f\x1f\xa2\x06\x48\xfb\xd1\x05\x73\x2b\x1d\xf3\x6c\x0a\x6e\x06\x0e\xf7\x64\xf8\x04\x15\xcc\x3e\x1d" -+"\xfb\x3f\xf4\x1d\xf7\xb0\x06\xf7\x1a\xc7\xb0\xde\xda\x4a\xb6\xfb\x0a\x1f\xfb\x25\x06\x63\xfb\x53\x15\xaa\xf7\x20\x05\xf7\x14\x06" -+"\xf7\x03\xb9\x76\x58\x5c\x60\x76\x2b\x1f\x0e\xf8\x6a\xf7\x54\x15\x31\x74\x2e\x48\x27\x1b\x4c\x59\x9e\xb6\x55\x1f\x97\x7c\x84\x8e" -+"\x82\x1b\x7d\x80\x80\x7d\x79\xa4\x75\xbb\x73\x1f\x6f\xc3\xb3\x80\xbe\x1b\xdc\xcd\xa5\xc3\xc4\x1f\xc2\xc0\xa7\xc8\xcf\x1a\xf7\x03" -+"\x3b\xd5\xfb\x0c\x44\x4f\x75\x60\x5d\x1e\x8c\x98\x8b\x91\x90\x1a\x9c\x83\x95\x7c\x78\x84\x7f\x63\x86\x1e\x83\x4f\x05\x89\x7f\x8b" -+"\x86\x85\x1a\x7a\x94\x80\x99\x99\x92\x92\x9d\x94\x1e\x94\x9e\x92\x98\x96\x98\x08\xae\xa9\xc4\xa0\xcf\x1b\xc1\xb0\x7e\x70\xa4\x1f" -+"\xa0\x73\x97\x6c\x6b\x1a\x89\x8b\x85\x8a\x87\x1e\xfb\x8f\x36\x1d\x0e\xf7\x5f\xf7\x53\x15\x8a\x83\x8b\x83\x7f\x1a\xfb\x01\xc9\x45" -+"\xed\xc4\xc1\xa5\xb9\xaf\x1e\xb6\xc0\xa5\xda\xd4\x1a\xf5\x52\xcd\x2f\x2b\x35\x40\xfb\x08\x69\x1e\x46\x6e\x0a\x78\x1f\xfb\x0c\x06" -+"\x73\x7d\x43\x1d\xa9\x57\x1d\xaa\xf7\x20\x05\xf7\xb6\xf7\x53\x15\xcd\xb0\x5d\x3a\x46\x74\x49\x64\x61\x1f\x6e\x70\x6d\x7d\x65\x1b" -+"\x43\x60\xbe\xdf\xc0\x9c\xbe\xac\xb5\x1f\xb8\xad\xb2\xa0\xb9\x1b\x0e\xf8\x90\xf8\x03\x15\xb5\x06\xa5\x99\x94\x9c\x9c\x7d\x94\x71" -+"\x1f\xfb\x7b\x06\xfb\x0c\x42\x58\x36\x54\xad\x6a\xd1\x80\x1f\x64\x70\x52\x56\x5c\x56\x08\x52\x20\x0a\xc0\x06\x9e\x8f\x8c\x8d\x8f" -+"\x1f\x92\x90\x8c\x8d\x98\x9a\xef\xf7\x04\xc9\xb7\xbf\x89\x08\xcf\x06\x6e\xfb\x14\x05\x58\x20\x0a\xf7\x27\x21\x0a\x61\x06\x9b\xf7" -+"\xd0\x15\x6d\xfb\x1e\x05\xfb\x12\x06\x3c\x65\x9e\xb3\xc0\xbd\xa5\xf0\x1f\x0e\xf8\xb4\xf8\x37\x15\xfc\x3d\x24\x0a\x79\x7d\x95\x83" -+"\x9d\x1f\xeb\x06\x48\xfb\xd1\x05\x26\x24\x1d\xf7\x8e\x23\x0a\x29\x06\xcf\xf7\xd1\x05\xf7\xda\x06\xb3\xf7\x49\x8c\x99\x05\x98\x83" -+"\x92\x7e\x7a\x80\x80\x77\x87\x1e\x0e\xcf\x0a\x5b\x06\x74\x7f\x81\x79\x7c\x94\x83\x9c\x1f\xb9\x06\x31\xfc\x33\x5a\x1d\xc0\xf7\x86" -+"\x05\xd7\xe2\xa3\x98\xc2\x1b\xc7\xac\x70\x5c\x85\x8b\x8a\x88\x7f\x1f\x49\xfb\xca\x7c\x4b\x51\x5b\x4e\x8d\x19\xfb\x14\xf7\x5b\x1d" -+"\xf7\x14\x06\xe8\xde\xcf\xe6\x9c\x1f\xcf\xf7\xcc\x05\x8d\x96\x8c\x93\x94\x1a\xd1\x54\xb9\x39\x56\x56\x75\x60\x56\x1e\xa0\xed\x05" -+"\xf7\x25\x06\xa6\x9a\x95\x9c\x9b\x7f\x93\x76\x1f\x0e\xc2\x1d\xf7\xdc\xdc\x1d\xf7\x25\xf7\x86\x15\xe5\xb3\xd4\xbd\xe8\x1b\xd4\xc5" -+"\x68\x5f\x88\x8b\x88\x8a\x89\x1f\x89\x07\x8a\x85\x8b\x8b\x89\x1a\xf7\x54\x1d\x9f\x90\x1e\x9e\xe4\x05\x8c\x91\x8c\x8f\x8e\x1a\x98" -+"\x83\x93\x7e\x79\x82\x81\x73\x84\x1e\xab\x68\x5d\x9b\x4f\x1b\x3b\x49\x6f\x51\x53\x1f\x55\x54\x6f\x48\x46\x1a\x21\xd4\x49\xf7\x09" -+"\xf3\xf7\x25\xcd\xba\x96\x83\x93\x7f\x83\x85\x88\x83\x80\x1e\x5c\x4b\x4c\x74\x47\x1b\x32\x52\xbd\xda\x94\x8c\x94\x8c\x94\x1f\xf7" -+"\x91\x06\xa7\xf7\x22\x0a\xc8\xac\x15\xf7\x55\x1d\x95\x82\x97\x9b\x28\x1d\x8c\x07\x6b\xac\xba\x7b\xca\x1b\xf7\x16\xf7\x61\x1d\xa1" -+"\x68\x96\x4e\x91\x40\x93\x8b\x8b\x76\x94\x08\x78\x93\x7d\x9b\x9a\x1a\xb4\xcc\xae\xd7\xaf\xaa\x84\x7f\x9e\x1e\x94\x85\x9d\x77\xf7" -+"\x0e\x1d\x8f\x1a\x96\x82\x94\x7e\x7e\x80\x81\x7b\x85\x1e\xa5\x6f\x60\x99\x55\x1b\xfb\x04\xec\x0a\xc0\x85\xa3\x85\xa2\xf7\x46\x1d" -+"\x3f\x53\x6b\x0a\x81\x94\x7f\x7a\x81\x81\x76\x87\x1e\x0e\xce\x1d\xf7\x0e\xf8\xcf\x77\x0a\xf8\x07\xf8\x37\x15\xfb\x39\x06\x74\x7c" -+"\x7f\x79\x7d\x95\x84\x9e\x1f\xf7\x03\x25\x0a\xfb\x2e\x55\x0a\xf7\xf9\x2a\x1d\xfb\x2c\x06\x55\xf8\xaf\x15\x6f\x71\x72\x70\x76\x9b" -+"\x7c\xa0\xa9\xa4\xa3\xa8\x9f\x7c\x9a\x74\x1f\xf7\x63\xd9\x0a\xf8\x53\x9e\x0a\xf8\x38\xf8\x04\x15\xae\x21\x0a\xfb\xa6\x22\x0a\xb9" -+"\x06\x5b\xfb\x71\x05\x43\x7b\x65\x65\x52\x1b\x80\x83\x8c\x8e\x81\x1f\x92\xa8\x05\x8d\x93\x8b\x8c\x8f\x1a\x9b\x82\x94\x7c\x7c\x80" -+"\x80\x77\x87\x1e\x83\x64\x05\x89\x82\x8a\x84\x87\x1a\x78\xa6\x7f\xb6\xed\xc2\xbc\xf7\x01\xa3\x1e\xbc\xf7\x73\x05\xe3\x25\x0a\x75" -+"\x22\x0a\xe8\x06\xd1\xb9\x99\xac\xaa\x1f\xa5\xa5\x9a\xb0\xaf\x1a\xca\x5a\xad\x2f\x1e\x74\x06\x80\x58\x15\xa7\x06\xcf\xa4\x7e\x68" -+"\x51\x5c\x68\x3c\x1f\x71\x06\x0e\xf7\x91\xf7\x53\x15\x6d\xfb\x20\x05\x71\x24\x1d\xf7\x41\x06\xf7\x12\xc3\xb1\xe1\xb7\x7b\xa8\x68" -+"\x9e\x1f\x9c\x6c\x62\x94\x5b\x1b\x51\x06\xa7\xf7\x12\x05\xc5\x23\x0a\xfb\x1d\x3a\x0a\xa6\x06\x6f\xfb\x12\x05\xfb\x15\x06\xa4\xf7" -+"\x12\x05\xa0\x06\xa3\x6d\x1d\x29\x06\x73\x7e\xf7\x17\x0a\xa3\x06\x47\xfb\xd1\x05\x6b\x24\x1d\xf7\x06\x06\xa3\x99\x96\x9d\x99\x81" -+"\x93\x77\x1f\x6e\x06\xaa\xf7\x20\x05\xf7\x2d\xfb\x20\x15\xaa\xf7\x20\x05\xb5\x06\xf1\xb4\x77\x5a\x5c\x60\x73\x38\x1f\x0e\xcf\x0a" -+"\x5e\x06\x72\x7e\x82\x7a\x7b\x96\x82\x9f\x1f\xb4\x06\x31\xfc\x33\xb5\x1d\x56\x76\x5f\x56\x1e\xa0\xed\x05\xf7\x29\x06\xa3\xf7\x22" -+"\x0a\xa3\x1d\x34\xdc\x1d\xf7\x48\xf8\x04\x15\xac\x2b\x0a\x21\x22\x0a\x9c\x06\xf7\x05\xfb\xe3\x61\x53\x05\x56\x62\x74\x7a\x69\x1b" -+"\x82\x87\x8c\x8d\x7f\x1f\x95\xb9\x05\x8e\x94\x8b\x8e\x90\x1a\x9b\x82\x95\x7b\x7c\x82\x81\x74\x86\x1e\x7f\x54\x05\x89\x81\x8a\x86" -+"\x87\x1a\x77\xab\x7b\xb6\xc3\xaf\xa2\xd3\xc3\x1e\xf7\xd6\xf8\x35\x05\xa1\x2b\x0a\x25\x36\x1d\x9c\x06\xfb\x71\xfb\xb2\x05\x80\xf8" -+"\x93\x15\x8c\x07\x8c\x8e\x8b\x8f\x8e\x1a\x96\x82\x93\x7f\x76\xf7\x35\x1d\xa2\x9d\xab\xa0\x28\x0a\x7c\x81\x82\x79\x85\x1e\x64\x7e" -+"\x5c\x70\x55\x1b\x5c\x67\xa4\xab\x1f\x0e\xf7\xb7\x16\xf7\x68\x06\xa3\x99\x96\x9d\x99\x81\x93\x77\x1f\x49\x96\x0a\xf7\x59\xf7\x37" -+"\x1d\x9c\x96\x96\x9f\x90\x1e\x0e\x89\x0a\xcb\xf7\x72\x15\x84\x66\x89\x7d\x7b\x1a\x27\xdb\x44\xf7\x04\xf7\x2c\xf7\x19\xf7\x0e\xf7" -+"\x1f\xf7\x03\x39\xd8\xfb\x0c\x23\xfb\x18\x59\x63\x7f\x93\x82\x98\x91\x8f\x8c\x92\x95\x1e\xab\xbd\xd3\x9f\xcb\x1b\xe9\xcc\x51\x36" -+"\x88\x8b\x84\x8a\x84\x1f\xfc\x09\x58\x15\xf7\xfd\x06\x39\x69\x36\x55\x2e\x1b\x33\x4e\xc0\xd8\x1f\x0e\xf8\x72\xf7\xac\x15\x54\x62" -+"\x79\x64\x68\x1f\x6e\x6a\x7a\x5f\x63\x1a\x48\xb2\x66\xd3\xbf\xb5\x9e\xb1\xad\x1e\xa8\xac\x9c\xb6\xb4\x1a\xcd\x63\xb1\x47\x1e\x7a" -+"\x5c\x15\xbb\xa5\x73\x5d\x4c\x5b\x58\x4f\x5a\x71\xa3\xba\xa3\x93\xa4\x9a\x9f\x1f\xa9\xa1\xa6\x99\xb0\x1b\xf7\x4c\xf7\xed\x15\x93" -+"\x94\x8f\x94\x93\x1a\x97\x83\x93\x80\x80\x83\x86\x80\x81\x1e\xfc\xaf\xfc\xef\x05\x83\x82\x87\x83\x82\x1a\x7f\x93\x83\x97\x94\x94" -+"\x90\x96\x95\x1e\xf7\x98\xf8\x29\x15\x90\x88\x87\x8e\x85\x1b\x86\x87\x8a\x86\x85\x1f\x74\x69\x6f\x81\x70\x1b\x62\x71\xa7\xb6\xca" -+"\xbc\xbe\xc7\x9f\x9b\x86\x81\x96\x1f\x93\x83\x8d\x85\x75\x1a\x80\x93\x83\x94\x8d\x1e\x8d\x8c\x93\x8c\x05\x95\x8c\x94\x94\x95\x1a" -+"\x8d\x07\x8e\x07\x9f\x8e\x9b\x90\x97\x1e\x92\x9b\x8b\x8b\x90\x1a\x95\x84\x92\x82\x80\x85\x87\x7e\x80\x1e\x9a\x6f\x7e\x8f\x73\x1b" -+"\x31\x3c\x39\x2f\x4c\xb4\x61\xc7\xb1\xc5\xa0\xa2\xa6\x1f\x94\x93\x8f\x92\x94\x1a\x8f\x8b\x8d\x8a\x8c\x1e\x0e\xf7\x50\xf7\x22\x15" -+"\x8d\x45\x8e\x76\x95\x76\x08\x72\x98\x9f\x7d\xa3\x1b\xa8\xa3\x99\xab\xa8\x1f\x9d\x9f\x9b\xa0\x96\x9e\x90\x94\x18\x8d\x8e\x8c\x8f" -+"\x8f\x1a\x92\x85\x90\x84\x84\x86\x87\x82\x84\x1e\x80\x7b\x05\x6c\x75\x7a\x7d\x7c\x1b\x79\x84\x9e\xc0\x97\x8b\xa4\x8c\xa0\x1f\x9e" -+"\x07\xaf\x07\xf7\x1e\xf7\x44\xbe\xec\xe1\x1a\xc1\x6e\xae\x5f\x5f\x5a\x6a\x52\x64\x1e\x60\x4b\x74\xfb\x01\x88\xfb\x3d\x8a\x4e\x18" -+"\x74\x6f\x86\x85\x79\x76\x88\x88\x19\x76\x75\x05\x85\x85\x89\x86\x86\x1a\x87\x07\x84\x8f\x8e\x88\x91\x1b\x96\x8b\x8b\xb9\xb7\x1f" -+"\xec\xf7\x3d\x15\x8d\xb1\x05\xf7\x6d\x95\x9e\xd0\xbc\x1b\xa2\x9a\x76\x6b\x44\x64\x2f\x45\x2b\x1f\x0e\xf7\x2a\xf8\x94\x15\x3f\x0a" -+"\x72\x20\x0a\xf7\x07\x21\x0a\x63\x06\xe4\xf8\x2f\xd8\xfc\x32\x05\x66\x92\x94\x80\xa1\x1b\xa3\x93\x95\xb1\x93\x1f\xf0\xf8\x64\x05" -+"\xa3\x4c\x1d\xfb\x06\x22\x0a\xb3\x06\x33\xfc\x28\x3d\xf8\x39\x84\xab\x89\x8c\x6a\x8c\x19\x58\x20\x0a\xf8\x76\x39\x15\x8c\x91\x8c" -+"\x8f\x8f\x1a\xac\x71\xa4\x69\x71\x6e\x78\x74\x80\x1e\x83\x7b\x6f\xfb\x12\x79\x1a\x6e\xa6\x75\xac\xb3\xa5\xa4\xba\x96\x1e\x59\x8e" -+"\x15\x7b\x88\x84\x84\x7e\x1b\x82\x87\x8e\x92\x8e\x8b\x8d\x8c\x90\x1f\xa3\xf7\x01\x05\x99\x8e\x92\x91\x98\x1b\x94\x8e\x88\x82\x1f" -+"\x86\x07\x51\xfb\xb9\x15\xa5\x98\x94\x9d\xa1\x81\x8f\x57\x61\x7f\x85\x77\x79\x99\x82\xa5\x1f\x0e\xf8\xdf\xf7\x6b\x15\xf7\x02\xf7" -+"\x3a\x05\x91\x94\x8e\x94\x91\x1a\x96\x83\x93\x80\x7e\x82\x84\x7a\x80\x1e\x3f\xfb\x07\x81\xb3\x83\x9e\x7a\xa0\x19\xb7\x6a\x55\xa3" -+"\x4b\x1b\xfb\x29\xfb\x1d\xfb\x15\xfb\x20\x22\xda\x40\xf7\x02\xc9\xcd\xa4\xb5\xb8\x1f\xa6\xa4\x9e\xa1\xa9\xb8\xa2\xfb\x11\x18\x72" -+"\x90\x91\x84\x9a\x1b\x9c\x97\x98\x9d\x8f\x8b\x8e\x89\x94\x1f\x37\xf7\x4c\x15\x6f\x5f\x05\x2b\x4d\x4c\x61\x3b\x1b\x37\x4f\xc5\xda" -+"\xf7\x01\xf7\x00\xf0\xf7\x08\xd6\xbe\x64\x46\x9a\x1f\x0e\xf8\x62\xbe\x15\xf7\x12\x07\xc7\xd7\xcf\xf7\x10\xac\x1a\x98\x81\x95\x7e" -+"\x7d\x82\x83\x78\x83\x1e\x79\x5c\x6e\x55\x6a\x5a\x08\xf7\x07\x76\x4e\xc9\x2f\x1b\xfb\x10\xfb\x03\xfb\x16\xfb\x25\x23\xca\x45\xe8" -+"\xd1\xba\xa7\xec\xe5\x1f\xfb\x01\xe2\x07\xa3\x52\x0a\x2b\xf7\x21\x15\x67\x5c\x7f\x7d\x75\x75\x08\x57\x56\x61\x75\x60\x1b\x4e\x61" -+"\xbd\xd4\xf7\x09\xe3\xf6\xeb\xdb\xb1\x52\xfb\x19\x94\x1f\xad\xf8\x1f\x15\x98\x95\x91\x94\x96\x1a\x96\x82\x94\x7f\x84\x7a\x0a\x82" -+"\x54\x0a\x37\x0a\xd8\xf7\xda\x2c\x1d\xf7\x4f\xf7\x98\x15\xf7\x51\xfb\xfe\x05\x7c\x93\x95\x83\x95\x1b\x92\x8e\x8e\x93\x90\x8a\x8f" -+"\x87\x97\x1f\xfb\x24\xf7\xf5\xf7\x24\xf7\xf6\x05\x8e\x92\x8d\x94\x92\x1a\x91\x88\x8e\x84\x81\x86\x87\x78\x7e\x1e\x0e\xf8\x32\xf7" -+"\x98\x15\xfb\x51\xf7\xff\x05\x9d\x7f\x85\x90\x81\x1b\x84\x88\x88\x85\x84\x8d\x82\x8e\x84\x1f\xf7\x24\xfb\xf6\xfb\x24\xfb\xf5\x05" -+"\x87\x7f\x8a\x87\x86\x1a\x83\x8e\x88\x92\x95\x95\x93\x9a\x93\x1e\x0e\xf8\x70\xbe\x15\xc2\xf7\x93\x05\x8d\x93\x8c\x94\x91\x1a\xc9" -+"\x51\xb5\x36\x6a\x0a\xd8\xa5\x90\xad\x1b\xca\xb2\x73\x66\xf7\x16\x1d\x29\x48\xbf\x63\xe0\xd0\xc6\xa1\xbf\xd3\x1f\x7f\x51\x05\xb2" -+"\x06\x57\x70\x70\x69\x63\x65\x0a\xab\xad\xaa\xcf\xa7\x1f\x9d\x93\x93\x94\x99\x1a\x9a\x83\x91\x76\x1e\x37\xcf\x15\x4e\x3b\x53\x74" -+"\x43\x1b\x52\x6a\xa2\xb4\xcc\xdf\xbc\xf7\x04\xb6\xb4\x86\x82\xae\x1f\x0e\xf8\x82\xf8\x2a\xf7\x38\x1d\x88\x8c\xb3\x58\x1f\xb7\x53" -+"\x7c\xf7\x0c\x0a\x7e\x72\x0a\xc0\xb6\x95\x7b\x0a\x56\xcb\xa1\x7f\xac\x1b\xac\xaa\x9d\xb4\xae\x1f\x9d\xa1\x93\x97\x9d\x1d\xfb\x20" -+"\x04\x7e\x87\x87\x74\x7a\x1f\x6a\x73\x75\x7b\x75\x1b\x7b\x8a\x8c\xb3\x56\x1f\xb7\x54\x7b\x93\x6a\x1b\x68\x71\x7c\x63\x68\x1f\x75" -+"\x73\x83\x7e\x72\x0a\xc0\xb6\x95\x7b\x0a\x55\xcc\xa0\x80\xac\x1b\xac\xaa\x9e\xb4\xae\x1f\x9e\xa0\x92\x98\x9d\x1d\x0e\x37\x0a\x7c" -+"\xf8\x5f\x5c\x1d\x7a\x74\x95\x1d\xb8\xf7\x04\x15\x9a\x95\x8f\x71\x0a\x87\x89\x83\x7f\xf7\x0d\x1d\xf7\x35\xf7\x9e\x15\xa9\xb8\x9a" -+"\xaa\x9a\x1a\x93\x83\x91\x82\x84\x87\x88\x7e\x80\x1e\x6c\x68\x6e\x74\x4f\x69\x08\x78\x81\x87\x87\x84\x1a\x85\x8f\x85\x92\x87\x1e" -+"\x91\x88\x8c\x8a\x8f\x89\x91\x88\x19\x99\x82\xbc\x6e\xa3\x77\xad\x64\x19\x84\x91\x8f\x89\x92\x1b\x94\x92\x92\x93\x9a\x76\xb5\x73" -+"\xab\x1f\xf7\xb3\x9c\x0a\x0e\xf7\x9b\xf8\xae\x15\xfc\x34\x07\xa2\x6c\x5e\xa1\x7c\x1b\x83\x84\x84\x82\x84\x8d\x87\x93\x85\x1f\xb8" -+"\x65\x9a\x79\xb8\x41\x08\x7e\x92\x8e\x88\x94\x1b\x92\x8f\x90\x9c\x95\x1f\xab\xc3\xa5\xab\xaf\xa9\x08\x98\x96\x8e\x90\x91\x1a\x94" -+"\x85\x93\x83\x7c\x6b\x7c\x6e\x5d\x1e\xf8\x33\x07\x0e\xf8\xdd\xf7\x9f\x15\xfc\x3c\x06\xa3\xab\xa0\xb5\x9a\x1a\x93\x84\x92\x82\x84" -+"\x87\x89\x84\x85\x1e\x64\x5e\x78\x7c\x41\x60\x08\x7d\x83\x88\x88\x83\x1a\x84\x8f\x87\x9e\x81\x1e\xc6\x6a\xaa\x73\xa9\x68\x08\x7f" -+"\x95\x90\x87\x91\x1b\x95\x93\x91\x93\x9a\x7b\xab\x6e\xb7\x1f\xf8\x3c\x06\x0e\xa3\xf7\x6b\x15\xf8\x3c\x9c\x0a\xfc\x3c\x06\x0e\xf7" -+"\xd0\x7f\x15\xf8\x34\x07\x75\xaa\xb8\x75\xf7\x56\x1d\x89\x8f\x83\x91\x1f\x63\xac\x79\xa0\x6c\xbd\x88\x8f\x88\x8f\x88\x91\x88\x90" -+"\x88\x90\x8a\x8c\x08\x98\x84\x88\x8e\x82\x1b\x84\x87\x87\x79\x81\x1f\x69\x51\x74\x6e\x66\x6c\x08\x7e\x81\x88\x86\x85\x1a\x81\x91" -+"\x84\x93\x9a\xa9\x99\xa9\xbb\x1e\xfc\x34\x07\x0e\xf7\xa6\xf7\x02\x15\xa7\x5f\x69\x9b\x7c\x1b\x84\x84\x83\x82\x85\x8f\x86\x97\x80" -+"\x1f\xae\x6e\xa5\x6b\xac\x52\x08\x79\x95\x8f\x87\x92\x1b\x92\x90\x8e\x93\x8f\x1f\xb7\xd4\x9e\xa4\xb8\xb0\x08\x92\x91\x8e\x8f\x92" -+"\x1a\x94\x84\x92\x83\x7c\x5f\x75\x74\x6b\x1e\xf7\xae\x07\x74\xab\xb7\x76\xca\x1d\xab\x9a\xa8\xb9\x1e\x0e\xf7\x57\x63\x15\x5f\xf7" -+"\x6a\xb7\x07\xfb\x18\xf7\x51\x15\xa7\x5f\x69\x9b\x7c\x1b\x84\x84\x83\x82\x85\x8f\x86\x97\x80\x1f\xae\x70\xa5\x6a\xac\x52\x08\x79" -+"\x95\x8f\x87\x92\x1b\x92\x90\x8e\x92\x8f\x1f\xb6\xd5\x9f\xa3\xb8\xb0\x08\x92\x91\x8e\x8f\x92\x1a\x94\x84\x92\x83\x7c\x5e\x75\x75" -+"\x6c\x1e\xf7\xad\x07\x75\xaa\xb8\x75\xca\x1d\xac\x9a\xa8\xb8\x1e\x0e\xf7\x26\xbf\x15\x5d\xb3\xba\x75\xc8\x1b\xf7\x07\xf1\xf0\xf7" -+"\x07\xb2\x7a\xaf\x6d\xa4\x1f\x78\x9b\x7b\x92\x68\x92\x08\xda\xaa\xb4\xbe\xd0\x1a\xd4\x54\xbb\x36\x4f\x56\x73\x60\x67\x1e\x71\x6d" -+"\x7a\x5d\x79\x35\xfb\x03\xfc\x98\x18\x8a\x88\x8b\x87\x88\x1a\x7d\x96\x80\x99\x99\x94\x94\x9b\x8f\x1e\xf7\x49\xf8\x54\x15\xa7\x8a" -+"\x9e\x8a\x94\x8a\x08\xd8\x81\xb4\x6b\x58\x1a\x65\x7a\x63\x6c\x6a\x1e\x67\x69\x65\x7a\x5d\x1b\x49\x4e\xba\xbd\x93\x8e\x9f\x92\xa7" -+"\x1f\xb8\xf7\x61\x05\xf7\x01\xa3\xba\xbc\xdc\x1b\xc4\xab\x72\x60\x4e\x5d\x66\xfb\x04\x6e\x1f\x84\x8a\x05\x0e\x46\x1d\x9a\xf7\x5c" -+"\x3d\x1d\x46\x1d\xfb\x25\xe6\x15\xf7\x32\xf7\x00\x05\x9c\x97\x8f\x6a\x1d\x85\x84\x88\x85\x82\x4f\x0a\x46\x1d\x30\xf7\x8e\x3d\x0a" -+"\x4e\x1d\x91\x8d\x92\x94\x1e\xf7\x0f\xdf\xe1\x38\x05\x84\x92\x90\x88\x92\x1b\x9a\x9a\x99\x9b\x92\x89\x8f\x82\x93\x1f\x0e\x46\x1d" -+"\x29\xf7\x71\x59\x1d\xf7\xc5\xf7\x57\x15\x3e\xf7\x74\x05\x47\x06\x73\x7e\x43\x1d\xb3\x06\xd6\xfb\x73\xfb\x62\xfb\xa6\x05\x81\x7e" -+"\x88\x83\x82\x1a\x7d\x94\x82\x98\x96\x94\x90\x96\x93\x1e\xf7\x51\xf7\x90\xe6\xfb\xa0\x05\xd4\x44\x0a\x5e\x06\x31\xf7\xa0\xf7\x48" -+"\xf7\x88\x05\x94\x96\x8f\x95\x94\x1a\x98\x82\x94\x7e\x80\x82\x86\x80\x83\x1e\x0e\xf7\xad\xf8\x88\x15\xfb\x1e\xfb\x07\xfb\x03\xfb" -+"\x1a\xfb\x22\xf7\x06\xfb\x05\xf7\x24\xf7\x1f\xf7\x05\xf7\x03\xf7\x1c\xf7\x1f\xfb\x08\xf7\x06\xfb\x21\x1f\x8f\xfb\xbe\x15\xf5\x23" -+"\x05\x72\x67\x68\x80\x61\x1b\x60\x6e\x94\xa3\x6c\x1f\x5d\xb8\x15\x70\xaf\x82\xa6\xb4\x1a\xb7\x96\xae\xa3\xac\x1e\xf7\x02\xfb\x00" -+"\x05\xe8\x16\xf7\x02\xf6\x05\xa1\x6d\x94\x72\x66\x1a\x5a\x80\x66\x73\x6a\x1e\xfb\x2c\xf7\x29\x15\xfb\x03\xf7\x00\x05\xa3\xac\xae" -+"\x96\xb5\x1b\xb7\xaa\x81\x72\xae\x1f\x0e\xf8\x82\x16\x9b\x07\xfb\x15\x9e\x50\xce\xf7\x18\x1a\x9c\x6e\x91\x81\x94\x80\x08\x68\xa9" -+"\xba\x73\xb5\x1b\xd1\xc2\xc4\xd4\xd1\x59\xc2\x4c\x78\x80\x88\x7e\x70\x1f\x89\x8a\x82\x86\x86\x89\x08\xa1\xaa\x93\xa3\xa8\x1a\xd0" -+"\x53\xc1\x44\x44\x54\x55\x45\x70\x90\x7d\xa5\x61\x1e\x9c\x68\x78\x91\x76\x1b\x4f\x58\x52\x46\x43\xc3\x53\xd2\xca\xc0\xb1\xd2\xad" -+"\x1f\x8c\x78\x05\x85\x07\x8a\x53\x6e\x4c\x62\x6a\x72\x78\x79\x84\x42\x7c\x08\x7b\x07\x0e\xb4\x0a\x28\xd7\x40\xf2\xd2\xca\xa8\xc8" -+"\xc8\x1f\x7a\x41\x05\xf1\x79\x0a\x5b\x06\xfb\x2b\xf7\xdf\x15\xdd\xc3\x54\x3a\x20\x22\x23\xfb\x00\x36\x53\xc1\xdc\xf7\x03\xf2\xf0" -+"\xf7\x05\x1f\xf8\x25\xf7\x51\xf7\x03\x0a\x87\x7f\x81\x1e\xfb\x03\xfb\x0f\x05\x81\x7f\x88\x85\x83\x1a\x80\x64\x1d\xf8\xff\xf8\x9c" -+"\x15\x9d\xde\x05\xf7\x42\x1d\x84\x6b\x05\xfb\x19\x06\x73\x7e\x80\x77\x7d\x93\x85\x9f\x1f\xf7\x17\x06\x70\xfb\x14\x05\xca\x67\x59" -+"\xa8\x43\x1b\xfb\x23\xfb\x17\xfb\x18\xfb\x23\x27\xd7\x41\xd2\x0a\xe6\xf8\x36\x05\xbd\x06\xa4\x97\x95\x9f\x9a\x83\x91\x77\x1f\xfb" -+"\xc1\xfb\x1e\x15\xdd\xc3\x54\x3a\x20\x22\x23\xfb\x00\x36\x53\xc1\xdc\xf7\x03\xf2\xf0\xf7\x05\x1f\x0e\xf7\xff\xf8\x42\x15\x4f\x81" -+"\x62\x7a\x5d\x68\x08\x47\x56\x61\x3e\x41\x1a\x22\xda\x40\xf7\x03\xf7\x2a\xf7\x1d\xf7\x15\xf7\x20\xb5\x7d\xb2\x70\xa9\x1e\x78\xa1" -+"\x7d\x95\x52\xaf\x08\x38\xbe\x7e\x98\xa9\x1a\x9f\x98\xa4\x9d\x97\x1e\x9a\x9f\xa5\x91\xba\x1b\xcf\x06\xa0\x99\x96\x9c\x97\x81\x92" -+"\x7a\x1f\x4a\x06\x4a\x63\x7f\x6d\x68\x1f\x6d\x71\x79\x68\x69\x1a\x6c\x98\x77\xae\x72\x1e\xac\x53\x15\xe1\xf7\x1f\x0a\x32\xf7\x06" -+"\x0a\xf6\xf7\xa2\x15\xe1\x20\xdc\xfb\x09\xaf\x47\xba\xe0\xe3\xf7\x0f\xdb\xeb\x4d\xd1\xfb\x10\xf7\x44\x6e\xc4\x60\x3a\x53\x3c\xfb" -+"\x06\xfb\x23\x08\x0e\xf8\x6d\xf8\xdf\xbc\x1d\x30\x1d\xfb\x57\xf7\xf4\x32\x0a\x30\x1d\xfb\x0d\xf7\x77\x15\xf7\x32\xf7\x00\x05\x9c" -+"\x97\x8f\x6a\x1d\x85\x84\x88\x85\x82\x4f\x0a\x30\x1d\x2d\xf7\xf9\x59\x1d\xf8\xd9\xf7\x7b\x15\xbe\xfc\x8d\x07\x8f\xf7\x10\xcd\xc7" -+"\xf7\x15\x88\x08\xf7\xc6\xbe\xfb\xba\xf7\x3d\x1d\x49\x99\x50\xa4\x65\x1e\xa2\x68\xae\x6c\xac\x7e\x08\x7c\xaf\xa7\x87\xd4\x1b\xf7" -+"\xba\xbe\xfb\xc6\x06\xfb\x14\x88\x4a\xc5\x85\xf7\x0c\x08\x90\x07\x0e\x30\x1d\x93\xf7\xa5\x2c\x1d\xf7\x7f\xf7\xb7\x15\xd7\xd9\xa8" -+"\x9a\xc8\x1b\xc8\xad\x73\x5e\x84\x8a\x86\x8a\x80\x1f\x47\xfb\xcb\x05\x4a\x7c\x54\x5e\x4b\x1b\x4e\x32\x1d\xc9\x06\xe6\x89\xdf\xd1" -+"\x9e\xe6\xcf\xf7\xd1\x18\x8e\x95\x8c\x96\x93\x1a\xcd\x54\xb7\x39\x4e\x62\x79\x54\x4c\x1e\x98\xc6\x05\x39\x20\x1d\xa7\x25\x0a\x62" -+"\x06\x73\x7d\x80\x78\x7d\x95\x84\x9e\x1f\xf7\x18\x30\x0a\x65\x06\x0e\xa9\x0a\xfb\x01\xdd\x3c\xf7\x05\x94\x9b\x8c\x8c\x9a\x1e\x66" -+"\x6f\x7a\x70\x6b\xee\x1d\xaf\xa8\xa2\xf7\x07\xc3\x1f\xb9\xa0\x9a\x98\x9c\x1a\x97\x82\x94\x7f\x85\x87\x89\x85\x81\x1e\x6d\x5d\x3e" -+"\x75\x4e\x1b\x2c\xd5\x0a\xe3\xcd\x52\x42\x87\x1f\x0e\xf8\x39\xf7\x8f\x15\x82\x8c\x05\x84\x06\x7e\x8a\x05\x42\x5c\xa5\xb3\xb9\xbc" -+"\xab\xd1\xa1\x9c\x89\x87\x98\x1f\x81\xa9\x8b\x8b\x91\x1b\x99\x99\x9a\x9c\x9f\x60\x9a\x50\x25\x38\x4f\x42\x61\xa4\x6f\xbf\x7b\x1f" -+"\x72\x85\x80\x88\x7b\x84\x08\x51\x74\x68\x5d\x56\x1a\x4c\xc1\x66\xe6\xbc\xc7\x96\x99\xaa\x1e\x98\x92\x92\x95\x97\x1a\x98\x84\x92" -+"\x7e\x88\x88\x8a\x89\x84\x1e\x7a\x57\x78\x88\x5f\x1b\x46\x67\x9e\xaf\xae\xa6\xac\xb5\x9d\x1f\x98\xaa\xab\x8f\xc7\x1b\x92\x06\x92" -+"\x06\x0e\xf7\xea\xf7\x55\x15\x93\x8c\x96\xbd\x05\x27\x8f\x64\x9e\xb6\x1a\xb5\xbc\xa9\xce\xb3\xac\x81\x79\x9f\x1e\x93\x84\x90\x7e" -+"\x79\x1a\x71\x92\x82\x9d\x9b\x94\x95\x9e\x8d\x1e\x8d\xa4\x91\xa1\x96\xaa\x08\x8f\x94\x8c\x91\x92\x1a\x98\x81\x95\x7d\x7c\x83\x84" -+"\x77\x84\x1e\x8a\x87\x8a\x8a\x89\x84\x08\xa6\x66\x64\x97\x59\x1b\x2b\x45\x56\x43\x65\x98\x75\xae\x76\x1f\x43\x74\x61\x5b\x4f\x1a" -+"\x44\xca\x62\xf7\x00\xe2\xd1\xa6\xac\x97\x81\x95\x80\x85\x86\x89\x85\x7c\x1e\x7a\x62\x6b\x85\x61\x1b\x44\x60\xa2\xb2\xc3\xd8\xb3" -+"\xf5\x1f\xf7\x14\xf8\x1e\x15\x98\x95\x91\x94\x95\x1a\x98\xeb\x1d\xf8\x9e\xf7\x08\x15\xa1\x96\x94\x9c\x9b\x80\x94\x75\x1f\xfc\x50" -+"\x58\x0a\xf8\x50\xf7\xae\x15\xa1\x96\x94\x9b\x9c\x80\x94\x75\x1f\xfc\x50\x06\x76\x80\x82\x7a\x7b\x96\x82\xa0\x1f\xf8\x50\xfb\x21" -+"\xf7\x5d\x1d\xfc\x50\x58\x0a\x0e\xf8\x71\xf7\x54\x15\x8a\xcf\x87\xa8\x7d\xaa\x08\xcc\x6e\x46\xb2\x36\x1b\xfb\x14\x3b\x37\xfb\x1a" -+"\xfb\x1a\xd8\x3c\xf7\x15\xeb\xce\xb4\xd7\xa5\x1f\x8c\x8e\x8d\x8f\x05\x5e\x06\x8a\x89\x8b\x8a\x88\x87\x08\x5a\x72\x5a\x70\x4a\x1b" -+"\x41\x69\xa1\xc8\x77\x1f\xd6\x07\xf7\x96\xb4\x15\xfb\x94\xd3\x06\xc5\xa9\xab\xa0\xc8\x1b\xcb\xbd\x6d\x5a\x9e\x1f\x0e\xcc\x1d\xc4" -+"\xad\x70\x5d\x85\x8a\x83\x8a\x85\x1f\x2e\xfc\x3b\x05\x88\x7d\x8a\x84\x87\x1a\x7c\x94\x83\x9a\x9f\x91\x93\xaa\x8f\x1e\xeb\xf8\x48" -+"\x05\x8d\x95\x8c\x90\x93\x1a\xd1\x57\xba\x3c\x53\x56\x76\x5f\x54\x1e\x0e\xcc\x1d\xc5\xac\x70\x5c\x85\x8a\x84\x8a\x85\x1f\x2e\xfc" -+"\x3b\x05\x88\x7d\x8a\x84\x87\x1a\x7c\x94\x83\x9a\x9f\x91\x93\xaa\x8f\x1e\xeb\xf8\x48\x05\x8d\x95\x8c\x90\x93\x1a\xd1\x57\xba\x3c" -+"\x53\x56\x76\x5f\x54\x1e\xf7\x92\xf7\x6f\x61\x1d\x82\x93\x7f\x5b\x1d\x93\x83\x98\xf7\x10\x0a\xf7\x74\xf8\xc1\x15\x8c\x9c\x05\xa1" -+"\x8c\x76\x9f\x72\x1b\x71\x78\x78\x73\x87\x8b\x86\x8c\x84\x1f\x9d\xfb\xd4\x05\x75\x8c\x94\x81\x9b\x1b\x9b\x93\x95\xa1\x8c\x1f\x6c" -+"\xfb\x23\x15\x69\x72\x74\x6c\x6c\xa4\x73\xad\x1f\x97\x06\xad\xa5\xa3\xaa\xaa\x71\xa2\x69\x1f\xf7\xaa\xf8\x63\x15\x8c\x9b\x05\xa2" -+"\x8d\x76\x9f\x71\x1b\x72\x77\x78\x74\x86\x8b\x86\x8c\x84\x1f\x9d\xfb\xd4\x05\x75\x8c\x94\x81\x9b\x1b\x9b\x93\x95\xa1\x8c\x1f\x6c" -+"\xfb\x23\x15\x69\x72\x74\x6c\x6c\xa4\x73\xad\x1f\x97\x06\xad\xa5\xa3\xaa\xaa\x71\xa2\x69\x1f\x0e\xf8\x30\xf7\x9e\x15\xfb\x6b\xfb" -+"\xb9\x58\xf7\xed\xf8\xc7\xfb\xed\x58\xf7\xb9\xfb\x57\xfb\xb9\x58\x07\x0e\xf7\xd6\xf7\xac\x15\xf6\x94\xe0\xe9\xf7\x01\x1a\xf7\x0a" -+"\x2b\xea\xfb\x0a\xfb\x0a\x2c\x2c\xfb\x0a\xfb\x01\xe0\x2d\xf5\x82\x1e\x32\xfb\x29\x64\xf7\x29\xfb\x2c\xb7\xf7\x2c\xf7\x28\xb2\xfb" -+"\x28\x07\x72\xf8\x69\x15\xeb\xd8\x40\x2f\x2d\x3f\x3f\x2d\x2e\x3f\xd6\xe9\xe6\xd7\xd8\xe5\x1f\x0e\xf7\x78\xf7\x9e\x15\xcb\x06\x83" -+"\x64\x05\x89\x82\x8b\x8b\x89\x1a\x7f\x94\x82\x96\x9c\x97\x96\x9e\x90\x1e\xa7\xf7\x16\x8c\x95\x05\x99\x8c\x82\x94\x7e\x1b\x80\x88" -+"\x89\x83\x82\x1f\x85\x86\x8b\x8b\x88\x7b\x82\x63\x18\x4b\x06\xb6\xf7\x57\x05\xf7\x50\x06\x7a\x3f\x05\x8a\x84\x8a\x87\x88\x1a\x7f" -+"\x94\x84\x99\x9b\x95\x96\x9f\x90\x1e\xa6\xf7\x15\x05\xfb\xd6\x06\x7b\x87\x8a\x84\x85\x1f\x85\x84\x86\x82\x87\x1a\x7c\x96\x83\x9d" -+"\x1e\xa7\x06\x26\xfc\x61\x05\x6d\x06\x80\x82\x88\x87\x86\x1f\x86\x87\x84\x7e\x87\x1a\x7c\x95\x83\x9e\x1e\xf7\x37\x06\xa3\x99\x97" -+"\x9e\x98\x80\x92\x78\x1f\x3a\x06\xf7\xdd\xf7\xca\x15\x2f\x06\x75\x7c\x80\x7a\x7b\x2a\x0a\xb1\x06\x52\xfb\x97\x05\x65\x06\x74\x7e" -+"\x7f\x77\x7f\x95\x84\x9d\x1f\xf7\x4a\x06\xa3\x98\x97\xa1\x90\x87\x91\x85\x8f\x1f\x8d\x87\x8b\x8b\x7c\x1b\x2f\x06\xab\xf7\x2a\x9d" -+"\x9e\x8b\x8b\xce\xd1\x19\xa2\xa1\x95\x92\x96\x1b\x93\x9e\x80\x82\x91\x1f\x7a\x97\x8f\x87\x95\x1b\x9a\x98\x98\x9b\x97\x88\x90\x7d" -+"\x99\x1f\xa2\x74\x7a\x94\x74\x1b\x69\x7b\x7f\x41\x49\x1f\x0e\xf7\x9f\xd4\x15\x23\xf7\xee\x05\x56\x2b\x1d\xa2\x06\xf5\xfb\xfa\x05" -+"\x6c\x4e\x7e\x61\x62\x1a\x6d\x98\x79\xa0\xb2\xa2\xc0\xe4\x9b\x8b\x98\x89\x9a\x1e\xf7\x71\xf7\xd3\xa4\xae\x97\x93\xa9\x8d\x19\xab" -+"\x97\x93\xa0\x99\x81\x93\x78\x1f\x75\x06\x5f\x72\x7a\x54\x65\x1f\x0e\x4c\x0a\x71\xf7\x72\x32\x0a\x4c\x0a\xe1\xf7\x94\x15\xfb\x32" -+"\xfb\x01\x05\x7b\x4e\x1d\x92\x8e\x91\x94\x7f\x0a\x91\x1b\x9b\x9a\x99\x9b\x92\x59\x0a\x4c\x0a\xf7\x2f\xf7\x82\xf7\x03\x0a\x86\x80" -+"\x81\x1e\xfb\x03\xfb\x0f\x05\x81\x80\x88\x84\x83\x1a\x80\x64\x1d\x4c\x0a\xd6\xf7\x77\x15\x68\x6a\x35\x0a\xa4\x78\x9e\x71\x1f\x0e" -+"\xf8\xa0\xf7\xd9\x15\xfc\x3f\xf7\x7d\x05\x8d\x86\x85\x8d\x87\x1b\x82\x83\x86\x84\x87\x1f\x8a\x88\x05\x88\x87\x8a\x87\x87\x1a\x82" -+"\x90\x84\x96\x85\x1e\xf7\xee\xfb\x50\xfb\xee\xfb\x50\x05\x80\x84\x86\x85\x82\x1a\x88\x8d\x86\x8d\x86\x1e\x8c\x89\x05\x83\x90\x93" -+"\x86\x92\x1b\x90\x91\x8d\x8e\x91\x1f\x77\x61\x15\x76\x80\x82\x7a\x7b\x96\x82\xa0\x1f\xf8\x34\x06\xa0\x96\x94\x9b\x9c\x80\x94\x76" -+"\x1f\x0e\xf7\xaf\xf8\x9f\x15\x9c\xdb\x05\x89\x1d\x85\x6e\x05\x5e\x06\x68\x1d\xb5\x06\x30\xfc\x3a\x05\x62\x33\x1d\xf7\x18\x06\x5c" -+"\x0a\x76\x1f\x65\x06\xbf\xf7\x86\xbd\xb9\x8b\x8b\x98\x94\x19\xa3\xad\xa9\x95\xb0\x1b\xb3\x9d\x86\x78\x9e\x1f\x9a\x7d\x92\x7b\x77" -+"\x1a\x87\x8a\x83\x89\x84\x1e\x58\xfb\x82\x05\x62\xd4\x0a\x64\x06\xbe\xf7\x83\x05\x8e\x95\x8c\x95\x93\x1a\xd1\x55\xb8\x37\x51\x5c" -+"\x77\x57\x51\x1e\xa3\xf7\x04\x05\xf7\x22\x06\xa1\x9a\x96\x9d\x3c\x0a\x0e\xa8\x1d\xf7\x4a\xf8\x3c\xd4\x1d\xf7\xc0\x75\x15\x9b\xd2" -+"\xba\xdb\xe3\xf7\x02\x08\xd5\xe9\xa4\xbf\xc9\x1a\xca\x55\xc0\x4a\x4b\x5d\x62\x3f\x76\x1e\xd9\x72\x5f\xb2\x4b\x1b\x4a\x58\x56\x47" -+"\x57\x9b\x68\xcc\x33\x1f\xf7\x09\xfb\x30\xa9\x56\xa0\x3b\x08\x0e\xd1\x16\xf8\x61\xf7\xcb\x06\xfb\x7b\xf7\x92\xfb\x7a\xfb\x92\x05" -+"\xbd\xfb\x99\x15\xf7\x85\x07\xf7\x48\xf7\x5a\xf7\x49\xfb\x5a\x05\xfb\x85\x07\x0e\xce\x1d\x85\xf8\xbd\x15\x91\x7f\x93\x82\x77\x7e" -+"\x7b\x71\x51\xbe\x65\xd9\xbe\xb9\x6d\x0a\x83\x84\x79\x84\x1e\x67\x7f\x5b\x71\x56\x1b\x70\x73\x92\x97\x7d\x1f\x84\x90\x7d\x9d\x8d" -+"\x1a\x0e\xf7\xc7\xf8\x37\x15\xfb\x3a\x20\x1d\xf7\x04\x25\x0a\xfb\x06\x21\x1d\xf7\xaa\x2a\x1d\xfb\x04\x06\xf7\x0e\xf8\xcf\x15\x45" -+"\x06\x72\xfb\x05\x05\xd1\x06\xf7\xaf\xfb\x21\x15\x36\xfc\x19\x05\x4a\x7b\x55\x5e\x4b\x1b\xfb\x14\x33\x1d\xf7\x15\x06\xe5\x89\xe0" -+"\xd1\x9e\xe6\xeb\xf8\x4e\x18\xfb\x8b\x26\x0a\xf7\x93\xf7\x92\x77\x0a\x3c\x1d\xf7\x59\xf8\x6e\x2c\x1d\xf7\xc0\xf7\x8a\x15\x52\xba" -+"\xc8\x69\xbf\x1b\xa7\xa5\x93\x98\x9f\x1f\xaa\xa1\xa2\xba\xb2\x1a\xd0\x50\xc3\x43\x54\x4f\x68\x54\x61\x1e\xc6\x59\x56\xa9\x55\x1b" -+"\x43\x50\x52\x44\x47\xc4\x52\xd1\xc7\xb8\xa4\xca\xc1\x1f\xae\xb2\x15\xb9\xab\xbd\xa9\xb6\x1b\xba\xaa\x6d\x5e\x5e\x6c\x6b\x61\x77" -+"\x76\x91\x97\x75\x1f\x7a\x94\x8b\x8b\x5c\xb9\x08\x47\x8f\x15\x5c\x66\x58\x6d\x61\x1b\x5e\x6e\xaa\xba\xb6\xaa\xa9\xb8\xb4\xb3\x74" -+"\x58\xba\x1f\x0e\xf7\xa7\x5c\x15\x44\x84\x6f\x7b\x84\x88\x8d\x99\x83\x1e\x9a\x80\x7c\x94\x7a\x1b\x71\x79\x7a\x72\x6d\xa5\x76\xb0" -+"\xa7\xa7\x98\xa3\xa2\x1f\xa9\xab\x93\xa9\xe4\x1a\xf8\x8a\x07\xca\x92\xa6\x9d\x90\x8f\x87\x82\x91\x1e\x77\x99\x95\x85\x9f\x1b\xa5" -+"\x9d\x9c\xa3\xa9\x72\xa0\x68\x73\x72\x82\x7c\x77\x1f\x66\x6e\x7d\x60\x32\x1a\x0e\xf7\xda\xf9\x0e\x15\x57\xfd\x35\x06\x4b\x83\x70" -+"\x7a\x86\x87\x8f\x94\x85\x1e\xa0\x7d\x81\x92\x77\x1b\x72\x78\x7a\x72\x6e\xa4\x75\xae\xa3\xa4\x94\x9a\x9f\x1f\xb0\xa8\x99\xb6\xe4" -+"\x1a\x0e\xf7\xa6\xfb\x4a\x15\xbf\xf9\x35\x06\xca\x92\xa6\x9d\x90\x8f\x87\x82\x91\x1e\x77\x99\x95\x85\x9f\x1b\xa5\x9d\x9c\xa3\xa9" -+"\x72\xa0\x68\x73\x72\x82\x7c\x77\x1f\x66\x6e\x7d\x60\x32\x1a\x0e\xf8\xad\xf7\x74\x15\xf7\x2a\x86\xae\x70\xb8\x1e\xce\x61\x3e\xb4" -+"\x35\x1b\x57\x5b\x7c\x70\x62\x1f\x58\x68\x6e\x5d\x81\x4d\x08\x86\x69\x8a\x75\x2a\x1a\xfb\x52\x07\x75\x94\x7f\x9c\x9b\x95\x98\xa0" -+"\x1e\xf7\x55\x07\x8c\xe3\x8b\x8b\x95\x1a\x8e\xbf\x92\xa9\x9a\xa1\x08\xbd\xad\xc8\xab\xcb\x1b\xc8\xc6\x6e\x5e\xab\x1f\xa6\x66\x91" -+"\x66\xfb\x1c\x1a\xfb\x55\x07\x75\x94\x7f\x9b\x9b\x96\x99\x9f\x1e\x0e\xf7\xc5\xf8\xc7\xb7\x0a\x30\xfb\x34\x15\xa3\x9e\x78\x74\x73" -+"\x78\x78\x74\x73\x78\x9e\xa3\xa1\x9e\x9f\xa2\x1f\xf7\xa2\x34\x15\x86\x48\x82\x6c\x74\x69\x08\x5a\x6a\x5a\x72\x4b\x1b\x4f\x5e\xa0" -+"\xb4\x6a\x1f\x6e\xb0\x80\xad\x85\xd4\x95\x63\x93\x7a\x9e\x75\x08\x61\xae\xbc\x76\xca\x1b\xc9\xbc\xa0\xb5\xae\x1f\x9e\xa1\x93\x9c" -+"\x95\xb3\x08\x29\xe2\x15\xa3\x9e\x78\x74\x73\x78\x78\x74\x73\x78\x9e\xa3\xa1\x9e\x9f\xa2\x1f\x0e\xf8\x34\xf8\x37\x15\xfb\x3a\x20" -+"\x1d\xf7\x04\x25\x0a\xfb\x30\x21\x1d\xf7\xc0\x06\x57\x71\x70\x68\x63\xee\x1d\xab\xad\xa9\xce\xa8\x1f\x9e\x93\x93\x94\x99\x1a\x9a" -+"\x82\x91\x77\x1e\xfb\x2e\x06\xf7\x0e\xf8\xcf\x15\x45\x06\x72\xfb\x05\x05\xd1\x06\x0e\xc1\x1d\x0e\xf7\xe4\xf8\x18\x15\x8f\x9d\x8b" -+"\x8c\x8e\x1a\x99\x81\x94\x7b\x7b\x84\x83\x72\x86\x1e\x49\xfb\xc8\x05\x89\x7e\x89\x7c\x80\x1a\x60\xa9\x71\xbb\x9f\xea\x1d\x91\x8d" -+"\x96\x8e\x9c\x1f\x78\xf8\x74\xdd\x1d\xf7\xe3\xf8\x18\x15\x8f\x9b\x8b\x8d\x8d\x1a\x9b\x81\x94\x7b\x7b\x84\x83\x72\x86\x1e\x49\xfb" -+"\xc8\x05\x89\x7d\x89\x7e\x7f\x1a\x61\xa9\x70\xbb\x9f\x9f\x8f\x92\xa0\x1e\xa2\x94\x96\x97\x9b\x1a\x98\x82\x94\x7e\x86\x86\x8a\x88" -+"\x85\x1e\x81\x73\x79\x86\x7a\x1b\x7b\x83\x91\x99\x92\x8c\x92\x8f\x9f\x1f\xf7\x56\xf8\x86\xbc\x1d\xc1\x1d\xf7\x49\xf8\x86\x61\x1d" -+"\xeb\x1d\x3c\x1d\xf7\x35\xf8\xba\xbf\x1d\x56\x0a\xf8\x7f\xa4\x0a\xf7\x69\xf7\xa2\x3d\x0a\xd1\x0a\x90\x88\x92\x1b\x9a\x9a\x99\x9b" -+"\x92\x89\x8f\x82\x93\x1f\x0e\xf7\x71\xf7\x84\x15\xb1\xf7\x47\x05\x21\x3f\x1d\xbe\x06\x46\x7e\x1d\xf7\x26\x31\x1d\x58\x06\xa8\xf7" -+"\x1e\x05\xa8\x06\xdd\x87\xab\x67\xb5\xfb\x1c\x8d\x84\x18\x8d\x85\x05\xdd\xf7\x5a\x1d\x56\x06\x70\xe6\x5f\xca\x5b\x9c\xf7\x48\xf7" -+"\x26\x18\x97\x06\xa2\x6d\x1d\x2c\x33\x0a\x93\x06\xfb\x39\xfb\x14\x05\x0e\xac\x1d\xf7\x10\x2e\x27\x0a\xf7\x78\xf7\x47\x15\xbc\xad" -+"\xf7\x18\xfb\x36\x05\x7a\x24\x0a\x78\x7d\x25\x1d\xf7\x17\x23\x1d\x61\x06\xfb\x33\xf7\x55\xf7\x47\xf7\x10\x05\xb8\x06\xa1\x9a\x38" -+"\x1d\xfb\x16\x20\x1d\x91\x06\xfb\x48\xfb\x13\xb2\xf7\x46\x05\x25\x06\x73\x7e\x80\x78\x7d\x25\x1d\xbb\x06\x46\xfb\xd1\x4d\x1d\xef" -+"\x06\x0e\x41\x0a\xf7\x72\xf9\x40\x2d\x0a\xc4\xbe\x15\x74\x24\x1d\xf7\x06\x23\x0a\x70\x06\xf7\x69\xf7\xb3\xf5\xfb\xb3\x05\x69\x33" -+"\x0a\xf7\x08\xe6\x0a\x71\x06\xfb\x5e\xf8\xbb\x05\x34\x3a\x0a\xc7\x06\xc3\xfb\x2e\x05\x0e\x41\x0a\xf7\x8e\xf8\x9c\x15\x93\x94\x8f" -+"\x93\x78\x1d\x41\x0a\x75\xfb\x24\x27\x0a\x41\x0a\xf7\x88\xf7\xdf\x15\x58\x64\x65\x5a\x6d\xa5\x75\xaf\x1f\x95\x06\xb9\xb7\xb2\xb5" -+"\xad\x71\xa3\x67\x1f\x0e\xbc\xf7\xd9\x15\xf8\x3e\xfb\x7d\x05\x88\x91\x91\x89\x8f\x1b\x93\x93\x90\x93\x8f\x1f\x8c\x8d\x05\x8e\x90" -+"\xf7\x1c\x1d\x95\x90\x90\x93\x94\x1a\x90\x8a\x8e\x89\x8f\x1e\x89\x8e\x05\x92\x87\x83\x90\x83\x1b\x86\x85\x89\x89\x86\x1f\x9e\xfc" -+"\xc3\x15\xa0\x96\x94\x9b\x9c\x80\x94\x76\x1f\xfc\x34\x06\x76\x80\x82\x7a\x7b\x96\x82\xa0\x1f\x0e\xf7\x49\xf7\x43\x15\x46\x72\x5a" -+"\x53\x69\x1b\x78\x7e\x7f\x7b\x7c\x25\x1d\xf7\xd7\x06\xaa\xa7\x9a\xa6\xa2\x1f\x9b\x9e\x97\xa6\x9a\x1a\x96\x82\x94\x7e\x7c\x82\x83" -+"\x79\x85\x1e\x6e\x82\x78\x7a\x74\x1b\xfb\x82\x06\xa9\xa9\xa5\xb7\x9d\xbd\x08\xf7\x16\x06\xa0\x96\x95\x9f\x97\x83\x90\x7b\x1f\xfb" -+"\x11\x06\x8f\xa1\x8c\x94\x8c\x9c\x08\xf7\x18\x06\x9f\x96\x95\x9f\x97\x84\x90\x7a\x1f\xfb\x20\x06\x88\xb8\x89\xa5\x90\x1a\xb4\x94" -+"\xa5\xa5\xa5\x1e\xa4\xa2\xab\x9a\xaa\x1b\xad\xa0\x7e\x6a\x9f\x1f\x81\x91\x91\x87\x93\x1b\x9a\x9a\x99\x99\x96\x82\x9c\x7c\x9a\x1f" -+"\xa6\x73\x6c\x98\x65\x1b\x5d\x5f\x78\x67\x67\x1f\x65\x66\x7a\x61\x54\x1a\x78\x8b\x87\x90\x5b\x1e\x45\x06\x75\x80\x81\x77\x7f\x93" -+"\x86\x9c\x1f\xdb\x06\x8a\x81\x88\x73\x88\x7d\x08\x35\x06\x76\x80\x81\x77\x80\x93\x85\x9c\x1f\x0e\xf7\xb3\xbe\x15\xe6\xf8\x3a\x05" -+"\xba\x96\xbd\xab\xcb\x1b\xaf\xaa\x88\x83\xc1\x1f\x8a\x93\x8e\x8b\x8e\x1b\x9c\x99\x98\x9c\x95\x85\x92\x7f\x8e\x1f\x91\x6c\x47\x92" -+"\x64\x1b\x2e\x3e\x56\x40\x7b\x1f\x7f\x53\x05\x37\x26\x0a\xdc\x25\x0a\x2d\x26\x0a\xf7\xd0\x23\x1d\x0e\xf7\xe4\xf8\x31\x15\x91\x75" -+"\x77\x8e\x76\x1b\xfb\x0b\x2c\x2c\xfb\x0a\xfb\x0a\xea\x2c\xf7\x0a\xf7\x0a\xea\xea\xf7\x0a\xdb\x5e\xd4\x45\xb0\x1f\xe3\xf7\x53\x05" -+"\x61\xaa\xaa\x6d\x95\x1b\x92\x8f\x8f\x90\x8f\x89\x8f\x85\x95\x1f\x75\xad\x78\xc0\x88\xaf\x08\x9e\x8a\x8a\x8e\x85\x1b\x87\x87\x89" -+"\x83\x81\x1f\x78\x7a\x4a\x73\x67\x88\x08\x79\x88\x87\x89\x83\x1a\x80\xa3\x84\xb2\x1e\x9f\x06\x9f\x8c\x05\x8d\x06\xfb\x31\xfb\x79" -+"\x15\xea\xd8\x40\x2f\x2d\x40\x3f\x2d\x2e\x3f\xd6\xe8\xe7\xd7\xd8\xe5\x1f\x0e\xf7\xa8\xc7\x0a\x0e\xf7\xa6\xf7\x28\x15\x90\x7e\x7a" -+"\x8f\x7d\x1b\x57\x5d\x5e\x59\x6e\xa1\x78\xad\xd3\xbe\xc2\xda\x1f\xf7\x8b\x07\xba\x84\xb3\x4b\x46\x1a\x60\x83\x69\x77\x5e\x1e\xa2" -+"\x06\xa9\xb0\x9b\xb9\xbc\x1a\xca\x73\xc7\x59\xc7\x1e\x61\xbe\x8a\x8c\x86\x90\x85\x94\x19\xbc\x66\x07\x0e\xf7\xd8\xf8\x81\x15\xa0" -+"\x70\xa2\x76\xa3\x7e\xc8\x68\x96\x84\x90\x82\x08\x92\x7e\x8f\x78\x73\x1a\xfb\x92\x07\x92\x78\x72\x90\x76\x1b\x3f\x48\x51\x4a\x65" -+"\xaa\x73\xbd\xc3\xc0\xa4\xb5\xac\x1f\xa2\xa8\x92\xa3\x8e\xc0\x08\xf8\x22\x07\x8c\xda\x67\xdb\x59\xab\x57\xac\x18\x71\x9c\x7c\x95" -+"\x86\x8f\x08\x7d\x9b\x84\x9e\xa5\x1a\x99\x5b\xfc\xae\x07\x93\x78\x74\x8f\x76\x1b\x41\x49\x52\x49\x65\xaa\x73\xbb\xc2\xbf\xa4\xb5" -+"\xac\x1f\xa1\xa8\x92\xa3\x8e\xc0\x08\xf7\x2c\xf7\x47\x15\xfb\x0d\xcc\x71\xb4\x87\xf7\x12\x8e\x89\x18\xf7\x0d\x49\xa5\x63\x90\xfb" -+"\x12\x08\x0e\x4a\x0a\xf7\xce\xf7\x78\x15\x9a\x96\x8f\x91\x96\x1a\x97\x82\x94\x7e\x84\x86\x7f\x1d\x90\x8d\x93\x96\x1e\x0e\xf7\xb3" -+"\xf8\x37\x15\x39\x4f\x1d\x9e\x1f\xa7\x69\x0a\x77\x1f\x65\x06\xbf\xf7\x84\x05\xd7\xda\xa6\x9a\xca\x1b\xae\x9d\x85\x79\x9d\x1f\x9a" -+"\x7d\x92\x7a\x77\x1a\x82\x8b\x88\xb9\x0a\xbf\xf7\x87\x05\x8d\x93\x8c\x93\x93\x1a\xd1\x55\xb8\x39\x4e\x63\x79\x54\x4b\x1e\x7f\xf7" -+"\x67\x15\x94\x95\x8f\x92\x78\x1d\x4a\x0a\xf7\x2e\xf7\x0b\x61\x0a\x4a\x0a\xcb\xfc\x59\x27\x0a\xf7\xda\xf7\x7c\x15\xf7\x93\xbd\xfb" -+"\x79\x06\xec\xf7\x49\x05\xf7\x18\xbe\x22\x06\x97\xa9\x96\xa1\x96\x9a\x08\x8f\x90\x8d\x8f\x8e\x1a\x96\x7e\x96\x7f\x7e\x85\x87\x7b" -+"\x83\x1e\x60\x3a\x05\xfb\x1a\xf7\x3d\x1d\xfb\x10\xb7\x3b\xe6\x63\x1e\x6e\x55\x05\x87\x83\x89\x85\x86\x1a\x7f\x97\x80\x98\x97\x92" -+"\x90\x9a\x93\x1e\xac\xca\x05\x87\xac\x8f\x8b\xb8\x1b\xf7\xba\xbe\xfb\xc6\x06\x73\x84\x8b\x8d\x7e\x1f\xb2\xf7\x47\x15\x31\xfb\x3c" -+"\x4a\xa1\x68\xc3\x87\xe0\x19\x90\x07\xf7\xd2\xf7\x7b\x15\x2a\xfb\x49\x05\xfb\x71\x90\x06\x91\xf7\x0c\xcc\xc6\xf7\x14\x88\x08\x0e" -+"\xf8\x12\xf8\x0e\x15\xba\xe5\x05\x8f\x92\x8d\x92\x90\x1a\x98\x7f\x96\x7d\x80\x84\x86\x7d\x83\x1e\x4f\xfb\x06\x05\xfb\x89\x06\x76" -+"\x80\x82\x7a\x7b\x96\x82\xa0\x1f\xf7\x6f\x06\x5b\x31\x05\xfb\x3f\x58\x0a\xf7\x24\x06\x61\x3a\x05\x87\x84\x89\x85\x86\x1a\x7e\x97" -+"\x7f\x99\x96\x92\x90\x9a\x92\x1e\xc2\xf3\x05\xf7\x86\xf7\x59\x1d\xfb\x6b\x06\xbb\xe5\x05\xf7\x3b\x06\xa1\x96\x94\x9b\x9c\x80\x94" -+"\x75\x1f\x0e\xf7\x4f\xf8\x35\x15\x3b\x06\x76\x7e\x80\x78\x7d\x94\x84\x9b\x1f\xb5\x06\xe7\xfc\x02\x05\xbb\x06\xf7\x44\xf7\x30\xc8" -+"\xe0\xe7\x1a\xbb\x78\xb7\x77\x7b\x7c\x7d\x7d\x87\x8d\x83\x8d\x83\x1e\x91\x78\x8f\x77\x7d\x1a\x46\x57\x3c\xfb\x04\x24\x1e\x87\x88" -+"\x88\x88\x87\x87\x86\x87\x87\x88\x87\x87\x08\x0e\xf7\xf1\x56\x1d\x55\xf7\x72\xf7\x08\x1d\xbe\xb9\x6d\x0a\x83\x84\x79\x84\x1e\x67" -+"\x7f\x5b\x71\x56\x1b\x70\x73\x92\x97\x7d\x1f\x84\x90\x7d\x9d\x8d\x1a\x0e\x38\x0a\xd8\xf7\x5c\x74\x1d\x38\x0a\xf7\x29\xf7\x23\x2c" -+"\x1d\xa6\x1d\x0e\xa6\x1d\xf7\x1e\xf8\x12\x15\x97\x94\x92\x96\x95\x1a\x97\x82\x93\x7f\x84\x7a\x0a\x82\x54\x0a\xf7\xf1\x56\x1d\x0e" -+"\xf7\xf2\xf8\x45\x15\xfb\x2a\xfb\x1c\xfb\x15\xfb\x21\x23\xd9\x40\xf6\xf7\x2c\xf7\x1b\xf7\x14\xf7\x25\xf0\x3c\xd6\x20\x1f\x80\x58" -+"\x15\xdf\xc7\x53\x3d\xfb\x03\x21\x25\xfb\x08\x36\x50\xc3\xdc\xf7\x00\xf7\x00\xf1\xf7\x06\x1f\xf7\x1a\xf7\x61\x15\x99\x95\x91\x94" -+"\x96\x1a\x97\x82\x93\x7f\x83\x84\x88\x84\x81\x1e\xfb\x1b\x2b\x05\x7e\x81\x85\x82\x80\x1a\x7f\x94\x83\x97\x93\x92\x8e\x92\x95\x1e" -+"\x0e\xc5\x16\xf8\x7a\xc9\xfc\x3c\xf8\x3c\x4d\x06\x0e\xc3\x1d\x7f\x81\x87\xcb\x1d\xbe\xf7\x82\x3d\x1d\xf7\x2b\xf8\xbc\x15\x7d\x8c" -+"\x95\x82\x9a\x1b\xac\x8c\x05\xbb\xc4\x77\x6c\xb5\x1f\xa8\x76\x9e\x76\xa7\x60\x08\xa7\x5f\x66\x96\x57\x1b\xfb\x16\x24\x28\xfb\x11" -+"\xfb\x11\xf2\x27\xf7\x17\xf7\x15\xf3\xee\xf7\x10\xe9\x64\xf7\x00\x4e\xd1\x1f\xcb\x55\x33\xb0\x29\x1b\x70\x88\x8a\x84\x84\x1f\x87" -+"\x87\x89\x84\x84\x1a\xf7\x27\xfb\x40\x15\xf3\xdb\x40\x28\x2b\x3b\x3e\x26\x26\x3a\xd8\xec\xea\xdb\xd9\xee\x1f\x0e\xf8\x4d\xf7\x9d" -+"\x15\x97\xc3\x05\x8c\x8e\x8b\x8e\x8e\x1a\x98\x82\x94\x7e\x7d\x81\x82\x7a\x87\x1e\x7e\x4e\x05\x66\x06\x78\x7e\x81\x7b\x7d\x94\x83" -+"\x9d\x1f\xaa\x06\x6b\xfb\x25\x05\x89\x83\x8a\x84\x86\x1a\x62\xb1\x70\xc3\xae\xb9\x94\x99\xab\x1e\xa3\x95\x93\x93\x98\x1a\x98\x82" -+"\x94\x7e\x86\x89\x8a\x87\x82\x1e\x7e\x72\x5e\x81\x69\x1b\x6f\x77\x97\x9a\x8c\x1f\x8c\x8c\x8e\x8c\x90\x1e\xac\xf7\x29\x05\xf7\x12" -+"\x06\x9e\x98\x96\x9a\x9a\x82\x92\x7a\x1f\xfc\x34\x65\x15\xa6\x06\xf7\x17\xf7\x08\xe8\xf6\xdb\x48\xc3\x2b\x1f\xfb\x20\x49\x1d\xf7" -+"\x1a\x06\xbe\x8b\x8b\x92\x93\x1f\x93\x91\x8f\x94\x93\x1a\x99\x82\x92\x77\x1e\x4a\x06\xbc\xf7\x76\x15\xbe\xf7\x7f\x05\xb7\x06\xcf" -+"\xba\x64\x52\x43\x33\x48\x2c\x1f\x0e\xf7\x46\xfb\x1e\x15\x89\x7f\x8a\x86\x87\x1a\x7d\x95\x82\x9b\x9b\x92\x93\xa4\x90\x1e\xa8\xf7" -+"\x1a\x05\x8a\x96\x8d\x8b\x8f\x1b\xd3\xcb\xa6\xc3\xc4\x1f\xc4\xc2\xa8\xcc\xd4\x1a\xf0\x4f\xd3\x37\x3a\x61\x56\xfb\x1b\x6e\x1e\x61" -+"\xfb\x5d\x05\x40\x9f\x6a\xb6\xd9\x1a\xdd\xbd\xda\xd6\xb0\x1e\x9e\x94\x91\x92\x97\x1a\x98\x82\x94\x7d\x6d\x60\x6f\x5f\x64\x1e\x5d" -+"\x56\x76\x54\x47\x1a\x26\xc1\x46\xeb\x74\x1e\xc9\xb7\x15\xb6\xf7\x63\x05\xf1\xa1\xa6\xb0\xbe\x1b\xc0\xb1\x59\x45\x4d\x74\x59\x5b" -+"\x5c\x1f\x5f\x5d\x58\x73\x56\x1b\x88\x06\x0e\xf8\xad\xf8\x04\x15\xb4\x06\xa1\x9a\x97\x9c\x9a\x82\x92\x77\x1f\xfc\x1f\x06\x75\x7c" -+"\x80\x7a\x7b\x2a\x0a\xb1\xec\x1d\xd0\xf7\xd1\x05\xf7\x68\xec\x1d\x0e\xf8\x7d\xf8\xe3\x15\xbc\x84\x1d\xfc\x71\xeb\x0a\xbc\xfd\x02" -+"\x5a\xeb\x0a\xf7\x2b\x84\x1d\x59\xf9\x02\xf7\xa6\xfd\x02\x5a\x06\x7b\x8c\x80\x81\x8a\x7c\x08\x88\x07\x8c\x7c\x96\x81\x9b\x8c\x08" -+"\xf7\x2b\x84\x1d\x5a\x06\x0e\xf7\xe9\xf8\x64\x15\xfb\x2b\x65\x86\x71\x5e\x1f\x46\x62\x61\x3f\x37\x1a\x3e\xad\x46\xc8\x5f\x1e\x67" -+"\xbd\xae\x85\xf7\x39\x1b\xf7\x56\x06\xa0\x99\x95\x9b\x9b\x7f\x94\x74\x1f\xfb\x58\x06\xfb\x14\x60\x90\x9e\x68\x1f\x54\xa8\x65\xcb" -+"\xcb\x1a\xc5\xab\xc7\xba\xaa\x1e\xa6\xb3\xb0\x90\xf7\x23\x1b\xf7\x58\x06\xa1\x98\x95\x9b\x9b\x7e\x94\x75\x1f\x0e\xf7\x74\x16\xf7" -+"\x2d\xb0\x90\xa5\xb8\x1f\xd0\xb4\xb5\xd7\xdf\x1a\xd8\x68\xd0\x4f\xb7\x1e\xaf\x59\x67\x91\xfb\x39\x1b\xfb\x55\x06\x75\x7e\x82\x7b" -+"\x7b\x98\x81\xa1\x1f\xf7\x58\x06\xf7\x16\xb3\x86\x78\xaf\x1f\xc2\x6f\xb1\x4a\x4b\x1a\x51\x6b\x50\x5b\x6b\x1e\x71\x65\x63\x85\xfb" -+"\x21\x1b\xfb\x58\x06\x74\x7f\x82\x7b\x7c\x99\x80\xa0\x1f\x0e\xf8\x29\xf8\xc3\x15\x8c\x91\x8d\x97\x8e\x1a\x98\x80\x94\x7c\x7a\x86" -+"\x84\x71\x85\x1e\xfb\x07\xfc\xa9\x05\x4d\x8f\x70\x9f\xb4\x1a\x98\x8f\xa2\x91\xab\x1e\xc1\xf7\x8e\x05\x27\x06\x74\x7d\x43\x1d\xb6" -+"\x06\x61\xfb\x59\x05\x85\x6f\x88\x71\x7a\x1a\x4a\xbb\x61\xdd\x83\x1e\x71\xfb\x0f\x05\x89\x83\x8a\x84\x86\x1a\x7c\x94\x82\x9a\x9a" -+"\x95\x95\xa2\x90\x1e\xa7\xf7\x1a\xf7\x17\x94\xb9\xb5\xa4\xf7\x19\x19\xb6\xf7\x5b\x05\xb8\x06\xa3\x9a\x1d\x78\x1f\x2a\x06\x56\xfb" -+"\x8d\x79\x2c\x6b\x6d\x34\x82\x19\x0e\xf8\x82\xf7\x40\x15\x71\xba\x7f\x9c\x6d\xa3\x08\xf6\xae\xc7\xc8\xd5\x1a\xd7\x49\xc4\x33\x1e" -+"\xfb\x8d\x24\x0a\x78\x7d\xf2\x1d\x3c\x0a\x47\x06\xb5\xf7\x57\x05\xf7\x13\x06\xaf\x7a\xab\x6a\xa1\x61\x3a\x70\x18\x78\x84\x82\x82" -+"\x7d\x1a\x80\x94\x81\x96\x8f\x90\x8c\x8e\x93\x1e\xe8\xaa\x97\x6f\x93\x75\x9c\x59\x19\x8f\x80\x05\xc7\x06\xa2\x99\x97\x9d\x99\x82" -+"\x92\x78\x1f\x70\x06\x73\xca\x85\x99\xe8\xaa\x05\x9e\x91\x94\x95\x99\x1a\x95\x82\x95\x81\x87\x81\x89\x8a\x87\x1e\xfc\x00\xe6\x15" -+"\xba\xf7\x6b\x05\xf7\x28\x06\xc9\xbd\x63\x59\x4a\x2c\x4f\x23\x1f\x0e\x53\x1d\xf7\x84\xf7\x9a\x3d\x1d\xf7\x2e\xf7\xd1\x15\x22\x06" -+"\x79\x8c\x80\x82\x8a\x7a\x08\x8a\x07\x8c\x7a\x96\x82\x9d\x8c\x08\xc7\x06\xe4\xfb\xb0\xf7\x85\xf9\x2f\x05\xf7\x3b\x06\x9c\x98\x96" -+"\x9a\x9b\x80\x94\x78\x1f\xfb\x66\x06\xfb\x55\xfc\xcc\x05\x0e\x53\x1d\xdb\xf7\x2d\x61\x0a\x53\x1d\x45\xfc\x37\x27\x0a\xf7\x0b\xf8" -+"\x19\x15\xf8\x12\xf7\x59\x1d\xfc\x46\xfb\x88\x06\x77\x94\x80\x9c\x9c\x94\x96\x9f\x1e\x0e\xf7\x09\xd6\x15\x4d\xb4\xbe\x6e\xd1\x1b" -+"\xf7\x20\xf7\x11\xf7\x12\xf7\x21\xf7\x01\x43\xd4\xfb\x00\x41\x3c\x69\x56\x57\x1f\x6c\x6b\x74\x58\x79\x39\x44\xfb\xd2\x18\x89\x82" -+"\x8a\x84\x86\x1a\x7c\x94\x82\x9b\x9a\x94\x95\xa2\x90\x1e\xf7\xb9\xf8\xa7\x15\xdd\xbd\x5a\x3c\xfb\x05\x24\x21\xfb\x00\x3b\x51\xc6" -+"\xdb\xf7\x03\xf0\xec\xf7\x08\x1f\x0e\x70\x1d\xf8\x4e\xf8\x6e\x3d\x1d\xf7\xce\x7c\x15\xf7\x15\x93\xe2\xca\xe1\x1a\xa4\x7d\xa7\x76" -+"\x9b\x1e\x76\x1d\x3f\x53\x6b\x0a\x81\x94\x7f\x7a\x81\x81\x76\x86\x1e\x7a\x3a\x05\x8a\x85\x8a\x87\x88\x63\x1d\x8c\x07\xa1\x73\xb1" -+"\x7b\xbc\x85\x7d\x4a\x18\x42\x0a\x68\x8e\x1f\x0e\x70\x1d\xf7\xcf\xf8\xa0\xd5\x1d\x70\x1d\xf7\x54\xfb\x63\x27\x0a\xf7\x52\xc7\x0a" -+"\xf7\x52\x16\xe5\xf7\x5f\x05\x98\xa8\x8d\x93\x99\x1a\xa1\x79\x9c\x74\xf7\x60\x1d\x0e\xf9\x0f\xf8\x12\x15\x9f\x99\x97\x9d\x99\x82" -+"\x92\x7b\x1f\xfb\x6c\x06\x2b\x56\x7b\x5a\x4c\x1f\x46\x55\x62\x3f\x41\x1a\x22\xda\x40\xf7\x04\xf7\x28\xf7\x1e\xf7\x15\xf7\x1f\xc0" -+"\x78\xb5\x63\xae\x1e\xfb\x20\x16\xe2\xf7\x1f\x0a\x31\xf7\x06\x0a\xf7\x6d\xf8\x23\x15\x75\x79\x7a\x75\x76\x9c\x79\xa1\xa1\x9c\x9c" -+"\xa1\xa0\x7a\x9d\x76\x1f\xf7\x41\x8c\x15\x75\x79\x79\x76\x75\x9d\x79\xa1\xa0\x9d\x9d\xa0\xa1\x79\x9d\x76\x1f\xe9\x37\x15\x82\x64" -+"\x83\x7b\x77\x73\x08\x61\x66\x5c\x77\x4d\x1b\x4c\x5d\x9f\xb5\x66\x1f\x77\xa3\x83\x9b\x82\xb2\x90\x48\x93\x6c\xa2\x68\x08\x5b\xac" -+"\xbd\x72\xcb\x1b\xc6\xba\xa0\xb4\xab\x1f\xa8\xb0\x96\xae\x90\xd3\x08\xfb\x47\xf7\x8b\xb7\x0a\x83\x66\x15\xf7\x1d\xf7\x03\xfb\x00" -+"\xfb\x1b\xfb\x1d\xfb\x01\xfb\x01\xfb\x1c\xfb\x1b\xfb\x01\xf7\x01\xf7\x1c\xf7\x19\xf7\x02\xf7\x03\xf7\x17\x1f\x0e\xf7\x22\x16\xf8" -+"\x09\x9d\x06\xfb\x11\x91\x51\xcd\x8d\xf7\x17\x08\x4a\xad\xaf\x72\xc3\x1b\xc1\xb8\xba\xc5\xc0\x77\xaa\x38\xd7\x1f\x37\xd8\x7c\xa1" -+"\x6d\xe5\x7f\x44\x5c\x47\x3a\x4a\x08\x4d\x58\x70\x5f\x5a\x1a\x51\xba\x5b\xc4\xc3\xb3\xa8\xc8\xa8\x1e\xfb\x14\x90\x47\x40\xfb\x0e" -+"\x1b\x0e\xf8\x55\x22\x1d\x93\x21\x05\x7d\x93\x82\x99\x89\x1e\x90\x06\x9a\x8d\x92\x94\x9b\x1a\xf7\x14\x07\x9e\x82\x94\x78\x8a\x1e" -+"\xfb\xeb\x06\x7a\x8c\x81\x82\x8a\x7b\x08\x7e\x07\x80\x8b\x8a\x92\x82\x1e\xf7\x45\xfb\x8c\xfb\x47\xfb\xd7\x05\x86\x83\x8b\x8a\x82" -+"\x1a\x7c\x07\x7a\x95\x83\x9d\x1e\xf7\xf2\x06\x9e\x94\x94\x9e\x1f\xf7\x14\x07\x9b\x84\x94\x7c\x8d\x1e\x85\x06\x7d\x89\x84\x82\x8a" -+"\x7c\x87\x21\x18\xfb\xb9\x06\xf7\x45\xf7\xcd\x05\x8f\x92\x8c\x8e\x8f\x1a\x91\x89\x8f\x86\x92\x1e\xfb\x3d\xf7\x85\x05\x0e\xf7\x23" -+"\xf8\x2b\x15\x73\x6d\x7c\x68\x87\x65\x08\x2c\x5e\xeb\x06\x8f\x64\x99\x68\xa2\x6e\x48\x48\x18\xab\x6b\xce\xcf\xa9\x73\xab\x7e\xb4" -+"\x85\x19\x2c\xb8\xea\x07\xb4\x91\xad\x99\xa7\xa2\xce\x47\x18\xab\xab\x48\xcf\xa1\xa4\x9a\xaf\x90\xb4\x19\xeb\xb8\x2b\x06\x86\xb3" -+"\x7c\xaf\x75\xa6\xce\xce\x18\x6b\xab\x48\x48\x70\xa1\x63\x9b\x67\x8f\x19\xea\x5e\x2d\x07\x67\x87\x62\x79\x72\x75\x47\xcf\x18\x6b" -+"\x6b\x05\xf7\x72\x5d\x15\xdc\xcc\x4c\x3c\x3a\x4b\x4b\x3b\x3c\x4b\xcb\xda\xda\xcb\xcc\xd8\x1f\x0e\xf8\x1e\xf8\x04\x15\xf7\x12\x06" -+"\xa2\x99\x97\x9e\x99\x83\x91\x77\x1f\xfb\xc5\x06\x75\x7c\x7f\x79\x7e\x95\x83\x9d\x1f\xf7\x13\x06\x48\xfb\xca\x05\x88\x80\x8a\x81" -+"\x82\x1a\x6f\xa5\x7c\xbd\xc9\xb7\x9e\xa5\x97\x84\x93\x80\x88\x88\x8a\x8a\x89\x1e\x7f\x6e\x80\x89\x75\x1b\x71\x7f\x91\x97\x91\x8c" -+"\x90\x8c\x92\x1f\x0e\xf7\x91\xf7\xbb\x15\x9c\xd4\x05\xf7\x6f\xf7\x1c\x0a\xfb\x6d\x06\xa3\xf7\x02\x05\x8c\x8f\x8c\x90\x8d\x1a\x99" -+"\x83\x93\x7d\x81\x88\x89\x83\x82\x1e\x85\x86\x8b\x8b\x88\x7c\x72\xfb\x05\x18\x45\x06\x74\x7e\xf0\x0a\xcf\x06\x7a\x42\x05\x5d\x4f" -+"\x1d\x9f\x1f\xb6\x06\x6e\xfb\x19\x05\x88\x7f\x8a\x81\x83\x1a\x52\xc5\x63\xdd\xb8\xbf\x95\x9f\xc7\x1e\xb4\x98\x9f\x9a\x9b\x1a\x96" -+"\x81\x96\x82\x86\x85\x89\x87\x81\x1e\x5e\x77\x8b\x8b\x62\x83\x08\x83\x66\x76\x88\x70\x1b\x51\x69\xa0\xae\x94\x8c\x92\x8c\x93\x1f" -+"\xa7\xf7\x15\x05\xf7\x48\xf7\x1c\x0a\x0e\x5e\x0a\xe6\xf7\x2c\x15\x93\x94\x8f\x93\x78\x1d\xf7\xb5\x7b\x15\x96\x06\xbd\xd6\x9b\x9f" -+"\xbb\x1f\xa5\x0a\xfb\x69\x06\xa6\x0a\x5f\xa9\x6a\xc0\x7d\x1e\x7b\x42\x05\xaa\x06\x9f\xd3\x1d\xf8\x11\xf8\xee\x15\x33\x35\x4c\x22" -+"\x55\x1f\x65\x43\x75\x31\x3d\x1a\xfb\x16\xca\x3b\xf2\xd9\xd0\xb6\xe0\xc4\x1e\xc2\xdd\xa8\xec\xef\x1a\xf7\x17\x4c\xdb\x24\x1e\xfb" -+"\x69\xfb\x9c\x15\x94\xaf\x98\xa8\xa0\xac\x08\xd7\xbb\xc4\xb2\xc9\x1b\xd3\xb8\x51\x2f\x7c\x8a\x75\x89\x71\x1f\x81\x58\x15\x7b\x4b" -+"\x7a\x62\x6f\x62\x08\x47\x5d\x52\x65\x50\x1b\x45\x5f\xc6\xea\xa3\x8e\xae\x91\xb2\x1f\x0e\xf8\x6e\xf8\xdf\x15\x98\x95\x91\x94\x95" -+"\x1a\x98\x83\x93\x7e\x84\x7a\x0a\x82\x54\x0a\x2c\x0a\xfb\x17\xf8\xb7\x32\x0a\x2c\x0a\x73\xf8\xa1\x74\x1d\x2c\x0a\xe3\xf8\x68\x2c" -+"\x1d\xf8\xdd\xfb\x89\xf7\x2b\x1d\x7b\x79\x96\x83\xa0\x1f\xf8\xce\x43\xf7\x2b\x1d\x7a\x7a\x96\x83\xa0\x1f\x0e\x0e\xc4\x0a\x5f\x0a" -+"\xfb\x0d\xfb\x24\x27\x0a\x5e\x0a\xfb\x49\xfc\x94\x27\x0a\xf8\xa9\xf8\xa1\x2c\x1d\x68\x0a\xf8\x93\x16\x2c\xf8\xc7\x05\x3d\x06\xfb" -+"\xe2\xfc\xc7\x05\xf8\x50\xbe\x15\xfb\xfa\x06\xf7\xa6\xf8\x61\x05\x92\x06\x0e\xf8\x3f\xbe\x15\xb5\xa0\xb2\xa8\xaf\xb1\x08\xcd\xce" -+"\xac\xd8\xde\x1a\xf7\x0f\x30\xe1\xfb\x16\x3a\x3e\x6c\x50\x49\x1e\x47\x4e\x5f\x2e\x38\x1a\x3e\xb6\x3d\xcd\x61\x1e\xfb\x17\x06\x72" -+"\x7d\x80\x79\x7d\x95\x83\x9f\x1f\xf7\x61\x06\x95\xbb\x67\xa3\x80\x93\x7b\x98\x19\x60\xb0\x70\xc6\xc5\x1a\xf7\x24\xf7\x18\xf7\x19" -+"\xf7\x23\xc4\xb0\x7d\x6a\xac\x1e\xad\x69\x9c\x62\x5b\x1a\x3e\x68\x41\x49\x4d\x1e\x65\x66\x75\x7d\x3a\x62\x81\x5a\x18\xf7\x63\x06" -+"\xa2\x9b\x97\x9d\x9a\x83\x91\x75\x1f\x0e\xf8\x5f\xf8\x04\x15\x64\xfb\x45\x7f\x53\x76\x65\x6b\x71\x19\x74\x6e\x66\x7e\x66\x1b\x55" -+"\x62\xb1\xbc\x98\x8e\x9f\x92\xac\x1f\xbf\xf7\x7b\x05\x25\x33\x0a\xb9\x06\xfb\x03\xfc\x8f\x05\x89\x83\x8a\x83\x87\x1a\x7c\x94\x83" -+"\x9a\x9a\x95\x96\xa0\x90\x1e\xb4\xf7\x51\x05\x64\xaa\xaf\x7b\xc2\x1b\xc1\xaf\x99\xae\xb2\x1f\x84\x6a\x05\xef\x06\xa3\x9a\x1d\x77" -+"\x1f\x5f\x06\xdb\xf8\x04\x05\x27\x24\x1d\x0e\xf8\x9e\xf8\x13\x15\xad\x66\x5b\x9b\x4b\x1b\xfb\x33\xfb\x12\xfb\x0e\xfb\x2c\x50\xa1" -+"\x5c\xb2\x6f\x1f\xa4\x7a\xb1\x7f\xc8\x82\x08\xcb\x82\x97\x85\x74\x1a\x60\x62\x6a\x51\x89\x1e\x6c\x89\x7e\x83\x79\x1a\x7a\x96\x83" -+"\xa4\xe4\xd1\xc5\xd4\xbe\x6d\xa4\x40\x96\x1e\x51\x94\x6a\x93\x7c\x93\x08\x6b\x9c\x79\xad\xb9\x1a\xf7\x11\xf2\xee\xf7\x16\xb7\xb8" -+"\x7e\x79\x9f\x1e\x95\x81\x91\x7d\x8c\x77\x08\x66\x8e\x91\x80\x9e\x1b\x9c\x95\x97\xa5\x8e\x1f\x8f\xae\x92\xaa\x94\x9f\x08\x8f\x95" -+"\x8c\x90\x91\x1a\x98\x81\x95\x7d\x7c\x81\x82\x79\x86\x1e\x0e\x2d\x1d\xf7\x26\xf9\x66\x15\x93\x84\x86\x8e\x83\x1b\x7b\x7c\x7c\x7b" -+"\x87\x8e\x86\x93\x83\x1f\xe7\x29\x05\x82\x92\x8f\x89\x95\x1b\x9a\x9a\x9a\x9b\x8f\x88\x90\x83\x93\x1f\x0e\x8f\x0a\xfb\x5a\xf9\x66" -+"\x15\x93\x83\x87\x8e\x83\x1b\x7b\x7c\x7c\x7b\x86\x8e\x86\x50\x1d\x82\x92\x8f\x89\x94\x1b\x9a\x94\x93\x9d\x90\x1f\x8c\x90\x8c\x8e" -+"\x87\x92\x84\x92\x19\x0e\xf7\xc8\xc3\x15\x3b\xf8\x5c\x05\xd1\x57\x0a\xfb\x2b\x29\x1d\xa5\x06\xe4\xfc\x94\x05\xcb\x06\xf7\xa1\xf8" -+"\x33\xa4\xb4\x8b\x8b\x95\x97\x19\x97\x97\x99\x92\x98\x1b\x93\x91\x89\x83\x97\x1f\x7f\x9f\x96\x86\x97\x1b\xa6\xa5\xa6\xa6\xaa\x70" -+"\x9e\x60\x69\x6e\x81\x75\x6d\x1f\x70\x77\x88\x86\x65\x51\x08\x0e\x72\x1d\xfb\xe0\xf7\x63\x15\x93\x83\x87\x8e\x84\x1b\x7a\x7d\x7d" -+"\x7b\x85\x8e\x86\x91\x84\x44\x1d\x93\x90\x88\x92\x1b\x9a\x9b\x99\x99\x8e\x84\x99\x88\x8e\x1f\x0e\xf7\x78\xf7\x9e\x15\xf7\x0f\x06" -+"\x96\xbe\x05\xfb\x0f\xd7\x1d\x61\xfb\x57\x05\x4e\x06\x80\x58\x05\xc8\x06\x5c\xfb\x6b\x4d\x1d\xf7\x7e\x23\x1d\xfb\x18\x06\x0e\xf7" -+"\x82\xf7\xa2\x15\xa0\xed\x05\xf7\xa6\x06\x6e\xfb\x16\x8a\x7d\x05\xf7\x54\x1d\x9f\x8f\x1e\xb3\xf7\x4c\x05\xfc\x71\x3a\x0a\xeb\x06" -+"\x76\x29\x05\x59\x06\x68\x1d\xbb\x06\x67\xfb\x3d\x05\x26\x24\x1d\xf7\x8e\x23\x0a\x29\x06\xaf\xf7\x3d\x05\xf7\x1c\x66\x1d\x0e\xf8" -+"\x89\xbe\x15\x70\xf7\x1a\x7e\xc4\x77\xb6\x73\x9f\x19\xa0\x9f\xab\xb4\xaf\xbe\xc2\xdb\x93\x94\xa3\x90\x81\x64\x18\x8a\x80\x05\x79" -+"\x94\x81\x9b\x99\x94\x95\xa0\x90\x1e\x97\xc2\x05\x8d\x97\x8c\x90\x8e\x1a\x9b\x7e\x94\x71\x51\x75\x78\xfb\x17\x31\x1e\x5a\x44\x7e" -+"\x7f\x70\x88\xb2\xf7\x4c\x18\xa1\x1d\x9a\x06\x75\x33\x05\x89\x83\x8b\x89\xf7\x01\x0a\xf7\x21\x05\x0e\xf8\x7e\xbe\x15\x6c\xe4\x7c" -+"\xb5\x74\xad\x75\x95\x19\xa5\xa0\x94\x93\xa5\xaa\xc2\xce\x97\x95\xa6\x8f\x86\x78\x18\x89\x85\x8b\x89\x8a\x1a\x78\x94\x81\x9b\x99" -+"\x94\x95\xa1\x90\x1e\x92\xac\x05\x8d\x92\x8c\x94\x8f\x1a\x9b\x7e\x93\x71\x57\x76\x7e\x42\x4b\x1e\x4d\x45\x81\x82\x6f\x87\xa4\xf7" -+"\x0a\x18\xa7\x21\x0a\x2a\x20\x0a\x9c\x06\x72\xfb\x0a\x05\x84\x06\x74\x8c\x84\x93\x71\xc4\x08\xe5\x64\x7d\x98\x50\x1b\x6f\x83\x84" -+"\x71\x85\x1f\x83\x67\x05\x88\x7e\x8b\x8a\x87\x1a\x7e\x94\x82\x9a\x9b\x96\x95\x9c\x8f\x1e\x92\xaa\xa2\x89\x8f\x86\xa0\x5f\x19\x9c" -+"\x63\x9a\x6d\x97\x7a\x58\x70\x88\x89\x5c\x50\x43\x30\x18\x6f\x20\x0a\xa4\x06\xa3\x8c\x8d\x8c\x92\x91\x95\x98\x19\xd7\xeb\xb8\xc2" -+"\xb4\xa9\xa6\x88\x19\x91\x06\x6b\xfb\x28\x05\x70\x22\x0a\xeb\x21\x0a\x7b\x06\xab\xf7\x28\x05\x94\x06\xb4\x88\x9c\x7b\xa0\x4f\xaa" -+"\x31\x18\x95\x70\x8e\x89\xa8\x8a\x08\x96\x06\x75\x32\xe5\x0a\x98\x9c\x96\x95\xa0\x90\x1e\xad\xf7\x21\x05\x0e\xf7\xa2\x7c\x15\xcb" -+"\x8d\xbf\x97\xae\x9e\x08\xcc\xaf\xb4\xca\xca\x1a\xc3\x6e\xb1\x50\xa0\x1e\xdd\xa9\xb4\xbc\xd1\x1a\xdb\x48\xbe\x22\x51\x65\x81\x6c" -+"\x50\x1e\x83\x7d\x88\x8a\x88\x1b\x87\x89\x90\x96\x9f\x82\x95\x7b\x7c\x82\x82\x7a\x88\x1f\x7a\x36\x05\x77\x42\x8b\x8b\x89\x1a\x7f" -+"\x94\x82\x98\x98\x93\x92\x9d\x92\x1e\x94\xa5\x95\x9e\x97\x9b\x08\xbb\xae\xca\xa5\xda\x1b\xda\xbd\x6c\x5a\x69\x77\x6a\x68\x74\x1f" -+"\x71\x63\x53\x7f\x3b\x1b\x6d\x22\x0a\xbc\x06\xcc\xcc\x7d\x77\xa2\x1f\x9a\x7e\x93\x79\x76\x1a\x68\x78\x66\x6b\x71\x1e\x6c\x66\x59" -+"\x7c\x4a\x1b\x3a\x56\x9b\xb5\x50\x1f\x93\x80\x83\x8e\x84\x1b\x7e\x7c\x7c\x7d\x65\xf2\x5d\xed\x85\x1f\x7d\x4b\x05\x42\x0a\x68\x8e" -+"\x1f\x0e\xf7\xa7\x7f\x15\xc2\x8c\xbd\x93\xad\x9a\x08\xc7\xa5\xae\xb8\xbc\x1a\xb8\x72\xa8\x57\x99\x1e\xcc\xa3\xac\xaf\xbc\x1a\xcb" -+"\x4a\xb3\x21\x39\x51\x7c\x6a\x61\x1e\x8d\x92\x05\x8b\x0a\x77\x98\x80\xb4\x7e\x1f\xb7\x7c\xb4\x84\xbd\x88\x7c\x48\x18\x42\x0a\x69" -+"\x8e\x1f\x0e\xf8\x5c\xbe\x15\x62\xf7\x1a\x77\xca\x70\xb5\x6e\x99\x19\xa5\x9e\x99\x99\xb0\xb9\xf1\xf7\x10\x8d\x8d\xb8\x8e\x81\x66" -+"\x18\x8a\x7c\x05\x7b\x95\x80\x9a\x99\x94\x96\xa1\x90\x1e\x96\xc0\x05\x8d\x94\x8c\x93\x8e\x1a\x9b\x7b\x94\x6e\x45\x74\x7c\x22\x36" -+"\x1e\x5a\x50\x73\x6f\x7d\x81\x74\x7a\x84\x89\x51\x8a\x08\x88\x06\xb3\xf7\x4d\x05\xb7\x2f\x0a\xfb\x24\x20\x0a\xb9\x66\x0a\xbd\x06" -+"\x76\x33\x05\x8a\x86\x8a\x86\x88\x1a\x7e\x93\x84\x99\x9b\x95\x95\x9f\x90\xa0\x1d\xf8\x4d\xbe\x15\x5f\xe5\x74\xb9\x6f\xaa\x70\x95" -+"\x19\xa9\x9c\xa4\x9f\xb8\xb7\xbe\xbb\x99\x93\xaf\x8e\x84\x64\x18\x8a\x85\x8a\x86\x88\x1a\x7d\x95\x82\x9a\x9b\x94\x95\x9f\x8e\x1e" -+"\x94\xc1\x05\x8c\x8e\x8b\x8d\x8b\x1a\x8c\x8c\x05\x8d\x07\x8c\x8e\x8b\x8e\x8f\x1a\x9d\x7d\x93\x6e\x4e\x6e\x7d\x49\x46\x1e\x66\x67" -+"\x6f\x73\x76\x7d\x7d\x80\x72\x87\x5d\x8a\x08\x87\x06\xa5\xf7\x0a\x05\xb7\x21\x0a\xfb\x1e\x36\x1d\xb5\x06\x46\xfb\xd1\x05\x5f\x20" -+"\x0a\xf7\x1f\x21\x0a\x61\x06\xaa\xf7\x28\x05\x93\x06\xf2\x89\x99\x84\xae\x47\xb9\x2c\x18\x98\x71\x8c\x8b\xa8\x8a\x08\xb6\xf7\x37" -+"\x1d\x9b\x96\x95\x9f\x90\xa0\x1d\xf7\xa6\xf7\xa6\x15\xba\x82\xa0\x72\xa3\x41\xc1\x0a\xcd\x21\x0a\x50\x06\x62\x0a\x81\x66\x18\xe8" -+"\x1d\x46\x38\x7a\x7a\x72\x80\x9b\xd4\x18\x8d\x92\x8b\x8d\x8e\x1a\x98\x80\x97\x7e\x7d\x82\x83\x78\x87\x1e\x78\x33\x7c\x8a\xb3\xf7" -+"\x4d\x05\xb7\x2f\x0a\xfb\x24\x20\x0a\xb9\x06\x28\xfc\x61\x05\x5e\x20\x0a\xf7\x24\x2b\x0a\x5d\x06\xbc\xf7\x75\x05\x9a\x06\x77\x30" -+"\x8a\x7d\x05\xf7\x57\x1d\x0e\xf7\x92\xf7\x58\x15\xbc\x86\x9a\x7f\xa9\x52\xb9\x2c\x18\x98\x71\x8c\x8b\xa8\x8a\x08\xc6\x21\x0a\x54" -+"\x06\x5f\xe5\x74\xb9\x6f\xaa\x70\x95\x19\xa9\x9c\xa4\x9f\xb8\xb7\xbe\xbb\x99\x93\xaf\x8e\x84\x64\x18\x8a\x85\x8a\x86\x88\x1a\x7d" -+"\x95\x82\x9a\x9b\x94\x95\x9f\x8e\x1e\x94\xc1\x05\x8c\x8e\x8b\x8d\x8b\x1a\x8c\x8c\x05\x8d\x07\x8c\x8e\x8b\x8e\x8f\x1a\x9d\x7d\x93" -+"\x6e\x51\x6a\x7b\x56\x53\x1e\x45\x48\x6d\x72\x79\x89\x98\xc5\x18\x8d\x95\x8b\x8b\x8e\x1a\x98\x80\x97\x7e\x7c\x83\x83\x78\x87\x1e" -+"\x7a\x3f\x05\x7b\x06\xa5\xf7\x0a\x05\xb7\x21\x0a\xfb\x1e\x36\x1d\xb5\x25\x0a\x5f\x06\x72\x5a\x0a\xa4\x1f\xf7\x1f\x21\x0a\x61\x06" -+"\xaa\xf7\x28\x05\x9b\x06\x7b\x42\x05\x8a\x88\x8a\x83\xf7\x3c\x1d\xf7\x0e\x22\x1d\xee\x66\x0a\xcd\x21\x0a\x50\x06\x62\x0a\x81\x66" -+"\x18\x88\x0a\xfb\x81\x06\x6a\xfb\x1f\x05\x8a\x86\x8a\x85\x88\x1a\x7f\x93\x83\x98\x9b\x97\x96\x9f\x8f\x1e\x0e\xa2\x1d\xf8\x56\xbe" -+"\x15\xb1\x1d\xf7\x97\x06\x5c\xfb\x6b\x05\x59\x29\x1d\xf7\x0e\x06\x75\xf7\x21\x0a\x83\x99\x9b\x28\x1d\xae\xf7\x21\x05\x0e\xf8\x55" -+"\xbe\x15\xcf\xf7\xd1\x05\xac\x23\x0a\xfb\x0c\x45\x0a\xad\x06\x70\xfb\x12\x05\xfb\x93\x6e\x0a\x77\x1f\xfb\x0b\x33\x0a\xa9\x57\x1d" -+"\xaa\xf7\x20\x05\xf7\x94\x06\x6c\xfb\x20\x05\x63\x45\x0a\xf7\x0d\x06\x76\x33\x05\x89\x83\x8b\x89\xf7\x27\x1d\xf7\xd4\x7b\x15\xcb" -+"\xce\xa4\xb9\xc7\x1f\xb1\xa8\x99\x9a\x9a\x95\x0a\x88\x79\x05\x4e\x0a\x25\xd0\x35\xed\x77\x1e\x7c\x47\x05\x42\x0a\x69\x8e\x1f\x0e" -+"\xf7\xdf\x7c\x15\xbc\x8f\xb7\x96\xb5\x9e\x08\xc5\xa6\xaf\xa8\xa0\x1a\x97\x82\x93\x71\x1d\x8a\x88\x05\x88\x1d\x29\xc8\x4c\xf3\x80" -+"\x1f\x7d\x4b\x05\xa6\x06\xa2\x97\x86\x81\x7c\x78\x7f\x71\x7c\x7f\x8f\x95\x79\x1f\x90\x82\x88\x8c\x86\x1b\x7b\x7d\x7e\x7b\x78\xb7" -+"\x77\xb5\xc4\xb5\xaf\xba\xaa\x79\x9c\x69\x8e\x1f\x0e\x47\x1d\x0e\xf7\x7c\x92\x15\x67\xfb\x3b\xf7\x01\x1d\xab\xf7\x31\xf7\x9f\xf8" -+"\x07\x05\x96\x06\xa2\x99\x97\x9d\x9a\x83\xb5\x0a\xfb\xc6\x32\xf7\xc6\xf7\x02\x1d\x0e\xf8\x08\xf7\x66\x15\x95\xb5\xf7\x7b\xf7\x98" -+"\x05\xa0\x91\x1d\x79\x7c\x80\x1d\x79\x7c\x25\x1d\xa0\x06\xf7\x0c\xfb\x96\x81\x5f\x05\x24\x06\x68\x1d\xf0\x06\x73\xfb\x01\x05\x26" -+"\x21\x1d\xf7\x90\x30\x0a\x29\x06\xa3\xf7\x01\x05\xf7\x00\x66\x1d\x0e\xf7\x76\x78\x15\x2e\x8e\x1d\xe7\x06\x77\x30\xf7\x01\x1d\x9e" -+"\xe6\x05\xe8\x66\x1d\x2f\x06\x8e\x9a\xf7\x9f\xf8\x08\x05\x96\x06\xa2\x99\x97\x9d\x9a\x83\xb5\x0a\xfb\xc7\x32\xf7\xc7\xf7\x02\x1d" -+"\xf4\xfb\xfd\x05\x0e\xf8\x78\xbe\x15\xfb\x1b\xf7\x80\xaa\x1d\xf7\x06\x06\x75\x33\x05\x89\x84\x8b\x88\xe1\x0a\xf8\x74\xbe\x15\xfb" -+"\x21\xf7\x3b\x8a\x0a\xf7\x04\x06\x76\x33\x05\x89\x81\x8b\x8b\xf7\x27\x1d\xad\x1d\x20\x22\x0a\xf7\x4a\x06\x75\x33\x05\x89\x81\x8b" -+"\x8b\xe1\x0a\xae\x1d\x22\x20\x0a\xf7\x47\x06\x76\x33\x05\x8a\x85\x8a\x87\x7e\x0a\x95\x9f\x8f\xa0\x1d\xf7\xb3\xf7\x54\x15\xc7\x9d" -+"\xb0\x9a\xb5\xa6\x60\xfb\x5d\x18\x20\x22\x0a\xf7\x5b\x21\x0a\x64\x06\x7a\x1d\x4e\x61\x6a\x7a\x5c\x7d\x19\x9d\xdb\x8c\x97\x05\x98" -+"\x80\x97\x7e\x7d\x83\x83\x79\x87\x1e\x75\x26\x05\x82\x06\x5e\x75\x9e\xb2\x97\x8d\x98\xac\x0a\x49\xb5\x66\xd8\x89\x1e\x7a\x3b\x05" -+"\x8a\x87\x8a\x84\xf7\x3c\x1d\xf7\x7d\xf7\x18\x15\x81\x5b\x05\x8a\x87\x8a\x85\xf7\x47\x1d\x99\xcb\xb9\x93\xaa\x95\xbf\xa5\x19\x6f" -+"\xfb\x17\x05\x22\x20\x0a\xf7\x54\x06\xa5\x98\x80\x0a\x69\x06\xcf\xf7\xd1\x05\xb2\x2b\x0a\xfb\x14\x22\x0a\xaf\x06\x6f\xfb\x11\x50" -+"\x6d\x74\x81\x5c\x7f\x19\x97\xc0\x05\x8c\x91\x8c\x8f\x8e\x1a\x98\x80\x97\x7e\x7d\x83\x83\x78\x87\x1e\x7a\x42\x7a\x8c\x05\x5f\x8e" -+"\x79\x97\xa5\x1a\x95\x8d\x97\x8e\x9a\x1e\xa3\xf6\x05\xb7\x06\xa6\xbc\x0a\x5a\xb2\x6c\xce\x87\x1e\x0e\xf7\xcb\x22\x1d\xf6\x4c\x1d" -+"\xfb\x5b\x51\x0a\xb2\x26\x1d\x66\x51\x0a\xf7\x18\x2f\x0a\x62\x06\xb5\xf7\x54\x05\xc6\xe0\xc6\xa3\xc7\x1b\xb7\xa1\x78\x64\x7e\x8a" -+"\x80\x87\x79\x1f\x65\xfb\x43\x05\x5d\x36\x1d\xf7\x1e\x2f\x0a\x64\x06\xb0\xf7\x3d\x05\x90\xa3\x8d\x99\x99\x1a\xca\x5d\xb5\x46\x4f" -+"\x4e\x77\x5d\x41\x1e\x0e\xf7\x97\xf8\xee\x15\x25\x2b\x1d\xba\x06\xfb\x01\xfc\x88\xb5\x1d\x57\x76\x5f\x55\x1e\x0e\x75\x1d\xad\x1d" -+"\xfb\x21\x06\x71\xfb\x22\x05\x8a\x88\x8b\x87\x88\x1a\x7d\x91\x85\x99\x9d\x96\x96\xa1\x8f\x1e\x9b\xe3\x05\xf7\x5f\x06\x9d\x97\x95" -+"\x9b\x9a\x80\x95\x79\x1f\x0e\xae\x1d\xfb\x1f\x06\x72\xfb\x1e\x05\x8a\x87\x8b\x87\x88\x1a\x7c\x92\x83\x9a\x9d\x94\x95\xa2\x8f\x1e" -+"\x9c\xe3\x05\xf7\x49\x06\xab\x98\x93\x9d\x9c\x7e\x93\x71\x1f\x0e\xf3\xf7\xaf\x15\x85\x5c\x89\x79\x74\x1a\x4e\xa4\x4f\xb5\x63\x1e" -+"\x6a\xae\xb7\x7a\xc0\x1b\xf7\x3c\xf7\x32\xf7\x46\xf7\x51\xf7\x1a\x3a\xe5\xfb\x0b\x39\x33\x5e\x44\x52\x1f\xbb\x78\x05\xbc\xb3\xd3" -+"\xae\xc7\x1b\xe6\xca\x3f\xfb\x00\x7a\x8a\x7e\x86\x6f\x1f\x7c\x59\x15\x70\x4e\x78\x6e\x66\x68\x08\x5c\x5a\x52\x72\x53\x1b\x35\x48" -+"\xd7\xeb\x91\x8b\x94\x8c\x95\x1f\x0e\x29\x0a\x29\xf7\x98\x48\x1d\x37\x0a\xfb\x12\xf8\x29\x32\x0a\xf8\x3c\xf8\xd3\x15\xfb\x3d\xfb" -+"\x32\xfb\x46\xfb\x52\xfb\x19\xdc\x31\xf7\x0b\xf7\x39\xf7\x34\xf7\x47\xf7\x4d\xf7\x1c\x3c\xe6\xfb\x0b\x1f\xf7\x17\xfb\xd6\x15\x7b" -+"\x5e\x7f\x73\x74\x6b\x08\x41\x55\x41\x60\x41\x1b\x36\x48\xd7\xeb\x99\x8c\x9a\x8c\x9c\x1f\x96\xbd\x15\xf7\x19\xb7\xf0\xe3\xf7\x00" -+"\x1b\xe1\xce\x3f\x2a\x7f\x8a\x79\x89\x79\x1f\x0e\x89\x0a\x2d\x1d\xf7\x0a\xf9\x65\x48\x1d\x30\x1d\xfb\x57\xf7\xf4\x32\x0a\xf9\x7d" -+"\xf9\x46\xd0\x0a\xf8\x2d\xe3\x15\x94\x63\x8f\x7e\x92\x7f\x08\x78\x97\x9b\x80\x9c\x1b\xc8\xb4\xe6\xf7\x1c\xf7\x18\x60\xe6\x4e\x44" -+"\x67\x32\xfb\x40\x1f\xfb\xee\x07\x7b\x93\x81\x99\x99\x93\x95\x9c\x1e\xf8\x03\x04\xa1\x07\xed\xa7\xd7\xaf\xb0\xa5\x42\x22\xfb\x0d" -+"\x75\x4b\x61\x68\x75\xb8\xd7\x87\x1e\xfb\xe5\x81\x15\x8a\x5d\x7d\x66\x76\x81\x08\x81\x86\x85\x82\x80\x1a\x89\x07\x7c\x8c\x95\x83" -+"\x9c\x1b\xf1\x8c\x05\xf4\xc4\xec\xf7\x46\xf7\x1d\x66\xe8\x48\xac\x1f\x75\x96\x75\x8f\x65\x8a\x08\x84\x88\x8d\x8f\x95\x93\xa3\x90" -+"\x93\x1f\x8e\x90\x8c\x8d\x8f\x1a\x90\x88\x90\x87\x8e\x1e\x89\x8c\x05\x8d\x88\x87\x8c\x87\x1b\x79\x76\x69\x6c\x8a\x1f\x82\x8a\x8a" -+"\x89\x84\x1b\x7a\x06\x7a\x81\x82\x7e\x7d\x95\x83\x9c\x1f\x9c\x06\x91\x8d\x88\x86\x1f\xb7\x16\x92\x8c\x8c\x9b\xee\xaf\x4b\xfb\x43" -+"\xfb\x09\x76\x46\x60\x72\x1e\x80\x79\x68\x86\x5a\x1b\x7e\x86\x8d\x8f\x8c\x8b\x8c\x8c\x8c\x1f\xa0\xa8\x94\xaa\x8c\xba\x08\x0e\xf8" -+"\x34\xbd\x15\xec\xc2\xc6\xeb\xf2\x1a\xf7\x2e\xfb\x0a\xf7\x09\xfb\x2e\xfb\x2f\xfb\x09\xfb\x09\xfb\x2e\x24\xc6\x2b\xec\x54\x1e\xfb" -+"\x15\x06\x74\x80\x83\x7a\x7b\x98\x82\xa0\x1f\xf7\x62\xbb\x06\x54\xaa\x7b\x96\x75\x9f\x08\x51\xbf\x6d\xcc\xd3\x1a\xd3\xa7\xc6\xc2" -+"\xb9\x1e\xad\xb4\xb3\x99\xc3\x1b\xc3\xb3\x7d\x69\xb4\x1f\xc2\x5d\xa7\x50\x43\x1a\x47\x71\x4f\x57\x57\x1e\x72\x72\x7a\x7f\x4e\x69" -+"\x08\x5b\xf7\x62\x07\xa0\x98\x94\x9b\x9c\x80\x93\x74\x1f\x0e\xab\x0a\x68\x0a\xe6\x16\xbe\x06\xf7\x34\xf8\x1a\xf7\x35\xfc\x1a\x05" -+"\xbe\x06\xfb\x42\xf8\x47\x05\x40\x06\x0e\xe6\xf8\x46\x15\xf7\x42\xfc\x46\x05\xd6\x06\xf7\x42\xf8\x47\x05\x58\x06\xfb\x35\xfc\x19" -+"\xfb\x34\xf8\x19\x05\x58\x06\x0e\xf7\xbd\xf8\x89\x15\xfb\x1b\xfb\x05\xfb\x04\xfb\x1b\xfb\x22\xf7\x02\xfb\x04\xf7\x20\xf7\x1c\xf7" -+"\x03\xf7\x04\xf7\x1f\xf7\x1f\xfb\x03\xf7\x03\xfb\x1e\x1f\x70\xfb\xad\x15\xfb\x36\x07\x35\x94\x3e\xd6\x87\xd9\x08\xc2\x04\x91\xde" -+"\xd5\xd5\xe2\x96\x08\xfb\x3c\x07\xc2\x54\x15\xf7\x3b\x06\x88\x42\x3b\x3d\x37\x80\x08\xf7\x6d\x04\xf7\x3c\x07\xdf\x82\xd7\x3f\x92" -+"\x38\x08\x0e\x9c\x16\xf8\xcb\xf8\xcb\xfc\xcb\x06\xf8\x92\xfc\x92\x15\xfc\x59\xf8\x59\xf8\x59\x06\x0e\xca\xf7\xe7\x15\xfb\x2b\x90" -+"\x68\xa6\x5f\x1e\x47\xb5\xd8\x62\xe1\x1b\xbf\xbb\x9a\xa6\xb4\x1f\xbe\xae\xa8\xb9\x95\xca\x08\x90\xac\x8c\xa1\xed\x1a\xf7\x51\x07" -+"\x9f\x80\x99\x7b\x7b\x82\x7f\x75\x1e\xfb\x54\x07\xfb\x10\x86\x62\x78\x6a\x1e\x57\x6d\x4a\x68\x49\x1b\x63\x62\x98\xa2\x6a\x1f\x62" -+"\xa8\x78\xac\x85\xbb\x87\xa9\x8b\x8b\x8a\xf7\x01\x08\xf7\x54\x07\xa0\x81\x98\x7b\x7a\x82\x7f\x75\x1e\x0e\xf7\xe1\x16\xf7\x67\xf8" -+"\xeb\x05\x55\x06\x4c\xfb\x37\x05\xfb\x97\x06\x4d\xf7\x37\x05\x58\x06\xf7\x5f\xfc\xeb\x05\xf7\x2a\xf8\x15\x15\xfb\x03\xfb\xe2\x05" -+"\x84\x06\x24\xf7\xe2\x05\x0e\xf8\xd4\xf8\x37\x15\xdb\x0a\x48\x4a\x7c\x1d\xca\xa3\xbc\xcb\x1f\x7f\x52\x05\x9e\x06\x57\x70\x70\x69" -+"\x63\x65\x0a\xaa\xaf\xac\xc7\xa4\x1f\xa3\x94\x93\x94\x9a\x1a\x99\x82\x92\x77\x1e\x70\x06\x0e\xf8\x63\xf8\x04\x15\x6b\xfb\x27\x7b" -+"\x41\x7b\x64\x71\x6f\x19\x6e\x6f\x67\x7b\x60\x1b\x4b\x67\xac\xc5\xa0\x8f\xaa\x94\xb3\x1f\xb6\xf7\x5d\x05\x20\x8d\x1d\xbe\x06\x6b" -+"\xfb\x27\x05\x83\x66\x87\x69\x70\x1a\x36\xc7\x55\xe8\xc3\xc3\xa4\xb4\xb0\x1e\xa9\xad\x9f\xbb\x9d\xe1\xab\xf7\x2a\x18\xb4\x06\xa3" -+"\x6d\x1d\xfb\x26\x3a\x0a\x0e\x73\x1d\xfb\x23\xf7\x72\x15\xf7\x15\x0a\xa8\x9f\x7c\x9a\x75\x1f\xf7\x62\xd9\x0a\x73\x1d\xc4\xf7\x5a" -+"\x15\x98\x95\x91\x94\xf3\x0a\x2b\x05\x7e\x81\x85\x82\x80\x1a\x7f\x93\x83\x98\x92\x93\x8e\x92\x95\xf7\x13\x1d\xf7\x98\x16\x6e\x71" -+"\x72\x6f\x75\x99\x7e\xa2\xa8\xa5\xa4\xa6\xa0\x51\x1d\x73\x1d\xc0\xf7\x6f\x61\x1d\x83\x93\x7e\x5b\x1d\x93\x83\x98\xf7\x10\x0a\x2c" -+"\x0a\x87\xf8\xed\x5c\x1d\x7a\x74\x95\x1d\x0e\x2c\x0a\xf7\x02\xf8\xb4\x5b\x0a\x68\x80\x85\x7b\x1b\x80\x83\x8f\x9e\x6c\xe3\x0a\x72" -+"\x80\x71\x69\xf7\x07\x1d\x95\x87\x80\x9b\x1f\x73\xaf\x9d\x84\xa2\x1b\xa5\xa4\x97\xa9\xaf\x1f\x9e\x9a\x90\x92\x56\x0a\x4d\x0a\xf7" -+"\x2d\xf8\xe0\x15\x9a\x95\x8f\x92\x96\x46\x0a\x80\x1e\xfb\x1c\x29\x05\x7c\x80\x87\x86\x7f\x3e\x0a\x90\x47\x0a\xf8\x26\x16\xf7\x35" -+"\xf8\x04\x05\x9b\x27\x1d\xfb\x03\x20\x1d\xb5\x06\xfb\x12\xfb\xb5\x6b\xf7\x80\x05\x50\x06\xfb\x19\xfb\x7f\x88\xf7\xb4\x05\xba\x5d" -+"\x1d\x99\x06\x8f\xfc\x04\x05\xc5\x06\xf7\x1f\xf7\x87\xad\xfb\x87\x05\xbd\xf9\x12\x15\xfb\x32\xfb\x01\x05\x7b\x63\x0a\x89\x8e\x82" -+"\x94\x1f\x0e\x4d\x0a\x33\xad\x0a\x4d\x0a\x54\xde\x1d\xf8\x3c\xf7\xb1\x15\x92\x06\x97\xbe\x81\x8c\x05\x83\x06\x2d\x90\x59\xa9\xc0" -+"\x1a\xcf\xdf\xc2\xf6\x8d\x1e\xab\x8c\x8b\x8b\x91\x8d\x08\x96\x90\x93\x96\x96\x1a\x99\x81\x93\x78\x1e\xfb\x5c\x06\x73\x7d\x81\x78" -+"\x7c\x95\x84\x9e\x1f\x99\x06\x59\x6b\x71\x61\x57\x1a\x5b\x9d\x6c\xb7\x70\x1e\x28\x67\x4e\x40\x38\x1a\x38\xc0\x5b\xf5\x7e\x1e\xd5" -+"\x83\x99\x85\x72\x1a\x79\x80\x78\x79\x7e\x1e\x7c\x7f\x72\x85\x68\x89\x08\x6c\x89\x82\x85\x78\x1a\x78\x96\x83\xa4\xe7\xcf\xbf\xd2" -+"\xa7\x80\xa3\x76\x9a\x1e\x7a\x97\x77\x91\x5b\x91\x64\x90\x83\x8c\x7b\x90\x08\x5d\x9a\x76\xa5\xb3\x1a\xbb\xaa\xb9\xc0\xab\x1e\xb1" -+"\xa1\xbe\x97\xc9\x8c\x08\x0e\xb3\x1d\xf7\x9e\xf7\xa2\x3d\x0a\x63\x0a\x89\x8e\x81\x94\x1f\x0e\x52\x1d\xf7\x35\xf7\x96\xf7\x0b\x0a" -+"\x8e\x86\x50\x1d\x83\x92\x91\x88\x92\x1b\x9a\x9b\x99\x99\x8e\x84\x99\x87\x8e\x1f\x0e\x9b\x0a\x8e\xf7\x69\x15\x9a\x96\x8f\x91\x96" -+"\x46\x0a\x80\xf7\x0d\x1d\x9b\x0a\xfb\x16\xf7\x7e\x59\x1d\xf8\x5f\xf8\xbb\x15\xfb\x79\xfb\x55\x34\xfb\x08\xfb\x03\x1a\x5d\x9f\x65" -+"\xaf\x72\x1e\xa7\x78\xaf\x80\xc8\x82\x08\xb5\x85\x98\x82\x75\x1a\x5f\x5b\x6b\x47\x8a\x1e\x79\x8a\x81\x83\x7a\x1a\x7a\x97\x83\xa4" -+"\xe3\xd2\xc5\xd2\xa7\x80\xa3\x76\x99\x1e\x7e\x94\x7e\x8f\x57\x94\x58\x94\x82\x8e\x74\x97\x08\x6f\x98\x7c\xa7\xae\x1a\xc0\xb2\xd3" -+"\xd1\xd8\x1e\xb0\xb3\xce\xcb\xd0\xc7\xa4\xa1\x9c\x9a\x92\x92\x90\x90\x18\x8c\x8c\x8c\x8c\x8d\x8d\x97\xbb\x05\xfb\x6c\x2b\x1d\x0e" -+"\x7b\x9b\xf8\x35\x9b\xf7\x16\x97\xa7\x98\x06\xbe\x0a\xc0\x0b\xa7\x93\x8e\x8f\x8f\x8f\x8e\x8f\x93\xbb\xae\xab\x0c\x0c\xf8\xec\x14" -+"\xad\x13\x00\xfb\x02\x00\x01\x00\x08\x00\x13\x00\x1a\x00\x1f\x00\x24\x00\x2a\x00\x35\x00\x42\x00\x48\x00\x65\x00\x6a\x00\x6f\x00" -+"\x89\x00\xa1\x00\xac\x00\xb2\x00\xb9\x00\xd5\x00\xf4\x00\xf9\x00\xff\x01\x06\x01\x0b\x01\x41\x01\x46\x01\x75\x01\x80\x01\x8d\x01" -+"\x93\x01\x9b\x01\xa2\x01\xa7\x01\xd9\x01\xf2\x01\xff\x02\x25\x02\x30\x02\x3b\x02\x42\x02\x47\x02\x4d\x02\x7c\x02\xbd\x02\xfe\x03" -+"\x08\x03\x3b\x03\x57\x03\x68\x03\x72\x03\x7d\x03\x86\x03\x8a\x03\x99\x03\xa4\x03\xac\x03\xb4\x03\xbf\x03\xc5\x03\xcc\x03\xd5\x03" -+"\xdd\x04\x24\x04\x38\x04\x4c\x04\x66\x04\x75\x04\x8d\x04\x99\x04\x9f\x04\xb8\x04\xd2\x04\xe3\x04\xea\x04\xf6\x05\x0e\x05\x15\x05" -+"\x20\x05\x2d\x05\x36\x05\x45\x05\x54\x05\x5a\x05\x67\x05\x74\x05\x7d\x05\x84\x05\x90\x05\x9a\x05\xa7\x05\xb2\x05\xbd\x05\xc7\x05" -+"\xd1\x05\xd6\x05\xdf\x05\xeb\x05\xf3\x06\xb3\x07\x3a\x07\x51\x07\xb0\x07\xc5\x07\xdc\x08\x15\x08\x2e\x08\x48\x08\x61\x08\xc8\x08" -+"\xeb\x09\x0c\x09\x42\x09\x5a\x09\x74\x09\x79\x09\xc1\x0a\x02\x0a\x1d\x0a\x34\x0a\x60\x0a\xae\x0a\xc8\x0a\xf0\x0b\x04\x0b\x1d\x0b" -+"\x62\x0b\x65\x0b\x6e\x0b\x9a\x0b\xb6\x0b\xea\x0b\xf7\x0c\x02\x0c\x25\x0c\x4e\x0c\x73\x0c\x97\x0c\x9c\x0c\xac\x0c\xc8\x0c\xf3\x0d" -+"\x0e\x0d\x27\x0d\x2e\x0d\x45\x0d\x4a\x0d\x52\x0d\x79\x0d\x9e\x0d\xb9\x0d\xbe\x0d\xd5\x0d\xf8\x0e\x01\x0e\x12\x0e\x23\x0e\x2c\x0e" -+"\x3e\x0e\x4a\x0e\x51\x0e\x58\x0e\x67\x0e\x73\x0e\x88\x0e\x8c\x0e\x9e\x0e\xa7\x0e\xc3\x0e\xd8\x0e\xe0\x0e\xe9\x0e\xf2\x0f\x0c\x0f" -+"\x17\x0f\x22\x0f\x31\x0f\x42\x0f\x51\x0f\x61\x0f\x71\x0f\x77\x0f\x80\x0f\x97\x0f\xac\x0f\xc1\x0f\xd4\x0f\xdc\x0f\xe2\x0f\xee\x0f" -+"\xfa\x10\x06\x10\x19\x10\x1d\x10\x30\x10\x37\x10\x40\x10\x49\x10\x4f\x10\x5a\x10\x60\x10\x6d\x10\x7e\x10\x86\x10\x96\x10\xa6\x10" -+"\xb6\x10\xc6\x10\xcd\x10\xd5\x10\xdd\x10\xec\x10\xf3\x11\x02\x11\x0d\x11\x1c\x11\x20\x11\x2e\x11\x3c\x11\x47\x11\x55\x11\x63\x11" -+"\x71\x11\x7d\x11\x86\x11\x8f\x11\x98\x11\x9d\x11\xaa\x11\xb7\x11\xc4\x11\xca\x11\xd7\x11\xde\x11\xe5\x11\xf1\x11\xfd\x12\x09\x12" -+"\x15\x12\x1f\x12\x27\x12\x2f\x12\x37\x12\x3f\x12\x47\x12\x52\x12\x5d\x12\x68\x12\x73\x12\x7e\x12\x89\x12\x92\x12\x98\x06\x72\x5a" -+"\x0a\xa4\x1f\x0b\x06\xa4\x99\x94\x9b\x9c\x7d\x94\x72\x1f\x0b\x06\x71\x5a\x0a\xa5\x1f\x0b\x06\xa3\x52\x0a\x0b\x06\x74\x7d\x80\x0b" -+"\x06\x46\xfb\xd1\x05\x0b\x06\x74\x7d\x80\x79\x7c\x94\x84\x9f\x1f\x0b\x15\x94\x95\x8f\x92\x93\x1a\x95\x81\x95\x80\xef\x1d\x1a\x97" -+"\x82\x94\x7e\x0b\xf8\x64\xce\x0a\x35\x1d\x6b\x06\x34\xf8\x94\x05\xfb\x64\x37\x1d\x7b\x1d\x9a\x82\x91\x98\x1d\xf7\x8e\xbe\x8b\x1d" -+"\x0b\x94\x84\x9f\x1f\x0b\x06\xa5\x3a\x1d\x0b\xf8\x45\x16\xdd\x06\xa1\x40\x1d\x70\x06\xdb\xf8\x04\x05\xdb\x0a\x49\x49\x7c\x1d\xca" -+"\xa3\xbc\xcb\x1f\x0b\x15\x9a\x95\x90\x93\x94\x1a\x98\x82\x94\x7e\x83\x86\x89\x83\x80\x82\x1d\x8b\x8b\x95\x9c\x1e\x0e\x06\xa1\x9a" -+"\x97\x9d\x9a\x83\x91\x76\x1f\x0b\x06\xa4\x99\x80\x0a\x0b\x75\x0a\x82\x91\x77\x1f\x0b\xf8\x3b\xf7\x03\x1d\xf7\x1a\x3b\xe5\xfb\x0b" -+"\x1f\x85\x58\x15\xe3\xcb\x3e\x22\xfb\x2c\xf7\x29\x1d\xf7\x1d\x1f\x0b\xf7\x08\x1d\xbf\xb8\x6d\x0a\x82\x84\x79\x85\x1e\x67\x7f\x5b" -+"\x71\x55\x1b\x71\x73\x92\x96\x7d\x1f\x84\x91\x7d\x9d\x8d\x1a\x0e\xe2\x0a\x9e\x1f\x0b\x06\xb5\xf7\x57\x05\x0b\x42\x1d\xaf\xab\xaa" -+"\xac\x0b\xef\xf8\x61\x05\x0b\x74\x0a\x76\x1f\x5c\x06\xed\x1d\x90\x8d\x8b\x90\x9a\x1e\xa0\xd8\xa5\x90\xad\x1b\xca\xb2\x73\x66\xf7" -+"\x16\x1d\x29\x48\xbf\x63\xe0\xd0\xc6\xa1\xbf\xd3\x1f\x99\xc8\xf7\x49\x1d\xdf\xbc\xf7\x04\xb6\xb4\x86\x82\xae\x1f\x0b\xf8\x1d\x56" -+"\x1d\x0b\x15\xf7\x2f\xf7\x01\x05\x9b\x92\x90\x92\x9a\x1a\x97\x82\x93\x7e\x88\x7d\x86\x87\x86\x1e\xfb\x0d\x35\x35\xe0\x05\x94\x82" -+"\x89\x8c\x82\x1b\x88\x06\x7f\x7c\x7b\x7f\x80\x8e\x86\x94\x86\x1f\x0e\x06\x73\x7e\x81\x78\x7d\x95\x83\x9d\x1f\x0b\x81\x83\x87\x89" -+"\x80\x80\x1e\xfc\x4b\xfc\x2d\x05\x0b\x99\x82\x92\x77\x1f\x0b\x15\xfb\x33\xfb\x01\x05\x7c\x0b\x1a\x7f\x94\x82\x98\x92\x0b\x27\xfc" -+"\x61\x05\x0b\xf7\xea\x22\x1d\xe7\x4b\x1d\xfb\x7d\x37\x1d\xf7\x39\x1d\x80\x78\x7d\x25\x1d\xf8\x5b\x06\xb7\xf7\x5e\x05\x8d\x93\x8b" -+"\x8c\x8f\x1a\x96\x81\x93\x7f\x7a\x81\x81\x77\x87\x1e\x69\xfb\x2d\x05\xfb\x99\x06\x0b\xf8\x5b\xf8\xef\x15\xfb\x38\x24\x0a\x78\x7c" -+"\x93\x85\xa0\x1f\xf7\x02\x06\xfb\x01\xfc\x89\xf1\x1d\x0b\xf6\x1d\xb8\x77\xb4\xc4\xb6\xaf\xba\xaa\x79\x9c\x0b\x15\x91\x94\x8e\x93" -+"\x93\x1a\x97\x83\x94\x7e\x81\x83\x85\x7e\x82\x1e\x2e\xfb\x1b\x05\x84\x81\x88\x84\x83\x1a\x7e\x93\x82\x98\x95\x93\x91\x98\x95\x1e" -+"\x0b\x06\xa3\x99\x95\x9d\x9a\x81\x93\x78\x1f\x0b\x06\x73\x7e\x81\x79\x7c\x95\x83\x9d\x1f\x0b\x28\x0a\x84\x86\x89\x83\x0b\x8d\x93" -+"\x97\x1e\x0e\x06\x28\xfc\x61\x05\x0b\xf8\xbd\xf8\xa0\x15\x93\x0a\x05\x62\xab\xc1\x75\xcc\x1b\xf7\x1e\xf7\x05\xe5\xf7\x03\xaf\x7b" -+"\xad\x71\x9d\x1f\x70\x62\x1d\xd0\xd7\xc5\xe4\xb0\xad\x80\x7b\x9d\x1e\x94\x82\x9f\x6e\x79\x1d\x0b\xf7\x9b\xf8\x37\x15\x39\x4f\x1d" -+"\x9e\x1f\xa7\x69\x0a\x77\x1f\x65\x06\xbf\xf7\x84\x05\xd7\xda\xa6\x9a\xca\x1b\xae\x9d\x85\x79\x9d\x1f\x9a\x7d\x92\x7a\x77\x1a\x82" -+"\x8b\x88\xb9\x0a\xbf\xf7\x87\x05\x8d\x93\x8c\x93\x93\x1a\xd1\x55\xb8\x39\x4e\x63\x79\x54\x4b\x1e\x0b\xf7\x73\xf7\x8a\x15\xf7\x13" -+"\x06\xcd\x69\xab\x57\xc1\xfb\x34\x08\xc7\x23\x1d\x70\x06\x5b\xf7\x16\x75\xb1\x5b\xb4\x08\xf6\xae\xc7\xc8\xd6\x1a\xd6\x48\xc4\x33" -+"\x1e\xfb\x8c\xae\x0a\xc0\xf7\x8a\x15\xba\xf7\x6b\x05\xf7\x28\x06\xc9\xbd\x63\x59\x49\x2c\x50\x23\x1f\x0b\xe9\x1d\x83\x50\x42\x50" -+"\x4d\xa1\x0a\x0b\xf8\x52\x16\xf7\x35\xf8\x04\x05\x9b\x5d\x1d\xb4\x06\xfb\x12\xfb\xb5\x6b\xf7\x80\x05\x50\x06\xfb\x19\xfb\x7f\x88" -+"\xf7\xb4\x05\xba\x5d\x1d\x99\x06\x8f\xfc\x04\x05\xc5\x06\xf7\x1f\xf7\x87\xad\xfb\x87\x05\x0b\xb3\x64\x55\xa0\x4c\x1b\x47\x49\x71" -+"\x5c\x53\x1f\x55\x5c\x60\x46\x7e\x4e\x79\x3a\x18\x88\x7c\x89\x7b\x7b\x1a\x0b\x1e\xfb\x0f\x37\x36\xdf\x05\x91\x84\x85\x8e\x85\x1b" -+"\x7b\x7c\x92\x1d\x69\x6a\x35\x0a\xa5\x78\x9d\x70\x1f\x0b\x06\x72\x7d\x82\x7b\x7a\x99\x82\xa4\x1f\x0b\x99\x96\x9d\x99\x81\x93\x78" -+"\x1f\x0b\xa2\x34\x1d\x0b\x85\x81\x80\x1a\x7f\x94\x83\x97\x92\x93\x8e\x92\x95\x1e\x0e\x06\x75\x7c\x7f\x7a\x7c\x94\x84\x9f\x1f\x0b" -+"\x95\x1a\x97\x81\x94\x7f\x1e\x0e\x06\xa2\x9a\x96\x9e\x35\x1d\x0b\x06\x76\x80\x82\x7b\x7a\x96\x82\xa0\x1f\x0b\x8a\x8e\x81\x94\x1f" -+"\x0e\x7d\x82\x7a\x7b\x99\x82\x0b\x15\x84\x85\x89\x84\x83\x1f\x6e\x0b\xa2\x9a\x97\x9d\x9a\x82\x91\x0b\x74\x0a\x76\x1f\x5c\x06\xed" -+"\x1d\x8e\x90\x8c\x8c\x90\x1e\xa4\xe5\x9f\x8f\xaf\x1b\xca\xb2\x73\x66\x86\x8b\x87\x8a\x88\x1f\x7d\x4b\x05\x9a\x55\x6e\x8f\x5f\x1b" -+"\xfb\x22\xfb\x01\x40\x29\x48\xbf\x63\xe0\xd0\xc6\xa1\xbf\xd3\x1f\x99\xc8\xf7\x49\x1d\xe0\xbc\xf7\x05\xb3\xb5\x86\x82\xae\x1f\x0b" -+"\xf7\xae\xf8\x37\x15\xa6\x0a\x50\xc1\x64\xde\xc0\xd5\x9a\xa0\xbc\x1e\xa5\x0a\x0b\xf7\xe5\xbe\x15\xd6\x0a\x94\xa0\x87\x1d\x86\x6c" -+"\x1d\x67\x0a\xf7\x8f\x23\x1d\x0b\xf8\x89\x16\xb3\xf7\x4b\x05\x8d\x95\x8b\x8b\x8e\x7c\x0a\xf5\x1d\x88\x1a\x7f\x94\x82\x98\xf7\x18" -+"\x1d\x0b\xcc\x0a\x36\xdf\x05\x91\x84\x85\x8e\x85\x1b\x7b\x7c\x92\x1d\x62\xf7\x1a\x77\xca\x70\xb5\x6e\x99\x19\xa5\x9e\x99\x99\xb0" -+"\xb9\xf1\xf7\x10\x8d\x8d\xb8\x8e\x0b\xd1\x0a\x91\x88\x91\x1b\x9b\x9a\x99\x9b\x92\x0b\x49\x1d\xf7\x7e\x06\x0b\x1a\x6b\xa5\x78\xb7" -+"\xb9\xb8\xa1\xa1\x94\x84\x93\x82\x88\x86\x8a\x88\x87\x1e\x7e\x70\xf7\x45\x1d\x0b\x48\x0a\x5e\x20\x0a\xf7\x24\x2b\x0a\x5d\x06\xbc" -+"\xf7\x75\x05\xb3\x06\xcb\x89\xa5\x73\xa6\x37\xc1\x0a\x0b\x9b\x96\x95\x9f\x8f\x1e\x9a\xcf\x05\xf7\x30\x26\x1d\x26\x20\x1d\x0b\xf8" -+"\x05\xf7\xf4\xf7\x0c\x1d\x25\x0a\x62\x33\x1d\xf7\x18\x75\x0a\x82\x91\x0b\x65\x2b\x78\x7d\x68\x1e\x7c\x85\x84\x81\x7f\x1a\x7f\x94" -+"\x82\x96\x90\x8d\x8b\x90\x9a\x1e\xa0\x0b\x9b\x1d\x8e\x8d\x1a\x96\x0b\x06\xa2\x99\x96\x9d\x99\x81\x93\x79\x1f\x0b\x9a\xa9\xad\x1e" -+"\xa4\xa0\x9d\xaa\x9f\x28\x0a\x7c\x0b\x06\xa5\xf7\x12\x05\xb1\x96\x1d\x0b\x9a\x97\x9d\x9a\x82\x91\x77\x1f\xfb\x02\x06\x74\x7d\x80" -+"\x0b\xae\xb3\x1f\x6a\xfb\x2f\x15\xaf\xa2\x77\x6d\x64\x61\x66\x0b\x92\x96\x28\x0a\x84\x0b\x81\x1a\x7e\x96\x80\x99\x94\x91\x8f\x95" -+"\x93\x1e\x0b\x88\x1a\x7f\x94\x82\x98\x9b\x96\x95\xa0\x8f\x1e\x0b\xf8\x31\x16\xf1\x75\x0a\x83\x91\x0b\x06\xa1\x9a\x97\x9d\x9a\x0b" -+"\x06\x96\xbf\x05\xb9\x95\xad\xae\xaf\x1b\x99\x0b\x15\x45\x06\x72\xfb\x05\x05\xd1\x06\x0e\x15\xf7\x32\xf7\x00\x05\x9c\x97\x8f\x6a" -+"\x1d\x85\x0b\x06\xa1\x9a\x97\x9c\x9b\x83\x91\x77\x1f\x0b\x84\x88\x84\x81\x1e\xfb\x1b\x2b\x05\x7e\x0b\x93\xa4\x1b\x9a\x9d\x82\x78" -+"\xa3\x1f\x0b\x1a\x96\x81\x94\x7f\x7a\x81\x81\x76\x0b\x85\x44\x1d\x93\x0b\x88\x1a\x7e\x93\x84\x98\x9c\x96\x0b\x1e\xf7\x0f\xdf\xe0" -+"\x38\x05\x84\x93\x90\x88\x0b\x94\x9c\x9b\x7d\x94\x72\x1f\x0b\xf7\xe3\xbd\x15\x60\xa4\xb0\x74\xb7\x1b\xae\xb6\x9d\xaf\xbc\x1f\xa3" -+"\x9c\x91\x93\xe8\x0a\x6e\x1b\x58\x66\xbe\xd1\x93\x8c\x9a\x8d\x9b\x1f\xf7\x96\x06\x95\xbb\x8d\x9d\xf7\x3b\x1d\x5c\x5c\x71\x5b\x64" -+"\x1f\xb9\x7d\x66\xa7\x5d\x1b\x6b\x69\x83\x7b\x62\x1f\x6e\x7f\x81\x81\x7c\x1a\x81\x95\x80\x94\x91\x93\x8e\x90\x95\x1e\x9a\xa7\xaa" -+"\x93\xa6\x1b\xb2\xa6\x72\x67\x83\x8b\x88\x8a\x86\x1f\x7f\x56\x05\x92\x74\x6e\x8f\x70\x1b\x46\x42\x70\x63\x63\x1f\x73\x72\x7f\x6c" -+"\x65\x1a\x43\xbc\x5d\xd7\xb5\xb3\x9d\xb2\xb7\x1e\x8a\x83\x05\x8a\x86\x8a\x87\x87\x1a\x80\x94\x82\x97\x9b\x28\x1d\x6b\xe0\x15\x51" -+"\x50\x66\x74\x66\x1b\x5b\x6b\xa6\xb5\x9d\x92\xa2\x95\x98\x1f\xa8\xa2\xcd\xa4\xc2\x1b\xa0\xa3\x87\x83\xa4\x1f\xc8\xb9\x15\xe4\xab" -+"\xb9\xba\xc3\x1b\xba\xa4\x6a\x4e\x7d\x8a\x81\x8a\x79\x1f\x0b\xf7\xdf\xf7\x4d\x15\x6e\xfb\x1a\x05\x5b\x26\x0a\xf7\xf1\x06\xa8\xf7" -+"\x1b\x05\x8c\x8c\x8b\x92\x8f\x1a\x96\xea\x0a\xba\xf7\x6c\x05\xce\x06\x87\x77\x05\x89\x85\x8b\x89\x87\x1a\x7f\x94\x82\x97\x9b\x96" -+"\x96\x9f\x8f\x1e\x9f\xe9\x05\x8c\x8f\x8c\x90\x8e\x1a\x97\x82\x94\x7f\x7b\x81\x81\x76\x86\x1e\x86\x74\x05\x48\x06\xb5\xf7\x56\x05" -+"\xf7\x48\x06\x75\x24\x05\x89\x84\x8b\x89\x73\x0a\xad\xf7\x30\x05\xfc\x45\x21\x1d\xc2\x06\xfb\x7a\xfc\x61\x05\x69\x29\x1d\xf2\x23" -+"\x1d\x7a\x06\xce\xf7\x1a\x05\xf7\x22\xbe\x15\xfb\x09\x06\xf7\x1d\xf7\xa8\x05\xb3\x06\x0b\xf8\xbf\xf8\x6f\x15\x88\x0a\xfb\x24\x20" -+"\x0a\xb9\x66\x0a\xcd\x21\x0a\x50\x06\x62\x0a\x08\x0b\xf7\x30\xf7\x9e\x15\x5c\xfb\x6b\x05\x6d\x29\x1d\xf7\x70\x06\xf7\x10\x88\xf7" -+"\x1b\xf7\x0b\xa9\xf7\x1c\x96\xc2\x18\x90\x9f\x8d\x9f\x9c\x1a\xf7\x08\x3d\xde\xfb\x02\x1e\xfb\x70\x29\x1d\xa6\x06\x61\xfb\x57\x05" -+"\x42\x21\x1d\xf7\x44\xf7\x8a\x15\xf7\x43\x1d\x62\x1a\x7f\x8a\x7e\x88\x7f\x1e\x7b\x43\x72\x24\xfb\x00\x2c\x32\x8e\x19\xfb\x23\x06" -+"\xba\xf7\x6b\x05\xf7\x31\x4b\x1d\xfb\x2f\x06\x0e\xf8\x51\xf7\x9e\x15\x5c\xfb\x6b\x05\x59\x29\x1d\xf7\x20\x2a\x1d\x64\x06\xb1\x1d" -+"\x0e\xf8\x7d\xf7\x9e\x15\xc0\x0a\xdf\x1d\x79\x7c\xd1\x1d\x73\x86\x1d\x9c\x9b\x82\x91\xca\x0a\x0b\xf7\x6d\xf7\x6f\x15\xe8\xcf\xe0" -+"\x6e\xa8\x50\xa9\xfb\x5b\x19\xe6\x23\x1d\x57\x06\x6c\xf7\x48\x6e\xc1\x39\xb2\xf7\x93\xf7\x50\x18\x9a\x23\x1d\xfb\x0b\x32\x1d\xa8" -+"\x06\xfb\xc8\xfb\x77\xbc\xf7\x77\x05\xd1\x23\x1d\xfb\x3e\xae\x0a\x0b\xe8\x1d\x5a\x50\x73\x6f\x7d\x81\x74\x7a\x84\x89\x51\x8a\x08" -+"\x88\x06\xb3\xf7\x4d\x05\xb7\x2f\x0a\x0b\xf7\xaf\x16\xf7\x5a\x3e\x1d\x56\xba\x1d\xf7\x53\x06\x76\xf7\x21\x0a\x84\x99\x9a\x97\x96" -+"\x9f\x8f\x1e\x0e\x99\x0a\x78\x7d\x25\x1d\xf7\x19\x2a\x1d\x57\x06\xf7\x40\xf7\x19\xf7\x04\xfb\x19\x05\x56\x21\x1d\x0b\x8c\x90\x8c" -+"\x91\x91\x1a\x9a\x82\x94\x7d\x78\x85\x82\x61\x82\x1e\x7b\x46\x05\x85\x72\x8b\x8b\x88\x1a\x7f\x94\x83\x97\x98\x92\x92\x9d\x93\x1e" -+"\x91\x99\x93\x97\x95\x97\x08\xac\xa9\xd0\xa0\xdc\x1b\xd7\xb6\x77\x68\x74\x7b\x75\x6d\x7c\x1f\x7a\x69\x53\x83\x3b\x1b\x6e\x22\x0a" -+"\xb3\x06\xf7\x13\xc4\x79\x62\x76\x7b\x73\x6f\x7a\x1f\x75\x6b\x5c\x81\x4b\x1b\x43\x58\x96\xa7\x4e\x1f\x90\x82\x86\x8c\x85\x1b\x7c" -+"\x81\x80\x7c\x0b\xe0\xbe\x15\x59\x20\x1d\xf7\xc7\x06\xf4\xf0\xe4\xe8\xbf\x6d\xb1\x4d\xa4\x1f\xd2\xb0\xae\xba\xc7\x1a\xd3\x4f\xbd" -+"\xe6\x1d\x6d\x6f\x75\xb3\x0a\xf8\x38\xce\x0a\x3c\x0a\x6b\x06\x34\xf8\x94\x05\xfb\x63\x06\x73\x7d\x80\x78\x7d\x7b\x1d\x99\x82\x92" -+"\x98\x1d\xf7\x8e\xbe\x8b\x1d\x0e\x06\xce\xf7\xd1\x05\xae\x3e\x1d\xfb\x06\x45\x0a\xa6\x06\x48\xfb\xd1\x05\xfb\x29\x06\xcf\xf7\xd1" -+"\x05\xa3\x23\x0a\x20\x2b\x1d\xa8\x06\x47\xfb\xd1\x05\xfb\x29\x06\xcf\xf7\xd1\x05\xa2\x6c\x0a\xfb\x03\x45\x0a\xaf\x06\x0b\xf8\xc9" -+"\x22\x1d\xb9\x06\xa3\x98\x95\x9e\x9a\x81\x92\x78\xbb\x1d\x99\x81\x93\x78\x1f\x58\x06\x0b\xf7\xb9\xbe\x15\xd6\x0a\x95\x9f\x87\x1d" -+"\x85\x8a\x88\x88\x1a\x7f\x94\x82\x98\x67\x0a\xf7\x8f\x2a\x1d\x0e\xb7\x1d\xf7\x34\x0b\x1e\xf8\x3f\xf7\x09\x15\xb1\xa2\xa0\xad\xb0" -+"\x1a\xba\x67\xad\x58\x49\x4c\x52\x4e\x73\x93\x7a\x9e\x7b\x1e\x5f\x71\x74\x67\x62\x1a\x59\xb1\x68\xc1\xd1\xcd\xc7\xcc\xa5\x82\x9e" -+"\x75\x9d\x1e\x66\xf7\x1a\x15\xab\xa1\x78\x6f\x67\x67\x6b\x61\x6b\x75\x9d\xa5\xaf\xb1\x70\x0a\x5f\x9e\x1d\xb7\x1f\x0b\xf5\x0a\xa1" -+"\x79\x1f\xa5\x75\xad\x80\xd0\x7e\xd0\x80\x9e\x85\x9f\x7c\x08\x9b\x80\x96\x75\x77\x1a\x3b\x37\x4a\x24\x62\x62\x96\x9c\x76\x1e\x80" -+"\x94\x70\xae\x90\x1a\x8e\xb9\x05\x91\x7f\x94\x81\x7a\x81\x81\x76\x86\x1e\x74\xfb\x01\xf7\x36\x1d\xa0\x8f\x1e\x8f\x9b\x0b\xf7\x43" -+"\xf7\x76\x93\x1d\xf7\x00\xda\x47\xc3\x2c\x1f\xfb\x84\x64\x0a\xa1\x9a\x97\x9d\x99\x82\x92\xf7\x00\x1d\xf7\x1a\x0a\x88\x83\x82\x1e" -+"\x4d\x48\x54\x72\x47\x7d\x1d\x93\x9c\x60\x1d\x8b\x8f\xdc\x0a\x0b\x06\x36\x0a\xbf\x06\xa3\xf7\x04\x0a\x81\x78\x7c\x95\x84\x9e\x1f" -+"\xaf\x26\x1d\xfb\x94\x06\x36\x0a\xb7\x06\xa2\xf7\x04\x0a\x80\x79\x7d\x95\x83\x9e\x1f\xb8\x26\x1d\x67\x24\x1d\x0b\x15\x96\x94\x91" -+"\x95\x93\x1a\x98\x82\x94\x7d\x85\x8b\x8b\x81\x7b\x1e\xfb\x0a\x2b\x05\x7d\x80\x86\x84\x82\x1a\x7e\x94\x82\x99\x91\x96\x90\x90\x92" -+"\x1e\xf7\x98\xeb\x15\x97\x94\x91\x95\x93\x1a\x98\x82\x94\x7e\x84\x85\x88\x84\x81\x1e\xfb\x0b\x2b\x05\x7d\x80\x87\x86\x81\x1a\x7c" -+"\x93\x83\x99\x91\x96\x90\x90\x92\x1e\x0e\x76\x0a\x9f\x87\x85\x9f\x1f\x87\x94\x8d\x8b\x8e\x1b\x9a\x99\x90\x1d\x68\x92\x78\xe2\x1d" -+"\xf7\x58\x06\x0b\xf7\x54\xf7\x2a\x05\x8f\x27\x1d\xfb\x02\x20\x1d\xac\x06\xfb\x29\xfb\x06\x2c\xf7\x06\x05\xad\x5d\x1d\x8e\x06\xf7" -+"\x11\xfb\x28\xfb\x6b\xfb\x3d\x05\x83\x24\x0a\x0b\x16\xf7\x03\xf8\x94\x05\xa8\x23\x1d\xfb\x29\x06\x73\x7d\x80\x78\x7d\xcf\x1d\x0b" -+"\xb8\x0a\xfc\x01\xfb\xd8\x82\x5f\x05\xf8\x15\x06\xa1\xee\x05\x8d\x94\x8b\x8b\x8f\x1a\x96\xd7\x0a\x0b\x06\x73\x6b\x76\x61\x7c\x1a" -+"\x83\x92\x84\x94\x92\x8f\x8d\x92\x91\x1e\xad\xb2\xa3\x9f\xbc\xa8\x99\x94\x18\x91\x8e\x8f\x8d\x8c\x8c\x08\x99\x93\x8e\x8e\x93\x1a" -+"\x92\x87\x8f\x78\x95\x1e\x4f\xad\x6e\xa2\x6c\xae\x08\x98\x80\x87\x8e\x84\x1b\x82\x83\x85\x83\x7c\x9b\x6b\xa8\x5f\x1f\x0b\xc7\x1d" -+"\x0e\xa4\x0a\xf7\xbd\xf7\x92\xf7\x53\x1d\xf8\x1c\x22\x1d\xf7\x1a\x06\xa1\x40\x1d\xfb\xd1\x06\x75\x7c\x7f\x79\x7d\x2a\x0a\xf7\x17" -+"\x26\x1d\xfb\x1a\x55\x0a\xf7\xd1\x06\xa1\x9a\x97\x9d\x99\x82\x92\x78\x1f\xfb\x18\x06\x0b\x1f\x88\x92\x88\x8e\x83\x8f\x08\x93\x78" -+"\x69\x92\x77\xe2\x1d\xf8\xa4\x06\xa1\x9a\x97\x9d\x99\x82\x92\x78\x1f\x0b\x8d\x19\xfb\x08\x24\x0a\x78\x7c\x94\x85\x9f\x1f\xf7\x06" -+"\x06\xe0\x86\xf4\xdd\x99\xdd\xe0\xf8\x1b\x18\xbd\x2e\x0a\x28\x06\xfb\x3d\x66\x15\xd8\xc0\x58\x40\x27\x29\x2c\x25\x3a\x57\xbd\xd7" -+"\xf0\xec\xe9\xf5\x1f\x0b\xc5\x0a\xf7\xbc\x9c\x1d\xae\xac\x9f\xf7\x33\x1d\x0b\xf7\x15\x1d\xa8\xad\x95\x90\x9d\x1b\x96\x0b\xf8\x04" -+"\x15\x37\xfc\x19\x05\x4a\x7b\x54\x5e\x4b\x1b\xfb\x14\x29\x1d\xf7\x15\x06\xe5\x89\xe0\xd1\x9d\xe6\xeb\xf8\x4e\x18\xfb\xb4\x33\x1d" -+"\x0b\xab\x99\x96\x95\x9a\x1a\x97\x82\x94\x7f\x85\x88\x8a\x86\x81\x1e\x75\x61\x40\x7a\x53\x1b\x54\x68\xa2\xaf\x91\x8c\x90\x8c\x91" -+"\x1f\xc3\xf7\x95\x05\xf7\x6b\x27\x1d\x0b\xa3\xf7\x03\x05\x8d\x94\x8b\x8b\x8d\x28\x0a\x7a\x81\x81\x77\x86\x1e\x73\xfb\x05\x05\x45" -+"\x33\x1d\xcf\x06\x53\xfb\x95\x05\x89\x81\x8a\x83\x80\x1a\x0b\x76\x1e\x80\x94\x70\xae\x90\x1a\x8e\xb9\x05\x91\x7f\x94\x81\x7a\x81" -+"\x81\x76\x86\x1e\x74\xfb\x01\xf7\x36\x1d\xa0\x8f\x1e\x8f\x9b\x05\x62\xab\x0b\xcd\x0a\xe0\xda\x0a\xf8\xcb\xf7\x57\x15\x92\xb0\x8d" -+"\x99\x9c\x1a\xee\xf7\x0f\x0a\x0b\x4d\x1d\xf7\x55\x57\x0a\x30\x06\xbc\xf7\x75\x05\x51\xad\xbc\x71\xd4\x1b\xf7\x24\xf7\x15\xf7\x0c" -+"\xf7\x1a\xf1\x0b\xf9\x07\xf8\x3e\x15\x9b\x94\x90\x91\x97\x1a\x95\x83\x93\x81\x85\x85\x89\x86\x82\x1e\xfc\x8f\xfb\xad\x05\x7c\x83" -+"\x85\x83\x80\x1a\x80\x93\x83\x95\x91\x8d\x8c\x92\x98\x1e\x0e\x8e\x9c\x1f\xb1\xf7\x43\x05\xb9\x4c\x1d\xfb\x1e\x51\x0a\xb1\x06\x67" -+"\xfb\x3d\x05\x86\x74\x89\x7c\x7d\x1a\x0b\xf8\xf5\x15\x69\x6a\x35\x0a\xa4\x78\x9e\x70\x1f\xf7\x71\x16\x69\x6a\x35\x0a\xa4\x78\x9e" -+"\x70\x1f\x0e\xe4\x1d\x35\x1d\x47\x06\x0b\x15\x69\x6a\x35\x0a\xa5\x78\x9d\x70\x1f\xf7\x72\x16\x69\x6a\x35\x0a\xa5\x78\x9d\x70\x1f" -+"\x0e\xba\x0a\x8f\x47\x0a\xf7\x51\x1d\xcc\xd2\xcb\x0a\x0b\xf8\x1d\xf8\x45\x15\xfb\x29\xfb\x1e\xfb\x15\xfb\x20\x22\xda\x40\xf7\x01" -+"\xf7\x2c\xf7\x1d\xf7\x14\xf7\x21\xf5\x3d\xd5\xfb\x04\x1f\x82\x58\x15\xe1\xc7\x53\x0b\x1f\x72\x6c\x62\x7f\x5a\x1b\xfb\x5a\xfb\x9e" -+"\x15\xba\xf7\x6b\x05\xf7\x25\x06\xc7\xa9\x85\x79\xa7\x1f\xa2\x7b\x9b\x71\x74\x1a\x49\x45\x4f\x3e\x1e\x0e\xf9\x11\xf8\xef\x15\xf7" -+"\x42\x1d\x5e\xfb\x67\x05\xca\x67\x59\xa8\x43\x1b\xfb\x22\xfb\x18\xfb\x18\xfb\x23\x0b\x91\x77\x65\x1d\x0b\x06\x4d\x6c\x71\x6e\x62" -+"\x1a\x6a\xa5\x79\xb9\xb7\xed\x0a\x88\x8a\x71\x1b\x7a\x82\x91\x98\x0b\x15\xfb\x33\xfb\x13\xfb\x10\xfb\x2f\xfb\x32\xf7\x11\xfb\x12" -+"\xf7\x31\xf7\x2f\xf7\x12\xf7\x12\xf7\x30\xf7\x2d\xfb\x12\xf7\x14\xfb\x2b\x1f\x0b\xde\x0a\x94\x82\x98\xf7\x0d\x0a\x0b\x8a\x85\x1e" -+"\x57\xfb\x82\x05\x6e\x32\x1d\xf7\x00\x23\x1d\x70\x06\x0b\x15\x9c\x97\x8e\x8f\x97\x28\x0a\x83\x86\x89\x83\x80\xf7\x2d\x1d\x0b\xdf" -+"\x0a\xf7\x72\x16\x69\x67\x1d\x0b\x3a\x1d\xfb\x18\x20\x0a\xad\x06\x75\x23\x05\x86\x74\x89\x7f\x7f\x1a\x0b\xf7\x09\x0a\x77\xf7\x25" -+"\x1d\xd6\xd4\xc9\xcb\x0b\x8c\x1d\xf7\x72\xf7\x1a\x1d\xcc\x0a\x35\xdf\x05\x91\x0b\x5c\xfb\x6b\x05\x59\x06\x74\x86\x1d\x9d\x35\x1d" -+"\x64\x06\x0b\xb4\xfb\x1b\x18\x94\x6f\x8e\x89\xa9\x8a\x08\x0b\x82\x94\x7e\x7b\x80\x81\x77\x87\x1e\x6a\xfb\x2c\x05\xfb\x10\x21\x1d" -+"\xf7\x0e\x06\x0b\x8e\x91\xc8\x0a\xf8\xc0\xf7\x91\x15\xa2\x9a\x96\x9e\x3c\x0a\xfc\x26\x4a\x1d\x9f\x1f\x0e\x2b\x1d\xba\x26\x1d\x59" -+"\x24\x1d\x0b\x15\xfb\x11\xfb\x8c\x05\x88\x84\x89\x85\x85\x1a\x7b\x97\x7f\x9c\x9a\x94\x91\x9f\x9b\x1e\xf7\x64\xf7\xa1\x05\x0b\xf7" -+"\xcf\x15\xe4\xf7\x5f\x05\x98\xa9\x8d\x92\x99\x1a\xa1\x7a\x9c\x73\xf7\x60\x1d\x0b\x94\x1e\xf7\x0f\xdf\xe1\xda\x0a\x06\x74\x7d\x81" -+"\x79\x7c\x95\x83\x0b\x77\x1f\x5c\x06\xba\xf7\x6b\x05\x0b\xc0\x65\xb0\x56\x1f\x84\x64\x15\xad\xa3\x73\x69\x5d\x5f\x5f\x5d\x67\x73" -+"\xa2\xae\xba\xb7\xb6\xbb\x1f\x0b\x78\x0a\x84\x88\x85\x82\x1e\xfb\x0f\x37\x0b\xf7\x24\x1d\x8e\x91\x95\x1e\xf7\x0f\xdf\x0b\xf7\x4c" -+"\x15\xa2\xfb\x19\x05\x45\x21\x1d\xf7\x30\x2f\x1d\x0b\xf7\x84\xf8\x99\x15\x9e\xe0\x05\x25\x2b\x1d\xba\x06\x83\x69\x05\x0b\x15\xa1" -+"\x96\x94\x9c\x9c\x80\x93\x75\x1f\xfc\xce\x58\x0a\x0e\x4e\x1d\x91\x8d\x92\x95\x1e\xf7\x0e\xdf\xe1\x38\x05\x84\x92\x0b\xf2\xd2\xca" -+"\xa8\xc8\xc8\x1f\x7a\x41\x05\xf1\x79\x0a\x5b\x06\x0b\xf7\x2d\x1d\x8f\x47\x0a\x20\x1d\xf7\x18\x06\xa2\x34\x1d\x0b\x4a\xc5\xe0\x90" -+"\x8b\x8f\x8c\x93\x1f\xf8\x09\xbe\x15\xfb\xfe\x06\xdc\xae\xe0\xc2\xe7\x1b\x0b\x36\x0a\xf7\x2f\x06\x7d\x4a\x8a\x82\x05\x86\x07\x82" -+"\x8a\x96\x81\x96\x1b\x9c\x95\x0b\x82\x94\x7e\x7a\x81\x81\x76\x86\x1e\x80\x59\x05\xfb\x97\x06\xf8\x03\xf7\xd8\x05\x0b\x15\xba\xf7" -+"\x6b\x05\xf7\x1a\x06\xf7\x07\xbb\x70\x4a\x43\x4c\x58\x31\x1f\x0e\x16\xf7\x15\x0a\xa7\xa0\x51\x1d\x6e\x1d\x9b\x92\x59\x0a\xfb\x0e" -+"\x32\x1d\xcf\x06\x55\xfb\x8b\x05\x51\x0b\x1a\x97\x82\x93\x7e\x7a\x81\x81\x77\x86\x1e\x0b\x6f\x71\x72\x70\x76\x9b\x7c\xa0\xa8\xa4" -+"\xa3\x0b\xf8\xcd\xf8\x37\x15\xfb\xfd\x06\x76\x29\x05\x8a\x86\x8a\x86\x88\x1a\x80\x0b\x15\xe4\x0a\x0b\x15\x6a\x6a\x6b\x6b\x72\x9f" -+"\x77\xa3\xad\xac\xaa\xac\xa5\x78\x9e\x71\x1f\x0b\xf7\x01\x0a\xf7\x22\x05\x0e\x06\x73\x7d\x81\x78\x7d\x95\x83\x0b\x1f\x9e\x6e\x7f" -+"\x8f\x75\x1b\x71\x0b\x69\xf4\x0a\x70\x1f\x0b\x05\x89\x81\x8b\x8b\x88\x1a\x7e\x93\x84\x0b\x06\xa2\xf7\x08\x0a\x0b\x84\x1b\x7b\x7c" -+"\x7d\x7c\x85\x8e\x85\x50\x1d\x83\x0b\x96\x1a\x98\x82\x94\x7f\x85\x85\x89\x87\x86\x1e\x60\x53\x73\x7f\x0b\xf7\x4b\x1d\x20\x34\x52" -+"\xbe\x0b\x82\x94\x7f\x79\x82\x82\x76\x87\x1e\x78\x35\x05\xfb\x5c\x06\x0b\x06\x7b\x8c\x7f\x81\x7c\x1a\x88\x07\x7c\x97\x81\x9b\x8c" -+"\x1e\x0b\x32\x4f\x3f\x74\x98\x72\x9f\x7d\x1f\xa4\x79\xa6\x84\xd4\x84\x0b\xb7\xa1\xa1\x94\x83\x93\x82\x87\x87\x89\x89\x87\x1e\x7b" -+"\x74\x0b\x88\x92\x1b\x9c\xf7\x16\x0a\x7f\x1a\x7f\x94\x82\x98\x91\x0b\x80\x79\x7c\x94\x84\x9e\x1f\x0b\x05\x8d\x94\x8b\x8b\x8e\x1a" -+"\x97\x82\x94\x7e\x7a\x81\x81\x0b\xf7\x12\x0a\x94\x1e\x9c\x0b\x95\x1a\x98\x82\x93\x7f\x84\x84\x88\x84\x80\x1e\xfb\x1a\x0b\x6b\x42" -+"\x1d\xae\xab\xaa\xac\xa5\x78\x9d\x0b\xad\x6b\x60\x9c\x53\x1b\xfb\x0d\x22\x35\x28\x6c\x98\x6d\x0b\xf7\x4d\x1d\x0e\x81\x80\x1a\x7f" -+"\x94\x83\x98\x92\x93\x8e\x91\x92\x1e\x0b\x88\x1a\x7e\x93\x84\x99\x9b\x96\x95\x9f\x90\x1e\xad\x0b\x8a\x7f\x05\x7f\x94\x82\x98\x9b" -+"\x28\x1d\x0b\x15\x95\x96\x8e\x91\x93\x1a\x95\x80\x95\x80\x81\x83\x0b\x99\x95\x9d\x9a\x81\x93\x78\x1f\xfb\x20\x06\x73\x7d\x0b\xa7" -+"\xa0\x7c\x9a\x75\x1f\xf7\x62\x16\x6f\x71\x72\x70\x0b\x4f\xc2\xde\xf7\x00\xf7\x00\xf0\xf7\x09\x1f\x0e\x95\x91\x93\x94\x1a\x98\x82" -+"\x94\x0b\x99\x95\x9e\x9a\x81\x92\x78\x1f\x0b\x73\x6b\x1a\x61\x5b\x64\x58\x6d\x0b\xf7\x13\x0a\x77\x0b\x15\x93\x83\x86\x8e\x84\x1b" -+"\x7a\x7d\x7d\x7b\x85\x0b\x93\x6a\x1b\x68\x71\x7c\x63\x68\x1f\x75\x73\x83\x0b\x9b\x96\x95\x9f\x8f\x1e\x96\xbd\x05\xf7\x7d\x06\x0b" -+"\xf8\x68\xf7\x5e\x1d\x0b\x3b\xd2\xfb\x04\xfb\x2c\xfb\x19\xfb\x0e\xfb\x1f\x0b\x92\x92\x8e\x92\x96\x1e\x0e\x9a\x99\x9b\x90\x8b\x8b" -+"\x0b\x49\x69\x70\x82\x92\x84\x95\x92\x8f\x8d\x93\x0b\x8b\x8b\x8e\x1a\x97\x82\x94\x7e\x7b\x80\x80\x0b\xf8\x29\xf8\x05\x15\xf7\x10" -+"\x06\xa2\x9a\x96\x0b\x6f\x71\x72\x70\x76\x9a\x7c\xa1\xa8\xa4\xa3\x0b\x99\x99\x9b\x90\x8b\x8b\x81\x98\x1f\x0e\x81\x78\x7d\x95\x83" -+"\x9d\x1f\x0b\x82\x94\x7e\x7a\x81\x81\x76\x0b\xc2\xf7\x93\x05\x8d\x93\x8c\x0b\x1a\x96\x82\x93\x7f\x81\x86\x0b\x1a\x80\x95\x82\x97" -+"\x9b\x96\x0b\x06\xa0\x9b\x98\x9b\x9b\x83\x91\x76\x1f\x0b\x06\xa2\x9a\x96\x9d\x9a\x82\x91\x77\x1f\x0b\x06\xa3\x99\x96\x9e\x9a\x83" -+"\x91\x76\x1f\x0b\xc7\x53\x3b\xfb\x01\xfb\x00\x25\xfb\x06\x0b\x97\x82\x93\x7e\x7b\x80\x81\x77\x87\x1e\x0b\x33\x05\x8a\x85\x8a\x87" -+"\x87\x1a\x7f\x93\x0b\x99\x94\x9d\x9a\x7f\x94\x76\x1f\x0e\xf1\xe8\xf7\x03\x1f\x0e", 52468 -+}; -diff -up texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/fonts/NimbusMonoPS-Regular.cff.cpp.301 texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/fonts/NimbusMonoPS-Regular.cff.cpp ---- texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/fonts/NimbusMonoPS-Regular.cff.cpp.301 2023-01-17 15:53:51.708205357 -0500 -+++ texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/fonts/NimbusMonoPS-Regular.cff.cpp 2023-01-17 15:53:51.708205357 -0500 -@@ -0,0 +1,1441 @@ -+#include "Base14Fonts.hpp" -+ -+extern const MemoryFontData NimbusMonoPS_Regular_cff = { -+"\x01\x00\x04\x02\x00\x01\x01\x01\x15\x4e\x69\x6d\x62\x75\x73\x4d\x6f\x6e\x6f\x50\x53\x2d\x52\x65\x67\x75\x6c\x61\x72\x00\x01\x01" -+"\x01\x34\xf9\xbc\x00\xf9\xbd\x01\xf9\xbe\x0c\x00\xf9\xbf\x02\xf9\xc0\x03\xf8\x18\x04\x8c\x0c\x01\x30\x0c\x03\xbe\x0c\x04\x6c\xfb" -+"\xd1\xf9\x3f\xfa\x38\x05\x1c\x2b\xef\x0f\x1c\x2c\x02\x11\xbb\x1d\x00\x00\xa1\xbb\x12\x01\xa6\x02\x00\x01\x00\x08\x00\x0e\x00\x13" -+"\x00\x1d\x00\x24\x00\x2b\x00\x35\x00\x39\x00\x3f\x00\x45\x00\x50\x00\x5a\x00\x5d\x00\x63\x00\x69\x00\x6e\x00\x74\x00\x7a\x00\x84" -+"\x00\x8b\x00\x8e\x00\x95\x00\x9c\x00\xa8\x00\xab\x00\xb3\x00\xb7\x00\xbc\x00\xc2\x00\xcd\x00\xd9\x00\xe3\x00\xe7\x00\xf2\x00\xf4" -+"\x00\xfa\x01\x04\x01\x0b\x01\x12\x01\x16\x01\x22\x01\x2b\x01\x31\x01\x3c\x01\x41\x01\x4d\x01\x53\x01\x59\x01\x5f\x01\x6b\x01\x6f" -+"\x01\x71\x01\x77\x01\x7d\x01\x89\x01\x8b\x01\x91\x01\x9e\x01\xa5\x01\xaf\x01\xb6\x01\xc2\x01\xcd\x01\xd0\x01\xd2\x01\xd5\x01\xdb" -+"\x01\xe1\x01\xed\x01\xf0\x01\xf6\x01\xfe\x02\x09\x02\x15\x02\x1a\x02\x1d\x02\x21\x02\x27\x02\x33\x02\x38\x02\x3e\x02\x4b\x02\x52" -+"\x02\x59\x02\x60\x02\x6f\x02\x7b\x02\x80\x02\x86\x02\x8c\x02\x97\x02\xa0\x02\xa6\x02\xa8\x02\xb3\x02\xb9\x02\xbf\x02\xc9\x02\xcd" -+"\x02\xd3\x02\xda\x02\xe3\x02\xec\x02\xf5\x02\xfe\x03\x07\x03\x10\x03\x19\x03\x22\x03\x2b\x03\x34\x03\x3d\x03\x46\x03\x4f\x03\x58" -+"\x03\x61\x03\x6a\x03\x73\x03\x7c\x03\x85\x03\x8e\x03\x97\x03\xa0\x03\xa9\x03\xb2\x03\xbb\x03\xc4\x03\xcd\x03\xd6\x03\xdf\x03\xe8" -+"\x03\xf1\x03\xfa\x04\x03\x04\x0c\x04\x15\x04\x1e\x04\x27\x04\x30\x04\x39\x04\x42\x04\x4b\x04\x54\x04\x5d\x04\x66\x04\x6f\x04\x78" -+"\x04\x81\x04\x8a\x04\x93\x04\x9c\x04\xa5\x04\xae\x04\xb7\x04\xc0\x04\xc9\x04\xd2\x04\xdb\x04\xe4\x04\xed\x04\xf6\x04\xff\x05\x08" -+"\x05\x11\x05\x1a\x05\x23\x05\x2c\x05\x35\x05\x3e\x05\x47\x05\x50\x05\x59\x05\x62\x05\x6b\x05\x74\x05\x7d\x05\x86\x05\x8f\x05\x98" -+"\x05\xa1\x05\xaa\x05\xb3\x05\xbc\x05\xc5\x05\xce\x05\xd7\x05\xe0\x05\xe9\x05\xf2\x05\xfb\x06\x04\x06\x0d\x06\x16\x06\x1f\x06\x28" -+"\x06\x31\x06\x3a\x06\x43\x06\x4c\x06\x55\x06\x5a\x06\x64\x06\x6b\x06\x74\x06\x7e\x06\x85\x06\x90\x06\x9a\x06\xa3\x06\xac\x06\xb5" -+"\x06\xbf\x06\xc6\x06\xcf\x06\xdb\x06\xdf\x06\xe5\x06\xeb\x06\xf6\x07\x00\x07\x03\x07\x11\x07\x15\x07\x1b\x07\x21\x07\x26\x07\x2d" -+"\x07\x3a\x07\x40\x07\x46\x07\x50\x07\x57\x07\x5e\x07\x61\x07\x68\x07\x6f\x07\x7b\x07\x86\x07\x8f\x07\x92\x07\x9a\x07\xa3\x07\xae" -+"\x07\xb4\x07\xb9\x07\xbe\x07\xc4\x07\xcf\x07\xdb\x07\xe5\x07\xf1\x07\xf5\x08\x00\x08\x05\x08\x0a\x08\x10\x08\x12\x08\x19\x08\x21" -+"\x08\x29\x08\x33\x08\x3d\x08\x49\x08\x55\x08\x5c\x08\x60\x08\x6c\x08\x7d\x08\x86\x08\x8c\x08\x97\x08\x9c\x08\xa8\x08\xb4\x08\xba" -+"\x08\xc0\x08\xc6\x08\xd2\x08\xd6\x08\xdf\x08\xe3\x08\xe8\x08\xec\x08\xf2\x08\xfd\x09\x0b\x09\x11\x09\x1c\x09\x22\x09\x2e\x09\x38" -+"\x09\x40\x09\x42\x09\x48\x09\x55\x09\x5c\x09\x61\x09\x6b\x09\x72\x09\x7e\x09\x88\x09\x93\x09\x9e\x09\xa4\x09\xa7\x09\xa9\x09\xb0" -+"\x09\xbc\x09\xca\x09\xcd\x09\xda\x09\xe0\x09\xe7\x09\xed\x09\xf9\x0a\x06\x0a\x09\x0a\x0f\x0a\x17\x0a\x22\x0a\x2e\x0a\x34\x0a\x39" -+"\x0a\x42\x0a\x47\x0a\x50\x0a\x53\x0a\x56\x0a\x5a\x0a\x60\x0a\x6c\x0a\x71\x0a\x76\x0a\x7c\x0a\x89\x0a\x90\x0a\x9d\x0a\xa4\x0a\xab" -+"\x0a\xb2\x0a\xb9\x0a\xc0\x0a\xc7\x0a\xce\x0a\xd5\x0a\xdc\x0a\xe3\x0a\xea\x0a\xf1\x0a\xf8\x0a\xff\x0b\x06\x0b\x0d\x0b\x14\x0b\x1b" -+"\x0b\x22\x0b\x29\x0b\x30\x0b\x37\x0b\x3e\x0b\x45\x0b\x4c\x0b\x53\x0b\x5a\x0b\x61\x0b\x68\x0b\x6f\x0b\x76\x0b\x7d\x0b\x84\x0b\x8b" -+"\x0b\x92\x0b\x99\x0b\xa0\x0b\xa7\x0b\xae\x0b\xb5\x0b\xbc\x0b\xc3\x0b\xca\x0b\xd1\x0b\xd8\x0b\xdf\x0b\xe6\x0b\xed\x0b\xf4\x0b\xfb" -+"\x0c\x02\x0c\x09\x0c\x10\x0c\x17\x0c\x1e\x0c\x25\x0c\x2c\x0c\x33\x0c\x3a\x0c\x41\x0c\x48\x0c\x4d\x0c\x56\x0c\x5d\x0c\x64\x0c\x73" -+"\x0c\x87\x0c\x93\x0c\x98\x0c\x9e\x0c\xa4\x0c\xaf\x0c\xb8\x0c\xbe\x0c\xc0\x0c\xcb\x0c\xd1\x0c\xd7\x0c\xe1\x0c\xe5\x0c\xe9\x0d\x1f" -+"\x0d\x5f\x0d\x75\x0d\x83\x41\x45\x61\x63\x75\x74\x65\x41\x62\x72\x65\x76\x65\x41\x6c\x70\x68\x61\x41\x6c\x70\x68\x61\x74\x6f\x6e" -+"\x6f\x73\x41\x6d\x61\x63\x72\x6f\x6e\x41\x6f\x67\x6f\x6e\x65\x6b\x41\x72\x69\x6e\x67\x61\x63\x75\x74\x65\x42\x65\x74\x61\x43\x61" -+"\x63\x75\x74\x65\x43\x63\x61\x72\x6f\x6e\x43\x63\x69\x72\x63\x75\x6d\x66\x6c\x65\x78\x43\x64\x6f\x74\x61\x63\x63\x65\x6e\x74\x43" -+"\x68\x69\x44\x63\x61\x72\x6f\x6e\x44\x63\x72\x6f\x61\x74\x44\x65\x6c\x74\x61\x45\x62\x72\x65\x76\x65\x45\x63\x61\x72\x6f\x6e\x45" -+"\x64\x6f\x74\x61\x63\x63\x65\x6e\x74\x45\x6d\x61\x63\x72\x6f\x6e\x45\x6e\x67\x45\x6f\x67\x6f\x6e\x65\x6b\x45\x70\x73\x69\x6c\x6f" -+"\x6e\x45\x70\x73\x69\x6c\x6f\x6e\x74\x6f\x6e\x6f\x73\x45\x74\x61\x45\x74\x61\x74\x6f\x6e\x6f\x73\x45\x75\x72\x6f\x47\x61\x6d\x6d" -+"\x61\x47\x62\x72\x65\x76\x65\x47\x63\x69\x72\x63\x75\x6d\x66\x6c\x65\x78\x47\x63\x6f\x6d\x6d\x61\x61\x63\x63\x65\x6e\x74\x47\x64" -+"\x6f\x74\x61\x63\x63\x65\x6e\x74\x48\x62\x61\x72\x48\x63\x69\x72\x63\x75\x6d\x66\x6c\x65\x78\x49\x4a\x49\x62\x72\x65\x76\x65\x49" -+"\x64\x6f\x74\x61\x63\x63\x65\x6e\x74\x49\x6d\x61\x63\x72\x6f\x6e\x49\x6f\x67\x6f\x6e\x65\x6b\x49\x6f\x74\x61\x49\x6f\x74\x61\x64" -+"\x69\x65\x72\x65\x73\x69\x73\x49\x6f\x74\x61\x74\x6f\x6e\x6f\x73\x49\x74\x69\x6c\x64\x65\x4a\x63\x69\x72\x63\x75\x6d\x66\x6c\x65" -+"\x78\x4b\x61\x70\x70\x61\x4b\x63\x6f\x6d\x6d\x61\x61\x63\x63\x65\x6e\x74\x4c\x61\x63\x75\x74\x65\x4c\x61\x6d\x62\x64\x61\x4c\x63" -+"\x61\x72\x6f\x6e\x4c\x63\x6f\x6d\x6d\x61\x61\x63\x63\x65\x6e\x74\x4c\x64\x6f\x74\x4d\x75\x4e\x61\x63\x75\x74\x65\x4e\x63\x61\x72" -+"\x6f\x6e\x4e\x63\x6f\x6d\x6d\x61\x61\x63\x63\x65\x6e\x74\x4e\x75\x4f\x62\x72\x65\x76\x65\x4f\x68\x75\x6e\x67\x61\x72\x75\x6d\x6c" -+"\x61\x75\x74\x4f\x6d\x61\x63\x72\x6f\x6e\x4f\x6d\x65\x67\x61\x74\x6f\x6e\x6f\x73\x4f\x6d\x69\x63\x72\x6f\x6e\x4f\x6d\x69\x63\x72" -+"\x6f\x6e\x74\x6f\x6e\x6f\x73\x4f\x73\x6c\x61\x73\x68\x61\x63\x75\x74\x65\x50\x68\x69\x50\x69\x50\x73\x69\x52\x61\x63\x75\x74\x65" -+"\x52\x63\x61\x72\x6f\x6e\x52\x63\x6f\x6d\x6d\x61\x61\x63\x63\x65\x6e\x74\x52\x68\x6f\x53\x61\x63\x75\x74\x65\x53\x63\x65\x64\x69" -+"\x6c\x6c\x61\x53\x63\x69\x72\x63\x75\x6d\x66\x6c\x65\x78\x53\x63\x6f\x6d\x6d\x61\x61\x63\x63\x65\x6e\x74\x53\x69\x67\x6d\x61\x54" -+"\x61\x75\x54\x62\x61\x72\x54\x63\x61\x72\x6f\x6e\x54\x63\x6f\x6d\x6d\x61\x61\x63\x63\x65\x6e\x74\x54\x68\x65\x74\x61\x55\x62\x72" -+"\x65\x76\x65\x55\x68\x75\x6e\x67\x61\x72\x75\x6d\x6c\x61\x75\x74\x55\x6d\x61\x63\x72\x6f\x6e\x55\x6f\x67\x6f\x6e\x65\x6b\x55\x70" -+"\x73\x69\x6c\x6f\x6e\x55\x70\x73\x69\x6c\x6f\x6e\x64\x69\x65\x72\x65\x73\x69\x73\x55\x70\x73\x69\x6c\x6f\x6e\x74\x6f\x6e\x6f\x73" -+"\x55\x72\x69\x6e\x67\x55\x74\x69\x6c\x64\x65\x57\x61\x63\x75\x74\x65\x57\x63\x69\x72\x63\x75\x6d\x66\x6c\x65\x78\x57\x64\x69\x65" -+"\x72\x65\x73\x69\x73\x57\x67\x72\x61\x76\x65\x58\x69\x59\x63\x69\x72\x63\x75\x6d\x66\x6c\x65\x78\x59\x67\x72\x61\x76\x65\x5a\x61" -+"\x63\x75\x74\x65\x5a\x64\x6f\x74\x61\x63\x63\x65\x6e\x74\x5a\x65\x74\x61\x61\x62\x72\x65\x76\x65\x61\x65\x61\x63\x75\x74\x65\x61" -+"\x66\x69\x69\x30\x30\x32\x30\x38\x61\x66\x69\x69\x31\x30\x30\x31\x37\x61\x66\x69\x69\x31\x30\x30\x31\x38\x61\x66\x69\x69\x31\x30" -+"\x30\x31\x39\x61\x66\x69\x69\x31\x30\x30\x32\x30\x61\x66\x69\x69\x31\x30\x30\x32\x31\x61\x66\x69\x69\x31\x30\x30\x32\x32\x61\x66" -+"\x69\x69\x31\x30\x30\x32\x33\x61\x66\x69\x69\x31\x30\x30\x32\x34\x61\x66\x69\x69\x31\x30\x30\x32\x35\x61\x66\x69\x69\x31\x30\x30" -+"\x32\x36\x61\x66\x69\x69\x31\x30\x30\x32\x37\x61\x66\x69\x69\x31\x30\x30\x32\x38\x61\x66\x69\x69\x31\x30\x30\x32\x39\x61\x66\x69" -+"\x69\x31\x30\x30\x33\x30\x61\x66\x69\x69\x31\x30\x30\x33\x31\x61\x66\x69\x69\x31\x30\x30\x33\x32\x61\x66\x69\x69\x31\x30\x30\x33" -+"\x33\x61\x66\x69\x69\x31\x30\x30\x33\x34\x61\x66\x69\x69\x31\x30\x30\x33\x35\x61\x66\x69\x69\x31\x30\x30\x33\x36\x61\x66\x69\x69" -+"\x31\x30\x30\x33\x37\x61\x66\x69\x69\x31\x30\x30\x33\x38\x61\x66\x69\x69\x31\x30\x30\x33\x39\x61\x66\x69\x69\x31\x30\x30\x34\x30" -+"\x61\x66\x69\x69\x31\x30\x30\x34\x31\x61\x66\x69\x69\x31\x30\x30\x34\x32\x61\x66\x69\x69\x31\x30\x30\x34\x33\x61\x66\x69\x69\x31" -+"\x30\x30\x34\x34\x61\x66\x69\x69\x31\x30\x30\x34\x35\x61\x66\x69\x69\x31\x30\x30\x34\x36\x61\x66\x69\x69\x31\x30\x30\x34\x37\x61" -+"\x66\x69\x69\x31\x30\x30\x34\x38\x61\x66\x69\x69\x31\x30\x30\x34\x39\x61\x66\x69\x69\x31\x30\x30\x35\x30\x61\x66\x69\x69\x31\x30" -+"\x30\x35\x31\x61\x66\x69\x69\x31\x30\x30\x35\x32\x61\x66\x69\x69\x31\x30\x30\x35\x33\x61\x66\x69\x69\x31\x30\x30\x35\x34\x61\x66" -+"\x69\x69\x31\x30\x30\x35\x35\x61\x66\x69\x69\x31\x30\x30\x35\x36\x61\x66\x69\x69\x31\x30\x30\x35\x37\x61\x66\x69\x69\x31\x30\x30" -+"\x35\x38\x61\x66\x69\x69\x31\x30\x30\x35\x39\x61\x66\x69\x69\x31\x30\x30\x36\x30\x61\x66\x69\x69\x31\x30\x30\x36\x31\x61\x66\x69" -+"\x69\x31\x30\x30\x36\x32\x61\x66\x69\x69\x31\x30\x30\x36\x35\x61\x66\x69\x69\x31\x30\x30\x36\x36\x61\x66\x69\x69\x31\x30\x30\x36" -+"\x37\x61\x66\x69\x69\x31\x30\x30\x36\x38\x61\x66\x69\x69\x31\x30\x30\x36\x39\x61\x66\x69\x69\x31\x30\x30\x37\x30\x61\x66\x69\x69" -+"\x31\x30\x30\x37\x31\x61\x66\x69\x69\x31\x30\x30\x37\x32\x61\x66\x69\x69\x31\x30\x30\x37\x33\x61\x66\x69\x69\x31\x30\x30\x37\x34" -+"\x61\x66\x69\x69\x31\x30\x30\x37\x35\x61\x66\x69\x69\x31\x30\x30\x37\x36\x61\x66\x69\x69\x31\x30\x30\x37\x37\x61\x66\x69\x69\x31" -+"\x30\x30\x37\x38\x61\x66\x69\x69\x31\x30\x30\x37\x39\x61\x66\x69\x69\x31\x30\x30\x38\x30\x61\x66\x69\x69\x31\x30\x30\x38\x31\x61" -+"\x66\x69\x69\x31\x30\x30\x38\x32\x61\x66\x69\x69\x31\x30\x30\x38\x33\x61\x66\x69\x69\x31\x30\x30\x38\x34\x61\x66\x69\x69\x31\x30" -+"\x30\x38\x35\x61\x66\x69\x69\x31\x30\x30\x38\x36\x61\x66\x69\x69\x31\x30\x30\x38\x37\x61\x66\x69\x69\x31\x30\x30\x38\x38\x61\x66" -+"\x69\x69\x31\x30\x30\x38\x39\x61\x66\x69\x69\x31\x30\x30\x39\x30\x61\x66\x69\x69\x31\x30\x30\x39\x31\x61\x66\x69\x69\x31\x30\x30" -+"\x39\x32\x61\x66\x69\x69\x31\x30\x30\x39\x33\x61\x66\x69\x69\x31\x30\x30\x39\x34\x61\x66\x69\x69\x31\x30\x30\x39\x35\x61\x66\x69" -+"\x69\x31\x30\x30\x39\x36\x61\x66\x69\x69\x31\x30\x30\x39\x37\x61\x66\x69\x69\x31\x30\x30\x39\x38\x61\x66\x69\x69\x31\x30\x30\x39" -+"\x39\x61\x66\x69\x69\x31\x30\x31\x30\x30\x61\x66\x69\x69\x31\x30\x31\x30\x31\x61\x66\x69\x69\x31\x30\x31\x30\x32\x61\x66\x69\x69" -+"\x31\x30\x31\x30\x33\x61\x66\x69\x69\x31\x30\x31\x30\x34\x61\x66\x69\x69\x31\x30\x31\x30\x35\x61\x66\x69\x69\x31\x30\x31\x30\x36" -+"\x61\x66\x69\x69\x31\x30\x31\x30\x37\x61\x66\x69\x69\x31\x30\x31\x30\x38\x61\x66\x69\x69\x31\x30\x31\x30\x39\x61\x66\x69\x69\x31" -+"\x30\x31\x31\x30\x61\x66\x69\x69\x31\x30\x31\x34\x35\x61\x66\x69\x69\x31\x30\x31\x39\x33\x61\x66\x69\x69\x31\x30\x38\x34\x36\x61" -+"\x66\x69\x69\x36\x31\x32\x34\x38\x61\x66\x69\x69\x36\x31\x32\x38\x39\x61\x66\x69\x69\x36\x31\x33\x35\x32\x61\x6c\x70\x68\x61\x61" -+"\x6c\x70\x68\x61\x74\x6f\x6e\x6f\x73\x61\x6d\x61\x63\x72\x6f\x6e\x61\x6e\x67\x6c\x65\x6c\x65\x66\x74\x61\x6e\x67\x6c\x65\x72\x69" -+"\x67\x68\x74\x61\x6f\x67\x6f\x6e\x65\x6b\x61\x70\x70\x72\x6f\x78\x65\x71\x75\x61\x6c\x61\x72\x69\x6e\x67\x61\x63\x75\x74\x65\x61" -+"\x72\x72\x6f\x77\x62\x6f\x74\x68\x61\x72\x72\x6f\x77\x64\x6f\x77\x6e\x61\x72\x72\x6f\x77\x6c\x65\x66\x74\x61\x72\x72\x6f\x77\x72" -+"\x69\x67\x68\x74\x61\x72\x72\x6f\x77\x75\x70\x61\x72\x72\x6f\x77\x75\x70\x64\x6e\x61\x72\x72\x6f\x77\x75\x70\x64\x6e\x62\x73\x65" -+"\x62\x65\x74\x61\x63\x61\x63\x75\x74\x65\x63\x63\x61\x72\x6f\x6e\x63\x63\x69\x72\x63\x75\x6d\x66\x6c\x65\x78\x63\x64\x6f\x74\x61" -+"\x63\x63\x65\x6e\x74\x63\x68\x69\x63\x69\x72\x63\x6c\x65\x6d\x75\x6c\x74\x69\x70\x6c\x79\x63\x6c\x75\x62\x64\x63\x61\x72\x6f\x6e" -+"\x64\x63\x72\x6f\x61\x74\x64\x65\x6c\x74\x61\x64\x69\x61\x6d\x6f\x6e\x64\x64\x69\x65\x72\x65\x73\x69\x73\x74\x6f\x6e\x6f\x73\x65" -+"\x62\x72\x65\x76\x65\x65\x63\x61\x72\x6f\x6e\x65\x64\x6f\x74\x61\x63\x63\x65\x6e\x74\x65\x6c\x65\x6d\x65\x6e\x74\x65\x6d\x61\x63" -+"\x72\x6f\x6e\x65\x6e\x67\x65\x6f\x67\x6f\x6e\x65\x6b\x65\x70\x73\x69\x6c\x6f\x6e\x65\x70\x73\x69\x6c\x6f\x6e\x74\x6f\x6e\x6f\x73" -+"\x65\x71\x75\x69\x76\x61\x6c\x65\x6e\x63\x65\x65\x73\x74\x69\x6d\x61\x74\x65\x64\x65\x74\x61\x65\x74\x61\x74\x6f\x6e\x6f\x73\x65" -+"\x78\x63\x6c\x61\x6d\x64\x62\x6c\x65\x78\x69\x73\x74\x65\x6e\x74\x69\x61\x6c\x66\x65\x6d\x61\x6c\x65\x66\x72\x61\x6e\x63\x67\x61" -+"\x6d\x6d\x61\x67\x62\x72\x65\x76\x65\x67\x63\x69\x72\x63\x75\x6d\x66\x6c\x65\x78\x67\x63\x6f\x6d\x6d\x61\x61\x63\x63\x65\x6e\x74" -+"\x67\x64\x6f\x74\x61\x63\x63\x65\x6e\x74\x67\x72\x65\x61\x74\x65\x72\x65\x71\x75\x61\x6c\x68\x62\x61\x72\x68\x63\x69\x72\x63\x75" -+"\x6d\x66\x6c\x65\x78\x68\x65\x61\x72\x74\x68\x6f\x75\x73\x65\x69\x62\x72\x65\x76\x65\x69\x6a\x69\x6d\x61\x63\x72\x6f\x6e\x69\x6e" -+"\x66\x69\x6e\x69\x74\x79\x69\x6e\x74\x65\x67\x72\x61\x6c\x69\x6e\x74\x65\x67\x72\x61\x6c\x62\x74\x69\x6e\x74\x65\x67\x72\x61\x6c" -+"\x74\x70\x69\x6e\x74\x65\x72\x73\x65\x63\x74\x69\x6f\x6e\x69\x6e\x76\x73\x6d\x69\x6c\x65\x66\x61\x63\x65\x69\x6f\x67\x6f\x6e\x65" -+"\x6b\x69\x6f\x74\x61\x69\x6f\x74\x61\x64\x69\x65\x72\x65\x73\x69\x73\x69\x6f\x74\x61\x64\x69\x65\x72\x65\x73\x69\x73\x74\x6f\x6e" -+"\x6f\x73\x69\x6f\x74\x61\x74\x6f\x6e\x6f\x73\x69\x74\x69\x6c\x64\x65\x6a\x63\x69\x72\x63\x75\x6d\x66\x6c\x65\x78\x6b\x61\x70\x70" -+"\x61\x6b\x63\x6f\x6d\x6d\x61\x61\x63\x63\x65\x6e\x74\x6b\x67\x72\x65\x65\x6e\x6c\x61\x6e\x64\x69\x63\x6c\x61\x63\x75\x74\x65\x6c" -+"\x61\x6d\x62\x64\x61\x6c\x63\x61\x72\x6f\x6e\x6c\x63\x6f\x6d\x6d\x61\x61\x63\x63\x65\x6e\x74\x6c\x64\x6f\x74\x6c\x65\x73\x73\x65" -+"\x71\x75\x61\x6c\x6c\x69\x72\x61\x6c\x6f\x6e\x67\x73\x6d\x61\x6c\x65\x6d\x69\x6e\x75\x74\x65\x6d\x75\x73\x69\x63\x61\x6c\x6e\x6f" -+"\x74\x65\x6d\x75\x73\x69\x63\x61\x6c\x6e\x6f\x74\x65\x64\x62\x6c\x6e\x61\x63\x75\x74\x65\x6e\x61\x70\x6f\x73\x74\x72\x6f\x70\x68" -+"\x65\x6e\x63\x61\x72\x6f\x6e\x6e\x63\x6f\x6d\x6d\x61\x61\x63\x63\x65\x6e\x74\x6e\x6f\x74\x65\x6c\x65\x6d\x65\x6e\x74\x6e\x6f\x74" -+"\x65\x71\x75\x61\x6c\x6e\x75\x6f\x62\x72\x65\x76\x65\x6f\x68\x75\x6e\x67\x61\x72\x75\x6d\x6c\x61\x75\x74\x6f\x6d\x61\x63\x72\x6f" -+"\x6e\x6f\x6d\x65\x67\x61\x6f\x6d\x65\x67\x61\x74\x6f\x6e\x6f\x73\x6f\x6d\x69\x63\x72\x6f\x6e\x6f\x6d\x69\x63\x72\x6f\x6e\x74\x6f" -+"\x6e\x6f\x73\x6f\x72\x74\x68\x6f\x67\x6f\x6e\x61\x6c\x6f\x73\x6c\x61\x73\x68\x61\x63\x75\x74\x65\x70\x61\x72\x74\x69\x61\x6c\x64" -+"\x69\x66\x66\x70\x65\x73\x65\x74\x61\x70\x68\x69\x70\x69\x70\x72\x6f\x64\x75\x63\x74\x70\x72\x6f\x70\x65\x72\x73\x75\x62\x73\x65" -+"\x74\x70\x72\x6f\x70\x65\x72\x73\x75\x70\x65\x72\x73\x65\x74\x70\x73\x69\x71\x75\x6f\x74\x65\x72\x65\x76\x65\x72\x73\x65\x64\x72" -+"\x61\x63\x75\x74\x65\x72\x61\x64\x69\x63\x61\x6c\x72\x63\x61\x72\x6f\x6e\x72\x63\x6f\x6d\x6d\x61\x61\x63\x63\x65\x6e\x74\x72\x65" -+"\x76\x6c\x6f\x67\x69\x63\x61\x6c\x6e\x6f\x74\x72\x68\x6f\x73\x61\x63\x75\x74\x65\x73\x63\x65\x64\x69\x6c\x6c\x61\x73\x63\x69\x72" -+"\x63\x75\x6d\x66\x6c\x65\x78\x73\x63\x6f\x6d\x6d\x61\x61\x63\x63\x65\x6e\x74\x73\x65\x63\x6f\x6e\x64\x73\x69\x67\x6d\x61\x73\x6d" -+"\x69\x6c\x65\x66\x61\x63\x65\x73\x70\x61\x64\x65\x73\x75\x6d\x6d\x61\x74\x69\x6f\x6e\x73\x75\x6e\x74\x61\x75\x74\x62\x61\x72\x74" -+"\x63\x61\x72\x6f\x6e\x74\x63\x6f\x6d\x6d\x61\x61\x63\x63\x65\x6e\x74\x74\x68\x65\x74\x61\x74\x6f\x6e\x6f\x73\x75\x62\x72\x65\x76" -+"\x65\x75\x68\x75\x6e\x67\x61\x72\x75\x6d\x6c\x61\x75\x74\x75\x6d\x61\x63\x72\x6f\x6e\x75\x6e\x64\x65\x72\x73\x63\x6f\x72\x65\x64" -+"\x62\x6c\x75\x6e\x69\x30\x30\x41\x30\x75\x6e\x69\x30\x30\x41\x44\x75\x6e\x69\x30\x32\x31\x41\x75\x6e\x69\x30\x32\x31\x42\x75\x6e" -+"\x69\x30\x32\x43\x39\x75\x6e\x69\x30\x33\x38\x37\x75\x6e\x69\x30\x33\x39\x34\x75\x6e\x69\x30\x33\x41\x39\x75\x6e\x69\x30\x33\x42" -+"\x43\x75\x6e\x69\x30\x33\x43\x32\x75\x6e\x69\x30\x34\x30\x30\x75\x6e\x69\x30\x34\x30\x44\x75\x6e\x69\x30\x34\x35\x30\x75\x6e\x69" -+"\x30\x34\x35\x44\x75\x6e\x69\x30\x34\x39\x32\x75\x6e\x69\x30\x34\x39\x33\x75\x6e\x69\x30\x34\x39\x36\x75\x6e\x69\x30\x34\x39\x37" -+"\x75\x6e\x69\x30\x34\x39\x38\x75\x6e\x69\x30\x34\x39\x39\x75\x6e\x69\x30\x34\x39\x41\x75\x6e\x69\x30\x34\x39\x42\x75\x6e\x69\x30" -+"\x34\x39\x43\x75\x6e\x69\x30\x34\x39\x44\x75\x6e\x69\x30\x34\x41\x30\x75\x6e\x69\x30\x34\x41\x31\x75\x6e\x69\x30\x34\x41\x32\x75" -+"\x6e\x69\x30\x34\x41\x33\x75\x6e\x69\x30\x34\x41\x41\x75\x6e\x69\x30\x34\x41\x42\x75\x6e\x69\x30\x34\x41\x45\x75\x6e\x69\x30\x34" -+"\x41\x46\x75\x6e\x69\x30\x34\x42\x30\x75\x6e\x69\x30\x34\x42\x31\x75\x6e\x69\x30\x34\x42\x32\x75\x6e\x69\x30\x34\x42\x33\x75\x6e" -+"\x69\x30\x34\x42\x36\x75\x6e\x69\x30\x34\x42\x37\x75\x6e\x69\x30\x34\x42\x38\x75\x6e\x69\x30\x34\x42\x39\x75\x6e\x69\x30\x34\x42" -+"\x41\x75\x6e\x69\x30\x34\x42\x42\x75\x6e\x69\x30\x34\x43\x30\x75\x6e\x69\x30\x34\x43\x42\x75\x6e\x69\x30\x34\x43\x43\x75\x6e\x69" -+"\x30\x34\x44\x38\x75\x6e\x69\x30\x34\x45\x32\x75\x6e\x69\x30\x34\x45\x33\x75\x6e\x69\x30\x34\x45\x38\x75\x6e\x69\x30\x34\x45\x39" -+"\x75\x6e\x69\x30\x34\x45\x45\x75\x6e\x69\x30\x34\x45\x46\x75\x6e\x69\x32\x30\x33\x45\x75\x6e\x69\x32\x30\x41\x46\x75\x6e\x69\x32" -+"\x31\x32\x36\x75\x6e\x69\x32\x32\x31\x35\x75\x6e\x69\x32\x32\x31\x39\x75\x6e\x69\x32\x32\x32\x37\x75\x6e\x69\x32\x32\x32\x38\x75" -+"\x6e\x69\x32\x32\x39\x35\x75\x6e\x69\x32\x35\x41\x31\x75\x6e\x69\x6f\x6e\x75\x6e\x69\x76\x65\x72\x73\x61\x6c\x75\x6f\x67\x6f\x6e" -+"\x65\x6b\x75\x70\x73\x69\x6c\x6f\x6e\x75\x70\x73\x69\x6c\x6f\x6e\x64\x69\x65\x72\x65\x73\x69\x73\x75\x70\x73\x69\x6c\x6f\x6e\x64" -+"\x69\x65\x72\x65\x73\x69\x73\x74\x6f\x6e\x6f\x73\x75\x70\x73\x69\x6c\x6f\x6e\x74\x6f\x6e\x6f\x73\x75\x72\x69\x6e\x67\x75\x74\x69" -+"\x6c\x64\x65\x77\x61\x63\x75\x74\x65\x77\x63\x69\x72\x63\x75\x6d\x66\x6c\x65\x78\x77\x64\x69\x65\x72\x65\x73\x69\x73\x77\x67\x72" -+"\x61\x76\x65\x78\x69\x79\x63\x69\x72\x63\x75\x6d\x66\x6c\x65\x78\x79\x67\x72\x61\x76\x65\x7a\x61\x63\x75\x74\x65\x7a\x64\x6f\x74" -+"\x61\x63\x63\x65\x6e\x74\x7a\x65\x74\x61\x31\x2e\x30\x30\x28\x55\x52\x57\x29\x2b\x2b\x2c\x43\x6f\x70\x79\x72\x69\x67\x68\x74\x20" -+"\x32\x30\x31\x34\x20\x62\x79\x20\x28\x55\x52\x57\x29\x2b\x2b\x20\x44\x65\x73\x69\x67\x6e\x20\x26\x20\x44\x65\x76\x65\x6c\x6f\x70" -+"\x6d\x65\x6e\x74\x43\x6f\x70\x79\x72\x69\x67\x68\x74\x20\x28\x55\x52\x57\x29\x2b\x2b\x2c\x43\x6f\x70\x79\x72\x69\x67\x68\x74\x20" -+"\x32\x30\x31\x34\x20\x62\x79\x20\x28\x55\x52\x57\x29\x2b\x2b\x20\x44\x65\x73\x69\x67\x6e\x20\x26\x20\x44\x65\x76\x65\x6c\x6f\x70" -+"\x6d\x65\x6e\x74\x4e\x69\x6d\x62\x75\x73\x20\x4d\x6f\x6e\x6f\x20\x50\x53\x20\x52\x65\x67\x75\x6c\x61\x72\x4e\x69\x6d\x62\x75\x73" -+"\x20\x4d\x6f\x6e\x6f\x20\x50\x53\x01\x21\x02\x00\x01\x00\x06\x00\x0c\x00\x14\x00\x18\x00\x23\x00\x27\x00\x32\x00\x3c\x00\x7d\x00" -+"\x88\x00\x90\x00\x9a\x00\xce\x00\xd5\x00\xe0\x00\xe4\x00\xea\x01\x31\x01\x40\x01\x4b\x01\x52\x01\x57\x01\x5d\x01\x63\x01\x69\x01" -+"\x70\x01\x75\x01\x7b\x01\x80\x01\x84\x01\x8f\x01\xa1\x01\xa9\x01\xb1\x01\xbf\x01\xc8\x01\xcc\x01\xd3\x01\xdc\x01\xe4\x02\x37\x02" -+"\x6a\x02\x90\x02\x9b\x02\xa6\x02\xb4\x02\xba\x02\xbf\x02\xc7\x02\xd3\x02\xdd\x02\xe2\x02\xeb\x02\xf1\x02\xf8\x03\x00\x03\x04\x03" -+"\x35\x03\x3b\x03\x44\x03\x52\x03\x5c\x03\x6b\x03\x76\x03\x7e\x03\x85\x03\x8a\x03\x95\x03\x9b\x03\xa5\x03\xaf\x03\xb6\x03\xbb\x04" -+"\x3d\x04\x87\x04\xdf\x04\xe7\x04\xf1\x05\x0d\x05\x1a\x05\x24\x05\x39\x05\x5c\x05\x68\x05\x72\x05\x80\x05\x8f\x05\x9a\x05\xa5\x05" -+"\xa9\x05\xb3\x05\xbd\x05\xc3\x05\xcc\x05\xd3\x06\x1a\x06\x3f\x06\x74\x06\xbb\x06\xf5\x07\x1e\x07\x27\x07\x3c\x07\x43\x07\x4a\x07" -+"\x77\x07\x92\x07\x9d\x07\xa6\x07\xb0\x07\xc3\x07\xd8\x07\xe8\x07\xf8\x07\xfe\x08\x0c\x08\x14\x08\x21\x08\x2c\x08\x36\x08\x44\x08" -+"\x50\x08\x5c\x08\x67\x08\x76\x08\x80\x08\x8a\x08\x98\x08\xa6\x08\xaf\x08\xb8\x08\xc5\x08\xcc\x08\xd3\x08\xdf\x08\xeb\x08\xf3\x08" -+"\xfb\x09\x03\x09\x0e\x09\x19\x09\x24\x09\x2f\x09\x3a\x09\xfa\x0a\x51\x0a\xbd\x0b\x11\x0b\x67\x0b\x9d\x0b\xe4\x0c\x40\x0c\x8d\x0c" -+"\xf9\x0d\x0a\x0d\x4d\x0d\x6d\x0d\x95\x0d\xd2\x0d\xf5\x0e\x0d\x0e\x50\x0e\x62\x0e\xa9\x0e\xe5\x0f\x03\x0f\x20\x0f\x4d\x0f\x7f\x0f" -+"\xa0\x0f\xcd\x0f\xeb\x0f\xf8\x10\x2e\x10\x51\x10\x7d\x10\x9c\x10\xc2\x10\xf5\x11\x27\x11\x58\x11\x68\x11\x83\x11\xa2\x11\xaf\x11" -+"\xb4\x11\xbe\x11\xeb\x12\x17\x12\x31\x12\x54\x12\x6f\x12\x92\x12\xb4\x12\xc8\x12\xde\x12\xed\x13\x02\x13\x10\x13\x24\x13\x31\x13" -+"\x44\x13\x54\x13\x72\x13\x95\x13\xa1\x13\xaf\x13\xc7\x13\xe6\x13\xf2\x14\x03\x14\x1a\x14\x30\x14\x4c\x14\x5f\x14\x75\x14\x8b\x14" -+"\x99\x14\xa3\x14\xb7\x14\xc7\x14\xce\x14\xdd\x14\xf7\x15\x10\x15\x19\x15\x32\x15\x41\x15\x4c\x15\x5c\x15\x74\x15\x7b\x15\x82\x15" -+"\x8b\x15\x9b\x15\xa8\x15\xbe\x15\xd4\x15\xea\x15\xfc\x16\x07\x16\x1b\x16\x27\x16\x2e\x16\x41\x16\x54\x16\x63\x16\x74\x16\x86\x16" -+"\x98\x16\xaa\x16\xbc\x16\xce\x16\xdf\x16\xef\x16\xff\x17\x0d\x17\x1c\x17\x2b\x17\x3a\x17\x49\x17\x4f\x17\x5d\x17\x67\x17\x73\x17" -+"\x80\x17\x8d\x17\x9a\x17\xa7\x17\xb4\x17\xc1\x17\xce\x17\xda\x17\xe6\x17\xf2\x17\xfe\x18\x0a\x18\x12\x18\x1a\x18\x22\x18\x2d\x18" -+"\x38\x18\x43\x18\x4e\x18\x59\x18\x64\x18\x6f\x18\x78\x18\x81\x76\x80\x50\x1d\x0b\x94\x9c\x9b\x80\x94\x0b\x06\x76\x80\x83\x7a\x30" -+"\x1d\x0b\x06\x61\x1d\x0b\x06\xa5\x99\x94\x9b\x9c\x7d\x94\x71\x1f\x0b\x06\x40\x1d\x0b\x06\x76\x80\x82\x7a\x7b\x96\x82\xa0\x1f\x0b" -+"\x76\x94\x80\x9c\x9c\x94\x96\xa0\x1e\x0b\xf8\x3d\xf7\x4c\x15\xbe\xfb\x19\x05\x47\x06\x20\x1d\xf7\x30\x06\xa0\x97\x21\x1d\x75\x1f" -+"\x6a\x06\xfb\x59\xf8\x94\x05\xfb\x63\x06\x75\x80\x83\x7a\x7a\x96\x1d\x6f\x06\x37\x1d\xf7\x2b\x06\xa0\x97\x21\x1d\x75\x1f\x44\x06" -+"\xbd\xf7\x19\x05\xf7\x83\xbe\xf7\x46\x1d\x0b\x06\xa0\x97\x94\x9c\x9b\x7f\x94\x76\x1f\x0b\x83\x7a\x7a\x96\x82\xa1\x1f\x0b\x75\x80" -+"\x82\x7b\x7a\x97\x82\xa0\x1f\x0b\xf7\x15\x1d\xfb\x18\xf7\x01\x25\xf7\x1f\xec\xf7\x0b\xbb\xb1\x99\x80\x96\x7d\x85\x87\x89\x85\x83" -+"\x1e\x6d\x63\x43\x75\x4f\x1b\x23\x3d\xcb\xeb\x7d\x1f\xbe\x04\xdd\x9c\xd3\xc1\xe7\x1b\xe6\xd4\x54\x3a\x9b\x1f\x0b\xf7\xc4\xf8\xd3" -+"\xc7\x1d\x0b\x06\x75\x80\x82\x7b\x7a\x96\x82\xa1\x1f\x0b\x06\x7b\x1d\x0b\x7a\x96\x82\xa0\x1f\x0b\xf8\x8d\xf8\x94\x15\xa8\x06\xa0" -+"\x96\x94\x9c\x9c\x81\x93\x75\x1f\xfb\x2a\x22\x1d\xd0\xfb\xd9\x06\x35\x48\x49\x35\x36\x48\xcd\xe1\x1e\xf7\xd9\xd0\x07\xa0\x96\x94" -+"\x9c\x9c\x80\x93\x76\x1f\xfb\x29\x06\x75\x80\x2a\x1d\xa7\xfb\xd9\x06\xfb\x07\xe3\x33\xf7\x08\xf7\x08\xe4\xe3\xf7\x07\x1e\x0b\xef" -+"\x1d\xf7\xfe\x06\xa0\x97\x21\x1d\x75\x1f\xfb\x2f\x06\x0b\x06\x71\x7d\x82\x7a\x7b\x99\x82\xa5\x1f\x0b\x07\x56\x1d\x80\x76\x1e\x0b" -+"\x72\x7d\xa8\x1d\x0b\x06\x76\x7f\x38\x1d\x0b\x76\x80\xf7\x3e\x1d\x0b\x82\x7a\x7b\x3a\x1d\x0b\x77\x94\x80\x9c\x9c\x94\x0b\x97\x82" -+"\xa0\x1f\x0b\x06\x71\x7e\xa8\x1d\x0b\x8d\x1d\x97\x80\x0b\x06\x62\x1d\x0b\x06\xa0\x96\x94\x9c\x9c\x80\x93\x76\x1f\x0b\x6c\x72\x73" -+"\x6c\x6d\xa4\x73\xaa\xa9\xa4\xa3\xaa\xa8\x72\xa4\x6d\x1f\x0b\x76\x7f\x82\x7b\x7a\x3a\x1d\x0b\x94\x9c\x9c\x80\x93\x75\x1f\x0b\x5d" -+"\x1d\xe1\x4d\x1d\x67\x86\x62\x72\x55\x1b\x56\x51\x1d\x15\x3f\x1d\xf7\x72\x16\x3f\x1d\x0e\x06\x4f\x1d\x0b\x15\xfb\x1b\xfb\x01\x05" -+"\x0b\x80\x7d\x80\x8e\x87\x97\x82\x1f\x0e\x1b\x7d\x80\x81\x7d\x7f\x90\x0b\xf8\x32\x16\xf0\x23\x1d\x5a\xf7\x94\x06\xd4\x44\xc0\x2b" -+"\x65\x4a\x7e\x78\x54\xa3\x1d\x8e\x8c\x8f\x98\x1e\x9d\xc4\xb5\x93\xab\x1b\xd1\xbb\x6d\x5e\x1f\x4d\x07\x9a\x4f\x72\x8e\x5e\x1b\xfb" -+"\x16\x34\x4f\x32\x3e\xcc\x56\xeb\xd0\xc2\xa1\xc0\xc9\x1f\xc6\x04\x4f\x4a\x57\x74\x46\x1b\x48\x61\xaa\xbb\xc5\xd1\xb3\xef\xb7\xbb" -+"\x86\x83\xac\x1f\x0b\xf8\x8f\x16\xf8\x94\xa8\x07\xa0\x96\x94\x9c\x9c\x80\x93\x76\x1f\xfb\x2a\x06\x75\x80\x83\x7a\x7a\x3a\x1d\xd0" -+"\xfc\x42\x06\xfb\xbc\xf8\x75\x05\xfb\x02\x22\x1d\xbc\x92\x1d\xf8\x42\x06\xf7\xbc\xfc\x75\x05\x0b\x15\x8c\x91\x8b\x8e\x8d\x1a\x9b" -+"\x82\x94\x7b\x7b\x82\x82\x78\x88\x1e\x74\xfb\x25\x05\x89\x83\x8b\x89\x89\x1a\x7c\x94\x82\x9b\x9b\x93\x94\x9e\x8f\x1e\x0b\x06\x71" -+"\x7d\x82\x7b\x7a\x99\x82\xa5\x1f\x0b\x06\x72\x7d\x82\x7b\x7a\x99\x82\xa4\x1f\x0b\xcc\xbb\xca\x9b\x80\x96\x7c\x7c\x83\x83\x79\x89" -+"\x1f\x0b\x06\x77\x7f\x50\x1d\x0b\xa1\x96\x41\x1d\x0b\x82\x7b\x7a\x96\x82\xa0\x1f\x0b\x62\xa5\xae\x86\x1f\x9d\x89\x83\x93\x7c\x1b" -+"\x0e\xa5\x99\x94\x9c\x9b\x7d\x94\x71\x1f\x0b\x21\x1d\x76\x1f\x0b\x15\x98\x96\x8d\x8e\x94\x1a\x9a\x0b\x15\x97\x96\x8d\x8e\x0b\xa0" -+"\x82\x96\x7a\x7a\x82\x0b\x94\x9b\x9c\x80\x94\x75\x1f\x0b\x7d\x96\x1f\x0e\xf7\x09\x16\xd4\x06\xf7\x02\xf8\x0e\xf7\x00\xfc\x0e\x05" -+"\xd4\x06\xc9\xf8\x94\x05\x95\xf7\x10\x1d\xe5\x06\x56\xfc\x46\x24\xf7\xfe\x05\x45\x06\x21\xfb\xff\x57\xf8\x47\x05\xe3\xf7\x10\x1d" -+"\x96\x06\x0b\x75\x1d\x7d\x7f\x46\x1d\x15\x3f\x1d\xf7\x71\x16\x3f\x1d\x0e\x1f\xfb\x80\x06\x76\x80\x82\x7b\x7b\x97\x82\x9f\x1f\x0e" -+"\x15\x7c\x80\x80\x7b\x4c\xcc\x5b\xe0\x0b\x28\x06\x74\x94\x7e\x9c\x9c\x94\x98\xa3\x1e\xf7\x02\x07\x0b\x07\x76\x80\x82\x7a\x7b\x96" -+"\x82\xa0\x1f\x0b\x15\xa1\x96\x21\x1d\x75\x1f\x0b\xa0\x96\x21\x1d\x76\x1f\x0b\xa0\x97\x41\x1d\x0b\x88\x91\x1b\x99\x97\x96\x99\x96" -+"\x89\x8e\x0b\x93\x1f\x85\x91\x05\x0e\x94\x1a\x9a\x80\x96\x7c\x84\x86\x89\x0b\x76\x80\x82\x7b\x7b\x96\x82\xa0\x1f\x0b\x73\x9f\x77" -+"\xa4\xa4\x9f\x0b\x8e\x93\x94\x1e\x0e\xf8\x4d\xf8\xa0\x15\xae\x63\x5d\x9b\x53\x1b\xfb\x00\x3a\x47\x32\x5f\x9f\x63\xad\x74\x1f\xaa" -+"\x75\xb0\x7f\xd1\x7f\xd2\x80\x9f\x85\xa3\x7c\x08\xa5\x7b\x9b\x6d\x6b\x1a\x46\x48\x58\x30\x33\x45\xba\xc9\x86\x1e\x9f\x8a\x83\x94" -+"\x7b\x1b\x7a\x82\x80\x76\x1f\xfb\x01\x07\x27\x1d\x99\x07\x63\xb4\xc4\x75\xcc\x1b\xf7\x10\xe3\xd2\xed\xbf\x73\xb7\x63\xa3\x1f\x6c" -+"\x9e\x6f\x93\x3d\x98\x4e\x95\x71\x93\x73\x9b\x08\x73\x9a\x7e\xa4\xa8\x1a\xca\xc5\xb8\xdb\xd6\xc5\x62\x53\x90\x1e\x77\x8c\x94\x82" -+"\x9a\x1b\x9c\x94\x96\xa0\x1f\xf0\xac\x1d\x0b\xf7\x41\xf8\x37\x15\x3a\x06\x75\x81\x83\x7a\x30\x1d\xa8\xfb\xd1\x63\x06\x2b\x1d\xf7" -+"\x18\x23\x1d\x63\xf7\x85\x06\xd6\xc8\xa4\x9a\xc8\x1b\xaf\x9e\x85\x79\xa1\x1f\xa3\x77\x97\x74\x70\x1a\xfb\x81\x6f\x07\x2b\x1d\xf7" -+"\x01\x06\x9f\x97\x53\x1d\x6e\xf7\x88\x06\xd9\x45\xc7\x2f\x4e\x67\x79\x53\x56\x1e\x0b\xf7\x93\xf8\x37\x15\xfb\x0d\x06\x76\x7f\x82" -+"\x7b\x7b\x97\x81\xa0\x1f\xd0\xfb\xd1\x30\x06\x76\x7f\x81\x7c\x7a\x3a\x1d\xf7\xd1\x06\x9f\x97\x94\x9c\x9a\x7f\x95\x77\x1f\xfb\x42" -+"\xf7\x64\x06\xec\xf7\x00\xac\xa1\xb6\x1b\x9f\x9d\x82\x73\xa3\x1f\x84\x93\x8e\x89\x94\x1b\x9a\x96\x96\x9b\x95\x85\x94\x78\x9a\x1f" -+"\xa2\x70\x75\x94\x6c\x1b\x57\x5c\x71\x3d\x33\x1f\x0b\xf7\x45\x1d\x7a\x82\xe1\x1d\x0b\x55\x1d\x70\x1d\x90\x8d\x94\x95\x1e\x0e\xf7" -+"\x05\x1d\xfb\x07\x29\xed\xf7\x08\x1f\xd0\x07\xf7\x06\xe2\xe7\xf7\x01\xe1\xd7\x5a\x51\x90\x1e\xf7\x0f\x1d\x0b\x15\x53\x5f\x61\x57" -+"\x57\xb7\x61\xc2\xf7\x1a\x1d\x0b\x98\x1d\x82\x1a\x7c\x96\x80\x9a\x92\x0b\x75\x1f\x53\x06\xf7\x8f\xf8\x87\x05\x95\x06\xa1\x96\x41" -+"\x1d\xfb\x02\x06\x76\x80\x0b\xf8\x6d\xf8\x97\x15\xb2\x5d\x51\xa0\x4b\x1b\x48\x4e\x71\x5b\x5d\x1f\x5f\x5d\x6e\x45\x4e\x1a\x3a\x07" -+"\xfb\x1c\xf7\x12\xfb\x0f\xf7\x1f\xcc\x0b\x1b\xbd\xad\xa7\xb4\xb1\x73\xa3\x62\x8e\x1f\x0e\x30\x1d\xf7\x7d\x06\xa1\x96\x94\x9c\x0b" -+"\x15\xf7\x1b\xf7\x01\x05\x99\x95\x8d\x8f\x95\x94\x1d\x0b\x06\x76\x80\x83\x7a\x30\x1d\xbc\xfc\x61\x5a\x06\x20\x1d\x0b\x81\x85\x87" -+"\x7f\x82\x1e\x37\xfb\x10\x05\x0b\x06\x9f\x82\x96\x7a\x7a\x82\x80\x77\x1e\x0b\x07\x7b\x1d\x0b\x62\x74\x78\x70\x66\x1a\x62\xa9\x73" -+"\x0b\xa4\x99\x94\x9b\x9c\x7d\x94\x72\x1f\x0b\x77\x7f\xf7\x3e\x1d\x0b\x94\x93\x98\x97\x82\x93\x7d\x1f\x0b\x1b\x73\x81\x95\xa3\x1f" -+"\x0b\xf8\xa2\xf7\x61\x15\x94\x06\xa0\x97\x21\x1d\x75\x1f\xfb\x56\x06\x75\x80\x2a\x1d\xf7\x19\xfb\x1e\x06\x72\x54\x6c\x84\x58\x1b" -+"\xfb\x22\x36\xda\xf7\x17\x1f\xd3\x07\xc2\xa6\xc8\xb6\xb3\x1e\xae\xb0\xb6\x9b\xc2\x1b\xe1\xd0\x66\x5b\x90\x1f\x77\x8c\x93\x82\x9b" -+"\x1b\x9c\x94\x96\x9f\xdb\x1d\x0b\xf8\x43\xf7\x9e\x15\xfb\x6b\x5b\x07\x2b\x1d\xf7\x20\x06\xa0\x97\x21\x1d\x75\x1f\x63\xf8\x61\x9f" -+"\x06\xa0\x96\x94\x9c\x9c\x80\x93\x76\x89\x1d\x06\x0e\xf7\xde\xf7\x3a\x15\xf7\x30\xf7\xed\x05\xfc\x60\x46\x07\x37\x1d\xf7\x2a\x23" -+"\x1d\x6e\xf8\x61\x9f\x3e\x1d\x23\x06\xfb\x2b\xfb\xe2\xfb\x2d\xf7\xe2\x05\x24\x06\x20\x1d\x9f\x92\x1d\xf8\x5f\x06\xf7\x32\xfb\xec" -+"\x05\x0e\xf7\x33\x16\xf7\xad\xf7\xe8\x05\xfb\xb5\x5b\x07\x76\x7f\x38\x1d\xf7\x29\x06\xa0\x96\x94\x9b\x9c\x80\x94\x76\x1f\x5a\xf7" -+"\xd1\xbc\x06\xa0\x96\x94\x9b\x9c\x80\x94\x76\x1f\x22\x06\xfb\xad\xfb\xe9\x05\xf7\xb6\xbb\x07\xa1\x96\x57\x1d\xfb\x23\x06\x75\x80" -+"\x38\x1d\xb6\xfb\xd1\x60\x25\x1d\x0b\xf7\x54\xf8\x37\x15\xf7\x04\x07\x8e\x1d\xfb\x96\x06\x3f\xca\x59\xed\xba\xc3\x96\x9d\xbb\x1e" -+"\xb0\x99\x9b\x98\x9a\x1a\x99\x80\x96\x7d\x86\x87\x8a\x85\x82\x1e\x75\x64\x46\x7b\x54\x1b\x49\x62\xa9\xba\x1f\xf7\x94\xf7\x6a\x07" -+"\x4f\x1d\x0b\xf7\x3f\xf7\x76\x15\xf7\x12\x06\xf7\x08\xe7\xd6\xea\xe9\x36\xd4\xfb\x01\x1f\xfb\x85\xe4\x1d\xf7\x76\x04\xf7\x7f\xf7" -+"\x23\x07\xd8\xc9\x57\x4b\x4a\x46\x55\x37\x1f\x0e\x8a\x1d\x95\x89\x8f\x7e\x96\x1f\x0e\x15\x7c\x80\x80\x7b\x4c\xcc\x5b\xe1\xe0\x4d" -+"\x1d\x67\x86\x62\x72\x55\x1b\x56\x51\x1d\x15\x91\x94\x8d\x90\xed\x1d\xf4\x1d\x99\x91\x92\x68\x1d\x1f\xfb\x0c\x06\x75\x80\x83\x7a" -+"\x7a\x3a\x1d\xbb\xfb\x57\xfb\x96\xf7\x57\xbb\x3d\x1d\xfb\x0c\x22\x1d\x9f\xfc\x61\x63\x06\x2b\x1d\xf7\x20\x06\xa0\x97\x21\x1d\x75" -+"\x1f\x5b\xf7\x6b\x0b\x8d\x1d\x96\x80\x99\x92\x91\x8d\x92\x93\x1e\xf3\xdf\xf4\x37\x05\x85\x93\x91\x88\x91\x1b\x99\x97\x96\x99\x0b" -+"\x05\xb6\x3d\x1d\xfb\x07\x22\x1d\x98\x06\x0b\x25\x1d\xb3\xfc\x61\x63\x25\x1d\x0b\x45\x1d\x7f\x82\x88\x87\x80\x1a\x7d\x0b\xa0\x82" -+"\x95\x7a\x7a\x82\x80\x77\x1e\xfb\x04\x46\x07\x75\x80\x2a\x1d\xd0\x0b\xf7\x47\x1d\xc5\x24\x1d\x53\x06\x45\xf7\x1b\x69\xcb\x66\xb6" -+"\x6a\x99\x19\xa8\xaa\x0b\x15\x84\x85\x88\x85\x85\x1f\x6e\x6e\x82\x85\x7c\x1b\x7f\x82\x0b\x95\x86\x8c\x75\x98\x08\x79\x96\x80\x9a" -+"\x99\x1a\xb2\xc0\xa8\x0b\xfc\x61\xf7\x0c\x1d\x0b\x83\xa1\x1b\xbd\xad\xa7\xb4\xb1\x73\xa3\x62\x8e\x1f\x0b\xf7\x1f\x1d\x85\x8e\x85" -+"\x1b\x0b\x16\x72\x77\x78\x72\x72\x9f\x78\xa4\xa4\x9f\x9e\x0b\x3a\x1d\xf7\x03\x06\xfb\x42\xfc\x61\x05\x0b\x26\x07\x75\x81\x83\x7a" -+"\x30\x1d\xbc\x0b\x65\x1d\x82\x81\x1e\xfb\x06\x2a\x05\x80\x81\x88\x87\x0b\xbd\xbe\xc9\xc9\x59\xbe\x4e\x1f\x89\x64\x15\x0b\xa9\x79" -+"\x1f\xa8\x79\xa8\x84\xd5\x84\xc2\x85\x0b\x07\x76\x94\x7f\x9c\x9c\x94\x97\xa0\x1e\x0b\x8a\x89\x85\x1a\x7d\x97\x7f\x99\x96\x90\x8e" -+"\x99\x94\x1e\x0e\x89\x82\x81\x1e\xfb\x06\x2a\x05\x80\x0b\xa0\x96\x94\x9b\x9b\x80\x94\x76\x1f\x0b\x06\xa1\x96\x94\x9c\x9c\x81\x93" -+"\x74\x1f\xfb\x02\x06\x0b\x9b\x83\x1f\x81\xa0\xa9\x83\xa1\x1b\xbd\xad\xa7\xb4\x0b\x87\x8a\x79\x1b\x70\x7f\x94\x9e\x0b\x73\xa2\xa7" -+"\xa7\xa3\xa2\xa9\x1f\x0b\x1e\x7d\x86\x84\x83\x7f\x1a\x7d\x96\x80\x98\x90\x0b\x1a\x99\x7f\x96\x7d\x1e\x0e\x7a\x7b\x96\x82\xa0\x1f" -+"\x0b\x2b\x05\x81\x83\x87\x84\x83\x1a\x7d\x97\x7f\x0b\xb3\x9f\xa0\x96\x82\x94\x81\x88\x87\x8a\x88\x0b\x82\x7a\x7b\x99\x82\xa4\x1f" -+"\x0b\x96\x7a\x7a\x83\x80\x76\x1e\x0b\x96\x87\x80\x9e\x1f\x73\xb4\x0b\x06\xa4\x99\x94\x9b\x9c\x7e\x94\x71\x1f\x0b\x07\x9f\x82\x96" -+"\x7a\x7a\x83\x80\x77\x1e\x0b\x86\x8d\x84\x1b\x7c\x80\x80\x7d\x82\x8e\x0b\x91\x8e\x91\x93\x1e\xf3\xdf\xf3\x37\x05\x0b\xa4\xa4\x9f" -+"\x9f\xa3\xa3\x77\x9f\x72\x1f\x0b\xf7\xda\xbc\x15\x61\xac\xb5\x74\xb6\x1b\xad\xaa\x98\xac\xb5\x1f\xa4\x9e\x93\x95\x97\x1a\x98\x7f" -+"\x97\x7e\x85\x85\x89\x87\x86\x1e\x60\x5c\x77\x7f\x6e\x1b\x4d\x59\xce\xe8\x82\x1f\xf7\x96\x06\x8a\xba\x89\x9e\x84\xad\x08\xe3\x78" -+"\x57\xbd\x44\x1b\x5b\x62\x71\x5b\x6e\x1f\xb9\x74\x60\xa7\x5c\x1b\x6c\x6b\x83\x7a\x64\x1f\x74\x81\x82\x82\x7e\x1a\x7f\x97\x7e\x96" -+"\x91\x92\x8e\x90\x94\x1e\x9a\xa7\xa6\x93\xa5\x1b\xb9\xb0\x69\x5f\x1f\x57\x07\x92\x73\x6d\x8f\x71\x1b\x20\x3a\x54\x42\x34\xcc\x4b" -+"\xe3\xb5\xb0\x9e\xb2\xaf\x1f\x81\x07\x76\x94\x80\x9b\x9c\x94\x96\xa0\x1e\x58\xde\x15\x52\x5e\x6b\x74\x67\x1b\x51\x62\xb0\xbf\xa1" -+"\x91\x9a\x98\x98\x1f\x9f\xa2\xc2\x9d\xb5\x1b\x9f\xa9\x86\x84\xa2\x1f\xbe\xb9\x15\xe4\x97\xaf\xba\xc2\x1b\xad\xa7\x79\x6a\x9c\x1f" -+"\x95\x77\x92\x73\x90\x62\x08\x0b\xf8\x87\xf8\x6a\x15\x74\x94\x7e\x9c\x9c\x94\x98\xa4\x1e\xbf\x07\xaa\x83\x93\x6b\x3d\x78\x7c\x22" -+"\x4b\x1e\x4c\x22\x80\x82\x51\x89\x08\x72\xf7\x4d\xba\x2f\x1d\xfb\x25\x4c\x1d\xb9\xfc\x61\x5d\x06\x35\x1d\xf7\x25\x06\xa4\x99\x94" -+"\x9c\x9b\x7d\x94\x72\x1f\x5c\xf7\x75\xa4\x06\xdc\x89\xa6\x77\xbc\x31\x8f\x1d\x92\x96\xb5\xd0\xbe\xe0\x94\x93\xb6\x8d\x08\x0b\xf7" -+"\xb8\xf7\x4d\x15\xfb\x1a\x5c\x07\x37\x1d\xf7\xf3\xf7\x1c\x06\x9e\x81\x98\x7b\x79\x83\x82\x74\x1e\x36\xfb\x5c\xf7\x6c\xce\x76\x07" -+"\x77\x94\x7f\x9b\x9b\x94\x96\xa0\x1e\xe9\x07\xa0\x83\xa9\x1d\x75\x48\xf7\x56\xf7\x48\x23\x07\x27\x1d\xf7\x2f\xfc\x44\x07\x76\x80" -+"\x83\x7a\x30\x1d\xc3\x06\xfb\x16\xfc\x61\x05\x6b\x06\x2b\x1d\xf2\x06\xa0\x97\x21\x1d\x75\x1f\x78\x06\xb1\xf7\x1a\x05\xf7\x18\xbe" -+"\x15\xfb\x09\x06\xd7\xf7\xa8\x05\xb4\x06\x0b\xf7\xe5\xf7\x6f\x15\xf7\x32\xf7\x29\x05\x8f\x9f\x1d\x75\x81\x83\x7a\x30\x1d\xae\x06" -+"\xfb\x10\xfb\x06\xfb\x0c\xf7\x06\x05\xab\x9f\x1d\x74\x81\x83\x7a\x7a\x96\x82\xa1\xf7\x35\x1d\x83\x06\x37\x1d\xf7\x19\x06\xa0\x97" -+"\x21\x1d\x75\x1f\x55\x06\xf7\x23\xf7\x19\xf7\x22\xfb\x19\x05\x57\x06\x37\x1d\xf7\x18\x06\xa0\x97\x21\x1d\x75\x1f\x84\x06\x0e\x41" -+"\x1d\xfb\x03\x22\x1d\xae\x06\xfb\x23\xfb\x4b\xfb\x24\xf7\x4b\x05\xab\x3e\x1d\xfb\x02\x06\x37\x1d\x97\x06\xf7\x44\xfb\x74\xfb\x4c" -+"\xfb\x81\x05\x7c\x06\x37\x1d\xf7\x17\x06\xa0\x97\x21\x1d\x75\x1f\x56\x06\xf7\x2d\xf7\x58\xf7\x2e\xfb\x58\x05\x59\x06\x75\x80\x82" -+"\x7b\x7a\x97\x82\xa0\x1f\xf7\x17\x06\xa0\x97\x94\x9c\x9b\x80\x94\x75\x1f\x7d\x06\x0e\xf7\x3f\xf7\x70\x15\xd8\xce\xe7\x6d\xb5\x51" -+"\xd4\xfb\x5b\x19\xe5\x06\xa1\x96\x21\x1d\x75\x1f\x57\x06\x43\xf7\x4b\x65\xbe\x2f\xb3\xf7\x6a\xf7\x4f\x18\x99\x44\x1d\xfb\x0b\x06" -+"\x75\x80\x83\x7a\x7a\x96\x82\xa1\xcb\x1d\x0b\xf8\xa2\xf7\x61\x15\x94\x06\xa0\x97\x21\x1d\x75\x1f\xfb\x56\x06\x75\x80\x2a\x1d\xf7" -+"\x19\xfb\x1e\x06\x72\x54\x6c\x84\x58\x1b\xfb\x22\x36\xda\xf7\x17\x1f\xd3\x07\xc2\xa6\xc8\xb6\xb3\x1e\xae\xb0\xb6\x9b\xc2\x1b\xe1" -+"\xd0\x66\x5b\x90\x1f\x77\x8c\x93\x82\x9b\x1b\x9c\x94\x95\xa0\xdb\x1d\x0b\xf7\x25\xf8\x94\x15\xa6\xab\x1d\xfb\x04\x4b\x1d\xa1\x06" -+"\xf7\x58\xfb\xf4\x6d\x55\x05\x53\x6c\x7a\x7c\x6a\x1b\x80\x85\x8c\x90\x79\x1f\xbf\x07\xa2\x82\x98\x7a\x7a\x82\x7e\x72\x1e\x52\x07" -+"\x78\x8e\x80\x93\x87\x1e\x81\x99\xa9\x85\xa6\x1b\xc3\xaf\xa6\xd2\xb3\x1f\xf7\x83\xf8\x42\x05\xa0\x06\xa4\x99\x94\x9c\x9b\x7d\x94" -+"\x72\x1f\xfb\x00\x4b\x1d\xa6\x06\xfb\x38\xfb\xbd\x05\x0b\xf7\x3f\xf8\xef\x15\x26\x06\x20\x1d\xbc\xfc\x89\x63\x06\x2b\x1d\xf7\x18" -+"\x06\xa0\x97\x21\x1d\x75\x1f\x63\xf7\x87\x06\xa6\xa9\x9c\x9e\x91\x90\x08\xa3\xa8\xa6\x95\xb1\x1b\xb2\x9f\x85\x79\xa1\x1f\xa3\x78" -+"\x97\x74\x6f\x1a\xfb\x81\x63\x07\x76\x80\x82\x7b\x7a\x96\x82\xa0\xf7\x18\x1d\x2c\x4f\x62\x77\x56\x5b\x1e\x0b\xf8\xb1\xf7\x6c\x15" -+"\xd5\xf7\x3a\x05\x8f\x92\x8c\x91\x91\x1a\x98\x81\x95\x7e\x7e\x83\x84\x79\x83\x1e\x59\xfb\x06\x05\xec\x60\x3f\xbe\x28\x1b\xfb\x16" -+"\x24\x27\xfb\x10\xfb\x11\xf3\x27\xf7\x14\xc9\xc7\xa4\xb5\xb0\x1f\xa0\xa4\x99\xa1\xa0\xb8\xbe\xfb\x12\x18\x73\x94\x92\x84\x9a\x1b" -+"\x99\x95\x95\x98\x92\x89\x92\x87\x96\x1f\xfb\x0f\xf7\x4a\x15\x78\x5f\x05\x2b\x62\x56\x62\x3b\x1b\x29\x3a\xd9\xeb\xeb\xdb\xd8\xf0" -+"\xd7\xc6\x64\x45\xaa\x1f\x0b\x72\x1d\xca\xa4\xb9\xbc\x1e\xa7\xa5\x97\x9b\x97\x1a\x99\x6e\x1d\x0b\x39\x1d\x97\xa1\x1e\xc1\x07\xab" -+"\x83\x92\x65\x47\x7a\x80\x2b\x3a\x1e\x5e\x55\x7e\x84\x57\x8a\x08\x73\xf7\x0a\xb6\xab\x1d\xfb\x1e\x33\x1d\xb6\xfb\xd1\x60\x33\x1d" -+"\xf7\x1e\x06\x7b\x1d\x60\xf7\x28\xa3\x06\xda\x8a\xa8\x7c\xb6\x4d\xcf\x28\x18\x95\x7a\x92\x87\xa4\x8a\x08\x0b\xf7\xda\x16\xf7\x53" -+"\x06\xa0\x97\x94\x9b\x9c\x7f\x94\x76\x1f\x63\xc6\x1d\xf7\x53\x28\x06\x74\x94\x7e\x9c\x9c\x94\x98\xa3\x1e\x0e\xf8\x47\xf7\xf1\x15" -+"\xc5\x5f\x57\xa5\x46\x1b\xfb\x09\x2c\x2c\xfb\x08\xfb\x09\xea\x2c\xf7\x09\xcf\xc0\xa6\xc3\xb7\x1f\xfb\x01\x07\x8f\x50\x50\x52\x4d" -+"\xcc\x1d\x0b\xf7\x3b\xf8\x04\x15\xcd\x44\x1d\x49\xc0\x06\xb9\xa6\xad\xae\x99\x9d\x88\x84\xa3\x1e\x87\x96\x8c\xf7\x2b\x1d\x76\x67" -+"\x92\x76\x1b\x4d\x59\x50\x43\x1f\x56\x43\x07\x20\x1d\xd3\xfb\xd1\x3d\x06\x20\x1d\xf7\x58\x06\xa0\x97\x21\x1d\x75\x1f\x49\x06\x0b" -+"\x15\x7c\x82\x83\x7e\x7f\x93\x83\x9b\x1f\xbe\x89\xb1\x6d\x65\x1a\x66\x65\x6c\x5f\x6c\x75\xf7\x22\x1d\xbf\xcf\xc3\xbc\xc7\xae\x79" -+"\xdc\x1d\x0e\x52\x1d\xfb\x11\x06\x71\x7d\x82\x7b\x7a\x99\x82\xa5\xd1\x1d\xb4\x1b\xc6\xc5\x9c\xac\xbe\x1f\x0b\x15\x95\x93\x8f\x93" -+"\x94\x1a\x99\x81\x95\x7d\x83\x85\x88\x83\x81\x1e\xfb\x05\x2b\x05\x80\x83\x87\x84\x81\x1a\x7d\x95\x81\x9a\x93\x92\x8e\x93\x94\x1e" -+"\xfb\x06\xd8\x15\x72\x77\x78\x72\x72\x9f\x78\xaf\x1d\xf7\x97\x16\x71\x77\x78\x72\x67\x1d\x9f\xa3\xa3\x77\x9f\x73\x1f\x0e\xce\x1d" -+"\xf8\x5c\xf7\x36\x06\x56\x1d\x80\x76\x1e\xfb\x03\xfb\xc3\x07\x0b\x15\xfb\x3e\xfb\x1b\xfb\x17\xfb\x3a\xfb\x36\xf7\x1b\xfb\x19\xf7" -+"\x3b\xf7\x3a\xf7\x1b\xf7\x19\xf7\x37\xf7\x36\xfb\x1b\xf7\x1a\xfb\x37\x1f\x85\x58\x15\xf7\x21\xf7\x03\xfb\x00\xfb\x1d\xfb\x1b\xfb" -+"\x04\xfb\x02\xfb\x1d\xfb\x1e\xfb\x04\xf7\x02\xf7\x1b\xf7\x1a\xf7\x04\xf7\x03\xf7\x1b\x1f\x0e\xb0\xbc\x1a\xdf\x3f\xcb\x27\x1e\xfb" -+"\x97\x22\x1d\xbc\x06\xbf\xfb\x57\x15\xf7\x57\xf7\x33\x07\xd0\xc1\x61\x55\x51\x51\x62\x39\x1f\xfb\x22\xfb\x9e\x15\xf7\x6b\xf7\x24" -+"\x07\xc7\xab\x85\x79\xaa\x1f\xaf\x76\xa0\x6b\x69\x1a\x51\x56\x5d\x47\x1e\x0e\x06\x75\x80\x38\x1d\xa4\xfb\x0f\xfb\x8e\xf7\x0f\xea" -+"\x1d\xf7\x18\x06\xa0\x97\x94\x9b\x9c\x7f\x94\x76\x1f\x63\xf7\x23\x0b\xf7\xd1\xa5\x06\x9f\x97\x94\x9b\x9c\x80\x94\x76\x1f\x24\x06" -+"\x75\x80\x38\x1d\xa4\xfb\xd1\xfb\x8e\xf7\xd1\xea\x1d\x0b\x15\xfb\x26\xfb\x04\xfb\x15\xfb\x3b\xf7\x07\x1d\x85\x58\x15\xf7\x06\xe6" -+"\xfb\x00\xfb\x1d\xfb\x1a\x30\xfb\x02\xfb\x04\xfb\x03\x30\xf7\x02\xf7\x1b\xf7\x19\xe6\xf7\x03\xf7\x01\x1f\x0b\xf7\x7d\xf8\x94\x15" -+"\xf7\x9a\xfb\x2c\x06\x39\x1d\x96\x9f\x1e\xf7\x5f\xfc\x5d\x5f\x1d\xe6\xfc\x61\x30\x06\x76\x80\x82\x7a\x7a\x96\x83\xa0\x1f\xf7\x7e" -+"\x06\xa0\x96\x93\x9c\x9c\x80\x94\x76\x1f\x30\x06\x0e\xf7\x08\x1d\xb1\xa7\xf7\x3d\x1d\xa8\xa6\xae\x1f\xfb\x2f\x04\xb4\xaa\x70\x68" -+"\x67\x6c\x6f\x63\x63\x6c\xa7\xaf\xae\xaa\xa6\xb2\x1f\x0b\xf8\x30\xf8\x04\x15\xfc\x1a\x07\x4a\x8a\x5e\x5f\x4c\x1b\xfb\x14\x06\x75" -+"\x80\x2a\x1d\xf7\x15\x06\xe6\x89\xd2\xd2\x89\xe6\x08\xf8\x4d\xfb\xb3\x07\x74\x81\x2a\x1d\xf7\x87\xf7\x49\x1d\x1f\xab\x06\xfb\x99" -+"\xfb\x78\x05\xf7\x78\xd0\x07\x62\x1d\xfb\x3e\x76\x1d\xf7\x3e\x06\xa0\x97\x21\x1d\x75\x1f\x46\x06\x0b\x8c\x08\xfb\x08\x06\x76\x80" -+"\x83\x7a\x7a\xd2\x1d\x0b\x15\x36\x71\x70\x83\x84\x88\x08\x83\x87\x86\x85\x82\x1a\x81\x94\x81\x96\x8e\x8e\x8b\x8c\x8e\x1e\xc9\x9f" -+"\x05\xfb\x97\x07\x8c\x75\x73\x8b\x7d\x1b\x76\x80\x84\x7c\x7f\x95\x83\x98\x1f\xf7\x47\x06\x98\x7d\x1d\x47\x06\x0b\x1e\xf7\x15\x34" -+"\x1d\x64\xfb\x1a\xf7\x57\xf7\xae\x30\x07\x27\x1d\xf7\x22\xfc\x47\x07\x76\x80\x83\x7a\x30\x1d\xbc\xfc\x61\x5a\x06\x20\x1d\x0b\x06" -+"\x6a\x8a\x87\x88\x88\x6a\x83\xfb\x05\x18\x8a\x7e\x8b\x8b\x8a\x1a\x7a\x95\x81\x9a\x9c\x94\x97\xa4\x8c\x1e\x93\xf2\x05\xf7\x13\xfc" -+"\x61\x5d\x06\x35\x1d\xf7\x1f\x2f\x1d\x62\x0b\x15\xf7\x1a\x3d\x1d\xfb\xd4\x22\x1d\xf7\x1a\xfc\x61\xfb\x1a\x06\x20\x1d\xf7\xd4\x06" -+"\xa0\x97\x21\x1d\x75\x1f\xfb\x1a\x06\x0b\x1f\xb0\xfb\x12\x06\x60\x46\x59\x7b\x4f\x1b\x50\x74\xa1\xc5\x1f\xf4\xb9\x79\x1d\xfb\x19" -+"\x33\x1d\xae\x22\x06\x55\x99\x69\xa8\x79\x1e\x7b\xa4\xaf\x83\x0b\x96\x82\xa0\x1f\xf7\x07\x06\xe1\x86\xe2\xdd\x88\xde\x08\xf8\x1a" -+"\xbc\x07\xa0\x96\x94\x9c\x9c\x81\x93\x75\x1f\x26\x06\xfb\x38\x66\x15\xe8\xd2\x45\x30\x32\x44\x44\x30\x30\x43\xd2\xe5\xe3\xd3\xd3" -+"\xe4\x1f\x0b\xf7\x66\x15\xfb\x67\xf7\x59\x05\x93\x82\x83\x8f\x83\x1b\x7d\x80\x80\x7d\x82\x8c\x89\x96\x7f\x1f\xf7\x1f\xfb\x35\xfb" -+"\x1f\xfb\x36\x05\x80\x7f\x8a\x89\x82\x1a\x7d\x96\x80\x99\x94\x92\x8e\x94\x94\x1e\x0b\x15\x84\x86\x89\x84\x84\x1f\x6d\x6e\x82\x85" -+"\x7c\x1b\x7f\x82\x8f\x9e\x68\x1f\x9d\x6b\x7d\x90\x76\x1b\x70\x75\x80\x70\x6e\x1f\x7c\x7e\x85\x81\x81\x1a\x7f\x96\x80\x99\x93\x93" -+"\x8e\x91\x90\x1e\xa8\x0b\xec\x1d\x8d\x94\x1a\x99\x80\x96\x7d\x83\x83\x88\x82\x82\x1e\x0b\xf7\xda\xf8\x05\x15\xf7\x0f\x06\xa1\x96" -+"\x57\x1d\xfb\x0f\xf7\x2b\x78\x1d\xfb\x2b\xfb\x0f\x5f\x1d\xf7\x0f\x0b\x1b\x4b\x73\xab\xe1\x1f\xf7\x31\xbc\x79\x1d\xfb\x1f\x06\x35" -+"\x1d\xb1\xfb\x35\x06\x47\x99\x60\xa8\x74\x1e\x77\xa4\xb0\x80\x0b\x75\x1d\x7d\x7f\x80\x7d\x80\x8e\x87\x98\x82\x1f\x0e\x3c\x1d\x98" -+"\xf5\x1d\x45\x1d\x7f\xf3\x1d\x95\x89\x8f\x58\x1d\x1f\xe5\x07\xa0\x83\x95\x79\x7a\x82\x81\x76\x1e\x88\x07\xaa\x5f\x55\x9b\x4c\x1b" -+"\xfb\x23\xfb\x04\xfb\x05\xfb\x25\x1f\x43\x07\xfb\x32\xf7\x01\x24\xf7\x3a\xcd\xc9\x9c\xaf\xcc\x1e\x0b\xa8\x65\xa3\x1f\xa9\x9f\x99" -+"\xa2\xa9\x1a\xc0\x5d\xb3\x4f\x5a\x52\x6c\x70\x81\x94\x82\x96\x93\x8e\x8d\x94\x93\x1e\x9b\x9a\xa2\x94\xa8\x1b\xb0\xa7\x75\x6d\x6e" -+"\x71\x76\x67\x1f\x0b\x9a\x7d\x9f\xf7\x3c\x1d\xd9\x16\x44\xfb\x74\x05\x89\x86\x8b\x88\x87\x1a\x7a\x9b\x7d\x9e\xf7\x3c\x1d\x0e\x80" -+"\x96\x7c\x84\x84\x88\x84\x83\x1e\x2a\x2f\x05\x7f\x7f\x89\x88\x83\xf7\x3a\x1d\xf7\x83\xe7\x15\x98\x97\x8c\x8d\x94\x1a\x99\x80\x96" -+"\x7c\x0b\xf7\x21\x1d\xf7\x06\x2a\x05\x83\x94\x91\x88\x92\x1b\x9a\x96\x96\x9a\x93\x8b\x8c\x82\x93\x1f\x86\x91\x05\x0e\x78\x96\x7d" -+"\x9b\x9c\x93\x95\xa2\x1e\xf7\x09\xfc\x67\xfb\x09\x07\x75\x94\x80\x9c\x9c\x94\x96\xa1\x1e\xcd\xf7\x30\xfc\x61\x28\x07\x2b\x1d\x0b" -+"\x80\x76\x1e\xfb\x19\xfb\xc1\x07\xf7\xda\xf8\x54\x05\xcb\xfb\xfc\xfb\x36\x07\x27\x1d\xf7\x03\xf7\x93\x07\xfb\xd9\xfc\x53\x05\x4a" -+"\x07\x0b\x3c\x1d\x98\x92\x91\x8d\x92\x93\x1e\xf3\xdf\xf4\x37\x05\x85\x93\x91\x63\x1d\x0b\x15\x72\x77\x78\x72\xf7\x19\x1d\x72\x9f" -+"\x78\xa4\xa4\x9f\x9e\xa4\xa3\x77\x9f\x72\x1f\x0e\x76\x1d\xf7\x7e\x06\xa0\x97\x21\x1d\x75\x1f\xfb\x19\x06\x0b\x15\x91\x94\x8d\x90" -+"\x91\x1a\x99\x7f\x96\x7d\x77\x1d\x85\x83\x89\x86\x85\xf7\x31\x1d\xf7\x06\x1d\x99\x97\x96\x99\x94\x8b\x8b\x7c\x9a\x1f\x0e\x15\x97" -+"\x95\x8d\x8f\x98\x1d\x81\x1a\x7d\x96\x80\x9a\x92\x90\x8d\x94\x95\x1e\x0e\x7d\x94\x71\x1f\xfb\x18\x4c\x1d\xb5\xfb\x56\x06\x0b\x63" -+"\x07\xf7\x13\x1d\xf7\xd1\xa5\x06\x9f\x97\x94\x9b\x9c\x80\x94\x76\x1f\x0b\xa4\x06\xa0\x97\x57\x1d\x24\x26\x1d\xa5\xfb\xd1\x63\x25" -+"\x1d\x0b\x77\x83\x75\x72\x1f\x87\x93\x87\x8e\x82\x8f\x08\x93\x76\x67\x92\x77\x1b\x4d\x59\x50\x43\x1f\x56\x43\x07\x20\x1d\xd3\x0b" -+"\x15\xf7\x68\xfb\x59\x05\x82\x95\x92\x87\x93\x1b\x99\x96\x96\x99\x94\x8a\x8d\x80\x97\x1f\xfb\x20\xf7\x36\xf7\x20\xf7\x35\x05\x96" -+"\x97\x8c\x0b\x90\x1a\x9a\x80\x96\x7c\x77\x1d\x83\x80\x9c\x1d\x1f\x90\x81\x89\x8c\x85\x47\x1d\x84\x9b\x84\x1f\x81\x0b\xf7\xda\xf8" -+"\x37\x15\xfb\x39\x06\x75\x81\x83\x7a\x30\x1d\xf7\x05\xfb\xd1\xfb\x2f\x06\x20\x1d\x0b\xf7\x5f\xf7\x2d\x15\x44\xfb\x8d\x05\x8a\x87" -+"\x8a\x87\x87\x1a\x78\x9a\x7c\x9f\x9a\x93\x91\xa0\x97\x1e\xf7\x29\xf7\xa0\x05\x0e\xf7\x0f\x1d\x7b\x07\xb2\x5d\x50\xa0\x4c\x1b\x0b" -+"\x7f\x96\x7d\xf7\x43\x1d\x81\x82\x88\x85\x83\x1a\x7c\x96\xf7\x48\x1d\x82\x88\x87\x80\x1a\x7d\x96\x80\x9a\x91\xae\x1d\x85\x94\x91" -+"\x88\x91\x1b\x99\x97\x96\x99\x0b\x15\x96\x94\x8e\x90\x94\x1a\x99\x7f\x97\x7d\x84\x84\x88\x83\x82\x1e\xfb\x05\xa6\x1d\x0b\x92\x91" -+"\x8d\x92\x93\x1e\xf3\xdf\xf4\x37\x05\x85\x93\x91\x88\x91\x1b\x99\x97\x96\x99\x95\x89\x8f\x7e\x96\x1f\x0e\x05\xa7\x06\x62\x1d\xfb" -+"\x03\x06\x76\x80\x83\x7a\x30\x1d\xa0\x06\xf7\x45\x0b\x15\x94\x94\x8f\x91\x93\x1a\x9a\x80\x96\x7d\x83\x87\x9d\x1d\x81\x88\x87\x81" -+"\x1a\x7d\x0b\xf7\x0b\xbe\x15\x5a\x06\x20\x1d\xf7\xc7\x06\xe9\xd7\xd1\xe1\xcb\x62\xbc\x3d\xa8\x1f\x0b\x81\x85\x87\x7f\x82\x1e\x37" -+"\xfb\x0f\x05\x83\x7f\x9c\x1d\x77\x1d\x86\x84\x88\x84\x86\xf7\x31\x1d\xf7\x43\x1d\x82\x82\x87\x85\x83\x1a\x7c\x96\x80\x99\x93\x8f" -+"\x8d\x94\x95\x1e\x0e\x81\x95\x7c\x82\x86\x88\x83\x83\x1e\x4d\x55\x5b\x72\x47\x1b\x0b\x15\x94\x82\xf7\x0a\x1d\x0b\xfb\x39\xf7\x05" -+"\xfb\x16\xf7\x21\xf7\x23\xf7\x2d\x1d\x1f\x0b\x1e\x6b\x75\x7c\x70\x69\x1a\x51\xbd\x5c\xc9\xc9\xbd\xba\xc5\xad\x7c\xa6\x6b\xa1\x1e" -+"\x49\xf7\x1a\x15\x0b\xf9\x66\x15\x94\x82\x86\x8d\x84\x1b\x7c\x80\x80\x7d\x82\x8f\x85\x95\x82\x1f\xf7\x06\x2a\x05\x83\x0b\xf7\x1b" -+"\x1d\x94\x91\x88\x92\x1b\x0b\x94\x97\xa3\x1e\xc1\x07\xaa\x84\x93\x6e\x4b\x7a\x7b\x21\x59\x1e\x5b\x26\x83\x7f\x70\x8a\x08\x86\x0b" -+"\x6e\x06\x37\x1d\xf7\x2a\x06\xa0\x97\x21\x1d\x75\x1f\x46\x0b\x20\x1d\xbc\xfc\x89\x5a\x06\x20\x1d\xf0\x0b\xa0\x97\x94\x9b\x9c\x7f" -+"\x94\x76\x1f\x63\xf8\x61\xb3\x29\x1d\x0b\x78\x8d\x93\x82\x9b\x1b\x9c\x94\x96\xa0\x1f\xf7\x02\x07\xa0\x82\x95\x7a\x7a\x82\x80\x77" -+"\x1e\x0b\x06\xa0\x97\xf7\x1c\x1d\x0b\x15\x94\x81\xf7\x1b\x1d\x0b\x75\x80\x82\x7a\x7b\xf7\x23\x1d\x0b\x40\x1d\xf7\x18\x06\xa0\x97" -+"\x94\x9b\x9c\x7f\x94\x76\x1f\x63\x0b\x6c\x72\x73\x6d\x6d\xa4\x73\xa9\xaa\xa3\xa3\xa9\x0b\xf8\xa2\xf7\x57\x15\x93\x07\x92\x07\xf7" -+"\x14\x27\xea\xfb\x1a\xfb\x18\x25\x2d\xfb\x0d\x0b\xf7\xc4\xf8\x45\x15\xfb\x1a\x24\x29\xfb\x13\xfb\x10\xf3\x27\xf7\x16\xf7\x16\xf2" -+"\xee\x0b\x77\x7f\x82\x7a\x7b\x97\x82\x9f\x1f\xf7\x7e\x06\x9f\x97\x94\x9b\x9c\x80\x94\x76\x1f\x0b\x1f\xf7\x18\x06\xa0\x97\x21\x1d" -+"\x75\x1f\x63\xf7\x84\x06\xdd\x46\xc7\x0b\xf7\x30\x1d\xf7\x62\x16\x72\x77\x78\x72\x0b\xc1\xb7\xb5\xbf\xbe\x5f\xb6\x56\x1f\x89\x60" -+"\x15\xaa\xa3\x75\x6e\x6f\x73\x74\x0b\xad\x1d\x85\x96\x82\x1f\xf7\x06\x2a\x05\x83\x0b\x41\x1d\xfb\x2a\x22\x1d\x0b\x88\x84\x84\x1e" -+"\x29\x2f\x05\x7f\x80\x89\x88\x82\x1a\x7c\x96\x80\x9a\x92\x0b\x15\xa3\x9e\x78\x74\x73\x78\x78\x74\x73\x78\x9e\xa3\xa1\x9e\x9f\xa2" -+"\x1f\x0b\x1a\x99\x7f\x96\x7d\x85\x85\x88\x85\xf7\x3f\x1d\x91\x83\x0b\xa0\x95\xa5\xa6\x1f\x9e\x9d\x90\x92\x95\x1a\x98\x7f\x96\x7d" -+"\x1e\x0e\x15\x94\x81\x87\x8d\x83\x1b\x7d\x80\x80\x7d\x82\x8f\x84\x94\x83\x1f\x0b\x93\x9f\x6e\x1e\x90\x85\x87\x8c\x86\x1b\x80\x82" -+"\x82\x80\x72\xcb\x6d\x0b\x96\x82\xa1\x1f\xf7\x16\x06\xa1\x97\x94\x9c\x9b\x7f\x94\x75\x1f\x64\x0b\xf8\x6d\x15\x91\x92\x8e\x91\x91" -+"\x1a\x97\x81\x95\x7f\x83\x88\x89\x80\x0b\xf3\xdb\x40\x28\x2b\x3b\x3e\x26\x26\x3a\xd8\xec\xea\xdb\xd9\xee\x1f\x0b\x1e\xf7\x5f\xfc" -+"\x41\x07\x76\x80\x82\x7a\x7b\x97\x82\x9f\x1f\xe6\x0b\x06\x7b\x8c\x7f\x81\x7c\x1a\x88\x07\x7c\x97\x81\x9b\x8c\x1e\x0b\x24\xc6\x2b" -+"\xec\x54\x1e\xfb\x15\x06\x74\x80\x83\x7a\x7b\x98\x0b\x32\x3f\x44\x2b\x2a\x3f\xd2\xe5\xe3\xd7\xd3\xe9\x1f\x0e\xf7\x6b\xf7\x27\x07" -+"\xd1\xcb\x58\x53\x50\x3d\x5a\x2d\x1f\x0b\x8b\x8e\x1b\x98\x96\x96\x99\x96\x84\x94\x7f\x90\x1f\x93\x0b\x15\x61\x6b\x6d\x64\x64\xab" -+"\x6c\xb5\x1f\x96\x06\xb5\xab\x0b\xf7\x04\xf7\x16\xf7\x3a\xf7\x37\xfb\x04\xf7\x18\xfb\x1f\x0b\xb5\xa7\x1d\x87\x1e\x0b\x15\xfb\x22" -+"\x06\xf7\x24\xfb\x81\x05\x79\x95\x96\x84\x0b\x67\x1d\x9e\xa4\xa3\x77\x9f\x72\x1f\x0b\x1a\x7d\x97\x7f\x99\x95\x90\x8e\x99\x94\x1e" -+"\x0e\x80\x9c\x9c\x94\x97\xa2\x1e\xac\x07\xaa\x83\x93\x0b\x06\x78\x83\x84\x7b\x7a\x93\x84\x9e\x1f\xf7\x11\x0b\x93\x6a\x1b\x68\x71" -+"\x7c\x63\x68\x1f\x75\x73\x83\x0b\x1f\x8f\x06\xf7\x32\xfb\x29\xfb\x46\xfb\x3c\x05\x0b\x66\x66\x5e\x5e\x66\xb0\xb9\xb8\xaf\xb0\xb8" -+"\x1f\x0b\xac\x52\x08\x79\x95\x8f\x87\x92\x1b\x92\x90\x8e\x0b\xf7\xe0\xf7\xb4\x15\xf7\x43\xf7\x74\x05\x97\x06\x0b\x94\x96\xa0\x1f" -+"\xcf\x07\xa0\x82\x96\x7b\x7d\x0b\x1a\x7c\x96\x80\x9a\x92\x92\x8e\x93\x93\x1e\x0b\x1b\x9a\x96\x96\x9a\x93\x8b\x8c\x83\x93\x1f\x0b" -+"\x9a\x94\x91\x9e\x96\x1e\xf7\x22\xf7\x86\x05\x0b\x71\x69\x6c\x6f\x73\x66\x66\x6f\xa3\xaa\xac\x0b\x82\x7b\x7a\x97\x82\x9f\x1f\x0b" -+"\x82\x1e\x23\x37\x23\xdf\x05\x0b\x95\x9b\x9b\x7f\x94\x77\x1f\x0b\x7e\x9c\x9c\x94\x99\xa3\x1e\xd5\x07\x8a\x0b\x06\x75\x80\x82\x7b" -+"\x7b\x97\x81\xa0\x1f\x0b\x83\x86\x88\x83\x82\x1e\xfb\x07\x2a\x05\x0b\x07\x76\x7f\x82\x7a\x7b\x96\x82\xa1\x1f\x0b\xf8\x8b\x16\xf7" -+"\x4c\x07\xa0\x82\x96\x7a\x0b\x15\xfb\x6f\x06\xf3\xf7\xa9\x05\x93\x06\x0b\xd3\xfb\x1e\x18\x72\x99\x8c\x8a\xa7\x1b\x0b\x80\x99\x93" -+"\x8e\x8d\x94\x96\x1e\x0e\xf7\x92\x15\x45\xfb\x05\xd1\x06\x0e\x01\x00\x01\xe3\x01\x05\x00\x01\x0a\x02\x01\x40\x03\x01\x87\xff\x02" -+"\x87\xa0\x02\x8e\x02\x00\x01\x00\x02\x00\x03\x00\x08\x00\x38\x00\xbc\x01\x5e\x01\xcb\x02\x46\x02\x4d\x02\x8c\x02\xcf\x03\x3a\x03" -+"\x68\x03\x6a\x03\x6c\x03\x72\x03\x9d\x03\xf9\x04\x25\x04\x75\x04\xeb\x05\x1b\x05\x6f\x05\xdc\x06\x07\x06\x5e\x06\xcb\x06\xde\x06" -+"\xe9\x07\x32\x07\x44\x07\x8e\x07\xdf\x08\x60\x08\x63\x08\x6b\x08\x6d\x08\x70\x08\x73\x08\xa8\x08\xab\x08\xad\x08\xb0\x08\xb2\x08" -+"\xb5\x08\xb8\x08\xba\x08\xbd\x08\xc0\x08\xc2\x09\x60\x09\x63\x09\x66\x09\x68\x09\x6b\x09\x91\x09\x94\x09\x9b\x09\x9e\x09\xa1\x09" -+"\xb4\x09\xdf\x09\xf3\x0a\x27\x0a\x33\x0a\x51\x0a\x54\x0a\x8e\x0a\x91\x0a\x94\x0a\x97\x0a\xdb\x0a\xed\x0a\xf0\x0a\xf5\x0a\xf7\x0a" -+"\xfa\x0a\xfd\x0b\x5e\x0b\x61\x0b\x64\x0b\x66\x0b\xb2\x0b\xb5\x0b\xb8\x0b\xbb\x0b\xbe\x0b\xeb\x0b\xee\x0b\xf0\x0c\x00\x0c\x03\x0c" -+"\x5f\x0c\x6a\x0c\xc5\x0c\xf3\x0d\x35\x0d\x93\x0e\x11\x0e\x13\x0e\x6c\x0e\xcd\x0f\x7a\x10\x1b\x10\x35\x10\x5c\x10\x67\x10\x7a\x10" -+"\x7f\x10\x98\x10\xe6\x10\xf1\x10\xf9\x11\x16\x11\x18\x11\x73\x11\x8a\x11\x8c\x11\x9e\x11\xb0\x11\xe8\x11\xfe\x12\x89\x12\xd9\x12" -+"\xdf\x12\xe5\x12\xf4\x12\xfa\x13\x00\x13\x06\x13\x0d\x13\x13\x13\x19\x13\x35\x13\x43\x13\x56\x13\x5c\x13\x5e\x13\x61\x13\xc7\x14" -+"\x1a\x14\x1d\x14\x7a\x14\xa5\x14\xa8\x14\xab\x14\xf5\x14\xf8\x15\x79\x15\xe7\x15\xee\x16\x02\x16\x43\x16\xe7\x16\xe9\x17\x55\x17" -+"\x9e\x17\xce\x18\x5c\x18\x8b\x18\xb7\x18\xe2\x19\x00\x19\x71\x19\xb8\x1a\x22\x1a\x2f\x1a\xb4\x1b\x1a\x1b\x20\x1b\x7e\x1b\x8b\x1b" -+"\xa5\x1b\xad\x1b\xb4\x1b\xc0\x1b\xe5\x1c\x47\x1c\x65\x1c\x93\x1c\x9a\x1c\xaf\x1c\xb7\x1c\xc3\x1c\xcb\x1c\xdd\x1c\xf4\x1c\xfc\x1d" -+"\x03\x1d\x12\x1d\x19\x1d\x21\x1d\x4b\x1d\x58\x1d\x60\x1d\x68\x1d\x7f\x1d\xa0\x1d\xa8\x1d\xcb\x1d\xdd\x1d\xee\x1d\xf6\x1e\x0f\x1e" -+"\x22\x1e\x39\x1e\x73\x1e\x7a\x1e\x99\x1e\xa1\x1e\xa9\x1e\xb8\x1e\xd2\x1e\xda\x1e\xf1\x1f\x30\x1f\x55\x1f\x5c\x1f\x64\x1f\x6b\x1f" -+"\xaa\x1f\xd5\x1f\xde\x1f\xe6\x1f\xee\x1f\xf6\x1f\xfe\x20\x05\x20\x2b\x20\x8a\x20\xc2\x21\x25\x21\x84\x21\xdf\x22\x12\x22\xbb\x23" -+"\x06\x23\x0e\x23\x16\x23\x19\x23\x58\x23\x69\x23\xbf\x23\xe9\x23\xeb\x24\x08\x24\x1d\x24\x25\x24\x2e\x24\x30\x24\x37\x24\x39\x24" -+"\x54\x24\x5b\x24\x63\x24\x6c\x24\x74\x24\xb7\x24\xd9\x24\xdb\x25\x1e\x25\x20\x25\x5f\x25\xbb\x25\xbd\x25\xd1\x25\xd9\x25\xe6\x25" -+"\xef\x26\x3e\x26\x74\x26\xd5\x26\xe0\x26\xe8\x26\xef\x27\x34\x27\x37\x27\x73\x27\x95\x27\xd4\x27\xde\x28\x0e\x28\x16\x28\x29\x28" -+"\x57\x28\x83\x28\x8a\x28\xa6\x28\xa8\x28\xaf\x28\xb7\x28\xc2\x28\xc5\x28\xeb\x28\xfb\x29\x03\x29\x76\x29\x79\x29\xe7\x2a\x0d\x2a" -+"\x66\x2a\x68\x2a\xc5\x2a\xcd\x2a\xd4\x2a\xdb\x2a\xdd\x2a\xe4\x2b\x44\x2b\x56\x2b\x5e\x2b\xa2\x2b\xa4\x2b\xde\x2b\xf5\x2c\x32\x2c" -+"\x6e\x2c\x76\x2c\x98\x2c\xa8\x2d\x0b\x2d\x0e\x2d\x62\x2d\xa1\x2d\xa9\x2d\xb0\x2d\xbe\x2d\xd2\x2d\xda\x2d\xee\x2e\x3a\x2e\x41\x2e" -+"\x57\x2e\x67\x2e\x70\x2e\x78\x2e\x80\x2e\xa2\x2e\xa4\x2e\xa7\x2e\xdb\x2e\xdd\x2e\xdf\x2f\x32\x2f\x34\x2f\x91\x30\x36\x30\xe1\x30" -+"\xe4\x31\x13\x31\x16\x31\x60\x31\x62\x31\x64\x31\x67\x31\x69\x31\x6b\x31\x6d\x31\x6f\x31\x72\x32\x17\x32\x19\x32\x43\x32\x5c\x32" -+"\x8b\x32\xc2\x33\x0b\x33\x60\x33\x87\x34\x0a\x34\x76\x34\xcd\x34\xfc\x35\x51\x35\xa3\x36\x32\x36\x3a\x36\x3d\x36\x63\x36\x65\x36" -+"\xde\x37\x36\x37\x86\x37\xad\x37\xdd\x38\x29\x38\x97\x38\xe9\x38\xec\x39\x38\x39\x3b\x39\x97\x3a\x4a\x3a\x98\x3a\x9b\x3a\xcb\x3a" -+"\xce\x3b\x16\x3b\x53\x3b\x61\x3b\x64\x3b\x80\x3b\x82\x3b\x8e\x3b\xba\x3b\xca\x3c\x6e\x3c\x70\x3c\x7b\x3c\x8e\x3c\xc7\x3d\x0c\x3d" -+"\x4b\x3d\x8b\x3d\xc7\x3e\x27\x3e\x75\x3e\xdc\x3e\xf6\x3f\x3e\x3f\x55\x3f\xba\x40\x04\x40\x09\x40\x65\x40\x67\x40\xcc\x41\x18\x41" -+"\x52\x41\x70\x41\xef\x42\x13\x42\x15\x42\x5a\x43\x52\x43\xf0\x44\x7f\x44\x82\x44\x9a\x44\xaa\x44\xde\x45\x12\x45\x6c\x45\xe7\x46" -+"\x25\x46\x74\x46\xba\x47\x00\x47\x0c\x47\x5d\x47\xa2\x47\xf0\x48\x53\x48\x5a\x48\x61\x48\x72\x48\x7b\x48\xcb\x49\x41\x49\xad\x49" -+"\xcc\x4a\x1b\x4a\x74\x4a\x98\x4a\x9e\x4a\xa6\x4a\xbd\x4a\xc6\x4b\x04\x4b\x0b\x4b\x45\x4b\xa8\x4b\xab\x4b\xb2\x4b\xca\x4c\x1f\x4c" -+"\x22\x4c\x2e\x4c\x48\x4c\x62\x4c\xa8\x4d\x13\x4d\x52\x4d\x59\x4d\x60\x4d\x8b\x4d\x93\x4d\xe9\x4e\x41\x4e\x4b\x4e\x81\x4e\xa5\x4e" -+"\xad\x4e\xd8\x4e\xdf\x4f\x4a\x4f\x9a\x4f\xc8\x4f\xf6\x50\x57\x50\xc0\x50\xe3\x50\xed\x51\x0a\x51\x39\x51\x47\x51\x4e\x51\x6d\x51" -+"\xbc\x51\xc8\x51\xe9\x51\xf1\x52\x22\x52\x44\x52\x4b\x52\x67\x52\xba\x53\x63\x53\x9e\x54\x18\x54\x36\x54\x78\x55\x01\x55\x09\x55" -+"\x79\x55\x81\x55\x89\x56\x11\x56\x63\x56\xa6\x56\xae\x56\xbe\x56\xcf\x56\xd2\x56\xf0\x56\xf3\x57\x1e\x57\x2b\x57\x32\x57\x84\x58" -+"\x06\x58\x7d\x58\xa4\x58\xdc\x59\x31\x59\x84\x59\xd1\x5a\x3c\x5a\x44\x5a\x7a\x5a\x81\x5a\x91\x5a\xa5\x5a\xf0\x5a\xfd\x5b\x85\x5b" -+"\xa2\x5b\xb6\x5b\xef\x5c\x25\x5c\xd1\x5d\x17\x5d\x94\x5e\x0e\x5e\x56\x5e\xa0\x5e\xc1\x5f\x22\x5f\x68\x5f\x6e\x5f\x76\x5f\x8f\x5f" -+"\x96\x5f\xbb\x5f\xbc\x5f\xbe\x5f\xce\x5f\xd5\x5f\xdb\x5f\xdd\x5f\xfb\x60\x5f\x60\xa0\x61\x3e\x61\x64\x61\x8b\x61\xd7\x61\xfa\x62" -+"\x26\x62\x54\x62\xfb\x63\xba\x64\x87\x64\xec\x65\x55\x65\x82\x65\xd4\x66\x4f\x66\x94\x67\x00\x67\x28\x67\x59\x67\xc6\x68\x1c\x68" -+"\x1f\x68\x3c\x68\x6b\x68\x96\x68\xf9\x69\x49\x69\x6d\x69\x8a\x69\xe0\x6a\x3a\x6a\x86\x6a\xbd\x6a\xc0\x6a\xfe\x6b\x37\x6b\x88\x6b" -+"\x90\x6b\x98\x6b\xe5\x6b\xe7\x6b\xf1\x6c\x03\x6c\x0f\x6c\xea\x6d\x4e\x6d\x50\x6d\x52\x6d\x69\x6d\x87\x6d\xe2\x6d\xf8\x6e\x59\x6e" -+"\x86\x6e\xd3\x6e\xd6\x6e\xef\x6f\x37\x6f\x47\x6f\x4f\x6f\x56\x6f\x5d\x6f\x64\x6f\x6c\x6f\x74\x70\x08\x70\x1d\x70\x24\x70\x2b\x70" -+"\x34\x70\x99\x0e\x0e\xf7\xec\xa2\x0a\x0e\xf7\x20\xf8\xef\x15\xae\xfb\x92\x05\x6f\x8f\x96\x7f\x9f\x1b\xa0\x96\x97\xa7\x8f\x1f\xad" -+"\xf7\x92\x05\xb3\x16\xae\xfb\x92\x05\x6f\x8f\x96\x7f\x9f\x1b\xa0\x96\x97\xa7\x8f\x1f\xad\xf7\x92\x05\x0e\xf8\x1f\xf7\xf1\x15\xe1" -+"\x27\x0a\x39\x06\x9a\xf7\x68\x05\x93\x07\x99\x80\x96\x7c\x7c\x82\x81\x77\x8a\x1e\x7b\xfb\x6b\x05\x3b\x06\x9a\xf7\x68\x05\x9f\x8d" -+"\x80\x98\x7b\x1b\x7b\x82\x81\x77\x8a\x1f\x7c\xfb\x6b\x05\x3f\x2e\x1d\xd3\x06\x83\xfb\x05\x05\x36\x20\x0a\xdc\x06\x7c\xfb\x68\x05" -+"\x82\x07\x7d\x8c\x95\x80\x99\x1b\x9b\x94\x95\x9f\x8c\x1f\x9b\xf7\x6c\x05\xdb\x06\x7c\xfb\x68\x8a\x84\x05\x7d\x8a\x97\x7e\x9a\x1b" -+"\x9b\x93\x95\x9f\x8d\x1f\x9a\xf7\x6c\x05\xd9\x21\x0a\x41\x06\x60\xf7\x05\x15\x82\xfb\x05\x05\x3b\x06\x93\xf7\x05\x05\x0e\xf7\xa7" -+"\xf8\xd3\x15\x38\x81\x4e\x4e\x42\x1a\x64\x9e\x66\xaa\x78\x1e\xa5\x7a\xa9\x81\xcb\x7f\xcf\x7e\x99\x87\xa1\x7e\x08\xa2\x7e\x98\x73" -+"\x6f\x1a\x51\x50\x61\x38\x44\x4b\xac\xb3\x86\x1e\x89\x9c\x8b\x8b\x86\x90\x08\x8f\x86\x84\x8e\x85\x1b\x7a\x82\x80\x77\x1f\x3d\x07" -+"\x77\x94\x80\x9c\x9c\x93\x96\x9f\x1e\x8f\x07\xa3\x74\xc0\x77\xb2\x89\x08\xfb\x04\x07\x27\x1d\xf7\x04\x07\xf0\x96\xcc\xc5\xda\x1a" -+"\xb7\x78\xaf\x6a\xa1\x1e\x6f\x9e\x71\x93\x42\x99\x50\x96\x77\x90\x78\x97\x08\x76\x96\x7f\xa1\xa3\x1a\xc0\xc1\xb6\xcd\xc5\xc1\x6f" -+"\x6b\x91\x1e\x78\x8e\x92\x84\x5c\x0a\xc6\x07\xa0\x83\x95\x7a\x7d\x82\x82\x7d\x88\x1e\x6e\xa1\x71\x94\x64\x90\x08\xb8\x34\x1d\x0e" -+"\xf7\xff\xf7\x83\x15\x44\x53\x53\x45\x46\xc3\x53\xd0\xd0\xc3\xc3\xd0\xd0\x53\xc4\x48\x1f\x88\x60\x15\xba\xaf\x67\x5c\x5e\xf7\x36" -+"\x1d\xfb\x0d\xf8\x32\x15\x44\x53\x54\x44\x46\xc3\x53\xd0\xd0\xc3\xc3\xd1\xcf\x53\xc4\x48\x1f\x88\x60\x15\xba\xaf\x67\x5d\x5d\xf7" -+"\x36\x1d\xf7\x98\xfb\x76\x15\x98\x8f\x91\x92\x96\x1a\x96\x82\x95\x81\x88\x86\x8a\x89\x86\x1e\xfc\x0f\xfb\x0d\x05\x7d\x87\x85\x85" -+"\x80\x1a\x80\x95\x81\x95\x90\x8e\x8b\x8d\x90\x1e\x0e\xf8\x1a\x16\xc8\x21\x0a\x69\x06\x73\xae\x9d\xa6\x9e\xb6\x98\xbb\x19\x93\x06" -+"\x4f\x1d\x5d\x06\x7f\x5b\x7f\x67\x78\x67\x20\xf7\x3a\x18\x6d\xbb\x7f\xa5\xa0\x1a\xb1\xb0\xae\xb3\xa2\x9b\x84\x77\xa2\x1e\xae\x9d" -+"\x05\x99\x92\x90\x92\x96\x1a\x99\x7f\x97\x7e\x86\x86\x89\x87\x83\x1e\x83\x87\x05\x98\x75\x76\x91\x74\x1b\x45\x51\x54\x48\x6d\x90" -+"\x80\xb5\x48\x1f\x49\x76\x61\x52\x47\x1a\x34\xd0\x42\xdd\xb8\xaf\x9e\xb3\xa9\x1e\x6e\xb9\x15\x69\x75\x6e\x77\x6b\x1b\x56\x5e\xbe" -+"\xc6\xbd\xaa\xb2\xbb\x97\x1f\x0e\xf7\x5f\xf8\xef\xaa\x0a\x0e\xf8\x4a\xf8\xef\x15\x7f\x84\x84\x6f\x78\x1f\x43\xfb\x02\x64\xfb\x07" -+"\x25\x1a\x27\xad\x22\xd0\xfb\x01\x1e\x63\xa3\x94\x82\x98\x1b\x9a\x96\x96\x99\x90\x8a\x8d\x88\x91\x1f\x47\xf7\x0c\x6c\xef\xf4\x1a" -+"\xf3\xaa\xf0\xcf\xf7\x0b\x1e\x8e\x91\x8c\x8d\x90\xa4\x1d\xf7\x3c\xf8\xef\x15\x7c\x80\x80\x7d\x86\x8c\x89\x8e\x85\x1f\xcf\xfb\x0b" -+"\xaa\x26\x23\x1a\x22\x6c\x27\x47\xfb\x0c\x1e\x88\x85\x8a\x89\x86\x1a\x7d\x97\x80\x99\x97\x92\x92\xa7\x9e\x1e\xd3\xf7\x03\xb2\xf7" -+"\x06\xf1\x1a\xee\x69\xf4\x46\xf7\x02\x1e\xb2\x73\x82\x95\x7e\x1b\x0e\xf7\xa6\xf8\x4e\x15\xfb\x12\xb2\x05\x8d\x84\x87\x8c\x87\x1b" -+"\x7e\x7f\x80\x7d\x7d\x92\x84\x9c\x87\x1f\xf7\x12\x63\x3e\x23\x05\x83\x81\x8a\x88\x84\x1a\x7d\x97\x80\x99\x95\x91\x8f\x97\x93\x1e" -+"\xd9\xf3\xd8\x23\x05\x7e\x94\x90\x88\x95\x1b\x9a\x96\x96\x99\x91\x88\x91\x85\x93\x1f\x3f\xf3\xf7\x12\xb3\x05\x9d\x90\x92\x92\x99" -+"\x1a\x98\x7f\x97\x7f\x88\x82\x89\x8a\x86\x1e\xfb\x12\x63\x05\xf7\x14\x07\xa1\x82\x96\x7a\x7a\x82\x80\x75\x1e\x0e\xf7\xda\xf7\x93" -+"\x15\xf7\x43\x27\x0a\xfb\x43\xf7\x54\x06\x4f\x0a\xfb\x53\xfb\x43\x07\x82\x89\x05\x7c\x89\x83\x83\x7d\x1a\x7a\x96\x82\xa0\x1e\xf7" -+"\x43\xfb\x55\x06\x39\x1d\x96\x9f\x1e\x0e\xf0\x1d\xc9\x0a\xf7\xbb\xf7\x10\x6a\x0a\xf8\x7b\xf9\x04\x15\x90\x95\x8c\x8d\x90\x1a\x98" -+"\x7f\x96\x7d\x7f\x84\x86\x7c\x84\x1e\xfb\xdc\xfd\x3f\x05\x87\x83\x8a\x87\x86\x1a\x7e\x97\x80\x99\x97\x92\x90\x9a\x92\x1e\x0e\xf8" -+"\x81\xf7\xf2\x15\xf7\x32\x3d\xf7\x00\xfb\x06\xfb\x07\x3d\xfb\x00\xfb\x32\x1e\x29\x07\xfb\x33\xd9\xfb\x00\xf7\x07\xf7\x06\xd9\xf7" -+"\x00\xf7\x33\x1e\xfb\xe1\xe7\x15\xc9\x9d\xcc\xa8\xb8\x1e\xab\xa0\xab\x9c\xb4\x1b\xb3\xab\x7a\x6b\xa0\x1f\xa8\x5e\x9d\x4a\x4d\x1a" -+"\x34\x07\x4e\x79\x49\x6e\x5e\x1e\x6b\x76\x6a\x7a\x64\x1b\x63\x6a\x9c\xab\x76\x1f\x6e\xb8\x79\xcd\xc8\x1a\x0e\xf7\xdb\xf8\xf9\x15" -+"\xfb\x54\x4f\x05\x78\x85\x85\x85\x7d\x1a\x7e\x97\x7f\x97\x8d\x95\x8d\x8c\x8f\x1e\xf7\x11\xb2\x05\xfc\x81\xfb\x1a\x07\x2b\x1d\xf7" -+"\xd4\x23\x1d\xfb\x1a\x06\x0e\xf7\x1b\xbe\x15\xc1\xb9\xc9\xc4\xde\xdb\x08\xf7\x12\xf7\x0c\x9f\xa8\xc6\x1a\xe8\x32\xdc\x26\x4d\x51" -+"\x6f\x5b\x65\x1e\x77\x72\x7e\x6d\x78\x1a\x7f\x96\x80\x99\x98\x93\x92\x9b\x8f\x1e\xc5\x9c\xc6\xb4\xcc\x1b\xd5\xcb\x52\x4a\x60\x79" -+"\x72\x2e\x31\x1f\x38\x3c\x3f\x45\x45\x4e\x82\x83\x18\x48\xf8\x29\xdc\x07\x4f\x0a\x6d\x07\x0e\xf7\xab\xf7\xf9\x15\x76\x80\x81\x7b" -+"\x7b\x96\x82\xa0\x1f\xeb\x89\xd8\x4f\x40\x1a\x43\x42\x4e\x33\x53\x58\x9d\xae\x5b\x1e\x91\x82\x86\x8d\x84\x1b\x7e\x80\x80\x7e\x7b" -+"\x98\x7e\xaf\x79\x1f\x6f\xbf\xba\x7e\xbe\x1b\xf7\x0a\xeb\xde\xf0\xcc\x5d\xc9\x45\xaa\x1f\xc8\xa8\xad\xba\xc3\x1a\xe4\x3c\xcf\x24" -+"\x56\x58\x7b\x6d\x63\x1e\x74\x79\x7d\x7a\x7f\x1a\x7e\x96\x80\x99\x93\x91\x8e\x91\x90\x1e\xb3\xaf\xb4\x9c\xc7\x1b\xd5\xc3\x5d\x4f" -+"\x6b\x79\x6c\x6e\x78\x1f\x7c\x73\x77\x86\x64\x1b\x0e\xf8\x07\xf7\x3a\x15\xfb\x07\x44\x07\x37\x1d\xf7\x2c\x39\x0a\x6e\xf7\x07\xa8" -+"\x23\x1d\x6e\xf8\x16\x2e\x06\xfb\x7a\xfc\x14\x05\x56\x07\xf7\xa3\xbe\x15\xfb\x6d\x06\xf7\x5e\xf7\xe3\x05\x9a\x06\x0e\xf7\x58\xf8" -+"\xbc\x15\xf7\x80\x27\x0a\xfb\xb4\xfb\xa1\x06\x7b\x95\x80\x9a\x91\x90\x8d\x91\x98\x1e\xa1\xb7\xb3\x95\xb3\x1b\xdc\xc2\x51\x36\x27" -+"\x4a\x47\x2c\x53\x57\xa1\xb6\x5b\x1f\x93\x82\x86\x8d\x84\x1b\x7d\x80\x80\x7d\x7c\x99\x7c\xae\x75\x1f\x6a\xbe\xbd\x7b\xc1\x1b\xf7" -+"\x0f\xe2\xe5\xf7\x13\xf7\x06\x3e\xdd\x21\x60\x69\x83\x78\x5a\x1f\x0e\xf7\x4a\xf7\x9a\x15\x8a\x95\x8b\x94\x90\x1a\xc7\x9b\xc7\xa8" -+"\xb5\x1e\xd3\xbb\xd8\xb8\xd6\x1b\x9d\x9a\x89\x86\x95\x1f\x86\x95\x8f\x8a\x91\x1b\x99\x95\x96\x98\xa2\x66\x9c\x5a\x4a\x49\x72\x5d" -+"\x55\x1f\x40\x4c\x67\x36\xfb\x09\x1a\xfb\x41\xe0\xfb\x0e\xf7\x0e\xef\xd9\xe0\xf7\x01\xf2\x3d\xe0\x2c\x49\x50\x65\x48\x67\x1e\x92" -+"\x42\x15\xa2\xb3\x96\x9c\x99\x9b\x08\xae\xab\xb1\x9e\xaf\x1b\xcd\xc2\x4d\x40\x3a\x55\x4d\x44\x40\x5b\xbb\xf4\x70\x1f\x0e\xf8\x45" -+"\xf8\xb0\x15\xfb\x34\xfc\x8a\x05\x89\x85\x8a\x87\x87\x1a\x7d\x96\x80\x99\x99\x91\x91\x9d\x91\x1e\xf7\x37\xf8\x92\x05\xd1\xfc\x14" -+"\x3b\x07\x58\x0a\xa8\xf7\xad\x07\x0e\xf8\x18\xf7\xcc\x15\xca\xac\xaa\xb9\xc5\x1a\xe6\x38\xd7\x28\x28\x38\x3f\x30\x51\xab\x5d\xca" -+"\x6a\x1e\x48\x6b\x65\x55\x4c\x1a\x29\xe1\x3b\xf6\xf5\xe1\xdb\xed\xca\x64\xc2\x49\xaa\x1e\x31\xf7\x91\x15\xd5\xc5\x57\x49\x4d\x52" -+"\x5b\x42\x42\x52\xbb\xc9\xcc\xc5\xc0\xd1\x1f\xfb\xaa\x04\xdd\xc8\x56\x44\x44\x4d\x53\x3d\x3c\x4d\xc3\xd2\xd0\xc8\xc2\xd8\x1f\x0e" -+"\xf8\x65\xf7\xe7\x15\x8c\x81\x8b\x82\x87\x1a\x4e\x7b\x4f\x6e\x61\x1e\x43\x5b\x3e\x5e\x40\x1b\x79\x7c\x8e\x90\x81\x1f\x90\x81\x87" -+"\x8c\x85\x1b\x7d\x81\x80\x7d\x74\xaf\x7a\xbd\xcc\xcd\xa4\xb9\xc1\x1f\xd6\xca\xaf\xe0\xf7\x08\x1a\xf7\x42\x36\xf7\x0e\xfb\x0e\x27" -+"\x3d\x36\xfb\x01\x24\xd9\x36\xea\xcd\xc5\xb1\xce\xb0\x1e\x84\xd4\x15\x74\x63\x80\x7a\x7c\x7b\x08\x69\x6c\x65\x77\x67\x1b\x49\x54" -+"\xc9\xd6\xdc\xc1\xc9\xd2\xd6\xba\x5b\x22\xa7\x1f\x0e\xf7\xbb\xf7\x10\xf7\x2c\x1d\xaa\xb2\xb2\x6b\xa9\x61\x1f\x80\xf7\xba\x6a\x0a" -+"\xf7\x63\xf7\x2d\xaa\x0a\x39\xf7\x9d\x6a\x0a\xc7\xf7\xad\x15\xf8\x3e\xfb\x7d\x05\x88\x90\x91\x8a\x90\x1b\x93\x93\x90\x92\x8f\x1f" -+"\x8d\x8e\x05\x8d\x8f\x8c\x8f\x8f\x1a\x94\x86\x92\x80\x91\x1e\xfb\xed\xf7\x50\xf7\xee\xf7\x50\x05\x96\x91\x90\x92\x94\x1a\x8f\x8a" -+"\x8f\x88\x8f\x1e\x8a\x8e\x05\x93\x86\x83\x90\x83\x1b\x87\x86\x89\x88\x85\x1f\x0e\xf8\x9e\xf7\xdb\x15\x57\x0a\xfc\x50\x26\x1d\xf8" -+"\x50\xfb\x21\x6b\x0a\x0e\xf8\xaa\xf7\xad\x15\xfc\x3f\xf7\x7d\x05\x8e\x84\x87\x8d\x87\x1b\x82\x84\x86\x83\x86\x1f\x8a\x88\x05\x88" -+"\x87\x8a\x87\x87\x1a\x82\x90\x84\x96\x85\x1e\xf7\xee\xfb\x50\xfb\xee\xfb\x50\x05\x80\x85\x86\x84\x82\x1a\x88\x8d\x86\x8d\x87\x1e" -+"\x8c\x88\x05\x84\x8f\x94\x86\x92\x1b\x91\x90\x8c\x8e\x91\x1f\x0e\xf7\xdc\xf7\x88\x15\xf7\x10\xc5\xb4\xb6\xd6\x1a\xe9\x41\xc9\xfb" -+"\x02\x52\x77\x86\x64\x30\x1e\x7f\x86\x05\x45\x07\x27\x1d\xb0\x07\xa3\xbe\xa8\x92\xb6\x1b\xdc\xc3\x60\x4c\x56\x5d\x63\xfb\x0b\x5a" -+"\x1f\x45\x07\x39\x1d\x95\xa0\x1e\x62\xfb\x05\x15\x66\x72\x75\x6b\x6b\xa4\x74\xb0\x1f\xa7\x06\xaf\xa4\xa2\xab\xab\x72\xa1\x67\x1f" -+"\x0e\xf8\x31\xf7\x22\x15\xb2\x06\xa0\x96\x93\x9d\x97\x84\x94\x7f\x8e\x1f\xf7\x9f\x07\xe8\x44\xd1\x2e\xfb\x08\x36\xfb\x03\xfb\x2c" -+"\x1e\xfb\x33\x07\x43\x9e\x4d\xb0\x58\x1e\x57\xb0\xb8\x73\xc9\x1b\xd9\xd8\xac\xad\x98\x80\x96\x7c\x85\x86\x89\x87\x86\x1f\x73\x71" -+"\x6a\x80\x5a\x1b\x5b\x6a\x9c\xb0\x71\x1f\x6d\xb6\x7b\xc2\xc6\x1a\xf7\x30\x07\xf7\x12\xc9\xe4\xe2\xcc\xba\x5c\x4a\x1e\x63\x07\x23" -+"\x88\x43\x4f\x37\x1a\x42\xc7\x54\xdd\x96\x94\x8c\x8d\x99\x1e\xbd\x04\x89\x7b\x86\x8b\x81\x1b\x54\x65\xab\xb9\xc1\xc0\xb4\xd2\x8c" -+"\x1f\x0e\x28\x1d\x0e\xf7\x01\x1d\xbf\xaa\xa4\xc4\x1d\x90\x0a\x9b\x0a\x0e\x25\x0a\x0e\xf7\x3f\xf7\x9e\x15\xf7\x1a\x64\x06\x76\x94" -+"\x81\x9c\x9c\x94\x96\x9f\x1e\xf7\x15\x34\x1d\x64\xfb\x1a\xf7\x57\xf7\xc3\x30\x2b\x0a\xf7\x22\xfc\x5c\x07\x20\x1d\xbc\xfc\x61\x5a" -+"\x20\x0a\xf7\x7e\x21\x0a\xfb\x19\x06\x0e\x7f\x1d\x0e\x80\x1d\x23\x0a\x0e\x9d\x0a\xb5\x1d\x0e\x41\x0a\x0e\x81\x1d\x49\x1d\x0e\x2d" -+"\x1d\x0e\x84\x1d\xf7\xc7\x7c\x15\xf7\x22\x90\xf5\xf7\x12\xf7\x38\x1a\xf7\x39\xfb\x04\xf7\x16\xfb\x23\xfb\x22\xfb\x04\xfb\x16\xfb" -+"\x39\x37\xa8\x3e\xc0\x52\x1e\xab\x68\xa7\x7a\xbc\x7a\x3a\x52\x18\x83\x85\x86\x84\x83\x1a\x7c\x96\x7f\x99\x8e\x8f\x8c\x8c\x8f\x1e" -+"\x98\xba\xca\x95\xa8\x1b\xa5\x99\x88\x81\xa6\x1f\x81\xa9\x96\x88\x9c\x1b\xa4\xa3\x92\x9d\xab\x1f\xa0\x96\x92\x93\x97\x1a\x9a\x80" -+"\x96\x7d\x86\x86\x8a\x87\x86\x1e\x77\x6c\x7b\x85\x77\x1b\x7f\x84\x8d\x93\x73\x1f\x97\x6d\x74\x8f\x6c\x1b\x7b\x82\x8a\x88\x77\x1f" -+"\xa4\xf8\xc8\x15\xf7\x07\xe5\xfb\x00\xfb\x1d\xfb\x1a\x30\xfb\x02\xfb\x03\xfb\x04\x30\xf7\x02\xf7\x1b\xf7\x19\xe6\xf7\x03\xf7\x01" -+"\x1f\x0e\x47\x0a\x0e\x69\x1d\x0e\x61\x0a\x31\x1d\x0e\xf7\x9c\x16\xca\x06\xf7\x66\xf8\x94\x05\xa6\x06\xa1\x96\xf7\x1c\x1d\xd2\x06" -+"\xfb\x4f\xfc\x5c\xfb\x47\xf8\x5c\x05\xcf\x44\x1d\xfb\x2b\x22\x1d\xa7\x06\x0e\x59\x1d\x0e\xf7\x38\x1d\xa0\x97\xb4\x1d\x31\x0a\x0e" -+"\x6c\x1d\x0e\xf7\xdb\xf8\xbc\x15\xe7\x23\x1d\xfb\x24\xfd\x69\xf7\x24\x23\x1d\x2f\x06\x0e\xf7\x34\xf9\x19\x15\x9a\x84\x84\x90\x7f" -+"\x1b\x7d\x7f\x80\x7e\x86\x8c\x87\x8f\x83\x1f\xf7\xdc\xfd\x3f\x05\x7c\x92\x92\x86\x97\x1b\x99\x97\x96\x98\x90\x8a\x8e\x86\x94\x1f" -+"\x0e\xf7\xa6\x44\x15\x2f\x06\xd6\x0a\xf7\x24\xf9\x69\xfb\x24\x06\xd6\x0a\xe7\x06\x0e\xf7\xc0\xf8\xfc\x15\xfb\x4a\xfb\x73\x05\x83" -+"\x82\x89\x86\x84\x1a\x7d\x96\x80\x9a\x94\x91\x8f\x96\x94\x1e\xf7\x22\xf7\x43\xf7\x23\xfb\x43\x05\x80\x93\x92\x87\x94\x1b\x9a\x96" -+"\x96\x99\x92\x89\x8f\x83\x95\x1f\x0e\xf8\xdd\xfb\x08\x15\x4f\x1d\xfc\xce\x20\x0a\x0e\xf8\x1b\xf8\xec\x15\xfb\x26\x06\xf7\x28\xfb" -+"\x81\x05\x79\x96\x95\x84\x9a\x1b\x9e\x9b\x99\x9c\x90\x8a\x91\x89\x90\x1f\x0e\x48\x1d\x0e\xf7\x2a\xf8\xef\x15\x26\x06\xf7\x0d\x1d" -+"\xd6\x06\x4d\xbb\xc3\x6e\xd2\x1b\xf7\x0f\xee\xf0\xf7\x11\xf7\x11\x29\xed\xfb\x10\x45\x4f\x6c\x50\x5e\x1f\xf7\x3e\xb2\x15\xee\xd7" -+"\x3f\x29\x2b\x3e\x3e\x2b\x2c\x3e\xd8\xec\xea\xd7\xd9\xe9\x1f\x0e\x49\x0a\x0e\x9a\x0a\x0e\x2c\x1d\x0e\xf7\xa9\xf8\x04\x15\xf7\x4c" -+"\x3e\x1d\xfb\x4c\xc2\x06\xb9\xb6\xab\xca\xb0\xa8\x88\x83\xc5\x1e\x8a\x92\x8f\x8b\x8d\x1b\x9b\x96\x95\x9a\x98\x83\x94\x7d\x8e\x1f" -+"\x92\x6b\x46\x91\x63\x1b\x2f\x48\x55\x40\x1f\x54\x39\x52\x0a\xdd\xfb\xd1\x2f\x29\x0a\xf7\xd0\x21\x0a\xfb\x40\x06\x0e\xa1\x0a\x51" -+"\x52\x4c\x8c\x08\xfb\x08\x06\x76\x80\x83\x79\x7b\xd2\x1d\x0e\xb8\x1d\x0e\x32\x1d\x89\x87\x0a\xca\x1d\x91\x0a\x0e\x42\x0a\x0e\xf7" -+"\x0a\xf8\x37\x15\x3b\x2f\x0a\xa8\xfb\xd1\x6e\x06\x76\x80\x82\x7b\x7b\x97\x81\x9e\x1f\xf7\x01\x38\x0a\x6f\xf7\x93\x06\xc0\xaf\xa9" -+"\xa2\xad\x1b\xaa\xa7\x6b\x68\x1f\xfb\xcf\xdb\x07\x61\x1d\x6e\xf7\x93\x06\xc0\xaf\xa8\xa2\xac\x1b\xac\xa7\x6d\x69\x1f\xfb\xd2\xdb" -+"\x07\x9f\x97\x53\x1d\x6e\xf7\xa3\x06\xc8\x59\xbd\x4e\x62\x6d\x7a\x5b\x63\x1e\xb7\x73\x6b\xa0\x61\x1b\x63\x6e\x7b\x65\x6c\x1f\x0e" -+"\x6a\x1d\x0e\x2c\x0a\x0e\x95\x0a\xf8\x5c\xf7\xf1\x15\xc6\x5c\x56\xa4\x41\x1b\xfb\x13\x2a\x2f\xfb\x0b\xfb\x0c\xed\x2f\xf7\x12\xd4" -+"\xc2\xa5\xc4\xb9\x1f\xfb\x74\x2f\x52\x0a\xf7\x55\x23\x1d\x5a\xf8\x87\xbc\x06\xa0\x96\x94\x9c\x9c\x81\x93\x75\x1f\x26\x06\xfb\x43" -+"\x66\x15\xee\xd7\x45\x30\x32\x3f\x44\x2a\x2a\x3f\xd1\xe6\xe4\xd7\xd2\xea\x1f\x0e\x6b\x1d\x0e\x3e\x0a\x0e\x83\x1d\x0e\x28\x0a\x0e" -+"\xf7\xe8\x16\xf7\x3a\xf8\x04\x05\xb0\x06\x62\x1d\xfb\x2c\x2f\x0a\xc7\x06\xfb\x22\xfb\xd1\x05\x7f\x06\xfb\x25\xf7\xd1\x05\xc4\x3d" -+"\x1d\xfb\x2c\x2f\x0a\xb1\x06\xf7\x3c\xfc\x04\x05\x0e\x40\x0a\x0e\xb3\x1d\x4e\x0a\x82\x7b\x74\x1d\x9b\x80\x94\x71\x1d\x83\x7a\x4c" -+"\x0a\x0e\x4a\x0a\x0e\xf7\xdc\xf8\x82\x15\xab\x9e\xa1\xaa\x8f\x1e\xa2\x8e\x93\x91\x9c\x1a\x9a\x80\x95\x79\x51\x5d\x5b\x4e\x1e\xfb" -+"\x3d\x07\x69\x75\x75\x6a\x89\x1e\x77\x89\x82\x83\x7a\x1a\x7b\x94\x83\x9f\x89\x1e\xac\x89\xa1\x75\x69\x1a\xfb\x3d\x07\x4e\xb9\x5b" -+"\xc5\x9d\x96\x95\x9a\x9c\x83\x91\x74\x8e\x1e\x6c\x90\x78\xa0\xab\x1a\xf7\x3d\x07\xb3\x7f\xa2\x6e\xa0\x1e\xa8\xa0\x97\xa3\xb3\x1a" -+"\x0e\xf7\xda\xf9\xcd\x15\x58\xfe\xc7\xbe\x06\x0e\xf7\xa5\x7e\x15\x6b\x78\x75\x6c\x87\x1e\x74\x88\x83\x85\x7a\x1a\x7c\x96\x81\x9d" -+"\xc5\xb9\xbb\xc8\x1e\xf7\x3d\x07\xad\xa1\xa2\xac\x8d\x1e\x9f\x8c\x94\x93\x9c\x1a\x9b\x82\x93\x77\x8d\x1e\x6a\x8d\x75\xa2\xac\x1a" -+"\xf7\x3d\x07\xc8\x5d\xbb\x51\x79\x80\x81\x7c\x7a\x93\x85\xa2\x88\x1e\xaa\x87\x9e\x75\x6b\x1a\xfb\x3d\x07\x63\x97\x74\xa8\x76\x1e" -+"\x6e\x76\x7f\x73\x63\x1a\x0e\xf8\x7d\xf7\xe2\xf0\x0a\x89\x8c\xb3\x57\x1f\xb7\x53\x7c\xf7\x34\x1d\x7d\xf7\x00\x0a\xc1\xb7\x94\x7a" -+"\x0a\x56\xcb\xa1\x7f\xac\x1b\xac\xa9\x9d\xb5\xaf\x1f\x9e\xa0\x92\x97\xf7\x09\x0a\x0e\xf7\x95\xfb\x2c\x15\x8a\x83\x8b\x85\x88\x1a" -+"\x73\x9f\x79\xa4\xa4\x9f\x9d\xa3\x8c\x8b\x91\x8a\x95\x1e\x79\xf7\xd4\x05\xa1\x89\x83\x95\x7b\x1b\x7b\x82\x81\x75\x8a\x1f\xab\xf7" -+"\x23\x15\xac\xa5\xa2\xaa\xaa\x71\xa2\x6a\x1f\x7f\x06\x69\x71\x74\x6c\x6c\xa5\x74\xad\x1f\x0e\xf7\xa7\xf8\x83\x15\x64\x83\x75\x83" -+"\x74\x7c\x08\x57\x68\x6c\x53\x4c\x1a\x2d\xd3\x3c\xea\x7f\x1e\x21\x2b\x0a\xf5\x07\xd3\x91\xd7\xaf\xa8\x1a\x9a\x81\x95\x7d\x83\x87" -+"\x89\x84\x82\x1e\x71\x6a\x5f\x7d\x5e\x1b\x36\x4c\xc6\xda\xdd\xca\xc4\xe4\xc8\xb5\x72\x63\x91\x1f\x78\x8e\x92\x83\x5c\x0a\xc7\x07" -+"\x9e\x81\x96\x7a\x82\x84\x87\x82\x86\x1e\x73\x9d\x64\x98\x69\x8c\x08\xed\x34\x1d\x0e\xf7\x56\xbe\x15\xac\xb8\x9d\xc5\xc9\x1a\x9c" -+"\x8a\x9a\x88\x9e\x1e\xde\x44\x0a\x2c\x06\x89\x94\x8b\x8b\x81\xad\x08\x83\xa8\x86\xa4\x9c\x1a\xbe\xb7\xb6\xbf\xac\xa6\x7d\x6b\xa4" -+"\x1e\x81\x94\x90\x87\x93\x1b\x98\x98\x97\x97\x97\x7f\x9c\x76\x9e\x1f\xa5\x6d\x69\x98\x65\x1b\x3a\x4a\x4a\x3a\x71\x8f\x77\xa0\x48" -+"\x1f\x34\x20\x0a\xef\x06\x8d\x7e\x8c\x77\x7d\x1a\x35\x62\x39\x5f\x89\x1e\x7b\x80\x81\x7d\x7a\x97\x82\x9f\x1f\xf7\xd7\x06\xbc\xb4" -+"\xb7\xc0\x9b\x80\x96\x7c\x7c\x82\x82\x79\x8a\x1f\x6e\x88\x7c\x7a\x74\x1b\x0e\xb2\x0a\xf7\xdb\xf7\x7d\x15\xf7\x11\x06\x9e\x93\x92" -+"\x9b\x9c\x83\x92\x78\x1f\xfb\x00\x06\xf7\x32\xf7\x7c\x05\x9f\x27\x0a\xfb\x01\x06\x75\x80\x59\x0a\xa8\x06\xfb\x21\xfb\x64\xfb\x21" -+"\xf7\x64\x05\xa8\x23\x1d\xfb\x03\x20\x0a\xa0\x06\xf7\x31\xfb\x7c\x05\x21\xf7\x33\x1d\x5b\xfb\x11\xf7\x33\x1d\x34\x3a\x20\x0a\xf7" -+"\x6a\x39\x0a\x3a\xe2\xf7\x11\xf7\x0a\x0a\xfb\x11\x06\x0e\xf7\xdb\xf8\x0e\x15\xdb\x07\xcb\xb7\xb6\xcc\x9b\x9a\x89\x85\x9c\x1e\x89" -+"\x95\x8d\x8a\x8f\x1b\x98\x96\x97\x98\x96\x86\x92\x7f\x90\x1f\x94\x77\x6e\x90\x71\x1b\x33\x46\x45\x33\x1f\x3b\x30\x07\x20\x1d\xe6" -+"\xfb\x97\x06\x4b\x62\x5f\x4f\x7f\x7c\x8d\x8d\x83\x1e\x92\x72\x88\x8c\x85\x1b\x7e\x81\x80\x7d\x82\x90\x83\x95\x86\x1f\x82\x9e\xab" -+"\x84\xa5\x1b\xe0\xcf\xcf\xe0\x1f\xf7\x9d\xe6\x07\x53\x0a\x0e\xf8\x8a\xf8\xef\x15\xfb\x6d\x06\x42\x4e\x55\x49\x7b\x8e\x81\x92\x7d" -+"\x1f\x49\x7f\x69\x6e\x5e\x1a\x5a\xb7\x5f\xf0\x53\x1e\xcc\x67\x05\xe9\x57\xad\x6c\x6b\x1a\x65\x65\x6d\x5a\x1e\xfb\x34\xcb\x06\x9d" -+"\x81\x96\x7b\x7b\x81\x80\x79\x1e\xfb\x06\xf7\x68\x07\xdb\xc6\xbd\xcf\x9c\x88\x96\x84\x9a\x1f\xcb\x93\xae\xaa\xba\x1a\xbe\x64\xb4" -+"\x2a\xc0\x1e\x53\xa9\x05\xfb\x09\xcb\x6e\xa3\xad\x1a\xb1\xb2\xab\xb9\x1e\xf7\x37\x4c\x06\x79\x95\x80\x9b\x9b\x95\x96\x9d\x1e\xfb" -+"\x0c\xfb\x61\x15\xca\x6a\xb4\x63\x70\x1a\x76\x71\x7d\x61\x8a\x1e\x81\x06\x89\x8a\x8b\x8a\x87\x1f\x79\x9c\x6d\x9e\x55\xa9\x4d\xad" -+"\x18\x3c\xb7\x60\xb0\xa5\x1a\xa2\xa8\x9b\xb3\x1e\x92\x06\x8e\x8d\x8b\x8c\x8f\x1f\xa7\x73\xa5\x7a\xcb\x69\x08\x0e\xf7\x5b\xf7\x31" -+"\x15\x73\xaf\xa7\x82\xb1\x1b\xb1\xa4\x94\xa3\xb0\x1f\xbf\x57\x05\x82\x94\x92\x88\x92\x1b\x9a\x96\x96\x99\x92\x86\x94\x84\x92\x1f" -+"\x57\xbf\x05\xa2\xac\x95\xa8\xb1\x1a\xaf\x83\xa5\x73\xaf\x1e\xbf\xbe\x05\x95\x95\x8d\x8e\x94\x1a\x9a\x80\x96\x7c\x83\x85\x88\x82" -+"\x82\x1e\x57\x58\x05\xa2\x6a\x6c\x95\x65\x1b\x65\x6e\x82\x73\x69\x1f\x57\xbe\x05\x94\x81\x86\x8e\x83\x1b\x7c\x80\x80\x7d\x83\x8e" -+"\x85\x94\x82\x1f\xbf\x58\x05\x75\x6b\x81\x6c\x67\x1a\x66\x94\x71\xa3\x67\x1e\x56\x57\x05\x82\x82\x88\x85\x83\x1a\x7d\x97\x80\x99" -+"\x93\x90\x8e\x94\x95\x1e\xf7\x2c\xf7\xc4\x15\xcd\xc0\x57\x4a\x4a\x56\x57\x4a\x4a\x56\xbf\xcc\xcb\xc0\xc0\xcb\x1f\x0e\xf7\x7a\xf8" -+"\xef\x15\xae\xfb\x92\x05\x70\x8f\x96\x7e\x9f\x1b\xa0\x96\x97\xa7\x8f\x1f\xad\xf7\x92\x05\x0e\xf7\x79\xf8\xec\xf7\x2f\x1d\x9a\x1b" -+"\x9e\x9b\x99\x9c\x8f\x8a\x91\x89\x91\x1f\xf7\x1e\xf7\x6b\xf7\x2f\x1d\x99\x1b\x9f\x9b\x99\x9c\x8f\x8a\x91\x89\x91\x1f\x0e\xc2\xf7" -+"\x66\xd5\x1d\x9c\xfb\x59\xd5\x1d\x0e\xc2\xf7\x66\xec\x1d\x8e\x93\x1a\x99\x80\x96\x7d\x83\x83\x87\x83\x82\x1e\x0e\xf8\xb9\xd3\x1d" -+"\x0e\xbe\x1d\xf7\xd6\xf8\x04\x15\x23\x2f\x0a\xbf\xfb\xd1\x43\x35\x0a\xf7\x56\x39\x0a\x45\x06\x8a\x87\x0a\xf7\x3b\xf8\x04\x15\xcd" -+"\x44\x1d\x49\xc0\x06\xb8\xa6\xae\xae\x98\xa0\x87\x85\xa1\x1e\x87\x96\x8c\xf7\x2b\x1d\x77\x66\x92\x76\x1b\x4e\x58\x50\x43\x1f\x56" -+"\x43\x07\x20\x1d\xd3\xfb\xd1\x3d\x20\x0a\xf7\x58\x21\x0a\x49\x06\xf7\xd6\xf8\xbc\x15\x23\x20\x0a\xbf\xfc\x89\x43\x20\x0a\xf7\x58" -+"\x06\xa0\x96\x53\x1d\x43\x06\x0e\xf8\x89\xf7\x93\x60\x1d\xfc\x26\x22\x1d\x0e\xd6\x1d\xfc\x22\x06\x27\x1d\x0e\xd6\x1d\x52\xfb\x0f" -+"\x06\x20\x1d\xf7\x0f\xfb\xb7\x06\x39\x1d\x96\x9f\x1e\xf7\xb7\xf7\x0f\x07\x57\x0a\xfb\x0f\x06\x0e\x67\x0a\xf8\x4f\xf8\xbc\x15\xc3" -+"\x06\x9e\x96\x95\x9b\x9a\x80\x95\x78\x1f\xfb\x5d\x06\xfb\x1c\x89\x34\x50\x8a\x2f\x08\x5d\x07\x8e\x38\xdc\x50\xf7\x0d\x85\x08\xfb" -+"\x9e\x2f\x07\x78\x7f\x81\x7b\x7c\x97\x81\x9e\x1f\xf7\x1a\x06\x9f\x96\x94\x9c\x97\x83\x95\x7e\x8d\x1f\xf8\xc7\xc8\xfc\xc7\x07\x7e" -+"\x89\x83\x81\x7f\x1a\x7b\x97\x81\x9d\x1e\xee\x06\x9f\x96\x21\x1d\x77\x1f\x52\x06\x0e\xf7\xbc\xf8\x59\x15\x38\x49\x49\x37\x38\xcd" -+"\x48\xdd\xdc\xcd\xce\xde\xdd\x49\xcf\x3b\x1f\x0e\xf0\x1d\xf7\x35\xf7\x2d\x15\x44\xfb\x74\x05\x8a\x87\x8a\x87\x87\x1a\x7a\xdd\x1d" -+"\xf7\x35\xf8\xef\x15\x44\xfb\x74\x05\x8a\x87\x8a\x87\x88\x1a\x79\xdd\x1d\xf7\xd3\xd3\x1d\xf8\x4d\xf7\x5a\x15\xfb\x67\xf7\x59\x05" -+"\x93\x82\x83\x8f\x83\x1b\x7d\x80\x80\x7d\x82\x8c\x89\x96\x7f\x1f\xf7\x1f\xfb\x35\xfb\x1f\xfb\x36\x05\x80\x7f\x8a\x89\x82\x1a\x7d" -+"\x96\x80\x99\x94\x92\x8e\x94\x94\x1e\x0e\xf1\xe8\x15\x6f\x0a\xf7\x5b\x16\x6f\x0a\xf7\x5c\x16\xf7\x14\x1d\xa8\x72\xa4\x6e\x1f\x0e" -+"\xf7\x26\xf8\xf9\x15\x4a\x59\x59\x4c\x4d\xbe\x58\xc9\xca\x99\x1d\xb5\xab\x6b\x61\x62\x6a\x6a\x63\x62\x6a\xac\xb4\xb4\xac\xac\xb3" -+"\x1f\xf7\xf5\xfb\x52\x15\x97\x8f\x90\x91\x95\x1a\x95\x82\x94\x83\x89\x87\x8a\x89\x85\x1e\xfc\x0a\xfb\x0c\x05\x7e\x87\x86\x85\x81" -+"\x1a\x81\x94\x82\x94\x8d\x8f\x8c\x8d\x91\x1e\xc7\x5c\x15\x4b\x59\x59\x4c\x4d\xbe\x58\xc9\xc9\x99\x1d\xb4\xab\x6b\x61\x62\x6b\x6a" -+"\x63\x62\x6b\xac\xb4\xb4\xab\xac\xb3\x1f\xf7\xa6\xb2\x15\x4b\x59\x59\x4c\x4d\xbe\x58\xc9\xc9\x99\x1d\xb4\xab\x6b\x61\x62\x6b\x6a" -+"\x63\x62\x6b\xac\xb4\xb4\xab\xac\xb3\x1f\x0e\xf7\xa5\xf7\x35\x15\xfb\x0f\x52\x61\x5e\x41\x1a\x2e\xd5\x4c\xf7\x02\xbf\xac\x93\xa6" -+"\xca\x1e\x9a\x92\x8f\x8c\x98\x91\x08\xd1\x79\x0a\x65\x07\x74\x58\x6f\x84\x5f\x1b\x3a\x53\xb6\xc9\xc1\xba\xb4\xf7\x0a\xba\x1f\xd1" -+"\x34\x1d\xb4\xf7\x06\x15\xb0\xa4\xa1\xab\xab\x72\xa1\x66\x1f\x6f\x06\x67\x71\x75\x6b\x6b\xa4\x75\xb0\x1f\x0e\xf7\x5a\xf9\x06\x4d" -+"\x0a\xf8\x49\xf8\xe0\x34\x0a\xf7\xc0\xf9\x12\x3c\x1d\x99\x91\x66\x0a\x95\x89\x8f\x58\x1d\xf8\x47\xf8\xed\x5f\x0a\xf8\x36\xf8\xa1" -+"\x2d\x0a\xf7\x44\xf8\xfe\x42\x1d\xf7\xc1\xf8\xf6\x26\x0a\x0e\xf7\x53\xf8\xf6\x5b\x1d\xf7\xc2\xf9\x26\x63\x0a\xf7\xa1\x96\x15\x31" -+"\xa5\x07\xa6\x99\x85\x7d\x7e\x7b\x82\x74\x7d\x7c\x8f\x95\x77\x6d\x0a\xaa\x93\x1d\xb9\x07\x0e\xf7\xbb\xf8\xdb\x55\x1d\x94\x1a\x99" -+"\xcb\x0a\x88\xa8\x0a\xf8\x3e\x96\x15\x46\x06\x4e\x6e\x76\x71\x60\xc4\x0a\x9e\xa3\xb0\x9f\x1f\x0e\xf7\xc0\xf8\x73\xaf\x0a\xca\x0a" -+"\xb2\x1d\x0e\xf7\xf8\xf7\xa9\x15\xd0\x06\x9c\x96\x94\x99\x9a\x81\x94\x79\x1f\x76\xf7\x36\x06\xbd\x5e\xb0\x4e\x72\x61\x81\x7f\x6d" -+"\x1e\x80\x86\x85\x83\x81\x1a\x7e\x95\x80\x97\x90\x8d\x8b\x8f\x94\x1e\x96\xa6\xa9\x92\x9c\x1b\xaf\xa3\x7b\x73\x1f\x66\x07\x91\x6f" -+"\x7a\x8d\x75\x1b\x3a\x51\x61\x51\x59\xb5\x6a\xc9\xb1\xa6\x92\x9d\xb0\x1f\xc0\x04\x75\x69\x6c\x82\x66\x1b\x6a\x74\x98\x9f\xad\xb2" -+"\xa3\xc0\xa1\x9d\x88\x85\xa5\x1f\x0e\xf7\x7c\xf8\x94\x15\xe6\x3e\x1d\xfb\x7e\x22\x1d\xe6\xfb\x6c\x06\xfb\x10\x44\x05\x7e\x83\x86" -+"\x85\x80\x1a\x7d\x97\x7f\x98\x90\x8f\x8c\x91\x95\x1e\xed\xc3\x05\xfb\x4e\x30\x07\x20\x1d\xf8\x5e\xf7\x60\x78\x1d\xfb\x2d\xfb\x9b" -+"\xf7\x65\x07\xf7\x2c\xe3\x05\x9a\x94\x8f\x90\x96\x1a\x98\x7f\x97\x7e\x85\x83\x89\x87\x85\x1e\xfb\x12\x42\x05\x0e\x8c\x0a\x0e\xf7" -+"\xec\xf7\x9e\x15\xce\x75\x06\x7c\x0a\xea\xac\x1d\x75\x48\xf7\x57\xf7\x48\x21\x2b\x0a\xf7\x31\xfb\xd4\x07\xfb\x29\x25\xfb\x06\xfb" -+"\x3c\xfb\x3d\xf2\xfb\x04\xf7\x2f\x1f\xf7\xe1\xf7\x1c\x06\x9e\x81\x97\x7b\x79\x83\x82\x75\x1e\x36\xfb\x5c\x07\x57\xf8\x61\x15\xfc" -+"\x61\x70\x07\x45\x5a\xa0\xb9\x65\x1f\x6a\xb5\x79\xc2\xcd\x1a\xcd\x9d\xc2\xac\xb6\x1e\xb9\xb1\xbb\xa0\xd2\x1b\x0e\xf7\xc4\xf8\xd4" -+"\x15\x34\x47\x4a\x37\x3a\xd0\x48\xdf\xdf\xcf\xce\xdd\xdc\x47\xce\x39\x1f\x87\x5c\x15\xc7\xb9\x5e\x52\x53\x5c\x5e\x52\x51\x5c\xb9" -+"\xc3\xc2\xba\xb9\xc3\x1f\x0e\xb0\x1d\x0e\x32\x1d\x0e\xf7\xd9\xf8\xef\x15\xfb\x37\x2e\x1d\xf7\x03\xfb\x73\x06\x23\x50\x05\x7c\x83" -+"\x87\x85\x80\x1a\x7d\x96\x80\x99\x91\x8e\x8c\x91\x95\x1e\xda\xb7\x05\xfb\x70\xfb\x2d\x6e\x0a\xf7\xfe\x23\x1d\xfb\x31\xf7\x86\x06" -+"\xf4\xc6\x05\x9a\x93\x8f\x91\x97\x1a\x98\x80\x97\x7d\x86\x87\x8a\x85\x81\x1e\x3b\x5e\x05\x0e\x8d\x0a\x0e\xf8\xdb\xf7\x57\x15\xba" -+"\x89\x9e\x83\xad\x1e\xe3\x78\x58\xbd\x43\x1b\x51\x5f\x68\x47\x6e\x1f\xca\x6d\x57\xb3\x56\x1b\x35\x43\x26\xfb\x0b\xfb\x10\xd4\x22" -+"\xe2\xc1\xbc\xb3\xd0\xa9\x1f\x47\xaa\xc2\x62\xc6\x1b\xac\xaa\x98\xac\xb5\x1f\xa4\x9e\x93\x95\x97\x1a\x98\x7f\x97\x7e\x85\x85\x89" -+"\x87\x86\x1e\x60\x5d\x76\x7f\x6f\x1b\x4f\x56\xd2\xe4\x83\x1f\xbe\x04\xe4\x98\xae\xba\xc3\x1b\xac\xa7\x79\x6a\x9c\x1f\x96\x77\x91" -+"\x73\x90\x62\x08\xfc\x00\xf7\x1c\x15\xc6\xbd\x3b\x2d\x2f\x58\x3a\x52\x52\x58\xdc\xe8\xe6\xbd\xdd\xc4\x1f\x0e\xf7\x0b\xf7\xd4\x15" -+"\xfb\xa1\x5a\x07\x20\x1d\xef\x06\x8c\xf8\x6c\x05\xb8\xb5\xae\xc0\xc2\xb8\x60\x56\x62\x60\x66\x5b\x1e\x86\x06\x7a\x80\x81\x7c\x7a" -+"\x96\x83\xa1\x1f\x8f\x06\xb0\xb8\x7a\x72\xac\x1f\xb0\x6e\xa1\x5e\x5a\x1a\x43\x64\x53\x5a\x68\x76\xa4\xb7\x87\x1e\x9e\x8a\x82\x94" -+"\x7c\x1b\x7b\x81\x80\x7b\x46\xbb\x57\xca\xdb\xc7\xd8\xf1\xe4\x5a\xd0\x31\xb0\x1f\xae\xa6\x9c\xa9\xb2\x1a\xde\x48\xcd\x37\x3a\x48" -+"\x50\x43\x1e\x26\x5a\x07\x20\x1d\x0e\xf7\xd5\xf8\xf7\xcd\x1d\x0e\xf8\x76\xf8\x19\x15\xfb\x55\x07\x39\x1d\x96\x9f\x1e\xf7\x88\xfc" -+"\x46\x52\x0a\x0e\xf7\x3f\x95\x15\x77\xa7\xa0\x85\xb2\x1b\xc9\xc7\xa2\xb7\xc0\x1f\x58\xdc\x07\x9e\x1d\x6e\xf8\x05\xfb\x0d\x06\x74" -+"\x81\x83\x7a\x7b\x3a\x1d\xd0\xfb\x8d\x06\x51\x55\x51\x6f\x49\x1b\x58\x69\xad\xbd\x1f\xf7\xc1\x26\x07\x75\x81\x83\xa5\x1d\xbc\xfc" -+"\xa9\x06\x27\x1d\x0e\xf7\x27\xf8\x9c\x15\xc7\x06\x8c\x48\x05\x7d\x94\x81\x98\x98\x94\x95\x9a\x1e\xf7\x01\xfb\x91\xfb\x02\x07\x7d" -+"\x94\x81\x98\x98\x94\x95\x9a\x1e\xcd\xc7\xfb\x83\x5b\x07\x7c\x81\x82\x7e\x7f\x95\x82\x9a\x1f\xf7\x21\x06\x99\x95\x94\x98\x98\x81" -+"\x93\x7c\x1f\x5b\x06\xf7\xc6\xbb\x15\xd4\xf7\x35\x05\xfb\x65\x6c\x07\x7c\x81\x83\x7e\x7e\x95\x82\x99\x1f\xe0\x06\x9a\x95\x94\x98" -+"\x97\x81\x94\x7c\x1f\x82\xf7\x83\x90\x06\x99\x95\x94\x97\x99\x81\x93\x7c\x1f\x4c\x06\x3d\xfb\x41\x3d\xf7\x41\x05\x4c\x06\x7c\x81" -+"\x83\x7e\x7e\x95\x82\x9a\x1f\x8f\xfb\x83\x82\x06\x7c\x82\x82\x7f\x7e\x95\x82\x99\x1f\xe0\x06\x99\x95\x94\x98\x97\x81\x94\x7d\x1f" -+"\x6b\xf7\x66\x06\xd5\xfb\x36\x05\x0e\x8f\x0a\xf8\x80\xf8\x6d\x15\x91\x92\x8e\x92\x8f\x1a\x98\x81\x95\x7f\x83\x87\x89\x80\x82\xd8" -+"\x0a\x97\xa4\x0a\xf7\x85\xfb\x94\x15\xf7\x37\xf7\x2a\x9b\x9d\xb6\x1a\xc2\x58\xbb\x50\x66\x69\x7b\x6e\x75\x1e\x7f\x7c\x84\x79\x7f" -+"\x1a\x81\x94\x82\x96\x96\x91\x90\x98\x8e\x1e\xa8\x94\xa8\xa0\xad\x1b\xb0\xab\x6e\x6b\x7a\x80\x79\x73\x73\x1f\x5f\x5f\x51\x54\x65" -+"\x69\x83\x84\x85\x86\x88\x88\x08\x5d\xf7\x7f\xb4\x07\x99\x83\x94\x7f\x7e\x83\x82\x7d\x1e\x0e\xf7\xda\xf7\xbb\x15\xf7\x43\x06\xa1" -+"\x96\x94\x9b\x9c\x80\x93\x75\x1f\xfb\x43\xf7\x2d\x06\x4f\x0a\xfb\x2c\xfb\x43\x07\x7a\x88\x8b\x8b\x88\x8a\x08\x84\x86\x86\x83\x82" -+"\x1a\x7b\x96\x82\xa0\x1e\xf7\x43\xfb\x2d\x06\x27\x1d\xfb\x77\x2f\x15\x66\x1d\xf8\x26\x06\xa1\x96\x94\x9b\x9b\x80\x94\x75\x1f\x0e" -+"\xf7\x3f\xf7\x14\x15\xf7\x12\x06\xf7\x08\xe7\xd6\xe9\xe9\x36\xd4\xfb\x01\x1f\xfb\x20\xbb\xf7\x19\x3d\x1d\xfb\x7e\xe4\x1d\xf7\x14" -+"\x04\xf7\x7e\xf7\x23\x07\xd8\xc9\x57\x4b\x4b\x46\x55\x37\x1f\x0e\xf7\x26\xf8\xf7\x15\x3b\x73\x6c\x81\x83\x88\x08\x83\x87\x86\x85" -+"\x82\x1a\x81\x94\x81\x96\x8e\x8e\x8b\x8c\x8e\x1e\xc9\x9f\x05\xfb\x97\x07\x8c\x75\x73\x8b\x7d\x1b\x76\x80\x84\x7c\x7f\x95\x83\x98" -+"\x1f\xf7\x47\x06\x99\x7d\x1d\x46\x06\xf8\x18\xf7\x44\x15\x91\x92\x8e\x91\x90\x1a\x98\xec\x0a\x85\x88\x84\x85\x1a\x7f\x95\x81\x97" -+"\x93\x8d\x8c\x98\x95\x1e\xf7\xd8\xa7\x15\x58\x78\x07\x6c\x83\x87\x7a\x7f\x95\x83\x99\x1f\xe1\x06\x99\x7d\x1d\x80\xbe\x06\xa5\x93" -+"\x90\x9b\x97\x82\x93\x7d\x1f\x80\xf7\x6a\x4e\x06\xfb\x16\xfb\x6d\x05\x65\x07\xf7\x2a\xb4\x15\x25\x06\xf1\xf7\x3d\x05\x0e\xf8\x89" -+"\xf7\x95\x15\xa1\x96\x94\x9b\x9b\x80\x94\x75\x1f\xfc\x26\x06\x66\x1d\xf7\x5f\xfb\x11\x15\x6f\x0a\xf8\x2c\x04\x6c\x72\x73\x6d\x6d" -+"\xa4\x73\xa9\xaa\xa3\xa3\xa9\xa9\x72\xa3\x6e\x1f\x0e\xf7\xda\xf8\xcf\x15\xa0\x82\x96\x7a\x7b\x82\x80\x76\x1e\xfb\x9a\x07\x77\x94" -+"\x80\x9c\x9b\x94\x96\x9f\x1e\xfb\x1d\x04\xa0\x82\x96\x7a\x7b\x82\x80\x76\x1e\xfb\x9a\x07\x7c\x0a\x0e\xf7\xc2\xf9\x0e\x15\x36\x48" -+"\x4a\x38\x3a\xcf\x49\xdd\xdf\xce\xcd\xdc\xdc\x48\xce\x39\x1f\x88\x58\x15\xc3\xb7\x60\x55\x56\x5f\x60\x55\x54\x5f\xb6\xc1\xbf\xb7" -+"\xb7\xc0\x1f\x0e\xf7\x2a\xf8\xe1\x15\x26\x22\x1d\xbc\xfd\x31\xae\x0a\x42\x59\x73\x4f\x59\x1f\xf7\x3e\xac\x15\xef\xd6\x46\x2f\xf7" -+"\x29\x1d\xf7\x05\xf8\x68\x15\x7c\x82\x83\x7e\x7f\x94\x83\x9a\x1f\xbf\x89\xb1\x6d\x65\x1a\x66\x65\x6c\x5f\x6c\x74\xf7\x22\x1d\xc0" -+"\xcf\xc3\xbc\xc7\xae\x78\xdc\x1d\xf8\x09\x90\x15\x91\x91\x8e\x93\x8f\x1a\x98\xc2\x0a\xf7\xf8\xa7\x15\x58\x78\x07\x6d\x83\x87\x7a" -+"\x7f\x94\x83\x99\x1f\xe1\x06\x99\x95\x93\x98\x97\x81\x93\x7d\x1f\x80\xbe\x06\xa5\x94\x90\x9b\x97\x81\x93\x7d\x1f\x80\xf7\x6a\x4e" -+"\x06\xfb\x15\xfb\x6d\x05\x65\x07\xf7\x29\xb4\x15\x26\x06\xf0\xf7\x3d\x05\x0e\xf7\x76\xf7\xbd\x15\xf7\x38\xf7\x2a\x9a\x9d\xb7\x1a" -+"\xc2\x58\xba\x50\x54\x52\x5d\x60\x81\x94\x82\x96\x96\x91\x90\x97\x8e\x1e\xa9\x94\xa8\x9f\xad\x1b\xb0\xab\x6e\x6b\x75\x81\x7e\x5a" -+"\x5b\x1f\x5e\x5f\x61\x64\x63\x67\x85\x86\x18\x5d\xf7\x7f\xb4\x07\x99\x83\x94\x7e\x7f\x83\x82\x7d\x1e\x0e\xf7\x83\xf7\x91\x15\xc4" -+"\x06\xad\x80\xb2\x59\xae\x41\x08\xb6\x06\x9a\x95\x95\x98\x99\x81\x94\x7c\x1f\x7f\x06\x85\x96\x6b\xc0\x7d\x9d\x72\xa0\x19\xb6\x9d" -+"\xa0\xa6\xb0\x1a\xc3\x5d\xb3\x4a\x1e\xfb\x1e\x06\x7b\x81\x82\x7d\x7d\x95\x82\x9b\x1f\x9e\xfb\x7f\x78\x06\x7b\x81\x82\x7d\x7d\x96" -+"\x82\x9a\x1f\xeb\x06\x9b\x95\x94\x99\x99\x81\x94\x7b\x1f\x6d\x06\xf7\x1b\x04\xef\xd3\x07\xb1\xa5\x77\x6e\x6c\x6a\x77\x57\x1f\x98" -+"\xf7\xaa\xc3\x1d\xee\xf7\xc7\x15\x76\x80\x50\x1d\xf8\x26\x27\x0a\x0e\xf8\x4e\xf8\xca\x15\x92\x8e\x90\x93\x95\x1a\x9a\x80\x96\x7d" -+"\x88\x89\x8b\x8a\x89\x1e\x2e\x63\x05\xa7\x4d\x50\x9d\x6f\x1b\x7c\x80\x80\x7c\x7e\x92\x84\x9c\x87\x1f\xb3\x83\x9a\x86\xa9\x7f\x58" -+"\x75\x18\x84\x87\x86\x84\x81\x1a\x7c\x97\x7e\x99\x8d\x8e\x8c\x8c\x8f\x1e\xe2\xb3\xac\x74\xbb\x54\xa4\x60\x19\xa7\x61\x64\x96\x5b" -+"\x1b\xfb\x15\x24\x27\xfb\x10\xfb\x11\xf2\x27\xf7\x17\xca\xc5\xa2\xb6\xb7\x1f\xb9\xb7\xa1\xc3\xd4\x1a\xf6\x4c\xf7\x10\x2b\xde\x1e" -+"\x40\xfb\x2d\x15\xf3\xdb\x3f\x29\x2a\x3a\x3e\x26\x26\x3a\xd8\xec\xeb\xdc\xd9\xee\x1f\x0e\xf7\xc0\xf7\xd1\x15\xfb\x1e\xf7\x1c\x05" -+"\x93\x82\x84\x8f\x84\x1b\x7d\x7f\x80\x7d\x83\x8e\x85\x94\x82\x1f\xf7\x1f\xfb\x1b\xfb\x1f\xfb\x1c\x05\x82\x82\x88\x85\x83\x1a\x7d" -+"\x96\x80\x9a\x93\x91\x8e\x94\x94\x1e\xf7\x1e\xf7\x1c\xf7\x1f\xfb\x1c\x05\x82\x94\x90\x88\x93\x1b\x9a\x96\x96\x99\x93\x88\x92\x82" -+"\x93\x1f\xfb\x1e\xf7\x1c\xf7\x1e\xf7\x1b\x05\x93\x93\x8f\x92\x92\x1a\x9a\x7f\x96\x7d\x84\x85\x88\x82\x82\x1e\x0e\xf7\xb4\xf8\x68" -+"\xbf\x1d\xf7\x28\xf7\x98\x15\x3b\xd4\x44\xdd\xb1\xae\x99\xa7\xa9\x1e\x9d\x9b\x92\x95\x95\x1a\x98\x81\x94\x7e\x83\x86\x89\x84\x85" -+"\x1e\x69\x6d\x76\x80\x68\x1b\x50\x5a\xbc\xc6\x1f\xb1\x07\xc6\xb6\xb9\xc2\xb6\xb0\x74\x6f\x8f\x1e\x7b\x8d\x92\x83\x99\x1b\x99\x94" -+"\x95\x9b\x1f\xc9\x07\x9b\x82\x95\x7d\x80\x83\x85\x7f\x87\x1e\x9d\x6c\x75\x92\x6c\x1b\x3c\x49\x48\x3a\x1f\xf7\x2f\xf7\xa5\xc3\x1d" -+"\x28\x1d\xd7\xf7\x73\x54\x1d\x7f\x96\x7d\xf7\x04\x1d\x28\x1d\x73\xf7\xa5\x45\x1d\x7e\xe1\x0a\x8d\x92\x93\x1e\xf4\xdf\xf3\x37\x05" -+"\x85\x94\x90\x63\x1d\x3d\x0a\x28\x1d\xfb\x1a\xf7\x89\x5b\x1d\x28\x1d\x30\xf7\x99\xdf\x1d\x28\x1d\x78\xf7\xb9\x6f\x1d\x6c\x6d\xa2" -+"\x1d\x0e\x28\x1d\xf7\x02\xf7\x81\x15\x84\x86\x88\x85\x84\x1f\x6d\x80\x0a\x81\x8f\x9e\xdf\x0a\x7e\xf4\x0a\x9e\x1b\x95\x97\x87\x80" -+"\x9d\x1f\x73\xb4\x9e\xd9\x0a\xf7\xd7\x7b\x15\x91\x06\xc5\xcc\xa6\xb7\xbb\x1f\xa7\xa5\x97\x9b\x97\x1a\x99\x81\x95\x7c\x82\x86\x88" -+"\x83\x83\x1e\x4c\x54\x5c\x73\x47\x1b\xfb\x07\x29\xed\xf7\x08\x1f\xd0\x07\xbf\xa1\xc3\xaf\xb2\x1e\xb2\xaf\xba\x9f\xc2\xb9\x0a\x47" -+"\x4f\x71\x5b\x5d\x1f\x5f\x5c\x6e\x46\x4e\x1a\x3a\x07\x8c\xfb\x0b\xea\xfb\x03\xf7\x0c\x73\x08\x47\xa5\x07\xa6\x99\x85\x7d\x7e\x3a" -+"\x0a\x95\x76\xe2\x0a\xaa\x93\x1d\x0e\x25\x0a\xf7\x71\xf9\x40\x54\x1d\x7f\x96\x7d\x83\x86\x89\x82\x82\x1e\xfb\x06\x2a\x05\x7e\x80" -+"\x89\x88\x81\x0a\x91\x68\x1d\x25\x0a\xf7\x0d\xf9\x72\x45\x1d\x7e\x82\x89\x87\x80\x1a\x7d\x96\x80\x99\x92\x90\x8d\x92\x94\x1e\xf3" -+"\xdf\xf3\x37\x05\x84\x94\x90\x89\x91\x1b\x99\x97\x96\x99\x95\x88\x90\x7f\x95\x1f\x0e\x25\x0a\x96\xf9\x56\x5b\x1d\x25\x0a\xba\xf7" -+"\x09\x1d\x93\x92\x88\x92\x1b\x99\x97\x96\x9a\x93\x8a\x8c\x83\x64\x1d\x23\x0a\xf7\x03\xf9\x40\x6d\x1d\x23\x0a\x71\xf9\x72\x8a\x1d" -+"\x96\x89\x8e\x3d\x0a\x23\x0a\xfb\x1c\xf9\x56\x43\x1d\x23\x0a\x2e\xf9\x66\xf7\x06\x1d\x9a\x96\x96\x99\x94\x8a\x8c\x83\x64\x1d\x49" -+"\x1d\x7e\xf9\x81\xd4\x1d\xa6\x94\x90\x9d\x1b\x96\xaa\x1d\x9d\x84\xa2\x1b\xa4\xa0\xe8\x0a\x2d\x1d\xf7\x02\xf7\x67\xb8\x0a\x2d\x1d" -+"\x8d\xf7\x99\x85\x1d\x2d\x1d\xfb\x00\xf7\x7d\x15\x3f\x1d\xf7\x72\x16\x3f\x1d\x0e\x2d\x1d\x44\xf7\x8d\xdf\x1d\x2d\x1d\xf7\x23\xf7" -+"\x75\x97\x0a\x69\x1d\xfb\x17\xea\x15\xf7\x1c\xf7\x01\x05\x98\x95\x8d\x8e\x96\x1a\x99\x7f\x96\x7d\x85\x85\x88\x85\x83\x1e\x22\x37" -+"\x23\xdf\x05\x91\x83\x85\x8e\x85\x1b\x7d\x7f\x46\x1d\x31\x1d\x26\xf8\xb8\x54\x1d\x80\x96\x7c\xf7\x04\x1d\x31\x1d\xfb\x61\xf8\xea" -+"\x85\x1d\x31\x1d\xfb\xcf\xf8\xce\x43\x1d\x31\x1d\xfb\xa7\xf8\xde\xd7\x0a\x93\x92\x88\x91\x1b\x9a\x97\x96\x9a\x93\x8a\x8c\x83\x64" -+"\x1d\x31\x0a\xd7\xf9\x40\x15\x96\x94\x8e\x90\x65\x1d\x82\x82\x1e\xfb\x07\x2a\x05\x81\x82\x88\x86\x82\x1a\x7c\x96\x80\x99\x93\x8f" -+"\x30\x0a\x31\x0a\xfb\x1e\xf9\x56\x43\x1d\x6c\x1d\xf7\x5b\xf9\x06\x15\xf7\x1b\xf7\x01\x05\x99\x95\x8d\x8f\x95\xf7\x1f\x1d\x84\x8e" -+"\x85\x1b\x7d\x7f\x80\x7d\x80\x8e\x87\x98\x82\x1f\x0e\x3f\x0a\x74\xf8\x19\x15\x97\x95\x8d\x8f\x70\x1d\x8f\x8d\x94\x96\x1e\x0e\x48" -+"\x1d\xfb\x10\xf8\x4b\x3c\x1d\x98\x92\x66\x0a\x96\x89\x8e\x58\x1d\x3f\x0a\xfb\x7d\xf8\x2f\xb5\x0a\x3f\x0a\xfb\x59\xf8\x3f\xf7\x11" -+"\x1d\x95\x90\x88\x92\x1b\x9a\x96\x96\x9a\x93\x8b\x8b\x7d\x9a\x1f\x0e\x3f\x0a\xfb\x0e\xf8\x5f\x6f\x1d\x6d\x6d\x72\xa2\xa7\xa7\xa3" -+"\xa2\xa9\x1f\x0e\x3f\x0a\x96\xf8\x26\x90\x1d\x8e\x9f\x67\x1f\x9d\x6b\x7d\x90\xb4\x0a\xa2\x1b\xa4\xf7\x20\x1d\xf7\xd5\x7c\x15\xc2" -+"\x8d\xb7\x96\xb5\xa0\x08\xbb\xa3\xaa\xa8\x9e\xa7\x0a\x89\x07\xdb\x0a\x42\xab\x4a\xc5\x62\x1f\xa8\x75\xa6\x81\xba\x84\x08\x49\xa5" -+"\x07\xa6\x99\x84\x7e\x7e\x7b\x82\x74\x7d\x7c\x8f\x95\x77\xe2\x0a\xab\x83\xa0\x73\x1d\x2c\x1d\x49\xf7\xea\x34\x0a\x2c\x1d\xfb\x3b" -+"\xf8\x1c\x8d\x1d\x96\x80\x99\x92\x91\x8e\x91\x93\x1e\xf3\xdf\xf3\x37\x05\x85\x94\x91\x63\x1d\x7d\x96\x1f\x0e\x2c\x1d\xfb\xa8\xf8" -+"\x00\xb5\x0a\x2c\x1d\xfb\x84\xf8\x10\x4d\x0a\x32\x1d\xcf\xf8\xad\x15\x98\x96\x8d\x8e\x95\x1a\x99\xf2\x1d\x32\x1d\x61\xf8\xdf\x45" -+"\x1d\x7e\xe1\x0a\x8e\x91\x93\x1e\xf4\xdf\xf3\x37\x05\x85\x94\x90\x63\x1d\x3d\x0a\x32\x1d\xfb\x29\xf8\xc3\x43\x1d\x32\x1d\x21\xf8" -+"\xd3\xd7\x0a\x94\x91\x88\x92\x1b\x99\x97\x96\x99\x94\x8b\x8b\x7c\x9a\x1f\x0e\xf7\x41\xf8\x37\x15\x3a\x06\xbb\x0a\xf7\x85\x06\xd5" -+"\xc7\xa5\x9b\xc8\x1b\xaf\x9e\x85\x0a\x77\x97\x74\x70\x1a\xfb\x81\x6f\x6e\x0a\xf7\x01\x06\x9f\x97\x53\x1d\x6e\xf7\x88\x06\xd9\x45" -+"\xc7\x2f\x4e\x66\x79\x53\x57\x1e\xf7\x90\xf7\x86\x90\x1d\x8e\x9f\xa0\x0a\x2c\x0a\xf2\xf7\x62\x54\x1d\x7f\x96\x7d\x83\x86\x88\x83" -+"\x81\x1e\xfb\x06\x2a\x05\x82\x83\x87\x84\x83\x1a\x7c\x96\x80\x99\x93\x8e\x8c\x95\x96\x1e\x0e\x2c\x0a\x8d\xf7\x94\xb1\x0a\x2c\x0a" -+"\xfb\x00\xf7\x78\x43\x1d\x2c\x0a\x4a\xf7\x88\xe6\x1d\x2c\x0a\xf7\x23\xf7\x6f\x15\x84\x86\x89\x84\x84\x1f\x6e\x80\x0a\x83\x8e\x9f" -+"\x67\x1f\x9e\x6a\x7e\x8f\x76\x1b\x70\x75\xcf\x0a\x9d\x1b\x96\x95\x87\x80\x9f\x1f\x73\xb4\x9d\x84\xa3\x1b\xa3\xa1\x96\xa4\xa5\x1f" -+"\x9e\x9d\x90\x92\x95\x1a\x98\x7f\x96\x7d\x1e\x0e\x3e\x0a\xf7\x31\xf8\x04\x15\xf7\x1b\xf7\x01\x05\x97\x94\x8e\x90\x95\x1a\x99\x80" -+"\x96\x7d\x84\x86\x89\x84\x82\x1e\x23\x37\x23\xdf\x05\x92\x82\x86\x8d\x85\x1b\x7c\x80\x46\x1d\x28\x0a\x5b\xf8\xa6\x54\x1d\xf2\x1d" -+"\x28\x0a\xfb\x22\xf8\xd8\xb1\x0a\x28\x0a\xfb\x90\xf8\xbc\x43\x1d\x28\x0a\xfb\x65\xf8\xcc\xe6\x1d\x5d\x0a\xf7\xee\xf7\x70\x34\x0a" -+"\x5d\x0a\xee\xf7\x86\x43\x1d\x4a\x0a\xfb\x49\xf2\x15\xf7\x1b\xf7\x00\x05\x99\x96\x8d\x8f\x95\x1a\x99\x7f\x96\x7d\x84\x86\x88\x85" -+"\xf7\x3f\x1d\x92\x82\x86\x8d\x85\x1b\x7c\x80\x46\x1d\xf7\x7a\xf8\xab\x15\x52\x06\x79\x81\x83\x7d\x7d\x95\x82\x9d\x1f\x95\xfb\x4c" -+"\x79\x06\x7a\x81\x83\x7d\x7d\x95\x82\x9c\x1f\xdd\x06\x9d\x95\x93\x9a\x99\x81\x93\x79\x1f\x7a\xf7\x24\x06\xb1\xab\x9c\x95\xaf\x1b" -+"\xaf\xa5\x77\x6f\x1f\xfb\x24\x81\x07\x79\x81\x83\x7d\x7c\x95\x83\x9d\x1f\xce\x06\x9d\x95\x94\x99\x99\x81\x93\x79\x1f\x81\xf7\x28" -+"\x06\xbe\x5c\xb1\x4e\x67\x75\x82\x72\x6f\x1e\x0e\xbe\x1d\xf7\xae\xf7\xd1\x15\xcd\x44\x1d\x49\xc0\x06\xb9\xa5\xad\xaf\x99\x9d\x88" -+"\x84\xa3\x1e\x87\x96\x8c\x8b\x8e\x1b\x99\x95\xf1\x0a\x4d\x59\x50\x43\x1f\x56\x43\x07\x20\x1d\xd3\xfb\xd1\x3d\x20\x0a\xf7\x58\x21" -+"\x0a\x49\x06\x0e\xf7\x06\xbe\x15\x3d\x20\x0a\xf8\xa5\x39\x0a\x45\xf8\x04\xfb\x39\xc0\x06\xb9\xa6\xad\xae\x9a\x99\x88\x83\xa7\x1e" -+"\x88\x95\x8d\x8b\x8e\x1b\x98\x96\xf1\x0a\x71\xeb\x1d\x06\xf7\xdd\xfb\xd1\x15\xfb\x05\xf7\xd1\xf7\x05\x06\xfb\xa9\xfb\xd1\x15\xf7" -+"\xd1\xf7\x04\xfb\xd1\x07\xf8\x04\x04\xfb\x04\xc0\x06\xb9\xa5\xad\xaf\x99\x9b\x88\x83\xa4\x1e\x8e\x8a\x05\x8d\x8d\x8a\x8a\x8e\x1f" -+"\x81\x77\x86\x76\x72\x1a\x0e\xf8\x83\xf8\xd9\x15\x58\x99\x05\x90\x79\x75\x8e\x7d\x1b\x72\xeb\x1d\xfb\xd1\x3d\x20\x0a\xf8\xa5\x39" -+"\x0a\x45\x06\x57\x16\xfb\x05\xf7\xd1\xd9\x44\x1d\x3d\xc0\x06\xb9\xa6\xad\xae\x98\x99\x89\x84\xa3\x1e\xfb\xa9\xfc\x80\x15\xf7\xd1" -+"\xf7\x04\xfb\xd1\x07\xf8\x04\x04\xfb\x04\xc0\x06\xb9\xa5\xad\xaf\x99\x9b\x88\x83\xa4\x1e\x8e\x8a\x05\x8d\x8d\x8a\x8a\x8e\x1f\x81" -+"\x77\x86\x76\x72\x1a\x0e\xf8\x82\xf8\x6d\x15\x91\x92\x8e\x91\x91\x1a\x97\x81\x95\x7f\x83\x87\x89\x80\x82\x1e\xfb\xf2\xfc\x2e\x05" -+"\x84\x83\x88\xf3\x0a\x88\xa4\x0a\xf8\x28\xfb\x09\x15\xa6\x9f\x99\xa3\xaa\x1a\xc2\x5b\xb8\x51\x51\x5b\x5e\x54\x6c\x98\x73\xa7\x77" -+"\xf7\x08\x1d\xb0\xa8\xf7\x3d\x1d\xa7\xa6\xaf\x1f\xfb\x2f\x04\xb4\xaa\x70\x68\x67\x6c\x6f\x63\x63\x6c\xa7\xaf\xae\xaa\xa6\xb2\x1f" -+"\x0e\xf8\x70\xf7\x24\x1d\x82\x1e\xfb\xf3\xfc\x2e\x05\x83\x82\x89\x87\x85\x1a\x7f\x95\x81\x98\x93\x8e\x8d\x97\x95\x1e\xf8\x2b\xf7" -+"\x08\x15\xa6\x9e\x99\xa5\xf7\x02\x0a\x71\xa6\x78\xc9\x1d\xfb\xe8\xf7\xc9\xbf\x1d\xf8\x71\xf7\x24\x1d\x81\xd8\x0a\xf8\x2b\xf7\x08" -+"\x15\xa7\x9f\x99\xa4\xa9\x1a\xc2\x5b\xb8\x51\x50\x5b\x5e\x54\x6d\x99\x72\xa7\x77\x1e\x6a\x75\x7c\x70\x69\x1a\x51\xbd\x5c\xca\xc9" -+"\xbd\xba\xc5\xad\x7c\xa6\x6a\xa1\x1e\x4a\xf7\x1a\x15\xb0\xa8\x71\x69\x6c\x6e\x73\x66\x66\x6f\xa3\xaa\xac\xa8\xa6\xaf\x1f\xfb\x2f" -+"\x04\xb4\xaa\x70\x68\x67\x6b\x6f\x64\x63\x6b\xa7\xaf\xae\xaa\xa6\xb3\x1f\xfc\x0e\xf8\x27\x15\xf7\x11\x06\x99\x7d\x1d\xfb\x3a\xfb" -+"\x2f\x06\x7e\x93\x82\x97\x90\x8f\x8c\x8f\x92\x1e\x95\x9d\xa6\x92\x9f\x1b\xb4\xa7\x6e\x5f\x58\x6a\x68\x5b\x6d\x70\x97\xa1\x72\x1f" -+"\x90\x85\x87\x8d\x85\x1b\x80\x82\x82\x7f\x71\xcf\x68\xbd\xd3\xbd\xbf\xd5\xce\x5e\xbb\x4d\x76\x7a\x88\x82\x72\x1f\x0e\xf8\x70\xf8" -+"\x6d\x15\x91\x91\x8e\x92\x91\x1a\x97\xc2\x0a\xf8\x2b\xf7\x08\x15\xa6\x9f\x99\xa4\xf7\x02\x0a\x72\xa6\x77\xc9\x1d\xfb\x86\xf8\x27" -+"\x15\x5f\xfb\x17\x5e\xfb\x25\x7f\x1a\x81\x95\x82\x95\x95\x92\x91\x96\x8e\x1e\xe5\xf7\xb1\x05\xb9\xfb\x73\x57\x07\x7d\x93\x82\x98" -+"\x97\x93\x94\x99\x1e\x96\x07\x0e\xb2\x1d\xf7\x25\xf7\x73\x6d\x1d\x28\x1d\xfb\x0e\xf7\x91\x42\x1d\x28\x1d\x0e\xf6\xf8\xa2\x4a\x1d" -+"\xf8\x05\xfb\x59\x15\xbf\xfb\x19\x05\x46\x2e\x1d\xf7\x2a\x29\x1d\x70\xf7\x05\x0a\xfb\x58\x26\x1d\xef\x06\xfb\x43\xfc\x61\x05\x71" -+"\x86\x0a\xf7\x2a\x22\x0a\x46\x06\xbd\xf7\x19\x05\xf7\x82\xbe\x15\xfb\x6f\x06\xf4\xf7\xa9\x05\x92\x06\x0e\x28\x1d\xf7\x0c\xf7\x34" -+"\x15\xa0\x97\x94\x9b\x9b\x7f\x94\x76\x5c\x1d\xf7\xe2\xf8\xc7\x15\xfb\x63\x55\x0a\x96\x1d\x6f\x35\x0a\xf7\x2b\x21\x0a\x44\x06\xbd" -+"\xf7\x19\x05\xf7\x97\x06\xbe\xfb\x19\x05\x47\x20\x0a\xe9\x06\x7a\x1d\xbe\xb5\xb3\x9f\xa0\x96\x82\x94\x82\x87\x87\x8a\x88\x87\x1e" -+"\x7e\x74\x86\x89\x79\x1b\x71\x7f\x94\x9e\xa7\xaa\xaa\xbb\x9f\x1f\xa1\x95\x90\x8f\x9a\x5b\x0a\x6a\x06\xfb\x12\xf7\x4c\xf7\x46\x1d" -+"\x0e\x28\x1d\x76\xf7\xb9\x6f\x1d\x6c\x6d\xa2\x1d\xb0\xf7\x0d\x15\x96\x95\x8e\x8f\x65\x1d\x83\x82\x1e\xfb\x06\x29\x05\x7e\x80\x89" -+"\x88\x82\x1a\x7c\x97\x80\x99\x93\x8f\x30\x0a\x92\x0a\x72\x1d\xca\xa4\xb9\xbc\x1e\xa7\xa5\x97\x9b\x98\x1a\x98\x6e\x1d\x67\xf7\x60" -+"\x15\x97\x95\x8d\x8f\x70\x1d\x90\x30\x0a\x72\x1d\xca\xa4\xb9\xbc\x1e\xa7\xa5\x97\x9b\x98\x1a\x98\x6e\x1d\xfb\x41\xea\x5a\x1d\xba" -+"\x1d\xfb\x41\xf7\x92\xd9\x1d\xba\x1d\xfb\x40\xf7\x76\x26\x0a\x0e\x8b\x0a\x9b\x0a\x90\xf8\xd3\x5a\x1d\x8f\x0a\xae\x16\xf8\xa6\x06" -+"\xfb\x84\xf8\xc6\x05\x59\x06\xfb\x38\xfc\x93\x15\xf7\x51\xf8\x47\xf7\x51\xfc\x47\x05\x0e\x25\x0a\x90\xf9\x5e\x42\x1d\x25\x0a\xf7" -+"\x15\xf8\xd3\x5a\x1d\x25\x0a\xf7\x16\xf9\x56\x26\x0a\x0e\x25\x0a\xf7\x8b\xf9\x01\x2d\x0a\xf8\x8f\xf8\x94\x15\xa8\x06\x54\x0a\xfb" -+"\x2a\x50\x0a\xd0\xfc\x42\x06\xfb\xbc\xf8\x75\x05\xfb\x02\x22\x1d\xbc\x92\x1d\xf8\x42\x06\xf7\xb6\xfc\x67\x05\x92\x7f\x8f\x7b\x77" -+"\x1a\x51\x60\x64\x4c\x1e\x4b\x2e\x1d\xcc\x06\xbc\xb3\x9c\xad\xaa\x1f\xae\xb4\x90\x9e\x8c\xf0\x08\x0e\x72\x0a\x95\xa0\xce\x1d\xf8" -+"\x10\x06\x63\x74\x78\x70\x66\xc4\x0a\x9f\xa3\xaf\x9f\x1f\xa9\x9b\x05\xf7\x34\x34\x1d\xfb\x03\xfb\xc3\x07\x0e\x94\x0a\xd5\xf8\xa2" -+"\x4a\x1d\xf7\x3a\xfb\x07\x15\xf7\x18\x64\x06\x27\x1d\xf7\x15\x34\x1d\x64\xfb\x18\xf7\x57\xf7\xa9\x30\x07\x76\x94\x80\x9c\x9b\x95" -+"\x97\x9f\x1e\xf7\x22\xfc\x30\xf7\x44\x1d\xaa\xfc\x61\x6c\x2e\x1d\xf8\x45\xf7\x36\x06\x56\x1d\x7f\x77\x1e\xfb\x03\xfb\xbe\x07\x0e" -+"\x80\x1d\xe0\xf8\xa2\x4a\x1d\xf8\x25\xfb\x07\x15\xfb\x6b\x5a\x07\x20\x1d\xf7\x21\x06\xa0\x97\x5a\x0a\x63\xf8\x61\x9f\x33\x0a\xfb" -+"\x0d\x26\x1d\xbc\xfb\x57\xfb\x94\xf7\x57\xbb\x22\x0a\xfb\x03\x25\x1d\x96\xfc\x61\x80\x06\x40\x1d\xf7\x03\x29\x1d\x5b\xf7\x6b\x06" -+"\x0e\xf7\x01\xf7\xc6\x15\xf7\x95\x33\x0a\xfb\x91\x06\xf3\xa2\xd4\xca\xeb\xb9\x0a\xfb\x0f\x26\x31\xfb\x14\x77\x1f\x50\x06\x20\x1d" -+"\xc3\x63\x55\x06\x2b\x1d\xc3\x89\x06\x95\x58\x97\x6f\xa7\x65\x08\x44\xbf\xd9\x62\xde\x1b\xcc\xc9\xa4\xb9\xbd\x1f\xa7\xa5\x97\x9b" -+"\x98\x1a\x98\xf7\x05\x1d\x49\x50\xa8\xc3\x61\x1f\x74\xa8\x81\xa2\x81\xb4\x08\x8d\xf7\x90\x07\x53\x0a\xfb\x93\x06\x0e\xc8\x1d\x7f" -+"\x1d\xfb\xd4\xf9\x6c\x5d\x1d\xe1\x4d\x1d\x68\x86\x62\x71\x55\x1b\x56\x51\x1d\xb6\x1d\xfb\x76\xf9\x80\xd9\x1d\x7f\x1d\xfb\x36\xfb" -+"\x16\x15\x91\x95\x8d\x8f\xed\x1d\xb6\x1d\xfb\x75\xf9\x64\x26\x0a\x0e\xf7\x0d\xf8\x1f\x15\xfb\xec\x63\x07\x65\x0a\x5b\xf7\x6b\xf7" -+"\x96\xfb\x6b\x5b\x06\x65\x0a\x63\xf7\xec\xad\x06\xa0\x96\x93\x9d\x9b\x80\x94\x76\x1f\x69\xcd\x9f\x3e\x1d\xfb\x0c\x50\x0a\xbb\x49" -+"\xfb\x96\xcd\xbb\x3d\x1d\xfb\x0c\x22\x1d\x9f\x49\x69\x06\x76\x80\x82\x7b\x79\x96\x83\xa0\x1f\xe1\x16\xf7\x96\x3d\xfb\x96\x06\x0e" -+"\xf8\x43\xf7\x9e\x15\xfb\x6b\x5b\x07\x65\x0a\x63\xf8\x61\x9f\x06\xa0\x96\x94\x9c\x9c\x80\x93\x76\x89\x1d\x06\xf7\x13\xf8\x9b\x3c" -+"\x1d\x99\x91\x91\x8d\x92\x93\x1e\xf3\xdf\xf4\x37\x05\x85\x93\x91\x63\x1d\x7e\x96\x1f\x0e\xf7\x07\xf8\x94\x15\xfc\x61\x3a\x07\x77" -+"\x80\x50\x1d\xf7\x68\x06\xa0\x96\x21\x1d\x77\x1f\x3a\xf8\x61\xdc\x06\x9f\x96\x83\x0a\xfb\x68\x06\x76\x80\x82\x7a\x7b\x96\x82\x9f" -+"\x1f\xf8\x5e\x16\xfc\x66\x07\x41\x4d\x51\x3c\x61\x54\xa1\xa9\x69\x1e\xa0\x73\x8a\x8c\x81\x1b\x7d\x7f\x80\x7d\x80\x8d\x88\x9d\x7d" -+"\x1f\x56\xcd\xb9\x78\xc7\x1b\xf4\xe3\xde\xef\x1f\xf8\x66\x9f\x07\x54\x0a\xfb\x49\x35\x0a\x0e\x23\x0a\xfb\x2a\xf9\x5e\x5d\x1d\xe1" -+"\x64\x0a\x23\x0a\x72\xf9\x56\x26\x0a\x0e\x23\x0a\xe7\xf9\x01\x2d\x0a\xf7\xda\xf8\x94\x15\xf7\x1a\x3d\x1d\xfb\xd4\x22\x1d\xf7\x1a" -+"\xfc\x61\xfb\x1a\x20\x0a\xf7\x9a\x06\x62\x74\x78\x6f\x67\x1a\x62\xa9\x73\xbe\xb6\xb3\x9f\xa0\x96\x82\x94\x81\x88\x87\x8a\x88\x86" -+"\x1e\x7d\x74\xa1\x1d\xa7\xa6\xa6\xc0\xa5\x1f\x9b\x93\x91\x92\x97\x5b\x0a\xfb\x1a\x06\x0e\x23\x0a\x0e\xf7\xdb\xf8\x94\x15\xf7\x19" -+"\x06\x9f\x97\x94\x9b\x9c\x7f\x94\x77\x1f\xfb\xd2\x36\x1d\xf7\x19\xfc\x61\xfb\x19\x25\x1d\xf7\xd2\x06\x9f\x97\xf7\x40\x1d\xfb\x19" -+"\x06\xfb\x16\xf9\x2b\x15\x72\x77\x77\x73\x73\x9f\x77\xaf\x1d\xf7\x63\x16\xe7\x0a\x0e\xf6\xf8\xa2\x4a\x1d\xf7\x9e\xf7\x17\x15\xf7" -+"\x19\x22\x0a\xfb\xd2\x25\x1d\xf7\x19\xfc\x61\xfb\x19\x25\x1d\xf7\xd2\x22\x0a\xfb\x19\x06\x0e\x23\x0a\xf7\x00\xf9\x4e\x15\x84\x86" -+"\x89\x84\x84\x1f\x6d\x80\x0a\x82\x8e\x9f\x68\x1f\x9d\x6b\x7d\x90\xf7\x03\x0a\x81\x1a\x7f\x96\x80\xf7\x07\x0a\x9d\x1b\x96\x97\x87" -+"\x80\x9d\x1f\x73\xb3\x9e\x84\xa2\x1b\xa5\x9f\x95\xa5\xa6\x1f\x9f\x9e\x8f\x91\x95\xa4\x1d\x9e\x0a\xfb\x3a\xf8\xfd\xe2\x1d\x3d\x0a" -+"\xf7\x3f\xf7\x70\x15\xd8\xce\xe7\x6e\xb5\x4f\xd4\xfb\x5a\x19\xe5\x27\x0a\x57\x06\x43\xf7\x4b\x65\xbe\x2f\xb3\xf7\x6a\xf7\x4f\x18" -+"\x99\x06\xa0\x97\x41\x1d\xfb\x0b\x55\x0a\x97\x82\xa0\xcb\x1d\x0e\xb5\x1d\xf7\x55\xfb\x24\x87\x1d\x41\x0a\xf7\x10\xf9\x40\xd1\x0a" -+"\x85\x83\x1a\x7c\x96\x80\x9a\x92\x90\x30\x0a\xf7\xc1\xf8\x94\x15\xf7\x46\xfc\x61\x05\x46\x25\x1d\xf7\x2a\x38\x0a\x70\xf7\x05\x0a" -+"\xfb\x63\x06\x76\x7f\x82\x7a\x7b\x96\x1d\x70\x36\x1d\xf7\x2a\x22\x0a\x46\x06\xf7\x42\xf8\x61\x05\x0e\x41\x0a\xf7\xa5\xf8\x6a\x15" -+"\x90\x92\x8e\x92\x90\x1a\x9a\x80\x96\x7d\x80\x86\x88\x7d\x82\x1e\x36\xfb\x0f\x05\x85\x81\x89\x87\x86\x1a\x7c\x97\x80\x99\x96\x90" -+"\x8e\x99\x94\x1e\x0e\x41\x0a\xf0\xfb\x24\xb6\x0a\x41\x0a\xf7\x17\xf7\xc1\x15\x61\x6b\x6c\x64\x64\xab\x6d\xb5\x1f\x95\x06\xb6\xab" -+"\xa9\xb2\xb3\x6b\xa9\x60\x1f\x0e\x81\x1d\x49\x1d\x82\xf9\x73\xe7\x1d\x49\x1d\xfb\x26\xf9\x06\x5a\x1d\x49\x1d\x25\x2e\x3c\x0a\x91" -+"\x1a\x99\xc1\x0a\x49\x1d\x0e\x2d\x1d\xfb\x0e\xf7\x85\x15\x7c\x80\x80\x7b\x4c\xcc\x5b\xe0\xe1\xcc\xbb\xca\x9b\x80\x96\x7c\x7c\x83" -+"\x83\x79\x89\x1f\x67\x86\x62\x72\x55\x1b\x56\x51\x1d\x2d\x1d\xb0\xf7\x62\x55\x1d\x93\x1a\x9a\xde\x1d\x84\x83\x68\x0a\x2d\x1d\xf7" -+"\x0c\xf7\x28\x2d\x0a\xeb\xbe\x15\xa4\x79\x0a\x3f\xf7\x78\xf7\x0e\x07\x6e\x91\x86\x8c\x7a\x91\x08\x3b\xa6\x5e\xcb\xe1\x1a\xc4\x9f" -+"\xbe\xaf\xb3\x1e\xb7\xb4\xbe\x9f\xd3\x1b\xd3\xbf\x77\x5f\xb3\x1f\xaf\x63\x9f\x57\x54\x1a\x39\x61\x4b\x44\x6e\x1e\x77\x83\x83\x89" -+"\x69\x85\x08\xfb\x0e\xf7\x77\xd7\x79\x0a\x72\xfb\x0f\xa9\x07\xf7\x07\xad\xc7\xdb\xf7\x0c\x1a\xf7\x28\xfb\x09\xf7\x04\xfb\x2f\xfb" -+"\x2f\xfb\x09\xfb\x04\xfb\x29\xfb\x0a\xc8\x39\xf7\x07\x6a\x1e\x6d\x07\xfb\x39\xf8\x6f\x4a\x1d\x0e\x2d\x1d\x0e\xf7\xd3\xf8\xd3\x15" -+"\xfb\x25\xfb\x02\xfb\x14\xfb\x3c\xfb\x39\xf7\x03\xfb\x15\xf7\x21\xf7\x21\xf7\x03\xf7\x16\xf7\x39\xf7\x38\xfb\x02\xf7\x17\xfb\x1f" -+"\x1f\x86\x58\x15\xf7\x05\xe4\x20\xfb\x1d\xfb\x1c\x32\xfb\x00\xfb\x04\xfb\x03\x33\xf7\x01\xf7\x1c\xf7\x1a\xe4\xf7\x01\xf7\x01\x1f" -+"\xfb\x87\x8d\x15\x8c\x91\x8b\x8e\x8d\x1a\x9b\x82\x94\x7b\x7b\x82\x82\x78\x88\x1e\x74\xfb\x25\x05\x89\x83\x8b\x89\x89\x1a\x7c\x94" -+"\x82\x9b\x9b\x93\x94\x9e\x8f\x1e\x0e\x8c\x0a\xf7\x80\xf9\x1b\x54\x1d\x80\x96\x7c\x83\x86\x89\x82\x82\x1e\xfb\x06\x2a\x05\x80\x82" -+"\x88\x85\x83\x1a\x7c\x96\x80\x9a\x92\x8f\x8d\x94\x95\x1e\x0e\xf7\xda\xb1\x15\xf7\x1b\x9a\xe9\xee\xf7\x14\x1a\xf7\x13\x2d\xee\xfb" -+"\x1b\x9a\x1e\xaf\xf0\x07\x62\x1d\xfb\x92\x22\x1d\xf0\x67\x06\xfb\x1b\x7c\x2d\x28\xfb\x13\x1a\xfb\x14\xe9\x28\xf7\x1b\x7c\x1e\x5d" -+"\x26\x07\x20\x1d\xf7\x92\x21\x0a\x26\x06\xf8\x72\x04\xf3\x7c\xd4\x3d\x2a\x1a\x29\x42\x3d\x23\x7c\x1e\x57\x16\x23\x9a\x42\xd9\xed" -+"\x1a\xec\xd3\xd9\xf4\x9a\x1e\x0e\x96\x0a\xf7\xda\xf8\x94\x15\xc0\x29\x1d\xfb\x32\x25\x1d\xc0\xfb\xb0\x06\xfb\x00\x93\x69\xbb\x8d" -+"\xf7\x21\x08\xf7\x1e\x33\x07\x40\x1d\xaf\x34\x06\x8c\xfb\x01\x99\x5b\xb2\x64\xaf\x6a\xba\x79\xc2\x89\x08\xfb\x11\x56\x78\x0a\xf7" -+"\x32\x22\x0a\x56\xf7\x12\x06\xbb\xb7\x9a\xa6\xad\x1f\xbd\xb2\x9a\xba\x8c\xf7\x0c\x08\xe2\xaf\x07\x32\x0a\x33\xfb\x1e\x06\x8d\xfb" -+"\x1e\x66\x56\x22\x85\x08\x0e\x47\x0a\xf7\x31\xf8\x4a\xe7\x1d\x47\x0a\x9f\xf7\xdd\x5a\x1d\x47\x0a\xdf\xfc\x1a\x87\x1d\x84\x1d\x69" -+"\x1d\x87\xf7\x60\x6d\x1d\xf7\xd2\x7c\x15\xf7\x0c\x94\xd7\xcc\xea\x1a\xbe\x73\xb8\x63\xa3\x1e\x6c\x9d\x6e\x94\x3e\x97\x4e\x95\x72" -+"\x93\x72\x9b\x08\x73\x9b\x7e\xa4\xa8\x1a\xc9\xc5\xb8\xda\xd7\xcc\x0a\x84\x07\xae\x62\x5e\xeb\x0a\xaf\x7f\xd2\xab\x0a\xa7\x6d\xbe" -+"\x74\xbe\x84\x08\x4a\xa5\x07\xa6\x99\x84\x7e\x7e\x7b\x82\x74\x7d\x7c\x8f\x95\x77\x1f\x90\x81\x89\x8c\x85\x47\x1d\x85\xa0\x1d\xb1" -+"\x73\xa3\x62\x8e\x1f\x0e\xd0\x0a\xaf\x7f\xd2\x88\x0a\xfb\x21\xf7\x92\x8a\x1d\x96\x89\x8e\x3d\x0a\x69\x1d\xfb\x09\xfd\x04\xe5\x1d" -+"\xf8\xac\xf8\xc7\x15\xfc\x26\x59\x06\xf7\x4d\xfb\x6c\xfb\x4d\xfb\x8a\x05\x58\xf8\x2d\xf7\x2a\x07\xa0\x84\x95\x7c\x7d\x83\x82\x7c" -+"\x8a\x1e\x86\x21\x05\xfb\xbd\x06\xf7\x56\xf7\x8b\xfb\x4f\xf7\x6a\x05\xf7\xac\x06\x95\xfb\x04\x05\x81\x8c\x94\x83\x97\x1b\x98\x93" -+"\x94\x9b\x1f\x0e\x61\x0a\xf7\xdb\xf7\xed\x15\xf7\x3b\xf7\x2f\x49\x07\x78\x96\x7d\x9b\x9c\x93\x95\xa2\x1e\xf7\x09\xfc\x67\xfb\x09" -+"\x07\x58\x0a\xcd\xf7\x30\xfb\x3b\x29\x07\xba\x0a\xed\xfb\x87\x28\x06\x75\x80\x71\x0a\x80\x94\x75\x1f\x28\xf7\x87\xec\x23\x1d\x0e" -+"\x62\x0a\xfb\x12\xf8\xd3\x15\xf7\x1b\xf7\x01\x05\x99\x95\x8d\x8e\x96\x94\x1d\x7d\x7f\x46\x1d\xf7\xd8\x16\xf1\x21\x0a\x28\xf8\x61" -+"\xf7\x2f\x49\x06\xe0\x1d\xee\x3c\xa5\x06\xa7\x98\x85\x7d\x7e\x7b\x82\x74\x7c\x7d\x8f\x95\x77\x1f\x90\x81\x88\x8c\x86\x47\x1d\x84" -+"\x9b\x84\x1f\x80\xa0\xa9\x84\xa1\x1b\xbd\xad\xa6\xb5\xb1\x73\xa3\x62\x8e\x1f\x0e\xf7\x5b\xf7\xc9\x15\x97\x07\x9e\x81\x96\x7b\x7b" -+"\x81\x80\x78\x1e\x3e\x07\x78\x95\x80\x9b\x9b\x95\x96\x9e\x1e\x99\xf7\x62\x7d\x07\x78\x95\x80\x9b\x9b\x95\x96\x9e\x1e\xd8\x07\x9e" -+"\x81\x96\x7b\x7b\x81\x80\x78\x1e\x7f\x07\x26\xf7\x9e\xc7\x1d\x0e\x31\x1d\xfb\xdd\xf8\xd6\xb3\x0a\x31\x1d\xfb\x3e\xf8\xb3\x15\x98" -+"\x96\x8c\x8e\x93\x1a\x9a\xcb\x0a\x89\x82\xed\x0a\x96\x95\x8d\x8f\x93\x1a\x9a\x80\x96\x7d\x83\x84\x68\x0a\x31\x1d\x34\xf8\x79\x15" -+"\xa0\x96\x94\x9b\x9b\x80\x94\x76\x5c\x1d\xf8\x8d\xf8\x94\x15\xa8\x06\xa0\x96\x94\x9c\x9c\x81\x93\x75\x1f\xfb\x2a\x22\x1d\xd0\xfb" -+"\xd9\x06\x35\x48\x49\x35\x36\x48\xcd\xe1\x1e\xf7\xd9\xd0\x07\x54\x0a\xfb\x29\x06\x3b\x0a\xa7\xfb\xd9\x06\xfb\x07\xe3\x33\xf7\x08" -+"\x97\x92\x8c\x8d\x9a\x1e\x71\x76\x7e\x73\x6e\x1a\x62\xa9\x73\xbe\xb6\xa7\x1d\x86\x1e\x7e\x74\x87\x89\x78\x1b\x71\x7f\x94\x9e\xa4" -+"\x9f\xa9\xb2\xaa\x1f\xdb\xcf\x9d\xac\x8f\xdd\x08\x0e\x31\x0a\x0e\xf7\xdb\xf7\x91\x15\xf7\x40\xf7\x97\x05\xa0\x06\x9f\x97\x94\x9c" -+"\x9b\x7f\x94\x77\x1f\xfb\x03\x25\x1d\xa8\x06\xfb\x1d\xfb\x63\xfb\x20\xf7\x63\x05\xa8\x29\x1d\xfb\x03\x35\x0a\xa0\x06\xf7\x43\xfb" -+"\x97\x05\xfb\x5e\x28\x07\x76\x7f\x71\x0a\x46\x0a\x28\x06\xfb\x15\xf9\x2b\x15\x72\x77\x77\x73\xf7\x19\x1d\x67\x1d\x9e\xa3\xa4\x77" -+"\x9f\x72\x1f\x0e\xeb\xf8\xa2\x4a\x1d\xf7\xaa\xfb\x14\x15\xf7\x40\xf7\x97\x05\xa0\x06\xa0\x97\x94\x9c\x9b\x46\x0a\xfb\x03\x4e\x1d" -+"\xa9\x06\xfb\x1e\xfb\x63\xfb\x1f\xf7\x63\x05\xa8\x29\x1d\x2e\x5c\x06\xf7\x45\xfb\x9b\x05\xfb\x5e\x29\x07\x40\x1d\xf7\x8d\x22\x0a" -+"\x28\x06\x0e\x31\x1d\xfb\x5f\xf8\xfe\x63\x0a\x31\x1d\x52\xf8\xc6\x97\x0a\x59\x1d\xf8\x0f\xf7\x73\xd1\x0a\x86\x81\x0a\x90\x30\x0a" -+"\x59\x1d\xf7\x86\xf7\xa5\x45\x1d\x7f\x82\x88\x87\x80\x1a\x7e\x97\x7f\x98\xf5\x1d\x59\x1d\xf7\x19\xf7\x89\x5b\x1d\x59\x1d\xf7\x20" -+"\xf7\x99\xf7\x11\x1d\x94\x91\x88\x91\xf7\x3b\x1d\x86\x91\x05\x0e\xf8\x73\xf8\x94\x15\x30\x2b\x0a\xf7\x22\xfc\x61\xfb\x22\x2b\x0a" -+"\xe6\x07\xe7\xfb\x62\x15\xae\x07\xa0\x82\x97\x7a\x7a\x82\x7f\x76\x1e\xfb\x0d\x9b\x1d\xae\xf7\x41\x68\x9b\x1d\xf7\x0d\x07\xa0\x82" -+"\x97\x7a\x7a\x82\x7f\x76\x1e\x68\x07\xfb\x9d\xfb\x93\x15\xe6\x34\x1d\xfb\x22\xf8\x61\xf7\x22\x34\x1d\x30\x07\x0e\x31\x0a\x6f\xf9" -+"\x72\x85\x1d\x31\x0a\xfb\x07\xf7\x09\x1d\x94\x91\x88\x91\x1b\x9a\x96\x96\x9a\x93\x8a\x8c\x84\x64\x1d\x6c\x1d\xf7\xe7\xf9\x73\xf7" -+"\x00\x1d\x96\x80\x9a\x92\x90\x30\x0a\x6c\x1d\xf7\x5f\xf9\x89\x26\x0a\x0e\xf7\x45\x1d\x79\x83\xe1\x1d\x0e\x48\x1d\xfb\x82\xf8\x37" -+"\x42\x1d\xb0\x1d\xfb\x06\xf7\xea\x15\x96\x94\x8e\x91\x93\x1a\x9a\x80\x96\x7d\x83\x87\x9d\x1d\x82\x88\x86\x81\x1a\x7d\x96\x80\x9a" -+"\x92\x8f\x30\x0a\xca\x0a\x28\x1d\x0e\xf8\x8d\xf8\xc7\x15\xfc\x44\x69\x0a\xf7\xc2\x06\xec\xd5\xd0\xe4\xf0\x37\xc5\xfb\x25\x1f\xfb" -+"\x23\xf7\x57\xf7\xab\x30\x06\x76\x94\x7f\x9c\x9c\x94\x97\xa0\x1e\xfb\xdf\xfc\x06\x15\xf7\x6b\xf7\x20\x07\xce\xe5\x0a\x92\x0a\xc8" -+"\x1d\xf8\x95\x16\x29\x07\x73\x24\x0a\xa4\x1e\xf7\x02\x07\x8a\xad\x87\x8e\x68\x8c\x08\x68\xf8\x61\xae\x24\x1d\xfc\x14\x3b\x1d\xbc" -+"\xfb\x80\x06\x8a\x2b\x81\x62\x6a\x64\x71\x6e\x6c\x79\x71\x8a\x08\x75\x89\x85\x83\x6e\x1a\xfb\x02\x07\x72\x24\x0a\xa3\x1e\xed\x07" -+"\xf7\x2f\xf8\x94\x15\xf7\x58\xfc\x61\xfb\xa0\x06\xb6\xad\xa6\xdf\x8d\xf6\x08\x0e\x94\x0a\xf7\x42\xf7\x9e\x15\xf7\x19\x64\x06\x77" -+"\x95\x7f\x9b\x9b\x95\x97\x9f\x1e\xf7\x15\x07\x9f\x82\x97\x7a\x7b\x81\x7f\x77\x1e\x64\xfb\x19\xf7\x57\xf7\xa9\x30\x07\x77\x95\x7f" -+"\x9c\x9b\x94\x96\xa0\x1e\xf7\x22\xfc\x42\x07\x76\x80\x82\x7a\x7b\x97\x82\x9f\x1f\xbc\xfc\x61\x5a\x06\x7c\x1d\xf8\x58\xf7\x36\x06" -+"\x9f\x81\x97\x7a\x7b\x82\x80\x76\x1e\xfb\x03\xfb\xbf\x07\xa2\xf9\x2d\xe3\x1d\xf7\xda\xf8\x94\x15\xa5\x2f\x1d\x24\x3b\x1d\xa4\xfb" -+"\x4d\x86\x06\x74\x8c\x7f\x9c\x5c\xeb\x08\xf6\x57\x7a\x9a\x4b\x1b\x70\x84\x83\x6c\x1f\x55\x07\x73\x94\x7f\x9c\x9b\x95\x97\xa0\x1e" -+"\xb9\x07\xa0\x88\x95\x7d\xb1\x3e\xa4\x55\xa4\x60\x98\x7c\x6f\x7a\x6c\x60\x71\x4e\x53\xfb\x1b\x18\x70\x2a\x0a\xab\x06\xa8\x8c\x8d" -+"\x8c\x96\xa5\xc4\xf7\x1d\x18\xab\xd4\xaf\xb4\xa9\x88\x08\x94\xfb\x75\x72\x06\x71\x7e\xa8\x1d\xf2\x2f\x1d\x71\xf7\x75\x94\x06\xaa" -+"\x8e\xaf\x62\xab\x42\xc4\xfb\x1d\x18\x96\x70\x8c\x8b\xa9\x8a\x08\xab\x2f\x1d\x71\x06\x52\xf7\x1b\x71\xc7\x6c\xb7\x6f\x9b\x19\x97" -+"\x99\xa6\xba\xa3\xbf\xae\xd4\x98\x9d\xa0\x8e\x08\x5d\x07\x76\x95\x7f\x9c\x9b\xf7\x0b\x1d\x06\x0e\xe3\xf8\x5e\x15\x87\x07\x84\x89" -+"\x7a\x8a\x81\x1e\x89\x7e\x89\x7a\x84\x1a\x7c\x94\x82\x9a\x98\x93\x93\x9c\x8f\x1e\xe8\xa0\xc6\xba\xeb\x1b\xe8\xc7\x63\x4c\x73\x83" -+"\x76\x7c\x7b\x1f\x6f\x71\x43\x78\x39\x1b\x6f\x33\x1d\xa7\x06\xe5\xba\x85\x7b\xa9\x1f\xaf\x78\xa0\x6c\x67\x1a\x6a\x7b\x6c\x70\x76" -+"\x1e\x74\x6c\x60\x80\x4b\x1b\x42\x57\x9b\xb6\x42\x1f\x90\x83\x85\x8d\x84\x1b\x7f\x7d\x7e\x7e\x61\xf7\x15\x5a\xf7\x03\xe2\xc4\x9a" -+"\xae\xb4\x1f\xb0\xaa\x9f\xb6\xba\x1a\xd0\x64\xb9\x3e\xa2\x1e\xca\xa6\xab\xb6\xc7\x1a\xe5\x3a\xc9\xfb\x08\x4b\x5a\x7a\x64\x5b\x1e" -+"\x86\x85\x88\x8a\x89\x1b\x86\x87\x93\x9b\x88\x1f\xa1\x87\x83\x95\x7c\x1b\x7d\x82\x82\x7c\x85\x8c\x7f\x8c\x7c\x1f\x87\x8b\x84\x8c" -+"\x83\x1e\x0e\x5e\x0a\x0e\x5e\x0a\xe9\xf7\x80\x15\x7b\x81\x80\x79\x4a\xcd\x59\xe0\xdf\xcd\xbd\xcc\x9d\x81\x96\x7b\x7b\x83\x83\x77" -+"\x89\x1f\x65\x86\x62\x70\x56\x1b\x57\x61\xa7\xb0\x87\x1f\x9e\x89\x83\x94\x7b\x1b\x0e\xb1\x1d\x0e\xf8\x7e\xf8\x94\x15\xb0\x36\x0a" -+"\xfc\x17\x2a\x0a\xbd\xfb\xd1\x06\x20\x6c\x55\x4f\x81\x83\x8c\x8f\x7e\x1e\xc4\x07\xa0\x82\x97\x7a\x7a\x82\x7e\x73\x1e\x50\x07\x78" -+"\x8e\x81\x93\x87\x1e\x82\x99\xae\x84\xa5\x1b\xe6\xbc\xd4\xf7\x1e\x1f\xf7\xd1\xf7\x58\xfc\x61\x66\x07\x70\x0a\xf7\x12\x36\x0a\x66" -+"\x06\x0e\x81\x1d\x80\x1d\x2d\x1d\x0e\x96\x0a\x84\x1d\x90\x0a\x61\x0a\xb7\x1d\x0e\xf7\xda\xf8\x94\x15\xad\x06\xa6\x7f\x0a\x70\x1f" -+"\xfb\x04\x06\x69\x7a\x83\x7a\x7a\x9c\x82\xa9\x1f\xa9\x6b\x06\x50\x8a\x63\x81\x67\x76\x08\x51\x68\x69\x4e\x44\x1a\x4a\xa8\x52\xbe" -+"\x67\x1e\xb0\x70\xb6\x80\xce\x89\x08\x6b\x6a\x07\x70\x7a\x81\x7b\x7b\x9a\x82\xa8\x1f\xf7\x0b\x06\xa5\x9a\x94\x9c\x9b\x7d\x94\x70" -+"\x1f\x69\xab\x06\xc9\x8d\xb4\x94\xae\xa1\x08\xc4\xae\xac\xc9\xd0\x1a\xcc\x6e\xc4\x57\xaf\x1e\x64\xa6\x60\x97\x4a\x8c\x08\x57\xfb" -+"\xed\x15\x5a\x8e\x69\x94\x70\x9b\x08\x62\xa5\x73\xb7\xbb\x1a\xb5\x9d\xb1\xab\xa6\x1e\xa9\xa4\xad\x96\xc8\x8f\x08\xbf\x16\xbe\x87" -+"\xad\x82\xa6\x7b\x08\xb3\x71\xa3\x60\x5a\x1a\x5e\x76\x63\x67\x70\x1e\x6f\x77\x67\x80\x54\x88\x08\x0e\x8b\x0a\xf8\x6f\xbe\x15\xf8" -+"\x61\xb2\x73\x0a\xfb\x1f\x06\x76\x7f\x76\x0a\xbb\xfc\x61\xfb\x94\xf8\x61\xbc\x23\x1d\xfb\x21\x8c\x1d\xf8\x45\x5e\x1d\x8a\xac\x86" -+"\x90\x69\x8c\x08\x0e\xf8\x38\xbe\x15\xfb\x02\x2a\x0a\xf7\x5c\x24\x1d\x65\xf8\x61\xb1\x06\xa5\x99\x94\x9b\x9c\x99\x0a\x0e\xf8\x6f" -+"\xbe\x15\xfb\x29\xf8\x61\x9b\x43\x0a\x2e\x4e\x1d\xa4\xfc\x61\xfb\x28\xf8\x61\xa3\x22\x0a\xfb\x08\xd4\x0a\x69\x2e\x1d\xf8\x9d\x22" -+"\x0a\x69\xf8\x61\x9b\x22\x0a\x2e\x36\x1d\xa4\x06\x0e\xf8\xa3\xbe\x15\xf8\x61\x9b\x07\x32\x0a\x2e\x36\x1d\xa4\xfc\x61\xfb\x29\xf8" -+"\x61\x9b\x43\x0a\x2e\x4e\x1d\xa4\xfc\x61\xfb\x28\xf8\x61\xa3\x22\x0a\xfb\x08\xd4\x0a\x69\x2e\x1d\xf8\x96\x5e\x1d\x8a\xad\x87\x8f" -+"\x68\x8c\x08\x0e\xf7\x8a\xf8\x94\x15\xbc\x43\x0a\xfb\xbb\xfb\x5f\x06\x76\x94\x7f\x9c\x9c\x94\x96\xa1\x1e\xf7\x2c\xf7\x22\xfc\x61" -+"\x79\x5f\x1d\xf7\x85\x06\xeb\xd4\xcf\xe5\xf0\x38\xc5\xfb\x25\x1f\xfb\x04\x06\xfb\x9e\x04\xf7\x6b\xf7\x01\x07\xce\xb5\x81\x73\xaa" -+"\x1f\xa4\x77\x99\x70\x6e\x1a\x50\x56\x5d\x48\x1e\x0e\xf7\x19\xf8\x94\x15\xbc\x43\x0a\xfb\x2a\x69\x0a\xf7\x6e\x06\xec\xd5\xd0\xe4" -+"\xf0\x38\xc5\xfb\x26\x1f\x50\x06\xfb\x9e\x04\xf7\x6b\xc2\x07\xf7\x06\xce\x63\x46\x4f\x57\x5d\x45\x1f\xf7\xa2\xf8\x61\x15\xbb\x22" -+"\x0a\xfb\x28\x06\x75\x7f\x82\x7b\x7a\x97\x82\xa1\x1f\xbb\xfc\x61\x5b\x06\x75\x7f\x82\x7a\x7b\x97\x82\xa1\x1f\xf7\x28\x29\x1d\x5b" -+"\x06\x0e\xf7\x42\xf8\x94\x15\xbc\x43\x0a\xfb\x2a\x69\x0a\xf7\xc2\x06\xec\xd5\xd0\xe4\xf0\x37\xc5\xfb\x25\x1f\xfb\x23\x06\xfb\x9e" -+"\x04\xf7\x6b\xf7\x1f\x07\xcf\xe5\x0a\xf8\x7c\xf7\xd1\x15\xfb\x8a\xf7\x42\x1d\xf7\x8a\x7a\x06\x57\x76\x58\x65\x61\x1e\x5d\x62\x5a" -+"\x75\x50\x1b\x4a\x53\xa7\xc5\x59\x1f\x94\x83\x85\x8e\x81\x1b\x7d\x81\x82\x7e\x77\xa5\x6d\xb3\x6f\x1f\x67\xc1\xb3\x7e\xc1\x1b\xd5" -+"\xc7\xa6\xc3\xc1\x1f\xbd\xbf\xa6\xc9\xc8\x1a\xdc\x07\xc9\x73\xc7\x60\xbd\x1e\xc1\x5b\x53\xa4\x42\x1b\x49\x54\x77\x63\x5d\x1f\x9a" -+"\x07\xa0\x81\x84\x0a\xfb\x01\x07\x76\x94\x7f\x9c\x9b\x93\x94\x9f\x8d\x1e\x8d\xa1\x91\x97\x9c\x9d\x08\xad\xac\xc1\xa0\xbf\x1b\xb8" -+"\xb9\x7b\x72\xa7\x1f\xb8\x63\xaa\x49\x56\x1a\x0e\xf7\x64\xf7\xd1\x15\x2d\xf7\x57\xb0\x22\x0a\xfb\x01\x06\x77\x7f\x50\x1d\x9f\xfc" -+"\x61\x77\x26\x1d\xf7\x01\x06\xa0\x97\x5a\x0a\x66\xf7\x6b\xe9\x6b\x06\xfb\x31\xd3\x2f\xf7\x10\xc4\xbb\xa0\xb3\xac\x1e\xaf\xb5\x9c" -+"\xc8\xe0\x1a\xe6\x07\xe0\x7a\xca\x68\xb5\x1e\xb2\x6a\x5a\xa1\x54\x1b\x55\x5a\x76\x65\x67\x1f\x63\x60\x78\x4f\x32\x1a\xbf\x16\xf7" -+"\x14\xc0\xd3\xe8\xe6\xb9\x47\xfb\x18\x1e\x30\x07\xfb\x17\x5c\x48\x30\x2e\x57\xd3\xf7\x12\x1e\x0e\xf8\x3d\xf7\x8a\x15\xfb\x57\x46" -+"\x07\x40\x1d\xf7\x3e\x06\x9f\x97\x95\x9b\x9b\xf6\x0a\x9b\x9c\x7f\x94\x77\x1f\xfb\x89\x06\x27\x37\x43\x36\x4a\xb8\x5a\xe2\x6b\x1f" -+"\x50\x60\x75\x6f\x39\xfb\x1e\x08\x6f\x06\x7c\x1d\xc4\x06\x91\x96\x8f\x92\x94\x9a\xd9\xf7\x1a\xb1\xb6\xd5\xaf\x08\xf7\x0d\xbe\x15" -+"\x23\x06\x2d\x3d\xbd\xc7\xc1\xcb\xbe\xd0\x1f\xf7\x23\x06\x0e\xf7\x49\xf8\x94\x15\xfc\x61\x30\x07\x76\x80\x82\x7a\x7a\x96\x83\xa0" -+"\x1f\xf7\x7e\x06\xa0\x96\x93\x9c\x9c\x80\x94\x76\x1f\x30\xf8\x61\xf7\xce\xf7\x5f\x78\x1d\xfb\x2c\xfc\x29\x07\x20\x1d\x0e\xf7\x8a" -+"\xf7\x62\x15\xc3\xd2\xbe\xa2\xc1\x1b\xc6\xaf\x5e\x43\x3f\x6a\x5c\x51\x85\x1f\x72\x88\x80\x82\x7b\x1a\x7a\x97\x82\xa1\xde\xca\xd9" -+"\xf1\xf2\x50\xd0\x34\x54\x55\x76\x5b\x46\x1e\xf7\x88\xf7\x12\x07\x93\x24\x05\x72\x8d\x95\x7f\x9c\x1b\x9a\x94\x95\x9a\x8e\x8b\x8f" -+"\x8a\x94\x1f\x81\xf7\x05\x05\xab\x87\x86\x90\x6b\x1b\xfb\xd9\xcf\x1d\x06\x0e\xf7\x7f\xbe\x15\xf8\x61\xf7\x95\xfb\x2c\x07\x77\x95" -+"\x7f\x9b\x9c\x94\x96\xa0\x1e\xf7\x5f\xfc\x58\x07\x7c\x1d\xe6\xfc\x61\x30\xf7\x0b\x0a\xf7\x7d\x06\xa0\x97\x57\x1d\xbc\xf9\x29\x15" -+"\x96\x95\x8e\x90\x93\x1a\x99\x7f\x97\x7d\x84\x83\x87\x85\x83\x1e\xfb\x05\x2b\x05\x81\x82\x87\x84\x83\x1a\x7d\x96\x7f\x99\x92\x91" -+"\x8e\x93\x95\x1e\x0e\xf7\x04\xf7\xd1\x15\x92\x07\xc0\xaa\xcd\xb8\xb3\x1e\xa4\xa7\xb9\x9b\xb8\x1b\xbb\xbc\x79\x6e\xac\x1f\xa2\x77" -+"\x94\x7c\x8d\x72\x08\x77\x8d\x93\x82\x9b\x1b\x9c\x94\x97\xa0\x1f\xf7\x01\x07\xa0\x82\x96\x7a\x7b\x81\x80\x76\x1e\x7c\x07\xb3\x5d" -+"\x54\x9f\x4a\x1b\x41\x53\x72\x55\x5b\x1f\x60\x59\x73\x4f\x4d\x1a\x3a\x07\x4e\xa6\x4d\xbd\x57\x1e\x53\xc1\xc7\x70\xd5\x1b\xc1\xb3" -+"\x98\xaf\xc1\x1f\xb4\xa7\xa4\xa9\x9f\x1a\x98\x81\x94\x7d\x81\x85\x88\x82\x83\x1e\x51\x59\x53\x6f\x4a\x1b\x50\x5a\xa1\xb9\x62\x1f" -+"\x65\xb5\x76\xbe\xbf\x1a\x9c\xf7\x8a\x07\xa0\x97\x95\x9b\x9b\x80\x94\x75\x1f\x0e\xd0\x0a\xaf\x7f\xd2\x88\x0a\x0e\x23\x0a\x0e\xf7" -+"\x5b\xf9\x60\x15\x71\x77\x78\x72\x73\x9f\x77\xa4\xa4\x9f\x9e\xa4\xa3\x77\x9f\x73\x1f\xf7\x61\x95\x1d\xa4\xa3\x77\x9f\x72\x1f\x3d" -+"\xfb\x60\xd0\x1d\x0e\x9d\x0a\xf8\x18\xf8\x94\x15\xbd\x36\x0a\xfb\xbe\x2a\x0a\xbd\xfb\xd1\x06\x22\x6e\x53\x55\x7f\x82\x8d\x91\x79" -+"\x1e\xc1\x07\xa0\x82\x97\x7a\x7a\x82\x7e\x74\x1e\x4f\x07\x78\x8e\x81\x92\x87\x1e\x82\x9a\xad\x84\xa8\x1b\xae\xa8\x95\x9e\xa0\x1f" -+"\xab\xa7\xa0\xd3\xdd\x1a\xf7\xd1\xe9\xfc\x61\x61\x07\x35\x1d\xbe\x06\xed\xb5\x92\xa0\xab\x1f\xb3\xa6\xa3\xbb\xc2\x1a\xc2\x75\xb8" -+"\x63\xa7\x1e\x6c\xa1\x64\x95\x4e\x8c\x08\x56\x04\xea\x89\xb5\x6b\x43\x1a\x66\x7e\x6c\x73\x79\x1e\x78\x7c\x6c\x84\x59\x8a\x08\x0e" -+"\xf7\x9a\xf7\x9e\x15\xfb\x6b\x72\x07\x40\x1d\xf7\x56\x06\xeb\xd5\xd0\xe5\xef\x38\xc5\xfb\x26\x1f\x51\xf7\x57\xbb\x27\x0a\xfb\x11" -+"\x36\x1d\xa4\xfb\x57\xfb\x2a\xf7\x57\xa4\x29\x1d\x2a\x26\x1d\x9f\xfc\x61\x6e\xf7\x0b\x0a\xf5\x38\x0a\x72\xf7\x6b\x06\xf7\x5e\xfb" -+"\x6b\x15\xf7\x6b\xc2\x07\xce\xb6\x81\x73\xaa\x1f\xa4\x77\x99\x70\x6e\x1a\x50\x56\x5d\x47\x1e\x0e\xf7\x8a\xf8\x94\x15\xf7\x14\x06" -+"\x92\x24\x05\x72\x8d\x94\x7f\x9c\x1b\x9a\x95\x95\x9c\x8c\x8b\x8b\x8a\x98\x1f\x83\xf7\x05\x88\xac\x87\x8e\x6a\x8c\x19\xfb\xdd\xcf" -+"\x1d\xf7\x2e\x06\xc7\xcc\xae\x9f\xb4\x1b\xc3\xac\x60\x40\x1f\xfb\x08\x5a\x07\x35\x1d\xf7\x0e\x24\x1d\x76\xf7\x0d\x06\xf0\x56\xcb" -+"\x39\x59\x5d\x76\x5d\x58\x1e\x0e\xb1\x1d\x22\xf7\x5b\x15\x95\x94\x8f\x91\x93\x1a\x99\x7f\x97\x7e\x84\x83\x87\x85\x83\x1e\xfb\x06" -+"\x2b\x05\x81\x82\x87\x84\x83\x1a\x7d\x97\x7f\x98\x92\x56\x0a\xb7\x1d\xfb\x07\xf8\xa9\x15\x7a\x81\x80\x79\x4a\xcd\x59\xe0\xdf\xcd" -+"\xbe\xcb\x9c\x81\x97\x7b\x7c\x82\x83\x7a\x89\x1f\x61\x86\x64\x71\x54\x1b\x57\x60\xa7\xb0\x88\x1f\x9e\x89\x83\x94\x7c\x1b\x0e\xf8" -+"\x31\x16\xf0\x23\x1d\x5a\xf7\x94\x06\xd4\x45\xc0\x2b\x65\x4a\x7e\x78\x54\xa3\x1d\x8d\x8c\x8f\x99\x1e\x9d\xc4\xb4\x93\xac\x1b\xd1" -+"\xba\x6d\x5e\x1f\x4d\x07\x97\x60\x60\x91\x5f\xef\x0a\xec\xd0\xc4\xa2\xbf\xc6\x1f\xc6\x04\x52\x52\x4f\x71\x46\x1b\x48\x61\xaa\xbb" -+"\xc5\xd1\xb3\xf1\xb5\xbf\x85\x84\xa8\x1f\x0e\xf7\xf2\xf8\x7b\x15\xdc\xba\xa6\xba\x9e\x81\x95\x78\x7d\x86\x86\x79\x84\x1f\x86\x77" -+"\x77\x84\x56\x89\x08\x30\x06\x42\x5c\x77\x5f\x6b\x1f\x6d\x63\x7f\x50\xfb\x01\x1a\xfb\x01\x9a\x55\xb5\x5e\x1e\x5b\xb9\xca\x72\xd7" -+"\x1b\xf7\x23\xee\xe7\xf7\x18\xf7\x17\x29\xe8\xfb\x1f\x3b\x4c\x71\x55\x5c\x1f\x96\xee\xac\xab\xe8\x8e\x08\xb9\x22\x15\xf7\x04\xd8" -+"\x45\x24\x27\x3e\x43\xfb\x01\x43\x58\xa3\xbe\x69\x1f\x77\xa8\x81\xad\xae\x1a\xef\xd9\xd3\xf5\x1e\x0e\xf7\x1f\xbe\x15\x5a\x26\x1d" -+"\xf7\xa0\x06\xf6\xc4\xb5\xd8\xc9\x6b\xad\x40\x9c\x1f\xba\x9d\x9d\xa2\xb4\x1a\xd0\x50\xaf\xfb\x03\x1e\xfb\x70\x20\x0a\xbc\x06\xbf" -+"\xfb\x06\x15\xf7\x06\xf7\x0b\x07\xe1\xab\x7c\x65\x63\x5d\x76\x32\x1f\x25\xfb\x5f\x15\xf7\x2c\xf4\x07\xd6\xbc\x83\x7b\xa1\x1f\x9c" -+"\x7e\x96\x76\x73\x1a\x5c\x64\x74\x3e\x1e\x0e\xa5\x0a\x0e\xf8\x8e\x16\x4b\x07\x74\x24\x0a\xa4\x1e\xd6\x07\x8a\xab\x86\x90\x69\x8c" -+"\x08\x69\xf7\xd1\xad\x06\x52\x1d\xfc\x08\x4b\x1d\xba\xfb\x36\x06\x8c\x2d\x67\x5d\x35\x7d\x72\x88\x87\x86\x8a\x6c\x08\x40\x07\x72" -+"\x24\x0a\xa2\x1e\xcb\x07\xf7\x2b\xf8\x04\x15\xf7\x4f\xfb\xd1\xfb\x88\x06\xae\xa5\xa0\xc2\x8c\xd5\x08\x0e\x2c\x1d\x0e\xf8\xa1\xf7" -+"\x56\x15\x8a\xa5\x8a\x9f\x88\x99\x08\xf6\x77\x30\xd3\xfb\x07\x1b\xfb\x18\x26\x2d\xfb\x0f\xfb\x17\xf7\x00\x27\xf7\x24\xe9\xf7\x0b" -+"\xba\xb1\x98\x7f\x97\x7e\x85\x86\x89\x85\x83\x1f\x6c\x61\x46\x77\x4e\x1b\x23\x3f\xc8\xec\x7b\x1f\x8c\xbe\x15\xde\x9d\xd1\xc1\xe5" -+"\x1b\xe4\xd2\x55\x38\x9d\x1f\xfb\xa3\xf7\xec\x15\xe7\x0a\xf7\x62\x95\x1d\xa3\xa4\x77\x9f\x72\x1f\x0e\xf7\xda\xf8\x04\x15\xa1\x24" -+"\x1d\x2a\x3b\x1d\xa2\xfb\x0a\x87\x06\x72\x8d\x7b\x9b\x64\xca\x08\xd2\x60\x72\x9c\x51\x1b\x6e\x84\x83\x6c\x1f\x6a\x07\x74\x94\x7f" -+"\x9c\x9c\x94\x96\xa0\x1e\xa3\x07\xa3\x89\x94\x82\xaf\x56\xa1\x67\x9d\x74\x99\x7e\x70\x79\x6e\x6b\x74\x62\x58\x31\x18\x72\x06\x35" -+"\x1d\xa7\x06\xa6\x8c\x8c\x8b\x99\xa3\xbf\xe8\x18\xac\xc2\xac\xa7\xa9\x89\x08\x93\xfb\x28\x74\x06\x35\x1d\xec\x24\x1d\x75\xf7\x28" -+"\x93\x06\xa8\x8d\xad\x6f\xab\x54\xc0\x2e\x18\x93\x7e\x90\x83\x8e\x8a\x08\x89\x8e\x96\x8a\x99\x1b\xa4\x06\x52\x1d\x73\x06\x58\xe5" -+"\x72\xb6\x6e\xad\x72\x99\x19\x95\x93\xa1\xa8\x98\xa0\xb4\xcc\x96\x96\xa5\x8d\x08\x73\x07\x76\x94\xf7\x32\x1d\x6d\x52\x7a\x7f\x3f" -+"\x59\x1e\x5d\x45\x80\x81\x74\x8a\x08\x87\x06\x0e\xf8\x4c\xf7\x73\x15\xc0\xa1\xa1\xa7\xb7\x1a\xd1\x3f\xb9\xfb\x0a\x40\x51\x78\x66" -+"\x62\x1e\x9c\x07\xa4\x81\x99\x7a\x7b\x82\x7d\x72\x1e\x23\x07\x7a\x93\x81\x9a\x99\x93\x94\xa0\x90\xce\x0a\x72\x7d\x81\x7a\x7b\x98" -+"\xc3\x0a\x7e\x95\x81\xa4\x80\x1f\x73\xbf\xdd\x7b\xd6\x1b\xf7\x24\xdb\xba\xe1\xbb\x67\xb6\x59\x96\x1f\x0e\x82\x1d\x0e\x82\x1d\xf7" -+"\x10\xf8\xf0\x15\x7b\x81\x80\x79\x4b\xcd\x59\xe0\xdf\xcd\xbd\xcb\x9d\x81\x96\x7b\x7b\x83\x83\x77\x89\x1f\x66\x86\x62\x70\x56\x1b" -+"\x57\x60\xa7\xaf\x88\x1f\x9e\x89\x83\x94\x7b\x1b\x0e\x89\x0a\x0e\xf8\x77\xf8\x04\x15\xae\x36\x0a\xfc\x09\x3b\x1d\xba\xfb\x72\x06" -+"\x42\x6f\x67\x54\x80\x84\x8c\x8e\x7b\x1e\xad\x07\xa1\x83\x96\x7a\x7a\x81\x7e\x75\x1e\x63\x07\x78\x8e\x81\x92\x87\x1e\x82\x9a\xaa" -+"\x85\xa6\x1b\xe5\xbb\xc3\xf4\x1f\xf7\x72\xf7\x4f\xfb\xd1\x69\x37\x0a\xf7\x0d\x2f\x1d\x68\x06\x0e\xf7\xdc\xb3\x15\xf7\x26\xf7\xcd" -+"\x05\xfb\xc2\x47\x07\x75\x7f\x82\x7b\x7a\x97\x82\xa1\x1f\xf7\x28\x21\x0a\x6f\xf7\xd1\x9e\x38\x0a\x2b\x06\xfb\x27\xfb\xd0\xfb\x2a" -+"\xf7\xd0\x05\x2a\x20\x0a\x9f\xfb\xd1\xf7\x0c\x1d\xf7\xc1\x06\xf7\x28\xfb\xcc\x05\x0e\xf8\x3d\xf7\x56\x15\xfb\x23\xe9\x1d\x24\xc5" -+"\x1d\x06\x0e\x4b\x0a\x0e\xf8\x3d\xf8\x04\x15\xfb\xd1\xe9\x1d\xfc\x2a\x06\x76\x80\x82\x7a\x7b\x97\x82\x9f\x1f\xa5\xcd\x0a\xf7\xd1" -+"\x06\x0e\x95\x0a\xf8\x66\xf8\x15\x15\xab\x62\x57\x9b\x60\x0a\x0e\xf7\xda\xf8\x04\x15\xf7\x23\xfb\x17\x06\x76\x94\x7f\x9c\x9c\x94" -+"\x97\xa0\x1e\xf7\x4a\xfc\x4e\xfb\x4a\x9b\x1d\xf7\x17\xf7\x23\xfb\xd1\x28\x07\x76\x7f\x71\x0a\x46\x0a\x28\x06\x0e\x4e\x0a\x82\x7b" -+"\x74\x1d\x9b\x80\x94\x71\x1d\x82\x7b\x4c\x0a\x0e\xf7\xda\xf8\xbc\x15\xa5\x82\x98\x79\x1e\x3a\x86\x05\x71\x89\x7e\x82\x7a\x1a\x7c" -+"\x97\x80\x9a\x8c\x1e\x8d\x06\xcd\x8f\x05\xfb\x0b\x07\x96\x73\x7b\x8f\x75\x1b\x31\x49\x2c\xfb\x17\xfb\x18\xcd\x33\xed\x9e\x97\x8d" -+"\x93\xa2\x1f\x29\x3a\x07\x72\x7d\x82\x7b\x7b\x99\x82\xa4\x1f\xf7\x6a\x06\xa4\x99\x94\x9b\x9b\x7d\x94\x72\x1f\x3a\xed\x06\x83\xa3" -+"\x96\x89\x9f\x1b\xc1\xb3\xa1\xb8\xa7\x1f\xa6\xb6\x99\xc0\xc6\x1a\xf7\x13\x48\xec\x33\x75\x79\x87\x80\x74\x1e\x51\x04\x9b\x9d\x9a" -+"\x91\xa1\x1b\xca\xb8\x42\x26\x29\x5e\x43\x4d\x76\x7c\x91\x9c\x77\x1f\x57\x16\x7a\x7a\x7c\x85\x74\x1b\x4c\x5e\xd2\xee\xb8\x95\xb5" -+"\x9e\xae\x1f\xae\x9f\xa5\x9c\xae\x1b\xa1\x9a\x85\x7b\x9b\x1f\x0e\xb3\x1d\xf8\x8e\x16\x4c\x07\xe4\x0a\x54\xc6\x1d\x0e\xf8\x39\xbe" -+"\x15\x24\x33\x1d\xf7\x53\x24\x1d\x67\xf7\xd1\xaf\x06\xc0\x1d\x0e\xf8\x6f\xbe\x15\xfb\x29\xf7\xd1\x9b\x44\x0a\x37\x86\x0a\x9b\xfb" -+"\xd1\xfb\x29\xf7\xd1\x9b\x06\xa1\x97\x94\x9b\x9c\x80\x94\x74\x1f\x36\x20\x0a\x9c\xfb\xd1\x71\x26\x1d\xf8\x8d\x29\x1d\x72\xf7\xd1" -+"\x9c\x23\x1d\x35\x20\x0a\x9c\x06\x0e\xf8\xa3\xbe\x15\xf7\xd1\x9c\x07\x7b\x0a\x35\x20\x0a\x9c\xfb\xd1\xfb\x29\xf7\xd1\x9b\x44\x0a" -+"\x37\x86\x0a\x9b\xfb\xd1\xfb\x29\xf7\xd1\x9b\x06\xa1\x97\x94\x9b\x9c\x80\x94\x74\x1f\x36\x20\x0a\x9c\xfb\xd1\x71\x26\x1d\xf8\x8a" -+"\x4c\x06\x73\x94\xf7\x41\x1d\xad\x87\x8f\x68\x8c\x08\x0e\xf7\xa6\xf8\x04\x15\xbc\xe9\x0a\xfb\xb4\xfb\x22\x06\x58\x0a\xe6\xf7\x1b" -+"\xfb\xd1\x79\x5f\x1d\xf7\x42\x06\xde\xbf\x98\xa5\xa3\x1f\xa0\xa1\x97\xac\xad\x1a\xd8\x4a\xb3\xfb\x13\x1e\x23\x06\xfb\x56\x04\xf7" -+"\x23\xf0\x07\xf5\xaf\x7a\x57\x55\x66\x77\x23\x1f\x0e\xf8\x99\xf8\x04\x15\xbb\x38\x0a\xfb\x28\x2e\x0a\xbb\xfb\xd1\x5b\x25\x1d\xf7" -+"\x28\x29\x1d\x5b\x06\xfc\x28\xf7\xd1\x15\xbc\x23\x1d\xfb\x09\x29\x0a\x9b\xfb\xd1\x79\x26\x1d\xf7\x33\xdc\x0a\x06\xfb\x56\x04\xf7" -+"\x23\xe1\x07\xf6\xae\x7a\x56\x55\x65\x78\x24\x1f\x0e\xf7\x49\xf8\x04\x15\xbc\x23\x1d\xfb\x09\x29\x0a\x9b\xfb\xd1\x79\x26\x1d\xf7" -+"\x4d\x06\xde\xbd\x97\xa6\xa5\x1f\x9f\xa0\x98\xad\xac\x1a\xd9\x4a\xb3\xfb\x13\x1e\xfb\x07\x06\xfb\x56\x04\xf7\x23\xf7\x03\x07\xf5" -+"\xb0\x79\x59\x54\x65\x77\x24\x1f\x0e\xf7\x97\xf7\x7c\x15\x76\x7f\x59\x0a\xf7\x62\x06\x2f\x7c\x49\x56\x29\x1b\x45\x56\xa0\xbc\x55" -+"\x1f\x93\x82\x85\x8e\x82\x1b\x7e\x81\x82\x7e\x75\xa4\x73\xba\x72\x1f\x70\xbf\xb9\x7f\xc2\x1b\xf7\x1c\xea\xe5\xf7\x17\xf7\x17\x29" -+"\xeb\xfb\x19\x50\x59\x7b\x6b\x62\x1f\x8d\x07\x56\x1d\x7f\x77\x1e\x31\x07\x77\x94\x7f\x9c\x9b\x93\x94\x9f\x8d\x1e\xbc\x91\xcd\xb2" -+"\xda\x1b\xed\xcb\x55\x2b\x9a\x1f\x0e\xf7\x68\xf7\x56\x15\xfb\x16\x97\xd1\x3c\xf2\x1b\xf7\x01\xd8\xe9\xf7\x18\xf7\x19\x42\xe4\xfb" -+"\x02\x29\x43\x42\xfb\x07\x7b\x1f\x42\xf7\x0f\xbc\x33\x0a\xfb\x0c\x2e\x0a\x9e\xfb\xd1\x63\x25\x1d\xf7\x21\x33\x0a\x5a\xf7\x23\x06" -+"\xf7\x92\xf7\x50\x15\xde\xc0\x47\x21\x24\x55\x46\x3b\x3c\x55\xd0\xef\xf5\xc0\xd2\xd9\x1f\x0e\xf8\x33\xf7\x38\x15\xfb\x05\x56\x07" -+"\x78\x81\x82\x7b\x7a\x95\x82\x9e\x1f\xf7\x23\x06\x9d\x95\x94\x9c\x9b\x81\x94\x79\x1f\x65\xf7\xd1\xb1\x06\x9d\x95\x94\x9b\x9c\x81" -+"\x94\x79\x1f\xfb\x73\x06\x2c\x55\x5f\x3e\x4d\xac\x62\xce\x78\x1f\x50\x70\x60\x5f\x77\x55\x08\x77\x06\x78\x81\x82\x7a\x7b\x95\x82" -+"\x9e\x1f\xc7\x06\x98\xd5\xba\xbe\xea\xb2\x08\xf7\x01\xbe\x15\x2e\x06\x29\x64\xa2\xc4\xbd\xad\xa2\xd2\x1f\xf7\x11\x06\x0e\xf7\x57" -+"\xf8\x04\x15\xfb\xd1\xd3\x0a\xf7\xd1\xf7\xb2\xf7\x5f\x06\x4f\x0a\xfb\x2c\xfc\x0d\x07\x7c\x1d\x0e\xf7\x67\xf7\xba\x15\xd4\xcd\xa3" -+"\x9a\xc2\x1b\xcf\xb8\x66\x52\x1f\xfb\xca\x07\x49\x89\x5f\x60\x4c\x1b\xfb\x14\x4e\x1d\xf7\x14\x06\xe9\xd1\xd0\xe6\x88\x1f\xf7\xcd" -+"\x07\xdc\x47\xc8\x31\x50\x5b\x76\x5e\x5e\x1e\xec\xf7\x27\x73\x0a\xfb\x27\xe3\x27\x36\x1d\xbb\x66\x50\x06\x75\x80\xbe\x0a\x06\x0e" -+"\xa5\x0a\xc3\xf8\xad\x15\x95\x93\x8f\x92\x94\x1a\x98\x7f\x97\x7e\x84\x84\x88\x83\x82\xd5\x0a\xf7\x1b\xf7\x7c\x15\xeb\x9a\xcb\xc1" -+"\xec\x1b\xdb\xcd\x64\x59\x91\x1f\x78\x8d\x93\x82\x9b\x1b\x9c\x94\x97\x9f\x1f\xe5\x07\x9f\x82\x97\x7a\x7a\x82\x7f\x77\x1e\x89\x07" -+"\xab\x61\x5a\x9b\x50\x1b\xfb\x1a\x29\x2b\xfb\x17\xfb\x17\xea\x31\xf7\x1d\xc1\xb9\x97\xa6\xc0\x1f\xba\xa3\xa4\xa4\xa1\x1a\x97\x81" -+"\x95\x7d\x83\x86\x88\x83\x81\x1e\x5a\x55\x56\x76\x45\x1b\x29\x48\xc1\xe6\x7d\x1f\xf7\x62\x06\xa1\x96\x5a\x0a\x0e\xc0\x0a\xf7\x09" -+"\xdf\xc3\xda\xaf\x77\xae\x6b\xa0\x1f\x6a\xa1\x66\x96\x4d\x91\x34\x91\x1d\xd2\x7e\x0a\x94\x82\x9a\x1b\x9b\xf7\x39\x1d\x82\x82\x7b" -+"\x88\x1e\xa5\x69\x5e\x98\x56\x1b\x26\x40\x5a\x48\x6b\x9d\x6b\x9a\x1d\xa4\x85\xa5\x7c\x08\xa4\x7e\x9b\x75\x76\x1a\x5a\x4c\x67\x36" -+"\x3a\x48\xad\xb5\x1e\x0e\x32\x1d\x89\x87\x0a\xf7\xdc\xf8\x37\x15\xfb\x38\xf7\x42\x1d\xf7\x04\xfb\xd1\xfb\x2d\x06\x78\x81\x85\x7c" -+"\x86\x1f\x8a\x07\x8a\x89\x05\x78\x8f\x96\x83\x9f\x1b\xf7\xf9\x06\xa0\x98\x94\x9c\x9b\x7f\x94\x75\x1f\xfb\x2c\x06\xfb\x40\xf8\xae" -+"\x15\x71\x78\x78\x72\x73\x9f\x77\xa3\xa5\x9f\x9e\xa4\xa3\x77\x9f\x72\x1f\xf7\x62\x16\x71\x78\x78\x72\x73\x9f\x77\xa3\xa5\x9f\x9e" -+"\xa4\xa3\x76\x9f\x73\x1f\x0e\xca\x1d\xf8\x16\xf8\x04\x15\xad\x24\x1d\xfb\xa6\x3b\x1d\xba\xfb\x72\x06\x44\x6e\x64\x56\x83\x81\x8c" -+"\x8f\x7a\x1e\xad\x07\xa0\x82\x97\x7a\x7a\x82\x7f\x74\x1e\x63\x07\x78\x8e\x80\x93\x87\x1e\x82\x9b\xa9\x85\xa6\x1b\xe3\xbc\xc5\xf3" -+"\x1f\xf7\x72\xe4\xfb\xd1\x74\x37\x0a\xe6\x06\xd0\xb7\x97\xa5\xa4\x1f\xa1\xa0\x97\xab\xac\x1a\xd9\x53\xb4\x21\x1e\x71\x06\x58\x04" -+"\xa5\x06\xd8\xa9\x77\x5a\x5b\x69\x73\x45\x1f\x6e\x06\x0e\xf7\xa9\xf7\x89\x15\xfb\x36\xf7\x0f\xc6\x0a\x23\x06\x76\x80\x82\x7a\x7b" -+"\x97\x82\x9f\x1f\xa5\xfb\xd1\x63\x25\x1d\xf7\x0a\x33\x0a\x71\xf7\x23\xf7\x36\xfb\x23\x7a\x06\x40\x1d\xf7\x32\xdc\x0a\xf7\x0f\xbb" -+"\x38\x0a\xfb\x08\x20\x0a\x9b\x06\xbf\xfb\xd1\x15\xf7\x23\xe0\x07\xf6\xaf\x7a\x58\x54\x65\x77\x24\x1f\x0e\xf7\x41\xf8\x97\x15\xe3" -+"\x27\x78\x0a\xbb\x66\x50\x06\x76\x7f\xbe\x0a\xf7\x87\x06\xd4\xcd\xa3\x9a\xc2\x1b\xcf\xb8\x66\x52\x1f\xfb\x81\x63\x07\x76\x7f\x82" -+"\x7a\x7b\xde\x0a\xdc\x47\xc8\x31\x50\x5b\x76\x5e\x5e\x1e\xec\xf7\x27\x73\x0a\x0e\x89\x0a\x30\xf7\x70\x15\x94\x93\x8f\x92\x94\x1a" -+"\x98\x7f\x97\x7e\x84\x84\x88\x83\x82\x1e\xfb\x05\xa6\x1d\x98\x92\x56\x0a\xf7\x28\xf8\x04\x15\xa6\x24\x1d\x20\x33\x1d\x9f\x06\xf7" -+"\x52\xfb\xe8\x6e\x56\x05\x54\x6c\x7b\x7e\x66\x1b\x83\x84\x8c\x8d\x7f\x1f\xc0\x07\xa3\x82\x97\x7a\x7a\x82\x7e\x72\x1e\x54\x07\x77" -+"\x90\x80\x95\x85\x1e\x83\x9b\xa5\x86\xa5\x1b\xbf\xad\xa5\xd1\xb2\x1f\xf7\x7c\xf8\x34\x05\x9f\xab\x1d\x23\x3b\x1d\xa5\x06\xfb\x33" -+"\xfb\xb2\x05\xfb\x11\xf8\x9e\x15\x7b\x81\x80\x79\x4b\xcd\x59\xdf\xe0\xcd\xbd\xcb\x9c\x80\x97\x7c\x7c\x83\x83\x7a\x88\x1f\x62\x86" -+"\x64\x71\x54\x1b\x57\x61\xa6\xb0\x87\x1f\x9e\x89\x83\x94\x7b\x1b\x0e\xf7\xa6\x16\x28\x07\x74\x24\x0a\xa3\x1e\xed\xf7\x56\x07\xf7" -+"\x0e\x1d\xfb\x20\x25\x1d\xbb\xfc\x61\xfb\x94\xf8\x61\xbb\x27\x0a\xfb\x20\x8c\x1d\x0e\xbc\x1d\xc5\xf7\x72\x15\x83\x07\x84\x07\xfb" -+"\x14\xef\x2c\xf7\x1a\xf7\x18\xf1\xe8\xf7\x0e\xf7\x17\xfb\x01\xf2\xfb\x1f\x2a\xfb\x0b\x5b\x65\x7d\x96\x80\x99\x91\x8f\x8d\x91\x93" -+"\x1e\xa9\xb3\xd3\xa1\xc8\x1b\xf1\xda\x4a\x2c\x99\x1f\x58\x04\x38\x79\x44\x56\x2f\x1b\x2f\x42\xc2\xdc\x7c\x1f\x0e\xf8\x9d\xf8\xd5" -+"\x15\x90\x92\x8d\x92\x91\x1a\x99\x7f\x98\x7d\x81\x84\x86\x81\x84\x1e\xfc\x2c\xfc\xef\x05\x87\x84\x88\x84\x85\x1a\x7c\x97\x7f\x9a" -+"\x94\x92\x90\x95\x92\x1e\xf7\x3f\xf8\x29\x15\x91\x87\x86\x8e\x85\x1b\x86\x88\x8a\x87\x85\x1f\x72\x6b\x74\x82\x72\x1b\x59\x68\xb2" -+"\xc1\xc1\xaf\xb1\xbf\x9e\x9d\x86\x81\x97\x1f\x95\x84\x8d\x86\x90\x75\x8e\x7f\x95\x83\x94\x8c\x8e\x8c\x18\x93\x8c\x05\x92\x8c\x91" -+"\x91\x92\x1a\x8c\x8b\x8e\x8a\x8d\x1e\x87\x9a\x8a\x95\x96\x1a\x91\x8c\x90\x8c\x90\x1e\x8e\x98\x8b\x8b\x8e\x1a\x98\x81\x95\x7e\x84" -+"\x84\x87\x85\x87\x1e\x89\x89\x8a\x8a\x89\x87\x08\x99\x70\x78\x90\x73\x1b\x3f\x52\x50\x3b\x3b\xc3\x4f\xd6\xbd\xd0\xae\xa4\x90\x89" -+"\x91\x89\x8e\x1f\xf7\x16\x2b\x15\x5d\x6c\x7f\x71\x71\x1f\x73\x71\x7d\x66\x65\x1a\x65\x99\x66\xa3\x72\x1e\x70\xa5\xaa\x7f\xb7\x1b" -+"\xb7\xab\x97\xa5\xa4\x1f\xa3\xa5\x99\xb0\xb1\x1a\xdd\x53\xc4\x3a\x1e\x5c\x04\xc0\xae\x66\x54\x73\x83\x73\x7b\x79\x1f\x78\x7b\x78" -+"\x84\x6a\x1b\x57\x67\xb0\xc1\xa5\x93\xa2\x9b\x9d\x1f\x9e\x9c\x9c\x92\xad\x1b\x0e\xf7\x50\xf7\x22\x15\x8d\x45\x8e\x76\x95\x76\x08" -+"\x72\x98\x9f\x7d\xa3\x1b\xa8\xa3\x99\xab\xa8\x1f\x9d\x9f\x9b\xa0\x96\x9e\x90\x94\x18\x8d\x8e\x8c\x8f\x8f\x1a\x92\x85\x90\x84\x84" -+"\x86\x87\x82\x84\x1e\x80\x7b\x05\x6c\x75\x7a\x7d\x7c\x1b\x79\x84\x9e\xc0\x97\x8b\xa4\x8c\xa0\x1f\x9e\x07\xaf\x07\xf7\x1e\xf7\x44" -+"\xbe\xec\xe1\x1a\xc1\x6e\xae\x5f\x5f\x5a\x6a\x52\x64\x1e\x60\x4b\x74\xfb\x01\x88\xfb\x3d\x8a\x4e\x18\x74\x6f\x86\x85\x79\x76\x88" -+"\x88\x19\x76\x75\x05\x85\x85\x89\x86\x86\x1a\x87\x07\x84\x8f\x8e\x88\x91\x1b\x96\x8b\x8b\xb9\xb7\x1f\xec\xf7\x3d\x15\x8d\xb1\x05" -+"\xf7\x6d\x95\x9e\xd0\xbc\x1b\xa2\x9a\x76\x6b\x44\x64\x2f\x45\x2b\x1f\x0e\xdd\xf8\x94\x15\xfc\x61\x78\x37\x0a\xf7\x06\x24\x1d\x60" -+"\xf8\x2d\x06\xf7\x38\xfc\x36\x05\x68\x99\x92\x84\x9f\x1b\xa6\x95\x9a\xb4\x1f\xf8\x5c\x9f\xf7\x0c\x0a\xfb\x08\x4c\x1d\xb7\xfc\x26" -+"\x06\xfb\x3b\xf8\x3c\x80\xa7\x8a\x8b\x6d\x8c\x19\x57\x4b\x1d\xf8\x93\x3a\x15\xb3\x6d\xaa\x65\x75\x78\x81\x77\x7d\x1e\x80\x7b\x88" -+"\x7a\x57\x1a\x42\x8d\x74\x92\x80\x1e\x78\x97\xa2\x7f\xa5\x1b\xb7\xa2\xa4\xbc\x1f\x57\x16\x7c\x86\x84\x80\x80\x86\x92\x9a\x1e\xf7" -+"\x00\x07\x98\x90\x91\x96\x96\x90\x85\x7e\x1e\x8d\xfb\xb7\x15\xa6\x98\x94\x9d\xa0\x81\x8f\x57\x5f\x80\x86\x76\x7a\x99\x82\xa5\x1f" -+"\x0e\xb9\x1d\x0e\xb9\x1d\x58\xf7\xcf\xf7\x0e\x0a\x7e\x83\x85\x88\x83\x82\xf7\x01\x0a\x97\x7f\x98\x92\x91\x68\x1d\x48\x1d\x8f\xf7" -+"\xda\x15\xa0\x97\x94\x9b\x9b\x80\x94\x75\x5c\x1d\xf7\x4f\xf7\x98\x15\xf7\x51\xfb\xfe\x05\x7c\x93\x95\x83\x95\x1b\x92\x8e\x8e\x93" -+"\x90\x8a\x8f\x87\x97\x1f\xfb\x24\xf7\xf5\xf7\x24\xf7\xf6\x05\x8e\x92\x8d\x94\x92\x1a\x91\x88\x8e\x84\x81\x86\x87\x78\x7e\x1e\x0e" -+"\xf8\x32\xf7\x98\x15\xfb\x51\xf7\xff\x05\x9d\x7f\x85\x90\x81\x1b\x84\x88\x88\x85\x84\x8d\x82\x8e\x84\x1f\xf7\x24\xfb\xf6\xfb\x24" -+"\xfb\xf5\x05\x87\x7f\x8a\x87\x86\x1a\x83\x8e\x88\x92\x95\x95\x93\x9a\x93\x1e\x0e\xf8\x66\xbe\x15\xf7\x94\x07\xd4\x44\xc0\x2b\x65" -+"\x4a\x7e\x78\x54\xa6\x0a\x9a\x4f\x72\x8e\x5e\xef\x0a\xeb\xd0\xc2\xa1\xc0\xc9\x1f\x50\xb7\x07\x7a\x1d\xbf\xee\x0a\x73\x87\x89\x79" -+"\x1b\x70\x7f\x94\x9e\xa7\xa3\xa3\xc8\xab\x1f\x95\x91\x90\x92\x96\x1a\x9b\x80\x94\x76\x1e\x26\xce\x15\x4f\x4a\x57\x74\x46\x1b\x48" -+"\x61\xaa\xbb\xc5\xd1\xb3\xef\xb7\xbb\x86\x83\xac\x1f\x0e\xf8\x82\xf8\x2a\xf0\x0a\x88\x8c\xb3\x58\x1f\xb7\x53\x7c\xf7\x34\x1d\x7e" -+"\xf7\x00\x0a\xc0\xb6\x95\x7a\x0a\x56\xcb\xa1\x7f\xac\x1b\xac\xaa\x9d\xb4\xae\x1f\x9d\xa1\x93\x97\xf7\x09\x0a\xfb\x20\x04\x7e\x87" -+"\x87\x74\x7a\x1f\x6a\x73\x75\x7b\x75\x1b\x7b\x8a\x8c\xb3\x56\x1f\xb7\x54\x7b\x93\x6a\x1b\x68\x71\x7c\x63\x68\x1f\x75\x73\x83\x7e" -+"\x81\x1a\x7e\x96\x80\x99\x94\x91\x8f\x95\x93\x1e\xc0\xb6\x95\x7a\x0a\x55\xcc\xa0\x80\xac\x1b\xac\xaa\x9e\xb4\xae\x1f\x9e\xa0\x92" -+"\x98\x94\x1a\x98\x80\x96\x7d\x1e\x0e\x48\x1d\xfb\x05\xf8\x5f\x15\x54\x5f\x61\x57\x57\xb7\x61\xc1\xf7\x1a\x1d\x6d\x6d\x73\xa2\xa7" -+"\xa7\xa3\xa2\xa8\x1f\xc3\xf7\x1b\x15\x96\x95\x8e\x8f\x65\x1d\x83\x81\x1e\xfb\x06\x29\x05\x7f\x81\x89\x87\x82\x1a\x7c\x96\x80\x9a" -+"\x93\x8e\x8d\x94\x96\x1e\x0e\xf7\x35\xf7\x9e\x15\xa9\xb8\x9a\xaa\x9a\x1a\x93\x83\x91\x82\x84\x87\x88\x7e\x80\x1e\x6c\x68\x6e\x74" -+"\x4f\x69\x08\x78\x81\x87\x87\x84\x1a\x85\x8f\x85\x92\x87\x1e\x91\x88\x8c\x8a\x8f\x89\x91\x88\x19\x99\x82\xbc\x6e\xa3\x77\xad\x64" -+"\x19\x84\x91\x8f\x89\x92\x1b\x94\x92\x92\x93\x9a\x76\xb5\x73\xab\x1f\xf7\xb3\x9f\x0a\x0e\xf7\x9b\xf8\xae\x15\xfc\x34\x07\xa2\x6c" -+"\x5e\xa1\x7c\x1b\x83\x84\x84\x82\x84\x8d\x87\x93\x85\x1f\xb8\x65\x9a\x79\xb8\x41\x08\x7e\x92\x8e\x88\x94\x1b\x92\x8f\x90\x9c\x95" -+"\x1f\xab\xc3\xa5\xab\xaf\xa9\x08\x98\x96\x8e\x90\x91\x1a\x94\x85\x93\x83\x7c\x6b\x7c\x6e\x5d\x1e\xf8\x33\x07\x0e\xf8\xdd\xf7\x9f" -+"\x15\xfc\x3c\x06\xa3\xab\xa0\xb5\x9a\x1a\x93\x84\x92\x82\x84\x87\x89\x84\x85\x1e\x64\x5e\x78\x7c\x41\x60\x08\x7d\x83\x88\x88\x83" -+"\x1a\x84\x8f\x87\x9e\x81\x1e\xc6\x6a\xaa\x73\xa9\x68\x08\x7f\x95\x90\x87\x91\x1b\x95\x93\x91\x93\x9a\x7b\xab\x6e\xb7\x1f\xf8\x3c" -+"\x06\x0e\xa3\xf7\x6b\x15\xf8\x3c\x9f\x0a\xfc\x3c\x06\x0e\xf7\xd0\x7f\x15\xf8\x34\x07\x75\xaa\xb8\x75\x9a\x1b\x93\x92\x92\x94\x92" -+"\x89\x8f\x83\x91\x1f\x63\xac\x79\xa0\x6c\xbd\x88\x8f\x88\x8f\x88\x91\x88\x90\x88\x90\x8a\x8c\x08\x98\x84\x88\x8e\x82\x1b\x84\x87" -+"\x87\x79\x81\x1f\x69\x51\x74\x6e\x66\x6c\x08\x7e\x81\x88\x86\x85\x1a\x81\x91\x84\x93\x9a\xa9\x99\xa9\xbb\x1e\xfc\x34\x07\x0e\xf7" -+"\xa6\xf7\x02\x15\xa7\x5f\x69\x9b\x7c\x1b\x84\x84\x83\x82\x85\x8f\x86\x97\x80\x1f\xae\x6e\xa5\x6b\xf7\x37\x1d\x93\x8f\x1f\xb7\xd4" -+"\x9e\xa4\xb8\xb0\x08\x92\x91\x8e\x8f\x92\x1a\x94\x84\x92\x83\x7c\x5f\x75\x74\x6b\x1e\xf7\xae\x07\x74\xab\xb7\x76\xa3\x0a\xab\x9a" -+"\xa8\xb9\x1e\x0e\xf7\x57\x63\x15\x5f\xf7\x6a\xb7\x07\xfb\x18\xf7\x51\x15\xa7\x5f\x69\x9b\x7c\x1b\x84\x84\x83\x82\x85\x8f\x86\x97" -+"\x80\x1f\xae\x70\xa5\x6a\xf7\x37\x1d\x92\x8f\x1f\xb6\xd5\x9f\xa3\xb8\xb0\x08\x92\x91\x8e\x8f\x92\x1a\x94\x84\x92\x83\x7c\x5e\x75" -+"\x75\x6c\x1e\xf7\xad\x07\x75\xaa\xb8\x75\xa3\x0a\xac\x9a\xa8\xb8\x1e\x0e\xf7\x44\xbc\x15\x5e\xbe\xba\x77\xc0\x1b\xef\xdd\xdf\xf1" -+"\xc0\x75\xb6\x61\xa9\x1f\x70\x9f\x75\x93\x5c\x94\x08\xce\xa7\xac\xb7\xc5\x1a\xdb\x48\xc7\x31\x52\x58\x72\x5f\x6e\x1e\x75\x6a\x82" -+"\x5d\x39\x1a\xfc\x9f\x2b\x0a\xe1\xf8\x51\x15\xf7\x18\x8a\xca\x62\x37\x1a\x3d\x55\x53\x3f\x5b\x5b\xa2\xb0\x6b\x1e\x7b\x9f\x84\xa6" -+"\xbc\x1a\xf7\x60\x07\xf7\x02\xae\xba\xdc\xca\xb5\x67\x56\x53\x56\x60\x39\x81\x1e\x0e\x49\x0a\x6e\xf7\x5d\xb7\x0a\x49\x0a\xfb\x1c" -+"\xe7\xd8\x1d\xf8\x66\xf8\x15\x15\xab\x62\x57\x9b\x60\x0a\xfb\x3a\xf7\x8f\xb0\x0a\x49\x0a\xfb\x1b\xf7\x73\x26\x0a\x0e\xf7\xbf\xf7" -+"\x57\x15\xfb\x14\xf7\x74\x05\x4a\x2e\x0a\xb0\x06\xf7\x13\xfb\x75\xfb\x2d\xfb\xa5\x05\x84\x7e\x88\x82\x84\x1a\x7e\x95\x81\x98\x98" -+"\x94\x92\x9e\x95\x1e\xf7\x1d\xf7\x8b\xf7\x2e\xfb\xa5\x05\xcd\x22\x0a\x65\x06\xfb\x2d\xf7\xa6\xf7\x1c\xf7\x82\x05\x92\x98\x8e\x94" -+"\x92\x1a\x98\x81\x95\x7e\x7f\x81\x83\x79\x81\x1e\x0e\xf7\xad\xf8\x88\x15\xfb\x1e\xfb\x07\xfb\x03\xfb\x1a\xfb\x22\xf7\x06\xfb\x05" -+"\xf7\x24\xf7\x1f\xf7\x05\xf7\x03\xf7\x1c\xf7\x1f\xfb\x08\xf7\x06\xfb\x21\x1f\x8f\xfb\xbe\x15\xf5\x23\x05\x72\x67\x68\x80\x61\x1b" -+"\x60\x6e\x94\xa3\x6c\x1f\x5d\xb8\x15\x70\xaf\x82\xa6\xb4\x1a\xb7\x96\xae\xa3\xac\x1e\xf7\x02\xfb\x00\x05\xe8\x16\xf7\x02\xf6\x05" -+"\xa1\x6d\x94\x72\x66\x1a\x5a\x80\x66\x73\x6a\x1e\xfb\x2c\xf7\x29\x15\xfb\x03\xf7\x00\x05\xa3\xac\xae\x96\xb5\x1b\xb7\xaa\x81\x72" -+"\xae\x1f\x0e\xf8\x82\x16\x9b\x07\xfb\x15\x9e\x50\xce\xf7\x18\x1a\x9c\x6e\x91\x81\x94\x80\x08\x68\xa9\xba\x73\xb5\x1b\xd1\xc2\xc4" -+"\xd4\xd1\x59\xc2\x4c\x78\x80\x88\x7e\x70\x1f\x89\x8a\x82\x86\x86\x89\x08\xa1\xaa\x93\xa3\xa8\x1a\xd0\x53\xc1\x44\x44\x54\x55\x45" -+"\x70\x90\x7d\xa5\x61\x1e\x9c\x68\x78\x91\x76\x1b\x4f\x58\x52\x46\x43\xc3\x53\xd2\xca\xc0\xb1\xd2\xad\x1f\x8c\x78\x05\x85\x07\x8a" -+"\x53\x6e\x4c\x62\x6a\x72\x78\x79\x84\x42\x7c\x08\x7b\x07\x0e\x9a\x0a\xf8\x03\xf7\x50\x3c\x0a\x90\x1a\x99\x7f\x97\x7d\x81\x85\x87" -+"\x7e\x82\x75\x0a\x96\x80\x9a\x95\x90\x8f\x98\x94\x1e\x0e\xf8\x90\xf8\x9c\x15\xde\x26\x07\x20\x1d\xbc\x6b\xfb\x19\x22\x1d\xf7\x19" -+"\xfb\x0c\x06\xc2\x5e\x4f\xa8\x45\x1b\xfb\x10\x28\x27\xfb\x10\xfb\x10\xee\x26\xf7\x0f\xd2\xc5\xa7\xc4\xba\x1f\x46\xf0\x07\x61\x1d" -+"\x5a\xf8\x36\xbc\x39\x0a\xfb\xa8\xfb\x1e\x15\xee\xd7\x40\x28\x2b\x3f\x3e\x2a\x2a\x3f\xd8\xec\xeb\xd7\xd8\xea\x1f\x0e\xf7\xa2\xf8" -+"\x42\x15\x64\x84\x77\x84\x6f\x7b\x08\x43\x62\x5f\x42\x3d\x1a\xfb\x11\xf3\x28\xf7\x16\xf7\x16\xf2\xee\xf7\x11\xc7\x72\xc3\x5f\xb3" -+"\x1e\x73\xa1\x7d\x94\x49\xb0\x08\x26\xc2\x7a\x9a\xb0\x1a\xb9\xab\x9e\xd5\x1e\xcf\x06\x9f\x95\x93\x9b\x9a\x80\x93\x78\x1f\x4a\x06" -+"\x56\x6a\x83\x79\x71\x1f\x6c\x76\x79\x69\x68\x1a\x61\x9d\x70\xba\x6f\x1e\xb5\x53\xe0\x0a\xf6\xf7\xa2\x15\xe1\x20\xdc\xfb\x09\xaf" -+"\x47\xba\xe0\xe3\xf7\x0f\xdb\xeb\x4d\xd1\xfb\x10\xf7\x44\x6e\xc4\x60\x3a\x53\x3c\xfb\x06\xfb\x23\x08\x0e\xf8\x22\xf8\xe0\xc1\x1d" -+"\x2c\x1d\xfb\xbc\xf8\x08\x86\x1d\x2c\x1d\xfb\x40\xf7\x7d\x15\xf7\x1b\xf7\x01\x05\x99\x95\x8d\x8f\x95\x94\x1d\x7c\x80\x46\x1d\x2c" -+"\x1d\xfb\x3f\xf8\x00\x26\x0a\x0e\xf8\xd9\xf7\x7b\x15\xbe\xfc\x8d\x07\x8f\xf7\x10\xcd\xc7\xf7\x15\x88\x08\xf7\xc6\xbe\xfb\xba\xf2" -+"\x0a\x49\x99\x50\xa4\x65\x1e\xa2\x68\xae\x6c\xac\x7e\x08\x7c\xaf\xa7\x87\xd4\x1b\xf7\xba\xbe\xfb\xc6\x06\xfb\x14\x88\x4a\xc5\x85" -+"\xf7\x0c\x08\x90\x07\x0e\x2c\x1d\x55\xf7\xab\x2d\x0a\xf7\x44\xf7\xb8\x15\xd5\xc8\xa4\x9b\xc7\x1b\xd4\xb0\x6d\x4c\x8f\x1f\xfb\xcb" -+"\x07\x4a\x8a\x5e\x5f\x4c\x1b\x4e\x29\x0a\xc9\x06\xe6\x89\xd2\xd2\x89\xe6\x08\xf7\xd1\x07\xdc\x48\xc4\x2c\x4e\x66\x79\x53\x57\x1e" -+"\xc7\x3a\x07\xbb\x0a\x06\x0e\xf7\x15\x1d\xfb\x14\xf7\x01\x21\xf7\x17\x96\x97\x8c\x8c\x9d\x1e\x71\x74\x80\x76\x6e\x1a\x62\xa9\x73" -+"\xbe\xb5\xb3\x9f\xa0\x96\x82\x94\x82\x87\x87\x8a\x88\x87\x1e\x7e\x74\x86\x89\x79\x1b\x71\x7f\x94\x9e\xab\xa2\x9f\xec\xc0\x1f\xb2" -+"\xa0\x97\x96\x9a\x1a\x99\x80\x96\x7d\x85\x87\x89\x85\x83\x1e\x6d\x63\x43\x75\x4f\x1b\x23\x3d\xcb\xeb\x7d\x1f\xbe\x04\xdd\x9c\xd3" -+"\xc1\xe7\x1b\xe6\xd4\x54\x3a\x9b\x1f\x0e\x8e\x0a\x0e\x8e\x0a\xa1\xf8\x1a\x88\x1d\xf8\x9e\xf7\x08\x6b\x0a\xf8\x50\xf7\xae\x15\x57" -+"\x0a\xfc\x50\x26\x1d\xf8\x50\xfb\x21\x6b\x0a\x0e\xf8\x71\xf7\x54\x15\x8a\xcf\x87\xa8\x7d\xaa\x08\xcc\x6e\x46\xb2\x36\x1b\xfb\x14" -+"\x3b\x37\xfb\x1a\xfb\x1a\xd8\x3c\xf7\x15\xeb\xce\xb4\xd7\xa5\x1f\x8c\x8e\x8d\x8f\x05\x5e\x06\x8a\x89\x8b\x8a\x88\x87\x08\x5a\x72" -+"\x5a\x70\x4a\x1b\x41\x69\xa1\xc8\x77\x1f\xd6\x07\xf7\x96\xb4\x15\xfb\x94\xd3\x06\xc5\xa9\xab\xa0\xc8\x1b\xcb\xbd\x6d\x5a\x9e\x1f" -+"\x0e\x98\x0a\x0e\x98\x0a\xf7\x6a\xf7\x71\xf4\x1d\x98\x92\x56\x0a\xf7\x74\xa2\x0a\xf7\xaa\xf8\x63\x15\x8c\x9b\x05\xa2\x8d\x76\x9f" -+"\x71\x1b\x72\x77\x78\x74\x86\xad\x0a\x0e\xf8\x30\xf7\x9e\x15\xfb\x6b\xfb\xb9\x58\xf7\xed\xf8\xc7\xfb\xed\x58\xf7\xb9\xfb\x57\xfb" -+"\xb9\x58\x07\x0e\xf7\xd6\xf7\xac\x15\xf6\x94\xe0\xe9\xf7\x01\x1a\xf7\x0a\x2b\xea\xfb\x0a\xfb\x0a\x2c\x2c\xfb\x0a\xfb\x01\xe0\x2d" -+"\xf5\x82\x1e\x32\xfb\x29\x64\xf7\x29\xfb\x2c\xb7\xf7\x2c\xf7\x28\xb2\xfb\x28\x07\x72\xf8\x69\x15\xeb\xd8\x40\x2f\x2d\x3f\x3f\x2d" -+"\x2e\x3f\xd6\xe9\xe6\xd7\xd8\xe5\x1f\x0e\xf7\x0b\xbe\x15\x5a\x20\x0a\xf8\x30\x06\x9f\x97\x95\x9b\x9c\x80\x93\x76\x1f\x20\xf7\x3f" -+"\x06\xa9\xc5\x8f\x94\x98\x9c\x08\xa1\x99\x9b\x96\x98\x1b\x9a\x98\x84\x7a\x9f\x1f\x7c\x9b\x8f\x89\x94\x1b\x9a\x96\x96\x99\x97\x85" -+"\x93\x79\x99\x1f\xa5\x69\x7b\x92\x71\x1b\x66\x78\x7b\x4f\x66\x1f\xe1\x33\x07\x20\x1d\xaf\x6b\xfb\x2c\xf7\x57\xf7\xc3\x5e\x06\x58" -+"\x0a\xeb\xfc\x5c\x07\x20\x1d\xbc\x06\xbf\xfb\x8a\x15\xf7\x2c\xfb\x6b\xfb\x2c\x06\x0e\xf7\xc0\xcd\x15\xfb\x45\xf7\xf5\x05\x52\x2e" -+"\x0a\xa3\x06\xf7\x4d\xfc\x07\x05\x80\x5a\x87\x6b\x6d\x1a\x61\x9b\x71\xa4\xa3\x9b\xa6\xb7\xa8\x86\xac\x7f\xb9\x1e\xf7\x38\xf7\xda" -+"\x9e\xaf\x94\x93\xa4\x8c\x19\xa0\x44\x0a\x71\x06\x5d\x8a\x7a\x7e\x6c\x4f\x08\x0e\x93\x0a\x2c\xf7\x80\x86\x1d\xbd\x1d\xa8\xf7\x94" -+"\xb0\x0a\x93\x0a\xe8\xf7\x81\x15\x91\x94\x8d\x8f\x91\x1a\x99\x80\x97\x7c\x81\x85\x87\x7e\x82\x1e\x37\xfb\x0f\x05\x83\x7f\x8a\x8a" -+"\x85\x1a\x7c\x97\x80\x99\x96\x90\x8f\x98\x94\x1e\x0e\xbd\x1d\xa9\xf7\x78\x26\x0a\x0e\xf8\xa0\xf7\xd9\x15\xfc\x3f\xf7\x7d\x05\x8d" -+"\x86\x85\x8d\x87\x1b\x82\x83\x86\x84\x87\x1f\x8a\x88\x05\x88\x87\x8a\x87\x87\x1a\x82\x90\x84\x96\x85\x1e\xf7\xee\xfb\x50\xfb\xee" -+"\xfb\x50\x05\x80\x84\x86\x85\x82\x1a\x88\x8d\x86\x8d\x86\x1e\x8c\x89\x05\x83\x90\x93\x86\x92\x1b\x90\x91\x8d\x8e\x91\x1f\x77\x61" -+"\x15\x76\x80\x82\xa5\x1d\xf8\x34\x33\x0a\x0e\xf7\x3f\xf8\x9c\x15\xde\x26\x07\x20\x1d\xbc\x6b\x4c\x06\x75\x80\x82\x7b\x7b\x97\x82" -+"\xa0\x1f\xca\xfc\x37\xd2\x0a\xf7\x87\x06\xb2\xb8\x8b\x8b\x96\x94\x08\xa3\xa8\xa6\x95\xb0\x1b\xb2\x9f\x85\x0a\x78\x97\x74\x6f\x1a" -+"\xfb\x81\x63\x07\x77\x80\x82\x7b\x7a\x96\x82\x9f\xf7\x18\x1d\x2d\x4f\x62\x77\x56\x5b\x1e\xf7\x02\xf7\x0c\x07\xa0\x97\x94\x9b\x9b" -+"\x46\x0a\x0e\xb8\x1d\xf7\x15\xf8\x3d\xe2\x1d\x58\x1d\xf7\xc0\x75\x15\x9b\xd2\xba\xdb\xe3\xf7\x02\x08\xd5\xe9\xa4\xbf\xc9\x1a\xca" -+"\x55\xc0\x4a\x4b\x5d\x62\x3f\x76\x1e\xd9\x72\x5f\xb2\x4b\x1b\x4a\x58\x56\x47\x57\x9b\x68\xcc\x33\x1f\xf7\x09\xfb\x30\xa9\x56\xa0" -+"\x3b\x08\x0e\xd1\x16\xf8\x61\xf7\xcb\x06\xfb\x7b\xf7\x92\xfb\x7a\xfb\x92\x05\xbd\xfb\x99\x15\xf7\x85\x07\xf7\x48\xf7\x5a\xf7\x49" -+"\xfb\x5a\x05\xfb\x85\x07\x0e\x32\x1d\xfb\x2a\xf8\xcb\x86\x1d\xf7\x6d\xf8\x37\x15\xfb\x39\x2f\x0a\xf7\x05\xfb\xd1\xfb\x05\x20\x0a" -+"\xf7\xaa\x21\x0a\xfb\x05\xea\x0a\xf7\xcc\xfb\x21\xbf\x0a\xfb\x89\x07\x74\x81\x2a\x1d\xf7\x5e\xf7\x49\x1d\x32\x1d\xe7\xf8\x6e\x2d" -+"\x0a\xf7\xc0\xf7\x8a\x15\x52\xba\xc8\x69\xbf\x1b\xa7\xa5\x93\x98\x9f\x1f\xaa\xa1\xa2\xba\xb2\x1a\xd0\x50\xc3\x43\x54\x4f\x68\x54" -+"\x61\x1e\xc6\x59\x56\xa9\x55\x1b\x43\x50\x52\x44\x47\xc4\x52\xd1\xc7\xb8\xa4\xca\xc1\x1f\xae\xb2\x15\xb9\xab\xbd\xa9\xb6\x1b\xba" -+"\xaa\x6d\x5e\x5e\x6c\x6b\x61\x77\x76\x91\x97\x75\x1f\x7a\x94\x8b\x8b\x5c\xb9\x08\x47\x8f\x15\x5c\x66\x58\x6d\x61\x1b\x5e\x6e\xaa" -+"\xba\xb6\xaa\xa9\xb8\xb4\xb3\x74\x58\xba\x1f\x0e\xf7\xa7\x5c\x15\x44\x84\x6f\x7b\x84\x88\x8d\x99\x83\x1e\x9a\x80\x7c\x94\x7a\x1b" -+"\x71\x79\x7a\x72\x6d\xa5\x76\xb0\xa7\xa7\x98\xa3\xa2\x1f\xa9\xab\x93\xa9\xe4\x1a\xf8\x8a\x07\xca\x92\xa6\x9d\x90\x8f\x87\x82\x91" -+"\x1e\x77\x99\x95\x85\x9f\x1b\xa5\x9d\x9c\xa3\xa9\x72\xa0\x68\x73\x72\x82\x7c\x77\x1f\x66\x6e\x7d\x60\x32\x1a\x0e\xf7\xda\xf9\x0e" -+"\x15\x57\xfd\x35\x06\x4b\x83\x70\x7a\x86\x87\x8f\x94\x85\x1e\xa0\x7d\x81\x92\x77\x1b\x72\x78\x7a\x72\x6e\xa4\x75\xae\xa3\xa4\x94" -+"\x9a\x9f\x1f\xb0\xa8\x99\xb6\xe4\x1a\x0e\xf7\xa6\xfb\x4a\x15\xbf\xf9\x35\x06\xca\x92\xa6\x9d\x90\x8f\x87\x82\x91\x1e\x77\x99\x95" -+"\x85\x9f\x1b\xa5\x9d\x9c\xa3\xa9\x72\xa0\x68\x73\x72\x82\x7c\x77\x1f\x66\x6e\x7d\x60\x32\x1a\x0e\xf8\xad\xf7\x74\x15\xf7\x2a\x86" -+"\xae\x70\xb8\x1e\xce\x61\x3e\xb4\x35\x1b\x57\x5b\x7c\x70\x62\x1f\x58\x68\x6e\x5d\x81\x4d\x08\x86\x69\x8a\x75\x2a\x1a\xfb\x52\x07" -+"\x75\x94\x7f\x9c\x9b\x95\x98\xa0\x1e\xf7\x55\x07\x8c\xe3\x8b\x8b\x95\x1a\x8e\xbf\x92\xa9\x9a\xa1\x08\xbd\xad\xc8\xab\xcb\x1b\xc8" -+"\xc6\x6e\x5e\xab\x1f\xa6\x66\x91\x66\xfb\x1c\x1a\xfb\x55\x07\x75\x94\x7f\x9b\x9b\x96\x99\x9f\x1e\x0e\xf7\xc5\xf8\xc7\x15\xfb\x33" -+"\xfb\x13\xfb\x10\xfb\x2f\xfb\x32\xf7\x11\xfb\x12\xf7\x31\xf7\x2f\xf7\x12\xf7\x12\xf7\x30\xf7\x2d\xfb\x12\xf7\x14\xfb\x2b\x1f\x30" -+"\xfb\x34\xf7\x1e\x1d\xf7\xa2\x34\x15\x86\x48\x82\x6c\x74\x69\x08\x5a\x6a\x5a\x72\x4b\x1b\x4f\x5e\xa0\xb4\x6a\x1f\x6e\xb0\x80\xad" -+"\x85\xd4\x95\x63\x93\x7a\x9e\x75\x08\x61\xae\xbc\x76\xca\x1b\xc9\xbc\xa0\xb5\xae\x1f\x9e\xa1\x93\x9c\x95\xb3\x08\x29\xe2\xf7\x1e" -+"\x1d\x0e\xef\x1d\xf7\xc3\x06\x7a\x1d\xbe\xb6\xa7\x1d\x87\x1e\x7d\x73\xa1\x1d\xa3\xa0\xa4\xae\x9e\x1f\xba\xa4\x8b\x8b\x9a\x5b\x0a" -+"\xfb\x2f\xea\x0a\x0e\xf7\xc4\xbc\x0a\x7e\x88\x78\x7e\x1d\x0e\xf7\xc4\xf8\x25\x15\x56\x1d\x7f\x77\xe6\x0a\x82\x88\x86\x82\x1e\x83" -+"\x7b\x7e\x88\x78\x7e\x1d\xfb\x0a\xf8\x88\xe3\x1d\xf7\xc4\xf8\x25\x15\x9f\x82\x97\x7a\x7a\x82\x80\x76\x1e\xfb\xea\x07\x58\xa6\x73" -+"\xc4\xc2\xb5\x9e\xa5\x98\x7f\x97\x7f\x86\x83\x88\x86\x81\x1e\x84\x7c\x7c\x87\x79\x7e\x1d\xde\xf8\x9b\xc1\x1d\xf7\xc5\xbc\x0a\x7d" -+"\x88\x79\x7e\x1d\xd0\xf8\x9b\x88\x1d\x32\x1d\xc9\xf8\xba\x5f\x0a\xf8\x30\xf8\x04\xbf\x0a\xfb\xb3\x07\x74\x81\x2a\x1d\xf7\x28\xf7" -+"\xa2\x15\xfb\x1a\xfb\x01\x05\x7e\xf3\x1d\x96\x89\x8e\x58\x1d\xf7\x64\xf7\x84\x15\xf7\x47\x27\x07\x75\x80\x38\x1d\xbb\xfb\xd1\x5b" -+"\x36\x1d\xf7\x28\x22\x0a\x5b\xf7\x1e\xa4\x06\xd7\x8c\xca\x52\xc6\xfb\x13\x8e\x85\x18\xe0\x06\xa1\x97\x94\x9b\x9c\x7f\x94\x75\x1f" -+"\x57\x06\x58\xea\x51\xcb\x58\x9d\xf7\x33\xf7\x20\x18\x9a\x06\xa0\x97\x45\x0a\x29\x2e\x0a\x92\x06\xfb\x23\xfb\x14\x05\x0e\x91\x0a" -+"\xf7\x19\x2e\x3c\x0a\x90\x1a\x9a\xc1\x0a\xa9\x0a\x9c\x80\x93\x75\x1f\xfb\x15\x06\x74\x81\x2a\x1d\x92\x06\xfb\x2d\xfb\x13\x05\xf7" -+"\x46\x97\x1d\xfb\xd1\x5a\x20\x0a\xf0\x06\x0e\x42\x0a\xf7\x03\xf9\x40\x6d\x1d\xe4\xbe\x15\x71\x36\x1d\xf7\x09\x22\x0a\x6b\x06\xf7" -+"\x2c\xf7\xb2\xf7\x39\xfb\xb2\x05\x6d\x20\x0a\xf7\x0a\x22\x0a\x71\x06\xfb\xd0\xf8\xbc\x05\x36\x06\x77\x7f\x82\xa5\x1d\xbf\x06\xe7" -+"\xfb\x35\x05\x0e\x42\x0a\xf7\x48\xf8\x9b\x15\x91\x93\x8d\x91\x90\x1a\x99\x7f\x97\x7d\x81\x86\x88\x7d\x81\x75\x0a\x97\x80\x99\x95" -+"\x90\x8f\x98\x94\x1e\x0e\x42\x0a\x89\xfb\x24\xe5\x1d\x42\x0a\xf7\x43\xf7\xdf\x15\x62\x6b\x6d\x64\x63\xab\x6d\xb4\x1f\x96\x06\xb5" -+"\xab\xa9\xb3\xb2\x6b\xa9\x61\x1f\x0e\xbc\xf7\xd9\x15\xf8\x3e\xfb\x7d\x05\x88\x91\x91\x89\x8f\x1b\x93\x93\x90\x93\x8f\x1f\x8c\x8d" -+"\x05\x8e\x90\x8c\x8f\x8f\x1a\x94\x86\x92\x80\x91\x1e\xfb\xed\xf7\x50\xf7\xee\xf7\x50\x05\x95\x90\x90\x93\x94\x1a\x90\x8a\x8e\x89" -+"\x8f\x1e\x89\x8e\x05\x92\x87\x83\x90\x83\x1b\x86\x85\x89\x89\x86\x1f\x9e\xfc\xc3\x15\x53\x0a\xfc\x34\x26\x1d\x0e\xf7\x50\xf7\x44" -+"\x15\x80\x44\x68\x55\x68\x8a\x08\x7b\x80\x81\x7d\x7a\x3a\x1d\xf7\xd7\x06\xbc\xb3\xb7\xc0\x9b\x80\x96\x7c\x7c\x83\x82\x79\x89\x1f" -+"\x6e\x88\x7c\x7a\x75\x1b\xfb\x85\x06\xa3\xaa\x9c\xb6\x92\xbe\x08\xf7\x15\xf7\x0a\x0a\xfb\x12\x06\x8a\xa0\x8b\x93\x88\x9d\x08\xf7" -+"\x16\x06\x9e\x93\x92\x9c\x9b\x83\x92\x78\x1f\xfb\x21\x06\x89\x94\x8b\x8b\x80\xae\x08\x83\xa8\x86\xa4\x9b\x1a\xbf\xb7\xb6\xbf\xad" -+"\xa3\x7e\x6a\xa6\x1e\x81\x94\x90\x87\x93\x1b\x98\x98\x97\x97\x97\x7f\x9c\x76\x9e\x1f\xa5\x6d\x69\x98\x65\x1b\x3a\x4a\x4a\x3a\x71" -+"\x90\x75\xa0\x49\x1f\x46\x06\x77\x83\x84\x7a\x7b\x93\x84\x9f\x1f\xdc\x06\x8d\x82\x8c\x79\x8c\x77\x08\x36\x06\x77\x83\x84\x7a\x7b" -+"\x93\x84\x9f\x1f\x0e\xf7\xa9\xbe\x15\xf8\x3b\x07\xb9\xb6\xab\xca\xb0\xa8\x88\x83\xc5\x1e\x8a\x92\x8f\x8b\x8d\x1b\x9b\x96\x95\x9a" -+"\x98\x83\x94\x7d\x8e\x1f\x92\x6b\x46\x91\x63\x1b\x2f\x48\x55\x40\x1f\x54\x39\x52\x0a\xdd\xfb\xd1\x2f\x29\x0a\xf7\xd0\x21\x0a\x0e" -+"\xf7\xe4\xf8\x31\x15\x91\x75\x77\x8e\x76\x1b\xfb\x0b\x2c\x2c\xfb\x0a\xfb\x0a\xea\x2c\xf7\x0a\xf7\x0a\xea\xea\xf7\x0a\xdb\x5e\xd4" -+"\x45\xb0\x1f\xe3\xf7\x53\x05\x61\xaa\xaa\x6d\x95\x1b\x92\x8f\x8f\x90\x8f\x89\x8f\x85\x95\x1f\x75\xad\x78\xc0\x88\xaf\x08\x9e\x8a" -+"\x8a\x8e\x85\x1b\x87\x87\x89\x83\x81\x1f\x78\x7a\x4a\x73\x67\x88\x08\x79\x88\x87\x89\x83\x1a\x80\xa3\x84\xb2\x1e\x9f\x06\x9f\x8c" -+"\x05\x8d\x06\xfb\x31\xfb\x79\x15\xea\xd8\x40\x2f\x2d\x40\x3f\x2d\x2e\x3f\xd6\xe8\xe7\xd7\xd8\xe5\x1f\x0e\xf7\xa8\xf7\xcf\x15\xe4" -+"\xf7\x5f\x05\x98\xa9\x8d\x92\x99\x1a\xa1\x7a\x9c\x73\x6a\x80\x7a\x49\x7f\x1e\x67\xfb\x66\x05\x0e\xf7\xa6\xf7\x28\x15\x90\x7e\x7a" -+"\x8f\x7d\x1b\x57\x5d\x5e\x59\x6e\xa1\x78\xad\xd3\xbe\xc2\xda\x1f\xf7\x8b\x07\xba\x84\xb3\x4b\x46\x1a\x60\x83\x69\x77\x5e\x1e\xa2" -+"\x06\xa9\xb0\x9b\xb9\xbc\x1a\xca\x73\xc7\x59\xc7\x1e\x61\xbe\x8a\x8c\x86\x90\x85\x94\x19\xbc\x66\x07\x0e\xf7\xd8\xf8\x81\x15\xa0" -+"\x70\xa2\x76\xa3\x7e\xc8\x68\x96\x84\x90\x82\x08\x92\x7e\x8f\x78\x73\x1a\xfb\x92\x07\x92\x78\x72\x90\x76\x1b\x3f\x48\x51\x4a\x65" -+"\xaa\x73\xbd\xc3\xc0\xa4\xb5\xac\x1f\xa2\xa8\x92\xa3\x8e\xc0\x08\xf8\x22\x07\x8c\xda\x67\xdb\x59\xab\x57\xac\x18\x71\x9c\x7c\x95" -+"\x86\x8f\x08\x7d\x9b\x84\x9e\xa5\x1a\x99\x5b\xfc\xae\x07\x93\x78\x74\x8f\x76\x1b\x41\x49\x52\x49\x65\xaa\x73\xbb\xc2\xbf\xa4\xb5" -+"\xac\x1f\xa1\xa8\x92\xa3\x8e\xc0\x08\xf7\x2c\xf7\x47\x15\xfb\x0d\xcc\x71\xb4\x87\xf7\x12\x8e\x89\x18\xf7\x0d\x49\xa5\x63\x90\xfb" -+"\x12\x08\x0e\x6a\x1d\xf7\x9c\xf7\x79\x34\x0a\xf7\x63\xf8\x37\x15\x3b\x06\x74\x81\x2a\x1d\xa7\xfb\xd1\x63\x29\x0a\xf7\x18\x06\x9f" -+"\x96\x21\x1d\x77\x1f\x63\xf7\x85\x06\xd6\xc8\xa4\x9a\xc8\x1b\xaf\x9e\x85\x0a\x77\x97\x74\x70\x1a\xfb\x81\x6f\x6e\x0a\xf7\x01\x06" -+"\x9f\x97\x53\x1d\x6e\xf7\x88\x06\xd9\x45\xc7\x2f\x4e\x67\x79\x53\x56\x1e\x52\xf7\x67\x15\x92\x95\x8d\x8f\x90\x1a\x99\x7f\x97\x7d" -+"\x80\x86\x87\x7e\x82\x1e\x36\xfb\x0f\x05\x84\x81\x8a\x88\x85\x1a\x7c\x97\x80\x99\x95\x91\x8f\x98\x94\x1e\x0e\x6a\x1d\xf7\x13\xf7" -+"\x0c\xd8\x1d\x6a\x1d\xf7\x2b\xfc\x58\xb6\x0a\xf7\xda\xf7\x7c\x15\xf7\x93\xbd\xfb\x79\x06\xec\xf7\x49\x05\xf7\x18\xbe\x22\x06\x97" -+"\xa9\x96\xa1\x96\x9a\x08\x8f\x90\x8d\x8f\x8e\x1a\x96\x7e\x96\x7f\x7e\x85\x87\x7b\x83\x1e\x60\x3a\x05\xfb\x1a\xf2\x0a\xfb\x10\xb7" -+"\x3b\xe6\x63\x1e\x6e\x55\x05\x87\x83\x89\x85\x86\x1a\x7f\x97\x80\x98\x97\x92\x90\x9a\x93\x1e\xac\xca\x05\x87\xac\x8f\x8b\xb8\x1b" -+"\xf7\xba\xbe\xfb\xc6\x06\x73\x84\x8b\x8d\x7e\x1f\xb2\xf7\x47\x15\x31\xfb\x3c\x4a\xa1\x68\xc3\x87\xe0\x19\x90\x07\xf7\xd2\xf7\x7b" -+"\x15\x2a\xfb\x49\x05\xfb\x71\x90\x06\x91\xf7\x0c\xcc\xc6\xf7\x14\x88\x08\x0e\xf8\x12\xf8\x0e\x15\xba\xe5\x05\x8f\x92\x8d\x92\x90" -+"\x1a\x98\x7f\x96\x7d\x80\x84\x86\x7d\x83\x1e\x4f\xfb\x06\x05\xfb\x89\x26\x1d\xf7\x6f\x06\x5b\x31\x05\xfb\x3f\x20\x0a\xf7\x24\x06" -+"\x61\x3a\x05\x87\x84\x89\x85\x86\x1a\x7e\x97\x7f\x99\x96\x92\x90\x9a\x92\x1e\xc2\xf3\x05\xf7\x86\x27\x0a\xfb\x6b\x06\xbb\xe5\x05" -+"\xf7\x3b\x44\x0a\x0e\xf7\x3c\xf8\x35\x15\x3c\x06\x78\x81\x83\x7a\x7b\x96\x81\x9d\x1f\xb6\x06\xf7\x3f\xfc\x02\x05\xba\x06\xf7\x0d" -+"\xf7\x18\xbd\xdf\xd3\x1a\xca\x68\xd5\x6e\x7f\x7d\x7f\x80\x85\x8e\x81\x91\x81\x1e\x9d\x6c\x92\x72\x6d\x1a\x4f\x67\x47\x3f\x32\x1e" -+"\x83\x82\x86\x86\x85\x83\x08\x0e\x4b\x0a\xfb\x0e\xf7\x80\x42\x1d\x2c\x0a\x88\xf7\x5d\x55\x1d\x94\x1a\x99\xde\x1d\x83\x84\x68\x0a" -+"\x2c\x0a\xf7\x0c\xf7\x23\x15\xa0\x97\x94\x9b\x9b\x80\x94\x75\x5c\x1d\x8a\x0a\x0e\x8a\x0a\xd2\xf8\x1b\x15\x96\x94\x8e\x90\x94\x1a" -+"\x99\x7f\x97\x7d\x84\x84\x88\x83\x83\x1e\xfb\x06\xa6\x1d\x99\x91\x56\x0a\x4b\x0a\x0e\x4b\x0a\xdb\xf7\x62\x15\x95\x93\x8f\x92\x93" -+"\x1a\x99\x7f\x97\x7e\x83\x85\x88\x83\x82\x1e\xfb\x05\x2b\x05\x80\x82\x87\x85\x83\x1a\x7d\x97\x7f\x99\x92\x92\x8e\x93\x93\x1e\x0e" -+"\xcf\x8e\x15\xf8\x66\xb5\xfc\x3c\xf8\x3c\x61\x06\x0e\x8d\x0a\x82\xf7\x82\xb8\x0a\xf7\x2b\xf8\xbc\x15\x7d\x8c\x95\x82\x9a\x1b\xac" -+"\x8c\x05\xbb\xc4\x77\x6c\xb5\x1f\xa8\x76\x9e\x76\xa7\x60\x08\xa7\x5f\x66\x96\x57\x1b\xfb\x16\x24\x28\xfb\x11\xfb\x11\xf2\x27\xf7" -+"\x17\xf7\x15\xf3\xee\xf7\x10\xe9\x64\xf7\x00\x4e\xd1\x1f\xcb\x55\x33\xb0\x29\x1b\x70\x88\x8a\x84\x84\x1f\x87\x87\x89\x84\x84\x1a" -+"\xf7\x27\xfb\x40\xe0\x0a\xf7\x3f\xf7\x77\x15\xa5\x06\xf7\x08\xe7\xd5\xea\xe9\x36\xd4\xfb\x01\x1f\xfb\x21\x76\x1d\xf7\x1a\x06\xba" -+"\x8b\x8b\x8f\x91\x1f\x93\x8f\x90\x94\x94\x5b\x0a\x49\x06\xf7\x76\x04\xf7\x7f\xb6\x07\xd8\xc9\x57\x4b\x4a\x46\x55\x37\x1f\xf7\xa4" -+"\x78\x15\xc6\x07\x9b\x83\x94\x7d\x7d\x83\x82\x7b\x1e\x50\x76\x07\x7a\x82\x84\x7d\x7e\x95\x83\x9b\x1f\xa0\xfb\x25\x06\x4c\x9a\x7a" -+"\xc0\xae\xa8\xa1\xa5\x96\x81\x94\x7f\x84\x86\x88\x82\x86\x1e\x7f\x84\x88\x89\x7e\x1b\x75\x87\x91\xac\x1f\xf7\x24\xba\x07\x9b\x95" -+"\x93\x98\x99\x82\x92\x7a\x1f\x0e\xf7\x8b\xfb\x23\x15\x72\x94\x7d\x9c\x9c\x94\x98\xa5\x1e\xf7\x14\x07\x8a\x90\x92\x8b\x91\x1b\xf7" -+"\x18\xeb\xec\xf7\x18\xf7\x0d\x3b\xee\x29\x63\x6a\x7a\x6b\x76\x1f\x78\x6f\x84\x67\x3f\x1a\xfb\x5f\x07\x6e\x94\x7d\x91\x7a\x96\x08" -+"\x59\xaa\x70\xc1\xd0\x1a\xd2\xa9\xc3\xc0\xa8\x1e\xa1\x97\x92\x93\x97\x1a\x99\x82\x95\x7e\x74\x62\x6f\x66\x6e\x1e\x6a\x63\x7b\x5a" -+"\x50\x1a\xfb\x10\xd0\x36\xf7\x0c\x75\x1e\xbf\xf7\x93\x15\xf2\x9c\xae\xbe\xcf\xc5\x3e\x31\xfb\x02\x42\x48\xfb\x0d\x88\x1e\x0e\xf8" -+"\x5e\xf8\x04\x15\xb3\x29\x1d\xfc\x1f\x25\x1d\xb3\xfb\xd1\x63\x25\x1d\xf7\x17\x22\x0a\x64\xf7\xd1\xf7\x67\xfb\xd1\x64\x36\x1d\xf7" -+"\x17\x29\x1d\x63\x06\x0e\xf8\x7d\xf8\xe3\x15\xbc\x6c\x0a\xfc\x71\xf7\x27\x1d\xbc\xfd\x02\x5a\xf7\x27\x1d\xf7\x2b\x6c\x0a\x59\xf9" -+"\x02\xf7\xa6\xfd\x02\x5a\x06\x7b\x8c\x80\x81\x8a\x7c\x08\x88\x07\x8c\x7c\x96\x81\x9b\x8c\x08\xf7\x2b\x6c\x0a\x5a\x06\x0e\xf7\xe9" -+"\xf8\x64\x15\xfb\x2b\x65\x86\x71\x5e\x1f\x46\x62\x61\x3f\x37\x1a\x3e\xad\x46\xc8\x5f\x1e\x67\xbd\xae\x85\xf7\x39\x1b\xf7\x56\x06" -+"\xa0\x99\x95\x9b\x9b\x7f\x94\x74\x1f\xfb\x58\x06\xfb\x14\x60\x90\x9e\x68\x1f\x54\xa8\x65\xcb\xcb\x1a\xc5\xab\xc7\xba\xaa\x1e\xa6" -+"\xb3\xb0\x90\xf7\x23\x1b\xf7\x58\x06\xa1\x98\x95\x9b\x9b\x7e\x94\x75\x1f\x0e\xf7\x74\x16\xf7\x2d\xb0\x90\xa5\xb8\x1f\xd0\xb4\xb5" -+"\xd7\xdf\x1a\xd8\x68\xd0\x4f\xb7\x1e\xaf\x59\x67\x91\xfb\x39\x1b\xfb\x55\x06\x75\x7e\x82\x7b\x7b\x98\x81\xa1\x1f\xf7\x58\x06\xf7" -+"\x16\xb3\x86\x78\xaf\x1f\xc2\x6f\xb1\x4a\x4b\x1a\x51\x6b\x50\x5b\x6b\x1e\x71\x65\x63\x85\xfb\x21\x1b\xfb\x58\x06\x74\x7f\x82\x7b" -+"\x7c\x99\x80\xa0\x1f\x0e\xf7\xda\xf8\xce\x15\x9f\x82\x97\x7a\x7a\x82\x7f\x77\x1e\xfc\xaa\x07\x36\x90\x70\xac\x8e\xeb\x08\xf7\x8d" -+"\x27\x78\x0a\xbb\xfb\x5a\x06\x8c\xfb\x14\xb9\x56\xf7\x06\x87\x08\xfb\x1b\x07\x27\x1d\xf7\x1b\x07\xf7\x07\x90\xba\xc1\x8a\xf7\x12" -+"\x08\xf7\x5a\xbb\x07\x32\x0a\x27\xfb\x8d\x06\x8c\x28\x73\x6d\x35\x86\x08\x0e\xf8\x5f\xf7\x3f\x15\x65\xbd\x7b\x9b\x69\xa3\x08\xe1" -+"\xa8\xba\xbe\xcb\x1a\xe0\x36\xd4\x27\x1e\xfb\x8d\x9c\x0a\xf7\x57\xf7\x12\x06\xb3\x79\xb3\x6a\xaa\x61\x41\x71\x18\x7a\x85\x85\x84" -+"\x7d\x1a\x7f\x96\x7f\x98\x8f\x90\x8c\x8e\x92\x1e\xe2\xaa\x9c\x70\x97\x76\xa9\x57\x19\x91\x80\x05\xc6\x21\x0a\x70\x06\x71\xb7\x83" -+"\x98\x7e\xa0\xe0\xa9\x18\x9c\x91\x91\x92\x98\x1a\x97\x80\x97\x7f\x87\x82\x89\x8a\x87\x1e\xfc\x15\xe6\x15\xf7\x2a\x1d\x0e\x6b\x1d" -+"\xf7\x4a\xf7\x9b\xb7\x0a\xf7\x2e\xf7\xd1\x15\x22\x06\x79\x8c\x80\x82\x8a\x7a\x08\x8a\x07\x8c\x7a\x96\x82\x9d\x8c\x08\xc7\x06\xe4" -+"\xfb\xb0\xf7\x85\xf9\x2f\x05\xf7\x3b\x06\x9c\x98\x96\x9a\x9b\x80\x94\x78\x1f\xfb\x66\x06\xfb\x55\xfc\xcc\x05\x0e\x6b\x1d\xb8\xf7" -+"\x2e\xaf\x0a\x6b\x1d\xa8\xfc\x36\x3c\x0a\x91\x1a\x98\x7f\x97\x7d\xf7\x02\x1d\xf7\x0b\xf8\x19\x15\xf8\x12\x27\x0a\xfc\x46\xfb\x88" -+"\x06\x39\x1d\x96\x9f\x1e\x0e\xf7\x28\xd1\x15\x51\xbf\xc4\x6f\xd0\x1b\xf7\x0c\xee\xf1\xf7\x0f\xc5\x77\xc1\x66\xb6\x1f\xba\x62\x57" -+"\xa1\x47\x1b\x4a\x52\x76\x65\x62\x1f\x5d\x61\x75\x4c\x32\x1a\xfb\xde\x2b\x0a\xf7\x42\xf8\xa8\x15\xf1\xd0\x46\x25\x2a\x40\x3c\x2e" -+"\x56\x58\xa5\xb7\x66\x1f\x73\xa9\x7f\xae\xb5\x1a\xee\xd4\xd2\xf0\x1e\x0e\x3e\x0a\xf7\xb3\xf8\x71\xf7\x00\x1d\x97\xf7\x48\x1d\xf7" -+"\xd2\x7c\x15\xf7\x05\x92\xd3\xbf\xd6\x1a\xaf\x77\xae\x6b\xa0\x1e\x6a\xa1\x66\x96\x4d\x91\x33\x91\x1d\xd3\x7e\x0a\x93\x82\x5c\x0a" -+"\xcf\x07\xa0\x82\x96\x7b\x7d\x81\x81\x7c\x89\x1e\xa5\x69\x5e\x98\x55\x1b\x26\x40\x5a\x48\x6a\x9d\x6c\x9a\x1d\xa5\x85\xa5\x7c\x08" -+"\xa4\x7e\x9b\x74\x77\xf7\x0f\x0a\x92\x07\x9b\x80\x96\x7c\x7a\x82\x80\x76\x1e\x3a\x07\x76\x94\x80\x9c\x9b\x94\x96\x9f\x1e\xa8\x73" -+"\xb3\x7b\xbe\x86\x08\x4a\xa5\x07\xa6\x99\x84\x7e\x7e\x7b\x82\x74\x7d\x7c\x8f\x95\x77\x1f\x90\x82\x88\x8c\x85\x47\x1d\x85\x9b\x83" -+"\x1f\x81\x9f\xaa\x93\x1d\x0e\x3e\x0a\xf7\x2a\xf8\xa3\x3c\x1d\x99\x91\xae\x1d\x84\x94\x90\x89\x92\x1b\x99\x96\x96\x99\x95\x88\x90" -+"\x7f\x95\x1f\x0e\x3e\x0a\xf7\x42\xfb\x60\x15\x91\x95\x8d\x8f\x90\x1a\x9a\x80\x96\x7c\xf7\x02\x1d\xf7\x52\xf7\xcf\x15\xe4\xf7\x5f" -+"\x05\x98\xa9\x8d\x92\x99\x1a\xa1\x7a\x9c\x73\x6a\x80\x7a\x49\x7f\x1e\x67\xfb\x66\x05\xf7\x52\x16\xe5\xf7\x5f\x05\x98\xa8\x8d\x93" -+"\x99\x1a\xa1\x79\x9c\x74\x6a\x80\x7a\x49\x7f\x1e\x67\xfb\x66\x05\x0e\xf8\xbc\xf8\x12\x15\x9d\x96\x95\x9a\x9b\x80\x95\x79\x1f\xfb" -+"\x6c\x06\x3e\x6c\x84\x71\x5d\x1f\x44\x62\x5f\x42\x3d\x1a\xfb\x11\xf3\x28\xf7\x16\xf7\x15\xf3\xee\xf7\x11\xd2\x6f\xc1\x4c\xbc\x1e" -+"\xfb\x25\x16\xf7\x25\x1d\x0e\xf7\x6d\xf8\x23\x15\x75\x79\x7a\x75\x76\x9c\x79\xa1\xa1\x9c\x9c\xa1\xa0\x7a\x9d\x76\x1f\xf7\x41\x8c" -+"\x15\x75\x79\x79\x76\x75\x9d\x79\xa1\xa0\x9d\x9d\xa0\xa1\x79\x9d\x76\x1f\xe9\x37\x15\x82\x64\x83\x7b\x77\x73\x08\x61\x66\x5c\x77" -+"\x4d\x1b\x4c\x5d\x9f\xb5\x66\x1f\x77\xa3\x83\x9b\x82\xb2\x90\x48\x93\x6c\xa2\x68\x08\x5b\xac\xbd\x72\xcb\x1b\xc6\xba\xa0\xb4\xab" -+"\x1f\xa8\xb0\x96\xae\x90\xd3\x08\xfb\x47\xf7\x8b\x15\xfb\x33\xfb\x13\xfb\x10\xfb\x2f\xfb\x32\xf7\x11\xfb\x12\xf7\x31\xf7\x2f\xf7" -+"\x12\xf7\x12\xf7\x30\xf7\x2d\xfb\x12\xf7\x14\xfb\x2b\x1f\x83\x66\x15\xf7\x1d\xf7\x03\xfb\x00\xfb\x1b\xfb\x1d\xfb\x01\xfb\x01\xfb" -+"\x1c\xfb\x1b\xfb\x01\xf7\x01\xf7\x1c\xf7\x19\xf7\x02\xf7\x03\xf7\x17\x1f\x0e\xf7\x22\x16\xf8\x09\x9d\x06\xfb\x11\x91\x51\xcd\x8d" -+"\xf7\x17\x08\x4a\xad\xaf\x72\xc3\x1b\xc1\xb8\xba\xc5\xc0\x77\xaa\x38\xd7\x1f\x37\xd8\x7c\xa1\x6d\xe5\x7f\x44\x5c\x47\x3a\x4a\x08" -+"\x4d\x58\x70\x5f\x5a\x1a\x51\xba\x5b\xc4\xc3\xb3\xa8\xc8\xa8\x1e\xfb\x14\x90\x47\x40\xfb\x0e\x1b\x0e\xf8\x55\xf8\x94\x15\x93\x21" -+"\x05\x7d\x93\x82\x99\x89\x1e\x90\x06\x9a\x8d\x92\x94\x9b\x1a\xf7\x14\x07\x9e\x82\x94\x78\x8a\x1e\xfb\xeb\x06\x7a\x8c\x81\x82\x8a" -+"\x7b\x08\x7e\x07\x80\x8b\x8a\x92\x82\x1e\xf7\x45\xfb\x8c\xfb\x47\xfb\xd7\x05\x86\x83\x8b\x8a\x82\x1a\x7c\x07\x7a\x95\x83\x9d\x1e" -+"\xf7\xf2\x06\x9e\x94\x94\x9e\x1f\xf7\x14\x07\x9b\x84\x94\x7c\x8d\x1e\x85\x06\x7d\x89\x84\x82\x8a\x7c\x87\x21\x18\xfb\xb9\x06\xf7" -+"\x45\xf7\xcd\x05\x8f\x92\x8c\x8e\x8f\x1a\x91\x89\x8f\x86\x92\x1e\xfb\x3d\xf7\x85\x05\x0e\xf7\x23\xf8\x2b\x15\x73\x6d\x7c\x68\x87" -+"\x65\x08\x2c\x5e\xeb\x06\x8f\x64\x99\x68\xa2\x6e\x48\x48\x18\xab\x6b\xce\xcf\xa9\x73\xab\x7e\xb4\x85\x19\x2c\xb8\xea\x07\xb4\x91" -+"\xad\x99\xa7\xa2\xce\x47\x18\xab\xab\x48\xcf\xa1\xa4\x9a\xaf\x90\xb4\x19\xeb\xb8\x2b\x06\x86\xb3\x7c\xaf\x75\xa6\xce\xce\x18\x6b" -+"\xab\x48\x48\x70\xa1\x63\x9b\x67\x8f\x19\xea\x5e\x2d\x07\x67\x87\x62\x79\x72\x75\x47\xcf\x18\x6b\x6b\x05\xf7\x72\x5d\x15\xdc\xcc" -+"\x4c\x3c\x3a\x4b\x4b\x3b\x3c\x4b\xcb\xda\xda\xcb\xcc\xd8\x1f\x0e\xf7\xcf\xf8\x04\x15\xf7\x11\x06\xa0\x96\x94\x9c\x9c\x81\x93\x75" -+"\x1f\xfb\xc5\x06\x77\x7f\x81\x7c\x7b\x97\x81\x9f\x1f\xf7\x14\xfb\xcb\x06\x6a\x90\x7e\x9c\x7f\x1e\x82\x99\xa0\x86\xa9\x1b\xc4\xb4" -+"\x9c\xa3\x98\x82\x96\x7f\x87\x89\x8a\x8a\x88\x1f\x7f\x70\x82\x89\x74\x1b\x68\x82\x93\xa8\x1f\x0e\xf7\x54\xf7\xc0\x15\xcf\xf7\x6a" -+"\x07\x4f\x1d\xfb\x6a\xf7\x04\x06\x8e\x1d\x47\x53\x06\x3b\x0a\xc3\xfb\x1f\x06\x3f\xca\x59\xed\xba\xc3\x96\x9d\xbb\x1e\xb0\x99\x9b" -+"\x98\x9a\x1a\x99\x80\x96\x7d\x86\x87\x8a\x85\x82\x1e\x75\x64\x46\x7b\x54\x1b\x49\x62\xa9\xbb\x1f\xf7\x1c\xf7\x49\x07\xa0\x97\x45" -+"\x0a\x0e\x83\x1d\xef\xf7\x2b\x15\x91\x93\x8d\x91\x90\x1a\x99\x7f\x97\x7d\x81\x85\x87\x7e\x82\x75\x0a\x96\x80\x9a\x95\x90\x8e\x99" -+"\x94\x1e\x0e\xf7\xb3\x7c\x15\x8a\x90\x8d\x8b\x91\x1b\xbb\xc2\x96\x9d\xbd\x1f\xaf\x99\x9b\x98\x9a\x1a\x99\x80\x96\x7d\x86\x87\x8a" -+"\x85\x82\x1e\x75\x65\x45\x7b\x54\x1b\x49\x62\xa8\xbb\x1f\xf7\x94\xf7\x6b\x07\x54\x0a\xfb\x6b\xf7\x04\x06\x8e\x1d\xfb\x96\x06\x8a" -+"\x53\xb0\x5e\xc9\x7a\x08\x36\xa5\x07\xa6\x99\x84\x7e\x7d\x3a\x0a\x96\x76\x1f\x90\x82\x87\x8c\x86\x47\x1d\x84\xa0\x1d\xb2\x73\xa3" -+"\x62\x8e\x1f\x0e\xf7\xc4\xf8\xef\x15\xfb\x17\x33\xfb\x10\xfb\x4d\xfb\x4a\xe3\xfb\x13\xf7\x13\xf7\x13\xe4\xf7\x14\xf7\x49\xf7\x49" -+"\x33\xf7\x14\xfb\x10\x1f\xfb\x3b\xfb\xb0\x15\xf7\x22\x8f\xcb\xe6\xeb\x1b\xe9\xca\x31\xfb\x23\x90\x1f\x58\x04\xfb\x20\x88\x4a\x2f" -+"\x2c\x1b\x2c\x4b\xe7\xf7\x20\x87\x1f\x0e\xf8\x0a\xf8\xe0\x88\x1d\x28\x0a\xfb\x96\xf8\xc4\x42\x1d\x28\x0a\xfb\x0b\xf8\xa1\x15\x95" -+"\x94\x8e\x90\x93\x1a\x9a\x80\x96\x7d\xf7\x0d\x0a\x80\x89\x87\xa8\x0a\x28\x0a\x7b\xf8\x67\x2d\x0a\xf8\xdd\xfb\x89\x60\x1d\xfc\xce" -+"\x06\x76\x80\x82\x7b\x79\x96\x83\xa0\x1f\xf8\xce\x43\x15\x74\x0a\xfc\xce\x06\x76\x80\x82\x7a\x7a\x96\x83\xa0\x1f\x0e\x0e\xc9\x0a" -+"\x62\x0a\x25\xfb\x24\x3c\x0a\x91\x1a\x99\x7f\x96\x7d\xf7\x03\x1d\x83\x1d\x39\xfc\x94\x87\x1d\xf8\x36\xf8\xa1\x2d\x0a\x67\x0a\xf8" -+"\xbf\x16\xfb\x71\xf8\xc7\x05\x3e\x06\xfb\x68\xfc\xc7\x05\xf8\x44\xbe\x15\xfb\xfb\x06\xf7\x42\xf8\x61\x05\x92\x06\x0e\xf8\x34\xbe" -+"\x15\xec\xc2\xc6\xeb\xf2\x1a\xf7\x2d\xfb\x0a\xf7\x09\xfb\x2e\xfb\x2e\xfb\x0a\xfb\x09\xfb\x2d\xf7\x28\x1d\x81\xa0\x1f\xf7\x62\xbc" -+"\x06\x53\xab\x7b\x95\x76\x9e\x08\x50\xc0\x6d\xcb\xd3\x1a\xd3\xa7\xc6\xc3\xb9\x1e\xad\xb3\xb4\x99\xc3\x1b\xc3\xb4\x7d\x69\xb3\x1f" -+"\xc3\x5d\xa7\x50\x43\x1a\x47\x71\x50\x57\x57\x1e\x71\x72\x7b\x80\x4d\x68\x08\x5a\xf7\x62\x07\xa0\x98\x95\x9b\x9c\x80\x93\x74\x1f" -+"\x0e\xf8\x3e\xf8\x04\x15\xfb\x46\x07\x29\x5b\x52\x38\x64\x67\x9d\xa9\x72\x1e\x7b\xa1\x84\xa9\xc2\x1a\xf7\x79\x27\x07\x75\x80\x38" -+"\x1d\xbb\xfc\x9a\x06\x27\x1d\xf7\x4c\x07\x67\xb1\xad\x7d\xbd\x1b\xbf\xb1\x9b\xb4\xb5\x1f\x62\xee\x07\x32\x0a\x5b\xf8\x04\x27\x2e" -+"\x0a\x0e\xf8\x71\xf8\x1f\x15\xa5\x5f\x5f\x97\x55\x1b\xfb\x20\x2a\x2a\xfb\x20\x45\xa6\x4b\xb7\x67\x1f\xaa\x72\xb1\x7d\xc7\x84\xbc" -+"\x85\xa0\x87\x94\x88\x08\x9d\x84\x98\x7c\x7b\x1a\x7a\x80\x79\x79\x80\x1e\x7d\x82\x79\x87\x6d\x8a\x08\x75\x80\x82\x7b\x79\x97\x83" -+"\xa4\xda\xc7\xbb\xc9\xab\x78\xab\x6e\x9a\x1f\x7b\x93\x70\x91\x51\x94\x56\x92\x6d\x94\x76\x9b\x08\x67\xa6\x76\xbf\xc5\x1a\xf7\x02" -+"\xd6\xd4\xf7\x06\xb7\xb2\x80\x76\xa5\x1e\x98\x81\x95\x79\x95\x6b\x08\x70\x93\x90\x86\x9c\x1b\x9a\x95\x95\x9b\x8e\x8b\x8b\x89\x9b" -+"\x1f\x8f\x07\x8a\x92\x8a\x96\x93\x1a\x91\x8c\x98\x8d\x9d\x1e\x8d\xa6\x8b\x8c\x91\x1a\x9d\x82\x96\x7b\x7f\x83\x85\x7e\x85\x1e\x0e" -+"\x25\x0a\xa6\xf9\x66\x15\x94\x81\xad\x1d\x86\x96\x81\x1f\xf7\x06\x2a\x05\x83\x94\x91\x88\x92\x1b\x9a\x96\x96\x9a\x92\x8a\x8d\x83" -+"\x93\x1f\x86\x91\x05\x0e\x5e\x0a\xf7\x17\xf7\x99\x15\x94\x82\x86\x8d\x83\x1b\x7d\x80\x80\x7d\x82\x8f\x85\x94\x82\x1f\xf7\x07\x2a" -+"\x05\x83\x94\x90\x88\x92\xf7\x3b\x1d\x85\x91\x05\x0e\xf7\xbe\xc3\x15\xfb\x47\xf8\x5c\x05\xcf\x44\x1d\xfb\x2b\x22\x1d\xa7\x06\xf7" -+"\x5c\xfc\x94\x05\xca\x06\xf7\x48\xf8\x33\x9c\xb9\x8d\x8e\x95\x95\x19\x94\x93\x95\x8f\x96\x1b\x93\x91\x89\x83\x99\x1f\x7f\xa2\x97" -+"\x86\x98\x1b\xa1\x9f\xa1\xa3\xad\x6a\xa3\x5b\x69\x70\x81\x75\x72\x1f\x74\x76\x87\x85\x73\x52\x08\x0e\x82\x1d\xf7\x3e\xf9\x06\x15" -+"\x94\x82\xad\x1d\x85\x96\x82\x1f\xf7\x06\x2a\x05\x82\x94\x90\x89\x92\x1b\x9a\x96\x96\x9a\x92\x8a\x8d\x84\x64\x1d\xf7\x3f\xf7\x9e" -+"\x15\xf7\x25\xbe\xfb\x25\xf7\x57\xf7\xc3\x30\x06\x27\x1d\xf7\x22\xfc\x5c\x07\x20\x1d\xbc\xfb\x57\x48\x58\xce\xfb\x6b\x5a\x20\x0a" -+"\xf7\x7e\x21\x0a\xfb\x19\x06\x0e\xf7\x57\xf7\x87\x15\xfb\x54\xd3\x0a\xf7\x54\xe6\x06\xa0\x96\x94\x9b\x9b\x7f\x94\x77\x1f\x30\xd6" -+"\xf7\x7e\xfb\x2c\x06\x76\x94\x80\x9c\x9c\x94\x96\xa0\xf7\x26\x1d\x40\x53\x06\x66\x1d\x0e\xf8\xaf\xbe\x15\x53\xf7\x1b\x71\xc7\x6c" -+"\xb7\x6f\x9b\x19\x97\x99\xa6\xba\xa3\xbf\xae\xd4\x98\x9d\xa0\x8e\x08\x5d\x07\x76\x95\x7f\x9b\x9c\xf7\x0b\x1d\xf7\x4d\xa5\x2f\x1d" -+"\x24\x3b\x1d\xa4\xfb\x4d\x86\x06\x74\x8c\x7f\x9c\x5c\xeb\x08\xf6\x57\x7a\x9a\x4b\x1b\x70\x84\x83\x6c\x1f\x55\x07\x73\x94\x7f\x9c" -+"\x9b\x95\x97\xa0\x1e\xb9\x07\xa0\x88\x95\x7d\xb1\x3e\xa4\x55\xa4\x60\x98\x7c\x6f\x7a\x6c\x60\x71\x4e\x53\xfb\x1b\x18\x70\x2a\x0a" -+"\xab\x06\xa8\x8c\x8d\x8c\x96\xa5\xc4\xf7\x1d\x18\xab\xd4\xaf\xb4\xa9\x88\x08\x94\xfb\x75\x72\x3b\x1d\xf2\x2f\x1d\x71\xf7\x75\x94" -+"\x06\xaa\x8e\xaf\x62\xab\x42\xc4\xfb\x1d\x18\x96\x70\x8c\x8b\xa9\x8a\x08\xa1\x5e\x1d\x8a\xad\x87\x8f\x69\x8c\x08\x0e\xf8\xa4\xbe" -+"\x15\x57\xe5\x72\xb6\x6e\xad\x73\x99\x19\x93\x92\xa2\xa9\x98\xa0\xb4\xcc\x96\x96\xa5\x8d\x08\x73\x07\x76\x95\xf7\x32\x1d\x6c\x52" -+"\x79\x7e\x40\x5a\x1e\x5d\x46\x80\x80\x74\x8a\x08\x87\xf7\x0a\xa1\x24\x1d\x2a\x3b\x1d\xa2\xfb\x0a\x87\x06\x73\x8d\x7c\x99\x6b\xbf" -+"\x08\xe1\x55\x77\x9a\x4e\x1b\x6e\x84\x83\x6c\x1f\x6a\x07\x74\x94\x7f\x9c\x9c\x94\x96\xa0\x1e\xa3\x07\xa3\x89\x94\x82\xaf\x56\xa1" -+"\x67\x9d\x74\x99\x7e\x70\x79\x6e\x6b\x74\x62\x58\x31\x18\x72\x06\x35\x1d\xa7\x06\xa6\x8c\x8c\x8b\x99\xa3\xbf\xe8\x18\xac\xc2\xac" -+"\xa7\xa9\x89\x08\x93\xfb\x28\x74\x06\x35\x1d\xec\x24\x1d\x75\xf7\x28\x93\x06\xa8\x8d\xad\x6f\xab\x54\xc0\x2e\x18\x93\x7d\x90\x84" -+"\x8f\x8a\x08\x89\x8d\x97\x8a\x98\x1b\x9d\x06\x8c\x49\x05\x74\x24\x0a\xa4\x1e\xd5\x07\xab\x84\x90\x65\x8f\x1e\x0e\xf7\xd3\x7c\x15" -+"\xc2\x8d\xb9\x95\xa8\x9b\x08\xc2\xaa\xab\xbf\xc6\x1a\xd0\x64\xb9\x3d\xa2\x1e\xcb\xa5\xab\xb7\xc7\x1a\xe5\x3a\xc9\xfb\x08\x4b\x5a" -+"\x7a\x64\x5b\x1e\x86\x85\x88\x8a\x89\x1b\x86\x87\x93\x9b\x88\x1f\xa1\x87\x83\x95\x7c\x1b\x7d\x82\x82\x7c\x82\x8b\x81\x8c\x7d\x1f" -+"\x8c\x85\x8b\x87\x82\x1a\x8c\x68\x05\x87\x07\x84\x07\x8a\x7b\x05\x8a\x89\x8b\x8a\x8a\x1a\x8a\x8b\x89\x8a\x87\x1e\x8a\x80\x89\x78" -+"\x84\x1a\x7c\x94\x82\x9a\x98\x93\x93\x9c\x8f\x1e\xe8\xa0\xc6\xba\xeb\x1b\xe8\xc7\x63\x4c\x73\x83\x76\x7c\x7b\x1f\x6f\x71\x43\x78" -+"\x38\x1b\x70\x33\x1d\xa6\x06\xe6\xb9\x85\x7b\xaa\x1f\xaf\x78\xa0\x6c\x67\x1a\x6a\x7b\x6c\x70\x76\x1e\x74\x6c\x60\x80\x4b\x1b\x42" -+"\x57\x9b\xb6\x42\x1f\x90\x83\x85\x8d\x84\x1b\x7f\x7d\x7e\x7e\x65\xf7\x08\x5b\xef\x87\x1f\x4b\xa5\x07\xa6\x99\x84\x7e\x7e\x3a\x0a" -+"\x95\x76\x6d\x0a\xab\x83\xa0\x73\x1d\xf7\xda\x7c\x15\xf7\x1b\x8e\xd6\xba\xdd\x1a\xbc\x67\xb6\x59\x96\x1e\x81\x8e\x05\xc0\xa1\xa1" -+"\xa7\xb7\x1a\xd1\x3f\xb9\xfb\x0a\x40\x51\x78\x66\x62\x1e\x9c\x07\xa4\x81\x99\x7a\x7b\x82\x7d\x72\x1e\x23\x07\x7a\x93\x81\x9a\x99" -+"\x92\x94\xa0\x91\xce\x0a\x71\x7d\x81\x7a\x7b\x99\xc3\x0a\x77\xa8\x79\xc2\x7d\x1f\xba\x7e\xaf\x85\xb5\x89\x08\x4a\xa5\x07\xa6\x99" -+"\x84\x7e\x7e\x3a\x0a\x95\x76\x6d\x0a\xab\x83\xa0\x73\x1d\xf8\x80\xbe\x15\x45\xf7\x1b\x69\xcb\x66\xb6\x6a\x99\x19\xa8\xaa\x92\x96" -+"\xb5\xd0\xbe\xe0\x94\x93\xb6\x8d\x08\x60\x07\x77\x0a\xac\x84\x92\x67\x41\x75\x7a\x23\x4d\x1e\x4c\x23\x80\x81\x51\x89\x08\x72\xf7" -+"\x4d\xba\x2f\x1d\xfb\x25\x4c\x1d\xb9\xfc\x61\x5d\x2a\x0a\xf7\x25\x06\xa4\x99\x94\x9c\x9b\x7d\x94\x72\x1f\x5c\xf7\x75\xa4\x06\xdc" -+"\x89\xa6\x77\xbc\x31\xf7\x47\x1d\xbd\x29\x06\x73\xf7\x06\x0a\x8a\xad\x87\x8f\x68\x8c\x08\x0e\xf8\x74\xbe\x15\x4a\xe6\x5c\xcc\x7f" -+"\x95\x65\x98\x19\xa0\x9c\x9c\x9d\xa9\xaf\xbf\xc9\x91\x8e\xb5\x8d\x08\x5e\x07\xbb\x1d\xb9\x4c\x06\x73\x95\xf7\x41\x1d\xab\x86\x90" -+"\x6d\x8d\x08\x0e\xf7\x92\xf7\xa5\x15\xc1\x83\xa4\x75\xb5\x3c\x8f\x1d\x93\x96\xb4\xf5\x0a\x60\x07\x77\x0a\xaa\x83\x93\x6b\x3d\x79" -+"\x7d\x21\x4a\x1e\x58\x36\x79\x76\x70\x86\x08\xf7\x0b\x07\xa0\x82\x84\x0a\xfb\x10\x81\xf7\x4d\xba\x07\xa5\x7f\x0a\x71\x1f\xfb\x25" -+"\x4c\x1d\xb9\xfc\x61\x5d\x2a\x0a\xf7\x25\x06\x52\x1d\x5c\xf7\x75\x95\xfb\x12\xf7\x04\x0a\xf7\x97\xf7\x58\x15\xbb\x84\xa3\x7b\xaf" -+"\x57\xcf\x28\x18\x96\x7a\x91\x87\xa4\x8a\x08\xc4\x24\x1d\x55\x06\x4a\xe6\x5c\xcc\x7f\x95\x65\x98\x19\x9e\x9a\xa1\xa2\xa6\xac\xbe" -+"\xc8\x92\x90\xb5\x8c\x08\x5e\x07\x39\x1d\x97\xa1\x1e\xc1\x07\xab\x83\x92\x65\x47\x7a\x80\x2b\x3a\x1e\x6c\x66\x79\x7c\x79\x86\x08" -+"\xcb\x07\xa0\x82\x96\x7b\x7a\x82\x7f\x77\x1e\x46\x7b\xf7\x0a\xb6\x07\xa5\x99\x94\x9c\x9b\x7e\x94\x70\x1f\xfb\x1e\x33\x1d\xb6\xfb" -+"\xd1\x60\x33\x1d\xf7\x1e\x06\x52\x1d\x60\xf7\x28\x9b\x3c\xf7\x04\x0a\xf7\x53\xf8\x94\x15\xbb\x29\x1d\xfb\x7e\xfb\x5f\x06\x27\x1d" -+"\xf7\x2c\xdd\xfc\x61\x5e\x37\x0a\xf7\x24\x36\x0a\x5c\xf7\x75\xa4\x06\xdc\x89\xa6\x77\xbc\x31\x8f\x1d\x92\x96\xb5\xf5\x0a\x60\x07" -+"\x77\x0a\xaa\x83\x93\x6b\x3d\x78\x7c\x22\x4b\x1e\x4c\x22\x80\x82\x51\x89\x08\x72\x06\x0e\xd0\xf8\x04\x15\xd9\xfb\xd1\x60\x2a\x0a" -+"\xf7\x1e\x24\x1d\x60\xf7\x28\xa3\x06\xda\x8a\xa8\x7c\xb7\x4d\xcf\x28\x18\x95\x7a\x92\x87\xa4\x8a\x08\xc4\x24\x1d\x55\x06\x4a\xe6" -+"\x5b\xcc\x80\x95\x65\x98\x19\x9e\x9b\x9f\xa0\xa8\xad\xbf\xc9\x91\x8f\xb5\x8c\x08\x5e\x07\x39\x1d\x97\xa1\x1e\xc1\x07\xab\x83\x92" -+"\x65\x49\x77\x7f\x3c\x48\x1e\x50\x44\x82\x86\x53\x89\x08\x73\xf7\x0a\xbc\x06\x9f\x98\x95\x9a\x9c\x46\x0a\xfb\x7b\xfb\x22\x06\x27" -+"\x1d\x0e\xf8\x77\xbe\x15\xf8\x61\x9f\x07\xa0\x97\x94\x9c\x9c\x80\x93\x75\x89\x1d\xf7\x96\xfb\x6b\x5b\x29\x0a\xf7\x11\x27\x06\x74" -+"\xf7\x06\x0a\xab\x84\x92\x6e\x8c\x1e\x0e\xf8\x71\xbe\x15\xf7\xd1\xa4\x07\x32\x0a\x25\xc5\x1d\xf7\x8e\xfb\x23\x63\x06\x76\x7f\x59" -+"\x0a\xf7\x08\x8a\x05\x4b\x07\x74\x24\x0a\xa3\x1e\xd5\x07\xa0\x87\x95\x82\x8f\x1e\x90\x82\x87\x8c\x80\x1b\x0e\xf7\xdc\x7b\x15\xbe" -+"\x8c\xbe\x9c\xb5\xa9\x08\xb2\xa7\xa8\xac\x9b\x1a\x99\x81\x95\x7c\x82\x86\x88\x83\x83\x1e\x4d\x55\x5b\x72\x47\x1b\xfb\x07\x29\xed" -+"\xf7\x08\x1f\xd0\x07\xf7\x06\xe2\xe7\xf7\x01\xe1\xd7\x5a\x51\x90\x1e\xf1\x1d\x48\x4e\x71\x5b\x5d\x1f\x5f\x5c\x6e\x46\x4e\x1a\x3a" -+"\x07\xfb\x0b\xef\xfb\x07\xf7\x0d\x76\x1e\x47\xa5\x07\xa6\x99\x84\x7e\x7d\x3a\x0a\x96\x76\x1f\x90\x82\x87\x8c\x86\x47\x1d\x84\xa0" -+"\x1d\xb2\x73\xa2\x62\x8f\x1f\x0e\xf7\xe2\x7c\x15\xba\x8f\xb7\x97\xb0\x9d\x08\xbb\xa3\xaa\xa8\x9e\xda\x0a\x58\x4f\x74\x43\x1b\x21" -+"\x40\xd1\xf0\xf4\xd4\xd2\xf6\xdd\xce\x65\x59\x91\x1f\x77\x8d\x93\x83\x9a\x1b\x9c\x94\x96\x9f\x1f\xe5\x07\xa0\x82\xa9\x1d\x89\x07" -+"\xdb\x0a\xfb\x0c\xe0\x31\xf7\x0d\x81\x1f\x4b\xa5\x07\xa6\x99\x84\x7e\x7e\x3a\x0a\x95\x76\xee\x1d\xa0\xa9\x83\xa1\x73\x1d\x31\x0a" -+"\x0e\xf7\xa8\x90\x15\xfb\x1c\x64\x07\xf7\x12\x1d\xf7\x19\x06\xf7\x4c\xf8\x02\xc7\x0a\xfb\xc7\xfb\x2f\xf7\xc7\x8b\x1d\x0e\xf7\xdc" -+"\xf7\x6d\x15\xb0\x07\xf7\x42\xf7\x96\xc8\x0a\xfb\x63\xfb\x22\xf7\x63\xf6\x1d\xfb\x96\x05\x66\x29\x07\x66\x1d\xed\xfb\x08\x27\x20" -+"\x0a\xf7\x90\x23\x1d\x27\xf7\x08\xe7\x06\x9e\x1d\x0e\xf7\xa8\x78\x15\x31\x06\x66\x1d\xe5\x4d\x64\x06\xf7\x12\x1d\xc9\xe9\x06\x9e" -+"\x1d\x2d\xa1\x06\xf7\x4c\xf8\x01\xc7\x0a\xfb\xc6\xfb\x2f\xf7\xc6\x8b\x1d\xf7\x4d\xfb\xff\x05\x0e\xf8\x9b\xbe\x15\xfb\x4f\xf7\x81" -+"\xf7\x43\xf7\x74\x05\x97\x06\xa1\x96\x41\x1d\xfb\x03\x06\xba\x0a\xae\x06\xfb\x23\xfb\x4b\xfb\x24\xf7\x4b\x05\xab\x06\xa0\x97\x41" -+"\x1d\xfb\x02\x20\x0a\x98\x06\xf7\x43\xfb\x74\xfb\x4c\xfb\x81\x05\x7d\x29\x0a\xf7\x16\x06\xa0\x97\x45\x0a\x56\x06\xf7\x2d\xf7\x58" -+"\xf7\x2e\xfb\x58\x05\x59\x2e\x1d\xf7\x08\x28\x06\x74\x24\x0a\xa3\x1e\xf7\x02\x07\xa9\x84\x93\x6d\x8c\x1e\x0e\xf8\x97\xbf\x15\xfb" -+"\x45\xf7\x3b\xf7\x32\xf7\x29\x05\x8f\x9f\x1d\x75\x81\x51\x0a\xae\x06\xfb\x10\xfb\x06\xfb\x0c\xf7\x06\x05\xab\x06\xa1\x96\x94\x9c" -+"\x9c\x81\x93\x74\x1f\xfb\x02\x55\x0a\x97\x82\xa0\xf7\x35\x1d\x84\x29\x0a\xf7\x18\x21\x0a\x55\x06\xf7\x23\xf7\x19\xf7\x22\xfb\x19" -+"\x05\x57\x35\x0a\xf7\x08\x4d\x06\xe4\x0a\x0e\xf8\x6c\xbe\x15\xf8\x61\xb1\x07\xa5\x99\x94\x9c\x9b\x99\x0a\xfb\x5f\xfb\x02\x07\x72" -+"\x7d\x82\x0a\xf7\x50\x5e\x1d\x8c\xa8\x83\x94\x6d\x8c\x08\x0e\xf8\x6d\xbe\x15\xf7\xd1\xaf\x07\xc0\x1d\xfb\x18\x24\x07\x70\x0a\xf7" -+"\x48\x5e\x1d\xa9\x84\x93\x70\x8c\x1e\x88\x06\x0e\xf7\xc1\xf7\x55\x15\xaf\x94\xa4\x96\xaa\xa1\xa6\x9e\x18\xfb\x5f\xfb\x02\x37\x0a" -+"\xf7\x5c\x24\x1d\x65\xf8\x61\xb1\x06\xa5\x99\x94\x9b\x9c\xe8\x1d\x5d\x66\x72\x7c\x5b\x78\x08\xf7\x1a\x07\xa0\x82\x84\x0a\xfb\x24" -+"\x07\x3c\x76\xa2\xea\x89\x1f\xf7\x31\xbc\x79\x1d\xfb\x1f\x2a\x0a\xb1\xfb\x36\x06\x8d\xfb\x0d\xaf\x64\xf7\x08\x86\x08\x2b\x07\xf7" -+"\x08\x0a\xf7\x96\xf7\x4b\x15\x74\x8c\x53\x8d\x79\x9e\x8a\xc5\x19\xf4\xb9\x07\x7b\x1d\xfb\x19\x33\x1d\xae\x22\x06\x8c\x33\xac\x6a" -+"\xe8\x82\xa2\x8a\x18\x5f\x07\x7c\x0a\xbd\x07\xbb\x96\xa6\x96\xb0\xa2\x08\xfb\x18\x24\x37\x0a\xf7\x53\x24\x1d\x67\xf7\xd1\xaf\x06" -+"\xbd\x0a\x7e\x82\x0a\xb0\xfb\x12\x06\x61\x71\x6b\x7c\x65\x81\x08\xca\x07\x9f\x82\x96\x7a\x7b\x82\x80\x77\x1e\x0e\xf7\x29\xf8\x94" -+"\x15\xf7\x02\x36\x0a\xfb\x5c\x4b\x1d\xb1\xfc\x61\x65\x4b\x1d\xf7\x18\x2f\x1d\x61\xf7\x56\x06\xc5\xd4\xbe\xa2\xc7\x1b\xcb\xa3\x6b" -+"\x34\x1f\xfb\x30\x5a\x07\x72\x7d\x82\x0a\xf7\x1f\x2f\x1d\x65\xf7\x35\x06\xd0\x7d\xb5\x6e\xa2\x1e\x9f\x72\x66\x96\x61\x1b\x56\x56" -+"\x7a\x6b\x5f\x1f\x70\x77\x05\x0e\xf7\x41\xf8\xef\x15\x27\x36\x1d\xbb\xfc\x89\x64\x2e\x1d\xf7\x17\x22\x0a\x63\xf7\x87\x06\xd4\xcd" -+"\xa3\x9a\xc3\x1b\xce\xb8\x65\x53\x1f\xfb\x81\x63\x07\x76\x7f\x82\x7a\x7b\xde\x0a\xdc\x47\xc8\x31\x50\x5b\x76\x5e\x5e\x1e\x0e\x23" -+"\x0a\x0e\xf8\x6c\xbe\x15\xf8\x61\xb2\xf7\x0c\x0a\xfb\x19\x4c\x1d\xb5\xfb\x56\x06\x51\x41\x57\x74\x51\xd7\x1d\xb4\x1b\xc0\xc1\x9d" -+"\xaa\xb7\x1f\xa6\x9e\x05\xfb\x5f\xfb\x05\x07\x6d\x8a\x83\x82\x8c\x6e\x08\xfb\x02\x07\x73\x24\x0a\xa2\x1e\xee\xf7\x51\x79\x1d\x0e" -+"\xf8\x6d\xbe\x15\xf7\xd1\xaf\x07\xbd\x0a\x7e\x82\x7b\x7a\x99\x82\xa4\xd1\x1d\xb3\x1b\xc7\xc5\x9c\xac\xbe\x1f\xfb\x18\x21\x07\x88" -+"\x06\x70\x8a\x84\x83\x6d\x1a\xfb\x02\x07\x73\x24\x0a\xa2\x1e\xee\xf7\x48\x07\xa5\x7f\x0a\x71\x1f\x0e\xb7\xf7\xbd\x15\x93\x24\x91" -+"\x6c\xa4\x60\x08\x35\xbc\xdb\x59\xe3\x1b\xf7\x22\xf7\x2d\x1d\x39\x59\x6e\x27\x32\x1f\xc4\x7f\x05\xd4\xd2\xa9\x9c\xc6\x1b\xc1\xc2" -+"\x70\x5e\xae\x1f\xae\x5f\xa2\x50\x5d\x1a\x85\x07\x8a\x59\x15\x7f\x45\x7f\x6c\x6a\x64\x08\x5d\x64\x58\x71\x56\x1b\x55\x58\xa5\xb9" -+"\x64\x1f\x6a\xb2\x7f\xaa\x80\xd1\x08\x0e\x28\x1d\xfb\x18\xf7\x91\xb3\x0a\x48\x1d\xfb\x82\xf8\x37\x42\x1d\xf7\xc4\xf8\xd3\x15\xfb" -+"\x26\xfb\x04\xfb\x14\xfb\x3c\xf7\x07\x1d\xf7\x59\xfb\xdc\x15\x85\x60\x84\x75\x7c\x6d\x08\x42\x66\x4a\x5f\x44\x1b\x4b\x4d\xb1\xca" -+"\x65\x1f\x77\xad\x82\xa7\x84\xbc\x08\x89\xbd\x15\x91\xbf\x92\xa4\x9c\xad\x08\xd3\xb0\xcc\xb7\xd1\x1b\xcc\xc8\x66\x4b\xb1\x1f\xa2" -+"\x65\x94\x6d\x91\x51\x08\x0e\xbc\x1d\x25\x0a\x78\xf9\x5e\x5d\x1d\xe1\x64\x0a\x2c\x1d\xfb\xc6\xf8\x08\x15\x7c\x80\x80\x7b\x4c\xcc" -+"\x5b\xe1\xe0\x64\x0a\xf8\xdd\xf9\x46\x15\x4f\x1d\xfc\xce\x20\x0a\x0e\xf8\x2d\xe3\x15\x94\x63\x8f\x7e\x92\x7f\x08\x78\x97\x9b\x80" -+"\x9c\x1b\xc8\xb4\xe6\xf7\x1c\xf7\x18\x60\xe6\x4e\x44\x67\x32\xfb\x40\x1f\xfb\xee\x07\x7b\x93\x81\x99\x99\x93\x95\x9c\x1e\xf8\x03" -+"\x04\xa1\x07\xed\xa7\xd7\xaf\xb0\xa5\x42\x22\xfb\x0d\x75\x4b\x61\x68\x75\xb8\xd7\x87\x1e\xfb\xe5\x81\x15\x8a\x5d\x7d\x66\x76\x81" -+"\x08\x81\x86\x85\x82\x80\x1a\x89\x07\x7c\x8c\x95\x83\x9c\x1b\xf1\x8c\x05\xf4\xc4\xec\xf7\x46\xf7\x1d\x66\xe8\x48\xac\x1f\x75\x96" -+"\x75\x8f\x65\x8a\x08\x84\x88\x8d\x8f\x95\x93\xa3\x90\x93\x1f\x8e\x90\x8c\x8d\x8f\x1a\x90\x88\x90\x87\x8e\x1e\x89\x8c\x05\x8d\x88" -+"\x87\x8c\x87\x1b\x79\x76\x69\x6c\x8a\x1f\x82\x8a\x8a\x89\x84\x1b\x7a\x06\x7a\x81\x82\x7e\x7d\x95\x83\x9c\x1f\x9c\x06\x91\x8d\x88" -+"\x86\x1f\xb7\x16\x92\x8c\x8c\x9b\xee\xaf\x4b\xfb\x43\xfb\x09\x76\x46\x60\x72\x1e\x80\x79\x68\x86\x5a\x1b\x7e\x86\x8d\x8f\x8c\x8b" -+"\x8c\x8c\x8c\x1f\xa0\xa8\x94\xaa\x8c\xba\x08\x0e\xf8\x34\xbd\x15\xec\xc2\xc6\xeb\xf2\x1a\xf7\x2e\xfb\x0a\xf7\x09\xfb\x2e\xfb\x2f" -+"\xfb\x09\xfb\x09\xfb\x2e\xf7\x28\x1d\x82\xa0\x1f\xf7\x62\xbb\x06\x54\xaa\x7b\x96\x75\x9f\x08\x51\xbf\x6d\xcc\xd3\x1a\xd3\xa7\xc6" -+"\xc2\xb9\x1e\xad\xb4\xb3\x99\xc3\x1b\xc3\xb3\x7d\x69\xb4\x1f\xc2\x5d\xa7\x50\x43\x1a\x47\x71\x4f\x57\x57\x1e\x72\x72\x7a\x7f\x4e" -+"\x69\x08\x5b\xf7\x62\x07\xa0\x98\x94\x9b\x9c\x80\x93\x74\x1f\x0e\xb2\x0a\x67\x0a\xe6\x16\xbe\x06\xf7\x34\xf8\x1a\xf7\x35\xfc\x1a" -+"\x05\xbe\x06\xfb\x42\xf8\x47\x05\x40\x06\x0e\xe6\xf8\x46\x15\xf7\x42\xfc\x46\x05\xd6\x06\xf7\x42\xf8\x47\x05\x58\x06\xfb\x35\xfc" -+"\x19\xfb\x34\xf8\x19\x05\x58\x06\x0e\xf7\xbd\xf8\x89\x15\xfb\x1b\xfb\x05\xfb\x04\xfb\x1b\xfb\x22\xf7\x02\xfb\x04\xf7\x20\xf7\x1c" -+"\xf7\x03\xf7\x04\xf7\x1f\xf7\x1f\xfb\x03\xf7\x03\xfb\x1e\x1f\x70\xfb\xad\x15\xfb\x36\x07\x35\x94\x3e\xd6\x87\xd9\x08\xc2\x04\x91" -+"\xde\xd5\xd5\xe2\x96\x08\xfb\x3c\x07\xc2\x54\x15\xf7\x3b\x06\x88\x42\x3b\x3d\x37\x80\x08\xf7\x6d\x04\xf7\x3c\x07\xdf\x82\xd7\x3f" -+"\x92\x38\x08\x0e\x9c\x16\xf8\xcb\xf8\xcb\xfc\xcb\x06\xf8\x92\xfc\x92\x15\xfc\x59\xf8\x59\xf8\x59\x06\x0e\xca\xf7\xe7\x15\xfb\x2b" -+"\x90\x68\xa6\x5f\x1e\x47\xb5\xd8\x62\xe1\x1b\xbf\xbb\x9a\xa6\xb4\x1f\xbe\xae\xa8\xb9\x95\xca\x08\x90\xac\x8c\xa1\xed\x1a\xf7\x51" -+"\x07\x9f\x80\x99\x7b\x7b\x82\x7f\x75\x1e\xfb\x54\x07\xfb\x10\x86\x62\x78\x6a\x1e\x57\x6d\x4a\x68\x49\x1b\x63\x62\x98\xa2\x6a\x1f" -+"\x62\xa8\x78\xac\x85\xbb\x87\xa9\x8b\x8b\x8a\xf7\x01\x08\xf7\x54\x07\xa0\x81\x98\x7b\x7a\x82\x7f\x75\x1e\x0e\xf7\xe1\x16\xf7\x67" -+"\xf8\xeb\x05\x55\x06\x4c\xfb\x37\x05\xfb\x97\x06\x4d\xf7\x37\x05\x58\x06\xf7\x5f\xfc\xeb\x05\xf7\x2a\xf8\x15\x15\xfb\x03\xfb\xe2" -+"\x05\x84\x06\x24\xf7\xe2\x05\x0e\xf8\x7a\xf8\x37\x15\xfb\x0d\x06\x74\x81\x2a\x1d\xd0\xfb\x8c\x06\x52\x55\x51\x6f\x4a\x1b\x5b\x65" -+"\xaf\xba\x1f\xf7\xc1\x97\x1d\xfb\x8e\x06\x3a\xc3\x56\xde\xcb\xc4\xa3\xbd\xc2\x1e\x51\xa3\x07\x7a\x1d\xbf\xf7\x2e\x1d\x7d\x73\xa1" -+"\x1d\xa8\xa1\xa0\xca\xad\x1f\x96\x91\x8f\x92\x96\x1a\x9b\x80\x94\x76\x1e\x6e\x06\x0e\x48\x0a\x0e\x48\x0a\xfb\x49\xf7\x5d\x15\x72" -+"\x77\x77\x73\xf7\x30\x1d\xf7\x63\x95\x1d\xa3\xa4\x77\x9f\x72\x1f\x0e\x48\x0a\xa0\xf7\x70\x15\x95\x93\x8f\x92\x95\x1a\x99\x81\x95" -+"\x7d\x82\x85\x88\x83\x82\x1e\xfb\x06\x2b\x05\x81\x83\x87\x84\x81\x1a\x7d\x95\x81\x99\x93\x93\x8e\x93\x93\x1e\xfb\x06\xd8\x15\x72" -+"\x77\x77\x73\x72\x9f\x78\xaf\x1d\xf7\x98\x16\x71\x77\x78\x72\x67\x1d\x9f\xa4\xa2\x77\x9f\x73\x1f\x0e\x48\x0a\x94\xf7\x70\xf7\x0e" -+"\x0a\x7d\x84\x84\x88\x83\x83\xd5\x0a\x28\x0a\xfb\x18\xf8\xec\x63\x0a\x28\x0a\x85\xf8\xb3\x5f\x0a\x40\x0a\xbc\xf8\xe0\x34\x0a\x40" -+"\x0a\x33\xf9\x12\xda\x1d\x40\x0a\xfb\x59\xf8\xf6\x5b\x1d\x40\x0a\xfb\x52\xf9\x06\x4d\x0a\xf8\x3a\xf7\xb0\x15\xbe\x84\x07\x61\x8e" -+"\x6c\x90\x77\x91\x08\x5f\x99\x6a\xb4\xb4\x1a\xa9\x9d\xa8\xaa\x9e\x1e\xa5\x9b\xb2\x94\xc5\x8e\xa1\x8c\x8b\x8b\x90\x8d\x08\x96\x8e" -+"\x91\x93\x97\x1a\x9c\x7f\x94\x75\x1e\xfb\x5e\x26\x1d\xaf\x06\x5a\x6d\x78\x6b\x5a\x1a\x53\xae\x5c\xc8\x72\x1e\x31\x6a\x5f\x55\x3c" -+"\x1a\x5a\xa0\x5e\xb1\x6d\x1e\xa9\x73\xb0\x7f\xcd\x84\x08\xd8\x83\x9d\x81\x6b\x1a\x69\x6f\x77\x50\x83\x1e\x6d\x87\x84\x87\x7a\x1a" -+"\x7a\x96\x83\xa2\xd9\xcb\xbf\xca\xa9\x7e\xa4\x74\x9b\x1e\x79\x98\x6f\x92\x5c\x90\x08\xfb\x04\x97\x5d\xad\xd1\x1a\xc3\xb3\xbe\xc6" -+"\x9e\x1e\xa4\x93\xac\x8f\xbd\x8c\x08\x0e\x4e\x0a\x83\x7a\x74\x1d\x9c\x80\x93\x71\x1d\x82\x7b\x4c\x0a\xf7\x65\xf7\xa2\xda\x1d\x5d" -+"\x0a\xf6\xf7\x96\x4d\x0a\x4a\x0a\x60\xf7\x68\x34\x0a\x4a\x0a\xfb\x47\xf7\x7e\x26\x0a\x0e\xf8\x22\xf8\xbc\x15\x49\x48\x76\x73\x6a" -+"\x60\x08\x3b\x22\x68\x3d\x3f\x1a\x54\xa8\x50\xb6\x6d\x1e\xa4\x7a\xb0\x7f\xca\x83\x08\xcc\x82\x9c\x81\x6f\x1a\x64\x6a\x75\x4f\x8a" -+"\x1e\x75\x80\x82\x7b\x7a\x97\x82\xa4\xdc\xc7\xbb\xcc\xab\x7b\xa7\x71\x9b\x1f\x7e\x93\x70\x92\x68\x90\x52\x93\x70\x92\x77\x96\x08" -+"\x66\xa0\x76\xb3\xbd\x1a\xe6\xd9\xf7\x0e\xf7\x3d\xf7\x3f\x1e\x8d\x8e\x90\x8f\x05\xbb\xfb\x6a\xf7\x44\x1d\x0e\x7b\x9b\xf8\x35\x9b" -+"\xf7\x16\x97\xa7\x98\x06\xbf\x0a\xbe\x0b\xa7\x93\x8e\x8f\x8f\x90\x8f\x8e\x92\xbb\xae\xa9\x0c\x0c\xae\x8f\x8f\x8f\x8f\x8e\x8f\x94" -+"\x90\xb4\x9f\x9e\x0c\x0d\xf8\xec\x14\xbb\x13\x00\xe7\x02\x00\x01\x00\x05\x00\x0b\x00\x0f\x00\x16\x00\x1d\x00\x24\x00\x28\x00\x2c" -+"\x00\x5d\x00\x61\x00\x65\x00\x69\x00\x73\x00\x7e\x00\x84\x00\x88\x00\x8d\x00\xb0\x00\xb5\x00\xb9\x00\xc3\x00\xc7\x00\xd2\x00\xd6" -+"\x00\xda\x00\xe0\x00\xe7\x00\xec\x00\xf2\x00\xf6\x01\x39\x01\x7a\x01\xb9\x01\xd7\x01\xf0\x01\xfb\x01\xff\x02\x04\x02\x09\x02\x3d" -+"\x02\x8c\x02\x98\x02\xc4\x02\xce\x02\xdd\x02\xee\x02\xfc\x03\x02\x03\x07\x03\x0f\x03\x15\x03\x1a\x03\x24\x03\x2b\x03\x31\x03\x36" -+"\x03\x40\x03\x48\x03\x50\x03\x57\x03\x5f\x03\x6f\x03\xa8\x03\xae\x03\xca\x03\xcd\x03\xde\x03\xe5\x03\xf0\x03\xf7\x03\xfe\x04\x18" -+"\x04\x1e\x04\x27\x04\x32\x04\x39\x04\x49\x04\x4d\x04\x51\x04\x5a\x04\x64\x04\x6f\x04\x7b\x04\x86\x04\x8b\x04\x98\x04\xa0\x04\xa8" -+"\x04\xae\x04\xb9\x04\xc3\x04\xc8\x04\xd2\x04\xdb\x04\xe4\x04\xeb\x04\xf2\x04\xfa\x05\x02\x05\x0a\x05\x12\x05\x18\x05\x23\x05\x2c" -+"\x05\x5a\x05\x7d\x06\x09\x06\x10\x06\x93\x07\x0d\x07\x81\x07\xd3\x07\xe4\x08\x00\x08\x08\x08\x10\x08\x17\x08\x35\x08\x52\x08\x5f" -+"\x08\x8a\x08\x9f\x08\xe1\x09\x21\x09\x29\x09\x2c\x09\x5a\x09\x9f\x09\xad\x09\xd0\x09\xe4\x0a\x22\x0a\x27\x0a\x45\x0a\x5a\x0a\x81" -+"\x0a\x99\x0a\xbf\x0a\xda\x0b\x04\x0b\x0e\x0b\x3c\x0b\x5a\x0b\x60\x0b\x6b\x0b\x8b\x0b\xb6\x0b\xce\x0b\xdc\x0b\xe4\x0b\xef\x0c\x03" -+"\x0c\x17\x0c\x21\x0c\x26\x0c\x2e\x0c\x43\x0c\x4a\x0c\x5a\x0c\x76\x0c\x96\x0c\x9f\x0c\xb1\x0c\xd0\x0c\xe2\x0c\xe7\x0c\xeb\x0c\xf9" -+"\x0d\x0a\x0d\x15\x0d\x20\x0d\x29\x0d\x38\x0d\x40\x0d\x5a\x0d\x68\x0d\x73\x0d\x85\x0d\x8f\x0d\x96\x0d\x9c\x0d\xa6\x0d\xb0\x0d\xb9" -+"\x0d\xc5\x0d\xcc\x0d\xd9\x0d\xe6\x0d\xfb\x0e\x0a\x0e\x15\x0e\x21\x0e\x24\x0e\x30\x0e\x3f\x0e\x44\x0e\x53\x0e\x64\x0e\x76\x0e\x84" -+"\x0e\x8f\x0e\x95\x0e\xa0\x0e\xb1\x0e\xc1\x0e\xc9\x0e\xce\x0e\xd8\x0e\xe7\x0e\xf6\x0f\x04\x0f\x12\x0f\x18\x0f\x21\x0f\x2e\x0f\x3b" -+"\x0f\x48\x0f\x55\x0f\x62\x0f\x66\x0f\x6d\x0f\x79\x0f\x85\x0f\x8f\x0f\x97\x0f\xa2\x0f\xad\x0f\xb8\x0f\xc3\x0f\xce\x0f\xd9\x06\x20" -+"\x1d\x0b\x06\xa0\x97\x45\x0a\x0b\x06\x32\x0a\x0b\xf7\xda\xf8\x94\xd0\x1d\x0b\x94\x7e\x9c\x9c\x94\x98\x0b\x72\x0a\x95\xa0\xc2\x1d" -+"\x0b\x15\x3f\x1d\x0b\x06\x74\x0a\x0b\xf8\x46\x16\xdc\x23\x1d\x6e\xf8\x04\xfb\x0d\x06\x74\x81\x2a\x1d\xd0\xfb\x8c\x06\x52\x55\x51" -+"\x6f\x4a\x1b\x5b\x65\xaf\xba\x1f\xf7\xc1\x97\x1d\xfb\x8e\x06\x3a\xc3\x56\xde\xcb\xc4\xa3\xbd\xc2\x1e\x0b\x06\x2b\x1d\x0b\x06\x35" -+"\x1d\x0b\x07\x27\x1d\x0b\xf7\x16\x1d\xf7\x12\xf7\x0f\xac\x0a\x0b\x15\xa0\x97\x94\x9b\x9b\x80\x94\x75\x5c\x1d\x06\x75\x80\x38\x1d" -+"\x0b\x06\xc5\x0a\x0b\x8d\x94\x95\x1e\x0e\xf7\xdc\xf7\x91\x15\xf7\x42\xf7\x97\xc8\x0a\xfb\x64\xfb\x22\xf7\x64\xf6\x1d\xfb\x97\x05" -+"\xfb\x5e\x27\x07\x20\x1d\xf7\x90\x23\x1d\x27\x06\x0b\xa0\x97\x5a\x0a\x0b\x06\x53\x0a\x0b\x55\x1d\x70\x1d\x8f\x8d\x94\x96\x1e\x0e" -+"\x06\x37\x1d\x0b\x06\xa4\x99\x94\x9c\x9b\x7d\x94\x72\x1f\x0b\x07\x70\x0a\x0b\x06\x7b\x0a\x0b\x06\x9f\x97\x53\x1d\x0b\x7b\x82\x74" -+"\x7d\x7d\x8f\x0b\x75\x80\x2a\x1d\x0b\x15\x91\x94\x8d\x90\x0b\x7e\x96\x1f\x0e\xc0\x0a\xf7\x0a\xdf\xc3\xda\xaf\x77\xae\x6b\xa0\x1f" -+"\x6a\xa1\x66\x96\x4d\x91\x33\x91\x1d\xd3\x7e\x0a\x93\x82\x9a\x1b\x9c\xf7\x39\x1d\x81\x81\x7c\x89\x1e\xa5\x69\x5e\x98\x55\x1b\x26" -+"\x40\x5a\x48\x6a\x9d\x6c\x9a\x1d\xa5\x85\xa5\x7c\x08\xa4\x7e\x9b\x75\x76\xf7\x0f\x0a\x0b\xf8\x32\x16\xf0\x23\x1d\x5a\xf7\x94\x06" -+"\xd4\x44\xc0\x2b\x66\x4a\x7e\x78\x53\xa6\x0a\x99\x54\x6c\x90\x5f\x1b\xfb\x15\x33\x4f\x32\x3d\xcc\x56\xeb\xd0\xc2\xa1\xc0\xc9\x1f" -+"\xc6\x04\x4f\x4a\x57\x74\x45\x1b\x49\x61\xaa\xbc\xc5\xd1\xb3\xf2\xb4\xba\x85\x83\xad\x1f\x0b\xf8\x52\x16\xdd\xf8\x04\x05\x9a\x06" -+"\xa1\x96\x94\x9c\x9c\x81\x93\x74\x1f\xfb\x03\x2f\x0a\xb7\x06\x4b\xfb\xb5\x38\xf7\x81\x05\x50\x06\x39\xfb\x81\x49\xf7\xb5\x05\xb9" -+"\x3d\x1d\xfb\x03\x2f\x0a\x9a\x06\xdf\xfc\x04\x05\xc6\x06\xe1\xf7\x88\xe2\xfb\x88\x05\x0b\xf7\x7d\xf8\x94\x15\xe6\x3e\x1d\xfb\x7e" -+"\x22\x1d\xe6\xfc\x61\x30\x20\x0a\xf8\x5d\xf7\x5f\x78\x1d\xfb\x2c\xfb\x9a\x07\x0b\xf7\xda\xf8\xef\x15\xfb\x37\x2e\x1d\xf7\x03\xfc" -+"\x89\xfb\x2f\x20\x0a\xf7\xfe\x21\x0a\xfb\x2f\x06\x0b\x06\xa0\x96\x94\x9c\x9b\x7f\x94\x77\x1f\x0b\x06\x57\x0a\x0b\x21\x1d\x75\x1f" -+"\x0b\x7f\x94\x76\x1f\x0b\xf7\x3f\xf7\x8a\x15\xf7\x12\x06\xd6\x68\xb5\x58\xe4\xfb\x34\x08\xc6\x21\x0a\x70\x06\x3e\xf7\x16\x6d\xb3" -+"\x52\xb3\x08\xe1\xa8\xba\xbe\xcb\x1a\xe0\x36\xd4\x27\x1e\xfb\x8d\x9c\x0a\x06\xf7\x8a\x04\xf7\x2a\x1d\x0b\xf8\x3e\xf8\x04\x15\xfb" -+"\x26\x07\x43\x83\x63\x77\x6f\x1e\x6d\x75\x69\x7b\x61\x1b\x62\x67\x9d\xa9\x75\x1f\x78\xa6\x83\xb3\xd2\x1a\xf7\x59\x27\x07\x75\x80" -+"\x38\x1d\xbb\xfb\x2b\x06\x39\x96\x59\xa6\x67\x1e\x60\xaa\xb9\x76\xc8\x1b\xc7\xbb\xa0\xb2\xaa\x1f\xa8\xb0\x97\xbe\xe4\x1a\xf7\x26" -+"\xbb\x07\x7b\x0a\xfb\x28\x2e\x0a\x0b\xf8\x66\xf8\x15\x15\xaa\x63\x56\x9c\x60\x0a\x0b\xf8\x74\xf8\x37\x15\xfb\xfd\x28\x06\x27\x1d" -+"\xbb\xf7\x7e\x07\xfb\xbb\xfb\xd9\x05\x60\xf8\x15\xef\x07\xa0\x83\x96\x79\x7a\x82\x80\x76\x1e\x5a\xfb\x98\x07\xf7\xbd\xf7\xd9\x05" -+"\x0b\xf7\x16\x1d\xf7\x11\xf7\x10\xac\x0a\x0b\x30\x1d\xb9\x06\xfb\x2d\xfb\xc7\xfb\x2f\xf7\xc7\x8b\x1d\x0b\x15\x94\x81\xf7\x0a\x1d" -+"\x9a\x96\x96\x9a\x93\x8b\x8b\x7d\x9a\x1f\x0e\xf7\xa8\x91\x15\x47\xfb\x1d\x05\xfb\x10\x06\x76\x80\x0b\x56\x1d\x80\x76\x1e\x0b\x55" -+"\x0a\x3a\x1d\x0b\x83\x7a\x7a\x96\x82\xa0\x1f\x0b\x07\x75\x80\x59\x0a\x0b\xa0\x96\x83\x0a\x0b\xa0\x96\x94\x9c\x9c\x80\x93\x76\x1f" -+"\x0b\x06\x75\x80\x83\x7a\x7a\x0b\x92\x8e\x93\x94\x1e\x0e\xa1\x96\x57\x1d\x0b\x75\x94\x80\x9c\x9c\x94\x96\xa1\x1e\x0b\x82\x7b\x7a" -+"\x96\x82\xa1\x1f\x0b\x94\x9b\x9c\x7f\x94\x76\x1f\x0b\x1a\x9b\x80\x94\x75\x1e\x0b\x9a\x1b\x9c\x94\x96\xa0\x1f\x0b\x4e\x0a\x83\x7a" -+"\x74\x1d\x9c\x80\x93\x71\x1d\x83\x7a\x4c\x0a\x0b\xee\xbe\x15\x5a\x26\x1d\xf7\x02\x06\xf7\xb4\xf8\x73\x05\xfc\x40\x5a\x07\x20\x1d" -+"\xf7\x2a\x06\x9f\x97\x94\x9b\x9c\xf6\x0a\x9c\x9b\x7f\x94\x77\x1f\xfb\x02\x06\xfb\xb4\xfc\x74\x05\xf8\x41\xd0\x07\x32\x0a\xfb\x3e" -+"\x4e\x1d\xbc\x06\x0b\x90\x1d\x8f\x9e\xa0\x0a\x50\x1b\xfb\x1d\x29\x2c\xfb\x19\xfb\x15\xeb\x2f\xf7\x1b\xce\xcd\x9e\xaf\xc0\x1f\xa9" -+"\x9f\x9a\x9d\x99\xa7\x0a\x0b\x62\x0a\x0e\xf7\xdb\xbe\x15\xf8\x61\xf7\x2f\x49\x07\xe0\x1d\xf7\x8e\x21\x0a\x0b\x6f\x1d\x6d\x6c\xa2" -+"\x1d\x0e\x4d\x1d\x67\x86\x62\x72\x56\x1b\x55\x51\x1d\x2b\x1d\xf7\x20\x21\x0a\x0b\xae\x1d\x85\x94\x7d\x0a\x0b\xf7\xbb\xf7\xf4\x15" -+"\x61\x6b\x6d\x63\x64\xab\x6d\xb5\x1f\x96\x06\xb5\xab\xa9\xb2\xb3\x6b\xa9\x61\x1f\x0e\xf7\x1d\x1d\x91\x68\x1d\x4e\x1d\xbc\xfc\x61" -+"\x5a\x26\x1d\x0b\xf7\x2c\x1d\xa9\xb3\xb2\x6b\xa9\x61\x1f\x0e\x60\x1d\xfc\x50\x20\x0a\x0b\x06\x9b\x8a\x97\x95\x9a\x1a\x8e\x07\x9a" -+"\x7f\x95\x7b\x8a\x1e\x0b\xee\x1d\x9f\x0b\x07\x2b\x1d\x0b\xf7\x14\x1d\xa9\x72\xa3\x6e\x1f\x0b\x71\x7d\x82\x7a\x7b\x99\x82\xa5\x1f" -+"\x0b\x76\x0a\xf7\x8e\x06\xa0\x97\x94\x9c\x9b\x0b\xf7\x3f\xf7\x9e\x15\xf7\x1a\x64\x06\x39\x1d\x0b\x07\xa0\x97\x94\x9c\x9b\x7f\x94" -+"\x76\x1f\x0b\xa1\x96\x45\x0a\x0b\x1e\x37\xfb\x0f\x05\x85\x83\x89\x85\x86\x1a\x7c\x0b\x82\x7b\x7a\x97\x82\xa0\x1f\x0b\x74\x24\x0a" -+"\xa4\x1e\xbf\x07\x0b\x07\x76\x7f\x38\x1d\x0b\x07\x9f\x82\x96\x7a\x7a\x82\x80\x77\x1e\x0b\x93\xa4\x1b\x9a\x9d\x82\x78\xa3\x1f\x0b" -+"\xa0\x97\x57\x1d\x0b\x76\x94\x80\x9b\x9c\x94\x96\xa0\x1e\x0b\x91\x88\x91\x1b\x99\x97\x96\x99\x0b\xd4\xbd\x70\x62\x90\x1e\x79\x8d" -+"\x0b\x99\x94\x9b\x9c\x7d\x94\x0b\x6e\x82\x85\x7c\x1b\x7f\x0b\x82\x1a\x7c\x96\x80\x9a\x92\x0b\x82\x7b\x7a\x99\x82\xa4\x1f\x0b\x94" -+"\x9b\x9c\x80\x94\x76\x1f\x0b\x96\x7b\x7a\x82\x80\x76\x1e\x0b\x85\x79\xa1\x1f\xa3\x0b\x06\x75\x80\x82\x7a\x7b\x96\x82\xa1\x1f\x0b" -+"\xf8\xcf\x15\x45\xfb\x05\xd1\x06\x0e\xab\x0a\x63\xb4\xc4\x75\xcc\x1b\xf7\x10\xe3\xd2\xed\xbf\x73\xb7\x63\xa3\x1f\x6c\x9e\x6f\x93" -+"\x3d\x98\x4e\x95\x71\x93\x73\x9b\x08\x73\x9a\x7e\xa4\xa8\x1a\xca\xc5\xb8\xdb\xd6\xcc\x0a\x0b\xf8\x7a\xf7\xd7\x15\xbb\x1d\xc4\x24" -+"\x1d\x55\x06\x4a\xe6\x5c\xcc\x7f\x95\x65\x98\x19\xa0\x9c\x9c\x9d\xa9\xaf\xbf\xc9\x91\x8e\xb5\x8d\x08\x0b\xf7\xda\xf7\x79\x15\x9f" -+"\x81\x97\x7b\x7a\x82\x80\x76\x1e\x6b\x07\x21\x71\x54\x58\x55\x67\xc4\xe2\xe3\xa3\xca\xbb\xac\x1e\x93\x91\x91\x8f\x97\x91\x08\xa3" -+"\x97\x8e\x8e\x98\x1a\x9a\x81\x95\x7b\x71\x67\x72\x64\x6b\x1e\x62\x59\x7b\x55\x38\x1a\x4b\x99\x5b\xa8\x68\x1e\x6b\xa5\xaf\x79\xaf" -+"\x1b\xb8\xb0\xa2\xb4\xa1\x1f\x62\xa0\xb1\x74\xb8\x1b\xaf\xaf\x9d\xab\xa5\x1f\xa8\xaf\x99\xba\xcf\x1a\xd1\x79\xcb\x6a\xb6\x1e\xb1" -+"\x6e\x5d\xab\x71\x1b\x7c\x81\x81\x7c\x7e\x8e\x88\xa4\x7e\x1f\x97\x85\x90\x88\x93\x86\x08\xba\x6a\xa4\x4b\x35\x1a\x32\x68\x52\x54" -+"\x58\x71\xc1\xf6\x1e\x0b\xf7\x38\x1d\xa1\x96\xb4\x1d\xf7\x22\xbb\x15\x5e\xbc\xbb\x78\xc9\x1b\xf7\x21\xf7\x04\xf7\x17\xf7\x39\xd6" -+"\x74\xd1\x61\xc1\x1f\xce\xde\x05\x94\x95\x8c\x8e\x91\x1a\x98\x80\x95\x7f\x82\x87\x89\x7f\x81\x1e\x4d\x3d\x05\xb9\x56\x5f\x9c\x4f" -+"\x1b\xfb\x23\xfb\x04\xfb\x16\xfb\x39\x3f\x9f\x4e\xb8\x4e\x1f\x48\x39\x05\x84\x81\x89\x88\x84\x1a\x7f\x95\x81\x98\x93\x91\x8f\x94" -+"\x93\x1e\xcb\xf7\x2d\x15\x6c\xbc\x7c\xbc\xc4\x1a\xf7\x1b\xe6\xf7\x02\xf7\x03\xba\xb1\x7b\x67\xb3\x1e\xaa\x68\x15\xaa\x59\x9a\x5a" -+"\x50\x1a\xfb\x1a\x30\xfb\x02\xfb\x03\x5c\x65\x9b\xb0\x63\x1e\x0b\xf7\x2f\xac\x15\x69\xb8\xb8\x7c\xc3\x1b\xf7\x16\xf2\xee\xf7\x11" -+"\xc3\x78\xbd\x65\xb5\x1f\xc7\xc7\x05\x94\x94\x8e\x90\x92\x1a\x98\x81\x95\x7e\x83\x88\x89\x81\x81\x1e\x4e\x4d\x05\xab\x60\x5d\x9a" -+"\x54\x1b\xfb\x16\x24\x28\xfb\x11\x54\x9d\x5c\xb0\x60\x1f\x4c\x4c\x05\x83\x82\x88\x86\x84\x1a\x7f\x95\x81\x98\x92\x90\x8e\x93\x94" -+"\x1e\xf7\xf1\xf7\xf3\x15\xa6\x6a\x99\x66\x62\x1a\x2a\x3b\x3e\x26\x60\x6c\x95\xa3\x67\x1e\x6a\xaa\x15\x71\xac\x7e\xaf\xb3\x1a\xeb" -+"\xdb\xd8\xf0\xb5\xa8\x82\x74\xaf\x1e\x0b\xf8\x04\xf7\x8f\x15\x6b\x8c\x05\x3d\x54\xab\xb9\xb3\xb2\xa4\xca\xa1\x9d\x89\x87\x98\x1f" -+"\x81\xac\x8b\x8b\x90\x1b\x98\x95\x97\x9a\x95\x86\x93\x81\x90\x1f\x94\x79\x60\x93\x6a\x1b\x2f\x48\x5b\x48\x68\xa0\x69\xae\x78\x1f" -+"\x96\x85\x94\x87\xa1\x85\x08\x3b\x78\x65\x66\x50\x1a\x40\xcc\x5b\xf3\xb9\xc0\x95\x98\xaa\x1e\x99\x92\x91\x92\x97\x1a\x9a\x82\x95" -+"\x7d\x87\x88\x8a\x89\x85\x1e\x7a\x59\x79\x88\x60\x1b\x3d\x61\xa4\xb8\xc2\xc4\xad\xe4\x1f\xa3\x06\x92\x06\x93\x8a\x05\x0b\xee\xf7" -+"\x9e\x15\xfb\x6b\x6e\x07\x20\x1d\xf7\x71\x06\xf7\x11\x88\xf7\x02\xf7\x0b\xf7\x1e\x1a\xc1\x07\xf7\x1f\xfb\x02\xf7\x0b\xfb\x11\x88" -+"\x1e\xfb\x71\x22\x1d\xa8\xfb\x57\x43\x20\x0a\xf7\x10\xf7\x8a\x15\xf7\x1e\x06\xea\x92\xe0\x31\x90\xfb\x04\x08\x43\x07\x88\x24\x35" -+"\x2e\x31\x8d\x08\xfb\x24\xf7\x6b\xf7\x31\x23\x1d\xfb\x31\x06\x0e\x72\x1d\xc9\xa4\xb9\xbd\x1e\xa7\xa5\x97\x9b\x97\x1a\x99\x6e\x1d" -+"\x0e\xa9\x0a\x9b\x80\x94\x75\x1f\xfb\x15\x06\x3b\x0a\x92\x06\xfb\x2d\xfb\x13\x05\xf7\xfe\x26\x07\xf7\x0d\x1d\x06\x0b\xf7\x01\x1d" -+"\xc0\xaa\xa3\xc4\x1d\xa1\x0a\x51\x52\x4c\xcc\x1d\x0b\x72\x0a\x96\x9f\xc2\x1d\x0e\xf7\x2a\xf8\x37\x15\x26\x2f\x0a\xbc\xfc\x87\xae" -+"\x0a\x41\x5b\x73\x4e\x58\x1f\xf7\x3e\xad\x15\xee\xd7\x45\x30\xf7\x29\x1d\xf8\x40\xf8\x94\x15\xfc\x61\x5b\x5f\x1d\xf7\x20\x06\xf7" -+"\x0e\x1d\xfc\x4c\x8c\x1d\xf7\x21\x33\x0a\x5a\xf8\x61\x06\x0e\xd4\x1d\xa7\x93\x90\x9d\x1b\x96\xaa\x1d\x9d\xd9\x0a\xf7\x53\xf8\x37" -+"\x15\x3b\x2e\x1d\xa7\xcd\x0a\xf7\x84\x06\xd4\xc9\xa7\x9d\xc2\x1b\xcd\xb8\x65\x53\x1f\xfc\x4a\x2b\x0a\xf8\x51\x07\xd9\x45\xc7\x31" -+"\x51\x65\x7a\x5a\x57\x1e\x0b\xe8\x1d\x51\x42\x57\x74\x50\xd7\x1d\xb5\x1b\xc0\xc0\x9c\xab\xb7\x1f\xa6\x9e\x05\x0b\xf8\x90\xf8\xef" -+"\x15\x26\x20\x0a\xbc\xfb\x66\x06\xc7\x5e\x4f\xaa\x44\x1b\xfb\x0f\x28\x27\xfb\x10\xfb\x10\xee\x26\xf7\x0e\xd2\xc9\xab\xc6\xb7\x1f" -+"\x40\xf0\x07\x61\x1d\x5a\x06\xfb\x77\xf7\xdf\x15\xee\xd7\x40\x28\x2b\x3e\x3e\x2b\x2a\x3f\xd8\xec\xeb\xd7\xd8\xea\x1f\x0b\xee\xbe" -+"\x15\x6e\x20\x0a\xf7\x71\x06\xf7\x16\x8a\xf3\xf7\x04\x8c\xf7\x23\x08\xc2\x07\x8a\xf7\x23\x23\xf7\x04\xfb\x16\x8a\x08\xfb\x71\x22" -+"\x1d\xa8\x06\xbf\xfc\x61\x15\xf8\x61\xf7\x1e\x07\xea\x92\xe0\x31\x90\xfb\x03\x08\x43\x07\x89\x23\x35\x2e\x30\x8d\x08\x0b\x76\x1d" -+"\xf7\x3e\x21\x0a\x46\x0b\x9e\x0a\x0e\xf8\x66\xf8\x94\x15\xe6\x3e\x1d\xfb\xbc\x50\x0a\xf7\x2d\xfb\xec\x06\x41\x4d\x50\x3c\x5b\x5e" -+"\x9f\xb7\x5a\x1e\xf7\x11\x34\x1d\xfb\x29\x07\x47\xd9\xbc\x74\xcd\x1b\xf5\xe3\xde\xf0\x1f\x0b\x06\x73\x6b\x76\x61\x7c\x1a\x83\x92" -+"\x84\x94\x92\x8f\x8d\x92\x91\x1e\xad\xb2\xa3\x9f\xbc\xa8\x99\x94\x18\x91\x8e\x8f\x8d\x8c\x8c\x08\x99\x93\x8e\x8e\x93\x1a\x92\x87" -+"\x8f\x78\x95\x1e\x4f\xad\x6e\xa2\x6c\xae\x08\x98\x80\x87\x8e\x84\x1b\x82\x83\x85\x83\x7c\x9b\x6b\xa8\x5f\x1f\x0b\x67\x1f\x9e\x6b" -+"\x7d\x8f\xb4\x0a\xa3\x1b\xa3\xf7\x20\x1d\xf8\x47\xf7\xf1\x15\xc5\x5f\x57\xa5\x46\x1b\xfb\x09\x2c\x2c\xfb\x08\xfb\x09\xea\x2c\xf7" -+"\x09\xcf\xc0\xa6\xc3\xb7\x1f\xfb\x01\x07\x8f\x50\x0b\xf8\xc1\x15\x8c\x9c\x05\xa1\x8c\x76\x9f\x72\x1b\x71\x78\x78\x73\x87\xad\x0a" -+"\x0b\x9a\x1b\x93\x92\x92\x94\x92\x88\x8f\x84\x91\x1f\x63\xac\x78\xa1\x6d\xbc\x88\x8f\x88\x90\x88\x90\x08\x88\x90\x87\x91\x8b\x1a" -+"\x98\x84\x88\x8e\x82\x1b\x84\x87\x87\x79\x81\x1f\x6a\x52\x72\x6b\x67\x6f\x08\x7e\x80\x88\x86\x85\x1a\x81\x92\x84\x93\x99\x0b\xf8" -+"\xb7\xcd\x1d\x0b\xf7\x8b\xbe\x15\xf7\xd1\xf7\x7e\xfb\x2c\x07\x77\x94\x7f\x9c\x9c\x94\x97\x9f\xf7\x26\x1d\xfb\xd1\x30\x06\xf7\x17" -+"\x1d\x0b\xa3\x1d\x8e\x8c\x8f\x98\x1e\x9d\xc4\xb5\x93\xab\x1b\xd1\xbb\x6d\x5e\x1f\x4d\x07\x0b\xda\x0a\x59\x4e\x74\x43\x1b\x21\x40" -+"\xd1\xf0\xf4\xd4\xd2\xf6\xdd\xce\x65\x59\x91\x1f\x77\x8d\x93\x83\x9a\x1b\x9c\x94\x96\x9f\x1f\xe5\x07\xa0\x82\xa9\x1d\x0b\x83\xed" -+"\x0a\x97\x97\x8d\x8d\x94\x1a\x99\x80\x96\x7c\x84\x83\xf7\x1d\x1d\x92\x8e\x93\x93\x1e\x0e\xf7\x53\xf7\x47\x15\xb4\xad\xf7\x3a\xfb" -+"\x36\x05\x7c\x35\x0a\xf7\x17\x06\x74\x0a\x61\x06\xfb\x5d\xf7\x56\xf7\x2a\xf7\x0f\x05\xb8\x06\xa0\x97\x94\x9c\x0b\x15\x44\xfb\x8d" -+"\x05\x8a\x87\x8a\x87\x87\x1a\x78\x9a\x7c\x9f\x9a\x93\x91\xa0\x97\x1e\xf7\x29\xf7\xa0\x05\x0b\x7f\xd2\x80\x9f\x85\xa3\x7c\x08\xa5" -+"\x7b\x9b\x6d\x6b\x1a\x46\x48\x58\x30\x33\x45\xba\xc9\x86\x1e\x9f\x8a\x83\x94\x7b\x1b\x7a\x82\x80\x76\x1f\xfb\x01\x2b\x0a\x99\x07" -+"\x0b\x24\xf0\xfb\x13\x1f\x85\x58\xe3\x0a\x0b\x8b\x86\x8c\x84\x1f\x9d\xfb\xd4\x05\x75\x8c\x94\x81\x9b\x1b\x9b\x93\x95\xa1\x8c\x1f" -+"\x6c\xfb\x23\x15\x69\x72\x74\x6c\x6c\xa4\x73\xad\x1f\x97\x06\xad\xa5\xa3\xaa\xaa\x71\xa2\x69\x1f\x0b\x5a\x20\x0a\xf7\x55\x27\x0a" -+"\x2f\xf7\x74\x06\x52\xb9\xc2\x71\xd4\x1b\xf7\x12\xec\xe8\xf7\x0b\xf7\x0c\x2b\xe6\xfb\x14\x0b\x75\x1d\x7c\x80\x46\x1d\x3c\x1d\x98" -+"\x92\x66\x0a\x95\x89\x8f\x58\x1d\x45\x1d\x7f\x82\x88\x87\x80\x1a\x7d\x96\x80\x9a\x91\x91\x8e\x91\x93\x1e\xf3\xdf\xf4\x37\x05\x85" -+"\x93\x7d\x0a\x95\x89\x8f\x3d\x0a\xf8\xab\xf8\x3e\x15\x97\x92\x8f\x91\x94\x1a\x97\x80\x96\x80\x86\x85\x89\x86\x83\x1e\xfc\x53\xfb" -+"\xad\x05\x7f\x84\x87\x85\x81\x1a\x7f\x95\x80\x98\x90\x8d\x8c\x92\x96\x1e\x0e\x5d\x1d\xe0\x4d\x1d\x68\x87\x61\x71\x56\x1b\x56\x61" -+"\xa5\xae\x87\x1f\x9d\x89\x83\x93\x7c\x1b\x0e\x76\x1b\x71\x74\xcf\x0a\x9e\x1b\x95\xaa\x1d\x9e\x84\x0b\x26\x0a\xf7\x70\x16\x3f\x1d" -+"\x0e\x3c\x0a\x90\x1a\x9a\x80\x96\x7c\xf7\x03\x1d\x15\x97\x95\x8d\x8f\x98\x1d\x81\x1a\x7d\x96\x80\x9a\x92\x8f\x8d\x94\x96\x1e\x0e" -+"\x55\x1d\x65\x1d\x82\x81\x1e\xfb\x06\x2a\x05\x80\x82\x88\x86\x81\x0a\x8f\x30\x0a\x1b\xe1\xd7\x5a\x51\x90\x1f\xf1\x1d\x0b\x76\x80" -+"\x51\x0a\x0b\xc5\x0a\xa8\xfb\xd1\xd2\x0a\x0b\xf8\x25\x15\x9f\x82\x97\x7a\x7a\x82\x80\x76\xe6\x0a\x84\x88\x86\x80\x1e\x83\x7b\x0b" -+"\x52\x1d\xfb\x11\x06\x71\x0b\x76\x0a\xc6\xfc\x31\x64\x06\x75\x80\x82\x7b\x7a\xf7\x23\x1d\x0b\x15\xfc\x1a\x07\x4a\x8a\x5e\x5f\x4c" -+"\x1b\xfb\x14\x06\x3b\x0a\xf7\x15\x06\xe6\x89\xd2\xd2\x89\xe6\x08\xf8\x4d\x0b\xf7\x2a\xf7\x0a\x15\x9b\x80\x96\x7c\x7a\x82\x80\x76" -+"\x1e\x3a\x07\x76\x94\x80\x9c\x9b\x94\x96\x9f\x1e\x6c\xb1\xc0\x7b\xc8\x1b\x0b\x7f\x96\x7d\x77\x1d\x83\x80\x9c\x1d\xec\x0a\x84\x88" -+"\x85\x85\x1a\x7f\x95\x81\x97\x93\x8e\x8d\x97\x95\x1e\x0b\x82\xa5\x1f\xa5\x06\xf7\x31\xc8\x77\x56\x58\x4c\x6c\x26\x3e\x4f\x98\xaa" -+"\x48\x1f\x90\x82\x86\x8c\x86\x1b\x7e\x7e\x7e\x7d\x0b\x1a\x62\xa9\x73\xbe\xee\x0a\x74\x86\x89\x79\x1b\x71\x7f\x94\x9e\xa3\x0b\x75" -+"\x81\x51\x0a\x0b\xa5\xe9\x0a\x0b\x05\x95\x3e\x1d\xfb\x02\x06\x3b\x0a\xb8\x06\xfb\x2c\x0b\x05\xa0\x06\x9e\x98\xf7\x40\x1d\xfb\x03" -+"\x50\x0a\xaa\x06\xfb\x20\x0b\xf8\x89\xf7\x90\x60\x1d\xfc\x26\x20\x0a\x0e\xf8\xd0\xf7\x94\x60\x1d\xfc\xb4\x20\x0a\x0e\x80\x96\x7c" -+"\xf7\x0d\x0a\x7f\x89\x0b\xc5\x62\x53\x90\x1e\x77\x8c\x94\x82\x5c\x0a\xf0\xac\x1d\x0b\xfb\xd1\x63\x06\xf7\x13\x1d\x0b\x1e\xc8\x9b" -+"\xc1\xa7\xee\x1b\xe6\xc2\x72\x61\x7f\x87\x80\x81\x80\x1f\x74\x75\x41\x7c\x34\x1b\x71\x06\x0b\x80\x70\x6e\x1f\x7c\x7e\x85\x81\x82" -+"\x1a\x7d\xf4\x0a\x0b\xf8\x4d\xf8\xa0\x15\xae\x63\x5d\xeb\x0a\x0b\x15\x95\x94\x8e\x91\x93\x1a\x9a\x80\x96\x7d\x83\x87\x9d\x1d\x82" -+"\x88\x0b\x63\x29\x0a\xf7\x18\x06\x61\x1d\x63\x0b\x30\x07\xf7\x17\x1d\x30\x0b\x25\x1d\xb3\xfc\x61\x0b\xf7\x01\x0a\x96\x7f\x99\x92" -+"\x91\x68\x1d\x76\x80\x82\x7a\x7b\x96\x82\xa0\x1f\x0b\xf7\x21\x1d\xf7\x07\x2a\x05\x83\x0b\x1e\xfb\xf2\xfc\x2e\x05\x83\x83\x89\xf3" -+"\x0a\x0b\x84\xa2\x1b\xa4\xa0\xe8\x0a\x1a\x98\x80\x96\x7e\x83\x86\x89\x82\x82\x1e\x5d\x0b\xaa\x63\x56\x9c\x50\x1b\xfb\x1d\x29\x2c" -+"\xfb\x19\x0b\x06\xde\xbe\x98\xa5\xa4\x1f\x9f\xa0\x98\xad\xad\x1a\xd8\x4a\xb3\xfb\x13\x1e\x32\x0b\x91\x8d\x92\x93\x1e\xf3\xdf\xf4" -+"\x37\x05\x85\x93\x7d\x0a\x0b\x3a\x1d\xf7\x18\x22\x0a\x63\xf7\x84\x06\x0b\x68\x1f\x9d\x6b\x7d\x90\xf7\x03\x0a\x81\x1a\x0b\xe3\x0a" -+"\x0e\x82\x88\x87\x80\x1a\x7d\x97\x80\x99\x91\x91\x0b\x1f\x90\x82\x88\x8c\x85\x47\x1d\x85\x9b\x83\x1f\x81\x9f\x0b\x15\xf7\x25\x1d" -+"\x0b\x73\x24\x0a\xa4\x1e\xd5\x07\x8a\xac\x85\x90\x6a\x8c\x08\x0b\xb6\x80\x74\xaa\x1f\xa4\x77\x99\x70\x6e\x1a\x50\x56\x5d\x47\x1e" -+"\x0e\x1e\xfb\xea\x07\x59\xa6\x72\xc3\xc3\xb5\x9e\xa5\x98\x7f\x97\x7f\x86\x0b\x72\x77\x78\x72\x67\x1d\x9e\xa3\xa4\x77\x9f\x72\x1f" -+"\x0b\x95\xa5\xa6\x1f\x9f\x9e\x8f\x91\x95\xa4\x1d\x06\x9f\x97\x83\x0a\x0b\x06\x89\xf8\xcf\x15\x45\xfb\x05\xd1\x06\x0b\x9b\x53\x1b" -+"\xfb\x00\x3a\x47\x32\x5f\x9f\x63\xad\x74\x1f\xaa\x75\x0b\x81\x95\x7f\x83\x88\x89\x80\x82\x1e\xfb\xf3\xfc\x2e\x05\x85\x0b\xf7\x3a" -+"\x1d\xf7\x83\xe7\x15\x0b\xf7\x2e\x1d\x7e\x0b\x1b\xfb\x16\x34\x4f\x32\x3e\xcc\x56\x0b\x15\x7e\x87\x87\x75\x7a\x1f\x6a\x73\x75\x7b" -+"\x75\x1b\x7b\x0b\x96\x99\x96\x84\x94\x7f\x90\x1f\x93\x76\x67\x92\x76\x1b\x0b\x06\x33\x66\x84\x71\x64\x1f\x47\x5e\x68\x40\x27\x1a" -+"\x0b\x86\x85\x1a\x7f\x95\x81\x97\x94\x8d\x8d\x97\x95\x1e\x0b\x96\x81\xf7\x07\x0a\x0b\xd0\xbe\xe0\x94\x93\xb6\x8d\x08\x0b\x7f\x94" -+"\x77\x1f\x5a\xf8\x61\xbc\x06\x9f\x97\x94\x0b\x81\x1a\x7e\x96\x80\x99\x94\x91\x8f\x95\x93\x1e\x0b\x1e\xfb\x06\x2b\x05\x82\x84\x87" -+"\x83\x83\x1a\x7d\x0b\xa9\x1a\xc2\x5b\xb8\x51\x51\x5b\x5e\x54\x6d\x99\x0b\x76\x1b\x70\x75\x80\x70\x6e\x1f\x7c\x7e\x85\x81\x0b\x06" -+"\xf7\x08\x0a\x06\xfb\x59\xf8\x94\x05\x0b\x94\x7f\x9c\x9c\x94\x98\xa3\x1e\xf7\x01\x07\x0b\x99\x93\x93\x8e\x91\x90\x1e\xa8\xa7\x93" -+"\x90\x0b\x76\x94\x80\x9c\x9b\x94\x96\xa0\x1e\x0e\x94\x1a\x98\x80\x96\x7d\x1e\x0b\x06\x9e\x93\x92\x9c\x9b\x83\x92\x78\x1f\x0b\x06" -+"\x77\x7f\x82\x7a\x7b\x97\x82\x9f\x1f\x0b\x07\xa4\x99\x94\x9c\x9b\x7d\x94\x72\x1f\x0b\x84\x84\x88\x84\x83\x1e\x2a\x2f\x05\x7f\x0b" -+"\x15\x95\x93\x8f\x91\x94\x1a\x99\x7f\x97\x0b\x1a\x5a\x4c\x67\x36\x39\x48\xad\xb5\x1e\x0b", 45974 -+}; -diff -up texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/fonts/NimbusRoman-Bold.cff.cpp.301 texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/fonts/NimbusRoman-Bold.cff.cpp ---- texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/fonts/NimbusRoman-Bold.cff.cpp.301 2023-01-17 15:53:51.709205369 -0500 -+++ texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/fonts/NimbusRoman-Bold.cff.cpp 2023-01-17 15:53:51.709205369 -0500 -@@ -0,0 +1,1585 @@ -+#include "Base14Fonts.hpp" -+ -+extern const MemoryFontData NimbusRoman_Bold_cff = { -+"\x01\x00\x04\x02\x00\x01\x01\x01\x11\x4e\x69\x6d\x62\x75\x73\x52\x6f\x6d\x61\x6e\x2d\x42\x6f\x6c\x64\x00\x01\x01\x01\x33\xf9\xbc" -+"\x00\xf9\xbd\x01\xf9\xbe\x0c\x00\xf9\xbf\x02\xf9\xc0\x03\xf8\x14\x04\xfb\x01\x0c\x03\xd0\x0c\x04\xfb\x3c\xfb\xe9\xfa\xcb\xfa\xa8" -+"\x05\x1c\x28\x98\x0f\x1c\x28\xab\x11\xbd\x1d\x00\x00\xb4\xf9\x12\x01\xa6\x02\x00\x01\x00\x08\x00\x0e\x00\x13\x00\x1d\x00\x24\x00" -+"\x2b\x00\x35\x00\x39\x00\x3f\x00\x45\x00\x50\x00\x5a\x00\x5d\x00\x63\x00\x69\x00\x6e\x00\x74\x00\x7a\x00\x84\x00\x8b\x00\x8e\x00" -+"\x95\x00\x9c\x00\xa8\x00\xab\x00\xb3\x00\xb7\x00\xbc\x00\xc2\x00\xcd\x00\xd9\x00\xe3\x00\xe7\x00\xf2\x00\xf4\x00\xfa\x01\x04\x01" -+"\x0b\x01\x12\x01\x16\x01\x22\x01\x2b\x01\x31\x01\x3c\x01\x41\x01\x4d\x01\x53\x01\x59\x01\x5f\x01\x6b\x01\x6f\x01\x71\x01\x77\x01" -+"\x7d\x01\x89\x01\x8b\x01\x91\x01\x9e\x01\xa5\x01\xaf\x01\xb6\x01\xc2\x01\xcd\x01\xd0\x01\xd2\x01\xd5\x01\xdb\x01\xe1\x01\xed\x01" -+"\xf0\x01\xf6\x01\xfe\x02\x09\x02\x15\x02\x1a\x02\x1d\x02\x21\x02\x27\x02\x33\x02\x38\x02\x3e\x02\x4b\x02\x52\x02\x59\x02\x60\x02" -+"\x6f\x02\x7b\x02\x80\x02\x86\x02\x8c\x02\x97\x02\xa0\x02\xa6\x02\xa8\x02\xb3\x02\xb9\x02\xbf\x02\xc9\x02\xcd\x02\xd3\x02\xda\x02" -+"\xe3\x02\xec\x02\xf5\x02\xfe\x03\x07\x03\x10\x03\x19\x03\x22\x03\x2b\x03\x34\x03\x3d\x03\x46\x03\x4f\x03\x58\x03\x61\x03\x6a\x03" -+"\x73\x03\x7c\x03\x85\x03\x8e\x03\x97\x03\xa0\x03\xa9\x03\xb2\x03\xbb\x03\xc4\x03\xcd\x03\xd6\x03\xdf\x03\xe8\x03\xf1\x03\xfa\x04" -+"\x03\x04\x0c\x04\x15\x04\x1e\x04\x27\x04\x30\x04\x39\x04\x42\x04\x4b\x04\x54\x04\x5d\x04\x66\x04\x6f\x04\x78\x04\x81\x04\x8a\x04" -+"\x93\x04\x9c\x04\xa5\x04\xae\x04\xb7\x04\xc0\x04\xc9\x04\xd2\x04\xdb\x04\xe4\x04\xed\x04\xf6\x04\xff\x05\x08\x05\x11\x05\x1a\x05" -+"\x23\x05\x2c\x05\x35\x05\x3e\x05\x47\x05\x50\x05\x59\x05\x62\x05\x6b\x05\x74\x05\x7d\x05\x86\x05\x8f\x05\x98\x05\xa1\x05\xaa\x05" -+"\xb3\x05\xbc\x05\xc5\x05\xce\x05\xd7\x05\xe0\x05\xe9\x05\xf2\x05\xfb\x06\x04\x06\x0d\x06\x16\x06\x1f\x06\x28\x06\x31\x06\x3a\x06" -+"\x43\x06\x4c\x06\x55\x06\x5a\x06\x64\x06\x6b\x06\x74\x06\x7e\x06\x85\x06\x90\x06\x9a\x06\xa3\x06\xac\x06\xb5\x06\xbf\x06\xc6\x06" -+"\xcf\x06\xdb\x06\xdf\x06\xe5\x06\xeb\x06\xf6\x07\x00\x07\x03\x07\x11\x07\x15\x07\x1b\x07\x21\x07\x26\x07\x2d\x07\x3a\x07\x40\x07" -+"\x46\x07\x50\x07\x57\x07\x5e\x07\x61\x07\x68\x07\x6f\x07\x7b\x07\x86\x07\x8f\x07\x92\x07\x9a\x07\xa3\x07\xae\x07\xb4\x07\xb9\x07" -+"\xbe\x07\xc4\x07\xcf\x07\xdb\x07\xe5\x07\xf1\x07\xf5\x08\x00\x08\x05\x08\x0a\x08\x10\x08\x12\x08\x19\x08\x21\x08\x29\x08\x33\x08" -+"\x3d\x08\x49\x08\x55\x08\x5c\x08\x60\x08\x6c\x08\x7d\x08\x86\x08\x8c\x08\x97\x08\x9c\x08\xa8\x08\xb4\x08\xba\x08\xc0\x08\xc6\x08" -+"\xd2\x08\xd6\x08\xdf\x08\xe3\x08\xe8\x08\xec\x08\xf2\x08\xfd\x09\x0b\x09\x11\x09\x1c\x09\x22\x09\x2e\x09\x38\x09\x40\x09\x42\x09" -+"\x48\x09\x55\x09\x5c\x09\x61\x09\x6b\x09\x72\x09\x7e\x09\x88\x09\x93\x09\x9e\x09\xa4\x09\xa7\x09\xa9\x09\xb0\x09\xbc\x09\xca\x09" -+"\xcd\x09\xda\x09\xe0\x09\xe7\x09\xed\x09\xf9\x0a\x06\x0a\x09\x0a\x0f\x0a\x17\x0a\x22\x0a\x2e\x0a\x34\x0a\x39\x0a\x42\x0a\x47\x0a" -+"\x50\x0a\x53\x0a\x56\x0a\x5a\x0a\x60\x0a\x6c\x0a\x71\x0a\x76\x0a\x7c\x0a\x89\x0a\x90\x0a\x9d\x0a\xa4\x0a\xab\x0a\xb2\x0a\xb9\x0a" -+"\xc0\x0a\xc7\x0a\xce\x0a\xd5\x0a\xdc\x0a\xe3\x0a\xea\x0a\xf1\x0a\xf8\x0a\xff\x0b\x06\x0b\x0d\x0b\x14\x0b\x1b\x0b\x22\x0b\x29\x0b" -+"\x30\x0b\x37\x0b\x3e\x0b\x45\x0b\x4c\x0b\x53\x0b\x5a\x0b\x61\x0b\x68\x0b\x6f\x0b\x76\x0b\x7d\x0b\x84\x0b\x8b\x0b\x92\x0b\x99\x0b" -+"\xa0\x0b\xa7\x0b\xae\x0b\xb5\x0b\xbc\x0b\xc3\x0b\xca\x0b\xd1\x0b\xd8\x0b\xdf\x0b\xe6\x0b\xed\x0b\xf4\x0b\xfb\x0c\x02\x0c\x09\x0c" -+"\x10\x0c\x17\x0c\x1e\x0c\x25\x0c\x2c\x0c\x33\x0c\x3a\x0c\x41\x0c\x48\x0c\x4d\x0c\x56\x0c\x5d\x0c\x64\x0c\x73\x0c\x87\x0c\x93\x0c" -+"\x98\x0c\x9e\x0c\xa4\x0c\xaf\x0c\xb8\x0c\xbe\x0c\xc0\x0c\xcb\x0c\xd1\x0c\xd7\x0c\xe1\x0c\xe5\x0c\xe9\x0d\x1f\x0d\x5f\x0d\x70\x0d" -+"\x7c\x41\x45\x61\x63\x75\x74\x65\x41\x62\x72\x65\x76\x65\x41\x6c\x70\x68\x61\x41\x6c\x70\x68\x61\x74\x6f\x6e\x6f\x73\x41\x6d\x61" -+"\x63\x72\x6f\x6e\x41\x6f\x67\x6f\x6e\x65\x6b\x41\x72\x69\x6e\x67\x61\x63\x75\x74\x65\x42\x65\x74\x61\x43\x61\x63\x75\x74\x65\x43" -+"\x63\x61\x72\x6f\x6e\x43\x63\x69\x72\x63\x75\x6d\x66\x6c\x65\x78\x43\x64\x6f\x74\x61\x63\x63\x65\x6e\x74\x43\x68\x69\x44\x63\x61" -+"\x72\x6f\x6e\x44\x63\x72\x6f\x61\x74\x44\x65\x6c\x74\x61\x45\x62\x72\x65\x76\x65\x45\x63\x61\x72\x6f\x6e\x45\x64\x6f\x74\x61\x63" -+"\x63\x65\x6e\x74\x45\x6d\x61\x63\x72\x6f\x6e\x45\x6e\x67\x45\x6f\x67\x6f\x6e\x65\x6b\x45\x70\x73\x69\x6c\x6f\x6e\x45\x70\x73\x69" -+"\x6c\x6f\x6e\x74\x6f\x6e\x6f\x73\x45\x74\x61\x45\x74\x61\x74\x6f\x6e\x6f\x73\x45\x75\x72\x6f\x47\x61\x6d\x6d\x61\x47\x62\x72\x65" -+"\x76\x65\x47\x63\x69\x72\x63\x75\x6d\x66\x6c\x65\x78\x47\x63\x6f\x6d\x6d\x61\x61\x63\x63\x65\x6e\x74\x47\x64\x6f\x74\x61\x63\x63" -+"\x65\x6e\x74\x48\x62\x61\x72\x48\x63\x69\x72\x63\x75\x6d\x66\x6c\x65\x78\x49\x4a\x49\x62\x72\x65\x76\x65\x49\x64\x6f\x74\x61\x63" -+"\x63\x65\x6e\x74\x49\x6d\x61\x63\x72\x6f\x6e\x49\x6f\x67\x6f\x6e\x65\x6b\x49\x6f\x74\x61\x49\x6f\x74\x61\x64\x69\x65\x72\x65\x73" -+"\x69\x73\x49\x6f\x74\x61\x74\x6f\x6e\x6f\x73\x49\x74\x69\x6c\x64\x65\x4a\x63\x69\x72\x63\x75\x6d\x66\x6c\x65\x78\x4b\x61\x70\x70" -+"\x61\x4b\x63\x6f\x6d\x6d\x61\x61\x63\x63\x65\x6e\x74\x4c\x61\x63\x75\x74\x65\x4c\x61\x6d\x62\x64\x61\x4c\x63\x61\x72\x6f\x6e\x4c" -+"\x63\x6f\x6d\x6d\x61\x61\x63\x63\x65\x6e\x74\x4c\x64\x6f\x74\x4d\x75\x4e\x61\x63\x75\x74\x65\x4e\x63\x61\x72\x6f\x6e\x4e\x63\x6f" -+"\x6d\x6d\x61\x61\x63\x63\x65\x6e\x74\x4e\x75\x4f\x62\x72\x65\x76\x65\x4f\x68\x75\x6e\x67\x61\x72\x75\x6d\x6c\x61\x75\x74\x4f\x6d" -+"\x61\x63\x72\x6f\x6e\x4f\x6d\x65\x67\x61\x74\x6f\x6e\x6f\x73\x4f\x6d\x69\x63\x72\x6f\x6e\x4f\x6d\x69\x63\x72\x6f\x6e\x74\x6f\x6e" -+"\x6f\x73\x4f\x73\x6c\x61\x73\x68\x61\x63\x75\x74\x65\x50\x68\x69\x50\x69\x50\x73\x69\x52\x61\x63\x75\x74\x65\x52\x63\x61\x72\x6f" -+"\x6e\x52\x63\x6f\x6d\x6d\x61\x61\x63\x63\x65\x6e\x74\x52\x68\x6f\x53\x61\x63\x75\x74\x65\x53\x63\x65\x64\x69\x6c\x6c\x61\x53\x63" -+"\x69\x72\x63\x75\x6d\x66\x6c\x65\x78\x53\x63\x6f\x6d\x6d\x61\x61\x63\x63\x65\x6e\x74\x53\x69\x67\x6d\x61\x54\x61\x75\x54\x62\x61" -+"\x72\x54\x63\x61\x72\x6f\x6e\x54\x63\x6f\x6d\x6d\x61\x61\x63\x63\x65\x6e\x74\x54\x68\x65\x74\x61\x55\x62\x72\x65\x76\x65\x55\x68" -+"\x75\x6e\x67\x61\x72\x75\x6d\x6c\x61\x75\x74\x55\x6d\x61\x63\x72\x6f\x6e\x55\x6f\x67\x6f\x6e\x65\x6b\x55\x70\x73\x69\x6c\x6f\x6e" -+"\x55\x70\x73\x69\x6c\x6f\x6e\x64\x69\x65\x72\x65\x73\x69\x73\x55\x70\x73\x69\x6c\x6f\x6e\x74\x6f\x6e\x6f\x73\x55\x72\x69\x6e\x67" -+"\x55\x74\x69\x6c\x64\x65\x57\x61\x63\x75\x74\x65\x57\x63\x69\x72\x63\x75\x6d\x66\x6c\x65\x78\x57\x64\x69\x65\x72\x65\x73\x69\x73" -+"\x57\x67\x72\x61\x76\x65\x58\x69\x59\x63\x69\x72\x63\x75\x6d\x66\x6c\x65\x78\x59\x67\x72\x61\x76\x65\x5a\x61\x63\x75\x74\x65\x5a" -+"\x64\x6f\x74\x61\x63\x63\x65\x6e\x74\x5a\x65\x74\x61\x61\x62\x72\x65\x76\x65\x61\x65\x61\x63\x75\x74\x65\x61\x66\x69\x69\x30\x30" -+"\x32\x30\x38\x61\x66\x69\x69\x31\x30\x30\x31\x37\x61\x66\x69\x69\x31\x30\x30\x31\x38\x61\x66\x69\x69\x31\x30\x30\x31\x39\x61\x66" -+"\x69\x69\x31\x30\x30\x32\x30\x61\x66\x69\x69\x31\x30\x30\x32\x31\x61\x66\x69\x69\x31\x30\x30\x32\x32\x61\x66\x69\x69\x31\x30\x30" -+"\x32\x33\x61\x66\x69\x69\x31\x30\x30\x32\x34\x61\x66\x69\x69\x31\x30\x30\x32\x35\x61\x66\x69\x69\x31\x30\x30\x32\x36\x61\x66\x69" -+"\x69\x31\x30\x30\x32\x37\x61\x66\x69\x69\x31\x30\x30\x32\x38\x61\x66\x69\x69\x31\x30\x30\x32\x39\x61\x66\x69\x69\x31\x30\x30\x33" -+"\x30\x61\x66\x69\x69\x31\x30\x30\x33\x31\x61\x66\x69\x69\x31\x30\x30\x33\x32\x61\x66\x69\x69\x31\x30\x30\x33\x33\x61\x66\x69\x69" -+"\x31\x30\x30\x33\x34\x61\x66\x69\x69\x31\x30\x30\x33\x35\x61\x66\x69\x69\x31\x30\x30\x33\x36\x61\x66\x69\x69\x31\x30\x30\x33\x37" -+"\x61\x66\x69\x69\x31\x30\x30\x33\x38\x61\x66\x69\x69\x31\x30\x30\x33\x39\x61\x66\x69\x69\x31\x30\x30\x34\x30\x61\x66\x69\x69\x31" -+"\x30\x30\x34\x31\x61\x66\x69\x69\x31\x30\x30\x34\x32\x61\x66\x69\x69\x31\x30\x30\x34\x33\x61\x66\x69\x69\x31\x30\x30\x34\x34\x61" -+"\x66\x69\x69\x31\x30\x30\x34\x35\x61\x66\x69\x69\x31\x30\x30\x34\x36\x61\x66\x69\x69\x31\x30\x30\x34\x37\x61\x66\x69\x69\x31\x30" -+"\x30\x34\x38\x61\x66\x69\x69\x31\x30\x30\x34\x39\x61\x66\x69\x69\x31\x30\x30\x35\x30\x61\x66\x69\x69\x31\x30\x30\x35\x31\x61\x66" -+"\x69\x69\x31\x30\x30\x35\x32\x61\x66\x69\x69\x31\x30\x30\x35\x33\x61\x66\x69\x69\x31\x30\x30\x35\x34\x61\x66\x69\x69\x31\x30\x30" -+"\x35\x35\x61\x66\x69\x69\x31\x30\x30\x35\x36\x61\x66\x69\x69\x31\x30\x30\x35\x37\x61\x66\x69\x69\x31\x30\x30\x35\x38\x61\x66\x69" -+"\x69\x31\x30\x30\x35\x39\x61\x66\x69\x69\x31\x30\x30\x36\x30\x61\x66\x69\x69\x31\x30\x30\x36\x31\x61\x66\x69\x69\x31\x30\x30\x36" -+"\x32\x61\x66\x69\x69\x31\x30\x30\x36\x35\x61\x66\x69\x69\x31\x30\x30\x36\x36\x61\x66\x69\x69\x31\x30\x30\x36\x37\x61\x66\x69\x69" -+"\x31\x30\x30\x36\x38\x61\x66\x69\x69\x31\x30\x30\x36\x39\x61\x66\x69\x69\x31\x30\x30\x37\x30\x61\x66\x69\x69\x31\x30\x30\x37\x31" -+"\x61\x66\x69\x69\x31\x30\x30\x37\x32\x61\x66\x69\x69\x31\x30\x30\x37\x33\x61\x66\x69\x69\x31\x30\x30\x37\x34\x61\x66\x69\x69\x31" -+"\x30\x30\x37\x35\x61\x66\x69\x69\x31\x30\x30\x37\x36\x61\x66\x69\x69\x31\x30\x30\x37\x37\x61\x66\x69\x69\x31\x30\x30\x37\x38\x61" -+"\x66\x69\x69\x31\x30\x30\x37\x39\x61\x66\x69\x69\x31\x30\x30\x38\x30\x61\x66\x69\x69\x31\x30\x30\x38\x31\x61\x66\x69\x69\x31\x30" -+"\x30\x38\x32\x61\x66\x69\x69\x31\x30\x30\x38\x33\x61\x66\x69\x69\x31\x30\x30\x38\x34\x61\x66\x69\x69\x31\x30\x30\x38\x35\x61\x66" -+"\x69\x69\x31\x30\x30\x38\x36\x61\x66\x69\x69\x31\x30\x30\x38\x37\x61\x66\x69\x69\x31\x30\x30\x38\x38\x61\x66\x69\x69\x31\x30\x30" -+"\x38\x39\x61\x66\x69\x69\x31\x30\x30\x39\x30\x61\x66\x69\x69\x31\x30\x30\x39\x31\x61\x66\x69\x69\x31\x30\x30\x39\x32\x61\x66\x69" -+"\x69\x31\x30\x30\x39\x33\x61\x66\x69\x69\x31\x30\x30\x39\x34\x61\x66\x69\x69\x31\x30\x30\x39\x35\x61\x66\x69\x69\x31\x30\x30\x39" -+"\x36\x61\x66\x69\x69\x31\x30\x30\x39\x37\x61\x66\x69\x69\x31\x30\x30\x39\x38\x61\x66\x69\x69\x31\x30\x30\x39\x39\x61\x66\x69\x69" -+"\x31\x30\x31\x30\x30\x61\x66\x69\x69\x31\x30\x31\x30\x31\x61\x66\x69\x69\x31\x30\x31\x30\x32\x61\x66\x69\x69\x31\x30\x31\x30\x33" -+"\x61\x66\x69\x69\x31\x30\x31\x30\x34\x61\x66\x69\x69\x31\x30\x31\x30\x35\x61\x66\x69\x69\x31\x30\x31\x30\x36\x61\x66\x69\x69\x31" -+"\x30\x31\x30\x37\x61\x66\x69\x69\x31\x30\x31\x30\x38\x61\x66\x69\x69\x31\x30\x31\x30\x39\x61\x66\x69\x69\x31\x30\x31\x31\x30\x61" -+"\x66\x69\x69\x31\x30\x31\x34\x35\x61\x66\x69\x69\x31\x30\x31\x39\x33\x61\x66\x69\x69\x31\x30\x38\x34\x36\x61\x66\x69\x69\x36\x31" -+"\x32\x34\x38\x61\x66\x69\x69\x36\x31\x32\x38\x39\x61\x66\x69\x69\x36\x31\x33\x35\x32\x61\x6c\x70\x68\x61\x61\x6c\x70\x68\x61\x74" -+"\x6f\x6e\x6f\x73\x61\x6d\x61\x63\x72\x6f\x6e\x61\x6e\x67\x6c\x65\x6c\x65\x66\x74\x61\x6e\x67\x6c\x65\x72\x69\x67\x68\x74\x61\x6f" -+"\x67\x6f\x6e\x65\x6b\x61\x70\x70\x72\x6f\x78\x65\x71\x75\x61\x6c\x61\x72\x69\x6e\x67\x61\x63\x75\x74\x65\x61\x72\x72\x6f\x77\x62" -+"\x6f\x74\x68\x61\x72\x72\x6f\x77\x64\x6f\x77\x6e\x61\x72\x72\x6f\x77\x6c\x65\x66\x74\x61\x72\x72\x6f\x77\x72\x69\x67\x68\x74\x61" -+"\x72\x72\x6f\x77\x75\x70\x61\x72\x72\x6f\x77\x75\x70\x64\x6e\x61\x72\x72\x6f\x77\x75\x70\x64\x6e\x62\x73\x65\x62\x65\x74\x61\x63" -+"\x61\x63\x75\x74\x65\x63\x63\x61\x72\x6f\x6e\x63\x63\x69\x72\x63\x75\x6d\x66\x6c\x65\x78\x63\x64\x6f\x74\x61\x63\x63\x65\x6e\x74" -+"\x63\x68\x69\x63\x69\x72\x63\x6c\x65\x6d\x75\x6c\x74\x69\x70\x6c\x79\x63\x6c\x75\x62\x64\x63\x61\x72\x6f\x6e\x64\x63\x72\x6f\x61" -+"\x74\x64\x65\x6c\x74\x61\x64\x69\x61\x6d\x6f\x6e\x64\x64\x69\x65\x72\x65\x73\x69\x73\x74\x6f\x6e\x6f\x73\x65\x62\x72\x65\x76\x65" -+"\x65\x63\x61\x72\x6f\x6e\x65\x64\x6f\x74\x61\x63\x63\x65\x6e\x74\x65\x6c\x65\x6d\x65\x6e\x74\x65\x6d\x61\x63\x72\x6f\x6e\x65\x6e" -+"\x67\x65\x6f\x67\x6f\x6e\x65\x6b\x65\x70\x73\x69\x6c\x6f\x6e\x65\x70\x73\x69\x6c\x6f\x6e\x74\x6f\x6e\x6f\x73\x65\x71\x75\x69\x76" -+"\x61\x6c\x65\x6e\x63\x65\x65\x73\x74\x69\x6d\x61\x74\x65\x64\x65\x74\x61\x65\x74\x61\x74\x6f\x6e\x6f\x73\x65\x78\x63\x6c\x61\x6d" -+"\x64\x62\x6c\x65\x78\x69\x73\x74\x65\x6e\x74\x69\x61\x6c\x66\x65\x6d\x61\x6c\x65\x66\x72\x61\x6e\x63\x67\x61\x6d\x6d\x61\x67\x62" -+"\x72\x65\x76\x65\x67\x63\x69\x72\x63\x75\x6d\x66\x6c\x65\x78\x67\x63\x6f\x6d\x6d\x61\x61\x63\x63\x65\x6e\x74\x67\x64\x6f\x74\x61" -+"\x63\x63\x65\x6e\x74\x67\x72\x65\x61\x74\x65\x72\x65\x71\x75\x61\x6c\x68\x62\x61\x72\x68\x63\x69\x72\x63\x75\x6d\x66\x6c\x65\x78" -+"\x68\x65\x61\x72\x74\x68\x6f\x75\x73\x65\x69\x62\x72\x65\x76\x65\x69\x6a\x69\x6d\x61\x63\x72\x6f\x6e\x69\x6e\x66\x69\x6e\x69\x74" -+"\x79\x69\x6e\x74\x65\x67\x72\x61\x6c\x69\x6e\x74\x65\x67\x72\x61\x6c\x62\x74\x69\x6e\x74\x65\x67\x72\x61\x6c\x74\x70\x69\x6e\x74" -+"\x65\x72\x73\x65\x63\x74\x69\x6f\x6e\x69\x6e\x76\x73\x6d\x69\x6c\x65\x66\x61\x63\x65\x69\x6f\x67\x6f\x6e\x65\x6b\x69\x6f\x74\x61" -+"\x69\x6f\x74\x61\x64\x69\x65\x72\x65\x73\x69\x73\x69\x6f\x74\x61\x64\x69\x65\x72\x65\x73\x69\x73\x74\x6f\x6e\x6f\x73\x69\x6f\x74" -+"\x61\x74\x6f\x6e\x6f\x73\x69\x74\x69\x6c\x64\x65\x6a\x63\x69\x72\x63\x75\x6d\x66\x6c\x65\x78\x6b\x61\x70\x70\x61\x6b\x63\x6f\x6d" -+"\x6d\x61\x61\x63\x63\x65\x6e\x74\x6b\x67\x72\x65\x65\x6e\x6c\x61\x6e\x64\x69\x63\x6c\x61\x63\x75\x74\x65\x6c\x61\x6d\x62\x64\x61" -+"\x6c\x63\x61\x72\x6f\x6e\x6c\x63\x6f\x6d\x6d\x61\x61\x63\x63\x65\x6e\x74\x6c\x64\x6f\x74\x6c\x65\x73\x73\x65\x71\x75\x61\x6c\x6c" -+"\x69\x72\x61\x6c\x6f\x6e\x67\x73\x6d\x61\x6c\x65\x6d\x69\x6e\x75\x74\x65\x6d\x75\x73\x69\x63\x61\x6c\x6e\x6f\x74\x65\x6d\x75\x73" -+"\x69\x63\x61\x6c\x6e\x6f\x74\x65\x64\x62\x6c\x6e\x61\x63\x75\x74\x65\x6e\x61\x70\x6f\x73\x74\x72\x6f\x70\x68\x65\x6e\x63\x61\x72" -+"\x6f\x6e\x6e\x63\x6f\x6d\x6d\x61\x61\x63\x63\x65\x6e\x74\x6e\x6f\x74\x65\x6c\x65\x6d\x65\x6e\x74\x6e\x6f\x74\x65\x71\x75\x61\x6c" -+"\x6e\x75\x6f\x62\x72\x65\x76\x65\x6f\x68\x75\x6e\x67\x61\x72\x75\x6d\x6c\x61\x75\x74\x6f\x6d\x61\x63\x72\x6f\x6e\x6f\x6d\x65\x67" -+"\x61\x6f\x6d\x65\x67\x61\x74\x6f\x6e\x6f\x73\x6f\x6d\x69\x63\x72\x6f\x6e\x6f\x6d\x69\x63\x72\x6f\x6e\x74\x6f\x6e\x6f\x73\x6f\x72" -+"\x74\x68\x6f\x67\x6f\x6e\x61\x6c\x6f\x73\x6c\x61\x73\x68\x61\x63\x75\x74\x65\x70\x61\x72\x74\x69\x61\x6c\x64\x69\x66\x66\x70\x65" -+"\x73\x65\x74\x61\x70\x68\x69\x70\x69\x70\x72\x6f\x64\x75\x63\x74\x70\x72\x6f\x70\x65\x72\x73\x75\x62\x73\x65\x74\x70\x72\x6f\x70" -+"\x65\x72\x73\x75\x70\x65\x72\x73\x65\x74\x70\x73\x69\x71\x75\x6f\x74\x65\x72\x65\x76\x65\x72\x73\x65\x64\x72\x61\x63\x75\x74\x65" -+"\x72\x61\x64\x69\x63\x61\x6c\x72\x63\x61\x72\x6f\x6e\x72\x63\x6f\x6d\x6d\x61\x61\x63\x63\x65\x6e\x74\x72\x65\x76\x6c\x6f\x67\x69" -+"\x63\x61\x6c\x6e\x6f\x74\x72\x68\x6f\x73\x61\x63\x75\x74\x65\x73\x63\x65\x64\x69\x6c\x6c\x61\x73\x63\x69\x72\x63\x75\x6d\x66\x6c" -+"\x65\x78\x73\x63\x6f\x6d\x6d\x61\x61\x63\x63\x65\x6e\x74\x73\x65\x63\x6f\x6e\x64\x73\x69\x67\x6d\x61\x73\x6d\x69\x6c\x65\x66\x61" -+"\x63\x65\x73\x70\x61\x64\x65\x73\x75\x6d\x6d\x61\x74\x69\x6f\x6e\x73\x75\x6e\x74\x61\x75\x74\x62\x61\x72\x74\x63\x61\x72\x6f\x6e" -+"\x74\x63\x6f\x6d\x6d\x61\x61\x63\x63\x65\x6e\x74\x74\x68\x65\x74\x61\x74\x6f\x6e\x6f\x73\x75\x62\x72\x65\x76\x65\x75\x68\x75\x6e" -+"\x67\x61\x72\x75\x6d\x6c\x61\x75\x74\x75\x6d\x61\x63\x72\x6f\x6e\x75\x6e\x64\x65\x72\x73\x63\x6f\x72\x65\x64\x62\x6c\x75\x6e\x69" -+"\x30\x30\x41\x30\x75\x6e\x69\x30\x30\x41\x44\x75\x6e\x69\x30\x32\x31\x41\x75\x6e\x69\x30\x32\x31\x42\x75\x6e\x69\x30\x32\x43\x39" -+"\x75\x6e\x69\x30\x33\x38\x37\x75\x6e\x69\x30\x33\x39\x34\x75\x6e\x69\x30\x33\x41\x39\x75\x6e\x69\x30\x33\x42\x43\x75\x6e\x69\x30" -+"\x33\x43\x32\x75\x6e\x69\x30\x34\x30\x30\x75\x6e\x69\x30\x34\x30\x44\x75\x6e\x69\x30\x34\x35\x30\x75\x6e\x69\x30\x34\x35\x44\x75" -+"\x6e\x69\x30\x34\x39\x32\x75\x6e\x69\x30\x34\x39\x33\x75\x6e\x69\x30\x34\x39\x36\x75\x6e\x69\x30\x34\x39\x37\x75\x6e\x69\x30\x34" -+"\x39\x38\x75\x6e\x69\x30\x34\x39\x39\x75\x6e\x69\x30\x34\x39\x41\x75\x6e\x69\x30\x34\x39\x42\x75\x6e\x69\x30\x34\x39\x43\x75\x6e" -+"\x69\x30\x34\x39\x44\x75\x6e\x69\x30\x34\x41\x30\x75\x6e\x69\x30\x34\x41\x31\x75\x6e\x69\x30\x34\x41\x32\x75\x6e\x69\x30\x34\x41" -+"\x33\x75\x6e\x69\x30\x34\x41\x41\x75\x6e\x69\x30\x34\x41\x42\x75\x6e\x69\x30\x34\x41\x45\x75\x6e\x69\x30\x34\x41\x46\x75\x6e\x69" -+"\x30\x34\x42\x30\x75\x6e\x69\x30\x34\x42\x31\x75\x6e\x69\x30\x34\x42\x32\x75\x6e\x69\x30\x34\x42\x33\x75\x6e\x69\x30\x34\x42\x36" -+"\x75\x6e\x69\x30\x34\x42\x37\x75\x6e\x69\x30\x34\x42\x38\x75\x6e\x69\x30\x34\x42\x39\x75\x6e\x69\x30\x34\x42\x41\x75\x6e\x69\x30" -+"\x34\x42\x42\x75\x6e\x69\x30\x34\x43\x30\x75\x6e\x69\x30\x34\x43\x42\x75\x6e\x69\x30\x34\x43\x43\x75\x6e\x69\x30\x34\x44\x38\x75" -+"\x6e\x69\x30\x34\x45\x32\x75\x6e\x69\x30\x34\x45\x33\x75\x6e\x69\x30\x34\x45\x38\x75\x6e\x69\x30\x34\x45\x39\x75\x6e\x69\x30\x34" -+"\x45\x45\x75\x6e\x69\x30\x34\x45\x46\x75\x6e\x69\x32\x30\x33\x45\x75\x6e\x69\x32\x30\x41\x46\x75\x6e\x69\x32\x31\x32\x36\x75\x6e" -+"\x69\x32\x32\x31\x35\x75\x6e\x69\x32\x32\x31\x39\x75\x6e\x69\x32\x32\x32\x37\x75\x6e\x69\x32\x32\x32\x38\x75\x6e\x69\x32\x32\x39" -+"\x35\x75\x6e\x69\x32\x35\x41\x31\x75\x6e\x69\x6f\x6e\x75\x6e\x69\x76\x65\x72\x73\x61\x6c\x75\x6f\x67\x6f\x6e\x65\x6b\x75\x70\x73" -+"\x69\x6c\x6f\x6e\x75\x70\x73\x69\x6c\x6f\x6e\x64\x69\x65\x72\x65\x73\x69\x73\x75\x70\x73\x69\x6c\x6f\x6e\x64\x69\x65\x72\x65\x73" -+"\x69\x73\x74\x6f\x6e\x6f\x73\x75\x70\x73\x69\x6c\x6f\x6e\x74\x6f\x6e\x6f\x73\x75\x72\x69\x6e\x67\x75\x74\x69\x6c\x64\x65\x77\x61" -+"\x63\x75\x74\x65\x77\x63\x69\x72\x63\x75\x6d\x66\x6c\x65\x78\x77\x64\x69\x65\x72\x65\x73\x69\x73\x77\x67\x72\x61\x76\x65\x78\x69" -+"\x79\x63\x69\x72\x63\x75\x6d\x66\x6c\x65\x78\x79\x67\x72\x61\x76\x65\x7a\x61\x63\x75\x74\x65\x7a\x64\x6f\x74\x61\x63\x63\x65\x6e" -+"\x74\x7a\x65\x74\x61\x31\x2e\x30\x30\x28\x55\x52\x57\x29\x2b\x2b\x2c\x43\x6f\x70\x79\x72\x69\x67\x68\x74\x20\x32\x30\x31\x34\x20" -+"\x62\x79\x20\x28\x55\x52\x57\x29\x2b\x2b\x20\x44\x65\x73\x69\x67\x6e\x20\x26\x20\x44\x65\x76\x65\x6c\x6f\x70\x6d\x65\x6e\x74\x43" -+"\x6f\x70\x79\x72\x69\x67\x68\x74\x20\x28\x55\x52\x57\x29\x2b\x2b\x2c\x43\x6f\x70\x79\x72\x69\x67\x68\x74\x20\x32\x30\x31\x34\x20" -+"\x62\x79\x20\x28\x55\x52\x57\x29\x2b\x2b\x20\x44\x65\x73\x69\x67\x6e\x20\x26\x20\x44\x65\x76\x65\x6c\x6f\x70\x6d\x65\x6e\x74\x4e" -+"\x69\x6d\x62\x75\x73\x20\x52\x6f\x6d\x61\x6e\x20\x42\x6f\x6c\x64\x4e\x69\x6d\x62\x75\x73\x20\x52\x6f\x6d\x61\x6e\x00\xd4\x02\x00" -+"\x01\x00\x0a\x00\x13\x00\x1b\x00\x3e\x00\x98\x00\xd7\x01\x1e\x01\x55\x01\x6c\x01\x79\x01\x84\x01\x8b\x01\x95\x01\xa7\x02\x23\x02" -+"\x91\x02\xd8\x03\x16\x03\x19\x03\x9a\x04\x0c\x04\x4d\x04\x82\x04\xbb\x04\xdd\x04\xf9\x05\x04\x05\x09\x05\x17\x05\x24\x05\x2f\x05" -+"\x36\x05\x3e\x05\x48\x05\x51\x05\x58\x05\x60\x05\x65\x05\x6b\x05\xcd\x05\xd7\x05\xf1\x05\xf5\x06\x00\x06\x1a\x06\x24\x06\x3e\x06" -+"\x4d\x06\x64\x06\x78\x06\x7d\x06\x96\x06\xa8\x06\xb4\x06\xd1\x06\xe2\x06\xeb\x06\xee\x06\xfa\x07\x03\x07\x0e\x07\x16\x07\x27\x07" -+"\x2f\x07\x32\x07\x3b\x07\x4a\x07\x59\x07\x62\x07\x6b\x07\x72\x07\x80\x07\x88\x07\x94\x08\x14\x08\x5a\x08\xca\x09\x08\x09\x73\x09" -+"\x78\x09\xdf\x0a\x0e\x0a\x5a\x0a\x9f\x0a\xfd\x0b\x28\x0b\x7f\x0b\xd5\x0c\x27\x0c\x70\x0c\xb0\x0c\xf0\x0d\x1e\x0d\x34\x0d\x4b\x0d" -+"\x68\x0d\x9d\x0d\xa8\x0d\xd2\x0e\x00\x0e\x2e\x0e\x50\x0e\x65\x0e\x78\x0e\x90\x0e\x95\x0e\xa8\x0e\xc6\x0e\xe6\x0e\xf5\x0f\x1f\x0f" -+"\x30\x0f\x58\x0f\x70\x0f\x7d\x0f\xa1\x0f\xbc\x0f\xdf\x0f\xef\x10\x11\x10\x19\x10\x3b\x10\x4d\x10\x6c\x10\x80\x10\x98\x10\xb4\x10" -+"\xd0\x10\xec\x11\x07\x11\x11\x11\x18\x11\x32\x11\x4b\x11\x64\x11\x75\x11\x83\x11\x8e\x11\xa6\x11\xbe\x11\xd5\x11\xec\x12\x03\x12" -+"\x1a\x12\x29\x12\x3e\x12\x4b\x12\x4f\x12\x5d\x12\x69\x12\x7e\x12\x93\x12\xa8\x12\xbd\x12\xd1\x12\xe5\x12\xf2\x13\x00\x13\x14\x13" -+"\x26\x13\x39\x13\x4c\x13\x5a\x13\x68\x13\x7b\x13\x8e\x13\xa0\x13\xb2\x13\xc3\x13\xd4\x13\xd9\x13\xe3\x13\xf3\x14\x03\x14\x13\x14" -+"\x23\x14\x33\x14\x43\x14\x47\x14\x56\x14\x65\x14\x72\x14\x80\x14\x8e\x14\x9c\x14\xa8\x14\xaf\x14\xbc\x14\xc9\x14\xd6\x14\xe3\x14" -+"\xf0\x14\xf8\x15\x04\x15\x10\x15\x1c\x15\x28\x15\x34\x15\x40\x15\x4c\x15\x58\x15\x64\x15\x6f\x15\x7a\x15\x85\x15\x90\x15\x9b\x15" -+"\xa6\x15\xb1\x15\xbc\x15\xc7\x15\xd0\x06\x56\x8e\x7c\x9c\x8d\xc3\x08\x0b\x07\x8d\x53\x7c\x7a\x56\x88\x08\x0b\x15\xc3\x06\xf7\x22" -+"\xe3\x05\x0b\x76\x1d\x58\x96\xa1\x78\xbc\x1b\xb6\xaa\x9b\xb4\xb1\x1f\xfb\x57\xc4\x15\x6c\x70\x77\x7f\x73\x1b\x6d\x76\xa6\xb3\xc5" -+"\xb5\xb5\xdb\xa0\x1f\x0b\xf9\x51\xf9\x38\x15\xfb\x70\x72\x06\xd8\x86\xa0\x76\x42\x1a\xfb\xc5\x07\xfb\x28\x53\x46\xfb\x0b\x24\x5f" -+"\xc6\xf7\x1c\x1e\xf7\xe2\x07\x8d\xd8\x99\x98\xdc\x8d\x08\xa4\xfb\xe6\x72\x07\xd0\x85\x96\x7e\x8d\x42\x08\xfb\xe2\x07\x29\xa0\x5a" -+"\xc8\x5f\x1e\x68\xbb\xcb\x79\xd4\x1b\xd5\xd1\xa1\xb0\xb6\x1f\xb8\xb1\xa5\xd7\xe8\x1a\xf7\xd3\x07\x8c\xc7\x99\x9b\xca\x94\x08\x0b" -+"\xf8\x26\xf7\x11\x15\xbe\x1d\xf7\x90\x06\x85\xdf\x7c\xba\x6b\xb1\x08\xb2\x6b\x5c\x9f\x53\x1b\xfb\x10\x37\x28\xfb\x26\xfb\x26\xdd" -+"\x2b\xf7\x10\xdc\xbc\xaa\xe9\xcc\x1f\xfb\x9a\xf7\x3f\x15\xf7\x0c\x8e\x9d\xb3\xbc\x1b\xba\x9a\x69\xfb\x03\x8d\x1f\x7c\x07\x0b\xf8" -+"\x1d\xf9\x47\x15\xfb\x66\xfb\x28\xfb\x27\xfb\x65\xfb\x63\xf7\x27\xfb\x27\xf7\x63\xf7\x63\xf7\x27\xf7\x27\xf7\x64\xf7\x60\xfb\x28" -+"\xf7\x2b\xfb\x5e\x1f\x8a\x6a\x15\xf7\x02\xcb\xfb\x0d\xfb\x64\xfb\x62\x4e\xfb\x01\xfb\x08\xfb\x07\x4d\xf7\x01\xf7\x5f\xf7\x6c\xca" -+"\xf7\x08\xf7\x09\x1f\x0b\xf7\x8f\xf8\x6d\x15\xfb\x14\x29\x22\xfb\x1c\xfb\x23\xe9\x24\xf7\x18\xf7\x16\xea\xf2\xf7\x20\xf7\x21\x2b" -+"\xf2\xfb\x15\x1f\x8c\x6c\x15\xc5\x9e\x54\xfb\x38\xfb\x2e\x77\x57\x51\x50\x77\xbe\xf7\x27\xf7\x43\x9d\xbf\xc9\x1f\x0b\x15\xfb\x1d" -+"\xf7\x31\x05\x9d\x7b\x78\x95\x78\x1b\x71\x76\x77\x72\x77\x96\x7d\xa8\x79\x46\x1d\xf7\x93\x63\x1d\xb7\x83\x93\xcb\x1d\xf7\x83\x07" -+"\x0b\x15\xf1\x1d\xa8\xae\xaf\x6d\xa9\x68\x1f\x0e\x15\xc3\x06\xf7\x22\x59\x1d\xc0\x8d\x08\x9e\x9f\xfb\xd0\xb5\x1d\x0b\x5d\x65\x65" -+"\x5d\x5b\xaf\x66\xba\xbb\xb1\xaf\xba\xbb\x65\xb1\x5c\x1f\x0b\xfa\x69\xf9\x38\x15\xfb\x4a\x72\x06\xc1\x88\x9a\x81\x6c\x1a\x7e\x88" -+"\x7c\x87\x7d\x1e\xfb\x04\xfb\xeb\xfb\x00\xf7\xe4\x05\x80\xad\x88\x97\x95\x1a\xa3\x9a\x94\xb7\x8e\x1e\x8d\x90\x8b\x8c\x91\x1f\xa4" -+"\xfb\xcc\x72\x07\xb4\x89\x9f\x82\x96\x73\xae\x2b\x18\xfb\x0a\xfb\xc8\xfb\x0c\xf8\x00\x05\x86\x9c\x89\x92\x94\x1a\xa8\x97\x94\xbf" -+"\x8f\x1e\xa4\xfb\xba\x72\x07\xb5\x85\x95\x82\x9c\x5a\xf7\x68\xfc\xee\x18\xa7\x06\xf7\x4e\xf8\x71\xf7\x3f\xfc\x71\x05\xa6\x06\xf7" -+"\x5c\xf8\xee\x98\xb3\xa1\xa0\xad\x8e\x19\x0b\xf7\xe8\xf7\xda\x15\xf7\x25\x75\x07\x7c\x85\x85\x86\x7e\x1b\x85\x82\x8d\x90\x7b\x1f" -+"\x96\x6b\x74\x8f\x74\x1b\x30\x49\x4d\x37\x49\xb4\x5d\xf0\x60\x1f\xd0\x6d\xa6\x72\x6b\x1a\x64\x6d\x71\x5e\x45\x5d\xb8\xe2\x76\x1e" -+"\x6f\xfb\x39\xa4\x06\xa1\x96\x91\x91\x94\x1b\x90\x93\x89\x87\x95\x1f\x7f\xa8\xbd\x80\xa8\x1b\xe6\xca\xc9\xe5\xd2\x65\xb6\x27\xb5" -+"\x1f\x47\xa8\x6f\xa4\xad\x1a\xac\xa7\xa4\xb1\xa6\xa5\x80\x76\xa1\x1e\xa0\x77\x96\x79\x9a\x5f\x08\x0b\x9b\x16\xf7\x77\xa4\x06\x3f" -+"\x93\x79\x9e\x8a\xd3\x08\xf8\x26\x07\xf8\x53\xfc\xb4\x05\xa7\xf8\xe1\x06\xc4\x98\x99\xcc\x94\x1e\xa4\xfb\x6b\x72\x07\xd4\x84\x9f" -+"\x76\x44\x1a\xfb\xc5\x07\xfb\xf1\xf8\x41\x05\xfb\x67\x72\x06\x9f\x9c\x7c\x52\xbb\x1f\xfc\x6e\x07\x8a\x50\x7b\x7e\x44\x83\x08\x0b" -+"\xf9\x12\xf7\x77\x15\x6e\x06\x6a\x3d\x77\x6c\x68\x6b\x08\x66\x62\x53\x79\x3d\x1b\x4e\x79\x98\xb6\x1f\xf8\x6c\x07\x8d\xd8\x99\x98" -+"\xe0\x8d\x08\xa4\xfb\xf1\x72\x07\xcd\x88\x9e\x7b\x8c\x57\x08\xfc\x78\x07\x8a\x57\x7d\x80\x44\x83\x08\x72\xf8\xd6\x07\x0b\x87\x1d" -+"\x0e\xf8\x78\xf8\x6f\x15\xf7\x6d\x6d\x07\x70\x83\x85\x84\x79\x1b\x82\x7f\x8e\x92\x76\x1f\x9c\x5d\x6b\x91\x64\x1b\xfb\x1c\x38\x3e" -+"\xfb\x13\x34\xbf\x4c\xf7\x0b\x52\x1f\xce\x6b\x05\xe3\x61\xa3\x71\x56\x1a\x46\x5a\x5f\x3e\x50\x5a\xa4\xbc\x65\x1e\x70\xb0\x7d\xac" -+"\x7a\xd1\x08\x6e\xfb\x8b\xa8\x06\xa5\x91\x93\x93\x9b\x1b\x93\x96\x88\x84\xa1\x1f\x7a\xbc\xb0\x84\xb7\x1b\xf7\x28\xef\xe0\xf7\x12" -+"\xd6\x5e\xd6\x4a\xab\x1f\xfb\x27\xd4\x05\x3a\xb3\x75\xa4\xbb\x1a\xc9\xb5\xb1\xcf\xb8\xb5\x78\x66\xaf\x1e\xad\x68\x9b\x6e\x9f\x4a" -+"\x08\x0b\xf9\x5f\xa4\x15\x79\x7e\x90\x99\x81\x1f\xfb\x5d\xf7\xb1\xc6\x9e\xa4\x97\xa7\xa5\x19\xa8\xa6\x9b\xb3\xb8\x1a\xf7\x08\x28" -+"\xc9\xfb\x4b\x1e\xfb\xd6\x72\x06\xd3\x87\x99\x7d\x8d\x41\x08\xfc\x4e\x07\x89\x41\x82\x81\x3e\x83\x08\x72\xf7\xe6\xa4\x07\x3f\x94" -+"\x81\x96\x89\xd3\x08\xf7\x58\xa6\x07\xf7\x63\xfb\xcd\x05\xf7\x61\x06\xfc\x4b\xf8\xec\x15\x91\x8f\x9a\x8e\x91\x1e\x95\x91\x9b\x90" -+"\xa4\x1b\xe7\xb0\x60\x22\x4b\x7c\x64\x6b\x76\x1f\x71\x7a\x69\x84\x3f\x8a\x08\x0b\xf7\xbb\xa3\x15\x4e\x8e\x80\x98\x8a\xca\x08\xf7" -+"\x51\x07\xbf\xa7\xb6\xac\x93\x94\x84\x7b\x96\x1e\x70\x9e\x9a\x82\xa5\x1b\xb0\xa5\xa7\xb1\xb9\x69\xac\x5c\x59\x65\x71\x47\x5c\x1f" -+"\xdd\xfb\x51\x73\x07\xb5\x86\x96\x7f\x42\x1d\x81\x80\x60\x84\x08\x73\xf7\x9e\x07\x0b\xf8\x30\xf7\x01\x15\x61\x66\x71\x7d\x62\x1b" -+"\x34\x54\xe2\xf7\x1c\xf2\xab\xca\xbf\x9b\x9a\x83\x80\x91\x1f\x90\x82\x8b\x8b\x61\x62\x1d\x33\xfb\x1c\x27\x21\xfb\x24\xfb\x1f\xe4" -+"\x29\xf7\x11\xd8\xc3\xaa\xd5\xc5\x1f\x0b\xf9\x0e\xf7\x85\x15\x71\x06\x5e\xfb\x3a\x54\x66\xfb\x65\x88\x08\x41\x06\xf8\x0f\xf9\x05" -+"\x05\x9b\xfc\xa0\x07\x76\xfb\x62\x05\xa7\x06\xbb\xf7\x1f\xb8\xaa\xf7\x27\x89\x97\x8c\xad\x8c\xb0\x8c\xfc\x12\xfd\x05\x18\x7b\xf8" -+"\xd8\x07\x0b\x15\x51\x5a\x5a\x53\x4f\xba\x5b\xc6\xc7\xba\xba\xc6\xc5\x5b\xbc\x44\x1d\x6f\x6b\x6c\x70\x71\x6a\x6c\x71\xa5\xab\xab" -+"\xa6\xa6\xaa\x1f\x0e\xf7\x0e\x07\xc2\x99\xa1\xaf\x9d\x96\x84\x7f\x86\x88\x85\x85\x81\x1e\x82\x7c\x87\x81\x80\x1a\x6c\xa5\x73\xad" -+"\x0b\xd3\x1d\x8f\x7e\x9b\xb0\x1a\xf7\x9f\x07\x0b\xf9\x44\xd6\x1d\x0b\x9f\x93\x95\xa2\x1a\xa6\x78\x9c\x6e\x78\x7a\x82\x78\x0b\x77" -+"\x07\xa8\x8a\x9b\x76\x89\x66\x08\xfb\xba\x07\x0b\xa0\xa5\x8e\x08\x9f\xfb\x61\x77\x07\xa8\x0b\x08\xa8\xf7\x43\x71\x06\x0b\x3a\x08" -+"\xa8\xf7\x31\x71\x06\x0b\x07\x89\xb0\x9b\xa0\xa9\x8c\x08\x9f\x0b\x8c\x61\x08\xfb\xba\x07\x8a\x61\x0b\x08\x72\xf7\xe5\xa4\x07\x0b" -+"\x51\x1f\x8a\x5b\x15\xab\xa6\x0b\x82\x78\x7a\x1e\x0e\x1f\xf7\x22\x33\x05\x0e\xf9\x25\xf7\x2c\x15\x50\x4d\x6b\x73\x5a\x78\x08\x7f" -+"\x6e\x6a\x85\x6f\x1b\x49\x4c\xae\xbf\x6e\x1f\x6e\xc0\x7d\xd2\xf0\x1a\xf7\x63\xcb\xf7\x02\xf7\x0c\xba\xb5\x79\x65\xb7\x1e\xb6\x65" -+"\xa3\x68\xad\x40\x08\xa4\xf7\x7e\x70\x06\x67\x7c\x82\x81\x76\x1b\x82\x7d\x8f\x95\x75\x1f\xa3\x52\x5a\x96\x5b\x1b\xfb\x5c\xfb\x29" -+"\xfb\x2d\xfb\x61\xfb\x63\xf7\x26\xfb\x25\xf7\x64\xf7\x07\xcf\xae\xf7\x03\xf0\x1f\x0b\xf8\x95\xa4\x15\x7e\x1d\xf7\xf9\x07\x0b\x15" -+"\x58\x1d\x9f\xfb\xd0\x77\x9e\x06\xc0\x89\x9a\x78\x89\x51\x08\xfc\x67\x21\x1d\x78\x77\xf7\xd0\x06\x0b\x15\xf3\x8f\x1d\xf8\xa1\x07" -+"\x89\xc5\x9a\x9e\x2c\x1d\x06\x0e\xe0\x1d\x6f\x1b\x80\x89\x8c\x96\x72\x1f\x63\x9d\x05\x98\x6e\x73\x91\x76\x1b\x4e\x67\x64\x35\x79" -+"\x1f\x0e\xb0\x1d\xa8\xae\xaf\x6d\xa9\x68\x1f\x0e\xcf\x86\x99\x7c\x8d\x43\x08\xfc\x4e\x07\x8a\x4d\x7d\x75\x5e\x87\x08\x88\x81\x89" -+"\x89\x80\x1f\xf7\x8a\x0b\x22\x1d\xac\x9f\x92\x95\xa2\x1a\xa5\x78\x9d\x6e\x78\x60\x1d\xf7\x11\xf8\x35\x15\x5d\x65\x65\x5d\x5b\xaf" -+"\x66\xba\xbc\xb0\xaf\xbb\xb9\x65\xb2\x5c\x1f\x0e\x77\x98\x06\xc0\x89\x9b\x78\x89\x51\x08\xfb\x27\x07\x28\xc4\x5a\xf7\x06\xc4\x0b" -+"\xa3\x1d\xed\x05\x0e\x2d\x08\xa1\xf7\x4a\xfc\x9b\x77\x9d\x06\xc1\x89\x9a\x79\xeb\x1d\x55\x88\x08\x79\x77\xf8\xa7\x06\x0b\xfb\x49" -+"\x54\x90\x77\x05\x8e\x93\x90\x8c\x8e\x1b\xa3\x96\x77\x5f\x1f\x0b\xfb\x54\x73\x07\xb9\x82\x91\x85\x8c\x60\x08\x0b\x95\x95\x1e\xa1" -+"\xa1\xa3\x97\xa2\x1b\xae\x9c\x70\x53\x1f\xfb\x86\x07\x8a\x65\x7e\x7b\x6a\x88\x08\x73\xf7\x7f\x07\x0b\x1a\xca\x67\xb5\x55\x5d\x6e" -+"\x6e\x5e\x60\xa5\x6f\xb3\x8f\xe3\x1d\x0b\x78\x61\x1d\x9e\xc0\x8d\x08\x9e\x0b\xc5\x1d\x0e\xfb\x52\x73\x07\xac\x8a\x9c\x78\x8c\x65" -+"\x08\x0b\x06\xa8\x8c\x9c\x75\x89\x66\x08\x0b\x06\x38\x68\x84\x72\x66\x1f\x4a\x60\x69\x0b\x07\x66\x8d\x7b\x75\x6d\x1b\x0b\xbe\xba" -+"\xa8\xb9\xa4\x1e\x75\x99\x86\x89\x8a\x8a\x83\x87\x19\x81\x0b\x1e\xad\xa6\xad\x9c\xb3\x1b\x0e\x7a\x45\x1d\x20\x1d\xf8\x67\x07\x89" -+"\xc5\x9a\x0b\x1a\x59\x8c\x9c\x75\xb1\x1b\xb5\xa5\xa3\xb2\xc9\x48\xbb\x0b\xa3\x15\x69\x8f\x7e\x9a\xb1\x1a\xf8\x10\xfb\x54\x73\x07" -+"\x0b\x15\xa7\x8f\x9e\x9e\xa5\x1b\x98\x0b\x52\x5f\xc4\xfb\xe1\x06\x8a\x5f\x0b\x77\x9e\x06\xbf\x89\x9b\x0b\x8b\x8c\x91\x1e\x8c\x8e" -+"\x8d\x8b\x8d\x1b\x96\x93\x82\x0b\x15\x8d\x95\x91\xae\x05\x9d\x0b\x65\x77\x7b\x7d\x76\x1b\x6f\x80\x9c\xb3\x1f\x0b\xf7\xe0\xf7\x97" -+"\x15\xee\xfb\x49\x05\x94\x7c\x8d\x84\x82\x1a\x7b\x7b\x80\x70\x1e\x7c\x77\xf7\xb9\x9f\x7f\x06\x71\x89\x6a\xb0\x5f\xda\xfb\x23\xf7" -+"\x91\x18\xea\xf7\x1e\xcc\xe7\xa3\x9d\xc9\x92\x19\x9f\xfb\x75\x77\x97\x07\xaa\xa3\x77\x72\x7a\x83\x78\x7b\x74\x1f\x37\xfb\x0b\x3b" -+"\xf7\x26\x05\x7c\xa8\x87\x95\x94\x1a\x9c\x9c\x97\xa4\x1e\x9c\x9f\xfb\xc1\x77\x06\xbd\x88\xa7\x6f\xc5\x23\xf7\x0b\xfb\x6b\x18\xfb" -+"\x05\xfb\x37\x05\x3d\x55\x65\x6c\x63\x1b\x81\x77\xf7\x79\x9f\x78\x06\x66\x74\x9a\xa4\x98\x91\x9a\x9a\xa1\x1f\x0e\xf7\xbb\x15\x9f" -+"\xa6\xf7\x1a\xfb\x7e\x05\x99\x73\x91\x7d\xcc\x1d\x84\x91\x68\xc8\xfb\x65\xf7\xf5\x18\xcc\xdc\x05\xec\xd9\xad\xa2\xd3\x1b\x9f\xfb" -+"\x7f\xa7\x1d\x9d\xc0\x8d\x08\x93\x9f\xfb\xc5\x77\x9e\x06\xc0\x89\x9a\x79\x89\x53\x08\xfc\x6a\x21\x1d\x78\x77\xf7\xc5\x9f\x83\x20" -+"\x1d\x0b\xf8\x95\xf8\x61\x15\xfb\x6a\x74\x06\xa9\x86\x9c\x87\x90\x88\x08\x8f\x88\x8e\x85\x86\x1a\x81\x81\x79\x80\x80\x1e\xfb\x14" -+"\xfb\x14\x05\xf8\x43\xfb\x4f\x73\x07\xab\x8a\x9a\x79\x8c\x64\x08\xfc\x92\x07\x8a\x63\x7b\x78\x6c\x8a\x08\x73\xf7\x83\xa3\x07\x5c" -+"\x92\x87\x91\x8a\xba\x08\xf7\x06\x07\xa2\xa3\xea\xfb\x1a\x05\x9d\x72\x91\x7f\x83\x1a\x7f\x7d\x85\x6f\x8a\x1e\x73\xf7\x7e\xa3\x07" -+"\x80\x86\x8e\x97\x82\x1f\xfb\x56\xf7\xa0\xef\xf4\xa5\x9d\xca\x93\x19\x0b\x9e\x1d\xe0\xf7\x0d\x1a\xf7\x66\xca\xf7\x02\xf7\x0d\xba" -+"\xb5\x79\x65\xb6\x1e\xb7\x65\xa2\x68\xae\x40\x08\xa4\xf7\x7e\x70\x06\x67\x7c\x82\x81\x76\x1b\x82\x7d\x8f\x95\x75\x1f\xa3\x51\x5b" -+"\x96\x5a\x1b\xfb\x5b\xfb\x29\xfb\x2d\xfb\x62\xfb\x63\x88\x1d\x0b\xf7\xbe\xf7\x55\x15\x50\xf7\x21\x05\x7e\xab\x86\x9e\x9a\x1a\x9f" -+"\x96\x97\x9e\x1e\x94\x9f\xfb\x74\x77\x06\xac\x83\x92\x81\xb6\xfb\x01\xf7\x09\xfb\xb0\x18\x6e\x40\x05\x66\x7c\x7d\x79\x7d\x1b\x84" -+"\x86\x90\x92\x1f\x92\x07\x8c\x90\x8b\x8f\x8e\x1a\xa8\x74\xa1\x6e\x69\x74\x72\x67\x62\xaf\x6a\xba\xba\xb1\xad\xcb\xa3\x1e\xf7\x1d" -+"\xf8\x05\xb8\xf7\x0b\x90\x92\xb0\x8c\x19\x9f\xfb\x24\x77\x97\x07\x9e\x99\x7e\x78\x7a\x85\x6e\x81\x6f\x1f\x0b\xf7\xa4\x71\x1d\x0b" -+"\x15\xfb\x1f\x06\x71\x3a\x05\xd3\x65\x6b\xa1\x49\x1b\xfb\x14\x2d\xfb\x01\xfb\x28\xfb\x1a\xd6\x34\xf7\x06\xda\xcb\xb0\xd0\xb4\x1f" -+"\x94\x63\x92\x78\x9b\x76\x08\x7c\x96\x96\x81\x93\x1b\x8e\x91\x8d\x8e\x92\x1f\xec\xb3\x80\xaa\x05\x87\x7f\x85\x8a\x83\x1b\x61\x6b" -+"\xb0\xd4\x79\x1f\xfb\x02\x9d\x15\x83\x67\x70\x4c\x79\x71\x08\x7a\x80\x75\x7f\x7a\x1b\x5f\x77\xbf\xf7\x04\xf7\x1f\xab\xde\xc2\xb2" -+"\xa5\x61\xfb\x08\xac\x1f\x0e\xf7\x33\x15\xf8\x28\x07\x89\xc5\x9a\x9e\x2c\x1d\x77\xf7\xd0\x9f\x78\x06\x57\x8e\x7c\x9b\x8c\xbf\xf7" -+"\x8d\xf8\x32\x18\xfc\x2d\x96\x1d\x9f\xfb\xcf\x77\x9e\x06\xbc\x8a\x9e\x77\x89\x5c\x08\x0b\xf8\x6c\xf7\x60\x15\xfb\x4c\xf8\x5e\x05" -+"\xfb\x91\x77\x9e\x06\xc0\x89\x9a\x78\x89\x51\x08\xfc\x67\x21\x1d\x78\x77\xf7\x5f\x9f\x7e\x06\x51\x8c\x7a\x9c\x8e\xc5\x08\xf8\x9e" -+"\x07\xf7\x91\xfc\xfe\x05\x9c\x06\xf7\x95\xf8\xe5\x05\xfc\x85\x07\x8d\x53\x7b\x7a\x57\x88\x08\x71\x77\xf7\xd7\xb3\x1d\x9f\xfb\x84" -+"\x06\x0e\xf7\xb0\xf7\xd3\x15\xa6\x06\xb6\xa5\x77\x5a\x9f\x1f\x94\x75\x8f\x79\x72\x1a\x83\xa2\xf7\xd7\x74\x07\x82\x2c\x6a\x5d\x4f" -+"\x89\x08\x70\xf7\xa3\xf7\x06\x06\xe5\x88\xbf\x58\x95\x53\x1d\xab\xf7\x5f\x05\x72\x06\x74\xfb\x03\x44\x53\xfb\x09\x8c\x08\x65\x06" -+"\x5e\x7c\x9d\xc0\x8d\x1f\x0b\xf8\x05\xf7\x2b\x15\x43\x7b\x65\x63\x56\x1b\x57\x68\xb7\xcb\xa0\x8e\x9b\x93\xa0\x1f\x78\xa9\xa5\x82" -+"\xa7\x1b\xb2\xa6\xa1\xa9\xa7\x74\x9e\x69\x6f\x73\x85\x7d\x69\x1f\x7e\xa0\x86\x9a\x9c\x1a\xb0\xab\xa5\xb9\xb4\xa8\x83\x75\xb0\x1e" -+"\x9e\xe6\x05\x9d\x54\x6a\x91\x5a\x1b\xfb\x01\x45\x5d\x45\x5f\xa2\x6b\xc0\x6f\x1f\x4c\x6c\x70\x68\x56\x1a\x3d\xcb\x59\xf0\xf3\xcc" -+"\xbf\xf1\xa1\x1e\x0b\x15\x66\x8d\x7e\x9a\x8c\xb3\x08\xf7\x8f\x07\xe1\x56\xc2\x39\x4f\x5d\x6f\x50\x66\x1e\xd6\xfb\x53\x73\x07\xb7" -+"\x84\x93\x82\x8c\x60\x08\xfb\xba\x3a\x1d\x8e\x92\x96\x56\x1d\x0b\xf8\x6d\xcb\x15\x81\x81\x05\x88\x88\x88\x8a\x86\x1b\x7d\x84\x93" -+"\x9c\x1f\xf7\x99\x07\xe0\x3f\xbf\xfb\x0e\xfb\x05\x3f\x58\x40\x61\xa3\x73\xb4\xb3\xa7\xa3\xad\x99\x86\x98\x7e\x9b\x1e\x82\x95\x88" -+"\x91\x91\x1a\xa0\xa6\x9b\xaf\xc6\xa4\x70\x4e\x1e\x42\x07\xfb\x0b\x67\x5a\x78\x66\x71\x08\x5f\x6d\x77\x69\x60\x1a\x4e\xb9\x5e\xcc" -+"\xc4\xb9\x9f\xbd\xc2\x1e\x0b\xf8\x22\xf7\x0e\x15\x5c\x64\x6d\x79\x61\x1b\x65\x6e\x9c\xae\x77\x1f\x78\xaa\x84\xac\x87\xce\x08\xf7" -+"\x8b\x06\x85\xdc\x7c\xba\x6c\xb1\x08\xb0\x6b\x5e\x9f\x54\x1b\xfb\x0d\x38\x2a\xfb\x23\xfb\x23\xdb\x2d\xf7\x0e\xda\xbb\xaa\xe7\xcb" -+"\x1f\xfb\x95\xf7\x3b\x15\xf7\x0a\x8e\x9c\xb2\xbc\x1b\xa7\x9d\x7c\x6c\x93\x1f\x8f\x78\x8e\x71\x8c\x58\x08\x7c\x07\x0b\xf8\x2f\xf7" -+"\x69\x15\xbc\xfb\x06\x05\x93\x76\x8f\x7f\x82\x1a\x71\x79\x80\x60\x1e\x72\x77\xf7\xc2\x9f\x82\x06\x73\x8d\x84\x92\x7b\xae\xfb\x95" -+"\xf8\xf0\x18\x6f\x06\xfb\x61\xfc\xb8\x76\x4a\x6d\x6a\x64\x89\x19\x77\xf7\x65\x9f\x75\x07\x68\x70\x9e\xa3\x94\x8e\x98\x93\xa1\x1f" -+"\xb1\xf5\x05\xe2\xf7\x82\x15\xdf\xfb\x5e\x05\xfb\x31\x06\x0b\xf7\x90\xf8\x5d\x15\xfb\x09\x35\x27\xfb\x1b\x47\xa3\x4d\xb5\x60\x1f" -+"\x67\xae\xc0\x74\xb8\x1b\xc0\xc4\xa5\xb6\xb0\x1f\xb0\xb4\x9f\xc8\xce\x1a\xf7\x17\x35\xed\xfb\x06\x1e\x8a\x65\x15\xa2\x9f\x7a\x70" -+"\x94\x1f\x95\x70\x8e\x69\x4c\x1a\xfb\x3b\x79\x53\x55\x62\x79\xba\xf4\xf7\x4b\x9b\xc3\xbd\x1e\x0b\xbf\x96\xa2\x94\xa3\x9f\x08\xac" -+"\xa4\x9f\xb6\xb5\x1a\xc2\x6b\xbc\x51\xaa\x1e\xa2\x60\x5e\x94\x43\x1b\x4f\xfb\xe9\x15\xa3\x06\xe9\xba\x5c\x2c\x33\x60\x56\x44\x65" -+"\x7e\x99\xb2\x1f\xf8\xa8\x04\x9e\x06\xe1\xbc\x5c\x38\x36\x5c\x5b\x38\x87\x81\x8b\x8c\x81\x1f\x0e\xf7\x62\x15\x6f\x68\x7b\x76\x86" -+"\x84\x08\x65\x56\x7c\x71\x7a\x1a\x83\x8f\x88\x93\x94\x91\x8e\x99\x9b\x1e\x91\x90\xf7\x5f\xf7\x38\x05\x8f\x07\xfb\x62\xf7\x3a\x05" -+"\x9a\x78\x7f\x93\x86\x1b\x84\x86\x85\x82\x77\xa6\x61\xbe\x4e\x1f\x98\x7c\x97\x7b\x9a\x75\x08\x0b\xf7\x65\xf8\x5d\x15\x54\x1d\xfb" -+"\x6e\x07\x57\x8d\x7f\x99\x73\x1e\x7a\x95\x96\x82\x95\x1b\x90\x92\x8d\x8e\x93\x1f\xf7\x11\xbd\x84\xa1\x05\x86\x7d\x82\x88\x84\x1b" -+"\x70\x88\x96\xdb\x1f\x0b\x75\x1a\x75\x7e\x82\x68\x89\x1e\x86\x8a\x7e\x8a\x7d\x8a\x08\x72\xf7\xd8\x07\xb2\x1d\x0b\x36\x8f\x80\x96" -+"\x89\xd8\x08\xf8\xa3\x95\x1d\xfc\xa3\x07\x89\x3f\x80\x81\x37\x85\x08\x72\x0b\xf9\x2a\x15\xfc\x97\xb5\x1d\x77\xf7\xdd\x9f\x6b\x20" -+"\x1d\xf8\xa6\xf7\x0d\x07\xdb\x8e\xbc\x59\x90\x2f\x08\xa8\x06\x0b\x15\xb0\xa4\x9e\x98\xaa\x1b\xb3\xa4\x73\x66\x63\x74\x76\x4e\x79" -+"\x1f\x81\x07\xeb\x6c\xad\x6b\x51\x1a\x64\x72\x71\x65\x7b\x7f\x91\x9f\x76\x1e\x6d\xa5\x83\x8f\x6e\x8e\x08\x70\x82\x7e\x7e\x78\x1a" -+"\x6a\xb2\x76\xc8\x0b\x15\xd2\x1d\x9e\x2c\x1d\x77\xf7\xd0\x06\x0e\xf7\xc5\xf8\x61\x15\x2d\xf7\x3d\x72\x06\x4e\x35\x63\x5e\x4a\x54" -+"\x08\x70\xbf\xfb\xd8\x07\x4a\xb6\x63\xd0\xce\xb3\xa9\xdd\xb4\x1e\x72\x96\x05\x69\x1d\xf7\xc1\xe9\x07\x0b\x8c\x08\x21\x06\xf4\x8f" -+"\xae\x9a\xa6\x1e\xa1\x98\xa1\x96\xad\x1b\xa9\xa3\x7f\x7c\x8a\x8a\x88\x8a\x88\x1f\x87\x80\x88\x7f\x80\x1a\x6b\xa5\x75\xb1\xb1\xa6" -+"\xa3\xaf\xc4\x47\xae\xfb\x01\x0b\xf9\x41\xf9\x75\x15\x59\x06\x4c\x2e\x05\xad\x4b\x5a\x98\x46\x1b\xfb\x63\xfb\x28\xfb\x29\xfb\x63" -+"\x59\x93\x5d\x9c\x5f\x1f\xa3\x4f\xa3\x6b\xc6\x58\x35\xfb\x12\x18\xbd\x06\xd2\xf3\x05\x0b\xf7\xf8\x15\xf7\x08\xce\xbd\xcd\xe1\x1a" -+"\xd0\x62\xba\x4f\x59\x6a\x6b\x59\x5b\xa8\x6c\xb8\x90\x90\x67\x1d\x7e\x65\x69\x61\x40\x57\x1f\x0b\xf8\x06\xa4\x15\x41\x8f\x77\x99" -+"\x8a\xc0\xa1\x1d\x89\x58\x79\x7c\x42\x86\x08\x72\x0b\x22\x1d\xac\x9f\x92\x95\xa2\x1a\xa5\x78\x9d\x6e\x77\x7b\x82\x78\x7a\x1e\x0b" -+"\xf7\x26\xfb\x24\xf7\x66\xf2\xf7\x00\xa3\xb1\xcc\x1f\xf7\x13\x07\x8d\xd4\x96\x97\xd4\x92\x08\x0b\xfc\x1d\x8e\x1d\x0b\x15\xf4\xc6" -+"\xb8\xc6\xd9\x57\x1d\x95\x92\x83\x80\x68\x6c\x65\x48\x5c\x1f\x0e\xcc\x1d\x85\x91\x67\xc8\xfb\x65\xf7\xf5\x18\xcc\xdc\x05\xec\xd9" -+"\xae\xa2\xd2\x1b\x9f\xfb\x7f\x77\xa1\x07\xa6\x9b\x7f\x0b\x15\xf7\x08\xce\xbd\xcd\xe1\x1a\xd0\x62\xba\x4f\x59\x6a\x6b\x58\x5d\xa8" -+"\x6b\xb7\x90\x91\x67\x1d\x7f\x64\x69\x61\x40\x57\x1f\x0b\xf9\x45\xa4\x15\x5f\x7f\x99\xf7\x11\x56\x9b\x1d\x9b\x90\x0b\x15\x50\x8c" -+"\x80\x94\xb9\x1a\xf7\xe5\x80\x07\xfb\x38\x4a\x05\x76\x07\x95\xa9\x9d\x90\x93\x1b\x9b\x92\x7e\x6f\x1f\xfb\x71\x07\x5a\x8c\x7d\x80" -+"\x4b\x1b\x77\xf7\x87\x07\x0b\xc6\xb8\xc6\xd9\x57\x1d\x95\x92\x83\x80\x67\x6d\x66\x47\x5c\x1f\x0e\xa4\x15\x45\x93\x7a\x98\x8a\xbd" -+"\x08\xf8\x78\x07\x8c\xbe\xa0\x9c\xcd\x8e\x08\xa4\xfb\xe8\x72\x07\xcf\x88\x9f\x7b\x8d\x57\x08\xfb\x63\xfb\x85\xf7\x63\x07\x8c\x0b" -+"\x4d\x1b\x4b\x6c\xa5\xc8\x7f\x1f\x5f\x06\x8e\x54\x92\x72\xa0\x6e\x08\x68\xa4\xb5\x78\xc0\xca\x1d\x64\x1d\x93\x88\x78\xb6\xb8\x1d" -+"\x7c\x7e\x70\x1b\x0b\x15\xf7\x98\x57\x07\x64\x5d\x30\xfb\x02\x6c\x62\x61\x4d\x19\x48\xf7\x35\x34\xe9\xe2\xb4\xcd\x07\xfb\x1a\x16" -+"\xfb\x1d\x06\xf7\x1d\xf7\x43\x05\x0b\xa3\x15\x6b\x7b\x9f\xb3\x8a\x1f\xf8\xe4\x5a\x1d\xfc\x92\x07\x8a\x65\x79\x76\x6b\x8a\x08\x73" -+"\xf7\x83\x07\x0b\x07\xf7\x0f\x87\xbf\x5d\x9c\xfb\x0b\x08\xa8\x06\x89\xf7\x5d\x05\xfc\xec\x06\x88\xfb\x5d\x05\xa8\x06\x9c\xf7\x0b" -+"\xbf\xb9\xf7\x10\x8f\x08\x0b\x21\x1d\x78\x77\xf7\xcf\x9f\x79\x61\x1d\x9e\xc0\x8d\x08\x9d\x0b\xf7\xb8\xfb\x4c\x15\x4f\x8d\x7b\x9e" -+"\x89\xd0\x08\xf7\x21\x07\x5c\xbb\xa4\x7e\xb8\x1b\xf7\x05\xda\xf3\xf7\x28\xf7\x20\x40\xe9\xfb\x03\x0b\xa9\x1d\xca\xfb\x31\x22\x1d" -+"\x0b\xca\xf7\x0a\xf7\x06\xc6\xb0\x72\x4b\xae\x1e\x9f\x5e\x15\x9f\x4a\x91\x5b\x3b\x1a\xfb\x64\x4e\xfb\x01\xfb\x08\x4c\x64\xa5\xcb" -+"\x69\x1e\x0b\x79\x6f\x1a\x5c\xb7\x69\xc9\x5e\x1d\x77\x81\x88\x7b\x1b\x62\x75\xa1\x0b\x1f\xfb\x73\xf8\xa2\x05\x6f\x06\xfb\x72\xfc" -+"\xb8\x65\x2d\x7f\x7d\x5b\x82\x19\x72\xf7\x5f\xa4\x07\x4f\x8f\x75\x96\xa5\x1a\x0b\x8c\x08\x9f\xfb\x66\x3d\x1d\x8d\x66\x7b\x76\x6e" -+"\x8a\x08\x77\xf7\x66\x9f\x07\x0b\xe2\x15\xfb\x1d\xf7\x31\x05\x9d\x7b\x79\x95\x77\x1b\x71\x76\x77\x72\x77\x96\x7e\xa8\x78\x46\x1d" -+"\x15\xfb\xeb\x72\x06\xdf\x87\x9a\x81\x8d\x53\x08\x22\x07\x58\x6e\x75\x48\x4c\x61\x9e\xb6\x6a\x1e\x5f\xc3\x76\x0b\xf7\xfc\x15\xf3" -+"\xf7\x53\x05\xa2\xb5\x96\xa8\x9e\x1a\xa8\x74\xa0\x6b\x4c\x63\x55\x34\x8a\x1e\x88\xfb\x52\x05\x0b\x78\x7e\x92\x95\x90\x8e\x92\x91" -+"\x95\x1e\x95\x9a\x8f\x97\x95\x1a\xa9\x71\xa3\x6a\x66\x72\x72\x67\x50\xc5\x62\x0b\x08\xf8\x78\x07\x8c\xc0\xa1\x9b\xd3\x8d\x08\xa4" -+"\xfb\xf2\x72\x07\xd1\x88\xa0\x7b\x8d\x57\x08\xfc\x78\x07\x0b\xb9\xf9\x2a\x15\x77\x9e\x07\xbd\x1d\x0b\xf7\x44\x05\x2f\xea\x1d\x0b" -+"\xe2\x1a\xf1\x3f\xc9\xfb\x13\x67\x78\x87\x76\x58\x1e\x83\x78\x82\x89\x81\x1b\x76\x83\x95\xa4\x8a\x1f\x0b\xfb\x43\xa8\x06\x90\xe7" -+"\xbb\xbd\xdc\x88\x08\xb6\xfc\xa6\x06\x8d\x53\x7c\x7a\x56\x88\x08\x6e\x77\x0b\x6a\x1b\x69\x72\x95\xa0\x7c\x1f\x7f\x9b\x88\x9d\xb4" -+"\x1a\xf7\x1d\x07\x88\xc5\x9b\x9e\xc0\x8d\x08\x0b\x77\xa1\x07\xa6\x9b\x7f\x77\x7d\x84\x7e\x78\xf2\x1d\x89\xc3\x9a\x0b\xf7\x8c\x07" -+"\xe1\x56\xc2\x39\x56\x66\x77\x51\x57\x1e\x0b\x22\x1d\xac\xa0\x92\x94\xed\x1d\x7b\x1e\x0b\x9d\xbf\xc9\xac\x9d\x7a\x60\x98\x1e\x96" -+"\x51\x15\x8c\x5d\x8c\x71\x6a\x1a\xfb\x2a\x77\x57\x51\x0b\xfc\x3f\x15\xb4\xa6\x9d\xa7\xb1\x1a\xc2\x5b\xb3\x4a\x46\x57\x5e\x4f\x61" -+"\x9d\x6b\xb6\x66\x1e\x0b\x83\x05\x8e\x96\x93\x8c\x94\x1b\xa8\x9c\x7e\x74\x70\x77\x7d\x64\x7b\x7e\x8e\x94\x73\x1f\x0b\x07\x8d\x67" -+"\x7c\x76\x6e\x8a\x08\x77\xf7\x77\x07\xf7\x02\xc7\xb7\xdc\xe3\x4a\xbc\xfb\x0a\x0b\x86\x85\x8b\x8a\x85\x1e\x8a\x88\x89\x8b\x89\x1b" -+"\x80\x83\x94\x97\xb3\xad\xb4\xd6\xbf\x1f\x0b\x15\xa7\x8e\x9f\x9e\xa4\x1b\x99\x91\x89\x77\xb8\x1f\xa8\x7e\x05\x83\x9d\xa5\x85\x9f" -+"\x1b\x0b\xaf\xa7\xa7\xaf\xaf\x6e\xa9\x68\x1f\xf7\x65\x16\xf1\x1d\x0b\x15\x8c\x93\x8e\x8b\x91\x1b\xbd\xa3\x6a\x47\x50\x75\x6b\x63" -+"\x75\x84\x93\xa3\x1f\x0e\xfc\x88\xf7\x80\x15\xe9\xf7\x87\xf0\xfb\x87\x05\x0b\x9f\x58\x1d\x0b\xf0\x1d\x8d\x54\x92\x72\xa0\x6f\x08" -+"\x67\xa5\xb4\x78\x0b\x66\x1d\x78\x89\x51\x08\xfc\x67\x21\x1d\x78\x0b\x07\x8d\x66\x7b\x76\x6e\x8a\x08\x77\xf7\x6c\x9f\x87\x07\x6d" -+"\x7b\xa1\xb0\x8d\x1f\x0b\x8d\x67\x7b\x77\x6d\x89\x08\x86\x77\xf7\x67\x9f\x06\x71\x90\x7f\x9f\x8c\xac\x08\x0b\x1f\xa8\x7e\x05\x83" -+"\x9e\xa5\x85\x9e\x1b\xc4\xb0\xb3\xe2\xa2\x1f\x60\x06\x67\x7f\x0b\xfb\x10\x08\xa2\xf7\xe6\x74\x06\x6f\xfb\x15\x81\x82\xfb\x09\x80" -+"\x08\xf7\x8c\x07\x0b\x7f\x7e\x1f\xfb\x10\xfb\x1e\x05\xf7\x15\x07\x89\xad\x98\xa0\xa4\x8f\x08\x9f\x0b\x8a\x5f\x80\x7f\x5e\x87\x08" -+"\x73\xf7\x87\xa3\x07\x63\x8d\x85\x96\x8a\xcd\x08\x0b\x1f\xf7\x05\x41\x1d\x07\x5f\xfb\x76\x15\x8c\x93\x0b\xbf\x89\x9b\x78\x89\x50" -+"\x08\xfc\x66\x21\x1d\x78\x77\x0b\x5a\x62\x6d\x79\x60\x1b\x64\x6e\x9d\xae\x76\x1f\x79\xab\x83\xac\x87\xd0\x08\x0b\x06\xfb\x04\x28" -+"\xfb\x04\xee\x05\x53\x06\xf7\x0e\xfb\x44\x05\xe7\x06\x0e\x91\x2b\x08\x9a\x33\x15\x5e\x66\x66\x5f\x5d\xaf\x66\xb9\xb8\xb0\xb0\xb8" -+"\x0b\x15\x70\x74\x74\x71\x6f\xa2\x74\xa6\xa6\xa2\xa2\xa6\xa6\x74\xa2\x70\x1f\x0b\x22\x1d\xab\x9f\x93\x95\xa2\x1a\xa5\x78\x9d\x6e" -+"\x77\x0b\x22\x1d\xac\x9f\x92\x95\xa2\x1a\xa6\x78\x9c\x6e\x77\x0b\x16\x6d\x74\x74\x6e\x6e\xa2\x74\xa8\xa7\xa3\xa3\xa7\xa7\x74\xa3" -+"\x6f\x1f\x0b\xe3\x05\xac\xa0\x92\x94\xa2\x1a\xa6\x78\x9c\x6e\x77\x7a\x82\x78\x7b\x1e\x0b\xbd\xdb\x88\x08\xa6\xfc\xa6\x06\x8d\x53" -+"\x7c\x7a\x56\x88\x08\x78\x77\x0b\x65\x6c\x6c\x65\x64\xaa\x6c\xb2\xb0\xab\xaa\xb1\xb2\x6c\xaa\x64\x1f\x0b\x08\x9e\x9f\xfc\x44\xfb" -+"\x43\xa8\x06\x90\xe7\xbb\xbd\xdc\x88\x08\x0b\x77\x07\xa5\x87\x98\x76\x89\x69\x08\xfb\xe4\xfb\x04\xf7\xe4\x07\x0b\x1b\xc3\xb3\xd9" -+"\x1d\x82\x42\x1d\x84\x83\x5e\x81\x08\x73\x0b\x84\x1a\x7c\x7b\x83\x6e\x1e\x73\x77\xf7\xbb\x9f\x06\x69\x8c\x0b\x15\xfb\x08\x48\x59" -+"\x4a\x34\x1a\x46\xb4\x5c\xc7\xbd\xac\xab\x0b\x95\x93\x1a\x97\x94\x92\x9b\x1e\x9f\x9f\xfb\x41\x77\x06\xc1\x0b\xa5\xb4\x78\xc1\x1b" -+"\xc2\xb4\x9f\xb4\xa5\x1f\x9c\xa5\x92\xa4\x0b\xf7\xec\x16\xf8\xca\x06\xb4\xf7\x67\x05\x74\x06\x83\x6e\x69\x0b\x78\x08\x3c\x70\x63" -+"\x64\x58\x1a\x62\x9d\x79\xcb\x74\x1e\x4c\x0b\x78\x61\x1d\x0b\x07\x8a\x60\x83\x82\x5f\x83\x08\x73\xf7\x85\xa3\x07\x67\x0b\xb0\x8a" -+"\x19\x9f\xfb\x25\x77\x97\x07\x9f\x99\x7d\x78\x7b\x0b\xf7\xb3\xf7\xb3\x15\xfb\x87\xfb\x08\xf7\x87\x06\x0e\x15\xfc\x4d\xfd\x50\x05" -+"\xc5\x06\xf8\x4b\xf9\x50\x05\x0b\x1b\x7b\x78\xf7\xb8\x9e\x7a\x06\x55\x77\x9f\xc2\x1f\x0b\xf8\x61\x15\xfb\x2b\x73\x06\xb6\x89\x97" -+"\x84\x73\x1a\x0b\x9f\xb4\xa5\x1f\x9c\xa5\x92\xa4\x91\xbe\x08\x0e\x79\x1f\xf7\x1f\x35\x05\x0e\x83\x1a\x7c\x7b\x83\x6e\x1e\x73\x77" -+"\xf7\x1b\x06\x0b\x08\xfc\x78\x07\x89\x56\x7d\x7f\x43\x85\x08\x72\x0b\xae\x1a\xca\x6a\xb5\x5a\x5a\x6a\x61\x4c\x71\x90\x0b\x5c\x1a" -+"\x4a\xbd\x5f\xd7\xd3\xbe\xbe\xd3\xb8\x7b\x0b\x73\x70\x77\x61\x1b\x49\x60\xcb\xf3\x87\x1f\x89\x0b\x1f\x60\x06\x67\x7e\x7d\x7e\x0b" -+"\x06\x6e\xfb\x66\x05\xd9\x06\xa8\xf7\x66\x05\x0b\x07\x89\xae\x99\x9f\xa5\x8f\x08\x9f\xfb\x5c\x0b\x90\x8b\x8c\x90\x1e\x8c\x8e\x8e" -+"\x8b\x8c\x1b\x0b\x1f\xf8\x48\x07\x8d\xd5\x99\x9a\xd4\x8e\x08\x0b\xa4\xc8\x7f\x1f\x60\x06\x8e\x55\x92\x73\x9f\x0b\x37\x49\x2c\x68" -+"\x97\x6b\xa3\x6f\x1f\xa1\x72\x0b\xc0\xa6\xbc\xa7\x1e\x9e\xab\x93\xb1\xc6\x1a\x0b\xf8\x61\xf8\xb9\x15\x5d\x06\x4f\x26\x05\x9d\x0b" -+"\x76\xa8\x4e\xf7\x30\xfb\xc2\x18\xfb\x32\x07\x0b\x06\xfb\x0e\xfb\x44\x05\xc3\x06\xf7\x04\x0b\x89\x52\x08\xfc\x69\x07\x8d\x53\x7c" -+"\x7a\x0b\x9b\xa0\xa8\x8c\x08\x9f\xfb\x66\x77\x07\x0b\xa2\x1a\xa5\x78\x9d\x6e\x77\x7a\x82\x78\x0b\x33\x5d\xa2\xb7\xa0\x92\x96\xa7" -+"\xa2\x1f\x0b\xc0\x89\x9b\x78\x89\x51\x08\xfb\x6c\x07\x0b\x4d\x1b\x4c\x6b\xa5\xc8\x80\x1f\x5f\x06\x0b\x6a\x6e\x6d\x69\x66\xa6\x6e" -+"\xae\xaf\xa8\x0b\x74\x1f\xfb\x3c\xfb\x61\x05\xf7\x67\x07\x0b\xf7\xa3\x04\x31\xfa\x7c\xe5\x07\x0e\x01\x00\x01\xe3\x01\x05\x00\x01" -+"\x0a\x02\x01\x40\x03\x01\x87\xff\x02\x87\xa0\x02\x8e\x02\x00\x01\x00\x04\x00\x07\x00\x38\x00\x7a\x00\xc5\x01\x4e\x02\x19\x02\xce" -+"\x02\xd4\x03\x16\x03\x57\x04\x28\x04\x42\x04\x49\x04\x4d\x04\x57\x04\x68\x04\xb5\x04\xec\x05\x43\x05\xa5\x05\xd4\x06\x22\x06\x83" -+"\x06\xa4\x07\x10\x07\x7c\x07\x8a\x07\xaf\x07\xce\x07\xe4\x08\x01\x08\x60\x09\x0a\x09\x0d\x09\x72\x09\x75\x09\x78\x09\x7d\x09\xc8" -+"\x09\xcd\x0a\x04\x0a\x08\x0a\x4d\x0a\x52\x0a\x57\x0a\xb9\x0a\xbc\x0a\xc1\x0a\xf7\x0b\x6f\x0b\x72\x0b\x76\x0b\x7b\x0b\x7e\x0b\xcc" -+"\x0b\xd1\x0c\x62\x0c\x65\x0c\x6a\x0c\x8e\x0c\x9e\x0c\xc1\x0c\xdf\x0c\xeb\x0c\xfb\x0c\xff\x0d\x4a\x0d\x4e\x0d\x54\x0d\x58\x0d\x7f" -+"\x0d\x83\x0d\xa9\x0d\xc4\x0d\xf9\x0d\xfd\x0e\x02\x0e\x8f\x0e\x93\x0e\x97\x0e\xbb\x0f\x10\x0f\x14\x0f\x18\x0f\x1d\x0f\x21\x0f\x6a" -+"\x0f\x6d\x10\x05\x10\x09\x10\x0d\x10\x5a\x10\x66\x10\xb1\x10\xd6\x11\x17\x11\x91\x12\x39\x12\x40\x12\xc1\x13\x36\x13\xef\x14\x55" -+"\x14\x79\x14\xb5\x15\x19\x15\x32\x15\x39\x15\x7e\x15\xe8\x15\xf2\x16\x95\x17\x8b\x17\x8f\x17\xfc\x18\x15\x18\x1b\x18\x25\x18\x41" -+"\x18\x8b\x18\x9f\x19\x92\x19\xf5\x19\xfd\x1a\x04\x1a\x0c\x1a\x13\x1a\x1b\x1a\x21\x1a\x29\x1a\x30\x1a\x38\x1a\x5f\x1a\x6b\x1a\x96" -+"\x1a\x9e\x1a\xa2\x1a\xf1\x1b\x62\x1b\xba\x1b\xe9\x1c\x9a\x1c\xc6\x1d\x48\x1d\x4d\x1d\x78\x1d\xbd\x1e\x3b\x1e\xaa\x1e\xb3\x1e\xc3" -+"\x1f\x27\x1f\xb7\x1f\xb9\x20\x00\x20\x25\x20\x65\x20\x77\x20\xa5\x20\xb8\x20\xe3\x21\x09\x21\x38\x21\x75\x21\xd6\x21\xda\x22\x51" -+"\x22\x7d\x22\xa0\x22\xf3\x23\x0c\x23\x13\x23\x1f\x23\x26\x23\x54\x23\x8c\x23\xce\x23\xe2\x23\xf7\x24\x01\x24\x0d\x24\x14\x24\x1c" -+"\x24\x25\x24\x2d\x24\x43\x24\x4b\x24\x53\x24\x5d\x24\x65\x24\x78\x24\x80\x24\x8d\x24\x94\x24\xa0\x24\xa7\x24\xae\x24\xb6\x24\xbf" -+"\x24\xd0\x24\xd8\x24\xe1\x24\xec\x24\xf4\x25\x18\x25\x3c\x25\x45\x25\x4d\x25\x56\x25\x5e\x25\x68\x25\x71\x25\x84\x25\x8d\x25\x9d" -+"\x25\xaa\x25\xb2\x25\xc3\x25\xcd\x25\xdc\x25\xe4\x25\xed\x25\xf6\x25\xff\x26\x08\x26\x10\x26\x19\x26\x21\x26\x7d\x26\xe9\x27\x5b" -+"\x27\xf0\x28\x63\x28\xfb\x29\x9b\x2a\x0f\x2a\x70\x2a\x80\x2a\x82\x2a\xaf\x2a\xb7\x2a\xce\x2b\x15\x2b\x36\x2b\x3e\x2b\x46\x2b\x5d" -+"\x2b\x7c\x2b\x7e\x2b\x86\x2b\x88\x2b\xa3\x2b\xc5\x2b\xcf\x2b\xd9\x2b\xe3\x2c\x5c\x2c\xd5\x2c\xda\x2d\x2a\x2d\x2e\x2d\x72\x2d\xee" -+"\x2e\x2e\x2e\x42\x2e\x50\x2e\x82\x2e\x91\x2e\xf6\x2f\x2b\x2f\xae\x2f\xcc\x2f\xd5\x2f\xdd\x2f\xf0\x2f\xf5\x30\x11\x30\x1c\x30\x5e" -+"\x30\xa6\x30\xad\x30\xc4\x30\xd1\x31\x18\x31\x2f\x31\x57\x31\x5f\x31\x63\x31\x6b\x31\x73\x31\x99\x31\xdd\x31\xef\x32\x13\x32\x1d" -+"\x32\xa5\x32\xab\x33\x24\x33\x5d\x33\x63\x33\x88\x34\x2f\x34\x3b\x34\x43\x34\x4a\x34\x4e\x34\x57\x34\xf5\x35\x90\x35\x99\x35\xd9" -+"\x35\xf7\x36\x23\x36\x2c\x36\x3e\x36\xbb\x36\xd3\x36\xe4\x36\xf2\x37\x3e\x37\x98\x38\x01\x38\x52\x38\x5a\x38\x9e\x38\xa7\x38\xb0" -+"\x38\xba\x38\xc2\x39\x30\x39\x37\x39\x3d\x39\x45\x39\x4f\x39\x85\x39\x8d\x3a\x1b\x3a\x1f\x3a\x21\x3a\x5e\x3a\x79\x3a\x80\x3a\xe4" -+"\x3b\x15\x3b\x31\x3b\x99\x3c\x01\x3c\x06\x3c\x4b\x3c\x50\x3c\x70\x3c\x74\x3c\x78\x3c\x7e\x3c\x96\x3c\x9a\x3c\xf3\x3d\x0e\x3d\x7d" -+"\x3d\x83\x3d\x85\x3d\xae\x3d\xee\x3e\x0d\x3e\x38\x3e\x6e\x3e\xab\x3e\xe4\x3f\x61\x3f\xcb\x40\x33\x40\x6b\x40\xd0\x40\xf2\x41\x70" -+"\x42\x0c\x42\x0f\x42\x22\x42\x70\x42\xc4\x43\x0f\x43\x5f\x43\x7e\x44\x22\x44\x9c\x45\x09\x45\x6e\x45\x90\x45\xed\x46\x3a\x46\xb1" -+"\x47\x39\x47\x81\x47\x85\x47\xbe\x47\xc2\x48\x23\x48\x81\x48\xd4\x49\x12\x49\x4b\x49\xb5\x49\xf8\x4a\x31\x4a\x35\x4a\xbd\x4b\x42" -+"\x4b\x78\x4b\xba\x4b\xda\x4c\x04\x4c\x29\x4c\x83\x4c\xb6\x4d\x18\x4d\x7b\x4d\xd9\x4e\x0a\x4e\x6d\x4e\xce\x4f\x28\x4f\xa1\x4f\xd5" -+"\x50\x1e\x50\x71\x50\xe7\x51\x39\x51\x8d\x51\xad\x51\xe5\x52\x3b\x52\x74\x52\xca\x53\x3d\x53\xc7\x54\x81\x54\x88\x54\xb7\x54\xc0" -+"\x54\xf5\x55\x2b\x55\x6b\x55\xc8\x56\x6e\x56\xa3\x56\xc3\x56\xe3\x57\x03\x57\x23\x57\x2f\x57\x44\x57\xbb\x57\xc4\x57\xcc\x58\x0b" -+"\x58\x14\x58\x76\x58\xf4\x59\x60\x59\x78\x59\xbd\x5a\x2b\x5a\x57\x5a\x89\x5a\x96\x5a\x9e\x5a\xa6\x5a\xd6\x5a\xde\x5b\x3b\x5b\x97" -+"\x5b\x9b\x5b\xc5\x5b\xe4\x5c\x3c\x5c\x40\x5c\x6b\x5c\xb0\x5c\xc9\x5d\x1b\x5d\xa5\x5e\x1d\x5e\x26\x5e\x2e\x5e\x5e\x5e\xd4\x5e\xfb" -+"\x5f\x43\x5f\x69\x5f\xb1\x5f\xd8\x5f\xe4\x60\x79\x60\x82\x60\xfa\x61\x69\x61\xa0\x61\xd7\x62\x1c\x62\xa9\x62\xce\x62\xd3\x62\xf2" -+"\x63\x35\x63\x56\x63\x97\x63\xbb\x64\x1b\x64\x24\x64\x91\x64\x9b\x64\xf6\x65\x0b\x65\x13\x65\x1b\x65\x44\x65\x6f\x65\xb3\x66\x28" -+"\x66\x2f\x66\x7a\x66\xfc\x67\x05\x67\x3d\x67\x45\x67\x4c\x67\xb3\x67\xe7\x68\x36\x68\x43\x68\x54\x68\x5d\x68\x65\x68\x8a\x68\x8e" -+"\x68\xba\x68\xc8\x69\x11\x69\x83\x69\xf4\x6a\x7c\x6b\x07\x6b\x3b\x6b\x63\x6b\x99\x6c\x12\x6c\x43\x6c\x4c\x6c\x69\x6c\x83\x6c\x8a" -+"\x6c\x9c\x6c\xe1\x6c\xea\x6d\x6a\x6d\x72\x6d\x7b\x6d\x9c\x6d\xdc\x6e\x6d\x6e\xbe\x6e\xfa\x6f\x7e\x6f\xe3\x70\x0b\x70\x56\x70\x99" -+"\x71\x0e\x71\x36\x71\x4d\x71\x5c\x71\x64\x71\x79\x71\x7c\x71\x80\x71\x8a\x71\x94\x71\x9c\x71\xa0\x71\xc8\x72\x60\x72\xc7\x73\x40" -+"\x73\xbe\x73\xdc\x73\xf8\x74\x14\x74\x71\x74\xa1\x75\x41\x75\xcb\x76\x49\x76\xc6\x77\x0d\x77\x50\x77\xcf\x78\x44\x78\x72\x78\xa6" -+"\x78\xe7\x79\x47\x79\x8a\x79\xbb\x7a\x20\x7a\x58\x7a\xc0\x7b\x00\x7b\x88\x7c\x11\x7c\x68\x7c\xcb\x7d\x38\x7d\x9a\x7e\x0a\x7e\x67" -+"\x7e\x6a\x7e\xca\x7f\x2a\x7f\xa0\x80\x1a\x80\xae\x81\x07\x81\x50\x81\xbf\x81\xcc\x81\xd8\x82\x90\x83\x06\x83\x0d\x83\x11\x83\x2d" -+"\x83\x4a\x83\xba\x83\xd2\x84\x17\x84\x40\x84\x61\x84\x65\x84\xeb\x85\x30\x85\x63\x85\x6c\x85\x75\x85\x7c\x85\x83\x85\xb0\x85\xb7" -+"\x86\x69\x86\x71\x86\x89\x86\x92\x86\x9b\x87\x2e\xfb\x8a\x0e\xfb\x8a\x0e\xfb\x37\xf7\x3a\xf7\x30\x15\x2d\x1d\x99\xd9\x15\x98\xf7" -+"\x0f\x95\xbc\xa8\xeb\x08\x99\xb7\x8f\x9f\xa2\x1a\xcc\x6d\xb0\x55\x55\x6c\x66\x4c\x71\x8f\x79\x99\x5e\x1e\xa8\x2c\x95\x5a\x98\xfb" -+"\x10\x08\x0e\xc6\xf7\x3c\xf8\x28\x15\xac\xf7\x25\x96\xbf\xa2\x1a\xb2\x6f\xa7\x66\x64\x72\x6f\x60\x75\x97\x4d\xa0\x37\x1e\x8c\x84" -+"\x90\x77\x90\x76\x08\xf7\xc1\x16\xad\xf7\x26\x95\xbe\xa2\x1a\xb2\x6f\xa7\x66\x64\x72\x6f\x60\x75\x97\x4d\xa0\x37\x1e\x8c\x84\x90" -+"\x77\x90\x76\x08\x0e\x8f\xf8\x67\xf7\xaf\x15\x34\x06\x9d\xf7\x1a\x05\xed\xd4\x33\x06\xa8\xf7\x66\x05\x3e\x06\x6d\xfb\x66\x05\xfb" -+"\x05\x06\xa8\xf7\x66\x05\x3e\x06\x6d\xfb\x66\x05\x21\x42\xeb\x06\x79\xfb\x1a\x05\x20\x42\xeb\xe1\x1d\xf7\x05\xe1\x1d\xed\x06\xfb" -+"\x27\xf7\x63\x15\x79\xfb\x1a\x05\xfb\x05\x06\x9d\xf7\x1a\x05\x0e\x8f\xf8\x40\xf8\x75\x15\xf7\x21\x07\x5c\xa8\x69\x96\x3d\x97\x08" -+"\xd7\x54\x3d\x07\x5d\x86\x75\x85\x6c\x7a\x08\x54\x6b\x6c\x57\x4b\x1a\x32\xbd\x50\xf7\x1a\x48\x1e\xfb\x8f\x07\x41\x99\x63\xb8\x6b" -+"\xf7\x00\x76\x8d\x18\xfb\x30\x07\xdd\x69\xa3\x85\xc9\x88\x08\x28\xc2\xee\x07\xdd\x9a\xb2\x9b\xab\xab\x08\xac\xab\x9c\xb8\xc3\x1a" -+"\xbb\x7c\xb6\x71\xa8\x1e\x68\xb3\x6d\x9f\x2a\xbd\x08\xf7\x6b\x07\xd2\x7b\xb1\x5f\xa8\x27\x08\xfb\x1e\xfb\x7b\x15\xdb\x5e\x98\x7a" -+"\x55\x1a\x50\x6d\x6a\x4c\x7f\x1e\x53\xf8\x3c\x15\x4f\xa0\x6e\xac\xb9\x1a\xbb\xa5\xa5\xca\x9b\x1e\x0e\xf8\x8c\xf9\x8d\xf8\x08\x15" -+"\xfb\x05\xfb\x05\xfb\x10\xfb\x0f\x37\xbf\x54\xdc\xb7\xb9\x9f\xac\xaa\x1f\xc1\xc3\xad\xdf\xd9\x1a\xd1\x5d\xb8\x45\x1e\xaa\x58\x15" -+"\xa9\xa1\x6d\x61\x63\x7e\x60\x6f\x59\x1f\x54\x6d\x68\x6e\x66\x1b\x6b\x78\xa1\xad\x8d\x1f\x8d\xbb\xaa\xdd\xad\xbe\x08\xaf\xa4\xa1" -+"\x9b\xa5\x1b\x4b\xf8\x07\x15\x65\x06\x87\x85\x87\x84\x86\x1f\x6c\x74\x42\x70\x4e\x1b\x61\x76\x91\xa1\x6d\x1f\x9d\x71\x73\x94\x72" -+"\x1b\xfb\x09\xfb\x01\xfb\x0c\xfb\x14\x3b\xc0\x53\xd7\xc7\xc0\xaa\xc5\xb3\x1f\xb5\xc9\x9b\xc3\x8c\xe4\x08\x87\xa0\x97\x8a\x99\x1b" -+"\xae\xb0\x94\x9d\xb6\x1f\xfb\xf0\xfd\x00\x05\xc2\x06\xb0\xf9\x13\x15\x8f\x8e\x89\x85\x94\x1f\x93\x85\x8d\x89\x91\x89\x08\xa0\x81" -+"\x93\x80\x74\x1a\x59\x75\x4a\x67\x56\x1e\x61\x6e\x70\x78\x6b\x1b\x6d\x77\xa2\xac\x8d\x1f\x8e\xb9\xac\xe2\xae\xbf\xa1\xab\xa3\x9f" -+"\x9b\x89\x08\x0e\xf7\xe5\xf8\xd5\xf8\x37\x15\x73\x07\xc6\x84\x92\x86\x6e\x1a\x63\x79\x69\x51\x44\x1e\xfb\x2b\xf7\x6a\x05\xf5\xb2" -+"\xb9\xb7\xcb\x1a\xd4\x49\xbb\x26\xfb\x0c\x40\x4e\x29\x5f\x96\x6c\xb4\x46\x1e\xfb\x22\x45\x55\x4c\x2d\x1a\x23\xda\x43\xf7\x04\xd6" -+"\xcc\xa4\xc9\xdd\x1e\x49\xc6\xb0\x75\xc0\x1b\xaa\xb0\x98\x9d\xa4\x1f\x9b\x98\x98\x9b\xa4\xb4\x9b\xa5\x18\x77\x97\x05\x70\x7a\x7b" -+"\x80\x72\x1b\x65\x72\x9e\xd3\x53\x1f\xc2\xd7\x96\x9b\xa6\xb6\xa6\xb7\x18\x9d\xa8\x97\x92\xb6\x8f\x08\xa3\x07\xfc\x60\xfb\x19\x15" -+"\xd7\xfb\x06\xa0\x6d\xab\x61\x08\x6f\x64\x72\x80\x71\x1b\x6d\x69\x9b\xa5\x72\x1f\x60\xb7\x6e\xcc\xbf\x1a\xb1\x9e\xa3\xc2\xab\x1e" -+"\xf7\x0e\xe9\x15\x56\xcd\x76\xb6\xb4\x1a\xae\x9e\xa0\xac\xbc\xb6\x51\x48\x62\x77\x74\x59\x7a\x1e\x0e\xfb\x37\xec\x85\x1d\x0e\xfb" -+"\x37\xf7\xc6\xf9\x4a\x15\x4d\x6a\x6f\x76\x64\x62\x08\x36\x2f\x5d\xfb\x0a\xfb\x16\x1a\x2f\xa4\x34\xbb\x3e\x1e\xb9\x43\xb6\x63\xed" -+"\x50\x08\xa7\x07\x52\xb0\x72\xa4\x76\xb8\x08\x6d\xc9\x7d\xe7\xf7\x1d\x1a\xf7\x1f\x99\xef\xa7\xc7\x1e\x9f\xb7\xa4\xa5\xc7\xb3\x08" -+"\x0e\xfb\x37\xa6\xfb\x3c\x15\xc9\xac\xa7\xa0\xb2\xb5\x08\xe0\xe6\xb9\xf7\x0b\xf7\x15\x1a\xe6\x72\xe3\x5b\xd8\x1e\x5d\xd3\x60\xb3" -+"\x29\xc6\x08\x6f\x07\xc4\x67\xa4\x71\xa0\x5e\x08\xa9\x4d\x99\x2f\xfb\x1d\x1a\xfb\x1e\x7d\x26\x6f\x4f\x1e\x77\x5f\x72\x71\x4f\x63" -+"\x08\x0e\x8f\xf7\xaa\xf8\x70\x15\xac\xa1\x97\x8e\xb6\x8d\x08\xa3\x94\x8d\x90\x97\x1f\x9f\x94\x9b\xa1\x9d\x1a\xa5\x72\xa3\x6f\x76" -+"\x7f\x82\x6d\x77\x1e\x72\x66\x82\x81\x66\x6e\x83\x8e\x18\x8a\xb8\x8e\x95\x9f\xaf\x08\x98\xa2\x8e\x95\x9a\x1a\xac\x78\xa1\x6e\x6d" -+"\x75\x76\x6e\x7a\x8f\x80\x99\x72\x1e\xa0\x64\x8e\x81\x8c\x61\x84\x88\x18\x65\xa0\x84\x91\x72\xb3\x08\xad\x77\x7c\x96\x6f\x1b\x6f" -+"\x78\x77\x6e\x67\x9b\x7f\xbf\x87\x1f\xb8\x87\x9b\x87\xb4\x79\x8a\x84\x18\x6d\x75\x80\x88\x61\x89\x08\x53\x6e\x78\x66\x6f\xa1\x75" -+"\xa7\xa0\x97\x94\xaa\xa0\x1f\xa6\xb2\x93\x93\xb1\xa7\x92\x86\x18\x8a\x5d\x88\x81\x78\x69\x08\x7f\x75\x88\x82\x7b\x1a\x69\x9e\x74" -+"\xa8\xa8\xa1\xa1\xa9\x98\x88\x94\x80\x9f\x1e\x78\xb2\x85\x9d\x87\xb6\x92\x90\x18\xa8\x7c\x93\x84\x9f\x6f\x08\x59\xac\x9a\x7f\xa6" -+"\x1b\xa7\xa0\xa0\xa8\xad\x78\x98\x55\x8f\x1f\x5e\x8f\x7c\x8f\x67\x9c\x08\x0e\xd5\xf7\x85\xf7\xbd\x15\xfb\x64\x33\xf7\x64\xfb\x65" -+"\xe3\xf7\x65\xf7\x64\xe3\xfb\x64\xf7\x65\x33\x06\x0e\xfb\x8a\xc4\xfb\x48\x6f\x0a\xfb\x37\xd5\x1d\xfb\x8a\xf7\x11\xf7\x30\x15\x2d" -+"\x1d\x0e\xfb\x6e\xf7\xc2\xf9\x47\x15\x31\x06\xfb\x80\xfd\x5a\x05\xe5\x06\x0e\x8f\xf7\x8e\xf9\x44\x15\x4a\x49\x5f\x43\x62\x1f\x6b" -+"\x54\x75\x2d\x38\x1a\xfb\x63\xe9\xfb\x26\xf7\x19\xf7\x16\xea\xf7\x28\xf7\x5e\xf7\x5c\x2a\xf7\x2b\xfb\x15\x1e\xcf\xfc\x66\x15\x50" -+"\x83\x3d\x82\x70\x1e\x6e\x80\x7b\x7d\x74\x1b\x59\x78\xc5\xf7\x29\x1f\xf7\x79\x07\xf7\x2c\x9d\xc4\xbc\xbc\x9f\x4d\xfb\x27\x1e\x0e" -+"\x8f\xf8\x4e\xa3\x15\x31\x8c\x79\x9b\xd8\x1a\xf8\xce\x7a\x07\xfb\x90\xfb\x01\x05\x71\x07\x94\x8e\x92\x8e\x8f\x8d\x08\x95\xa6\xa4" -+"\x92\x98\x1b\xa4\x96\x75\x5c\x1f\xfc\x15\x07\x8c\x3a\x76\x79\x28\x8a\x08\x73\xf8\x0b\x07\x0e\x8f\xf8\x72\xf7\x67\x15\x73\x06\x6e" -+"\x44\x80\x85\x24\x8a\x08\xfb\x2b\x06\xf7\x36\xf7\x2e\x05\xda\xd6\xae\xce\xd7\x1a\xf6\x3f\xd7\xfb\x01\x59\x5b\x77\x67\x68\x1e\x64" -+"\x64\x77\x69\x6f\x40\x08\xa7\x06\xca\xaa\xb0\xa6\xc1\x1b\xb7\xad\x78\x67\xa0\x1f\x97\x76\x93\x6f\x74\x1a\x5f\x78\x54\x6b\x5a\x1e" -+"\x58\x3e\x68\x60\xfb\x26\xfb\x30\x08\x74\xf8\x34\x07\x0e\x8f\xc5\xf8\x9f\x15\xc8\xb1\xac\xa2\xbf\x1b\xca\xb2\x64\x4b\x49\x68\x68" -+"\x2c\x6d\x1f\x7a\x07\xde\x6e\xac\x7a\xaf\x69\x08\xaa\x6e\x9d\x5e\x5b\x1a\x43\x65\x5d\x4f\x73\x78\x96\xab\x6a\x1e\xb2\x64\x6e\x9b" -+"\x6c\x1b\x65\x70\x73\x69\x55\xc7\x67\xe7\xf7\x3c\xf7\x18\xf7\x06\xf7\x26\xba\x7c\xb5\x6e\xae\x1f\x76\xa4\x7a\x96\x63\x9d\x08\xcb" -+"\xb2\x9e\xa8\xc6\x1a\xe1\x4e\xbe\x25\x28\x40\x59\x24\x54\x1e\x0e\x8f\xf8\x30\xf7\x93\x15\xf8\x45\x3b\x07\x50\x3e\xfb\x12\xfb\x38" -+"\x47\x2c\x4f\x2c\x19\xfb\x05\xf7\x8c\xfb\x24\xf7\x25\xf7\x24\xca\xf7\x03\x07\xfb\x62\x16\xfb\x65\x06\xf7\x65\xf7\xbd\x05\x0e\x8f" -+"\xf7\x29\xf8\xb9\x15\xf7\xaa\x06\xb6\xf7\x13\x05\xfb\xd6\x06\x2a\xfb\xed\xea\x84\xb3\x85\xb8\x7d\x19\xe4\x6f\xc0\x53\x48\x1a\x53" -+"\x5f\x5f\x53\x74\x70\x97\xa9\x63\x1e\xab\x60\x6d\x98\x71\x1b\x67\x71\x72\x68\x56\xc5\x68\xe4\xf7\x39\xf7\x09\xef\xf7\x21\xf3\x4b" -+"\xdb\xfb\x01\xaa\x1f\x65\x96\x6c\x8f\x39\x90\x08\x0e\x8f\xf8\x6a\xf9\x44\x15\xfb\x19\x78\x4c\x75\x40\x57\x08\xfb\x04\x3e\x50\xfb" -+"\x04\xfb\x19\x1a\xfb\x41\xe6\xfb\x05\xf7\x21\xf7\x10\xe6\xee\xf7\x1c\xf7\x0d\x42\xd9\xfb\x06\x6b\x75\x87\x7e\x6d\x1e\xb0\xf7\x27" -+"\xde\xdc\xf7\x26\xa9\x08\xfb\x81\xfb\xb2\x15\xce\xa2\x55\xfb\x33\xfb\x0c\x7f\x6e\x5a\x73\x7a\x95\x9e\x81\x1f\x7a\xac\x81\xd4\xe8" -+"\x1a\xc9\x91\xc4\x92\x90\x1e\x91\x93\x98\x8f\x9a\x1b\x0e\x8f\xf8\x71\xf9\x38\x15\xfc\x34\x06\x5f\xfb\x72\x05\xa4\x06\x9c\xc9\xa8" -+"\xa3\xbf\x8a\x08\xf7\x63\x06\xfb\x5c\xfc\xaf\x05\xea\x06\x0e\x8f\xf7\x46\xf7\xd8\x15\x52\x78\x73\x7e\x72\x72\x08\x6e\x6f\x7c\x65" -+"\x5f\x1a\x25\xe0\x47\xf7\x13\xf7\x1f\xe8\xdb\xf7\x0c\xe2\x60\xc9\x20\xcf\x1e\xeb\xad\xb3\xb3\xcc\x1a\xe4\x40\xc3\xfb\x0c\xfb\x1b" -+"\x32\x46\x21\x3f\xb3\x55\xee\x50\x1e\xf7\x0c\xed\x15\x37\xb6\x5d\xc2\xc3\x1a\xba\xaf\xaf\xba\xc3\xab\x5e\x3e\x5b\x83\x74\x6a\x5f" -+"\x1e\x29\xfb\x08\x15\xf7\x01\x42\xa3\x6b\x41\x1a\x48\x6a\x62\x55\x4e\x67\xc0\xe4\xc2\x96\xa9\xb3\xc7\x1e\x0e\x8f\xaa\x7e\x15\xf7" -+"\x20\x9f\xcf\xa4\xd9\xc6\x08\xf1\xd7\xc1\xf7\x00\xf7\x13\x1a\xf7\x41\x2f\xf7\x05\xfb\x20\xfb\x11\x31\x28\xfb\x1d\xfb\x0a\xd4\x3b" -+"\xf7\x01\xb2\xa3\x90\x99\xa7\x1e\x60\xfb\x2c\x3a\x3c\xfb\x24\x6e\x08\xf7\x63\xf9\x1c\x15\xa5\x9b\x81\x73\x97\x1f\x9a\x70\x95\x44" -+"\x44\x1a\x70\x89\x6b\x88\x5e\x1e\x89\x7e\x8b\x82\x8a\x87\x8a\x7e\x8a\x86\x88\x89\x08\x86\x83\x79\x87\x7c\x1b\x4d\x74\xc5\xf7\x32" -+"\xf7\x08\x97\xa9\xbb\x1f\x0e\xfb\x37\xf7\x3a\xf7\x30\x15\x2d\x1d\xf7\xd0\x04\x9b\x0a\xfb\x37\xef\xfb\x48\xa9\x0a\x6a\x59\x5e\xa9" -+"\x6a\xb4\x1e\x93\x06\x97\x8d\x05\x92\x06\x95\x93\x81\x80\x64\x69\x61\x40\x57\x1f\xd8\xf9\x0a\x15\x9b\x0a\xd5\xf8\x7f\xf8\xed\x15" -+"\xfc\x3c\xfb\xa4\x05\x78\x07\xf8\x3c\xfb\xb0\x05\xf7\x16\x07\xfb\xb3\xf7\x54\xf7\xb3\xf7\x4e\x05\x0e\xd5\xf8\xad\xf8\x23\x15\xfc" -+"\x8c\x33\xf8\x8c\x06\xfb\x08\x04\xfc\x8c\x33\xf8\x8c\x06\x0e\xd5\xd5\xa5\x15\xf8\x3c\xf7\xa4\x05\x9f\x07\xfc\x3c\xf7\xaf\x05\xfb" -+"\x16\x07\xf7\xb3\xfb\x53\xfb\xb3\xfb\x4f\x05\x0e\x8f\xf7\x91\xf7\x7b\x15\xd4\x93\x99\xca\xb2\x1e\xe6\xc3\xa9\xb4\xd0\x1a\xef\x3c" -+"\xcd\xfb\x0d\xfb\x02\x3d\x4f\x37\x5e\xa7\x6c\xb3\xb1\xa4\xa5\xb1\x9f\x86\x97\x7a\x9e\x1e\x7f\x98\x88\x91\x95\x1a\xa3\xa3\x9b\xaf" -+"\xc1\xaa\x5c\x38\x57\x81\x69\x6a\x4c\x1e\x73\x5d\x83\x74\x6f\x1a\x80\x8b\x86\x8d\x6d\x1e\x9b\x40\x15\x5d\x64\x64\x5e\x5b\xb0\x66" -+"\xbb\xba\xb0\xb0\xba\xba\x65\xb1\x5d\x1f\x0e\xf8\x46\xf8\xe7\xf8\x66\x15\xb6\x74\x7d\x95\x67\x1b\x5f\x60\x78\x6a\x6b\x1f\x57\x54" -+"\x6b\x3c\x41\x1a\x4a\xb4\x59\xc0\xb6\xbb\xa7\xb9\xae\x1e\x5e\x92\xb0\x6d\xbd\x1b\xf1\xe2\xf7\x05\xf7\x1a\xf7\x3e\xfb\x27\xf7\x17" -+"\xfb\x52\xfb\x66\xfb\x3b\xfb\x33\xfb\x5e\xfb\x58\xf7\x3a\xfb\x2d\xf7\x69\xd6\xbf\x99\xb9\xec\x1f\x7e\xae\x05\x66\x3a\x59\x7f\x47" -+"\x1b\xfb\x43\xfb\x10\xf7\x10\xf7\x42\xf7\x52\xf7\x0c\xf7\x1d\xf7\x39\xf7\x31\xf7\x19\xfb\x0e\xfb\x25\x21\x4d\x28\x49\x72\x7e\x9c" -+"\xaa\x91\x8c\x92\x8c\x90\x1f\xcd\xf7\x98\x05\x44\x06\x44\x68\x15\xa8\x89\x9a\x73\x89\x64\x89\x5e\x7a\x4e\x76\x61\x08\x61\x75\x6d" -+"\x72\x6d\x1b\x67\x74\xac\xc0\xc1\x9d\xbe\xad\xb1\x1f\xa7\xac\xad\x9f\xa4\x89\x08\x0e\x26\x0a\x0e\xf7\x3f\x9b\x16\xf7\xd6\x06\xf7" -+"\x3d\xf7\x04\xd6\xf7\x05\xb9\x78\xb3\x68\xaa\x1f\x68\xa9\x69\x9a\x45\x9a\x08\xf7\x08\xad\xb6\xb4\xd7\x1a\xf2\x2f\xc4\xfb\x3c\x1e" -+"\xfb\xc9\x72\x06\xce\x88\x9e\x7c\x8d\x56\x08\xfc\x78\x07\x89\x57\x7c\x7e\x44\x85\x08\xf7\x8c\xf7\xd2\x15\xa9\x06\xf2\xbd\x55\xfb" -+"\x02\x2a\x62\x59\x3a\x5f\x7a\x9c\xb7\x1f\xf8\x8c\x04\xaf\x99\x98\xb3\xd1\xab\x60\x2d\x22\x6a\x6f\xfb\x0f\x88\x1e\x0e\x47\x1d\x0e" -+"\x5e\x0a\x0e\xf7\x3f\x24\x0a\x0e\xf7\x07\x9b\xf9\x1f\x15\xce\x88\x9f\x7c\x8c\x56\xdc\x1d\xf7\xfc\xa4\x07\x32\x8e\x78\x97\x89\xc3" -+"\x08\xf7\x7d\x07\xf1\x89\xb0\x66\x99\xfb\x08\x08\xa4\xf7\xe6\x72\x06\xfb\x06\x79\x68\x68\x27\x1b\xf7\x7c\x07\xb1\x98\x94\xbe\xe7" -+"\xc7\x7a\x68\xa9\x1e\xa1\x72\x96\x70\x99\x4c\x08\xa3\xf7\x5d\xfc\xcb\x06\x0e\xf7\xae\x3d\x0a\x0e\xf7\xae\xf9\x8b\x90\x1d\xbe\xa0" -+"\x9c\xcf\x8e\x08\xa4\xfb\xe5\x72\x07\xcc\x86\x9d\x7c\x8d\x58\x08\xfc\x78\x07\x8a\x59\x7b\x7e\x47\x83\x43\x1d\x44\x92\x79\x98\x8a" -+"\xbe\x46\x0a\x89\x58\x7a\x7e\x44\x84\x08\x72\xf7\xe8\x07\x0e\x20\x27\x0a\x0e\x8f\xf8\x73\xf9\x38\x15\xfb\xf4\x72\x06\xda\x8a\x9f" -+"\x7c\x8d\x54\x08\xfc\xc0\x07\x4d\x79\x72\x5d\x6f\x7a\x97\x9f\x94\x8e\x90\x94\x96\x1e\x97\x9a\x8e\x93\x9b\x1a\xb3\x69\xae\x64\x66" -+"\x6a\x69\x65\x62\xa7\x5e\xb2\x74\x1e\x7d\xa5\xb2\x82\xb3\x1b\xf7\x21\xd5\xd7\xf7\x23\xe4\x1d\x0e\xf7\xae\x52\x0a\x0e\xf7\x3f\x31" -+"\x1d\x0e\xf8\x54\xfa\x2d\xa4\x15\x3f\x94\x81\x95\x89\xd4\x08\xf8\x4e\x07\x8d\xd5\x99\x99\xd3\x8f\x08\xa4\xfb\x90\x07\xfb\x5c\xfc" -+"\x6c\xfb\x5c\xf8\x6c\x05\xfb\x91\x72\x06\xd3\x86\x9c\x7d\x57\x1a\xfc\x6f\x07\x8a\x4e\x7e\x7f\x3e\x84\x08\x72\xf7\x7e\xa4\x07\x3a" -+"\x90\x78\x9f\x8a\xd5\x08\xf8\x6a\x07\xf7\x90\xfc\xe6\x05\xa6\x06\xf7\x90\xf8\xf5\x05\xfc\x91\x07\x89\x52\x7e\x7f\x41\x85\x08\x72" -+"\xf7\xe0\x07\x0e\x30\x1d\x0e\xf7\xae\x26\x1d\x0e\xf7\x07\x9b\xb1\x0a\xf7\x4e\x07\xf7\x1b\x8c\xad\x8f\xb7\x9c\x08\xdc\xaa\xb7\xc7" -+"\xd9\x1a\xf7\x08\x2c\xcd\xfb\x3b\x1e\xfb\xd6\x72\x06\x4e\x1d\xf8\xd9\x15\xa2\x9c\x97\xac\xde\x4b\x0a\x74\x1e\x77\x73\x6a\x84\x44" -+"\x1b\x0e\xf7\xae\xf9\x6e\xfb\x09\x15\x81\x69\x7e\x89\x77\x1b\x5c\x5e\x9d\xad\x69\x1f\x78\x9e\x81\x9a\x79\xb0\xdc\xa5\xae\x9f\xb6" -+"\xb9\x08\xc8\xcc\xac\xe1\xec\x1a\xf7\x64\xfb\x28\xf7\x29\xfb\x62\xfb\x61\xfb\x29\xfb\x2c\xfb\x64\x2f\xaa\x38\xc5\x4b\x1e\xb4\x5d" -+"\xab\x77\xd7\x6f\xa0\x5f\x97\x78\xa2\x74\x08\x53\xc3\xdf\x6b\xe3\x1b\xc8\xb7\x94\xa5\xd5\x1f\xfb\xee\xf9\xb3\x15\xf7\x04\xcb\xfb" -+"\x0c\xfb\x65\xfb\x61\x4e\xfb\x02\xfb\x08\xfb\x08\x4e\xf7\x01\xf7\x64\xf7\x66\xcb\xf7\x09\xf7\x06\x1f\x0e\x34\x1d\x0e\xc7\x33\x1d" -+"\x0e\xf7\x3f\x48\x1d\x0e\x24\x1d\x0e\xf9\x51\xf9\x38\x15\xfb\x69\x72\x06\xd1\x87\x9b\x83\x6b\x1a\x7b\x88\x7f\x7a\x60\x1e\xfb\x13" -+"\xfb\xdd\xfb\x1e\xf7\xe2\x05\x78\xb9\x87\x96\x9a\x1a\xa2\x9a\x96\xb1\x8d\x1e\x90\x98\x8c\x8c\x9a\x1f\xa4\xfb\xe4\x72\x07\xbd\x84" -+"\x94\x83\xa4\x54\xf7\x94\xfc\xeb\x18\xa6\x06\xf7\x78\xf8\xdf\xa3\xc9\x99\x98\xbf\x92\x19\x0e\xf8\x8c\x2e\x1d\x0e\xf9\x44\xf9\x38" -+"\x15\xfb\x8e\x72\x06\xcb\x86\x93\x86\x70\x1a\x76\x80\x77\x5c\x4a\x1e\x7f\x7b\x77\x6f\x73\x6a\x2a\xf7\x2a\x18\x7e\x9f\x89\x90\x97" -+"\x1a\xa0\x97\x93\xaf\x8d\x1e\x90\x97\x8c\x8c\x99\x1f\xa4\xfb\xee\x72\x07\xaf\x88\x98\x81\xaa\x5e\xf7\x5a\xfb\xb7\x18\xfb\x43\xfb" -+"\x71\x6d\x66\x73\x7e\x59\x85\x19\x72\xf7\x8e\xa4\x07\x4e\x91\x77\x95\xa5\x1a\xa0\x9e\xaa\xd6\xf0\x1e\xb1\xbe\xf0\xfb\x36\x05\x97" -+"\x78\x94\x74\x7f\x1a\x7a\x7a\x82\x68\x89\x1e\x87\x80\x8a\x8a\x7e\x1f\x72\xf7\xe8\xa4\x07\x69\x8c\x7c\x98\x5b\xd3\xfb\x4a\xf7\xaf" -+"\x18\xdb\xf7\x03\xe3\xf7\x0c\xa5\x9e\xd5\x92\x19\x0e\x2c\x0a\x0e\xf7\x3f\x37\x1d\x0e\xfb\x37\xf7\xc1\xf9\x3a\x15\xfb\x7e\xfd\xcf" -+"\xf7\x7e\xac\x3b\x06\x61\x8c\x82\x95\x8c\xb5\x08\xf9\x12\x07\x8c\xc7\x93\x94\xc5\x8c\x08\xca\x06\x0e\xfb\x6e\xf7\x67\x78\x15\xe7" -+"\x06\xfb\x7f\xf9\x5a\x05\x2e\x06\x0e\xfb\x37\xab\xfb\x29\x15\xf7\x7e\xf9\xcf\xfb\x7e\x6a\xca\x06\xc4\x8a\x94\x82\x8c\x4f\x08\xfd" -+"\x12\x07\x8c\x60\x83\x82\x60\x8a\x08\x3b\x06\x0e\xe0\xf7\x36\xf7\xcb\x15\xf7\x15\xf7\xa4\xf7\x15\xfb\xa4\x05\xe4\x06\xfb\x46\xf8" -+"\x01\x05\x3b\x06\xfb\x46\xfc\x01\x05\x0e\x8f\xf8\x87\xfb\x23\x15\xd0\xfc\x85\x46\x07\x0e\xfb\x37\xf7\x80\xf9\x47\xcd\x1d\xbe\xb9" -+"\x6d\xab\x60\xae\x1d\x0e\x8f\x23\x1d\x0e\xc7\x9c\xf9\x20\x15\xb8\x83\x94\x82\x8c\x62\x08\xfc\xf3\x97\x07\xda\xc3\x05\x61\xb9\xaf" -+"\x7c\xbd\x1b\xf7\x19\xe8\xf2\xf7\x2a\xf7\x1f\x3e\xea\xfb\x03\x5a\x68\x7b\x63\x65\x1f\xf7\x97\xfb\x56\x07\xf7\x56\xfb\xd0\x15\xb6" -+"\x9d\x9e\x9b\xac\x1b\xc9\xaa\x49\xfb\x18\xfb\x1f\x6d\x4b\x4b\x61\x70\xaa\xbb\x1f\x0e\x57\x36\x1d\x0e\xc7\xf8\xaa\x5b\x0a\x0e\x57" -+"\x25\x1d\x0e\xfb\x37\x99\x16\xf7\xaa\xa3\x06\x46\x8d\x7f\x96\x8a\xcd\x08\xf7\xce\xe2\xb7\x34\x39\x1d\xb0\xa4\xa4\xb0\xc6\x51\xb4" -+"\x36\x48\x57\x73\x5f\x70\x1e\x9a\x0a\x0e\x8f\x32\x0a\x0e\xc7\xf8\xaa\xa3\x15\x68\x8c\x7d\x9d\xb4\x1a\xf7\x8c\x07\xe1\x56\xc2\x39" -+"\x56\x66\x77\x51\x57\x1e\xf7\xad\x55\x1d\xfc\x92\x3a\x1d\x8f\x92\x95\x56\x1d\x0e\xfb\x6e\x29\x1d\xfb\x09\xf9\x47\x15\x60\x68\x68" -+"\x61\x5e\xac\x6a\xb7\xb7\xad\xac\xb7\xb7\x69\xad\x60\x1f\x0e\xfb\x37\xf7\x98\xf8\x61\x15\xfb\x5e\x73\x06\xbc\x88\x98\x7f\x8c\x5f" -+"\x08\xfc\x6e\x07\x56\x7c\x74\x6a\xa0\x1d\xdd\xd0\xe7\x1d\x40\xf9\x45\x15\x60\x69\x69\x60\x5d\xab\x6b\xb8\xb7\xad\xad\xb6\xb6\x68" -+"\xae\x60\x1f\x0e\xc7\x6c\x1d\x0e\xfb\x6e\x34\x0a\x0e\xf7\xe5\xf9\xc2\xa3\x15\x65\x8c\x7e\x9a\x8c\xb4\x08\xf7\x8f\x07\xe1\x56\xc2" -+"\x39\x52\x64\x74\x4b\x58\x1e\xca\x6d\x68\xa3\x4c\x1b\x4b\x5e\x70\x4f\x65\x1f\xd6\xfb\x53\x73\x07\xb5\x86\x97\x7f\x42\x1d\x81\x80" -+"\x5f\x84\x08\x73\xf7\x84\xa3\x07\x69\x8f\x7f\x99\xb2\x1a\xf7\x9f\x07\x91\x9b\x9d\x98\x96\x1e\x9b\xa0\x9b\x92\x9d\x1b\xb2\x9a\x74" -+"\x4f\x1f\xfb\x86\x07\x8c\x64\x7e\x7c\x67\x88\x08\x73\xf7\x7e\xa3\x07\x69\x8e\x7e\x9b\xb1\x1a\xf7\x9f\x07\x90\x9b\x9e\x98\x95\x1e" -+"\x9c\xa1\x9b\x92\x9d\x1b\xb1\x9a\x73\x50\x1f\xfb\x86\x07\x8c\x63\x7e\x7c\x66\x89\x08\x73\xf7\x82\x07\x0e\xc7\x2d\x0a\x0e\x8f\x27" -+"\x1d\x0e\xc7\x97\x1d\x50\x67\x74\x51\x6c\x1f\xd0\xfb\x53\x73\x07\xb7\x85\x95\x80\x61\x1a\xfc\x89\x79\x0a\xfb\x10\x70\x50\x51\x6a" -+"\x6e\xa2\xb1\x7c\x1f\x0e\xc7\xf8\xac\xfb\x49\x15\x5e\x93\x82\x94\x8a\xb4\x08\xf8\xe7\x7c\x07\x3d\x53\x05\xb7\x58\x6c\x98\x59\x1b" -+"\xfb\x16\x2f\x22\xfb\x29\xfb\x1d\xd7\x2b\xf7\x01\xbb\xad\x9b\xb3\xb4\x1f\xfb\x1f\x07\x8a\x4c\x83\x82\x4b\x80\x08\x72\xf7\x9f\x07" -+"\xfb\x56\xf7\xc3\x15\x66\x81\x72\x76\x69\x1b\x4d\x6c\xcc\xf7\x17\xf7\x1c\xab\xd0\xca\xb3\xa6\x6b\x5b\x1f\x0e\x57\x35\x1d\x0e\x20" -+"\x2f\x1d\x0e\xfb\x37\x82\x1d\x0e\xc7\x23\x0a\x0e\x8f\xf8\x79\xd8\x1d\x7f\x88\x7d\x83\x78\x1e\x43\xfb\x4a\x3c\xf7\x5f\x05\x83\x9f" -+"\x8a\x8f\x92\x1a\x9a\x95\x92\xa4\x8d\x1e\x8e\x92\x8c\x8c\x93\x1f\xa3\xfb\x8e\x73\x07\xa2\x88\x91\x88\x91\x82\x08\x8e\xb9\x27\x63" -+"\x9b\x1f\xf7\x0c\xfb\xbc\x05\xa5\x06\xf7\x34\xf8\x20\x9e\xb7\x93\x93\xaa\x8e\x19\x0e\x2b\x0a\x0e\x8f\xf8\x78\xa3\x15\x7b\x90\x84" -+"\x8f\x84\x96\xfb\x28\xf7\x78\x18\xf0\xf7\x12\x9e\xa2\x9f\x96\xaa\x90\x19\xa3\xfb\x3c\x73\x07\xbb\x86\x8e\x8a\x79\x1a\x7c\x81\x7a" -+"\x6f\x6b\x1e\x85\x85\x7c\x78\x7c\x76\x76\xa7\x7e\x9d\x87\x91\x08\x76\xab\x7f\xa1\x93\x1a\x98\x98\x91\xad\x8c\x1e\xa3\xfb\x8e\x73" -+"\x07\xa5\x86\x91\x87\x9f\x6d\xf7\x14\xfb\x59\x18\x6e\x66\x70\x6a\x82\x7d\x6f\x64\x6f\x6c\x78\x7f\x82\x85\x80\x88\x79\x89\x08\x73" -+"\xf7\x3d\xa3\x07\x66\x8d\x7e\x92\x9a\x1a\x9b\xa5\xb4\xb1\xb9\x1e\x8e\x8e\x91\x93\x92\x94\x9d\x6f\x99\x76\x95\x7d\x9a\x75\x18\x95" -+"\x7c\x93\x78\x83\x1a\x7f\x7e\x85\x6b\x89\x1e\x73\xf7\x85\x07\x0e\x8f\x2a\x0a\x0e\x57\x2e\x0a\x0e\x25\xf7\xe8\xfb\x37\x15\x3e\x99" -+"\x6f\xac\x8a\xd7\x08\xf7\x3f\x07\x8a\xdf\x73\xa6\x2e\x9e\xe7\x9d\xa4\xa7\x8c\xdf\x08\xf7\x3f\x07\x8c\xd7\xa7\xac\xd8\x9a\x08\x97" -+"\x07\xfb\x32\x58\x69\xfb\x00\x89\x1f\xfb\x47\x07\x8a\x43\x74\x72\x38\x78\xdf\x77\xa1\x73\x8c\x43\x08\xfb\x47\x07\x8c\x21\xc0\x67" -+"\xf7\x31\x8c\x08\x0e\xfb\xa8\xcd\xfb\x8e\x15\xe3\xfa\x7a\x33\x06\x0e\x25\xc1\xfb\x43\x15\xf7\x32\xbe\xad\xf7\x00\x8d\x1f\xf7\x47" -+"\x07\x8c\xd3\xa1\xa3\xdf\x9f\x37\x9e\x75\xa3\x8a\xd4\x08\xf7\x47\x07\xf6\x89\x57\xad\xfb\x31\x1b\x7f\x07\xd8\x7d\xa7\x6a\x8c\x3f" -+"\x08\xfb\x3f\x07\x8c\x37\xa4\x6f\xe7\x79\x08\x2f\x79\x71\x6e\x38\x1a\xfb\x3f\x07\x8a\x3f\x6f\x6a\x3e\x7c\x08\x0e\xa3\xf8\x48\xf7" -+"\xd4\x15\x6b\x72\x78\x7e\x73\x1b\x79\x78\x91\x9f\x5f\x1f\xab\x45\x6b\x95\x6b\x1b\x56\x64\x71\x51\x6b\x8b\x0a\xac\xa1\xc9\xb7\x1f" -+"\x0e\xfb\x37\xf7\x3c\xf8\x89\x15\x5a\x66\x67\x5c\x5b\xb1\x65\xba\xb9\xb1\xb1\xb9\xbb\x67\xb0\x5c\x1f\x7c\xfb\x8b\x15\x7e\xfb\x10" -+"\x81\x5b\x6e\x2b\x08\x7d\x5e\x87\x79\x72\x1a\x4b\xaa\x66\xc0\xc1\xaa\xb0\xca\xa4\x87\x9e\x7d\xb8\x1e\x6e\xeb\x81\xbc\x7e\xf7\x0f" -+"\x08\x0e\x8f\xf8\x41\xf8\xe0\x15\x63\x06\x5f\xfb\x0f\x05\x91\x73\x7c\x8d\x76\x1b\xfb\x19\x28\x20\xfb\x23\x44\xa1\x4f\xb5\x60\x1f" -+"\x9d\x79\x98\x81\xac\x7b\x58\xfb\x25\x18\xb3\x06\xba\xf7\x19\x05\x86\x9e\x97\x89\x9e\x1b\xb2\xb0\x95\x9e\xad\x1f\xa6\x9a\x9f\x9e" -+"\xad\xb5\x79\x9d\x18\x62\x69\x6f\x7c\x60\x1b\x69\x75\x95\xa6\x70\x1f\xdd\xf7\x7a\x05\x7d\x97\x98\x85\x9e\x1b\xb3\xa5\xa4\xb1\xb1" -+"\x78\xa6\x5f\xa3\x1f\xfb\x30\xfb\xd8\x15\x75\xba\x82\xb3\xc6\x1a\xf2\xac\xcc\xbe\xa4\x9d\x79\x73\x1e\x88\x07\x0e\x8f\xf8\x14\xf8" -+"\x09\x15\xfb\x06\x06\x78\xe0\x77\xf7\x03\xa1\x1a\xb1\xa1\xa4\xad\xa8\x9b\x7a\x6e\x8a\x1e\x89\x5f\x05\x65\x89\xa5\x70\xb1\x1b\xb5" -+"\xa5\xa6\xb8\xd1\x51\xb6\x2e\x59\x5e\x7e\x74\x6c\x1f\x5b\x68\x6e\x4f\x4b\x1a\x6d\x8e\x72\x96\x4e\x1e\x3b\x4a\xed\x06\x8f\x80\xa9" -+"\x36\x90\x77\x8d\x68\x19\x90\x77\x7e\x8d\x79\x1b\x46\x66\x6b\x4f\x55\xab\x6c\xc3\xb8\xad\x9e\xb6\xac\x1f\x5a\xc2\xa6\x7d\xb6\x1b" -+"\xb3\xab\x9c\xaa\xa0\x1f\xa0\xaa\x95\xb2\x92\xda\x08\x74\x06\x54\x7c\x74\x7b\x4c\x1b\x70\x72\x91\x9b\x5f\x1f\x9b\xba\x8f\xa3\xbc" -+"\x1a\x9f\x8a\x9a\x8a\x9e\x1e\xf7\x01\x06\xfb\x5f\xfb\x72\x15\x5a\x7d\x76\x77\x66\x1b\x69\x75\x9e\xa9\xab\xa1\x9f\xad\xa5\x9e\x83" -+"\x73\xa6\x1f\x0e\xfb\xdd\xf7\xa5\x3b\x1d\x0e\x8f\xf8\x56\xf7\xb8\x15\xbd\xfb\x03\x07\xf7\x24\xf7\xa3\x98\xa3\x9c\x95\xad\x8e\x19" -+"\xa5\xfb\x61\x71\x07\xcb\x88\x99\x83\x6b\x1a\x7f\x88\x7f\x86\x80\x1e\xfb\x0b\xfb\x7a\x7c\xa8\x7c\xaa\x7d\xa7\x7e\xa3\x19\x6d\xc5" -+"\x05\x66\xd4\x82\xa1\x99\x1a\xa0\x9c\x92\xc7\x8c\x1e\xa5\xfb\xc1\x71\x07\xb4\x88\xa2\x7d\x9e\x67\xf7\x16\xfb\x93\x18\x28\x59\xf7" -+"\x10\x06\x96\x76\x05\x52\xfb\x1b\x59\xf7\x1b\x5a\x07\x89\x45\x7a\x7d\x38\x85\x08\x72\xf7\xdf\xa4\x07\x3a\x91\x7b\x99\x89\xd1\x08" -+"\xbc\xf7\x1b\xbd\xfb\x1b\xce\x07\x8f\x96\x05\x0e\x8f\xd5\xf8\x1e\x15\xf7\x08\x06\x7e\xfc\x2a\x05\x47\x89\x71\x5e\x66\x1b\x7f\x81" -+"\x92\x94\x8e\x8d\x8e\x90\x91\x1f\x93\x95\x8e\x92\x96\x1a\xa8\x75\x9f\x6c\x6a\x75\x74\x69\x5b\xaf\x6d\xc4\xf5\xd2\xe3\xf7\x39\xa8" -+"\x1e\x93\xba\x8d\xa2\x98\xf7\x76\x08\xf7\x0e\xb9\xfb\x0e\xe5\x06\xec\xa1\xbc\xb5\x97\x96\x84\x83\x89\x89\x87\x88\x86\x1e\x83\x7f" -+"\x86\x7e\x7f\x1a\x72\xa3\x76\xa8\xaa\xa2\xa5\xae\xba\x63\xaa\x4d\x55\x5f\x75\x60\x6a\x1e\x68\x5e\x78\x54\x7a\x26\x08\xfb\x0c\x06" -+"\x0e\x8f\xf7\xae\xab\x15\xa7\x74\x94\x7b\x6c\x1a\x5b\x71\x74\x56\x67\x6b\x99\x9a\x8f\x8f\x8f\x96\x92\x1e\xa2\x99\x93\x96\x9c\x1a" -+"\xa9\x6d\xa5\x68\x67\x70\x6f\x66\x54\xce\x5e\xde\xeb\xcf\xc1\xd6\xc1\x6f\xb4\x41\xbf\x1e\xc1\x8c\xa7\x92\xa1\x9d\x08\xa2\x9e\x99" -+"\xaa\xaf\x1a\xaa\x84\xa7\x7e\xa1\x1e\x6d\xbe\x59\xbc\x49\xb6\x08\x46\xb9\x68\xb2\xad\x1a\xb4\xad\xa7\xbd\xa6\xa5\x81\x80\x87\x86" -+"\x84\x81\x83\x1e\x79\x7d\x82\x7c\x7d\x1a\x6f\xaa\x6e\xa8\xad\xaa\xaa\xac\xc0\x48\xb9\x3d\x34\x4d\x55\x3f\x5b\x9d\x71\xdd\x43\x1e" -+"\x5d\x74\x87\x7f\x76\x1f\x69\x78\x79\x66\x59\x1a\x48\xa5\x6a\xf7\x22\xfb\x07\x1e\x64\xf7\xce\x15\xa9\xb5\x70\x4c\xcd\x1f\xac\x6c" -+"\x95\x78\x70\x1a\x69\x75\x73\x6c\x6d\x76\x97\xc1\x4d\x1e\x4f\xbf\x82\x99\xb1\x1a\xab\xa1\xa2\xab\x1e\x0e\x8f\x71\xf7\x0b\x15\xc5" -+"\x51\xeb\xed\x05\x71\xb5\xaf\x80\xb7\x1b\xb7\xaf\x96\xa5\xb5\x1f\xeb\x29\xc5\xc5\x29\xed\x05\xa5\xb0\x96\xaf\xba\x1a\xb9\x81\xac" -+"\x70\xb6\x1e\xed\xed\x51\xc3\x2b\x2b\x05\xa4\x63\x68\x95\x5c\x1b\x5d\x67\x81\x72\x63\x1f\x2b\xeb\x51\x53\xed\x29\x05\x71\x63\x80" -+"\x67\x5d\x1a\x5c\x96\x69\xa5\x64\x1e\xf7\x46\xf7\x91\x15\xd2\xc3\x50\x3f\x44\x51\x4f\x46\x44\x53\xc6\xd5\xd6\xc3\xc5\xd2\x1f\x0e" -+"\xfb\x6e\xf7\x34\xf8\x28\x15\xad\xf7\x26\x95\xbe\xa2\x1a\xb2\x6f\xa7\x66\x64\x72\x6f\x60\x75\x97\x4d\xa0\x37\x1e\x8d\x84\x8f\x78" -+"\x90\x75\x08\x0e\x8f\xf7\x5a\xf9\x47\xcd\x1d\xbe\xb9\x6d\xab\x60\xae\x1d\xf7\x97\xa1\x15\xfb\x08\x48\x59\x4a\x34\x1a\x46\xb4\x5c" -+"\xc7\xbd\xac\xab\xbd\xba\x6e\xab\x5f\x86\x85\x8b\x8a\x85\x1e\x8a\x88\x89\x8b\x89\x1b\x80\x83\x94\x97\xb3\xad\xb4\xd6\xbf\x1f\x0e" -+"\x8f\xf7\x41\xf7\x89\x74\x0a\x90\x87\x90\x86\x8f\x88\x8d\x8a\x19\x8a\x0a\xf7\x66\x9d\x15\xa7\xae\x9b\xa0\x90\x92\x08\xb1\xc0\x9a" -+"\xa5\x9c\x1a\x92\x87\x8f\x83\x83\x83\x87\x7e\x7c\x1e\x8a\x8a\x89\x89\x88\x89\xfb\x5f\xfb\x38\x18\x87\x07\xf7\x62\xfb\x3a\x8c\x8a" -+"\x8c\x8a\x8e\x89\x19\x90\x86\x8f\x88\x8d\x8a\x08\x83\x94\x91\x89\x91\x1b\x92\x8f\x91\x94\x9f\x70\xb6\x58\xc6\x1f\x7d\x9c\x7f\x9b" -+"\x7d\xa0\x08\x0e\xfb\x37\xf7\x5d\xf7\x89\x74\x0a\x8c\x8a\x8c\x8a\x8e\x89\x19\x90\x86\x8f\x88\x8d\x8a\x08\x8a\x0a\x0e\xfb\x37\xf7" -+"\x18\x7b\x1d\x0e\xc7\xf8\xac\xa3\x15\x68\x8c\x7d\x9b\xb3\x1a\xf8\x1c\x07\x39\x83\x49\x86\x74\x83\x1d\x41\x53\x79\x67\x66\x1e\x63" -+"\x63\x7c\x5d\x89\x31\x08\x65\x1d\x81\x80\x5d\x86\x08\x73\xf7\x87\x3a\x0a\xf3\x07\xa5\x8a\x93\x84\x71\x1a\xfb\xc2\x07\x8c\x65\x7e" -+"\x7c\x68\x87\x08\x73\xf7\x7f\x07\x0e\xc7\xf8\xac\xa3\x15\x7f\x8c\x05\x72\x8d\x7f\x9e\xae\x1a\xf8\xf5\x78\x07\x5c\x6d\x05\xa1\x55" -+"\x61\x94\x55\x1b\x49\x57\x77\x65\x69\x1f\x6b\x67\x7e\x5d\x88\x31\x08\x65\x1d\x81\x80\x5d\x86\x08\x73\xf7\x87\x3a\x0a\xf7\x1e\xfb" -+"\xe4\x07\x68\x80\x7a\x6f\x87\x1e\x83\x8a\x05\x73\xf7\x7f\x07\xfb\x50\xf8\x61\x15\xfb\x1e\xc9\x06\xf1\xa0\xac\xce\xa5\x9b\x83\x7e" -+"\x87\x89\x85\x88\x84\x1e\x85\x80\x89\x83\x84\x1a\x7b\x94\x7c\x97\x87\x1e\x0e\x8f\xf7\xa3\x04\x31\xf8\x88\xe5\x07\x0e\x8f\xf7\x99" -+"\xfb\x1a\x15\x90\xf7\x24\x8d\xe0\xa1\xf6\xa6\xc9\x19\x8c\x8d\x8b\x8c\x8c\x1a\x8d\x89\x8e\x88\x8f\x1e\x69\xb6\x77\xcc\x8d\xc8\xb1" -+"\x89\x93\x89\xb3\x77\x08\x7d\xa5\x99\x87\x9b\x1b\xaa\x9e\x9f\xab\xac\x78\xa0\x6b\x7c\x80\x87\x7f\x71\x1f\x64\x79\x7b\x86\x69\x86" -+"\x08\xc0\x8f\x99\xa3\xba\x1e\x99\xa7\x8f\x97\x9b\x1a\xae\x77\x9f\x67\x68\x75\x74\x66\x7c\x8e\x83\x97\x76\x1e\xa2\x62\x8f\x7b\x8d" -+"\x4b\x67\x8f\x7f\x8e\x65\x9f\x08\x98\x72\x7f\x8f\x7b\x1b\x6a\x78\x78\x69\x6a\x9f\x76\xa9\x9c\x96\x8e\x98\xa3\x1f\xb0\x9f\x95\x8e" -+"\xb5\x8f\x89\x38\x83\x71\x6c\x60\x08\x83\x80\x86\x82\x87\x1a\x87\x8d\x85\x8e\x84\x1e\xa5\x48\x9d\x2d\x8d\x39\x90\xfb\x24\x18\x0e" -+"\x8f\xf7\x71\xf8\x65\x15\x76\x8c\x80\x8f\x6a\x9b\x08\x98\x6f\x79\x91\x7b\x1b\x6e\x77\x77\x6d\x6e\xa0\x77\xa8\x99\x99\x8f\x97\xa4" -+"\x1f\xb6\x9e\x94\x8e\xb2\x8d\x89\x49\x80\x6a\x61\x47\xb4\x47\x97\x66\x8d\x4c\x68\x8d\x81\x8e\x60\x9e\x08\x97\x6f\x7d\x90\x7c\x1b" -+"\x6f\x76\x76\x6f\x6d\x9f\x77\xa9\x9a\x9d\x90\x99\xa7\x1f\xa7\x99\xa7\x94\x94\x89\x08\x9d\x06\x8a\x55\x87\x7c\x75\x5a\x08\x7f\x70" -+"\x88\x80\x7c\x1a\x6a\xa0\x76\xab\xab\xa3\xa2\xab\x9a\x87\x97\x7f\xa7\x1e\x74\xbe\x87\x9d\x8a\xba\xb0\x88\x98\x87\xb5\x79\x08\x7f" -+"\xa4\x99\x87\x97\x1b\xaa\x9f\x9e\xa8\xaa\x79\x9d\x6d\x7a\x7e\x87\x7e\x6f\x1f\x79\x62\x7e\x87\x69\x1b\x8c\xca\x99\xba\xab\xb9\x08" -+"\x90\x90\x8d\x90\x8d\x1a\x8d\x89\x90\x86\x90\x1e\x6e\xb1\x79\xc6\xc5\x1a\xb0\x8a\x99\x88\xb5\x77\x08\x7f\xa4\x96\x88\x9a\x1b\xaa" -+"\x9e\x9e\xa9\xa9\x77\x9e\x6d\x7e\x7d\x87\x7f\x72\x1f\x60\x79\x7f\x87\x66\x88\x8c\xb9\x8f\x9e\xa2\xbf\x08\x97\xa7\x8f\x98\x99\x1a" -+"\xab\x73\xa2\x6b\x6b\x76\x75\x6b\x7c\x8e\x80\x97\x70\x1e\xa1\x59\x8f\x7b\x8c\x55\x08\x0e\xfb\x8a\x50\x1d\xb7\xf7\xb9\xf9\x1f\x15" -+"\xbd\xfd\xd9\xf7\x3f\xa4\x06\x44\x92\x87\x8e\x8a\xb5\x8a\x95\x18\xb1\x07\xf8\xf8\x07\xb1\x07\x8c\x95\x05\xb2\x91\x90\xbc\x91\x1e" -+"\x8f\x96\x8c\x8c\x96\x1f\xa4\xfb\xc0\x07\xfb\x2b\x47\x4e\xfb\x1a\x32\xab\x4a\xc7\x68\x1f\xa9\x79\xa5\x84\xbe\x89\x08\xfb\xda\x07" -+"\x65\x07\x8a\x81\x05\x62\x85\x87\x41\x84\x1e\x72\xf7\x43\x07\x2d\xf8\x70\x15\x40\xa6\x69\xc8\xf4\x1a\xbc\x94\xb3\x9b\xa5\x1e\x9c" -+"\xa8\x9f\x97\xba\x97\x08\x0e\xfb\x26\xf7\x44\xf8\x72\x15\x3e\x4b\x4c\x3f\x3b\xc8\x4e\xdb\xd9\xc8\xc8\xd9\xda\x4d\xc9\x3e\x1f\x0e" -+"\xfb\x37\xec\x6d\x0a\x0e\x8f\xf7\xc2\x6d\x0a\xfb\x97\x75\x6f\x0a\x8f\xf7\xc2\x85\x1d\xfb\x97\x75\xa9\x0a\x6b\x59\x5b\xa8\x6c\xb8" -+"\x90\x90\x67\x1d\x7e\x65\x69\x61\x40\x57\x1f\x0e\x8f\xf7\x17\x7b\x1d\xf7\x4a\x79\x15\x6f\x68\x7b\x76\x86\x84\x08\x65\x56\x7c\x71" -+"\x7a\x1a\x83\x8f\x88\x93\x94\x91\x8e\x99\x9a\x1e\x8e\x8c\x8d\x8d\x8d\x8d\xf7\x5f\xf7\x38\x18\x8f\x07\xfb\x62\xf7\x3a\x05\x9a\x78" -+"\x7f\x93\x86\x1b\x84\x86\x85\x82\x77\xa6\x61\xbe\x4e\x1f\x98\x7c\x97\x7b\x9a\x75\x08\x0e\xf8\x8c\xf7\x3a\xf7\x30\x15\x2d\x1d\xf7" -+"\xe1\x16\x2d\x1d\xf7\xe1\x16\x2d\x1d\x0e\xf8\x8c\xf8\xd0\xf9\x56\x15\x5b\x06\x4b\x58\x5a\x70\x49\x1b\x67\x78\x92\xa2\x6f\x1f\xa0" -+"\x71\x78\x93\x71\x1b\x22\x2f\x27\xfb\x05\x39\xbf\x52\xd5\xaf\xb0\x9b\xa7\xa7\x1f\xb4\xb4\xa8\xd9\xcf\x1a\x98\x8a\x96\x89\x9f\x1e" -+"\x81\xa4\x99\x88\xa0\x1b\xb4\xab\x97\xa9\xb3\x1f\xfc\x18\xfd\x23\x05\xbb\x06\xd3\xf9\x2b\x15\x90\x8f\x89\x84\x95\x1f\x96\x84\x8e" -+"\x8a\x92\x88\x08\xa5\x81\x91\x81\x69\x1a\x20\x4e\x26\x4b\x6a\x7a\xa3\xb7\xe4\xc9\xf7\x14\xb4\x88\x1e\xf9\x42\xfb\xc1\x15\x21\x31" -+"\x29\xfb\x06\x36\xbd\x55\xd8\xb1\xaf\x9a\xa6\xa5\x1f\xb7\xb9\xa7\xd4\xd1\x1a\xd6\x64\xb8\x4b\x1e\x9e\x6a\x15\xad\xa4\x68\x5d\x58" -+"\x76\x48\x6e\x61\x1f\x69\x74\x72\x7c\x6e\x1b\x6b\x7a\xa2\xb7\xbf\xa5\xde\xab\xb9\x1f\xa8\x9e\x9e\x98\xa0\x1b\xfc\x11\xac\x15\x24" -+"\x2e\x27\xfb\x01\x35\xbd\x53\xd8\xb2\xae\x9a\xa6\xa5\x1f\xb8\xba\xa7\xd4\xd1\x1a\xd5\x64\xb8\x4a\x1e\x9f\x6a\x15\xad\xa4\x69\x5d" -+"\x57\x76\x48\x6e\x61\x1f\x6a\x74\x72\x7b\x6e\x1b\x69\x7b\xa2\xb9\xbe\xa6\xdc\xaa\xb9\x1f\xa8\x9f\x9e\x99\xa0\x1b\x0e\x8f\xf7\x8b" -+"\xf7\x95\x15\x42\x83\x7d\x4c\x64\x1e\x2f\x53\x6e\x62\x46\x1a\x27\xda\x49\xf7\x0d\xf7\x02\xd9\xc7\xdf\xb7\x6e\xab\x63\x66\x72\x71" -+"\x65\x77\x90\x7f\x9c\x78\x1e\x97\x7e\x8e\x85\x81\x1a\x73\x73\x7b\x67\x55\x6c\xba\xde\xc0\x95\xac\xac\xca\x1e\xa3\xb9\x93\xa2\xa7" -+"\x1a\x92\x8b\x97\x8a\x98\x1e\x8a\x99\x05\x7c\xf7\x88\x15\x5b\x66\x67\x5b\x5c\xb1\x65\xb9\xb9\xb2\xb2\xb8\xbb\x66\xb0\x5c\x1f\x0e" -+"\xfb\x37\xf7\x8a\xf8\xa4\x28\x1d\xfb\x37\xe1\xf8\xa4\x32\x1d\xfb\x37\xf7\xaa\xf8\xa4\x20\x0a\xfb\x37\xa5\xf8\xb9\x64\x0a\xfb\x37" -+"\xf7\xdf\xf9\x11\x22\x0a\xfb\x37\xf7\xa6\x6c\x0a\xfb\x37\xf7\x39\xf9\x2f\x2a\x1d\xfb\x37\xc8\xf9\x2f\x28\x0a\xfb\x37\xf7\x3b\xf9" -+"\x82\x38\x1d\xfb\x37\xf7\x08\x2b\x15\x96\x83\x05\x8e\x96\x92\x8c\x95\x1b\xa8\x9c\x7e\x74\x70\x77\x7d\x65\x7b\x7e\x8e\x94\x73\x1f" -+"\x85\x8d\x2f\x0a\xa7\xcb\x05\x61\x06\x0e\xfb\x37\x7e\xf8\xa4\x87\x1d\xca\xfb\x31\x32\x1d\xfb\x37\xf7\x32\xab\x15\x86\x85\x8a\x89" -+"\x83\x81\x08\x62\x59\x7e\x71\x6d\x1a\x5c\xb7\x69\xc9\x92\x0a\x62\x75\xa1\xb5\x9a\x8e\x9d\x94\xaa\x1f\x8e\x95\x8c\x8e\x8c\x92\x08" -+"\x0e\xfb\x37\xf7\xe3\xf9\x54\x21\x0a\xf8\x8c\xf3\x1d\xf8\x8c\xd0\x1d\x57\x69\x68\x08\x62\x63\x50\x77\x36\x1b\x4f\x7b\x96\xb6\x1f" -+"\xf7\x87\x07\xf7\x04\x84\xa4\x71\x9d\xb9\x1d\xa3\x99\x91\xc3\xe5\xc7\x7a\x68\xa7\x1e\xa0\x71\x95\x72\x98\x4c\xa4\x0a\x82\x77\x78" -+"\x6b\x1e\x8a\x88\x88\x86\x88\x86\x6b\x0a\x7c\x42\x87\x08\x3b\xf7\xd2\x15\xf7\x35\xf7\xb6\x05\x92\xfb\xb6\x06\x0e\xfb\x58\xf7\xb7" -+"\xf8\x4f\x15\x85\x85\x05\x89\x89\x8a\x8b\x88\x1b\x83\x88\x8f\x96\x1f\xf7\x30\x07\xbe\x5a\xaa\x3d\x3c\x59\x6e\x5d\x72\x9a\x7c\xa6" -+"\xa7\x9f\x99\xa0\x92\x88\x91\x83\x93\x1e\x84\x91\x89\x90\x8e\x1a\x97\x9d\x95\xa2\xaf\x99\x7c\x66\x1e\x63\x07\xfb\x1b\x68\x64\x72" -+"\x59\x1a\x64\xa9\x70\xb7\xb1\xa8\x97\xa8\xae\x1e\x6d\x92\x99\x80\xab\x1b\xa8\x9f\x94\xa4\xa3\x1f\xfb\x15\xad\x15\x79\x7e\x7d\x83" -+"\x7b\x1b\x78\x7e\x9c\xa2\xad\xa4\xa3\xbd\x9a\x1f\x0e\xf7\x3f\xf9\x12\xf7\x77\x15\x6e\x06\x6a\x3d\x77\x6c\x68\x6b\x08\x66\x62\x53" -+"\x79\x3d\x1b\x4e\x79\x98\xb6\x1f\xf7\xba\x07\xf7\x0f\xd7\x05\xc8\x07\xfb\x0f\x3f\x05\xf7\x09\x07\x8d\xd8\x99\x98\xe0\x8d\x08\xa4" -+"\xfb\xf1\x72\x07\xcd\x88\x9e\x7b\x8c\x57\x08\xfb\x7d\x07\x3a\x5a\x05\x4e\x07\xdc\xbc\x05\xfb\x52\x07\x8a\x57\x7d\x80\x44\x83\x08" -+"\x72\xf8\xd6\x07\x0e\xf7\xae\x84\x1d\x68\xca\xbf\x7d\xd3\x1b\xf7\x63\xf7\x27\xf7\x27\xf7\x64\xcf\x7b\xcb\x6c\xc2\x1f\x75\xb1\x78" -+"\xa0\x5b\xb3\x08\xfc\x09\xfc\x6b\x15\x7a\xc7\x86\xb6\xd5\x1a\xf7\x68\x99\x1d\x0e\xf8\x8c\xfa\x69\xf7\x67\x15\x70\x06\x6a\x45\x76" -+"\x6d\x67\x6f\x08\x69\x61\x5a\x7d\x41\x1b\x51\x7d\x95\xb1\x1f\xf7\x8e\x07\xf5\x85\xa9\x6b\x9a\xfb\x0b\x08\xa2\xf7\xe6\x74\x06\x71" -+"\xfb\x13\x78\x78\x21\x89\x08\xf7\x8d\x07\x9f\x98\x91\xb5\xd4\xc5\x80\x79\xa9\x1e\xb4\x71\x9b\x6b\x99\x3c\x08\xa5\xf7\x5d\xfc\x30" -+"\x06\x89\x06\x8a\x06\x5b\x8e\x78\x8c\x05\x8e\x55\x75\x8c\x79\x1b\xfb\x5f\xfb\x1f\xfb\x22\xfb\x64\xfb\x04\xb5\x29\xd4\x4f\x1f\x5e" -+"\xc2\xd8\x73\xe5\x1b\x99\x9a\x8c\x8c\x99\x1f\x8d\x9d\xb5\x8c\xba\x1b\xf8\x42\x06\xfc\x67\xf7\x68\x15\x27\x87\x6a\x7a\x76\x1e\x75" -+"\x7a\x73\x82\x5f\x1b\x48\x63\xa0\xbb\x70\x1f\x73\xb5\x7b\xe6\xe6\x1a\xf7\x70\xc9\xf7\x04\xf7\x0f\xaf\xa6\x81\x77\x98\x1e\x9a\x76" -+"\x8f\x71\x43\x1a\x0e\xfb\x3a\xf7\x39\xf9\x44\x15\x36\x4d\x4d\x37\x38\xc9\x4d\xde\xe2\xc9\xc7\xe1\xde\x4c\xc9\x37\x1f\x76\x04\xb0" -+"\x97\x6c\x27\x32\x7f\x6d\x65\x67\x7e\xab\xe4\xed\x97\xaa\xb1\x1f\x0e\xf9\x34\xf7\x14\x15\x5b\x65\x67\x78\x5a\x1b\x3a\x80\x0a\x65" -+"\x65\x99\x4a\x1b\x21\x3e\x56\x43\x64\xa6\x72\xb5\xb3\xa2\x9f\xb0\x9e\x87\x94\x7e\x9a\x1f\x82\x95\x88\x90\x92\x1a\x9f\xa6\x9a\xb1" -+"\xc3\xa1\x74\x51\x1e\x3b\x07\xfb\x15\x61\x5f\x7a\x69\x74\x08\x65\x70\x79\x6a\x5f\x1a\x44\xb4\x66\xd8\xcd\xc5\xa6\xc3\xc3\x1e\x91" -+"\x91\x05\x4d\xb1\xb2\x75\xd1\x1b\xea\xc2\xab\xe5\xc6\x1f\xfc\x21\x6b\x15\x72\x73\x7d\x84\x73\x1b\x65\x78\xa3\xba\xca\xaa\xac\xe3" -+"\xab\x1f\xf7\x1e\xb0\x15\xf7\x09\x9d\xb4\xbe\xbb\x9b\x6c\x2d\x1e\x6a\x07\x0e\xfb\x6e\x29\x1d\x0e\xfb\x6e\xf7\x62\xf8\x24\x15\xec" -+"\xdb\x05\xbd\x07\x2a\x3b\x05\xf7\x76\x5a\x1d\xfb\x7d\x07\x32\x43\x05\x59\x07\xe4\xd3\x05\xfb\x77\x98\x0a\xa3\x07\x6b\x7b\x9f\xb3" -+"\x8a\x1f\x0e\x8f\xe8\x1d\x67\x6e\x92\x65\x1b\xfb\x16\x2a\x23\xfb\x20\x3b\xa4\x52\xc7\x53\x1f\x3f\xfb\x14\x05\xba\x06\xca\xf4\x05" -+"\x78\xaf\xaa\x83\xb3\x1b\xf7\x16\xea\xf2\xf7\x20\xdd\x71\xc7\x4d\xc2\x1f\xfb\x6b\xfb\xb2\x15\x8a\x9f\x8b\xa1\xa7\x1a\xf7\x48\xaa" -+"\x1d\x68\x77\x9d\xb8\x7e\x1e\x0e\xf9\x38\xf7\x11\x15\x57\x5d\x71\x7c\x5d\x1b\x3d\x67\xc0\xf7\x06\x1f\x8e\x07\x9c\xf7\x8d\x07\x87" -+"\xd0\x84\xac\x78\xaf\x08\xc6\x6c\x53\xaa\x41\x1b\x59\x6d\x80\x65\x5a\x1f\xae\x68\x67\x99\x55\x1b\xfb\x18\x2d\x25\xfb\x22\xfb\x24" -+"\xe6\x28\xf7\x18\xc5\xb3\x99\xad\xb3\x1f\x69\xa9\xac\x7d\xbf\x1b\xdf\xbc\xa9\xe8\xcc\x1f\xfb\x90\xf7\x41\x15\xc1\x07\xd2\xa2\xb0" -+"\xb5\xb3\x9c\x6c\x40\x8e\x1e\x83\x8c\x75\x8c\x71\x1e\xfb\x9b\xfb\x19\x15\x2f\x77\x62\x5d\x53\x78\xc4\xf7\x43\xf7\x2a\x9c\xb9\xc2" -+"\xbd\x9e\x66\x2b\x1e\x0e\xc7\x9e\x16\xf7\x52\xf8\xde\x06\xbd\xa0\xa6\xb2\xbc\xa0\x64\x2d\x28\x7e\x74\x52\x8a\x1e\x69\x07\xac\x89" -+"\x9b\x86\x9a\x7f\x08\xa5\x75\x97\x59\x34\x1a\xfb\x19\x7d\x64\x5c\x82\x87\x8c\x91\x82\x1e\x81\x92\x7d\x69\x05\x80\xa9\x9b\x87\x9d" -+"\x1b\xf4\xdf\xe6\xf7\x07\xc0\x7a\xb7\x6a\xaa\x1f\x6b\xaa\x69\x9c\x3a\xa2\xbc\x96\xa1\x94\xa5\x9d\x08\xb1\xa5\xa0\xb1\xb5\x1a\xe4" -+"\x36\xcc\xfb\x06\xfb\x0d\x35\x3e\x20\x1e\xfc\x38\x07\x8a\x5c\x83\x81\x61\x85\x08\x0e\xfb\x58\xf7\xa5\xf7\xbb\x8e\x1d\x0e\xd5\xf8" -+"\x55\xf7\x00\x15\xe3\xf7\xb7\xfc\x8c\x33\xf8\x34\x06\x0e\xc7\xf8\x6f\xf8\x61\x15\xfb\x1f\xfb\xfb\x06\x79\x6f\x72\x82\x76\x1b\x69" -+"\x74\xa9\xb7\x1f\xf7\xcc\xfb\x1f\xfc\x09\x07\x54\x85\x61\x7a\x4c\x1e\x84\x6e\x88\x7c\x7e\x1a\x5a\xa3\x6f\xb4\xb4\xa1\xa6\xbc\x9d" -+"\x87\x9e\x81\xad\x1e\x7e\xb4\x89\x92\x87\xac\x08\x72\xac\xa7\x81\xb4\x1b\xb5\xa4\x98\xb2\xab\x1f\x67\xa1\xa9\x7b\xbc\x1b\xb5\x9f" -+"\x94\xb3\xb7\x1f\xa3\x07\x86\x82\x86\x8a\x84\x1b\x75\x79\xa0\xa5\x1f\x0e\xf8\x8c\xf7\x8f\xf9\x20\x15\xb9\x06\xae\xa0\x76\x60\x95" -+"\x1f\xa2\xe3\xfb\xfe\x33\xa2\x06\xb6\x95\xa0\xa0\xad\x1b\xb9\xfb\xc9\x06\x60\x8a\x8a\x5a\x87\x1e\x74\xf7\x56\xa2\x07\x59\x8f\x8a" -+"\x8c\xb6\x1a\xf8\x35\x43\x15\x98\x06\xf7\x29\xf7\xbe\x05\xfb\x76\x07\x6d\x89\x85\x85\x87\x1e\x83\x86\x87\x8b\x6d\x88\x08\x74\xf7" -+"\x56\xa2\x07\x59\x8f\x8a\x8c\xb6\x1a\xf7\x9a\x07\xb0\x95\x93\xb7\x8e\x1e\xa2\xfb\x0a\x07\xfb\x2b\xfb\xb5\xfb\x22\xf7\xb5\x05\xfb" -+"\x1f\x74\x06\xa9\x8a\xa4\x79\x9a\x6a\x08\xfb\x81\x07\x54\x83\x80\x5f\x88\x1e\x74\xf7\x19\xa2\x07\x5f\x8e\x83\x96\xc2\x1a\xf7\x5f" -+"\x07\x0e\x57\x0a\xf7\x92\xf8\xd1\x3b\x1d\xfc\x1b\x89\x1d\xf8\xad\xfb\x28\x15\x7b\x06\x79\x60\x84\x88\x47\x8a\x08\x35\x90\x06\xe8" -+"\xe2\x05\xc1\xbe\x9f\xae\xb8\x1a\xcb\x59\xb9\x46\x4a\x5e\x65\x37\x69\x1e\xa3\x06\xb2\xa0\xa0\x9a\xad\x1b\xb5\xac\x6a\x60\x51\x68" -+"\x5b\xfb\x29\xfb\x29\x1f\x7d\xf7\xa2\x07\x0e\xd5\xf7\x85\xf7\xfb\x15\xfb\x64\x33\xf7\x64\xfb\x23\xe3\xf7\x23\xf7\x64\xe3\xfb\x64" -+"\xf7\x65\x33\x06\xfb\x64\xfc\xcc\x15\xf8\x8c\xe3\xfc\x8c\x06\x0e\xf7\x07\x9b\xb1\x0a\xc3\x07\xf7\x33\x8c\xaf\x91\xc2\xac\x08\xc5" -+"\xad\xa9\xbf\xcc\x1a\xf7\x0c\x2e\xc9\xfb\x47\x1e\x49\x97\x06\x8d\xd5\x93\x94\xd9\x95\x08\xa4\xfb\xe2\x72\x07\x4e\x1d\xf8\x57\x15" -+"\xa2\x9c\x97\xad\xdd\x4b\x0a\x75\x1e\x76\x73\x6a\x84\x44\x1b\x0e\xf7\x92\xf9\x52\xf7\x2d\x93\x1d\x91\xf7\xfc\xd6\x1d\xfc\x22\x89" -+"\x1d\x0e\xd5\xc1\x0a\xf7\x90\xf7\xdc\x15\x63\x67\x67\x63\x61\xae\x68\xb5\xb3\xaf\xb0\xb3\xb3\x67\xaf\x62\x1f\xfc\x33\x04\x62\x68" -+"\x68\x63\x61\xae\x67\xb5\xb2\xb0\xb0\xb4\xb3\x67\xae\x62\x1f\x0e\xfb\xa8\xcd\x78\x15\xe3\xf7\xa9\x33\x06\xf7\x30\x04\xe3\xf7\xa9" -+"\x33\x06\x0e\x2b\xf7\x5c\xf9\x44\x15\x3b\x4c\x4c\x3b\x3c\xca\x4b\xd9\xdd\xca\xc9\xdc\xdb\x4c\xca\x3b\x1f\x67\x04\xc2\xba\x5a\x51" -+"\x50\x5d\x5b\x52\x54\x5d\xbc\xc5\xc6\xb9\xbb\xc3\x1f\x0e\xc7\x97\x1d\x4f\x68\x74\x50\x6e\x1f\xf7\xb1\xfb\x56\x73\x07\xb8\x83\x94" -+"\x82\x8c\x62\x08\xfd\x61\x79\x0a\xfb\x0e\x6f\x4e\x54\x69\x71\x9f\xb4\x78\x1f\x0e\xf7\x92\xf8\xf9\x3b\x1d\xfc\xf9\x29\x80\x1d\xf7" -+"\x00\xe1\xd0\xe2\xbc\x71\xaf\x59\x9f\x1e\x8f\x07\xb0\x9f\x98\x9e\xae\x1a\xbe\x64\xa9\x48\x4a\x5b\x6e\x4d\x67\x1e\xf9\x24\xfc\x50" -+"\x93\x1d\x0e\xfb\x58\xf7\xc0\xf8\x26\x15\x7b\x06\x60\x79\x83\x87\x48\x1b\x2f\x06\xee\xe7\x05\xc1\xbd\x9f\xaf\xb7\x1a\xcc\x5a\xb9" -+"\x45\x4a\x5e\x65\x37\x69\x1e\xa3\x06\xb2\xa0\xa0\x9a\xad\x1b\xb5\xac\x69\x61\x51\x68\x5b\xfb\x29\xfb\x29\x1f\x7d\xf7\xa2\x07\x0e" -+"\xf7\x8f\xf7\x63\xf8\x96\x15\xb8\x89\x8c\x8a\x62\x1a\xfb\x93\x07\x63\x8a\x8a\x5e\x88\x1e\x79\xf7\x40\x9d\x07\x5e\x8e\x8a\x8c\xb3" -+"\x1a\xf4\xb0\x07\xa0\x69\x95\x7b\x9d\x67\x08\x4c\xac\x99\x79\x9b\x1b\xdc\x96\x06\x76\x9f\x77\xa4\x6e\xb3\x51\xdd\x18\xc1\xa1\xa5" -+"\xad\xbc\x1a\xc6\x5f\xb0\x44\x1e\xfb\x55\x06\xf7\x12\x75\x15\xaf\x06\xb4\x9f\x71\x56\x52\x75\x6b\x63\x1f\x68\x06\xb4\xf7\xf1\x60" -+"\x0a\xd5\xc1\x0a\x0e\x8f\xf7\x94\xf8\xd2\x15\xb4\x63\xa5\x61\x9e\x52\x89\x88\x18\xa9\x71\x74\x96\x61\x1b\xfb\x13\x2a\x22\xfb\x1f" -+"\xfb\x20\xeb\x24\xf7\x16\xf7\x22\xde\xf7\x05\xf7\x56\xcf\x81\xc6\x76\xbe\x1f\x73\xc8\x72\xab\x4e\xbd\xe7\xba\x18\x5a\xa9\x31\x5d" -+"\x59\xa5\x5a\x99\x4e\x91\x19\x5d\x72\xbd\x82\xb3\x79\xb6\x6c\x19\xfb\x09\x50\xbb\x6c\x05\xf5\x3f\x15\xc4\x9f\x55\xfb\x30\xfb\x37" -+"\x78\x57\x51\x71\x78\x96\xa1\x7e\x1f\x7b\xa9\x85\xb9\xeb\x1a\xf4\x92\xbe\x9c\xaa\x1e\xa1\x97\x9d\x96\xa5\x1b\x0e\xd5\xf7\x73\xf7" -+"\x91\x15\xfb\x43\xfb\x43\xc9\x4d\xf7\x43\xf7\x44\xf7\x43\xfb\x44\xc9\xc9\xfb\x44\xf7\x43\xf7\x44\xf7\x43\x4d\xc9\xfb\x43\xfb\x44" -+"\xfb\x43\xf7\x44\x4d\x4d\x05\x0e\xfb\x58\xaf\xf8\xe2\x80\x1d\xf7\x01\xe0\xd0\xe2\xbe\x71\xad\x55\xa1\x1e\xb4\xa1\x98\x9d\xaf\x1a" -+"\xbe\x64\xa9\x48\x4a\x5b\x6e\x4d\x67\x1e\x0e\xf7\x8f\xf8\xa1\xf7\x94\x15\x4a\x6b\x67\x71\x53\x1b\x3c\x5f\xcb\xf7\x07\xf7\x06\xb7" -+"\xca\xda\xc4\xac\x70\x4d\x9c\x1f\x9e\xd3\x06\x95\x85\x90\x7b\x91\x1e\x99\x64\x70\x90\x66\x1b\xfb\x1e\x33\x3b\xfb\x11\xfb\x0d\xde" -+"\x3f\xf7\x17\xa9\xa7\x8f\x95\xb0\x1f\x90\x8d\x92\x8c\x8b\x1a\x9e\x8f\x97\x94\x95\x1a\x9b\xd5\x05\xfb\x3e\xf8\x47\x60\x0a\x26\x0a" -+"\xfb\x0e\xf8\x8a\x22\x1d\xac\x9f\x92\x95\xa2\x1a\xa5\x78\x9d\x6e\x77\x7a\x82\x78\x7b\x1e\x0e\x26\x0a\xd2\xf8\x8a\x20\x0a\x26\x0a" -+"\xfb\x27\xf9\x15\x41\x0a\xa7\xaf\x4a\x0a\x26\x0a\xbd\xf8\x8a\x28\x1d\x8d\x1d\x99\xb2\xf0\x1e\xf7\x75\x06\xad\x3c\x97\x68\x7d\x1d" -+"\x61\xf9\x5c\x15\x51\x5a\x5a\x53\x4e\xba\x5c\xc6\xc7\xba\xba\xc6\xc5\x5b\xbc\x44\x1d\x6f\x6b\x6c\x70\x71\x6b\x6b\x4c\x0a\x0e\x26" -+"\x0a\xfb\x42\xf8\x9f\x15\xa7\x8f\x9f\x9e\xa5\x1b\x98\x93\x88\x78\xb5\x1f\xa8\x7e\x05\x83\x9e\xa5\x85\x9e\x1b\xc5\xaf\xb2\xe3\xa2" -+"\x1f\x60\x06\x67\x7f\x7d\x7e\x70\x1b\x7f\x88\x8c\x96\x72\x47\x0a\x4e\x66\x64\x35\x79\x1f\x0e\xf8\x25\x78\x15\xf7\x09\x8c\xd6\xb1" -+"\xe9\xf6\x6d\xa4\x18\x7c\x0a\xb5\x79\x65\xb7\x1e\xb6\x65\xa3\x68\xad\x40\x37\x0a\x52\x5a\x96\x5b\x1b\xfb\x5c\xfb\x29\xfb\x2d\xfb" -+"\x62\xfb\x50\xf7\x11\xfb\x22\xf7\x4a\x79\x1f\x8e\x8a\x68\x3c\x96\x83\x05\x8e\x96\x93\x8c\x94\x73\x0a\xf7\x3f\x24\x0a\xf7\x7b\xc9" -+"\x15\xc3\x06\xf7\x22\xe3\x05\xaa\x3c\x1d\x7b\x1e\x0e\xf7\x3f\x24\x0a\xf8\x3b\xc9\x15\xc4\x06\xfb\x10\xf7\x44\x05\x30\xea\x1d\xed" -+"\x05\x0e\xf7\x3f\x24\x0a\xf7\x62\xf7\x5d\x33\x0a\xf7\x3f\x24\x0a\xf8\x1b\xc9\x15\xfb\x1d\x42\x0a\x20\x27\x0a\xfb\x94\x83\x0a\x20" -+"\x27\x0a\x4b\xf9\x76\x20\x0a\x20\x27\x0a\xfb\xad\xfa\x01\x33\x0a\x20\x27\x0a\x25\xf9\x76\x28\x1d\x30\x1d\xf7\x5a\xf9\x72\x92\x1d" -+"\x7f\x88\x8c\x96\x73\x1f\x63\x9d\x05\x98\x6e\x74\xbd\x0a\xf7\xae\x26\x1d\x31\xdb\x32\x1d\xf7\xae\x26\x1d\xf1\xdb\x20\x0a\xf7\xae" -+"\x26\x1d\xfb\x07\xf7\x6f\x33\x0a\xf7\xae\x26\x1d\xd1\xdb\x28\x1d\xf7\xae\x26\x1d\xfb\x2a\xf0\x92\x1d\x80\x87\x8c\x96\x73\x47\x0a" -+"\x4d\x50\x0a\xc7\x33\x1d\x82\xf8\x4b\x21\x0a\x24\x1d\xfc\x1c\xe2\x22\x1d\xab\x3c\x1d\x7a\x1e\x0e\x24\x1d\xfb\x5c\xe2\x20\x0a\x24" -+"\x1d\xfc\x3c\xf7\x76\x41\x0a\xa7\xaf\x4a\x0a\x24\x1d\xfb\x93\xe2\x28\x1d\x2c\x0a\xfc\x16\xe2\x85\x0a\x2c\x0a\xfc\x33\xf7\x76\x33" -+"\x0a\xf7\x3f\x37\x1d\x22\xfa\x26\x21\x0a\x8f\x23\x1d\xfb\x1f\xf7\xaf\x43\x0a\xa5\x78\x9d\x6e\x77\x7b\x45\x1d\x8f\x23\x1d\xd0\xf7" -+"\xaf\x20\x0a\x8f\x23\x1d\xfb\x2e\xf8\x3a\x28\x0a\x8f\x23\x1d\xaf\xf7\xaf\x15\xfb\x1c\x42\x0a\x8f\x23\x1d\x56\xf8\x8d\x38\x1d\x8f" -+"\x23\x1d\xfb\x4b\xf7\xc4\x15\xa7\x8e\x9f\x9e\xa4\x1b\x99\x91\x89\x77\xb8\x1f\xa8\x7e\x05\x83\x9d\xa5\x85\x9f\x1b\xc3\xb1\xb3\xe2" -+"\xa2\x4c\x1d\x57\xf7\x9d\x7e\x15\xd0\x95\xbc\xaa\xba\xca\x79\x9d\x18\x5a\x0a\xfb\x18\xd9\x2e\xf7\x0b\x80\x1f\x66\x38\x96\x83\x05" -+"\x8e\x96\x92\x8c\x95\x73\x0a\x57\x25\x1d\xfb\x1f\xf7\x8a\x4f\x1d\x57\x25\x1d\xbd\xf7\x8a\x20\x0a\x57\x25\x1d\xfb\x42\xf8\x15\x28" -+"\x0a\x57\x25\x1d\x99\xf7\x8a\x28\x1d\xfb\x6e\x29\x1d\xfb\x5f\xf8\xa4\x32\x1d\xfb\x6e\x29\x1d\x80\xf8\xa4\x20\x0a\xfb\x6e\x29\x1d" -+"\xfb\x78\xf9\x2f\x15\x6a\x6d\x6d\x69\x67\xa8\x6d\xad\x4d\x1d\xfb\x6e\x29\x1d\x60\xf8\xa4\x28\x1d\xc7\x2d\x0a\xfc\x25\xf8\xb9\xaf" -+"\x1d\xc4\xaf\xb3\xe2\xa3\x4c\x1d\x8f\x27\x1d\x39\xe1\x22\x1d\xaa\x3c\x1d\x7b\x1e\x0e\x8f\x27\x1d\xf7\x02\xe1\x20\x0a\x8f\x27\x1d" -+"\x20\xf7\x75\x15\x6a\x6d\x6d\x69\x67\xa7\x6d\xae\x4d\x1d\x8f\x27\x1d\xd8\xe1\x15\xfb\x1c\x42\x0a\x8f\x27\x1d\xfb\x22\xf6\xaf\x1d" -+"\xc3\xb1\xb3\xe2\xa2\x4c\x1d\x20\x2f\x1d\xbb\xf8\x0e\x21\x0a\xc7\x23\x0a\xfb\xf4\xf8\x90\x4f\x1d\xc7\x23\x0a\xfb\x2b\xf8\x90\x20" -+"\x0a\xc7\x23\x0a\xfc\x0e\xf9\x1b\x28\x0a\xc7\x23\x0a\xfb\x47\xf8\x90\x28\x1d\x8f\x2a\x0a\xfb\xca\xe6\x38\x0a\x8f\x2a\x0a\xfb\xd4" -+"\xf7\x7a\x28\x0a\x57\x2e\x0a\x88\xf9\x54\x21\x0a\x3b\xf7\xf9\xf7\xbc\x15\x74\x8c\x85\x91\xa2\x1a\xf7\x28\x07\xc0\x6a\xad\x59\x6a" -+"\x73\x7e\x6d\x73\x1e\xaf\xfb\x0b\x77\x07\xa6\x87\x8e\x87\x8c\x73\x08\xfb\x42\x07\x8a\x73\x88\x87\x70\x86\x08\x77\xf7\x29\x9f\x07" -+"\x75\x8e\x84\x92\xa0\x1a\xf7\x32\x07\x8c\x07\x90\x90\x05\x9c\x98\x99\x93\x9a\x1b\x9d\x94\x7c\x6c\x1f\xfb\x23\x07\x8a\x75\x85\x84" -+"\x77\x89\x08\x77\xf7\x25\x07\x0e\xf7\x1c\xf7\x81\xf8\x35\x15\xf2\xfb\xe1\x06\x8a\x5f\x82\x7f\x66\x87\x08\x73\xf7\xa0\xa3\x07\x46" -+"\x8d\x7f\x96\x8a\xcd\x08\xf7\xce\xe2\xb7\x34\x39\x1d\xb0\xa4\xa4\xb0\xc6\x51\xb4\x36\x58\x61\x7d\x71\x6d\x1e\xa4\x73\x5f\x9a\x59" -+"\x1b\x47\x57\x73\x5f\x70\x1f\x9a\x0a\x73\xf7\x87\xa3\x07\x63\x8d\x85\x96\x8a\xcd\x08\xf7\xfa\x04\xf7\x0e\x07\xc2\x99\xa1\xaf\x9d" -+"\x96\x84\x7f\x86\x88\xbe\x0a\x70\x9e\x76\xa8\x85\x1e\x8a\x7a\x8a\x7b\x67\x1a\x0e\xf7\xfc\xa6\xf8\x61\x15\x5f\xc4\xfb\xe1\x07\xbb" -+"\x1d\xf7\xce\xf7\x1e\xfb\xe1\x07\x8a\x5f\x83\x80\x65\x86\x08\x73\xf7\x7d\x3a\x0a\xf3\x07\xa5\x8a\x93\x84\x71\x1a\xfb\xc2\x07\x8c" -+"\x65\x7e\x7c\x68\x87\x08\x73\xf7\x7f\xa3\x07\x68\x8c\x7d\x9a\xb4\x1a\xf8\x1c\x07\x39\x83\x48\x86\x75\x83\x1d\x32\x50\x73\x56\x65" -+"\x1e\xbb\x7c\x57\xa8\x42\x1b\x48\x57\x73\x5f\x70\x1f\x76\x68\x83\x62\x35\x1a\xf7\x1f\x16\x39\x1d\x95\x90\x8c\x8f\x97\x1e\x88\x7b" -+"\x8a\x7f\x89\x5e\x08\x0e\xf7\xfc\xa5\xf8\x61\x15\x5f\xc4\xfb\xe1\x07\xbb\x1d\xf7\xce\xf7\x1e\xfb\xe1\x07\x8a\x5f\x83\x80\x65\x86" -+"\x08\x73\xf7\x7d\x3a\x0a\xf7\x1e\xfb\xe4\x07\x68\x80\x7a\x6f\x87\x1e\x83\x8a\x05\x73\xf7\x7f\xa3\x07\x7f\x8c\x05\x72\x8d\x7f\x9e" -+"\xae\x1a\xf8\xf5\x78\x07\x5c\x6d\x05\xa1\x55\x61\x94\x55\x1b\x40\x55\x73\x5a\x69\x1f\xbb\x77\x5b\xa4\x44\x1b\x48\x57\x73\x5f\x70" -+"\x1f\x76\x68\x83\x62\x35\x1a\xf7\x1f\x16\x39\x1d\x95\x90\x8c\x8f\x97\x1e\x88\x76\x8a\x7e\x89\x64\x08\xf7\xa9\x16\xfb\x1e\xc9\x06" -+"\xf1\xa0\xac\xce\xa5\x9b\x83\x7e\x87\x89\x85\x88\x84\x1e\x85\x80\x89\x83\x84\x1a\x7b\x94\x7c\x97\x87\x1e\x0e\xf7\x92\xf7\x57\xf9" -+"\x47\x15\x7c\x06\xfb\x26\x48\x94\x77\x05\x95\x9c\x94\x8e\x94\x1b\x9b\x92\x7f\x71\x1f\xfb\x8f\x07\x8c\x6a\x84\x82\x6d\x89\x08\x73" -+"\x78\xf7\x63\x9e\x7a\x06\x6e\x8d\x83\x94\x8c\xac\x08\x35\xfb\xdc\xc0\x0a\xf3\xab\x1d\x56\x6c\x7a\x71\x5c\x1a\x4a\xbd\x5f\xd7\xd3" -+"\xbe\xbe\xd3\xb7\x7b\xa9\x5a\xb7\x1e\x6c\xa3\x15\x5c\xae\x79\xa4\xab\x1a\xa4\x9e\xa0\xa1\xa4\x9b\x71\x62\x72\x85\x73\x80\x75\x1e" -+"\x57\x41\x15\xb8\x45\x0a\xbe\xb6\x8f\x9b\x9f\xa7\x1e\x0e\xf7\x92\xb4\xf8\xda\x15\xad\x9c\x9d\x97\xa9\x1b\xae\xa2\x72\x64\x63\x6e" -+"\x6f\x5c\x86\x1f\x78\x07\xd1\x79\xb1\x63\x53\x1a\x64\x76\x71\x6c\x7a\x78\x94\x9b\x7a\x1e\x9f\x75\x83\x8f\x7b\x1b\x7a\x7d\x7d\x79" -+"\x6c\xad\x77\xc0\xec\xce\xc9\xe4\xbc\x75\xb1\x62\xa0\x1f\xa9\xa1\x99\xa5\xad\x1a\xbf\x64\xaf\x53\x6b\x6a\x7f\x77\x75\x1e\x78\x7a" -+"\x82\x7c\x7f\x66\x08\xe0\xfc\xdf\xc0\x0a\xf4\xab\x1d\x57\x6d\x79\x70\x5c\x1a\x4a\xbd\x5f\xd7\xd3\xbe\xbe\xd3\xb8\x7b\xa7\x5a\xb8" -+"\x1e\x6b\xa3\x15\x5c\xae\x79\xa4\xaa\x1a\xa5\x9d\xa0\xa2\xa5\x9b\x71\x61\x73\x85\x73\x7f\x75\x1e\x57\x41\x15\xb9\x45\x0a\xbd\xb7" -+"\x8f\x9b\x9e\xa7\x1e\x0e\xf7\x92\xe2\xf8\xec\x15\xf7\x26\x06\xac\xdd\x05\xfb\x4c\x06\x45\xfb\x66\xcb\x8a\xa8\x87\xa5\x80\x19\xba" -+"\x78\xa4\x6b\x62\x1a\x67\x76\x70\x6e\x7b\x7c\x92\xa1\x67\x1e\x97\x78\x83\x8e\x80\x1b\x77\x7c\x7d\x78\x6c\xb2\x75\xc2\xe3\xcc\xcc" -+"\xe4\xe6\x43\xc6\xfb\x05\x8c\x1f\xad\xfc\xc8\x15\xc9\x06\xf8\x5d\xf9\x2a\x05\x4d\x06\xf4\xfc\x3f\x15\xb5\xa6\x9c\xa6\xb2\x1a\xc2" -+"\x5b\xb3\x4a\x46\x57\x5e\x4f\x62\x9d\x6a\xb6\x66\x1e\x56\x6c\x7a\x71\xde\x1d\xa8\x5a\xb7\x1e\x6b\xa3\x15\x5d\xae\x79\xa4\xaa\x1a" -+"\xa5\x9e\xa0\xa1\xa4\x9b\x71\x62\x72\x85\x72\x7f\x76\x1e\x57\x41\x15\xb9\x68\x9e\x6b\x64\x1a\x69\x7b\x76\x71\x6b\x7d\xa2\xbe\xb6" -+"\x8f\x9b\x9e\xa7\x1e\x0e\xf7\x92\xf7\x54\xf8\xea\x15\x29\xfb\xe8\x05\xbf\x06\xf7\x10\xf8\x3c\x05\xfb\x7c\x06\x6f\xfb\x12\x05\x9f" -+"\x06\xaa\x95\xa0\x96\xbb\x1b\xfc\xea\x04\xc9\x06\xf8\x5d\xf9\x2a\x05\x4d\x06\xf4\xfc\x3f\x15\xb5\xa6\x9c\xa7\xb1\x1a\xc2\x5b\xb3" -+"\x4a\x46\x57\x5e\x4f\x61\x9d\x6a\xb6\x67\x1e\x57\x6c\x79\x71\xde\x1d\xa7\x5a\xb8\x1e\x6c\xa3\x15\x5a\xaf\x7a\xa3\xab\x1a\xa4\x9e" -+"\xa0\xa1\xa5\x9b\x72\x61\x71\x85\x73\x80\x76\x1e\x56\x41\x15\xb9\x45\x0a\xbd\xb7\x8f\x9b\x9e\xa7\x1e\x0e\xf8\x8c\xd0\x1d\x58\x68" -+"\x67\x08\x61\x64\x50\x78\x36\x1b\x4f\x7b\x96\xb6\x1f\xf7\x87\x07\xf7\x03\x84\xa6\x71\x9c\xb9\x1d\x98\x8d\x90\x92\x8e\x1e\x90\x95" -+"\xa5\x8f\xa6\x1b\xe3\xc7\x79\x69\xa7\x1f\xa0\x71\x95\x73\x98\x4b\xa4\x0a\x83\x78\x77\x6a\x1e\x8a\x8a\x88\x85\x88\x85\x6b\x0a\x7b" -+"\x42\x88\x08\x3b\xf7\xd2\x15\xf7\x35\xf7\xb6\x05\x92\xfb\xb6\x06\xb8\xf8\x25\xc3\x1d\x7a\x82\x78\x7b\x1e\x0e\x26\x0a\xd0\xf9\x2d" -+"\x15\x4b\x79\x6e\x74\x7b\x0a\x91\xbe\x08\x0e\x5d\x0a\x78\x1d\x5c\xf7\x6c\x15\x8d\x95\x91\xae\x05\x9d\xe0\x8c\x8f\x9f\x1a\xaa\x77" -+"\xa1\x6f\x70\x76\x75\x6d\x7e\x8e\x75\x8f\x77\x1e\x93\x64\x90\x74\x8c\x84\x8d\x82\x8c\x85\x8e\x7b\x08\x0e\x26\x0a\xf7\x22\xf8\xf7" -+"\x22\x0a\x5f\x0a\xf7\xa3\x07\x69\x5d\x82\x76\x0a\xfc\x88\xf7\x80\x15\xe9\xf7\x87\xf0\xfb\x87\x05\x0e\x8d\x1d\x9a\xb2\xef\x1e\xf7" -+"\x75\x06\xac\x3e\x98\x66\x7d\x1d\x63\xf9\x3a\x15\x51\x5a\x5b\x52\x4f\xba\x5b\xc6\xc6\xbb\xba\xc6\xc6\x5b\xbb\x44\x1d\x6f\x6b\x6c" -+"\x70\x71\x6a\x6c\x4c\x0a\x24\xbc\x15\xc3\x06\xf7\x22\xc9\x05\xac\x99\x92\x91\x9c\x1a\x9d\x78\x97\x6e\x78\x79\x85\x7e\x7b\x1e\x0e" -+"\xf7\x3f\xa2\x1d\xf7\xec\x06\xc5\xc9\x9e\xaa\xb4\x1f\xaf\xa7\xa0\xb7\xc0\x1a\xbe\x77\xb3\x63\xab\x1e\x72\x9f\x78\x93\x46\x9e\x7a" -+"\x1d\x47\x1d\xfc\x02\xf8\xf7\x85\x0a\x47\x1d\xfb\x0a\xf9\xa7\x93\x0a\xf7\x85\xf9\x25\xf7\x2c\x59\x0a\xfb\x0b\xf8\xf7\x15\xfb\x0f" -+"\xa3\x1d\xee\xf7\x04\x28\x05\x0e\xf7\x85\xf8\x26\xfa\x00\x15\x64\x6b\x6c\x65\x64\xaa\x6c\xb2\xb1\xaa\xaa\xb2\xb0\x6c\xab\x66\x1f" -+"\xf7\x93\xfd\x68\x59\x0a\x0e\x6a\x1d\x5e\x0a\xf7\xa3\xf9\xc9\x21\x0a\x57\x0a\xf7\x3f\xac\x16\xf8\xee\x06\xfb\xad\xf9\x44\x05\xfb" -+"\x6b\xfc\xe6\x15\xf7\x40\xf8\x09\xf7\x2f\xfc\x09\x05\x0e\xf7\x3f\x24\x0a\xf8\x38\xf7\x75\x15\x4b\x7a\x6e\x74\x4d\x1b\x4b\x6c\xa5" -+"\xc8\x7f\x1f\x5f\x06\x8e\xb7\x0a\xae\x0a\x93\xa4\x90\xbe\x08\x0e\xf7\x3f\x24\x0a\xf8\x7a\xf7\x82\x21\x0a\xf7\x3f\x24\x0a\xf7\xd0" -+"\xf7\x5d\x2a\x1d\xf7\x3f\x24\x0a\xf8\x76\xf7\x3f\x22\x0a\xf8\x91\xea\x15\x8f\xfb\x14\x05\x83\x07\x40\x8f\x68\x53\x5a\x1b\x7a\x7e" -+"\x92\x95\x90\x8e\x92\x91\x95\x1f\x95\x9b\x8f\x95\x96\x1a\xa9\x71\xa3\x6a\x66\x72\x72\x67\x50\xc5\x62\xdd\xd0\xc3\xa7\xbb\xa5\x1e" -+"\x9c\xab\x96\xbc\xb4\x1a\x8a\xf8\xd4\x05\xc4\x98\x99\xcc\x94\x1e\xa4\xfb\x6b\x72\x07\xd4\x84\x9f\x76\x44\x1a\xfb\xc5\x07\xfb\xf1" -+"\xf8\x41\x05\xfb\x67\x72\x06\x9f\x9c\x7c\x52\xbb\x1f\xfc\x6e\x07\x8a\x50\x7b\x7e\x44\x83\x08\x72\xf7\x77\xa4\x07\x3f\x93\x79\x9e" -+"\x8a\xd3\x08\xf8\x26\x07\x0e\xf7\x3f\xf8\x5a\xf8\x94\x15\x71\x06\x7c\xfb\x06\x64\x67\xfb\x00\x8c\x08\xf7\x7c\x07\xb1\x98\x94\xbf" -+"\xf7\x37\xbc\x69\xfb\x19\xa4\x1e\xa4\xf7\x5d\xfc\xd5\x72\x06\xce\x88\x9e\x7b\x8d\x57\x08\xfc\x78\x07\x89\x56\x7d\x7f\x43\x85\x08" -+"\x72\xf8\xab\x07\x69\x5d\x82\x79\x6f\x1a\x5c\xb7\x69\xc9\x92\x0a\x65\x72\xa1\xae\x96\x8b\x8b\x9a\xd0\x1f\xad\xf7\x43\x05\x6f\x06" -+"\x6c\x48\x77\x6f\x67\x6e\x08\x66\x5d\x55\x7b\x3e\x1b\x4a\x79\x98\xb6\x1f\xf7\x86\x07\xf7\x01\xb4\x64\xfb\x08\x97\x1f\xa5\x06\x0e" -+"\xf7\x3f\x73\x1d\x0e\xf7\xc3\xf4\xf8\x65\x68\x1d\xdf\x8c\x90\xa0\x1a\xa9\x77\xa1\x6f\x70\x76\x75\x6d\x7e\x8e\x76\x8f\x76\x1e\x93" -+"\x65\x92\x6a\x90\x6e\x08\xf7\xe4\xfb\x26\x15\xa6\x06\xb6\xa5\x77\x5a\xa0\x1f\x94\x75\x8e\x88\x0a\xc0\x58\x94\x53\x1d\xac\xf7\x5f" -+"\x05\x71\x06\x75\xfb\x03\x44\x53\xfb\x0a\x8c\x08\x65\x06\x5e\x7c\x9c\xc1\x8d\x1f\x0e\xf7\xae\x55\x0a\xf8\x31\xed\x35\x0a\xf7\xe0" -+"\xfb\x27\x15\xf7\x95\xfb\x72\x06\x25\x0a\xf7\xd0\x9f\x58\x1d\x9f\xfb\xd0\x77\x9e\x06\xbf\x89\x9b\x78\x89\x51\x08\xfb\x61\xfb\x95" -+"\xf7\x61\x07\x89\xc6\x9a\x9d\xc0\x8d\x08\x9e\x9f\xfb\xd0\x77\x9e\x06\xc0\x89\x9a\xa2\x0a\xf7\xd0\x9f\x78\x20\x1d\x0e\x8f\xae\xf7" -+"\x7f\x15\xfb\x3d\xa7\xe2\x31\xf7\x1d\x1b\xd4\xc6\xa6\xc6\xbf\x1f\xbf\x07\x4b\x6a\x4a\x5e\x4f\x1b\x42\x5c\xde\xf7\x27\x7f\x1f\xe7" -+"\x06\xa8\xbd\x05\xfb\x10\xb0\x06\x9b\xf7\x39\x07\xa8\xbd\x05\xfb\x55\x06\xf7\x3d\x99\xb4\xd9\xd7\x1b\xb5\xb5\x71\x5f\xa7\x1f\x9f" -+"\x6d\x95\x69\x92\x56\x08\x9e\xf7\x73\x78\x06\x6d\x87\x7f\x7b\x7a\x1b\x83\x83\x8d\x8f\x84\x1f\xa8\x57\x78\x91\x63\x1b\x31\x38\x50" -+"\x28\x5b\x1f\x78\x63\x83\x71\x81\x55\x08\x61\x06\x6f\x59\x05\xcd\x71\x06\x70\x65\x07\x6f\x59\x05\x0e\xf7\x20\x97\xf9\x2a\x15\x75" -+"\x07\xd0\x86\x97\x7a\x89\x34\x08\xfc\x24\x07\x8d\x34\x7f\x7b\x46\x85\x08\x75\xf7\xd0\xa1\x07\x45\x91\x7f\x9b\x8d\xe2\x08\xf8\x31" -+"\x07\xcb\xa3\xa1\xd0\xce\xc0\x7a\x6a\xb0\x1e\xaa\x6f\xa0\x6a\xae\x3c\x08\xa5\x06\x64\xf7\x72\x05\x0e\xf7\xae\x3d\x0a\xfb\x96\xf9" -+"\x13\x15\x4b\x79\x6e\x74\xb4\x1d\xc1\x1b\xc2\xac\x0a\xf7\xbe\xf9\x87\xf7\xb3\x6d\x1d\xfb\x89\xf8\x70\x20\x0a\xf7\xae\x3d\x0a\xfc" -+"\x45\xfc\xef\x15\xf3\xc6\xb8\xc6\xd9\x1a\xca\x67\xb5\x55\x5e\x6e\x6e\x5e\x60\xa5\x6f\xb3\x8f\x90\x8b\x8c\x90\x1e\x8c\x8d\x8e\x8b" -+"\x8c\x1b\x95\x92\x83\x80\x67\x6d\x66\x48\x5c\x1f\x0e\xf7\xbe\xf8\x27\xfa\x04\x9d\x0a\xf7\xf3\xfc\xe5\x6d\x1d\x0e\xf7\xae\xf5\xf8" -+"\x71\x15\xfc\x11\x07\x8a\x59\x7b\x7e\x47\x83\x43\x1d\x44\x92\x79\x99\x8a\xbd\x46\x0a\x8a\x59\x79\x7d\x44\x84\x08\x72\xf7\xe7\xa4" -+"\x07\x46\x93\x7a\x98\x8a\xbd\x08\xf8\x11\xdf\xb3\x37\xca\x07\x8c\xbe\xa0\x9c\xcc\x8e\x08\xa4\xfb\xe7\x72\x07\xce\x88\xa1\x7b\x8c" -+"\x57\x08\x4c\xfb\x85\xca\x07\x8c\xbf\xa0\x9b\xa3\x0a\x87\x9e\x7b\x8c\x58\x08\x4c\x32\x63\x07\xf7\x8f\x16\xf7\x85\x23\xfb\x85\x06" -+"\x0e\xf7\xbe\xf9\x8c\x90\x1d\xbf\xa0\x9b\xa3\x0a\x86\x9e\x7c\x8c\x58\x08\xfc\x78\x07\x8a\x59\x7b\x7e\x47\x83\x43\x1d\x44\x92\x79" -+"\x98\x8a\xbe\x46\x0a\x89\x58\x7a\x7e\x44\x84\x08\x72\xf7\xe8\x07\xfb\x93\xf9\x76\x20\x0a\xf8\x1d\xf8\x06\xa0\x15\x78\x06\x56\x8d" -+"\x7c\x9d\x8d\xc4\x08\xf8\x72\x07\x89\xc7\x9a\x9d\xc0\x8e\x08\x9e\x9f\xfb\xd0\x77\x9e\x06\xc0\x88\x9a\x79\x89\x4f\x08\xfc\x72\x07" -+"\x8d\x52\x7c\x79\x56\x89\x08\x78\x76\xf7\xd0\x06\xf7\x18\xf9\x25\x15\xac\x06\xc0\x88\x9a\x79\x89\x4e\x08\xfc\x51\x07\x46\x76\x6c" -+"\x5e\x6d\x75\x98\x9c\x90\x8c\x8f\x8d\x8d\x1e\x9f\xa7\x8e\x92\x9f\x1a\xaf\x6b\xab\x66\x65\x6c\x66\x5e\x43\xd8\x52\xed\xd2\xce\xa9" -+"\xbc\xaf\x1e\xa3\xac\x92\xa8\xd3\x1a\xf8\x0f\x07\x89\xc7\x9a\x9e\xc0\x8e\x08\x9b\x9f\xfb\xdf\x06\x0e\x20\x27\x0a\x47\xfa\x19\x15" -+"\x4c\x7b\x6d\x73\x4d\x1b\x4c\x6b\xa5\xc8\x80\x1f\x5e\x06\x8e\xb7\x0a\xcf\x1d\x90\xbe\x08\x0e\x20\x27\x0a\xfb\x45\xfa\x01\x2a\x1d" -+"\x20\x27\x0a\x80\xf9\xe3\x22\x0a\x20\x86\x1d\xf7\xbf\x07\x68\x5d\x83\x9a\x1d\xb5\x9d\x8e\x96\x92\x96\x1f\x0e\x20\xf7\xf2\x67\x0a" -+"\x20\xf7\xf8\x9f\x49\x1d\xfb\x97\xf9\xef\x9d\x0a\xf7\x61\x16\x63\x4e\x0a\xb2\xaa\xaa\xb1\xb1\x6c\xab\x66\x1f\x0e\xa5\xe9\x35\x0a" -+"\xf8\x38\xfc\x51\x49\x1d\x0e\x20\xf8\x06\xa4\x15\x41\x8f\x77\x9a\x8a\xbf\xa1\x1d\x8a\x58\x78\x7c\x42\x86\x08\x72\xf7\xf2\x07\xfb" -+"\xce\xf9\x80\x15\xa7\x8e\x9f\x9e\xa5\x1b\x98\x94\x88\x78\xb5\x1f\xa8\x7e\x05\x83\x9d\xa6\xb8\x0a\x66\x7e\x7d\x7f\x70\x1b\x7f\x49" -+"\x0a\x6f\x72\x91\x77\x1b\x4d\x50\x0a\x99\xf8\x74\xf9\x38\x15\xfb\xf4\x72\x06\xda\x89\x9f\x7d\x8d\x54\x08\xfc\xc0\x07\x4d\x79\x72" -+"\x5d\x6f\x7a\x97\x9f\x94\x8e\x90\x94\x96\x1e\x97\x9a\x8e\x93\x9b\x1a\xb3\x69\xae\x64\x66\x6a\x69\x65\x62\xa7\x5e\xb2\x74\x1e\x7d" -+"\xa4\xb3\x82\xb3\x1b\xf7\x21\xd5\xd6\xf7\x24\xe4\x1d\x49\xf3\x20\x0a\xf7\xae\xf7\xce\x6b\x1d\x0e\xf7\xae\x52\x0a\xfc\x53\xfb\xe9" -+"\x15\xf4\x36\x0a\x94\x93\x83\x80\x67\x6d\x66\x47\x5c\x1f\x0e\xf7\x3f\x31\x1d\xfb\xec\xf9\x76\xc2\x1d\x7b\x45\x1d\xf7\x71\xf7\xc3" -+"\xf8\x57\x15\xf7\x27\xfb\xf4\x05\x95\x73\x8d\x83\x81\x1a\x71\x79\x80\x60\x1e\x72\x77\xf7\xc2\x9f\x82\x06\x73\x8d\x84\x91\x7b\xaf" -+"\xfb\x95\xf8\xf0\x18\x6f\x06\xfb\x61\xfc\xb8\x76\x4a\x6d\x6a\x64\x89\x19\x77\xf7\x65\x9f\x75\x07\x68\x70\x9e\xa3\x94\x8f\x99\x92" -+"\x9f\x1f\x0e\xf7\x3f\x31\x1d\xfb\x2a\xf8\x1a\x15\xf3\x36\x0a\x94\x93\x82\x81\x68\x6d\x66\x47\x5b\x1f\x0e\xf7\x3f\x31\x1d\xfb\xde" -+"\xfb\xe9\x15\xf3\xb3\x0a\x5e\x60\xa5\x6f\xb4\x8e\x90\x8b\x8c\x90\x1e\x8c\x8e\x8e\x8b\x8c\x1b\x95\x92\x83\x80\x67\x6c\x66\x48\x5c" -+"\x1f\x0e\xf7\x3f\x31\x1d\xfb\x1f\x91\x0a\xf8\x54\x72\x1d\x30\x1d\xf7\x9d\xf9\x5d\x2b\x1d\x30\x1d\xf8\x96\xfa\x0d\x21\x0a\x30\x1d" -+"\xf7\xaa\xfc\x02\x15\xf4\xb3\x0a\x5f\x5f\xa5\x6f\xb3\x8f\x90\x8b\x8c\x90\x1e\x8c\x8e\x8e\x8b\x8c\x1b\x95\x92\x83\x80\x67\x6d\x67" -+"\x47\x5b\x1f\x0e\xf7\x21\xf8\xb5\x15\xf8\x56\xfc\xb5\x05\xa0\xf8\xc8\x06\x88\xc5\x9a\x9c\xbe\x8e\x08\x9c\x9f\xfb\x5d\x77\x9e\x06" -+"\xbf\x89\x9a\x79\x8a\x51\x08\xfb\xdc\x07\xfb\xf1\xf8\x3e\x05\xfb\x63\x77\x06\xa4\x98\x84\x6f\xa4\x1f\xa1\x70\x05\xfc\x78\x07\x25" -+"\x0a\xf7\x61\x9f\x79\x20\x1d\x0e\xf7\xae\x26\x1d\xf3\xf7\x87\x15\x4c\x7b\x6d\x73\x7b\x0a\x90\xbe\x08\x0e\xf7\xae\x26\x1d\xfb\x4a" -+"\xdb\x70\x0a\xca\xfb\x31\x15\xc3\x06\xf7\x21\xe3\x05\xad\xa0\x92\x94\xa2\x1a\xa6\x78\x9c\x6e\x77\x7a\x82\x78\x7b\x1e\x0e\xf7\xae" -+"\x26\x1d\xf7\x36\xf7\x51\x22\x0a\xf7\xc5\xcb\x35\x0a\xf9\x6e\xfc\x65\x15\xab\xf7\x4f\x05\x71\x06\x4e\x7c\x76\x79\x51\x1b\xfb\x1c" -+"\x06\xde\xa8\xb2\xa3\xb6\xba\x08\xb8\xbd\xa4\xca\xcc\x1a\xd5\x6b\xd6\x53\xc0\x1e\xc3\x50\x39\xa7\xfb\x01\x1b\x25\x38\x6f\x53\x51" -+"\x1f\x53\x57\x6b\x3f\x40\x1a\x45\xa7\x49\xbe\x58\x1e\xb4\x61\xaf\x76\xda\x70\x08\xfb\x1c\x06\x51\x76\x9d\xc8\x7c\x1f\x71\x06\xab" -+"\xfb\x4f\x05\xf7\xa4\xf5\x06\x68\xa1\x7a\x99\x7a\xa0\x08\x66\xba\x75\xdb\xe5\x1a\xf7\x3a\xcb\xe6\xf7\x08\xf7\x07\xcb\x2f\xfb\x39" -+"\x3c\x79\x40\x6f\x5e\x1e\x78\x6d\x77\x79\x60\x70\x08\x21\x07\x0e\xf7\xae\xf8\x17\x5c\x0a\xf7\xae\xcf\xf8\x65\x68\x1d\xdf\x8c\x90" -+"\xa0\x1a\xa9\x77\xa1\x6f\x70\x76\x75\x6d\x7e\x8e\x76\x8f\x76\x1e\x93\x65\x92\x6a\x90\x6e\x08\xf8\x24\xf7\x63\x15\x32\x49\x73\x54" -+"\x4a\x1f\x41\x4c\x66\x35\xfb\x05\x1a\xfb\x61\xf7\x1a\xfb\x1c\xf7\x5e\xf7\x58\xf7\x1c\xf7\x1e\xf7\x5d\xf4\x6e\xd9\x4d\xcb\x1e\xcc" -+"\x4b\x3c\xaa\x24\x1b\x8e\x68\x15\xf7\x00\xc7\xfb\x00\xfb\x54\x23\x79\x37\x67\x52\x1f\x62\x73\x5b\x70\x5e\x1b\x5c\x5d\xa7\xb9\x71" -+"\x1f\x6b\xc1\x7d\xd2\xf4\x1a\xf7\x0f\x9f\xd9\xba\xc4\x5f\x1d\xf7\xae\x84\x1d\x67\xcb\xbe\x7e\xd2\x1b\xf7\x64\xf7\x27\xf7\x27\xf7" -+"\x64\xcf\x7b\xcb\x6c\xc2\x1f\x75\xb1\x78\xa0\x5b\xb3\x08\xfc\x09\xfc\x6b\x15\x7a\xc7\x86\xb5\xd5\x1a\xf7\x69\x99\x1d\xc1\xf9\x14" -+"\xc2\x1d\x7a\x82\x78\x7b\x1e\x0e\xf7\xe1\xf7\xeb\x51\x0a\xf7\xae\xf9\x7f\xf9\x2a\x15\xfd\x62\x44\x0a\xf8\x53\x07\x89\xc6\x9a\x9d" -+"\xc0\x8d\x08\xf7\x11\x06\xc0\x89\x9a\x79\x89\x50\x08\xfc\x53\x96\x1d\x06\x0e\xf7\xb0\xf8\x5d\xf7\x70\x15\xf7\x2b\x8e\xeb\xf3\x8a" -+"\xf7\x33\x8e\xd8\x18\xb8\x8c\x95\x9f\xa0\x1b\x92\x91\x89\x86\x96\x1f\x93\x9f\x05\xa0\x64\x76\x92\x6c\x1b\x47\x5f\x5d\x40\x89\x1f" -+"\x87\xfb\x0d\x8c\x2c\x60\x45\x4d\x86\x19\xf7\xc6\x07\x88\xc5\x9b\x9e\xbf\x8d\x08\x94\x9f\xfb\xae\x77\x94\x06\xbf\x89\x9b\x78\x89" -+"\x51\x08\xfb\xc6\x07\x4e\x8f\x5f\xce\xe3\x1a\x88\xeb\x8a\xae\x87\xa9\x86\x9f\x19\xb6\x7e\x60\xa8\x57\x1b\x6c\x75\x84\x76\x68\x1f" -+"\x92\x77\x05\x91\x99\x90\x8c\x92\x1b\x96\x95\x83\x81\x8f\x1f\x8f\x7e\x8b\x87\x8d\x5c\x8d\x48\x18\x8d\xfb\x2e\xed\x24\xf7\x28\x89" -+"\x08\xfb\x10\x07\x8d\x53\x7b\x7a\x57\x88\x08\x78\x77\xf7\xc2\x9f\x78\x06\x57\x8e\x7b\x9c\x8e\xc3\x08\x0e\x34\x1d\x90\xf8\x1d\x15" -+"\xc3\x06\xf7\x22\x59\x1d\x34\x1d\xf7\x92\xf8\xcd\x21\x0a\x34\x1d\x9d\xfd\x42\x71\x0a\xf7\x07\x58\x0a\xc7\x33\x1d\xfb\x96\xf7\x9b" -+"\x2b\x1d\xc7\xf8\x78\xf9\x48\x15\x6d\x06\x70\x83\x85\x84\x79\x1b\x82\x7f\x8e\x92\x76\x1f\x9c\x5d\x6b\x91\x64\x1b\xfb\x1c\x38\x3e" -+"\xfb\x13\x34\xbf\x4c\xf7\x0b\x52\x1f\xce\x6b\x05\xe3\x61\xa3\x71\x56\x1a\x46\x5a\x5f\x3e\x50\x5a\xa4\xbc\x65\x1e\x70\xb0\x7d\xac" -+"\x7a\xd1\x08\x6e\xfb\x8b\xa8\x06\xa5\x91\x93\x93\x9b\x1b\x93\x97\x88\x84\xa0\x1f\xb6\x7c\xa7\x85\xaf\x89\x69\x3d\x18\x39\x0a\x7a" -+"\x80\x8e\x94\x71\x1f\x8a\x89\x8c\x8c\x89\x1f\x2f\x0a\x9f\xb9\xbe\x8e\xb4\x96\xad\x9e\x19\xca\xaf\xb2\xcf\xd4\x1a\xd6\x5e\xd6\x4a" -+"\xab\x1e\xfb\x27\xd4\x05\x3a\xb3\x75\xa4\xbb\x1a\xc9\xb5\xb1\xcf\xb8\xb5\x78\x66\xaf\x1e\xad\x68\x9b\x6e\x9f\x4a\x08\xa7\x06\x0e" -+"\xd3\xf8\x26\xf9\x76\x15\xc4\x06\xfb\x0f\xf7\x44\x05\x2f\x06\xfb\x0d\xfb\x44\x05\xc3\x06\xf7\x03\xed\x05\xf7\x56\xfb\xfd\x15\xf7" -+"\x6d\x6d\x07\x70\x83\x85\x84\x78\x1b\x82\x80\x8e\x92\x76\x1f\x9c\x5e\x6a\x91\x64\x1b\xfb\x1c\x38\x3e\xfb\x13\x34\xbf\x4c\xf7\x0b" -+"\x52\x1f\xce\x6b\x05\xe3\x61\xa3\x71\x57\x1a\x45\x5a\x5f\x3e\x50\x5a\xa4\xbc\x65\x1e\x70\xb0\x7d\xac\x7a\xd1\x08\x6e\xfb\x8b\xa8" -+"\x06\xa5\x91\x93\x93\x9b\x1b\x93\x96\x88\x84\xa1\x1f\x7a\xbc\xb0\x84\xb7\x1b\xf7\x28\xef\xe0\xf7\x12\xd6\x5d\xd6\x4b\xab\x1f\xfb" -+"\x27\xd4\x05\x3a\xb3\x75\xa4\xbb\x1a\xc9\xb5\xb1\xcf\xb9\xb4\x78\x66\xaf\x1e\xad\x68\x9a\x6e\xa0\x4a\x08\x0e\xc7\x33\x1d\xfb\x89" -+"\xfd\xc4\x8a\x1d\xf7\x32\xf8\xc4\xf9\x2a\x15\xfc\xa2\x06\xf7\x3a\xfb\xf3\xfb\x3a\xfb\xcb\x05\xf8\xa2\x06\xbb\xf7\x70\x05\x6d\x06" -+"\x56\xfb\x10\x47\x5d\xfb\x11\x8d\x08\xfb\x05\x06\xf7\x1e\xf7\xae\xfb\x24\xf7\xb4\x05\xf7\x01\x06\xf7\x1b\x8f\xcb\x5a\x94\xfb\x06" -+"\x08\xa9\x06\x0e\xf7\x3f\xf8\x30\xf9\x06\x15\xb6\x06\xdb\x8e\xbc\x58\x90\x30\x08\xa8\xf7\x43\xfc\xcf\xa5\x1d\xf7\xf1\x9f\x6e\x20" -+"\x1d\x0e\xf7\x3f\xf7\x91\xf7\xce\x15\xfb\x59\x07\x89\x3f\x80\x81\x37\x85\x08\x72\xf7\xf9\xa4\x07\x36\x8f\x80\x96\x89\xd8\x08\xf7" -+"\x59\xde\xba\x38\xf7\xaf\x95\x1d\xfb\xaf\x36\x5c\x07\x0e\xf7\x3f\x48\x1d\x80\xfa\x26\x21\x0a\xf7\x3f\xf8\x04\x16\xf7\x25\xa4\x06" -+"\x7e\x1d\xf7\x3e\x07\x60\x2b\x68\x0a\xf7\xae\xf7\xb1\xf8\x59\x15\xfb\x7d\xa9\x07\xb9\x8c\xa3\xa2\xbc\x1b\xbb\xa4\x74\x5d\x1f\xa9" -+"\xf7\x7d\x6d\x06\x5c\x86\x76\x77\x5c\x1b\x5b\x77\x9e\xbb\x85\x1f\xd6\xf7\x75\x15\x31\x2c\x65\x4f\x4d\x1f\x52\x53\x67\x2d\x2e\x1a" -+"\x23\xac\x33\xc7\x4e\x1e\x4f\xc7\xeb\x65\xe7\x1b\xdf\xe5\xad\xc2\xc5\x1f\xcd\xc8\xb0\xe8\xf2\x1a\xf2\x66\xe9\x49\xc7\x1e\xc3\x50" -+"\x33\xac\x35\x1b\x8a\x6a\x15\xf5\xcd\xfb\x0c\xfb\x55\xfb\x55\x49\xfb\x0c\x21\x22\x47\xf7\x10\xf7\x55\xe3\x9d\xdd\xac\xc7\x1f\xbe" -+"\xa7\xb6\xa7\xbe\x1b\x0e\x24\x1d\xfb\x69\xf7\x8e\x15\x4b\x7a\x6e\x74\xa6\x0a\x6f\x08\x67\xae\x0a\x93\xa4\x90\xbe\x08\x0e\x24\x1d" -+"\xfc\x9b\xe2\x70\x0a\xca\xfb\x31\x15\xc2\x06\xf7\x23\x59\x1d\x24\x1d\xfb\x43\xf7\x58\x15\xfb\xde\x43\xf7\xde\x06\x0e\xf9\x51\x95" -+"\x0a\xfb\x0b\x24\x75\x0a\xd5\x1b\xc5\xbe\x97\xa5\xba\x1f\x5d\x51\x80\x75\x6c\x1a\x5c\xb7\x69\xc9\xbd\xba\xa8\xb9\xa5\x1e\x75\x99" -+"\x86\x89\x8a\x8a\x82\x87\x19\x81\x77\x81\x88\x7c\x1b\x5f\x77\xa2\xbf\x9e\x95\xb2\x94\x9c\x1f\xb4\xd2\x98\xb9\x8d\xdf\x08\xf7\xd3" -+"\x07\x8c\xc7\x99\x9b\xca\x94\x08\x0e\xf8\x30\xf7\xcc\x15\xfb\x1a\xf7\xa3\x05\x80\xa1\x8a\x90\x92\x1a\x9b\x9b\x94\xa6\x1e\x9b\x9f" -+"\xfb\xb5\x77\x97\x06\xac\x87\xa1\x76\xa8\x4e\xf7\x30\xfb\xc2\x18\xfb\x32\x07\x8c\x31\x0a\x6e\x77\xf7\xe5\x9f\x6d\x06\x56\x8e\x7c" -+"\x9c\x8e\xc3\x08\xf7\x48\x07\xf7\x1a\xf7\xa6\xb1\xd6\x96\x96\xb9\x91\x19\x9f\xfb\x53\x77\x9f\x07\xab\xa0\x7b\x72\x7b\x85\x7a\x7b" -+"\x6a\x1f\x0e\xf8\x43\xf7\xcc\x15\xfb\x1a\xf7\xa3\x05\x80\xa1\x8a\x90\x92\x1a\x9b\x9b\x94\xa6\x1e\x9b\x9f\xfb\xb5\x77\x97\x06\xac" -+"\x87\xa1\xe9\x1d\x8c\x31\x0a\x6e\x77\xf7\xe5\x9f\x6d\x06\x56\x8e\x7c\x9c\x8e\xc3\x08\xf7\x48\x07\xf7\x1a\xf7\xa6\xb1\xd6\x96\x96" -+"\xb9\x91\x19\x9f\xfb\x53\x77\x9f\x07\xab\xa0\x7b\x72\x7b\x85\x7a\x7b\x6a\x1f\xfb\x8f\xf7\xd8\x15\x64\x3b\x0a\xb1\x6b\xab\x66\x1f" -+"\xf7\x6f\x16\x64\x3b\x0a\xb1\x6b\xab\x66\x1f\x0e\xf8\x05\xf7\x13\x35\x0a\xf8\x71\xfb\x2d\x15\xfb\x1a\xf7\xa3\x05\x81\xa1\x89\x90" -+"\x92\x1a\x9b\x9b\x94\xa7\x1e\x9a\x9f\xfb\xb4\x77\x96\x06\xad\x87\xa0\xe9\x1d\x8d\x31\x0a\x6e\x77\xf7\xe4\x9f\x6e\x20\x1d\xf7\x48" -+"\x07\xf7\x1b\xf7\xa6\xb0\xd6\x96\x96\xb9\x91\x19\x9f\xfb\x52\x77\x9f\x07\xab\x9f\x7b\x72\x7a\x86\x7c\x7a\x69\x1f\x0e\x24\x1d\xfb" -+"\xe7\xf7\xc9\x38\x1d\xf9\x52\x95\x0a\xfb\x0c\x25\x75\x0a\xd4\x1b\xd5\xd1\xa1\xb0\xb6\x1f\xb8\xb1\xa5\xd7\xe8\x1a\xf7\xd3\x07\x8c" -+"\xc7\x99\x9b\xca\x94\x08\xfc\x59\xf0\x15\xa7\x8f\x9f\x9e\xa4\x1b\x99\x91\x89\x77\xb7\xb8\x1d\x7d\x7e\x6f\x1b\x80\x88\x8c\x96\x72" -+"\x47\x0a\x4e\x66\x64\x35\x79\x1f\x0e\xf8\x8c\x2e\x1d\xfc\xb1\xe2\x2b\x1d\xf8\x8c\x2e\x1d\xfb\xfb\xe2\x20\x0a\xf8\x8c\x2e\x1d\xfc" -+"\xd4\xf7\x76\x28\x0a\xf8\x8c\x2e\x1d\xfc\x26\x9d\x1d\xf7\x49\xf8\xe0\x16\xac\xf7\x5f\x05\x71\x06\x74\x43\x45\x67\xfb\x0a\x8c\x08" -+"\x31\x06\xfb\x0a\x8a\x44\xaf\x74\xd3\x08\x72\x06\xac\xfb\x5f\x05\xf8\x87\xf9\x2a\x15\xfc\x87\xfb\x4a\xa1\x06\x95\xc3\xbf\xa9\xe5" -+"\x8d\x08\xf7\x2b\x06\xe5\x89\xc0\x6d\x94\x53\x08\xa1\x06\x27\x7e\x15\x83\x53\x6a\x70\x4f\x8a\x08\x26\x06\x4f\x8c\x6a\xa6\x83\xc3" -+"\x08\x73\xfb\x96\xa3\x06\x89\xbc\xb7\xaf\xc6\x89\x08\xf0\x06\xc6\x8d\xb7\x68\x89\x59\x08\xa3\xf7\x96\x06\x0e\x2c\x0a\xfb\x6f\xe2" -+"\x20\x0a\x2c\x0a\xfb\x9b\x9d\x1d\xf7\x3f\x37\x1d\xfb\xf7\x83\x0a\xf7\x3f\x37\x1d\xfb\xa8\xfa\x01\x2a\x1d\xf7\x3f\xf7\x77\xb3\x15" -+"\xf8\x0a\xf9\x02\x05\xfc\x84\x06\x7d\xfb\x50\x05\xa4\x06\x95\xef\xc7\xbe\xf3\x8a\x08\xf7\x0b\x06\xfc\x08\xfd\x04\x05\xf8\xd3\x06" -+"\xa4\xf7\x7a\x05\x72\x06\x77\xfb\x13\x3e\x49\xfb\x12\x8e\x08\x0e\x8f\x23\x1d\xcc\xf8\x52\x72\x0a\xf9\x34\xf7\x14\x15\x5b\x65\x67" -+"\x78\x59\x1b\x3b\x80\x0a\x66\x64\x99\x4a\x1b\x21\x3e\x56\x43\x64\xa6\x72\xb5\xb3\xa2\x9f\xb0\x9e\x87\x95\x7e\x99\x1f\x82\x95\x88" -+"\x90\x92\x1a\xa0\xa6\x99\xb1\xc3\xa1\x74\x51\x1e\x3b\x07\xfb\x16\x61\x5f\x7a\x6a\x74\x08\x65\x70\x79\x6a\x5e\x1a\x45\xb4\x66\xd8" -+"\xcd\xc3\xa5\xc4\xc5\x1e\x91\x91\x05\x4d\xb1\xb1\x75\xd2\x1b\xea\xc2\xab\xe5\xc6\x1f\xfc\x21\x6b\x15\x72\x73\x7d\x84\x73\x1b\x65" -+"\x78\xa3\xbb\xc9\xaa\xac\xe3\xab\x1f\xf7\x1e\xb0\x15\xf7\x0a\x9d\xb3\xbf\xba\x9b\x6b\x2e\x1e\x6a\x07\xfb\xa7\xf7\x87\x43\x0a\xa5" -+"\x78\x9d\x6e\x78\x60\x1d\xf8\x8c\xf3\x1d\x5d\x0a\xf7\x39\xf8\xb8\xf9\x2a\x15\xfc\x8d\x77\x9e\x06\xbd\x1d\xf7\xd8\x06\xf7\x2e\xdf" -+"\xca\xf7\x09\xf7\x14\x30\xd1\xfb\x39\x75\x84\x8b\x88\x5d\x1f\xf7\x8f\xf7\x03\x07\xdc\x8e\xbb\x4d\x0a\x06\xfb\xa6\xfb\x2b\x15\x8c" -+"\x98\x98\x8c\x95\x1b\xde\xb9\xb0\x0a\xf7\x3f\xa2\x1d\xf7\xd8\x06\xf7\x2b\xe2\xca\xf7\x04\xbf\x77\xb3\x63\xaa\x1f\x6f\xa1\x6f\x96" -+"\x52\x99\x7a\x1d\xf7\x20\xf8\xd1\x7f\x1d\x0e\xf7\x54\xf9\x1d\xf9\x2a\x15\xfc\xa4\x77\xba\x06\xb8\x94\x77\x2a\xfb\x71\x65\xfb\x2e" -+"\x40\x3a\x1f\x74\x76\x7a\x83\x6e\x1b\x6c\x06\x85\xfb\x43\x05\xa8\x06\x9b\xf0\xb6\xb4\xe0\x86\x08\xf7\xbe\x06\xea\x89\xbb\x60\x93" -+"\x2f\x08\xa8\xf7\x43\x65\x06\x5f\x82\x90\xa8\x8a\x1f\xf8\x7f\x07\x89\xc5\x9b\x9e\xbf\x8d\x08\x9e\x06\xfb\x7b\xfc\xf0\x15\xfb\xb5" -+"\x06\xe4\xe8\xb1\xf7\x2c\x8d\xf7\xa1\x08\xd3\xf7\x34\x07\x0e\xf7\x3f\xf7\xad\xf7\xd3\x15\xa6\x06\xb6\xa5\x77\x5a\x9f\x1f\x94\x75" -+"\x8f\x88\x0a\xbf\x58\x95\x53\x1d\xab\xf7\x5f\x05\x72\x06\x74\xfb\x03\x44\x53\xfb\x09\x8c\x08\x65\x06\x5e\x7c\x9d\xc0\x8d\x1f\x0e" -+"\xf7\x3f\x73\x1d\x54\xf9\x83\x15\x65\x3b\x0a\xb2\x6c\xaa\x64\x1f\xf7\x6f\x16\x65\x3b\x0a\xb2\x6c\xaa\x64\x1f\x0e\xf8\x81\xf8\x3c" -+"\xf7\xbb\x15\xfb\x5b\x21\x1d\x83\x77\xf7\xba\x9f\x83\x20\x1d\xf7\x5b\x07\x3c\x0a\x99\x72\x91\x7e\x8b\x1d\x77\x7d\x84\x7e\x78\xf2" -+"\x1d\x89\xc3\x9a\x9d\xc0\x8d\x08\x93\x9f\xfb\xba\x77\x93\x06\xc0\x89\x9a\x79\x8f\x0a\xa1\x9f\xfb\x7f\x77\x06\xd2\xae\x74\x2a\xd9" -+"\x1f\xcc\x3a\xfb\x65\xfb\xf5\x67\x4e\x85\x85\x69\x8a\x19\x77\xf7\xbb\x9f\x73\x07\x6e\x7b\x93\x9a\x92\x91\x98\x99\xa4\x1f\xf7\x1a" -+"\xf7\x7e\x05\x0e\xab\xcf\xf9\x38\x15\xfb\x5c\xa3\x07\x92\xbf\x93\xa4\x9c\xa3\x08\xaa\xa1\xad\x9c\xb4\x1b\xcb\xad\x5e\x38\x4d\x77" -+"\x60\x66\x7c\x1f\x85\x7d\x76\x89\x68\x1b\x81\x86\x8b\x8c\x82\x1f\x63\x07\x8d\x99\x94\x8b\x97\x1b\xbb\xa8\x82\x75\xa0\x1f\xa4\x73" -+"\x97\x65\x59\x1a\x2b\x5d\x53\x3c\x3a\x57\xbd\xe9\x7b\x1e\x63\x85\x05\xfb\x0d\x99\xda\x46\xf7\x13\x1b\xf7\x2a\xf1\xd8\xf7\x05\xec" -+"\x55\xc7\x23\x9f\x1f\xe1\x9d\xb8\xc2\xa4\x1d\x0e\xf7\xae\x6f\x1d\x0e\xf7\xae\xf7\x9e\x71\x1d\xfb\x78\xf7\xad\x15\x6b\x74\x74\x6a" -+"\x54\xc9\x68\xee\xf1\xca\xad\xc3\xac\x74\xa2\x6a\x6e\x74\x78\x72\x86\x8c\x84\x8e\x7d\x1f\x8c\x87\x8c\x88\x88\x1a\x7b\x6e\x7d\x6a" -+"\x6b\x6e\x99\x9b\x8e\x8b\x8f\x8c\x8e\x1e\x90\x9b\x8c\x8f\x91\x1a\xa4\x74\x9e\x6d\x1e\x0e\xf7\x79\x53\x0a\x0e\xf7\x8d\xf8\x0b\x16" -+"\x8c\x0a\x9f\xfc\x94\x6e\x0a\xcd\xa6\x1e\xa1\xc2\x94\xc8\xf6\x1a\xf7\xcd\xf7\x36\xfc\xa4\x21\x1d\x78\x06\x0e\xf8\x54\x72\x1d\xf7" -+"\xae\x55\x0a\xf7\xae\xf8\x18\x5c\x0a\xf7\xae\xf9\x81\xf9\x2a\x15\xfd\x64\x44\x0a\xf8\xa4\xf7\x96\xfc\xa4\x07\x25\x0a\x8c\x0a\x06" -+"\x0e\xf7\x07\x58\x0a\xf9\x09\xf7\x46\x15\x2f\x52\x45\x5e\x34\x1b\xfb\x07\x4a\xf2\xf7\x4c\xe7\x9a\xcc\xad\xc1\x1f\xc0\xac\xbd\xa8" -+"\xc5\x1b\xc0\xc0\x74\x65\xb0\x1f\xa4\x70\x97\x74\x9a\x57\x08\xa2\xf7\x6a\x74\x06\x68\x85\x82\x7f\x77\x1b\x83\x8b\x8b\x9b\x64\x1f" -+"\xa3\x4d\x6e\x92\x59\x1b\xfb\x50\xfb\x20\xfb\x2a\xfb\x5d\xfb\x55\xf7\x15\xfb\x1e\xf7\x49\xf7\x08\xf0\xc3\xef\xca\x1f\x0e\xf7\x3f" -+"\xf8\x2b\xf9\x06\x15\xb6\x06\xdc\x8e\xbb\x4d\x0a\xf7\x43\xfc\xc2\xa5\x1d\xf7\xe4\x9f\x6e\x20\x1d\x0e\xf7\x82\xf8\x74\xf9\x2a\x15" -+"\x77\xbd\x07\xa7\x99\x7f\x75\x81\x88\x7d\x85\x7f\x1f\xfb\x1d\xfb\xc0\xfb\x24\xf7\xce\x05\x86\x97\x87\x98\x92\x1a\x9a\x94\x94\x9a" -+"\x1e\xbd\x9f\xfb\xbc\x77\x06\xac\x8c\x9e\x7d\x9e\x67\xf7\x7a\xfc\x6a\x18\x53\x74\x75\x74\x6f\x1b\x77\x84\x94\xa7\x8a\x1f\xb1\x8a" -+"\x75\xa2\x67\x1b\x64\x70\x70\x64\x56\xb7\x67\xcc\xb2\xad\x98\xa4\xa5\x1f\x9c\x9c\x96\x9c\xa3\xbe\xf7\x70\xf8\x68\x18\xa4\xc1\x95" -+"\x94\xad\x8c\x08\x96\x9f\x06\x0e\xf7\xff\xf7\xfa\x51\x0a\x6a\x1d\xf7\xae\xa4\x16\xf8\xb7\x06\xea\x89\xbb\x5f\x93\x30\x08\xa8\xf7" -+"\x43\x70\x06\x56\x8e\x7d\x9c\x8d\xc3\x08\xf8\x55\x07\x89\xc5\x9a\x9e\x30\x0a\xfc\xa1\xfb\x96\x4b\x1d\xf7\x82\xf8\x62\xeb\x15\x8d" -+"\x53\x7b\x7a\x56\x88\x08\x6b\x77\xf7\xdd\x9f\x78\x06\x57\x8e\x7b\x9c\x8e\xc3\x08\xf8\x67\x07\x88\xc5\x9b\x9e\xbf\x8d\x08\x9e\x9f" -+"\xfb\xc8\x77\x96\x06\xef\x1d\x77\x57\x6c\x84\xa6\x1d\x96\x9f\xfb\xc3\x51\x1d\xbc\x95\xa6\xd5\x1e\x0e\xf8\xee\xa5\x16\xfa\xaa\x9f" -+"\x78\x20\x1d\xf8\x67\x07\x89\xc6\x9a\x9d\x86\x0a\x88\xc5\x9b\x9e\x30\x0a\xfc\xa1\xfb\x6f\x4b\x1d\xf8\xee\xa5\x16\xf9\xfc\x06\xe8" -+"\x8d\xc0\x5b\x91\x30\x3f\x1d\x56\x8d\x7c\x9c\x8d\xc4\x08\xf8\x55\x07\x89\xc6\x9a\x9d\x86\x0a\x88\xc5\x9b\x9e\x30\x0a\xfc\xa1\xfb" -+"\x6f\x4b\x1d\xf7\xa1\xf8\x1b\xf8\xc7\x15\x89\xc5\x9b\x9e\xbf\x8d\xc8\x1d\xb1\xfc\xa6\x06\x25\x0a\xf7\xd8\x06\xf7\x2f\xde\xca\xf7" -+"\x09\xf7\x14\x31\xd1\xfb\x3a\x75\x84\x8b\x88\x5d\x1f\x64\x04\x8c\x98\x98\x8c\x96\x1b\xde\xb8\xb0\x0a\xf8\x7a\xf7\xb3\xf8\xc7\x15" -+"\x89\xc5\x9a\x9e\x2c\x1d\x77\xf7\xd8\x06\xf7\x2e\xdf\xca\xf7\x09\xf7\x14\x30\xd1\xfb\x39\x75\x87\x8b\x88\x5a\x1f\x64\x04\x8d\x9b" -+"\x94\x8b\x96\x1b\xde\xb9\x53\x26\x31\x61\x56\x43\x64\x7f\x99\xb4\x1f\xf9\x1d\x42\x81\x1d\xf7\x39\xf7\xa8\xf8\xc7\x15\x89\xc5\x9a" -+"\x9e\x2c\x1d\x77\xf7\xd8\x06\xf7\x2e\xdf\xca\xf7\x09\xf7\x14\x30\xd1\xfb\x39\x75\x87\x8b\x88\x5a\x1f\x64\x04\x8d\x9b\x94\x8b\x96" -+"\x1b\xde\xb9\x53\x26\x31\x61\x56\x43\x64\x7f\x99\xb4\x1f\x0e\xf7\x4a\xbc\xf9\x38\x15\xfb\x83\xa1\x07\x94\xbf\x94\xa5\xa2\xab\x08" -+"\xbf\xaf\xc6\xa7\xd1\x1b\xce\xbb\x72\x59\xad\x1f\xac\x59\x98\x5a\x8d\x2b\x08\xfb\x02\x06\x35\x8c\x6c\xa8\x86\xe0\x08\x75\xfb\xa0" -+"\xa1\x06\xe1\x91\xaa\xa9\xe0\x1b\xf7\x02\x06\x8a\x2a\x81\x5a\x6f\x5b\x08\x4e\x68\x54\x6d\x3f\x1b\x2d\x4c\xb4\xf3\x46\x1f\x68\x74" -+"\x05\xfb\x0f\xdb\xd8\x5c\xf7\x0f\x1b\xf7\x61\xf7\x25\xf7\x20\xf7\x59\xf7\x5e\xfb\x23\xf7\x29\xfb\x58\x5b\x67\x83\x78\x60\x1f\x7c" -+"\x69\x83\x88\x7f\x1b\x72\x7c\x9a\xaa\x84\x1f\x0e\xf9\x0a\xd2\x16\xf7\xd0\x9f\x78\x20\x1d\xf7\x7e\xe2\x07\xfb\x62\x8d\xf7\x18\xfb" -+"\x1a\xf7\x5d\x1b\xf7\x5a\xf7\x1b\xf7\x1e\xf7\x5e\xf2\x6e\xda\x4d\xcb\x1f\xcb\x4c\x3a\xab\x25\x1b\xfb\x00\x37\x64\x3b\x49\x1f\x61" -+"\x59\x76\x57\x83\x3d\x08\x32\xf7\x52\x06\x89\xc5\x9a\x9e\x2c\x1d\x06\xf9\x20\xf8\xfd\x15\xf6\xc8\xfb\x00\xfb\x54\xfb\x58\x4b\xfb" -+"\x09\x20\x5b\x5e\xa7\xb9\x70\x1f\x6c\xc1\x7d\xd1\xf4\x1a\xf7\x10\x9f\xd8\xba\xc5\x5f\x1d\xf8\x45\xf7\xc0\x15\xfb\x60\x21\x1d\x73" -+"\x77\xf7\xd5\x9f\x78\x20\x1d\xf8\x6a\x07\x89\xc3\x9a\x9d\xc0\x8d\x08\x9e\x9f\xfb\xe3\x06\xfb\x28\x34\x47\xfb\x07\x36\xb4\x59\xeb" -+"\x69\x1f\xfb\x09\xfb\x60\x67\x4c\x77\x78\x6a\x87\x19\x77\xf7\x51\x07\xf7\x3e\xf7\xc0\x05\xbc\xb1\x15\x8a\x78\x76\x8a\x80\x1b\x5c" -+"\x64\x98\xa2\x77\x1f\x78\xa1\x80\xb5\xbc\x1a\xba\x97\xae\xa1\xa2\x1e\xa0\xa0\xa9\x93\xc0\x1b\x92\xa3\x8b\x8a\x9d\x1f\x0e\xa3\xf7" -+"\x8b\xf9\x05\x15\xf7\xb6\xf7\x47\x6d\x06\x86\x2d\x59\x58\x39\x8e\x08\xfb\xfb\x76\x9e\x06\xc1\x89\x9b\x78\x89\x50\x08\xfc\x63\x07" -+"\x8c\x52\x7c\x79\x55\x89\x08\x78\x76\xf7\xe4\xa0\x6a\x06\x55\x8d\x7c\x9c\x8d\xc5\x08\x0e\xf7\xc4\xf8\x16\xf9\x06\x15\xcb\x06\xdb" -+"\x8e\xbc\x4d\x0a\xf7\x43\xfc\xc6\xfb\x43\xa8\x06\x90\xe7\xbb\xc6\x1d\xf7\x7b\xf7\xda\x06\xa4\xbf\x9e\x90\xb1\x1b\xb1\xa0\x82\x75" -+"\x9b\x1f\x9e\x71\x94\x60\x4d\x1a\x26\x78\x4c\x6d\x81\x84\x92\x95\x8f\x8c\x90\x8d\x90\x1e\x91\x98\x8c\x8e\x94\x1a\xa8\x76\xa0\x6d" -+"\x66\x74\x73\x65\x54\xb6\x6b\xd4\xf7\x0f\xdf\xe6\xf7\x1b\xf7\x10\x3f\xd2\xfb\x1b\x57\x65\x83\x72\x48\x1e\x0e\xf7\x20\xf8\xda\x7f" -+"\x1d\xfb\xce\xf7\x80\x15\xc2\x06\xf7\x1f\xe1\x05\xaa\x9f\x93\x95\xa1\x1a\xa5\x78\x9c\x6f\x78\x7a\x82\x79\x7b\x1e\x0e\xf7\x4a\xf8" -+"\xff\xf9\x38\x15\x74\x06\x6c\x85\x7c\x7c\x72\x1b\x82\x7f\x8e\x91\x7e\x1f\xa9\x47\x75\x91\x52\x1b\xfb\x57\xfb\x24\xfb\x29\xfb\x5e" -+"\xfb\x5a\xf7\x25\xfb\x1f\xf7\x62\xf7\x13\xdc\xba\xf7\x0f\xdf\x1f\x68\xa2\x05\x23\x42\x48\x62\x29\x1b\x43\x57\xa4\xbf\x68\x1f\x6a" -+"\xbd\x7e\xbf\x89\xf5\x08\xf7\x0e\x06\xe0\xaa\x6d\x35\x90\x1f\xa2\xf7\xa0\x74\x06\x87\x36\x6c\x6e\x35\x8a\x08\xfb\x0e\x06\x8e\xe4" -+"\x95\xb8\xa6\xba\x08\xc7\xad\xbe\xa8\xd4\x1b\xcc\xc2\x73\x5e\xaf\x1f\xa7\x69\x98\x6d\x93\x52\x08\xa2\x06\x0e\xc7\xf8\x85\xf9\x33" -+"\x15\x74\x06\x6f\x8a\x81\x7e\x77\x1b\x84\x84\x8c\x8e\x85\x1f\xaa\x39\x6d\x92\x5a\x1b\xfb\x11\x31\x3c\xfb\x01\x53\xa3\x56\xb3\x6b" -+"\x1f\xac\x71\x8c\x8a\xf7\x02\x61\xec\x66\x8b\x8b\xa1\x7e\x08\xaa\x79\x9f\x68\x67\x1a\x4d\x57\x61\x3e\x49\x4a\xa6\xb6\x65\x1e\x65" -+"\xb8\x79\xb2\x8a\xb9\x08\x71\xfb\x82\xa5\x06\xa7\x93\x96\x96\xa2\x1b\x95\x93\x89\x83\xa0\x1f\x75\xc3\xb7\x81\xb7\x1b\xc8\xca\x9f" -+"\xad\xb8\x1f\xb6\xac\xa3\xbf\xc8\x1a\xc5\x75\xbf\x63\xaf\x1e\x64\xad\x8b\x8b\xfb\x0f\xb8\x2f\xae\x8b\x8b\x75\x97\x08\x6f\x9b\x79" -+"\xaa\xaa\x1a\xc3\xbe\xb2\xd6\xc5\xc0\x74\x60\xb3\x1e\xa7\x6d\x98\x6f\x94\x5b\x08\xa2\x06\x0e\x20\x66\x0a\x20\xf7\xf6\x9f\x49\x1d" -+"\xfb\x8c\xf9\xef\x15\xc7\x1d\xf7\x47\x16\xc7\x1d\x0e\x8f\xf7\x26\xf9\x16\x15\xac\x06\xc0\x89\x9a\x78\x89\x50\x08\xfc\x47\x07\x47" -+"\x77\x6d\x5d\x6e\x74\x98\x9b\x8f\x8c\x90\x8d\x8d\x1e\x9f\xa6\x8e\x92\x9f\x1a\xae\x6b\xaa\x66\x65\x6c\x67\x5f\x45\xd8\x53\xed\xd2" -+"\xce\xa9\xba\xaf\x1e\xa3\xab\x92\xa8\xd1\x1a\xf8\x07\x07\x89\xc6\x9a\x9e\xc0\x8d\x08\x9b\x9f\xfb\xdf\x06\x0e\xf8\x8f\xf7\xda\xf9" -+"\x04\x15\xf7\x29\xfc\xa4\x06\x25\x0a\xf7\xd8\x06\xf7\x26\xdb\xca\xf7\x09\xf7\x14\x35\xd1\xfb\x32\x75\x80\x8b\x88\x61\x1f\xf7\x50" -+"\x07\x89\xc5\x9a\x9e\xc0\x8d\x08\x9e\x9f\xfc\x87\x6e\x0a\xcc\xa6\x1e\xa1\xc3\x94\xc8\xf6\x1a\xf7\xbb\xa4\x15\x8c\x99\x98\x8c\x94" -+"\x1b\xd7\xb4\x54\x25\x30\x66\x57\x49\x66\x7e\x99\xb4\x1f\x0e\xf8\x8e\xf8\x92\xf7\xd2\x15\xfb\x72\x07\x25\x0a\xf7\xd8\x06\xf7\x26" -+"\xda\xca\xf7\x09\xf7\x15\x35\xd1\xfb\x32\x76\x86\x8b\x87\x5b\x1f\xf7\x50\x07\x89\xc5\x9a\x9e\x30\x0a\xfb\x61\xfb\x89\x69\x0a\xf7" -+"\x72\x07\xf8\x1b\x9e\x15\x8c\x99\x97\x8c\x95\x1b\xd6\xb5\x53\x26\x2f\x65\x57\x49\x67\x7e\x99\xb4\x1f\x0e\xf7\xc4\xf7\xf7\xf9\x06" -+"\x15\xcc\x06\xdc\x8e\xbb\x59\x91\x2f\x08\xa8\xf7\x43\xfc\xc3\x06\x86\xfb\x43\x05\xa8\x06\x8f\xe7\xbc\xc6\x1d\xf7\xc8\x9f\x80\x20" -+"\x1d\xf7\x65\x07\xa5\xb6\xad\x96\xb6\x1b\xcc\xa0\x6e\x30\x1f\xfb\x12\x21\x1d\x80\x77\xf7\xc2\x9f\x7e\x20\x1d\xf7\x2a\x07\xef\x52" -+"\xba\xfb\x0e\x4d\x5d\x81\x6f\x4a\x1e\x0e\xf7\x79\x53\x0a\xc0\xf9\x07\x15\xc2\x06\xf7\x1f\xe1\x05\xac\xa0\x92\x93\xa2\x1a\xa5\x78" -+"\x9c\x6f\x77\x7a\x82\x79\x7b\x1e\x0e\xf7\x82\xf8\x80\xf9\x2a\x15\x77\xbd\x07\xa7\x99\x7f\x75\x81\x88\x7d\x85\x7f\x1f\xfb\x1d\xfb" -+"\xc0\xfb\x24\xf7\xce\x05\x86\x97\x87\x98\x92\x1a\x9a\x94\x94\x9a\x1e\xbd\x9f\xfb\xbc\x77\x06\xac\x8c\x9e\x7d\x9e\x67\xf7\x7a\xfc" -+"\x6a\x18\x53\x74\x75\x74\x6f\x1b\x77\x84\x94\xa7\x8a\x1f\xb1\x8a\x75\xa2\x67\x1b\x64\x70\x70\x64\x56\xb7\x67\xcc\xb2\xad\x98\xa4" -+"\xa5\x1f\x9c\x9c\x96\x9c\xa3\xbe\xf7\x70\xf8\x68\x18\xa4\xc1\x95\x94\xad\x8c\x08\x96\x9f\x06\xfb\x5f\xf7\x05\x15\x7b\x6e\x7d\x6a" -+"\x6b\x6e\x99\x9b\x1e\x8c\x95\x05\x8f\x98\x8c\x92\x91\x1a\xa4\x74\x9e\x6d\x6b\x74\x74\x6a\x54\xc9\x68\xee\xf2\xc9\xad\xc3\xac\x74" -+"\xa2\x6b\x6e\x74\x78\x72\x86\x8c\x84\x8f\x7d\x1e\x0e\x8f\xf8\x5d\xd6\x15\x77\x7c\x89\x89\x82\x1b\x7c\x85\x99\xaf\x1f\xf7\x7b\x07" -+"\xb4\x80\xab\x77\x9e\x1e\xa0\x73\x5e\x99\x5b\x1b\x25\x33\x53\x4a\x6a\xaa\x6e\xaf\xb0\xaa\xa4\xa8\x96\x86\x95\x7e\x97\x1f\x81\x96" -+"\x89\x8f\x93\x1a\x9e\xa1\x99\xaa\xb3\x9a\x76\x54\x1e\x44\x07\x56\x77\x61\x78\x66\x73\x08\x4f\x66\x70\x64\x59\x1a\x57\xb6\x62\xc1" -+"\xb1\xb8\xa4\xb5\xb2\x1e\x5f\x95\xa8\x72\xb7\x1b\xb6\xb2\xa4\xb7\xa3\x1f\xfb\x51\xb7\x15\x75\x73\x7f\x84\x7b\x1b\x76\x7e\x9e\xa8" -+"\xb9\xab\xb5\xc1\xa3\x1f\x0e\x8f\xf8\x3d\xf9\x3b\x15\x7c\x83\x7e\x87\x66\x1b\x6b\x06\x5c\x60\x88\x86\x77\x1f\x57\x7e\x62\x66\x6f" -+"\x52\x08\x6c\x49\x74\xfb\x06\x2e\x1a\x32\xa1\x41\xb6\x57\x1e\x62\xad\xbf\x71\xbb\x1b\xbd\xc5\xa7\xb4\xaf\x1f\xb0\xb5\x9f\xc8\xcf" -+"\x1a\xf7\x17\x35\xef\xfb\x05\x42\x55\x65\x3c\x66\x1e\x99\xf7\x29\xbd\xc6\xf7\x04\x8c\x08\xa8\x06\xe0\x88\xbd\xb4\x9f\xe3\x08\xfb" -+"\x5a\xfb\x95\x15\xa1\xa0\x79\x71\x94\x1f\x94\x6f\x8f\x68\x4b\x1a\xfb\x39\xa7\x0a\xb7\xc4\xf8\x58\x15\x77\x07\xa8\x9b\x75\x66\x89" -+"\x1f\xfb\xbb\x07\x8d\x67\x7b\x76\x6e\x8a\x08\x77\xf7\x78\x07\xf7\x03\xcb\xb7\xd8\xc4\x69\xaf\x41\xa0\x1f\xc2\x9b\xa9\xae\xbc\x1a" -+"\xb3\x74\xac\x62\xa1\x1e\x9b\x6d\x6c\x91\x59\x1b\x66\xfb\x82\x15\xaf\x98\x88\x83\x98\x1f\xa1\x7d\x97\x6f\x66\x1a\x52\x73\x6b\x60" -+"\x75\x84\x92\xa3\x1e\xf7\xf3\x04\xc5\x89\xa4\x73\x52\x1a\x56\x71\x6c\x5f\x89\x85\x8b\x8c\x86\x1e\x0e\x61\xf8\x14\xf8\x58\x15\xfb" -+"\xdb\x76\x06\xa8\x9b\x75\x67\x89\x1f\xfb\xba\xb6\x1d\xf7\xe4\xb1\x07\xd3\x8a\xae\x67\x8e\x40\x08\xa0\x06\x0e\x95\xf8\x6a\xb0\x15" -+"\x7d\x06\x6e\x8c\x7b\xa0\x8d\xaf\x08\xf7\xaa\x07\xb0\x89\x9b\xa0\xa7\x1b\xa0\xfc\x04\x76\x98\x07\xb1\x96\x7b\x52\xfb\x2a\x71\x26" -+"\x58\x56\x1f\x7d\x7d\x80\x87\x79\x1b\x7c\x06\x87\xfb\x28\x05\x9f\x06\x8e\xd8\xb0\xaf\xd7\x8a\x08\xf7\x50\x06\xd7\x8c\xb0\x68\x8e" -+"\x3d\x08\x9f\x06\xfb\x4a\xf7\x29\x15\xfb\x4d\x06\xc4\xcb\xa3\xee\x8d\xf7\x41\x08\xb5\xf1\x07\x0e\x57\xf8\x24\xf7\x7d\x15\x89\xca" -+"\x83\xaf\x74\xb3\x08\xc3\x6b\x58\xac\x56\x1b\x56\x56\x6c\x58\x69\x1f\x6c\x5e\x7c\x53\x47\x1a\x3e\x9f\x53\xb4\x64\x1e\x6c\xaa\xb7" -+"\x7a\xb7\x1b\xd6\xca\xbb\xdf\xb0\x1f\x72\x97\x05\x5a\xdf\x1d\xb0\x15\xee\x8c\xa3\xc1\xb6\x1b\x9e\x9c\x7b\x74\x92\x1f\x92\x72\x8b" -+"\x86\x8d\x37\x08\x0e\x57\xf8\x24\xf7\x7c\x15\x89\xc9\x83\xaf\x74\xb2\x08\xc2\x6a\x59\xac\x56\x1b\x56\x56\x6c\x59\x69\x1f\x6c\x5e" -+"\x7c\x54\x48\x1a\x3e\x9f\x54\xb4\x63\x1e\x6d\xaa\xb7\x7a\xb7\x1b\xd6\xcb\xbb\xde\xaf\x1f\x72\x98\x05\x59\xdf\x1d\xaf\x15\xee\x8c" -+"\xa3\xc0\xb6\x1b\x9e\x9c\x7b\x74\x92\x1f\x92\x72\x8b\x86\x8d\x38\x08\xfb\x21\xf8\x0f\x15\x6c\x71\x71\x6c\x6b\xa5\x71\xab\xaa\xa5" -+"\xa5\xaa\xab\x72\xa5\x6a\x1f\xf7\x44\x16\x6c\x71\x71\x6c\x6b\xa5\x71\xab\xaa\xa5\xa5\xaa\xab\x72\xa5\x6a\x1f\x0e\xf7\x79\xf7\x9b" -+"\x16\xf7\x5a\x9f\x06\x72\x90\x7e\x9f\x8d\xba\x0a\x9c\x6e\x8d\x88\x85\x1a\x82\x82\x86\x7b\x1e\x83\x77\xf7\x66\x9f\x06\x73\x8c\x8a" -+"\xbf\x0a\xc6\xd2\x9c\x95\xc0\x8c\x19\x9f\xfb\x41\x77\xa0\x07\x9a\x95\x84\x7f\x82\x86\x82\xba\x1d\xfb\x5a\x77\x07\xa4\x87\x98\x76" -+"\x8a\x69\x08\xfb\x15\x07\xfb\x10\xf7\x1e\x05\x7f\x98\x86\xce\x1d\x8a\x9b\x81\xc6\x44\xb6\x59\x18\xfb\x25\xfb\x7e\x70\x5f\x8a\x8a" -+"\x73\x8a\x19\x77\xf7\x67\x9f\x83\x07\x7a\x83\x90\x94\x90\x90\x96\x98\xa1\x1f\xde\xf7\x1f\x9a\x79\x05\xfb\x06\x07\x8c\x69\x7f\x77" -+"\x71\x86\x08\x0e\x2d\xc3\xf7\xd4\x15\xa3\x06\xd0\x91\xa6\xad\xbc\x1b\xb3\xa2\x6c\x56\x4c\x77\x76\x52\x1f\x96\x0a\x05\x36\x9f\xbd" -+"\x63\xe0\x1b\xf7\x03\xd8\xc0\xd7\xcb\x63\xb5\x3f\x9c\x1f\xca\x9b\xab\xb1\xc2\x1a\xcc\x4d\xb8\x30\x73\x7b\x88\x82\x6e\x1e\x87\x7e" -+"\x83\x89\x84\x1b\x7e\x85\x91\x97\x1f\x7a\x06\x0e\xdb\x3f\x0a\x0e\xdb\x3f\x0a\x83\xf7\x66\x15\x8c\x88\x05\x88\x07\x83\x07\x75\x76" -+"\x7d\x69\x69\x76\x99\xa1\x8e\x8b\x8d\x8c\x8e\x1e\x8c\x9a\x05\xa1\x79\x9b\x72\x71\x79\x79\x70\x5c\xc7\x68\xda\xdc\xc7\xae\xba\xa6" -+"\x79\x9d\x72\x72\x79\x7b\x75\x1e\x0e\xdb\x54\x0a\x0e\xcc\xf7\xe5\xf8\x33\x15\xfb\xe4\x07\x8d\x67\x7c\x76\x6e\x89\x08\x77\xf7\x66" -+"\xb2\x0a\xaf\x89\x9b\xa1\xa8\x1b\xa0\xfb\xf5\x76\x07\xb8\x89\x91\x7f\x36\x1a\x43\x07\x36\x88\x54\x84\x6d\x1e\x6d\x85\x80\x7a\x7f" -+"\x1b\x85\x88\x8f\x90\x8d\x8b\x8b\x8d\x95\x1f\x8c\x91\x8b\x8b\x8f\x1a\xa8\x75\xa0\x6c\x6a\x75\x74\x68\x5d\xa9\x6d\xb9\xb2\xa9\x9e" -+"\xae\x9c\x1e\x9f\xb4\x91\xbc\xf7\x10\x1a\xf7\x31\x07\x0e\xf7\x4d\xf8\x4d\xf8\x58\x15\x29\xfb\x9a\x23\xf7\x9a\x05\xfb\x38\x77\x06" -+"\xa7\x8a\x9b\x76\x89\x66\x29\x0a\x8d\x67\x7c\x76\x6e\x89\x08\x77\xf7\x0c\x9f\x07\x6f\x8c\x7b\xa1\x8d\xaf\x08\xf7\xa1\x07\xf7\x1f" -+"\xfb\xf0\x05\x9d\x06\xf7\x15\xf7\xec\x05\xfb\x9d\x07\x66\x8d\x7a\x75\x6e\x1b\x77\xf7\x67\x9f\x07\x6e\x8d\x7c\xa0\x8d\xaf\x08\xf7" -+"\xba\x07\x89\xaf\x9b\xa1\xa7\x8c\x08\x9f\x07\x0e\xdb\xf7\xed\xf7\x96\x15\xfb\x06\xf7\x07\x06\x89\xae\x99\x3e\x1d\x89\x9a\x76\x89" -+"\x67\x29\x0a\x8d\x66\x7c\x48\x0a\x8e\x7d\xa0\x8d\xae\x08\xf7\x22\xf7\x06\xfb\x22\x07\x8d\x68\x7d\x76\x71\x88\x08\x77\xf7\x61\x9f" -+"\x07\x6f\x8c\x7b\xa1\x8d\xaf\x08\xf7\xba\x07\x89\xaf\x9a\xa1\xa8\x8c\x08\x9f\xfb\x61\x77\x07\xa5\x88\x99\x76\x89\x68\x08\x0e\x8f" -+"\xf7\x90\xf8\x61\x15\xfb\x09\x35\x26\xfb\x1c\x47\xa3\x4b\xb5\x61\x1f\x67\xae\xc0\x73\xb8\x1b\xc0\xc4\xa6\xb5\xb0\x1f\xb0\xb5\x9f" -+"\xc8\xcf\x1a\xf7\x18\x35\xee\xfb\x06\x1e\x8a\x64\x15\xa1\xa0\x79\x71\x94\x1f\x95\x6f\x8e\x69\x4c\x1a\xfb\x3b\xa7\x0a\xdb\xf7\x7c" -+"\xf8\x33\x15\xf7\x04\xfb\xe4\x06\x8d\x67\x7b\x75\x6e\x8a\x08\x77\xf7\x67\xb2\x0a\xb0\x89\x9b\xa0\xa8\x1b\xa0\xfc\x54\x76\x07\xa8" -+"\x9b\x75\x67\x89\x1f\xfb\xba\x07\xad\x0a\xf7\x67\x9f\x07\x6e\x8c\x7b\xa1\x8d\xaf\x08\x0e\xc7\xf7\x86\xb0\x15\x6b\xa1\xa5\x7c\xaf" -+"\x1b\xae\xb0\x9f\xac\xa6\x1f\xad\xb7\x9b\xc3\xda\x1a\xf7\x20\x4f\xee\x37\x68\x71\x7c\x68\x6f\x1e\xb9\x74\x07\xfb\x28\x65\x05\x76" -+"\x95\x07\xa5\x85\x96\x7a\x8a\x6a\x08\xfc\x3e\x07\x68\x8d\x7a\x76\x6f\x1b\x83\x77\xf7\x7f\x9f\x81\x06\x6a\x89\x79\x9f\x8d\xb1\x08" -+"\xf8\x20\x04\xac\x8c\x92\x95\x9b\x1e\x9a\x95\x99\x94\x99\x1b\xae\x98\x5e\xfb\x0f\xfb\x1c\x81\x60\x6b\x75\x74\xa0\xa7\x81\x1f\x0e" -+"\x57\xf8\x12\xf7\x11\x15\x65\x6d\x6c\x79\x6a\x1b\x47\x54\xe8\xf7\x06\xde\xa8\xc7\xb4\x9f\x99\x7c\x75\x8c\x1f\x8c\x68\x8c\x83\x95" -+"\x78\x08\x71\x98\x9e\x7e\xa5\x1b\xac\xa4\xa4\xad\xcf\x47\xc0\x34\xfb\x08\x38\x25\xfb\x24\xfb\x1b\xd3\x31\xf7\x01\xcf\xc8\xb3\xd9" -+"\xba\x1f\x0e\x86\xf7\x1d\x16\xf7\x6d\x9f\x06\x6b\x7b\x9f\xb2\x8d\x1f\xf7\xe4\x9c\x07\xd2\xae\x67\x3f\x8f\x1f\x9f\x06\x81\xf7\x29" -+"\x05\xfc\x23\x06\x81\xfb\x29\x05\x9f\x06\xd6\x8e\xaf\xb0\xd2\x1b\x9c\xfb\xe4\x06\x8c\x64\x7c\x78\x6b\x8a\x08\x0e\x8f\x6e\x1d\x0e" -+"\xf7\x58\xf8\x2c\xf9\x22\x15\xfb\x3b\x76\x06\xa7\x9b\x75\x68\x89\x1f\xfb\x33\x07\xac\x6c\x75\x96\x67\x1b\x2e\x49\x28\xfb\x1e\xfb" -+"\x21\xca\x2e\xe9\xac\xa7\x96\xa3\xa9\x1f\x20\x07\x8d\x68\x7b\x75\x6f\x8a\x08\x77\xf7\x67\x9f\x07\x6d\x7b\xa1\xaf\x8d\x1f\xf6\x07" -+"\x73\xaa\xa6\x80\xac\x1b\xe9\xca\xe9\xf7\x20\xf7\x1e\x49\xee\x2e\x68\x71\x7e\x6c\x6f\x1f\x63\x04\x9b\x9f\x9b\x92\x9b\x1b\xb9\xa0" -+"\x58\xfb\x08\xfb\x15\x74\x53\x56\x7b\x7e\x90\x97\x7d\x1f\xfb\x11\x16\x7f\x7d\x7e\x86\x7b\x1b\x56\x74\xc3\xf7\x14\xf7\x08\xa0\xbf" -+"\xb9\x9b\x9c\x83\x7c\x9e\x1f\x0e\x8f\xf7\x68\xf7\x38\x15\xc6\x2c\x05\x96\x79\x8e\x84\x85\x1a\x7d\x7c\x85\x73\x8d\x1e\x8a\x77\xf7" -+"\x78\x9f\x82\x06\x78\x8c\x89\x8c\x6d\xba\xfb\x10\xf7\x59\x18\xdd\xf7\x02\xac\xb8\x99\x95\xb0\x8c\x19\x9f\xfb\x25\x77\x07\xa5\x87" -+"\x93\x85\x7c\x1a\x82\x83\x7a\x80\x7d\x1e\x55\x43\x55\xe2\x05\x81\x9c\x88\x90\x93\x1a\x96\x94\x90\xab\x8f\x1e\x9f\xfb\x78\x77\x07" -+"\xa7\x88\x90\x86\xb8\x44\xef\xfb\x34\x18\x39\xfb\x02\x68\x5b\x79\x7f\x60\x88\x19\x77\xf7\x36\x9f\x07\x7e\x8c\x84\x8b\x89\x8c\x08" -+"\x7d\x8e\x82\x94\x95\x1a\x94\x91\x98\x97\x9c\x1e\x0e\xdb\xf8\xa2\xb0\x15\x7f\x06\x6d\x8a\x7a\xa0\x8d\xb1\x08\xf7\xaa\x41\x1d\xfb" -+"\x62\xc9\x1d\x89\xad\x98\xa0\xa5\x8f\x08\x9f\xfb\x61\x3d\x1d\x67\x8d\x7b\x75\x6e\x1b\x76\xf7\xd8\x07\xd7\x8d\xb2\x67\x8e\x3d\x08" -+"\x9f\x06\x0e\xcf\xcd\xf8\x44\x15\xa4\x87\x99\x76\x89\x69\x08\x40\x07\x3b\xbb\x65\xf1\xa6\x9f\x8e\x95\xa9\x1e\xfb\x06\x07\x8d\x67" -+"\x7b\x75\x6f\x8a\x08\x85\x77\xf7\x6c\x9f\x06\x87\x0a\x9b\x75\x89\x67\x08\xfb\x23\x07\x84\x7e\x7f\x88\x7c\x1b\x62\x76\xa0\xb5\x1f" -+"\xe5\xe2\x1d\x07\x0e\xf7\xf0\xf8\xbb\xf8\x58\x15\x61\x0a\xf9\x31\xa0\x07\x6f\x7b\xa0\xb0\x8d\x1f\xf7\xba\x07\x89\xb0\x9a\x9f\xa8" -+"\x8d\x08\x9f\x07\x0e\xf7\xf0\xf9\x97\xb0\x15\x7f\x06\x69\x7e\x9e\xba\x8d\x1f\xf7\xa2\x07\x89\xb0\x9a\x9f\xa8\x8d\x08\x9f\xfb\x61" -+"\x61\x0a\xf8\xb8\x07\xd6\x8c\xb1\x67\x8e\x3e\x08\x9f\x06\x0e\xe2\xbd\xf8\x58\x15\x81\xfb\x29\x05\x9f\x06\xd5\x8e\xaf\xb1\xd1\x1b" -+"\xfb\xe5\xad\x1d\x7c\x7f\x8b\x89\x77\x1f\xf7\x05\x41\x1d\x07\x5f\xfb\x76\xb1\x1d\xf7\xb1\xe5\xf8\x58\x15\x77\x07\xa8\x89\x9a\x77" -+"\x89\x66\x08\xfb\xbb\x07\x8d\x67\x7c\x77\x6e\x89\x08\x77\xf7\x77\x07\xf7\x02\xc7\xb7\xdb\xe4\x4a\xbc\xfb\x0a\x7b\x86\x8b\x89\x71" -+"\xbc\x1d\x8f\x8b\x90\xaa\x0a\xf8\x48\x48\x15\x9f\x07\x6d\x8c\x7b\xa0\x8d\xb0\x08\xf7\xba\x41\x1d\xfb\x67\x77\x07\xa7\x8a\x9b\x75" -+"\x89\x67\x29\x0a\x8d\x67\x7b\x75\x6f\x8a\x08\x77\x07\x0e\xac\xc2\xf8\x58\x15\x77\x07\xa8\x89\x9a\x77\x89\x66\x08\xfb\xbb\x07\x8d" -+"\x67\x7c\x77\x6e\x89\x08\x77\xf7\x77\x07\xf7\x02\xc7\xb7\xdb\xe4\x4a\xbc\xfb\x0a\x7b\x86\x8b\x89\x71\xbc\x1d\x8f\x8b\x90\xaa\x0a" -+"\x0e\x4b\xf7\x19\xf7\x70\x15\xf7\x26\x06\x89\x53\x88\x75\x83\x70\x08\x5f\x7d\x6a\x73\x5d\x1b\x51\x64\xac\xcf\x74\x1f\x6d\x82\x05" -+"\x29\xa6\xc7\x58\xe3\x1b\xf7\x0d\xe4\xef\xf7\x1b\xf7\x1a\x34\xf1\xfb\x07\x71\x77\x86\x7e\x6e\x1f\x85\x7e\x84\x89\x82\x1b\x7d\x81" -+"\x93\x97\x89\x1f\x79\x06\x84\xfb\x2a\x05\xa3\x06\xda\x9e\xaf\xb1\xc1\x1b\xaf\xa7\x77\x68\x99\x1f\x96\x6f\x8e\x78\x8f\x4c\x08\xfb" -+"\x27\x06\x0e\xf7\xa0\xf7\x77\xf7\x97\x15\xf7\x06\x07\x89\xaf\x9a\xa1\xa8\x9c\x1d\x6e\x8d\x7c\xa0\x8d\xaf\x08\xf7\x21\xc3\x07\x8c" -+"\x5a\x96\x63\xa0\x66\x08\x4c\xae\xce\x62\xcc\x1b\xbf\xc5\xa6\xb5\xaf\x1f\xb0\xb5\x9f\xc8\xcf\x1a\xf7\x19\x36\xed\xfb\x07\x20\x3e" -+"\x3e\xfb\x11\x7a\x1e\xf7\x5c\xf7\x38\x15\xa2\xa0\x79\x71\x94\x1f\x94\x6f\x8f\x69\x4b\x1a\xfb\x3b\x78\x52\x55\x62\x79\xbb\xf5\xf7" -+"\x4b\x9b\xc4\xbd\x1e\x0e\xb8\xf7\xd5\xf7\x5c\x15\xfb\x0d\x07\x8d\x67\x7c\x76\x6e\x89\x08\x77\xf7\x65\x9f\x07\x6e\x8d\x7c\x9f\x8d" -+"\xb0\x08\xf7\xba\x07\xaf\x89\x9b\xa1\xa7\x1b\xa0\xfb\x83\x07\xfb\x00\x4a\x5b\x3c\x52\xac\x64\xcb\x78\x1f\x3c\xfb\x18\x72\x5e\x7f" -+"\x80\x77\x89\x19\x77\xf7\x26\x07\xf7\x05\xf7\x5c\x05\xa4\xf7\x69\x15\xfb\x46\x07\x8a\x7f\x85\x8b\x85\x1b\x47\x6f\xa6\xcc\xc9\xa5" -+"\xa4\xcc\x1f\x0e\x20\xf7\x58\xf8\x32\x15\xf7\x36\x06\x95\xf7\x2b\x05\x76\x06\x88\x3e\x67\x67\x42\x8a\x08\xfb\x67\x76\x06\xa9\x9b" -+"\x75\x66\x89\x1f\xfb\xb7\x5d\x1d\x76\xf7\x71\xa0\x87\x07\x6c\x7b\xa1\xb0\x8d\x1f\x0e\xb4\xf7\x69\xf9\x22\x15\xfb\x42\x77\x92\x06" -+"\xa8\x88\x9a\x77\x89\x68\x08\x77\x48\x66\xce\xfc\x4d\x07\xb7\x1d\xf7\x9a\x07\xaf\xa0\xa6\xa3\x9f\x1b\xb4\x9b\x3d\xfb\x57\xfb\x50" -+"\x7a\x42\x60\x84\x87\x8f\x92\x1f\x8c\x95\x05\x8d\x94\x8c\x92\x8f\x1a\xa7\x78\x9f\x71\x6b\x76\x75\x69\x5f\xae\x6f\xc2\xf7\x13\xde" -+"\xf7\x24\xf7\x72\xf7\x3c\x58\xef\x36\x5e\x6b\x7a\x59\x5c\x1e\xf7\x11\xf7\x21\xb0\xfb\x21\x07\x0e\x61\xc5\xf8\x42\x15\x8c\x06\x8d" -+"\x06\x8c\x06\x8c\x06\xa6\x8a\x96\x7f\x8a\x70\x08\xfb\xdd\x07\x6f\x80\x80\x71\x8a\x1e\x86\x76\xf7\x6c\xa0\x80\x06\x71\x8c\x80\x96" -+"\xa7\x1a\xf7\xf2\x8f\x07\x90\x06\x90\x06\x8f\x06\xdc\xae\x6c\x39\x95\x1f\xa2\x06\x83\xf7\x2d\x05\xfb\xdb\x06\xf7\x11\xcb\x15\xf7" -+"\x2e\xed\x05\xa0\x99\x94\x98\x9c\x1a\x9f\x7e\x97\x75\x7c\x83\x86\x78\x78\x1e\xfb\x27\xfb\x2a\x05\x0e\x4b\xf7\xbf\xf7\x70\x15\xb0" -+"\xfb\x27\x07\xf7\x09\x90\xa7\xbb\xca\x1b\xc1\xae\x65\x3c\x9f\x1f\xa3\x06\x84\xf7\x2a\x05\x79\x06\x7f\x89\x81\x83\x7c\x1b\x83\x84" -+"\x8d\x91\x7e\x1f\x98\x6e\x77\x90\x71\x1b\xfb\x07\x34\x25\xfb\x1a\xfb\x1b\xe4\x27\xf7\x0c\xe4\xc6\xbe\xed\xa7\x1f\x6d\x94\x05\x46" -+"\x73\x65\x6b\x51\x1b\x5d\x6a\xa3\xb7\x7d\x1f\x82\xa6\x89\xa2\x89\xc2\x08\x0e\x20\xf7\xd7\xf8\x64\x15\x79\x06\x79\x8a\x81\x7f\x7d" -+"\x1b\x84\x81\x8e\x93\x75\x1f\x97\x6c\x80\x8d\x76\x1b\x3e\x4e\x52\x44\x52\xac\x5b\xcf\x64\x1f\xde\x5b\x8b\x8b\x9e\x79\x08\x95\x81" -+"\x91\x7d\x7e\x1a\x6d\x6b\x71\x67\x53\x51\xbc\xcd\x78\x1e\x7b\x06\x93\xfb\x2a\x05\x99\x06\xa0\x93\x93\x92\x9b\x1b\x91\x91\x8a\x88" -+"\x91\x1f\x78\xb8\x9e\x86\xa8\x1b\xda\xcc\xc8\xd5\xc7\x69\xbb\x44\xb3\x1f\x30\xbe\x8b\x8b\x7e\x97\x08\x83\x94\x85\x98\x98\x1a\xa7" -+"\xa6\xa1\xae\xbd\xbb\x62\x47\xa7\x1e\x98\x06\x0e\xfb\x6e\xf7\x62\xf8\x58\x15\xfb\x43\x76\x91\x5b\x1d\xfb\xba\x5d\x1d\x85\x77\xf7" -+"\x76\x9f\x84\x06\x6d\x7b\xa1\xb0\x8d\x1f\x45\xf8\xd9\x15\x65\x6c\x6d\x65\x65\xa9\x6c\xb1\xb1\xa9\xaa\xb1\xb0\x6c\xaa\x67\x1f\x0e" -+"\xfb\x6e\xf7\x63\xf8\x58\x15\xfb\x43\x76\x91\x5b\x1d\xfb\xba\x5d\x1d\x85\x77\xf7\x76\x9f\x84\x06\x6d\x7b\xa1\xb0\x8d\x1f\xfb\x31" -+"\xf8\xd8\x15\x6b\x6e\x6d\x6a\x67\xa7\x6e\xac\xaf\xa6\xa7\xae\xaf\x6f\xa8\x68\x1f\xf7\x45\x16\x6b\x6f\x6d\x6a\x67\xa6\x6e\xad\xae" -+"\xa7\xa7\xae\xaf\x6e\xa8\x68\x1f\x0e\xfb\x37\xf7\x8f\xf8\x58\x15\xfb\x47\x76\x95\x5b\x1d\xfb\xe8\x07\x6e\x07\x8d\x6d\x05\x8e\x53" -+"\x8b\x88\x83\x1a\x70\x84\x7b\x80\x84\x87\x93\x97\x8f\x8b\x8e\x8c\x8e\x1e\x8c\x9c\x05\xaa\x74\xa3\x6f\x6e\x72\x70\x6a\x5d\xb7\x6d" -+"\xd0\xe1\xc0\xbf\xe2\x1e\x40\xf9\x47\x15\x63\x6b\x6c\x64\x63\xaa\x6b\xb3\xb1\xab\xab\xb2\xb2\x6c\xab\x65\x1f\x0e\xf7\xb0\xf7\xbf" -+"\x16\xf7\x77\x06\xf7\x02\xc7\xb7\xdc\xe3\x4a\xbc\xfb\x0b\x7b\x87\x8b\x89\x71\x1f\xf7\x05\x07\xb0\x89\x9b\xa0\xa8\x1b\xa0\xfb\xf5" -+"\x76\x07\xb8\x89\x91\x7f\x36\x1a\x43\x07\x37\x88\x53\x84\x6d\x1e\x6e\x85\x80\x79\x7f\x1b\x85\x88\x8f\x90\x8d\x8b\x8b\x8d\x95\x1f" -+"\x8c\x91\x8b\x8b\x8f\x1a\xa8\x75\xa0\x6c\x6a\x75\x74\x68\x5d\xa9\x6d\xb9\xb2\xa9\x9e\xae\x9c\x1e\x9f\xb3\x91\xbd\xf7\x10\x1a\xf7" -+"\x31\xee\xfb\xe5\x07\x8d\x67\x7c\x77\x6e\x89\x08\xf7\x3b\xf7\x62\xb1\x1d\xf7\xc1\xf7\xf3\xf7\x71\x15\xfb\x23\xad\x1d\x7d\x84\x8b" -+"\x89\x71\x1f\xf7\x05\xa8\x0a\x89\x9b\x76\x89\x67\x08\xfb\x07\xfb\x06\xf7\x07\x07\x89\xae\x99\x3e\x1d\x89\x9a\x76\x89\x67\x08\xfb" -+"\xbb\x07\x8d\x67\x7c\x48\x0a\x8e\x7d\xa0\x8d\xad\x08\xf7\x23\x07\xf7\x83\x90\x15\x9c\x06\xbc\xa4\x6a\x48\x50\x75\x6b\x63\x75\x84" -+"\x93\xa3\x1f\x0e\xc7\xad\xf8\x9b\x15\xce\xfc\x4d\x06\xb7\x1d\xf7\x92\x07\xbc\xa5\x9d\x9c\xa6\x1b\xa1\x96\x76\x5e\x1f\xfb\x92\x07" -+"\x8c\x6a\x80\x78\x71\x85\x08\x77\xf7\x5f\x9f\x07\x6e\x8d\x7c\x9f\x8d\xaf\x08\xf7\x80\x07\xe9\x63\xc0\x43\x62\x67\x74\x5a\x63\x1e" -+"\xf7\x16\xf7\x3e\xb0\xfb\x3e\xed\xfb\x42\x77\x92\x07\xa8\x88\x9a\x77\x89\x68\x08\x77\x48\x07\x0e\xdb\x54\x0a\x89\xc7\x15\xf7\x2e" -+"\xed\x05\xa0\x98\x94\x98\x9b\x1a\x9f\x7e\x97\x76\x7b\x82\x86\x79\x79\x1e\xfb\x27\xfb\x29\x05\x0e\x8f\x6e\x1d\x7c\xf7\x94\x15\x8c" -+"\x83\x8b\x8a\x89\x1a\x75\x76\x7d\x6a\x69\x76\x99\xa1\x1e\x93\x07\x8c\x92\x8b\x8e\x90\x1a\xa0\x79\x9c\x72\x72\x79\x79\x70\x5c\xc7" -+"\x68\xd9\xdc\xc7\xae\xba\xa6\x79\x9d\x72\x72\x79\x7b\x73\x1e\x0e\xf7\xae\xf9\x82\x16\x9f\x79\x07\x56\x8e\x7c\x9d\x8d\xc5\x08\xf8" -+"\x67\x07\x89\xc3\x9a\x9d\xc0\x8d\x08\x9d\x9f\xfb\xcf\x66\x1d\x79\x89\x53\x08\xfc\xa4\xfb\x96\xf8\xa4\x07\x89\xc3\x9a\x9d\x89\x0a" -+"\x79\x89\x53\x08\xfc\x67\x07\x8d\x51\x7c\x79\x56\x88\x08\x78\x77\xf7\x7b\x06\xcc\x8e\xb4\x58\x93\x2c\x08\x9a\x06\x99\x06\x93\xea" -+"\xb4\xbf\xcc\x87\x08\x0e\xdb\xcb\xf8\x58\x15\x3d\x1d\x67\x8d\x7b\x75\x6e\x1b\x76\xea\x07\xd8\x8d\xb2\x67\x8e\x3d\x08\x9f\x06\x8e" -+"\xd9\xb2\xaf\xd8\x89\x08\xea\xa0\x06\x6e\x7b\xa0\xb0\x8d\x1f\xb9\x0a\xfb\x61\xc9\x1d\x8a\xad\x97\x9f\xa5\x90\x08\x9f\x07\x0e\x4d" -+"\xad\xf7\x6e\x15\x8c\x4d\x94\x66\xa2\x63\x08\x53\xab\xbd\x6a\xc1\x1b\xbf\xc0\xaa\xbe\xae\x1f\xa9\xb8\x9a\xc2\xd0\x1a\xd8\x77\xc3" -+"\x62\xb2\x1e\xaa\x6c\x60\x9c\x5e\x1b\x40\x4b\x5b\x37\x68\x1f\xa3\x7f\x05\xbc\xa3\xa6\x9f\xb5\x1b\xcd\xb7\x4b\x23\x8e\x1f\x8d\x66" -+"\x15\x28\x8a\x74\x55\x60\x1b\x77\x7a\x9b\xa3\x85\x1f\x84\xa3\x8a\x92\x8a\xdd\x08\x0e\xf7\xe5\xf9\x39\xf9\x47\x15\x48\x06\xfc\x73" -+"\xfd\x63\x05\xcd\x06\xec\xf8\x5b\x15\x6d\x6e\x79\x81\x72\x1b\x4e\x5f\xd4\xf0\xcb\x9e\xb4\xa9\x9d\x94\x7e\x6e\x8f\x1f\x5d\x90\x9a" -+"\x78\xac\x1b\xa6\x9d\x9d\xa6\xbc\x59\xb1\x4c\x2a\x48\x3e\xfb\x01\x24\xca\x42\xe2\xc6\xb8\xa9\xc7\xad\x1f\xf7\xf1\x48\x15\x2c\x49" -+"\x40\xfb\x00\x21\xcd\x42\xea\xec\xcb\xd3\xf7\x00\xf6\x49\xd6\x2c\x1f\x71\x04\xb4\x98\x67\xfb\x01\xfb\x15\x7f\x66\x61\x66\x7b\xaf" -+"\xe0\xf7\x2f\x95\xae\xb6\x1f\x0e\xfb\x0d\xf7\x52\xf7\x94\x15\x8e\x8e\x93\x93\x99\x9a\xc6\xc9\x90\x91\x9b\xa1\x08\xb9\xcd\xa7\xd4" -+"\xc1\x1a\xc6\x69\xb3\x57\x2b\x47\xfb\x17\xfb\xae\x59\x1e\x7c\x77\x85\x83\x83\x82\x08\x65\x60\x8b\x8b\x7c\x1a\x7c\x95\x7a\x93\x92" -+"\x9b\x99\xa1\x9e\x1e\x8a\x81\x8b\x81\x87\x1a\x65\x8e\x68\x90\x7b\x1e\x5e\x97\xa9\x72\xb3\x1b\xaa\xa8\x9c\xab\xa2\x1f\x9c\xa3\x96" -+"\xa6\xa0\x1a\x9a\x83\x94\x7f\x80\x85\x86\x7a\x83\x1e\x68\x79\x84\x82\x80\x1b\x83\x86\x94\x9b\xa5\x93\xcc\x99\xdf\x1f\x95\xd7\x15" -+"\xf7\x45\xa6\xa5\xdb\xac\x1b\x98\x93\x7e\x77\x54\x59\x21\x52\x4c\x1f\x0e\xf8\x91\xf9\x00\x7e\x15\xf8\xa4\x07\xb0\x8d\x9b\x92\x9b" -+"\x1e\x9c\x92\x96\x97\x95\x1b\x91\x8e\x88\x86\x1f\x87\x07\x89\x84\x8b\x89\x85\x1a\x6d\xa0\x76\xa9\xab\xa1\xa4\xae\xb8\x6a\xaa\x5c" -+"\x65\x6f\x79\x68\x78\x1e\x7d\x70\x86\x6d\x4e\x1a\xfb\xa5\x07\xfb\xcc\xf8\x47\x05\xfb\x56\x71\x06\xb2\x89\xa1\x7b\xa6\x60\x08\xfc" -+"\x3b\x07\x46\x80\x6c\x71\x86\x87\x8f\x90\x8c\x8b\x8d\x8c\x8d\x1e\x8d\x92\x8c\x8e\x92\x1a\xa7\x75\xa0\x6c\x6b\x75\x71\x65\x5a\xac" -+"\x6b\xbb\xb0\xa8\x9d\xae\x9d\x1e\x99\xa6\x90\xa9\xc7\x1a\xf8\x05\x07\xf8\x18\xfc\xaf\x05\xf7\x79\xf8\x6f\x15\x30\x49\x4a\x30\x31" -+"\xcc\x49\xe5\xe8\xcc\xcb\xe7\xe6\x4a\xcc\x30\x1f\x8a\x69\x15\xb6\xa4\x5e\x3e\x3c\x73\x60\x5f\x60\x73\xb7\xda\xd7\xa4\xb8\xb5\x1f" -+"\xfb\x16\xfc\x40\x15\xf7\x9a\xd0\xfb\x9a\x06\x0e\xc9\xf8\xb3\xf8\x57\x70\x1d\xc9\xf7\xbd\xf8\xa5\x15\x8d\x93\x91\xa7\x05\x9a\xce" -+"\x8c\x90\x9b\x1a\xa5\x79\x9e\x72\x73\x79\x77\x71\x80\x8d\x7d\x8f\x78\x1e\x96\x60\x8d\x80\x8d\x81\x8b\x89\x8e\x7e\x19\xf7\xaf\x3d" -+"\x70\x1d\x8f\x23\x1d\xf7\x0e\xf8\x1c\x22\x0a\xfb\x37\xc5\xf7\x82\x15\xf7\x42\xfb\xe8\x05\x7c\x93\x95\x83\x97\x1b\x93\x90\x8f\x92" -+"\x92\x89\x93\x88\x93\x1f\xfb\x17\xf7\xdd\xf7\x17\xf7\xdd\x05\x8e\x93\x8d\x93\x92\x1a\x93\x86\x8f\x83\x7f\x83\x85\x79\x81\x1e\x0e" -+"\xfb\x37\xf7\xa7\xf7\x82\x15\xfb\x42\xf7\xe8\x05\x9c\x82\x82\x92\x7f\x1b\x83\x86\x87\x83\x85\x8d\x83\x8e\x82\x1f\xf7\x17\xfb\xdd" -+"\xfb\x17\xfb\xdd\x05\x88\x84\x89\x83\x84\x1a\x83\x90\x87\x93\x97\x93\x91\x9c\x95\x1e\x0e\x8f\x76\x1d\x91\x70\x90\x7f\x97\x7f\x08" -+"\x67\x5b\x81\x76\x6f\x1a\x5c\xb8\x69\xc8\xa0\x0a\x80\x88\x7d\x1b\x67\x6e\x9f\xa3\x9e\x9a\x9d\x9f\x92\x1f\xc5\x9d\x90\x8d\xaf\xb2" -+"\x08\xfb\x57\xc4\x15\x6c\x70\x77\x7f\x73\x1b\x6d\x76\xa6\xb3\xc5\xb5\xb5\xdb\xa0\x1f\x0e\xf8\x8c\xf9\x38\xf7\x6b\x15\x6b\x72\x78" -+"\x7e\x73\x1b\x78\x7d\x90\xa5\x50\x1f\xa7\x4d\x6d\x94\x6c\x1b\x55\x67\x73\x4f\x69\x8b\x0a\xad\xa2\xc8\xb6\x1f\x54\xf7\x80\x15\x6a" -+"\x72\x78\x7e\x73\x1b\x78\x7e\x8f\xa6\x4f\x1f\xa7\x4d\x6d\x94\x6c\x1b\x55\x67\x72\x50\x69\x1f\xc0\x5d\x05\xab\xa2\x9c\x95\xa8\x1b" -+"\xaf\xa8\x82\x71\xba\x1f\x72\xb9\xa5\x83\xac\x1b\xb9\xab\xa1\xca\xb8\x1f\x0e\x8f\xf8\x6d\xcb\x15\x81\x81\x05\x88\x88\x88\x8a\x86" -+"\x1b\x7d\x84\x93\x9c\x1f\xf7\x99\x07\xdf\x3f\xc0\xfb\x0c\xfb\x07\x3f\x59\x3f\x61\xa3\x73\xb4\xb3\xa7\xa3\xad\x99\x86\x98\x7e\x9b" -+"\x1e\x82\x95\x88\x91\x91\x1a\xa0\xa6\x9b\xaf\xc6\xa4\x70\x4e\x1e\x42\x07\xfb\x0c\x67\x5b\x77\x66\x72\x08\x5f\x6d\x77\x69\x60\x1a" -+"\x4e\xb9\x5e\xcc\xc4\xb9\x9f\xbd\xc2\x1e\x58\x96\xa1\x78\xbc\x1b\xb6\xaa\x9b\xb4\xb1\x1f\xfb\x57\xc4\x15\x6c\x70\x77\x7f\x73\x1b" -+"\x6d\x76\xa6\xb3\xc5\xb5\xb5\xdb\xa0\x1f\x56\xf8\x8d\x15\x51\x5a\x5b\x52\x4e\xba\x5c\xc6\xc7\xba\xba\xc6\xc6\x5b\xbb\x44\x1d\x70" -+"\x6a\x6c\x70\x71\x6a\x6c\x4c\x0a\x35\xcd\x22\x1d\xab\x9f\x93\x95\xa2\x1a\xa5\x78\x9d\x6e\x78\x60\x1d\xf9\x03\xf8\x37\x15\xfc\xa0" -+"\x06\xf7\x66\xdc\x74\xc0\xfb\xb2\xfb\x14\x05\x3e\x07\xf7\xb2\xfb\x13\xa2\xbf\xfb\x66\xdd\x05\xf8\xa0\x06\xfb\x66\x39\xa2\x57\xf7" -+"\xb2\xf7\x13\x05\xd8\x07\xfb\xb2\xf7\x14\x74\x56\x05\x0e\xf8\x1b\xf9\x66\x15\x4b\xfd\x03\x06\x39\xf7\x66\x57\x74\xf7\x13\xfb\xb2" -+"\x05\xd8\x06\xf7\x14\xf7\xb2\x56\xa2\x3a\xfb\x66\x05\x0e\xf9\x66\xf7\xf9\x15\xcb\xfd\x03\x07\xf7\x66\xdc\x74\xc0\xfb\xb2\xfb\x13" -+"\x05\x3e\x07\xf7\xb2\xfb\x14\xa2\xbf\xfb\x66\xdd\x05\x0e\xf7\xf9\x04\xf9\x03\x06\xfb\x66\x39\xa2\x57\xf7\xb2\xf7\x14\x05\xd8\x07" -+"\xfb\xb2\xf7\x13\x74\x56\xf7\x66\x3a\x05\xfd\x03\x06\x0e\xf8\x1b\x16\xf9\x03\x07\xdc\xfb\x66\xc0\xa3\xfb\x14\xf7\xb1\x05\x3e\x06" -+"\xfb\x13\xfb\xb1\xbf\x73\xdd\xf7\x66\x05\xfd\x03\x07\x0e\xf7\xde\xf9\x03\x7a\x0a\xa2\xb4\x0a\x74\x05\x0e\xf7\x5b\x2c\x15\x51\xf7" -+"\xdb\xc5\x07\xfb\x58\xf9\x42\x7a\x0a\xa3\xb4\x0a\x73\x05\x0e\xaa\xf7\x5f\xb1\x15\x69\xa8\xa5\x7d\xad\x1b\xf4\xe4\xf6\xf7\x13\xd0" -+"\x72\xca\x60\xaf\x1f\x80\x94\x7e\x93\x6f\x98\x08\xc4\xae\xa6\xb5\xc2\x1a\xd2\x4e\xba\x2f\x3e\x45\x69\x52\x65\x1e\x71\x65\x81\x61" -+"\x49\x1a\xfc\xfa\xf7\x13\x07\xf9\x08\x04\xf7\x13\xa0\xc4\xba\xac\xa3\x65\x55\x66\x87\x68\x82\x6b\x1e\x94\x77\x82\x8e\x7d\x1b\x6e" -+"\x77\x7a\x73\x74\x9a\x7b\xa1\x9e\x99\x91\x9c\xa0\x1f\x9e\x67\x92\x5a\x2a\x1a\x4b\x86\x69\x7d\x6b\x1e\x72\x80\x76\x7a\x76\x1b\x74" -+"\x76\x9a\xab\x76\x1f\x0e\x57\x36\x1d\xfb\x8c\xf8\x49\x38\x0a\x57\x36\x1d\x81\xf8\xf9\x93\x0a\x60\xf8\x2f\xf7\x01\x15\x61\x66\x71" -+"\x7d\x62\x1b\x34\x54\xe1\xf7\x1d\xf2\xab\xca\xbf\x9b\x99\x83\x80\x92\x1f\x90\x81\x8b\x8b\x62\x62\x1d\x34\xfb\x1d\x27\x21\xfb\x24" -+"\xfb\x1f\xe4\x29\xf7\x11\xd9\xc3\xaa\xd5\xc4\x1f\x49\xf8\x49\x15\xc3\x06\xfb\x0e\x52\x1d\x57\x36\x1d\xfb\x47\xf8\xd4\x2a\x1d\x69" -+"\xf8\x4e\xf8\x56\x15\xfb\x17\x06\x30\xfb\x57\x05\xf7\x26\x5d\x5e\xc6\x4b\x1b\x64\x70\x72\x68\x6b\xa2\x71\xa8\x94\x93\x8e\x94\x97" -+"\x1f\x94\x97\x91\x8e\x92\x1b\x99\x99\x7f\x75\x9a\x1f\x98\x76\x90\x7c\xa7\x31\xfb\x55\xfc\x0e\x18\xf7\x17\x06\xf7\x0a\xf7\x8b\xb3" -+"\xfb\x1a\xc3\xfb\x10\x9f\x8c\x19\x8e\x8f\x8d\x8d\x8f\x1f\xe0\xbd\x83\xa1\x05\x87\x7f\x86\x8a\x81\x1b\x50\x68\xc2\xf7\x49\x52\x1f" -+"\x0e\xf8\x8c\xf8\x8b\xf9\x4b\x15\xfb\x5c\xfb\x36\xfb\x35\xfb\x5c\xfb\x58\xf7\x36\xfb\x36\xf7\x57\xf7\x59\xf7\x37\xf7\x37\xf7\x57" -+"\xf7\x58\xfb\x36\xf7\x39\xfb\x55\x1f\x87\xfb\xd0\x15\xfb\x52\xf7\x50\x05\xb8\xc2\xcc\xa2\xd1\x1b\xd0\xcc\x74\x60\xc3\x1f\xb3\x63" -+"\x15\xbb\x51\xa2\x4d\x42\x1a\x43\x74\x4b\x5d\x53\x1e\xfb\x54\xf7\x57\x05\xf7\x2c\xfb\x7f\x15\x5f\x54\x48\x73\x45\x1b\x45\x4b\xa2" -+"\xba\x50\x1f\xf7\x55\xf7\x55\x05\xfb\x7d\xfb\x2d\x15\x5f\xc1\x74\xcb\xd1\x1a\xd3\xa2\xcb\xba\xc4\x1e\xf7\x52\xfb\x50\x05\x0e\xf8" -+"\x8c\xf9\x83\x16\x9f\x07\x24\x9f\x6e\x99\x5d\xbb\x5c\xbf\x7a\xc0\x8a\xeb\xa0\x66\x93\x7e\x97\x7d\x08\x5d\xb2\xc9\x6c\xc0\x1b\xe6" -+"\xd2\xd5\xe9\xe5\x4a\xd3\x3a\x6e\x84\x89\x6e\x50\x1f\xa7\xb4\x96\xaa\xb0\x1a\xe3\x42\xd2\x30\x2e\x44\x45\x30\x68\x92\x79\xad\x55" -+"\x1e\xa3\x5a\x77\x91\x6c\x1b\x40\x49\x3f\x34\x2e\xd4\x42\xe7\xdc\xcf\xbd\xe6\xb8\x1f\x8c\x7b\x8b\x80\x86\x1a\x43\x65\x3a\x55\x5f" -+"\x1e\x6b\x72\x74\x82\x2c\x77\x08\x77\x07\x0e\xf7\x6b\xf8\xab\x5b\x0a\xf7\x5e\xae\x15\xf3\x36\x0a\x94\x93\x83\x80\x68\x6d\x66\x47" -+"\x5b\x1f\x0e\xc7\xf7\xe4\xf8\xb5\x15\xfb\x1a\x07\xb9\x60\x6d\x9b\x5d\x1b\xfb\x02\x39\x20\xfb\x25\xfb\x1d\xd7\x29\xf4\xc0\xac\x9b" -+"\xbd\xba\x1f\x4a\x07\xb9\x98\xa4\x90\xc9\x92\xc9\x93\x18\xa2\x07\x5e\x8e\x7d\x98\xb5\x1a\xf8\x50\xc6\xb7\x50\xe2\xbb\x0a\x86\x2f" -+"\x5f\x07\xe7\xfc\x45\x7e\x0a\x0e\xa2\xf8\x46\xf8\xea\x15\xa8\x29\x4f\x96\x48\x1b\x3f\x62\x74\x62\x77\x96\x78\xa4\x77\x1f\x9b\x7e" -+"\x92\x87\xcb\x64\x51\x7d\x6e\x7b\x6a\x67\x08\x65\x60\x79\x57\x49\x1a\xfb\x26\xe3\x28\xf7\x16\xf7\x14\xe8\xf2\xf7\x21\xd6\x6f\xcc" -+"\x58\xb9\x1e\x6c\xa7\x75\x99\xfb\x00\xcb\x08\x4d\xaf\x83\x92\x99\x1a\x97\x99\x92\xa3\xbe\xbd\x7d\x59\xf7\x13\x1e\xfb\x45\x25\x15" -+"\xc3\xa5\x46\xfb\x25\xfb\x16\x6e\x43\x58\x57\x6e\xd3\xf7\x17\xf7\x22\xa5\xd2\xc0\x1f\x0e\xf8\x8c\xf7\x8e\xf7\xf1\x15\xf0\xfb\x11" -+"\xf7\x10\xfb\x45\xb1\x40\xc7\xf7\x00\xf7\x06\xf7\x35\xf3\xf7\x10\x3a\xe8\xfb\x36\xf7\x78\x68\xd2\x54\x24\x40\x21\xfb\x26\xfb\x4b" -+"\x08\x0e\xfb\x37\xda\xf8\xef\x9c\x0a\xf7\x45\xc4\x1d\x20\x62\x15\xae\x06\x8f\x9f\x8e\x97\x8d\x1a\x9b\xcd\x8b\x8d\x9a\x1a\xa4\x7a" -+"\x9e\x73\x74\x7a\x78\x72\x7b\x8b\x89\x9b\x4a\x1e\x8d\x82\x8c\x82\x8d\x83\x08\x0e\x57\x25\x1d\xae\xf8\x2d\x15\x4b\x7a\x6e\x74\x91" -+"\x1d\x57\x25\x1d\xe8\xf8\x3a\x21\x0a\x57\x25\x1d\x3e\xf8\x15\x2a\x1d\xf8\x8c\xf9\x93\xf7\x6c\x15\xc8\xfc\x62\x07\x91\xf6\xc3\xbd" -+"\xf7\x01\x89\x08\xf7\xb7\xc9\xfb\xac\x5c\x1d\x42\x2c\x1a\xfb\x08\xb8\x38\xbc\x0a\xc9\xfb\xb7\x06\xfb\x01\x89\x53\xbd\x85\xf5\x08" -+"\x0e\x57\x25\x1d\xe4\xf7\xf7\x22\x0a\xc7\xf7\x68\xf8\x61\x15\xfb\x53\x73\x06\xb7\x84\x93\x82\x8c\x60\x08\xfb\xba\x3a\x1d\xa7\x95" -+"\xb8\xa9\xaa\x1b\xae\x9c\x70\x53\x1f\xfc\x37\x07\x56\x7d\x74\x69\x78\x7e\x92\x95\x90\x8e\x92\x91\x95\x1e\x95\x9a\x8f\x97\x95\x1a" -+"\xa9\x71\xa3\x6a\x66\x72\x72\x67\x50\xc5\x62\xdd\xd0\xc0\xa6\xbc\xa7\x1e\x9e\xab\x93\xb1\xc6\x1a\xf7\xde\x07\xe1\x56\xc2\x39\x4f" -+"\x5d\x6f\x50\x66\x1e\x0e\x57\xf8\x39\xf7\x89\x15\x85\xdf\x7c\xba\x6b\xb1\x08\xb2\x6b\x5c\x9f\x53\x1b\xfb\x10\x37\x28\xfb\x26\xfb" -+"\x25\xdd\x2a\xf7\x0e\x8f\x92\x8b\x8c\x93\x1f\x71\x66\x84\x7a\x72\x1a\x5c\x99\x0a\x77\x81\x88\x7b\x1b\x61\x76\xa2\xb7\x9e\x90\x94" -+"\x9e\x98\x1f\xb8\xab\xa1\xa1\xaf\xc0\x73\x99\x18\xbe\x1d\x86\xb0\x15\xf7\x0c\x8e\x9d\xb3\xbc\x1b\xba\x9a\x69\xfb\x03\x8d\x1f\x7c" -+"\x07\x0e\x46\x74\x1d\x0e\x46\x74\x1d\xfb\x20\xf8\x15\x15\x8f\xa1\x8e\x97\x8d\x1a\x9b\xd0\x8c\x8e\x9b\x1a\xa4\x79\x9f\x72\x73\x79" -+"\x78\x71\x7a\x8c\x85\x9b\x4a\x1e\x8e\x77\x8e\x7f\x8c\x87\x08\x0e\xf8\x8c\xf7\x9d\x7e\x15\xf8\x6a\xd6\xfc\x6a\x06\xf7\x1d\x04\xf8" -+"\x6a\xd6\xfc\x6a\x06\xf7\x1d\x04\xf8\x6a\xd6\xfc\x6a\x06\x0e\xf3\xf8\x9e\xf7\x8f\x15\x8a\xd4\x86\xae\x7e\xb0\x08\xda\x6d\x42\xbc" -+"\x30\x1b\xfb\x1a\x36\x23\xfb\x39\xfb\x36\xdd\x29\xf7\x1c\xf2\xd0\xbf\xec\xa7\x1f\x62\x06\x45\x6e\x55\x68\x40\x1b\x61\x68\x97\xa2" -+"\x73\x1f\x7a\x9c\x82\x9c\x80\xb2\x08\xf3\x07\xf7\xaf\xae\x15\xfb\xad\xe8\x06\xd5\xab\xaf\xa6\xcf\x1b\xc0\xb0\x79\x62\xac\x1f\x96" -+"\x7d\x8f\x83\x92\x77\x08\x0e\xd3\x65\x0a\x0e\xd3\x65\x0a\xa7\xf8\xa5\x15\xb0\x06\x8f\xa1\x8e\x97\x8d\x1a\x9b\xd0\x8c\x8d\x9b\x1a" -+"\xa6\x79\x9e\x72\x73\x79\x77\x71\x80\x8d\x7c\x8f\x79\x1e\x92\x6c\x90\x79\x8c\x86\x08\x0e\xd9\xf7\x3c\xf7\x83\x15\x90\xe1\x91\xab" -+"\xa5\xe2\x08\xa7\xeb\x8d\x95\xdd\x1d\x6f\x96\x65\x1e\xb2\xfb\x17\x91\x70\xc0\x1d\xb8\x66\xb0\x5e\x1f\xf7\xae\xe3\x15\x90\xe1\x91" -+"\xaa\xa4\xe3\x08\xa8\xea\x8d\x96\xdd\x1d\x6d\x96\x67\x1e\xb2\xfb\x15\x91\x6e\xc0\x1d\xb9\x67\xaf\x5d\x1f\x0e\x43\xbd\x16\xf7\xd9" -+"\xf8\xd5\xfb\xd9\x37\xf7\x85\xfb\x36\xfb\x85\x37\xf7\x85\xfb\x37\xfb\x85\x06\x0e\xf8\x19\xf7\xa7\x15\xb3\x93\x9c\x90\xa4\x9a\x08" -+"\xd0\xb4\xb4\xd2\xd9\x1a\xf7\x0e\x29\xed\xfb\x0e\xfb\x0d\x29\x29\xfb\x0e\x3d\xb4\x44\xd0\x62\x1e\xa3\x7c\x9c\x85\xb3\x84\x08\x3e" -+"\xfb\x29\x57\xf7\x29\xfb\x2c\xc3\xf7\x2c\xf7\x28\xbf\xfb\x28\x07\x6c\xf8\x5e\x15\xe7\xd5\x43\x31\x30\x42\x42\x31\x31\x42\xd4\xe5" -+"\xe3\xd4\xd6\xe2\x1f\x0e\x8f\xf7\xa9\xab\x15\x4b\xac\x69\xf4\xf7\x37\x1a\xf3\x9b\xe6\xa7\xc1\x1e\xb6\xa1\xa7\x9f\xb1\x1b\xb4\xb3" -+"\x71\x5f\xa5\x1f\x9e\x6b\x95\x6a\x91\x57\x08\xa5\xf7\x73\x74\x06\x6c\x88\x80\x7b\x7c\x1b\x83\x84\x8d\x8f\x84\x1f\xa8\x57\x77\x92" -+"\x64\x1b\xfb\x28\xfb\x07\xfb\x2f\xfb\x5b\x29\xa4\x37\xbc\x4c\x1f\x51\xb7\xc9\x6f\xdf\x1b\xd5\xbf\xa5\xcf\xc6\x1f\x75\x9e\x71\x6c" -+"\x78\x7a\x6d\x7c\x19\xf7\x25\x07\x8c\xb3\x8f\x98\x9f\xa4\x08\x71\x9a\x9a\x81\xa3\x1b\xad\x9e\x9f\xae\xb1\x74\xa4\x69\x69\x77\x78" -+"\x4d\x6c\x1f\xd1\xfb\x18\x77\x07\xa7\x88\x91\x81\x8d\x63\x08\x0e\x6f\x9e\xf8\x26\x15\x92\x79\x05\x90\x96\x90\x8d\x92\x1b\xa1\xa8" -+"\x64\x40\xab\x1f\xa8\x48\xae\xfb\x01\x9b\x3e\x08\x70\x57\x83\x6f\x63\x1a\x55\xa6\x6b\xb8\xb6\xa5\xae\xc5\xad\x89\xa3\x80\xcf\x1e" -+"\x99\xb0\x95\x9e\xb3\xd9\x08\xcc\xf7\x0f\x9b\xb4\xb9\x1a\xb7\x70\xab\x68\x6b\x6d\x6d\x6a\x7d\x92\x79\x96\x7c\x1e\xa9\x62\x8b\x8b" -+"\x7a\x1a\x75\x75\x52\x6a\x4c\x1e\x82\x7a\x85\x7f\x89\x87\x8a\x89\x88\x85\x88\x84\x82\xcc\x78\xd5\x70\xda\x08\xdc\x70\x63\xc7\x71" -+"\x1b\x8a\x88\x8a\x89\x86\x1f\x0e\x8f\x32\x0a\xf7\x0a\xf7\x8d\x72\x0a\x8f\x32\x0a\xf7\x10\xe1\x20\x0a\x8f\x32\x0a\xd8\xf8\x05\x15" -+"\x23\x50\x5e\x50\x3d\x1a\x4c\xaf\x61\xc1\xb8\xa8\xa8\xb8\xb6\x71\xa7\x64\x87\x86\x8b\x8a\x85\x1e\x8a\x89\x88\x8b\x8a\x1b\x81\x84" -+"\x93\x96\xae\xa9\xb0\xce\xba\x1f\x0e\x99\xf7\x94\xf9\x2b\x15\x6a\x70\x71\x6a\x6a\xa5\x71\xac\xac\xa5\xa5\xac\xab\x71\xa6\x6b\x1f" -+"\xf7\x77\xfb\x9d\x15\xc0\xfb\x16\x07\x9c\x60\x6f\x90\x63\x1b\xfb\x0c\xe6\x1d\x9f\x7e\xb9\xd1\x1d\x82\x6a\x72\x82\x0a\x9f\x98\x9b" -+"\xa2\x96\x1e\x90\x97\x8b\x8b\xcc\x1b\xb9\xa5\x91\x9f\xad\x1f\xb8\xa5\xa2\xb3\xc1\x1a\xb3\x7f\xa9\x6f\xa7\x1e\xfb\x35\xb7\x15\xba" -+"\x9e\x65\x2e\x2e\x78\x67\x5c\x5b\x79\xae\xe9\xe9\x9d\xb0\xbb\x1f\xdf\xfc\x82\x15\xc1\xa5\x7b\x69\x5c\x55\x72\x27\xee\x1d\x0e\xf8" -+"\x8c\xf7\xb7\x8c\x15\xf8\x3c\xdf\xfc\x3c\x06\x9c\x04\xf8\x3c\xf7\x6c\x05\x9f\x07\xfc\x3c\xf7\x84\x05\xfb\x05\x07\xf7\xb0\xfb\x34" -+"\xfb\xb0\xfb\x1e\x05\x0e\xc7\xd0\xf8\xb4\x15\xfc\x60\xd3\x1d\x90\x7e\x9a\xb0\x1a\xf7\x9f\x07\x8f\x92\x95\x95\x95\x1e\xa1\xa0\xa4" -+"\x97\xa2\x1b\xae\x9c\x70\x53\x1f\xfb\x86\x07\x8a\x65\x7e\x7b\x6a\x88\x08\x73\xf7\x7f\xa3\x07\x68\x8c\x7d\x9d\xb4\x1a\xa8\x1d\xf7" -+"\x29\xf7\x12\xb3\xfb\x12\xe7\x55\x1d\x81\x56\x63\x07\x0e\xd3\xf8\xaa\xa3\x15\x68\x8c\x7c\x9d\x8c\xb4\x08\xa8\x1d\xf7\xad\x55\x1d" -+"\xfc\x92\x3a\x1d\x8e\x92\x96\x56\x1d\xfb\x2b\xf9\x87\x15\xc4\x06\xfb\x0f\x52\x1d\xf8\x8c\xf8\x87\x6f\x15\x9f\xe5\xc7\xf2\xf7\x08" -+"\xf7\x25\x08\xeb\xf7\x0e\xab\xce\xdb\x1a\xdd\x45\xcf\x37\x5b\x5f\x76\x65\x6a\x1e\x75\x72\x81\x75\x7e\x5d\x7f\xaf\x83\x9d\x7f\x9d" -+"\x08\xbd\x6a\x58\xa8\x54\x1b\x36\x49\x47\x32\x48\xa0\x5e\xdf\xfb\x06\x1f\xf7\x2b\xfb\x5e\xb3\x47\xa5\x24\x08\x0e\xf8\x8c\xf7\x2d" -+"\x16\xf9\x50\xf8\x25\x06\xfb\xf3\xf7\xdc\xfb\xf1\xfb\xdc\x05\xc8\xfb\xf2\x15\xf7\xdc\x07\xf7\xb4\xf7\xa2\xf7\xb6\xfb\xa2\x05\xfb" -+"\xdc\x07\x0e\xfb\x6e\xf7\x92\x7d\x0a\xf7\x83\x07\x7b\x6c\x0a\xd4\xf7\x84\xf8\x61\x15\xfb\x47\x76\x91\x06\xa9\x9c\x76\x65\x89\x1f" -+"\xfb\xc0\x07\x66\x8d\x7a\x75\x6d\x1b\x85\x76\xf7\x7b\xa0\x84\x06\x6d\x7a\xa1\xb0\x8d\x1f\x44\xf8\xe5\x15\x63\x6c\x6c\x65\x63\xaa" -+"\x6c\xb2\xb1\xaa\xaa\xb2\xb1\x6c\xab\x66\x1f\xf7\xd5\xfb\x69\x15\xfb\x4b\x76\x95\x06\xa9\x9c\x75\x66\x89\x1f\xfb\xef\x07\x6e\x07" -+"\x8d\x6c\x05\x8e\x52\x8b\x88\x83\x1a\x70\x84\x7a\x7f\x84\x87\x93\x96\x8f\x8b\x8f\x8c\x8f\x1e\x8c\x94\x8c\x91\x8d\x1a\xaa\x74\xa4" -+"\x6e\x6d\x71\x6f\x6a\x5b\xb8\x6d\xd1\xe4\xc1\xc0\xe4\x1e\x3d\xf9\x55\x15\x62\x6b\x6b\x63\x63\xab\x6a\xb3\xb3\xab\xac\xb3\xb2\x6b" -+"\xac\x64\x1f\x0e\xfb\x6e\x29\x1d\xbb\xf9\x11\x22\x0a\xf8\x8c\xf8\x88\xf7\xa4\x15\x60\xb2\x87\x8e\x78\x99\x08\xa5\x6a\x60\x9b\x6a" -+"\x1b\x45\x51\x51\x45\x45\xc5\x51\xd1\xad\xb4\x9b\xa5\xad\x1f\x9e\x99\x8f\x8e\xb6\xb2\xb8\x64\x8f\x87\x9c\x7e\x08\x71\xae\xb4\x7b" -+"\xad\x1b\xd1\xc5\xc5\xd1\xd1\x51\xc5\x45\x6a\x60\x7b\x71\x69\x1f\x7a\x7e\x86\x87\x5f\x64\x08\xac\x6d\x15\xbe\xbe\xbf\xa9\xb3\x1b" -+"\xb7\xb0\x66\x5f\x5e\x66\x66\x5f\x64\x58\xa8\xc0\x56\x1f\x4a\x16\x57\x57\x57\x6e\x64\x1b\x5f\x66\xb0\xb7\xb7\xb0\xb0\xb8\xb2\xbe" -+"\x6e\x57\xbf\x1f\x0e\xf8\x8c\xf8\x65\xf7\x87\x15\x43\x8c\x63\x8e\x51\x1e\x8d\x6d\x8c\x6f\x7a\x1a\x6f\x82\x78\x7f\x88\x87\x8f\x93" -+"\x86\x1e\x9f\x81\x80\x93\x78\x1b\x72\x77\x78\x72\x6c\xa8\x74\xb4\xb1\xac\x9e\xad\x9e\x1f\xa4\xb8\x99\xf7\x00\xf7\x24\x1a\xf7\xd6" -+"\x07\xd6\x8a\xb0\x88\xc6\x1e\x89\xa7\x8a\xac\x96\x1a\xa7\x93\xa0\x95\x8f\x8d\x89\x85\x8e\x1e\x76\x96\x9b\x81\x9e\x1b\xa5\x9e\x9e" -+"\xa3\xac\x6e\xa1\x62\x65\x6a\x77\x6a\x78\x1f\x72\x5e\x7d\xfb\x00\xfb\x24\x1a\x0e\xf7\xe3\xfa\x25\x15\xfd\x71\x07\x8d\x40\x8e\x4f" -+"\x90\x41\x08\x8f\x60\x8c\x79\x80\x1a\x75\x85\x81\x7f\x84\x89\x8c\x96\x80\x1e\x95\x82\x7f\x90\x7d\x1b\x70\x76\x75\x70\x6c\xa7\x73" -+"\xae\xe2\xaa\xf5\xf7\xb7\x1f\xf9\x6a\x07\x0e\xf8\x2e\xfb\x66\x15\xf9\x71\x07\x89\xd6\x88\xc7\x86\xd5\x08\x87\xb6\x8a\x9d\x96\x1a" -+"\xa1\x91\x95\x97\x8f\x90\x89\x88\x8e\x1e\x78\x9e\x91\x88\x9d\x1b\xa6\xa0\xa1\xa6\xaa\x6f\xa3\x68\x34\x6c\x21\xfb\xb8\x1f\xfd\x69" -+"\x07\x0e\xf8\x8c\xf9\x64\x16\xf7\x8a\x07\xf7\x1d\x86\xad\x73\xb4\x1e\xca\x65\x44\xb1\x39\x1b\x3f\x4b\x6c\x53\x62\x1f\x6a\x5e\x85" -+"\x6b\xfb\x29\x1a\xfb\x8a\xc7\xf7\x8d\x07\xf0\x91\xb6\x9c\xaa\x1e\xb9\xa4\xc2\xa9\xc4\x1b\xc0\xbf\x71\x61\xa7\x1f\xa0\x6b\x91\x66" -+"\xfb\x06\x1a\xfb\x8d\x07\x0e\xf8\x8c\xf8\x89\xf9\x6e\x15\xfb\x5b\xfb\x3a\xfb\x38\xfb\x57\xfb\x63\xf7\x35\xfb\x38\xf7\x5d\xf7\x61" -+"\xf7\x37\xf7\x36\xf7\x5f\xf7\x5e\xfb\x37\xf7\x37\xfb\x5e\x1f\xfb\x01\xfb\x63\x15\xa9\xa4\x72\x6d\x6d\x72\x72\x6d\x6e\x71\xa4\xa8" -+"\xaa\xa4\xa4\xa9\x1f\xfb\x14\xfb\x05\x15\x96\x59\x96\x75\xa5\x6d\x08\x54\xbb\xc7\x71\xdc\x1b\xdc\xc7\xa5\xc2\xbb\x1f\xa5\xa9\x96" -+"\xa1\x96\xbd\x84\x36\x80\x62\x6d\x5e\x08\x4c\x61\x4b\x6b\x38\x1b\x3e\x4f\xa6\xc1\x61\x1f\x67\xba\x7c\xb8\x84\xe8\x08\xf7\xee\xf7" -+"\x05\x15\xa9\xa4\x72\x6d\x6d\x72\x72\x6d\x6e\x71\xa4\xa8\xaa\xa4\xa4\xa9\x1f\x0e\xfb\x6e\xf7\x93\x7d\x0a\xf7\x4e\x07\x68\x5d\x83" -+"\x76\x0a\xfb\x09\xf9\x47\x15\x60\x68\x68\x61\x5e\xac\x6a\xb7\xb7\xad\xac\xb7\xb7\x69\xad\x60\x1f\x0e\xfb\x4e\x7c\x1d\x0e\xfb\x4e" -+"\x63\x0a\xfb\x18\xf8\x85\x9e\x0a\xf7\x31\x16\x6b\x71\x72\x6b\x6b\xa5\x71\xab\xaa\xa5\xa5\xab\xaa\x71\xa5\x6c\x1f\x0e\xfb\x4e\x63" -+"\x0a\xfb\x3d\xf8\x59\x9c\x0a\xf7\x64\x16\x6e\x73\x74\x6e\x6e\xa2\x74\xa8\xa8\xa2\xa2\xa8\xa7\x74\xa3\x6f\x1f\x34\x62\x15\x8f\x9e" -+"\x8d\x94\x8c\x91\x08\x9b\xcf\x8b\x8b\x9a\x1a\xa4\x7a\x9e\x73\x75\x79\x78\x73\x7b\x8c\x86\x9a\x4c\x1e\x8e\x78\x8e\x80\x87\x1a\x0e" -+"\xfb\x4e\x7c\x1d\x42\xf8\x0f\x15\xb1\x06\x8f\xa1\x8e\x97\x8d\x1a\x9b\xcf\x8c\x8e\x9c\x1a\xa5\x78\x9e\x73\x73\x79\x77\x72\xaf\x0a" -+"\x0e\xfb\x6e\xf7\x93\x63\x1d\xb6\x83\x94\x82\x42\x1d\x84\x83\x5e\x81\x08\x73\xf7\x83\x07\xfb\x98\xf8\xb9\x64\x1d\x94\x88\x78\xb5" -+"\x1f\xa8\x7e\x05\x83\x9e\xa4\x85\x9e\x1b\xc5\xb0\xb2\xe3\xa2\xe0\x1d\x70\x1b\x7f\x49\x0a\x6f\x72\x91\x76\x1b\x4e\x67\x63\x36\x79" -+"\x1f\x0e\xfb\x30\xf7\x98\xf8\x61\x15\xfb\x5e\x73\x06\xbd\x88\x97\x80\x8c\x5e\x08\xfc\x6e\x07\x56\x7c\x74\x6a\xa0\x1d\xdc\xd1\xe7" -+"\x1d\xa2\xf8\xa2\x20\x0a\xc6\xf7\xc9\xf7\xbe\x15\xbc\xa6\xaa\xae\x9a\x1b\x8f\x91\x88\x88\x8e\x1f\x6c\xa9\x93\x86\xa2\x1b\xa9\xa3" -+"\xa6\xad\xaf\x74\x9f\x62\x59\x60\x6f\x4e\x61\x1f\x69\x5a\x6b\x59\x77\x66\x08\xf7\x75\x07\x54\x1d\xfb\xd6\xf7\x11\xf7\x6c\x07\xf7" -+"\x1d\xfb\x67\x05\x7f\x93\x92\x87\x96\x1b\x91\x92\x8d\x8e\x92\x1f\xf7\x05\xc2\x82\x9d\x05\x84\x7f\x85\x89\x83\x1b\x7d\x7f\x95\xa2" -+"\x7d\x1f\x66\xc4\x05\x0e\xc7\x6c\x1d\xfb\xc2\xfd\x9f\x8a\x1d\xc7\xf7\x72\xf7\x50\x15\x98\x9a\xde\xfb\x18\x05\x9b\x74\x8b\x8b\x82" -+"\x1a\x81\x84\x86\x7b\x89\x1e\x7e\x89\x05\x77\xf7\x6f\x9f\x07\x71\x8e\x86\x8f\x72\xb3\xfb\x23\xf7\x76\x18\xc9\xd0\xbc\xc3\x93\x91" -+"\xb6\x98\x19\x9f\xfb\x54\x77\x07\xb4\x85\x9c\x80\x77\x1a\x7a\x7d\x71\x75\x73\x1e\x33\x29\x05\xf7\x72\xfb\x47\x76\x92\x07\xa9\x8c" -+"\x9b\x75\x89\x67\x08\xfb\xc1\x07\x67\x8d\x7b\x75\x6d\x1b\x84\x77\xf7\x77\x9f\x87\x06\x6d\x7b\xa1\xaf\x8d\x1f\x0e\xfb\x6e\x34\x0a" -+"\xfb\x58\xf9\x76\x2b\x1d\x86\xab\x16\xf7\x1f\x06\xf7\x01\xf7\x8c\x99\x4f\xa7\x30\x9f\x55\x19\x65\x99\x94\x7c\x94\x1b\x8e\x8f\x8c" -+"\x8d\x8e\x1f\xd7\xbd\x84\x9b\x05\x87\x7f\x83\x89\x84\x1b\x65\x78\xa8\xf7\x05\x6a\x1f\x3f\xf7\x9a\x72\xe0\x89\x93\x7a\xaf\x19\xb7" -+"\x78\x70\xa1\x66\x1b\x60\x6e\x69\x57\x62\x9d\x71\xa8\x9f\x99\x98\xa3\x8f\x1f\xa8\x90\x8d\x8f\x96\x1b\x9f\x97\x6f\xfb\x09\xa9\x1f" -+"\x0e\x44\x34\x0a\x92\xf8\x1a\x15\xf3\x36\x0a\x94\x93\x83\x80\x68\x6d\x67\x47\x5a\x1f\x0e\xfb\x6e\x34\x0a\xfb\x4b\x40\x0a\x27\xf7" -+"\x92\x94\x1d\xcb\x91\x0a\xf8\x8c\xf9\x5a\x8c\x15\xdf\xfc\x3c\x37\x07\xf8\x3c\xf8\xd4\x15\xfc\x3c\xfb\x79\x05\x77\x07\xf8\x3c\xfb" -+"\x76\x05\xf7\x05\x07\xfb\xb0\xf7\x26\xf7\xb0\xf7\x2c\x05\x0e\x2e\x0a\xf7\x8a\xf8\x24\x15\xec\xdb\x05\xbd\x07\x2a\x3b\x05\xf7\x76" -+"\x5a\x1d\xfb\x7d\x07\x32\x43\x05\x59\x07\xe4\xd3\x05\xfb\x77\x98\x0a\xa3\x07\x6b\x7b\x9f\xb3\x8a\x1f\x0e\xfb\x6e\x8a\x16\xf7\xa4" -+"\xa3\x06\x47\x8c\x80\x96\x8a\xcc\x08\xf8\x6a\x07\xc1\x99\xa1\xae\x9c\x96\x84\x80\x86\x89\xbe\x0a\x6c\xa4\x74\xac\xb0\xa3\xa4\xaf" -+"\xc5\x52\xb3\x39\x49\x58\x73\x61\x70\x1e\x76\x68\x84\x64\x36\x1a\x53\x60\xc3\xfb\xdb\x06\x8a\x60\x80\x80\x5f\x87\x08\x0e\xf8\xc1" -+"\xf8\xe5\x15\x43\xbc\x9c\x79\x9c\x1b\x95\x93\x92\x95\x91\x8a\x8f\x84\x99\x1f\x74\xb6\x7a\xcb\xb7\x1a\xa9\x89\x91\x7e\x86\x84\x88" -+"\x83\x7e\x1e\x78\x70\x3d\x75\x60\x1b\x71\x8a\x83\x86\x7e\x1a\x75\xad\x81\xe2\x85\x1e\x25\xfb\x4d\x05\x97\x6c\x6e\x91\x6b\x1b\xfb" -+"\x1a\xfb\x00\xfb\x00\xfb\x1a\xfb\x19\xf7\x00\xfb\x00\xf7\x1a\xf7\x19\xf7\x00\xf7\x00\xf7\x1a\xd8\x66\xd3\x4c\xb9\x1f\xfb\x22\x7b" -+"\x15\xee\xdc\x3b\x28\x28\x3b\x3a\x28\x27\x3b\xdb\xee\xee\xdb\xdc\xee\x1f\x0e\xfb\x6b\xf7\x0a\x9f\x1d\x0e\x8f\xf7\x81\xf7\x43\x15" -+"\x92\x7c\x77\x8f\x7a\x1b\x4d\x54\x56\x50\x68\xa5\x75\xb4\xba\xb7\xa2\xb1\xa6\x1f\x9f\xa6\x91\xa1\x8d\xbb\x08\xf7\xb9\x07\xc3\x83" -+"\xb9\x3f\x38\x1a\x59\x83\x65\x73\x54\x1e\xa6\x06\xaf\xb6\x9e\xc2\xc5\x1a\xd6\x6e\xd2\x51\xd1\x1e\x58\xc8\x8a\x8c\x86\x92\x83\x95" -+"\x19\xc5\x5f\x07\x0e\xf8\x13\xf8\x57\x15\x9e\x72\xa1\x78\xa0\x7f\xc3\x6b\x94\x85\x90\x82\x08\x91\x80\x8f\x78\x76\x1a\xfb\x7c\x07" -+"\x92\x7a\x74\x8f\x78\x1b\x46\x4d\x56\x4f\x68\xa8\x75\xb8\xbe\xbb\xa2\xb1\xaa\x1f\xa0\xa6\x92\xa1\x8d\xbc\x08\xf8\x00\x07\x8c\xd3" -+"\x6a\xd5\x5d\xa7\x54\xaf\x6d\x9f\x87\x8f\x08\x7e\x99\x85\x9d\xa2\x1a\x98\x5f\xfc\x80\x07\x92\x7b\x74\x8f\x79\x1b\x46\x4f\x56\x4f" -+"\x68\xa7\x75\xb7\xbe\xbb\xa2\xb1\xa8\x1f\xa0\xa6\x92\xa1\x8d\xbc\x08\x8e\xf8\x0a\x15\xf7\x03\x4f\xa3\x67\x8f\xfb\x08\xfb\x06\xc8" -+"\x74\xae\x87\xf7\x09\x08\x0e\xc7\x2d\x0a\xfb\xe9\xf8\xa4\x2b\x1d\xf7\x7d\xa4\xf8\x00\x15\xbf\x9b\xa3\x98\xa6\xa4\x08\xb1\xaf\xa2" -+"\xbe\xbf\x1a\xcd\x63\xbc\x55\x5f\x66\x66\x5f\x63\xaa\x69\xb0\x9c\x99\x90\x97\x99\x1e\x8c\x84\x8b\x86\x88\x1a\x58\x67\x5d\x48\x68" -+"\x1e\xf9\x43\xfb\xff\x75\x1d\x0e\xc7\x2d\x0a\x2f\xf9\x54\x21\x0a\xc7\x2d\x0a\xfb\xdc\x40\x0a\xf8\x8c\xf8\xa4\xf7\x6c\x15\xf7\x83" -+"\xc8\xfb\x60\x06\xe3\xf7\x2f\x05\xf7\x08\xc9\x3a\x06\xac\xc6\x61\xa3\x5c\x38\x05\xfb\x23\x5c\x1d\x42\x2c\x1a\xfb\x08\xb8\x37\xdc" -+"\x69\x1e\x6a\x52\xb6\x74\xb1\xce\x05\x88\xa4\x99\x8a\xb4\x1b\xf7\xac\xc9\xfb\xb7\x06\x77\x85\x8b\x8c\x81\x1f\xab\xf7\x2d\x15\x3a" -+"\xfb\x21\x57\x9d\x6c\xbe\x88\xd3\x19\xf7\xb6\xf7\x6c\x15\x33\xfb\x2f\x05\xfb\x5e\x06\x91\xf6\xc3\xbd\xf7\x01\x89\x08\x0e\xf8\x8c" -+"\xf8\xd6\xf7\xcb\x15\xf7\x42\xe3\xfb\x15\x06\xb3\xdc\x3d\xb2\x4e\xfb\x0c\x05\xfb\xa8\x33\xf7\x7c\x06\x51\xfb\x08\x05\xfb\x42\x33" -+"\xf7\x15\x06\x63\x3a\xd9\x64\xc8\xf7\x0c\x05\xf7\xa8\xe3\xfb\x7c\x06\x0e\x5a\xf7\x5c\xf8\x1c\x15\xcc\x76\x8b\x8b\x75\x1b\x82\x88" -+"\x8a\x87\x80\x1f\x21\x62\x91\x78\x05\x8d\x96\x8e\x8c\x8e\x1b\xa1\x96\x79\x3a\xa4\x1f\xeb\xfb\xc2\x05\xbb\x06\xf7\x18\xf7\xac\x05" -+"\xa4\xc0\x94\xa8\xa9\x1a\xb4\x72\xa9\x69\x6b\x6f\x6f\x6b\x7d\x91\x7c\x94\x80\x1e\xab\x66\x8b\x8b\x79\x1a\x6f\x7b\x61\x59\x24\x1e" -+"\x0e\x8f\x27\x1d\xf5\xf7\x8d\x15\x4c\x7a\x6e\x73\x91\x1d\x8f\x27\x1d\xfb\x49\xe1\x98\x1d\xac\xa0\x92\x94\xed\x1d\x7a\x1e\x0e\x8f" -+"\x27\x1d\xf7\x37\xf7\x57\x22\x0a\xf7\x7f\xf7\x51\xf8\x5d\x56\x0a\xf7\x7f\xf8\x00\xf8\xa5\x15\xb0\x06\x8f\x9e\x8d\x94\x8c\x93\x08" -+"\x9c\xd1\x8b\x8c\x9b\x1a\xa5\x79\x9f\x73\x72\x79\x78\x71\xaf\x0a\xfb\x41\x3b\x56\x0a\x8f\x79\x1d\x0e\x8f\x79\x1d\x78\xf7\x02\x15" -+"\xb0\x06\x8f\x9e\x8d\x94\x8c\x93\x08\x9c\xd2\x8b\x8b\x9b\x1a\xa6\x79\x9e\x73\x72\x79\x77\x72\x7a\x8c\x86\x9b\x49\x1e\x8c\x81\x8d" -+"\x82\x8d\x82\x08\x0e\xf8\x77\x93\x16\xfa\x56\xd3\xfe\x0e\xfa\x03\x43\x06\x0e\x8f\xe8\x1d\x68\x6d\x92\x64\x1b\xfb\x15\x2a\x23\xfb" -+"\x20\x3b\xa4\x52\xc7\x53\x1f\x3f\xfb\x14\x05\xba\x06\xca\xf4\x05\x78\xb0\xa9\x83\xb3\x1b\xf7\x16\xea\xf2\xf7\x20\xde\x71\xc6\x4d" -+"\xc2\x1f\xfb\x6b\xfb\xb2\x15\x8a\xa1\x8b\xa1\xa4\x1a\xf7\x49\xaa\x1d\x67\x79\x9d\xb8\x7d\x1e\x7e\xf8\x54\x4f\x1d\x8f\xf6\xf9\x18" -+"\x15\xa8\xc9\x99\x8f\xb4\x1b\xe8\xc2\x31\xfb\x2b\x71\x8a\x76\x87\x69\x1f\xb6\x51\x68\x98\x58\x1b\x5a\x61\x7a\x67\x67\x1f\x5a\x5b" -+"\x6f\x49\x49\x1a\xfb\x02\xe3\x33\xf7\x01\xcb\xc3\xa5\xbc\xb5\x1e\xc5\xd0\xb2\xf7\x1c\xf7\x1d\x1a\xf7\x0e\x60\xef\x38\xd1\x1e\xaf" -+"\x60\x58\x9d\x51\x1b\x60\x6c\x84\x71\x44\x1f\xf7\xc6\xfc\x2e\x15\x7b\xfb\x02\x7d\x59\x71\x5f\x08\x61\x71\x68\x73\x67\x1b\x5a\x6d" -+"\xb9\xd7\xf7\x00\xc9\xe2\xd7\xad\xa2\x7f\x68\xb0\x1f\x0e\xf8\x6d\xf7\x11\x16\xf7\xe2\xa4\x06\x3d\x94\x83\x94\x89\xd5\x08\xf7\x4e" -+"\x07\xf7\x1b\x8c\xad\x8f\xb7\x9c\x08\xdc\xaa\xb7\xc7\xd9\x1a\xf7\x08\x2c\xcd\xfb\x3b\x1e\xfb\xd6\x72\x06\x4e\x1d\xf8\xd9\x15\xa2" -+"\x9c\x97\xac\xde\x4b\x0a\x74\x1e\x77\x73\x6a\x84\x44\x1b\xf8\x5c\x50\x15\x54\xef\x77\x06\x65\x55\x77\x75\x61\x67\x08\x76\xaa\xfb" -+"\x50\x07\x63\xa6\x72\xb6\xb5\xa3\x9d\xc0\xa5\x1e\x76\x94\x05\x72\x7d\x85\x85\x7e\x1b\x7d\x86\x93\xa1\x1f\xf7\x42\xc2\x07\x0e\xf7" -+"\x14\xf7\xf9\xfb\x52\x15\xf7\x42\x07\xf7\x1b\x90\xed\xf5\xf7\x21\x1a\xcc\x75\xbf\x5e\xb7\x1e\xb3\x61\x59\xa1\x5a\x1b\x62\x66\x7b" -+"\x70\x76\x1f\x79\x74\x83\x68\x52\x1a\xfb\xb3\x07\x7a\x90\x83\x8f\x82\x92\x08\x67\xaa\x79\xcb\xef\x1a\xf7\x1b\xa3\xc8\xc9\x9f\x1e" -+"\x9d\x07\x54\x89\x6b\x81\x68\x72\x08\x4d\x5f\x67\x43\x3c\x1a\x43\xa8\x48\xbe\x5c\x1e\xb2\x69\xb1\x7b\xcc\x84\x08\xfb\x42\x07\xef" -+"\xf8\x6a\x15\xf0\x90\xa2\xa1\x9c\x9d\x7b\x72\x98\x1e\x9a\x6c\x93\x5f\x4f\x1a\x4d\x82\x55\x7a\x62\x1e\x85\x7d\x80\x7d\x7b\x7f\x81" -+"\x83\x82\x87\x77\x86\x08\x0e\xbf\xf8\x04\xf7\xf8\x15\x4d\x6e\x72\x64\x90\x4e\x08\xfb\x21\x07\x77\x8f\x7c\x94\x75\x1e\x73\x96\xa3" -+"\x78\xa0\x1b\x8f\x8e\x8c\x8c\x90\x1f\xf7\x1a\xbc\x05\xb1\x07\x80\x70\x81\x88\x80\x1b\x7e\x80\x92\x97\x85\x1f\x84\x9a\x8a\x9c\xce" -+"\x1a\xd9\x07\x8c\xc0\x8f\x9d\x9c\xa2\x08\xf2\xef\xfc\x25\x06\x45\x88\x7d\x86\x7a\x6d\x4d\xfb\x08\x18\xba\x7c\xae\xbc\xab\x9f\xc1" -+"\x8f\x19\x89\x54\x87\x68\x83\x62\x78\x37\x88\x83\x68\x72\x7e\x81\x18\x76\x7a\x84\x7d\x73\x1a\x6b\xa5\x75\xb2\xad\xa3\x9c\xad\x9a" -+"\x1e\x9d\xb3\x98\xe4\x8f\xee\x8d\xbd\x18\x8c\x91\x8b\x98\x8c\x9f\x08\x0e\xf8\x8c\xf9\x45\xf9\x55\x15\xfd\x72\x07\x54\x8a\x78\x77" -+"\x54\xd7\x1d\xf9\x3b\x07\xc4\xa0\xa2\xc0\x1e\x9c\x9d\xfd\x9f\x79\x9b\x06\xc1\x9f\x75\x51\x8c\x1f\xfd\x3b\x07\x54\x8a\x77\x77\x55" -+"\xd7\x1d\xf9\x72\x07\x0e\xf8\x8c\xf9\x93\xc9\x15\xfb\xb7\x06\xfb\x0d\x57\xc2\xf7\x16\xf7\x15\xbf\xc3\xf7\x0d\x1f\xf7\xb7\xc9\xfb" -+"\xac\x5c\x1d\x43\x2b\x1a\xfb\x07\xb8\x37\xbc\x0a\x06\x0e\xf8\x8c\xf7\x7d\xc9\x15\x4d\xf7\xac\x07\xde\xae\x92\xa4\xb1\x1f\xcc\xb7" -+"\xac\xd3\xf2\x1a\xf6\x5c\xe0\x3e\xac\x1e\x99\x69\x70\x8f\x46\x1b\xfb\xac\x4d\xf7\xb7\x06\xf7\x0d\xbf\x54\xfb\x16\xfb\x16\x57\x54" -+"\xfb\x0d\x1f\x0e\xf7\x54\xf8\x32\xf8\x55\x15\x22\x06\x8a\xfb\xf9\x32\x92\x6e\xad\x90\xe7\x19\xf7\x1c\x07\xc4\x78\xb4\x71\x87\x85" -+"\x89\x89\x84\x1e\x2a\x63\x91\x76\x05\x8e\x94\x8f\x8c\x8f\x1b\xa3\x91\x79\x38\x1f\x2a\x07\x86\xfb\x11\xe4\x38\xf7\x1a\x8e\x8a\xfb" -+"\x3d\x18\xf7\x02\xf7\x3e\x06\xd0\x95\xa6\x99\xaf\xb9\x08\xb7\xc3\xa3\xd8\xe5\x1a\xf4\x67\xcc\x50\x6c\x76\x74\x6b\x72\x99\x76\xa4" -+"\x80\x1e\xab\x7d\x8c\x8a\x96\x7e\x08\x99\x7a\x92\x78\x71\x1a\x54\x72\x56\x66\x71\x1e\x73\x7b\x6d\x81\x61\x86\x08\x0e\xfb\x37\xf7" -+"\x89\xf8\x06\x15\x43\xbe\x69\xb4\xb1\x1a\x97\x93\x94\x96\x8c\x8e\x8b\x8a\x8e\x1e\x8a\x90\x91\x8b\x8f\x1b\xb6\xa8\xaa\xb9\xbc\x6b" -+"\xab\x5a\x50\x63\x5d\x47\x37\xbb\x4b\xf7\x07\x49\x1f\x0e\x57\x35\x1d\xfb\x2d\xf8\xa4\x38\x0a\xf8\x3f\x68\x15\xb6\x06\xf7\x2c\xfa" -+"\x40\x3e\x96\xfb\x09\xfd\x69\xfb\x44\xf7\xf8\xfb\x4a\x32\xac\x44\xea\xba\x05\x0e\x57\x35\x1d\xeb\xf9\x54\x15\x51\x06\xfb\x03\x28" -+"\xfb\x04\xee\x05\x53\x06\xf7\x0e\xfb\x44\x05\xe7\x06\x0e\x57\x35\x1d\xfb\x5c\x40\x0a\xf8\x1d\xf7\xac\xf7\x00\x15\xf7\x5f\xf8\x34" -+"\xe3\xfc\x8c\xfb\xb7\x07\x0e\xb2\xf7\x5f\xa9\x15\x6d\xa8\xa1\x81\xac\x1b\xf6\xe1\xf5\xf7\x17\xc0\x7d\xbe\x71\xb2\x1f\xc5\x64\x51" -+"\xa8\x3d\x1b\x3c\x4c\x66\x4f\x72\x1f\x7f\x6d\x86\x6b\x5c\x1a\xfc\x3e\xf7\x0e\x07\xf8\x50\x04\xf6\x9c\xb6\xb7\xc4\xa4\x4c\xfb\x1f" -+"\xfb\x0a\x6e\x45\x5a\x74\x79\x99\xaf\x73\x1e\x0e\x20\x2f\x1d\xfb\x5d\xf7\x5e\x32\x1d\x20\xf7\x69\x7d\x15\xe5\x90\xc5\xc6\xe3\x1a" -+"\xd2\x65\xb6\x27\xb5\x1e\x47\xa8\x6f\xa4\xad\x1a\xac\xa7\xa4\xb1\xa6\xa5\x80\x76\xa1\x1e\xa0\x77\x96\x79\x9a\x5f\x08\xa4\xf7\x25" -+"\x75\x06\x7c\x85\x85\x86\x7e\x1b\x85\x82\x8d\x90\x7b\x1f\x96\x6b\x74\x8f\x74\x1b\x30\x49\x4d\x37\x49\xb4\x5d\xf0\x60\x1f\xd0\x6d" -+"\xa6\x72\x6b\x1a\x64\x6d\x71\x5e\x45\x5d\xb8\xe2\x76\x1e\x6f\xfb\x39\xa4\x06\xa1\x96\x91\x91\x94\x1b\x90\x93\x89\x87\x95\x1f\x9d" -+"\x83\x9d\x87\xb0\x83\x65\x36\x18\x39\x0a\x7b\x7e\x8e\x94\x73\x1f\x85\x8d\x2f\x0a\x0e\x20\x2f\x1d\x82\xf7\x5e\x20\x0a\x20\x2f\x1d" -+"\xfb\x4f\xfd\x2f\x4a\x1d\xc3\xf7\x07\x9f\x1d\xf7\x9c\x16\xf3\xf7\x53\x05\xa1\xb3\x97\xaa\x9e\x1a\xa8\x74\xa0\x6b\x4c\x63\x55\x34" -+"\x8a\x1e\x88\xfb\x52\x05\x0e\xbb\xf7\xa1\xf8\x63\x15\xfb\x1e\x8c\x31\x30\xfb\x21\x1a\xfb\x26\xe3\x28\xf7\x16\xf7\x13\xe9\xf2\xf7" -+"\x20\xdb\x70\xc6\x4f\xbd\x1e\xf7\x2f\x6b\x05\xd7\x07\xfb\xb3\x6d\x15\xc1\xa5\x45\xfb\x23\xfb\x17\x6e\x43\x58\x56\x6f\xd2\xf7\x1a" -+"\xf7\x21\xa6\xd1\xc1\x1f\x0e\xf8\x8c\xf8\x1b\xf8\x9a\xc1\x1d\xfb\x14\xfb\x00\x15\x92\x36\x96\x62\xa9\x5e\x08\x4c\xb5\xcb\x6b\xde" -+"\x1b\xd8\xc7\xa6\xc1\xb5\x1f\xaf\xba\x9a\xb8\x92\xe8\x80\x59\x80\x75\x71\x6d\x08\x54\x5b\x4f\x71\x3a\x1b\x3a\x4f\xa5\xc2\x5b\x1f" -+"\x71\xa9\x80\xa1\x80\xbd\x08\xf7\xee\xf7\x00\xc1\x1d\xfb\x01\xf7\x68\x15\xfb\x5b\xfb\x3a\xfb\x38\xfb\x57\xfb\x63\xf7\x35\xfb\x38" -+"\xf7\x5d\xf7\x61\xf7\x37\xf7\x36\xf7\x5f\xf7\x5e\xfb\x37\xf7\x37\xfb\x5e\x1f\x89\x5a\x15\xf7\x45\xf7\x21\xfb\x20\xfb\x44\xfb\x43" -+"\xfb\x21\xfb\x21\xfb\x43\xfb\x41\xfb\x23\xf7\x21\xf7\x3e\xf7\x47\xf7\x1e\xf7\x22\xf7\x44\x1f\x0e\xf8\x8c\xf7\xbb\x16\xf8\x77\xa2" -+"\x06\xfb\x35\x93\x3f\xe0\x8e\xf7\x3e\x08\x38\xb7\xb9\x6a\xd4\x1b\xd1\xc5\xc9\xd5\xcf\x71\xb4\x20\xec\x1f\xfb\x01\xf0\x78\xa6\x64" -+"\xf7\x09\x7b\x2e\x51\x37\x20\x34\x08\x3a\x48\x69\x53\x4b\x1a\x40\xc8\x4d\xd4\xb5\xb4\x9c\xa9\xab\x1e\x9e\x9d\x96\x9a\x9c\xb0\x91" -+"\xfb\x3b\x34\x2c\xfb\x33\x8a\x08\x0e\xf8\x8c\xf7\xee\xf9\x5b\x15\xf7\x85\x06\xf4\x8a\xa5\x75\x9a\x26\x08\xa2\x06\x82\xf7\x39\x05" -+"\xfc\xaf\x06\xf7\x66\xfc\x67\xfb\x6e\xfc\x2c\x05\xf8\xc8\x06\xbc\xf7\x66\x05\x74\x06\x6f\x3b\x6c\x78\x26\x8c\x08\xfb\xbc\x06\xf7" -+"\x49\xf7\xf4\x05\x0e\xf8\x8c\xf7\xcd\xf8\x77\x15\x6e\x66\x7c\x67\x85\x5b\x08\xfb\x05\x54\xf7\x05\x06\x8f\x61\x9e\x5b\xa6\x6a\x3b" -+"\x3c\x18\xb1\x65\xdb\xdb\xb1\x6e\xb2\x7b\xb8\x86\x19\xfb\x05\xc1\xf7\x05\x07\xb7\x90\xb9\x9e\xab\xa5\xdb\x3b\x18\xb0\xb1\x3b\xdb" -+"\xa8\xae\x9c\xb5\x90\xb8\x19\xf7\x05\xc2\xfb\x05\x06\x86\xb6\x79\xb7\x70\xad\xda\xda\x18\x66\xb1\x3b\x3b\x69\xa6\x62\x9d\x5c\x91" -+"\x19\xf7\x04\x55\xfb\x04\x07\x60\x86\x5f\x79\x68\x6f\x3b\xdb\x18\x65\x65\x05\xf7\x9c\x55\x15\xec\xd8\x40\x2d\x2b\x3f\x3e\x2c\x2d" -+"\x3e\xd8\xea\xe7\xd8\xd9\xe6\x1f\x0e\x68\xf8\x67\xf8\x57\x15\xfb\xcb\x06\x45\x88\x7e\x86\x79\x6d\x4d\xfb\x08\x18\xbb\x7c\xb5\xc7" -+"\xad\x9a\xe1\x8a\x19\xb7\x06\x72\x7f\x7a\x7f\x7a\x78\x7b\x78\x89\x82\x86\x51\x08\xfb\x21\x07\x77\x8f\x7c\x94\x75\x1e\x72\x96\xa3" -+"\x79\xa0\x1b\x8f\x8e\x8c\x8c\x90\x1f\xf7\x1a\xbc\x05\xb1\x07\x80\x70\x81\x88\x80\x1b\x7f\x7f\x92\x97\x86\x1f\x84\x99\x89\x9e\xcd" -+"\x1a\xd9\x07\x8c\xc0\x8f\x9c\x9c\xa3\x08\xf7\x2b\x06\x0e\xfb\x37\xf7\x67\xf7\xbd\x15\xf7\x0c\xe9\xb7\x2d\xf7\x3d\x72\x07\x4e\x35" -+"\x63\x5e\x4a\x54\x08\x70\xbf\xfb\x0c\x4f\x5c\xc7\xfb\x31\x84\x0a\xf7\x1a\xe6\xba\x07\x0e\x6b\xf7\xe7\xf8\x61\x15\xfb\x13\xf7\x3d" -+"\x72\x06\x4e\x35\x63\x5e\x4a\x54\x08\x70\xbf\xfb\xd8\x84\x0a\xf7\xc1\xd6\x07\x80\x83\x95\x78\x05\xf4\xc7\xb7\xc4\xda\x1a\xca\x67" -+"\xb5\x55\x5d\x6e\x6e\x5e\x60\xa5\x6f\xb3\x8f\x90\x8b\x8c\x90\x1e\x8c\x8e\x8e\x8b\x8c\x1b\x94\x93\x83\x80\x79\x80\x73\x7b\x79\x1f" -+"\x0e\xfb\x37\xf7\x62\x80\x15\xc2\x93\xb1\xab\xac\xd2\x72\x96\x18\x69\x1d\xf7\xc1\xe9\xb7\x2d\xf7\x3d\x72\x07\x4f\x36\x63\x5e\x49" -+"\x53\x08\x70\xbf\xfb\xd8\x07\x8d\x4e\xab\x67\xc5\x84\x64\x36\x18\x97\xac\x1d\x85\x8d\x7b\x66\x05\x7e\xb0\xa5\x86\xad\x1b\xdb\x4f" -+"\x0a\x7e\x1f\x0e\xa5\xf7\x9f\xf9\x26\x15\x44\x4c\x60\x43\x68\x1f\x76\x5f\x7d\x34\x2f\x1a\xfb\x2d\xa4\x35\xc7\x57\x1e\x72\xa7\xb4" -+"\x7d\xb4\x1b\xb4\xb3\x9a\xa4\xa6\x1f\xcb\xc7\xa8\xe5\xf7\x23\x1a\xf7\x29\x74\xe0\x52\xc4\x1e\xa7\x6f\x62\x9b\x60\x1b\x37\xfb\xaf" -+"\x15\x8c\xf1\x91\xca\x98\xb1\x08\xa5\x93\xa3\x9f\xa1\x1b\xab\xa4\x70\x5d\x96\x1f\x94\x65\x90\x57\x35\x1a\x61\x04\x8a\xfb\x08\x88" -+"\x48\x87\x6b\x08\x4a\x81\x76\x6e\x66\x1b\x6c\x74\xa2\xb8\x7f\x1f\x80\xb1\x88\xbc\x8a\xf7\x2e\x08\x0e\xfb\x37\xf7\x28\xf8\x7d\x15" -+"\xb0\x06\x8e\x99\x8d\x98\x8d\x94\x08\x9c\xd0\x8b\x8d\x9b\x1a\xa5\x79\x9f\x73\x72\x79\x77\x72\x7a\x8c\x86\x9b\x49\x1e\x90\x6f\x05" -+"\x0e\xc7\x23\x0a\xfb\x34\xf9\x33\xa5\x0a\x8e\x54\x92\x72\x9f\x6e\x08\x68\xcf\x1d\x91\xbe\x08\x0e\xc7\x23\x0a\xfc\x4a\xf8\x90\x98" -+"\x1d\xaa\x3c\x1d\x7b\x1e\x0e\xc7\x23\x0a\x2d\xf8\xfd\x22\x0a\x8f\x8e\xfb\x4d\x15\x34\xf8\x7c\xe2\x07\xfc\x7c\xf7\x20\x15\x34\xf8" -+"\x7c\xe2\x07\x0e\xfb\x8a\x0e\xfb\x37\xd5\x1d\xf7\x3f\x48\x1d\xfb\x8a\xfb\xe9\x4a\x1d\xfb\x37\x82\x1d\xfb\x61\xfd\x8a\x4a\x1d\xfb" -+"\x37\xf7\xdf\xf9\x11\x22\x0a\xfb\x8a\x50\x1d\xf7\x17\xf7\xd1\xf9\x30\x15\x6f\x06\xfb\xa1\xfd\x30\x05\xf8\xec\x06\xfb\x5e\xf1\x15" -+"\xfb\x8b\x06\x65\x7f\x8f\x99\x94\x8f\x98\x91\x9b\x1f\xf7\x14\xf7\xcf\x05\x0e\xf7\xc5\xf8\xab\xf7\x00\x15\xba\x91\xa5\x93\xa5\x9a" -+"\x08\xd0\xb1\xb5\xe2\xf3\x1a\xf7\x52\xfb\x1c\xf7\x10\xfb\x64\xfb\x65\xfb\x1c\xfb\x10\xfb\x52\x30\xad\x39\xc2\x61\x1e\xaa\x73\xaa" -+"\x80\xc6\x83\x91\x7e\x18\x8f\x6d\x78\x8d\x6c\x1b\x61\x06\x56\x8c\x81\x94\x7f\xc8\x08\x4e\x06\xb0\xfb\x40\x05\xf7\xcc\xed\x06\x5f" -+"\x9b\x79\x96\x77\xa4\x08\x66\xb9\x74\xe5\xed\x1a\xf4\xa0\xcf\xba\xba\x1e\xa6\xa6\xb5\x9b\xb6\x1b\xb6\xb4\x7b\x70\xa6\x1f\xba\x5b" -+"\xa0\x48\x22\x1a\x37\x79\x36\x6f\x5d\x1e\x74\x66\x77\x7c\x56\x78\x08\x29\xf7\xcc\x07\xb0\xf7\x40\x05\x4e\x06\x7f\x4f\x81\x81\x56" -+"\x8a\x08\x61\x06\x6d\x78\x89\x87\x6c\x1f\x0e\xd2\xf2\xf8\x56\x15\xfb\x6f\x07\x8a\xfb\x06\x84\x3d\x7a\x27\x08\x85\x6a\x89\x7b\x7f" -+"\x1a\x63\x9f\x74\xb0\xae\xa5\xa4\xac\x95\x87\x9c\x85\x9e\x1e\x7e\xaf\x81\xad\x86\xaa\x08\x76\xa0\x9f\x82\xa5\x1b\xb8\xb1\xa6\xc2" -+"\xab\x1f\x39\x07\xf7\x49\xc2\x86\x9f\x05\x89\x83\x86\x8a\x87\x1b\x74\x80\x9f\xb6\x1f\xf7\xd9\xfb\x11\xfb\xca\x07\x4f\x77\x75\x6f" -+"\x71\x1b\x82\x83\x90\x93\x84\x1f\x81\x99\x89\x98\xc1\x1a\xf7\xc4\x07\x0e\x41\xf7\xad\xf8\x5d\x15\x41\x4f\x6d\x4e\x5c\x1f\x64\x59" -+"\x75\x49\x4a\x1a\x4f\x9f\x54\xae\x67\x1e\x70\xa5\xaf\x7f\xc1\x1b\x9c\x9c\x8c\x8d\x9b\x1f\x8e\x9b\x99\x8c\x92\x1b\xa4\x9a\x7b\x6f" -+"\x69\x77\x71\x71\x82\x82\x8e\x92\x84\x1f\xa3\x6f\x84\x8e\x75\x1b\x69\x71\x72\x6c\x68\xac\x71\xb6\xe1\xd0\xd6\xe8\xce\x68\xb7\x56" -+"\x84\x7a\x8a\x89\x7b\x1f\x89\x7f\x7e\x8a\x80\x1b\x57\x76\xb2\xea\xf7\x00\xab\xcd\xc0\x9e\x97\x82\x75\x93\x1f\x57\x9f\x95\x81\xad" -+"\x1b\xaf\xa3\xa3\xb0\xc1\x5f\xaf\x49\x1f\x0e\xf7\x3f\xa2\xf9\x12\x15\xcd\x87\x9d\x7d\x8d\x57\x08\xfc\x6e\x07\x89\x57\x7d\x7f\x45" -+"\x85\x08\x73\xf8\xd1\x07\xb2\xf7\x60\x05\x70\x06\x6c\x49\x77\x6f\x68\x6f\x08\x67\x5e\x56\x7b\x40\x1b\x4c\x79\x97\xb6\x1f\xf7\x81" -+"\x07\xf6\xb3\x65\xfb\x06\x96\x1f\xa5\xf7\xe0\x71\x06\x7d\xfb\x04\x64\x67\x22\x8c\x08\xf7\x78\x07\xb0\x97\x94\xc1\xe3\xc0\x7f\x6f" -+"\xaa\x1e\xaa\x70\x99\x6d\x98\x48\x08\xa3\xf7\x59\xfc\xc9\x06\xf8\x13\xc8\x15\xfb\x1b\xf7\x2e\x05\x9d\x7c\x78\x94\x78\x1b\x71\x77" -+"\x78\x72\x78\x95\x7e\xa9\x78\xc4\x0a\xf7\xae\x6f\x1d\x59\xf7\x29\x15\xfb\x1a\xf7\x2e\x05\x9d\x7b\x79\x94\x78\x1b\x71\x77\x78\x72" -+"\x78\x95\x7d\xa8\x79\xc4\x0a\x57\x77\x1d\xa2\xf7\x85\x15\xfb\x1a\xf7\x2e\x05\x9c\x7c\x78\x95\x78\x1b\x71\x77\x77\x73\x78\x96\x7d" -+"\xa7\xda\x1d\xdb\x3f\x0a\xa3\xf7\x22\x15\xfb\x1a\xf7\x2e\x05\x9c\x7b\x79\x95\x78\x1b\x71\x77\x77\x73\x78\x95\x7d\xa8\xda\x1d\xf7" -+"\x07\xf7\x9f\xf8\xdb\x15\xb0\x97\x94\xbe\xe4\xc5\x7a\x69\xa9\x1e\xa0\x72\x96\x72\x99\x4c\x08\xa3\xf7\x59\xfc\xc0\x73\x06\xcd\x88" -+"\x9f\x7c\x8c\x57\x08\xfb\x69\x33\x6c\x07\xe3\x8a\x05\xfb\x79\x07\x89\x57\x7d\x80\x44\x84\x08\x73\xf7\xf5\xa3\x07\x34\x8e\x79\x97" -+"\x89\xc2\x08\xf7\x78\x07\xee\x89\xaf\x66\x98\xfb\x05\x08\xa4\xf7\xe0\x72\x06\x7a\xfb\x04\x68\x68\x2b\x8c\x08\x0e\x20\xf7\x5b\xf7" -+"\x8c\x15\xf7\x3a\xb1\x07\xd3\x8a\xae\x68\x8f\x40\x08\x9f\x06\x81\xf7\x28\x05\xfb\xdb\x76\x06\xa8\x9b\x75\x68\x89\x1f\xfb\x11\x54" -+"\x5f\xc2\xfb\x11\xb6\x1d\xf7\x11\xe8\xb7\x07\x0e\xf8\x8a\xf8\x20\xf7\xbb\x15\xfb\x5b\x21\x1d\x83\x77\xf7\xba\x9f\x83\x06\x55\x8e" -+"\x7d\x9c\x8d\xc3\x08\xf7\x5b\x07\x3c\x0a\x9a\x70\x90\x81\xdb\x1d\xec\x8d\xc0\x5d\x91\x2e\x08\xa9\xf7\x43\x71\x06\x65\x8c\x7c\x94" -+"\x73\xb3\xfb\x64\xf7\xf5\x18\xcb\xdc\xda\xec\xad\xa1\xd2\x8c\x19\x9f\xfb\x7e\x77\xa1\x07\xa5\x9c\x7f\x77\x7e\x83\x7d\x79\x74\x1f" -+"\xfb\x3c\xfb\x61\x05\xf7\x67\x07\x88\xc3\x9a\x9c\xc1\x8e\x08\x93\x9f\xfb\xba\x77\x93\x06\xc0\x88\x9a\x7a\x8f\x0a\xa0\x9f\xfb\x7e" -+"\x77\x06\xd3\x8a\xac\x75\xda\x2a\xcb\x3a\x18\xfb\x64\xfb\xf5\x67\x4e\x85\x85\x69\x8a\x19\x77\xf7\xba\x9f\x73\x07\x6e\x7c\x93\x9a" -+"\x92\x90\x97\x99\xa5\x1f\xf7\x1b\xf7\x7e\x05\x0e\xf7\xa0\xf7\x8b\x16\xf7\x5a\x9f\x06\x71\x90\x7e\x9f\x8d\xad\x08\xf7\x05\x07\x9a" -+"\x9e\xde\xfb\x1f\x05\x9c\x6f\x8d\x87\x85\x1a\x82\x83\x86\x7a\x1e\x82\x77\xc8\x06\xed\x8d\xc0\x63\x91\x40\x1d\x65\x8c\x7d\x94\x72" -+"\xb3\xfb\x16\x9f\x0a\x9a\x95\x83\x80\x8d\x0a\xfb\x5a\x77\x07\xa4\x86\x97\x78\x8a\x69\x08\xfb\x16\x07\xfb\x10\xf7\x1e\x05\x80\x98" -+"\x85\xce\x1d\x9c\x7f\x45\xc6\x1f\xb6\x5a\xfb\x26\xfb\x7e\x71\x5f\x89\x8a\x74\x8a\x19\x77\xf7\x66\x9f\x83\x07\x7a\x83\x90\x94\x90" -+"\x8f\x94\x9a\xa3\x1f\xde\xf7\x1f\x99\x78\x05\xfb\x05\x07\x8c\x68\x7f\x78\x72\x86\x08\x0e\xab\xf7\xa5\x7d\x15\xf7\x1d\x96\xe1\xd4" -+"\xf4\x1a\xec\x55\xc7\x23\x9f\x1e\xe1\x9c\xb8\xc3\xa4\x1d\x73\xfb\x5c\xa3\x06\x92\xbf\x93\xa4\x9c\xa3\x08\xaa\xa1\xad\x9c\xb4\x1b" -+"\xcb\xad\x5e\x38\x4d\x77\x60\x66\x7c\x1f\x85\x7d\x76\x89\x68\x1b\x81\x87\x8b\x8c\x81\x1f\x63\x07\x8d\xa0\x8b\x8b\x99\x1b\xbb\xa8" -+"\x82\x75\xa0\x1f\xa4\x73\x97\x65\x59\x1a\x2b\x5d\x53\x3c\x3a\x57\xbd\xe9\x7b\x1e\x63\x85\x97\xfb\x07\xdb\x41\xf7\x07\x8a\x19\x67" -+"\x3a\x96\xac\x1d\x88\x8c\x8b\x8b\x89\x8c\x7b\x66\x18\x7e\xaf\xa6\x86\xac\xa1\x0a\x2d\xf7\x6b\x83\x15\xec\x96\xc5\xbb\xcf\x1a\xcb" -+"\x63\xb5\x3f\x9c\x1e\xca\x9c\xab\xb0\xc2\x1a\xcc\x4d\xb8\x30\x73\x7b\x88\x82\x6e\x1e\x87\x7e\x83\x89\x84\x1b\x7e\x85\x91\x97\x1f" -+"\x7a\x06\x84\xfb\x21\x05\xa3\x06\xd0\x91\xa6\xad\xbc\x1b\xb3\xa2\x6c\x56\x68\x82\x71\x7a\x7e\x1f\x83\x80\x7f\x89\x6f\x1b\x96\x0a" -+"\x9c\x3c\xbb\x62\xdb\x86\x19\x64\x35\x96\x83\x05\x8e\x96\x92\x8c\x95\x1b\xa8\x9c\x7e\x74\x70\x77\x7d\x65\x7b\x7e\x8e\x94\x73\x1f" -+"\x85\x8d\x7b\x66\x05\x7e\xaf\xa6\x86\xad\x1b\xda\x4f\x0a\x7f\x1f\x0e\xf7\x6a\xf7\x94\xf7\xbb\x15\x3c\x0a\x9a\x71\x90\x80\xdb\x1d" -+"\xed\x8d\xbf\x5d\x92\x2e\x3f\x1d\x65\x8c\x7c\x95\x73\xb2\xfb\x64\xf7\xf5\x18\xcb\xdc\xda\xec\xad\xa1\xd2\x8c\x19\x9f\xfb\x7e\xa7" -+"\x1d\x9c\xc0\x8e\x08\x93\x9f\xfb\xc5\x77\x9e\x06\xc0\x88\x9a\x7a\x89\x53\x08\xfc\x6a\x8e\x0a\x0e\xb1\x97\xf8\x57\x15\xb5\x0a\x8d" -+"\x66\x7b\x48\x0a\x90\x7e\x9f\x8d\xad\x08\xf7\x05\x07\x9a\x9e\xde\xfb\x1f\x05\x9c\x6f\x8d\x86\x86\x1a\x82\x82\x86\x7b\x1e\x83\x77" -+"\xc8\x06\xed\x8d\xc0\x63\x91\x40\x1d\x64\x8c\x7e\x94\x72\xb3\xfb\x17\x9f\x0a\x9b\x94\x84\x7f\x8d\x0a\x07\x0e\xf7\x0b\xf7\xa7\xf8" -+"\x0f\x15\x78\x73\x05\xf7\x66\x07\x89\xc4\x9a\x9c\xbf\x8e\x08\x93\x9f\xfb\xc4\x77\x9e\x06\xc0\x88\x9a\x7a\xeb\x1d\x56\x88\x08\x78" -+"\x77\xf7\xc4\x9f\x83\x06\x56\x8e\x7d\x9b\x8d\xc4\x08\xf7\x5b\x07\x9e\xa5\x05\xfb\x74\xc9\xf7\x0a\x07\xd3\xfb\x13\x05\x98\x75\x92" -+"\x7c\x84\x1a\x7c\x7b\x82\x6f\x1e\x73\x77\xf7\xba\x9f\x06\x69\x8c\x85\x91\x67\xc8\xfb\x65\xf7\xf5\x18\xcc\xdb\xda\xed\xac\xa1\xd3" -+"\x8c\x19\x9f\xfb\x7e\x77\xa0\x07\xa6\x9c\x7f\x76\x7e\x84\x7e\x77\x73\x1f\x35\x22\x05\xf7\x0c\x4d\x07\x0e\x62\xf7\x5c\xf7\x9e\x15" -+"\x76\x74\x05\xf7\x16\x07\x8a\xad\x97\x9e\xa5\x90\x08\x9f\xfb\x61\xb5\x0a\x66\x8d\x7b\x76\x6e\x1b\x76\xf7\x61\xa0\x07\x71\x8f\x7e" -+"\x9f\x8d\xad\x08\xf7\x06\x07\x9a\x9d\x91\x81\x05\xfb\x21\xb5\xd2\x07\xae\x50\x05\x9b\x70\x8e\x86\x85\x1a\x82\x82\x87\x7a\x1e\x84" -+"\x76\xf7\x66\xa0\x06\x73\x89\x8d\xb6\x71\x1f\xfb\x25\xf7\x7e\xb6\xbd\x05\xd1\xc6\x9c\x96\xc0\x1b\x9f\xfb\x41\x77\x9f\x07\x9b\x94" -+"\x84\x7f\x83\x85\x80\x80\x7f\x1f\x4e\x47\x05\xdb\x61\x07\x0e\xf7\xdf\xf7\x88\xf9\x06\x15\xfc\xa6\x8e\x0a\xf7\x5b\x07\x3c\x0a\x99" -+"\x73\x91\x7d\x8b\x1d\x76\x7e\x84\x7d\x78\x75\x1f\xfb\x3c\xfb\x61\x05\xf7\x58\x07\x89\xd2\x97\x9c\xc3\x8e\xc8\x1d\x0e\xf7\x25\xf7" -+"\x3a\xda\x15\x78\x0a\x83\x86\x7a\x77\x0a\x7e\x83\x86\x82\x7f\x7e\x1f\xfb\x10\xfb\x1e\x05\xf7\x15\x07\x89\xb0\x9b\xa0\xa9\x8c\x08" -+"\x9f\xfb\xb4\x07\x81\xfb\x29\x05\x9f\x06\xd5\x8e\xaf\xb1\xd1\x1b\x0e\xf7\xae\xf7\x94\xf7\xd1\x15\xf7\x95\xfb\x71\x06\x25\x0a\xf7" -+"\x22\x06\xe9\x8c\xbf\x5c\x91\x30\x3f\x1d\x56\x8d\x7c\x9c\x8d\xc3\x08\xf8\x56\x07\x89\xc5\x9a\x9d\xc0\x8e\x08\x9d\x9f\xfb\xcf\x77" -+"\x9e\x06\xbf\x88\x9b\x79\x89\x51\x08\xfb\x62\xfb\x95\xf7\x62\x6a\x0a\x0e\xa9\xf7\xba\xf7\x96\x15\xfb\x06\xf7\x07\x06\x8a\xad\x98" -+"\x3e\x1d\x8a\x9a\x76\x89\x67\x29\x0a\x8d\x67\x7c\x75\x6e\x8a\x08\x77\xf7\x61\x9f\x07\x71\x8e\x7e\xa0\x8c\xae\x08\xf7\x22\xf7\x06" -+"\xfb\x22\x07\x8d\x68\x7d\x76\x70\x88\x08\x77\xcd\x07\xee\x8c\xbe\x64\x91\x40\x1d\x5f\x8c\x78\x9b\x8d\xac\x08\xf7\xb1\x07\x89\xaf" -+"\x9b\xa0\xa7\x8c\x08\x9f\xfb\x62\x77\x07\xa6\x88\x98\x77\x8a\x68\x08\x0e\xf8\x10\x79\x15\x8a\x97\x90\x8b\x94\x1b\xd0\xc6\x9d\xaf" -+"\xc1\x1f\xab\xa1\xa1\xa0\xb8\xbc\x6d\xa4\x18\x7c\x0a\xb6\x79\x65\xb6\x1e\xb6\x65\xa2\x69\xae\x3f\x37\x0a\x52\x5a\x96\x5b\x1b\xfb" -+"\x5c\xfb\x29\xfb\x2d\xfb\x62\xfb\x4b\xf7\x05\xfb\x1a\xf7\x46\x6e\x1f\x66\x39\x68\x0a\x57\xf7\x85\x7d\x15\xda\x8e\xc6\xab\xbe\xd1" -+"\x79\x9d\x18\x5a\x0a\xfb\x0f\xd0\x30\xf6\x77\x1f\x65\x36\x39\x0a\x7a\x7e\x8e\x94\x73\x1f\x88\x8c\x8b\x8b\x89\x8c\x7b\x66\x18\x7e" -+"\xaf\xa5\x86\xad\xa1\x0a\xf9\x48\xf9\x2a\x15\xfb\x6c\x72\x06\xcc\x87\x9c\x83\x6e\x1a\x78\x7d\x6a\x73\x62\x1e\xfb\x00\xfb\x49\xfb" -+"\x0a\xf7\x77\x89\x8f\x89\x8f\x88\x8f\x19\x7e\xa2\x87\x97\x96\x1a\xa1\x9a\x93\xb3\x1e\xa4\xa4\xfb\xdc\x72\x06\xab\x89\xa6\x79\x9e" -+"\x6a\xf7\x47\xfb\xd9\x18\xfb\x24\x07\x89\x42\x80\x80\x3d\x84\x08\x73\xf7\xe8\xa3\x07\x3d\x92\x81\x95\x89\xd5\x08\xf7\x48\x07\xf7" -+"\x4f\xf7\xc4\x9a\xa2\x9d\x96\xad\x8f\x19\x0e\x60\xf7\xa7\xf7\x32\x15\x52\xf7\x3c\x05\x79\xc8\x8b\x8b\x97\x90\x0a\xfb\x57\x07\x8a" -+"\x60\x83\x82\x60\x84\x08\x73\xf7\x7d\xa3\x07\x68\x8f\x7e\x9a\xb0\x1a\xf7\x67\x07\xc4\xf7\x5f\xaa\xf3\x9a\xa2\xd4\x1d\x8b\x8b\x7a" -+"\x52\x1f\x0e\xf8\x4a\xf7\x7b\x15\xcb\x07\xf7\x4e\xf7\xc4\x9a\xa2\x9d\x96\xad\x8f\x19\xa4\xfb\x6b\x72\x07\xcc\x87\x9c\x83\x6e\x1a" -+"\x78\x7d\x6b\x72\x61\x1e\xfb\x00\xfb\x49\xfb\x0a\xf7\x77\x8a\x8e\x05\x77\xaf\x89\x92\x97\x1a\xa1\x9a\x93\xb2\x1e\xa4\xa4\xfb\xdb" -+"\x72\x06\xab\x8a\xa6\x78\x9e\x6a\xf7\x47\xfb\xd9\x18\x6f\x39\x61\xdd\x41\x07\x89\x42\x80\x80\x3d\x84\x08\x73\xf7\xe7\xa3\x07\x3d" -+"\x92\x81\x95\x8a\xd5\x08\xd5\xde\xb5\x07\x0e\x60\xf7\xbf\x91\x15\xeb\x07\xc4\xf7\x5f\xab\xf4\x99\xa1\xd4\x1d\x8a\x89\x7b\x54\x1f" -+"\x5b\xfb\x3b\x52\xf7\x3d\x05\x79\xc8\x8b\x8b\x96\x90\x0a\x38\x3f\x58\xd7\x4e\x07\x8a\x60\x83\x82\x60\x84\x08\x73\xf7\x7d\xa3\x07" -+"\x67\x8f\x7f\x9a\xb0\x1a\xcb\xdc\xbe\x07\x0e\xf7\x4d\xf7\xae\xf7\x97\x15\xee\xfb\x49\x05\x91\x80\x8f\x80\x82\x1a\x7b\x7b\x80\x71" -+"\x1e\x7c\x77\xf7\x12\x06\xec\x8e\xc1\x5c\x91\x2e\x3f\x1d\x5d\x8c\x7c\x98\x5b\xdd\xfb\x22\xf7\x91\x18\xea\xf7\x1e\xcc\xe7\xa2\x9d" -+"\xc9\x92\x19\x9f\xfb\x74\x77\x97\x07\xaa\xa3\x77\x72\x7a\x83\x79\x7b\x73\x1f\x37\xfb\x0b\x3b\xf7\x26\x05\x7c\xa8\x87\x95\x94\x1a" -+"\x9c\x9c\x97\xa4\x1e\x9b\x9f\xfb\xc0\x77\x06\xbd\x88\xa7\x6f\xc4\x23\xf7\x0c\xfb\x6b\x18\xfb\x05\xfb\x37\x05\x3e\x55\x65\x6b\x63" -+"\x1b\x81\x77\xf7\x79\x9f\x78\x06\x65\x75\x9a\xa4\x98\x91\x9a\x9a\xa1\x1f\x0e\x73\xf7\x60\xf7\x38\x15\xc5\x2c\x05\x95\x7b\x8f\x82" -+"\x85\x1a\x7d\x7c\x85\x74\x8d\x1e\x8a\x77\xd2\x06\xee\x8c\xbe\x64\x92\x40\x1d\x65\x8c\x7d\x94\x72\xb3\xfb\x03\xf7\x45\x18\xdd\xf7" -+"\x02\xac\xb9\x98\x94\xb1\x8c\x19\x9f\xfb\x25\x77\x07\xa6\x86\x93\x86\x7c\x1a\x82\x83\x7b\x80\x7c\x1e\x54\x43\x55\xe2\x05\x82\x9a" -+"\x88\x93\x92\x1a\x96\x94\x90\xab\x8f\x1e\x9f\xfb\x78\x77\x07\xa7\x88\x90\x86\xb7\x44\xf0\xfb\x34\x18\x39\xfb\x01\x68\x5b\x78\x7f" -+"\x61\x88\x19\x77\xf7\x35\x9f\x07\x7f\x8c\x83\x8b\x89\x8c\x08\x7d\x8e\x82\x93\x95\x1a\x95\x91\x97\x98\x9d\x1e\x0e\xf7\x82\xf9\x48" -+"\xf9\x16\x15\x9f\xfb\xc8\x77\x96\x07\xc0\x89\x9b\x78\x89\x51\x08\xfb\x6c\x07\x77\x57\x6c\x84\xa6\x1d\x96\x9f\xfb\xc3\x51\x1d\xbc" -+"\x95\xa6\xd5\x1e\xfb\x65\x07\x8d\x53\x7b\x7a\x56\x88\x08\x6b\x77\xf7\x4a\x06\xd2\x83\xb5\x5a\x90\x3d\x08\xa8\xf7\x1b\x06\x9f\x71" -+"\x07\x5a\x8e\x7e\x97\x8f\xb4\x08\xf8\x7b\x07\x88\xc5\x9b\x9e\xbf\x8d\x08\x0e\xcf\xf8\x86\xf8\x58\x15\xfb\x66\x77\x06\xa8\x8a\x9a" -+"\x75\x89\x67\x08\xfb\x23\x07\x84\x7e\x7f\x88\x7c\x1b\x62\x76\xa0\xb6\x1f\xe4\xe2\x1d\x77\x07\xa4\x87\x99\x76\x89\x69\x08\x41\x07" -+"\x3a\xbb\x65\xf1\xa6\x9e\x8e\x96\xaa\x1e\xfb\x07\x07\x8d\x67\x7c\x76\x6e\x8a\x08\x85\x76\xdb\x06\xcc\x84\xb4\x60\x8f\x4a\x08\xa8" -+"\xf7\x1d\x71\x06\x79\x8c\x8a\x8e\x8a\xad\x08\xf7\xcd\x07\x89\xb0\x9b\xa0\xa8\x8c\x08\x0e\xf7\x51\xf8\x00\xf7\xaf\x15\xa8\x94\x95" -+"\x8e\xa5\x95\x08\xfb\x65\x21\x1d\x6b\x77\xf7\xdd\x9f\xd2\x1d\x9d\xc0\x8e\x08\x9e\x9f\xfb\xc8\x77\x96\x06\xc0\x88\x9a\x79\x89\x51" -+"\x08\xfb\x6c\x07\x77\x82\x71\x82\x78\x87\x08\xf7\x73\x40\xfb\x77\x07\x5a\x96\x79\xa7\x8d\xcd\x08\xf7\x1d\x07\x89\xc5\x9a\x9d\xc1" -+"\x8e\x08\x95\x9f\xfb\xc2\x77\x98\x06\xc0\x89\x9a\x78\x89\x51\x08\xfb\x28\x07\x27\xc4\x5b\xf7\x0c\x9a\x93\x8c\x8c\x96\x1e\xfb\x21" -+"\xd6\x07\x0e\x6a\xf7\x5a\xf7\x75\x15\x78\x94\x81\xa0\xa7\x1a\xe5\x07\x89\xad\x98\x9f\xa5\x8f\x08\x9f\xfb\x5b\x77\x07\xa5\x87\x98" -+"\x77\x89\x69\x08\x40\x07\x39\xb9\x68\xf7\x00\x8a\x1e\x20\xb8\xf7\x05\x07\x91\x8c\x96\x8e\x95\x8e\x08\xfb\x06\x07\x8d\x67\x7c\x75" -+"\x6e\x8a\x08\x85\x77\xf7\x6c\x9f\x06\xc2\x0a\x89\xaf\xec\x1d\xa8\x8a\x9a\x76\x89\x67\x08\xfb\x23\x07\x82\x86\x84\x89\x80\x89\x08" -+"\xf7\x1f\x5e\x07\x0e\xf7\x51\xf7\x94\xf8\xca\x15\x89\xc3\x9a\x9c\xc0\x8e\x08\xab\x9f\xfb\xdd\x77\x9e\x06\xc0\x88\x9a\x7a\x89\x53" -+"\x08\xfc\x67\x07\x8d\x51\x7b\x78\x57\x89\x08\x78\x77\xf7\xc7\x9f\x81\x06\x56\x8d\x7c\x9e\x8d\xc5\x08\xf7\x6c\x07\x9f\xc0\xa7\x92" -+"\xac\x1b\xad\xa4\x80\x77\x9a\x1f\x97\x7b\x8f\x78\x62\x1a\xfb\x1c\x07\x8d\x51\x7c\x78\x56\x89\x08\x80\x77\xf7\xc2\x9f\x7e\x06\x56" -+"\x8d\x7c\x9e\x8d\xc5\x08\xf7\x27\x07\xed\x52\xbd\xfb\x05\x4f\x65\x83\x6e\x39\x1e\x0e\xc7\xf8\xa4\xa2\x15\x69\x8d\x7d\x9c\xb3\x1a" -+"\xf7\x87\x07\xdf\x57\xc1\x3b\x57\x67\x78\x52\x58\x1e\xf7\xa7\xfb\x50\x73\x07\xb7\x83\x92\x84\x8c\x62\x08\xfc\x88\x07\x8a\x61\x83" -+"\x82\x60\x83\x08\x74\xf7\x80\xa2\x07\x68\x90\x7e\x9a\xaf\x1a\xf7\x9a\x07\x8e\x92\x95\x94\x95\x1e\xa1\xa1\xa3\x97\xa1\x1b\xad\x9c" -+"\x70\x54\x1f\xfb\x81\x07\x8a\x66\x7e\x7c\x6b\x87\x08\x74\xf7\x7a\x07\x0e\x20\x66\x0a\xf7\x82\xf8\x62\xd7\x15\x8e\x62\x7e\x7f\x5a" -+"\x88\x08\x71\xfb\x2f\xa8\x06\x8f\xd8\xb6\xbd\xd2\x93\x08\xf7\x49\x9f\x6c\x06\x56\x8e\x7b\x9c\x8e\xc3\x08\xf8\x67\x07\x88\xc5\x9b" -+"\x9e\xbf\x8d\x08\x9e\x9f\xfb\xc8\x77\x96\x06\xef\x1d\x78\x58\x6b\x83\x6a\x1b\x69\x72\x95\xa0\x7c\x1f\x7f\x9b\x88\x9d\xb4\x1a\xf7" -+"\x1d\x07\x88\xc5\x9b\x9e\xc0\x8d\x08\x95\x9f\xfb\xc2\x51\x1d\xbb\x95\xa6\xd6\x1e\x0e\xcf\xf7\xde\xc7\x15\x8a\x69\x8a\x88\x78\x8a" -+"\x08\x71\xfb\x1d\xa8\x06\x8f\xcb\xb5\xb7\xcc\x92\x08\xdb\xa0\x85\x06\x6e\x8c\x7c\xa0\x8d\xaf\x08\xb9\x0a\xfb\x67\x77\x07\xa8\x8a" -+"\x9b\x75\x89\x67\x08\xfb\x23\x07\x84\x7d\x80\x88\x7b\x1b\x62\x77\xa0\xb6\x1f\xe4\x07\x89\xae\x98\x9f\xa6\x8f\x08\x9f\xfb\x5c\x77" -+"\x07\xa4\x87\x99\x76\x89\x69\x08\x41\x07\x3a\xbb\x65\xf1\xa6\x9e\x8e\x96\xaa\x1e\x0e\xf7\xae\xb4\xf7\xba\x15\x8f\x51\x91\x6e\x9f" -+"\x62\x08\xfb\x0c\xc4\xf5\x4b\xf7\x1f\x1b\xe2\xe1\xa7\xbe\xcd\x1f\xdd\xc8\xb6\xe6\xf7\x03\x1a\xed\x69\xe0\x4b\xc9\x1e\xce\x45\x28" -+"\xb3\x28\x1b\x35\x38\x6c\x55\x51\x1f\x62\x65\x76\x65\x72\x39\xf7\x10\x81\x18\x9c\xd1\x9d\xbe\x9f\xa7\x08\xb8\xab\xb9\xa3\xbe\x1b" -+"\xb6\xb4\x7a\x68\xb0\x1f\xc0\x5a\xaa\x28\xfb\x0a\x1a\x81\x8b\x82\x8a\x81\x1e\x87\x61\x15\x85\x39\x5f\x2a\x61\x70\x08\x78\x6d\x69" -+"\x81\x6a\x1b\x2a\x54\xd8\xf7\x32\x7b\x1f\x0e\xf9\x3e\xa3\x15\x60\x80\x99\xf7\x0f\x56\x1f\xfb\x6e\xf8\x97\x05\x6f\x06\xfb\x6d\xfc" -+"\xad\x66\x2f\x7f\x7d\x5c\x82\x19\x73\xf7\x5b\xa3\x07\x51\x8f\x75\x96\xa5\x1a\x98\x93\xa6\x9f\xbc\x1e\x9a\xb2\x05\xf7\x70\x06\xad" -+"\x3b\x96\x6b\x75\x1a\x77\x7e\x82\x69\x88\x1e\x86\x7f\x8a\x89\x7d\x1f\x73\xf7\xd1\x07\xfc\x7e\xf7\x7b\x15\xe7\xf7\x82\xee\xfb\x82" -+"\x05\xce\xf9\x22\x15\x4c\x7a\x6e\x74\x4e\x1b\x4d\x6d\xe5\x1d\x6f\x08\x67\xa4\xb3\x79\xc0\x1b\xc1\xb3\x9f\xb3\xa5\x1f\x9b\xa5\x92" -+"\xa3\x91\xbd\x08\x0e\x8f\xf8\x69\xca\x15\x81\x81\x05\x88\x88\x89\x8a\x86\x1b\x7d\x84\x93\x9b\x1f\xf7\x94\x07\xde\x41\xbe\xfb\x0c" -+"\xfb\x03\x41\x59\x42\x62\xa2\x73\xb3\xb3\xa6\xa2\xad\x99\x86\x97\x7e\x9b\x1e\x83\x95\x88\x91\x91\x1a\x9f\xa6\x9b\xae\xc4\xa4\x71" -+"\x4f\x1e\x43\x07\xfb\x0a\x67\x5c\x79\x67\x72\x08\x60\x6d\x77\x6a\x61\x1a\x4f\xb8\x5f\xcb\xc3\xb8\x9f\xbc\xc1\x1e\x59\x95\xa1\x78" -+"\xbb\x1b\xb6\xa9\x9a\xb4\xb0\x1f\xfb\x53\xc3\x15\x6c\x70\x78\x80\x73\x1b\x6d\x77\xa6\xb2\xc3\xb4\xb4\xda\xa0\x1f\xbd\xf8\x48\x15" -+"\x4c\x7a\x6f\x74\x4e\x1b\x4d\x6c\xe5\x1d\x6e\x08\x68\xa4\xb3\x79\xc0\x1b\xc2\xb2\x9f\xb3\xa5\xc3\x0a\xf7\xae\xf8\x1c\xf9\x38\x15" -+"\xfb\x61\xfb\x25\xfb\x24\xfb\x61\xfb\x5e\xf7\x24\xfb\x24\xf7\x5e\xf7\x5f\xf7\x24\xf7\x24\xf7\x5f\xf7\x5c\xfb\x25\xf7\x28\xfb\x5a" -+"\x1f\xfb\x44\xfb\xd8\x15\xf7\x54\x93\xc6\xef\xf4\x1b\xcd\xbb\x64\x3c\xa9\x1f\x9b\x63\x93\x5a\x90\x36\x08\x50\x04\x86\x33\x83\x5f" -+"\x79\x5f\x08\x46\x6e\x5c\x68\x49\x1b\xfb\x00\x52\xe7\xf7\x50\x84\x1f\x0e\x8f\xf7\x8f\xf8\x63\x15\xfb\x11\x2b\x24\xfb\x19\xfb\x20" -+"\xe7\x26\xf7\x15\xf7\x13\xe8\xf0\xf7\x1e\xf7\x1d\x2d\xf0\xfb\x12\x1f\xd8\xfb\x90\x15\xfb\x2c\x87\x7b\x60\x52\x1b\x52\x77\xbd\xf7" -+"\x25\x1f\xb9\x04\x8e\x07\xf7\x14\x8e\x9f\xb8\xc2\x1b\xa8\x9d\x7d\x6a\x98\x1f\x93\x76\x8f\x66\x8e\x44\x08\x0e\xf7\x1f\xa1\xf9\x12" -+"\x15\xcd\x87\x9d\x7d\x8d\x57\x08\xfc\x6e\x07\x89\x57\x7d\x7f\x45\x85\x08\x73\xf8\xd1\x07\xb2\xf7\x60\x05\x70\x06\x6c\x49\x77\x6f" -+"\x68\x6f\x08\x67\x5e\x56\x7b\x40\x1b\x4c\x79\x97\xb6\x1f\xf7\x81\x07\xf6\xb3\x65\xfb\x06\x96\x1f\xa5\xf7\xe0\x71\x06\x7d\xfb\x04" -+"\x64\x67\x22\x8c\x08\xf7\x78\x07\xb0\x97\x94\xc1\xe3\xc0\x7f\x6f\xaa\x1e\xaa\x70\x99\x6d\x98\x48\x08\xa3\xf7\x59\xfc\xc9\x06\xf8" -+"\x13\xf7\x73\x94\x0a\x6f\x08\x67\x97\x0a\x57\x77\x1d\xb1\xf8\x24\x94\x0a\x6e\x08\x68\x97\x0a\x8f\xf8\x88\xf9\x85\x15\xd0\xfc\x88" -+"\x46\x07\x0e\xf8\x8c\xad\x89\x15\x92\x06\xd5\x06\xf7\x44\xcd\x97\xb7\xcc\x1f\xf1\xd0\xd5\xf7\x36\xf7\x2f\x1a\xea\x6d\xde\x5b\xb1" -+"\x1e\xa7\x67\x5a\x98\x4a\x1b\xfb\x2b\x20\x56\x2e\x69\x1f\x7d\x66\x87\x73\x8a\x49\xd9\xb1\x18\x94\x07\x8a\xea\xb0\xb7\xe6\x99\x3d" -+"\xfc\x3e\x18\x7a\x40\x72\x5c\x6d\x81\x74\x8c\x18\xe5\x16\x8f\x8e\xc2\xb9\x9e\xb6\xa1\xf7\x13\x19\xc7\xf7\xec\x05\x92\x06\x8e\x06" -+"\xb4\x96\x8a\x87\x98\x1f\xc4\x76\xa9\x49\x26\x1a\xfb\x66\x2c\xfb\x29\xfb\x1e\x84\x1e\xf7\x8d\xfb\x99\x15\xda\x06\xb1\xf7\x62\x05" -+"\x7b\xb2\x8e\x8a\xa1\x1b\xf7\x14\xf7\x01\xf7\x39\xf7\x53\xf7\x00\x5e\xc3\x36\x57\x5e\x75\x62\x6a\x1f\x66\x5d\x76\x50\x73\xfb\x18" -+"\x08\xea\xe6\x15\xe6\x9b\xb0\xc0\xb9\x1b\xb4\xa1\x61\x3c\xfb\x2a\x52\xfb\x0b\x43\x6e\x75\x96\xa5\x77\x1f\x0e\xf7\x07\xf7\x97\x16" -+"\x7c\xf7\x2f\x05\x59\xb8\x6b\xe3\xe8\x1a\xc2\x96\xc5\x9f\xbd\x1e\xca\xa4\xb4\xae\xbd\x1b\xda\xca\xfb\x08\xfb\x25\x2e\x6b\x33\x59" -+"\x5e\x1f\x7c\xfb\x2f\x05\xf7\x80\xf7\x2d\x78\x06\x84\x5e\x7b\x7a\x6a\x8a\x08\xfb\x0a\x06\x8e\xb1\x05\xf2\xb9\xc7\xe8\xf7\x07\x1a" -+"\xbb\x7f\xbe\x75\xba\x1e\xef\x5d\x38\xc5\x2d\x1b\x2e\x38\x51\x27\x5d\x1f\x75\x5c\x7f\x58\x5b\x1a\xfb\x08\xc7\x2f\xf2\x5d\x1e\x8e" -+"\x65\x05\xfb\x0a\x06\x6a\x8c\x7c\x9b\x83\xb9\x08\x78\xfb\x2d\x06\x0e\xfb\xdd\xf7\xa5\x3b\x1d\x0e\xfb\x8a\x50\x1d\xf8\x8c\xf8\xa9" -+"\xf8\x95\x15\x49\x06\xfb\x74\xfc\x95\x05\xdb\x06\xf7\x45\xf8\x2d\xf7\x45\xfc\x2d\x05\xdb\x06\x0e\xf8\x8c\xf8\xa9\x16\xf7\x74\xf8" -+"\x95\x05\x3b\x06\xfb\x45\xfc\x2d\xfb\x45\xf8\x2d\x05\x3b\x06\xf7\x74\xfc\x95\x05\x0e\xf8\x8c\xf8\x8c\xf9\x60\x15\xfb\x60\xfb\x34" -+"\xfb\x32\xfb\x5f\xfb\x5b\xf7\x34\xfb\x33\xf7\x5d\xf7\x5b\xf7\x34\xf7\x34\xf7\x5c\xf7\x59\xfb\x34\xf7\x36\xfb\x58\x1f\xa4\x52\x15" -+"\xf7\x23\x7e\xf7\x06\xfb\x06\x99\xfb\x25\x08\xfb\xa3\x06\xf7\xa4\x52\x15\x82\xfb\x22\xfb\x0d\xfb\x0f\xfb\x22\x80\x08\xf7\xa8\x07" -+"\x53\xfb\xa8\x15\xfb\x27\x99\xfb\x05\xf7\x05\x7d\xf7\x29\x08\xf7\xa6\x06\xfb\xa6\xc4\x15\x99\xf7\x24\xf7\x07\xf7\x06\xf7\x25\x99" -+"\x08\xfb\xa4\x07\x0e\xf7\x11\xf7\x10\x15\xf8\x67\xf8\x67\xfc\x67\x06\xb3\xfc\x3f\x15\xf8\x17\xf8\x17\xfc\x17\x07\x0e\xf8\x8c\xf9" -+"\x64\xf8\xc3\x15\x4f\xfb\x8d\x06\x26\x86\x62\x7c\x6e\x1e\x5b\x72\x53\x6b\x50\x1b\x57\x58\xa4\xb3\x6f\x1f\x74\xac\x85\xb4\xf7\x04" -+"\x1a\xf7\x8d\x4f\xfb\x8a\x07\xfb\x1d\x90\x69\xa3\x63\x1e\x4a\xb1\xd1\x66\xde\x1b\xd7\xcb\xaa\xc3\xb4\x1f\xac\xb8\x91\xab\xf7\x29" -+"\x1a\x0e\xec\xf8\x27\xf8\x1c\x15\xfb\x69\x06\x41\xf7\x4d\x05\x2d\x06\xf7\x7d\xfc\xd5\x05\xde\x06\xf7\x7d\xf8\xd5\x05\x2d\x06\x22" -+"\xfb\x9d\x15\x3f\xfb\x48\x40\xf7\x48\x05\x0e\xc7\x62\x0a\x30\x07\x7f\x77\x87\x7c\x78\x1a\x5d\x99\x0a\x76\x82\x88\x7b\x1b\x63\x74" -+"\xa1\xb1\xab\xa2\xa0\xb4\x8f\x1f\xc9\x92\x05\x0e\xa2\x3e\x0a\x0e\xa2\xf7\x4d\xf9\x1b\x9e\x0a\xf7\x44\x16\x6b\x71\x71\x6c\x6b\xa5" -+"\x71\xaa\xab\xa5\xa5\xab\xaa\x71\xa5\x6c\x1f\xfb\xbe\xfb\x95\x15\x8d\x95\x96\x8c\x91\x1b\x93\x92\x88\x86\x8f\x1f\x94\x81\x8b\x8a" -+"\x8c\x2a\x08\xfb\x0d\x07\x6d\x8e\x73\x91\x75\x1e\x53\x9a\xbc\x69\xcd\x1b\xf7\x08\xd8\xf6\xf7\x35\xd3\x7d\xcf\x75\xa8\x1f\x9f\x7c" -+"\x78\x95\x73\x1b\x66\x73\x73\x67\x6c\x9e\x74\xac\x7f\x1f\xa8\x82\x8e\x89\x93\x83\x08\x98\x7d\x92\x71\x65\x1a\x29\x61\x46\x50\x5f" -+"\x79\xac\xd8\x1e\xf7\x58\x07\xb8\x6f\xb2\x6a\x84\x87\x8a\x8a\x87\x1e\xfb\x04\x5d\x05\x0e\xa2\x3e\x0a\xf6\xf7\x56\x15\x6d\x74\x74" -+"\x6e\x6e\xa2\x74\xa8\xa8\xa2\xa2\xa8\xa7\x74\xa3\x6f\x1f\xf7\x6c\xc4\x1d\xfb\x13\x62\x15\xaf\x06\x8e\x9c\x8d\x93\x8d\x94\x08\x99" -+"\xcb\x8c\x8f\x9b\x1a\xa3\x7a\x9e\x74\x74\x7a\x78\x73\x7b\x8c\x86\x9a\x4c\x1e\x8c\x82\x8d\x82\x8d\x83\x08\x0e\xa2\x3e\x0a\xf7\x7e" -+"\xf7\x0c\x15\x90\xa2\x8d\x97\x8c\x1a\x9b\xcf\x8c\x8f\x9b\x1a\xa4\x79\x9f\x72\x73\x79\x77\x72\x7f\x8d\x7c\x8f\x79\x1e\x91\x71\x8f" -+"\x7d\x8d\x81\x8c\x87\x19\x8d\x81\x8b\x89\x8e\x7e\x08\x0e\xc7\x23\x0a\xfb\x96\xf9\x6e\x38\x1d\xc7\x23\x0a\xfc\x25\xf8\xa5\x64\x0a" -+"\x2b\x0a\xfc\x1d\xe6\x2b\x1d\x2b\x0a\xfb\x69\xe6\x20\x0a\x2b\x0a\xfc\x49\xf7\x7a\x15\x6a\x6d\x6d\x69\x67\xa7\x6d\xae\xaf\xa7\xa7" -+"\xaf\xaf\x6e\xa9\x68\x1f\xf7\x64\x16\x6b\x6e\x6d\x69\x66\xa6\x6e\xae\xaf\xa8\xa7\xaf\xaf\x6d\xa9\x67\x1f\x0e\x2b\x0a\xfb\x9b\xe6" -+"\x28\x1d\x59\xf7\x28\xf9\x6b\x15\x54\x5f\x05\x85\x87\x87\x84\x85\x1a\x7b\xa7\x73\xc7\x68\x1e\x57\x69\x70\x61\x5c\x1a\x5e\xa5\x66" -+"\xbe\x70\x1e\x33\x4b\x6b\x58\x3e\x1a\x25\xd1\x46\xf1\x99\xa4\x8d\x8f\xa2\x1e\x8f\xa5\x95\x8c\x95\x1b\xad\x9c\x79\x67\x6c\x79\x76" -+"\x71\x7e\x87\x8c\x9a\x74\x1f\x94\x7c\x7f\x8f\x7b\x1b\x67\x71\x74\x6c\x6b\xa8\x75\xb6\xe4\xd1\xd4\xe8\xd6\x62\xb9\x47\x82\x79\x89" -+"\x89\x7c\x1f\x89\x7d\x7b\x8a\x84\x1b\x5b\x6d\xb3\xcc\xbc\x96\xaa\xb1\xc3\x1f\x77\xbd\xaa\x83\xad\x1b\xc4\xb4\xa9\xb7\xac\x71\x9f" -+"\x62\x5e\x58\x78\x68\x5b\x1f\x78\xa7\x84\xa1\xac\x1a\xae\x91\xa2\x9e\xb2\x1e\x7b\xac\xa5\x85\xb7\x1b\xcf\xb2\xa1\xb2\xac\x72\x9e" -+"\x5e\x5d\x5b\x7c\x6b\x54\x1f\x68\xa6\x7d\x9f\xa1\x1a\x97\x8f\x92\x98\x99\x1e\x0e\x8f\x2a\x0a\xfb\x04\xe6\x20\x0a\x8f\x2a\x0a\xfb" -+"\x2d\xe6\x15\xfb\x1d\xf7\x31\x05\x9d\x7c\x77\x95\x78\xb6\x0a\x7d\xa8\x79\x46\x1d\x57\x2e\x0a\xfb\x9a\xf8\xa4\x38\x0a\x57\x2e\x0a" -+"\xfb\x4b\xf9\x2f\x2a\x1d\x38\xf7\x0f\xf9\x4a\x15\x53\x5a\x05\x86\x88\x89\x86\x87\x1a\x72\xb6\x68\xd3\x67\x1e\x5c\x4d\x76\x6d\x77" -+"\x62\x08\x6a\x4b\x7a\x46\x47\x1a\x46\x9c\x50\xaa\x67\x1e\x6c\xa5\xb6\x7b\xc6\x1b\x9f\xa7\x8d\x8e\xa4\x1f\x8c\x96\x98\x8c\x8e\x1b" -+"\xa9\x9c\x7c\x71\x6b\x74\x72\x6f\x7d\x7b\x90\x92\x7e\x1f\x9f\x6a\x83\x8e\x78\x1b\x67\x71\x74\x6a\x65\xab\x73\xbf\xeb\xd9\xd7\xea" -+"\xd5\x67\xb3\x49\x84\x7d\x8a\x8a\x7f\x1f\x6e\x8a\x05\x50\x6e\xb3\xdd\xef\x9f\xe2\xbd\xf7\x01\x1f\x84\xa5\x9a\x89\xa1\x1b\xd2\xb8" -+"\xa9\xbb\xac\x73\xa2\x67\x5e\x60\x72\x53\x56\x1f\x5c\xad\x76\xa6\xa5\x1a\x96\x8f\x94\x97\x97\x1e\x0e\x78\x9e\xf8\x61\x97\xf7\x5f" -+"\x9a\x06\xac\x0a\xf7\x1e\x0b\xa8\x8f\x90\x90\x90\x8f\x8f\x92\x8e\x92\x90\xe5\x0c\x0c\xb6\x9d\x92\xa4\x93\xa4\x97\x95\x94\x8f\x90" -+"\x97\x0c\x0d\xf9\x66\x14\xf8\x84\x15\xbd\x13\x00\xa5\x02\x00\x01\x00\x08\x00\x0c\x00\x14\x00\x22\x00\x78\x00\x7e\x00\x86\x00\x8c" -+"\x00\x97\x00\x9c\x01\x10\x01\x8c\x01\xf3\x01\xf9\x02\x2f\x02\x3e\x02\x45\x02\x4c\x02\xa3\x02\xa9\x02\xae\x02\xcd\x02\xd4\x02\xe8" -+"\x02\xeb\x02\xfd\x03\x09\x03\x10\x03\x18\x03\x49\x03\xb3\x03\xe4\x03\xe8\x03\xf4\x04\x03\x04\x0c\x04\x1f\x04\x2c\x04\x35\x04\x40" -+"\x04\x4b\x04\x55\x04\x5b\x04\x64\x04\x6d\x04\x73\x04\x7b\x04\x87\x04\x8d\x05\x1e\x05\x95\x05\x9a\x05\xaf\x05\xe0\x06\x49\x06\x8b" -+"\x06\xe8\x07\x1c\x07\x40\x07\x77\x07\xc6\x07\xc9\x07\xf3\x08\x20\x08\x66\x08\xa2\x08\xe3\x09\x20\x09\x3c\x09\x67\x09\x6b\x09\x6e" -+"\x09\x7b\x09\x80\x09\x8f\x09\xbd\x09\xcf\x09\xd4\x0a\x01\x0a\x04\x0a\x0c\x0a\x10\x0a\x22\x0a\x36\x0a\x60\x0a\x89\x0a\x93\x0a\xb0" -+"\x0a\xc5\x0a\xe7\x0b\x09\x0b\x18\x0b\x21\x0b\x29\x0b\x47\x0b\x64\x0b\x81\x0b\x9d\x0b\xb9\x0b\xc0\x0b\xd1\x0b\xde\x0b\xe8\x0b\xf5" -+"\x0c\x0e\x0c\x1c\x0c\x34\x0c\x4c\x0c\x51\x0c\x68\x0c\x72\x0c\x89\x0c\xa0\x0c\xb5\x0c\xbc\x0c\xc0\x0c\xd5\x0c\xea\x0c\xff\x0d\x0b" -+"\x0d\x17\x0d\x1d\x0d\x2b\x0d\x3d\x0d\x50\x0d\x5e\x0d\x71\x0d\x84\x0d\x88\x0d\x98\x0d\xa3\x0d\xad\x0d\xbd\x0d\xc5\x0d\xd5\x0d\xe3" -+"\x0d\xea\x0d\xf9\x0e\x08\x0e\x17\x0e\x1a\x0e\x23\x0e\x31\x0e\x3f\x0e\x4b\x0e\x58\x0e\x5d\x0e\x6a\x0e\x77\x0e\x82\x0e\x8a\x0e\x92" -+"\x0e\x9e\x0e\xaa\x0e\xb6\x0e\xc2\x0e\xce\x0e\xd4\x0e\xdf\x0e\xea\x0e\xf5\x0f\x00\x0f\x0b\x0f\x14\x0f\x1a\x15\xc4\x06\xfb\x0f\x52" -+"\x1d\x15\x52\xbf\x1d\x15\xfb\xde\x43\xf7\xde\x06\x0e\x62\x0a\x4a\x07\xb6\x9a\xa3\x8f\xcc\x92\xc9\x92\x18\x0b\x9b\xf9\x1f\x15\xce" -+"\x88\x9e\x7b\x8d\x57\xdc\x1d\xf8\xdd\x07\xb3\xf7\x64\x05\x6f\x06\x6c\x48\x77\x6f\x67\x6e\x08\x66\x5d\x55\x7b\x3e\x1b\x4a\x79\x98" -+"\xb6\x1f\xf7\x86\x07\xf7\x01\xb4\x64\xfb\x08\x97\x1f\xa5\xf7\xe6\x71\x06\x7c\xfb\x06\x64\x67\xfb\x00\x8c\x08\xf7\x7c\x07\xb1\x98" -+"\x94\xbf\xf7\x37\xbc\x69\xfb\x19\xa4\x1e\xa4\xf7\x5d\xfc\xd5\x06\x0b\x8d\x31\x0a\x78\x77\x0b\x5f\x0a\xf7\xd8\x07\xb2\x1d\x0b\x86" -+"\x1d\xf7\xf2\x07\x0b\x15\x6a\x6d\x6d\x69\x67\xa7\x6d\xae\x4d\x1d\x08\xfb\xba\x07\x0b\xf8\x74\xd8\x1d\x80\x89\x82\x82\x72\x1e\x47" -+"\xfb\x54\x43\xf7\x4d\x05\x77\xbe\x8b\x8b\x93\x1a\x9a\x97\x92\xa4\x8e\x1e\x9b\x8c\x05\xa3\xfb\x8e\x73\x07\xa2\x88\x91\x88\x91\x82" -+"\x8e\x8a\xb9\x29\x9b\x62\xf7\x0c\xfb\xbb\x18\x79\x56\x05\x59\x7a\x72\x6b\x73\x1b\x82\x83\x93\x94\x8c\x8b\x8d\x8c\x8e\x1f\x8c\x90" -+"\x8c\x90\x8f\x1a\xa8\x74\x9f\x68\x65\x71\x71\x65\x5c\xb3\x6b\xc4\xad\xa8\x96\xa1\xa0\x1e\xa0\xa2\x9f\xb3\xae\xe9\xf7\x29\xf8\x21" -+"\x18\x9c\xb5\x95\x95\xaa\x8e\x08\x0b\xf9\x57\xf8\x61\x15\xfb\x1b\x73\x06\xb0\x87\x96\x83\x74\x1a\x7e\x7e\x65\x6c\x3e\x1e\x7d\x67" -+"\x83\x75\x7e\x67\x80\xb6\x86\x9e\x79\xcc\x08\x78\xcb\x83\xab\x95\x1a\x9b\x95\x90\xb1\x8e\x1e\xa3\xfb\x7e\x73\x07\xb2\x87\x8c\x8a" -+"\x9e\x49\x8c\x88\x8d\x83\x8e\x83\x47\xfb\x3f\x18\x73\xcb\x67\xe8\x05\x78\xbd\x86\x9a\x96\x1a\x9c\x95\x92\xa7\x8f\x1e\xa3\xfb\x72" -+"\x73\x07\xa5\x86\x8f\x85\xa6\x49\xf7\x28\xfc\x0a\x18\xa3\x06\xf7\x11\xf7\xca\xf1\xfb\xca\x05\xa2\x06\xf7\x2f\xf8\x25\x9a\xb0\x93" -+"\x93\xa6\x90\x19\x0b\xf9\x4f\xf9\x38\x15\xfb\x70\x72\x06\xcf\x86\x9b\x83\x6e\x1a\x77\x7e\x6b\x71\x60\x1e\xfb\x03\xfb\x4d\xfb\x0c" -+"\xf7\x7c\x88\x90\x8a\x8d\x89\x90\x19\x7d\xa2\x87\x97\x97\x1a\xa1\x9a\x93\xb4\x1e\xa4\x8c\x05\xa4\xfb\xe3\x72\x07\xad\x89\xa5\x78" -+"\x9f\x69\xf7\x4b\xfb\xe0\x18\xfb\x27\x07\x89\x40\x80\x81\x3b\x84\x08\x72\xf7\xef\xa4\x07\x3b\x92\x81\x95\x89\xd6\x08\xf7\x4c\x07" -+"\xf7\x53\xf7\xcb\x9a\xa2\x9e\x96\xad\x90\x19\x0b\xf8\xaf\xa3\x75\x1d\x0b\xf8\x38\xf7\x34\x15\x6f\x06\x83\x6d\x82\x79\x7b\x74\x68" -+"\x5d\x73\x81\x35\x8a\x08\x6e\x06\xf7\x7b\xf8\x27\x05\xa5\xfc\x07\x07\x84\xfb\x22\x05\xa5\x06\xa4\xea\xa5\x9b\xf7\x20\x8a\xfb\x7e" -+"\xfc\x28\x18\x72\xf8\x13\x07\x0b\x7b\x66\x05\x7e\xaf\xa6\x86\xac\x1b\xdb\x4f\x0a\x7f\x1f\x0b\x89\x0a\x78\x89\x51\x08\x0b\x53\x7c" -+"\x7a\x56\x88\x08\x0b\xf8\x76\xf8\x22\x15\xc0\xfb\x16\x07\x9b\x5f\x6f\x91\x63\x1b\xfb\x0b\xe6\x1d\x9e\x7e\xba\xd1\x1d\x83\x6a\x71" -+"\x82\x0a\xaa\xa7\xa0\xb3\xe7\x8f\x8b\x9a\xac\x1e\xc7\xa5\xa9\xb6\xc9\x1a\xb3\x7f\xa9\x6f\xa7\x1e\x3e\xfc\x56\x15\xc1\xa5\x7b\x69" -+"\x5d\x54\x71\x28\xee\x1d\xe4\xf8\x82\x15\xba\x9e\x65\x2e\x2e\x79\x67\x5b\x5b\x79\xae\xe9\xe9\x9d\xb0\xbb\x1f\x0b\x41\x0a\xa8\xae" -+"\x4a\x0a\xf7\x93\x94\x1d\x0b\xf8\x65\x68\x1d\xdf\x8c\x90\xa0\x1a\xa9\x77\xa1\x6f\x70\x76\x75\x6d\x7e\x8e\x76\x8f\x76\x1e\x93\x65" -+"\x92\x6a\x90\x6e\x08\x0b\xc6\xb8\xc6\xd9\x57\x1d\x0b\x08\xa4\xf7\x7e\x70\x06\x67\x7c\x82\x81\x76\x1b\x82\x7d\x8f\x95\x75\x1f\xa3" -+"\x0b\xa9\x1d\x0e\x96\x83\x05\x8e\x96\x92\x8c\x95\x1b\xa8\x9c\x7e\x74\x70\x77\x7d\x65\x0b\xa3\x07\x68\x8f\x7e\x9b\x8c\xb0\x08\xf7" -+"\xe4\x0b\x4e\x0a\xb1\xab\xaa\xb1\x0b\x9f\xa6\xf7\x1a\xfb\x7e\x05\x0b\xf9\x87\xf7\xb3\x9e\x1d\xe1\xf7\x0c\x1a\xf7\x66\xca\xf7\x02" -+"\xf7\x0d\xba\xb6\x79\x65\xb6\x1e\xb6\x65\xa3\x68\xad\x40\x37\x0a\x52\x5a\x96\x5b\x1b\xfb\x5c\xfb\x29\xfb\x2d\xfb\x63\xfb\x62\x88" -+"\x1d\x0b\xca\xf8\x1a\x15\x8d\x95\x96\x8c\x91\x1b\x93\x92\x88\x86\x8f\x1f\x94\x81\x8b\x8a\x8c\x2a\x08\xfb\x0d\x07\x6d\x8e\x73\x91" -+"\x75\x1e\x53\x9a\xbc\x69\xcd\x1b\xf7\x08\xd8\xf6\xf7\x35\xd3\x7d\xcf\x75\xa8\x1f\x9f\x7c\x78\x95\x73\x1b\x66\x73\x73\x67\x6c\x9e" -+"\x74\xac\x7f\x1f\xa8\x82\x8e\x89\x93\x83\x08\x98\x7d\x92\x71\x65\x1a\x29\x61\x46\x50\x5f\x79\xac\xd8\x1e\xf7\x58\x07\xb8\x6f\xb2" -+"\x6a\x84\x87\x8a\x8a\x87\x1e\xfb\x04\x5d\x05\x0b\xf7\x76\xf7\x2c\x15\xf7\x71\x07\x89\xaf\x9b\xa1\xa7\x9c\x1d\x70\x8c\x7b\xa0\x8c" -+"\xab\xf7\x10\xf7\x75\x18\xfb\x70\x07\x8d\x67\x7b\x75\x6f\x8a\x08\x77\xf7\x66\x9f\x07\x87\x0a\x9a\x76\x8a\x68\x08\x0b\xfb\xe9\x71" -+"\x0a\x15\x6a\x6d\x6c\x6a\x66\xa7\x6e\xae\xb0\x1d\x0b\xf7\x31\x05\x9d\x7b\x78\x95\x78\xb6\x0a\x7d\xa8\x79\x46\x1d\x22\x1d\xac\xa0" -+"\x92\x94\xa2\x1a\x0b\x66\x1d\x78\x89\x51\x08\xfc\x67\x21\x1d\x78\x77\xf7\xd0\x9f\x78\x20\x1d\x0b\x67\x9e\x6c\x64\x1a\x69\x7b\x76" -+"\x71\x6b\x7d\xa2\x0b\x08\xf7\x7a\xf7\x85\xfb\x7a\x07\x0b\x1f\x63\x9d\x05\x98\x6f\x73\x91\x76\x1b\x0b\x76\x6e\x8a\x08\x77\xf7\x61" -+"\x9f\x07\x71\x0b\x89\x8c\x96\x72\x1f\x63\x9d\x05\x98\x0b\xaf\x6d\xa9\x68\x1f\x0e\xac\x5f\xfb\x00\x4c\x7f\x65\x71\x0b\x71\xa5\xab" -+"\xab\xa6\xa6\xaa\x1f\x0b\x59\x90\x2f\x08\xa8\x0b\x6c\x6c\x65\x64\xaa\x6c\xb1\x0b\xbd\xad\xc2\xb7\x6a\xa5\x54\x7e\x83\x8a\x87\x0b" -+"\x67\x64\x35\x79\x1f\x0e\xd0\x15\x81\x07\x8d\x59\x7a\x79\x59\x8a\x08\x73\x77\xf7\xd6\x9f\x72\x06\x59\x8c\x7b\x9d\x8c\xbd\x08\x95" -+"\x97\x07\xc8\xc6\x97\xa0\xb7\x1f\xdd\xb2\xc2\xe6\xee\x1a\xf7\x06\x47\xeb\x20\xad\x1e\x6c\x95\x7a\x8d\x43\x90\x79\x8c\x18\x96\x07" -+"\x8a\xbc\x9b\x9d\xbd\x8d\x08\xa4\x9f\xfb\xd6\x77\xa3\x06\xbd\x89\x9c\x79\x89\x5a\x08\x80\x07\x61\x88\x48\x87\x70\x84\x63\x78\x19" -+"\x37\x61\x56\x33\x28\x1a\x28\xc2\x30\xdd\x64\x1e\x75\xb8\xc5\x80\xc9\x1b\xf7\x2e\xf8\x7b\x15\xf1\x85\xc2\x3c\xfb\x20\x1a\xfb\x1f" -+"\x54\x3c\x25\x85\x1e\xfb\x23\x16\x25\x91\x54\xda\xf7\x1f\x1a\xf7\x20\xc3\xda\xf0\x91\x1e\x0e\xf9\x95\xa4\x15\x72\x8c\x80\x90\x7e" -+"\x9a\xfb\xc5\xf8\x0e\x18\xf7\x50\xf7\x56\xaf\xa4\xec\x93\x08\xa4\xfb\xb5\x72\x07\xda\x85\x91\x88\x73\x1a\x7b\x86\x83\x6c\x6c\x1e" -+"\xfb\x6d\xfb\x6e\x05\xf7\x6a\x07\x8d\xd4\x9a\x9a\xd3\x8f\x08\xa4\xfb\xe6\x72\x07\xce\x88\x9e\x7c\x8c\x56\x08\xfc\x78\x07\x8a\x57" -+"\x7b\x7e\x45\x85\x43\x1d\x45\x93\x7a\x98\x8a\xbd\x08\xf7\x58\x07\xa6\xa4\xf7\x4a\xfb\x77\x05\x9e\x73\x90\x82\x80\x1a\x7e\x7d\x86" -+"\x6a\x89\x1e\x86\x7e\x8b\x8a\x7d\x1f\x72\xf7\xe4\x07\x0b\xf7\xb4\x6b\x1d\x0b\xc4\xf8\x58\x15\x3d\x1d\x78\x0a\x82\x86\x7b\x77\x0a" -+"\x7f\x83\x86\x81\xba\x1d\x07\x0b\xf7\x9a\xf7\xd2\x15\xf7\x95\xfb\x72\x06\x25\x0a\xf7\xcf\x9f\x79\x20\x1d\xf8\x67\x07\x88\xc5\x9b" -+"\x9e\xc0\x8d\x08\x9d\x9f\xfb\xcf\x77\x9e\x06\xbf\x89\x9b\x78\x89\x51\x08\xfb\x61\xfb\x95\x69\x0a\x0e\x15\x45\x4a\x62\x2d\x2a\x1a" -+"\xfb\x0f\xce\x33\xe7\xc6\xb4\xa8\xd3\xb5\x1e\x45\xa8\xb0\x6c\xbf\x1b\xe7\xcb\xf2\xf7\x27\xf7\x11\x5a\xe7\x48\x68\x73\x74\x6b\x6a" -+"\x9e\x76\xae\x85\x1f\xb3\x84\x8c\x8a\x98\x7e\x08\x9a\x7a\x92\x6f\x5e\x1a\x26\x5e\x4b\x43\x66\x70\x9c\xb1\x74\x1e\xa6\xc6\x97\xb9" -+"\xb6\x1a\xbb\x74\xaa\x67\x65\x73\x6b\x59\x5e\x98\x55\xa2\x5b\x1e\x68\x78\x6e\x76\x6b\x1b\x52\x6d\xc6\xf7\x07\xd7\x96\xc9\xa4\xca" -+"\x1f\x0e\x91\xf7\xda\x15\xe6\xfb\x7f\x06\x5f\x70\x75\x53\x1e\x72\xf7\xd0\x07\x7f\x0a\xfb\x67\x30\x07\xf8\x03\x16\xfb\x06\xf7\x72" -+"\x06\x9c\x8c\x93\x8f\x90\x1e\x96\x93\x9e\x91\xa7\x1b\xd2\xbe\x6a\x46\xad\x1f\xa6\x56\x99\x43\x36\x1a\x2c\x77\x35\xab\x0a\xf7\x7d" -+"\xf7\x06\x07\x0e\xf7\x97\xf7\xc2\x15\x8a\xa3\x9f\x8b\x9a\x1b\xe2\xc0\x95\xa4\xba\x1f\xc0\xa8\xaa\xc1\xcb\x1a\xce\x6a\xc1\x50\xaa" -+"\x1e\x9f\x63\x69\x92\x49\x1b\xfb\xdd\x77\x9f\x06\xbf\x88\x9a\x7a\x89\x53\x08\xfc\x6a\x07\x8c\x31\x0a\x79\x77\xf7\xdd\x9f\x6b\x20" -+"\x1d\xf8\xa3\x04\x8c\x9f\x9d\x8b\x9a\x1b\xab\xa5\x85\x80\x9b\x1f\xa6\x78\x9b\x5d\x4f\x1a\x27\x66\x62\x31\x80\x7b\x8b\x8c\x7b\x1e" -+"\x0e\x15\x81\x0a\xca\xf7\x02\xf7\x0d\xba\xb6\x79\x65\xb6\x1e\xb6\x65\xa2\x69\xae\x3f\x37\x0a\x51\x5b\x96\x5b\x1b\xfb\x5c\xfb\x29" -+"\xfb\x2d\xfb\x62\xfb\x62\xf7\x26\xfb\x25\xf7\x64\xf7\x07\xcf\xae\xf7\x03\xf0\x1f\x0b\x61\x66\x71\x7d\x62\x1b\x34\x54\xe2\xf7\x1c" -+"\xf2\xab\xca\xbf\x9b\x9a\x83\x80\x91\x1f\x90\x82\x8b\x8b\x61\x62\x1d\x33\xfb\x1c\x27\x21\xfb\x24\x0b\xb6\x15\x5e\x8e\x7d\x98\xb5" -+"\x1a\xf8\xd3\xbb\x0a\xfb\x4b\x07\xb9\x60\x6d\x9b\x5d\x1b\xfb\x02\x39\x20\xfb\x25\xfb\x1d\xd7\x29\xf4\xc0\xac\x9b\xbd\xba\x1f\x4a" -+"\x07\xb9\x98\xa4\x90\xc9\x92\xc9\x93\x18\xfb\x5a\xe7\x7e\x0a\x0b\xf9\x34\x15\x33\x49\x73\x54\x4a\x1f\x41\x4c\x66\x34\xfb\x04\x1a" -+"\xfb\x61\xf7\x1a\xfb\x1c\xf7\x5d\xf7\x58\xf7\x1c\xf7\x1e\xf7\x5b\xf5\x6e\xda\x4d\xcb\x1e\xcc\x4b\x3d\xaa\x23\x1b\x8f\x68\x15\xf6" -+"\xc7\xfb\x00\xfb\x54\xfb\x58\x4b\xfb\x09\x20\x5c\x5e\xa7\xb9\x70\x1f\x6c\xc1\x7d\xd1\xf4\x1a\xf7\x10\x9f\xd9\xba\xc4\x5f\x1d\x78" -+"\x1d\x0e\x99\x16\xf7\xd0\x06\x7f\x0a\xfc\x81\x07\x5f\x70\x75\x53\x1e\xf7\x89\xf8\xda\x15\xa2\x9f\x97\xb2\xd3\xbd\x6a\x46\xae\x1e" -+"\xa6\x57\x99\x42\x36\x1a\x2d\x77\x34\xab\x0a\x0b\xf9\x45\xa4\x15\x5f\x80\x99\xf7\x11\x55\x9b\x1d\x98\x92\xa3\xa1\xc1\x1e\x9a\xb3" -+"\x05\xf7\x75\x06\xad\x3c\x97\x68\x75\x1a\x75\x7e\x82\x68\x89\x1e\x86\x8a\x7e\x8a\x7d\x8a\x08\x72\x0b\x15\xfb\x58\xfb\x2c\xfb\x2f" -+"\xfb\x5d\xfb\x59\xf7\x2c\xfb\x31\xf7\x53\xf7\x5e\xf7\x2a\xf7\x2b\xf7\x61\xf7\x5b\xfb\x2b\xf7\x2f\xfb\x58\x1f\x57\x04\xf7\x2d\xf7" -+"\x0f\xfb\x1b\xfb\x3c\xfb\x3f\xfb\x0e\xfb\x18\xfb\x32\xfb\x2a\xfb\x0f\xf7\x1c\xf7\x3a\xf7\x3d\xf7\x0f\xf7\x1b\xf7\x2e\x1f\x0e\x77" -+"\x07\xa5\x87\x99\x77\x89\x68\x08\xfb\xe4\x22\xf7\xe4\x07\x8a\xae\x98\x9f\xa5\x8f\x08\x9f\xfb\x5d\x77\x07\xa5\x87\x99\x77\x89\x68" -+"\x08\xfb\xe4\x22\xf7\xe4\x07\x89\xae\x99\x3e\x1d\x89\x9a\x77\x89\x66\x29\x0a\x67\x8d\x7b\x75\x6f\x1b\x76\x0b\xf8\xad\xb6\x15\x60" -+"\x8d\x7f\x98\x8a\xb6\x08\xf7\xfc\xfb\x5d\x73\x07\xbc\x88\x97\x7f\x8c\x5f\x08\xfb\xaf\x07\x6a\x6a\x77\x80\x6e\x1b\x62\x7c\x9f\xbe" -+"\x1f\xf7\xe7\xfb\x50\x73\x07\xb4\x83\x92\x82\x8c\x61\x08\xfb\x90\x07\x33\xbd\x57\xde\xbf\xae\x9b\xbd\xc5\x1e\x0b\xf7\x65\xf8\x5d" -+"\x15\xfb\x49\x54\x90\x77\x05\x8e\x93\x90\x8c\x8f\x1b\xa2\x96\x77\x5f\x1f\xfb\x6e\x07\x57\x8d\x7f\x9a\x73\x1e\x7a\x95\x96\x82\x94" -+"\x1b\x90\x92\x8d\x8e\x94\x1f\xf7\x11\xbd\x84\xa1\x05\x85\x7c\x82\x89\x84\x1b\x71\x87\x96\xdb\x1f\x0b\x64\x1d\x92\x89\x77\xb7\x1f" -+"\xa8\x7e\x05\x83\x9d\xa6\xb8\x0a\x67\x7e\x7d\x7e\x70\x1b\x7f\x49\x0a\x6e\x74\xbd\x0a\xf7\x81\xf7\xbe\x15\xcd\xa4\xa0\xa7\xa3\x1b" -+"\xa3\x95\x76\x5c\x1f\xfc\x87\xf7\x11\xf8\x90\x07\xd2\x5c\xc0\x4d\x5b\x67\x6e\x45\x67\x1e\xee\x07\x54\x1d\xfb\xd6\xf7\x11\x07\x0b" -+"\xf7\xf4\x67\x0a\x9f\x81\x1d\x39\x0a\x7b\x7d\x8e\x94\x74\x1f\x85\x8d\x2f\x0a\x0e\xf7\x61\x6a\x0a\x0b\x07\x89\xc6\x9a\x9d\xc0\x8d" -+"\x08\x9e\x9f\xfb\xd0\x44\x0a\x0b\xfb\x69\xfc\x19\x18\x4b\xfb\x05\x84\x82\x64\x85\x08\x72\xf7\x62\xa4\x07\x7a\x8d\x05\x57\x91\x7d" -+"\x94\xa7\x1a\x97\x8f\x97\x96\xa0\x1e\xef\xf7\x50\x05\xf7\x52\xfb\x4c\x06\x8a\x40\x7d\x0b\xf9\x47\x15\x4c\x7a\x6e\x73\xa6\x0a\x6e" -+"\x08\x68\xa4\xb4\x78\xc1\xca\x1d\xfb\x48\x8c\x1d\x0b\x77\xa6\x06\xae\x8a\xa0\x74\x65\x1a\xfb\x91\x07\xfb\x50\x6e\x2e\x52\x7b\x82" -+"\x94\x9a\x8f\x8b\x8f\x8c\x8f\x1e\x96\x07\xa9\x73\xa1\x69\x65\x74\x72\x62\x54\xb4\x66\xc7\xc6\xba\xae\x0b\x8c\x1d\x0e\x15\xc3\x06" -+"\xf7\x22\xc5\x1d\x0b\x15\xf4\x8f\x1d\xa5\x0a\x8d\x54\x92\x72\xa0\x6e\x08\x68\xa5\xb4\x78\xc0\x1b\xc3\xac\x0a\x1b\xa8\x9c\x7e\x74" -+"\x70\x77\x7d\x65\x7b\x7f\x8e\x94\x72\x1f\x85\x8d\x2f\x0a\x0e\x15\xa7\xae\x9b\xa0\x90\x92\x08\xb1\xc0\x9a\xa5\x9c\x1a\x92\x87\x8f" -+"\x83\x83\x83\x87\x7e\x7c\x1e\x8a\x8a\x89\x89\x88\x89\xfb\x5f\xfb\x38\x18\x87\x07\xf7\x62\xfb\x3a\x0b\x5f\xc6\xf7\x1c\x1e\xf7\xe2" -+"\x07\x8d\xd8\x99\x98\xdc\x8d\x08\xa4\xfb\xe6\x72\x07\xd0\x85\x96\x7e\x8d\x42\x08\xfb\xe2\x07\x29\xa0\x5a\xc8\x5f\x1e\x68\xbb\xcb" -+"\x79\x0b\x9a\x1d\xb6\x9d\x8e\x96\x94\x95\x1f\x0b\x1e\x83\x77\xf7\x67\x9f\x06\x73\x8c\x89\xbf\x0a\xc7\xd2\x9b\x95\xc1\x8c\x19\x9f" -+"\xfb\x41\x77\x9f\x07\x9b\x94\x84\x0b\xad\x0a\xf7\x60\x9f\x07\x72\x90\x7f\x9f\x8c\xba\x0a\x99\x74\x90\x81\x86\x1a\x82\x0b\x07\x8a" -+"\x61\x83\x83\x5c\x83\x08\x73\xf7\xa5\x07\x3d\xf8\xbb\x15\x92\x94\x9b\x97\x98\x1e\xa1\x9f\xa2\x97\xa1\x1b\xbf\xa3\x4f\xfb\x17\x0b" -+"\x15\xfc\xa0\x07\x3a\xf7\x66\x56\x74\xf7\x13\xfb\xb2\x05\xd8\x06\xf7\x14\xf7\xb2\x56\xa2\x3a\xfb\x66\x05\xf8\xa0\x07\xdc\xfb\x66" -+"\xc0\x0b\xb4\x1d\xc0\x1b\xc3\xb4\x9f\xb4\xa5\x1f\x9c\xa6\x92\xa3\x0b\x81\x0a\xcb\xf7\x02\xf7\x0c\xba\x0b\x63\x1d\xb7\x83\x93\xcb" -+"\x1d\x0b\x15\x85\x81\x7a\x7f\x7e\x1e\x74\x77\x76\x80\x75\x1b\x56\x72\xc6\xf7\x14\xf7\x15\xa6\xc6\xc5\xac\xaa\x73\x65\x99\x1f\x0b" -+"\xf7\x6c\xf7\x24\xf7\x1e\xf7\x63\xf7\x62\xfb\x1f\xf7\x11\xfb\x7c\x1f\xfb\xc5\x72\x06\xca\x86\x9e\x7c\x8c\x5c\x08\x0b\x69\xbc\xf7" -+"\x07\x1f\xa2\xf7\x92\x07\xc9\x86\xa9\x7a\xae\x1e\xc9\x6d\x4e\xaf\x41\x1b\x56\x66\x7c\x67\x66\x1f\xb0\x0b\x50\x4d\x6b\x73\x5a\x78" -+"\x08\x7f\x6e\x6a\x85\x6f\x1b\x49\x4c\xae\xbf\x6e\x1f\x6e\xc0\x7d\xd2\xf0\x1a\xf7\x63\x0b\x62\x1a\x51\xd6\x69\xf7\x12\xf7\x3b\xe2" -+"\xbf\xee\xd8\x51\xb6\x21\x8d\x1e\x4a\x8c\x05\x36\x8c\x7c\x90\xa7\x1a\x0b\xf9\x76\xc3\x1d\x7b\x45\x1d\x07\x4a\xb6\x63\xd0\xce\xb3" -+"\xa9\xdd\xb4\x1e\x72\x96\x05\x69\x1d\x0b\x43\x0a\xa5\x78\x9d\x6e\x77\x7a\x82\x78\x7a\x1e\x0e\x30\x0a\xfc\xa1\xfb\x6f\xf8\xa1\x07" -+"\x0b\x6e\x8c\x7b\xa0\x8d\xb0\x08\xf7\xba\xa8\x0a\x8a\x0b\x79\x72\x1a\x83\xa2\xf7\xd7\x74\x07\x82\x2c\x6a\x5d\x4f\x89\x08\x70\xf7" -+"\xa3\xf7\x06\x06\xe5\x88\x0b\xc0\x8d\x08\x9e\x9f\xfb\xd0\x77\x9e\x06\xbf\x89\x9b\x0b\x83\x94\x91\x89\x91\x1b\x92\x8f\x91\x94\x9f" -+"\x70\xb6\x58\xc6\x1f\x7d\x9c\x7f\x9b\x7d\xa0\x08\x0b\x1f\xc0\x5c\x05\xac\xa2\x9c\x95\xa8\x1b\xae\xaa\x82\x71\xb9\x1f\x72\xb9\xa5" -+"\x83\xac\x1b\xb9\x0b\xf7\xd0\xb3\x1d\x0b\x83\x86\x81\x7f\x7e\x1f\xfb\x11\xfb\x1e\x05\xf7\x16\x07\x8a\xad\x97\x9e\xa5\x90\x08\x9f" -+"\x0b\x07\x25\x0a\xf7\xc5\x9f\x83\x20\x1d\x0b\x89\x53\x08\xfb\x67\x07\xfb\x3c\xf7\x61\x05\x78\xa2\x84\x98\x99\x1a\x9f\x9b\x97\xa6" -+"\x1e\x0b\x1a\x9f\x96\x97\x9d\x1e\x95\x9f\xfb\x74\x77\x06\xa6\xa7\x60\x37\xa7\x1f\xcf\xfb\x6b\x05\x0b\xf8\x35\x15\x5d\x65\x65\x5d" -+"\x5b\xaf\x66\xba\xbc\xb0\xaf\xba\xba\x65\xb2\x5c\x1f\x0e\xa0\x0a\x81\x88\x7b\x1b\x0b\x15\x53\xbf\x1d\x15\x4c\x7b\x6e\x74\x4e\x1b" -+"\x4d\x6c\xa4\xc8\x80\x1f\x60\x06\x8d\x55\x92\x73\xa0\x0b\xf9\x38\x15\xfb\x70\x72\x06\xd8\x86\xa0\x76\x42\x1a\xfb\xc5\x07\xfb\x28" -+"\x53\x46\x0b\x6a\x66\xac\x06\xc7\xa8\x6e\x50\x52\x69\x68\x55\x5f\x6d\xa6\xc6\x76\x1f\x70\x82\x0b\xa4\xb3\x79\xbf\x1b\xc2\xb3\x9f" -+"\xb3\xa4\xc3\x0a\x07\x8a\x65\x79\x76\x6b\x8a\x08\x73\xf7\x83\x0b\xb8\x69\xc8\x5e\x1d\x0b\x76\x68\x83\x62\x35\x1a\x65\x1d\x80\x7f" -+"\x5e\x87\x08\x0b\x5d\x65\x65\x5e\x5a\xaf\x66\xbb\xba\xb1\xb1\xb9\xba\x65\xb1\x5c\x1f\x0e\x15\x6e\x73\x74\x6e\x6e\xa2\x74\xa8\xa8" -+"\xa2\xa2\xa8\xa7\x74\xa3\x6f\x1f\x0b\x15\x63\x4e\x0a\xb2\xaa\xaa\xb1\xb1\x6c\xab\x66\x1f\x0b\x15\x6b\x71\x72\x6b\x6b\xa5\x71\xab" -+"\xaa\xa5\xa5\xab\xaa\x71\xa5\x6c\x1f\x0b\xf7\x68\x18\xb6\xbc\x05\xd2\xc6\x9c\x96\xc0\x1b\x9f\xfb\x41\x77\xa0\x07\x0b\x5e\x1d\x77" -+"\x0b\x1b\xdb\xbd\xad\xc2\xb7\x6a\xa5\x54\x7d\x84\x8a\x87\x7f\x1f\x0e\x78\x89\x51\x08\xfc\x67\x21\x1d\x78\x77\x0b\xcf\x8e\x08\xa4" -+"\xfb\xe5\x72\x07\xcc\x0b\x08\xa4\xf7\x5d\xfd\x0e\x75\x06\xce\x87\x9f\x82\x73\x1a\x81\x0b\x15\x4b\x79\x6e\x74\xf0\x1d\x0b\x4d\x1b" -+"\x4b\x6c\xa5\xc8\x7f\x1f\x5f\x06\x8e\x54\x92\x72\xa0\x0b\x79\x52\x55\x62\x79\xbb\xf4\xf7\x4b\x9b\xc4\xbd\x1e\x0e\x07\x89\xb0\xec" -+"\x1d\xa7\x0b\x15\xf7\x08\xce\xbd\xcd\xe1\x1a\xd0\x62\xba\x4f\x59\x6a\x0b\x1b\xbd\xa3\x6a\x47\x50\x75\x6b\x63\x75\x84\x93\xa3\x1f" -+"\x0b\x6b\x5e\x1e\x5d\x69\x5b\x74\x4a\x1b\x5e\x7e\x98\xb8\x1f\x0b\xb4\xd9\x1d\x8d\x66\x7b\x76\x6e\x8a\x08\x77\x0b\xa4\xb5\x78\xc0" -+"\x1b\xc3\xb3\x9f\xb4\xa5\x1f\x9c\xa5\x0b\x7a\x8c\x86\x9a\x49\x1e\x8d\x81\x8d\x82\x8d\x82\x08\x0b\x54\x25\x31\x61\x56\x43\x65\x7e" -+"\x99\xb4\x1f\x0e\x16\xf7\xe2\xa4\x06\x3d\x94\x83\x94\x89\xd5\x08\x0b\x9f\x07\xc2\x0a\x0b\xc6\xb8\xc6\xd9\x1a\xca\x67\xb5\x55\x5d" -+"\x6e\x6e\x0b\xfb\x14\xf7\xb2\x05\x3e\x06\xfb\x13\xfb\xb2\xc0\x0b\x77\x07\xa8\x8a\x9b\x76\x89\x67\x29\x0a\x0b\x1b\x71\x76\x77\x72" -+"\x77\x96\x0b\x54\x92\x72\xa0\x6f\x08\x67\x0b\x85\x9e\x1b\xc4\xb0\xb3\xe2\xa2\x1f\x60\x06\x0b\xf7\xba\x07\x89\xb0\x9b\xa0\xa8\x8c" -+"\x08\x9f\x0b\xad\x08\xf7\x06\x07\x99\x9d\xde\xfb\x1f\x05\x0b\xfb\x6b\x73\x07\xcc\x87\x95\x84\x8c\x5c\x08\x0b\xda\x69\x1e\x7d\xad" -+"\xa6\x87\xd0\x1b\xf7\xac\x0b\x91\x76\x1b\x4d\x50\x0a\x85\x85\x81\x1e\x82\x7c\x87\x81\x80\x1a\x0b\x8c\x71\xb7\xfb\x26\xf7\x7e\x18" -+"\xb6\xbd\x0b\x15\xc8\x06\xf8\x5e\xf9\x2a\x05\x4d\x06\x0b\xf8\xad\xf7\x65\x15\xe3\xfc\x8c\x33\x07\x0b\x6e\x8c\x7b\xa0\x8d\xb0\x08" -+"\xf7\xba\x07\x0b\x1f\x9c\xa5\x92\xa3\x90\xbd\x08\x0e\x1f\xf7\x1f\x35\x05\x0e", 50579 -+}; -diff -up texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/fonts/NimbusRoman-BoldItalic.cff.cpp.301 texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/fonts/NimbusRoman-BoldItalic.cff.cpp ---- texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/fonts/NimbusRoman-BoldItalic.cff.cpp.301 2023-01-17 15:53:51.709205369 -0500 -+++ texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/fonts/NimbusRoman-BoldItalic.cff.cpp 2023-01-17 15:53:51.709205369 -0500 -@@ -0,0 +1,1738 @@ -+#include "Base14Fonts.hpp" -+ -+extern const MemoryFontData NimbusRoman_BoldItalic_cff = { -+"\x01\x00\x04\x02\x00\x01\x01\x01\x17\x4e\x69\x6d\x62\x75\x73\x52\x6f\x6d\x61\x6e\x2d\x42\x6f\x6c\x64\x49\x74\x61\x6c\x69\x63\x00" -+"\x01\x01\x01\x3e\xf9\xbc\x00\xf9\xbd\x01\xf9\xbe\x0c\x00\xf9\xbf\x02\xf9\xc0\x03\xf8\x14\x04\x1e\xe1\x5a\x30\x00\x00\x19\xff\x0c" -+"\x02\xfb\x01\x0c\x03\xd0\x0c\x04\xfb\x5c\xfb\xd8\x1c\x04\x82\xfa\x60\x05\x1c\x2a\xe5\x0f\x1c\x2a\xf8\x11\xaf\x1d\x00\x00\xc5\xbc" -+"\x12\x01\xa6\x02\x00\x01\x00\x08\x00\x0e\x00\x13\x00\x1d\x00\x24\x00\x2b\x00\x35\x00\x39\x00\x3f\x00\x45\x00\x50\x00\x5a\x00\x5d" -+"\x00\x63\x00\x69\x00\x6e\x00\x74\x00\x7a\x00\x84\x00\x8b\x00\x8e\x00\x95\x00\x9c\x00\xa8\x00\xab\x00\xb3\x00\xb7\x00\xbc\x00\xc2" -+"\x00\xcd\x00\xd9\x00\xe3\x00\xe7\x00\xf2\x00\xf4\x00\xfa\x01\x04\x01\x0b\x01\x12\x01\x16\x01\x22\x01\x2b\x01\x31\x01\x3c\x01\x41" -+"\x01\x4d\x01\x53\x01\x59\x01\x5f\x01\x6b\x01\x6f\x01\x71\x01\x77\x01\x7d\x01\x89\x01\x8b\x01\x91\x01\x9e\x01\xa5\x01\xaf\x01\xb6" -+"\x01\xc2\x01\xcd\x01\xd0\x01\xd2\x01\xd5\x01\xdb\x01\xe1\x01\xed\x01\xf0\x01\xf6\x01\xfe\x02\x09\x02\x15\x02\x1a\x02\x1d\x02\x21" -+"\x02\x27\x02\x33\x02\x38\x02\x3e\x02\x4b\x02\x52\x02\x59\x02\x60\x02\x6f\x02\x7b\x02\x80\x02\x86\x02\x8c\x02\x97\x02\xa0\x02\xa6" -+"\x02\xa8\x02\xb3\x02\xb9\x02\xbf\x02\xc9\x02\xcd\x02\xd3\x02\xda\x02\xe3\x02\xec\x02\xf5\x02\xfe\x03\x07\x03\x10\x03\x19\x03\x22" -+"\x03\x2b\x03\x34\x03\x3d\x03\x46\x03\x4f\x03\x58\x03\x61\x03\x6a\x03\x73\x03\x7c\x03\x85\x03\x8e\x03\x97\x03\xa0\x03\xa9\x03\xb2" -+"\x03\xbb\x03\xc4\x03\xcd\x03\xd6\x03\xdf\x03\xe8\x03\xf1\x03\xfa\x04\x03\x04\x0c\x04\x15\x04\x1e\x04\x27\x04\x30\x04\x39\x04\x42" -+"\x04\x4b\x04\x54\x04\x5d\x04\x66\x04\x6f\x04\x78\x04\x81\x04\x8a\x04\x93\x04\x9c\x04\xa5\x04\xae\x04\xb7\x04\xc0\x04\xc9\x04\xd2" -+"\x04\xdb\x04\xe4\x04\xed\x04\xf6\x04\xff\x05\x08\x05\x11\x05\x1a\x05\x23\x05\x2c\x05\x35\x05\x3e\x05\x47\x05\x50\x05\x59\x05\x62" -+"\x05\x6b\x05\x74\x05\x7d\x05\x86\x05\x8f\x05\x98\x05\xa1\x05\xaa\x05\xb3\x05\xbc\x05\xc5\x05\xce\x05\xd7\x05\xe0\x05\xe9\x05\xf2" -+"\x05\xfb\x06\x04\x06\x0d\x06\x16\x06\x1f\x06\x28\x06\x31\x06\x3a\x06\x43\x06\x4c\x06\x55\x06\x5a\x06\x64\x06\x6b\x06\x74\x06\x7e" -+"\x06\x85\x06\x90\x06\x9a\x06\xa3\x06\xac\x06\xb5\x06\xbf\x06\xc6\x06\xcf\x06\xdb\x06\xdf\x06\xe5\x06\xeb\x06\xf6\x07\x00\x07\x03" -+"\x07\x11\x07\x15\x07\x1b\x07\x21\x07\x26\x07\x2d\x07\x3a\x07\x40\x07\x46\x07\x50\x07\x57\x07\x5e\x07\x61\x07\x68\x07\x6f\x07\x7b" -+"\x07\x86\x07\x8f\x07\x92\x07\x9a\x07\xa3\x07\xae\x07\xb4\x07\xb9\x07\xbe\x07\xc4\x07\xcf\x07\xdb\x07\xe5\x07\xf1\x07\xf5\x08\x00" -+"\x08\x05\x08\x0a\x08\x10\x08\x12\x08\x19\x08\x21\x08\x29\x08\x33\x08\x3d\x08\x49\x08\x55\x08\x5c\x08\x60\x08\x6c\x08\x7d\x08\x86" -+"\x08\x8c\x08\x97\x08\x9c\x08\xa8\x08\xb4\x08\xba\x08\xc0\x08\xc6\x08\xd2\x08\xd6\x08\xdf\x08\xe3\x08\xe8\x08\xec\x08\xf2\x08\xfd" -+"\x09\x0b\x09\x11\x09\x1c\x09\x22\x09\x2e\x09\x38\x09\x40\x09\x42\x09\x48\x09\x55\x09\x5c\x09\x61\x09\x6b\x09\x72\x09\x7e\x09\x88" -+"\x09\x93\x09\x9e\x09\xa4\x09\xa7\x09\xa9\x09\xb0\x09\xbc\x09\xca\x09\xcd\x09\xda\x09\xe0\x09\xe7\x09\xed\x09\xf9\x0a\x06\x0a\x09" -+"\x0a\x0f\x0a\x17\x0a\x22\x0a\x2e\x0a\x34\x0a\x39\x0a\x42\x0a\x47\x0a\x50\x0a\x53\x0a\x56\x0a\x5a\x0a\x60\x0a\x6c\x0a\x71\x0a\x76" -+"\x0a\x7c\x0a\x89\x0a\x90\x0a\x9d\x0a\xa4\x0a\xab\x0a\xb2\x0a\xb9\x0a\xc0\x0a\xc7\x0a\xce\x0a\xd5\x0a\xdc\x0a\xe3\x0a\xea\x0a\xf1" -+"\x0a\xf8\x0a\xff\x0b\x06\x0b\x0d\x0b\x14\x0b\x1b\x0b\x22\x0b\x29\x0b\x30\x0b\x37\x0b\x3e\x0b\x45\x0b\x4c\x0b\x53\x0b\x5a\x0b\x61" -+"\x0b\x68\x0b\x6f\x0b\x76\x0b\x7d\x0b\x84\x0b\x8b\x0b\x92\x0b\x99\x0b\xa0\x0b\xa7\x0b\xae\x0b\xb5\x0b\xbc\x0b\xc3\x0b\xca\x0b\xd1" -+"\x0b\xd8\x0b\xdf\x0b\xe6\x0b\xed\x0b\xf4\x0b\xfb\x0c\x02\x0c\x09\x0c\x10\x0c\x17\x0c\x1e\x0c\x25\x0c\x2c\x0c\x33\x0c\x3a\x0c\x41" -+"\x0c\x48\x0c\x4d\x0c\x56\x0c\x5d\x0c\x64\x0c\x73\x0c\x87\x0c\x93\x0c\x98\x0c\x9e\x0c\xa4\x0c\xaf\x0c\xb8\x0c\xbe\x0c\xc0\x0c\xcb" -+"\x0c\xd1\x0c\xd7\x0c\xe1\x0c\xe5\x0c\xe9\x0d\x1f\x0d\x5f\x0d\x77\x0d\x83\x41\x45\x61\x63\x75\x74\x65\x41\x62\x72\x65\x76\x65\x41" -+"\x6c\x70\x68\x61\x41\x6c\x70\x68\x61\x74\x6f\x6e\x6f\x73\x41\x6d\x61\x63\x72\x6f\x6e\x41\x6f\x67\x6f\x6e\x65\x6b\x41\x72\x69\x6e" -+"\x67\x61\x63\x75\x74\x65\x42\x65\x74\x61\x43\x61\x63\x75\x74\x65\x43\x63\x61\x72\x6f\x6e\x43\x63\x69\x72\x63\x75\x6d\x66\x6c\x65" -+"\x78\x43\x64\x6f\x74\x61\x63\x63\x65\x6e\x74\x43\x68\x69\x44\x63\x61\x72\x6f\x6e\x44\x63\x72\x6f\x61\x74\x44\x65\x6c\x74\x61\x45" -+"\x62\x72\x65\x76\x65\x45\x63\x61\x72\x6f\x6e\x45\x64\x6f\x74\x61\x63\x63\x65\x6e\x74\x45\x6d\x61\x63\x72\x6f\x6e\x45\x6e\x67\x45" -+"\x6f\x67\x6f\x6e\x65\x6b\x45\x70\x73\x69\x6c\x6f\x6e\x45\x70\x73\x69\x6c\x6f\x6e\x74\x6f\x6e\x6f\x73\x45\x74\x61\x45\x74\x61\x74" -+"\x6f\x6e\x6f\x73\x45\x75\x72\x6f\x47\x61\x6d\x6d\x61\x47\x62\x72\x65\x76\x65\x47\x63\x69\x72\x63\x75\x6d\x66\x6c\x65\x78\x47\x63" -+"\x6f\x6d\x6d\x61\x61\x63\x63\x65\x6e\x74\x47\x64\x6f\x74\x61\x63\x63\x65\x6e\x74\x48\x62\x61\x72\x48\x63\x69\x72\x63\x75\x6d\x66" -+"\x6c\x65\x78\x49\x4a\x49\x62\x72\x65\x76\x65\x49\x64\x6f\x74\x61\x63\x63\x65\x6e\x74\x49\x6d\x61\x63\x72\x6f\x6e\x49\x6f\x67\x6f" -+"\x6e\x65\x6b\x49\x6f\x74\x61\x49\x6f\x74\x61\x64\x69\x65\x72\x65\x73\x69\x73\x49\x6f\x74\x61\x74\x6f\x6e\x6f\x73\x49\x74\x69\x6c" -+"\x64\x65\x4a\x63\x69\x72\x63\x75\x6d\x66\x6c\x65\x78\x4b\x61\x70\x70\x61\x4b\x63\x6f\x6d\x6d\x61\x61\x63\x63\x65\x6e\x74\x4c\x61" -+"\x63\x75\x74\x65\x4c\x61\x6d\x62\x64\x61\x4c\x63\x61\x72\x6f\x6e\x4c\x63\x6f\x6d\x6d\x61\x61\x63\x63\x65\x6e\x74\x4c\x64\x6f\x74" -+"\x4d\x75\x4e\x61\x63\x75\x74\x65\x4e\x63\x61\x72\x6f\x6e\x4e\x63\x6f\x6d\x6d\x61\x61\x63\x63\x65\x6e\x74\x4e\x75\x4f\x62\x72\x65" -+"\x76\x65\x4f\x68\x75\x6e\x67\x61\x72\x75\x6d\x6c\x61\x75\x74\x4f\x6d\x61\x63\x72\x6f\x6e\x4f\x6d\x65\x67\x61\x74\x6f\x6e\x6f\x73" -+"\x4f\x6d\x69\x63\x72\x6f\x6e\x4f\x6d\x69\x63\x72\x6f\x6e\x74\x6f\x6e\x6f\x73\x4f\x73\x6c\x61\x73\x68\x61\x63\x75\x74\x65\x50\x68" -+"\x69\x50\x69\x50\x73\x69\x52\x61\x63\x75\x74\x65\x52\x63\x61\x72\x6f\x6e\x52\x63\x6f\x6d\x6d\x61\x61\x63\x63\x65\x6e\x74\x52\x68" -+"\x6f\x53\x61\x63\x75\x74\x65\x53\x63\x65\x64\x69\x6c\x6c\x61\x53\x63\x69\x72\x63\x75\x6d\x66\x6c\x65\x78\x53\x63\x6f\x6d\x6d\x61" -+"\x61\x63\x63\x65\x6e\x74\x53\x69\x67\x6d\x61\x54\x61\x75\x54\x62\x61\x72\x54\x63\x61\x72\x6f\x6e\x54\x63\x6f\x6d\x6d\x61\x61\x63" -+"\x63\x65\x6e\x74\x54\x68\x65\x74\x61\x55\x62\x72\x65\x76\x65\x55\x68\x75\x6e\x67\x61\x72\x75\x6d\x6c\x61\x75\x74\x55\x6d\x61\x63" -+"\x72\x6f\x6e\x55\x6f\x67\x6f\x6e\x65\x6b\x55\x70\x73\x69\x6c\x6f\x6e\x55\x70\x73\x69\x6c\x6f\x6e\x64\x69\x65\x72\x65\x73\x69\x73" -+"\x55\x70\x73\x69\x6c\x6f\x6e\x74\x6f\x6e\x6f\x73\x55\x72\x69\x6e\x67\x55\x74\x69\x6c\x64\x65\x57\x61\x63\x75\x74\x65\x57\x63\x69" -+"\x72\x63\x75\x6d\x66\x6c\x65\x78\x57\x64\x69\x65\x72\x65\x73\x69\x73\x57\x67\x72\x61\x76\x65\x58\x69\x59\x63\x69\x72\x63\x75\x6d" -+"\x66\x6c\x65\x78\x59\x67\x72\x61\x76\x65\x5a\x61\x63\x75\x74\x65\x5a\x64\x6f\x74\x61\x63\x63\x65\x6e\x74\x5a\x65\x74\x61\x61\x62" -+"\x72\x65\x76\x65\x61\x65\x61\x63\x75\x74\x65\x61\x66\x69\x69\x30\x30\x32\x30\x38\x61\x66\x69\x69\x31\x30\x30\x31\x37\x61\x66\x69" -+"\x69\x31\x30\x30\x31\x38\x61\x66\x69\x69\x31\x30\x30\x31\x39\x61\x66\x69\x69\x31\x30\x30\x32\x30\x61\x66\x69\x69\x31\x30\x30\x32" -+"\x31\x61\x66\x69\x69\x31\x30\x30\x32\x32\x61\x66\x69\x69\x31\x30\x30\x32\x33\x61\x66\x69\x69\x31\x30\x30\x32\x34\x61\x66\x69\x69" -+"\x31\x30\x30\x32\x35\x61\x66\x69\x69\x31\x30\x30\x32\x36\x61\x66\x69\x69\x31\x30\x30\x32\x37\x61\x66\x69\x69\x31\x30\x30\x32\x38" -+"\x61\x66\x69\x69\x31\x30\x30\x32\x39\x61\x66\x69\x69\x31\x30\x30\x33\x30\x61\x66\x69\x69\x31\x30\x30\x33\x31\x61\x66\x69\x69\x31" -+"\x30\x30\x33\x32\x61\x66\x69\x69\x31\x30\x30\x33\x33\x61\x66\x69\x69\x31\x30\x30\x33\x34\x61\x66\x69\x69\x31\x30\x30\x33\x35\x61" -+"\x66\x69\x69\x31\x30\x30\x33\x36\x61\x66\x69\x69\x31\x30\x30\x33\x37\x61\x66\x69\x69\x31\x30\x30\x33\x38\x61\x66\x69\x69\x31\x30" -+"\x30\x33\x39\x61\x66\x69\x69\x31\x30\x30\x34\x30\x61\x66\x69\x69\x31\x30\x30\x34\x31\x61\x66\x69\x69\x31\x30\x30\x34\x32\x61\x66" -+"\x69\x69\x31\x30\x30\x34\x33\x61\x66\x69\x69\x31\x30\x30\x34\x34\x61\x66\x69\x69\x31\x30\x30\x34\x35\x61\x66\x69\x69\x31\x30\x30" -+"\x34\x36\x61\x66\x69\x69\x31\x30\x30\x34\x37\x61\x66\x69\x69\x31\x30\x30\x34\x38\x61\x66\x69\x69\x31\x30\x30\x34\x39\x61\x66\x69" -+"\x69\x31\x30\x30\x35\x30\x61\x66\x69\x69\x31\x30\x30\x35\x31\x61\x66\x69\x69\x31\x30\x30\x35\x32\x61\x66\x69\x69\x31\x30\x30\x35" -+"\x33\x61\x66\x69\x69\x31\x30\x30\x35\x34\x61\x66\x69\x69\x31\x30\x30\x35\x35\x61\x66\x69\x69\x31\x30\x30\x35\x36\x61\x66\x69\x69" -+"\x31\x30\x30\x35\x37\x61\x66\x69\x69\x31\x30\x30\x35\x38\x61\x66\x69\x69\x31\x30\x30\x35\x39\x61\x66\x69\x69\x31\x30\x30\x36\x30" -+"\x61\x66\x69\x69\x31\x30\x30\x36\x31\x61\x66\x69\x69\x31\x30\x30\x36\x32\x61\x66\x69\x69\x31\x30\x30\x36\x35\x61\x66\x69\x69\x31" -+"\x30\x30\x36\x36\x61\x66\x69\x69\x31\x30\x30\x36\x37\x61\x66\x69\x69\x31\x30\x30\x36\x38\x61\x66\x69\x69\x31\x30\x30\x36\x39\x61" -+"\x66\x69\x69\x31\x30\x30\x37\x30\x61\x66\x69\x69\x31\x30\x30\x37\x31\x61\x66\x69\x69\x31\x30\x30\x37\x32\x61\x66\x69\x69\x31\x30" -+"\x30\x37\x33\x61\x66\x69\x69\x31\x30\x30\x37\x34\x61\x66\x69\x69\x31\x30\x30\x37\x35\x61\x66\x69\x69\x31\x30\x30\x37\x36\x61\x66" -+"\x69\x69\x31\x30\x30\x37\x37\x61\x66\x69\x69\x31\x30\x30\x37\x38\x61\x66\x69\x69\x31\x30\x30\x37\x39\x61\x66\x69\x69\x31\x30\x30" -+"\x38\x30\x61\x66\x69\x69\x31\x30\x30\x38\x31\x61\x66\x69\x69\x31\x30\x30\x38\x32\x61\x66\x69\x69\x31\x30\x30\x38\x33\x61\x66\x69" -+"\x69\x31\x30\x30\x38\x34\x61\x66\x69\x69\x31\x30\x30\x38\x35\x61\x66\x69\x69\x31\x30\x30\x38\x36\x61\x66\x69\x69\x31\x30\x30\x38" -+"\x37\x61\x66\x69\x69\x31\x30\x30\x38\x38\x61\x66\x69\x69\x31\x30\x30\x38\x39\x61\x66\x69\x69\x31\x30\x30\x39\x30\x61\x66\x69\x69" -+"\x31\x30\x30\x39\x31\x61\x66\x69\x69\x31\x30\x30\x39\x32\x61\x66\x69\x69\x31\x30\x30\x39\x33\x61\x66\x69\x69\x31\x30\x30\x39\x34" -+"\x61\x66\x69\x69\x31\x30\x30\x39\x35\x61\x66\x69\x69\x31\x30\x30\x39\x36\x61\x66\x69\x69\x31\x30\x30\x39\x37\x61\x66\x69\x69\x31" -+"\x30\x30\x39\x38\x61\x66\x69\x69\x31\x30\x30\x39\x39\x61\x66\x69\x69\x31\x30\x31\x30\x30\x61\x66\x69\x69\x31\x30\x31\x30\x31\x61" -+"\x66\x69\x69\x31\x30\x31\x30\x32\x61\x66\x69\x69\x31\x30\x31\x30\x33\x61\x66\x69\x69\x31\x30\x31\x30\x34\x61\x66\x69\x69\x31\x30" -+"\x31\x30\x35\x61\x66\x69\x69\x31\x30\x31\x30\x36\x61\x66\x69\x69\x31\x30\x31\x30\x37\x61\x66\x69\x69\x31\x30\x31\x30\x38\x61\x66" -+"\x69\x69\x31\x30\x31\x30\x39\x61\x66\x69\x69\x31\x30\x31\x31\x30\x61\x66\x69\x69\x31\x30\x31\x34\x35\x61\x66\x69\x69\x31\x30\x31" -+"\x39\x33\x61\x66\x69\x69\x31\x30\x38\x34\x36\x61\x66\x69\x69\x36\x31\x32\x34\x38\x61\x66\x69\x69\x36\x31\x32\x38\x39\x61\x66\x69" -+"\x69\x36\x31\x33\x35\x32\x61\x6c\x70\x68\x61\x61\x6c\x70\x68\x61\x74\x6f\x6e\x6f\x73\x61\x6d\x61\x63\x72\x6f\x6e\x61\x6e\x67\x6c" -+"\x65\x6c\x65\x66\x74\x61\x6e\x67\x6c\x65\x72\x69\x67\x68\x74\x61\x6f\x67\x6f\x6e\x65\x6b\x61\x70\x70\x72\x6f\x78\x65\x71\x75\x61" -+"\x6c\x61\x72\x69\x6e\x67\x61\x63\x75\x74\x65\x61\x72\x72\x6f\x77\x62\x6f\x74\x68\x61\x72\x72\x6f\x77\x64\x6f\x77\x6e\x61\x72\x72" -+"\x6f\x77\x6c\x65\x66\x74\x61\x72\x72\x6f\x77\x72\x69\x67\x68\x74\x61\x72\x72\x6f\x77\x75\x70\x61\x72\x72\x6f\x77\x75\x70\x64\x6e" -+"\x61\x72\x72\x6f\x77\x75\x70\x64\x6e\x62\x73\x65\x62\x65\x74\x61\x63\x61\x63\x75\x74\x65\x63\x63\x61\x72\x6f\x6e\x63\x63\x69\x72" -+"\x63\x75\x6d\x66\x6c\x65\x78\x63\x64\x6f\x74\x61\x63\x63\x65\x6e\x74\x63\x68\x69\x63\x69\x72\x63\x6c\x65\x6d\x75\x6c\x74\x69\x70" -+"\x6c\x79\x63\x6c\x75\x62\x64\x63\x61\x72\x6f\x6e\x64\x63\x72\x6f\x61\x74\x64\x65\x6c\x74\x61\x64\x69\x61\x6d\x6f\x6e\x64\x64\x69" -+"\x65\x72\x65\x73\x69\x73\x74\x6f\x6e\x6f\x73\x65\x62\x72\x65\x76\x65\x65\x63\x61\x72\x6f\x6e\x65\x64\x6f\x74\x61\x63\x63\x65\x6e" -+"\x74\x65\x6c\x65\x6d\x65\x6e\x74\x65\x6d\x61\x63\x72\x6f\x6e\x65\x6e\x67\x65\x6f\x67\x6f\x6e\x65\x6b\x65\x70\x73\x69\x6c\x6f\x6e" -+"\x65\x70\x73\x69\x6c\x6f\x6e\x74\x6f\x6e\x6f\x73\x65\x71\x75\x69\x76\x61\x6c\x65\x6e\x63\x65\x65\x73\x74\x69\x6d\x61\x74\x65\x64" -+"\x65\x74\x61\x65\x74\x61\x74\x6f\x6e\x6f\x73\x65\x78\x63\x6c\x61\x6d\x64\x62\x6c\x65\x78\x69\x73\x74\x65\x6e\x74\x69\x61\x6c\x66" -+"\x65\x6d\x61\x6c\x65\x66\x72\x61\x6e\x63\x67\x61\x6d\x6d\x61\x67\x62\x72\x65\x76\x65\x67\x63\x69\x72\x63\x75\x6d\x66\x6c\x65\x78" -+"\x67\x63\x6f\x6d\x6d\x61\x61\x63\x63\x65\x6e\x74\x67\x64\x6f\x74\x61\x63\x63\x65\x6e\x74\x67\x72\x65\x61\x74\x65\x72\x65\x71\x75" -+"\x61\x6c\x68\x62\x61\x72\x68\x63\x69\x72\x63\x75\x6d\x66\x6c\x65\x78\x68\x65\x61\x72\x74\x68\x6f\x75\x73\x65\x69\x62\x72\x65\x76" -+"\x65\x69\x6a\x69\x6d\x61\x63\x72\x6f\x6e\x69\x6e\x66\x69\x6e\x69\x74\x79\x69\x6e\x74\x65\x67\x72\x61\x6c\x69\x6e\x74\x65\x67\x72" -+"\x61\x6c\x62\x74\x69\x6e\x74\x65\x67\x72\x61\x6c\x74\x70\x69\x6e\x74\x65\x72\x73\x65\x63\x74\x69\x6f\x6e\x69\x6e\x76\x73\x6d\x69" -+"\x6c\x65\x66\x61\x63\x65\x69\x6f\x67\x6f\x6e\x65\x6b\x69\x6f\x74\x61\x69\x6f\x74\x61\x64\x69\x65\x72\x65\x73\x69\x73\x69\x6f\x74" -+"\x61\x64\x69\x65\x72\x65\x73\x69\x73\x74\x6f\x6e\x6f\x73\x69\x6f\x74\x61\x74\x6f\x6e\x6f\x73\x69\x74\x69\x6c\x64\x65\x6a\x63\x69" -+"\x72\x63\x75\x6d\x66\x6c\x65\x78\x6b\x61\x70\x70\x61\x6b\x63\x6f\x6d\x6d\x61\x61\x63\x63\x65\x6e\x74\x6b\x67\x72\x65\x65\x6e\x6c" -+"\x61\x6e\x64\x69\x63\x6c\x61\x63\x75\x74\x65\x6c\x61\x6d\x62\x64\x61\x6c\x63\x61\x72\x6f\x6e\x6c\x63\x6f\x6d\x6d\x61\x61\x63\x63" -+"\x65\x6e\x74\x6c\x64\x6f\x74\x6c\x65\x73\x73\x65\x71\x75\x61\x6c\x6c\x69\x72\x61\x6c\x6f\x6e\x67\x73\x6d\x61\x6c\x65\x6d\x69\x6e" -+"\x75\x74\x65\x6d\x75\x73\x69\x63\x61\x6c\x6e\x6f\x74\x65\x6d\x75\x73\x69\x63\x61\x6c\x6e\x6f\x74\x65\x64\x62\x6c\x6e\x61\x63\x75" -+"\x74\x65\x6e\x61\x70\x6f\x73\x74\x72\x6f\x70\x68\x65\x6e\x63\x61\x72\x6f\x6e\x6e\x63\x6f\x6d\x6d\x61\x61\x63\x63\x65\x6e\x74\x6e" -+"\x6f\x74\x65\x6c\x65\x6d\x65\x6e\x74\x6e\x6f\x74\x65\x71\x75\x61\x6c\x6e\x75\x6f\x62\x72\x65\x76\x65\x6f\x68\x75\x6e\x67\x61\x72" -+"\x75\x6d\x6c\x61\x75\x74\x6f\x6d\x61\x63\x72\x6f\x6e\x6f\x6d\x65\x67\x61\x6f\x6d\x65\x67\x61\x74\x6f\x6e\x6f\x73\x6f\x6d\x69\x63" -+"\x72\x6f\x6e\x6f\x6d\x69\x63\x72\x6f\x6e\x74\x6f\x6e\x6f\x73\x6f\x72\x74\x68\x6f\x67\x6f\x6e\x61\x6c\x6f\x73\x6c\x61\x73\x68\x61" -+"\x63\x75\x74\x65\x70\x61\x72\x74\x69\x61\x6c\x64\x69\x66\x66\x70\x65\x73\x65\x74\x61\x70\x68\x69\x70\x69\x70\x72\x6f\x64\x75\x63" -+"\x74\x70\x72\x6f\x70\x65\x72\x73\x75\x62\x73\x65\x74\x70\x72\x6f\x70\x65\x72\x73\x75\x70\x65\x72\x73\x65\x74\x70\x73\x69\x71\x75" -+"\x6f\x74\x65\x72\x65\x76\x65\x72\x73\x65\x64\x72\x61\x63\x75\x74\x65\x72\x61\x64\x69\x63\x61\x6c\x72\x63\x61\x72\x6f\x6e\x72\x63" -+"\x6f\x6d\x6d\x61\x61\x63\x63\x65\x6e\x74\x72\x65\x76\x6c\x6f\x67\x69\x63\x61\x6c\x6e\x6f\x74\x72\x68\x6f\x73\x61\x63\x75\x74\x65" -+"\x73\x63\x65\x64\x69\x6c\x6c\x61\x73\x63\x69\x72\x63\x75\x6d\x66\x6c\x65\x78\x73\x63\x6f\x6d\x6d\x61\x61\x63\x63\x65\x6e\x74\x73" -+"\x65\x63\x6f\x6e\x64\x73\x69\x67\x6d\x61\x73\x6d\x69\x6c\x65\x66\x61\x63\x65\x73\x70\x61\x64\x65\x73\x75\x6d\x6d\x61\x74\x69\x6f" -+"\x6e\x73\x75\x6e\x74\x61\x75\x74\x62\x61\x72\x74\x63\x61\x72\x6f\x6e\x74\x63\x6f\x6d\x6d\x61\x61\x63\x63\x65\x6e\x74\x74\x68\x65" -+"\x74\x61\x74\x6f\x6e\x6f\x73\x75\x62\x72\x65\x76\x65\x75\x68\x75\x6e\x67\x61\x72\x75\x6d\x6c\x61\x75\x74\x75\x6d\x61\x63\x72\x6f" -+"\x6e\x75\x6e\x64\x65\x72\x73\x63\x6f\x72\x65\x64\x62\x6c\x75\x6e\x69\x30\x30\x41\x30\x75\x6e\x69\x30\x30\x41\x44\x75\x6e\x69\x30" -+"\x32\x31\x41\x75\x6e\x69\x30\x32\x31\x42\x75\x6e\x69\x30\x32\x43\x39\x75\x6e\x69\x30\x33\x38\x37\x75\x6e\x69\x30\x33\x39\x34\x75" -+"\x6e\x69\x30\x33\x41\x39\x75\x6e\x69\x30\x33\x42\x43\x75\x6e\x69\x30\x33\x43\x32\x75\x6e\x69\x30\x34\x30\x30\x75\x6e\x69\x30\x34" -+"\x30\x44\x75\x6e\x69\x30\x34\x35\x30\x75\x6e\x69\x30\x34\x35\x44\x75\x6e\x69\x30\x34\x39\x32\x75\x6e\x69\x30\x34\x39\x33\x75\x6e" -+"\x69\x30\x34\x39\x36\x75\x6e\x69\x30\x34\x39\x37\x75\x6e\x69\x30\x34\x39\x38\x75\x6e\x69\x30\x34\x39\x39\x75\x6e\x69\x30\x34\x39" -+"\x41\x75\x6e\x69\x30\x34\x39\x42\x75\x6e\x69\x30\x34\x39\x43\x75\x6e\x69\x30\x34\x39\x44\x75\x6e\x69\x30\x34\x41\x30\x75\x6e\x69" -+"\x30\x34\x41\x31\x75\x6e\x69\x30\x34\x41\x32\x75\x6e\x69\x30\x34\x41\x33\x75\x6e\x69\x30\x34\x41\x41\x75\x6e\x69\x30\x34\x41\x42" -+"\x75\x6e\x69\x30\x34\x41\x45\x75\x6e\x69\x30\x34\x41\x46\x75\x6e\x69\x30\x34\x42\x30\x75\x6e\x69\x30\x34\x42\x31\x75\x6e\x69\x30" -+"\x34\x42\x32\x75\x6e\x69\x30\x34\x42\x33\x75\x6e\x69\x30\x34\x42\x36\x75\x6e\x69\x30\x34\x42\x37\x75\x6e\x69\x30\x34\x42\x38\x75" -+"\x6e\x69\x30\x34\x42\x39\x75\x6e\x69\x30\x34\x42\x41\x75\x6e\x69\x30\x34\x42\x42\x75\x6e\x69\x30\x34\x43\x30\x75\x6e\x69\x30\x34" -+"\x43\x42\x75\x6e\x69\x30\x34\x43\x43\x75\x6e\x69\x30\x34\x44\x38\x75\x6e\x69\x30\x34\x45\x32\x75\x6e\x69\x30\x34\x45\x33\x75\x6e" -+"\x69\x30\x34\x45\x38\x75\x6e\x69\x30\x34\x45\x39\x75\x6e\x69\x30\x34\x45\x45\x75\x6e\x69\x30\x34\x45\x46\x75\x6e\x69\x32\x30\x33" -+"\x45\x75\x6e\x69\x32\x30\x41\x46\x75\x6e\x69\x32\x31\x32\x36\x75\x6e\x69\x32\x32\x31\x35\x75\x6e\x69\x32\x32\x31\x39\x75\x6e\x69" -+"\x32\x32\x32\x37\x75\x6e\x69\x32\x32\x32\x38\x75\x6e\x69\x32\x32\x39\x35\x75\x6e\x69\x32\x35\x41\x31\x75\x6e\x69\x6f\x6e\x75\x6e" -+"\x69\x76\x65\x72\x73\x61\x6c\x75\x6f\x67\x6f\x6e\x65\x6b\x75\x70\x73\x69\x6c\x6f\x6e\x75\x70\x73\x69\x6c\x6f\x6e\x64\x69\x65\x72" -+"\x65\x73\x69\x73\x75\x70\x73\x69\x6c\x6f\x6e\x64\x69\x65\x72\x65\x73\x69\x73\x74\x6f\x6e\x6f\x73\x75\x70\x73\x69\x6c\x6f\x6e\x74" -+"\x6f\x6e\x6f\x73\x75\x72\x69\x6e\x67\x75\x74\x69\x6c\x64\x65\x77\x61\x63\x75\x74\x65\x77\x63\x69\x72\x63\x75\x6d\x66\x6c\x65\x78" -+"\x77\x64\x69\x65\x72\x65\x73\x69\x73\x77\x67\x72\x61\x76\x65\x78\x69\x79\x63\x69\x72\x63\x75\x6d\x66\x6c\x65\x78\x79\x67\x72\x61" -+"\x76\x65\x7a\x61\x63\x75\x74\x65\x7a\x64\x6f\x74\x61\x63\x63\x65\x6e\x74\x7a\x65\x74\x61\x31\x2e\x30\x30\x28\x55\x52\x57\x29\x2b" -+"\x2b\x2c\x43\x6f\x70\x79\x72\x69\x67\x68\x74\x20\x32\x30\x31\x34\x20\x62\x79\x20\x28\x55\x52\x57\x29\x2b\x2b\x20\x44\x65\x73\x69" -+"\x67\x6e\x20\x26\x20\x44\x65\x76\x65\x6c\x6f\x70\x6d\x65\x6e\x74\x43\x6f\x70\x79\x72\x69\x67\x68\x74\x20\x28\x55\x52\x57\x29\x2b" -+"\x2b\x2c\x43\x6f\x70\x79\x72\x69\x67\x68\x74\x20\x32\x30\x31\x34\x20\x62\x79\x20\x28\x55\x52\x57\x29\x2b\x2b\x20\x44\x65\x73\x69" -+"\x67\x6e\x20\x26\x20\x44\x65\x76\x65\x6c\x6f\x70\x6d\x65\x6e\x74\x4e\x69\x6d\x62\x75\x73\x20\x52\x6f\x6d\x61\x6e\x20\x42\x6f\x6c" -+"\x64\x20\x49\x74\x61\x6c\x69\x63\x4e\x69\x6d\x62\x75\x73\x20\x52\x6f\x6d\x61\x6e\x00\xd9\x02\x00\x01\x00\x06\x00\x0b\x00\x0f\x00" -+"\x16\x00\xa0\x00\xae\x01\x05\x01\x33\x01\x38\x01\x3e\x01\x51\x01\x5a\x01\x64\x01\x76\x01\x7c\x01\x84\x01\xe9\x02\x5f\x02\xcc\x03" -+"\x31\x03\x94\x03\xb6\x03\xd8\x03\xe3\x03\xe6\x03\xf1\x03\xfd\x04\x7d\x04\xf5\x05\x53\x05\x6d\x05\xa1\x05\xc4\x05\xe1\x06\x06\x06" -+"\x14\x06\x25\x06\x2a\x06\x38\x06\x4d\x06\x5b\x06\x70\x06\x78\x06\x80\x06\x86\x06\x8e\x06\xca\x06\xfd\x07\x38\x07\x47\x07\x4c\x07" -+"\x51\x07\x61\x07\x82\x07\x9d\x07\xb0\x07\xc2\x07\xc9\x07\xce\x07\xdf\x07\xe9\x08\x00\x08\x0d\x08\x1f\x08\x33\x08\x36\x08\x41\x08" -+"\x52\x08\x5c\x08\x61\x08\x6a\x08\x73\x08\x80\x08\x8a\x08\x92\x08\x9a\x08\xa2\x08\xad\x09\x66\x09\xe6\x0a\x6d\x0a\xf1\x0b\x12\x0b" -+"\x3b\x0b\xac\x0c\x0b\x0c\x6c\x0c\x76\x0c\xd1\x0c\xd4\x0d\x27\x0d\x7c\x0d\xd0\x0e\x06\x0e\x25\x0e\x31\x0e\x50\x0e\x96\x0e\xcd\x0f" -+"\x01\x0f\x07\x0f\x45\x0f\x6d\x0f\xac\x0f\xe9\x10\x13\x10\x4c\x10\x5f\x10\x89\x10\x9c\x10\xb5\x10\xc6\x10\xf1\x11\x1b\x11\x42\x11" -+"\x6a\x11\x85\x11\x9a\x11\xbe\x11\xcb\x11\xd8\x11\xfb\x12\x0e\x12\x30\x12\x52\x12\x74\x12\x8b\x12\xab\x12\xc8\x12\xe7\x12\xef\x12" -+"\xfc\x13\x17\x13\x28\x13\x45\x13\x60\x13\x68\x13\x7d\x13\x98\x13\xa8\x13\xb3\x13\xbe\x13\xd5\x13\xe0\x13\xf8\x14\x0a\x14\x23\x14" -+"\x3c\x14\x54\x14\x5c\x14\x6e\x14\x7b\x14\x8d\x14\xa3\x14\xb8\x14\xc0\x14\xd5\x14\xe8\x14\xec\x14\xf5\x15\x08\x15\x1b\x15\x2e\x15" -+"\x41\x15\x49\x15\x5b\x15\x6a\x15\x7c\x15\x8c\x15\x9c\x15\xab\x15\xbc\x15\xcb\x15\xdc\x15\xed\x15\xfc\x16\x06\x16\x10\x16\x20\x16" -+"\x30\x16\x40\x16\x50\x16\x60\x16\x6f\x16\x7e\x16\x8d\x16\x9c\x16\xab\x16\xb0\x16\xbe\x16\xcc\x16\xda\x16\xe8\x16\xf5\x17\x02\x17" -+"\x0f\x17\x1c\x17\x29\x17\x36\x17\x43\x17\x4e\x17\x59\x17\x65\x17\x71\x17\x7c\x17\x88\x17\x94\x17\xa0\x17\xa8\x17\xb0\x17\xbb\x17" -+"\xc6\x17\xd1\x17\xdc\x17\xe7\x17\xf2\x17\xfb\x06\x85\x75\x05\x0b\x06\x91\xa1\x05\x0b\x91\xa1\x05\x0b\x63\x1d\xf7\x17\xea\x05\x0e" -+"\xf8\xde\xf7\x56\x15\x72\x90\x68\x52\x76\x72\x64\x70\x19\x64\x53\x47\x78\x35\x1b\x60\x79\x95\xa3\x92\x8d\x96\x91\x9f\x1f\x8d\x8f" -+"\x8c\x92\x8d\x93\x8d\x91\x18\xc3\xf7\x65\x05\xf7\x06\x89\xa9\x78\x47\x1a\x7d\x8a\x7f\x88\x78\x1e\xa7\x86\xd5\xf7\xa5\x6f\x8f\x5c" -+"\x2d\x71\x7e\xfb\x18\x8c\x19\xc8\xf7\x73\x05\xae\x95\x97\x94\xb4\x1b\xd3\xc2\x7c\x70\xa6\x1f\xa2\x73\x92\x72\x4d\x1a\xa6\x86\xb6" -+"\xf7\x52\x05\xfc\xb0\x72\x06\xae\x85\xa0\x87\x92\x87\x08\x91\x87\x8f\x82\x80\x1a\x7d\x87\x73\x85\x75\x1e\xfb\x0f\xfc\x55\x7b\x56" -+"\x7f\x80\x57\x83\x19\x72\xf8\xbe\x07\x0b\x88\x1d\x66\xa9\x6e\xb0\xba\xb9\xb2\xe2\xc5\x90\x1d\x0b\xf8\x55\xf9\x41\x15\x42\x41\x71" -+"\x59\x47\x1f\xfb\x0d\x33\x35\xfb\x35\xfb\x1f\x1a\xfb\x23\xea\x2b\xf7\x21\xda\xd7\xa5\xbc\xce\x1e\xf7\x10\xe7\xdd\xf7\x33\xf7\x26" -+"\x1a\xf7\x19\x24\xed\xfb\x1f\x1e\x88\x69\x15\xc7\xb4\x5b\x44\xfb\x0d\x4d\xfb\x5c\x48\x29\x1f\x48\x5d\x5e\x6d\x55\x1b\x4c\x64\xba" -+"\xd5\xf1\xbe\xf7\x4c\xc2\xec\x1f\xe5\xbe\xc0\xb4\xcc\x1b\x0b\xf8\xe5\xa4\x15\xcd\x1d\x6b\x5a\x7c\x7e\x67\x83\x19\x72\xf7\x58\xa4" -+"\x07\x5d\x78\x96\xa3\x99\x90\x9a\x95\x9c\x1f\xc6\xf1\x05\xf7\x6b\x06\xde\x1d\xf7\xc4\x07\xfc\x44\xf7\x8c\xd0\x1d\x0b\x06\x90\xa1" -+"\x05\x0b\x15\x2b\x1d\x2d\x1d\x0e\x15\x68\x6e\x6d\x67\x69\xa9\x6d\xad\xaf\xa9\xa8\xae\xaf\x6d\xa9\x67\x1f\x0e\xf7\x2c\xe2\x05\xa9" -+"\x9c\x94\x96\x0b\x59\x1d\x51\x7e\x4b\x82\x3b\x97\x1d\x0b\x9e\x1a\xa5\x75\xa0\x71\x79\x7a\x7f\x65\x68\x1e\xfb\x0e\xfb\x17\x05\x0b" -+"\x4a\x1d\x97\x21\x1d\x0b\x7f\x5e\x79\x79\x68\x88\x19\x0b\xf8\x6b\xf7\x1b\xe1\x1d\x91\xa0\x9e\xc3\x1f\xaf\xf7\x01\x05\x9b\xba\x95" -+"\xb7\xa3\x1a\xbc\x71\xa5\x5c\x66\x67\x7c\x71\x70\x1e\x66\x68\x78\x73\x48\x28\xcb\xf7\x5a\x18\x4b\x7d\x3b\x6b\x1d\x97\x85\x78\x7f" -+"\x7d\x55\x6b\xfb\x04\x1f\x74\x39\x84\x71\x71\x2b\x08\xf7\x0d\x06\xba\xf7\x41\xb0\xe2\xc8\xdc\x08\xa6\x9f\xaa\xa1\x9d\x1b\x98\x97" -+"\x81\x80\x88\x89\x83\x88\x81\x1f\x54\xfb\x3a\x05\x7b\x5b\x7f\x52\xe7\x1d\x0b\x99\xf8\x2f\x15\x9d\x90\x8a\x87\x92\x1f\x9c\x82\x9b" -+"\x61\x9a\x44\x08\xac\xfb\x36\x9c\x2c\x6c\x1a\x74\x82\x73\x79\x72\x1e\x6f\x76\x70\x76\x7a\x1b\x84\x79\x92\x92\x82\x1f\x97\x7a\x72" -+"\x94\x79\x1b\x71\x73\x71\x6e\x69\xa6\x71\xae\xc2\xcc\xb2\xce\xc2\x1f\xf7\x16\xf7\x33\xf7\x0b\xf7\x81\xf0\x1a\xad\x6e\xa9\x6a\x6c" -+"\x71\x70\x6d\x72\x92\x7f\xa3\x79\x1e\x9e\x7d\x90\x83\x7e\x1a\x6c\x7a\x63\x45\xfb\x1a\x1e\x7f\xd6\x75\xf7\x0b\x71\xf7\x03\x79\xba" -+"\x19\x5a\x7f\x67\x85\x4b\x85\x08\x0b\x9b\xf8\x2b\x15\xa4\x94\x8a\x84\x93\x1f\x9f\x79\x99\x2e\x8e\xfb\x1e\x8d\x3d\x18\x87\x8b\x8a" -+"\x8a\x68\x1e\x8a\x5e\x05\xa6\x06\xc4\xe1\xc4\xeb\x94\x9a\xba\xe3\x19\xa2\xfb\xb1\x05\xa6\x06\xf7\x4d\xf7\x58\xe2\xf7\x19\xdf\x1a" -+"\xac\x6f\xa8\x6a\x6d\x71\x6f\x6b\x7c\x91\x7e\x9a\x76\x1e\x99\x79\x91\x7d\x81\x1a\x6d\x6c\x5c\x33\x23\x1e\x6b\xf7\xe0\x05\x70\x06" -+"\x37\xfb\x25\x7b\x6e\x53\x26\x88\xf7\x11\x84\xcb\x74\xe1\x5d\x82\x76\x87\x33\x7c\x08\x0b\xf9\x39\xf9\x41\x15\x6d\x06\x75\x7e\x81" -+"\x84\x7c\x1b\x83\x7c\x8e\x90\x7c\x1f\x99\x5e\x5e\x92\x62\x1b\xfb\x73\xfb\x4d\xfb\x5d\xfb\x87\xfb\x2f\xf7\x01\x23\xf7\x37\xd2\xcd" -+"\xa1\xb6\xc4\x1f\xa8\xa1\x9c\x9d\xab\xb7\x6d\xa1\x18\x59\x50\x6f\x74\x61\x79\x08\x7f\x6f\x6c\x85\x6c\x1b\x2d\x53\xcc\xf7\x01\xf7" -+"\x25\xd3\xf7\x42\xe6\xd7\x1f\xaa\xb0\xb2\x9a\xb4\x1b\xdc\xbd\x4f\x29\x7e\x8a\x83\x89\x7d\x1f\xab\x85\x05\x0b\x98\xf7\xbb\x15\xa7" -+"\x88\x9b\xb7\x9b\x9b\xaa\x8c\x19\xf7\x25\x06\xfb\xb8\xfb\xf6\xa4\x75\x96\x93\x05\x92\x95\x90\x8f\x8c\x1b\x92\x95\x90\x8d\x94\x1b" -+"\x9f\x9e\x82\x73\xae\x1f\x67\xc0\xb0\x7d\xb4\x1b\xc8\xba\xb2\xbf\xa7\x72\xa3\x6f\x70\x74\x73\x6f\x80\x8e\x82\x95\x80\x1f\x90\x84" -+"\x8d\x87\x87\x1a\x82\x82\x84\x7e\x79\x7f\x97\xae\x7a\x1e\x6b\xc8\x73\xa3\x58\xa0\xf7\xad\xf7\xe3\x18\x95\xfb\xcc\x07\x0b\x15\xf4" -+"\xb9\xce\xd8\xd4\x1a\xc0\x6c\xae\x5e\x66\x70\x6f\x65\x73\x94\x7d\xa6\x78\x1e\xa0\x7e\x91\x82\x7e\x1a\x6b\x68\x68\x44\x65\x1e\x0e" -+"\x69\xa9\x6d\xad\xaf\xa9\xa8\xae\xaf\x6d\xa9\x67\x1f\xf7\x68\x16\x68\x6e\x6d\x67\x69\xa9\x6d\xad\xaf\xa9\xa8\xae\xaf\x6d\xa9\x67" -+"\x1f\x0e\x15\xfb\x03\xf7\x27\x05\xa1\x7b\x76\x58\x1d\x2d\x1d\x0e\xec\xe4\xf7\x05\xbe\x70\xbd\x5e\xab\x1f\x0b\xfb\x17\xfc\x7f\x7f" -+"\x5e\x79\x79\x68\x88\x19\x0b\xf7\x03\xf9\x18\x15\xab\x86\x99\x89\x95\x88\x92\x87\x19\x91\x87\x8f\x82\x81\x1a\x7f\x86\x6c\x86\x79" -+"\x1e\xfb\x0f\xfc\x55\x7b\x57\x7c\x7d\x5a\x85\x19\x72\xf7\xbc\xa4\x07\x51\x8f\x7d\x93\xa9\x1a\x99\x90\xa4\x94\xab\x1e\xc2\xf7\x55" -+"\x05\xa8\x06\xf6\xfb\xdf\x05\xf7\x5e\xa4\x06\x52\x90\x82\x93\x75\xc6\x38\xf7\x8a\x18\xc2\x96\xa4\x95\xab\xa0\x08\xbe\xad\xa8\xbe" -+"\xc2\x1a\xec\x3e\xba\xfb\x33\x1e\xfb\xa8\x06\xf7\x72\x3f\x15\xaf\x94\x94\x93\xaa\x1b\xc4\xac\x69\x4e\x49\x6f\x4e\x5f\x70\x1f\x71" -+"\x7a\x64\x84\x4d\x8a\x08\x0b\xc8\xf7\xb7\x15\xc6\xa8\xa1\xa8\x9b\x1b\x94\x8f\x86\x82\x80\x89\x80\x80\x63\x1f\x68\xfb\x16\x85\x6e" -+"\x67\x1a\x46\xbc\x5c\xd3\xd8\xc9\xbb\xea\xb8\x1e\xab\xd0\xa0\xde\xc7\x1a\xce\x73\xb2\x62\x6b\x74\x70\x67\x79\x91\x7b\x97\x7c\x1e" -+"\x9e\x73\x8b\x8b\x8f\x83\x08\x94\x74\x90\x75\x76\x1a\x64\x79\x54\x6e\x5d\x1e\x5f\x71\x6b\x74\x6c\x1b\x6e\x76\xa4\xac\x98\x8f\xa1" -+"\x91\xa3\x1f\xba\xf7\x4a\x05\x90\xa2\x8e\x9d\x9b\x1a\xb0\x75\xa3\x68\x65\x5d\x71\x64\x6c\x1e\x79\x74\x80\x78\x79\x62\x08\x0b\xf7" -+"\xe1\xf8\x61\x15\x6e\x06\x78\x80\x88\x89\x7c\x1b\x81\x83\x8d\x92\x79\x1f\x95\x72\x7f\x8e\x76\x1b\x3a\x56\x5a\x3e\x55\x99\x6f\xcd" -+"\x3c\x1f\xb1\x5e\x9d\x69\x72\x1a\x6d\x72\x73\x6b\x74\x76\x96\x9f\x7b\x5d\x1d\x92\x96\x88\x86\x98\x1f\x83\xa3\x9d\x87\xa0\x1b\xe0" -+"\xca\xc4\xd6\xb8\x72\xbc\x53\xcc\x1f\x65\xb8\x79\xa9\xa2\x1a\xab\xa0\xa0\xab\xb9\xa6\x67\x38\x9a\x1e\xa6\x89\x05\x0b\xf7\xd2\x89" -+"\x1d\xfb\x37\xfb\x35\x32\xc9\x4d\xe6\xb7\xb6\x9b\xa8\xad\x1e\xa5\xa1\x9b\x9e\xae\xbd\x08\x0b\xf8\xbe\xf7\x56\x15\x70\x90\x3b\xfb" -+"\x10\x3e\x61\xfb\x24\x8d\x19\x45\x06\xf8\x46\xf8\xf1\x05\xa8\xfc\x68\x07\x52\xfb\x46\xa7\x87\xd4\xf5\xce\xb2\xf7\x04\x8d\x19\xd9" -+"\x06\xfc\x46\xfc\xf1\x05\x6e\xf8\x8e\x07\x0b\x15\xf7\x08\xbe\xd6\xe1\xdc\x1a\xc6\x69\xb2\x58\x62\x6d\x6c\x61\x70\x95\x7b\xa9\x77" -+"\x1e\xa2\x7c\x92\x81\x7d\x1a\x67\x64\x64\x3c\x61\x1e\x0e\xf8\x1c\x15\x99\xaa\x93\x9c\x8f\x92\x47\x1d\x85\x6c\x87\x50\x87\x50\x89" -+"\x69\x8a\x82\x8a\x7a\x8a\x87\x89\x73\x08\x0b\x08\xfb\x28\x6c\x78\x62\x63\x1b\x81\x83\x90\x91\x8d\x8d\x8e\x8d\x8f\x1f\x93\x97\x8f" -+"\x96\x96\x1a\xa3\x73\xa3\x71\x70\x73\x72\x6e\x5b\xb2\x6c\xc7\x0b\xb6\x1d\x79\x79\x69\x88\x19\x83\x20\x1d\xf7\xa5\x06\x0b\x15\xf3" -+"\xb9\xcf\xd8\xd4\x1a\xc0\x6c\x60\x1d\x68\x68\x44\x65\x1e\x0e\x49\x1d\xac\x61\x1d\x9d\xd2\x05\xee\xa4\xa9\xbd\xaf\x5e\x1d\x7f\x66" -+"\x1d\x0b\x08\xc8\xf7\x10\x90\x96\xad\x1a\xac\x73\xa2\x69\x75\x73\x80\x7a\x7f\x1e\x7f\x7c\x0b\x71\x85\x74\x05\x8c\x8f\x90\x8b\x8d" -+"\x1b\xa0\x99\x7c\x0b\x1b\xa9\x9c\x7e\x74\x72\x75\x7b\x69\x75\x7a\x8f\x98\x6f\x1f\x75\x6a\x05\x79\xb6\x0b\x97\xb8\x9d\x9d\xad\x8e" -+"\x19\x0b\x67\x1e\xfb\x0e\xfb\x17\x05\x0e\x91\xa1\x05\x6f\x06\x0b\x8b\x87\x89\x85\x1e\xfb\x17\x0b\xf7\x4f\x15\xf2\xf8\x17\x2e\x1d" -+"\xfb\xa3\x52\x1d\x8f\x99\xf7\xe8\xf8\x24\xfb\x01\xfc\x2d\x2f\x1d\x84\x20\x1d\xf7\xa5\x21\x1d\x6e\x06\x71\x8c\x7a\x9b\xa5\x1a\x8f" -+"\x8c\x92\x8d\x92\xf1\x1d\x9c\x9d\xae\x5f\x1d\x70\x1a\x86\x8a\x86\x89\x81\x1e\x0b\x7b\x57\x7d\x7e\x59\x84\x19\x72\xf7\xbc\xa4\x07" -+"\x4c\x90\x81\x91\xab\x1a\x9a\x8f\x9d\x94\xaa\x1e\x8d\x92\x8c\x90\x8c\x8f\xbd\xf7\x49\x18\xf7\x83\x06\x4b\xfb\x7c\x7d\x55\x77\x7d" -+"\x48\x87\x19\x72\xf7\xd1\x0b\x05\xf7\x0d\x06\xbe\xf7\x46\xa0\xbd\xbd\xd4\x08\xc7\xb5\xac\xa8\xa5\x1b\x97\x95\x81\x80\x85\x89\x83" -+"\x88\x82\x1f\x89\x83\x87\x80\x86\x7d\x87\x7e\x87\x80\x88\x82\x08\x5b\xfb\x20\x7e\x59\x62\x1a\x69\xa6\x73\xb2\xc8\xb3\xac\xf2\xcd" -+"\x1e\x0b\x7f\x1d\xf7\x82\x16\xf7\x2c\xe2\x05\xaa\x9d\x93\x95\x38\x1d\x06\x86\x53\x1d\x0b\x43\x1d\xc6\x1d\x0b\x8c\x96\x49\x1d\xab" -+"\x84\xb0\x1b\xd2\xc0\xb0\xbd\xb5\x65\xa9\x0b\x15\xf7\x74\x9e\x06\x5a\x81\x8f\xa1\x94\x8d\x98\x8f\x97\x1f\xef\xf7\xde\x4a\x7e\x61" -+"\x83\x45\x81\x19\x89\x76\x05\x8d\xa3\x9a\x8c\x0b\xa4\xfb\xbe\x72\x07\xab\x86\x99\x89\x95\x88\x92\x87\x19\x91\x87\x8f\x82\x81\x1a" -+"\x7f\x86\x6c\x86\x79\x1e\x0b\x15\x68\x6c\x6c\x69\x64\xa8\x6d\xb0\xb1\xaa\xa8\xb0\xb0\x6c\xaa\x65\x1f\x0e\x97\x78\x1b\x73\x76\x76" -+"\x73\x7b\x97\x7b\xa1\x7c\x1f\xf7\x19\x32\x05\x0e\xf7\x6c\xf7\x21\xb4\x1d\x0b\x5f\x9f\xb3\x69\x1d\x1b\x52\x5d\x5d\x43\x7e\x1f\xb3" -+"\x06\xab\x98\x98\x96\xa1\xaf\x1d\x0b\x08\x92\x87\x8f\x82\x7f\x1a\x7f\x87\x0b\x1e\x77\xa4\x83\xa2\x83\xc1\x70\x8e\x18\x75\xfb\x3a" -+"\x05\xa6\x06\x97\x8f\x97\x93\x98\x1b\x0b\x1b\x95\x92\x86\x83\x88\x8a\x89\x87\x85\x1f\x83\x0b\x8e\x19\x97\x21\x1d\xfb\xa3\x06\x86" -+"\x75\x05\xa0\x06\xa6\x8a\x9b\x7b\x0b\xae\x5d\x66\x70\x6f\x65\x73\x94\x7d\xa6\x78\x1e\xa0\x7e\x91\x82\x7e\x1a\x6b\x0b\xc5\x1d\x0e" -+"\x06\x38\x68\x84\x72\x66\x1f\x4a\x60\x69\x0b\x15\xbe\x06\x35\xf7\x42\x05\x3a\x06\xfb\x34\xfb\x42\x05\xc4\x06\x0b\x98\x80\x74\x82" -+"\x89\x7f\x85\x76\x1f\x0b\xdd\x1d\x71\x79\x0b\x88\x82\x81\x1a\x6f\xa0\x76\xa7\x0b\x83\x20\x1d\xf7\xa5\x06\x4c\x1d\x0b\x1e\x75\x99" -+"\x86\x89\x8a\x8a\x83\x87\x19\x81\x77\x0b\x75\xc9\x1b\xec\xcb\xc5\xf3\x9d\x1f\x0e\x7e\x1b\x84\x86\x91\x92\x8f\x0b\x80\x53\x89\x08" -+"\x70\x07\xb5\x0b\x61\x3c\x6d\x08\x68\xbe\x07\x0b\x74\x1b\x7f\x7b\x90\x96\x71\x1f\x9d\x62\x0b\x15\xfb\x03\x06\xa3\x69\x6d\x94\x5d" -+"\x1b\xfb\x0f\x28\x3a\x26\x58\xa5\x67\xc1\x74\x1f\x39\x5d\x7d\x7d\x66\x1a\x6b\x9d\x78\xb7\x7c\x1e\x4d\x7c\x77\x83\x73\x78\x08\x7b" -+"\x7d\x80\x73\x73\x1a\x4a\xd4\x62\xf7\x07\xf7\x21\xed\xc9\xe3\xc8\x63\xac\xfb\x01\xaa\x1e\x56\x9a\x05\x6b\x94\x78\x99\x9a\x1a\x9b" -+"\x9a\x9f\x98\x90\x92\x8a\x88\x93\x1e\x88\x96\x93\x8a\x97\x1b\xb7\xb8\x97\xa1\xb1\x1f\xc5\xac\xaa\xbe\xc8\x1a\x9a\x89\x95\x87\x9b" -+"\x1e\xce\x06\xfb\xff\xfc\x0f\x15\x97\x8a\xd7\x71\xa1\x81\x08\xa7\x7d\x98\x7a\x71\x1a\x5f\x5f\x72\x3f\x4a\x5d\xab\xb9\x9f\x94\x9b" -+"\xa0\x9f\x1e\x97\x97\xaa\x9d\x92\x8a\x08\xf7\x20\xf8\x49\x15\xa5\x9e\x73\x68\x69\x7f\x59\x7a\x67\x1f\x5d\x75\x72\x75\x6c\x1b\x70" -+"\x7c\xa0\xb1\xb3\x9c\xc8\xa0\xb1\x1f\xac\x9e\xa0\x9b\xa5\x1b\x0b\xf7\x4a\xf9\x2a\x15\x85\x75\x05\xa7\x06\xa5\x9c\x7a\x71\x85\x8a" -+"\x85\x8a\x85\x1f\x3a\x1d\x7c\x20\x1d\xf7\xd6\x06\xbb\xbe\x9a\xa4\xaf\x1f\xbd\xaf\xae\xcc\xc5\x1a\xb2\x77\xb4\x6c\xa6\x1e\x71\xa0" -+"\x76\x96\x59\x9a\xbd\x90\xa7\x94\xb2\xa4\x08\xc1\xae\xa7\xb8\xc1\x1a\xe3\x47\xbb\xfb\x12\x1e\xfb\x0b\xfb\xdf\x15\xb1\x9e\x88\x82" -+"\x9b\x1f\xaa\x7c\xa0\x64\x61\x1a\x60\x7c\x58\x74\x6b\x1e\x61\x6f\x61\x76\x57\x1b\x7d\x81\x8c\x8f\x78\x1f\xf7\x30\xf8\xe0\x15\xd2" -+"\xaa\x70\x4e\x47\x6a\x4c\x5b\x71\x1f\x7e\x72\x76\x87\x5f\x1b\x0e\xf8\xfb\xf7\x54\x15\x72\x90\x69\x53\x76\x72\x64\x70\x19\x64\x54" -+"\x48\x79\x36\x1b\x5f\x7a\x95\xa4\x91\x8e\x96\x90\x9e\x1f\x8d\x91\x8c\x90\x8f\x99\xc1\xf7\x63\x18\xf7\x06\x89\xa8\x78\x46\x1a\x7e" -+"\x8a\x80\x89\x78\x1e\xa6\x86\xd3\xf7\xa2\x6f\x8f\x5d\x2e\x72\x7e\xfb\x17\x8c\x19\xc6\xf7\x71\x05\xae\x95\x97\x94\xb3\x1b\xd3\xc1" -+"\x7c\x70\xa6\x1f\xa2\x74\x92\x72\x4d\x1a\xa6\x86\xb4\xf7\x50\x05\xfc\xaa\x73\x06\xbf\x83\x8b\x8b\x96\x85\x08\x91\x87\x8f\x82\x81" -+"\x1a\x7d\x87\x73\x85\x75\x1e\xfb\x0b\xfc\x51\x7b\x57\x7f\x80\x58\x83\x19\x72\xf8\xb8\x07\x0b\x1e\x8a\x82\x8a\x80\xa4\x86\xd4\xf7" -+"\xa5\x71\x8f\x67\x38\x63\x73\x28\x8c\x19\x82\x06\x81\x06\xcc\xf7\x7f\x05\xa6\x92\x95\x90\xb5\x1b\xf3\xc1\x65\x40\x8f\x1f\x8d\x63" -+"\xa3\x86\xb8\xf7\x52\x05\xfc\xe1\x74\x06\xcc\x87\x9b\x86\x78\x1a\x80\x83\x7a\x7f\x7b\x1e\xfc\x02\xfc\x6c\x63\x58\x7f\x7d\x85\x88" -+"\x19\x83\x86\x85\x89\x7b\x89\x08\x72\xf7\x57\xa4\x07\x5b\x8f\x7b\x93\xa1\x1a\x97\x90\x99\x95\x98\x1e\xf7\x06\xf7\x31\x05\xf7\x54" -+"\x06\x5d\xfb\x33\x7b\x55\x81\x82\x57\x83\x19\x64\xf7\xa1\x15\xf7\x91\xf7\xe1\x05\x97\x06\x2f\xfb\xe1\x05\x0b\xf8\x88\xf8\x50\x15" -+"\x77\x1d\xc4\xbf\xb8\xde\xb2\x1e\x77\x93\x05\x5e\x76\x79\x71\x7f\x1b\x87\x88\x8f\x90\x90\x8c\x91\x90\x9c\x1f\x0b\x8f\x1d\x91\xac" -+"\x8f\x9b\x1e\xc1\xf7\x5b\x05\x87\xae\x9e\xd2\x1d\xfb\xb3\x06\xf7\x70\x3f\x15\x92\xa3\x8b\x8b\x8f\x91\x08\x95\x94\x96\x8f\x9f\x1b" -+"\xbf\xaa\xbc\x1d\x0b\xf7\x7d\xf7\x6a\x15\x84\xf7\x1a\x81\xbc\x68\xc4\xfb\x19\x6d\x18\x84\x71\x05\x98\x06\xa7\x9c\x78\x66\x90\x1f" -+"\x92\x5b\x9c\xfb\x7a\x8c\x50\x08\x5f\x07\x8c\x87\x8b\x83\x81\x1a\x75\x78\x7e\x82\x81\x1b\x84\x82\x90\x9a\x77\x1f\x9e\x71\x7b\x92" -+"\x7a\x1b\x6e\x75\x72\x6a\x64\xaa\x6f\xb6\xc4\xbd\xb7\xf7\x2b\xf7\x05\x1f\xf7\x19\xf7\x46\xc9\xf7\x05\xca\x1a\xb4\x6b\xaf\x67\x6e" -+"\x74\x71\x6b\x74\x92\x80\xa5\x7c\x1e\x9f\x80\x93\x80\x7d\x1a\x66\x4e\x20\x46\x39\x1e\x0b\xf7\x29\xf7\x50\x15\xb2\xa6\x05\xfb\x3e" -+"\xab\xa8\x56\xc9\x1b\xbd\xae\xab\xe7\xbe\x1f\x75\x96\x05\x5b\x70\x7b\x7b\x78\x1b\x6f\x7f\xaf\xf7\x56\x65\x1f\xca\xc2\xcf\xc5\xa1" -+"\x98\xb8\x90\x19\xa4\xfb\x63\x72\x07\xb2\x89\x97\x86\x7b\x1a\x71\x65\x66\xfb\x12\x29\x1e\xf7\x0f\xf8\x5f\x3f\x7d\x57\x83\x3b\x83" -+"\x19\x70\x07\x8c\x93\x94\x8b\x8f\x1b\xa8\x64\x1d\xfb\x30\xfc\xcb\x05\xf7\x0e\x06\x0b\xf8\x04\xf7\x0e\x15\x71\x70\x87\x88\x80\x81" -+"\x08\x7b\x76\x6e\x81\x70\x1b\x51\x6c\xb2\xd5\x1f\xa1\x07\xcd\x8c\xb0\x94\xb9\xa4\x08\xce\xb0\xb5\xc3\xc2\x1a\xbf\x69\xa8\x50\xfb" -+"\x2a\xfb\x14\xfb\x23\xfb\x3c\x60\x96\x66\xa0\x72\x1e\x6e\xa4\xb9\x77\xb7\x1b\xcc\xc8\xb1\xd9\xc8\x1f\xfb\x6f\xf5\x15\xf7\x00\x9d" -+"\xc9\xf4\xb8\x1b\x9d\x98\x7b\x74\x64\x77\x54\x72\x6f\x1f\x70\x6c\x65\x79\x5d\x88\x08\x0b\x82\x1d\xb9\xab\xa5\xf1\xd9\x9a\x1d\x0b" -+"\x15\xfb\xb3\x71\x06\xb6\x87\x93\x89\x96\x85\x08\x91\x87\x91\x80\x82\x1a\x71\x87\x78\x70\x30\x1e\x74\x3f\x8b\x8b\x87\x85\x08\x7a" -+"\x7d\x62\x7e\x64\x1b\x21\x51\xcd\xf7\x0e\xf7\x29\xcf\xf7\x3b\xe6\xd8\x1f\xab\xb1\xb6\x9b\xb8\x1b\xba\xb2\x78\x6b\xa1\x1f\xa1\x6a" -+"\x92\x6e\x8d\x47\xa8\x87\x18\xbe\xf7\x71\x05\x6c\x06\x75\x80\x80\x83\x77\x1b\x82\x83\x8d\x92\x78\x1f\x9a\x0b\x7a\x1d\x0e\xf7\xfc" -+"\xf7\x64\x15\x84\xfb\x0b\x87\x5f\x77\x75\x64\x8a\x19\x84\x20\x1d\xf7\x93\x21\x1d\x7f\x06\x71\x7e\x9e\xb1\x1f\x95\x07\xa7\xf8\xd1" -+"\x05\x72\x06\xfc\x36\xfc\xc0\x61\x52\x71\x73\x77\x88\x19\x85\x75\x05\xf7\x42\x28\x1d\x7c\x06\x73\x7a\x99\xa0\x9a\x90\x98\x9b\xa0" -+"\x1f\xd6\xf1\x05\xf7\x3a\xb5\x15\xfb\x1c\x06\xf7\x26\xf7\x5c\x05\x0b\xf7\xef\xf7\x20\x15\x47\x5d\x6f\x75\x61\x1b\x61\x75\xa7\xc2" -+"\x9c\x8c\x96\x8f\x9e\x1f\xf2\x9f\xbd\xa1\xbb\xb8\x08\xad\xab\x9e\xb0\xad\x1a\xbe\x5f\xaf\x4f\xfb\x23\xfb\x21\xfb\x34\xfb\x37\x36" -+"\xcb\x4d\xe2\xd6\xc0\xb1\xee\xc6\x1e\xfb\x59\xe3\x15\xf7\x1d\xae\xb8\xd6\xbb\x1b\x9e\x94\x80\x74\x5f\x7a\x61\x6c\x6b\x1f\x70\x6f" -+"\x73\x7d\x52\x79\x08\x0b\xf7\xf8\x15\xac\xae\xa9\x9a\xab\x1b\xad\xa0\x75\x66\x72\x82\x72\x7b\x7e\x1f\x7c\x7d\x76\x7f\x55\x72\x42" -+"\x68\x89\x89\x74\x79\x08\x78\x7b\x81\x73\x6f\x1a\x44\xbf\x5c\xd8\xcb\xb7\xa4\xd3\xcc\x1e\x79\x9e\x05\x60\x62\x6a\x78\x65\x1b\x67" -+"\x74\xa7\xb6\xbb\xa4\xa6\xd9\xaf\x1f\xe9\xb7\xa7\xa9\xc3\x1a\xc8\x62\xb1\x4a\x52\x6a\x7a\x4a\x46\x1e\x0b\x97\xb8\x9d\x9d\xae\x8e" -+"\x19\x97\x28\x1d\xfb\xa2\x20\x1d\xa1\x06\xa5\x8a\x9c\x7b\x71\x1a\x86\x8a\x84\x89\x85\x1e\xfb\x24\xfc\xb2\x05\xfb\x68\x06\xf7\x22" -+"\xf8\xad\xae\x1d\x85\x8a\x85\x8a\x85\x1e\xfb\x25\xfc\xb2\x05\x0b\xf7\xb6\xa1\x15\x6f\x06\x71\x8c\x7a\x9b\xa4\x1a\x94\x8b\x8e\x8d" -+"\x92\x1e\xf7\x17\xf8\x7f\x2e\x1d\xfb\xa3\x06\x86\x43\x1d\x0e\x15\xf7\x2c\xe2\x05\xaa\x9d\x93\x95\x2d\x1d\x0b\xf7\xb6\xa1\x15\x6f" -+"\x06\x71\x8c\x7a\x9b\xa4\x1a\x94\x8b\x8e\x8d\x92\x1e\xf7\x17\xf8\x7f\x2e\x1d\xfb\xa2\x06\x85\x43\x1d\x0b\x15\xfb\x54\xfb\x2c\xfb" -+"\x30\xfb\x59\xfb\x55\xf7\x2c\xfb\x31\xf7\x4f\xf7\x5b\xf7\x2a\xf7\x2c\xf7\x5c\xf7\x58\xfb\x2c\xf7\x2f\xfb\x54\x1f\x5d\x04\xf7\x2f" -+"\xf7\x14\xfb\x1f\xfb\x3a\xfb\x3e\xfb\x13\xfb\x1c\xfb\x34\xfb\x2b\xfb\x14\xf7\x20\xf7\x39\xf7\x3c\xf7\x14\xf7\x1e\xf7\x2f\x1f\x0e" -+"\xfb\x0a\x06\x58\xfb\x56\x77\x53\x7f\x73\x71\x63\x19\x5d\x6d\x7e\x7f\x7a\x1b\x83\x86\x91\x96\x93\x8d\x95\x8d\x96\x1f\xe4\xf7\xe8" -+"\xfb\x49\xce\x1d\x83\x89\x82\x1f\x4e\xfb\x7b\x05\x86\x76\x87\x72\x7a\x1a\x66\xa7\x6f\xb0\x0b\xc4\x1d\x47\xfb\x82\x05\x7c\x57\x82" -+"\x60\x79\x1a\x64\xa7\x71\xb5\xc7\xb3\xac\xf2\xcd\x1e\x75\x99\x05\x56\x69\x71\x70\x7b\x1b\x83\x83\x92\x93\x9d\x9d\xd1\xaf\xf7\x10" -+"\x1f\x93\xaa\x92\xa3\x9d\xcb\x08\xde\x06\x0e\x86\x1d\xf7\xbc\x07\x0b\x6f\x1e\x7e\x20\x1d\xf7\x9d\x06\x91\xa1\x64\x8e\x7d\x9d\x69" -+"\xea\x19\x3c\xf7\x7e\xf7\x0a\xf7\x17\xe9\xf3\xaf\xa9\xab\x8e\x19\x22\x1d\xfb\x54\x20\x1d\x96\x06\xa1\x99\x7e\x74\x77\x85\x7f\x70" -+"\x6d\x1f\xfb\x08\xfb\x16\x5d\xf7\x1e\x05\x82\xa5\x89\x94\x0b\xa4\x15\x52\x8e\x7c\x94\xa7\x1a\x9b\x8f\xa0\x99\xbd\x1e\xf7\x06\xf8" -+"\x38\x9b\xc0\x9a\x98\xbe\x91\x19\x56\x1d\xfb\x0f\xfc\x55\x7b\x57\x7c\x7d\x5a\x85\x19\x72\x0b\xf7\x77\x15\x78\x76\x82\x81\x7a\x79" -+"\x08\x44\x42\x6d\x63\x76\x1a\x84\x91\x86\x92\x94\x98\x94\x9d\x9e\x1e\x98\x97\x95\x93\xa3\x9d\xf7\x3e\xf7\x10\x18\x94\x07\x30\xe7" -+"\x5e\xb9\x6b\xb0\x08\x93\x84\x88\x8d\x86\x1b\x82\x85\x84\x83\x7c\x94\x71\xa3\x5a\x1f\x0b\xf8\x46\xf7\x13\x15\x53\x62\x7c\x7d\x7b" -+"\x1b\x84\x86\x91\x94\xa4\x95\xb5\xa3\xdc\x1f\xd2\xf7\x80\xfb\x03\x84\x79\x50\x05\xbe\x82\x75\xa0\x60\x1b\xfb\x0f\xfb\x2a\xfb\x54" -+"\xfb\x30\x3f\xb6\x58\xcc\xc8\xb8\xaf\xeb\xc5\x1f\x7f\x62\x89\x7f\x7d\x1a\x0b\xf7\x21\x15\x48\x5b\x6c\x74\x60\x1b\x5f\x6e\xaf\xc0" -+"\xca\xa5\xe5\xaf\xcc\x1f\xba\xa6\xa7\xa3\xaa\x1b\x97\x95\x84\x81\x87\x89\x85\x85\x82\x1f\x82\x7c\x87\x7f\xbf\x1d\x0b\xf7\x29\x15" -+"\x5e\x06\xd9\xf7\x99\x05\x5d\x06\xfb\xaa\xfb\x93\x7b\x48\x05\xf7\x33\x06\x70\x33\x05\xe1\x06\xa7\xe3\x05\xb7\x06\xfb\x8a\xc8\x15" -+"\xf7\x4c\xf7\x3e\x57\xfb\x3e\x05\xd3\xf8\xaa\x15\x51\x06\xfc\x47\xfd\x4d\x05\xc5\x06\x0b\x15\x6b\x7c\x7e\x81\x6d\x1d\x6c\x93\x72" -+"\x5b\x1d\x81\xa5\x97\x88\xf7\x01\x1d\xfb\x4a\xce\x1d\x81\x89\x84\x1f\x75\x39\x05\x85\x73\x88\x7b\x7b\x1a\x61\xa4\x70\xb3\xc0\xb1" -+"\xa7\xec\xd8\x1e\x5e\xfb\x3f\x05\x86\x7a\x89\x7b\x7e\x1a\x68\xa6\x72\xb2\x0b\xf7\x23\xf8\xad\x98\x1d\xfc\x80\x7f\x5e\x7a\x7a\x68" -+"\x88\x19\x83\x20\x1d\x0b\x15\x6c\x7c\x7e\x80\x74\x1b\x80\x7a\x90\x96\x71\x1f\x9d\x62\x6b\x93\x73\x5b\x1d\x80\xa6\x96\x89\x0b\xf9" -+"\x18\x15\x9f\x1d\xf7\xba\xa4\x07\x53\x8e\x7b\x94\xa6\x1a\x95\x0b\x1e\xfb\x51\xf7\xc8\x15\xa1\x8a\x9a\x78\x70\x1a\x4f\x69\xfb\x03" -+"\x65\x46\x1e\x5a\x70\x6d\x71\x70\x1b\x71\x78\xa2\xaa\xbf\xac\xef\xb4\xd5\x1f\xa9\xc0\xac\xaa\xa6\x89\x08\x0b\x05\xa3\x73\x78\x94" -+"\x6e\x1b\xfb\x0e\xfb\x2a\xfb\x55\xfb\x31\x42\xb8\x57\xc8\xcb\xb8\xaf\xea\xc4\x1f\x82\x64\x89\x7e\x7b\x1a\x65\xa1\x74\xb1\xbc\xb8" -+"\xb1\xe3\xc2\x1e\x0b\x15\x68\x6e\x6d\x67\x69\xa9\x6d\xad\xaf\xa9\xa8\xae\xaf\x6d\xa9\x67\x1f\xf7\x68\x16\x68\x6e\x6e\x66\x69\xa9" -+"\x6d\xad\xaf\xa9\xa8\xae\xaf\x6d\xa9\x67\x1f\x0e\x15\xa1\x8a\x9a\x77\x6f\x1a\x5e\x60\xfb\x14\x68\x4a\x1e\x5a\x6f\x6f\x72\x6d\x1b" -+"\x72\x79\xa7\xae\x8d\x1f\x8e\xc1\xaa\xe7\xaf\xcc\xab\xc4\xaf\xab\xa9\x89\x08\x0b\x06\xeb\x1d\x84\x8a\x86\x8a\x85\x1e\xfb\x17\xfc" -+"\x7f\x7f\x5e\x79\x79\x69\x88\x19\x83\x20\x1d\xf7\xa5\x06\x0b\xa2\x1d\x85\x20\x1d\xf8\x71\x06\xc9\xf7\x3a\x05\x79\x06\x37\x38\x2f" -+"\x5c\x3c\x1b\x0b\x15\x7b\x06\x73\x66\x7d\x84\x57\x8a\x08\x32\x06\xf7\x11\xf0\x05\xce\xc1\xa4\xb1\xbb\x1a\xc3\x5c\xb6\x4e\x4d\x5d" -+"\x6c\x48\x67\x1e\x9d\x80\x05\x0b\xb2\x1d\x65\xa7\x72\xb4\xc7\xb0\xa9\xf5\xd1\x1e\x0b\x97\xb8\x9d\x9d\xad\x5f\x1d\x71\x1a\x83\x4d" -+"\x1d\x0b\x45\x79\x68\x4e\x1f\xfb\x18\x3e\x34\xfb\x2b\xfb\x2d\x1a\xfb\x34\xf7\x0c\xfb\x01\xf7\x44\xd9\xee\x9e\xa6\xc4\x1e\xa7\x98" -+"\xbb\xf7\x49\x9e\x0b\x1e\x86\x7b\x88\x7f\x88\x83\x08\x85\x77\x88\x7a\x7f\x1a\x72\xa2\x79\xa9\x0b\x15\xfc\xa0\x07\x3a\xf7\x66\x56" -+"\x74\xf7\x13\xfb\xb2\x05\xd8\x06\xf7\x14\xf7\xb2\x56\xa2\x3a\xfb\x66\x05\xf8\xa0\x07\xdc\xfb\x66\xc0\x0b\xf7\x52\xf7\x9c\xad\xb9" -+"\x9d\x99\xb2\x93\x19\xa4\xfb\x64\x72\x07\xc0\x8a\x99\x81\x68\x1a\x7a\x85\x7e\x77\x6e\x1e\xfb\x15\xfb\x4c\x78\x0b\xbd\xb0\xe8\xc3" -+"\x1f\x93\x5d\x93\x77\x9c\x76\x08\x6f\xa1\xb3\x7b\xbb\x1b\xdf\xce\xba\xe3\xb6\x1f\x6f\x9c\x05\x50\x69\x61\x6d\x5b\x1b\x0b\x07\x69" -+"\x5d\x82\x79\x6f\x1a\x5c\xb8\x69\xc8\xbe\xba\xa8\xb9\xa4\x68\x1d\x81\x88\x7b\x1b\x0b\xae\x86\xa0\x86\x92\x87\x08\x91\x87\x8f\x82" -+"\x81\x1a\x7c\x87\x73\x85\x75\x1e\xfb\x0f\xfc\x55\x7b\x56\x7f\x80\x57\x83\x19\x72\x0b\x7e\x5e\x79\x79\x68\x88\x19\x81\x20\x1d\xf7" -+"\xac\x06\x92\xa1\x05\x6b\x06\x71\x7a\x9c\xa3\x90\x8c\x93\x8d\x92\x1f\x0b\xf7\xb0\xf8\x62\x15\xfb\x28\xfb\x1f\xfb\x33\xfb\x3c\x36" -+"\xce\x4c\xe7\xf7\x29\xf7\x1c\xf7\x2f\xf7\x3d\xe3\x4a\xca\x2f\x1f\x0b\x8a\x86\x8a\x85\x1e\x3a\x1d\x0b\x06\xbf\xa8\x74\x61\x84\x8b" -+"\x89\x88\x73\xc2\x1d\x0b\xfb\x38\x05\xa2\x06\xb5\xd7\xca\xb5\xda\x8f\xfb\x22\xfc\xa8\x18\x7f\x5e\x79\x79\x68\x88\x08\x62\x20\x1d" -+"\x0b\xd9\x1d\xf7\x20\xf8\x8e\xe9\x8a\xb2\x60\x90\xfb\x03\x19\xa6\x89\x0b\x6c\x63\x63\x79\x88\x8d\xa7\x76\x1e\x9e\x7e\x7d\x94\x7b" -+"\x1b\x75\x7c\x7a\x73\x6b\xab\x79\xc1\xf4\xe1\xd2\xe2\xb2\x0b\x7c\x4f\x71\x6b\x66\x86\x19\x85\x75\x05\xf7\x44\x21\x1d\x60\x8f\x73" -+"\xa0\xab\x1a\x94\x8d\x97\x8f\x99\x1e\x0b\x15\x65\x1d\x7b\x80\x64\x4b\x1d\x15\xf7\x2c\xe2\x05\xaa\x9d\x93\x95\x9e\x1a\xa5\x75\xa0" -+"\x71\x79\x7b\x80\x64\x4b\x1d\x15\xfb\x03\xf7\x27\x05\xa1\x7a\x77\x97\x78\x1b\x73\x76\x76\x73\x7b\x97\x7a\xa1\x7d\x1f\xf7\x19\x32" -+"\x05\x0e\x9b\xc2\x9f\x9a\xcc\x8d\x19\xa4\xfb\xd1\x72\x07\xae\x85\xa0\x0b\xf7\x2c\xe2\x05\xa9\x9d\x94\x95\x2d\x1d\x0e\xc1\x1d\x86" -+"\x89\x1a\x26\xb7\x5b\xe9\xeb\x0b\x98\xb8\x9c\x9d\xae\x8e\x19\x97\x21\x1d\xfb\xa3\x20\x1d\xa1\x06\xa6\x8a\x9b\x7b\x71\x1a\x0b\x1b" -+"\x96\x99\x88\x86\x98\x1f\xc6\x74\x05\x0b\x06\xe7\x8e\xca\x5e\x91\x40\x08\x9d\x06\xb4\xf7\x2e\x05\xfc\x6f\x20\x1d\xa4\x06\xa5\x8a" -+"\x9c\x0b\x72\x1b\x52\x5e\x5d\x43\x7e\x1f\xb3\x06\xab\x98\x97\x96\xa2\xaf\x1d\x0b\x85\x19\x70\x07\xb7\x9a\x84\x75\x83\x88\x7c\x87" -+"\x7a\x1f\x51\xfb\x6b\x05\x83\x6e\x86\x71\x7d\x1a\x0b\x6f\x6e\x67\x58\xc2\x6d\xe7\xf6\xd2\xb3\xc7\xa8\x79\x9c\x6d\x6b\x71\x76\x70" -+"\x89\x8b\x88\x8c\x86\x0b\x15\x7d\x77\x05\x64\x71\x74\x76\x7c\x1b\x83\x84\x92\x93\x94\x90\xa5\x8f\x9c\x1f\xe6\xf7\xe2\x0b\xc6\x1d" -+"\xf7\x24\xf8\xb1\x05\x0b\x75\x05\xa0\x06\xa6\x8a\x9b\x7b\x71\x1a\x83\x4d\x1d\xfc\x7f\x7f\x5e\x0b\x6e\x1a\x62\xa0\x78\xb7\xc7\xbc" -+"\xb3\xe4\xbf\x1e\x0b\x1a\xb0\x9e\x9c\xb2\x1e\x9d\x21\x1d\xfb\xb6\x20\x1d\x98\x06\xb2\x9c\x0b\x68\x1e\xe1\xb2\x15\x62\xb0\x80\x9d" -+"\xa5\x1a\xa9\x9f\xa0\xa7\xa7\x9c\x77\x6a\x6c\x7f\x0b\x88\x08\x76\xf7\x46\xa0\x07\x6c\x8e\x88\x8c\x83\x8f\x08\x85\x8f\x89\x92\xac" -+"\x1a\x0b\xd6\x1d\xc2\xd0\xb0\x79\xb0\x0b\x6a\x51\x67\x82\x5e\x7d\x6c\x1f\x50\x71\x67\x74\x44\x1b\x7e\x7f\x8c\x8c\x7a\x1f\x0b\x15" -+"\x68\x6e\x6e\x66\x69\xa9\x6d\xad\xaf\xa9\xa8\xae\xaf\x6d\xa9\x67\x1f\x0e\x16\xc7\x1d\x0e\x7f\x1a\x6d\xa3\x75\xad\xe3\x1d\x0b\x15" -+"\x70\x74\x74\x71\x6f\xa2\x74\xa6\xa6\xa2\xa2\xa6\xa6\x74\xa2\x70\x1f\x0b\x15\x49\x6c\x68\x73\x4a\x1b\x4b\x6a\xa8\xc8\x86\x1f\x60" -+"\x06\x8a\x85\x8b\x0b\x1f\xa0\x06\xc8\xf7\x7a\x05\x76\x06\x6f\x4b\x58\x6a\x44\x8c\x08\x61\x06\x0b\x79\x53\x7d\x81\x46\x86\x19\x72" -+"\xf7\xd6\xa4\x07\x4a\x8e\x7f\x92\xb0\x1a\x0b\xf0\x1d\x55\x3b\x59\x6c\x1d\x0b\x84\xaf\x1b\xd2\xc0\xb0\xbd\xb5\x65\xa9\x57\x81\x85" -+"\x8a\x89\x81\x1f\x0b\x4c\x1d\x71\x8c\x7a\x9b\xa4\x1a\x94\x8b\x8e\x8d\x92\x1e\x0b\x68\x6f\x6e\x67\x69\xa9\x6d\xad\xae\xa9\xa8\xad" -+"\xaf\x6d\xa9\x67\x1f\x0b\x85\x1f\x60\x80\x06\x26\xb7\x5b\xe8\xea\xcb\xc5\xf1\x9c\x1e\x0e\xf7\xa3\xf7\xae\x15\xfb\x89\x06\x73\xfb" -+"\x08\x05\xf7\x8a\x06\x0e\x21\x1d\x68\x06\x71\x7a\x9c\xa4\x92\x8c\x90\x8c\x92\x1f\x0b\x08\x63\x9b\xa5\x77\xad\x1b\xb8\xa7\xa6\xec" -+"\xc1\x1f\x78\x98\x05\x0b\xad\x8e\x08\x97\x21\x1d\xfb\xee\xfc\xef\x15\x42\x96\x67\x0b\x49\x90\x86\x90\x7e\xd7\x2b\xf8\xd0\x18\x72" -+"\x06\xfc\x08\xfc\xe0\x0b\x71\x85\x74\x05\x8c\x8f\x8f\x8b\x8e\x1b\x9f\x99\x7c\x75\x84\x8a\x0b\xf7\xd8\xf9\x3f\x15\x51\x06\xfc\x47" -+"\xfd\x4d\x05\xc5\x06\x0e\x15\xf7\x28\xf7\x87\xb0\xfb\x87\x05\x0b\x1f\xc5\xf7\x46\x05\x9f\xc9\x95\xb4\x0b\x8a\xa6\x1b\xf7\x3a\xf6" -+"\xd8\xf7\x0c\xf0\x41\xc1\xfb\x1f\x1f\x0b\x1b\x53\x65\xbe\xd7\xf7\x02\xbb\xf7\x42\xc3\xe9\x1f\xca\xb0\x0b\x1e\x90\x7f\x8c\x86\x83" -+"\x1a\x71\x7e\x7a\x70\x82\x1e\x96\x73\x0b\xa4\x15\x54\x8d\x79\x95\xa8\x1a\x9a\x8f\x9f\x9a\xbf\x1e\x8d\x0b\xf7\x76\x15\x41\x6e\x6a" -+"\x68\x58\x1a\x52\xbe\x62\xd3\xdb\xc9\x0b\x15\xfb\x03\xf7\x26\x05\xa0\x7b\x76\x97\x78\x1b\x74\x76\x0b\x98\xd2\xa0\xcb\x1f\xd8\xa6" -+"\xa3\xaa\xaf\x1b\xb0\x9d\x6d\x0b\xa4\x06\x44\x8e\x7f\x91\xab\x1a\x9a\x8f\xa0\x92\xa5\x1e\x0b\x6f\x06\x70\x8c\x7a\x9b\xa4\x1a\x90" -+"\x8c\x92\x8d\x92\x1e\x0b\x74\x6e\x1b\x6f\x78\xa7\xb3\xb9\xa8\xf7\x12\xa8\xd7\x1f\x0b\x08\x83\x20\x1d\x0b\xf7\x2c\xe2\x05\xa9\x9c" -+"\x94\x96\x9e\x1a\xa5\x75\xa0\x0b\x95\x41\x90\x62\x81\x1a\x62\x7c\x80\x4b\x85\x1e\x72\x0b\x9a\x93\xc2\x8c\x1e\xa4\xfb\xaf\x72\x07" -+"\xbe\x84\x8e\x0b\xf7\x21\x15\x50\x63\x77\x76\x79\x1b\x83\x84\x92\x93\x0b\x15\x4d\x63\x7e\x7d\x7a\x1b\x83\x85\x92\x95\x95\x0b\xf9" -+"\x0d\xf9\x90\x15\x5a\x06\x56\x2f\x05\x95\x6b\x0b\xb0\xa4\xa7\xb5\xc1\x5e\xaf\x48\xfb\x21\xfb\x24\x0b\xd1\x80\x8e\x89\x6e\x1a\x81" -+"\x88\x7b\x82\x6a\x1e\x0b\x63\x1b\x7e\x86\x92\x9d\x97\x8b\x8c\x92\xa1\x1f\x0b\xfb\x14\xf7\xb2\x05\x3e\x06\xfb\x13\xfb\xb2\xc0\x0b" -+"\x71\x1a\x65\xa4\x75\xb6\xc7\xb4\xad\xec\xc5\x1e\x0b\x18\xf7\x15\x06\x94\xae\x05\xfb\x15\x06\x0e\x7a\x7f\x66\x69\x1e\xfb\x0c\xfb" -+"\x16\x05\x0e\x06\x36\xfb\x66\x05\xd9\x06\xe0\xf7\x66\x05\x0b\x86\x75\x05\xa0\x06\xa6\x8a\x9b\x7b\x71\x1a\x0b\x22\x1d\x6e\x06\x71" -+"\x8c\x7a\x9b\xa4\x1a\x0b\x15\x53\x06\xfb\x1b\x2a\x30\xec\x05\x59\x06\x0b\x1b\x80\x7f\x92\x90\x8e\x8c\x8c\x8f\x91\x1f\x0b\xda\x69" -+"\x1e\x7d\xad\xa6\x87\xd0\x1b\xf7\xac\x0b\x06\xb2\xf7\x25\x05\x68\x06\x0b\x1e\xf7\x17\xf8\x7f\x97\xb8\x0b\x89\x83\x1f\x28\xfb\xf5" -+"\x05\xf7\x0a\x06\x0b\x1b\x53\x65\xbe\xd6\xf7\x02\xbb\xf7\x41\x0b\x9d\x75\x67\x47\x6d\xfb\x15\x6a\x44\x1f\x0b\x69\x71\x70\x69\x68" -+"\xa6\x6e\xad\xac\xa5\x0b\x6b\x77\x77\x83\x7e\x80\x1e\x81\x7f\x87\x0b\x71\x84\x74\x05\x96\x06\x9f\x99\x7c\x76\x0b\x9d\x1b\xc8\xae" -+"\xae\xdf\xa1\x1f\x0e\x01\x00\x01\xe3\x01\x05\x00\x01\x0a\x02\x01\x40\x03\x01\x87\xff\x02\x87\xa0\x02\x8e\x02\x00\x01\x00\x04\x00" -+"\x07\x00\x4b\x00\x72\x00\xb2\x01\x48\x02\x0e\x02\xb3\x02\xbb\x02\xf4\x03\x2e\x04\x1e\x04\x38\x04\x3f\x04\x43\x04\x5b\x04\x6f\x04" -+"\xc9\x05\x06\x05\x4f\x05\xb6\x05\xe8\x06\x36\x06\x94\x06\xb6\x07\x22\x07\x8b\x07\x9a\x07\xab\x07\xc8\x07\xde\x07\xf9\x08\x44\x08" -+"\xf6\x08\xfa\x09\x8a\x09\x8e\x09\x92\x09\x96\x09\xe6\x09\xea\x0a\x20\x0a\x25\x0a\x30\x0a\x34\x0a\x38\x0a\xb0\x0a\xb4\x0a\xb8\x0a" -+"\xbe\x0b\x75\x0b\x79\x0b\x7d\x0b\x81\x0b\x85\x0b\xd4\x0b\xd9\x0c\x71\x0c\x75\x0c\x79\x0c\xa5\x0c\xb8\x0c\xe3\x0d\x01\x0d\x0c\x0d" -+"\x13\x0d\x16\x0d\x7b\x0d\x80\x0d\x83\x0d\x88\x0d\xd0\x0d\xd3\x0d\xdf\x0d\xe8\x0e\x17\x0e\x1a\x0e\x1f\x0e\xd6\x0e\xda\x0e\xdd\x0f" -+"\x60\x0f\xda\x0f\xdf\x0f\xe4\x0f\xee\x0f\xf2\x10\x4a\x10\x4e\x10\xd9\x10\xde\x10\xe3\x11\x47\x11\x53\x11\xb7\x11\xf1\x12\x36\x12" -+"\xa7\x13\x4d\x13\x51\x13\xda\x14\x58\x15\x0d\x15\x71\x15\x78\x15\xa2\x15\xe6\x15\xed\x15\xf4\x16\x9c\x17\x46\x17\x55\x17\xf5\x18" -+"\xf6\x18\xfe\x19\x73\x19\x8c\x19\x93\x19\xc3\x19\xd2\x1a\x16\x1a\x2a\x1b\x21\x1b\x6f\x1b\x77\x1b\x7f\x1b\x87\x1b\x8f\x1b\x97\x1b" -+"\xb0\x1b\xb8\x1b\xc0\x1b\xc8\x1b\xe0\x1b\xf0\x1c\x12\x1c\x1a\x1c\x1e\x1c\x3f\x1c\xad\x1c\xe4\x1d\x03\x1d\xd3\x1e\x16\x1e\x98\x1e" -+"\x9d\x1e\xab\x1e\xae\x1f\x55\x1f\xfe\x20\x22\x20\x32\x20\xae\x21\x31\x21\x34\x21\x80\x21\xa5\x21\xdf\x22\x00\x22\x1e\x22\x31\x22" -+"\x5d\x22\xe4\x23\x0c\x23\x30\x23\xa5\x23\xb1\x24\x1a\x24\x46\x24\x6c\x24\xb8\x24\xc0\x24\xd1\x24\xd9\x24\xeb\x24\xf3\x24\xfc\x25" -+"\x2e\x25\x37\x25\x3f\x25\x4d\x25\x55\x25\x5e\x25\x67\x25\x70\x25\x79\x25\x81\x25\x88\x25\x90\x25\x98\x25\xb8\x25\xce\x25\xd7\x25" -+"\xe0\x25\xf0\x25\xf9\x26\x0a\x26\x13\x26\x21\x26\x30\x26\x36\x26\x50\x26\x57\x26\x67\x26\x6e\x26\x95\x26\xec\x26\xf5\x26\xff\x27" -+"\x08\x27\x12\x27\x1b\x27\x2e\x27\x38\x27\x41\x27\x49\x27\x52\x27\x61\x27\x68\x27\x87\x27\x98\x27\xa2\x27\xab\x27\xb3\x27\xbc\x27" -+"\xc4\x27\xcd\x27\xd7\x27\xe1\x28\x54\x29\x00\x29\xef\x2a\xe8\x2b\x60\x2c\x04\x2c\x9c\x2d\x01\x2d\x2b\x2d\x41\x2d\x44\x2d\x60\x2d" -+"\x69\x2d\xc1\x2e\x34\x2e\x37\x2e\x40\x2e\x48\x2e\x58\x2e\x61\x2e\x98\x2e\xb1\x2e\xb4\x2e\xce\x2e\xd6\x2e\xde\x2e\xe7\x2e\xef\x2f" -+"\x4b\x2f\xdf\x30\x0a\x30\x76\x30\x81\x30\xf1\x31\x7b\x31\xd0\x31\xd9\x31\xf5\x31\xfe\x32\x07\x32\x8d\x32\xc7\x33\x4d\x33\x66\x33" -+"\x6f\x33\x79\x33\x8e\x33\x93\x33\xa9\x33\xc4\x33\xed\x33\xfd\x34\x5b\x34\x64\x34\x6d\x34\xb0\x34\xc7\x34\xd0\x34\xd8\x34\xef\x34" -+"\xf7\x35\x10\x35\x19\x35\x5d\x35\x7b\x35\x83\x35\x95\x36\x12\x36\x5c\x36\xa9\x36\xe6\x37\x6f\x37\x9b\x38\x5b\x38\x63\x38\x6c\x38" -+"\x75\x38\xbb\x38\xc4\x39\x64\x39\xd0\x39\xd8\x3a\x22\x3a\x48\x3a\x93\x3a\x9b\x3a\xcd\x3b\x66\x3b\x7d\x3b\x85\x3b\x8e\x3c\x26\x3c" -+"\x2a\x3c\x4e\x3c\xad\x3c\xb6\x3c\xdb\x3c\xe5\x3c\xf6\x3d\x05\x3d\x23\x3d\x9f\x3d\xa8\x3d\xb1\x3d\xba\x3d\xc3\x3d\xf8\x3e\x00\x3e" -+"\x89\x3e\x8d\x3e\x90\x3e\xd5\x3e\xd8\x3e\xdc\x3f\x4d\x3f\x68\x3f\x8b\x40\x65\x40\xe1\x40\xe8\x41\x17\x41\x6f\x41\xcd\x41\xe7\x41" -+"\xf0\x42\x3f\x42\x67\x42\xb3\x43\x0c\x43\x32\x43\xaf\x44\x38\x44\x6f\x44\xa2\x44\xce\x44\xf8\x45\x45\x45\x88\x45\xd5\x46\x01\x46" -+"\x8e\x46\xeb\x47\x57\x47\x9c\x48\x0f\x48\x28\x48\xb6\x49\x42\x49\x46\x49\x6a\x49\xb6\x4a\x44\x4a\xce\x4b\x30\x4b\x98\x4c\x36\x4c" -+"\xab\x4c\xfd\x4d\x60\x4d\x66\x4d\xd2\x4d\xd7\x4d\xf1\x4e\x9c\x4f\x0f\x4f\x13\x4f\x6c\x4f\x71\x4f\xdb\x50\x59\x50\xad\x50\xd3\x51" -+"\x4d\x51\xca\x52\x16\x52\xb5\x52\xba\x53\x7f\x54\x12\x54\x54\x54\x87\x55\x35\x56\x05\x56\x98\x57\x21\x57\x73\x57\xd6\x58\x2e\x58" -+"\xbb\x59\x07\x59\x91\x59\xb6\x5a\x10\x5a\x84\x5a\xe0\x5b\x43\x5b\xac\x5c\x2d\x5c\x91\x5d\x1e\x5d\x41\x5d\x83\x5d\xc8\x5e\x11\x5e" -+"\x5a\x5e\xf9\x5f\x84\x60\x35\x60\x76\x60\xdb\x60\xec\x61\x21\x61\x57\x61\x9e\x62\x10\x62\x87\x62\xbd\x62\xde\x62\xff\x63\x20\x63" -+"\x41\x63\x4e\x63\x64\x63\xe6\x63\xf2\x63\xfc\x64\x24\x64\x2d\x64\x83\x65\x01\x65\x7f\x65\xa7\x65\xe9\x66\x6c\x66\x9b\x66\xf0\x67" -+"\x13\x67\x1d\x67\x27\x67\x57\x67\x61\x67\xc1\x68\x01\x68\x06\x68\x36\x68\x56\x68\xa7\x68\xab\x68\xd6\x69\x2d\x69\x47\x69\x9a\x6a" -+"\x2d\x6a\xa4\x6a\xac\x6a\xbe\x6a\xe6\x6b\x05\x6b\x2e\x6b\x88\x6b\xd4\x6c\x1b\x6c\x42\x6c\x51\x6d\x13\x6d\x1d\x6d\x95\x6e\x04\x6e" -+"\x42\x6e\x80\x6e\xc5\x6f\x52\x6f\x81\x6f\x86\x6f\x9b\x6f\xe4\x70\x0b\x70\x21\x70\x59\x70\xd2\x70\xd9\x71\x3e\x71\x47\x71\xa1\x71" -+"\xb4\x71\xea\x71\xf9\x72\x24\x72\x33\x72\xa1\x73\x17\x73\x37\x73\x81\x74\x04\x74\x0d\x74\xa0\x74\xa8\x74\xb1\x75\x18\x75\x4c\x75" -+"\xa8\x75\xb6\x75\xd1\x75\xe2\x75\xe9\x76\x16\x76\x19\x76\x45\x76\x53\x76\x5c\x76\xd3\x77\x1f\x77\xa1\x78\x22\x78\x6c\x78\x94\x78" -+"\xca\x79\x4f\x79\x86\x79\x8f\x79\xad\x79\xb7\x79\xe8\x79\xfa\x7a\x4f\x7a\x58\x7a\x92\x7a\x9b\x7a\xc7\x7b\x07\x7b\x61\x7b\xf2\x7c" -+"\x4e\x7c\x8a\x7d\x0e\x7d\x69\x7d\x99\x7d\xc6\x7e\x0e\x7e\x73\x7e\x9d\x7e\xb9\x7e\xc2\x7e\xca\x7e\xdd\x7e\xe0\x7e\xe4\x7e\xed\x7f" -+"\x16\x7f\x1e\x7f\x26\x7f\x53\x7f\xf6\x80\x8f\x81\x1e\x81\x26\x81\x46\x81\x59\x81\x61\x81\xd1\x82\x2d\x83\x13\x83\xdc\x84\x77\x84" -+"\xff\x85\x75\x85\xf5\x86\x68\x86\xec\x87\x59\x87\xd0\x88\x45\x88\xa0\x88\xd1\x89\x27\x89\x4b\x89\x7c\x89\xb3\x89\xf6\x8a\x83\x8b" -+"\x16\x8b\x89\x8b\xd0\x8c\x63\x8c\xea\x8d\x65\x8d\x71\x8d\x75\x8d\xbb\x8e\x55\x8e\xc5\x8f\x34\x8f\xcc\x90\x2b\x90\x58\x90\x6b\x90" -+"\x80\x90\x8b\x91\x43\x91\xbc\x91\xc0\x91\xc8\x91\xe4\x92\x01\x92\x71\x92\x8a\x92\xcf\x92\xf8\x93\x3b\x93\x40\x93\x4f\x93\x9d\x93" -+"\xc7\x93\xd0\x94\x09\x94\x11\x94\x19\x94\x27\x94\x2f\x94\xed\x94\xf6\x94\xff\x95\x0b\x95\x15\x95\xa4\xfc\x27\x0e\xfc\x27\x0e\xfb" -+"\x9c\xf7\x58\xf7\x60\x15\xb5\xf7\x00\xb7\xed\xc4\xf7\x04\x08\xa5\xb9\x90\x9b\xa6\x1a\xb7\x6f\xa8\x62\x6c\x73\x7a\x6e\x7d\x1e\x83" -+"\x79\x89\x80\x89\x60\x86\x3c\x79\xfb\x0b\x6d\xfb\x30\x08\x71\x3a\x15\x61\x6b\x6b\x61\x62\xaa\x6e\xb5\xb5\xac\xaa\xb2\xb2\x68\xae" -+"\x64\x1f\x0e\x29\xf7\x45\x83\x0a\xf7\xc1\x16\xdd\xf7\x4e\x8c\x8c\x8d\x90\x8e\x93\x19\x95\xa1\x8c\x8e\x98\x1a\xa6\x77\xa1\x72\x64" -+"\x66\x68\x65\x88\x1e\x7b\xfb\x6a\x05\x0e\xf8\x55\xf7\xaf\x15\x34\x06\xc1\xf7\x1a\x05\xec\x06\x9f\xd4\x05\x33\xbe\x0a\xfb\x05\xbe" -+"\x0a\x22\x06\x77\x42\x05\xeb\x06\x55\xfb\x1a\x05\x21\x06\x77\x42\x05\xeb\xea\x1d\xf7\x05\xea\x1d\xec\x06\x30\xf7\x63\x15\x55\xfb" -+"\x1a\x05\xfb\x05\x06\xc1\xf7\x1a\x05\x0e\xf8\x85\xf8\xea\x15\x79\x99\x66\xa3\x5b\x9f\x6a\x90\x19\x9f\xd3\x05\x59\x06\x79\x4a\x05" -+"\x8d\x77\x83\x8b\x81\x1b\xfb\x04\x37\x3d\x23\x47\xa5\x67\xf5\x3a\x1f\x41\xfb\x99\x45\xab\x77\xb3\x88\xf7\x00\x19\x75\x91\x61\xfb" -+"\x22\xc0\x5c\xaa\x7a\xca\x7c\x19\x6e\x20\x05\xbf\x06\xa7\xf0\xa2\x8a\x05\xf7\x0f\x86\xf7\x00\xe9\xf7\x04\x1a\xd2\x70\xb4\xfb\x05" -+"\xec\x1e\xc6\xf7\x6b\x05\xc7\x77\xa3\x67\x46\x1a\x85\x8b\x7e\x8a\x80\x1e\xa0\x86\x05\xfb\x63\x6e\x15\x56\xb3\x7a\xa5\xb3\x1a\xc5" -+"\xb6\xb0\xce\x91\x8f\x8b\x89\x90\x1e\x59\xfb\xfd\x15\xc2\x5f\x9a\x71\x5c\x1a\x53\x6e\x5f\x5c\x79\x1e\x85\x7a\x83\x8a\x67\x1b\x0e" -+"\xf7\x48\xf9\x38\xf8\x0c\x15\x5a\x5e\x77\x64\x60\x1f\x55\x57\x68\x42\x4b\x1a\x38\xc0\x54\xdb\xb8\xb9\x9f\xad\xab\x1e\xc1\xc4\xac" -+"\xdd\xd8\x1a\xd1\x5c\xb9\x45\x1e\xab\x58\x15\xa9\x89\xa0\x6f\x64\x1a\x61\x7d\x5d\x70\x5a\x1e\x55\x6d\x68\x6e\x67\x1b\x6d\x75\xa4" -+"\xab\x8d\x1f\x8e\xb7\xad\xe7\xaa\xb7\xa2\xae\xa5\x9d\xa3\x8a\x08\xfc\x96\xfb\xe1\x15\xc3\x06\xf8\x1e\xf9\x50\x05\x64\x06\x5a\x51" -+"\x5b\x77\x4c\x1b\x61\x71\x93\x9f\x6f\x1f\xa0\x6e\x78\x92\x6e\x1b\xfb\x05\xfb\x03\xfb\x0f\xfb\x11\x3b\xc0\x52\xd6\xc8\xc0\xaa\xc4" -+"\xb2\x1f\xb6\xc9\x9c\xc4\x8c\xe4\x08\x87\xa1\x95\x8a\x96\x1b\xb0\xb2\x94\x9d\xb6\x1f\xfb\x94\x9e\x15\x91\x8d\x89\x85\x92\x1f\x93" -+"\x83\x8c\x8b\x92\x88\x08\xa7\x80\x8c\x89\x75\x1a\xfb\x06\x40\xfb\x0f\x45\x6e\x76\xa2\xaa\x8d\x1e\x8e\xba\xad\xe6\xac\xbc\xa1\xac" -+"\xa3\x9e\x9c\x89\x08\x0e\xf7\x11\xf9\x35\xf0\x15\x6e\x6e\x76\x80\x70\x1b\x64\x6b\xa0\xbe\x64\x1f\xf7\x1d\xf7\x4d\x91\x91\xc9\x97" -+"\x08\xa4\xfb\x68\x72\x07\xb5\x84\x99\x82\x75\x1a\x6f\x7a\x6e\x52\x43\x1e\x62\xcd\x6a\xe2\x7f\xd5\x08\xf7\x11\xbd\xc4\xc2\xce\x1a" -+"\xce\x51\xba\x3b\xfb\x02\x40\x38\xfb\x0f\x72\x8e\x75\x93\x5e\x1e\xfb\x08\x59\x6b\x79\x68\x67\x08\x67\x65\x76\x5b\x5d\x1a\x28\xd9" -+"\x47\xf7\x07\xd1\xc3\x9d\xb8\xcd\x1e\x5f\xb8\xb4\x79\xc0\x1b\xcd\xb6\xa3\xd5\xc8\x1f\xfc\x52\xf7\x9b\x15\xa5\xfb\x03\xa6\x4a\xc3" -+"\x34\x08\x76\x63\x71\x84\x6c\x1b\x42\x55\xc6\xda\xd1\xaa\xb4\xdf\xb5\x1f\xf7\x05\xe6\x15\x82\xc5\x89\x98\xa4\x1a\xd8\xa4\xb5\xb8" -+"\xac\x9e\x72\x61\x4f\x6b\x60\x3c\x5e\x1e\x0e\xfb\xd4\xf7\x03\xf8\x05\x40\x1d\xfb\xd4\xf7\xda\xf9\x41\x15\xfb\x2c\xfb\x04\x4f\x4a" -+"\x5d\x23\x08\x70\x4f\x7e\x4a\x43\x1a\xfb\x1d\xb4\xfb\x03\xf0\xfb\x1e\x1e\xa2\x9a\x05\x54\xec\x7b\xc8\xf7\x08\x1a\xf7\x14\xa4\xf7" -+"\x15\xb6\xeb\x1e\xaf\xdb\xb0\xbb\xdc\xd5\x08\x0e\xfb\xd4\x70\xfb\x47\x15\xf7\x0a\xdf\xbd\xbc\xbe\xda\x08\xc0\xdc\xa5\xe3\xec\x1a" -+"\xd5\x7b\xd9\x6c\xd5\x1e\x74\xc2\x76\xad\x57\xd2\x74\x7c\x18\xc1\x31\x9d\x48\xfb\x06\x1a\xfb\x19\x6b\xfb\x2c\x59\x27\x1e\x6b\x4b" -+"\x6c\x64\x3f\x45\x08\x0e\xf7\x91\xf8\x76\x15\x80\x91\x6e\x9c\x7f\x98\x73\xb0\x19\xae\x75\x7a\x98\x73\x1b\x72\x73\x71\x6f\x7a\x94" -+"\x7e\x9c\x80\x1f\x82\x99\x95\x89\xa8\x1b\xb7\x8a\x98\x88\xac\x78\x96\x85\x18\x80\x85\x6a\x79\x7f\x88\x5e\x89\x19\x6e\x7f\x88\x84" -+"\x7f\x1f\x7b\x82\x81\x7b\x7b\x1a\x6e\xa2\x72\xa6\xa4\x9b\x97\xaf\xa0\x1e\xa0\xaf\x96\x95\xac\x9f\x96\x91\x18\x7f\x07\x88\x5f\x89" -+"\x83\x76\x66\x08\x7f\x75\x86\x7e\x7d\x1a\x6b\x9f\x77\xaa\xa9\x9f\x9f\xab\x9a\x87\x97\x7e\xa1\x1e\x76\xb0\x89\x93\x88\xb7\x08\x97" -+"\x07\x96\x85\xac\x77\x96\x81\xa0\x67\x19\x67\xa0\x9b\x7f\xa4\x1b\xa6\xa2\xa4\xa8\x9b\x81\x9b\x7b\x94\x1f\x92\x7f\x7f\x8e\x6e\x1b" -+"\x5e\x8d\x7f\x8e\x6a\x9d\x80\x91\x18\x96\x91\xac\x9e\x98\x8e\xb7\x8c\x19\xa8\x95\x8d\x94\x99\x1f\x9c\x96\x94\x98\x9c\x1a\xa7\x73" -+"\xa5\x72\x73\x7a\x7e\x68\x75\x1e\x73\x66\x7f\x7e\x6e\x7a\x80\x85\x18\x97\x07\x8e\xb8\x8d\x93\xa0\xb0\x08\x98\xa1\x8f\x96\x9b\x1a" -+"\xab\x77\x9f\x6d\x6c\x77\x76\x6c\x7c\x8f\x7f\x98\x75\x1e\xa0\x66\x8d\x83\x8e\x5e\x08\x0e\x38\xf7\x85\xf7\xbd\x15\xfb\x64\x33\xf7" -+"\x64\xfb\x65\xe3\xf7\x65\xf7\x64\xe3\xfb\x64\xf7\x65\x33\x06\x0e\xfc\x27\x5c\xfb\x4a\x40\x1d\xfb\xd4\xc9\x1d\xfc\x27\xcd\xf7\x1b" -+"\x15\x60\x6b\x6b\x60\x62\xab\x6b\xb4\xb5\xac\xab\xb5\xb4\x6a\xac\x63\x1f\x0e\xfc\x0b\xf7\x93\xf9\x41\x15\xfb\xd3\xfd\x53\x05\xe2" -+"\x06\xf7\xd3\xf9\x53\x05\x0e\xf7\xdb\xf9\x3f\x15\x54\x54\x71\x5d\x5e\x1f\x2e\x2b\x4d\xfb\x35\xfb\x28\x1a\xfb\x19\xca\x34\xec\xb5" -+"\xb3\x99\xa8\xb2\x1e\xef\xd6\xda\xf7\x49\xf7\x31\x1a\xf7\x26\x50\xea\x30\x1e\x89\x6e\x15\xaa\x9d\x70\x5e\x78\x87\x6b\x84\x66\x1f" -+"\x79\x35\x59\xfb\x55\x75\x49\x08\x2b\x6a\x6e\x65\x62\x1b\x6d\x77\xa5\xb3\xcb\xc3\xf7\x7e\xba\xf7\x17\x1f\xf3\xb0\xa7\xb3\xb0\x1b" -+"\x0e\x90\x16\xf7\xed\xa2\x06\x3c\x8c\x79\x93\xb0\x1a\x95\x8c\x8e\x96\xb4\x1e\xf7\x2e\xf8\xc4\x30\x75\x4c\x7f\xfb\x08\x79\x19\x89" -+"\x74\x05\x8f\xa5\x9c\x8c\xa0\x1b\xa9\x9a\x80\x75\x85\x89\x82\x89\x82\x1f\xfb\x14\xfc\x5f\x05\x54\x7a\x6d\x78\x43\x1b\x0e\xf8\x37" -+"\xf7\x53\x15\x72\x06\x66\x49\x76\x7f\x3a\x89\x08\xfb\x29\x06\xf7\x58\xf7\x3b\x05\xea\xdc\xbc\xdc\xd6\x1a\xe9\x43\xd5\x2f\x56\x5b" -+"\x77\x63\x5f\x1e\x6e\x71\x7b\x73\x6f\x55\xa1\x7f\x18\xc6\xb3\xb4\xa6\xbf\x1b\xc6\xad\x62\x46\x2f\x4e\x31\xfb\x50\xfb\x4f\x1f\x31" -+"\x31\x05\x73\xf8\x03\x07\x0e\xf7\x14\xf7\xef\x15\xb5\x89\x9e\x87\xa3\x7f\x08\xba\x72\xa4\x5b\x48\x1a\x31\x5a\x43\x4e\x7b\x7b\x91" -+"\x93\x83\x1e\x89\x8d\x85\x95\x7a\xa3\x08\xae\x74\x7b\x96\x71\x1b\x66\x74\x75\x69\x5a\xbe\x6c\xdd\xf7\x35\xf7\x15\xf7\x09\xf7\x26" -+"\xcd\x77\xb1\x52\xb6\x1f\x97\x91\x05\xd3\xb0\xae\xba\xc7\x1a\xd9\x4b\xc5\x36\x3a\x4e\x63\x2e\x4d\x1e\xa0\x7e\x05\xc4\xb5\xa6\x9d" -+"\xba\x1b\xc0\xad\x68\x54\x3e\x4f\x5a\xfb\x15\x70\x1f\x0e\xf8\x59\xf7\x8c\x15\x46\x06\xf7\x0b\xf8\x47\x05\x4c\x06\xfc\x3f\xfc\x40" -+"\x6f\x22\x05\xf7\x88\x06\x62\xfb\x2a\x05\xf7\x14\x06\xb5\xf7\x2a\x05\xcf\x06\xfc\x09\xed\x15\xf7\xae\xf7\xac\x3c\xfb\xac\x05\x0e" -+"\xf7\x59\xf8\xc4\x15\xf7\x92\x06\xaf\xf7\x01\x05\xfb\xaf\x06\xfb\x17\xfb\xbd\xce\x88\xaa\x84\xb1\x77\x19\xc9\x6b\xaf\x52\x4b\x1a" -+"\x35\x4c\x3f\x44\x75\x80\x94\xad\x76\x1e\xb3\x73\x7a\x98\x6d\x1b\x68\x73\x74\x69\x5c\xbf\x6b\xda\xf7\x39\xf7\x13\xf7\x07\xf7\x29" -+"\xd8\x69\xcc\x4d\xb3\x1f\x69\xa2\x70\x94\x2f\x9e\x08\x0e\xf8\x8b\xf9\x3b\x15\xfb\x1a\x72\x4b\x71\x3a\x50\x08\xfb\x12\x2d\x40\xfb" -+"\x1f\xfb\x21\x1a\xfb\x18\xcc\x3d\xf7\x01\xf7\x1d\xf7\x01\xf7\x0a\xf7\x28\xf5\x52\xcc\x2e\x77\x7e\x88\x81\x6e\x1e\xc9\xf7\x0f\xdc" -+"\xd2\xf7\x1b\xbf\x08\xfb\x96\xfb\xa5\x15\xba\xa0\x76\x5d\x4c\x68\xfb\x19\x6a\x4c\x1f\x73\x7e\x75\x7c\x71\x1b\x66\x79\xa4\xc0\xc1" -+"\xa0\xe3\xac\xde\x1f\xc0\xa0\x93\x94\xac\x1b\x0e\xde\xf8\x73\x15\xaf\xcb\xa5\x97\xf5\x8c\x08\xf7\x19\x06\xfb\xe0\xfc\xc0\x05\xe7" -+"\x06\xf8\x11\xf9\x31\x05\xfc\x11\x06\x34\xfb\x52\x05\x0e\xf7\xe1\xf8\x11\x15\xf3\xb7\xb2\xb7\xd2\x1a\xae\x7f\xaa\x75\xa1\x1e\xad" -+"\x69\x55\xa0\x55\x1b\xfb\x02\x3a\x3d\x21\x51\x9d\x66\xc3\x50\x1f\x86\x07\xfb\x10\x5f\x53\x51\x36\x1a\x28\xda\x48\xf7\x07\xf7\x14" -+"\xe9\xe2\xf7\x0b\xcb\x73\xbf\x4d\xce\x1e\xfb\x10\x54\x15\xe1\x25\x96\x77\x57\x1a\x3f\x5e\x55\x4d\x4d\x66\xba\xd8\xd6\xa9\xbd\xda" -+"\xc2\x1e\xf0\xdd\x15\x46\xcc\x76\xaf\xbc\x1a\xc3\xad\xb4\xbb\xbc\xab\x61\x4b\x58\x7c\x6d\x51\x4f\x1e\x0e\x85\x81\x15\xf7\x1b\xa4" -+"\xcb\xa4\xdb\xc6\x08\xf7\x11\xe7\xd8\xf7\x23\xf7\x22\x1a\xcd\x76\xc7\x66\xb0\x1e\xa8\x6e\x64\x9a\x59\x1b\xfb\x1e\xfb\x00\xfb\x0b" -+"\xfb\x2c\x27\xc8\x48\xe5\xa1\x98\x8e\x96\xa5\x1f\x4e\xfb\x11\x2d\x39\xfb\x0e\x66\x08\xf7\xda\xf9\x10\x15\xac\x9b\x74\x5d\x75\x87" -+"\x67\x85\x6a\x1f\x83\x62\x8b\x8b\x72\x42\x08\x3c\x70\x83\x81\x61\x1b\x60\x74\xa2\xb4\xcb\xa7\xf7\x04\xa9\xc8\x1f\xb4\xa0\xa6\xa0" -+"\xaa\x1b\x0e\xfb\xd4\xed\xf7\x1b\x15\x28\x0a\xe8\xf7\xd8\x15\x28\x0a\x0e\xfb\xd4\x7f\xfb\x4b\x44\x0a\x64\x3c\x61\x1e\xf7\x6c\xf8" -+"\xfe\x2b\x0a\x38\xf8\xbd\xf8\xed\x15\xfc\x85\xfb\xa4\x86\x78\xf7\xf0\xfb\xb0\xad\xf7\x16\xfb\x7f\xf7\x54\xf7\xe5\xf7\x4e\x05\x0e" -+"\x38\xf8\xad\xf8\x23\x15\xfc\x8c\x33\xf8\x8c\x06\xfb\x08\x04\xfc\x8c\x33\xf8\x8c\x06\x0e\x38\x94\xa5\x15\xf8\x84\xf7\xa4\x91\x9f" -+"\xfb\xf0\xf7\xaf\x68\xfb\x16\xf7\x80\xfb\x53\xfb\xe5\xfb\x4f\x05\x0e\xf7\x58\xf7\x64\x15\xa7\xd1\x9b\xa2\xb1\xa4\xcd\xb6\x18\xe5" -+"\xc5\xaf\xbd\xca\x1a\xe1\x45\xc5\x21\x26\x41\x55\x40\x65\xa5\x6e\xae\xad\xa6\xa6\xac\x9a\x86\x98\x7e\x9c\x1e\x83\x95\x88\x91\x91" -+"\x1a\x9f\xa9\x9d\xab\xb6\xa5\x6d\x5a\x5b\x77\x5d\x5f\x54\x1e\x62\x58\x5d\x51\x76\x5d\x87\x54\x19\x7e\x3b\x2b\x0a\xf7\x47\xf8\xb5" -+"\xf8\x63\x15\xb5\x75\x7d\x95\x67\x1b\x60\x60\x78\x6a\x6b\x1f\x58\x55\x6b\x3c\x42\x1a\x4b\xb4\x59\xbf\xb6\xba\xa7\xb9\xae\x1e\x62" -+"\x8d\xb5\x69\xbc\x1b\xf0\xe1\xf7\x05\xf7\x18\xf7\x3c\xfb\x25\xf7\x16\xfb\x51\xfb\x64\xfb\x39\xfb\x32\xfb\x5b\xfb\x57\xf7\x38\xfb" -+"\x2b\xf7\x68\xd4\xbe\x99\xb8\xec\x1f\x7e\xae\x05\x67\x3d\x59\x7f\x45\x1b\xfb\x40\xfb\x0f\xf7\x0f\xf7\x3f\xf7\x51\xf7\x0a\xf7\x1b" -+"\xf7\x39\xf7\x31\xf7\x16\xfb\x0d\xfb\x26\x59\x79\x50\x6e\x63\x1f\x69\x74\x70\x7a\x6d\x1b\x73\x7e\x9b\xa8\x94\x8b\x90\x8d\x91\x1f" -+"\xcc\xf7\x95\x05\x44\x06\x45\x69\x15\xa8\x89\x9a\x74\x89\x63\x89\x5f\x7b\x50\x75\x61\x08\x61\x75\x6d\x72\x6e\x1b\x67\x74\xac\xbf" -+"\xc0\x9e\xbf\xab\xb0\x1f\xa7\xab\xad\x9f\xa4\x89\x08\x0e\x99\x27\x1d\x0e\x99\xf7\x08\xf9\x18\x15\xaf\x89\x94\x89\x97\x84\x08\x94" -+"\x86\x92\x7e\x7f\x1a\x81\x87\x75\x84\x72\x1e\xfb\x0e\xfc\x55\x7b\x58\x7b\x7c\x5b\x85\x19\x72\xf7\xc1\x07\xf7\x4b\xf7\x04\xd9\xf7" -+"\x13\xda\x68\xb1\x25\xac\x1f\xd7\x9e\xaa\x99\xae\xa8\x08\xa9\xa4\x9c\xb3\xb4\x1a\xeb\x3a\xbd\xfb\x2f\x1e\xfb\xa4\x06\xf7\x2d\xfb" -+"\xdf\x15\xcd\x89\xa9\x85\x9f\x7a\x08\xa2\x78\x96\x6f\x66\x1a\x50\x74\x4d\x67\x67\x1e\x70\x70\x69\x7e\x5f\x1b\x64\x79\x95\xa2\x93" -+"\x8c\x92\x8f\x99\x1f\xf7\x1b\xf8\x87\x15\xaf\x95\x95\x93\xab\x1b\xc5\xa8\x69\x46\x4c\x76\x5c\x63\x71\x1f\x6c\x77\x69\x84\x41\x88" -+"\x08\x0e\x99\x33\x1d\x0e\xd0\x65\x0a\x0e\x99\x24\x1d\x0e\x99\xf8\x97\xf8\x6c\x15\x6f\x8f\x5c\x2d\x77\x80\xfb\x17\x8a\x19\xc8\xf7" -+"\x73\xb1\x0a\x74\x91\x70\x53\x1a\xa6\x86\xb6\xf7\x52\x05\xfc\xa9\x72\x06\x9f\x1d\xf7\xbb\xa4\x07\x53\x8f\x7c\x94\xaa\x1a\x97\x8e" -+"\x9a\x93\xa5\x1e\x8d\x92\x8c\x90\x8c\x8e\xc1\xf7\x5d\x18\xf6\x89\xa9\x77\x47\x1a\x7d\x8a\x80\x88\x78\x1e\xa7\x86\x05\x0e\xd0\x35" -+"\x0a\x0e\xf7\x11\xf9\x25\xd5\x1d\x92\x8c\x90\x8e\x95\xf7\x01\xf8\x21\x18\x9b\xc0\x99\x97\xbe\x92\x08\x56\x1d\x5c\xfb\x41\x05\xfb" -+"\x83\x06\xc1\xf7\x5b\xab\x1d\x86\x91\x87\x5c\x1d\x78\x84\x70\x1e\xfb\x0e\xfc\x55\x4f\x1d\x07\x0e\xfb\x9c\x27\x0a\x0e\xf8\xa0\x6a" -+"\x0a\xc0\x9a\x98\xbc\x91\x19\x0e\x99\x58\x0a\x0e\x61\x2f\x0a\x0e\xf7\x80\xfa\x29\xf9\x31\x15\xfb\x68\x06\xfb\xca\xfc\x74\x55\xf8" -+"\x74\x05\xfb\x71\x72\x06\xca\x88\x94\x87\x6f\x1a\x7d\x87\x79\x84\x71\x1e\xfb\x01\xfc\x09\x63\xfb\x16\x84\x80\x55\x7f\x19\x72\xf7" -+"\x63\xa4\x07\x4b\x93\x7b\x97\xb4\x1a\x9c\x90\xa4\x99\xbd\x1e\xf0\xf8\x05\xce\xfc\xc3\x05\xa7\x06\xf8\x0b\xf8\xd1\xfb\x11\xfc\x64" -+"\x7b\x55\x78\x7d\x4a\x87\x19\x72\xf7\xcc\xa4\x07\x51\x8e\x7d\x93\xab\x1a\x96\x8d\x96\x91\xa2\x1e\x8c\x90\x8c\x90\xf7\x0f\xf8\x55" -+"\x9a\xbf\x9a\x99\xbe\x91\x19\x0e\xd0\x2e\x0a\x0e\xd0\x26\x1d\x0e\x61\xf7\x05\x73\x1d\x0e\xd0\xf9\x0e\x63\x15\x4f\x51\x67\x79\x4e" -+"\x1b\x70\x77\x8f\x96\x67\x1f\x61\x98\x72\x93\x63\x92\x5e\x8e\x19\x6c\x8d\x84\x8d\x8f\x1a\x8b\x8c\x8d\x8c\x8c\x1e\x92\x92\x95\x96" -+"\x95\x95\x9c\x9b\x19\xf7\x16\x93\xc2\x9f\xd8\xd0\x08\xf7\x02\xee\xce\xf7\x20\xf7\x19\x1a\xf7\x1b\x25\xed\xfb\x20\xfb\x6c\xfb\x62" -+"\xfb\x7b\xfb\x86\x49\xa4\x4f\xb8\x61\x1e\xa5\x72\x98\x84\xc0\x78\x93\x88\x8e\x89\x8e\x87\x89\x88\x8a\x89\x89\x89\x8a\x8a\x86\x87" -+"\x83\x84\xfb\x30\xfb\x16\x18\x99\x73\x05\xa1\xc3\xa5\x91\xab\x1b\xa8\xa2\x86\x7b\xbf\x1f\x77\xc9\xac\x85\xb4\x1b\xf7\x01\xd0\xb2" -+"\xf7\x02\xdc\x1f\xfb\x65\xf9\x5a\x15\xc7\xb4\x5b\x44\xfb\x0d\x4e\xfb\x5b\x47\x29\x1f\x48\x5d\x5e\x6d\x55\x1b\x4c\x64\xb9\xd4\xf2" -+"\xbe\xf7\x4c\xc2\xec\x1f\xe5\xbe\xc0\xb4\xcc\x1b\x0e\x99\x3b\x1d\x0e\x2a\x36\x0a\x0e\x61\x43\x0a\x0e\xd0\x21\x0a\x0e\x99\xf9\x5f" -+"\xf9\x31\x15\xfb\x54\x72\x06\xb8\x87\x8b\x8b\x94\x85\x08\x92\x87\x8f\x82\x82\x1a\x74\x77\x60\x64\x4d\x1e\xfb\x52\xfb\xc2\x58\xf8" -+"\x25\x05\x8a\x91\x8b\x8f\x91\x1a\xad\x93\x90\xcf\x91\x1e\xa4\xfb\xbe\x72\x07\xc9\x91\x81\xfb\x23\xa1\x1f\xd7\xfc\x91\x05\xab\x06" -+"\xf8\x1d\xf9\x02\x98\x9e\x9d\x97\xa7\x94\x19\x0e\xf7\x80\x2c\x0a\x0e\x99\xf8\xde\xa4\x15\x43\x93\x7c\x99\x6e\xe9\x41\xf7\x81\x18" -+"\xf7\x5b\xf7\x61\xb7\xb7\x9f\x97\xae\x90\x19\xa4\xfb\x5f\x72\x07\xa5\x88\x9b\x88\x90\x88\x08\x90\x88\x8e\x84\x84\x1a\x79\x78\x71" -+"\x58\x55\x1e\x2d\x28\x81\xac\x88\x97\x87\x95\x19\x74\xd3\x80\xb5\x9a\x1a\xa2\x96\x94\xac\x8f\x1e\x8f\x97\x8c\x8d\x99\x1f\xa4\xfb" -+"\xc5\x72\x07\xc7\x85\x9b\x80\x9a\x5d\xdf\xfb\xa4\x18\x71\x6f\x86\x86\x66\x62\xfb\x32\xfb\x42\x6c\x6f\x61\x83\x08\x72\xf7\x6a\xa4" -+"\x07\x5e\x8f\x77\x98\xa2\x1a\x98\x93\x98\xa1\xa4\x1e\xf7\x1a\xf7\x28\x8f\x7c\x8d\x84\x98\x65\x19\xa6\x3e\x96\x61\x75\x1a\x71\x7d" -+"\x84\x55\x86\x1e\x72\xf7\xc8\x07\x0e\x61\x2d\x0a\x0e\x61\x3f\x1d\x0e\xfb\xd4\xf7\xf7\xf9\x13\x15\x92\xae\x05\xfb\x5c\x06\xfb\x5b" -+"\xfd\xd5\x05\xf7\x6f\x06\x92\xae\x05\x3d\x06\x73\x81\x92\x9c\x8a\x1f\xf7\x32\xf9\x38\x9a\xc9\x8b\x8b\xb0\x8c\x19\x0e\xfc\x0b\x8a" -+"\xf9\x41\x15\xf7\x58\xfd\x53\x05\xdf\x06\xfb\x57\xf9\x53\x05\x0e\xfb\xd4\x5a\xfb\x0e\x15\x84\x68\x05\xf7\x5b\x06\xf7\x5c\xf9\xd3" -+"\x05\xfb\x70\x06\x84\x68\x05\xd9\x06\xa3\x95\x84\x7b\x8c\x1f\xfb\x32\xfd\x39\x7c\x4f\x8b\x8b\x66\x8a\x19\x0e\x38\xf7\x4d\xf7\xc7" -+"\x15\xf7\x15\xf7\xa7\xf7\x18\xfb\xa7\x05\xe5\x06\xfb\x4a\xf8\x05\x05\x3a\x06\xfb\x46\xfc\x05\x05\x0e\xf8\x6c\xfb\x23\x15\xd0\xfc" -+"\x85\x46\x07\x0e\xfb\xd4\xf7\xd3\x80\x0a\x0e\x25\x1d\x0e\xd7\xf9\x16\x15\xbc\x99\x84\x74\x7e\x7e\x58\x71\x2e\x1f\x2d\xfb\xdb\x05" -+"\x81\x67\x81\x63\x86\x1a\x6f\xd3\x6b\xcd\xf7\x37\xf7\x31\xf7\x40\xf7\x47\xd4\x5d\xbe\x49\x58\x67\x74\x47\x58\x1e\xe5\xf7\xdc\x44" -+"\x7e\x59\x83\x34\x82\x19\xf7\x5b\xfb\xa7\x15\xa8\x9a\x74\x5d\x50\x70\x2e\x67\x4d\x1f\x4e\x69\x64\x6d\x60\x1b\x79\x7e\x96\x9b\x96" -+"\x9b\xd4\x96\xb2\x1f\x97\xb7\x9f\xc4\x9b\xaf\x08\xc4\xa5\xaa\xa9\xad\x1b\x0e\xfb\x65\x3e\x1d\x0e\x59\x0a\x0e\xfb\x65\x22\x0a\x0e" -+"\xfb\xd4\xf7\xdc\xf8\x55\x15\x2f\x06\x46\x1d\xa9\xa0\xa1\xaa\xbc\x65\xaa\x4e\x57\x5a\x75\x64\x68\x1e\x61\x5d\x78\x62\x6e\x26\x08" -+"\x42\x06\x82\x61\x05\xd4\x06\x5b\xfb\x66\x68\xfb\x32\x86\x73\x42\x1d\xb5\xb0\x99\xa8\xaa\x1e\xb3\xaf\xa6\xc0\xac\xf2\xa3\xda\x96" -+"\xb9\xc1\xf7\x90\x08\xe5\x06\x0e\x3f\x0a\x0e\x2a\xf8\x70\xf7\x22\x15\x4d\x60\x78\x76\x5a\x0a\xfc\x0b\x2c\x1d\x5f\xf8\xc1\x57\x1d" -+"\xfc\x0b\xaa\xf8\x2b\x15\xbe\x96\x86\x71\x7e\x87\x74\x83\x6d\x1f\x2f\xfb\xf7\x81\x0a\xca\xef\xd0\xd7\xf7\x2f\xb3\x1e\xf7\x06\xf8" -+"\x4a\x4f\x7e\x65\x86\xfb\x02\x81\x19\xf7\x47\xf7\x8e\x57\x1d\x75\x1d\x0e\xfc\x0b\x41\x0a\x0e\xf7\x11\xad\xf8\x2b\x15\x93\x06\xa7" -+"\x8c\x9d\x81\x7a\x1a\x7d\x83\x6c\x70\x29\x1e\x48\xfb\x82\x05\xf7\x0d\x06\xc0\xf7\x52\xb1\xe1\xc3\xce\x08\xa5\xa2\xa7\x9f\x99\x1b" -+"\x95\x93\x81\x7e\x7b\x7f\x60\x6a\x27\x1f\x4a\xfb\x63\x05\xf7\x0c\x06\xc5\xf7\x52\x92\x9f\xaf\xca\x08\xd5\xb5\xb3\xb5\xa9\x1b\x97" -+"\x96\x81\x80\x85\x88\x80\x87\x7e\x1f\x5e\xfb\x17\x05\x76\x4c\x7c\x4d\x6f\x1a\x62\xa3\x75\xb6\xc9\xb3\xac\xed\xc5\x1e\x75\x98\x79" -+"\x70\x81\x7d\x8a\x8a\x19\x72\x78\x80\x82\x81\x1b\x82\x84\x91\x93\x96\x8b\x8b\xa0\xce\x1f\xb8\xf7\x19\x05\x9a\xb6\x93\xb1\xa5\x1a" -+"\xb4\x6a\xa9\x5f\x47\x5c\x62\xfb\x16\x38\x1e\x9f\xbe\x91\xa3\xa7\x1a\xb6\x72\xa4\x61\x6f\x6d\x80\x74\x6f\x1e\x66\x70\x6d\x64\x4a" -+"\x27\xcb\xf7\x5b\x18\x4e\x7d\x71\x87\xfb\x05\x82\x08\x0e\x2a\x30\x1d\x0e\x23\x0a\x0e\xa2\xf8\x2b\x15\xb8\x89\x94\x87\x78\x1a\x82" -+"\x83\x66\x7d\x57\x1e\x27\xfc\x18\x78\x49\x83\x82\x5b\x8c\x19\x70\xf7\x8d\xa6\x07\x59\x8c\x7c\x92\xa3\x1a\x98\x92\xab\x9e\xd0\x1e" -+"\x92\xa3\x8b\x8d\x8f\x9a\x08\x79\xae\x97\x87\xa0\x1b\xf7\x1c\xf7\x21\xf7\x48\xf7\x42\xd5\x61\xba\x49\x52\x5f\x6b\x38\x50\x1f\xb1" -+"\xf7\x07\x25\x7b\x64\x85\x57\x85\x19\xf7\x97\x60\x15\xa5\x89\x9a\x75\x89\x6a\x87\x4a\x6b\x27\x67\x4a\x08\x55\x6c\x6b\x6f\x69\x1b" -+"\x75\x7a\x9b\x9f\x9b\x93\xad\xa5\xe2\x1f\xa3\xdc\x96\xa8\x9b\xa3\xa4\xb2\xac\xa4\xa5\x89\x08\x0e\xf8\x07\xfb\x46\x15\x7d\x06\x67" -+"\x7c\x93\x9f\x9d\xb0\xf7\x1d\xb6\xf7\x20\x1f\xa2\xd6\x9e\xd1\xb6\xf7\x33\x08\xfb\x01\x06\x7c\x50\x86\xa7\x88\x96\x82\x96\x19\x99" -+"\x81\x76\x93\x74\x1b\x3f\x33\x48\x24\x50\x1f\x68\x4e\x7a\x50\x54\x1a\x3a\xb2\x5a\xcc\xc7\xb3\xa8\xdd\xbf\x1e\x4c\xfb\x69\x7a\x57" -+"\x80\x83\x4d\x88\x19\x70\xf7\x9f\x07\x3a\xf9\x04\x15\xa1\x8a\x98\x78\x6f\x1a\x56\x66\xfb\x0f\x68\x4d\x1e\x59\x6e\x6f\x73\x6c\x1b" -+"\x71\x7e\x9e\xb1\xc3\xa7\xe5\xb4\xd3\x1f\xab\xc3\xae\xaa\xa7\x89\x08\x0e\xfb\x9c\x40\x0a\x0e\xfb\x9c\x3d\x1d\x0e\xfc\x0b\xf7\xad" -+"\xf8\x55\x15\x43\x83\x1d\x2a\x26\x0a\x0e\xfb\x65\x9b\xf8\x2b\x15\xaa\x94\x88\x7e\x92\x1f\x9b\x6b\x96\x34\xfb\x00\x1a\x87\x8b\x7a" -+"\x8a\x77\x1e\x87\xfb\x1c\x05\xa5\x06\xf7\x13\xf7\x0d\xba\xc0\xc2\xdc\x08\xb3\xc4\xa0\xc1\xb5\x1a\xae\x6e\xab\x6b\x6d\x71\x70\x6c" -+"\x7a\x91\x7d\x9d\x77\x1e\x9a\x7b\x90\x81\x80\x1a\x68\x70\x63\x28\xfb\x05\x1e\x87\xf7\x58\x85\xc5\x76\xdb\x59\x7f\x74\x87\x39\x7f" -+"\x08\x0e\x99\x32\x1d\x0e\xf8\x24\xf7\x0f\x15\x59\x64\x81\x82\x79\x1b\x78\x81\x99\xb2\x83\x1f\x6b\xf7\x30\x8e\x8f\x8c\x8d\x90\x92" -+"\x19\xc5\xae\xa4\xa3\xa2\x1b\x91\x92\x88\x85\x97\x1f\x82\x99\x92\x89\x96\x1b\xa9\xa5\xa3\xa8\xab\x70\xa8\x6c\x5c\x6c\x70\xfb\x03" -+"\x3b\x1f\x79\xe2\x83\xa3\x78\xa6\xfb\x3b\x73\x18\x70\x07\x8d\x9d\x92\x8b\x95\x1b\xab\x99\x79\x5a\x95\x1f\xa9\xfb\x2e\x5f\x45\x05" -+"\x6a\x77\x81\x83\x79\x1b\x85\x86\x8d\x91\x81\x1f\x94\x7b\x80\x8f\x7e\x1b\x6c\x73\x73\x6b\x68\xa5\x73\xb1\xbd\xa1\x9f\xeb\xc6\x1f" -+"\xa3\xb2\x05\xfb\x07\xa1\xa4\x63\xbd\x1b\xbb\xb5\xad\xe3\xc8\x1f\x0e\xfb\x65\x31\x1d\x0e\xfb\x9c\x34\x1d\x0e\xfb\xc5\xf8\x48\xf9" -+"\x42\x15\xfb\x33\x51\x6a\xfb\x01\x6c\x1f\x5d\xfb\x47\x77\x43\x6f\x73\x32\x77\x19\xc9\x7b\xa1\x78\x68\x1a\x73\x81\x5f\x7b\x5b\x1e" -+"\x78\x53\x7b\x42\x6d\x1a\x71\x93\x78\x9c\x7c\x1e\xa4\x76\xb2\x83\xe8\x89\x8e\x97\x18\x50\x96\x75\xa0\xb9\x1a\xa5\x96\xbd\x9e\xcb" -+"\x1e\x9e\xc7\x95\xba\xa2\x1a\xb5\x79\x99\x41\x9f\x1e\xed\x9e\xa9\xa5\xa2\xe0\xb8\xf7\x3f\x18\x9f\xd7\xaf\xac\xdd\x9a\x08\x0e\xfc" -+"\x45\xcd\xfb\x8e\x15\xe3\xfa\x7a\x33\x06\x0e\xfb\xc5\xfb\x15\xfb\x4f\x15\xf7\x33\xc5\xac\xf7\x01\xaa\x1f\xb9\xf7\x47\x9f\xd3\xa7" -+"\xa4\xe4\x9e\x19\x4e\x9b\x74\x9e\xae\x1a\xa3\x95\xb7\x9b\xbb\x1e\x9e\xc4\x9b\xd5\xaa\x1a\xa2\x83\x9e\x7a\x9a\x1e\x72\xa0\x64\x93" -+"\x2e\x8d\x88\x7f\x18\xc5\x81\xa2\x74\x5f\x1a\x71\x81\x5e\x76\x45\x1e\x78\x49\x82\x62\x74\x1a\x61\x9c\x7d\xd6\x77\x1e\x29\x78\x6d" -+"\x71\x74\x36\x5e\xfb\x3f\x18\x77\x3f\x67\x6a\x39\x7c\x08\x0e\x38\xf8\x63\xf7\xce\x15\x6a\x72\x78\x7f\x74\x1b\x78\x7c\x90\xa1\x5a" -+"\x1f\xad\x3c\x75\x92\x66\x1b\x58\x65\x71\x51\x6a\x1f\xc1\x5c\x05\xab\xa3\x9b\x95\xa9\x1b\xae\xaa\x81\x72\xba\x1f\x72\xba\xa4\x83" -+"\xad\x1b\xba\xa9\xa0\xcb\xba\x1f\x0e\xfb\x9c\xf7\x55\xf7\xa7\x15\x60\xfb\x02\x60\x2b\x52\xfb\x04\x08\x71\x5c\x86\x7c\x71\x1a\x5e" -+"\xa6\x6e\xb5\xaa\xa3\x9c\xa8\x99\x1e\x93\x9d\x8d\x98\x8d\xb4\x8f\xd7\x9e\xf7\x11\xa9\xf7\x2d\x08\xa6\xf7\x75\x15\x61\x6a\x6c\x64" -+"\x64\xae\x68\xb2\xb5\xab\xab\xb5\xb3\x6c\xa9\x61\x1f\x0e\xf8\x43\xf8\xd4\x15\x68\x06\x62\xfb\x09\x05\x8d\x7f\x84\x8c\x82\x1b\xfb" -+"\x22\xfb\x23\xfb\x36\xfb\x36\x31\xc1\x54\xe9\x85\x1f\x5d\xfb\x16\x05\xad\x06\xba\xf7\x19\xce\x98\xb0\xa9\xca\xe5\x19\x70\x9d\x62" -+"\x4f\x68\x70\x61\x89\x19\xe7\xf7\x99\x05\x83\x95\x96\x88\x99\x1b\xb0\xa7\xa8\xb2\xad\x7b\xa4\x66\x9f\x1f\xfb\x40\xfc\x1c\x15\x77" -+"\x96\x84\x93\x84\x9b\x08\x84\x9b\x87\xa0\x9d\x1a\xc5\xa5\xe2\xaf\xcb\x1e\xbd\xa7\xa6\xa2\xaa\x1b\x98\x97\x83\x83\x88\x1f\x0e\xf8" -+"\x1e\xf8\x06\x15\xfb\x06\x06\xb2\xf7\x5e\x05\xbd\x95\xa0\xa6\xa8\x1b\x99\x95\x82\x7f\x86\x8a\x84\x89\x84\x1f\x89\x7f\x89\x7f\x81" -+"\x1a\x6e\xa2\x75\xa9\xae\xa5\xa8\xb2\xbf\x5d\xb2\x4c\x52\x55\x70\x5a\x61\x1e\x5a\x54\x73\x51\x72\xfb\x10\x08\x22\x06\x81\x4f\x05" -+"\xf7\x01\x06\x81\x37\x89\x80\x84\x48\x08\x96\x71\x7d\x8e\x76\x1b\x52\x64\x68\x57\x58\xb0\x68\xc0\xb6\xa7\x9c\xb6\xa6\x1f\x5e\xbe" -+"\xad\x7b\xb5\x1b\xb5\xb3\x9f\xae\xa4\x1f\xa0\xa7\x96\xa6\x97\xc4\x08\x72\x06\x5a\x75\x77\x7d\x5b\x1b\x6a\x6a\x94\xa2\x50\x1f\x96" -+"\x9c\xa5\xb6\xa4\xcf\x98\xc5\x19\xf7\x07\x06\xfb\xa3\xfb\x70\x15\x5a\x80\x79\x75\x6d\x1b\x6a\x74\xa0\xa9\xa9\x9f\x9f\xaa\xa1\x9d" -+"\x83\x75\xa3\x1f\x0e\xfc\x7a\xcf\x1d\xf8\x8c\xf7\xea\x15\xfb\x1b\x06\xf7\x3a\xf7\x7d\xad\xb9\x9e\x9a\xb3\x93\x19\xa4\xfb\x5c\x72" -+"\x07\xc2\x89\x9a\x82\x68\x1a\x79\x85\x7e\x77\x6e\x1e\xfb\x1b\xfb\x56\x3b\xf7\x80\x05\x87\x97\x89\x96\x94\x1a\xa2\x9d\x92\xc4\x8d" -+"\x1e\xa4\xfb\xac\x72\x07\xc2\x85\x92\x85\x9f\x58\xda\xfb\x83\x18\xfb\x11\x06\x7d\x59\x05\xf7\x22\x06\x75\x3d\x05\xfb\x21\x06\x7d" -+"\x59\x05\xf7\x21\x06\x78\x48\x79\x52\x7d\x81\x3e\x86\x19\x72\xf7\xd6\xa4\x07\x48\x8e\x7d\x92\xac\x1a\x9e\x8f\xa1\x97\xb7\x1e\x8e" -+"\x96\x05\xf7\x2c\x06\x99\xbd\x05\xfb\x2c\x06\xa0\xd9\x05\xf7\x2a\x06\x0e\xf8\x4f\xf8\x4c\x15\xfb\x0a\x06\xa1\xf7\x16\x94\xb1\x9d" -+"\xab\x08\xa3\x99\x9e\x98\xa0\x1b\x9a\x95\x85\x82\x87\x88\x88\x85\x85\x1f\x7d\x7e\x85\x80\x7b\x1a\x6d\xa0\x77\xab\xaf\xa3\xa3\xb0" -+"\xbd\x5c\xb0\x4c\xfb\x02\x34\x28\xfb\x3c\x66\x1e\x20\x06\x83\x5f\x05\xf4\x06\x45\xfc\x00\x7e\x49\x74\x4f\x77\x77\x19\x82\x81\x81" -+"\x87\x7a\x1b\x7a\x83\x8f\x94\x90\x8d\x8f\x93\x93\x1f\x97\x99\x91\x97\x97\x1a\xa7\x74\xa1\x6d\x6a\x73\x72\x68\x57\xb7\x68\xcd\xf7" -+"\x1a\xe2\xf7\x15\xf7\xa1\xba\x1e\xa6\xf7\x2e\x05\xf7\x08\x06\x0e\xf7\xb4\xf7\x11\x15\x88\x97\x92\x8a\x96\x1b\xcb\xc0\xc2\xce\xba" -+"\x76\xbe\x64\xb8\x1f\x46\xdc\x05\x58\xc7\x7a\xaa\xab\x1a\xb6\xaf\xa9\xbd\xa9\xa7\x7e\x7c\x86\x87\x86\x81\x84\x1e\x7b\x7e\x85\x81" -+"\x7c\x1a\x6d\xa4\x73\xa9\xad\xa3\xa5\xae\xc4\x52\xb4\x3c\x2f\x4c\x54\x3c\x5f\x9e\x5e\xaf\x63\x1e\x89\x88\x05\x8e\x7e\x74\x8e\x7e" -+"\x1b\x51\x5d\x53\x45\x60\x9b\x65\xae\x60\x1f\xcd\x3b\x05\xd2\x35\x97\x77\x6a\x1a\x5e\x68\x6c\x58\x69\x6a\x99\x9a\x90\x8e\x90\x95" -+"\x93\x1e\x9b\x99\x91\x96\x9f\x1a\xa8\x74\xa0\x6a\x69\x73\x72\x68\x50\xca\x5d\xdd\xe7\xd3\xc6\xd6\xb5\x7b\xad\x60\xc1\x1e\x30\xf7" -+"\xab\x15\xc5\xf7\x03\xfb\x13\x48\x6c\x70\x70\x6b\x75\x7b\x93\xa2\x73\x1f\x74\xa0\x6f\xac\x73\xac\x08\x7a\xa4\x7f\xa9\xa0\x1a\xac" -+"\xa3\xa4\xab\x1e\x0e\xad\xd5\x15\xb9\x5c\xd8\xda\x05\x75\xad\xa7\x83\xae\x1b\xaf\xa8\x94\xa0\xac\x1f\xd8\x3c\xba\xba\x3c\xd9\x05" -+"\xa0\xa8\x94\xa8\xb1\x1a\xb0\x83\xa5\x75\xae\x1e\xda\xd9\x5c\xb8\x3e\x3e\x05\x9f\x6b\x6f\x93\x66\x1b\x66\x6f\x83\x77\x6a\x1f\x3e" -+"\xd8\x5d\x5e\xd9\x3d\x05\x77\x6b\x82\x6e\x66\x1a\x66\x94\x6f\x9f\x6c\x1e\xf7\x23\xf7\x5e\x15\xc4\xb8\x5c\x4f\x51\x5c\x5c\x54\x52" -+"\x5e\xba\xc6\xc7\xb8\xb9\xc4\x1f\x0e\xfc\x0b\xf7\x3d\x83\x0a\x0e\xf7\x88\x80\x0a\xf7\x87\xa3\x15\xfb\x08\x58\x40\x36\x39\x1a\x50" -+"\xad\x64\xbe\xb4\xa9\xaa\xb5\xa6\x81\x9b\x6c\x9f\x1e\x75\x9a\x84\x95\x9a\x1a\xae\xb2\xb2\xda\xb5\x1e\x0e\xf7\x1d\x74\x0a\xf7\x25" -+"\xde\x15\x9e\xa0\x94\x94\x9c\x9e\x08\xd1\xd3\xaa\xb4\xa0\x1a\x91\x85\x91\x84\x83\x7d\x82\x78\x78\x1e\x7e\x7f\x81\x83\x73\x7a\xfb" -+"\x3e\xfb\x10\x18\x82\x07\xe0\x35\xc6\x4d\xa3\x70\x08\x83\x92\x8e\x89\x90\x1b\x94\x91\x92\x93\x9a\x81\xa6\x74\xbb\x1f\x0e\xfb\xd4" -+"\xf7\x31\x74\x0a\x0e\xfb\xd4\xf7\x30\x87\x1d\x0e\x2a\x9c\xf8\x2b\x15\xd6\x06\x2f\xfc\x2f\x05\xfb\x21\x6c\x7c\x71\x5f\x1b\x7f\x86" -+"\x8e\x91\x8f\x8d\x8e\x90\x91\x1f\x94\x95\x8e\x91\x96\x1a\xa7\x75\xa0\x6e\x6e\x77\x75\x6b\x5e\xb4\x6a\xc3\xbc\xbc\xa4\xb5\xac\x1e" -+"\xaa\xb2\xac\xd0\x98\xbf\xc1\x0a\x7d\x54\x89\x82\x7a\x1a\x61\xa5\x73\xb8\xc7\xb1\xaa\xf4\xd0\x1e\x75\x98\x05\x52\x63\x75\x75\x7c" -+"\x1b\x83\x83\x93\x93\x96\x93\xae\x98\xbc\x1f\x8c\x8f\xd4\xf7\xaf\x47\x86\x7d\x8a\x42\x87\x19\xfb\x0a\x06\xac\xf7\x0b\x97\xa8\xab" -+"\xb2\x08\xa2\x9e\xad\x99\xb0\x1b\x9c\x94\x86\x80\x87\x89\x87\x86\x84\x1f\x80\x7f\x87\x80\x7e\x1a\x6c\xa4\x73\xac\xac\xa3\xa3\xac" -+"\xc3\x51\xb2\x37\x4b\x4d\x73\x63\x65\x1e\x62\x5f\x76\x63\x67\x21\x08\x3f\x06\x0e\x2a\x9f\xf8\x2b\x15\xd5\x06\x2f\xfc\x26\x05\xfb" -+"\x24\x6a\x7c\x6c\x68\x1b\x7e\x82\x90\x92\x8e\x8d\x8f\x8f\x91\x1f\x92\x95\x8e\x93\x95\x1a\xa7\x78\x9d\x6f\x6a\x78\x77\x6a\x5b\xb2" -+"\x6a\xc5\xf2\xd5\xea\xf7\x53\xb9\x1e\xda\xf7\xda\x05\xf7\x27\x06\x3c\xfb\xd5\x05\x88\x7e\x89\x7e\x80\x1a\x69\xa9\x73\xb5\xc6\xaf" -+"\xa9\xf4\xcf\x1e\x77\x96\x05\x56\x68\x74\x75\x79\x1b\x82\x83\x93\x94\x8f\x8b\x8c\x8f\x9a\x1f\xf7\x2b\xf8\xee\x28\x7f\x05\x9a\x3d" -+"\x8b\x8b\x75\x1b\x4c\x50\x73\x64\x68\x1f\x63\x60\x78\x63\x69\xfb\x01\x08\x41\x06\xf7\xea\x16\xfb\x2b\x06\xa0\xe5\x9a\xb5\xa0\xae" -+"\x08\xb1\xa3\xaa\xa0\xac\x1b\x9d\x9d\x82\x81\x89\x8a\x8a\x86\x83\x1f\x7f\x7a\x88\x83\x7e\x1a\x7b\x91\x7f\x9a\x80\x1e\x0e\xf8\x71" -+"\xf7\xa1\x15\xfc\x88\x06\x7a\x30\x05\xf8\x88\x06\x0e\xf7\x47\xfb\x25\x15\x9b\xc4\x8f\x98\x9a\xca\xad\xf7\x20\xaf\xe7\xb2\xbc\x08" -+"\x78\xbb\x84\xac\xb0\x1a\x9d\x8d\x9a\x8f\xa2\x1e\xaf\x98\x88\x76\xb1\x1f\x7e\xa1\x97\x87\x97\x1b\xad\xa3\xa0\xaa\xab\x76\x9f\x6a" -+"\x7c\x81\x88\x7e\x72\x1f\x66\x79\x7d\x87\x6c\x8a\x93\xb0\x92\x9e\x99\x9d\x9a\x9e\x18\xa2\xa8\x94\x9f\xa1\x1a\xaa\x73\xa2\x6b\x68" -+"\x76\x74\x65\x7b\x8e\x7c\x92\x70\x1e\x92\x75\x8d\x7f\x80\x1a\x7a\x88\x7b\x85\x76\x1e\x6b\x7f\x8e\x9e\x64\x1f\x98\x70\x7e\x8f\x7b" -+"\x1b\x6b\x77\x77\x6c\x6c\x9f\x77\xaa\x9f\x99\x8f\x9a\xa6\x1f\xae\x9d\x90\x8c\xae\x8c\x82\x4e\x69\x4a\x5f\x64\x08\x90\x69\x8c\x77" -+"\x73\x1a\x5a\x85\x3b\x84\x60\x1e\x6f\xfb\x41\x05\x0e\xf7\xa0\xf8\x6b\x15\x74\x76\x91\x9a\x6b\x1f\x97\x73\x7f\x8f\x7d\x1b\x6c\x76" -+"\x77\x6e\x6e\x9d\x79\xad\x89\x1f\x9b\x8c\x90\x8c\xa5\x98\x08\x9e\xb1\x9d\x90\xab\x1b\x73\x2b\x7a\x69\x59\x5d\x08\x9f\x68\x8f\x79" -+"\x57\x1a\x69\x8a\x7f\x85\x73\x1e\x65\x8e\x82\x8e\x61\x9e\x08\x96\x72\x7d\x90\x7e\x1b\x6e\x74\x74\x6e\x70\xa1\x77\xa7\x96\x98\x8e" -+"\x95\xa2\x1f\xb5\x9b\x96\x8e\xb3\x8f\x7c\x5a\x85\x80\x6e\x61\x08\x76\x6e\x84\x7c\x79\x1a\x6d\xa2\x76\xaa\xae\x9e\xa0\xb2\x95\x89" -+"\x95\x87\xa0\x1e\x85\xa4\x89\x97\xa0\x1a\xa2\x8c\x97\x90\x9f\x1e\xb0\x97\x88\x79\xb3\x1f\x7f\xa3\x97\x87\x98\x1b\xab\xa0\x9e\xa9" -+"\xa9\x78\x9c\x6a\x8d\x1f\x7b\x86\x89\x7e\x71\x1f\x65\x79\x79\x86\x6b\x8a\xa3\xeb\x9c\xad\xbd\xb9\x08\x77\xaf\x87\x9b\xc2\x1a\xac" -+"\x8c\x97\x91\xa2\x1e\xb1\x88\x94\x89\xb5\x77\x08\x7f\xa4\x99\x87\x98\x1b\xa8\xa2\xa2\xa8\xa6\x75\x9f\x6f\x80\x7e\x87\x82\x74\x1f" -+"\x61\x7b\x80\x88\x63\x87\x9a\xbc\x91\x96\xa8\xb5\x08\xa0\xa8\x92\x9a\x9d\x1a\xa8\x74\xa1\x6c\x68\x78\x76\x65\x80\x8c\x81\x90\x77" -+"\x1e\x91\x71\x8d\x7f\x76\x1a\x75\x8a\x7f\x86\x76\x1e\x0e\xfc\x27\xf7\x12\xf8\x29\x2b\x0a\xf7\xde\xf9\x18\x15\xc2\x06\xfb\x6d\xfd" -+"\xd9\x05\xf7\x3f\x06\x92\xa4\x05\x50\x90\x7d\x90\x9c\x1a\x93\xb3\x8f\x9c\x8f\x9b\xf7\x3d\xf9\x1d\x18\x99\xc1\x8e\x8d\xdc\x92\x91" -+"\xa4\x18\xfb\xbb\x06\x32\x4a\x75\x5f\x62\x1f\x60\x5d\x6a\x2e\x3f\x1a\x5e\x9c\x64\xa9\x76\x1e\xa4\x7a\xa2\x85\xbd\x89\x36\xfb\xda" -+"\x18\x7b\x4d\x86\x7d\x83\x85\x80\x81\x7a\x87\x5a\x87\x84\x72\x18\xf7\x3e\x06\xad\xf8\x70\x15\x5d\x9f\x71\xb2\xbf\x1a\xc1\x9f\xd1" -+"\xa7\xb9\x1e\xa8\xba\xa5\x9c\xca\x9b\x08\x0e\xfb\xc3\xf7\x46\xf8\x8e\x15\x35\x49\x49\x36\x35\xcf\x47\xe0\xde\xd0\xce\xdd\xe2\x48" -+"\xd0\x35\x1f\x0e\xfb\xd4\x93\xfb\x4a\x40\x1d\xf7\x68\xfb\x4a\x44\x0a\x65\x3c\x60\x1e\xfb\x87\x73\x15\xf7\x08\xbe\xd6\xe1\xdc\x1a" -+"\xc6\x69\xb2\x58\x62\x6d\x6c\x61\x70\x95\x7b\xa9\x77\x1e\xa2\x7c\x92\x81\x7d\x1a\x67\x64\x64\x3c\x61\x1e\x0e\xf7\xd6\xf8\x05\x44" -+"\x0a\x64\x3c\x61\x1e\xfb\x87\x73\x40\x1d\xf7\xeb\x87\x1d\xfb\x25\x38\x15\x78\x76\x82\x81\x7a\x79\x08\x44\x42\x6d\x63\x76\x1a\x84" -+"\x91\x86\x92\x94\x98\x94\x9d\x9e\x1e\x98\x97\x95\x93\xa3\x9d\xf7\x3e\xf7\x10\x18\x94\x07\x30\xe7\x5e\xb9\x6b\xb0\x08\x93\x84\x88" -+"\x8d\x86\x1b\x82\x85\x84\x83\x7c\x94\x71\xa3\x5a\x1f\x0e\xf7\xef\xf7\x07\xf7\x1b\x15\x28\x0a\xf7\xe0\x16\x28\x0a\xf7\xe0\x16\x28" -+"\x0a\x0e\xf7\xef\xe1\x6e\x15\xbb\x06\xf8\x4a\xf9\x73\x05\x5b\x06\x4b\x58\x5a\x70\x49\x1b\x66\x79\x92\xa2\x6f\x1f\xa0\x72\x77\x93" -+"\x71\x1b\x20\x31\x28\xfb\x09\x3c\xbf\x52\xd4\xb0\xb0\x9b\xa7\xa7\x1f\xb4\xb5\xa8\xd8\xd0\x1a\x98\x8a\x96\x89\x9e\x1e\x81\xa3\x9a" -+"\x88\xa0\x1b\xb4\xab\x97\xa9\xb3\x1f\xfb\xa0\x93\x15\x92\x8f\x88\x82\x98\x1f\x97\x83\x8e\x89\x96\x88\x95\x88\x8f\x89\x8c\x88\x08" -+"\x8e\x84\x8f\x71\x7e\x1a\x25\x4d\x26\x4c\x6a\x7a\xa3\xb7\xe4\xc9\xf7\x14\xb4\x88\x1e\xf7\xd7\xfb\xc1\x15\x25\x2e\x28\xfb\x02\x34" -+"\xbd\x54\xd9\xb1\xaf\x9a\xa6\xa4\x1f\xb8\xba\xa7\xd4\xd1\x1a\xd5\x64\xb8\x49\x1e\xa0\x6a\x15\xad\xa4\x68\x5e\x57\x76\x48\x6e\x61" -+"\x1f\x69\x74\x73\x7c\x6d\x1b\x6a\x7b\xa1\xb9\xbf\xa5\xdd\xab\xb9\x1f\xa8\x9f\x9e\x98\x9f\x1b\xf7\xe9\xac\x15\x25\x2e\x27\xfb\x01" -+"\x35\xbd\x53\xd8\xb2\xae\x9a\xa6\xa5\x1f\xb8\xba\xa7\xd4\xd1\x1a\xd5\x64\xb8\x49\x1e\xa0\x6a\x15\xad\xa4\x68\x5e\x57\x76\x48\x6e" -+"\x61\x1f\x6a\x74\x73\x7b\x6d\x1b\x6a\x7b\xa1\xb9\xbf\xa6\xdd\xaa\xb9\x1f\xa8\x9f\x9e\x98\x9f\x1b\x0e\xf7\xc4\xf7\xa3\x15\x6f\x45" -+"\x7b\x74\x65\x72\x49\x60\x18\x31\x51\x67\x59\x4c\x1a\x35\xd1\x51\xf5\xf0\xd5\xc1\xd6\xb1\x70\xa8\x69\x69\x70\x71\x69\x7c\x90\x7e" -+"\x98\x7a\x1e\x93\x81\x8e\x85\x85\x1a\x78\x6d\x78\x6b\x60\x71\xa9\xbd\xba\x9e\xb9\xb8\xc2\x1e\xb4\xbe\xb9\xc5\x9f\xb9\x90\xc2\x19" -+"\x9a\xf7\x78\x15\x28\x0a\x0e\xfb\xd4\xf7\xbd\xf8\x98\x37\x1d\xfb\xd4\xf7\x50\xf8\x98\x29\x1d\xfb\xd4\xf7\xd0\xf8\x98\x23\x1d\xfb" -+"\xd4\xf8\x02\xf9\x23\x75\x0a\xfb\xd4\xf8\x1d\xf9\x03\x25\x0a\xfb\xd4\xf7\xf0\xf9\x3a\x15\x49\x6b\x69\x57\x0a\x7e\x06\x26\xb7\x5b" -+"\xe8\xec\xcb\xc5\xf3\x9d\x1e\x0e\xfb\xd4\xf7\x77\xf9\x23\x2a\x1d\xfb\xd4\xf7\x0b\xf9\x23\x24\x0a\xfb\xd4\xf7\x7e\xf9\x86\x30\x0a" -+"\xfb\xd4\x72\x2f\x15\x98\x7f\x05\x8e\x97\x92\x8c\x96\x49\x1d\xac\xc5\x1d\xb8\xce\x05\x5f\x06\x0e\xfb\xd4\xf7\x0a\xf8\x98\x15\x2b" -+"\x1d\x2d\x1d\xf7\x82\x16\x90\x0a\xfb\xd4\xa7\xab\x15\x87\x85\x89\x89\x83\x81\x08\x62\x59\x7e\x70\x6e\x31\x0a\xb5\x9a\x8e\x9d\x94" -+"\xaa\x1f\x8e\x95\x8c\x8e\x8c\x92\x08\x0e\xfb\xd4\xf8\x2f\xf9\x46\x20\x0a\xf7\xef\xa9\x0a\xf7\xb7\x99\x0a\x61\x7b\x96\xa5\x91\x8d" -+"\x95\x8e\x97\x1f\xca\xf7\x85\x05\xf7\x02\x84\xa2\x7c\x4b\x1a\x83\x8b\x85\x8a\x7d\x71\x1d\x0e\xfc\x17\xf7\xcd\xf8\x78\x15\x88\x88" -+"\x8b\x8b\x89\x88\x08\x74\x78\x7c\x7e\x84\x1b\x88\x89\x8e\x91\x9b\x91\xa4\x9b\xbb\x1f\xb9\xf7\x20\x3f\x87\x80\x68\x05\xaa\x84\x7d" -+"\x98\x71\x1b\x38\x2a\xfb\x05\x2b\x5e\xa7\x6c\xb5\xb7\xa8\xa2\xcc\xb0\x1f\x81\x69\x8a\x85\x80\x1a\x77\x9f\x79\xa3\xa9\xa8\xa2\xc0" -+"\xb1\x1e\xfb\x14\xf7\x4b\x15\x97\x8a\x93\x7f\x7c\x1a\x6d\x79\x4f\x76\x65\x1e\x67\x77\x75\x76\x78\x1b\x7e\x80\x98\x9a\xcd\xd0\xf7" -+"\x0f\xae\x87\x1f\x0e\x61\x86\x0a\xcd\xf7\x88\xf7\x28\xde\xa0\xd1\xfb\x2a\x3a\xb7\xf7\x36\x9b\xc2\x9e\x98\xcd\x8f\x19\xa4\xfb\xd1" -+"\x72\x07\x9c\x0a\x54\xfb\x5d\x27\x56\x75\x45\xf3\xc3\x59\xfb\x49\x7b\x57\x7d\x7e\x59\x84\x19\x72\xf8\xbd\x07\x0e\xd0\xe2\x1d\x77" -+"\x8e\x6d\x1b\xfb\x6c\xfb\x62\xfb\x7b\xfb\x86\x67\x0a\x75\x90\x75\xb3\x0a\x55\x1b\x71\x78\x91\x9b\x77\x1f\x0e\xf7\xb7\xfa\x46\xf9" -+"\x31\x15\xfb\xe3\x06\x7b\x6d\x8d\x8e\x5e\x1f\x8e\x6c\x82\x8b\x7b\x1b\xfb\x00\x49\x77\x54\x42\x1f\xfb\x0a\x32\x3f\xfb\x28\xfb\x21" -+"\x1a\x30\xaf\x46\xce\x64\x1e\xb3\x73\xca\x7f\xcc\x8e\xf7\x2e\x92\x18\xa1\x06\x90\x94\x8b\x8c\x95\x1f\xa7\x06\xf7\xbc\x06\xc7\xf7" -+"\x56\x70\x90\x05\xfb\x0d\x46\x44\x5d\xfb\x09\x1b\x57\x76\x95\xa3\x91\x8d\x95\x8d\x94\x1f\xcb\xf7\x89\xd6\x84\x9f\x86\x9a\x7e\x19" -+"\x98\x7f\x92\x7a\x78\x1a\x82\x8a\x7c\x89\x7a\x1e\x88\x8b\x84\x8a\x82\x1e\xa6\x86\xd3\xf7\xa4\x70\x8e\x6b\x3e\x61\x70\x31\x8c\x19" -+"\x87\x06\x76\x06\xc8\xf7\x70\x05\xb4\x96\x92\x91\xad\x1b\xbf\xbe\x7f\x79\xa3\x1f\xa4\x77\x98\x6e\x66\x1a\x7c\x8b\x83\x8a\x7d\x1e" -+"\xa4\x85\x05\xfc\x90\xfb\xf7\x15\x44\x77\x6e\x70\x51\x1b\x42\x5b\xc0\xdb\xf7\x0a\xc1\xf7\x46\xca\xe6\x1f\xcf\xbb\xbd\xab\xc7\x1b" -+"\xba\xa5\x75\x63\x7b\x87\x71\x83\x70\x1f\x0e\xfb\xf5\xf7\x87\xf9\x41\x15\x2b\x30\x2b\x27\x57\xb8\x66\xc8\xe7\xe3\xe3\xee\x90\x1f" -+"\xc4\x8e\x60\xb4\x4b\x1b\x89\x77\x15\x9c\x8a\x94\x7d\x8a\x74\x89\x60\x7b\x4f\x78\x62\x08\x60\x76\x78\x77\x73\x1b\x79\x81\x98\xa1" -+"\xb7\xa0\xd9\xa2\xb3\x1f\x9d\xab\xa1\x9c\x9f\x8a\x08\x0e\xd0\xf7\xf4\xf8\x20\x15\xbd\x79\x77\x9b\x5f\x1b\xfb\x12\xfb\x29\xfb\x55" -+"\xfb\x37\x47\xbb\x59\xcd\xce\x9d\x1d\x62\x72\xab\xc0\x9a\x8c\x96\x8f\x9f\x1f\xb2\x94\x05\xf7\x25\xac\xde\xce\xdd\x1a\xc2\x66\xab" -+"\x4d\x59\x6f\x7c\x59\x60\x1e\x9f\xcc\x24\x86\x05\x36\x68\x15\xa7\x9f\x73\x6b\x55\x6b\x23\x64\x47\x1f\x55\x6e\x6d\x72\x69\x1b\x6d" -+"\x77\xa5\xb3\x8d\x1f\x8e\xc5\xa5\xde\xb1\xce\x08\xc6\xac\xab\xa7\xab\x1b\xf7\x19\xfb\x50\x15\xf7\x1a\xb2\xb6\xcb\xbd\x1b\xa2\x95" -+"\x7f\x6f\x51\x6d\x5b\x50\x66\x1f\x6c\x77\x75\x83\x6f\x87\x08\x0e\xfc\x0b\x2c\x1d\x0e\xfc\x0b\xf7\x6c\xf7\x21\x73\x0a\xfb\x42\x7e" -+"\x54\xb4\x0a\x5e\x0a\x0e\xd0\xf8\xe3\xf7\x1f\x15\x46\x5e\x70\x77\x5d\x1b\x60\x73\xa6\xbe\x9b\x8d\x98\x91\xa6\x1f\xf2\xa2\xa4\x94" -+"\xb8\xa8\x08\xc4\xb0\xa9\xb7\xb9\x1a\xc3\x60\xad\x46\x57\x69\x7d\x5b\x4f\x1e\xb8\x6b\x6c\x9c\x56\x1b\x2a\x2d\x4e\x27\x51\x1f\x6e" -+"\x57\x7b\x55\x58\x1a\x2e\xcc\x4b\xea\xc6\xb9\x9d\xb2\xb6\x1e\x62\xb2\xab\x7b\xb9\x1b\xb8\xb5\x9a\xa9\xad\x1f\xa3\x9f\x9c\xa2\xa5" -+"\xbc\x08\xfb\x5a\xe9\x15\xbf\xf7\x23\x94\x9e\xaa\xaf\x08\x95\x94\x98\x91\x99\x1b\xa2\x99\x7c\x72\x72\x81\x6b\x7c\x73\x1f\x6e\x5c" -+"\x68\x73\x3f\x75\x08\xfb\x1f\xf7\x6b\x15\xaf\x9e\x72\x5a\x57\x69\xfb\x1a\x6d\x4c\x1f\x4a\x6c\x6e\x6e\x67\x1b\x69\x78\xa8\xbf\xb6" -+"\x97\xc4\xa2\xcf\x1f\xf7\x0c\xb3\xae\xbb\xbb\x1b\x0e\xf7\x85\xf8\x14\x15\xa7\x87\x97\x88\x95\x83\x08\x9a\x80\x94\x72\x6d\x1a\x4b" -+"\x76\x25\x73\x57\x1e\x64\x79\x77\x78\x74\x1b\x7b\x78\x93\x95\x83\x1f\x87\x90\x77\x68\x05\x7b\xa2\x9f\x85\xa9\x1b\xf7\x08\xf3\xf7" -+"\x10\xf7\x1e\xb6\x7c\xae\x6f\xa3\x1f\x73\xa0\x74\x95\x55\x96\xd9\xa8\xa8\x9b\xad\xab\x08\xa5\xa4\x9a\xaf\xb0\x1a\xd7\x4e\xc2\x36" -+"\xfb\x0e\x35\x23\xfb\x5a\x60\x1e\x2f\xfc\x3b\x7d\x4c\x7a\x5b\x7b\x76\x19\x7e\x81\x81\x87\x78\x1b\x7f\x87\x8e\x93\x90\x8c\x8d\x90" -+"\x90\x1f\x94\x94\x8d\x92\x9a\x1a\xa7\x79\x9c\x6d\x6c\x77\x76\x6b\x5d\xb2\x6c\xc5\xf4\xd7\xf0\xf7\x5d\xb8\x1e\xe6\xf8\x2b\x05\xf7" -+"\x09\xa5\xa9\xbc\xb9\x1b\xaa\x9a\x78\x63\xfb\x00\x61\x33\x57\x1f\x87\x06\x7b\x8c\x05\x0e\xfb\xf5\xa9\xf7\xa6\x55\x1d\x90\x1b\x99" -+"\x93\x84\x7d\x8e\x1f\x8c\x86\x67\xfb\x0c\x72\x42\x85\x78\x85\x79\x8a\x86\x08\x49\x7a\x7c\x7d\x53\x1b\x0e\x5c\xf8\x67\xf7\x00\x15" -+"\xe3\xf7\xb7\xfc\x8c\x33\xf8\x34\x06\x0e\x3e\xf8\xb6\xf8\x55\x15\xfb\x1b\x06\x59\xfb\x38\x05\xfb\x01\x69\x42\x21\x60\x1b\x7f\x84" -+"\x94\x9b\x98\x8d\x9a\x8f\x99\x1f\xe7\xf7\xcc\x05\xfb\x1b\x06\xfb\x01\xfc\x0b\x79\x5a\x85\x7b\x78\x5e\x19\x73\x51\x85\x74\x6e\x1a" -+"\x64\x9d\x75\xac\xa9\xa7\x9e\xa9\x98\x1e\x91\x98\x8c\x94\xa6\x1a\xb7\x93\xb9\x99\xb6\x1e\x78\xa4\x98\x86\xa3\x1b\xba\xaa\xa7\xe5" -+"\xbf\x1f\x82\x66\x89\x7f\x78\x1a\x67\xa6\x70\xaf\xc4\xad\xa6\xf3\xd7\x1e\x75\x9b\x05\x63\x72\x75\x75\x7c\x1b\x84\x86\x91\x93\x93" -+"\x8d\x94\x8e\x95\x1f\x0e\xf7\xef\xf7\x8a\xf9\x1b\x15\xbc\x06\xad\xa1\x76\x5e\x95\x1f\xa0\xe3\xfb\xf2\x33\xa0\x06\xb7\x95\xa0\xa1" -+"\xae\x1b\xbc\xfb\xc9\x06\x6a\x89\x84\x85\x87\x1e\x83\x87\x88\x8a\x6c\xba\x1d\xf8\x3c\x40\x15\x96\x06\xf7\x2d\xf7\xc8\x05\xfb\x7d" -+"\x07\x69\x89\x85\x85\x87\x1e\x83\x87\x89\x8a\x6b\xba\x1d\xf7\x95\x07\xb1\x99\x98\xb5\x8e\x1e\x9f\xfb\x01\x07\xfb\x31\xfb\xc2\xfb" -+"\x2a\xf7\xc2\x05\xfb\x13\x77\x06\xaa\x89\xa4\x79\x99\x6b\x08\xfb\x88\x07\x8a\x57\x83\x80\x60\x87\x08\x76\xf7\x17\xa0\x07\x60\x8f" -+"\x83\x96\x8a\xbf\x08\xf7\x6c\x07\x0e\xd0\x5c\x0a\xec\xf8\xfa\xf9\x3f\x15\x51\x06\xfc\x47\xfd\x4d\x05\xc5\x06\xf8\x9e\xf7\x14\x96" -+"\x1d\xaf\xab\x9f\x97\xa9\x1b\xb0\xa1\x72\x62\x6b\x78\x6a\x58\x53\x1f\x6e\x6b\x78\x79\x27\x2c\x08\x7b\xf7\x82\x07\xfd\x27\xf7\xa6" -+"\x55\x1d\x8f\x1b\x99\x97\x81\x80\x80\x6c\x24\x6e\x36\x1f\x7e\x62\x05\x49\x7a\x7c\x7d\x53\x1b\x0e\x38\xf7\x85\xf7\xfb\x15\xfb\x64" -+"\x33\xf7\x64\xfb\x23\xe3\xf7\x23\xf7\x64\xe3\xfb\x64\xf7\x65\x33\x06\xfb\x64\xfc\xcc\x15\xf8\x8c\xe3\xfc\x8c\x06\x0e\x61\xf7\x05" -+"\x8f\x1d\x8e\x9a\x92\xad\x1e\x99\xcb\x05\x87\xaf\x9d\xd2\x1d\x5b\x06\x98\xb1\x9f\xc4\x93\x92\xc0\x93\x19\x8c\xa4\x05\xfb\xba\x06" -+"\xf7\x48\xfb\x67\x15\x92\xa4\x8b\x8b\x8f\x90\x08\x95\x95\x95\x8f\x9e\x1b\xc1\xa9\xbc\x1d\x0e\xec\xf9\x44\x8a\x1d\xfb\x4f\xf7\xb4" -+"\x55\x1d\x8f\x1b\x99\x97\x81\x80\x80\x6c\x24\x6e\x36\x1f\x7e\x62\x05\x49\x7a\x7c\x7d\x53\x1b\x0e\x38\xf8\xad\xf7\x65\x15\xe3\xfc" -+"\x8c\x33\x07\xf7\x91\x31\x15\x28\x0a\xf8\x34\x04\x60\x6b\xc7\x0a\xb4\x6a\xac\x63\x1f\x0e\xfc\x45\xec\x78\x15\xe2\xf7\xa6\x34\x06" -+"\xf7\x2f\x04\xe2\xf7\xa6\x34\x06\x0e\xfb\x91\xf7\x76\xf9\x3f\x15\x3b\x4c\x4c\x3b\x3c\xca\x4b\xd9\xdd\xca\xc9\xdc\xdb\x4c\xca\x3b" -+"\x1f\x67\x04\xc2\xba\x5a\x51\x50\x5d\x5b\x52\x54\x5d\xbc\xc5\xc6\xb9\xbb\xc3\x1f\x0e\xf7\x15\xfb\x46\x15\x59\x8c\x7c\x92\xa3\x1a" -+"\x98\x92\xab\x9e\xd0\x1e\x92\xa3\x8b\x8d\x8f\x9a\x08\x79\xae\x97\x87\xa0\x1b\xf7\x1c\xf7\x21\xf7\x48\xf7\x42\xd5\x61\xba\x4a\x52" -+"\x60\x6d\x3f\x58\x1f\x88\x8e\xea\xf7\xe8\x45\x7e\x5a\x83\x34\x82\x19\x70\x07\xbc\x99\x84\x74\x84\x87\x78\x7e\x5a\x1f\xfb\x36\xfd" -+"\x0a\x79\x41\x80\x7f\x5a\x8c\x19\x70\xf7\x8d\x07\xf7\x2d\xf8\xe8\x15\xa5\x89\x9a\x75\x89\x6a\x87\x4a\x6b\x27\x67\x4a\x08\x55\x6c" -+"\x6b\x6f\x69\x1b\x75\x7a\x9b\x9f\x9b\x93\xad\xa5\xe2\x1f\xa3\xdc\x96\xa8\x9b\xa3\xa4\xb2\xac\xa4\xa5\x89\x08\x0e\xec\xf9\x49\x8a" -+"\x1d\x28\xf8\x83\x15\xcf\x88\xab\x6d\x50\x1a\x58\xa6\x1d\x7e\xa2\x64\xa5\x1f\x92\x8f\x05\xc5\xac\x99\x9c\xb0\x1a\xb9\x60\xae\x53" -+"\x56\x63\x95\x0a\xfb\xf5\xf7\xb7\xf8\x18\x96\x1d\xae\xaa\xa0\x98\xa9\x1b\xb0\xa1\x72\x62\x6b\x78\x6a\x58\x53\x1f\x6e\x6b\x78\x78" -+"\x27\x2d\x08\x7b\xf7\x82\x07\x0e\xe9\xf7\x66\xf8\x93\x15\xaa\x87\x8c\x8b\x93\x87\x08\x91\x87\x8c\x86\x6d\x1a\xfb\x8d\x07\x6d\x89" -+"\x84\x86\x88\x1e\x83\x87\x8a\x8b\x6c\x87\x08\x7b\xf7\x3a\x9b\x07\x6d\x8e\x89\x8c\x83\x8f\x08\x85\x8f\x89\x91\xa9\x1a\xf1\xb7\x07" -+"\xa2\x68\x96\x78\x9d\x6c\xaf\x4b\x99\x7b\x9d\x8a\x08\xd1\x96\x06\x77\x9b\x74\xa5\x6c\xb5\x50\xdd\x18\xc1\x9f\xa6\xae\xbc\x1a\xc6" -+"\x5e\xaf\x43\x1e\xfb\x4b\x06\xf7\x0a\x76\x15\xb3\x06\xb9\xa2\x71\x57\x51\x72\x6a\x60\x1f\x62\x06\xb9\xf7\xf0\x81\x1d\x5c\xf8\xbf" -+"\xf7\x65\x15\xe3\xfc\x8c\x33\x07\x0e\xf7\xaf\xf8\xd2\x15\xb2\x59\x9e\x5d\x8f\x55\x89\x87\x18\xa9\x78\x76\x97\x6c\x1b\xfb\x1e\xfb" -+"\x1d\xfb\x37\xfb\x39\x37\xcf\x4c\xe5\xf7\x2f\xf7\x17\xf7\x44\xf7\x65\xe6\x70\xcd\x48\xda\x1f\xf6\xc3\x69\xab\x20\x52\x60\xae\x63" -+"\x9d\x5a\x92\x19\x5f\x70\xb3\x84\xaf\x76\xb3\x66\x19\xfb\x0e\x4b\xac\x6c\x05\xf7\x04\x3c\x15\xa7\xf4\x1d\x4c\x6e\x6d\x6f\x68\x1b" -+"\x6a\x7b\xa2\xba\xd5\xb0\xf7\x20\xaf\xcc\x1f\xb9\xa5\xa7\xa1\xac\x1b\x0e\x38\xf7\x73\xf7\x91\x15\xfb\x43\xfb\x43\xc9\x4d\xf7\x43" -+"\xf7\x44\xf7\x43\xfb\x44\xc9\xc9\xfb\x44\xf7\x43\xf7\x44\xf7\x43\x4d\xc9\xfb\x43\xfb\x44\xfb\x43\xf7\x44\x4d\x4d\x05\x0e\xfb\xf5" -+"\xf7\x02\xf8\x75\x15\xce\x88\xac\x6d\x51\x1a\x57\xa6\x1d\x7d\xa2\x65\xa5\x1f\x92\x8f\x05\xc5\xad\x99\x9b\xb0\x1a\xb9\x60\xae\x53" -+"\x55\x64\x95\x0a\xe9\xf8\xa2\xf7\x8e\x15\x4e\x6f\x66\x71\x51\x1b\x33\x59\xcb\xf7\x07\xf7\x04\xbc\xcb\xe1\xc8\xaf\x6e\x4e\x98\x1f" -+"\x9c\xd2\x06\x94\x84\x91\x7c\x91\x1e\x98\x67\x70\x90\x66\x1b\xfb\x1c\x32\x3b\xfb\x0f\xfb\x0e\xdd\x42\xf7\x1b\xac\xc3\x96\x98\xa8" -+"\x1f\x94\x8e\x8c\x8c\x8d\x95\x9c\xd3\x18\xfb\x3e\xf8\x47\x81\x1d\x99\x27\x1d\xa7\xf8\x6f\x8d\x0a\x99\x27\x1d\xf7\x33\xf8\x6f\x15" -+"\xbe\x06\x35\xf7\x42\x05\x3a\x2a\x0a\x99\x27\x1d\x5b\xf8\xfa\x24\x0a\x99\x27\x1d\xf7\x0f\xf8\x6f\x15\xfb\x03\xf7\x27\x05\xa1\x7b" -+"\x76\x58\x1d\x99\x27\x1d\xca\xf9\x51\x30\x0a\x99\x27\x1d\xf7\x56\xf8\xfa\x8b\x1d\x99\xf7\x85\x7f\x15\x87\xa1\x9f\x89\xa0\x1b\xd2" -+"\xcd\xa1\xb6\xc4\x1f\xa8\xa1\x9c\x9d\xab\xb7\x6d\xa1\x18\x59\x50\x6f\x74\x61\x79\x08\x6e\x0a\xfb\x0b\xc9\x33\xf7\x01\x67\x1f\x4e" -+"\x31\x3e\x0a\x92\x7b\x0a\x99\x24\x1d\xfb\x2d\xf9\x67\x8c\x0a\x99\x24\x1d\x73\xf9\x67\x23\x1d\x99\x24\x1d\xfb\x77\xf9\xf2\x15\x68" -+"\x6e\x6e\x66\x36\x1d\x99\x24\x1d\x58\xf9\x67\x37\x1d\xfb\x9c\x27\x0a\x5b\xf9\x6a\xa8\x1d\xfb\x9c\x27\x0a\xf4\xf9\x67\x23\x1d\xfb" -+"\x9c\x27\x0a\x2a\xf9\xf2\x24\x0a\xfb\x9c\x27\x0a\xe9\xf9\x67\x37\x1d\xd0\x2e\x0a\xd9\xf9\x26\x8b\x1d\xd0\x26\x1d\x7e\xd3\x8d\x0a" -+"\xd0\x26\x1d\xf7\x0f\xd3\x23\x1d\xd0\x26\x1d\x2b\xf7\x67\x24\x0a\xd0\x26\x1d\xeb\xd3\x15\xfb\x03\xf7\x27\x05\xa1\x7b\x76\x97\x78" -+"\x1b\x73\x76\x76\x73\x7c\x97\x7a\xa1\x7c\x1f\xf7\x19\x32\x05\x0e\xd0\x26\x1d\xf7\x2f\xf7\x67\x7a\x0a\x81\xa5\x97\x88\x9d\x1b\xc7" -+"\xae\xae\xdf\xa2\x1f\x0e\x2a\x36\x0a\xf8\x79\xf9\x47\x20\x0a\xd0\x21\x0a\xfb\xe3\xda\x15\x76\x0a\xd0\x21\x0a\xfb\x41\xda\x15\xbe" -+"\x06\x35\xf7\x42\x05\x3a\x2a\x0a\xd0\x21\x0a\xfc\x1a\xf7\x6e\x24\x0a\xd0\x21\x0a\xfb\x55\xda\x15\xfb\x03\xf7\x27\x05\xa1\x7a\x77" -+"\x58\x1d\x61\x2d\x0a\xf7\x60\xf7\x22\x29\x0a\x61\x2d\x0a\xf7\x2b\xf7\xad\x15\x68\x6e\x6d\x67\x36\x1d\x61\x3f\x1d\xc3\xfa\x15\xed" -+"\x1d\xe2\xfb\x42\x05\xde\x06\x0e\x25\x1d\x91\xeb\x29\x1d\x25\x1d\xf7\x1a\xeb\x15\xbe\x06\x35\xf7\x42\x05\x39\x06\xfb\x33\xfb\x42" -+"\x05\xc4\x06\xf7\x17\xea\x05\x0e\x25\x1d\x42\xf7\x7f\x92\x1d\x25\x1d\xf7\x07\xeb\xa2\x0a\x7a\xa1\x7d\x1f\xf7\x18\x32\x05\x0e\x25" -+"\x1d\xbf\xf7\xe2\x30\x0a\x25\x1d\xf7\x4c\xf7\x7f\x15\x6c\x7c\x7e\x80\x74\x1b\x80\x7b\x90\x96\x70\x1f\x9d\x62\x6b\x93\x73\x5b\x1d" -+"\x80\xa6\x96\x89\x9e\x1b\xc7\xad\xae\xdf\xa2\x1f\x0e\xfb\x65\xf7\x16\x7f\x15\x8a\x92\x90\x8b\x91\x1b\xb7\xb7\x9b\xa8\xac\x1f\xa5" -+"\xa1\x9b\x9e\xae\xbd\x6f\x9d\x18\x48\x5b\x6c\x74\x60\x1b\x5f\x6e\xaf\xc0\xca\xa5\xe5\xaf\xcc\x1f\xba\xa6\xa7\xa3\xaa\x1b\x97\x95" -+"\x84\x81\x87\x89\x85\x85\x82\x1f\x82\x7b\x87\x80\xbf\x1d\xfb\x38\xfb\x34\x47\xae\x57\xc8\x75\x1e\x4f\x33\x98\x7f\x05\x8e\x97\x92" -+"\x8c\x96\x45\x1d\xfb\x65\x22\x0a\xeb\xf7\xc2\x29\x1d\xfb\x65\x22\x0a\xf7\x74\xf7\xc2\x23\x1d\xfb\x65\x22\x0a\x9c\xf8\x4d\x24\x0a" -+"\xfb\x65\x22\x0a\xf7\x6f\xf7\xc2\xaa\x1d\xfc\x0b\x70\x0a\x3e\xf8\x19\x29\x1d\xfc\x0b\xf7\xa6\xf8\x98\x48\x0a\xa9\xfc\x6a\xb4\x1d" -+"\x51\x7e\x4c\x7f\x0a\x0e\xfc\x0b\x70\x0a\xfb\x30\xf8\xa4\x24\x0a\xfc\x0b\x2c\x1d\xa1\xf8\x19\x37\x1d\x2a\x30\x1d\x6d\xf8\xa9\x75" -+"\x0a\x23\x0a\x88\xde\x15\x2b\x1d\x38\x1d\x23\x0a\xf7\x11\xde\x15\xbe\x06\x35\xf7\x42\x05\x3a\x2a\x0a\x23\x0a\x34\xf7\x72\x24\x0a" -+"\x23\x0a\xf5\xde\x15\xfb\x03\xf7\x27\x05\xa1\x7a\x77\x97\x78\x1b\x73\x76\x76\x73\x7b\x97\x7a\xa1\x7d\x1f\xf7\x19\x32\x05\x0e\x23" -+"\x0a\xf7\x43\xf7\x72\x8e\x1d\x9e\x1b\xc7\xad\xae\xdf\xa2\x1f\x0e\xfb\x9c\x3d\x1d\xf7\x15\xf8\x12\x20\x0a\x2a\x26\x0a\xfb\x54\xf8" -+"\x20\x29\x0a\x2a\x26\x0a\x47\xf8\x20\x23\x1d\x2a\x26\x0a\xfb\xa8\xf8\xab\x92\x1d\x2a\x26\x0a\x38\xf8\x20\xaa\x1d\xfb\x65\x31\x1d" -+"\xf7\x7a\xd9\x29\x0a\xfb\x65\x31\x1d\xf7\x26\xf7\x6d\x24\x0a\xfb\x9c\x34\x1d\xf8\x04\xf7\x85\x20\x0a\xfb\xae\xf7\xbf\xf7\xfa\x15" -+"\x66\x73\x82\x82\x83\x1b\x88\x89\x8e\x8f\x90\x8d\x91\x98\xb3\x1f\xa1\xca\x05\x94\xa9\x91\xa4\x9a\x1a\xa9\x7a\x9c\x6e\x61\x71\x76" -+"\x3d\x55\x1e\xac\xef\x5e\x81\x5d\x85\x67\x8a\x19\x74\x93\x07\x9d\x91\x88\x83\x83\x86\x79\x65\xfb\x1b\x1f\x7f\x5e\x85\x74\x05\xd9" -+"\x06\xa1\xdb\x94\xa3\x9f\xb3\x08\xc1\xa5\xa7\xab\x9e\x1b\x90\x91\x86\x87\x88\x8a\x87\x8a\x87\x1f\x6a\x29\x05\x81\x6c\x84\x6b\x7c" -+"\x1a\x73\x9c\x7c\xa5\xb1\xa4\xa0\xc7\xaf\x1e\x0e\x75\xf8\xe7\xf8\x55\x15\x2f\x06\x46\x1d\xa9\xa0\xa1\xaa\xbc\x65\xaa\x4e\x57\x5a" -+"\x76\x63\x68\x1e\x61\x5d\x77\x62\x6f\x26\x08\x42\x06\x82\x61\x05\xd4\x06\x36\xfc\x0e\x8b\x8b\x88\x7d\x08\xfb\x28\x6c\x78\x62\x63" -+"\x1b\x81\x83\x90\x91\x8d\x8c\x8e\x8e\x8f\x1f\x93\x97\x8f\x96\x96\x1a\xa3\x73\xa3\x71\x70\x73\x72\x6e\x5b\xb2\x6c\xc7\xb5\xb0\x99" -+"\xa8\xaa\x1e\xb2\xaf\xa7\xc0\xab\xf2\xa4\xda\x96\xb9\xc1\xf7\x90\x08\xe5\x06\xfb\x74\xb5\x15\x2f\x06\x46\x1d\xa9\xa0\xa1\xaa\xbc" -+"\x65\xaa\x4e\x57\x5a\x75\x64\x68\x1e\x61\x5d\x78\x62\x6e\x26\x08\x42\x06\x82\x61\x05\xd4\x06\x5b\xfb\x66\x68\xfb\x32\x86\x73\x42" -+"\x1d\xb5\xb0\x99\xa8\xaa\x1e\xb3\xaf\xa6\xc0\xac\xf2\xa3\xda\x96\xb9\xc1\xf7\x90\x08\xe5\x06\x0e\xf7\x69\xf8\x67\xf9\x00\x15\xba" -+"\x64\xaa\x4f\x57\x5a\x75\x64\x68\x1e\x61\x5d\x78\x62\x6e\x26\x08\x42\x06\x82\x61\x05\xd4\x06\x56\xfb\x7f\x6e\xfb\x12\x85\x6c\x42" -+"\x1d\xc9\xbe\xaa\xc9\xb1\x1e\x89\x85\x8b\x87\x85\x1a\x5f\xb4\x6a\xc3\xbc\xbc\xa4\xb5\xac\x1e\xaa\xb2\xac\xd1\x98\xbe\xc1\x0a\x7e" -+"\x58\x88\x7d\x7a\x1a\x62\xa6\x73\xb7\xc7\xb1\xaa\xf4\xd0\x1e\x75\x98\x05\x53\x64\x74\x74\x7b\x1b\x84\x83\x93\x93\x96\x93\xae\x98" -+"\xbc\x1f\x8c\x8f\xd4\xf7\xaf\x49\x86\x7b\x8a\x42\x87\x19\xfb\x0a\x06\xac\xf7\x0b\x97\xa8\xab\xb2\x08\xa2\x9e\xad\x99\xb0\x1b\x9c" -+"\x94\x86\x80\x86\x8a\x88\x85\x84\x1f\x80\x7f\x87\x80\x7e\x1a\x6c\xa4\x73\xac\xac\xa3\xa3\xac\xc3\x51\xb2\x37\x3d\x49\x6b\x51\x61" -+"\x1e\xfb\x66\xfb\x38\x15\x46\x1d\x94\x92\x8d\x8f\x93\x1e\x7c\x71\x82\x73\x72\x43\x08\x80\x61\x15\x2f\xfc\x2f\x05\xfb\x20\x6c\x7c" -+"\x70\x5f\x1b\x7f\x86\x8e\x91\x8f\x8d\x8e\x90\x91\x1f\x94\x95\x8e\x91\x96\x1a\xa7\x75\xa0\x6e\x7f\x80\x87\x83\x82\x1e\xba\xf7\x01" -+"\xa7\xf0\xc5\xf7\xae\x08\x0e\xf7\x67\xce\xf8\x55\x15\x82\x61\x05\xd4\x06\x56\xfb\x7f\x6e\xfb\x12\x85\x6c\x42\x1d\xcd\xb3\xa5\xd3" -+"\xbb\x1e\x89\x84\x8b\x87\x85\x1a\x5b\xb2\x6a\xc5\xf2\xd4\xea\xf7\x53\xba\x1e\xda\xf7\xda\x05\xf7\x27\x06\x3c\xfb\xd5\x05\x88\x7e" -+"\x89\x7f\x7f\x1a\x69\xa8\x73\xb6\xc6\xaf\xa9\xf4\xcf\x1e\x77\x96\x05\x56\x67\x75\x75\x79\x1b\x82\x83\x93\x94\x8e\x8c\x92\x8e\x95" -+"\x1f\xf7\x2b\xf8\xee\x28\x7f\x05\x9a\x3d\x8b\x8b\x75\x1b\x40\x51\x6f\x52\x60\x1f\xbc\x8a\x66\xa9\x4e\x1b\x57\x5a\x76\x63\x68\x1f" -+"\x61\x5d\x78\x62\x6e\x26\x08\xf7\x07\x16\x9d\xd2\x05\xee\xa4\xa9\xbd\xaf\x5e\x1d\x7f\x66\x1d\x93\x91\x8c\x8e\x92\x1e\x7f\x75\x83" -+"\x74\x73\x40\x08\x81\x61\x15\x2f\xfc\x26\x05\xfb\x24\x6a\x7c\x6c\x68\x1b\x7d\x83\x90\x92\x8f\x8c\x8e\x90\x91\x1f\x92\x95\x8e\x93" -+"\x95\x1a\xa7\x78\x9d\x6f\x7c\x7f\x87\x82\x80\x1e\xbc\xf7\x03\xa1\xdd\xc9\xf7\xbe\x08\xf8\x2f\xb5\x15\xfb\x2b\x06\xa0\xe5\x9a\xb5" -+"\xa0\xae\x08\xb1\xa3\xaa\xa0\xac\x1b\x9d\x9d\x82\x81\x89\x8a\x8a\x86\x83\x1f\x80\x7b\x87\x82\x7e\x1a\x7b\x91\x7f\x9a\x80\x1e\x0e" -+"\xec\xa4\xf7\xa3\x15\xf7\x72\x9e\x06\x59\x82\x8f\xa0\x94\x8d\x98\x8f\x97\x1f\xec\xf7\xdb\x45\x7d\x6a\x85\x43\x80\x19\x89\x77\x05" -+"\x8c\xa4\x99\x8c\x8f\x1b\x99\x97\x81\x80\x81\x6c\x23\x70\x39\x1f\x85\x78\x85\x7a\x8a\x85\x08\x4b\x7b\x7c\x7d\x53\x1b\xf8\xf3\xf8" -+"\x16\x15\x52\x06\xfc\x3f\xfd\x46\x05\xc4\x06\xf7\xe6\xbb\x1d\x69\xbb\x0a\x42\x56\x5d\x4c\x6c\x95\x74\xaa\xb9\x1d\x73\x6e\x73\x1e" -+"\x4c\x4f\x15\xb2\x63\x9b\x6f\x6d\x1a\x64\x71\x6f\x69\x67\x76\xa3\xb4\xb5\x9f\xab\xb5\xa5\x1e\x0e\xec\xf7\x17\xf8\x72\x15\xce\x88" -+"\xab\x6e\x51\x1a\x59\x6d\x64\x64\x79\x88\x8d\xa7\x77\x1e\x9d\x7d\x7e\x94\x7b\x1b\x76\x7c\x7a\x74\x6c\xaa\x79\xc0\xf2\xdf\xd0\xe0" -+"\xb1\x7e\xa2\x64\xa5\x1f\x92\x8f\x05\xc3\xaa\x99\x9d\xae\x1a\xb9\x61\xad\x53\x57\x64\x74\x54\x65\x1e\x99\x7e\x05\xaa\xa6\x9d\x95" -+"\xa7\x1b\xac\xa0\x77\x6c\x61\x65\x71\x3b\x7c\x1f\xf8\x87\xf7\x4c\x15\x52\x06\xfc\x3f\xfd\x46\x05\xc5\x06\xf7\xe5\xf7\x76\x15\x42" -+"\x6f\x69\x67\x58\x1a\x52\xbe\x62\xd3\xdb\xc9\xc2\xd0\xb0\x79\xb0\x6a\xab\x1e\xcb\xa8\xa1\xa2\xb4\x1a\xbf\x5f\xaf\x4b\x42\x56\x5d" -+"\x4c\x6c\x96\x74\xa9\xb9\x1d\x74\x6e\x72\x1e\x4c\x4f\x15\xb1\x65\x9c\x6d\x6d\x1a\x65\x71\x6e\x69\x67\x76\x50\x0a\xec\xea\xf8\x94" -+"\x15\x8c\x92\x90\x8b\x8e\x1b\xcc\xb9\x5c\x49\x5c\x73\x63\x6e\x81\x7b\x91\x94\x7d\x1f\x9e\x6f\x89\x8c\x7f\x1b\x7a\x7c\x7d\x7b\x73" -+"\xa5\x7a\xaf\xec\xd5\xd7\xed\xb6\x7a\xaa\x65\xa5\x1f\x74\x9b\x79\x91\x69\x8e\x9d\xae\x18\xf7\x1b\x06\x9e\xce\x05\xfb\x2e\x06\xf8" -+"\x51\x89\x15\x52\x06\xfc\x3f\xfd\x46\x05\xc5\x06\xf7\xe5\xd6\x1d\xc1\xd1\xb0\x79\xb0\x6a\xab\x1e\xcc\xa8\xa1\xa2\xb4\x1a\xbf\x5f" -+"\xaf\x4a\x42\x56\x5d\x4c\x6c\x95\x75\xaa\x67\x1e\xe1\xb2\x15\x61\xb1\x81\x9b\xa6\x1a\xa9\x9f\xa0\xa7\xa8\x9c\x77\x6a\x6c\x7e\x72" -+"\x6e\x74\x1e\x4c\x4f\x15\xb1\x65\x9c\x6d\x6d\x1a\x64\x72\x6f\x68\x68\x75\x50\x0a\xec\xf7\xb8\xf8\xf2\x15\xfb\x58\xfb\xd7\xa9\x7b" -+"\xf7\x8a\xf8\x2d\x05\xfb\x74\x06\x57\x25\x05\xa0\x06\xa3\x97\xa1\x93\xc1\x1b\xf8\x10\xd1\x15\x52\x06\xfc\x3f\xfd\x46\x05\xc4\x06" -+"\xf8\x02\xbb\x1d\x6a\xbb\x0a\x41\x56\x5d\x4c\x6c\x96\x74\xa9\x68\x1e\xe1\xb2\x15\x61\xb1\x81\x9b\xa7\x1a\xa8\x9f\xa0\xa7\xa8\x9c" -+"\x77\x6a\x6c\x7f\x73\x6d\x73\x1e\x4c\x4f\x15\xb1\x64\x9c\x6e\x6d\x1a\x64\x71\x6f\x69\x67\x76\x50\x0a\xf7\xb7\x99\x0a\x62\x7a\x96" -+"\xa5\x92\x8c\x93\x8e\x96\x1f\x8c\x8d\xca\xf7\x85\x05\xf7\x02\x84\xa2\x7c\x4b\x1a\x83\x8b\x82\x8a\x80\x71\x1d\xf7\x48\xf8\x4d\xa6" -+"\x0a\x4d\x0a\x99\x27\x1d\xf7\x55\xf9\x14\x15\x49\x6c\x68\x57\x0a\x06\x57\x8e\x79\x97\x71\x1e\x5a\x1d\x99\x79\x1d\x99\x7a\x1d\xfb" -+"\x35\x51\x15\x99\xa9\x92\x9c\x90\x93\x47\x1d\x84\x6c\x88\x51\x0a\x89\x7a\x8b\x87\x89\x73\x08\x0e\x99\x27\x1d\xf7\x88\xf8\xdd\x25" -+"\x0a\x99\xf7\xf5\xf7\x64\x15\x95\x41\x90\x62\x81\x1a\x62\x7c\x80\x4b\x85\x1e\x72\xf7\x92\x9e\x1d\x62\x75\xa1\xb6\x9a\x8d\x95\x92" -+"\x99\x1f\xa4\x07\x49\x90\x86\x90\x7e\xd7\x2b\xf8\xd0\x18\x72\x06\xfc\x08\xfc\xe0\x6b\x5a\x7c\x7e\x67\x83\x19\x72\xf7\x58\xa4\x07" -+"\x5d\x78\x96\xa3\x99\x90\x9a\x95\x9c\x1f\xc6\xf1\x05\xa2\xb3\x15\xf7\x28\xf7\x87\xb0\xfb\x87\x05\x0e\x99\xf8\xe5\xa4\x15\xcd\x1d" -+"\x6a\x59\x7d\x7f\x67\x83\x19\x72\xf7\x58\xa4\x07\x5d\x78\x96\xa3\x99\x90\x9a\x95\x9c\x1f\xc6\xf1\x05\xf7\x6b\x06\xde\x1d\xf7\xc4" -+"\x07\xfc\x44\xf7\x8c\xd0\x1d\xcb\xf8\xe7\x15\x51\x5a\x69\x64\x60\xba\x69\xc6\xc7\xba\xad\xb5\xb3\x5b\xad\x51\x1f\x89\x69\x15\xac" -+"\xa6\x78\x74\x75\x6f\x79\x6b\x6c\x71\x9e\xa0\xa2\xa5\x9e\xaa\x1f\x60\xaf\x15\xf7\x2c\xc8\x05\xa9\x97\x94\x93\x98\x1a\x9d\x75\x9a" -+"\x71\x79\x7c\x83\x70\x66\x1e\xfb\x0e\x2f\x05\x0e\x99\x6f\x1d\x99\x33\x1d\xfb\x67\xf7\xa7\xa9\x1d\x99\x33\x1d\x97\xf8\x55\x20\x0a" -+"\xa0\x33\x1d\x44\xf7\xa7\x15\xbf\x06\x35\xf7\x42\x05\x39\x2a\x0a\x99\x33\x1d\xfb\x46\xf8\x32\xbd\x1d\x99\xaf\x0a\x6e\x77\x77\x85" -+"\x1d\x97\x1a\xa3\x9a\x9e\x9f\x1e\x99\x28\x1d\xfb\x9b\x4b\x0a\xe3\xfb\x92\x18\xfb\x33\xfb\x43\x54\x4c\x60\x69\x67\x82\x33\x0a\xf7" -+"\x61\x21\x1d\x7e\x06\x6a\x79\x97\xa2\x9b\x94\x9c\xa3\xa6\x1f\x0e\xd0\x65\x0a\xf8\x34\xf9\x9a\x15\x53\x06\xfb\x1b\x2a\x2f\xec\x05" -+"\x5a\x06\xe3\xfb\x42\x05\xdd\x06\x0e\xd0\x5c\x0a\x99\xac\x16\xf8\xee\x06\xfb\xad\xf9\x44\x05\xfb\x6b\xfc\xe6\x15\xf7\x40\xf8\x09" -+"\xf7\x2f\xfc\x09\x05\x0e\x99\x24\x1d\x98\xfa\x0c\x38\x0a\x99\x24\x1d\xbe\xfa\x18\x20\x0a\x99\x24\x1d\xfb\x19\xf9\xf5\x2a\x1d\x99" -+"\x24\x1d\xc0\xf9\xd5\x25\x0a\xd0\xf8\x4d\xc8\x15\x72\x3c\x05\x37\x6f\x57\x41\x6c\x1b\x80\x7f\x92\x90\x8e\x8c\x8c\x8f\x91\x1f\x92" -+"\x96\x8e\xad\x0a\xee\xcd\xd4\xf7\x31\xb8\x1e\xf7\x18\xf8\x68\x8a\x0a\xfb\x6b\xf8\x65\x05\xfb\x57\x72\x06\xc2\x86\x94\x85\x9e\x5f" -+"\xfb\x0c\xfc\x2f\x18\x64\xfb\x17\x84\x80\x54\x80\x08\x72\xf7\x64\xa4\x07\x50\x90\x76\x9a\xb2\x1a\x9e\x91\xac\x97\xb5\x1e\xee\xf7" -+"\xf8\x05\x0e\x99\xf8\xde\xf7\x56\x15\x72\x90\x68\x52\x76\x72\x64\x70\x19\x64\x53\x47\x78\x35\x1b\x60\x79\x95\xa3\x92\x8d\x96\x91" -+"\x9f\x1f\x8d\x8f\x8c\x92\x8d\x93\x8d\x91\x18\xc3\xf7\x65\x05\xf7\x06\x89\xa9\x78\x47\x1a\x7d\x8a\x7f\x88\x78\x1e\xa7\x86\xd5\xf7" -+"\xa5\x6f\x8f\x5c\x2d\x71\x7e\xfb\x18\x8c\x19\xc8\xf7\x73\x05\xae\x95\x97\x94\xb4\x1b\xd3\xc2\x7c\x70\xa6\x1f\xa2\x73\x92\x72\x4d" -+"\x1a\xa6\x86\xb6\xf7\x52\x05\xfc\xb0\x72\x06\xae\x85\xa0\x87\xc4\x0a\x80\x1a\x7d\x87\x73\x85\x75\x1e\xfb\x0f\xfc\x55\x7b\x56\x7f" -+"\x80\x57\x83\x19\x72\xf8\x90\x07\x69\x5e\x82\x78\x6f\x31\x0a\xb4\x9e\x8f\x9e\x98\xb7\x1f\x0e\x99\xf7\xd2\xf7\xdf\x15\xca\x06\xbf" -+"\xa8\x73\x62\x83\x8b\x89\x88\x74\xc2\x1d\xcf\xf7\x96\x05\xbe\xb0\x1d\x7a\x72\x1a\x84\x95\x1d\x67\x75\x9a\xa3\x93\x8d\x97\x8e\x98" -+"\x1f\x0e\xf7\x10\xf7\x30\x41\x1d\xf7\xe8\x4e\x15\xca\x06\xbf\xa8\x73\x61\x84\x8b\x87\x88\x76\x1f\xa0\x06\xc8\xf7\x7a\x05\x76\x06" -+"\x4a\x6e\x5a\x6c\x43\x1b\x61\x06\xd0\xf7\x96\x05\xbd\x06\xe7\x8e\xca\x5e\x91\x40\x08\x9d\x06\xb4\xf7\x2e\x05\xfc\x6f\x06\x86\x75" -+"\x05\xa3\x06\xa5\x8a\x9c\x7b\x70\x1a\x84\x8a\x87\xbf\x0a\x69\x88\x19\x84\x20\x1d\xf8\x71\x06\xca\xf7\x3a\x05\x78\x06\x37\x37\x30" -+"\x5c\x3c\x1b\x67\x75\x9a\xa3\x93\x8d\x96\x8f\x99\x1f\x0e\xf7\x11\x64\x0a\xfb\xbc\x06\x85\x53\x1d\x0e\xf7\x86\xf7\x21\xf8\x1c\x15" -+"\x99\xaa\x93\x9c\x8f\x92\x47\x1d\x85\x6c\x87\x51\x0a\x8a\x7a\x8a\x87\x89\x73\x08\xf7\xe6\x44\x15\xf7\x7a\x06\x4d\xfb\x7d\x34\x0a" -+"\x66\x20\x1d\xf7\xbf\x21\x1d\x72\x06\x71\x8c\x7a\x9b\xa5\x1a\x91\x8c\x91\x8c\x91\x53\x0a\xae\x8e\x19\x97\x21\x1d\xfb\xa8\x20\x1d" -+"\xa5\x06\xa5\x9c\x7a\x72\x83\x8a\x86\x8a\x85\x1f\x51\xfb\x6d\x05\xfb\x7a\x06\xc4\xf7\x68\x97\xb8\x9c\x9d\xae\x8e\x19\xb2\x28\x1d" -+"\xfb\xbd\x94\x1d\x22\x1d\xda\x1d\x0e\xf7\xb5\xf8\x2d\x15\x8c\x8e\x05\xf7\x24\xc3\xde\xe8\xd2\x1b\xc7\xb1\x50\x2e\x1f\x80\x9e\x07" -+"\xbc\xf7\x5e\x05\x78\x06\x7a\x82\x81\x84\x7d\x1b\x84\x81\x8d\x8f\x81\x1f\x9b\x59\x7e\x8e\x6e\x1b\xfb\x17\xfb\x25\xfb\x0d\xfb\x33" -+"\x51\x1f\x5e\x06\x6a\x59\x05\xcb\x06\x85\x78\x87\x7b\x88\x79\x08\x5b\x06\x6a\x59\x05\xd9\x06\x8a\x86\x8b\x84\x8b\x1a\xfb\x31\xd3" -+"\x2f\xf7\x0d\xdf\xce\xac\xca\xb5\x1e\x98\xb5\x05\x4a\x5b\x54\x6c\x4a\x1b\x43\x62\xc4\xef\xa0\x8c\x9d\x8f\xa2\x1f\xf7\x01\x06\xac" -+"\xbd\x05\xfb\x1b\x06\x8f\x9d\x91\xa1\x90\x98\x08\xf7\x3b\x06\xac\xbd\x05\x0e\x5a\xf7\x8c\xa5\x15\x57\x8d\x79\x96\xa6\x1a\x9a\x8e" -+"\x9d\x97\xb8\x1e\xe6\xf8\x07\x99\xc3\x92\xa0\x95\x98\x19\x98\x94\xa4\x91\xb9\x1b\xda\xb5\x7f\x6b\xaa\x1f\xa9\x6d\x96\x6c\x8e\x51" -+"\xa7\x92\x18\xbb\xf7\x56\x05\xfc\xdf\x06\x8c\x71\x05\xc0\x88\x9d\x81\x6f\x1a\x7d\x8a\x86\x82\x68\x1e\x2a\xfc\x1e\x72\x25\x7f\x7b" -+"\x56\x88\x19\x71\xf7\xba\x07\x0e\xd0\x35\x0a\xfb\x0f\xf8\xdc\x38\x0a\xd8\xf8\xe6\xf9\x67\x48\x0a\xf7\x5c\xfc\x7c\x78\x1d\x5f\x69" -+"\x91\x5e\x1b\x3d\x99\x1d\xd2\x92\x91\xc0\x90\x19\x0e\xd0\x35\x0a\xfc\xbe\xfd\x08\x35\x1d\xd0\x35\x0a\xfb\x81\xf8\xc5\xbd\x1d\xf7" -+"\x11\xf7\x34\xf8\x72\x15\x23\xfc\x11\x4f\x1d\xa4\x07\x54\x8d\x79\x95\xa8\x1a\x9a\x8f\x9f\x9a\xbf\x1e\x91\xa1\xde\xf7\xc3\x05\xca" -+"\x06\x97\xb7\x05\x4c\x06\x99\xbd\x9b\xc0\x99\x97\xbe\x92\x19\xa4\xfb\xbe\x72\x07\xab\x86\x99\x8a\x95\x87\x92\x87\x19\x91\x87\x8f" -+"\x83\x80\x1a\x7f\x86\x6c\x86\x79\x1e\x84\x73\x05\xfb\x83\x06\x99\xbd\x9b\xc2\x9f\x9a\xcc\x8d\x19\xa4\xfb\xd1\x72\x07\xae\x85\xa0" -+"\x87\x91\x86\x08\x92\x87\x8f\x82\x7f\x1a\x7f\x87\x79\x84\x6f\x1e\x84\x73\x05\x4b\x06\x7e\x5f\x05\xf7\x68\x16\xf7\x84\x06\x6e\x22" -+"\x05\xfb\x83\x06\x0e\xf7\x19\xf9\x26\xd5\x1d\x91\x8d\x93\x8d\x93\xf7\x01\xf8\x21\x18\x9b\xc0\x99\x97\xbe\x92\x08\x56\x1d\x5c\xfb" -+"\x41\x05\xfb\x83\x06\xc1\xf7\x5b\xab\x1d\x86\x91\x87\x5c\x1d\x78\x84\x70\x1e\xfb\x0e\xfc\x55\x4f\x1d\x07\x66\xf9\x67\x23\x1d\xf7" -+"\x63\xf7\xda\xa1\x15\x6f\x06\x71\x8c\x7a\x9b\xa3\x1a\x92\x8c\x91\x8d\x92\x1e\xf7\x21\xf8\x7f\x98\xb8\x9d\x9d\xae\x8e\x19\x97\x06" -+"\x92\xa1\x05\xfb\xa6\x96\x0a\x7a\x79\x67\x88\x19\x83\x20\x1d\xf7\xa8\x06\xf7\xab\xf9\x14\x15\xa9\x06\xa4\x9c\x7a\x73\x83\x8a\x86" -+"\x89\x84\x1f\xfb\x24\xfc\x8a\x05\x6a\x82\x80\x7d\x7a\x1b\x80\x82\x93\x95\x90\x8d\x91\x8e\x8f\x1f\x9d\xa4\x8e\x92\x9e\x1a\xaa\x76" -+"\x9f\x6b\x66\x6f\x6a\x60\x53\xb9\x61\xca\xe7\xd7\xce\xf7\x00\xaa\x1e\xf7\x09\xf8\x2c\x98\xb8\x9e\x9d\xae\x8e\x19\x92\x06\x92\xa1" -+"\x05\xfb\xa8\x06\x0e\xfb\x9c\x27\x0a\xf7\x2a\xfa\x0c\x15\x49\x6c\x67\xc2\x0a\x56\x8d\x7a\x97\x71\x1e\x5f\xa0\xb3\x69\x1d\xfb\x9c" -+"\x27\x0a\x82\xf9\xf5\x2a\x1d\xfb\x9c\x27\x0a\xf7\x59\xf9\xd5\x25\x0a\xfb\x9c\xf7\x9c\x86\x1d\xf7\x7f\x9e\x1d\x64\x73\xa1\xb0\x9d" -+"\x92\x9b\x98\x96\x1f\x0e\xfb\x9c\x80\x1d\x0e\xfb\x9c\x80\x1d\x56\xf9\xd2\x15\x68\xb2\x0a\x6a\x1f\xf7\x57\x16\x69\xb2\x0a\x69\x1f" -+"\x0e\xfb\x27\xf7\x14\x41\x1d\xf7\xec\xfc\x06\x15\xda\x1d\xf7\x17\xf8\x7f\x97\xb8\x9c\x32\x0a\xfb\xa3\x94\x1d\x0e\xfb\x9c\xf7\x9d" -+"\x84\x1d\xf7\x49\xf9\xec\x15\x6b\x7c\x7e\x81\x74\x1b\x7f\x7b\x90\x96\x71\x1f\x9c\x62\x6b\x94\x92\x0a\xa4\x98\x88\x9d\x1b\xc7\xaf" -+"\xaf\xde\xa1\x1f\x0e\xfb\x28\xf8\xa3\x6a\x0a\xbf\x9a\x99\xbc\x91\x19\x7d\xf1\x23\x1d\x99\xf7\xc6\xf7\xf5\x15\xdc\xfb\x97\x05\x91" -+"\x7b\x8c\x84\x82\x1a\x73\x7b\x7b\x73\x1e\x7f\x20\x1d\xf7\x93\x4f\x0a\xfb\x03\xf7\xdc\xf7\x38\xf7\x2d\xc3\xb8\xb2\x9d\xba\x90\x19" -+"\x90\x3b\x0a\x9c\x98\x7c\x78\x77\x7b\x6f\x71\x73\x1f\xfb\x4e\xfb\x43\xc4\xf7\x6b\x97\xb8\x9d\x9d\xad\x8e\x19\xa1\x21\x1d\xfb\xb1" -+"\x45\x0a\xf7\xa5\x21\x1d\x6c\x06\x70\x7b\x9c\xa5\x93\x8b\x8f\x8d\x91\x1f\x0e\x99\x58\x0a\xfc\x3c\xfc\x14\x39\x0a\x61\x2f\x0a\xfb" -+"\x60\xf9\x6a\xa9\x1d\x99\xf8\x09\xf8\x56\x15\x77\xfb\xfc\x87\x5e\x77\x75\x64\x8a\x19\x84\x20\x1d\xf7\x93\x21\x1d\x7f\x06\x71\x7e" -+"\x9f\xb0\x1f\x96\x07\xa7\xf8\xd0\x05\x72\x06\xfc\x36\xfc\xc0\x60\x52\x72\x73\x77\x88\x33\x0a\xf7\x42\x28\x1d\x7c\x06\x73\x7a\x99" -+"\xa0\x9a\x90\x98\x9b\xa0\x1f\x0e\x61\x2f\x0a\x57\xf8\x25\x15\xf4\xb9\xce\xd8\xd4\x1a\xc0\x6d\x60\x1d\x67\x68\x44\x65\x1e\x0e\x61" -+"\x2f\x0a\xfc\x46\xfb\xd8\x39\x0a\x61\x2f\x0a\x44\xf8\x2c\x2b\x0a\xf7\x80\x69\x0a\xf7\xaf\x06\x9b\x0a\x97\xb8\x9e\x9d\xad\x8e\x19" -+"\x9d\x21\x1d\xfb\x53\x06\x0e\xd0\x2e\x0a\x29\xf8\x9e\x29\x0a\xd0\x2e\x0a\xf7\x11\xf9\x4c\x15\x53\x06\xfb\x1c\x2a\x31\xec\x05\x59" -+"\x06\xe3\xfb\x42\x05\xdd\x06\x0e\xd0\x2e\x0a\xfc\x05\xfc\xa4\x35\x1d\xd0\xf8\xbc\xf7\x67\x15\xfb\x62\xf8\x57\x05\xfb\x50\x06\x85" -+"\x75\xae\x8a\x9f\x81\x9e\x70\x19\xfb\x14\xfc\x77\xa7\x1d\xf7\x0b\xf8\x54\xf7\x97\xfc\xc6\x05\x9f\x06\xf7\x22\xf8\xa8\xa2\xe0\x99" -+"\x9d\xb7\x90\x19\x22\x1d\xfb\x3b\x20\x1d\xb5\x9e\x7e\x71\x7e\x89\x7c\x86\x7b\x1f\x0e\xd0\x26\x1d\xf7\x2d\xf7\x81\x15\x49\x6c\x67" -+"\x73\x4a\x1b\x4b\x6b\xa8\xc8\x85\x1f\x60\x06\x56\x8e\x7a\x97\x71\x1e\x5a\x1d\xd0\x26\x1d\xfb\x19\xd6\x51\x1d\xd0\x26\x1d\xf7\x4a" -+"\xf7\x4a\x15\xfb\xd9\x06\x7a\x45\x05\xf7\xda\x06\x0e\xf7\x18\xf7\x11\x41\x1d\xbc\xfb\x6f\x15\x7e\xfb\x41\x05\xf7\x7e\x06\xa3\xe5" -+"\x05\x6f\xc0\x84\xa9\xca\x1a\xd0\x99\xd8\xa7\xe1\x1e\xf7\x06\xb0\xbb\xbc\xd7\x1b\xce\xb5\x5d\x42\x49\x73\x29\x66\x36\x1f\x69\x3b" -+"\x70\x60\x5d\x59\x73\x31\x18\xf7\x83\x06\xd6\xf7\x41\x05\x79\x06\x5c\x49\x6b\x7a\x3b\x89\x08\x36\x06\xbe\xa3\xac\xa1\xb9\xb3\x08" -+"\xef\xe4\xbc\xe8\xef\x1a\xf7\x18\x30\xdf\xfb\x22\x44\x46\x77\x66\x55\x1e\x2c\x4d\x4a\xfb\x0e\xfb\x06\x1a\x2d\xbb\x3d\xe8\x52\x1e" -+"\x49\x06\x4a\x89\x59\xac\x7c\xc1\x08\x0e\xd0\xf8\x70\xf9\x34\x15\x3a\x2f\x67\x54\x4b\x1f\x25\x32\x4a\xfb\x23\xfb\x17\x1a\x4b\xa1" -+"\x4e\xb1\x62\x1e\x64\xae\xc6\x75\xcc\x1b\xf7\x6b\xf7\x56\xf7\x6b\xf7\x82\xf7\x21\x35\xe2\xfb\x1e\x1f\x7e\x63\x15\xc4\xb0\x5a\x3e" -+"\xfb\x09\x55\xfb\x4c\x4d\x2c\x1f\x5a\x6b\x57\x6c\x5a\xd3\x1d\xbe\xad\xc4\x1b\x0e\xd9\xf4\x41\x1d\xf8\x7d\xf7\xac\x15\x3b\x2e\x67" -+"\x54\x4b\x1f\x26\x32\x49\xfb\x22\xfb\x18\x1a\x4b\xa1\x4e\xb1\x62\x1e\x64\xae\xc6\x75\xcd\x1b\xf7\x6b\xf7\x56\xf7\x6b\xf7\x81\xf7" -+"\x22\x35\xe2\xfb\x1f\x1f\x7e\x63\x15\xc5\xb0\x5a\x3f\xfb\x09\x55\xfb\x4c\x4c\x2b\x1f\x5a\x6b\x58\x6c\x59\xd3\x1d\xbf\xad\xc3\x1b" -+"\x0e\xd0\xe2\x1d\x76\x8e\x6d\x1b\xfb\x6a\xfb\x63\xfb\x7c\xfb\x85\x67\x0a\x74\x90\x76\xb3\x0a\x56\x1b\x70\x79\x91\x9b\x76\x1f\xf7" -+"\x8c\xf9\x4b\x15\xf7\x2c\xe2\x05\xa9\x9d\x94\x95\x9e\x1a\xa5\x75\xa0\x70\x7a\x7a\x7f\x65\x68\x1e\xfb\x0e\xfb\x17\x05\x0e\xf7\x1c" -+"\xf8\x0e\xf9\x48\x15\x55\x0a\x9d\x7b\x73\x1a\x86\x8a\x83\x89\x83\x1e\x36\x88\x57\x84\x62\x7d\x08\xfb\x19\x5d\x3f\xa7\x0a\x7d\x5b" -+"\x7c\x7b\x67\x87\xdc\x1d\xf7\x9f\x21\x1d\x6e\x06\x72\x8c\x79\x9b\xa2\x1a\x92\x8d\x94\x8d\x95\x1e\xe1\x8e\xb3\x90\xb9\x9b\x08\xf7" -+"\x18\xb7\xd8\xf5\xf7\x1c\x1a\xf7\x1e\x34\xe3\xfb\x28\x97\x1e\x97\xb7\x9d\x9c\xcc\x1d\xbd\xe5\x1a\xf7\x03\xba\xf7\x0f\xcc\xc5\x1e" -+"\xac\xa9\xa9\x95\xcb\x90\x08\xf7\x12\x16\xb5\x81\x97\x85\x9b\x74\x08\xa1\x6d\x95\x66\x5a\x1a\xfb\x02\x5e\xfb\x09\x4b\x51\x1e\x64" -+"\x69\x6e\x7f\x54\x88\x08\x0e\xf7\x11\xf9\xbf\xf9\x2a\x15\xfd\x0e\x06\x85\x53\x1d\xf7\x12\xf8\x6e\x98\xb8\x9c\x9d\xae\x8e\x19\xf7" -+"\x12\x06\xa5\x9c\x7a\x71\x85\x8a\x85\x8a\x85\x1f\xfb\x13\xfc\x6e\x79\x0a\x0e\xf7\x27\xfa\x18\xf9\x1c\x15\xa0\x62\x74\x92\x6b\x1b" -+"\x69\x72\x81\x76\x78\x1f\x76\x73\x7f\x6c\x74\x2f\x68\xfb\x2e\x53\x46\xfb\x03\x74\xe1\xf7\xd6\x18\x97\xb8\x9d\x9d\xae\x8e\x08\x97" -+"\x21\x1d\xfb\xa3\x20\x1d\xa1\x06\xac\x8a\x9f\x7b\x71\x1a\x86\x8a\x85\x89\x84\x1e\x35\xfb\xd8\x71\x91\x80\x90\x7f\x94\x19\x6e\xa1" -+"\x7a\xb1\xb6\x1a\xa4\x91\xaf\x97\xb9\x1e\xa2\xe3\x8c\x8f\xa3\x1a\xb9\x6f\xa7\x5e\x6d\x73\x85\x74\x58\x1e\x8e\x71\x05\x8f\x98\x90" -+"\x8c\x92\x1b\x9b\x94\x80\x78\x81\x8a\x85\x86\x77\x1f\x7b\x50\x05\x83\x6c\x87\x73\x76\x1a\x5c\x9d\x5a\xa9\x66\x1e\xaf\x5e\xb2\x7a" -+"\xdb\x84\x68\xfb\x1a\x18\x7e\x5f\x74\x78\x64\x88\x08\x76\x06\x85\x75\x05\xf7\xb9\xca\x1d\xb0\xf7\x1c\xf7\x54\x9e\xf7\x00\xdd\xac" -+"\xf7\x30\x19\x9b\xc8\x05\xd9\xa0\x94\x9a\xa3\x1b\x92\x91\x89\x86\x98\x1f\x0e\x99\x3b\x1d\xdd\xf7\xff\xa8\x1d\x99\x3b\x1d\xf7\xc5" -+"\xf8\xad\x20\x0a\x99\x3b\x1d\xfb\x28\xfd\x43\x39\x0a\x61\x97\x0a\xfb\x8b\x20\x1d\xa6\x06\xa5\x9c\x7a\x71\x84\x8a\x86\x8a\x85\x1f" -+"\x3a\x1d\x87\x20\x1d\xf7\xac\x21\x1d\x64\x06\x71\x7a\x9c\xa5\x8f\x8c\x93\x8d\x91\x1f\xf7\x24\xf8\xb1\x15\xcb\x88\xac\x6a\x50\x1a" -+"\x67\x7d\x55\x78\x67\x1e\x5c\x72\x6e\x79\x5a\x1b\x7f\x83\x8c\x8f\x7b\x1f\x0e\x2a\x36\x0a\xf7\x9a\xf8\x9c\x29\x0a\x2a\xf7\x5e\x7b" -+"\x15\x89\x9a\x91\x8b\x98\x1b\xd0\xcb\x9f\xad\xb0\x1f\xb2\xaf\xa2\xc1\xc5\x1a\xe3\x5e\xcd\xfb\x0f\xe8\x1e\x4d\xba\x7c\xa1\xb8\x1a" -+"\xcc\xb3\xb3\xcb\xdb\xb1\x5a\xfb\x09\x99\x1e\xa6\x87\xb3\xf7\x5d\x05\x6d\x06\x79\x82\x7d\x83\x76\x1b\x80\x7c\x8e\x93\x72\x1f\x99" -+"\x62\x6f\x90\x6e\x1b\xfb\x06\x34\x37\xfb\x02\x71\x90\x74\x93\x7a\x1f\xa1\x61\xb4\x5f\xc3\x5f\x08\xda\x4f\xad\x5d\x5c\x1a\x75\x84" -+"\x72\x7f\x76\x1e\x64\x74\x69\x78\x59\x1b\x57\x5e\xa3\xb6\x71\x1f\x78\xaa\x83\xa9\x87\xc7\x6e\x8d\x18\x67\xfb\x74\x05\xa9\x06\xa8" -+"\x97\x92\x91\x9e\x1b\x95\x98\x88\x83\xa2\x1f\x9c\x85\x99\x87\x9b\x86\x53\x38\x18\x98\x7f\x05\x8e\x96\x93\x7b\x0a\x30\xf8\x61\xf9" -+"\x67\x48\x0a\xfc\x06\xfd\xd8\x89\x0a\x5d\xce\xfb\x0e\xe7\x1f\xab\x0a\xcc\xda\xb2\x5a\xfb\x09\x98\x1e\xa6\x87\xb3\xf7\x5d\x05\x6d" -+"\x06\x79\x82\x7d\x83\x76\x1b\x80\x7d\x8e\x93\x71\x1f\x99\x62\x6f\x90\x6e\x1b\xfb\x06\x34\x37\xfb\x02\x71\x90\x74\x93\x7a\x1f\xa1" -+"\x61\xb4\x5f\xc3\x5f\x08\xda\x4f\xad\x5d\x5c\x1a\x75\x84\x72\x7f\x76\x1e\x64\x74\x69\x78\x59\x1b\x57\x5e\xa3\xb6\x71\x1f\x78\xaa" -+"\x83\xa9\x87\xc7\x6e\x8d\x18\x0e\x2a\x36\x0a\xaa\xfc\xa6\x35\x1d\x69\xf8\xfe\xf9\x2b\x15\xfc\xb1\x06\xf7\x1e\xfb\xf3\xfb\xcf\xfb" -+"\xcc\x05\xf8\xd1\x06\xf0\xf7\x52\x05\x4d\x06\x67\x3e\x80\x82\x43\x89\x08\xfb\x79\x06\x76\x82\x8f\x93\x95\x92\x95\xa7\xa7\x1f\xf7" -+"\x5d\xf7\x60\x2e\xf7\x86\x05\xf7\x4c\x06\xb4\xaa\x6c\x63\x88\x8b\x87\x8a\x84\x1f\x8a\x76\x05\xc6\x06\x0e\x61\xf8\x6f\xf9\x00\x15" -+"\xad\x89\x9a\x86\x9e\x7d\x08\xa4\x78\x9a\x6f\x6e\x1a\x85\x8a\x82\x8a\x81\x1e\xa5\x06\xb6\xf7\x38\x05\xfc\x6a\x06\x5f\x42\x0a\x0e" -+"\x61\xf8\x07\xf7\xf6\x15\xd9\xf7\xac\xe9\x8a\xb2\x60\x90\xfb\x03\x19\xa6\x89\xaf\xf7\x54\x05\xfc\xbb\x06\x65\xfb\x3f\xa4\x84\xbf" -+"\xef\xca\xb5\xf1\x8c\x19\x3e\xfb\xac\x05\x31\x06\x7e\x55\x05\xe3\x06\x53\xfb\x5f\x05\x58\x7d\x71\x76\x58\x1b\x7d\x72\xf7\xdf\xd9" -+"\x1d\xba\xf7\x40\x05\xe8\x06\x97\xc1\x05\x0e\x61\x43\x0a\x7d\xf8\x3b\x20\x0a\x61\xf7\x85\x16\xf7\x20\xa5\x1d\xaf\xf7\x54\x05\x8b" -+"\x0a\xf7\x27\x06\x4c\x2f\x98\x7f\x05\x8e\x97\x92\x8c\x97\x1b\xa8\x9c\x7e\x74\x72\x75\x7b\x69\x75\x7b\x8f\x98\x6e\x1f\x75\x6a\x05" -+"\x79\xb7\xab\x61\x1d\xf7\x02\xf7\xc1\xf8\x62\x15\x52\xfb\x7e\x05\xa8\x06\xc0\x99\xa2\x9d\xbf\x1b\xaf\xa3\x79\x70\x86\x8a\x87\x88" -+"\x7a\x1f\xa8\x06\xc5\xf7\x7e\x05\x6e\x06\x58\x78\x77\x7c\x5b\x1b\x64\x76\x9a\xa8\x91\x8b\x8f\x8d\x97\x1f\xf7\x0e\xf7\x6d\x15\x4d" -+"\x4b\x7e\x74\x55\x1f\x4f\x71\x59\x61\x5a\x4a\x08\x4a\x37\x6b\x31\x2d\x1a\xfb\x34\xf1\x28\xf7\x39\xf7\x17\xf7\x0d\xbb\xd9\xcd\x1e" -+"\xd4\xe0\xbd\xf7\x15\xee\x1a\xf7\x32\x22\xee\xfb\x3b\x1e\x8c\x6a\x15\xb2\xac\x7d\x73\x9d\x1f\xa0\x6e\x98\x5e\x5d\x1a\xfb\x30\x38" -+"\xfb\x6e\x38\x4d\x1e\x76\x6f\x57\x7c\x61\x1b\x37\x61\xbe\xf2\xf7\x21\xc7\xf7\x46\xdc\xeb\x1f\xb2\xab\xc2\xa1\xc9\x1b\x0e\xd8\x21" -+"\x0a\xfb\x09\xf7\x8f\xc1\x1d\x85\x8a\x1a\x26\xb7\x5b\xe8\xec\xcc\xc6\xf2\x9c\x1e\x0e\xd0\x21\x0a\xfc\x1b\xdd\x51\x1d\xd0\x21\x0a" -+"\xfb\x08\xf7\x51\x25\x0a\xd0\xf8\xac\xf9\x31\x15\x72\x07\xc4\x86\xa2\x7b\x67\x1a\x7a\x84\x67\x7f\x60\x1e\x51\xfb\x65\x70\x29\x75" -+"\x59\x6d\x67\x19\x63\x69\x5f\x77\x54\x1b\x3f\x5d\xb1\xca\xa7\x8d\x95\xa5\xea\x1f\xdd\xf7\xc0\x9c\xc4\x9a\x97\xc9\x8e\x19\xa4\xfb" -+"\xcb\x72\x07\xd0\x81\x8f\x89\x70\x1a\x7f\x85\x6c\x82\x6a\x1e\x54\xfb\x62\x05\x74\x39\x80\x4f\x6a\x1a\x29\xe7\x47\xf7\x16\xc0\xb7" -+"\x95\xa0\xb5\x1e\x61\x57\x80\x74\x6d\x1a\x5c\xb8\x69\xc8\xbd\xba\xa8\xb9\xa5\x68\x1d\x80\x88\x7c\x1b\x63\x74\xa1\xb3\xb0\x96\xb4" -+"\x9d\xa5\x1f\xa4\xb1\x9b\xa3\x90\x96\x95\xa1\x97\xaf\x9f\xd1\xcd\xf7\x78\x18\xb3\xf7\x18\x92\x95\xc2\x96\x08\xa4\x07\x0e\x61\x60" -+"\x0a\x0e\x61\x60\x0a\xfb\x58\xf7\xb0\x15\x69\x6f\x70\x68\x68\xa8\x6e\xae\xad\xa6\xa7\xad\xae\x6e\xa8\x69\x1f\xf7\x59\x16\x68\xbc" -+"\x0a\x6f\xa8\x69\x1f\x0e\xec\xf7\x03\xf8\x1c\x15\x99\xaa\x93\x9c\x8f\x92\x47\x1d\x85\x6c\x87\x51\x0a\x8a\x7a\x8a\x87\x89\x73\x08" -+"\xf8\x5e\x53\x15\x4c\xf7\x71\x05\x89\x95\x89\x96\x93\xb8\x1d\x76\x42\xa0\x1f\xce\xfb\x91\x55\xfb\x61\x2f\x1d\x6b\x06\x86\x75\x05" -+"\xf7\xc5\xca\x1d\xc2\xf7\x60\xf7\x68\xf7\xad\xad\xb6\xa4\xa1\xa2\x92\x19\x22\x1d\xfb\x52\x20\x1d\x9e\x06\xa5\xa2\x78\x74\x7b\x84" -+"\x78\x7e\x7a\x1f\x0e\xd0\x21\x0a\xfb\xcf\xf7\xd4\x30\x0a\xd0\x21\x0a\x20\xf7\x6b\x15\x6b\x7c\x7e\x81\x74\x1b\x7f\x7c\x90\x96\x70" -+"\x1f\x9c\x63\x6a\x94\x92\x0a\xa6\x96\x88\x9e\x1b\xc7\xae\xaf\xde\xa1\x1f\x0e\xf7\x80\x2c\x0a\xfb\xf8\xdc\x15\x76\x0a\xf7\x80\x2c" -+"\x0a\xfb\xb9\xdc\x15\xbe\x06\x35\xf7\x42\x05\x3a\x2a\x0a\xf7\x80\x2c\x0a\xfc\x8b\xf7\x70\x15\x68\x6e\x6e\x66\x36\x1d\xf7\x80\x2c" -+"\x0a\xfc\x03\xdc\x15\xfb\x03\xf7\x27\x05\xa1\x7b\x77\x97\x77\x1b\x73\x76\x76\x73\x3d\x0a\xf7\x19\x32\x05\x0e\x91\xf8\x6d\xf7\x73" -+"\x15\xcb\xf7\x84\x05\x76\x06\x57\x78\x6a\x71\x5c\x1b\x40\x06\x54\x6d\x9f\xb0\x8f\x8b\x8f\x8c\x98\x1f\x76\x06\x4b\xfb\x84\x05\xa0" -+"\x06\x9e\xbf\xac\xa6\xba\x8a\x08\xd7\x06\xc1\xa9\x77\x66\x86\x8b\x87\x8a\x7f\x1f\xf7\x06\x65\x15\x5e\x55\x4c\x65\x60\x8c\x08\xfb" -+"\x62\x06\x57\x8a\x57\xb0\x73\xc2\x08\x79\x06\x79\xfb\x4d\x05\xf8\x5e\x06\xdc\xf7\x4d\x05\xe6\xf8\x71\x15\xfc\x6e\x06\x5f\xfb\x3b" -+"\x05\x9d\x06\xa7\xbc\xbe\xa9\xc1\x89\x08\xf7\x4e\x06\xce\x8d\xb9\x6e\x91\x59\x08\x9d\x06\x0e\x61\x2d\x0a\xf7\xf8\xf7\x25\x23\x1d" -+"\x61\x2d\x0a\xf7\xb7\xf7\x25\x8e\x0a\x61\x3f\x1d\xfb\x3c\xf9\x6a\x29\x1d\x61\x3f\x1d\xfb\x15\xf9\xf5\x2a\x1d\x61\xf8\xbd\xf7\x4a" -+"\x15\x72\x06\x20\xfb\x01\x4d\x6b\x20\x89\x08\x3c\x06\xf8\x76\xf8\xed\x05\xa1\xfc\x85\x07\x56\xfb\x30\x05\xac\x06\xb8\xdb\xd5\xb1" -+"\xf6\x8a\x08\xf1\x06\xfc\x72\xfc\xed\x85\x75\x05\xf8\x90\x06\x0e\x25\x1d\xf7\x3a\xf7\x96\x38\x0a\xd0\xf7\xf4\xf8\x20\x15\xbd\x79" -+"\x77\x9b\x60\x1b\xfb\x13\xfb\x29\xfb\x54\xfb\x38\x47\xbb\x59\xcc\xcf\x9d\x1d\x63\x71\xab\xbf\x9a\x8c\x97\x8f\x9f\x1f\xb2\x94\x05" -+"\xf7\x25\xac\xde\xce\xdd\x1a\xc2\x66\xab\x4d\x59\x6f\x7c\x59\x60\x1e\x9f\xcc\x24\x86\x05\x36\x68\x15\xa7\x9f\x73\x6b\x55\x6b\x23" -+"\x64\x47\x1f\x55\x6e\x6d\x72\x69\x1b\x6d\x77\xa5\xb3\x8d\x1f\x8e\xc5\xa5\xde\xb1\xce\x08\xc6\xac\xab\xa7\xab\x1b\xf7\x19\xfb\x50" -+"\x15\xf7\x1a\xb2\xb6\xcb\xbd\x1b\xa2\x95\x7e\x70\x51\x6d\x5b\x50\x66\x1f\x6c\x78\x75\x82\x6f\x87\x08\x82\xf7\xc2\xa6\x0a\x93\x0a" -+"\x0e\xf7\xef\xa9\x0a\x99\x79\x1d\x79\xf8\x19\xf9\x04\x15\xae\x06\xec\x8c\xbc\x63\x96\x35\x08\x9e\x06\xb7\xf7\x37\x05\xfc\x5f\x20" -+"\x1d\xa7\x06\xa5\x8a\x9c\x7a\x72\x1a\x85\x8a\x85\xbf\x0a\x68\x88\x19\x7c\x20\x1d\xf7\xd6\x06\xf7\x0f\x39\x1d\x65\xa6\x69\x92\x20" -+"\x8e\x08\x80\x62\x15\xaf\x9f\x88\x82\x9c\x94\x0a\x0e\x99\x6f\x1d\x5a\x6c\x0a\x0e\xa9\xf7\x69\xf9\x2a\x15\x85\x75\x05\x99\x06\xb6" -+"\x9c\x7c\x65\x6e\x83\x61\x7a\x47\x1f\x6a\xfb\x13\x67\x2d\x5d\x3d\x08\x3b\x5d\x5e\x69\x50\x1b\x76\x06\x54\xfb\x60\x05\xa4\x06\xd6" -+"\xf7\x11\xd0\xb9\xf7\x04\x89\x08\xf7\x2d\x06\xf7\x04\xbb\x5f\x25\x88\x8b\x81\x8a\x81\x1f\xa4\x06\xc1\xf7\x60\x05\x50\x06\x75\x83" -+"\x90\x9a\x8f\x8b\x8b\x8f\x98\x1f\xf7\x19\xf8\x8a\xaa\x0a\x22\x1d\xfb\xfb\xfd\x05\x15\xfb\x87\x06\xdf\xd8\xe4\xf7\x7c\xbe\xf7\xaa" -+"\x08\xf7\x43\x06\x0e\x99\xf7\xd3\xf7\xdf\x15\xc9\xa3\x1d\xd0\xf7\x96\x05\xbd\x72\x0a\x68\x75\x9a\xa3\x94\x8d\x96\x8e\x98\x1f\x0e" -+"\x99\xf7\xd2\xf7\xdf\x15\xca\xa3\x1d\xcf\xf7\x96\x05\xbe\x72\x0a\x67\x75\x9a\xa3\x93\x8d\x97\x8e\x98\x1f\xe5\xf9\x7e\xa1\x0a\xf7" -+"\x66\xbe\x1d\xf7\x9d\xf8\xd0\xf7\xce\x15\xd8\xfb\x74\x05\x8f\x7f\x8d\x7f\x80\x1a\x76\x7a\x7f\x6c\x1e\x86\x75\x05\xf7\x8a\x06\x91" -+"\xa1\x62\x8c\x79\xa1\x74\xd9\x19\x2c\xf7\xa4\xca\xc3\xa6\xa3\xba\xb8\x19\xf7\x01\xf2\x9a\x95\xc8\x92\x90\xa1\x18\xfb\x75\x06\x86" -+"\x75\x05\x96\x06\x9d\x97\x7e\x76\x5b\x39\x37\xfb\x2f\xfb\x01\x1f\x80\x06\xc3\xf7\x65\x98\xbc\xa1\x9d\xb5\x8a\x19\x22\x1d\xfb\x96" -+"\x20\x1d\x9a\x06\xab\x9d\x7d\x70\x83\x8a\x83\x86\x7b\x1f\x52\xfb\x6a\x05\x81\x06\x3e\xf7\x00\x5f\xe0\xb5\x1a\xa9\xa4\xa1\xad\x1e" -+"\x92\x21\x1d\xfb\x85\x06\x86\x75\x05\x96\x06\xc7\x89\xa9\x6e\xcf\xfb\x0b\xa0\x67\x96\x79\x9e\x6d\xfb\xc4\xfb\xdf\x18\x6e\x6c\x6c" -+"\x7a\x68\x86\x84\x75\x18\xf7\xa0\x21\x1d\x71\x8c\x84\x8f\x9c\x1a\x95\x90\x95\x98\x99\x1e\xf7\x69\xf7\x80\x05\x94\x06\x4f\xfb\x76" -+"\x7e\x5b\x78\x7a\x63\x8a\x33\x0a\xf7\x98\x21\x1d\x7b\x06\x65\x79\x98\xa7\x93\x8d\x97\x92\xa5\x1f\xc2\xf7\x61\x05\x0e\xfb\x24\xf7" -+"\x57\xf7\xea\x15\x9f\x06\xd6\xb0\x67\x43\xfb\x00\x47\x38\x33\x4a\x59\xb3\xde\x61\x1f\x6e\x7e\x9f\x59\x97\x75\xa4\x71\x19\x5e\xb5" -+"\xc2\x74\xcf\x1b\xf7\x24\xf7\x04\xf1\xf7\x15\xba\x7b\xb0\x6e\xa4\x1f\x78\x9a\x7a\x92\x5e\x95\xc1\x93\xa4\x94\xa8\xa0\x08\xb6\xaa" -+"\xa4\xbe\xc2\x1a\xe0\x4a\xc3\x27\x70\x69\x86\x84\x72\x1e\x83\x70\x8b\x8b\x82\x1b\x7c\x84\x90\x9a\x88\x1f\x77\x06\x61\xfb\x43\x05" -+"\x9e\x06\xe8\xbe\xbf\xb8\xc3\x1b\xb5\xa0\x6f\x52\x49\x74\x56\x62\x6f\x1f\x77\x6d\x70\x84\x53\x1b\x0e\xf7\x11\xf7\x9b\x4e\x1d\x0e" -+"\xf7\x11\xf7\x99\x4e\x1d\xfb\x41\xf7\xb5\x15\x67\xb3\x1d\x1f\x8c\x87\x8b\x86\x89\x1a\x73\x6f\x7a\x65\x6c\x71\x98\x9a\x8f\x8c\x8f" -+"\x8f\x94\x1e\x91\x99\x8d\x92\x92\x1a\xa0\x77\x9b\x70\x1e\x0e\xa4\xf7\xcc\xf7\xf5\x15\xdc\xfb\x97\x05\x8f\x7f\x8d\x80\x82\x1a\x73" -+"\x7b\x7b\x74\x49\x0a\xfb\x04\xf7\xdc\xf7\x39\xf7\x2d\xc3\xb8\xb2\x9e\xb9\x8f\x19\x91\x3b\x0a\x9b\x98\x7c\x79\x76\x7b\x6f\x72\x73" -+"\x1f\xfb\x4f\xfb\x43\xc4\xf7\x6b\x98\xb8\x9c\x9d\xae\x8e\x19\xa1\x28\x1d\xfb\xb5\x45\x0a\xf7\xa9\x21\x1d\x6c\x06\x71\x7a\x9c\xa4" -+"\x91\x8c\x91\x8d\x92\x1f\x0e\xac\xf8\x94\xf9\x04\x15\xfb\x23\xfc\xac\x34\x0a\x67\x1d\x70\x8c\x7b\x9b\xa5\x1a\x93\x8b\x8f\x8d\x91" -+"\x1e\xf7\x17\xf8\x7f\x2e\x1d\xfc\x7b\x06\x84\x75\x05\x99\x06\xaf\xa5\x73\x6b\x7c\x8a\x84\x80\x61\x1f\x73\x2f\x05\xfb\x9f\x45\x5a" -+"\xfb\x06\x60\x1b\x82\x84\x91\x95\x8a\x1f\xbb\x88\x7b\x9e\x66\x1b\x67\x72\x71\x65\x5c\xad\x6d\xc1\xf7\x04\xb7\xd8\xf7\xfe\xec\x1f" -+"\xbf\xf7\x58\x05\x0e\xf7\x80\x69\x0a\xf7\xb6\x06\xec\x1d\x93\x8c\x8f\x8c\x92\x53\x0a\xae\x8e\x19\x9c\x21\x1d\xfb\x59\x06\x0e\xf7" -+"\x11\x64\x0a\xfb\xbd\x52\x1d\x0e\xd0\xf8\x6e\xf9\x31\x15\x3b\x2f\x68\x53\x4b\x1f\x26\x33\x49\xfb\x22\xfb\x17\x1a\x4c\xa1\x4e\xb1" -+"\x61\x1e\x65\xae\xc6\x75\xcd\x1b\xf7\x6a\xf7\x56\xf7\x6a\xf7\x80\xf7\x22\x36\xe1\xfb\x20\x1f\x7f\x63\x15\xc4\xb0\x5a\x3f\xfb\x09" -+"\x55\xfb\x4b\x4d\x2c\x1f\x5b\x6b\x57\x6c\x5a\xf3\x1d\xc2\xe8\x1f\xca\xb1\xbe\xad\xc4\x1b\x0e\xf7\x11\xf7\x4c\xf9\x2a\x15\x82\x0a" -+"\xf7\xa5\x06\xb5\x1d\xf7\x78\x06\xfb\x22\xfc\xac\x7e\x4e\x0a\xf7\xa6\x21\x1d\x6e\xb6\x0a\xf7\x16\xf8\x7f\xaa\x0a\x22\x1d\x0e\x61" -+"\x97\x0a\xfb\x8c\x06\x86\x75\x05\xa6\x06\xa6\x9b\x7a\x71\x84\x8a\x86\x8a\x85\x1f\xfb\x17\xfc\x7f\x2f\x1d\x87\x20\x1d\xf7\xac\x21" -+"\x1d\x64\x06\x71\x7a\x9c\xa5\x8f\x8c\x92\x8d\x92\x1f\xf7\x24\xf8\xb1\x15\xcb\x88\xac\x6b\x4f\x1a\x66\x7d\x57\x78\x66\x1e\x5d\x72" -+"\x6e\x78\x5a\x1b\x7f\x83\x8c\x8f\x7b\x1f\x0e\x99\xf8\xcf\xf7\x1f\x15\x48\x5c\x49\x67\x42\x1b\x23\x4c\xd3\xf7\x0e\xf7\x6d\xf7\x19" -+"\xf7\x55\xf7\x28\xd9\xc1\x53\x3a\x88\x8b\x81\x8a\x84\x1f\x9d\x06\xbe\xf7\x54\x05\x79\x06\x7a\x84\x7f\x83\x78\x1b\x7f\x84\x8c\x97" -+"\x5d\x1f\x93\x68\x73\x8f\x75\x1b\xfb\x0a\xfb\x17\x4b\x2b\x3b\x1f\x51\x45\x6e\x3b\x31\x1a\xfb\x3c\xf2\xfb\x09\xf7\x2a\xf6\xde\xb9" -+"\xe7\xc7\x1e\x0e\x61\xf8\x6f\xf9\x00\x15\xad\x89\x9a\x86\x9f\x7d\x08\xa3\x78\x9a\x6f\x6e\x1a\x85\x8a\x82\x8a\x81\x1e\xa5\x06\xb6" -+"\xf7\x38\x05\xfc\x6a\x06\x5f\x42\x0a\x0e\xb6\xf8\x43\xf7\xb0\x15\x45\xf7\xa5\x05\x88\x94\x88\xa3\x93\x1a\xa6\xa0\x9a\xb2\x1e\x92" -+"\x06\x92\xa1\x05\xfb\xab\x06\x85\x75\xbf\x86\x98\x7a\xa3\x2a\x19\xf2\xfc\x0c\x6b\x5a\x79\x77\x6f\x77\x19\x80\x7c\x7e\x85\x85\x1b" -+"\x82\x85\x90\x94\x90\x8b\x8c\x90\x97\x1f\x8d\x92\x8c\x90\x90\x1a\xa9\x6f\xa3\x67\x63\x6f\x6e\x61\x58\xae\x6d\xc8\xbe\xb5\x9d\xb4" -+"\xb2\x1e\xa8\xa8\x9a\x9e\xd0\xf0\xf7\x7e\xf7\xeb\x18\xbd\xd2\xab\xa6\xb4\x8c\x92\xa1\x18\xfb\x68\x20\x1d\x97\x06\xa3\x9a\x7c\x73" -+"\x74\x7f\x6d\x78\x6e\x1f\x0e\xf7\x59\xf8\x2b\xf9\x48\x15\x55\x0a\x9d\x7b\x73\x1a\x86\x8a\x83\x89\x83\x1e\x36\x88\x57\x84\x63\x7d" -+"\x08\xfb\x19\x5d\x3e\xa7\x0a\x7e\x5b\x7b\x7b\x67\x87\xdc\x1d\xf7\x9f\x21\x1d\x6e\x06\x72\x8c\x79\x9b\xa3\x1a\x91\x8d\x94\x8d\x95" -+"\x1e\xe1\x8e\xb3\x90\xb9\x9b\x08\xf7\x18\xb7\xd8\xf5\xf7\x1c\x1a\xf7\x1e\x34\xe3\xfb\x28\x97\x1e\x97\xb6\x9d\x9d\xcc\x1d\xbc\xe6" -+"\x1a\xf7\x03\xba\xf7\x10\xcc\xc4\x1e\xac\xa9\xa9\x95\xcb\x90\x08\xf7\x12\x16\xb5\x81\x97\x85\x9b\x74\x08\xa1\x6d\x95\x66\x5a\x1a" -+"\xfb\x02\x5e\xfb\x09\x4b\x51\x1e\x65\x69\x6d\x7f\x54\x88\x08\x0e\x99\xaf\x0a\x6f\x77\x76\x85\x1d\x96\x1a\xa4\x9a\x9e\x9f\x1e\x99" -+"\x28\x1d\xfb\x9b\x4b\x0a\xe3\xfb\x92\x18\xfb\x33\xfb\x43\x54\x4c\x60\x69\x67\x82\x33\x0a\xf7\x61\x21\x1d\x7e\x06\x6a\x79\x97\xa2" -+"\x9b\x94\x9c\xa3\xa6\x1f\x0e\xf7\x11\xf7\x74\xb0\x15\x8d\x1d\xf8\x34\x06\xf7\x04\xbb\x5f\x25\x1f\x74\xa3\x07\xc1\xf7\x60\x05\x50" -+"\x06\x75\x84\x8f\x9b\x8f\x8c\x91\x8d\x92\x1f\xf7\x19\xf8\x8a\x98\xb8\x9c\x47\x0a\xfb\x24\xfc\xb2\x05\x0e\xea\xf8\x49\xe3\x15\x7f" -+"\x5e\x7a\x79\x68\x88\x08\x67\x1d\x71\x8c\x7a\x9b\xa4\x1a\x93\x8c\x8f\x8c\x92\x53\x0a\xae\x8e\x19\x97\x06\x68\x0a\xc0\x64\xec\xc2" -+"\xb3\x93\xa5\xd4\x1e\x0e\xf8\x6d\xf7\x7b\xb0\x15\xf7\x23\xf8\xad\x98\x1d\xfc\x80\x7f\x5e\x7a\x7a\x3c\x0a\xfa\x58\x06\x4c\x1d\x70" -+"\x7b\x9c\xa5\x91\x8c\x90\x8c\x91\x1f\xf7\x17\xf8\x80\x7d\x1d\x0e\xf8\x6d\xf7\x54\xf9\x2a\x15\x86\x75\x05\xa0\x06\xa6\x8a\x9b\x7b" -+"\x71\x1a\x83\x4d\x1d\xfc\x80\x7f\x5e\x7a\x7a\x3c\x0a\xf9\x7e\x06\xf7\x04\xba\x5f\x21\x89\x8b\x83\x8a\x82\x1f\xa4\x06\xc2\xf7\x60" -+"\x05\x49\x06\x7b\x84\x91\x96\x91\x8c\x8e\x8e\x99\x1f\xf7\x19\xf8\x87\x7d\x1d\xfb\x68\x06\xf7\x23\xf8\xad\x2e\x1d\x0e\xf6\xf7\x61" -+"\xf9\x2a\x15\x60\xfb\x36\x05\x9e\x06\xbd\xe4\xbd\xad\xe0\x8d\xfb\x23\xfc\xad\x18\x7f\x5e\x79\x79\x68\x88\x08\x7c\x20\x1d\xf7\xd6" -+"\x06\xf7\x0f\x39\x1d\x65\xa6\x69\x92\x20\x8e\xc0\xf7\x5e\x18\x98\xb8\x9c\x9d\xae\x8e\x08\x97\x21\x1d\xfb\x27\xfb\xdf\x46\x0a\x0e" -+"\xf7\xd0\xf8\x4c\xf9\x2a\x15\xfb\xa5\x06\x71\x0a\xf7\x0f\x39\x1d\x65\xa6\x69\x92\x20\x8e\xc0\xf7\x5e\x18\x91\x9b\x94\xaa\x9e\x9b" -+"\xaa\x8e\x19\x97\x06\xfb\x21\xfb\xc9\x46\x0a\xf9\x16\x7a\x15\x6e\x06\x71\x8c\x7a\x9b\xa5\x1a\x90\x8c\x92\x8d\x91\x1e\xf7\x16\xf8" -+"\x7f\xae\x1d\x84\xa2\x1d\x84\x20\x1d\xf7\xa5\x06\x0e\x78\xf8\x50\xf9\x2a\x15\xfb\xa5\x06\x71\x0a\xf7\x0f\x39\x1d\x66\xa5\x6b\x92" -+"\xfb\x02\x8f\xc0\xf7\x5e\x18\x91\x9b\x94\xaa\x9e\x9b\xaa\x8e\x19\x97\x06\xfb\x21\xfb\xc9\x46\x0a\x0e\x89\xf8\x5b\xf7\xd8\x15\x70" -+"\xfb\x01\x79\x5c\x62\x50\x08\x56\x66\x5c\x6f\x55\x1b\x5d\x5c\xa0\xaf\x66\x1f\x72\xa4\x7b\xa1\x71\xbe\x74\x80\x18\xa5\x4a\x9b\x6f" -+"\xa6\x6e\x08\x5f\xb4\xbb\x78\xcf\x1b\xf7\x68\xf7\x44\xf7\x5b\xf7\x84\xda\x77\xc8\x63\xb6\x1f\xb5\x64\x52\x9f\x3a\x1b\x69\x6d\x88" -+"\x83\x62\x1f\x86\x73\x82\x8a\x82\x1b\x7b\x85\x8f\x9c\x86\x1f\x77\x06\x5f\xfb\x5c\x05\xa0\x06\xa9\xc0\x9c\xa1\xaa\xa6\x08\xaf\xb3" -+"\xb7\x9d\xb8\x1b\xd1\xaf\x5b\x2c\x64\x87\x6f\x7d\x4f\x1f\x3c\x06\x40\x77\x9f\xd6\x88\x1f\x77\x06\x54\xfb\x7f\x05\x9f\x06\xab\xd5" -+"\xb4\xa9\xd0\x8a\x08\x0e\xf8\x27\xf8\x34\xf7\xd5\x15\x82\x67\x87\x6e\x6b\x1a\xfb\x25\xdf\x33\xf7\x1e\xf7\x68\xf7\x57\xf7\x6b\xf7" -+"\x7f\xf7\x21\x35\xe2\xfb\x1f\x21\xfb\x00\x55\x2f\x40\x1e\x64\x5b\x6a\x51\x79\x54\x08\xfb\x12\x4a\x0a\xfb\xbd\x52\x1d\xca\xf7\x82" -+"\x05\xf8\x8b\xf7\xc8\x15\xc5\xb0\x5a\x3e\xfb\x08\x55\xfb\x49\x4c\x2b\x1f\x5a\x6c\x57\x6c\x59\xf3\x1d\xc3\xe8\x1f\xca\xb0\xbf\xad" -+"\xc3\x1b\x0e\xaf\xf8\xce\x16\x9b\x0a\x98\xb8\x9c\x32\x0a\xfb\x9f\x06\xfb\x40\x22\x3f\xfb\x11\x65\x97\x69\xa0\x73\x1f\x9f\x74\xa0" -+"\x7e\xbf\x75\x44\x7c\x81\x85\x5d\x4a\x27\xfb\x20\x18\x6b\x5f\x76\x7d\x67\x8a\x08\x87\x06\x84\x75\x05\xf7\x54\x06\xf7\x51\xf7\x9e" -+"\x05\xa3\x9c\x9b\x94\xa4\x1b\x8f\x8f\x8b\x8a\x94\x1f\x53\xfb\x66\x2f\x1d\x84\x20\x1d\xf7\x25\xf7\xe9\x15\x89\x81\x87\x8a\x84\x1b" -+"\x51\x63\xbb\xd1\xe5\xd0\xd8\xdb\x97\x95\x89\x86\xa0\x1f\x0e\xfb\x4b\xf7\x5c\xf9\x2a\x15\x86\x75\x05\xa1\x06\xa5\x8a\x9c\x7a\x71" -+"\x1a\x84\x8a\x86\x8a\x85\x1e\xfb\x14\xfc\x7d\x7e\x5d\x7a\x7a\x68\x87\x19\xac\x0a\x7a\x9c\xa4\x1a\x94\x8b\x8e\x8d\x92\x1e\xf7\x21" -+"\xf8\xb0\x05\xf7\x96\x06\xae\xf7\x1c\x05\x74\x06\x6c\x45\x5c\x6c\x43\x8e\x08\x0e\xf7\x39\xf8\x7f\xf9\x00\x15\xc3\x06\xb2\xa3\x85" -+"\x7b\xa0\x1f\xa4\x7a\x9a\x6e\x6e\x1a\x84\x8a\x83\x8a\x81\x1e\xa5\x06\xb6\xf7\x38\x05\xfc\xb2\x06\x5f\xa4\x1d\xf7\x71\x06\xde\xf7" -+"\xc9\x05\x94\xb1\xa7\x8f\xa8\x1b\xc8\xaa\x6b\x4b\x5d\x80\x5a\x77\x5e\x1f\x66\x7a\x76\x78\x72\x1b\x7f\x84\x92\x96\x92\x8c\x8e\x92" -+"\x91\x1f\x95\x97\x8f\x95\x99\x1a\xac\x75\xa0\x69\x67\x73\x71\x63\x52\xbb\x65\xd2\xf7\x13\xf3\xf7\x02\xf7\x19\xe3\x4a\xc0\xfb\x02" -+"\x5d\x64\x85\x7d\x51\x1e\x0e\x5a\x6c\x0a\xf8\x1e\xf9\x5f\x15\xf7\x29\xe1\x05\xaa\x9c\x93\x96\x9e\x1a\xa4\x75\xa0\x71\x79\xe9\x1d" -+"\x8f\xf9\x47\xf9\x37\x15\x77\x06\x79\x84\x7c\x81\x76\x1b\x82\x84\x8d\x92\x7a\x1f\x98\x69\x67\x91\x62\x1b\xfb\x01\xfb\x07\x58\x38" -+"\x3b\x1f\x42\x40\x64\x2b\x25\x1a\xfb\x3d\xf0\xfb\x02\xf7\x31\xd3\xca\xa1\xb5\xc1\x1e\xa7\xa2\x9c\x9e\xa9\xb8\x78\x9a\x18\x69\x5b" -+"\x77\x78\x67\x76\x08\x78\x69\x67\x81\x66\x1b\x24\x4c\xd8\xf7\x13\xa4\x8d\x9b\x91\xaf\x1f\xe7\x06\xcc\x8d\xa6\x71\x8d\x4a\x8c\x7f" -+"\x18\x9e\x06\xc9\xf7\x7e\x05\x78\x06\x48\x66\x5c\x6e\x45\x1b\x35\x06\xa7\xeb\x9f\xb4\xb5\xbd\x08\xc7\xbe\xc9\xad\xc6\x1b\xb3\xab" -+"\x7a\x6a\xa3\x1f\xa1\x6d\x93\x6f\x90\x55\x08\x9f\x06\x0e\x2a\xf8\xd0\xf9\x30\x15\x76\x06\x77\x83\x7b\x82\x70\x1b\x84\x7f\x8d\x8e" -+"\x7e\x1f\x9d\x46\x63\x92\x6b\x1b\xfb\x03\x3d\x42\x22\x49\xac\x51\xd6\x45\x1f\xc0\x5b\x97\x7f\x94\x7f\x08\x9e\x72\x94\x71\x72\x1a" -+"\x4c\x52\x52\x4b\x68\x60\xa0\xa8\x73\x1e\x70\xab\x77\xc2\xb6\x1a\x91\x8c\x95\x8c\x98\x1e\x72\x06\x59\xfb\x88\x05\xa4\x06\x9f\x97" -+"\x97\x92\xa0\x1b\x94\x94\x8a\x89\x93\x1f\x75\xe3\xa0\x87\xb4\x1b\xf7\x14\xef\xe0\xf7\x01\xc9\x70\xb9\x3b\xd4\x1f\x58\xb9\x7e\x99" -+"\x80\x9a\x08\x75\xa8\x80\xa9\xa7\x1a\xc6\xb3\xb7\xc2\xda\xcc\x43\x32\x87\x8b\x85\x8a\x84\x1e\xa2\x06\x0e\xfb\x9c\x7e\x1d\xfb\x9c" -+"\xf7\xb6\xa1\x15\x6f\x54\x0a\x94\x8b\x8e\x8d\x92\x1e\xf7\x17\xf8\x7f\x2e\x1d\xfb\xa3\x06\x86\x43\x1d\x4b\xf9\xe9\xa1\x0a\xf7\x65" -+"\xbe\x1d\xf7\x6a\xf9\x14\x15\xa9\x06\xa5\x9c\x7a\x71\x86\x8a\x84\x89\x85\x1f\xfb\x19\xfc\x8a\x05\x6a\x82\x80\x7d\x7b\x1b\x80\x82" -+"\x93\x95\x91\x8d\x90\x8e\x8f\x1f\x9b\xa3\x8e\x92\x9e\x1a\xab\x76\x9f\x6a\x68\x70\x6b\x61\x52\xba\x60\xca\xe5\xd6\xce\xf7\x00\xa7" -+"\x1e\xf7\x01\xf8\x2c\x4a\x1d\x93\x21\x1d\xfb\xa5\x06\x0e\xf7\x93\xf8\x8b\xf9\x04\x15\xfb\x23\xfc\xac\x34\x0a\x7b\x20\x1d\xf7\xd7" -+"\x06\xf7\x0e\x39\x1d\x65\xa6\x69\x92\x20\x8e\xc1\xf7\x5e\x18\x91\x9b\x93\xaa\x9f\x9b\xa9\x8e\x19\x97\x21\x1d\xfc\x77\x06\x84\x75" -+"\x05\x99\x06\xaf\xa5\x73\x6a\x7e\x89\x80\x81\x64\x1f\x73\x2f\x05\xfb\xa1\x44\x5c\xfb\x04\x5e\x1b\x81\x85\x92\x9b\x8a\x1f\xb2\x8a" -+"\x77\xa1\x69\x1b\x67\x72\x71\x65\x5c\xad\x6c\xc1\xf7\x04\xb7\xd8\xf7\xfe\xec\x1f\xbf\xf7\x58\x05\xf7\x62\xfb\xb9\x15\xaf\x9f\x88" -+"\x82\x9c\x1f\xaa\x7c\xa0\x64\x61\x1a\x61\x7b\x57\x75\x6b\x1e\x61\x6f\x61\x76\x57\x1b\x7d\x82\x8c\x8f\x77\x1f\x0e\xf7\xd7\xf9\xbe" -+"\xf9\x2a\x15\xfb\xa3\x20\x1d\xa5\x06\xa6\x9b\x7a\x71\x83\x8b\x87\x89\x85\x1f\x51\xfb\x6d\x05\xfb\x7a\x4a\x0a\xfb\xbd\x06\x86\xb6" -+"\x1d\x7a\x79\x68\x88\x19\x67\x1d\x71\x8c\x7a\x9c\xa4\x1a\x93\x8b\x8f\x8d\x91\x1e\xca\xf7\x82\x05\xf7\x7a\x06\x4d\xfb\x7d\x34\x0a" -+"\x67\x20\x1d\xf7\xeb\x06\xf7\x0d\xed\xe4\xf7\x04\xbb\x6f\xbb\x5d\xa9\x1f\x65\xa4\x69\x92\xfb\x00\x8e\xc4\xf7\x68\x18\x91\x9b\x94" -+"\xaa\x9d\x9b\xaa\x8e\x19\x97\x06\xfb\x24\xfb\xd2\x15\x9a\x06\xd1\xb5\x64\x49\x64\x7c\x59\x75\x6c\x1f\x61\x6f\x61\x76\x57\x1b\x7d" -+"\x82\x8c\x8f\x77\x1f\x0e\xf7\x32\xf8\x5f\xf9\x00\x15\xc9\x06\xb0\xa0\x85\x7c\x9f\x1f\xa4\x79\x9a\x6e\x6e\x1a\x84\x8a\x83\x8a\x81" -+"\x1e\xa3\x06\xb6\xf7\x38\x05\xfc\x96\x06\x45\x42\x0a\xc8\xf7\x76\x05\x96\xbf\xa6\x8f\xab\x1b\xbf\xa8\x77\x67\x7c\x89\x81\x7d\x58" -+"\x1f\x70\x23\x7e\x4e\x0a\xf7\xa6\x28\x1d\x6f\x54\x0a\x92\x8c\x91\x8c\x91\x1e\xad\xf7\x13\x05\x91\xa2\x8e\x9f\x9e\x1a\xd0\x53\xb0" -+"\x20\x5c\x6b\x86\x7a\x46\x1e\x0e\xa4\xf7\xcc\xf7\xf5\x15\xdc\xfb\x97\x05\x91\x7b\x8c\x84\x82\x1a\x73\x7b\x7b\x73\x49\x0a\xfb\x03" -+"\xf7\xdc\xf7\x38\xf7\x2d\xc3\xb8\xb2\x9d\xba\x90\x19\x90\x3b\x0a\x9c\x98\x7c\x78\x77\x7b\x6f\x71\x73\x1f\xfb\x4e\xfb\x43\xc4\xf7" -+"\x6b\x4a\x1d\xa1\x21\x1d\xfb\xb1\x45\x0a\xf7\xa5\x21\x1d\x6c\x06\x71\x7a\x9c\xa5\x93\x8b\x8f\x8d\x91\x1f\xf7\x92\xf9\x0c\x15\xf7" -+"\x2a\xe1\x05\xa8\x9c\x94\x96\x9e\x1a\xa4\x75\xa0\x71\x7a\xe9\x1d\xb6\xf8\xd2\xf9\xb0\x15\x73\x6f\x7a\x65\x6d\x71\x98\x9a\x8f\x8c" -+"\x8d\x8f\x96\x1e\x90\x97\x8d\x94\x92\x1a\xa0\x77\x9b\x70\x68\xb3\x1d\x1e\xfb\x23\xfc\x9f\x15\x45\xf7\xa5\x05\x88\x94\x88\xa3\x93" -+"\x1a\xa6\xa0\x9a\xb2\x1e\x92\x06\x92\xa1\x05\xfb\xab\x06\x85\x75\xbf\x86\x98\x7a\xa3\x2a\x19\xf2\xfc\x0c\x6b\x5a\x79\x77\x6f\x77" -+"\x19\x80\x7c\x7e\x85\x85\x1b\x82\x85\x90\x94\x90\x8b\x8c\x90\x97\x1f\x8d\x92\x8c\x90\x90\x1a\xa9\x6f\xa3\x67\x63\x6f\x6e\x61\x58" -+"\xae\x6d\xc8\xbe\xb5\x9d\xb4\xb2\x1e\xa8\xa8\x9a\x9e\xd0\xf0\xf7\x7e\xf7\xeb\x18\xbd\xd2\xab\xa6\xb4\x8c\x92\xa1\x18\xfb\x68\x20" -+"\x1d\x97\x06\xa3\x9a\x7c\x73\x74\x7f\x6d\x78\x6e\x1f\x0e\xf8\x57\xf8\x50\x15\xfb\x09\x06\x7c\x55\x05\xb9\x84\x7a\x9e\x68\x1b\x61" -+"\x5f\x6f\x55\x5f\x1f\x50\x43\x68\x2b\x2f\x1a\x45\xae\x56\xba\xb9\xac\xad\xf3\xc1\x1e\x84\x6c\x89\x7a\x74\x1a\x5d\x9f\x76\xb9\xa8" -+"\xaa\x97\xa0\xa2\x1e\x9f\x9d\x99\xa0\xa3\xb8\x79\x97\x18\x5d\x73\x79\x78\x78\x1b\x83\x85\x92\x94\x94\x8d\x95\x93\xa9\x1f\x30\xf7" -+"\xc4\x15\x9c\x98\x76\x6e\x56\x7b\x52\x6a\x44\x1f\x39\x65\x75\x6d\x74\x1b\x79\x81\x9d\xaa\xb5\xa8\xf4\xa8\xca\x1f\xc5\xa6\xa1\xa5" -+"\xa2\x1b\x0e\xfb\x2e\xf7\x3b\xf8\x0c\x15\xbe\xf7\x0d\xa4\xa2\xde\x90\xf7\x1a\x8e\xb6\xaa\xad\xf7\x0c\x08\x71\x06\x7e\x6c\x81\x86" -+"\x5b\x8a\x67\x8c\x6d\x89\x76\x87\x47\x80\x51\x58\x53\x29\x08\x55\x2b\x60\xfb\x29\x2b\x1a\x36\xc3\x4e\xdb\xb8\xba\x9f\xb1\xbb\x1e" -+"\xd6\xc7\xb9\xec\xeb\x1a\xe5\x56\xcb\x40\x4c\x56\x71\x4f\x4c\x1e\xf7\x33\xbf\x7e\x0a\xfb\x62\xf7\xb1\xf7\x82\x15\xbc\x9c\x9b\x92" -+"\x9d\x97\x08\xb3\xa5\xa1\xad\xb0\x1a\xc0\x62\xaa\x45\xfb\x29\xfb\x12\xfb\x20\xfb\x3a\x2a\xc9\x4d\xec\xee\xde\xd4\xe2\xc4\x68\xaa" -+"\x4a\x1e\x20\x16\xf7\x15\xb4\xad\xc0\xb7\x1b\xa0\x99\x7b\x72\x6f\x7c\x6e\x6f\x72\x1f\x71\x73\x71\x7e\x50\x75\x08\x82\x6a\x15\x96" -+"\xa7\x98\x8e\x9b\x1b\xa7\x99\x7a\x69\x39\x6b\x4b\x62\x70\x7b\xa2\xb1\xa8\x8f\xa7\x98\xcc\x1f\x0e\xfb\xb0\xf5\x7c\x1d\x0e\xfb\x31" -+"\xf7\x3e\xf9\x13\x15\x94\xa7\x9e\x8f\xa1\x1b\xde\xbd\x44\xfb\x0a\x7b\x8a\x7f\x89\x71\x1f\xac\x7c\x78\x98\x68\x1b\xfb\x10\xfb\x06" -+"\xfb\x20\xfb\x2b\xfb\x01\xbd\x4a\xdf\xc4\xc3\xa6\xb8\xb4\x1f\xd4\xde\xb6\xf7\x12\xf7\x17\x1a\xf7\x43\x40\xf3\xfb\x13\x6f\x74\x88" -+"\x82\x68\x1e\xf7\x11\xfb\x8c\x15\xa5\x9a\x78\x68\x4e\x70\xfb\x08\x6a\x39\x1f\x51\x73\x73\x72\x6a\x1b\x71\x7c\xa1\xb0\xbc\x9d\xdd" -+"\xab\xeb\x1f\xd8\xa5\xa6\xac\xb1\x1b\x0e\xfb\x65\x76\x1d\x0e\xfb\x65\x76\x1d\xab\xf8\x54\x15\x3a\x0a\xaf\x6d\xaa\x67\x1f\xf7\x66" -+"\x16\x3a\x0a\xb0\x6d\xa9\x67\x1f\x0e\xf7\xbf\xf8\x6d\x16\xa3\xe5\xba\xe0\xe0\xf4\x08\x69\x4a\x80\x67\x5c\x1a\x35\xb5\x53\xcb\xc8" -+"\xb9\xad\xe2\xc4\x1e\x7b\x96\x05\x59\x63\x72\x78\x70\x1b\x68\x74\xb2\xc8\xf7\x0f\xcb\xf7\x27\xc1\x98\x95\x84\x81\x84\x88\x88\x7b" -+"\x80\x1f\x7e\x83\x86\x81\x7d\x1a\x70\x9e\x79\xa6\xad\xa3\xa6\xb1\xb9\x65\xaf\x59\x45\x32\x39\xfb\x40\xfb\x08\x1e\xcb\xf7\x87\x05" -+"\x26\x06\x75\x36\x5e\x3a\x37\x23\x08\xa9\xcd\x94\xaa\xb6\x1a\xdf\x5f\xc4\x4c\x4f\x5e\x69\x35\x52\x1e\x9a\x80\x05\xb9\xac\xa9\xa2" -+"\xa7\x1b\xaf\xa2\x64\x4f\xfb\x0a\x4c\xfb\x2e\x5a\x80\x80\x95\x95\x90\x8e\x8f\x92\x90\x1f\x99\x95\x90\x95\x9c\x1a\xa5\x78\x9e\x71" -+"\x6a\x72\x6e\x66\x5d\xb1\x67\xbc\xd5\xeb\xe4\xf7\x3d\xf6\x1e\x49\xfb\x8c\x05\x0e\xfb\x9b\xf7\x1e\xf7\x77\x15\x8c\x96\x90\x8b\x95" -+"\x1b\xb7\x99\x7e\x65\x41\x64\x54\x57\x65\x70\x9e\xbc\x6b\x1f\x76\x7e\x05\x3b\xae\xba\x6a\xd9\x1b\xea\xd0\xcb\xe2\xc7\x6d\xaa\x47" -+"\x96\x1f\xe7\x9a\xb1\xac\xcd\x1a\xcc\x5d\xac\x2f\x61\x6a\x84\x7d\x70\x1e\x67\x77\x75\x6b\x6c\x1a\x6e\x9e\x78\xa6\xa4\xa0\x9d\xa1" -+"\x94\x88\x94\x84\x94\x1e\x7f\x99\x8a\x8d\x92\x1a\x9c\xab\x99\xaf\xb6\xa0\x78\x67\x67\x7b\x66\x73\x79\x1e\x80\x7d\x77\x85\x71\x1b" -+"\x83\x86\x8b\x8d\x80\x1f\x0e\x2a\x72\x1d\x0e\x2a\xf8\x2d\xf8\xf6\x15\x8c\x87\x8b\x88\x88\x1a\x77\x70\x7c\x68\x6f\x76\x96\x9a\x8e" -+"\x8d\x91\x8c\x8f\x1e\x93\x9a\x8b\x8b\x93\x1a\x9f\x7b\x98\x73\x6c\x74\x73\x6c\x5e\xb9\x71\xda\xe6\xc7\xad\xbf\xa4\x7c\x9a\x73\x72" -+"\x78\x79\x74\x1e\xe6\xfb\x43\x15\x77\x1d\xc4\xbf\xb8\xde\xb2\x1e\x77\x93\x05\x5e\x76\x79\x71\x7f\x1b\x87\x88\x8f\x90\x90\x8c\x91" -+"\x90\x9c\x1f\x0e\xfb\x26\x5b\x0a\x0e\xfb\x20\xf8\x58\xf8\x50\x15\x46\x06\xfb\x12\x8c\x46\x32\x52\xfb\x83\x08\x62\x83\x85\x80\x80" -+"\x1b\x85\x88\x8e\x94\x87\x1f\x9e\x81\x7f\x93\x77\x1b\x6d\x77\x76\x6b\x66\xa5\x73\xb2\xa3\xa1\x94\x9c\x97\x1f\x9c\xa0\x95\xa5\xa8" -+"\xed\x08\xf7\x32\xb8\xac\xc2\xba\x1b\x95\x06\x43\xfb\xa7\x05\x86\x76\x89\x7e\x7d\x1a\x68\xa6\x71\xb2\xbc\xb4\xad\xd9\xb8\x1e\x7a" -+"\x96\x05\x66\x77\x7a\x7a\x7b\x1b\x83\x87\x8f\x93\x90\x8d\x93\x8e\x9a\x1f\x0e\xab\xf8\x87\xf7\xed\x15\x4b\xfb\x8c\x05\x85\x76\x89" -+"\x7d\x7f\x1a\x68\xa6\x72\xb1\xbd\xb4\xac\xd9\xb9\x1e\x79\x96\x05\x66\x77\x79\x79\x7c\x1b\x83\x87\x8f\x94\x8f\x8d\x93\x8e\x9a\x1f" -+"\xe7\xf7\xef\x05\xfb\x14\x06\xfb\x39\xfb\x9e\x69\xf7\xac\xfb\x57\x6e\x85\x75\x05\x92\x06\xa5\x99\x7e\x72\x83\x8a\x82\x89\x84\x1f" -+"\x54\xfb\x63\x7d\x55\x05\x7f\x87\x85\x85\x83\x1b\x86\x88\x8e\x95\x87\x1f\x9d\x83\x7f\x93\x77\x1b\x6c\x76\x76\x6a\x66\xa4\x73\xb2" -+"\xc2\xa3\xab\xf7\x08\xa9\x1f\xcc\xf7\x8a\xba\xfc\x1d\x05\xa3\x06\x0e\x29\xf7\x85\xf7\x94\x15\xc0\xf7\x5e\xfb\x4a\x48\x1d\x75\x84" -+"\x8a\x84\x88\x81\x1f\x30\xfb\xf1\x05\xf7\x09\x06\xc6\xf7\x73\x05\xf6\x06\x6a\xfb\x12\x05\x88\x80\x89\x79\x7d\x1a\x63\xa3\x73\xb3" -+"\xbc\xb7\xaf\xd6\xb6\x1e\x79\x95\x05\x63\x73\x7d\x7d\x7d\x1b\x84\x85\x90\x93\x8d\x8b\x8c\x90\xa3\x1f\xe6\xf7\xef\x05\xfb\x09\x06" -+"\x59\xfb\x50\x05\x0e\xf7\xd8\xf8\x5b\x15\xfb\x1f\xfb\x16\xfb\x2b\xfb\x36\x30\xc1\x4e\xdc\xb1\xb1\x98\xa6\xb4\x1f\xe4\xc7\xc3\xf2" -+"\xf6\x1a\xe5\x55\xcc\x41\x1e\x77\x69\x7e\x0a\x2a\xf7\x3b\x16\xba\xf7\x47\x94\xaf\xa8\xc5\xb1\xc5\x19\xa2\x9a\x9b\x98\x98\x1b\x95" -+"\x91\x84\x80\x7e\x8b\x8b\x82\x68\x1f\x5a\xfb\x51\x05\x81\x64\x8b\x8a\x7c\x1a\x64\xa5\x6f\xae\xa5\xaa\x97\x9e\xa1\x1e\xa1\x9e\x98" -+"\x9e\xa4\xbb\x76\x98\x18\x5c\x72\x82\x80\x7d\x1b\x84\x87\x8f\x93\x91\x8c\x93\x8e\x94\x1f\xc6\xf7\x78\x05\x91\xa3\x8e\x9b\x9b\x1a" -+"\xb8\x71\xa8\x63\x53\x54\x53\xfb\x04\x54\x1e\xb7\xf7\x3f\xfb\x49\x72\x85\x74\x05\x96\x06\xa0\x99\x7c\x75\x84\x8a\x85\x88\x81\x1f" -+"\x30\xfb\xf2\x05\x0e\xf7\x33\x8a\x15\x84\xa0\x94\x89\x9a\x1b\xc1\xc9\xab\xc2\xbb\x1f\xc2\xc8\xac\xe6\xe4\x1a\xdf\x67\xc0\x53\x71" -+"\x7a\x83\x6d\x66\x1e\x86\x86\x83\x85\x84\x85\x97\xb7\x18\x72\x06\xfb\x33\x6d\x85\x76\x05\xab\x98\x80\x6d\x82\x8a\x83\x86\x79\x1f" -+"\x22\xfc\x25\x05\x5f\x7e\x75\x73\x6c\x1b\x81\x06\x86\x78\x05\xf7\x8d\x06\x8f\x9e\x05\x87\x06\x71\x72\xa3\xa5\x96\x8c\x94\x8e\x95" -+"\x1f\xf6\xf8\x2d\x15\xa7\x98\x9c\x98\xa3\x1b\xa5\x9c\x6f\x5e\x50\x79\x3b\x70\x4f\x1f\x4d\x6f\x6e\x6d\x6a\x1b\x7b\x82\x92\xa0\x7d" -+"\x1f\x0e\xfb\x65\xf7\xf9\xf7\x0d\x15\x5c\x6b\x69\x75\x61\x1b\x4f\x6b\xb3\xd5\xca\xa8\xe4\xb1\xc3\x1f\xac\xa1\xb0\xa0\xab\x1b\x9e" -+"\x9b\x82\x81\x87\x88\x86\x86\x87\x1f\x6f\x76\x85\x81\x75\x1a\x70\x9f\x75\xa4\xac\xa9\xaf\xb2\xbd\x61\xaf\x53\xfb\x14\xfb\x24\xfb" -+"\x3b\xfb\x27\x32\xc4\x4d\xdd\xd2\xca\xb1\xda\xc4\x1e\x0e\xf7\x11\xf7\x2e\x16\xb4\xf7\x2e\x92\xa7\xb4\xe4\x9d\xa6\x19\xb6\xa8\xaa" -+"\xa6\x9f\x1b\x95\x92\x83\x7f\x82\x88\x7b\x87\x7d\x1f\x35\xfb\xc9\x05\xf7\x0b\x06\xab\xf7\x0e\x05\xf7\x1e\xaf\xd0\xf7\x03\xbd\x1b" -+"\x93\x93\x83\x82\x84\x8b\x89\x85\x71\x1f\x4d\xfb\x7f\x05\x88\x7e\x89\x7e\x81\x1a\x6a\xa6\x72\xaf\xba\xb3\xaa\xd6\xbb\x1e\x7c\x97" -+"\x05\x65\x73\x7b\x7b\x7e\x1b\x83\x87\x90\x95\x91\x8b\x8b\x8f\x9b\x1f\xc7\xf7\x78\x05\x91\xa1\x8e\xa3\x9e\x1a\xb5\x71\xa8\x65\x4e" -+"\x4d\x4f\xfb\x0d\x4d\x1e\x95\xb7\x91\xb4\xab\x1a\xb0\x74\xa6\x6c\x5f\x5d\x6d\x54\x63\x1e\x74\x6c\x80\x79\x6d\x56\xbd\xf7\x52\x18" -+"\xfb\x4a\x4c\x0a\x85\x88\x81\x1f\x30\xfb\xf2\x05\x0e\xfb\x65\x74\x1d\x0e\xca\xf8\xad\xf9\x3b\x15\xfb\x4c\x6e\x85\x75\x05\x91\x06" -+"\xa5\x9a\x7e\x73\x84\x8a\x82\x88\x83\x1f\x63\xfb\x2e\x05\xaa\x74\x75\x96\x69\x1b\xfb\x05\xfb\x09\xfb\x29\xfb\x24\x5d\x96\x5e\x9e" -+"\x6c\x1f\x69\xa1\xa7\x7b\xb3\x1b\xaf\xa6\x94\x9f\xa2\x1f\x8f\x06\x72\x2d\x05\x48\x78\x79\x7b\x57\x1b\x82\x06\x85\x76\x05\xf7\xa1" -+"\x06\x91\xa0\x05\x5d\x7b\x95\xa8\x98\x8c\x8e\x92\xa7\x1f\xa5\xef\x05\x72\xa4\xa2\x81\xac\x1b\xf7\x07\xf7\x06\xf7\x25\xf7\x26\xf4" -+"\x5b\xd0\x41\x6a\x73\x82\x74\x70\x1f\x88\x06\xfb\x46\x79\x15\xa6\x9a\x77\x6a\x64\x6e\xfb\x0e\x72\x47\x1f\x4d\x74\x73\x70\x6b\x1b" -+"\x6f\x79\x9f\xac\xb9\xa5\xf7\x08\xa5\xce\x1f\xcb\xa3\xa3\xa4\xb0\x1b\xf7\x79\x16\xa8\x9b\x77\x67\x57\x72\xfb\x02\x70\x49\x1f\x4b" -+"\x70\x75\x74\x68\x1b\x70\x7b\x9f\xac\xb4\xa6\xf7\x07\xa6\xd3\x1f\xcb\xa3\xa2\xa5\xac\x1b\x0e\xf8\x34\xf7\x0a\x15\x6c\x7a\x77\x77" -+"\x7c\x1b\x7f\x7e\x95\x9a\x83\x1f\x81\xa0\x85\x9f\x70\xf0\x83\xa8\x18\xaa\xc7\x8b\x8b\x94\x9a\x08\x9d\x96\x97\x93\x9c\x1b\x90\x91" -+"\x8a\x8a\x8f\x1f\x82\xa8\x8b\x8b\x96\x1b\xa7\xa1\xa3\xa8\xa9\x71\xa2\x69\x69\x68\x70\x5e\x73\x1f\x5f\x38\x81\xb8\x86\x9c\x6b\xea" -+"\x19\xfb\x2f\x6b\x85\x75\x05\x8d\x94\x94\x8c\x91\x1b\xa6\xa2\x6f\x59\x97\x1f\xaf\xfb\x26\x61\x41\x05\x76\x7f\x7e\x80\x7e\x1b\x85" -+"\x85\x8c\x8e\x86\x1f\x99\x72\x88\x8c\x7e\x1b\x6c\x75\x74\x6b\x6a\xa0\x76\xae\xad\xb7\xab\xb8\xa5\x1f\xb8\xd9\x05\xfb\x10\xa9\xa0" -+"\x6c\xc5\x1b\xbb\xb1\xac\xdd\xb9\x1f\x0e\x2a\xf8\x68\x66\x0a\xb9\xab\xa5\xf1\xd9\x9a\x1d\xa9\xa2\x95\xa4\xaa\x1e\x79\x6a\x85\x7b" -+"\x76\x1a\x80\x8d\x84\x90\x7d\x1e\x90\x7f\x8c\x86\x83\x1a\x71\x7e\x7a\x6f\x82\x1e\x96\x73\xab\xb9\x0a\x99\x87\x96\x7e\xa0\x1e\x7e" -+"\x9e\x87\x95\x93\x1a\x9b\x90\x97\xad\xcd\x1e\x0e\xfb\x14\xf7\xab\xf8\x5e\x15\x8c\x1d\xbc\xb3\xab\xd9\xb9\x1e\x79\x95\x05\x68\x78" -+"\x79\x78\x7c\x1b\x82\x88\x8f\x95\x92\x8b\x8c\x90\x9d\x1f\xe7\xf7\xf0\x05\xfb\x0a\x06\x7e\x59\x05\x36\x74\x51\x3e\xe5\x1d\x0e\xf7" -+"\x48\xf9\x67\xf7\x05\x15\x67\x77\x7a\x79\x7c\x1b\x82\x88\x8f\x94\x91\x8c\x91\x8f\x99\x1f\xe6\xf7\xee\x05\xfb\x0a\x06\x6b\xfb\x0e" -+"\x78\x45\x5d\x2a\x62\x54\x19\x7c\x80\x7e\x82\x81\x1b\x83\x85\x92\x94\x90\x8d\x95\x8e\x94\x1f\x8c\x8e\x8d\x92\x8d\x95\xdc\xf7\xc8" -+"\x18\xfb\x09\x06\x6a\xfb\x0e\x79\x46\x5e\x2d\x5e\x50\x19\x7c\x80\x7f\x82\x81\x1b\x83\x87\x91\x96\x93\x8b\x8d\x94\xac\x1f\xdf\xf7" -+"\xd6\xfb\x4a\x71\x85\x74\x05\x8c\x90\x8f\x8b\x8d\x1b\xa0\x99\x7c\x75\x84\x8a\x83\x89\x82\x1f\x55\xfb\x5f\x05\x81\x63\x88\x7a\x77" -+"\x1a\x5c\xa6\x6b\xb2\xbd\xb6\xb3\xf5\xcc\x1e\x7f\x61\x87\x79\x77\x1a\x63\xa5\x71\xb3\xc2\xb5\xb1\xf7\x00\xcd\x1e\x7d\x5a\x88\x7a" -+"\x78\x1a\x68\xa6\x71\xb1\xbd\xb3\xac\xda\xb9\x1e\x0e\xf7\x48\xf7\xd4\xf8\x5e\x15\xfb\x4a\x48\x1d\x76\x84\x8a\x83\x88\x81\x1f\x56" -+"\xfb\x60\x05\x80\x60\x88\x7d\x77\x1a\x5d\xa6\x6b\xb1\xbf\xb8\xb4\xf4\xcb\x1e\x7e\x62\x87\x76\x79\x1a\x63\xa5\x71\xb3\xc3\xbb\xb5" -+"\xf3\xc8\x1e\x7d\x59\x88\x7a\x79\x1a\x67\xa7\x72\xb2\xa7\x9b\x92\xaa\xb1\x1e\x71\x5d\x89\x85\x74\x1a\x82\x8d\x83\x90\x7e\x1e\x90" -+"\x7f\x8c\x87\x83\x1a\x70\x7e\x7a\x70\x82\x1e\x96\x73\xab\x9a\x98\x94\x9c\x9c\x19\xa3\xa3\x98\xa8\xa4\x1a\x99\x85\x9a\x81\x9c\x1e" -+"\x7d\xa0\x88\x92\x96\x1a\x9d\x94\xa0\xa2\xaf\x1e\x7a\x96\x05\x66\x77\x79\x78\x7d\x1b\x82\x87\x90\x95\x91\x8c\x8f\x8f\x9a\x1f\xe6" -+"\xf7\xf0\x05\xfb\x0b\x06\x6b\xfb\x0d\x78\x44\x5d\x2a\x61\x52\x19\x7c\x80\x7e\x82\x81\x1b\x83\x85\x92\x95\x8f\x8b\x8b\x95\xb4\x1f" -+"\xdc\xf7\xc8\x05\xfb\x0a\x06\x6a\xfb\x0d\x05\x22\x70\x39\xfb\x24\x6a\x1b\x83\x87\x91\x96\x94\x8d\x98\x92\xa2\x1f\x0e\xfb\x12\xf8" -+"\x0a\xf8\x59\x15\x7e\x78\x81\x87\x7a\x1b\x79\x76\x8f\x98\x5f\x1f\x94\x6b\x81\x8d\x79\x1b\x69\x6e\x80\x74\x71\x1f\x7f\x81\x89\x89" -+"\x6f\x6e\x9d\x78\x18\xa3\x9d\x99\x93\x9f\x1b\x93\x96\x89\x87\x94\x1f\x7f\xad\x8f\x8a\x99\x1b\x9c\x93\x8d\x9a\xb5\x1f\x90\x8d\x97" -+"\x8f\x99\x90\x41\x5a\x6b\x6f\x6e\x65\x08\x67\x5b\x74\x4d\x59\x1a\x64\x9a\x61\xa4\x6f\x1e\x73\xa1\xad\x7e\xb2\x1b\xf7\x07\xe6\xdc" -+"\xf2\xd4\x64\xb9\x4e\x73\x77\x86\x7d\x66\x1f\xa0\xc7\xb7\xc9\xc0\xb5\x08\xfb\x17\xfb\x59\x15\x93\xa0\x94\x8d\x95\x1b\xa7\x9e\x70" -+"\x62\x36\x5e\x3d\x5b\x74\x7e\x9f\xac\xb2\x97\xbc\xa9\xdb\x1f\x0e\xb4\xf7\xb8\xf8\x5e\x15\xfb\x4a\x72\x84\x74\x05\x96\x06\xa0\x98" -+"\x7d\x76\x84\x8a\x85\x87\x7f\x1f\x55\xfb\x4c\x05\x86\x7c\x87\x6d\x7b\x1a\x47\xc0\x5c\xd9\xf7\x08\xe9\xe2\xf6\xd0\x67\xb5\x4f\x72" -+"\x84\x89\x79\x55\x1e\x81\x6b\x15\x91\xa0\x96\x8e\x94\x1b\xa4\x9b\x77\x6a\x65\x7d\x58\x77\x68\x1f\x68\x77\x76\x79\x74\x1b\x78\x7c" -+"\x9c\xa0\x95\x8d\x95\x91\xa1\x1f\xf7\xfd\xf7\xea\x15\x31\xfb\xed\x05\x86\x78\x89\x7c\x7d\x1a\x68\xa6\x71\xb2\xbc\xb4\xac\xda\xb8" -+"\x1e\x79\x96\x05\x67\x78\x7a\x79\x7b\x1b\x83\x87\x8f\x93\x91\x8d\x94\x8e\x98\x1f\xe6\xf7\xed\x05\x0e\xfb\x58\xf7\xa5\xf8\x5e\x15" -+"\xfb\x4a\x72\x85\x74\x05\x96\x06\xa0\x99\x7c\x75\x84\x8a\x87\x88\x7f\x1f\x5b\xfb\x4c\x05\x87\x7d\x88\x70\x7b\x1a\x45\xc3\x5a\xda" -+"\xf7\x06\xe5\xde\xf4\xd4\x64\xb7\x4b\x73\x85\x89\x79\x56\x1e\x82\x6b\x15\x91\x9f\x98\x8e\x94\x1b\xa6\x9b\x75\x67\x35\x5c\x35\x5c" -+"\x78\x7b\x9d\xa1\x95\x8b\x8b\x93\xa9\x1f\x0e\xfb\x82\x89\xe8\x15\x9f\x68\x96\x7c\x9c\x7c\x08\x72\xa6\xaf\x7e\xb1\x1b\xf7\x18\xf7" -+"\x05\xf7\x18\xf7\x30\xc2\x7d\xbc\x71\xaa\x1f\xa6\x75\x64\x9a\x5a\x1b\x25\x43\x5e\x4c\x6f\x9e\x78\xa6\xa4\x9f\x9e\xa1\x94\x88\x94" -+"\x84\x93\x1f\x7f\x9a\x8a\x8c\x92\x1a\x9d\xb1\x9b\xb6\xbc\xa1\x76\x5e\x71\x86\x6e\x80\x59\x1e\xfb\x1a\x06\x82\x6b\x05\xf7\x1b\x06" -+"\xfb\x26\x69\x69\x55\x50\x1b\x5b\x64\xa8\xc3\x6f\x1f\x0e\xd8\xf7\x40\x16\xc6\xf7\x73\x05\xd5\x06\x83\x6b\x88\x76\x71\x1a\x2d\xc0" -+"\x4f\xdf\xaf\xb2\x98\xa6\xb3\x1e\xe4\xc6\xc3\xf3\xf4\x1a\xe8\x56\xcb\x40\x25\x28\x3c\xfb\x0c\x5d\x1e\x3e\x06\xc0\xf7\x5e\xfb\x4a" -+"\x4c\x0a\x84\x88\x82\x1f\x30\xfb\xf2\x05\xf8\x7c\xf8\x39\x15\xa5\x9b\x76\x68\x4b\x6c\xfb\x15\x69\x3a\x1f\x5c\x77\x72\xdb\x1d\xc1" -+"\x9f\xaa\xa9\xae\x1b\x0e\xfb\x1e\xf8\x4f\xf7\x06\x15\x61\x72\x7f\x7f\x7e\x1b\x82\x86\x90\x94\x90\x8c\x8e\x8d\x96\x1f\x8c\x8f\x05" -+"\x8c\x8d\x8b\x8d\x8c\x1a\xe5\xf7\xea\x05\xfb\x5b\x06\x28\x4c\x59\x3d\x6e\x95\x71\x9d\x79\x1f\x9b\x7c\x9c\x84\xb3\x80\x3f\x83\x6e" -+"\x73\x64\x35\x08\x61\x78\x80\x7f\x7a\x1b\x7d\x80\x97\xa0\x84\x1f\x76\x82\x05\x54\xa3\xa0\x7a\xb8\x1b\xcb\xb5\xaf\xd9\xa7\x1f\xa7" -+"\xe2\x9e\x9f\xc2\x8a\x6e\xfb\x00\x18\x87\x7a\x88\x78\x7e\x1a\x66\xa7\x71\xb1\xbd\xb4\xad\xd9\xb7\x1e\xfb\x31\xf7\x1f\x15\x89\x81" -+"\x87\x8b\x85\x1b\x66\x74\xa6\xb8\xc8\xb3\xb3\xc9\x92\x90\x8b\x89\x95\x1f\x0e\xfb\xb0\xf7\x93\xf8\x2e\x15\xf7\x3d\x06\xa7\xed\x05" -+"\x78\x06\x73\x5d\x6f\x7b\x51\x8a\x08\xfb\x79\x06\x85\x77\x05\x99\x06\x9d\x97\x81\x7c\x88\x8a\x87\x8a\x88\x1f\x2e\xfb\xdf\x84\x70" -+"\x7f\x81\x74\x89\x19\x86\x06\x85\x77\x05\xf7\x68\x06\x91\x9f\x05\x78\x06\x79\x7e\x96\x9a\x8c\x1f\x8e\x8c\x8e\x8c\x8f\x1e\x0e\xfb" -+"\x16\xf7\xf1\xf9\x3b\x15\xfb\x4d\x6e\x86\x75\x05\x91\x06\xa3\x9b\x7d\x75\x80\x8a\x85\x83\x6e\x1f\x49\x06\x82\x68\x05\xcd\x06\xfb" -+"\x1a\xfc\x93\x05\xf7\x09\x06\xb1\xf7\x23\x9a\xc2\xb9\xe7\xb2\xbc\x19\x9b\x98\x9c\x96\x95\x1b\x95\x91\x81\x7d\x55\x5a\xfb\x72\x64" -+"\xfb\x0c\x1f\x44\x74\x7b\x70\x78\x1b\x84\x88\x8d\x90\x8e\x8c\x8d\x8e\x91\x1f\x8f\x92\x8d\x8f\x91\x1a\xa2\x78\x9e\x73\x70\x78\x78" -+"\x6f\x67\xa9\x73\xb9\xc8\xc0\xb4\xdf\xbb\x1e\xc9\xf7\x03\xc6\xf7\x61\xf7\x00\x1a\xc3\x75\xab\x63\x68\x68\x78\x66\x68\x1e\x75\x74" -+"\x7e\x77\x63\x48\xc6\xf7\x72\xe8\x1d\xfb\x98\xf7\x0a\x7c\x1d\xf7\x2d\xf7\x26\x15\xf7\x2a\xe3\x05\xa8\x9c\x94\x96\x9e\x1a\xa4\x75" -+"\xa1\x72\x79\x7b\x80\x64\x67\x1e\xfb\x0c\xfb\x18\x05\x0e\xfb\x82\xf7\x3a\xf7\x91\x15\xf7\x05\xad\xba\xc3\xc7\x1b\x9e\x9a\x82\x81" -+"\x87\x88\x86\x86\x88\x1f\x70\x76\x85\x81\x75\x1a\x71\x9f\x75\xa4\xab\xa8\xae\xb1\xc2\x62\xb0\x4c\x4d\x56\x71\x55\x5a\x1e\x50\x49" -+"\x66\x30\x3d\x1a\x32\xc3\x4e\xdc\xd2\xcb\xb3\xd9\xc2\x1e\x76\x96\x05\x5d\x6b\x6a\x75\x62\x1b\x50\x6c\xb3\xd6\x9d\x8c\x99\x90\xa2" -+"\x1f\xf7\x24\x06\x93\xab\x05\x0e\xfb\x9c\xf7\xfd\xf8\x5c\x15\x6e\x06\x79\x80\x88\x89\x7d\x1b\x80\x83\x8d\x92\x7a\x1f\x94\x72\x7e" -+"\x8e\x77\x1b\x3b\x57\x5a\x41\x55\x9a\x6d\xcc\x3e\x1f\xb1\x5f\x9d\x69\x72\x1a\x6e\x72\x73\x6c\x75\x75\x96\x9f\x7b\x1e\x78\xa4\x83" -+"\xa1\x83\xc0\x70\x8e\x18\x76\xfb\x38\x05\xa6\x06\x97\x8f\x96\x93\x98\x1b\x92\x96\x88\x86\x98\x1f\x83\xa3\x9d\x87\xa0\x1b\xde\xc9" -+"\xc3\xd5\xb8\x72\xbc\x53\xcb\x1f\x64\xb7\x7a\xa9\xa2\x1a\xab\x9f\x9f\xab\xb8\xa6\x67\x3a\x9b\x1e\xa6\x89\x05\x0e\xfc\x0b\xf7\x7b" -+"\xf7\x0b\x15\x5e\x6b\x77\x78\x6a\x1d\x8b\x8b\x90\x9b\x1f\xf3\xf7\xf9\xfb\x50\x70\x85\x73\x05\x8d\x92\x92\x8c\x8f\x1b\x9c\x9a\x7d" -+"\x7d\x83\x87\x74\x87\x7e\x1f\x4d\xfb\x63\x05\x85\x78\x88\x78\x7b\x1a\x5d\xa6\x70\xb6\xa6\xa0\x95\xa9\xac\x1e\xa2\x9f\x97\x9b\xa2" -+"\xb1\x08\x77\xf8\xd0\x15\x65\x6c\x6c\x64\x63\xaa\x6a\xb3\xb1\xa9\xaa\xb2\xb2\x6b\xad\x65\x1f\x0e\xfc\x0b\xf7\x7c\xf7\x0c\x15\x60" -+"\x6c\x76\x76\x7d\x1b\x84\x86\x91\x92\x8f\x8c\x90\x8e\x96\x1f\xf7\x00\xf8\x05\xfb\x54\x69\x85\x74\x05\x8c\x92\x91\x8c\x90\x1b\x9c" -+"\x9b\x7d\x7d\x83\x87\x76\x86\x7c\x1f\x4c\xfb\x67\x05\x85\x78\x88\x79\x79\x1a\x5c\xa6\x6f\xb7\xa6\xa1\x96\xa9\xac\x1e\xa2\x9f\x98" -+"\x9b\xa2\xb2\x08\xfb\x2e\xf8\xbe\x15\x3a\x0a\xaf\x6d\xaa\x67\x1f\xf7\x66\x16\x3a\x0a\xb0\x6d\xa9\x67\x1f\x0e\xfc\x0b\xf7\x9c\xf8" -+"\x51\x15\xfb\x4f\x69\x86\x74\x05\x9a\x95\x8a\x8a\x8e\x1f\x9a\x86\x95\x7e\x7b\x1a\x82\x89\x7e\x87\x7b\x1e\x42\xfb\xc5\x05\xfb\x07" -+"\x6f\x76\x5c\x73\x1b\x85\x84\x91\x8f\x8f\x8d\x90\x90\x90\x1f\x92\x94\x8e\x91\x92\x1a\x9d\x79\x9a\x75\x70\x77\x77\x71\x6e\xaa\x75" -+"\xb5\xb3\xbd\xa1\xa9\xa9\x1e\xb1\xb2\xa9\xcb\xa0\xe0\x08\xb6\xf8\xf0\x15\x66\x6e\x6e\x65\x64\xa9\x6c\xb1\xaf\xa8\xa9\xb0\xb1\x6c" -+"\xab\x67\x1f\x0e\x91\xf8\x49\xf8\x50\x15\x46\x06\xfb\x0e\x8c\x42\x2c\x51\xfb\x7d\x08\x59\x7f\x8a\x89\x80\x1b\x85\x88\x8e\x94\x87" -+"\x1f\x9e\x81\x7f\x93\x77\x1b\x6d\x77\x76\x6b\x66\xa5\x73\xb2\xa3\xa1\x94\x9c\x97\x1f\x9c\xa0\x95\xa5\xa8\xed\x08\xf7\x32\xb8\xac" -+"\xc2\xba\x1b\x95\x06\x55\xfb\x67\x05\x87\x79\x88\x77\x7a\x1a\x44\xc1\x5c\xdc\xf7\x06\xe5\xdd\xf2\xd3\x64\xb8\x4d\x77\x7f\x89\x80" -+"\x6a\x1e\x87\x8a\x84\x88\x82\x89\x08\x83\x6a\x15\x92\xa1\x94\x8d\x95\x1b\xa6\x9a\x76\x67\x36\x5c\x34\x5d\x77\x7c\x9c\xa4\x95\x8b" -+"\x8b\x93\xa7\x1f\x0e\xc7\xf7\x85\xf7\xa0\x15\xbc\xf7\x52\xfb\x4a\x48\x1d\x75\x84\x8a\x84\x88\x81\x1f\x30\xfb\xf1\x05\xf7\x09\x06" -+"\xc9\xf7\x80\xf5\x8e\x78\x42\x05\x88\x7f\x87\x6c\x7c\x1a\x46\xc3\x5a\xda\xf7\x02\xe7\xdd\xed\xd2\x63\xb4\x47\x78\x80\x8a\x85\x5d" -+"\x1e\xb7\xf7\x3d\x05\xfb\x09\x06\x5e\xfb\x40\x05\xf7\x01\x6e\x15\x8f\xa1\x93\x8c\x93\x1b\xa8\x9b\x76\x64\x39\x5d\x37\x5e\x77\x7c" -+"\x9c\xa3\x94\x8d\x98\x90\x9c\x1f\x0e\x2a\xf7\xef\xf9\x3b\x15\xfb\x4d\x6e\x86\x75\x05\x91\x06\xa3\x9b\x7d\x75\x80\x8a\x85\x83\x6e" -+"\x1f\x49\x06\x82\x68\x05\xcd\x06\xfb\x1a\xfc\x93\x05\xf7\x09\x06\xb1\xf7\x23\x9b\xc6\xb7\xe2\xb2\xbc\x19\x9c\x99\x9c\x96\x97\x1b" -+"\x94\x90\x85\x81\x85\x8b\x8b\x85\x74\x1f\x51\xfb\x75\x05\x86\x76\x89\x7f\x7e\x1a\x68\xa7\x72\xb2\xbc\xb6\xae\xd6\xb5\x1e\x79\x95" -+"\x05\x62\x72\x7f\x7f\x7c\x1b\x83\x86\x90\x93\x90\x8c\x91\x8e\x92\x1f\x8c\x8e\x8c\x8f\x8c\x1a\xc9\xf7\x7e\x05\x90\xa0\x8e\xa0\x9c" -+"\x1a\xb5\x75\xa3\x64\x68\x69\x79\x66\x68\x1e\x75\x73\x7d\x78\x63\x46\xc6\xf7\x73\xe8\x1d\xfb\x26\x5b\x0a\xf7\x14\xf7\xa7\x15\xf7" -+"\x2a\xe3\x05\xaa\x9c\x93\x96\x9e\x1a\xa4\x75\xa1\x72\x78\x7b\x7f\x65\x68\x1e\xfb\x0c\xfb\x18\x05\x0e\xfb\x65\x74\x1d\x57\xf8\xd2" -+"\x15\x6c\x74\x73\x6c\x5e\xb9\x71\xda\xe7\xc7\xad\xc0\xa3\x7c\x9a\x72\x72\x78\x79\x74\x89\x8b\x88\x8c\x87\x1f\x8c\x87\x8b\x87\x89" -+"\x1a\x77\x70\x7c\x68\x6e\x76\x96\x9a\x8f\x8c\x90\x8d\x8f\x1e\x93\x9b\x8b\x8b\x92\x1a\x9e\x7b\x99\x73\x1e\x0e\xf7\x11\xf9\x29\x16" -+"\x4c\x1d\x70\x7b\x9c\xa5\x93\x8b\x8e\x8d\x91\x1f\xf7\x17\xf8\x80\x97\xb8\x9d\x9d\xad\x5f\x1d\x71\x1a\x83\x8a\x87\x8a\x85\x1e\xfb" -+"\x24\xfc\xb2\x05\xfb\x79\x06\x8d\x1d\xf7\x36\x06\xca\x8a\xa9\x5c\x8c\x29\x8c\x6e\x18\x9e\x06\xb5\xf7\x10\xb9\xbc\xdb\x8d\x08\x0e" -+"\x2a\xf8\x6a\x66\x0a\xa5\x9d\x93\xa2\xa9\x1e\x7b\x6f\x85\x7a\x76\x1a\x80\x8d\x84\x90\x7d\xd4\x1d\x05\xc9\xa9\xb0\xb7\xb8\x1a\x99" -+"\x87\x95\x7e\xa1\x1e\x81\x9d\x85\x99\x96\x1a\x9e\x93\x98\xb9\xc3\x1e\x86\x7b\x88\x7f\x88\x83\x08\x85\x77\x88\x7a\x7f\x1a\x72\xa2" -+"\x79\xa9\xc4\xbf\xb8\xde\xb2\x1e\x0e\xfb\x61\xc5\xf7\x6e\x15\x81\x65\x88\x77\x72\x1a\x35\xbb\x50\xd1\xf7\x1c\xf7\x1c\xf7\x3e\xf7" -+"\x3e\xda\x55\xc0\x3b\x3e\x3f\x5b\x36\x4f\x1e\xa0\x7f\x05\xbd\xb1\xac\x9f\xb6\x1b\xbc\xa7\x66\x49\x76\x89\x7d\x83\x6c\x1f\x83\x66" -+"\x15\x27\x6f\x64\x55\x60\x1b\x77\x7e\x9b\xa3\xa4\x8c\x8f\xa1\xe0\x1f\x0e\xf7\x48\xf9\x97\xf9\x40\x15\x4f\x06\xfc\xf9\xfd\x5b\x05" -+"\xc6\x06\xf7\x4a\xf8\x54\x15\x68\x68\x6a\x7b\x67\x1b\x61\x70\xad\xbd\xbb\x9a\xbc\xa6\xb7\x1f\xb8\xa6\xab\xa2\xae\x1b\x99\x96\x84" -+"\x81\x86\x87\x85\x84\x86\x1f\x7b\x7f\x84\x80\x7c\x1a\x75\x9c\x7b\xa2\xa8\xa3\xa7\xab\xb4\x6b\xa4\x56\xfb\x09\xfb\x07\xfb\x0e\xfb" -+"\x11\x44\xb5\x60\xd1\xcb\xbf\xa8\xca\xc1\x1e\xf7\xf4\x4f\x15\xfb\x0d\xfb\x07\xfb\x10\xfb\x16\x49\xb5\x62\xcf\xc8\xc2\xa6\xc1\xbb" -+"\x1f\xb9\xbf\xa4\xc7\xc6\x1a\xcd\x60\xb6\x49\x1e\x7b\x77\x15\x9f\x97\x7a\x71\x49\x70\x2d\x63\x45\x1f\x6a\x79\x79\x7c\x79\x1b\x74" -+"\x7d\x9c\xa7\xcf\xb4\xf7\x15\xb3\xc0\x1f\x9e\x98\x98\x92\x9e\x1b\x0e\xfb\x76\xf7\x87\xf7\x96\x15\xd1\xd4\x9e\xa1\x9e\xa6\x08\xb7" -+"\xcd\xa6\xd3\xc1\x1a\xc4\x6b\xb0\x5b\x2e\x49\xfb\x17\xfb\xaf\x58\x1e\x7f\x7b\x7f\x7d\x86\x85\x08\x63\x5f\x8b\x8b\x7e\x1a\x7e\x94" -+"\x7c\x93\x92\x9e\x9c\xa0\x9e\x1e\x89\x74\x8b\x7b\x76\x1a\x62\x8e\x78\x93\x77\x1e\x6c\x98\xa6\x78\xac\x1b\xaa\xa7\x9d\xac\xa3\x1f" -+"\x9a\xa2\x95\xa4\x9d\x1a\x99\x84\x93\x7f\x82\x85\x86\x7b\x83\x1e\x67\x79\x82\x80\x7e\x1b\x82\x86\x94\x9b\xa5\x93\xc9\x9b\xea\x1f" -+"\x95\xd1\x15\xf7\x5b\xab\xa3\xd3\xae\x1b\x98\x94\x7e\x77\x73\x7d\x5a\x79\x63\x1f\x76\x5b\x73\x67\x67\x62\x08\x0e\xf7\x9a\xf8\x09" -+"\xf9\x2a\x15\xfb\x56\x20\x1d\x96\x06\xaa\x8a\x9d\x7c\x99\x67\xfb\x0c\xfc\x55\x18\x55\x7d\x6f\x68\x6f\x1b\x80\x86\x93\x9d\xae\x7a" -+"\x9d\x69\x67\x74\x72\x64\x5d\xae\x6b\xbf\xd5\xb8\xbb\xf7\x01\xa8\x1f\xf7\x02\xf8\x2d\xf7\x61\xfc\xbd\x05\xa0\x06\xf7\x1f\xf8\x9f" -+"\x05\xc2\x9a\xa4\xad\xa5\x1b\x96\x90\x85\x7b\x8d\x1f\x69\x8f\x9b\x7b\xac\x1b\xad\xa0\xa1\xae\xba\x69\xaa\x57\x42\x60\x5d\xfb\x03" -+"\x6e\x1f\x41\xfb\xac\x05\x98\xfb\x82\x15\xf7\x97\x06\x9e\xd0\x05\xfb\x97\x06\xf7\x69\xf8\x1d\x15\x2f\x3f\x3a\x29\x3b\xbb\x56\xd2" -+"\xed\xda\xdc\xee\xdc\x5a\xbe\x3c\x1f\x92\x6b\x15\xa3\x97\x77\x62\x5c\x7e\x50\x79\x69\x1f\x6b\x7a\x78\x7d\x74\x1b\x73\x7e\xa0\xb0" -+"\xb9\x98\xc6\x9e\xaf\x1f\xab\x9c\x9e\x9b\xa2\x1b\x0e\x27\xf8\x17\xf8\x50\x15\x6b\x3c\x05\xc9\x80\x70\xa5\x57\x1b\x60\x58\x6f\x5d" -+"\x61\x1f\x56\x52\x6c\x38\x3c\x91\x0a\xc0\xe7\xaf\x1f\x78\x97\x05\x48\x69\x7a\x77\x75\x1b\x7b\x88\x96\xd2\x88\x1f\xf7\x15\xf7\xc0" -+"\x05\xfb\x6f\xfb\x9f\xb8\x0a\xc6\xd8\x1d\x42\x94\x1f\x0e\x27\xf8\x19\xf8\x51\x15\x6b\x3c\x05\xc9\x7f\x72\xa4\x56\x1b\x5f\x59\x70" -+"\x5c\x61\x1f\x56\x52\x6c\x39\x3b\x91\x0a\xc1\xe7\xaf\x1f\x78\x96\x05\x48\x69\x7a\x77\x75\x1b\x7b\x88\x96\xd2\x88\x1f\xf7\x15\xf7" -+"\xc1\x05\xfb\x6f\xfb\xa0\xb8\x0a\xc7\xd8\x1d\x41\x94\x1f\x99\xf7\x69\x15\x90\x94\x9b\xac\x05\xbc\xe7\x8e\x93\xa4\x1a\xa7\x75\x9d" -+"\xf6\x1d\x73\x8a\x5f\x08\x8a\x60\x8a\x71\x82\x1a\x84\x8a\x7f\x8a\x7c\x1e\x0e\x25\x1d\xf7\x67\xf7\x5f\x15\xfb\xd9\x06\x7a\x45\x05" -+"\xf7\xd9\x06\x0e\xfb\xd4\xc5\xf7\x82\x15\xf7\x42\xfb\xe8\x05\x7c\x93\x95\x83\x97\x1b\x93\x90\x8f\x92\x92\x89\x93\x88\x93\x1f\xfb" -+"\x17\xf7\xdd\xf7\x17\xf7\xdd\x05\x8e\x93\x8d\x93\x92\x1a\x93\x86\x8f\x83\x7f\x83\x85\x79\x81\x1e\x0e\xfb\xd4\xf7\xa7\xf7\x82\x15" -+"\xfb\x42\xf7\xe8\x05\x9c\x82\x82\x92\x7f\x1b\x83\x86\x87\x83\x85\x8d\x83\x8e\x82\x1f\xf7\x17\xfb\xdd\xfb\x17\xfb\xdd\x05\x88\x84" -+"\x89\x83\x84\x1a\x83\x90\x87\x93\x97\x93\x91\x9c\x95\x1e\x0e\x88\x1d\x65\xa4\x73\xb4\x87\x1e\x72\x66\x84\x7b\x72\x31\x0a\xb3\xa3" -+"\x92\x9a\xa7\xa9\x1f\xa8\xac\x96\x99\xa4\xb1\x08\xfb\x51\xf7\xc8\x15\xa1\x8a\x9a\x78\x70\x1a\x4f\x69\xfb\x03\x65\x46\x1e\x5a\x70" -+"\x6d\x71\x70\x1b\x71\x78\xa2\xaa\xbf\xac\xef\xb4\xd5\x1f\xa9\xc0\xac\xaa\xa6\x89\x08\x0e\xf7\xef\xf9\x38\xf7\x6b\x15\x6b\x72\x78" -+"\x7e\x73\x1b\x79\x7c\x90\xa1\x5a\x1f\xad\x3f\x73\x92\x67\x1b\x58\x66\x71\x51\x6a\x1f\xc0\x5c\x05\xac\xa3\x9b\x95\xa8\x1b\xae\xaa" -+"\x82\x71\xb9\x1f\x72\xba\xa4\x83\xac\x1b\xb9\xab\xa1\xc9\xb8\x1f\x54\xf7\x80\x15\x6a\x72\x78\x7e\x73\x1b\x79\x7d\x8f\xa2\x59\x1f" -+"\xad\x3f\x73\x92\x67\x1b\x59\x65\x71\x51\x6a\x1f\xc0\x5d\x05\xab\xa3\x9b\x95\xa8\x1b\xaf\xa9\x82\x71\xb9\x1f\x72\xb9\xa5\x83\xac" -+"\x1b\xb9\xab\xa1\xca\xb8\x1f\x0e\xf8\x46\xf7\x13\x15\x54\x62\x7c\x7c\x7b\x1b\x84\x86\x91\x94\xa4\x94\xb4\xa4\xdd\x1f\xd2\xf7\x80" -+"\xfb\x03\x84\x79\x50\x05\xbe\x82\x75\xa0\x60\x1b\xfb\x0f\xfb\x2a\xfb\x54\xfb\x30\x3f\xb6\x58\xcc\xc8\xb8\xaf\xeb\xc5\x1f\x7f\x62" -+"\x89\x7f\x7d\x1a\x66\xa9\x6e\xb0\xba\xba\xb2\xe2\xc4\x90\x1d\xbd\xf7\xd8\x15\x51\x5a\x5b\x52\x4f\xba\x5b\xc6\xc6\xbb\xbb\xc6\xc5" -+"\x5b\xbb\x51\x1f\x89\x5b\x15\xac\xa6\x70\x6a\x6c\x6f\x71\x6b\x6c\x71\xa5\xab\xab\xa5\xa6\xaa\x1f\x87\xcd\x15\x2b\x1d\x38\x1d\xd0" -+"\xf9\x03\xf8\x37\x15\xfc\xa0\x06\xf7\x66\xdc\x74\xc0\xfb\xb2\xfb\x14\x05\x3e\x07\xf7\xb2\xfb\x13\xa2\xbf\xfb\x66\xdd\x05\xf8\xa0" -+"\x06\xfb\x66\x39\xa2\x57\xf7\xb2\xf7\x13\x05\xd8\x07\xfb\xb2\xf7\x14\x74\x56\x05\x0e\xd0\xf8\x1b\xf9\x66\x15\x4b\xfd\x03\x06\x39" -+"\xf7\x66\x57\x74\xf7\x13\xfb\xb2\x05\xd8\x06\xf7\x14\xf7\xb2\x56\xa2\x3a\xfb\x66\x05\x0e\xd0\xf9\x66\xf7\xf9\x15\xcb\xfd\x03\x07" -+"\xf7\x66\xdc\x74\xc0\xfb\xb2\xfb\x13\x05\x3e\x07\xf7\xb2\xfb\x14\xa2\xbf\xfb\x66\xdd\x05\x0e\xd0\xf7\xf9\x04\xf9\x03\x06\xfb\x66" -+"\x39\xa2\x57\xf7\xb2\xf7\x14\x05\xd8\x07\xfb\xb2\xf7\x13\x74\x56\xf7\x66\x3a\x05\xfd\x03\x06\x0e\xd0\xf8\x1b\x16\xf9\x03\x07\xdc" -+"\xfb\x66\xc0\xa3\xfb\x14\xf7\xb1\x05\x3e\x06\xfb\x13\xfb\xb1\xbf\x73\xdd\xf7\x66\x05\xfd\x03\x07\x0e\xd0\xf7\xde\xf9\x03\x9b\x1d" -+"\xa2\xe6\x1d\x74\x05\x0e\xd0\xf7\x5b\x2c\x15\x51\xf7\xdb\xc5\x07\xfb\x58\xf9\x42\x9b\x1d\xa3\xe6\x1d\x73\x05\x0e\xfb\x21\x70\xfb" -+"\x45\x15\xf7\x05\x06\xc5\xf7\x75\x05\x60\xa7\x9f\x7e\xad\x1b\xf7\x07\xf7\x05\xf7\x1b\xf7\x1c\xd1\x72\xb9\x52\xb1\x1f\xdf\xbc\xb1" -+"\xbb\xc6\x1a\xcd\x5a\xb5\x3d\x59\x5d\x7c\x6f\x66\x1e\x60\x69\x6c\x50\x71\x28\x08\xf7\x03\x80\x15\xb4\xf7\x33\x91\x99\xb0\xa7\x08" -+"\x92\x94\x96\x8f\x95\x1b\xa3\x9a\x72\x65\x5e\x7e\x5b\x6c\x4c\x1f\x95\x73\x80\x8e\x7c\x1b\x73\x77\x7b\x76\x7b\x99\x7e\x9c\x9a\x99" -+"\x91\x9e\xa6\x1f\x8c\x7a\x8b\x83\x83\x1a\x3d\x64\xfb\x36\x6b\x57\x1e\x6f\x7a\x77\x7c\x75\x1b\x71\x7c\x97\xb6\x74\x1f\x0e\xfb\x65" -+"\x3e\x1d\x2e\xf8\x1d\x15\x2b\x1d\x38\x1d\xfb\x65\x3e\x1d\xf7\x0e\xf8\xcb\x20\x0a\xfb\x61\xf7\xd4\x89\x1d\xfb\x38\xfb\x34\x32\xc9" -+"\x4d\xe6\xb7\xb6\x9b\xa8\xad\x1e\xa5\xa1\x9b\x9e\xae\xbd\x08\xcc\xf8\x1d\x15\xbe\x06\x35\xf7\x42\x05\x3a\x2a\x0a\xfb\x65\x3e\x1d" -+"\x60\xf8\xa8\x2a\x1d\xfb\x50\xf8\x61\xf8\x51\x15\x20\x06\xfb\x26\xfb\x73\x05\xf7\x4f\x82\x7a\xb7\x48\x1b\x68\x77\x7a\x6d\x6f\x9a" -+"\x7a\xa8\x83\x1f\xc6\x80\x91\x7f\x94\xfb\x27\xfb\x8c\xfb\xfd\x18\xf7\x02\x06\xf7\x37\xf7\x8b\x8c\x54\x8f\x57\x93\x57\x19\x44\x95" -+"\x9c\x6c\xa9\x1b\xb0\xb6\xc5\xe8\xab\x1f\x76\x93\x05\x52\x74\x77\x72\x71\x1b\x63\x7b\xcb\xf7\x39\x87\x1f\x0e\xf7\xef\xf8\x8b\xf9" -+"\x4b\x15\xfb\x5c\xfb\x36\xfb\x35\xfb\x5c\xfb\x58\xf7\x36\xfb\x36\xf7\x57\xf7\x59\xf7\x37\xf7\x37\xf7\x57\xf7\x58\xfb\x36\xf7\x39" -+"\xfb\x55\x1f\x87\xfb\xd0\x15\xfb\x52\xf7\x50\x05\xb8\xc2\xcc\xa2\xd1\x1b\xd0\xcb\x75\x5f\xc4\x1f\xb3\x63\x15\xbb\x51\xa2\x4d\x42" -+"\x1a\x43\x74\x4b\x5d\x53\x1e\xfb\x54\xf7\x57\x05\xf7\x2c\xfb\x7f\x15\x5f\x54\x48\x73\x45\x1b\x45\x4b\xa2\xba\x50\x1f\xf7\x55\xf7" -+"\x55\x05\xfb\x7d\xfb\x2d\x15\x5f\xc1\x74\xcb\xd1\x1a\xd3\xa2\xcb\xba\xc4\x1e\xf7\x52\xfb\x50\x05\x0e\xf7\xef\xf9\x83\x16\x9f\x07" -+"\x84\x8d\x74\x90\x3e\x9e\x8b\x8c\x70\x9c\x19\x45\xbb\x64\xd8\xe4\x1a\x94\x07\x9b\x07\x9f\x67\x94\x7e\x97\x7c\x08\x5c\xb1\xc8\x6d" -+"\xc1\x1b\xe6\xd3\xd5\xe8\xe7\x4a\xd2\x39\x71\x80\x88\x79\x67\x1f\x88\x8a\x82\x86\x82\x87\x08\xa8\xb7\x95\xa5\xb0\x1a\xe5\x43\xd2" -+"\x2f\x2e\x44\x45\x31\x67\x92\x78\xad\x56\x1e\xa3\x58\x78\x91\x70\x1b\x3d\x49\x40\x33\x2d\xd3\x43\xe9\xdb\xd1\xbe\xe5\xb6\x1f\x8c" -+"\x72\x05\x83\x07\x54\x71\x45\x65\x5f\x1e\x5c\x5a\x8a\x8a\xfb\x0e\x6e\x83\x89\x18\x77\x07\x0e\x70\x59\x0a\xf7\x77\x78\x15\xf4\xb9" -+"\xce\xd8\xd4\x1a\xc0\x6c\xae\x5e\x66\x70\x6f\x65\x73\x94\x7d\xa6\x78\x1e\x9f\x7e\x92\x82\x7e\x1a\x6b\x68\x68\x43\x65\x1e\x0e\xf7" -+"\xec\xf8\x95\x15\x75\x37\x91\x1d\x75\x9b\x05\xa3\x0a\xc7\xf7\x6f\x05\xcd\x06\x93\xaa\x05\x49\x06\xb6\xf7\x2f\x4f\x7d\x5b\x85\x26" -+"\x82\x19\x70\xa0\x07\xa5\x9a\x81\x79\x84\x8a\x85\x83\x6e\x1f\x8a\x87\x88\x7f\x87\x7e\x08\xfb\x1e\x06\x82\x6c\x05\xcc\x2e\x93\x1d" -+"\x0e\xfb\x21\xf7\xa5\xf8\xb4\x15\x6a\xa4\x7a\xa3\xa2\x1a\x9d\x98\x95\xa5\xb4\xce\x74\x5d\xe8\x1e\x9a\xc9\x05\xa7\x3e\x47\x97\x43" -+"\x1b\x59\x6b\x80\x74\x75\x1f\x7e\x7b\x81\x73\x78\x1a\x69\xa1\x6e\xd7\x49\x1e\x46\x73\x6a\x76\x67\x5d\x08\x5d\x4f\x6f\x3d\x42\x1a" -+"\x27\xcc\x4a\xee\xe4\xe2\xbb\xd7\xbb\x1e\xac\xbf\xa3\xd4\xbc\x1a\xc3\x70\xc4\x56\xc2\x1e\x7b\x9b\x75\x9e\x7e\x95\x08\x49\x3c\x15" -+"\xc6\x52\xa2\x64\x5b\x1a\x46\x6c\x2d\x62\x53\x1e\x75\x7b\x70\x7d\x71\x1b\x5f\x6e\xae\xc0\xc0\x9b\xd8\xa4\xcb\x1f\xa6\xcf\xa1\xa8" -+"\xb5\x9f\x08\x0e\xf7\xef\xf8\x95\xf9\x89\x15\x42\xfb\x13\x4d\x33\xfb\x21\xfb\x45\xf0\xfb\x0f\xf7\x35\xfb\x78\x99\x61\xde\xf7\x20" -+"\xdf\xf7\x0b\xf7\x03\xf7\x1a\xfb\x0b\xf7\x26\x2a\xf7\x1d\x4d\xf7\x01\x08\x0e\xfb\xd4\xf7\x7e\xf8\xd5\x15\xa8\x06\x90\x93\x8f\x92" -+"\x92\x97\x08\xb1\xc6\x8d\x8e\x9d\x1a\x9d\x7a\x98\x73\x7b\x7c\x85\x83\x83\x1e\x83\x82\x8b\x8a\x89\x66\x8f\x5e\x18\x8c\x72\x05\x41" -+"\x85\x15\x6d\x73\x74\x6d\x6c\xa4\x72\xa9\xa8\xa3\xa3\xa9\xa9\x72\xa4\x6e\x1f\xf7\x39\x16\x6d\x73\x74\x6d\x6c\xa4\x72\xa9\xa8\xa3" -+"\xa3\xa9\xa9\x72\xa4\x6e\x1f\x0e\xfb\x65\x22\x0a\xf7\xa0\xf8\x64\x15\x49\x6c\x68\x73\x4a\x1b\x4b\x6a\xa8\xc8\x85\x1f\x60\x7e\x06" -+"\x26\xb7\x5b\xe8\xec\xcb\xc5\xf3\x9d\x1e\x0e\xfb\x65\x22\x0a\xf7\xd3\xf8\x70\x20\x0a\xfb\x65\x22\x0a\xf7\x1b\xf8\x4d\x2a\x1d\xf7" -+"\xef\xf9\x93\xf7\x6c\x15\xc8\xfc\x62\x07\x91\xf6\xc3\xbd\xf7\x01\x89\x08\xf7\xb7\xc9\xfb\xac\x62\x1d\x42\x2c\x1a\xfb\x08\xb8\x38" -+"\xef\x1d\xc9\xfb\xb7\x06\xfb\x01\x89\x53\xbd\x85\xf5\x08\x0e\xfb\x65\x22\x0a\xf7\xc1\xf8\x2d\x25\x0a\xfb\x11\xf7\x8c\xf8\x61\x15" -+"\x4b\x7d\x3b\x6b\x1d\x97\x85\x78\x7f\x7d\x55\x6b\xfb\x04\x1f\x74\x39\x84\x71\x71\x2b\x08\xf7\x0d\x06\xb0\xf7\x1e\xa7\xd4\xb5\xd6" -+"\x08\xc9\xae\xb7\xb5\xa7\x1b\x98\x95\x83\x81\x83\x8a\x83\x89\x83\x1f\x26\xfc\x1d\x81\x0a\xc9\xc1\xbd\xa3\xb4\xa9\x1e\xaa\xb5\xa8" -+"\xcb\x9b\xc7\xcb\xf7\x8c\x18\x9e\xd4\x92\xab\x9b\x1a\xb6\x6f\xa5\x5d\x40\x50\x55\xfb\x21\x3c\x1e\x0e\xfb\x65\x78\x0a\xe3\x9f\x9b" -+"\x8e\x92\xa2\x1e\x6a\x60\x83\x78\x70\x77\x0a\x61\x76\xa1\xb8\xae\x92\x9c\xa9\xb0\x1f\x9d\xa1\x95\x9a\xa1\xaf\x08\xfb\x5a\xe4\x15" -+"\xf7\x1f\xaf\xb9\xd7\xbb\x1b\x9e\x94\x80\x74\x5f\x7a\x60\x6b\x6a\x1f\x70\x6e\x72\x7d\x52\x79\x08\x0e\xfb\x87\x61\x0a\x0e\xfb\x87" -+"\x61\x0a\xfb\x00\xf8\x10\x15\xbe\x06\x8f\x93\x92\x99\x94\x9f\x08\xbc\xe7\x8e\x93\xa5\x1a\xa6\x75\x9d\x6b\x77\x77\x83\x7e\x80\x1e" -+"\x82\x7f\x86\x73\x8a\x5f\x8a\x60\x8b\x72\x8a\x81\x08\x0e\xf7\xef\xf7\x8c\xf7\x63\x15\xf8\x8c\xe5\xfc\x8c\x06\xfb\x94\x04\xf8\x8c" -+"\xe5\xfc\x8c\x06\xf7\x86\x04\xf8\x8c\xe5\xfc\x8c\x06\x0e\x56\xf8\x96\xf7\x8e\x15\x8a\xd3\x86\xae\x7d\xb0\x08\xda\x6d\x41\xbc\x31" -+"\x1b\xfb\x1b\x35\x23\xfb\x38\xfb\x36\xdd\x29\xf7\x1d\xf2\xd1\xbe\xec\xa7\x1f\x62\x06\x46\x6d\x56\x68\x40\x1b\x60\x68\x97\xa2\x73" -+"\x1f\x7a\x9b\x82\x9c\x80\xb2\x08\xf4\x07\xf7\xb0\xae\x15\xfb\xae\xe8\x06\xd5\xac\xaf\xa5\xce\x1b\xd2\xc0\x66\x4c\xa1\x1f\x0e\x23" -+"\x62\x0a\x0e\x23\x62\x0a\xf7\x9a\xf7\x76\x15\xbe\x06\x8e\x91\x8b\x8c\x9d\xae\x08\xbb\xe6\x8f\x94\xa4\x1a\xa7\x75\x9d\x6b\x77\x77" -+"\x83\x7e\x80\x1e\x81\x7f\x86\x75\x8a\x5d\x8a\x3d\x18\x0e\x3c\xf7\x1c\xf7\x55\x15\xa5\xd1\xb2\xe0\xd8\xf7\x30\x08\xa8\xc3\x92\x9d" -+"\xa2\x1a\xb1\x6c\xa7\x61\x73\x77\x81\x79\x7e\x1e\x7d\x77\x85\x78\x86\x57\x75\xfb\x4f\x7f\x3b\x78\x3b\x08\x78\xa0\x0a\xf8\x4a\xc5" -+"\x15\xa5\xd1\xb3\xe3\xd8\xf7\x2d\x08\xa7\xc2\x92\x9e\xa2\x1a\xb1\x6c\xa7\x61\x58\x75\x6b\x34\x82\x1e\x76\xfb\x4d\x7e\x36\x77\x3e" -+"\x08\x79\xa0\x0a\x0e\xfb\x79\xbd\x16\xf7\xd9\xf8\xd5\xfb\xd9\x37\xf7\x85\xfb\x36\xfb\x85\x37\xf7\x85\xfb\x37\xfb\x85\x06\x0e\xd0" -+"\xf8\x19\xf7\xa7\x15\xb3\x93\x9c\x90\xa4\x9a\x08\xd0\xb4\xb4\xd2\xd9\x1a\xf7\x0e\x29\xed\xfb\x0e\xfb\x0d\x29\x29\xfb\x0e\x3d\xb4" -+"\x44\xd0\x62\x1e\xa3\x7c\x9c\x85\xb3\x84\x08\x3e\xfb\x29\x57\xf7\x29\xfb\x2c\xc3\xf7\x2c\xf7\x28\xbf\xfb\x28\x07\x6c\xf8\x5e\x15" -+"\xe7\xd5\x43\x31\x30\x42\x42\x31\x31\x42\xd4\xe5\xe3\xd4\xd6\xe2\x1f\x0e\xf7\x76\xb1\x15\x6d\xa1\x7e\xac\xc5\x1a\xd5\xa6\xf7\x0d" -+"\xb0\xeb\x1e\xf7\x1b\xc0\xc8\xcf\xce\x1b\xc5\xb1\x58\x3b\x79\x8a\x7e\x87\x72\x1f\xa6\x06\xc6\xf7\x73\x05\x75\x06\x6c\x7e\x7d\x7c" -+"\x7b\x1b\x83\x84\x8d\x8f\x84\x1f\xa8\x5b\x78\x91\x62\x1b\xfb\x4b\xfb\x4c\xfb\x7f\xfb\x80\x44\xa0\x4e\xb1\x66\x1f\x6d\xaa\xb7\x7c" -+"\xc8\x1b\xd5\xc8\xa4\xca\xda\x1f\x75\xa4\x68\x6d\x70\x7a\x68\x7d\x19\xb2\xf7\x23\x97\xb4\x92\x97\xa5\xa4\x19\x71\x94\x97\x81\xa4" -+"\x1b\xb3\xa9\xac\xb7\xa5\x7b\x9a\x6f\x6a\x6c\x73\x52\x62\x1f\x9d\xd1\x05\xfb\x18\x06\x85\x77\x05\xa1\x87\x8f\x87\x7c\x1a\x81\x8a" -+"\x81\x88\x81\x1e\x0e\xfb\x81\xac\xf7\xb8\x15\xbb\x9e\xaa\xb3\x9d\x1b\x92\x90\x87\x84\x8f\x1f\x95\x76\x92\x4c\x4d\x1a\x4f\x89\x6d" -+"\x83\x27\x1e\x52\x3f\x75\x5c\x5b\x1a\x68\x9d\x78\xaa\xa0\x9c\x94\x9f\x9d\x1e\xa5\xa8\x98\xb1\xa3\xf7\x0b\xdd\xea\xb8\xbe\x91\x92" -+"\x08\xd2\xe3\xa9\xca\xc4\x1a\xb3\x74\xa8\x6c\x6d\x71\x6f\x6b\x80\x8d\x7f\x8f\x7f\x1e\x97\x67\x8c\x86\x78\x1a\x70\x80\x70\x6f\x63" -+"\x1e\x7f\x7b\x8b\x8b\x50\x41\x71\x6b\x18\x98\xdb\x91\xc7\xca\x1a\xf7\x04\x70\xc3\x54\x56\x55\x52\x2d\x67\x1e\x0e\x3f\x0a\xf7\x45" -+"\xf7\x8b\x38\x0a\xfb\x28\xf8\x71\xf8\x41\x6e\x1d\xf7\x1e\xe0\x63\x1d\xf7\x16\xea\x05\x0e\x3f\x0a\xf7\x17\xf7\xe2\x15\x22\x5d\x48" -+"\x3e\x42\x1a\x56\xaa\x68\xb8\xb0\xa6\xa7\xb0\xa4\x82\x99\x70\x9e\x1e\x76\x98\x85\x94\x98\x1a\xab\xaf\xae\xd1\xb0\x1e\x0e\xfb\x28" -+"\xf7\xb8\xf9\x2e\x15\x69\x70\x6f\x67\x68\xa6\x6e\xac\xad\xa6\xa8\xae\xae\x70\xa8\x6a\x1f\xf7\x4c\xfb\x81\x6e\x1d\x0e\xf7\xef\xf7" -+"\x73\x8c\x15\xf8\x3c\x06\xa1\xdf\x05\xfc\x3b\x06\x8f\x9c\x15\xf8\x76\xf7\x6c\x90\x9f\xfb\xfc\xf7\x84\x6d\xfb\x05\xf7\x85\xfb\x34" -+"\xfb\xd5\xfb\x1e\x05\x0e\x2a\xf7\x10\xf8\x8b\x15\xfb\x1d\xfc\x8b\x50\x1d\x75\x9a\x05\x4d\x60\x78\x76\x7e\x1b\x83\x82\x94\x92\x8d" -+"\x8c\x8f\x8d\x91\xd1\x1d\x9f\x1a\xb9\x6f\xa7\x5b\x67\x6d\x7f\x6d\x68\x56\x0a\xc3\xf7\x70\x18\xf7\x1b\x06\x97\xb3\x05\xfb\x1c\x06" -+"\xb3\xf7\x30\x3d\x7b\x59\x84\x3b\x84\x19\x70\xa1\x07\xa7\x98\x80\x75\x81\x89\x80\x85\x76\x1f\x85\x73\x05\x4b\x06\x7f\x63\x05\x0e" -+"\x30\xf8\x73\xf7\x22\x15\x4e\x60\x78\x75\x7e\x1b\x83\x82\x94\x92\x8e\x8b\x8d\x8e\x92\x1f\xc5\xf7\x46\x05\x9f\xc9\x95\xb4\x9e\x1a" -+"\xba\x6e\xa7\x5c\x67\x6e\x7f\x6d\x67\x56\x0a\xf6\xf8\x34\x18\x3d\x7c\x59\x83\x3b\x84\x08\x70\x07\x8c\x93\x94\x8b\x90\x1b\xa7\x64" -+"\x1d\xfb\x2e\xfc\xcb\x50\x1d\x59\xf8\xff\x23\x1d\xf7\xef\xf8\x87\x6f\x15\x9c\xde\xc7\xf3\xf7\x0b\xf7\x2b\xb4\xc0\x9b\xa0\x9a\xa3" -+"\x08\xb1\xca\x9d\xc2\xc1\x1a\xdc\x44\xcf\x37\x5b\x5f\x76\x65\x6a\x1e\x76\x72\x81\x75\x7e\x5d\x08\xf2\x67\x56\xbb\x3a\x1b\x36\x48" -+"\x46\x34\x4a\xa3\x56\xdc\xfb\x01\x1f\xf7\x2c\xfb\x5f\xb2\x48\xa5\x24\x08\x0e\xf7\xef\xf7\x2d\x16\xf9\x50\xf8\x25\x06\xfb\xf3\xf7" -+"\xdc\xfb\xf1\xfb\xdc\x05\xc8\xfb\xf2\x15\xf7\xdc\x07\xf7\xb4\xf7\xa2\xf7\xb6\xfb\xa2\x05\xfb\xdc\x07\x0e\xfc\x0b\x2c\x1d\xc8\xf8" -+"\xbb\xad\x1d\xcb\xc5\xf3\x9d\x1e\x0e\x26\xf7\x85\xf7\x10\x15\x5a\x68\x79\x79\x6a\x1d\x8d\x94\x8d\x93\x1f\xf7\x04\xf8\x07\xfb\x52" -+"\x6f\x84\x73\x05\x8c\x93\x92\x8c\x8f\x1b\x9c\x9a\x7d\x7c\x83\x87\x79\x85\x78\x1f\x49\xfb\x6c\x05\x84\x76\x88\x78\x79\x1a\x5d\xa5" -+"\x6f\xb6\xa6\xa1\x96\xaa\xad\x1e\xa2\x9f\x97\x9b\xa4\xb4\x08\x82\xf8\xe6\x15\x63\x6b\x6a\x62\x61\xaa\x6a\xb3\xb2\xaa\xac\xb4\xb4" -+"\x6c\xad\x65\x1f\xf7\xaf\xfb\x85\x15\xfb\x50\x68\x84\x73\x05\x9c\x94\x8a\x8a\x8e\x1f\x9b\x86\x94\x7e\x7a\x1a\x82\x89\x80\x86\x77" -+"\x1e\x3c\xfb\xd0\x05\xfb\x0e\x6c\x76\x5c\x73\x1b\x85\x84\x91\x90\x8e\x8d\x90\x90\x91\x1f\x92\x94\x8e\x92\x92\x1a\x9d\x79\x9b\x76" -+"\x6f\x76\x76\x6f\x6d\xaa\x75\xb4\xb5\xbd\xa2\xaa\xaa\x1e\xb1\xb4\xab\xce\xa2\xe3\x08\xc2\xf9\x07\x15\x65\x6d\x6c\x64\x63\xa9\x6b" -+"\xb0\xb0\xa9\xab\xb2\xb2\x6d\xab\x67\x1f\x0e\xfc\x0b\x2c\x1d\xf7\x14\xf8\x84\x25\x0a\xf7\xef\xf8\x88\xf7\xa4\x15\x60\xb2\x87\x8e" -+"\x78\x99\x08\xa5\x6a\x60\x9b\x6a\x1b\x45\x51\x51\x45\x45\xc5\x51\xd1\xad\xb4\x9b\xa5\xad\x1f\x9e\x99\x8f\x8e\xb6\xb2\xb8\x64\x8f" -+"\x87\x9c\x7e\x08\x71\xae\xb4\x7b\xad\x1b\xd1\xc5\xc5\xd1\xd1\x51\xc5\x45\x6a\x60\x7b\x71\x69\x1f\x7a\x7e\x86\x87\x5f\x64\x08\xac" -+"\x6d\x15\xbe\xbe\xbf\xa9\xb3\x1b\xb7\xb0\x66\x5f\x5e\x66\x66\x5f\x64\x58\xa8\xc0\x56\x1f\x4a\x16\x57\x57\x57\x6e\x64\x1b\x5f\x66" -+"\xb0\xb7\xb7\xb0\xb0\xb8\xb2\xbe\x6e\x57\xbf\x1f\x0e\xf7\xef\xf8\x65\xf7\x87\x15\x43\x8c\x63\x8e\x51\x1e\x8d\x6d\x8c\x6f\x7a\x1a" -+"\x6f\x82\x78\x7f\x88\x87\x8f\x93\x86\x1e\x9f\x81\x80\x93\x78\x1b\x72\x77\x78\x72\x6c\xa8\x74\xb4\xb1\xac\x9e\xad\x9e\x1f\xa4\xb8" -+"\x99\xf7\x00\xf7\x24\x1a\xf7\xd6\x07\xd6\x8a\xb0\x88\xc6\x1e\x89\xa7\x8a\xac\x96\x1a\xa7\x93\xa0\x95\x8f\x8d\x89\x84\x8f\x1e\x78" -+"\x95\x9b\x80\x9e\x1b\xa5\x9e\x9e\xa3\xac\x6e\xa1\x62\x65\x6a\x77\x6a\x78\x1f\x72\x5e\x7d\xfb\x00\xfb\x24\x1a\x0e\xd0\xf7\xe7\xf9" -+"\xb4\x15\xfc\xfb\x07\x60\x8f\x4e\x95\x23\x1e\x8f\x61\x8d\x75\x7f\x1a\x79\x85\x81\x7f\x85\x89\x8c\x96\x80\x1e\x94\x81\x80\x90\x7d" -+"\x1b\x71\x75\x75\x70\x6c\xa7\x73\xae\xb7\xaa\xaa\xc5\x99\x1f\x9b\xcb\x90\xd4\xf7\x41\x1a\xf8\xf2\x07\x0e\xd0\xf8\x30\xfb\x61\x15" -+"\xf8\xfa\x07\xb7\x87\xc8\x81\xf3\x1e\x87\xb5\x89\xa1\x97\x1a\x9d\x91\x95\x97\x91\x8d\x8a\x80\x96\x1e\x82\x95\x96\x86\x99\x1b\xa5" -+"\xa1\xa1\xa6\xaa\x6f\xa3\x68\x5f\x6c\x6c\x51\x7d\x1f\x7b\x4b\x86\x42\xfb\x41\x1a\xfc\xf2\x07\x0e\xf7\xef\xf9\x64\x16\xf7\x8a\x07" -+"\xf7\x1d\x86\xad\x73\xb4\x1e\xca\x65\x44\xb1\x39\x1b\x3f\x4b\x6c\x53\x62\x1f\x6a\x5e\x85\x6b\xfb\x29\x1a\xfb\x8a\xc7\xf7\x8d\x07" -+"\xf0\x91\xb6\x9c\xaa\x1e\xb9\xa4\xc2\xa9\xc4\x1b\xc0\xbf\x71\x61\xa7\x1f\xa0\x6b\x91\x66\xfb\x06\x1a\xfb\x8d\x07\x0e\xf7\xef\xf8" -+"\x89\xf9\x6e\x15\xfb\x5b\xfb\x3a\xfb\x38\xfb\x57\xfb\x63\xf7\x35\xfb\x38\xf7\x5d\xf7\x61\xf7\x37\xf7\x36\xf7\x5f\xf7\x5e\xfb\x37" -+"\xf7\x37\xfb\x5e\x1f\xfb\x01\xfb\x63\x15\xa9\xa4\x72\x6d\x6d\x72\x72\x6d\x6e\x71\xa4\xa8\xaa\xa4\xa4\xa9\x1f\xfb\x14\xfb\x05\x15" -+"\x96\x59\x96\x75\xa5\x6d\x08\x54\xbb\xc7\x71\xdc\x1b\xdc\xc7\xa5\xc2\xbb\x1f\xa5\xa9\x96\xa1\x96\xbd\x84\x36\x80\x62\x6d\x5e\x08" -+"\x4c\x61\x4b\x6b\x38\x1b\x3e\x4f\xa6\xc1\x61\x1f\x67\xba\x7c\xb8\x84\xe8\x08\xf7\xee\xf7\x05\x15\xa9\xa4\x72\x6d\x6d\x72\x72\x6d" -+"\x6e\x71\xa4\xa8\xaa\xa4\xa4\xa9\x1f\x0e\xfc\x0b\x59\x1d\x51\x7e\x4b\x82\x3b\xb2\x1d\x66\xa7\x71\xb2\x8e\x93\x8b\x8c\x91\x1e\x6e" -+"\x63\x83\x79\x71\x31\x0a\xb5\xad\x93\x9b\xaf\xb0\x1f\xa3\xa4\x95\x99\xa6\xb4\x08\x5f\xf8\xc1\x57\x1d\xfc\x0b\x37\x0a\x0e\xfc\x0b" -+"\x37\x0a\x30\xf8\xb3\x15\xf5\x1d\xa7\xac\xae\x6f\xa8\x6b\x1f\xf7\x1f\x9e\x0a\xfc\x0b\x37\x0a\x5c\xf8\x7c\x15\xa8\x06\x8f\x91\x97" -+"\xa1\x05\xb1\xc7\x8d\x8f\x9e\x1a\x9e\x7a\x98\x73\x7c\x7c\x85\x82\x83\x1e\x84\x83\x87\x78\x8c\x75\x8f\x5d\x18\x71\x07\x3c\x86\x15" -+"\x9a\x0a\xaa\x72\xa5\x6e\x1f\xf7\x4d\x16\x6d\x73\x73\x6c\x6b\xa4\x71\xa9\xa8\xa3\xa4\xa9\xaa\x72\xa6\x6e\x1f\x0e\xfc\x0b\x37\x0a" -+"\x43\xf8\x32\x15\xbe\x06\x93\x9a\x92\x99\x91\x98\x08\xbb\xe6\x8f\x94\xa4\x1a\xa6\x75\x9e\xf6\x1d\x74\x8a\x5e\x08\x8a\x60\x8a\x72" -+"\x81\x1a\x0e\xfc\x0b\x2c\x1d\xef\xf8\xa4\x7a\x0a\x80\xa6\x95\x89\x9e\x1b\xc7\xae\xae\xdf\xa2\x1f\x0e\xfc\x08\xab\xf8\x2b\x15\xbe" -+"\x96\x86\x71\x7e\x87\x74\x83\x6d\x1f\x2f\xfb\xf7\x05\x26\x71\x7a\x6d\x6e\xee\x1d\x93\x96\x8d\xad\x0a\xef\xcf\xd7\xf7\x2f\xb4\x1e" -+"\xf7\x06\xf8\x4a\x4f\x7e\x65\x86\xfb\x02\x81\x19\xf7\x79\xdd\x23\x1d\xfb\x0f\xf7\xbb\xf7\xb4\x15\xbf\xbf\xaa\xa1\xa0\x1b\x8c\x9b" -+"\x88\x85\xa2\x1f\x8a\x92\x94\x8a\x96\x1b\xb8\xa5\xa1\xaf\xa6\x77\x9c\x69\x6b\x6c\x7f\x6f\x66\x1f\x6b\x73\x85\x86\xfb\x1b\xfb\x25" -+"\xc2\xf7\x6a\x18\xfb\x45\x6f\x84\x73\x05\x8c\x93\x91\x8c\x90\x1b\x9c\x9a\x7d\x7c\x83\x8b\x8b\x82\x68\x1f\x36\xfb\xdf\x05\xf7\x03" -+"\x06\xc6\xf7\x7c\xd4\xfb\x44\x05\x5f\x9d\xa0\x7a\xb0\x1b\xa9\xa4\x97\xa1\x9d\x1f\x9a\x9d\x92\x97\xa4\xbe\x78\x97\x18\x5f\x74\x81" -+"\x80\x77\x1b\x7c\x84\x94\xb9\x78\x1f\x0e\x75\x1d\x51\xfb\xd8\x35\x1d\xf7\x41\xf7\x42\x15\xce\xc4\xb2\xfb\x41\x05\x60\x94\xa0\x77" -+"\xae\x1b\xbb\xb9\xb9\xdf\xb1\x1f\x72\x06\x62\x78\x80\x7f\x7b\x1b\x7e\x83\x99\xb2\x83\x1f\x60\xf7\x4e\xd1\xc7\xb5\xb2\xb2\xa0\xa6" -+"\x8a\x19\x91\x9f\x05\xfb\x5b\x06\x86\x77\x05\xb3\x87\x95\x84\x77\x1a\x7c\x81\x7a\x7b\x7c\x1e\xfb\x2b\xfb\x19\xda\xf7\x8c\xfb\x47" -+"\x71\x85\x73\x05\xa7\x98\x81\x73\x82\x89\x7e\x87\x7f\x1f\x23\xfb\xf1\x05\xf7\x07\x06\x0e\xfc\x0b\x41\x0a\x66\xf8\xeb\x8c\x0a\xfb" -+"\x65\x61\x16\xf7\x19\x06\xf7\x39\xf7\x93\x05\x80\x4d\x87\x5b\x53\x1a\x67\x8d\x78\x91\x7f\x1e\x77\x93\x99\x81\x9d\x1b\xb2\xb7\xbd" -+"\xd8\xa8\x1f\x7a\x93\x05\x60\x6d\x7f\x81\x76\x1b\x73\x80\x9c\xaf\xd5\x9b\xf7\x68\x9a\xf7\x09\x1f\x8e\xa4\x8d\xa3\x97\x1a\xbd\x72" -+"\xa8\x60\x65\x74\x72\x62\x76\x94\x7a\x9f\x7a\x1e\xb3\x6a\x92\x7f\x69\x1a\x83\x8b\x82\x8a\x81\x1e\x0e\xfb\x8b\x41\x0a\xca\xf7\xa6" -+"\x15\xf4\xb9\xce\x98\x0a\x67\x68\x45\x65\x1e\x0e\xfc\x0b\xf7\x6b\xe0\x1d\x98\x92\xa9\x9a\xc4\xae\x0a\x96\x8e\x8b\x92\x1b\xa6\x9a" -+"\x81\x79\x7d\x7d\x4e\x78\x48\x1f\x40\xfb\x9c\x05\x76\x3e\x7e\x51\x74\x1a\x67\xa6\x73\xb4\xc8\xb1\xaa\xf4\xd0\x1e\xfb\xc7\xfc\x57" -+"\x44\x1d\xfb\xa6\xf7\x6e\x6f\x0a\xe6\xf7\xad\x15\x61\x6a\xb0\x0a\x0e\xf7\xef\xf9\x0b\x8c\x15\xa1\xdf\x05\xfc\x3b\x06\x74\x37\x05" -+"\xf8\xd6\xf8\xd4\x15\xfc\x79\xfb\x79\x86\x77\xf7\xff\xfb\x76\xa9\xf7\x05\xfb\x88\xf7\x26\xf7\xd8\xf7\x2c\x05\x0e\x99\x34\x1d\xf8" -+"\xb9\xfb\xc8\x73\x0a\xfb\x44\x7e\x56\xb4\x0a\xfb\xd4\xf7\x22\xf8\x26\x15\x5c\xfb\x69\x6c\xfb\x1f\x84\x68\x08\xfb\x25\x6e\x77\x61" -+"\x64\x1b\x81\x83\x90\x91\x8d\x8c\x8e\x8e\x8f\x1f\x93\x96\x8f\x96\x96\x1a\xa3\x73\xa3\x72\x70\x73\x72\x6f\x5b\xb2\x6c\xc6\xc0\xb6" -+"\xa1\xb6\xad\x1e\xb8\xc4\xb3\xf7\x03\xac\xf7\x31\xdb\xf8\x12\x8d\x94\xa5\xb7\x08\xa6\x9b\x9c\x98\x9d\x5e\x1d\x80\x66\x1d\xa8\xa0" -+"\xa1\xaa\xbb\x65\xaa\x4f\x57\x5b\x76\x64\x68\x1e\x62\x5d\x77\x62\x70\x27\x08\x43\x06\x82\x61\x05\x0e\xd0\xf8\xc1\xf8\xe5\x15\x43" -+"\xbc\x9c\x79\x9c\x1b\x95\x93\x92\x95\x91\x8a\x8f\x84\x99\x1f\x74\xb6\x7a\xcb\xb7\x1a\xa9\x89\x91\x7e\x86\x84\x88\x83\x7e\x1e\x78" -+"\x70\x3d\x75\x60\x1b\x71\x8a\x83\x86\x7e\x1a\x75\xad\x81\xe2\x85\x1e\x25\xfb\x4d\x05\x97\x6c\x6e\x91\x6b\x1b\xfb\x1a\xfb\x00\xfb" -+"\x00\xfb\x1a\xfb\x19\xf7\x00\xfb\x00\xf7\x1a\xf7\x19\xf7\x00\xf7\x00\xf7\x1a\xd8\x66\xd3\x4c\xb9\x1f\xfb\x22\x7b\x15\xee\xdc\x3b" -+"\x28\x28\x3b\x3a\x28\x27\x3b\xdb\xee\xee\xdb\xdc\xee\x1f\x0e\xfc\x08\xf7\x48\xf7\xf8\x15\xf2\xf7\x51\x05\xa0\xb3\x97\xaa\x9e\x1a" -+"\xa7\x74\xa0\x6c\x4c\x64\x56\x35\x89\x1e\x89\xfb\x51\x05\x0e\xf7\x81\xf7\x43\x15\x92\x7c\x77\x8f\x7a\x1b\x4d\x54\x56\x50\x68\xa5" -+"\x75\xb4\xba\xb7\xa2\xb1\xa6\x1f\x9f\xa6\x91\xa1\x8d\xbb\x08\xf7\xb9\x07\xc3\x83\xb9\x3f\x38\x1a\x59\x83\x65\x73\x54\x1e\xa6\x06" -+"\xaf\xb6\x9e\xc2\xc5\x1a\xd6\x6e\xd2\x51\xd1\x1e\x58\xc8\x8a\x8c\x86\x92\x83\x95\x19\xc5\x5f\x07\x0e\xd0\xf8\x13\xf8\x57\x15\x9e" -+"\x72\xa1\x78\xa0\x7f\xc3\x6b\x94\x85\x90\x82\x08\x91\x80\x8f\x78\x76\x1a\xfb\x7c\x07\x92\x7a\x74\x8f\x78\x1b\x46\x4d\x56\x4f\x68" -+"\xa8\x75\xb8\xbe\xbb\xa2\xb1\xaa\x1f\xa0\xa6\x92\xa1\x8d\xbc\x08\xf8\x00\x07\x8c\xd3\x6a\xd5\x5d\xa7\x54\xaf\x6d\x9f\x87\x8f\x08" -+"\x7e\x99\x85\x9d\xa2\x1a\x98\x5f\xfc\x80\x07\x92\x7b\x74\x8f\x79\x1b\x46\x4f\x56\x4f\x68\xa7\x75\xb7\xbe\xbb\xa2\xb1\xa8\x1f\xa0" -+"\xa6\x92\xa1\x8d\xbc\x08\x8e\xf8\x0a\x15\xf7\x03\x4f\xa3\x67\x8f\xfb\x08\xfb\x06\xc8\x74\xae\x87\xf7\x09\x08\x0e\x2a\x30\x1d\xfb" -+"\x55\xf8\x1e\x29\x0a\xb9\xe1\xf8\x5d\x15\xc5\x9f\xa6\x9a\xa8\xa4\x08\xb4\xad\xa0\xb3\xb5\x1a\xba\x6e\xac\x63\x67\x6e\x6d\x67\x78" -+"\x92\x7a\x9a\x79\x1e\x9b\x78\x8f\x84\x82\x1a\x6e\x6a\x70\x4f\x75\x1e\xf8\xb6\xfb\xed\xe1\x1d\x90\x9c\x9f\xc7\x1f\xb0\xf7\x01\x05" -+"\x9a\xb8\x95\xb9\xa3\x1a\xbc\x71\xa5\x5c\x66\x67\x7c\x71\x70\x1e\x66\x68\x78\x73\x49\x28\xca\xf7\x5a\x18\x4c\x7d\x3a\x6b\x1d\x8a" -+"\x97\x86\x78\x1a\x7f\x7d\x54\x6c\xfb\x03\x1e\x72\x32\x85\x78\x71\x2b\x08\xf7\x0d\x06\xba\xf7\x41\xb0\xe2\xc8\xdc\x08\xa6\x9f\xaa" -+"\xa1\x9d\x1b\x98\x97\x81\x80\x87\x89\x83\x88\x82\x1f\x54\xfb\x3a\x05\x7b\x59\x7f\x54\xe7\x1d\x0e\x2a\x30\x1d\xa9\xf8\xcc\x20\x0a" -+"\x2a\x30\x1d\xfc\x3c\xfc\x52\x35\x1d\xf7\xef\xf8\xa4\xf7\x6c\x15\xf7\x83\xc8\xfb\x60\x06\xe3\xf7\x2f\x05\xf7\x08\xc9\x3a\x06\xac" -+"\xc6\x61\xa3\x5c\x38\x05\xfb\x23\x62\x1d\x42\x2c\x1a\xfb\x08\xb8\x37\xdc\x69\x1e\x6a\x52\xb6\x74\xb1\xce\x05\x88\xa4\x99\x8a\xb4" -+"\x1b\xf7\xac\xc9\xfb\xb7\x06\x77\x85\x8b\x8c\x81\x1f\xab\xf7\x2d\x15\x3a\xfb\x21\x57\x9d\x6c\xbe\x88\xd3\x19\xf7\xb6\xf7\x6c\x15" -+"\x33\xfb\x2f\x05\xfb\x5e\x06\x91\xf6\xc3\xbd\xf7\x01\x89\x08\x0e\xf7\xef\xf8\xd6\xf7\xcb\x15\xf7\x42\xe3\xfb\x15\x06\xb3\xdc\x3d" -+"\xb2\x4e\xfb\x0c\x05\xfb\xa8\x33\xf7\x7c\x06\x51\xfb\x08\x05\xfb\x42\x33\xf7\x15\x06\x63\x3a\xd9\x64\xc8\xf7\x0c\x05\xf7\xa8\xe3" -+"\xfb\x7c\x06\x0e\xfb\x65\xd1\xf7\xbe\x15\xbd\x99\xa3\xb1\x9c\x1b\x9b\x90\x52\xfb\x52\x53\x89\x6e\x82\x55\x1f\xab\x84\x9c\x9f\x92" -+"\x92\xa7\xa5\x19\xf7\x24\xf7\x1c\xd3\xf7\x02\xde\x1a\xb5\x6d\xaf\x67\x71\x75\x72\x6d\x76\x90\x7f\xa0\x6e\x1e\x97\x7a\x91\x7b\x7d" -+"\x1a\x64\x6c\x5c\x3c\x39\x1e\x8c\xd1\x8b\x95\x9a\x1a\xc6\x88\xbc\x86\xb0\x1e\xc5\x82\x6e\xad\x61\x1b\x55\x5a\x54\x35\x76\x1f\x0e" -+"\x23\x0a\xf7\x2b\xf7\x89\xad\x1d\xcc\xc5\xf3\x9c\x1e\x0e\x23\x0a\x42\xde\x15\xf7\x2b\xe2\x05\xa9\x9c\x94\x96\x9e\x1a\xa5\x76\xa0" -+"\x70\x7a\x93\x0a\xf7\x82\x16\xac\x1d\x23\x0a\xf7\x5e\xf7\x52\x15\xfb\xd9\x06\x7a\x45\x05\xf7\xda\x06\x0e\xd1\xf7\x93\xf8\x57\x5f" -+"\x0a\xd1\xf8\x24\xf8\x9e\x15\xbf\x06\x8e\x93\x92\x99\x95\x9f\x08\xbb\xe6\x8f\x94\xa4\x1a\xa7\x75\x9d\x6b\x73\x75\x80\x7a\x81\x1e" -+"\x83\x7d\x8a\x7c\x89\x21\x89\x64\x18\xfb\x26\x39\x5f\x0a\x6d\x0a\x0e\x6d\x0a\x83\xf2\x15\xbe\x06\x8f\x94\x9c\xac\x05\xbc\xe8\x8e" -+"\x92\xa4\x1a\xa6\x75\x9e\x6b\x77\x76\x83\x7e\x81\x1e\x81\x7f\x86\x74\x8a\x5e\x8a\x4d\x18\x86\x8a\x7e\x8a\x76\x1e\x0e\xf7\xda\x93" -+"\x16\xfa\x56\xd3\xfe\x0e\xfa\x03\x43\x06\x0e\x5e\x0a\xf7\x23\xf8\x76\x15\xac\x1d\xf6\xf9\x18\x15\xa6\xc3\xa1\x91\xb3\x1b\xa0\xa3" -+"\x85\x81\x9c\x1f\xc0\x6b\xab\x39\x20\x1a\x6e\x8a\x75\x87\x69\x1e\xb5\x52\x67\x99\x58\x1b\x5a\x62\x7a\x67\x66\x1f\x5a\x5b\x6f\x49" -+"\x49\x1a\xfb\x02\xe3\x33\xf7\x01\xcb\xc3\xa5\xbc\xb5\x1e\xc6\xd0\xb1\xf7\x1c\xf7\x1f\x1a\xf7\x0c\x5f\xf0\x39\xd0\x1e\xaf\x60\x58" -+"\x9d\x51\x1b\x60\x6d\x84\x71\x43\x1f\xf7\xc6\xfc\x2e\x15\x7b\xfb\x02\x7d\x58\x71\x60\x08\x61\x70\x69\x73\x67\x1b\x59\x6e\xb9\xd8" -+"\xf6\xc9\xe2\xd7\xad\xa3\x7f\x68\xaf\x1f\x0e\xf7\x75\xf7\x55\x73\x1d\xf8\x49\x6f\x15\x59\x06\xa7\xf2\x05\x6b\x06\x63\x50\x69\x6f" -+"\x51\x75\x08\x6b\xae\x07\x5c\xfb\x37\x05\x80\x63\x85\x6f\x7e\x1a\x6d\xa1\x77\xab\xb8\xa5\xa0\xdb\xbf\x1e\x75\x99\x05\x67\x73\x77" -+"\x75\x81\x1b\x88\x87\x8e\x8f\x98\x99\xc0\xa3\xde\x1f\x92\xa3\x90\x9a\x96\xb5\x08\xc7\x06\x0e\x47\xf7\x6b\xfb\x52\x15\xb6\xf7\x42" -+"\xcd\x8e\xc7\xa5\xc0\xbc\x19\xcd\xc9\xb7\xea\xdb\x1a\xe4\x4a\xd2\x39\x65\x65\x7b\x70\x70\x1e\x75\x74\x7a\x68\x7d\x52\x44\xfb\xb3" -+"\x18\x81\x8e\x84\x8e\x87\x8f\x08\x7b\x96\x80\xa8\xac\x1a\xde\xb0\xf7\x1d\xb1\xc7\x1e\xa1\xae\xa1\x9d\xac\x96\x8f\x9d\x18\x48\x88" -+"\x5b\x77\x58\x5b\x08\x49\x4e\x64\x36\x38\x1a\x4c\xa4\x55\xb5\x6e\x1e\xa4\x7a\xa0\x84\xb5\x86\x60\xfb\x42\x18\xf7\x66\xf8\x6a\x15" -+"\xef\xa4\x96\xa3\x9f\x1b\xa1\x9b\x6c\x64\x34\x5a\xfb\x29\x5f\x5e\x1f\x75\x75\x7c\x82\x6d\x83\x08\x0e\x20\xf8\xda\xf8\x50\x15\xfc" -+"\x18\x06\x45\x7e\x86\x5f\x63\x1f\x3e\x30\xb3\x7a\xae\xb8\xaf\x9c\xcc\x8d\x19\x7d\x57\x7f\x68\x79\x62\x65\x39\x86\x84\x63\x72\x7b" -+"\x80\x18\x6f\x78\x7d\x73\x6f\x1a\x75\xa2\x7a\xab\xb5\xab\xa8\xc8\xa8\x1e\xab\xce\x8b\x8b\xc7\xf7\x63\x08\xf7\x3b\x06\x4f\x74\x68" -+"\x63\x7a\x4a\x6b\xfb\x18\x18\x87\x7c\x89\x7d\x83\x1a\x6e\xa7\x65\xa0\x8e\x91\x8d\x8e\x92\x1e\xf7\x0a\xba\x94\xaf\x05\x82\x73\x82" -+"\x88\x7f\x1b\x7c\x84\x95\xa0\x99\x8b\x8c\x92\xa8\x1f\xad\xf7\x20\x94\xae\x90\x95\xa2\xa7\x19\xf3\x06\x0e\xf7\xef\xf9\x45\xf9\x55" -+"\x15\xfd\x72\x07\x54\x8a\x78\x77\x54\x1b\x7b\x78\xf7\xb8\x9e\x7a\x06\x55\x77\x9f\xc2\x1f\xf9\x3b\x07\xc4\xa0\xa2\xc0\x1e\x9c\x9d" -+"\xfd\x9f\x79\x9b\x06\xc1\x9f\x75\x51\x8c\x1f\xfd\x3b\x07\x54\x8a\x77\x77\x55\x1b\x7b\x78\xf7\xb8\x9e\x7a\x06\x55\x77\x9f\xc2\x1f" -+"\xf9\x72\x07\x0e\xf7\xef\xf9\x93\xc9\x15\xfb\xb7\x06\xfb\x0d\x57\xc2\xf7\x16\xf7\x15\xbf\xc3\xf7\x0d\x1f\xf7\xb7\xc9\xfb\xac\x62" -+"\x1d\x43\x2b\x1a\xfb\x07\xb8\x37\xef\x1d\x06\x0e\xf7\xef\xf7\x7d\xc9\x15\x4d\xf7\xac\x07\xde\xae\x92\xa4\xb1\x1f\xcc\xb7\xac\xd3" -+"\xf2\x1a\xf6\x5c\xe0\x3e\xac\x1e\x99\x69\x70\x8f\x46\x1b\xfb\xac\x4d\xf7\xb7\x06\xf7\x0d\xbf\x54\xfb\x16\xfb\x16\x57\x54\xfb\x0d" -+"\x1f\x0e\x9a\xbf\xf7\xb8\x15\xbf\xa4\xa8\xaf\x9d\x1b\x91\x8f\x85\x83\x84\x8b\x8b\x82\x69\x1f\x83\x6a\x05\x73\x2c\x86\x71\x6d\x1a" -+"\x37\xcf\x52\xee\x1e\x5d\xfb\x46\x05\xf7\x02\x06\xb2\xf7\x41\xe5\x97\xbf\xa8\xba\xca\x19\xbf\xd1\xae\xf7\x00\xe8\x1a\xc0\x75\xa9" -+"\x65\x6b\x73\x71\x68\x77\x91\x7b\x9a\x72\x1e\x9f\x6a\x8f\x7e\x71\x1a\x64\x7b\x58\x71\x62\x1e\x64\x4c\x65\x72\x3d\x7d\xea\xf8\x37" -+"\x18\x2f\x06\x21\xfc\x32\x05\x5f\x8c\x71\xae\xc2\x1a\xa4\x91\xa8\x9d\xd3\x1e\xa1\xe1\x05\x92\xa5\x8e\x9d\x9a\x1a\xaf\x73\xa3\x67" -+"\x53\x50\x53\x2f\x61\x1e\x0e\xfb\xd4\xf7\x86\xf7\xf7\x15\x72\xc1\x81\xae\xaa\x1a\xb6\x9b\x9a\xb5\x89\x1e\xa6\x89\x9e\x8f\x96\x95" -+"\x08\x9d\x9b\x95\xa0\xa1\x1a\xb2\x68\xab\x5f\x70\x73\x7d\x70\x75\x1e\x74\x6d\x82\x6c\x5d\x1a\x4c\x9b\x54\xae\x4c\x1e\x0e\xfb\x9c" -+"\x40\x0a\xf7\x51\xdd\x29\x1d\xd0\xf8\x3f\x68\x15\xb6\x06\xf7\x2c\xfa\x40\x3e\x96\xfb\x09\xfd\x69\xfb\x44\xf7\xf8\xfb\x4a\x32\xac" -+"\x44\xea\xba\x05\x0e\xfb\x9c\x40\x0a\xf8\x30\xf7\x94\x20\x0a\xfb\x9c\xc0\x0a\x6d\xfb\x05\x43\xfb\x88\x1e\xf7\x0d\x06\xb9\xf7\x26" -+"\x9d\xa8\x0a\x91\x1f\x7a\x9a\x98\x83\x9c\x1b\xac\xa4\xaa\xb5\xb3\x74\xa5\x69\x58\x63\x59\xfb\x33\x3b\xba\x0a\x29\xfd\x8a\x44\x1d" -+"\xf7\x80\xf7\xac\xf7\x00\x15\xf7\x5f\xf8\x34\xe3\xfc\x8c\xfb\xb7\x07\x0e\xfb\x1e\x7c\xfb\x46\x15\xf7\x03\x06\xc3\xf7\x6f\x05\x6a" -+"\x9b\xa6\x7b\xb0\x1b\xf5\xf7\x05\xf7\x2a\xf7\x22\xf1\x52\xce\x34\x5a\x58\x78\x6a\x66\x1f\x63\x67\x7e\x6c\x6a\xfb\x12\x08\xf7\x19" -+"\xdd\x15\x99\xc4\x95\xa8\x95\x9a\x08\x9d\x98\x9a\x95\x9d\x1b\xa5\x99\x71\x5d\x2d\x68\xfb\x19\x63\x4f\x1f\x7a\x7f\x79\x80\x7a\x1b" -+"\x75\x7d\x98\xad\x7a\x1f\x0e\xfb\x9c\x3d\x1d\x2d\xf7\x64\x29\x1d\xfb\x9c\xf7\x06\x7f\x15\x8a\x93\x92\x8b\x8f\x1b\xde\x9d\x0a\xa6" -+"\x67\x38\x9a\x1e\xa6\x89\xa2\xf7\x2d\x05\x7d\x0a\x76\x96\x9f\x7b\x5d\x1d\x91\x97\x88\x86\x98\x1f\x8c\x8e\x8a\x8a\x8e\x1f\x4f\x32" -+"\x98\x7f\x05\x8e\x97\x92\x8c\x96\x45\x1d\xfb\x9c\x3d\x1d\xad\xf7\x64\x23\x1d\xfb\x9c\xf7\xe1\xf8\x61\x15\x7d\x0a\x75\x96\x9f\x7c" -+"\x5d\x1d\x92\x96\x88\x86\x98\x1f\x83\xa3\x9d\x87\xa0\x1b\xe0\x9d\x0a\xa5\x67\x38\x9b\x1e\xa6\x89\x05\xfb\xd8\xfd\x0c\x44\x1d\x26" -+"\xf8\x3d\xf7\xf8\x15\xf1\xf7\x51\x05\xab\xc8\x8e\x92\x9f\x1a\xa9\x75\xa0\x6c\x6f\x6e\x7d\x73\x76\x1e\x78\x74\x85\x72\x8a\x56\x87" -+"\xfb\x51\x18\xfb\x6a\x16\xf2\xf7\x51\x05\xa1\xb4\x97\xaa\x9d\x1a\xa7\x74\xa0\x6b\x4d\x63\x55\x37\x8a\x1e\x88\xfb\x52\x05\x0e\xfb" -+"\x06\xf8\xd3\xf8\x50\x15\xfb\x6f\x06\xfb\x00\x5c\x7e\x60\x53\x1f\x44\x53\x5c\x2d\x33\x1a\x29\xcd\x4b\xee\xf7\x27\xf7\x14\xf7\x06" -+"\xf7\x17\xb0\x7e\xad\x76\xa0\x1e\x7e\x97\x7e\x91\x71\x94\x08\xf7\x40\x06\xfb\x6d\x16\x97\x74\x8e\x7e\x72\x1a\x56\x77\x38\x71\x53" -+"\x1e\x55\x72\x6f\x73\x64\x1b\x60\x70\xa9\xbc\xdb\xac\xf7\x00\xae\xac\x1f\xa2\xa4\xa4\x93\xbe\x1b\x0e\xf7\xef\xf8\x1b\xf8\x9a\xc0" -+"\x1d\xfb\x14\xfb\x00\x15\x92\x36\x96\x62\xa9\x5e\x08\x4c\xb5\xcb\x6b\xde\x1b\xd8\xc7\xa6\xc1\xb5\x1f\xaf\xba\x9a\xb8\x92\xe8\x80" -+"\x59\x80\x75\x71\x6d\x08\x54\x5b\x4f\x71\x3a\x1b\x3a\x4f\xa5\xc2\x5b\x1f\x71\xa9\x80\xa1\x80\xbd\x08\xf7\xee\xf7\x00\xc0\x1d\xfb" -+"\x01\xf7\x68\x15\xfb\x5b\xfb\x3a\xfb\x38\xfb\x57\xfb\x63\xf7\x35\xfb\x38\xf7\x5d\xf7\x61\xf7\x37\xf7\x36\xf7\x5f\xf7\x5e\xfb\x37" -+"\xf7\x37\xfb\x5e\x1f\x89\x5a\x15\xf7\x45\xf7\x21\xfb\x20\xfb\x44\xfb\x43\xfb\x21\xfb\x21\xfb\x43\xfb\x41\xfb\x23\xf7\x21\xf7\x3e" -+"\xf7\x47\xf7\x1e\xf7\x22\xf7\x44\x1f\x0e\xf7\xef\xf8\xab\xf7\x99\x15\x7f\x07\x44\x6b\x45\x5a\x66\x1e\x6c\x62\x56\x7a\x57\x1b\x7e" -+"\x74\xf8\x77\xa2\x06\xfb\x32\x91\x3c\xe3\x8e\xf7\x3d\x08\x35\xb9\xb6\x6d\xda\x1b\xcd\xc4\xca\xd4\xd0\x73\xb0\xfb\x01\xef\x1f\xfb" -+"\x02\xf1\x7a\xa5\x63\xf7\x09\x7c\x30\x4d\x30\x23\x39\x08\x3c\x49\x67\x51\x4c\x1a\x40\xc8\x4d\xd4\xb4\xb4\x9c\xa9\xac\x1e\x9e\x9d" -+"\x96\x9a\x9c\xb0\x08\x0e\xf7\xef\xf7\xee\xf9\x5b\x15\xf7\x85\x06\xf4\x8a\xa5\x75\x9a\x26\x08\xa2\x06\x82\xf7\x39\x05\xfc\xaf\x06" -+"\xf7\x66\xfc\x67\xfb\x6e\xfc\x2c\x05\xf8\xc8\x06\xbc\xf7\x66\x05\x74\x06\x6f\x3b\x6c\x78\x26\x8c\x08\xfb\xbc\x06\xf7\x49\xf7\xf4" -+"\x05\x0e\xf7\xef\xf7\xcd\xf8\x77\x15\x6e\x66\x7c\x67\x85\x5b\x08\xfb\x05\x54\xf7\x05\x06\x8f\x61\x9e\x5b\xa6\x6a\x3b\x3c\x18\xb1" -+"\x65\xdb\xdb\xb1\x6e\xb2\x7b\xb8\x86\x19\xfb\x05\xc1\xf7\x05\x07\xb7\x90\xb9\x9e\xab\xa5\xdb\x3b\x18\xb0\xb1\x3b\xdb\xa8\xae\x9c" -+"\xb5\x90\xb8\x19\xf7\x05\xc2\xfb\x05\x06\x86\xb6\x79\xb7\x70\xad\xda\xda\x18\x66\xb1\x3b\x3b\x6c\xa5\x5f\x9e\x5c\x91\x19\xf7\x04" -+"\x55\xfb\x04\x07\x60\x86\x5c\x78\x6b\x70\x3b\xdb\x18\x65\x65\x05\xf7\x9c\x55\x15\xec\xd8\x40\x2d\x2b\x3f\x3e\x2c\x2d\x3e\xd8\xea" -+"\xe7\xd8\xd9\xe6\x1f\x0e\xfb\x65\xf8\x70\xf8\x50\x15\xfb\xbc\x06\x49\x7b\x85\x6d\x73\x1f\x34\xfb\x07\xb5\x7c\xb8\xc5\xb2\x9c\xe4" -+"\x8a\x19\xbb\x06\x50\x78\x66\x62\x78\x47\x6a\xfb\x1c\x18\x89\x82\x89\x7e\x82\x1a\x69\xa5\x68\xa5\x8f\x8e\x8c\x8c\x8f\x1e\xf7\x12" -+"\xbc\x94\xb1\x05\x80\x6e\x7f\x88\x7e\x1b\x7d\x85\x91\x9a\x9b\x91\xaa\x97\xbd\x1f\x9c\xd3\x9a\xc5\x93\x9d\xa1\xa2\x19\xf7\x2b\x06" -+"\x0e\xfc\x0b\xf7\x3a\xf7\xba\x15\x91\x9e\x94\xad\x8c\x8d\x9b\xc5\x19\xde\xb5\x43\xc4\x1d\x6b\xfb\x05\x05\x5e\x06\x7d\x55\x05\xb6" -+"\x06\x77\x44\x85\x0a\x9c\x98\xbe\xa6\xeb\x1f\xe0\x06\x98\xc1\x05\x0e\xfb\x9e\xf7\xb7\xf8\x42\x15\x91\x7b\x05\xea\xc3\xba\xc9\xcc" -+"\x1a\xc0\x6c\xae\x5d\x66\x70\x6f\x65\x73\x94\x7c\xa6\x79\x1e\xa0\x7e\x91\x82\x7e\x1a\x74\x73\x6c\x66\x73\x1e\x30\x83\x1d\xfc\x0b" -+"\xdd\x84\x15\xbd\x95\xb2\xaf\xc1\xe3\x75\x99\x18\x57\x6a\x70\x6f\x7b\x1b\x83\x83\x92\x93\x9e\x9e\xd7\xae\xf7\x09\x1f\x96\xb1\x90" -+"\x9f\x9c\xc8\x08\xde\xb5\xb5\x0a\x56\x3b\x58\x6c\x1d\x47\xfb\x82\x05\x7c\x57\x82\x60\x79\x1a\x6b\x9e\x73\xa9\x84\x1e\x51\x36\x3e" -+"\x0a\x93\x8c\x95\x45\x1d\xfb\x1a\xf7\xf9\xf9\x32\x15\x21\x3d\x3b\xfb\x35\x57\x1f\x6f\x33\x75\xfb\x07\x4f\x1a\xfb\x05\xbb\x4e\xe5" -+"\xe2\xd8\xc5\xed\xb6\x1e\xb9\xf3\xaf\xf7\x30\xe8\x1a\xbc\x7f\xb9\x76\xa7\x1e\xac\x73\x6d\x98\x55\x1b\x8f\xfb\xe2\x15\x6e\xfb\x0c" -+"\x79\x4d\x76\x57\x08\x5c\x78\x6f\x6f\x6d\x1b\x70\x7a\xa3\xb4\xc1\x93\xb8\xac\xf7\x25\x1f\x94\xb0\x15\xf7\x61\xbd\xa8\xc6\xc0\x1b" -+"\xa6\x9a\x74\x60\x55\x84\x5e\x75\x28\x1f\x0e\xfb\xd4\xf7\x61\xf8\x66\x15\xbe\x06\x97\xa3\x92\x99\x8d\x8d\x08\xbb\xe4\x8f\x93\xa4" -+"\x1a\xa5\x75\x9d\x6b\x77\x77\x83\x7f\x80\x1e\x81\x80\x86\x73\x8a\x60\x8a\x40\x18\x0e\x30\xf8\x6c\xf7\x19\x5d\x0a\x72\xf8\xc2\x15" -+"\x49\x6b\x69\x57\x0a\x06\x55\x8d\x7c\x98\x70\x1e\x5f\x9e\xb4\x69\x1d\x2a\x26\x0a\xfb\x9a\xf8\x20\x51\x1d\x2a\x26\x0a\x98\xf8\x8b" -+"\x25\x0a\xfb\x5f\x04\x34\xf8\x88\xe2\x07\xfc\x88\xf7\x32\x15\x34\xf8\x88\xe2\x07\x0e\xfc\x27\x0e\xfb\xd4\xc9\x1d\x61\x43\x0a\xfc" -+"\x99\xfd\xb5\x39\x0a\xfc\x0b\xf7\xad\xf8\x55\x15\xb5\x0a\x56\x3b\x58\x6c\x1d\x47\xfb\x82\x85\x0a\x9e\x9d\xd4\xaf\xf7\x0c\x1f\x94" -+"\xad\x92\xa3\x9c\xc8\x08\xde\x06\xfb\xf2\xfd\x6f\x44\x1d\xfb\xd4\xf8\x1d\xf9\x03\x25\x0a\xfc\x27\xf7\x12\xf8\x29\x2b\x0a\x71\x74" -+"\x16\xf8\x8e\x06\xa5\xf9\x2a\x05\x70\x06\xfb\x15\xfc\xed\x15\xfb\x2e\x06\x53\x8c\x8b\x8b\x80\x8f\x08\x81\x8e\x85\x93\x94\x1a\x97" -+"\x9a\xa5\xac\xb8\x1e\xf7\x62\xf7\xab\x05\x0e\xe8\xf9\x58\xf7\x44\x15\x4d\x06\x70\x4d\x7e\x81\x55\x8a\x08\x61\x06\x6c\x77\x89\x87" -+"\x6b\x1f\x95\x98\xdd\x97\xb8\xa1\xb7\xbc\x19\xca\xd3\xb5\xf4\xe2\x1a\xbb\x79\xbe\x6d\xb0\x1e\xc6\x5d\x40\xa6\xfb\x07\x1b\xfb\x2a" -+"\xfb\x05\x54\xfb\x02\x42\x1f\x63\x4f\x74\x41\x43\x1a\x4a\x9e\x53\xad\x67\x1e\xa0\x75\x9e\x81\xb5\x82\x8e\x7e\x18\x8f\x6d\x79\x8d" -+"\x6b\x1b\x61\x06\x61\x7a\x9d\xb4\x8d\x1f\x8d\x8b\x91\x8a\x91\x1e\x4e\x06\x84\xfb\x44\x05\xf7\xcf\x06\xa4\xef\x05\x4b\xba\x77\xb2" -+"\xde\x1a\xda\x9d\xd8\xaf\xd8\x1e\xf4\xbc\xbd\xb2\xe2\x1b\xba\xba\x7a\x72\xa4\x1f\x9f\x77\x97\x67\x64\x1a\x33\x69\xfb\x08\x57\x32" -+"\x1e\x66\x4b\x69\x70\x42\x72\x72\x27\x18\xf7\xcf\x06\x0e\x2a\xf8\x51\xf7\x15\x15\x5e\x76\x79\x72\x81\x1b\x86\x88\x8f\x90\x8f\x8c" -+"\x91\x90\x9c\x1f\xe5\xf7\xf1\x05\xfb\x06\x06\x59\xfb\x54\x77\x55\x80\x75\x6f\x60\x19\x5f\x6e\x7e\x7e\x7a\x1b\x81\x86\x91\x98\x92" -+"\x8b\x8b\x91\x9e\x1f\xde\xf7\xd7\x05\xfb\x06\x06\x49\xfb\x92\x81\x66\x81\x65\x82\x66\x19\x81\x67\x84\x73\x86\x7f\x89\x86\x84\x7c" -+"\x81\x75\x08\x76\x5f\x83\x6f\x70\x1a\x6a\xa1\x74\xaa\xaa\xa4\xa2\xa8\x95\x8a\x98\x88\x98\x1e\x85\xac\x89\xa0\xaa\x1a\x97\x8b\x93" -+"\x8d\x9c\x1e\x77\x97\x95\x84\x9d\x1b\xb5\xac\xa7\xf0\xd6\x1f\x87\x7b\x88\x7f\x88\x83\x08\x85\x77\x88\x79\x7f\x1a\x72\xa1\x79\xaa" -+"\xc3\xbd\xb8\xdf\xb2\x1e\x0e\xfb\x63\xf8\x5a\xf8\x95\x15\x55\x73\x75\x77\x66\x1b\x84\x81\x8c\x8d\x7f\x1f\x8e\x7a\x7e\x8c\x81\x1b" -+"\x51\x51\x68\x42\x4e\x1f\x4b\x40\x73\x54\x47\x1a\x30\xbb\x54\xdb\x98\x90\x8c\x8f\x9f\x1e\x8e\x9d\x97\x8d\x95\x1b\xa4\x99\x7c\x73" -+"\x66\x6d\x6c\x68\x7e\x7b\x8f\x93\x7f\x1f\x9d\x6d\x84\x8e\x79\x1b\x64\x72\x72\x65\x66\xa6\x75\xb7\xf4\xf6\xf5\xf4\xbf\x71\xa6\x59" -+"\x7f\x84\x8a\x88\x74\x1f\x89\x80\x82\x8a\x82\x1b\x67\x7b\xa0\xba\xbf\x95\xd1\x98\xad\x1f\xae\x99\x9b\x95\xba\x1b\x98\xa1\x8a\x89" -+"\x9b\x1f\x87\xa6\xa5\x89\x94\x1b\xb0\xa6\x9d\xb0\x9f\x1f\x99\xa4\x92\xa0\x9a\xc2\x08\x0e\x99\x70\x1d\x57\xf9\x5f\x8f\x0a\xf7\x11" -+"\xf7\x9b\x4e\x1d\x5d\xf7\x1f\x15\xfb\x03\xf7\x26\x05\xa0\x7b\x77\x97\x78\x1b\x73\x76\x76\x74\x3d\x0a\xf7\x19\x33\x05\x0e\xfb\x65" -+"\x7b\x1d\xf7\x6b\xf7\xbf\xd7\x1d\x76\x74\x3d\x0a\xf7\x18\x33\x05\x0e\x2a\x72\x1d\x89\xf8\x37\x8f\x0a\x99\xf7\x22\xf8\x02\x15\x33" -+"\x06\x82\x6c\x05\xe3\x06\x49\xfb\x83\x7b\x56\x7f\x80\x57\x84\x19\x72\xf7\xbb\xa4\x07\x52\x8f\x7d\x94\xaa\x1a\x96\x8e\x9a\x93\xa5" -+"\x1e\x8d\x91\x8c\x91\x8c\x8d\xc1\xf7\x5b\x18\xf6\x89\xa9\x78\x47\x1a\x7d\x8a\x80\x88\x79\x1e\xa7\x86\xd5\xf7\xa2\x6f\x8f\x5d\x2e" -+"\x75\x80\xfb\x16\x8a\x19\xc8\xf7\x70\xb1\x0a\x75\x91\x71\x53\x1a\xa6\x86\xb6\xf7\x50\x05\xfc\xa9\x72\x06\xae\x86\xa0\x86\xc4\x0a" -+"\x81\x1a\x7c\x87\x74\x85\x75\x1e\x0e\xfb\xac\xf7\xc3\xf7\x96\x15\xb5\xa5\x9e\xa9\xb4\x1a\xc7\x63\xb0\x4a\x51\x6a\x7a\x4a\x44\x1e" -+"\x9b\x7a\x05\xac\xaf\xaa\x9a\xac\x1b\xad\x9f\x76\x67\x63\x7b\x74\x61\x74\x1f\xfb\x41\x06\x7f\x60\x05\xeb\x06\x3c\x67\x74\x72\x5a" -+"\x1a\x46\xbe\x5d\xd8\xcc\xb7\xa3\xd3\xce\x1e\x7a\x9e\x05\x61\x61\x69\x78\x65\x1b\x68\x74\xa6\xb5\xb8\x9f\xa3\xcc\xac\x1f\xf7\x24" -+"\x06\x97\xb6\x05\x0e\xf7\xa6\xf8\xdb\xf7\xce\x15\xd4\xfb\x74\x05\x8f\x82\x8d\x7c\x82\x1a\x74\x7a\x7f\x6c\x1e\x84\x75\x05\xd9\x06" -+"\xe2\xb2\x6d\x47\x7f\x8a\x82\x87\x79\x1f\xa8\x06\xbc\xf7\x43\x05\x71\x06\x65\x8c\x7e\x94\x7e\xb3\x24\xf7\xc7\x18\xcc\xc4\xa9\xa5" -+"\xb8\xb5\xf7\x05\xf2\x9a\x95\xc8\x92\x91\xa1\x18\xfb\x77\x20\x1d\x96\x06\x9e\x96\x7e\x77\x5b\x38\x38\xfb\x35\xfb\x03\x1f\x80\x06" -+"\xc8\xf7\x65\x99\xbc\xa1\x9d\xb5\x8a\x19\x22\x1d\xfb\x98\x20\x1d\x9a\x06\xab\x9d\x7d\x71\x82\x8a\x88\x85\x76\x1f\x4e\xfb\x6a\x05" -+"\x81\x06\x44\xee\x5c\xe8\xb5\x1a\xaa\xa4\xa1\xae\x1e\x92\x21\x1d\xfb\x87\x20\x1d\x97\x06\xc7\x89\xa9\x6e\xce\xfb\x0b\xa0\x66\x95" -+"\x7a\x9e\x6d\xfb\xce\xfb\xdf\x18\x6e\x6c\x6b\x7a\x67\x86\x84\x75\x18\xf7\xa3\x06\x22\x1d\x71\x8c\x84\x8f\x9c\x1a\x95\x90\x94\x99" -+"\x9a\x1e\xf7\x6f\xf7\x80\x05\x95\x06\x4a\xfb\x76\x7c\x5b\x79\x7a\x62\x8a\x19\x84\x75\x05\xf7\x9b\x21\x1d\x7b\x06\x66\x79\x98\xa6" -+"\x94\x8d\x96\x93\xa6\x1f\xc6\xf7\x61\x05\x0e\xf7\x93\xf8\x50\x16\xa4\xe6\xbe\xe3\xe2\xf3\x08\x67\x4a\x7f\x63\x5b\x1a\x6b\x92\x6a" -+"\x99\x71\x1e\x99\x70\x99\x83\xbb\x86\xa7\x88\x92\x88\x96\x7c\x08\x9b\x77\x93\x6f\x6b\x1a\x7f\x8a\x82\x87\x78\x1e\xa9\x06\xbb\xf7" -+"\x48\x05\x71\x06\x71\x6a\x93\x95\x7c\x1f\x75\x9a\x7e\xad\xb8\x1a\xf7\x0f\xd0\xf7\x2e\xc3\x97\x95\x84\x81\x84\x88\x88\x7a\x80\x1e" -+"\x7f\x83\x85\x81\x7c\x1a\x71\x9e\x79\xa5\xae\xa4\xa7\xb2\xb8\x65\xae\x5a\x44\x30\x39\xfb\x42\xfb\x0d\x1e\xd0\xf7\x85\x05\x25\x06" -+"\x65\x22\x6c\x56\x33\xfb\x02\x08\xac\xcf\x94\xab\xb8\x1a\xdd\x60\xc3\x4c\x4f\x5c\x69\x35\x50\x1e\x9b\x7f\x05\xba\xad\xa9\xa1\xa9" -+"\x1b\xad\xa2\x65\x53\xfb\x0a\x47\xfb\x35\x58\x80\x80\x95\x95\x90\x8e\x8f\x92\x90\x1f\x9b\x96\x90\x94\x9c\x1a\xa6\x79\x9d\x70\x69" -+"\x71\x6d\x65\x5e\xb1\x67\xbb\xd7\xec\xe4\xf7\x3f\xf7\x04\x1e\x44\xfb\x8e\x05\x0e\xfb\x24\xf7\x5f\x7f\x15\x8a\x90\x8e\x8b\x8c\x1b" -+"\xf7\x1f\xf7\x04\xf3\xf7\x13\xba\x7b\xb0\x6e\xa3\x1f\x78\x9b\x7a\x92\x5e\x95\xc1\x93\xa4\x94\xa8\xa0\x08\xb6\xaa\xa4\xbe\xc2\x1a" -+"\xe0\x4a\xc3\x27\x70\x69\x86\x84\x72\x1e\x83\x70\x8b\x8b\x82\x1b\x7c\x84\x90\x9a\x88\x1f\x77\x06\x61\xfb\x43\x05\x9e\x06\xe8\xbe" -+"\xbf\xb8\xc3\x1b\xb5\xa0\x6f\x52\x49\x74\x56\x62\x6f\x1f\x77\x6d\x70\x84\x53\x1b\x83\x66\x05\x9f\x06\xd6\xb0\x67\x43\xfb\x00\x47" -+"\x38\x33\x4a\x59\xb3\xde\x61\x1f\x6e\x7e\xac\x2e\xc7\x55\xdf\x7c\x19\x52\x38\x3e\x0a\x92\x8c\x97\x1b\xa8\x9c\x7e\x74\x72\x75\x7b" -+"\x69\x75\x7a\x8f\x98\x6f\x1f\x75\x6a\x05\x79\xb7\xab\x61\x1d\xfb\x9b\xf7\x48\x81\x15\xe7\x8e\xcc\xca\xe0\x1a\xc7\x6d\xaa\x47\x96" -+"\x1e\xe7\x9a\xb1\xac\xcd\x1a\xcc\x5d\xac\x2f\x61\x6a\x84\x7d\x70\x1e\x67\x77\x75\x6b\x6c\x1a\x6e\x9e\x78\xa6\xa4\xa0\x9d\xa1\x94" -+"\x88\x94\x84\x94\x1e\x7f\x99\x8a\x8d\x92\x1a\x9c\xab\x99\xaf\xb6\xa0\x78\x67\x67\x7b\x66\x73\x79\x1e\x80\x7d\x77\x85\x71\x1b\x83" -+"\x86\x8b\x8d\x80\x1f\x81\x67\x05\x8c\x96\x90\x8b\x95\x1b\xb7\x99\x7e\x65\x41\x64\x54\x57\x65\x70\x9e\xbc\x6b\x1f\x76\x7e\xa4\x4c" -+"\xb4\x67\xc6\x80\x19\x51\x36\x98\x7f\x05\x8e\x97\x92\x54\x1d\x57\x81\x85\x8a\x89\x81\x1f\x0e\xab\xf7\xd5\xf7\xf5\x15\xd8\xfb\x97" -+"\x05\x8f\x7f\x8d\x81\x82\x1a\x73\x7a\x7a\x74\x1e\x7e\x20\x1d\xde\x06\xe2\xb2\x6d\x47\x80\x8a\x82\x87\x78\x1f\xa8\x06\xbc\xf7\x43" -+"\x05\x71\x06\x65\x7e\x95\xb2\x7e\x1f\xfb\x00\xf7\xe0\xf7\x3d\xf7\x2d\xc3\xb7\xb4\x9f\xba\x8f\x19\x22\x1d\xfb\x75\x20\x1d\x97\x06" -+"\x9b\x98\x7c\x79\x77\x7a\x6f\x70\x72\x1f\xfb\x53\xfb\x43\xc8\xf7\x6b\x98\xb8\x9e\x9d\xae\x8e\x19\xa1\x21\x1d\xfb\xb9\x52\x0a\x73" -+"\x84\x8a\x85\x89\x84\x1f\xfb\x21\xfc\x7f\xa0\x1d\x0e\xfb\x21\xf7\xb6\xf8\x63\x15\xfb\x4d\x71\x84\x74\x05\x8c\x8f\x90\x8b\x8d\x1b" -+"\x9f\x99\x7c\x76\x83\x8a\x81\xa5\x0a\xa1\x8a\x96\x78\x8f\x5a\x91\x28\xa1\x5c\xb9\x83\x9e\x86\x94\x87\x93\x84\x08\x9b\x7d\x95\x6f" -+"\x6d\x1a\x83\x8b\x86\x89\x7f\x1e\xa8\x06\xb9\xf7\x38\x05\x71\x06\x62\x8c\x6f\xa4\x89\xaf\x7f\xef\x7b\xa3\x4f\x8e\xb3\x94\x9f\x9e" -+"\xa8\xc7\x95\xa0\x18\xa6\x98\x96\x96\x97\x1b\x91\x8f\x88\x82\x8f\x1f\x78\x95\x92\x85\x9d\x1b\xa8\x9f\xa3\xae\xaf\x76\x9f\x66\x5e" -+"\x7b\x7a\xfb\x00\x51\x1f\x4c\x6a\x6b\x73\x57\x1b\x0e\xab\xf7\xf9\xf8\x1b\x15\x69\x6c\xc8\xf7\x6b\x98\xb7\x9e\x9d\xae\x8e\x19\xa1" -+"\x21\x1d\xfb\xb9\x52\x0a\x73\x84\x8a\x85\x89\x85\x1f\xfb\x21\xfc\x80\xa0\x1d\xd9\xf7\xa2\x98\x5e\x53\xfb\x5f\x05\xbd\x06\xab\xf7" -+"\x09\xb1\xfb\x14\x05\x8f\x7f\x8d\x81\x82\x1a\x73\x7a\x7a\x74\x1e\x7e\x20\x1d\xf7\x96\x4f\x0a\x21\xf7\xdd\xf7\x3d\xf7\x2c\xc3\xb8" -+"\xb4\x9e\xba\x8f\x19\x22\x1d\xfb\x75\x20\x1d\x97\x06\x9b\x98\x7c\x7a\x76\x7a\x6f\x70\x72\x1f\x32\x3a\xad\xf7\x0e\x05\x59\x06\x0e" -+"\xfb\x21\xf7\x8f\xf7\x8c\x15\x8a\x85\x86\x8b\x80\x1b\xc8\xf7\x6c\xfb\x4d\xf7\x00\x1d\x83\x8a\x82\xa5\x0a\x8f\x8f\x8a\x89\x8f\x1f" -+"\x61\xfb\x2e\x05\xbd\x06\x9d\xcd\x05\x2c\x95\xa6\x62\xc1\x1b\xb8\xa7\xa5\xee\xc5\x1f\x78\x99\x05\x5d\x73\x78\x78\x77\x1b\x7b\x82" -+"\x98\xa9\x87\x1f\x80\xea\x7b\xa5\x57\x90\x89\x8c\x18\x8c\x8d\xad\x94\x9f\xa0\xa6\xc3\x19\xbe\xa4\x91\x93\x9a\x1b\x91\x8f\x88\x82" -+"\x8f\x1f\x78\x95\x93\x85\x9c\x1b\xa8\x9f\xa3\xae\xaf\x76\x9f\x65\x5f\x7b\x7a\xfb\x00\x51\x1f\x7b\x6d\x84\x82\x7e\x7c\xab\xf7\x0c" -+"\x18\x59\x06\x0e\xe3\xf7\xf9\xf9\x05\x15\xfb\x23\xfc\xad\x2f\x1d\x82\x20\x1d\xf7\xa9\x21\x1d\x6c\x06\x71\x7a\x9c\xa4\x91\x8c\x91" -+"\x8d\x92\x1f\xd3\xf7\xa2\xdc\xfb\x97\x05\x8f\x7f\x8d\x80\x82\x1a\x73\x7b\x7b\x74\x49\x0a\xfb\x04\xf7\xdc\xf7\x39\xf7\x2d\xc3\xb8" -+"\xb2\x9e\xb9\x8f\x19\x91\x3b\x0a\x9b\x98\x7c\x79\x76\x7b\x6f\x72\x73\x1f\xfb\x4f\xfb\x43\xc4\xf7\x6b\x98\xb8\x9c\x32\x0a\xfb\xfb" -+"\x06\x60\xfb\x36\x05\x9e\x06\xb4\xd6\xb7\xb0\xc9\x95\xa7\x8d\x18\x0e\xfb\x26\xf7\xac\xf8\x5e\x15\xfb\x84\x8a\x5c\xfb\x28\x05\x9f" -+"\x06\xa8\xcd\xb5\xac\xce\x92\xfb\x01\xfc\x33\x18\xf7\x09\x06\xc3\xf7\x6b\x05\x94\x06\xa1\x8a\x96\x79\x90\x5a\x91\x51\x8e\x7b\x94" -+"\x74\xcb\x1d\x5e\x74\x79\x79\x77\x1b\x7b\x82\x98\xa9\x87\x1f\x7e\xec\x79\xa4\x50\x8e\xb7\x95\x9c\x9e\xaf\xd9\x08\xa6\x98\x94\x96" -+"\x97\x1b\x92\x8f\x87\x83\x8f\x1f\x77\x94\x93\x86\x9c\x1b\xa8\x9e\xa2\xae\xaf\x76\xa0\x65\x5f\x7d\x7c\xfb\x01\x52\x1f\x4c\x6b\x6c" -+"\x73\x57\x1b\xac\xf7\x0e\x05\x0e\xf7\x19\xf7\xc6\xf7\xd5\x15\xf7\x7c\x06\x48\xfb\x7d\xc3\x0a\x66\x20\x1d\xf7\x10\x06\xe2\xb1\x6d" -+"\x48\x7e\x8a\x83\x87\x78\x1f\xa9\x06\xbb\xf7\x43\x05\x71\x06\x69\x75\x98\x9f\x8c\x1f\x8f\x8c\x8f\x8c\x8f\x1e\xf7\x21\xf8\x7f\x98" -+"\xb8\x9d\x9d\xae\x8e\x19\x98\x21\x1d\xfb\xab\x20\x1d\xa5\x06\xa5\x9c\x7a\x73\x83\x8a\x86\x89\x84\x1f\x4d\xfb\x6d\x05\xfb\x7c\x06" -+"\xc8\xf7\x68\x98\xb8\x9d\x9d\xae\x8e\x19\xb2\x21\x1d\xfb\xc0\x96\x0a\x79\x79\x3c\x0a\xf7\xa8\x21\x1d\x6f\xb6\x0a\x0e\x2f\xf7\x8c" -+"\xf7\x97\x15\xc4\xf7\x60\xfb\x4c\xf7\x00\x1d\x84\x8a\x81\xf2\x1d\xca\xf7\x76\x05\xf7\x01\x06\x67\xfb\x14\x05\x87\x7d\x89\x7a\x7c" -+"\x1a\x63\x9e\x79\xb9\x87\x1e\xa1\x89\x9a\x86\x93\x84\x08\x97\x80\x93\x74\x72\x1a\x82\x8a\x84\x89\x7d\x1e\xa8\x06\xb6\xf7\x34\x05" -+"\x71\x06\x6d\x74\x97\x9a\x91\x8d\x94\x8d\x94\x1f\xee\xf7\xee\x05\xfb\x0b\x06\x56\xfb\x4d\x05\x0e\x99\xf7\xc1\x79\x15\xf7\x06\xea" -+"\xbf\xec\xcd\x1f\x6d\xa1\x59\x50\x6f\x74\x61\x79\x19\x6e\x0a\xfb\x1f\xdd\x2e\xf7\x25\x73\x1f\x57\x3e\x98\x7f\x05\x8e\x96\x93\x54" -+"\x1d\x56\x81\x85\x8a\x89\x82\x1f\x0e\xfb\x65\xf7\x20\x7e\x15\x94\x06\xb6\xb7\x9b\xa8\xac\x1f\xa5\xa1\x9b\x9e\xae\xbd\x6f\x9d\x18" -+"\x48\x5b\x6c\x74\x60\x1b\x5f\x6e\xaf\xc1\xc9\xa5\xe6\xaf\xcb\x1f\xba\xa6\xa8\xa3\xa9\x1b\x97\x95\x84\x81\x86\x89\x86\x85\x82\x1f" -+"\x82\x7c\x87\x7f\x7f\x1a\x6d\xa4\x75\xac\xe3\x1d\xfb\x37\xfb\x35\x44\xb2\x54\xcd\x78\x1e\x51\x36\x3e\x0a\x92\x8c\x96\x45\x1d\x61" -+"\xf7\x7e\xf7\xca\x15\x4f\xfb\x6a\xc3\x1d\x97\x8c\x92\x92\xa4\x1e\xbf\xf7\x51\x9c\x1d\xc4\x83\xa3\x7a\xc1\x19\x74\xcc\x81\xae\x9f" -+"\x0a\x08\x0e\xfb\x61\xf7\x81\xf7\x30\x15\x7f\xf7\x39\x88\x0a\x55\xfb\x53\x7f\x61\x7f\x81\x5e\x84\x19\x85\x74\x05\xf7\x7f\x06\x92" -+"\xa2\x05\x71\x8f\x80\x94\x9d\x1a\x92\x8c\x94\x8e\x94\x1e\xc5\xf7\x63\x84\x0a\x0e\x61\xf7\xfa\xf7\x7c\x15\x9f\xd4\x9c\x1d\xc7\x81" -+"\xa9\x7c\xb8\x19\x74\xcb\x81\xaf\x9f\x0a\xe3\xfb\x9d\x18\x75\x3d\x05\x2f\x06\x7f\x61\x05\xe7\x06\x71\x2d\xc3\x1d\x98\x8c\x91\x92" -+"\xa4\x1e\x9f\xd5\x05\xef\x06\x96\xb5\x05\x0e\xfb\x61\xf7\x6f\x90\x15\xa6\xea\x84\x0a\x2c\xfb\x39\x7f\xf7\x3a\x88\x0a\x74\x39\x05" -+"\x3e\x06\x7d\x59\x05\xd8\x06\x7a\x4f\x7e\x62\x81\x81\x5d\x84\x19\x85\x74\x05\xf7\x7f\x06\x92\xa2\x05\x71\x8f\x80\x94\x9d\x1a\x92" -+"\x8c\x94\x8e\x93\x1e\x9c\xca\x05\xdd\x06\x99\xbd\x05\x0e\xa0\xf7\xe1\xf7\x9b\x15\xc0\xfb\x34\x05\x8f\x81\x8c\x82\x7f\x1a\x6e\x76" -+"\x76\x6f\x1e\x7e\x20\x1d\xea\x06\xe1\xb3\x6c\x48\x80\x8a\x82\x87\x77\x1f\xa8\x06\xbc\xf7\x44\x05\x71\x06\x65\x7e\x95\xb2\x7e\x1f" -+"\x2f\xf7\xb1\xf7\x0e\xf7\x17\xea\xf2\xb2\xaa\xab\x8e\x19\x22\x1d\xfb\x56\x20\x1d\x95\x06\xa1\x99\x7e\x75\x77\x83\x7c\x71\x6f\x1f" -+"\xfb\x0c\xfb\x16\x60\xf7\x1e\x05\x81\xa7\x8a\x92\x95\x1a\xa5\x9b\x9e\xa0\x1e\x98\x21\x1d\xfb\x9e\x4b\x0a\xde\xfb\x92\x18\xfb\x37" -+"\xfb\x43\x52\x4c\x5f\x69\x66\x82\x33\x0a\xf7\x63\x21\x1d\x7e\x06\x6b\x79\x97\xa2\x9a\x96\x9e\xa2\xa5\x1f\x0e\xfb\x28\xf8\x38\xbf" -+"\x15\x71\x06\x54\x8d\x8a\x8d\x5f\xf7\x45\x84\xa8\x18\xea\xbe\x8f\x8f\xa5\x1b\x93\x92\x8a\x87\x97\x1f\x87\x99\x91\x8a\x95\x1b\xa7" -+"\xa2\xa3\xa8\xa9\x71\xa1\x69\x69\x68\x70\x5e\x72\x1f\x5c\x39\x81\xbb\x88\x98\x6c\xea\x19\xfb\x31\x6b\x84\x75\x05\x8d\x95\x93\x8c" -+"\x91\x1b\xa7\xa1\x6f\x5a\x97\x1f\xac\xfb\x26\x60\x43\x05\x74\x7d\x7f\x81\x7e\x1b\x83\x86\x8d\x92\x7f\x1f\x92\x7d\x83\x8e\x7f\x1b" -+"\x6c\x74\x74\x6b\x6a\xa0\x77\xad\xae\xb7\xab\xb8\xa7\x1f\xba\xd8\xa3\xfb\x03\x9f\x69\xb9\x85\x19\xa4\x86\x90\x8a\x91\x87\x08\x9a" -+"\x83\x95\x73\x70\x1a\x82\x8a\x85\x88\x7d\x1e\xa9\x06\x0e\xea\xf9\x9d\xf9\x14\x15\x90\xa1\x05\xfb\xa2\xb7\x0a\x87\x8a\x83\x89\x85" -+"\x1e\x4c\xfb\x81\x05\x76\x5a\x6a\x83\x63\x1b\x5a\x70\x9f\xaf\x9b\x8e\x9b\x97\xb6\x1f\xad\xf7\x16\x97\xb8\x9d\x47\x0a\x63\xfb\x2d" -+"\x05\x84\x71\x88\x7b\x7b\x1a\x46\xc1\x64\xeb\xc2\xb3\x93\xa5\xd4\x1e\x54\xfb\x62\x7f\x4e\x0a\xe6\x06\xde\xb3\x6b\x49\x80\x8a\x82" -+"\x87\x77\x1f\xa9\x06\xb6\xf7\x36\x05\x71\x06\x6c\x75\x97\x9c\x90\x8c\x90\x8c\x91\x1f\xf7\x1c\xf8\x8d\x97\xb8\x9d\x9d\xae\x8e\x19" -+"\x0e\xfb\x14\xf8\x78\xef\x15\x79\x95\x05\x67\x77\x7a\x79\x7b\x1b\x84\x87\x90\x94\x91\x8c\x90\x8f\x9a\x1f\xe7\xf7\xf0\x05\xfb\x0a" -+"\x06\x7e\x59\x05\x37\x74\x51\x3d\xe5\x1d\xb6\xf7\x3a\x8c\x1d\x97\x94\x8d\x8f\x97\x1e\x93\x76\x8f\x75\x7b\x1a\x84\x8a\x84\x89\x7e" -+"\x1e\xa8\x06\xb8\xf7\x33\x05\x0e\xf2\xf8\x32\xf7\xa1\x15\xa8\x91\x9c\x90\xb5\x9a\x4f\xfb\x63\x18\x7e\x5e\x79\x79\x68\x88\x08\xac" -+"\x0a\x7b\x9b\xa4\x1a\x93\x8c\x8f\x8c\x92\x1e\xf7\x21\xf8\x80\x99\xb7\x9d\x32\x0a\xfb\xa5\x06\x84\x75\x05\xa1\x06\xa5\x9c\x7a\x73" -+"\x84\x8a\x85\x89\x85\x1f\x47\xfb\x82\x6a\x7d\x71\x83\x6f\x86\x19\xcb\xf7\x7b\x05\x4c\x06\x4a\xfb\x7b\x05\x69\x93\x7c\x9b\xa8\x1a" -+"\x9c\x8d\x92\x9a\xc0\x1e\xb0\xf7\x16\x98\xb7\x9d\x9d\xae\x8e\x19\x98\x21\x1d\xfb\xa6\x20\x1d\xa1\x06\xa5\x9c\x7b\x72\x86\x8a\x83" -+"\x89\x85\x1f\x5f\xfb\x2d\x05\x83\x6e\x88\x7c\x7a\x1a\x47\xc0\x65\xec\x1e\x9d\x06\x62\xfb\x26\x05\xca\x06\x0e\xfb\x0f\xf7\x96\xf7" -+"\x7f\x15\x87\x06\x7e\x86\x92\x9b\x98\x8b\x8c\x92\xa3\x1f\xb9\xf7\x3b\xfb\x4c\x71\x85\x74\x05\x96\x06\x9f\x99\x7d\x76\x83\x8a\x81" -+"\x88\x83\x1f\x74\x38\x05\x82\x6e\x89\x7d\x7b\x1a\x63\xa5\x70\xb1\xa3\xa4\x93\x98\x9f\x1e\x75\x38\x05\xb8\x06\xb0\xf7\x1b\x95\x96" -+"\x96\x98\xa2\xa8\x19\x5a\xfb\x41\x05\x85\x74\x89\x80\x7d\x1a\x68\xa6\x73\xb2\xbc\xb4\xab\xda\xbb\x1e\x7a\x96\x05\x66\x76\x79\x79" -+"\x7c\x1b\x82\x88\x8f\x94\x93\x8b\x8c\x91\x9d\x1f\xee\xf7\xef\x05\xfb\x0c\x06\x7d\x5d\x7b\x59\x7a\x69\x6c\x63\x19\xa6\xef\x05\x5d" -+"\x06\x0e\xa2\xf7\xd5\xf8\xd2\x15\x99\xb9\x9c\x9c\xae\x8e\x08\x93\x06\x92\xa1\x05\xfb\xa8\x06\x84\x75\x05\xa8\x06\xa5\x9c\x7a\x72" -+"\x86\x8a\x84\x89\x84\x1f\xfb\x21\xfc\x7f\x7e\x5e\x78\x79\x68\x88\x19\x7f\x06\x85\xbd\x0a\x7a\x9b\xa3\x1a\x91\x8c\x92\x8d\x92\x1e" -+"\xcf\xf7\x81\x05\xa0\xbd\xad\x93\xb3\x1b\xbc\xa6\x78\x67\x7a\x89\x83\x7d\x58\x1f\x65\xfb\x16\xc3\x0a\x7f\x06\x84\xbd\x0a\x7b\x9b" -+"\xa3\x1a\x94\x8c\x8f\x8c\x92\x1e\xb7\xf7\x2d\x05\x93\xa5\x8e\x9c\x9c\x1a\xcf\x56\xb1\x2b\x53\x5e\x82\x72\x45\x1e\x0e\x2a\xf8\x70" -+"\xf7\x22\x15\x4c\x5f\x79\x77\x5a\x0a\xfb\x9c\x7e\x1d\xea\xf8\x46\xd7\x15\x83\x61\x7d\x80\x58\x88\x08\x71\x06\x65\xfb\x2f\x05\xa8" -+"\x06\xa2\xd9\xc3\xbc\xd3\x93\x08\xf7\x3d\x06\x90\x9f\x05\x6b\x06\x68\x78\x98\xa3\x93\x8e\x9a\x8f\x9b\x1f\xf7\x14\xf8\x72\x97\xb8" -+"\x9d\x9d\xae\x8e\x19\x97\x06\x68\x0a\xc1\x64\xeb\xc2\xb3\x93\xa5\xd4\x1e\x0e\xfb\x2e\xf8\x5e\xf7\x12\x15\x5e\x77\x79\x71\x7f\x1b" -+"\x87\x88\x8f\x90\x90\x8d\x96\x8e\x97\x1f\xe7\xf7\xf4\x05\xfb\x0f\x06\x7d\x5f\x77\x53\x7f\x73\x71\x64\x19\x5d\x6d\x7e\x7f\x7a\x1b" -+"\x83\x86\x91\x96\x92\x8d\x96\x8d\x95\x1f\xbe\xf7\x52\xfb\x49\x48\x1d\x76\x83\x8a\x84\x88\x81\x1f\x74\x3a\x05\x86\x7a\x87\x6d\x7b" -+"\x1a\x66\xa7\x6f\xb0\xb9\xab\xa5\xf1\xd9\x1e\x5b\xfb\x4e\x05\x88\x81\x8a\x80\x7e\x1a\x87\x8b\x86\x8c\x83\x1e\x74\x69\x05\x78\x6b" -+"\x85\x7b\x76\x1a\x80\x8d\x83\x90\x7e\xd4\x1d\xaa\xb9\x0a\x98\x87\x95\x80\x9e\x1e\x80\x9d\x87\x94\x93\x1a\x90\x8c\x90\x8e\x92\x1e" -+"\x80\x92\x9b\x84\xa0\x1b\xc4\xb6\xb0\xe6\xba\x1f\x0e\xd0\xc9\xf7\xba\x15\x84\x67\x89\x78\x77\x1a\x6e\x90\x6d\x93\x70\x1e\x29\xaa" -+"\xd7\x56\xf7\x01\x1b\xf7\x83\xf7\x5b\xf7\x5e\xf7\x86\xf7\x27\x20\xf2\xfb\x2d\x3b\x3a\x6d\x53\x47\x1f\x5c\x66\x70\x66\x5d\x38\xf7" -+"\x04\x81\x18\xad\xd3\xa8\xbd\xa4\xa6\x08\xb8\xb4\xbb\xa3\xbb\x1b\xa5\xa5\x82\x7b\x9e\x1f\xb1\x6b\x9c\x60\x47\x1a\x50\x81\x49\x7a" -+"\x55\x1e\x7c\x61\x15\x7b\x5b\x70\x57\x6c\x60\x08\x4d\x5f\x57\x6d\x4a\x1b\x46\x6c\xb8\xed\xa4\x8e\xac\x90\xad\x1f\x0e\x99\xf9\x02" -+"\xa4\x15\x49\x90\x87\x8f\x7e\xd7\x28\xf8\xca\x18\x73\x06\xfc\x01\xfc\xda\x6b\x5a\x7c\x7f\x68\x83\x19\x72\xf7\x56\xa4\x07\x5d\x78" -+"\x95\xa4\x98\x8f\x99\x96\x9d\x1f\xc5\xf0\x05\xf7\x69\x06\x95\x41\x90\x62\x83\x1a\x61\x7d\x80\x4b\x86\x1e\x72\xf7\xc1\x07\xfc\x41" -+"\xf7\x8a\x15\xf7\x25\xf7\x84\xb2\xfb\x84\x05\xf7\x56\xf9\x14\x15\x49\x6b\x6a\x74\x4a\x1b\x4b\x6a\xa8\xc7\x86\x1f\x61\x06\xfb\x05" -+"\x8a\xb4\x5c\xeb\x1b\xeb\xca\xc4\xf2\x9c\x1f\x0e\xfb\x2e\xf8\x63\xf7\x12\x15\x54\x63\x7c\x7c\x7c\x1b\x83\x87\x90\x95\xa5\x94\xb6" -+"\xa2\xd9\x1f\xd0\xf7\x7d\xfb\x02\x84\x7a\x51\x05\xbd\x82\x75\xa0\x60\x1b\xfb\x0d\xfb\x27\xfb\x51\xfb\x2f\x40\xb6\x58\xcb\xc8\xb8" -+"\xaf\xea\xc3\x1f\x81\x64\x88\x7e\x7d\x1a\x66\xa8\x6e\xb0\xba\xb9\xb2\xe1\xc3\x1e\xfb\x51\xf7\xc4\x15\xa1\x89\x9a\x79\x70\x1a\x50" -+"\x6b\xfb\x02\x65\x47\x1e\x5b\x71\x6e\x71\x6f\x1b\x72\x78\xa2\xaa\xbf\xaa\xed\xb4\xd4\x1f\xa8\xbf\xac\xaa\xa5\x89\x08\xf7\x16\xf7" -+"\x8c\x15\x4a\x6c\x68\x73\x4b\x1b\x4b\x6b\xa7\xc8\x85\x1f\x61\x06\x8d\x48\x8b\x8b\x98\x6f\x08\x60\x9f\xb3\x75\xc9\x1b\xea\xca\xc4" -+"\xf2\x9c\x1f\x0e\xd0\xf8\x5c\xf9\x3d\x15\x42\x41\x71\x5a\x47\x1f\xfb\x0d\x33\x35\xfb\x35\xfb\x1d\x1a\xfb\x23\xea\x2c\xf7\x22\xd9" -+"\xd7\xa5\xbc\xce\x1e\xf7\x10\xe6\xdd\xf7\x32\xf7\x25\x1a\xf7\x18\x24\xed\xfb\x1f\x1e\xd1\xfb\xdf\x15\xfb\xc9\x06\xf7\x54\xc3\xde" -+"\xf4\xea\x1b\xca\xb3\x5d\x42\x58\x89\x7d\x71\xfb\x02\x1f\x7b\x52\x15\xfb\x4a\x51\x3a\x29\x30\x1b\x4c\x64\xb9\xd5\xb8\x92\xbb\x9c" -+"\xce\x1f\x0e\xa1\x1d\xfb\x1e\xfb\x63\x15\xf7\x07\xaa\xb9\xca\xbf\x1b\xa8\x9d\x75\x67\x69\x86\x69\x80\x57\x1f\x80\x60\x15\xfb\x17" -+"\x67\x60\x4a\x58\x1b\x6d\x78\xa2\xb2\xb0\x92\xb9\x97\xbe\x1f\x0e\x99\x70\x1d\x8d\xfa\x0a\x15\x49\x6c\x69\x74\x4a\x1b\x4c\x6b\xa8" -+"\xc7\xc8\x1d\xfb\x65\x7b\x1d\xf7\xba\xf8\x5f\x15\x4a\x6d\x68\x73\x4b\x1b\x4b\x6b\xa7\xc8\xc8\x1d\xf9\x6e\xf9\x82\x15\xd0\xfc\x85" -+"\x46\x07\x0e\xf7\xef\xad\x89\x15\x92\x06\xd5\x06\xf7\x44\xcd\x97\xb7\xcc\x1f\xf1\xd0\xd5\xf7\x36\xf7\x2f\x1a\xea\x6d\xde\x5b\xb1" -+"\x1e\xa7\x67\x5a\x98\x4a\x1b\xfb\x2b\x20\x56\x2e\x69\x1f\x7d\x66\x87\x73\x8a\x49\xd9\xb1\x18\x94\x07\x8a\xea\xb0\xb7\xe6\x99\x3d" -+"\xfc\x3e\x18\x7a\x40\x72\x5c\x6d\x81\x74\x8c\x18\xe5\x16\x8f\x8e\xc2\xb9\x9e\xb6\xa1\xf7\x13\x19\xc7\xf7\xec\x05\x92\x06\x8e\x06" -+"\xb4\x96\x8a\x87\x98\x1f\xc4\x76\xa9\x49\x26\x1a\xfb\x66\x2c\xfb\x29\xfb\x1e\x84\x1e\xf7\x8d\xfb\x99\x15\xda\x06\xb1\xf7\x62\x05" -+"\x7b\xb2\x8e\x8a\xa1\x1b\xf7\x14\xf7\x01\xf7\x39\xf7\x53\xf7\x00\x5e\xc3\x36\x57\x5e\x75\x62\x6a\x1f\x66\x5d\x76\x50\x73\xfb\x18" -+"\x08\xea\xe6\x15\xe6\x9b\xb0\xc0\xb9\x1b\xb4\xa1\x61\x3c\xfb\x2a\x52\xfb\x0b\x43\x6e\x75\x96\xa5\x77\x1f\x0e\x61\xf7\x97\x16\x7c" -+"\xf7\x2f\x05\x49\xb7\x62\xe4\xea\x1a\xc0\x98\xc6\xa2\xbc\x1e\xc9\xa9\xbc\xaf\xc3\x1b\xc3\xbc\x67\x4d\xa9\x1f\xa2\x5a\x98\x50\x56" -+"\x1a\x2c\x61\x32\x4a\x5f\x1e\x7c\xfb\x2f\x05\xf7\x88\xf7\x2d\x77\x06\x5e\x84\x7b\x79\x68\x1b\xfb\x0d\x06\x8d\xb1\x05\xf6\xb8\xc9" -+"\xe8\xf7\x08\x1a\xbb\x7f\xbe\x74\xba\x1e\xef\x5b\x36\xc5\x2a\x1b\x2a\x36\x51\x27\x5b\x1f\x74\x5c\x7f\x58\x5b\x1a\xfb\x08\xc9\x2e" -+"\xf6\x5e\x1e\x8e\x65\x05\xfb\x0e\x06\x68\x7b\x9d\xb8\x84\x1f\x77\xfb\x2d\x06\x0e\xfc\x7a\xcf\x1d\xfc\x27\xf7\x12\xf8\x29\x2b\x0a" -+"\xf7\xef\xf8\xa9\xf8\x95\x15\x49\x06\xfb\x74\xfc\x95\x05\xdb\x06\xf7\x45\xf8\x2d\xf7\x45\xfc\x2d\x05\xdb\x06\x0e\xf7\xef\xf8\xa9" -+"\x16\xf7\x74\xf8\x95\x05\x3b\x06\xfb\x45\xfc\x2d\xfb\x45\xf8\x2d\x05\x3b\x06\xf7\x74\xfc\x95\x05\x0e\xf7\xef\xf8\x8c\xf9\x60\x15" -+"\xfb\x60\xfb\x34\xfb\x32\xfb\x5f\xfb\x5b\xf7\x34\xfb\x33\xf7\x5d\xf7\x5b\xf7\x34\xf7\x34\xf7\x5c\xf7\x59\xfb\x34\xf7\x36\xfb\x58" -+"\x1f\xa4\x52\x15\xf7\x23\x7e\xf7\x06\xfb\x06\x99\xfb\x25\x08\xfb\xa3\x06\xf7\xa4\x52\x15\x82\xfb\x22\xfb\x0d\xfb\x0f\xfb\x22\x80" -+"\x08\xf7\xa8\x07\x53\xfb\xa8\x15\xfb\x27\x99\xfb\x05\xf7\x05\x7d\xf7\x29\x08\xf7\xa6\x06\xfb\xa6\xc4\x15\x99\xf7\x24\xf7\x07\xf7" -+"\x06\xf7\x25\x99\x08\xfb\xa4\x07\x0e\xd0\xf7\x11\xf7\x10\x15\xf8\x67\xf8\x67\xfc\x67\x06\xb3\xfc\x3f\x15\xf8\x17\xf8\x17\xfc\x17" -+"\x07\x0e\xf7\xef\xf9\x64\xf8\xc3\x15\x4f\xfb\x8d\x06\x26\x86\x62\x7c\x6e\x1e\x5b\x72\x53\x6b\x50\x1b\x57\x58\xa4\xb3\x6f\x1f\x74" -+"\xac\x85\xb4\xf7\x04\x1a\xf7\x8d\x4f\xfb\x8a\x07\xfb\x1d\x90\x69\xa3\x63\x1e\x4a\xb1\xd1\x66\xde\x1b\xd7\xcb\xaa\xc3\xb4\x1f\xac" -+"\xb8\x91\xab\xf7\x29\x1a\x0e\x4f\xf8\x27\xf8\x1c\x15\xfb\x69\x06\x41\xf7\x4d\x05\x2d\x06\xf7\x7d\xfc\xd5\x05\xde\x06\xf7\x7d\xf8" -+"\xd5\x05\x2d\x06\x22\xfb\x9d\x15\x3f\xfb\x48\x40\xf7\x48\x05\x0e\x2a\xf8\x06\xf8\x55\x15\x6b\x0a\x54\x85\x71\x6e\x1a\x62\xa0\x78" -+"\xb8\x97\x92\x8c\x8f\x9b\x1e\x6b\x60\x83\x79\x70\x31\x0a\xb4\xb1\x94\xa1\xaa\xb3\x1f\x9d\xa1\x92\x96\x9b\xa7\x76\x98\x18\x55\x68" -+"\x77\x77\x7a\x1b\x83\x85\x92\x95\x97\x96\xbb\x99\xb8\x1f\xd9\xf7\xa0\x05\x0e\xfb\x37\x3c\x1d\x0e\xfb\x37\x3c\x1d\xf7\x67\xf7\xee" -+"\x15\xa4\x0a\xf7\x3a\x9e\x0a\xfb\x37\x3c\x1d\xf7\x93\xf7\xb7\x15\xa8\x06\x8f\x91\x8f\x92\x8f\x92\x8f\x93\x19\xb1\xc7\x8d\x8f\x9e" -+"\x1a\x9e\x7a\x98\x73\x7c\x7c\x85\x82\x83\x1e\x83\x82\x8b\x8a\x89\x65\x8f\x5c\x18\x71\x07\x3c\x86\x15\x9a\x0a\xaa\x72\xa5\x6e\x1f" -+"\xf7\x4d\x16\x6d\x73\x73\x6c\x6b\xa4\x71\xa9\xa8\xa3\xa4\xaa\xa9\x72\xa6\x6e\x1f\x0e\xfb\x37\x3c\x1d\xf7\x85\xf7\x6d\x15\xbe\x06" -+"\x8f\x94\x9b\xac\x05\xbc\xe6\x8f\x94\xa5\x1a\xa5\x75\x9e\x6b\x73\x74\x80\x7a\x82\x1e\x82\x7d\x8a\x7c\x89\x21\x89\x64\x18\x0e\x2a" -+"\x26\x0a\xfb\x26\xf9\x0e\x30\x0a\x2a\xf8\x7a\xf9\x23\x15\x6c\x7c\x7e\x80\x6d\x1d\x6b\x93\x72\x1b\x52\x5f\x5e\x42\x7d\x1f\xb3\x06" -+"\xab\x98\x97\x96\xa2\x1b\x96\x99\x88\x86\x98\x1f\xc6\x74\x05\x80\xa6\x95\x89\x9e\x1b\xc8\xad\xae\xdf\xa2\x1f\x54\xfc\x9e\x5d\x0a" -+"\x0e\x99\x32\x1d\xf8\x0c\xdd\x29\x0a\x99\x32\x1d\xf8\x66\xdd\x23\x1d\x99\x32\x1d\xf7\x90\xf7\x71\x15\x68\x6e\x6d\x67\x36\x1d\x99" -+"\x32\x1d\xf8\x06\xdd\x8e\x0a\xfb\x60\xf7\xa7\xf9\x69\x15\x40\x71\x64\x6c\x6a\x1a\x74\x9e\x7a\xc0\x73\x1e\x76\x7e\x80\x83\x81\x81" -+"\x08\x71\x70\x79\x67\x70\x1a\x6a\x9b\x72\xb2\x71\x1e\x68\x79\x7b\x81\x72\x74\x08\x4d\x52\x6a\x49\x48\x1a\x3b\xc3\x58\xe2\x9a\x9f" -+"\x8d\x8f\xa2\x1e\x8e\x99\x98\x8c\x93\x1b\xa3\x99\x7d\x73\x68\x6d\x6d\x68\x7d\x7c\x8f\x92\x7f\x1f\x9c\x6d\x83\x8e\x79\x1b\x64\x72" -+"\x73\x66\x67\xa6\x76\xb7\xf5\xf6\xf2\xf1\xbc\x71\xa6\x5d\x80\x79\x89\x89\x7a\x1f\x89\x7b\x7c\x89\x82\x1b\x58\x78\x9d\xba\xd1\xac" -+"\xd1\xc6\xc2\x1f\x71\xbe\xa4\x83\xaf\x1b\xc6\xae\xa0\xaf\xaa\x73\x9d\x62\x61\x6a\x82\x73\x56\x1f\x82\xa5\x89\x98\x9c\x1a\xb2\x95" -+"\xae\xa1\xb5\x1e\x76\xbf\xa8\x85\xb4\x1b\xd2\xba\xa5\xb2\xaa\x70\x9d\x5c\x50\x62\x7e\x61\x45\x1f\x74\x9a\x80\x9d\x9f\x1a\xa2\x9e" -+"\x9f\xb3\x9d\x1e\x0e\xfb\x65\x31\x1d\xf7\xe8\xd9\x23\x1d\xfb\x65\x31\x1d\xf7\x7c\xd9\x37\x1d\xfb\x9c\x34\x1d\xf7\x34\xce\x15\x2b" -+"\x1d\x38\x1d\xfb\x9c\x34\x1d\xf7\x5b\xf7\x62\x2a\x1d\xfb\x68\xf7\xb0\xf9\x68\x15\x41\x6f\x5d\x66\x6b\x1a\x71\xa6\x6f\xba\x74\x1e" -+"\xfb\x09\x20\x3e\xfb\x3a\xfb\x27\x1a\x2d\xb3\x61\xe2\x9b\x97\x8c\x8d\x93\x1e\x91\xa8\x90\x8c\x98\x1b\xa6\x99\x7e\x72\x68\x6d\x6d" -+"\x68\x7d\x7c\x8f\x92\x7f\x1f\x9c\x6d\x83\x8e\x79\x1b\x64\x72\x73\x66\x67\xa6\x76\xb7\xf5\xf6\xf2\xf1\xbc\x71\xa6\x5c\x7f\x7a\x89" -+"\x89\x7c\x1f\x89\x7d\x7e\x89\x85\x1b\x6b\x79\x9e\xac\xc4\x9e\xf7\x03\x9f\xcd\x1f\x9e\xc6\xa4\xc1\xac\xc1\x08\x7f\xac\x99\x88\xb1" -+"\x1b\xe2\xc6\xaa\xb7\xa9\x73\x9e\x65\x54\x55\x74\x54\x45\x1f\x74\xa1\x82\x9c\xa2\x1a\xa8\x98\x9a\xbc\xa8\x1e\x0e\x79\x9d\xf8\x55" -+"\x98\xf7\x63\x9b\x06\xac\x0a\xf7\x0a\x0b\xa2\x91\x8f\x8f\x8f\x8f\x8f\x92\x92\x8f\x90\x90\x0c\x0c\xf8\x88\x14\xf9\x21\x15\xaf\x13" -+"\x00\xa8\x02\x00\x01\x00\x0a\x00\x7d\x00\xa3\x00\xc3\x00\xca\x00\xd5\x00\xe1\x00\xe6\x00\xeb\x00\xee\x00\xfb\x00\xff\x01\x6f\x01" -+"\xc7\x02\x06\x02\x2a\x02\x51\x02\x57\x02\x5f\x02\x64\x02\x6c\x02\x81\x02\xe4\x03\x29\x03\x38\x03\x44\x03\x51\x03\x5a\x03\x61\x03" -+"\x68\x03\x6e\x04\x2b\x04\x56\x04\x5b\x04\x6e\x04\x7b\x04\x9a\x04\xa9\x04\xb2\x04\xc9\x04\xd0\x04\xd9\x04\xe3\x04\xee\x04\xfb\x05" -+"\x00\x05\x06\x05\x11\x05\x1a\x05\x22\x05\x2a\x05\x2f\x05\x37\x05\x3f\x05\x47\x05\x52\x05\xd9\x06\x03\x06\x3a\x06\xa3\x06\xcd\x06" -+"\xd5\x07\x48\x07\xb8\x08\x08\x08\x73\x08\xdd\x08\xf8\x09\x20\x09\x34\x09\x4e\x09\xa9\x09\xde\x0a\x16\x0a\x66\x0a\xb4\x0a\xce\x0b" -+"\x16\x0b\x5c\x0b\x89\x0b\x91\x0b\xa9\x0b\xb2\x0b\xea\x0c\x29\x0c\x2e\x0c\x39\x0c\x4a\x0c\x7c\x0c\xa1\x0c\xad\x0c\xb7\x0c\xe1\x0d" -+"\x0b\x0d\x23\x0d\x28\x0d\x4d\x0d\x67\x0d\x82\x0d\xa4\x0d\xc5\x0d\xe4\x0e\x03\x0e\x21\x0e\x3e\x0e\x5b\x0e\x78\x0e\x95\x0e\x98\x0e" -+"\x9f\x0e\xaa\x0e\xb5\x0e\xb9\x0e\xd4\x0e\xd8\x0e\xe3\x0e\xfd\x0f\x15\x0f\x29\x0f\x42\x0f\x4a\x0f\x63\x0f\x70\x0f\x7d\x0f\x93\x0f" -+"\xa8\x0f\xac\x0f\xb5\x0f\xc9\x0f\xcd\x0f\xe0\x0f\xf2\x0f\xfc\x10\x05\x10\x10\x10\x21\x10\x32\x10\x41\x10\x4b\x10\x55\x10\x61\x10" -+"\x71\x10\x79\x10\x89\x10\x91\x10\xa0\x10\xa5\x10\xb4\x10\xc1\x10\xc5\x10\xce\x10\xd9\x10\xe6\x10\xf3\x11\x00\x11\x0d\x11\x1a\x11" -+"\x25\x11\x31\x11\x35\x11\x41\x11\x4d\x11\x59\x11\x61\x11\x69\x11\x74\x11\x7f\x11\x8a\xed\x1d\xe3\xfb\x42\x05\xdd\x06\x0e\xf9\x7c" -+"\xf9\x31\x15\xfb\x64\x72\x06\xc4\x86\xa2\x7b\x67\x1a\x7a\x84\x67\x7f\x60\x1e\x51\xfb\x65\x70\x29\x75\x59\x6d\x67\x19\x63\x69\x5f" -+"\x77\x54\x1b\x3f\x5d\xb1\xca\xa7\x8d\x95\xa5\xea\x1f\xdd\xf7\xc0\x9c\xc4\x9a\x97\xc9\x8e\x19\xa4\xfb\xcb\x72\x07\xd0\x81\x8f\x89" -+"\x70\x1a\x7f\x85\x6c\x82\x6a\x1e\x54\xfb\x62\x05\x74\x39\x80\x4f\x6a\x1a\x29\xe7\x47\xf7\x17\xe0\xce\xa6\xc0\xb8\x1e\xad\xb2\xa2" -+"\xc0\xab\xf7\x01\xcd\xf7\x78\x18\xb3\xf7\x18\x92\x95\xc2\x96\x08\x0b\x78\x0a\xe2\xd8\xc0\xb2\xee\xc7\x1e\xfb\x5a\xe4\x15\xf7\x1f" -+"\xaf\xb9\xd7\xbb\x1b\x9e\x94\x80\x74\x5f\x7a\x60\x6b\x6a\x1f\x70\x6e\x72\x7d\x52\x79\x08\x0b\xa1\x1d\x82\x6e\x15\xa8\xf4\x1d\x4d" -+"\x6e\x6d\x6e\x68\x1b\x6d\x78\xa2\xb2\xda\xb0\xf7\x25\xae\xc9\x1f\xb9\xa5\xa8\xa2\xab\x1b\x0b\x15\x68\x6e\x6d\x67\x36\x1d\x15\xfb" -+"\xd9\x06\x7a\x45\x05\xf7\xda\x06\x0e\xf8\x6b\xf7\x19\x63\x0a\x54\x85\x71\xb7\x1d\x0b\xf7\x9c\x84\x1d\x0b\x60\x6b\xb0\x0a\x0b\x7f" -+"\x1d\x0e\x06\xfb\x34\xfb\x42\x05\xc4\x06\xf7\x17\xea\x05\x0e\x15\x28\x0a\x0e\xfa\x40\xf9\x31\x15\xfb\x4f\x72\x06\xc3\x87\x92\x86" -+"\x67\x1a\x7f\x89\x83\x7e\x71\x1e\xfb\x30\xfb\xdb\x6a\xf7\xbb\x05\x85\xc0\x8b\x8b\x97\x1a\xb6\x95\x95\xc0\x90\x1e\xa4\xfb\xa1\x73" -+"\x07\xc7\x83\x95\x7d\x8c\x35\xfb\x2a\xfb\xcb\x18\x64\xf7\xf1\x05\x8a\x90\x8b\x92\x8f\x1a\xaf\x98\x96\xbb\x91\x1e\xa4\xfb\xa9\x73" -+"\x07\xcb\x80\x8e\x89\x95\x44\xd9\xfc\xd7\x18\xa8\x06\xf7\x7d\xf8\x7d\xc6\xfc\x7d\x05\xa8\x06\xf7\xb2\xf8\xe2\xa7\xc2\x99\x97\xb5" -+"\x91\x19\x0b\xf7\x7e\xf7\xcd\x15\x4f\xfb\x6c\x79\x52\x7d\x81\x46\x86\x19\x72\xf7\xd6\xa4\x07\x4a\x8e\x7f\x92\xb0\x1a\x98\x8c\x92" -+"\x92\xa4\x1e\xbf\xf7\x53\xf7\x52\xf7\x9f\xad\xb9\x9e\x9a\xb1\x93\x19\xa4\xfb\x64\x72\x07\xc0\x89\x99\x82\x68\x1a\x79\x86\x7f\x76" -+"\x6d\x1e\xfb\x15\xfb\x4e\x79\xc2\x81\xa9\x7b\xbe\x19\x74\xcc\x81\xaf\x9d\x1a\xa7\xdf\x1d\x88\x9e\x56\x08\x0b\xf7\xc6\xf9\x31\x15" -+"\xfb\x57\x72\x06\xc2\x86\x94\x85\x9e\x5f\xfb\x0c\xfc\x2f\x18\x64\xfb\x17\x84\x80\x54\x80\x08\x72\xf7\x64\xa4\x07\x50\x90\x76\x9a" -+"\xb2\x1a\x9e\x91\xac\x97\xb5\x1e\xee\xf7\xf8\xf7\x95\xfc\xb9\x05\xa7\x06\xf7\x23\xf8\x8e\x8a\x0a\x05\x0b\x86\x0a\xf7\x15\xf8\x72" -+"\x9b\xc2\x9e\x98\xcd\x8f\x19\xa4\xfb\xd1\x72\x07\x9c\x0a\xfb\x0f\xfc\x55\x7b\x57\x7c\x7d\x5a\x85\x19\x72\xf8\xbd\x07\x0b\x15\x51" -+"\x5a\x5b\x52\x4f\xba\x5b\xc6\xc6\xbb\xbb\xc6\xc5\x5b\xbb\x51\x1f\x89\x5b\x15\xac\xa6\x70\x6a\x6c\x70\x71\x6a\x6c\x71\xa5\xab\xab" -+"\xa5\xa6\xaa\x1f\x0e\x77\x0a\x62\x75\xa1\x0b\x9d\xae\x8e\x19\x97\x21\x1d\x0b\x19\x85\x75\x05\x0b\x7f\x5e\x79\x79\x69\x88\x19\x0b" -+"\xf9\x56\xf7\xde\x78\x1d\x60\x68\x91\x5d\x1b\x3e\x99\x1d\xd1\x92\x93\xc0\x8f\x19\x0b\x8d\x79\x89\x0a\x5e\xcd\xfb\x0f\xe8\x1f\xab" -+"\x0a\xcb\xdb\xb1\x5a\xfb\x09\x99\x1e\xa6\x87\xb3\xf7\x5d\x05\x6d\x06\x79\x82\x7d\x83\x76\x1b\x80\x7c\x8e\x93\x72\x1f\x99\x62\x6f" -+"\x90\x6e\x1b\xfb\x06\x34\x37\xfb\x02\x71\x90\x74\x93\x7a\x1f\xa1\x61\xb4\x5f\xc3\x5f\x08\xda\x4f\xad\x5d\x5c\x1a\x75\x84\x72\x7f" -+"\x76\x1e\x64\x74\x69\x78\x59\x1b\x57\x5e\xa3\xb6\x71\x1f\x78\xaa\x83\xa9\x87\xc7\x6e\x8d\x18\x0b\xf7\x7b\xf7\x0f\x15\x5c\x6a\x78" -+"\x78\x6a\x1d\x8c\x8f\x8f\x98\x1f\xf3\xf7\xfe\xfb\x50\x70\x85\x73\x05\x8c\x92\x92\x8c\x90\x1b\x9b\x9a\x7d\x7d\x83\x87\x75\x87\x7d" -+"\x1f\x4d\xfb\x67\x05\x85\x77\x88\x79\x7b\x1a\x5c\xa5\x6f\xb7\xa6\xa0\x96\xa8\xac\x1e\xa1\x9f\x96\x9a\xa4\xb4\x08\x0b\x15\x49\x6b" -+"\x68\xc2\x0a\x8d\x47\x8b\x8b\x98\x6f\x08\x5a\x1d\x15\xf4\xb9\xce\x98\x0a\x68\x68\x44\x65\x1e\x0e\x68\x6f\x6d\x67\x69\xa9\x6c\xac" -+"\xaf\xa9\xa8\xae\x0b\xa1\x05\xfb\x73\x20\x1d\x97\x06\x0b\x68\x88\x19\x83\x20\x1d\x0b\x7b\x97\x7b\xa1\x7c\x1f\x0b\x98\x7f\x05\x8e" -+"\x97\x0b\xf8\x72\xf8\x41\x15\xfb\x03\x06\xa3\x69\x6d\x94\x5d\x1b\xfb\x0f\x28\x3a\x26\x58\xa5\x67\xc1\x74\x1f\x39\x5d\x7d\x7d\x66" -+"\x1a\x6b\x9d\x78\xb7\x7c\x1e\x4d\x7c\x77\x83\x73\x78\x08\x7b\x7d\x80\x73\x73\x1a\x4a\xd4\x62\xf7\x07\xf7\x21\xed\xc9\xe3\xc8\x63" -+"\xac\xfb\x01\xaa\x1e\x56\x9a\x05\x6b\x94\x78\x99\x9a\x1a\x9b\x9a\x9f\x98\x90\x92\x8a\x88\x93\x1e\x88\x96\x93\x8a\x97\x1b\xb7\xb8" -+"\x97\xa1\xb1\x1f\xc5\xac\xaa\xbe\xc7\x1a\x9b\x89\x95\x87\x9b\x1e\xce\x06\xfb\xff\xfc\x0f\x15\x97\x8a\xd7\x71\xa1\x81\x08\xa7\x7d" -+"\x98\x7a\x71\x1a\x5f\x5f\x72\x3f\x4a\x5d\xab\xb9\x9f\x94\x9b\xa0\x9f\x1e\x97\x97\xaa\x9d\x92\x8a\x08\xf7\x20\xf8\x49\x15\xa5\x9e" -+"\x73\x68\x69\x7f\x59\x7a\x67\x1f\x5d\x75\x72\x75\x6c\x1b\x70\x7c\xa0\xb1\xb3\x9c\xc8\xa0\xb1\x1f\xac\x9e\xa0\x9b\xa5\x1b\x0b\xc0" -+"\x0a\x6b\xfb\x0b\x45\xfb\x82\x1e\xf7\x0d\x06\xba\xf7\x26\x9c\xa8\x0a\x92\x1f\x7a\x99\x98\x83\x9c\x1b\xac\xa4\xaa\xb5\xb3\x75\xa5" -+"\x68\x58\x62\x59\xfb\x33\x3c\xba\x0a\x0b\xf7\x6c\x6f\x0a\x0b\xa4\x1d\xf7\xd7\x21\x1d\x5e\x06\x71\x7a\x9c\xa4\x92\x8c\x90\x8c\x92" -+"\x1f\x0b\xf9\x1e\xf9\x31\x15\x8b\x0a\xf7\xdf\xa5\x1d\x05\x0b\x15\xf7\x08\xbe\xd6\xe1\xdc\x1a\xc6\x69\xb2\x58\x62\x6d\x6c\x61\x70" -+"\x95\x7b\xa9\x77\x1e\xa2\x7c\x92\x81\x7d\x1a\x67\x64\x0b\x52\x0a\x72\x84\x8a\x86\x8a\x84\x1f\x3a\x1d\x82\x20\x1d\x0b\x15\xb1\x9e" -+"\x88\x82\x9b\x94\x0a\x0b\x32\x0a\xfb\xa3\x06\x85\x75\x05\xa1\x06\xa5\x8a\x9c\x7b\x71\x1a\x86\x8a\x84\x89\x85\x1e\x0b\x63\x1d\xf7" -+"\x17\xea\x05\x0b\x1e\x7f\x20\x1d\xf7\x93\x4f\x0a\x0b\x06\xc4\xf7\x68\x4a\x1d\xb2\x28\x1d\x0b\x20\x1d\x98\x06\xae\x86\xa2\x71\x9a" -+"\x57\x0b\x72\x85\x74\x05\x96\x06\xa0\x99\x7c\x75\x84\x8a\x0b\x7b\x7f\x65\x4b\x1d\x5e\x7a\x79\x3c\x0a\x0b\x06\x91\xa1\x6c\x89\x76" -+"\x9f\x75\xbe\x19\x0b\xa3\xb3\xb7\x9e\xaa\xb6\xa5\x1e\x0e\x50\x87\x50\x89\x69\x8a\x82\x0b\x20\x1d\xaa\x06\xa5\x9c\x7a\x0b\xf1\x1d" -+"\x9d\x9d\x0b\x06\x71\x8c\x7a\x9b\xa4\x1a\x0b\x85\x75\x05\xa1\x06\xa4\x8a\x0b\x1e\x6c\x70\x73\x6e\x53\x3a\x0b\x73\x49\x1b\x4b\x6b" -+"\xa8\xc8\x85\x1f\x60\x0b\xf8\x1c\xf8\x22\x15\xf7\x6c\xf7\x5a\xb6\xb2\x93\x8e\xb6\x91\x19\xa4\xfb\x67\x72\x07\xbd\x85\x91\x88\x79" -+"\x1a\x78\x77\x71\x52\x56\x1e\x3f\x44\x74\x77\x29\x37\xc9\xf7\x78\x18\x9a\xbf\x9f\x9b\xc6\x8f\x08\xa4\xfb\xca\x72\x07\xae\x85\xa0" -+"\x86\x91\x87\x5c\x1d\x78\x84\x70\x1e\xfb\x0e\xfc\x55\x7b\x56\x7c\x7e\x5a\x85\x19\x72\xf7\xb5\xa4\x07\x57\x8f\x7d\x94\xac\x1a\x91" -+"\x8c\x91\x8c\x90\x1e\xcd\xf7\x8d\xf7\x06\xfb\x86\x05\x95\x76\x8e\x80\x80\x1a\x7d\x7f\x83\x71\x89\x1e\x87\x8a\x80\x8a\x7f\x8a\x08" -+"\x72\xf7\xac\xa4\x07\x65\x8f\x7d\x92\x80\xa3\x08\x0b\xf8\x3f\xf7\x17\x15\xa3\x0a\xf7\x03\xf8\x29\x4f\x7d\x5b\x84\x26\x83\x19\x70" -+"\xa0\x07\xa5\x9a\x81\x79\x82\x86\x75\x73\x34\x1f\x79\x47\x91\x1d\xfb\x46\xf7\xc5\x93\x1d\x0b\x7e\x1b\x83\x82\x94\x92\x8d\x8c\x8f" -+"\x8d\x91\xd1\x1d\x9e\x1a\xba\x6e\xa7\x5c\x67\x6e\x7f\x6d\x67\x56\x0a\xf6\xf8\x34\x18\x3d\x7c\x59\x83\x3b\x84\x08\x70\x07\x8c\x93" -+"\x94\x8b\x90\x1b\xa7\x64\x1d\xfb\x2e\xfc\xcb\x50\x1d\x0e\xf7\xac\xf8\x5e\x15\xfb\x4b\x4c\x0a\x85\x88\x81\x1f\x30\xfb\xf2\x05\xf7" -+"\x09\x06\xc3\xf7\x6b\x05\x94\x06\xa1\x8a\x96\x79\x90\x5a\x91\x50\x8d\x7d\x95\x73\xcb\x1d\x5f\x74\x79\x78\x77\x1b\x7b\x83\x98\xa9" -+"\x86\x1f\x7e\xec\x79\xa4\x50\x8e\xb7\x95\x9c\x9e\xaf\xd9\x08\xa6\x97\x95\x96\x97\x1b\x92\x8f\x88\x82\x8f\x1f\x78\x94\x93\x85\x9c" -+"\x1b\xa8\x9e\xa2\xae\xaf\x76\xa0\x65\x5f\x7c\x7b\xfb\x00\x53\x1f\x4c\x6c\x6b\x73\x57\x1b\x0b\xf7\x10\xf8\x09\x15\x25\x06\x7f\x5f" -+"\x05\xf1\x06\x4c\xfb\x7c\x87\x0a\x72\x06\xe4\x1d\xf1\xfb\x3e\x15\xc8\xf7\x77\x05\x7c\x0a\xc2\xf7\x5f\x05\xf7\x0e\x06\x97\xb7\x05" -+"\x0e\x63\x0a\x53\x85\x72\xb7\x1d\x0b\xf8\x3c\xf8\xc4\x15\x66\x06\x50\x23\x05\x90\x79\x81\x8c\x7d\x1b\xfb\x2a\xfb\x1f\xfb\x32\xfb" -+"\x3e\x52\xa3\x63\xc0\x6d\x1f\x43\xfb\x12\x05\xb3\x06\xcb\xf7\x06\x05\x85\x9f\x98\x89\x9d\x1b\xf7\x28\xf7\x1c\xf7\x2f\xf7\x3d\xcb" -+"\x72\xb4\x52\xa7\x1f\xfb\x87\xfc\x02\x15\x93\x07\xd5\xb0\xf7\x20\xaf\xcc\x1e\xb8\xa4\xa8\xa2\xab\x1b\x98\x94\x87\x81\x95\x1f\x99" -+"\x61\x15\x8c\x89\x8b\x8a\x89\x1a\x4f\x70\xfb\x0a\x6e\x46\x1e\x3f\x6c\x6c\x6a\x64\x1b\x7b\x80\x90\x98\x81\x1f\x0b\x15\x60\x6b\x74" -+"\x76\x72\x6e\x08\x57\x4f\x6e\x3f\x3f\x1a\x26\xbd\x4b\xd9\xba\xb1\xa1\xc1\xbb\x1e\x50\xa7\xa0\x7a\xb5\x1b\xf2\xea\xf7\x35\xf7\x41" -+"\xda\x6e\xbb\x5c\x6c\x73\x72\x6b\x79\x92\x77\x96\x7e\x1f\xad\x65\x8b\x8b\x90\x83\x08\x98\x78\x91\x75\x74\x1a\x2b\x3d\xfb\x05\x4a" -+"\x70\x78\x9f\xbc\x78\x1e\xc6\xdc\xa2\xc0\xc2\x1a\xb4\x78\xa6\x6e\x5b\x68\x50\x39\x6c\x8d\x73\x93\x59\x1e\x59\x63\x70\x76\x72\x1b" -+"\x71\x78\xb0\xbd\xe5\xb9\xf7\x21\xc3\xe0\x1f\x0e\xf8\x20\xf7\xe4\x15\x4c\xf7\x71\x05\x89\x95\x89\x95\x94\xb8\x1d\x77\x41\xa0\x1f" -+"\xce\xfb\x91\x55\xfb\x61\x2f\x1d\x6b\x20\x1d\xf7\xc6\x21\x1d\x68\x06\x71\x7a\x9c\xa5\x92\x8c\x90\x8c\x91\x1f\xc2\xf7\x60\xf7\x68" -+"\xf7\xad\xac\xb5\xa5\xa2\xa2\x92\x19\x22\x1d\xfb\x52\x20\x1d\x9d\x06\xa6\xa2\x78\x74\x7b\x84\x78\x7e\x7a\x1f\x0b\xf7\xe6\xf7\x2d" -+"\x15\x46\x67\x5f\x69\x55\x1b\x5e\x6c\xad\xbd\xaa\x95\xa5\xa3\xae\x1f\x75\xad\x9d\x85\xa6\x1b\xb0\xa7\x9e\xa4\xa0\x75\x9b\x6e\x7b" -+"\x79\x87\x7f\x5c\x1f\x8a\x94\x8b\x93\x8f\x1a\xd3\xb5\xca\xbb\x99\x95\x81\x7d\x8a\x8b\x89\x8a\x8a\x1e\x88\x7d\x8b\x8b\x88\x1a\x72" -+"\xa6\x73\xa9\xa8\xa1\xa1\xa9\xba\x5d\xa8\x42\xfb\x02\x3b\x59\x46\x69\x9a\x72\xaf\x71\x1e\x3a\x6e\x65\x5f\x4d\x1a\x43\xc8\x59\xe1" -+"\xe8\xc7\xb9\xf3\xb7\x1e\x0b\xce\xf7\xb2\x15\xc5\xa7\xa2\xaa\x9c\x1b\x94\x90\x84\x7e\x81\x88\x7c\x83\x6d\x1f\x3a\xfb\xc0\x05\xf7" -+"\x0a\x06\xba\xf7\x4a\x93\xa9\xac\xcd\xab\xbd\x19\xa3\x9a\x9b\x98\x97\x1b\x95\x91\x84\x7f\x80\x89\x7e\x84\x70\x1f\xfb\x0e\xfc\x6d" -+"\x05\xf7\x08\x06\xf7\x14\xf8\x86\x05\x91\xa0\x8e\xa1\x9c\x1a\xb7\x71\xa8\x65\x6d\x6f\x7b\x66\x6a\x1e\x70\x6d\x7a\x6f\x6c\x4c\x08" -+"\xa3\xef\x8b\x8b\x9b\x1a\xac\x72\xa4\x68\x50\x53\x54\x25\x5e\x1e\x0b\x15\x55\x68\x77\x77\x7a\x1b\x83\x85\x92\x95\x97\x96\xbb\x99" -+"\xb8\x1f\xd9\xf7\xa0\x05\xfb\x0a\x06\x6b\x0a\x0b\xf7\xbd\xf7\xd5\x15\xf7\x7a\x06\x4d\xfb\x7d\x79\x0a\x22\x1d\xfb\xa8\x20\x1d\xa5" -+"\x06\xa6\x9b\x7a\x71\x83\x8b\x87\x89\x85\x1f\x51\xfb\x6d\x05\xfb\x7a\x4a\x0a\x0b\xe9\xf9\x18\x15\xe4\x1d\xfb\x0d\xfc\x52\x87\x0a" -+"\x06\xf7\x74\x46\x15\x7c\x0a\x0b\xf7\x12\x15\x5e\x76\x79\x71\x7f\x1b\x87\x88\x8f\x90\x90\x8c\x91\x90\x9c\x1f\xe7\xf7\xf4\x05\x82" -+"\x1d\x0b\x51\x9f\x55\xaf\x61\x1f\x9c\x78\x98\x81\xaa\x79\x3c\xfb\x1c\x18\xbb\x06\xd1\xf7\x0c\x05\x81\xaa\xa0\x88\xaa\x1b\xd7\xd6" -+"\xa5\xbc\xce\x1f\xf7\x10\xe7\xde\xf7\x32\xf7\x26\x1a\xbe\x7a\xc0\x6d\xb1\x1e\x78\xa4\x7b\x99\x64\xa1\x08\xfc\x18\xfc\xd7\x15\x84" -+"\x9f\x87\xa1\xa1\x1a\xf1\xbc\xf7\x43\xc5\xf2\x1e\xe2\xbc\xc2\xb6\xc8\x1b\xa4\x9e\x85\x7c\x9e\x1f\xa6\x66\x15\x94\x0b\x90\xa1\x05" -+"\xfb\xa2\xb7\x0a\x87\x8a\x83\x89\x85\x1e\x4c\xfb\x81\x05\x76\x5a\x6a\x83\x63\x1b\x5a\x70\x9f\xaf\x9b\x8e\x9b\x97\xb6\x1f\xad\xf7" -+"\x16\x97\xb8\x9d\x47\x0a\x63\xfb\x2d\x05\x84\x71\x88\x7b\x7b\x1a\x46\x0b\xf8\x36\xf7\x4c\x15\x4f\xf8\x72\x05\xfb\x6c\x06\x86\x75" -+"\xbf\x85\x96\x87\x9b\x76\x19\xfb\x16\xfc\x7e\xa7\x1d\xf7\x0d\xf8\x5e\xd4\xfc\xd0\x05\x9c\x06\xf8\x18\xf8\xd0\xfb\x15\xfc\x78\x7f" -+"\x5f\x78\x78\x68\x88\x19\x74\x20\x1d\x0b\xf9\x31\x15\xfb\xbd\x72\x06\xae\x85\xa0\x86\x91\x87\x08\x91\x88\x90\x81\x82\x1a\x7f\x87" -+"\x74\x84\x71\x1e\xfb\x06\xfc\x44\x05\xfb\x29\x64\x7c\x6f\x67\x1b\x78\x83\x91\x97\x92\x8d\x90\x93\x94\x1f\x96\x98\x8d\x91\x99\x1a" -+"\xaf\x6f\xa6\x68\x67\x6f\x6d\x63\x50\xcb\x61\xe3\xf7\x00\xcd\xc8\xf7\x17\xae\x1e\xf7\x14\xf8\x73\x9c\x0b\x53\xfb\x56\x6f\x4a\x51" -+"\x43\x08\x65\x6c\x75\x7a\x77\x1b\x7d\x84\x93\x9c\x9a\x8c\x91\x99\xb8\x1f\xe9\xf7\xc8\x05\x86\x81\x89\x88\x7e\x1f\x4d\x80\x40\x81" -+"\x5f\x89\x08\x70\x07\xb9\x88\x95\x86\x77\x1a\x7b\x86\x6f\x82\x6e\x1e\x63\xfb\x19\x05\x7d\x59\x84\x6a\x72\x1a\x5a\xa4\x72\xbd\xce" -+"\xa9\xa5\xf7\x24\xf2\x1e\x79\x0b\xf7\xd9\x16\xb5\x1d\xb9\x06\xeb\x8c\xbc\x63\x96\x35\x08\x9f\x06\xb7\xf7\x37\x05\xfc\x68\x06\x82" -+"\x0a\x0b\xf7\xcd\xf8\x59\x15\xfb\x1b\xfb\x14\xfb\x2a\xfb\x33\x30\xc0\x4e\xdc\xb1\xaf\x98\xa6\xb4\x1f\xe2\xc6\xc2\xf1\xf5\x1a\xe5" -+"\x56\xcb\x40\x1e\x79\x69\x15\xa5\x9b\x76\x68\x4c\x6d\xfb\x14\x69\x3b\x1f\x5d\x77\x73\x74\x6d\x1b\x70\x78\xa7\xb3\xb9\xa7\xf7\x0f" -+"\xa8\xd7\x1f\xc0\x9e\xaa\xa9\xae\x1b\x0b\x7f\x6f\x6c\x85\x6c\x1b\x2d\x53\xcc\xf7\x01\xf7\x25\xd3\xf7\x42\xe6\xd7\x1f\xaa\xb0\xb2" -+"\x9a\xb4\x1b\xdc\xbd\x4f\x29\x7e\x8a\x83\x89\x7d\x1f\xab\x85\xbe\xf7\x7e\x05\x6d\x06\x75\x7e\x81\x84\x7c\x1b\x83\x7c\x8e\x90\x7c" -+"\x1f\x99\x5e\x5e\x92\x62\x1b\xfb\x73\xfb\x4d\xfb\x5d\xfb\x87\x0b\xe0\x1d\x99\x92\xab\x9a\xc1\xae\x0a\x95\x8e\x8b\x93\x1b\xa6\x9a" -+"\x81\x79\x7d\x7d\x50\x78\x46\x1f\x40\xfb\x9c\x05\x76\x3f\x7e\x51\x73\x1a\x67\xa6\x73\xb4\xc8\xb1\xaa\xf4\xd0\x1e\x0b\x59\x1d\x50" -+"\x7e\x4d\x7f\x0a\x0b\x85\x75\x05\xa7\x06\xa5\x9c\x7a\x71\x85\x8a\x85\x8a\x85\x1f\x3a\x1d\x7c\x20\x1d\xf7\xd6\x06\x0b\xb0\x1d\x7b" -+"\x70\x1a\x85\x95\x1d\x0b\x15\x50\x63\x77\x76\x79\x1b\x83\x84\x92\x93\x99\x93\xad\x99\xbf\x1f\xbe\xf7\x4b\xe1\xba\x9e\xcf\x35\x5c" -+"\xd6\xf7\xa4\xc6\x0a\x94\x8f\x8b\x91\x1b\xa8\x9a\x81\x79\x7a\x7c\x51\x5e\xfb\x35\x1f\x3d\x60\x78\x45\xd8\xb6\x05\x5a\x0b\xf7\x70" -+"\x15\x9e\xa0\x94\x95\x9c\x9d\x08\xd1\xd3\xaa\xb4\xa0\x1a\x91\x85\x91\x84\x83\x7d\x82\x78\x78\x1e\x7e\x7f\x81\x83\x73\x7a\xfb\x3e" -+"\xfb\x10\x18\x82\x07\xe0\x35\xc6\x4d\xa3\x70\x08\x83\x92\x8e\x89\x90\x1b\x94\x91\x92\x93\x9a\x81\xa6\x74\xbb\x1f\x0b\x8e\x1d\xf7" -+"\x01\x1d\xf7\x2c\xe2\x05\xaa\x9d\x93\x95\x2d\x1d\x0e\x1a\x5c\xb8\x69\xc8\xbe\xba\xa8\xb9\xa4\x68\x1d\x81\x88\x7b\x1b\x0b\xf7\xd1" -+"\xf7\x22\x15\x46\x5d\x6e\x75\x60\x1b\x61\x75\xa7\xc1\x9b\x8d\x98\x8f\x9f\x1f\xf3\x9f\xbc\xa1\xbd\xb9\x08\xae\xab\x9e\xb0\xaf\x1a" -+"\xbe\x5f\xaf\x4e\xfb\x25\xfb\x23\xfb\x37\xfb\x39\x36\xcb\x4d\x0b\x34\x0a\x67\x20\x1d\xf7\xbe\x21\x1d\x72\x06\x70\x8c\x7b\x9b\xa5" -+"\x1a\x90\x8c\x92\x8d\x91\x1e\xf7\x16\xf8\x7f\x98\xb8\x9c\x9d\xae\x8e\x19\x97\x06\x0b\x15\x6c\x7c\x7e\x80\x6d\x1d\x6b\x93\xb1\x1d" -+"\x0b\x54\x1d\x56\x82\x85\x8a\x89\x81\x1f\x0e\xa6\x92\x9b\x96\xaa\x1b\xf7\x04\xc1\x50\xfb\x0d\xfb\x07\x69\xfb\x0b\x55\x3e\x1f\x3e" -+"\x56\x44\x67\x2c\x1b\x65\x7b\x95\xa3\x97\x8e\x9a\x94\xa6\x1f\x8d\x8c\x8d\x8b\x1e\x0b\x6e\x06\x78\x80\x88\x89\x7c\x1b\x81\x83\x8d" -+"\x92\x79\x1f\x95\x72\x7f\x8e\x76\x1b\x3a\x56\x5a\x3e\x55\x99\x6f\xcd\x3c\x1f\xb1\x5e\x9d\x69\x72\x1a\x6d\x72\x73\x6b\x74\x0b\x15" -+"\xa5\x9b\x75\x69\x4c\x6b\xfb\x19\x6a\x3d\x1f\x5c\x76\x73\xdb\x1d\xc0\x9e\xab\xaa\xae\x1b\x0e\x82\x3a\x97\x1d\x0b\xf9\x41\x15\xfb" -+"\x08\x58\x40\x36\x39\x1a\x50\xad\x64\xbe\xb4\xa9\xaa\xb5\xa6\x81\x9b\x6c\x9f\x1e\x75\x9a\x84\x95\x9a\x1a\xae\xb2\xb2\xda\xb5\x1e" -+"\x0b\x05\x27\x71\x7a\x6c\x6e\xee\x1d\x93\x96\x8d\x92\x95\x1a\xa6\x75\xa1\x70\x70\x75\x73\x6e\x5d\xb5\x6c\x0b\x86\x75\x05\xa0\x06" -+"\xa5\x8a\x9c\x7a\x71\x1a\x84\x4d\x1d\xfc\x7f\x7f\x5e\x7a\x79\x68\x88\x19\x83\x20\x1d\x0b\xf8\x22\x15\xdd\xf7\x4e\x8c\x8c\x8d\x90" -+"\x8e\x93\x19\x95\xa1\x8c\x8e\x98\x1a\xa6\x77\xa1\x72\x64\x66\x68\x65\x88\x1e\x7b\xfb\x6a\x05\x0b\xf7\x05\xf7\x5c\xc7\xf2\xa1\xa2" -+"\xaf\x89\x19\x91\x9f\x05\xfb\x26\x06\x85\x77\x05\x97\x06\x9b\x95\x83\x7d\x7c\x86\x80\x6b\x53\x1f\x0b\x05\x7c\x57\x82\x60\x79\x1a" -+"\x64\xa7\x71\xb5\xc7\xb3\xac\xf2\xcd\x1e\x75\x99\x05\x56\x69\x71\x70\x7b\x1b\x83\x83\x92\x93\x0b\xf8\xe2\xf7\x56\x15\x73\x90\x69" -+"\x53\x75\x72\x64\x6f\x19\x65\x55\x44\x77\x39\x1b\x5e\x78\x94\xa0\x93\x8d\x98\x8e\x96\x1f\x0b\x7c\x58\x7a\x7c\x5b\x85\x19\x72\xf7" -+"\xb2\x07\xf7\x94\xf7\x51\xf7\x3d\xf7\x77\xf7\x3f\xfb\x04\xf1\xfb\x51\x1f\xfb\xb6\x0b\x8a\xba\x05\xaf\x9a\x9f\xa5\x1e\x95\x06\x90" -+"\x9f\x05\xfb\x76\x06\x86\x77\x05\xa6\x9b\x62\x37\x91\x1f\x95\xfb\x68\x0b\x15\xa9\x06\xa8\x97\x92\x91\x9e\x1b\x95\x98\x88\x83\xa2" -+"\x1f\x7a\xbc\xad\x84\xb3\x1b\xf7\x20\xe4\xda\xf7\x0f\xe3\x0b\xb1\xf7\x17\x91\x94\xc5\x98\x19\xa4\xfb\x65\x72\x07\xc6\x86\xa0\x7b" -+"\x65\x1a\x78\x84\x69\x80\x62\x1e\x3b\xfb\xb3\x0b\xfc\xbb\x06\x65\xfb\x3f\xa4\x84\xbe\xef\xcb\xb5\xf1\x8c\x19\xfb\x28\xfc\xad\x05" -+"\x58\x7d\x71\x76\x58\x1b\x7d\x72\x0b\x15\x90\x0a\x15\xdd\x1d\x72\x78\x4d\x0a\xa2\x0a\x7b\xa1\x7c\x1f\xf7\x19\x32\x05\x0e\xd7\x1d" -+"\x77\x73\x3d\x0a\xf7\x18\x33\x05\x0e\x65\x1d\x4d\x0a\x1a\x24\xbd\x4a\xdb\xcd\xbd\xac\xda\xc3\x1e\x8d\x4a\x8b\x8b\x8d\x7f\x08\x74" -+"\x90\x93\x7f\x97\x1b\xae\xb4\x0b\xb1\x1d\x81\x0b\x7a\x7f\x65\x68\x1e\xfb\x0e\xfb\x17\x05\x0b\x1f\xaa\x7c\xa0\x64\x61\x1a\x60\x7c" -+"\x58\x74\x6b\x1e\x61\x6f\x61\x76\x57\x1b\x7d\x81\x8c\x8f\x78\x1f\x0b\x73\x53\x63\x1e\x99\x7e\x05\xab\xa7\x9e\x95\xa7\x1b\xad\xa0" -+"\x77\x6b\x60\x64\x70\x39\x7c\x1f\x0e\x06\x55\x0a\x9c\x7b\x73\x1a\x82\x8b\x87\x89\x84\x1e\xfb\x21\xfc\x7f\x7d\x5e\x0b\xf7\xba\xf7" -+"\xc3\x15\x87\xaf\x9b\x8a\xa2\x1b\xf7\x25\xf7\x00\xe2\xf7\x08\xec\x3b\xcb\xfb\x0e\x1f\x0b\xd8\xd4\x1a\xc0\x6c\x60\x1d\x0b\xf7\x9c" -+"\x16\xf8\xa3\x06\xc6\xf7\x58\x71\x8e\x61\x48\x72\x6f\x66\x71\x19\x6d\x60\x4c\x7b\x44\x1b\x0b\x6d\x73\x73\x6c\x6b\xa4\x71\xa9\xa8" -+"\xa3\xa4\xaa\x0b\xec\x1d\x90\x8c\x92\x8d\x92\x1e\xf7\x16\xf8\x7f\x0b\xab\x86\x99\x89\x95\x88\x92\x87\x19\x91\x87\x8f\x82\x81\x1a" -+"\x7f\x86\x6c\x86\x79\x1e\x0b\xca\xc4\xd6\xb8\x72\xbc\x53\xcc\x1f\x65\xb8\x79\xa9\xa2\x1a\xab\xa0\xa0\xab\xb9\x0b\x16\xa4\x0a\x0e" -+"\x9d\x1a\xa6\xdf\x1d\x89\x9e\x56\x0b\x49\x15\x62\x6a\x6a\x63\x62\xac\x6a\xb4\xb3\xac\xac\xb3\xb4\x6a\xac\x63\x1f\x0b\x15\xc7\x1d" -+"\x0b\x15\xfb\x03\xf7\x27\x05\xa1\x7a\x77\x97\x78\x1b\x73\x76\x76\x73\x7b\x97\x0b\x5e\x6f\x73\x70\x7c\x1b\x85\x86\x91\x91\x94\xa1" -+"\xe2\xae\xf7\x13\x1f\x0b\xf5\x1d\xa6\xad\xae\x6f\xa8\x6b\x1f\x0b\xf2\x1d\xc8\xf7\x6d\x05\x94\x06\x0b\x15\x2b\x1d\x9f\x1a\xa4\x75" -+"\xa0\x71\x79\x0b\x22\xfb\x1c\x1a\x2b\xb2\x46\xd8\x62\x1e\xb0\x77\xa6\x85\xc8\x86\x0b\xc2\x92\x9d\x9c\xae\x19\xc7\xa8\xaf\xba\x9c" -+"\x1b\x8f\x91\x87\x82\x0b\xfa\x65\xf7\xa1\x15\xfe\x7c\x06\x7a\x30\x05\xfa\x7c\x06\x0e\x97\xb8\x9d\x9d\xae\x8e\x19\x97\x06\x0b\x4d" -+"\xba\x7c\xa1\xb8\x1a\xcc\xb3\xb3\x0b\x83\x20\x1d\xf7\xa8\x21\x1d\x6e\x06\x71\x8c\x0b\x92\x95\x1a\xa6\x75\xa1\x70\x70\x75\x73\x6e" -+"\x5d\xb5\x6c\xca\x0b\x1f\xf7\x25\xf8\x9f\xc6\x0a\x0b\xf7\xd9\xf7\x9b\x15\xc3\xfb\x34\x05\x8e\x80\x8d\x81\x80\x1a\x0b\xc7\x0a\xb3" -+"\x6a\xad\x63\x1f\x0b\x05\xae\x95\x97\x94\xb4\x1b\xd4\xbe\x7b\x6c\xa6\x1f\x9f\x0b\xbc\x0a\x6e\xa8\x0b\x75\x1a\xfb\x08\x4c\xfb\x5f" -+"\x49\x2c\x1e\x49\x5d\x5e\x6c\x0b\x70\x1a\x64\xa4\x74\xb6\xc8\xb1\xaa\xf4\xd0\x1e\x0e\x43\xf0\x1d\x0b\x54\x0a\x91\x8c\x91\x8d\x92" -+"\x1e\x0b\x20\x1d\xa1\x06\xa6\x8a\x9b\x7b\x71\x1a\x0b\x15\xfb\x07\x5d\x73\x67\x6d\x1b\x76\x7f\xaa\xc0\x0b\x9a\x98\x94\x9d\x9d\x19" -+"\xa3\xa4\x98\xa6\xa4\x1a\x0b\x1f\xcd\xf7\x65\x4c\x7c\x7f\x89\xfb\x11\x80\x19\x0b\xab\x1e\xcc\xa8\xa1\xa2\xb5\x1a\xbe\x5f\xaf\x4b" -+"\x0b\x6f\x70\x68\x68\xa8\x6e\xae\xad\xa6\xa6\xae\xae\x0b\x75\x05\xf7\xa6\x21\x1d\x75\x06\x71\x8c\x0b\x06\xe1\xf7\x66\x05\x3e\x06" -+"\x34\xfb\x66\x05\x0b\x8a\xc5\x0a\x0b\xa6\xf8\x2b\x15\xb8\x89\x94\x87\x78\x1a\x72\x0b\xe9\xf8\x15\x18\xf7\x2a\x06\x46\xfb\xa1\x05" -+"\x0b\x73\x4a\x1b\x4b\x6a\xa8\xc8\x86\x1f\x60\x06\x0b\x7e\x5e\x79\x79\x68\x88\x19\x0b\x92\x87\x08\x91\x87\x8f\x82\x0b\x85\x1e\xfb" -+"\x17\xfc\x7f\x7f\x5e\x79\x79\x0b\x33\x7a\x5c\x84\x41\x85\x19\x70\x07\x8c\x0b\x6b\x61\x61\xaa\x6b\xb5\xb5\xac\xab\xb5\x0b", 55486 -+}; -diff -up texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/fonts/NimbusRoman-Italic.cff.cpp.301 texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/fonts/NimbusRoman-Italic.cff.cpp ---- texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/fonts/NimbusRoman-Italic.cff.cpp.301 2023-01-17 15:53:51.710205381 -0500 -+++ texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/fonts/NimbusRoman-Italic.cff.cpp 2023-01-17 15:53:51.710205381 -0500 -@@ -0,0 +1,1757 @@ -+#include "Base14Fonts.hpp" -+ -+extern const MemoryFontData NimbusRoman_Italic_cff = { -+"\x01\x00\x04\x02\x00\x01\x01\x01\x13\x4e\x69\x6d\x62\x75\x73\x52\x6f\x6d\x61\x6e\x2d\x49\x74\x61\x6c\x69\x63\x00\x01\x01\x01\x35" -+"\xf9\xbc\x00\xf9\xbd\x01\xf9\xbe\x0c\x00\xf9\xbf\x02\xf9\xc0\x03\xf8\x18\x04\x1e\xe1\x5a\x5f\x0c\x02\x22\x0c\x03\xfb\x3d\xfb\xa2" -+"\xfa\xd1\xfa\x4b\x05\x1c\x2a\xcd\x0f\x1c\x2a\xe0\x11\xae\x1d\x00\x00\xc6\xbf\x12\x01\xa6\x02\x00\x01\x00\x08\x00\x0e\x00\x13\x00" -+"\x1d\x00\x24\x00\x2b\x00\x35\x00\x39\x00\x3f\x00\x45\x00\x50\x00\x5a\x00\x5d\x00\x63\x00\x69\x00\x6e\x00\x74\x00\x7a\x00\x84\x00" -+"\x8b\x00\x8e\x00\x95\x00\x9c\x00\xa8\x00\xab\x00\xb3\x00\xb7\x00\xbc\x00\xc2\x00\xcd\x00\xd9\x00\xe3\x00\xe7\x00\xf2\x00\xf4\x00" -+"\xfa\x01\x04\x01\x0b\x01\x12\x01\x16\x01\x22\x01\x2b\x01\x31\x01\x3c\x01\x41\x01\x4d\x01\x53\x01\x59\x01\x5f\x01\x6b\x01\x6f\x01" -+"\x71\x01\x77\x01\x7d\x01\x89\x01\x8b\x01\x91\x01\x9e\x01\xa5\x01\xaf\x01\xb6\x01\xc2\x01\xcd\x01\xd0\x01\xd2\x01\xd5\x01\xdb\x01" -+"\xe1\x01\xed\x01\xf0\x01\xf6\x01\xfe\x02\x09\x02\x15\x02\x1a\x02\x1d\x02\x21\x02\x27\x02\x33\x02\x38\x02\x3e\x02\x4b\x02\x52\x02" -+"\x59\x02\x60\x02\x6f\x02\x7b\x02\x80\x02\x86\x02\x8c\x02\x97\x02\xa0\x02\xa6\x02\xa8\x02\xb3\x02\xb9\x02\xbf\x02\xc9\x02\xcd\x02" -+"\xd3\x02\xda\x02\xe3\x02\xec\x02\xf5\x02\xfe\x03\x07\x03\x10\x03\x19\x03\x22\x03\x2b\x03\x34\x03\x3d\x03\x46\x03\x4f\x03\x58\x03" -+"\x61\x03\x6a\x03\x73\x03\x7c\x03\x85\x03\x8e\x03\x97\x03\xa0\x03\xa9\x03\xb2\x03\xbb\x03\xc4\x03\xcd\x03\xd6\x03\xdf\x03\xe8\x03" -+"\xf1\x03\xfa\x04\x03\x04\x0c\x04\x15\x04\x1e\x04\x27\x04\x30\x04\x39\x04\x42\x04\x4b\x04\x54\x04\x5d\x04\x66\x04\x6f\x04\x78\x04" -+"\x81\x04\x8a\x04\x93\x04\x9c\x04\xa5\x04\xae\x04\xb7\x04\xc0\x04\xc9\x04\xd2\x04\xdb\x04\xe4\x04\xed\x04\xf6\x04\xff\x05\x08\x05" -+"\x11\x05\x1a\x05\x23\x05\x2c\x05\x35\x05\x3e\x05\x47\x05\x50\x05\x59\x05\x62\x05\x6b\x05\x74\x05\x7d\x05\x86\x05\x8f\x05\x98\x05" -+"\xa1\x05\xaa\x05\xb3\x05\xbc\x05\xc5\x05\xce\x05\xd7\x05\xe0\x05\xe9\x05\xf2\x05\xfb\x06\x04\x06\x0d\x06\x16\x06\x1f\x06\x28\x06" -+"\x31\x06\x3a\x06\x43\x06\x4c\x06\x55\x06\x5a\x06\x64\x06\x6b\x06\x74\x06\x7e\x06\x85\x06\x90\x06\x9a\x06\xa3\x06\xac\x06\xb5\x06" -+"\xbf\x06\xc6\x06\xcf\x06\xdb\x06\xdf\x06\xe5\x06\xeb\x06\xf6\x07\x00\x07\x03\x07\x11\x07\x15\x07\x1b\x07\x21\x07\x26\x07\x2d\x07" -+"\x3a\x07\x40\x07\x46\x07\x50\x07\x57\x07\x5e\x07\x61\x07\x68\x07\x6f\x07\x7b\x07\x86\x07\x8f\x07\x92\x07\x9a\x07\xa3\x07\xae\x07" -+"\xb4\x07\xb9\x07\xbe\x07\xc4\x07\xcf\x07\xdb\x07\xe5\x07\xf1\x07\xf5\x08\x00\x08\x05\x08\x0a\x08\x10\x08\x12\x08\x19\x08\x21\x08" -+"\x29\x08\x33\x08\x3d\x08\x49\x08\x55\x08\x5c\x08\x60\x08\x6c\x08\x7d\x08\x86\x08\x8c\x08\x97\x08\x9c\x08\xa8\x08\xb4\x08\xba\x08" -+"\xc0\x08\xc6\x08\xd2\x08\xd6\x08\xdf\x08\xe3\x08\xe8\x08\xec\x08\xf2\x08\xfd\x09\x0b\x09\x11\x09\x1c\x09\x22\x09\x2e\x09\x38\x09" -+"\x40\x09\x42\x09\x48\x09\x55\x09\x5c\x09\x61\x09\x6b\x09\x72\x09\x7e\x09\x88\x09\x93\x09\x9e\x09\xa4\x09\xa7\x09\xa9\x09\xb0\x09" -+"\xbc\x09\xca\x09\xcd\x09\xda\x09\xe0\x09\xe7\x09\xed\x09\xf9\x0a\x06\x0a\x09\x0a\x0f\x0a\x17\x0a\x22\x0a\x2e\x0a\x34\x0a\x39\x0a" -+"\x42\x0a\x47\x0a\x50\x0a\x53\x0a\x56\x0a\x5a\x0a\x60\x0a\x6c\x0a\x71\x0a\x76\x0a\x7c\x0a\x89\x0a\x90\x0a\x9d\x0a\xa4\x0a\xab\x0a" -+"\xb2\x0a\xb9\x0a\xc0\x0a\xc7\x0a\xce\x0a\xd5\x0a\xdc\x0a\xe3\x0a\xea\x0a\xf1\x0a\xf8\x0a\xff\x0b\x06\x0b\x0d\x0b\x14\x0b\x1b\x0b" -+"\x22\x0b\x29\x0b\x30\x0b\x37\x0b\x3e\x0b\x45\x0b\x4c\x0b\x53\x0b\x5a\x0b\x61\x0b\x68\x0b\x6f\x0b\x76\x0b\x7d\x0b\x84\x0b\x8b\x0b" -+"\x92\x0b\x99\x0b\xa0\x0b\xa7\x0b\xae\x0b\xb5\x0b\xbc\x0b\xc3\x0b\xca\x0b\xd1\x0b\xd8\x0b\xdf\x0b\xe6\x0b\xed\x0b\xf4\x0b\xfb\x0c" -+"\x02\x0c\x09\x0c\x10\x0c\x17\x0c\x1e\x0c\x25\x0c\x2c\x0c\x33\x0c\x3a\x0c\x41\x0c\x48\x0c\x4d\x0c\x56\x0c\x5d\x0c\x64\x0c\x73\x0c" -+"\x87\x0c\x93\x0c\x98\x0c\x9e\x0c\xa4\x0c\xaf\x0c\xb8\x0c\xbe\x0c\xc0\x0c\xcb\x0c\xd1\x0c\xd7\x0c\xe1\x0c\xe5\x0c\xe9\x0d\x1f\x0d" -+"\x5f\x0d\x72\x0d\x7e\x41\x45\x61\x63\x75\x74\x65\x41\x62\x72\x65\x76\x65\x41\x6c\x70\x68\x61\x41\x6c\x70\x68\x61\x74\x6f\x6e\x6f" -+"\x73\x41\x6d\x61\x63\x72\x6f\x6e\x41\x6f\x67\x6f\x6e\x65\x6b\x41\x72\x69\x6e\x67\x61\x63\x75\x74\x65\x42\x65\x74\x61\x43\x61\x63" -+"\x75\x74\x65\x43\x63\x61\x72\x6f\x6e\x43\x63\x69\x72\x63\x75\x6d\x66\x6c\x65\x78\x43\x64\x6f\x74\x61\x63\x63\x65\x6e\x74\x43\x68" -+"\x69\x44\x63\x61\x72\x6f\x6e\x44\x63\x72\x6f\x61\x74\x44\x65\x6c\x74\x61\x45\x62\x72\x65\x76\x65\x45\x63\x61\x72\x6f\x6e\x45\x64" -+"\x6f\x74\x61\x63\x63\x65\x6e\x74\x45\x6d\x61\x63\x72\x6f\x6e\x45\x6e\x67\x45\x6f\x67\x6f\x6e\x65\x6b\x45\x70\x73\x69\x6c\x6f\x6e" -+"\x45\x70\x73\x69\x6c\x6f\x6e\x74\x6f\x6e\x6f\x73\x45\x74\x61\x45\x74\x61\x74\x6f\x6e\x6f\x73\x45\x75\x72\x6f\x47\x61\x6d\x6d\x61" -+"\x47\x62\x72\x65\x76\x65\x47\x63\x69\x72\x63\x75\x6d\x66\x6c\x65\x78\x47\x63\x6f\x6d\x6d\x61\x61\x63\x63\x65\x6e\x74\x47\x64\x6f" -+"\x74\x61\x63\x63\x65\x6e\x74\x48\x62\x61\x72\x48\x63\x69\x72\x63\x75\x6d\x66\x6c\x65\x78\x49\x4a\x49\x62\x72\x65\x76\x65\x49\x64" -+"\x6f\x74\x61\x63\x63\x65\x6e\x74\x49\x6d\x61\x63\x72\x6f\x6e\x49\x6f\x67\x6f\x6e\x65\x6b\x49\x6f\x74\x61\x49\x6f\x74\x61\x64\x69" -+"\x65\x72\x65\x73\x69\x73\x49\x6f\x74\x61\x74\x6f\x6e\x6f\x73\x49\x74\x69\x6c\x64\x65\x4a\x63\x69\x72\x63\x75\x6d\x66\x6c\x65\x78" -+"\x4b\x61\x70\x70\x61\x4b\x63\x6f\x6d\x6d\x61\x61\x63\x63\x65\x6e\x74\x4c\x61\x63\x75\x74\x65\x4c\x61\x6d\x62\x64\x61\x4c\x63\x61" -+"\x72\x6f\x6e\x4c\x63\x6f\x6d\x6d\x61\x61\x63\x63\x65\x6e\x74\x4c\x64\x6f\x74\x4d\x75\x4e\x61\x63\x75\x74\x65\x4e\x63\x61\x72\x6f" -+"\x6e\x4e\x63\x6f\x6d\x6d\x61\x61\x63\x63\x65\x6e\x74\x4e\x75\x4f\x62\x72\x65\x76\x65\x4f\x68\x75\x6e\x67\x61\x72\x75\x6d\x6c\x61" -+"\x75\x74\x4f\x6d\x61\x63\x72\x6f\x6e\x4f\x6d\x65\x67\x61\x74\x6f\x6e\x6f\x73\x4f\x6d\x69\x63\x72\x6f\x6e\x4f\x6d\x69\x63\x72\x6f" -+"\x6e\x74\x6f\x6e\x6f\x73\x4f\x73\x6c\x61\x73\x68\x61\x63\x75\x74\x65\x50\x68\x69\x50\x69\x50\x73\x69\x52\x61\x63\x75\x74\x65\x52" -+"\x63\x61\x72\x6f\x6e\x52\x63\x6f\x6d\x6d\x61\x61\x63\x63\x65\x6e\x74\x52\x68\x6f\x53\x61\x63\x75\x74\x65\x53\x63\x65\x64\x69\x6c" -+"\x6c\x61\x53\x63\x69\x72\x63\x75\x6d\x66\x6c\x65\x78\x53\x63\x6f\x6d\x6d\x61\x61\x63\x63\x65\x6e\x74\x53\x69\x67\x6d\x61\x54\x61" -+"\x75\x54\x62\x61\x72\x54\x63\x61\x72\x6f\x6e\x54\x63\x6f\x6d\x6d\x61\x61\x63\x63\x65\x6e\x74\x54\x68\x65\x74\x61\x55\x62\x72\x65" -+"\x76\x65\x55\x68\x75\x6e\x67\x61\x72\x75\x6d\x6c\x61\x75\x74\x55\x6d\x61\x63\x72\x6f\x6e\x55\x6f\x67\x6f\x6e\x65\x6b\x55\x70\x73" -+"\x69\x6c\x6f\x6e\x55\x70\x73\x69\x6c\x6f\x6e\x64\x69\x65\x72\x65\x73\x69\x73\x55\x70\x73\x69\x6c\x6f\x6e\x74\x6f\x6e\x6f\x73\x55" -+"\x72\x69\x6e\x67\x55\x74\x69\x6c\x64\x65\x57\x61\x63\x75\x74\x65\x57\x63\x69\x72\x63\x75\x6d\x66\x6c\x65\x78\x57\x64\x69\x65\x72" -+"\x65\x73\x69\x73\x57\x67\x72\x61\x76\x65\x58\x69\x59\x63\x69\x72\x63\x75\x6d\x66\x6c\x65\x78\x59\x67\x72\x61\x76\x65\x5a\x61\x63" -+"\x75\x74\x65\x5a\x64\x6f\x74\x61\x63\x63\x65\x6e\x74\x5a\x65\x74\x61\x61\x62\x72\x65\x76\x65\x61\x65\x61\x63\x75\x74\x65\x61\x66" -+"\x69\x69\x30\x30\x32\x30\x38\x61\x66\x69\x69\x31\x30\x30\x31\x37\x61\x66\x69\x69\x31\x30\x30\x31\x38\x61\x66\x69\x69\x31\x30\x30" -+"\x31\x39\x61\x66\x69\x69\x31\x30\x30\x32\x30\x61\x66\x69\x69\x31\x30\x30\x32\x31\x61\x66\x69\x69\x31\x30\x30\x32\x32\x61\x66\x69" -+"\x69\x31\x30\x30\x32\x33\x61\x66\x69\x69\x31\x30\x30\x32\x34\x61\x66\x69\x69\x31\x30\x30\x32\x35\x61\x66\x69\x69\x31\x30\x30\x32" -+"\x36\x61\x66\x69\x69\x31\x30\x30\x32\x37\x61\x66\x69\x69\x31\x30\x30\x32\x38\x61\x66\x69\x69\x31\x30\x30\x32\x39\x61\x66\x69\x69" -+"\x31\x30\x30\x33\x30\x61\x66\x69\x69\x31\x30\x30\x33\x31\x61\x66\x69\x69\x31\x30\x30\x33\x32\x61\x66\x69\x69\x31\x30\x30\x33\x33" -+"\x61\x66\x69\x69\x31\x30\x30\x33\x34\x61\x66\x69\x69\x31\x30\x30\x33\x35\x61\x66\x69\x69\x31\x30\x30\x33\x36\x61\x66\x69\x69\x31" -+"\x30\x30\x33\x37\x61\x66\x69\x69\x31\x30\x30\x33\x38\x61\x66\x69\x69\x31\x30\x30\x33\x39\x61\x66\x69\x69\x31\x30\x30\x34\x30\x61" -+"\x66\x69\x69\x31\x30\x30\x34\x31\x61\x66\x69\x69\x31\x30\x30\x34\x32\x61\x66\x69\x69\x31\x30\x30\x34\x33\x61\x66\x69\x69\x31\x30" -+"\x30\x34\x34\x61\x66\x69\x69\x31\x30\x30\x34\x35\x61\x66\x69\x69\x31\x30\x30\x34\x36\x61\x66\x69\x69\x31\x30\x30\x34\x37\x61\x66" -+"\x69\x69\x31\x30\x30\x34\x38\x61\x66\x69\x69\x31\x30\x30\x34\x39\x61\x66\x69\x69\x31\x30\x30\x35\x30\x61\x66\x69\x69\x31\x30\x30" -+"\x35\x31\x61\x66\x69\x69\x31\x30\x30\x35\x32\x61\x66\x69\x69\x31\x30\x30\x35\x33\x61\x66\x69\x69\x31\x30\x30\x35\x34\x61\x66\x69" -+"\x69\x31\x30\x30\x35\x35\x61\x66\x69\x69\x31\x30\x30\x35\x36\x61\x66\x69\x69\x31\x30\x30\x35\x37\x61\x66\x69\x69\x31\x30\x30\x35" -+"\x38\x61\x66\x69\x69\x31\x30\x30\x35\x39\x61\x66\x69\x69\x31\x30\x30\x36\x30\x61\x66\x69\x69\x31\x30\x30\x36\x31\x61\x66\x69\x69" -+"\x31\x30\x30\x36\x32\x61\x66\x69\x69\x31\x30\x30\x36\x35\x61\x66\x69\x69\x31\x30\x30\x36\x36\x61\x66\x69\x69\x31\x30\x30\x36\x37" -+"\x61\x66\x69\x69\x31\x30\x30\x36\x38\x61\x66\x69\x69\x31\x30\x30\x36\x39\x61\x66\x69\x69\x31\x30\x30\x37\x30\x61\x66\x69\x69\x31" -+"\x30\x30\x37\x31\x61\x66\x69\x69\x31\x30\x30\x37\x32\x61\x66\x69\x69\x31\x30\x30\x37\x33\x61\x66\x69\x69\x31\x30\x30\x37\x34\x61" -+"\x66\x69\x69\x31\x30\x30\x37\x35\x61\x66\x69\x69\x31\x30\x30\x37\x36\x61\x66\x69\x69\x31\x30\x30\x37\x37\x61\x66\x69\x69\x31\x30" -+"\x30\x37\x38\x61\x66\x69\x69\x31\x30\x30\x37\x39\x61\x66\x69\x69\x31\x30\x30\x38\x30\x61\x66\x69\x69\x31\x30\x30\x38\x31\x61\x66" -+"\x69\x69\x31\x30\x30\x38\x32\x61\x66\x69\x69\x31\x30\x30\x38\x33\x61\x66\x69\x69\x31\x30\x30\x38\x34\x61\x66\x69\x69\x31\x30\x30" -+"\x38\x35\x61\x66\x69\x69\x31\x30\x30\x38\x36\x61\x66\x69\x69\x31\x30\x30\x38\x37\x61\x66\x69\x69\x31\x30\x30\x38\x38\x61\x66\x69" -+"\x69\x31\x30\x30\x38\x39\x61\x66\x69\x69\x31\x30\x30\x39\x30\x61\x66\x69\x69\x31\x30\x30\x39\x31\x61\x66\x69\x69\x31\x30\x30\x39" -+"\x32\x61\x66\x69\x69\x31\x30\x30\x39\x33\x61\x66\x69\x69\x31\x30\x30\x39\x34\x61\x66\x69\x69\x31\x30\x30\x39\x35\x61\x66\x69\x69" -+"\x31\x30\x30\x39\x36\x61\x66\x69\x69\x31\x30\x30\x39\x37\x61\x66\x69\x69\x31\x30\x30\x39\x38\x61\x66\x69\x69\x31\x30\x30\x39\x39" -+"\x61\x66\x69\x69\x31\x30\x31\x30\x30\x61\x66\x69\x69\x31\x30\x31\x30\x31\x61\x66\x69\x69\x31\x30\x31\x30\x32\x61\x66\x69\x69\x31" -+"\x30\x31\x30\x33\x61\x66\x69\x69\x31\x30\x31\x30\x34\x61\x66\x69\x69\x31\x30\x31\x30\x35\x61\x66\x69\x69\x31\x30\x31\x30\x36\x61" -+"\x66\x69\x69\x31\x30\x31\x30\x37\x61\x66\x69\x69\x31\x30\x31\x30\x38\x61\x66\x69\x69\x31\x30\x31\x30\x39\x61\x66\x69\x69\x31\x30" -+"\x31\x31\x30\x61\x66\x69\x69\x31\x30\x31\x34\x35\x61\x66\x69\x69\x31\x30\x31\x39\x33\x61\x66\x69\x69\x31\x30\x38\x34\x36\x61\x66" -+"\x69\x69\x36\x31\x32\x34\x38\x61\x66\x69\x69\x36\x31\x32\x38\x39\x61\x66\x69\x69\x36\x31\x33\x35\x32\x61\x6c\x70\x68\x61\x61\x6c" -+"\x70\x68\x61\x74\x6f\x6e\x6f\x73\x61\x6d\x61\x63\x72\x6f\x6e\x61\x6e\x67\x6c\x65\x6c\x65\x66\x74\x61\x6e\x67\x6c\x65\x72\x69\x67" -+"\x68\x74\x61\x6f\x67\x6f\x6e\x65\x6b\x61\x70\x70\x72\x6f\x78\x65\x71\x75\x61\x6c\x61\x72\x69\x6e\x67\x61\x63\x75\x74\x65\x61\x72" -+"\x72\x6f\x77\x62\x6f\x74\x68\x61\x72\x72\x6f\x77\x64\x6f\x77\x6e\x61\x72\x72\x6f\x77\x6c\x65\x66\x74\x61\x72\x72\x6f\x77\x72\x69" -+"\x67\x68\x74\x61\x72\x72\x6f\x77\x75\x70\x61\x72\x72\x6f\x77\x75\x70\x64\x6e\x61\x72\x72\x6f\x77\x75\x70\x64\x6e\x62\x73\x65\x62" -+"\x65\x74\x61\x63\x61\x63\x75\x74\x65\x63\x63\x61\x72\x6f\x6e\x63\x63\x69\x72\x63\x75\x6d\x66\x6c\x65\x78\x63\x64\x6f\x74\x61\x63" -+"\x63\x65\x6e\x74\x63\x68\x69\x63\x69\x72\x63\x6c\x65\x6d\x75\x6c\x74\x69\x70\x6c\x79\x63\x6c\x75\x62\x64\x63\x61\x72\x6f\x6e\x64" -+"\x63\x72\x6f\x61\x74\x64\x65\x6c\x74\x61\x64\x69\x61\x6d\x6f\x6e\x64\x64\x69\x65\x72\x65\x73\x69\x73\x74\x6f\x6e\x6f\x73\x65\x62" -+"\x72\x65\x76\x65\x65\x63\x61\x72\x6f\x6e\x65\x64\x6f\x74\x61\x63\x63\x65\x6e\x74\x65\x6c\x65\x6d\x65\x6e\x74\x65\x6d\x61\x63\x72" -+"\x6f\x6e\x65\x6e\x67\x65\x6f\x67\x6f\x6e\x65\x6b\x65\x70\x73\x69\x6c\x6f\x6e\x65\x70\x73\x69\x6c\x6f\x6e\x74\x6f\x6e\x6f\x73\x65" -+"\x71\x75\x69\x76\x61\x6c\x65\x6e\x63\x65\x65\x73\x74\x69\x6d\x61\x74\x65\x64\x65\x74\x61\x65\x74\x61\x74\x6f\x6e\x6f\x73\x65\x78" -+"\x63\x6c\x61\x6d\x64\x62\x6c\x65\x78\x69\x73\x74\x65\x6e\x74\x69\x61\x6c\x66\x65\x6d\x61\x6c\x65\x66\x72\x61\x6e\x63\x67\x61\x6d" -+"\x6d\x61\x67\x62\x72\x65\x76\x65\x67\x63\x69\x72\x63\x75\x6d\x66\x6c\x65\x78\x67\x63\x6f\x6d\x6d\x61\x61\x63\x63\x65\x6e\x74\x67" -+"\x64\x6f\x74\x61\x63\x63\x65\x6e\x74\x67\x72\x65\x61\x74\x65\x72\x65\x71\x75\x61\x6c\x68\x62\x61\x72\x68\x63\x69\x72\x63\x75\x6d" -+"\x66\x6c\x65\x78\x68\x65\x61\x72\x74\x68\x6f\x75\x73\x65\x69\x62\x72\x65\x76\x65\x69\x6a\x69\x6d\x61\x63\x72\x6f\x6e\x69\x6e\x66" -+"\x69\x6e\x69\x74\x79\x69\x6e\x74\x65\x67\x72\x61\x6c\x69\x6e\x74\x65\x67\x72\x61\x6c\x62\x74\x69\x6e\x74\x65\x67\x72\x61\x6c\x74" -+"\x70\x69\x6e\x74\x65\x72\x73\x65\x63\x74\x69\x6f\x6e\x69\x6e\x76\x73\x6d\x69\x6c\x65\x66\x61\x63\x65\x69\x6f\x67\x6f\x6e\x65\x6b" -+"\x69\x6f\x74\x61\x69\x6f\x74\x61\x64\x69\x65\x72\x65\x73\x69\x73\x69\x6f\x74\x61\x64\x69\x65\x72\x65\x73\x69\x73\x74\x6f\x6e\x6f" -+"\x73\x69\x6f\x74\x61\x74\x6f\x6e\x6f\x73\x69\x74\x69\x6c\x64\x65\x6a\x63\x69\x72\x63\x75\x6d\x66\x6c\x65\x78\x6b\x61\x70\x70\x61" -+"\x6b\x63\x6f\x6d\x6d\x61\x61\x63\x63\x65\x6e\x74\x6b\x67\x72\x65\x65\x6e\x6c\x61\x6e\x64\x69\x63\x6c\x61\x63\x75\x74\x65\x6c\x61" -+"\x6d\x62\x64\x61\x6c\x63\x61\x72\x6f\x6e\x6c\x63\x6f\x6d\x6d\x61\x61\x63\x63\x65\x6e\x74\x6c\x64\x6f\x74\x6c\x65\x73\x73\x65\x71" -+"\x75\x61\x6c\x6c\x69\x72\x61\x6c\x6f\x6e\x67\x73\x6d\x61\x6c\x65\x6d\x69\x6e\x75\x74\x65\x6d\x75\x73\x69\x63\x61\x6c\x6e\x6f\x74" -+"\x65\x6d\x75\x73\x69\x63\x61\x6c\x6e\x6f\x74\x65\x64\x62\x6c\x6e\x61\x63\x75\x74\x65\x6e\x61\x70\x6f\x73\x74\x72\x6f\x70\x68\x65" -+"\x6e\x63\x61\x72\x6f\x6e\x6e\x63\x6f\x6d\x6d\x61\x61\x63\x63\x65\x6e\x74\x6e\x6f\x74\x65\x6c\x65\x6d\x65\x6e\x74\x6e\x6f\x74\x65" -+"\x71\x75\x61\x6c\x6e\x75\x6f\x62\x72\x65\x76\x65\x6f\x68\x75\x6e\x67\x61\x72\x75\x6d\x6c\x61\x75\x74\x6f\x6d\x61\x63\x72\x6f\x6e" -+"\x6f\x6d\x65\x67\x61\x6f\x6d\x65\x67\x61\x74\x6f\x6e\x6f\x73\x6f\x6d\x69\x63\x72\x6f\x6e\x6f\x6d\x69\x63\x72\x6f\x6e\x74\x6f\x6e" -+"\x6f\x73\x6f\x72\x74\x68\x6f\x67\x6f\x6e\x61\x6c\x6f\x73\x6c\x61\x73\x68\x61\x63\x75\x74\x65\x70\x61\x72\x74\x69\x61\x6c\x64\x69" -+"\x66\x66\x70\x65\x73\x65\x74\x61\x70\x68\x69\x70\x69\x70\x72\x6f\x64\x75\x63\x74\x70\x72\x6f\x70\x65\x72\x73\x75\x62\x73\x65\x74" -+"\x70\x72\x6f\x70\x65\x72\x73\x75\x70\x65\x72\x73\x65\x74\x70\x73\x69\x71\x75\x6f\x74\x65\x72\x65\x76\x65\x72\x73\x65\x64\x72\x61" -+"\x63\x75\x74\x65\x72\x61\x64\x69\x63\x61\x6c\x72\x63\x61\x72\x6f\x6e\x72\x63\x6f\x6d\x6d\x61\x61\x63\x63\x65\x6e\x74\x72\x65\x76" -+"\x6c\x6f\x67\x69\x63\x61\x6c\x6e\x6f\x74\x72\x68\x6f\x73\x61\x63\x75\x74\x65\x73\x63\x65\x64\x69\x6c\x6c\x61\x73\x63\x69\x72\x63" -+"\x75\x6d\x66\x6c\x65\x78\x73\x63\x6f\x6d\x6d\x61\x61\x63\x63\x65\x6e\x74\x73\x65\x63\x6f\x6e\x64\x73\x69\x67\x6d\x61\x73\x6d\x69" -+"\x6c\x65\x66\x61\x63\x65\x73\x70\x61\x64\x65\x73\x75\x6d\x6d\x61\x74\x69\x6f\x6e\x73\x75\x6e\x74\x61\x75\x74\x62\x61\x72\x74\x63" -+"\x61\x72\x6f\x6e\x74\x63\x6f\x6d\x6d\x61\x61\x63\x63\x65\x6e\x74\x74\x68\x65\x74\x61\x74\x6f\x6e\x6f\x73\x75\x62\x72\x65\x76\x65" -+"\x75\x68\x75\x6e\x67\x61\x72\x75\x6d\x6c\x61\x75\x74\x75\x6d\x61\x63\x72\x6f\x6e\x75\x6e\x64\x65\x72\x73\x63\x6f\x72\x65\x64\x62" -+"\x6c\x75\x6e\x69\x30\x30\x41\x30\x75\x6e\x69\x30\x30\x41\x44\x75\x6e\x69\x30\x32\x31\x41\x75\x6e\x69\x30\x32\x31\x42\x75\x6e\x69" -+"\x30\x32\x43\x39\x75\x6e\x69\x30\x33\x38\x37\x75\x6e\x69\x30\x33\x39\x34\x75\x6e\x69\x30\x33\x41\x39\x75\x6e\x69\x30\x33\x42\x43" -+"\x75\x6e\x69\x30\x33\x43\x32\x75\x6e\x69\x30\x34\x30\x30\x75\x6e\x69\x30\x34\x30\x44\x75\x6e\x69\x30\x34\x35\x30\x75\x6e\x69\x30" -+"\x34\x35\x44\x75\x6e\x69\x30\x34\x39\x32\x75\x6e\x69\x30\x34\x39\x33\x75\x6e\x69\x30\x34\x39\x36\x75\x6e\x69\x30\x34\x39\x37\x75" -+"\x6e\x69\x30\x34\x39\x38\x75\x6e\x69\x30\x34\x39\x39\x75\x6e\x69\x30\x34\x39\x41\x75\x6e\x69\x30\x34\x39\x42\x75\x6e\x69\x30\x34" -+"\x39\x43\x75\x6e\x69\x30\x34\x39\x44\x75\x6e\x69\x30\x34\x41\x30\x75\x6e\x69\x30\x34\x41\x31\x75\x6e\x69\x30\x34\x41\x32\x75\x6e" -+"\x69\x30\x34\x41\x33\x75\x6e\x69\x30\x34\x41\x41\x75\x6e\x69\x30\x34\x41\x42\x75\x6e\x69\x30\x34\x41\x45\x75\x6e\x69\x30\x34\x41" -+"\x46\x75\x6e\x69\x30\x34\x42\x30\x75\x6e\x69\x30\x34\x42\x31\x75\x6e\x69\x30\x34\x42\x32\x75\x6e\x69\x30\x34\x42\x33\x75\x6e\x69" -+"\x30\x34\x42\x36\x75\x6e\x69\x30\x34\x42\x37\x75\x6e\x69\x30\x34\x42\x38\x75\x6e\x69\x30\x34\x42\x39\x75\x6e\x69\x30\x34\x42\x41" -+"\x75\x6e\x69\x30\x34\x42\x42\x75\x6e\x69\x30\x34\x43\x30\x75\x6e\x69\x30\x34\x43\x42\x75\x6e\x69\x30\x34\x43\x43\x75\x6e\x69\x30" -+"\x34\x44\x38\x75\x6e\x69\x30\x34\x45\x32\x75\x6e\x69\x30\x34\x45\x33\x75\x6e\x69\x30\x34\x45\x38\x75\x6e\x69\x30\x34\x45\x39\x75" -+"\x6e\x69\x30\x34\x45\x45\x75\x6e\x69\x30\x34\x45\x46\x75\x6e\x69\x32\x30\x33\x45\x75\x6e\x69\x32\x30\x41\x46\x75\x6e\x69\x32\x31" -+"\x32\x36\x75\x6e\x69\x32\x32\x31\x35\x75\x6e\x69\x32\x32\x31\x39\x75\x6e\x69\x32\x32\x32\x37\x75\x6e\x69\x32\x32\x32\x38\x75\x6e" -+"\x69\x32\x32\x39\x35\x75\x6e\x69\x32\x35\x41\x31\x75\x6e\x69\x6f\x6e\x75\x6e\x69\x76\x65\x72\x73\x61\x6c\x75\x6f\x67\x6f\x6e\x65" -+"\x6b\x75\x70\x73\x69\x6c\x6f\x6e\x75\x70\x73\x69\x6c\x6f\x6e\x64\x69\x65\x72\x65\x73\x69\x73\x75\x70\x73\x69\x6c\x6f\x6e\x64\x69" -+"\x65\x72\x65\x73\x69\x73\x74\x6f\x6e\x6f\x73\x75\x70\x73\x69\x6c\x6f\x6e\x74\x6f\x6e\x6f\x73\x75\x72\x69\x6e\x67\x75\x74\x69\x6c" -+"\x64\x65\x77\x61\x63\x75\x74\x65\x77\x63\x69\x72\x63\x75\x6d\x66\x6c\x65\x78\x77\x64\x69\x65\x72\x65\x73\x69\x73\x77\x67\x72\x61" -+"\x76\x65\x78\x69\x79\x63\x69\x72\x63\x75\x6d\x66\x6c\x65\x78\x79\x67\x72\x61\x76\x65\x7a\x61\x63\x75\x74\x65\x7a\x64\x6f\x74\x61" -+"\x63\x63\x65\x6e\x74\x7a\x65\x74\x61\x31\x2e\x30\x30\x28\x55\x52\x57\x29\x2b\x2b\x2c\x43\x6f\x70\x79\x72\x69\x67\x68\x74\x20\x32" -+"\x30\x31\x34\x20\x62\x79\x20\x28\x55\x52\x57\x29\x2b\x2b\x20\x44\x65\x73\x69\x67\x6e\x20\x26\x20\x44\x65\x76\x65\x6c\x6f\x70\x6d" -+"\x65\x6e\x74\x43\x6f\x70\x79\x72\x69\x67\x68\x74\x20\x28\x55\x52\x57\x29\x2b\x2b\x2c\x43\x6f\x70\x79\x72\x69\x67\x68\x74\x20\x32" -+"\x30\x31\x34\x20\x62\x79\x20\x28\x55\x52\x57\x29\x2b\x2b\x20\x44\x65\x73\x69\x67\x6e\x20\x26\x20\x44\x65\x76\x65\x6c\x6f\x70\x6d" -+"\x65\x6e\x74\x4e\x69\x6d\x62\x75\x73\x20\x52\x6f\x6d\x61\x6e\x20\x49\x74\x61\x6c\x69\x63\x4e\x69\x6d\x62\x75\x73\x20\x52\x6f\x6d" -+"\x61\x6e\x00\xdd\x02\x00\x01\x00\x06\x00\x0b\x00\x10\x00\x13\x00\x1b\x00\x20\x00\x67\x00\xf3\x01\x45\x01\x4a\x01\x53\x01\x80\x01" -+"\x8d\x01\x94\x01\x9a\x01\xa1\x01\xb8\x02\x43\x02\x86\x02\x9b\x02\xa6\x02\xaf\x02\xb8\x02\xbd\x02\xcb\x02\xd0\x03\x4c\x03\xb9\x04" -+"\x02\x04\x0a\x04\x24\x04\x40\x04\x55\x04\x62\x04\x74\x04\x81\x04\x8b\x04\x95\x04\x9d\x04\xa2\x04\xaa\x04\xb0\x04\xba\x04\xc1\x04" -+"\xc8\x04\xd0\x05\x27\x05\x39\x05\x7a\x05\xb5\x05\xc0\x05\xc6\x05\xca\x05\xdb\x05\xed\x05\xfc\x06\x05\x06\x18\x06\x24\x06\x32\x06" -+"\x42\x06\x4e\x06\x57\x06\x68\x06\x70\x06\x7a\x06\x84\x06\x93\x06\x9c\x06\xa3\x06\xac\x06\xb9\x06\xc1\x06\xc9\x06\xd4\x06\xdf\x07" -+"\x8b\x08\x35\x08\x89\x09\x22\x09\xaa\x0a\x28\x0a\x9a\x0a\xf6\x0a\xfd\x0b\x68\x0b\x9e\x0b\xcb\x0c\x22\x0c\x6c\x0c\xca\x0c\xe1\x0d" -+"\x39\x0d\x60\x0d\xb3\x0d\xdc\x0e\x28\x0e\x34\x0e\x77\x0e\xa3\x0e\xe8\x0f\x28\x0f\x65\x0f\xa3\x0f\xc0\x0f\xf5\x10\x25\x10\x50\x10" -+"\x5d\x10\x8a\x10\xa0\x10\xca\x10\xf0\x11\x10\x11\x1a\x11\x41\x11\x67\x11\x8a\x11\xa0\x11\xa6\x11\xb9\x11\xdb\x11\xfb\x12\x1c\x12" -+"\x3d\x12\x45\x12\x65\x12\x85\x12\xa4\x12\xaf\x12\xcd\x12\xe1\x12\xef\x13\x0a\x13\x26\x13\x29\x13\x42\x13\x4b\x13\x50\x13\x5a\x13" -+"\x72\x13\x76\x13\x8f\x13\xa7\x13\xb1\x13\xbe\x13\xd6\x13\xe8\x13\xfe\x14\x14\x14\x28\x14\x3e\x14\x51\x14\x64\x14\x78\x14\x8c\x14" -+"\xa0\x14\xb4\x14\xbd\x14\xd0\x14\xd8\x14\xeb\x14\xf7\x15\x09\x15\x1b\x15\x2d\x15\x3f\x15\x51\x15\x63\x15\x74\x15\x85\x15\x96\x15" -+"\xa7\x15\xb6\x15\xc5\x15\xd4\x15\xe2\x15\xf2\x16\x02\x16\x10\x16\x20\x16\x2e\x16\x36\x16\x45\x16\x52\x16\x60\x16\x6e\x16\x7c\x16" -+"\x8a\x16\x98\x16\xa6\x16\xb4\x16\xc0\x16\xc4\x16\xd1\x16\xde\x16\xeb\x16\xf0\x16\xfd\x17\x0a\x17\x0f\x17\x1c\x17\x29\x17\x34\x17" -+"\x40\x17\x4c\x17\x58\x17\x64\x17\x6e\x17\x79\x17\x84\x17\x8f\x17\x9a\x17\xa5\x17\xb0\x17\xbb\x17\xc6\x17\xd1\x17\xdc\x17\xe7\x17" -+"\xed\x19\x86\x79\x05\x0b\x1b\x90\x9d\x05\x0b\x06\x86\x79\x05\x0b\x81\x1d\x0e\x15\x6f\x75\x76\x70\x5b\x1d\x0b\x06\x87\x79\x05\x0b" -+"\xf8\xc8\x9b\x15\x52\x90\x85\x93\x7e\xd4\x2d\xf8\xca\x18\x71\x06\xfb\xb6\xfc\x88\x3c\xfb\x19\x81\x80\x63\x83\x19\x7b\xf7\x4f\x9b" -+"\x07\x58\x90\x83\x90\xa4\x1a\x9e\x8e\x94\x9c\xad\x1e\xc4\xf7\x05\x05\xf7\x70\x06\xc7\x1d\xf7\x8a\x07\xfc\x19\xf7\x9a\x15\xf7\x2a" -+"\xf7\x98\xb7\xfb\x98\x05\x0b\xf9\x0e\xf9\x21\x15\xfc\x85\x7b\x06\xc9\x85\x9a\x83\x70\x1a\x7f\x85\x6a\x86\x78\x1e\xfb\x0f\xfc\x4e" -+"\x7a\x52\x83\x84\x53\x81\x19\x7b\xf8\x8f\x07\xc9\xf7\x36\x7b\x93\x5c\x4a\x71\x72\x60\x77\x19\x7a\x66\x47\x81\x3f\x1b\x53\x74\x95" -+"\xa3\x97\x97\xba\xa3\xe2\x1f\xab\xf7\x07\x05\x8a\x9b\x9a\x8a\x9b\x1b\xb9\x8a\xa7\x8a\xa3\x86\x92\x85\x19\x94\x84\x8d\x84\x77\x1a" -+"\x79\x89\x7f\x86\x75\x1e\x9f\x86\xcf\xf7\x7c\x79\x8f\x65\x36\x81\x84\x31\x88\x19\x7f\x6b\x8a\x8a\x68\x1f\xcd\xf7\x7d\x05\xa2\x91" -+"\x95\x8e\xc5\x1b\xf7\x30\xae\x7e\x4f\x7e\x8a\x7c\x8a\x7a\x1f\xa0\x89\x05\x0b\xf7\xfa\xf7\x01\x15\x50\x43\x6c\x7b\x5f\x1b\x53\x66" -+"\xaf\xc2\x9a\x8d\x99\x93\xab\x1f\xa7\x8f\x05\xf7\x2a\xa0\xf5\xd7\xe1\x1a\xb5\x6d\xa5\x59\xfb\x24\xfb\x31\xfb\x38\xfb\x2b\x3a\xc1" -+"\x53\xd9\xd2\xd8\xb4\xce\xc6\x1e\xfb\x6e\xf7\x2f\x15\xe4\xad\xd5\xd8\xbe\x1b\xa0\x99\x7c\x73\x6c\x78\x67\x6c\x6d\x1f\x66\x68\x65" -+"\x79\x35\x76\x08\x0b\x15\xfb\xc1\x46\x1d\x78\x1d\xfb\x00\x7c\x48\xea\x1d\x0b\x9c\x1d\xd7\x1a\xde\x51\xc4\x36\x1e\x7f\x76\x15\xb6" -+"\xa7\x66\x52\x41\x6b\x28\x5e\x4a\x1f\x56\x66\x65\x72\x60\x1b\x5c\x6c\xaf\xc2\xd5\xa8\xe3\xbc\xd2\x1f\xc4\xb2\xb5\xa8\xb6\x1b\x0b" -+"\x83\x16\xf7\x88\x9b\x06\xae\x1d\xfb\x8b\xab\x1d\x0b\x8c\x8d\x8e\x90\x1f\x8f\x0b\x9d\x05\xfb\xa0\x06\x0b\xf7\x72\xf7\x06\x7f\x1d" -+"\x0b\x15\xdf\xba\xb9\xc3\xc3\x1a\xb3\x72\xaa\x6a\x6e\x75\x77\x71\x78\x38\x1d\x70\x56\x68\x1e\x0e\x9a\xf8\x24\x15\x8e\x97\x93\x8c" -+"\x96\x1b\xb4\x9e\x7b\x55\x9f\x1f\xa6\x41\xbf\xfb\x6a\x65\x1a\x7b\x84\x7b\x7d\x78\x1e\x6f\x66\x74\x6f\x7f\x7e\x08\x75\x76\x80\x83" -+"\x7e\x1b\x84\x85\x8e\x93\x80\x1f\x97\x7c\x81\x90\x7f\x1b\x75\x7a\x7a\x75\x71\xa0\x79\xa9\xcb\xf7\x16\xf7\x29\xf7\x5b\xf7\x01\x1f" -+"\xcf\xf7\x0f\xa7\xd3\xbc\x1a\xa9\x72\xa4\x6d\x74\x7b\x7c\x75\x7b\x93\x81\x9f\x7e\x1e\x9e\x80\x92\x82\x7d\x1a\x63\x67\x3e\x35\xfb" -+"\x22\x1e\x77\xf7\x08\x05\xe4\x7c\x53\xf7\x38\x7c\x1b\x87\x06\x8a\x89\x88\x8b\x87\x1b\x83\x8a\x66\x85\x56\x81\x86\x8a\x7e\x88\x7d" -+"\x89\x08\x0b\xf8\x60\xf7\x09\x15\x47\x55\x7f\x80\x7b\x1b\x82\x84\x92\x94\x93\x8f\x9e\x95\xaf\x1f\xc4\xf7\x62\x05\x90\xa0\x8f\xa1" -+"\x99\x1a\xb0\xf7\x04\x1d\xce\xf7\x6e\x8a\x1d\x7f\x85\x6a\x83\x6c\x1f\x5f\xfb\x39\x05\x7e\x57\x88\x7e\x81\x1a\x65\x99\x7b\xac\xb8" -+"\xa4\x9f\xe8\xd1\x1e\x0b\x37\x1d\xc3\xc3\x1a\xb3\x72\xaa\x6a\x6e\x75\x77\x71\x78\x38\x1d\x70\x56\x68\x1e\x0e\x1b\x90\x9d\x05\xfb" -+"\xa4\x06\x86\x79\x05\x0b\x8d\x8e\x82\x1f\x7b\x91\x81\x99\x0b\xa5\xa3\xa9\xaa\x71\xa5\x6d\x1f\x0b\x15\xe0\xba\xb8\x0b\x91\x81\x9e" -+"\x7a\x1e\x9a\x7d\x90\x83\x81\x1a\x70\x75\x0b\xf8\x6c\x6d\x1d\x0b\xf8\xcb\x9b\x15\x5f\x8e\x77\x9c\x78\xbf\x2e\xf7\x89\x18\xd8\x9c" -+"\xac\x99\xaf\xab\x08\xac\xa8\x9d\xb2\xb8\x1a\xe8\x41\xbe\xfb\x1a\x1e\xfb\x8c\x7b\x06\xb5\x85\x90\x8a\x95\x84\x08\x93\x86\x91\x7f" -+"\x80\x1a\x7f\x86\x73\x84\x70\x1e\xfb\x0f\xfc\x4e\x79\x50\x84\x85\x53\x82\x19\x7b\xf7\x88\x9b\x07\x4d\x93\x85\x8f\xae\x1a\x95\x8d" -+"\x95\x95\xb0\x1e\xc3\xf7\x65\xcc\x86\xf7\x0f\xfb\xd8\x05\xf7\x28\x06\xfb\x97\xf8\xe7\x15\xa0\x91\x98\x92\xab\x1b\xde\xb4\x66\x3f" -+"\x29\x4b\x58\xfb\x11\x79\x83\x8c\x8f\x72\x1f\x0b\xbc\xf7\xbd\x15\xbc\xa2\xb1\xb8\x9f\x1b\x93\x91\x84\x80\x84\x89\x84\x86\x77\x1f" -+"\x60\xfb\x36\x05\x83\x6e\x87\x70\x75\x1a\x4c\xbc\x5d\xce\xd0\xcd\xbd\xde\xb5\x1e\xad\xcf\xa4\xee\xd1\x1a\xbc\x74\xae\x69\x73\x77" -+"\x77\x71\x7a\x90\x80\x9e\x6f\x1e\xa4\x68\x92\x78\x6e\x1a\x63\x78\x50\x6d\x58\x1e\x50\x68\x5d\x68\x61\x1b\x68\x74\xa9\xb7\x9f\x92" -+"\xb3\x96\xb5\x1f\xb3\xf7\x28\x05\x8e\x97\x8f\xa5\x96\x1a\xab\x77\xa3\x70\x5b\x58\x5a\x31\x5f\x1e\x0b\xf7\xf2\xf5\x15\x50\x54\x64" -+"\x75\x5a\x1b\x52\x69\xb5\xd3\xe0\xae\xe5\xc3\xc5\x1f\xa9\xa8\xb3\x9d\xb3\x1b\xa2\x99\x83\x7f\x86\x89\x86\x87\x82\x1f\x84\x7e\x89" -+"\x85\x81\x1a\x73\x9a\x7d\xa3\xa7\x9f\x9e\xa6\xba\x5f\xad\x4e\xfb\x2a\xfb\x20\xfb\x26\xfb\x30\x2c\xc1\x54\xe8\xd6\xc0\xa9\xd8\xc8" -+"\x1e\x0b\x84\x1d\xad\xa7\xec\xcc\x1e\x0b\x15\x4c\x72\x5b\x67\x4d\x1b\x4b\x64\xaf\xca\x86\x1f\x6e\x06\xfb\x00\x8c\xb4\x59\xe3\x1b" -+"\xc1\xb9\x5a\x1d\x05\xd4\x9e\x9d\x99\xd4\x34\x1d\xa3\x98\x8a\x87\x94\x1f\x9b\x85\x95\x7d\x7b\x1a\x7e\x89\x7e\x87\x7d\x55\x1d\x0b" -+"\x37\x1d\xc2\xc4\x1a\xb3\x72\xaa\x6a\x6e\x75\x77\x71\x78\x38\x1d\x71\x56\x67\x1e\x0e\x7c\x1b\x77\x7c\x7c\x78\x7f\x91\x81\x98\x81" -+"\x1f\x0e\x6f\x75\x76\x70\x70\xa2\x74\xa7\xa6\xa1\xa0\xa6\xa6\x74\xa2\x70\x1f\x0b\x1f\x86\x83\x8a\x86\x83\x1a\x73\x9a\x7b\xa1\xa2" -+"\x0b\x1b\xd1\xbc\xaf\xbd\xb5\x6b\xa5\x59\x0b\x3b\x06\xa7\xf2\x05\x8c\x8d\x8b\x8d\x0b\x06\x80\x58\x05\xf7\xc1\x06\x0e\x8a\x89\x82" -+"\x1f\x0e\x08\x91\x88\x8f\x83\x83\x1a\x0b\x7a\x4e\x8a\x20\x1d\x0b\x1b\xa6\x9e\x79\x71\x71\x78\x7c\x69\x0b\x1e\xf7\x0e\xf8\x5d\x05" -+"\x0b\x79\x05\xc2\x8a\x9c\x81\x0b\x1a\x80\x89\x7c\x87\x7d\x1e\x0b\xf8\xd2\xf8\x8d\x15\x20\xfc\x24\x79\x46\x78\x7a\x4e\xf3\x1d\x05" -+"\x54\x8c\x7a\x96\xaa\x1a\x96\x8d\x97\x8f\x9b\x1e\xf7\x0f\xf8\x5d\x05\xd3\x9d\x9e\x9a\xd4\x21\x1d\xfb\xa4\x06\x86\x67\x1d\x78\x1a" -+"\x85\x8b\x87\x89\x81\x1e\xfc\x13\xfc\x2f\xf3\xf8\x18\x05\xd4\x9e\x9d\x99\xd4\x21\x1d\xfb\xa4\x66\x1d\x7c\x87\x7f\x9d\x1d\x9c\x1a" -+"\x96\x8d\x97\x8e\x98\x1e\x0b\xa0\x1d\x43\xfb\xa7\x89\x82\x8a\x87\x93\x1d\xe3\xf7\xe1\x05\xdf\x06\x0b\xf9\x0d\xf9\x21\x15\xfc\xa8" -+"\x06\x61\xfb\x2e\x9d\x87\xc0\xf7\x00\xac\x9c\xf7\x2c\x89\x19\xfb\x24\xfc\xa4\x64\x1d\xf7\xb6\x9b\x07\x35\x92\x87\x8d\xb0\x1a\x97" -+"\x8d\x95\x95\xaf\x1e\xf7\x1f\xf8\x86\x05\xc2\x06\xd3\xab\x72\x53\x7e\x8a\x7c\x89\x7a\x1f\x9c\x89\x05\x0b\x79\x51\x84\x85\x53\x81" -+"\x19\x7b\xf7\x8a\x9b\x07\x4f\x93\x80\x92\xa8\x1a\x92\x8c\x93\x8d\x92\x1e\xcd\xf7\x88\x05\xf7\xb1\x06\x4a\xfb\x80\x7b\x57\x77\x7c" -+"\x4a\x84\x19\x7b\xf7\xa5\x9b\x07\x4a\x91\x7e\x93\xa8\x1a\x94\x8c\x91\x8d\x93\x1e\x0b\x15\x6a\x80\x7e\x8e\x1d\xaf\xcf\x99\x1f\x0e" -+"\x98\x1d\xf7\x46\xb9\x1d\x88\x1d\xb9\x0b\x1e\xfb\x0e\xfc\x5e\x7a\x47\x77\x79\x4e\x8a\x20\x1d\xf7\x97\x06\x0b\x15\xae\x06\xf7\x3f" -+"\xf5\x05\x97\x92\x90\x94\x97\x1a\xa0\x7b\x9a\xd6\x1d\x8d\x95\x4a\x1d\x76\x79\x8f\x96\x6e\x1f\x7a\x6e\x05\x7b\x0b\xf1\x1d\xfb\xa3" -+"\x06\x86\x4c\x1d\x0b\x16\x72\x77\x78\x73\x72\xa0\x76\xa4\xa4\x9e\x9e\xa3\xa4\x76\xa0\x73\x1f\x0e\xa3\xb7\xac\x1f\x9f\xa6\x94\xa0" -+"\x94\xb5\x08\x0e\x6f\xa0\x75\xa7\xa6\xa1\xa1\xa6\xa4\x74\xa3\x72\x1f\x0b\xf7\x01\x1d\xa2\xad\x7c\xb8\x1b\xc0\xba\xa3\xb7\xac\x1f" -+"\x9f\x0b\xbf\xd4\xb4\x7e\xa0\x56\xba\x1e\x72\xa1\x15\x0b\x8d\x08\x48\x06\xd1\xf7\x97\x05\x0b\x15\xae\x06\xf7\x3f\xf5\x05\x97\x92" -+"\x90\x94\x97\x1a\x9f\x7b\x9b\x0b\x4e\x8a\x20\x1d\xf7\x93\x06\x0b\x58\x62\x4e\x6b\x97\x76\xb3\x67\x1e\x0b\x69\x73\x08\x69\x5c\x4c" -+"\x78\x47\x1b\x0b\x06\x7b\x83\x81\x85\x77\x1b\x82\x80\x8d\x90\x76\x1f\x96\x0b\x7b\x56\x73\x7b\x49\x86\x19\x7b\x0b\x81\x83\x88\x84" -+"\x85\x1e\x0b\x06\x86\x4c\x1d\x6a\x1a\x81\x89\x0b\x79\x05\xa7\x92\x8a\x87\x96\x1f\x9b\x86\x95\x7c\x0b\x1f\x7b\x91\x81\x99\x9c\x1a" -+"\x0b\xf9\x21\x15\xfb\x5b\x7b\x06\x0b\x81\x82\x1b\x83\x83\x92\x93\x95\x8e\x9b\x0b\x1f\xa8\x06\xab\x95\x9b\x9a\xa4\x1b\x9c\x0b\xf9" -+"\x2d\x15\x92\xa6\x05\xfb\xaa\x06\x84\x70\x05\x97\x06\xb9\x9c\x80\x6b\x80\x8a\x83\x86\x7a\x1f\x27\x87\x51\x7d\x50\x68\x08\x2e\x55" -+"\x4b\xfb\x00\x23\x1a\x4a\xa7\x58\xbf\x6e\x1e\xb5\x73\xb9\x82\xd9\x8a\x88\x7e\x18\x7b\x50\x74\x79\x4f\x8a\x08\x80\x06\x84\x70\x05" -+"\xf7\xaa\x06\x92\xa6\x05\x80\x06\x5c\x79\x96\xab\x96\x8b\x8c\x91\xa2\x1f\x8e\x98\xf7\x12\x94\xc4\x9c\xcb\xbb\x19\xda\xc6\xbf\xf0" -+"\xed\x1a\xc6\x71\xba\x5d\xa5\x1e\x63\xa1\x5b\x94\x32\x8e\x08\xc5\x97\xa5\xa0\xc7\x1b\xfb\xd1\xfc\xb6\x15\x5f\x8d\x78\x90\x71\x97" -+"\x08\x5e\xa1\x79\xab\xc4\x1a\xe7\xb3\xef\xc3\xbe\x1e\xb7\xb1\xbe\x9e\xd5\x92\x08\xee\x8d\x15\xf5\x80\xba\x61\x37\x1a\x46\x6e\x36" -+"\x63\x57\x1e\x5b\x4e\x59\x73\x28\x80\x08\x0e\xf8\x29\x15\x4e\x06\x88\x86\x8d\x91\x83\x1f\x9d\x70\x6a\x95\x65\x1b\xfb\x03\x31\x3e" -+"\x2d\x57\xa0\x6d\xc5\x71\x1f\x50\x63\x79\x77\x73\x1a\x7e\x93\x7f\x9e\x7d\x1e\x28\x4a\x79\x77\x5d\x1a\x46\xcd\x5e\xf0\xf7\x12\xdf" -+"\xc6\xe2\xca\x5c\xb6\x2b\xa5\x1e\x5f\x96\x71\x9b\x9a\x1a\x9a\xa2\xa5\x98\x8d\x8d\x8b\x8a\x8e\x1e\x89\x94\x96\x8a\x96\x1b\xe7\xe8" -+"\xdc\xd9\x9c\x88\x9c\x85\xa1\x1f\xbd\x06\xfb\xd8\xfb\xe6\x15\x8c\x8d\x8a\x8a\x8d\x1f\x8e\x8a\x95\x88\x9b\x86\x08\xf6\x69\xaf\x70" -+"\x5d\x1a\x55\x51\x63\x3e\x3b\x5c\xb1\xcb\xa3\x91\x9c\x9b\x9e\x1e\x9d\x99\xb4\xab\x93\x1b\xf7\x28\xf8\x1b\x15\xb0\x9e\x73\x5c\x67" -+"\x7f\x60\x78\x69\x1f\x62\x75\x6c\x75\x69\x1b\x65\x75\xa7\xba\xe7\xc4\xdb\xcc\x1f\x0b\x15\xf7\xa1\x06\x4f\xfb\x75\x79\x45\x78\x7b" -+"\x49\x8a\x20\x1d\xf7\x9e\x06\x90\x9d\x05\x73\x7d\x35\x1d\x9c\x1a\x98\x8d\x97\x8f\x9a\x4b\x1d\xd3\x9e\x9d\x9a\xd0\x1b\x90\x2e\x1d" -+"\x86\x79\x05\xc0\x9e\x80\x6d\x7e\x89\x7e\x87\x7d\x1f\x57\xfb\x58\x05\xfb\xa1\x06\xbe\xf7\x52\x3f\x1d\x90\x9d\x05\x73\x7e\x35\x1d" -+"\x9b\x1a\x95\x8d\x9b\x8f\x9a\x1e\x0e\xf9\x66\xf9\x21\x15\xfb\x72\x7b\x06\x97\x8a\x94\x8a\x91\x8a\x97\x8a\x95\x89\x91\x87\x08\x8e" -+"\x89\x8e\x86\x86\x1a\x73\x54\x55\x32\x4d\x1e\xfb\x2c\x21\xc0\xf7\x56\x9a\xbd\xa6\x9f\xc6\x8f\x19\x9b\xfb\xa5\x7b\x07\xca\x85\x99" -+"\x83\x6e\x1a\x7c\x88\x77\x83\x70\x1e\xfb\x0f\xfc\x4e\x79\x4f\x86\x86\x50\x82\x19\x7b\xf7\x8c\x9b\x07\x4c\x92\x82\x91\xaa\x1a\x96" -+"\x8c\x92\x92\xa0\x1e\x8d\x91\x8d\x92\x8d\x93\xc9\xf7\x78\x18\xf7\x0d\xfb\x64\x05\xa3\x62\x99\x68\x78\x1a\x7c\x7d\x83\x6b\x88\x1e" -+"\x86\x80\x8a\x89\x7e\x1f\x7b\xf7\xa7\x9b\x07\x4c\x91\x85\x8e\x6f\xba\xfb\x42\xf7\xc3\x18\xf7\xc0\xf7\x76\xa7\xa0\xa2\x96\xa3\x8f" -+"\x19\x0b\xf8\x40\xf8\xbe\x15\x69\x06\x54\xfb\x06\x05\x8c\x83\x87\x8b\x83\x1b\xfb\x21\xfb\x2a\xfb\x34\xfb\x2b\x64\x98\x67\xa3\x72" -+"\x1f\x9a\x7b\x98\x83\xaa\x81\x4b\xfb\x17\x18\xae\x06\xc8\xf7\x12\x05\x8a\x91\x91\x8a\x93\x1b\xc9\xc7\xa6\xbf\xc4\x1f\xd1\xcc\xb7" -+"\xe4\xd6\x1a\xa7\x83\xab\x7e\xa1\x1e\x79\xa9\x78\x99\x62\x97\x08\xfb\x7a\xfc\x2a\x15\x78\x9e\x82\xa0\xa7\x1a\xea\xb8\xf7\x04\xcd" -+"\xd1\x1e\xa8\xa6\xae\x9c\xac\x1b\x8e\x8d\x8a\x8a\x90\x1f\xa8\x7f\x15\x9e\x76\x94\x72\x68\x1a\x41\x6b\x28\x5e\x4a\x1e\x56\x66\x66" -+"\x73\x5e\x1b\x82\x86\x8c\x8e\x83\x1f\x0b\xf8\x65\xf7\x09\x15\x48\x55\x7f\x7f\x7b\x1b\x82\x84\x93\x95\x96\x9b\xc9\x9c\xbf\x1f\xa8" -+"\xe8\x9e\xd6\xa4\x1a\xb3\x70\xa6\x64\x4a\x44\x4a\xfb\x26\x2e\x1e\xf7\x0c\xf8\x54\x86\x90\x4f\x7d\x64\x85\x51\x84\x19\x7b\x07\xa5" -+"\x8c\x05\xa2\x8c\x9d\x80\x7c\x1a\x7d\x86\x73\x82\x6e\x1e\x8a\x89\x87\x7d\x86\x76\xfb\x1b\xfc\x94\x18\xd6\x06\xb3\xf7\x2e\x98\xad" -+"\xb3\xc8\x08\xda\xbf\xcf\xc9\xae\x1b\x9a\x98\x7f\x7e\x87\x88\x7e\x87\x7b\x1f\x54\xfb\x63\x05\x7e\x5a\x84\x6c\x7f\x1a\x71\x9c\x7b" -+"\xa7\xbd\xae\xa6\xe2\xc7\x1e\x0e\xf8\x32\xf7\x01\x15\x4d\x67\x85\x85\x79\x1b\x76\x76\xac\xeb\x64\x1f\x86\x98\x7c\xaf\x7a\xb2\xf7" -+"\x28\xf7\x17\xa8\x9f\xbb\x8e\x08\x9b\xfb\x4b\x7b\x07\xb6\x8a\x97\x87\x7e\x1a\x77\x59\x5b\x2e\x43\x1e\x7c\x80\x7d\x80\x7d\x80\xf7" -+"\x0c\xf8\x5d\x18\xe1\x1d\x8c\x9d\x84\x8c\x78\x89\x7a\x84\x70\x7e\x5d\x87\x7d\x88\x80\x89\x83\x89\x82\x18\xfb\x13\xfc\x77\x05\xd6" -+"\x06\xbb\xf7\x48\xb5\xab\x9b\x5f\xa5\x4d\x9d\x68\x19\x4c\xab\x9d\x78\xa8\x1b\xb3\xa4\xa4\xdf\xb9\x1f\x0b\xf8\x61\xf7\x09\x15\x49" -+"\x56\x7d\x7e\x7b\x1b\x84\x87\x91\x96\x91\x8b\x8b\x9e\xd3\x1f\xda\xf7\xbf\x05\x41\x06\x55\xfb\x28\x80\x73\x5e\x43\xf2\x1d\x9b\x8e" -+"\x8b\x8d\x8c\x8e\x1f\xe6\xf7\xff\x88\x8d\x50\x7d\x67\x85\x54\x84\x19\x7d\x07\xb1\x8d\x8a\x86\x94\x1f\x91\x89\x90\x82\x84\x1a\x83" -+"\x86\x72\x82\x69\x1e\x66\xfb\x22\x05\x78\x42\x85\x6b\xd4\x1d\xfb\x02\x7c\x4a\xea\x1d\x0b\xf7\x72\xf8\x51\x76\x1d\x0b\xf8\x08\xf7" -+"\xcb\x15\xf7\x38\xf7\x76\x05\xd5\xc0\xb9\xac\xbf\x1b\x91\x9d\x05\xfb\x73\x06\x85\x79\x05\x9c\x06\xac\x9e\x81\x79\x80\x86\x80\x7b" -+"\x74\x1f\xfb\x2b\xfb\x6a\x4c\xf7\x6a\x05\x84\xa1\x8a\x90\x92\x1a\xa6\xa0\x97\xb6\x1e\xa0\x06\x8f\x9d\x05\xfb\xae\x06\x85\x79\x05" -+"\xa0\x06\xb8\x8d\xa5\x75\x9b\xe9\x1d\x40\x8c\x19\x85\x79\x05\xf7\xb5\x06\x90\x9d\x05\x72\x7a\x8c\x8d\x82\x1f\x76\x90\x7f\x99\x9f" -+"\x1a\x97\x8d\x98\x8f\x9a\x1e\x0b\x15\x5a\x7f\x52\x81\x61\x89\x86\x78\x18\x8e\x9b\x93\x8c\x94\x1b\x9e\x93\x84\x79\x81\x89\x80\x86" -+"\x77\x1f\x51\xfb\x6d\x05\x82\x6a\x89\x7f\x79\x1a\x62\xa2\x6d\xab\xc6\xd8\xd1\xf7\x15\xdf\x1e\x6d\xfb\x01\x05\x85\x1d\x0b\x4b\x1d" -+"\x8b\x1d\xb5\x92\x8c\x94\x8c\x90\x1f\xb1\xf7\x21\x58\x1d\x6a\x1a\x81\x89\x7f\x87\x7c\x1e\x69\xfb\x12\x05\x86\x76\x89\x80\x7d\x1a" -+"\x4a\xbe\x67\xe8\xc1\xc1\x93\x9e\xce\x1e\x0b\xf8\x61\xf7\x09\x15\x49\x56\x7d\x7e\x7b\x1b\x84\x87\x91\x96\x91\x8b\x8b\x9e\xd3\x1f" -+"\xda\xf7\xbf\x05\x41\x06\x55\xfb\x28\x80\x72\x5e\x44\xf2\x1d\x9a\x8e\x8b\x8e\x8c\x8e\x1f\xe6\xf7\xff\x88\x8d\x51\x7d\x66\x85\x54" -+"\x84\x19\x7d\x07\xb3\x8a\x8b\x8b\x95\x86\x08\x90\x89\x90\x82\x84\x1a\x82\x86\x73\x82\x69\x1e\x66\xfb\x22\x05\x78\x41\x85\x6c\xd4" -+"\x1d\x0b\xf7\x16\xf9\x11\x15\xca\x85\x99\x83\x70\x1a\x7c\x87\x73\x84\x72\x1e\xfb\x0f\xfc\x4e\x79\x51\x84\x99\x1d\x06\xf7\x4b\x50" -+"\x15\xa1\x91\x9a\x92\xb3\x1b\xc4\xbd\x7e\x73\xab\x1f\xbc\x68\xa6\x4b\x3d\x1a\xfb\x02\x61\xfb\x03\x47\x47\x1e\x4f\x50\x3a\x6d\x23" -+"\x1b\x5d\x78\x96\xa5\x98\x90\x9f\x9c\xc9\x1f\x0b\xf7\x6e\xf8\x51\x15\x59\x7f\x53\x82\x62\x88\x86\x78\x18\x8e\x9b\x92\x8c\x94\x1b" -+"\x9e\x93\x84\x7a\x80\x89\x7f\x86\x78\x1f\x30\xfb\xe8\x05\xd3\x06\xc5\xf7\x6c\x05\x98\x8c\x91\x8c\x8b\x1a\x98\x96\x85\x80\x92\x1f" -+"\x93\x81\x8d\x85\x98\x5e\x08\xfb\x03\xac\xa7\x63\xb9\x1b\xb3\xad\xad\xec\xc4\x1f\x7b\x94\x05\x55\x69\x75\x78\x6f\x1b\x74\x81\x98" -+"\xc1\x7b\x1f\x77\xd4\x73\xab\x63\x92\x0b\x15\x86\xfb\x09\x82\x1d\xeb\xf7\x1e\x05\xf7\x48\xaf\x15\xfb\x2f\x06\xf7\x39\xf7\x80\x05" -+"\x0e\xb3\xf7\x5b\x05\x74\x06\x76\x7d\x82\x86\x75\x1b\x7e\x7f\x8e\x93\x76\x1f\x94\x76\x6a\x90\x6c\x1b\x23\x41\x46\x29\x55\x9a\x6e" -+"\xc7\x4b\x1f\x90\x87\x9c\x78\x9c\x78\x9b\x7a\x9a\x7b\x93\x82\x08\xba\x5a\x98\x71\x60\x1a\x40\x54\x51\x41\x37\x4d\xd2\xed\x92\x8b" -+"\x8f\x8d\x94\x1e\x77\x8d\x69\xfb\x73\x05\x9d\x06\xa2\x92\x96\x95\x9f\x1b\x96\x9a\x87\x82\xa5\x1f\x0b\xf8\x65\x15\xb0\xf7\x5b\x05" -+"\x76\x63\x1d\x5f\x63\x91\x6a\x1b\xfb\x6a\xfb\x54\xfb\x5c\xfb\x73\xfb\x2d\xf7\x00\xfb\x00\xf7\x2d\xf2\xdb\xb6\xf5\xe5\x94\x1d\x0b" -+"\xf8\x07\xf7\x03\x15\x4f\x42\x6b\x7b\x5f\x1b\x52\x66\xaf\xc2\x9b\x8d\x94\x94\xb1\x1f\xa7\x8f\x05\xf7\x2d\xa0\xf7\x00\xd9\xe2\x1a" -+"\xb5\x6d\xa5\x59\xfb\x27\xfb\x35\xfb\x3c\xfb\x2d\x3a\xc1\x53\xda\xd2\xda\xb4\xcf\xc7\x1e\xfb\x6f\xf7\x32\x15\xe5\xae\xd7\xd9\xbe" -+"\x1b\xa0\x99\x7c\x74\x6b\x78\x65\x6b\x6d\x1f\x65\x67\x65\x7a\x33\x75\x08\x0b\x15\x72\x6a\x85\x83\x81\x81\x08\x7a\x7a\x7c\x6a\x1d" -+"\x92\x9d\x1f\x90\x9d\x8c\x8d\x05\x8d\x07\x9e\x1d\x4f\x85\x6e\x77\x1a\x66\x9b\x77\xa9\xba\xaf\xa9\xdf\xc4\x1e\x0b\x1a\x7f\x89\x88" -+"\x6d\x65\x1e\xfc\x05\xfc\x65\x5b\x4f\x7f\x81\x73\x85\x19\x7b\xf7\x4f\x9b\x07\x56\x91\x80\x90\x9f\x1a\xa2\xb2\xc8\xc8\xd4\x1e\x8f" -+"\x8f\x95\x97\x96\x99\x08\xf7\x52\x06\x5a\xfb\x3e\x7f\x66\x84\x86\x4e\x85\x19\x7b\xf8\x86\x07\xcb\xf7\x38\x05\xfc\xe7\xf6\x15\xf7" -+"\xa0\xf7\xea\x2c\xfb\xea\x05\x0b\x24\x1d\xf7\x5c\x16\x6f\x75\x76\x70\x5b\x1d\x0b\x05\x4f\x88\x80\x7e\x5c\x1b\x74\x25\x1d\xf7\x9c" -+"\x06\x90\x9d\x05\x74\x06\x5a\x7c\x97\xb3\x90\x8b\x8b\x8c\xa8\x1f\xa2\xf8\xc2\x05\x7a\x06\xfc\x2a\xfc\xcf\x5c\x4c\x7c\x80\x68\x8c" -+"\x19\x80\x22\x1d\xf7\x5a\x06\x8f\x9d\x05\x78\x06\x6d\x7c\x94\x9d\x91\x8f\x95\x91\x94\x1f\x0b\xf7\xca\xf8\x50\x15\xfb\x14\xfb\x12" -+"\xfb\x23\xfb\x26\x28\xf7\x02\x1d\xc4\xb1\xdd\xdd\x1a\xec\x51\xd0\x3b\x1e\x82\x72\xb5\x1d\xd6\xa5\xe8\xb3\xc9\x1f\xbb\xa9\xb0\xa5" -+"\xb2\x1b\x0b\xf7\x0f\x15\x38\x4a\x83\x83\x75\x1b\x81\x86\x91\x97\x93\x8e\x98\x90\x9d\x1f\x8c\x8f\x8c\x8e\x8c\x1a\x8d\x07\xf7\x2b" -+"\xf8\xd7\x86\x90\x4f\x7d\x65\x85\x51\x84\x19\x7b\x07\xbb\x9f\x85\x7a\x87\x8a\x85\x89\x83\x1f\xfb\x1e\xfc\xa4\x05\x88\x81\x8a\x82" -+"\x84\x1a\x66\x9c\x78\xab\xbf\x0b\x87\x7a\x88\x79\x7e\x1a\x72\x99\x7a\xa1\xae\xb7\xae\xd3\xc4\x1e\x7d\x97\x05\x68\x6f\x76\x79\x7e" -+"\x1b\x83\x86\x93\x97\x92\x8c\x93\x8d\x92\x1f\xe3\xf7\xe5\x05\x43\x06\x75\x3d\x05\xfb\x24\x62\xfb\x05\xfb\x31\x4c\x1b\x7b\x82\x97" -+"\x9f\x93\x8c\x92\x8f\x99\x1f\x0b\xf7\x23\xfb\x8d\x05\x96\x78\x91\x7a\x7f\x1a\x76\x7b\x82\x5e\x87\x1e\x85\x79\x05\xf7\xa1\x06\x91" -+"\x9d\x4c\x8a\x6d\xa2\x59\xe5\x19\xfb\x21\xf7\x93\xf7\x9c\xf7\x6b\xb6\xac\xa4\x95\xb3\x8c\x19\x91\x9d\x05\xfb\x5d\x22\x1d\xb0\x8c" -+"\x98\x86\x7e\x1a\x0b\x91\xa3\x9a\x08\xab\xa0\x9d\xa9\xaf\x1a\xca\x57\xaf\x32\x52\x63\x7e\x70\x6e\x1e\x79\x79\x7f\x73\x77\x1a\x70" -+"\x9d\x77\xa3\xa1\x9f\x9d\x9f\x93\x86\x94\x82\x94\x1e\x80\x96\x89\x8f\x93\x1a\xa0\xae\x9b\xbb\xc2\xa9\x72\x5d\x4e\x58\x64\x3a\x1e" -+"\x79\x06\x0b\x1b\x7f\x85\x8f\x92\x8f\x8c\x8d\x8f\x90\x1f\x91\x93\x8d\x90\x93\x1a\xa0\x79\x9b\x74\x74\x7a\x79\x73\x67\xac\x72\x0b" -+"\xbf\x78\xb5\x67\xa6\x1f\x79\x98\x7c\x92\x68\x95\xc3\x99\xa4\x95\xa8\xa2\x08\xb5\xab\xa0\xb6\xbe\x1a\xe1\x49\xc4\x27\x68\x7c\x88" -+"\x7a\x59\x1e\x86\x7b\x82\x89\x84\x1b\x7c\x83\x94\x9d\x1f\x7b\x06\x64\xfb\x4e\x05\x0b\x88\x8d\x56\x80\x75\x87\x34\x7b\x19\x7b\x07" -+"\xbe\x8a\x98\x85\x77\x1a\x85\x8a\x85\x8a\x86\x1e\x2b\xfb\xf2\x05\xd6\x06\xba\xf7\x32\x94\xa1\xb7\xcf\x08\xe7\xc7\xbe\xbd\xb0\x1b" -+"\x9a\x94\x80\x79\x0b\xd4\x9e\x9d\x99\xd5\x21\x1d\xfb\xa5\x25\x1d\xa6\x93\x8a\x87\x96\x1f\x9b\x86\x95\x7c\x79\x1a\x80\x89\x7f\x87" -+"\x7c\x1e\x54\xfb\x65\x05\x7b\x57\x61\x84\x61\x1b\x4a\x6a\xa1\x0b\x96\x1d\xfc\x5f\x7a\x47\x78\x7a\x4d\x8a\x20\x1d\x0b\xf9\x5c\xf7" -+"\x27\x15\x54\x06\xda\xf7\x97\x05\x67\x06\xfb\xa3\xfb\x97\x7e\x61\x05\xf7\x3c\x06\x6b\x22\x05\xca\x06\xa9\xf3\x05\xc5\x06\x59\xf7" -+"\x79\x15\x4f\xfb\x4e\x05\xfb\x15\x06\x0b\xc9\x1d\x6f\x6e\x3e\x77\x6b\x1d\xa5\x83\x76\xbf\x1f\x81\xa5\x9d\x86\x98\x1b\xbb\xac\x0b" -+"\x05\xb5\x83\x79\x9b\x64\x1b\xfb\x16\xfb\x36\xfb\x50\xfb\x2a\x44\xb3\x60\xcc\xcf\xb7\xab\xef\xcf\x1f\x80\x58\x89\x7c\x74\x1a\x70" -+"\x9c\x79\xa4\xb5\xc0\xb4\xd4\xbe\x1e\x0b\x61\x1b\x7f\x83\x92\x94\x8f\x2d\x1d\x91\x8c\x8f\x91\x1a\xa0\x79\x9c\x76\x76\x7b\x79\x74" -+"\x68\xad\x71\xb8\xe4\xd0\xed\xf7\x4d\xb5\x1e\xd3\xf7\xd4\x05\x0b\x06\xbe\xf7\x52\x05\xd4\x9e\x9d\x99\xd4\x34\x1d\xc2\x8a\x9c\x81" -+"\x6b\x1a\x81\x89\x7b\x87\x7f\x1e\xfb\x0e\xfc\x5e\x7a\x47\x77\x0b\x9c\x1d\xd6\x1a\xdf\x51\xc4\x36\x1e\x0b\x88\x83\x19\x81\x6a\x84" -+"\x6c\x81\x1a\x76\xa0\x7b\xa6\xb9\xac\xa7\xe8\xca\x1e\x7e\x92\x05\x4c\x5a\x7b\x7b\x7b\x1b\x82\x85\x92\x98\x8c\x8b\x8b\x8c\x8f\x1f" -+"\x0b\x1f\x7a\x99\x05\x33\x31\x51\x6d\x39\x1b\xfb\x03\x4b\xd6\xf7\x16\xf7\x0b\xbb\xf7\x0d\xd9\xdc\x1f\xbc\xbb\xca\xa7\xcd\x1b\xe7" -+"\xbe\x55\xfb\x00\x95\x1f\x0b\x15\xfb\x5b\xfb\x3a\xfb\x38\xfb\x57\xfb\x63\xf7\x35\xfb\x38\xf7\x5d\xf7\x61\xf7\x37\xf7\x36\xf7\x5f" -+"\xf7\x5e\xfb\x37\xf7\x37\xfb\x5e\x1f\x0b\xf7\x21\xf8\x9d\x05\xd4\x9e\x9c\x99\xd5\x21\x1d\xfb\xa3\x06\x85\x79\x05\xc2\xda\x1d\x0b" -+"\xc8\x1d\x6d\x67\xd5\x1d\x15\x6b\x72\x73\x6d\x6b\xa5\x71\xab\xaa\xa4\xa3\xaa\xaa\x71\xa5\x6c\x1f\x0b\x85\x53\x81\x19\x7b\xf7\x91" -+"\x07\xf7\x09\xf6\xaa\xc3\xd8\x1f\xec\xd2\xc4\xf7\x02\xf7\x08\x1a\xf7\x38\xfb\x06\xf4\xfb\x46\x1e\xfb\xaa\x0b\x37\x1d\xc2\xc4\x1a" -+"\xb3\x72\xaa\x6a\x6e\x75\x77\x71\x79\x91\x80\x9e\x7a\x1e\x9a\x7d\x90\x83\x80\x1a\x71\x74\x6f\x57\x69\x1e\x0b\x1b\xf7\x07\xe2\xe1" -+"\xf7\x06\xcc\x75\xb1\x30\xe7\x1f\x31\xe6\x82\x99\xbc\x1a\xca\xb5\xb2\xce\xb2\xa9\x7e\x73\xa0\x1e\xa1\x72\x93\x0b\xf7\xd9\xf8\x4d" -+"\x15\x60\x64\x80\x75\x62\x1f\x24\x51\x43\xfb\x07\x21\x1a\x34\xc3\x56\xe6\xcd\xcb\xa8\xc5\xc5\x1e\xcd\xcc\xb3\xdf\x0b\x55\x1d\x90" -+"\x9d\x6f\xf4\x1d\x0b\xe3\xf7\xd6\x88\x8d\x25\x78\x78\x88\x64\x88\x19\x7b\x07\xc1\x8a\x94\x88\x77\x1a\x83\x88\x7a\x85\x78\x1e\x5b" -+"\xfb\x45\x05\x7b\x0b\x7a\x54\x75\x7c\x49\x86\x19\x7b\xf7\xb5\x9b\x07\x8d\x7b\x7f\x8c\x83\x1b\x7a\x8c\x7d\x8e\x81\x91\x08\x84\x8f" -+"\x86\x95\x99\x1a\x0b\x89\x8e\x85\x85\x88\x8a\x83\x85\x1e\x64\x59\x4d\x58\x6b\x82\x08\x72\x83\x84\x85\x80\x1a\x8a\x8b\x89\x8c\x88" -+"\x1e\xd5\x06\x0b\x67\x4e\x1b\x4b\x63\xb0\xc9\x87\x5c\x1d\x0b\x1a\x7c\x87\x79\x7e\x5c\x1e\xfb\x0a\xfc\x3d\x79\x4f\x84\x85\x52\x83" -+"\x19\x7b\xf7\x89\x9b\x07\x4c\x94\x86\x8e\xae\x1a\x0b\x6b\x1d\xa5\x83\x76\xbf\x1f\x81\xa5\x9d\x86\x98\x1b\xbb\xac\xaf\xcf\x99\x1f" -+"\x0e\x15\x55\x5e\x5e\x55\xc8\x1d\x6e\x66\x66\x6e\x6f\x65\x0b\xb5\xac\xa4\x95\xb3\x8c\x19\x91\x9d\x05\xfb\x5a\x22\x1d\xae\x8c\x98" -+"\x86\x7e\x1a\x83\x87\x86\x7a\x7d\x1e\x0b\xc2\xf7\x53\x9f\xd1\x9e\x9b\xcb\x8c\x19\x90\x9d\x05\xfb\x9b\x06\x86\x79\x05\xc3\x8a\x9c" -+"\x82\x6c\x1a\x80\x89\x0b\xaa\x1d\x0e\xaf\x1b\xb6\xae\x6d\x66\x6b\x6c\x5d\x4d\x4e\x1f\xfb\x19\xfb\x16\x05\x79\xf7\x7b\x07\xac\xda" -+"\x05\x0e\xbd\x1d\x7b\x69\xfb\x0f\x7e\x1e\x0b\xf8\x82\xb0\x1d\x0b\x7b\x07\xc6\x83\x96\x84\x6f\xc1\x1d\x0b\x15\xae\x06\xf7\x3f\xf5" -+"\x05\x97\x93\x90\x93\x97\x1a\x9f\x7b\x9b\x76\x82\x82\x87\x85\x84\x1e\x0e\x5f\x1d\xd6\x1d\x52\x92\x80\x91\xa7\x1a\x9f\x8d\x95\x94" -+"\xac\x1e\xf7\x0f\xf8\x4f\x9d\xc5\x92\x91\xc4\x95\x19\x9b\x0b\x15\xae\x06\xf7\x3f\xf5\x05\x97\x93\x90\x93\x97\x1a\x9f\x7b\x9b\x76" -+"\x82\x82\x87\x85\x85\x1e\x0b\x5f\x1d\x77\x81\x82\x87\x85\x85\x1e\x0b\x1a\x58\xb6\x60\xbf\xde\x1d\x6b\x1b\x67\x74\xa0\x0b\xf8\x83" -+"\xf7\x1a\x15\x50\x68\x70\x72\x6f\x1b\x76\x80\xa2\xb9\x91\x8b\x92\x8c\x95\x1f\xf7\x09\x0b\x06\xf7\x3f\xf5\x05\x97\x93\x90\x93\x97" -+"\x1a\xa0\x7b\x9a\x76\x65\x1d\x0b\x15\xae\x06\xf7\x3f\xf5\x05\x97\x93\x90\x93\x97\x1a\x9f\x7b\x9b\x76\x81\x83\x88\x84\x0b\x15\xb4" -+"\xa8\x61\x51\x4a\x73\x32\x68\x4a\x1f\x52\x6c\x66\x6e\x61\x1b\x5e\x6f\xb1\xca\x0b\x1e\xfb\x17\xfc\x5e\x78\x46\x78\x7a\x4c\x8a\x20" -+"\x1d\xf7\x9c\x06\x91\x9d\x05\x0b\xf8\xe0\xf7\x05\x15\x53\x4f\x64\x76\x60\x1b\x5c\x74\xad\xcf\xa1\x8c\x93\x92\xa9\x1f\x0b\x15\x6f" -+"\x74\x75\x70\x6e\xa3\x74\xa8\xa7\xa1\xa1\xa6\xa7\x73\xa3\x6f\x1f\x0e\x16\x6b\x72\x73\x6d\x6b\xa5\x71\xab\xaa\xa4\xa3\xaa\xaa\x71" -+"\xa5\x6c\x1f\x0e\x06\xcb\xa9\x83\x74\xa1\x1f\x9a\x7c\x95\x6c\x6a\x1a\x7d\x8a\x79\x8a\x77\x1e\x0b\x15\xae\x06\xf7\x3e\xf5\x05\x98" -+"\x93\x90\x93\x97\x1a\x9f\x7b\x9b\x76\x82\x82\x0b\x15\x4b\x72\x5a\x67\x4c\x1b\x4b\x62\xb0\xca\x86\x1f\x6e\x06\x8c\x51\x93\x6c\x0b" -+"\xf8\x56\x15\xbc\x06\xa4\xc2\x05\xa7\xc6\x9a\xba\xa3\x1a\xa3\x7f\x98\x75\x5b\x0b\x15\x67\x06\xfb\x23\x22\x32\xeb\x1d\x15\x6f\x74" -+"\x75\x6f\x6f\xa2\x74\xa7\xa6\xa2\xa2\xa7\xa6\x74\xa2\x70\x1f\x0b\x15\x5a\x06\xfb\x31\xdb\x1d\x0b\x1a\x7c\x88\x77\x83\x70\x1e\xfb" -+"\x0f\xfc\x4e\x79\x51\x84\x85\x53\x81\x19\x0b\x8c\x8f\x81\x68\x1d\x98\x8d\x97\x8f\x9a\x1e\x0e\x8c\x93\x1b\xa1\x98\x81\x79\x7d\x8b" -+"\x8b\x7b\x47\x1f\x3a\xfb\xb8\x05\x0b\x15\xae\x06\xf7\x3f\xf5\x05\x97\x93\x90\x93\x97\x1a\xa0\x7b\x9a\x76\x0b\x15\x4c\x72\x5a\x67" -+"\x4d\x1b\x4c\x63\xaf\xca\x87\x1f\x6e\x06\xfb\x00\x0b\x1f\x9c\x06\xba\xf7\x42\x05\xfc\xb4\x06\x5c\xfb\x42\x05\x9e\x06\x9f\x0b\x9f" -+"\xfb\x17\x05\x8c\x82\x8c\x82\x83\x1a\x65\x7d\x82\x4b\x85\x1e\x7b\x0b\x53\xb6\x5f\xc4\xc2\xb8\xb8\xc1\xc2\x5e\xb8\x53\x1f\x69\x04" -+"\xb0\xa9\x0b\x80\x70\x1b\x7c\x7a\x90\x99\x6d\x1f\x9c\x65\x71\x92\x75\x1b\x57\x0b\x96\x48\x1b\x57\x63\x15\x8e\x9a\x92\x8c\x99\x1b" -+"\xd7\xb6\x66\x4b\x0b\x1f\x90\x84\x85\x8d\x82\x1b\x72\x7a\x7b\x75\x73\x9f\x7c\xab\xaa\x0b\x62\xb0\xca\x86\x1f\x6e\x06\x8c\x52\x93" -+"\x6b\x9f\x71\x08\x6d\xa2\x0b\x7a\x46\x77\x7a\x4c\x8a\x20\x1d\xf7\xa0\x06\x91\x9d\x05\x0b\x90\x93\x98\x1a\x9f\x7b\x9b\x76\x81\x83" -+"\x88\x84\x84\x1e\x0e\xfa\x12\xf7\x87\x15\xfe\x10\x06\x83\x5d\x05\xfa\x10\x06\x0e\x87\x7a\x1f\x9c\x06\xb6\xf7\x32\x05\xfc\x75\x25" -+"\x1d\x0b\x15\x8c\x7f\x8b\x8b\x88\x1a\x75\x69\x78\x64\x6c\x6e\x9a\x9b\x0b\xf7\xc6\xf7\x9e\x15\xbc\xfb\x47\x05\x8d\x81\x8d\x80\x85" -+"\x1a\x0b\x46\x78\x7a\x4c\x8a\x20\x1d\xf7\x63\x06\x90\x9d\x05\x0b\x79\x1a\x66\x9d\x79\xae\xd2\xc0\xc1\xf7\x55\xf7\x07\x1e\x6d\x0b" -+"\x66\x6e\x6f\x65\x66\x6f\xa8\xb0\xae\xa9\xa9\xae\x1f\x0e\x76\x82\x83\x88\x84\x84\x1e\x0e\x1a\x4a\x74\x5d\x5f\x71\x1e\x7a\x6c\x64" -+"\x83\x4d\x1b\x79\x0b\xf8\x77\x15\x58\x06\xfc\x43\xfd\x4b\x05\xbf\x06\x0e\x05\xb2\xa5\x9c\x97\xaa\x1b\xa0\xa0\x86\x82\x9c\x1f\x0b" -+"\x8a\x9c\x81\x6a\x1a\x81\x89\x7c\x87\x7f\x1e\xfb\x0e\x0b\xfb\x3d\x05\xb2\x06\xf7\x1d\xf3\xdd\x23\x05\xaf\x06\x0b\x1a\x80\x07\x8c" -+"\x78\x8b\x86\x87\x1a\x74\x83\x81\x68\x0b\x1f\xbd\xb0\xa8\xc2\xc6\x1a\xeb\x40\xc0\xfb\x1c\x1e\x0b\xbc\xb4\xa4\xbf\xae\x1e\x7a\x9d" -+"\x05\x74\x70\x73\x82\x0b\x6e\x1a\x7c\x87\x72\x84\x73\x1e\xfb\x0f\xfc\x4e\x79\x0b\x1a\xa0\x81\x96\x78\x62\x7e\x6f\x21\x80\x1e\x0e" -+"\xed\x1d\xbc\x0b\x8d\x90\x81\x1f\x7f\x91\x83\x98\x9a\x1a\x95\x8e\x0b\x19\x86\x79\x05\xf7\x97\x06\x90\x9d\x70\x8c\x83\x0b\x1e\xf7" -+"\x1f\xf8\x9b\x15\x8f\xa2\x97\x8c\x98\x1b\x0b\xf8\xa5\xf6\x1d\x0b\xbc\xf7\x28\xc8\xe2\x1f\xdc\xc3\xc8\xb1\xd4\x1b\x0b\x4c\x54\x81" -+"\x83\x7a\x1b\x81\x83\x93\x97\x9b\xaa\x0b\xf9\x38\xf6\x1d\x0b\x56\xd9\xfb\x8e\x18\x51\xfb\x6c\x78\x42\x78\x7c\x0b\x75\x1a\x6c\x9d" -+"\x7a\xa9\xba\xa1\x9e\xed\xd0\x1e\x0b\xf4\x05\x66\x06\xeb\xfb\x3d\x05\xb9\x06\x0e\x06\x85\x70\x7d\x45\x75\xfb\x05\x68\xfb\x46\x0b" -+"\x86\x90\x4e\x7d\x65\x85\x52\x84\x19\x7b\x07\x0b\x1f\x7e\xa4\x9d\x87\xa2\x1b\xf7\x26\xf7\x2e\x0b\xa9\x78\xa0\x6f\x74\x70\x7c\x70" -+"\x71\x1f\x62\x0b\x77\x7a\x4e\x8a\x20\x1d\xf7\x96\x06\x0b\x05\xd4\x9e\x9d\x99\xd5\x1b\x8f\x9d\x05\x0b\x08\x2c\x4f\x5a\x58\x6b\x1b" -+"\x7e\x83\x95\x0b\x8a\x19\x86\x79\x05\xf7\x97\x06\x90\x9d\x0b\x8c\x84\x8b\x80\x8f\x19\x7b\x90\x81\x9a\x0b\x8e\x9b\x92\x8c\x95\x1b" -+"\x9d\x93\x84\x7c\x0b\x15\x58\x06\xfc\x5b\xfd\x42\x05\xbe\x06\x0b\x1b\x57\x6f\x6e\x3e\x77\x1f\xa8\x06\xab\x0b\x1f\x6e\x06\x52\x93" -+"\x6c\x9f\x71\x1e\x6e\x0b\xc3\x48\xdc\xbc\xc0\xa2\xb8\xbe\x1f\xcb\x0b\xf8\xe2\xf7\x70\x15\xcd\xfc\x8c\x49\x07\x0b\x70\xa3\x64\x4b" -+"\x4c\x4e\xfb\x33\x24\x1e\x0b\x82\x88\x84\x85\x1e\x0e\x01\x00\x01\xe3\x01\x05\x00\x01\x0a\x02\x01\x40\x03\x01\x87\xff\x02\x87\xa0" -+"\x02\x8e\x02\x00\x01\x00\x04\x00\x07\x00\x44\x00\x7f\x00\xbf\x01\x53\x02\x12\x02\xcb\x02\xd0\x03\x0c\x03\x48\x04\x19\x04\x2b\x04" -+"\x32\x04\x36\x04\x3d\x04\x51\x04\x9e\x04\xf1\x05\x45\x05\xb5\x05\xe9\x06\x39\x06\x99\x06\xbd\x07\x26\x07\x88\x07\xa3\x07\xb0\x07" -+"\xcc\x07\xe2\x07\xfc\x08\x57\x09\x04\x09\x08\x09\x82\x09\x86\x09\x8a\x09\x8e\x09\xfe\x0a\x02\x0a\x32\x0a\x37\x0a\x3c\x0a\x40\x0a" -+"\x44\x0a\xbf\x0a\xc3\x0a\xc7\x0a\xcd\x0b\x5f\x0b\x63\x0b\x66\x0b\x6a\x0b\x6e\x0b\xb5\x0b\xba\x0c\x4f\x0c\x53\x0c\x57\x0c\x87\x0c" -+"\x9a\x0c\xc9\x0c\xe7\x0c\xf2\x0c\xfb\x0c\xfe\x0d\x6e\x0d\x73\x0d\x76\x0d\x7b\x0d\xd5\x0d\xd8\x0d\xda\x0d\xe3\x0e\x1c\x0e\x21\x0e" -+"\x28\x0e\xf6\x0e\xf9\x0e\xfc\x0f\x71\x0f\xdc\x0f\xe1\x0f\xe6\x0f\xf5\x0f\xf8\x10\x5b\x10\x5f\x11\x08\x11\x0d\x11\x12\x11\x6f\x11" -+"\x7b\x11\xdf\x12\x1d\x12\x5b\x12\xdd\x13\x71\x13\x75\x14\x0d\x14\x91\x15\x3f\x15\xa3\x15\xc3\x15\xe5\x16\x42\x16\x56\x16\xab\x17" -+"\x50\x17\xfa\x18\x09\x18\xad\x19\xb5\x19\xb9\x1a\x42\x1a\x5b\x1a\x62\x1a\x7a\x1a\x9c\x1b\x40\x1b\x64\x1c\x61\x1c\xbd\x1c\xc5\x1c" -+"\xcb\x1c\xd3\x1c\xe4\x1c\xec\x1c\xf4\x1c\xfd\x1d\x05\x1d\x12\x1d\x3b\x1d\x45\x1d\x6e\x1d\x76\x1d\x7a\x1d\x94\x1d\xf9\x1e\x4b\x1e" -+"\x6c\x1f\x1a\x1f\x52\x1f\x63\x1f\x68\x1f\xb2\x1f\xb5\x20\x5c\x21\x14\x21\x66\x21\x76\x21\xef\x22\x85\x22\x88\x22\xf8\x23\x12\x23" -+"\x62\x23\xa0\x23\xaf\x23\xc5\x23\xf1\x24\x6f\x24\xc4\x24\xfb\x25\xbb\x25\xc0\x26\x26\x26\x52\x26\xa3\x27\x39\x27\x41\x27\x49\x27" -+"\x51\x27\x59\x27\x66\x27\x97\x27\xd9\x27\xe2\x27\xeb\x27\xf4\x27\xfd\x28\x07\x28\x11\x28\x30\x28\x3a\x28\x6b\x28\x72\x28\x7f\x28" -+"\x8e\x28\x95\x28\xc9\x28\xd0\x28\xdf\x28\xe8\x28\xf1\x28\xf9\x29\x17\x29\x20\x29\x28\x29\x2e\x29\x35\x29\x3c\x29\x42\x29\x68\x29" -+"\x70\x29\xca\x29\xd3\x29\xdd\x29\xe6\x29\xfc\x2a\x1b\x2a\x24\x2a\x31\x2a\x3a\x2a\x41\x2a\x62\x2a\x69\x2a\x70\x2a\x76\x2a\x7e\x2a" -+"\x88\x2a\x90\x2a\x98\x2a\xa0\x2a\xa8\x2a\xb1\x2a\xbb\x2a\xc5\x2b\x3e\x2b\xb0\x2c\x99\x2d\x5a\x2d\xf5\x2e\x99\x2f\x24\x2f\xaf\x2f" -+"\xc7\x2f\xdc\x2f\xe3\x2f\xf4\x2f\xfd\x30\x66\x30\xab\x30\xf0\x30\xf9\x31\x01\x31\x0b\x31\x16\x31\x95\x31\x9e\x31\xa1\x31\xbb\x31" -+"\xd6\x31\xde\x31\xe8\x31\xf0\x32\x6a\x33\x0d\x33\x53\x33\xbe\x33\xc1\x33\xe3\x34\x6a\x34\x6d\x34\x85\x34\x8e\x34\x97\x34\xa1\x34" -+"\xfd\x35\x33\x35\xc7\x35\xdc\x35\xe7\x35\xf1\x36\x34\x36\x38\x36\x4b\x36\x75\x36\xa1\x36\xaa\x37\x06\x37\x0f\x37\x18\x37\x24\x37" -+"\x39\x37\x42\x37\x4a\x37\xa9\x37\xb1\x37\xb9\x37\xc2\x38\x1b\x38\x2f\x38\x3b\x38\x47\x38\xdd\x39\x29\x39\x78\x39\x9e\x39\xa3\x3a" -+"\x03\x3a\xc5\x3a\xcd\x3a\xd6\x3a\xde\x3b\x40\x3b\x48\x3b\x7f\x3b\x8e\x3b\x96\x3b\xdd\x3c\x29\x3c\x76\x3c\x7e\x3c\xd3\x3d\x77\x3d" -+"\x80\x3d\x92\x3d\x9e\x3d\xfc\x3e\x00\x3e\x08\x3e\x6f\x3e\x7d\x3e\xad\x3e\xb6\x3e\xc0\x3e\xca\x3e\xd3\x3f\x5a\x3f\x63\x3f\x77\x3f" -+"\x91\x3f\x9b\x3f\xd0\x3f\xde\x3f\xf2\x3f\xf6\x40\x52\x40\xa2\x40\xef\x40\xf2\x41\x71\x41\x75\x41\x7e\x42\x6e\x42\xb8\x42\xbc\x42" -+"\xf3\x42\xf7\x43\x58\x43\xc0\x43\xc3\x44\x17\x44\x48\x44\xae\x44\xf4\x45\x36\x45\x3d\x45\x43\x45\xc2\x46\x11\x46\x31\x46\x7d\x46" -+"\xd5\x47\x26\x47\x5d\x47\x68\x47\xeb\x48\x68\x48\xd6\x49\x1a\x49\x89\x49\xa8\x4a\x35\x4a\xbb\x4a\xbf\x4a\xec\x4b\x49\x4b\xcf\x4c" -+"\x52\x4c\xd9\x4c\xec\x4d\x26\x4d\x99\x4e\x0f\x4e\x7a\x4e\xda\x4f\x3f\x4f\x46\x4f\x53\x50\x0e\x50\x3e\x50\x41\x50\x86\x50\x9b\x50" -+"\xfd\x51\x8c\x51\xda\x52\x06\x52\x73\x52\xea\x53\x30\x53\xe5\x53\xea\x54\xa0\x55\x2f\x55\xb2\x56\x29\x56\xbd\x57\x8a\x58\x09\x58" -+"\x88\x58\xd4\x59\x31\x59\xa3\x5a\x27\x5a\x77\x5b\x0c\x5b\x7e\x5b\xdc\x5c\x48\x5c\x89\x5c\xd2\x5d\x25\x5d\x91\x5d\xfe\x5e\x9d\x5e" -+"\xc3\x5f\x00\x5f\x61\x5f\xb4\x60\x06\x60\x98\x61\x1b\x61\xc9\x61\xfd\x62\x40\x62\x48\x62\x7d\x62\xb3\x62\xed\x63\x33\x63\x5d\x63" -+"\x93\x63\xb4\x63\xd5\x63\xf6\x64\x17\x64\x24\x64\x3a\x64\xb7\x64\xc1\x64\xcb\x65\x06\x65\x10\x65\x65\x65\xe3\x66\x61\x66\x76\x66" -+"\xc0\x67\x34\x67\x63\x67\x88\x67\x9b\x67\xa5\x67\xb0\x67\xda\x67\xe4\x68\x1b\x68\x95\x68\x9a\x68\xb9\x68\xda\x69\x2b\x69\x30\x69" -+"\x44\x69\xc7\x69\xe1\x6a\x34\x6a\xca\x6b\x4e\x6b\x67\x6b\x72\x6b\x91\x6b\x99\x6b\xc0\x6b\xfa\x6c\x27\x6c\x6e\x6c\x95\x6c\xd2\x6d" -+"\x66\x6d\x70\x6d\xe8\x6e\x55\x6e\x93\x6e\xd1\x6f\x16\x6f\x63\x6f\xa3\x6f\xa8\x6f\xb8\x6f\xe0\x6f\xfe\x70\x4f\x70\x8e\x71\x05\x71" -+"\x0f\x71\x85\x71\xa2\x71\xfc\x72\x14\x72\x25\x72\x30\x72\x59\x72\xa2\x73\x10\x73\x86\x73\xab\x73\xf5\x74\x78\x74\x85\x75\x24\x75" -+"\x2b\x75\x33\x75\x94\x75\xc8\x76\x2e\x76\x36\x76\x42\x76\x4a\x76\xb5\x77\x39\x77\x3c\x77\x57\x77\x65\x77\x6c\x77\xd7\x78\x43\x78" -+"\xbd\x79\x46\x79\x7a\x79\xa2\x79\xd8\x7a\x6c\x7a\x9c\x7a\xa4\x7a\xc0\x7a\xca\x7b\x0f\x7b\x21\x7b\x6c\x7b\x76\x7b\xa1\x7b\xab\x7b" -+"\xb4\x7b\xfb\x7c\x51\x7c\xe2\x7d\x3e\x7d\x7a\x7d\xfe\x7e\x5b\x7e\x8e\x7e\xa8\x7f\x0d\x7f\x73\x7f\x90\x7f\xa5\x7f\xb7\x7f\xc1\x7f" -+"\xdc\x7f\xdf\x7f\xe3\x7f\xec\x80\x00\x80\x08\x80\x0c\x80\x32\x80\xc9\x81\x57\x81\xcc\x81\xec\x82\x0c\x82\x2d\x82\x4c\x82\xce\x83" -+"\x3c\x84\x25\x84\xee\x85\x49\x85\x8a\x85\xd1\x86\x59\x86\xb4\x87\x5b\x87\x8f\x88\x15\x88\x9e\x88\xff\x89\x65\x89\xc1\x8a\x1d\x8a" -+"\x95\x8a\xff\x8b\x8c\x8c\x39\x8c\xcb\x8c\xfe\x8d\x3d\x8d\xd0\x8e\x5e\x8e\xe0\x8e\xe2\x8e\xe6\x8f\x47\x8f\x87\x8f\xfd\x90\x73\x91" -+"\x0c\x91\x65\x91\x95\x91\xad\x91\xc4\x91\xcf\x92\x87\x93\x00\x93\x04\x93\x08\x93\x24\x93\x41\x93\xb1\x93\xca\x94\x0f\x94\x38\x94" -+"\x5c\x94\x61\x94\x6c\x94\x9a\x94\xb9\x94\xd9\x94\xfc\x95\x0b\x95\x14\x95\x1d\x95\x36\x95\xfd\x96\x07\x96\x10\x96\x1a\x96\x25\x96" -+"\xbf\xfc\x2e\x0e\xfc\x2e\x0e\xfb\xdb\xf7\x1d\xf7\x45\x15\xc3\xf7\x2d\xa5\xca\xb8\xef\x08\xa7\xc9\x95\xaa\xa9\x1a\xad\x7d\x9c\x71" -+"\x66\x78\x6a\x38\x7d\x1e\x74\xfb\x22\x83\x66\x62\xfb\x53\x08\x6e\x34\x15\x70\x72\x73\x70\x6c\xa1\x74\xa8\xaa\xa4\xa2\xa8\xa7\x72" -+"\xa4\x6d\x1f\x0e\xfb\x84\xf7\xec\xf8\x39\x15\xc6\xf7\x14\xa8\xd3\x9b\x1a\x9b\x7d\x98\x7a\x73\x71\x78\x75\x86\x1e\x85\x73\x82\x3d" -+"\x83\x25\x08\xfb\x32\x16\xc6\xf7\x13\xa8\xd4\x9b\x1a\x9b\x7d\x98\x7a\x73\x71\x78\x75\x86\x1e\x85\x72\x82\x3e\x83\x25\x08\x0e\xf8" -+"\x65\xf7\x9f\x15\x2c\x06\xc1\xf7\x23\x05\xf4\x06\x96\xc1\x05\x2b\xc7\x0a\xfb\x16\xc7\x0a\x22\x06\x80\x55\x05\xeb\x06\x55\xfb\x23" -+"\x05\x22\x06\x80\x55\x05\xea\xc8\x0a\xf7\x16\xc8\x0a\xf4\x06\x30\xf7\x59\x15\x55\xfb\x23\x05\xfb\x16\x06\xc1\xf7\x23\x05\x0e\xf8" -+"\x85\xf8\xf8\x15\x6b\xa2\x60\x9d\x5d\x95\x9b\xcf\x18\x69\x06\x7a\x4c\x05\x3c\x75\x86\x73\x61\x1f\x5c\x70\x6f\x5d\x56\x1a\x66\x97" -+"\x6d\xa8\x67\x1e\xa1\x70\x9f\x79\xbf\x67\x46\xfb\xbd\x18\x3d\x9e\x71\xb0\x80\xf4\x7b\x88\x18\x70\xfb\x0f\xaf\x6d\xbf\x74\xc9\x7f" -+"\x19\x75\x30\x05\xae\x06\xa0\xe4\xd4\x8e\xad\x92\xb2\x9f\x19\xc6\xa9\xae\xc7\xd1\x1a\xda\x72\xaf\xfb\x09\xe6\x1e\xc3\xf7\x81\xc8" -+"\x73\xa2\x68\x8c\x41\x19\x9a\x89\x05\xfb\x4f\x3d\x15\x4d\xb8\x78\xa6\xb9\x1a\xb8\xa3\xae\xb6\x9a\x1e\x92\x9e\x8f\x8c\xb8\x1b\x5c" -+"\xfb\xe3\x15\x91\x86\x05\xcf\x53\x9c\x6e\x56\x1a\x37\x57\x5d\x20\x83\x1e\x0e\xf7\x41\xf9\x3f\xf8\x07\x15\x21\xfb\x01\xfb\x0b\xfb" -+"\x09\x36\xb7\x59\xd7\xb7\xb3\x9d\xac\xab\x1f\xc1\xc4\xab\xd9\xd8\x1a\xcf\x63\xb3\x48\x1e\x96\x6b\x15\xb2\xab\x67\x5f\x4c\x6b\x3e" -+"\x5b\x58\x1f\x73\x75\x6e\x7d\x6e\x1b\x62\x77\xa3\xba\xbb\xa8\xdd\xad\xbc\x1f\xb4\xa6\xa7\x9d\xab\x1b\x62\xf7\xe5\x15\x63\x06\x59" -+"\x59\x60\x79\x47\x1b\x6a\x74\x91\x96\x7e\x1f\x79\x9b\x05\x98\x7d\x70\x93\x70\x1b\xfb\x02\xfb\x00\xfb\x0c\xfb\x0f\x42\xbf\x52\xce" -+"\xbf\xba\xa5\xbb\xb1\x1f\xb2\xbd\xa8\xd6\xbf\x1a\x97\x89\x9b\x87\x9e\x1e\x8e\x8b\x8b\x8a\x8e\x1e\x83\xa0\x98\x89\xa6\x1b\xba\xa2" -+"\x91\xa3\xb6\x1f\xfb\xf2\xfd\x06\x05\xba\x06\xf0\xf8\xf9\x15\x92\x76\x8d\x7e\x7a\x1a\xfb\x06\x3a\xfb\x04\x39\x66\x75\xa3\xb2\xf6" -+"\xdd\xf7\x1f\xcb\x90\x8e\x89\x85\x92\x1e\x9a\x7f\x95\x86\xa6\x84\x08\x0e\xf7\x0a\xf8\xa6\xf7\xf2\x15\x78\x07\xb3\x88\x95\x84\x75" -+"\x1a\x68\x7b\x6f\x4c\x3f\x1e\x6b\xbc\x6c\xe0\x73\xf2\xca\xab\xa8\x9d\xa6\xa3\x08\xae\xab\x9d\xae\xad\x1a\xc0\x5f\xb4\x51\x2d\x49" -+"\x36\xfb\x0d\x80\x8c\x7e\x8e\x70\x1e\x86\x8d\x7f\x8c\x7d\x1e\x23\x5e\x5f\x73\x68\x6e\x08\x5b\x63\x73\x5d\x55\x1a\x2a\xd2\x4e\xf7" -+"\x03\xcb\xaa\x98\xcd\xf3\x1e\x52\xb8\xb2\x75\xc0\x1b\xbd\xaf\x9e\xbc\xb6\x1f\x80\x96\x05\x74\x6e\x79\x84\x74\x1b\x5c\x68\xa6\xce" -+"\x63\x1f\xc2\xd7\x9a\xa1\xa9\xb5\x9d\xa5\x96\x99\x96\x95\x9a\x96\x96\x8f\xa8\x8e\x08\x9c\x07\xfc\x12\x86\x15\xaf\xfb\x13\xae\x36" -+"\xad\x60\x08\x64\x5c\x60\x7a\x59\x1b\x42\x54\xc3\xd5\xd3\xcc\xd3\xed\xb0\x1f\xd8\xde\x15\x87\xa9\x8a\x9f\xa5\x1a\xe5\xa0\xb3\xbb" -+"\xa9\x98\x7a\x63\x4a\x75\x6c\x36\x56\x1e\x0e\xfb\xdb\x80\x0a\x0e\xfb\xdb\xf7\x33\xfb\x43\x15\x66\xf1\x80\xc8\xec\x1a\xf7\x0d\xa7" -+"\xf7\x23\xba\xf7\x03\x1e\xac\xda\xaa\xba\xcc\xcf\x7e\x9a\x18\xfb\x16\xfb\x0a\x58\x49\x61\x23\x08\x71\x4c\x80\x4e\x3e\x1a\x3e\x97" -+"\x40\xa1\x46\x1e\x99\x61\x9a\x6b\xaf\x49\x08\x0e\xfb\xdb\xa8\xfb\x48\x15\xf7\x10\xf7\x00\xbe\xcc\xb8\xf7\x00\x08\xa7\xcd\x97\xca" -+"\xd6\x1a\xc4\x83\xca\x7d\xc7\x1e\x7a\xcf\x7c\xaf\x5e\xdb\x78\x86\x18\xad\x3a\x9a\x3a\x27\x1a\xfb\x13\x69\xfb\x35\x59\xfb\x00\x1e" -+"\x6e\x4a\x6d\x61\x4e\x4b\x08\x0e\xf7\xd3\xf8\x88\x15\xa0\x8f\x9e\x97\xb0\x1e\x93\xa5\x8e\x98\x96\x1a\xa2\x7d\x9b\x75\x75\x7e\x7c" -+"\x72\x82\x8d\x82\x91\x77\x1e\x99\x5e\x8f\x73\x60\x1a\x64\xa2\x77\x9b\x6b\xaf\x08\xa2\x77\x80\x92\x7b\x1b\x77\x7c\x7c\x77\x70\x9a" -+"\x80\xb9\x83\x1f\xb0\x85\xaa\x80\xa4\x7c\x97\x84\x18\x60\x71\x7a\x84\x5c\x83\x08\x61\x84\x7a\x7e\x73\x1a\x77\x9b\x7b\x9e\x9c\x9b" -+"\x95\xa0\x9c\x1e\xa7\xae\x97\x96\xab\x9e\x94\x90\x8e\x8d\x8e\x8e\x08\x8d\x7b\x8b\x86\x83\x1a\x75\x85\x72\x7e\x67\x1e\x84\x76\x88" -+"\x80\x82\x1a\x75\x9a\x7b\x9f\xa2\x9b\x9b\xa3\x94\x89\x92\x85\x9d\x1e\x7c\xb5\x87\xa1\x8a\xc0\x92\x87\x18\xac\x78\xa2\x77\xa5\x6a" -+"\x08\x74\x9e\x97\x83\x9a\x1b\xa1\x9b\x9c\xa1\xa2\x7a\x97\x5f\x92\x1f\x6f\x90\x74\x92\x7c\x93\x66\x9e\x18\xb6\xa6\x9c\x92\xba\x93" -+"\x08\xb5\x92\x9a\x96\xa5\x1a\xa1\x7c\x9a\x74\x7e\x83\x87\x7a\x7d\x1e\x55\x52\x89\x89\x5f\x6e\x08\x0e\x9a\xf7\xc5\xf7\xb2\x15\xfb" -+"\x6f\x49\xf7\x6f\xfb\x70\xcd\xf7\x70\xcb\x0a\xfc\x2e\x90\xfb\x15\x33\x1d\xfb\xdb\xab\x0a\xfc\x2e\xdd\xef\x4c\x0a\x0e\xfc\x12\xf7" -+"\xcd\xf9\x2e\x15\xfc\x0e\xfd\x40\x05\xd4\x06\xf8\x0e\xf9\x40\x05\x0e\xf7\xe9\xf9\x38\x15\xfb\x31\xfb\x2c\xfb\x78\xfb\x7f\xfb\x18" -+"\xcb\x33\xec\xb6\xb5\x9a\xaa\xb5\x1f\xf0\xd5\xd7\xf7\x3a\xf7\x24\x1a\xf7\x32\x50\xea\x2a\x1e\x85\x6f\x15\xc0\xa9\x5d\x3b\xfb\x1a" -+"\x63\xfb\x39\x52\x25\x1f\x49\x65\x62\x69\x5d\x1b\x56\x6b\xbd\xe0\xf6\xbe\xf7\x59\xbf\xe8\x1f\xcb\xb0\xb1\xaa\xb9\x1b\x0e\xbc\x16" -+"\xf7\xab\x9a\x7a\x06\x5a\x77\x94\xa2\x94\x8e\x9a\x94\xa7\x1f\x8d\x92\x8c\x90\x8e\x95\xf7\x23\xf8\x9b\x18\x90\x9d\x8c\x91\x90\x1a" -+"\x8f\x89\x8e\x88\x1e\x8b\x6f\x86\x55\x80\x1e\x31\x79\x89\x8a\x84\x8a\x7f\x89\x19\x7c\x07\xc4\x8d\x05\xa2\x8c\x9a\x7f\x77\x1a\x84" -+"\x89\x84\x86\x77\x1e\xfb\x1e\xfc\x80\x7f\x66\x76\x81\x3c\x84\x19\x0e\xf8\x24\xf7\x1f\x15\x74\x5a\x77\x7f\x53\x89\x08\xfb\x52\x90" -+"\x06\xf7\x54\xf7\x54\x05\xf7\x09\xf7\x09\xab\xbd\xce\x1a\xea\x44\xd5\x30\x67\x66\x82\x7a\x6d\x1e\x58\x6f\x70\x69\x6e\x43\xa0\x84" -+"\x18\xcc\xb0\xb6\xa8\xc7\x1b\xd3\xc0\x57\x45\x76\x88\x78\x85\x7e\x1f\x73\x55\x5d\x4c\x4a\x45\xfb\x66\xfb\x74\x18\x7a\xf7\xf7\x07" -+"\xbd\xf7\x18\x05\x0e\xf7\x46\xf8\xcb\x15\xba\xae\xad\x9f\xb5\x1b\xc1\xae\x67\x54\x61\x76\x67\x60\x6e\x1f\x60\x6e\x60\x7c\x32\x7c" -+"\x8c\x7b\x18\xc3\x95\x8a\x82\xa5\x1f\xc8\x74\xab\x55\x3b\x1a\x68\x83\x67\x7d\x73\x1e\x63\x74\x5e\x6f\x62\x1b\x78\x75\x95\xa1\x6d" -+"\x1f\xa0\x6e\x7b\x92\x78\x1b\x6f\x7b\x7d\x72\x65\xb3\x76\xd3\xc3\xbf\x98\xa3\xb4\x1f\xda\xb9\xbd\xdf\xe4\x1a\xd4\x6e\xb8\x49\xaa" -+"\x1e\x8e\x07\xf7\x0c\xba\xae\xac\xcf\x1a\xd4\x50\xc1\x3a\x46\x4d\x64\x4a\x6b\x1e\x0e\xf8\x59\xf7\x85\x15\x2c\x06\xf7\x0d\xf8\x47" -+"\x05\x62\x06\xfc\x35\xfc\x43\x77\x48\x05\xf7\x9a\x06\x5a\xfb\x46\x05\xda\x06\xb9\xf7\x44\x05\xef\x06\xfb\x36\xcc\x15\xfb\x68\x8f" -+"\x06\xf7\xc4\xf7\xd2\x05\x8f\x06\x0e\xf7\x82\xf8\xe7\x15\xf7\x7a\x06\xa2\xd2\x05\xfb\x94\x06\x23\xfb\x6e\x05\x7c\x07\xec\x76\xac" -+"\x7f\xaf\x6e\x08\xab\x71\xa0\x59\x56\x1a\xfb\x01\x3a\x29\x31\x76\x79\x93\xa0\x6e\x1e\x9e\x72\x7c\x92\x7b\x1b\x74\x7a\x7a\x74\x67" -+"\xb2\x76\xce\xf7\x39\xf7\x19\xf7\x14\xf7\x33\xc9\x74\xc0\x60\xb4\x1f\x65\xae\x68\x9b\x3a\x9f\x08\x0e\xf8\x9c\xf9\x42\x15\xfb\x1a" -+"\x7b\x48\x73\x35\x4c\x08\xfb\x12\x2d\x3e\xfb\x22\xfb\x23\x1a\xfb\x14\xd3\x38\xf7\x03\xf7\x1a\xf7\x06\xf7\x13\xf7\x2b\xf1\x44\xd5" -+"\x28\x6f\x6a\x83\x7e\x70\x1e\x87\x8d\xd0\xf7\x13\xf7\x1c\xf0\xf7\x09\x99\x19\xfb\x9a\xfb\x97\x15\xd0\xb7\x59\x3e\x47\x73\x3c\x66" -+"\x57\x1f\x5e\x6d\x68\x76\x60\x1b\x4e\x67\xbc\xdd\xcf\x9f\xde\xa5\xb7\x1f\xb9\xa6\xac\x9f\xba\x1b\x0e\xf8\xad\xf9\x24\x15\x85\x95" -+"\x05\xfc\x0b\x06\x3a\xfb\x1c\x99\x82\xb9\xc3\xa7\x9a\xc6\x8c\x19\xf7\x72\x06\x8d\x88\xfc\x03\xfc\xea\x05\xd1\x06\x0e\xf7\xdd\xf8" -+"\x12\x15\xf7\x0b\xb2\xb8\xb6\xd2\x1a\xde\x42\xc5\x25\x20\x42\x4e\x32\x55\x9f\x64\xce\x42\x1e\xfb\x12\x63\x46\x44\x33\x1a\x70\x93" -+"\x6d\x9a\x72\x1e\x52\xac\xc7\x6e\xde\x1b\xf7\x10\xe6\xd8\xf2\xce\x6d\xc1\x36\xe3\x1f\x39\x65\x15\xf7\x02\xfb\x06\x97\x79\x52\x1a" -+"\x3a\x52\x50\x3c\x3c\x53\xc5\xdd\xde\xc1\xd0\xea\xb0\x1e\xcb\xc2\x15\x3d\xd5\x7a\xa4\xb5\x1a\xd1\xb1\xb6\xcb\xcb\xb6\x5c\x44\x4c" -+"\x70\x6b\x34\x62\x1e\x0e\xa2\x7a\x15\xf7\x1b\xa2\xce\xa6\xde\xcc\x08\xf7\x08\xe7\xcf\xf7\x19\xf7\x1b\x1a\xf7\x18\x43\xe1\xfb\x01" -+"\xfb\x12\xfb\x08\xfb\x14\xfb\x20\x22\xc9\x41\xe3\xb4\xae\x97\xac\xc0\x1e\x8f\x89\x7a\x5d\x59\x4a\x4e\x53\x19\x42\x4e\x5a\x71\x3c" -+"\x7a\x08\xf7\xbb\xf9\x1d\x15\xc9\xb0\x5a\x38\x3d\x72\x2e\x6d\x6e\x1f\x71\x71\x62\x7a\x65\x1b\x4b\x67\xbd\xe4\xd5\xa8\xdb\xb6\xb7" -+"\x1f\xa4\xa3\xaa\x98\xad\x1b\x0e\xfb\xdb\xf5\xef\x15\x6c\x72\x71\x6c\x6e\xa4\x72\xa8\xab\xa4\xa3\xa9\xaa\x72\xa5\x6d\x1f\xee\xf7" -+"\xe9\x9c\x0a\xfb\xdb\xaf\xfb\x15\x69\x0a\xf7\x46\xf8\xbd\x9c\x0a\x9a\xf9\x01\xf8\xe8\x15\xfc\x79\xfb\x9c\x89\x85\xf7\xe3\xfb\xa8" -+"\xa8\xf3\xfb\x8d\xf7\x60\xf7\xfd\xf7\x5b\x05\x0e\x9a\xf8\xe2\xf8\x16\x15\xfc\x8c\x49\xf8\x8c\x06\xfb\x1a\x04\xfc\x8c\x49\xf8\x8c" -+"\x06\x0e\x9a\xe9\xbd\x15\xf8\x79\xf7\x9c\x8d\x92\xfb\xe4\xf7\xa7\x6f\x24\xf7\x8d\xfb\x61\xfb\xfd\xfb\x5b\x05\x0e\xf7\x6c\xf7\x42" -+"\x15\x92\xa8\x99\xc3\xa8\xb1\xd3\xc4\x19\xf7\x06\xe8\x9f\xa6\xc8\x1a\xd9\x51\xbe\x31\x39\x51\x5e\x4b\x6d\x9a\x79\xa4\xa2\x9b\x9a" -+"\x9f\x93\x89\x91\x86\x96\x1e\x85\x98\x89\x91\x93\x1a\xa9\xa5\x9d\xb7\xbe\xa8\x6d\x54\x57\x75\x61\x4a\x44\x1e\x38\x2c\x7f\x75\x7a" -+"\x28\x08\x7d\x36\x15\x6d\x74\x74\x6e\x6e\xa2\x75\xa9\xa7\xa4\xa3\xa6\xa8\x73\xa2\x6e\x1f\x0e\xf7\x98\xf8\xdf\xf8\x55\x15\xb3\x76" -+"\x7c\x96\x68\x1b\x61\x62\x79\x6b\x6d\x1f\x58\x57\x6c\x3e\x44\x1a\x4c\xb2\x5b\xbd\xb5\xb8\xa5\xb8\xaf\x1e\x60\x91\xaf\x6e\xba\x1b" -+"\xee\xe0\xf7\x02\xf7\x14\xf7\x37\xfb\x22\xf7\x13\xfb\x4c\xfb\x5e\xfb\x34\xfb\x2e\xfb\x56\xfb\x51\xf7\x33\xfb\x27\xf7\x62\xd2\xbd" -+"\x98\xb7\xe9\x1f\x7f\xa8\x05\x68\x3e\x5a\x7f\x49\x1b\xfb\x40\xfb\x0d\xf7\x0d\xf7\x3f\xf7\x50\xf7\x09\xf7\x1a\xf7\x37\xf7\x30\xf7" -+"\x15\xfb\x0e\xfb\x26\x4f\x72\x4a\x66\x63\x1f\x77\x78\x72\x80\x72\x1b\x73\x7e\x9a\xa6\x90\x8c\x94\x8d\x92\x1f\xcc\xf7\x90\x05\x46" -+"\x06\x48\x6d\x15\xa7\x89\x99\x74\x89\x66\x08\xfb\x05\x85\x53\x27\x52\x1b\x66\x75\xab\xbf\xc1\x9d\xbc\xac\xb1\x1f\xa7\xab\xae\x9f" -+"\xa3\x89\x08\x0e\x5a\x26\x1d\x0e\x5a\x83\x16\xf7\xae\x06\xf7\x31\xf7\x00\xdc\xf7\x0b\xd4\x6c\xb0\x2c\xb4\x1f\xd2\x9c\xa8\x97\xab" -+"\xa7\x08\xa7\xa3\x9a\xad\xb3\x1a\xea\x44\xbf\xfb\x15\x1e\xfb\x96\x7b\x06\xca\x86\x99\x84\xdf\x1d\x51\x84\x85\x53\x81\x19\xf7\x8a" -+"\xf7\xcf\x15\xcb\xb6\x87\x83\x9f\x1f\xb4\x7a\xa4\x60\x54\x1a\xfb\x00\x41\x49\xfb\x0e\x61\x75\x99\xa7\x98\x97\xbb\xa2\xda\x1e\x98" -+"\xb6\x93\xa9\x96\xb9\x08\xd6\xf7\x9c\x15\xa1\x91\x97\x91\xb2\x1b\xdc\xaf\x69\x41\x52\x73\x5e\x60\x73\x1f\x69\x78\x5a\x83\x32\x8c" -+"\x08\x0e\x92\x38\x0a\x0e\xc9\x79\x1d\x0e\x5a\x27\x1d\x0e\x5a\xf9\x19\x22\x0a\xfc\x86\x7b\x06\xcc\x85\x97\x85\xdf\x1d\x4f\x84\x85" -+"\x52\x83\x19\x7b\xf7\x90\x9b\x07\x51\x8e\x79\x96\xa9\x1a\x94\x8d\x97\x92\xa3\x1e\xc9\xf7\x73\x05\x89\xb0\xa1\x8a\xa1\x1b\xb2\x92" -+"\x8a\x87\x94\x1f\x9a\x83\x92\x7e\x77\x1a\x7b\x89\x7f\x85\x6c\x1e\x9c\x86\xd7\xf7\x7e\x79\x90\x5e\x31\x88\x8a\xfb\x3c\x89\x19\xcd" -+"\xf7\x7d\x05\x9f\x91\x99\x91\xb4\x1b\xf7\x3d\xae\x7e\x4b\x84\x8b\x86\x8a\x81\x1f\x8a\x82\x8b\x89\x8a\x83\xa0\x89\x18\x0e\xc9\x2e" -+"\x0a\x0e\xc9\xf9\x93\x22\x0a\xfb\x8b\x7b\x06\xc5\x84\x97\x83\x6f\x57\x0a\x5d\xfb\x38\x05\xfb\xb1\x06\xc1\xf7\x57\x4a\x0a\x88\x77" -+"\x83\x70\xb7\x0a\x51\x1d\xf7\x18\xf8\x75\x9c\xc5\x93\x91\xc4\x95\x19\x0e\xfb\xdb\x2c\x1d\x0e\xfb\x6c\x6e\x0a\x0e\x92\x6f\x1d\x0e" -+"\x23\x34\x0a\x0e\xf7\x41\xf9\xfd\x22\x0a\xfb\x3b\x06\xfb\xe4\xfc\x81\x54\xf8\x81\x05\xfb\x49\x7b\x06\xbd\x88\xa3\x80\x74\x1a\x83" -+"\x87\x7c\x85\x79\x1e\x89\x87\x88\x81\x87\x7b\x88\x80\x18\x21\xfc\x08\x6c\x23\x7c\x77\x57\x85\x19\x7b\xf7\x5a\x9b\x07\x58\x8f\x77" -+"\x97\xa7\x1a\x96\x8f\xa3\x90\x9d\x1e\xf7\x0a\xf8\x45\xc8\xfc\xb6\x05\x9c\x06\xf8\x0d\xf8\xc5\xfb\x15\xfc\x6a\x7b\x56\x77\x7c\x4a" -+"\x84\x19\x7b\xf7\xa5\x9b\x07\x47\x91\x82\x91\xaa\x1a\x9c\x8d\x98\x94\xaa\x1e\xf7\x0f\xf8\x4f\x9d\xc7\x90\x90\xc6\x94\x19\x0e\x92" -+"\x32\x0a\x0e\xc9\x26\x0a\x0e\x5a\xf7\x26\x62\x0a\x0e\xc9\xf7\xab\x7b\x15\xd8\x90\xb1\x95\xc3\xaa\x08\xf7\x28\xde\xf0\xf7\x36\xf7" -+"\x32\x1a\xf7\x1b\x2b\xed\xfb\x18\x3a\x30\x62\x43\x3c\x1e\x26\x2e\x50\xfb\x0d\xfb\x0a\x1a\x39\xa9\x47\xc1\x61\x1e\xa6\x76\xa0\x81" -+"\xb7\x81\x2f\x3a\x82\x84\x3f\x55\x95\x7c\x18\xa0\xb1\xb0\x95\xb3\x1b\x9f\xa8\x86\x7e\xb7\x1f\x7a\xc8\xc0\x82\xb1\x1b\xc2\xd1\xa5" -+"\xb2\xbe\x1f\xa3\x9e\x98\x99\xa5\xae\x7c\x96\x18\x51\x53\x62\x79\x43\x1b\x6d\x67\x91\x9b\x52\x1f\x55\x99\x67\x92\x76\x8a\x72\x8a" -+"\x18\xf7\x84\xf9\x56\x15\xdb\xbc\x51\x2c\x21\x5c\xfb\x26\x4b\x2e\x1f\x3b\x54\x4d\x65\x42\x1b\x39\x5d\xc7\xf5\xeb\xe6\x1d\x0e\x5a" -+"\x3a\x1d\x0e\x37\x0a\x0e\x23\x50\x1d\x0e\xc9\x27\x0a\x0e\x5a\xf9\x44\x22\x0a\xfb\x4e\x7b\x06\xb8\x86\x9d\x81\x78\x1a\x78\x78\x61" -+"\x6a\x51\x1e\xfb\x62\xfb\xf8\x49\xf8\x4f\x05\x8a\x90\x8b\x8f\x91\x1a\xad\x99\x94\xca\x93\x1e\x9b\xfb\x85\x7b\x07\xc3\x84\x8d\x89" -+"\xa0\xfb\x12\xe0\xfc\x9c\x18\x9e\x06\xf8\x09\xf8\xfb\x9c\xa6\x9b\x97\xa2\x8c\x19\x0e\xf7\x41\x30\x0a\x0e\x5a\xf9\x23\x22\x0a\xfb" -+"\x64\x7b\x06\xbc\x85\x97\x84\x74\x1a\x7e\x85\x7f\x7d\x7b\x1e\xfb\x25\xfb\x3b\x50\xf7\x27\x05\x81\xa5\x86\x9c\x98\x1a\xa4\x9b\x94" -+"\xc2\x92\x1e\x9b\xfb\x9c\x7b\x07\xc5\x86\x9a\x81\x9e\x5d\xf5\xfb\x9b\x18\x7a\x78\x7a\x77\x7b\x78\x76\x73\x77\x73\x77\x74\x82\x80" -+"\x81\x80\x82\x81\x5b\x53\x6d\x6b\x79\x7d\x72\x77\x7a\x82\x71\x86\x08\x7b\xf7\x6a\x9b\x07\x5b\x7a\x94\xa4\x9a\x92\x9b\x99\x9b\x1f" -+"\xf7\x2b\xf7\x40\xce\xfb\x39\x05\x92\x79\x8f\x7b\x7c\x1a\x6e\x81\x86\x49\x86\x1e\x7b\xf7\xa5\x9b\x07\x45\x93\x82\x91\x72\xc7\x25" -+"\xf7\x96\x18\xf7\x3d\xf7\x56\xbf\xc5\xa9\xa2\xb6\x99\x19\x0e\x23\x2f\x0a\x0e\x23\x39\x0a\x0e\xfb\xa3\xf8\x14\xf9\x10\x15\x92\xa6" -+"\x05\xfb\x41\x06\xfb\x59\xfd\xc4\x05\xf7\x50\x06\x92\xa6\x05\x53\x06\x6b\x7a\x94\x9e\x90\x8b\x8b\x8f\x9b\x1f\xf7\x34\xf9\x3a\x92" -+"\xa6\x95\x92\xa9\x8c\x19\x0e\xfc\x12\x62\xf9\x2e\x15\xf7\xb5\xfd\x40\x05\xd2\x06\xfb\xb4\xf9\x40\x05\x0e\xfb\xa3\x9e\xfb\x12\x15" -+"\x84\x70\x05\xf7\x41\x06\xf7\x59\xf9\xc4\x05\xfb\x51\x06\x84\x70\x05\xc4\x06\xac\x9b\x82\x79\x86\x8b\x8b\x87\x7b\x1f\xfb\x35\xfd" -+"\x3a\x85\x70\x82\x83\x6c\x8a\x19\x0e\xfb\x82\xea\xf7\xc3\x15\xf7\x23\xf7\xb9\xf7\x28\xfb\xb9\x05\xbf\x06\xfb\x43\xf7\xef\x05\x58" -+"\x06\xfb\x3d\xfb\xef\x05\x0e\xf8\x6a\xfb\x16\x15\xbd\xfc\x84\x59\x07\x0e\xfb\xdb\xf7\xc1\xf9\x2e\x73\x0a\x0e\x25\x0a\x0e\xf7\x02" -+"\xf9\x17\x15\xc7\x89\x90\x88\x75\x1a\x82\x89\x80\x84\x74\x1e\x89\x85\x89\x84\x8a\x85\x89\x84\x18\xfb\x1c\xfc\x89\x05\x87\x07\x74" -+"\xd7\x6d\xc4\xf7\x2b\xf7\x3a\xf7\x42\xf7\x32\xd1\x5a\xbd\x48\x45\x57\x62\xfb\x02\x44\x1e\xbe\xf7\x4f\x93\xa7\xb8\xf7\x41\x86\x90" -+"\x18\x58\x82\x6e\x86\x42\x82\x08\xf7\x64\xfb\xa0\x15\xb7\xa5\x6a\x56\x49\x59\x20\x4f\x4d\x1f\x65\x66\x60\x76\x60\x1b\x6c\x7c\x96" -+"\xa2\xc7\xa9\xeb\xb5\xd6\x1f\xd8\xb7\xb8\xb1\xbb\x1b\x0e\xfb\x6c\x3c\x1d\x0e\x5c\x0a\x0e\xfb\x6c\x28\x1d\x0e\xfc\x12\xae\xf8\x20" -+"\x15\xe5\x06\x33\xfc\x38\x05\x20\x75\x6a\x54\x61\x1b\x7f\x83\x92\x94\x8f\x2d\x1d\x91\x8c\x8f\x91\x52\x0a\x79\x74\x68\xad\x71\xb8" -+"\xe4\xd0\xed\xf7\x4d\x40\x0a\xf7\x01\x06\x91\xab\x05\xfb\x00\x06\xf7\x32\xa8\xb0\xd1\xc3\x1b\x99\x93\x36\x0a\x87\x43\x1d\x9e\x9d" -+"\xa1\xb1\x66\xa6\x59\x5b\x64\x75\x5d\x67\x1e\x6d\x63\x77\x5d\x6d\x2b\x08\x2f\x06\x0e\x39\x1d\x0e\x71\x1d\xfc\x12\x2f\x1d\x76\xf8" -+"\xbb\x45\x0a\xfc\x12\xf7\x8a\xf8\x4b\x15\x88\x8d\x36\x7c\x56\x83\x6b\x89\x19\x7b\x07\xa6\x8c\x05\x92\x06\xa7\x97\x81\x75\x81\x86" -+"\x71\x80\x5f\x1f\x43\xfb\xb8\x05\xfb\x1e\x69\x74\x60\x63\x54\x1d\xe2\xc7\xd6\xf7\x34\xb3\x1e\xdf\xf9\x06\x45\x0a\xfb\x6c\x72\x1d" -+"\x0e\xfc\x12\xf7\x78\x3d\x1d\x0e\xc9\xf9\x45\xf7\x09\x15\x87\x86\x86\x86\x87\x85\x7a\x77\x82\x80\x8a\x8a\x08\x73\x75\x81\x84\x7d" -+"\x1b\x83\x87\x90\x96\x8f\x8f\x9c\x91\xa3\x1f\xcf\xf7\x8f\x05\x8c\x90\x8d\x9b\x92\x1a\xaf\x72\xa6\x6a\x77\x77\x84\x7c\x73\x1e\x5a" -+"\x6b\x62\x5b\x46\xfb\x02\x08\xa5\xd9\x99\xc2\x9e\x1a\xaf\x74\xa3\x69\x4e\x45\x49\xfb\x25\x2f\x1e\xc5\xf7\x65\x88\x8d\x55\x80\x76" -+"\x87\x36\x7b\x19\x7b\x07\xb9\x8a\x8b\x8b\x94\x86\x08\x90\x89\x8f\x84\x84\x1a\x7f\x73\x2f\x68\xfb\x11\x1e\x75\x3f\x87\x7b\x7e\x58" -+"\x08\xd6\x06\xbb\xf7\x32\x9a\xb1\xad\xbf\x08\xe1\xc4\xc6\xc2\xad\x1b\x98\x92\x82\x7b\x7e\x6d\xfb\x0a\x63\xfb\x21\x1f\x83\x6e\x87" -+"\x7d\x7e\x5a\x08\xd6\x06\xb3\xf7\x30\x9f\xbe\xbe\xd1\x08\xcf\xbc\xbd\xb7\xa8\x1b\x96\x94\x82\x7f\x86\x89\x81\x86\x77\x1f\x51\xfb" -+"\x7a\x05\x81\x64\x88\x7a\x81\x1a\x6d\x99\x7b\xa5\xba\xb7\xac\xd5\xc0\x1e\x90\x92\x05\x0e\x32\x1d\x0e\x2b\x1d\x0e\xc3\xf8\x27\x15" -+"\xa2\x8c\x05\xa1\x8c\x9f\x7e\x7b\x1a\x7f\x68\xfb\x1f\x67\xfb\x18\x1e\x74\x36\x77\x40\x7c\x4c\xcc\x0a\x9a\x07\x5c\x7a\x93\xa1\x99" -+"\x9c\xd7\x9f\xd7\xee\x1d\xf7\x3b\xf7\x34\xd9\x5f\xba\x44\x4a\x5b\x6b\x39\x51\x1f\xa8\xf0\x05\x8c\x90\x8c\x8e\x8b\x1a\x8e\x89\x8d" -+"\x88\x1e\x8a\x06\xfb\x2e\x75\x05\xf7\x9b\x76\x15\xb6\x89\x9e\x71\x52\x1a\x47\x6e\x36\x60\x4d\x1e\x4f\x61\x5b\x6d\x57\x1b\x6f\x77" -+"\x9a\xa1\xad\xae\xf7\x16\xa9\xd6\x1f\xa6\xcf\xc5\xbc\xbd\x88\x08\x0e\xf8\x1b\xfb\x53\x15\x79\x06\x67\x76\x95\x9e\x8c\x1f\x8e\x8c" -+"\x8f\x8c\x8f\x1e\xf7\x38\xf8\xd5\x05\x42\x06\x7c\x5c\x05\xb9\x7b\x77\x9b\x62\x1b\xfb\x18\xfb\x35\xfb\x4c\xfb\x2c\x44\xb2\x5e\xca" -+"\xd2\xb9\xaf\xf7\x14\xe4\x1f\x32\xfb\xb9\x7e\x63\x7b\x82\x4a\x87\x19\x7b\xf7\x85\x07\x45\xf9\x08\x15\xac\xa5\x70\x6a\x37\x47\xfb" -+"\x22\x47\x52\x1f\x75\x71\x70\x7f\x73\x1b\x68\x76\xa9\xba\xd5\xbf\xf7\x02\xcc\xce\x1f\xaa\xaa\xac\x9d\xa8\x1b\x0e\xfb\xa3\x41\x0a" -+"\x0e\xfb\xa3\x31\x0a\x0e\xfc\x12\xf7\xbc\xf8\x40\x15\x45\x1d\x8d\x1a\x91\x4f\x1d\x0e\x2a\x1d\x0e\xfb\x6c\xa0\xf8\x27\x15\x8c\x96" -+"\x93\x8b\x96\x1b\xb2\x95\x7a\x2f\x99\x1f\x96\x45\x96\xfb\x27\x4e\x1a\x6e\x8c\x85\x93\xa4\xe6\xf1\xf7\x26\xf3\x1e\xae\xbd\xa5\xcb" -+"\xb1\x1a\xab\x71\xa6\x6d\x74\x7d\x7e\x76\x7b\x91\x7f\x9d\x7b\x1e\x98\x7f\x90\x83\x81\x1a\x5c\x4a\xfb\x02\x43\x41\x1e\x6c\x6b\x84" -+"\xf7\x21\x85\xbf\x7e\xd5\x19\xf1\x77\x8b\x8d\x82\x1b\x86\x84\x8a\x88\x83\x1f\x7b\x87\x4d\x7f\x6a\x86\x08\x0e\x92\x2d\x0a\x0e\xfb" -+"\x6c\xf8\x26\xf7\x03\x15\x83\x82\x86\x85\x82\x7f\x08\x6d\x74\x7f\x81\x7f\x1b\x7d\x82\x98\xa7\x84\x1f\x88\x96\x8b\x8d\x8a\x8e\x08" -+"\x72\xf1\x80\xb9\x9a\x1a\xd9\xb8\xae\xb6\x9d\x1b\x91\x94\x88\x86\x94\x1f\x84\x97\x92\x89\x94\x1b\x9f\x99\x9a\xa0\xa1\x7a\x9a\x73" -+"\x5f\x66\x67\x20\x45\x1f\x80\xc2\x05\xcf\x7d\x80\x9f\x70\x1b\x74\x6b\x83\x76\x4d\x1f\x85\x89\x8b\x8b\x86\x89\x8f\x7c\x18\x95\xb2" -+"\x92\x8c\x95\x1b\xa4\x91\x82\x4f\x99\x1f\xa8\xfb\x0f\x39\xfb\x09\x05\x6d\x76\x78\x79\x80\x1b\x85\x81\x8e\x91\x81\x1f\x92\x7e\x81" -+"\x8e\x82\x1b\x77\x7d\x7c\x77\x71\x9e\x7b\xaa\xaa\x97\x94\xc7\xbd\x1f\xa6\xac\xa1\xa9\xb4\xc2\xa9\xfb\x0c\x18\x57\x98\x98\x7c\xab" -+"\x1b\xb1\xa5\xa3\xe5\xc5\x1f\x0e\xfb\x6c\x31\x1d\x0e\xfb\xa3\x33\x0a\x0e\xfb\x98\xf8\x2b\xf9\x43\x15\xfb\x05\x5e\x69\x21\x6c\x1f" -+"\x5b\xfb\x46\x78\x42\x75\x73\x4b\x7a\x19\xb2\x7d\x98\x7d\x6e\x1a\x73\x7f\x55\x75\x40\x1e\x75\x40\x81\x5d\x74\x1a\x54\xac\x77\xe7" -+"\x88\x1e\x8e\x96\x05\x65\x96\x7c\x9d\xb0\x1a\x9b\x91\xa4\x9b\xc8\x1e\xa5\xe8\x9d\xda\x9d\x1a\xa6\x7b\x9e\x64\x9c\x1e\xcc\x9c\xa5" -+"\xa8\xa1\xde\xb8\xf7\x3c\x18\xa0\xda\xa5\xa8\xc9\x9b\x08\x0e\xfc\x15\xce\xfb\x8d\x15\xcd\xfa\x7a\x49\x06\x0e\xfb\x98\xf7\x71\xf9" -+"\x38\x15\xb1\x80\x9a\x78\x66\x1a\x7d\x84\x6e\x7c\x51\x1e\x89\x83\x8b\x8b\x82\x6a\x08\x6a\xfb\x15\x8b\x8b\x77\x1a\x6f\x9b\x79\xb2" -+"\x7a\x1e\x49\x7a\x73\x6f\x74\x37\x5e\xfb\x3c\x18\x76\x3c\x71\x6e\x4d\x7b\x88\x80\x18\xf7\x05\xb8\xad\xf5\xaa\x1f\xbb\xf7\x46\x9e" -+"\xd4\xa1\xa3\xcb\x9c\x19\x64\x99\x7e\x99\xa8\x1a\xa3\x97\xc0\xa1\xd7\x1e\xa1\xd6\x95\xb9\xa2\x1a\xc2\x6a\x9f\x2f\x8e\x1e\x0e\xfb" -+"\x0b\xf8\x94\xf7\xa8\x15\x55\xab\x05\x64\x73\x7a\x7f\x6c\x1b\x76\x77\x90\x94\x7a\x1f\xba\x32\x79\x91\x5f\x1b\x5d\x6f\x77\x4b\x5d" -+"\x1f\xc1\x6c\x05\xb1\xa4\x9c\x97\xa9\x1b\xa0\x9f\x86\x82\x9c\x1f\x5c\xe4\x9d\x85\xb7\x1b\xb1\xaf\xa0\xb3\xa8\x1f\x0e\xfb\xa3\xf7" -+"\x74\xf7\xb1\x15\x56\xfb\x24\x67\x31\x65\x39\x08\x6e\x4d\x82\x6d\x6b\x1a\x6a\x99\x7a\xa5\xaf\x9f\xac\xde\x99\x1e\x9e\xf7\x0a\x9b" -+"\xe1\xb0\xf7\x3a\x08\xa9\xf7\x54\x15\x6c\x72\x74\x6e\x6e\xa4\x73\xa9\xa6\xa4\xa3\xa6\xaa\x75\xa2\x6e\x1f\x0e\xf8\x32\xf8\xc4\x15" -+"\x6d\x06\x61\xfb\x0c\x57\x83\x72\x82\x66\x73\x19\x2e\x50\x51\x28\x26\x1a\x55\x9e\x5f\xac\x72\x1e\x9a\x7f\x99\x85\xa6\x85\x5b\xfb" -+"\x1c\x18\xaa\x06\xba\xf7\x19\x05\x8a\x90\x8c\x8b\x90\x1b\xd4\xc1\xaa\xd7\xc7\x1f\x7b\x95\x05\x4f\x53\x65\x76\x58\x1b\x81\x85\x8c" -+"\x8e\x83\x1f\xf7\x1d\xf8\x1b\x05\xa3\x8a\x96\x84\x7e\x1a\x87\x89\x86\x87\x82\x1e\xb8\x0a\xa6\xa1\x7f\xa1\x79\x99\x1e\x78\x99\x7b" -+"\x90\x68\x8e\x08\xfb\x3e\xfc\x23\x15\x70\xa2\x7f\xa9\xb8\x1a\xcb\xa0\xd3\xae\xc0\x1e\xae\xbf\xa8\xa1\xbe\x9a\x08\x0e\xf8\x20\xf7" -+"\xd3\x15\x92\xb5\x05\xfb\x0f\x06\xf7\x76\xb5\xa2\xc1\xc4\x1b\xa3\x97\x7e\x6c\x8f\x1f\x68\x90\x92\x82\xa3\x1b\xa4\x99\x99\xa6\xb8" -+"\x65\xaa\x54\x55\x59\x70\x5a\x65\x1f\x59\x4b\x76\x53\x77\xfb\x05\x08\xfb\x02\x06\x82\x61\x05\xf7\x05\x06\x72\xfb\x60\x05\x96\x63" -+"\x8a\x8b\x7c\x1b\x53\x65\x6f\x63\x64\xa5\x72\xb2\xae\xa1\x9a\xbb\xb2\x1f\x59\xcb\xaa\x7e\xbc\x1b\xce\xbd\xad\xca\xa4\x1f\x80\x94" -+"\x81\x84\x05\x77\x6f\x75\x84\x6e\x1b\x60\x5e\x96\xa6\x43\x1f\xb4\xe4\x91\x9b\xa5\xf7\x02\x08\xfb\x10\xfb\x8a\x15\x69\x7f\x6e\x74" -+"\x6d\x1b\x73\x78\x9b\xa0\xa6\xa1\x9d\xaa\xa0\x97\x86\x77\xa7\x1f\x0e\xfc\x81\xac\x0a\xf8\x5c\xf7\x4a\x15\x97\xb3\x05\xfb\x48\x06" -+"\xa3\xdd\x91\x93\x05\xf7\x3e\x06\x97\xb3\x05\xfb\x2b\x06\xf7\x49\xf7\x74\xab\xb3\x94\x92\xab\x99\x19\x9b\xfb\x51\x7b\x07\xbc\x85" -+"\x8b\x8b\x95\x85\x48\x1d\x6f\x5b\x48\xfb\x06\xfb\x17\x1e\x86\x85\x84\x84\x88\x86\x7e\x7c\x18\x7e\xb8\x89\x95\x7d\xb8\x08\x6f\xeb" -+"\x80\xb5\x9b\x1a\xa4\x96\x90\xcb\x91\x1e\x9b\xfb\x83\x7b\x07\xce\x82\x8f\x88\x9c\x55\xca\xfb\x6f\x18\xfb\x20\x06\x7f\x63\x05\xf7" -+"\x37\x06\x8e\x81\x74\x3b\x05\xfb\x38\x06\x7f\x63\x05\xf7\x39\x06\x70\x2f\x7a\x58\x6e\x78\x4c\x87\x19\x87\x7b\x05\xf7\xb1\x9b\x06" -+"\x35\x92\x85\x8e\xaa\x1a\xa1\x91\xa2\xa4\xdb\x1e\x0e\xf8\x56\xf8\x30\x15\xfb\x12\x06\x9d\xf7\x1f\x92\xae\x9c\xaa\x08\xa3\x97\x9d" -+"\x97\xa1\x1b\x97\x94\x86\x82\x88\x89\x87\x87\x84\x1f\x86\x82\x89\x86\x85\x1a\x76\x9e\x79\xa1\xa2\x9c\x9e\xa7\xb3\x68\xa8\x5c\x63" -+"\x66\x78\x65\x6d\x1e\x65\x5b\x77\x56\x78\xfb\x04\x08\xfb\x01\x06\x84\x6d\x05\xf7\x04\x06\x64\xfb\xeb\x7f\x25\x81\x5e\x7a\x71\x19" -+"\x7c\x81\x7b\x81\x7a\x1b\x7f\x82\x92\x94\x90\x8d\x8f\x8f\x92\x1f\x91\x94\x8d\x92\x91\x1a\xa0\x79\x9c\x75\x71\x79\x77\x6e\x64\xab" -+"\x70\xba\xe1\xce\xee\xf7\x36\xa1\x1e\xb5\xf7\xc3\x05\xf7\x0e\x06\x0e\xf7\x8d\xf8\x22\x15\x92\x79\x7a\x8f\x79\x1b\x51\x5b\x54\x47" -+"\x5c\xa3\x57\xba\x55\x1f\xd7\x34\x05\xb1\x5f\x97\x74\x6d\x1a\x56\x61\x66\x4f\x66\x69\x9c\x9f\x91\x8f\x90\x96\x91\x1e\x9f\x98\x92" -+"\x96\xa1\x1a\xa6\x7a\x9b\x6d\x68\x76\x76\x68\x4e\xc7\x5c\xd7\xe4\xce\xc6\xd9\xb3\x81\xa1\x56\xce\x1e\x8d\x8e\x05\x85\x97\x92\x8a" -+"\x99\x1b\xd2\xba\xbd\xd7\xb4\x7c\xb4\x71\xab\x1f\xfb\x0f\xf7\x2a\x05\x7a\xa0\x82\xa4\xa5\x1a\xbe\xae\xab\xc4\xad\xa5\x7d\x7a\x85" -+"\x87\x86\x82\x83\x1e\x7c\x7e\x85\x80\x7d\x1a\x71\x9e\x78\xa6\xab\x9f\xa0\xad\xc5\x55\xb4\x3f\x35\x4e\x57\x42\x5f\x9b\x69\xbe\x4d" -+"\x1e\x65\x7e\x15\xac\xae\x72\x58\xb2\x1f\xb6\x52\x99\x6e\x69\x1a\x64\x6e\x6b\x67\x51\x20\xf7\x16\xd2\xb0\xa8\xa8\xb0\x1e\x0e\xb0" -+"\xdd\x15\xb3\x63\xd8\xda\x05\x74\xac\xaa\x81\xb0\x1b\xb1\xaa\x95\xa2\xaa\x1f\xda\x3c\xb1\xb3\x3e\xd8\x05\xa2\xae\x94\xa8\xb1\x1a" -+"\xb1\x82\xa8\x74\xac\x1e\xd8\xd9\x65\xb2\x3c\x3e\x05\xa0\x6d\x6c\x95\x65\x1b\x65\x6d\x82\x75\x69\x1f\x3e\xd8\x63\x64\xd9\x3d\x05" -+"\x75\x6b\x81\x6d\x64\x1a\x65\x94\x6e\xa2\x69\x1e\xf7\x23\xf7\x72\x15\xca\xbf\x54\x49\x48\x57\x55\x4a\x49\x56\xc1\xcf\xce\xc0\xc0" -+"\xcf\x1f\x0e\xfc\x52\xf7\x2d\xf8\x39\x15\xc6\xf7\x13\xa8\xd4\x9b\x1a\x9b\x7d\x98\x79\x73\x72\x78\x75\x86\x1e\x85\x73\x82\x3d\x83" -+"\x25\x08\x0e\x23\xf7\xbc\xf9\x2e\x73\x0a\xf7\x5c\x9c\x15\x36\x5c\x5e\x54\x52\x1a\x63\xa4\x6c\xab\xa9\xa1\x9f\xa6\x9c\xbf\x0a\xa1" -+"\xa5\xc0\xae\x1e\x0e\xc0\xf7\x6c\x60\x0a\x71\x77\x52\x4b\x1e\x71\x74\x80\x83\x31\x45\x08\xf7\x36\x82\x15\x97\x79\xa1\x70\xac\x64" -+"\x94\x81\x92\x82\x90\x83\x08\x63\xa6\xa4\x6f\x94\x1b\x8f\x8e\x8e\x8f\x95\x72\xc2\x66\xcf\x1f\x88\x90\x83\x9c\x82\x9d\xa6\xa9\xa1" -+"\xa2\x9b\x99\x98\x97\x98\x98\x98\x98\x08\xaf\xb1\x9b\xa2\x98\x1a\x8f\x88\x8e\x88\x84\x72\x77\x52\x4a\x1e\x71\x74\x80\x83\x31\x45" -+"\x08\x0e\xfb\xdb\xbe\xf7\x6c\x60\x0a\x71\x77\x52\x4b\x1e\x71\x74\x80\x83\x31\x45\x08\x0e\xfb\xdb\xf7\xae\xf7\x74\x15\x7f\x9d\x75" -+"\xa6\x6a\xb2\x82\x95\x84\x94\x86\x93\x08\xb3\x70\x72\xa7\x82\x1b\x87\x88\x88\x87\x81\xa5\x54\xaf\x47\x1f\x8e\x86\x93\x7a\x94\x79" -+"\x70\x6d\x75\x74\x7b\x7d\x7e\x7f\x7e\x7e\x7e\x7e\x08\x67\x65\x7b\x74\x7e\x1a\x87\x8e\x88\x8e\x92\xa2\x9d\xc6\xce\x1e\xa5\xa2\x93" -+"\x91\xc4\xb8\x97\x93\x97\x95\x97\x94\x08\x0e\xf7\x18\xf8\x20\x15\x85\x7b\x76\x29\x63\xfb\x58\x6d\xfb\x28\x7f\x5e\x7a\x6b\x08\x6c" -+"\x79\x7a\x7e\x72\x1b\x7c\x86\x8e\x95\x8e\x8c\x8e\x8e\x90\x1f\x8f\x92\x8c\x8f\x90\x1a\xa0\x79\x9c\x76\x97\x0a\x90\x88\x84\x87\x8a" -+"\x89\x80\x61\x1f\x50\xfb\x68\x7c\x4e\x88\x0a\x93\xad\xf7\x15\xb1\xf7\x1e\x1f\x94\xac\x93\xa8\x90\x9c\x8c\x8f\x18\x8f\x9b\x8c\x92" -+"\x90\x1a\x86\x8e\x05\x87\x87\x8b\x89\x81\x1f\x87\x72\x70\x89\x6e\x1b\xfb\x2a\x06\xa9\xf4\x9a\xb3\x9f\xaa\x08\xb1\xa4\xa9\x9c\xb4" -+"\x1b\xa0\x98\x85\x81\x88\x8a\x89\x88\x87\x1f\x84\x84\x89\x86\x80\x1a\x72\x9b\x7a\xa4\xa4\x9c\x9c\xa4\xb5\x61\xa7\x4e\x53\x54\x73" -+"\x64\x68\x1e\x61\x5c\x77\x62\x6c\x25\x08\x34\x06\x84\x6b\x05\x0e\xf8\x0b\xf8\x20\x15\x83\x64\x88\x7e\x75\x39\x08\x69\xfb\x17\x7e" -+"\x4c\x70\x1a\x6c\x9e\x78\xa8\xb5\xa9\xa3\xdc\xc7\x1e\x7b\x94\x05\x57\x5e\x78\x7a\x7d\x1b\x85\x86\x90\x91\x9b\xe1\xf8\x00\xb4\xf7" -+"\x32\x1f\x9c\xca\x8f\x9d\x92\x8b\x0a\x76\x75\x8d\x79\x1b\x53\x53\x72\x61\x64\x1f\x60\x5c\x76\x62\x6d\x28\x08\x30\x06\x85\x6b\x05" -+"\xe4\xec\x1d\x6d\xfb\x06\x79\x6c\x08\x6c\x78\x7c\x80\x72\x1b\x7d\x85\x8f\x94\x8e\x2d\x1d\x92\x8c\x90\x90\x1a\x9f\x79\x9c\x75\x77" -+"\x7b\x7a\x74\x67\xab\x71\xb9\xe5\xd2\xf0\xf7\x51\xb5\x1e\xd0\xf7\xca\x05\x92\xab\x15\x90\x9f\x05\xf7\x26\xb0\xbc\xcd\xd3\xc9\x0a" -+"\x85\x83\x89\x85\x84\x1a\x86\x8c\x86\x8f\x84\x1e\x8f\x84\x8d\x85\x8a\x88\x8a\x88\x18\x67\xfb\x24\x05\x0e\xf8\x8d\xf7\x87\x15\xfc" -+"\x8b\x06\x83\x5d\x05\xf8\x8b\x06\x0e\xf7\x47\xfb\x33\x15\xbb\xf7\x66\x9c\xd2\xb1\xec\xa5\xb2\x19\x7e\xa2\x88\x9e\xb6\x1a\xab\x8d" -+"\x9b\x92\xae\x1e\xb7\xa0\x87\x7a\xb3\x1f\x83\x9e\x93\x89\x96\x1b\xa7\x9b\x9a\xa6\xa6\x7c\x98\x6b\x7c\x82\x89\x81\x74\x1f\x66\x7c" -+"\x80\x89\x61\x8a\x96\xbb\x92\x9e\xa8\xba\x08\x9e\xa7\x90\x99\x9d\x1a\xa8\x7c\x9b\x70\x6c\x7b\x77\x66\x81\x8c\x83\x8e\x7a\x1e\x8f" -+"\x78\x8c\x80\x80\x1a\x74\x89\x78\x83\x5f\x1e\x61\x8c\x80\x8d\x66\x9a\x08\x94\x75\x81\x8e\x7d\x1b\x6a\x7c\x7e\x70\x70\x9b\x7c\xa7" -+"\x96\x93\x8d\x94\x9f\x1f\x9b\xb2\x9b\x8f\xb4\x1b\x7e\x41\x75\x5c\x64\x60\x08\x86\x8b\x85\x8d\x7b\x1e\x8d\x78\x8c\x7f\x81\x1a\x56" -+"\x7e\x2e\x76\x21\x1e\x88\x7c\x83\x63\x82\x5d\x08\x0e\xf7\xae\xf8\x3f\x15\x78\x37\x77\x60\x66\x67\x08\x8c\x87\x8c\x88\x89\x1a\x96" -+"\x65\x8e\x7b\x78\x1a\x75\x87\x6c\x84\x6a\x1e\x71\x06\x78\x7e\x8e\x99\x6b\x1f\x95\x73\x7d\x8f\x7e\x1b\x6f\x77\x7a\x72\x73\x9d\x7b" -+"\xa6\x99\x95\x8d\x95\xa4\x1f\xb2\x9a\x98\x8d\xb2\x8c\x84\x5f\x84\x7a\x6e\x5c\x08\x77\x6d\x85\x7b\x79\x1a\x6f\x9b\x79\xa4\xa5\xa1" -+"\xa4\xa8\x91\x8a\x94\x89\x96\x1e\x87\xa2\x89\x9f\x9e\x1a\xa3\x8e\x9f\x92\xab\x1e\xb2\x8a\x97\x89\xb3\x7c\x08\x82\xa3\x96\x88\x97" -+"\x1b\xa8\x9d\x9b\xa3\xa3\x77\x9d\x6f\x7e\x7d\x87\x81\x73\x1f\x7e\x6b\x7e\x87\x78\x1b\x78\x06\x9e\xdf\x9f\xb6\xb0\xaf\x08\x7f\xb5" -+"\x87\x9e\xa1\x1a\xa1\x8f\xaa\x92\xab\x1e\xa5\x06\x9d\x99\x88\x7d\xab\x1f\x81\xa3\x98\x87\x99\x1b\xa7\x9f\x9c\xa4\xa3\x79\x9b\x70" -+"\x7d\x81\x88\x82\x72\x1f\x63\x7c\x7f\x89\x64\x8a\x92\xb7\x92\x9d\xa8\xba\x08\x9f\xa9\x91\x9b\x9d\x1a\xa6\x7a\x9d\x73\x71\x75\x72" -+"\x6e\x85\x8c\x82\x8d\x80\x1e\x8f\x74\x8d\x76\x7a\x1a\x75\x89\x78\x84\x67\x1e\x64\x8c\x7f\x8d\x63\x9a\x08\x94\x73\x80\x8e\x7e\x1b" -+"\x6f\x79\x7b\x73\x72\x9f\x7a\xa7\x99\x98\x8f\x95\xa3\x1f\x99\xab\x99\x8e\x9d\x1b\x0e\xfc\x2e\x46\x0a\xfb\x1d\xf8\xfc\x22\x0a\xfb" -+"\x95\x06\x25\x4e\x75\x55\x5e\x1f\x67\x60\x74\x47\x4c\x1a\x64\x9b\x6b\xa8\x76\x1e\xa7\x78\xa4\x84\xc2\x89\x7f\x5f\x84\x74\x80\x5e" -+"\x47\xfb\x94\x8b\x8b\x7e\x87\x7f\x85\x7b\x88\x5d\x87\x86\x76\x18\xf7\x28\x06\xf7\x5c\xf9\x87\x05\xc5\x06\xfb\x5c\xfd\x87\x05\xf7" -+"\x28\x06\x90\xa0\x05\x4c\x92\x82\x8e\x9b\x1a\x97\x8d\x96\x94\xa6\x1e\x8d\x92\x8d\x92\x8c\x1a\xf7\x30\xf8\xdd\x99\xbb\x92\x90\xd7" -+"\x90\x19\xfb\xf7\xfb\xdc\x15\x6f\x8e\x7e\x8f\x7f\x97\x08\x76\x9e\x7f\xaa\xac\x1a\xc9\xa7\xd7\xb1\xb4\x1e\xa7\xaa\xa7\x98\xb6\x8e" -+"\x08\x0e\xfb\xca\xf7\x5d\xf8\x5a\x15\x42\x51\x51\x42\x40\xc7\x4f\xd5\xd3\xc7\xc6\xd2\xd8\x50\xc6\x3f\x1f\x0e\xfb\xdb\xc0\xfb\x15" -+"\x33\x1d\x23\xcd\xfb\x15\x69\x0a\xf7\x6e\x7a\x37\x1d\xc3\xc3\x3e\x0a\x70\x79\x38\x1d\x70\x56\x68\x1e\x0e\x23\x80\x0a\xf7\x6e\x7a" -+"\x15\xe0\xba\xb8\xc2\xc4\x3e\x0a\x70\x79\x91\x81\x9e\x7a\x1e\x9a\x7d\x90\x83\x80\x1a\x71\x74\x6f\x57\x69\x1e\x0e\xf8\x53\xf7\x74" -+"\x15\x7f\x9d\x75\xa6\x6a\xb2\x82\x96\x84\x93\x86\x93\x08\xb4\x70\x72\xa6\x82\x1b\x87\x88\x88\x87\x81\xa5\x54\xaf\x47\x1f\x8e\x86" -+"\x93\x7a\x94\x79\x70\x6d\x75\x74\x7b\x7d\x7e\x7f\x7e\x7e\x7e\x7e\x08\x67\x65\x7b\x74\x7e\x1a\x87\x8e\x88\x8e\x92\xa2\x9d\xc6\xce" -+"\x1e\xa5\xa2\x93\x91\xc4\xb8\x97\x93\x97\x95\x97\x94\x08\xfb\x36\x94\x15\x7f\x9d\x75\xa6\x6a\xb2\x82\x95\x84\x94\x86\x93\x08\xb3" -+"\x70\x72\xa7\x82\x1b\x87\x88\x88\x87\x81\xa5\x54\xaf\x47\x1f\x8e\x86\x93\x7a\x94\x79\x70\x6d\x75\x74\x7b\x7d\x7e\x7f\x7e\x7e\x7e" -+"\x7e\x08\x67\x65\x7b\x74\x7e\x1a\x87\x8e\x88\x8e\x92\xa2\x9d\xc6\xce\x1e\xa5\xa2\x93\x91\xc4\xb8\x97\x93\x97\x95\x97\x94\x08\x0e" -+"\xf7\x79\xf7\x04\xef\x4c\x0a\xf7\xbd\x16\x6d\x72\x72\x6b\x6e\xa4\x72\xa7\xab\x36\x1d\xf7\xbd\x16\x6c\x73\x72\x6b\x6e\xa4\x72\xa7" -+"\xab\x36\x1d\x0e\xf7\xe8\xf8\xde\xf9\x56\x15\x5f\x06\x35\x33\x79\x80\x56\x1b\x5d\x77\x93\xaa\x66\x1f\xa1\x6f\x7f\x91\x75\x1b\x26" -+"\x2f\x26\xfb\x04\x3e\xbf\x4f\xce\xe4\xd8\xf7\x02\xf7\x13\x96\x8b\x8f\x88\x97\x1f\x8a\x92\x05\x7e\xb4\x8f\x8a\x9f\x1b\xc8\xac\x99" -+"\xb7\xb0\x1f\xfc\x1d\xfd\x27\x05\xb9\x06\xc4\xf9\x30\x15\x8f\x8a\x90\x88\x93\x83\x96\x80\x8f\x88\x92\x88\x08\xaa\x7b\x8f\x86\x69" -+"\x1a\xfb\x07\x4e\x29\x44\x66\x74\xaa\xba\x8d\x1e\x8e\xcb\xa6\xd3\xb0\xb7\x9b\x9f\xa5\x9f\x92\x8a\x08\xf7\xed\xfb\xd4\x15\x29\x2e" -+"\x26\xfb\x00\x65\x94\x6e\x9d\x72\x1f\x6e\xa1\xb1\x78\xad\x1b\xe1\xd8\xf7\x01\xf7\x0e\xd6\x69\xb6\x50\x1f\x94\x6f\x15\xae\xa5\x66" -+"\x58\x59\x78\x4e\x6e\x61\x1f\x68\x72\x6e\x79\x6a\x1b\x6a\x76\xa7\xb7\xb7\x9d\xcb\xa4\xb8\x1f\xb9\xa6\xa7\xa2\xa9\x1b\xf7\xf3\xa7" -+"\x15\x29\x2e\x26\xfb\x00\x64\x94\x6f\x9d\x72\x1f\x6e\xa1\xb1\x78\xad\x1b\xe1\xd8\xf7\x01\xf7\x0e\xd6\x69\xb6\x50\x1f\x94\x6f\x15" -+"\xae\xa5\x66\x58\x58\x78\x4f\x6e\x61\x1f\x68\x73\x6e\x79\x69\x1b\x6b\x75\xa7\xb3\xd1\xab\xe0\xb7\xba\x1f\x9a\x99\x9f\x94\x9d\x1b" -+"\x0e\xf7\xb0\xf7\xb1\x15\x84\x6e\x7d\x53\x6d\x65\x44\x52\x19\xfb\x06\x2e\x77\x70\x4e\x1a\x3d\xc5\x58\xe4\xde\xc5\xb8\xcb\xa9\x7c" -+"\x9d\x72\x74\x7b\x7d\x75\x84\x8d\x85\x90\x80\x1e\x91\x7e\x8d\x85\x83\x1a\x6d\x70\x79\x60\x58\x6e\xa9\xc1\xc0\xa1\xb5\xcc\xd2\x1e" -+"\xde\xea\x96\xa1\x9d\xee\x08\x99\xf7\x50\x15\x6e\x73\x73\x70\x6e\xa3\x74\xa8\xa9\xa2\xa2\xa8\xa8\x74\xa1\x6d\x1f\x0e\xfb\xdb\xf7" -+"\xac\xf8\x80\x28\x0a\xfb\xdb\xf7\x48\xa7\x1d\xfb\xdb\xf7\xbd\xf9\x29\x20\x0a\xfb\xdb\xf8\x23\xf9\x04\x15\x6a\x7f\x7f\x8e\x1d\xb0" -+"\xce\x99\x1f\x0e\xfb\xdb\xf8\x2f\xf8\xdb\x29\x1d\xfb\xdb\xf8\x19\xf9\x1e\x3e\x1d\xfb\xdb\xf7\x95\xf8\xf2\x24\x1d\x0e\xfb\xdb\xf7" -+"\x31\xf8\xf2\x23\x1d\xfb\xdb\xf7\x92\xf9\x57\xa4\x1d\x66\x6f\x58\x0a\x0e\xfb\xdb\xa0\x2b\x15\x94\x83\x05\x90\x99\x93\x8d\x95\x1b" -+"\xa6\x9e\x79\x71\x71\x78\x7c\x69\x76\x7a\x8f\x96\x6d\x3c\x0a\x82\x85\x8a\x89\x81\x1f\xb7\xcd\x05\x65\x06\x0e\xfb\xdb\xe8\xaa\x1d" -+"\x93\xfb\x34\x2b\x0a\xfb\xdb\xf7\x4b\x41\x15\x75\x70\x73\x81\x6b\x1b\x68\x73\xa0\xa9\xa9\x95\xa9\xa2\xae\x1f\x73\x06\x59\x65\x77" -+"\x6b\x5f\x1a\x57\xb6\x60\xbf\xbc\xb4\xa5\xbe\xae\x1e\x0e\xfb\xdb\xf8\x3e\xf9\x29\x21\x0a\xf7\x79\xcf\x1d\xf7\x79\x81\x0a\x7d\x89" -+"\x7d\x87\x73\x78\x0a\xaa\x88\x9d\x88\x91\x87\x08\x91\x88\x8e\x84\x83\x80\x1d\x0e\xfc\x14\xf7\xbf\xf9\x35\x15\x89\x89\x84\x6d\x05" -+"\xa3\x86\x77\x96\x69\x1b\x33\x26\x20\x2e\x5f\xa9\x71\xbb\xbc\xa6\x9e\xcf\xbd\x1f\x7d\x68\x88\x81\x7a\x1a\x7c\x97\x81\x9e\xa5\x99" -+"\x96\xc2\xbd\x1e\x84\x95\x05\x6d\x6e\x81\x82\x85\x1b\x89\x89\x8e\x8e\x9a\x9c\xcd\xb4\xf7\x25\x1f\x25\x7a\x15\x96\x8a\x93\x7b\x76" -+"\x1a\x6c\x76\x56\x70\x63\x1e\x67\x71\x70\x77\x73\x1b\x7c\x7d\x9e\xa0\xd5\xde\xf7\x02\xbf\x85\x1f\x0e\x23\xf8\xaf\xf7\x4d\x15\x68" -+"\x43\x70\x6b\x5f\x75\x08\x7a\x68\x62\x85\x37\x1b\x3c\x71\x93\xa5\x96\x96\xb7\xa6\xe8\x1f\x93\xa8\x90\x9f\xa0\xd5\xf7\x22\xde\x18" -+"\x99\xbc\xfb\x23\x36\xbc\xf7\x43\x4a\x0a\x87\x77\x84\x70\x1e\x53\xfb\x5c\x28\x50\x7e\x5b\xee\xc6\x55\xfb\x56\x79\x51\x84\x85\x53" -+"\x81\x19\x7b\xf8\x91\x07\xc5\xf7\x47\x05\x0e\xc9\xc3\x0a\x6d\x91\x67\x6a\x0a\x6e\x92\x6c\x64\x1a\x24\x5b\xfb\x29\x4b\x30\x1e\x3c" -+"\x55\x4d\x65\x44\x1b\x69\x74\x93\xa0\x74\x1f\x0e\xf7\xb0\xfa\x58\x22\x0a\xfc\x05\x06\xfb\x2c\x98\x05\xfb\x64\xfb\x4e\xfb\x65\xfb" -+"\x7c\xfb\x1a\xec\x28\xf7\x16\xa4\x9b\x8c\x8e\xc8\x1f\x8e\xbf\xa3\x8c\xad\x1b\xf7\xee\x06\xcc\xf7\x3a\x7b\x91\x05\xfb\x02\x3b\x50" -+"\x6e\xfb\x25\x1b\x52\x79\x94\xa6\x94\x8e\x9b\x93\xa9\x1f\x8c\x8d\x8c\x8e\x8d\x1a\x8d\x92\xbf\xf7\x52\xc9\x88\xda\x88\x9a\x82\x8c" -+"\x5c\x19\x89\x7b\x87\x71\x9f\x89\xcd\xf7\x7a\x79\x8f\x63\x31\x7e\x85\xfb\x31\x8c\x19\xcb\xf7\x77\x91\xa3\x94\x92\xa1\x8c\x19\xeb" -+"\x06\xf5\x88\x9b\x7c\x89\x28\x08\x9b\x06\xfc\x6f\xfb\xc4\x15\x76\x3f\x7e\x6c\x73\x6e\x08\x72\x77\x67\x7d\x60\x1b\x2b\x5b\xc7\xf7" -+"\x0a\xf7\x24\xce\xf7\x34\xe7\xd8\x1f\xad\xb3\xb8\x9c\xba\x1b\xc8\xb5\x6a\x5d\x7d\x8b\x8b\x77\x41\x1f\x0e\xfb\xf2\xf7\x9d\xf9\x38" -+"\x15\x26\x2a\x30\x2b\x59\xb1\x6a\xc6\xed\xef\xe9\xe7\xbc\x63\xae\x52\x1f\x84\x75\x15\xa0\x8a\x95\x7c\x6c\x1a\x57\x71\x4a\x67\x65" -+"\x1e\x7d\x7e\x78\x83\x7a\x1b\x74\x7c\x9d\xa7\xe0\xcb\xec\xc1\x87\x1f\x0e\x92\xb7\x1d\xf7\x00\xaa\xbb\x9d\xb0\x71\x0a\x6e\x1a\x35" -+"\x74\x0a\x0e\xfc\x12\x2f\x1d\x0e\xfc\x12\xf7\x65\xf8\x2e\x15\xd1\xf7\xa0\xed\x1d\xbd\x9d\x84\x7a\x82\x79\x43\x5c\xfb\x43\x1f\x43" -+"\x67\x7f\x5d\xd3\xaf\x82\x69\x84\x71\x86\x7b\x19\x76\x41\x05\x78\x45\x84\x6c\x79\x1a\x66\x9b\x78\xac\xbf\xad\xa7\xec\xcc\x1e\x7e" -+"\x94\x05\x38\x49\x83\x83\x76\x1b\x81\x86\x91\x98\x93\x8d\x97\x90\x9b\x0a\x70\x1d\x0e\x92\xf8\xe5\xf4\x15\x4f\x3d\x6e\x7c\x65\x1b" -+"\x5e\x6d\xad\xbe\xa0\x90\xac\x90\x9b\x1f\x8f\x97\x93\x8f\xa3\x8d\xb6\x8f\xd5\xa8\xb4\xa7\x08\xb6\xaa\xa5\xb3\xb2\x1a\xb5\x6d\xa4" -+"\x58\x54\x68\x79\x4d\x46\x1e\xbd\x79\x62\xa9\x56\x1b\xfb\x15\xfb\x25\xfb\x36\xfb\x24\x36\xc8\x4e\xdf\xbf\xae\x9c\xbd\xbe\x1f\x5d" -+"\xa3\xae\x75\xb8\x1b\xca\xc6\xab\xd5\xd6\x1f\xfb\xd4\xf7\xd8\x15\xaf\xa2\x71\x63\x69\x7f\x50\x76\x45\x1f\x7a\x50\x7c\x69\x76\x6d" -+"\x08\x64\x70\x70\x79\x6a\x1b\x62\x71\xad\xc4\xed\xb7\xf7\x08\xcb\xd0\x1f\xa2\xa1\xa3\x97\xa6\x1b\xf7\x00\xfb\x5f\x15\xa5\xdf\x9e" -+"\xaf\xb2\xb5\x08\xa4\xa2\xa4\x99\xa1\x1b\xa0\x98\x7c\x74\x69\x77\x66\x6a\x6d\x1f\x6c\x70\x7a\x83\x34\x70\x08\x0e\xf7\xde\xf8\x14" -+"\x15\x93\x8e\x05\xf7\x04\xb6\xb6\xb8\xd4\x1a\xda\x53\xbf\x38\xfb\x11\x3f\xfb\x00\xfb\x94\x51\x1e\x43\xfb\xd3\x05\xfb\x1b\x6d\x70" -+"\x5f\x59\x1b\x81\x84\x8e\x90\x8e\x8c\x8e\x8e\x8f\x1f\x90\x94\x8e\x95\x92\x1a\xa0\x7a\x9a\x74\x73\x7c\x7b\x71\x66\xaa\x72\xb9\xdc" -+"\xd0\xdc\xf7\x1e\xaf\x1e\xf7\x03\xf8\x3e\x05\xf7\x24\xb1\xbb\xd5\xc6\x1b\xb3\xa1\x6f\x58\x54\x7b\x56\x71\x6e\x1f\x70\x73\x66\x7b" -+"\x6a\x1b\x7e\x87\x88\x81\x81\x91\x87\x9f\x8a\x1f\xc2\x89\xa5\x68\x45\x1a\x47\x78\x3b\x6f\x58\x1e\x68\x77\x73\x78\x70\x1b\x81\x83" -+"\x91\x92\x8d\x8d\x90\x8d\x8f\x1f\x91\x95\x8d\x93\x94\x1a\xa3\x7c\x9b\x74\x70\x7a\x79\x6e\x64\xab\x70\xbb\xb9\xbc\xa0\xaf\xad\x1e" -+"\xbe\xc0\xac\xd9\xd0\x1a\xb9\x73\xba\x68\xa2\x1e\x78\x97\x7c\x90\x6c\x8f\x08\x0e\xfb\xfc\xf7\x74\xf7\xb3\x15\x65\x8c\x80\x8f\x9a" -+"\x1a\x94\x91\xa2\x98\xb5\x1e\xe2\xf7\xa6\x05\x8d\x92\x8c\x91\x8e\x1a\x8e\x89\x8d\x88\x1e\x88\x06\x88\x8a\x05\x82\x78\x87\x86\x71" -+"\x1f\x73\x86\x7a\x89\x6d\x86\x08\x78\x07\xad\x8c\x05\x98\x93\x85\x7f\x87\x8a\x84\x87\x81\x1f\x31\xfb\xb1\x85\x7c\x7f\x86\x5c\x86" -+"\x19\x7b\xf7\x49\x07\x0e\x9a\xf8\xa0\xf7\x00\x15\xcd\xf7\xaa\xfc\x8c\x49\xf8\x4a\x06\x0e\xf8\x79\xf8\x40\x15\x33\x06\x35\xfb\xcd" -+"\x05\x5d\x65\x5f\x73\x5f\x1b\x63\x72\xa4\xb4\x94\x8d\x9b\x8d\x93\x1f\xda\xf7\xb0\x05\x33\x06\x26\xfc\x0a\x84\x6f\x7f\x6c\x78\x62" -+"\x19\x69\x4e\x82\x71\x68\x1a\x6f\x95\x7e\xa2\xbd\xa5\xca\xf7\x0e\x8c\x1e\xb7\x8c\x98\x8f\xac\x1e\x95\x6b\x94\x7d\x9e\x7e\x08\x81" -+"\x9b\xa1\x84\xa1\x1b\xc2\xbc\xa6\xca\xc2\x1f\x87\x7c\x8a\x82\x80\x1a\x66\x9d\x79\xaf\xb3\xa4\x98\xb7\xb8\x1e\x8e\x94\x05\x77\x71" -+"\x7d\x85\x7a\x1b\x7b\x82\x94\x9c\x94\x8c\x8f\x92\xa2\x1f\x0e\xf7\xd4\xf7\xda\xf9\x0d\x15\xbd\x06\xae\x8a\x9f\x77\x97\x5c\x08\x9f" -+"\xe3\xfb\xed\x33\x9f\x06\x97\xba\x9f\x9f\xaf\x8c\x08\xbc\xfb\xca\x06\x68\x89\x85\x85\x87\x1e\x83\x86\x8b\x8b\x69\x87\x08\x77\xf7" -+"\x3f\x9f\x07\x69\x8f\x8b\xce\x0a\xf8\x3f\x3f\x15\x96\x06\xf7\x2e\xf7\xcc\x05\xfb\x80\x07\x69\x8a\x88\x87\x86\x1e\x85\x84\x87\x8a" -+"\x69\x87\x08\x77\xf7\x3e\x9f\x07\x6a\x8f\x8a\xce\x0a\xf7\x93\x07\xb2\x99\x98\xb5\x8e\x1e\x9f\x24\x07\xfb\x34\xfb\xc9\xfb\x2e\xf7" -+"\xc9\x05\xfb\x0d\x77\x06\xa9\x8a\xa5\x78\x98\x6d\x08\xfb\x8d\x07\x5b\x81\x7e\x61\x87\x1e\x77\xf7\x17\x9f\x07\x60\x8f\x81\x97\xbc" -+"\x1a\xf7\x73\x07\x0e\xc9\x5f\x0a\xe5\xf9\x0f\xe8\x1d\xae\x98\x0a\x92\x8e\x1a\x8e\x89\x8d\x88\x85\x73\x87\x85\x6d\x1e\x70\x86\x79" -+"\x88\x72\x87\x08\x78\x07\xaa\x8c\x05\x91\x06\x96\x92\x84\x80\x86\x8b\x8b\x86\x7b\x1f\x31\xfb\xb1\x85\x7c\x7f\x86\x5c\x86\x19\x7b" -+"\xf7\x49\x07\xf8\x84\xfb\x4c\x15\x7c\x70\x7f\x85\x65\x8a\x08\xfb\x00\x06\x89\x90\xf7\x06\xf7\x02\x05\xe2\xe0\x97\x9b\xae\x1a\xc3" -+"\x59\xb9\x4f\x69\x6a\x7f\x75\x71\x1e\x78\x7c\x81\x7c\x7d\x6a\x98\x83\x18\xb1\xa7\xa5\x9a\xa8\x1d\x9a\xe1\x16\xf8\x8c\xcd\xfc\x8c" -+"\x06\xf7\x6f\xf7\xae\x15\xfb\x6f\x49\xf7\x6f\xfb\x34\xcd\xf7\x34\xcb\x0a\x5a\xf7\x26\xf9\x11\x15\xc4\x84\x99\x83\x70\xa2\x1d\x97" -+"\x8d\x95\x95\xae\x1e\x9c\xc7\x05\x83\xa4\xa1\x89\xb5\x1b\xdf\xcf\x9c\xaa\xb6\xdd\x1d\x53\x06\x9f\xd8\x94\xa7\x98\x94\xb3\x90\x19" -+"\x9b\xfb\x82\x07\xf7\x20\xfb\x56\x15\xa0\x91\x97\x93\xa7\x1b\xb2\xb1\x82\x7c\x9f\x1f\xa5\x78\x96\x6e\x5b\xd7\x1d\x87\x8b\x90\x6d" -+"\x1f\x0e\xe5\x8d\x1d\xf7\x4d\xe5\x1d\x9f\x98\x0a\x91\x8f\x1a\x8e\x89\x8d\x88\x85\x73\x87\x85\x6d\x1e\x74\x87\x77\x87\x70\x87\x08" -+"\x78\x07\xa9\x8c\x05\x92\x06\x96\x92\x84\x80\x87\x8a\x88\x87\x7d\x1f\x31\xfb\xb1\x85\x7c\x7f\x86\x5c\x86\x19\x7b\xf7\x49\x07\x0e" -+"\x9a\xf7\x03\x1d\xf7\x90\xfb\x0c\x4c\x0a\xf8\x35\x04\xa1\x0a\xfc\x15\xf7\x0b\xfb\x2d\x15\xcc\xf8\x05\x4a\x06\xcc\xf8\x57\x15\x4a" -+"\xfb\xfa\xcc\x06\x0e\xfb\x98\xf7\x88\xf9\x38\x15\x3b\x4c\x4c\x3b\x3c\xca\x4b\xd9\xdd\xca\xc9\xdc\xdb\x4c\xca\x3b\x1f\x69\x04\xc4" -+"\xba\x59\x50\x4f\x5c\x5a\x51\x53\x5c\xbd\xc6\xc7\xba\xbc\xc4\x1f\x0e\xf7\x16\xfb\x52\x15\x5c\x7a\x93\xa2\x99\x9b\xd1\xa0\xdc\xee" -+"\x1d\xf7\x3c\xf7\x32\xda\x60\xba\x42\x4c\x56\x68\x42\x5d\x1f\x89\x8d\x95\xac\x9b\xc7\xcc\xf7\x8e\x19\x86\x90\x59\x82\x6e\x86\x42" -+"\x82\x19\x7a\x07\xc7\x89\x90\x88\x75\x1a\x82\x89\x80\x84\x74\x1e\x89\x85\x8a\x85\x89\x84\x84\x70\x80\x62\x59\xfb\x4a\x60\xfb\x35" -+"\x4c\xfb\x85\x83\x6b\xcc\x0a\x07\xf7\x4f\xf8\xef\x15\xb5\x9f\x6f\x52\x47\x6e\x36\x60\x4d\x1f\x50\x61\x5b\x6c\x57\x1b\x6f\x77\x9a" -+"\xa1\xad\xae\xf7\x16\xa9\xd6\x1f\xcf\xa6\xc1\xb9\xc1\x1b\x0e\xe5\x8d\x1d\xf7\x4e\xe5\x1d\x49\xf8\xfe\x9e\x0a\xaa\x8d\x8b\x88\x98" -+"\x1f\xb5\x80\xa4\x68\x5b\x1a\x56\x67\x63\x5b\x7f\x7f\x90\x99\x78\x1e\x96\x7a\x7e\x91\x83\x1b\x7a\x7e\x7f\x7b\x72\xa4\x7d\xbb\xf7" -+"\x00\xd8\xcc\xe7\xa5\x84\x9f\x7d\x9b\x1f\x82\x95\x8a\x8b\x6f\x99\x87\x8d\x18\xd8\xa6\xa3\xa0\xb2\x1a\xb6\x62\xac\x56\x5d\x63\x74" -+"\x65\x77\x1e\x0e\xfb\xfc\xf7\xb2\xf7\xfa\x15\x7c\x70\x7f\x85\x65\x8a\x08\xfb\x00\x06\x89\x90\xf7\x06\xf7\x02\x05\xe2\xdf\x97\x9c" -+"\xae\x1a\xc3\x59\xb8\x4e\x69\x6a\x7f\x76\x72\x1e\x78\x7b\x81\x7d\x7d\x6a\x98\x83\x18\xb2\xa9\xa3\x99\xa8\x1d\xef\xf7\x71\xf8\x84" -+"\x15\x94\x8a\x93\x8a\x92\x8a\x92\x8a\x91\x8a\x8e\x88\x08\x91\x88\x8d\x85\x6c\x1a\xfb\x83\x07\x6d\x89\x84\x85\x88\x1e\x84\x87\x89" -+"\x8a\x6c\x88\x08\x7c\xf7\x34\x9a\x07\x6b\x8e\x8a\x8c\x83\x8f\x08\x85\x8e\x8a\x91\xaa\x1a\xed\xba\x07\xa3\x67\x95\x7b\x9c\x6d\xb0" -+"\x4c\x99\x7c\x9d\x8a\x08\xca\x94\x06\x77\x9b\x73\xa5\x6c\xb5\x52\xd9\x18\xbf\xa0\xa6\xae\xba\x1a\xc3\x5f\xae\x45\x1e\xfb\x43\x06" -+"\xf7\x04\x78\x15\xb4\x06\xb9\xa2\x71\x57\x52\x73\x6b\x5f\x1f\x61\x06\xba\xf7\xe9\x15\xfb\x50\xfb\x2b\xfb\x2d\xfb\x52\xfb\x53\xf7" -+"\x2a\xfb\x2a\xf7\x53\xf7\x4e\xf7\x2b\xf7\x2a\xf7\x4f\xf7\x59\xfb\x26\xf7\x2a\xfb\x55\x1f\x8c\x61\x15\xf7\x31\xf7\x12\xfb\x1c\xfb" -+"\x3d\xfb\x33\xfb\x16\xfb\x1c\xfb\x2d\xfb\x2f\xfb\x16\xf7\x1c\xf7\x37\xf7\x38\xf7\x16\xf7\x1d\xf7\x2f\x1f\x0e\x9a\xf7\x03\x1d\x0e" -+"\xf7\xd8\xf8\xcb\x15\xb3\x57\xa1\x57\x95\x45\x89\x8a\x18\xab\x7a\x6e\x9c\x65\x1b\xfb\x1e\xfb\x25\xfb\x34\xfb\x2c\x34\xc3\x56\xe6" -+"\xf7\x31\xf7\x1c\xf7\x3f\xf7\x5b\xe8\x72\xce\x4e\xd4\x1f\xf0\xb8\x6b\xa7\x28\x60\x63\xac\x66\x9d\x5e\x95\x19\x68\x7a\xb5\x7a\xa5" -+"\x7a\xae\x6a\x19\xfb\x0f\x55\xac\x6e\x05\xf5\x2b\x15\xb6\xa7\x66\x52\x42\x6a\x27\x5e\x4a\x1f\x56\x67\xd4\x0a\xe3\xbc\xd2\x1f\xc4" -+"\xb2\xb5\xa8\xb6\x1b\x0e\x9a\xf7\xb5\xf7\x91\x15\xfb\x58\xfb\x59\xbb\x5b\xf7\x58\xf7\x59\xf7\x59\xfb\x59\xbb\xbb\xfb\x59\xf7\x59" -+"\xf7\x59\xf7\x58\x5b\xbb\xfb\x59\xfb\x59\xfb\x58\xf7\x59\x5b\x5b\x05\x0e\xfb\xfc\xf7\x29\xf8\xf4\x9e\x0a\xa8\x90\x8b\x88\x97\x1f" -+"\xb5\x80\xa4\x68\x5b\x1a\x56\x67\x63\x5b\x7f\x7f\x90\x99\x78\x1e\x96\x7a\x7e\x91\x83\x1b\x7a\x7e\x7f\x7b\x72\xa4\x7d\xbb\xf7\x00" -+"\xd8\xcc\xe7\xa5\x84\x9f\x7d\x9b\x1f\x82\x94\x8a\x8c\x6f\x99\x87\x8d\x18\xd8\xa6\xa3\xa0\xb2\x1a\xb6\x62\xac\x55\x5e\x63\x74\x65" -+"\x77\x1e\x0e\xef\xf8\xa5\xf7\x84\x15\x50\x6f\x68\x72\x52\x1b\x31\x58\xca\xf7\x04\xf7\x03\xbc\xc8\xe4\xc9\xae\x6e\x50\x95\x1f\x9b" -+"\xd0\x06\x94\x84\x92\x7d\x90\x1e\x87\x8c\x86\x8d\x05\x95\x6b\x71\x90\x6b\x1b\xfb\x15\x32\x39\xfb\x0a\xfb\x06\xdc\x42\xf7\x12\xb1" -+"\xa5\x8f\x9a\xbc\x1f\x99\x8f\x8e\x8d\x8d\x96\x9a\xcf\x18\xfb\x39\xf8\x3e\x15\xfb\x50\xfb\x2b\xfb\x2d\xfb\x52\xfb\x53\xf7\x2a\xfb" -+"\x2a\xf7\x53\xf7\x4e\xf7\x2b\xf7\x2a\xf7\x4f\xf7\x59\xfb\x26\xf7\x2a\xfb\x55\x1f\x8c\x61\x15\xf7\x31\xf7\x12\xfb\x1c\xfb\x3d\xfb" -+"\x33\xfb\x16\xfb\x1c\xfb\x2d\xfb\x2f\xfb\x16\xf7\x1c\xf7\x37\xf7\x38\xf7\x16\xf7\x1d\xf7\x2f\x1f\x0e\x5a\x26\x1d\x59\xf8\x50\xad" -+"\x1d\x5a\x26\x1d\xd3\xf8\xf7\x20\x0a\x5a\x26\x1d\x42\xf8\xc0\x23\x1d\x5a\x26\x1d\xc7\xf8\x4e\x28\x0a\x5a\x26\x1d\x9e\xf9\x16\x15" -+"\x55\x5e\x5e\x55\x97\x1d\x5a\x26\x1d\xf7\x3d\xf8\xd2\x15\x6a\x80\x7e\x80\x70\x1b\x7c\x7a\x3f\x0a\x72\x92\x74\x1b\x57\x6f\x6e\x3e" -+"\x77\x1f\xa8\x06\xab\x95\x9b\x9a\xa4\x1b\x9c\xa3\x84\x75\xc1\x1f\x81\xa5\x9e\x86\x97\xb2\x0a\x92\xf7\xa9\x7d\x15\x88\x9d\x9b\x8a" -+"\x9b\x1b\xf2\xdb\xb6\xf5\xe5\x94\x1d\x9d\x88\xb0\xf7\x5b\x05\x76\x63\x1d\x5f\x63\x91\x6a\x1b\xfb\x6a\xfb\x54\xfb\x5c\xfb\x73\xfb" -+"\x0e\xd0\x2c\xf7\x01\x6b\x1f\x53\x31\x2a\x0a\x99\x93\x57\x1d\xb5\xa1\x86\xa8\x44\x1d\x82\x85\x2c\x0a\x5a\x27\x1d\xfb\x9b\xf7\x62" -+"\x56\x1d\x5a\x27\x1d\xfb\x18\xf8\x09\x20\x0a\x5a\x27\x1d\xfb\xb2\xf7\xd2\x23\x1d\x5a\x27\x1d\xfb\x42\xf7\x60\x3a\x0a\xfb\xdb\x2c" -+"\x1d\xf7\x50\xf9\x46\xad\x1d\xfb\xdb\x2c\x1d\xf7\xed\xf9\xed\x20\x0a\xfb\xdb\x2c\x1d\xf7\x57\xf9\xb6\x24\x1d\xf7\x5c\x16\x6f\x75" -+"\x75\x71\x6f\xa0\x75\xa7\xa6\xa1\xa1\xa6\xa4\x74\xa3\x72\x1f\x0e\xfb\xdb\x2c\x1d\xf7\xde\xf9\x44\x3a\x0a\x92\x32\x0a\xfb\x20\xf7" -+"\x5b\x15\x6a\x80\x7e\x80\x70\x1b\x7c\x7a\x3f\x0a\x72\x92\x74\x1b\x57\x6f\x6e\x3e\x77\x1f\xa8\x06\xab\x95\x9b\x9a\xa4\x1b\x9c\xa3" -+"\x84\x75\xc1\x1f\x81\xa5\x9e\x86\x97\xb2\x0a\xc9\x26\x0a\x3f\x95\x0a\x0e\xc9\x26\x0a\xc0\xf7\x84\x15\x59\x06\xfb\x30\xb1\x0a\xc9" -+"\x26\x0a\x30\xf7\x4d\x15\x4d\x0a\xf7\x5c\x16\x4d\x0a\x0e\xc9\x26\x0a\xb2\xd2\x3a\x0a\xc9\x26\x0a\xf7\x1f\xf7\x5f\x15\x6a\x80\x7e" -+"\x80\x70\x1b\x7c\x7a\x90\x99\x6d\x1f\x9c\x65\x72\x92\x74\xf7\x00\x1d\x95\x9b\x9a\xa4\x1b\x9c\xa3\x84\x75\xc1\x1f\x81\xa5\x9e\x86" -+"\x98\x1b\xba\xac\xb0\xce\x99\x1f\x0e\x37\x0a\xd1\xf8\x26\x21\x0a\xc9\x27\x0a\xfb\xf9\xd0\xc4\x1d\x82\x82\x88\x84\x85\x1e\x0e\xc9" -+"\x27\x0a\xfb\x81\xf7\x80\x20\x0a\xc9\x27\x0a\xfc\x07\xf7\x49\x23\x1d\xc9\x27\x0a\xfb\x92\xce\x3a\x0a\x23\x2f\x0a\xf7\x72\xc0\x15" -+"\xae\x06\xf7\x3f\xf5\x05\x97\x93\x90\x93\x97\x1a\xa0\x7b\x9a\x76\x81\x83\x88\x84\x85\x1e\x0e\x23\x2f\x0a\xf7\x59\xf7\x39\x23\x1d" -+"\x23\x39\x0a\x51\xf7\x7e\x21\x0a\x25\x0a\x5e\xd6\x3b\x0a\x25\x0a\xd3\xf7\x86\x20\x0a\x25\x0a\x47\xf7\x4f\x23\x1d\x25\x0a\xc2\xd4" -+"\x28\x0a\x25\x0a\xa8\xf7\xb4\x15\x55\x5e\x5e\x55\x53\xb6\x5f\xc3\xc2\xb8\xb8\xc1\xc2\x5e\xb8\x54\x1f\x69\x04\xaf\xa9\x6e\x66\x66" -+"\x6e\x6f\x65\x67\x6f\x58\x0a\x0e\x25\x0a\xf7\x42\xf7\x61\x52\x1d\xfb\x6c\xf7\x3c\x80\x15\x93\x06\xd7\xc0\xa9\xd8\xc8\x1f\x7b\x95" -+"\x05\x50\x54\x64\x75\x5a\x1b\x52\x69\xb5\xd3\xe0\xae\xe5\xc3\xc5\x1f\xa9\xa8\xb3\x9d\xb3\x1b\xa2\x99\x83\x7f\x86\x89\x86\x87\x82" -+"\x1f\x84\x7e\x89\x85\x81\x1a\x73\x9a\x7d\xa3\xa7\x9f\x9e\xa5\xbb\x51\x0a\x3c\xaf\x59\xce\x7b\x1e\x53\x31\x2a\x0a\x99\x93\x57\x1d" -+"\xb4\xa2\x86\xa8\x44\x1d\x82\x85\x2c\x0a\xfb\x6c\x28\x1d\xf0\xf7\xb2\x2b\x0a\xfb\x6c\x28\x1d\xf7\x6e\xf8\x59\x20\x0a\xfb\x6c\x28" -+"\x1d\xcf\xf8\x22\x23\x1d\xfb\x6c\x28\x1d\xf7\x5c\xf7\xb0\x15\xab\x06\xfb\x08\xf7\x29\x05\x9b\x7e\x80\x92\x41\x1d\xfc\x12\x2f\x1d" -+"\x25\xf8\x1b\x15\xae\x06\xf7\x3f\xf5\x05\x97\x92\x90\x94\x97\x1a\x9f\x7b\x9b\x77\x81\x82\x87\x85\x85\x1e\x0e\xfc\x12\x2f\x1d\x90" -+"\xf8\xc2\x20\x0a\xfc\x12\xf4\xf8\xf2\x81\x1d\x38\xfc\x80\x7f\x1d\x0e\xfc\x12\x2f\x1d\x9d\xf8\x19\x28\x0a\x32\x1d\x71\xf8\x9c\x52" -+"\x1d\x92\x1d\x7f\x76\x15\xb6\xa7\x66\x52\x42\x6b\x27\x5e\x4a\x1f\x56\x66\xd4\x0a\xe2\xbc\xd3\x1f\xc4\xb2\xb5\xa8\xb6\x1b\x5a\xd5" -+"\x2b\x0a\x2b\x1d\xc4\xf7\x85\x20\x0a\x2b\x1d\x43\xf7\x4e\x23\x1d\x2b\x1d\xbe\xd3\x28\x0a\x2b\x1d\xf7\x2f\xf7\x60\x52\x1d\xfb\xa3" -+"\x31\x0a\xf8\x26\xf8\x97\x21\x0a\x73\x1d\xfb\x71\xf8\x16\x3b\x0a\x2a\x1d\xfb\x0b\xf8\xbd\x20\x0a\x73\x1d\xfb\x88\xf8\x86\x23\x1d" -+"\x2a\x1d\xfb\x03\xf8\x14\x28\x0a\xfb\x6c\x31\x1d\xf7\x71\xd8\xac\x1d\xfb\x6c\x31\x1d\xf7\x46\xf7\x51\x23\x1d\xfb\xa3\x33\x0a\xf8" -+"\x05\xf7\xf0\x21\x0a\xfb\xed\xf7\xa5\xf7\xf0\x15\x86\x85\x86\x85\x87\x85\x08\x77\x7b\x80\x81\x84\x1b\x88\x88\x8e\x8e\x8f\x8b\x8b" -+"\x93\xab\x1f\xad\xf7\x0e\x05\x8e\x98\x8d\x97\x95\x1a\xa2\x7a\x9b\x72\x67\x66\x6a\x3c\x56\x1e\xad\xf7\x01\x86\x8e\x72\x86\x6c\x85" -+"\x5f\x83\x19\x7c\x07\xab\x8a\x91\x89\x81\x1a\x8a\x82\x51\xfb\x67\x05\xbe\x06\xa6\xe5\x8e\x93\x9a\xa6\x08\xc9\xaf\xb3\xb6\xa2\x1b" -+"\x92\x8f\x86\x82\x85\x88\x79\x85\x77\x1f\x72\x2a\x05\x82\x6a\x8a\x85\x86\x1a\x72\x95\x80\xa0\xa8\x98\x95\xc7\xb8\x1e\x0e\x2d\xf7" -+"\x88\xf8\x40\x15\xf7\x32\xa8\xb0\xd1\xc3\x1b\x99\x93\x36\x0a\x87\x43\x1d\x9e\x9d\xa1\xb1\x66\xa6\x59\x5b\x64\x75\x5d\x67\x1e\x6d" -+"\x63\x77\x5d\x6d\x2b\x08\x2f\x06\x84\x6b\x05\xe5\x06\x33\xfc\x38\x05\x20\x75\x6a\x54\x61\x1b\x7f\x83\x92\x94\x8f\x2d\x1d\x91\x8c" -+"\x8f\x91\x52\x0a\x79\x74\x68\xad\x71\xb8\xe4\xd0\xed\xf7\x4d\x40\x0a\xf7\x2f\x06\x33\xfc\x38\x05\xfb\x00\x74\x6b\x55\x90\x1d\xf7" -+"\x01\x06\x91\xab\x05\xfb\x00\x06\x7a\x0a\x76\x5d\x6e\x2b\x08\x0e\xf7\x0a\xf7\x76\xf8\x40\x15\xf7\x32\xa8\xb0\xd1\xc3\x1b\x99\x93" -+"\x36\x0a\x87\x43\x1d\x9e\x9d\xa1\xb1\x66\xa6\x59\x5b\x64\x75\x5d\x67\x1e\x6d\x63\x77\x5d\x6d\x2b\x08\x2f\x06\x84\x6b\x05\xe5\x06" -+"\x33\xfc\x38\x05\x20\x75\x6a\x54\x61\x1b\x7f\x83\x92\x94\x8f\x2d\x1d\x91\x8c\x8f\x91\x52\x0a\x79\x74\x68\xad\x71\xb8\xe4\xd0\xed" -+"\xf7\x4d\x40\x0a\xf7\x45\x06\x86\x7e\x5f\xfb\x64\x6d\xfb\x2a\x08\xfb\x2e\x6d\x6f\x55\x5a\x1b\x7c\x86\x8e\x95\x8e\x8c\x8e\x8e\x90" -+"\x1f\x8f\x91\x8c\x90\x90\x1a\xa0\x7a\x9c\x75\x97\x0a\x91\x88\x84\x87\x8b\x8b\x7f\x5f\x1f\x4d\xfb\x70\x7e\x56\x88\x0a\x91\xdf\xf7" -+"\xcd\x97\xb2\x1f\x8e\x97\x8d\x94\x8f\x1a\x8b\x8b\x8c\x8a\x8d\x1e\x86\x8e\x05\x87\x87\x8b\x89\x81\x1f\x87\x72\x70\x89\x6e\x1b\xfb" -+"\x2a\x06\xa9\xf4\x9a\xb3\xa0\xaa\x08\xb1\xa4\xa8\x9c\xb4\x1b\xa0\x98\x85\x81\x88\x8a\x89\x88\x87\x1f\x84\x84\x89\x86\x80\x1a\x72" -+"\x9b\x7a\xa4\xa4\x9c\x9c\xa4\xb5\x61\xa7\x4e\x53\x54\x73\x64\x68\x1e\x61\x5c\x77\x62\x6c\x25\x08\x0e\xf7\x12\xf7\x7a\xf8\x40\x15" -+"\x7a\x0a\x77\x5d\x6d\x2b\x08\x2f\x06\x84\x6b\x05\xe5\x06\x33\xfc\x38\x05\x20\x75\x6a\x54\x90\x1d\xf7\x43\xec\x1d\x6e\xfb\x06\x78" -+"\x6c\x08\x6c\x78\x7c\x80\x72\x1b\x7d\x85\x8f\x94\x8e\x2d\x1d\x92\x8c\x90\x90\x1a\x9f\x79\x9c\x75\x77\x7b\x7a\x74\x66\xab\x72\xb9" -+"\xe6\xd1\xf0\xf7\x51\xb5\x1e\xd1\xf7\xca\x05\xf7\x3a\x06\x82\x64\x88\x7f\x76\x38\x08\x69\xfb\x17\x7e\x4d\x6f\x1a\x6d\x9e\x77\xa7" -+"\xb6\xa9\xa3\xdc\xc7\x1e\x7b\x94\x05\x55\x5d\x79\x7c\x7d\x1b\x85\x86\x90\x91\x9b\xe3\xf8\x0b\xb2\xf7\x27\x1f\x9a\xc7\x90\x9f\x93" -+"\x8b\x0a\x75\x76\x8d\x7a\x1b\x52\x53\x72\x61\x64\x1f\x60\x5c\x77\x62\x6c\x28\x08\xda\x16\x90\x9f\x05\xf7\x26\xaf\xbc\xcd\xd4\xc9" -+"\x0a\x86\x83\x88\x84\x85\x1a\x87\x8c\x86\x8f\x83\x1e\x8d\x85\x8d\x85\x87\x1a\x88\x07\x67\xfb\x24\x05\x0e\xe5\xf7\x85\xf7\xb7\x15" -+"\x64\x8c\x80\x8f\x9d\x1a\x93\x91\xa6\x95\xb0\x1e\xd6\xf7\xaa\x05\x8c\x91\x8c\x90\x8f\x1a\x8f\x89\x8d\x88\x86\x72\x87\x85\x6c\x1e" -+"\x6b\x85\x7c\x88\x74\x88\x8c\x78\x18\xab\x8c\x05\x91\x06\x96\x92\x83\x7f\x86\x8a\x87\x88\x80\x1f\x3d\xfb\xb4\x86\x7b\x7e\x86\x5c" -+"\x86\x19\x8c\x7b\x05\xf7\x4b\x06\xf8\x28\x5d\x15\xd0\xa2\xa6\xa7\xba\x1a\xc0\x5e\xaf\x48\x3f\x61\x1d\x2f\x68\x6d\x6c\x4f\x1a\x4b" -+"\xbd\x63\xdd\xe1\xc8\x5d\x1d\x5e\xb4\x82\x97\xa4\x1a\xad\xa4\xa1\xb0\xaf\xa3\x74\x67\x6b\x74\x72\x5e\x79\x1e\x62\x5a\x15\xc5\x58" -+"\x95\x7c\x69\x1a\x5d\x6b\x6d\x5c\x5b\x6d\xa7\xb7\xba\xa6\xab\xc9\xa4\x1e\xb8\xd8\x1d\xe5\xf7\x15\xf8\xfd\x15\xa7\xaa\x9b\x93\xa5" -+"\x1b\xa8\xa1\x74\x6d\x5d\x5b\x6c\x27\x79\x1f\x82\x98\x07\xcc\xb1\x66\x4c\x56\x67\x63\x5a\x80\x7e\x90\x99\x78\x1f\x97\x7a\x7e\x91" -+"\x82\x1b\x7a\x7e\x7f\x7a\x72\xa5\x7d\xbb\xf7\x01\xd8\xcc\xe8\xa6\x84\x9f\x7c\x9b\x1f\x82\x95\x8a\x8c\x6f\x99\x87\x8d\x18\xd8\xa7" -+"\xa3\xa0\xb2\x1a\xb7\x61\xad\x55\x5d\x63\x74\x64\x76\x1e\xf8\xa4\xfc\x1f\x15\xcf\xa2\xa7\xa7\xba\x1a\xc0\x5e\xaf\x48\x3f\x61\x1d" -+"\x2f\x68\x6d\x6c\x4f\x1a\x4a\xbd\x64\xdd\xe1\xc8\x5d\x1d\x5f\xb2\x81\x99\xa4\x1a\xad\xa4\xa1\xb0\xaf\xa3\x74\x67\x6b\x74\x72\x5e" -+"\x79\x1e\x61\x5a\x15\xc2\x5d\x99\x76\xaa\x0a\xc0\xf8\x77\x15\x57\x06\xfc\x42\xfd\x4b\x05\xbf\x06\x0e\xe5\xf7\x66\xf9\x0a\x15\xf7" -+"\x1c\x06\x9b\xc2\x05\xfb\x32\x06\x4c\xfb\x17\x05\x7f\x07\xb2\x82\x98\x88\x9a\x85\x08\xb6\x79\x9f\x6e\x5d\x1a\x4c\x5d\x53\x57\x7f" -+"\x81\x8f\x98\x7b\x1e\x97\x7c\x81\x8f\x81\x1b\x7b\x80\x80\x7b\x74\xa3\x7d\xb5\xee\xdb\xd8\xeb\xb0\x7d\xac\x71\xa3\x1f\x75\xa0\x77" -+"\x95\x5d\x96\x08\xf8\x5d\xfb\xfd\x15\xcf\xa2\xa7\xa7\xb9\x1a\xc1\x5e\xaf\x48\x3e\x61\x1d\x30\x68\x6d\x6c\x4f\x1a\x4b\xbd\x63\xdd" -+"\xe0\xc9\x5d\x1d\x5f\xb1\x80\x9b\xa3\x1a\xad\xa4\xa1\xb1\xaf\xa3\x74\x67\x6b\x75\x72\x5d\x79\x1e\x61\x5a\x15\xc2\x5c\x99\x77\xaa" -+"\x0a\xbd\xd8\x1d\xe5\xf7\xd1\xf8\xf9\x15\xfb\x55\xfb\xe6\xac\x7b\xf7\x79\xf8\x27\x05\xfb\x62\x06\x53\x2c\x05\xa1\x06\xa6\xb5\x92" -+"\x8e\xb8\x8c\x08\xf8\x2b\xbc\x15\xfc\x81\xfd\x2a\x05\xb9\x06\xf8\x81\xf9\x2a\x05\x67\xfc\x51\x15\xcb\xa4\xa9\xac\xb7\x1a\xba\x61" -+"\xae\x53\x4d\x55\x5e\x56\x6f\x98\x71\xac\x67\x1e\x40\x6d\x66\x62\x54\x1a\x56\xb9\x63\xc9\xcf\xc9\xc4\xc9\xae\x7b\xab\x67\xb0\x1e" -+"\x7c\x9a\x15\x62\xb5\x80\x9e\xa6\x1a\xae\xa1\xa0\xae\xaf\xa2\x76\x69\x64\x78\x72\x5e\x72\x1e\x61\x67\x15\xb9\x5e\x99\x73\x6c\x1a" -+"\x60\x67\x68\x5f\x64\x73\xa4\xb4\xbb\xa8\xb2\xc1\xa4\x1e\x0e\xf7\x79\x81\x0a\x7c\x89\x7d\x87\x74\x78\x0a\xc6\x86\x90\x88\x77\x80" -+"\x1d\xf7\x37\xf8\x35\x94\x0a\x5a\x26\x1d\xf7\x33\xf8\xec\x15\x4c\x72\x5a\x67\x4e\x1b\x4b\x64\xaf\xca\x86\x75\x0a\x5a\xf8\x07\xf7" -+"\x64\x7b\x1d\x5a\xf7\x48\xbd\x1d\x7a\x68\xfb\x0e\x7f\x1e\xf7\x4d\xfb\xc7\x7b\x1d\x5a\x26\x1d\xf7\x49\xf8\xa9\x29\x1d\x5a\xf8\x0a" -+"\xf7\x76\x15\xc7\x1d\xf7\x59\x07\x75\x6d\x85\x7b\x70\x1a\x56\xb5\x60\xc0\xbc\xb4\xa5\xbe\xae\x1e\x7a\x9d\x05\x74\x70\x73\x82\x6b" -+"\x1b\x66\x75\xa0\xaf\xa1\x90\x9b\x96\x96\x1f\x9b\x07\x52\x90\x85\x93\x7e\xd4\x2d\xf8\xca\x18\x71\x06\xfb\xb6\xfc\x88\x3c\xfb\x19" -+"\x81\x80\x63\x83\x19\x7b\xf7\x4f\x9b\x07\x58\x90\x83\x90\xa4\x1a\x9e\x8e\x94\x9c\xad\x1e\xc4\xf7\x05\x05\xa0\xaf\x15\xf7\x2a\xf7" -+"\x98\xb7\xfb\x98\x05\x0e\x5a\x26\x1d\x9e\xf8\xc8\x15\x55\x5e\x6c\x65\x63\xb6\x6c\xc4\xc1\xb9\xab\xb0\xb2\x5e\xab\x53\x1f\x73\x04" -+"\xb1\xa8\x76\x71\x72\x6e\x77\x65\x67\x6e\x9f\xa5\xa4\xa9\xa0\xae\x1f\x3a\xa9\x15\xae\x06\xf7\x3f\xd5\x05\x97\x91\x90\x90\x94\x1a" -+"\x99\x7b\x96\x76\x81\x83\x89\x86\x85\x1e\x0e\x5a\xf7\x3e\x23\x0a\x86\x7a\x05\xc4\x8a\x9f\x81\x6c\x4d\x1d\xfb\x0f\xfc\x5e\x79\x45" -+"\x78\x7b\x49\x8a\x19\x7d\x0a\x75\xb7\x6c\xa3\x1e\xa4\x6b\x5c\xca\x1d\x2c\x46\x4b\x22\x7f\x79\x8c\x8c\x78\x1f\x82\x68\x15\xa3\x06" -+"\xf0\xba\x66\x3b\x22\x3f\x42\xfb\x03\x76\x7e\x8d\x91\x6f\x1f\x0e\x92\x38\x0a\xfb\x6d\xf7\x82\x93\x0a\x92\x38\x0a\xa8\xf8\x29\x21" -+"\x0a\x92\xf9\x1f\x7d\x1d\x33\xf8\x29\x20\x0a\x92\x38\x0a\xfb\x23\xf7\xf2\x15\x4d\x0a\x0e\x5a\xd2\x1d\x70\x76\x7c\x67\x1e\x7a\x06" -+"\x85\x79\x05\xf7\x93\x29\x0a\x7e\x06\x5c\x8d\x7b\x9e\x74\xdf\x4c\xf7\x7c\x18\xf7\x33\xf7\x53\xca\xd6\xab\xa0\xc9\x8d\x19\x90\x9d" -+"\x05\xfb\x5d\x06\x85\x79\x05\x96\x06\xa3\x94\x85\x7b\x80\x87\x83\x76\x72\x1f\xfb\x26\xfb\x46\x60\xf7\x39\x05\x88\x95\x88\xa3\x93" -+"\x1a\xa3\x9f\x98\xae\x1e\x9a\x06\x91\x2e\x1d\x85\x79\x05\x9d\x06\xbd\x8a\x9d\x7a\xa1\x48\xd0\xfb\x8d\x18\xfb\x38\xfb\x5a\x05\x56" -+"\x61\x4c\x62\x67\x1b\x85\x55\x0a\x76\x06\x6c\x7b\x93\x9a\x93\x8f\x93\x99\x9c\x1f\x0e\xc9\x79\x1d\xf8\x41\xf9\x5b\x21\x0a\xc9\x5f" -+"\x0a\x92\xac\x16\xf8\xee\x06\xfb\xad\xf9\x44\x05\xfb\x8e\xfd\x11\x15\xf7\x69\xf8\x5e\xf7\x51\xfc\x5e\x05\x0e\x5a\x27\x1d\x5c\xf7" -+"\xfe\x15\x4c\x73\x59\x67\x4e\x1b\x4b\x63\xb0\xc9\x87\x5c\x1d\xa5\x94\xa0\x94\xb6\x08\x0e\x5a\x27\x1d\x8d\xf8\x09\x21\x0a\x5a\x27" -+"\x1d\xfb\x3b\xf7\xd2\x24\x1d\x0e\x5a\x27\x1d\x7e\xf7\xbb\x29\x1d\x91\xf8\x44\xc1\x15\x63\xfb\x0a\x7a\x5b\x7f\x71\x08\x6d\x7e\x77" -+"\x7b\x76\x54\x1d\xb5\xb1\x9e\xae\xa7\x1e\xa7\xae\xa4\xbf\x9a\xbe\xf7\x24\xf8\x8b\x18\xb0\xf7\x16\x8f\x90\xca\x99\x08\x9b\xfb\x5b" -+"\x7b\x07\xc4\x86\x98\x81\x67\x1a\x7f\x89\x80\x84\x76\x1e\x8a\x88\x8a\x87\x8a\x1a\x25\xfc\x10\xfb\x64\xf8\x87\x05\xfb\x35\x7b\x06" -+"\xba\x87\x9f\x7e\x9e\x64\xfb\x0b\xfc\x35\x18\x65\xfb\x14\x83\x7f\x52\x83\x08\x7b\xf7\x5a\x9b\x07\x57\x8f\x79\x96\xa7\x1a\x98\x8e" -+"\x9f\x91\xa0\x1e\xf7\x06\xf8\x3a\x05\x0e\x5a\xf8\xcc\xf7\x36\x15\x7b\x93\x5c\x4a\x71\x72\x60\x77\x19\x7a\x66\x47\x81\x3f\x1b\x53" -+"\x74\x95\xa3\x97\x97\xba\xa3\xe2\x1f\xab\xf7\x07\x05\x8a\x9b\x9a\x8a\x9b\x1b\xb9\x8a\xa7\x8a\xa3\x86\x92\x85\x19\x94\x84\x8d\x84" -+"\x77\x1a\x79\x89\x7f\x86\x75\x1e\x9f\x86\xcf\xf7\x7c\x79\x8f\x65\x36\x81\x84\x31\x88\x19\x7f\x6b\x8a\x8a\x68\x1f\xcd\xf7\x7d\x05" -+"\xa2\x91\x95\x8e\xc5\x1b\xf7\x30\xae\x7e\x4f\x7e\x8a\x7c\x8a\x7a\x1f\xa0\x89\xaa\xf7\x2d\x05\xfc\x85\x7b\x06\xc9\x85\x9a\x83\x70" -+"\x1a\x7f\x85\x6a\x86\x78\x1e\xfb\x0f\xfc\x4e\x7a\x52\x83\x84\x53\x81\x19\x7b\xf8\x60\x07\x76\x70\x84\x79\x6f\x1a\x56\xb5\x60\xc0" -+"\xb0\x0a\x69\x72\xa0\xa8\x98\x90\x9f\x94\xa2\x1f\x0e\x5a\xf7\x9d\xf7\xdf\x9a\x0a\x75\x3d\x6a\x73\x3d\x5e\x1d\xf3\x06\xf1\xb2\x73" -+"\x4d\x7f\x8a\x84\xd0\x1d\xa0\x9c\x8a\x89\x93\x1f\xa0\x86\x97\x7d\x78\xba\x0a\x78\x79\x50\x89\x20\x1d\xf8\x83\x06\xc7\xf7\x50\x05" -+"\x7b\x06\x75\x5a\x77\x72\x62\x1d\x35\x7e\x8f\xa3\x92\x8c\x91\x8f\x99\x1f\x0e\x9e\xe3\xf8\x56\x15\xbc\x06\xa4\xc2\x05\xa6\xc5\x9b" -+"\xbb\xa3\x1a\xa3\x7f\x98\x75\x5c\x79\x68\xfb\x0e\x7f\x1e\xf7\x90\xfb\x4c\x9a\x0a\x74\x3d\x6b\x73\x3d\x5e\x1d\xf3\x06\xf1\xb2\x73" -+"\x4d\x80\x8a\x83\xd0\x1d\x9f\x9d\x8a\x89\x93\x1f\xa0\x86\x97\x7d\x78\x1a\x7f\x89\x7d\x87\x7d\x1e\xfb\x0e\xfc\x5e\x7a\x48\x77\x79" -+"\x51\x89\x20\x1d\xf8\x83\x06\xc7\xf7\x50\x05\x7b\x06\x74\x5a\x78\x72\x62\x1d\x35\x7e\x8f\xa3\x92\x8c\x91\x8f\x99\x1f\x0e\xc9\x59" -+"\x0a\xf7\x18\xda\xf8\x56\x15\xbc\x06\xa5\xc2\x05\xa5\xc3\x9b\xbd\xa3\x1a\xa3\x7f\x98\x76\x5b\x7a\x69\xfb\x0f\x7f\x1e\xf7\x91\xfb" -+"\x4d\x6e\x1d\xf7\x9b\xf8\x29\x15\xf7\x2c\xbe\xf0\xf5\xe7\x1b\xc8\xad\x5e\x39\x77\x8a\x7d\x87\x77\x1f\x9d\x06\xc0\xf7\x67\x05\x78" -+"\x06\x79\x81\x7e\x80\x80\x1b\x85\x84\x8d\x90\x7e\x1f\x9f\x5a\x81\x8d\x6c\x1b\xfb\x13\xfb\x21\xfb\x0f\xfb\x39\x4c\x1f\x59\x06\x6c" -+"\x62\x05\xce\x06\x86\x7a\x87\x78\x86\x6f\x08\x57\x06\x6c\x62\x05\xda\x7b\x06\xfb\x24\xdd\x28\xf7\x0a\xce\xbd\xa1\xbb\xb5\x1e\x9c" -+"\xbc\x05\x4f\x5a\x5f\x72\x54\x1b\x38\x57\xd5\xf7\x0a\x96\x8b\x93\x8c\x99\x1f\xf7\x22\x06\xa9\xb4\x05\xfb\x3b\x06\x90\xa4\x8f\x9e" -+"\x91\x9f\x08\xf7\x5e\x06\xa9\xb4\x05\x0e\x30\x6b\x0a\xc9\x2e\x0a\x68\xf8\x21\x15\x4c\x72\x90\x0a\xb9\xa3\xb7\xad\x1f\x9f\xa6\x93" -+"\xa0\x95\xb5\x08\x0e\xbf\x2e\x0a\xfb\x01\xf8\x2c\x20\x0a\xc9\x2e\x0a\xfc\x55\xfd\x73\x30\x1d\xc9\x2e\x0a\xfb\x5c\xf7\xf5\x24\x1d" -+"\x0e\xc9\xf9\x36\xf8\x9e\x15\x96\xb4\x9c\xc5\x92\x91\xc5\x95\x19\x9b\xfb\x8b\x7b\x07\xc6\x83\x96\x84\x6f\x1a\x7b\x87\x77\x84\x71" -+"\x1e\x88\x81\x05\xfb\xb1\x06\x96\xb4\x9b\xbe\xa4\xaf\x0a\x7b\x87\x77\x84\x71\x1e\x88\x81\x05\x3f\x06\x81\x6d\x05\xd9\x06\xfb\x04" -+"\xfc\x26\x51\x1d\xf7\x05\xf8\x2e\x05\xd8\x06\x94\xa9\x05\xfc\x6a\x6d\x15\xf7\xb2\x06\x68\xfb\x10\x05\xfb\xb1\x06\x0e\xbf\xf8\xbb" -+"\xf9\xfd\xc0\x1d\xf7\x15\x58\x15\xfb\x8b\x7b\x06\xc5\x84\x97\x83\x6f\x57\x0a\x5d\xfb\x38\x05\xfb\xb1\x06\xc1\xf7\x57\x4a\x0a\x88" -+"\x77\x83\x70\xb7\x0a\x51\x1d\xf7\x18\xf8\x75\x9c\xc5\x93\x91\xc4\x95\x19\x0e\xe5\xf7\x91\x9d\x15\x73\x7f\x8d\x8e\x82\x1f\x7b\x91" -+"\x82\x98\x9c\x1a\x95\x8e\x9b\x8f\x9a\x1e\xf7\x17\xf8\x5d\x9f\xd4\x9e\x9a\xd3\x8a\x19\x90\x2e\x1d\x86\x79\x05\xa2\x98\x8a\x87\x94" -+"\x1f\x9b\x85\x94\x7e\x7a\x1a\x81\x88\x7b\x87\x7d\x1e\xfb\x17\xfc\x5e\x78\x46\x78\x7a\x60\x1d\xf7\xc9\xf9\x18\x15\xc6\x8c\x9e\x80" -+"\x6c\x4d\x1d\xfb\x14\xfc\x52\x05\x53\x7b\x6d\x68\x6c\x1b\x7a\x7f\x94\x99\x95\x8d\x8f\x97\x96\x1f\x95\x96\x8f\x94\x97\x1a\xa4\x77" -+"\x9f\x71\x68\x6f\x6b\x64\x57\xb6\x64\xc6\xb7\xbb\xa2\xb1\xb1\x1e\xa8\xa9\xa5\xbd\x9c\xc6\xf5\xf8\x04\x18\x9b\xcb\xa1\xa0\xbc\x8d" -+"\x90\x9d\x18\xfb\x91\x06\x0e\xfb\xdb\x2c\x1d\xf8\x49\xf9\xe2\x15\x4c\x72\x5a\xa1\x1d\xa6\x94\xa0\x94\xb5\x08\x0e\xfb\xdb\x2c\x1d" -+"\xf7\xc5\xf9\xb6\x24\x1d\x0e\xfb\xdb\x2c\x1d\xf8\x55\xf9\x9f\x29\x1d\xfb\xdb\xf7\x1d\x22\x0a\x7b\x07\xc6\x83\x96\x84\x6f\x9f\x0a" -+"\xf7\x56\x07\x75\x6c\x86\x7c\x70\x1a\x56\xa9\x0a\x6b\x1b\x66\x75\xa0\xaf\x9f\x90\x9a\x96\x99\x1f\x9b\x07\x52\x92\x80\x91\xa7\x1a" -+"\x9f\x8d\x95\x94\xac\x1e\xf7\x0f\xf8\x4f\x9d\xc5\x92\x91\xc4\x95\x19\x9b\x07\x0e\xfb\xdb\x42\x0a\xfb\xdb\xf7\x8e\x9d\x15\x35\x0a" -+"\xf7\x0f\xf8\x5d\x3f\x1d\x6d\xf9\xd2\x53\x1d\xfb\x96\xce\xf8\x56\x15\xbc\x06\xa5\xc2\x05\xa5\xc3\x9b\xbd\xa3\x1a\xa3\x7f\x98\x76" -+"\x5b\x7a\x69\xfb\x0f\x7f\x1e\xf7\x95\xfc\x85\x15\x35\x0a\xf7\x0f\xf8\x5d\x3f\x1d\x0e\xfb\xdb\x81\x16\xf7\x88\x9b\x06\xae\x1d\xfb" -+"\x8b\xab\x1d\xf8\x44\xf9\xbf\x15\x6a\x80\x7e\x80\x70\x1b\x7c\x7b\x90\x99\x6c\x1f\x9c\x66\x71\x92\x74\x1b\x57\x70\x6e\x3e\x76\xa3" -+"\x1d\xfb\x72\x6e\x0a\x58\xf7\x87\x20\x0a\x92\xf7\xa0\xf7\xf1\x15\xf7\x23\xfb\x8d\x05\x96\x78\x91\x7a\x7f\x1a\x76\x78\x81\x61\x88" -+"\x1e\x85\x79\x05\xf7\xa1\x06\x91\x9d\x4c\x89\x6d\xa3\x59\xe5\x19\xfb\x21\xf7\x93\xf7\x9c\xf7\x6b\xb6\xac\xa4\x95\xb3\x8c\x19\x91" -+"\x9d\x05\xfb\x5d\x22\x1d\xb9\x88\x8f\x89\x7e\x1a\x83\x8a\x89\x77\x91\x0a\xc3\x9f\x80\x6d\x80\x89\x7c\x87\x7d\x1f\xfb\x0f\xfc\x5e" -+"\xcd\x1d\x70\x7b\xc2\x1d\x92\x6f\x1d\xfc\xaf\xfe\x1f\x40\x1d\x23\x34\x0a\xfb\x03\xd0\x96\x0a\x0e\x53\xf8\x0e\xf8\x74\x15\x7b\xfc" -+"\x19\x82\x1d\x0e\x23\x34\x0a\xca\xfb\x5d\x15\xdf\xba\xb9\xc3\xc3\x48\x0a\x70\x74\x70\x57\x69\x1e\x0e\x23\x34\x0a\xfb\xa8\xfe\x1f" -+"\x30\x1d\x23\x34\x0a\x93\xfb\x98\x49\x0a\xf7\x41\xae\x0a\x88\x93\x8a\x96\x86\x19\x9a\x84\x95\x82\x83\x1a\x89\x8a\x87\x8a\x87\x1e" -+"\xfb\x19\xfc\x84\x7a\xd3\x1d\x70\x7c\xb6\x0a\x9b\x1a\x96\x8d\x9a\x8f\x9a\x1e\xf7\x10\xf8\x62\xc8\xfc\xc6\x05\x9d\x06\xf7\xfb\xf8" -+"\xaf\xfb\x0e\xfc\x46\x78\x46\x78\x7a\x4b\x8a\x20\x1d\xf7\x9f\x24\x0a\x72\x7d\x35\x1d\x9b\x1a\x98\x8d\x98\x8f\x9a\x4b\x1d\xd3\x9e" -+"\x9d\x9a\xd0\x21\x1d\xfb\x39\x06\x0e\x92\x32\x0a\xfb\xe8\xd0\x93\x0a\x92\x32\x0a\x2d\xf7\x80\x21\x0a\x92\x32\x0a\xfc\xb4\xfe\x1f" -+"\x40\x1d\x92\xf7\x97\xf8\xb0\x15\xf7\x69\xfc\xb8\x05\x9a\x06\xf7\x2b\xf8\xc9\x9d\xd0\x9d\x9b\xcb\x8d\x19\x8f\x9d\x05\xfb\x62\x22" -+"\x1d\xa4\x9a\x89\x88\x94\x1f\x9b\x85\x95\x7d\x7a\x1a\x81\x89\x7c\x87\x7c\x1e\x24\xfc\x13\xfb\x4f\xf8\x77\x05\xfb\x44\x06\x86\x7a" -+"\x05\x9f\x06\xb5\xa2\x7e\x69\xa1\x1f\xfb\x18\xfc\x81\x79\x45\x78\x7b\x4b\x8a\x19\x86\x55\x0a\x70\x7c\xc2\x1d\xc9\x26\x0a\xf7\x34" -+"\xf7\x79\x15\x4c\x72\x5a\xa1\x1d\xa5\x94\xa0\x94\xb6\x08\x0e\xc9\x26\x0a\xfb\x45\x95\x0a\x93\xfb\x34\x92\x0a\xc9\x26\x0a\xf7\x48" -+"\xf7\x36\x15\xfb\xc0\x46\x1d\xcd\xdf\xf8\x56\x15\xbc\x06\xa4\xc2\x05\xa7\xc6\x9a\xba\xa3\x1a\xa3\x7f\x98\x75\x5c\x79\x68\xfb\x0e" -+"\x7f\x1e\xf8\xd9\xfb\xf4\x15\x74\x4d\x6f\x75\x55\x88\x08\xfb\x03\x06\xcc\xb0\xb1\xa7\xb2\xb3\x08\xdf\xe2\xb7\xea\xea\x1a\xf7\x19" -+"\x3a\xdc\xfb\x19\x30\x3f\x6d\x4d\x4a\x1e\x3e\x42\x5f\x2b\x29\x1a\x2a\xb2\x3d\xdc\x4d\x1e\xfb\x0b\x06\x60\x7b\x98\xae\x95\x8c\x93" -+"\x8d\xa0\x1f\x77\x84\x7b\xfb\x30\x05\xf7\x76\x06\x9e\xd1\x05\x64\xb6\x7c\xb8\xd5\x1a\xd8\xa2\xf7\x01\xac\xda\x1e\xe2\xb0\xd1\xc1" -+"\xd7\x1b\xd7\xbb\x57\x39\x34\x6e\x21\x5b\x33\x1f\x68\x4c\x6d\x66\x4e\x56\x78\x45\x18\xf7\x77\x06\xcf\xf7\x31\x05\x0e\xc9\xf8\x6b" -+"\xf9\x34\x15\x38\x30\x5f\x40\x46\x1f\x34\x2e\x57\xfb\x0f\xfb\x04\x1a\xfb\x24\xe2\x30\xf7\x1d\xe1\xd2\xc2\x0a\xf7\x23\x32\xea\xfb" -+"\x1a\x1e\x85\x66\x15\xda\xba\x50\x28\x32\x68\xfb\x0d\x55\x25\x1f\x33\x5c\x47\x56\x47\x1b\x3f\x59\xc9\xe8\xf7\x05\xc3\xf7\x35\xd4" -+"\xee\x1f\xbf\xb1\xc1\xaa\xbe\x1b\x0e\xc9\xe0\xa9\x1d\xf8\x32\xf7\x31\x15\x37\x30\x5f\x40\x46\x1f\x34\x2d\x57\xfb\x0e\xfb\x05\x1a" -+"\xfb\x23\xe2\x30\xf7\x1e\xe0\xd3\xc2\x0a\xf7\x22\x31\xeb\xfb\x19\x1e\x85\x66\x15\xda\xba\x51\x27\x32\x68\xfb\x0e\x55\x26\x1f\x33" -+"\x5b\x47\x56\x48\x1b\x3e\x59\xc9\xe9\xf7\x04\xc3\xf7\x35\xd4\xee\x1f\xbf\xb1\xc2\xaa\xbe\x1b\x0e\xc9\xc3\x0a\x6e\x91\x66\x6a\x0a" -+"\x6d\x92\x6e\x63\x1a\x24\x5b\xfb\x28\x4b\x2f\x1e\x3c\x54\x4e\x65\x44\x1b\x69\x74\x93\xa0\x74\x1f\xf7\x70\xf9\x26\x56\x1d\xf0\xf9" -+"\x10\x6c\x1d\xc9\xf9\xb3\x23\x0a\xfd\x12\x22\x1d\xa3\x98\x89\x88\x94\x1f\x9b\x85\x95\x7d\x7a\x1a\x7e\x89\x7f\x87\x7c\x1e\xfb\x0e" -+"\xfc\x5d\x4b\x0a\x90\x9d\x05\x35\x0a\xf7\x0a\xf8\x4a\x9d\xd3\x9f\x9b\xd3\x8a\x19\xea\x06\xbe\xa0\x7e\x6e\x81\x89\x7d\x86\x7b\x1f" -+"\xfb\x09\xfc\x4a\x7a\x46\x78\x7a\xc4\x0a\x74\x7e\x8d\x8e\x82\x68\x1d\x98\x8d\x97\x8f\x9a\x1e\xf7\x0e\xf8\x5d\x05\xd4\x9e\x9e\x99" -+"\xd4\x1b\x0e\xb6\xf9\xc8\xf9\x1a\x15\xa0\x61\x79\x90\x75\x1b\x5c\x6c\x69\x41\x74\x1f\x6a\x20\x67\xfb\x02\x55\x56\x27\x76\x19\xd7" -+"\xf7\xb0\x9e\xd4\x9d\x9a\xd5\x8a\x19\x8f\x2e\x1d\x87\x79\x05\xa2\x99\x8a\x87\x94\x1f\x9b\x85\x95\x7d\x7a\x1a\x82\x89\x7b\x87\x7d" -+"\x1e\x3d\xfb\xb6\x05\x41\x9b\x6f\xaa\xce\x1a\xa4\x8e\xa8\x90\xa1\x1e\x9e\xdf\x05\x8f\x9d\x8d\x9f\x98\x1a\xb6\x71\xaa\x66\x73\x69" -+"\x7f\x7a\x70\x1e\x92\x76\x05\x91\x98\x90\x8c\x94\x1b\x99\x92\x84\x7d\x84\x8a\x86\x85\x6b\x1f\x7a\x3d\x05\x86\x73\x89\x77\x77\x1a" -+"\x4a\xb7\x4c\xcd\x6e\x1e\xa1\x81\x9f\x86\xad\x86\x65\xfb\x20\x18\x7a\x47\x78\x79\x4d\x8a\x86\x79\x18\xf7\x93\x24\x0a\x74\x7e\x35" -+"\x1d\x9b\x1a\x99\x8d\x97\x8f\x9a\x1e\xb1\xf7\x25\xf7\x3d\x9c\xed\xd4\xb0\xf7\x1e\x19\xa2\xdf\x05\xbf\x99\x9a\xa1\xa2\x1b\x93\x91" -+"\x8a\x86\x98\x1f\x0e\x5a\x3a\x1d\xd7\xf7\xe8\x56\x1d\x5a\x3a\x1d\xf7\xd6\xf8\x8f\x21\x0a\x5a\x3a\x1d\x33\xfd\x10\x40\x1d\x5a\xf7" -+"\xb9\xf7\xd8\x15\x81\xb2\x9b\x88\xaa\x1b\xf7\x26\xef\xdc\xf7\x0a\xe9\x3c\xc5\xfb\x14\x1f\xfb\x73\x22\x1d\xa4\x9a\x8a\x87\x95\x1f" -+"\x9b\x85\x95\x7d\x7b\x1a\x80\x89\x7c\x87\x7d\x1e\xfb\x0f\xfc\x5e\x7a\x45\x78\x7b\x4a\x8a\x20\x1d\xf7\xa3\x24\x0a\x6f\x7a\xb6\x0a" -+"\x9c\x1a\x94\x8d\x9b\x8f\x9a\xe4\x1d\xcd\xb3\x61\x47\x5d\x74\x56\x6a\x6d\x1f\x72\x6f\x63\x7d\x61\x1b\x77\x7e\x8d\x92\x72\x1f\x0e" -+"\x37\x0a\xfb\x4e\xf7\x7f\x92\x0a\xf7\x55\x7c\x15\x89\x9b\x93\x8a\x97\x9b\x1d\x6a\x8d\x48\x9d\x88\x18\x7c\x1d\x9a\x85\x92\x89\x98" -+"\x87\x54\x32\x18\x94\x83\x05\x90\x98\x93\x8d\x96\x4a\x1d\x75\x7b\x8f\x96\x6d\xc1\x0a\xaf\xbd\xb5\x6b\xa5\x59\x81\x85\x47\x1d\xfb" -+"\x3b\xf8\x6a\x5d\x0a\x69\x8d\x49\x08\x6b\xf8\x26\x20\x0a\x37\x0a\xfb\xf3\xfd\x79\x30\x1d\x49\xf8\xdd\xf9\x2b\x15\xfc\x73\x06\xf7" -+"\x12\xfb\xf0\xfb\xd2\xfb\xcf\x05\xf8\x9a\x06\xef\xf7\x3f\x6f\x94\x05\x39\x5a\x69\x7a\xfb\x09\x1b\xfb\x4f\x06\x6e\x81\x8f\x95\x92" -+"\x9e\xa4\xa6\xa6\x1f\xf7\x61\xf7\x63\x2a\xf7\x9d\x05\xf7\x39\x06\xee\xa9\x7a\x51\x7f\x8a\x7c\x8a\x7b\x1f\xab\x06\x0e\x23\xf8\x47" -+"\xf9\x02\x15\xec\x06\xc1\xa6\x74\x5c\x78\x89\x78\x86\x71\x1f\x9c\x06\xb9\xf7\x42\x05\xfc\xb3\x06\x5c\xfb\x42\x05\x9e\x06\x9e\xe6" -+"\xc8\xb9\xed\x88\x08\xca\x06\xfb\x1e\xfc\x99\x05\x42\x78\x78\x7d\x41\x1b\x87\x79\x05\xf7\xb6\x24\x0a\x81\x06\x6e\x7b\x8d\x8e\x81" -+"\x68\x1d\x95\x8d\x9a\x8f\x9a\x1e\x0e\x23\xf7\xed\xf7\xff\x15\xd2\xf7\x93\x05\xc2\x06\xd3\xab\x72\x53\x7e\x8a\x7c\x89\x7a\x1f\x9c" -+"\x89\xb7\xf7\x37\x05\xfc\xa8\x06\x61\xfb\x2e\x9d\x87\xc0\xf7\x00\xac\x9c\xf7\x2c\x89\x19\x45\xfb\x93\x05\x2a\x06\x83\x68\x05\xeb" -+"\x06\x4a\xfb\x82\x64\x1d\xf7\xb6\x9b\x07\x99\x0a\xc5\xf7\x64\x05\xf5\x06\x93\xae\x05\x0e\x23\x50\x1d\x76\xf8\x13\xbe\x1d\x23\xf7" -+"\x74\x16\xf7\x17\x9b\x06\x99\x0a\xf7\x1f\xf8\x86\x05\xc2\x06\xd3\xab\x72\x53\x7e\x8a\x7c\x89\x7a\x1f\x9c\x89\xb7\xf7\x37\x05\xfc" -+"\xa8\x06\x61\xfb\x2e\x9d\x87\xc0\xf7\x00\xac\x9c\xf7\x2c\x89\x19\xfb\x24\xfc\xa4\x64\x1d\xf7\x0d\x07\x50\x2c\x2a\x0a\x99\x93\x8d" -+"\x95\x4f\x0a\x7a\x8f\x96\x6d\xc1\x0a\xae\xbe\xb5\x6b\xa5\x59\x82\x85\x2c\x0a\xc9\xf8\xb6\xf8\x5d\x15\x7a\x06\x4f\x76\x77\x7e\x49" -+"\x1b\x69\x06\x58\x77\x97\xa8\x93\x8c\x97\x8d\x97\x1f\x7a\x06\x53\xfb\x6d\x05\x9c\x06\xa0\xc8\x9c\x97\xd2\x8c\x08\xab\x06\xc1\x9d" -+"\x81\x6e\x83\x8a\x7d\x88\x7e\x1f\x9c\x06\x87\xf8\x49\x15\xfb\x0c\xfb\x07\x5b\x39\x3e\x1f\x3d\x37\x58\xfb\x15\xfb\x09\x1a\xfb\x29" -+"\xe8\x36\xf7\x38\xf7\x0c\xf7\x01\xb9\xde\xd8\x1e\xdc\xe2\xbe\xf7\x16\xf7\x09\x1a\xd6\x72\xc7\x5c\xb1\x1e\xb0\x5d\x49\xa0\x45\x1b" -+"\x85\x6a\x15\xac\xb1\x81\x7c\xa3\x1f\xb3\x72\xa0\x5a\x48\x1a\x24\x65\xfb\x14\x51\x2c\x1e\x33\x56\x39\x5b\x29\x1b\x67\x66\x94\x9c" -+"\x70\x1f\x65\xa2\x77\xb9\xc9\x1a\xf7\x0d\xbf\xf7\x34\xcd\xdf\x1e\xd0\xc2\xd5\xb0\xdf\x1b\x0e\xbf\x63\x0a\xfb\x1d\xf7\x77\x3e\x1d" -+"\xc9\x27\x0a\xfc\x49\xd0\xb4\x1d\x85\x1e\x92\xfb\x34\x15\xaf\xb3\x1d\x0e\xc9\x27\x0a\xfb\x0b\xf7\x32\x15\xfb\xc1\x46\x1d\xc9\xf8" -+"\xca\x22\x0a\x7b\x07\xc0\x86\x9d\x80\x6d\x1a\x7b\x71\x27\x5b\xfb\x3f\x1e\x7e\x5a\x05\xfb\x38\x5f\x4b\x47\xfb\x02\x1b\x38\x52\xba" -+"\xd2\xae\xa7\xf7\x00\xd6\xf7\x9a\x1f\x9f\xd0\x9b\x99\xd0\x93\x44\x0a\xf7\x12\xba\xb1\x93\x9f\xb2\x1e\x72\x6f\x81\x71\x6c\xb1\x1d" -+"\xac\xaa\x94\xa2\xb3\xce\x1f\xaa\xc0\x99\xa9\x9a\xbe\xde\xf7\xb1\x18\xb1\xf7\x16\x8f\x90\xc9\x99\x08\x9b\x07\x0e\x23\x75\x1d\x0e" -+"\x23\x75\x1d\xa5\xf9\x6e\x53\x1d\x8b\xd2\xa9\x1d\xf8\x36\xfb\x60\x15\xf7\x37\xf7\x76\x05\xd5\xc0\xb9\xac\xc0\x21\x1d\xfb\x72\x06" -+"\x85\x79\x05\x9b\x06\xad\x9e\x81\x79\x80\x86\x81\x7a\x73\x1f\xfb\x2a\xfb\x6a\x4b\xf7\x6a\x05\x86\x9d\x89\x94\x92\x1a\xa6\xa0\x97" -+"\xb6\x1e\xa0\x06\x8f\x9d\x05\xfb\xaf\x22\x1d\xa0\x06\xb7\x8d\xa5\x75\x9c\xe9\x1d\x3f\x8c\x20\x1d\xf7\xb4\x29\x0a\x72\x7a\x8c\x8d" -+"\x82\x1f\x77\x90\x7e\x99\x9f\x1a\x98\x8d\x97\x8f\x9a\x1e\x0e\xc9\x27\x0a\xfb\xa8\xf7\xae\x15\x55\x5e\x5e\x55\x97\x1d\xc9\x63\x0a" -+"\xfb\x14\xf7\x58\x15\x69\x7f\x7f\x80\x6f\x1b\x7c\x7b\x3f\x0a\x71\x93\x75\xf7\x00\x1d\x94\x9b\x9a\xa4\x1b\x9d\xa3\x84\x75\xc0\x1f" -+"\x80\xa6\x9d\x86\x98\x1b\xba\xad\xb0\xcf\x99\x1f\x0e\xf7\x41\x30\x0a\xfc\x54\xd0\x94\x0a\xf7\x41\x30\x0a\xfb\xf2\xf7\x80\x20\x0a" -+"\xf7\x41\x30\x0a\xfc\x8d\xf7\x49\x23\x1d\xf7\x41\x30\x0a\xfc\x15\xce\x28\x0a\x76\xf8\xc7\xf7\x50\x15\x7b\x06\x66\x32\x5c\x69\x30" -+"\x8a\x08\x2f\x06\x30\x06\x3e\x69\xa7\xca\x94\x8c\x93\x8c\x9b\x1f\x7b\x06\x59\xfb\x50\x05\xf8\x87\x06\xf7\x33\x23\x0a\xfc\x67\x06" -+"\x5d\xfb\x3f\x05\x9c\x06\xa5\xda\xb2\xa4\xed\x89\x08\xf7\x36\x06\xe1\xa5\x7c\x57\x81\x8a\x83\x88\x7a\x1f\x9c\x06\x36\x73\x15\x7a" -+"\x06\x78\x4a\x6b\x77\x3d\x8d\x08\x52\x06\x5c\x7c\x8e\x98\x7d\x1f\x82\x93\x87\x95\x98\x1a\x94\x8c\x94\x8f\x9d\x1e\x79\x06\x4b\xfb" -+"\x85\x05\x9c\x06\x9d\xd0\xa5\x9e\xd6\x8c\x08\xdc\x06\xc3\xa1\x7e\x6a\x7f\x8a\x82\x85\x75\x1f\x9c\x06\x0e\x23\x2f\x0a\xf7\xf2\xf7" -+"\x70\x20\x0a\x23\x2f\x0a\xf7\xba\xbe\x15\xaa\x06\xfb\x08\xf7\x29\x05\x9c\x7e\x80\x91\x41\x1d\x23\x39\x0a\xfb\xce\xce\x15\xae\x06" -+"\xf7\x3f\xf5\x05\x96\x92\x90\x93\x98\x1a\xa0\x7b\x9a\x77\x65\x1d\x0e\x23\x39\x0a\xfb\x81\xf7\x47\x24\x1d\x0e\x23\xf7\x29\xb2\x15" -+"\xf8\x6f\xf9\x03\x05\xfc\x81\x06\x57\xfb\x30\x05\xa4\x06\xa9\xec\xb8\xa2\xf7\x31\x89\x08\xf7\x16\x06\xfc\x6f\xfd\x04\x05\xf8\x8b" -+"\x06\xc2\xf7\x46\x05\x76\x06\x6a\x20\x4c\x6a\xfb\x43\x8c\x08\x0e\x25\x0a\xf7\x37\xf7\x7b\x15\x4c\x73\x90\x0a\xba\x5a\x1d\x92\xb7" -+"\x1d\xf6\xaa\xbb\x9d\xb1\x71\x0a\x6d\x1a\x36\x74\x0a\x7d\xf7\xa3\x3b\x0a\xf7\x79\xcf\x1d\x5a\xf8\x07\xf7\x64\x15\x86\xfb\x09\x05" -+"\x50\x88\x80\x7d\x5c\x1b\x74\x25\x1d\xf7\x9c\x06\x90\x9d\x05\x73\x06\x5b\x7c\x97\xb4\x92\x8b\x8b\x8c\xa5\x1f\xa2\xf8\xc2\x05\x7a" -+"\x06\xfc\x2a\xfc\xcf\x5d\x4d\x7b\x7f\x68\x8c\x19\x7f\x25\x1d\xf7\x5a\x06\x8f\x9d\x05\x77\x06\x6e\x7c\x94\x9d\x91\x8f\x95\x91\x94" -+"\x1f\xeb\xf7\x1e\x05\xf7\x48\xaf\x15\xfb\x2f\x06\xf7\x39\xf7\x80\x05\x0e\x45\xf8\xea\x23\x0a\xfc\x4b\x66\x1d\x7e\xa4\x0a\xf7\xa4" -+"\x06\xf7\x37\xf7\x03\xdf\xf7\x0f\xf7\x00\x37\xcd\xfb\x1c\x79\x80\x8a\x88\x73\x1f\xcd\xf7\x8d\x05\xf7\x14\x06\xbf\xa6\x72\x5b\x76" -+"\x89\x79\x86\x71\x1f\x9c\x06\xfb\xba\xfb\x2b\x15\x91\xa0\x95\x8c\x9d\x1b\xe1\xb8\x5c\x32\x22\x43\x49\xfb\x08\x72\x7d\x8e\x95\x6d" -+"\x1f\x0e\x5a\xf7\x3e\x23\x0a\x86\x7a\xaa\x8a\x94\x8a\x96\x87\x19\x9b\x86\x95\x7d\x7a\x4d\x1d\xfb\x0f\xfc\x5e\x05\x45\x79\x78\x7a" -+"\x49\x1b\x7d\x0a\x76\xb7\x6b\xa3\x1e\xa4\x6a\x5d\xca\x1d\x2a\x46\x4d\xfb\x01\x7f\x81\x8b\x8d\x74\x1f\x82\x68\x15\xaa\x8c\x05\xe7" -+"\xbb\x63\x3f\x20\x3f\x42\xfb\x02\x76\x7e\x8d\x91\x6f\x1f\x0e\x30\x6b\x0a\x73\xf9\x60\x23\x0a\xfc\x8f\x25\x1d\x9b\x06\xb9\xa0\x7d" -+"\x6a\x6a\x7d\x40\x73\x2e\x1f\x65\xfb\x28\x62\x33\x47\x40\x08\x5e\x62\x78\x82\x58\x1b\x73\x06\x59\xfb\x4f\x05\x9d\x06\xf7\x15\xb8" -+"\xa8\xa6\xeb\x1b\xf7\xe4\x06\xbd\xa1\x75\x5a\x78\x8a\x80\x83\x65\x1f\x8a\x88\x8a\x85\x8a\x83\x08\x9d\x06\xbf\xf7\x4f\x05\x56\x06" -+"\x69\x7d\x94\xa0\x92\x8c\x93\x8e\x94\x1f\xf7\x13\xf8\x6f\x05\xd1\x9d\x9e\x99\xd3\x1b\xfb\x50\x79\x15\xfb\x32\xfc\xe2\x05\xfb\x98" -+"\x06\xe6\xd6\xc9\xf7\x12\xb5\xf7\x52\x9e\xe6\x99\xcd\x95\xb5\x08\x0e\x5a\x5e\x0a\x0e\x5a\x5e\x0a\xf7\x25\xf9\x76\x53\x1d\xf7\x94" -+"\xf8\x57\xf7\xfa\x15\x7f\x06\x2f\xf3\x4c\xf4\xbe\x1a\x9d\x99\x93\xa9\x1e\x9c\x24\x0a\xfb\x55\x06\x86\x79\xb4\x87\x9d\x78\xc9\x27" -+"\x19\xb1\x4d\x9a\x75\xb3\x54\xfb\xb9\xfb\xaf\x18\x58\x5b\x71\x7a\x5c\x7b\x86\x79\x18\xf7\x7c\x06\x8f\x9d\x05\x70\x8e\x84\x90\x99" -+"\x1a\x93\x8f\x90\x98\x97\x1e\x9b\x9a\xf7\x8b\xf7\x89\x05\x9d\x06\x57\xfb\x70\x7c\x46\x79\x7b\x4d\x89\x19\x87\x79\x05\xf7\x97\x06" -+"\x8f\x9d\x69\x8c\x80\x8d\x81\x92\x19\x7f\x93\x85\x97\x9c\x1a\x95\x8c\x93\x8f\x9c\x1e\xbf\xf7\x75\x05\x9e\x06\xf7\x06\xfb\x84\x05" -+"\x99\x6e\x8b\x8b\x83\x1a\x7a\x78\x7e\x6e\x1e\x87\x79\x05\xf7\x7b\x06\x90\x9d\x69\x8a\x6c\xa1\x76\xb4\x19\xfb\x28\xf7\xb8\xd9\xc9" -+"\xa9\xa4\xd2\xc9\x19\xf7\x05\xed\xaa\xa0\xb6\x8f\x90\x9d\x18\xfb\x56\x22\x1d\x9d\x06\xa1\x96\x87\x81\x78\x74\x73\x2b\x3c\x1f\x73" -+"\x77\x69\x6e\x6d\x71\x32\x40\x18\x7b\x06\xb9\xf7\x5b\x05\xd4\x9c\x9c\x99\xd5\x1b\x8f\x9d\x05\xfb\xa4\x25\x1d\xa6\x93\x8a\x87\x96" -+"\x1f\x9c\x85\x95\x7c\x77\x1a\x81\x89\x7d\x89\x80\x1e\x0e\xfb\x39\xf7\x28\xf8\x74\x15\xec\xa7\xbd\xbb\xd2\x1b\xcc\xb7\x5d\x48\x37" -+"\x42\x52\x20\x81\x84\x8b\x8d\x7b\x1f\x7f\x66\x05\x8c\x97\x90\x8b\x94\x1b\xe8\xc0\x5d\x3d\x29\x43\x44\x29\x3f\x58\xb0\xdb\x68\x1f" -+"\x73\x82\x9e\x5a\x97\x76\xa2\x71\x19\x5f\xb5\xc0\x75\xd0\x1b\xf7\x1f\xf2\xe4\xf7\x0c\x89\x1d\x0e\xc9\x4e\x1d\x0e\xc9\x4e\x1d\xf8" -+"\x0e\xf9\x53\xd1\x1d\x8e\x8d\x91\x8e\x91\x1e\x95\x9d\x8d\x90\x94\x1a\xa0\x7b\x99\x73\x6b\x75\x74\x69\x58\xbf\x6a\xda\xc7\xbd\x9d" -+"\xac\xaa\x1e\x9a\x9c\x95\xa0\x9b\x1a\xa1\x7a\x99\x72\x6f\x79\x78\x6c\x1e\x0e\x8f\x5a\x0a\x0e\x9c\xf8\xbf\xf9\x06\x15\xfb\x20\xfc" -+"\x9d\x79\x46\x78\x7b\x4e\x89\x20\x1d\xf7\x96\x06\x90\xb5\x0a\xf7\x0e\xf8\x5e\x05\xd3\x9e\x9d\x99\xd5\x21\x1d\xfc\x85\x25\x1d\x94" -+"\x06\xb9\xa5\x7c\x70\x68\x5c\xfb\x3f\x5e\xfb\x13\x1f\xfb\x14\x5d\x5d\x42\x68\x1b\x82\x84\x8e\x93\x7e\x1f\x99\x74\x83\x8e\x7b\x1b" -+"\x6b\x76\x78\x6e\x67\xa7\x75\xb9\xd5\xc0\xbd\xf7\x0d\xc3\x1f\xba\xf0\xac\xf4\xcd\xf7\x97\x08\x0e\xf7\x41\xae\x0a\x89\x93\x89\x96" -+"\x86\x19\x9a\x84\x95\x82\x83\x1a\x8a\x82\x05\x88\x84\x8a\x85\x8a\x1a\xfb\x15\xfc\x77\x79\xd3\x1d\x69\x7e\x8d\x90\x81\x1f\x7e\x91" -+"\x83\x99\x9b\x1a\x96\x8d\x95\x8f\x9d\x1e\xf7\x10\xf8\x62\xc8\xfc\xc6\x05\x9d\x06\xf7\xf3\xf8\xa0\xfb\x04\xfc\x37\x78\x46\x77\x7a" -+"\x4a\x8a\x20\x1d\xf7\x9f\x24\x0a\x53\x8c\x79\x95\xab\x1a\x95\x8d\x9a\x8f\x99\x4b\x1d\xd2\x9d\x9f\x9b\xcf\x21\x1d\xfb\x39\x06\x0e" -+"\xc9\x59\x0a\xc9\xf8\x6a\xf9\x33\x15\x37\x31\x5f\x42\x46\x1f\x37\x31\x55\xfb\x11\x21\x1a\xfb\x2e\xe0\x32\xf7\x25\xdb\xd5\xab\xc6" -+"\xc7\x1e\xec\xec\xcb\xf7\x1f\xf7\x08\x1a\xf7\x23\x31\xea\xfb\x1a\x1e\x85\x65\x15\xdb\xba\x50\x28\x35\x68\xfb\x0d\x56\x26\x1f\x33" -+"\x5c\x46\x55\x49\x1b\x3a\x5b\xc8\xf2\xf3\xc5\xf7\x37\xd1\xea\x1f\xbe\xb1\xc1\xaa\xbf\x1b\x0e\xc9\xf7\xdd\xf9\x06\x15\xf7\xa7\x06" -+"\xfb\x20\xfc\x9d\x7a\x46\xf0\x1d\x91\x9d\x05\x54\x8c\x7a\x96\xaa\x1a\x96\x8d\x95\x8f\x9d\x1e\xf7\x0f\xf8\x5e\x05\xd3\x9e\x9d\x99" -+"\xd4\x21\x1d\xfd\x17\x76\x0a\x0e\x5a\xf7\xa1\xf7\xd8\x15\x81\xb1\x9c\x88\xaa\x1b\xf7\x25\xef\xdc\xf7\x0a\xc3\x6b\xbb\x56\xa4\x1f" -+"\x9d\x66\x6b\x90\x42\x1b\xfb\x5f\x22\x1d\xa9\x94\x8a\x87\x96\x1f\x9b\x86\x95\x7c\x79\x1a\x80\x89\x80\x87\x7b\x1e\xfb\x0f\xfc\x5e" -+"\x7a\x45\x77\x7b\x4b\x8a\x20\x1d\xf7\xa2\x29\x0a\x6a\x82\x8c\x8f\x7f\x1f\x7b\x91\x81\x99\x9e\x1a\x95\x8d\x9a\x8f\x98\xe4\x1d\xc9" -+"\xb5\x60\x4a\x2a\x44\x42\x2d\x77\x7e\x8d\x92\x72\x1f\x0e\x92\xf9\x30\xf8\x6c\x15\xaf\xf7\x5d\x05\x75\x63\x1d\x5d\x64\x91\x69\x1b" -+"\xfb\x6c\xfb\x54\xfb\x5d\xfb\x74\xfb\x31\xf7\x03\xfb\x03\xf7\x31\xf3\xdb\xb7\xf6\xe6\x1f\x79\x99\x05\x31\x30\x52\x6e\x37\x1b\xfb" -+"\x06\x4a\xd9\xf7\x1a\xf7\x0b\xba\xad\x0a\xce\x1b\xe9\xbf\x54\xfb\x00\x96\x1f\x0e\x23\xf8\x49\xf9\x06\x15\xe5\x06\xc5\xa7\x75\x5c" -+"\x75\x89\x77\x86\x70\xc6\x1d\xe9\xc8\xba\xed\x88\x08\xcb\x06\xfb\x20\xfc\x9d\x05\x42\x78\x79\x7d\x41\x1b\x86\x79\x05\xf7\xb7\x06" -+"\x8f\x9d\x05\x6f\x82\x8b\x8c\x83\x1f\x6d\x8f\x7c\x98\xa3\x1a\x96\x8d\x97\x8f\x9c\x1e\x0e\x98\xf7\x23\xf9\x2a\x61\x0a\xf7\x24\xf9" -+"\x26\x6c\x1d\x5a\xd2\x1d\x71\x76\x7b\x67\x1e\x7a\x06\x85\x79\x05\xf7\x93\x29\x0a\x7d\x06\x5d\x8d\x7b\x9e\x74\xdf\x4c\xf7\x7c\x18" -+"\xf7\x33\xf7\x53\xca\xd6\xab\x9f\xc9\x8e\x19\x90\x9d\x05\xfb\x5d\x06\x85\x79\x05\x96\x06\xa3\x94\x85\x7b\x7f\x85\x80\x7a\x76\x1f" -+"\xfb\x28\xfb\x46\x60\xf7\x39\x05\x89\x95\x87\xa4\x93\x1a\xa2\x9f\x98\xae\x1e\x9a\x06\x91\x2e\x1d\x85\x79\x05\x9d\x06\xbd\x8a\x9d" -+"\x7a\xa1\x48\xd0\xfb\x8d\x18\xfb\x38\xfb\x5a\x05\x56\x61\x4c\x62\x67\x1b\x85\x55\x0a\x76\x06\x6c\x7b\x93\x9a\x93\x8f\x92\x99\x9d" -+"\x1f\x0e\xc9\xf8\xa3\x23\x0a\x87\x67\x1d\x78\x1a\x80\x89\x82\x87\x7a\x1e\xfb\x21\xfc\xa3\x05\xfb\xa7\x06\x96\x1d\xfc\x60\x7a\x48" -+"\x77\x49\x1d\xf8\x90\x06\xb5\x94\x8a\x82\x9a\x1f\x9d\x81\x94\x78\x6e\x1a\x70\x87\x72\x82\x67\x1e\x9d\x06\xc0\xf7\x4f\x05\x48\x06" -+"\x77\x80\x96\x9e\x93\x8d\x95\x90\x9e\x1f\xf7\x0f\xf8\x5f\xf1\x1d\x0e\xa8\xf8\x42\xf4\x15\x79\x47\x78\x79\x4c\x8a\x86\x79\x18\xf7" -+"\x97\x06\x90\x9d\x70\xf4\x1d\x9d\x1a\x96\x8d\x98\x8f\x9a\x77\x1d\x0e\xf8\x13\xf7\x6b\xaf\x15\x8c\x1d\xf9\xfc\xb3\x0a\x9c\x1a\x96" -+"\x8d\x99\x8f\x99\x1e\xf7\x0e\xf8\x5e\x05\xd4\x9e\x9d\x99\xd5\x34\x1d\xc1\x8a\x9d\x81\x6b\x1a\x80\x89\x7f\x87\x7c\x1e\xfb\x21\xfc" -+"\xa3\x05\xfb\x67\x06\xf7\x20\xf8\x9d\x05\xd4\x9e\x9d\x8a\x0a\x6b\x1a\x7f\x89\x80\x87\x7c\x1e\xfb\x21\xfc\xa3\x05\x0e\xf8\x13\xfa" -+"\x08\xfb\x30\x15\xc0\xf7\x4f\x05\x56\x06\x68\x81\x91\xa1\x92\x8d\x95\x8e\x97\x1f\xf7\x11\xf8\x69\x05\xa0\x0a\x6b\x1a\x7e\x8a\x88" -+"\x85\x75\x1e\xfb\x20\xfc\xa3\x05\xfb\x67\x06\xf7\x20\xf8\x9d\x05\xd4\x9e\x9d\x8a\x0a\x6b\x1a\x7f\x89\x80\x87\x7c\x1e\xfb\x21\xfc" -+"\xa3\x05\xfb\x67\x06\x8c\x1d\xf9\x98\x06\xbb\xa3\x75\x60\x70\x87\x6d\x82\x69\x1f\x0e\x9b\xf8\x9a\x23\x0a\xfc\x14\x06\x61\xfb\x36" -+"\x05\x9b\x06\xe1\xa9\xbb\xb3\xd6\x1b\xcb\x06\xfb\x20\xfc\x9e\x7a\x47\xf0\x1d\xdf\xc9\x98\xa8\xbc\x1f\xca\xb1\xaf\xc7\xc5\x0a\x76" -+"\x1e\xba\xf7\x45\x05\xd3\x9e\x9c\x99\xd5\x1b\xfb\x3b\xfb\xc0\x15\x8c\x98\x93\x8c\x97\x1b\xef\xbe\x60\x35\x20\x38\x42\xfb\x0c\x77" -+"\x7e\x8c\x90\x6f\x1f\x0e\xf7\x68\xf7\xd0\x70\x0a\x93\x8c\x96\xa8\x0a\xf8\xf4\x72\x15\x54\x8c\x7a\x96\xaa\x1a\x95\x8d\x98\x8f\x9b" -+"\x1e\xf7\x0f\xf8\x5d\x05\xd4\x9d\x9e\x99\xd4\x21\x1d\xfb\xa4\x06\x86\x67\x1d\x7a\x1a\x80\x89\x7b\x87\x7f\x55\x1d\x0e\x45\xf7\xcd" -+"\x70\x0a\x92\x8c\x97\xa8\x0a\x0e\x86\xf7\x3d\xf8\x6d\x15\x9d\x06\xa3\xc0\x99\xa2\xa4\xa4\x08\xb2\xb2\xbb\xa0\xc0\x1b\xe7\xc0\x4d" -+"\xfb\x00\x67\x87\x71\x82\x66\x1f\xfb\x1b\x06\x50\x79\x96\xb2\x97\x8d\x95\x90\xa2\x1f\x79\x06\x4f\xfb\x7e\x05\x9b\x06\x99\xd5\xb9" -+"\xab\xe5\x8a\x08\xf6\x06\x66\x23\x72\x5e\x5a\x54\x08\x52\x59\x4f\x6d\x4d\x1b\x3b\x55\xb8\xea\x67\x1f\x72\x81\x9f\x50\x99\x72\xa5" -+"\x6d\x19\x60\xb2\xbe\x74\xc6\x1b\xf7\x5d\xf7\x50\xf7\x6a\xf7\x79\xf7\x23\x35\xe9\xfb\x15\x5f\x6d\x84\x76\x50\x1f\x87\x7f\x7f\x88" -+"\x83\x1b\x7e\x82\x96\x99\x1f\x95\x7b\x07\x0e\xf8\x08\xf8\x39\xf7\xdf\x15\x80\x63\x87\x6c\x6a\x1a\xfb\x26\xe2\x30\xf7\x1e\xf2\xdf" -+"\xb7\xea\xd6\x1e\xd5\xe8\xb7\xf7\x04\xea\x1a\xf7\x1f\x32\xec\xfb\x15\xfb\x2c\xfb\x24\xfb\x0b\xfb\x47\x4a\x1e\xfb\x27\x91\x1d\x79" -+"\x4e\x8a\xe3\x1d\x8b\x80\x8f\x19\x7b\x91\x81\x99\x9c\x1a\x97\x8c\x94\x90\x9e\x1e\xc9\xf7\x7b\x05\xf8\x8f\xf7\xbd\x15\xda\xba\x50" -+"\x2a\x4b\x7b\x43\x6a\x37\x1f\xfb\x2a\x51\x3e\x3d\x31\x1b\x6a\x6b\x9a\xa3\x75\x1f\x70\xa9\x80\xb0\xc5\x1a\xdb\xaf\xf7\x0c\xbf\xeb" -+"\x1e\xed\xc1\xc6\xb9\xd3\x1b\x0e\x88\xf8\x5a\xf7\xbc\x15\x58\xfb\x53\x4b\x0a\x8f\xb5\x0a\xf7\x0f\xf8\x5e\x05\xd3\x9d\x9d\x99\xd5" -+"\x21\x1d\xfb\xad\x06\x34\x5c\x80\x6d\x5c\x1f\x51\x65\x69\x4c\x46\x1a\x5e\x9a\x66\xa6\x72\x1e\xa3\x76\xa3\x82\xc0\x84\x55\x7e\x80" -+"\x84\x4d\x48\x27\x21\x18\x4b\x49\x67\x73\x5b\x85\x86\x79\x18\xf7\x34\x06\xf7\x79\xf7\x8a\xb1\xb6\x90\x8e\xb0\x8f\x19\xbe\xb4\x15" -+"\x87\x70\x7e\x8a\x7b\x1b\x3b\x60\xb7\xdb\xf4\xd1\xcb\xf7\x05\x9e\x9a\x8a\x89\xb1\x1f\x0e\xfb\x70\xf7\x48\x23\x0a\x86\x79\x05\xc1" -+"\x8a\x9c\x81\x6c\x1a\x80\x89\x7f\x87\x7c\x1e\xfb\x10\xfc\x61\x79\x48\x79\x7a\x60\x1d\x90\x9d\x05\x56\x8c\x7a\x95\xab\x1a\x95\x8d" -+"\x99\x8f\x98\x1e\xf7\x22\xf8\xa4\x05\xf7\x8a\x06\xae\xf7\x17\x05\x7a\x06\x78\x44\x71\x75\x47\x89\x08\x0e\xf7\x1d\xf8\x6e\xf9\x06" -+"\x15\xf7\x10\x06\xbf\xa6\x73\x5f\x75\x89\x75\x86\x71\xc6\x1d\xe8\xc9\xbb\xec\x88\x08\xb0\x06\xfb\x20\xfc\x9d\x05\x42\x79\x78\x7d" -+"\x41\x1b\x86\x79\x05\xf7\x4d\x06\xe4\xf7\xdf\x05\x91\xc1\xad\x8d\xa8\x1b\xd2\xaf\x64\x3e\xfb\x03\x4a\x23\x46\x7b\x7f\x93\x97\x8d" -+"\x8b\x8d\x8c\x8d\x1f\x94\x9d\x8c\x8f\x95\x1a\xa2\x79\x9b\x70\x6b\x76\x73\x67\x5e\xad\x74\xce\xf7\x21\xf7\x03\xf5\xf7\x1b\xf0\x48" -+"\xca\x20\x63\x5d\x87\x82\x51\x1e\x0e\x30\xf7\xed\x6c\x0a\xf7\x3a\xf8\xfc\x15\xaf\x06\xf7\x40\xf7\x00\x05\x97\x92\x90\x93\x98\x1a" -+"\x9f\x7b\x9b\x76\x81\xf7\x05\x1d\x94\xf9\x2c\xf9\x33\x15\x75\x7c\x83\x86\x7a\x1b\x81\x82\x8d\x91\x7a\x1f\x9a\x62\x74\x8f\x66\x1b" -+"\xfb\x6b\xfb\x4c\xfb\x49\xfb\x68\xfb\x40\xf2\xfb\x08\xf7\x2b\xce\xc6\xa0\xb5\xbe\x1f\xa8\xa4\x9b\x9f\xaa\xbb\x79\x98\x18\x39\x4d" -+"\x4b\x66\x3a\x1b\xfb\x02\x4c\xde\xf7\x26\xa1\x8c\x99\x90\xab\x1f\xf7\x3b\x06\xb5\x93\x8a\x84\x97\x1f\x99\x83\x92\x7c\x77\x1a\x7a" -+"\x89\x7d\x83\x6c\x1e\x9b\x06\xcc\xf7\x89\x05\x7b\x06\x76\x42\x6c\x72\x48\x8d\x08\xfb\x45\x06\x9f\xc9\x94\xa1\x9e\xa9\x08\xe6\xc3" -+"\xe0\xc2\xe0\x1b\xdd\xc2\x57\x3d\x83\x8b\x81\x8a\x80\x1f\x9c\x06\xb5\xf7\x59\x05\x0e\xf8\x77\xf8\x6f\x15\xb1\xf7\x5d\x05\x74\x06" -+"\x76\x7d\x82\x86\x74\x1b\x7e\x81\x8e\x94\x74\x1f\x94\x75\x6a\x90\x6b\x1b\x23\x41\x46\x29\x53\x9a\x6d\xca\x4a\x1f\x93\x83\x99\x7b" -+"\x9d\x78\xa4\x70\x95\x80\x8f\x87\x08\xbc\x58\x98\x71\x5f\x1a\x3e\x54\x52\x41\x35\x4b\xd4\xec\x92\x8b\x90\x8d\x94\x1e\x76\x8d\x6b" -+"\xfb\x76\x05\x9d\x06\xa2\x92\x96\x95\xa0\x1b\x96\x99\x87\x82\xa6\x1f\x7a\xba\xa6\x85\xab\x1b\xf7\x08\xe2\xe1\xf7\x07\xce\x74\xb2" -+"\x2e\xe8\x1f\x2e\xe8\x82\x99\xbe\x1a\xca\xb5\xb2\xd0\xb1\xaa\x7e\x73\xa0\x1e\xa1\x71\x94\x69\x8d\x48\x08\x0e\xfb\xdb\x42\x0a\xfb" -+"\xdb\xf7\x8e\x9d\x15\x35\x0a\xf7\x0f\xf8\x5d\x05\xd4\x9e\x9d\x99\xd4\x34\x1d\xc0\x9e\x80\x6d\x7e\x89\x7e\x87\x7d\x1f\xfb\x0e\xfc" -+"\x5e\x4b\x0a\x6d\xf9\xd2\x98\x1d\xf7\x42\xb9\x1d\xfb\x6c\xf7\x7f\xf9\x18\x15\xa1\x9c\x8a\x89\x93\x1f\xa0\x86\x97\x7d\x78\x1a\x7d" -+"\x89\x7f\x87\x7d\x1e\xfb\x0b\xfc\x52\x05\x53\x7c\x6e\x68\x6c\x1b\x79\x7f\x95\x99\x94\x8d\x8f\x96\x96\x1f\x95\x96\x8f\x93\x97\x1a" -+"\xa5\x76\x9f\x71\x68\x6f\x6c\x64\x57\xb8\x63\xc8\xb7\xbc\xa2\xb1\xb0\x1e\xa8\xa9\xa4\xbc\x9a\xc7\xee\xf8\x04\x18\x9b\xcb\xa0\xa0" -+"\xbc\x8d\x90\x9d\x18\xfb\x95\x06\x0e\xf7\x9f\xf9\x89\x23\x0a\xfc\x85\x25\x1d\x94\x06\xba\xa4\x7d\x70\x5f\x41\xfb\x8e\x61\x26\x1f" -+"\x2a\x61\x6c\x60\x6c\x1b\x83\x84\x8e\x93\x7e\x1f\x99\x74\x83\x8e\x7b\x1b\x6b\x76\x78\x6e\x67\xa7\x75\xb9\xc6\xbe\xb0\xd3\xb4\x1f" -+"\xc8\xf6\xb5\xf7\x10\xd6\xf7\xbc\x08\xf7\x3f\x06\xfb\x1f\xfc\x9d\xbd\x0a\xee\xc3\x97\xaa\xc0\x1f\xca\xb1\xaf\xc7\xce\x1a\xf7\x02" -+"\x33\xce\xfb\x23\x7b\x81\x8a\x89\x75\x1e\xbb\xf7\x45\x05\xd3\x9e\x9c\x98\xd5\x1b\xfb\x3c\xfb\xbf\x15\x8d\x98\x91\x8b\x9c\x1b\xed" -+"\xbe\x5f\x36\x20\x38\x42\xfb\x0e\x78\x7d\x8d\x8f\x71\x1f\x0e\xf7\x99\xf8\x99\xf8\x03\x15\xfb\xa0\x91\x1d\x7a\x4e\x89\xe3\x1d\x8c" -+"\x80\x8e\x19\x7b\x91\x81\x99\x9d\x1a\x97\x8d\x94\x8f\x9d\x1e\xc9\xf7\x7b\x05\xf7\xa3\x06\x4d\xfb\x76\xbd\x0a\xef\xc1\x96\xab\xc1" -+"\x1f\xc8\xb0\xb0\xc6\xc9\x1a\xd9\x57\xc4\x30\xa0\x1e\x94\x65\x81\x8c\x31\x1b\xbe\xf7\x52\x05\xd4\x9e\x9d\x99\xd4\x21\x1d\xfb\xa3" -+"\x06\x84\x79\x05\xa7\x93\x8a\x87\x96\x1f\x9c\x86\x95\x7c\x79\x1a\x7f\x8a\x84\x86\x78\x1e\xad\xfb\x7b\x15\xcf\x9a\x89\x81\xaa\x1f" -+"\xb8\x7d\xa7\x60\x55\x1a\x28\x36\x43\xfb\x09\x77\x7e\x8c\x90\x6f\x1e\x0e\xf7\x1f\xf8\x56\xf9\x06\x15\xf7\x06\x06\xd9\xa6\x79\x55" -+"\x7e\x8a\x82\x88\x77\x1f\x9a\x06\xb3\xf7\x2a\x05\xfc\xbe\x06\x63\xfb\x2a\x05\x9a\x06\x9a\xd3\xc2\xb4\xde\x8c\x08\xc7\x06\xfb\x20" -+"\xfc\x9d\x7a\x47\x78\x79\x4d\x8a\x20\x1d\xf7\x96\x06\x8f\x9d\x05\x56\x8c\x7a\x96\xab\x1a\x95\x8d\x95\x90\x9d\x1e\xc9\xf7\x77\x05" -+"\x8e\xae\xb1\x8c\xaa\x1b\xd9\xac\x73\x50\x7c\x8a\x83\x84\x71\x1f\x71\x2d\x7a\x47\x78\x79\xc4\x0a\x55\x8c\x7a\x96\xab\x1a\x96\x8d" -+"\x9c\x8e\x95\x1e\xa0\xd5\x05\x95\xb0\x8f\xa1\x9f\x1a\xdf\x50\xae\xfb\x22\x6d\x75\x8a\x88\x5a\x1e\x0e\x8f\x5a\x0a\xf7\x85\xf8\xfc" -+"\x15\xae\x06\xf7\x40\xf7\x00\x05\x97\x92\xce\x1d\x98\xf8\xe3\xf9\xb3\xd1\x1d\x8f\x8d\x90\x8e\x91\x1e\x95\x9d\x8d\x90\x94\x1a\xa0" -+"\x7b\x99\x73\x6b\x75\x74\x6a\x57\xbf\x6a\xda\xc7\xbd\x9d\xac\xaa\x1e\x9a\x9c\x95\xa0\x9b\x1a\xa1\x7a\x99\x71\x70\x79\x78\x6c\x1e" -+"\xfc\x4c\xfb\x24\x61\x0a\xf8\x4e\xf2\x15\x62\x6f\x72\x74\x79\x1b\x83\x86\x90\x92\x90\x8c\x91\x90\x9d\x1f\x90\x9a\xe6\xf7\xea\x3f" -+"\x81\x7d\x56\x05\xb7\x81\x71\xa3\x65\x1b\xfb\x0a\xfb\x29\xfb\x52\xfb\x29\x46\xaf\x5e\xc0\xa8\xb1\x9a\xa2\xab\x1f\xa8\xa0\x9e\x9f" -+"\xb0\xbe\x87\x7b\x8b\x8b\x86\x79\x08\x82\x68\x8a\x88\x7f\x1a\x6f\x9b\x79\xa6\xb3\xb3\xaa\xd1\xbc\x1e\xfb\x31\xf7\xd6\x15\xac\xa0" -+"\x73\x64\xfb\x1c\x21\xfb\x39\x34\x69\x78\xa4\xb9\xc6\xa7\xd7\xbf\xd6\x1f\xc2\xb0\xb0\xa7\xb1\x1b\x0e\xfb\x31\xf8\x9c\xf9\x35\x15" -+"\x75\x86\x81\x84\x70\x1b\x86\x80\x8b\x8c\x81\x1f\x8c\x7e\x81\x8b\x82\x1b\x36\x47\x6a\x42\x50\x1f\x41\x33\x47\xfb\x4d\xfb\x03\x1a" -+"\x26\xbf\x49\xdc\xbc\xbf\xa3\xb7\xbe\x1e\xcb\xc3\xb1\xdd\xdd\x1a\xec\x51\xcf\x3a\x4d\x4e\x66\x46\x55\x1e\xcb\xf7\x39\xc4\xc1\xf7" -+"\x08\x8f\xef\x90\xb0\xa5\xa4\xde\x08\xfb\x7a\xfb\x94\x15\xb4\xa8\x61\x51\x4a\x73\x32\x68\x4a\x1f\x52\x6d\x66\x6e\x61\x1b\x5e\x6f" -+"\xb2\xca\xe2\xa2\xe1\xb0\xc3\x1f\xbc\xac\xb1\xa4\xb3\x1b\x0e\xfb\x76\xf7\x96\xf7\x7a\x15\xd4\x9f\xa8\x97\xa3\x9f\x08\xa7\xa1\x9b" -+"\xa8\xa6\x1a\xbc\x5f\xac\x49\xfb\x28\xfb\x18\xfb\x21\xfb\x32\x27\xbf\x55\xeb\xf5\xdc\xcc\xe0\xc7\x64\xaa\x3f\x1e\xfb\x0b\x89\x15" -+"\xa5\xd4\x9b\xa9\xaa\xad\x08\xac\xaa\xad\x9d\xac\x1b\xa7\x9d\x7a\x70\x71\x7d\x73\x6d\x72\x1f\x62\x69\x60\x7a\x32\x79\x08\x82\x6a" -+"\x15\x97\xba\xa0\x8e\xa2\x1b\xb8\xa3\x74\x5f\x42\x5e\x53\x50\x60\x74\xac\xc7\xa7\x8e\xa4\x92\xae\x1f\x0e\xfb\xa2\xf7\x09\xf7\xee" -+"\x15\xb3\xb4\xae\x9d\xae\x1b\xae\xa4\x72\x68\x5f\x70\x6d\x42\x69\x1f\x3f\x67\x7d\x83\x73\x77\x08\x74\x78\x7e\x6f\x6b\x1a\x4a\xb9" -+"\x60\xd1\xc3\xa9\x9c\xd8\xd6\x1e\x7f\x97\x05\x5d\x5d\x64\x76\x61\x1b\x5e\x70\xa8\xba\xbb\xa9\xae\xcd\xaa\x1f\xee\xb8\x8b\x8b\xa5" -+"\xa1\x08\xa0\x9d\x96\xa4\xa8\x1a\xc0\x61\xaf\x4e\x6c\x6b\x81\x79\x72\x1e\x7c\x80\x81\x83\x66\x67\x08\x0e\xfb\x2e\xf7\x4a\xf9\x0c" -+"\x15\x96\xac\xa6\x90\xa7\x1b\xde\xc1\x3f\xfb\x0a\x77\x8a\x7d\x87\x73\x1f\xab\x74\x6e\x99\x60\x1b\xfb\x18\xfb\x0c\xfb\x1a\xfb\x27" -+"\x21\xc5\x49\xe7\xd7\xcb\xb1\xd5\xbd\x1f\xc0\xd9\xaa\xf7\x0a\xf7\x0a\x1a\xf7\x3b\x45\xe3\xfb\x17\x69\x71\x87\x7f\x60\x1e\xf7\x25" -+"\xfb\x81\x15\xb5\xa3\x66\x4b\x48\x75\x3a\x6a\x51\x1f\x4a\x65\x61\x6b\x5d\x1b\x5c\x73\xaf\xd1\xf7\x24\xeb\xf7\x2e\xe5\x1f\x0e\xfb" -+"\x6c\xf7\xfe\xf3\x6d\x0a\xfb\x6c\xf7\x9c\xf8\xf3\x7f\x0a\x53\xfc\x8b\x6d\x0a\xf7\xa2\xf8\x82\xf8\x46\x15\x76\x42\x58\x34\x31\xfb" -+"\x08\x08\x9f\xc6\x91\xa9\xb6\x1a\xe9\x60\xc8\x48\x4d\x56\x68\x3d\x51\x1e\x99\x81\x05\xc1\xb3\xb1\xa5\xb2\x1b\xb8\xa8\x5e\x45\x53" -+"\x79\x45\x6f\x51\x1f\x4e\x6d\x6b\x6d\x69\x1b\x76\x7b\x95\x98\x94\x8d\x8d\x9c\x9a\x1f\x96\x94\x91\x96\x96\x1a\xa2\x7b\x9c\x75\x6d" -+"\x75\x71\x67\x5c\xaf\x69\xbe\xe8\xef\xe9\xf7\x61\xf7\x11\x1e\x40\xfb\xb4\x05\xcd\x06\x9e\xd0\xc6\xf0\xdd\xf0\x08\x77\x4a\x86\x72" -+"\x65\x1a\x2a\xb5\x52\xd1\xaf\xaf\x98\xa5\xac\x1e\x9f\x9a\x97\x98\xad\xb6\x7e\x95\x18\x5d\x63\x66\x75\x62\x1b\x5d\x6e\xb5\xcd\xf7" -+"\x12\xd9\xf7\x26\xce\x9d\x9a\x80\x7e\x82\x87\x85\x7f\x81\x1f\x7e\x80\x87\x83\x7d\x1a\x73\x9a\x7b\xa2\xa8\xa2\xa7\xaf\xb9\x66\xb0" -+"\x5c\x2f\x2d\x33\xfb\x6d\xfb\x1e\x1e\xd9\xf7\xb9\x05\x0e\xfb\xa2\xf7\x19\xf7\x6d\x15\xa2\x06\xd1\xa9\x76\x59\x44\x5b\x5b\x45\x53" -+"\x66\xa3\xc5\x69\x1f\x7b\x83\x05\x3d\xab\xbd\x69\xdd\x1b\xef\xd9\xc8\xd8\xc3\x67\xad\x3c\x9a\x1f\xb8\x8e\xa1\x87\x1d\x0e\x74\x1d" -+"\x0e\xf8\x50\xf9\x24\x15\x71\x7b\x7a\x6f\x89\x8b\x88\x8c\x89\x1f\x8c\x81\x8b\x8b\x88\x1a\x77\x6c\x7a\x68\x6e\x71\x98\x9a\x8f\x8d" -+"\x90\x8d\x90\x1e\x94\x9a\x8d\x91\x94\x1a\x9d\x7c\x98\x76\x6e\x78\x76\x6c\x5d\xba\x6d\xd3\xdb\xd0\xb7\xbe\x9e\x7c\x98\x74\x1e\xfb" -+"\x72\xfb\x67\x76\x1d\x0e\xfb\x54\x7a\x1d\xa6\x95\xa8\xaa\xa8\xba\xa2\xb5\xc0\x0a\x93\x88\x87\x8e\x8d\x0a\x0e\xfb\x74\xf8\x17\xf2" -+"\x15\x68\x6f\x75\x79\x7e\x1b\x82\x84\x91\x94\x91\x8b\x8b\x93\xa7\x1f\xe4\xf7\xe3\x05\x39\x06\x3b\x87\x80\x87\x67\x66\x6d\x69\x79" -+"\x5f\x6d\xfb\x02\x08\xfb\x13\x68\x80\x74\x6e\x1b\x82\x8a\x8c\x92\x80\xcb\x1d\xa3\x97\xa5\x9e\x1f\x9f\xa4\x99\xb2\xa8\xf1\xb9\xf7" -+"\x3d\xab\xb7\xd4\x89\x08\xa6\x06\x32\xfb\xdf\x05\x85\x74\x8a\x83\x7f\x1a\x71\x98\x7c\xa2\xb0\xb4\xaa\xd2\xc5\x1e\x0e\x75\xf8\x80" -+"\xf8\x46\x15\xfb\x4d\xfb\xcb\x6e\xf7\xd9\x45\x7b\x79\x88\x46\x83\x19\x86\x78\x05\x8e\x96\x92\x8c\x94\x1b\xa0\x98\x83\x7e\x87\x8a" -+"\x85\x89\x83\x1f\x49\xfb\x88\x05\x59\x7e\x80\x7c\x76\x1b\x85\x87\x8c\x90\x83\x1f\x92\x81\x84\x8d\x81\x1b\x73\x7b\x7c\x74\x6f\xa0" -+"\x79\xab\xa9\xa3\x99\xa6\x9e\x1f\x97\x9d\x94\xa1\x99\xc0\xd3\xf7\x9d\x18\xa9\xfc\x22\x05\x9d\x06\xf7\x87\xf8\x22\x38\xfb\xc9\x05" -+"\x87\x7a\x88\x7a\x7d\x1a\x71\x98\x7b\xa1\xa7\xac\xa0\xb2\xad\x1e\xa7\xac\x98\x99\x7c\x97\x05\x67\x6e\x76\x7a\x7e\x1b\x83\x86\x91" -+"\x95\x91\x8c\x8d\x91\xa4\x1f\xe2\xf7\xde\x05\x0e\xfb\x38\xf7\x47\xf7\x93\x15\xbe\xf7\x52\x5a\x7f\x52\x81\x62\x89\x19\x86\x78\x05" -+"\x47\x0a\xc7\xf7\x73\xf7\x33\x90\x63\xfb\x29\x05\x88\x7f\x87\x71\x80\x1a\x73\x9a\x7a\xa0\xb0\xb0\xa9\xd9\xc8\x1e\x7e\x96\x05\x61" -+"\x6b\x7d\x80\x7a\x1b\x81\x84\x91\x93\x90\x8b\x8b\x93\xa9\x1f\xe3\xf7\xde\x05\x42\x06\x5d\xfb\x43\x05\x0e\xf7\xc9\xf8\x4e\x15\xfb" -+"\x14\xfb\x12\xfb\x22\xfb\x26\x29\xf7\x02\x1d\xc3\xb1\xdd\xdd\x1a\xeb\x51\xd0\x3b\x1e\x82\x74\xb5\x1d\xd7\xa5\xe6\xb3\xca\x1f\xbb" -+"\xa9\xb0\xa5\xb2\x1b\x0e\xf7\x70\xf8\x51\x15\x59\x7f\x53\x82\x62\x88\x86\x78\x18\x47\x0a\xa9\xf7\x01\x95\xb2\x9c\xaf\xa4\xb0\x19" -+"\xf1\xd0\xc5\xc7\xa9\x1b\x9a\x94\x7c\x6f\x80\x8a\x82\x86\x7a\x1f\x4f\xfb\x74\x89\x7c\x05\x88\x7c\x8b\x8a\x7e\x1a\x6c\x96\x7c\xa2" -+"\xae\xad\xa7\xdb\xcd\x1e\x7e\x97\x05\x64\x6e\x79\x7c\x7a\x1b\x82\x86\x91\x97\x8a\x1f\x91\x07\xca\xf7\x7f\x05\x93\xa8\x8e\x9f\x9e" -+"\x1a\xb5\x79\xa4\x6b\x70\x66\x7a\x71\x6f\x1e\x64\x68\x7b\x78\x3e\x2c\x08\x0e\xf7\x15\x92\x15\x7e\xa3\x9c\x86\xa4\x1b\xf7\x11\xf7" -+"\x16\xf7\x36\xf7\x30\xdc\x63\xc1\x50\x5b\x66\x70\x43\x5b\x1f\xa5\xed\x67\x84\x67\x86\x49\x81\x19\x86\x78\x05\x8f\x9a\x90\x8c\x92" -+"\x1b\x9b\x94\x80\x78\x83\x8a\x84\x86\x7a\x1f\x21\xfc\x22\x75\x36\x86\x84\x6a\x8a\x19\x71\x22\x1d\xf7\x69\x24\x0a\x67\x06\x71\x80" -+"\x90\x99\x93\x8e\x9d\x8f\x99\x1f\xe0\xf7\xcb\x15\x9d\xcf\x96\xa4\xa3\xa8\x08\xa9\xa3\xa9\x9d\xa4\x1b\xac\x9e\x68\x50\xfb\x1e\x30" -+"\xfb\x29\x37\x71\x77\x95\x9f\x80\x1f\x0e\xfb\x6c\xf7\xfa\xf7\x01\x15\x5a\x68\x5e\x6f\x5d\x1b\x54\x65\xb9\xce\xf7\x1b\xe6\xf7\x20" -+"\xe2\x9f\x9d\x7d\x7c\x84\x8a\x89\x7e\x7e\x1f\x81\x80\x86\x80\x7f\x1a\x77\x9b\x7d\xa2\xa5\xa0\xa7\xae\xb6\x62\xae\x58\xfb\x16\xfb" -+"\x17\xfb\x2a\xfb\x2b\x30\xc1\x4e\xdc\xce\xcc\xb2\xd1\xbb\x1e\x0e\xc9\xf7\x66\xf8\x55\x15\x52\x80\x7b\x89\x4e\x85\x85\x78\x18\x8d" -+"\x99\x94\x8c\x8f\x1b\x97\x95\x81\x80\x85\x89\x7f\x88\x82\x1f\x2b\xfc\x02\x05\xd3\x06\xa9\xf7\x00\x9c\xc6\xa4\xba\xbf\xd0\x19\xd0" -+"\xbf\xb3\xac\xa8\x1b\x9a\x94\x80\x78\x83\x8a\x85\x87\x7d\x1f\x34\xfb\xdb\x05\xd3\x06\xa8\xf7\x00\x9a\xc3\xa3\xb8\xbc\xcc\x19\xe0" -+"\xcb\xa9\xa6\xaa\x1b\x9a\x97\x7e\x79\x84\x8a\x88\x87\x79\x1f\x45\xfb\x9c\x05\x85\x75\x8b\x8b\x83\x1a\x71\x9c\x79\xa4\xb5\xb4\xaa" -+"\xcb\xb8\x1e\x7e\x97\x05\x6a\x72\x6f\x74\x7c\x1b\x84\x86\x91\x92\x90\x8b\x8c\x90\x99\x1f\xc8\xf7\x7c\x05\x93\xa9\x8f\xa5\x9e\x1a" -+"\xb0\x75\xa4\x6a\x66\x64\x75\x5d\x5f\x1e\x70\x6e\x75\x6f\x53\x3b\xa3\xe5\x18\x95\xad\x8c\x93\x98\x1a\xac\x72\xa6\x6b\x4d\x47\x4b" -+"\xfb\x2b\x28\x1e\x0e\xfb\x6c\x64\x0a\x0e\xbd\xf7\x8d\x54\x15\x74\x35\x88\x86\x69\x89\x08\x71\x22\x1d\xf7\x6a\x06\x8f\x9d\x05\x70" -+"\x06\x67\x82\x8f\x9d\x90\x8c\x90\x8f\x99\x1f\xa8\xf7\x01\x05\x7d\xa4\x9b\x87\xa2\x1b\xf7\x12\xf7\x16\xf7\x36\xf7\x30\xda\x5b\xc3" -+"\x48\x67\x70\x80\x6f\x67\x1f\xd4\xf7\xa4\x67\x86\x43\x7f\x8b\x8b\x6b\x87\x19\x86\x78\x05\x8f\x9a\x90\x8c\x93\x1b\x9a\x93\x81\x78" -+"\x81\x89\x7f\x88\x80\x1f\x5d\xfb\x43\x05\xa8\x6d\x75\x95\x6a\x1b\xfb\x03\xfb\x08\xfb\x2b\xfb\x26\x2f\xc0\x4b\xd8\xa2\x9e\x8f\x99" -+"\xad\x1f\x94\xad\x15\x76\x6f\x74\x82\x72\x1b\x65\x74\xb3\xce\xf7\x20\xdb\xf7\x31\xd1\xae\xa9\x6c\x68\x82\x89\x7c\x86\x7c\x1f\xd4" -+"\x8a\x15\x95\xb4\x96\xa0\x9b\x99\x08\x9a\x9c\xa4\x94\xa0\x1b\xb1\x9f\x66\x46\xfb\x23\x33\xfb\x29\x36\x73\x7a\x94\xa0\x7b\x1f\x0e" -+"\xfb\x6c\xf7\x63\xf7\x52\x15\xb4\xfb\x15\x05\x5a\x9b\xa0\x74\xa6\x1b\xac\xaa\xa8\xd8\xba\x1f\x7d\x9c\x05\x5a\x6d\x79\x78\x7b\x1b" -+"\x7f\x7f\x9e\xb6\x7d\x1f\x55\xf7\x30\x05\xe5\xc7\xa3\xa3\xa9\x1b\x91\x91\x8a\x87\x99\x1f\x87\x98\x91\x8a\x90\x1b\x9e\x98\x99\x9f" -+"\xa4\x7a\x9c\x73\x72\x72\x7d\x6d\x6e\x1f\x7a\x78\x8b\x8b\x46\x2e\x63\xf7\x07\x7d\xa4\x6f\x9a\xfb\x13\x6f\x18\x86\x7a\x05\x90\xa0" -+"\x95\x8d\x96\x1b\xbc\xa6\x63\xfb\x25\xbf\x1f\x4e\x2f\x05\x50\x65\x72\x70\x7a\x1b\x85\x87\x8d\x98\x7d\x1f\x93\x82\x83\x8e\x82\x1b" -+"\x78\x7d\x7c\x77\x72\x9e\x7a\xa6\xaf\xae\xa8\xc8\xb4\x1f\x0e\xf8\x58\xf7\x00\x15\x66\x6f\x78\x7b\x7b\x1b\x83\x85\x92\x95\x91\x8b" -+"\x8c\x90\x9d\xd2\x0a\xfb\x24\x62\xfb\x05\xfb\x31\x4b\x1b\x7b\x82\x97\x9f\x93\x8b\x8b\x91\xa0\x1f\xe3\xf7\xdd\x5a\x7f\x52\x82\x61" -+"\x88\x89\x0a\x61\xa2\x6e\xaa\xc7\xd8\xd1\xf7\x15\xdf\x1e\x6d\xfb\x01\x05\x87\x7a\x88\x79\x7e\x1a\x72\x99\x7a\xa1\xa6\x9b\x95\xbd" -+"\xbe\x1e\x6d\x56\x83\x75\x6d\x1a\x80\x07\x8c\x79\x8b\x88\x85\x1a\x73\x84\x81\x66\x75\x1e\x96\x7e\x05\xcd\xb0\xa3\xa6\xb1\x1a\x94" -+"\x8a\x92\x87\x9c\x1e\x86\x9e\x89\x99\x9a\x1a\xa5\x91\x99\xa6\xb0\x1e\x0e\xfb\x4b\xf7\xa1\xc5\x15\x89\x83\x89\x7c\x83\x1a\x76\x9e" -+"\x7a\xa2\xb1\xb0\xa8\xd4\xc4\x1e\x7e\x96\x05\x5d\x68\x77\x79\x7b\x1b\x84\x85\x91\x92\x92\x8b\x8c\x92\xa5\x1f\xe8\xf7\xf1\x05\x43" -+"\x06\xfb\x00\x74\x2e\xfb\x04\x48\x1b\x7a\x83\x94\x9d\x92\x8b\x8d\x8f\x97\x1f\xbc\xf7\x4b\x5a\x7f\x56\x81\x5e\x88\x20\x1d\x8e\x9b" -+"\x93\x8c\x94\x1b\x9e\x93\x84\x7a\x80\x89\x82\x85\x75\x1f\x76\x3d\x05\x88\x7e\x87\x71\x7f\x1a\x68\xa1\x73\xad\xaa\xad\x99\xa6\xae" -+"\x1e\xad\xa5\x9e\xa1\xaf\xc0\x08\x0e\xea\xf7\x8d\xf8\x51\x15\x59\x7f\x54\x4e\x0a\x79\x81\x89\x81\x86\x76\x1f\x51\xfb\x6d\x05\x82" -+"\x6a\x8a\x83\x78\x1a\x5e\x9f\x6e\xab\xbe\xc7\xc5\xf7\x19\xe4\x1e\x7d\x52\x05\x82\x6c\x89\x7d\x7b\x1a\x61\xa3\x6c\xaa\xbf\xcc\xc9" -+"\xf7\x15\xe0\x1e\x6f\x26\x05\x87\x7a\x88\x77\x7f\x1a\x72\x99\x7b\xa1\xb3\xbb\xb2\xd0\xba\x1e\x7e\x96\x05\x67\x70\x77\x7a\x7b\x1b" -+"\x83\x85\x91\x93\x90\x8d\x97\x8e\x96\xd2\x0a\xfb\x25\x63\x23\xfb\x30\x53\x1b\x7b\x83\x98\xa3\x95\x8c\x96\x8c\x8e\x1f\xe0\xf7\xd2" -+"\x05\x43\x06\x78\x3d\x7f\x59\x65\x38\x67\x53\x19\x43\x5c\x62\x63\x6e\x1b\x7c\x82\x96\x9e\x94\x8b\x8b\x91\xa1\x1f\x0e\xea\xf7\x8a" -+"\xf8\x51\x15\x59\x7f\x54\x4e\x0a\x79\x81\x89\x82\x86\x75\x1f\x51\xfb\x6d\x05\x83\x6d\x89\x7f\x77\x1a\x5f\x9f\x6f\xab\xbd\xc8\xc4" -+"\xf7\x19\xe4\x1e\x7d\x53\x05\x83\x6e\x88\x79\x7b\x1a\x63\xa3\x6c\xaa\xbd\xce\xca\xf7\x0c\xda\x1e\x72\x2e\x05\x86\x79\x88\x79\x7f" -+"\x1a\x72\x9b\x7a\xa2\xa6\xa0\x98\xb6\xb8\x1e\x70\x5e\x82\x72\x68\x1a\x8c\x72\x05\x8c\x85\x8b\x86\x89\x1a\x78\x81\x7f\x69\x76\x1e" -+"\x96\x7e\x05\xce\xb0\xa2\xa6\xb1\x1a\x94\x8a\x93\x87\x9b\x1e\x86\x9e\x89\x99\x99\x1a\xa6\x95\xa3\xa0\xa6\x1e\x7e\x96\x05\x66\x70" -+"\x78\x7b\x7b\x1b\x82\x86\x91\x95\x93\x8d\x97\x8e\x98\x1f\xe3\xf7\xde\x05\x43\x06\x76\x3d\x05\xfb\x1d\x66\xfb\x02\xfb\x38\x55\x1b" -+"\x7c\x80\x98\x9d\x94\x8d\x98\x8d\x93\x1f\xe0\xf7\xd2\x05\x43\x06\x78\x3d\x7f\x59\x65\x38\x67\x53\x19\x43\x5d\x61\x63\x6e\x1b\x7c" -+"\x82\x96\x9e\x94\x8b\x8c\x91\xa0\x1f\x0e\xfb\x21\xf7\xf7\xf8\x52\x15\x7f\x79\x79\x85\x76\x1b\x7f\x85\x8c\x92\x76\x1f\x94\x6d\x73" -+"\x90\x79\x1b\x5e\x6a\x78\x52\x59\x1f\x97\x81\x05\xa5\xa2\xa2\x98\x9f\x1b\x93\x93\x89\x84\xa1\x1f\x85\xa0\x95\x89\x9b\x1b\xa4\x8c" -+"\x8c\xac\xe1\x1f\x44\x58\x76\x79\x70\x6e\x08\x4a\x47\x69\x47\x4f\x1a\x39\xbd\x54\xd6\xf7\x00\xe6\xdc\xeb\xd4\x5d\xbc\x47\x6a\x72" -+"\x83\x72\x63\x1e\xb1\xce\xbb\xc9\xc1\xbe\x08\xfb\x2c\xfb\x6e\x15\xa2\xab\xa6\x95\xa4\x1b\xb7\xa5\x6b\x56\x3b\x52\x47\x49\x65\x74" -+"\xac\xc2\xb0\x93\xa7\xa1\xba\x1f\x0e\x9c\xf8\xee\xf3\x15\x60\x59\x7a\x7c\x80\x8a\x08\x84\x84\x92\x92\x8f\x8b\x8b\x8e\x95\x1f\xed" -+"\xf8\x04\x05\x43\x06\x27\xfc\x0c\x05\x86\x7a\x8a\x85\x83\x1a\x76\x9f\x7a\xa2\xab\xb6\xac\xd0\xc5\x1e\xfc\x03\xf7\xf6\x15\x58\x7f" -+"\x55\x82\x60\x88\x85\x78\x18\x8e\x9b\xd0\x0a\x80\x84\x75\x1f\x56\xfb\x43\x05\x85\x78\x86\x6a\x7a\x1a\x4a\xb7\x61\xd0\xf7\x06\xeb" -+"\xe0\xef\xd2\x5f\xb9\x46\x6a\x72\x83\x72\x62\x1e\x7e\x61\x15\xa7\xb2\xa0\x94\xa3\x1b\xb1\xa1\x6d\x58\x38\x53\x43\x4a\x69\x76\xa4" -+"\xb5\xa0\x8c\x91\x97\xb3\x1f\x0e\xfb\x61\xf7\x7c\xf8\x51\x15\x58\x7f\x55\x4e\x0a\x7a\x7f\x89\x81\x86\x77\x1f\x5c\xfb\x43\x05\x86" -+"\x79\x87\x6e\x79\x1a\x48\xba\x5f\xd2\xf7\x03\xe7\xdc\xee\xd4\x5c\xbc\x45\x69\x74\x83\x72\x62\x1e\x80\x61\x15\xa7\xb1\x9f\x94\xa3" -+"\x1b\xb3\xa3\x6a\x53\x3c\x55\x47\x4c\x68\x75\xa6\xb8\x9d\x8d\x9a\x93\xa8\x1f\x0e\xfb\x6f\xf7\x2c\xf7\x8c\x15\x83\x6d\x05\xf7\x36" -+"\x06\x81\x5d\x81\x6f\x7c\x6f\x08\x53\x6d\x5d\x6b\x57\x1b\x5b\x6b\xa3\xc5\x6f\x1f\x7b\x84\x05\x3d\xa7\xb9\x67\xd0\x1b\xf7\x12\xf7" -+"\x04\xf7\x17\xf7\x26\xf7\x01\x48\xd4\x27\x36\x43\x5a\x51\x71\x9d\x76\xa2\xa0\x9d\x9c\xa0\x93\x87\x93\x83\x94\x1f\x82\x95\x89\x8e" -+"\x93\x1a\xa1\xb0\x9e\xb8\xc8\xb0\x5b\x3c\x7c\x8a\x80\x89\x79\x1e\x0e\xb8\xf7\x4d\xf7\x6e\x15\xeb\x06\x85\x70\x89\x7c\x76\x1a\x27" -+"\xc2\x49\xdf\xba\xc1\xa3\xb7\xbd\x1e\xcb\xc3\xb1\xdd\xdd\x1a\xeb\x51\xd0\x3a\x2c\x29\x3a\xfb\x04\x61\x1e\x2a\x06\xbf\xf7\x58\x59" -+"\x7f\x55\x82\x60\x87\x20\x1d\x8d\x9b\x91\x8c\x95\x1b\x9e\x93\x84\x7a\x80\x89\x80\x86\x78\x1f\x30\xfb\xe8\x05\xd3\x06\xf8\x1b\xf8" -+"\x37\x15\xb4\xa8\x61\x50\x4a\x73\x33\x68\x4a\x1f\x52\x6d\x65\x6e\x61\x1b\x5e\x6f\xb2\xc9\xd6\xa5\xe7\xb3\xc9\x1f\xbc\xaa\xaf\xa5" -+"\xb2\x1b\x0e\xfb\x57\xf8\x35\xf7\x00\x15\x5f\x66\x81\x82\x7d\x1b\x80\x86\x91\x97\x93\x8d\x97\x8e\x96\x1f\xe3\xf7\xdc\x05\x8d\x5c" -+"\x4b\x8c\x79\x1b\xfb\x1f\x3f\x5f\x3c\x4b\xb5\x6c\xe9\x85\x1f\x35\x7d\x6e\x74\x62\x31\x08\x5a\x74\x82\x7f\x79\x1b\x7c\x7e\x95\xa0" -+"\x80\x1f\x7b\x82\x05\x63\xa0\x9f\x7b\xa7\x1b\xb8\xb9\xb2\xd4\xb4\x1f\xba\xe2\x9e\x9a\xd2\x93\x67\xfb\x18\x18\x87\x7b\x88\x78\x7e" -+"\x1a\x71\x99\x7b\xa1\xb1\xa0\x9c\xe6\xd7\x1e\xfb\x0e\xf7\x1e\x15\x89\x6c\x88\x8b\x81\x1b\x86\x06\x52\x68\xa8\xbb\xc9\xc2\xb4\xde" -+"\x9b\x9a\x8a\x8a\x9e\x1f\x0e\xfb\xed\xf7\x60\xf8\x2f\x15\xf7\x46\x06\xa3\xe0\x05\x7d\x06\x7a\x5d\x73\x7a\x5f\x8c\x08\xfb\x74\x06" -+"\x88\x7e\x05\xaf\x8a\x95\x85\x78\x1a\x84\x8b\x88\x86\x7d\x1e\x30\xfb\xce\x05\x87\x7d\x89\x7f\x83\x1a\x77\x9f\x7a\xa1\xaa\xb6\xac" -+"\xc9\xbf\x1e\x84\xa0\x05\x58\x63\x7c\x7d\x7c\x1b\x84\x84\x91\x93\x8f\x8c\x8f\x8c\x90\x1f\x0e\xfb\x49\xf7\x80\xf8\xac\x15\xb0\xf7" -+"\x15\x4d\x81\x81\x8a\x4c\x85\x19\x85\x77\x05\x8d\x9a\x95\x8c\x8d\x1b\x97\x97\x81\x81\x84\x87\x77\x83\x6f\x1f\x85\x77\x05\x30\x06" -+"\x83\x6d\x05\xe6\x06\xfb\x21\xfc\x8e\x05\xd2\x06\x99\xbb\xaa\xf4\x93\x9d\xb2\xc7\x19\xeb\xc9\xc2\xc1\xae\x1b\xa2\x9c\x6d\x62\x35" -+"\x5b\xfb\x47\x59\x29\x1f\x46\x68\x68\x6a\x65\x1b\x83\x86\x8f\x91\x8e\x8c\x8d\x90\x8e\x1f\x92\x92\x8e\x91\x95\x1a\x9f\x7a\x9b\x75" -+"\x73\x79\x77\x70\x68\xa7\x76\xb8\xcf\xc6\xb7\xe5\xc1\x1e\xcb\xf7\x00\xb8\xf7\x27\xf3\x1a\xd9\x70\xb9\x5f\x4e\x38\x41\xfb\x17\x33" -+"\x1e\xdb\xf7\xa7\x05\xf7\x28\x06\x94\xa9\x05\x0e\xfb\xaf\xf7\x02\xf7\xf1\x15\xb4\xb4\xae\x9d\xae\x1b\xae\xa4\x72\x67\x5f\x70\x6d" -+"\x42\x68\x1f\x41\x68\x7a\x82\x74\x77\x08\x74\x77\x7e\x6f\x6b\x1a\x48\xb8\x61\xd3\xc8\xb6\xa5\xd1\xc2\x1e\x80\x96\x05\x5c\x5d\x64" -+"\x77\x61\x1b\x5e\x70\xa8\xba\xbc\xa9\xae\xcd\xaa\x1f\xee\xb8\x8b\x8b\xa5\xa2\x08\xa0\x9d\x96\xa4\xa8\x1a\xc1\x61\xaf\x4e\x55\x66" -+"\x76\x4b\x52\x1e\xf7\x10\xf7\x24\x15\xae\x06\xf7\x41\xf7\x01\x05\x97\x92\x90\x93\x98\x1a\xa0\x7b\x9b\x75\x82\xf7\x05\x1d\xfb\x74" -+"\xf7\x28\xf7\x84\x15\xf7\x03\xaf\xc9\xcf\xcc\x1b\x9f\x9d\x7d\x7c\x84\x8a\x89\x7e\x7e\x1f\x81\x80\x86\x80\x7e\x1a\x79\x9b\x7c\x9e" -+"\xa7\xa2\xa8\xae\xb6\x62\xae\x58\xfb\x15\xfb\x18\xfb\x2b\xfb\x29\x5b\x98\x64\xa3\x72\x1e\x72\xa3\xb0\x7a\xab\x1b\xcd\xd6\xb8\xce" -+"\xb9\x1f\x79\x94\x05\x59\x68\x5e\x70\x5d\x1b\x54\x65\xb9\xcf\x9f\x8d\x9c\x90\xa6\x1f\xf7\x35\x06\x93\xa9\x05\x0e\xfb\xa3\xf7\xec" -+"\xf8\x4b\x15\x7d\x06\x7d\x81\x81\x84\x82\x1b\x87\x84\x8d\x8f\x83\x1f\x98\x71\x75\x91\x74\x1b\x4f\x5a\x5a\x4f\x5f\x99\x70\xc2\x4b" -+"\x1f\xb5\x5c\x9c\x6c\x6d\x1a\x5f\x67\x67\x60\x56\x65\xbf\xd7\x87\x1e\x7b\x06\x73\xfb\x2b\x05\x9e\x06\x9a\x94\x91\x90\x98\x1b\x91" -+"\x92\x8a\x89\x92\x1f\x7b\xba\x95\x89\xa4\x1b\xd6\xc5\xc2\xd2\xb8\x7b\xa9\x51\xce\x1f\x5b\xc1\x7f\xa0\xa8\x1a\xac\xa3\xa4\xac\xc1" -+"\xab\x5e\x40\x8a\x1e\x9b\x06\x0e\xfc\x12\xf7\x6b\xf2\x15\x66\x71\x6e\x6f\x7c\x1b\x83\x84\x92\x92\x8e\x8c\x90\x8c\x90\x1f\xf1\xf8" -+"\x10\x56\x7e\x5d\x83\x5a\x87\x20\x1d\x8d\x9b\x93\x8c\x94\x50\x0a\x3f\xfb\xae\x05\x88\x7d\x89\x80\x82\x1a\x77\x9f\x79\xa3\xa9\xb6" -+"\xac\xca\xbf\x1e\x86\xf8\xa7\xb8\x1d\xfc\x12\xf7\x6b\xf2\x15\x5c\x65\x77\x79\x7f\x1b\x83\x84\x91\x93\x8e\x8c\x90\x8c\x90\x1f\xf1" -+"\xf8\x10\x56\x7e\x5d\x83\x5a\x87\x20\x1d\x8d\x9b\x92\x8c\x95\x50\x0a\x40\xfb\xae\x05\x88\x82\x8a\x82\x82\x1a\x70\x9c\x79\xa3\xaf" -+"\xb0\xa9\xd6\xc6\x1e\xfb\x03\xf8\x9f\x15\xa6\x0a\xf7\x34\x16\xa6\x0a\x0e\xfc\x12\xe8\xf8\x23\x15\x8d\x9a\x90\x8b\x93\x1b\x9d\x97" -+"\x81\x7b\x85\x89\x81\x88\x81\x1f\x2b\xfb\xfc\x78\x43\x85\x7d\x79\x72\x19\x78\x7c\x74\x7e\x76\x1b\x80\x84\x8f\x94\x84\x1f\x9b\x94" -+"\x94\x9b\x9c\x7d\x97\x77\x75\x7a\x7b\x76\x70\xaa\x77\xb5\xde\xcf\xd7\xf7\x18\xaf\x1f\xf6\xf8\x24\x54\x80\x64\x85\x58\x87\x19\xf7" -+"\x14\xf7\x59\xb8\x1d\x9e\xf8\x35\xf8\x46\x15\x39\x06\x26\x91\x4b\x43\x63\xfb\x3b\x08\xfb\x0a\x6c\x7b\x6a\x6f\x1b\x82\x89\x8c\x93" -+"\x81\xcb\x1d\xa1\x97\xa5\x9f\x1f\x9c\xa1\x9c\xba\xa7\xed\xba\xf7\x3d\xab\xb8\xd5\x88\x08\xa6\x06\x4a\xfb\x89\x05\x85\x71\x89\x7e" -+"\x77\x1a\x44\xb6\x62\xd6\xf7\x03\xe8\xdb\xeb\xd3\x5c\xbc\x45\x6a\x71\x83\x72\x63\x1e\x7f\x61\x15\xa7\xb0\xa0\x94\xa4\x1b\xb4\xa2" -+"\x6b\x55\x3b\x56\x49\x4c\x69\x73\xa6\xb0\x9d\x8f\xa5\x91\xa1\x1f\x0e\xbf\xf7\x4e\xf7\x73\x15\xf7\x37\x90\x7a\x4c\x05\x86\x78\x87" -+"\x6f\x79\x1a\x48\xba\x5f\xd2\xf5\xea\xda\xe3\xb2\x78\xae\x6b\x9e\x1e\x98\x76\x71\x90\x62\x1b\x75\x7a\x8a\x87\x69\x1f\xb8\xf7\x40" -+"\x05\x44\x06\x5c\xfb\x44\xfb\x37\x88\xbe\xf7\x52\x5a\x7f\x52\x81\x62\x89\x19\x86\x78\x05\x47\x0a\xf7\xba\xf7\x79\x15\x8c\x98\x99" -+"\x8b\x8e\x1b\xb8\x9b\x89\x86\x97\x1f\xa3\x7f\x99\x71\x68\x1a\x46\x55\x4b\x50\x66\x76\xa6\xba\x9d\x8c\x91\x94\xaf\x1e\x0e\xef\x16" -+"\x99\xc1\xad\xf7\x0d\x98\xa7\xc6\xd9\x19\xd2\xc1\xb4\xae\xaa\x1b\x98\x95\x80\x7a\x81\x88\x78\x86\x7a\x1f\x4c\xfb\x83\x05\x83\x70" -+"\x8b\x8a\x7e\x1a\x71\x9c\x79\xa4\xab\xac\xa3\xc8\xbd\x1e\x94\x97\x7e\x96\x05\x66\x6f\x72\x74\x7f\x1b\x84\x84\x93\x93\x8f\x8d\x98" -+"\x8c\x8f\x1f\xcb\xf7\x7e\x05\x92\xa7\x90\xa7\x9d\x1a\xad\x74\xa3\x6a\x6b\x6e\x7b\x5f\x5c\x1e\x68\x6b\x83\x80\x43\x28\xd7\xf7\xa5" -+"\x18\xf7\x2a\x06\x94\xa9\x05\xfb\x2a\x06\xac\xf7\x0f\x53\x82\x7b\x89\x4c\x84\x19\x85\x78\x05\x8d\x9a\x95\x8c\x8e\x1b\x98\x96\x81" -+"\x80\x86\x8a\x85\x89\x84\x1f\x89\x84\x89\x85\x88\x1a\x82\x69\x05\x33\x06\x82\x6d\x05\xe3\x06\xfb\x22\xfc\x93\x05\x0e\xfb\x54\x7a" -+"\x1d\xab\x9a\x97\x97\xb0\xc8\x08\xc3\xae\x95\x95\x9d\x1b\x92\x92\x88\x87\x8f\x8d\x0a\xe9\xf7\x95\x15\xae\x06\xf7\x41\xf6\x05\x96" -+"\x93\xce\x1d\xfb\x6c\x64\x0a\xf7\x10\xf8\xaa\x15\x8c\x82\x8b\x8b\x87\x1a\x77\x6d\x7a\x68\x6e\x71\x98\x9a\x8f\x8d\x90\x8d\x90\x1e" -+"\x94\x9a\x8d\x91\x94\x1a\x9d\x7c\x98\x76\x6e\x77\x76\x6d\x5c\xb9\x6d\xd4\xdb\xd0\xb7\xbe\x9e\x7c\x98\x74\x72\x7b\x7a\x6f\x1e\x0e" -+"\xc9\xf7\x47\xb0\x15\xf7\x21\xf8\x9c\x05\xd4\x9e\x9c\x99\xd5\x21\x1d\xfb\xa2\x06\x83\x79\x05\xc3\xda\x1d\xfc\x5f\x7a\x47\x77\x49" -+"\x1d\xf7\x41\x06\xb6\x94\x8a\x83\x98\x1f\x9d\x81\x94\x75\x6c\x1a\x70\x87\x70\x7e\x5a\x1e\x9d\x06\xbc\xf7\x26\xb0\xac\xf7\x03\x87" -+"\x08\xf7\x35\xb3\x0a\x9d\x1a\x96\x8d\x98\x8f\x99\x1e\xf7\x0e\xf8\x5e\x58\x1d\x6b\x1a\x7f\x89\x81\x87\x7b\x1e\xfb\x20\xfc\xa2\x05" -+"\x0e\xf7\x32\x37\x15\x8c\x78\x8b\x86\x87\x1a\x74\x83\x81\x68\x76\x1e\x96\x7d\x05\xce\xb2\xa1\xa4\xb2\x1a\x95\x8a\x8e\x87\x9f\x1e" -+"\x87\x9a\x89\x97\x92\x1a\xa0\xa7\xc3\xa7\xac\x1e\x9e\xa0\x98\x9e\xab\xbb\x6d\xfb\x01\x18\x85\x1d\xe3\xf7\xdd\x5a\x7f\x52\x81\x61" -+"\x89\x89\x0a\x62\xa2\x6d\xab\xa8\xab\x9c\xaf\xb5\x1e\x65\x57\x7f\x70\x67\x1a\x0e\xfb\x88\xe8\xf7\x94\x15\xd3\xc0\xc1\xae\xc3\x1b" -+"\xc0\xad\x5d\x43\x73\x89\x7b\x83\x6b\x1f\xfb\x9a\x06\x84\x6e\x89\x7d\x79\x1a\x42\xb7\x5e\xd1\xf7\x13\xf7\x0e\xf7\x29\xf7\x2d\xe3" -+"\x5c\xc4\x41\x57\x54\x71\x5d\x5e\x1e\x74\x73\x78\x6f\x6c\x56\x08\xf7\x87\xfb\x15\x15\x4b\x72\x62\x67\x5a\x1b\x6a\x75\xa4\xb1\x95" -+"\x8c\x94\x8f\x9d\x1f\x0e\xf7\x41\xf7\xef\xf8\x38\x15\x59\x5b\x6b\x7a\x61\x1b\x59\x6d\xaa\xc1\xf6\xde\xf6\xde\xa1\x9a\x83\x7e\x85" -+"\x88\x87\x83\x82\x1f\x7f\x7f\x87\x83\x82\x1a\x7d\x97\x7f\x9a\xa1\x9d\xa2\xa7\xb0\x6d\xa2\x58\xfb\x05\xfb\x04\xfb\x09\xfb\x0a\x44" -+"\xb5\x60\xd0\xc8\xbb\xa5\xcc\xc3\x1e\xf8\x49\xf7\x96\x15\x5e\x06\xfd\x47\xfd\x4a\x05\xb9\x06\xf8\xda\xf8\x02\x15\xfb\x04\xfb\x00" -+"\xfb\x06\xfb\x09\x46\xbb\x5a\xce\xf7\x05\xf4\xf7\x03\xf7\x0b\xd2\x5d\xbb\x48\x1f\x81\x78\x15\xb1\xa1\x6f\x5c\x58\x7b\x53\x6d\x59" -+"\x1f\x56\x6c\x6a\x71\x67\x1b\x66\x72\xa9\xb9\xbd\x9b\xc1\xa9\xbf\x1f\xc0\xab\xac\xa5\xb0\x1b\x0e\xfb\x87\xf7\x86\xf7\x9b\x15\xc4" -+"\xc6\xad\xb4\xa2\xb1\x08\xb2\xcb\xa3\xd1\xc0\x1a\xbd\x72\xab\x63\x39\x4f\xfb\x13\xfb\xb6\x54\x1e\x76\x72\x76\x75\x7e\x7f\x08\x7d" -+"\x7e\x86\x84\x84\x1a\x83\x92\x81\x91\x92\xa5\xa1\xa1\xa0\x1e\x84\x44\x89\x74\x72\x1a\x51\xa4\x6a\xb8\xab\xa5\x9e\xb1\xa2\x1e\x98" -+"\x9f\x92\x9e\x97\x1a\x94\x86\x91\x82\x83\x86\x86\x7e\x85\x1e\x64\x78\x7e\x7d\x7a\x1b\x80\x85\x94\x9b\xa4\x9a\xf3\x99\xd5\x1f\x94" -+"\xc2\x15\xf7\x79\xb1\xa6\xd9\xb2\x1b\x9a\x95\x7c\x75\x70\x81\x5e\x7c\x65\x1f\x74\x51\x6f\x5f\x56\x51\x08\x0e\xf7\xaf\xf7\x1f\x23" -+"\x0a\x85\x79\x05\x9b\x06\xb4\xa1\x7e\x67\x9d\x1f\xfb\x0f\xfc\x63\x05\x56\x7d\x7c\x76\x77\x1b\x84\x83\x8e\x90\x84\x1f\x9a\x77\x7e" -+"\x91\x7a\x1b\x70\x76\x76\x6f\x6d\xa6\x79\xb9\xbb\xaa\x9d\xb5\xa4\x1f\x94\x9a\x96\xa8\x95\xb1\xf7\x01\xf8\x33\x18\xf7\x7a\xfc\xb7" -+"\x05\x9e\x06\xf7\x21\xf8\xa6\x05\xc0\x99\x99\x9d\xa4\x1b\x94\x91\x89\x84\x9a\x1f\x86\x97\x92\x89\x94\x1b\xa8\xa1\x9c\xa2\xa7\x70" -+"\x9e\x62\x48\x67\x64\x24\x70\x1f\x2d\xfb\xf3\xfb\x59\xf8\x77\x05\xf7\x9b\xfd\x2a\x15\xf7\x95\x06\x9b\xc9\x05\xfb\x95\x06\xf7\x71" -+"\xf8\x46\x15\x2f\x3b\x30\x21\x34\xba\x4d\xcf\xe8\xdb\xe5\xf4\xe4\x5b\xc9\x47\x1f\x87\x6f\x15\xb2\xa1\x66\x4c\x24\x59\x34\x4f\x66" -+"\x74\xb1\xcb\xef\xbe\xe3\xc5\x1f\x0e\xfb\x1b\xb2\x1d\xf7\xb6\x05\x35\x06\x6c\x36\x05\xcc\x83\x6b\xaa\x53\x1b\x59\x55\x6e\x55\x58" -+"\x1f\x55\x51\x6d\x43\x41\x1a\x28\x7e\x0a\xc2\x9a\xd0\xa4\xc9\x1f\xdc\xad\xb7\xb6\xbc\x1b\xb8\xa1\x67\x3d\x8d\x1f\x0e\xfb\x1b\xb2" -+"\x1d\xf7\xb8\x05\x35\x06\x6c\x35\x05\xcc\x83\x6b\xaa\x53\x1b\x58\x56\x6e\x55\x58\x1f\x55\x50\x6d\x44\x41\x1a\x27\x7e\x0a\xc3\x9a" -+"\xd0\xa4\xc8\x1f\xdd\xad\xb7\xb6\xbc\x1b\xb8\xa1\x67\x3c\x8d\x1f\x5f\xf7\x49\x15\xb5\x06\xa1\xba\x05\xa1\xba\x99\xb7\x9f\xe0\x1d" -+"\x25\x0a\xf7\x4e\xf7\x38\x29\x1d\xfb\xdb\xc5\xf7\x82\x15\xf7\x42\xfb\xe8\x05\x7c\x93\x95\x83\x97\x1b\x93\x90\x8f\x92\x92\x89\x93" -+"\x88\x93\x1f\xfb\x17\xf7\xdd\xf7\x17\xf7\xdd\x05\x8e\x93\x8d\x93\x92\x1a\x93\x86\x8f\x83\x7f\x83\x85\x79\x81\x1e\x0e\xfb\xdb\xf7" -+"\xa7\xf7\x82\x15\xfb\x42\xf7\xe8\x05\x9c\x82\x82\x92\x7f\x1b\x83\x86\x87\x83\x85\x8d\x83\x8e\x82\x1f\xf7\x17\xfb\xdd\xfb\x17\xfb" -+"\xdd\x05\x88\x84\x89\x83\x84\x1a\x83\x90\x87\x93\x97\x93\x91\x9c\x95\x1e\x0e\xf8\x64\xf7\x02\x15\x6f\x6f\x05\x6b\x6b\x80\x53\x0a" -+"\xf7\x40\xba\xf7\x3f\x77\x0a\x7b\x8d\x84\x92\x83\x1e\x78\x71\x84\x76\x6f\x1a\x58\xb6\x60\xbf\xb0\x0a\x67\x74\xa0\xac\xa3\x92\x96" -+"\xa3\x98\x1f\xa6\x9a\xa8\xa8\xbb\xc7\x08\x7b\x0a\x0e\xf7\xe8\xf9\x3a\xf7\x6c\xb9\x0a\xba\x32\x79\x92\x5e\x1b\x5d\x6c\x76\x4b\x5d" -+"\x1f\xc1\x6b\xd9\x1d\x5b\xe4\x9d\x85\xb8\x1b\xb9\xaa\xa0\xcc\xb9\x1f\x55\xf7\x61\xb9\x0a\xbb\x32\x79\x91\x5e\x1b\x5d\x6d\x76\x4a" -+"\x5c\x1f\xc1\x6c\xd9\x1d\x5c\xe4\x9d\x84\xb8\x1b\xb9\xad\xa3\xc8\xb6\x1f\x0e\xf8\x64\xf7\x02\x15\x7b\x7c\x84\x83\x86\x86\x08\x6b" -+"\x6c\x7f\x53\x0a\xf7\x3f\xba\xf7\x40\x68\x0a\xb6\xf7\xb4\xa4\x1d\x67\x6e\x58\x0a\x6a\xc9\xbb\x1d\x88\x84\x85\x1e\x0e\xc9\xf9\x03" -+"\xf8\x37\x15\xfc\xa0\x06\xf7\x66\xdc\x74\xc0\xfb\xb2\xfb\x14\x05\x3e\x07\xf7\xb2\xfb\x13\xa2\xbf\xfb\x66\xdd\x05\xf8\xa0\x06\xfb" -+"\x66\x39\xa2\x57\xf7\xb2\xf7\x13\x05\xd8\x07\xfb\xb2\xf7\x14\x74\x56\x05\x0e\xc9\xf8\x1b\xf9\x66\x15\x4b\xfd\x03\x06\x39\xf7\x66" -+"\x57\x74\xf7\x13\xfb\xb2\x05\xd8\x06\xf7\x14\xf7\xb2\x56\xa2\x3a\xfb\x66\x05\x0e\xc9\xf9\x66\xf7\xf9\x15\xcb\xfd\x03\x07\xf7\x66" -+"\xdc\x74\xc0\xfb\xb2\xfb\x13\x05\x3e\x07\xf7\xb2\xfb\x14\xa2\xbf\xfb\x66\xdd\x05\x0e\xc9\xf7\xf9\x04\xf9\x03\x06\xfb\x66\x39\xa2" -+"\x57\xf7\xb2\xf7\x14\x05\xd8\x07\xfb\xb2\xf7\x13\x74\x56\xf7\x66\x3a\x05\xfd\x03\x06\x0e\xc9\xf8\x1b\x16\xf9\x03\x07\xdc\xfb\x66" -+"\xc0\xa3\xfb\x14\xf7\xb1\x05\x3e\x06\xfb\x13\xfb\xb1\xbf\x73\xdd\xf7\x66\x05\xfd\x03\x07\x0e\xc9\xf7\xde\xf9\x03\x83\x0a\xa2\xc6" -+"\x0a\x74\x05\x0e\xc9\xf7\x5b\x2c\x15\x51\xf7\xdb\xc5\x07\xfb\x58\xf9\x42\x83\x0a\xa3\xc6\x0a\x73\x05\x0e\xfb\x36\x75\xfb\x40\x15" -+"\xda\x06\xc5\xf7\x6b\x05\x66\xa6\xa8\x7b\xb3\x1b\xf7\x0e\xf7\x0a\xf7\x11\xf7\x15\xcf\x72\xc0\x5b\xae\x1f\xd4\xb1\xb6\xc3\xc4\x1a" -+"\xcb\x57\xb7\x40\x4a\x50\x6e\x58\x63\x1e\x72\x6b\x77\x5c\x78\x44\x08\xda\x16\x99\xbf\x9c\xc0\x95\xa1\x08\xbe\xa3\xae\xa7\xb4\x1b" -+"\xb0\xa3\x6e\x5e\x57\x75\x57\x63\x61\x1f\x99\x71\x7b\x8f\x78\x1b\x70\x78\x7e\x79\x78\x9d\x7f\xa8\x9b\x99\x8e\x93\xa0\x1f\x9a\x71" -+"\x90\x72\x64\x1a\x54\x76\x38\x6f\x57\x1e\x55\x6f\x5f\x6a\x60\x1b\x6d\x72\x9d\xb4\x70\x1f\x0e\xfb\x6c\x3c\x1d\xfb\x17\xf8\x22\x2b" -+"\x0a\xfb\x6c\x3c\x1d\xf7\x0a\xf8\xc9\x21\x0a\xfb\x72\xf7\xf0\xf5\x15\x50\x54\x64\x75\x5a\x1b\x52\x69\xb5\xd3\xe0\xae\xe5\xc3\xc5" -+"\x1f\xa9\xa8\xb3\x9d\xb3\x1b\xa2\x99\x83\x7f\x86\x89\x86\x87\x82\x1f\xb8\x0a\xa6\xba\x51\x0a\x2c\xc1\x54\xe8\xd6\xc0\xa9\xd8\xc8" -+"\x1e\x92\xf8\xc9\x20\x0a\xfb\x6c\x3c\x1d\x6a\xf8\x92\x24\x1d\x0e\xfb\x70\xf8\x53\xf8\x46\x15\x38\x06\xfb\x31\xfb\x7a\x05\xf7\x5d" -+"\x80\x7c\xb2\x4b\x1b\x6a\x75\x7a\x71\x75\x99\x7e\xa8\x86\x1f\xc4\x86\x92\x77\x95\xfb\x3a\xfb\x8b\xfb\xea\x18\xe0\x06\xf7\x3c\xf7" -+"\x85\x8c\x59\x90\x58\x93\x55\x19\x46\x95\x9c\x6d\xaa\x1b\xb0\xb8\xc4\xe3\xa9\x1f\x7e\x92\x05\x52\x72\x74\x73\x6e\x1b\x61\x7a\xc7" -+"\xf7\x36\x86\x1f\x0e\xf7\xe8\xf8\x8b\xf9\x4b\x15\xfb\x5c\xfb\x36\xfb\x35\xfb\x5c\xfb\x58\xf7\x36\xfb\x36\xf7\x57\xf7\x59\xf7\x37" -+"\xf7\x37\xf7\x57\xf7\x58\xfb\x36\xf7\x39\xfb\x55\x1f\x87\xfb\xd0\x15\xfb\x52\xf7\x50\x05\xb8\xc2\xcc\xa2\xd1\x1b\xd0\xcc\x74\x60" -+"\xc3\x1f\xb3\x63\x15\xbb\x51\xa2\x4d\x42\x1a\x43\x74\x4b\x5d\x53\x1e\xfb\x54\xf7\x57\x05\xf7\x2c\xfb\x7f\x15\x5f\x54\x48\x73\x45" -+"\x1b\x45\x4b\xa2\xba\x50\x1f\xf7\x55\xf7\x55\x05\xfb\x7d\xfb\x2d\x15\x5f\xc1\x74\xcb\xd1\x1a\xd3\xa2\xcb\xba\xc4\x1e\xf7\x52\xfb" -+"\x50\x05\x0e\xf7\xe8\xf9\x83\x16\x9f\x07\x84\x8d\x74\x90\x3e\x9e\x8b\x8c\x70\x9c\x19\x45\xbb\x64\xd8\xe4\x1a\x94\x07\x9b\x07\x9f" -+"\x67\x94\x7e\x97\x7c\x08\x5c\xb1\xc8\x6d\xc1\x1b\xe6\xd3\xd5\xe8\xe7\x4a\xd2\x39\x71\x80\x88\x79\x67\x1f\x88\x8a\x82\x86\x82\x87" -+"\x08\xa8\xb7\x95\xa5\xb0\x1a\xe5\x43\xd2\x2f\x2e\x44\x45\x31\x67\x92\x78\xad\x56\x1e\xa3\x58\x78\x91\x70\x1b\x3d\x49\x40\x33\x2d" -+"\xd3\x43\xe9\xdb\xd1\xbe\xe5\xb6\x1f\x8c\x72\x05\x83\x07\x54\x71\x45\x65\x5f\x1e\x5c\x5a\x8a\x8a\xfb\x0e\x6e\x83\x89\x18\x77\x07" -+"\x0e\x3f\x5c\x0a\xf7\x84\x9d\x15\xe0\xba\xb8\xc3\xc3\x48\x0a\x70\x74\x70\x57\x69\x1e\x0e\xf8\x33\xf8\xb4\x15\x60\xfb\x35\x8f\x1d" -+"\x7f\x95\x05\xe7\x1d\xf7\x0b\xad\xf7\x03\x1f\x9b\xc3\x9c\xc9\xa3\xe7\x92\xa7\x18\xc5\x06\x93\xae\x05\x52\x06\xa5\xee\x86\x90\x57" -+"\x80\x67\x86\x4a\x84\x19\x7a\x07\xc2\x89\x92\x88\x75\x1a\x81\x8a\x83\x86\x78\x1e\xfb\x3c\x06\x83\x68\x05\xc9\xfb\x12\x87\x0a\x0e" -+"\xfb\x57\xf8\x68\xf8\xfd\x15\xb1\x48\x3a\xa1\x47\x1b\x46\x63\x6d\x56\x70\x9b\x71\xaa\x72\x1f\xcc\x58\x44\x75\x63\x73\x63\x60\x19" -+"\x52\x4c\x69\x37\x3e\x1a\x2a\xc9\x4d\xeb\xf7\x30\xf7\x1b\xf7\x29\xf7\x40\xcf\x71\xbb\x52\xb1\x1e\xfb\x27\xee\x05\x5e\xa9\x8a\x8c" -+"\x97\x1a\x99\x98\x93\xa3\xc9\xf1\x64\x5b\xca\x1e\xfb\x37\x29\x15\xcd\x5e\xa4\x61\x4d\x1a\x4d\x73\x42\x64\x50\x1e\x54\x66\x5f\x6f" -+"\x5a\x1b\x51\x6d\xb3\xd9\xd1\x9f\xd4\xaf\xc5\x1f\xac\xc1\xac\xa5\xcf\xa6\x08\x0e\xf7\xe8\xf8\x95\xf9\x89\x15\x42\xfb\x13\x4d\x33" -+"\xfb\x21\xfb\x45\xf0\xfb\x0f\xf7\x35\xfb\x78\x99\x61\xde\xf7\x20\xdf\xf7\x0b\xf7\x03\xf7\x1a\xfb\x0b\xf7\x26\x2a\xf7\x1d\x4d\xf7" -+"\x01\x08\x0e\xfb\xdb\xf7\x84\xf8\xc1\x15\xad\x06\x9b\xac\x05\x9c\xae\x94\xa5\x9b\x1a\x9a\x83\x93\x7b\x6a\x81\x77\x41\x85\x1e\x4b" -+"\x70\x15\x86\x0a\xf7\x2e\x59\x1d\xfb\x6c\x28\x1d\xf7\xc4\xf8\x4e\xc5\x1d\x8c\xb4\x59\xe3\x1b\xc0\xba\x5a\x1d\xfb\x6c\x28\x1d\xf7" -+"\xef\xf8\x59\x21\x0a\xfb\x6c\x28\x1d\xf7\x46\xf8\x22\x24\x1d\x0e\xf7\xe8\xf9\x93\xf7\x6c\x15\xc8\xfc\x62\x07\x91\xf6\xc3\xbd\xf7" -+"\x01\x89\x08\xf7\xb7\xc9\xfb\xac\xa7\x0a\x38\xca\x0a\xc9\xfb\xb7\x06\xfb\x01\x89\x53\xbd\x85\xf5\x08\x0e\xfb\x6c\x28\x1d\xf7\xe0" -+"\xf8\x0b\x29\x1d\xfb\x67\xf7\x62\xf8\x4b\x15\x8a\x1d\x80\x85\x6a\x84\x6f\x1f\x3f\xfb\xb8\x05\xfb\x23\x67\x76\x65\x63\x88\x1d\xba" -+"\xb4\xae\x9d\xaf\xaa\x1e\xac\xb2\xa0\xbb\xa4\xe9\xd9\xf7\xbb\x18\x90\xa1\x8f\xa1\x99\x1a\xaf\xf7\x04\x1d\x0e\xfb\x6c\xf7\xfa\xf7" -+"\x01\x15\x50\x43\x6c\x7b\x5f\x1b\x53\x66\xaf\xc2\x9a\x8d\x99\x93\xab\x1f\xa7\x8f\x05\xf7\x2a\xa0\xf5\xd7\xe1\x1a\xb5\x6d\xa5\x59" -+"\xfb\x24\xfb\x31\xfb\x38\xfb\x2b\x3a\xc1\x53\xda\xae\xa6\x92\x9d\xaf\x1e\x70\x6d\x80\x71\x6a\x1a\x58\xb6\x60\xbf\xbc\xb4\xa4\xbf" -+"\xae\x1e\x7a\x9d\x05\x75\x70\x73\x81\x6b\x1b\x68\x73\xa0\xab\xb7\x9b\xa9\xc0\xc6\x1f\x9b\x9c\x05\xfb\x6e\xf7\x2f\x15\xe4\xad\xd5" -+"\xd8\xbe\x1b\xa0\x99\x7c\x73\x6c\x78\x67\x6c\x6d\x1f\x66\x68\x65\x79\x35\x76\x08\x0e\xfb\x9e\x65\x0a\x0e\xfb\x9e\x65\x0a\xfb\x03" -+"\xf7\xeb\x15\xb5\x06\xa0\xba\x05\xa3\xbe\x98\xb3\x9f\x1a\xa0\x81\x96\x78\x62\x7d\x6e\x22\x80\x1e\x0e\xf7\xe8\xf7\x8c\xf7\xb7\x15" -+"\x4c\xf8\x8c\xca\x07\xfc\x8c\xf7\x21\x15\x4c\xf8\x8c\xca\x07\xfc\x8c\xfb\xad\x15\x4c\xf8\x8c\xca\x07\x0e\x4f\xf8\x9b\xf7\x8e\x15" -+"\x8a\xd3\x87\xae\x7d\xb0\x08\xdb\x6e\x44\xbb\x34\x1b\xfb\x16\x39\x23\xfb\x37\xfb\x37\xda\x29\xf7\x18\xee\xcf\xbf\xeb\xa5\x1f\x64" -+"\x06\x46\x6e\x58\x68\x42\x1b\x62\x69\x97\xa2\x74\x1f\x7a\x9b\x83\x9c\x80\xb2\x08\xf4\x07\xf7\xa6\xae\x15\xfb\xa4\xe8\x06\xd5\xab" -+"\xad\xa5\xcd\x1b\xce\xc0\x66\x4c\x9f\x1f\x0e\xfb\x38\x67\x0a\x0e\xfb\x38\x67\x0a\xc2\xf9\x22\x15\xb5\x06\xa1\xba\x05\xa1\xbb\x99" -+"\xb6\x9f\xe0\x1d\xfb\x20\xdc\xf7\x46\x15\x9a\x87\x05\x8f\x94\x8d\x91\x8c\x1a\xa2\xc7\x8f\x96\x93\xa0\x9f\xba\x19\xc0\xf7\x13\x05" -+"\xaa\xd5\x9f\xcf\xa8\x1a\xa5\x7e\x99\x72\x66\x7a\x69\xfb\x0a\x75\x1e\x35\xfc\x3a\x15\x6f\x75\x75\x6f\x70\xa2\x74\xa6\xa6\xa2\xa1" -+"\xa6\xa8\x75\xa1\x6f\x1f\xf7\xf5\xe0\x15\x9a\x87\x05\x8d\x91\x8f\x94\x8c\x1a\xa2\xc7\x8e\x95\x9c\xb4\x97\xa7\x19\xc0\xf7\x13\x05" -+"\xa9\xd5\xa0\xcf\xa8\x1a\xa5\x7d\x99\x73\x66\x7a\x69\xfb\x0a\x75\x1e\x35\xfc\x3a\x15\x6f\x75\x75\x6f\x70\xa2\x74\xa6\xa6\xa2\xa1" -+"\xa6\xa8\x75\xa1\x6f\x1f\x0e\xfb\x80\xbd\x16\xf7\xd9\xf8\xd5\xfb\xd9\x37\xf7\x85\xfb\x36\xfb\x85\x37\xf7\x85\xfb\x37\xfb\x85\x06" -+"\x0e\xc9\xf8\x19\xf7\xa7\x15\xb3\x93\x9c\x90\xa4\x9a\x08\xd0\xb3\xb4\xd2\xda\x1a\xf7\x0d\x29\xed\xfb\x0e\xfb\x0d\x29\x29\xfb\x0d" -+"\x3c\xb4\x45\xd0\x62\x1e\xa3\x7c\x9c\x85\xb3\x84\x08\x3e\xfb\x29\x57\xf7\x29\xfb\x2c\xc3\xf7\x2c\xf7\x28\xbf\xfb\x28\x07\x6c\xf8" -+"\x5d\x15\xe7\xd5\x43\x32\x30\x42\x42\x31\x31\x42\xd4\xe5\xe3\xd4\xd5\xe2\x1f\x0e\xf7\x80\xa3\x15\x4e\x96\x6a\xc0\xe4\x1a\xed\xc2" -+"\xf7\x44\xc5\xe7\x1e\xcd\xb5\xc5\xb4\xbe\x1b\xc6\xb6\x53\x3d\x77\x8a\x79\x87\x73\x1f\xa4\x06\xb6\xf7\x73\x05\x76\x06\x6c\x7e\x81" -+"\x7e\x80\x1b\x88\x85\x8e\x90\x85\x1f\xa2\x6c\x66\x97\x69\x1b\x34\x31\x50\x23\x44\x1f\x4d\x32\x66\xfb\x06\x27\x1a\xfb\x1e\xce\x37" -+"\xf7\x01\xd4\xd3\xaa\xc4\xc7\x1e\x7a\x9d\x63\x69\x6f\x7a\x65\x7f\x19\xbb\xf7\x48\xaa\xb7\x9d\x9c\xa3\x91\x19\x78\x95\x93\x85\x9b" -+"\x1b\xa3\x9c\x9c\xa1\x9e\x7f\x96\x76\x6b\x71\x7a\x57\x5d\x1f\x9e\xce\x81\x8e\xfb\x05\x64\x86\x79\x05\x8e\x9a\x8f\x8c\x90\x1b\x94" -+"\x8f\x87\x82\x86\x89\x82\x87\x7c\x1f\x0e\xfb\x9e\xf7\x52\xcb\x15\x9c\xda\x92\xc5\xc7\x1a\xf7\x04\x69\xd2\x57\x62\x5a\x57\x37\x64" -+"\x1e\x98\x80\x05\xc5\xab\xaa\xaf\x9c\x1b\x96\x9b\x78\x73\x92\x1f\x96\x6a\x90\x5b\x45\x1a\x4e\x87\x51\x84\x5f\x1e\x64\x55\x84\x81" -+"\x7f\x72\x08\x7c\x6c\x80\x68\x78\x1a\x74\x9a\x7b\x9f\xa0\x9f\x9d\xad\x9c\x1e\x99\xa8\x94\xa8\xa1\xe8\xa7\xab\x9a\x9b\xaa\xaa\xe4" -+"\xe2\x95\x97\xa8\xb3\x08\xab\xb9\x9e\xbf\xb3\x1a\xb1\x76\xa5\x6d\x70\x76\x76\x70\x7d\x8d\x85\x98\x6b\x1e\x93\x79\x8e\x7f\x7d\x1a" -+"\x79\x87\x7c\x81\x7a\x1e\x79\x69\x84\x84\x52\x51\x08\x0e\x39\x1d\xf7\x45\xf7\x7b\xc5\x1d\xb5\x59\xe3\xc0\xba\xa3\xb7\xac\x1e\x9f" -+"\xa6\x94\xa0\x94\xb5\x08\x0e\xfb\x3b\xf8\x69\x6d\x1d\xdb\xf7\x86\x20\x0a\x39\x1d\xf2\xf7\xb3\xcf\x0a\xac\xa8\xa1\x9f\xa5\x9d\x85" -+"\x96\x78\x9c\x1e\x7c\x99\x86\x93\x96\x1a\xa6\xa2\xa5\xbf\xae\x1e\x0e\x39\x1d\x93\xf7\x4f\x24\x1d\x0e\xf7\xe8\xf7\x90\x16\xf8\x30" -+"\x06\x9d\xcd\x05\xfc\x30\x06\x92\xa5\x15\xf8\x72\xf7\x81\x8d\x91\xfb\xeb\xf7\x8c\x71\x2e\xf7\x93\xfb\x4c\xfb\xf6\xfb\x42\x05\x0e" -+"\xf7\x2f\xf8\x97\x15\x8a\x88\xfb\x1b\xfc\x94\x05\x79\x0a\x7e\x97\x05\x84\x0a\xd7\xf7\xb1\x05\xf7\x25\x06\x92\xac\x05\xfb\x23\x06" -+"\xae\xf7\x16\xb4\x0a\xa1\x8c\x9e\x7f\x7d\x1a\x7e\x86\x74\x83\x6f\x1e\x89\x87\x05\x57\x06\x84\x6a\x05\x0e\xfb\x3b\xf8\x66\xf7\x09" -+"\x15\x84\x0a\xf7\x0c\xf8\x54\xb4\x0a\xa2\x8c\x9d\x80\x7c\x1a\x7d\x86\x73\x82\x6e\x1e\x8a\x89\x87\x7d\x86\x76\xfb\x1b\xfc\x94\x18" -+"\x79\x0a\x3d\xf9\x9b\x20\x0a\xf7\xe8\xf8\x87\x6f\x15\x9c\xde\xc7\xf3\xf7\x0b\xf7\x2b\xb4\xc0\x9b\xa0\x9a\xa3\x08\xb1\xca\x9d\xc2" -+"\xc1\x1a\xdc\x44\xcf\x37\x5b\x5f\x76\x65\x6a\x1e\x76\x72\x81\x75\x7e\x5d\x08\xf2\x67\x56\xbb\x3a\x1b\x36\x48\x46\x34\x4a\xa3\x56" -+"\xdc\xfb\x01\x1f\xf7\x2c\xfb\x5f\xb2\x48\xa5\x24\x08\x0e\xf7\xe8\xf7\x2d\x16\xf9\x50\xf8\x25\x06\xfb\xf3\xf7\xdc\xfb\xf1\xfb\xdc" -+"\x05\xc8\xfb\xf2\x15\xf7\xdc\x07\xf7\xb4\xf7\xa2\xf7\xb6\xfb\xa2\x05\xfb\xdc\x07\x0e\xfc\x12\x8f\x0a\x92\x9d\x1f\x8c\x90\x8d\x91" -+"\x8d\x92\x08\x8d\x07\x8c\x8d\xe3\xf7\xd6\x88\x8d\x25\x78\x78\x88\x64\xa3\x0a\x83\x88\x7a\x85\x78\x1e\x5b\xfb\x45\x05\x7b\x4f\x85" -+"\x6e\x77\x1a\x66\x9b\x77\xa9\xba\xaf\xa9\xdf\xc4\x1e\xdb\xf8\xb7\x3e\x1d\xf7\x66\xf2\x15\x66\x72\x6d\x6f\x7c\x1b\x84\x84\x91\x93" -+"\x8f\x8c\x8f\x8c\x90\x1f\xf7\x01\xf8\x10\x57\x7e\x5d\x83\x5b\x87\x20\x1d\x8d\x9a\xd0\x0a\x7e\x85\x78\x1f\x3a\xfb\xae\x05\x87\x7d" -+"\x89\x7f\x83\x1a\x77\x9f\x79\xa1\xa9\xb6\xac\xca\xc0\x1e\x92\xf8\xa7\xbf\x1d\xf3\xfb\x6a\x15\x8d\x9a\x90\x8b\x93\x1b\x9d\x96\x81" -+"\x7c\x85\x8a\x84\x86\x7d\x1f\x24\xfb\xfc\x77\x43\x85\x7d\x78\x72\x19\x78\x7c\x75\x7e\x76\x1b\x7f\x84\x8f\x94\x85\x1f\x9b\x94\x94" -+"\x9b\x9d\x7e\x96\x77\x75\x7a\x7b\x75\x70\xa9\x78\xb3\xde\xd0\xd7\xf7\x18\xb1\x1f\xf7\x07\xf8\x24\x54\x80\x65\x85\x58\x87\x19\xf7" -+"\x17\xf7\x59\xbf\x1d\x0e\xfc\x12\x2f\x1d\xf7\x29\xf8\x74\x29\x1d\xf7\xe8\xf8\x88\xf7\xa4\x15\x60\xb2\x87\x8e\x78\x99\x08\xa5\x6a" -+"\x60\x9b\x6a\x1b\x45\x51\x51\x45\x45\xc5\x51\xd1\xad\xb4\x9b\xa5\xad\x1f\x9e\x99\x8f\x8e\xb6\xb2\xb8\x64\x8f\x87\x9c\x7e\x08\x71" -+"\xae\xb4\x7b\xad\x1b\xd1\xc5\xc5\xd1\xd1\x51\xc5\x45\x6a\x60\x7b\x71\x69\x1f\x7a\x7e\x86\x87\x5f\x64\x08\xac\x6d\x15\xbe\xbe\xbf" -+"\xa9\xb3\x1b\xb7\xb0\x66\x5f\x5e\x66\x66\x5f\x64\x58\xa8\xc0\x56\x1f\x4a\x16\x57\x57\x57\x6e\x64\x1b\x5f\x66\xb0\xb7\xb7\xb0\xb0" -+"\xb8\xb2\xbe\x6e\x57\xbf\x1f\x0e\xf7\xe8\xf8\xb3\xf8\xd4\x15\xd5\x8a\xb1\x88\xc5\x1e\x89\xa7\x8a\xaa\x98\x1a\xb0\x96\xa2\x9d\x90" -+"\x91\x88\x88\x8d\x1e\x6f\x9c\x92\x86\x9d\x1b\x9e\x9a\x99\x9d\xa6\x73\x9d\x68\x68\x6e\x7a\x6d\x7a\x1f\x73\x5f\x7d\x20\xfb\x21\x1a" -+"\xfb\xed\x07\x43\x8c\x65\x8e\x50\x1e\x8d\x6d\x8c\x6f\x79\x1a\x69\x7f\x74\x78\x83\x85\x90\x98\x84\x1e\x9c\x81\x84\x90\x7d\x1b\x77" -+"\x7c\x7c\x79\x71\xa3\x79\xae\xae\xa8\x9c\xa9\x9c\x1f\xa3\xb7\x99\xf6\xf7\x21\x1a\x0e\xc9\xf7\xe7\xf9\xb4\x15\xfc\xfb\x07\x60\x8f" -+"\x4e\x95\x23\x1e\x8f\x61\x8d\x75\x7f\x1a\x79\x85\x81\x7f\x85\x89\x8c\x96\x80\x1e\x94\x81\x80\x90\x7d\x1b\x71\x75\x75\x70\x6c\xa7" -+"\x73\xae\xb7\xaa\xaa\xc5\x99\x1f\x9b\xcb\x90\xd4\xf7\x41\x1a\xf8\xf2\x07\x0e\xc9\xf8\x30\xfb\x61\x15\xf8\xfa\x07\xb7\x87\xc8\x81" -+"\xf3\x1e\x87\xb5\x89\xa1\x97\x1a\x9d\x91\x95\x97\x91\x8d\x8a\x80\x96\x1e\x82\x95\x96\x86\x99\x1b\xa5\xa1\xa1\xa6\xaa\x6f\xa3\x68" -+"\x5f\x6c\x6c\x51\x7d\x1f\x7b\x4b\x86\x42\xfb\x41\x1a\xfc\xf2\x07\x0e\xf7\xe8\xf9\x64\x16\xf7\x8a\x07\xf7\x1d\x86\xad\x73\xb4\x1e" -+"\xca\x65\x44\xb1\x39\x1b\x3f\x4b\x6c\x53\x62\x1f\x6a\x5e\x85\x6b\xfb\x29\x1a\xfb\x8a\xc7\xf7\x8d\x07\xf0\x91\xb6\x9c\xaa\x1e\xb9" -+"\xa4\xc2\xa9\xc4\x1b\xc0\xbf\x71\x61\xa7\x1f\xa0\x6b\x91\x66\xfb\x06\x1a\xfb\x8d\x07\x0e\xf7\xe8\xf8\x89\xf9\x6e\x95\x1d\xfb\x01" -+"\xfb\x63\xa2\x0a\xfb\x14\xfb\x05\x15\x97\x59\x95\x75\xa5\x6d\x08\x54\xbb\xc7\x71\xdc\x1b\xdc\xc7\xa5\xc2\xbb\x1f\xa5\xa9\x95\xa1" -+"\x97\xbd\x84\x36\x80\x62\x6d\x5e\x08\x4c\x61\x4b\x6b\x38\x1b\x3e\x4f\xa6\xc1\x61\x1f\x67\xba\x7c\xb8\x84\xe8\x08\xf7\xee\xf7\x05" -+"\xa2\x0a\x0e\xfc\x12\xbc\x0a\x79\x7d\x6a\x1d\x92\x9d\x1f\x90\x9d\x8c\x8d\x05\x8d\x07\x9e\x1d\x50\x85\x6d\x77\x1a\x6c\x94\x7b\xa1" -+"\x83\x1e\x7a\x74\x86\x7b\x73\x1a\x55\xa9\x0a\x6c\x1b\x65\x75\xa0\xae\xa6\x90\x92\xae\xa8\x1f\xa7\xa2\x9b\x9e\xab\xbb\x08\x76\xf8" -+"\xbb\x45\x0a\xfc\x12\x43\x0a\x0e\xfc\x12\x43\x0a\x45\xf8\x9d\x15\x42\x1d\xf7\x21\x16\x42\x1d\x0e\xfc\x12\xf7\x66\x72\x0a\x76\xf8" -+"\x6b\x15\xad\x06\x9b\xac\x05\x9b\xac\x95\xa8\x9a\x1a\x9a\x82\x93\x7c\x6b\x80\x76\x42\x85\x1e\x41\x70\x15\x86\x0a\xf7\x43\x59\x1d" -+"\xfc\x12\x43\x0a\x68\xf8\x20\x15\xb5\x06\xa1\xba\x05\xa0\xba\x9a\xb8\x9e\x1a\xa0\x81\x96\x78\x62\x7e\x6f\x21\x80\x1e\x0e\xfc\x12" -+"\x8f\x0a\x91\x9d\x1f\x8c\x8d\x8d\x93\x8e\x93\x08\x8d\x07\x8c\x8d\xe3\xf7\xd6\x88\x8d\x25\x78\x77\x88\x65\xa3\x0a\x84\x88\x7a\x85" -+"\x77\x1e\x5b\xfb\x45\x05\x7c\x53\x84\x6a\x77\x1a\x66\x9b\x77\xa9\xb9\xb0\xa9\xdf\xc4\x1e\xe7\xf8\x9d\x15\x6a\x7f\x7f\x80\x70\x1b" -+"\x7c\x7a\x3f\x0a\x71\x92\x75\x1b\x57\x70\x6e\x3e\x76\xa3\x1d\xfc\x16\xf7\x88\xf8\x4b\x15\x88\x8d\x36\x7c\x56\x83\x6b\x89\x19\x7b" -+"\x07\xa6\x8c\x05\x92\x06\xa7\x97\x81\x75\x81\x86\x71\x80\x5f\x1f\x43\xfb\xb8\x05\xfb\x1e\x69\x74\x60\x63\x54\x1d\xe2\xc7\xd6\xf7" -+"\x34\xb3\x1e\xf7\x02\xf9\x0d\x15\x5a\x06\xfb\x31\xb1\x0a\xfb\x48\xf7\x78\xf7\x98\x15\xa3\x9e\xa3\x9e\xa2\x9f\xaf\xa8\x97\x8f\xba" -+"\x8c\x08\xb0\x93\x8c\x91\x9a\x1f\x9d\x93\x96\x9d\x9f\x1a\xa3\x7a\x9a\x71\x62\x74\x7b\xfb\x08\xfb\x14\x1e\x77\x78\x63\x67\x7a\x7c" -+"\xc2\xf7\x5f\x18\x50\x7d\x61\x84\x5b\x87\x86\x78\x18\x3d\x0a\x7a\x80\x89\x82\x86\x76\x1f\x30\xfb\xe8\x05\xd4\x06\xca\xf7\x81\xe9" -+"\xfb\x5a\x05\x68\x9c\x9e\x7b\xa3\x1b\x9f\xa4\x98\xa0\x9d\x1f\xa0\xa2\x96\x9e\xa4\xbe\x7c\x93\x18\x5a\x74\x6e\x68\x78\x1b\x7b\x7a" -+"\x9e\xb4\x78\x1f\x0e\xfb\x6c\x72\x1d\xfb\xfa\xfc\x04\x30\x1d\xfb\x6c\xf7\x0e\xf7\x44\x15\xcb\xc2\xcf\xfb\x53\x05\x68\x97\x9d\x7a" -+"\xa2\x1b\x9e\xa4\x98\xa0\x9e\x1f\xa0\xa3\x98\x9d\xa8\xbe\x7d\x93\x18\x59\x72\x6c\x69\x79\x1b\x7c\x7d\x9f\xb3\x7c\x1f\x4c\xf7\x42" -+"\xf7\x07\xf1\xcd\xb3\xc3\x8d\x19\x8f\x9a\x05\xfb\x45\x06\x87\x7c\x05\xad\x8a\x92\x88\x80\x1a\x7f\x8b\x8b\x41\x4c\x1e\xfb\x18\xfb" -+"\x06\xce\xf7\x7e\x4b\x7e\x82\x89\x4a\x84\x19\x85\x78\x05\x8e\xa1\x8b\x8b\x91\x1b\x97\x96\x82\x80\x86\x89\x80\x87\x7e\x1f\x2a\xfb" -+"\xfc\x05\xce\x06\x0e\xfc\x12\xf7\x78\x3d\x1d\x33\xf8\xe4\x15\xae\x06\xf7\x3e\xf5\x05\x98\x93\x90\x93\x97\x1a\xa0\x7b\x9a\x76\x65" -+"\x1d\x0e\xfb\x77\xf7\x9a\xf7\xc0\x15\x7b\xfb\x1c\x05\x84\x50\x87\x67\x7f\x1a\x5f\x9a\x74\xa7\xb2\xb7\xb8\xdb\xb1\x1e\x7a\x95\x05" -+"\x56\x6d\x7a\x7c\x72\x1b\x74\x7f\x9e\xaf\x9f\x8c\x9c\x8f\xb1\x1f\xaf\xf7\xed\x05\x8e\xa2\x8c\x9f\x94\x1a\xbc\x74\xa6\x62\x6b\x77" -+"\x79\x6d\x78\x93\x7d\x9d\x82\x1e\xb7\x73\x91\x82\x5f\x1a\x74\x89\x75\x87\x6f\x1e\xfb\xd3\xfc\x38\x05\xdf\x06\x0e\xfb\xe8\xf7\x7a" -+"\x3d\x1d\xbf\xf7\xd6\x15\xe0\xba\xb8\xc2\xc4\x48\x0a\x71\x74\x70\x57\x68\x1e\x0e\xfc\x12\xf7\x78\x84\x1d\xae\xa8\xeb\xcb\x1e\xfb" -+"\x91\xfc\x14\x33\x1d\xfc\x17\xf7\x5f\x3d\x1d\xd9\xf7\x9b\x49\x0a\xf7\xe8\xf9\x18\x16\x9d\xcd\x05\xfc\x30\x06\x79\x49\x05\xf8\xd1" -+"\xf8\xdb\x15\xfc\x71\xfb\x81\x89\x85\xf7\xeb\xfb\x8c\xa5\xe8\xfb\x93\xf7\x4c\xf7\xf6\xf7\x42\x05\x0e\x92\x33\x0a\xf8\xa9\xec\x15" -+"\xd1\xf7\xa0\xe1\x1d\x9e\x84\x7a\x82\x79\x43\x5c\xfb\x43\x1f\x43\x67\x7f\x5d\xd3\xaf\x82\x69\x84\x71\x86\x7b\x19\x76\x41\x05\x78" -+"\x45\x84\x6c\x79\x1a\x66\x9b\x78\xac\xbf\xad\xa7\xec\xcc\x1e\x7e\x94\x05\x37\x49\x84\x84\x75\x1b\x81\x86\x91\x97\x93\x8e\x98\x8f" -+"\x9b\x0a\xfc\x12\xc0\xf8\x26\x15\xe6\x06\x2f\xfc\x3e\x05\xfb\x02\x73\x6a\x54\x60\x1b\x7f\x83\x92\x95\x8e\x2d\x1d\x92\x8c\x8f\x91" -+"\x1a\xa1\x79\x9c\x75\x76\x7b\x78\x73\x69\xae\x70\xb7\xe5\xd4\xf1\xf7\x4d\xb5\x1e\xed\xf8\x41\x8b\x8b\x94\xa6\x9a\xbc\x98\xa7\x9b" -+"\xa1\x08\xa1\x9c\x9e\x96\xa1\x1b\x98\x94\x36\x0a\x86\x1f\x86\x83\x8a\x86\x83\x1a\x73\x9a\x7b\xa1\xa2\x9f\x9e\xa1\xb1\x66\xa6\x59" -+"\x5a\x63\x75\x5c\x66\x1e\x6d\x63\x76\x5d\x6c\x29\x08\x2d\x06\x0e\xc9\xf8\xc1\xf8\xe5\x15\x44\xbc\x9c\x78\x9c\x1b\x95\x93\x92\x95" -+"\x91\x8a\x8f\x84\x99\x1f\x74\xb6\x7a\xcb\xb7\x1a\xa9\x89\x91\x7e\x86\x84\x88\x83\x7e\x1e\x77\x70\x3d\x76\x60\x1b\x71\x8a\x83\x86" -+"\x7e\x1a\x75\xad\x81\xe2\x85\x1e\x25\xfb\x4d\x05\x97\x6c\x6e\x91\x6b\x1b\xfb\x1a\xfb\x00\xfb\x00\xfb\x1a\xfb\x19\xf7\x00\xfb\x00" -+"\xf7\x1a\xf7\x19\xf7\x00\xf7\x00\xf7\x1a\xd8\x66\xd3\x4c\xb9\x1f\xfb\x22\x7b\x15\xee\xdc\x3b\x28\x28\x3b\x3a\x28\x27\x3b\xdb\xee" -+"\xee\xdb\xdc\xee\x1f\x0e\xfc\x4d\xf7\x17\xf8\x17\x15\xa0\x06\xce\xf7\x22\x05\xad\xd5\x91\x9a\x9b\x1a\x9f\x7c\x99\x74\x77\x79\x81" -+"\x7a\x80\x1e\x7d\x77\x86\x75\x84\x45\x08\x0e\xf7\x81\xf7\x43\x15\x92\x7c\x76\x8f\x7b\x1b\x4d\x54\x56\x50\x68\xa5\x75\xb4\xba\xb7" -+"\xa2\xb1\xa6\x1f\x9f\xa6\x91\xa1\x8d\xbb\x08\xf7\xb9\x07\xc3\x83\xb9\x40\x37\x1a\x59\x83\x65\x73\x54\x1e\xa6\x06\xaf\xb6\x9e\xc2" -+"\xc5\x1a\xd7\x6e\xd1\x51\xd2\x1e\x58\xc7\x8a\x8d\x86\x91\x83\x95\x19\xc5\x5f\x07\x0e\xc9\xf8\x13\xf8\x57\x15\x9e\x72\xa1\x78\xa0" -+"\x7f\xc3\x6b\x94\x85\x90\x82\x08\x91\x80\x8f\x78\x76\x1a\xfb\x7c\x07\x92\x7a\x74\x8f\x78\x1b\x46\x4d\x56\x4f\x68\xa8\x75\xb8\xbe" -+"\xbb\xa2\xb1\xaa\x1f\xa0\xa6\x92\xa1\x8d\xbc\x08\xf8\x00\x07\x8c\xd3\x6a\xd5\x5d\xa7\x54\xaf\x6d\x9f\x87\x8f\x08\x7e\x99\x85\x9d" -+"\xa2\x1a\x98\x5f\xfc\x80\x07\x92\x7b\x74\x8f\x79\x1b\x46\x4f\x56\x4f\x68\xa7\x75\xb7\xbe\xbb\xa2\xb1\xa8\x1f\xa0\xa6\x92\xa1\x8d" -+"\xbc\x08\x8e\xf8\x0a\x15\xf7\x03\x4f\xa3\x67\x8f\xfb\x08\xfb\x06\xc8\x74\xae\x87\xf7\x09\x08\x0e\x32\x1d\xfb\x66\xf8\x1a\xbb\x1d" -+"\x87\x85\x85\x1e\x0e\x38\xca\xf8\x7d\x15\xd0\xab\xb6\xbe\xbe\x1a\xa7\x76\xa3\x72\x74\x77\x76\x73\x81\x8f\x82\x93\x84\x1e\x99\x7e" -+"\x8e\x86\x81\x1a\x73\x74\x75\x5c\x77\x1e\xf7\x8c\x49\x15\x4d\x83\x81\x8a\x4b\x86\x85\x78\x18\x8e\xa0\x8b\x8b\x92\x1b\x97\x96\x82" -+"\x80\x84\x88\x7d\x85\x77\x1f\x21\xfb\xf5\x05\xd3\x06\xac\xf7\x06\x9b\xc3\xa5\xb8\xbe\xcb\x19\xd6\xc6\xaf\xa9\xa8\x1b\x99\x96\x7e" -+"\x7a\x80\x88\x7e\x85\x76\x1f\x3e\xfb\x8e\x05\x87\x80\x89\x7f\x84\x1a\x73\x9c\x7b\xa4\xb1\xb6\xab\xca\xba\x1e\x82\x94\x05\x67\x6e" -+"\x72\x76\x7d\x1b\x84\x85\x91\x93\x8f\x8d\x93\x8d\x95\x1f\xd3\xf7\x8d\x05\x90\x9d\x8e\x9f\x9d\x1a\xb2\x77\xa2\x6a\x4f\x4b\x51\xfb" -+"\x26\x25\x1e\x0e\x32\x1d\xaf\xf8\xc1\xbe\x1d\x32\x1d\xfc\x0b\xfc\x0a\x30\x1d\xf7\xe8\xf8\xa4\xf7\x6c\x15\xf7\x83\xc8\xfb\x60\x06" -+"\xe3\xf7\x2f\x05\xf7\x08\xc9\x3a\x06\xac\xc6\x61\xa3\x5c\x38\x05\xfb\x23\xa7\x0a\x37\xdc\x69\x1e\x6a\x52\xb6\x74\xb1\xce\x05\x88" -+"\xa4\x99\x8a\xb4\x1b\xf7\xac\xc9\xfb\xb7\x06\x77\x85\x8b\x8c\x81\x1f\xab\xf7\x2d\x15\x3a\xfb\x21\x57\x9d\x6c\xbe\x88\xd3\x19\xf7" -+"\xb6\xf7\x6c\x15\x33\xfb\x2f\x05\xfb\x5e\x06\x91\xf6\xc3\xbd\xf7\x01\x89\x08\x0e\xf7\xe8\xf8\xcf\xf7\xd4\x15\xf7\x49\xcd\xfb\x28" -+"\x06\xba\xe8\x50\xa9\x4d\xfb\x0f\x05\xfb\xae\x49\xf7\x8d\x06\x47\xfb\x1a\x05\xfb\x49\x49\xf7\x28\x06\x5c\x2e\xc6\x6d\xc9\xf7\x0f" -+"\x05\xf7\xae\xcd\xfb\x8d\x06\x0e\xfb\x6c\xf7\x8f\xf7\x51\x15\x8a\xc6\x87\xbd\x84\xb2\x08\xd2\x7d\x72\xaf\x65\x1b\x5b\x61\x54\x38" -+"\x7e\x1f\x9b\x85\x05\xbe\x96\xa4\xb3\xa0\x1b\x9b\x93\x7d\x68\x92\x1f\x96\x52\x96\xfb\x0e\x4d\x1a\x51\x8a\x72\x88\x69\x1e\xa0\x06" -+"\x98\x9c\x8b\x8b\xa7\xae\xcd\xde\x93\x97\xaf\xc8\x08\xb8\xdb\xa4\xcb\xb5\x1a\xb0\x73\xa8\x6d\x74\x78\x79\x73\x7c\x93\x7c\x9a\x83" -+"\x1e\x9e\x7f\x8f\x86\x7c\x1a\x54\x5c\x2c\x40\x2a\x1e\x0e\x2b\x1d\xf7\x36\xf7\x7a\x3e\x1d\x2b\x1d\xfb\x1c\xd5\xaf\x1d\x93\xfb\x34" -+"\xac\x1d\x2b\x1d\xf7\x4a\xf7\x37\x29\x1d\xb9\xf7\x7c\xf8\x4c\x15\xfb\x0c\x32\x58\x35\xfb\x02\x1a\x2b\xc0\x46\xd3\xbf\xbc\xac\xcd" -+"\xbc\x1e\x4b\x9a\xad\x68\xbc\x1b\xf7\x02\xf4\xf7\x36\xf7\x40\xcf\x6a\xbf\x61\x74\x77\x78\x74\x7b\x93\x7c\x9c\x7b\x1f\xb6\x63\x92" -+"\x7e\x61\x1a\xfb\x09\x33\xfb\x14\x3c\x63\x6f\xad\xd0\x7d\x1e\xc1\xe6\x9d\xb8\xb9\x1a\xa6\x80\x9a\x77\x5e\x6e\x4b\x28\x78\x8c\x7d" -+"\x8e\x6e\x1e\x4c\x5f\x58\x64\x65\x1b\x65\x74\xae\xc4\xee\xc0\xf7\x2a\xc7\xd2\x1f\x0e\xb1\xf8\x22\xf8\x76\x15\xb5\x06\xa0\xba\x05" -+"\xa3\xbe\x98\xb3\xa0\x1a\x9f\x81\x96\x78\x62\x7d\x6e\x22\x80\x1e\xfb\x43\x29\x15\xfb\x0c\x32\x58\x36\xfb\x03\x1a\x2b\xc0\x46\xd3" -+"\xbf\xbd\xac\xcd\xbb\x1e\x4b\x9a\xad\x68\xbc\x1b\xf7\x02\xf4\xf7\x36\xf7\x40\xcf\x6a\xbf\x61\x74\x77\x78\x74\x7c\x94\x7b\x9b\x7b" -+"\x1f\xb7\x63\x92\x7d\x61\x1a\xfb\x08\x33\xfb\x14\x3b\x63\x70\xad\xd0\x7c\x1e\xc1\xe6\x9d\xb8\xb9\x1a\xa6\x80\x9a\x76\x5f\x6e\x4a" -+"\x29\x77\x8c\x7d\x8e\x6f\x1e\x4c\x5f\x59\x64\x64\x1b\x65\x74\xae\xc4\xee\xc0\xf7\x29\xc7\xd3\x1f\x0e\x83\x1d\x0e\x83\x1d\x8a\xca" -+"\x15\xb5\x06\xa1\xba\x05\xa1\xbc\x99\xb5\x9f\x1a\xa0\x81\x96\x78\x62\x7d\x6f\x21\x81\x1e\x0e\xf7\xd3\x93\x16\xfa\x56\xd3\xfe\x0e" -+"\xfa\x03\x43\x06\x0e\x70\x1d\xc9\xf8\x74\x3b\x0a\xf7\x03\xf9\x36\x15\xa2\xb9\xaa\x94\xb1\x1b\xed\xc6\x2a\xfb\x35\x6d\x89\x73\x86" -+"\x5b\x1f\xbe\x4b\x67\x9a\x58\x1b\x5b\x65\x7a\x68\x68\x1f\x5c\x5c\x70\x4a\x4a\x1a\x20\xde\x35\xf3\xc8\xc1\xa5\xbb\xb3\x1e\xc3\xd0" -+"\xb1\xf7\x1d\xf7\x1e\x1a\xf7\x57\xfb\x08\xf7\x2a\xfb\x2b\x64\x68\x83\x77\x54\x1e\xf7\xc0\xfc\x31\x15\x7a\xfb\x0a\x7d\x55\x6f\x5d" -+"\x08\x5c\x6f\x65\x71\x64\x1b\x54\x69\xbe\xe0\xf7\x08\xcd\xe9\xdd\xb0\xa5\x7e\x61\xb5\x1f\x0e\xf7\x82\xf7\x79\x62\x0a\xf8\x51\x67" -+"\x15\x53\x06\x9d\xcf\x05\x8c\x8d\x8b\x8d\x8c\x1a\x92\x8c\x87\x8f\x85\x1b\x83\x8b\x8b\x83\x85\x1f\x6c\x64\x68\x6f\x70\x82\x08\x77" -+"\x83\x86\x86\x82\x1a\x88\x8b\x89\x8c\x87\x1e\xbe\x06\x59\xfb\x51\x89\x82\x05\x8a\x8a\x89\x8a\x88\x1e\x84\x72\x86\x76\x83\x1a\x7a" -+"\x9c\x7e\xa0\xae\xa1\x9e\xd3\xbc\x1e\x7b\x94\x05\x5c\x67\x80\x81\x82\x1b\x87\x88\x8f\x8f\x8c\x8b\x8d\x8c\x8d\x1f\xc8\xf7\x7c\x05" -+"\xc7\x06\x0e\x20\xf7\xad\xf8\x52\x15\x4f\x86\x61\x79\x5e\x63\x08\x4e\x54\x65\x35\x35\x1a\x2b\xbf\x52\xed\x7f\x1e\x5b\xfb\x54\x05" -+"\xc7\x06\xbc\xf7\x54\xda\x94\xbd\xa2\xbf\xbc\x19\xc9\xc7\xb3\xe3\xd9\x1a\xdf\x54\xcb\x43\x68\x68\x7b\x6e\x72\x1e\x78\x76\x7e\x6e" -+"\x7c\x4e\x47\xfb\xa4\x18\x54\x9e\x75\xac\xcb\x1a\xe2\xb0\xf7\x02\xb8\xbc\x1e\xa3\xa5\x9f\x97\xaf\x96\x08\xb8\xfb\x1a\x15\x97\xbb" -+"\x90\x9a\x93\x96\x08\x9a\x96\x99\x93\x9a\x1b\xb0\xa7\x5f\x4f\x3e\x6a\x31\x5d\x5e\x1f\x6a\x6a\x6c\x7c\x52\x81\x08\x0e\xfb\x33\xf8" -+"\xd1\xf8\x46\x15\xfc\x18\x06\x5d\x81\x88\x75\x6b\x1f\x27\x45\x96\x77\xd0\xb0\xab\x94\xcf\x8a\x19\x40\xfb\x61\x86\x80\x5d\x63\x69" -+"\x72\x8b\x8b\x82\x81\x08\x7d\x7c\x83\x79\x7b\x1a\x77\x97\x80\xa2\xae\xa5\x9f\xb9\xa3\x1e\x9c\xad\xa3\xcd\x9f\xd0\x93\xa7\x91\x9e" -+"\x8d\x91\xa6\xde\x18\xf7\x5d\x06\x56\x63\x74\x6b\x7b\x51\x69\xfb\x1c\x18\x82\x69\x8a\x85\x7e\x1a\x71\x97\x71\x97\x8d\x8d\x8c\x8f" -+"\x97\x1e\xf7\x09\xb9\x8c\x9f\x05\x7d\x62\x8b\x8b\x83\x1b\x7c\x7d\x99\x99\x90\x8b\x8b\x95\xb3\x1f\xa8\xf7\x04\xa0\xe3\x8f\x96\x9e" -+"\xa9\x19\xf7\x09\x06\x0e\xf7\xe8\xf9\x45\xf9\x55\x15\xfd\x72\x07\x54\x8a\x78\x77\x54\xbb\x0a\xf9\x3b\x07\xc4\xa0\xa2\xc0\x1e\x9c" -+"\x9d\xfd\x9f\x79\x9b\x06\xc1\x9f\x75\x51\x8c\x1f\xfd\x3b\x07\x54\x8a\x77\x77\x55\xbb\x0a\xf9\x72\x07\x0e\xf7\xe8\xf9\x93\xc9\x15" -+"\xfb\xb7\x06\xfb\x0d\x57\xc2\xf7\x16\xf7\x15\xbf\xc3\xf7\x0d\x1f\xf7\xb7\xc9\xfb\xac\xcd\x0a\x43\x2b\x1a\xfb\x07\xb8\x37\xca\x0a" -+"\x06\x0e\xf7\xe8\xf7\x7d\xc9\x15\x4d\xf7\xac\x07\xde\xae\x92\xa4\xb1\x1f\xcc\xb7\xac\xd3\xf2\x1a\xf6\x5c\xe0\x3e\xac\x1e\x99\x69" -+"\x70\x8f\x46\x1b\xfb\xac\x4d\xf7\xb7\x06\xf7\x0d\xbf\x54\xfb\x16\xfb\x16\x57\x54\xfb\x0d\x1f\x0e\x64\xf8\x47\xf8\x46\x15\x43\x06" -+"\xfb\x03\xfc\x33\x05\x55\x92\x6e\xa8\xbb\x1a\xa2\x91\xb1\x93\xa8\x1e\xb1\xf7\x23\x05\x90\x9e\x8e\x9e\x99\x1a\xaa\x78\xa4\x72\x6d" -+"\x67\x77\x6b\x6e\x1e\x78\x76\x7f\x78\x74\x5f\x9a\x84\x18\xc5\xaa\xac\xaf\xa3\x1b\x94\x90\x85\x80\x84\x8a\x86\x85\x75\x1f\x6a\xfb" -+"\x0f\x05\x81\x66\x86\x6d\x77\x1a\x62\x9b\x6a\xab\x70\x1e\xa8\x73\xa2\x83\xbb\x86\x5e\xfb\x3c\x18\xd3\x06\xb7\xf7\x39\xe6\x93\xc7" -+"\xad\xbe\xd2\x19\xb6\xc7\xad\xf4\xd5\x1a\xc7\x75\xb2\x68\x72\x75\x74\x72\x7d\x91\x7b\x97\x7c\x1e\xae\x5c\x8f\x83\x69\x1a\x58\x6f" -+"\x46\x64\x5e\x1e\x62\x5b\x5e\x75\x43\x81\x08\x0e\xfb\xdb\xf7\xe0\xf8\x58\x15\x61\xad\x79\xa8\xad\x1a\x99\x92\x94\x96\x8c\x8c\x8b" -+"\x8a\x8d\x1e\x89\x94\x8f\x8a\x94\x1b\xb5\xa8\xa6\xb1\xa5\x79\x9c\x6e\x53\x5c\x56\x4b\x5a\xab\x59\xbd\x70\x1f\x0e\xfb\xa3\x41\x0a" -+"\xf7\x37\xa7\x1d\xc9\xf8\x5b\x4a\x15\xf7\x32\xfa\x68\x53\x94\xfb\x0f\xfd\x95\xfb\x4e\xf8\x0d\xfb\x37\x3c\xa3\x58\xea\xba\x05\x0e" -+"\xfb\xa3\x41\x0a\xf8\x2d\xf9\x29\x21\x0a\xfb\xa3\xf7\x0d\x16\xbf\xf7\x3e\x9c\xb6\xb9\xd7\x08\xc4\xad\xa6\xa9\x9c\x1b\x92\x8f\x87" -+"\x81\x90\x1f\x7a\x93\x93\x86\x9f\x1b\xa9\x9b\x9c\xac\xef\x1d\x61\x62\x4f\x7c\x64\x7c\x67\x18\xc1\xf7\x6d\x88\x8d\x42\x7e\x80\x89" -+"\x44\x7f\x19\x7a\x07\x8f\xa0\x90\xc3\x1d\x60\xfb\xa2\x33\x1d\xf7\x79\xf7\x97\xf7\x00\x15\xf7\x68\xf8\x4a\xcd\xfc\x8c\xfb\xaa\x07" -+"\x0e\xfb\x48\x75\xfb\x40\x15\xda\x06\xc3\xf7\x65\x05\x67\xab\xa0\x80\xb0\x1b\xf7\x0e\xf7\x0b\xf7\x22\xf7\x26\xee\x53\xce\x38\x59" -+"\x57\x76\x66\x63\x1f\x67\x6a\x78\x64\x74\x34\x08\xe8\xbe\x15\xe3\xa2\xb8\xc0\xbe\x1b\xb4\xa4\x6a\x52\x4a\x75\x2d\x6e\x4f\x1f\x4d" -+"\x6d\x61\x6a\x5b\x1b\x6e\x77\x99\xaf\x75\x1f\x0e\xfb\xa3\x31\x0a\xf7\x30\xf7\xf0\x2b\x0a\xfb\xa3\xf7\x21\x81\x15\x8a\x93\x8e\x8b" -+"\x92\x1b\xe0\x6f\x0a\x7b\x06\x77\xfb\x33\x05\x9b\x06\x9c\x94\x8f\x8f\x96\x1b\x98\x94\x89\x83\xa9\x1f\x50\x2d\x7c\x0a\x82\x85\x2c" -+"\x0a\xfb\xa3\x31\x0a\xf7\xa5\xf8\x97\x20\x0a\xfb\xa3\x31\x0a\x83\xfc\x34\x40\x1d\xfb\x87\xf7\xd6\xf8\x17\x15\xa1\x06\xcf\xf7\x21" -+"\x05\x9f\xb5\x9c\xbb\x9c\x1a\x9f\x7d\x98\x75\x76\x75\x7f\x7a\x81\x1e\x7e\x76\x87\x77\x84\x44\x08\xfb\x53\xfb\x20\x15\xa0\x06\xce" -+"\xf7\x22\x05\xae\xd6\x90\x98\x9c\x1a\x9f\x7c\x99\x75\x78\x78\x81\x7a\x7f\x1e\x7d\x77\x86\x76\x84\x44\x08\x0e\xfb\x3b\xf8\xd0\xf8" -+"\x46\x15\xfb\x85\x06\x22\x55\x76\x48\x4d\x1f\x55\x52\x6a\x3b\x44\x1a\x33\xca\x52\xed\xd1\xce\xa7\xbd\xbc\x1e\xbf\xc0\xa8\xcc\xca" -+"\x1a\xc7\x73\xb0\x59\x9e\x1e\xaa\x89\xc4\x88\xcb\x88\xa3\x8a\x05\xfb\x64\x90\x15\x9e\x69\x90\x78\x64\x1a\xfb\x1d\x3d\xfb\x07\x2e" -+"\x51\x68\xb6\xd2\xc0\x9d\xc3\xa9\xb5\x1e\xc2\xb4\xba\xa3\xd5\x1b\x0e\xf7\xe8\xf8\x1b\xf8\x9a\x15\x70\x74\x74\x71\x6f\xa2\x74\xa6" -+"\xa6\xa2\xa2\xa6\xa6\x74\xa2\x70\x1f\xfb\x14\xfb\x00\x15\x92\x36\x96\x62\xa9\x5e\x08\x4c\xb5\xcb\x6b\xde\x1b\xd8\xc7\xa6\xc1\xb5" -+"\x1f\xaf\xba\x9a\xb8\x92\xe8\x80\x59\x80\x75\x71\x6d\x08\x54\x5b\x4f\x71\x3a\x1b\x3a\x4f\xa5\xc2\x5b\x1f\x71\xa9\x80\xa1\x80\xbd" -+"\x08\xf7\xee\xf7\x00\x15\x70\x74\x74\x71\x6f\xa2\x74\xa6\xa6\xa2\xa2\xa6\xa6\x74\xa2\x70\x1f\xfb\x01\xf7\x68\x95\x1d\x89\x5a\x15" -+"\xf7\x45\xf7\x21\xfb\x20\xfb\x44\xfb\x43\xfb\x21\xfb\x21\xfb\x43\xfb\x41\xfb\x23\xf7\x21\xf7\x3e\xf7\x47\xf7\x1e\xf7\x22\xf7\x44" -+"\x1f\x0e\xf7\xe8\xf8\xab\xf7\x99\x15\x7f\x07\x44\x6b\x45\x5a\x66\x1e\x6c\x62\x56\x7a\x57\x1b\x7e\x74\xf8\x77\xa2\x06\xfb\x32\x91" -+"\x3c\xe3\x8e\xf7\x3d\x08\x35\xb9\xb6\x6d\xda\x1b\xcd\xc4\xca\xd4\xd0\x73\xb0\xfb\x01\xef\x1f\xfb\x02\xf1\x7a\xa5\x63\xf7\x09\x7c" -+"\x30\x4d\x30\x23\x39\x08\x3c\x49\x67\x51\x4c\x1a\x40\xc8\x4d\xd4\xb4\xb4\x9c\xa9\xac\x1e\x9e\x9d\x96\x9a\x9c\xb0\x08\x0e\xf7\xe8" -+"\xf7\xee\xf9\x5b\x15\xf7\x85\x06\xf4\x8a\xa5\x75\x9a\x26\x08\xa2\x06\x82\xf7\x39\x05\xfc\xaf\x06\xf7\x66\xfc\x67\xfb\x6e\xfc\x2c" -+"\x05\xf8\xc8\x06\xbc\xf7\x66\x05\x74\x06\x6f\x3b\x6c\x78\x26\x8c\x08\xfb\xbc\x06\xf7\x49\xf7\xf4\x05\x0e\xf7\xe8\xf7\xcd\xf8\x77" -+"\x15\x6e\x66\x7c\x67\x85\x5b\x08\xfb\x05\x54\xf7\x05\x06\x8f\x61\x9e\x5b\xa6\x6a\x3b\x3c\x18\xb1\x65\xdb\xdb\xb1\x6e\xb2\x7b\xb8" -+"\x86\x19\xfb\x05\xc1\xf7\x05\x07\xb7\x90\xb9\x9e\xab\xa5\xdb\x3b\x18\xb0\xb1\x3b\xdb\xa8\xae\x9c\xb5\x90\xb8\x19\xf7\x05\xc2\xfb" -+"\x05\x06\x86\xb6\x79\xb7\x70\xad\xda\xda\x18\x66\xb1\x3b\x3b\x69\xa6\x62\x9c\x5c\x92\x19\xf7\x04\x55\xfb\x04\x07\x60\x86\x5f\x79" -+"\x68\x6f\x3b\xdb\x18\x65\x65\x05\xf7\x9c\x55\x15\xec\xd8\x40\x2d\x2b\x3f\x3e\x2c\x2d\x3e\xd8\xea\xe7\xd8\xd9\xe6\x1f\x0e\xfb\xc2" -+"\xf8\x50\xf8\x46\x15\xfb\xa7\x06\x60\x7a\x86\x75\x6f\x1f\x27\x3d\x99\x75\xd6\xba\xa7\x94\xdc\x8c\x19\xb4\x06\x4e\x59\x7c\x76\x79" -+"\x4d\x64\xfb\x2c\x18\x85\x75\x8a\x84\x83\x1a\x73\x99\x71\x97\x8c\x1e\x8e\x8f\x8c\x8e\x91\x1f\xf7\x0f\xba\x90\xa1\x05\x81\x71\x72" -+"\x84\x7d\x1b\x7d\x85\x92\x9a\x94\x8b\x8b\x96\xb7\x1f\xb1\xf7\x27\x98\xbc\x91\x9a\x9d\xa8\x19\xf7\x46\x06\x0e\xfc\x12\xf7\x4a\xf7" -+"\xc0\x15\xa4\xeb\x05\xdf\x06\x90\xab\x05\x45\x1d\x8c\x1a\x92\xa0\x1d\x72\x2b\x05\x38\x06\x83\x68\x05\xdd\x06\x65\xfb\x24\x89\x81" -+"\x8a\x88\x93\x1d\xc0\xf7\x5e\x05\xf3\x06\x92\xae\x05\x0e\xfb\xe2\xf7\xbd\xf8\x40\x15\x3b\x06\xa7\xf2\x05\x8c\x8d\x8b\x8d\x8d\x1a" -+"\x91\x4f\x1d\x85\xb3\x9a\x1d\x0e\xfc\x12\xf0\x81\x15\xb3\x93\xab\xa9\xc1\xdd\x7e\x92\x18\x4b\x59\x7c\x7c\x7b\x1b\x82\x85\x92\x98" -+"\x8c\x8b\x8b\x8c\x8f\x1f\xe3\xf7\xe1\x05\xdf\x06\x90\xab\x05\x45\x1d\x8d\x1a\x91\x89\x8e\x85\x85\x88\x8a\x83\x85\x1e\x63\x57\x4f" -+"\x5a\x6b\x82\x08\x72\x83\x84\x85\x81\x1a\x84\xd5\x07\x43\xfb\xa7\x89\x82\x05\x8a\x89\x86\x89\x85\x1e\x82\x6c\x83\x6b\x80\x1a\x7c" -+"\x95\x7f\x9c\x85\x1e\x54\x32\x7c\x0a\x81\x86\x2c\x0a\xfb\x3d\xf7\xf6\xf9\x27\x15\x33\x39\x3f\xfb\x0f\x5d\x1f\x66\x25\x6e\xfb\x16" -+"\x47\x1a\xfb\x01\xb8\x4e\xda\xdc\xd7\xca\xf4\xb8\x1e\xb8\xf2\xae\xf7\x2c\xe4\x1a\xea\x5a\xc9\x40\x1e\xfb\x3b\xfb\xba\x15\xad\xf7" -+"\x0f\x9c\xba\xa7\xba\x08\xb0\xa1\xa9\xa0\xa9\x1b\xb3\xa4\x6b\x59\x62\x83\x58\x74\x26\x1f\x86\x71\x15\x6e\xfb\x07\x76\x47\x77\x5e" -+"\x08\x47\x6e\x68\x69\x62\x1b\x63\x71\xab\xbd\xbc\x9a\xde\xa9\xf7\x08\x1f\x0e\xfb\xdb\xf7\x6c\xf8\x76\x15\xb5\x06\xa1\xba\x05\xa2" -+"\xbe\x98\xb3\x9f\x1a\xa0\x81\x96\x78\x62\x7d\x6e\x22\x81\x1e\x0e\xfb\x3b\x2a\x1d\x6d\xf8\xb2\x15\x4c\x72\x5a\x67\x4e\x1b\x4b\x63" -+"\xaf\xca\x87\x75\x0a\x2a\x1d\xfb\xbe\xf8\x16\xaf\x1d\x92\xfb\x34\x15\xaf\x9d\x0a\x85\x1e\x0e\x2a\x1d\x9f\xf8\x6f\x15\xfb\xc1\x46" -+"\x1d\xaf\x32\x15\x7e\x60\x05\xf8\x8e\x06\x98\xb6\x05\xfc\xae\xfb\x09\x15\x7e\x60\x05\xf8\x8e\x06\x98\xb6\x05\x0e\xfc\x2e\x0e\xfb" -+"\xdb\xab\x0a\x23\x50\x1d\xfc\x76\xfd\x8c\x30\x1d\xfc\x12\xf7\xbc\xf8\x40\x15\x45\x1d\x8c\x1a\x92\x4f\x1d\xfb\xc3\xfd\x2e\x33\x1d" -+"\xfb\xdb\xf8\x2f\xf8\xdb\x29\x1d\xfc\x2e\x46\x0a\x42\xf8\x60\x16\x97\xf9\x2a\x05\x78\x06\xfc\x8d\xfd\x2a\x05\xf8\x34\xb4\x15\xfb" -+"\x97\x06\x71\x7c\x92\x98\x93\x95\x9e\x97\x9c\x1f\xf7\xb6\xf8\x15\x05\x0e\xca\xf9\x58\xf7\x37\x15\x6d\x06\x65\x4b\x75\x7c\x4c\x88" -+"\x08\x57\x06\x78\x83\x8a\x89\x75\x1f\x90\x8e\x91\x8e\x91\x8e\xb8\xa2\x18\xc8\xab\x9b\x97\xb1\xb8\x08\xcc\xd7\xae\xe5\xe4\x1a\xd3" -+"\x74\xc5\x62\xae\x1e\xaf\x5f\x48\xa1\x45\x1b\xfb\x0a\xfb\x06\x57\x33\x41\x1f\x4a\x3f\x67\x2c\x2f\x1a\x2e\xb0\x50\xe2\x5f\x1e\x8d" -+"\x79\x7e\x8c\x83\x1b\x59\x06\x45\x7b\x9a\xce\x89\x1f\x6d\x06\x82\xfb\x37\x05\xf7\xa2\x06\xa0\xd9\x68\x9b\x7d\x97\x7d\xa0\x19\x76" -+"\xaa\x80\xb4\xb6\x1a\xdf\xa5\xe9\xb6\xd3\x1e\xee\xc6\xda\xc0\xe3\x1b\xeb\xc0\x52\x24\x2f\x65\xfb\x05\x52\x38\x1f\x62\x51\x61\x6a" -+"\x49\x70\x77\x3d\x18\xf7\xa2\x06\x0e\xfb\x32\xf7\x27\xf8\x46\x15\x46\xfb\x97\x7e\x59\x6e\x32\x78\x5b\x19\x67\x30\x88\x80\x76\x1a" -+"\x72\x9d\x79\xa4\xa9\x9a\xa2\xb9\x92\x8b\x95\x8a\x96\x1e\x8a\x9f\x8a\x9a\x92\x1a\x98\x8c\x96\x8d\xa2\x1e\x7c\x97\x96\x85\x9c\x1b" -+"\xa8\xad\x9e\xb1\xb3\x1f\xb0\xaf\xa7\xaf\xc0\xde\x68\xfb\x17\x18\x86\x7a\x89\x7c\x80\x1a\x75\x9b\x7b\xa0\xaf\xbd\xae\xbf\xb1\x1e" -+"\x81\x95\x05\x6b\x6e\x76\x7b\x7e\x1b\x84\x87\x91\x94\x92\x90\xa4\x91\xa0\x1f\xe2\xf7\xde\x05\x44\x06\x75\x34\x73\x31\x7a\x67\x54" -+"\x3f\x19\x49\x5b\x65\x69\x6f\x1b\x76\x80\x95\x9f\x95\x8b\x8c\x92\xa3\x1f\xe1\xf7\xd8\x05\x0e\xfb\x92\xf7\xed\xf8\x50\x15\xfb\x2e" -+"\xfb\x27\xfb\x30\xfb\x39\x36\xb4\x62\xe1\x94\x95\x8b\x8c\x92\x1f\x8f\xac\x8b\x8b\x95\x1b\xa9\x99\x81\x77\x6b\x68\x6a\x6b\x81\x81" -+"\x8d\x90\x7f\x1f\x92\x75\x89\x8c\x80\x1b\x70\x78\x7b\x74\x73\xa0\x7c\xaa\xd8\xe7\xe1\xd3\xb6\x70\xa7\x61\x83\x82\x8a\x8a\x82\x1f" -+"\x87\x6a\x8b\x8b\x7d\x1b\x5a\x78\x9d\xba\xbd\x9d\xcf\xa7\xc6\x1f\xc1\xa5\xb0\xa9\xb2\x1b\x9d\x9f\x83\x7a\xa3\x1f\x79\xa4\x94\x87" -+"\x99\x1b\xa5\xa0\xa0\xa4\xab\x6d\x9f\x5e\x1f\x0e\x5a\x5b\x0a\xfb\x13\xf7\x63\x15\xab\x06\xfb\x0b\xf7\x2b\x05\x9b\x7e\x7f\x92\x7c" -+"\x1b\x77\x7c\x7c\x78\x7e\x91\x82\x98\x80\x1f\x0e\xc9\x4e\x1d\xf7\xd1\xf8\xfe\x15\xaa\x06\xfb\x0b\xf7\x2b\x05\x9b\x7e\x7f\x92\x7c" -+"\x1b\x77\x7c\x7c\x78\x7e\x91\x82\x99\x80\x1f\x0e\xfb\x6c\x7e\x1d\xf7\x62\xf7\xb4\x15\xaa\x06\xfb\x08\xf7\x2b\x05\x9b\x7e\x80\x92" -+"\x7c\x1b\x76\x7c\x7c\x77\x7f\x90\x82\x99\x80\x1f\x0e\x74\x1d\xf7\x6d\xf8\x13\x15\xab\x06\xfb\x0b\xf7\x2b\x05\x9b\x7e\x80\x92\x7b" -+"\x1b\x77\x7c\x7d\x77\x7e\x91\x82\x98\x80\x1f\x0e\x5a\xf7\xde\xf8\xee\x15\xa0\x91\x99\x91\xb4\x1b\xf7\x3e\xad\x7e\x49\x1f\x80\x07" -+"\x8a\x80\x8a\x87\x8a\x7c\xa0\x89\xab\xf7\x2f\x05\xfc\x86\x7b\x06\xba\x87\x8f\x8a\x97\x84\x08\x94\x86\x90\x80\x7e\x1a\x7b\x87\x72" -+"\x84\x72\x1e\x5b\xfb\x41\x26\x8a\x82\x6b\x05\xf0\x06\x49\xfb\x86\x79\x4e\x84\x85\x52\x83\x19\x7b\xf7\x90\x9b\x07\x51\x8f\x79\x95" -+"\xaa\x1a\x94\x8d\x98\x92\xa2\x1e\xc9\xf7\x77\xf4\x88\x9b\x8b\x98\x86\x19\x9a\x86\x94\x7a\x77\x1a\x7a\x89\x7f\x85\x6c\x1e\x9c\x86" -+"\xd7\xf7\x81\x79\x90\x5e\x30\x89\x8a\xfb\x3c\x89\x19\x0e\xfb\xa7\xf7\x91\xf7\x86\x15\x8f\x8d\x8f\x8d\x05\xca\xa7\xa9\xaf\xbc\x1a" -+"\xbf\x63\xae\x4f\x6d\x6b\x81\x79\x72\x1e\x7b\x80\x82\x83\x66\x67\x97\x7d\x18\xb4\xb5\xad\x9d\xae\x1b\xac\xa3\x73\x68\x6e\x7b\x6e" -+"\x72\x79\x1f\x7f\x82\x7b\x82\x73\x7e\x08\xfb\x2e\x06\x82\x68\x05\xe7\x06\x4f\x6e\x6f\x66\x59\x1a\x4b\xb7\x61\xce\xc3\xa8\x9c\xd9" -+"\xd8\x1e\x7f\x97\x05\x5d\x5d\x64\x76\x61\x1b\x60\x71\xa7\xb9\xb8\xa7\xb0\xc0\xa5\x1f\xf7\x34\x06\x94\xae\x05\x0e\xf7\x87\xf8\x52" -+"\xf7\xfa\x15\x7f\x06\x35\xf1\x4f\xf5\xbc\x1a\x9f\x98\x94\xaa\x1e\x9c\x24\x0a\xfb\x53\x06\x86\x79\xb2\x87\x9e\x78\xc5\x27\x19\xae" -+"\x4f\x9b\x73\xb1\x54\xfb\xbc\xfb\xaf\x18\x59\x5c\x70\x79\x5c\x7b\x86\x79\x18\xf7\x78\x06\x90\x9d\x05\x71\x8e\x84\x8f\x99\x1a\x93" -+"\x8f\x91\x99\x97\x1e\x8d\x8e\x91\x90\x92\x92\xf7\x8e\xf7\x89\x18\x9c\x06\x54\xfb\x70\x7a\x46\x79\x49\x1d\xf7\x94\x06\x8f\x9d\x05" -+"\x54\x8c\x7b\x96\xad\x1a\x95\x8c\x92\x90\x9e\x1e\xc4\xf7\x75\x05\x9c\x06\xf7\x00\xfb\x84\x05\x98\x6f\x8b\x8b\x83\x1a\x79\x78\x7e" -+"\x6e\x1e\x86\x79\x05\xbf\xba\x1d\x9d\x06\xb7\xf7\x55\x45\x8a\x7b\x97\x61\xe4\x19\xfb\x06\xf7\x85\xd9\xc9\xa8\xa3\xd4\xca\x19\xf7" -+"\x06\xee\xaa\x9f\xb5\x8f\x90\x9d\x18\xfb\x53\x22\x1d\x9c\x06\xa1\x96\x87\x82\x77\x73\x73\x2b\x3c\x1f\x74\x79\x65\x6b\x6f\x72\x6d" -+"\x72\x6e\x72\x6c\x72\x08\x7c\x06\xbd\xf7\x5b\x05\xd4\x9d\x9c\x99\xd4\x1b\x8f\x2e\x1d\x87\x79\x05\xc1\x8a\x9c\x81\x69\x1a\x82\x89" -+"\x7c\x88\x7f\x1e\x0e\xf7\x59\xf8\x81\xf8\x46\x15\x81\x50\x4e\x25\x2c\xfb\x09\x08\xa1\xc8\x92\xaa\xb7\x1a\xe5\x62\xc4\x4b\x4e\x56" -+"\x69\x3e\x50\x1e\x98\x81\x05\xc0\xb4\xb2\xa5\xb1\x1b\xb5\xa7\x60\x4b\x53\x78\x42\x6c\x50\x1f\x4e\x6c\x6c\x6e\x69\x1b\x77\x7b\x95" -+"\x98\x93\x8d\x8e\x9c\x99\x1f\x97\x94\x90\x96\x97\x1a\xa1\x7c\x9b\x75\x6e\x74\x70\x67\x5e\xad\x6a\xbc\xe8\xef\xe6\xf7\x60\xf7\x15" -+"\x1e\x3a\xfb\xb0\x05\xcc\x06\xa1\xd1\xc4\xe9\xe0\xf3\x08\x76\x49\x85\x6f\x64\x1a\x5a\x99\x5c\x9f\x78\x1e\x94\x82\x93\x88\xa0\x85" -+"\x08\xba\x80\xa2\x69\x51\x1a\x7b\x8b\x7c\x89\x79\x1e\x9d\x06\xb8\xf7\x52\x05\x63\x77\x8d\x90\x7b\x1f\x69\x96\x7a\xaa\xbd\x1a\xf7" -+"\x12\xdc\xf7\x29\xcf\x9d\x99\x80\x7f\x82\x87\x85\x7e\x81\x1e\x7e\x80\x87\x83\x7d\x1a\x74\x9a\x7c\xa0\xa9\xa2\xa8\xaf\xb7\x67\xae" -+"\x5f\x2f\x2c\x34\xfb\x69\xfb\x20\x1e\xde\xf7\xbb\x05\x0e\xfb\x39\xf7\x65\x81\x15\x93\x06\xf7\x1d\xf2\xe5\xf7\x0b\x89\x1d\x9c\x06" -+"\xec\xa7\xbd\xbb\xd2\x1b\xcc\xb7\x5d\x48\x37\x42\x52\x20\x81\x84\x8b\x8d\x7b\x1f\x7f\x66\x05\x8c\x97\x90\x8b\x94\x1b\xe8\xc0\x5d" -+"\x3d\x29\x43\x44\x29\x3f\x58\xb0\xdb\x68\x1f\x73\x82\xaa\x2f\xc8\x54\xdf\x7f\x19\x54\x32\x2a\x0a\x98\x93\x8d\x96\x4a\x1d\x75\x7a" -+"\x8f\x96\x6e\x3c\x0a\x82\x84\x47\x1d\xfb\xa2\xf7\x31\x80\x15\xf0\x8a\xda\xc8\xd9\x1a\xc3\x67\xac\x3c\x9b\x1e\xb9\x8e\xa0\x87\x1d" -+"\x83\x6e\x05\xa2\x06\xd1\xa9\x76\x59\x43\x5b\x5b\x45\x53\x66\xa3\xc6\x69\x1f\x7b\x83\xa1\x4e\xb7\x65\xc7\x81\x19\x54\x33\x2a\x0a" -+"\x98\x93\x8d\x96\x85\x0a\x81\x86\x2c\x0a\x86\xf7\x97\xf7\xf1\x15\xf7\x1c\xfb\x8d\x05\x96\x76\x90\x7d\x7f\x1a\x75\x7a\x82\x5e\x87" -+"\x1e\x85\x79\x05\xc9\xba\x1d\x9c\x06\xb8\xf7\x55\x44\x8a\x81\x93\x5a\xe7\x19\xfb\x19\xf7\x93\xf7\x9e\xf7\x6b\xa5\x1d\xfb\xad\xfb" -+"\x7e\xa6\x1d\x7c\x86\x7d\xb6\x1d\x68\x7f\xe2\x1d\x9a\x8f\x9b\x1e\x0e\xfb\x5b\xf7\x6f\xf8\x4b\x15\x5c\x7f\x52\x82\x61\x88\x85\x78" -+"\x18\xf5\x1d\x81\x89\x81\x85\x74\x1f\x29\xfb\xe3\x05\xd2\x06\xc9\xf7\x69\x05\x8c\x97\x91\x8c\x8e\x1b\x96\x95\x85\x80\x93\x1f\x91" -+"\x82\x8d\x85\x98\x5e\xa6\x2a\x99\x71\xae\x77\x08\xac\x76\x95\x77\x61\x1a\x7f\x8a\x77\x8a\x77\x1e\x9d\x06\xb8\xf7\x52\x45\x8c\x86" -+"\x8f\x79\xcd\x19\x78\xd3\x74\xab\x65\x92\xa8\x96\xae\xb1\xab\xc3\x08\xb0\x9f\x96\x95\x9e\x1b\x93\x91\x88\x84\x91\x1f\x81\x94\x93" -+"\x87\x98\x1b\xa7\x9d\x9a\xa3\xa6\x75\x9c\x69\x61\x71\x76\x49\x63\x1f\x5a\x39\x69\x71\x4a\x83\x08\x0e\x86\xf7\xbc\xf8\x1c\x15\x6c" -+"\x71\xa6\x1d\x7d\x86\x7c\xb6\x1d\x69\x7e\xe2\x1d\x9b\x8f\x9a\x1e\xd1\xf7\x8d\x9b\x6e\x4c\xfb\x6f\x05\xcb\x06\xb4\xf7\x23\xd9\xfb" -+"\x24\x05\x96\x77\x90\x7c\x7f\x1a\x76\x7a\x81\x5e\x87\x1e\x85\x79\x05\xf7\x9e\x06\x91\x9d\x4c\x8a\x6e\xa2\x5c\xe5\x19\xfb\x10\xf7" -+"\x81\x95\xac\xf7\x8b\xf7\x5c\xa5\x1d\xfb\x3b\xfb\x1f\xab\xf7\x04\x05\x4c\x06\x0e\xfb\x5b\xf7\x5d\xf7\x8d\x15\x7e\x86\x81\x89\x7a" -+"\x89\xc5\xf7\x5b\x18\x59\x7f\x55\x82\x61\x88\x85\x78\x18\x8d\x9b\x92\x8c\x94\x1b\x9e\x93\x84\x7c\x81\x89\x82\x85\x74\x1f\x29\xfb" -+"\xe3\x05\xd2\x06\xc9\xf7\x69\x05\x8c\x96\x92\x8c\x8c\x1b\x92\x8f\x8a\x87\x92\x1f\x60\xfb\x29\x05\xaf\x06\xab\xf7\x00\x05\x89\x07" -+"\xa2\x3a\x92\x75\x9a\x6f\x08\x6e\x9a\xa3\x79\xa5\x1b\xb3\xae\xad\xeb\xc4\x1f\x7c\x94\x05\x55\x68\x76\x78\x6f\x1b\x74\x82\x98\xc0" -+"\x7c\x1f\x79\xd2\x74\xab\x66\x92\x08\x8d\x07\xa4\x95\xa9\xaa\xa7\xb8\xa3\xb4\xc0\x0a\x92\x88\x87\x8f\x1f\x7d\x98\x91\x88\x99\x1b" -+"\xa7\x9d\x9a\xa3\xa6\x75\x9c\x69\x61\x72\x76\x49\x62\x1f\x73\x62\x78\x74\x76\x78\xad\xf7\x0b\x18\x66\x06\x0e\x8f\xf7\x9f\xf8\x02" -+"\x15\xbd\xf7\x54\x05\xd3\x9e\x9d\x99\xd5\x21\x1d\xfc\x14\x06\x61\xfb\x36\x05\x9a\x06\xe1\xaa\xbb\xb3\xd5\x1b\xcc\x06\xfb\x20\xfc" -+"\x9d\x82\x0a\xcd\xf7\x8d\x86\x1d\x83\x89\x88\x78\x7b\x1e\x0e\x4d\xf7\xf0\xf8\x54\x15\xfb\x83\x06\x6d\xfb\x05\x05\x9a\x06\xbf\xa5" -+"\xb7\xa4\xcc\x1b\xb1\x06\x8a\x88\x78\x46\x30\xfb\xe8\x05\xd4\x06\xc4\xf7\x6c\x05\x8c\x98\x91\x8c\x8c\x1b\xa0\x99\x7c\x6a\x95\x1f" -+"\xa3\x39\x93\x74\x9b\x6f\x08\x6d\x9b\xa4\x79\xa5\x1b\xb3\xad\xad\xec\xc4\x1f\x7c\x94\x05\x56\x69\x75\x77\x6f\x1b\x73\x82\x98\xc1" -+"\x7a\x1f\x77\xd4\x73\xab\x63\x92\xa7\x96\xa7\xa8\xa8\xbb\xa2\xb5\x8b\x8b\x8f\x8f\x08\x98\x95\x96\x92\x97\x1b\x91\x93\x88\x87\x8f" -+"\xd1\x0a\xa2\xa7\x75\x9c\x66\x61\x72\x76\x49\x63\x1f\x5b\x38\x6a\x71\x49\x83\x08\x0e\xbf\xf7\x90\xf7\xdf\x15\xf7\x9f\x06\x49\xfb" -+"\x76\x78\x45\x78\x7b\x49\x8a\x20\x1d\xe3\x06\xee\xb4\x6a\x3a\x7e\x8a\x7a\x8a\x78\x1f\x9d\x06\xb8\xf7\x55\x05\x4a\x8c\x75\x96\xac" -+"\x1a\x99\x8e\x9f\x92\xa2\x1e\xf7\x0e\xf8\x3d\x05\xd2\x9f\x9e\x9b\xcf\x21\x1d\xfb\x9b\x06\x83\x4c\x1d\x6c\x1a\x80\x89\x7d\x87\x7d" -+"\x1e\x51\xfb\x58\x05\xfb\x9c\x06\xc1\xf7\x52\x05\xd4\x9f\x9e\x99\xd3\x1b\x90\x2e\x1d\x86\x79\x05\xc0\x8a\x9c\x81\x6d\x1a\x80\x89" -+"\x7d\x86\x7c\x1e\xfb\x17\xfc\x5e\x78\x47\x78\x79\x60\x1d\x91\x9d\x05\x56\x8c\x7a\x95\xaa\x1a\x96\x8d\x96\x90\x9d\x1e\x0e\xfb\x3f" -+"\xf7\x48\xf7\x93\x15\xc2\xf7\x52\x5b\x7f\x51\x81\x63\x89\x19\x85\x78\x05\xf5\x1d\x80\x89\x81\x85\x74\x1f\x29\xfb\xe8\x05\xd2\x06" -+"\xcb\xf7\x73\xf7\x31\x90\x60\xfb\x29\x05\x88\x80\x87\x6e\x7f\x1a\x74\x93\x82\xaa\x81\x1e\xac\x80\x98\x77\x61\x1a\x7d\x8a\x76\x8a" -+"\x77\x1e\x9d\x06\xb8\xf7\x54\x05\x58\x8c\x7a\x90\x99\x1a\x90\x8b\x8c\x92\xa8\x1e\xea\xf7\xde\x05\x44\x06\x59\xfb\x43\x05\x0e\x92" -+"\xf7\xcf\x79\x15\x97\x06\xf2\xda\xb6\xf5\xe6\x1f\x7a\x99\x05\x33\x31\x51\x6d\x39\x1b\xfb\x03\x4b\xd6\xf7\x16\xf7\x0b\xbb\xad\x0a" -+"\xcd\x1b\xe7\xbe\x55\xfb\x00\x95\x1f\x9d\x88\xb0\xf7\x5b\x05\x76\x06\x7b\x83\x81\x85\x77\x1b\x82\x80\x8d\x90\x76\x1f\x96\x5f\x63" -+"\x91\x6a\x1b\xfb\x6a\xfb\x54\xfb\x5c\xfb\x73\xfb\x1b\xdf\x25\xf7\x16\x77\x1f\x58\x39\x2a\x0a\x98\x94\x57\x1d\xb4\xa2\x86\xa8\x44" -+"\x1d\x82\x84\x47\x1d\xfb\x6c\xf7\x4e\x80\x15\xd1\x8e\xc3\xac\xc1\xd2\x7b\x95\x18\x50\x54\x64\x75\x5a\x1b\x52\x69\xb5\xd3\xe0\xae" -+"\xe5\xc3\xc5\x1f\xa9\xa8\xb3\x9d\xb3\x1b\xa2\x99\x83\x7f\x86\x89\x86\x87\x82\x1f\x84\x7e\x89\x85\x81\x1a\x73\x9a\x7d\xa3\xa7\x9f" -+"\x9e\xa6\xba\x51\x0a\x36\xb4\x58\xd9\x7f\x1e\x55\x34\x94\x83\x05\x90\x98\x93\x8d\x96\x4f\x0a\x79\x8f\x96\x6e\x3c\x0a\x81\x85\x47" -+"\x1d\x23\xe6\xf9\x1a\x15\xc3\x83\x8e\x88\x9c\x53\xd8\xfb\xa5\x18\x4e\xfb\x6b\x9f\x1d\xa0\x92\xaa\xa3\xda\x1e\x8e\x93\x8d\x93\x8c" -+"\x8f\xa8\xf1\x18\xf7\x6f\xf7\xa6\xab\xb3\x93\x92\xa9\x9a\x19\x9b\xfb\x51\x7b\x07\xbb\x85\x8b\x8b\x96\x85\x48\x1d\x6f\x5d\x49\x23" -+"\xfb\x0f\x1e\x7a\x77\x85\x83\x7c\x79\x7f\xb8\x86\x9c\x7d\xbd\x08\x72\xe2\x56\x0a\x91\xc7\x91\x1e\x9b\xfb\x83\x07\x0e\xfb\x72\xf7" -+"\x2c\xb9\x15\x62\xfb\x2b\x77\x47\x83\x83\x54\x84\x19\x87\x7d\x05\xf7\x55\x06\x8e\x99\x05\x64\x8f\x81\x92\xa2\x1a\x97\x8e\x9d\x90" -+"\x9e\x1e\xb7\xf7\x37\xf7\x44\xf7\xa5\xb6\xd0\x95\x95\xaa\x92\x19\x94\x8c\x90\x9b\x05\xfb\x1a\x06\x86\x7b\x05\x90\x06\x9f\x94\x86" -+"\x7d\x7f\x80\x75\x72\x62\x1f\xfb\x18\xfb\x65\x75\xf7\x69\x05\x89\xa4\x8a\x95\x95\x1a\xa8\x9b\x9b\xa9\x1e\x92\x06\x90\x9b\x05\xfb" -+"\x4c\x06\x87\x7b\x99\x8a\x96\x8a\x95\x86\x8f\x84\x19\x90\x84\x90\x6d\x95\x34\x08\x0e\x23\xf7\xd7\xf7\x7f\x15\xa0\xd6\xf7\x6f\xf7" -+"\xa6\xab\xb3\x93\x92\xa9\x9a\x19\x9b\xfb\x51\x7b\x07\xbb\x85\x8b\x8b\x96\x85\x48\x1d\x6f\x5d\x48\x23\xfb\x0e\x1e\x7a\x77\x85\x83" -+"\x7c\x79\x7f\xb8\x86\x9c\x7d\xbd\x08\x72\xe2\x56\x0a\x91\xc7\x91\x1e\x9b\xfb\x83\x7b\x07\xc3\x83\x8e\x88\x9c\x53\xd8\xfb\xa5\x18" -+"\x77\x44\x05\x26\x06\x82\x69\x05\xef\x06\x6c\xfb\x02\x9f\x1d\xa1\x92\xa7\xa6\xe5\x1e\x8c\x8f\x05\xf7\x03\x06\x94\xad\x05\x0e\xfb" -+"\x72\xf7\x62\x87\x15\x9c\xc9\xf7\x44\xf7\xa5\xb7\xd0\x94\x95\xaa\x92\x19\x94\x8c\x90\x9b\x05\xfb\x1a\x06\x87\x7b\x05\x8f\x06\x9f" -+"\x94\x86\x7d\x7f\x80\x73\x72\x64\x1f\xfb\x18\xfb\x65\x75\xf7\x69\x05\x88\xaa\x8b\x90\x94\x1a\xa8\x9b\x9b\xa9\x1e\x92\x06\x90\x9b" -+"\x05\xfb\x4b\x06\x86\x7b\x99\x8a\x96\x8a\x95\x86\x8f\x84\x19\x91\x84\x90\x6d\x94\x34\xa3\xfb\x7e\x18\x7e\x59\x05\xfb\x01\x06\x82" -+"\x63\x05\xf6\x06\x7a\x4e\x77\x47\x83\x83\x54\x84\x19\x87\x7d\x05\xf7\x55\x06\x8f\x99\x05\x63\x8f\x81\x92\xa2\x1a\x97\x8e\x9d\x90" -+"\x9e\x1e\x9c\xc8\x05\xf7\x02\x06\x94\xb3\x05\x0e\x51\xf7\xc2\xf7\x9e\x15\xb6\xfb\x47\x05\x8e\x81\x8c\x82\x84\x1a\x70\x76\x7b\x67" -+"\x1e\x7a\x06\x85\x79\x05\xda\x06\xcc\xa8\x84\x74\xa1\x1f\x9a\x7b\x95\x6c\x6a\x1a\x7b\x8a\x7b\x8a\x78\x1e\x9d\x06\xb8\xf7\x54\x05" -+"\x62\x79\x8f\x94\x80\x1f\x6d\xa3\x82\x99\x82\xb4\x51\xf7\x7c\x18\xf7\x36\xf7\x53\xcb\xd7\xab\x9e\xc8\x8e\x19\x91\x9d\x05\xfb\x5b" -+"\x06\x85\x79\x05\x95\x06\xa2\x94\x85\x7c\x7f\x84\x7e\x7b\x77\x1f\xfb\x2a\xfb\x46\x64\xf7\x39\x05\x89\x96\x88\xa1\x94\x1a\xa3\x9f" -+"\x98\xae\x1e\x9b\x06\x91\x9d\x05\xfb\x9d\x06\x85\x79\x05\x9c\x06\xbd\x8a\x9c\x7a\x9f\x48\xca\xfb\x8d\x18\xfb\x3b\xfb\x5a\x05\x56" -+"\x60\x4d\x62\x67\x1b\x85\x79\x05\xf7\x62\x29\x0a\x76\x06\x6e\x7b\x92\x9a\x94\x8f\x92\x99\x9d\x1f\x0e\xfb\x72\xf7\x5e\xf7\x52\x15" -+"\xb1\xfb\x15\x99\x61\x98\x77\x9a\x88\x19\xae\x80\x9a\x6d\x50\x1a\x7f\x8a\x7a\x8a\x79\x1e\x9d\x06\xb8\xf7\x54\x42\x8d\x86\x8e\x79" -+"\xcb\x19\x5c\xf7\x2c\x05\xe5\xc7\xa4\xa3\xa8\x1b\x91\x92\x8a\x87\x98\x1f\x87\x99\x8f\x8a\x91\x1b\x9d\x99\x9a\x9f\xa3\x7b\x9c\x73" -+"\x72\x73\x7d\x6d\x6e\x1f\x79\x78\x8b\x8b\x45\x2e\x66\xf7\x07\x7f\xa4\x6f\x9a\xfb\x12\x6f\x18\x86\x7a\x05\x90\xa0\x94\x8d\x96\x1b" -+"\xbb\xa6\x63\xfb\x25\xba\x1f\x4d\x2f\x05\x50\x64\x71\x70\x7b\x1b\x85\x87\x8d\x98\x7e\x1f\x93\x82\x83\x8e\x83\x1b\x77\x7d\x7c\x76" -+"\x72\x9d\x7b\xa6\xae\xae\xa7\xc9\xb5\x1f\x0e\xa8\xf8\xfb\xac\x15\x67\x80\x8d\x90\x7e\x1f\x7b\x91\x78\xa1\x98\x1a\x8e\x8c\x91\x8e" -+"\x95\x77\x1d\x54\xfb\x68\x79\x47\x78\x79\x4c\x8a\x20\x1d\xf7\x14\x06\xcc\xaf\x64\x46\x7b\x8a\x7b\x8a\x77\x1f\x9d\x06\x0e\xfb\x52" -+"\x66\x0a\x83\x89\x7c\x83\x1a\x76\x9e\x7a\xa2\x9b\x98\x8f\x97\x9d\x1e\x7b\x70\x83\x72\x71\xdc\x1d\x76\x1e\x95\x7d\x05\xcf\xb2\xa1" -+"\xa4\xb2\x1a\x95\x8a\x8e\x87\x9f\x1e\x87\x99\x89\x98\x92\x1a\x96\x8e\x93\x9a\xa8\x1e\x96\x96\x9a\x9c\x9d\xa4\x08\x0e\x9e\xf8\x0e" -+"\xf7\xbb\x15\xaf\x90\xa5\x90\xb3\x97\x4f\xfb\x69\x18\x78\x47\x78\x7a\x4d\x8a\x86\x79\x18\xf7\x93\x29\x0a\x55\x8c\x7b\x95\xaa\x1a" -+"\x97\x8c\x92\x91\x9f\x1e\xf7\x17\xf8\x5e\x05\xd4\xa0\x9d\x99\xd3\x21\x1d\xfb\xa1\x25\x1d\xc0\x8a\x9c\x81\x6d\x4d\x1d\x4f\xfb\x65" -+"\x68\x80\x6c\x84\x67\x88\x19\xcc\xf7\x72\x05\x4c\x06\x4a\xfb\x72\x05\x5f\x92\x76\x9e\xad\x1a\x92\x8c\x92\x8e\x94\x1e\xb3\xf7\x21" -+"\x05\xd4\x9f\x9e\x99\xd3\x1b\x8f\x9d\x05\xfb\x9f\x22\x1d\xc0\x8a\x9c\x81\x6c\x1a\x80\x89\x7f\x86\x7b\x1e\x67\xfb\x12\x05\x83\x6e" -+"\x8a\x86\x7b\x1a\x4b\xbd\x6a\xec\x1e\x5d\xfb\x34\x05\xca\x06\x0e\xfb\x52\xf7\x81\xf7\x53\x15\xb1\xa8\xa0\xa2\xae\xbf\x48\xfb\x81" -+"\x18\x89\x84\x88\x79\x84\x1a\x77\x9e\x7a\xa0\xb1\xb1\xa8\xd4\xc4\x1e\x7e\x96\x05\x60\x6a\x75\x77\x7c\x1b\x84\x85\x91\x92\x91\x8e" -+"\x9b\x8e\x96\x1f\xef\xf7\xf1\x05\x44\x06\x80\x4c\x58\x39\x52\x5d\xae\xf7\x13\x18\x5b\x06\x5f\xfb\x2f\x05\x8a\x87\x8a\x8b\x87\x1b" -+"\x7b\x83\x94\x9c\x92\x8b\x8e\x8f\x97\x1f\xc0\xf7\x4b\x5a\x7e\x59\x83\x5c\x87\x20\x1d\x8e\x9b\x92\x8c\x95\x1b\x9d\x93\x84\x7c\x80" -+"\x8a\x83\x83\x72\x1f\x75\x3d\x05\x86\x7d\x87\x6f\x81\x1a\x68\xa0\x74\xac\x98\x97\x8d\x90\x99\x1e\x75\x3c\x05\xbb\x06\x0e\x9e\xf7" -+"\x75\xf7\xe3\x15\x9c\xe1\xa2\x8e\xae\x1b\xce\xad\x73\x5b\x79\x88\x7b\x83\x6e\x1f\x6c\xfb\x09\x05\x45\x78\x77\x7c\x41\x1b\x87\x79" -+"\x05\xf7\xae\x24\x0a\x4f\x8c\x7c\x93\xa9\x1a\x94\x8e\x9e\x90\x9d\x1e\xab\xf7\x09\x05\x91\xa3\x8f\xa5\x9f\x1a\xd3\x59\xb0\x29\x5e" -+"\x7b\x89\x73\xfb\x15\x1e\xbd\xf7\x4e\x05\xd2\x9f\x9f\x99\xd4\x21\x1d\xfb\xae\x22\x1d\xc6\x8a\x9a\x83\x6e\x1a\x80\x88\x79\x86\x79" -+"\x1e\xfb\x0f\xfc\x5c\x05\x45\x78\x77\x7c\x42\x1b\x86\x79\x05\xf7\xae\x24\x0a\x50\x8c\x7c\x93\xa8\x1a\x97\x8e\x9d\x90\x9c\x1e\x0e" -+"\x71\x1d\xfb\xdb\x42\x0a\xa8\xf9\x1a\xf8\xc1\x15\x8b\x1d\xb6\x91\x8c\x94\x8c\x90\x1f\xb1\xf7\x21\x58\x1d\x6a\x1a\x81\x89\x7f\x87" -+"\x7c\x1e\x69\xfb\x12\x05\x86\x76\x89\x80\x7c\x1a\x4b\xbf\x67\xe7\xc1\xc1\x93\x9e\xce\x1e\x5c\xfb\x48\x72\x2e\x7f\x81\x35\x8a\x19" -+"\x5b\xfb\x58\x05\x9d\x06\xbb\xf7\x0d\xbc\xb0\xf7\x07\x90\x08\xeb\x06\x8f\x9d\x63\x8c\x82\x8c\x80\x91\x19\x7e\x92\x84\x96\x9b\x1a" -+"\x9a\x92\xa9\x9a\xb6\x1e\x0e\xfb\x52\x66\x0a\x84\x89\x7b\x83\x1a\x8a\x8b\x88\x8c\x88\x1e\x6c\x62\x7c\x68\x68\xdc\x1d\x75\x1e\x95" -+"\x7e\x05\xcf\xb2\xa1\xa4\xb2\x1a\x94\x8a\x8f\x87\x9e\x1e\x87\x9a\x89\x97\x92\x1a\x95\x8d\x91\x91\x9a\x1e\x82\x95\x95\x87\x97\x1b" -+"\xb1\xb0\xa8\xd4\xc4\x1f\x0e\xc9\xcb\xf7\xc1\x15\x84\x68\x88\x76\x79\x1a\xfb\x24\xeb\x2a\xf7\x23\xf7\x75\xf7\x59\xf7\x68\xf7\x87" -+"\xbf\x81\xb5\x75\xaf\x1e\xcd\x64\x3f\xb2\x34\x1b\x39\x37\x6e\x56\x43\x1f\x57\x65\x70\x6a\x5b\x3b\xcf\x80\x18\xb6\xd4\xad\xb7\xac" -+"\xa6\x08\xb4\xc0\xc8\xa2\xc5\x1b\xbc\xb8\x75\x67\xa3\x1f\x9c\x71\x93\x67\x5a\x1a\x51\x82\x51\x79\x55\x1e\x7c\x60\x15\x72\x4d\x70" -+"\x5b\x70\x6b\x08\x4f\x56\x4a\x69\x4b\x1b\x59\x5f\xa1\xae\x74\x1f\x78\xa8\x83\xb1\xc4\x1a\xa0\x8c\x9a\x8d\x9e\x1e\x0e\x5a\xf8\xdc" -+"\x9b\x15\x51\x90\x84\x93\x7e\xd5\x26\xf8\xd3\x18\x71\x06\xfb\xb6\xfc\x90\x3d\xfb\x1a\x81\x7f\x62\x83\x19\x7b\xf7\x52\x9b\x07\x56" -+"\x91\x83\x8f\xa6\x1a\x9e\x8d\x91\x9d\xb0\x1e\xc4\xf7\x06\x05\xf7\x73\x06\xa0\xfb\x19\x05\x8d\x81\x8c\x80\x83\x1a\x67\x7d\x82\x4a" -+"\x85\x1e\x7b\xf7\x8e\x07\xfc\x21\xf7\x9e\x15\xf7\x29\xf7\x9c\xbb\xfb\x9c\x05\xf7\x2d\xf8\xf2\x15\x4b\x73\x5a\x67\x4c\x1b\x4b\xcc" -+"\x1d\xae\x7c\xb8\x1b\xc2\xba\xa3\xb8\xac\x1f\x9f\xa6\x94\xa1\x94\xb5\x08\x0e\xf8\x72\xf7\x04\x15\x6e\x6e\x05\x6b\x6c\x7f\x82\x81" -+"\x1b\x83\x85\x91\x92\xa1\xbb\xf7\x50\xb9\xf7\x32\x1f\x8e\x95\x8c\x8d\x8d\x94\x84\x8e\x18\x4d\x84\x88\x88\x80\x5b\x05\xb0\x83\x6e" -+"\xa0\x5f\x1b\xfb\x1b\xfb\x32\xfb\x4f\xfb\x34\x45\xb1\x62\xcb\xd3\xb6\xad\xf7\x11\xe6\x1f\x74\x38\x89\x83\x71\x1a\x6e\x97\x7f\xa7" -+"\xb4\xa3\x9e\xe7\xd8\x1e\xfb\x3a\xf7\xd8\x15\xad\x89\xa1\x73\x68\x1a\x37\x56\xfb\x0d\x45\x3f\x1e\x70\x72\x69\x7a\x6e\x1b\x66\x75" -+"\xa7\xb9\xc3\xb2\xf2\xb8\xcc\x1f\xb5\xc6\xba\xab\xb4\x88\x08\xf7\x36\xf7\x7e\xbc\x1d\xa0\x71\x08\x6d\xa2\xae\x7c\xb8\x1b\xc1\xba" -+"\xa3\xb8\xad\x1f\x9f\xa6\x94\xa1\x93\xb5\x08\x0e\xc9\xf8\x6e\xf9\x34\x15\x37\x31\x63\x41\x3b\x1f\x26\x2d\x50\xfb\x0e\xfb\x0b\x1a" -+"\xfb\x21\xe6\x27\xf7\x13\xf7\x64\xf7\x5e\xf7\x68\xf7\x78\x96\x1e\xf7\x22\x92\x2a\xf7\x00\xfb\x1b\x1b\xe3\xfc\x04\x15\xfb\x4b\x51" -+"\x29\x21\xfb\x03\x1b\x3a\x5a\xc9\xef\xb0\x91\xb8\x96\xb8\x1f\x97\xb6\x15\xf7\x4d\xc5\xee\xf6\xf7\x06\x1b\xda\xbd\x50\x2e\x61\x83" -+"\x55\x7f\x5f\x1f\x0e\x92\x1d\xfb\x4c\xfb\x58\x15\x8d\x8e\x05\xf7\x03\xba\xc8\xc8\xcb\x1b\xb4\xa7\x65\x53\x70\x89\x7a\x83\x66\x1f" -+"\x81\x69\x15\xfb\x0d\x68\x45\x3b\x45\x1b\x5c\x6c\xaf\xc2\xaf\x91\xae\x97\xb2\x1f\x0e\x5a\x5b\x0a\x52\xf8\x01\x15\x4b\x72\x5a\x67" -+"\x4d\x1b\x4a\xcc\x1d\xaf\x7c\xb7\x1b\xc3\xb9\xbe\x0a\xfb\x6c\x7e\x1d\xf7\xf6\xf8\x54\xbc\x1d\x9f\x71\x08\x6d\xa2\xaf\x7c\xb7\x1b" -+"\xc2\xba\xbe\x0a\xf7\x83\xf9\xbe\x15\x5a\xf8\x85\xbc\x07\x0e\xf7\xe8\xad\x89\x15\x92\x06\xd5\x06\xf7\x44\xcd\x97\xb7\xcc\x1f\xf1" -+"\xd0\xd5\xf7\x36\xf7\x2f\x1a\xea\x6d\xde\x5b\xb1\x1e\xa7\x67\x5a\x98\x4a\x1b\xfb\x2b\x20\x56\x2e\x69\x1f\x7d\x66\x87\x73\x8a\x49" -+"\xd9\xb1\x18\x94\x07\x8a\xea\xb0\xb7\xe6\x99\x3d\xfc\x3e\x18\x7a\x40\x72\x5c\x6d\x81\x74\x8c\x18\xe5\x16\x8f\x8e\xc2\xb9\x9e\xb6" -+"\xa1\xf7\x13\x19\xc7\xf7\xec\x05\x92\x06\x8e\x06\xb4\x96\x8a\x87\x98\x1f\xc4\x76\xa9\x49\x26\x1a\xfb\x66\x2c\xfb\x29\xfb\x1e\x84" -+"\x1e\xf7\x8d\xfb\x99\x15\xda\x06\xb1\xf7\x62\x05\x7b\xb2\x8e\x8a\xa1\x1b\xf7\x14\xf7\x01\xf7\x39\xf7\x53\xf7\x00\x5e\xc3\x36\x57" -+"\x5e\x75\x62\x6a\x1f\x66\x5d\x76\x50\x73\xfb\x18\x08\xea\xe6\x15\xe6\x9c\xaf\xc0\xb9\x1b\xb4\xa1\x61\x3c\xfb\x2a\x52\xfb\x0b\x43" -+"\x6e\x75\x96\xa5\x77\x1f\x0e\x5a\xf7\x97\x16\x7c\xf7\x2f\x05\x49\xb7\x62\xe4\xea\x1a\xc0\x98\xc6\xa2\xbc\x1e\xc9\xa9\xbc\xaf\xc3" -+"\x1b\xc3\xbc\x67\x4d\xa9\x1f\xa2\x5a\x98\x50\x56\x1a\x2c\x61\x32\x4a\x5f\x1e\x7c\xfb\x2f\x05\xf7\x88\xf7\x2d\x77\x06\x5e\x84\x7b" -+"\x79\x68\x1b\xfb\x0d\x06\x8d\xb1\x05\xf6\xb8\xc9\xe8\xf7\x08\x1a\xbb\x7f\xbe\x74\xba\x1e\xef\x5b\x36\xc5\x2a\x1b\x2a\x36\x51\x27" -+"\x5b\x1f\x74\x5c\x7f\x58\x5b\x1a\xfb\x08\xc9\x2e\xf6\x5e\x1e\x8e\x65\x05\xfb\x0e\x06\x68\x7b\x9d\xb8\x84\x1f\x77\xfb\x2d\x06\x0e" -+"\xfc\x81\xac\x0a\xfc\x2e\x46\x0a\xf7\xe8\xf8\xa9\xf8\x95\x15\x49\x06\xfb\x74\xfc\x95\x05\xdb\x06\xf7\x45\xf8\x2d\xf7\x45\xfc\x2d" -+"\x05\xdb\x06\x0e\xf7\xe8\xf8\xa9\x16\xf7\x74\xf8\x95\x05\x3b\x06\xfb\x45\xfc\x2d\xfb\x45\xf8\x2d\x05\x3b\x06\xf7\x74\xfc\x95\x05" -+"\x0e\xf7\xe8\xf8\x8c\xf9\x60\x15\xfb\x60\xfb\x34\xfb\x32\xfb\x5f\xfb\x5b\xf7\x34\xfb\x33\xf7\x5d\xf7\x5b\xf7\x34\xf7\x34\xf7\x5c" -+"\xf7\x59\xfb\x34\xf7\x36\xfb\x58\x1f\xa4\x52\x15\xf7\x23\x7e\xf7\x06\xfb\x06\x99\xfb\x25\x08\xfb\xa3\x06\xf7\xa4\x52\x15\x82\xfb" -+"\x22\xfb\x0d\xfb\x0f\xfb\x22\x80\x08\xf7\xa8\x07\x53\xfb\xa8\x15\xfb\x27\x99\xfb\x05\xf7\x05\x7d\xf7\x29\x08\xf7\xa6\x06\xfb\xa6" -+"\xc4\x15\x99\xf7\x24\xf7\x07\xf7\x06\xf7\x25\x99\x08\xfb\xa4\x07\x0e\xc9\xf7\x11\xf7\x10\x15\xf8\x67\xf8\x67\xfc\x67\x06\xb3\xfc" -+"\x3f\x15\xf8\x17\xf8\x17\xfc\x17\x07\x0e\xf7\xe8\xf9\x64\xf8\xc3\x15\x4f\xfb\x8d\x06\x26\x86\x62\x7c\x6e\x1e\x5b\x72\x53\x6b\x50" -+"\x1b\x57\x58\xa4\xb3\x6f\x1f\x74\xac\x85\xb4\xf7\x04\x1a\xf7\x8d\x4f\xfb\x8a\x07\xfb\x1d\x90\x69\xa3\x63\x1e\x4a\xb1\xd1\x66\xde" -+"\x1b\xd7\xcb\xaa\xc3\xb4\x1f\xac\xb8\x91\xab\xf7\x29\x1a\x0e\x48\xf8\x27\xf8\x1c\x15\xfb\x69\x06\x41\xf7\x4d\x05\x2d\x06\xf7\x7d" -+"\xfc\xd5\x05\xde\x06\xf7\x7d\xf8\xd5\x05\x2d\x06\x22\xfb\x9d\x15\x3f\xfb\x48\x40\xf7\x48\x05\x0e\x78\x1d\xfb\x01\x7c\x49\x75\x1a" -+"\x7a\x91\x7d\x96\x82\x1e\x78\x71\x84\x76\x70\xb1\x1d\xad\xa4\x91\x94\xac\x9d\x1f\xa6\x9a\x9c\x9f\xbe\xd3\x08\x0e\xfb\x5d\x3b\x1d" -+"\x0e\xfb\x5d\x3b\x1d\xf7\x67\xf7\xc2\x7f\x0a\x0e\xfb\x5d\x3b\x1d\xf7\x98\xf7\x90\x15\xac\x06\x9b\xac\x05\x9b\xac\x95\xa7\x9b\x1a" -+"\x9a\x83\x93\x7b\x6b\x80\x77\x41\x86\x1e\x41\x70\x15\x72\x77\x78\x73\x71\xa0\x77\xd3\x0a\xf7\x42\x59\x1d\xfb\x5d\x3b\x1d\xf7\x7f" -+"\xf7\x45\x15\xb5\x06\xa1\xba\x05\xa1\xbb\x99\xb6\xa0\x1a\x9f\x81\x96\x78\x62\x7d\x6e\x22\x81\x1e\x0e\x2a\x1d\xfb\x1d\xf8\xeb\x15" -+"\x55\x5e\x5f\x54\x53\xb6\x5f\xc4\xc2\xb8\xb8\xc1\xc2\x5e\xb8\x53\x1f\x69\x04\xb0\xa9\x6d\x67\xd5\x1d\x2a\x1d\x6f\xf8\x98\x15\x6a" -+"\x80\x7e\xc9\x1d\x6f\x6e\x3e\x77\x6b\x1d\xa4\x83\x76\xc0\x1f\x81\xa5\x9d\x86\x98\x1b\xbb\xac\xaf\xcf\x99\x1f\x0e\x92\x2d\x0a\xf7" -+"\xe8\xd8\xa5\x0a\x82\x82\x87\x85\x84\x1e\x0e\x92\x2d\x0a\xf8\x46\xf7\x88\x20\x0a\x92\x2d\x0a\xf7\xb2\xf7\x51\x23\x1d\x92\x2d\x0a" -+"\xf7\xf0\xd6\x54\x0a\x9b\x7f\x7f\x92\x7c\x1b\x77\x7c\x7c\x78\x7f\x91\x82\x98\x80\x1f\x0e\xfb\x7c\xf7\xb4\xf9\x69\x15\x50\x75\x5f" -+"\x6b\x75\x1a\x75\xa9\x74\xc2\x76\x1e\x48\x66\x63\x59\x5c\x1a\x69\x9c\x73\xb5\x72\x1e\xfb\x04\x54\x46\x2f\x2d\x1a\x5d\x9b\x65\xaa" -+"\x73\x1e\x7c\x9e\xa1\x86\xb5\x1b\x98\x9b\x8c\x8d\xa1\x1f\x8e\xa1\x9b\x8c\x91\x1b\xa5\x99\x81\x7a\x68\x67\x6b\x62\x82\x84\x8c\x8f" -+"\x7f\x1f\x92\x76\x85\x8c\x7f\x1b\x6e\x78\x7c\x74\x75\x9e\x7c\xa7\xac\xb6\x9a\xa5\xb3\x1f\xbd\xab\xa5\xb2\xb7\x1a\xb6\x72\xa5\x63" -+"\x82\x79\x8a\x89\x79\x1e\x89\x78\x6e\x89\x7e\x1b\x60\x73\xa3\xb8\xdc\xbb\xdd\xdb\xc3\x1f\x7c\xb1\xab\x84\xae\x1b\xbd\xad\x9e\xa7" -+"\x9e\x75\x98\x6b\x65\x66\x82\x72\x50\x1f\x7e\x9d\x86\x9c\xa3\x1a\xbe\xa2\xb9\xba\xb4\x1e\x7e\xbb\xa0\x88\xab\x1b\xce\xb6\x9e\xaa" -+"\xa0\x77\x96\x66\x5a\x56\x7c\x6c\x4f\x1f\x6c\x9f\x77\xa2\x9d\x1a\x9c\x96\x97\xae\x9e\x1e\x8d\x8f\x8e\x8f\x92\x1f\x0e\xfb\x6c\x31" -+"\x1d\xf7\xd6\xf7\x88\x20\x0a\xfb\x6c\x31\x1d\xf7\x7c\xd6\x28\x0a\xfb\xa3\x33\x0a\xf7\x23\xf7\x49\x2b\x0a\xfb\xa3\x33\x0a\xf7\x70" -+"\xf7\xb9\x24\x1d\x0e\xfb\x93\xf7\xae\xf9\x67\x15\x4d\x72\x5b\x64\x72\x1a\x71\xab\x70\xc1\x76\x1e\x4b\x57\x70\x6e\x66\x53\x08\x4f" -+"\x33\x6a\x26\x2f\x1a\x33\xbc\x52\xd8\x95\x9c\x8c\x8d\x9b\x1e\x8d\x9c\x99\x8c\x90\x1b\xa6\x9a\x82\x79\x68\x66\x6c\x63\x81\x84\x8c" -+"\x8f\x7f\x1f\x92\x76\x85\x8c\x7f\x1b\x6e\x78\x7c\x74\x75\x9e\x7c\xa7\xad\xb6\x9a\xa5\xb2\x1f\xbe\xab\xa5\xb2\xb7\x1a\xb6\x72\xa5" -+"\x63\x82\x7c\x8a\x89\x7d\x1e\x89\x7c\x7b\x8a\x81\x1b\x5b\x72\xa7\xc1\xd5\xa2\xe4\xb4\xdf\x1f\xaa\xc9\xa6\xb0\xc0\xc4\x08\x86\xa3" -+"\x97\x8a\xa2\x1b\xe0\xc6\xa6\xb2\x9f\x79\x98\x6e\x56\x6c\x7f\x53\x36\x1f\x6a\x9c\x78\xa2\xa3\x1a\xa1\xa2\xa1\xb5\x9f\x1e\x0e\x79" -+"\x9d\xf8\x44\x94\xf7\x68\x98\x06\xa2\x0a\xd9\x0b\xa2\x8f\x8f\x8e\x8f\x8f\x8f\x8e\x8f\x91\x8f\x8f\x0c\x0c\xf8\x88\x14\xf9\x28\x15" -+"\xae\x13\x00\xb7\x02\x00\x01\x00\x04\x00\x0d\x00\x11\x00\x15\x00\x1a\x00\x2f\x00\x78\x00\xa4\x00\xac\x00\xb1\x00\xb6\x00\xb9\x00" -+"\xbe\x01\x58\x01\xde\x02\x56\x02\xd0\x02\xf0\x03\x4e\x03\xab\x03\xe5\x03\xf2\x03\xf9\x04\x02\x04\x07\x04\x3e\x04\x46\x04\x4f\x04" -+"\x5b\x04\x65\x04\x6e\x04\x75\x04\x7c\x04\xbb\x04\xc8\x04\xcd\x04\xee\x05\x01\x05\x07\x05\x1e\x05\x2e\x05\x31\x05\x38\x05\x46\x05" -+"\x53\x05\x5a\x05\x63\x05\x67\x05\x73\x05\x7f\x05\x87\x05\x91\x05\x9a\x05\xa1\x05\xa8\x05\xb0\x05\xb8\x05\xbe\x05\xe4\x06\x6e\x06" -+"\xa6\x06\xb3\x07\x16\x07\x68\x07\xa5\x08\x13\x08\x54\x08\x86\x08\xf0\x09\x59\x09\xb8\x0a\x1f\x0a\x2e\x0a\x3d\x0a\x9a\x0a\x9f\x0a" -+"\xc2\x0b\x14\x0b\x5b\x0b\xa9\x0b\xcc\x0c\x18\x0c\x51\x0c\x61\x0c\xa0\x0c\xa9\x0c\xb9\x0c\xea\x0d\x1a\x0d\x49\x0d\x67\x0d\x91\x0d" -+"\x9a\x0d\xc2\x0d\xea\x0d\xf3\x0d\xfa\x0e\x1d\x0e\x32\x0e\x54\x0e\x76\x0e\x7f\x0e\x89\x0e\xa9\x0e\xc9\x0e\xe1\x0e\xec\x0f\x0a\x0f" -+"\x16\x0f\x2b\x0f\x48\x0f\x4f\x0f\x62\x0f\x7a\x0f\x7f\x0f\x84\x0f\x98\x0f\x9c\x0f\xa1\x0f\xb5\x0f\xcc\x0f\xd9\x0f\xef\x10\x03\x10" -+"\x16\x10\x21\x10\x35\x10\x39\x10\x45\x10\x51\x10\x64\x10\x6f\x10\x7c\x10\x80\x10\x92\x10\x9b\x10\xac\x10\xb2\x10\xc3\x10\xd2\x10" -+"\xd7\x10\xe1\x10\xf1\x11\x01\x11\x11\x11\x14\x11\x1c\x11\x29\x11\x38\x11\x47\x11\x50\x11\x56\x11\x64\x11\x72\x11\x80\x11\x8e\x11" -+"\x9c\x11\xa8\x11\xb4\x11\xc1\x11\xce\x11\xdb\x11\xe8\x11\xf5\x11\xfa\x12\x07\x12\x14\x12\x20\x12\x2c\x12\x38\x12\x44\x12\x4e\x12" -+"\x59\x12\x64\x12\x6f\x12\x7a\x12\x85\x12\x90\x12\x9b\x12\xa6\x12\xb1\x12\xbc\x12\xc2\xc0\x1d\x0e\x15\x67\x06\xfb\x22\x22\x31\xeb" -+"\x1d\xf9\x21\x15\x0b\xf9\x2a\x15\x0b\x06\x90\x9d\x05\x0b\xf8\x64\xf7\x02\x15\x6f\x6f\x05\x6b\x6b\x80\x53\x0a\xf7\x40\xba\xf7\x3f" -+"\x68\x0a\x0b\xf8\x6f\xf9\x2e\x15\x36\x31\x63\x42\x3b\x1f\x26\x2e\x50\xfb\x0e\xfb\x09\x1a\xfb\x20\xe6\x28\xf7\x13\xf7\x64\xf7\x5e" -+"\xf7\x66\xf7\x76\x96\x1e\xf7\x21\x92\x2a\xf6\xfb\x1a\x1b\x81\x6a\x15\xdb\xbc\x51\x2d\xfb\x00\x5c\xfb\x26\x4a\x2d\x1f\x3c\x54\x4e" -+"\x64\x44\x1b\x37\x5d\xc7\xf7\x01\xea\xe6\x1d\x0b\xf9\x91\x69\x1d\x8e\x0a\xae\xa7\xf7\x00\xd6\xf7\x9a\x1f\x9f\xd0\x9b\x99\xd0\x93" -+"\x44\x0a\xf7\x13\xf7\x17\xde\xd2\xf7\x2a\xb7\x1e\xde\xf7\xb1\xb1\xf7\x16\x8f\x90\xc9\x99\x19\x0b\x54\x0a\x9b\x7e\x80\x92\x41\x1d" -+"\x06\x91\x9d\x05\x0b\x94\x83\x05\x90\x0b\xb0\x1d\x0e\x8a\x89\x81\x1f\x0e\x9b\xf8\x27\x15\x9f\x8c\xae\x8a\x91\x89\x92\x76\x19\x97" -+"\x6a\x9c\xfb\x1c\x8f\x2d\x8f\x33\x18\x64\x8d\x8d\x83\x94\x1b\x96\x9c\xa4\xd0\xaf\x1f\x90\x96\x9f\xae\xa9\xc0\xe4\xf7\x30\x18\xa8" -+"\xfb\xd3\x05\x70\x8d\x8d\x88\x92\x1b\x93\x95\x94\xad\xa6\x1f\x8b\x90\x91\x8f\x90\x1e\xf7\x1d\xf7\x38\xd6\xf7\x10\xcb\x1a\xaa\x75" -+"\xa1\x6d\x72\x7d\x7e\x76\x7e\x90\x82\x9b\x7d\x1e\x9b\x7c\x91\x80\x7f\x1a\x60\x69\x56\xfb\x17\xfb\x37\x1e\x6b\xf7\xf4\x05\x96\x89" -+"\x8e\x85\x86\x88\x89\x83\x86\x1e\xfb\x54\xfb\xc4\x88\xd1\x80\xf4\x80\xd0\x19\xcb\x80\x89\x92\x7f\x1b\x85\x80\x88\x87\x7e\x1f\x8a" -+"\x67\x84\x6b\x86\x1e\x87\x80\x89\x89\x80\x1f\x0b\xf9\x58\x23\x0a\x7c\x8f\x05\x73\x7a\x7a\x81\x70\x1b\x81\x80\x8d\x93\x75\x1f\x9b" -+"\x5c\x5d\x93\x62\x1b\xfb\x67\xfb\x54\xfb\x5c\xfb\x70\x47\xa8\x45\xba\x5b\x1f\x58\xbe\xd4\x70\xe2\x1b\xe3\xd3\x9e\xb6\xd8\x1f\xbc" -+"\xf7\x4f\x9c\xc3\x9a\x97\xcc\x8f\x19\x9b\xfb\x9e\x7b\x07\xc0\x85\x8b\x8b\x98\x84\x08\x92\x87\x90\x82\x83\x1a\x75\x84\x6d\x76\x43" -+"\x1e\x76\x44\x87\x82\x7f\x7f\x08\x75\x75\x65\x7f\x5e\x1b\xfb\x15\x42\xd5\xf7\x17\xf7\x0f\xbc\xf7\x14\xda\xde\x1f\xba\xb8\xc9\xa6" -+"\xcd\x1b\xcc\xc2\x70\x5d\xa9\x1f\x9b\x72\x92\x75\x90\x5f\x9d\x88\x18\x0b\xe6\xf9\x11\x15\xc3\x83\x8e\x88\x9c\x54\xd8\xfb\xa1\x18" -+"\x4e\xfb\x68\x7a\x55\x75\x7b\x49\x87\x19\x7b\xf7\xb5\x9b\x07\x7b\x8c\x7f\x8c\x83\x8c\x7a\x8c\x7d\x8e\x81\x90\x08\x84\x90\x86\x95" -+"\x98\x1a\xa0\x92\xa9\xa3\xd9\x1e\x8e\x94\x8d\x92\x8c\x8f\xa8\xf0\x18\xf7\x6f\xf7\xa2\xab\xb3\x93\x92\xa9\x99\x19\x9b\xfb\x51\x7b" -+"\x07\xbb\x86\x8b\x8b\x96\x84\x48\x1d\x70\x5d\x4a\x23\xfb\x0d\x1e\x7a\x77\x85\x83\x7c\x79\x7f\xb7\x86\x9c\x7d\xbc\x08\x72\xe1\x56" -+"\x0a\x90\xc7\x91\x1e\x9b\xfb\x83\x07\x0b\xfa\x1e\x22\x0a\xfb\x4d\x7b\x06\xc1\x86\x96\x84\x6f\x1a\x7a\x84\x74\x7d\x70\x1e\xfb\x4f" -+"\xfc\x04\x63\xf8\x26\x05\x8a\x90\x8b\x92\x8e\x1a\xb3\x99\x98\xc1\x90\x1e\x9b\xfb\x82\x7b\x07\xc5\x89\x95\x84\x92\x5a\x94\x46\x18" -+"\xfb\x40\xfb\xf0\x5f\xf8\x2a\x05\x8a\x90\x8b\x92\x8d\x1a\xb2\x97\x94\xc8\x92\x1e\x9b\xfb\x80\x7b\x07\xac\x87\x94\x88\x94\x82\x97" -+"\x80\x8f\x78\x97\x2f\xc9\xfc\x99\x18\x9e\x06\xf7\x72\xf8\x5a\x05\x90\x06\xbd\xfc\x5a\x05\x9f\x06\xf7\xc3\xf8\xdb\xa6\xbe\x95\x94" -+"\xb1\x97\x19\x0b\xaf\xf7\x26\x15\x77\xfb\x33\x05\x9b\x06\x9c\x94\x8f\x8f\x96\x1b\x96\x9d\x87\x86\x9f\x1f\x84\xa2\x9a\x88\x9c\x1b" -+"\xdf\x6f\x0a\x0b\xf9\x6b\x69\x1d\xc4\x86\x98\x81\x67\x1a\x7f\x89\x80\x84\x76\x1e\x8a\x88\x8a\x87\x8a\x1a\x25\xfc\x10\xfb\x64\xf8" -+"\x87\x05\xfb\x35\x7b\x06\xba\x87\x9f\x7e\x9e\x64\xfb\x0b\xfc\x35\x18\x65\xfb\x14\x83\x7f\x52\x83\x08\x7b\xf7\x5a\x9b\x07\x57\x8f" -+"\x79\x96\xa7\x1a\x98\x8e\x9f\x91\xa0\x1e\xf7\x06\xf8\x3a\xf7\x7a\xfc\xba\x05\x9d\x06\xf7\x24\xf8\x8b\xb0\xf7\x16\x8f\x90\xca\x99" -+"\x19\x0b\xdc\xf7\xc9\x15\x9f\xbc\x9a\x96\xb9\x8a\x08\xf7\x26\x06\xfb\xca\xfc\x08\x94\x82\x05\x98\x9b\x98\x90\x9b\x1b\xa5\xab\x7e" -+"\x6e\xba\x1f\x6c\xbd\xac\x7e\xa8\x1b\xbd\xb7\xaf\xb3\xa1\x7d\x99\x76\x77\x7d\x7e\x78\x83\x8e\x82\x91\x7f\x1f\x8e\x85\x8d\x85\x88" -+"\x1a\x82\x80\x85\x7b\x72\x7f\x94\xb4\x6a\x1e\x5f\xc4\x78\x98\x51\x98\xf7\xb6\xf7\xec\x18\x96\xfb\xb0\x07\x6c\xfb\x07\x05\x0b\xf8" -+"\x27\x22\x0a\xfb\xa5\x7b\x06\xca\x85\x99\x83\x6e\x9f\x0a\xf8\x91\x07\xc5\xf7\x47\x77\x91\x68\x43\x70\x6b\x5f\x75\x19\x7a\x68\x62" -+"\x85\x33\x1b\x40\x72\x93\xa5\x93\x8f\xa0\x91\xa0\x1f\xf7\x0f\xf8\x4f\x9a\xbe\xa5\x9e\xc7\x8f\x19\x0b\x73\x7e\x35\x1d\x9b\x1a\x95" -+"\x8d\x9b\x8f\x9a\x1e\x0b\x86\x83\x89\x8a\x88\x88\x0b\xf8\x68\x5d\x0a\x6a\x8d\x48\x08\x0b\xf9\x20\x7d\x1d\x0b\xf8\xf2\x22\x0a\xfc" -+"\x7a\x06\x5d\xfb\x26\x9e\x86\xb6\xe7\xae\x9e\xf7\x17\x8f\x19\xf7\x3f\x06\xfc\x73\xfc\xef\x05\x7d\xf8\x8d\x07\xc1\xf7\x3c\x78\x8e" -+"\x57\xfb\x03\x61\x74\xfb\x30\x8a\x19\xfb\x35\x06\xf8\x77\xf8\xef\x05\x0b\x54\x0a\x9c\x7e\x80\x91\x41\x1d\xa5\x0a\x81\x83\x87\x85" -+"\x84\x1e\x0e\x1f\x7a\x6e\x05\x7b\xb5\xa2\x86\xa7\x44\x1d\x0b\x8e\x9b\x93\x8c\x94\x1b\x9e\x93\x84\x0b\x1a\xb3\x72\xaa\x6a\x6e\x75" -+"\x77\x0b\x90\x99\x6d\x1f\x9c\x65\x0b\xb5\x1e\xd3\xf7\xd4\x05\x0b\xf7\x0d\x16\xbf\xf7\x3f\x9c\xb4\xb9\xd8\x08\xc3\xad\xa6\xaa\x9c" -+"\x1b\x92\x8f\x87\x81\x90\x1f\x7a\x93\x93\x86\x9f\x1b\xa9\x9b\x9d\xab\xef\x1d\x60\x63\x51\x7b\x63\x7d\x67\x18\xc0\xf7\x6d\x88\x8d" -+"\x42\x7e\x82\x89\x42\x7f\x19\x7a\x07\x8f\xa1\x8f\xc3\x1d\x0b\xf7\x8e\x9d\x15\x35\x0a\xf7\x0f\xf8\x5d\x3f\x1d\x0e\xf7\x67\x72\x0a" -+"\x0b\x08\x9b\xfb\xa5\x7b\x07\xce\x85\x96\x85\x6e\x1a\x7f\x88\x7b\x87\x7a\x1e\x56\xfb\x54\x05\x6d\xfb\x01\x7e\x4d\x61\x1a\x2c\xe6" -+"\x46\x0b\x15\x70\x77\x75\x6c\x6b\x9e\x76\xa8\xa5\xa2\xa2\xa7\xa8\x74\xa5\x70\x1f\x0e\xf7\x11\xf7\xca\x49\x0a\x8e\x9b\x92\x8c\x94" -+"\x1b\x9e\x93\x84\x7a\x80\x89\x7f\x86\x78\x1f\x30\xfb\xe8\x05\xd3\x06\x0b\x3e\x0a\x71\x79\x91\x80\x9e\x7a\x1e\x9a\x7d\x90\x83\x80" -+"\x1a\x0b\x15\xa1\x0a\x9a\xbe\xa5\xaf\x0a\x7c\x0b\x7a\x47\x77\x79\x4e\x8a\x19\x86\x79\x05\xf7\x97\x06\x0b\x15\x6d\x72\x72\x6b\x6e" -+"\xa4\x72\xa7\xab\x36\x1d\x0b\x6f\x75\x76\x70\x5b\x1d\x0b\x82\x60\x88\x86\x78\x18\x3d\x0a\x0b\x4a\x1d\x76\x0b\x1b\x9e\x93\x84\x7a" -+"\x81\x89\x7f\x86\x78\x1f\x0b\x5f\xad\x4e\xfb\x2a\xfb\x20\xfb\x26\xfb\x30\x0b\x1a\xa0\x79\x9c\x76\x76\x7b\x0b\x82\x82\x1b\x83\x85" -+"\x91\x92\x9f\xb5\x0b\x15\xaa\x06\xfb\x08\xf7\x29\x05\x0b\x79\x05\xf7\x65\x29\x0a\x0b\x80\xb6\x9a\x1a\xa4\x97\x0b\x1a\x7c\x88\x77" -+"\x83\x70\x1e\x0b\xa8\xb0\xae\xa9\xa9\xae\x1f\x0b\xf7\x95\xf7\xde\x6e\x1d\xf7\x99\xf7\xf1\x15\x86\x1d\x82\x89\x89\x78\x91\x0a\xab" -+"\x98\x89\x86\x95\x1f\x98\x85\x93\x7e\x7b\x1a\x81\x89\x7d\x87\x7c\x1e\xfb\x0f\xfc\x5e\x82\x0a\x0b\xf9\x1d\x23\x0a\xfc\x8c\x7b\x06" -+"\xca\x85\x9b\x83\x6f\x1a\x7f\x86\x6c\x85\x76\x1e\xfb\x0d\xfc\x55\x7a\x51\x84\x84\x52\x81\x19\x7b\xf8\x96\x07\xc9\xf7\x38\x7a\x93" -+"\x5d\x4a\x70\x71\x5f\x77\x19\x79\x66\x47\x81\x3d\x1b\x53\x73\x95\xa3\x98\x96\xbb\xa3\xe3\x1f\x90\x9a\x98\xbe\x98\xbe\xbb\x88\x18" -+"\xb9\x8a\xa8\x8a\xa3\x87\x93\x84\x19\x94\x84\x8d\x84\x75\x1a\x79\x8a\x81\x86\x74\x1e\x9f\x86\xce\xf7\x7f\x78\x90\x66\x34\x81\x85" -+"\x30\x87\x19\x7e\x6b\x8a\x8a\x67\x1f\xcc\xf7\x81\x05\xa2\x91\x95\x8e\xc6\x1b\xf7\x33\xae\x7d\x4e\x7b\x8b\x7f\x8a\x7a\x1f\xa0\x89" -+"\x05\x0b\xf8\x63\xf7\x03\x15\xe7\x1d\xf7\x0a\xad\xf7\x04\x1f\xa2\xdb\x9f\xd4\xc3\xf7\x6f\x86\x90\x18\x57\x80\x67\x86\x4a\x84\x08" -+"\x7a\x07\xc2\x89\x92\x88\x76\x1a\x7d\x8a\x88\x7d\x56\x1e\x5f\xfb\x38\x8f\x1d\xfb\x38\xf7\xd1\x87\x0a\x0b\xf8\x68\x15\x7c\x1d\x7a" -+"\xb9\xa6\x85\xaa\x9b\x1d\x0b\xf7\x9e\xf7\xdf\x15\xd8\x06\xbf\xa2\x7d\x6a\x7b\x89\x82\x84\x6a\x1f\x9c\x06\xcd\xf7\x85\x05\x78\x06" -+"\x74\x3d\x6c\x73\x3e\x5e\x1d\xf2\x06\xf0\xb2\x73\x4d\x7f\x8a\x84\x87\x7a\x1f\x9d\x06\xb5\xf7\x32\x05\xfc\x75\x25\x1d\xae\x98\x8a" -+"\x85\x95\x1f\x98\x85\x93\x7e\x7c\xba\x0a\x78\x79\x50\x89\x20\x1d\xf8\x82\x06\xc8\xf7\x50\x05\x7b\x06\x75\x5b\x77\x71\x62\x1d\x37" -+"\x7e\x8f\xa3\x92\x8c\x90\x8f\x9a\x1f\x0b\xbb\xf7\xda\x15\xe5\x06\x4a\xfb\x80\x7a\x51\x83\x99\x1d\xd5\x0a\x72\x84\x73\x1e\x5d\xfb" -+"\x38\x05\x31\x06\xf7\xeb\x16\xfb\x2d\x06\xca\xf7\x76\x05\xa1\x91\x9b\x92\xb6\x1b\xf7\x1c\xd6\x3f\xfb\x1f\xfb\x01\x61\xfb\x03\x47" -+"\x47\x1f\x4f\x50\x3a\x6d\x23\x1b\x5d\x78\x96\xa5\x97\x8e\x98\x9c\xc9\x1f\x8d\x93\xb9\xf7\x38\x05\xf7\x2d\x06\x0e\x15\x97\x79\xa1" -+"\x70\xac\x64\x94\x81\x92\x82\x90\x83\x08\x63\xa6\xa4\x6f\x94\x1b\x8f\x8e\x8e\x8f\x95\x72\xc2\x66\xcf\x1f\x88\x90\x83\x9c\x82\x9d" -+"\xa6\xa9\xa1\xa2\x9b\x99\x98\x97\x98\x98\x98\x98\x08\xaf\xb1\x9b\xa2\x98\x1a\x8f\x88\x8e\x88\x84\x0b\x15\x87\x79\x05\x9e\x06\xba" -+"\x8a\x9f\x7a\x99\x58\xf7\x10\xfc\x3e\x18\x45\x61\x73\x70\x78\x1b\x81\x80\x91\x95\x82\x1f\xb4\x66\x88\x8d\x73\x1b\x6d\x75\x75\x6c" -+"\x60\xb5\x69\xc2\xb8\xb1\x9e\xb1\xa9\x1f\xad\xb5\x92\x95\xdc\xf7\x16\xf7\x37\xf7\x9c\x18\xd7\xf7\x0e\xaf\xae\xc2\x8e\x90\x9d\x18" -+"\xfb\x65\x22\x1d\xa8\x06\xa5\x9a\x84\x7f\x7e\x87\x84\x60\x47\x1f\xfb\x4d\xfb\xb8\x3e\xf7\xde\x05\x8a\x92\x8a\x91\x94\x1a\xab\x9c" -+"\x9a\xb0\x1e\xa0\x29\x0a\x0e\xf9\x11\x15\xc4\x84\x99\x82\x71\xa2\x1d\x96\x8d\x93\x95\xb1\x1e\xc0\xf7\x55\x05\x85\xa5\xa3\x89\xb5" -+"\x1b\xdd\xcf\x9c\xaa\xb5\xdd\x1d\xfb\x8c\x06\xf7\x44\x51\x15\xa0\x91\x97\x92\xa7\x1b\xb2\xb1\x82\x7c\x9f\x1f\xa5\x79\x96\x6d\x5c" -+"\xd7\x1d\x86\x8b\x90\x6e\x1f\x0b\xf9\x91\x69\x1d\x8e\x0a\xad\xa9\xf7\x09\xcf\xf7\x7f\x1f\x8d\x92\x8d\x91\x8c\x91\xa0\xd1\x9b\x99" -+"\xcf\x92\x44\x0a\xf7\x13\xf7\x17\xde\xd2\xf7\x2a\xb7\x1e\xde\xf7\xb1\xb1\xf7\x16\x8f\x90\xc9\x99\x19\x0b\xf7\x5d\xf8\x14\x15\x87" -+"\xaa\x86\x9b\x7d\x9a\xfb\x1b\x6c\x18\x87\x7b\x05\x8f\x99\x91\x8c\x94\x1b\xb8\x9b\x70\x37\x93\x1f\xa5\xfb\xbe\x05\x41\x4e\x64\x66" -+"\x7b\x1b\x86\x88\x8d\x93\x89\x1f\x9b\x85\x82\x92\x7c\x1b\x73\x74\x75\x75\x76\x9d\x79\xa1\xc1\xf7\x07\xf7\x06\xf7\x4c\xf7\x19\x1f" -+"\xde\xf7\x08\xb8\xe0\xb5\x1a\xb2\x75\xa7\x6c\x74\x7b\x7c\x74\x75\x9a\x77\xa2\x84\x1e\x96\x88\x8f\x86\x81\x1a\x67\x41\xfb\x0c\x30" -+"\xfb\x03\x1e\x0b\xf7\xe7\xf7\x29\x15\x37\x63\x5b\x62\x4f\x1b\x56\x67\xb2\xc5\xb9\x9d\xaf\xae\xa5\x1f\x77\xba\xa0\x86\xa9\x1b\xac" -+"\x9e\x97\xa0\x9f\x76\x97\x67\x6e\x78\x87\x7d\x64\x1f\x87\x9a\x8a\x93\x93\x1a\xd7\xb6\xc8\xc1\xaa\x9d\x7a\x6e\x8c\x1e\x8c\x72\x8b" -+"\x8b\x90\x81\x08\x7e\x92\x98\x83\x9b\x1b\xa5\x9e\x9f\xa7\xb9\x58\xac\x46\x23\x3c\x57\x46\x6a\x97\x75\xae\x71\x1f\x42\x6f\x5d\x57" -+"\x54\x1a\x48\xc8\x59\xdf\xe6\xc9\xba\xf1\xb8\x1e\x0b\xf8\x3e\xf1\x15\x5d\x68\x77\x79\x7b\x1b\x84\x85\x91\x92\x92\x8b\x8c\x92\xa5" -+"\x1f\xe8\xf7\xf1\x05\x43\x06\xfb\x00\x74\x2e\xfb\x04\x47\x1b\x7b\x83\x94\x9d\x92\x8b\x8d\x8f\x97\x1f\xbc\xf7\x4b\x5a\x7f\x56\x81" -+"\x5e\x88\x20\x1d\x3d\x0a\x7a\x80\x89\x82\x85\x75\x1f\x76\x3d\x05\x88\x7e\x87\x71\x7f\x1a\x68\xa1\x73\xad\xaa\xad\x99\xa6\xae\x1e" -+"\xad\xa5\x9e\xa1\xaf\xc0\x4c\xfb\x80\x18\x89\x0b\xf7\xd6\xfb\x40\x15\xf7\x17\xf8\x7f\x05\x91\xa3\x8f\xa2\x9e\x1a\xae\x73\xa3\x67" -+"\x53\x4d\x54\xfb\x16\x31\x1e\xa7\xf0\x05\x8e\x98\x8d\x99\x94\x1a\xa9\x7a\x9d\x70\x53\x4f\x57\x37\x64\x1e\x9d\x80\x05\xc0\xa5\xb1" -+"\xb5\xa2\x1b\x95\x92\x82\x7f\x85\x8b\x8b\x80\x63\x1f\x35\xfb\xd9\x05\xd3\x06\xb1\xf7\x21\x9c\xcc\xbc\xd7\xc9\xc5\x19\xac\xad\x9b" -+"\x95\x9c\x1b\x9a\x94\x80\x79\x79\x8a\x88\x7d\x59\x1f\xfb\x12\xfc\x5b\x05\x0b\x77\x0a\x6e\x97\x7f\xa7\xb3\xa3\x9e\xe6\xd6\x1e\x7b" -+"\x0a\x0b\x37\x1d\xc3\xc3\x3e\x0a\x71\x78\x38\x1d\x70\x56\x68\x1e\x0b\x1b\x3c\x30\x62\x43\x3c\x1f\x26\x2e\x50\xfb\x0d\xfb\x09\x1a" -+"\x30\xa8\x4e\xcd\x5b\x1e\x35\xfb\x13\x05\xb7\x06\xd5\xf7\x00\x05\x7c\xb1\xa4\x85\xaa\x1b\xf7\x66\xf7\x64\xf7\x73\xf7\x76\xb9\x7f" -+"\xbb\x75\xb0\x1f\x7c\xa4\x7e\x98\x6b\xa5\x08\xfc\x33\xfc\xbc\x15\x79\xad\x84\xa9\xb1\x1a\xf3\xba\xf7\x23\xca\xe6\x1e\xdb\xc2\xca" -+"\xb2\xd2\x1b\xad\xa2\x84\x78\xa4\x1f\xa3\x6a\x15\x9c\x0b\xf7\xf2\x6c\x0a\x0e\xf9\x06\x15\xf7\x27\x06\xa9\x99\x89\x84\x96\x1f\x9d" -+"\x80\x96\x75\x70\x1a\x78\x89\x79\x85\x6b\x1e\x9c\x06\xb9\xf7\x42\x05\xfc\x61\x76\x0a\x0b\x15\x5d\x5d\x63\x76\x5e\x1b\x52\x64\xb7" -+"\xcb\x98\x8c\x9b\x8d\x9d\x1f\xd9\x8e\xb8\x94\xb9\xa1\x08\xcf\xaa\xb6\xc2\xc3\x1a\xb6\x63\xaa\x52\xfb\x16\xfb\x1d\xfb\x2e\xfb\x25" -+"\x2f\xc1\x4d\xdd\xc9\xcb\xad\xce\xc8\x1e\xfb\x7e\xf7\x12\x15\xf7\x08\xab\xd0\xdf\xc9\x1b\xa2\x9d\x78\x72\x69\x75\x62\x68\x6d\x1f" -+"\x66\x6b\x67\x7f\x41\x84\x08\x0e\xf8\x7f\x22\x0a\xfb\x92\xd5\x0a\x77\x83\x6e\x1e\xfb\x17\xfc\x65\x05\x64\x80\x7d\x7c\x73\x1b\x73" -+"\x80\x97\xa7\x90\x8b\x90\x8c\x90\x1f\x94\x07\xa4\x75\xa1\x70\x70\x79\x75\x6b\x56\xba\x68\xd1\xbe\xb8\x9f\xb0\xaa\x1e\xa6\xab\x9f" -+"\xb8\xa0\xd7\xf2\xf8\x07\x18\x9d\xc7\x92\x91\xc4\x93\x08\x0b\xc7\xc1\xd7\xb2\x76\xb6\x5c\xc5\x1f\x65\xba\x7b\xaa\xa7\x1a\xac\xa0" -+"\x9f\xae\xbf\xa9\x66\x3d\x95\x1e\x9b\x06\x9f\xf7\x1f\x05\x7d\x06\x7d\x82\x85\x87\x7c\x1b\x83\x82\x8d\x90\x78\x1f\x93\x72\x7d\x8d" -+"\x7a\x1b\x41\x5c\x60\x48\x6b\xa0\x60\xb5\x55\x1f\xb2\x58\x9c\x68\x6e\x1a\x5d\x6d\x6c\x5f\x53\x6d\xb4\xea\x7b\x1e\x0b\xf8\xc1\x15" -+"\xa0\x0a\x6a\x1a\x80\x89\x7f\xa4\x0a\xf7\x96\x06\xdf\xca\x99\xa7\xbb\x1f\xc9\xb0\xb0\xc8\xc5\x0a\x75\x1e\x81\x65\x15\x8d\x99\x0b" -+"\xa4\x08\xb5\xa7\xa0\xac\xb1\x1a\xb6\x6c\xa6\x59\x62\x69\x79\x5d\x5c\x1e\xa1\xc9\x44\x89\x78\x60\x05\xaf\x7b\x7b\x96\x69\x1b\xfb" -+"\x10\xfb\x30\xfb\x5c\xfb\x32\x54\xae\x64\xbc\xcb\xb8\xb0\xf7\x11\xe1\x1f\x86\x7a\x8a\x83\x7c\x1a\x44\xb7\x58\xca\xca\xd7\xb7\xcf" -+"\xc3\x1e\xfb\xb9\xf7\xd4\x15\xa6\x8a\x9d\x77\x0b\xef\x15\x68\x73\x6f\x72\x7d\x1b\x83\x84\x91\x91\x8e\x8c\x90\x8c\x90\x1f\xf0\xf8" -+"\x0f\x59\x7f\x59\x83\x5c\x87\x20\x1d\x8d\x9b\x93\x8c\x94\x50\x0a\x3f\xfb\xae\x05\x88\x7e\x89\x7e\x81\x1a\x77\x9a\x7f\xa6\xac\xb4" -+"\xaa\xcc\xc1\x1e\x0b\xcf\x0a\xab\xa9\xa1\x9f\xa6\x9c\xbf\x0a\xa1\xa5\xc0\xae\x1e\x0b\x54\xfb\x13\x43\x3d\x1e\x72\x74\x6c\x7b\x71" -+"\x1b\x73\x7f\xa1\xb1\x8d\x1f\x92\xf7\x27\xf7\x01\xf7\x47\xdb\x87\x08\xe0\xfb\x5a\x15\xa9\xe4\x9d\xad\xae\xb1\x08\x9f\x9f\xa2\x97" -+"\xa2\x1b\xa2\x97\x7e\x74\x75\x84\x76\x7e\x77\x1f\x6c\x5c\x60\x73\x31\x74\x08\x0b\x5c\x1d\xa6\x94\xa0\x94\xb5\x08\x0e\x66\x1d\x7d" -+"\x87\x7e\x9d\x1d\x9d\x1a\x96\x8d\x96\x8f\x9c\x1e\x0b\x1f\x8e\x95\x8c\x8d\x8d\x94\x84\x8e\x18\x4e\x84\x88\x88\x80\x5b\x05\xb0\x83" -+"\x6e\xa0\x60\x1b\xfb\x19\xfb\x2d\xfb\x4a\xfb\x33\x45\xb1\x62\xcb\xd1\xb6\xac\xf7\x10\xe3\x1f\x76\x39\x89\x83\x72\x1a\x0b\x1f\x9c" -+"\x87\xd0\xf7\x7c\x79\x8f\x61\x30\x81\x86\xfb\x33\x8a\x19\xc8\xf7\x72\x05\xac\x94\x93\x8f\xbb\x1b\xf7\x37\xa7\x7f\x45\x84\x8b\x7b" -+"\x8a\x7e\x1f\x9c\x89\xac\xf7\x2d\x05\xfc\x99\x7c\x06\x0b\xd6\x06\xb3\xf7\x2e\x98\xad\xb3\xc8\x08\xda\xbf\xcf\xc9\xae\x1b\x9a\x98" -+"\x7f\x7e\x87\x88\x7e\x87\x7b\x1f\x54\xfb\x63\x05\x7e\x5a\x84\x6c\x7f\x1a\x71\x9c\x7b\xa7\xbd\xae\xa6\xe2\xc7\x1e\x0b\xf7\x32\xa8" -+"\xb0\xd1\xc3\x1b\x99\x93\x36\x0a\x87\x43\x1d\x9e\x9d\xa1\xb1\x66\xa6\x59\x5b\x64\x75\x5d\x67\x1e\x6d\x63\x0b\xfb\x3b\xf7\xd3\x15" -+"\xad\x89\xa1\x73\x68\x1a\x37\x58\xfb\x0a\x47\x41\x1e\x70\x73\x69\x7a\x6e\x1b\x67\x75\xa7\xb9\xc3\xb0\xf0\xb7\xca\x1f\xb3\xc5\xb9" -+"\xab\xb4\x88\x08\x0b\x2a\x0a\x99\x93\x8d\x95\x85\x0a\x0b\x86\x79\x05\xf7\x54\x06\xf7\x28\xbd\x93\xad\xc0\x1f\xc6\xaf\xaf\xca\xce" -+"\x1a\xd1\x68\xb7\x3f\xa6\x1e\xbf\x99\xa2\x95\xa4\x9f\x08\xb2\xa9\xa4\xbc\xb8\x1a\xb4\x0b\xc0\x48\xd9\xd1\xbd\xac\xdd\xc5\x1e\x87" -+"\x6f\x8a\x7e\x7e\x1a\x67\x9b\x72\xa2\xb2\xb2\xb4\xe9\xbb\x1e\xfb\x5f\xad\x15\x2b\x68\x61\x5a\x5b\x1b\x64\x76\xab\xc6\x0b\x15\x42" -+"\x1d\xf7\x2e\x16\x42\x1d\x0b\xf7\x34\xf8\x48\x9a\x1d\x0b\xf9\xce\xf7\x3d\x15\x20\x43\x51\x6e\xfb\x2a\x1b\x6d\x06\x68\x7b\x94\x9f" -+"\x97\x9a\xc5\xbc\xf7\x40\x1f\x92\xa3\x05\xb3\x06\xec\xa0\x82\x62\x0b\xcd\x1d\x67\x7f\x8d\x90\x81\x1f\x7e\x92\x83\x98\x9a\x1a\x98" -+"\x8d\x97\x8e\x9a\x1e\x0b\x15\xfc\xa0\x07\x3a\xf7\x66\x56\x74\xf7\x13\xfb\xb2\x05\xd8\x06\xf7\x14\xf7\xb2\x56\xa2\x3a\xfb\x66\x05" -+"\xf8\xa0\x07\xdc\xfb\x66\xc0\x0b\x48\x55\x7f\x7f\x7b\x1b\x82\x84\x93\x95\x96\x9b\xc9\x9c\xbf\x1f\xa8\xe8\x9e\xd6\xa4\x1a\xb3\x70" -+"\xa6\x64\x4a\x44\x4a\xfb\x26\x2e\x1e\x0b\x4f\x0a\x7a\x8f\x96\x6d\x3c\x0a\x0b\x72\x77\x78\x73\x72\xa0\x76\xd3\x0a\x0b\x15\xa9\x89" -+"\x9a\x78\x67\x1a\xfb\x2c\x23\xfb\x40\x2f\x68\x74\xa5\xb3\xdd\xbd\xf7\x09\xcd\xd1\x1e\xa7\xa8\xb0\x9e\xa7\x89\x08\x0b\x73\x1a\x6e" -+"\x9e\x77\xa8\xb3\xae\xa7\xd8\xc4\x1e\x7b\x94\x79\x76\x80\x7f\x87\x86\x19\x75\x75\x7e\x82\x81\x1b\x85\x86\x8f\x91\x0b\x19\x86\x78" -+"\x05\x3d\x0a\x79\x81\x89\x80\x86\x77\x1f\x51\xfb\x6d\x05\x82\x6a\x89\x7f\x79\x1a\x0b\x99\xd5\x21\x1d\xfb\xa3\x06\x85\x4c\x1d\x0b" -+"\x1a\x90\x89\x8f\x88\x89\x87\x8a\x89\x87\x1e\x87\x8a\x87\x8a\x05\x85\x7d\x8b\x8b\x85\x1b\x86\x80\x8d\x8d\x7c\x1f\x90\x0b\x06\xf7" -+"\x3f\xf5\x05\x97\x93\x90\x93\x97\x1a\x0b\xd1\x0a\xa3\xa6\x74\x9d\x68\x60\x72\x76\x48\x64\x1f\x5b\x38\x6a\x71\x48\x83\x08\x0b\xc0" -+"\x86\x9d\x80\x6d\x1a\x7b\x71\x27\x5b\xfb\x3f\x1e\x7e\x5a\x05\xfb\x38\x5f\x4b\x47\xfb\x02\x1b\x38\x52\xba\xd2\x0b\xbc\x0a\x79\x7d" -+"\x6a\x1d\x0b\x5a\x67\x4d\x1b\x4c\x63\xaf\xca\x87\xf7\x01\x1d\xa1\xae\x7c\xb8\x1b\xc0\x0b\x7b\x1e\xfb\xab\xfb\x7e\xbe\xf7\x53\x9d" -+"\xd2\x9e\x9a\xcc\x8c\x19\x90\x9d\x05\xfb\x9f\x22\x1d\x0b\xb4\x1d\x84\x1e\x0e\xc4\x1d\x82\xd6\x0a\x15\xae\x06\xf7\x3f\xf5\x05\x97" -+"\x92\x90\x94\x97\x1a\xa0\x7b\x9a\x77\x81\xd6\x0a\xd4\x96\x0a\x0b\x15\xae\xb3\x1d\x0b\x76\x7b\x7a\x74\x67\xac\x71\xb8\xe5\xd0\xec" -+"\xf7\x4e\x40\x0a\xf7\x2f\x06\x96\x0b\xf7\xbd\x15\x64\x8c\x81\x8f\x9b\x1a\x93\x92\xa4\x97\xb3\x1e\xe1\xf7\xa6\x05\x8d\x91\x8c\x0b" -+"\x35\x92\x87\x8d\xb0\x1a\x97\x8d\x95\x95\xaf\x1e\x0b\x15\xd9\x06\xc0\xa2\x7c\x6a\x7b\x89\x81\x84\x6c\x1f\x9c\x06\xcb\xf7\x85\x05" -+"\x7a\x06\x0b\x9d\x1f\x8c\x8f\x8c\x8e\x8c\x8c\x08\x8d\x07\xd0\xf7\x9d\xed\xbd\x97\xb9\x05\x0e\x15\x6c\x73\x72\x6b\x6d\xa3\x73\xa9" -+"\xab\xa4\xa3\xa9\xab\x72\xa4\x6c\x1f\x0e\x8c\x0a\x9f\x7b\x9b\x76\x82\x82\x87\x85\x0b\x15\xa7\xaa\x9b\x93\xa5\x1b\xa7\xa1\x75\x6d" -+"\x5e\x5c\x6d\x27\x78\x1f\x82\x07\x0b\xc1\x1d\x7b\x0b\xd4\x9e\x9d\x99\xd5\x34\x1d\xc2\x8a\x9c\x81\x0b\x6d\x72\x72\x6b\x6e\xa4\x72" -+"\xa8\xaa\x36\x1d\x0e\x15\xa9\xa4\x72\x6d\x6d\x72\x72\x6d\x6e\x71\xa4\xa8\xaa\xa4\xa4\xa9\x1f\x0b\x88\x19\x7b\x07\xc1\x8a\x94\x88" -+"\x77\x1a\x0b\x87\x7d\x1e\xfb\x0e\xfc\x5f\x79\x47\x78\x49\x1d\x0b\x5f\x1d\x77\x0b\x6f\x75\x76\x70\x6e\xa1\x75\xa7\xa6\xa1\xa1\xa6" -+"\xa5\x73\xa3\x72\x1f\x0b\xcd\x0a\x42\x2c\x1a\xfb\x08\xb8\x0b\x1b\xf0\xbe\x5f\x35\x22\x37\x41\xfb\x0b\x77\x7d\x8c\x90\x6f\x1f\x0b" -+"\xb5\x60\xc0\xde\x1d\x0b\x6a\x1a\x5d\x6b\x6d\x5c\x5b\x6d\xa7\xb7\xba\xa6\xab\xc8\xa4\x1e\x0b\xf7\xae\xf7\x93\x15\xfb\x6f\x06\x7d" -+"\x4c\x05\xf7\x70\x06\x0e\xf7\xe5\xe8\x1d\x0e\xf7\x0d\xd9\xdc\x1f\xbc\xbb\xca\xa7\x0b\xf8\x1b\xf7\x2c\x15\x54\xf8\x92\x05\xfb\x45" -+"\x06\x86\x79\xac\x0b\x9e\xc7\x8f\x19\x9b\xfb\xa5\x7b\x07\xca\x85\x99\x83\x6e\x1a\x0b\xbc\xb4\xa5\xbe\xae\x1e\x7a\x9d\x05\x75\x70" -+"\x73\x81\x6b\x1b\x0b\xdb\x1d\x0e\x1b\xbb\xac\xb0\xce\x99\x1f\x0e\x24\x0a\x70\x84\x8c\x8f\x80\x1f\x7b\x90\x81\x9a\x0b\x86\x90\x4f" -+"\x7d\x64\x85\x51\x84\x19\x7b\x07\xa5\x8c\x05\x0b\x9d\x05\x55\x8c\x7a\x96\xab\x1a\x95\x8d\x97\x8f\x9b\x1e\x0b\x8c\x8f\x81\x1f\x7b" -+"\x91\x81\x99\x0b\x1e\xfb\x0f\xfc\x4e\x0b\x84\x7e\x89\x85\x81\x1a\x73\x9a\x7d\xa3\xa7\x9f\x9e\x0b\x15\x64\x71\x7a\x7f\x6c\x1b\x76" -+"\x76\x90\x94\x7a\x1f\x0b\x1a\x7f\x89\x7d\x87\x7d\x1e\xfb\x0e\xfc\x5e\x7a\x48\x0b\x1b\x7b\x78\xf7\xb8\x9e\x7a\x06\x55\x77\x9f\xc2" -+"\x1f\x0b\xf7\x72\xf7\x06\x15\x72\x6a\x85\x83\x81\x81\x08\x7a\x0b\x79\x47\x78\x7a\x4e\x89\x20\x1d\xf7\x89\x06\x0b\xa3\xb8\xad\x1f" -+"\x9f\xa6\x93\xa1\x94\xb5\x08\x0e\x85\x96\x78\x9c\x1e\x7c\x99\x86\x93\x96\x1a\xa6\x0b\x8b\x8b\x8e\x8f\x08\x98\x95\x97\x92\x96\x1b" -+"\x92\x0b\x1f\x7a\x6e\x05\x7b\xb4\xa2\x86\xa8\x1b\xd1\xbc\x0b\xa8\xc8\xc9\x1e\xee\xec\xca\xf7\x1e\xf7\x0b\x1a\x0b\xf9\x31\xf9\x66" -+"\x15\x5f\x06\x57\x3d\x05\x9b\x65\x0b\x4d\xf3\x1d\x05\x0b\xce\x1a\xf7\x01\x33\xcf\xfb\x23\x7b\x81\x8a\x89\x0b\xfb\x14\xf7\xb2\x05" -+"\x3e\x06\xfb\x13\xfb\xb2\xc0\x0b\x06\xdb\xf7\x68\x05\x4e\x06\x3b\xfb\x68\x05\x0b\x06\x3b\xfb\x69\x05\xc9\x06\xda\xf7\x69\x05\x0b" -+"\x1b\xa2\x9f\x81\x7f\x89\x8a\x88\x88\x87\x1f\x0b\xda\x69\x1e\x7d\xad\xa6\x87\xd0\x1b\xf7\xac\x0b\xf7\x6f\xcd\xfb\x6f\xf7\x70\x49" -+"\x06\x0e\x81\x5d\x7d\x7f\x60\x8a\x08\x7b\xf7\x61\x0b\x06\x38\x68\x84\x72\x66\x1f\x4a\x60\x69\x0b\x8b\x83\x90\x08\x85\x8f\x89\x91" -+"\xae\x1a\x0b\x15\x36\x5c\x5e\x54\x52\x1a\x63\xa4\x6c\x0b\x93\x8c\x94\x1b\x9d\x93\x84\x7c\x80\x89\x0b\x1f\x7d\x99\x91\x88\x9a\x1b" -+"\xa7\x9c\x9a\x0b\x1f\xe3\xf7\xe5\x05\x43\x06\x75\x3d\x05\x0b\xa4\xa4\x9e\x9e\xa3\xa4\x76\xa0\x73\x1f\x0b\x65\x72\x60\x1b\x5c\x6c" -+"\xaf\xc2\xd5\xa8\x0b\x7b\x06\xca\x85\x99\x83\x70\x1a\x7c\x87\x0b\x83\x88\x84\x84\x1e\x0e", 56086 -+}; -diff -up texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/fonts/NimbusRoman-Regular.cff.cpp.301 texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/fonts/NimbusRoman-Regular.cff.cpp ---- texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/fonts/NimbusRoman-Regular.cff.cpp.301 2023-01-17 15:53:51.710205381 -0500 -+++ texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/fonts/NimbusRoman-Regular.cff.cpp 2023-01-17 15:53:51.710205381 -0500 -@@ -0,0 +1,1522 @@ -+#include "Base14Fonts.hpp" -+ -+extern const MemoryFontData NimbusRoman_Regular_cff = { -+"\x01\x00\x04\x02\x00\x01\x01\x01\x14\x4e\x69\x6d\x62\x75\x73\x52\x6f\x6d\x61\x6e\x2d\x52\x65\x67\x75\x6c\x61\x72\x00\x01\x01\x01" -+"\x2f\xf9\xbc\x00\xf9\xbd\x01\xf9\xbe\x0c\x00\xf9\xbf\x02\xf9\xc0\x03\xf8\x18\x04\x20\x0c\x03\xfb\x3c\xfb\xad\xfa\x7c\xfa\xb1\x05" -+"\x1c\x28\xad\x0f\x1c\x28\xc0\x11\xbc\x1d\x00\x00\xac\xae\x12\x01\xa6\x02\x00\x01\x00\x08\x00\x0e\x00\x13\x00\x1d\x00\x24\x00\x2b" -+"\x00\x35\x00\x39\x00\x3f\x00\x45\x00\x50\x00\x5a\x00\x5d\x00\x63\x00\x69\x00\x6e\x00\x74\x00\x7a\x00\x84\x00\x8b\x00\x8e\x00\x95" -+"\x00\x9c\x00\xa8\x00\xab\x00\xb3\x00\xb7\x00\xbc\x00\xc2\x00\xcd\x00\xd9\x00\xe3\x00\xe7\x00\xf2\x00\xf4\x00\xfa\x01\x04\x01\x0b" -+"\x01\x12\x01\x16\x01\x22\x01\x2b\x01\x31\x01\x3c\x01\x41\x01\x4d\x01\x53\x01\x59\x01\x5f\x01\x6b\x01\x6f\x01\x71\x01\x77\x01\x7d" -+"\x01\x89\x01\x8b\x01\x91\x01\x9e\x01\xa5\x01\xaf\x01\xb6\x01\xc2\x01\xcd\x01\xd0\x01\xd2\x01\xd5\x01\xdb\x01\xe1\x01\xed\x01\xf0" -+"\x01\xf6\x01\xfe\x02\x09\x02\x15\x02\x1a\x02\x1d\x02\x21\x02\x27\x02\x33\x02\x38\x02\x3e\x02\x4b\x02\x52\x02\x59\x02\x60\x02\x6f" -+"\x02\x7b\x02\x80\x02\x86\x02\x8c\x02\x97\x02\xa0\x02\xa6\x02\xa8\x02\xb3\x02\xb9\x02\xbf\x02\xc9\x02\xcd\x02\xd3\x02\xda\x02\xe3" -+"\x02\xec\x02\xf5\x02\xfe\x03\x07\x03\x10\x03\x19\x03\x22\x03\x2b\x03\x34\x03\x3d\x03\x46\x03\x4f\x03\x58\x03\x61\x03\x6a\x03\x73" -+"\x03\x7c\x03\x85\x03\x8e\x03\x97\x03\xa0\x03\xa9\x03\xb2\x03\xbb\x03\xc4\x03\xcd\x03\xd6\x03\xdf\x03\xe8\x03\xf1\x03\xfa\x04\x03" -+"\x04\x0c\x04\x15\x04\x1e\x04\x27\x04\x30\x04\x39\x04\x42\x04\x4b\x04\x54\x04\x5d\x04\x66\x04\x6f\x04\x78\x04\x81\x04\x8a\x04\x93" -+"\x04\x9c\x04\xa5\x04\xae\x04\xb7\x04\xc0\x04\xc9\x04\xd2\x04\xdb\x04\xe4\x04\xed\x04\xf6\x04\xff\x05\x08\x05\x11\x05\x1a\x05\x23" -+"\x05\x2c\x05\x35\x05\x3e\x05\x47\x05\x50\x05\x59\x05\x62\x05\x6b\x05\x74\x05\x7d\x05\x86\x05\x8f\x05\x98\x05\xa1\x05\xaa\x05\xb3" -+"\x05\xbc\x05\xc5\x05\xce\x05\xd7\x05\xe0\x05\xe9\x05\xf2\x05\xfb\x06\x04\x06\x0d\x06\x16\x06\x1f\x06\x28\x06\x31\x06\x3a\x06\x43" -+"\x06\x4c\x06\x55\x06\x5a\x06\x64\x06\x6b\x06\x74\x06\x7e\x06\x85\x06\x90\x06\x9a\x06\xa3\x06\xac\x06\xb5\x06\xbf\x06\xc6\x06\xcf" -+"\x06\xdb\x06\xdf\x06\xe5\x06\xeb\x06\xf6\x07\x00\x07\x03\x07\x11\x07\x15\x07\x1b\x07\x21\x07\x26\x07\x2d\x07\x3a\x07\x40\x07\x46" -+"\x07\x50\x07\x57\x07\x5e\x07\x61\x07\x68\x07\x6f\x07\x7b\x07\x86\x07\x8f\x07\x92\x07\x9a\x07\xa3\x07\xae\x07\xb4\x07\xb9\x07\xbe" -+"\x07\xc4\x07\xcf\x07\xdb\x07\xe5\x07\xf1\x07\xf5\x08\x00\x08\x05\x08\x0a\x08\x10\x08\x12\x08\x19\x08\x21\x08\x29\x08\x33\x08\x3d" -+"\x08\x49\x08\x55\x08\x5c\x08\x60\x08\x6c\x08\x7d\x08\x86\x08\x8c\x08\x97\x08\x9c\x08\xa8\x08\xb4\x08\xba\x08\xc0\x08\xc6\x08\xd2" -+"\x08\xd6\x08\xdf\x08\xe3\x08\xe8\x08\xec\x08\xf2\x08\xfd\x09\x0b\x09\x11\x09\x1c\x09\x22\x09\x2e\x09\x38\x09\x40\x09\x42\x09\x48" -+"\x09\x55\x09\x5c\x09\x61\x09\x6b\x09\x72\x09\x7e\x09\x88\x09\x93\x09\x9e\x09\xa4\x09\xa7\x09\xa9\x09\xb0\x09\xbc\x09\xca\x09\xcd" -+"\x09\xda\x09\xe0\x09\xe7\x09\xed\x09\xf9\x0a\x06\x0a\x09\x0a\x0f\x0a\x17\x0a\x22\x0a\x2e\x0a\x34\x0a\x39\x0a\x42\x0a\x47\x0a\x50" -+"\x0a\x53\x0a\x56\x0a\x5a\x0a\x60\x0a\x6c\x0a\x71\x0a\x76\x0a\x7c\x0a\x89\x0a\x90\x0a\x9d\x0a\xa4\x0a\xab\x0a\xb2\x0a\xb9\x0a\xc0" -+"\x0a\xc7\x0a\xce\x0a\xd5\x0a\xdc\x0a\xe3\x0a\xea\x0a\xf1\x0a\xf8\x0a\xff\x0b\x06\x0b\x0d\x0b\x14\x0b\x1b\x0b\x22\x0b\x29\x0b\x30" -+"\x0b\x37\x0b\x3e\x0b\x45\x0b\x4c\x0b\x53\x0b\x5a\x0b\x61\x0b\x68\x0b\x6f\x0b\x76\x0b\x7d\x0b\x84\x0b\x8b\x0b\x92\x0b\x99\x0b\xa0" -+"\x0b\xa7\x0b\xae\x0b\xb5\x0b\xbc\x0b\xc3\x0b\xca\x0b\xd1\x0b\xd8\x0b\xdf\x0b\xe6\x0b\xed\x0b\xf4\x0b\xfb\x0c\x02\x0c\x09\x0c\x10" -+"\x0c\x17\x0c\x1e\x0c\x25\x0c\x2c\x0c\x33\x0c\x3a\x0c\x41\x0c\x48\x0c\x4d\x0c\x56\x0c\x5d\x0c\x64\x0c\x73\x0c\x87\x0c\x93\x0c\x98" -+"\x0c\x9e\x0c\xa4\x0c\xaf\x0c\xb8\x0c\xbe\x0c\xc0\x0c\xcb\x0c\xd1\x0c\xd7\x0c\xe1\x0c\xe5\x0c\xe9\x0d\x1f\x0d\x5f\x0d\x73\x0d\x7f" -+"\x41\x45\x61\x63\x75\x74\x65\x41\x62\x72\x65\x76\x65\x41\x6c\x70\x68\x61\x41\x6c\x70\x68\x61\x74\x6f\x6e\x6f\x73\x41\x6d\x61\x63" -+"\x72\x6f\x6e\x41\x6f\x67\x6f\x6e\x65\x6b\x41\x72\x69\x6e\x67\x61\x63\x75\x74\x65\x42\x65\x74\x61\x43\x61\x63\x75\x74\x65\x43\x63" -+"\x61\x72\x6f\x6e\x43\x63\x69\x72\x63\x75\x6d\x66\x6c\x65\x78\x43\x64\x6f\x74\x61\x63\x63\x65\x6e\x74\x43\x68\x69\x44\x63\x61\x72" -+"\x6f\x6e\x44\x63\x72\x6f\x61\x74\x44\x65\x6c\x74\x61\x45\x62\x72\x65\x76\x65\x45\x63\x61\x72\x6f\x6e\x45\x64\x6f\x74\x61\x63\x63" -+"\x65\x6e\x74\x45\x6d\x61\x63\x72\x6f\x6e\x45\x6e\x67\x45\x6f\x67\x6f\x6e\x65\x6b\x45\x70\x73\x69\x6c\x6f\x6e\x45\x70\x73\x69\x6c" -+"\x6f\x6e\x74\x6f\x6e\x6f\x73\x45\x74\x61\x45\x74\x61\x74\x6f\x6e\x6f\x73\x45\x75\x72\x6f\x47\x61\x6d\x6d\x61\x47\x62\x72\x65\x76" -+"\x65\x47\x63\x69\x72\x63\x75\x6d\x66\x6c\x65\x78\x47\x63\x6f\x6d\x6d\x61\x61\x63\x63\x65\x6e\x74\x47\x64\x6f\x74\x61\x63\x63\x65" -+"\x6e\x74\x48\x62\x61\x72\x48\x63\x69\x72\x63\x75\x6d\x66\x6c\x65\x78\x49\x4a\x49\x62\x72\x65\x76\x65\x49\x64\x6f\x74\x61\x63\x63" -+"\x65\x6e\x74\x49\x6d\x61\x63\x72\x6f\x6e\x49\x6f\x67\x6f\x6e\x65\x6b\x49\x6f\x74\x61\x49\x6f\x74\x61\x64\x69\x65\x72\x65\x73\x69" -+"\x73\x49\x6f\x74\x61\x74\x6f\x6e\x6f\x73\x49\x74\x69\x6c\x64\x65\x4a\x63\x69\x72\x63\x75\x6d\x66\x6c\x65\x78\x4b\x61\x70\x70\x61" -+"\x4b\x63\x6f\x6d\x6d\x61\x61\x63\x63\x65\x6e\x74\x4c\x61\x63\x75\x74\x65\x4c\x61\x6d\x62\x64\x61\x4c\x63\x61\x72\x6f\x6e\x4c\x63" -+"\x6f\x6d\x6d\x61\x61\x63\x63\x65\x6e\x74\x4c\x64\x6f\x74\x4d\x75\x4e\x61\x63\x75\x74\x65\x4e\x63\x61\x72\x6f\x6e\x4e\x63\x6f\x6d" -+"\x6d\x61\x61\x63\x63\x65\x6e\x74\x4e\x75\x4f\x62\x72\x65\x76\x65\x4f\x68\x75\x6e\x67\x61\x72\x75\x6d\x6c\x61\x75\x74\x4f\x6d\x61" -+"\x63\x72\x6f\x6e\x4f\x6d\x65\x67\x61\x74\x6f\x6e\x6f\x73\x4f\x6d\x69\x63\x72\x6f\x6e\x4f\x6d\x69\x63\x72\x6f\x6e\x74\x6f\x6e\x6f" -+"\x73\x4f\x73\x6c\x61\x73\x68\x61\x63\x75\x74\x65\x50\x68\x69\x50\x69\x50\x73\x69\x52\x61\x63\x75\x74\x65\x52\x63\x61\x72\x6f\x6e" -+"\x52\x63\x6f\x6d\x6d\x61\x61\x63\x63\x65\x6e\x74\x52\x68\x6f\x53\x61\x63\x75\x74\x65\x53\x63\x65\x64\x69\x6c\x6c\x61\x53\x63\x69" -+"\x72\x63\x75\x6d\x66\x6c\x65\x78\x53\x63\x6f\x6d\x6d\x61\x61\x63\x63\x65\x6e\x74\x53\x69\x67\x6d\x61\x54\x61\x75\x54\x62\x61\x72" -+"\x54\x63\x61\x72\x6f\x6e\x54\x63\x6f\x6d\x6d\x61\x61\x63\x63\x65\x6e\x74\x54\x68\x65\x74\x61\x55\x62\x72\x65\x76\x65\x55\x68\x75" -+"\x6e\x67\x61\x72\x75\x6d\x6c\x61\x75\x74\x55\x6d\x61\x63\x72\x6f\x6e\x55\x6f\x67\x6f\x6e\x65\x6b\x55\x70\x73\x69\x6c\x6f\x6e\x55" -+"\x70\x73\x69\x6c\x6f\x6e\x64\x69\x65\x72\x65\x73\x69\x73\x55\x70\x73\x69\x6c\x6f\x6e\x74\x6f\x6e\x6f\x73\x55\x72\x69\x6e\x67\x55" -+"\x74\x69\x6c\x64\x65\x57\x61\x63\x75\x74\x65\x57\x63\x69\x72\x63\x75\x6d\x66\x6c\x65\x78\x57\x64\x69\x65\x72\x65\x73\x69\x73\x57" -+"\x67\x72\x61\x76\x65\x58\x69\x59\x63\x69\x72\x63\x75\x6d\x66\x6c\x65\x78\x59\x67\x72\x61\x76\x65\x5a\x61\x63\x75\x74\x65\x5a\x64" -+"\x6f\x74\x61\x63\x63\x65\x6e\x74\x5a\x65\x74\x61\x61\x62\x72\x65\x76\x65\x61\x65\x61\x63\x75\x74\x65\x61\x66\x69\x69\x30\x30\x32" -+"\x30\x38\x61\x66\x69\x69\x31\x30\x30\x31\x37\x61\x66\x69\x69\x31\x30\x30\x31\x38\x61\x66\x69\x69\x31\x30\x30\x31\x39\x61\x66\x69" -+"\x69\x31\x30\x30\x32\x30\x61\x66\x69\x69\x31\x30\x30\x32\x31\x61\x66\x69\x69\x31\x30\x30\x32\x32\x61\x66\x69\x69\x31\x30\x30\x32" -+"\x33\x61\x66\x69\x69\x31\x30\x30\x32\x34\x61\x66\x69\x69\x31\x30\x30\x32\x35\x61\x66\x69\x69\x31\x30\x30\x32\x36\x61\x66\x69\x69" -+"\x31\x30\x30\x32\x37\x61\x66\x69\x69\x31\x30\x30\x32\x38\x61\x66\x69\x69\x31\x30\x30\x32\x39\x61\x66\x69\x69\x31\x30\x30\x33\x30" -+"\x61\x66\x69\x69\x31\x30\x30\x33\x31\x61\x66\x69\x69\x31\x30\x30\x33\x32\x61\x66\x69\x69\x31\x30\x30\x33\x33\x61\x66\x69\x69\x31" -+"\x30\x30\x33\x34\x61\x66\x69\x69\x31\x30\x30\x33\x35\x61\x66\x69\x69\x31\x30\x30\x33\x36\x61\x66\x69\x69\x31\x30\x30\x33\x37\x61" -+"\x66\x69\x69\x31\x30\x30\x33\x38\x61\x66\x69\x69\x31\x30\x30\x33\x39\x61\x66\x69\x69\x31\x30\x30\x34\x30\x61\x66\x69\x69\x31\x30" -+"\x30\x34\x31\x61\x66\x69\x69\x31\x30\x30\x34\x32\x61\x66\x69\x69\x31\x30\x30\x34\x33\x61\x66\x69\x69\x31\x30\x30\x34\x34\x61\x66" -+"\x69\x69\x31\x30\x30\x34\x35\x61\x66\x69\x69\x31\x30\x30\x34\x36\x61\x66\x69\x69\x31\x30\x30\x34\x37\x61\x66\x69\x69\x31\x30\x30" -+"\x34\x38\x61\x66\x69\x69\x31\x30\x30\x34\x39\x61\x66\x69\x69\x31\x30\x30\x35\x30\x61\x66\x69\x69\x31\x30\x30\x35\x31\x61\x66\x69" -+"\x69\x31\x30\x30\x35\x32\x61\x66\x69\x69\x31\x30\x30\x35\x33\x61\x66\x69\x69\x31\x30\x30\x35\x34\x61\x66\x69\x69\x31\x30\x30\x35" -+"\x35\x61\x66\x69\x69\x31\x30\x30\x35\x36\x61\x66\x69\x69\x31\x30\x30\x35\x37\x61\x66\x69\x69\x31\x30\x30\x35\x38\x61\x66\x69\x69" -+"\x31\x30\x30\x35\x39\x61\x66\x69\x69\x31\x30\x30\x36\x30\x61\x66\x69\x69\x31\x30\x30\x36\x31\x61\x66\x69\x69\x31\x30\x30\x36\x32" -+"\x61\x66\x69\x69\x31\x30\x30\x36\x35\x61\x66\x69\x69\x31\x30\x30\x36\x36\x61\x66\x69\x69\x31\x30\x30\x36\x37\x61\x66\x69\x69\x31" -+"\x30\x30\x36\x38\x61\x66\x69\x69\x31\x30\x30\x36\x39\x61\x66\x69\x69\x31\x30\x30\x37\x30\x61\x66\x69\x69\x31\x30\x30\x37\x31\x61" -+"\x66\x69\x69\x31\x30\x30\x37\x32\x61\x66\x69\x69\x31\x30\x30\x37\x33\x61\x66\x69\x69\x31\x30\x30\x37\x34\x61\x66\x69\x69\x31\x30" -+"\x30\x37\x35\x61\x66\x69\x69\x31\x30\x30\x37\x36\x61\x66\x69\x69\x31\x30\x30\x37\x37\x61\x66\x69\x69\x31\x30\x30\x37\x38\x61\x66" -+"\x69\x69\x31\x30\x30\x37\x39\x61\x66\x69\x69\x31\x30\x30\x38\x30\x61\x66\x69\x69\x31\x30\x30\x38\x31\x61\x66\x69\x69\x31\x30\x30" -+"\x38\x32\x61\x66\x69\x69\x31\x30\x30\x38\x33\x61\x66\x69\x69\x31\x30\x30\x38\x34\x61\x66\x69\x69\x31\x30\x30\x38\x35\x61\x66\x69" -+"\x69\x31\x30\x30\x38\x36\x61\x66\x69\x69\x31\x30\x30\x38\x37\x61\x66\x69\x69\x31\x30\x30\x38\x38\x61\x66\x69\x69\x31\x30\x30\x38" -+"\x39\x61\x66\x69\x69\x31\x30\x30\x39\x30\x61\x66\x69\x69\x31\x30\x30\x39\x31\x61\x66\x69\x69\x31\x30\x30\x39\x32\x61\x66\x69\x69" -+"\x31\x30\x30\x39\x33\x61\x66\x69\x69\x31\x30\x30\x39\x34\x61\x66\x69\x69\x31\x30\x30\x39\x35\x61\x66\x69\x69\x31\x30\x30\x39\x36" -+"\x61\x66\x69\x69\x31\x30\x30\x39\x37\x61\x66\x69\x69\x31\x30\x30\x39\x38\x61\x66\x69\x69\x31\x30\x30\x39\x39\x61\x66\x69\x69\x31" -+"\x30\x31\x30\x30\x61\x66\x69\x69\x31\x30\x31\x30\x31\x61\x66\x69\x69\x31\x30\x31\x30\x32\x61\x66\x69\x69\x31\x30\x31\x30\x33\x61" -+"\x66\x69\x69\x31\x30\x31\x30\x34\x61\x66\x69\x69\x31\x30\x31\x30\x35\x61\x66\x69\x69\x31\x30\x31\x30\x36\x61\x66\x69\x69\x31\x30" -+"\x31\x30\x37\x61\x66\x69\x69\x31\x30\x31\x30\x38\x61\x66\x69\x69\x31\x30\x31\x30\x39\x61\x66\x69\x69\x31\x30\x31\x31\x30\x61\x66" -+"\x69\x69\x31\x30\x31\x34\x35\x61\x66\x69\x69\x31\x30\x31\x39\x33\x61\x66\x69\x69\x31\x30\x38\x34\x36\x61\x66\x69\x69\x36\x31\x32" -+"\x34\x38\x61\x66\x69\x69\x36\x31\x32\x38\x39\x61\x66\x69\x69\x36\x31\x33\x35\x32\x61\x6c\x70\x68\x61\x61\x6c\x70\x68\x61\x74\x6f" -+"\x6e\x6f\x73\x61\x6d\x61\x63\x72\x6f\x6e\x61\x6e\x67\x6c\x65\x6c\x65\x66\x74\x61\x6e\x67\x6c\x65\x72\x69\x67\x68\x74\x61\x6f\x67" -+"\x6f\x6e\x65\x6b\x61\x70\x70\x72\x6f\x78\x65\x71\x75\x61\x6c\x61\x72\x69\x6e\x67\x61\x63\x75\x74\x65\x61\x72\x72\x6f\x77\x62\x6f" -+"\x74\x68\x61\x72\x72\x6f\x77\x64\x6f\x77\x6e\x61\x72\x72\x6f\x77\x6c\x65\x66\x74\x61\x72\x72\x6f\x77\x72\x69\x67\x68\x74\x61\x72" -+"\x72\x6f\x77\x75\x70\x61\x72\x72\x6f\x77\x75\x70\x64\x6e\x61\x72\x72\x6f\x77\x75\x70\x64\x6e\x62\x73\x65\x62\x65\x74\x61\x63\x61" -+"\x63\x75\x74\x65\x63\x63\x61\x72\x6f\x6e\x63\x63\x69\x72\x63\x75\x6d\x66\x6c\x65\x78\x63\x64\x6f\x74\x61\x63\x63\x65\x6e\x74\x63" -+"\x68\x69\x63\x69\x72\x63\x6c\x65\x6d\x75\x6c\x74\x69\x70\x6c\x79\x63\x6c\x75\x62\x64\x63\x61\x72\x6f\x6e\x64\x63\x72\x6f\x61\x74" -+"\x64\x65\x6c\x74\x61\x64\x69\x61\x6d\x6f\x6e\x64\x64\x69\x65\x72\x65\x73\x69\x73\x74\x6f\x6e\x6f\x73\x65\x62\x72\x65\x76\x65\x65" -+"\x63\x61\x72\x6f\x6e\x65\x64\x6f\x74\x61\x63\x63\x65\x6e\x74\x65\x6c\x65\x6d\x65\x6e\x74\x65\x6d\x61\x63\x72\x6f\x6e\x65\x6e\x67" -+"\x65\x6f\x67\x6f\x6e\x65\x6b\x65\x70\x73\x69\x6c\x6f\x6e\x65\x70\x73\x69\x6c\x6f\x6e\x74\x6f\x6e\x6f\x73\x65\x71\x75\x69\x76\x61" -+"\x6c\x65\x6e\x63\x65\x65\x73\x74\x69\x6d\x61\x74\x65\x64\x65\x74\x61\x65\x74\x61\x74\x6f\x6e\x6f\x73\x65\x78\x63\x6c\x61\x6d\x64" -+"\x62\x6c\x65\x78\x69\x73\x74\x65\x6e\x74\x69\x61\x6c\x66\x65\x6d\x61\x6c\x65\x66\x72\x61\x6e\x63\x67\x61\x6d\x6d\x61\x67\x62\x72" -+"\x65\x76\x65\x67\x63\x69\x72\x63\x75\x6d\x66\x6c\x65\x78\x67\x63\x6f\x6d\x6d\x61\x61\x63\x63\x65\x6e\x74\x67\x64\x6f\x74\x61\x63" -+"\x63\x65\x6e\x74\x67\x72\x65\x61\x74\x65\x72\x65\x71\x75\x61\x6c\x68\x62\x61\x72\x68\x63\x69\x72\x63\x75\x6d\x66\x6c\x65\x78\x68" -+"\x65\x61\x72\x74\x68\x6f\x75\x73\x65\x69\x62\x72\x65\x76\x65\x69\x6a\x69\x6d\x61\x63\x72\x6f\x6e\x69\x6e\x66\x69\x6e\x69\x74\x79" -+"\x69\x6e\x74\x65\x67\x72\x61\x6c\x69\x6e\x74\x65\x67\x72\x61\x6c\x62\x74\x69\x6e\x74\x65\x67\x72\x61\x6c\x74\x70\x69\x6e\x74\x65" -+"\x72\x73\x65\x63\x74\x69\x6f\x6e\x69\x6e\x76\x73\x6d\x69\x6c\x65\x66\x61\x63\x65\x69\x6f\x67\x6f\x6e\x65\x6b\x69\x6f\x74\x61\x69" -+"\x6f\x74\x61\x64\x69\x65\x72\x65\x73\x69\x73\x69\x6f\x74\x61\x64\x69\x65\x72\x65\x73\x69\x73\x74\x6f\x6e\x6f\x73\x69\x6f\x74\x61" -+"\x74\x6f\x6e\x6f\x73\x69\x74\x69\x6c\x64\x65\x6a\x63\x69\x72\x63\x75\x6d\x66\x6c\x65\x78\x6b\x61\x70\x70\x61\x6b\x63\x6f\x6d\x6d" -+"\x61\x61\x63\x63\x65\x6e\x74\x6b\x67\x72\x65\x65\x6e\x6c\x61\x6e\x64\x69\x63\x6c\x61\x63\x75\x74\x65\x6c\x61\x6d\x62\x64\x61\x6c" -+"\x63\x61\x72\x6f\x6e\x6c\x63\x6f\x6d\x6d\x61\x61\x63\x63\x65\x6e\x74\x6c\x64\x6f\x74\x6c\x65\x73\x73\x65\x71\x75\x61\x6c\x6c\x69" -+"\x72\x61\x6c\x6f\x6e\x67\x73\x6d\x61\x6c\x65\x6d\x69\x6e\x75\x74\x65\x6d\x75\x73\x69\x63\x61\x6c\x6e\x6f\x74\x65\x6d\x75\x73\x69" -+"\x63\x61\x6c\x6e\x6f\x74\x65\x64\x62\x6c\x6e\x61\x63\x75\x74\x65\x6e\x61\x70\x6f\x73\x74\x72\x6f\x70\x68\x65\x6e\x63\x61\x72\x6f" -+"\x6e\x6e\x63\x6f\x6d\x6d\x61\x61\x63\x63\x65\x6e\x74\x6e\x6f\x74\x65\x6c\x65\x6d\x65\x6e\x74\x6e\x6f\x74\x65\x71\x75\x61\x6c\x6e" -+"\x75\x6f\x62\x72\x65\x76\x65\x6f\x68\x75\x6e\x67\x61\x72\x75\x6d\x6c\x61\x75\x74\x6f\x6d\x61\x63\x72\x6f\x6e\x6f\x6d\x65\x67\x61" -+"\x6f\x6d\x65\x67\x61\x74\x6f\x6e\x6f\x73\x6f\x6d\x69\x63\x72\x6f\x6e\x6f\x6d\x69\x63\x72\x6f\x6e\x74\x6f\x6e\x6f\x73\x6f\x72\x74" -+"\x68\x6f\x67\x6f\x6e\x61\x6c\x6f\x73\x6c\x61\x73\x68\x61\x63\x75\x74\x65\x70\x61\x72\x74\x69\x61\x6c\x64\x69\x66\x66\x70\x65\x73" -+"\x65\x74\x61\x70\x68\x69\x70\x69\x70\x72\x6f\x64\x75\x63\x74\x70\x72\x6f\x70\x65\x72\x73\x75\x62\x73\x65\x74\x70\x72\x6f\x70\x65" -+"\x72\x73\x75\x70\x65\x72\x73\x65\x74\x70\x73\x69\x71\x75\x6f\x74\x65\x72\x65\x76\x65\x72\x73\x65\x64\x72\x61\x63\x75\x74\x65\x72" -+"\x61\x64\x69\x63\x61\x6c\x72\x63\x61\x72\x6f\x6e\x72\x63\x6f\x6d\x6d\x61\x61\x63\x63\x65\x6e\x74\x72\x65\x76\x6c\x6f\x67\x69\x63" -+"\x61\x6c\x6e\x6f\x74\x72\x68\x6f\x73\x61\x63\x75\x74\x65\x73\x63\x65\x64\x69\x6c\x6c\x61\x73\x63\x69\x72\x63\x75\x6d\x66\x6c\x65" -+"\x78\x73\x63\x6f\x6d\x6d\x61\x61\x63\x63\x65\x6e\x74\x73\x65\x63\x6f\x6e\x64\x73\x69\x67\x6d\x61\x73\x6d\x69\x6c\x65\x66\x61\x63" -+"\x65\x73\x70\x61\x64\x65\x73\x75\x6d\x6d\x61\x74\x69\x6f\x6e\x73\x75\x6e\x74\x61\x75\x74\x62\x61\x72\x74\x63\x61\x72\x6f\x6e\x74" -+"\x63\x6f\x6d\x6d\x61\x61\x63\x63\x65\x6e\x74\x74\x68\x65\x74\x61\x74\x6f\x6e\x6f\x73\x75\x62\x72\x65\x76\x65\x75\x68\x75\x6e\x67" -+"\x61\x72\x75\x6d\x6c\x61\x75\x74\x75\x6d\x61\x63\x72\x6f\x6e\x75\x6e\x64\x65\x72\x73\x63\x6f\x72\x65\x64\x62\x6c\x75\x6e\x69\x30" -+"\x30\x41\x30\x75\x6e\x69\x30\x30\x41\x44\x75\x6e\x69\x30\x32\x31\x41\x75\x6e\x69\x30\x32\x31\x42\x75\x6e\x69\x30\x32\x43\x39\x75" -+"\x6e\x69\x30\x33\x38\x37\x75\x6e\x69\x30\x33\x39\x34\x75\x6e\x69\x30\x33\x41\x39\x75\x6e\x69\x30\x33\x42\x43\x75\x6e\x69\x30\x33" -+"\x43\x32\x75\x6e\x69\x30\x34\x30\x30\x75\x6e\x69\x30\x34\x30\x44\x75\x6e\x69\x30\x34\x35\x30\x75\x6e\x69\x30\x34\x35\x44\x75\x6e" -+"\x69\x30\x34\x39\x32\x75\x6e\x69\x30\x34\x39\x33\x75\x6e\x69\x30\x34\x39\x36\x75\x6e\x69\x30\x34\x39\x37\x75\x6e\x69\x30\x34\x39" -+"\x38\x75\x6e\x69\x30\x34\x39\x39\x75\x6e\x69\x30\x34\x39\x41\x75\x6e\x69\x30\x34\x39\x42\x75\x6e\x69\x30\x34\x39\x43\x75\x6e\x69" -+"\x30\x34\x39\x44\x75\x6e\x69\x30\x34\x41\x30\x75\x6e\x69\x30\x34\x41\x31\x75\x6e\x69\x30\x34\x41\x32\x75\x6e\x69\x30\x34\x41\x33" -+"\x75\x6e\x69\x30\x34\x41\x41\x75\x6e\x69\x30\x34\x41\x42\x75\x6e\x69\x30\x34\x41\x45\x75\x6e\x69\x30\x34\x41\x46\x75\x6e\x69\x30" -+"\x34\x42\x30\x75\x6e\x69\x30\x34\x42\x31\x75\x6e\x69\x30\x34\x42\x32\x75\x6e\x69\x30\x34\x42\x33\x75\x6e\x69\x30\x34\x42\x36\x75" -+"\x6e\x69\x30\x34\x42\x37\x75\x6e\x69\x30\x34\x42\x38\x75\x6e\x69\x30\x34\x42\x39\x75\x6e\x69\x30\x34\x42\x41\x75\x6e\x69\x30\x34" -+"\x42\x42\x75\x6e\x69\x30\x34\x43\x30\x75\x6e\x69\x30\x34\x43\x42\x75\x6e\x69\x30\x34\x43\x43\x75\x6e\x69\x30\x34\x44\x38\x75\x6e" -+"\x69\x30\x34\x45\x32\x75\x6e\x69\x30\x34\x45\x33\x75\x6e\x69\x30\x34\x45\x38\x75\x6e\x69\x30\x34\x45\x39\x75\x6e\x69\x30\x34\x45" -+"\x45\x75\x6e\x69\x30\x34\x45\x46\x75\x6e\x69\x32\x30\x33\x45\x75\x6e\x69\x32\x30\x41\x46\x75\x6e\x69\x32\x31\x32\x36\x75\x6e\x69" -+"\x32\x32\x31\x35\x75\x6e\x69\x32\x32\x31\x39\x75\x6e\x69\x32\x32\x32\x37\x75\x6e\x69\x32\x32\x32\x38\x75\x6e\x69\x32\x32\x39\x35" -+"\x75\x6e\x69\x32\x35\x41\x31\x75\x6e\x69\x6f\x6e\x75\x6e\x69\x76\x65\x72\x73\x61\x6c\x75\x6f\x67\x6f\x6e\x65\x6b\x75\x70\x73\x69" -+"\x6c\x6f\x6e\x75\x70\x73\x69\x6c\x6f\x6e\x64\x69\x65\x72\x65\x73\x69\x73\x75\x70\x73\x69\x6c\x6f\x6e\x64\x69\x65\x72\x65\x73\x69" -+"\x73\x74\x6f\x6e\x6f\x73\x75\x70\x73\x69\x6c\x6f\x6e\x74\x6f\x6e\x6f\x73\x75\x72\x69\x6e\x67\x75\x74\x69\x6c\x64\x65\x77\x61\x63" -+"\x75\x74\x65\x77\x63\x69\x72\x63\x75\x6d\x66\x6c\x65\x78\x77\x64\x69\x65\x72\x65\x73\x69\x73\x77\x67\x72\x61\x76\x65\x78\x69\x79" -+"\x63\x69\x72\x63\x75\x6d\x66\x6c\x65\x78\x79\x67\x72\x61\x76\x65\x7a\x61\x63\x75\x74\x65\x7a\x64\x6f\x74\x61\x63\x63\x65\x6e\x74" -+"\x7a\x65\x74\x61\x31\x2e\x30\x30\x28\x55\x52\x57\x29\x2b\x2b\x2c\x43\x6f\x70\x79\x72\x69\x67\x68\x74\x20\x32\x30\x31\x34\x20\x62" -+"\x79\x20\x28\x55\x52\x57\x29\x2b\x2b\x20\x44\x65\x73\x69\x67\x6e\x20\x26\x20\x44\x65\x76\x65\x6c\x6f\x70\x6d\x65\x6e\x74\x43\x6f" -+"\x70\x79\x72\x69\x67\x68\x74\x20\x28\x55\x52\x57\x29\x2b\x2b\x2c\x43\x6f\x70\x79\x72\x69\x67\x68\x74\x20\x32\x30\x31\x34\x20\x62" -+"\x79\x20\x28\x55\x52\x57\x29\x2b\x2b\x20\x44\x65\x73\x69\x67\x6e\x20\x26\x20\x44\x65\x76\x65\x6c\x6f\x70\x6d\x65\x6e\x74\x4e\x69" -+"\x6d\x62\x75\x73\x20\x52\x6f\x6d\x61\x6e\x20\x52\x65\x67\x75\x6c\x61\x72\x4e\x69\x6d\x62\x75\x73\x20\x52\x6f\x6d\x61\x6e\x00\xd1" -+"\x02\x00\x01\x00\x18\x00\x1c\x00\x1f\x00\x26\x00\x42\x00\x98\x00\xa1\x00\xa6\x00\xcc\x00\xd1\x00\xe6\x00\xef\x01\x01\x01\x12\x01" -+"\x1c\x01\x23\x01\x28\x01\xb1\x02\x30\x02\xa7\x02\xfa\x03\x15\x03\x33\x03\x41\x03\x57\x03\x64\x03\x67\x03\x70\x03\x78\x03\x82\x03" -+"\x8f\x03\xf6\x04\x47\x04\x53\x04\x7a\x04\x7e\x04\x90\x04\xa1\x04\xad\x04\xb3\x04\xbd\x04\xca\x04\xd1\x04\xda\x04\xe1\x04\xe9\x04" -+"\xf0\x04\xf7\x04\xfe\x05\x06\x05\x4a\x05\x8a\x05\xa5\x05\xb2\x05\xc9\x05\xdf\x05\xe5\x05\xfa\x06\x0f\x06\x22\x06\x34\x06\x42\x06" -+"\x52\x06\x66\x06\x75\x06\x8d\x06\xa2\x06\xae\x06\xb9\x06\xc4\x06\xcf\x06\xd8\x06\xe1\x06\xef\x06\xfd\x07\x05\x07\x0d\x07\x15\x07" -+"\xb5\x07\xbe\x07\xed\x08\x64\x08\x9d\x08\xf0\x09\x5e\x09\xc9\x0a\x0c\x0a\x68\x0a\x99\x0a\xa3\x0a\xe1\x0b\x02\x0b\x5c\x0b\xb3\x0b" -+"\xeb\x0c\x08\x0c\x44\x0c\x7a\x0c\xc2\x0d\x05\x0d\x49\x0d\x4e\x0d\x88\x0d\xc0\x0d\xcd\x0e\x09\x0e\x32\x0e\x6b\x0e\x83\x0e\xba\x0e" -+"\xc0\x0e\xef\x0f\x22\x0f\x4f\x0f\x7f\x0f\x9f\x0f\xcd\x0f\xe4\x0f\xf1\x10\x0d\x10\x15\x10\x25\x10\x4c\x10\x56\x10\x7c\x10\xa2\x10" -+"\xae\x10\xd3\x10\xf0\x11\x13\x11\x2a\x11\x4c\x11\x6e\x11\x8f\x11\xa1\x11\xa9\x11\xba\x11\xda\x11\xee\x11\xfa\x12\x19\x12\x37\x12" -+"\x55\x12\x73\x12\x82\x12\x87\x12\x8d\x12\x9a\x12\xb6\x12\xba\x12\xd5\x12\xd9\x12\xed\x12\xfd\x13\x17\x13\x2b\x13\x3e\x13\x4c\x13" -+"\x64\x13\x7c\x13\x8c\x13\xa3\x13\xa7\x13\xb1\x13\xb5\x13\xc9\x13\xd3\x13\xe6\x13\xee\x14\x01\x14\x13\x14\x25\x14\x37\x14\x49\x14" -+"\x5a\x14\x69\x14\x73\x14\x79\x14\x89\x14\x99\x14\xa8\x14\xb7\x14\xc0\x14\xc6\x14\xd4\x14\xe2\x14\xf0\x14\xfe\x15\x0c\x15\x18\x15" -+"\x25\x15\x32\x15\x3f\x15\x46\x15\x52\x15\x5e\x15\x6a\x15\x76\x15\x80\x15\x8a\x15\x94\x15\x9e\x15\xa9\x15\xb4\x15\xbf\x15\xca\x15" -+"\xd5\x15\xe0\x15\xe9\x15\xfb\x11\xf7\x3b\x05\x4d\x06\xfb\x10\xfb\x3b\x05\xad\x06\xf7\x0d\xf2\xf7\x0e\x24\x05\x0e\xf9\x2a\x15\x0b" -+"\xb7\x1d\x0e\x15\x55\xf7\xcb\xc1\x07\x0e\x82\x1d\xf7\x3e\xf7\x01\xd6\xae\xcf\xb2\x1e\xa3\xb5\x94\xb9\xd8\x1a\xf7\x99\x07\x8d\xf4" -+"\x96\x99\xdc\x94\x08\x0b\xf8\x73\xbd\x15\x86\x06\x5a\x8d\x84\x93\x8a\xba\x08\xf7\xeb\xfb\x32\x7a\x07\xc9\x88\x97\x81\x59\x1a\xfb" -+"\x7f\x07\x6f\x86\x7d\x7d\x80\x1e\x75\x70\x6c\x7f\x6d\x1b\x64\x6b\xad\xb5\x1f\xf7\xda\xfb\x26\x7d\x07\xba\x89\x99\x7d\x8c\x5b\x08" -+"\xfb\x90\x07\x3c\xbb\x58\xd4\xb0\xb2\x9b\xa6\xa6\x1e\xb6\xb6\x05\x38\x07\x8f\x89\xbd\x9f\xaf\x96\xbe\x99\x19\x0b\x79\x1d\xa0\x97" -+"\xb1\xae\x7b\x1d\x0b\xf8\x2c\x7f\x1d\x0b\x9d\x16\xf7\xbd\x9e\x06\x39\x8d\x7d\x99\x89\xd5\x08\xf8\x50\x07\x8d\xd6\x98\x97\xde\x8e" -+"\x08\x9e\xfb\xbd\x78\x07\xe0\x66\x1d\x3f\x7f\x80\x37\x88\x08\x0b\x15\x7a\x9c\x07\x0b\x99\x94\x97\x9b\x1a\x9f\x7e\x97\x75\x7c\x82" -+"\x86\x79\x79\x1e\xfb\x27\xfb\x28\x05\x0b\x15\x71\x75\x74\x70\x6f\x49\x1d\x0b\x6d\x72\x72\x6b\x6e\xa4\x72\xa8\xaa\xa5\xa3\xa9\xaa" -+"\x71\xa5\x6d\x1f\x0b\xd5\x9b\x7c\x45\x8c\x1f\xfc\x5c\x07\x45\x8a\x7b\x7c\x41\x1b\x79\x0b\xa2\x8a\x05\xc0\x89\x9a\x78\x4c\x1a\x0b" -+"\xd6\x9a\x7c\x45\x8c\x1f\x0b\xf7\x2e\xec\x05\x0b\xf8\xcf\xf8\x56\x15\x7c\x07\xad\x84\x95\x84\x7a\x1a\x7c\x85\x73\x80\x70\x1e\x31" -+"\xfb\x72\x37\xf7\x74\x05\x7a\xb9\x8b\x8b\x98\x1a\xa1\x96\x92\xba\x92\x1e\x9a\xfb\x5f\x7c\x07\xb0\x87\x97\x7f\x9f\x56\x90\x7d\x94" -+"\x72\x91\x7a\x30\xfb\x5b\x18\x28\xf7\x99\x05\x87\x95\x89\x95\x95\x1a\xa0\x96\x93\xae\x8f\x1e\x9a\xfb\x48\x7c\x07\xa2\x89\x93\x81" -+"\xa1\x58\xf7\x1b\xfb\xea\x18\x6c\x97\x93\x7e\x91\x1b\x90\x93\x97\xa6\x97\x1f\xf7\x04\xf7\x84\xe6\xfb\x80\x05\x65\x9a\x8d\x86\x92" -+"\x1b\x92\x90\x94\xb3\x9b\x1f\xf7\x1e\xf7\xee\x9d\xb5\x8e\x90\x9f\x92\x19\x9a\x07\x0b\xfa\x38\x21\x1d\xfb\x5a\x78\x06\xbe\x86\x9d" -+"\x80\x70\x1a\x77\x85\x70\x81\x6f\x1e\xfb\x11\xfb\xe7\xfb\x18\xf7\xe9\x84\x9d\x88\x93\x89\x8f\x19\x82\xa0\x85\x9e\x96\x1a\xa3\xa2" -+"\x95\xc1\x8c\x1e\x9e\xfb\x9f\x78\x07\xc4\x8a\x95\x82\xad\x3b\xac\x39\x18\x20\xfb\xae\xfb\x24\xf8\x0c\x05\x84\x9d\x87\x9c\x96\x1a" -+"\xa1\x99\x91\xbe\x8f\x1e\x9e\xfb\x89\x78\x07\xbe\x86\x9a\x79\xb0\x2d\xf7\x55\xfc\xad\x18\x9a\x06\xf7\x2e\xf8\x3b\xf7\x34\xfc\x3b" -+"\x05\x9a\x06\xe1\xf7\x9a\x92\xa0\xf7\x03\xf7\xc0\x9e\xbf\x96\x94\xc0\x95\x08\x0b\xf8\x6f\xf8\x56\x15\xfb\x1b\x7c\x06\xab\x9b\x82" -+"\x7b\x87\x8a\x85\x88\x84\x1f\x2a\xfb\xa8\xfb\x07\xf7\x91\x05\x85\x99\x87\x99\x95\x1a\x9d\x9a\x92\xb6\x8d\x1e\x9a\xfb\x62\x7d\x07" -+"\xa5\x87\x9c\x80\x93\x7a\xf7\x06\xfb\x8a\x18\x97\x70\x8c\x8a\x90\x81\x08\xa7\x59\x9b\x66\x7c\x1a\x7b\x74\x4e\x7a\x6c\x1e\x72\x7c" -+"\x76\x78\x7d\x1b\x85\x82\x8d\x90\x80\x1f\x92\x79\x79\x8f\x7b\x1b\x73\x78\x78\x72\x6a\xaa\x72\xb6\xcf\xb9\xc2\xf7\x25\xc2\x1f\xf7" -+"\x2e\xf8\x2c\x98\xab\x96\x95\xa3\x8e\x19\x0b\xf9\x53\x21\x1d\xfb\x6f\x78\x06\xbf\x8a\x9c\x83\x73\x1a\x81\x87\x7f\x81\x7c\x1e\xfb" -+"\x23\xfb\x76\xfb\x28\xf7\x72\x05\x80\x9b\x85\x9c\x96\x1a\x9e\x99\x93\xab\x8d\x1e\x8f\x95\x8b\x8c\x96\x1f\x9e\xfb\xac\x78\x07\xbb" -+"\x89\x99\x7d\xef\xfb\x21\xf7\x17\xfb\x54\x18\xfb\x42\x62\x1d\xf7\x56\x07\xf7\x28\xf7\x76\xc8\xe3\xa5\xa1\xbe\x8f\x19\x0b\xf8\x22" -+"\xf7\x30\x15\x90\x1d\xfb\x15\xda\x2e\xf7\x03\xb8\xb3\x9b\xaa\xaf\x1e\xa6\xa2\x9e\xa7\xa9\xc6\x08\x0b\xf7\xba\x21\x1d\xfb\xae\x78" -+"\x06\xd4\x86\x97\x7e\x8d\x43\x08\xfc\x50\xa0\x1d\xf8\x6d\x07\x8d\xd4\x98\x98\xd9\x8f\x08\x0b\x15\x3f\x6e\x73\x76\x51\x1b\x4a\xd3" -+"\x1d\xa4\xb2\xe9\x1d\xa7\x1d\x78\x83\x90\x7b\x1b\x77\x7e\x7f\x78\x7b\x95\x7c\x9e\x7f\x1f\xf7\x2e\x2a\x05\x0e\x5a\x1d\xb2\x78\xbb" -+"\x1b\xdf\xb9\xbe\xf5\x97\x1f\x0e\x15\x5f\x1d\x8c\x05\x56\x8d\x7c\x9e\xca\x1a\x0b\x07\xca\x9a\x9e\xc0\x8d\x1e\x0b\x9b\x9a\xd5\x1e" -+"\x9d\xfb\xb2\x79\x07\x0b\x86\x82\x58\x88\x08\x7a\x7a\xf7\x76\x9c\x7b\x06\x0b\xac\xf8\x20\x15\x93\x98\x91\x8d\x96\x1b\xaa\x93\x7a" -+"\x4b\x1f\xfb\x4d\x07\x2e\xbb\x55\xdd\xc1\xbe\xa5\xbc\xb5\x1e\xb5\xbc\x9e\xc9\xde\x1a\xf7\x07\x65\xe1\x59\x72\x77\x77\x72\x78\x95" -+"\x7b\xa1\x77\x1e\xa6\x73\x91\x83\x93\x7c\x08\x97\x73\x91\x6c\x6a\x1a\x2a\x51\x44\x3b\x6f\x73\x96\x9e\x7f\x1e\x80\x9d\x87\xa3\xbb" -+"\x1a\xf7\x65\x07\xa9\x88\x97\x81\x99\x1e\x9a\x80\x82\x92\x84\x1b\x88\x87\x8a\x89\x87\x1f\x24\x55\x05\x0b\x90\x16\xf7\x84\x9a\x06" -+"\x48\x8d\x7b\x99\x89\xc6\x08\xf7\x75\x07\xab\xb5\xbd\xa7\x91\x94\x86\x81\x96\x1e\x7c\x9a\x97\x86\x98\x1b\xa3\x9a\x9c\xa7\xac\x76" -+"\x9f\x69\x61\x6f\x75\x43\x59\x1f\xe7\x07\x86\x8d\x53\x75\x67\x7d\x53\x79\x19\x7b\x07\x8e\x99\x94\x8c\x97\x1b\xa4\x94\x7b\x5f\x1f" -+"\xfb\x8e\x07\x89\x57\x85\x85\x4c\x80\x08\x0b\xae\x1d\xa6\xa2\xa1\xa7\xa6\x74\xa2\x70\x1f\x0e\x15\x55\x5e\x5e\x55\x53\xb6\x5f\xc3" -+"\xc2\xb8\xb7\xc2\xc2\x5e\xb8\x54\x1f\x8c\x69\x15\xae\xa9\x6d\x67\x67\x6e\x6e\x65\x68\x6e\xa8\xb0\xaf\xa9\xa8\xaf\x1f\x0e\x15\xa6" -+"\x1d\x0b\x1f\x7d\x6c\x05\x7f\xa8\xa2\x87\xab\x1b\xd8\xbb\xab\xbf\xb7\x6b\xa4\x0b\x9d\x07\x41\x7b\x9a\xd1\x1f\xf8\x5c\x07\xd1\x9b" -+"\x9a\xd5\x1e\x9d\x0b\x92\x62\x28\x64\x6f\x22\x89\x19\xfb\x0b\x06\x0b\x07\x51\x1d\x7a\x7a\x0b\x82\x8c\x42\x08\xfc\x45\x07\x8a\x36" -+"\x0b\xa0\x75\xa6\xa6\xa2\xa1\xa7\xa6\x74\xa2\x70\x1f\x0b\x30\x1d\xa0\x98\x94\x98\x0b\x5e\x68\x73\x74\x69\x6b\xa1\x78\x0b\x07\xd1" -+"\x9b\x9a\x6a\x1d\x0b\x6e\x74\x74\x6f\x6e\xa2\x74\x0b\x44\x57\x62\x53\x64\x98\x0b\x89\x1e\x74\x8a\x05\x79\x0b\x15\xf7\x2d\xec\x05" -+"\xa1\x0b\x8a\x2f\x86\x82\x58\x88\x08\x0b\x15\xaa\x70\xd3\x4d\xb0\x69\xc8\x4f\x19\x86\x8f\x8d\x8a\x90\x1b\x91\x8e\x8e\x91\x98\x62" -+"\xc5\x3e\xed\x1f\x88\x8f\x8a\x8b\x85\x94\xa4\xac\x9c\xa0\xac\xb2\x08\xa8\xaf\xa4\xb3\x98\x1a\x90\x86\x90\x86\x85\x77\x79\x76\x7a" -+"\x1e\x8a\x88\x6c\x6d\x6e\x71\x84\x85\x83\x84\x82\x83\x0b\xf8\x58\x9e\x15\x39\x8f\x7e\x97\x8a\xd5\x08\xf8\x93\xc1\x07\xf7\x08\x89" -+"\xa0\x7a\xa1\xfb\x01\x08\xa3\x06\x85\xf7\x3e\x05\xfc\xc8\x06\x85\xfb\x3e\x05\xa3\x06\xa2\xf7\x01\xa0\x9c\xf7\x07\x8d\x08\xc1\xfc" -+"\x88\x06\x8a\x35\x82\x81\x37\x86\x08\x78\xf7\xb8\x07\x0b\x06\xf7\x08\x89\x9f\x7d\x9b\x32\x08\xa4\x06\x88\xf7\x23\x05\xfc\xa7\x78" -+"\x06\xd4\x86\x97\x7e\x8d\x43\x08\x0b\x2d\x1d\xf7\xc6\x9d\x07\x31\x78\x99\xd1\x8a\x1f\x0b\xaf\x1f\xfb\x00\xcb\x05\x6f\x9c\x7c\xa3" -+"\xa6\x1a\xb4\xaa\xa6\xb9\xc4\xa9\x6a\x31\xa2\x1e\x0b\x15\x90\xa6\x9e\x8d\x9f\x1b\xea\xcb\x4b\x2c\x32\x4c\x4e\x31\x76\x7b\x8e\x94" -+"\x68\x1f\x0b\xc8\x1d\x75\x7b\x9b\x0b\x07\x89\x21\x7e\x7a\x39\x86\x08\x78\xf7\x7f\x9e\x07\x3e\x8f\x7c\xa0\x89\xf2\x08\x0b\x76\x51" -+"\x1b\x4b\x69\xa9\xce\x7d\x1f\x6e\x06\x8c\x58\x92\x73\x9e\x6f\x08\x68\xa4\x0b\x15\x70\x74\x74\x6f\x6e\xa1\x75\xa7\xa9\xa1\xa1\xa8" -+"\xa8\x74\xa1\x6e\x1f\x0e\x07\x44\x8a\x7b\x7c\x41\x1b\x79\xf7\xb2\x9d\x07\x41\x7b\x9a\xd2\x1f\x0b\xbd\x1d\x2f\x08\xfb\x64\x07\x51" -+"\x1d\x7a\x7a\xf7\x76\x0b\x1a\x4f\xbe\x62\xd7\xd7\xbd\xb4\xca\xb8\x76\xa7\x46\xbc\x1e\x0b\x4a\x1d\x9b\x1a\x9f\x7e\x97\x76\x7b\x82" -+"\x86\x79\x79\x1e\xfb\x27\xfb\x28\x05\x0e\x93\x9a\xbc\x8c\x1e\x9b\x9c\xfb\x76\x7a\x9c\x06\xbe\x88\x0b\xf7\x28\x05\x9d\x78\x83\x90" -+"\x7c\x1b\x76\x7e\x7f\x78\x7b\x95\x7b\x9e\x80\x1f\xf7\x2e\x2a\x05\x0e\x07\x8a\x33\x82\x82\x30\x87\x08\x78\xf7\xc6\x9e\x07\x32\x8d" -+"\x7e\x96\x8a\xd8\x08\x0b\x71\x75\x7b\x82\x75\x1b\x66\x7c\xa6\xca\x1f\x0b\x78\x1f\x73\x97\x05\x97\x74\x72\xe4\x1d\x0b\x06\x38\x68" -+"\x84\x72\x66\x1f\x4a\x60\x69\x0b\x86\x96\x81\x8c\x40\x08\xfc\x50\x07\x8a\x0b\x07\x45\x8a\x7c\x7c\x40\x1b\x79\x0b\x07\x8a\x55\x7d" -+"\x7d\x4d\x87\x08\x0b\x52\x84\x08\x7c\xf7\x6c\x9a\x07\x51\x90\x83\x96\x89\x0b\xd5\x1e\x9d\xfb\xb2\x79\x07\xd5\x9b\x7c\x45\x8c\x1f" -+"\x0b\x07\xe4\x93\x99\xbc\x8c\x1e\x0b\x9c\x8c\x18\x81\xf7\x2a\x05\x0b\xde\xfb\x0d\xfb\x45\xfb\x49\x0b\xf9\xc4\xf8\x9d\x15\xf7\x21" -+"\xfc\xc8\x77\x07\xcc\x89\xa4\x82\x75\x1a\x85\x88\x80\x85\x80\x1e\xfb\x89\xfc\x78\x6a\x4e\x7f\x80\x60\x85\x19\x78\xf7\x5b\x9e\x8a" -+"\x07\x61\x8f\x71\x96\x9a\x1a\xa1\xa2\xc5\xb4\xd9\x1e\xa7\xc0\x05\xf7\x44\xfb\x2c\x06\x89\x46\x84\x82\x4c\x82\x7a\x89\x18\x78\xf8" -+"\x92\x07\xb7\xf7\x3c\x05\x73\x06\x51\xfb\x02\x70\x79\xfb\x04\x89\x08\x3f\x06\x6c\x71\x8f\x90\x87\x1f\x86\x8e\x88\x9c\xa3\x1a\xf7" -+"\x82\xf7\x25\x07\xd2\x89\x9e\x77\x93\x3d\x08\xa0\xf7\x7e\x76\x06\x84\x3b\x77\x7c\x22\x89\x08\xfb\x03\xf7\x7a\x06\xa2\x8c\x91\x92" -+"\x9f\x1b\xe2\x06\xf7\x25\xa4\x7d\x30\x97\x1f\xfc\xbe\xfb\x72\x15\xf7\x33\xf7\xd3\x05\xfb\xd3\x07\x0b\x79\x1d\x9f\x97\xb1\xaf\x7b" -+"\x1d\x0b\xf7\x61\xf7\xd5\x15\xf7\x49\xfb\x4f\x05\xbe\x57\x9d\x73\x7b\x1a\x7b\x7c\x85\x60\x89\x1e\x79\xf7\xd2\x9d\x07\x4e\x8c\x60" -+"\xa5\x36\xe2\xfb\x78\xf7\x80\x18\x91\x92\x91\x92\x93\x93\x7e\x1d\x0b\x15\xb2\x3e\x07\x76\x7d\x8e\x92\x77\x1f\x75\x93\x05\x95\x71" -+"\x6f\x90\x71\x1b\x2e\x41\x44\x2f\x4c\xa5\x65\xce\x6a\x1f\x71\x73\x76\x77\x7f\x80\x88\x87\x19\x76\x75\x85\x80\x7a\x1a\x75\x96\x80" -+"\xb5\x77\x1e\x43\x57\x71\x6a\x66\x1a\x56\xd8\x5f\xeb\xd6\xd9\xa5\xb5\xbf\x1e\xb1\xaa\x9c\xab\xb1\x1a\xc9\x5c\xb4\x41\x8f\x1e\xfb" -+"\x15\x91\x05\x55\x8d\x73\x94\x9b\x1a\x9f\xac\xae\xa6\x93\x1e\x88\xaf\x9e\x89\x8d\x1b\xb0\xb3\x9a\xa6\xaa\x1f\xac\xa7\x9a\xae\xbd" -+"\x1a\xa8\x86\xa2\x7d\xab\x1e\x0b\xb9\x1d\xf7\x62\x9c\x84\x06\x77\x73\x98\xa4\x71\x1f\xfb\x5e\xf7\x57\xf7\x39\xf7\x22\xaa\xa6\xa6" -+"\x97\xb4\x8d\x19\x9c\xfb\x53\x7a\x97\x07\xa0\x95\x84\x7a\x84\x87\x84\x7f\x81\x1f\xfb\x3f\xfb\x2d\x05\xed\x07\xe2\x93\x9a\x97\x1d" -+"\x0b\x9b\xf9\x17\x15\xda\x84\x93\x83\x8c\x40\x08\xfb\x56\x38\x5f\xde\xfb\x62\x07\x8a\x42\x7f\x7f\x40\x86\x08\x78\xf7\xb0\x07\xf7" -+"\x08\xf4\xac\xc3\xc9\x1f\xcc\xc6\xb0\xe4\xec\x1a\xe5\x6e\xd9\x53\xc2\x1e\xd0\x47\xfb\x01\xaf\xfb\x1d\x1b\xfb\xa2\x06\xf7\xe4\xfb" -+"\xc3\x15\xfb\x26\xf7\x77\x06\xaa\x95\x93\xb2\xe5\xac\x1d\xf7\x81\xf7\x26\x07\x0e\xf7\x80\x9b\x15\x4b\x72\x76\x70\x72\x1b\x85\x88" -+"\x8c\x92\x7d\x1f\x91\x7c\x7e\x8f\x80\x1b\x6f\x74\x75\x72\x6d\xa7\x75\xb0\xae\xa9\x98\xa6\xa5\x1f\xa3\xa2\x9f\xb1\xa9\xd9\xf7\x0e" -+"\xf7\xd4\x18\xa6\xd3\x92\x95\xaa\x92\x95\x8c\x18\x9c\xfb\x23\x7a\x90\x07\xa4\x8c\x98\x81\x78\x1a\x7e\x86\x79\x7d\x65\x1e\x3a\xfb" -+"\x6d\x37\xf7\x71\x05\x79\xba\x8a\x8f\x96\x1a\xa0\x97\x96\xa6\x8a\x1e\x93\x9c\xfb\x58\x7a\x06\x9a\x8a\xad\x86\x8b\x8b\xc1\xfb\x1d" -+"\x19\x0b\x8e\x21\x1d\x79\x07\xcb\x8a\xa8\x75\xb9\x3c\xf7\x5b\xfc\x12\x18\x37\x62\x7e\x7a\x72\x1b\x7f\x82\x8f\x99\x78\x1f\x99\x77" -+"\x80\x8f\x7a\x1b\x6b\x75\x79\x70\x67\xab\x74\xbe\xb6\xb3\x9b\xa8\xa8\x1f\xa1\xa1\x94\x98\xab\xcf\xf7\x4a\xf8\x15\x18\xb6\xe1\xb1" -+"\xab\xca\x8d\x08\x9d\xfb\x73\x79\x07\xbc\x98\x84\x74\x84\x8b\x8b\x82\x72\x1f\x83\x75\xfb\x16\xfb\xaf\xfb\x1e\xf7\xa2\x05\x7d\xa5" -+"\x82\xa6\x98\x1a\xa0\x9d\x95\xb1\x1e\x98\x9d\x06\x0b\xf7\xbc\xf8\x56\x29\x1d\xb0\x8c\x9b\x7b\x8d\x68\xfb\x5d\xfb\xa0\x18\xf7\x6a" -+"\x07\xe3\x93\x9a\xbc\x8c\x5d\x1d\x9c\x7b\x06\x66\x7c\x98\xb0\x88\x1f\xf7\x5d\xf7\x9d\x05\xfb\x67\x07\x8a\x2f\x3e\x1d\x5a\x8c\x83" -+"\x9a\xe3\x1a\xf7\x64\x07\xe3\x93\x9a\xbc\x8c\x1e\x9b\x9c\x06\x0b\xf8\x7b\x9a\x15\x55\x94\x86\x92\x8a\xd2\x08\xf7\x5b\x07\xf4\x62" -+"\xc1\x39\x50\x61\x73\x4f\x5d\x1e\xf7\xc4\x07\x86\x8e\x68\x7f\x72\x83\x54\x7b\x19\x70\x83\x05\x7b\x07\x8c\x8f\x8d\x8b\x91\x1b\xb6" -+"\x93\x83\x60\x1f\xfc\x6b\x07\x89\x43\x86\x83\x69\x1d\xd2\x08\xf7\x85\x07\xb9\xb5\xa9\x9c\xb3\x1b\xbc\xa4\x67\x45\x1f\xfb\x5a\x07" -+"\x89\x44\x82\x80\x52\x86\x08\x7c\xf7\x68\x07\x0b\xf7\xcf\xf7\xae\x15\xfb\x47\x07\x4c\x7c\x78\x55\xb6\x1d\xbd\xe1\xad\xa9\xc0\x8e" -+"\x19\x96\x8c\x05\x9d\xfb\x73\x79\xa0\x07\xa6\x8a\x99\x81\x79\x1a\x7d\x86\x7e\xa9\x1d\xbd\x84\xa2\x77\xb5\x42\x19\x0b\x7c\x1d\x56" -+"\x90\x9d\x77\xb4\x1b\xad\x0b\x6f\x06\x5b\x21\x5e\x72\xfb\x23\x8a\x08\x70\x06\x23\x8e\x8a\x8c\xb2\x1a\xf7\x8b\xf7\x2e\x07\xdf\x89" -+"\x98\x7f\x98\x39\x08\xa2\xf7\x7c\x74\x06\x7f\x3a\x7d\x7f\x37\x89\x08\xfb\x2e\xf7\x72\x06\xa9\x8c\x8f\x8f\xa7\x1b\xf7\x1b\x54\x1d" -+"\xfc\x50\xd0\x1d\x0b\x1f\xfb\x2f\xde\x15\x6d\x86\x80\x76\x7f\x1e\x7d\x72\x70\x83\x76\x1b\x68\x6f\xad\xb6\x1f\x8f\x07\x8c\xc7\xb7" -+"\xb1\xf7\x09\xb4\x08\x0b\xf8\x4e\xcd\x15\x7d\x7a\x7f\x86\x7c\x1b\x74\x84\x99\xb7\x1f\xf7\x57\x07\xbf\x86\xa8\x7c\xa3\x1e\xaf\x75" -+"\x60\x9e\x50\x1b\x2d\x41\x5a\x4c\x74\x9e\x77\xa3\xa3\xa0\x9f\xa1\x8f\x8a\x90\x8a\x92\x1f\x89\x94\x8a\x93\x92\x1a\xa6\xab\xa1\xb3" -+"\xbc\xa6\x6e\x55\x1e\x4e\x07\xfb\x2d\x4e\x79\x82\x60\x65\x08\x75\x77\x7d\x69\x6a\x1a\x4c\xb7\x5f\xc8\xb7\xb4\xa0\xbf\xc8\x1e\x0b" -+"\xf7\xcf\xf7\xce\x15\x87\xf7\x1d\x05\x80\x06\x83\x86\x86\x88\x85\x1b\x85\x81\x8d\x90\x80\x1f\x93\x74\x74\x90\x73\x1b\x3c\x52\x57" -+"\x43\x53\xab\x63\xe0\x5b\x1f\xc5\x6a\x05\xae\x77\x9c\x73\x6c\x1a\x5f\x6b\x6f\x58\x46\x68\xb1\xf1\x74\x1e\x7b\xfb\x30\x98\x06\x95" -+"\x92\x8f\x8d\x97\x1b\x96\x97\x89\x85\xa2\x1f\x85\xa6\xa5\x87\x9f\x1b\xd9\xca\xc5\xd1\xbd\x0b\x9a\x9a\x9a\x9b\x9a\x9b\x95\x94\xc7" -+"\xcd\xa9\xab\xd1\xdb\xa3\x9a\xce\x8f\x08\x9e\xfb\x87\x78\x07\xba\xcb\x1d\xcc\x9b\x9d\xc4\x8c\x1e\x8d\x94\x8b\x8c\x93\x1f\x9d\xfb" -+"\xb4\x79\x07\x2d\x1d\xf7\xb4\x9d\x07\x3f\x7b\x99\xd2\x1f\x0b\x8d\x1d\xf7\x07\xea\xd6\xc6\xf7\x00\xb5\x1e\xfb\xd9\xf7\x2c\x15\xd9" -+"\x96\xad\xb0\xc8\x1b\xc8\xa3\x6f\x34\x98\x1f\x0b\xf8\x07\xf9\x31\x15\x7f\x06\xfb\x80\xfc\xb5\x63\x2d\x80\x81\x49\x89\x19\x79\xf7" -+"\x71\x9e\x7f\x07\x67\x74\x99\xa2\x92\x92\xa3\x95\xa4\x1f\xb5\xf4\x05\xf7\x86\x06\xb1\x2a\x05\x98\x6a\x8f\x7b\x7c\x1a\x73\xc1\x1d" -+"\xef\xf7\x82\xf6\xfb\x82\x05\x0b\xf7\xfb\xf9\x31\xc7\x1d\xd3\xa9\xc9\xc7\x1f\xc8\xcb\xac\xe1\xec\x1a\xf7\x55\xfb\x1c\xf7\x24\xfb" -+"\x4b\x1e\x8a\x64\x15\xf7\x0c\x6d\x1d\x3b\xfb\x0b\xfb\x0f\xfb\x09\x3b\xf7\x0e\xf7\x45\xf7\x47\xda\xf7\x0c\xf7\x0a\x1f\x0e\xf9\x55" -+"\x21\x1d\xfb\x7c\x78\x06\xd8\x86\x9a\x77\x8d\x24\x08\xfb\xa2\x07\x47\x85\x65\x7a\x6d\x1e\x5b\x70\x4b\x6c\x40\x1b\x44\x5a\xa3\xba" -+"\x70\x1f\x79\xab\x84\xb0\xca\x1a\xf7\xd4\x07\x8c\xd4\x95\x95\xdb\x92\x08\x9e\xfb\xaf\x78\x07\xda\x85\x95\x81\x8c\x41\x08\xfb\xcc" -+"\x07\xfb\x41\xdc\x39\x0b\x15\xa4\x06\x96\xb1\x05\x93\xa4\x8e\x9a\x9a\x1a\xaa\x7f\x9b\x74\x76\x7d\x79\x71\x7e\x90\x73\x91\x76\x1e" -+"\x58\x5a\x15\x72\x77\x78\x72\x73\x9f\x77\xa3\xa3\x9f\x9f\xa3\xa3\x77\x9f\x74\x1f\xf7\x2c\x16\x72\x77\x78\x72\x73\x9f\x77\xa3\xa3" -+"\x9f\x9f\xa3\xa3\x77\x9f\x74\x1f\x0e\xf9\x56\x9e\x15\x5e\x8e\x81\x95\x68\xd5\xfb\x8d\xf8\xcc\x18\x77\x06\xfb\x64\xfc\x7f\x4b\xfb" -+"\x26\x7f\x7b\x5b\x89\x19\x78\xf7\x5a\x9e\x07\x5b\x77\x97\xa8\x97\x8e\x99\x90\x98\x1f\xb9\xf7\x09\x05\xf7\x9a\x06\xb4\x2b\x05\x97" -+"\x70\x92\x71\x7d\x1a\x72\x7a\x83\x56\x8a\x1e\x78\x0b\x87\x1d\x40\x07\x0b\xf7\x42\xf8\x67\x15\x48\x6a\x80\x86\x46\x6f\x90\x7c\x18" -+"\x92\x8d\x05\x8d\x92\x93\x8c\x91\x1b\xa7\xec\x1d\x9a\x79\x1e\x82\x94\x92\x85\x8f\x1b\x8e\x8f\x8d\x8e\x91\x1f\xf2\xc1\x85\x99\x05" -+"\x83\x7e\x84\x89\x80\x1b\x6d\x83\x9c\xcb\x1f\x0b\xbe\x88\x90\x82\x8c\x2f\x08\xfb\x00\x07\x82\x6a\x6d\x86\x70\x1b\x4f\x71\xa8\xcd" -+"\x1f\xa6\x07\xe3\x92\x9a\xbd\x8c\x1e\x94\x9c\xfb\x6f\xef\x1d\x70\x07\x61\x8e\x79\x96\x79\x1e\x6d\x9e\xb2\x7b\xc4\x1b\xb2\xae\x90" -+"\x98\xbf\x1f\x0b\xf7\x92\x15\xd7\x07\x95\x1d\xf7\x6b\x2a\x47\x1d\x0b\xf7\x93\xf8\x61\x15\x4d\x5d\x77\x5e\x5f\x1f\x5e\x5e\x72\x4b" -+"\x48\x1a\xfb\x17\xe7\x28\xf7\x0e\xf7\x0e\xec\xf6\xf7\x1c\xf7\x18\x32\xeb\xfb\x0e\x1e\x7e\x68\x15\xdb\xc2\x30\xfb\x19\x20\x5c\x45" -+"\x43\x3a\x54\xdf\xf7\x0f\xf7\x0f\xb7\xd2\xd7\x1f\x0b\x15\x65\x7a\x7e\x7f\x74\x1b\x7d\x77\x91\x94\x64\x1d\xab\x96\x9c\x99\xa2\x1b" -+"\x96\x9a\x87\x84\x9a\x1f\xa2\x80\x05\x77\xb4\x9a\x87\xa4\x1b\xc2\xa8\xa8\xd8\xa0\x1f\x0e\xf7\xd3\xf7\xd8\x15\xfb\x1c\xfb\x49\x39" -+"\xfb\x02\x77\x7d\x3b\x8a\x19\x79\xf7\x88\x9d\x07\x5c\x8e\x7c\x93\x9f\x1a\x97\x90\x95\x9d\xa3\x1e\xf7\x22\xf7\x4e\xf7\x0a\xfb\x41" -+"\x05\x9c\x72\x92\x7a\x7c\x1a\x73\x7c\x83\x5d\x8a\x1e\x79\x0b\xba\x1d\xfb\xc1\x06\x37\xa9\x60\xc6\xbc\xb1\xa3\xbf\xac\x1e\x7e\x96" -+"\x05\x63\x1d\xf7\xb2\xf0\x0b\xf7\x38\x15\x3f\x5b\x60\x6e\x4b\x1b\x52\x60\xa8\xc4\x6e\x1f\x79\xb1\x84\xab\x89\xc9\x08\xf7\xc8\x06" -+"\x83\xcc\x81\xa8\x72\xab\x08\xaf\x6d\x5d\xa0\x57\x1b\x59\x5c\x79\x69\x65\x1f\x5c\x62\x70\x44\x39\x1a\xfb\x1e\xd3\x35\x0b\x7d\x94" -+"\x18\x90\x1d\x0b\xf7\xfe\x15\x3d\x55\x05\x5f\x07\xd9\xc0\x05\xfb\x7a\x68\x1d\x7c\xf7\x80\x9a\x07\x4c\x8e\x80\x95\x8a\xc3\x08\xf7" -+"\xb7\x07\xd8\xc0\x05\xb7\x07\x3e\x56\x05\xf7\x9a\x07\x87\x8d\x58\x7b\x66\x0b\x45\x5b\x67\x73\x52\x1b\x2f\x4c\xdb\xf7\x07\xf3\xc2" -+"\xd1\xdc\xaf\x98\x81\x65\x95\x1f\x91\x75\x05\x6e\x93\x9d\x7a\xa1\x1b\xa5\xa0\x9e\xa2\xc3\x45\xba\x37\x5a\x58\x77\x67\x62\x1f\x59" -+"\x5f\x6f\x47\x3b\x1a\x0b\xf7\xdd\x15\xf7\x3a\x06\xc5\x8a\x9f\x71\x89\x45\x08\x9d\xf7\x85\x79\x06\x8c\x42\x76\x70\x53\x8c\x08\xfb" -+"\x3a\xf7\x8d\xf7\x2d\x06\xf2\x8d\xab\x72\x96\x32\x6c\x1d\xfc\x8a\x79\x06\x0b\x78\x9c\x79\x93\x64\x93\xa6\x94\x97\x91\x97\x94\x08" -+"\xa4\x9f\x9b\xaa\xac\x1a\xcb\x54\xb0\x2e\x6f\x7e\x89\x83\x6b\x1e\x85\x77\x81\x89\x83\x1b\x7e\x84\x91\x96\x8a\x1f\x7d\x06\x83\xfb" -+"\x23\x05\x0b\x7a\x40\x6d\x87\x68\x1b\x2e\x68\xb0\xee\x1f\xf7\x08\x4c\x1d\xfb\x08\x07\xfb\x0e\xc7\x51\xf7\x15\xb8\x9a\x8d\xa3\xf7" -+"\x10\x1e\x0b\x07\xe9\x5f\xc3\x41\x5d\x6c\x7a\x4b\x47\x1e\xda\x07\x84\x8d\x57\x78\x69\x80\x57\x7c\x19\x7a\x07\x8e\x92\x94\x8c\x96" -+"\x1b\xa7\x94\x7c\x5a\x1f\xfb\x8c\x07\x8a\x50\x80\x7e\x59\x88\x08\x0b\xe2\x60\x1d\x90\x82\x8c\x30\x08\xfb\x65\x07\x8a\x2f\x3e\x1d" -+"\x5a\x8c\x83\x9a\xe3\x1a\xec\x0b\xf7\x54\x15\x71\x75\x74\x70\x6f\xa0\x75\xa6\xaa\x1d\xd2\x1d\x2f\x08\xfb\x65\x07\x89\x2f\x87\x82" -+"\x58\x88\x08\x7a\x7a\xf7\x76\x9c\x7b\x06\x5a\x8d\x83\x99\xe3\x1a\x0b\xd7\x1d\x94\x8c\x96\xa8\x1d\x0b\xc8\xc7\x1a\xbe\x68\xb1\xbc" -+"\x1d\x83\x6b\x6f\x66\x55\x66\x1f\x0e\xc6\x9e\xa9\xb1\xa1\x98\x81\x6e\x9d\x1e\x71\x9b\x97\x81\x9c\x1b\xa3\x9d\x9d\xa2\xaf\x5f\xa5" -+"\x4f\x4c\x57\x70\x5e\x71\x1f\x71\x5e\x83\x67\x8a\x3b\x08\x39\x0b\xa8\x1d\x55\x81\x85\x8a\x89\x81\x1f\x0b\x4e\x4f\x1a\x58\xad\x65" -+"\xb9\xae\xa3\xa2\xad\xab\x75\x9e\x66\x84\x84\x8a\x8a\x85\x1e\x89\x86\x8a\x8b\x8a\x1b\x83\x85\x91\x93\xac\xa6\xae\xc2\xb1\x1f\x0b" -+"\x9a\x83\x19\xa5\x7c\x9a\x72\x6c\x1a\x62\x70\x70\x62\x79\x80\x8f\x9b\x75\x1e\x99\x78\x80\x90\x80\x1b\x77\x7c\x7b\x76\x6b\xa9\x79" -+"\xc0\xf7\x03\xdd\xc5\x0b\xb3\x1d\xf7\xb2\x9d\x07\x41\x7b\x9a\xd1\x1f\x0b\x90\xfb\x6d\x15\xf7\x86\x9d\x06\x40\x8c\x7f\x95\x8a\xcb" -+"\x08\xf7\x31\x07\x6a\xaf\xa2\x81\xb5\x1b\xf7\x0b\xe6\xf7\x04\xf7\x25\xf7\x10\x45\xe4\x2a\x0b\xd0\x1d\xf8\xae\x07\xbb\xf7\x42\x05" -+"\x72\x06\x5c\x22\x60\x71\xfb\x15\x87\x08\x48\x06\x3e\x8d\x83\x8e\x8a\xaf\x08\x0b\x07\xab\x65\x70\x96\x63\x1b\xfb\x07\x2e\xfb\x05" -+"\xfb\x22\xfb\x14\xd5\x34\xf7\x03\xc3\xb1\x9f\xba\xad\x1f\x4b\x07\x8f\x88\xf7\x27\xbf\x05\x0b\x8a\x2f\x3e\x1d\x5a\x8c\x83\x9a\xe3" -+"\x1a\xf7\x65\x07\xe3\x93\x99\xbc\x8c\x1e\x9b\x9c\x06\x0e\x89\x49\x81\x7f\x54\x8a\x08\x7c\xf7\x70\x9a\x07\x53\x8f\x7e\x99\xc2\x1a" -+"\xf7\xdd\xe1\x07\xec\x8e\x89\x55\x8c\x1f\xfb\x9c\x07\x8a\x46\x0b\x15\xfc\xa0\x07\x3a\xf7\x66\x56\x74\xf7\x13\xfb\xb2\x05\xd8\x06" -+"\xf7\x14\xf7\xb2\x56\xa2\x3a\xfb\x66\x05\xf8\xa0\x07\xdc\xfb\x66\xc0\x0b\x87\x8e\xfb\x2f\x54\x05\x7c\x07\x93\x8c\x05\x8d\x97\x97" -+"\x8c\x95\x1b\xa3\x94\x7b\x5f\x1f\xfb\x7c\x07\x89\x41\x82\x81\x47\x88\x08\x0b\x71\x75\x74\x71\x6e\x9f\x75\xa7\xa6\xa2\xa1\xa7\xa6" -+"\x74\xa2\x70\x1f\x0b\x15\xfb\x27\xf7\x28\x05\x9d\x0b\x1b\xb1\x9a\x81\x71\x70\x76\x7a\x69\x76\x7a\x8e\x94\x70\x44\x1d\x0b\x7a\x6f" -+"\x1e\xfb\x15\xfb\x6e\xfb\x16\xf7\x61\x05\x78\xa9\x83\x9e\x9b\x1a\xa1\x9d\x95\xb0\x1e\x99\x9d\xfb\xc1\x79\x06\xa2\x89\x0b\xa6\xa2" -+"\xa1\xa7\xa6\x74\xa2\x70\x1f\xf7\x5b\x16\x71\x75\x74\x71\x6e\x49\x1d\x0e\x07\x64\x6c\x7c\x72\x69\x1a\x61\x58\x1d\xa2\x0b\xcb\x7b" -+"\x69\xbb\x1e\xd9\x55\xb4\x35\xfb\x00\x1a\xfb\x0a\x62\x37\x3a\x5c\x1e\x6e\x58\x51\x7f\x34\x1b\x63\x7f\x94\xab\x1f\x0b\x89\x3e\x84" -+"\x81\x4f\x88\x08\x7c\xf7\x74\x9a\x07\x53\x90\x7d\x97\x8a\xba\x08\xf7\xe7\xf7\x50\xfb\xe2\x07\x8a\x59\x7c\x0b\x15\x71\x75\x74\x71" -+"\x6e\x9f\x75\xa7\xa6\xa2\xa1\xa7\xa6\x74\xa2\x70\x1f\xf7\x5b\x16\x71\x75\x74\x71\x6e\x9f\x75\xa7\x0b\xa1\xf8\x7b\x15\xa8\x06\x95" -+"\xb7\x05\x9a\xc2\x8c\x92\xa0\x1a\xaf\x7d\x9e\x71\x70\x7d\x78\x67\x76\x8c\x85\x99\x53\x1e\x0b\x07\x45\x8a\x7b\x7c\x41\x1b\x79\xf7" -+"\xb2\x45\x1d\xfb\xb2\x0b\x15\xfb\x27\x61\x1d\xd3\x1d\xa3\xb3\xe9\x1d\x4c\x1d\xfc\x5c\x07\x45\x8a\x7b\x7c\x41\x1b\x79\x0b\x16\xfb" -+"\x50\x06\x8a\xbf\x05\xf0\x8a\xa2\xc0\xb7\x1b\xa1\x97\x83\x70\x9d\x1f\x6f\x9e\x98\x82\xa2\x1b\x93\x8e\x0b\xda\xb7\x1d\x0b\x89\x1e" -+"\x72\x8a\x05\x79\xf7\xbe\x9d\x07\x70\x8c\x05\x55\x8d\x7c\x9e\xca\x1a\xf7\x47\x07\xf7\x24\xf7\x86\x0b\x15\xb8\x1d\x0b\x4a\x1d\x9b" -+"\x1a\x9f\x7e\x97\x75\x7c\x82\x86\x79\x79\x1e\xfb\x27\xfb\x28\x05\x0b\xf7\x33\xf7\x6c\x15\x8f\x06\xf7\x36\xfb\x36\xde\x1d\x82\x7a" -+"\x0b\x95\x89\x8e\x86\x1e\x51\x37\x6d\x69\x6e\x7a\x08\x80\x84\x85\x85\x85\x1a\x88\x8c\x89\x8e\x89\x1e\xc0\x0b\x3c\x1d\xa1\x8c\x05" -+"\x9d\xfb\xb2\x79\x07\xa2\x8a\x05\xbf\x89\x9b\x78\x4c\x1a\x0b\x4b\x1d\xb0\x92\x92\x8c\x8c\x91\x1e\x8d\x90\x8c\x8b\x8c\x1b\x93\x91" -+"\x85\x0b\x1e\x9b\x9c\xfb\x76\x7a\x9c\x06\xbe\x88\x90\x82\x8c\x0b\xbc\x1a\xca\x56\xb6\x3d\x62\x69\x7f\x74\x74\x1e\x76\x78\x81\x78" -+"\x7b\x5d\xa4\x7d\x18\xbb\xa1\x0b\x07\x86\x8d\x5c\x7b\x69\x80\x49\x7a\x19\x7b\x07\x8c\x93\x90\x8b\x94\x1b\xb0\x94\x81\x62\x1f\x0b" -+"\xa2\x8a\x05\xbf\x89\x9b\x78\x4c\x1a\xfc\x5b\x07\x4b\xd1\x1d\x0b\x78\x7e\x67\x1e\x7b\x78\xf7\xaa\x9d\x7e\x06\x5e\x71\xa8\xe3\x67" -+"\x1f\xfc\x01\xf7\x0f\x15\x0b\xc5\x1d\x5b\x0b\x6a\x1d\xfc\x96\xfb\x8a\xf8\x96\x07\x0b\x16\xcd\x1d\x0e\x8c\xd4\x95\x95\xd8\x92\x08" -+"\x9e\xfb\xaa\x78\x07\xd8\x85\x95\x81\x8c\x41\x08\x0b\x6b\xa4\x55\x81\x85\x8a\x89\x81\x1f\x0e\x15\xfb\x48\xfb\x1b\xfb\x25\xfb\x55" -+"\xfb\x55\xf7\x1b\xfb\x25\xf7\x48\xe8\x0b\xdc\x1d\x6c\x78\x82\x76\x1b\x0b\x75\x7b\x8e\x94\x70\x1f\x7d\x6c\x05\x7f\xa7\xa3\x87\xaa" -+"\x1b\xd9\xba\xab\x0b\xf7\x6a\xf7\xcf\x15\xf7\xbb\xfb\x67\x06\x44\x8a\x7b\x7c\x41\x1b\x79\x0b\x8a\x96\x86\x77\x1a\x67\x2a\xfb\x05" -+"\xfb\x1d\xfb\x0e\x1e\xf7\x69\x07\x0b\x15\x7a\x92\x7d\x75\x82\x87\x6f\x8a\x19\xfb\x0d\x06\xe1\xe0\x05\xc8\x0b\x6e\x74\x75\x6f\x6f" -+"\xa2\x74\xa7\xa8\xa2\xa2\xa7\xa6\x74\xa2\x6f\x1f\x0b\xaa\xa6\xa6\x97\xb4\x8d\x19\x9c\xfb\x52\x7a\x97\x07\xa0\x95\x84\x0b\x5c\x46" -+"\x43\x3a\x54\xde\xf7\x0c\xf7\x0d\xb7\xd1\xd7\x1f\x0e\x07\x89\x43\x7e\x7d\x43\x87\x08\x78\x0b\x7b\x78\x57\x4f\x1d\x0b\xbc\x8c\x1e" -+"\x9b\x9c\xfb\x76\x7a\x9c\x06\xbe\x88\x8f\x83\x8d\x0b\x69\xa9\xce\x7e\x1f\x6e\x06\x8c\x58\x91\x73\x9f\x6f\x08\x68\x0b\x07\x3f\x88" -+"\x72\x80\x77\x1e\x81\x85\x7d\x83\x7d\x1b\x7c\x0b\x9d\x1e\x97\x07\x8a\xc4\x96\x97\xc5\x8d\xa2\x8c\x18\x9d\x0b\x98\x94\x98\x9b\x1a" -+"\x9f\x7e\x97\x0b\x92\x86\x05\x8e\x93\x0b\xbb\x65\x49\x52\x5f\x67\x44\x7b\x7f\x8d\x90\x71\x1f\x0b\x07\x89\xa5\x9c\x8a\xa5\x1b\xda" -+"\xc0\x95\xa3\xb6\x1f\x0b\xf7\xfd\xf9\x38\x15\xfb\x53\xfb\x1c\xfb\x23\xfb\x5e\x0b\x9d\x07\x74\x8c\x51\x8d\x80\x97\x8c\xc4\x19\x97" -+"\x07\x0b\xaa\x6a\xb5\xb4\xad\xa2\xc0\xb0\x1e\x77\x9b\x05\x70\x0b\x7b\x83\x86\x79\x79\x1e\xfb\x27\xfb\x28\x05\x0e\x05\x98\x7e\x8e" -+"\x86\x84\x1a\x81\x86\x89\x73\x1e\x0b\x15\x69\x06\xfb\x0e\x24\xfb\x0d\xf2\x05\x69\x06\x0b\xaa\x77\xa4\xa8\x1a\xa8\xa2\xa0\xac\xb0" -+"\xa1\x75\x0b\x3c\x1d\xa2\x8c\x05\x9d\x0b\x07\x89\x45\x85\x83\x52\x84\x08\x7c\xf7\x61\x0b\x89\x9b\x78\x4c\x1a\xfc\x5c\x07\x4c\x7b" -+"\x78\x0b\x91\x75\x1b\x59\x67\x67\x4a\x7c\x1f\xa8\x06\x0b\x1f\x4c\xc5\xe4\x64\xe3\x1b\xf7\x59\xf7\x1c\x0b\x7e\x7a\x6a\x78\x8c\x87" -+"\x98\x56\x1e\x0e\xf7\x6f\xcd\xfb\x6f\xf7\x70\x49\x06\x0e\xa7\xa1\xa1\xa7\xa6\x74\xa2\x70\x1f\x0e\x78\xbb\x1b\xde\xb9\xbe\xf5\x98" -+"\x1f\x0e\x82\x6f\x71\x81\x81\x90\x99\x7d\x1e\x9f\x0b\x86\x08\x7c\xf7\x70\x9a\x07\x53\x8f\x81\x0b\x92\x7d\x54\x1f\xfb\x90\x07\x68" -+"\x8e\x7f\x0b\x1a\xac\x7e\x9c\x73\x73\x7e\x7a\x6a\x78\x0b\xf8\xaa\xf7\x70\x15\xcd\xfc\x8c\x49\x07\x0b\x7a\x9c\x06\xbe\x88\x90\x82" -+"\x8c\x2f\x08\x0b\xf7\x8e\x04\x5a\xfa\x7c\xbc\x07\x0e\x01\x00\x01\xe3\x01\x05\x00\x01\x0a\x02\x01\x40\x03\x01\x87\xff\x02\x87\xa0" -+"\x02\x8e\x02\x00\x01\x00\x04\x00\x07\x00\x45\x00\x85\x00\xe6\x01\x73\x02\x2e\x02\xd3\x02\xdb\x03\x1b\x03\x5a\x04\x2b\x04\x3d\x04" -+"\x44\x04\x48\x04\x4f\x04\x60\x04\xb3\x04\xe2\x05\x2c\x05\xa0\x05\xc7\x06\x33\x06\x94\x06\xb8\x07\x1a\x07\x7a\x07\x89\x07\xcd\x07" -+"\xeb\x08\x01\x08\x1d\x08\x86\x09\x35\x09\x38\x09\xb9\x09\xbe\x09\xc1\x09\xc5\x09\xf7\x09\xfa\x09\xfd\x0a\x02\x0a\x40\x0a\x43\x0a" -+"\x47\x0a\x98\x0a\x9b\x0a\x9e\x0a\xeb\x0b\x6c\x0b\x71\x0b\x75\x0b\x79\x0b\x7c\x0b\xc9\x0b\xce\x0c\x5b\x0c\x5e\x0c\x62\x0c\x85\x0c" -+"\x98\x0c\xba\x0c\xd7\x0c\xe3\x0c\xf0\x0c\xf4\x0d\x49\x0d\x4d\x0d\x53\x0d\x57\x0d\x74\x0d\x78\x0d\x7c\x0d\x86\x0d\x8f\x0d\x93\x0d" -+"\x98\x0e\x32\x0e\x36\x0e\x3a\x0e\x6a\x0e\xcb\x0e\xd0\x0e\xd5\x0e\xda\x0e\xde\x0f\x3b\x0f\x3e\x0f\xc4\x0f\xc8\x0f\xcc\x10\x17\x10" -+"\x23\x10\x6f\x10\xa9\x10\xe8\x11\x61\x12\x17\x12\x1b\x12\x92\x13\x29\x13\xd5\x14\x3b\x14\x5d\x14\x95\x14\xb2\x14\xc1\x14\xf8\x15" -+"\x55\x15\x70\x15\x7a\x15\xcb\x16\x75\x16\x7d\x16\xce\x16\xe7\x16\xee\x17\x05\x17\x29\x17\x8f\x17\xc0\x18\x96\x18\xfa\x19\x02\x19" -+"\x0a\x19\x12\x19\x1a\x19\x21\x19\x2d\x19\x36\x19\x3d\x19\x45\x19\x5a\x19\x71\x19\x9a\x19\xa2\x19\xa6\x19\xab\x1a\x1f\x1a\x54\x1a" -+"\x57\x1a\xff\x1b\x34\x1b\xe4\x1b\xe9\x1b\xf4\x1b\xfd\x1c\x89\x1d\x00\x1d\x33\x1d\x42\x1d\xa4\x1e\x20\x1e\x22\x1e\x47\x1e\x61\x1e" -+"\xbd\x1e\xc5\x1e\xd5\x1e\xe9\x1f\x14\x1f\x45\x1f\x80\x1f\x9c\x20\x56\x20\x5a\x20\xcd\x20\xf9\x21\x32\x21\xbe\x21\xc6\x21\xcd\x21" -+"\xde\x21\xe5\x21\xec\x21\xf3\x22\x6c\x22\x75\x22\x7d\x22\x8f\x22\x9b\x22\xa5\x22\xaf\x22\xb8\x22\xc2\x22\xe5\x22\xeb\x22\xf2\x22" -+"\xf9\x22\xff\x23\x07\x23\x0f\x23\x16\x23\x1d\x23\x23\x23\x2a\x23\x31\x23\x39\x23\x42\x23\x4a\x23\x52\x23\x5b\x23\x63\x23\x6b\x23" -+"\x77\x23\x93\x23\x9f\x23\xa7\x23\xb0\x23\xb8\x23\xc1\x23\xcb\x23\xf3\x23\xfd\x24\x06\x24\x0d\x24\x15\x24\x1d\x24\x24\x24\x2d\x24" -+"\x35\x24\x3e\x24\x46\x24\x4f\x24\x58\x24\x67\x24\x70\x24\x78\x24\xe4\x25\x51\x25\xc7\x25\xf0\x26\x5e\x27\x07\x27\xb9\x28\x22\x28" -+"\x2b\x28\x32\x28\x35\x28\x51\x28\x59\x28\x90\x28\xb6\x29\x22\x29\x2c\x29\x35\x29\x3e\x29\x49\x29\xdd\x29\xe5\x29\xe7\x2a\x02\x2a" -+"\x0f\x2a\x17\x2a\x21\x2a\x2a\x2a\x91\x2a\xae\x2a\xc5\x2b\x1a\x2b\x3e\x2b\x6e\x2c\x04\x2c\x41\x2c\x49\x2c\x51\x2c\x59\x2c\x62\x2c" -+"\x8c\x2c\x94\x2c\xf9\x2d\x07\x2d\x12\x2d\x1b\x2d\x54\x2d\x58\x2d\x7d\x2d\xb2\x2d\xef\x2e\x31\x2e\x95\x2e\x9c\x2e\xa3\x2e\xe0\x2e" -+"\xea\x2e\xf6\x2e\xff\x2f\x44\x2f\x4b\x2f\x5b\x2f\x68\x2f\xa3\x2f\xb3\x2f\xbd\x2f\xc5\x30\x50\x30\x52\x30\x78\x30\x80\x30\xe1\x31" -+"\x09\x31\xa4\x31\xad\x31\xb7\x31\xc5\x31\xef\x31\xf8\x32\x47\x32\x4f\x32\x60\x32\x9e\x32\xd2\x32\xfd\x33\x05\x33\x42\x33\xb7\x33" -+"\xcb\x33\xe6\x33\xee\x34\x1b\x34\x1e\x34\x2c\x34\x77\x34\x80\x34\xbb\x34\xc4\x34\xcd\x34\xd5\x34\xdd\x35\x50\x35\x57\x35\x5d\x35" -+"\x66\x35\x70\x35\xa4\x35\xac\x36\x62\x36\x66\x36\x9a\x36\xc4\x37\x30\x37\x4d\x37\xbf\x37\xe1\x38\x34\x38\xc8\x39\x1a\x39\x1d\x39" -+"\x62\x39\x67\x39\xc1\x39\xea\x39\xf9\x39\xfb\x3a\x20\x3a\x41\x3a\x90\x3a\xbc\x3a\xc1\x3b\x29\x3b\x66\x3b\x7c\x3b\x9a\x3b\xbb\x3b" -+"\xe2\x3c\x1d\x3c\x46\x3c\x61\x3c\xd4\x3d\x18\x3d\x82\x3d\x9c\x3e\x0a\x3e\x38\x3e\xaa\x3f\x2a\x3f\x2e\x3f\x56\x3f\x92\x40\x0b\x40" -+"\x99\x40\xfe\x41\x10\x41\x53\x41\xc9\x42\x42\x42\xb8\x42\xe2\x43\x41\x43\x47\x43\x56\x43\xe7\x44\x31\x44\x35\x44\x9e\x44\xa2\x44" -+"\xd8\x45\x36\x45\x43\x45\x73\x45\x92\x46\x07\x46\x4a\x46\x74\x46\x78\x47\x22\x47\xa2\x47\xdc\x47\xf9\x48\x45\x48\x9f\x48\xe7\x49" -+"\x2c\x49\x59\x49\xb0\x49\xe6\x4a\x4e\x4a\x75\x4b\x05\x4b\x34\x4b\x8b\x4b\xfe\x4c\x2c\x4c\x4e\x4c\x91\x4d\x00\x4d\x5a\x4d\xd9\x4d" -+"\xe2\x4e\x19\x4e\x3d\x4e\x84\x4e\xca\x4f\x39\x4f\xbb\x50\x4d\x50\x54\x50\x6f\x50\x78\x50\xad\x50\xe3\x51\x27\x51\x75\x51\x81\x51" -+"\xb6\x51\xd6\x51\xf6\x52\x16\x52\x36\x52\x42\x52\x57\x52\xc7\x52\xdb\x52\xe3\x52\xeb\x52\xf5\x53\x55\x53\xd3\x54\x3f\x54\x62\x54" -+"\x85\x54\xf3\x55\x1f\x55\x27\x55\x4d\x55\x55\x55\x5e\x55\x8e\x55\x97\x55\xdb\x56\x0a\x56\x0e\x56\x28\x56\x49\x56\xa2\x56\xe9\x57" -+"\x3f\x57\xaa\x57\xc3\x58\x0b\x58\x9b\x59\x13\x59\x1c\x59\x25\x59\x56\x59\x86\x59\xab\x5a\x14\x5a\x1c\x5a\x64\x5a\x8b\x5a\x99\x5b" -+"\x0e\x5b\x1c\x5b\x94\x5c\x02\x5c\x36\x5c\x6a\x5c\xaf\x5d\x3c\x5d\x7c\x5d\x81\x5d\x9b\x5d\xa4\x5d\xc4\x5d\xd0\x5d\xd9\x5e\x4f\x5e" -+"\x60\x5e\xe2\x5e\xeb\x5f\x4b\x5f\x68\x5f\x71\x5f\x97\x5f\xbe\x5f\xca\x60\x07\x60\x7c\x60\x82\x60\xcd\x61\x4f\x61\x58\x61\xe2\x61" -+"\xeb\x61\xf4\x62\x5b\x62\x93\x62\xec\x62\xf9\x63\x09\x63\x12\x63\x81\x64\x05\x64\x09\x64\x29\x64\x37\x64\x45\x64\xb7\x65\x4a\x65" -+"\xca\x66\x4b\x66\x7f\x66\xa7\x66\xdd\x67\x5a\x67\x8a\x67\x94\x67\xaf\x67\xb9\x67\xc2\x67\xd4\x68\x1f\x68\x2a\x68\x94\x68\x9c\x68" -+"\xa6\x68\xc5\x69\x16\x69\xa7\x69\xf8\x6a\x34\x6a\xb8\x6b\x07\x6b\x2e\x6b\x46\x6b\x78\x6b\xcf\x6b\xf0\x6b\xf9\x6c\x0d\x6c\x16\x6c" -+"\x29\x6c\x2c\x6c\x30\x6c\x3d\x6c\x47\x6c\x4e\x6c\x56\x6c\x7e\x6d\x0d\x6d\x84\x6e\x00\x6e\x0c\x6e\x2c\x6e\x36\x6e\x3e\x6e\x74\x6e" -+"\xb5\x6f\x55\x6f\xee\x70\x60\x70\xc0\x70\xfd\x71\x4a\x71\xdb\x72\x22\x72\x86\x72\xf5\x73\x14\x73\x31\x73\x7a\x73\xa8\x73\xe9\x74" -+"\x42\x74\x8e\x74\xf1\x75\x3c\x75\xc2\x76\x12\x76\x49\x76\xa3\x77\x0a\x77\x35\x77\x92\x77\x96\x77\xc7\x77\xff\x78\x66\x78\x6d\x78" -+"\x75\x78\xcb\x79\x12\x79\x27\x79\x8e\x79\x99\x7a\x51\x7a\xcc\x7a\xd0\x7a\xd8\x7a\xf4\x7b\x11\x7b\x81\x7b\x99\x7b\xde\x7c\x07\x7c" -+"\x7f\x7c\x83\x7c\x9c\x7c\xe6\x7c\xfa\x7d\x03\x7d\x0b\x7d\x12\x7d\x19\x7d\x2a\x7d\x31\x7d\xeb\x7e\x07\x7e\x28\x7e\x31\x7e\x3b\x7e" -+"\xce\xfb\x95\x0e\xfb\x95\x0e\xfb\x42\xf7\x51\xf7\x44\x15\xb8\xf8\x13\x05\x8c\x97\x8c\x96\x99\x1a\xbf\x78\xa7\x69\x6a\x77\x6d\x5c" -+"\x71\x93\x3f\x97\x40\x1e\x94\x50\x91\x5a\x8d\x6d\x94\xfb\x00\x18\x92\x3b\x15\x6d\x74\x73\x6d\x6e\xa1\x75\xa9\xac\xa2\xa0\xa9\xa9" -+"\x72\xa3\x6d\x1f\x0e\x28\xf7\xbf\xf8\x43\x15\x8e\x9d\x8d\x98\x8d\x94\x08\x9b\xd7\x94\xc7\xa8\x1a\xa1\x78\x9d\x74\x73\x78\x79\x74" -+"\x7a\x99\x31\x9d\x2a\x1e\xfb\x28\x16\x8e\x9d\x8d\x98\x8d\x94\x08\x9b\xd7\x94\xc7\xa8\x1a\xa1\x78\x9d\x74\x73\x78\x79\x74\x7a\x99" -+"\x31\x9d\x2a\x1e\x0e\x84\xf8\x6b\xf7\xa3\x15\x27\x06\x9f\xf7\x1a\x05\xf4\xc2\x2a\x06\xa9\xf7\x5e\x05\x51\x06\x6d\xfb\x5e\x05\xfb" -+"\x19\x06\xaa\xf7\x5e\x05\x51\x06\x6c\xfb\x5e\x05\xfb\x0a\x54\xf7\x02\x06\x76\xfb\x1a\x05\xfb\x08\x54\xf6\x06\x6a\xfb\x6c\x05\xc5" -+"\x06\xac\xf7\x6c\x05\xf7\x1a\x06\x6c\xfb\x6c\x05\xc5\x06\xaa\xf7\x6c\x05\xf7\x01\x06\xfb\x1e\xf7\x51\x15\x77\xfb\x1a\x05\xfb\x1a" -+"\x06\xa0\xf7\x1a\x05\x0e\x84\xf8\x3d\xf8\x88\x15\xf7\x03\x07\x69\xa7\x60\x9a\x37\x95\x08\xca\x69\x4c\x07\x4c\x84\x6f\x82\x6a\x71" -+"\x08\x69\x70\x77\x63\x60\x1a\x5c\x9b\x68\xb3\x66\x1e\xa8\x6f\xa1\x7c\xd2\x63\x08\xfb\xae\x07\x2d\x8c\x56\xba\x73\xf4\x08\x7c\xfb" -+"\x16\x06\xc7\x66\xb5\x80\xdf\x88\x08\x34\xad\xe2\x07\xd5\x97\xaa\x97\xaf\xa8\x08\xac\xa7\x9e\xb4\xbb\x1a\xaf\x84\xac\x7e\xa0\x1e" -+"\x71\xb4\x70\xa0\xfb\x0c\xd0\x08\xf7\x8a\x07\xdf\x81\xb8\x61\x9c\x36\x08\xfb\x49\x2e\x15\x37\xc3\x78\xa3\xba\x1a\xc2\xad\xad\xd0" -+"\x99\x1e\xae\xfb\xec\x15\xe8\x51\xa0\x70\x4d\x1a\x49\x67\x66\x3d\x7c\x1e\x0e\xf7\xda\xf9\x31\xf8\x07\x15\xfb\x05\x20\xfb\x09\xfb" -+"\x11\x3d\xba\x58\xd4\xb8\xb0\x9b\xae\xae\x1f\xc0\xc1\xac\xdc\xd9\x1a\xcf\x65\xb2\x4a\x1e\x92\x6b\x15\xb2\xaa\x67\x5f\x52\x72\x47" -+"\x65\x5b\x1f\x64\x6b\x6e\x7a\x67\x1b\x66\x73\xa5\xb1\xc1\xa7\xdc\xb0\xbf\x1f\xb3\xa6\xa7\x9d\xaa\x1b\x61\xf7\xe5\x15\x64\x06\x58" -+"\x54\x64\x7a\x4c\x1b\x63\x75\x92\x9f\x73\x1f\xa1\x71\x7e\x90\x6c\x1b\xfb\x07\x21\xfb\x0b\xfb\x13\x45\xc0\x52\xcc\xb6\xb8\x9f\xae" -+"\xac\x1f\xbf\xc0\xab\xdb\xd3\x1a\x99\x89\x97\x86\x9d\x1e\x84\x9d\x9e\x88\xa8\x1b\xb6\xa4\x92\xa3\xb4\x1f\xfb\xf3\xfd\x07\x05\xbb" -+"\x06\xf0\xf8\xf9\x15\x91\x77\x8e\x7c\x7d\x1a\x62\x7c\x56\x74\x61\x1e\x51\x6a\x5d\x69\x5d\x1b\x68\x73\xa4\xaf\xf5\xde\xf7\x22\xc9" -+"\x90\x8d\x8a\x86\x91\x1f\x99\x7e\x97\x86\xa8\x83\x08\x0e\xf7\xa3\xf9\x5b\xf8\x3e\x15\xfb\x6c\x76\x06\xbd\x86\x99\x81\x6d\x1a\x5f" -+"\x71\x57\x4a\x35\x1e\x54\xd0\x6a\xbe\x5f\xe1\x08\xf7\x06\xc1\xb4\xb8\xd3\x1a\xd2\x53\xbd\x3c\x35\x47\x47\x35\x65\x93\x6b\xa6\x40" -+"\x1e\x65\x75\x05\x21\x4e\x58\x44\x37\x1a\x2c\xcb\x52\xf6\xdc\xc7\xa4\xcd\xd6\x1e\x4a\xca\xbc\x71\xc5\x1b\xcb\xc4\xb5\xd2\xa9\x1f" -+"\x7c\x96\x05\x63\x6b\x75\x7e\x67\x1b\x53\x58\xaa\xc8\x5c\x1f\xb7\xc6\xa4\xb0\xaa\xc1\xa5\xb9\x18\xa3\xb4\x9f\x97\xbd\x91\x08\xfc" -+"\x1a\x96\x15\x6d\xca\x81\xb1\xb8\x1a\xbb\xaa\xad\xb9\xb9\xad\x67\x5a\x54\x65\x5d\x3c\x61\x1e\x46\x42\x15\xc7\xfb\x06\xae\x54\xc4" -+"\x45\x08\x5c\x4f\x65\x79\x60\x1b\x44\x51\xca\xd9\xcb\xaa\xb6\xe2\xc3\x1f\x0e\xfb\x42\xf5\xf8\x45\x4d\x0a\x0e\xfb\x42\xf7\xbb\xf9" -+"\x38\x15\x41\x5a\x6d\x72\x66\x5d\x08\x44\x34\x68\x27\xfb\x09\x1a\xfb\x14\xb0\x2a\xe3\x25\x1e\xb4\x5b\xa5\x75\xbf\x6b\x97\x9b\x18" -+"\x3b\xca\x6f\xaf\x70\xd5\x08\x73\xce\x80\xd6\xf0\x1a\xf4\x98\xde\xa6\xc8\x1e\xa7\xc9\xa9\xaf\xd3\xc5\x08\x0e\xfb\x42\xb1\xfb\x45" -+"\x15\xd5\xbc\xa9\xa4\xb0\xb9\x08\xd2\xe2\xae\xef\xf7\x09\x1a\xf7\x14\x66\xec\x33\xf1\x1e\x62\xbb\x71\xa1\x57\xab\x7f\x7b\x18\xdb" -+"\x4c\xa6\x68\xa7\x40\x08\xa3\x48\x96\x40\x26\x1a\x22\x7e\x39\x70\x4e\x1e\x70\x4d\x6c\x66\x43\x51\x08\x0e\x84\xf7\x85\xf8\x55\x15" -+"\x8c\x82\x8c\x85\x89\x1a\x71\x85\x71\x7f\x6b\x1e\x84\x78\x87\x7a\x80\x1a\x78\x9b\x7a\x9e\xa0\x9d\x9e\xa0\x91\x88\x97\x86\x99\x1e" -+"\x7e\xae\x84\xb1\xb2\x1a\x92\x07\x92\x88\xa0\x83\xa2\x77\xa5\x6b\x19\x6c\xa4\x9c\x7f\x9d\x1b\xa0\x99\x9a\xa1\xa5\x7c\x96\x5f\x92" -+"\x1f\x64\x91\x6a\x97\x72\x9b\x83\x90\x18\xbc\xa7\x9e\x92\xb7\x92\x08\xb2\x91\x97\x95\xa5\x1a\xa2\x7d\x9b\x75\x7c\x7a\x7e\x6f\x73" -+"\x1e\x72\x6d\x73\x75\x74\x7f\x84\x87\x18\xa5\x07\xa6\xf7\x16\x05\x9f\x7b\x9b\x77\x77\x7c\x7c\x77\x80\x8f\x78\x91\x76\x1e\x95\x68" -+"\x90\x6c\x72\x1a\x7e\x07\x65\xa0\x77\x9b\x6b\xaf\x08\xa3\x77\x7f\x93\x7b\x1b\x77\x7d\x7c\x76\x72\x9e\x7e\xbc\x82\x1f\xb0\x84\xa9" -+"\x81\x9e\x7e\x96\x84\x18\x62\x72\x7b\x85\x5d\x82\x08\x5e\x83\x7a\x7f\x71\x1a\x76\x98\x7e\xa2\x9b\x94\x90\x9e\x9c\x1e\xa8\xac\x90" -+"\x90\x93\x92\x95\x93\x8f\x8f\xb0\xa3\x08\x0e\xc4\xf7\x8d\xf7\xb2\x15\xfb\x6f\x49\xf7\x6f\xfb\x70\xcd\xf7\x70\xe7\x1d\xfb\x95\xde" -+"\xfb\x21\x25\x0a\xfb\x42\xc9\x0a\xfb\x95\xf7\x11\xef\x2b\x0a\xfb\x79\xf7\xb3\xf9\x38\x15\x48\x06\xfb\x79\xfd\x46\x05\xcf\x06\x0e" -+"\x84\xf7\x92\xf9\x38\x15\x54\x61\x7b\x67\x66\x1f\x51\x53\x65\xfb\x07\xfb\x09\x1a\xfb\x02\xac\xfb\x08\xba\x53\x1e\x5f\xb0\xbe\x73" -+"\xc5\x1b\xbe\xb6\x9c\xae\xaf\x1f\xc5\xc2\xb1\xf7\x08\xf7\x0d\x1a\xf7\x61\x30\xf7\x21\xfb\x17\x1e\x88\x71\x15\xdf\xb8\xfb\x05\xfb" -+"\x65\xfb\x65\x5f\x20\x35\x35\x5f\xf6\xf7\x64\xf7\x69\xb8\xf7\x02\xe1\x1f\x0e\x84\xf7\x0a\x16\xf7\xa8\x9a\x06\x3e\x7a\x96\xbb\x8a" -+"\x1f\xf8\xec\x07\x83\x8d\xfb\x48\x30\x05\x7d\x07\x9a\xb2\xa3\x92\x94\x1b\xa0\x94\x7c\x6b\x1f\xfc\x59\x07\x89\x4c\x7a\x7d\x3f\x8a" -+"\x08\x0e\x84\xf8\x6f\xf7\x1d\x15\x7e\x90\x66\x51\x80\x84\x5c\x8a\x19\xfb\x83\x06\xf7\x3c\xf7\x44\x05\xe4\xe8\xb2\xd7\xd9\x1a\xef" -+"\x3a\xd8\x23\x54\x57\x75\x63\x66\x1e\x6b\x69\x7c\x6b\x7a\x44\xa0\x86\x18\xed\xb3\xae\xab\xd1\x1b\xe0\xc3\x52\x37\x3c\x5d\x2f\x37" -+"\x32\x1f\xfb\x46\xfb\x51\x05\x7f\xf8\x1a\x07\x0e\x84\xf7\x2d\xf7\xde\x15\xc6\xa2\x89\x82\xa2\x1f\xca\x74\xb1\x53\x46\x1a\x36\x53" -+"\x4b\x41\x6f\x77\x92\xa3\x66\x1e\x9d\x6e\x7a\x92\x7a\x1b\x74\x7c\x7d\x76\x68\xb6\x75\xd1\xd7\xda\xa5\xb4\xbb\x1f\xba\xb4\xa4\xc5" -+"\xce\x1a\xbf\x7b\xb9\x6f\xaa\x1e\x76\xa1\x78\x97\x60\x9e\x08\xcf\xba\xa4\xb0\xc1\x1a\xdd\x4c\xc2\x2e\x59\x5f\x7a\x6b\x67\x1e\x6d" -+"\x6f\x7c\x72\x76\x4f\x9a\x87\x18\xd5\xb3\xb8\xab\xca\x1b\xcd\xb7\x60\x4b\x67\x7c\x68\x72\x71\x1f\x6d\x6d\x6f\x7c\x47\x73\x08\x0e" -+"\x84\xf8\x6c\xf7\x7b\x15\x25\xf8\x51\x5f\x06\xfb\xce\xfc\x51\x05\x4b\xf7\xad\xfb\x3b\xd8\xf7\x3b\xf1\x07\xfb\x48\xcb\x15\xfb\x84" -+"\x06\xf7\x84\xf7\xeb\x05\x0e\x84\xf7\x49\xf8\xdb\x15\xf7\x58\x06\x9c\x8e\x8c\x93\x8e\x1f\xb1\xe4\x82\x92\x05\x77\x7c\x82\x85\x75" -+"\x1b\xfb\x65\x06\xfb\x01\xfb\x81\x05\x8a\x89\x8b\x8a\x89\x1a\x85\x8f\x89\x93\xab\xb2\x84\x7e\xb5\x1e\xf7\x07\x66\xbf\x4e\x27\x1a" -+"\x2b\x4f\x40\x3c\x77\x7b\x92\xa1\x6d\x1e\xa3\x6b\x75\x94\x74\x1b\x6f\x7d\x7f\x72\x65\xb9\x73\xd7\xde\xd3\xa6\xbe\xbe\x1f\xb8\xb8" -+"\xa0\xc4\xd7\x1a\xd3\x78\xb9\x5a\xbd\x1e\x5f\xb7\x52\xa2\xfb\x0a\xa0\x08\x0e\x84\xf8\x52\xf9\x40\x15\xfb\x06\x81\x51\x78\x42\x58" -+"\x08\xfb\x00\x3e\x50\xfb\x06\xfb\x1a\x1a\x34\xa6\x33\xb6\x59\x1e\x5f\xb1\xc1\x73\xc9\x1b\xf7\x10\xe1\xea\xf7\x1e\xf7\x15\x43\xdb" -+"\xfb\x09\x5f\x77\x84\x65\x4c\x1f\xa6\xf7\x2b\xf7\x04\xf7\x00\xf7\x31\xa5\x08\xfb\x62\xfb\xb2\x15\xe2\xbc\x43\xfb\x11\xfb\x02\x64" -+"\x4e\x45\x33\x55\xe9\xf7\x2f\xbe\x93\xa7\x9f\x9a\x1f\x9b\xa0\xaa\x94\xae\x1b\x0e\x84\xf8\x55\x21\x1d\xfc\x06\x06\x50\xfb\x27\x9c" -+"\x83\xb4\xce\x9e\x98\xc3\x8c\x19\xf7\x6d\x06\xfb\x5a\xfc\xe8\x05\xcc\x06\xf7\x68\xf9\x22\x05\x0e\x84\xf7\xb6\xf8\x07\x15\xef\xc1" -+"\xad\xb4\xcf\x1a\xde\x44\xc6\x26\xfb\x01\x3a\x48\x30\x4a\x9e\x6e\xf4\x2f\x1e\xfb\x01\x38\x76\x6e\x46\x1a\x29\xd9\x48\xf7\x06\xf7" -+"\x0c\xd8\xcd\xf2\xd8\x69\xbb\xfb\x0d\xe6\x1e\x79\x24\x15\xd4\x57\xa3\x67\x53\x1a\x4a\x5e\x5e\x4a\x3f\x58\xc5\xe1\xcc\xa0\xb4\xc6" -+"\xbb\x1e\xbc\xd8\x15\x32\xc5\x67\xb9\xc3\x1a\xc5\xb8\xb4\xca\xcf\xb6\x5f\x46\x4e\x71\x63\x47\x5e\x1e\x0e\x84\xc6\x75\x15\xf7\x04" -+"\x98\xc2\x9e\xcf\xbc\x08\xf3\xd7\xc8\xf7\x10\xf7\x1b\x1a\xf7\x39\x30\xf7\x09\xfb\x16\xfb\x0b\x32\x26\xfb\x1b\xfb\x0e\xd3\x3a\xf7" -+"\x00\xc2\xb5\x9b\xb4\xc0\x1e\x62\xfb\x37\xfb\x03\x20\xfb\x2c\x71\x08\xf7\xc6\xf7\xf9\x15\x77\x87\x82\x80\x82\x1e\x74\x70\x65\x7d" -+"\x67\x1b\x3f\x5b\xd6\xf7\x0b\xc4\x9b\xc7\xa0\xa5\x1f\x9f\x9c\xa4\x96\xa8\x1b\xe2\xb8\x35\xfb\x3c\x1f\x0e\xfb\x79\xf7\x1c\xf8\x5f" -+"\x15\x2c\x1d\xfb\xfb\x04\x2c\x1d\x0e\xfb\x79\xf6\xfb\x21\x15\xd0\xad\xb6\xc7\xc7\x1a\xbe\x68\xb1\x5e\x67\x74\x75\x69\x6a\xa1\x78" -+"\xb0\x92\x92\x8c\x8c\x91\x1e\x8d\x90\x8c\x8b\x8c\x1b\x93\x91\x85\x83\x6b\x6f\x66\x55\x66\x1f\xb1\xf8\xd9\x15\x6d\x72\x72\x6b\x6e" -+"\xa4\x72\xa8\xaa\xa5\xa4\xa8\xaa\x71\xa5\x6d\x1f\x0e\xc4\xf8\x7c\xf8\xe8\x15\xfc\x30\xfb\x9c\x05\x85\x07\xf8\x30\xfb\xa8\x05\xf3" -+"\x07\xfb\xc6\xf7\x60\xf7\xc6\xf7\x5b\x05\x0e\xc4\xf8\xaa\xf8\x16\x15\xfc\x8c\x49\xf8\x8c\x06\xfb\x1a\x04\xfc\x8c\x49\xf8\x8c\x06" -+"\x0e\xc4\xd7\xbd\x15\xf8\x30\xf7\x9c\x05\x92\x07\xfc\x30\xf7\xa7\x05\x24\x07\xf7\xc6\xfb\x61\xfb\xc6\xfb\x5b\x05\x0e\x4c\xf7\x88" -+"\xf7\x38\x15\x96\xcf\x9c\xb3\xb0\xb9\xb9\xc3\x8b\x8b\x99\xa0\x08\xab\xbc\x98\xaf\xb4\x1a\xb1\x7e\xaf\x74\xa2\x1e\xae\x69\x50\xa2" -+"\x54\x1b\x2f\x45\x4d\x38\x62\x9b\x76\xab\xa4\x9b\x9b\xa4\x99\x85\x97\x7c\x9c\x1f\x7e\x99\x87\x93\x94\x1a\xab\xb9\xa9\xbb\xc8\xbb" -+"\x56\x48\x5d\x7e\x54\x73\x54\x1e\x6f\x4b\x78\x5a\x81\x5a\x8a\x5f\x19\x95\x48\x15\x6d\x74\x73\x6c\x6e\xa1\x76\xaa\xab\xa2\xa0\xa9" -+"\xa9\x72\xa3\x6d\x1f\x0e\xf8\x32\xf9\x44\xd4\x15\x68\x3d\x58\x7e\x48\x1b\xfb\x3f\xfb\x0d\xf7\x0f\xf7\x43\xe8\xaf\xea\xc4\xc5\x1f" -+"\xbc\xbc\xcd\xa6\xd5\x1b\xf7\x31\xf7\x16\xfb\x0f\xfb\x29\x26\x4c\x2b\x49\x71\x7e\x9a\xaa\x92\x8c\x91\x8c\x90\x1f\xcc\xf7\x92\x05" -+"\x46\x06\x81\x65\x05\xb4\x75\x7c\x96\x68\x1b\x60\x68\x7b\x69\x68\x1f\x57\x56\x6c\x40\x41\x1a\x4c\xb2\x5a\xbc\xb7\xba\xa6\xb8\xad" -+"\x1e\x5f\x91\xb0\x6e\xbb\x1b\xee\xe0\xf7\x03\xf7\x15\xf7\x39\xfb\x23\xf7\x14\xfb\x4d\xfb\x5f\xfb\x36\xfb\x2f\xfb\x57\xfb\x54\xf7" -+"\x34\xfb\x28\xf7\x64\xd1\xbc\x98\xb7\xec\x1f\xfb\x3d\xf8\x39\x15\xa7\x89\x9a\x74\x89\x64\x89\x59\x7a\x51\x72\x5c\x08\x67\x77\x6e" -+"\x75\x70\x1b\x66\x74\xab\xc0\xc1\x9d\xbd\xad\xb1\x1f\xa7\xab\xae\x9f\xa3\x89\x08\x0e\x22\x0a\x0e\xf7\x34\x9c\xf9\x17\x15\xdf\x66" -+"\x1d\x40\x7e\x7f\x39\x88\x08\x78\xf7\xe2\x07\xd8\xd3\xa0\xad\xb0\x1f\xaf\xab\x9f\xb8\xbb\x1a\xb7\x7a\xb3\x6b\xa8\x1e\x6d\xa6\x70" -+"\x97\x4a\x9b\xbf\x98\xa0\x95\xa3\xa0\x08\xa4\xa1\x9a\xaf\xb5\x1a\xf7\x04\x31\xc5\xfb\x40\x1e\xfb\xac\x06\xf7\x5a\xfb\xe4\x15\xec" -+"\xb9\x85\x7c\xaf\x1f\xc4\x74\xa6\x62\x4d\x1a\x55\x76\x64\x63\x74\x1e\x79\x6b\x62\x83\x49\x1b\x5a\x7d\x94\xab\x1f\xf7\xb3\x04\xf7" -+"\x7a\x07\x8c\xa1\x8f\x91\x9c\x8c\xb7\x8c\x18\xf7\x03\x8e\xcc\x58\x32\x1a\x3c\x58\x61\x2b\x8a\x1e\x0e\xf7\x34\x31\x0a\x0e\x6a\x0a" -+"\x0e\xf3\x21\x0a\x0e\xbc\xf8\x73\xf7\x7b\x15\xf7\x7c\x74\x07\x80\x3c\x7a\x7d\x39\x89\x08\xfb\x25\xf7\x72\x06\x8c\xa9\x8e\x8e\xa7" -+"\x8c\x08\xf7\x1c\x54\x1d\xfc\x45\xa5\x0a\xf7\x6e\xf7\x25\x07\xdd\x8a\x9b\x7d\x97\x3a\x08\x0e\x30\x0a\x0e\x69\x0a\x0e\xfb\x42\x28" -+"\x1d\x0e\xfb\x0a\xf8\x06\x21\x1d\xfb\xb3\x78\x06\xdc\x85\x96\x81\x8c\x41\x08\xfc\x63\x07\x5e\x7f\x76\x71\x7d\x85\x93\xa4\x84\x1e" -+"\xae\x81\x7b\x9b\x71\x1b\x70\x75\x74\x70\x61\xb4\x6d\xc5\xf7\x00\xc8\xd3\xf7\x11\x1f\xf8\x06\x07\x8d\xd6\x94\x94\xdc\x91\x08\x0e" -+"\x63\x0a\x0e\xf3\x36\x1d\x0e\xf8\x12\xf9\xf3\x21\x1d\xfb\x5b\x06\xfb\x71\xfc\x8d\xfb\x7b\xf8\x8d\x05\xfb\x5a\x78\x06\xdd\x87\x96" -+"\x80\x8d\x40\x08\xfc\x2a\x59\x1d\xf8\x27\x07\xf7\x8f\xfc\xba\x05\x99\x06\xf7\x94\xf8\xd1\x05\xfc\x59\x07\x8a\x36\x80\x80\x3c\x86" -+"\x08\x78\xf7\xac\x9e\x07\x43\x8f\x7e\x99\x89\xd3\x08\xf8\x50\x07\x8d\xd3\x97\x98\xd4\x90\x08\x0e\x33\x0a\x0e\x23\x0a\x0e\xbc\x9b" -+"\xf9\x17\x15\xd5\x83\x94\x48\x1d\x84\x82\x3f\x84\x08\x78\xf7\xac\x9e\x07\x3c\x8d\x7d\x99\x8a\xd5\x08\xf7\x4a\xd9\x1d\xc7\xab\xaf" -+"\xc8\xcd\x1a\xb5\x7d\xb1\x70\xa8\x1e\xb7\x63\x34\xa7\x2d\x1b\xfb\x9c\x06\xf7\x4e\x44\x15\xa6\x92\x92\xa6\xf7\x1b\xc9\x5c\x24\x2a" -+"\x50\x59\xfb\x07\x77\x7d\x8c\x8d\x74\x1e\x0e\xf9\x51\xfb\x33\x15\xfb\x06\x8e\x3b\xb7\x3a\xf4\xcf\x98\xaf\x9c\xb9\xb3\x08\xd5\xcd" -+"\xb1\xe6\xf7\x03\x1a\xf7\x5d\xfb\x1c\xf7\x24\xfb\x53\xfb\x53\xfb\x1c\xfb\x24\xfb\x5f\x29\xa9\x39\xc6\x4b\x1e\xb2\x61\xab\x77\xd2" -+"\x73\xba\x54\x18\x3b\xcf\xf7\x0d\x61\xf7\x34\x1b\x96\x98\x8b\x8c\x95\x1f\x91\x06\xfb\xe5\xf9\xc5\x15\xb6\xb9\x78\x6c\xae\x1f\xc1" -+"\x5b\xab\x2b\xfb\x05\x1a\x28\x6e\x25\x63\x5d\x1e\x62\x66\x57\x74\x54\x1b\x5b\x5f\x9c\xab\x66\x1f\x57\xba\x6b\xee\xf7\x0a\x1a\xec" -+"\xa8\xec\xb4\xb9\x1e\xb7\xb4\xba\xa0\xc5\x1b\x0e\xf7\x34\x3b\x0a\x0e\xbc\x2f\x0a\x0e\xf3\x53\x1d\x0e\x24\x1d\x0e\xf9\x4d\x21\x1d" -+"\xfb\x61\x78\x06\xc2\x87\x9d\x81\x6f\x1a\x7b\x84\x70\x7f\x6d\x1e\xfb\x27\xfc\x03\xfb\x2b\xf7\xe6\x05\x6a\xd5\x83\xa1\x9a\x1a\x9f" -+"\x99\x94\xab\x8d\x1e\x90\x96\x8c\x8c\x98\x1f\x9e\xfb\x9e\x78\x07\xbc\x89\x99\x7d\xb6\x32\xf7\x8a\xfc\xb9\x18\x9a\x06\xf7\x72\xf8" -+"\xc5\xac\xda\x96\x96\xbb\x8e\x19\x0e\xf8\x49\x32\x1d\x0e\xf9\x4c\x21\x1d\xfb\x82\x78\x06\xc1\x89\x9b\x84\x74\x1a\x7c\x81\x79\x6d" -+"\x67\x1e\xfb\x05\xfb\x1e\x61\xc6\x05\x4e\xe1\x73\xb5\xa1\x1a\x9f\x9a\x93\xac\x8c\x1e\xa7\x8c\x05\x9e\xfb\xc2\x78\x07\xcc\x88\x9d" -+"\x7c\xed\xfb\x1f\xf7\x01\xfb\x34\x18\xfb\x31\xfb\x55\x32\x21\x86\x87\x58\x87\x19\x78\xf7\x7d\x9e\x07\x50\x8f\x7a\x93\xa2\x1a\x9a" -+"\x9a\xa4\xb0\xb9\x1e\xf7\x0b\xf7\x28\xea\xfb\x20\x05\xad\x58\x9c\x6b\x7c\x1a\x79\x7b\x81\x69\x8a\x1e\x87\x80\x8a\x8a\x7f\x1f\x78" -+"\xf7\xbd\x9e\x07\x56\x91\x7c\x95\x60\xc5\xfb\x54\xf7\xa6\x18\xf7\x26\xf7\x4a\xcc\xd9\x9f\x97\xcb\x8f\x19\x0e\x34\x1d\x0e\xf3\x3c" -+"\x0a\x0e\xfb\x42\xf7\xbf\xf9\x11\x15\xa4\xfb\x67\xfd\xc6\xf7\x67\xa4\x35\x07\x69\x8c\x7d\x9a\x8a\xaf\x08\xf9\x34\x07\x8c\xab\x96" -+"\x96\xac\x8c\x08\x0e\xfb\x79\x82\xf9\x38\x15\xf7\x78\xfd\x46\x05\xcf\x06\xfb\x79\xf9\x46\x05\x0e\xfb\x42\xad\xfb\x17\x15\x72\xf7" -+"\x67\xf9\xc6\xfb\x67\x72\xe1\x07\xad\x8a\x99\x7c\x8c\x67\x08\xfd\x34\x07\x8a\x6b\x80\x80\x6a\x8a\x08\x0e\x65\xe8\xf7\xbb\x15\xf7" -+"\x22\xf7\xb3\xf7\x21\xfb\xb3\x05\xcf\x06\xfb\x48\xf7\xfe\x05\x50\x06\xfb\x48\xfb\xfe\x05\x0e\x84\xf8\x87\xfb\x18\x15\xbd\xfc\x85" -+"\x59\x07\x0e\xfb\x42\xf7\x77\xf9\x38\x15\x48\x6a\x5e\x9c\x1d\x0e\x4c\x26\x1d\x0e\x84\xf7\x2d\xf9\x3d\x15\x86\x8d\x62\x7d\x70\x82" -+"\x5b\x7e\x19\x6e\x83\x05\x7b\x07\x8c\x91\x8e\x8b\x93\x1b\xb3\x94\x82\x61\x1f\xfc\x9b\x07\x6c\xdf\x6a\xdc\xf7\x18\xf1\xf7\x02\xf7" -+"\x23\xf7\x10\x3f\xe8\x27\x4e\x51\x68\x59\x77\x1e\x56\x04\xb2\xba\xaf\xbf\xa7\xa4\x81\x78\xa0\x1e\xab\x6c\xa1\x47\x43\x1a\xfb\x03" -+"\x5b\x4b\x39\x57\x5e\xa1\xa5\x1e\x0e\x4c\x35\x1d\x0e\x84\xf8\x7f\x67\x0a\x0e\x4c\x27\x1d\x0e\xfb\x42\xf7\xc9\x26\x0a\xfb\x0f\xf7" -+"\x08\x06\x7b\x0a\xf7\x98\x9a\x07\x39\x8e\x80\x96\xd6\x1a\xf7\xce\xf7\x0e\x07\x0e\x84\x3a\x0a\x0e\x84\x77\x1d\x0e\xfb\x79\x27\x0a" -+"\xf7\x04\xf9\x30\x5b\x1d\xfb\x79\x70\x0a\x58\xf9\x3f\x5b\x1d\x84\x62\x0a\x0e\xfb\x79\x3d\x0a\x0e\xf7\xa3\x9b\x16\xf7\x72\x9a\x06" -+"\x58\x8c\x7b\x96\x8a\xb3\x08\xf7\xae\x07\x8d\x93\x95\x92\x92\x1e\xa2\xa4\xb6\x9c\xae\x1b\xb7\xa1\x68\x45\x1f\xfb\x6d\x07\x89\x52" -+"\x81\x80\x53\x88\x08\x7c\xf7\x74\x9a\x07\x53\x7d\x9b\xcb\x89\x1f\xf7\x90\x07\xb6\xa9\xab\x9d\xba\x1b\xc4\x9d\x70\x38\x1f\xfb\x67" -+"\x07\x89\x50\x85\x84\x51\x85\x08\x7c\xf7\x6f\x9a\x07\x71\x8d\x05\x6b\x90\x80\x9a\xb2\x1a\xf7\x62\x07\xf7\x0a\x64\xc7\x3e\x51\x58" -+"\x71\x51\x55\x1e\xc4\x79\x69\xa6\x55\x1b\x5e\x70\x7e\x4b\x38\x1f\xd6\x07\x84\x8d\x56\x78\x69\x80\x56\x7c\x19\x7a\x07\x8e\x97\x94" -+"\x8c\x96\x1b\xa5\x94\x7b\x5b\x1f\xfb\x91\x07\x53\x89\x7e\x7d\x54\x1b\x0e\x84\x32\x0a\x0e\x84\x24\x0a\x0e\x84\x9f\x1d\x53\x5f\x73" -+"\x54\x5f\x1f\xd8\x07\x85\x8d\x55\x76\x68\x7e\x54\x7a\x19\x7b\x07\x8c\x94\x91\x8b\x95\x1b\xad\x92\x81\x5c\x1f\xfc\x68\x07\x56\x80" -+"\x81\x50\x85\x1e\xf7\x2e\xf8\xaa\xa3\x0a\x84\xf7\xfc\xf8\x3d\x15\xa5\x5e\x6d\x94\x63\x1b\xfb\x12\x2c\xfb\x03\xfb\x25\xfb\x11\xcd" -+"\x32\xe9\xc5\xc2\xa5\xbb\xb7\x1f\xfb\x50\x07\x8a\x53\x79\x7b\x45\x87\x08\x7a\xf7\x80\x99\x07\x55\x97\x84\x92\x89\xb6\x08\xf8\xe9" -+"\x07\x80\x8c\x05\x42\xfb\xde\x15\x73\x87\x7e\x81\x82\x1e\x79\x75\x6a\x7f\x6c\x1b\x6c\x70\x95\x9e\x77\x1f\x6b\xa9\x76\xcb\xce\x1a" -+"\xf7\x0a\xc0\xd4\xe0\xc9\xaa\x6a\x49\x1e\x0e\xfb\x42\x40\x1d\x0e\xfb\x0a\x4a\x0a\x0e\xfb\x79\x74\x0a\x0e\x84\x25\x1d\x0e\x84\xf8" -+"\x71\x26\x0a\xfb\x1f\x7c\x06\xab\x88\x9a\x81\x78\x1a\x81\x89\x81\x87\x81\x1e\x28\xfb\x97\x25\xf7\x94\x05\x85\x99\x88\x99\x94\x1a" -+"\x9d\x96\x92\xae\x8e\x1e\x9a\xfb\x58\x7c\x07\xb1\x89\x92\x81\xb9\x24\xf7\x0c\xfb\xb3\x18\x8d\x85\x8e\x84\x8e\x83\x8e\x83\x8e\x84" -+"\x8e\x86\x08\x87\x8d\x8f\x89\x8e\x1b\x91\x92\x98\xb0\x9a\x1f\xf7\x14\xf7\xd5\xa8\xcf\x91\x92\xa9\x8e\x19\x0e\x31\x1d\x0e\x84\xf7" -+"\xaa\x16\xf7\x5d\x9a\x06\x6c\x77\x9b\xb7\x6c\x1f\xfb\x14\xf7\x58\xde\xf7\x0c\x9e\xa6\xa8\x9a\xac\x8d\x19\x9a\xfb\x32\x7c\x07\xa9" -+"\x89\x95\x85\x7d\x1a\x7f\x7f\x75\x72\x6c\x1e\x86\x85\x7f\x79\x7e\x77\x83\x97\x18\x7c\xa2\x82\x98\x89\x8f\x08\x78\xaa\x84\x9b\x95" -+"\x1a\x9a\x98\x91\xa9\x8c\x1e\x9a\xfb\x63\x7c\x94\x07\xa9\x9b\x7e\x5c\xaa\x1f\xe9\xfb\x24\xfb\x06\xfb\x39\x6d\x62\x81\x84\x6a\x88" -+"\x19\x7c\xf7\x25\x9a\x07\x6e\x80\x90\x98\x92\x91\x98\x99\xa0\x1f\xda\xf7\x0f\xe6\xfb\x20\x05\x8f\x85\x8d\x86\x84\x1a\x79\x84\x87" -+"\x6a\x89\x1e\x0e\x84\x33\x1d\x0e\x4c\x34\x0a\x0e\x70\xf7\xf2\xfb\x3e\x15\x47\x9b\x75\xaa\x8a\xd7\x08\xf7\x3c\x07\x8a\xe0\x78\xa4" -+"\x41\x9d\xd5\x9e\x9e\xa5\x8c\xdf\x08\xf7\x3c\x07\x8c\xd7\xa1\xaa\xcf\x9b\x08\x96\x07\xfb\x10\x64\x6a\x21\x89\x1f\xfb\x46\x07\x8a" -+"\x45\x79\x72\x49\x79\xcd\x78\x9d\x72\x8c\x45\x08\xfb\x45\x07\x20\x8e\xb1\x6a\xf7\x10\x1b\x0e\xfb\xc7\xce\xfb\x8d\x15\xcd\xfa\x7a" -+"\x49\x06\x0e\x70\xf7\x16\xf9\x31\x15\xce\x7b\xa2\x6c\x8c\x3f\x08\xfb\x3c\x07\x8c\x36\x9e\x72\xd5\x79\x41\x78\x78\x71\x8a\x37\x08" -+"\xfb\x3c\x07\x8a\x3f\x74\x6c\x48\x7b\x08\x80\x07\xf7\x10\xb2\xac\xf5\x8d\x1f\xf7\x46\x07\x8c\xd1\x9d\xa4\xcd\x9e\x49\x9d\x79\xa4" -+"\x8a\xd1\x08\xf7\x45\x07\xf7\x00\x88\x65\xab\xfb\x10\x1b\x0e\xad\xf8\x53\xf7\xce\x15\x64\x72\x79\x7f\x6d\x1b\x76\x76\x90\x94\x7a" -+"\x1f\xba\x33\x78\x92\x5f\x1b\x5d\x6e\x77\x4a\x5c\x1f\xc1\x6c\x05\xb2\xa4\x9c\x97\xaa\x1b\xa0\x9f\x86\x82\x9d\x1f\x5b\xe3\x9d\x85" -+"\xb8\x1b\xb9\xa7\x9f\xcc\xbb\x1f\x0e\xfb\x42\xf7\x24\xf7\xae\x15\x5e\xfc\x13\x05\x8a\x7f\x8a\x7e\x7f\x1a\x57\x9e\x6f\xad\xac\x9f" -+"\xa8\xbc\xad\x83\xd2\x7f\xd2\x1e\x84\xb8\x85\xb9\x87\xba\x82\xf7\x00\x18\x85\xf7\x4d\x15\x6c\x74\x76\x6e\x6c\xa2\x73\xa9\xaa\xa3" -+"\xa3\xa9\xa8\x73\xa1\x6d\x1f\x0e\x84\xf8\x27\xf8\xd7\x15\x68\x06\x5f\xfb\x10\x05\x8f\x73\x7e\x8c\x7d\x1b\xfb\x10\x2b\x21\xfb\x1b" -+"\x54\x9c\x55\xa8\x64\x1f\x9d\x72\x9a\x7e\xb0\x76\x58\xfb\x2a\x18\xad\x06\xbc\xf7\x1e\x05\x84\xa3\x9a\x89\x9c\x1b\xb1\xb0\x99\xa3" -+"\xa7\x1f\xae\xa9\x9e\xa6\xad\xd1\x7e\x93\x18\x40\x57\x67\x72\x50\x1b\x77\x7b\x8e\x94\x74\x1f\xf0\xf7\xb7\x05\x64\x9d\x9a\x7e\xa4" -+"\x1b\xa4\x9d\x9d\xa6\xae\x70\xa9\x5b\x9e\x1f\xfb\x32\xfb\xee\x15\x5a\xb8\x78\xb8\xd3\x1a\xf1\xc1\xcf\xdd\x9c\x97\x89\x84\x9d\x1e" -+"\x0e\x84\xf7\xec\xf8\x09\x15\xfb\x11\x06\x82\xd5\x89\xa6\xaf\x1a\xe3\xae\xbe\xc7\xb0\x9e\x7a\x68\x1e\x56\x8c\x93\x7d\xa9\x1b\xa8" -+"\xa0\xa1\xaa\xc0\x54\xb3\x40\xfb\x0c\x40\x31\xfb\x24\x72\x8d\x79\x90\x71\x1f\x20\x5e\xf7\x00\x06\x8d\x7a\x8d\x7b\x05\x96\x3f\x91" -+"\x54\x79\x1a\x84\x8a\x85\x89\x83\x1e\x8f\x78\x7f\x8c\x7c\x1b\x54\x67\x6d\x5d\x65\xa5\x73\xb5\xae\xa2\x99\xbb\xb3\x1f\x5c\xcf\xac" -+"\x7d\xb6\x1b\xbb\xb8\xa0\xb0\xab\x1f\xa0\xa3\xa1\xb7\x9d\x1a\x8e\x89\x8c\x87\x85\x84\x86\x80\x81\x1e\x69\x6c\x67\x7c\x5d\x1b\x5a" -+"\x68\x93\xa6\x4a\x1f\xa1\xf7\x01\x8e\x9f\xac\x1a\x8b\x8b\x98\x8a\x9a\x1e\x8a\xa6\x05\xf7\x0e\x06\xfb\x93\xfb\x7e\x15\xa4\xa7\x81" -+"\x83\x83\x85\x7e\x80\x7f\x1f\x7a\x7e\x7e\x85\x77\x1b\x73\x7a\x9a\xa1\xa3\x9c\x98\xad\x1f\x0e\xfb\xe8\xb4\x0a\x84\xf7\xf7\x9e\x15" -+"\x4c\x8c\x7b\x9c\x8a\xd3\x08\xd4\xf7\x41\xb3\xfb\x41\xd7\x07\x92\x99\x05\xf7\x3a\xb3\xfb\x26\x06\xe7\xf7\x4c\xb0\xd0\xa9\xa6\xbe" -+"\x96\x19\x9e\xfb\x57\x78\x99\x07\xa9\xa0\x7f\x78\x81\x86\x7a\x82\x7a\x1f\xfb\x04\xfb\x70\xfb\x0a\xf7\x71\x05\x83\x9a\x86\x9c\x98" -+"\x1a\xa0\x9d\x93\xba\x1e\x9e\xfb\x87\x78\x07\xb9\x89\x9c\x7a\xc2\x28\xea\xfb\x41\x18\xfb\x24\x63\xf7\x3b\x06\x92\x7d\x05\x3f\xfb" -+"\x42\x63\xf7\x42\x4d\x07\x8a\x37\x80\x7d\x48\x88\x08\x78\xf7\x88\x07\x0e\x84\xf8\x44\xf8\x2b\x15\xfb\x12\x06\x8e\xac\x8e\xa5\x8d" -+"\x9c\x90\xc2\x98\xba\x9e\xae\x08\x9c\x94\x9d\x95\xa0\x1b\x97\x93\x86\x84\x88\x89\x86\x88\x85\x1f\x86\x82\x88\x82\x85\x1a\x79\x9d" -+"\x7b\x9f\xa4\xa0\x9f\xa4\xb1\x65\xa9\x5c\x61\x60\x74\x66\x71\x1e\x65\x52\x7a\x5b\x7b\x23\x08\x20\x06\x81\x6c\x05\xf7\x03\x06\x89" -+"\x7c\x80\x48\x8a\x87\x85\x53\x86\x56\x19\x7c\xfb\x40\x05\xfb\x09\x81\x70\x52\x5d\x1b\x7f\x83\x90\x93\x8e\x8d\x8f\x8f\x92\x1f\x91" -+"\x95\x8e\x93\x94\x1a\xa1\x7d\x99\x75\x70\x78\x79\x70\x63\xac\x6e\xba\xc2\xb2\xab\xd4\xac\x1e\xaa\xd1\x9c\xdb\xa3\xf7\x4d\x8d\x9c" -+"\x92\xc4\x92\xbe\x08\xf7\x0c\x06\x0e\x84\xf7\xca\xf7\x11\x15\xcf\xbb\xbd\xd1\xc0\x6c\xc1\x51\xbb\x1f\xfb\x1d\xf7\x05\x05\x77\x9c" -+"\x7d\xa7\xa5\x1a\xb5\xad\xa8\xbe\xae\xa6\x7d\x79\x88\x89\x88\x85\x86\x1e\x7b\x80\x81\x7a\x7b\x1a\x72\x9e\x79\xa7\xab\x9e\x9f\xac" -+"\xc3\x54\xb5\x42\x38\x53\x5a\x42\x55\x9e\x6d\xdc\x49\x1e\x8c\x81\x82\x8b\x85\x1b\x49\x5a\x58\x47\x41\xbc\x4c\xf7\x0e\x37\x1f\xcc" -+"\x5f\xa3\x6b\x64\x1a\x5c\x69\x6d\x56\x66\x69\x9c\x9d\x8f\x8f\x90\x92\x91\x1e\x9a\x98\x93\x99\x99\x1a\xa3\x76\x9d\x70\x6c\x74\x74" -+"\x6c\x53\xc7\x5f\xd9\xe2\xc4\xbe\xd7\xbf\x78\xa8\x40\xcc\x1e\x26\xf7\x96\x15\xaa\xbf\x6c\x5c\xba\x1f\xad\x69\x9e\x6a\x71\x1a\x68" -+"\x6b\x6c\x66\x65\x66\xa2\xc7\x4e\x1e\x69\xad\x7f\xa2\xa9\x1a\xb2\xa7\xa7\xb3\x1e\x0e\x84\x75\xf7\x00\x15\xbd\x59\xeb\xed\x05\x6e" -+"\xb5\xb1\x7f\xba\x1b\xba\xb1\x98\xa7\xb3\x1f\xed\x29\xbb\xbd\x2b\xeb\x05\xa8\xb8\x95\xad\xbb\x1a\xbc\x81\xac\x6e\xb6\x1e\xeb\xed" -+"\x5b\xbb\x29\x2b\x05\xa6\x64\x66\x97\x5a\x1b\x5b\x68\x80\x6f\x5f\x1f\x2b\xeb\x59\x5b\xed\x29\x05\x6e\x63\x7f\x65\x5b\x1a\x5b\x97" -+"\x67\xa8\x61\x1e\xf7\x45\xf7\xa9\x15\xda\xcc\x47\x39\x36\x4a\x48\x3a\x39\x49\xcf\xde\xe0\xcd\xcd\xdf\x1f\x0e\xfb\xdb\xf0\xf8\x43" -+"\x15\x8e\x9d\x8d\x98\x8d\x94\x08\x9b\xd7\x94\xc7\xa8\x1a\xa1\x78\x9d\x74\x73\x78\x79\x74\x7a\x99\x31\x9d\x2a\x1e\x0e\x4c\xf7\x2f" -+"\xf9\x38\x15\x47\x6a\x5f\x9c\x1d\xf7\x73\x9e\x15\x47\x6a\x5f\x4e\x4f\x1a\x58\xae\x65\xb8\xae\xa3\xa2\xad\xab\x75\x9e\x66\x84\x84" -+"\x8a\x8a\x85\x1e\x89\x86\x8a\x8b\x8a\x1b\x83\x85\x91\x93\xac\xa6\xae\xc2\xb1\x1f\x0e\x84\xb5\xf7\x72\x52\x1d\x89\x8a\x85\x85\x80" -+"\x82\x08\xf7\x13\x50\x52\x1d\x88\x89\x18\x86\x86\x86\x86\x85\x87\x08\x0e\xfb\x42\xca\xf7\x72\x52\x1d\x89\x8a\x85\x85\x80\x82\x08" -+"\x0e\xfb\x42\xf7\xa2\xf7\x72\x15\x4a\xc6\x85\x8f\x86\x90\x86\x90\x19\x88\x8d\x82\x93\x81\x94\x86\x8f\x19\x6e\xa5\x6c\xa9\x8a\x8e" -+"\x08\xa0\x7a\x77\x9d\x85\x1b\x86\x86\x86\x86\x7e\xa4\x63\xa8\x67\x1f\xac\x64\x9c\x76\x4e\x0a\x0e\xbc\xaa\xf8\x35\x15\xcf\xfb\xd7" -+"\x06\xa3\x1d\x85\x83\x4d\xeb\x1d\x98\x8a\xcc\x08\xf7\x9a\x07\x97\x8b\x9a\x8c\x9e\x1e\x8c\xbf\x87\x8e\x05\x84\x63\x6b\x88\x62\x1b" -+"\xfb\x31\xb6\x06\x8a\xb0\x8f\xb2\x90\x9b\x08\xb6\x98\xb3\xa9\xb8\x1b\xa7\x9d\x7f\x68\xa4\x1f\x70\x9e\x98\x81\x9c\x1b\xa0\x9a\x9b" -+"\xa2\xb6\x59\xa6\x3e\x3f\x51\x71\x5a\x67\x1f\x6d\x62\x80\x66\x85\x3b\x08\x46\x06\x0e\xbc\xab\xf8\x36\x15\xd0\xfb\xcd\x06\xad\x1d" -+"\x7b\x58\x88\x78\x0a\x44\x06\xf7\xe9\xb4\x1d\x8c\x91\x90\x1f\x0e\x84\xf7\x8e\x04\x5a\xf8\x88\xbc\x07\x0e\x84\xf7\x9a\xfb\x29\x15" -+"\x8c\xf7\x0f\x8d\xf7\x12\x98\xeb\xa4\xc4\x19\x6e\xaa\x7e\xc3\xed\x1a\xad\x88\x9b\x88\xb4\x7b\x08\x84\x9f\x9f\x86\x97\x1b\xa1\x9b" -+"\x9d\xa4\xa4\x7a\x9e\x75\x7f\x79\x86\x83\x78\x1f\x61\x7a\x7c\x87\x67\x8a\x08\xc0\x8f\xa4\x75\x0a\x08\x28\x7e\x54\x6e\x6c\x1e\xa1" -+"\x54\x9d\xfb\x0c\x8d\x23\x8c\xfb\x0f\x18\x0e\x84\xf7\x99\xf8\x5c\x15\xc1\x8f\xa3\x75\x0a\x8c\x34\x7f\x57\x6d\x64\xa8\x70\x97\x59" -+"\x8a\x29\x69\x8e\x7c\x8e\x61\x9b\x08\x92\x77\x77\x90\x80\x1b\x74\x7b\x7a\x71\x71\x9b\x79\xa3\x95\x9e\x90\x93\x9e\x1f\xb5\x9c\x9a" -+"\x8f\xaf\x8c\x08\x56\x87\x72\x77\x59\x1e\x84\x78\x86\x7a\x81\x1a\x73\xa1\x75\xa3\xa4\xa1\xa1\xa3\x95\x86\x9c\x84\x9e\x1e\x77\xbd" -+"\x87\xa4\xc0\x1a\xaf\x8a\x9a\x87\xb5\x7a\x08\x83\x9e\x9e\x86\x95\x1b\xa2\x9c\x9d\xa4\xa6\x7b\x9c\x74\x7f\x78\x86\x84\x77\x1f\x61" -+"\x7b\x7c\x88\x69\x88\x08\xec\x95\xb7\xaa\xad\x1e\x6c\xb0\x81\xb7\x8c\xec\xad\x88\x9b\x88\xb4\x7b\x08\x84\x9f\x9f\x86\x97\x1b\xa1" -+"\x9b\x9d\xa3\xa5\x7b\x9e\x74\x80\x79\x86\x83\x77\x1f\x61\x7a\x7c\x87\x67\x8a\x08\x0e\xfb\x95\xf7\x11\xf7\xca\x2b\x0a\x55\xf7\x82" -+"\xf9\x14\x15\xc5\xfd\xae\xf7\x2e\xa1\x06\x5e\x0a\xf8\xe7\x07\x8c\xd4\x95\x95\xd8\x92\x08\x9e\xfb\x9b\x07\xfb\x27\x4d\x54\xfb\x16" -+"\x3a\xa2\x52\xba\x6b\x1f\xac\x73\xa7\x84\xca\x88\x08\xfb\xc4\x46\x0a\x75\xf7\x2e\x07\x49\xf8\x55\x15\x35\x94\x6b\xbe\xf7\x11\x1a" -+"\xd3\x99\xb8\xa8\xa0\x1e\x9d\x98\x9c\x91\xb3\x8e\x08\x0e\xfb\x31\xf7\x42\xf8\x63\x15\x41\x50\x50\x41\x3f\xc6\x50\xd6\xd4\xc8\xc7" -+"\xd3\xd8\x50\xc6\x3f\x1f\x0e\xfb\x42\xf5\xfb\x21\x25\x0a\x4c\xd3\xfb\x21\x15\xcf\xac\xb7\x8f\x0a\x67\x55\x65\x1f\xf7\x85\x78\x15" -+"\xcf\xac\xb7\x99\x1d\x4c\xc4\xf8\x45\x4d\x0a\xf7\x85\x78\x15\xce\xac\xb8\xc8\xc7\x1a\xbe\x68\xb1\x5e\x68\x73\x74\x69\x6b\xa1\x78" -+"\xb1\x40\x0a\x6f\x67\x55\x66\x1f\x0e\x84\xf8\x5e\xf7\x72\x15\x4a\xc6\x80\x94\x85\x91\x89\x8c\x19\x81\x94\x83\x92\x85\x90\x6e\xa5" -+"\x6c\xa9\x8a\x8e\x08\xa0\x7b\x76\x9d\x85\x1b\x86\x86\x86\x86\x7e\xa3\x63\xa9\x67\x1f\xab\x65\x9d\x75\x4e\x0a\xfb\x35\xa6\x15\x4a" -+"\xc6\x85\x8f\x86\x90\x86\x90\x19\x88\x8d\x82\x93\x81\x94\x86\x8f\x19\x6e\xa5\x6c\xa9\x8a\x8e\x08\xa0\x7a\x77\x9d\x85\x1b\x86\x86" -+"\x86\x86\x7e\xa4\x63\xa8\x67\x1f\xac\x64\x9c\x76\x4e\x0a\x0e\xf8\x81\xf7\x3a\xef\x15\x2c\x1d\xf7\xe1\x16\x6d\x72\x72\x6b\x6e\xa4" -+"\x72\xa8\xaa\xa5\xa3\xa9\xaa\x71\xa5\x6d\x1f\xf7\xe1\x16\x6c\x73\x72\x6b\x6e\xa4\x72\xa8\xaa\xa5\xa3\xa9\xaa\x72\xa5\x6c\x1f\x0e" -+"\xf8\x81\xf8\xcb\xf9\x56\x15\x5f\x06\x33\x30\x7c\x82\x51\x1b\x62\x76\x94\xa9\x66\x1f\xa1\x70\x7f\x91\x76\x1b\x25\x30\x27\xfb\x05" -+"\x3d\xbe\x50\xce\xad\xa7\x98\xa8\xa8\x1f\xb9\xb9\xa8\xd3\xce\x1a\x9b\x8a\x96\x88\x9c\x1e\x80\xab\x9d\x88\xa5\x1b\xc0\xaa\x99\xb6" -+"\xb0\x1f\xfc\x1e\xfd\x26\x05\xba\x06\xc8\xf9\x2f\x15\x9c\x7a\x98\x81\x99\x84\x08\xa0\x81\x8f\x84\x6e\x1a\xfb\x07\x4d\x26\x45\x69" -+"\x74\xa7\xb5\xc4\x9d\xc8\xac\xbd\x1e\x9e\xa8\x96\x95\xb2\x9e\x08\xf7\xe6\xfb\xd3\x15\x2b\x2e\x23\x20\x3d\xc0\x4f\xcf\xe1\xd9\xf7" -+"\x03\xf7\x0d\xd5\x68\xb6\x4e\x1f\x97\x6f\x15\xaf\xa4\x67\x57\x22\x49\x26\x47\x6b\x73\xa8\xb3\xce\xad\xe3\xb7\xba\x1f\x99\x98\x9e" -+"\x94\x9e\x1b\xf7\xf2\xa7\x15\x2b\x2e\x23\x21\x3c\xc0\x4f\xcf\xe1\xd9\xf7\x03\xf7\x0d\xd5\x68\xb6\x4e\x1f\x96\x6f\x15\xb0\xa4\x67" -+"\x57\x22\x49\x26\x47\x6a\x74\xa9\xb4\xc2\xa9\xe2\xad\xb5\x1f\xa6\xa0\x9f\x97\xa2\x1b\x0e\x4c\xf7\x5c\xf7\xba\x15\x7d\x3a\x79\x68" -+"\x4c\x41\x08\x58\x4d\x73\x55\x58\x1a\x65\x98\x67\xa2\x74\x1e\x68\xad\xc6\x74\xc2\x1b\xe7\xd1\xc9\xde\xb4\x7a\xa0\x6c\x72\x7b\x7b" -+"\x72\x7d\x91\x7f\x9a\x7a\x1f\x97\x7d\x90\x83\x82\x1a\x6b\x5d\x6d\x5b\x4e\x5b\xc0\xce\xb9\x98\xc2\xa3\xc2\x1e\xa7\xcb\x9e\xbb\x95" -+"\xbd\x8c\xb7\x19\x82\xf7\x40\x15\x6b\x75\x76\x6e\x6b\xa2\x74\xa9\xaa\xa3\xa3\xa9\xa8\x74\xa1\x6c\x1f\x0e\xfb\x42\xf7\x86\xf8\x8f" -+"\x29\x0a\xfb\x42\xf7\x19\xf8\x8f\x3a\x1d\xfb\x42\xf7\xd6\xf8\x8f\x20\x1d\xfb\x42\xf7\xc2\xf9\x12\x4b\x0a\xfb\x42\x96\xf8\xed\x23" -+"\x1d\xfb\x42\xf7\xaa\xf9\x2c\x15\x3f\x6f\x72\x39\x1d\xfb\x42\xf7\x3a\xf9\x03\x43\x1d\x0e\xfb\x42\xcd\xf9\x03\x41\x1d\xfb\x42\xf7" -+"\x3a\xf9\x5b\x42\x1d\xfb\x42\xed\x28\x15\x92\x86\x05\x8e\x93\x94\x8c\x96\x9b\x1d\xa4\xcc\x05\x68\x06\x0e\xfb\x42\xf7\x55\xf8\x8f" -+"\x15\x4a\x1d\x9b\x1a\x9f\x7e\x97\x76\x7b\x44\x0a\xfb\x08\x16\x5f\x1d\xfb\x42\xf7\x79\x42\x15\x70\x6c\x78\x82\x76\x1b\x75\x7b\x9b" -+"\xa3\xa2\x98\xa0\xaa\xa4\x1f\x5d\x06\x65\x6d\x7b\x70\x6a\x1a\x61\xaa\x6a\xb5\xb4\xad\xa2\xc0\xb0\x1e\x0e\xfb\x42\xf7\xd6\xf9\x36" -+"\x20\x0a\xf8\x81\xf0\x1d\xf8\x12\x6e\x1d\x0e\xfb\x7b\xf7\xa2\xf8\x4e\x15\x82\x81\x83\x88\x81\x1b\x80\x89\x91\xa8\x1f\xf7\x07\x07" -+"\xcb\x68\xab\x45\x4c\x5e\x6f\x64\x79\x99\x7e\x9d\x9c\x99\x97\x98\x8d\x8b\x8e\x8a\x8e\x1e\x8a\x90\x8a\x90\x8f\x1a\x97\xa1\x96\xa2" -+"\xa2\x98\x7c\x70\x1e\x6d\x07\xfb\x14\x5c\x72\x78\x5b\x1a\x63\xa9\x6f\xb4\xaa\xa5\x98\xaa\xad\x1e\x6b\x91\x97\x7f\xa6\x1b\xa2\x97" -+"\x91\xa3\xa3\x1f\xfb\x04\xbd\x15\x83\x87\x84\x84\x84\x1e\x83\x7a\x7f\x88\x7e\x1b\x76\x7a\x9f\xa3\xa5\x9f\x9a\xd2\xa4\x1f\x0e\xf3" -+"\xee\xf7\xd9\x15\x34\x59\x05\x5a\x07\xe2\xbd\x05\xfb\x3b\xa0\x1d\xf7\x93\x07\xf7\x2f\xe4\x05\xbc\x07\xfb\x2f\x32\x05\xf7\x3d\x07" -+"\x8d\xd4\x98\x98\xd9\x8f\x08\x9e\xfb\xae\x78\x07\xd4\x86\x97\x7e\x8d\x43\x08\x0e\x64\x0a\x0e\xf8\x12\xf9\xda\xf8\x9d\x15\xf7\x21" -+"\xfb\xda\x07\x75\x70\x8c\x8d\x5e\x1f\x80\x06\x8e\x5b\x8a\x8b\x7c\x1b\x38\x40\x71\x5a\x54\x1f\x4c\x53\x66\x27\xfb\x07\x1a\xfb\x00" -+"\xa9\x37\xc7\x50\x1e\x59\xbd\xcf\x70\xd4\x1b\x9a\x9f\x8c\x8c\xa3\x1f\x9a\x06\x9a\x8c\x05\x8e\xb5\x93\x8b\xb4\x1b\xf7\xf2\x06\xb7" -+"\xf7\x3c\x05\x73\x06\x58\x2c\x67\x6c\x4c\x89\xfb\x10\x89\x18\x5c\x8c\x84\x91\x89\xb2\x08\xf7\x89\x07\xf7\x1e\x8c\xd1\x89\xa0\x76" -+"\x92\x3e\x19\xa0\xf7\x7e\x76\x06\x84\x3b\x78\x7d\x21\x88\x23\x8a\x18\xf7\x80\x07\xa0\x90\x8c\xc7\x8d\x1e\xbe\x06\xf7\x16\xa5\x7b" -+"\x32\x97\x1f\xfc\x14\xfc\x1a\x15\x44\x6e\x6e\x44\xfb\x0f\x49\xf2\xf7\x53\xf7\x58\xd0\xf7\x03\xf7\x0d\xd0\xa9\x6b\x42\x1e\x0e\xfb" -+"\x59\xf7\x33\xf9\x38\x15\x2f\x4e\x52\x35\x3a\xc8\x51\xdf\xe3\xcc\xcb\xdf\xda\x4f\xc2\x36\x1f\x82\x6a\x15\xbb\xac\x56\x3f\x53\x72" -+"\x6c\x5d\x72\x78\x97\xa1\x7f\x1f\x7b\xa7\x82\xb4\xb2\x1a\xb8\xa7\xa8\xb6\x1e\x0e\xf7\x34\xf9\x00\xf7\x2e\x15\x44\x5b\x64\x71\x52" -+"\x1b\x62\x65\x9f\xa9\x7b\x1f\x75\xb2\x86\xaa\xef\x1a\xf7\x9a\x06\xf7\x15\x7f\x5c\xc1\x26\x1b\x5c\x70\x81\x68\x5e\x1f\xad\x64\x6e" -+"\x96\x59\x1b\x31\x46\x5c\x4e\x6d\x9c\x79\xa6\xa7\x9a\x9c\xaa\x8f\x8b\x92\x8a\x91\x1f\x8a\x96\x05\x91\x07\xac\x8d\xa2\x9c\xb6\x1b" -+"\xa3\x9e\x83\x7d\x92\x1f\x92\x7b\x90\x6c\x74\x1a\x89\x4c\x35\x67\x05\x20\x5f\x61\x62\x4f\x1a\x4a\xbb\x5e\xcf\xbd\xad\x9b\xc4\xcf" -+"\x1e\x57\xad\xb0\x76\xc5\x1b\xb9\xb5\x9b\xab\xae\x1f\xa7\xa3\x9d\xa7\xa7\xc6\x08\xfb\xfa\xbf\x15\x8c\x66\x91\x66\x96\x67\x08\x8c" -+"\x8a\x8b\x8a\x8a\x1a\x79\x4a\x6b\x67\x66\x6d\xb2\xbb\xc7\xa6\xa3\xf7\x0d\xb7\x1e\xdd\xc1\x15\xe3\x90\xa4\xaf\xc4\x1b\xc1\xa2\x66" -+"\x34\x8d\x1f\x0e\xfb\x79\x27\x0a\x0e\xfb\x79\xed\x8f\x1d\x80\x44\x7a\x43\x0a\x0e\x84\x68\x0a\xa1\x81\x71\xa6\x1e\x0e\xf9\x3b\xf7" -+"\x25\x15\x4b\x5c\x68\x73\x5b\x1b\x66\x68\x9f\xa9\x79\x1f\x71\xb9\x82\xb0\x87\xe2\x08\xf7\x92\x06\x88\xc9\x83\xa7\x74\xaa\x08\xb2" -+"\x6f\x5c\xa2\x58\x1b\x54\x69\x77\x53\x62\x1f\xc3\x59\x63\x9f\x4d\x1b\x59\x60\x7a\x6c\x69\x1f\x5d\x60\x6e\x40\x3f\x1a\xfb\x19\xe0" -+"\x2c\xf7\x0d\xcf\xb4\xa5\xd0\xb1\x1e\x47\xa9\xaf\x70\xc9\x1b\xd9\xbb\xb3\xf7\x01\xc0\x1f\xfc\x61\xf7\xb8\x15\xd4\xb4\x37\xfb\x28" -+"\xfb\x0c\x68\x4c\x47\x3c\x62\xe1\xf7\x3d\xbf\x99\xc1\x9f\xa0\x1f\xa1\xa1\xa3\x96\xa8\x1b\xf7\x52\xfb\x10\x15\xde\x8c\xa6\xb4\xc0" -+"\x1b\xb9\xac\x62\x53\x1f\x70\x07\x0e\x84\x97\x16\xf7\x25\xf8\xb9\x06\xcc\xad\xb5\xbf\xc4\xad\x57\x33\x3c\x6d\x62\x4a\x84\x1e\x76" -+"\x89\x83\x87\x82\x1a\x80\x94\x86\xa2\x8a\x1e\xe3\x88\xb7\x46\xfb\x1b\x1a\x36\x75\x5e\x61\x78\x83\x93\xa1\x89\x1e\x89\xa1\x05\xa2" -+"\x89\x79\x9c\x75\x1b\x71\x78\x76\x70\x60\xb3\x6d\xc4\xf0\xd9\xe0\xf7\x02\xc4\x75\xbb\x63\xae\x1f\x6b\xa7\x6e\x97\x4e\x96\x08\xf6" -+"\xbc\xa9\xac\xd3\x1a\xe8\x49\xc6\x23\x47\x58\x71\x58\x6e\x1e\x76\x66\x82\x5e\x45\x1a\xfc\x06\x07\x89\x54\x82\x80\x59\x88\x08\x0e" -+"\xfb\x63\xf7\x8c\xf7\xba\x15\x5f\x8d\x7f\x93\x8a\xa5\x08\xf7\xeb\x07\x7d\x8e\xfb\x0a\x54\x05\x74\x07\x94\xa4\x99\x8f\x8f\x1b\x91" -+"\x8d\x85\x75\x1f\xfb\x95\x07\x8a\x74\x81\x84\x61\x89\x08\x73\xf7\x53\x07\x0e\xc4\xa9\xf8\x22\x15\x3b\xf8\x3c\xfb\x69\xdb\xf7\xb9" -+"\x07\x0e\x84\xf8\x40\xf8\x53\x15\x34\xfb\xe1\x06\x63\x73\x64\x75\x5d\x1b\x57\x6b\xad\xc4\x1f\xf7\xc4\x34\xfc\x1d\x07\x76\x89\x79" -+"\x81\x51\x1e\x84\x63\x86\x60\x76\x1a\x5f\x9c\x71\xa8\xa9\x9a\xa5\xbe\xa7\x86\xa6\x7e\xbf\x1e\x7f\xbc\x89\x96\x87\xb0\x08\x57\xa9" -+"\xae\x75\xbe\x1b\xc1\xb5\xa6\xc9\xb3\x1f\x4d\x8d\xa1\x70\xbb\x1b\xb1\xa2\x99\xb6\xab\x1f\x93\x07\x75\x74\x80\x85\x7c\x1b\x75\x81" -+"\x9e\xb8\x1f\x0e\xf8\x6d\xf7\x82\xf9\x16\x15\xbd\x06\xae\x8a\x9f\x77\x97\x5c\x08\x9f\xe3\xfb\xed\x33\x9f\x06\x97\xba\x9f\x9f\xaf" -+"\x8c\x08\xbc\xfb\xca\x06\x69\x89\x83\xc4\x0a\xf7\x3f\xb5\x0a\xf8\x3f\x3f\x15\x96\x06\xf7\x2e\xf7\xcc\x05\xfb\x80\x07\x68\x8a\x84" -+"\xc4\x0a\xf7\x3e\xb5\x0a\xf7\x93\x07\xb2\x99\x98\xb5\x8e\x1e\x9f\x24\x07\xfb\x34\xfb\xc9\xfb\x2e\xf7\xc9\x05\xfb\x0d\x77\x06\xa9" -+"\x8a\xa5\x78\x98\x6d\x08\xfb\x8d\x07\x8a\x5a\x82\x7f\x61\x87\x08\x77\xf7\x17\x9f\x07\x60\x8f\x82\x97\x8a\xbc\x08\xf7\x73\x07\x0e" -+"\x73\x1d\xf7\x87\xf8\xec\xf9\x38\x2c\x0a\xd3\x80\x0a\xf8\xa0\xfb\x4d\xcc\x1d\xc7\xa2\xb4\xbe\x1d\xa6\xa1\xb0\x1b\xb3\xac\x69\x61" -+"\x6d\x6c\x57\x59\x54\xcc\x0a\xc4\xa9\x16\xf8\x8c\xcd\xfc\x8c\x06\xf7\x6f\xf7\xae\x15\xfb\x6f\x49\xf7\x6f\xfb\x34\xcd\xf7\x34\xe7" -+"\x1d\xbc\xf7\xbc\x9e\x15\x3c\x8d\x7d\x99\x8a\xd5\x08\xbf\x07\x89\xa5\x9c\x8a\xa5\x1b\xda\xc0\x95\xa3\xb6\x1f\xc6\xab\xb0\xc8\xcd" -+"\x1a\xf7\x03\x27\xd1\xfb\x34\x1e\x3b\x06\x8a\xe6\x95\x98\xdd\x92\x08\x9e\xfb\xa9\x78\x07\xd5\x83\x94\x48\x1d\x84\x82\x3f\x84\x08" -+"\x78\xf7\xac\x07\x2d\xf8\x61\x15\xa5\x91\x92\xa5\xf7\x1e\xc8\x5d\x24\x2a\x50\x59\xfb\x07\x76\x7d\x8c\x8d\x75\x1e\x0e\xf7\x87\x7e" -+"\x0a\xb4\x80\x0a\x0e\xc4\xee\x1d\xf7\x90\xf7\xbc\x15\x2c\x1d\xfc\x33\x04\x2c\x1d\x0e\xfb\xc7\xce\xfb\x2c\x15\xcd\xf7\xdb\x49\x06" -+"\xf7\x1d\x04\xcd\xf7\xdb\x49\x06\x0e\x20\xf7\x5c\xf9\x38\x15\x3b\x4c\x4c\x3b\x3c\xca\x4b\xd9\xdc\xcb\xc9\xdb\xdc\x4d\xca\x3a\x1f" -+"\x69\x04\xc4\xba\x59\x50\x4f\x5c\x5a\x51\x53\x5c\xbd\xc6\xc7\xba\xbc\xc4\x1f\x0e\x84\x9f\x1d\x54\x5f\x73\x55\x5e\x1f\xf7\xbe\x07" -+"\x86\x8e\x5c\x7b\x70\x82\x44\x78\x19\x7b\x07\x8c\x91\x8e\x8b\x93\x1b\xb3\x94\x82\x61\x1f\xfd\x54\x07\x56\x80\x81\x50\x86\x1e\xf7" -+"\x2e\xf8\xa9\xa3\x0a\xf7\x87\x7e\x0a\x2e\xf8\x6e\x15\xa2\x8e\x96\x8c\xa5\x84\x9d\x1d\xd9\xbf\x6e\xb1\x52\xa2\x1f\xb6\xaa\x9c\xa2" -+"\xa7\x1a\xba\x5c\xaf\x4e\x4d\x64\x70\x47\x68\x1e\xa4\x79\x05\xb7\xaa\x9f\x98\xaf\x1b\xae\xa0\x78\x6d\x66\x71\x75\x45\x74\x1f\x0e" -+"\xfb\x63\xf7\xbc\xf7\xf7\xcc\x1d\xc8\xa2\xb3\xbe\x1d\xa5\xa1\xb1\x1b\xb3\xac\x69\x61\x6d\x6c\x56\x59\x55\xcc\x0a\xf7\x91\xf7\x6f" -+"\xf8\x8d\x15\xac\x88\x8c\x8a\x93\x87\x08\x90\x88\x8d\x83\x6d\x1a\xfb\x85\x07\x6d\x89\x84\x86\x88\x1e\x83\x87\x88\x8a\x6c\x88\x08" -+"\x7c\xf7\x36\x9a\x07\x6c\x8e\x88\x8c\x83\x8f\x08\x86\x8e\x89\x92\xa9\x1a\xee\xbb\x07\xb0\x53\x8f\x84\x96\x77\xa8\x57\xa5\x6d\x99" -+"\x8e\x08\xcb\x93\x06\x73\x9f\x73\xa5\x6f\xb2\x52\xda\x18\xbf\xa0\xa6\xae\xbb\x1a\xc3\x5f\xaf\x44\x1e\xfb\x45\x06\xf7\x05\x78\x15" -+"\xb4\x06\xba\xa3\x70\x57\x52\x72\x6b\x5f\x1f\x60\x06\xbc\xf7\xeb\x15\xfb\x53\xfb\x2c\xfb\x2d\xfb\x55\xfb\x54\xf7\x2b\xfb\x2c\xf7" -+"\x54\xf7\x51\xf7\x2c\xf7\x2c\xf7\x4f\xf7\x5a\xfb\x28\xf7\x2d\xfb\x55\x1f\x61\x04\xf7\x33\xf7\x13\xfb\x1d\xfb\x3f\xfb\x34\xfb\x18" -+"\xfb\x1e\xfb\x2e\xfb\x31\xfb\x17\xf7\x1d\xf7\x39\xf7\x3a\xf7\x17\xf7\x1e\xf7\x31\x1f\x0e\xc4\xee\x1d\x0e\x84\xf7\xa2\xf8\xd3\x15" -+"\xc6\x4f\xa2\x62\x9a\x41\x08\xba\x58\x70\x98\x5b\x1b\xfb\x0c\x2f\x24\xfb\x1a\xfb\x19\xe8\x27\xf7\x11\xc0\xb9\x9d\xae\xaf\x1f\xc2" -+"\xbf\xad\xe9\xeb\x1a\xd1\x7b\xd3\x6c\xca\x1e\x75\xb8\x79\xa3\x58\xbc\xe6\xbb\x18\x6a\xa9\x2c\x59\x58\xa9\x68\x96\x49\x91\x19\x61" -+"\x74\xc0\x82\xaa\x7e\xbc\x69\x19\xfb\x0d\x4b\xac\x6d\x05\xe5\x3d\x15\xe0\xc6\x2c\xfb\x1c\xfb\x08\x5f\x48\x3f\x63\x67\xa3\xb4\x75" -+"\x1f\x6f\xbf\x7b\xd2\xd2\x1a\xe8\xba\xc9\xd2\x1e\x0e\xc4\xf7\x7e\xf7\x91\x15\xfb\x58\xfb\x59\xbb\x5b\xf7\x58\xf7\x59\xf7\x59\xfb" -+"\x59\xbb\xbb\xfb\x59\xf7\x59\xf7\x59\xf7\x58\x5b\xbb\xfb\x59\xfb\x59\xfb\x58\xf7\x59\x5b\x5b\x05\x0e\xfb\x63\xe9\xf8\x60\x15\xa2" -+"\x8e\x96\x8d\xa5\x83\x9d\x1d\xda\xbe\x6e\xb1\x52\xa2\x1f\xb6\xaa\x9c\xa2\xa7\x1a\xba\x5c\xaf\x4e\x4d\x64\x70\x47\x68\x1e\xa4\x79" -+"\x05\xb7\xaa\x9f\x98\xaf\x1b\xae\xa0\x78\x6d\x66\x71\x75\x45\x74\x1f\x0e\xf7\x91\xf8\xa7\xf7\x8b\x15\x4d\x6d\x69\x73\x4f\x1b\x33" -+"\x57\xcc\xf7\x03\xf7\x04\xbd\xca\xe4\xca\xaf\x6d\x50\x94\x1f\x9c\xd1\x06\x92\x86\x92\x82\x8e\x1e\x99\x6a\x63\x93\x6a\x1b\xfb\x18" -+"\x32\x3a\xfb\x0c\xfb\x06\xdc\x3f\xf7\x0d\xc4\xd9\x9c\x98\x8e\x1f\x9c\xd7\x05\xfb\x35\xf8\x41\x15\xfb\x58\xfb\x2c\xfb\x2b\xfb\x57" -+"\xfb\x54\xf7\x2b\xfb\x2c\xf7\x54\xf7\x53\xf7\x2a\xf7\x2b\xf7\x55\xf7\x53\xfb\x2b\xf7\x2f\xfb\x4d\x1f\x8a\x61\x15\xf7\x2c\xf7\x16" -+"\xfb\x1f\xfb\x38\xfb\x39\xfb\x16\xfb\x1e\xfb\x30\xfb\x31\xfb\x17\xf7\x1d\xf7\x39\xf7\x3c\xf7\x17\xf7\x1c\xf7\x35\x1f\x0e\x22\x0a" -+"\xfb\x10\xf8\x62\x22\x1d\x22\x0a\xcc\xf8\x62\x20\x1d\x22\x0a\xfb\x55\xf8\xd6\x15\x71\x75\x74\x70\x6f\x9f\x75\xa7\x93\x0a\x22\x0a" -+"\x81\xf8\x62\x29\x0a\x22\x0a\x2b\xf9\x26\x42\x1d\x22\x0a\xbd\xf8\xe5\x8a\x1d\xf7\x34\xf7\xe4\x7e\x15\x8a\x94\x92\x8b\x93\x1b\xf7" -+"\x05\xef\xba\xdb\xc7\x1f\x79\x9d\x05\x44\x42\x48\x6d\x38\x1b\x4c\x53\x9f\xb1\x60\x1f\x54\xbc\x6c\xe5\xf7\x04\x1a\xf7\x49\xe8\xf7" -+"\x08\xf7\x25\xc4\xbf\x76\x64\xb3\x1e\xab\x6b\x9a\x6f\x9e\x4a\x08\xa2\x06\x82\xf7\x75\x05\x76\x06\x76\x85\x7b\x7f\x77\x1b\x82\x7c" -+"\x8e\x90\x7c\x1f\x9c\x5a\x59\x93\x5c\x1b\x39\x39\x6c\x54\x4c\x1f\x45\x4d\x65\x2f\xfb\x03\x1a\xfb\x49\xf6\xfb\x16\xf7\x3b\x73\x1e" -+"\x66\x32\x98\x1d\x54\x82\x85\x8a\x89\x81\x1f\x0e\xf3\x21\x0a\xfb\xab\xf9\x63\x22\x1d\xf3\x21\x0a\x31\xf9\x63\x20\x1d\xf3\x21\x0a" -+"\xfb\xee\xf9\xd7\x15\x71\x75\x74\x70\x6f\xa0\x75\xa6\x93\x0a\xf3\x21\x0a\xfb\x3f\xf9\x63\x15\xfb\x26\x61\x1d\xfb\x42\x28\x1d\xf7" -+"\x07\xf9\x50\x22\x1d\xfb\x42\x28\x1d\xf7\xc4\xf9\x50\x20\x1d\xfb\x42\x28\x1d\xbb\xf9\xc4\x3e\x0a\xfb\x42\x28\x1d\xf7\x75\xf9\x50" -+"\xb1\x1d\x33\x0a\xfb\x66\xf7\x63\x15\x65\x7a\x7e\x7f\x74\x1b\x7d\x77\x91\x94\x64\x1d\xab\x96\x9c\x99\xa2\x1b\x96\x9a\xb6\x0a\xa9" -+"\xa9\xd7\x9f\x1f\x0e\x23\x0a\x6a\xb5\x1d\x0e\x23\x0a\xf7\x30\xda\x20\x1d\x23\x0a\x27\xf7\x57\x3e\x0a\x23\x0a\xd7\xda\x29\x0a\x23" -+"\x0a\xf7\x1c\xf7\x66\x8a\x1d\xbc\x2f\x0a\x68\xf8\x3b\x20\x0a\x24\x1d\xfb\xf4\xd7\x22\x1d\x24\x1d\xfb\x3d\xd7\x20\x1d\x24\x1d\xfc" -+"\x3e\x96\x1d\x24\x1d\xfb\x8e\xd7\xb1\x1d\x34\x1d\xfb\xeb\xd7\x22\x1d\x34\x1d\xfc\x3e\xf7\x54\x3e\x0a\xf3\x3c\x0a\xfb\x1b\xf9\x5a" -+"\x20\x0a\x4c\x26\x1d\x29\xf7\x83\x2a\x0a\x4c\x26\x1d\xe6\xf7\x83\x20\x1d\x4c\x26\x1d\xfb\x39\xf7\xf7\x41\x1d\x4c\x26\x1d\x96\xf7" -+"\x83\x38\x1d\x4c\x26\x1d\x4a\xf8\x5a\x42\x1d\x4c\x26\x1d\xd2\xf8\x06\x15\x65\x79\x7e\x79\x0a\x4c\xf7\x76\x81\x15\xdc\x92\xc0\xb8" -+"\xbf\xf4\x8e\x1d\xfb\x0b\xcd\x33\xf0\x7e\x1e\x65\x30\x2d\x0a\x97\x9b\x1d\x0e\x4c\x27\x1d\xfb\x06\xf7\x5a\x50\x1d\x2a\x1d\x0e\x4c" -+"\x27\x1d\xd6\xf7\x5a\x20\x1d\x4c\x27\x1d\xfb\x49\xf7\xce\x41\x1d\x4c\x27\x1d\x86\xf7\x5a\x38\x1d\xfb\x79\x27\x0a\xe5\xf8\x80\x3a" -+"\x1d\xfb\x79\x27\x0a\xf7\xab\xf8\x80\x20\x1d\xfb\x79\xc6\xf9\x03\x15\x71\x75\x74\x71\x6e\x49\x1d\xf7\x33\x16\xa6\x1d\xfb\x5e\xfd" -+"\x03\x15\xf7\x81\x9a\x06\x49\x90\x84\x94\x8a\xd4\x08\xf7\xf7\x07\xa5\x1d\x0e\xfb\x79\x27\x0a\xf7\x5b\xf8\x80\x29\x0a\x84\x32\x0a" -+"\xf8\x03\xf9\x03\x77\x0a\x84\x24\x0a\x77\xd6\x2a\x0a\x84\x24\x0a\xf7\x3d\xd6\x20\x1d\x84\x24\x0a\x34\xf7\x53\x84\x0a\x84\x24\x0a" -+"\xe4\xd6\x38\x1d\x84\x24\x0a\xf7\x28\xf7\x62\x77\x0a\xfb\x0a\x65\x0a\xf7\xfc\x20\x0a\x84\x25\x1d\xfb\x9a\xf8\x6b\x2a\x0a\x84\x25" -+"\x1d\x35\xf8\x6b\x20\x1d\x84\x25\x1d\xfb\xf1\xf8\xdf\x84\x0a\x84\x25\x1d\xfb\x42\xf8\x6b\x38\x1d\x84\x33\x1d\xfb\x96\xd3\x15\xf7" -+"\x2d\xec\x05\xa1\x2a\x1d\x0e\x84\x33\x1d\xfb\xca\xf7\x50\x41\x1d\x4c\x34\x0a\x71\xf9\x36\x20\x0a\xfb\x24\xab\xf7\xb8\x15\x75\xf7" -+"\x23\xa1\x07\x68\x8d\x84\x8f\x9d\x1a\xf7\x37\x07\xa3\xa6\x98\x91\x9e\x1b\xa6\x97\x7b\x68\x1f\xfb\x0f\x07\x8a\x66\x86\x87\x69\x89" -+"\x08\x75\xf7\x20\xa1\x07\x6c\x8f\x89\x8d\x8a\xa5\x08\xf7\x1c\x07\xc6\x6c\xaf\x59\x6f\x75\x81\x6d\x68\x1e\xb0\x07\x80\x8e\x71\x82" -+"\x73\x83\x76\x85\x19\x7f\x87\x85\x8a\x05\x72\x07\x8f\x93\x92\x8c\x92\x1b\x96\x8e\x85\x72\x1f\xfb\x26\x07\x8a\x70\x87\x84\x7b\x89" -+"\x83\x89\x18\x0e\xed\xf8\xa9\x16\x9a\x07\x39\x8e\x80\x96\xd6\x1a\xf7\xce\xf7\x0e\xab\xfb\x0f\xf7\x08\x07\xc5\x9e\xaa\xbf\x0a\xa3" -+"\x9d\x9d\xa2\xaf\x60\xa5\x4f\x58\x5d\x79\x6c\x6e\x1f\xa9\x81\x64\x9e\x56\x1b\x4c\x57\x70\x5e\x71\x1f\x71\x5e\x83\x67\x8a\x3b\x08" -+"\x39\x6b\xdd\x54\x0a\x07\xf7\x3a\x47\x0a\xc6\x9e\xa9\xbf\x0a\x8f\x8c\x8b\x8c\x8f\x1f\x7c\x64\x86\x68\x52\x1a\x6b\x04\xfb\xce\x07" -+"\x89\x41\x81\x80\x49\x87\x08\x52\x8f\x83\x96\xd5\x1a\xf7\xce\x07\x0e\xf7\xe5\xf7\x54\x47\x0a\x9a\x1d\x6a\xdd\xfb\xcd\x06\x89\x40" -+"\x81\x80\x44\x88\x08\x7c\xf7\x80\x9a\x07\x4e\x8e\x83\x96\xd6\x1a\xf7\xcd\xf7\x4f\xfb\xd7\x07\xa3\x1d\x84\x83\x4e\xeb\x1d\x97\x8a" -+"\xcd\x08\xf7\x9a\x07\xa3\x8b\xa0\x8d\xc0\x1e\x87\x8e\x05\x84\x62\x6c\x88\x62\x1b\xfb\x31\xb6\x06\x8a\xb0\x8f\xb2\x90\x9b\x08\xb6" -+"\x98\xb3\xa9\xb8\x1b\xa7\x9e\x7e\x69\xa3\x1f\x70\x9e\x98\x81\x9c\x1b\xa0\x9a\x9b\xa2\xb6\x59\xa6\x3e\x3f\x51\x71\x5a\x67\x1f\x6d" -+"\x62\x80\x66\x85\x3b\x08\x0e\xf7\xe3\xf7\x54\x47\x0a\x7b\x0a\xf7\x80\x9a\x07\x4e\x8e\x83\x96\xd6\x1a\xf7\xce\xf7\x4f\xfb\xcd\x07" -+"\xad\x1d\x7c\x58\x87\x78\x0a\xf7\xa2\xb4\x1d\x8d\x90\x90\x1f\x0e\xf7\x87\xf7\x6c\xf7\xb4\x15\x61\x8e\x7d\x95\x8a\xa8\x08\xf7\xe6" -+"\x07\x84\x8c\xfb\x04\x57\x05\x82\x07\x95\xa8\x8b\x8b\x92\x1b\x97\x8e\x83\x70\x1f\xfb\x95\x07\x8a\x71\x7e\x81\x64\x89\x08\x80\xf7" -+"\x46\x07\xf8\x37\x54\x15\xc1\xa6\xa2\xa7\xb3\x1a\xbe\x5c\xb0\x4a\x4e\x1d\x78\xc5\x5a\x1e\x4e\x5f\x7c\x77\x63\x5e\x1d\x70\x4c\x15" -+"\xb3\x70\x99\x77\x6c\x1a\x6a\x74\x74\x68\x62\x70\xa9\xba\xac\x97\xa2\xa6\x50\x0a\x76\x68\x73\x1e\x97\xf8\x47\x2c\x0a\x0e\xf7\x87" -+"\xed\xf8\x69\x15\x9d\x8d\x05\x8c\x8e\x8e\x8b\x8d\x1b\xbb\xb4\x61\x5b\x60\x6e\x6e\x60\x78\x7f\x90\x9b\x75\x1f\x98\x7a\x80\x90\x81" -+"\x1b\x7a\x7e\x7d\x79\x6e\xa7\x7b\xbc\xf7\x00\xda\xc3\xd6\xab\x7c\xaa\x71\xa0\x1f\x7f\x95\x84\x8f\x6d\x97\x9a\x96\x94\x92\x8f\x8d" -+"\x08\xa2\x9d\x99\xa3\xa0\x1a\xb6\x5e\xad\x51\x5d\x62\x75\x66\x72\x1e\x86\x83\x8a\x89\x80\x78\x9d\x7e\x18\xb4\xa8\xa1\x99\xaf\x1b" -+"\xb0\xa3\x76\x6b\x65\x72\x75\x44\x72\x1f\xf8\xae\xfb\x9f\x15\xc1\xa6\xa2\xa7\xb3\x1a\xbe\x5c\xb0\x4a\x4e\x1d\x78\xc5\x5a\x1e\x4e" -+"\x5f\x7c\x77\x63\x5e\x1d\x70\x4c\x15\xb3\x70\x99\x77\x6c\x1a\x6a\x74\x74\x68\x62\x70\xa9\xba\xac\x97\xa2\xa6\x50\x0a\x75\x68\x74" -+"\x1e\x9c\xf8\x47\x2c\x0a\x0e\xf7\x87\xf7\x13\x21\x1d\x48\xfb\x1c\x05\x89\x89\x8a\x86\x88\x1a\x85\x8e\x8a\x97\x89\x1e\x99\x9c\x89" -+"\x88\x99\x1f\xdd\x79\xb5\x63\x4e\x1a\x54\x66\x60\x5c\x7e\x85\x8e\x99\x76\x1e\x87\x8e\x05\x97\x7a\x7e\x90\x7c\x1b\x76\x7f\x81\x7a" -+"\x73\xa8\x7d\xbe\xf7\x02\xd2\xc8\xe8\xb9\x7a\xb0\x6b\xa4\x1f\x6c\xa2\x6d\x96\x44\x97\xa0\xb6\x18\xf7\x1c\x06\xab\xca\x7c\x92\x05" -+"\x7e\x80\x86\x88\x7d\x1b\xf8\x0c\xfc\x4c\x15\xc0\xa6\xa2\xa8\xb2\x1a\xbe\x5c\xb0\x4a\x4e\x1d\x78\xc6\x5a\x1e\x4d\x5f\x7d\x78\x62" -+"\x1a\x4f\xbe\x62\xd7\xd7\xbd\xb4\xc9\xb9\x76\xa7\x46\xbc\x1e\x70\x4c\x15\xb3\x70\x99\x77\x6d\x1a\x69\x74\x74\x68\x62\x70\xa9\xba" -+"\xac\x96\xa2\xa7\xa2\x1e\xa9\xc7\x15\x5c\xe0\x1d\x67\x6b\x7d\x75\x69\x74\x1e\x9e\xf8\x47\x2c\x0a\x0e\xf7\x87\xf9\x0f\xf7\x72\x15" -+"\xc1\xa6\xa2\xa7\xb3\x1a\xbe\x5d\xb0\x49\x4e\x1d\x77\xc6\x5b\x1e\x4d\x60\x7c\x77\x62\x5e\x1d\x71\x4c\x15\xb2\x70\x99\x77\x6c\x1a" -+"\x69\x74\x75\x68\x62\x70\xa9\xba\xac\x96\xa2\xa7\x50\x0a\x75\x68\x74\x1e\xfb\xb9\xf8\x38\x15\xfb\x88\x06\x62\x2a\xa1\x81\x05\xaf" -+"\xa6\x95\x92\xad\x1b\xf7\x0c\x06\xfb\x11\xfb\xec\x05\xc9\x06\xf7\x1b\xf8\x1b\x05\xf7\xc0\xab\x15\x5d\x06\xfc\x59\xfd\x46\x05\xbc" -+"\x06\x0e\xf8\x12\x6e\x1d\xb6\xf8\x44\x22\x1d\x22\x0a\xa5\xf8\xff\x8b\x0a\x80\x1d\x0e\x80\x1d\xfb\xb4\xf7\x79\x37\x0a\xc3\x8c\x92" -+"\x9f\x1a\xaf\x7d\x9e\x71\x70\x7d\x78\x66\x77\x8c\x86\x99\x52\x1e\x0e\x22\x0a\xfb\x85\xf8\xc0\x23\x1d\x84\x1d\xf7\x60\x07\x63\x6b" -+"\x7d\x73\x69\x1a\x61\xaa\x6a\xb5\xb5\xac\xa2\xc0\xb0\x1e\x77\x9b\x05\x70\x6c\x79\x82\x75\x1b\x75\x7b\x9b\xa3\xa5\xa6\xb1\xa1\x90" -+"\x1f\xfc\x7e\xf7\x95\x15\xf7\x07\xf7\xa7\xf7\x08\xfb\xa7\x05\x0e\x22\x0a\x2b\xf9\x04\xa9\x0a\xc3\xc2\xb3\x0a\x6d\x6e\x66\x68\x6e" -+"\xa9\xaf\xaf\xa9\xa8\xaf\x1f\x54\xae\x15\x4a\x1d\x9c\x1a\x9e\x7e\x97\x76\x7b\x44\x0a\x0e\xf7\x34\xc2\x21\x1d\x79\x07\x36\x0a\xf7" -+"\x5d\x07\xf7\x30\xa7\x8e\xa1\xbb\x1f\xcb\xa9\xb3\xc7\xcf\x1a\xb3\x7d\xb0\x71\xa8\x1e\x74\xa4\x75\x98\x5b\x9c\xac\x9a\x9a\x95\x9a" -+"\x9b\x08\xa5\xa7\x9c\xb5\xb1\x1a\xc3\x67\xc0\x50\xaa\x1e\xa3\x60\x6a\x90\x2a\x1b\x5d\x61\x15\x8e\xa0\x94\x8c\x99\x1b\xe9\xc7\x57" -+"\x3b\x3a\x55\x5b\x31\x7a\x7f\x8c\x90\x72\x1f\x58\x04\x90\xa3\x95\x8c\x9d\x1b\xf1\xcb\x55\x33\x37\x4d\x52\x31\x73\x7e\x8d\x92\x6e" -+"\x1f\x0e\xf7\x34\x31\x0a\xfb\x81\xf7\xa0\x22\x1d\xf7\x34\x31\x0a\x3d\xf8\x47\x20\x0a\xf7\x34\x31\x0a\x37\xf7\xa0\x20\x1d\xf7\x34" -+"\x31\x0a\xfb\x88\xf8\x14\x2b\x1d\x0e\xf7\xd3\xf7\xd8\x15\xfb\x1c\xfb\x49\x39\xfb\x02\x77\x7d\x3b\x8a\x19\x79\xf7\x88\x9d\x07\x76" -+"\x8d\x05\x71\x8d\x7c\x96\x9b\x1a\x97\x90\x95\x9d\xa3\x1e\xf7\x22\xf7\x4e\xf7\x0a\xfb\x41\x05\x9c\x72\x92\x7a\x7c\x1a\x73\x7c\x83" -+"\x5d\x8a\x1e\x79\xf7\xb7\x9d\x07\x76\x8d\x63\x8f\x72\xa1\x4e\xe5\x19\xfb\x33\xf7\x7d\xf7\x16\xf7\x3f\xd4\xe9\x92\x90\xc0\x8f\x19" -+"\x97\x8c\x05\x9d\xfb\x73\x79\x9b\x07\xaa\x9c\x7f\x76\x81\x86\x81\x7a\x75\x1f\xfb\x0d\xfb\x33\x24\xf7\x2e\x05\x81\x9a\x85\x9a\x97" -+"\x1a\x9b\x94\x99\x98\x8f\x1e\x93\x8d\x8d\x8c\xa8\x8c\x08\x9d\xfb\xbc\x79\x07\xa1\x88\xb7\x86\xa3\x76\xc4\x38\x19\x0e\x6a\x0a\xf7" -+"\xcb\xf9\xbc\x20\x0a\x73\x1d\xf7\x34\xac\x16\xf8\xee\x06\xfb\xad\xf9\x44\x05\xfb\x8e\xfd\x11\x15\xf7\x69\xf8\x5e\xf7\x51\xfc\x5e" -+"\x05\x0e\xf3\x21\x0a\xfb\x1c\xfa\x00\x15\x3f\x6e\x73\x39\x1d\xf3\x21\x0a\x30\xfa\x0a\x20\x0a\xf3\x21\x0a\xfb\x8b\xf9\xd7\x2b\x1d" -+"\x0e\xf3\x21\x0a\xfc\x26\xf9\xc1\x23\x1d\xf8\xa0\xda\x15\x5d\x07\x76\x07\x57\x07\x3a\x8b\x85\x85\x7b\x1e\x73\x83\x76\x7a\x74\x1b" -+"\x7e\x80\x93\x9f\x7a\x1f\xa2\x7a\x7d\x94\x7a\x1b\x75\x79\x7a\x75\x6a\xb3\x75\xc7\xbe\xb8\x99\xa3\xa6\x1f\xae\xa9\x9c\xcf\xf7\x00" -+"\x1a\xf8\x7d\x07\x8e\xf3\x98\x9c\xda\x92\x08\x9e\xfb\x7f\x78\x07\xdb\x86\x98\x7a\x8e\x21\x08\xfb\xe5\x07\xfc\x15\xf8\x78\x05\xfb" -+"\x3f\x78\x06\xb6\x99\x83\x5c\xb3\x1f\xfc\x4d\x59\x1d\xf8\x1c\x07\x0e\xf3\xf8\xbc\x16\xb8\xf7\x3d\x05\x7a\x1d\xf8\x68\x07\x65\x6d" -+"\x7b\x71\x69\x1a\x61\x58\x1d\xa3\xac\xad\xaf\xa9\x1f\x0e\xf3\xf7\x6e\x91\x1d\xc0\x1d\xf8\x94\x07\xc4\xf7\x3b\x7b\x46\x1d\x5c\x8a" -+"\x85\x94\xca\x1a\x0e\xf7\x4f\xa4\xf8\x7b\x37\x0a\xc2\x8c\x92\xa0\x1a\xaf\x7d\x9e\x71\x70\x7d\x78\x67\x76\x8c\x85\x99\x53\x1e\xf7" -+"\xbc\xfb\x5e\x15\xf7\x3b\xa0\x0a\x8d\x42\x75\x6f\x53\x8d\x08\xfb\x3b\xf7\x8d\xf7\x2d\x06\xf3\x8d\xab\x73\x97\x31\x6c\x1d\xfc\x8c" -+"\x79\x06\x2e\x1d\xfc\x5b\x07\x4b\x59\x0a\xf8\x96\x07\xc4\xf7\x3b\x7a\x46\x1d\x5b\x8a\x85\x94\xca\x1a\x0e\xf7\x6a\xf7\xcf\x15\xf7" -+"\xbb\xfb\x67\x06\x4b\x52\x0a\xcb\x1a\xf8\x5b\xbb\x1d\xfb\x5b\xfb\xbb\xf7\x5b\xbb\x1d\xfc\x5b\x07\x4b\x52\x0a\xcb\x1a\x0e\xf7\xc1" -+"\xaf\x1d\xf7\xbe\xfb\x6c\x15\xf7\xbc\xfb\x67\x06\x4b\x42\x0a\x57\x8d\x7b\x9e\xcb\x1a\xf8\x5b\x9f\x0a\xfb\x5b\xfb\xbc\xf7\x5b\x9f" -+"\x0a\xfc\x5b\x07\x4b\x42\x0a\x57\x8d\x7b\x9e\xcb\x1a\x0e\x84\xf7\x29\xf8\x1a\x15\x90\xc1\x93\xba\x96\xac\x08\xd9\xa4\xbb\xb8\xc4" -+"\x1b\xbc\xbe\x67\x55\xa7\x1f\x99\x6f\x94\x69\x91\x5f\x08\x9c\x06\x7b\xf7\x73\x05\x79\x06\x6c\x85\x84\x7e\x7f\x1b\x87\x86\x8e\x90" -+"\x83\x1f\xa2\x69\x67\x97\x68\x1b\xfb\x0a\x2a\xfb\x07\xfb\x3c\x74\x1f\x5c\x06\x70\x62\x05\xd1\x06\x8a\x83\x8b\x84\x80\x1a\x7a\x8b" -+"\x82\x8d\x80\x1e\x5f\x06\x70\x62\x05\xd6\x06\xfb\x33\xa5\xe7\x27\xf7\x0c\x1b\xd4\xcb\xad\xc7\xb6\x1f\xad\x07\x51\x6b\x4c\x64\x50" -+"\x1b\x2e\x49\xe3\xf7\x20\x7d\x1f\xf7\x12\x06\xa5\xb4\x05\xfb\x2f\x06\x8a\x9d\x8b\x94\x8e\x1a\x8f\x8b\x92\x8c\xa1\x1e\xf7\x57\x06" -+"\xa6\xb4\x05\x0e\xd2\xf7\xa9\x9f\x15\x41\x91\x7c\x9a\xce\x1a\xf8\x5a\x07\x89\xb3\x99\x99\xbb\x8e\x08\xf7\x05\x06\xf2\x88\xbe\x68" -+"\xb1\x2d\x08\xa7\x06\x5a\xf7\x43\x05\xfc\xad\x77\x06\xd5\x85\x9a\x7c\x48\x1a\xfc\x52\x07\x48\x7c\x7c\x41\x85\x1e\x77\xf7\xae\x07" -+"\x0e\x30\x0a\xfb\x80\xf8\xb0\x8b\x0a\x30\x0a\xfb\x4b\xf8\x13\x20\x1d\x30\x0a\xfc\x1a\xfc\xfd\x25\x0a\x30\x0a\xfb\xe8\xf8\x87\x2b" -+"\x1d\x0e\xf8\xfa\xf8\x65\x15\xe6\xb3\x30\xbb\x06\xc2\x1d\xfb\xc3\xbb\x07\xc2\x1d\x32\x63\xe4\xfb\xed\x46\x0a\x78\xf7\xaa\x9e\x07" -+"\x8e\x0a\x25\xf7\xf8\x15\x21\xfb\xc3\xf5\x07\x0e\x69\x0a\xf8\x85\xf9\x50\x20\x1d\xf7\x70\xf7\xcd\x9d\x15\x75\x3b\x1d\xf8\x5c\x3c" -+"\x1d\xa1\x8c\x05\x9d\xfb\xb2\x79\x07\xa1\x8a\x05\xc0\xe3\x1d\x56\x89\x1e\x75\x8a\x05\x79\xf7\xb2\x07\xf7\x03\xf9\x18\x15\xa1\x8a" -+"\x05\xbd\xa1\x71\x51\x8d\x1f\xfc\x33\x07\x37\x84\x71\x75\x80\x81\x94\x9a\x84\x1e\xb7\x75\x7e\x96\x6d\x1b\x6e\x77\x78\x70\x5f\xb5" -+"\x6d\xc9\xf3\xcd\xd9\xf7\x0e\x1f\xf8\x02\x07\x8a\xca\x9b\x9e\xc0\x8d\x9f\x8c\x18\x9d\xfb\xb3\x07\x0e\xfb\x42\x28\x1d\xf7\x98\xf9" -+"\xed\x15\x3f\x6e\x73\x39\x1d\xfb\x42\x28\x1d\xf7\x28\xf9\xc4\x2b\x1d\x0e\xfb\x42\x28\x1d\x84\xf9\xae\x23\x1d\xfb\x42\x9d\xf9\x2a" -+"\x15\x78\x07\xe0\x66\x1d\x3f\x7f\x80\x37\x88\x08\x78\xf7\x8c\xab\x1d\x9f\x95\x9d\x9d\x9e\x1f\x95\x94\x8f\x8e\x90\x8c\x08\x9e\x07" -+"\x39\x8d\x7d\x99\x89\xd5\x08\xf8\x50\x07\x8d\xd6\x98\x97\xde\x8e\x08\x9e\x07\x0e\xfb\x42\x4c\x0a\xfb\x42\xa2\xf9\x18\x15\x2e\x1d" -+"\xfc\x5c\x07\x4c\x42\x0a\x56\x8d\x7c\x9e\xca\x1a\xf8\x5c\x5d\x0a\x07\xbe\xf7\x33\x15\x41\x0a\xf7\x4d\x16\x41\x0a\x0e\x2b\xa3\xf8" -+"\x7b\x37\x0a\xc2\x8c\x92\xa0\x1a\xaf\x7d\x9e\x71\x70\x7d\x78\x67\x76\x8c\x85\x99\x53\x1e\xef\xf7\x05\x15\x2e\x1d\xfc\x5c\x07\x4c" -+"\x7c\x78\x56\x4f\x1d\xf7\xb3\x9d\x07\x74\x3b\x1d\xf8\x5c\x5d\x0a\x07\x0e\xfb\x42\x28\x1d\xf7\xb0\xf9\xcd\x15\x65\x7a\x7e\x7f\x74" -+"\x1b\x7c\x78\x90\x95\x78\x1f\x73\x97\x05\x97\x74\x72\x91\x75\x1b\x59\x67\x67\x4a\x7c\x1f\xa8\x06\xaa\x96\x9c\x9a\xa2\x1b\x96\x9a" -+"\x48\x0a\x78\xb3\x9b\x86\xa4\x1b\xc2\xa8\xa9\xd7\xa0\x1f\x0e\xfb\x0a\xf8\x07\xf9\x2a\x15\xfb\xb3\x78\x06\xdc\x85\x96\x81\x8c\x41" -+"\x08\xfc\x63\x07\x5e\x7f\x76\x71\x7d\x85\x93\xa4\x84\x1e\xae\x81\x7b\x9b\x71\x1b\x70\x75\x74\x70\x61\xb4\x6d\xc5\xf7\x00\xc8\xd3" -+"\xf7\x11\x1f\xf8\x06\x07\x8d\xd6\x94\x94\xdc\x91\x08\x95\xd7\x20\x1d\xf7\x7d\xf7\xd5\x15\xf7\x49\xfb\x4f\x05\xbd\x58\x9e\x73\x7c" -+"\x1a\x7c\x7c\x82\x70\x8a\x1e\x7b\x8a\x05\x79\xf7\xd2\x9d\x07\x4e\x8c\x60\xbb\x0a\x92\x93\x92\x93\x91\x91\x9a\x9a\x9a\x9b\x9a\x9b" -+"\x94\x93\xcb\xd1\xa6\xa8\xce\xd7\xa2\x9a\xc4\x92\x99\x8c\x18\x9e\xfb\x87\x78\x07\xba\xcb\x1d\xcc\x9a\x9d\xc5\x8c\x1e\x9e\x8c\x05" -+"\x9d\xfb\xb4\x79\x07\x36\x0a\xf7\xb4\x9d\x07\x74\x8c\x55\x8d\x7b\x9e\x8c\xca\x19\x0e\x63\x0a\x2d\xfe\x43\x25\x0a\xf3\x36\x1d\x75" -+"\xd7\x22\x1d\xf7\x6e\xf8\x09\xc1\x0a\x82\x49\x88\x19\x79\xf7\x71\x9e\x7f\x07\x67\x74\x99\xa2\x93\x94\xa7\x93\x9f\x1f\xf7\x35\xf8" -+"\x11\xf7\x35\xfc\x09\x05\x97\x6f\x90\x79\x7a\x1a\x72\x78\x7e\x67\x1e\x7b\x78\xf7\xaa\x9d\x7e\x06\x5e\x8c\x71\xa7\x67\xe4\x08\x0e" -+"\xf3\x36\x1d\xf7\x01\xfb\x66\x4d\x0a\x0e\xf3\x36\x1d\x6c\xfe\x30\x15\xcf\xac\xb7\x85\x0a\xf3\x36\x1d\xf7\x03\xfb\x91\x2b\x0a\xf8" -+"\x12\xbe\x0a\x4c\x7b\x78\x56\x89\x1e\x78\x8a\x05\x79\xf7\xaf\x9d\x07\x75\x8c\x56\x8d\x7b\x9e\x8c\xca\x19\xf8\x5c\x07\x8a\xca\x9b" -+"\x9e\xc0\x8d\xa1\x8c\x18\x9d\xfb\x57\x07\xfb\x6b\xfc\x7f\xfb\x74\xf8\x7f\x05\xfb\x53\x79\x06\x36\x0a\xf7\x7c\x9d\x07\x73\x3b\x1d" -+"\xf8\x3a\x07\x0e\x33\x0a\xfc\x0f\xd7\x22\x1d\x33\x0a\xfb\x52\xf7\x87\xdf\x1d\xf7\x0f\xfb\x3b\x05\xca\x06\x0e\x33\x0a\xfc\x18\xfe" -+"\x30\x89\x0a\x66\x55\x66\x1f\x0e\xf8\xf2\x16\x9b\xf8\xc3\x06\xca\x9a\x9e\xc0\x8d\x1e\xa2\x8c\x05\x9d\xfb\x7b\x79\x07\x2e\x1d\xfb" -+"\xf6\x07\xfc\x1c\xf8\x5d\x05\xfb\x58\x79\x06\xc2\x8a\x98\x83\xc6\x4e\x08\xfc\x6b\x07\x4c\x59\x0a\xf7\x7b\x9d\x07\x74\x3b\x1d\xf8" -+"\x30\x07\x0e\x23\x0a\xf7\x04\xf7\x80\x15\x3f\x6e\x73\x76\x50\x1b\x4b\xb2\x1d\x23\x0a\xce\xb5\x1d\xfb\x08\x16\x99\x0a\x23\x0a\xfb" -+"\x2f\xf7\x41\x23\x1d\xf7\x80\xa8\xf8\x7b\x37\x0a\xc2\x8c\x92\xa0\x1a\xaf\x7d\x9e\x71\x70\x7d\x78\x67\x76\x8c\x85\x99\x53\x1e\xf9" -+"\x69\xfb\xff\x15\x7a\x8e\x6e\x3f\x6f\x76\x41\x89\x19\x23\x06\xf7\x17\xc4\xda\xf7\x02\xf7\x12\x1a\xf7\x3e\xfb\x1d\xf7\x1a\xfb\x42" -+"\xfb\x41\xfb\x1e\xfb\x1b\xfb\x3c\x39\xab\x41\xc8\x50\x1e\xb1\x66\xaf\x72\xb5\x7a\x08\x24\x06\x40\x8d\x6f\xa0\x6e\xd7\x7a\x88\x18" -+"\xb1\xfb\x3c\x05\xf7\x91\xd5\x06\x65\x9e\x78\x9c\x72\xb4\x08\x68\xc2\x79\xd2\xdd\x1a\xf7\x33\xdd\xf7\x04\xf7\x08\xf7\x08\xdd\xfb" -+"\x03\xfb\x32\xfb\x1f\x57\xfb\x02\x38\x65\x1e\x41\xf7\x91\x07\x0e\x81\x1d\xaf\x1d\xf8\x00\xf7\x1e\xc7\x1d\xd2\xa9\xc9\xc8\x1f\xc8" -+"\xcb\xac\xe1\xec\x1a\xf7\x55\xfb\x1c\xf7\x24\xfb\x4b\x1e\x8a\x64\x15\xf7\x0c\x6d\x1d\x3b\x86\x0a\x64\x0a\xfb\x42\xf7\x2d\x98\x0a" -+"\xf7\x74\xf7\xce\xf8\xe2\x15\xfb\x3e\x79\xfb\x09\x22\xfb\x1c\x1a\xfb\x1c\xf7\x0b\x20\xf7\x3c\x7b\x1e\x7f\x07\x8c\x52\x80\x7f\x51" -+"\x89\x74\x8a\x18\x79\xf7\xb1\xdb\x1d\xf7\x3c\x9b\xf7\x0b\xf6\xf7\x1c\x1a\xf7\x1c\xfb\x08\xf4\xfb\x3f\xd5\x1d\xfb\xb1\xb8\x0a\xfb" -+"\x00\xa1\x4d\xe0\xf7\x10\x1a\xf7\x10\xcb\xe2\xf5\xa0\x1e\xf2\x8a\x15\xf7\x00\x73\xc9\x37\xfb\x0f\x1a\xfb\x0f\x4b\x34\x21\x75\x1e" -+"\x0e\xf9\x54\x21\x1d\xfd\x42\x79\x06\x36\x0a\xf7\xb2\x9d\x07\x75\x3b\x1d\xf8\x4e\x07\xca\x9b\x9f\xbf\x8d\x1e\xf7\x33\x06\xbf\x89" -+"\x9b\x77\x4c\x1a\xfc\x4e\x8a\x0a\x0e\xf7\x7b\xf7\x76\x21\x1d\x79\x07\x2e\x1d\xfb\xc5\x07\x5f\x94\x7a\x94\x6e\xa7\x63\xb7\x80\xaf" -+"\x89\xf3\x8a\xd3\x88\xa2\x83\xa2\x08\xb8\x7c\x6d\xa1\x5d\x1b\x73\x73\x86\x82\x73\x1f\x92\x76\x05\x90\x96\x91\x8c\x93\x1b\xa8\x90" -+"\x7f\x48\x8e\x1f\x90\xfb\x35\x91\x74\xc1\x46\xbb\x55\xc2\x72\xdc\x84\x08\xfb\x0b\x07\x4c\x42\x0a\x56\x8d\x7c\x9e\xca\x1a\xf7\x0b" -+"\x07\xcc\x91\xb1\x98\xb8\xac\xd3\xc7\xa4\xc4\x8c\xf7\x09\x8f\xeb\x8b\x8b\x8e\x94\x08\x9e\x8f\x96\x93\x9d\x1b\x93\x90\x8a\x86\x96" -+"\x1f\x93\xa0\x05\x94\x72\x74\x90\x73\x1b\x60\x6e\x78\x64\x7b\x1f\x80\x72\x88\x74\x8a\x3c\x8c\xfb\x20\x5f\x45\x27\x77\x08\xf7\xc5" -+"\xe1\x1d\x07\x0e\xf7\x34\x3b\x0a\xeb\xf8\x0c\x22\x1d\xf7\x34\x3b\x0a\xf7\xb1\xf8\xb3\x20\x0a\xf7\x34\x3b\x0a\xe2\xfd\x04\x89\x0a" -+"\x67\x55\x65\x1f\x0e\xbc\x83\x0a\x36\x0a\xf7\xb4\x9d\x07\x73\x8c\x56\x8d\x7b\x9e\x8c\xca\x19\xf8\x93\x04\x93\xa1\x99\x8d\xa1\x1b" -+"\xe0\xc3\x51\x35\x36\x56\x54\x3b\x74\x79\x8f\x95\x72\x1f\x0e\xbc\x2f\x0a\xfb\x74\xf7\x94\x98\x0a\xbc\xf7\xac\x7d\x15\x94\x06\xf7" -+"\x06\xe3\xdb\xf1\xde\x54\xcb\xfb\x18\xd3\x1f\x22\xc4\x61\xb7\xc2\x1a\xc2\xb5\xb0\xc9\xb8\xb5\x78\x67\xae\x1e\xaa\x6b\x99\x71\x9b" -+"\x50\x08\xa4\x06\x75\xf7\x69\x05\x6f\x0a\xa5\x80\xa2\x86\xa7\x87\x67\x33\x18\x2d\x0a\x96\x5a\x0a\x6a\xc9\x1d\xbf\xb7\x6c\xa4\x55" -+"\x81\x84\x8a\x89\x82\x1f\x0e\xbc\x2f\x0a\x5f\xf7\x94\x20\x1d\xbc\x2f\x0a\xfb\x7d\xfd\x7c\x8d\x0a\x84\x6a\x6f\x66\x55\x66\x1f\x0e" -+"\xd6\xf8\xab\x21\x1d\xfc\x7f\x06\xf7\x3e\xfb\xf4\xfb\x3e\xfb\xca\x05\xf8\x7f\x06\xbc\xf7\x76\x05\x6c\x06\x55\xfb\x13\x46\x5b\xfb" -+"\x15\x8d\x08\xfb\x07\x06\xf7\x21\xf7\xad\xfb\x27\xf7\xb3\x05\xf7\x04\x06\xf7\x1d\x8f\xcd\x58\x94\xfb\x09\x08\xaa\x06\x0e\xf3\xf7" -+"\x36\x16\xf7\xb3\x9d\x06\x75\x8c\x05\x55\x8d\x7c\x9e\xcb\x1a\xf8\x92\xe4\x07\xe0\x8c\xac\x6c\x8f\x37\x9e\x8d\x18\x81\xf7\x34\x05" -+"\xfc\xb5\x3f\x0a\xe4\xfc\x92\x06\x4b\x7c\x78\x55\x89\x1e\x75\x8a\x05\x0e\xf3\xf7\x92\xf7\xd0\x15\xfb\x58\x07\x8a\x35\x82\x81\x37" -+"\x86\x08\x78\xf7\xb8\x9e\x07\x39\x8f\x7e\x97\x8a\xd5\x08\xf7\x63\xf4\xad\x22\xf7\xa2\x71\x0a\xfb\xa2\x23\x69\x06\x0e\xf3\x53\x1d" -+"\x94\xfa\x0a\x20\x0a\xf3\xf7\xcd\x16\xf7\x1f\x9e\x06\x39\x8f\x7e\x97\x8a\xd5\x08\xf8\x93\x71\x0a\xfc\x88\x06\x8a\x35\x82\x81\x37" -+"\x86\x08\x78\xf7\x09\x07\x63\x28\x2d\x0a\x97\x1b\xb0\x9a\x81\x72\x6f\x77\x7a\x69\xc9\x1d\xc0\xb6\x6c\xa4\x54\x82\x84\x8a\x89\x82" -+"\x1f\x0e\xf7\x93\xf8\x46\x15\xfb\x5a\xaa\x07\xba\xa4\xa3\xbd\xbc\xa4\x73\x5c\x1e\xaa\xf7\x5a\x6c\x06\x5b\x86\x76\x77\x5b\x1b\x5a" -+"\x76\x9f\xbb\x86\x1f\xd9\xf7\x85\x15\xfb\x56\xfb\x1d\xfb\x23\xfb\x5e\xfb\x5a\xf7\x1e\xfb\x25\xf7\x51\xf7\x52\xf7\x1e\xf7\x24\xf7" -+"\x5b\xf7\x5a\xfb\x1e\xf7\x27\xfb\x4e\x1f\x82\x65\x15\xb7\xb6\x7b\x6d\xad\x1f\xc9\x56\xad\x2c\xfb\x0c\x1a\xfb\x04\x6d\x30\x56\x59" -+"\x1e\x6f\x6d\x5d\x7a\x5b\x1b\xfb\x16\x35\xf7\x0f\xf7\x4f\xf7\x52\xd7\xf7\x04\xf7\x16\x1f\x0e\x24\x1d\xfb\x7e\xf7\x7c\x15\x3f\x6e" -+"\x73\x5a\x1d\xb3\x78\xba\x1b\xdf\xb9\x49\x0a\x24\x1d\xfb\xa9\xd7\x50\x1d\xd6\x1d\x75\x7c\x81\x86\x79\x79\x1e\xfb\x26\xfb\x28\x05" -+"\xfb\x08\x16\xb8\x1d\x0e\x24\x1d\xfc\x73\xf7\x3e\x23\x1d\x82\x1d\xf7\x3d\xac\xa9\x8f\x92\xab\x1e\x68\x6e\x7c\x72\x6b\x1a\x60\x58" -+"\x1d\xa1\xaa\x9d\xa7\xb4\xae\x1f\xdb\xcd\x9a\xaf\x8d\xf7\x15\x08\xf7\x99\x07\x8d\xf4\x96\x99\xdc\x94\x08\x0e\x78\x1d\x0e\x78\x1d" -+"\xf7\x30\xf7\xab\x35\x0a\xf7\x4e\x16\x41\x0a\x0e\xf7\xc9\xbc\xf8\x7b\x37\x0a\xc2\x8c\x92\xa0\x1a\xaf\x7d\x9e\x71\x70\x7d\x78\x67" -+"\x76\x8c\x85\x99\x53\x1e\xf8\x16\xfb\x8d\x15\xfb\x47\x07\x4c\x7b\x78\x56\xb6\x1d\xbc\xe1\xae\xa9\xc0\x8e\x19\x96\x8c\x05\x9d\xfb" -+"\x73\x79\xa0\x07\xa6\x8a\x99\x81\x79\x1a\x7e\x86\x7d\xa9\x1d\xbc\x84\xa3\x77\xb5\x42\x19\x0e\x24\x1d\xfb\xd8\xf7\xac\x87\x0a\x0e" -+"\x24\x1d\xfb\x66\xf7\x61\x15\x65\x7a\x7e\x7f\x74\x1b\x7c\x77\x90\x95\x79\x1f\x73\x97\x05\x96\x74\x71\x92\x76\x1b\x59\x67\x67\x4a" -+"\x7c\x1f\xa8\x06\xaa\x96\x9c\x9a\xa2\x1b\x96\x9a\x48\x0a\x78\xb2\x9c\x86\xa4\x1b\xc2\xa8\xa8\xd8\xa0\x1f\x0e\xf8\x49\x32\x1d\xfc" -+"\x86\xd7\x22\x1d\xf8\x49\x32\x1d\xfb\xc8\xd7\x20\x1d\xf8\x49\x32\x1d\xfc\xc8\x96\x1d\xf8\x49\x32\x1d\xfc\x19\x96\x0a\xf7\x1c\xf7" -+"\x28\xf7\x7b\x15\x9d\x06\x89\xca\x9e\xa1\xc6\x8c\x08\xf7\x33\x06\xc6\x8a\x9e\x75\x89\x4c\x08\x9d\xf7\x85\x79\x06\x8d\x52\x76\x76" -+"\x52\x8c\x08\xfb\x33\x06\x52\x8a\x76\xa0\x8d\xc4\x08\x79\x06\x56\xb1\x15\x94\xc9\xa4\x9b\xdb\x8a\x08\xf7\x74\x06\xdb\x8c\xa5\x7a" -+"\x93\x4e\x9c\x8d\x18\x81\xf7\x2a\x05\xfc\x66\x06\x81\xfb\x2a\x05\x99\xfc\x94\x15\xf8\x60\x06\xb4\xf7\x3d\x7a\x8f\x6e\x45\x6d\x77" -+"\x3f\x89\x19\xfb\x82\x06\x3e\x8d\x6e\x9e\x6e\xd2\x7a\x87\x18\x0e\x34\x1d\xfb\x4a\xd7\x20\x1d\x34\x1d\xfb\x9e\x96\x0a\xf3\x3c\x0a" -+"\xfb\xd9\xf8\xb3\x22\x1d\xf3\x3c\x0a\xfb\xb8\xf9\x27\x2b\x1d\x0e\xf3\xf8\x3c\xf8\xfd\x15\xfc\x36\xfc\xfd\x05\xf8\xba\x06\xaf\xf7" -+"\x4a\x78\x8d\x75\x22\x5a\x64\x20\x90\x19\xfb\x7b\x06\xf8\x34\xf8\xfd\x05\xfc\x83\x06\x78\xfb\x41\x9e\x89\x9a\xf7\x04\xa3\xa0\xf7" -+"\x05\x88\x19\x0e\x4c\x26\x1d\xba\xf8\x20\x37\x1d\xf7\x34\xf9\x00\xf7\x2e\x15\x45\x5b\x64\x70\x52\x1b\x62\x65\x9f\xa9\x7b\x1f\x75" -+"\xb2\x86\xaa\xef\x1a\xf7\x9a\x06\xf7\x15\x7f\x5c\xc1\x26\x1b\x5c\x70\x81\x68\x5e\x1f\xad\x64\x6e\x96\x59\x1b\x31\x46\x5c\x4e\x6d" -+"\x9c\x79\xa6\xa7\x9a\x9c\xaa\x8f\x8b\x92\x8a\x91\x1f\x8a\x96\x05\x91\x07\xac\x8d\xa2\x9c\xb6\x1b\xa3\x9e\x83\x7d\x92\x1f\x92\x7b" -+"\x90\x6c\x74\x1a\x89\x4c\x35\x67\x05\x20\x5f\x61\x62\x4f\x1a\x4a\xbb\x5e\xcf\xbd\xad\x9b\xc4\xcf\x1e\x57\xad\xb0\x76\xc5\x1b\xb9" -+"\xb5\x9b\xab\xae\x1f\xa7\xa3\x9d\xa7\xa7\xc6\x08\xfb\xfa\xbf\x15\x8c\x66\x91\x66\x96\x67\x08\x8c\x8a\x8b\x8a\x8a\x1a\x79\x4a\x6b" -+"\x67\x66\x6d\xb2\xbb\xc7\xa6\xa3\xf7\x0d\xb7\x1e\xdd\xc1\x15\xe3\x8f\xa5\xaf\xc4\x1b\xc1\xa2\x66\x34\x8d\x1f\xfb\x6f\xf7\x5c\x15" -+"\x99\x0a\xf8\x81\xf0\x1d\xf8\x07\xc1\x0a\x81\x49\x89\x19\x79\xf7\x71\x9e\x7f\x07\x67\x73\x9a\xa0\x8c\x1f\x94\x92\xa2\x95\xa4\x1e" -+"\xb5\xf4\x05\xf7\x86\x06\xb1\x2a\x05\x98\x6a\x8f\x7b\x7d\x1a\x72\xc1\x1d\xf1\xf7\x85\xf4\xfb\x85\x05\x0e\xce\x96\xf9\x2a\x15\x79" -+"\x07\xd5\x9b\x7c\x44\x8c\x1f\xfc\x5b\x4f\x0a\xf7\x82\xf7\x0b\x07\xf3\x8d\xab\x74\x96\x35\x9c\x8d\x18\x81\xf7\x2a\x05\xfb\xa5\xfb" -+"\xd7\x57\x1d\x0e\xf7\x34\xc2\x21\x1d\x79\x07\x2d\x1d\xf7\x5d\x07\xf7\x30\xa7\x8e\xa1\xbb\x1f\xcb\xa9\xb3\xc7\xcf\x1a\xb3\x7d\xb0" -+"\x71\xa8\x1e\x74\xa4\x75\x98\x5b\x9c\xac\x9a\x9a\x95\x9a\x9b\x08\xa5\xa7\x9c\xb5\xb1\x1a\xc3\x67\xc0\x50\xaa\x1e\xa3\x60\x6a\x90" -+"\x2a\x1b\x5d\x61\x15\x8e\xa0\x94\x8c\x99\x1b\xe9\xc7\x57\x3b\x3a\x55\x5b\x31\x7a\x7f\x8c\x90\x72\x1f\x58\x04\x90\xa3\x95\x8c\x9d" -+"\x1b\xf1\xcb\x55\x33\x37\x4d\x52\x31\x73\x7e\x8d\x92\x6e\x1f\x0e\xd2\xf7\x78\xf8\xfd\x15\xf7\x44\x06\xe0\x8c\xac\x6c\x8f\x34\x9e" -+"\x8c\x18\x81\xf7\x35\x05\xfc\x8b\x79\x06\x55\x1d\x0e\xf7\x43\xf7\x05\xf9\x2a\x15\x79\x07\xa1\x8a\x05\xc3\x8a\x98\x78\x3e\x1a\xfb" -+"\x64\x73\xfb\x41\x65\x49\x1e\x5d\x70\x6c\x74\x67\x1b\x6a\x06\x84\xfb\x54\x05\x9d\x06\x9f\xf7\x0b\xbd\xb7\xf7\x07\x8a\x08\xf7\x7d" -+"\x06\xf7\x0d\x8c\xb9\x64\xa2\xfb\x10\x08\x9d\x06\x84\xf7\x54\x05\x40\x7c\x9a\xd3\x8a\x1f\xf8\x4e\x07\xca\x9a\x9e\xc0\x8d\x1e\xa2" -+"\x8c\x05\x9d\x07\xfb\x58\x5e\x15\xfc\xd0\xfb\xb6\x07\xbb\xbd\x9f\xc3\x99\xf7\x10\x08\x93\xd5\x8f\xe0\xf7\x0d\x1a\xc9\x07\x0e\xf3" -+"\xf7\x6e\x91\x1d\xd5\x9b\x2e\x0a\xfc\x5b\x07\x44\x8a\x7b\x7c\x41\x1b\x79\xf8\x94\x07\xc4\xf7\x3b\x7b\x46\x1d\x5b\x86\x93\xca\x1f" -+"\x0e\xf3\xf7\x6d\xf7\xdd\x15\xf7\x3a\xa0\x0a\x8c\x42\x76\x70\x53\x8c\x08\xfb\x3a\xf7\x8d\xf7\x2d\x06\xf2\x8d\xab\x72\x96\x32\x6c" -+"\x1d\xfc\x8a\x79\x06\xc0\x1d\xf8\x94\x07\xc4\xf7\x3b\x7b\x46\x1d\x5c\x8a\x85\x94\xca\x1a\x80\xf9\x63\x15\x71\x75\x74\x70\x6f\x9f" -+"\x75\xa6\xa7\x57\x0a\xf7\x5b\x16\x71\x75\x74\x70\x6f\x9f\x75\xa6\xa7\x57\x0a\x0e\xf8\x19\x7a\x0a\xf7\x91\x9d\x07\x5b\x8c\x68\xa6" -+"\x47\xe1\xfb\x4a\xf7\x80\x18\xbd\xcd\xb7\xc6\xb1\xbe\xc4\xdb\x9d\x9a\xc1\x8f\x08\x9e\xfb\x56\x78\x07\xae\x8a\x96\x85\x7b\x1a\x66" -+"\x41\xfb\x02\x24\xfb\x08\x1e\x76\xf7\x5e\x06\xd1\x98\x9a\xc6\x1e\x9d\xfb\x78\x79\x07\xc6\x98\x7c\x45\x1f\xfb\x5e\x76\x07\x24\xf7" -+"\x08\x41\xf7\x02\xb0\x1a\x9c\x96\x90\xae\x8c\x1e\x9e\xfb\x56\x78\x07\xc1\x87\x9e\x7c\xc3\x3b\x9c\x73\xbe\x47\x97\x7c\x97\x7b\x97" -+"\x7b\x97\x7c\x9b\x75\x18\xfb\x4a\xfb\x80\x46\x34\x69\x71\x5b\x8a\x19\x79\xf7\x91\x9d\x07\x69\x8d\x80\x91\x9d\x1a\x9a\x92\x97\xba" -+"\xca\x1e\xf7\x16\xf7\x4f\x05\x0e\x85\xb8\xf8\x7b\x15\x9e\x06\xe6\x96\xbc\xba\xde\x1b\xd6\xb9\x5f\x42\x34\x56\x5e\x25\x87\x7f\x8b" -+"\x8c\x7f\x1f\x5e\x9a\x07\xc5\xb2\x84\x7c\xa3\x1f\xb4\x72\xa2\x5e\x54\x1a\x32\x51\x4f\x34\x42\x53\xb0\xd9\x5f\x1e\x75\x7e\xa1\x5f" -+"\x98\x79\xa4\x75\x19\x61\xb8\xc2\x76\xce\x1b\xf7\x1b\xeb\xda\xf7\x03\xc2\x75\xbc\x63\xaa\x1f\x81\x0a\x0e\x6d\x0a\x0e\xf8\x61\xf9" -+"\xec\x15\x72\x7a\x7b\x74\x85\x8c\x85\x8d\x85\x1f\x8f\x7c\x8c\x89\x86\x1a\x7a\x6b\x7a\x6a\x68\x6c\x9c\x9d\x8e\x8c\x8f\x8c\x90\x1e" -+"\x90\x9a\x8c\x8f\x93\x1a\xa2\x79\x9b\x72\x6f\x78\x78\x70\x55\xca\x62\xdf\xe0\xca\xb4\xc1\xa6\x77\x9e\x6f\x1e\xfb\x8b\xfd\x37\x6e" -+"\x0a\x0e\xf7\x34\x70\x1d\x0e\xf7\x3f\xf7\x0f\x21\x1d\x79\x07\xd5\x9b\x7c\x45\x8c\x1f\xfb\x7d\x07\xfb\x3b\x6f\x2e\x59\x81\x84\x8e" -+"\x98\x79\x1e\x98\x7a\x7e\x90\x7d\x1b\x71\x77\x75\x6f\x67\xaa\x74\xbc\xca\xb6\xaa\xce\xa7\x1f\xa3\xc4\x92\xbf\xf7\x12\x1a\xf7\xb9" -+"\xf7\x53\xfc\x96\x07\x45\x7b\x7c\x40\x1e\x79\xf7\xb3\x9d\x07\x40\x7c\x9a\xd1\x8a\x1f\xf8\x5b\x07\xd2\x8c\x9b\x9a\xd5\x1b\x9d\x07" -+"\x0e\xf8\x12\xbe\x0a\x46\x8a\x7c\x7b\x43\x1b\x79\xf7\xaf\x45\x1d\xfb\x57\x07\xfb\x6b\xfc\x7f\xfb\x74\xf8\x7f\x05\xfb\x53\x79\x06" -+"\x2d\x1d\xf7\x7c\x60\x0a\xf8\x3a\x07\x0e\xca\x1d\xf7\xb2\x9d\x07\x41\x7b\x9a\xd2\x1f\xf8\x5b\x76\x0a\x81\x1d\x97\xf9\x2a\x15\x79" -+"\x07\xd5\x9b\x2e\x0a\xfc\x5c\xae\x0a\xf8\x97\x07\xf7\xc5\x8a\x05\xfc\x96\x07\x45\x8a\x7c\x7c\x41\x1b\x79\xf7\xb1\x45\x1d\x07\x0e" -+"\xbc\x83\x0a\x2d\x1d\xf7\xb4\x60\x0a\xf8\x93\x04\x93\xa1\x99\x8d\xa1\x1b\xe0\xc3\x51\x35\x36\x56\x54\x3b\x74\x7c\x8e\x96\x6f\x1f" -+"\x0e\xf7\x34\xf8\xfd\xf7\x2f\x15\x3b\x4e\x43\x65\x30\x1b\xfb\x25\x2e\xf7\x05\xf7\x46\xf7\x4c\xe8\xf7\x0c\xf7\x22\xc7\xc3\x74\x60" -+"\xb6\x1f\xae\x68\x9c\x66\x93\x52\x9d\x8d\x18\x85\xf7\x73\x05\x76\x06\x6f\x87\x82\x7f\x7a\x1b\x81\x8a\x8b\x9e\x63\x1f\x9d\x64\x59" -+"\x95\x58\x1b\xfb\x55\xc0\x0a\xf7\x4c\xf4\xed\xc3\xea\xcb\x1f\x0e\xf3\xf7\x36\x16\xf7\xb3\x9d\x06\x40\x7b\x9a\xd2\x1f\xf8\x92\xe4" -+"\x07\xe0\x8c\xac\x6c\x8f\x37\x9e\x8d\x18\x81\xf7\x34\x05\xfc\xb5\x3f\x0a\xe4\xfc\x92\x06\x44\x7b\x7c\x40\x1e\x0e\xf7\x5d\x75\x1d" -+"\x0e\xf7\xaf\xf7\xea\xf8\xe2\x15\xfb\x50\x79\xfb\x15\x22\xfb\x1c\x1a\xfb\x1c\xf7\x18\x20\xf7\x4d\x7b\x1e\x7f\x07\x8c\x52\x7f\x7f" -+"\x52\x89\x74\x8a\x18\x79\xf7\xb3\xdb\x1d\xf7\x4e\x9b\xf7\x17\xf6\xf7\x1c\x1a\xf7\x1c\xfb\x14\xf4\xfb\x51\xd5\x1d\xfb\xb3\xb8\x0a" -+"\x61\x92\x72\x94\x6f\x9c\x08\x49\xb3\x64\xd4\xe0\x1a\xf7\x10\xd6\xe2\xf7\x11\xa0\x1e\xf4\x8a\x15\xf7\x13\x73\xd4\x37\xfb\x0f\x1a" -+"\xfb\x0f\x40\x34\xfb\x11\x75\x1e\x0e\x8b\x1d\xf7\xb7\x9d\x07\x50\x8d\x78\x9b\x46\xef\xfb\x33\xf7\x7d\x18\xf7\x16\xf7\x3f\xd7\xec" -+"\x90\x8f\xcb\x8e\x19\x9d\xfb\x73\x79\x07\xa6\x8f\x8b\x89\x92\x1f\x9a\x87\x96\x7e\x7d\x1a\x81\x86\x81\x7a\x75\x1e\x90\x0a\xcb\x86" -+"\x9e\x7d\xcb\x2e\x08\x0e\xf9\x5d\xfb\x36\x15\x83\xf7\x54\x05\x41\x7b\x9a\xd3\x1f\xf8\x4e\x7c\x0a\xf8\x88\xc7\x0a\xf7\x23\xf8\x5c" -+"\xf7\xdc\x15\x93\x1d\xfb\x4e\x07\x45\x8a\x7c\x7c\x40\x1b\x79\xf7\xb2\x45\x1d\xfb\xb2\x79\x07\x2f\x1d\x0e\xf8\x8a\xf9\xb7\xb8\x15" -+"\xfb\x8a\xf8\x96\x06\xb2\x0a\xfc\x96\xfb\x8a\x95\x0a\xfa\x70\x9d\x07\x41\x7b\x9a\xd1\x1f\xf8\x5c\x4c\x1d\x0e\xf8\x8a\xfa\x7c\xfb" -+"\x36\x15\x84\xf7\x54\x44\x8a\x7e\x96\x89\xc6\x19\xf8\x60\x07\xd1\x9b\x9a\xc3\x1d\xd2\x9b\x99\xc3\x1d\xd1\x3d\x1d\x2d\x1d\xf9\xa8" -+"\xc7\x0a\xf7\x5b\xf7\x70\xf8\xfd\x15\xfc\x96\xc3\x0a\xf7\x37\xe3\xce\xf7\x10\xf7\x10\x2d\xd1\xfb\x3b\x6c\x77\x8a\x86\x6d\x1f\xf7" -+"\x48\xa2\x0a\xf7\x3c\xfb\xaa\x15\x90\xa6\x9e\x8d\x9f\x1b\xeb\xcb\x4b\x2c\x32\x4c\x4e\x31\x75\x7b\x8e\x94\x68\x1f\x0e\xf8\x01\xf7" -+"\xce\xf9\x2a\x15\xfb\xb2\x79\x06\xd5\x9b\x2e\x0a\xfc\x5c\x4f\x0a\xf7\x48\x39\x0a\x31\xfb\xc5\x57\x1d\xf7\xe1\xf8\xe7\x15\x2f\x1d" -+"\xfc\x5c\xb0\x1d\x07\x0e\xce\xf7\xc1\x21\x1d\xfb\xb2\x79\x06\xd5\x9b\x2e\x0a\xfc\x5c\x4f\x0a\xf7\x48\x39\x0a\x31\xfb\xc5\x57\x1d" -+"\x0e\xf7\x2d\xf8\x91\xf7\xcf\x15\xfb\x42\x84\x32\x23\xfb\x22\x1b\x2f\x43\xb1\xdb\x4f\x1f\x7a\x80\x05\x2c\xca\xee\x53\xf4\x1b\xf7" -+"\x4c\xf7\x29\xf7\x2b\xf7\x4f\xf7\x51\xfb\x2d\xf7\x29\xfb\x55\x59\x59\x81\x79\x63\x1f\x78\x64\x8a\x8b\x81\x1b\x7a\x82\x97\xa7\x86" -+"\x1f\x77\x06\x84\xfb\x73\x9e\x89\x91\xbf\x9a\xac\xa8\xad\x19\xbb\xb6\xc8\xa7\xcb\x1b\xf7\x1b\xe3\x24\xfb\x3d\x97\x1f\xfb\x70\x06" -+"\x53\x8a\x76\xa6\x8d\xd4\x08\x79\xfb\x85\x9d\x06\x89\xd1\x9e\xa5\xc6\x8c\x08\x0e\xf8\x9d\xf7\x78\xf7\xfc\x15\xf7\x5b\xaf\x0a\xfc" -+"\x5b\x5c\x1d\xf7\x67\xf7\x0b\x07\xfb\x52\x94\xf7\x17\xfb\x18\xf7\x47\x1b\xf7\x48\xf7\x1a\xf7\x24\xf7\x56\xf7\x57\xfb\x1c\xf7\x23" -+"\xfb\x4b\xfb\x3e\xfb\x14\xfb\x12\xfb\x4b\x7b\x1f\xf7\xcd\xf7\xa2\x15\xf7\x0d\x6d\x1d\x3a\x86\x0a\xf7\x34\xf8\x4d\xf7\xcb\x15\xfb" -+"\x63\x07\x8a\x45\x7c\x7c\x43\x8a\x08\x79\xf7\xb0\x9d\x07\x40\x7b\x9a\xd2\x1f\xf8\x5a\x07\xd2\x8c\x9a\x9a\xd6\x1b\x9d\xfb\xa8\x07" -+"\x4f\x6e\x88\x83\x70\x1f\x41\x76\x5b\x4d\x40\x1a\x5c\xa0\x5d\xae\x6b\x1e\xa5\x74\xa1\x80\xbd\x7d\xfb\x2d\xfb\x5d\x18\x42\x2e\x80" -+"\x83\x4f\x8c\x08\x78\xf7\x41\x07\xf7\x80\xf7\xcb\x05\xbf\xae\x15\x79\x06\xfb\x06\x46\xc0\xe2\xdb\xc4\xc2\xdf\x9f\x98\x89\x82\xa6" -+"\x1f\x0e\x52\x9a\xf9\x2a\x15\x79\x07\x55\x1d\xf8\x97\xf7\x8a\xf7\x42\x79\x07\x75\x29\x62\x6d\xfb\x04\x8a\x08\x0e\xf7\x89\xf7\xd6" -+"\xf8\xfa\x15\xf7\x1d\x06\xe0\x8c\xad\x6c\x8e\x37\x9e\x8d\x18\x82\xf7\x34\x05\xfc\xb1\x3f\x0a\xaf\xfc\x92\x06\x44\x7b\x7c\x40\x1e" -+"\x79\xf7\x58\xf7\xc9\x07\xa3\xc7\xa4\x91\xb1\x1b\xe7\xb5\x53\xfb\x0f\x2c\x70\x52\x5c\x75\x80\x95\x9f\x90\x8b\x8d\x8c\x91\x1f\x8c" -+"\x8f\x8b\x8e\x8e\x1a\xa2\x79\x9c\x72\x6e\x77\x76\x6d\x5e\xb7\x70\xd3\xc4\xb7\x9c\xad\xac\x1e\xb3\xb3\xa2\xc6\xc6\x1a\xf7\x0a\x32" -+"\xd8\xfb\x1b\x56\x64\x82\x72\x52\x1e\x0e\xd2\xf7\x75\xf8\xfd\x15\xf7\x44\x06\xe0\x8c\xac\x6c\x8f\x34\x9e\x8c\x18\x81\xf7\x35\x05" -+"\xfc\x8b\x79\x06\x55\x1d\xae\xf8\xfd\x5b\x0a\x98\x95\x98\x9b\x1a\x9f\x7d\x97\x76\x7b\x44\x0a\x0e\xf7\x2d\xf8\x65\xf7\x6e\x15\xf7" -+"\x85\x79\x07\x8c\x42\x77\x70\x52\x8c\x08\xfb\x6f\x06\xf7\x3c\x95\xe5\xf3\xf7\x1a\x1b\xc7\xc3\x74\x60\xb6\x1f\xae\x68\x9d\x66\x92" -+"\x52\x9d\x8d\x18\x85\xf7\x73\x05\x76\x06\x6f\x87\x82\x7f\x7a\x1b\x81\x8a\x8b\x9e\x63\x1f\x9d\x64\x59\x95\x59\x1b\xfb\x56\xc0\x0a" -+"\xf7\x4b\xf7\x03\xe5\xbd\xf0\xce\x1f\x7a\x96\x05\x3b\x4f\x42\x65\x30\x1b\x35\x44\xb4\xd5\x62\x1f\x71\xb8\x80\xba\x88\xd2\x08\xf7" -+"\x70\x06\xc6\x8a\x9e\x72\x89\x44\x08\x0e\xbc\xf4\x16\x9f\x92\x93\x92\x9b\x1b\x94\x98\x88\x86\x9a\x1f\x71\xdd\x8b\x8b\xb2\x1b\xf7" -+"\x06\xdd\xd7\xf6\xd8\x5c\xc9\x25\xc6\x1f\x3e\xb7\x05\x4c\xaf\x69\xb4\xb3\x1a\xbf\xb7\xb1\xc7\xb1\xac\x7e\x72\xa3\x1e\xa5\x71\x9b" -+"\x69\xa2\x40\x08\x9d\xf7\x66\x77\x06\x7a\x83\x83\x84\x7f\x1b\x82\x88\x8c\x98\x63\x1f\x98\x64\x75\x8f\x6d\x1b\x22\x44\x45\x25\x44" -+"\xb1\x58\xe7\x55\x1f\xd9\x5f\xa1\x7e\xa2\x79\x9e\x78\x19\xa7\x6e\x96\x73\x6c\x1a\x4f\x59\x5c\x4a\x57\x57\xa8\xbb\x6c\x1e\x76\xaa" -+"\x82\xa5\x84\xc1\x08\x77\xfb\x74\x06\x0e\xfb\x42\x4c\x0a\xfb\x42\xa2\xf9\x18\x15\x2f\x1d\xfc\x5c\x67\x1d\xf7\xb3\x9d\x07\x40\x7c" -+"\x9a\xd1\x8a\x1f\xf8\x5c\x07\xd1\x8c\x9a\x9a\xd6\x1b\x9d\xfb\xb3\x07\xb6\xf7\x41\x3e\x0a\xfb\x0a\xdb\xf9\x18\x15\xa1\x8a\x05\xbd" -+"\xa1\x71\x51\x8d\x1f\xfc\x33\x07\x37\x84\x71\x75\x80\x81\x94\x9a\x84\x1e\xb7\x75\x7e\x96\x6e\x1b\x6e\x76\x78\x70\x5f\xb6\x6d\xc9" -+"\xf2\xcd\xd9\xf7\x0e\x1f\xf8\x02\x3c\x1d\x9f\x8c\x05\x9d\xfb\xb3\x07\x0e\xf8\x01\xe7\x21\x1d\x79\x07\x2f\x1d\xfb\x7d\x07\x20\x84" -+"\x4c\x79\x61\x1e\x6c\x7e\x78\x79\x77\x1b\x83\x81\x8f\x91\x82\x1f\x9f\x70\x81\x8f\x7b\x1b\x71\x77\x76\x6e\x68\xaa\x74\xba\xca\xb9" -+"\xad\xcf\xa8\x1f\xa0\xbe\x93\xc7\xf7\x0c\x1a\xf7\xb9\xf7\x53\xfc\x96\x07\x44\x7b\x7d\x40\x1e\x79\xf7\xb3\x07\xf7\x37\xe3\xce\xf7" -+"\x10\xf7\x10\x2c\xd1\xfb\x3a\x6c\x78\x8a\x86\x6c\x1f\xf7\x48\xba\x0a\x07\x30\xfb\xd7\x15\x90\xa4\xa0\x8d\x9f\x1b\xea\xcb\x4b\x2c" -+"\x33\x4d\x4d\x32\x73\x77\x8e\x94\x6d\x1f\x0e\xf8\x01\xf8\x4c\xf7\xcf\x15\xfb\x68\x07\x8a\x61\x87\x7a\x7c\x7e\x86\x87\x89\x8a\x81" -+"\x87\x08\x88\x7c\x85\x8a\x72\x1b\x8a\x79\xf7\x9c\x06\xf7\x2a\xde\xcc\xf7\x0b\xdb\x61\xc0\x37\xa6\x1f\x99\x60\x71\x8d\xfb\x0d\x1b" -+"\xf7\x5c\x07\xd1\x9a\x99\xcf\x1e\x9d\xfb\x9c\x79\x07\xcf\x9b\x7c\x45\x1f\xfb\x5b\xfb\x91\xf7\x5b\x07\xd2\x9a\x99\xcf\x1e\x9d\xfb" -+"\x9c\x79\x07\xd0\x99\x7c\x45\x8c\x1f\xfc\x5c\x07\x44\x8a\x7d\x7d\x46\x1b\x79\xf7\x9c\x9d\x07\x46\x7d\x99\xd2\x1f\xf7\x68\x07\xf7" -+"\xf2\x16\xe4\x91\x8a\x7f\xac\x1f\xbb\x7a\xab\x5a\x51\x1a\x39\x50\x50\x3a\x75\x77\x8e\x94\x71\x1e\x0e\xf7\x7e\xf7\x47\xf8\xfa\x15" -+"\xfc\x92\x07\x44\x7b\x7c\x40\x1e\x79\xf7\xb2\x9d\x07\x41\x7b\x9a\xd2\x1f\xf7\x54\x07\xb4\xd9\x9b\x90\xc2\x1b\xe9\xa4\x6e\x20\x1f" -+"\x24\x07\x45\x8a\x7c\x7c\x41\x1b\x79\xf7\xb2\x9d\x07\x40\x7c\x99\xd2\x8a\x1f\xf2\x07\xc6\x86\xa1\x78\xa9\x1e\xb7\x6f\x54\xa0\x33" -+"\x1b\x48\x5e\x82\x71\x49\x1f\xf7\x9f\xf7\x38\x07\xdf\x8c\xad\x6c\x8e\x37\x9f\x8d\x18\x81\xf7\x34\x05\xfc\xcb\x3f\x0a\x0e\xf7\x34" -+"\x70\x1d\xf7\x19\xf8\xfc\x15\x30\x1d\x9f\x98\x95\x98\x7f\x0a\x0e\xf7\x5d\x75\x1d\xf7\x4b\xf7\x56\x15\x72\x7a\x7b\x74\x85\x8c\x85" -+"\x8d\x85\x1f\x8f\x7c\x8b\x8a\x86\x1a\x79\x6c\x7a\x6a\x69\x6b\x9c\x9d\x8e\x8c\x8f\x8c\x90\x1e\x8f\x9a\x8c\x90\x92\x1a\xa2\x7a\x9b" -+"\x72\x6f\x78\x78\x70\x55\xca\x62\xdf\xdf\xca\xb4\xc1\xa6\x78\x9e\x6f\x1e\x0e\x4c\xf8\x3d\xd4\x15\x7b\x7a\x7c\x84\x7d\x1b\x7b\x87" -+"\x95\xb2\x1f\xf7\x6e\x07\xed\x61\xb5\x28\x30\x3e\x57\x4f\x71\x9f\x75\xa2\xa1\x9d\x9e\xa2\xb0\x8b\x8d\x90\x98\x1e\xa3\x94\xa3\x99" -+"\xab\x1b\xa8\xa1\x7f\x77\x96\x1f\x94\x78\x8d\x7e\x57\x1a\x76\x07\x2f\x69\x70\x7f\x65\x76\x08\x53\x6d\x70\x63\x57\x1a\x4d\xb7\x5b" -+"\xc3\xb8\xb2\x9f\xbd\xc3\x1e\x5d\x91\x9e\x73\xab\x1b\xb2\xad\xa2\xb9\xaa\x1f\xfb\x35\xaf\x15\x6d\x6f\x71\x7d\x6c\x1b\x61\x6e\xaa" -+"\xb7\xc2\xa7\xa3\xf7\x14\xbf\x1f\x0e\x8d\xf7\xac\xf8\xc5\x15\x8a\x93\x91\x8b\x8f\x1b\xd8\xad\xa6\xd2\x98\x1f\x7e\x06\x76\x84\x79" -+"\x85\x52\x1b\x84\x80\x8b\x8c\x7e\x1f\x74\x06\x48\x57\x6f\x55\x67\x1f\x68\x54\x74\x21\xfb\x02\x1a\x38\x99\x48\xa5\x5d\x1e\x53\xab" -+"\xc7\x69\xcc\x1b\xf7\x03\xe3\xf5\xf7\x19\xf7\x17\x3b\xe9\xfb\x04\x48\x5b\x6a\x3e\x60\x1f\x96\xd7\x90\xa0\x97\xa4\x08\xc7\xa6\xb8" -+"\xab\xc5\x1b\x7e\xfb\x1f\x15\xd0\xba\x33\xfb\x18\x21\x64\x47\x4f\x40\x5c\xde\xf7\x1a\xc5\x91\xac\x9b\xaa\x1f\xb0\x9f\xa6\x9d\xaf" -+"\x1b\x0e\x68\xa9\xf8\x56\x29\x1d\xbe\x88\x8f\x83\x8d\x2e\x08\xfb\x64\x07\x8a\x2e\x86\x83\x58\x88\x08\x7a\x7a\xf7\x31\x06\xf7\x02" -+"\x9e\x8d\x9a\xad\x1f\xb8\x9f\xa7\xb4\xb9\x1a\xc1\x6d\xac\x48\xa1\x1e\xa4\x96\x95\x91\x97\x97\x08\x9e\x9e\x97\xa7\xa5\x1a\xb1\x72" -+"\xaf\x61\xa1\x1e\x9a\x6d\x72\x8f\x48\x1b\x6b\x6e\x15\x8d\x99\x92\x8c\x95\x1b\xca\xb4\x68\x55\x53\x67\x6b\x4d\x7f\x83\x8c\x8e\x7a" -+"\x1f\x68\x04\x8f\x9b\x93\x8c\x97\x1b\xd2\xb7\x66\x4f\x52\x60\x64\x4d\x7b\x81\x8c\x90\x77\x1f\x0e\x2a\xf7\x49\xf8\x2f\x15\xde\x06" -+"\xcf\xab\x6e\x44\x96\x1f\x9c\x06\x7b\xf7\x1f\x05\xfb\xf0\x7a\x9c\x06\xbe\x88\x90\x83\x8c\x2f\x08\xfb\x66\x07\x8a\x30\x28\x0a\xe2" -+"\x1a\x0e\x8d\xf8\x76\x26\x0a\xfc\x1b\x7a\x99\x06\xb5\x99\x74\x46\x38\x7e\xfb\x06\x7c\x5d\x1f\x5e\x7d\x6e\x74\x62\x1b\x70\x06\x82" -+"\xfb\x21\x05\x9c\x06\x94\xda\xab\xac\xce\x8a\x08\xf7\x74\x06\xcd\xad\x69\x3e\x93\x1f\x9c\x06\x82\xf7\x21\x05\x67\x06\x6e\x8a\x87" -+"\x8f\xab\x1a\xf7\x9d\x07\xe3\x93\x99\xbc\x8c\x1e\x9b\x06\xfb\x2c\xfc\x1e\x15\xfb\x51\x06\xb3\xab\x9b\xf2\xf7\x81\x1a\xf7\x19\x06" -+"\x0e\x4c\xf8\x20\x72\x0a\x0e\x4c\xf8\x1e\x72\x0a\xfb\x25\xf7\xd0\x53\x0a\xf7\x2d\xc4\x1d\xf7\x4c\x7d\x0a\xf7\x5b\x9c\x85\x06\x67" -+"\x6f\x9d\xbd\x64\x1f\xfb\x19\xf7\x3a\xf7\x01\xf7\x0f\xb1\xb6\xad\x9c\xb8\x8a\x19\x9c\xfb\x4b\x7a\x94\x07\x9d\x98\x82\x7e\x82\x87" -+"\x82\x81\x80\x1f\xfb\x11\xfb\x21\x05\x71\xe4\x06\x8c\xe6\x90\x94\xbd\x8e\x08\x9d\x9c\xfb\x77\x7a\x9d\x06\xbd\x88\x90\x82\x8d\x30" -+"\x08\x32\x70\x07\xfb\x11\xf7\x21\x05\x82\x96\x87\x93\x95\x1a\x99\x96\x93\x9e\x1e\x94\x9c\xfb\x4b\x7a\x06\xb8\x8c\xad\x7a\xb1\x60" -+"\xf7\x02\xfb\x0f\x18\xfb\x19\xfb\x3a\x05\x5a\x64\x6e\x78\x69\x1b\x83\x7a\xf7\x5b\x9c\x79\x06\x80\x84\x90\x93\x92\x8e\x92\x92\x94" -+"\x1f\xf7\x10\xf7\x31\x05\x0e\xfb\x04\xc0\xf7\xcd\x15\xd7\x97\xb2\xb3\xcb\x1b\xc3\xae\x6a\x58\x5b\x67\x6a\x58\x1f\x6b\x66\x06\x8c" -+"\x92\x8f\x8b\x91\x1b\xb5\xa3\x84\x7a\x9d\x1f\x9e\x79\x96\x71\x70\x1a\x52\x5f\x63\x4b\x54\x62\xa2\xc2\x5d\x1e\x79\x7f\x05\x3d\xbd" -+"\xbe\x6c\xdb\x1b\xef\xd7\xc4\xd8\xad\x7d\xab\x73\xa1\x1f\x92\x1d\x0e\xa7\x76\x1d\x0e\xa7\xf8\x05\xf9\x05\x15\x78\x7d\x7c\x77\x85" -+"\x8c\x88\x8e\x7f\x1f\x8d\x84\x8c\x84\x88\x1a\x79\x69\x7b\x63\x60\x6a\x9c\xa2\x8f\x8c\x8f\x8d\x91\x1e\x8e\x92\x8c\x8f\x92\x1a\x9f" -+"\x7d\x9a\x78\x76\x7c\x7c\x74\xbc\x0a\x42\xfb\x43\x29\x1d\xb0\x8c\x9b\x7b\x8d\x68\xfb\x5d\xfb\xa0\x18\xf7\x6a\x07\xe3\x93\x9a\xbc" -+"\x8c\x5d\x1d\x9c\x7b\x06\x66\x7c\x98\xb0\x88\x1f\xf7\x5d\xf7\x9d\x05\xfb\x67\x07\x8a\x2f\x28\x0a\xe3\x1a\x56\x0a\x06\x0e\x76\x72" -+"\x1d\x0e\x83\xcf\x26\x0a\x7a\x97\x07\xc2\x98\x77\x34\xfb\x44\x76\x2f\x63\x84\x84\x8e\x91\x80\x1f\x92\x7e\x82\x8e\x82\x1b\x73\x78" -+"\x78\x75\x6e\xa3\x79\xb1\xe9\xb0\xe8\xf7\x7e\x9c\x8b\x9b\x8a\xc9\x1f\xf7\x1a\xfb\xb6\x06\xa2\x1d\xf7\x12\xf8\x61\xf7\xfb\x15\xfb" -+"\x82\xca\x0a\xf7\x76\x9c\x7c\x06\x59\x8c\x83\x9a\x8c\xe3\x08\xf7\x64\x07\x8a\xe3\x93\x9a\xbd\x8c\x08\x9a\x9c\xfb\x25\x06\xfb\x26" -+"\xfb\xe6\xfb\x21\xf7\xe6\x05\xfb\x34\x7a\x95\x06\xbf\x8a\x9d\x78\x8a\x56\x08\xfb\xa6\x07\x8c\x59\x79\x79\x57\x8a\x08\x81\x7a\xf7" -+"\x43\x9c\x82\x06\x5f\x8c\x7d\x9c\x8d\xbe\x08\xf7\xa3\x07\xf7\x31\xfb\xfc\x05\x9a\x06\x0e\xa7\xf7\x34\x88\x1d\xf7\x76\x45\x0a\xf7" -+"\x65\x9e\x0a\x84\xf7\x93\xf8\x5d\x15\x4e\x5c\x78\x5e\x5f\x1f\x5e\x5f\x72\x4c\x48\x1a\xfb\x15\xe7\x2a\xf7\x0e\xf7\x0e\xec\xf5\xf7" -+"\x19\xf7\x16\x32\xea\xfb\x0e\x1e\x7e\x68\x15\xdb\xc2\x32\xfb\x17\x22\xcf\x1d\xa7\x99\xf8\x56\x29\x1d\xbe\x88\x90\x83\x8c\x2f\x08" -+"\xfb\x65\x07\x8a\x2f\x28\x0a\xe3\x1a\xf7\xb6\xf7\x5f\xfb\xb6\x07\xa2\x1d\x84\xf7\x3a\xa4\x15\x73\xb2\xa2\x83\xac\x1b\xf7\x04\xec" -+"\xf7\x03\xf7\x16\xf7\x0e\x40\xf0\x32\x59\x68\x75\x49\x54\x1f\xe9\x07\x46\x6a\x80\x86\x42\x6d\x91\x7d\x18\x95\x8e\x05\x8e\x92\x91" -+"\x8c\x91\x1b\xa8\x95\x7a\x57\x1f\xfb\xfa\x07\x88\x65\x89\x6f\x8b\x8b\x89\x84\x19\x74\x83\x7e\x83\x6c\x1b\x79\x7a\xf7\x77\x9c\x7f" -+"\x06\x5a\x8c\x82\x9a\x8a\xe3\x08\xf7\xfd\x04\xbf\xb6\x9b\x96\xb0\x1b\xd2\xba\x44\xfb\x01\x23\x5a\x42\x44\x6c\x6d\x9a\xa2\x7b\x1f" -+"\x7d\x9f\x88\x9f\xbe\x1a\x0e\x4c\xf8\x20\xf7\x49\x15\x46\x72\x5a\x65\x4a\x1b\x37\x56\xd0\xf7\x01\xf1\xb8\xcd\xd0\xb1\x9c\x7b\x61" -+"\x91\x1f\x69\x90\x9c\x7a\xab\x1b\xa7\x9f\x9d\xa4\xc4\x47\xb9\x39\xfb\x0f\x34\x29\xfb\x1e\x4d\x9c\x56\xaa\x63\x1f\x5e\xae\xc2\x6f" -+"\xc0\x1b\xe1\xca\xc9\xf7\x0a\xaf\x1f\x0e\x45\xf7\x97\xf8\x2f\x15\xb0\x06\xcc\x8c\xaa\x6f\x99\x42\x08\x9a\x06\x7f\xf7\x1f\x05\xfc" -+"\x10\x58\x0a\x98\xd6\xa8\xa3\xdb\x8c\x08\xa5\xfb\xb6\x06\x8a\x2f\x86\x82\xab\x0a\x84\x74\x1d\x0e\xf7\x21\xf8\x47\xfb\x34\x15\x9c" -+"\x7e\x07\x5a\x8c\x82\x9b\x8a\xe2\x08\xb9\x07\x81\xad\x9f\x87\x9d\x1b\xee\xe0\xf7\x02\xf7\x15\xf7\x15\x41\xe9\x26\x77\x7c\x89\x83" -+"\x5d\x1f\xf7\x73\x07\x47\x69\x80\x86\x42\x6e\x91\x7c\x18\x91\x9a\x92\x8c\x95\x1b\x95\x97\x86\x85\x90\x1f\x93\x80\x8c\x84\x64\x1a" -+"\x37\x07\x97\x5a\x7d\x8d\x77\x1b\x30\x38\xfb\x03\xfb\x0f\xfb\x13\xda\x27\xf0\x9d\xa7\x8f\x93\xaa\x1f\x5f\x07\x89\x65\x89\x70\x8b" -+"\x89\x88\x85\x19\x74\x83\x7e\x83\x6c\x1b\x79\x7a\x06\xf7\x2f\xf8\xc7\x15\x9a\xa2\x96\x8f\x9f\x1b\xd1\xb6\x36\xfb\x1b\xfb\x01\x67" -+"\x4a\x50\x73\x7a\x92\xa2\x6c\x1f\x3d\x7f\x15\x7e\x75\x7d\x86\x77\x1b\x47\x5f\xdb\xf7\x10\xf7\x0e\xad\xcf\xc9\xa4\x9c\x83\x71\xa9" -+"\x1f\x0e\x84\xf7\xd0\xf7\xd5\x15\xcf\xef\x94\x93\xbb\x90\x08\x90\x9b\xfb\x35\x7b\x93\x06\xa0\x9a\x83\x7f\x8a\x1f\x83\x86\x7f\x83" -+"\x7f\x1e\x52\x39\x63\xcb\x05\x7e\x9e\x81\xa3\x95\x1a\x95\x98\x92\x9c\x1e\x92\x9b\xfb\x5c\x7b\x93\x06\xb8\x87\x8c\x8a\xdb\xfb\x15" -+"\xb8\x42\x18\x47\x21\x54\x34\x7f\x7f\x65\x86\x19\x78\x8a\x05\x7b\xf7\x3a\x9c\x80\x07\x77\x80\x91\x97\x93\x8d\x90\x9f\xab\x1f\xce" -+"\xf7\x01\xcf\xfb\x02\x05\x97\x79\x91\x7c\x82\x1a\x7e\x80\x84\x75\x1e\x83\x7a\xf7\x62\x9c\x84\x06\x5f\x8d\x7c\x9d\xfb\x20\xf7\x76" -+"\x08\x0e\xa7\xf8\x9e\xfb\x03\x15\x81\xf7\x21\x05\x8a\x85\x85\x8b\x89\x1b\x5f\x84\x9a\xe3\x1f\xf7\x59\x07\xa7\x0a\xfb\xb6\xfb\x5e" -+"\xf7\xb6\x07\xa7\x0a\xfb\x65\x07\x8a\x2f\x86\x83\x58\x88\x08\x7a\x7a\xf8\x14\x06\xd1\x88\xa8\x6e\x94\x3c\x08\x0e\x87\xf7\xe0\xf7" -+"\x0d\x15\x8a\x2f\x86\x82\x58\x88\x08\x6c\x7a\xf7\x84\x45\x0a\x56\x0a\xfb\x70\x7a\x96\x06\x87\x1d\x0e\xf7\x9b\xf9\x86\x16\x9c\x7b" -+"\x07\x5a\x8c\x83\x99\xe3\x1a\xf7\x62\x07\xe6\x38\x0a\xfb\x69\x7a\x96\x06\xb7\x86\x8f\x82\x8d\x31\x08\xfb\xb5\xfb\x44\xf7\xb5\x6b" -+"\x1d\x94\x9c\xfb\x69\x7a\x96\x06\xbe\x88\x90\x82\x8c\x2f\x08\xfb\xb5\xfb\x46\xf7\xb5\x07\xe0\x92\x9a\xb7\x8f\x1e\x94\x9c\xfb\x69" -+"\x51\x0a\x7a\x06\x0e\xf7\x9b\xf9\x88\xfb\x03\x15\x83\xf7\x20\x05\x7f\x06\x5a\x8d\x83\x94\xc8\x1a\xf7\x75\x07\xe6\x38\x0a\xfb\x69" -+"\x7a\x96\x06\xb7\x86\x8f\x82\x8d\x31\x08\xfb\xb5\xfb\x44\xf7\xb5\x6b\x1d\x94\x9c\xfb\x69\x7a\x96\x06\xbe\x88\x90\x82\x8c\x2f\x08" -+"\xfb\xb5\xfb\x46\xf7\xb5\x07\xe0\x92\x9a\xb7\x8f\x1e\x94\x9c\xfb\x69\x51\x0a\x7a\xf8\xea\x06\xdf\x8e\xac\x6e\x95\x36\x08\x0e\x95" -+"\xf7\xcd\x26\x0a\xfb\xba\x58\x0a\x9d\xd7\xa6\xa4\xce\x8a\x08\xa6\xfb\xb6\x06\x89\x2f\x86\x82\x59\x88\x08\x79\x7a\xf7\x74\x06\xf7" -+"\x08\xd3\xbd\xdd\xd8\x40\xbe\xfb\x05\x77\x7c\x8a\x88\x68\x1f\xd5\x07\xe3\x92\x99\xbd\x8c\x1e\x9b\x06\x42\xfb\x61\x15\x8d\x9c\x93" -+"\x8b\x98\x1b\xde\xd8\x1d\x0e\xf7\x39\xa0\xf8\x56\x29\x1d\xbe\x88\x90\x82\x8c\x30\x08\xfb\x65\x47\x1d\xf7\x74\x06\xf7\x08\xd2\xb9" -+"\x0a\x7c\x8a\x88\x68\x1f\xd5\xac\x0a\x42\xfb\x72\x15\x8d\x9d\x92\x8b\x99\x55\x0a\xf8\x72\x74\x15\x7b\x06\x5a\x8c\x83\x99\xe4\x1a" -+"\xf7\x64\x07\xe4\x93\x98\xbc\x8d\x5d\x1d\x06\x0e\x58\x9f\xf8\x56\x29\x1d\xbe\x88\x90\x82\x8c\x30\x08\xfb\x65\x47\x1d\xf7\x74\x06" -+"\xf7\x08\xd2\xb9\x0a\x7c\x8a\x88\x68\x1f\xd5\xac\x0a\x42\xfb\x72\x15\x8d\x9d\x92\x8b\x99\x55\x0a\x0e\x3d\xa8\xf7\xbf\x15\x9b\x06" -+"\xe0\x9c\xbb\xb9\xd6\x1b\xdf\xb8\x50\xfb\x08\x8f\x1f\xfb\x50\x67\xf7\x50\x06\x8a\x56\x85\x70\x78\x6b\x08\x5d\x70\x62\x73\x56\x1b" -+"\x50\x61\xa2\xc3\x5b\x1f\x7a\x7e\x05\x3b\xc3\xbe\x6d\xd8\x1b\xf7\x11\xeb\xf0\xf7\x18\xf7\x1c\x31\xea\xfb\x16\x72\x77\x88\x83\x71" -+"\x1f\x7f\x63\x8b\x8b\x81\x1b\x81\x86\x8f\x97\x85\x1f\x7f\x06\x0e\xf7\x84\xf7\xa6\xf7\x6e\x15\xfb\x17\x8e\xe4\x2d\xf7\x0d\x1b\xf7" -+"\x0f\xec\xf5\xf7\x1a\xf7\x17\x32\xe8\xfb\x11\xfb\x03\x34\x39\xfb\x0d\x78\x1f\x27\xd7\x06\x95\x1d\x07\xf7\xc7\xf7\x60\x15\xdb\xc2" -+"\x32\xfb\x16\x21\xcf\x1d\x5c\xf7\xc1\xf7\x0d\x15\x89\x2f\x87\x82\x58\x88\x08\x79\x7a\xf7\x77\x45\x0a\x56\x0a\xfb\x7a\x06\x59\x5e" -+"\x82\x7c\x72\x1f\x66\x73\x77\x67\x5d\x1a\x42\xb8\x66\xf0\x82\x1e\x69\x83\x7b\x81\x77\x6f\x40\xfb\x00\x18\x7d\x78\x76\x7f\x78\x8c" -+"\x08\x83\x7a\xf7\x07\x06\xf7\x05\xf7\x36\x05\xac\xa3\x9a\x95\xa7\x1b\x8f\x90\x8b\x8a\x97\x1f\xa6\x04\x86\x74\x81\x8a\x7a\x1b\x41" -+"\x5e\xaf\xc6\xc9\xb8\xb3\xd0\x9c\x97\x89\x86\xa5\x1f\x0e\xfb\x30\x90\xf8\x56\x29\x1d\xbe\x88\x90\x83\x8c\x2f\x08\xfb\x66\x07\x8a" -+"\x30\x28\x0a\xe2\x1a\xf7\xb7\xf7\x53\xf7\x16\x7a\x07\x85\x47\x79\x72\x5f\x8d\x08\x0e\x73\xf7\x36\xf9\x30\x15\x47\x69\x80\x86\x41" -+"\x6d\x92\x7d\x18\x91\x9a\x92\x8c\x94\x1b\x9a\x97\x84\x7e\x90\x1f\x8e\x83\x8b\x8a\x8c\x71\x08\x2a\x6e\xec\xfc\x17\x06\x33\x83\x7c" -+"\x5a\x8a\x1e\x7a\x7a\xf7\x74\x9c\x7d\x06\x5a\x8c\x83\x9a\xe3\x1a\xf7\x6e\x07\xb6\xb2\xab\x9d\xb2\x1b\xa5\xa2\x7e\x74\x9b\x1f\xa5" -+"\x67\x93\x54\xfb\x19\x1a\xfb\x2b\x83\x49\x75\x65\x1e\x77\x80\x7d\x82\x7a\x1b\x7a\x7e\x97\x9a\x8c\x1f\x8c\x9c\x05\xa3\x8c\x7a\x9e" -+"\x72\x1b\x73\x7c\x7b\x72\x64\xb3\x6d\xbc\xf7\x01\xcf\xf7\x1b\xf7\x6e\xf7\x4d\x5d\xdf\x25\x52\x63\x76\x53\x59\x1f\xf7\x16\xf7\x2f" -+"\xa8\xfb\x2f\x07\x0e\x2a\xf7\x45\xf8\x2f\x15\xde\x06\xcf\xab\x6e\x44\x96\x1f\x9c\x06\x7b\xf7\x1f\x05\xfb\xf0\x7a\x9c\x06\xbe\x88" -+"\x90\x83\x8c\x2f\x08\xfb\x66\x07\x8a\x30\x28\x0a\xe2\x1a\xf7\x0c\xf8\x95\xc8\x0a\x3d\xf8\x19\x26\x0a\x7f\x06\x7f\x86\x85\x87\x82" -+"\x1b\x84\x80\x8d\x8e\x80\x1f\x9a\x5d\x79\x8e\x6b\x1b\xfb\x13\x31\x2b\xfb\x1b\xfb\x18\xeb\x26\xf7\x11\xd8\xbe\xa9\xdb\xc3\x1f\x7a" -+"\x98\x05\x53\x5b\x61\x74\x50\x1b\x5a\x65\x9f\xb2\x70\x1f\x73\xad\x83\xaa\x8a\xc5\x08\xf7\x50\xaf\xfb\x50\x06\xf7\x08\x8f\xb8\xc6" -+"\xdf\x1b\xd6\xbb\x5e\x35\x9c\x1f\x9b\x06\x0e\xfb\x0a\xdc\x88\x15\x96\x8d\x8f\x8e\x95\x1b\x90\x8f\x8a\x89\x93\x1f\x7e\xbb\x9a\x89" -+"\xa7\x1b\xde\xc5\xbf\xd6\xc3\x6a\xb8\x44\xb0\x1f\x59\xa6\x05\x56\xa6\x77\xa2\xaa\x1a\xac\xa6\xa4\xb1\xc6\xb0\x64\x41\x98\x1e\x9c" -+"\xf7\x22\x79\x06\x83\x87\x87\x87\x85\x1b\x88\x89\x8b\x90\x78\x1f\x94\x6b\x7d\x8d\x76\x1b\x3c\x53\x56\x42\x68\x99\x6e\xa9\x71\x1f" -+"\x9d\x7b\x8c\x8a\xb8\x73\xb2\x75\x18\xbc\x6f\xa2\x6f\x6a\x1a\x68\x6e\x72\x65\x4b\x62\xb7\xe1\x79\x1e\x7a\xfb\x36\x06\x0e\xfb\x79" -+"\xb1\x0a\x8e\x92\x93\x8c\x90\x1b\xa8\x92\x7e\x53\x1f\xfb\x5a\x07\x8a\x2f\x28\x0a\xe3\x1a\x5e\xf8\xa7\x15\x6e\x74\x75\x6f\x6f\xa2" -+"\x74\xa8\xa7\xa2\xa2\xa7\xa6\x74\xa2\x6f\x1f\x0e\xfb\x79\xb1\x0a\x8d\x92\x93\x8d\x90\x1b\xa8\x92\x7e\x53\x1f\xfb\x5a\x07\x8a\x2f" -+"\x28\x0a\xe3\x1a\xfb\x0a\xf8\x8d\x53\x0a\xf7\x2c\xc4\x1d\xfb\x79\xf7\x55\xf8\x63\x15\x47\x69\x80\x87\x41\x6d\x92\x7d\x18\x96\x8e" -+"\x05\x8d\x91\x93\x8d\x91\x1b\xa8\x92\x7e\x53\x1f\xfb\xd3\x07\x34\xea\x1d\x75\x7c\x93\x7b\x1b\x74\x79\x79\x76\x6e\xad\x76\xb9\xc8" -+"\xc0\xa9\xbc\xa6\x1f\x9c\xac\x8f\xa4\xe1\x1a\x5d\xf8\xde\x53\x0a\x0e\xf7\x70\xf8\x3f\xf7\xde\x15\xe3\x93\x99\xbc\x8c\x1e\x9b\x9c" -+"\xfc\x22\x7a\x97\x06\xc2\x98\x77\x35\xfb\x46\x77\x30\x63\x83\x85\x8d\x92\x7f\x1f\x92\x7d\x83\x8e\x83\x1b\x72\x78\x79\x74\x6e\xa3" -+"\x79\xb1\xe9\xb0\xe7\xf7\x80\x9c\x8b\x95\x8a\xce\x1f\xf7\x1a\xfb\xb6\x06\x51\x1d\x7a\x7a\xf7\x73\x06\xf7\x09\xd2\xbd\xdd\xd8\x40" -+"\xbe\xfb\x05\x76\x7d\x8a\x88\x68\x1f\x6f\x04\x8d\x9d\x93\x8b\x97\x1b\xde\xbb\x65\x49\x52\x5f\x67\x45\x7a\x7c\x8d\x90\x74\x1f\x0e" -+"\xf7\x6c\xf8\x0a\xf7\x92\x15\xfb\x6b\xd7\x06\xe2\x60\x1d\x90\x82\x8c\x30\x08\xfb\x65\x07\x8a\x2f\x3e\x1d\x5a\x8d\x83\x99\xe3\x1a" -+"\xec\xf7\x6b\x2a\x47\x1d\xf7\x74\x06\xf7\x07\xd3\xbd\xdd\xd8\x40\xbe\xfb\x06\x78\x7b\x8a\x88\x69\x1f\xd5\x07\xe2\x93\x99\xbc\x8d" -+"\x1e\x9b\x9c\xfb\x76\x7a\x9d\x06\xbd\x88\x90\x82\x8c\x30\x08\xda\x25\x15\x8d\x9c\x92\x8b\x9a\x55\x0a\x0e\x84\xf7\x34\xf8\xad\x15" -+"\xf7\x17\x07\x47\x69\x80\x86\x41\x6d\x92\x7d\x18\x91\x9a\x92\x8c\x94\x1b\xa4\x95\x7e\x67\x8c\x1f\x85\x2a\x6e\xec\xfc\x17\x07\x33" -+"\x83\x7c\x5a\x8a\x1e\x7a\x7a\xf7\x74\x9c\x7d\x06\x5a\x8c\x83\x9a\xe3\x1a\xf7\x6c\x07\xba\xbd\xa9\x9b\xad\x1b\xa6\xa6\x78\x71\x93" -+"\x1f\x91\x7b\x8e\x6f\x6e\x1a\xfb\x35\x07\x33\x83\x7c\x5b\x8a\x1e\x80\x7a\xf7\x68\x9c\x81\x06\x5a\x8c\x84\x9a\xe3\x1a\xf7\x35\x07" -+"\xc5\x86\xaa\x7c\xa9\x1e\xad\x7b\x66\xa1\x64\x1b\x57\x67\x77\x4a\x4b\x1f\xf7\x1c\xf7\x2f\xa8\x07\x0e\x76\x72\x1d\xf7\x5f\xf8\x94" -+"\xc8\x0a\x84\x74\x1d\xf7\x88\xf7\xe3\x15\x78\x7d\x7c\x77\x85\x8c\x86\x8e\x81\x1f\x8d\x83\x8c\x86\x87\x1a\x79\x69\x7b\x63\x60\x6a" -+"\x9c\xa2\x90\x8c\x8e\x8d\x91\x1e\x8d\x91\x8c\x90\x92\x1a\x9f\x7e\x9a\x78\x76\x7c\x7b\x75\xbc\x0a\x0e\xf9\x58\x16\x9d\x07\x41\x7b" -+"\x9a\xd1\x1f\xf8\x5c\x7c\x0a\xf7\x63\x07\xdd\x92\xb7\x4d\x91\xfb\x18\x08\x9c\x06\x91\xf7\x17\xb8\xca\xdd\x84\x08\x0e\xa7\x8f\x16" -+"\xf7\x37\x06\xc5\x8a\xaa\x59\x8e\x2a\x08\x9d\x06\x8e\xee\xa9\xbb\xc5\x8c\x08\xf7\x37\x9c\x7b\x06\x5a\x8c\x83\x99\xe3\x1a\xf7\x65" -+"\x6b\x1d\x9b\x9c\xfb\x77\x7a\x9d\x06\xbe\x88\x90\x83\x8c\x2e\x08\xfb\xb6\x07\x89\x8c\x05\xfb\x70\xf7\xb5\x06\xe3\x38\x0a\xfb\x76" -+"\x51\x0a\x06\x0e\x4c\xbb\xf7\x9d\x15\xd4\xae\xbb\xb1\xc4\x1b\xdb\xc4\x3b\xfb\x09\x8d\x1f\xfb\xab\x06\xfb\x07\x8d\xca\x44\xee\x1b" -+"\xf7\x01\xdc\xee\xf7\x19\xf7\x18\x3c\xef\x22\x55\x58\x70\x5c\x68\x1f\x79\x72\x7f\x6e\x79\x53\x08\xf7\xbc\xfb\x19\x15\x49\x83\x6a" -+"\x65\x58\x1b\x59\x6c\xb1\xcd\x89\x1f\x0e\xf7\xda\xf8\x0f\xf8\x8d\x15\x5f\x7a\x70\x76\x62\x1b\x58\x6b\xb3\xca\xc6\xa6\xb1\xb4\xa2" -+"\x93\x83\x73\x8f\x1f\x75\x8f\x97\x80\xa0\x1b\x9f\x99\x97\x9c\xaf\x5f\xa8\x55\x3c\x53\x4f\x37\x3b\xc0\x4f\xd1\xc4\xb3\xb0\xd6\xa3" -+"\x1f\xfb\x6d\xfc\x85\x15\xb6\x06\xf8\x29\xf9\x2a\x05\x5f\x06\x64\xfc\x15\x15\x3a\x4d\x4c\x39\x3c\xc6\x4f\xda\xda\xc9\xcc\xdc\xdb" -+"\x52\xc5\x3c\x1f\x83\x70\x15\xbb\xac\x57\x3f\x4d\x6f\x63\x60\x5a\x6a\xbb\xd2\xd1\xa5\xb4\xb9\x1f\x0e\x6f\xf7\x84\xf7\x9a\x15\xc4" -+"\xc8\xab\xb1\xa2\xb0\x08\xb3\xcb\xa3\xd1\xc0\x1a\xbe\x71\xac\x62\x37\x4f\xfb\x14\xfb\xb4\x54\x1e\x6b\x65\x84\x84\x7b\x7c\x08\x7e" -+"\x7e\x86\x84\x84\x1a\x82\x93\x80\x91\x91\xa4\x9f\xa2\xa0\x1e\x85\x49\x8a\x75\x73\x1a\x4d\xa4\x6a\xba\xaa\xa6\x9e\xb0\xa3\x1e\x97" -+"\xa0\x93\x9f\x98\x1a\x95\x85\x91\x83\x82\x86\x86\x7d\x85\x1e\x64\x78\x7f\x7e\x7b\x1b\x80\x85\x94\x9b\xa4\x97\xe1\x9b\xe4\x1f\x94" -+"\xc5\x15\xf7\x7a\xb1\xa3\xd2\xb2\x1b\x99\x95\x7c\x77\x70\x80\x5d\x7c\x64\x1f\x75\x53\x6e\x5e\x5b\x56\x08\x0e\xf8\x53\xf7\x53\x21" -+"\x1d\xfb\x3c\x79\x06\xb1\x8a\xa6\x7b\xa1\x67\x08\xfc\x69\x07\x5e\x85\x7f\x76\x82\x88\x8c\x91\x81\x1e\x90\x82\x85\x8d\x82\x1b\x6f" -+"\x76\x78\x72\x6c\xa4\x77\xb3\xd2\xae\xbb\xed\x1f\xf8\x2c\x07\xf8\x26\xfc\xba\x05\x9e\xf8\xcf\x06\xa4\x96\x9c\x9c\x8f\x8f\x8a\x89" -+"\x8f\x1e\x81\xa7\x91\x89\x9a\x1b\xa9\x9e\x9d\xa7\xa9\x73\x9d\x63\x3f\x5c\x54\x33\x1f\xfb\xec\x07\xf7\x8c\xf7\xc3\x15\x3b\x4e\x40" -+"\x27\x27\xc5\x44\xdb\xde\xc7\xd5\xf0\xee\x50\xd3\x3a\x1f\x83\x6b\x15\xc1\xab\x53\x2e\x34\x72\x5d\x5a\x57\x6a\xc7\xe9\xdc\xa6\xba" -+"\xb9\x1f\x2a\xfc\x64\x15\xf7\x72\xc9\xfb\x72\x06\x0e\x9c\xf8\x9b\xf8\x59\x66\x0a\x9c\xf7\x70\xf8\x8b\x15\xa5\x06\x95\xb3\x05\x98" -+"\xbe\x8c\x91\xa8\x0a\x8c\x87\x99\x56\x1e\xf7\xc8\x31\x66\x0a\x4c\x26\x1d\xfb\x70\xf7\xe1\x23\x1d\xfb\x42\xc5\xf7\x82\x15\xf7\x42" -+"\xfb\xe8\x05\x7c\x93\x95\x83\x97\x1b\x93\x90\x8f\x92\x92\x89\x93\x88\x93\x1f\xfb\x17\xf7\xdd\xf7\x17\xf7\xdd\x05\x8e\x93\x8d\x93" -+"\x92\x1a\x93\x86\x8f\x83\x7f\x83\x85\x79\x81\x1e\x0e\xfb\x42\xf7\xa7\xf7\x82\x15\xfb\x42\xf7\xe8\x05\x9c\x82\x82\x92\x7f\x1b\x83" -+"\x86\x87\x83\x85\x8d\x83\x8e\x82\x1f\xf7\x17\xfb\xdd\xfb\x17\xfb\xdd\x05\x88\x84\x89\x83\x84\x1a\x83\x90\x87\x93\x97\x93\x91\x9c" -+"\x95\x1e\x0e\x4c\x7c\x1d\x8e\x6a\x91\x7c\x9b\x7c\x08\x65\x6d\x7b\x71\x6a\x1a\x60\xc8\x1d\x74\x7c\x9c\xa5\xa7\x9b\xa1\xa3\x90\x1f" -+"\xb4\x92\x96\x91\xae\xb1\x08\xfb\x2f\xde\x15\x6d\x86\x80\x76\x7f\x1e\x7d\x72\x70\x83\x76\x1b\x68\x6f\xad\xb6\x1f\x8f\x07\x8c\xc7" -+"\xb7\xb1\xf7\x09\xb4\x08\x0e\xf8\x81\xf9\x3a\xf7\x6c\xa6\x0a\x6c\x76\x4b\x5d\x1f\xc1\x6b\x05\xb2\xa5\x9c\x97\xaa\x1b\xa0\xa0\x86" -+"\x82\x9c\x1f\x5c\xe4\x9d\x84\xb8\x1b\xb9\xaa\xa0\xcc\xb9\x1f\x55\xf7\x61\xa6\x0a\x6d\x76\x4a\x5c\x1f\xc1\x6c\x05\xb2\xa5\x9c\x97" -+"\xaa\x1b\xa0\xa0\x86\x82\x9c\x1f\x5b\xe4\x9d\x85\xb8\x1b\xb9\xad\xa3\xc8\xb6\x1f\x0e\x4c\x6f\x1d\x4a\xf8\x5a\x87\x0a\x57\xcf\x3a" -+"\x1d\xf9\x03\xf8\x37\x15\xfc\xa0\x06\xf7\x66\xdc\x74\xc0\xfb\xb2\xfb\x14\x05\x3e\x07\xf7\xb2\xfb\x13\xa2\xbf\xfb\x66\xdd\x05\xf8" -+"\xa0\x06\xfb\x66\x39\xa2\x57\xf7\xb2\xf7\x13\x05\xd8\x07\xfb\xb2\xf7\x14\x74\x56\x05\x0e\xf8\x1b\xf9\x66\x15\x4b\xfd\x03\x06\x39" -+"\xf7\x66\x57\x74\xf7\x13\xfb\xb2\x05\xd8\x06\xf7\x14\xf7\xb2\x56\xa2\x3a\xfb\x66\x05\x0e\xf9\x66\xf7\xf9\x15\xcb\xfd\x03\x07\xf7" -+"\x66\xdc\x74\xc0\xfb\xb2\xfb\x13\x05\x3e\x07\xf7\xb2\xfb\x14\xa2\xbf\xfb\x66\xdd\x05\x0e\xf7\xf9\x04\xf9\x03\x06\xfb\x66\x39\xa2" -+"\x57\xf7\xb2\xf7\x14\x05\xd8\x07\xfb\xb2\xf7\x13\x74\x56\xf7\x66\x3a\x05\xfd\x03\x06\x0e\xf8\x1b\x16\xf9\x03\x07\xdc\xfb\x66\xc0" -+"\xa3\xfb\x14\xf7\xb1\x05\x3e\x06\xfb\x13\xfb\xb1\xbf\x73\xdd\xf7\x66\x05\xfd\x03\x07\x0e\xf7\xde\xf9\x03\xa4\x1d\xa2\xc2\x0a\x74" -+"\x05\x0e\xf7\x5b\x2c\x15\x51\xf7\xdb\xc5\x07\xfb\x58\xf9\x42\xa4\x1d\xa3\xc2\x0a\x73\x05\x0e\x8d\xf7\x31\xbd\x15\x60\xb3\xa7\x7d" -+"\xb7\x1b\xf7\x00\xe1\xf3\xf7\x16\xe8\x62\xd3\x40\xb1\x1f\xc5\xb3\xa4\xb3\xbc\x1a\xcd\x55\xb7\x3a\x40\x4e\x6c\x51\x63\x1e\x6b\x5c" -+"\x82\x62\x21\x1a\xfc\xc9\xda\x07\xf8\xdb\x04\xd9\x91\xba\x98\xaa\x1e\xba\x9f\xb0\xa6\xb5\x1b\xbd\xaf\x65\x57\x64\x81\x75\x66\x60" -+"\x1f\x8f\x7a\x81\x8d\x7e\x1b\x5f\x6c\x7b\x73\x7d\x9a\x7f\x9d\xa1\xa2\x93\x9f\xb0\x1f\xbc\x54\x9e\x55\x3b\x1a\xfb\x03\x56\x3c\x41" -+"\x66\x73\x99\xb8\x66\x1e\x0e\x4c\x35\x1d\xfb\x5f\xf7\xfc\x5b\x0a\x99\x94\x97\x9b\x1a\x9f\x7e\x97\x75\xdd\x1d\x4c\x35\x1d\x7d\xf8" -+"\xa3\x20\x0a\x4c\x35\x1d\x74\xf7\xfc\x20\x1d\x4c\x35\x1d\xfb\x3e\xf8\x70\x43\x1d\x0e\x4c\xf7\x97\xf7\x28\x15\xf7\x4b\xf7\xc3\x05" -+"\x31\x06\xfb\x13\xfb\x73\x6f\xd3\x05\xf0\x64\x53\xc4\x4f\x1b\x6d\x76\x78\x71\x72\xa2\x77\xa7\x1f\xc9\x8f\xa1\x79\xac\x3f\xb2\x2d" -+"\x18\xfb\x6c\xfb\xff\x05\xe6\x06\xf7\x31\xf7\xad\xba\xfb\x0f\x05\x24\xb3\xae\x4d\x9e\x1b\x8e\x8f\x8c\x8e\x90\x1f\xda\xbb\x85\x9a" -+"\x05\x86\x7e\x83\x89\x81\x1b\x72\x75\x98\xa5\x79\x1f\x76\xa8\x82\x9e\x6c\xdc\x08\x0e\xf8\x81\xf8\x8b\xf9\x4b\x15\xfb\x5c\xfb\x36" -+"\xfb\x35\xfb\x5c\xfb\x58\xf7\x36\xfb\x36\xf7\x57\xf7\x59\xf7\x37\xf7\x37\xf7\x57\xf7\x58\xfb\x36\xf7\x39\xfb\x55\x1f\x87\xfb\xd0" -+"\x15\xfb\x52\xf7\x50\x05\xb8\xc2\xcc\xa2\xd1\x1b\xd0\xcb\x75\x5f\xc4\x1f\xb3\x63\x15\xbb\x51\xa2\x4d\x42\x1a\x43\x74\x4b\x5d\x53" -+"\x1e\xfb\x54\xf7\x57\x05\xf7\x2c\xfb\x7f\x15\x5f\x54\x48\x73\x45\x1b\x45\x4b\xa2\xba\x50\x1f\xf7\x55\xf7\x55\x05\xfb\x7d\xfb\x2d" -+"\x15\x5f\xc1\x74\xcb\xd1\x1a\xd3\xa2\xcb\xba\xc4\x1e\xf7\x52\xfb\x50\x05\x0e\xf8\x81\xf9\x83\x16\x9f\x07\x24\x9f\x6e\x99\x5d\xbb" -+"\x5c\xbf\x7a\xc0\x8a\xeb\xa0\x66\x93\x7e\x97\x7d\x08\x5d\xb2\xc9\x6c\xc0\x1b\xe6\xd2\xd5\xe9\xe5\x4a\xd3\x3a\x6e\x84\x89\x6e\x50" -+"\x1f\xa7\xb4\x96\xaa\xb0\x1a\xe3\x42\xd2\x30\x2e\x44\x45\x30\x68\x92\x79\xad\x55\x1e\xa3\x5a\x77\x91\x6c\x1b\x40\x49\x3f\x34\x2e" -+"\xd4\x42\xe7\xdc\xcf\xbd\xe6\xb8\x1f\x8c\x7b\x8b\x80\x86\x1a\x43\x65\x3a\x55\x5f\x1e\x6b\x72\x74\x82\x2c\x77\x08\x77\x07\x0e\xf0" -+"\xf8\x7e\x67\x0a\xf7\x28\xf0\x15\xce\xac\xb7\xc8\xc7\x1a\xbd\x69\xb2\x5d\x69\x73\x74\x69\x6b\xa1\x78\xb0\x40\x0a\x70\x67\x55\x66" -+"\x1f\x0e\x84\xf7\xe8\xf8\xa3\x15\xfb\x02\xa1\x1d\x9b\x07\xc5\x0a\xf8\x31\xd7\xad\x3f\xf7\x0c\xbf\x1d\x7f\xfb\x0d\x69\x07\xf7\x0d" -+"\xfc\x3d\x97\x0a\x0e\x67\xf8\x23\xf9\x0a\x15\xa9\x28\x3e\x9a\x50\x1b\x4c\x61\x6f\x61\x6f\x9a\x76\xb7\x6a\x1f\xe3\x48\x05\xfb\x05" -+"\x77\x3e\x29\xfb\x0d\x1a\xfb\x18\xe6\x2b\xf7\x10\xf7\x12\xee\xf7\x00\xf7\x20\xd9\x71\xc0\x45\xc9\x1e\x6b\xa7\x7f\x95\x3e\xc0\x43" -+"\xbe\x18\x6b\xa1\x7e\x99\x99\x1a\x99\x9a\x93\xa5\xc4\xe4\x6f\x5d\xe5\x1e\xfb\x45\xfb\x24\x15\xde\xc5\x2c\xfb\x1d\xfb\x01\x62\x4c" -+"\x44\x66\x67\x9e\xaa\x76\x1f\x6d\xb7\x79\xd1\xd1\x1a\xf6\xb5\xca\xd2\x1e\x0e\xf8\x81\xf7\x8e\xf7\xf1\x15\xf0\xfb\x11\xf7\x10\xfb" -+"\x45\xb1\x40\xc7\xf7\x00\xf7\x06\xf7\x35\xf3\xf7\x10\x3a\xe8\xfb\x36\xf7\x78\x68\xd2\x54\x24\x40\x21\xfb\x26\xfb\x4b\x08\x0e\xfb" -+"\x42\xf7\x2e\xf8\xe5\x83\x1d\x4c\x27\x1d\xac\xf7\xf7\x15\x40\x6f\x72\x75\x51\x1b\x4b\x69\xa9\xce\x7d\x1f\x6e\x06\x8c\x58\x92\x73" -+"\x9e\x6f\x08\x68\xa4\xb2\x78\xbb\x1b\xdf\xb9\x49\x0a\x4c\x27\x1d\xd6\xf8\x01\x20\x0a\x4c\x27\x1d\x3a\xf7\xce\x43\x1d\x0e\xf8\x81" -+"\xf9\x93\xf7\x6c\x15\xc8\xfc\x62\x07\x91\xf6\xc3\xbd\xf7\x01\x89\x08\xf7\xb7\xc9\xfb\xac\x65\x1d\x42\x2c\x1a\xfb\x08\xb8\x38\xc6" -+"\x0a\xc9\xfb\xb7\x06\xfb\x01\x89\x53\xbd\x85\xf5\x08\x0e\x4c\x27\x1d\xfb\x80\xf7\xb8\x23\x1d\x84\xf7\x38\xf7\xf0\x15\xb8\xbb\xa1" -+"\x97\xac\x1b\xbc\xa3\x6c\x49\x1f\xfb\xf5\xd4\x1d\x80\x92\xa0\x7b\x1f\xa2\x79\x7d\x94\x7b\x1b\x74\x79\x7a\x75\x6b\xb2\x74\xc2\xb7" -+"\xb3\x99\xa4\xa6\x1f\xaf\xab\xa1\xcf\xda\x1a\xf7\xca\x94\x1d\x7c\xf7\x68\x9a\x07\x59\x8e\x7b\x98\xaf\x1a\x0e\x4c\xf8\x2c\x8d\x1d" -+"\xf7\x08\xa1\x9a\x8d\x92\xa1\x1e\x65\x6b\x7d\x73\x6a\x1a\x61\xdc\x1d\x6b\x79\x82\x76\x1b\x75\x7b\x9b\xa1\xa6\x98\xa1\xb5\xb7\x1f" -+"\xc2\xc6\xa2\xab\x9a\xb7\x08\x91\x0a\x0e\x34\x6b\x0a\x0e\x34\x6b\x0a\xfb\x1f\xf7\x19\x15\xa6\x06\x94\xb3\x05\x98\xbe\x8c\x91\x9e" -+"\x1a\xab\x7e\x9d\x73\x74\xe6\x1d\xf8\x81\xf7\x8c\xf7\xb8\x15\x4b\xf8\x8c\xcb\x07\xfc\x8c\xfb\x54\x15\x4b\xf8\x8c\xcb\x07\xfc\x8c" -+"\xf8\x14\x15\x4b\xf8\x8c\xcb\x07\x0e\xe8\xf8\xa4\xf7\x8e\x15\x89\xd4\x86\xae\x7d\xaf\x08\xdb\x6a\x3e\xbb\x2b\x1b\xfb\x23\x31\x23" -+"\xfb\x38\xfb\x36\xe2\x29\xf7\x25\xf7\x01\xd5\xbe\xec\xa9\x1f\x5f\x06\x46\x6c\x52\x68\x3b\x1b\x5e\x66\x97\xa2\x72\x1f\x78\x9b\x82" -+"\x9c\x7f\xb2\x8c\xf4\x18\xf7\xc0\xae\x15\xfb\xbe\xe8\x06\xd5\xad\xb1\xa5\xd3\x1b\xc4\xb2\x79\x62\xae\x1f\x97\x7d\x8f\x84\x92\x77" -+"\x08\x0e\x9b\xf7\x49\xf8\x67\x15\x46\x69\x81\x86\x41\x6c\x92\x7d\x18\x95\x8f\x05\x8d\x92\x91\x8c\x93\x1b\xa8\x92\x7e\x52\x1f\xfb" -+"\xd4\xda\xf7\xeb\x07\xb9\xc0\xa4\x98\xaf\x1b\xc2\x9a\x72\x30\x1f\xfc\x65\xda\xf8\x62\x07\xcd\x87\xa6\x7d\xa9\x1e\xae\x7c\x66\xa1" -+"\x62\x1b\x5a\x5e\x72\x50\x51\x1f\x0e\x9b\xf7\x45\xf8\x67\x15\x46\x69\x81\x86\x41\x6c\x92\x7d\x18\x95\x8f\x05\x8d\x92\x91\x8c\x93" -+"\x1b\xa8\x92\x7e\x52\x1f\xfb\xd4\xda\xf7\xeb\x07\xb9\xc0\xa4\x98\xaf\x1b\xc2\x9a\x72\x30\x1f\xfc\x65\xda\xf8\x62\x07\xcd\x87\xa6" -+"\x7d\xa9\x1e\xae\x7c\x66\xa1\x62\x1b\x5a\x5e\x72\x50\x51\x1f\xd2\xf7\x10\x5f\x0a\xbe\x8c\x91\xa8\x0a\x8b\x88\x99\x55\x1e\x0e\x98" -+"\xf7\x3c\xf7\x43\x15\xb4\xf7\xef\x05\x8e\xa3\x8e\xad\x99\x1a\xc0\x78\xa7\x68\x68\x78\x6f\x56\x7e\x8e\x60\x8d\x7b\x1e\xb4\xfb\xef" -+"\x05\x93\x43\x15\x6b\x71\x71\x6b\x6b\xa5\x71\xab\xaa\xa5\xa5\xab\xab\x71\xa5\x6c\x1f\xf7\x63\xd3\x15\xb4\xf7\xef\x05\x8e\xa3\x8e" -+"\xad\x99\x1a\xc0\x78\xa7\x68\x68\x78\x6f\x56\x7e\x8e\x60\x8d\x7b\x1e\xb4\xfb\xef\x05\x93\x43\x15\x6b\x71\x71\x6b\x6b\xa5\x71\xab" -+"\xaa\xa5\xa5\xab\xab\x71\xa5\x6c\x1f\x0e\x38\xbd\x16\xf7\xd9\xf8\xd5\xfb\xd9\x37\xf7\x85\xfb\x36\xfb\x85\x37\xf7\x85\xfb\x37\xfb" -+"\x85\x06\x0e\xf8\x13\xf7\xac\x15\xf7\x02\x97\xdd\xe6\xf7\x01\x1a\xf7\x0b\x2b\xea\xfb\x0a\xfb\x0a\x2c\x2b\xfb\x0a\xfb\x01\xdd\x30" -+"\xf7\x01\x7f\x1e\x32\xfb\x29\x64\xf7\x29\xfb\x2c\xb7\xf7\x2c\xf7\x28\xb2\xfb\x28\x07\x72\xf8\x6a\x15\xeb\xd8\x40\x2e\x2d\x3f\x3f" -+"\x2d\x2e\x3f\xd7\xe8\xe7\xd7\xd8\xe5\x1f\x0e\x84\xf7\xb2\xa9\x15\xfb\x02\x90\x4a\xf7\x07\xf7\x50\x1a\xf7\x4d\xd1\xf7\x0e\xf4\xb3" -+"\xb2\x74\x63\xa7\x1e\xa3\x69\x96\x6e\x9a\x47\x08\xa5\x06\x84\xf7\x75\x05\x72\x06\x77\x87\x80\x7e\x7f\x1b\x84\x82\x8e\x90\x81\x1f" -+"\x9c\x6b\x68\x93\x67\x1b\x3f\x3f\x65\x4f\x60\x1f\x5d\x4b\x72\x31\x28\x1a\xfb\x5f\xf1\xfb\x1c\xf7\x2c\xe3\xd6\xb9\xdc\xb9\x1e\x74" -+"\x9b\x6d\x63\x6d\x70\x66\x7a\x19\xf7\x3a\x07\x9d\xb6\x9a\x9d\xa1\x91\x08\x78\x9a\x95\x85\x9a\x1b\x9f\x96\x96\xa1\xa2\x7c\x98\x71" -+"\x6a\x78\x7b\x56\x6a\x1f\xce\x07\x80\x8e\x25\x64\x05\x79\x07\x8e\x99\x8f\x8c\x8f\x1b\x9a\x8f\x81\x6b\x1f\x0e\x4a\x7d\xf8\x19\x15" -+"\x91\x95\x90\x8d\x93\x1b\xa5\xa8\x67\x3f\xad\x1f\xb8\x28\xab\x2f\x9a\x45\x08\x74\x4b\x84\x6e\x68\x1a\x5e\xa2\x67\xa7\xac\xa1\xb4" -+"\xc8\xa8\x87\xa8\x82\xb5\x1e\xee\xf7\x5a\x8e\x92\x94\x9c\x99\xa3\x19\x96\x9f\x94\x9d\x93\x9c\x08\x99\xab\x93\xa8\xa4\x1a\xad\x75" -+"\xa4\x6c\x70\x77\x78\x72\x84\x8d\x80\x8f\x82\x1e\x9a\x63\x8c\x87\x7b\x1a\x6c\x87\x80\x66\x3f\x1e\x47\xfb\x22\x76\xf1\x55\xf7\x2f" -+"\x66\xcd\x19\xae\x76\x6b\xb0\x81\x1b\x8a\x87\x89\x88\x87\x1f\x3c\x4f\x05\x0e\x84\x3a\x0a\xf7\x66\xf7\xdd\x37\x1d\x84\x3a\x0a\xf7" -+"\x91\xf7\x40\x20\x1d\x84\x3a\x0a\xf7\x21\xf8\x25\x15\x48\x6a\x5e\x4e\x4f\x1a\x59\xae\x64\xb8\xad\xa3\xa2\xad\xaa\x75\x9f\x67\x84" -+"\x85\x8a\x8a\x84\x1e\x89\x85\x8b\x8b\x89\x1b\x84\x85\x91\x93\xac\xa7\xaf\xc1\xb0\x1f\x0e\x84\xf7\x8b\xf9\x10\x35\x0a\xf7\x73\xfb" -+"\x8c\x71\x1d\xfb\x7f\x59\x15\xc6\xa7\xae\xb9\xaa\xa5\x7a\x6d\x9b\x1e\x9e\x68\x96\x5e\x63\x1a\x53\x6f\x68\x5d\x4d\x62\xcc\xeb\x1e" -+"\x86\xfb\xe5\x9b\x0a\x0e\xf8\x81\xf7\xba\x16\xf8\x30\xcd\xfc\x30\x06\xa5\x04\xf8\x30\xf7\x81\x05\x91\x07\xfc\x30\xf7\x8c\x05\x2e" -+"\x07\xf7\xc6\xfb\x4c\xfb\xc6\xfb\x42\x05\x0e\x84\xd4\xf8\x92\x15\xfc\x2c\x07\x89\x43\x86\x83\x69\x1d\xd2\x08\xf7\x85\x07\xb9\xb5" -+"\xa9\x9c\xb3\x1b\xbc\xa4\x67\x45\x1f\xfb\x5a\x07\x89\x44\x82\x80\x52\x86\x08\x7c\xf7\x68\x9a\x07\x55\x94\x86\x92\x8a\xd2\x08\xf7" -+"\x5b\x07\xf4\x62\xc1\x39\x4f\x62\x73\x4f\x5d\x1e\xf7\x1a\xf7\x1f\xb2\xfb\x1f\xf7\x17\x07\x86\x8e\x68\x7f\x72\x82\x54\x7c\x19\x70" -+"\x83\x05\x7b\x07\x8c\x8e\x8f\x8b\x8f\x1b\xb7\x93\x83\x60\x1f\x73\x56\x64\x07\x0e\x84\x77\x1d\x36\xf9\x6a\x20\x1d\xf8\x81\xf8\x87" -+"\x6f\x15\x9f\xe5\xc7\xf2\xf7\x08\xf7\x25\x08\xeb\xf7\x0e\xab\xce\xdb\x1a\xdd\x45\xcf\x37\x5b\x5f\x76\x65\x6a\x1e\x75\x72\x81\x75" -+"\x7e\x5d\x7f\xaf\x83\x9d\x7f\x9d\x08\xbd\x6a\x58\xa8\x54\x1b\x36\x49\x47\x32\x48\xa0\x5e\xdf\xfb\x06\x1f\xf7\x2b\xfb\x5e\xb3\x47" -+"\xa5\x24\x08\x0e\xf8\x81\xf7\x2d\x16\xf9\x50\xf8\x25\x06\xfb\xf3\xf7\xdc\xfb\xf1\xfb\xdc\x05\xc8\xfb\xf2\x15\xf7\xdc\x07\xf7\xb4" -+"\xf7\xa2\xf7\xb6\xfb\xa2\x05\xfb\xdc\x07\x0e\xfb\x79\x27\x0a\xf7\x7a\xf9\x1d\x15\x3f\x6f\x72\x39\x1d\xb8\xf7\x58\xf8\x6a\x15\x47" -+"\x69\x80\xad\x0a\x92\x90\x8c\x93\x1b\xa8\x92\x7e\x53\x1f\xfb\x5e\x07\x8a\x2e\x86\x82\xcb\x0a\x5a\x8d\x83\x99\xe4\x1a\x5e\xf8\xb1" -+"\x15\x4d\x1d\xa8\xa7\xa2\xa2\xa8\xa7\x74\xa2\x6f\x1f\xf7\xc2\xfb\x55\x15\x46\x69\x81\x86\x41\x6d\x92\x7c\x18\x96\x8f\x05\x8d\x91" -+"\x90\x8c\x94\x1b\xa8\x92\x7e\x53\x1f\xfb\xd8\x07\x33\xea\x1d\x74\x7d\x93\x7b\x1b\x74\x79\x79\x76\x6e\xad\x75\xb9\xc8\xc0\xa9\xbd" -+"\xa6\x1f\x9c\xad\x8f\xa4\xe2\x1a\x5d\xf8\xe8\x35\x0a\x0e\xfb\x79\x27\x0a\x6b\xf8\xde\x15\x55\xf7\xc8\xc1\x07\x0e\xf8\x81\xf8\x88" -+"\xf7\xa4\x15\x60\xb2\x87\x8e\x78\x99\x08\xa5\x6a\x60\x9b\x6a\x1b\x45\x51\x51\x45\x45\xc5\x51\xd1\xad\xb4\x9b\xa5\xad\x1f\x9e\x99" -+"\x8f\x8e\xb6\xb2\xb8\x64\x8f\x87\x9c\x7e\x08\x71\xae\xb4\x7b\xad\x1b\xd1\xc5\xc5\xd1\xd1\x51\xc5\x45\x6a\x60\x7b\x71\x69\x1f\x7a" -+"\x7e\x86\x87\x5f\x64\x08\xac\x6d\x15\xbe\xbe\xbf\xa9\xb3\x1b\xb7\xb0\x66\x5f\x5e\x66\x66\x5f\x64\x58\xa8\xc0\x56\x1f\x4a\x16\x57" -+"\x57\x57\x6e\x64\x1b\x5f\x66\xb0\xb7\xb7\xb0\xb0\xb8\xb2\xbe\x6e\x57\xbf\x1f\x0e\xf8\x81\xf8\xb3\xf8\xd4\x15\xd5\x8a\xb1\x88\xc5" -+"\x1e\x89\xa8\x8a\xa9\x9a\x1a\xae\x96\xa2\x9d\x90\x91\x88\x88\x8d\x1e\x6f\x9c\x92\x86\x9d\x1b\x9e\x9a\x99\x9e\xa5\x73\x9d\x68\x69" -+"\x6d\x7a\x6e\x7b\x1f\x72\x60\x7d\xfb\x00\xfb\x22\x1a\xfb\xed\x07\x44\x8c\x61\x8e\x53\x1e\x8d\x6d\x8c\x71\x78\x1a\x68\x7e\x74\x79" -+"\x83\x85\x90\x98\x84\x1e\x9c\x82\x83\x90\x7d\x1b\x77\x7c\x7c\x79\x71\xa3\x79\xae\xad\xa8\x9c\xa8\x9c\x1f\xa4\xb6\x99\xf6\xf7\x23" -+"\x1a\x0e\xf7\xfc\xf9\x80\x15\xfd\x83\x07\x59\x07\x48\x8b\x8b\x89\x78\x1e\x77\x89\x84\x82\x7e\x1b\x82\x85\x90\x99\x82\x1f\xa0\x7e" -+"\x7e\x93\x76\x1b\x72\x78\x78\x73\x6b\xa6\x74\xb1\xe1\xc6\xe2\xf7\x14\x1f\xf9\x83\x07\x0e\xf8\x43\xfb\x6e\x15\xf9\x82\x07\xbe\x07" -+"\xcd\x8b\x8b\x8d\x9e\x1e\xa0\x8d\x92\x94\x98\x1b\x94\x91\x86\x7e\x94\x1f\x75\x98\x98\x83\xa0\x1b\xa4\x9e\x9e\xa3\xab\x70\xa2\x65" -+"\x35\x50\x33\xfb\x14\x1f\xfd\x82\x07\x0e\xf8\x81\xf9\x64\x16\xf7\x8a\x07\xf7\x1d\x86\xad\x73\xb4\x1e\xca\x65\x44\xb1\x39\x1b\x3f" -+"\x4b\x6c\x53\x62\x1f\x6a\x5e\x85\x6b\xfb\x29\x1a\xfb\x8a\xc7\xf7\x8d\x07\xf0\x91\xb6\x9c\xaa\x1e\xb9\xa4\xc2\xa9\xc4\x1b\xc0\xbf" -+"\x71\x61\xa7\x1f\xa0\x6b\x91\x66\xfb\x06\x1a\xfb\x8d\x07\x0e\xf8\x81\xf8\x89\xf9\x6e\x15\xfb\x5b\xfb\x3a\xfb\x38\xfb\x57\xfb\x63" -+"\xf7\x35\xfb\x38\xf7\x5d\xf7\x61\xf7\x37\xf7\x36\xf7\x5f\xf7\x5e\xfb\x37\xf7\x37\xfb\x5e\x1f\xfb\x01\xfb\x63\x15\xa9\xa4\x72\x6d" -+"\x6d\x72\x72\x6d\x6e\x71\xa4\xa8\xaa\xa4\xa4\xa9\x1f\xfb\x14\xfb\x05\x15\x96\x59\x96\x75\xa5\x6d\x08\x54\xbb\xc7\x71\xdc\x1b\xdc" -+"\xc7\xa5\xc2\xbb\x1f\xa5\xa9\x96\xa1\x96\xbd\x84\x36\x80\x62\x6d\x5e\x08\x4c\x61\x4b\x6b\x38\x1b\x3e\x4f\xa6\xc1\x61\x1f\x67\xba" -+"\x7c\xb8\x84\xe8\x08\xf7\xee\xf7\x05\x15\xa9\xa4\x72\x6d\x6d\x72\x72\x6d\x6e\x71\xa4\xa8\xaa\xa4\xa4\xa9\x1f\x0e\xfb\x79\xf7\x47" -+"\xf8\x5d\x15\x87\x8e\xfb\x2f\x54\x05\x7c\x07\x93\x8c\x05\x8d\x97\x97\x8c\x95\x1b\xa3\x94\x7b\x5f\x1f\xfb\x7c\x07\x89\x41\x82\x81" -+"\x47\x88\x08\x7c\xf7\x17\xab\x1d\xb0\xac\xac\xb1\x1f\xac\x9a\x06\x49\x90\x84\x94\x8a\xd4\x08\x58\xf8\xd9\x5b\x1d\xfb\x82\x86\x1d" -+"\x0e\xfb\x82\x73\x0a\xfb\x06\xf8\x8a\x35\x0a\xf7\x2c\x16\x4d\x1d\xa7\xa8\xa2\xa2\xa8\xa6\x74\xa3\x6f\x1f\x0e\xfb\x82\x73\x0a\x58" -+"\xf8\x5f\x83\x1d\xfb\x82\x86\x1d\x56\xf8\x05\x5f\x0a\xbf\x8c\x90\x9e\x1a\xac\x7e\x9c\x73\x72\x7f\x7a\x6a\x7c\x8d\x7e\x90\x76\x1e" -+"\x92\x70\x05\x0e\xfb\x79\x9c\x16\x6c\x0a\xf7\x92\xf9\x03\x4b\x0a\xfb\x79\x70\x0a\xe0\xf8\x8f\x20\x1d\x88\xf7\x49\xf8\x67\x15\x46" -+"\x69\x80\x86\x42\x6d\x92\x7d\x18\x96\x8f\x05\x8d\x91\x91\x8c\x93\x1b\xa8\x92\x7e\x53\x1f\xfb\xd6\xda\xf7\x81\x07\xf7\x3c\xfb\x7f" -+"\x05\x83\x91\x90\x87\x90\x1b\x8e\x90\x8d\x8e\x91\x1f\xec\xbd\x85\x9a\x05\x86\x7e\x84\x89\x83\x1b\x7d\x7e\x92\x98\x7e\x1f\x7b\x9a" -+"\x73\xa6\x82\x98\xfb\x01\xf7\x29\x18\xde\xd3\x9d\x99\xad\x1b\x91\x91\x8b\x8a\x92\x1f\x89\x95\x93\x8a\x8f\x1b\xa2\xa0\xa3\xa5\xa4" -+"\x77\x9d\x70\x5b\x5a\x60\xfb\x2d\xfb\x0e\x1f\x85\x83\x05\x0e\x84\x62\x0a\xf7\x5d\xfb\xbc\x8d\x0a\x84\x69\x6f\x67\x55\x66\x1f\x0e" -+"\x84\xf7\x49\xf7\x7a\x15\xf7\x08\xfb\x39\x05\x95\x7e\x92\x7d\x85\x1a\x81\x84\x86\x7e\x1e\x81\x7a\xf7\x65\x9c\x06\x58\x74\x9c\xdd" -+"\x52\x1f\xfb\x09\xf7\x35\xe5\xec\xb8\xbc\x9f\x97\xbb\x8f\x19\x98\x8c\x05\x9c\xfb\x45\x7a\x90\x07\x9c\x89\x93\x86\x80\x1a\x83\x85" -+"\x80\x81\x80\x1e\xfb\x09\xfb\x16\x05\xf7\x64\x07\x46\x69\x80\x86\x42\x6d\x91\x7d\x18\x96\x8e\x05\x8d\x92\x93\x8d\x90\x1b\x97\x96" -+"\x87\x83\x90\x1f\x93\x81\x8c\x83\x63\x1a\xfb\x5e\x07\x32\x83\x7d\x5a\x89\x1e\x7d\x7a\xf7\x70\x9c\x7e\x06\x59\x8c\x83\x9a\x8c\xe4" -+"\x08\x0e\xfb\x79\x3d\x0a\xe0\xf9\x54\x22\x1d\x75\xf8\x5a\xcb\x15\x84\x7d\x84\x89\x82\x1b\x6b\x75\xaa\xdf\x70\x1f\x2d\xf7\xb3\x71" -+"\xdd\x78\xb5\x72\xa8\x19\xad\x70\x6a\x9d\x6c\x1b\x6e\x77\x78\x6f\x6f\xa0\x75\xa5\x90\x93\x8c\x8c\x92\x1f\x8d\x93\x92\x8c\x8f\x1b" -+"\x9f\x9f\x7e\x75\x97\x1f\x96\x79\x95\x70\x9a\x56\xfb\x52\xfc\x49\x18\xe0\x06\xf7\x1f\xf7\xe2\xd2\xfb\x80\x05\x44\xa0\x9e\x65\x98" -+"\x1b\x8d\x8e\x8c\x8c\x8d\x1f\xde\xc6\x05\x0e\xfb\x15\x3d\x0a\xf7\x7b\xf8\x36\x15\xcf\xac\xb7\xc8\xc7\x1a\xbe\x68\xb1\x4b\x1d\xb1" -+"\x40\x0a\x6f\x67\x55\x66\x1f\x0e\xfb\x79\x3d\x0a\xd7\xfb\xbc\x25\x0a\xfb\x37\xa2\x16\xf7\x80\x9a\x06\x4c\x8e\x80\x95\x8a\xc3\x08" -+"\xf8\xe9\x07\x87\x8d\x58\x7b\x66\x80\x44\x7a\x43\x0a\xfc\x71\x68\x1d\xf7\x95\xf8\x0b\x2b\x0a\xf8\x81\xf9\x56\x16\xcd\xfc\x30\x49" -+"\x07\xf8\x30\xf8\xdb\x15\xfc\x30\xfb\x81\x05\x85\x07\xf8\x30\xfb\x8c\x05\xe8\x07\xfb\xc6\xf7\x4c\xf7\xc6\xf7\x42\x05\x0e\x34\x0a" -+"\xf7\x1e\x8f\x1d\x81\x44\x79\x43\x0a\x0e\xfb\x79\xf7\x90\x9a\x15\x39\x8f\x80\x95\xd6\x1a\xf8\x62\x07\xc5\x9e\xaa\xb0\xa1\x98\x81" -+"\x6e\x9d\x1e\x71\x9b\x97\x81\x9d\x1b\xa2\x9d\x9d\xa2\xaf\x5f\xa5\x4f\x4d\x56\x70\x5e\x71\x1f\x71\x5e\x83\x67\x8a\x3b\x08\x5e\x6b" -+"\xb8\x54\x0a\xf7\x98\x07\x0e\xf8\xc1\xf8\xe5\x15\x43\xbc\x9c\x79\x9c\x1b\x95\x93\x92\x95\x91\x8a\x8f\x84\x99\x1f\x74\xb6\x7a\xcb" -+"\xb7\x1a\xa9\x89\x91\x7e\x86\x84\x88\x83\x7e\x1e\x78\x70\x3d\x75\x60\x1b\x71\x8a\x83\x86\x7e\x1a\x75\xad\x81\xe2\x85\x1e\x25\xfb" -+"\x4d\x05\x97\x6c\x6e\x91\x6b\x1b\xfb\x1a\xfb\x00\xfb\x00\xfb\x1a\xfb\x19\xf7\x00\xfb\x00\xf7\x1a\xf7\x19\xf7\x00\xf7\x00\xf7\x1a" -+"\xd8\x66\xd3\x4c\xb9\x1f\xfb\x22\x7b\x15\xee\xdc\x3b\x28\x28\x3b\x3a\x28\x27\x3b\xdb\xee\xee\xdb\xdc\xee\x1f\x0e\xfb\xb4\xea\x9d" -+"\x0a\x0e\x84\xf7\x81\xf7\x43\x15\x92\x7c\x76\x8f\x7b\x1b\x4d\x54\x56\x50\x68\xa5\x75\xb4\xba\xb7\xa2\xb1\xa6\x1f\x9f\xa6\x91\xa1" -+"\x8d\xbb\x08\xf7\xb9\x07\xc3\x83\xb9\x40\x37\x1a\x59\x83\x65\x73\x54\x1e\xa6\x06\xaf\xb6\x9e\xc2\xc5\x1a\xd7\x6e\xd1\x51\xd2\x1e" -+"\x58\xc7\x8a\x8d\x86\x91\x83\x95\x19\xc5\x5f\x07\x0e\xf8\x13\xf8\x57\x15\x9e\x72\xa1\x78\xa0\x7f\xc3\x6b\x94\x85\x90\x82\x08\x91" -+"\x80\x8f\x78\x76\x1a\xfb\x7c\x07\x92\x7a\x74\x8f\x78\x1b\x46\x4d\x56\x4f\x68\xa8\x75\xb8\xbe\xbb\xa2\xb1\xaa\x1f\xa0\xa6\x92\xa1" -+"\x8d\xbc\x08\xf8\x00\x07\x8c\xd3\x6a\xd5\x5d\xa7\x54\xaf\x6d\x9f\x87\x8f\x08\x7e\x99\x85\x9d\xa2\x1a\x98\x5f\xfc\x80\x07\x92\x7b" -+"\x74\x8f\x79\x1b\x46\x4f\x56\x4f\x68\xa7\x75\xb7\xbe\xbb\xa2\xb1\xa8\x1f\xa0\xa6\x92\xa1\x8d\xbc\x08\x8e\xf8\x0a\x15\xf7\x03\x4f" -+"\xa3\x67\x8f\xfb\x08\xfb\x06\xc8\x74\xae\x87\xf7\x09\x08\x0e\x84\x32\x0a\xf7\x5b\xf8\x80\x2a\x0a\xec\x91\xf8\x59\x15\xd9\x97\xbc" -+"\xbf\xd0\x1a\xbc\x6e\xb0\x63\x6c\x73\x74\x6d\x6e\xa3\x72\xa7\x93\x91\x8c\x8f\x9b\x1e\x89\x5b\x6d\x67\x56\x7a\x08\xf7\xa3\x8c\x15" -+"\x47\x69\x80\xad\x0a\x91\x93\x8d\x91\x1b\xa8\x92\x7e\x52\x1f\xfb\x5e\x07\x32\x83\x7d\x5a\x89\x1e\x79\x7a\xf7\x74\x9d\x77\x06\x5d" -+"\x8e\x88\x91\x8a\xee\x08\xf7\x6d\x07\xba\xc1\xa3\x97\xb0\x1b\xc2\x9a\x72\x30\x1f\xfb\x34\x07\x8a\x28\x88\x85\x5d\x88\x08\x78\x79" -+"\xf7\x6a\x9d\x7c\x06\x5c\x8e\x88\x91\x8a\xee\x08\xf7\x31\x07\xcd\x87\xa6\x7e\xa9\x1e\xae\x7b\x67\xa1\x61\x1b\x5a\x5e\x72\x50\x50" -+"\x1f\x0e\x84\x32\x0a\xf8\x18\xf9\x27\x20\x0a\x84\x32\x0a\xf7\x52\xfb\xbc\x25\x0a\xf8\x81\xf8\xa4\xf7\x6c\x15\xf7\x83\xc8\xfb\x60" -+"\x06\xe3\xf7\x2f\x05\xf7\x08\xc9\x3a\x06\xac\xc6\x61\xa3\x5c\x38\x05\xfb\x23\x65\x1d\x42\x2c\x1a\xfb\x08\xb8\x37\xdc\x69\x1e\x6a" -+"\x52\xb6\x74\xb1\xce\x05\x88\xa4\x99\x8a\xb4\x1b\xf7\xac\xc9\xfb\xb7\x06\x77\x85\x8b\x8c\x81\x1f\xab\xf7\x2d\x15\x3a\xfb\x21\x57" -+"\x9d\x6c\xbe\x88\xd3\x19\xf7\xb6\xf7\x6c\x15\x33\xfb\x2f\x05\xfb\x5e\x06\x91\xf6\xc3\xbd\xf7\x01\x89\x08\x0e\xf8\x81\xf8\x14\xf7" -+"\x04\x15\x4f\xfb\x0b\xd3\x67\xd9\xf7\x2f\x05\xf7\xaa\xdb\xfb\x82\x06\xc8\xf7\x0e\x05\xf7\x45\xdb\xfb\x1c\x06\xc7\xf7\x0b\x43\xaf" -+"\x3d\xfb\x2f\x05\xfb\xaa\x3b\xf7\x82\x06\x4e\xfb\x0e\x05\xfb\x45\x3b\x06\x0e\x54\xf7\x90\xf7\x03\x15\x32\xf7\xae\x05\xb2\x7f\x71" -+"\xae\x7b\x1b\x87\x87\x89\x88\x87\x1f\x3a\x4d\x92\x7d\x05\x91\x97\x91\x8d\x94\x1b\x98\x98\x83\x7f\x91\x1f\x92\x7e\x8b\x8b\x9d\x54" -+"\xf0\xfb\xd0\x18\xa4\x06\xf7\x31\xf7\xca\x05\xa0\xb4\x96\xb0\xa6\x1a\xad\x77\xa3\x70\x70\x77\x75\x6c\x84\x8c\x81\x8d\x83\x1e\x94" -+"\x68\x8c\x86\x7c\x1a\x74\x83\x70\x77\x62\x1e\x0e\x84\x24\x0a\xf7\x10\xf7\x7c\x15\x3f\x6f\x72\x39\x1d\x84\x24\x0a\xb3\xd6\x9a\x0a" -+"\xfb\x08\x16\x30\x1d\xa0\x2a\x1d\x0e\x84\x24\x0a\xfb\x22\xf7\x3d\x23\x1d\xf7\x2b\xf7\x49\xf8\x62\x15\x39\x4f\x60\x33\x24\x1a\xfb" -+"\x11\xc9\x2e\xdf\xc1\xb9\xaf\xd0\xab\x1e\x45\xab\xb2\x68\xbb\x1b\xdf\xcc\xf5\xf7\x1d\xf7\x1a\x5a\xe7\x44\x72\x79\x79\x72\x78\x97" -+"\x79\x9b\x84\x1f\xbd\x78\x90\x88\x9a\x74\x08\x9d\x71\x95\x62\x60\x1a\x2f\x5a\x46\x48\x60\x6e\xa2\xc1\x72\x1e\x9d\xc0\x92\xad\xb5" -+"\x1a\xbd\x7d\xa7\x73\x6f\x7b\x6c\x55\x5e\x92\x6a\x9d\x5d\x1e\x57\x71\x6d\x73\x68\x1b\x51\x69\xcc\xf7\x04\xdf\xa0\xd1\xb5\xc7\x1f" -+"\x0e\xf7\x2b\xf7\x49\xf8\x63\x15\x3a\x4f\x5f\x33\x23\x1a\xfb\x11\xc9\x2e\xdf\xc1\xb9\xb0\xd0\xab\x1e\x44\xab\xb2\x68\xbb\x1b\xdf" -+"\xcc\xf6\xf7\x1d\xf7\x1a\x5a\xe8\x44\x72\x79\x79\x72\x77\x97\x79\x9b\x85\x1f\xbd\x78\x90\x88\x9a\x74\x08\x9d\x70\x95\x62\x60\x1a" -+"\x2e\x5a\x46\x48\x60\x6e\xa2\xc2\x72\x1e\x9d\xbf\x92\xae\xb6\x1a\xbd\x7d\xa7\x73\x6f\x7b\x6b\x55\x5e\x92\x6a\x9d\x5c\x1e\x57\x71" -+"\x6d\x73\x67\x1b\x52\x69\xcc\xf7\x05\xdf\xa0\xd2\xb5\xc6\x1f\xf7\x0b\xc0\x15\xa6\x06\x94\xb3\x05\x98\xbd\x8c\x91\x9f\x1a\xac\x7e" -+"\x9c\x74\x73\xe6\x1d\x84\x89\x1d\x0e\x84\x89\x1d\x85\xd8\x15\xa6\x06\x94\xb3\x05\x98\xbd\x8c\x91\x9f\x1a\xab\x7e\x9d\x73\x74\x7e" -+"\x7a\x6a\x77\x8c\x88\x98\x56\x1e\x0e\xf8\x6c\x93\x16\xfa\x56\xd3\xfe\x0e\xfa\x03\x43\x06\x0e\x84\x68\x0a\xa0\x81\x71\xa7\x1e\xfb" -+"\x0b\xf7\x03\x2a\x0a\x84\xf7\x03\xf9\x36\x15\xa2\xb8\xab\x94\xae\x1b\xf1\xc5\x2c\xfb\x38\x6e\x89\x73\x86\x5b\x1f\xbd\x4b\x67\x9b" -+"\x58\x1b\x5a\x62\x79\x64\x67\x1f\x5f\x5d\x72\x4c\x4d\x1a\xfb\x00\xde\x35\xf3\xd1\xc5\xab\xc9\xb5\x1e\xb9\xcf\xac\xf7\x19\xf7\x0a" -+"\x1a\xf7\x08\x6a\xe7\x46\xd1\x1e\xbc\x5b\x56\xa2\x4b\x1b\x64\x68\x83\x77\x54\x1f\xf7\xc0\xfc\x31\x15\x7b\xfb\x03\x81\x60\x71\x58" -+"\x08\x56\x71\x60\x6a\x5f\x1b\x54\x6a\xbf\xe1\xf7\x06\xce\xe9\xdc\xb1\xa4\x7e\x61\xb5\x1f\x0e\xf7\xec\xd3\xf9\x17\x15\xd5\x83\x94" -+"\x48\x1d\x84\x82\x3f\x84\x08\x78\xf7\xac\x9e\x07\x3c\x8d\x7d\x99\x8a\xd5\x08\xf7\x4a\xd9\x1d\xc7\xab\xaf\xc8\xcd\x1a\xb5\x7d\xb1" -+"\x70\xa8\x1e\xb7\x63\x34\xa7\x2d\x1b\xfb\x9c\x06\xf7\x4e\x44\x15\xa6\x92\x92\xa6\xf7\x1b\xc9\x5c\x24\x2a\x50\x59\xfb\x07\x77\x7d" -+"\x8c\x8d\x74\x1e\xf8\x5e\x73\x15\x48\xcf\x06\x97\x87\x8f\x7f\x1e\x6a\x5b\x71\x6c\x7a\x81\x08\x80\x84\x87\x86\x85\x1a\x86\x8d\x87" -+"\x91\x88\x1e\xa8\xfb\x51\x06\x51\xa2\x6c\xb6\xa7\xa8\x99\xa2\x9d\x1e\x8e\x8f\x8b\x8b\x96\x9c\x78\x9b\x18\x76\x78\x86\x87\x7c\x1b" -+"\x77\x84\x99\xaf\x1f\xf7\x47\xce\x07\x0e\xd1\xf7\x78\xf8\x61\x15\xfb\x11\x82\x3f\x37\xfb\x14\x1a\xfb\x1f\xdd\x31\xf7\x1f\x7c\x1e" -+"\xfb\x59\xce\xf7\x59\x07\xce\x92\xaf\x98\xb1\xa7\x08\xc7\xb8\xae\xd4\xdc\x1a\xca\x77\xbf\x63\xb5\x1e\xb2\x66\x5d\xa1\x5c\x1b\x65" -+"\x69\x7a\x6e\x77\x1f\x7b\x75\x86\x6e\x4c\x1a\xfb\xaa\x07\x6a\x95\x7d\x92\x7a\x9a\x08\x5f\xb1\x75\xca\xe4\x1a\xde\x9f\xc5\xb3\xad" -+"\x1e\x98\x95\x97\x91\xa4\x92\x08\xe2\xfb\x1c\x15\xbb\x8c\x9a\x92\x97\x1e\x9a\x92\x98\x93\x9c\x1b\xc8\xbd\x37\x26\x3d\x74\x54\x5c" -+"\x6a\x1f\x74\x7b\x78\x84\x5f\x83\x08\x0e\x89\xf8\xa4\xf8\x54\x15\xfc\x23\x06\x5d\x80\x87\x75\x71\x1f\x37\x41\x9c\x77\xc7\xba\xa9" -+"\x96\xd2\x8a\x19\x79\xfb\x57\x80\x5b\x69\x6c\x08\x62\x65\x86\x83\x71\x1a\x6e\x9c\x7a\xa8\xc7\x9f\xc1\xf7\x4f\x93\x1e\x8d\xad\x8c" -+"\xa2\x94\x1a\x91\xe0\x05\xf7\x62\x06\x5f\x61\x7c\x6b\x8a\x50\x08\xfb\x2b\x07\x61\x8c\x82\x92\x78\x1e\x78\x93\x9c\x78\x94\x1b\x8d" -+"\x8d\x8c\x8f\x96\x1f\xf7\x00\xba\x87\xa0\x05\x82\x70\x7c\x86\x87\x1b\x7b\x79\x99\x9a\x87\x1f\x8a\x90\x8b\x8b\xb3\x1a\xf7\x13\x07" -+"\x8a\xe6\x8c\x95\x96\xaa\x08\xf7\x0d\x06\x0e\xf8\x81\xf9\x45\xf9\x55\x15\xfd\x72\x07\x54\x8a\x78\x77\x54\xbd\x0a\xf9\x3b\x07\xc4" -+"\xa0\xa2\xc0\x1e\x9c\x9d\xfd\x9f\x79\x9b\x06\xc1\x9f\x75\x51\x8c\x1f\xfd\x3b\x07\x54\x8a\x77\x77\x55\xbd\x0a\xf9\x72\x07\x0e\xf8" -+"\x81\xf9\x93\xc9\x15\xfb\xb7\x06\xfb\x0d\x57\xc2\xf7\x16\xf7\x15\xbf\xc3\xf7\x0d\x1f\xf7\xb7\xc9\xfb\xac\x65\x1d\x43\x2b\x1a\xfb" -+"\x07\xb8\x37\xc6\x0a\x06\x0e\xf8\x81\xf7\x7d\xc9\x15\x4d\xf7\xac\x07\xde\xae\x92\xa4\xb1\x1f\xcc\xb7\xac\xd3\xf2\x1a\xf6\x5c\xe0" -+"\x3e\xac\x1e\x99\x69\x70\x8f\x46\x1b\xfb\xac\x4d\xf7\xb7\x06\xf7\x0d\xbf\x54\xfb\x16\xfb\x16\x57\x54\xfb\x0d\x1f\x0e\xf7\x0b\xf7" -+"\xba\xf8\x56\x15\xfc\x14\x07\x31\x93\x68\xb3\x8f\xe4\x08\xf7\x46\x07\xa9\x89\x95\x82\x99\x1e\x99\x82\x81\x93\x85\x1b\x89\x86\x89" -+"\x88\x85\x1f\x26\x58\x91\x7e\x05\x93\x98\x92\x8d\x96\x1b\xaa\x94\x7a\x4c\x1f\xfb\x1b\x07\x88\xfb\x06\xcf\x49\xf7\x15\x81\x08\xfb" -+"\x40\xd6\xf7\x3e\x07\xf7\x13\xa8\xd5\xf0\xf7\x24\x1a\xf7\x00\x65\xdf\x59\x73\x76\x77\x74\x7b\x93\x7c\x9e\x79\x1e\xb0\x68\x8b\x8b" -+"\x95\x7b\x08\x98\x76\x91\x71\x6c\x1a\x53\x76\x58\x68\x6e\x1e\x71\x75\x71\x82\x56\x84\x08\xf8\x18\x07\x0e\xfb\x42\xf7\x80\xf8\x58" -+"\x15\x55\xb1\x6f\xae\xac\x1a\x93\x91\x91\x93\x8c\x8c\x8b\x8a\x8d\x1e\x89\x95\x8f\x8a\x94\x1b\xb0\xa1\x9e\xab\xad\x73\xa2\x68\x5e" -+"\x68\x65\x58\x4f\xb8\x4e\xce\x6a\x1f\x0e\xfb\x42\x40\x1d\xf7\x14\xf8\x80\x3a\x1d\xf8\x5b\x4a\x15\xf7\x32\xfa\x68\x53\x94\xfb\x0f" -+"\xfd\x95\xfb\x4e\xf8\x0d\xfb\x37\x3c\xa3\x58\xea\xba\x05\x0e\xfb\x42\x40\x1d\xf7\xd1\xf9\x27\x20\x0a\xfb\x42\x40\x1d\xda\xfb\xbc" -+"\x25\x0a\xf8\x12\xf9\x4c\xf8\x22\x15\xfc\x8c\xfb\xb9\xdb\xf7\x69\xf8\x3c\x06\x0e\x83\xf7\x2c\xfb\x4a\x15\xf7\x6c\x07\x6b\xae\xa7" -+"\x7f\xb5\x1b\xf7\x07\xe2\xf2\xf7\x1c\xf7\x20\x3c\xe7\xfb\x0b\x4d\x54\x72\x5f\x6a\x1f\x70\x66\x80\x59\x2e\x1a\xfc\x1e\x07\xda\xf8" -+"\x66\x15\xb8\x90\xa6\x99\xa2\x1e\xa9\x9b\xa8\x9c\xac\x1b\xd6\xba\x3c\xfb\x15\xfb\x09\x5d\x41\x43\x67\x70\x99\xb0\x65\x1f\x0e\xfb" -+"\x0a\x4a\x0a\xfb\x0b\xf7\x55\x15\x5f\x1d\xfb\x0a\xf7\x5a\x81\x15\x96\x06\xd7\xca\xc5\xd1\xbd\x73\xac\x4f\x56\x1d\x9a\x06\x87\xf7" -+"\x1d\x05\x80\x06\x83\x86\x86\x88\x85\x1b\x85\x81\x8d\x90\x80\x1f\x93\x74\x74\x90\x73\x1b\x3c\x52\x57\x43\x53\xab\x63\xe0\x5b\x1f" -+"\xc5\x6a\x05\xae\x77\x9c\x73\x6c\x1a\x5f\x6b\x6f\x58\x46\x68\xb1\xf1\x74\x1e\x7b\xfb\x30\x98\x06\x95\x92\x8f\x8d\x97\x1b\x96\x96" -+"\x89\x85\xa3\x1f\x97\x89\x91\x89\x98\x89\x64\x2e\x18\x98\x1d\x55\x81\x5c\x0a\x0e\xfb\x0a\x65\x0a\xf7\x55\x20\x1d\xfb\x0a\x4a\x0a" -+"\xfb\x28\xfc\xe7\x25\x0a\x31\xf7\x17\x9d\x0a\xf7\x32\x16\xab\xcb\x05\xa7\xc4\x98\xb0\xa5\x1a\xa3\x7a\x9c\x73\x68\x7b\x62\x23\x84" -+"\x1e\x86\x3b\x05\x0e\xab\xf8\xac\xf8\x5f\x15\xfb\x89\x06\x46\x7c\x89\x7c\x69\x1f\x37\x67\x53\x31\x28\x1a\xfb\x18\xe6\x2b\xf7\x10" -+"\xf7\x12\xee\xf7\x00\xf7\x1f\xbd\x7c\xbc\x72\xad\x1e\x7c\x9f\x7d\x97\x6b\x9f\xf7\x38\x76\x18\xfb\xbf\xa5\x15\xe1\xc4\x2e\xfb\x22" -+"\x21\x61\x4c\x45\x66\x67\x9e\xaa\x76\x1f\x6d\xb8\x79\xd0\xd2\x1a\xf4\xb5\xcb\xd0\x1e\x0e\xf8\x81\xf8\x1b\xf8\x9a\xaa\x0a\xfb\x14" -+"\xfb\x00\x15\x92\x36\x96\x62\xa9\x5e\x08\x4c\xb5\xcb\x6b\xde\x1b\xd8\xc7\xa6\xc1\xb5\x1f\xaf\xba\x9a\xb8\x92\xe8\x80\x59\x80\x75" -+"\x71\x6d\x08\x54\x5b\x4f\x71\x3a\x1b\x3a\x4f\xa5\xc2\x5b\x1f\x71\xa9\x80\xa1\x80\xbd\x08\xf7\xee\xf7\x00\xaa\x0a\xfb\x01\xf7\x68" -+"\x15\xfb\x5b\xfb\x3a\xfb\x38\xfb\x57\xfb\x63\xf7\x35\xfb\x38\xf7\x5d\xf7\x61\xf7\x37\xf7\x36\xf7\x5f\xf7\x5e\xfb\x37\xf7\x37\xfb" -+"\x5e\x1f\x89\x5a\x15\xf7\x45\xf7\x21\xfb\x20\xfb\x44\xfb\x43\xfb\x21\xfb\x21\xfb\x43\xfb\x41\xfb\x23\xf7\x21\xf7\x3e\xf7\x47\xf7" -+"\x1e\xf7\x22\xf7\x44\x1f\x0e\xf8\x81\xf7\xbb\x16\xf8\x77\xa2\x06\xfb\x35\x93\x3f\xe0\x8e\xf7\x3e\x08\x38\xb7\xb9\x6a\xd4\x1b\xd1" -+"\xc5\xc9\xd5\xcf\x71\xb4\x20\xec\x1f\xfb\x01\xf0\x78\xa6\x64\xf7\x09\x7b\x2e\x51\x37\x20\x34\x08\x3a\x48\x69\x53\x4b\x1a\x40\xc8" -+"\x4d\xd4\xb5\xb4\x9c\xa9\xab\x1e\x9e\x9d\x96\x9a\x9c\xb0\x91\xfb\x3b\x34\x2c\xfb\x33\x8a\x08\x0e\xf8\x81\xf7\xee\xf9\x5b\x15\xf7" -+"\x85\x06\xf4\x8a\xa5\x75\x9a\x26\x08\xa2\x06\x82\xf7\x39\x05\xfc\xaf\x06\xf7\x66\xfc\x67\xfb\x6e\xfc\x2c\x05\xf8\xc8\x06\xbc\xf7" -+"\x66\x05\x74\x06\x6f\x3b\x6c\x78\x26\x8c\x08\xfb\xbc\x06\xf7\x49\xf7\xf4\x05\x0e\xf8\x81\xf7\xcd\xf8\x77\x15\x6e\x66\x7c\x67\x85" -+"\x5b\x08\xfb\x05\x54\xf7\x05\x06\x8f\x61\x9e\x5b\xa6\x6a\x3b\x3c\x18\xb1\x65\xdb\xdb\xb1\x6e\xb2\x7b\xb8\x86\x19\xfb\x05\xc1\xf7" -+"\x05\x07\xb7\x90\xb9\x9e\xab\xa5\xdb\x3b\x18\xb0\xb1\x3b\xdb\xa8\xae\x9c\xb5\x90\xb8\x19\xf7\x05\xc2\xfb\x05\x06\x86\xb6\x79\xb7" -+"\x70\xad\xda\xda\x18\x66\xb1\x3b\x3b\x69\xa6\x62\x9c\x5c\x92\x19\xf7\x04\x55\xfb\x04\x07\x60\x86\x5f\x79\x68\x6f\x3b\xdb\x18\x65" -+"\x65\x05\xf7\x9c\x55\x15\xec\xd8\x40\x2d\x2b\x3f\x3e\x2c\x2d\x3e\xd8\xea\xe7\xd8\xd9\xe6\x1f\x0e\x22\xf8\x3c\x26\x0a\xfb\xae\x06" -+"\x4c\x8a\x79\x85\x74\x6b\x54\x3e\x18\xb4\x74\xb6\xc8\xae\x9b\xe2\x8a\x19\x9a\x06\x6a\x4d\x83\x6b\x89\x49\x08\xfb\x24\x07\x56\x9b" -+"\x5f\x9e\x8e\x8b\x8b\x95\x9e\x1e\xf7\x0e\xb6\x05\xb2\x07\x7f\x70\x80\x88\x7f\x1b\x70\x7e\xa7\xc5\x1f\xf7\x1a\x07\x8d\xc7\x90\xa1" -+"\x9c\xa1\x08\xf7\x2a\x06\x0e\xfb\x79\xf7\x2e\xf7\xd1\x15\xf0\x92\x0a\x26\x45\x69\xd1\xfb\x3a\x06\x37\xa9\x60\xc6\xbc\xb1\xa3\xbf" -+"\xac\x1e\x7e\x96\x05\x63\x1d\xf7\x2b\xf7\x10\xad\x07\x0e\xfb\x0a\xf7\x32\x47\x0a\x8c\x1d\xab\x07\x6b\x76\x15\xa8\xa0\x05\xbf\xb2" -+"\xa9\xbc\xbc\x8c\x0a\x0e\xfb\x79\xf7\x42\x82\x15\xb8\x92\xad\xa3\xa5\xb7\x7e\x96\x18\x63\x1d\xf7\xb2\x92\x0a\xfb\xc1\x06\x8d\x3c" -+"\x9f\x67\xbb\x81\x65\x30\x18\x2d\x0a\x97\x5a\x0a\x6a\x75\x7a\x8e\x94\x70\xa1\x0a\xc0\xb6\xc6\x1d\x6f\xf7\x88\xf9\x31\x15\x51\x5c" -+"\x6d\x4d\x64\x1f\x60\x48\x73\x31\x2b\x1a\x36\x9e\x3b\xae\x4b\x1e\x49\xae\xc0\x67\xc8\x1b\xf7\x0a\xe7\xf7\x2c\xf7\x56\xf7\x51\x35" -+"\xf7\x21\xfb\x08\x1f\xfb\x0d\xfb\xb2\x15\xf7\x36\x93\xb1\xe4\xc9\x1b\xcd\xb7\x30\xfb\x34\x98\x1f\x8d\x66\x15\x8c\x79\x8b\x7f\x7e" -+"\x1a\xfb\x3a\x60\xfb\x01\x48\x3e\x5b\xf7\x0e\xf7\x58\x1e\x0e\xfb\x42\xf7\x2e\xf8\x8b\x15\xa5\x06\x95\xb3\x05\x98\xc0\x8c\x8e\x9f" -+"\x1a\xac\x7e\x9c\x73\x73\x7e\x7a\x6a\x78\x8c\x85\x98\x58\x1e\x0e\x84\x25\x1d\xfb\x0f\xf9\x08\x37\x1d\x84\x25\x1d\xfb\x5e\xf8\x6b" -+"\x50\x1d\x2a\x1d\xfb\x08\x16\x30\x1d\xa0\x2a\x1d\x0e\x84\x25\x1d\xfc\x14\xf8\xc9\x23\x1d\x84\xfb\x44\x04\x5a\xf8\x88\xbc\x07\xfc" -+"\x88\xe8\x15\x5a\xf8\x88\xbc\x07\x0e\xfb\x95\x0e\xfb\x42\xc9\x0a\xf3\x53\x1d\xfb\x51\xfb\xad\x15\xce\xac\xb8\x99\x1d\xfb\x79\x74" -+"\x0a\xfb\x32\xfd\x4f\x25\x0a\xfb\x42\x96\xf8\xed\x23\x1d\xfb\x95\xf7\x11\xf7\xca\x2b\x0a\xf7\x1c\xf7\xd9\xf9\x31\x15\x82\x06\xfb" -+"\xb8\xfd\x31\x05\xf8\xe8\x06\xfb\x22\xd7\x15\xfb\xd7\x06\x73\x82\x8f\x96\x92\x8f\x9a\x92\x9a\x1f\xf7\x36\xf8\x0a\x05\x0e\xf7\x80" -+"\xf7\xc2\xf7\x22\x15\x60\x9b\x75\x9a\x75\xa7\x08\x68\xba\x78\xcc\xd8\x1a\xdd\xa1\xcf\xb5\xb9\x1e\xaf\xac\xbd\x9e\xcb\x1b\xca\xbd" -+"\x78\x67\xac\x1f\xb5\x5d\xa1\x48\x37\x1a\x3e\x78\x4b\x68\x5c\x1e\x75\x6f\x75\x7c\x60\x7b\x7c\xfb\x22\x18\xf7\xbb\xf7\x37\x7b\x06" -+"\x59\x7f\x7f\x81\x5b\x1b\xfb\x28\x99\x06\xc1\x9b\xb0\x9c\xaa\xa4\x08\xc5\xbb\xb0\xdd\xde\x1a\xdb\x67\xdb\x4e\xbf\x1e\xbc\x52\x39" -+"\xa5\x2c\x1b\x2d\x39\x71\x5a\x52\x1f\x4e\x57\x67\x3b\x3b\x1a\x3f\xaa\x3e\xbe\x5b\x1e\xac\x6c\xb2\x76\xca\x79\x08\x7d\xfb\x28\x07" -+"\x5b\x80\x95\xbd\x7f\x1f\x7a\xfb\x37\xf7\xbb\x06\x0e\xa8\xf8\x43\xf8\x56\x15\x3c\xfb\xe1\x06\x5b\x53\x78\x81\x69\x1b\x59\x77\xaa" -+"\xd9\x1f\xf7\xae\x3c\xfb\x23\x07\x89\xfb\x37\x88\x69\x79\xfb\x16\x08\x7c\x2b\x8b\x8b\x7c\x1a\x6b\x9d\x75\xa5\xa3\x9b\x9f\xa9\x96" -+"\x89\x9c\x87\x9b\x1e\x78\xdc\x89\x9c\x89\xcc\x08\x55\x9e\xa9\x72\xba\x1b\xac\xae\x99\xa4\xa6\x1f\x9a\x98\x90\x90\xa9\xad\x08\x7a" -+"\x07\x69\x8e\x80\x9b\x7a\x1e\x81\x93\x92\x86\x8f\x1b\x8d\x90\x8d\x8e\x91\x1f\xf2\xbf\x85\x99\x05\x83\x7f\x84\x88\x80\x1b\x6c\x83" -+"\x9c\xcc\x1f\x0e\xfb\x03\xf7\xcc\xd9\x15\x81\x82\x8a\x88\x6f\x1f\x89\x79\x78\x8a\x81\x1b\x3e\x60\xbe\xe7\xc5\x9a\xb9\xa9\xab\x1f" -+"\xa9\xa6\xb4\xa0\xac\x1b\x99\x99\x87\x80\xa0\x1f\x7d\xa6\x94\x88\x9b\x1b\xa5\x9d\x9d\xa3\xab\x6b\x9f\x58\xfb\x29\xfb\x0d\xfb\x12" -+"\xfb\x2e\x4f\x9d\x5a\xad\x69\x1f\x6d\xa9\xb3\x7e\xc6\x1b\x99\x98\x8c\x8c\x98\x1f\x8e\xa5\xa1\x8d\x90\x1b\xa2\x98\x7f\x78\x69\x70" -+"\x6e\x6d\x82\x85\x8c\x90\x7d\x1f\x8f\x7f\x83\x8d\x84\x1b\x73\x7b\x7d\x75\x72\xa2\x7a\xaf\xcf\xcc\xd5\xda\xbf\x71\xa8\x5c\x1f\x0e" -+"\xf3\x21\x0a\xfb\x3f\xf9\x63\x15\xfb\x26\x61\x1d\x6d\x0a\x36\xf7\x33\x15\xfb\x27\xf7\x28\x05\x9d\x79\x82\x90\x7b\x1b\x77\x7e\x7f" -+"\x78\x7b\x95\x7c\x9e\x7f\x1f\xf7\x2e\x2a\x05\x0e\x4c\xf8\x33\x7f\x1d\xb0\xf7\x5a\x29\x0a\xa7\x76\x1d\xfb\x3c\xc4\x38\x1d\xbc\xf7" -+"\x5d\xf7\xdb\x15\xf7\x25\x06\xdd\x8a\x9b\x7d\x97\x3a\x08\xa2\xf7\x7c\x74\x06\x80\x3c\x7a\x7d\x39\x89\x08\xfb\x25\xf7\x72\x06\x8c" -+"\xa9\x8e\x8e\xa7\x8c\x08\xf7\x1c\x54\x1d\xfb\x4d\x3c\x62\xda\xfb\x63\xa5\x0a\x0e\x2a\xf7\x49\xf7\x81\x15\xf7\x42\xdd\x07\xcf\xac" -+"\x6e\x44\x95\x1f\x9d\x06\x7a\xf7\x1f\x05\xfb\xef\x7a\x9c\x06\xbe\x88\x90\x83\x8c\x2e\x08\x2f\x3d\x6a\xd9\x37\x07\x8a\x2f\x86\x83" -+"\x58\x88\x08\x7a\x7a\xf7\x75\x9c\x7c\x06\x5a\x8c\x83\x9a\xe2\x1a\xdf\xf4\xac\x07\x0e\xf8\x19\x7a\x0a\xc9\x07\xf7\x0e\xb3\x67\xfb" -+"\x12\xa2\x1f\x9d\x06\x84\xf7\x54\x05\x45\x82\x90\xea\x3c\x1f\xfb\x48\xf7\x82\xbd\xcd\xb7\xc6\xb1\xbe\x19\xc4\xdb\x9d\x9a\xc1\x8f" -+"\x08\x9e\xfb\x56\x78\x07\xae\x8a\x96\x85\x7b\x1a\x66\x41\xfb\x02\x24\xfb\x08\x1e\x76\xf7\x5e\x06\xd1\x98\x9a\xc6\x1e\x9d\xfb\x78" -+"\x79\x07\xc6\x98\x7c\x45\x1f\xfb\x5e\x76\x07\x24\xf7\x08\x41\xf7\x02\xb0\x1a\x9c\x96\x90\xae\x8c\x1e\x9e\xfb\x56\x78\x07\xc1\x87" -+"\x9e\x7c\xc3\x3b\x9c\x73\xbe\x47\x97\x7c\x97\x7b\x97\x7b\x97\x7c\x9b\x75\x18\xfb\x4a\xfb\x80\x46\x34\x69\x71\x5b\x8a\x19\x79\xf7" -+"\x91\x9d\x07\x69\x8d\x80\x91\x9d\x1a\x9a\x92\x97\xba\xca\x1e\xf7\x16\xf7\x4f\x05\x0e\xf7\x4c\x7d\x0a\xb0\x06\xee\xa6\x76\x29\xa5" -+"\x1f\x9e\xf7\x28\x06\x4c\x8c\x7e\x91\x61\xbc\xfb\x19\xf7\x3a\x18\xf7\x01\xf7\x0f\xb1\xb6\xad\x9c\xb8\x8a\x19\x9c\xfb\x4b\x7a\x94" -+"\x07\x9d\x98\x82\x7e\x82\x87\x82\x81\x80\x1f\xfb\x11\xfb\x21\x05\x71\xe4\x06\x8c\xe6\x90\x94\xbd\x8e\x08\x9d\x9c\xfb\x77\x7a\x9d" -+"\x06\xbd\x88\x90\x82\x8d\x30\x08\x32\x70\x07\xfb\x11\xf7\x21\x05\x82\x96\x87\x93\x95\x1a\x99\x96\x93\x9e\x1e\x94\x9c\xfb\x4b\x7a" -+"\x06\xb8\x8c\xad\x7a\xb1\x60\xf7\x02\xfb\x0f\x18\xfb\x19\xfb\x3a\x05\x5a\x64\x6e\x78\x69\x1b\x83\x7a\xf7\x5b\x9c\x79\x06\x80\x84" -+"\x90\x93\x92\x8e\x92\x92\x94\x1f\xf7\x10\xf7\x31\x05\x0e\x85\xf7\x8c\x82\x15\xf7\x15\x93\xe1\xd7\xf5\x1a\xc2\x75\xbc\x63\xaa\x1e" -+"\x81\x0a\x86\xfb\x47\x05\x9e\x06\xe6\x96\xbc\xba\xde\x1b\xd6\xb9\x5f\x42\x34\x56\x5e\x25\x87\x7f\x8b\x8c\x7f\x1f\x5e\x9a\x07\xc5" -+"\xb2\x84\x7c\xa3\x1f\xb4\x72\xa2\x5e\x54\x1a\x32\x51\x4f\x34\x42\x53\xb0\xd9\x5f\x1e\x75\x7e\xb5\x31\xd4\x58\xe8\x86\x19\x65\x30" -+"\x92\x86\x05\x8e\x94\x93\x8c\x97\x1b\xb0\x9a\x81\x71\x70\x77\x7a\x69\x75\x7b\x8e\x94\x6f\x44\x1d\x56\x80\x85\x8a\x89\x81\x1f\x0e" -+"\xfb\x04\xf7\x59\x85\x15\xea\x90\xcf\xc2\xd4\x1a\xad\x7d\xab\x73\xa1\x1e\x92\x1d\x9c\x06\xd7\x97\xb2\xb3\xcb\x1b\xc3\xae\x6a\x58" -+"\x5b\x67\x6a\x58\x1f\x6b\x65\x06\x8d\x92\x8e\x8b\x92\x1b\xb5\xa3\x84\x7a\x9d\x1f\x9e\x79\x96\x72\x6f\x1a\x52\x5f\x64\x4b\x54\x62" -+"\xa1\xc2\x5d\x1e\x79\x7f\xb2\x49\xbf\x68\xcf\x85\x19\x64\x2d\x2d\x0a\x97\x5a\x0a\x69\x76\x7a\x8e\x94\x70\xa1\x0a\xc0\xb6\xc6\x1d" -+"\xf7\x60\xf7\x6a\xf7\xd5\x15\xf7\x49\xfb\x4f\x05\xbe\x57\x9d\x73\x7b\x1a\x7b\x7c\x85\x60\x89\x1e\x79\xee\x07\xf7\x09\xb8\x64\xfb" -+"\x0f\xa2\x1f\x9d\x06\x84\xf7\x54\x4b\x8a\x7c\x94\x31\xe9\x19\xfb\x75\xf7\x80\x91\x92\x91\x92\x93\x93\x19\x7e\x1d\x0e\xa5\xb9\x1d" -+"\xbd\x06\xee\xa6\x75\x2a\xa5\x1f\x9d\x06\x8c\xf7\x28\x05\x58\x76\x91\x9f\x77\x1f\xfb\x5e\xf7\x57\xf7\x39\xf7\x22\xaa\xa6\xa6\x97" -+"\xb4\x8d\x19\x9c\xfb\x53\x7a\x97\x07\xa0\x95\x84\x7a\x84\x87\x84\x7f\x81\x1f\xfb\x3f\xfb\x2d\x05\xec\x07\xe3\x93\x9a\xd2\x1d\x2e" -+"\x08\xfb\x64\x07\x89\x2e\x87\x83\xab\x0a\xf7\x3d\xf7\x95\xf8\x16\x15\x86\x86\x89\x89\x81\x82\x82\x83\x82\x83\x83\x83\x08\xf7\x69" -+"\x07\xcc\x9a\x9d\xc4\x8c\x1e\x8e\x93\x8b\x8c\x94\x1f\x9d\xfb\xb4\x79\x07\xd6\x9a\x7d\x44\x8c\x1f\xfc\x5b\x07\x44\x8a\x7b\x7c\x41" -+"\x1b\x79\xf7\xb4\x60\x0a\xf7\x6e\x07\xb6\x5e\x05\xfb\x44\xc9\xf7\x04\x07\xd7\x3d\x05\xbd\x58\x9d\x72\x7b\x1a\x7b\x7c\x85\x61\x89" -+"\x1e\x79\xf7\xd1\x9d\x07\x4f\x8c\x5f\xa5\x36\xe2\xfb\x6b\xf7\x73\x18\xa6\x07\x8f\x8f\x8e\x8f\xcb\xcd\x91\x92\xd6\xdd\x19\xd1\xda" -+"\xa4\x9a\xcd\x90\x08\x9d\xfb\x86\x79\x07\xb9\x89\x97\x86\x78\x1a\x72\x5b\x4b\x3a\x38\x1e\xf7\x15\x4d\x07\x0e\x76\xf7\x66\xf7\xaa" -+"\x15\x58\x5d\x05\xed\x07\xe3\x93\x99\x97\x1d\xeb\x8f\x07\xba\x5c\x05\xfb\x01\xae\xd4\x07\xdb\x3b\xde\x1d\x81\x7a\xf7\x62\x9c\x84" -+"\x06\x77\x73\x98\xa4\x72\x1f\xfb\x4f\xf7\x48\x05\xa7\x07\xf7\x29\xf7\x15\xce\x1d\x7b\x83\x88\x86\x7e\x7f\x1f\x36\x40\x05\xe3\x68" -+"\x07\x0e\xf7\xaf\xf7\x72\xf8\xfd\x15\xfc\x96\x67\x1d\xf7\xb5\x9d\x07\x3e\x7b\x9a\xd1\x1f\xf7\x6d\x07\xf7\x4a\xfb\x4e\x05\xbd\x57" -+"\x9d\x73\x7b\x1a\x7b\x7c\x85\x61\x89\x1e\x79\xf7\xd1\x9d\x07\x4f\x8c\x5f\xbb\x0a\x92\x92\x92\x93\x91\x92\x9a\x9a\x9a\x9b\x9a\x9b" -+"\x8e\x8c\xd4\xdb\xa3\xa5\xd1\xdb\xa4\x9a\xcd\x8f\x08\x9e\xfb\x86\x78\x07\xb9\x8a\x96\x86\x77\x1a\x67\x2a\xfb\x05\xfb\x1d\xfb\x0e" -+"\x1e\xf7\x69\xa2\x0a\x0e\xc6\xf7\x35\xf8\x2f\x15\xfb\xb6\x07\x88\x4b\x8b\x8a\x89\x83\x08\x74\x83\x7d\x83\x6d\x1b\x79\x7a\xf7\x77" -+"\x9c\x7b\x06\x59\x8d\x84\x99\xe3\x1a\xea\x8f\x07\xf7\x36\xfb\x36\x05\x97\x7e\x8f\x86\x84\x1a\x81\x86\x89\x73\x1e\x81\x7a\xf7\x63" -+"\x9c\x84\x06\x76\x74\x98\xa4\x71\x1f\xfb\x5e\xf7\x57\xf7\x38\xf7\x22\xce\x1d\x7a\x83\x87\x86\x7f\x80\x1f\xfb\x3f\xfb\x2d\x05\xed" -+"\x07\xe3\x92\x98\xbd\x8d\x1e\x9b\x9c\xfb\xba\x58\x0a\x9d\xd7\xa6\xa4\xce\x8a\x08\x0e\xf7\x79\xca\x1d\xf4\x07\xf7\x0a\x8a\xb8\x64" -+"\xa1\xfb\x0f\x08\x9e\x06\x83\xf7\x55\x32\x8c\x7a\x9b\x8c\xe0\x19\xf8\x3f\x76\x0a\xa7\xf7\x35\x88\x1d\xd5\x06\xee\xa6\x76\x29\xa5" -+"\x1f\x9d\x06\x8c\xf7\x28\x3b\x8e\x7c\x94\x8e\xb6\x19\xf7\x8a\x9e\x0a\xf7\x34\xf7\xeb\x7d\x15\x9c\x06\xf7\x05\xef\xb9\xdc\xc7\x1f" -+"\x82\x0a\xa2\x06\x9c\x0a\x38\x6c\x54\x4d\x1f\x45\x4d\x65\x2f\xfb\x02\x1a\xfb\x4d\xf5\xfb\x13\xf7\x43\x72\x1e\x66\x33\x92\x86\x05" -+"\x8e\x93\x94\x8c\x96\x1b\xb1\x9a\x81\x72\x6f\x77\x7a\x68\x76\x7a\x8e\x94\x70\x44\x1d\x55\x81\x5c\x0a\x0e\x4c\xf7\x7d\x82\x15\xd8" -+"\x94\xbf\xb7\xbd\xf2\x8e\x1d\xfb\x0e\xcf\x34\xf3\x7f\x1e\x66\x31\x2d\x0a\x97\x1b\xb1\x9a\x81\x72\x6f\x77\x7a\x69\x75\x7b\x8e\x94" -+"\x6f\x44\x1d\x55\x81\x5c\x0a\x0e\xf9\x53\x21\x1d\xfb\x6f\x78\x06\xbf\x8a\x9c\x83\x73\x1a\x81\x87\x7f\x81\x7c\x1e\xfb\x23\xfb\x76" -+"\xfb\x28\xf7\x72\x05\x80\x9b\x85\x9b\x97\x88\x0a\x99\x7d\xef\xfb\x21\xf7\x17\xfb\x54\x18\xfb\x42\x62\x1d\xf7\x56\x07\xf7\x28\xf7" -+"\x76\xc8\xe3\xa5\xa1\xbe\x8f\x19\x0e\x68\xf7\x61\xbb\x15\xfb\x31\xe2\x1d\x9a\x07\x52\x90\x82\x95\x89\xd1\x08\xf7\x3e\x07\xf7\x01" -+"\xf7\xae\xa6\xd3\x92\x95\xaa\x92\x19\x95\x8c\x05\x9c\xfb\x23\x7a\x90\x07\xa4\x8c\x98\x81\x78\x1a\x7e\x86\x78\x7d\x66\x1e\x3b\xfb" -+"\x6c\x37\xf7\x70\x05\x7b\xb4\x88\x95\x96\x1a\xa0\x97\x96\xa5\x8a\x1e\x93\x9c\xfb\x57\x7a\x06\x99\x8a\xad\x87\x8c\x88\xc0\xfb\x1b" -+"\x19\x0e\xf8\x35\xf7\x81\x15\xcd\x07\xf7\x28\xf7\x76\xc8\xe3\xa5\xa1\xbe\x8f\x19\x9e\xfb\x6f\x78\x07\xbf\x8a\x9c\x83\x73\x1a\x81" -+"\x87\x80\x81\x7b\x1e\xfb\x23\xfb\x76\xfb\x28\xf7\x72\x05\x80\x9b\x85\x9b\x97\x88\x0a\x9a\x7d\xee\xfb\x21\xf7\x17\xfb\x54\x18\x52" -+"\xfb\x08\x63\xf7\x08\x3e\x62\x1d\xe3\xf7\x04\xb3\x07\x0e\x68\xf7\xa9\x86\x15\xb9\x07\xf7\x02\xf7\xc2\xa3\xd0\x96\x9a\xa8\x90\x19" -+"\x95\x8c\x05\x9c\xfb\x23\x7a\x90\x07\xa4\x8c\x98\x81\x78\x1a\x7d\x89\x84\x7a\x5b\x1e\x3a\xfb\x80\x37\xf7\x84\x05\x7a\xb9\x8a\x90" -+"\x96\x1a\xa0\x97\x96\xa5\x8a\x1e\x93\x9c\xfb\x57\x7a\x06\x9a\x8a\xab\x88\x92\x81\xbc\xfb\x15\x19\xe7\xfb\x9a\x05\x6a\x2a\x64\xec" -+"\x4a\xe2\x1d\x99\x07\x51\x91\x82\x95\x8a\xd1\x08\xcc\xf2\xb2\x07\x0e\xf7\x85\x8b\x1d\xef\x07\xf7\x0a\x8c\xb8\x63\xa1\xfb\x0f\x08" -+"\x9d\x06\x84\xf7\x58\x47\x89\x78\x99\x4a\xe5\x19\xfb\x33\xf7\x7d\xf7\x16\xf7\x3f\xd7\xec\x90\x8f\xcb\x8e\x19\x9d\xfb\x73\x79\x07" -+"\xa6\x8f\x8b\x89\x92\x1f\x9a\x87\x96\x7e\x7d\x1a\x81\x86\x81\x7a\x75\x1e\x90\x0a\xcb\x86\x9e\x7d\xcb\x2e\x08\x0e\x67\xf7\x99\xf7" -+"\x9b\x15\xb2\xc5\xcf\xef\x94\x93\xbb\x90\x19\x90\x9b\xfb\x35\x7b\x93\x06\xa0\x9a\x83\x7f\x8a\x1f\x83\x86\x7f\x83\x7f\x1e\x52\x39" -+"\x63\xcb\x05\x7e\x9e\x81\xa3\x95\x1a\x95\x98\x92\x9c\x1e\x92\x9b\xfb\x5c\x7b\x93\x06\xb8\x87\x8c\x8a\xdb\xfb\x15\xb8\x42\x18\x47" -+"\x21\x54\x34\x7f\x7f\x65\x86\x19\x78\x8a\x05\x7b\xf7\x3a\x9c\x80\x07\x77\x80\x91\x97\x93\x8d\x90\x9f\xab\x1f\xce\xf7\x01\xcf\xfb" -+"\x02\x05\x97\x79\x91\x7c\x82\x1a\x7e\x80\x84\x75\x1e\x83\x7a\xc5\x06\xee\xa6\x75\x2a\xa5\x1f\x9d\xf7\x28\x06\x4b\x79\x93\xb5\x6f" -+"\x1f\x0e\xf7\x23\xf9\x1f\x21\x1d\xfb\xb2\x79\x06\xd6\x9a\x2e\x0a\xfb\x7b\x07\x7a\x40\x6d\x87\x68\x1b\x2e\x68\xb0\xee\x1f\xf7\x08" -+"\x4c\x1d\xfb\x08\x07\xfb\x0e\xc7\x51\xf7\x15\xb8\x9a\x8d\xa3\xf7\x10\x1e\xfb\x4e\x67\x1d\xeb\x07\xf7\x06\x86\xb4\x66\xa2\xfb\x0d" -+"\x08\x9d\x06\x84\xf7\x58\x3d\x8c\x7e\x95\x8d\xc6\x19\xf8\x5c\x39\x0a\x0e\x77\xf8\x78\xf8\x45\x15\x9c\xfb\x70\x7a\x96\x07\x85\x1d" -+"\x51\x1d\x6c\x7a\xf4\x06\xd4\x85\xa4\x73\xa2\x33\x08\x9d\x06\x8c\xf7\x28\x05\x62\x74\x8f\x93\x85\x1f\x86\x8f\x88\xa5\xbc\x1a\xf7" -+"\x64\x07\xe3\x93\x9a\xbc\x8c\x1e\x0e\xf7\x37\xf7\xf3\xf7\xa2\x15\x90\x8c\x9b\x8d\x9b\x8e\x9b\x8e\x19\x94\x8d\x9c\x8e\xa5\x90\x08" -+"\xfb\x4d\x5c\x1d\xf8\x5a\x07\xd2\x3d\x1d\xd6\x9a\x7c\x44\x8c\x1f\xfb\x7b\x07\x57\x80\x73\x87\x6e\x88\x08\xf7\x8d\x49\xfb\x8d\x07" -+"\x43\x95\x70\xb1\x8d\xe0\x08\xf7\x08\x07\xd2\x3d\x1d\xd5\x9b\x7c\x44\x8c\x1f\xfb\x08\x07\xfb\x0d\xc7\x51\xf7\x13\x1e\x9a\xfb\x18" -+"\xcd\x06\x0e\x87\xf7\xa1\xf7\x4b\x15\xa3\x8f\x94\x8d\xa9\x92\x08\x40\x07\x89\x2f\x87\x82\x59\x88\x08\x6c\x7a\xf7\x83\x45\x0a\xf7" -+"\x65\x07\xe2\x38\x0a\xfb\x6f\x7a\x96\x06\xbd\x88\x8f\x83\x8d\x2f\x08\xfb\x01\x07\x74\x85\x82\x89\x6c\x87\x08\xf7\x2b\x5a\xfb\x2b" -+"\x07\x5f\x93\x77\xa8\xc4\x1a\xa6\x07\xe2\x93\x9a\xbc\x8c\x1e\x94\x9c\xfb\x6f\x7a\x9d\x06\xbd\x88\x90\x83\x8c\x2f\x08\x70\x07\x31" -+"\x87\xb2\x69\xf4\x1b\x8e\x28\xbc\x06\x0e\xf7\x37\xf7\x6a\xf7\xe2\x15\x9c\xd6\xa8\x8f\xae\x1b\xe8\xaf\x66\x28\x1f\xfb\x08\xae\x0a" -+"\xf7\x08\x07\xf7\x0f\x4e\xc4\xfb\x15\x5f\x7d\x89\x73\xfb\x11\x1e\xf7\x4e\x9e\x1d\x0e\x84\xf8\x7b\x9a\x15\x55\x94\x87\x91\x89\xd1" -+"\x08\xf7\x59\x07\xf2\x62\xc0\x39\x50\x61\x73\x50\x5d\x1e\xf7\xc0\x07\x86\x8e\x67\x7f\x71\x82\x56\x7c\x19\x70\x83\x05\x7c\x07\x8c" -+"\x8f\x8f\x8b\x91\x1b\xb4\x93\x82\x61\x1f\xfc\x64\x07\x8a\x44\x85\x84\x69\x1d\xd0\x08\xf7\x82\x07\xb8\xb5\xa9\x9c\xb2\x1b\xbd\xa4" -+"\x67\x47\x1f\xfb\x58\x07\x89\x46\x82\x80\x52\x86\x08\x7c\xf7\x68\x07\x0e\xfb\x42\x4c\x0a\xf7\x23\xf8\x5c\xf2\x15\x8c\x50\x7f\x81" -+"\x3d\x8a\x84\xfb\x58\x18\x9d\x06\xa1\xf7\x0d\xb4\xb0\xf7\x06\x90\x08\xeb\x9d\x06\x41\x7b\x9a\xd1\x1f\xf8\x5c\x07\xd1\x3d\x1d\x2f" -+"\x1d\xfb\x7b\x07\x93\x1d\x0e\x77\xf7\x92\xa9\x15\x8c\xfb\x28\x05\x9d\x06\xa2\xe3\xa4\xa3\xd4\x91\x08\xf4\x9c\x6c\x06\x58\x8e\x87" -+"\x93\x89\xe8\x08\xf7\x64\x07\xe3\x38\x0a\xfb\x70\x7a\x96\x06\x85\x1d\x64\x88\x6b\x88\x86\x1e\x88\x82\x79\x86\x65\x8a\x08\x0e\xad" -+"\xf7\xc0\x15\x8f\x50\x92\x6f\x9f\x61\x08\xfb\x09\xc3\xf7\x01\x47\xf7\x17\x1b\xf7\x55\xf7\x1a\xf7\x22\xf7\x5e\xf7\x5e\xfb\x1c\xf7" -+"\x24\xfb\x53\x3a\x3c\x6e\x56\x4f\x1f\x5f\x65\x77\x69\x70\x3b\xd5\x80\x18\xa3\xd5\xa2\xb6\xa7\xa7\x08\xb4\xb6\xc4\xa2\xc4\x1b\xbe" -+"\xb9\x7a\x6a\xaf\x1f\xbf\x5d\xac\x25\xfb\x03\x1a\x79\x8b\x8b\x8a\x7e\x1e\x87\x60\x15\xfb\x29\x79\x3f\x35\xfb\x05\x1b\xfb\x06\x40" -+"\xdf\xf7\x2b\x75\x1f\x0e\x22\x0a\xa5\xf8\xf9\x37\x1d\x4c\x6f\x1d\xba\xf8\x20\x37\x1d\xda\x1d\x2e\xab\x2f\xc1\x51\xe5\x1d\xf7\x20" -+"\xf7\x5e\xee\x6e\xe0\x54\xc6\x1f\xd0\x4c\x37\xaf\x2b\x1b\xf7\x68\xfc\x05\x15\x87\x3b\x79\x45\x71\x62\x08\x4e\x65\x51\x6a\x48\x1b" -+"\x44\x48\xb3\xc7\x6c\x1f\x72\xbe\x7c\xc8\x87\xd4\x08\x8a\xb7\x15\x8e\xd4\x9a\xc9\xa7\xc1\x08\xc7\xaa\xce\xb3\xd0\x1b\xd0\xce\x63" -+"\x4f\xaa\x1f\xa7\x55\x9a\x4d\x8e\x42\x08\x0e\x84\xf7\x8e\xf8\x59\x15\xfb\x17\x31\x2d\xfb\x1d\xfb\x19\xe8\x28\xf7\x12\xf7\x12\xeb" -+"\xf3\xf7\x1c\xf7\x16\x2f\xe8\xfb\x14\x1f\xf7\x16\xfb\x85\x15\x79\x07\xfb\x01\x5e\x48\x42\x42\x5b\xce\xf7\x13\x79\x1e\x88\xaf\x15" -+"\x8a\x96\x8b\x91\x92\x1a\xe7\xba\xc8\xd2\xd3\xc1\x47\xfb\x01\x98\x1e\x0e\xf3\x21\x0a\xfb\x24\xf9\xfa\x15\x3f\x6f\x72\x5a\x1d\xb3" -+"\x78\xba\x1b\xdf\xb9\x49\x0a\x4c\xf8\x31\xf7\x38\x15\x3f\x5b\x60\x6e\x4b\x1b\x52\x60\xa8\xc4\x6e\x1f\x79\xb1\x84\xab\x89\xc9\x08" -+"\xf7\xc8\x06\x83\xcc\x81\xa8\x72\xab\x08\xaf\x6d\x5d\xa0\x57\x1b\x59\x5c\x79\x69\x65\x1f\x5c\x62\x70\x44\x39\x1a\xfb\x1e\xd3\x35" -+"\xf7\x07\xea\xd6\xc6\xf7\x00\xb5\x1e\x91\x0a\xb3\xf7\xf7\x15\x3f\x6e\x73\x76\x51\x1b\x4b\x69\xa9\xce\x7d\x1f\x6e\x06\x8c\x58\x92" -+"\x73\x9e\x6f\x08\x68\xa4\xb2\x78\xbb\x1b\xde\xba\x49\x0a\x84\x8d\xf9\xbe\x15\x5a\xf8\x85\xbc\x07\x0e\xf8\x81\xad\x89\x15\x92\x06" -+"\xd5\x06\xf7\x44\xcd\x97\xb7\xcc\x1f\xf1\xd0\xd5\xf7\x36\xf7\x2f\x1a\xea\x6d\xde\x5b\xb1\x1e\xa7\x67\x5a\x98\x4a\x1b\xfb\x2b\x20" -+"\x56\x2e\x69\x1f\x7d\x66\x87\x73\x8a\x49\xd9\xb1\x18\x94\x07\x8a\xea\xb0\xb7\xe6\x99\x3d\xfc\x3e\x18\x7a\x40\x72\x5c\x6d\x81\x74" -+"\x8c\x18\xe5\x16\x8f\x8e\xc2\xb9\x9e\xb6\xa1\xf7\x13\x19\xc7\xf7\xec\x05\x92\x06\x8e\x06\xb4\x96\x8a\x87\x98\x1f\xc4\x76\xa9\x49" -+"\x26\x1a\xfb\x66\x2c\xfb\x29\xfb\x1e\x84\x1e\xf7\x8d\xfb\x99\x15\xda\x06\xb1\xf7\x62\x05\x7b\xb2\x8e\x8a\xa1\x1b\xf7\x14\xf7\x01" -+"\xf7\x39\xf7\x53\xf7\x00\x5e\xc3\x36\x57\x5e\x75\x62\x6a\x1f\x66\x5d\x76\x50\x73\xfb\x18\x08\xea\xe6\x15\xe6\x9b\xb0\xc0\xb9\x1b" -+"\xb4\xa1\x61\x3c\xfb\x2a\x52\xfb\x0b\x43\x6e\x75\x96\xa5\x77\x1f\x0e\xf3\xf7\x92\x16\x7c\xf7\x2f\x05\x49\xb9\x62\xe2\xea\x1a\xbf" -+"\x98\xc7\xa2\xbc\x1e\xc9\xa9\xbc\xaf\xc4\x1b\xc2\xbc\x67\x4d\xa9\x1f\xa2\x5a\x98\x50\x56\x1a\x2c\x62\x33\x49\x5e\x1e\x7c\xfb\x2f" -+"\x05\xf7\x88\xf7\x2d\x77\x06\x5e\x84\x7b\x79\x68\x1b\xfb\x0d\x06\x8d\xb1\x05\xf7\x00\xb9\xc8\xe7\xf7\x09\x1a\xcf\x73\xd3\x60\xc4" -+"\x1e\xd1\x58\x47\xaf\x3c\x1b\x46\x4e\x6f\x55\x5a\x1f\x56\x50\x6a\x38\x3c\x1a\xfb\x09\xc9\x2e\xf6\x5e\x1e\x8d\x65\x05\xfb\x0d\x06" -+"\x68\x8c\x7b\x9c\x84\xb8\x08\x77\xfb\x2d\x06\x0e\xfb\xe8\xb4\x0a\xfb\x95\xf7\x11\xf7\xca\x2b\x0a\xf8\x81\xf8\xa9\xf8\x95\x15\x49" -+"\x06\xfb\x74\xfc\x95\x05\xdb\x06\xf7\x45\xf8\x2d\xf7\x45\xfc\x2d\x05\xdb\x06\x0e\xf8\x81\xf8\xa9\x16\xf7\x74\xf8\x95\x05\x3b\x06" -+"\xfb\x45\xfc\x2d\xfb\x45\xf8\x2d\x05\x3b\x06\xf7\x74\xfc\x95\x05\x0e\xf8\x81\xf8\x8c\xf9\x60\x15\xfb\x60\xfb\x34\xfb\x32\xfb\x5f" -+"\xfb\x5b\xf7\x34\xfb\x33\xf7\x5d\xf7\x5b\xf7\x34\xf7\x34\xf7\x5c\xf7\x59\xfb\x34\xf7\x36\xfb\x58\x1f\xa4\x52\x15\xf7\x23\x7e\xf7" -+"\x06\xfb\x06\x99\xfb\x25\x08\xfb\xa3\x06\xf7\xa4\x52\x15\x82\xfb\x22\xfb\x0d\xfb\x0f\xfb\x22\x80\x08\xf7\xa8\x07\x53\xfb\xa8\x15" -+"\xfb\x27\x99\xfb\x05\xf7\x05\x7d\xf7\x29\x08\xf7\xa6\x06\xfb\xa6\xc4\x15\x99\xf7\x24\xf7\x07\xf7\x06\xf7\x25\x99\x08\xfb\xa4\x07" -+"\x0e\xf7\x11\xf7\x10\x15\xf8\x67\xf8\x67\xfc\x67\x06\xb3\xfc\x3f\x15\xf8\x17\xf8\x17\xfc\x17\x07\x0e\xf8\x81\xf9\x64\xf8\xc3\x15" -+"\x4f\xfb\x8d\x06\x26\x86\x62\x7c\x6e\x1e\x5b\x72\x53\x6b\x50\x1b\x57\x58\xa4\xb3\x6f\x1f\x74\xac\x85\xb4\xf7\x04\x1a\xf7\x8d\x4f" -+"\xfb\x8a\x07\xfb\x1d\x90\x69\xa3\x63\x1e\x4a\xb1\xd1\x66\xde\x1b\xd7\xcb\xaa\xc3\xb4\x1f\xac\xb8\x91\xab\xf7\x29\x1a\x0e\xe1\xf8" -+"\x27\xf8\x1c\x15\xfb\x69\x06\x41\xf7\x4d\x05\x2d\x06\xf7\x7d\xfc\xd5\x05\xde\x06\xf7\x7d\xf8\xd5\x05\x2d\x06\x22\xfb\x9d\x15\x3f" -+"\xfb\x48\x40\xf7\x48\x05\x0e\x84\xf8\x73\xbd\x15\x86\x06\x5a\x8d\x84\x93\x8a\xba\x08\xf7\xeb\xfb\x32\x7a\x07\xc9\x88\x97\x81\x59" -+"\x1a\xfb\x7f\x07\x6f\x86\x7d\x7d\x80\x1e\x75\x70\x6c\x7f\x6d\x1b\x64\x6b\xad\xb5\x1f\xf7\xda\xfb\x26\x7d\x07\xba\x89\x99\x7d\x8c" -+"\x5b\x08\xfb\x90\x07\x3c\xbb\x58\xd4\xb0\xb2\x9b\xa6\xa6\x1e\xb6\xb6\x05\x22\x07\x7a\x74\x85\x7b\x76\x1a\x60\xaa\x6a\xb5\xb4\xad" -+"\xa1\xc1\xb0\x1e\x77\x9b\x05\x70\x6c\x78\x82\x76\x1b\x75\x7b\x9b\xa2\xa3\x9d\xa9\xa5\xa1\x1f\x9f\x9b\x99\x92\xa9\x92\x08\x0e\x7f" -+"\x3f\x1d\x0e\x7f\x3f\x1d\xf7\x25\xf7\x76\x35\x0a\xf7\x2c\x16\x4d\x1d\xa8\xa7\xa2\xa2\xa8\xa6\x74\xa3\x6f\x1f\x0e\x7f\x3f\x1d\xf7" -+"\x64\xf7\x4b\x15\xa4\x06\x97\xb1\x05\x93\xa5\x8e\x99\x99\x1a\xab\x7f\x9b\x73\x76\x7d\x79\x71\x7e\x8f\x77\x93\x72\x1e\x58\x5a\x15" -+"\x72\x77\x78\x72\x73\x9e\x77\xa4\xa3\x9f\x9f\xa3\xa3\x77\x9f\x74\x1f\xf7\x2c\x16\x72\x77\x78\x72\x73\x9f\x77\xa3\xa3\x9f\x9f\xa3" -+"\xa3\x77\x9f\x74\x1f\x0e\x7f\x3f\x1d\xf7\x63\xe8\x5f\x0a\xc0\x8c\x8f\x9e\xed\x1d\x8c\x84\x98\x59\x1e\x0e\x84\x25\x1d\xfb\x79\xf9" -+"\x37\x42\x1d\x84\x25\x1d\x28\xf8\xee\x4b\x0a\x31\x1d\xfc\x07\xc4\x3a\x1d\x31\x1d\xfb\x49\xc4\x20\x1d\x31\x1d\xfc\x49\xf7\x41\x15" -+"\x71\x75\x74\x70\x6f\x9f\x75\xa7\xaa\x1d\x31\x1d\xfb\x9a\xc4\x29\x0a\x4e\xf7\x2c\xf9\x60\x15\x56\x5e\x05\x86\x86\x87\x85\x87\x1a" -+"\x7e\xb3\x75\xc6\x79\x1e\x50\x64\x72\x68\x5c\x1a\x5b\xa3\x6c\xbe\x77\x1e\x34\x4a\x64\x4a\x3c\x1a\x57\x9f\x5c\xae\x6a\x1e\x6c\xad" -+"\xb2\x7d\xc2\x1b\xa0\x9b\x8c\x8f\xb3\x1f\x8c\x96\x96\x8c\x92\x1b\xa3\x99\x7d\x75\x6c\x71\x72\x6b\x84\x86\x8c\x8f\x7f\x1f\x90\x7c" -+"\x82\x8d\x82\x1b\x75\x7b\x7b\x76\x71\xa2\x7a\xab\xd3\xcc\xd4\xda\xbf\x6f\xa9\x59\x84\x7c\x8a\x89\x7b\x1f\x89\x71\x71\x89\x7c\x1b" -+"\x4a\x64\xb9\xd9\xce\xa5\xc6\xc1\xc0\x1f\x87\xa1\x96\x8a\x9c\x1b\xd0\xc7\xa9\xad\x9d\x76\x98\x6e\x69\x5f\x78\x65\x55\x1f\x6f\xa5" -+"\x81\xa2\xae\x1a\xb3\x99\xa8\xaf\xac\x1e\x82\xb2\x9f\x88\xa8\x1b\xcd\xbe\xa3\xaa\x9e\x72\x99\x69\x63\x5e\x7d\x6d\x53\x1f\x4c\xa2" -+"\x7d\x94\x9d\x1a\x95\x8f\x96\x93\x97\x1e\x0e\x84\x33\x1d\x47\xd3\x15\xfb\x11\xf7\x3b\x05\x4d\x06\xfb\x10\xfb\x3b\x05\xad\x06\xf7" -+"\x0d\xf2\xf7\x0e\x24\x05\x0e\x84\x33\x1d\xfb\x30\xd3\x15\xfb\x27\xf7\x28\x05\x9d\x79\x82\x90\x7b\x1b\x77\x7e\x7f\x78\x7b\x95\x7c" -+"\x9e\x7f\x1f\xf7\x2e\x2a\x05\x0e\x4c\x34\x0a\xfb\x6b\xf8\x8f\x2a\x0a\x4c\x34\x0a\xfb\x4a\xf9\x03\x43\x1d\x0e\x2e\xf7\x0e\xf9\x3e" -+"\x15\x57\x5a\x05\x89\x88\x89\x87\x88\x1a\x72\xc5\x64\xd1\x75\x1e\x20\xfb\x02\x56\xfb\x07\xfb\x11\x1a\x4a\x9c\x5f\xb1\x67\x1e\x6c" -+"\xad\xb2\x7d\xc2\x1b\xa0\x9b\x8c\x8f\xb3\x1f\x8c\x96\x96\x8c\x92\x1b\xa3\x99\x7d\x75\x6c\x71\x72\x6b\x84\x86\x8c\x8f\x7f\x1f\x90" -+"\x7c\x82\x8d\x82\x1b\x75\x7b\x7b\x76\x71\xa2\x7a\xab\xd3\xcc\xd4\xda\xbf\x6f\xa9\x59\x84\x7c\x8a\x89\x7b\x1f\x89\x70\x72\x89\x7c" -+"\x1b\x48\x66\xb9\xdc\xf7\x07\xaf\xf4\xd8\xf7\x04\x1f\x8a\x98\x94\x8b\x96\x1b\xd5\xd7\xb4\xb4\x9b\x78\x99\x75\x60\x5c\x72\x55\x4e" -+"\x1f\x4d\xa2\x69\xa7\xa6\x1a\x95\x90\x95\x97\x99\x1e\x0e\x7d\x99\xf8\x56\x95\xf7\x5e\x99\x06\xb1\x0a\xde\x0b\xa4\x8f\x8f\x90\x8e" -+"\x8e\x8f\x91\x8f\x8f\x8f\xb2\x0c\x0c\xb2\x8f\x9f\x90\x8f\x8f\x8e\x8f\x8f\x8f\x95\x8f\x0c\x0d\xf9\x66\x14\xf8\x8f\x15\xbc\x13\x00" -+"\xad\x02\x00\x01\x00\x0b\x00\x16\x00\x2a\x00\x7f\x00\xbc\x00\xc2\x00\xc6\x00\xcb\x00\xd0\x00\xd8\x00\xdb\x00\xdf\x00\xea\x00\xef" -+"\x00\xf4\x01\x27\x01\x9f\x01\xc4\x01\xf9\x02\x32\x02\x66\x02\x6a\x02\x74\x02\x7c\x02\x84\x02\x8b\x02\xb5\x03\x1a\x03\x52\x03\x71" -+"\x03\x7e\x03\x8c\x03\x9e\x03\xab\x03\xb5\x03\xc5\x03\xd0\x03\xda\x03\xe3\x03\xe9\x03\xf1\x03\xf6\x03\xfe\x04\x1b\x04\x31\x04\x3a" -+"\x04\x5a\x04\x6f\x04\x7b\x04\x89\x04\x97\x04\x9b\x04\xa7\x04\xac\x04\xb8\x04\xc1\x04\xc9\x04\xcf\x04\xd8\x04\xdd\x04\xe3\x04\xe8" -+"\x04\xf0\x04\xf8\x05\x00\x05\x06\x05\x87\x06\x03\x06\x79\x06\x82\x06\xed\x06\xff\x07\x68\x07\x81\x07\xc3\x08\x20\x08\x31\x08\x38" -+"\x08\x51\x08\xa5\x08\xe7\x09\x0c\x09\x50\x09\x8a\x09\x96\x09\xd5\x09\xe8\x09\xee\x0a\x26\x0a\x4e\x0a\x84\x0a\x8b\x0a\x9d\x0a\xc7" -+"\x0a\xf0\x0a\xfa\x0b\x29\x0b\x56\x0b\x81\x0b\xab\x0b\xaf\x0b\xb6\x0b\xca\x0b\xdd\x0b\xf2\x0c\x12\x0c\x20\x0c\x2a\x0c\x39\x0c\x40" -+"\x0c\x52\x0c\x58\x0c\x79\x0c\x8b\x0c\x94\x0c\xa4\x0c\xad\x0c\xb2\x0c\xbb\x0c\xd8\x0c\xe0\x0c\xe8\x0c\xed\x0d\x08\x0d\x22\x0d\x3c" -+"\x0d\x49\x0d\x50\x0d\x5e\x0d\x6c\x0d\x7e\x0d\x93\x0d\x97\x0d\xac\x0d\xc1\x0d\xca\x0d\xce\x0d\xd7\x0d\xea\x0d\xef\x0d\xfa\x0e\x05" -+"\x0e\x17\x0e\x1b\x0e\x28\x0e\x3a\x0e\x40\x0e\x51\x0e\x58\x0e\x68\x0e\x72\x0e\x79\x0e\x88\x0e\x91\x0e\x9a\x0e\xa3\x0e\xb1\x0e\xbf" -+"\x0e\xcd\x0e\xdb\x0e\xe8\x0e\xf5\x0f\x02\x0f\x0e\x0f\x1a\x0f\x26\x0f\x32\x0f\x3c\x0f\x46\x0f\x50\x0f\x5b\x0f\x66\x0f\x6f\xdf\x1d" -+"\xf7\x10\xfb\x3b\x05\xc9\x06\x0e\xf8\xe9\xf7\x3d\x15\x7a\x1d\xf8\xb0\x07\x0b\x84\x1d\xf7\x93\x07\xfc\x7e\xf7\x95\x15\xf7\x07\xf7" -+"\xa7\xf7\x08\xfb\xa7\x05\x0b\xda\x1d\x2d\xab\x2f\xc1\x52\xe5\x1d\xf7\x1f\xf7\x5e\xee\x6e\xe1\x54\xc6\x1f\xd0\x4c\x37\xaf\x2b\x1b" -+"\x67\x04\xb9\xb9\x79\x6b\xaf\x1f\xc1\x5a\xaa\x2d\xfb\x0b\x1a\x50\x7f\x46\x76\x57\x1e\x82\x72\x7a\x72\x74\x74\x08\x68\x68\x5e\x79" -+"\x56\x1b\x5d\x5e\x9d\xaa\x67\x1f\x58\xb9\x6a\xf0\xf7\x03\x1a\xf1\xa7\xec\xb5\xba\x1e\xb6\xb2\xbc\xa1\xc2\x1b\x0b\xf7\x8e\xf8\x60" -+"\x15\xfb\x17\x31\x2b\xfb\x1e\xfb\x1c\xe8\x27\xf7\x12\xf7\x12\xeb\xf4\xf7\x1f\xf7\x18\x2f\xe9\xfb\x14\x1f\x7e\x6f\x15\xdf\xc6\x2b" -+"\xfb\x1d\xfb\x06\x5e\x48\x40\x64\x66\xa3\xb3\x76\x1f\x6f\xbf\x7b\xd1\xd2\x1a\xea\xb9\xc9\xd3\x1e\x0b\x15\xce\xac\xb8\x85\x0a\xf8" -+"\x56\x15\x0b\x9b\x16\x6c\x0a\x0b\x86\x82\xb7\x0a\x0b\xb0\x0a\x95\x7c\x9e\x7f\x61\x0a\x9a\x0a\x0e\x15\x2c\x1d\x0e\x15\x5d\x06\xfc" -+"\x59\xfd\x46\x05\xbc\x06\x0b\xd7\x1d\x93\x8c\x0b\x7c\x45\x8c\x1f\x0b\xf8\x53\xf9\x38\x15\x6f\x0a\x7c\xb1\xb4\x83\xb2\x1b\xf7\x08" -+"\xe3\xda\xf3\xdd\x54\xcb\xfb\x18\xd3\x1f\x22\xc4\x61\xb7\xc2\x1a\xc2\xb5\xb0\xc9\xb8\xb5\x78\x67\xae\x1e\xaa\x6b\x99\x71\x9b\x50" -+"\x08\xa4\x06\x0b\xf9\x59\xf7\xf6\x15\xfb\x93\x79\x06\xd9\x86\x93\x83\x8d\x3f\x08\xfb\x36\x07\x6b\x4f\x70\x42\xfb\x37\x27\xf7\x06" -+"\xf7\x4e\xe9\xa7\xe6\xb7\xbc\x1e\xbc\xb6\xca\xa6\xcf\x1b\xc3\xbd\x78\x67\xb1\x1f\xa9\x6e\x9b\x71\xa4\x4e\x08\xa2\x06\x83\xf7\x67" -+"\x05\x75\x06\x77\x85\x79\x7e\x76\x1b\x81\x7b\x8e\x92\x79\x1f\x9a\x5e\x5c\x93\x5e\x1b\xfb\x5b\xfb\x23\xfb\x27\xfb\x60\x29\xa6\x40" -+"\xc3\x50\x1f\x46\xcd\xec\x65\xf7\x02\x1b\xe2\xf7\x10\xae\xae\xb3\x1f\xf7\x5f\x07\x8d\xc8\x96\x97\xc4\x8f\x08\x0b\xf9\x00\xf8\x57" -+"\x15\x9c\x0a\x38\x6c\x54\x4d\x1f\x45\x4d\x65\x2f\xfb\x02\x1a\xfb\x60\xf7\x19\xfb\x1c\xf7\x5b\xf7\x05\xef\xb9\xdc\xc7\x1e\x82\x0a" -+"\x0b\x9d\x16\xf7\x68\x9a\x06\x59\x8e\x7b\x98\xaf\x1a\xf7\xad\x07\xb8\xbb\xa1\x97\xac\x1b\xbc\xa3\x6c\x49\x1f\xfb\x65\x07\x89\x4a" -+"\x7f\x7b\x5a\x88\x08\x7c\xf7\x64\x9a\x07\x5a\x90\x80\x97\x8a\xbc\x08\xf7\x79\x94\x1d\x0b\xf9\x57\x21\x1d\xfb\x7f\x78\x06\xdb\x86" -+"\x98\x7a\x8e\x21\x08\xfb\xe5\x07\xfc\x15\xf8\x78\x05\xfb\x3f\x78\x06\xb6\x99\x83\x5c\xb3\x1f\xfc\x4d\x59\x1d\xf8\x1c\x07\xf8\x4e" -+"\xfc\xba\x05\x9c\xf8\xa2\x06\x8e\xf3\x98\x9c\xda\x92\x08\x0b\xf8\x36\xf7\x1b\x15\x79\x8f\x79\x2d\x7d\x7f\x2b\x88\x19\xfb\x1e\x06" -+"\xf7\xa1\xf8\x29\x05\x9a\xfb\xef\x07\x88\xfb\x0a\x05\x9d\x06\x93\xd2\x99\x9a\xc9\x8d\x08\xf7\x1e\x06\xfb\x9e\xfc\x29\x05\x7c\xf8" -+"\x0d\x07\x0b\x15\x41\x0a\x0b\xa2\x8a\x05\xbf\xe3\x1d\x57\x4f\x1d\x0b\x15\xa8\x06\x95\xb7\x05\x9a\x0b\x93\x9a\xbc\x8c\x1e\x9b\x9c" -+"\x0b\x07\xd1\x9b\x9a\xd5\x1e\x0b\xf8\x6a\xf8\x18\x71\x1d\xfb\x84\xfc\x1a\x9b\x0a\x90\xf7\xe8\x15\xc6\xa7\xae\xb9\xaa\xa5\x7a\x6d" -+"\x9b\x1e\x9e\x68\x96\x5e\x63\x1a\x53\x6f\x68\x5d\x4d\x62\xcc\xeb\x1e\x0b\xf9\x27\x9e\x15\x65\x8e\x77\x95\x6e\xad\xfb\x62\xf7\x91" -+"\x18\xf7\x13\xa4\xc1\xbd\xe7\x1a\xb6\x7e\xb0\x71\xa8\x1e\xb4\x65\x37\xa5\x2e\x1b\xfb\xa8\x78\x06\xd5\x83\x95\x48\x1d\x82\x81\x40" -+"\x85\x08\x78\xf7\xa9\x9e\x07\x3e\x90\x7f\x97\x8a\xd4\x08\xf7\x59\x07\xc3\x8d\xf7\x82\xfb\xc8\x05\xf7\x35\x06\xfc\x5b\xf8\xe1\x15" -+"\xa7\x96\x93\xb3\xf7\x11\xc5\x60\x2d\x59\x76\x61\x67\x78\x1e\x5d\x71\x68\x85\x2b\x89\x08\x0b\xf8\xd2\xf7\x44\x15\x6d\x20\x69\x70" -+"\xfb\x00\x87\x08\xfb\x95\x06\xf8\x44\xf8\xf5\x05\x9a\xfc\xa2\x07\x77\xfb\x3f\x05\xa5\x06\x9c\xf0\xaf\xa8\xf7\x07\x8e\x08\xf7\x71" -+"\x06\xfc\x49\xfc\xf5\x05\x7c\xf8\xc8\x07\xa3\xf7\x44\x05\x0b\xa0\x16\xf7\x80\x9a\x06\x4c\x8e\x80\x95\x8a\xc3\x08\xf8\xe9\x07\x87" -+"\x8d\x58\x7b\x66\x80\x44\x7a\x43\x0a\xfc\x71\x68\x1d\x0b\x2b\x1d\xf7\x5b\x16\x71\x75\x74\x70\x6f\x49\x1d\x0e\x06\x81\xfb\x34\x9e" -+"\x89\x8f\xdf\xac\xaa\xe0\x8a\x19\x0b\x92\x91\x8c\x8c\x91\x1e\x8d\x90\x8b\x8b\x8d\x1b\x93\x91\x85\x83\x6a\x0b\x4d\x1d\xa7\xa8\xa2" -+"\xa2\xa8\xa7\x74\xa2\x6f\x1f\x0b\x59\x0a\xf7\xb3\x9d\x07\x74\x8c\x05\x0b\x19\x7b\x91\x07\x8c\x96\x97\x8c\x93\x1b\xab\x95\x7d\x5c" -+"\x1f\x0b\x82\x86\x79\x79\x1e\xfb\x27\xfb\x28\x05\x0b\x9c\x7b\x06\x5a\x8c\x83\x9a\xe3\x1a\x0b\x07\x8a\x36\x82\x80\x3d\x86\x08\x0b" -+"\x26\x0a\xf7\x08\x07\x0b\x87\x84\x9a\x1f\xa2\x80\x05\x0b\xbe\xf5\x97\x1f\x0e\x7d\x1d\x73\xac\x4f\x56\x1d\x0b\x15\x65\x7a\x7e\x7f" -+"\x74\x1b\x7c\x78\x91\x94\x64\x1d\xaa\x96\x9c\x9a\xa2\x1b\x97\x99\xb6\x0a\xa8\xa9\xd7\xa0\x1f\x0e\xa3\xf9\x18\x15\xa2\x8a\x05\xbf" -+"\x89\x9b\x78\x4c\x1a\xfc\x5c\x8a\x0a\x9d\xfb\xb2\x07\x0e\x15\xce\xac\xb8\xc8\xc7\x8c\x0a\x0b\xa4\x6a\x87\x85\x18\x85\x84\x05\x3e" -+"\x29\x62\x51\x7e\x1a\x85\x8e\x88\x91\x90\x8d\x8c\x90\x8f\x1e\xc6\xc5\xb3\xb0\xd2\xc8\x08\x0b\xc3\x0a\xf7\x36\xe4\xce\xf7\x10\xf7" -+"\x10\x2c\xd1\xfb\x3a\x6c\x77\x8a\x86\x6d\x1f\x0b\xa2\x1e\xa9\xc7\x15\x5d\xe0\x1d\x66\x6c\x7d\x0b\xef\x1d\xfb\x65\x07\x8a\x2f\x86" -+"\x82\x58\x89\x08\x7a\x0b\xd1\x1d\xf7\xb2\x9d\x07\x75\x8c\x05\x56\x8d\x7c\x9e\x0b\x15\xcd\x1d\x0b\xfb\xce\x06\x89\x40\x81\x80\x44" -+"\x88\x08\x7c\x0b\x1b\xdd\xd8\x1d\x0b\xf7\x64\x07\xe3\x93\x9a\xbc\x8c\x1e\x9b\x9c\x0b\xa2\xa1\xa7\xa6\x74\xa2\x70\x1f\x0b\x06\x7e" -+"\xfb\x1f\x05\x9b\x06\x0b\x7c\x78\x56\x4f\x1d\x0b\x1b\xb1\x9a\x81\x71\x70\x76\x7a\x0b\x15\x30\x1d\xa0\x0b\x85\x8a\x89\x81\x1f\x0b" -+"\xe1\x1d\xfb\xb3\x0b\x40\x91\x7f\x97\x8a\xd3\x08\x0b\x15\xa6\x06\x94\xb3\x05\x99\x0b\x9d\x07\x3f\x7b\x99\xd2\x1f\x0b\x1f\xf7\x2e" -+"\x2a\x05\x0e\x92\x16\xf7\x7e\x9a\x06\x77\x8c\x61\x8e\x7f\x96\x8a\xb0\x19\xf7\x4c\x07\xf7\x20\xfb\x4f\x8f\x86\x8e\x86\x8e\x88\x19" -+"\x93\x81\x8e\x85\x86\x1a\x82\x82\x85\x7f\x1e\x78\x7c\xf7\x6e\x9a\x06\x5f\x8e\x6c\x9e\x61\xbe\xfb\x2d\xf7\x56\x18\xa8\xa6\xf7\x11" -+"\xf7\x04\xa6\x9b\xcb\x89\x19\x9a\xfb\x60\x7d\x07\xb2\x8a\x96\x87\x7e\x1a\x82\x82\x7e\x7d\x7e\x1e\xfb\x1d\xfb\x0e\x05\xf8\x38\x07" -+"\x87\x8d\x64\x7f\x6e\x82\x52\x7c\x19\x6d\x83\x05\x7b\x07\x8c\x98\x94\x8c\x95\x1b\xad\x94\x7e\x5b\x1f\xfc\x76\x07\x8a\x56\x88\x88" -+"\x44\x80\x08\x0b\xf8\x31\xf9\x17\x15\xc7\x88\x93\x87\x73\x1a\x75\x74\x6d\x54\x58\x1e\xfb\x45\xfb\x35\x05\xf7\x61\x07\x8c\xd6\x95" -+"\x94\xdc\x91\x08\x9e\xfb\xb0\x78\x07\xd8\x86\x96\x7f\x8d\x42\x08\xfc\x45\x07\x8a\x36\x80\x80\x3d\x86\x08\x78\xf7\xae\x9e\x07\x3e" -+"\x90\x7f\x96\x8a\xd5\x08\xf7\x4f\x07\xa5\xa0\xf5\x22\x05\xd8\x3e\xc0\x46\x73\x1a\x7c\x7e\x85\x6e\x8a\x1e\x86\x80\x8b\x8a\x7f\x1f" -+"\x78\xf7\xc5\x9e\x07\x57\x8c\x7d\x95\x30\xec\xfb\x7d\xf7\x8e\x18\xf7\x52\xf7\x50\xcf\xcc\x9b\x93\xcf\x90\x19\x9e\xfb\x9a\x07\x0b" -+"\xf9\x26\xf9\x72\x15\x5a\x06\x43\x20\x05\xaf\x4b\x5e\x98\x49\x1b\xfb\x55\xfb\x1b\xfb\x23\xfb\x5f\x4b\x9a\x4b\xa5\x59\x1f\x9d\x68" -+"\x9b\x77\xb5\x65\x2c\xfb\x1f\x18\xbc\x06\xda\xf7\x08\x05\x66\xc9\xb9\x7e\xcf\x1b\xf7\x56\xf7\x1a\xf7\x21\xf7\x61\xcb\x7c\xcc\x70" -+"\xbd\x1f\x79\xae\x7a\x9f\x62\xb1\x08\x60\x4b\x15\xad\x4a\x98\x53\x31\x1a\xfb\x52\x3a\xfb\x09\xfb\x18\x51\x62\x9e\xba\x60\x1e\x72" -+"\xae\x15\x69\xcb\x7f\xc2\xe3\x1a\xf7\x53\xdd\xf7\x0b\xf7\x17\xc3\xb4\x78\x5d\xb7\x1e\x0b\x7d\x1d\x74\xac\x4e\x56\x1d\xbd\x0b\x15" -+"\x25\x06\x64\xfb\x17\x7c\xbb\x86\x99\x82\x9d\x19\xb9\x72\x65\xa3\x5a\x1b\xfb\x07\x2e\xfb\x0d\xfb\x29\xfb\x14\xd3\x31\xf2\xd6\xc4" -+"\xae\xd3\xb5\x1f\x91\x65\x93\x77\x9a\x74\x08\x7a\x96\x96\x82\x92\x1b\x8e\x90\x8d\x8e\x92\x1f\xe6\xb4\x05\xaf\x07\x84\x7a\x83\x89" -+"\x81\x1b\x63\x6e\xb0\xd6\x7a\x1f\x34\x9d\x15\xfb\x08\x66\x66\x53\x62\x1b\x58\x68\xdb\xf7\x09\xf7\x1f\xb4\xdf\xce\xa8\xa2\x7c\x69" -+"\x9f\x1f\x99\x74\x93\x72\xa0\x3d\x08\x0e\xc5\x15\xc5\x0a\xf8\xcb\xbf\x1d\xfb\x30\xa1\x1d\xfb\x2b\xc7\x97\x0a\x0b\xf8\x49\xf8\xbb" -+"\x15\x64\x06\x52\xfb\x01\x05\x98\x68\x74\x90\x69\x1b\xfb\x15\x30\x2a\xfb\x1c\x5d\x97\x5d\xa0\x65\x1f\x9b\x70\x98\x7c\xad\x70\x42" -+"\xfb\x20\x18\xb0\x06\xcc\xf7\x0f\x05\x7b\xae\xa2\x86\xae\x1b\xf7\x13\xeb\xf4\xf7\x1f\xbb\x7d\xbc\x73\xb0\x1f\x7b\xa3\x7e\x97\x6c" -+"\xa1\x08\x6b\x4f\x15\xa8\x55\x96\x5e\x4b\x1a\xfb\x09\x5f\x47\x40\x69\x74\x97\xa9\x72\x1e\x76\xab\x15\x70\xc5\x7f\xc4\xd0\x1a\xe9" -+"\xba\xc9\xd2\xaa\x0b\x9e\x16\xf7\xaa\x9e\x06\x8e\x0a\xf8\x50\xa4\x0a\xfb\x56\xfb\xc3\xf7\x56\xa4\x0a\xfc\x45\x46\x0a\x0b\x9b\x16" -+"\xf7\xb0\x06\xf7\x08\xf4\xac\xc3\xc9\x1f\xcc\xc6\xb0\xe4\xec\x1a\xe5\x6e\xd9\x53\xc2\x1e\xd0\x47\xfb\x01\xaf\xfb\x1d\x1b\xfb\xa2" -+"\x78\x06\xda\x84\x93\x83\x8c\x40\x08\xfc\x50\x07\x8a\x42\x7f\x7f\x40\x86\x08\xf7\x52\xf8\xcb\x15\xaa\x95\x93\xb5\xe2\xac\x1d\x0b" -+"\xf8\x04\xf8\x51\x15\x97\x5c\x5c\x91\x5d\x1b\x2b\x40\x5a\x4b\x66\xa0\x6f\xbd\x6e\x1f\x4b\x62\x75\x6a\x57\x1a\x3b\xd1\x52\xec\xef" -+"\xd1\xc8\xf3\x9f\x1e\x78\x8e\x05\x3d\x72\x5b\x62\x48\x1b\x48\x58\xbd\xcf\xa8\x93\xa0\xa2\xaa\x1f\x7d\xab\xa8\x84\xaa\x1b\xa9\x9e" -+"\x97\xa0\x9f\x74\x98\x68\x72\x75\x86\x7e\x67\x1f\x7a\x9a\x84\x9c\xa1\x1a\xbb\xaf\xa6\xcb\xb7\xb0\x83\x78\xb8\x1e\x0b\xf7\x81\x9a" -+"\x06\x49\x90\x84\x94\x8a\xd4\x08\xf7\xf7\x07\xa5\x1d\x0b\xf7\x6a\xf7\x49\x6e\x0a\x0b\x15\xf8\x0e\x9e\x1d\x91\x07\xf7\xbb\xf8\x0e" -+"\x05\xfc\x14\xb0\x1d\x79\x07\xd5\x9b\x7d\x45\x8c\x1f\x0b\x76\x06\x75\x87\x80\x7f\x7a\x1b\x81\x7a\x8f\x93\x7a\x1f\x99\x66\x66\x93" -+"\x6a\x1b\x61\x5f\x7a\x6e\x6a\x1f\x68\x6c\x79\x61\x57\x1a\x3b\xb7\x53\xf7\x04\x50\x1e\xd3\x64\xbf\x63\xa4\x65\x08\x94\x7e\x90\x76" -+"\x72\x1a\x49\x59\x5d\x42\x31\x4d\xc2\xf7\x0e\x59\x1e\x74\x06\xa9\xfb\x68\x05\xa1\x06\x9e\x8c\x97\x99\x9a\x1b\x96\x9c\x87\x84\x9e" -+"\x1f\x0b\xf7\x55\xf8\x5d\x15\x86\x8e\x4d\x73\x65\x7e\x53\x7a\x19\x7b\x07\x90\x8c\x05\x8d\x9a\x9a\x8c\x95\x1b\xa2\x94\x7a\x60\x1f" -+"\xfc\x0f\xd4\x1d\x81\x92\xa0\x7a\x1f\xa2\x79\x7d\x94\x7b\x1b\x74\x79\x7a\x75\x6b\xb2\x74\xc2\xb7\xb3\x99\xa4\xa6\x1f\xaf\xab\xa1" -+"\xcf\xda\x1a\x0b\xc1\x07\xf7\x08\x89\xa0\x7a\xa1\xfb\x01\x08\xa3\x06\x85\xf7\x3e\x05\xfc\xc8\x06\x85\xfb\x3e\x05\xa3\x06\xa2\xf7" -+"\x01\xa0\x9c\xf7\x07\x8d\x08\xc1\x0b\xf7\x4d\x15\x42\x67\x5b\x65\x52\x1b\x3b\x53\xdb\xf7\x09\x88\x1f\xf7\xac\x06\xf7\x07\x88\x4c" -+"\xd2\x29\x1b\xfb\x01\x3a\x27\xfb\x18\xfb\x18\xda\x27\xf4\xc1\xbe\xa6\xbb\xad\x1f\x9d\xa3\x98\xa8\x9d\xc3\x08\xfb\xbd\xf7\x19\x15" -+"\xcd\x93\xad\xb1\xbd\x1b\xbe\xa9\x65\x49\x8e\x1f\x0b\xf7\x41\xf8\x67\x15\x48\x6a\x81\x86\x45\x6f\x91\x7c\x18\x91\x8d\x05\x8d\x93" -+"\x92\x8c\x92\x1b\xa6\xec\x1d\x9b\x79\x1e\x82\x93\x92\x85\x8f\x1b\x8e\x90\x8d\x8e\x90\x1f\xf2\xc1\x85\x99\x05\x83\x7e\x85\x89\x80" -+"\x1b\x6c\x83\x9c\xcb\x1f\x0b\xf7\x93\x26\x0a\x26\xf7\x08\x06\x8c\x1d\x07\x0b\x9f\xbd\x1e\x92\x9e\x90\x9c\x95\x1a\xa3\x75\xa1\x72" -+"\x73\x75\x75\x73\x81\x90\x7a\x92\x78\x1e\x9f\x58\x8f\x73\x56\x1a\x67\x8c\x7c\x8f\x61\x9c\x08\x93\x78\x78\x90\x81\x1b\x74\x7a\x79" -+"\x71\x6f\x9a\x7c\xa8\x97\x95\x8e\x94\xa3\x1f\xb2\x9a\x9c\x8f\xae\x8e\x0b\x07\xd1\x3d\x1d\x2f\x1d\xfb\x5b\xfb\xbb\xf7\x5b\xaf\x0a" -+"\xfc\x5b\x5c\x1d\x0e\x15\x65\x7b\x7d\x79\x0a\x08\x7c\xf7\x6b\x9a\x07\x55\x8f\x81\x94\xc0\x1a\xf8\xec\x07\x86\x8d\x82\x89\x81\x88" -+"\x7f\x85\x19\x82\x78\x7c\x86\x83\x1b\x86\x81\x8e\x90\x7c\x1f\x96\x6f\x6e\x91\x72\x1b\x5d\x5d\x73\x64\x6f\x1f\x6d\x60\x81\x64\x87" -+"\x33\x08\x0b\x7f\x74\x1b\x7d\x77\x91\x94\x79\x1f\x73\x97\x05\x97\x73\x73\xe4\x1d\xaa\x96\x9b\x9a\xa3\x1b\x96\x9a\x48\x0a\x77\xb4" -+"\x99\x87\xa4\x1b\xc3\xa8\xa9\xd7\xa0\x1f\x0e\xf8\x28\xf7\xd5\x15\xfb\x6e\x07\x4c\x7f\x78\x61\x89\x1e\x79\x8a\x05\x79\xf7\x78\x9d" -+"\x07\x79\x8c\x05\x61\x8d\x7f\x9e\xca\x1a\xf7\x6e\xa5\x07\xf7\x16\xfb\x4f\x05\xba\x4c\x92\x7f\x7c\x1a\x79\x80\x85\x69\x89\x1e\x79" -+"\x0b\x9a\x1d\x6b\xdd\x54\x0a\x0b\x39\x0a\x9d\xfb\xb1\x79\x07\xd5\x9a\x2e\x0a\xfc\x96\xfb\xc5\x95\x0a\x0b\xf7\xc7\xf7\x66\x15\x32" -+"\xca\x0a\xf7\x77\x9c\x79\x06\x59\x8e\x86\x94\x8a\xe7\x08\xe4\xa6\x07\xf7\x10\xfb\x31\x05\x93\x82\x8e\x84\x84\x1a\x83\x84\x86\x7f" -+"\x1e\x79\x7a\x0b\xf9\x62\xf7\x27\x15\x54\xf7\x96\x5c\x06\xfb\x5f\xfb\x9e\x05\x5a\xf7\x48\x31\xd1\xe5\xc2\x07\xfb\x11\xc4\x15\xfb" -+"\x1b\x06\xf7\x1b\xf7\x47\x05\xb7\xf7\xf2\x2c\x0a\x0b\x9b\x1a\x9f\x7e\x97\x75\x7c\x44\x0a\x0b\xf7\xc8\x15\x5f\x8d\x7f\x93\x8a\xa5" -+"\x08\xf7\xeb\x07\x7d\x8e\xfb\x0a\x54\x05\x74\x07\x94\xa4\x99\x8f\x8f\x1b\x91\x8d\x85\x75\x1f\xfb\x95\x07\x8a\x74\x81\x84\x61\x89" -+"\x08\x73\xf7\x53\x07\x0b\x6d\xa4\x6f\x95\x53\x92\xbb\x98\xa0\x94\xa2\x9d\x08\xb0\xa9\xa1\xb8\xbb\x1a\xe4\x3f\xc8\xfb\x04\x66\x6f" -+"\x85\x7b\x62\x1e\x83\x74\x81\x88\x80\x1b\x76\x81\x94\x9e\x88\x1f\x7b\x06\x0b\x79\x9d\x05\x44\x42\x48\x6d\x38\x1b\x4c\x53\x9f\xb1" -+"\x60\x1f\x54\xbc\x6c\xe5\xf7\x04\x1a\xf7\x49\xe8\xf7\x08\xf7\x25\xc4\xbf\x76\x64\xb3\x1e\xab\x6b\x9a\x6f\x9e\x4a\x08\x0b\xf7\x6d" -+"\xf7\xd0\x15\x7e\xb0\xa7\x86\xae\x1b\xc8\xc6\x9e\xac\xb4\x1f\xae\xa7\x9f\xb9\xc0\x1a\xd8\x67\xc0\x40\xad\x1e\x62\x9d\x77\x8d\xfb" -+"\x12\x8c\x08\xfb\x6a\x79\x06\x0b\xae\x1d\xe8\x1d\x8f\x0a\x66\x55\x66\x1f\x0e\xfb\x0b\xfb\x0f\xfb\x09\x3b\xf7\x0e\xf7\x45\xf7\x47" -+"\xda\xf7\x0c\xf7\x0a\x1f\x0e\xa9\x0a\xc2\xc3\xb3\x0a\x6e\x6e\x65\x68\x6e\xa8\xb0\xaf\xa9\xa8\xaf\x1f\x0b\x1a\x9e\x99\x93\xab\x8d" -+"\x1e\x8f\x95\x8b\x8c\x96\x1f\x9e\xfb\xac\x78\x07\xbb\x89\x0b\x15\xce\xac\xb8\xc8\xc7\x1a\xbd\x68\xb2\x4b\x1d\xb0\x92\x91\x8c\x8c" -+"\x91\x1e\x8d\x91\x8c\x8b\x8c\x1b\x93\x91\x85\x83\x6b\x6f\x0b\x07\x4c\x52\x0a\xca\x1a\xf8\x5c\x3c\x1d\xa1\x8c\x05\x0b\x15\x3f\x6e" -+"\x73\x76\x51\x1b\x4a\xb2\x1d\x1a\xbd\x68\xb2\x4b\x1d\xb1\x40\x0a\x6f\x67\x55\x66\x1f\x0b\x15\xce\xac\xb8\x94\x0a\x0b\x5e\x0a\xf7" -+"\x62\xf7\xc3\xfb\x57\x46\x0a\x78\xf7\xaa\x9e\x07\x5e\x0a\x0b\x94\x0a\x83\x6b\x6f\x0b\xfb\x0d\xfb\x33\x24\xf7\x2e\x05\x81\x9a\x85" -+"\x9a\x97\x1a\x9b\x94\x99\x98\x8f\x1e\x93\x8d\x8d\x8c\xa8\x8c\x08\x9d\xfb\xbc\x79\x07\x0b\xfb\xd9\xf7\x2c\x15\xd9\x96\xad\xb0\xc8" -+"\x1b\xc8\xa3\x6f\x34\x98\x1f\x0b\xf0\xab\x26\xf7\x08\x07\xba\x1d\x0b\xa6\x57\x0a\xf7\x5b\x16\x71\x75\x74\x70\x6f\xa0\x75\xa6\xe8" -+"\x1d\xc8\xc7\x1a\xbd\x68\xb2\xbc\x1d\x0b\xf8\x96\xb3\x1d\x0b\xd7\xb0\x0a\x96\x7b\x9d\x80\x61\x0a\x15\x84\x84\x7f\x81\x80\x1e\x77" -+"\x7a\x71\x81\x6e\x1b\x37\x55\xdb\xf7\x10\xf7\x04\xbc\xd5\xd7\xc1\xbb\x5c\x56\x1f\x0b\x50\x1d\x98\x94\x98\x7f\x0a\x0e\x30\x1d\x9f" -+"\xd6\x1d\x76\xdd\x1d\x5b\x0a\x2a\x1d\x0b\x15\x84\xad\xd9\x85\xbe\x1b\xe5\xac\x7e\x67\x51\x3f\x64\xfb\x05\x32\x52\xa8\xb7\xa2\x94" -+"\x9a\xb3\xbb\x1f\x0b\x82\xf7\x75\x05\x76\x06\x76\x85\x7b\x7f\x77\x1b\x82\x7c\x8e\x90\x7c\x1f\x9c\x5a\x59\x93\x5c\x1b\x39\x0b\xf8" -+"\x53\x15\xab\xcb\x05\xa7\xc3\x98\xb1\xa5\x1a\xa3\x7a\x9c\x73\x68\x7a\x62\x23\x85\x1e\x86\x3b\x05\x0b\x07\xe2\x93\x99\xbc\x8d\xbd" -+"\x1d\x30\x08\x3f\x07\x0e\x5d\x0a\x79\x07\x2e\x1d\x0b\x06\xc5\x8a\x9f\x71\x89\x45\x08\x9d\xf7\x85\x79\x06\x0b\x1f\x7d\x6c\x05\x7f" -+"\xa8\xa2\x87\xab\x1b\xd8\xbb\xab\x0b\xba\x0a\xfc\x1a\x07\x81\xfb\x35\x9e\x8a\x8f\xe2\xac\xaa\xe0\x8a\x19\x0b\x15\xa9\xc3\xaf\xb9" -+"\xd5\xbc\x3f\xfb\x09\xfb\x02\x5a\x40\x43\x5c\x52\xaf\xa9\x1e\x0e\x07\xc5\x1d\x0b\x07\x8a\x36\x81\x80\x3f\x86\x08\x78\xf7\xac\x9e" -+"\x07\x3f\x8e\x7d\x99\x8a\xd4\x08\x0b\x15\x64\x71\x7a\x7f\x6c\x1b\x76\x76\x90\x94\x7a\x1f\xba\x32\x79\x92\x5e\x1b\x5d\x0b\xe3\x60" -+"\x1d\x90\x82\x8c\x2f\x08\x0b\x9e\xed\x1d\x0b\x15\x55\x5e\x5e\x55\x53\xb6\x5f\x0b\x15\x70\x74\x74\x71\x6f\xa2\x74\xa6\xa6\xa2\xa2" -+"\xa6\xa6\x74\xa2\x70\x1f\x0b\xb7\x0a\xe3\x1a\x0e\x07\xe3\x93\x99\xbc\x8c\x1e\x9b\x9c\x06\x0b\x86\x41\x6d\x92\x7c\x18\x96\x8f\x05" -+"\x8d\x0b\x07\x45\x8a\x7b\x7c\x41\x1b\x79\xf7\xb2\x9d\x07\x41\x7b\x9a\xd1\x1f\x0b\x07\xb2\x0a\x0b\xa7\x1d\x79\x82\x90\x7c\x1b\x76" -+"\x7e\x7f\x78\x7b\x0b\xf7\x49\xf8\x63\x15\x47\x69\x80\x87\x41\x6d\x92\x7d\x18\x96\x8e\x05\x0b\xd2\x9b\x99\x6a\x1d\x0b\xb8\xb7\xc2" -+"\xc2\x5e\xb8\x54\x1f\x8c\x69\x15\xae\xa9\x6d\x67\x67\x0b\xf7\xdf\xf9\x38\x2c\x0a\x0e\x9f\x07\x6b\x8f\x89\x8b\x83\x90\x08\x85\x8e" -+"\x89\x93\xad\x1a\x0b\x48\x0a\x77\xb4\x9a\x87\xa4\x1b\xc2\x0b\xcb\x0a\x5a\x8c\x83\x9a\x0b\x79\x07\xa2\x8a\xc5\x89\x96\x7f\x8a\x52" -+"\x19\xfc\x8a\x04\x0b\xbd\xdd\xd8\x40\xbe\xfb\x06\x78\x0b\x07\xd1\x8c\x9b\x9a\xd5\x1b\x9d\x0b\xa5\x36\xe2\xfb\x78\xf7\x80\x18\x0b" -+"\x56\xc6\x64\xdb\xd9\xc4\xb2\xc0\xa2\x7c\x9a\x76\x1e\x0b\x1b\x7b\x78\xf7\xb8\x9e\x7a\x06\x55\x77\x9f\xc2\x1f\x0b\xf8\x2e\x16\x9b" -+"\x06\xf7\x80\xf8\xa7\x05\xfc\x40\x07\x0b\xb1\xa1\x98\x81\x6e\x9d\x1e\x71\x9b\x97\x81\x9c\x1b\x0b\xfb\x2c\xfb\x29\xfb\x51\xfb\x4e" -+"\xf7\x29\xfb\x2c\x0b\xf9\x31\x15\x7f\x06\xfb\x80\xfc\xb5\x63\x2d\x80\x0b\xfb\x14\xf7\xb2\x05\x3e\x06\xfb\x13\xfb\xb2\xc0\x0b\x07" -+"\x44\x8a\x7c\x7d\x40\x1b\x79\xf7\xb3\x07\x0b\x85\x88\x1e\x83\x86\x89\x8b\x6b\x87\x08\x77\x0b\x8a\x7e\x85\x8b\x87\x1b\x68\x82\x96" -+"\xb9\x1f\x0b\xda\x69\x1e\x7d\xad\xa6\x87\xd0\x1b\xf7\xac\x0b\x07\xf7\x0a\xb8\x64\xfb\x0f\xa1\x1f\x0e\x15\x38\x06\x61\xfb\x13\x98" -+"\x81\x05\x0e\xb2\xf7\x95\x15\x4c\xf7\x8a\xca\x07\x0e\x07\x89\x2f\x86\x82\x59\x88\x08\x79\x7a\x0b\x58\x88\x08\x7a\x7a\xf7\x76\x9c" -+"\x7b\x06\x0b\x1f\x29\x20\x05\x74\xf7\x91\x07\x0e", 48556 -+}; -diff -up texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/fonts/NimbusSans-Bold.cff.cpp.301 texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/fonts/NimbusSans-Bold.cff.cpp ---- texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/fonts/NimbusSans-Bold.cff.cpp.301 2023-01-17 15:53:51.711205392 -0500 -+++ texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/fonts/NimbusSans-Bold.cff.cpp 2023-01-17 15:53:51.711205392 -0500 -@@ -0,0 +1,1068 @@ -+#include "Base14Fonts.hpp" -+ -+extern const MemoryFontData NimbusSans_Bold_cff = { -+"\x01\x00\x04\x02\x00\x01\x01\x01\x10\x4e\x69\x6d\x62\x75\x73\x53\x61\x6e\x73\x2d\x42\x6f\x6c\x64\x00\x01\x01\x01\x31\xf9\xbc\x00" -+"\xf9\xbd\x01\xf9\xbe\x0c\x00\xf9\xbf\x02\xf9\xc0\x03\xf8\x14\x04\xfb\x2f\x0c\x03\xd0\x0c\x04\xfb\x50\xfb\xc7\xfa\xc1\xfa\xc2\x05" -+"\x1c\x1f\x20\x0f\x1c\x1f\x33\x11\xc0\x1c\x79\x91\x12\x01\xa6\x02\x00\x01\x00\x08\x00\x0e\x00\x13\x00\x1d\x00\x24\x00\x2b\x00\x35" -+"\x00\x39\x00\x3f\x00\x45\x00\x50\x00\x5a\x00\x5d\x00\x63\x00\x69\x00\x6e\x00\x74\x00\x7a\x00\x84\x00\x8b\x00\x8e\x00\x95\x00\x9c" -+"\x00\xa8\x00\xab\x00\xb3\x00\xb7\x00\xbc\x00\xc2\x00\xcd\x00\xd9\x00\xe3\x00\xe7\x00\xf2\x00\xf4\x00\xfa\x01\x04\x01\x0b\x01\x12" -+"\x01\x16\x01\x22\x01\x2b\x01\x31\x01\x3c\x01\x41\x01\x4d\x01\x53\x01\x59\x01\x5f\x01\x6b\x01\x6f\x01\x71\x01\x77\x01\x7d\x01\x89" -+"\x01\x8b\x01\x91\x01\x9e\x01\xa5\x01\xaf\x01\xb6\x01\xc2\x01\xcd\x01\xd0\x01\xd2\x01\xd5\x01\xdb\x01\xe1\x01\xed\x01\xf0\x01\xf6" -+"\x01\xfe\x02\x09\x02\x15\x02\x1a\x02\x1d\x02\x21\x02\x27\x02\x33\x02\x38\x02\x3e\x02\x4b\x02\x52\x02\x59\x02\x60\x02\x6f\x02\x7b" -+"\x02\x80\x02\x86\x02\x8c\x02\x97\x02\xa0\x02\xa6\x02\xa8\x02\xb3\x02\xb9\x02\xbf\x02\xc9\x02\xcd\x02\xd3\x02\xda\x02\xe3\x02\xec" -+"\x02\xf5\x02\xfe\x03\x07\x03\x10\x03\x19\x03\x22\x03\x2b\x03\x34\x03\x3d\x03\x46\x03\x4f\x03\x58\x03\x61\x03\x6a\x03\x73\x03\x7c" -+"\x03\x85\x03\x8e\x03\x97\x03\xa0\x03\xa9\x03\xb2\x03\xbb\x03\xc4\x03\xcd\x03\xd6\x03\xdf\x03\xe8\x03\xf1\x03\xfa\x04\x03\x04\x0c" -+"\x04\x15\x04\x1e\x04\x27\x04\x30\x04\x39\x04\x42\x04\x4b\x04\x54\x04\x5d\x04\x66\x04\x6f\x04\x78\x04\x81\x04\x8a\x04\x93\x04\x9c" -+"\x04\xa5\x04\xae\x04\xb7\x04\xc0\x04\xc9\x04\xd2\x04\xdb\x04\xe4\x04\xed\x04\xf6\x04\xff\x05\x08\x05\x11\x05\x1a\x05\x23\x05\x2c" -+"\x05\x35\x05\x3e\x05\x47\x05\x50\x05\x59\x05\x62\x05\x6b\x05\x74\x05\x7d\x05\x86\x05\x8f\x05\x98\x05\xa1\x05\xaa\x05\xb3\x05\xbc" -+"\x05\xc5\x05\xce\x05\xd7\x05\xe0\x05\xe9\x05\xf2\x05\xfb\x06\x04\x06\x0d\x06\x16\x06\x1f\x06\x28\x06\x31\x06\x3a\x06\x43\x06\x4c" -+"\x06\x55\x06\x5a\x06\x64\x06\x6b\x06\x74\x06\x7e\x06\x85\x06\x90\x06\x9a\x06\xa3\x06\xac\x06\xb5\x06\xbf\x06\xc6\x06\xcf\x06\xdb" -+"\x06\xdf\x06\xe5\x06\xeb\x06\xf6\x07\x00\x07\x03\x07\x11\x07\x15\x07\x1b\x07\x21\x07\x26\x07\x2d\x07\x3a\x07\x40\x07\x46\x07\x50" -+"\x07\x57\x07\x5e\x07\x61\x07\x68\x07\x6f\x07\x7b\x07\x86\x07\x8f\x07\x92\x07\x9a\x07\xa3\x07\xae\x07\xb4\x07\xb9\x07\xbe\x07\xc4" -+"\x07\xcf\x07\xdb\x07\xe5\x07\xf1\x07\xf5\x08\x00\x08\x05\x08\x0a\x08\x10\x08\x12\x08\x19\x08\x21\x08\x29\x08\x33\x08\x3d\x08\x49" -+"\x08\x55\x08\x5c\x08\x60\x08\x6c\x08\x7d\x08\x86\x08\x8c\x08\x97\x08\x9c\x08\xa8\x08\xb4\x08\xba\x08\xc0\x08\xc6\x08\xd2\x08\xd6" -+"\x08\xdf\x08\xe3\x08\xe8\x08\xec\x08\xf2\x08\xfd\x09\x0b\x09\x11\x09\x1c\x09\x22\x09\x2e\x09\x38\x09\x40\x09\x42\x09\x48\x09\x55" -+"\x09\x5c\x09\x61\x09\x6b\x09\x72\x09\x7e\x09\x88\x09\x93\x09\x9e\x09\xa4\x09\xa7\x09\xa9\x09\xb0\x09\xbc\x09\xca\x09\xcd\x09\xda" -+"\x09\xe0\x09\xe7\x09\xed\x09\xf9\x0a\x06\x0a\x09\x0a\x0f\x0a\x17\x0a\x22\x0a\x2e\x0a\x34\x0a\x39\x0a\x42\x0a\x47\x0a\x50\x0a\x53" -+"\x0a\x56\x0a\x5a\x0a\x60\x0a\x6c\x0a\x71\x0a\x76\x0a\x7c\x0a\x89\x0a\x90\x0a\x9d\x0a\xa4\x0a\xab\x0a\xb2\x0a\xb9\x0a\xc0\x0a\xc7" -+"\x0a\xce\x0a\xd5\x0a\xdc\x0a\xe3\x0a\xea\x0a\xf1\x0a\xf8\x0a\xff\x0b\x06\x0b\x0d\x0b\x14\x0b\x1b\x0b\x22\x0b\x29\x0b\x30\x0b\x37" -+"\x0b\x3e\x0b\x45\x0b\x4c\x0b\x53\x0b\x5a\x0b\x61\x0b\x68\x0b\x6f\x0b\x76\x0b\x7d\x0b\x84\x0b\x8b\x0b\x92\x0b\x99\x0b\xa0\x0b\xa7" -+"\x0b\xae\x0b\xb5\x0b\xbc\x0b\xc3\x0b\xca\x0b\xd1\x0b\xd8\x0b\xdf\x0b\xe6\x0b\xed\x0b\xf4\x0b\xfb\x0c\x02\x0c\x09\x0c\x10\x0c\x17" -+"\x0c\x1e\x0c\x25\x0c\x2c\x0c\x33\x0c\x3a\x0c\x41\x0c\x48\x0c\x4d\x0c\x56\x0c\x5d\x0c\x64\x0c\x73\x0c\x87\x0c\x93\x0c\x98\x0c\x9e" -+"\x0c\xa4\x0c\xaf\x0c\xb8\x0c\xbe\x0c\xc0\x0c\xcb\x0c\xd1\x0c\xd7\x0c\xe1\x0c\xe5\x0c\xe9\x0d\x1f\x0d\x5f\x0d\x6f\x0d\x7a\x41\x45" -+"\x61\x63\x75\x74\x65\x41\x62\x72\x65\x76\x65\x41\x6c\x70\x68\x61\x41\x6c\x70\x68\x61\x74\x6f\x6e\x6f\x73\x41\x6d\x61\x63\x72\x6f" -+"\x6e\x41\x6f\x67\x6f\x6e\x65\x6b\x41\x72\x69\x6e\x67\x61\x63\x75\x74\x65\x42\x65\x74\x61\x43\x61\x63\x75\x74\x65\x43\x63\x61\x72" -+"\x6f\x6e\x43\x63\x69\x72\x63\x75\x6d\x66\x6c\x65\x78\x43\x64\x6f\x74\x61\x63\x63\x65\x6e\x74\x43\x68\x69\x44\x63\x61\x72\x6f\x6e" -+"\x44\x63\x72\x6f\x61\x74\x44\x65\x6c\x74\x61\x45\x62\x72\x65\x76\x65\x45\x63\x61\x72\x6f\x6e\x45\x64\x6f\x74\x61\x63\x63\x65\x6e" -+"\x74\x45\x6d\x61\x63\x72\x6f\x6e\x45\x6e\x67\x45\x6f\x67\x6f\x6e\x65\x6b\x45\x70\x73\x69\x6c\x6f\x6e\x45\x70\x73\x69\x6c\x6f\x6e" -+"\x74\x6f\x6e\x6f\x73\x45\x74\x61\x45\x74\x61\x74\x6f\x6e\x6f\x73\x45\x75\x72\x6f\x47\x61\x6d\x6d\x61\x47\x62\x72\x65\x76\x65\x47" -+"\x63\x69\x72\x63\x75\x6d\x66\x6c\x65\x78\x47\x63\x6f\x6d\x6d\x61\x61\x63\x63\x65\x6e\x74\x47\x64\x6f\x74\x61\x63\x63\x65\x6e\x74" -+"\x48\x62\x61\x72\x48\x63\x69\x72\x63\x75\x6d\x66\x6c\x65\x78\x49\x4a\x49\x62\x72\x65\x76\x65\x49\x64\x6f\x74\x61\x63\x63\x65\x6e" -+"\x74\x49\x6d\x61\x63\x72\x6f\x6e\x49\x6f\x67\x6f\x6e\x65\x6b\x49\x6f\x74\x61\x49\x6f\x74\x61\x64\x69\x65\x72\x65\x73\x69\x73\x49" -+"\x6f\x74\x61\x74\x6f\x6e\x6f\x73\x49\x74\x69\x6c\x64\x65\x4a\x63\x69\x72\x63\x75\x6d\x66\x6c\x65\x78\x4b\x61\x70\x70\x61\x4b\x63" -+"\x6f\x6d\x6d\x61\x61\x63\x63\x65\x6e\x74\x4c\x61\x63\x75\x74\x65\x4c\x61\x6d\x62\x64\x61\x4c\x63\x61\x72\x6f\x6e\x4c\x63\x6f\x6d" -+"\x6d\x61\x61\x63\x63\x65\x6e\x74\x4c\x64\x6f\x74\x4d\x75\x4e\x61\x63\x75\x74\x65\x4e\x63\x61\x72\x6f\x6e\x4e\x63\x6f\x6d\x6d\x61" -+"\x61\x63\x63\x65\x6e\x74\x4e\x75\x4f\x62\x72\x65\x76\x65\x4f\x68\x75\x6e\x67\x61\x72\x75\x6d\x6c\x61\x75\x74\x4f\x6d\x61\x63\x72" -+"\x6f\x6e\x4f\x6d\x65\x67\x61\x74\x6f\x6e\x6f\x73\x4f\x6d\x69\x63\x72\x6f\x6e\x4f\x6d\x69\x63\x72\x6f\x6e\x74\x6f\x6e\x6f\x73\x4f" -+"\x73\x6c\x61\x73\x68\x61\x63\x75\x74\x65\x50\x68\x69\x50\x69\x50\x73\x69\x52\x61\x63\x75\x74\x65\x52\x63\x61\x72\x6f\x6e\x52\x63" -+"\x6f\x6d\x6d\x61\x61\x63\x63\x65\x6e\x74\x52\x68\x6f\x53\x61\x63\x75\x74\x65\x53\x63\x65\x64\x69\x6c\x6c\x61\x53\x63\x69\x72\x63" -+"\x75\x6d\x66\x6c\x65\x78\x53\x63\x6f\x6d\x6d\x61\x61\x63\x63\x65\x6e\x74\x53\x69\x67\x6d\x61\x54\x61\x75\x54\x62\x61\x72\x54\x63" -+"\x61\x72\x6f\x6e\x54\x63\x6f\x6d\x6d\x61\x61\x63\x63\x65\x6e\x74\x54\x68\x65\x74\x61\x55\x62\x72\x65\x76\x65\x55\x68\x75\x6e\x67" -+"\x61\x72\x75\x6d\x6c\x61\x75\x74\x55\x6d\x61\x63\x72\x6f\x6e\x55\x6f\x67\x6f\x6e\x65\x6b\x55\x70\x73\x69\x6c\x6f\x6e\x55\x70\x73" -+"\x69\x6c\x6f\x6e\x64\x69\x65\x72\x65\x73\x69\x73\x55\x70\x73\x69\x6c\x6f\x6e\x74\x6f\x6e\x6f\x73\x55\x72\x69\x6e\x67\x55\x74\x69" -+"\x6c\x64\x65\x57\x61\x63\x75\x74\x65\x57\x63\x69\x72\x63\x75\x6d\x66\x6c\x65\x78\x57\x64\x69\x65\x72\x65\x73\x69\x73\x57\x67\x72" -+"\x61\x76\x65\x58\x69\x59\x63\x69\x72\x63\x75\x6d\x66\x6c\x65\x78\x59\x67\x72\x61\x76\x65\x5a\x61\x63\x75\x74\x65\x5a\x64\x6f\x74" -+"\x61\x63\x63\x65\x6e\x74\x5a\x65\x74\x61\x61\x62\x72\x65\x76\x65\x61\x65\x61\x63\x75\x74\x65\x61\x66\x69\x69\x30\x30\x32\x30\x38" -+"\x61\x66\x69\x69\x31\x30\x30\x31\x37\x61\x66\x69\x69\x31\x30\x30\x31\x38\x61\x66\x69\x69\x31\x30\x30\x31\x39\x61\x66\x69\x69\x31" -+"\x30\x30\x32\x30\x61\x66\x69\x69\x31\x30\x30\x32\x31\x61\x66\x69\x69\x31\x30\x30\x32\x32\x61\x66\x69\x69\x31\x30\x30\x32\x33\x61" -+"\x66\x69\x69\x31\x30\x30\x32\x34\x61\x66\x69\x69\x31\x30\x30\x32\x35\x61\x66\x69\x69\x31\x30\x30\x32\x36\x61\x66\x69\x69\x31\x30" -+"\x30\x32\x37\x61\x66\x69\x69\x31\x30\x30\x32\x38\x61\x66\x69\x69\x31\x30\x30\x32\x39\x61\x66\x69\x69\x31\x30\x30\x33\x30\x61\x66" -+"\x69\x69\x31\x30\x30\x33\x31\x61\x66\x69\x69\x31\x30\x30\x33\x32\x61\x66\x69\x69\x31\x30\x30\x33\x33\x61\x66\x69\x69\x31\x30\x30" -+"\x33\x34\x61\x66\x69\x69\x31\x30\x30\x33\x35\x61\x66\x69\x69\x31\x30\x30\x33\x36\x61\x66\x69\x69\x31\x30\x30\x33\x37\x61\x66\x69" -+"\x69\x31\x30\x30\x33\x38\x61\x66\x69\x69\x31\x30\x30\x33\x39\x61\x66\x69\x69\x31\x30\x30\x34\x30\x61\x66\x69\x69\x31\x30\x30\x34" -+"\x31\x61\x66\x69\x69\x31\x30\x30\x34\x32\x61\x66\x69\x69\x31\x30\x30\x34\x33\x61\x66\x69\x69\x31\x30\x30\x34\x34\x61\x66\x69\x69" -+"\x31\x30\x30\x34\x35\x61\x66\x69\x69\x31\x30\x30\x34\x36\x61\x66\x69\x69\x31\x30\x30\x34\x37\x61\x66\x69\x69\x31\x30\x30\x34\x38" -+"\x61\x66\x69\x69\x31\x30\x30\x34\x39\x61\x66\x69\x69\x31\x30\x30\x35\x30\x61\x66\x69\x69\x31\x30\x30\x35\x31\x61\x66\x69\x69\x31" -+"\x30\x30\x35\x32\x61\x66\x69\x69\x31\x30\x30\x35\x33\x61\x66\x69\x69\x31\x30\x30\x35\x34\x61\x66\x69\x69\x31\x30\x30\x35\x35\x61" -+"\x66\x69\x69\x31\x30\x30\x35\x36\x61\x66\x69\x69\x31\x30\x30\x35\x37\x61\x66\x69\x69\x31\x30\x30\x35\x38\x61\x66\x69\x69\x31\x30" -+"\x30\x35\x39\x61\x66\x69\x69\x31\x30\x30\x36\x30\x61\x66\x69\x69\x31\x30\x30\x36\x31\x61\x66\x69\x69\x31\x30\x30\x36\x32\x61\x66" -+"\x69\x69\x31\x30\x30\x36\x35\x61\x66\x69\x69\x31\x30\x30\x36\x36\x61\x66\x69\x69\x31\x30\x30\x36\x37\x61\x66\x69\x69\x31\x30\x30" -+"\x36\x38\x61\x66\x69\x69\x31\x30\x30\x36\x39\x61\x66\x69\x69\x31\x30\x30\x37\x30\x61\x66\x69\x69\x31\x30\x30\x37\x31\x61\x66\x69" -+"\x69\x31\x30\x30\x37\x32\x61\x66\x69\x69\x31\x30\x30\x37\x33\x61\x66\x69\x69\x31\x30\x30\x37\x34\x61\x66\x69\x69\x31\x30\x30\x37" -+"\x35\x61\x66\x69\x69\x31\x30\x30\x37\x36\x61\x66\x69\x69\x31\x30\x30\x37\x37\x61\x66\x69\x69\x31\x30\x30\x37\x38\x61\x66\x69\x69" -+"\x31\x30\x30\x37\x39\x61\x66\x69\x69\x31\x30\x30\x38\x30\x61\x66\x69\x69\x31\x30\x30\x38\x31\x61\x66\x69\x69\x31\x30\x30\x38\x32" -+"\x61\x66\x69\x69\x31\x30\x30\x38\x33\x61\x66\x69\x69\x31\x30\x30\x38\x34\x61\x66\x69\x69\x31\x30\x30\x38\x35\x61\x66\x69\x69\x31" -+"\x30\x30\x38\x36\x61\x66\x69\x69\x31\x30\x30\x38\x37\x61\x66\x69\x69\x31\x30\x30\x38\x38\x61\x66\x69\x69\x31\x30\x30\x38\x39\x61" -+"\x66\x69\x69\x31\x30\x30\x39\x30\x61\x66\x69\x69\x31\x30\x30\x39\x31\x61\x66\x69\x69\x31\x30\x30\x39\x32\x61\x66\x69\x69\x31\x30" -+"\x30\x39\x33\x61\x66\x69\x69\x31\x30\x30\x39\x34\x61\x66\x69\x69\x31\x30\x30\x39\x35\x61\x66\x69\x69\x31\x30\x30\x39\x36\x61\x66" -+"\x69\x69\x31\x30\x30\x39\x37\x61\x66\x69\x69\x31\x30\x30\x39\x38\x61\x66\x69\x69\x31\x30\x30\x39\x39\x61\x66\x69\x69\x31\x30\x31" -+"\x30\x30\x61\x66\x69\x69\x31\x30\x31\x30\x31\x61\x66\x69\x69\x31\x30\x31\x30\x32\x61\x66\x69\x69\x31\x30\x31\x30\x33\x61\x66\x69" -+"\x69\x31\x30\x31\x30\x34\x61\x66\x69\x69\x31\x30\x31\x30\x35\x61\x66\x69\x69\x31\x30\x31\x30\x36\x61\x66\x69\x69\x31\x30\x31\x30" -+"\x37\x61\x66\x69\x69\x31\x30\x31\x30\x38\x61\x66\x69\x69\x31\x30\x31\x30\x39\x61\x66\x69\x69\x31\x30\x31\x31\x30\x61\x66\x69\x69" -+"\x31\x30\x31\x34\x35\x61\x66\x69\x69\x31\x30\x31\x39\x33\x61\x66\x69\x69\x31\x30\x38\x34\x36\x61\x66\x69\x69\x36\x31\x32\x34\x38" -+"\x61\x66\x69\x69\x36\x31\x32\x38\x39\x61\x66\x69\x69\x36\x31\x33\x35\x32\x61\x6c\x70\x68\x61\x61\x6c\x70\x68\x61\x74\x6f\x6e\x6f" -+"\x73\x61\x6d\x61\x63\x72\x6f\x6e\x61\x6e\x67\x6c\x65\x6c\x65\x66\x74\x61\x6e\x67\x6c\x65\x72\x69\x67\x68\x74\x61\x6f\x67\x6f\x6e" -+"\x65\x6b\x61\x70\x70\x72\x6f\x78\x65\x71\x75\x61\x6c\x61\x72\x69\x6e\x67\x61\x63\x75\x74\x65\x61\x72\x72\x6f\x77\x62\x6f\x74\x68" -+"\x61\x72\x72\x6f\x77\x64\x6f\x77\x6e\x61\x72\x72\x6f\x77\x6c\x65\x66\x74\x61\x72\x72\x6f\x77\x72\x69\x67\x68\x74\x61\x72\x72\x6f" -+"\x77\x75\x70\x61\x72\x72\x6f\x77\x75\x70\x64\x6e\x61\x72\x72\x6f\x77\x75\x70\x64\x6e\x62\x73\x65\x62\x65\x74\x61\x63\x61\x63\x75" -+"\x74\x65\x63\x63\x61\x72\x6f\x6e\x63\x63\x69\x72\x63\x75\x6d\x66\x6c\x65\x78\x63\x64\x6f\x74\x61\x63\x63\x65\x6e\x74\x63\x68\x69" -+"\x63\x69\x72\x63\x6c\x65\x6d\x75\x6c\x74\x69\x70\x6c\x79\x63\x6c\x75\x62\x64\x63\x61\x72\x6f\x6e\x64\x63\x72\x6f\x61\x74\x64\x65" -+"\x6c\x74\x61\x64\x69\x61\x6d\x6f\x6e\x64\x64\x69\x65\x72\x65\x73\x69\x73\x74\x6f\x6e\x6f\x73\x65\x62\x72\x65\x76\x65\x65\x63\x61" -+"\x72\x6f\x6e\x65\x64\x6f\x74\x61\x63\x63\x65\x6e\x74\x65\x6c\x65\x6d\x65\x6e\x74\x65\x6d\x61\x63\x72\x6f\x6e\x65\x6e\x67\x65\x6f" -+"\x67\x6f\x6e\x65\x6b\x65\x70\x73\x69\x6c\x6f\x6e\x65\x70\x73\x69\x6c\x6f\x6e\x74\x6f\x6e\x6f\x73\x65\x71\x75\x69\x76\x61\x6c\x65" -+"\x6e\x63\x65\x65\x73\x74\x69\x6d\x61\x74\x65\x64\x65\x74\x61\x65\x74\x61\x74\x6f\x6e\x6f\x73\x65\x78\x63\x6c\x61\x6d\x64\x62\x6c" -+"\x65\x78\x69\x73\x74\x65\x6e\x74\x69\x61\x6c\x66\x65\x6d\x61\x6c\x65\x66\x72\x61\x6e\x63\x67\x61\x6d\x6d\x61\x67\x62\x72\x65\x76" -+"\x65\x67\x63\x69\x72\x63\x75\x6d\x66\x6c\x65\x78\x67\x63\x6f\x6d\x6d\x61\x61\x63\x63\x65\x6e\x74\x67\x64\x6f\x74\x61\x63\x63\x65" -+"\x6e\x74\x67\x72\x65\x61\x74\x65\x72\x65\x71\x75\x61\x6c\x68\x62\x61\x72\x68\x63\x69\x72\x63\x75\x6d\x66\x6c\x65\x78\x68\x65\x61" -+"\x72\x74\x68\x6f\x75\x73\x65\x69\x62\x72\x65\x76\x65\x69\x6a\x69\x6d\x61\x63\x72\x6f\x6e\x69\x6e\x66\x69\x6e\x69\x74\x79\x69\x6e" -+"\x74\x65\x67\x72\x61\x6c\x69\x6e\x74\x65\x67\x72\x61\x6c\x62\x74\x69\x6e\x74\x65\x67\x72\x61\x6c\x74\x70\x69\x6e\x74\x65\x72\x73" -+"\x65\x63\x74\x69\x6f\x6e\x69\x6e\x76\x73\x6d\x69\x6c\x65\x66\x61\x63\x65\x69\x6f\x67\x6f\x6e\x65\x6b\x69\x6f\x74\x61\x69\x6f\x74" -+"\x61\x64\x69\x65\x72\x65\x73\x69\x73\x69\x6f\x74\x61\x64\x69\x65\x72\x65\x73\x69\x73\x74\x6f\x6e\x6f\x73\x69\x6f\x74\x61\x74\x6f" -+"\x6e\x6f\x73\x69\x74\x69\x6c\x64\x65\x6a\x63\x69\x72\x63\x75\x6d\x66\x6c\x65\x78\x6b\x61\x70\x70\x61\x6b\x63\x6f\x6d\x6d\x61\x61" -+"\x63\x63\x65\x6e\x74\x6b\x67\x72\x65\x65\x6e\x6c\x61\x6e\x64\x69\x63\x6c\x61\x63\x75\x74\x65\x6c\x61\x6d\x62\x64\x61\x6c\x63\x61" -+"\x72\x6f\x6e\x6c\x63\x6f\x6d\x6d\x61\x61\x63\x63\x65\x6e\x74\x6c\x64\x6f\x74\x6c\x65\x73\x73\x65\x71\x75\x61\x6c\x6c\x69\x72\x61" -+"\x6c\x6f\x6e\x67\x73\x6d\x61\x6c\x65\x6d\x69\x6e\x75\x74\x65\x6d\x75\x73\x69\x63\x61\x6c\x6e\x6f\x74\x65\x6d\x75\x73\x69\x63\x61" -+"\x6c\x6e\x6f\x74\x65\x64\x62\x6c\x6e\x61\x63\x75\x74\x65\x6e\x61\x70\x6f\x73\x74\x72\x6f\x70\x68\x65\x6e\x63\x61\x72\x6f\x6e\x6e" -+"\x63\x6f\x6d\x6d\x61\x61\x63\x63\x65\x6e\x74\x6e\x6f\x74\x65\x6c\x65\x6d\x65\x6e\x74\x6e\x6f\x74\x65\x71\x75\x61\x6c\x6e\x75\x6f" -+"\x62\x72\x65\x76\x65\x6f\x68\x75\x6e\x67\x61\x72\x75\x6d\x6c\x61\x75\x74\x6f\x6d\x61\x63\x72\x6f\x6e\x6f\x6d\x65\x67\x61\x6f\x6d" -+"\x65\x67\x61\x74\x6f\x6e\x6f\x73\x6f\x6d\x69\x63\x72\x6f\x6e\x6f\x6d\x69\x63\x72\x6f\x6e\x74\x6f\x6e\x6f\x73\x6f\x72\x74\x68\x6f" -+"\x67\x6f\x6e\x61\x6c\x6f\x73\x6c\x61\x73\x68\x61\x63\x75\x74\x65\x70\x61\x72\x74\x69\x61\x6c\x64\x69\x66\x66\x70\x65\x73\x65\x74" -+"\x61\x70\x68\x69\x70\x69\x70\x72\x6f\x64\x75\x63\x74\x70\x72\x6f\x70\x65\x72\x73\x75\x62\x73\x65\x74\x70\x72\x6f\x70\x65\x72\x73" -+"\x75\x70\x65\x72\x73\x65\x74\x70\x73\x69\x71\x75\x6f\x74\x65\x72\x65\x76\x65\x72\x73\x65\x64\x72\x61\x63\x75\x74\x65\x72\x61\x64" -+"\x69\x63\x61\x6c\x72\x63\x61\x72\x6f\x6e\x72\x63\x6f\x6d\x6d\x61\x61\x63\x63\x65\x6e\x74\x72\x65\x76\x6c\x6f\x67\x69\x63\x61\x6c" -+"\x6e\x6f\x74\x72\x68\x6f\x73\x61\x63\x75\x74\x65\x73\x63\x65\x64\x69\x6c\x6c\x61\x73\x63\x69\x72\x63\x75\x6d\x66\x6c\x65\x78\x73" -+"\x63\x6f\x6d\x6d\x61\x61\x63\x63\x65\x6e\x74\x73\x65\x63\x6f\x6e\x64\x73\x69\x67\x6d\x61\x73\x6d\x69\x6c\x65\x66\x61\x63\x65\x73" -+"\x70\x61\x64\x65\x73\x75\x6d\x6d\x61\x74\x69\x6f\x6e\x73\x75\x6e\x74\x61\x75\x74\x62\x61\x72\x74\x63\x61\x72\x6f\x6e\x74\x63\x6f" -+"\x6d\x6d\x61\x61\x63\x63\x65\x6e\x74\x74\x68\x65\x74\x61\x74\x6f\x6e\x6f\x73\x75\x62\x72\x65\x76\x65\x75\x68\x75\x6e\x67\x61\x72" -+"\x75\x6d\x6c\x61\x75\x74\x75\x6d\x61\x63\x72\x6f\x6e\x75\x6e\x64\x65\x72\x73\x63\x6f\x72\x65\x64\x62\x6c\x75\x6e\x69\x30\x30\x41" -+"\x30\x75\x6e\x69\x30\x30\x41\x44\x75\x6e\x69\x30\x32\x31\x41\x75\x6e\x69\x30\x32\x31\x42\x75\x6e\x69\x30\x32\x43\x39\x75\x6e\x69" -+"\x30\x33\x38\x37\x75\x6e\x69\x30\x33\x39\x34\x75\x6e\x69\x30\x33\x41\x39\x75\x6e\x69\x30\x33\x42\x43\x75\x6e\x69\x30\x33\x43\x32" -+"\x75\x6e\x69\x30\x34\x30\x30\x75\x6e\x69\x30\x34\x30\x44\x75\x6e\x69\x30\x34\x35\x30\x75\x6e\x69\x30\x34\x35\x44\x75\x6e\x69\x30" -+"\x34\x39\x32\x75\x6e\x69\x30\x34\x39\x33\x75\x6e\x69\x30\x34\x39\x36\x75\x6e\x69\x30\x34\x39\x37\x75\x6e\x69\x30\x34\x39\x38\x75" -+"\x6e\x69\x30\x34\x39\x39\x75\x6e\x69\x30\x34\x39\x41\x75\x6e\x69\x30\x34\x39\x42\x75\x6e\x69\x30\x34\x39\x43\x75\x6e\x69\x30\x34" -+"\x39\x44\x75\x6e\x69\x30\x34\x41\x30\x75\x6e\x69\x30\x34\x41\x31\x75\x6e\x69\x30\x34\x41\x32\x75\x6e\x69\x30\x34\x41\x33\x75\x6e" -+"\x69\x30\x34\x41\x41\x75\x6e\x69\x30\x34\x41\x42\x75\x6e\x69\x30\x34\x41\x45\x75\x6e\x69\x30\x34\x41\x46\x75\x6e\x69\x30\x34\x42" -+"\x30\x75\x6e\x69\x30\x34\x42\x31\x75\x6e\x69\x30\x34\x42\x32\x75\x6e\x69\x30\x34\x42\x33\x75\x6e\x69\x30\x34\x42\x36\x75\x6e\x69" -+"\x30\x34\x42\x37\x75\x6e\x69\x30\x34\x42\x38\x75\x6e\x69\x30\x34\x42\x39\x75\x6e\x69\x30\x34\x42\x41\x75\x6e\x69\x30\x34\x42\x42" -+"\x75\x6e\x69\x30\x34\x43\x30\x75\x6e\x69\x30\x34\x43\x42\x75\x6e\x69\x30\x34\x43\x43\x75\x6e\x69\x30\x34\x44\x38\x75\x6e\x69\x30" -+"\x34\x45\x32\x75\x6e\x69\x30\x34\x45\x33\x75\x6e\x69\x30\x34\x45\x38\x75\x6e\x69\x30\x34\x45\x39\x75\x6e\x69\x30\x34\x45\x45\x75" -+"\x6e\x69\x30\x34\x45\x46\x75\x6e\x69\x32\x30\x33\x45\x75\x6e\x69\x32\x30\x41\x46\x75\x6e\x69\x32\x31\x32\x36\x75\x6e\x69\x32\x32" -+"\x31\x35\x75\x6e\x69\x32\x32\x31\x39\x75\x6e\x69\x32\x32\x32\x37\x75\x6e\x69\x32\x32\x32\x38\x75\x6e\x69\x32\x32\x39\x35\x75\x6e" -+"\x69\x32\x35\x41\x31\x75\x6e\x69\x6f\x6e\x75\x6e\x69\x76\x65\x72\x73\x61\x6c\x75\x6f\x67\x6f\x6e\x65\x6b\x75\x70\x73\x69\x6c\x6f" -+"\x6e\x75\x70\x73\x69\x6c\x6f\x6e\x64\x69\x65\x72\x65\x73\x69\x73\x75\x70\x73\x69\x6c\x6f\x6e\x64\x69\x65\x72\x65\x73\x69\x73\x74" -+"\x6f\x6e\x6f\x73\x75\x70\x73\x69\x6c\x6f\x6e\x74\x6f\x6e\x6f\x73\x75\x72\x69\x6e\x67\x75\x74\x69\x6c\x64\x65\x77\x61\x63\x75\x74" -+"\x65\x77\x63\x69\x72\x63\x75\x6d\x66\x6c\x65\x78\x77\x64\x69\x65\x72\x65\x73\x69\x73\x77\x67\x72\x61\x76\x65\x78\x69\x79\x63\x69" -+"\x72\x63\x75\x6d\x66\x6c\x65\x78\x79\x67\x72\x61\x76\x65\x7a\x61\x63\x75\x74\x65\x7a\x64\x6f\x74\x61\x63\x63\x65\x6e\x74\x7a\x65" -+"\x74\x61\x31\x2e\x30\x30\x28\x55\x52\x57\x29\x2b\x2b\x2c\x43\x6f\x70\x79\x72\x69\x67\x68\x74\x20\x32\x30\x31\x34\x20\x62\x79\x20" -+"\x28\x55\x52\x57\x29\x2b\x2b\x20\x44\x65\x73\x69\x67\x6e\x20\x26\x20\x44\x65\x76\x65\x6c\x6f\x70\x6d\x65\x6e\x74\x43\x6f\x70\x79" -+"\x72\x69\x67\x68\x74\x20\x28\x55\x52\x57\x29\x2b\x2b\x2c\x43\x6f\x70\x79\x72\x69\x67\x68\x74\x20\x32\x30\x31\x34\x20\x62\x79\x20" -+"\x28\x55\x52\x57\x29\x2b\x2b\x20\x44\x65\x73\x69\x67\x6e\x20\x26\x20\x44\x65\x76\x65\x6c\x6f\x70\x6d\x65\x6e\x74\x4e\x69\x6d\x62" -+"\x75\x73\x20\x53\x61\x6e\x73\x20\x42\x6f\x6c\x64\x4e\x69\x6d\x62\x75\x73\x20\x53\x61\x6e\x73\x00\xa6\x02\x00\x01\x00\x0c\x00\x19" -+"\x00\x31\x00\x36\x00\x3a\x00\x43\x00\x8e\x00\xe0\x00\xfa\x00\xff\x01\x23\x01\x27\x01\x4d\x01\x54\x01\x59\x01\x5e\x01\x66\x01\x6c" -+"\x01\x72\x01\x7a\x01\xe6\x02\x40\x02\x5a\x02\x66\x02\x72\x02\x7b\x02\x80\x02\xe4\x03\x25\x03\x44\x03\x60\x03\x80\x03\x87\x03\x8b" -+"\x03\x90\x03\x94\x03\x9b\x03\xa4\x03\xb2\x03\xbb\x03\xc2\x03\xc8\x03\xce\x03\xd3\x03\xf9\x04\x0e\x04\x18\x04\x28\x04\x3b\x04\x49" -+"\x04\x5a\x04\x67\x04\x87\x04\xa0\x04\xa4\x04\xa8\x04\xab\x04\xb3\x04\xc2\x04\xcf\x04\xd7\x04\xdf\x04\xe7\x04\xf3\x04\xf9\x05\x04" -+"\x05\x0f\x05\x16\x05\x1f\x05\x25\x05\x2b\x05\x4d\x05\x54\x05\xb3\x05\xb8\x05\xc0\x06\x06\x06\x3b\x06\x77\x06\xb1\x06\xe9\x07\x16" -+"\x07\x47\x07\x77\x07\x7b\x07\xa7\x07\xc2\x07\xc7\x07\xf1\x08\x1b\x08\x46\x08\x4c\x08\x67\x08\x73\x08\x9b\x08\xb7\x08\xbb\x08\xc4" -+"\x08\xdc\x08\xfb\x09\x00\x09\x1e\x09\x27\x09\x3f\x09\x5c\x09\x6c\x09\x88\x09\x9f\x09\xb9\x09\xd3\x09\xd6\x09\xef\x0a\x07\x0a\x17" -+"\x0a\x2e\x0a\x42\x0a\x57\x0a\x6c\x0a\x81\x0a\x94\x0a\xa8\x0a\xbc\x0a\xd0\x0a\xdd\x0a\xf0\x0b\x03\x0b\x15\x0b\x27\x0b\x39\x0b\x49" -+"\x0b\x53\x0b\x60\x0b\x70\x0b\x7f\x0b\x88\x0b\x96\x0b\xa1\x0b\xaf\x0b\xb9\x0b\xc5\x0b\xd2\x0b\xdf\x0b\xe4\x0b\xf1\x0b\xfd\x0c\x07" -+"\x0c\x12\x0c\x1d\x0c\x28\x0c\x33\x0c\x36\x0c\x3d\x0c\x47\x0c\x51\x0c\x5b\x0c\x65\x0c\x6f\x0c\x77\x0c\x80\x0c\x89\x0c\x92\x0c\x9b" -+"\x0c\xa4\x0c\xad\x0c\xb3\x0c\xb9\x15\xfb\x12\x06\x45\xfb\x2a\x05\xd1\x06\x0e\x15\xf7\x12\xfb\x2a\x05\xd1\x06\x45\xf7\x2a\x05\x0e" -+"\x15\xfb\x04\xce\x07\x8c\x59\x75\x6d\x5d\x82\x08\x5d\x07\xd1\x8d\xc2\xcb\x88\xd9\x08\xf2\x07\x0e\x15\x25\x27\xb1\x1d\xf8\xb0\x15" -+"\x0b\x45\x1d\xf7\x4e\xf7\x0e\x45\x1d\x0e\xf8\xa0\x9c\x15\x73\xa2\x83\x9b\xa6\x1a\xf7\xc0\x07\xf7\x02\x40\xc3\xfb\x26\xfb\x26\x3f" -+"\x4d\xfb\x11\x82\x1e\xf7\x1b\x06\xc3\x92\xa2\x9d\xd0\x1b\xc1\xa6\x79\x67\x79\x82\x7c\x7c\x82\x62\x1d\x20\x79\x57\x54\x2a\x1a\x2a" -+"\xcc\x4a\xee\xc7\xc1\xa4\xbf\xbd\x1e\x6f\x8e\x81\x98\x7b\x1e\xf7\x2c\x06\x88\x1d\x0b\xf8\xa0\xf7\x76\x15\x8c\x97\x8b\x90\x92\x1a" -+"\xc1\x83\xbd\x7e\xb1\x1e\xed\x67\x34\xc6\xfb\x01\x1b\xfb\x2f\x2c\xfb\x04\xfb\x49\xfb\x41\xe9\x21\xf7\x2d\xf7\x0d\xed\xcf\xf6\xaa" -+"\x1f\xfb\x1e\x06\x60\x7a\x64\x72\x58\x1b\x63\x6b\x9c\xa9\x77\x1f\x7e\x9f\x86\xa3\x89\xbe\x08\x8d\xe8\x15\xde\x94\xae\xb3\xc9\x1b" -+"\xcb\xb1\x60\x3b\x92\x1f\x0b\xf7\xc1\x54\x1d\x8c\xfb\x05\x15\xd8\xbd\x46\x21\x26\x57\x45\x40\x3f\x58\xd0\xf3\xf3\xbe\xd0\xd7\x1f" -+"\x0b\xf7\x69\x31\x1d\x0b\xf8\x37\xf7\xa2\x15\xf7\x7b\xf8\x5f\x05\xfb\x3c\x06\xfb\x1f\xfb\xd6\xfb\x29\xf7\xd6\x05\xfb\x3b\x06\xf7" -+"\x86\xfc\x5f\x05\xfb\xa2\xf7\x2a\x07\x0b\x15\x20\x52\x1d\x15\x58\x63\x64\x58\x59\xb3\x63\xbd\xbc\xb4\xb3\xbc\xbf\x64\xb2\x59\x1f" -+"\x5b\x04\xa2\x9d\x79\x73\x74\x78\x78\x75\x73\x78\x9e\xa2\xa3\x9e\x9d\xa3\x1f\x0b\xfb\x20\xfc\xb0\xf7\x20\x0b\xf7\x2a\xf7\xdf\x0b" -+"\xf9\x5f\x46\x1d\x0b\xf7\x63\x24\x1d\x2d\x1d\x06\x0b\x5c\x1d\xf7\x2a\x06\x0b\xfd\x6d\xf7\x2a\x06\x0b\xfb\x2a\xfb\x26\xf7\x2a\x06" -+"\x0b\xf8\x8d\xf8\x02\x15\xf7\x06\x89\x33\xd0\xfb\x25\x1b\xfb\x1d\x36\x46\xfb\x03\x67\x96\x6c\x9e\x76\x1f\x9e\x78\x9c\x82\xbf\x7a" -+"\xf7\x3b\x57\x18\xae\x80\x97\x80\x75\x1a\x6a\x64\x77\x4a\x66\x6f\x91\x98\x79\x1e\x7c\x96\x85\x96\x85\xa8\x08\xfb\x1d\x06\xfb\x0b" -+"\x8f\xe2\x4e\xf7\x38\x1b\xd6\xc4\x9b\xab\xb3\x1f\xb3\xab\xa3\xbd\xc0\x1a\xd1\x68\xb8\x44\xa0\x1e\xfb\x45\xbe\x05\x64\x97\x81\x93" -+"\xa1\x1a\xa9\xab\x9f\xbc\xce\xac\x73\x5a\x8c\x1e\x0b\xf9\x5b\xf8\x1c\x15\xfb\xb8\xfb\x11\xf7\x3a\x06\x87\x62\x81\x72\x75\x71\x08" -+"\x5f\x67\x53\x71\x52\x1b\xfb\x0e\x35\xf5\xf7\x2a\xf7\x31\xd7\xea\xf7\x14\xbf\xb7\x7c\x6e\xac\x1f\xa0\x79\x96\x7a\x98\x65\x08\xf7" -+"\x21\x06\xf7\x2b\x79\xfb\x0e\xe9\xfb\x44\x1b\xfb\x66\xfb\x23\xfb\x2f\xfb\x77\xfb\x71\xf7\x24\xfb\x35\xf7\x59\xed\xcd\xae\xdd\xc3" -+"\x1f\x9d\x2b\x05\xe5\x06\x0b\xf8\x9e\xf7\xe6\x15\xf7\x18\x81\x34\xda\xfb\x1c\x1b\xfb\x36\x2e\x21\xfb\x4c\xfb\x46\xe8\x23\x7c\x1d" -+"\x0b\xca\x9a\x1d\xfb\xe1\xf7\x20\xf7\xfe\x89\x1d\x0b\xf7\x7a\x5c\x1d\xf8\x87\xf7\x11\xfb\xf1\x06\x0b\x15\x2d\x1d\x06\xf9\x6d\xbf" -+"\x1d\x0b\xf8\x3f\xfb\x20\x0b\xf7\x7a\xf7\xb5\x15\xf7\x40\x06\xcc\xa7\x71\x4f\x1f\x6d\x07\x8a\x78\x8b\x79\x80\x1a\x46\x8f\x76\x9d" -+"\x68\x1e\xf7\x35\xa6\x06\x74\x98\x82\x9a\xab\x1a\x87\xf7\x6b\x87\x95\x2e\xb3\x08\xdd\xab\xb4\xc6\xe4\x1a\xc5\x77\xc0\x68\xaf\x1e" -+"\xad\x6a\x5d\x9b\x4d\x1b\xfc\x1b\x32\x1d\xf8\x32\x04\xf7\x52\xf7\x49\x07\xb6\x9c\x87\x7c\x9e\x1f\x9d\x7c\x94\x72\x69\x1a\x68\x82" -+"\x6f\x79\x7c\x1e\x7d\x7a\x78\x86\x60\x1b\x0b\xf7\x52\x24\x1d\xfb\x20\xfb\xdc\x06\x35\x9b\x56\xaf\x67\x1e\x63\xb3\xcc\x77\xe1\x1b" -+"\xe5\xcf\xa2\xb9\xb2\x1f\xaa\xaf\x97\xb8\xe0\x1a\xf7\xdc\xfb\x20\xfb\xd6\x07\x54\x85\x74\x79\x77\x1e\x78\x79\x6f\x80\x6c\x1b\x6c" -+"\x6e\x96\x9d\x7a\x1f\x78\x9f\x85\xa1\xc4\x1a\x0b\xca\x24\x1d\xfc\xb0\xf7\x20\xf7\xb3\x07\xdd\xb4\xb4\xdd\x9a\x95\xb9\x1d\x88\x8b" -+"\x85\x1b\x4b\x54\x61\x42\x6c\x1f\xf5\x07\x0b\xcc\x16\xf7\x2a\xe4\x06\xf7\xb5\xf7\xfa\x05\xfc\x53\x48\x1d\x30\x07\xfb\xb5\xfb\xfc" -+"\x05\xf8\x57\xfb\x2a\x07\x0b\xd1\x16\xf7\x20\xd2\x06\xf7\x57\xf7\x92\x05\xfb\xd9\xf7\x20\xf8\xb0\xfb\x20\x44\x07\xfb\x57\xfb\x92" -+"\x05\xf7\xd9\xfb\x20\x07\x0b\xf7\xcd\xf8\xa5\x67\x1d\x0b\xf9\x7b\x25\x1d\xf8\x15\x9d\x1d\x0b\xf9\x89\x20\x1d\xf7\x63\xf9\x6d\x64" -+"\x1d\x0b\x15\xfb\x02\xfb\x0e\xf7\x02\x06\x0b\x15\xfc\x3b\xfd\x73\x05\xe2\x06\xf8\x3b\xf9\x73\x05\x0b\xec\x05\x3d\x06\xf2\xfb\x2a" -+"\x05\x0e\xf7\x2a\xf9\x6d\xfb\x2a\x0b\x7f\x89\x86\x7c\x1f\x0b\x15\xd2\xba\x47\x23\x0b\xe5\xfb\x83\x05\x0b\xf7\xc1\xf8\xa5\x15\xb5" -+"\x1d\xfb\xe0\x06\x36\xb8\x61\xe7\xab\xa2\x8e\x93\xa5\x1e\xed\x07\x89\x7d\x84\x8a\x80\x1b\x66\x82\x96\xbb\x1f\xf7\xba\xd9\x07\x0b" -+"\x1f\x43\xa4\x05\x98\x67\x8a\x8b\x79\x1b\x53\x68\x5d\x3d\x87\x1f\xca\x06\xab\x90\x0b\x99\x1d\xf8\xb5\xf7\x11\xfc\x1f\x06\x0b\x63" -+"\x1d\xd8\x06\xdd\xef\xdd\x27\x05\xd8\x06\x24\xf7\x2a\x05\x0e\x15\xd8\xbd\x46\x21\x26\x57\x45\x40\x3f\x58\xd0\xf3\xf3\xbe\xd0\xd7" -+"\x1f\x0e\x68\x5d\x3d\x87\x1f\xca\x06\xab\x90\x96\x98\xa3\x1b\x0b\xfb\x2a\x05\xd7\x06\xdd\xef\xdd\x27\x05\xd9\x06\x24\xf7\x2a\x05" -+"\x0e\xf7\x1e\xf0\xea\xf7\x17\xf7\x17\x27\xea\x59\x1d\x0b\xf8\xb9\x15\xfb\x39\x26\xfb\x01\xfb\x45\xfb\x46\xf0\xfb\x00\xf7\x3a\xf7" -+"\x39\xf1\xf7\x00\xf7\x42\xf7\x4b\x28\xf6\xfb\x3d\x1f\x0b\xf7\xdf\x15\xfb\xdf\xf7\x2a\xf9\x6d\xfb\x2b\xfb\xa5\xfb\xb4\xf7\xa5\xfb" -+"\x2a\xfd\x6d\x2e\x1d\x07\x0b\x77\x95\x1d\x0b\xb4\x1d\x6f\x0b\xbf\x1d\x0e\xfb\x1f\x1f\xfb\x34\xf7\xa9\x0b\x46\x1e\x47\xca\xdd\x6a" -+"\xf3\x1b\xf3\xdd\xac\xcf\xca\x1f\x0b\xa9\x9b\xaa\x9b\xb3\x1b\xc4\xa6\x70\x44\x9b\x1f\x0b\xf9\x6d\x15\xfb\x2a\xfd\x6d\x0b\x15\xfb" -+"\xbf\x3c\xf7\xbf\x06\x0b\xfb\x1a\x06\x45\x7a\x6f\x70\x0b\x1f\xd2\x71\x05\x83\xa0\x9e\x87\x9a\x1b\xc6\x0b\xf8\xf0\xfb\x2a\x06\x0e" -+"\x15\xb3\xa0\x9b\xa3\xb5\x1a\xcd\x51\xbc\x0b\x1f\x78\x81\x8b\x8b\x46\x80\x53\x81\x18\x0b\x15\xfb\x00\xfb\x2a\x05\x0b\x15\xfb\x20" -+"\xfd\x6d\xf7\x20\x06\x0b\x26\xfb\x00\xfb\x46\x0b\xf7\x20\xf7\xae\x06\x0b\x15\x38\xc0\x06\xa7\x97\x99\xa5\x98\xc1\x1d\x6d\x6e\x8c" -+"\x76\x1b\x2e\x5e\x5f\x30\x1f\x4a\x3f\x2e\xd7\xfc\x48\xf7\x20\xf8\x48\xde\x07\x0b\xf8\x24\xf8\xb0\x69\x1d\x0b\x15\x38\x07\xca\x64" -+"\x60\xa8\x52\x1b\x5b\x56\x73\x64\x66\x1f\x55\x53\x6f\x3d\x2c\x1a\xfb\x3a\xe3\xfb\x06\xf7\x15\xc5\xae\x9e\xc6\xbc\x1e\x42\x07\x4a" -+"\x5d\x5e\x49\x59\x6c\xa1\xb4\x80\x1e\xfb\x24\x06\x8c\x61\x9a\x6e\xb0\x6d\x08\x68\xb6\xc6\x7a\xd7\x1b\xf7\x30\xe9\xd6\xf7\x11\x1f" -+"\xf8\xc2\x07\xfb\x8a\xfb\x00\x15\xcd\xbc\x42\x27\x29\x5c\x48\x45\x4e\x60\xce\xed\xf1\xb6\xd2\xca\x1f\x0b\x6b\x1d\xf7\x77\x0b\x40" -+"\x1d\xf7\xe1\xe8\x67\x1d\x0b\x15\x25\x37\x69\x48\x4d\x1f\x4a\x45\x66\x25\xfb\x01\x1a\xfb\x01\xb0\x24\xcc\x5a\x1d\xca\xce\xb2\xf5" -+"\xf2\x1a\xf7\x06\x66\xf2\x4a\xd0\x1e\xd0\x4b\x3b\xab\x21\x1b\x8c\xfb\x14\x15\xf7\x0f\xd9\x27\xfb\x32\xfb\x2a\x3a\x27\xfb\x0c\xfb" -+"\x0e\x3c\xef\xf7\x2e\xf7\x2e\xda\xef\xf7\x0e\x1f\x0b\x16\xf7\x20\xf9\x6d\xfb\x20\xfb\x97\x06\xc1\x68\x5d\xa4\x47\x1b\xfb\x15\x29" -+"\xfb\x10\xfb\x37\x42\xa1\x41\xaf\x57\x1f\x56\xb0\xcd\x6a\xcd\x1b\xcf\xb9\xa3\xc1\xae\x1f\xfb\x0a\xf8\x0d\xa8\x1d\xf0\xbb\xd0\xd1" -+"\x1f\x0b\xd8\x16\xf7\xb1\x06\xf7\x03\xd1\xa5\xc6\xbd\x1f\xc4\xcf\xaa\xed\xf7\x06\x1a\xf7\x05\x6c\xed\x52\xd0\x1e\xc6\x59\x46\xa4" -+"\xfb\x04\x1b\xfb\xb1\x06\xf7\x2a\xfc\xf0\x15\xf8\x73\xf7\x1b\x07\xf7\x05\xc3\x3c\xfb\x35\xfb\x34\x53\x3c\xfb\x05\x1f\x0b\xf8\x42" -+"\xf7\x2c\x15\xfb\x2c\xf8\xac\xf7\x11\xfc\x16\xf7\x51\xf7\xe7\xf7\x11\xfb\xe7\xf7\x39\xf8\x02\xf7\x11\xfd\x3e\x07\xfb\x9b\xfd\x6d" -+"\x05\xf7\x2d\x06\xc0\xf7\x2c\x05\xf7\x73\xf7\x11\x15\xfb\x49\x06\xf7\x06\xf7\xdb\x05\xce\x06\x0b\xb0\x79\x1b\x82\x84\x83\x81\x83" -+"\x8e\x88\x9c\x7c\x1f\xba\x63\xad\x5f\xb4\x42\x08\x77\x96\x91\x84\x92\x1b\x93\x90\x8f\x93\x90\x1f\xc6\xf0\xa1\xa7\xc7\xbd\x08\x94" -+"\x93\x8d\x8f\x92\x1a\x95\x84\x93\x82\x85\x6a\x7f\x83\x7b\x1e\x0b\x61\x1d\x3c\x3c\x51\x5a\x49\x62\x9c\x71\xb2\x77\x1e\x5a\x70\x76" -+"\x6b\x59\x1a\x3a\xc9\x53\xe4\xe4\xc9\xc3\xdc\xbd\x76\xab\x5a\xa6\x1e\x3b\xf7\x1a\x15\xb0\xa5\x75\x6a\x6a\x71\x74\x0b\x85\xda\x82" -+"\xe8\x1e\x87\xb5\x89\xa0\x98\x1a\x9d\x91\x95\x97\x91\x8d\x8a\x80\x96\x1e\x81\x95\x97\x86\x98\x1b\xa6\xa0\xa1\xa7\xa9\x6f\xa3\x68" -+"\x60\x6c\x6c\x51\x7d\x1f\x7b\x4b\x86\x46\xfb\x45\x1a\x0b\xbe\x16\xf7\x23\x06\xce\x8c\xbd\xab\xa9\xc7\xf7\xb0\xf9\x10\x18\xfb\x2f" -+"\x06\xfb\x2e\xfc\x05\xfb\x2f\xf8\x05\x05\xfb\x2f\x06\xf7\x7d\xfc\x9e\x78\x63\x7d\x67\x89\x89\x73\x87\x19\xfb\x15\x06\x0b\xf7\x76" -+"\x76\x1d\xf7\xa4\x15\xf7\x44\xf7\xa0\x05\xfb\x3c\x06\x34\xfb\x37\x33\xf7\x37\x05\xfb\x3c\x06\xf7\x44\xfb\xa0\xfb\x48\xfb\xa4\x05" -+"\xf7\x3c\x06\xe7\xf7\x3c\xe6\xfb\x3c\x05\xf7\x3c\x06\x0e\xf7\x98\x15\xf7\x4f\x06\xf7\x1a\xe1\xea\xf7\x28\xf7\x26\x38\xdb\xfb\x2c" -+"\x1f\xfb\xd6\x32\x1d\xf8\x15\xa1\x1d\xf7\xe4\x7a\x1d\x0b\x15\xfb\x04\xfc\x1d\xfb\x0b\xf8\x1d\x05\xfb\x2e\x06\xf7\x5d\xfc\xc6\x81" -+"\x44\x74\x7c\x30\x8e\x19\xfb\x05\x07\xe7\x98\x8c\x92\xa7\x1f\xc0\x9e\x9f\xa1\xa3\xd1\xc5\x1d\x0b\xf7\x74\xf7\x88\x15\xd6\xd9\xf7" -+"\x83\xfb\xd6\x05\xf7\x47\x06\xfb\xd6\xf8\x33\xf7\xb7\xf7\xce\x05\xfb\x45\x06\xfb\xb1\xfb\xd4\x05\xf7\xd4\xfb\x2a\xfd\x6d\xf7\x2a" -+"\x07\x0e\xf9\x6d\x15\xfc\xaf\x07\x54\x6e\x6d\x57\x52\x73\xa7\xce\x1e\xd1\xfb\x2a\x43\x07\x3f\x9d\x5c\xb6\x63\x1e\x65\xb5\xc3\x77" -+"\xd0\x1b\xf7\x29\xe0\xd8\xf7\x1c\x1f\xf8\xaf\x07\x0b\x83\x1d\xf9\xcb\x58\x1d\xf7\x34\xf7\x17\xe6\xdc\xf7\x15\x98\x1f\x5e\x1d\x53" -+"\x1b\x44\x61\xca\xf5\xbf\x95\xba\x9c\xab\x1f\x5b\x1d\x0b\xcd\x9a\x1d\xfc\xbb\xf7\x20\xf8\xd8\x89\x1d\x0b\x06\xf7\x2a\xfb\x11\x15" -+"\xf7\x37\x06\xd1\xaf\x6f\x55\x54\x67\x6f\x45\x1f\xfb\x37\x06\xfb\x11\x04\xf7\x47\x06\xd4\xb1\x6b\x4c\x4d\x65\x6b\x42\x1f\xfb\x47" -+"\x06\x0e\xf7\x5b\xf7\xde\x15\xf8\x23\xfb\x20\xfd\x6d\xf7\x20\xf7\x45\x07\xc3\xc8\xf7\x15\xfb\x82\x05\xf7\x38\xa7\x1d\x0b\xf9\x7b" -+"\x82\x1d\x57\x1d\x75\x91\xa3\x55\x9c\x1d\x0b\x15\x2a\xfb\x0e\xec\x06\xf7\x5b\xf7\x0e\x15\x2a\xfb\x0e\xec\x06\x2a\xf7\xa0\x15\x25" -+"\x31\xb1\x1d\x15\xfb\x20\xfc\xef\x06\x6c\x80\x80\x6d\x82\x84\x8c\x8e\x82\x1e\xfb\x04\x07\x88\xa6\xad\x89\xa1\x1b\xe2\xaf\xaf\xe3" -+"\x1f\x0b\xf8\x8f\x55\x1d\x0e\xfc\x82\x07\x33\x5e\x61\x2d\x2d\x5e\xb5\xe3\x1e\xf8\x82\xfb\x2a\xfc\x82\x07\x39\xa1\x51\xbc\x5f\x1e" -+"\x5b\xc0\xd8\x71\x0b\x15\x53\x06\x5d\x83\x74\x56\x1d\x0e\xf9\x6a\x15\xfb\x2a\xfb\x66\x06\xb4\xfb\xc9\x05\xce\x06\xb5\xf7\xc9\x05" -+"\xfc\x06\x04\x33\x1d\x0b\xfb\x3d\xf7\x6d\x15\x3a\x63\x5d\x44\x5c\x6e\xa4\xb3\xb5\xa1\x9f\xc5\x97\x1e\xbb\x94\xb0\x92\x91\x8d\x9b" -+"\x93\x19\x0b\x07\xf7\x0c\x4a\xce\xfb\x08\x42\x5a\x71\x4e\x63\x1e\xd9\x07\x0b\x07\x93\x79\x7a\x8e\x79\x1b\x4a\x52\x55\x4e\x65\xa6" -+"\x74\xb7\xba\xb9\xa3\xb3\xa7\x1f\xa0\xa8\x93\xa9\xbc\x1a\x0b\x6e\x4f\x69\x1f\xf7\x0a\x6f\x4a\x1d\x29\x5b\x47\x45\x44\x5c\xcf\xef" -+"\xf1\xba\xcf\xd2\x1f\x0e\x06\xfb\x97\xfd\x6d\x05\xf7\x2d\x06\xbc\xf7\x27\x05\xf7\x7c\xf7\x11\x15\xfb\x52\x06\xea\xf7\xb1\x05\x0b" -+"\x1b\x57\x6b\x9f\xab\x1f\xf7\x71\xfb\x20\xfb\x71\x07\x57\x96\x66\xa1\x71\x1e\x6c\xa8\xc0\x78\xc9\x1b\x0b\x90\x1d\x0e\xf7\x6e\x15" -+"\xf7\x3b\xfb\x26\x05\xf7\x06\x07\x26\xe4\xf0\xe4\x05\xf7\x09\x07\xfb\x3b\xfb\x29\x05\x0b\xfb\x11\xdb\x07\x8d\x59\x71\x6e\x53\x81" -+"\x08\x5d\x07\xe3\x93\xbe\xc3\x87\xe2\x08\xf7\x01\x07\x0b\xb8\x1d\x31\xb4\xfb\x01\x1b\xfb\x62\xfb\x14\xfb\x27\xfb\x80\x0b\x39\xce" -+"\x49\xde\xdc\xcf\xcd\xdb\xdf\x49\xcd\x37\x1f\x3b\x04\xb3\xaa\x6c\x64\x65\x6b\x6c\x0b\x15\xf7\x00\xf7\x2a\x05\x3e\x06\x39\x2a\x39" -+"\xec\x05\x3e\x06\xf2\xfb\x2a\x05\x0e\x06\x30\xf7\xa5\x05\xfb\x2c\x06\xf7\x07\xfb\xe5\xfb\x32\xfc\x1c\x05\xf7\x32\x06\x0b\x5f\x1b" -+"\x5d\x72\xa0\xb8\x85\x1f\x53\x81\x06\x3f\xc3\x52\xd7\xd6\xc4\xc4\xd6\x1e\x0b\xf7\x50\xf9\x6d\x15\xfb\x1e\xfb\x16\x06\xb3\xfb\x15" -+"\x05\xc3\x06\xb5\xf7\x15\x05\x0b\x07\xf8\x7d\xfb\x4a\x05\xf7\x03\x07\xfc\x12\xf7\x17\xf8\x12\xf7\x19\x05\x0e\xd9\x2d\xfb\x25\x3f" -+"\x78\x48\x69\x5e\x1e\x77\x71\x76\x7a\x56\x69\x08\xfb\x11\x0b\xf7\xce\x15\xf7\xf1\xf7\x11\xfb\xf1\xf7\x39\xf8\x0d\xf7\x11\xfc\xa3" -+"\xfd\x6d\x0b\xf8\xb0\x15\xfc\xb0\xf7\x20\xf7\xd8\x07\xcb\xb7\xb5\xd0\xc7\xa9\x6a\x4b\x1e\x0b\xc0\x1d\xfb\x0d\x04\xfc\x78\xfb\x0b" -+"\xf8\x78\x06\x0b\x1f\x78\x57\x05\x75\xcc\xa8\x85\xb8\x1b\xde\xb8\xac\xc7\xb7\x6e\xa6\x5c\x0b\xf8\xf0\x15\xf7\x69\xf7\x11\xfc\xdc" -+"\xfb\x11\xf7\x71\xfc\xf0\xf7\x2a\x06\x0b\xf7\xaf\x06\xf5\xd9\xd4\xef\xee\x41\xcf\xfb\x02\x1f\xfb\x23\xf7\x5c\x0b\x1b\x38\x5b\xac" -+"\xc6\x1f\xf7\xb5\xfb\x2a\xfb\xb5\x07\xfb\x1f\xf2\x3a\x0b\xf8\x79\x15\xfb\x47\xf7\x74\xfb\x1a\xfb\x74\xfb\x47\xfb\x08\xf7\x47\x0b" -+"\x04\xf7\x6f\xf7\x20\x07\xdb\xb0\x68\x41\x40\x66\x68\x3b\x1f\x0e\x94\x89\x87\x97\x1f\xd2\x71\x05\x83\x0b\xfb\x2a\xfb\xa5\xfb\xb5" -+"\xf7\xa5\xfb\x2a\x32\x1d\x0b\x15\xf7\x06\xf7\x1c\x07\xa9\xa0\x73\x6a\x6a\x76\x73\x6d\x1f\x0b\xfb\x27\xfb\x25\xfb\x5b\x3a\xa1\x46" -+"\xb5\x58\x1e\xa1\x70\x0b\x9f\x7d\x76\x74\x72\x79\x6b\x6f\x0b\x06\xfb\x59\xf7\xe4\xf7\x4c\xf7\x60\x05\xfb\x33\x06\x0b\x4a\x1d\x29" -+"\x5b\x47\x45\x45\x5b\xd0\xee\x0b\x73\x76\x94\x9a\x7e\x1e\x80\x99\x86\x9c\x8a\xad\x08\x0b\xfb\x20\xfc\x3f\xfb\x41\x3a\x1d\x06\x0e" -+"\xfa\x7f\xf7\xcb\x15\xfe\x86\x23\xfa\x86\x06\x0e\x06\xfb\x04\xf7\xc1\xe6\xf7\x83\x05\xfb\x23\x06\x0b\x15\xfb\x4f\x06\x99\x9c\x91" -+"\x91\x93\x92\x91\x90\x0b\xd9\xe8\xb5\x1d\x0b\x7b\x76\x1b\x84\x77\x8e\x8e\x84\x1f\x44\xa4\x05\x0b\x08\x73\xbc\x88\x93\xa0\x1a\xbf" -+"\xb4\xb1\xc4\x0b\x06\xa9\x28\x05\xb3\x06\xab\xee\x05\x0e\xc7\xba\xa8\x70\x60\x1e\xfb\xfc\xf7\x20\x0b\xf8\x99\xdc\x15\xfc\x7d\x30" -+"\xf8\x7d\x06\x0b\x9f\x1b\xa9\x9f\x7d\x76\x74\x72\x79\x6b\x0b\x3d\xf7\x25\xfb\x20\xfb\x25\x46\x2e\xd0\x0b\x64\x1d\x0e\x71\xa2\xac" -+"\xac\xa5\xa1\x0b\x86\xca\x7e\xb3\x6c\xb4\x08\xd5\x53\x0b\x8a\x88\x9e\x1e\xf7\x22\x07\x8c\x83\x0b\x16\xf7\x20\xf7\x77\xf7\x57\xfb" -+"\x77\x0b\x1a\x4f\xc1\x68\xea\xa7\x9e\x8d\x92\x0b\xf7\x20\xf7\xd8\x07\xc9\xb8\xb7\xca\x0b\x15\xfc\xec\x46\xf8\xec\x06\x0e\xf7\x2a" -+"\xf8\xf0\xf7\x8d\xf7\x11\x0b\x04\xfb\x20\xfb\x11\xf7\x20\x06\x0b\x15\xfc\x78\xfb\x0b\xf8\x78\x06\x0b\x98\x8a\x89\x99\x1e\xf4\x07" -+"\x8d\x0b\x1f\x9a\x7f\x94\x78\x75\x1a\x64\x0b\xad\xbb\x6f\xcf\x1b\xf7\x16\xeb\x0b\x06\x30\xfb\xa5\x05\x0b\xf7\x72\xf9\x13\x18\x0b" -+"\x01\x00\x01\xe3\x01\x05\x00\x01\x0a\x02\x01\x40\x03\x01\x87\xff\x02\x87\xa0\x02\x8e\x02\x00\x01\x00\x02\x00\x03\x00\x09\x00\x22" -+"\x00\x6a\x00\xec\x01\x50\x01\xde\x01\xe4\x02\x13\x02\x43\x02\x6c\x02\x8a\x02\xa7\x02\xab\x02\xb3\x02\xc5\x03\x33\x03\x4b\x03\x91" -+"\x03\xf8\x04\x23\x04\x6c\x04\xd6\x05\x01\x05\x6a\x05\xca\x05\xd6\x05\xfb\x06\x0a\x06\x12\x06\x30\x06\x74\x07\x4c\x07\x50\x07\x53" -+"\x07\x57\x07\x5b\x07\x5f\x07\x6f\x07\x74\x07\x77\x07\x7a\x07\x7e\x07\x81\x07\x85\x07\x89\x07\x8d\x07\x92\x07\x95\x07\xfb\x07\xff" -+"\x08\x03\x08\x07\x08\x0b\x08\x29\x08\x2e\x08\x31\x08\x35\x08\x39\x08\x4e\x08\x5c\x08\x71\x08\x91\x08\x98\x08\xb5\x08\xb9\x08\xfc" -+"\x09\x00\x09\x06\x09\x0a\x09\x0f\x09\x13\x09\x17\x09\x1e\x09\x24\x09\x28\x09\x2b\x09\x62\x09\x66\x09\x6a\x09\xa1\x09\xe5\x09\xea" -+"\x09\xee\x09\xf3\x09\xf7\x09\xfc\x0a\x01\x0a\x06\x0a\x0a\x0a\x0f\x0a\x62\x0a\x6e\x0a\xc1\x0b\x0e\x0b\x2e\x0b\x85\x0c\x1e\x0c\x23" -+"\x0c\x60\x0c\xc0\x0d\x6b\x0d\xd2\x0d\xd7\x0e\x10\x0e\x2f\x0e\x35\x0e\x3c\x0e\x45\x0e\x4e\x0e\x5b\x0e\x6a\x0e\x89\x0e\x8b\x0e\xb6" -+"\x0e\xcf\x0e\xd5\x0e\xe0\x0e\xeb\x0f\x0b\x0f\x1a\x0f\x7e\x0f\xc7\x0f\xce\x0f\xd4\x0f\xdc\x0f\xe2\x0f\xea\x0f\xf2\x0f\xfa\x10\x00" -+"\x10\x09\x10\x1e\x10\x26\x10\x4e\x10\x61\x10\x65\x10\x6a\x10\xdd\x11\x05\x11\x0a\x11\x60\x11\x98\x11\x9d\x11\xa0\x11\xc1\x11\xc5" -+"\x12\x45\x12\xaa\x12\xb3\x12\xc2\x13\x0c\x13\x42\x13\x45\x13\x93\x13\xba\x13\xe1\x13\xf3\x14\x06\x14\x1a\x14\x46\x14\x63\x14\x75" -+"\x14\xb7\x15\x4e\x15\x5c\x15\xd1\x15\xff\x16\x08\x16\x8e\x16\x97\x16\x9f\x16\xa7\x16\xb0\x16\xb9\x16\xe0\x17\x1d\x17\x26\x17\x2e" -+"\x17\x36\x17\x3e\x17\x43\x17\x4b\x17\x4d\x17\x55\x17\x73\x17\x7d\x17\x86\x17\x8f\x17\x99\x17\xc3\x17\xcb\x17\xd4\x17\xdd\x17\xe6" -+"\x17\xef\x17\xf5\x17\xfc\x18\x05\x18\x0d\x18\x16\x18\x1f\x18\x28\x18\x31\x18\x47\x18\x9c\x18\xa4\x18\xad\x18\xb6\x18\xb9\x18\xbe" -+"\x18\xc6\x18\xca\x18\xd2\x18\xe9\x18\xf2\x18\xfa\x19\x02\x19\x0b\x19\x33\x19\x3b\x19\x41\x19\x4a\x19\x51\x19\x5a\x19\x63\x19\x6c" -+"\x19\x76\x19\xa6\x19\xaa\x19\xb2\x19\xba\x19\xd1\x1a\x62\x1a\xdf\x1b\x0e\x1b\x18\x1b\x20\x1b\x24\x1b\x2d\x1b\x36\x1b\x5f\x1b\x6c" -+"\x1b\x6f\x1b\x77\x1b\x80\x1b\x89\x1b\x92\x1b\x95\x1b\x9d\x1b\xa0\x1b\xb9\x1b\xc2\x1b\xce\x1b\xd7\x1b\xe0\x1c\x32\x1c\x5b\x1c\x5f" -+"\x1c\x6b\x1c\x6e\x1c\x7a\x1c\xf6\x1d\x05\x1d\x29\x1d\x33\x1d\x51\x1d\x5b\x1d\x8c\x1d\x96\x1d\xa1\x1d\xa8\x1d\xaf\x1d\xbc\x1d\xe5" -+"\x1d\xe8\x1d\xea\x1d\xf6\x1e\x21\x1e\x2a\x1e\x2d\x1e\x57\x1e\x5f\x1e\x78\x1e\x80\x1e\x88\x1e\x91\x1e\x95\x1e\x9e\x1e\xa7\x1e\xaf" -+"\x1e\xb3\x1e\xbc\x1e\xc5\x1e\xcf\x1f\x03\x1f\x08\x1f\x14\x1f\x1d\x1f\x8a\x1f\x9d\x1f\xf3\x20\x04\x20\x0d\x20\x15\x20\x18\x20\x20" -+"\x20\x5c\x20\x65\x20\x6e\x20\x94\x20\x98\x20\xbc\x20\xc4\x20\xec\x21\x00\x21\x09\x21\x12\x21\x1b\x21\x61\x21\x65\x21\x6c\x21\x97" -+"\x21\xa1\x21\xc8\x21\xcf\x21\xd9\x21\xe1\x21\xeb\x22\x0c\x22\x15\x22\x1e\x22\x27\x22\x30\x22\x34\x22\x3c\x22\x46\x22\x4a\x22\x59" -+"\x22\x8c\x22\xba\x22\xbe\x22\xf2\x22\xf8\x23\x1a\x23\x3a\x23\xa6\x23\xaa\x23\xdb\x23\xef\x24\x10\x24\x16\x24\x1d\x24\x24\x24\x35" -+"\x24\x3a\x24\x5f\x24\x65\x24\x69\x24\xc0\x24\xe2\x24\xf2\x24\xfa\x25\x10\x25\x2b\x25\x42\x25\x5d\x25\x6e\x25\xcd\x26\x2d\x26\x88" -+"\x26\x98\x26\xe7\x26\xf4\x27\x54\x27\xa9\x27\xae\x27\xb4\x27\xe1\x28\x21\x28\x43\x28\x8d\x28\xac\x28\xdd\x29\x13\x29\x69\x29\xad" -+"\x29\xb2\x29\xe6\x2a\x0c\x2a\x2f\x2a\x65\x2a\xb7\x2a\xbb\x2a\xe4\x2a\xf8\x2b\x1d\x2b\x45\x2b\x4e\x2b\x54\x2b\x67\x2b\x8b\x2b\x9a" -+"\x2b\xaf\x2b\xb3\x2c\x2e\x2c\x33\x2c\x43\x2c\x4d\x2c\x63\x2c\x7e\x2c\x92\x2c\xaa\x2c\xb5\x2c\xfe\x2d\x46\x2d\x8d\x2d\xa3\x2d\xea" -+"\x2d\xfc\x2e\x40\x2e\x7d\x2e\x84\x2e\x8a\x2e\xad\x2e\xf1\x2f\x0e\x2f\x3b\x2f\x68\x2f\x92\x2f\xa3\x2f\xb4\x30\x06\x30\x7f\x30\xfd" -+"\x31\x5a\x31\xb5\x32\x14\x32\x1c\x32\x51\x32\x87\x32\xc4\x33\x5b\x33\x68\x33\xee\x34\x3b\x34\x88\x34\xd6\x35\x22\x35\x7a\x35\xdb" -+"\x36\x54\x36\x65\x36\x6d\x36\x78\x36\x80\x36\xb3\x37\x31\x37\x9c\x37\xa7\x37\xe5\x38\x22\x38\x4d\x38\x53\x38\x5b\x38\x63\x38\x6b" -+"\x38\x96\x38\xa4\x38\xe3\x39\x59\x39\xc0\x3a\x2b\x3a\x3d\x3a\xa7\x3a\xab\x3a\xb4\x3a\xbd\x3a\xd7\x3b\x18\x3b\x40\x3b\x65\x3b\x78" -+"\x3b\x80\x3b\xfe\x3c\x66\x3c\x88\x3c\xb4\x3c\xbd\x3d\x04\x3d\x29\x3d\x30\x3d\x3c\x3d\x4b\x3d\xc2\x3d\xec\x3e\x15\x3e\x25\x3e\x6a" -+"\x3e\xd7\x3f\x0f\x3f\x12\x3f\x18\x3f\x1e\x3f\x25\x3f\x2a\x3f\x36\x3f\x4f\x3f\x58\x3f\x81\x3f\x86\x3f\xa5\x3f\xae\x3f\xb5\x3f\xc2" -+"\x3f\xd1\x40\x79\x40\x98\x41\x27\x41\x2e\x41\x72\x41\x8b\x41\x94\x41\xbd\x41\xc7\x41\xcf\x42\x3e\x42\x75\x42\x7a\x42\x83\x42\x8b" -+"\x42\x9a\x42\x9f\x42\xa9\x42\xaf\x42\xb9\x42\xc7\x42\xcf\x43\x41\x43\xe2\x44\x52\x44\x6e\x44\x97\x44\xba\x44\xf1\x45\x3c\x45\x59" -+"\x45\x63\x45\x82\x45\x95\x45\x9f\x45\xaf\x45\xf4\x46\x05\x46\x4f\x46\x5f\x46\x68\x46\x75\x46\xb0\x47\x60\x47\xb0\x47\xe5\x48\x69" -+"\x48\x7e\x48\xac\x48\xca\x49\x11\x49\x7e\x49\x86\x49\xab\x49\xb3\x49\xbb\x49\xd1\x49\xd2\x49\xd6\x49\xde\x49\xfd\x4a\x05\x4a\x07" -+"\x4a\x23\x4a\x52\x4a\x7e\x4a\xe5\x4a\xed\x4a\xf6\x4a\xf9\x4b\x01\x4b\x22\x4b\x40\x4b\x73\x4b\xb6\x4c\x29\x4c\x93\x4c\xac\x4c\xd1" -+"\x4c\xee\x4d\x08\x4d\x2a\x4d\x46\x4d\x55\x4d\x64\x4d\x9f\x4d\xe7\x4d\xeb\x4e\x0a\x4e\x3e\x4e\x64\x4e\x8d\x4e\xc3\x4e\xd3\x4e\xe3" -+"\x4f\x1f\x4f\x68\x4f\x92\x4f\xb5\x4f\xba\x4f\xda\x4f\xfd\x50\x50\x50\x5f\x50\x68\x50\xbb\x50\xe0\x51\x1a\x51\x26\x51\x2e\x51\xf0" -+"\x52\x58\x52\x5d\x52\x5f\x52\x7b\x52\x98\x53\x08\x53\x1f\x53\x64\x53\x8d\x53\xce\x53\xd2\x53\xda\x53\xe2\x53\xeb\x53\xf4\x53\xfa" -+"\x54\x01\x54\x0b\x54\x15\x54\x1f\x54\xb7\x54\xc0\x54\xc9\x54\xd2\x54\xdc\x55\x3e\x0e\x0e\xfb\xcf\xf7\x9a\x72\x0a\xfb\x42\x96\x1d" -+"\xf7\x80\xf7\x16\x15\xfb\x1e\xfb\x16\x06\xb3\xfb\x15\x05\xc3\x06\xb5\xf7\x15\x05\x0e\x2f\xf7\x26\x6b\x15\xb3\xf7\x60\x05\xf2\x06" -+"\x63\xfb\x60\x05\xf4\x06\xb3\xf7\x60\x05\xf7\x0b\xee\x27\x06\xaa\xf7\x2d\x05\xf7\x01\xee\x31\x98\x0a\x24\x98\x0a\xfb\x0b\x28\xee" -+"\x06\x6d\xfb\x2d\x05\x2a\x28\xd8\x06\x63\xfb\x60\x05\xf7\x39\xf7\xc3\x15\xa9\xf7\x2d\x05\xf2\x06\x6d\xfb\x2d\x05\x0e\x2f\xf8\x99" -+"\xf8\x86\x15\x89\xf7\x11\x3d\xda\xfb\x12\x92\x08\xc1\x47\x55\x07\xfb\x15\x7f\x40\x42\xfb\x04\x1a\xfb\x03\xd0\x44\xf7\x1b\x6c\x1e" -+"\xfb\x69\x07\x53\x95\x6c\xb4\x88\xd1\x08\xfb\x17\x82\x06\x42\xa9\x50\xc3\x62\x1e\xb1\x70\xb0\x7e\xc7\x85\x08\x22\xcf\xf4\x07\xc2" -+"\x91\xb5\x99\xac\xa0\x08\xc1\xae\xab\xcb\xd7\x1a\xf7\x02\x4f\xc6\xfb\x30\xb6\x1e\xf7\x5d\x07\xbe\x84\xa8\x61\x89\x4e\x08\xfb\x26" -+"\x44\x15\x53\x9d\x72\xa6\xb7\x1a\xbf\xa5\xa8\xc2\x96\x1e\xcf\xfb\xda\x15\xc3\x7a\xa7\x69\x5b\x1a\x59\x6f\x6a\x53\x7d\x1e\x0e\xf7" -+"\x85\xf7\x62\xf9\x51\x15\x26\x38\x39\x27\x27\xde\x39\xf0\xf0\xde\xdc\xee\xf2\x3a\xdc\x24\x1f\x28\x04\xbb\xb0\x66\x5c\x5d\x65\x66" -+"\x5c\x5c\x65\xb0\xba\xb9\xb1\xb0\xba\x1f\xf8\x24\xf6\x15\xfc\x20\xfd\x6d\x05\xd8\x06\xf8\x1f\xf9\x6d\x05\x88\xfb\xf9\x15\x25\x39" -+"\x39\x27\x26\xdd\x39\xf1\xf0\xde\xdd\xed\xf3\x3a\xdc\x24\x1f\x28\x04\xbb\xb0\x66\x5b\x5e\x64\x65\x5d\x5c\x65\xb1\xb9\xb9\xb1\xb1" -+"\xba\x1f\x0e\xd5\xf8\xa2\xf8\x09\x15\x81\x07\x5f\x83\x6e\x75\x61\x1e\xfb\x08\xf7\x24\x05\xe4\xc8\xa7\xb5\xd5\x1a\xe7\x44\xc9\x20" -+"\x20\x39\x43\x2c\x66\x99\x67\xa7\x6a\x1e\x94\x80\x94\x80\x95\x7f\x8d\x89\x8f\x86\x91\x83\x08\xfb\x09\x4e\x63\x56\x2d\x1a\xfb\x16" -+"\xea\x35\xf7\x22\xd0\xb7\x9d\xc8\xdd\x1e\xb9\x53\x05\xf7\x35\x06\xfb\x0f\xf7\x2e\xb3\xb9\xa5\xdc\x8d\xd7\x19\x90\x07\x96\x07\xfb" -+"\xfd\x55\x15\xf7\x1c\xfb\x3f\x05\x67\x5c\x61\x78\x6c\x1b\x55\x57\xc4\xc7\xac\x9b\xa8\xa6\x9d\x1f\xe1\xf7\x48\x15\x59\xc9\x86\x94" -+"\xa4\x1a\xa8\xa2\x9e\xae\xaf\xa0\x76\x66\x67\x78\x70\x62\x74\x1e\x0e\xcd\xf9\x6d\x37\x0a\x0e\xfb\xcf\xf7\x5f\x21\x0a\xfb\x07\xfb" -+"\x42\x5b\xfb\x1c\xfb\x2e\x1a\xfb\x2f\xbb\xfb\x1c\xf7\x07\xfb\x42\x1e\xef\x06\x20\xf7\x62\x6a\xf7\x03\xf7\x28\x1a\xf7\x27\xad\xf7" -+"\x05\xf5\xf7\x60\x1e\x0e\xfb\xcf\xf7\x0e\xfb\x5c\x15\xf7\x07\xf7\x42\xbb\xf7\x1c\xf7\x2e\x1a\xf7\x2f\x5b\xf7\x1c\xfb\x07\xf7\x42" -+"\x1e\x27\x06\xf6\xfb\x62\xac\xfb\x03\xfb\x28\x1a\xfb\x27\x69\xfb\x05\x21\xfb\x60\x1e\x0e\xfb\x97\xf7\x17\xf8\xb4\x15\x48\x2d\xc5" -+"\x60\xcf\xe9\xce\x2d\xc5\xb6\x48\xe9\xf7\x00\xae\x75\xd1\xfb\x00\x67\x05\xf7\x08\x43\xfb\x08\x07\xfb\x01\xaf\x75\x46\x05\x0e\x4b" -+"\xf8\xa9\xf7\xb7\x15\xfb\x4a\xf7\x4a\xfb\x0b\xfb\x4a\xfb\x4a\xfb\x0b\xf7\x4a\xfb\x4a\xf7\x0b\xf7\x4a\xf7\x4a\x06\x0e\xcb\xf7\x26" -+"\x15\xfb\x26\xe1\x07\x8d\x47\x6f\x64\x4f\x80\x08\x53\x07\xf6\x9b\xba\xc4\x87\xf7\x02\x08\xf7\x1d\x07\x0e\xfb\xcf\x8e\x0a\xf7\x6a" -+"\xf7\x26\x15\x33\x1d\x0e\xf7\x64\xf9\x5e\x15\xfb\x62\xfd\x6c\x05\xce\x06\xf7\x62\xf9\x6c\x05\x0e\x2f\xf7\xa5\xf9\x68\x15\x3f\x4a" -+"\x6b\x50\x60\x1f\x62\x54\x78\x31\xfb\x1e\x1a\xfb\x12\x9b\x33\xad\x55\x1e\x47\xb5\xd0\x66\xde\x1b\xd8\xca\xaa\xc6\xb7\x1f\xb3\xc2" -+"\x9f\xe6\xf7\x19\x1a\xf7\x16\x7b\xe3\x69\xc2\x1e\xcf\x61\x46\xb0\x38\x1b\xfb\x05\x04\xaf\xa8\x77\x66\x9c\x1f\x99\x6d\x93\x3e\x29" -+"\x1a\x3b\x84\x3d\x80\x6e\x1e\x61\x7b\x6d\x74\x63\x1b\x66\x6f\x9e\xaf\x7a\x1f\x7d\xa9\x83\xd5\xea\x1a\xdf\x92\xdb\x96\xa8\x1e\xb6" -+"\x9a\xaa\xa3\xb3\x1b\x0e\x2f\xf7\x82\xf8\x7d\x15\xfc\x7d\xf7\x20\xf9\x59\x2e\x07\x37\x75\x42\x60\xfb\x0e\x1b\x2e\x07\x0e\x2f\xf8" -+"\x94\xf7\x11\x15\xfb\xc1\x06\x9e\xb1\xa1\xa0\xf3\xd6\x08\xf7\x0f\xe5\xaf\xc0\xec\x1a\xf7\x1d\x2c\xe3\xfb\x28\xfb\x27\x35\x34\xfb" -+"\x2a\x1e\x72\xf7\x1b\xa2\x07\xda\xb0\xb9\xcb\xc9\xb1\x60\x44\x3c\x73\x6e\xfb\x32\xfb\x04\x1e\xfb\x0c\x39\x66\x4d\x85\xfb\x18\x08" -+"\xf8\x76\x06\x0e\x2f\xf7\x6d\xf7\xd1\x15\xc1\x8e\x8b\x84\xa4\x1f\xba\x7e\xa9\x62\x57\x1a\x4c\x5f\x5f\x4e\x49\x67\xb1\xd4\x87\x1e" -+"\xfb\x1c\x06\xfb\x22\x8c\xe7\x32\xf7\x26\x1b\xf7\x2b\xec\xe4\xf7\x1e\xde\x67\xc1\x3b\xb2\x1f\xcc\xb4\xa7\xb8\xcc\x1a\xf7\x0a\x33" -+"\xd6\xfb\x1d\x24\x3c\x5e\x3e\x6c\x1e\x7e\x69\x87\x74\x50\x1a\xf7\x16\x06\x8c\xb1\x8e\x9e\x92\x9d\x08\xaa\x98\xab\x9e\xb4\x1b\xc3" -+"\xab\x69\x50\x43\x62\x68\x38\x1f\x7f\x06\x0e\x2f\xf8\x9e\xf7\xa5\x15\x41\xf8\x48\xfb\x39\x06\xfb\x97\xfc\x46\x05\xfb\x0a\xf7\xb0" -+"\xfb\x31\xf7\x20\xf7\x31\xd5\x07\xfb\x6a\xf7\x08\x15\xfb\x4d\x06\xf7\x4d\xf7\xc3\x05\x0e\x2f\xf8\x7d\xf9\x59\x15\xfc\x0f\x06\x4c" -+"\xfc\x1f\x05\xf7\x12\x06\xae\x9a\xab\x9e\xb6\x1b\xd2\xb6\x58\x35\x38\x60\x58\x44\x4e\x69\xaa\xc4\x88\x1f\xfb\x1e\x06\xfb\x10\x8d" -+"\xe9\x37\xf7\x1e\x1b\xf7\x2c\xf3\xf3\xf7\x2d\xf7\x26\x31\xee\xfb\x17\x5c\x68\x7f\x6c\x62\x1f\xa2\xf7\x28\x05\xf7\xb9\x06\x0e\x2f" -+"\xf8\x8f\xf8\xb8\x15\x84\xb9\x82\xa2\x79\xa5\x08\xbe\x66\x4a\xa9\x3e\x1b\x33\x43\x64\x44\x60\x1f\x61\x46\x7a\x3c\xfb\x15\x1a\xfb" -+"\x0e\x9a\x3f\xaf\x52\x1e\x49\xb4\xd5\x64\xdf\x1b\xf7\x21\xeb\xf4\xf7\x2f\xf7\x1c\x37\xe9\xfb\x0e\x51\x64\x7a\x5d\x5f\x1f\x8c\x9a" -+"\x8d\xcd\x8e\xa0\x95\xa6\x19\xbf\x9e\xad\xa5\xbc\x1b\xb8\xa3\x79\x5e\x9d\x1f\x28\xfb\x54\x15\xcd\xb5\x59\x3c\x40\x5d\x54\x4d\x4b" -+"\x5f\xbf\xd7\xd8\xb7\xc1\xcb\x1f\x0e\x2f\xf8\xa4\xf9\x59\x15\xfc\x87\xfb\x11\xf7\xf5\x06\x60\x5d\x36\xfb\x15\x6f\x4d\x5a\x24\x72" -+"\x2e\x78\xfb\x2b\x08\xf7\x21\x06\x98\xf7\x74\xd4\xf7\x40\xf7\x3c\xf7\x5f\x08\x0e\x2f\xf8\x2d\xf8\x16\x15\xa3\x98\x96\x92\x96\x95" -+"\x08\xa8\xa6\x9c\xb6\xb9\x1a\xf7\x03\x2b\xdc\xfb\x17\xfb\x18\x2b\x3a\xfb\x04\x47\xa7\x60\xcb\x69\x1e\x39\x5e\x69\x56\x37\x1a\xfb" -+"\x1a\xf2\x2e\xf7\x29\xf7\x28\xf2\xe8\xf7\x1a\xdf\x69\xc0\x39\xb8\x1e\xfb\x1a\xf7\x75\x15\xc9\xb6\x65\x54\x55\x5f\x64\x4e\x4c\x60" -+"\xb1\xc3\xc1\xb6\xb1\xca\x1f\x89\xfb\xad\x15\xd0\xb6\x5d\x41\x47\x5f\x5e\x47\x47\x60\xb8\xd1\xd3\xb6\xb9\xcf\x1f\x0e\x2f\xb1\xf7" -+"\x39\x15\xfb\x01\x8e\xe7\x3b\xf7\x0e\x1b\xe6\xd0\xb1\xd3\xb5\x1f\xb0\xca\xa1\xf6\xf7\x06\x1a\xf3\x7b\xdb\x6a\xc1\x1e\xd7\x5e\x45" -+"\xb3\x36\x1b\xfb\x22\x2a\x25\xfb\x28\xfb\x26\xe1\x27\xf7\x12\xaf\xad\x95\x9b\xa1\x1f\x98\x94\x93\x94\xa2\xa5\x08\xfb\x1d\x65\x4a" -+"\x3c\x59\x6a\xa6\xb5\x88\x1e\xe5\xf8\x51\x15\xcf\xb5\x57\x37\x3d\x60\x57\x4a\x4b\x63\xbd\xdd\xdd\xb2\xbf\xca\x1f\x0e\xfb\xcf\xf7" -+"\x9b\x3d\x0a\xf8\x9c\x04\x33\x1d\x0e\xfb\xcf\xf7\x05\xf7\x26\x15\xfb\x26\xe1\x07\x8d\x47\x6f\x64\x4f\x80\x08\x53\x07\xf6\x9b\xba" -+"\xc4\x87\xf7\x02\x08\xf7\x1d\x07\xf8\x0a\x04\x33\x1d\x0e\x4b\xf8\xa5\xf8\x6e\x15\xfc\x7d\xfb\x49\x05\xfb\x0d\x97\x1d\x4b\xf8\xaa" -+"\xf8\x2f\x9b\x1d\x0e\x4b\xb3\x81\x15\xf8\x7d\xf7\x49\x05\xf7\x0d\x07\xfc\x7d\xf7\x4a\x05\xfb\x03\x07\xf8\x12\xfb\x17\xfc\x12\xfb" -+"\x19\x05\x0e\x66\xf8\x05\xf7\x5d\x15\xcd\x92\x96\xc7\xb5\x1e\xe8\xcd\xa6\xb7\xdf\x1a\xf7\x1c\x25\xe9\xfb\x27\x35\x48\x6d\x50\x60" -+"\x1e\x6a\x5f\x7e\x5b\x8a\x39\x08\xf7\x1c\x06\xe5\xb5\xc2\xd0\xc6\xb8\x5a\x49\x5e\x7f\x78\x51\x5b\x1e\x3b\x47\x74\x5e\x8e\x36\x08" -+"\xf7\x20\x54\x15\x33\x1d\x0e\xf7\xdb\xf9\x18\xf8\x90\x15\x7b\x4d\x05\xbd\x73\x69\xa1\x53\x1b\x47\x46\x69\x52\x5e\x1f\x5d\x52\x6f" -+"\x40\x47\x1a\x2c\xd4\x3f\xe6\xc2\xc3\xa7\xba\xb2\x1e\x93\x72\x93\x81\x9f\x7d\x08\x7a\xa4\xaa\x82\xac\x1b\xc7\xc7\xa9\xc1\xbb\x1f" -+"\xc2\xca\xa6\xd0\xde\x1a\xf6\x68\xdf\x3f\xd5\x1e\xdd\x36\xfb\x01\xb6\xfb\x13\x1b\xfb\x1b\xfb\x0a\x5a\x2c\x2f\x1f\x32\x2f\x55\xfb" -+"\x14\xfb\x0d\x1a\xfb\x07\xc4\xfb\x05\xe9\x41\x1e\x4a\xdd\xec\x6d\xf7\x13\x1b\xea\xd3\x99\xaa\xd1\x1f\x6f\xd4\x05\x72\x51\x3e\x7c" -+"\x43\x1b\x30\x35\xa8\xbf\x48\x1f\x3d\xc8\x63\xde\xef\x1a\xef\xb1\xf0\xcc\xd6\x1e\xde\xd3\xeb\xb6\xf7\x08\x1b\xed\xdc\x6d\x4d\xd1" -+"\x1f\xcd\x50\xab\x48\x3b\x1a\x51\x79\x52\x6a\x5d\x1e\x5f\x6a\x61\x6f\x68\x1b\x6d\x78\x9e\xa9\x97\x8b\x8c\x93\xa8\x1f\xd9\xf7\xac" -+"\x05\xfb\x73\x4e\x15\xbf\xab\x64\x4c\x58\x71\x48\x66\x60\x1f\x6f\x73\x68\x78\x6e\x1b\x58\x65\xb9\xc8\xf2\xd8\xef\xda\x1f\x0e\xd5" -+"\x20\x0a\x0e\xd5\x5e\x0a\xd5\x2d\x0a\x0e\xd5\x6e\x1d\x0e\x9e\x22\x0a\x0e\x66\xf7\x74\xf7\xce\x15\xf7\xd3\xf7\x11\xfb\xd3\x93\x0a" -+"\x06\x0e\xf7\x16\x35\x1d\x0e\xd5\x84\x1d\x29\x1d\x0e\x2f\x77\x1d\x0e\xd5\x79\x1d\x66\x38\x1d\x0e\xf7\x4d\x66\x0a\xd5\x29\x0a\x0e" -+"\xf7\x16\x24\x0a\x0e\x9e\x74\x1d\xf7\x16\xf9\x2d\xf2\x15\xbc\xc7\xaa\xef\xed\x1a\xf6\x65\xf2\x4b\xd0\x1e\xcf\x4c\x39\xac\x23\x1b" -+"\x23\x39\x6a\x47\x4c\x1f\x4a\x46\x66\x24\xfb\x01\x1a\xfb\x01\xb1\x24\xcb\x46\x1e\x47\xca\xdd\x6a\xf3\x1b\xd7\xc2\x9a\xae\xc5\x1f" -+"\xe1\x3a\xd7\xdc\x05\xfb\x9d\xf7\x8f\x15\x3f\x3a\xd8\x42\x05\x7f\x73\x6b\x84\x6b\x1b\xfb\x0c\x3b\xf0\xf7\x2d\xf7\x2e\xda\xef\xf7" -+"\x0e\xf7\x0e\xda\x27\xfb\x2f\x4f\x80\x55\x75\x5f\x1f\x0e\xd5\x3b\x1d\x0e\x9e\x2c\x0a\x0e\x66\x42\x1d\x0e\xd5\x25\x0a\x0e\x9e\xf8" -+"\x21\x16\xf7\x8e\xf9\x6d\x05\xfb\x2b\x06\xfb\x33\xfc\xb9\xfb\x36\xf8\xb9\x05\xfb\x2b\x06\xf7\x8a\xfd\x6d\x05\x0e\xf7\xbc\x2f\x0a" -+"\x0e\x9e\x62\x0a\x9e\x2a\x1d\x0e\x66\x31\x0a\x0e\xfb\xcf\xf7\xc8\x21\x0a\xfb\x86\xfe\x35\xf7\x86\xf1\xfb\x04\xf9\x69\xf7\x04\x06" -+"\x0e\xc2\xf9\x5e\x15\x48\x06\xf7\x7e\xfd\x6c\x05\xce\x06\x0e\xfb\xcf\x9d\xfb\x5c\x15\xf7\x86\xfa\x35\xfb\x86\x25\xf7\x04\xfd\x69" -+"\xfb\x04\x06\x0e\x4b\xf8\x9e\xf7\xa2\x15\xfb\x3f\xf8\x3d\x05\xfb\x11\x06\xfb\x39\xfc\x3d\x05\xf7\x04\x06\xf7\x07\xf7\xc0\xf7\x0d" -+"\xfb\xc0\x05\x0e\x2f\xf8\xd6\xfb\x0c\xbd\x1d\xf7\x62\xf8\x69\x15\xf7\x11\x3b\x07\x89\xbd\xa5\xa8\xc3\x95\x08\xb9\x07\x33\x84\x58" -+"\x52\x8f\x34\x08\xfb\x01\x07\x0e\x2f\x26\x1d\x0e\x66\xc6\x21\x0a\xfd\x6d\xf7\x20\xc2\x07\x56\xad\xba\x72\xcf\x1b\xf7\x15\xed\xf7" -+"\x0f\xf7\x37\xd4\x75\xd5\x67\xbf\x1f\xc0\x66\x49\xad\x49\x1b\x47\x5c\x72\x55\x69\x1f\xf7\x97\x07\xf7\x0a\xfb\xbd\x15\xd0\xbc\x45" -+"\x27\x28\x5b\x46\x45\x44\x5c\xce\xf3\xee\xbb\xcf\xd1\x1f\x0e\x2f\x36\x1d\x0e\x66\xf8\x29\x6d\x1d\x0e\x2f\x27\x1d\x0e\xfb\xcf\x40" -+"\x1d\x0e\x66\x68\x1d\x0e\x66\x61\x0a\x0e\xf7\x63\xf8\xb0\x39\x1d\x0e\xf7\x66\xf8\xb0\x7b\x1d\x2f\x7f\x1d\x0e\x44\x1d\x0e\xf7\x85" -+"\xc7\xf8\xb0\x15\xfc\xb0\xf7\x20\xf7\xd8\x07\xce\xaf\xb2\xb2\x1d\xf7\xd8\x07\xcd\xaf\xb3\xb2\x1d\xf8\x12\x07\xf4\x4b\xc9\xfb\x00" -+"\x46\x5c\x73\x53\x61\x1e\xbe\x71\x55\xa8\x48\x1b\x4d\x63\x77\x53\x5d\x1f\xce\x07\x0e\x66\x37\x1d\x0e\x66\x28\x1d\x0e\x66\xf7\x5a" -+"\x24\x1d\xfb\x20\xfd\x8a\x66\x1d\x4f\xc3\x1d\xf7\x0e\xf7\x38\xd7\x75\xd7\x67\xbd\x1f\xbe\x67\x48\xad\x4a\x1b\x47\x5b\x6e\x4f\x69" -+"\x1f\xf7\x0a\x6f\x4a\x1d\x28\x5b\x47\x45\x44\x5c\xcf\xf0\xf1\xba\xcf\xd2\x1f\x0e\x66\xf8\x28\x24\x1d\x3b\x07\xc6\x6a\x59\xa9\x48" -+"\x1b\xfb\x16\x2b\xfb\x0e\xfb\x39\x3f\xa1\x3f\xaf\x5a\x1f\x58\xaf\xce\x69\xcb\x1b\xcf\xbd\xa8\xc6\xac\x1f\xfb\xae\xf7\x20\xf9\x8a" -+"\x07\xfb\x96\xfb\x00\x15\xd3\xb9\x47\x22\x29\x5b\x47\x45\x45\x5b\xcf\xf0\xf0\xbb\xd0\xd1\x1f\x0e\xfb\x97\x3d\x1d\x0e\x2f\x34\x1d" -+"\x0e\xfb\xcf\x4c\x1d\x0e\x66\x26\x0a\x0e\x2f\xf7\xf2\x75\x0a\xf7\x16\x30\x0a\x0e\x2f\xf7\xf7\x75\x1d\x2f\x2e\x0a\x0e\xfb\x28\x36" -+"\x0a\x0e\xfb\x97\xf7\xd1\x21\x0a\x3f\x06\x44\x8c\x56\x4e\x8c\x3b\x08\xfb\x67\x07\x61\x8c\x76\x76\x5e\x1b\x7f\x06\x87\x2f\x06\xca" -+"\x8c\x9e\x7a\x8a\x52\x08\xfb\x66\x07\x89\x3b\xc1\x4e\xd2\x8c\x08\xd7\xee\x66\x06\x69\x7f\x9e\xb9\x8c\x1f\xf7\x57\x07\xd3\x71\xa8" -+"\x44\x94\x1e\xd2\x93\xa5\xa8\xd3\x1a\xf7\x57\x07\xb2\x8a\x9a\x9d\xaa\x1b\xb0\x06\x0e\xfc\x04\xf7\x48\x21\x0a\x3b\xfe\x35\xdb\x06" -+"\x0e\xfb\x97\xd3\xfb\x5c\x15\xd7\x06\xd2\x8a\xc0\xc8\x8a\xdb\x08\xf7\x67\x07\xb5\x8a\xa0\xa0\xb8\x1b\x97\x06\x8f\xe7\x06\x4c\x8a" -+"\x78\x9c\x8c\xc4\x08\xf7\x66\x07\x8d\xdb\x55\xc8\x44\x8a\x08\x3f\x28\xb0\x06\xad\x97\x78\x5d\x8a\x1f\xfb\x57\x07\x43\xa5\x6e\xd2" -+"\x82\x1e\x44\x83\x71\x6e\x43\x1a\xfb\x57\x07\x64\x8c\x7c\x79\x6c\x1b\x66\x06\x0e\x4b\xf8\x4d\xf8\x2f\x15\x8a\x70\x8a\x87\x88\x83" -+"\x08\x79\x83\x7b\x82\x73\x1b\x76\x7d\x90\x9f\x71\x1f\x52\xb5\x05\x9c\x73\x71\x93\x6a\x1b\x3c\x60\x5b\x2a\x86\x1f\xd9\x06\x8c\xa6" -+"\x8c\x8e\x8e\x93\x08\x9d\x93\x9b\x94\xa3\x1b\xa0\x9c\x84\x7a\xa2\x1f\xc4\x61\x05\x79\xa5\xa3\x83\xac\x1b\xdb\xb4\xbb\xed\x91\x1f" -+"\x0e\xfb\xcf\xcd\xfb\x4e\x15\xf7\x2a\xf7\x66\x06\x62\xf7\xc9\x05\x48\x06\x61\xfb\xc9\x05\xf8\x06\x04\xf7\x2a\xf7\x26\xfb\x2a\x06" -+"\x0e\x2f\xf7\xc3\xf8\x47\x15\xba\x84\xa4\x6f\x98\x4d\x08\xf7\x1a\x06\x83\xf7\x10\x33\xe0\xfb\x0f\x8d\x08\xe0\x5f\x35\x07\xfb\x24" -+"\x7c\x3d\x26\xfb\x41\x1a\xfb\x3a\xde\x22\xf7\x1f\x82\x1e\x25\x07\xb7\x8a\x05\xf1\x07\xf7\x0b\x8f\xe4\xe0\x96\xf7\x0c\x08\xfb\x1a" -+"\x06\x7c\x4e\x73\x6f\x5d\x84\x08\x5f\x8e\x15\x56\x9a\x6e\xc5\xe8\x1a\xee\xa8\xc8\xc0\x98\x1e\x0e\x2f\xf8\x0b\xf8\x07\x15\xfb\x1f" -+"\x06\x85\x99\x86\x98\x78\xb1\xb0\x1d\xaa\xa5\x82\x79\x9f\x1e\xa0\x79\x93\x79\x91\x5d\x8c\x80\x18\xf7\x18\x06\x86\xc6\x83\xac\x7c" -+"\xa8\x08\xd2\x67\x3d\xb2\x23\x1b\x48\x54\x7a\x6b\x61\x1f\x5d\x66\x6f\x53\x52\x1a\x5e\x93\x76\xb8\x3c\x1e\x4f\x54\xe4\x06\x9b\x63" -+"\x90\x77\x72\x1a\x51\x70\x66\x38\x53\x1e\xc2\x26\x05\xa2\xb7\xa6\x92\xb1\x1b\xa6\xa1\x87\x7f\xbc\x1f\x7f\xbc\xa2\x87\xa6\x1b\xbc" -+"\xb3\x97\xac\xc3\x1f\x62\xf7\x01\x05\x77\x63\x6b\x82\x6a\x1b\x7a\x77\x8e\x92\x71\x1f\x95\x64\x84\x8c\x79\x1b\x6e\x77\x85\x6c\x4c" -+"\x1f\xe0\xce\xaa\xb9\xc5\x1a\x9f\x88\x98\x7f\xa5\x1e\xf7\x0e\x06\x0e\xf7\xc5\x2f\x1d\x0e\x2f\xf8\x85\xf7\xf3\x15\xfb\x1d\x06\xf7" -+"\x54\xf7\xf5\x05\xfb\x1b\x06\xfb\x1a\xfb\x92\xfb\x1f\xf7\x92\x05\xfb\x1f\x06\xf7\x5f\xfb\xf5\x05\xfb\x1e\x50\xf7\x25\x56\xfb\x25" -+"\x50\xf7\x25\xfb\x48\xf7\x20\xf7\x48\xf7\x22\xc6\xfb\x22\xc0\xf7\x22\x06\x0e\x2f\xf8\x88\xf8\x74\x15\xfb\x0f\x06\x92\xb4\x05\xd3" -+"\x97\xa4\xae\xb2\x1b\x9c\x95\x88\x7e\xa7\x1f\x9f\xf7\x07\x05\x98\x60\x76\x8f\x6b\x1b\x22\x52\x4c\xfb\x22\x73\x1f\x81\x50\x05\xfb" -+"\x1f\x2a\xf7\x0f\x06\x50\xfc\x0c\x05\x38\x7e\x7a\x6f\x67\x1b\x7b\x7a\x91\x9a\x73\x1f\x73\xfb\x07\x05\x7b\xac\xa4\x85\xab\x1b\xbd" -+"\xb9\x9d\xa9\xa8\x1f\xad\xad\xa0\xc1\x98\xe0\xc6\xf8\x12\x18\xf7\x1d\x06\x0e\x2f\xf8\x6d\xf8\xb4\x15\x89\xbc\x84\xa6\x7a\xa6\x08" -+"\xbb\x6c\x4a\xa7\x3d\x1b\xfb\x0d\x33\x43\x27\x6c\x95\x6a\x9c\x75\x1f\x91\x83\x8e\x87\xa4\x72\x08\x43\x54\x77\x6b\x4f\x1a\x54\xa7" -+"\x5c\xbe\x6d\x1e\xf7\x3f\x27\xb4\x74\x8b\x8b\x96\x81\x19\x96\x80\x92\x7b\x79\x1a\x67\x6c\x72\x5e\x71\x75\x93\x99\x7d\x1e\x7e\x97" -+"\x87\x99\x89\xab\x08\x95\xfb\x17\x07\xfb\x19\x8c\xd2\x47\xf7\x1f\x1b\xf7\x16\xe3\xd8\xf7\x06\xc4\x74\xb7\x5c\xac\x1f\xce\xaa\xa6" -+"\xb3\xce\x1a\xcf\x6d\xbb\x48\xb0\x1e\xfb\x13\xd1\x05\x44\xb2\x78\x9d\xa8\x1a\xa9\xa4\x9f\xb2\xba\xa3\x73\x56\x92\x1e\x82\xfb\x82" -+"\x15\xba\x72\x99\x7a\x6b\x1a\x74\x7f\x79\x69\x73\x1e\xfb\x27\xdb\x05\x61\xa2\x7f\x9b\xaa\x1a\xa8\x98\x9d\xa9\x9d\x1e\x0e\x2f\xf8" -+"\x18\xf8\xa4\x15\x9e\x6e\x63\x96\x65\x1b\x66\x62\x7f\x78\x6c\x1f\x3e\xd8\x46\x47\xda\x3c\x05\x78\x6d\x81\x66\x65\x1a\x64\x93\x70" -+"\xa1\x63\x1e\x3d\x3e\xcf\x46\xda\xd9\x05\x78\xa6\xb7\x7f\xb3\x1b\xb0\x9b\x90\xa4\xba\x1f\xd6\x40\xd0\xcf\x3e\xd7\x05\x9f\xae\x94" -+"\xad\xb2\x1a\xb1\x85\xa3\x76\xb4\x1e\xd6\xd6\x46\xd0\x05\xfb\x49\xfb\x21\x15\xc5\xbb\x5a\x51\x4f\x5b\x5b\x50\x50\x5b\xbb\xc6\xc8" -+"\xbb\xba\xc7\x1f\x0e\xfc\x2e\x96\x1d\x0e\xfb\x28\xf7\x66\xf8\x69\x15\xf7\x11\x3b\x07\x89\xbd\xa5\xa8\xc3\x95\x08\xb9\x07\x33\x84" -+"\x58\x52\x8f\x34\x08\xfb\x01\x07\xf7\xfe\x16\xf7\x11\x3b\x07\x89\xbd\xa5\xa8\xc3\x95\x08\xb9\x07\x33\x84\x58\x52\x8f\x34\x08\xfb" -+"\x01\x07\x0e\x2f\xe3\x8f\x1d\xf7\x69\xfb\x06\x15\xf7\x3b\xfb\x26\x05\xf7\x06\x07\x26\xe4\xf0\xe4\x05\xf7\x09\x07\xfb\x3b\xfb\x29" -+"\x05\x0e\xfb\xcf\xde\x8f\x1d\x0e\xfb\xcf\xf7\x8b\x79\x0a\x0e\x66\x40\x1d\xf7\x77\xf3\x39\x1d\x0e\x66\x40\x1d\xf7\x77\xf7\xb9\xb6" -+"\x1d\x2f\xf8\xc1\xf7\xcb\x15\xfc\xca\x23\xf8\xca\x06\x0e\x2f\xf8\x9f\xa0\x1d\xfc\xc7\xf7\x1a\xf8\xc7\xf7\x47\x06\x0e\x2f\xf8\x9c" -+"\xa0\x1d\xfb\x73\xfb\x47\xfb\x08\xf7\x47\xfb\x74\xf7\x1a\xf7\x74\xf7\x47\xf7\x08\xfb\x47\xf7\x73\xf7\x47\x06\x0e\x4b\x0a\x2f\xf8" -+"\xa5\xf9\x6d\x15\xfb\xc3\x06\x4a\x57\x71\x56\x65\x1f\x6a\x5f\x79\x53\x54\x1a\xfb\x15\xe0\x2e\xf7\x0e\x85\x1e\xfc\x5e\xed\xf9\xe4" -+"\xca\xfd\xe4\xed\xf9\xe4\xb6\x07\x0e\xfb\xbe\xf7\x45\xf8\x3d\x15\x44\x53\x54\x45\x46\xc3\x53\xd0\xd0\xc3\xc3\xd0\xd0\x53\xc3\x48" -+"\x1f\x0e\xcd\xf7\x11\x37\x0a\x0e\xfb\x28\xd3\xf7\x11\x37\x0a\xe5\x16\x8e\x1d\xfb\x28\xd4\xf9\x6d\x37\x0a\xec\x16\x8e\x1d\x2f\xf7" -+"\x93\x79\x0a\xf7\x63\xf7\x07\x15\xfb\x3b\xf7\x26\x05\xfb\x06\x07\xf0\x32\x26\x32\x05\xfb\x09\x07\xf7\x3b\xf7\x28\x05\x0e\xf7\xf4" -+"\xf7\x86\x3d\x0a\xf7\xe1\x3d\x0a\xf7\xe1\x3d\x0a\x0e\xf7\xf4\xf7\x34\xf9\x77\x15\x39\x48\x49\x39\x92\x1d\x64\x65\x6b\xaa\xb2\xb1" -+"\xaa\xaa\xb2\x1f\xf7\xe4\xda\x15\xfc\x38\xfd\x8b\x05\xcd\x06\xf8\x39\xf9\x8b\x05\x2f\xfc\x64\x15\x39\x48\x48\x3a\x39\xce\x49\xde" -+"\xdc\xcf\xcd\xdb\xdf\x49\xcd\x37\x1f\x3b\x04\xb3\xaa\x6c\x64\x65\x6b\x6c\x65\x64\x6b\xaa\xb2\xb1\xab\xaa\xb1\x1f\xf8\x05\xdb\x15" -+"\x39\x48\x49\x39\x92\x1d\x65\x64\x6b\xaa\xb2\xb1\xaa\xaa\xb2\x1f\x0e\x66\xf7\x83\xf7\xe7\x15\x4a\x84\x7f\x4f\x61\x1e\x2d\x49\x70" -+"\x5f\x37\x1a\xfb\x1c\xf1\x2d\xf7\x28\xe1\xce\xa9\xc6\xb6\x1e\xac\xb7\x98\xbb\x8c\xdd\x08\xfb\x1c\x06\x31\x61\x54\x46\x4f\x5e\xbc" -+"\xcd\xb8\x97\x9e\xc6\xbb\x1e\xdb\xcf\xa2\xb8\x88\xe0\x08\xfb\x20\xc2\x15\xf7\x2a\xf7\x26\xfb\x2a\x06\x0e\xfb\xcf\x9c\xf9\x89\x21" -+"\x1d\xfb\xcf\xf7\xd1\x43\x1d\xfb\xcf\xf7\x08\xf9\x89\x23\x0a\xfb\xcf\xf7\xae\x40\x0a\xfb\xcf\xf7\xcf\xf9\x63\x28\x0a\xfb\xcf\xf7" -+"\xbf\xf9\x80\x44\x0a\xfb\xcf\xf7\x72\xf9\x7b\x27\x0a\xfb\xcf\xf7\x14\x41\x1d\xfb\xcf\xf7\x3c\xf9\x96\x2c\x1d\x0e\xfb\xcf\xf7\x36" -+"\x16\x55\x21\x05\x95\x9f\x94\x8d\x81\x1d\x7c\x49\x1d\xa8\xca\x05\x0e\xfb\xcf\xf7\x2c\xf9\x89\x32\x0a\xfb\xcf\xf7\x3d\x16\x3e\x6f" -+"\x5c\x57\x50\x1a\x51\xc2\x66\xe4\xa7\xa3\x8e\x92\xa6\x1e\xba\x07\x87\x79\x78\x89\x77\x1b\x56\x74\x9b\xad\xbe\xa3\xa9\xe0\xbf\x1f" -+"\x0e\xfb\xcf\xf7\x6f\xf8\xf3\x15\xf7\x00\xf7\x2a\x05\x3f\x06\x39\x2a\x39\x47\x1d\xf7\xf4\xab\x1d\xf7\xf4\x6f\x1d\x0e\xfb\xaa\xf7" -+"\xd5\xf7\xe8\x15\xfb\xb0\x3d\xf7\xb0\x06\x93\xf7\x28\x15\x7c\x99\x86\x94\x9c\x1a\xf7\x47\x07\xcd\x5e\xad\x33\x32\x5e\x65\x41\x89" -+"\x1e\xda\x06\xac\x8f\x9a\x96\xb3\x1b\xab\x9c\x80\x77\x80\x86\x83\x81\x86\x1f\x80\x85\x8b\x8b\x61\x84\x6a\x85\x18\x4a\x80\x6c\x6a" -+"\x50\x1a\x50\xb2\x64\xc7\xaf\xac\x9b\xa9\xa8\x1e\x7b\x8d\x85\x93\x81\x1e\xe7\x06\x25\xf7\x16\x15\x5b\x72\x6f\x61\x6e\x7a\x9a\xa3" -+"\xa4\x98\x97\xae\x92\x1e\xa8\x91\xa1\x8f\x8f\x8c\x95\x90\x19\x0e\x66\xf7\x7a\xf8\x3b\x15\xf7\xc6\xfb\x2a\xfc\x13\x07\x3b\x53\x05" -+"\x32\x07\xdb\xc3\x05\xfb\x95\xf8\x99\xf7\x11\xfc\x03\xf7\x65\x07\xf7\x39\xf7\x05\x05\xe3\x07\x0e\xf7\x16\x5a\x0a\x0e\xf7\xf4\xf9" -+"\x04\xf7\xce\x15\xf7\xbf\xf7\x11\xfb\xbf\xf7\x39\xf7\xdb\xf7\x11\xfc\x6b\x57\x06\xbb\x5b\x64\x9b\x4b\x1b\xfb\x46\xfb\x0f\xfb\x30" -+"\xfb\x76\xfb\x73\xf7\x10\xfb\x33\xf7\x41\xcf\xb1\x9f\xc9\xbc\x1f\x50\xf8\x7e\xf7\x11\xfb\xee\x07\xfb\x2a\xc0\x15\x58\x6e\x68\x75" -+"\x55\x1b\x20\x44\xf0\xf7\x2d\xf7\x2d\xd2\xf0\xf6\xc1\xae\x75\x58\xa8\x1f\x0e\xfb\xaf\xf7\xe2\xf7\xe8\x15\xfb\xc1\x3d\xf7\xc1\x06" -+"\xfb\x2b\xf8\x67\x15\x27\x4f\x4a\x20\x21\xc8\x4a\xee\xee\xc8\xcc\xf3\xf7\x02\x50\xcb\x26\x1f\x47\x04\xb9\xa9\x62\x4b\x4f\x6c\x61" -+"\x5e\x5d\x6d\xb5\xc9\xc9\xa9\xb4\xb9\x1f\x0e\xf7\x85\x58\x0a\x0e\x30\x1d\x0e\xf7\x58\xf8\x4e\x15\xf7\xb3\xfb\x20\xfb\xf8\x07\x53" -+"\x63\x05\x3c\x07\xc3\xb3\x05\xfb\xba\xf7\x20\xf7\xff\x07\xc3\xb3\x05\xda\x07\x0e\x66\x5c\x0a\x0e\xf7\xbc\xf9\x9c\xf7\x2c\x15\x63" -+"\x7e\x60\x6f\x5a\x1b\x63\x68\x9d\xa9\x79\x1f\x7d\xa2\x85\xa4\x8a\xb9\x08\xf7\xfe\x06\x8c\x97\x8b\x90\x92\x1a\xc1\x83\xbd\x7e\xb1" -+"\x1e\xed\x67\x34\xc6\xfb\x03\x1b\x3f\x4e\x71\x59\x60\x1f\xbe\x5a\x4a\xa4\x3a\x1b\xfb\x3a\x65\x1d\xfb\x46\xf0\xfb\x00\xf7\x3a\xdb" -+"\xcb\xa4\xbd\xbe\x1f\x5a\xb7\xc9\x71\xd4\x1b\xf7\x0d\xed\xd0\xf5\xaa\x1f\xfd\x04\xf7\xb0\x70\x0a\xf7\xa1\xfb\x09\x15\x8e\xab\x90" -+"\x9e\x94\x9d\x08\xac\x9c\xae\xa0\xb1\x1b\xac\xac\x7a\x6f\x9e\x1f\x98\x78\x91\x77\x8f\x64\x08\x0e\x66\xf7\xb1\xf7\xf1\x15\x98\x06" -+"\xe1\xbe\x5d\x3d\x45\x5b\x58\x46\x89\x1f\x77\x06\x89\x86\x8b\x8a\x85\x1f\xfb\x04\x07\x87\xac\x9c\x89\xa1\x1b\xf7\x17\xe2\xf0\xf7" -+"\x2c\xc9\x7d\xb1\x66\xad\x1f\x71\xa3\x79\x95\x68\x92\x08\xc4\xa1\xa9\xba\xce\x1a\xf6\x2d\xd6\xfb\x1b\x46\x48\x78\x6c\x64\x1e\x60" -+"\x69\x79\x5a\x3d\x1a\xfc\x9a\xf7\x20\xf8\xad\x07\xbd\xab\xa8\xc2\xc8\xb0\x6c\x57\x55\x66\x69\x4e\x8a\x1e\x82\x06\x0e\xfb\xcf\xf7" -+"\x1e\xf8\xd1\x3c\x0a\x0e\x4b\xb3\xf8\x0b\x15\x3e\xf8\x3f\xfb\x68\xd8\xf7\xb5\x07\x0e\x66\xf7\x54\xfb\x70\x15\xf7\x7f\x07\x70\xa7" -+"\xa9\x80\xb5\x1b\xb9\xa9\x99\xb3\xb3\x1f\x63\xa3\xa3\x7d\xba\x1b\xa7\x9e\x90\x97\xa2\x1f\xe2\x07\x88\x81\x87\x8a\x85\x1b\x73\x85" -+"\x9a\xc5\x1f\xf8\x1a\x55\x0a\x4d\x61\x5f\x50\x6f\x73\x97\xa0\x7d\x1e\x7d\x9f\x87\x9d\xb2\x1a\xf7\xe2\xfb\x20\xfd\x8c\x07\x0e\xf7" -+"\xf4\xf7\xc3\xf9\x1f\x15\xf7\x19\xd9\xfc\x01\x3d\xf7\x1d\xfc\x0e\xea\x06\xf8\x58\x16\xde\xf7\xf1\x05\xfb\xf1\xe6\xf8\x5c\xfb\x1d" -+"\x07\x37\xfb\xf2\x35\xf7\xf2\x05\xfb\x1d\xfc\x5c\xe6\xf7\xf1\x06\xe0\xfb\xf1\x05\x0e\xd5\x5d\x0a\xf7\x4e\xf7\x16\xf8\xd1\x3c\x0a" -+"\xf8\xb7\xf7\x22\x46\x1d\xf7\x3e\xfd\x0e\xad\x1d\xa3\x9c\xa8\xa0\x08\xdb\xc2\xa1\xaa\xc7\x1a\xe1\x55\xbb\x2a\x27\x53\x58\x2f\x88" -+"\x8b\x84\x8c\x83\x1e\xe7\x06\x8a\x92\x8a\x92\x8d\x1a\xb8\xa1\xa5\xb1\xb2\xa1\x73\x63\x5e\x7d\x7c\x28\x48\x1e\x3d\x59\x74\x65\x88" -+"\x3a\x08\xf7\xca\x06\x0e\x4b\xf8\xa3\xf2\x15\xfc\x6b\xfb\x0b\xf8\x6b\x06\xf8\x54\x04\xfb\x44\xf7\x44\xfb\x0b\xfb\x44\xfb\x44\xfb" -+"\x0b\xf7\x44\xfb\x44\xf7\x0b\xf7\x44\xf7\x44\x06\x0e\x9e\xf7\x76\xf7\x20\x15\xf7\x4f\x06\xf7\x1b\xe0\xe8\xf7\x29\xd5\x77\xc3\x61" -+"\xb4\x1f\xb2\x63\x58\x9c\x39\x1b\xfb\x40\xf7\x0c\xfb\x2a\x32\x1d\xf7\x9d\xa1\x1d\xf7\x4e\xf7\x16\xf8\xd1\x3c\x0a\xf8\xbd\xf7\x22" -+"\x46\x1d\xf7\x23\x6f\x0a\x4b\xf8\xaa\xf7\xb7\xc0\x1d\xfb\xc4\xf7\xc2\xa8\x0a\xfb\x10\xfb\xfe\x3e\x0a\xfc\x04\xf7\x48\x21\x0a\x3b" -+"\xfc\x19\xdb\x06\xfb\x2b\x04\x3b\xfc\x19\xdb\x06\x0e\xfb\x8c\xf7\x5c\xf9\x42\x15\x37\x47\x47\x38\x38\xcf\x46\xdd\xe0\xcf\xce\xe0" -+"\xde\x47\xcf\x38\x1f\x4c\x04\xbb\xb3\x64\x5a\x59\x63\x64\x59\x5c\x63\xb3\xbb\xbc\xb3\xb3\xbc\x1f\x0e\x66\xf7\x5a\x21\x0a\xfb\x20" -+"\xfe\x47\x66\x1d\x50\xc3\x1d\xf7\x0d\xf7\x38\xf7\x39\x2b\xf7\x0e\xfb\x16\x47\x5b\x8b\x1d\xf7\x4e\xf7\x1d\xf8\x6b\x5f\x0a\xf8\x6b" -+"\xf7\x4a\x46\x1d\xf7\x0a\x6f\x0a\xfb\xcf\xf7\xd1\xf8\x01\xad\x1d\xa2\x9b\xa9\xa1\x08\xdb\xc2\xa1\xaa\xc7\x1a\xe1\x55\xbb\x2a\x27" -+"\x53\x58\x2f\x88\x8b\x84\x8c\x83\x1e\xe7\x06\x8a\x92\x8a\x92\x8d\x1a\xb8\xa1\xa5\xb1\xb1\xa2\x73\x63\x5e\x7c\x7b\x29\x49\x1e\x3d" -+"\x59\x74\x65\x88\x3a\x08\xf7\xca\x06\x0e\xe4\xf7\xb4\xf7\xcd\x15\xe6\x06\xb5\x9e\x7c\x69\x1f\x7a\x07\x8a\x82\x8b\x80\x85\x1a\x5d" -+"\x8d\x7f\x98\x74\x1e\xf1\xa0\x06\x7d\x93\x86\x92\x9e\x1a\x88\xf7\x14\x89\x92\x58\xa3\x08\xbb\xa3\xa0\xac\xbe\x1a\xd7\x5e\xb8\x3f" -+"\x1e\xfb\x81\xfc\x4f\xeb\x06\xf7\x92\x04\xf7\x00\xf1\x07\xbc\x9b\x7e\x62\x62\x7b\x7e\x5a\x1f\x76\xf7\xf1\x15\xfb\x67\xfb\x40\xfb" -+"\x40\xfb\x66\xfb\x65\xf7\x40\xfb\x42\xf7\x62\xf7\x6c\xf7\x3f\xf7\x3d\xf7\x6a\xf7\x67\xfb\x3f\xf7\x3f\xfb\x67\x1f\x8a\x43\x15\xf7" -+"\x3c\xf7\x1d\xfb\x1f\xfb\x3f\xfb\x42\xfb\x1c\xfb\x1d\xfb\x40\xfb\x38\xfb\x1d\xf7\x21\xf7\x3e\xf7\x3f\xf7\x1c\xf7\x1f\xf7\x3c\x1f" -+"\x0e\x4b\xf8\xb4\xf7\xb7\x15\xfc\x8c\xfb\x0b\xf8\x8c\x06\x0e\x66\xf8\x44\xf9\x5a\x15\x58\xad\x34\x57\x83\x8e\x85\x8e\x8a\x8c\x19" -+"\x6d\x9c\x7c\x93\x7a\x93\x72\x94\x19\x48\x5c\xbc\x73\x99\x83\xa6\x7b\x19\x45\x5f\xb5\x66\xd8\xb9\xb1\x75\xa9\x6c\xa6\x60\x19\x9a" -+"\x64\x77\x8f\x71\x1b\x60\x5f\x7e\x73\x64\x1f\x3f\x5e\x66\x3e\xfb\x02\x1a\xfb\x48\xef\xfb\x00\xf7\x3b\xe1\xd4\xaa\xc3\xba\x1e\xb4" -+"\xbe\x9f\xcd\xe3\x1a\xf7\x3a\x46\xf7\x0f\xfb\x2c\xf1\x1e\x5d\xfb\x7b\x15\xd8\xbc\x49\x21\x27\x59\x48\x3f\x3e\x5a\xcd\xf3\xf1\xbc" -+"\xce\xd8\x1f\x0e\x4b\xf8\x39\xf8\x50\x15\xfb\x15\xfb\x15\xfb\x15\xf7\x15\x37\x36\xf7\x15\xfb\x14\xfb\x14\xfb\x14\xdf\x37\xf7\x14" -+"\xf7\x14\xf7\x14\xfb\x15\xdf\xdf\xfb\x14\xf7\x15\xf7\x15\xf7\x15\x05\x0e\xfb\xcf\xf7\x11\xf8\x6b\x5f\x0a\x0e\xe4\xf8\xbc\xf8\x43" -+"\x15\x88\xb4\x83\xa3\x78\xa5\x08\xb8\x69\x54\xa4\x48\x1b\xfb\x11\x3d\x32\xfb\x23\xfb\x23\xd8\x32\xf7\x10\xf7\x04\xd4\xcb\xf4\x90" -+"\x1f\x2f\x06\x53\x86\x69\x6d\x52\x1b\x45\x62\xc1\xe9\xe9\xb6\xc3\xd2\xc0\xa8\x73\x55\x96\x1f\x2e\xf7\xcc\x15\xfb\x67\xfb\x40\xfb" -+"\x40\xfb\x66\xfb\x65\xf7\x40\xfb\x42\xf7\x62\xf7\x6c\xf7\x3f\xf7\x3d\xf7\x6a\xf7\x67\xfb\x3f\xf7\x3f\xfb\x67\x1f\x8a\x43\x15\xf7" -+"\x3c\xf7\x1d\xfb\x1f\xfb\x3f\xfb\x42\xfb\x1c\xfb\x1d\xfb\x40\xfb\x38\xfb\x1d\xf7\x21\xf7\x3e\xf7\x3f\xf7\x1c\xf7\x1f\xf7\x3c\x1f" -+"\x0e\xd5\x20\x0a\xf7\x25\xf8\x0f\x20\x1d\xd5\x20\x0a\x57\xf8\x0f\x4f\x1d\xd5\x20\x0a\x64\xf8\x01\x25\x1d\xd5\x20\x0a\xfb\x24\xf8" -+"\x0f\x21\x1d\xd5\x20\x0a\x8c\xf8\x1c\x2c\x1d\x0e\xd5\x20\x0a\xf7\x0b\xf8\x07\x15\x6b\x87\x7f\x7b\x77\x1b\x84\x77\x53\x0a\x6b\x86" -+"\x4f\x0a\x88\x1f\xc9\x87\x0a\xa0\x9d\x87\x9b\x1b\xc6\xaa\xb5\xe0\x90\x1f\x0e\xd5\xf8\x0f\x74\x15\xf7\x4a\x8f\xf7\x08\xf2\x93\xf7" -+"\x39\x08\x45\x0a\xf7\x23\x06\x86\xca\x7e\xb3\x6c\xb4\x08\xd5\x53\x31\x8f\x0a\xfb\x27\xfb\x80\xfb\x15\xb1\x24\xd4\x45\x1f\xbb\x5e" -+"\xb2\x79\xe8\x7b\x60\x38\x18\x94\x9e\x95\x8e\x81\x1d\x7b\x50\x0a\x9e\x22\x0a\xf7\x8f\xf9\xbf\x20\x1d\x9e\x22\x0a\xcb\xf9\xbf\x2b" -+"\x1d\x9e\x22\x0a\xd9\xf9\xb1\x25\x1d\x9e\x22\x0a\x76\xf9\xbf\x21\x1d\x29\x1d\xd8\x39\x0a\x29\x1d\xfb\x10\xfa\x3c\x23\x0a\x6b\x0a" -+"\x29\x1d\xfb\x73\xfa\x3c\x21\x1d\xd5\x29\x0a\xf7\xa0\xf8\x3c\x15\x6b\x87\x7f\x7b\x76\x1b\x84\x78\x53\x0a\x6a\x87\x8c\x79\x1b\x53" -+"\x51\x1d\x95\x94\x43\x0a\xf7\x16\x24\x0a\xf7\x1f\xf7\xd7\x20\x1d\xf7\x16\x24\x0a\x58\xf7\xd7\x23\x0a\xf7\x16\x24\x0a\x65\xf7\xc9" -+"\x25\x1d\xf7\x16\x24\x0a\xfb\x1d\xf7\xd7\x21\x1d\xf7\x16\x24\x0a\xf7\x0d\xf7\xcf\x15\x6b\x87\x80\xaf\x1d\x97\x6a\x86\x4f\x0a\x88" -+"\x1f\xc9\x06\xab\x90\x97\x98\xa3\x1b\x94\x94\x89\x87\x97\x5f\x1d\xaa\xb5\xe0\x90\x1f\x0e\x9e\x2c\x0a\x35\xf7\xab\x2a\x0a\xd5\x25" -+"\x0a\xfb\x2a\xf7\x63\x20\x1d\xd5\x25\x0a\xfb\xe8\xf7\x63\x23\x0a\xd5\x25\x0a\xfb\xdb\xf7\x55\x25\x1d\xd5\x25\x0a\xfc\x3e\xf7\x63" -+"\x21\x1d\x9e\x2a\x1d\xc8\x39\x0a\x9e\x2a\x1d\xfb\x07\x38\x0a\x66\x31\x0a\xfb\x6f\xf7\x4a\x2a\x0a\x2f\x26\x1d\xc3\xf8\x8a\x20\x1d" -+"\x2f\x26\x1d\xfb\x1a\xf8\x8a\x7d\x0a\x2f\x26\x1d\xfb\x0d\xf8\x7c\x25\x1d\x2f\x26\x1d\xfb\x73\xf8\x8a\x21\x1d\x2f\x26\x1d\x39\xf8" -+"\x97\x2c\x1d\x0e\x2f\x26\x1d\xab\xf8\x82\x15\x6b\x87\xa7\x0a\x85\x4d\x1d\x96\x98\xa3\x1b\x94\x95\x43\x0a\x2f\xf7\xb7\x74\x15\xf7" -+"\x11\x8a\xea\xe1\x96\xf7\x11\x08\x5e\x1d\x55\x1b\x6c\x6d\x97\x9f\x7b\x1f\x73\xa8\x7d\xbf\xc4\x1a\xbe\x95\xba\x9c\xab\x1e\x5b\x1d" -+"\xf7\x1a\x06\x47\x0a\xfb\x38\xd7\x29\xf7\x1e\x79\x1f\x60\x36\x05\x94\x9e\x96\x8e\x9e\x1b\xaa\xa6\x1d\x71\x92\xa2\x59\x34\x0a\xc9" -+"\xaa\x85\xb8\x1b\xde\xb9\x52\x0a\x7c\x7e\x89\x86\x7e\x1f\x0e\x2f\x27\x1d\xb3\xf8\x4a\x20\x1d\x2f\x27\x1d\xfb\x2a\xf8\x4a\x7d\x0a" -+"\x2f\x27\x1d\xfb\x1d\xf8\x3c\x25\x1d\x2f\x5b\x0a\x30\x1d\xde\x43\x1d\x30\x1d\xfb\x0a\xf9\x89\x23\x0a\xf7\x63\x6e\x0a\x30\x1d\xfb" -+"\x6d\xf9\x89\x21\x1d\x66\x37\x1d\xf7\x69\xf7\x65\x15\x6b\x87\xa7\x0a\x85\x4d\x1d\x96\x98\xa3\x1b\x94\x95\x43\x0a\x66\x28\x1d\xf7" -+"\x1f\xf7\xd5\x20\x1d\x66\x28\x1d\x58\xf7\xd5\x23\x0a\x66\x28\x1d\x65\xf7\xc7\x25\x1d\x66\x28\x1d\xfb\x1d\xf7\xd5\x21\x1d\x66\x28" -+"\x1d\xf7\x0a\xf7\xcd\x15\x6b\x87\x7f\x7b\x77\x1b\x83\x78\x8e\x8e\x84\x4d\x1d\x97\x98\xa2\x1b\x95\xa2\x1d\x9f\x9e\x87\x9a\x1b\xc7" -+"\xaa\xb5\xe0\x8f\x1f\x0e\x2f\x34\x1d\x66\xf7\x85\x2a\x0a\x66\x26\x0a\xb0\x43\x1d\x66\x26\x0a\xfb\x2d\xf9\x89\x4f\x1d\x66\x26\x0a" -+"\xfb\x20\x41\x1d\x66\x26\x0a\xfb\x82\xf9\x89\x21\x1d\x2f\x2e\x0a\xfb\x12\xf7\x6d\x20\x1d\x2f\x2e\x0a\xfb\xc3\xf7\x5f\x25\x1d\xfb" -+"\x28\x36\x0a\xfb\x30\xf7\x48\x2a\x0a\xfb\x90\xb5\xf8\xde\x15\xfb\xd3\xed\xf7\x36\x07\xc8\xa0\xa6\xbb\xaf\x9b\x79\x62\x1e\xfb\x53" -+"\xed\xf7\x5a\x07\xb3\x87\xa1\x7f\x9d\x1e\xa9\x78\x63\x9e\x5f\x1b\x5f\x6d\x7d\x69\x71\x1f\xb3\x07\x0e\x9d\x6b\x1d\x0e\xf7\xbb\x6a" -+"\x1d\xf3\x39\x1d\x0e\xf7\xbb\x6a\x1d\xf7\xb9\xb6\x1d\xf7\x4e\xf8\xc8\x2f\x1d\xfc\xa2\xfb\x22\x3c\x0a\xf9\x69\xfb\xe9\x71\x1d\x66" -+"\x65\x73\x0a\x0e\xf7\x4e\xf8\xe9\x2f\x1d\xcd\xfc\x77\x61\x1d\x3c\x3c\x51\x5a\x49\x62\x9c\x7a\x0a\x3a\xf7\x1a\x15\xb1\xa5\x75\x6a" -+"\x6a\x71\x74\x65\x66\xb7\x1d\xb0\x1f\xfb\x3c\x04\xb4\xa5\x70\x5e\x62\x71\x70\x62\x62\x71\xa6\xb5\xb6\xa5\xa7\xb4\x1f\xfc\xa3\xf7" -+"\xa5\x15\xa6\x9d\x89\x89\x94\x1f\xa7\x84\x9d\x74\x6e\x1a\x68\x71\x72\x67\x61\x76\xa0\xb8\x89\x1e\x2f\x06\x30\x8c\xc3\x57\xec\x1b" -+"\xec\xca\xc1\xdf\xba\x75\xad\x5f\xa1\x1f\xad\xa0\x9d\xaa\xb0\x1a\xd2\x52\xb9\x33\x57\x60\x7a\x6b\x72\x1e\x78\x74\x84\x72\x88\x59" -+"\x08\xe4\x06\xc2\x8c\x9a\x9e\xb4\x1b\xab\xa0\x76\x6a\x65\x71\x77\x59\x1f\x81\x06\x0e\xf7\x4e\xf8\xdc\x2f\x1d\xda\xfc\x77\x61\x1d" -+"\x3d\x3c\x51\x5a\x49\x62\x9b\x7a\x0a\x3b\xf7\x1a\x15\xb0\xa5\x74\x6b\x6a\x71\x74\x65\x67\x71\xa3\xab\xab\xa5\xa2\xb0\x1f\x8a\xfb" -+"\x3c\x15\xb4\xa5\x70\x5e\x62\x71\x70\x62\x62\x71\xa6\xb5\xb6\xa5\xa7\xb4\x1f\xfc\x08\xf8\xa4\x15\xfb\x77\x06\x65\xfb\x81\x05\xd7" -+"\x06\xa0\x94\x9e\x97\xa4\x1b\xb7\xa4\x6c\x57\x59\x71\x6c\x61\x66\x76\x9d\xae\x89\x1f\x39\x06\x42\x8a\xc5\x57\xde\x1b\xe7\xc9\xca" -+"\xe7\xe2\x55\xc7\x3c\x6f\x76\x84\x78\x73\x1f\x98\xe4\x05\xf7\x44\x06\x0e\xf7\x4e\xf8\xbf\x2f\x1d\xe7\xfc\x77\x71\x1d\x65\x66\x73" -+"\x0a\xfb\xc1\xf8\xa4\x15\xfb\xbf\x40\xf7\x67\x06\x2f\xfb\x05\x64\x2f\x79\xfb\x26\x08\xe0\x06\x93\xf7\x1b\xb7\xf2\xef\xf7\x0e\x08" -+"\x0e\xf7\xf4\x6f\x1d\xf7\x9c\xf7\xe0\x20\x1d\xd5\x20\x0a\xd4\xf8\x06\x42\x0a\xd5\x20\x0a\x0e\xd5\x20\x0a\xfb\x60\xf7\x40\x23\x1d" -+"\xd5\x20\x0a\xf7\x29\xf7\xe9\x28\x0a\xd5\xf8\x89\xf7\x27\x15\xbb\xfb\x27\x05\xd6\x06\x3d\x6f\x5d\x58\x50\x1a\x4e\xc0\x69\xea\xa6" -+"\xa0\x8e\x91\xa6\x9f\x0a\x74\x9b\xb0\xbc\xb7\xbd\xd0\xa9\x1f\x71\x0a\x0e\xd5\x20\x0a\x89\xf8\x1c\x2c\x1d\xa9\xf7\x3d\x20\x1d\xd5" -+"\x5e\x0a\xd5\x2d\x0a\x6e\xf8\x5a\x20\x1d\xd5\x2d\x0a\xfb\x04\xf7\xc4\x7c\x0a\xd5\x2d\x0a\xfb\x70\xf8\x5a\x2b\x1d\xd5\x2d\x0a\xfb" -+"\x0b\xf8\x4c\x27\x0a\x9e\x62\x0a\xd5\x6e\x1d\xa8\xf9\x29\x2a\x0a\xd5\x5d\x0a\x67\x8f\x16\xf8\xf0\x06\xfb\x97\xf9\x0a\x05\x33\x06" -+"\xb7\x25\x15\xf7\x4b\xfc\x5b\x05\xfc\x01\x06\x0e\x9e\x22\x0a\xf7\x8b\xf9\xb6\x74\x0a\x9e\x22\x0a\xf7\x3b\xf9\x29\x15\xf7\x00\x3a" -+"\x0a\x9e\x22\x0a\xf7\x3f\xf9\xb1\x27\x0a\x9e\x22\x0a\xf7\x9d\xf9\x99\x28\x0a\xd6\xf8\x1e\xfb\xb3\x15\x86\xb6\xb0\x89\xa9\x1b\xc7" -+"\xb6\x9c\xad\xa2\x1f\x9d\xa6\x92\xac\xd0\x1a\xf8\xef\x07\xea\x77\xc3\x58\xb8\x1e\xb0\x62\x54\x9e\x4d\x1b\x2d\x4a\x67\x39\x58\x1f" -+"\xf5\x33\x0a\xf8\x56\x07\xb9\x9c\xb2\xaa\xa5\x1e\xa1\xa6\xab\x95\xbe\x1b\xea\xae\x69\x2c\x1f\xfc\xb7\x07\x51\x80\x7e\x5e\x79\x7e" -+"\x8d\x8f\x74\x1e\x0e\x9e\xf7\x79\x99\x1d\xf8\x6b\x06\x35\x64\x64\x60\x53\xbb\x1d\xa6\x1e\xba\x07\x88\x79\x78\x89\x77\x1b\x58\x73" -+"\x9c\xaf\xba\xb0\xb6\xd2\xb2\x1f\xf7\x11\xfc\x1f\x07\x0e\x9e\x22\x0a\x0e\xf7\x61\xf8\x00\x4e\x1d\xfb\x66\xf8\xf0\x23\x1d\xd5\x84" -+"\x1d\xf7\x96\xf9\x1a\x55\x1d\xfb\x66\xf8\x22\x23\x1d\x2f\xa9\xf7\xd2\x15\x73\x47\x05\xd3\x06\x98\x4b\x9f\x57\xaa\x5d\x08\x48\xb8" -+"\xde\x5f\xda\x1b\xb2\xad\x93\xa5\xda\x1f\xf7\x29\x07\x61\x3d\x6f\x81\x63\x1b\x4f\x5b\xbe\xe6\x71\x1f\xf7\x49\x06\xa4\xcf\x05\xfb" -+"\x6d\x06\x89\x95\x8b\x92\x95\x1a\x99\x8c\x96\x8d\x9b\x1e\xf7\x84\x06\xa3\xcf\x05\xfb\x8f\x06\xe7\xa3\xb8\xbb\xc9\x1b\xb9\xb0\x7a" -+"\x59\xca\x1f\xb8\xf7\x15\x05\xc0\x43\x63\x9a\x45\x1b\xfb\x24\x22\x28\xfb\x3f\x66\x1f\x5b\x06\x73\x47\x05\xca\x06\x8a\x7f\x8b\x82" -+"\x7f\x1a\x7f\x8b\x82\x8d\x7d\x1e\x0e\x5c\xd5\x16\xf7\x2a\xf8\xf0\xf7\xfe\xf7\x11\xfc\x94\x06\x0e\xf7\x16\x35\x1d\xfb\x49\xfa\x35" -+"\x15\x53\x06\x5c\x82\x75\x78\x5e\x1b\x5e\x72\xa0\xb8\x85\x1f\x53\x81\x06\x3f\xc3\x52\xd7\xd6\xc4\xc4\xd6\x1e\x0e\xf7\x16\x35\x1d" -+"\xfc\x09\xfa\x3e\x2b\x1d\xf7\x16\x35\x1d\xfc\x0f\x51\x15\xfb\x04\xce\x07\x8c\x59\x75\x6d\x5d\x82\x08\x5d\x07\xd1\x8d\xc2\xcb\x35" -+"\x0a\xf2\x07\x0e\xf7\x16\x35\x1d\xfb\xab\xfa\x30\x27\x0a\xd5\xf8\x8f\xf7\xdf\x15\xfb\xdf\xf7\x2a\xf8\xad\xce\xdb\x48\xf7\x04\xfb" -+"\x2a\xfb\x04\xfb\xb5\xf7\x04\xfb\x2a\xfb\x04\x48\x3b\xce\xfc\xad\x2e\x1d\x07\xf7\xb5\xf7\x11\x15\xfb\xb5\xdc\xf7\xb5\x06\x0e\xd5" -+"\xf8\x8f\x55\x1d\xe7\xf8\xf1\x2b\x1d\xf7\x1d\xf7\x6a\x31\x1d\xf7\xfd\x7a\x1d\x0e\x29\x1d\xc5\xfa\x33\x74\x0a\x29\x1d\x77\xfa\x2e" -+"\x27\x0a\x29\x1d\xc8\xfa\x16\x15\xfb\xa4\x3c\xf7\xa4\x06\x0e\xf7\x69\x5c\x1d\xdf\x06\x3e\x62\x67\x60\x57\x1a\x4f\xbe\x66\xdd\xa2" -+"\xa0\x8e\x91\xa5\x1e\xba\x07\x88\x7b\x76\x89\x7e\x1b\x66\x71\xa0\xa9\xb6\xab\xba\xc4\xb4\x1f\x0e\x29\x1d\x0e\x6b\x0a\xfb\x42\xf7" -+"\xfd\x31\x1d\xfb\x66\xf9\x6d\x23\x1d\x29\x1d\xb4\xfa\x34\x15\x6b\x88\x7f\x7b\x76\x1b\x84\x78\x8e\x8e\x83\x1f\x44\xa4\x05\x97\x6a" -+"\x86\x8c\x79\x1b\x54\x51\x1d\x95\x94\x89\x87\x96\x5f\x1d\xaa\xb5\xe0\x90\x1f\x0e\x2f\x77\x1d\xfb\x13\xf7\x63\x2b\x1d\xd5\x79\x1d" -+"\xd5\xf7\x74\xf7\x88\x15\xd6\xd9\xf7\x83\xfb\xd6\x05\xf7\x47\x06\xfb\xd6\xf8\x33\xf7\xb7\xf7\xce\x05\xfb\x45\x06\xfb\xb1\xfb\xd4" -+"\x05\xf7\xd4\x33\x0a\x07\xe6\x4f\x22\x1d\x66\x38\x1d\xcf\xf9\xbf\x20\x1d\x9e\x86\x16\xf7\x2d\x06\xf7\x4e\xf8\xc1\xf7\x4d\xfc\xc1" -+"\x05\xf7\x2d\x06\xfb\x97\xf9\x6d\x56\x0a\x0e\x66\x38\x1d\xef\xf8\xf0\x22\x1d\x66\x38\x1d\xb2\xfb\x4d\x22\x1d\x66\x38\x1d\xf7\x2b" -+"\xf7\xc0\x3e\x0a\xf7\x4d\x66\x0a\xd5\x29\x0a\xf7\xae\xf8\x44\x20\x1d\xd5\x29\x0a\xf7\x5b\xf7\xae\x7c\x0a\xd5\x29\x0a\xdd\xfc\xc8" -+"\x22\x1d\xd5\x29\x0a\x0e\xf7\x16\x24\x0a\xd6\xf7\xce\x42\x0a\xf7\x16\x24\x0a\xd1\xf7\xd7\x32\x0a\xf7\x16\x24\x0a\xf7\x2a\xf7\xb1" -+"\x28\x0a\xf7\x52\xf8\x19\x7b\x0a\xf7\x0c\x98\x1d\xf7\xcd\xf7\x11\xfb\x38\x07\xb6\xa6\xa0\xa0\x0a\xf7\x5b\xfb\x27\xf7\x25\xfb\x5f" -+"\xfb\x5f\xa5\x1d\xa0\x7a\xb6\x70\x08\xfb\x38\xfb\x11\xf7\xcd\x06\xfb\xaa\xf9\x6d\x23\x1d\xf7\x16\x24\x0a\x0e\xf7\x45\xf8\x46\x3f" -+"\x0a\xfb\xde\xf7\x08\x23\x1d\xf7\x16\x5a\x0a\x6a\xf8\x11\x20\x1d\xf7\x41\xf7\xf1\x7d\x15\xf7\x11\xe4\x06\xcf\x91\xb4\x96\xb7\xa3" -+"\x08\xe0\xb9\xbd\xe7\xf7\x03\x1a\xf7\x02\x59\xe7\x36\xb9\x1e\x5f\xa3\x62\x96\x47\x91\x08\xe4\xfb\x11\x32\x07\x4a\x85\x64\x80\x61" -+"\x75\x08\x33\x5e\x54\x2a\xfb\x00\x1a\xfb\x01\xc2\x2a\xe3\x5e\x1e\xb5\x75\xb2\x80\xcc\x85\x08\xf7\x09\x04\x2c\x9c\x57\xc8\xea\x1a" -+"\xeb\xbe\xc6\xeb\x9a\x1e\xf7\x11\x16\xb8\x85\xa2\x82\xa2\x78\x08\xae\x6e\x9f\x5a\x55\x1a\x2c\x55\x4a\x2f\x7a\x1e\x0e\xd5\xcd\x16" -+"\xf7\x2a\xf8\xf0\xf7\xb4\xfc\xf0\xf7\x2b\xf9\x6d\xfc\xe1\x06\x0e\xf7\x35\xf7\xe1\x16\xf7\x27\xf7\x16\x06\xd8\x8e\xc9\x9e\xb9\xb0" -+"\xd4\xc9\x9f\xd3\x8a\xf7\x50\x08\xf7\x6e\xfb\x2a\xfb\x6e\x07\xfb\x21\x87\x6b\x75\x69\x1e\x6a\x71\x69\x7a\x62\x1b\xf8\x6f\xfb\x27" -+"\xfc\x6f\x07\x66\x6d\x97\xa6\x72\x1f\x6c\xad\x86\xab\xf7\x2c\x1a\xf7\x6e\xfb\x2a\xfb\x6e\x07\x8a\xfb\x41\x9a\x4b\xc3\x4b\xba\x59" -+"\xd1\x70\xe6\x88\x08\x0e\xd5\x3b\x1d\xde\xf8\x9e\x15\xfb\x13\x06\x46\xfb\x2a\x05\xd0\x06\x0e\xd5\x3b\x1d\xf8\x08\x04\xf6\x3a\x0a" -+"\xd5\x3b\x1d\x2e\xfc\x6e\x22\x1d\x9e\x74\x1d\x9e\x2c\x0a\x8a\xf8\x41\x20\x1d\x9e\xf7\xe8\x74\x15\xf7\x57\x94\xed\xda\xf7\x29\x1a" -+"\xf7\x06\x51\xc7\xfb\x1b\xa5\x1e\x7e\x0a\xf7\x20\x06\x67\x0a\x95\xfb\x26\xdf\x3e\xf7\x3f\x79\x61\x38\x18\x95\x9e\x95\x8d\x78\x0a" -+"\xdd\xb9\xac\xc7\xb8\x6e\xa5\x5b\x7c\x80\x89\x87\x7c\x1f\x0e\x9e\x2c\x0a\xfb\x5c\xf8\x41\x23\x0a\x9e\x2c\x0a\xfb\x4d\xfc\xcb\x22" -+"\x1d\x5b\xa5\x16\xf8\xbd\xf7\x11\xfc\x02\x06\xf7\x7e\xf7\x87\xfb\x7a\xf7\x80\x05\xf7\xee\xf7\x11\xfc\xaa\xfb\x11\x06\xf7\x7e\xfb" -+"\x80\xfb\x81\xfb\x8d\x05\x0e\x66\x42\x1d\x0e\x66\xf8\x15\xf8\x5a\x15\xf7\x2a\xf7\x69\xf7\x11\xfc\xdc\xfb\x11\xf7\x71\xfb\x2a\xfb" -+"\x26\x3b\xf7\x26\xfc\x0a\xf7\x2a\xf8\x0a\xf7\x27\xdb\x07\x0e\x66\x42\x1d\x74\xf9\xa6\x2a\x0a\x66\xf7\xff\x16\xa1\xf8\xf0\xf7\x69" -+"\xf7\x11\xfc\xdc\xfb\x11\xf7\x71\xfc\xf0\xe0\x06\x55\x21\x05\x95\x9e\x95\x8d\x57\x1d\x74\x92\xa2\x56\x9c\x1d\x7c\x49\x1d\x0e\xf7" -+"\x16\xf8\xa1\xf8\x2b\x15\xfb\x9f\x29\xf7\x9f\x06\xfb\x1b\xf8\x44\x6c\x1d\x0e\xd5\x25\x0a\xfb\x6c\xf7\x5a\x42\x0a\xd5\x25\x0a\xfb" -+"\x71\xf7\x63\x32\x0a\xd5\x25\x0a\xfb\x1f\xf7\x3d\x28\x0a\xd5\xf8\xe9\xfb\x45\x15\x87\x78\x79\x89\x76\x1b\x57\x72\x9c\xad\xae\x9e" -+"\xae\xb9\xbc\x1f\xf7\x00\xf7\x03\x9a\xaa\x8f\xf5\x08\xf8\x82\xfb\x2a\x85\x1d\xe6\x1b\xb2\xa2\x8e\x98\xba\x1f\x3e\x5b\x70\x68\x5b" -+"\x1a\x62\xa1\x6f\xb9\x7c\x1e\x83\xa3\xa4\x87\xa6\x1b\xa8\xa3\x8e\x92\xa6\x1f\x0e\x9e\x2a\x1d\x0e\x9e\x2a\x1d\xfb\x0f\x38\x0a\xf7" -+"\xab\xf8\xee\xf7\xa2\x15\xf7\x7b\xf8\x5f\x05\xfb\x3c\x06\xfb\x1f\xfb\xd6\xfb\x29\xf7\xd6\x05\xfb\x3b\x06\xf7\x86\xfc\x5f\x05\xfb" -+"\xa2\xf7\x2a\x07\xfc\x3a\xf9\x6d\x23\x1d\xd5\x25\x0a\xfb\xb4\xf7\x70\x2c\x1d\x0e\xd5\x25\x0a\xfb\x45\xf7\x5b\x15\x6b\x87\x7f\x7b" -+"\x77\x1b\x84\x77\x53\x0a\x6b\x86\x4f\x0a\x88\x1f\xc9\x87\x0a\xa0\x9d\x87\x9b\x1b\xc6\xaa\xb5\xe0\x90\x1f\x0e\xf7\xbc\x2f\x0a\xad" -+"\x39\x0a\xf7\xbc\x2f\x0a\xfb\x42\xfa\x3c\x2b\x1d\xf7\xbc\x2f\x0a\xfb\x35\x38\x0a\xf7\xbc\x2f\x0a\xfb\x86\xfa\x3c\x21\x1d\x87\xa6" -+"\x16\xf8\xe1\xf7\x11\xfc\xe1\x06\xae\xf7\x51\x15\xf8\x93\xf7\x11\xfc\x93\x06\x6d\xf7\x39\x15\xf8\xd6\xf7\x11\xfc\xd6\x06\x0e\x9e" -+"\x2a\x1d\xfb\x1c\xfa\x3c\x23\x0a\x9e\x2a\x1d\xfb\x48\xfa\x3c\x21\x1d\x66\x31\x0a\xfb\x1d\xf7\xe0\x20\x1d\x66\x31\x0a\xfb\x6c\xf7" -+"\xd2\x27\x0a\x66\x31\x0a\x0e\x2f\x26\x1d\xbf\xf8\x81\x86\x1d\xf7\x85\x58\x0a\xfb\x35\xf8\x4a\x20\x1d\xf7\xf4\xab\x1d\xd5\xf8\x86" -+"\xa2\x0a\xfb\x87\xf9\x6d\x05\xfb\x43\x8c\x1d\x0e\xd2\xd5\x16\xf7\xf3\x06\xf7\x20\xf3\xe9\xf7\x11\xf7\x0e\xfb\x00\xed\xfb\x1c\x1f" -+"\xfb\x5d\xf7\x39\xf8\x0f\xf7\x11\xfc\xa5\x06\xf7\x2a\xfc\xf0\x15\xf7\x51\xf7\x6b\x07\xb8\xae\x62\x54\x54\x6a\x65\x5c\x1f\x0e\xd5" -+"\xda\x16\xf7\xdd\x06\xdf\xc2\x9b\xb0\xb7\x1f\xb7\xb0\xa7\xc8\xc6\x1a\xd3\x65\xc4\x38\xbb\x1e\xd4\xb9\xa6\xb5\xc9\x1a\xbe\x73\xbf" -+"\x62\xaf\x1e\xb0\x61\x59\x9b\x3e\x1b\xfb\xdd\x7e\x1d\x3a\x8d\x0a\x0e\xcb\x7e\xfb\x1c\x15\xf7\x2a\xf7\x1c\xf8\x3b\xfb\x1c\xf7\x2a" -+"\xf7\x99\x49\xf8\xf0\xfc\x74\xfc\x55\x06\x8c\x35\x48\x47\x35\x8a\x08\x72\x06\xf8\x8f\x16\xfb\x9b\x06\xbe\xad\xab\xc4\xc5\x1a\xf7" -+"\xde\xf7\x48\x07\x0e\x9e\xf7\x73\x4e\x1d\x0e\xa0\xf7\x74\xf7\xce\x15\xf7\xf1\xf7\x11\xfb\xf1\xf7\x39\xf8\x0d\xf7\x11\xfc\xa3\xfd" -+"\x6d\xf8\xb5\xf7\x11\xfc\x1f\x06\xdf\xf9\xb1\x25\x1d\xf7\x94\xf8\x0d\x16\x2e\x1d\xe2\x83\x0a\xfb\x2b\xc4\x1d\x2d\xf7\xa5\xfb\x2a" -+"\xfb\xa5\x24\x94\x1d\xf7\x1a\xf7\xdf\x05\xec\x06\x0e\x75\xc6\xf7\x86\x15\x6f\x07\x4a\x9d\x58\xb0\x63\x1e\x58\xba\xd5\x6d\xdb\x1b" -+"\xf7\x25\xf7\x03\xf2\xf7\x19\xe1\x61\xcc\x42\xa4\x1f\xcc\xaf\xaa\xbd\xd0\x1a\xf7\x06\x26\xde\xfb\x1e\x3f\x42\x72\x63\x61\x1e\x64" -+"\x66\x7b\x5e\x44\x1a\x72\xf7\x2a\xa4\x07\xc3\xad\xad\xc4\xc3\xb1\x69\x59\x56\x62\x66\x51\x1e\x5e\xfb\x11\xc3\x06\xa2\xa2\x84\x7e" -+"\x9f\x1f\xa6\x79\x97\x71\x64\x1a\x49\x64\x63\x4c\x66\x6c\x98\xa1\x7a\x1e\x7b\xa0\x84\xa7\xc0\x1a\x0e\xd2\x3e\x1d\x0e\xd2\x3e\x1d" -+"\xf8\x08\xf7\x60\x15\x5a\x85\x70\x72\x5f\x1b\x5e\x71\xa4\xbc\x84\x1f\x33\x06\x8c\x65\x8e\x7b\x95\x76\x08\x55\xa7\xbe\x6f\xd4\x1b" -+"\xce\xba\xa2\xbb\xa9\x1f\x9b\xa4\x8f\x9d\x8d\xb6\x08\x0e\x65\xc5\x16\x2e\x1d\xe5\x06\x7f\x0a\x26\xfb\xa5\x05\x35\xf7\xa5\xfb\x2a" -+"\x06\x0e\xc1\x90\x16\xdf\x06\xdf\x8a\xd5\xd3\x35\x0a\xf8\x5b\xf7\x7b\xfc\xf0\x2b\x0a\xfc\xa7\xfc\xcd\x07\x73\x8a\x7f\x80\x74\x1b" -+"\x56\x06\x0e\xf7\x4d\xf7\x68\x68\x0a\xd5\xa3\x0a\x2b\x0a\x89\x0a\xf7\x16\xf8\x18\x3f\x0a\x0e\xd2\xd3\x16\xf7\x2a\xf8\xf2\xf7\xa8" -+"\xfc\xf2\x2b\x0a\xfc\xd4\x06\x0e\x9e\xf7\x6f\x76\x1d\xd5\xf9\x3d\xf8\x76\x15\xb8\x1d\x30\x8f\x0a\xfb\x26\xfb\x81\xfb\x7f\xf7\x12" -+"\xfb\x26\xf7\x5f\xf7\x49\xf7\x0c\xf4\xf7\x3b\x94\x1f\xfb\x24\x77\x0a\x0e\x66\xf8\x14\x9d\x1d\x0e\x71\x73\x1d\x0e\xf7\x62\xf7\xf3" -+"\x16\xf7\x2a\xf0\xbc\x06\xf7\x2a\xf7\x04\xf7\x05\xf7\x2c\xf7\x2a\xfb\x04\xf7\x04\xfb\x2a\x1f\x5a\xf0\xfb\x2a\x26\x55\x06\xfb\x2a" -+"\xfb\x04\xfb\x04\xfb\x2a\xfb\x2c\xf7\x04\xfb\x05\xf7\x2a\x1f\xc1\x06\x88\xf8\x26\x15\xfb\xa9\x72\x07\x3a\x52\xc5\xdd\xdc\xc3\xc3" -+"\xdd\x1f\xf7\x48\x16\x9f\x06\xdd\xc4\x53\x3a\x39\x52\x51\x39\x1f\x77\x06\x0e\x9e\xf8\x33\xf8\x06\x15\xf7\x79\xf7\xfb\x05\xfb\x43" -+"\x06\xfb\x1e\x81\x0a\xf7\x3e\x06\xf7\x1f\xf7\x91\xf7\x1e\xfb\x91\x05\xf7\x43\x06\x0e\xdd\xcf\x16\xf8\x76\xfb\x33\xf7\x2a\xf7\xb0" -+"\x49\xf8\xf0\x91\x0a\xc2\xf8\x81\x16\x2b\x0a\x6c\x0a\xf7\xf9\xbc\x16\xfa\x1e\xf9\x6d\xfb\x2a\xfc\xf0\xfb\x78\x57\x0a\xfc\xf0\xfb" -+"\x78\x60\x1d\xf8\x07\xbf\x16\xf9\xba\xfb\x33\xf7\x2a\xf7\xb0\x49\x57\x0a\xfc\xf0\xfb\x71\x57\x0a\xfc\xf0\xfb\x6f\x60\x1d\xf7\x72" -+"\xf7\x9a\x16\xf7\xca\x06\x53\x1d\xfc\x20\xfb\x11\xf7\x8a\x06\xf7\x2a\xfc\x73\x4a\x0a\xf7\xdf\xf6\x16\xf7\xca\x06\x53\x1d\xfb\x2a" -+"\x06\xf7\x2a\xfc\xf0\x76\x0a\xf7\xc5\xfb\x11\x15\x48\x1d\x06\x0e\xd2\xef\x16\xf7\xca\x06\x53\x1d\xfb\x2a\x06\xf7\x2a\xfc\xf0\x4a" -+"\x0a\xca\xf8\xa5\xf7\xce\x15\xfb\x1a\x7c\x4a\x40\x23\x1b\x2f\x4f\xbf\xf7\x02\x69\x1f\xfb\x20\x5e\x05\xfb\x2f\xba\xf7\x0d\x31\xf7" -+"\x36\x1b\xef\xda\xae\xd1\xc7\x1f\xc6\xd0\xad\xf0\xf6\x1a\xed\x6e\xe9\x58\xcf\x1e\xdc\x50\x35\xb4\xfb\x00\x1b\xfb\x20\x23\x4b\xfb" -+"\x11\x4c\x1f\xf7\x16\x4b\x05\xe2\xb3\xc0\xb1\xdc\x1b\xc7\xbd\x70\x5c\xaa\x1f\x9d\x6e\x93\x75\x96\x5a\x08\xfb\xbc\xfb\x11\x06\x0e" -+"\xf8\x13\xf7\x5f\xf8\x5c\x15\xf7\xa5\x33\x0a\xf7\xdf\xf5\x07\x90\x46\x9a\x50\xa8\x55\x08\xfb\x06\xc8\xed\x51\xf7\x18\x1b\xef\xdc" -+"\xad\xce\xc7\x1f\xca\xd1\xaf\xf1\xf7\x01\x1a\xf7\x01\x67\xf1\x4c\xd1\x1e\xce\x4f\x3b\xad\x26\x1b\xfb\x40\xfb\x0c\x24\xfb\x4a\x64" -+"\x1f\xf7\xde\xf7\x31\x15\xf7\x09\xd5\x27\xfb\x32\xfb\x2a\x3f\x27\xfb\x06\xfb\x08\x40\xef\xf7\x2e\xf7\x2e\xd6\xef\xf7\x07\x1f\x0e" -+"\xd2\xf8\x81\x16\x2b\x0a\xfb\xe9\x06\x4c\x5a\x7a\x66\x61\x1f\x5b\x61\x70\x4e\x4d\x1a\x5a\x9b\x59\xa8\x66\x1e\x9b\x76\x9b\x80\xac" -+"\x7d\x53\x89\x6a\x61\x8c\x47\x08\xfb\x0d\x07\x87\x4f\x7f\x72\x6e\x81\x08\xf7\x1e\x06\xae\x8a\x9e\xa7\x8e\xc4\x08\xf7\x1f\x07\xaf" -+"\x99\x99\xb1\x8d\x1e\xf7\x58\x06\xf7\x11\x04\xfb\x42\x06\x51\x65\xb3\xc8\xc7\xb3\xb6\xc3\x1f\xf7\x42\x06\x0e\xfb\x35\xf8\x03\x21" -+"\x0a\xfb\xb4\xfd\x6d\xbe\x1d\x06\xe4\x4e\x0a\xf7\x81\xf7\x91\x16\xf7\x2a\xf7\xb8\x06\xb8\xa6\xbe\xa3\xce\x1b\xc5\xad\x71\x60\x1f" -+"\xfb\x05\x07\x89\x69\x73\x76\x67\x8c\x08\x44\xfb\x11\xf7\x14\x06\xdc\x87\xd2\xd0\x8e\xe0\x08\xf7\x43\x07\xb2\x7e\xb0\x74\xa8\x1e" -+"\xb3\x6a\x5b\x9e\x46\x1b\x3b\x4c\x76\x5e\x51\x1f\xf7\x49\xf7\x56\xf7\x11\xfc\xb7\xfb\x11\xf7\x5f\x07\x0e\x3a\x8d\x0a\xf7\x0a\xcd" -+"\x15\xf7\x04\x06\xe3\x4e\x0a\xca\xf8\x78\xf7\xce\x15\xf7\x11\xfb\xbc\x07\x96\xbc\x93\xa1\x9d\xa8\x08\xba\xaa\xbd\xa6\xc7\x1b\xdc" -+"\xc0\x65\x34\xb3\x1f\xf7\x16\xcb\x05\xf7\x11\x4c\x23\xcb\xfb\x20\x1b\x28\x3b\x68\x48\x50\x1f\x4f\x46\x68\x24\xfb\x00\x1a\x2a\xa7" -+"\x2e\xbd\x47\x1e\x38\xc8\xdf\x62\xf7\x01\x1b\xf7\x36\xf7\x09\xe2\xf7\x32\xbe\x1f\xfb\x20\xb8\x05\xfb\x02\x69\x4f\x57\x2f\x1b\x23" -+"\x4a\xd6\xf7\x1a\x7c\x1f\x0e\x9e\xf8\xf3\xf8\x8f\x15\xf7\x2b\x8a\x26\xde\xfb\x4d\x1b\xfb\x42\x95\x0a\xf0\x77\x05\xf0\x78\xb0\x6f" -+"\x50\x1a\x4e\x53\x66\x30\x25\x52\xb5\xda\x86\x1e\xfb\x26\x06\xfb\x30\x94\xf6\x36\xf7\x4e\x1b\xf7\x51\xf7\x02\xe2\xf7\x2a\xf7\x06" -+"\x50\xc7\xfb\x1a\xa5\x1f\xfb\x06\xa1\x05\xfb\x00\xa0\x6d\xa0\xc0\x1a\xc3\xbb\xad\xd9\xea\xc0\x63\x41\x90\x1e\x0e\xf7\x6a\x31\x1d" -+"\x0e\xfc\x08\xf7\x68\x6d\x0a\x2f\xf7\xe7\x21\x0a\xfc\xab\x07\x51\x6e\x6c\x56\x53\x73\xa5\xca\x1e\xd7\xfb\x2a\x3f\x07\x40\x9d\x5d" -+"\xb6\x64\x1e\x65\xb5\xc3\x78\xcf\x1b\xf7\x2a\xe0\xd9\xf7\x1f\x1f\xf8\xab\x07\x0e\xf8\x52\x9b\x16\xdf\x06\xdf\x8a\xd5\xd3\x35\x0a" -+"\xf8\x5b\xf7\x7b\xfc\xf0\xf7\xca\x07\xf7\x1e\xf0\xea\xf7\x17\xf7\x17\x27\xea\x59\x1d\xfc\xa7\xfc\xcd\x06\x73\x8a\x7f\x80\x74\x1b" -+"\x56\x06\xf9\x00\x16\xf7\x5e\xf7\x34\x07\xc2\xad\x65\x4d\x4d\x68\x63\x55\x1f\x0e\xf8\x33\xf7\x5e\xf7\xdf\x15\xf7\xb5\xfb\xdf\xf7" -+"\xca\x06\xf7\x1e\xf0\xea\xf7\x17\xf7\x18\x27\xe9\x59\x1d\xa3\x1d\xf8\x4b\xf7\x11\x4a\x0a\xf7\x77\xf7\x8b\x16\xf7\x2a\xf7\xb8\x06" -+"\x95\x9c\x91\x94\x94\x94\x08\xa0\xa0\xb6\x98\xbf\x1b\xbf\xa2\x85\x7c\x99\x1f\x96\x7d\x92\x7a\x7a\x1a\xfb\xb8\xf7\x2a\xf7\xd9\x07" -+"\xb0\x7d\xb3\x73\xa7\x1e\xb5\x69\x5c\x9c\x38\x1b\x2d\x63\x7d\x57\x4d\x1f\xf7\x49\xf7\x59\xf7\x11\xfc\xa7\xfb\x11\xf7\x4c\x07\x0e" -+"\x65\xac\x16\x2e\x1d\xe1\x83\x0a\xfb\x2c\x06\x2b\xfb\xa5\x05\x34\xf7\xa5\xfb\x2a\x06\xf7\x68\xcd\x15\xf7\x03\x06\xe4\x4e\x0a\x71" -+"\x73\x1d\xf7\xe5\xf9\xbc\x15\x5a\x84\x71\x72\x5e\x1b\x5f\x70\xa4\xbc\x85\x1f\x32\x06\x8c\x65\x8f\x7b\x95\x76\x08\x55\xa6\xbf\x6f" -+"\xd3\x1b\xcf\xba\xa2\xbb\xa9\x1f\x9a\xa4\x90\x9d\x8c\xb6\x08\x0e\x2f\xf8\xa0\x9c\x15\x74\xa1\x84\x9c\xa6\x1a\xf7\xc0\x07\xf7\x02" -+"\x3f\xc3\xfb\x28\x60\x0a\xf7\x2d\x06\xfb\x3e\xf7\x6d\x15\x3a\x63\x5d\x44\x5c\x6e\xa4\xb3\xb5\xa1\x9f\xc5\x97\x1e\xbb\x94\xb0\x92" -+"\x91\x8d\x9b\x93\x19\x0e\x6d\xf8\x0c\xf9\xe3\x15\x89\x40\x79\x6f\x56\x7c\x2c\x6d\x5d\x6e\x61\x51\x08\x56\x44\x72\x2a\xfb\x17\x1a" -+"\x32\x94\x4c\x9e\x61\x1e\x31\xb3\xe3\x57\xf7\x03\x1b\xf7\x3a\xf0\xf7\x00\xf7\x46\xdc\x77\xcc\x62\xbd\x1f\xc1\x5e\x46\xab\x44\x1b" -+"\x54\x5a\x7b\x67\x56\x1f\x93\xcb\xb8\xa9\xf7\x0c\xa4\xf7\x1a\xa7\xb0\xbc\x90\xf7\x32\x08\xfb\x69\xfc\x2f\x50\x1d\x6a\xe2\x16\xf7" -+"\xcb\x06\xe7\xcd\xca\xe3\xcd\x6b\xb5\x48\xa1\x1f\xc7\xa4\xa7\xb2\xc4\x1a\xd9\x4b\xc7\x38\x1e\xfb\xcb\x06\xf7\x20\xfc\x3f\x15\xf7" -+"\x0c\xf7\x18\x07\xab\xa4\x70\x6a\x69\x72\x71\x6b\x1f\xfb\x18\xf7\x6b\x15\xee\xf7\x18\x07\xa6\x9e\x77\x6e\x6d\x78\x77\x70\x1f\x0e" -+"\xfb\x7b\x90\x0a\x0e\x7e\x92\xfb\x04\x15\xf7\x20\xf7\x04\xf7\xdd\xfb\x04\xf7\x20\xf7\x75\x59\xf8\x3f\xfc\x3d\xfb\xbd\x06\x3d\x8c" -+"\x6c\x57\x5b\x1b\x53\x06\xf8\x37\x16\xfb\x63\x06\xb4\xac\x9f\xba\x8c\xd0\x08\xf7\x39\xf7\x25\x07\x0e\x2f\x65\x0a\x61\x7a\x65\x74" -+"\x59\x1b\x63\x6b\x9b\xa9\x77\x1f\x7e\x9f\x86\xa2\x89\xbd\x08\x8d\xe8\x15\xdc\x94\xae\xb2\xc9\x1b\xcb\xb1\x61\x3d\x92\x1f\x0e\x2f" -+"\x65\x0a\x5f\x7a\x65\x73\x59\x1b\x63\x6b\x9b\xaa\x77\x1f\x7e\xa0\x86\xa2\x89\xbe\x08\x8d\xe8\xad\x0a\xc9\x97\x0a\xfb\x23\xf8\x3c" -+"\x25\x1d\xc8\xf8\x3d\x16\xf7\x83\xbe\x07\x4b\x1d\xf7\x23\xac\x1d\x46\xfb\x50\x05\x58\xf7\x50\xfb\x20\xfb\x50\x4f\x06\x46\xf7\x50" -+"\x05\xfb\x21\x06\xe4\xfb\x83\xfb\x04\xfb\xc1\x05\xf7\x24\x06\xe4\xf7\x83\x05\xc7\xfb\x83\x06\x0e\xfb\x2b\xad\xf7\x47\x15\x8f\x48" -+"\x96\x6b\xa9\x69\x08\x5e\xb2\xc6\x73\xd1\x1b\xf7\x0c\xe3\xd4\xee\xc4\x72\xb1\x4f\xad\x1f\xbd\xa5\xa6\xb7\xc1\x1a\xe3\x3b\xc6\xfb" -+"\x0d\xfb\x09\x37\x50\x39\x1e\x64\xf7\x1a\x97\x07\xac\xa4\xa1\xb2\xb3\xa3\x75\x67\x63\x71\x78\x56\x1e\x70\x2c\xa6\x06\xb4\x95\x89" -+"\x7f\x9a\xc2\x1d\x6f\x6f\x62\xa9\x1d\x0e\x6a\x3f\x1d\x0e\x6a\x3f\x1d\xf7\xca\xa6\x0a\x5a\x77\x9a\xb3\x87\x1f\x48\x06\x6e\x8f\x7b" -+"\x93\x7a\x1e\x63\x9f\xbf\x6f\xc3\x1b\xc2\xbf\xa7\xb3\x9f\x1f\x93\x9c\x8f\x9b\x8c\xa8\x08\x0e\xfb\x28\xae\x24\x1d\xfc\xb0\xf7\x20" -+"\xf7\x83\xcc\x07\x46\x0a\x4a\xf7\x50\x06\x0e\x7e\xb0\x16\xeb\x06\xd4\x8c\xc8\xc7\x8a\xd3\x08\xf7\xba\xf7\x25\xfc\x3f\xf7\x20\xf8" -+"\xb0\xfc\x3d\xfc\x0f\x07\x8c\x72\x79\x76\x74\x89\x08\x5a\x06\x0e\xe7\xf9\x27\x16\xf8\xb0\xfb\x51\x07\x24\xfc\x29\x29\xf8\x29\x05" -+"\xfb\x50\xfc\xb0\xf7\x17\xf8\x30\x06\xef\xfc\x30\x05\xf7\x03\x06\xf1\xf8\x30\x05\xfc\x30\x07\x0e\x5f\x9d\x0a\xf7\x20\xf8\xb0\x92" -+"\x0a\x66\xf7\xc5\x41\x0a\x0e\x5f\xd4\x16\xf7\x20\xf8\x3f\xf7\x46\xfc\x3f\xf7\x20\xf8\xb0\xfc\x5e\x06\x0e\x66\xf7\x5c\xf8\xb0\x15" -+"\xfb\x20\xfd\x8a\x66\x1d\x50\xac\xbc\x6f\xce\x1b\xf7\x17\xeb\xf7\x0d\xf7\x39\xf7\x3c\x2f\xf7\x0a\xfb\x16\x46\x58\x8b\x1d\x2f\xf8" -+"\xa0\xf7\xe6\x15\x47\x0a\xfb\x47\xe8\x24\x7c\x1d\x0e\xfb\x32\xf7\x43\x16\xf7\x20\xf8\x3f\xf7\x33\xf7\x05\xfc\x5e\xfb\x05\xf7\x33" -+"\x06\x0e\x2f\x64\x0a\x0e\xf7\x77\xf8\x04\x16\xfb\x6e\xf7\x20\xf7\x6e\xa0\x07\xcd\xdc\xa6\xb2\xbe\x1f\xc8\xbb\xb2\xda\xd7\x1a\xd3" -+"\x67\xd8\x55\xbb\x1e\xbb\x55\x41\xa5\x3b\x1b\x76\xf7\x58\xfb\x20\xfb\x58\x76\x06\xfb\x3e\xfb\x16\xfb\x06\xfb\x2b\xfb\x2d\xf7\x19" -+"\xfb\x0e\xf7\x3b\x1f\xa0\xf7\x05\x15\x4d\x8f\x6e\x94\x6a\xa6\x08\x68\xa9\x75\xb8\xb7\x1a\xb5\x9f\xb4\xad\xa8\x1e\xac\xa7\xa9\x95" -+"\xcb\x90\x08\xf7\x20\x16\xca\x87\xa8\x82\xac\x6f\x08\xad\x6d\x9f\x60\x5e\x1a\x5c\x75\x5f\x66\x6f\x1e\x6c\x73\x6f\x82\x4e\x88\x08" -+"\x0e\x2f\xf7\xfa\x75\x1d\x6a\xd2\x16\xf8\x05\xfb\x34\xf7\x20\xf7\xa5\x53\xf8\x3f\xaa\x1d\x48\xf8\x13\x16\xf7\x23\xf8\xb0\x69\x0a" -+"\xf7\x4d\xc7\x16\xf9\x5e\xf8\xb0\xfb\x20\xfc\x3f\xfb\x27\x3a\x1d\xfc\x3f\xfb\x27\x9c\x0a\xf7\x58\xb6\x16\xf9\x21\xfb\x33\xf7\x20" -+"\xf7\xa4\x53\x3a\x1d\xfc\x3f\xfb\x32\x3a\x1d\xfc\x3f\xfb\x33\x9c\x0a\xdc\xf7\x60\x16\x9e\x1d\xfb\xd3\xfb\x05\xf7\x47\x06\xf7\x20" -+"\xfb\xce\xa4\x1d\x0e\xf7\x62\xf0\x16\x80\x0a\x06\xf7\x20\x49\x0a\xf7\x7f\xfb\x05\x15\xf7\x20\xf8\xb0\xfb\x20\x06\x0e\x6a\xe7\x16" -+"\x80\x0a\x06\xf7\x20\x49\x0a\x0e\x2b\xf7\x41\xf7\x76\x15\xf7\x6b\x06\x34\x7f\x5e\x5a\x48\x1b\x50\x62\xaf\xd1\x77\x1f\xfb\x1b\x67" -+"\x05\xfb\x0b\xae\xe4\x4b\xf7\x16\x1b\xf7\x3a\xf0\xf7\x00\xf7\x46\xf7\x46\x26\xf7\x00\xfb\x39\x21\x37\x5d\x39\x60\x1f\xf7\x10\x4f" -+"\x05\xbe\xa4\xad\xa3\xbc\x1b\xc8\xbc\x5d\x46\x96\x1f\xfb\x67\x06\x0e\xf7\x62\xf7\x51\xf7\xe8\x15\xf7\x5c\x2d\x1d\xf7\x77\xef\x07" -+"\xfb\x35\x9a\xea\x32\xf7\x2f\x1b\xf7\x3a\xf0\xf7\x00\xf7\x45\xf7\x47\x26\xf7\x00\xfb\x3a\x35\x43\x6d\x52\x5c\x1f\x6e\x68\x7d\x6c" -+"\x7f\x53\x08\xf7\x98\xeb\x15\xd8\xbd\x46\x21\x25\x57\x46\x40\x3f\x58\xd0\xf3\xf2\xbe\xd1\xd7\x1f\x0e\x4a\xf8\x09\x16\xf7\x20\xf8" -+"\xb0\xfb\xbf\x06\x29\x48\x4b\x2c\x49\xa9\x5a\xc1\x74\x1f\x62\x70\x83\x7a\x88\x49\x88\x42\x85\x71\x74\x69\x08\xf7\x25\x06\x97\xa3" -+"\x93\xaf\xb4\x1a\xad\x07\xbc\x9c\x9c\xbd\x1e\xe7\x06\xf7\x05\x04\xfb\x21\x06\x6f\x76\xa2\xac\xad\x9f\xa2\xa8\x1f\xf7\x21\x06\x0e" -+"\xfb\x5d\xf7\xdd\x24\x1d\xfb\x85\xfc\xb0\xab\x0a\x06\xf7\x1a\xf7\x32\x05\xfb\x1a\x06\x0e\x66\xf7\x22\x16\xf7\x20\xf7\x71\x06\xb1" -+"\xa9\x9e\x97\xa8\x1b\xad\x9d\x7a\x6a\x1f\xfb\x5e\x07\x8c\x65\x72\x70\x66\x8a\x08\x2c\x2e\xf7\x10\x06\xed\x8c\xd8\xdb\x88\xee\x08" -+"\xf7\x49\x07\xe6\x50\xc8\x34\x60\x6a\x7e\x69\x5b\x1e\xf7\x69\xf7\x1a\xe8\xfb\x1a\xf3\xfb\x20\x23\x21\x2e\xf5\x07\x0e\xfb\x7b\x90" -+"\x0a\xe0\xc5\x15\xe4\x06\xf7\x1a\xf7\x32\x05\xfb\x1a\x06\x0e\x2b\xf8\x0f\xf7\x76\x15\xea\xfb\x67\x07\xd0\x96\xbc\xb9\xc8\x1b\xbc" -+"\xad\x73\x58\xa4\x1f\xf7\x10\xc7\x05\xdd\x60\x37\xb9\x21\x1b\xfb\x39\x65\x1d\xfb\x46\xef\xfb\x00\xf7\x3b\xf7\x16\xe3\xcb\xf7\x0b" -+"\xaf\x1f\xfb\x1c\xaf\x05\x45\x78\x62\x67\x50\x1b\x48\x5e\xbc\xe2\x7f\x1f\x0e\x2f\xf8\x8d\xf8\x02\x15\xf7\x06\x89\x33\xd0\xfb\x26" -+"\x1b\xfb\x1c\x63\x0a\x69\x64\x78\x49\x44\x6f\x9d\xbf\x81\x1e\xfb\x1d\x06\xfb\x0b\x8f\xe0\x4e\xf7\x36\x1b\xdc\xc8\x9d\xb0\xb5\x1f" -+"\xae\xaa\xa0\xbb\xbd\x1a\xd0\x67\xb8\x45\xa0\x1e\x85\x0a\x1e\x0e\xf7\x65\xf8\xb0\x39\x1d\x0e\xfc\x03\xf7\x64\x6e\x0a\xf7\x67\x24" -+"\x1d\xfb\x20\xfc\xef\x06\x6a\x81\x82\x62\x1e\x7c\xfb\x05\x9a\x06\xf3\x92\x8b\x97\xa7\x1f\xad\x9b\x9d\xaf\xc4\x1a\xf9\xce\x58\x1d" -+"\xf7\xd5\xac\x16\xeb\x06\xd4\x8c\xc8\xc7\x8a\xd3\x08\xf7\xba\xf7\x3f\xfc\x3f\xf7\xc6\x07\xf5\xd9\xd4\xef\xee\x41\xcf\xfb\x02\x1f" -+"\xfb\x3a\xf7\x5c\xfc\x57\xfc\x0f\x06\x8c\x72\x79\x76\x74\x89\x08\x5a\x06\xf8\xb0\x16\xf7\x06\xf7\x34\x07\xa8\xa0\x73\x6a\x6a\x76" -+"\x73\x6e\x1f\x0e\xf7\x96\xd1\xba\x1d\xf7\xaf\x06\xf5\xd9\xd4\xef\xee\x41\xcf\xfb\x02\x1f\xfb\x23\xf7\x5c\x9b\x0a\xf8\x6f\x49\x0a" -+"\x0e\x66\xdb\x16\xf7\x20\xf7\xbb\x06\xc7\xa7\xab\xa5\xbc\x1b\xc0\xad\x69\xa5\x0a\xed\x44\xd1\x28\x51\x64\x7b\x57\x46\x1e\xf7\x07" -+"\xf7\x1d\xe8\xfb\x1d\xf0\xfb\x20\x26\x24\x2e\xf2\x07\x0e\xfb\x28\xf7\x52\xf8\xea\x15\xe7\x06\xf7\x17\xf7\x32\x05\xfb\x17\x06\xfb" -+"\x8b\xfb\x6c\x15\xfc\xb0\xf7\x20\xf7\x83\xc9\x07\x4b\x1d\xf7\x24\xac\x1d\x45\xfb\x50\x05\x4d\xf7\x50\x06\x0e\x2f\x64\x0a\xfb\x4b" -+"\xa6\x0a\x5b\x77\x9a\xb3\x87\x1f\x47\x06\x8c\x6e\x8e\x7b\x94\x7a\x08\x63\x9e\xc0\x6f\xc2\x1b\xc2\xc0\xa7\xb3\x9e\x1f\x94\x9c\x8e" -+"\x9b\x8c\xa8\x08\x0e\xd2\xd8\x16\xf7\x64\xfb\x34\xf7\x2a\xf7\x34\xf7\x64\xf9\x6d\x91\x0a\x5f\xd7\x16\xf7\x30\xfb\x34\xf7\x20\xf7" -+"\x34\xf7\x31\xf8\xb0\xaa\x1d\x42\xaf\xf7\xc0\x15\x8a\x80\x8b\x82\x85\x1a\x58\x93\x56\x98\x67\x1e\x29\xaf\xe2\x50\xf7\x01\x1b\xf7" -+"\x2e\xea\xf7\x04\xf7\x49\xf7\x41\x2c\xf5\xfb\x2e\xfb\x0f\x29\x46\x21\x6c\x1f\xf7\x24\x06\xb5\x9c\xb0\xa2\xbe\x1b\xb3\xab\x7b\x6d" -+"\x9e\x1f\x98\x77\x90\x74\x8d\x59\x08\x8a\x2e\x15\x3a\x82\x68\x64\x4d\x1b\x4a\x65\xb5\xd9\x85\x1f\x0e\xf7\x81\xf8\x1f\xf8\xd4\x15" -+"\xec\x83\x4c\xc5\x29\x1b\xfb\x09\x48\x3e\xfb\x19\xfb\x15\xce\x40\xf7\x08\xe9\xcd\xc7\xe9\x95\x1f\xfb\x06\x06\x61\x81\x7b\x7b\x6d" -+"\x1b\x63\x73\xb3\xcf\xd7\xa0\xb1\xb6\xaa\x9a\x7c\x5f\x95\x1f\xf8\x05\xfb\x47\x15\xfb\x0b\x42\x3d\xfb\x15\xfb\x14\xd4\x3d\xf7\x0c" -+"\xf7\x0b\xd5\xd9\xf7\x12\xf7\x18\x44\xd8\xfb\x0f\x1f\x8c\x2b\x15\xb8\xa8\x5f\x47\x4a\x6d\x5f\x5f\x5f\x6d\xb7\xcd\xce\xa9\xb7\xb7" -+"\x1f\x42\xf8\x2c\x15\xfc\x14\xfd\x59\x05\xdb\x06\xf8\x13\xf9\x59\x05\x0e\xfb\x33\xf7\x3e\xf7\xb6\x15\xca\xce\xb2\xba\xa5\xb7\x08" -+"\xb4\xd1\xa4\xd9\xc5\x1a\xc1\x70\xae\x61\x33\x49\xfb\x22\xfb\xd4\x4e\x1e\x70\x6c\x79\x79\x7c\x7e\x08\x79\x7b\x85\x83\x83\x1a\x82" -+"\x93\x81\x93\x92\xa6\x9f\xa3\xa4\x1e\x7f\x2f\x8a\x7b\x6b\x1a\x51\xa8\x68\xba\xaf\xa9\xa0\xb8\xa5\x1e\x98\xa1\x92\x9f\x97\x1a\x95" -+"\x84\x92\x81\x82\x85\x85\x7c\x83\x1e\x5e\x75\x7e\x7d\x79\x1b\x7e\x86\x92\x9d\xa4\x9e\xf7\x13\x9b\xd8\x1f\x96\xce\x15\xf7\x8b\xb4" -+"\xaa\xe7\xb5\x1b\x9a\x95\x7b\x74\x31\x55\xfb\x08\x36\x2d\x1f\x0e\xf8\x67\xf8\x40\x16\xf7\x0d\xf9\x6d\xfb\x0d\xfc\x84\x06\xfb\x7d" -+"\xf8\x84\x05\xfb\x10\xfd\x6d\xf7\x0d\xf8\x8c\x06\xf8\x5b\xfc\x8c\x15\xf8\x38\xea\xfc\x38\x06\xf7\x62\xf9\x1a\x15\xfb\x19\x39\xfb" -+"\x01\xfb\x45\xfb\x46\xdc\xfb\x00\xf7\x1a\xf7\x19\xde\xf7\x00\xf7\x42\xf7\x4b\x3b\xf6\xfb\x1c\x1f\xfb\x05\x04\xc9\xb4\x46\x21\x26" -+"\x61\x45\x4f\x4d\x62\xd0\xf3\xf3\xb4\xd0\xc8\x1f\x0e\x6a\xf8\x8d\xf7\xa6\x15\xf5\xf7\x9e\x05\xfb\x26\x06\x63\xfb\x19\x76\xb3\x7f" -+"\x9d\x76\xa0\x19\xb3\x65\x58\xa2\x5a\x1b\xfb\x0d\x31\xfb\x0f\xfb\x39\xfb\x38\xe3\xfb\x0d\xf7\x0d\xde\xc8\xbe\xf7\x04\xc0\x1f\xbd" -+"\xfb\x1f\x05\xf7\x2d\x06\xfb\x94\xf7\xa6\x15\x71\x38\x82\x72\x7c\x74\x08\x69\x75\x6e\x77\x71\x1b\x55\x65\xd3\xf2\xf3\xb0\xd0\xc3" -+"\xbf\xb2\x59\xfb\x05\xae\x1f\x0e\x6a\xf8\x98\xf7\xa6\x15\xf6\xf7\x9e\x05\xfb\x26\x06\x62\xfb\x19\x77\xb3\x7e\x9d\x77\xa0\x19\xb3" -+"\x64\x58\xa2\x59\x1b\xfb\x11\x2d\xfb\x10\xfb\x38\xfb\x37\xe7\xfb\x0d\xf7\x11\xdf\xc8\xbd\xf7\x04\xc0\x1f\xbd\xfb\x1f\x05\xf7\x2e" -+"\x06\xfb\x94\xf7\xa6\x15\x71\x38\x81\x73\x7d\x74\x08\x68\x74\x6f\x78\x6f\x1b\x50\x62\xd4\xf2\xf0\xb4\xd1\xc7\xc0\xb2\x5a\xfb\x06" -+"\xaf\x1f\x47\xf8\x97\x23\x1d\x2f\x26\x1d\xce\xf8\x64\x28\x0a\xfb\xcf\xc5\xf7\x82\x15\xf7\x42\xfb\xe8\x05\x7b\x93\x95\x84\x97\x1b" -+"\x93\x90\x8f\x92\x92\x89\x93\x88\x93\x1f\xfb\x17\xf7\xdd\xf7\x17\xf7\xdd\x05\x8e\x93\x8d\x93\x92\x1a\x93\x86\x8f\x83\x7f\x83\x85" -+"\x79\x81\x1e\x0e\xfb\xcf\xf7\xa7\xf7\x82\x15\xfb\x42\xf7\xe8\x05\x9c\x82\x82\x92\x7f\x1b\x83\x86\x87\x83\x85\x8d\x83\x8e\x82\x1f" -+"\xf7\x17\xfb\xdd\xfb\x17\xfb\xdd\x05\x88\x84\x89\x83\x84\x1a\x83\x90\x87\x93\x97\x93\x91\x9c\x95\x1e\x0e\x2f\xf8\xa0\x9c\x15\x73" -+"\xa2\x83\x9b\xa6\x1a\xf7\xc0\x07\xf7\x02\x40\xc3\xfb\x26\x60\x0a\xd8\x06\x3e\x70\x5c\x56\x50\x1a\x50\xc1\x68\xe9\xa7\x9f\x8d\x92" -+"\xa6\x1e\xba\x07\x88\x78\x78\x89\x78\x1b\x57\x73\x9c\xaf\xba\xb1\xb8\xd2\xb0\x1f\x88\x1d\x0e\x28\xf8\x73\xf8\x25\x15\x6c\x6d\x75" -+"\x81\x64\x1b\x71\x7e\x8e\x9b\x51\x1f\x9c\x4a\x6a\x92\x73\x1b\x71\x74\x82\x7a\x75\x1f\x7c\x80\x83\x80\x72\x67\x88\x86\x84\x80\x83" -+"\x81\xb0\x5a\x18\xaf\xa9\xa5\x98\xb3\x1b\xa1\xa6\x86\x7c\xc4\x1f\x76\xd9\x97\x89\xa5\x1b\xa9\xa8\x97\xa1\xa1\x1f\x98\x98\x8c\x8c" -+"\xae\xb4\x08\x65\xfb\x11\x15\x6c\x6d\x75\x81\x64\x1b\x71\x7e\x8e\x9b\x51\x1f\x9c\x4a\x6a\x92\x73\x1b\x71\x74\x82\x7a\x75\x1f\x7c" -+"\x80\x82\x80\x73\x67\x88\x87\x84\x80\x83\x80\xb0\x5a\x18\xaf\xa9\xa5\x98\xb3\x1b\xa1\xa6\x86\x7c\xc4\x1f\x76\xd9\x97\x89\xa5\x1b" -+"\xaa\xa7\x97\xa2\xa1\x1f\x98\x97\x8d\x8d\xad\xb3\x08\x0e\x2f\x26\x1d\x32\xf8\x97\x2c\x1d\xb0\xf7\x3e\x20\x1d\xf7\xf4\xf9\x5d\xf7" -+"\xac\x15\x6a\x5e\x6e\x53\x78\x1a\x81\x93\x84\x95\x92\x8f\x8d\x94\x93\x1e\xbc\xc6\xa6\xa0\xea\xc4\x08\x9c\x94\x8d\x8e\x95\x1a\x92" -+"\x85\x90\x76\x97\x1e\x42\xb5\x5f\xad\x64\xb9\x08\x9c\x7d\x87\x8e\x83\x1b\x81\x83\x84\x82\x79\xb0\x40\xa4\x6d\x1f\xfc\x3f\x06\xa6" -+"\xac\xaf\xd3\x9e\x1a\x93\x83\x92\x81\x83\x88\x88\x7a\x7c\x1e\x63\x5c\x61\x6a\x41\x61\x08\x77\x80\x84\x85\x84\x1a\x83\x8f\x86\x93" -+"\x86\x1e\xe9\x54\xaa\x73\xb7\x58\x08\x76\x9d\x8c\x8a\x94\x1b\x95\x93\x92\x94\x91\x7f\xab\x83\x9b\x1f\x80\xa0\x80\x9d\x76\xa7\x08" -+"\x0e\xfb\x28\xf7\xa2\xf9\x65\x15\x4f\xfd\x2a\x06\x74\x9c\x7b\x95\x77\x96\x08\x95\x78\x67\x99\x83\x1b\x82\x84\x83\x81\x84\x8d\x87" -+"\x94\x83\x1f\xc7\x59\x9e\x73\xc5\x2a\x08\x79\x95\x8e\x89\x94\x1b\x92\x91\x92\x9f\x96\x1f\xb4\xd4\xad\xb7\xba\xb3\x08\x9c\x9a\x8e" -+"\x8e\x93\x1a\x95\x84\x93\x82\x79\x40\x65\x73\x6e\x1e\x0e\xf7\xf4\xfa\x25\xf7\xad\x15\xc7\xfd\x2a\x07\x9c\xa2\x95\x9b\x96\x9f\x08" -+"\x95\x9e\x99\xaf\x93\x1a\x94\x83\x92\x81\x84\x87\x89\x82\x83\x1e\x59\x4f\x73\x78\x2a\x51\x08\x79\x81\x89\x88\x82\x1a\x84\x92\x85" -+"\x9f\x80\x1e\xd4\x62\xb7\x69\xb3\x5c\x08\x7a\x9a\x8e\x88\x93\x1b\x95\x93\x92\x94\x9d\x65\xd6\x73\xa8\x1f\x0e\xf7\xf4\xe0\xf7\xad" -+"\x15\xf9\x2a\x06\x73\x6e\x65\x40\x79\x1a\x82\x93\x84\x95\x93\x8e\x8e\x9c\x9a\x1e\xb3\xba\xb7\xad\xd4\xb4\x08\x9f\x96\x92\x91\x92" -+"\x1a\x93\x87\x90\x83\x90\x1e\x26\xc6\x70\xa1\x58\xc7\x08\x94\x83\x87\x8d\x84\x1b\x81\x83\x84\x82\x85\x97\x6a\x93\x7b\x1f\x96\x74" -+"\x97\x79\x9e\x71\x08\xfd\x2a\x06\x0e\xfb\x28\xf7\x66\x20\x15\xc7\xf9\x2a\x06\xa2\x7a\x9b\x81\x9f\x80\x08\x81\x9e\xaf\x7d\x93\x1b" -+"\x94\x92\x93\x95\x92\x89\x8f\x82\x93\x1f\x4f\xbd\x78\xa3\x51\xec\x08\x9d\x81\x88\x8d\x82\x1b\x84\x85\x84\x77\x80\x1f\x62\x42\x69" -+"\x5f\x5c\x63\x08\x7a\x7c\x88\x88\x83\x1a\x81\x92\x83\x94\x9d\xd5\xb1\xa3\xa9\x1e\x0e\xfb\x28\xf7\x67\xf7\x19\x15\xa5\x6c\x42\x70" -+"\x1d\x73\x7f\x79\x7f\x72\x78\x8a\xf8\x3a\x18\xa2\x7a\x9b\x81\x9f\x80\x08\x81\x9e\xaf\x7d\x93\x1b\x94\x92\x93\x95\x92\x89\x8f\x82" -+"\x93\x1f\x4f\xbd\x78\xa3\x51\xec\x08\x9d\x81\x88\x8d\x82\x1b\x84\x85\x84\x77\x80\x1f\x62\x42\x69\x5f\x5c\x63\x08\x7a\x7c\x88\x88" -+"\x83\x1a\x81\x92\x83\x94\x9d\xd5\xb1\xa3\xa9\x1e\x0e\xfb\x28\xf7\x0c\x47\x15\x60\xf7\x9c\xb6\x07\xfb\x41\xf7\x94\x15\xa4\x6d\x41" -+"\x70\x1d\x74\x80\x79\x7f\x71\x78\x8a\xf8\x3a\x18\xa3\x7a\x9a\x81\x9f\x80\x08\x81\x9e\xaf\x7d\x93\x1b\x94\x92\x93\x95\x92\x89\x8f" -+"\x82\x93\x1f\x4f\xbd\x78\xa3\x51\xec\x08\x9d\x81\x88\x8d\x82\x1b\x84\x85\x84\x77\x80\x1f\x62\x42\x69\x5f\x5c\x63\x08\x7a\x7c\x88" -+"\x88\x83\x1a\x81\x92\x83\x94\x9d\xd6\xb1\xa3\xa8\x1e\x0e\x65\xcd\xfb\x6e\x15\xf7\x20\xf7\x8b\x06\x66\xb6\xb5\x7c\xc5\x1b\xf7\x15" -+"\xeb\xee\xf7\x17\xc6\x77\xc2\x6a\xac\x1f\x77\x9f\x76\x96\x5f\x9a\x08\xca\xb3\xa7\xb9\xcc\x1a\xf7\x04\x2f\xd8\xfb\x19\x36\x44\x6e" -+"\x57\x63\x1e\x6d\x63\x81\x5f\x2b\x1a\xf7\x20\x99\x15\xc9\x8e\xa1\x97\xa1\x1e\xa6\x9a\xab\x9d\xad\x1b\xc2\xaf\x64\x50\x63\x79\x67" -+"\x6f\x7c\x1f\x79\x81\x7a\x88\x66\x89\x08\x39\x90\x07\x9a\x8c\x9b\x8c\xae\x82\xa0\x80\x19\xb6\x76\xa3\x5f\x52\x1a\x3b\x58\x50\x44" -+"\x65\x67\x97\xa3\x6b\x1e\x0e\x2f\x36\x1d\xb2\xf8\x37\x15\xfb\x12\x06\x45\xfb\x2a\x05\xd1\x06\x0e\x2f\x36\x1d\x5c\xf7\xa1\x93\x1d" -+"\x2f\x36\x1d\xfb\x35\xf8\x37\x15\x20\x52\x1d\x2f\x36\x1d\x5e\xf8\x29\x27\x0a\x43\xf7\xb5\xf7\xbb\x15\xfb\x04\xf7\x89\x05\xfb\x2b" -+"\x06\xf7\x52\xfc\x03\xfb\x61\xfc\x1b\x05\xf7\x29\x06\xf7\x13\xf7\xa5\xf7\x11\xfb\xa5\x05\xf7\x2e\x06\xfb\x62\xf8\x1f\xf7\x51\xf7" -+"\xff\x05\xfb\x27\x06\x0e\xf7\xf4\xf8\x8b\xf9\x4b\x15\xfb\x5c\xfb\x36\xfb\x35\xfb\x5c\xfb\x58\xf7\x36\xfb\x36\xf7\x57\xf7\x59\xf7" -+"\x37\xf7\x37\xf7\x57\xf7\x58\xfb\x36\xf7\x39\xfb\x55\x1f\x87\xfb\xd0\x15\xfb\x52\xf7\x50\x05\xb8\xc2\xcc\xa2\xd1\x1b\xd0\xcb\x74" -+"\x60\xc4\x1f\xb3\x63\x15\xbb\x52\xa2\x4c\x42\x1a\x43\x74\x4b\x5d\x53\x1e\xfb\x54\xf7\x57\x05\xf7\x2c\xfb\x7f\x15\x5f\x54\x48\x73" -+"\x45\x1b\x45\x4b\xa2\xba\x50\x1f\xf7\x55\xf7\x55\x05\xfb\x7d\xfb\x2d\x15\x5f\xc1\x74\xcb\xd1\x1a\xd3\xa2\xcb\xba\xc4\x1e\xf7\x52" -+"\xfb\x50\x05\x0e\x93\xf8\xd7\x16\x9f\x07\x24\x9f\x6e\x99\x5d\xbb\x5c\xbf\x7a\xc0\x8a\xeb\xa0\x66\x93\x7e\x97\x7d\x08\x5d\xb2\xc9" -+"\x6c\xc0\x1b\xe6\xd2\xd5\xe9\xe5\x4a\xd3\x3a\x6e\x84\x89\x6e\x50\x1f\xa7\xb4\x96\xaa\xb0\x1a\xe3\x42\xd2\x30\x2e\x44\x45\x31\x67" -+"\x92\x78\xad\x56\x1e\xa3\x5b\x76\x91\x6c\x1b\x40\x49\x3f\x34\x2e\xd4\x42\xe7\xdc\xcf\xbd\xe6\xb8\x1f\x8c\x7b\x8b\x80\x86\x1a\x43" -+"\x65\x3a\x55\x5f\x1e\x6b\x72\x74\x82\x2c\x77\x08\x77\x07\x0e\xea\xf8\x2b\x6d\x1d\xf7\xcb\xf7\xbd\x22\x1d\x66\xf8\x29\xf8\xe8\x15" -+"\xfb\x12\x07\xc1\x68\x5d\xa4\x47\x1b\xfb\x15\x29\xfb\x10\xfb\x37\xfb\x36\xed\xfb\x0f\xf7\x15\xcf\xb9\xa3\xc1\xae\x1f\x54\xf7\x20" -+"\xf8\xe8\xc7\xce\x4f\xcd\xfb\x20\x49\xfb\x19\x48\x07\x9a\xfb\x38\xa8\x1d\xef\xbb\xd1\xd1\x1f\x0e\x61\xf6\xf9\x81\x15\x2a\x07\xf7" -+"\x2f\xfb\x0c\x45\x85\x68\x7e\x65\x69\x19\x55\x59\x6e\x41\x2d\x1a\xfb\x44\xf1\xfb\x00\xf7\x39\xf7\x3a\xf0\xf7\x00\xf7\x46\xf7\x0b" -+"\x67\xd3\x2b\xd4\x1e\xfb\x26\xf7\x03\x05\xf7\x6a\xf7\x03\x06\xfb\x5f\xfb\xcd\x50\x1d\xfb\x1e\x90\xf7\xf1\x15\xf0\xfb\x11\xf7\x10" -+"\xfb\x45\xb1\x40\xc7\xf7\x00\xf7\x05\xf7\x34\xf4\xf7\x11\x3b\xe6\xfb\x39\xf7\x7d\x6a\xcf\x53\x24\x41\x22\xfb\x26\xfb\x4c\x08\x0e" -+"\xfb\x4b\xf7\x4a\x80\x1d\x2f\x27\x1d\xac\xf8\x41\x86\x1d\x2f\x27\x1d\x5b\xf7\xb4\x93\x1d\x2f\x27\x1d\x5f\xf8\x3c\x27\x0a\xf7\xf4" -+"\xf9\x93\xf7\x6c\x15\xc8\xfc\x62\x07\x91\xf6\xc3\xbd\xf7\x01\x89\x08\x8c\x0a\x42\x2c\x1a\xfb\x08\xb8\x38\x9a\x0a\xc9\xfb\xb7\x06" -+"\xfb\x01\x89\x53\xbd\x85\xf5\x08\x0e\x2f\x27\x1d\xbe\xf8\x24\x15\xfb\xbf\x3c\xf7\xbf\x06\x0e\x66\xf7\xe8\xfb\x69\x15\x88\xa6\xad" -+"\x89\xa1\x1b\xe5\xac\xad\xe5\x1f\xf8\x5c\x07\xd0\x7a\xb8\x65\xab\x1e\xa5\x6c\x5f\x9a\x58\x1b\x42\x5a\x71\x4e\x63\x1f\xd9\xfb\x20" -+"\xa1\x0a\xcf\xca\xa7\x6d\x49\x1e\xfc\x1a\x07\x67\x81\x7e\x6f\x81\x85\x8c\x8f\x7f\x1e\x0e\x2f\xf8\x72\xfb\x45\x15\x87\x78\x79\x89" -+"\x77\x1b\x57\x73\x9b\xaf\xb7\x9f\xad\xd0\xd5\x1f\xc5\xc9\x97\x9d\x99\xbe\x08\xfb\x1e\x06\x5f\x7a\x65\x72\x58\x1b\x63\x6a\x9c\xa9" -+"\x78\x1f\x7e\xa0\x86\xa3\x89\xbe\x08\xf7\xfe\x06\x8c\x97\x8b\x92\x90\x1a\xc1\x83\xbe\x7e\xb0\x1e\xed\x67\x34\xc6\xfb\x02\x1b\xfb" -+"\x2f\x2c\xfb\x04\xfb\x49\xfb\x41\xe9\x20\xf7\x2d\xa7\x9d\x8e\x95\xaf\x1f\x44\x5a\x73\x6b\x5e\x1a\x4f\xc2\x66\xe4\xa7\xa3\x8e\x92" -+"\xa6\x1e\xfb\xcf\xf8\xb3\xad\x0a\xca\x97\x0a\x0e\xfb\x41\xf7\xc5\xf7\xcb\x15\x5d\x8c\x7d\x8c\x74\x91\x08\x6b\x93\x79\xa1\xa9\x1a" -+"\xb3\xa9\xa3\xbc\xc0\xaa\x76\x5d\x97\x1e\xf7\x20\x06\xf7\x05\x78\x37\xc7\xfb\x1f\x1b\xfb\x14\x39\x51\x30\x59\xa1\x64\xb9\x67\x1f" -+"\x51\x75\x6f\x61\x4c\x1a\x23\xe3\x48\xf7\x1c\xe4\xc6\xa1\xbe\xbb\x1e\xab\xac\x99\xa8\x97\xc0\x08\xfb\x20\x06\x4e\x79\x6c\x73\x50" -+"\x1b\x54\x68\xa7\xb7\xa9\x9d\xa3\xa8\x92\x1f\xa3\x91\x8e\x8c\xd5\x8c\x08\x0e\xfb\x59\xf7\xb9\xf7\xcb\x15\x5e\x8c\x7e\x8c\x76\x91" -+"\x08\x6c\x93\x79\xa1\xa9\x1a\xb3\xa7\xa3\xba\xbf\xaa\x76\x5d\x97\x1e\xf7\x20\x06\xf7\x05\x78\x37\xc7\xfb\x1e\x1b\xfb\x12\x3b\x51" -+"\x2f\x5b\x9f\x63\xb6\x67\x1f\x55\x75\x70\x61\x4d\x1a\x21\xe1\x49\xf7\x1c\xe0\xc7\xa2\xbd\xbb\x1e\xab\xac\x99\xa8\x97\xc0\x08\xfb" -+"\x20\x06\x4f\x79\x6c\x72\x51\x1b\x57\x69\xa7\xb7\xa9\x9c\xa3\xa7\x92\x1f\xa3\x91\x8e\x8c\xd2\x8c\x08\x7a\xf8\xcc\x23\x1d\x4a\xf8" -+"\xaa\xf7\xb7\x9b\x1d\xf8\xeb\x04\xfc\x78\xfb\x0b\xf8\x78\x06\x0e\x5b\xf8\xa9\xf7\x88\x15\x92\x07\x94\x07\x89\xd4\x86\xa8\x7c\xb2" -+"\x08\xde\x69\x3a\xbd\x28\x1b\xfb\x29\x2c\xfb\x00\xfb\x3c\xfb\x3c\xe6\x26\xf7\x2b\xf7\x06\xd8\xc1\xf0\xaa\x1f\x8d\x90\x8d\x92\x05" -+"\x4b\x06\x8a\x89\x89\x86\x8a\x88\x08\x4f\x70\x53\x69\x42\x1b\x60\x68\x96\xa0\x73\x1f\x7b\x9a\x82\x9b\x80\xae\x8c\xe9\x18\xf7\xac" -+"\xc1\x15\xfb\xaa\xdb\x06\xcf\xab\xae\xa3\xce\x1b\xc1\xaf\x7b\x64\xac\x1f\x96\x7f\x8f\x84\x91\x7a\x08\x0e\x66\x7d\x1d\x0e\x66\x7d" -+"\x1d\xf7\x53\xf7\x8d\x23\x1d\x5f\xf7\x8a\x87\x1d\xf7\xc4\x72\x0a\xfb\x74\xbe\x16\xf7\xd9\xf8\xd5\xfb\xd9\x37\xf7\x85\xfb\x36\xfb" -+"\x85\x37\xf7\x85\xfb\x37\xfb\x85\x06\x0e\xf1\xf7\xf4\xf7\x98\x15\xfb\x37\x60\xf7\x37\xfb\x3a\xbb\xf7\x3a\xf7\x35\xb6\xfb\x35\xf3" -+"\x06\xe4\x98\xcf\xda\xe6\x1a\xee\x37\xde\x28\x29\x38\x34\x26\x34\xcf\x3e\xe6\x7e\x1e\xa6\xf7\xcb\x15\xd0\xc5\x50\x45\x43\x51\x51" -+"\x44\x42\x52\xc5\xd4\xd2\xc5\xc4\xd5\x1f\x0e\x2f\xf8\x3a\xf8\x4b\x15\xfb\x8e\x93\x0a\xf7\xce\xf7\x02\xfb\xce\xf7\x20\xf7\x4e\x06" -+"\xdd\xb4\xb4\xdd\x99\x96\xb9\x1d\x87\x8b\x86\x1b\x4a\x55\x61\x42\x6c\x1f\x0e\x2f\xf7\x68\xfb\x6e\x15\xf7\x18\xf7\x78\x06\xf7\x5a" -+"\xf8\xa6\x05\xfb\x2a\x06\xfb\x06\xfc\x1b\xfb\x06\xf8\x1b\x05\xfb\x2a\x06\xf7\x5a\xfc\xa6\x05\x0e\x66\xf8\x48\xf9\x80\x15\x53\x06" -+"\x5d\x83\x74\x56\x1d\x67\xfb\x59\x69\x1d\x0e\x66\x68\x1d\x3c\xf7\xd9\x23\x0a\x66\xf7\xfa\xf8\xf2\x15\xf7\x04\x48\x07\x8a\xbd\xa1" -+"\xa9\xb9\x94\x08\xb9\x07\x45\x89\x54\x4b\x8e\x3d\x08\x24\x07\xf7\x38\x49\x15\x38\x07\xca\x64\x60\xa8\x52\x1b\x5b\x56\x73\x64\x66" -+"\x1f\x55\x53\x6f\x3d\x2c\x1a\xfb\x3a\xe3\xfb\x06\xf7\x15\xc5\xae\x9e\xc6\xbc\x1e\x42\x07\x4a\x5d\x5e\x49\x59\x6c\xa1\xb4\x80\x1e" -+"\xfb\x24\x06\x8c\x61\x9a\x6e\xb0\x6d\x08\x68\xb6\xc6\x7a\xd7\x1b\xf7\x30\xe9\xd6\xf7\x11\x1f\xf8\xc2\x07\xfb\x8a\xfb\x00\x15\xcd" -+"\xbc\x42\x27\x29\x5c\x48\x45\x4e\x60\xce\xed\xf1\xb6\xd2\xca\x1f\x0e\x66\xf7\xf3\xf9\x7b\x45\x1d\xbc\x3a\x15\x38\x07\xca\x64\x60" -+"\xa8\x52\x1b\x5b\x56\x73\x64\x66\x1f\x55\x53\x6f\x3d\x2c\x1a\xfb\x3a\xe3\xfb\x06\xf7\x15\xc5\xae\x9e\xc6\xbc\x1e\x42\x07\x4a\x5d" -+"\x5e\x49\x59\x6c\xa1\xb4\x80\x1e\xfb\x24\x06\x8c\x61\x9a\x6e\xb0\x6d\x08\x68\xb6\xc6\x7a\xd7\x1b\xf7\x30\xe9\xd6\xf7\x11\x1f\xf8" -+"\xc2\x07\xfb\x8a\xfb\x00\x15\xcd\xbc\x42\x27\x29\x5c\x48\x45\x4e\x60\xce\xed\xf1\xb6\xd2\xca\x1f\x0e\x28\xb3\x1d\xfc\x7d\xf7\x39" -+"\x15\xf8\x7d\xf7\x49\x05\xf7\x0d\x07\xfc\x7d\xf7\x4a\x05\xfb\x03\x07\xf8\x12\xfb\x17\xfc\x12\xfb\x19\x05\x0e\x66\xf7\x63\xf9\x34" -+"\x15\xc4\xfb\x20\x52\x4d\x3b\xc9\xfc\xe4\xbc\x1d\xa9\xa2\x80\x75\x9b\x1e\x98\x78\x8f\x7d\x82\x0a\x5d\x1b\x47\x59\x6f\x50\x64\x1f" -+"\xf7\x16\xf7\x47\xdb\x07\x0e\x66\x61\x0a\xfb\x05\xf7\x63\x23\x0a\x55\xf7\xbc\x6f\x15\x9f\xe5\xc7\xf2\xf7\x08\xf7\x25\x08\xeb\xf7" -+"\x0e\xab\xce\xda\x1a\xde\x45\xcf\x37\x5b\x5f\x76\x65\x6a\x1e\x75\x72\x81\x75\x7e\x5d\x7f\xaf\x83\x9d\x7f\x9d\x08\xbd\x6a\x58\xa8" -+"\x54\x1b\x36\x49\x47\x32\x48\xa0\x5e\xdf\xfb\x06\x1f\xf7\x2b\xfb\x5e\xb3\x47\xa5\x24\x08\x0e\x5f\xa6\x16\xf8\xba\xf8\x25\x06\xfb" -+"\xa7\xf7\xdc\xfb\xa7\xfb\xdc\x05\xbe\xfb\xf2\x15\xf7\xdc\x07\xf7\x74\xf7\xa2\xf7\x74\xfb\xa2\x05\xfb\xdc\x07\x0e\x30\x1d\xc7\xf9" -+"\x78\x44\x0a\x2f\xf7\x74\xf8\xb0\x39\x1d\xf7\x93\x4b\x7b\x1d\xf7\x64\x48\x0a\xc6\xf9\x63\x15\xfb\x97\x3c\xf7\x97\x06\x0e\xcc\xf7" -+"\xf8\xf7\xbd\x15\x5b\xb6\x86\x8f\x78\x99\x08\xa7\x67\x5c\x9d\x67\x1b\x3e\x4c\x4c\x3e\x3e\xca\x4c\xd8\xb0\xb8\x9d\xa7\xb0\x1f\x9e" -+"\x99\x90\x8f\xbb\xb6\xbc\x60\x90\x87\x9e\x7d\x08\x6f\xaf\xb9\x79\xb0\x1b\xd8\xca\xca\xd8\xd8\x4c\xca\x3e\x67\x5c\x79\x6f\x67\x1f" -+"\x78\x7d\x86\x87\x5a\x60\x08\xaf\x6a\x15\xc4\xc5\xc2\xaa\xb5\x1b\xbc\xb3\x63\x5b\x5a\x63\x63\x5a\x61\x53\xab\xc4\x52\x1f\x44\x16" -+"\x53\x52\x53\x6b\x61\x1b\x5a\x63\xb3\xbb\xbb\xb3\xb3\xbc\xb5\xc3\x6c\x52\xc4\x1f\x0e\xfc\x0a\xf7\x50\xf8\x9f\x15\xb0\x72\x1d\xfb" -+"\x78\x07\x5f\x8f\x4d\x95\x24\x88\x0a\x94\x81\x80\x90\x7d\x1b\x71\x75\x75\x70\x6c\xa7\x73\xae\xb7\xaa\x0a\xd4\xf7\x41\x1a\x0e\x5f" -+"\xf7\xab\xfa\x25\x15\xfd\x79\x07\x66\x91\x3c\x94\x2e\x88\x0a\x95\x81\x7f\x90\x7e\x1b\x70\x76\x75\x6f\x6d\xa7\x73\xae\xb6\xaa\x0a" -+"\xcf\xf7\x46\x1a\xf9\x70\x07\x0e\x5f\xf7\xf5\xfb\x6e\x15\xf9\x78\x07\xb1\x72\x1d\xfd\x70\x07\x0e\xd2\xf8\xeb\x16\xf7\xa1\x07\xf7" -+"\x29\x86\xb1\x71\xb7\x1e\xd1\x61\x3e\xb4\x31\x1b\x38\x46\x6a\x4d\x5e\x1f\x66\x5a\x85\x67\xfb\x36\x1a\xfb\xa1\xd1\xf7\xa4\x07\xf7" -+"\x05\x91\xba\x9d\xad\x1e\xbd\xa6\xc5\xad\xc8\x1b\xc4\xc2\x6e\x5d\xa8\x1f\xa2\x67\x91\x62\xfb\x12\x1a\xfb\xa4\x07\x0e\xf8\x28\xf8" -+"\xa3\xf9\x6e\x15\xfb\x5b\xfb\x3a\xfb\x38\xfb\x57\xfb\x63\xf7\x35\xfb\x38\xf7\x5d\xf7\x61\xf7\x37\xf7\x36\xf7\x5f\xf7\x5e\xfb\x37" -+"\xf7\x37\xfb\x5e\x1f\xfb\x01\xfb\x63\x84\x0a\xfb\x14\xfb\x05\x15\x96\x59\x96\x75\xa5\x6d\x08\x54\xbb\xc7\x71\xdc\x1b\xdc\xc7\xa5" -+"\xc2\xbb\x1f\xa5\xa9\x96\xa1\x96\xbd\x84\x36\x80\x62\x6d\x5e\x08\x4c\x61\x4b\x6b\x38\x1b\x3e\x4f\xa6\xc1\x61\x1f\x67\xba\x7c\xb8" -+"\x84\xe8\x08\xf7\xee\xf7\x05\x84\x0a\x0e\xf7\x63\x24\x1d\xfb\x20\xfc\xb0\xd8\x06\x40\x5f\x68\x60\x5a\x1a\x4f\xbe\x66\xde\x9f\x97" -+"\x8d\x92\xaa\x1e\xba\x07\x87\x74\x80\x8a\x81\x1b\x7c\x7d\x8f\x92\x7e\x1f\x7b\x95\x86\x96\xa1\x1a\xb8\xa8\xb7\xc1\xb2\x1e\xf9\x6d" -+"\x58\x1d\x3b\x0a\x0e\x3b\x0a\xfb\x00\x41\x1d\x3b\x0a\xfb\x0d\x80\x1d\x3b\x0a\x78\xf9\xa9\x23\x1d\x30\x1d\xba\x40\x0a\xf7\x66\xf8" -+"\xb0\x83\x1d\xfb\x0f\xf9\xe7\x23\x0a\x31\xf7\x5c\xf7\xde\x15\xf7\x66\x2d\x1d\xf7\x45\x07\xc5\xca\xf7\x15\xfb\x84\x05\xf7\x36\xa7" -+"\x1d\x0e\x2f\x7f\x1d\xfb\x27\xfc\xec\x22\x1d\x2f\xf7\x33\xf7\x3e\x15\xbf\xc2\xf7\x3b\xfb\x75\x05\xf7\x12\x06\xfb\x75\xf7\xb7\xf7" -+"\x60\xf7\x6f\x05\xfb\x11\x06\xfb\x5b\xfb\x74\x05\xf7\x74\x22\xfc\x92\xf4\x07\x0e\x44\x1d\xd2\x39\x0a\x2f\x9b\x16\xf7\x24\x06\xf7" -+"\x09\xf7\xf3\xf7\x07\xfb\xf3\x05\xf7\x2d\x06\xfb\xb6\xf9\x6d\x05\xfb\x21\x06\xe8\xfb\x82\x05\x0e\xfb\x8c\x44\x1d\xc0\xf9\x6d\x22" -+"\x1d\x44\x1d\xfb\x15\x4f\x22\x1d\xfb\x3d\xf7\x6f\xf9\x6d\x64\x1d\xec\xf8\x3d\x3e\x0a\x28\xb3\x1d\xf9\x1d\x04\xfc\x7d\xfb\x4a\x05" -+"\xfb\x0c\x97\x1d\x2f\xf8\x0b\xf7\xd0\x15\xc2\xfb\x1f\x07\x87\x95\x82\x9f\x7a\xae\xb0\x1d\xa9\xa6\x82\x79\x9f\x1e\xa0\x79\x93\x79" -+"\x91\x5d\x8c\x80\x18\xf7\x17\x06\x87\xc6\x83\xac\x7c\xa8\x08\xd2\x66\x3e\xb2\x23\x1b\x48\x54\x7b\x6a\x61\x1f\x5d\x66\x6f\x53\x52" -+"\x1a\x60\x93\x74\xb4\x43\x1e\x8f\x84\x05\x4f\x54\xe4\x06\x8f\x7f\x90\x7e\x8d\x84\x08\x27\x54\xf7\x01\x06\x8a\x51\x72\x69\x38\x52" -+"\xc2\x26\x18\xa2\xb7\xa6\x92\xb1\x1b\xa6\xa1\x87\x7f\xbc\x1f\x7f\xbc\xa2\x87\xa6\x1b\xbc\xb3\x97\xac\xc3\x1f\x62\xf7\x01\x05\x77" -+"\x63\x6b\x82\x6a\x1b\x79\x78\x8e\x92\x70\x1f\x95\x64\x84\x8c\x7a\x1b\x6e\x76\x84\x6d\x4d\x1f\xd0\xc0\xae\xb8\x94\xb8\x08\xf7\x02" -+"\xc2\xfb\x02\x06\x88\x96\x88\x92\x85\x99\x08\x0e\xf7\x5f\x16\xf8\xda\x07\xa7\x97\x99\xa5\x97\xc1\x1d\x6c\x6f\x8c\x75\x1b\x30\x5e" -+"\x5f\x30\x1f\x4a\x3e\x2e\xd8\xfc\x48\x07\x0e\xf1\xf8\x14\xf8\x82\x15\x9f\x64\x73\x92\x69\x1b\x28\x36\x36\x27\x2b\xe0\x39\xef\xed" -+"\xdf\xe1\xf0\xb9\x79\xb5\x68\xae\x1f\xf7\x2a\xf7\x2a\x90\x72\x9f\x5a\x9a\x6d\x19\x77\x96\x90\x85\x95\x1b\x92\x90\x91\x92\x90\x8a" -+"\x8f\x89\x96\x1f\x84\xab\x89\xa1\xa8\x1a\xb1\x8e\xa9\x92\xa4\x1e\x90\x9c\x8b\x8c\x8f\x1a\x91\x87\x8f\x85\x87\x82\x89\x88\x82\x1e" -+"\x83\x71\x79\x89\x5c\x1b\x6f\x73\x8e\x91\x6e\x1f\x8d\x80\x88\x8c\x86\x1b\x83\x85\x86\x83\x7e\xa6\x79\xb2\x7c\x1f\xb4\x7c\x91\x89" -+"\x98\x88\x08\xfb\x8c\xfb\x41\x15\xd3\xc7\x4e\x42\x41\x4f\x4f\x41\x41\x4f\xc7\xd6\xd5\xc7\xc6\xd7\x1f\x0e\xfc\x2c\xf7\x4e\x99\x0a" -+"\x0e\xfb\x28\xf7\x7f\xf7\x53\x15\x92\x7b\x75\x90\x78\x1b\x48\x4f\x52\x4a\x64\xa7\x73\xb8\xe8\xcd\xd3\xf0\x1f\xf7\xd4\x07\xc8\x82" -+"\xbd\x39\x30\x1a\x54\x82\x60\x72\x50\x1e\xa8\x06\xb2\xbb\xa0\xc6\xcb\x1a\xdd\x6c\xd9\x4b\xd7\x1e\x53\xce\x8a\x8c\x85\x92\x83\x96" -+"\x19\xcb\x5b\x07\x0e\xf1\xf7\x95\xf9\x19\x15\xfc\x59\x8a\x1d\xf7\xf0\x07\xf7\xb5\x5f\x05\xfc\x03\x8a\x1d\xf8\x52\x07\x0e\x66\x37" -+"\x1d\xf7\x80\xf7\x6d\x20\x1d\xc7\xf7\x26\xf8\xb0\x15\xa1\x0a\xd0\xc7\xa9\x6a\x4b\x1e\xfb\xe1\xf7\x20\xf7\xfe\x07\xf7\x0c\x4a\xce" -+"\xfb\x08\x42\x5a\x71\x4e\x63\x1e\xd9\x07\xfb\xa3\xf7\x51\x22\x1d\x66\x37\x1d\xf7\x29\xce\x15\xf6\x3a\x0a\x66\x37\x1d\xb4\xfc\xec" -+"\x22\x1d\xf7\xf4\xf8\xa4\xf7\x6c\x15\xf7\x83\xc8\xfb\x60\x06\xe3\xf7\x2f\x05\xf7\x08\xc9\x3a\x06\xac\xc6\x61\xa3\x5c\x38\x05\xfb" -+"\x23\x06\x38\x68\x84\x72\x65\x1f\x4b\x60\x69\x42\x2c\x1a\xfb\x08\xb8\x37\xdc\x69\x1e\x6a\x52\xb6\x74\xb1\xce\x05\x88\xa5\x97\x8a" -+"\xb5\x1b\xf7\xac\xc9\xfb\xb7\x06\x77\x85\x8b\x8c\x82\x1f\xaa\xf7\x2d\x15\x3a\xfb\x21\x57\x9d\x6c\xbe\x88\xd3\x19\xf7\xb6\xf7\x6c" -+"\x15\x33\xfb\x2f\x05\xfb\x5e\x06\x91\xf6\xc3\xbd\xf7\x01\x89\x08\x0e\x28\xf7\x0f\xbf\x15\x64\x4a\xec\x53\xcf\xf7\x0d\x05\xf7\xb1" -+"\xf7\x0b\xfb\x6e\x06\xcf\xf7\x0d\x05\xf7\x2a\xf7\x0b\x37\x06\xae\xc8\x29\xc3\x4a\xfb\x09\x05\xfb\xa4\xfb\x0b\xf7\x61\x06\x47\xfb" -+"\x0d\x05\xfb\x1d\xfb\x0b\x06\x0e\x2f\xf7\xf5\x75\x0a\x66\x28\x1d\xf7\x15\xf7\xcc\x44\x0a\x66\x28\x1d\xd0\xf7\xd5\x32\x0a\x66\x28" -+"\x1d\xf7\x2a\xf7\xaf\x15\xfb\xbf\x3c\xf7\xbf\x06\x0e\xf7\x59\x59\x0a\x0e\xf7\x59\x59\x0a\xfb\x58\xf7\x8d\x23\x1d\x66\xf7\xc5\x41" -+"\x0a\x0e\x66\xf7\xc5\x41\x0a\xbe\xf7\xf5\x23\x1d\xf7\xdf\xbd\x16\xfa\x04\xcd\xfd\xc2\xf9\xb8\x49\x06\x0e\x66\x5c\x0a\xa5\xf8\x03" -+"\x20\x1d\xfb\x2e\xf5\xf9\x32\x15\xac\xd5\x8b\x8b\xb1\x1b\xba\xb2\x79\x69\xa3\x1f\xad\x5c\xa0\x40\x41\x1a\x6f\x89\x73\x82\x4f\x1e" -+"\xc0\x46\x70\x97\x55\x1b\x5a\x64\x7b\x69\x69\x1f\x5d\x5c\x6f\x48\x4a\x1a\xfb\x01\xde\x36\xf6\xd7\xc8\xb4\xd8\xb6\x1e\xb1\xcf\xa7" -+"\xf7\x16\xf3\x1a\xf7\x5c\xfb\x03\xf7\x25\xfb\x2d\x5e\x5c\x81\x79\x63\x1e\xf7\xbf\xfc\x36\x15\x7d\x32\x84\x6a\x7d\x60\x08\x3d\x70" -+"\x5d\x5f\x55\x1b\x53\x6a\xbe\xe2\xf7\x08\xcd\xeb\xdb\xb6\xaf\x75\x62\xa5\x1f\x0e\xf8\x52\xf9\x2e\xf7\xb2\x15\x5f\xd9\x37\x3d\x64" -+"\x55\xb2\xfb\x44\x06\x5d\xa4\x75\xc3\x9d\x98\x8d\x8f\x9b\x1e\xc0\x07\x89\x82\x86\x8b\x84\x1b\x78\x87\x91\xa4\x1f\xf7\x30\xb7\x07" -+"\xd1\xfb\x27\x15\x4b\x8d\xbe\x6a\xea\x1b\xe0\xbf\xb1\xc8\xb0\x76\xa4\x61\x96\x1f\x26\xa7\x05\x76\x91\x86\x8f\x98\x1a\x9c\x9c\x95" -+"\xa6\xb1\x9b\x80\x6e\x8d\x1e\xdc\x06\xc8\x8a\x57\xb1\x37\x1b\x3d\x59\x66\x4f\x64\x9b\x7a\xc0\x7b\x1f\xeb\x6e\x05\x9e\x86\x91\x85" -+"\x7f\x1a\x78\x77\x81\x65\x62\x7c\x95\xa7\x86\x1e\xfc\xd5\xf7\x43\x15\xb0\x06\xf7\x1a\xe1\xea\xf7\x28\xf7\x26\x38\xdb\xfb\x2c\x1f" -+"\xfb\x40\x32\x1d\xf8\x15\x04\xf7\x6f\x9f\x07\xc6\xa7\x68\x40\x41\x6f\x68\x50\x1f\x0e\xce\xf7\xb8\xe2\x15\x63\x90\x73\x96\x75\xa5" -+"\x08\x6d\xaf\x7c\xbc\xc7\x1a\xd7\xa3\xc7\xb7\xad\x1e\xe2\x07\xfb\x13\x6b\x44\x2b\xfb\x1f\x1a\xfb\x00\xb2\x3a\xd7\x5c\x1e\xb5\x71" -+"\xaf\x81\xcf\x86\x08\xfb\x61\xf7\x17\xf7\x61\x07\xcf\x90\xaf\x95\xb6\xa5\x08\xd6\xba\xb2\xdc\xf6\x1a\xf7\x4d\xfb\x08\xf0\xfb\x68" -+"\x72\x7d\x8a\x88\x72\x1e\xf7\x17\x26\x15\xb4\x87\xa2\x80\xa1\x71\x08\xa9\x69\x9a\x5b\x52\x1a\x52\x7c\x5d\x6d\x69\x1e\x75\x72\x74" -+"\x80\x62\x87\x08\x0e\xf7\x0a\xf9\x4c\x24\x1d\xfd\x06\xfb\x04\xd4\xfc\x40\xf7\x20\xf8\x40\xf7\x5c\xfc\x40\xf7\x20\xf8\x40\xd4\x06" -+"\x0e\xf7\xf0\xf7\x68\xfb\x30\x15\x3e\x36\xf7\x8f\x06\x8a\xe0\x05\x40\xf9\xab\xf7\xfe\xfd\xab\x45\x06\x8c\x36\x05\xf7\x84\xe0\x42" -+"\xf9\xab\xf0\xe0\xfd\x8f\x36\xf3\x06\x0e\xf7\xf4\xf9\x93\xc9\x15\xfb\xb7\x06\xfb\x0d\x57\xc2\xf7\x16\xf7\x15\xbf\xc3\xf7\x0d\x1f" -+"\x8c\x0a\x43\x2b\x1a\xfb\x07\xb8\x37\x9a\x0a\x06\x0e\xf7\xf4\xf7\x7d\xc9\x15\x4d\xf7\xac\x07\xde\xae\x92\xa4\xb1\x1f\xcc\xb6\xac" -+"\xd4\xee\x1a\xf7\x03\x5d\xe0\x3d\xac\x1e\x99\x69\x70\x8f\x46\x1b\xfb\xac\x4d\xf7\xb7\x06\xf7\x0d\xbf\x54\xfb\x16\xfb\x16\x57\x54" -+"\xfb\x0d\x1f\x0e\xf4\xf7\xca\xfb\x6e\x15\xf7\x19\xf7\x60\x06\xe3\x8c\xc8\xa2\xbd\xbe\x08\xb7\xbd\x97\xb3\xec\x1a\xf7\xb8\xfb\x20" -+"\xfb\xb1\x07\x8d\xfb\x03\x68\x59\x39\x8a\x08\xf8\x53\xfb\x19\xfc\x53\x07\x38\x8e\x6a\xb9\x8d\xf7\x05\x08\xf7\xb1\xfb\x20\xfb\xb8" -+"\x07\x2e\x94\x69\xb0\x5a\x1e\xbc\x51\xcd\x70\xe8\x8a\x08\x0e\xf7\x6c\xf9\x6d\x15\xfb\x1b\xfb\x01\x06\x87\x34\xbe\x53\xe3\x83\x08" -+"\xb9\x07\x53\x95\x71\xa8\x8d\xbd\x08\xdb\x06\x0e\xfb\x97\x3d\x1d\xf7\x25\xf7\x6d\x20\x1d\x28\xf8\x73\xfa\x25\x15\xfb\x14\xfd\xa8" -+"\xfb\x55\xf8\x20\xfb\x28\x42\x9d\x6a\xe9\xb9\xf7\x85\xfc\x85\xf7\x2c\xfa\x44\x05\x0e\xfb\x97\x3d\x1d\xc8\xce\x15\xf7\x00\xf7\x2a" -+"\x05\x3f\x06\x39\x2a\x39\x47\x1d\xfb\x97\x3d\x1d\xfb\x15\xfc\xec\x22\x1d\x4b\xf8\xab\xf7\xd1\x15\xd8\xfc\x79\xfb\xc8\xd8\xf7\x7b" -+"\x07\x0e\x6e\xcc\xfb\x6e\x15\xf7\x20\xf7\xaf\x06\x4d\xae\xb6\x71\xd0\x1b\xf7\x1c\xe8\xf7\x07\xf7\x3a\xf7\x4b\x2b\xf7\x00\xfb\x36" -+"\x39\x44\x6d\x56\x5f\x1f\x5e\x56\x7b\x4f\xfb\x00\x1a\xf7\x99\xf7\x53\x15\xd3\xb6\x49\xfb\x04\x22\x5f\x4c\x42\x40\x5f\xcb\xf7\x01" -+"\xf7\x02\xb7\xca\xd8\x1f\x0e\x2f\x34\x1d\xbc\xf8\x1b\x15\xfb\x13\x06\x46\xfb\x2a\x05\xd0\x06\x0e\x2f\xf7\xaf\x74\x15\x9d\x06\xf7" -+"\x15\xe5\xd6\xf7\x00\xd1\x68\xb8\x44\xa0\x1f\x85\x0a\x8c\x1e\xf7\x1b\x06\xf7\x06\x89\x33\xd0\xfb\x25\x1b\xfb\x1d\x63\x0a\x6a\x64" -+"\x77\x4a\x66\x6f\x91\x98\x79\x1e\x7c\x96\x85\x96\x85\xa8\x08\xfb\x1d\x06\x90\xfb\x01\xc9\x56\xf7\x23\x7a\x60\x37\x18\x94\x9d\x96" -+"\x6a\x0a\x2f\x34\x1d\xfb\x20\xf8\x1b\x63\x1d\xd8\x06\xdd\xef\xdc\x8a\x0a\x2f\x34\x1d\xfb\x23\xfc\x3e\x22\x1d\xfb\x3d\xf7\x85\x99" -+"\x0a\xf7\x60\xf7\x94\xa4\x0a\x0e\xaf\xf9\x10\x24\x1d\xfb\x6a\x06\x92\x5b\x76\x8d\x70\x1b\x45\x43\x6c\x5a\x5e\x1f\x5d\x59\x73\x45" -+"\x35\x1a\xfb\x46\xf0\xfb\x00\xf7\x39\xdc\xd0\xa7\xbe\xb9\x1e\xb6\xbc\xa6\xd2\xd0\x1a\xd5\x71\xc3\x50\xc0\x1e\xf7\x0c\x06\xfb\xc0" -+"\x93\x50\x1d\xf8\x09\xf8\x93\xf9\x6e\x15\xfb\x5b\xfb\x3a\xfb\x38\xfb\x57\xfb\x63\xf7\x35\xfb\x38\xf7\x5d\xf7\x61\xf7\x37\xf7\x36" -+"\xf7\x5f\xf7\x5e\xfb\x37\xf7\x37\xfb\x5e\x1f\x5a\x04\xf7\x43\xf7\x21\xfb\x21\xfb\x43\xfb\x44\xfb\x21\xfb\x20\xfb\x45\xfb\x43\xfb" -+"\x1f\xf7\x22\xf7\x47\xf7\x3e\xf7\x23\xf7\x21\xf7\x41\x1f\xfb\x01\xfb\x37\x15\x70\x74\x74\x71\x6f\xa2\x74\xa6\xa6\xa2\xa2\xa6\xa6" -+"\x74\xa2\x70\x1f\xfb\x14\xfb\x00\x15\x92\x36\x96\x62\xa9\x5e\x08\x4c\xb5\xcb\x6b\xde\x1b\xd8\xc7\xa6\xc1\xb5\x1f\xaf\xba\x9a\xb8" -+"\x92\xe8\x80\x59\x80\x75\x71\x6d\x08\x54\x5b\x4f\x71\x3a\x1b\x3a\x4f\xa5\xc2\x5b\x1f\x71\xa9\x80\xa1\x80\xbd\x08\xf7\xee\xf7\x00" -+"\x15\x70\x74\x74\x71\x6f\xa2\x74\xa6\xa6\xa2\xa2\xa6\xa6\x74\xa2\x70\x1f\x0e\xfb\x09\xc7\x16\xf8\x77\xa2\x06\xfb\x35\x93\x3f\xe0" -+"\x8e\xf7\x3e\x08\x38\xb7\xb9\x6a\xd4\x1b\xd1\xc5\xc9\xd5\xcf\x71\xb4\x20\xec\x1f\xfb\x01\xf0\x78\xa6\x64\xf7\x09\x7b\x2f\x50\x35" -+"\x21\x35\x08\x3b\x48\x68\x53\x4b\x1a\x40\xc8\x4d\xd4\xb5\xb4\x9c\xa9\xab\x1e\x9e\x9d\x96\x9a\x9c\xb0\x91\xfb\x3b\x34\x2c\xfb\x33" -+"\x8a\x08\x0e\xf7\xf0\xf9\x6a\xf9\x7e\x15\xfc\x7f\x38\x06\xf7\x55\xfb\xe8\xfb\x55\xfc\x06\x05\x36\xf8\x87\xf7\x7d\x2d\x07\x89\xfb" -+"\x1e\x05\xfb\xb2\x06\xf7\x4f\xf7\xfe\xfb\x4e\xf7\xda\x05\xf7\xaa\x06\x8f\xfb\x1e\x05\xe6\x06\x0e\xf7\xa1\xf7\x94\xf8\xa3\x15\x6b" -+"\x62\x7a\x63\x85\x58\x08\xfb\x10\x4f\xf7\x10\x06\x90\x5b\x9f\x5a\xa8\x67\x34\x34\x18\xb5\x62\xe2\xe2\xb5\x6b\xb7\x79\xb9\x86\x19" -+"\xfb\x0f\xc6\xf7\x0f\x07\xba\x90\xba\x9e\xb3\xaa\xe2\x34\x18\xb4\xb4\x34\xe2\xa9\xb1\x9e\xb8\x91\xbd\x19\xf7\x0f\xc7\xfb\x0f\x06" -+"\x85\xbd\x78\xb8\x6d\xb1\xe2\xe1\x18\x62\xb4\x34\x34\x66\xa9\x5c\x9e\x59\x91\x19\xf7\x0f\x50\xfb\x0e\x07\x5b\x85\x5e\x78\x64\x6c" -+"\x34\xe2\x18\x61\x62\x05\xf7\xb9\x50\x15\xf0\xdf\x36\x26\x24\x37\x37\x24\x23\x39\xde\xf4\xf2\xde\xdd\xf4\x1f\x0e\xfb\x5e\xf7\x2e" -+"\x16\xf7\x20\xf8\x40\xf7\x22\xf7\x04\xfc\x3d\xfb\x04\xf7\x23\x06\x0e\xfb\xcf\xf7\x73\xf7\xe5\x15\xee\xae\x1d\x28\x50\x48\xc6\xfb" -+"\x3a\x07\x36\xb8\x61\xe7\xab\xa1\x8e\x93\xa6\x1e\xed\x07\x89\x7d\x83\x8a\x80\x1b\x67\x82\x96\xbb\x1f\xf7\x14\xd2\xce\x07\x0e\xfb" -+"\x97\x4c\x1d\x72\xf8\x1d\x15\xfb\x04\xce\x07\x8c\x59\x75\x6d\x5d\x82\x08\x5d\x07\xd1\x8d\xc2\xcb\x35\x0a\xf2\x07\x0e\xfb\xcf\xf7" -+"\x3f\x79\x15\x87\x9c\x9b\x8a\x9b\x1b\xaa\xa3\x8e\x93\xa5\x1f\xed\x07\x89\x7d\x84\x8a\x7f\x1b\x66\x83\x96\xba\x1f\xf7\xbb\xae\x1d" -+"\xfb\xe0\x07\x54\x9a\x6d\xb0\x74\x1e\x56\x25\x05\x95\x9f\x95\x8d\x4c\x0a\x76\x91\xa3\x54\x34\x0a\xcd\xa6\x85\xb8\x1b\xde\xb9\x52" -+"\x0a\x7c\x50\x0a\x20\xf7\xa4\xf9\x76\x15\x3c\x4c\x6d\x51\x5e\x1f\x5d\x4e\x75\x30\xfb\x17\x1a\x22\x9c\x26\xa5\x54\x1e\x35\xb5\xd0" -+"\x60\xed\x1b\xf7\x3b\xe3\xf7\x14\xf7\x89\xf7\x08\x79\xe9\x69\xc7\x1f\xda\x5e\x48\xb2\x33\x1b\xfb\x07\xfb\xd4\x15\x8d\xd0\x8f\xac" -+"\x93\xa5\x08\xbf\x9d\xac\xa6\xba\x1b\xc2\xae\x6b\x4b\x99\x1f\x92\x6a\x8e\x75\x8c\x53\x08\x2e\x04\x3a\x87\x61\x7e\x67\x1e\x58\x78" -+"\x6d\x72\x5d\x1b\x52\x65\xb2\xd3\x7f\x1f\x84\xb0\x8a\xa1\xcc\x1a\x0e\xfb\xcf\xf7\x6e\xf9\xa9\x23\x1d\x66\x26\x0a\x68\xf9\x80\x15" -+"\x5d\x82\x75\x77\x5e\x1b\x5e\x72\xa0\xb8\x84\x1f\x54\x06\x8a\x87\x8b\x86\x8a\x1a\x3f\xc3\x52\xd7\xdb\xbf\xc3\xe2\x1e\x0e\x66\x26" -+"\x0a\x6d\xf9\x89\x32\x0a\x66\x26\x0a\xbb\xf9\x63\x28\x0a\x2b\xf8\xd4\xfb\x6b\x15\xfc\xec\x46\xf8\xec\x06\xf7\x63\x04\xfc\xec\x46" -+"\xf8\xec\x06\x0e\x0e\xfb\xcf\x8e\x0a\x66\x42\x1d\xfb\x19\x4f\x22\x1d\xfb\xcf\x4c\x1d\xfb\x42\xfc\x84\x15\xfb\x04\xce\x07\x8c\x59" -+"\x75\x6d\x5d\x82\x08\x5d\x07\xd1\x8d\xc2\xcb\x35\x0a\xf2\x07\x0e\xfb\xcf\xf7\xcf\xf9\x63\x28\x0a\x4b\x0a\xd2\x8e\x16\xf9\x5d\x06" -+"\xfb\x98\xf9\x6d\x05\xfb\x55\x06\x4c\xfc\xf0\x15\xf7\x33\xf8\x60\xf7\x34\xfc\x60\x05\x0e\xf7\x2e\xf7\xf1\x7b\x0a\xf7\x0d\x98\x1d" -+"\xf7\xcc\xf7\x11\xfb\x37\x07\xb6\xa6\x9f\xa0\x0a\xf7\x5c\xfb\x27\xf7\x24\xfb\x5f\xfb\x5e\xa5\x1d\x9f\x7a\xb6\x70\x08\xfb\x37\xfb" -+"\x11\xf7\xcc\x06\x0e\x67\xcc\xf8\xb0\x15\xfd\x8a\xf7\x19\xf7\x9b\x07\x5f\xa1\xa7\x78\xb5\x1b\xbf\xaa\xa1\xcb\xae\x1f\x47\xf7\x20" -+"\xf8\xb0\x55\x0a\x49\x64\x63\x4c\x49\x68\xb0\xd1\x1e\xf7\xe5\x07\x0e\xfb\x14\xf8\x94\xf7\xe0\x15\x87\xca\x80\xac\x6d\xb0\x08\xc2" -+"\x5f\x48\xa8\x39\x1b\x47\x4e\x77\x66\x5f\x1f\x52\x5a\x67\x36\x36\x1a\xfb\x1d\xd7\x2e\xf7\x25\x64\x1e\xe3\x73\x05\xb9\x7e\x9a\x7e" -+"\x6f\x1a\x73\x7c\x5c\x6b\x42\x1e\xf7\x09\x06\xb2\xf3\x92\xa8\xb5\x1a\xac\x80\xa5\x75\xa1\x1e\x78\x9d\x78\x94\x4a\xa2\x53\x9e\x18" -+"\x5f\x9a\x61\xa1\x77\x9d\x08\x6d\xa6\x79\xbb\xbf\x1a\xe3\xbd\xc6\xd4\xca\xb1\x66\x48\x91\x1e\x0e\x9e\x22\x0a\x6d\xf9\xbf\x21\x1d" -+"\xd2\x3e\x1d\xf7\x2e\xf7\x63\x21\x1d\x2f\x5b\x0a\x6a\x3f\x1d\xe6\xf7\x6d\x21\x1d\xfb\x3d\xf7\x75\xf8\x4b\x15\xf7\x39\xf7\x8d\xf7" -+"\x11\xfc\x23\xfb\xb6\x59\xfb\x11\xbd\xfb\xce\xf7\x2a\xf7\xce\xf7\x51\xf7\x11\x07\x0e\xfb\x8c\xf7\x60\xf7\xd5\x15\xf5\xf7\x52\xf7" -+"\x05\xfb\xde\xfb\x6f\x62\x2c\xb4\xfb\x76\xf7\x20\xf7\x76\xf7\x34\xea\x07\x0e\xf8\x70\xf8\x62\x16\x2e\x1d\xf0\x51\x0a\xc5\xfb\x33" -+"\xf7\x2a\xf7\xb0\x27\x06\xfb\x00\xf7\x9f\xf7\x06\xf7\xe5\x05\xfb\x2b\xc4\x1d\x20\xf7\xa5\xfb\x2a\xfb\xa5\xfb\x02\x94\x1d\xf7\x1b" -+"\xf7\xdf\x05\xf2\x06\x0e\xf7\x8c\xf8\x83\x16\xf7\x83\xcc\x07\x4b\x1d\xbd\xfb\x34\xf7\x20\xf7\xa5\x32\x06\x46\xf7\x50\xe5\xf7\x83" -+"\x05\xfb\x22\xac\x0a\x4a\xf7\x50\xfb\x20\xfb\x50\x45\x06\x46\xf7\x50\x05\xfb\x21\x06\xe4\xfb\x83\xfb\x04\xfb\xc1\x05\xf7\x24\x06" -+"\xe4\xf7\x83\x05\xd1\xfb\x83\x06\x0e\x75\xf7\xd6\x74\x15\xf7\x23\x8d\xf7\x00\xf1\xf7\x18\x1a\xe1\x61\xcc\x42\xa4\x1e\xcc\xaf\xaa" -+"\xbd\xd0\x1a\xf7\x06\x26\xde\xfb\x1e\x3f\x42\x72\x63\x61\x1e\x64\x66\x7b\x5e\x44\x1a\x72\xf7\x2a\xa4\x07\xc3\xad\xad\xc4\xc3\xb1" -+"\x69\x59\x56\x62\x66\x51\x1e\x5e\xfb\x11\xc3\x06\xa2\xa2\x84\x7e\x9f\x1f\xa6\x79\x97\x71\x64\x1a\x49\x64\x63\x4c\x66\x6c\x98\xa1" -+"\x7a\x1e\x7b\xa0\x84\xa7\xc0\x1a\xfb\x2a\x6f\x06\x89\xfb\x13\xdd\x32\xf7\x1e\x78\x5f\x36\x18\x94\x9e\x95\x6a\x0a\xfb\x2b\xf7\x95" -+"\x74\x15\xf7\x08\x8f\xdd\xd3\xeb\x1a\xc4\x72\xb1\x4f\xad\x1e\xbd\xa5\xa6\xb7\xc1\x1a\xe3\x3b\xc6\xfb\x0d\xfb\x09\x37\x50\x39\x1e" -+"\x64\xf7\x1a\x97\x07\xac\xa4\xa1\xb2\xb3\xa3\x75\x67\x63\x71\x78\x56\x1e\x70\x2c\xa6\x06\xb4\x96\x89\x7f\x99\xc2\x1d\x6e\x6f\x63" -+"\xa9\x1d\xfb\x20\x06\x8d\xfb\x06\xcc\x43\xf7\x05\x7d\x60\x36\x18\x95\x9f\x94\x8d\x4c\x0a\x74\x92\xa2\x56\x34\x0a\xcd\xa7\x85\x8b" -+"\x0a\x5b\x7d\x49\x1d\x0e\xdb\xf8\x7d\x16\xfb\x34\xf7\x2a\xf7\xb1\x2b\x07\xfb\x00\xf7\x9f\x94\x0a\x3a\x86\x0a\xe0\x51\x0a\x0e\x60" -+"\xf8\x2f\x16\xfb\x34\xf7\x20\xf7\xa5\x22\x07\x45\xf7\x50\xe6\xf7\x83\x05\xfb\x23\xac\x0a\x59\xf7\x50\x2d\x1d\xf7\x83\xbd\x06\xe5" -+"\xfb\x83\x05\x0e\xa9\xf7\x8b\xf8\x5c\x15\x6d\x86\x0a\xa9\xfb\x20\xda\xf7\x20\x9f\x06\x7f\x0a\x30\xfb\xa5\x05\x71\xf7\x20\x3c\x06" -+"\x0e\x32\xf7\x80\xf7\xf4\x15\x6b\xf7\x50\x2d\x1d\xf7\x83\xab\x28\xa9\xee\xa6\x06\x46\x0a\x70\xf4\x6d\x06\x0e\x65\xc5\xf8\xf0\x15" -+"\xfc\xf0\x2e\x1d\xe5\x07\xf7\x1a\xfb\xdf\x05\xf7\x32\x06\xfb\x32\xf8\x1c\x94\x0a\x35\xf7\xa5\xfc\x20\xfb\x11\x06\x0e\xfb\x28\xf7" -+"\x42\xf8\xaf\x15\xfb\xd1\x8c\x05\xfb\x05\xf7\x45\xfc\x3f\xf7\x20\xf7\x83\xcc\x07\x46\x0a\x4a\x06\x0e\xd5\xa3\x0a\xcd\xfb\x34\xf7" -+"\x2a\xf7\xb1\x49\xf8\xf0\x89\x0a\x5e\x9d\x0a\xc3\xfb\x35\xf7\x20\xf7\xa6\x53\xf8\x3f\x92\x0a\xd5\xf8\x23\x75\x15\xf7\x3e\x96\xf7" -+"\x01\xf2\x92\xf7\x31\x08\x45\x0a\xf7\x23\x06\x91\x1d\xfb\x77\xf7\x0b\xfb\x26\xf7\x54\x83\x1f\x60\x38\x05\x94\x9e\x96\x8e\x4c\x0a" -+"\x74\x91\xa3\x56\x34\x0a\xcc\xa7\x85\xb8\x1b\xde\xb9\x52\x0a\x7c\x50\x0a\x2f\xf7\xcb\x75\x15\xf7\x07\x92\xe1\xe0\x95\xf7\x09\x08" -+"\x5e\x1d\x53\x1b\x44\x61\xca\xf5\xbf\x95\xba\x9c\xab\x1f\x5b\x1d\xf7\x1a\x06\x47\x0a\xfb\x3f\xdc\x29\xf7\x2c\x7f\x1f\x60\x37\x05" -+"\x94\x9d\x96\x8e\xb4\x1d\x70\x70\x93\xa1\x59\x34\x0a\xca\xaa\x85\x8b\x0a\x5c\x7c\x7e\x89\x86\x7e\x1f\x0e\x9e\x2a\x1d\x0e\x22\xf8" -+"\x20\x24\x1d\xfb\x03\xfc\x1d\xfb\x0c\x4d\x0a\xf7\x59\xfc\xb0\x05\xfb\x6e\xf7\x20\xf7\x6e\x07\xf7\x54\xf8\xb0\x05\x0e\x9e\xf8\x37" -+"\xf7\x83\x15\xab\x07\xf7\x7b\xf8\x5e\x05\xfb\x3c\x06\xfb\x1f\xfb\xd5\xfb\x29\xf7\xd5\x05\xfb\x3b\x06\xf7\x86\xfc\x5e\x05\x6b\xfb" -+"\x17\xfb\x11\xf7\x17\xfb\x06\xf7\x2a\xf7\x06\xf7\x17\xf7\x11\x07\x0e\x22\xf7\xf0\x16\xf7\x54\xf8\xb0\x05\xfb\x24\x06\xfb\x03\xfc" -+"\x1d\xfb\x0c\x4d\x0a\xf7\x59\xfc\xb0\x05\x20\x2c\xf6\xfb\x0f\xf7\x20\xf7\x0f\xf6\xea\x06\x0e\xd0\xf8\x32\xf8\x06\x15\xf7\x7a\xf7" -+"\xfb\x05\xfb\x44\x06\xfb\x1d\x81\x0a\xf7\x3d\x06\xf7\x20\xf7\x91\xf7\x1d\xfb\x91\x05\xd7\xfb\x33\xf7\x2a\xf7\xb0\xfb\x14\x06\x0e" -+"\x46\xf7\xf3\xf7\xa4\x15\xf7\x44\xf7\xa0\x05\xfb\x3c\x06\x34\xfb\x37\x33\xf7\x37\x05\xfb\x3c\x06\xf7\x44\xfb\xa0\xfb\x48\xfb\xa4" -+"\x05\xf7\x3c\x06\xe7\xf7\x3c\xe6\xfb\x3c\x05\xd6\xfb\x33\xf7\x20\xf7\xa4\xfb\x0e\x06\x0e\xd0\xf8\x88\x16\xcd\xfb\x36\xf7\x2a\xf7" -+"\xb3\x49\xf8\xf0\x6c\x0a\x5c\xf8\x1d\x16\xc6\xfb\x31\xf7\x20\xf7\xa2\x53\xf8\x3f\x69\x0a\xd0\xf8\x15\xf7\x74\x15\xaa\x8e\x9e\x90" -+"\xcd\x9c\x08\xfb\x8d\x48\x1d\xfb\xf4\x07\x62\x7f\x68\x84\x63\x86\x08\xf7\x27\x3c\xfb\x2c\x07\x41\x90\x62\xab\xc2\x1a\xf7\xb5\xfb" -+"\x2a\xfb\xb5\x07\x8a\xfb\x1a\xef\x38\xf7\x3a\x88\x08\xfb\x1b\xda\x07\x0e\x5c\xf7\xd7\xf7\x37\x15\xa6\x90\x9d\x8f\xa4\x93\x08\xfb" -+"\x48\xf7\x23\xf8\xb0\xfb\x20\xfb\x8d\x07\x70\x81\x78\x86\x70\x86\x08\xf7\x0d\x4f\xfb\x11\x07\x5c\x8e\x71\x9e\xa9\x1a\xf7\x71\xfb" -+"\x20\xfb\x71\x07\x57\x96\x65\xa1\x72\x1e\x6c\xa8\xc0\x78\xca\x1b\x96\x93\x8b\x8c\x9b\x1f\xfb\x08\xc7\x07\x0e\xd0\xf7\x6d\xf9\x6d" -+"\x15\x33\x0a\xf7\xf4\x06\x9e\xd0\xc9\x95\xbb\x1b\xde\xbb\x6a\x50\x1f\xfb\xb5\xf7\x2a\xf7\xb5\x07\xf7\x1f\x24\xdc\xfb\x43\x4f\x6f" -+"\x87\x72\x2d\x1e\x0e\x6a\xdd\x16\xf7\x20\xf7\xbb\x06\xc8\xa7\xab\xa5\xbc\x1b\xbf\xad\x68\xa5\x0a\xee\x44\xd1\x28\x52\x64\x7b\x56" -+"\x46\x1e\xf7\xc9\xfb\x20\x07\x0e\xf7\x6a\x31\x1d\x0e\xc2\xf8\x81\xf7\x11\x15\x21\xfb\xb0\xf7\x2a\xf7\x33\xf5\xf9\x6d\x96\x0a\x4e" -+"\x81\x5a\x9f\x1d\xf7\x44\xc6\xa7\x8f\xa4\xe9\x1e\x0e\x48\xf8\x13\xf7\x05\x15\x47\xfb\xa5\xf7\x20\xf7\x34\xd2\xf8\xb0\xfb\x20\xfb" -+"\x8d\x06\x7a\x5e\x65\x84\x64\x8d\x1d\xbf\xc4\x94\x9c\xc4\x1f\x0e\xf7\x16\xb5\xf8\x3b\x15\x88\x71\x8a\x7a\x75\x1a\xfb\x00\xb1\x24" -+"\xcb\x5a\x1d\xcb\xd0\xb1\xf2\xf7\x01\x1a\xf7\x0f\x5c\xf7\x07\x3d\xcf\x1e\xbd\x50\x41\xa5\x34\x1b\xfb\x24\x21\x4b\xfb\x11\x4b\x1f" -+"\xf7\x16\x4b\x05\xe3\xb5\xc1\xb0\xe1\x1b\xf3\xcb\x4c\xfb\x13\xa3\x1f\xfb\x11\x04\xfb\x10\x76\x45\x46\x22\x1b\x23\x44\xd0\xf7\x10" -+"\x76\x1f\x0e\xd2\x3e\x1d\xf8\x4b\xf7\x2d\x15\xfb\xbf\x3c\xf7\xbf\x06\x0e\x6a\x3f\x1d\xf8\x0c\xf7\x1c\x28\x0a\xf7\x16\xf8\x18\xf9" -+"\x79\x15\x25\x37\x69\x48\x4d\x1f\x4a\x45\x66\x25\xfb\x01\x1a\xfb\x01\xb0\x24\xcc\x5a\x1d\xca\xce\xb2\xf5\xf2\x1a\xf7\x06\x66\xf2" -+"\x4a\xd0\x1e\xd0\x4b\x3b\xab\x21\x1b\xf7\x59\xfc\x4f\x15\xfb\x10\x76\x45\x46\x22\x1b\x23\x44\xd0\xf7\x10\x76\x1f\xf7\x11\x04\xf7" -+"\x0e\xa1\xd1\xcf\xf3\x1b\xf3\xd1\x47\xfb\x0e\xa1\x1f\x0e\x66\xf7\xc5\x54\x1d\xf7\x10\xfb\xe1\x15\x3a\x7c\x5f\x5e\x4b\x1b\x4b\x5f" -+"\xb8\xdc\x7c\x1f\xe9\x04\xdc\x9a\xb7\xb8\xcb\x1b\xcb\xb7\x5e\x3a\x9a\x1f\x0e\x71\xf8\x66\xfa\x16\x5d\x1d\xfc\x33\xfd\xc7\x15\xf7" -+"\x23\x06\xce\x8c\xbd\xab\xa9\xc7\xf7\xb0\xf9\x10\x18\xfb\x2f\x06\xfb\x2e\xfc\x05\xfb\x2f\xf8\x05\x05\xfb\x2f\x06\xf7\x7d\xfc\x9e" -+"\x78\x63\x7d\x67\x89\x89\x73\x87\x19\xfb\x15\x06\x0e\x2f\xf8\x4c\xf9\x4f\x5d\x1d\x66\x3b\x78\x1d\x0e\xfb\xcf\xf8\x66\xfa\x2a\xbd" -+"\x1d\xf7\xa0\xb0\x89\x15\xf7\x69\xaf\x8f\xa5\xc8\x1f\xf7\x05\xbd\xdf\xf7\x33\xf7\x37\x1a\xe1\x70\xd6\x5f\xad\x1e\xa4\x6c\x5e\x97" -+"\x50\x1b\xfb\x08\x38\x6b\x4d\x5e\x1f\x71\x67\x81\x64\x89\x42\xcc\xab\x18\x97\x07\xc1\x9c\xb1\xad\xa2\x1e\x9c\x96\x95\x8e\xb9\x94" -+"\x42\xfc\x1f\x18\x7c\x45\x73\x61\x6e\x81\x08\x77\x06\xd3\x8a\x15\xc8\xbc\x9a\xac\xa1\xf7\x0f\xc2\xf7\xd2\x18\x92\x06\x90\x06\x9e" -+"\x06\xa9\x97\x88\x7f\x9e\x1f\xb3\x72\xa1\x51\x3a\x1a\x20\x73\x34\x5c\x4c\x1e\x64\x59\x58\x6e\x54\x88\x08\xf7\x7b\xfb\x7d\x15\xce" -+"\x06\xad\xf7\x52\x05\x7d\xaa\x97\x88\x9e\x1b\xf7\x06\xee\xf7\x29\xf7\x42\xec\x64\xbd\x3e\x5c\x63\x77\x66\x6d\x1f\x69\x61\x79\x55" -+"\x75\xfb\x0b\x08\xb9\xfb\x00\x15\xae\xf7\x54\x05\xe1\x9b\xad\xbc\xb7\x1b\xb2\xa0\x63\x41\xfb\x20\x56\xfb\x02\x47\x71\x77\x95\xa1" -+"\x79\x1f\x0e\xf7\x0c\xf7\xe0\xf7\x11\x15\x5a\xaa\x76\x9c\x78\xa2\x08\x66\xb8\x76\xd0\xda\x1a\xf7\x26\xd9\xe9\xf7\x0c\xf7\x0d\xd9" -+"\x2d\xfb\x26\x42\x79\x49\x6a\x5e\x1e\x77\x70\x75\x79\x55\x68\x08\xfb\x11\xf7\xcc\xf7\x11\xfb\x3e\x07\xbf\xad\x9c\x99\x9f\xa2\x08" -+"\xb7\xbe\xa2\xd0\xdd\x1a\xf7\x5a\xfb\x27\xf7\x25\xfb\x5e\xfb\x5f\xfb\x27\xfb\x25\xfb\x5b\x40\x9f\x49\xb1\x5a\x1e\xa2\x6e\x9d\x7c" -+"\xc4\x65\x08\xfb\x3e\xfb\x11\xf7\xcc\x06\x0e\xf7\xc5\x2f\x1d\x0e\x4b\x0a\xf7\xf4\xf8\xa9\xf8\x95\x15\x49\x06\xfb\x74\xfc\x95\x05" -+"\xdb\x06\xf7\x45\xf8\x2d\xf7\x45\xfc\x2d\x05\xdb\x06\x0e\xf7\xf4\xf8\xa9\x16\xf7\x74\xf8\x95\x05\x3b\x06\xfb\x45\xfc\x2d\xfb\x45" -+"\xf8\x2d\x05\x3b\x06\xf7\x74\xfc\x95\x05\x0e\xf7\xf4\xf8\x8c\xf9\x60\x15\xfb\x60\xfb\x34\xfb\x33\xfb\x5e\xfb\x5b\xf7\x34\xfb\x33" -+"\xf7\x5d\xf7\x5b\xf7\x34\xf7\x34\xf7\x5c\xf7\x59\xfb\x35\xf7\x36\xfb\x57\x1f\xa4\x52\x15\xf7\x23\x7e\xf7\x06\xfb\x06\x99\xfb\x25" -+"\x08\xfb\xa3\x06\xf7\xa4\x52\x15\x82\xfb\x22\xfb\x0d\xfb\x0f\xfb\x22\x80\x08\xf7\xa8\x07\x53\xfb\xa8\x15\xfb\x27\x99\xfb\x05\xf7" -+"\x05\x7d\xf7\x29\x08\xf7\xa6\x06\xfb\xa6\xc4\x15\x99\xf7\x24\xf7\x07\xf7\x06\xf7\x25\x99\x08\xfb\xa4\x07\x0e\x5f\xb6\x16\xf8\x9b" -+"\xf8\x9b\xfc\x9b\x06\xf8\x67\xfc\x67\x15\xfc\x33\xf8\x33\xf8\x33\x06\x0e\xd2\xf8\xeb\xf8\xf7\x15\x45\xfb\xa4\x06\xfb\x05\x86\x5f" -+"\x7b\x6b\x1e\x56\x70\x50\x67\x4c\x1b\x54\x54\xa7\xb7\x6e\x1f\x73\xb0\x84\xb7\xf7\x11\x1a\xf7\xa4\x45\xfb\xa1\x07\xfb\x29\x90\x65" -+"\xa6\x5f\x1e\x45\xb5\xd7\x62\xe5\x1b\xde\xd1\xac\xc9\xb8\x1f\xaf\xbc\x91\xaf\xf7\x36\x1a\x0e\x54\xf8\x27\xf8\x1c\x15\xfb\x69\x06" -+"\x41\xf7\x4d\x05\x2d\x06\xf7\x7d\xfc\xd5\x05\xde\x06\xf7\x7d\xf8\xd5\x05\x2d\x06\x22\xfb\x9d\x15\x3f\xfb\x48\x40\xf7\x48\x05\x0e" -+"\x66\xf8\x65\x16\x73\x82\x83\x88\x7d\x82\x08\x5a\x6f\x6d\x5d\x60\xbb\x1d\xa7\x9f\x0a\x73\x9c\xaf\xba\xb1\xb8\xd4\xb0\x1f\xf8\xb0" -+"\x55\x0a\x4b\x5f\x61\x46\x4f\x6d\xab\xcc\x1e\xf7\xef\xfb\x20\xfc\x0c\x07\xfb\x0c\xcc\x48\xf7\x08\xd4\xbc\xa5\xc8\xb3\x1e\x4b\x07" -+"\x0e\x49\x3c\x1d\x0e\x49\x3c\x1d\xcb\xf8\xa1\x25\x1d\x49\x3c\x1d\xbe\xf8\xa1\x82\x1d\x49\x3c\x1d\xf7\x2d\xf8\xcf\x23\x1d\x66\x26" -+"\x0a\x27\xf9\x96\x2c\x1d\x0e\x66\x26\x0a\x9f\x40\x0a\xf7\x16\x30\x0a\xa2\x43\x1d\xf7\x16\x30\x0a\xfb\x17\xf9\x7d\x4f\x1d\xf7\x16" -+"\x30\x0a\xfb\x11\xf9\x7b\x25\x1d\xf7\x16\x30\x0a\xfb\x62\xf9\x89\x21\x1d\xfb\x5f\xf8\x35\xfb\x6e\x15\xb1\xef\x97\xbb\xc0\x1a\xb0" -+"\x7f\xab\x76\x9e\x1e\x78\x9d\x74\x93\x59\x91\x46\x93\x18\x54\x92\x7f\x8e\x79\x98\x08\x76\x9a\x7e\xa9\xaa\x1a\xb7\xa5\xb2\xb3\x9a" -+"\x1e\x96\xa9\xa8\x8f\xc9\x1b\xcb\xf7\x05\x4d\x06\x63\x6d\x90\x95\x73\x1f\x6c\x98\x75\xaa\xac\x1a\xa9\x9d\xa7\xa7\x99\x1e\x97\xa4" -+"\xa3\x8f\xbf\x1b\xe4\xf7\x05\xfc\x22\xfb\x05\xdd\x06\x66\x6c\x7b\x6c\x61\x1a\x4e\xac\x62\xd0\x72\x1e\x5d\x7c\x76\x81\x73\x76\x08" -+"\x64\x6b\x76\x5b\x51\x1a\x49\xa8\x4f\xb9\x6a\x1e\xab\x74\xb2\x80\xcd\x84\xb9\x87\x18\xb5\x87\x94\x89\x97\x82\x08\x95\x84\x91\x7b" -+"\x79\x1a\x6e\x84\x76\x5f\xfb\x01\x1e\x0e\x2f\x2e\x0a\xfb\xcc\xf7\x6d\x2b\x1d\x2f\x2e\x0a\xfc\x2d\xf7\x6d\x21\x1d\xfb\x28\x36\x0a" -+"\x43\xf7\xde\x20\x1d\xfb\x28\x36\x0a\xfb\x2d\xf7\xd0\x27\x0a\xfb\x50\xd1\xf8\xfc\x15\xf7\x58\x06\x3f\x57\x69\x6a\x5e\x4c\x08\x50" -+"\x38\x6f\x3c\x34\x1a\x33\xad\x44\xc4\x6e\x1e\xa8\x7d\xb7\x80\xc0\x86\xb0\x88\x18\xcf\x85\x99\x82\x66\x1a\x69\x7e\x62\x63\x32\x1e" -+"\xf7\x0a\x06\xb3\xf4\x94\xb0\xc7\x1a\xdc\x68\xab\x2a\x94\x1e\x65\x8f\x54\x90\x74\x90\x79\x96\x19\x70\x9b\x7c\xb0\xbb\x1a\xd4\xa9" -+"\xd7\xc5\xd8\x1e\xc4\xd7\xb7\xae\xeb\xba\x08\xf7\x05\xfc\x11\x07\x0e\x74\xa2\xf8\xb0\x94\xf7\x48\x97\x6b\x9a\x06\xf7\x10\x0a\xf7" -+"\x1f\x0b\xc8\x92\x90\x8e\x8f\x9a\x96\x92\x90\x8e\x8e\x8f\x0c\x0c\xca\x90\x95\x90\x99\x90\x92\x97\x97\x8e\x8e\x97\x0c\x0d\xf7\xaa" -+"\x14\xf9\x1c\x15\xc0\x13\x00\x8e\x02\x00\x01\x00\x08\x00\x0c\x00\x11\x00\x16\x00\x1b\x00\x33\x00\x5c\x00\x5f\x00\x62\x00\x79\x00" -+"\x7d\x00\x82\x00\xa3\x00\xbe\x00\xf1\x01\x22\x01\x51\x01\x70\x01\x79\x01\x80\x01\x86\x01\x8a\x01\xa9\x01\xad\x01\xb1\x01\xb5\x01" -+"\xbf\x01\xc4\x01\xd5\x01\xdb\x01\xde\x01\xe3\x02\x01\x02\x09\x02\x29\x02\x3d\x02\x46\x02\x4b\x02\x60\x02\x6f\x02\x75\x02\x7a\x02" -+"\x7d\x02\x82\x02\x88\x02\x8f\x02\x96\x02\x9e\x02\xa4\x02\xab\x02\xaf\x02\xb8\x02\xbe\x02\xc4\x02\xc9\x02\xce\x03\x6d\x03\xdc\x04" -+"\x4a\x04\x5d\x04\xb9\x05\x0e\x05\x3b\x05\x8f\x05\xc2\x05\xe1\x06\x13\x06\x2e\x06\x35\x06\x65\x06\x69\x06\x8c\x06\xb1\x06\xc4\x06" -+"\xd0\x06\xd4\x06\xe4\x06\xea\x06\xef\x07\x10\x07\x23\x07\x2d\x07\x30\x07\x4a\x07\x54\x07\x6f\x07\x7f\x07\x99\x07\xaa\x07\xc3\x07" -+"\xdc\x07\xf3\x08\x00\x08\x09\x08\x1e\x08\x2d\x08\x32\x08\x46\x08\x5a\x08\x69\x08\x7c\x08\x8f\x08\x96\x08\xa1\x08\xb3\x08\xb6\x08" -+"\xbf\x08\xc6\x08\xd6\x08\xdf\x08\xec\x08\xf5\x08\xfd\x09\x05\x09\x08\x09\x15\x09\x1c\x09\x29\x09\x31\x09\x39\x09\x45\x09\x4a\x09" -+"\x56\x09\x62\x09\x66\x09\x6a\x09\x75\x09\x80\x09\x8b\x09\x96\x09\xa1\x09\xab\x09\xb5\x09\xbf\x09\xc9\x09\xd2\x09\xdb\x09\xe4\x09" -+"\xed\x09\xf6\x09\xfc\x0a\x02\xf8\x89\xa2\x0a\x71\x0a\x0b\xf9\x6d\x15\x0b\xf7\x79\x4e\x1d\x0b\x15\xfb\x00\x52\x1d\xf8\x1a\x3f\x0a" -+"\x0b\xf8\x8c\x21\x0a\x85\x1d\xe3\x1b\xe3\xd8\xa5\xbb\xc0\x1f\xbc\xb7\xa1\xc5\xdd\x1a\xf8\x82\x07\x0b\xf8\xb1\x16\xf8\xb0\xfb\x20" -+"\xfb\xe6\x07\x4b\x5f\x61\x46\x4f\x6d\xab\xcc\x1e\xf7\xef\xfb\x20\xfc\x0c\x07\xfb\x0c\xcc\x48\xf7\x08\xd4\xbc\xa5\xc8\xb3\x1e\x4b" -+"\x07\x0b\x45\x1d\x0e\x5d\x1d\x0e\xf8\x93\x16\x48\x1d\xfc\x84\x06\xfb\xb5\xf8\x84\x05\xfb\x2e\xfd\x6d\xf7\x2a\xf8\x8c\x06\x0b\x15" -+"\xf6\x3a\x0a\xf7\x2a\xf9\x6d\x0b\xf8\xf3\xf8\x8f\x15\x67\x0a\xfb\x30\x94\xf6\x36\xf7\x4e\x1b\xf7\x50\xf7\x03\xe2\xf7\x29\xf7\x07" -+"\x51\xc7\xfb\x1b\xa5\x1f\x7e\x0a\x0b\xf9\x3e\xf8\x76\x15\x91\x1d\xfb\x7f\xf7\x13\xfb\x26\xf7\x5f\xf7\x4a\xf7\x0c\xf4\xf7\x3b\x94" -+"\x1f\x45\x0a\x0b\xf8\x1e\xf8\xb0\x15\xfb\x04\xfc\x1d\xfb\x0b\x4d\x0a\xf7\x5d\xfc\xc6\x05\x53\x68\x65\x57\x80\x82\x8d\x8f\x7a\x1e" -+"\x22\x07\x88\xa0\x97\x8a\x9c\x1b\xaf\xb3\x92\x95\xa4\x1f\xb2\x9b\x9c\xa1\xa2\xcc\xc5\x1d\x0b\xf9\x6e\x16\xf7\x5e\xf9\x6d\x56\x0a" -+"\xfb\x01\xfc\xb7\xfb\x0a\xf8\xb7\x05\xfb\x28\x06\xfb\x05\xfc\xb6\xfb\x05\xf8\xb6\x56\x0a\xf7\x62\xfd\x6d\x05\xf7\x1b\x06\xf7\x0b" -+"\xf8\xcd\xf7\x0e\xfc\xcd\x05\x0b\xf8\xf9\x16\xf7\x2d\xf8\xb0\x05\xfb\x25\x06\x39\xfc\x0e\x3a\xf8\x0e\x05\xfb\x20\x06\x39\xfc\x0e" -+"\x35\xf8\x0e\x05\xfb\x25\x06\xf7\x2c\xfc\xb0\x05\xf7\x24\x06\xe1\xf8\x11\xdc\xfc\x11\x05\x0b\xf8\xd6\x21\x0a\xfc\xb8\xfb\x11\xf8" -+"\x09\x06\xfc\x09\xfc\x73\x05\xfb\x11\xf8\xb8\xf7\x11\xfc\x08\x07\xf8\x08\xf8\x73\x05\x0b\x9e\x0a\xf7\xce\xf7\x27\x9e\x0a\x0e\xfb" -+"\x2a\xfd\x6d\xf7\x2a\x0b\x1f\x78\x57\x05\x75\x0b\x88\xd9\x08\x0b\xf8\x5f\x24\x1d\xfc\x38\xfb\x05\xf7\x8d\x06\xfb\x9f\xfb\xce\x05" -+"\xfb\x05\xf8\x53\xf7\x05\xfb\xa6\x07\xf7\x9d\xf7\xce\x05\x0b\x15\x90\x1d\x0b\xfa\x2e\x25\x1d\xfa\x3c\x20\x1d\xf7\x2a\x05\x3f\x06" -+"\x39\x2a\x39\x47\x1d\xf7\x65\x48\x0a\x0b\x15\xfb\xb5\xea\xf8\x3d\x4b\x07\x59\x7d\x5d\x72\x3d\x1b\x4e\x07\x0b\xf7\x26\x15\x33\x1d" -+"\x0b\xa8\x0a\x0e\xf9\x79\x6c\x1d\x0b\xf9\x81\x15\x6b\x88\x7f\xaf\x1d\x98\x67\x8a\x8b\x78\x1b\x54\x51\x1d\x94\x95\x89\x87\x96\x5f" -+"\x1d\xab\xb5\xe0\x8f\x1f\x0e\x54\x1d\x8c\xfb\x05\x70\x0a\x0b\x15\x5c\x82\x75\x78\x5e\x1b\x5e\x72\xa0\xb8\x84\x1f\x54\x06\x32\x8d" -+"\xbd\x55\xdb\x1b\xd6\xc4\xc4\xd6\x8d\x8b\x8f\x8a\x90\x1f\x0e\x89\x87\x96\x1f\xd3\x71\x05\x83\x9f\x9e\x87\x9a\x1b\xc6\xab\xb5\xe0" -+"\x8f\x1f\x0e\x15\x53\x06\x5d\x82\x75\x56\x1d\x0e\xfb\x26\x77\x0a\x0b\x4b\x1d\xf7\x23\x06\xfb\x03\xf7\xc1\xe5\xf7\x83\x05\xfb\x22" -+"\x06\x45\xfb\x50\x05\x0b\xf7\x18\x81\x34\xda\xfb\x1c\x1b\xfb\x36\x2e\x21\xfb\x4c\x0b\x24\x1d\x2d\x1d\x06\x0b\xfc\x3f\xa4\x1d\x0b" -+"\x76\x0a\x0e\xcb\xf7\xe7\x3e\x0a\x9e\x1b\xaa\xa6\x1d\x0b\xf8\x1d\x05\xfb\x2e\x06\x0b\xf7\x0e\x05\xfb\x19\x06\x0e\x8c\x79\x1b\x53" -+"\x68\x5d\x3d\x0b\x7f\x89\x86\x7d\x1f\x0e\x06\xf7\x1a\xfb\xdf\x05\x0b\x54\x0a\x5b\x0b\x8e\x8e\x84\x1f\x43\xa4\x05\x97\x0b\xac\xc7" -+"\xb7\x6e\xa6\x0b\xfb\x20\xfb\xe6\x07\x0b\x05\xfb\x33\x06\x0b\xf8\xf0\xfb\x2a\x0b\xf9\x5c\xf7\x2c\x15\x63\x7f\x5f\x6f\x5b\x1b\x64" -+"\x68\x9d\xaa\x77\x1f\x7c\xa2\x86\xa3\xb9\x1a\xf7\xfe\x06\x8c\x97\x8b\x92\x90\x1a\xc1\x83\xbf\x7e\xaf\x1e\xee\x66\x35\xc5\xfb\x04" -+"\x1b\x4e\x56\x7a\x6a\x62\x1f\xac\x65\x50\x9c\x3d\x1b\xfb\x29\x3e\x4c\xfb\x10\x89\x1f\xf7\x17\x06\xc1\x92\xa4\x9f\xca\x1b\xc4\xa7" -+"\x7a\x67\x7b\x82\x7b\x7c\x83\x62\x1d\xfb\x00\x79\x58\x54\x29\x1a\x26\xcc\x4b\xf2\xdc\xc9\xaa\xd5\xc9\x1e\x47\xb5\xd1\x67\xe3\x1b" -+"\xf7\x0e\xec\xcf\xf6\xaa\x1f\xfc\x84\xcb\x15\x39\x64\x5e\x43\x5c\x6e\xa4\xb4\xb4\xa6\xa4\xc0\x92\x1e\xbb\x92\xa9\x90\x97\x8f\x9c" -+"\x95\x19\xf7\x21\xcc\x15\xdc\x91\xb0\xb5\xcb\x1b\xcc\xb0\x61\x3a\x92\x1f\x0b\xf8\x9a\x24\x1d\xda\x30\xb0\x2c\xfb\x02\x1a\x2c\x6d" -+"\x52\x59\x75\x7b\x95\x9f\x7e\x1e\x7e\xa1\x87\xa5\xcb\x1a\xf7\x3e\xfb\x12\xfb\x3e\x07\x51\x88\x72\x81\x76\x1e\x72\x7f\x78\x7e\x73" -+"\x1b\x59\x6d\xc4\xea\xf7\x03\xb0\xe9\xda\xe6\x1f\xfb\x2c\x06\x43\x31\x6b\x2f\xfb\x07\x1a\x33\x9f\x4b\xb5\x5a\x1e\x61\xaf\xbd\x74" -+"\xc1\x1b\xcd\xbc\xac\xcf\xad\x1f\x46\xae\xbb\x6b\xcd\x1b\xc1\xbe\xa3\xb5\xaf\x1f\xb4\xbc\x9f\xcb\xe1\x1a\xf7\x08\x6b\xe7\x43\xe5" -+"\x1e\x0b\xf7\x39\xbf\x15\x59\xc5\xd5\x72\xe6\x1b\xf2\xdd\xac\xcf\xcb\x1f\xcb\xcf\xb1\xf3\xf6\x1a\xe8\x6f\xe9\x5e\xc8\x1e\xe4\xee" -+"\x57\xb8\x38\x2f\x05\xc6\x48\x45\xa4\x2c\x1b\x22\x39\x6a\x47\x4c\x1f\x49\x46\x66\x24\xfb\x01\x1a\x29\xa6\x36\xc2\x41\x1e\x35\x2c" -+"\xbe\x5d\x05\xf8\x79\xf8\xac\x15\x99\x64\x93\x5a\x5b\x1a\xfb\x30\x3c\x27\xfb\x0f\x57\x5b\x9d\xa9\x6c\x1e\x61\xc3\x15\x78\xb6\x81" -+"\xbc\xc2\x1a\xf7\x31\xda\xef\xf7\x10\xc3\xba\x78\x64\xb0\x1e\x0b\x27\x1d\xfb\x8a\xf8\x4a\x15\xf7\x13\xfb\x2a\x05\xd0\x06\x46\xf7" -+"\x2a\x05\x0e\xf7\x12\xae\x15\x67\xb3\xcf\x75\xd3\x1b\xf7\x39\xf1\xf7\x01\xf7\x45\xd3\x7c\xc5\x6b\xbd\x1f\xd3\xd4\x60\xb4\x47\x45" -+"\x05\xb5\x58\x51\x9f\x42\x1b\xfb\x3c\x65\x1d\x40\x9b\x4f\xad\x5a\x1f\x40\x3e\xb6\x63\x05\xf8\x03\xf8\x0a\x15\x93\x73\x8f\x72\x70" -+"\x1a\x27\x56\x45\x41\x6a\x6e\x99\xa7\x73\x1e\x6d\xbf\x15\x82\xa2\x86\xa7\xaa\x1a\xf0\xbf\xd1\xd6\xae\xa6\x7d\x6a\xa6\x1e\x0b\xd8" -+"\xf7\xe7\x15\xfb\xe7\xf7\xb1\x07\xf7\x06\xd0\xa4\xc7\xbb\x1f\xc2\xcf\xac\xf3\xf7\x00\x1a\xf7\x00\x6a\xf2\x54\xd0\x1e\xc6\x5a\x48" -+"\xa4\xfb\x07\x1b\xfb\xb1\xfb\xca\x3e\x3b\x06\xf7\x77\x16\xf7\x2a\xdb\xfb\x2a\xf7\x4d\xf7\x1b\x06\xcc\xb1\x7b\x65\xa5\x1f\xaa\x5f" -+"\x9a\x4e\x3a\x1a\x3b\x7c\x4e\x6c\x5f\x1e\x65\x71\x65\x7b\x4a\x1b\xfb\x1b\x06\x0e\xdd\x16\xf7\xdc\x06\xdf\xc3\x9b\xb0\xb7\x1f\xb7" -+"\xb0\xa7\xc8\xc6\x1a\xd3\x65\xc4\x38\xbb\x1e\xd3\xb9\xa7\xb5\xc9\x1a\xbe\x72\xbf\x62\xaf\x1e\xb0\x60\x58\x9b\x3d\x1b\xfb\xd9\x7e" -+"\x1d\x15\xa6\x9d\x89\x89\x94\x1f\xa7\x84\x9d\x74\x6e\x1a\x68\x71\x72\x67\x61\x76\xa0\xb8\x89\x1e\x2f\x06\x30\x8c\xc3\x57\xec\x1b" -+"\xec\xca\xc1\xdf\xba\x75\xad\x5f\xa1\x1f\xad\xa0\x9d\xaa\xb0\x1a\xd2\x52\xb9\x33\x57\x60\x7a\x6b\x72\x1e\x78\x74\x84\x72\x88\x59" -+"\x08\xe4\x06\xc2\x8c\x9a\x9e\xb4\x1b\xab\xa0\x76\x6a\x65\x71\x77\x59\x1f\x81\x06\x0b\xfb\x26\x3f\x4d\xfb\x11\x82\x1e\xf7\x1b\x06" -+"\xc3\x92\xa2\x9d\xd0\x1b\xc1\xa6\x79\x67\x79\x82\x7c\x7c\x82\x62\x1d\x20\x79\x57\x54\x2a\x1a\x2a\xcc\x4a\xee\xc7\xc1\xa4\xbf\xbd" -+"\x1e\x6f\x8e\x81\x98\x7b\x1e\x0b\xce\x21\x0a\xfd\x6d\xbc\x1d\xaa\xa2\x80\x75\x9b\x1e\x98\x79\x8e\x7c\x82\x0a\x5e\x1b\x46\x59\x70" -+"\x4f\x64\x1f\xf7\x9f\x07\x0b\xf8\x37\xf8\x08\x15\xf7\x75\xf7\xf9\x05\xfb\x42\x06\xfb\x1a\xfb\x84\xfb\x14\xf7\x84\x05\xfb\x46\x06" -+"\xf7\x72\xfb\xfe\xfb\x7a\xfc\x03\x05\xf7\x42\x06\xf7\x1f\xf7\x91\xf7\x20\xfb\x91\x05\xf7\x46\x06\x0e\x36\x46\xfb\x03\x67\x96\x6c" -+"\x9e\x76\x1f\x9e\x78\x9c\x82\xbf\x7a\xf7\x3b\x57\x18\xae\x80\x97\x80\x75\x1a\x0b\xf8\x27\xf8\xb0\x78\x1d\x0b\xf8\xa6\xf7\x76\x15" -+"\x8c\x96\x8b\x95\x90\x1a\xbe\x83\xc0\x7e\xaf\x1e\xed\x67\x34\xc6\xfb\x01\x1b\xfb\x2e\x2c\xfb\x04\xfb\x49\xfb\x41\xea\x21\xf7\x2e" -+"\xf7\x0e\xee\xd0\xf5\xaa\x1f\xfb\x24\x06\x0b\xf7\x6c\x68\x0a\xf7\x2b\x8a\x26\xde\xfb\x4c\x1b\xfb\x43\x95\x0a\xf1\x77\x05\xef\x78" -+"\xb0\x6f\x50\x1a\x4e\x53\x66\x30\x25\x52\xb6\xd9\x86\x1e\xfb\x26\x06\x0b\xf8\xcc\x15\xf7\x17\xfc\xcc\x05\xf7\x2a\x06\xf7\x15\xf8" -+"\xcc\x05\xfc\xcc\x2b\x0a\xfb\x76\x07\xfb\x14\xfc\xd8\xfb\x18\xf8\xd8\x05\xfb\x74\x32\x1d\x0e\xfb\x20\xfb\x8d\x06\x7b\x5e\x64\x83" -+"\x65\x8d\x1d\xbe\xc4\x94\x9c\xc5\x1f\x0e\x8e\x78\x0a\xde\xb8\x54\x0a\x5c\x7c\x49\x1d\x0e\xf7\x69\x6d\x0a\x96\x0a\x4d\x81\x5b\x9f" -+"\x1d\xf7\x43\xc7\xa7\x8f\xa4\xe9\x1e\x0e\x31\x1d\xfb\x04\x38\x0a\x48\x0a\x21\x41\x1d\xfc\xb7\x15\x5d\xf7\x95\xfb\x01\x06\xfb\x39" -+"\xfb\x96\x05\x41\xf7\x47\x2e\xea\xe8\xb9\x07\xfb\x21\xd6\x15\x21\x06\xf5\xf7\x38\x05\x0e\x15\xd8\xbd\x46\x21\x26\x57\x45\x40\x3f" -+"\x58\xd0\xf3\xf3\xbe\xd0\xd7\x1f\x0b\xfb\x90\xf9\x6d\x05\xfb\x3a\x8c\x1d\x0b\x87\x1d\x0e\xb7\x1d\xb1\x1f\x8a\xfb\x3c\x15\xb4\xa5" -+"\x70\x5e\x62\x71\x70\x62\x62\x71\xa6\xb5\xb6\xa5\xa7\xb4\x1f\x0b\x15\x53\x06\x5c\x82\x75\x78\x95\x1d\x0e\x16\xf7\x4e\xf8\xb0\x05" -+"\xfb\x28\x06\xfb\x01\xfc\x1f\xfb\x09\xf8\x1f\x05\xfb\x28\x06\xf7\x51\xfc\xb0\x05\x0e\x15\xf7\x5e\xf7\x34\x07\xc2\xad\x65\x4d\x4d" -+"\x68\x63\x55\x1f\x0b\x06\x2e\x81\x51\x56\x2e\x1b\xfb\x08\x47\xe9\xf7\x33\xf7\x35\xd2\xeb\xf7\x0a\xe2\xbc\x61\x32\x9f\x1f\x0b\x57" -+"\x1d\x72\x92\xa2\x58\x1f\x78\x57\x05\x76\xc8\xac\x84\xb8\x1b\x0b\xf7\xe3\x15\xfb\x3b\xf7\x26\x05\xfb\x06\x07\xf0\x32\x26\x32\x05" -+"\xfb\x09\x07\xf7\x3b\xf7\x28\x05\x0b\x71\xb2\x77\x1e\x5a\x70\x76\x6b\x59\x1a\x3a\xc9\x53\xe4\xe4\xc9\xc3\xdc\xbd\x76\xab\x5a\xa6" -+"\x1e\x0b\xf7\x11\x15\x5c\xa9\x77\x9a\x79\xa0\x08\x63\xb9\x75\xd1\xde\x1a\xf7\x25\xd9\xe9\xf7\x0c\x0b\x15\xf7\x00\xf7\x2a\x05\x3f" -+"\x06\x38\x2a\x3a\x47\x1d\x63\x1d\xd7\x06\xde\xef\xdc\x8a\x0a\xfb\x06\xa1\x05\x20\xa0\x6c\xa0\xc0\x1a\xc2\xbb\xae\xd9\xea\xc0\x63" -+"\x41\x90\x1e\x0b\xf7\x1a\xfb\xdf\x05\xf7\x32\x06\xfb\x32\xf8\x1c\xa9\x0a\x0b\x9e\x1d\xfb\x20\x0b\xfb\x84\xfb\x13\xf7\x84\x05\xfb" -+"\x4a\x06\xf7\x76\xfb\xfb\xfb\x76\xfc\x06\x05\x0b\x69\x1a\xfb\xde\xf7\x20\xf7\xfe\x07\xce\x79\xbb\x66\xaa\x1e\xa5\x6c\x5e\x9a\x0b" -+"\x51\x0a\xf7\x33\x06\xfb\x33\xf8\x1c\xf7\x07\xf7\xe5\x05\x0b\x15\xa9\xa4\x72\x6d\x6d\x72\x72\x6d\x6d\x72\xa4\xaa\xa8\xa5\xa4\xa8" -+"\x1f\x0b\xfb\x45\xbe\x05\x64\x97\x81\x93\xa1\x1a\xa9\xab\x9f\xbc\xce\xac\x73\x5a\x0b\xf7\xa5\x33\x0a\xf7\xdf\x0b\x06\xab\x90\x97" -+"\x98\xa2\x1b\x95\xa2\x1d\x0b\x1e\x8f\x61\x8d\x75\x7f\x1a\x79\x85\x81\x7f\x85\x89\x8c\x96\x80\x1e\x0b\xa3\x1d\x0e\x27\x05\xd9\x06" -+"\x24\xf7\x2a\x05\x0e\xb8\x1b\xde\xb8\x54\x0a\x0b\xf7\xb7\xc9\xfb\xac\x06\x38\x68\x84\x72\x66\x1f\x4a\x60\x69\x0b\xf7\x0b\x16\xbe" -+"\x1d\xfc\x23\x06\x0b\xf7\xbe\xf7\xea\x15\xfb\xa4\xfb\x1b\xf7\xa4\x06\x0e\xb4\xfb\x01\x1b\xfb\x62\xfb\x14\x0b\xd4\x16\xab\x0a\xfb" -+"\xde\x06\x0b\xfb\x2a\xfc\xf0\xfb\x9e\x60\x1d\x9b\x0a\x0e\xf7\x39\xf7\xfe\xf7\x11\xfc\x94\xfd\x6d\xf7\x2a\x0b\xa9\x0a\x26\xfb\xa5" -+"\x05\x0b\x26\x39\xfb\x22\xfb\x05\xc4\x54\xf7\x28\x6f\x1f\x0b\xfb\x2a\xfb\xf4\x06\x78\x46\x0b\x1b\xcb\xb1\x60\x3b\x92\x1f\x0b\x06" -+"\xad\xf7\x42\x05\x22\x06\x69\xfb\x42\x05\x0b\xf9\x35\xa4\x0a\x0b\xda\x69\x1e\x7d\xad\xa6\x87\xd0\x1b\xf7\xac\x0b\xfb\x20\xfb\x5c" -+"\xfb\x57\xf7\x5c\xfb\x20\x06\x0b\x3a\x1d\x06\x0e\xcb\xba\x1d\x0b\x15\xfb\x12\x06\x45\xfb\x27\x05\xd1\x06\x0b\x1e\xba\x07\x88\x78" -+"\x78\x89\x77\x1b\x57\x0b\x9c\xa1\xa6\x08\xb5\xbe\xa1\xd0\xdc\x1a\x0b\xfc\xb0\xf7\x20\xf7\xd8\x07\xcb\xb7\xb5\x0b\xf7\x27\x15\xbb" -+"\xfb\x27\x05\xf7\x2e\x06\x0b\xf7\x6d\xf7\xdf\x15\xf7\xb5\xfb\xdf\x0b\x15\x41\x06\x55\xfb\x94\x05\xc4\x06\x0b\x57\x1f\xfb\xbb\xf7" -+"\x20\xf7\xdb\x07\x0b\xf7\x62\x15\x63\x87\x77\x7c\x5b\x1b\x0b\x7f\x7b\x76\x1b\x84\x77\x8e\x8e\x0b\x15\xfb\x0f\xf7\x10\xf7\x0f\x07" -+"\x0b\xf7\x07\xf7\xe5\x05\xfb\x2c\x06\x0b\xaa\xaa\xc5\x99\x1f\x9b\xcb\x90\x0b\xf7\x20\xf8\x3f\xf7\x52\xf7\x05\x0b\x06\x45\xfb\x50" -+"\x05\x0b\x15\xde\x94\xae\xb3\x0b", 34024 -+}; -diff -up texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/fonts/NimbusSans-BoldItalic.cff.cpp.301 texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/fonts/NimbusSans-BoldItalic.cff.cpp ---- texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/fonts/NimbusSans-BoldItalic.cff.cpp.301 2023-01-17 15:53:51.711205392 -0500 -+++ texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/fonts/NimbusSans-BoldItalic.cff.cpp 2023-01-17 15:53:51.711205392 -0500 -@@ -0,0 +1,1236 @@ -+#include "Base14Fonts.hpp" -+ -+extern const MemoryFontData NimbusSans_BoldItalic_cff = { -+"\x01\x00\x04\x02\x00\x01\x01\x01\x16\x4e\x69\x6d\x62\x75\x73\x53\x61\x6e\x73\x2d\x42\x6f\x6c\x64\x49\x74\x61\x6c\x69\x63\x00\x01" -+"\x01\x01\x37\xf9\xbc\x00\xf9\xbd\x01\xf9\xbe\x0c\x00\xf9\xbf\x02\xf9\xc0\x03\xf8\x14\x04\x7f\x0c\x02\xfb\x03\x0c\x03\xd0\x0c\x04" -+"\xfb\x0e\xfb\xc9\x1c\x04\xac\xfa\xc5\x05\x1c\x25\xfe\x0f\x1c\x26\x11\x11\xb2\x1d\x00\x00\x8c\x28\x12\x01\xa6\x02\x00\x01\x00\x08" -+"\x00\x0e\x00\x13\x00\x1d\x00\x24\x00\x2b\x00\x35\x00\x39\x00\x3f\x00\x45\x00\x50\x00\x5a\x00\x5d\x00\x63\x00\x69\x00\x6e\x00\x74" -+"\x00\x7a\x00\x84\x00\x8b\x00\x8e\x00\x95\x00\x9c\x00\xa8\x00\xab\x00\xb3\x00\xb7\x00\xbc\x00\xc2\x00\xcd\x00\xd9\x00\xe3\x00\xe7" -+"\x00\xf2\x00\xf4\x00\xfa\x01\x04\x01\x0b\x01\x12\x01\x16\x01\x22\x01\x2b\x01\x31\x01\x3c\x01\x41\x01\x4d\x01\x53\x01\x59\x01\x5f" -+"\x01\x6b\x01\x6f\x01\x71\x01\x77\x01\x7d\x01\x89\x01\x8b\x01\x91\x01\x9e\x01\xa5\x01\xaf\x01\xb6\x01\xc2\x01\xcd\x01\xd0\x01\xd2" -+"\x01\xd5\x01\xdb\x01\xe1\x01\xed\x01\xf0\x01\xf6\x01\xfe\x02\x09\x02\x15\x02\x1a\x02\x1d\x02\x21\x02\x27\x02\x33\x02\x38\x02\x3e" -+"\x02\x4b\x02\x52\x02\x59\x02\x60\x02\x6f\x02\x7b\x02\x80\x02\x86\x02\x8c\x02\x97\x02\xa0\x02\xa6\x02\xa8\x02\xb3\x02\xb9\x02\xbf" -+"\x02\xc9\x02\xcd\x02\xd3\x02\xda\x02\xe3\x02\xec\x02\xf5\x02\xfe\x03\x07\x03\x10\x03\x19\x03\x22\x03\x2b\x03\x34\x03\x3d\x03\x46" -+"\x03\x4f\x03\x58\x03\x61\x03\x6a\x03\x73\x03\x7c\x03\x85\x03\x8e\x03\x97\x03\xa0\x03\xa9\x03\xb2\x03\xbb\x03\xc4\x03\xcd\x03\xd6" -+"\x03\xdf\x03\xe8\x03\xf1\x03\xfa\x04\x03\x04\x0c\x04\x15\x04\x1e\x04\x27\x04\x30\x04\x39\x04\x42\x04\x4b\x04\x54\x04\x5d\x04\x66" -+"\x04\x6f\x04\x78\x04\x81\x04\x8a\x04\x93\x04\x9c\x04\xa5\x04\xae\x04\xb7\x04\xc0\x04\xc9\x04\xd2\x04\xdb\x04\xe4\x04\xed\x04\xf6" -+"\x04\xff\x05\x08\x05\x11\x05\x1a\x05\x23\x05\x2c\x05\x35\x05\x3e\x05\x47\x05\x50\x05\x59\x05\x62\x05\x6b\x05\x74\x05\x7d\x05\x86" -+"\x05\x8f\x05\x98\x05\xa1\x05\xaa\x05\xb3\x05\xbc\x05\xc5\x05\xce\x05\xd7\x05\xe0\x05\xe9\x05\xf2\x05\xfb\x06\x04\x06\x0d\x06\x16" -+"\x06\x1f\x06\x28\x06\x31\x06\x3a\x06\x43\x06\x4c\x06\x55\x06\x5a\x06\x64\x06\x6b\x06\x74\x06\x7e\x06\x85\x06\x90\x06\x9a\x06\xa3" -+"\x06\xac\x06\xb5\x06\xbf\x06\xc6\x06\xcf\x06\xdb\x06\xdf\x06\xe5\x06\xeb\x06\xf6\x07\x00\x07\x03\x07\x11\x07\x15\x07\x1b\x07\x21" -+"\x07\x26\x07\x2d\x07\x3a\x07\x40\x07\x46\x07\x50\x07\x57\x07\x5e\x07\x61\x07\x68\x07\x6f\x07\x7b\x07\x86\x07\x8f\x07\x92\x07\x9a" -+"\x07\xa3\x07\xae\x07\xb4\x07\xb9\x07\xbe\x07\xc4\x07\xcf\x07\xdb\x07\xe5\x07\xf1\x07\xf5\x08\x00\x08\x05\x08\x0a\x08\x10\x08\x12" -+"\x08\x19\x08\x21\x08\x29\x08\x33\x08\x3d\x08\x49\x08\x55\x08\x5c\x08\x60\x08\x6c\x08\x7d\x08\x86\x08\x8c\x08\x97\x08\x9c\x08\xa8" -+"\x08\xb4\x08\xba\x08\xc0\x08\xc6\x08\xd2\x08\xd6\x08\xdf\x08\xe3\x08\xe8\x08\xec\x08\xf2\x08\xfd\x09\x0b\x09\x11\x09\x1c\x09\x22" -+"\x09\x2e\x09\x38\x09\x40\x09\x42\x09\x48\x09\x55\x09\x5c\x09\x61\x09\x6b\x09\x72\x09\x7e\x09\x88\x09\x93\x09\x9e\x09\xa4\x09\xa7" -+"\x09\xa9\x09\xb0\x09\xbc\x09\xca\x09\xcd\x09\xda\x09\xe0\x09\xe7\x09\xed\x09\xf9\x0a\x06\x0a\x09\x0a\x0f\x0a\x17\x0a\x22\x0a\x2e" -+"\x0a\x34\x0a\x39\x0a\x42\x0a\x47\x0a\x50\x0a\x53\x0a\x56\x0a\x5a\x0a\x60\x0a\x6c\x0a\x71\x0a\x76\x0a\x7c\x0a\x89\x0a\x90\x0a\x9d" -+"\x0a\xa4\x0a\xab\x0a\xb2\x0a\xb9\x0a\xc0\x0a\xc7\x0a\xce\x0a\xd5\x0a\xdc\x0a\xe3\x0a\xea\x0a\xf1\x0a\xf8\x0a\xff\x0b\x06\x0b\x0d" -+"\x0b\x14\x0b\x1b\x0b\x22\x0b\x29\x0b\x30\x0b\x37\x0b\x3e\x0b\x45\x0b\x4c\x0b\x53\x0b\x5a\x0b\x61\x0b\x68\x0b\x6f\x0b\x76\x0b\x7d" -+"\x0b\x84\x0b\x8b\x0b\x92\x0b\x99\x0b\xa0\x0b\xa7\x0b\xae\x0b\xb5\x0b\xbc\x0b\xc3\x0b\xca\x0b\xd1\x0b\xd8\x0b\xdf\x0b\xe6\x0b\xed" -+"\x0b\xf4\x0b\xfb\x0c\x02\x0c\x09\x0c\x10\x0c\x17\x0c\x1e\x0c\x25\x0c\x2c\x0c\x33\x0c\x3a\x0c\x41\x0c\x48\x0c\x4d\x0c\x56\x0c\x5d" -+"\x0c\x64\x0c\x73\x0c\x87\x0c\x93\x0c\x98\x0c\x9e\x0c\xa4\x0c\xaf\x0c\xb8\x0c\xbe\x0c\xc0\x0c\xcb\x0c\xd1\x0c\xd7\x0c\xe1\x0c\xe5" -+"\x0c\xe9\x0d\x1f\x0d\x5f\x0d\x76\x0d\x81\x41\x45\x61\x63\x75\x74\x65\x41\x62\x72\x65\x76\x65\x41\x6c\x70\x68\x61\x41\x6c\x70\x68" -+"\x61\x74\x6f\x6e\x6f\x73\x41\x6d\x61\x63\x72\x6f\x6e\x41\x6f\x67\x6f\x6e\x65\x6b\x41\x72\x69\x6e\x67\x61\x63\x75\x74\x65\x42\x65" -+"\x74\x61\x43\x61\x63\x75\x74\x65\x43\x63\x61\x72\x6f\x6e\x43\x63\x69\x72\x63\x75\x6d\x66\x6c\x65\x78\x43\x64\x6f\x74\x61\x63\x63" -+"\x65\x6e\x74\x43\x68\x69\x44\x63\x61\x72\x6f\x6e\x44\x63\x72\x6f\x61\x74\x44\x65\x6c\x74\x61\x45\x62\x72\x65\x76\x65\x45\x63\x61" -+"\x72\x6f\x6e\x45\x64\x6f\x74\x61\x63\x63\x65\x6e\x74\x45\x6d\x61\x63\x72\x6f\x6e\x45\x6e\x67\x45\x6f\x67\x6f\x6e\x65\x6b\x45\x70" -+"\x73\x69\x6c\x6f\x6e\x45\x70\x73\x69\x6c\x6f\x6e\x74\x6f\x6e\x6f\x73\x45\x74\x61\x45\x74\x61\x74\x6f\x6e\x6f\x73\x45\x75\x72\x6f" -+"\x47\x61\x6d\x6d\x61\x47\x62\x72\x65\x76\x65\x47\x63\x69\x72\x63\x75\x6d\x66\x6c\x65\x78\x47\x63\x6f\x6d\x6d\x61\x61\x63\x63\x65" -+"\x6e\x74\x47\x64\x6f\x74\x61\x63\x63\x65\x6e\x74\x48\x62\x61\x72\x48\x63\x69\x72\x63\x75\x6d\x66\x6c\x65\x78\x49\x4a\x49\x62\x72" -+"\x65\x76\x65\x49\x64\x6f\x74\x61\x63\x63\x65\x6e\x74\x49\x6d\x61\x63\x72\x6f\x6e\x49\x6f\x67\x6f\x6e\x65\x6b\x49\x6f\x74\x61\x49" -+"\x6f\x74\x61\x64\x69\x65\x72\x65\x73\x69\x73\x49\x6f\x74\x61\x74\x6f\x6e\x6f\x73\x49\x74\x69\x6c\x64\x65\x4a\x63\x69\x72\x63\x75" -+"\x6d\x66\x6c\x65\x78\x4b\x61\x70\x70\x61\x4b\x63\x6f\x6d\x6d\x61\x61\x63\x63\x65\x6e\x74\x4c\x61\x63\x75\x74\x65\x4c\x61\x6d\x62" -+"\x64\x61\x4c\x63\x61\x72\x6f\x6e\x4c\x63\x6f\x6d\x6d\x61\x61\x63\x63\x65\x6e\x74\x4c\x64\x6f\x74\x4d\x75\x4e\x61\x63\x75\x74\x65" -+"\x4e\x63\x61\x72\x6f\x6e\x4e\x63\x6f\x6d\x6d\x61\x61\x63\x63\x65\x6e\x74\x4e\x75\x4f\x62\x72\x65\x76\x65\x4f\x68\x75\x6e\x67\x61" -+"\x72\x75\x6d\x6c\x61\x75\x74\x4f\x6d\x61\x63\x72\x6f\x6e\x4f\x6d\x65\x67\x61\x74\x6f\x6e\x6f\x73\x4f\x6d\x69\x63\x72\x6f\x6e\x4f" -+"\x6d\x69\x63\x72\x6f\x6e\x74\x6f\x6e\x6f\x73\x4f\x73\x6c\x61\x73\x68\x61\x63\x75\x74\x65\x50\x68\x69\x50\x69\x50\x73\x69\x52\x61" -+"\x63\x75\x74\x65\x52\x63\x61\x72\x6f\x6e\x52\x63\x6f\x6d\x6d\x61\x61\x63\x63\x65\x6e\x74\x52\x68\x6f\x53\x61\x63\x75\x74\x65\x53" -+"\x63\x65\x64\x69\x6c\x6c\x61\x53\x63\x69\x72\x63\x75\x6d\x66\x6c\x65\x78\x53\x63\x6f\x6d\x6d\x61\x61\x63\x63\x65\x6e\x74\x53\x69" -+"\x67\x6d\x61\x54\x61\x75\x54\x62\x61\x72\x54\x63\x61\x72\x6f\x6e\x54\x63\x6f\x6d\x6d\x61\x61\x63\x63\x65\x6e\x74\x54\x68\x65\x74" -+"\x61\x55\x62\x72\x65\x76\x65\x55\x68\x75\x6e\x67\x61\x72\x75\x6d\x6c\x61\x75\x74\x55\x6d\x61\x63\x72\x6f\x6e\x55\x6f\x67\x6f\x6e" -+"\x65\x6b\x55\x70\x73\x69\x6c\x6f\x6e\x55\x70\x73\x69\x6c\x6f\x6e\x64\x69\x65\x72\x65\x73\x69\x73\x55\x70\x73\x69\x6c\x6f\x6e\x74" -+"\x6f\x6e\x6f\x73\x55\x72\x69\x6e\x67\x55\x74\x69\x6c\x64\x65\x57\x61\x63\x75\x74\x65\x57\x63\x69\x72\x63\x75\x6d\x66\x6c\x65\x78" -+"\x57\x64\x69\x65\x72\x65\x73\x69\x73\x57\x67\x72\x61\x76\x65\x58\x69\x59\x63\x69\x72\x63\x75\x6d\x66\x6c\x65\x78\x59\x67\x72\x61" -+"\x76\x65\x5a\x61\x63\x75\x74\x65\x5a\x64\x6f\x74\x61\x63\x63\x65\x6e\x74\x5a\x65\x74\x61\x61\x62\x72\x65\x76\x65\x61\x65\x61\x63" -+"\x75\x74\x65\x61\x66\x69\x69\x30\x30\x32\x30\x38\x61\x66\x69\x69\x31\x30\x30\x31\x37\x61\x66\x69\x69\x31\x30\x30\x31\x38\x61\x66" -+"\x69\x69\x31\x30\x30\x31\x39\x61\x66\x69\x69\x31\x30\x30\x32\x30\x61\x66\x69\x69\x31\x30\x30\x32\x31\x61\x66\x69\x69\x31\x30\x30" -+"\x32\x32\x61\x66\x69\x69\x31\x30\x30\x32\x33\x61\x66\x69\x69\x31\x30\x30\x32\x34\x61\x66\x69\x69\x31\x30\x30\x32\x35\x61\x66\x69" -+"\x69\x31\x30\x30\x32\x36\x61\x66\x69\x69\x31\x30\x30\x32\x37\x61\x66\x69\x69\x31\x30\x30\x32\x38\x61\x66\x69\x69\x31\x30\x30\x32" -+"\x39\x61\x66\x69\x69\x31\x30\x30\x33\x30\x61\x66\x69\x69\x31\x30\x30\x33\x31\x61\x66\x69\x69\x31\x30\x30\x33\x32\x61\x66\x69\x69" -+"\x31\x30\x30\x33\x33\x61\x66\x69\x69\x31\x30\x30\x33\x34\x61\x66\x69\x69\x31\x30\x30\x33\x35\x61\x66\x69\x69\x31\x30\x30\x33\x36" -+"\x61\x66\x69\x69\x31\x30\x30\x33\x37\x61\x66\x69\x69\x31\x30\x30\x33\x38\x61\x66\x69\x69\x31\x30\x30\x33\x39\x61\x66\x69\x69\x31" -+"\x30\x30\x34\x30\x61\x66\x69\x69\x31\x30\x30\x34\x31\x61\x66\x69\x69\x31\x30\x30\x34\x32\x61\x66\x69\x69\x31\x30\x30\x34\x33\x61" -+"\x66\x69\x69\x31\x30\x30\x34\x34\x61\x66\x69\x69\x31\x30\x30\x34\x35\x61\x66\x69\x69\x31\x30\x30\x34\x36\x61\x66\x69\x69\x31\x30" -+"\x30\x34\x37\x61\x66\x69\x69\x31\x30\x30\x34\x38\x61\x66\x69\x69\x31\x30\x30\x34\x39\x61\x66\x69\x69\x31\x30\x30\x35\x30\x61\x66" -+"\x69\x69\x31\x30\x30\x35\x31\x61\x66\x69\x69\x31\x30\x30\x35\x32\x61\x66\x69\x69\x31\x30\x30\x35\x33\x61\x66\x69\x69\x31\x30\x30" -+"\x35\x34\x61\x66\x69\x69\x31\x30\x30\x35\x35\x61\x66\x69\x69\x31\x30\x30\x35\x36\x61\x66\x69\x69\x31\x30\x30\x35\x37\x61\x66\x69" -+"\x69\x31\x30\x30\x35\x38\x61\x66\x69\x69\x31\x30\x30\x35\x39\x61\x66\x69\x69\x31\x30\x30\x36\x30\x61\x66\x69\x69\x31\x30\x30\x36" -+"\x31\x61\x66\x69\x69\x31\x30\x30\x36\x32\x61\x66\x69\x69\x31\x30\x30\x36\x35\x61\x66\x69\x69\x31\x30\x30\x36\x36\x61\x66\x69\x69" -+"\x31\x30\x30\x36\x37\x61\x66\x69\x69\x31\x30\x30\x36\x38\x61\x66\x69\x69\x31\x30\x30\x36\x39\x61\x66\x69\x69\x31\x30\x30\x37\x30" -+"\x61\x66\x69\x69\x31\x30\x30\x37\x31\x61\x66\x69\x69\x31\x30\x30\x37\x32\x61\x66\x69\x69\x31\x30\x30\x37\x33\x61\x66\x69\x69\x31" -+"\x30\x30\x37\x34\x61\x66\x69\x69\x31\x30\x30\x37\x35\x61\x66\x69\x69\x31\x30\x30\x37\x36\x61\x66\x69\x69\x31\x30\x30\x37\x37\x61" -+"\x66\x69\x69\x31\x30\x30\x37\x38\x61\x66\x69\x69\x31\x30\x30\x37\x39\x61\x66\x69\x69\x31\x30\x30\x38\x30\x61\x66\x69\x69\x31\x30" -+"\x30\x38\x31\x61\x66\x69\x69\x31\x30\x30\x38\x32\x61\x66\x69\x69\x31\x30\x30\x38\x33\x61\x66\x69\x69\x31\x30\x30\x38\x34\x61\x66" -+"\x69\x69\x31\x30\x30\x38\x35\x61\x66\x69\x69\x31\x30\x30\x38\x36\x61\x66\x69\x69\x31\x30\x30\x38\x37\x61\x66\x69\x69\x31\x30\x30" -+"\x38\x38\x61\x66\x69\x69\x31\x30\x30\x38\x39\x61\x66\x69\x69\x31\x30\x30\x39\x30\x61\x66\x69\x69\x31\x30\x30\x39\x31\x61\x66\x69" -+"\x69\x31\x30\x30\x39\x32\x61\x66\x69\x69\x31\x30\x30\x39\x33\x61\x66\x69\x69\x31\x30\x30\x39\x34\x61\x66\x69\x69\x31\x30\x30\x39" -+"\x35\x61\x66\x69\x69\x31\x30\x30\x39\x36\x61\x66\x69\x69\x31\x30\x30\x39\x37\x61\x66\x69\x69\x31\x30\x30\x39\x38\x61\x66\x69\x69" -+"\x31\x30\x30\x39\x39\x61\x66\x69\x69\x31\x30\x31\x30\x30\x61\x66\x69\x69\x31\x30\x31\x30\x31\x61\x66\x69\x69\x31\x30\x31\x30\x32" -+"\x61\x66\x69\x69\x31\x30\x31\x30\x33\x61\x66\x69\x69\x31\x30\x31\x30\x34\x61\x66\x69\x69\x31\x30\x31\x30\x35\x61\x66\x69\x69\x31" -+"\x30\x31\x30\x36\x61\x66\x69\x69\x31\x30\x31\x30\x37\x61\x66\x69\x69\x31\x30\x31\x30\x38\x61\x66\x69\x69\x31\x30\x31\x30\x39\x61" -+"\x66\x69\x69\x31\x30\x31\x31\x30\x61\x66\x69\x69\x31\x30\x31\x34\x35\x61\x66\x69\x69\x31\x30\x31\x39\x33\x61\x66\x69\x69\x31\x30" -+"\x38\x34\x36\x61\x66\x69\x69\x36\x31\x32\x34\x38\x61\x66\x69\x69\x36\x31\x32\x38\x39\x61\x66\x69\x69\x36\x31\x33\x35\x32\x61\x6c" -+"\x70\x68\x61\x61\x6c\x70\x68\x61\x74\x6f\x6e\x6f\x73\x61\x6d\x61\x63\x72\x6f\x6e\x61\x6e\x67\x6c\x65\x6c\x65\x66\x74\x61\x6e\x67" -+"\x6c\x65\x72\x69\x67\x68\x74\x61\x6f\x67\x6f\x6e\x65\x6b\x61\x70\x70\x72\x6f\x78\x65\x71\x75\x61\x6c\x61\x72\x69\x6e\x67\x61\x63" -+"\x75\x74\x65\x61\x72\x72\x6f\x77\x62\x6f\x74\x68\x61\x72\x72\x6f\x77\x64\x6f\x77\x6e\x61\x72\x72\x6f\x77\x6c\x65\x66\x74\x61\x72" -+"\x72\x6f\x77\x72\x69\x67\x68\x74\x61\x72\x72\x6f\x77\x75\x70\x61\x72\x72\x6f\x77\x75\x70\x64\x6e\x61\x72\x72\x6f\x77\x75\x70\x64" -+"\x6e\x62\x73\x65\x62\x65\x74\x61\x63\x61\x63\x75\x74\x65\x63\x63\x61\x72\x6f\x6e\x63\x63\x69\x72\x63\x75\x6d\x66\x6c\x65\x78\x63" -+"\x64\x6f\x74\x61\x63\x63\x65\x6e\x74\x63\x68\x69\x63\x69\x72\x63\x6c\x65\x6d\x75\x6c\x74\x69\x70\x6c\x79\x63\x6c\x75\x62\x64\x63" -+"\x61\x72\x6f\x6e\x64\x63\x72\x6f\x61\x74\x64\x65\x6c\x74\x61\x64\x69\x61\x6d\x6f\x6e\x64\x64\x69\x65\x72\x65\x73\x69\x73\x74\x6f" -+"\x6e\x6f\x73\x65\x62\x72\x65\x76\x65\x65\x63\x61\x72\x6f\x6e\x65\x64\x6f\x74\x61\x63\x63\x65\x6e\x74\x65\x6c\x65\x6d\x65\x6e\x74" -+"\x65\x6d\x61\x63\x72\x6f\x6e\x65\x6e\x67\x65\x6f\x67\x6f\x6e\x65\x6b\x65\x70\x73\x69\x6c\x6f\x6e\x65\x70\x73\x69\x6c\x6f\x6e\x74" -+"\x6f\x6e\x6f\x73\x65\x71\x75\x69\x76\x61\x6c\x65\x6e\x63\x65\x65\x73\x74\x69\x6d\x61\x74\x65\x64\x65\x74\x61\x65\x74\x61\x74\x6f" -+"\x6e\x6f\x73\x65\x78\x63\x6c\x61\x6d\x64\x62\x6c\x65\x78\x69\x73\x74\x65\x6e\x74\x69\x61\x6c\x66\x65\x6d\x61\x6c\x65\x66\x72\x61" -+"\x6e\x63\x67\x61\x6d\x6d\x61\x67\x62\x72\x65\x76\x65\x67\x63\x69\x72\x63\x75\x6d\x66\x6c\x65\x78\x67\x63\x6f\x6d\x6d\x61\x61\x63" -+"\x63\x65\x6e\x74\x67\x64\x6f\x74\x61\x63\x63\x65\x6e\x74\x67\x72\x65\x61\x74\x65\x72\x65\x71\x75\x61\x6c\x68\x62\x61\x72\x68\x63" -+"\x69\x72\x63\x75\x6d\x66\x6c\x65\x78\x68\x65\x61\x72\x74\x68\x6f\x75\x73\x65\x69\x62\x72\x65\x76\x65\x69\x6a\x69\x6d\x61\x63\x72" -+"\x6f\x6e\x69\x6e\x66\x69\x6e\x69\x74\x79\x69\x6e\x74\x65\x67\x72\x61\x6c\x69\x6e\x74\x65\x67\x72\x61\x6c\x62\x74\x69\x6e\x74\x65" -+"\x67\x72\x61\x6c\x74\x70\x69\x6e\x74\x65\x72\x73\x65\x63\x74\x69\x6f\x6e\x69\x6e\x76\x73\x6d\x69\x6c\x65\x66\x61\x63\x65\x69\x6f" -+"\x67\x6f\x6e\x65\x6b\x69\x6f\x74\x61\x69\x6f\x74\x61\x64\x69\x65\x72\x65\x73\x69\x73\x69\x6f\x74\x61\x64\x69\x65\x72\x65\x73\x69" -+"\x73\x74\x6f\x6e\x6f\x73\x69\x6f\x74\x61\x74\x6f\x6e\x6f\x73\x69\x74\x69\x6c\x64\x65\x6a\x63\x69\x72\x63\x75\x6d\x66\x6c\x65\x78" -+"\x6b\x61\x70\x70\x61\x6b\x63\x6f\x6d\x6d\x61\x61\x63\x63\x65\x6e\x74\x6b\x67\x72\x65\x65\x6e\x6c\x61\x6e\x64\x69\x63\x6c\x61\x63" -+"\x75\x74\x65\x6c\x61\x6d\x62\x64\x61\x6c\x63\x61\x72\x6f\x6e\x6c\x63\x6f\x6d\x6d\x61\x61\x63\x63\x65\x6e\x74\x6c\x64\x6f\x74\x6c" -+"\x65\x73\x73\x65\x71\x75\x61\x6c\x6c\x69\x72\x61\x6c\x6f\x6e\x67\x73\x6d\x61\x6c\x65\x6d\x69\x6e\x75\x74\x65\x6d\x75\x73\x69\x63" -+"\x61\x6c\x6e\x6f\x74\x65\x6d\x75\x73\x69\x63\x61\x6c\x6e\x6f\x74\x65\x64\x62\x6c\x6e\x61\x63\x75\x74\x65\x6e\x61\x70\x6f\x73\x74" -+"\x72\x6f\x70\x68\x65\x6e\x63\x61\x72\x6f\x6e\x6e\x63\x6f\x6d\x6d\x61\x61\x63\x63\x65\x6e\x74\x6e\x6f\x74\x65\x6c\x65\x6d\x65\x6e" -+"\x74\x6e\x6f\x74\x65\x71\x75\x61\x6c\x6e\x75\x6f\x62\x72\x65\x76\x65\x6f\x68\x75\x6e\x67\x61\x72\x75\x6d\x6c\x61\x75\x74\x6f\x6d" -+"\x61\x63\x72\x6f\x6e\x6f\x6d\x65\x67\x61\x6f\x6d\x65\x67\x61\x74\x6f\x6e\x6f\x73\x6f\x6d\x69\x63\x72\x6f\x6e\x6f\x6d\x69\x63\x72" -+"\x6f\x6e\x74\x6f\x6e\x6f\x73\x6f\x72\x74\x68\x6f\x67\x6f\x6e\x61\x6c\x6f\x73\x6c\x61\x73\x68\x61\x63\x75\x74\x65\x70\x61\x72\x74" -+"\x69\x61\x6c\x64\x69\x66\x66\x70\x65\x73\x65\x74\x61\x70\x68\x69\x70\x69\x70\x72\x6f\x64\x75\x63\x74\x70\x72\x6f\x70\x65\x72\x73" -+"\x75\x62\x73\x65\x74\x70\x72\x6f\x70\x65\x72\x73\x75\x70\x65\x72\x73\x65\x74\x70\x73\x69\x71\x75\x6f\x74\x65\x72\x65\x76\x65\x72" -+"\x73\x65\x64\x72\x61\x63\x75\x74\x65\x72\x61\x64\x69\x63\x61\x6c\x72\x63\x61\x72\x6f\x6e\x72\x63\x6f\x6d\x6d\x61\x61\x63\x63\x65" -+"\x6e\x74\x72\x65\x76\x6c\x6f\x67\x69\x63\x61\x6c\x6e\x6f\x74\x72\x68\x6f\x73\x61\x63\x75\x74\x65\x73\x63\x65\x64\x69\x6c\x6c\x61" -+"\x73\x63\x69\x72\x63\x75\x6d\x66\x6c\x65\x78\x73\x63\x6f\x6d\x6d\x61\x61\x63\x63\x65\x6e\x74\x73\x65\x63\x6f\x6e\x64\x73\x69\x67" -+"\x6d\x61\x73\x6d\x69\x6c\x65\x66\x61\x63\x65\x73\x70\x61\x64\x65\x73\x75\x6d\x6d\x61\x74\x69\x6f\x6e\x73\x75\x6e\x74\x61\x75\x74" -+"\x62\x61\x72\x74\x63\x61\x72\x6f\x6e\x74\x63\x6f\x6d\x6d\x61\x61\x63\x63\x65\x6e\x74\x74\x68\x65\x74\x61\x74\x6f\x6e\x6f\x73\x75" -+"\x62\x72\x65\x76\x65\x75\x68\x75\x6e\x67\x61\x72\x75\x6d\x6c\x61\x75\x74\x75\x6d\x61\x63\x72\x6f\x6e\x75\x6e\x64\x65\x72\x73\x63" -+"\x6f\x72\x65\x64\x62\x6c\x75\x6e\x69\x30\x30\x41\x30\x75\x6e\x69\x30\x30\x41\x44\x75\x6e\x69\x30\x32\x31\x41\x75\x6e\x69\x30\x32" -+"\x31\x42\x75\x6e\x69\x30\x32\x43\x39\x75\x6e\x69\x30\x33\x38\x37\x75\x6e\x69\x30\x33\x39\x34\x75\x6e\x69\x30\x33\x41\x39\x75\x6e" -+"\x69\x30\x33\x42\x43\x75\x6e\x69\x30\x33\x43\x32\x75\x6e\x69\x30\x34\x30\x30\x75\x6e\x69\x30\x34\x30\x44\x75\x6e\x69\x30\x34\x35" -+"\x30\x75\x6e\x69\x30\x34\x35\x44\x75\x6e\x69\x30\x34\x39\x32\x75\x6e\x69\x30\x34\x39\x33\x75\x6e\x69\x30\x34\x39\x36\x75\x6e\x69" -+"\x30\x34\x39\x37\x75\x6e\x69\x30\x34\x39\x38\x75\x6e\x69\x30\x34\x39\x39\x75\x6e\x69\x30\x34\x39\x41\x75\x6e\x69\x30\x34\x39\x42" -+"\x75\x6e\x69\x30\x34\x39\x43\x75\x6e\x69\x30\x34\x39\x44\x75\x6e\x69\x30\x34\x41\x30\x75\x6e\x69\x30\x34\x41\x31\x75\x6e\x69\x30" -+"\x34\x41\x32\x75\x6e\x69\x30\x34\x41\x33\x75\x6e\x69\x30\x34\x41\x41\x75\x6e\x69\x30\x34\x41\x42\x75\x6e\x69\x30\x34\x41\x45\x75" -+"\x6e\x69\x30\x34\x41\x46\x75\x6e\x69\x30\x34\x42\x30\x75\x6e\x69\x30\x34\x42\x31\x75\x6e\x69\x30\x34\x42\x32\x75\x6e\x69\x30\x34" -+"\x42\x33\x75\x6e\x69\x30\x34\x42\x36\x75\x6e\x69\x30\x34\x42\x37\x75\x6e\x69\x30\x34\x42\x38\x75\x6e\x69\x30\x34\x42\x39\x75\x6e" -+"\x69\x30\x34\x42\x41\x75\x6e\x69\x30\x34\x42\x42\x75\x6e\x69\x30\x34\x43\x30\x75\x6e\x69\x30\x34\x43\x42\x75\x6e\x69\x30\x34\x43" -+"\x43\x75\x6e\x69\x30\x34\x44\x38\x75\x6e\x69\x30\x34\x45\x32\x75\x6e\x69\x30\x34\x45\x33\x75\x6e\x69\x30\x34\x45\x38\x75\x6e\x69" -+"\x30\x34\x45\x39\x75\x6e\x69\x30\x34\x45\x45\x75\x6e\x69\x30\x34\x45\x46\x75\x6e\x69\x32\x30\x33\x45\x75\x6e\x69\x32\x30\x41\x46" -+"\x75\x6e\x69\x32\x31\x32\x36\x75\x6e\x69\x32\x32\x31\x35\x75\x6e\x69\x32\x32\x31\x39\x75\x6e\x69\x32\x32\x32\x37\x75\x6e\x69\x32" -+"\x32\x32\x38\x75\x6e\x69\x32\x32\x39\x35\x75\x6e\x69\x32\x35\x41\x31\x75\x6e\x69\x6f\x6e\x75\x6e\x69\x76\x65\x72\x73\x61\x6c\x75" -+"\x6f\x67\x6f\x6e\x65\x6b\x75\x70\x73\x69\x6c\x6f\x6e\x75\x70\x73\x69\x6c\x6f\x6e\x64\x69\x65\x72\x65\x73\x69\x73\x75\x70\x73\x69" -+"\x6c\x6f\x6e\x64\x69\x65\x72\x65\x73\x69\x73\x74\x6f\x6e\x6f\x73\x75\x70\x73\x69\x6c\x6f\x6e\x74\x6f\x6e\x6f\x73\x75\x72\x69\x6e" -+"\x67\x75\x74\x69\x6c\x64\x65\x77\x61\x63\x75\x74\x65\x77\x63\x69\x72\x63\x75\x6d\x66\x6c\x65\x78\x77\x64\x69\x65\x72\x65\x73\x69" -+"\x73\x77\x67\x72\x61\x76\x65\x78\x69\x79\x63\x69\x72\x63\x75\x6d\x66\x6c\x65\x78\x79\x67\x72\x61\x76\x65\x7a\x61\x63\x75\x74\x65" -+"\x7a\x64\x6f\x74\x61\x63\x63\x65\x6e\x74\x7a\x65\x74\x61\x31\x2e\x30\x30\x28\x55\x52\x57\x29\x2b\x2b\x2c\x43\x6f\x70\x79\x72\x69" -+"\x67\x68\x74\x20\x32\x30\x31\x34\x20\x62\x79\x20\x28\x55\x52\x57\x29\x2b\x2b\x20\x44\x65\x73\x69\x67\x6e\x20\x26\x20\x44\x65\x76" -+"\x65\x6c\x6f\x70\x6d\x65\x6e\x74\x43\x6f\x70\x79\x72\x69\x67\x68\x74\x20\x28\x55\x52\x57\x29\x2b\x2b\x2c\x43\x6f\x70\x79\x72\x69" -+"\x67\x68\x74\x20\x32\x30\x31\x34\x20\x62\x79\x20\x28\x55\x52\x57\x29\x2b\x2b\x20\x44\x65\x73\x69\x67\x6e\x20\x26\x20\x44\x65\x76" -+"\x65\x6c\x6f\x70\x6d\x65\x6e\x74\x4e\x69\x6d\x62\x75\x73\x20\x53\x61\x6e\x73\x20\x42\x6f\x6c\x64\x20\x49\x74\x61\x6c\x69\x63\x4e" -+"\x69\x6d\x62\x75\x73\x20\x53\x61\x6e\x73\x00\xce\x02\x00\x01\x00\x06\x00\x0c\x00\x10\x00\x15\x00\x1b\x00\x21\x00\x2f\x00\x3b\x00" -+"\x42\x00\x45\x00\x4a\x00\x55\x00\x5c\x00\x62\x00\x6f\x00\x7f\x00\x84\x00\x8a\x00\x94\x00\x99\x00\xb5\x00\xe6\x01\x06\x01\x12\x01" -+"\x15\x01\x35\x01\x49\x01\x4f\x01\x59\x01\x66\x01\xe7\x01\xea\x02\x34\x02\x44\x02\x86\x02\xa7\x02\xce\x02\xd3\x02\xe7\x02\xec\x03" -+"\x02\x03\x0e\x03\x1d\x03\x26\x03\x2b\x03\x36\x03\x3c\x03\x50\x03\x84\x03\xa5\x03\xcc\x03\xd4\x03\xf0\x03\xff\x04\x15\x04\x2a\x04" -+"\x3d\x04\x5f\x04\x6b\x04\x7c\x04\x80\x04\x87\x04\x94\x04\x9f\x04\xa6\x04\xb2\x04\xbe\x04\xca\x04\xde\x04\xeb\x04\xf3\x04\xfd\x05" -+"\x06\x05\x0f\x05\x16\x05\x24\x05\x2c\x05\x37\x05\xe5\x06\x5d\x06\xdd\x07\x5a\x07\x61\x07\xda\x08\x29\x08\x4c\x08\x56\x08\x6b\x08" -+"\xcf\x08\xff\x09\x24\x09\x49\x09\x4e\x09\xa3\x09\xc2\x0a\x15\x0a\x67\x0a\xb0\x0a\xf0\x0b\x1b\x0b\x48\x0b\x5e\x0b\x91\x0b\x97\x0b" -+"\xa4\x0b\xd2\x0c\x0b\x0c\x41\x0c\x73\x0c\x8b\x0c\xaf\x0c\xdf\x0c\xe6\x0d\x15\x0d\x2e\x0d\x5b\x0d\x87\x0d\xb2\x0d\xdc\x0e\x04\x0e" -+"\x28\x0e\x41\x0e\x61\x0e\x81\x0e\xa2\x0e\xaf\x0e\xce\x0e\xd8\x0e\xf6\x0e\xf9\x0f\x16\x0f\x1a\x0f\x2a\x0f\x3a\x0f\x54\x0f\x64\x0f" -+"\x68\x0f\x6f\x0f\x76\x0f\x90\x0f\x95\x0f\xae\x0f\xc7\x0f\xd2\x0f\xea\x0f\xee\x0f\xfc\x10\x13\x10\x29\x10\x3f\x10\x53\x10\x68\x10" -+"\x71\x10\x86\x10\x9b\x10\xae\x10\xb2\x10\xc6\x10\xd9\x10\xec\x10\xfe\x11\x10\x11\x14\x11\x24\x11\x35\x11\x46\x11\x57\x11\x67\x11" -+"\x77\x11\x87\x11\x97\x11\xa4\x11\xb4\x11\xc2\x11\xcc\x11\xd8\x11\xe7\x11\xf6\x11\xff\x12\x0d\x12\x1b\x12\x27\x12\x33\x12\x3f\x12" -+"\x4c\x12\x56\x12\x63\x12\x68\x12\x70\x12\x7c\x12\x88\x12\x94\x12\xa0\x12\xac\x12\xb8\x12\xc4\x12\xd0\x12\xdc\x12\xe8\x12\xf2\x12" -+"\xfd\x13\x08\x13\x13\x13\x1e\x13\x29\x13\x34\x05\xf7\x20\x06\x0b\x06\xa6\xf7\x11\x05\x0b\xf9\x6d\x15\x0b\x15\xfb\x20\x06\x0b\x06" -+"\x70\xfb\x11\x05\x0b\x06\xa5\xf7\x11\x05\x0b\x15\x25\x06\x76\x27\x94\x28\x05\xb2\x06\xc1\xee\x05\x0e\x15\xfb\x2a\x06\x6c\xfb\x26" -+"\x05\xf7\x2a\x06\x0b\x06\xfb\x2f\xfd\x6d\x05\x0b\x46\x1d\x0e\xf7\xd6\xaa\x1d\x0b\x15\xfb\x13\x06\x26\xfb\x2a\x05\xd1\x06\x0e\xfb" -+"\x07\xfc\xb0\x20\x1d\x0b\xf8\xa3\x9c\x6f\x1d\x0b\x15\x51\xe5\x1d\xb4\x6d\xa9\x61\x1f\x81\xbd\x1d\x0b\xcf\xf7\x01\xd9\xa7\xe3\xb7" -+"\xc8\x1f\xcf\xbd\xcc\xaf\xd8\x1b\x0b\xf9\x89\x4d\x1d\x0b\x06\x72\xfb\x0c\x05\x0b\x05\xf7\x2a\x06\xf7\x2f\xf9\x6d\x05\x0b\x06\x77" -+"\x2e\x05\x0b\xf7\x46\xf8\xb0\x15\xfb\x07\xfc\xb0\x05\x58\x1d\x89\x7f\x87\x74\x1f\x48\xfb\xcd\x20\x1d\xd8\xf7\xfe\xb7\x1d\x0b\xf9" -+"\x6e\x16\xf7\xf9\xf9\x6d\x05\xfb\x33\x06\xfb\x75\xfc\xb8\x8e\xf8\xb8\x05\xfb\x32\x06\xfb\x74\xfc\xb6\x8e\xf8\xb6\x05\xfb\x33\x06" -+"\xbe\xfd\x6d\x05\xf7\x1b\x06\xf7\x81\xf8\xbf\x8f\xfc\xbf\x05\x0b\xf9\x71\x22\x1d\xfc\xb8\x24\x1d\xf8\x09\x06\xfc\x6e\xfc\x73\x70" -+"\xfb\x11\x05\xf8\xb8\x21\x1d\xfc\x09\x06\xf8\x6e\xf8\x73\x05\x0b\xf8\x15\x60\x1d\xf8\x87\x21\x1d\xfb\xf1\x06\x0b\x55\x1d\x0e\x5c" -+"\xfb\x12\xfb\x07\x1a\xfb\x43\xf7\x03\xfb\x01\xf7\x46\xf7\x15\xea\xb8\xf1\xe1\x1e\xd9\xe6\xb8\xf7\x0e\xf7\x0a\x1a\xf7\x49\x0b\x15" -+"\xf7\x1f\xf7\x27\x05\x3f\x06\x24\x2a\x4e\xec\x05\x3d\x06\xd2\xfb\x27\x05\x0e\x06\xb3\xf7\x50\x05\x0b\x06\xf7\x14\xf8\xf0\x05\xfb" -+"\x2a\x06\x0b\xfb\x14\x15\xef\xc7\x49\xfb\x02\x3c\x70\x33\x60\x0b\xf7\xb7\xf7\xb5\x15\xf7\x40\x06\xc4\xa7\x79\x66\x7f\x89\x7f\x81" -+"\x66\x1f\x78\x47\x84\x65\x71\x1a\x7e\x8d\x81\x91\x79\x1e\xf7\x33\x06\x91\xa6\x05\x7e\x95\x86\x95\x99\x1a\x92\x8c\x94\x8d\x95\x1e" -+"\xa2\xf7\x0f\x90\xae\xa4\x1a\xb1\x71\xa6\x57\x9c\x1e\xc0\xa5\xa5\x9c\xa3\xa4\x08\xb2\xb3\xa4\xca\xc3\x1a\xb1\x7b\xb2\x70\xa6\x1e" -+"\xab\x6b\x63\x99\x51\x1b\xfc\x0d\x28\x1d\xf7\x2a\x06\xe3\xf8\x32\x15\xb3\xf7\x52\x05\xf7\x3c\x06\xb9\xa2\x85\x7c\x9e\x1f\x99\x7e" -+"\x93\x7a\x78\x1a\x6f\x80\x6c\x78\x77\x1e\x6e\x71\x6c\x7f\x59\x1b\x0b\x6f\x1d\x0e\xf7\xc9\xf8\xb0\x23\x1d\x48\xfb\xcf\x05\x82\x62" -+"\x86\x65\x75\x1a\x6f\x96\x6d\x9e\x75\x1e\x5d\xb1\xc6\x76\xe3\x1b\xe3\xd0\xa0\xb4\xb7\x1f\xb1\xad\x9f\xb9\x9f\xe8\xd1\xf7\xdc\x18" -+"\xfb\x20\x06\x46\xfb\xd6\x80\x54\x81\x75\x74\x76\x19\x78\x75\x6c\x80\x6c\x1b\x59\x6a\xa6\xb3\x96\x8f\xa4\x90\xa4\x1f\x0b\x59\x1d" -+"\x68\x87\x6d\x75\x1a\xfb\x09\xea\x41\xf7\x2c\x5b\x1d\x0e\xc7\x1d\x52\xa3\x41\x1b\x3d\x3b\x6c\x5a\x5c\x1f\x4b\x48\x5d\xfb\x09\x27" -+"\x1a\xfb\x10\xe0\x37\xf7\x12\xf7\x0d\xf0\xca\xf7\x04\xc2\x1e\xfb\x1e\x06\x65\x78\x5e\x72\x5b\x1b\x52\x65\xb0\xc2\x95\x8c\x95\x8d" -+"\xa4\x1f\x9d\xe8\x15\xd9\xa0\xb9\xb3\xcd\x6d\x1d\x89\x68\x1a\x0e\xcc\x16\xf7\x2a\x06\x9e\xe4\xf8\x01\xf7\xfa\x2c\xfc\x53\x32\x1d" -+"\xfb\x2a\x06\x78\x30\xfc\x02\xfb\xfc\xeb\xf8\x57\x05\xfb\x2a\x06\x0b\xf8\xd3\xf8\xb0\x15\xfc\x39\x06\x73\xfb\x05\x05\xf7\x8d\x06" -+"\xfb\xe2\xfb\xce\x73\xfb\x05\x05\xf8\x54\x06\xa3\xf7\x05\x05\xfb\xa6\x06\xf7\xe0\xf7\xce\x05\x0b\xfa\x2c\x55\x1d\x0b\x15\xfb\x1f" -+"\xfb\x27\x05\xd7\x06\xf2\xec\xc8\x2a\x05\xd9\x06\x44\xf7\x27\x05\x0b\xf7\xfe\xce\x1d\x0b\x8c\x8e\x87\x1f\x73\xfb\x03\x05\x87\x99" -+"\x97\x8a\x9e\x1b\xf7\x06\xc3\xb0\xe2\x9d\x1f\x0b\x15\xfb\x02\x06\x71\xfb\x0e\x05\xf7\x02\x06\x0e\x1b\xac\xad\x9a\xa5\xa4\x1f\x9e" -+"\x9f\x96\xa0\x96\xb3\x08\x0e\x15\xfb\x02\x06\x71\xfb\x0c\x05\x0b\xf9\x89\x61\x1d\x0b\x15\xfb\x12\x06\x25\xfb\x2a\x05\xd1\x06\x0b" -+"\x06\x73\xfb\x04\x05\x0b\xf9\x27\xf9\x6d\x59\x1d\x69\x87\x6c\x74\x1a\xfb\x08\xeb\x41\xf7\x2b\x5b\x1d\x0b\xf8\x91\xf8\xb0\x15\xfb" -+"\x57\xfc\x1d\x67\xf8\x1d\x05\xfb\x2e\x06\xd7\xfc\xb0\x8c\x7c\x05\x52\x5f\x67\x46\x7f\x86\x8b\x8d\x80\x1e\x74\xfb\x01\x05\x88\x98" -+"\x96\x8a\x9f\x1b\xb8\xb0\x91\x96\xaa\x1f\xb6\xec\x1d\x0b\x15\xfb\x10\x26\x5b\x29\x39\x1f\x3d\x2e\x39\x1d\x21\xf4\xfb\x4c\x1e\x78" -+"\x3d\x1d\x4f\x1f\x44\x59\x4c\x69\x3e\x1b\x25\x4d\x2f\x1d\x0b\x15\x2a\x06\x71\xfb\x0e\x05\xec\x06\xf7\x75\xf7\x0e\x15\x2a\x06\x71" -+"\xfb\x0e\x05\xec\x06\x63\xf7\xa0\x15\x25\x06\x78\x31\x94\x28\x05\xb2\x06\xc1\xee\x05\x0e\x15\x60\x7a\x68\x75\x58\xa7\x1d\x15\xc9" -+"\xb1\x5e\x43\x5a\x7d\x56\x73\x61\x1f\x53\x6c\x5d\x6c\x57\x1b\x4f\x64\xb8\xd2\xf7\x13\xd6\xf4\xe6\x1f\x0b\x4b\x1d\xf7\x02\x06\xf7" -+"\x68\xf7\x0c\x4b\x1d\xf7\x02\x06\x0b\x75\x92\xa2\x5b\x1f\x6d\x58\x05\x75\xc4\xaa\x84\xb8\x1b\xe6\xc6\xb5\xcc\xaf\x73\xa0\x0b\xcc" -+"\x1d\xc5\xa3\xbb\xdc\x1d\xac\xa4\x7f\x76\x98\x1f\x93\x7c\x8d\x7f\x8c\x64\x08\x0b\xf7\x20\x06\xcc\xf7\xc4\x05\xde\x9c\xbf\xbd\xcf" -+"\x1b\xbb\xa5\x71\x5a\x7d\x0b\x15\x22\xfc\x82\x05\x31\x78\x59\x63\x2f\x1b\x3e\x5e\xaa\xc1\x9a\x8d\x99\x8e\x9b\x1f\xf4\xf8\x82\x05" -+"\xfb\x2a\x06\x26\xfc\x6e\x05\x84\x0b\xf7\x68\x21\x1d\xfc\xdc\x24\x1d\xf7\x72\x06\x0b\xe3\xdd\xa5\xbb\xc8\x1e\xc4\xb8\xab\xc3\x9d" -+"\xde\xf4\xf8\x82\x18\x0b\x1a\x4d\xe7\x1d\x05\xfb\x20\x06\x2c\x1d\x0b\x15\x8f\x9d\x8c\x93\x97\x1a\xe6\x3f\xc1\xfb\x12\x0b\x68\xb8" -+"\xcf\xf7\x12\xd5\xf7\x01\xe1\x1f\x0e\x22\x1d\xfb\x2a\x28\x1d\x0b\x15\xf0\xfb\x2a\x05\xca\x06\x5e\xf7\x2a\x05\x0b\x94\x8a\x88\x9d" -+"\x1f\xa9\xf7\x22\x05\x8c\x83\x0b\xf7\x20\x06\xf7\x07\xf8\xb0\x05\xfb\x20\x06\x0b\xfb\x20\x06\x47\xfb\xd2\x05\x3a\x7a\x57\x57\x4a" -+"\x1b\x58\x72\xa4\xbd\x9a\x8c\x0b\xf7\x46\xf8\xb0\x15\x2c\x1d\xc8\xf7\xb3\x05\xdd\x0b\xf7\x29\x06\xd1\xf7\xdf\x05\x0b\xeb\xe2\xe0" -+"\xe9\xcf\x57\xbc\x43\x1f\x0b\x83\x81\x5d\x18\xd7\x91\xce\xce\x0b\x97\xb8\x91\xb5\xb1\x1a\xb9\x7a\x0b\x06\xfb\x15\xfc\xf0\x05\x0b" -+"\x8e\xa3\x8c\x94\x95\x1a\xb5\x7a\xb3\x6c\xaa\x1e\xb1\x0b\xf7\x20\x06\xe6\xf8\x40\x05\x0b\x1b\xba\xac\x6f\x60\x90\x1f\x8d\x81\x8b" -+"\x0b\xf9\x82\xdd\x1d\xad\xbf\x99\x8c\x96\x91\xa5\x1f\xf7\xfe\x06\x69\x1d\xbb\x6f\xae\x1e\xb8\x67\x52\xa3\x44\x1b\x4f\x50\x7a\x6b" -+"\x5d\x1f\xad\x6a\x59\x9a\x3d\x1b\x31\x45\x76\x63\x5e\x1f\x6a\x6e\x7a\x69\x7e\x4c\x08\xf7\x17\x06\xc2\x9c\xaa\x9f\xcc\x1b\xbd\xa1" -+"\x7e\x6d\x76\x7d\x75\x77\x81\x1f\x76\x80\x8b\x8b\x43\x81\x52\x82\x18\x5b\x83\x66\x7d\x6b\x74\x08\x56\x65\x6b\x4f\x4d\x1a\x3a\xc5" -+"\x5b\xec\xe8\xc0\xa4\xd6\xd1\x1e\x4b\xa7\xcc\x67\xe3\x1b\xf7\x0c\xf7\x01\xcf\xf6\xc0\x1f\xfc\x78\xcb\x15\x39\x79\x5b\x5e\x45\x1b" -+"\x5c\x73\x9c\xac\xba\xaf\xac\xcd\x96\x1f\xbd\x93\x9b\x8e\x05\x8c\x95\x92\x8d\x8f\x1b\x96\x8e\x8e\x8c\x97\x91\x08\xf8\x08\xcc\x15" -+"\xfb\x6c\x06\xd9\xa0\xb8\xb3\xcc\x1b\xc2\xa9\x6a\x51\x1f\x0b\x15\x7c\x9c\x85\x98\x9a\x1a\x91\x8c\x92\x8d\x93\x1e\xca\xf7\xc0\x05" -+"\x8f\x9d\x8d\x9a\x97\x1a\xa8\x7a\xae\x73\x9e\x1e\xa5\x6b\x5b\x97\x44\x1b\xfb\x31\x3a\x52\xfb\x16\x6f\x1f\xf7\x17\x06\xc2\x9c\xa9" -+"\x9f\xcc\x1b\xbe\xa1\x7e\x6d\x76\x7d\x75\x77\x81\x1f\x77\x80\x8b\x8b\x43\x81\x51\x82\x18\x5b\x83\x66\x7d\x6c\x75\x08\x56\x65\x6a" -+"\x4e\x4f\x1a\x65\x9d\x65\xa8\x73\x1e\x76\xa4\xad\x81\xb7\x1b\xc4\xbc\xa1\xc2\xc7\x1f\x88\x7c\x8b\x86\x84\x1a\x81\x8d\x85\x90\x80" -+"\x1e\xf7\x2d\x06\x97\x1d\x0b\x15\x76\x9b\x7c\x95\x75\x97\x08\x95\x79\x65\x99\x84\x1b\x82\x84\x83\x81\x82\x8d\x88\x9f\x7b\x1f\xba" -+"\x63\xa4\x6b\xc1\x31\x08\x7a\x94\x8e\x89\x93\x1b\x94\x91\x91\xa0\x96\x1f\xa7\xc3\xbd\xca\xb7\xb0\x08\x98\x95\x92\x93\x90\x1a\x98" -+"\x85\x93\x81\x78\x42\x66\x72\x6c\x1e\xf8\x3f\x07\x72\xa9\xd6\x65\x9d\x1b\x95\x91\x93\x97\x90\x88\x8f\x7a\x9a\x1f\x69\xa6\x53\xd0" -+"\x76\xb3\x08\xb3\x75\x86\x92\x83\x1b\x83\x86\x88\x82\x86\x1f\x4f\x27\x7a\x75\x56\x5c\x08\x76\x78\x8a\x8a\x82\x1a\x81\x92\x84\x94" -+"\x9f\xc9\xab\xaa\xb2\x1e\x0e\xf9\x07\xf8\xb0\x15\xb6\x48\x9e\x4c\x3e\x1a\x54\x7e\x4e\x76\x5a\x1e\x5b\x76\x6a\x6f\x69\x1b\x6d\x78" -+"\xa2\xb0\xa2\x8e\x9d\x96\xc2\x1f\xad\xf7\x30\x05\xfb\x12\x06\x66\xfb\x3e\x81\x5c\x86\x77\x80\x75\x19\x6a\x7b\x70\x76\x6e\x1b\x69" -+"\x75\xa9\xb9\xf7\x10\xc9\xf7\x10\xf7\x0f\xf7\x11\x1f\xfb\x33\x06\x27\xfb\x01\x4e\xfb\x20\xfb\x0d\x1a\xfb\x07\xd0\x3b\xef\xcd\xbe" -+"\xb0\xd4\xaf\x1e\x98\x6c\x92\x7f\x95\x7d\x08\x6a\xa5\xb3\x78\xba\x1b\xcd\xc7\xad\xcb\xb7\x1f\xba\xcf\xa7\xec\xec\x1a\xdd\x7c\xc4" -+"\x65\xcc\x1e\x0b\xf9\x61\xf8\x8f\x74\x1d\x0b\xf7\x1b\xaf\x15\x64\xb3\xc5\x77\xd2\x1b\xf1\xe5\xb7\xda\xc7\x1f\xba\xc9\xac\xef\xde" -+"\x1a\xae\x85\xa9\x7f\xa9\x1e\xe6\xd7\x69\xb4\x36\x44\x05\xb4\x64\x4f\xa1\x41\x1b\x24\x31\x5f\x3c\x4f\x1f\x5b\x4c\x6b\x28\x35\x1a" -+"\x68\x92\x6b\x99\x6c\x1e\x2e\x3d\xad\x63\x05\xf8\x53\xf8\x0a\x15\x8c\x84\x8b\x86\x88\x1a\x65\x82\x5f\x7b\x67\x1e\x43\x6d\x57\x61" -+"\x50\x1b\x69\x6c\x9a\xa4\x7a\x1f\x79\xc1\x15\x8a\x96\x8b\x90\x94\x1a\xb9\x9a\xc2\xa2\xb4\x1e\xc3\xaa\xb9\xaa\xc0\x1b\xae\xa9\x7b" -+"\x6e\x9d\x1f\x0b\x15\x94\x1d\x22\x31\x57\xac\xc5\x8f\x8c\x94\x8c\x94\x1e\xfb\x26\x06\x88\x77\x8a\x81\x7d\x1a\x56\x9f\x5d\xaf\x6a" -+"\x1e\x5f\xbb\xcf\x76\xec\x1b\xf7\x0e\xe8\xae\xce\xc5\x1f\xb5\xbb\xa6\xd3\xcd\x1a\xd8\x54\xbf\x25\x9f\x1e\xfb\x01\xa1\x05\x2d\x9e" -+"\x70\x9b\xb1\x1a\xcb\xc3\xb3\xe6\xe1\xb9\x6e\x55\x86\x8a\x82\x8a\x82\x1e\x0b\xf8\x9f\xf8\xb0\x15\x79\x38\x05\xca\x70\x62\xa8\x50" -+"\x1b\x3f\x3f\x65\x49\x57\x1f\x51\x43\x66\xfb\x01\x2a\x1a\xfb\x02\xd4\x3b\xf1\x7f\x1d\x0b\xf7\xbd\x4c\x1d\xf7\x31\xfc\xa7\x42\x1d" -+"\x89\x1d\x93\x1a\xf7\x13\xfb\x01\xe0\xfb\x37\xfb\x10\xfb\x00\x59\x2c\x39\xa2\x1d\x0b\xdd\x16\xf7\xdc\x06\xef\xd0\xa3\xc1\xc3\x1f" -+"\xbc\xbb\xab\xd0\xc7\x1a\xc2\x77\xb1\x58\xb3\x1e\xd8\xbd\xb3\xca\xd1\x1a\xb2\x7c\xb2\x72\xa6\x1e\xaf\x67\x59\x9c\x41\x1b\xfb\xd9" -+"\x06\xe3\xfb\xb6\x15\xae\xf7\x39\x05\xf7\x38\x06\xc9\xa6\x78\x60\x72\x81\x70\x79\x78\x1f\x72\x75\x75\x84\x57\x1b\xfb\x7a\xfb\xce" -+"\x15\xb3\xf7\x51\x05\xf7\x46\x06\xc9\xa8\x75\x5c\x72\x82\x6f\x7d\x76\x1f\x69\x74\x6f\x7f\x52\x1b\x0e\xf8\xe5\xf7\xe6\x15\x6b\x1d" -+"\x66\x5c\x9c\x48\x1b\x2d\x41\x6c\x4b\x57\x1f\x50\x45\x61\xfb\x09\x2c\x1a\x59\x9d\x5a\xaa\x68\x1e\x62\xaf\xc3\x77\xd4\x1b\xf7\x16" -+"\xed\xd7\xf7\x1a\xb5\x1f\x57\x1d\x0b\xf8\xae\xf9\x79\x15\xfb\x10\x26\x5b\x28\x39\x1f\x3d\x2f\x39\x1d\x20\xf4\xfb\x4b\x1e\x78\x3d" -+"\x1d\x4e\x1f\x45\x59\x4c\x69\x3e\x1b\x26\x4c\x2f\x1d\x0e\xf8\xae\xf9\x79\x15\xfb\x10\x26\x5b\x29\x39\x1f\x3d\x2e\x39\x1d\x20\xf4" -+"\xfb\x4b\x1e\x78\x3d\x1d\x4f\x1f\x44\x59\x4c\x69\x3e\x1b\x25\x4d\x2f\x1d\x0b\xfb\x57\x51\x1d\x0e\xf7\x2a\xf7\xe9\x15\x42\xfb\xe9" -+"\x05\xf7\xb1\x06\xf7\x25\xdf\xb2\xf0\xd4\x1f\xd3\xed\xb3\xf7\x0f\xf7\x0a\x1a\xf7\x43\x3d\xd6\xfb\x49\x1e\xfb\xb1\x06\x49\xfb\xc8" -+"\x05\x3f\x06\x7a\x3b\x05\xf7\x77\x16\xf7\x41\x06\x9c\xdb\x05\xfb\x42\x06\xb2\xf7\x4b\x05\xf7\x1b\x06\xe7\xb8\x5f\x30\x3c\x71\x24" -+"\x69\x50\x1f\x40\x60\x5a\x6f\x34\x1b\xfb\x1a\x06\x0e\x8a\x1d\x2a\x59\xc1\xf4\xde\xa5\xe2\xb8\xd1\x1f\xd5\xba\xc8\xae\xdc\x1b\xc1" -+"\xb3\x79\x68\xa0\x1f\x98\x77\x8f\x78\x64\x1a\x0b\xc9\xb3\x9e\xc6\xcb\x1e\x7b\x42\x05\x49\x7d\x50\x5f\x42\x1b\x59\x67\xa0\xa9\x1f" -+"\x8c\x97\x05\xfb\x24\x06\x89\x7f\x8a\x80\x83\x1a\x64\xa5\x66\xb3\x77\x1e\x79\xb0\xb7\x83\xc9\x1b\xf7\x3a\xf7\x01\xd3\xf7\x14\xa6" -+"\x1f\xf7\x0b\xf8\xc2\x05\xfb\xa9\x24\x15\xc3\xaf\x5b\x41\xfb\x0e\x3f\x23\x32\x57\x6b\xb5\xd1\xf7\x0f\xd6\xf7\x05\xdd\x1f\x0b\xf8" -+"\xd8\xf7\x76\x15\x96\xbc\x8f\xae\xb0\x1a\xf7\x0d\x34\xdc\xfb\x15\x36\x3c\x65\x47\x55\x1e\x56\x49\x69\x24\x2b\x1a\xfb\x11\xdd\x3e" -+"\xf7\x17\xf7\x0d\xea\xc9\xf7\x06\xbf\x1e\xfb\x24\x06\x61\x72\x63\x74\x5b\x1b\x53\x6c\xaa\xc2\x9b\x8d\x9a\x8f\xa1\x1f\xa1\xe8\x15" -+"\xdc\xa5\xb7\xb2\xc9\x1b\xbf\xac\x6a\x56\x80\x8a\x83\x8a\x7c\x1f\x0b\xf8\x2f\xf8\xb9\x15\x32\x3d\x6c\x53\x54\x1f\x4b\x49\x63\x25" -+"\x28\x1a\xfb\x1a\xe3\x37\xf7\x21\xe1\xd8\xaa\xc4\xc4\x1e\xc8\xc8\xb5\xf3\xe6\x1a\xf7\x25\x38\xde\xfb\x23\x1e\x7e\xfb\x05\x15\xc9" -+"\xae\x61\x40\x5b\x7b\x54\x72\x61\x1f\x54\x6b\x5e\x6e\x57\x1b\x4e\x67\xb5\xd3\xf7\x12\xd8\xf5\xe8\x1f\x0b\xf7\x49\xf8\xb0\x15\x2c" -+"\x1d\xcc\xf7\xc7\x96\xbb\x99\xa5\xa7\xa0\x19\x9d\xa3\xa8\x95\xab\x1b\xba\xa7\x74\x65\x82\x87\x73\x86\x74\x1f\xfb\x04\xfc\xa7\x20" -+"\x1d\xf7\x0f\xf8\xd8\x05\x90\xa1\x8d\x9f\x9a\x1a\xd7\x4c\xc1\x30\x41\x5c\x73\x4c\x55\x1e\x9c\xd9\x05\x0b\x16\xf7\x20\x06\xf7\x2f" -+"\xf9\x6d\x05\xfb\x20\x06\x54\xfb\x97\x9e\x1d\x66\xf8\x12\x15\xc1\xad\x5f\x45\xfb\x12\x42\xfb\x00\x35\x55\x6a\xb8\xd3\xf7\x0d\xd6" -+"\xf7\x02\xde\x1f\x0b\x15\x23\x32\x5f\x3c\x50\x1f\x5b\x4b\x6c\x28\x35\x1a\xfb\x0e\xdf\x3d\xf7\x19\xf7\x00\xe2\xb5\xdc\xc8\x1e\xbb" -+"\xca\xaa\xee\xe2\x1a\xf7\x10\x37\xd7\xfb\x1d\x1e\x75\xfb\x04\x54\x1d\x0b\xc8\x1d\x75\x92\xa2\x5b\x1f\x6d\x58\x05\x75\xc4\xaa\x84" -+"\xb8\x1b\xe6\xc6\xb5\xcc\xaf\x0b\xf7\x72\x22\x1d\xfb\x2f\xfd\x6d\x20\x1d\xcc\xf7\xc4\x05\xdc\x9c\xc0\xbf\xcc\x1b\xba\xa4\x70\x5a" -+"\x7e\x89\x7e\x87\x75\x1f\x48\xd6\x1d\x9d\x9d\x1a\xda\x51\xc0\x34\x43\x55\x6f\x4c\x55\x1e\xc5\xf7\xa3\x05\x0b\xf8\xb1\x16\x88\x1d" -+"\x0b\xf7\x07\xf8\xb0\x05\x64\x1d\x94\x91\xa4\x9d\x1d\x0b\xf9\xaf\xcf\x1d\x62\x7d\x72\x70\x71\x08\x5e\x5e\x50\x72\x51\x1b\x28\x44" -+"\xd6\xf3\xd2\xa5\xe6\xaf\xc2\x1f\xd6\xbb\xcf\xb0\xe0\x1b\xea\xc4\x62\x3f\x93\x1f\xf7\x1e\x06\x8c\x99\x8c\x96\x0b\xf9\xa9\xf8\x76" -+"\x15\x8e\xa6\x8c\x96\x97\x1a\xf7\x11\x22\xdf\xfb\x2f\xfb\x0f\x20\x56\x26\x39\x1e\x45\x33\x5f\xfb\x1b\xfb\x15\x1a\xfb\x34\xf3\x29" -+"\xf7\x3f\xf7\x4a\xf7\x1a\xf0\xf7\x3f\xb7\x1e\xfb\x23\x06\x2f\x6e\x44\x57\x2b\x1b\x0b\xf8\xa9\xf9\x79\x15\xfb\x0d\xfb\x02\x57\x2d" -+"\x3b\x1f\x44\x37\x60\xfb\x0a\xfb\x03\x1a\xfb\x4f\xf7\x05\xfb\x0a\xf7\x45\xf7\x13\xf6\xbd\xe8\xd8\x1e\xd2\xe3\xb5\xf7\x08\xf7\x04" -+"\x1a\xf7\x51\xfb\x02\xf7\x08\xfb\x47\x1e\x0b\x06\xf7\x07\xf8\xb0\x05\xfb\x20\x06\x56\xfb\x8d\x05\x7b\x5d\x60\x83\x62\x1b\x60\x6f" -+"\x9c\xa5\x8f\x8b\x8d\x8c\x8e\x1f\xba\xf7\x71\x05\xfb\x20\x06\x5c\xfb\x71\x05\x87\x77\x88\x77\x7e\x1a\x49\xce\x5d\x0b\x65\x1d\x9d" -+"\xbd\xb4\xde\x1b\x9a\x62\x1d\x88\x8b\x85\x1b\x4a\x4c\x61\x42\x5c\x1f\xa2\xf5\x05\x0b\xf8\xd5\xf7\xdf\x15\x45\xfb\xdf\x32\x1d\xfb" -+"\x2b\x06\x51\xfb\xa5\x05\xfb\xb4\x06\xc5\xf7\xa5\x05\xfb\x2a\x28\x1d\xf7\x2a\x06\xd1\xf7\xdf\x05\x0e\xa8\x5c\xb7\x72\x1e\x74\xb2" -+"\xba\x81\xc9\x1b\xf7\x3e\xf7\x00\xdd\xf7\x14\xc7\x64\xb2\x38\xa4\x1f\x2b\xa7\x05\x58\x9a\x7d\x95\x9f\x1a\xab\xae\xa0\xc0\xc2\xac" -+"\x78\x6a\x85\x8a\x87\x89\x82\x1e\x0b\xf8\x95\xf8\xb0\x95\x1d\x0b\xda\x16\xf7\x24\x06\xd9\x8d\xba\xa5\xb4\xcc\xf8\x37\xf9\x10\x18" -+"\xfb\x35\x06\xfb\x7d\xfc\x05\x3f\xf8\x05\x05\xfb\x29\x06\xf7\x0e\xfc\x9e\x6b\x5a\x79\x70\x84\x86\x6a\x8a\x19\xfb\x07\x06\x0b\xf7" -+"\xb6\xf7\xce\x15\xf7\xf1\x25\x1d\xfb\xf1\x06\xae\xf7\x39\x05\xf8\x0d\x21\x1d\xfc\xa3\x9f\x1d\x0b\xf8\x81\xf8\x06\x15\xf7\xc6\xf7" -+"\xfb\x05\xfb\x4c\x06\xfb\x50\xfb\x84\x3f\xf7\x84\x05\xfb\x42\x06\xf7\x2a\xfb\xfb\xfb\xc5\xfc\x06\x05\xf7\x46\x06\xf7\x55\xf7\x91" -+"\xdf\xfb\x91\x05\x0b\x91\xa7\x8d\x99\x9f\x1a\xf7\x00\x2e\xcb\xfb\x33\x2a\x3f\x73\x59\x52\x1e\x52\x5a\x68\x40\x44\x1a\x38\xbd\x5f" -+"\xf7\x0b\x73\x1e\xed\x77\x05\xe6\x79\xa8\x77\x5c\x1a\x47\x48\x60\x0b\x15\xfb\x57\xfc\x1d\x67\xf8\x1d\x05\xfb\x29\x06\xdd\xfc\xc6" -+"\x77\x4e\x6b\x74\x4f\x8c\x19\x7f\x06\x79\x06\x73\xfb\x05\xf7\x32\x87\xb2\x9e\xc5\xf4\x19\xf7\xfa\xf9\x12\x05\x0b\xf7\x1b\x15\xad" -+"\xa1\x7a\x71\x64\x69\x6d\x60\x6c\x77\x9d\xa6\xb1\xab\xa8\xb3\x1f\x6a\xfb\x3d\x15\xac\xa0\x78\x6c\x57\x6a\x66\x5c\x6a\x73\x9f\xa7" -+"\xbe\xb0\xb3\xb9\x1f\x0b\xfb\x0f\xf7\x6d\x15\x39\x79\x5b\x5d\x47\x1b\x5b\x72\x9c\xac\xba\xb0\xac\xcc\x96\x1f\xbd\x93\x9b\x8e\x95" -+"\x8d\x92\x8c\x8f\x8c\x19\x96\x8d\x8e\x8c\x97\x92\x08\x0b\x15\xea\xc3\x4b\xfb\x02\x3a\x70\x35\x5e\x4c\x1f\x46\x59\x4c\x68\x3f\x1b" -+"\x2e\x53\xcc\xf7\x01\xdd\xa7\xe2\xb8\xc9\x1f\xcf\xbc\xcb\xae\xd4\x1b\x0e\xf7\xbc\xf7\xce\x15\xf7\xf1\x25\x1d\xfb\xf1\x06\xae\xf7" -+"\x39\x05\xf8\x0e\x21\x1d\xfc\xa4\x28\x1d\x0b\x20\x1d\xb1\xf7\x45\xcf\xc9\xda\xfb\x83\x05\xf7\x38\x06\xfb\x15\xf7\xe2\xf7\x7c\xf7" -+"\x62\x05\xfb\x33\x06\xfb\x73\xfb\x66\x05\x0b\x15\x60\x7b\x68\x75\x58\x1b\x58\x75\x9f\xb8\x8a\x1f\x60\x06\x87\x7a\x8a\x81\x7e\x1a" -+"\x4d\xb5\x62\xcb\xd9\xd0\xc8\xdd\x99\x1e\x0e\x1a\x52\xb4\x65\xe3\x6e\x1e\xda\x72\x05\xca\x77\x98\x82\x74\x1a\x6b\x60\x74\x4e\x48" -+"\x67\xa2\xb8\x88\x1e\xfb\x1d\x06\x88\x7d\x8a\x0b\x1f\xd0\xb5\x1d\xc0\xa6\xcb\xc2\x1e\x7c\x47\x05\x0b\x05\xc1\x74\x61\xa4\x47\x1b" -+"\x3a\x39\x5d\x40\x57\x1f\x5a\x44\x6e\x31\x39\x1a\xfb\x13\xce\x3a\xf4\xcf\xbf\xa3\xc1\xb9\x1e\x0b\x28\x1d\xf8\xb5\x21\x1d\xfc\x1f" -+"\x06\x0b\x99\x1a\xc5\xc0\xbc\xc8\xc9\xaa\x6c\x4d\x86\x8b\x81\x8a\x80\x1e\xf7\x17\x06\x8e\xa4\x8c\x98\x9c\x1a\xf7\x08\x46\xc7\x0b" -+"\xa5\x1d\x0e\x1e\x3d\x30\x5b\xfb\x13\xfb\x08\x1a\xfb\x42\xf7\x04\xfb\x03\xf7\x44\xe8\xcd\xab\xda\xd5\x1e\x84\x31\x05\xe5\x06\x0b" -+"\x16\xab\x1d\x0e\xc8\xf7\xb5\x05\xfb\x2a\x06\x4e\xfb\xb5\x05\x87\x79\x89\x78\x0b\x23\x1d\x2c\x1d\xf7\x2f\x22\x1d\xfb\x20\x24\x1d" -+"\xf7\x20\x06\x0b\x15\x73\xfb\x04\x05\xce\x06\x85\x5f\x68\x66\x5e\x83\x82\x5d\x18\xd6\x91\xcf\xce\x95\xd9\x9f\xeb\x18\x0e\x1b\x5c" -+"\x70\xa0\xaf\x1f\x93\x61\x07\x86\x7a\x8a\x81\x7e\x5c\x1d\x15\xab\x1d\x0b\x15\x69\x7d\x7a\xb3\x1d\x0b\xf8\xb0\x23\x1d\x2c\x1d\x0b" -+"\x70\xfb\x11\x05\xdc\x06\x82\x59\x6b\x6e\x51\x81\x81\x5d\x18\xe4\x92\xcb\xc4\x99\xe2\xa2\xf7\x01\x18\x0b\x06\xcb\xb2\x1d\x0b\x06" -+"\x6e\xf7\x50\x05\xfb\x1d\x06\xb2\xfb\x83\xfb\x44\xfb\xc1\x05\xf7\x29\x06\xf7\x20\xf7\x83\x05\x0b\xf8\xd1\x15\x4d\xfb\xb5\x05\xe9" -+"\x06\xe5\xf8\x3d\x05\x4c\x06\x59\x73\x59\x72\x3d\x1b\x7e\x4e\x05\x0b\x79\xa8\x76\x1e\x4b\xc6\x1d\x67\xa1\x1e\x0b\xf7\xe3\x15\xfb" -+"\x1c\xf7\x26\x73\xfb\x06\xdd\x32\xfb\x0c\x32\x72\xfb\x09\xf7\x5b\xf7\x28\x05\x0b\xf7\x63\xb6\x1d\xfb\xdf\x05\xf7\x2a\x06\x40\xf8" -+"\x1c\xf7\x4f\xe4\x1d\x0b\x7b\x74\x1b\x80\x88\x8c\x93\x78\x1f\x59\xa0\x05\x9b\x67\x83\x8d\x71\x1b\x54\x60\x61\x3f\x0b\xf9\x89\x15" -+"\xfb\x20\xfb\x27\x05\xd8\x06\xf2\xec\xc8\x2a\x05\xd8\x06\x44\xf7\x27\x05\x0b\xf7\xdb\x05\xfb\x20\x06\x3b\xfc\x0c\x05\x87\x78\x89" -+"\x79\x79\x1a\x3b\xc5\x57\xe3\xd5\x0b\x15\xfb\x20\xfb\x27\x05\xd8\x06\xf2\xec\xc7\x2a\x05\xd9\x06\x44\xf7\x27\x05\x0e\x05\x8f\x9e" -+"\x8d\x9d\x9d\x1a\xdb\x51\xbf\x32\x41\x55\x70\x4b\x55\x1e\x9d\xdd\x05\x0b\x06\xe8\xbf\x99\xb2\xbd\xd0\x1d\x0b\x1f\xc1\x06\xad\x9c" -+"\x9b\x9a\x9d\x1b\x93\x9e\x85\x82\x9c\x1f\xbd\x72\x05\x85\x98\x0b\xa3\xc4\xc1\x1f\xc1\xc4\xad\xe0\xd8\x1a\xbf\x74\xba\x62\xaa\x1e" -+"\xa7\x67\x62\x96\x0b\x05\xfb\x20\x06\x30\xfc\x3f\x05\xfb\x41\x06\xe6\xf8\x3f\x05\xfb\x20\x06\x0e\xbf\x1d\x81\x0b\x59\x15\x9e\x99" -+"\x7e\x79\x72\x72\x73\x70\x77\x7d\x99\x9d\xa4\xa5\xa2\xa6\x1f\x0b\x05\xfb\x20\x06\x61\xfb\x5c\x05\xfb\x58\x06\xb6\xf7\x5c\x05\xfb" -+"\x20\x06\x0b\x15\x60\x7b\x68\x75\x58\x1b\x5c\x70\xa0\xaf\x1f\x93\x60\x07\x87\x7a\x8a\x0b\x1e\x8f\x61\x8d\x75\x7f\x1a\x79\x85\x81" -+"\x7f\x85\x89\x8c\x96\x80\x1e\x0b\xaa\xa2\x9d\x9f\xa1\x08\xa5\xaa\x99\xaf\xb1\x1a\xcd\x5a\xb2\x38\x27\x0b\xf7\x8d\xcd\x1d\x68\x5f" -+"\x82\x81\x5d\x18\xd6\x91\xcf\xce\x95\xd9\xa0\xeb\x18\x0e\x06\x6a\xf7\xa5\x05\xfb\x24\x06\xb7\xfb\xe5\xfb\x86\xfc\x1c\x05\x0b\xbc" -+"\x6f\xe2\xa7\xa0\x8d\x92\xaa\x1e\x96\xbf\x05\x83\x72\x76\x88\x0b\x6c\x6a\x5b\x4f\x1a\x49\xbd\x62\xda\xef\xdb\xd5\xe7\xaf\x7d\xa1" -+"\x0b\x15\x97\xb9\x91\xb3\xb1\x1a\xb9\x7a\xbb\x6f\xaf\x1e\xb8\x67\x0b\x95\xa3\x97\x8e\x9c\x1b\xa5\x9d\x7e\x77\x72\x6e\x78\x65\x6e" -+"\x0b\x9b\xa6\xae\x1f\xbb\xb2\xa9\xc6\xc4\x1a\xda\x48\xca\x37\x1e\x0b\xcf\xa1\xb7\xc0\x1e\xb3\xac\xa0\xac\x9b\xc3\x08\xfb\x20\x06" -+"\x0b\xf8\xf2\xf7\xb8\x15\xfc\x8c\x31\x1d\xf8\x8c\x06\x0b\xfb\x1a\x06\x44\x6c\x6a\x70\x55\x1b\x4f\x6e\xac\xd1\xc1\x98\x0b\x15\x25" -+"\x06\x75\x27\x95\x28\x05\xb2\x06\xc0\xee\x05\x0e\x22\x1d\xfb\x20\x28\x1d\xf7\x20\x06\x0b\xf8\x1c\x15\xfb\xb8\x24\x1d\xf7\x3a\x06" -+"\x7e\x0b\x1f\xcb\xbe\xb1\xd9\xdc\x1a\xf7\x0a\x3f\xd2\xfb\x14\x1e\x0b\xab\xa2\xac\xb8\x1a\xc1\x5a\xb1\x45\x34\x42\x4d\x40\x71\x0b" -+"\x15\xfb\x20\x28\x1d\xf7\x20\x06\x0e\x06\x30\xfc\x3f\x05\xf7\x20\x06\xf7\x07\xf8\xb0\x05\x0b\x16\xeb\x06\xd5\x8c\xd4\xc7\x9a\xd3" -+"\xc9\xf7\xba\x18\x0b\x1f\x4c\xfb\xbb\x20\x1d\xd1\xf7\xdb\x05\x8e\x0b\xfb\xcd\x20\x1d\xd8\xf7\xfe\x05\x8f\x9e\x8d\x0b\x15\xf7\x2a" -+"\x06\xaa\xf7\x26\x05\xfb\x2a\x06\x0e\x05\xfb\x46\x06\x72\xfb\x08\x05\xf7\x47\x06\x5b\x0b\x3b\x1d\xfb\x20\x06\x63\xfb\x50\x05\x0b" -+"\x1e\x87\xb5\x89\xa1\x97\x1a\x9d\x91\x95\x97\x91\x0b\xed\x1d\xd1\x06\x0b\x1f\xc6\xa7\xb0\xa5\xc2\x1b\x0b\xf7\x2c\x15\x65\x77\x5e" -+"\x72\x5a\x1b\x52\x64\x0b\x06\xd3\xf7\x41\x05\x21\x06\x44\xfb\x41\x05\x0b\x86\x9b\x1b\xac\xad\x9a\xa5\xa5\x1f\x9e\x9f\x0b\x8c\x94" -+"\x78\x1f\x59\xa0\x05\x99\x6b\x7d\x8e\x0b\x15\xfb\x1e\x06\x6f\xfb\x16\x98\xfb\x15\x05\x0b\x15\xfb\x03\x06\x72\xfb\x0c\x05\xf7\x02" -+"\x06\x0b\x1b\x73\x7d\x94\x9b\x90\x8d\x98\x8e\x9b\x1f\x0b\xf7\xe5\x05\xfb\x34\x06\xfb\x29\xfb\xa5\x05\x0b\x55\x57\x52\x62\xa9\x6d" -+"\xb5\xc5\xc1\xbf\xc4\x0b\xf7\xa2\x15\xf7\xdc\xf8\x5f\x05\xfb\x3b\x06\x0b\xb5\x62\xcb\xda\xcf\xc8\xdd\x99\x1e\x0e\x15\xfb\xc0\x06" -+"\x7a\x3b\x05\xf7\xc1\x06\x0b\x15\xc1\xad\x5f\x45\xfb\x12\x41\xfb\x00\x0b\x15\xfb\x13\x06\x26\xfb\x27\x05\xd1\x06\x0b\x15\xfc\xec" -+"\x06\x7c\x46\x05\xf8\xec\x06\x0b\x9c\xa1\xa1\xaf\xcc\xf7\xfa\xf9\x12\x18\x0b\xfa\x3c\x15\xfb\x13\x06\x26\xfb\x2a\x05\x0b\x01\x00" -+"\x01\xe3\x01\x05\x00\x01\x0a\x02\x01\x40\x03\x01\x87\xff\x02\x87\xa0\x02\x8e\x02\x00\x01\x00\x02\x00\x03\x00\x0a\x00\x19\x00\x6c" -+"\x01\x12\x01\x83\x02\x0a\x02\x1b\x02\x4d\x02\x84\x02\xae\x02\xc4\x02\xe4\x02\xe8\x02\xef\x03\x01\x03\x59\x03\x76\x03\xc8\x04\x46" -+"\x04\x79\x04\xd0\x05\x35\x05\x62\x05\xd7\x06\x3c\x06\x4b\x06\x73\x06\x91\x06\xaa\x06\xc6\x07\x25\x07\xf8\x07\xfc\x07\xff\x08\x03" -+"\x08\x07\x08\x0b\x08\x22\x08\x27\x08\x2a\x08\x2d\x08\x31\x08\x34\x08\x38\x08\x3c\x08\x40\x08\x44\x08\x47\x08\xac\x08\xb0\x08\xb4" -+"\x08\xb8\x08\xbc\x08\xd8\x08\xdd\x08\xe0\x08\xe4\x08\xe8\x09\x08\x09\x18\x09\x38\x09\x56\x09\x5c\x09\x61\x09\x65\x09\xab\x09\xaf" -+"\x09\xb5\x09\xb9\x09\xc2\x09\xc6\x09\xca\x09\xce\x09\xdd\x09\xe1\x09\xe4\x0a\x42\x0a\x46\x0a\x4a\x0a\x75\x0a\xbe\x0a\xc3\x0a\xde" -+"\x0a\xe3\x0a\xe7\x0b\x03\x0b\x08\x0b\x39\x0b\x3d\x0b\x42\x0b\xb9\x0b\xca\x0c\x41\x0c\x80\x0c\x9a\x0d\x0c\x0d\x91\x0d\x96\x0d\xe3" -+"\x0e\x44\x0e\xf7\x0f\x5e\x0f\x6d\x0f\x90\x0f\x9e\x0f\xa7\x0f\xae\x0f\xba\x0f\xc7\x0f\xd7\x10\x06\x10\x3b\x10\x3d\x10\x73\x10\x8c" -+"\x10\x9c\x10\xa6\x10\xb1\x10\xd0\x10\xe5\x11\x60\x11\xb1\x11\xb8\x11\xbf\x11\xc7\x11\xcf\x11\xd7\x11\xdf\x11\xe7\x11\xef\x11\xf8" -+"\x12\x12\x12\x18\x12\x4f\x12\x57\x12\x5b\x12\x60\x12\xf2\x13\x1c\x13\x21\x13\x85\x13\xc7\x13\xcc\x13\xcf\x13\xf0\x13\xf4\x14\x76" -+"\x14\xe1\x14\xfe\x15\x17\x15\x70\x15\xb7\x15\xba\x15\xfc\x16\x20\x16\x4b\x16\x80\x16\xae\x16\xca\x16\xf7\x17\x1a\x17\x5c\x17\x97" -+"\x18\x25\x18\x29\x18\xb5\x18\xdf\x18\xe6\x19\x52\x19\x5b\x19\x63\x19\x6b\x19\x73\x19\x7c\x19\xa5\x1a\x0e\x1a\x17\x1a\x20\x1a\x29" -+"\x1a\x32\x1a\x38\x1a\x3f\x1a\x46\x1a\x4d\x1a\x87\x1a\xae\x1a\xba\x1a\xc6\x1a\xd1\x1a\xed\x1a\xff\x1b\x0b\x1b\x17\x1b\x20\x1b\x2d" -+"\x1b\x34\x1b\x3b\x1b\x56\x1b\x60\x1b\x6c\x1b\x76\x1b\x80\x1b\x89\x1b\x92\x1b\xf4\x1b\xff\x1c\x09\x1c\x1b\x1c\x1e\x1c\x25\x1c\x2c" -+"\x1c\x32\x1c\x38\x1c\x41\x1c\x75\x1c\x7e\x1c\xb3\x1c\xc1\x1d\x02\x1d\x14\x1d\x29\x1d\x33\x1d\x45\x1d\x51\x1d\x59\x1d\x62\x1d\x6c" -+"\x1d\xad\x1d\xb1\x1d\xba\x1d\xc4\x1d\xeb\x1e\x8f\x1e\xf2\x1f\x26\x1f\x30\x1f\x3c\x1f\x40\x1f\x49\x1f\x52\x1f\x9b\x1f\xa8\x1f\xab" -+"\x1f\xbc\x1f\xc4\x1f\xcd\x20\x38\x20\x3b\x20\x49\x20\x4c\x20\x65\x20\x6e\x20\x77\x20\x80\x20\x8a\x20\xe0\x21\x05\x21\x09\x21\x25" -+"\x21\x28\x21\x3c\x21\xb0\x21\xc2\x21\xd0\x21\xda\x21\xed\x22\x63\x22\xa6\x22\xbf\x23\x00\x23\x0e\x23\x16\x23\x25\x23\x4f\x23\x52" -+"\x23\x59\x23\x64\x23\x74\x23\x7a\x23\x7d\x23\x84\x23\x8d\x23\xa6\x23\xaf\x23\xb7\x23\xc9\x23\xcd\x23\xd6\x23\xe3\x23\xeb\x23\xef" -+"\x24\x03\x24\x14\x24\x1e\x24\x2a\x24\x2e\x24\x3a\x24\x43\x24\xb7\x24\xcb\x25\x32\x25\x3b\x25\x43\x25\x4c\x25\x4f\x25\x57\x25\xc7" -+"\x25\xd0\x25\xdd\x26\x07\x26\x0b\x26\x32\x26\x3b\x26\x7e\x26\xd1\x26\xda\x26\xe3\x26\xeb\x27\x5c\x27\x60\x27\x68\x27\x88\x27\x92" -+"\x27\xa5\x27\xae\x27\xb7\x27\xbf\x27\xc8\x27\xe9\x27\xf1\x27\xf9\x28\x01\x28\x0b\x28\x0f\x28\x2f\x28\x38\x28\x3c\x28\x6a\x28\xa3" -+"\x28\xfa\x29\x06\x29\x47\x29\x4b\x29\x54\x29\x7a\x29\x9a\x29\x9e\x29\xda\x29\xe6\x2a\x0f\x2a\x35\x2a\x42\x2a\x4b\x2a\x62\x2a\xa1" -+"\x2b\x00\x2b\x18\x2b\x1c\x2b\x7c\x2b\x83\x2b\x9a\x2b\xab\x2b\xc5\x2b\xee\x2c\x2a\x2c\x3a\x2c\x3f\x2c\xa0\x2c\xe4\x2d\x3d\x2d\x5a" -+"\x2d\xbf\x2d\xda\x2e\x3c\x2e\xb9\x2e\xbe\x2e\xc5\x2f\x0a\x2f\x55\x2f\x88\x2f\xd4\x2f\xef\x30\x2b\x30\xc7\x31\x31\x31\x87\x31\x93" -+"\x31\xd1\x31\xd5\x31\xdd\x31\xfc\x32\x16\x32\x1a\x32\x4a\x32\x71\x32\x7e\x32\xb0\x32\xbb\x32\xdd\x32\xe9\x33\x28\x33\x84\x33\x96" -+"\x33\x9a\x34\x1e\x34\x4f\x34\x62\x34\x72\x34\x7f\x34\x96\x34\xbb\x34\xc8\x34\xcd\x35\x28\x35\x79\x35\xca\x35\xe8\x36\x48\x36\x63" -+"\x36\xc4\x37\x38\x37\x3c\x37\x43\x37\x74\x37\xa3\x37\xce\x38\x11\x38\x41\x38\x73\x38\x8b\x38\xa3\x38\xf5\x39\x81\x3a\x05\x3a\x83" -+"\x3a\xdc\x3b\x3e\x3b\x4e\x3b\x83\x3b\xb9\x3c\x57\x3c\xd4\x3c\xe1\x3d\x67\x3d\xaf\x3d\xf5\x3e\x3c\x3e\x81\x3e\x89\x3e\x9a\x3f\x12" -+"\x3f\x1b\x3f\x35\x3f\x3d\x3f\x46\x3f\x77\x3f\xf5\x40\x72\x40\x82\x40\xba\x41\x17\x41\x46\x41\x4e\x41\x56\x41\x70\x41\x78\x41\xa3" -+"\x41\xac\x41\xcd\x42\x29\x42\x88\x42\xf0\x43\x0a\x43\x74\x43\x78\x43\x7f\x43\x9e\x43\xb8\x43\xfa\x44\x43\x44\x65\x44\x76\x44\x7e" -+"\x44\x9f\x45\x27\x45\x52\x45\xa8\x45\xae\x45\xf4\x46\x19\x46\x21\x46\x35\x46\x44\x46\xbc\x46\xf8\x47\x0f\x47\x43\x47\x88\x48\x15" -+"\x48\x51\x48\x54\x48\x5b\x48\x62\x48\x6a\x48\x9f\x48\xae\x48\xd2\x48\xe6\x48\xf4\x48\xfa\x49\x16\x49\x20\x49\x27\x49\x34\x49\x5f" -+"\x4a\x01\x4a\x0b\x4a\xa1\x4a\xa8\x4a\xfa\x4b\x14\x4b\x1d\x4b\x48\x4b\x55\x4b\x69\x4b\xd8\x4c\x12\x4c\x2e\x4c\x37\x4c\x4b\x4c\x5b" -+"\x4c\x60\x4c\x68\x4c\x6c\x4c\x75\x4c\x83\x4c\x8b\x4c\xfd\x4d\xeb\x4e\x5d\x4e\x7a\x4e\xa3\x4e\xc6\x4e\xfd\x4f\x5e\x4f\x87\x4f\x91" -+"\x4f\xb0\x4f\xcd\x4f\xf5\x50\x0d\x50\x5f\x50\x68\x50\xd6\x50\xf0\x51\x58\x51\x6c\x51\xc1\x52\x51\x52\xac\x52\xe1\x53\x82\x53\x98" -+"\x53\xd5\x53\xea\x54\x32\x54\x9e\x54\xa6\x54\xaf\x54\xb6\x54\xcc\x54\xd8\x54\xd9\x54\xdd\x54\xf7\x55\x25\x55\x2d\x55\x2f\x55\x4a" -+"\x55\x51\x55\x8c\x55\xf7\x56\x00\x56\x09\x56\x0c\x56\x16\x56\x48\x56\x74\x56\xb3\x56\xea\x57\x1a\x57\x60\x57\x8b\x57\xb4\x57\xd7" -+"\x58\x10\x58\x2b\x58\x50\x58\x78\x58\x8d\x58\xe5\x59\x23\x59\x27\x59\x3e\x59\x75\x59\xa8\x59\xba\x59\xf6\x5a\x2c\x5a\x72\x5a\xc5" -+"\x5b\x1e\x5b\x52\x5b\x83\x5b\x88\x5b\xa5\x5b\xc1\x5c\x22\x5c\x2b\x5c\x3b\x5c\x67\x5c\x94\x5c\xcd\x5c\xd9\x5c\xe1\x5d\xa3\x5e\x05" -+"\x5e\x0a\x5e\x0c\x5e\x28\x5e\x45\x5e\xb5\x5e\xcc\x5f\x11\x5f\x3a\x5f\x69\x5f\x6d\x5f\x76\x5f\x7f\x5f\x94\x5f\xa7\x5f\xb0\x5f\xb9" -+"\x5f\xc1\x5f\xd1\x5f\xdb\x60\x6b\x60\x74\x60\x7e\x60\x87\x60\x90\x60\xf7\x0e\x0e\xfb\xc5\xf8\x35\x81\x0a\x0e\xfb\x38\xf7\xeb\xf9" -+"\x6d\xa3\x0a\xf7\x9c\xf7\x16\xa3\x0a\x0e\x39\xf7\x1e\x6b\x15\xdf\xf7\x60\x05\xf1\x06\x38\xfb\x60\x05\xf4\x06\xdf\xf7\x60\x05\xf7" -+"\x0b\x06\xa0\xef\x05\x28\x06\xc9\xf7\x2c\x05\xf5\x06\xa0\xef\x05\x34\xde\x1d\x24\xde\x1d\xfb\x0a\x06\x75\x27\x05\xee\x06\x4d\xfb" -+"\x2c\x05\x2a\x06\x76\x27\x05\xd8\x06\x38\xfb\x60\x05\xf7\x79\xf7\xc4\x15\xca\xf7\x2c\x05\xf1\x06\x4d\xfb\x2c\x05\x0e\x39\xf9\x03" -+"\xf8\x86\x15\x8f\xa0\x8c\x97\x9b\x1a\xbe\x79\xb6\x6b\xa7\x1e\x70\xa2\x69\x97\x53\x90\x97\xc1\x18\x47\x06\x80\x55\x57\x86\x68\x81" -+"\x65\x77\x19\x3d\x63\x5a\x3d\x3a\x1a\x30\xc1\x52\xf7\x03\x6f\x1e\x5d\xfb\x69\x05\x5f\x94\x76\xa7\xbe\x1a\x96\x8b\x93\x8c\x99\x1e" -+"\xfb\x16\x06\x85\x73\x89\x7b\x78\x1a\x2a\xcb\x4f\xf7\x08\x7f\x1e\x74\x22\x05\xcf\x06\xa1\xf4\xc3\x91\xb7\x98\xb2\xa0\x19\xd7\xb5" -+"\xbf\xe3\xe3\x1a\xdc\x56\xbe\xfb\x0f\xb1\x1e\xb6\xf7\x5d\x05\xaf\x85\xa1\x71\x65\x1a\x7f\x8a\x82\x89\x78\x1e\xfb\x35\x44\x15\x61" -+"\x9b\x77\xa4\xac\x1a\xad\x9e\xae\xa7\x9e\x1e\x99\x95\x99\x8f\xa4\x90\x08\x8a\xfb\xda\x15\xb2\x7b\x9f\x6f\x63\x1a\x53\x66\x62\x4b" -+"\x7c\x1e\x0e\xf7\x8f\xf9\x88\xf9\x59\x15\xfc\xba\xfd\x6d\x05\xd7\x06\xf8\xbb\xf9\x6d\x05\xfc\x75\x83\x15\xfb\x07\xfb\x00\x21\xfb" -+"\x05\x38\xcb\x4d\xe2\xf7\x0a\xf6\xf4\xf7\x07\xdf\x4b\xc7\x32\x1f\x76\x29\x15\xb6\xaa\x6f\x64\x56\x5b\x5b\x54\x61\x6c\xa7\xb1\xc1" -+"\xbc\xbb\xc0\x1f\xf8\x37\xfb\x97\x15\xfb\x07\xfb\x00\x21\xfb\x05\x38\xcb\x4d\xe2\xf7\x0a\xf6\xf4\xf7\x07\xdf\x4b\xc7\x32\x1f\x76" -+"\x29\x15\xb6\xaa\x6f\x64\x56\x5b\x5b\x54\x61\x6c\xa7\xb1\xc1\xbc\xbb\xc0\x1f\x0e\xdf\xf8\xf3\xf8\x09\x15\x80\x52\x7c\x6d\x69\x6c" -+"\x39\xf7\x1d\x18\xc1\xab\xa9\xa1\xa1\xa4\x08\xac\xb0\x9f\xbe\xba\x1a\xd1\x4d\xba\x30\xfb\x0c\x22\x2e\x20\x6c\x9c\x64\xaf\x57\x1e" -+"\x59\x74\x74\x7f\x6c\x75\x08\x46\x5c\x66\x49\x40\x1a\xfb\x05\xd4\x49\xf7\x11\xd8\xb5\x9b\xce\xe8\x1e\xb0\x4f\x05\xf7\x34\x06\x2d" -+"\xf7\x34\xc6\xc0\xbb\xe2\x96\xd4\x19\xfc\x09\x55\x15\xee\xfb\x3b\x05\x5d\x48\x6d\x7e\x69\x1b\x5a\x63\xb5\xbf\xb9\x9e\xa8\xbd\xa7" -+"\x1f\xf7\x10\xf7\x48\x15\x6b\xc2\x87\x94\x9d\x1a\xb0\xa6\xa5\xb1\xab\x9e\x7c\x71\x62\x6f\x67\x57\x70\x1e\x0e\xf7\x70\xf9\x6d\x86" -+"\x0a\xe9\x92\xc9\xc3\x97\xe3\xa2\xf7\x01\x18\x0e\xfb\xc5\xf7\xfa\xf9\x6d\x15\xfb\x53\xfb\x70\x38\xfb\x4c\xfb\x5f\x1a\x29\xa4\x21" -+"\xbf\xfb\x0a\x1e\xef\x06\x5f\xf7\x25\x7d\xd6\xe7\x1a\xf7\x19\xb0\xf7\x18\xd6\xf7\x1c\x1e\xae\xcb\xb0\xc2\xd2\xec\x08\x0e\xfb\xc5" -+"\xda\xfb\x5c\x15\xc4\xcd\xc1\xd1\xaf\xc2\x08\xe0\xf7\x18\xb8\xf7\x25\xf7\x1e\x1a\xee\x72\xf1\x54\xf7\x0e\x1e\x27\x06\xba\xfb\x28" -+"\x99\x44\x2d\x1a\xfb\x18\x66\xfb\x18\x3f\xfb\x1c\x1e\x67\x4b\x6b\x5b\x3e\x23\x08\x0e\xfb\x8d\xf7\x8a\xf8\xb4\x15\x34\x2d\xbc\x60" -+"\xe2\xe9\xba\x2d\xce\xb6\x5c\xe9\xf7\x08\xae\x84\xd1\xfb\x09\x67\xa4\xf7\x08\x05\x43\x06\x73\xfb\x08\x26\xaf\x66\x46\x05\x0e\x55" -+"\xf8\xe8\xf7\xb8\x91\x0a\x64\xfb\x4a\x05\xf7\x0b\x06\xb2\xf7\x4a\x05\xf7\x4b\x06\x0e\xea\xf7\x26\x15\x6c\xfb\x26\x05\xe1\x06\x7e" -+"\x47\x67\x64\x4d\x80\x7f\x53\x18\xf7\x02\x9b\xc7\xc4\x9e\xf7\x02\xa8\xf7\x1d\x18\x0e\xfb\xc5\xa6\x0a\xf7\x89\xf7\x26\x27\x1d\x0e" -+"\xf7\xfc\xf9\x5e\x15\xfb\xfd\xfd\x6c\x05\xce\x06\xf7\xfd\xf9\x6c\x05\x0e\x39\xf8\x39\xf9\x68\x15\xfb\x05\x2f\x4a\xfb\x0a\x54\x1f" -+"\x61\x2f\x65\xfb\x3f\x25\x1a\xfb\x10\xd3\x40\xf7\x0a\xf7\x08\xe7\xcb\xf7\x0b\xc2\x1e\xb5\xe6\xb1\xf7\x41\xf1\x1a\xf7\x10\x43\xd5" -+"\xfb\x0d\x1e\x70\xfb\x04\x15\xba\xa9\x6a\x58\x4d\x74\xfb\x1a\x70\x2c\x1f\x28\x6f\x69\x64\x50\x1b\x5d\x6d\xac\xbe\xec\xbc\xf7\x72" -+"\xac\xc0\x1f\xb1\xa3\xa8\x9e\xae\x1b\x0e\x39\xf7\xea\xf8\x7d\x15\x23\xfc\x7d\x20\x1d\xf7\x2b\xf9\x59\x05\x2e\x06\x37\x63\x39\x60" -+"\xfb\x0e\x1b\x77\x2e\x05\x0e\x39\xf8\xae\xf7\x11\x15\xfb\xc0\x06\xa4\xb0\xa9\xa1\xf7\x0a\xd6\xde\xbf\xb0\xa8\xab\xb1\x08\xb5\xbd" -+"\xa2\xc8\xca\x1a\xf7\x00\x3e\xcb\xfb\x16\xfb\x30\x26\x2d\xfb\x3c\x71\x1e\xf7\x1a\x06\xec\x98\xb8\xc0\xd1\x1b\xc0\xab\x6d\x59\x5c" -+"\x77\x5d\x69\x68\x1f\x6c\x6a\x6b\x75\xfb\x07\x43\xfb\x1f\x38\x5a\x4d\x68\xfb\x18\x08\xf8\x76\x06\x0e\x39\xf7\xb0\xf7\xd1\x15\xc1" -+"\x8e\x8b\x84\xa3\x1f\xaf\x80\xa0\x6f\x63\x1a\x71\x83\x70\x7d\x75\x1e\x65\x72\x6a\x78\x61\x1b\x52\x6b\xa7\xbc\x8a\x1f\xa1\x07\x8a" -+"\x95\x05\xfb\x1c\x06\x87\x75\x89\x7b\x78\x1a\xfb\x02\xd6\x4b\xf7\x16\xed\xda\xac\xc9\xbe\x1e\xb3\xbd\xa4\xd2\xcb\x1a\xc1\x75\xb2" -+"\x59\xa9\x1e\xdb\xbc\xb3\xcc\xda\x1a\xeb\x42\xc2\xfb\x13\x35\x46\x71\x58\x5d\x1e\x66\x63\x79\x60\x7c\x3d\x08\xf7\x15\x06\x94\xb2" -+"\x91\x9e\x95\x9c\x08\xac\x9e\xac\x9d\xb3\x1b\xb9\xaa\x6f\x61\x3b\x50\x58\x30\x1f\x80\x06\x0e\x39\xf8\xd8\xf7\xa5\x15\x41\x06\xe8" -+"\xf8\x48\x05\xfb\x39\x06\xfb\xf4\xfc\x46\x72\xfb\x0a\x05\xf7\xb1\x06\x69\xfb\x31\x20\x1d\xad\xf7\x31\x05\xd4\x06\xfb\x51\xf7\x08" -+"\x15\xfb\x4c\x06\xf7\x8d\xf7\xc4\x05\x0e\x39\xf9\x15\xf9\x59\x15\xfc\x13\x06\xfb\x26\xfc\x1f\x05\xf7\x12\x06\xad\xa2\xae\x9e\xb6" -+"\x1b\xc5\xab\x6b\x50\x26\x4f\x3f\x3a\x55\x69\xa4\xb1\x91\x8c\x93\x8c\x94\x1f\xfb\x1e\x06\x87\x77\x8a\x81\x7d\x1a\x28\xda\x4a\xf7" -+"\x0d\xf0\xe3\xb7\xdb\xc6\x1e\xb4\xc4\xa3\xd3\xd1\x1a\xf7\x03\x48\xcf\xfb\x00\x5a\x66\x7f\x6c\x5c\x1e\xc1\xf7\x28\x05\xf7\xbc\x06" -+"\x0e\x39\xf9\x04\xf8\xb8\x15\x8c\x94\x8b\x94\x90\x1a\xea\x47\xc5\xfb\x06\x20\x35\x55\x21\x4a\x1e\x56\x34\x5c\xfb\x4c\xfb\x0e\x1a" -+"\xfb\x0b\xd9\x40\xf7\x0d\xe2\xda\xb3\xd2\xc0\x1e\xb9\xc8\xa7\xda\xd3\x1a\xf3\x4c\xca\x22\x56\x5d\x7a\x64\x59\x1e\x9c\xc9\x8d\x92" -+"\x98\xab\x08\xd1\xa7\xb0\xa9\xc4\x1b\xbb\xa2\x79\x5d\x94\x1f\xfb\x22\xfb\x55\x15\xbd\xab\x69\x57\x2e\x4f\x3e\x42\x58\x68\xb0\xbf" -+"\xe5\xca\xd8\xd5\x1f\x0e\x39\xf9\x3b\xf9\x59\x15\xfc\x89\x24\x1d\xf7\xf5\x06\xfb\x57\xfb\x50\x29\xfb\x2e\x3b\xfb\x86\x08\xf7\x22" -+"\x06\xc0\xf7\x53\xd9\xf7\x1d\xf7\x27\xf7\x37\xc9\xcb\xae\xaf\x93\x93\x08\x0e\x39\xf8\x7f\xf8\x16\x15\xad\x9f\x9e\x98\x9b\x9c\x08" -+"\xb1\xb0\xa1\xbc\xbb\x1a\xe6\x3a\xca\xfb\x09\xfb\x25\xfb\x0d\x23\xfb\x11\x5f\x9d\x6e\xba\x67\x1e\x59\x72\x70\x78\x72\x6e\x08\x66" -+"\x5f\x75\x50\x54\x1a\xfb\x01\xde\x46\xf7\x19\xde\xd7\xa8\xbf\xc1\x1e\xc0\xbf\xac\xd6\xcf\x1a\xc7\x74\xaf\x4e\xb0\x1e\x2e\xf7\x76" -+"\x15\xc2\xb0\x6e\x60\x4b\x53\x58\x44\x57\x6a\xa8\xb9\xca\xbf\xbc\xcf\x1f\x53\xfb\xae\x15\xc2\xae\x6b\x58\x35\x53\x4d\x3c\x54\x64" -+"\xad\xba\xdf\xc8\xcd\xd9\x1f\x0e\x39\xd3\xf7\x39\x15\x88\x7c\x8a\x83\x81\x1a\x2f\xd4\x4c\xf6\xf7\x02\xe4\xc1\xf3\xc7\x1e\xc9\xf5" -+"\xb5\xf7\x31\xf7\x0d\x1a\xf7\x11\x3d\xdb\xfb\x0c\xfb\x38\xfb\x15\xfb\x21\xfb\x48\xfb\x01\xcb\x49\xf4\xc3\xae\x9a\xbb\xc3\x1e\x80" -+"\x5b\x80\x6a\x7f\x6f\x08\x56\x73\x60\x6d\x59\x1b\x5c\x6b\xa1\xab\x8e\x8b\x8f\x8c\x90\x1f\xf7\x4a\xf8\x53\x15\xc3\xaf\x67\x52\x2a" -+"\x4b\x3d\x3b\x5a\x6c\xad\xc0\xf0\xc5\xdb\xd5\x1f\x0e\xfb\xc5\xf7\xba\xf7\x26\x27\x1d\xf7\x03\xf8\x9c\x27\x1d\x0e\xfb\xc5\xf7\x24" -+"\xf7\x26\x15\x6c\xfb\x26\x05\xe1\x06\x7e\x47\x67\x64\x4d\x80\x7f\x53\x18\xf7\x02\x9b\xc7\xc4\x9e\xf7\x02\xa8\xf7\x1d\x18\xdb\xf8" -+"\x0a\x27\x1d\x0e\x55\xf9\x0a\xf8\x6e\x15\xfc\xa3\xfb\x49\x71\xfb\x0d\xf8\x56\xfb\x4a\xa7\xf7\x17\xfb\xb8\xf7\x03\xf7\xe8\xf7\x05" -+"\x05\x0e\x55\xf9\x02\xf8\x30\x15\xfc\x79\x31\x1d\xf8\x79\x06\x71\xfb\x0c\x15\xfc\x79\x31\x1d\xf8\x79\x06\x0e\x55\xb1\x81\x15\xf8" -+"\xa3\xf7\x49\xa5\xf7\x0d\xfc\x56\xf7\x4a\x6f\xfb\x17\xf7\xb8\xfb\x03\xfb\xe8\xfb\x05\x05\x0e\x70\xf8\x32\xf7\x5d\x15\x99\xcd\x94" -+"\x96\xcf\xb5\xc6\xaf\xb0\xa9\xa0\xa6\x08\xa9\xb2\x9f\xc7\xc1\x1a\xc0\x74\xbd\x63\xaa\x1e\xa8\x68\x56\x9a\x4b\x1b\x35\x45\x6d\x52" -+"\x56\x1f\x64\x60\x75\x5a\x78\x37\x08\xf7\x1c\x06\xe3\x9c\xbc\xbe\xcf\x1b\xc1\xb0\x67\x58\x76\x85\x77\x81\x78\x1f\x7c\x71\x81\x82" -+"\x53\x64\x2d\x49\x64\x53\x84\x3f\x08\xf7\x12\x54\x15\x2a\x0a\x6c\xfb\x26\x05\x23\x0a\x0e\xf7\xe5\xf9\x82\xf8\x90\x15\x70\x50\x05" -+"\xbd\x77\x70\x9e\x5a\x1b\x3b\x34\x5c\x3a\x46\x1f\x53\x49\x69\x40\x4f\x1a\x3b\xc3\x53\xdc\xc2\xc1\xa4\xbb\xbd\x1e\x5d\x9a\xb0\x73" -+"\xc3\x1b\xdd\xe1\xbd\xe2\xd2\x1f\xc5\xd2\xa9\xdf\xe6\x1a\xcd\x75\xc6\x5e\xc1\x1e\xe0\x46\x29\xb5\xfb\x14\x1b\xfb\x38\xfb\x31\x47" -+"\xfb\x0c\xfb\x06\x1f\x25\x20\x4f\xfb\x1f\xfb\x16\x1a\x36\xad\x3a\xc7\x52\x1e\x4a\xd0\xe6\x6d\xf7\x12\x1b\xeb\xd5\x99\xaa\xd8\x1f" -+"\x7f\xda\x05\x6c\x2c\x55\x81\x4c\x1b\xfb\x46\xfb\x11\xf2\xf7\x27\xe5\xaf\xf2\xca\xe1\x1f\xf7\x0d\xe3\xf7\x16\xcd\xf7\x2c\x1b\xf3" -+"\xd2\x6f\x4c\xc6\x1f\xb5\x5e\xa0\x5a\x57\x1a\x4d\x72\x45\x5f\x53\x1e\x51\x5e\x50\x63\x61\x1b\x73\x7c\x98\xa1\x9a\x8d\x91\x9c\xac" -+"\x1f\xf7\x1c\xf7\xac\x05\xfb\x7e\x4d\x15\xb3\x89\xa4\x6f\x63\x1a\x62\x73\x51\x64\x59\x1e\x51\x5f\x58\x6a\x5e\x1b\x63\x70\xab\xba" -+"\xf2\xf7\x0b\xf7\x19\xe1\x86\x1f\x0e\xdf\x24\x0a\x0e\xdf\x78\x1d\xdf\x7e\x1d\x0e\xdf\x73\x0a\x0e\xa8\x26\x0a\x0e\x70\xf7\xb7\xf7" -+"\xce\x15\xf7\xd3\x21\x1d\xfb\xd4\x40\x0a\xf7\xfe\x21\x1d\xfc\x94\x35\x0a\x0e\xf7\x20\x77\x1d\x0e\xdf\x8e\x1d\x25\x0a\x0e\x39\x70" -+"\x0a\x0e\xdf\x79\x0a\x70\x37\x1d\x0e\xf7\x57\x75\x0a\xdf\x30\x0a\x0e\xf7\x20\x7a\x1d\xa8\x6e\x0a\xf7\x20\xf9\x42\xf2\x15\xe0\xdd" -+"\xc7\xf7\x25\xf7\x0f\x1a\xf7\x48\xfb\x02\xf7\x00\xfb\x4b\xfb\x10\x28\x5c\x27\x37\x1e\x3f\x31\x5d\xfb\x12\xfb\x08\x1a\xfb\x43\xf7" -+"\x03\xfb\x02\xf7\x45\xd3\xc5\x9a\xae\xc8\x1e\xd0\x3a\xe8\xdc\x05\xfb\x67\xf7\x8f\x15\x2d\x3a\xc9\x42\x05\x7f\x71\x6c\x84\x6b\x1b" -+"\x28\x4e\xce\xf7\x02\xda\xa6\xe1\xb7\xc8\x1f\xd1\xbd\xca\xae\xd7\x1b\xf2\xc8\x49\xfb\x03\x39\x6b\x2b\x5d\x51\x1f\x0e\xdf\x3e\x1d" -+"\x0e\xa8\x5f\x0a\x0e\x70\x46\x0a\x0e\xdf\x4f\x1d\x0e\xa8\xf8\x24\x16\xf8\x26\xf9\x6d\x05\xfb\x2b\x06\xfb\xa8\xfc\xb9\x5e\xf8\xb9" -+"\x05\xfb\x2b\x06\xe9\xfd\x6d\x05\x0e\xf7\xc6\x35\x1d\x0e\xa8\x78\x0a\xa8\x2c\x0a\x0e\x70\x36\x1d\x0e\xfb\xc5\xf8\x63\x22\x1d\xfb" -+"\x87\x06\xfb\x59\xfe\x35\x05\xf7\x87\x06\xa0\xef\x05\xfb\x05\x06\xf7\x2e\xf9\x6d\x05\xf7\x05\x06\x0e\xf7\x1e\xf9\x59\x15\xd3\xfd" -+"\x70\x05\xd6\x06\x42\xf9\x70\x05\x0e\xfb\xc5\x72\xfb\x5c\x15\xf7\x87\x06\xf7\x59\xfa\x35\x05\xfb\x87\x06\x76\x27\x05\xf7\x05\x06" -+"\xfb\x2e\xfd\x6d\x05\xfb\x05\x06\x0e\x55\xf8\xd8\xf7\xa2\x15\x3a\xf8\x3d\x05\xfb\x11\x06\xfb\x93\xfc\x3d\x05\xf7\x04\x06\xf7\x46" -+"\xf7\xc0\xc5\xfb\xc0\x05\x0e\x39\xf8\xba\x3f\x57\x0a\xf7\xc2\x89\x0a\x0e\x39\x2d\x1d\x0e\x70\xf7\x6a\x22\x1d\xfb\x2f\xfd\x6d\x05" -+"\x21\x0a\x97\xc2\x05\x55\xa2\xb4\x73\xcf\x1b\xf7\x2f\xf7\x22\xf7\x43\xf7\x52\xf7\x11\x46\xdd\x21\x47\x57\x72\x55\x5d\x1f\xc2\xf7" -+"\x97\x05\xc2\xfb\xb8\x15\xc2\xac\x5e\x42\xfb\x0e\x40\xfb\x00\x35\x56\x68\xb8\xcf\xf7\x12\xd6\xf7\x01\xe1\x1f\x0e\x39\x79\x1d\x0e" -+"\x70\xf8\x29\x83\x1d\x0e\x39\x65\x0a\x0e\xfb\xc5\xf8\x3d\xf8\xa5\x37\x0a\x0e\x70\x75\x1d\x0e\x70\x86\x1d\x0e\xf7\xd6\x84\x0a\xf8" -+"\x01\xf9\x6d\x9f\x0a\x7e\x4b\x5b\x0a\x7d\x84\x48\x1d\x0e\x39\x7b\x0a\x0e\x47\x1d\x0e\xf7\x8f\xf7\x43\x29\x0a\x2c\x1d\xd0\xf7\xd8" -+"\x05\xd1\x9a\xb8\xb6\xc5\x1b\xb2\xa3\x74\x68\x7f\x8a\x81\x89\x80\x1f\x41\xfb\xee\x20\x1d\xd0\xf7\xd8\x05\xd3\x9a\xb8\xb4\xca\x1b" -+"\xb1\x9f\x77\x67\x7f\x89\x7c\x88\x7d\x1f\x43\xfb\xe8\x20\x1d\xd8\xf7\xfe\x05\x91\xa9\x8d\x97\x9e\x1a\xdb\x57\xb9\x31\x47\x55\x72" -+"\x52\x54\x1e\xbd\x7d\x5b\xab\x4d\x1b\x49\x5d\x73\x49\x50\x1f\x9c\xdc\x05\x0e\x70\x34\x1d\x0e\x70\x36\x0a\x0e\x70\xf7\xcc\xf8\xb0" -+"\x23\x1d\xfb\x35\xfd\x8a\x9b\x0a\xf7\x5c\xf7\x13\x48\xdb\x20\x48\x54\x6e\x4f\x5d\x1f\xf7\x03\x74\x15\xc1\xad\x5f\x45\xfb\x12\x41" -+"\xfb\x00\x34\x57\x5f\x1d\x70\xf8\x9b\x29\x0a\x7a\x3b\x05\xc7\x77\x5f\xa8\x46\x1b\x38\x3b\x5f\x40\x55\x1f\x59\x44\x6d\x2f\x35\x1a" -+"\xfb\x10\xd1\x3b\xf6\xce\xc3\xa8\xc5\xb9\x1e\x4f\xfb\xae\x20\x1d\xf7\x35\xf9\x8a\x05\xfb\xae\x24\x15\xc1\xae\x5f\x46\xfb\x13\x41" -+"\xfb\x00\x33\x55\x68\xb8\xcf\xf7\x11\xd7\xf7\x02\xe1\x1f\x0e\xfb\x8d\x8d\x1d\x0e\x39\xf8\xdc\xf8\x02\x5e\x1d\x3c\x48\x76\x65\x60" -+"\x1e\x60\x65\x6f\x52\x59\x9c\x1d\x84\x82\x1a\x5e\x8f\x1d\x0e\xfb\xc5\x6f\x0a\x0e\x70\x4f\x0a\x0e\x39\xf7\xf2\x16\xf7\xc1\xf8\xb0" -+"\x05\xfb\x28\x06\xfb\x58\xfc\x1f\x6d\xf8\x1f\x05\xfb\x28\x06\xd5\xfc\xb0\x05\x0e\xf7\x20\x38\x0a\x0e\x39\xf8\x2f\xf7\xa6\x15\xf7" -+"\x81\xf7\x9e\x05\xfb\x3c\x06\xfb\x0f\xfb\x37\x58\xf7\x37\x05\xfb\x3c\x06\xf7\x03\xfb\x9e\xfb\x7d\xfb\xa6\x05\xf7\x3c\x06\xf7\x0f" -+"\xf7\x3c\xc6\xfb\x3c\x05\xf7\x3c\x06\x0e\x39\x50\x1d\x0e\xfb\x1e\x44\x1d\x0e\xfb\x8d\xf8\x6c\x22\x1d\x3f\x06\x3a\x89\x54\x59\x7a" -+"\x33\x5e\xfb\x67\x18\x61\x83\x71\x76\x5f\x1b\x7f\x06\x87\x06\x77\x2f\x8f\x8a\x05\x98\x06\xad\x9f\x7d\x73\x85\x89\x7e\x88\x7c\x1f" -+"\x5e\xfb\x66\x05\x88\x7e\x8a\x7e\x7d\x1a\x4f\xb2\x63\xc5\x1e\xd8\x06\xa0\xee\x05\x68\x06\x72\x7d\x94\x9b\x95\x8d\x98\x8e\x9c\x1f" -+"\xb5\xf7\x57\x05\x8e\x9a\x8d\x9b\x95\x1a\xa6\x7e\xa0\x76\x94\x1e\x7f\x91\x83\x8d\x72\x8f\xd4\x93\xab\xa8\x9b\xd3\xb4\xf7\x57\x18" -+"\x93\xb8\x96\x96\xb1\x8c\x08\xb0\x06\x0e\xfb\xfa\xf7\xe3\xf9\x6d\x15\x3b\x06\xfb\x5a\xfe\x35\x05\xdb\x06\x0e\xfb\x8d\xa8\xfb\x5c" -+"\x15\xd8\x06\xdc\x8d\xc2\xbd\x9c\xe3\xb8\xf7\x67\x18\xb5\x93\xa5\xa0\xb7\x1b\x98\x06\x8f\x06\x9f\xe7\x87\x8c\x05\x7d\x06\x69\x77" -+"\x99\xa3\x91\x8d\x98\x8e\x9a\x1f\xb8\xf7\x66\x05\x8e\x98\x8c\x98\x99\x1a\xc7\x64\xb3\x51\x1e\x3d\x06\x76\x28\x05\xaf\x06\xa4\x99" -+"\x82\x7b\x81\x89\x7e\x88\x7a\x1f\x61\xfb\x57\x05\x88\x7c\x89\x7b\x81\x1a\x70\x98\x76\xa0\x82\x1e\x97\x85\x93\x89\xa4\x87\x42\x83" -+"\x6b\x6e\x7b\x43\x62\xfb\x57\x18\x83\x5e\x80\x80\x65\x8a\x08\x65\x06\x0e\x55\xf8\x8c\xf8\x2f\x15\x58\x7d\x7c\x7c\x65\x1b\x75\x7e" -+"\x91\x9e\x76\x1f\x5a\xb5\x05\x9c\x77\x73\x93\x6b\x1b\x3a\x57\x5b\x2a\x71\x1f\xd9\x06\xbd\x99\x9a\x9a\xb1\x1b\xa0\x9a\x85\x79\x9f" -+"\x1f\xbb\x61\x05\x79\xa0\xa2\x83\xac\x1b\xdb\xc2\xbe\xea\xa2\x1f\x0e\xfb\xc5\xa5\xfb\x4e\x15\x23\x0a\xb8\xf7\x66\xa3\xf7\xc9\x05" -+"\x48\x06\x20\xfb\xc9\x05\xda\xf8\x06\xd7\x1d\x39\xf8\x2e\xf8\x47\x15\xb1\x7f\x97\x72\x4f\x1a\xf7\x1a\x06\x8e\xa3\x8c\x94\x95\x1a" -+"\xcd\x5f\xc9\x4a\xa5\x1e\x7b\x91\x7c\x8e\x73\x8e\x9e\xe2\x18\x49\x06\x78\x35\x33\x84\x47\x65\x5a\x45\x19\x59\x44\x69\x21\x37\x1a" -+"\x3b\xb7\x44\xcf\x71\x1e\x9b\x84\x9c\x87\xa3\x87\x75\x23\x18\xcd\x06\xa0\xf1\xf7\x09\x91\xeb\xdc\xaf\xf7\x0e\x19\xfb\x1a\x06\x73" -+"\x50\x71\x6e\x62\x81\x08\x4a\x8f\x15\x66\x9b\x7e\xa6\xc2\x1a\xd3\xa3\xdc\xaf\xbc\x1e\x9a\xa0\xa0\x99\xa5\x92\x08\x0e\x39\xf8\x5b" -+"\xf8\x07\x15\xfb\x1f\x06\x88\x9a\x87\x9b\x82\xad\x08\x81\xb0\x89\x94\xa0\x1d\xfb\x1b\x3a\x47\x72\x5b\x57\x1e\x5a\x5e\x6d\x4d\x52" -+"\x1a\x6f\x8f\x7a\xa1\x4d\x1e\x4f\x06\x7f\x54\x05\xe4\x06\x8f\x6f\x8c\x7f\x7c\x1a\x45\x63\x59\x23\x4e\x1e\xac\x26\x05\xa0\xbc\xa8" -+"\x92\xb0\x1b\xa6\xa2\x87\x80\xb8\x1f\x7f\xbc\x9f\x88\xa6\x1b\xbc\xb5\x97\xac\xcb\x1f\x79\xf7\x01\x05\x76\x5e\x6a\x83\x67\x1b\x7a" -+"\x74\x8e\x90\x71\x1f\x94\x5f\x88\x8b\x79\x1b\x6c\x7f\x87\x6e\x4a\x1f\xf7\x03\xd9\xb3\xc1\xd4\x1a\x92\x8b\x91\x89\x97\x1e\xf7\x0e" -+"\x06\x0e\xf8\x5f\x32\x0a\x0e\x39\xf8\xd2\xf7\xf4\x15\xfb\x1f\x06\xf7\x9f\xf7\xf4\x05\xfb\x1c\x06\xfb\x4f\xfb\x92\x36\xf7\x92\x05" -+"\xfb\x1f\x06\xf7\x14\xfb\xf4\x22\x0a\x7f\x4f\x05\xf7\x26\x06\x80\x57\x05\xfb\x26\x06\x7e\x4f\x05\xf7\x26\x06\x65\xfb\x48\x20\x1d" -+"\xb1\xf7\x48\x05\xf7\x24\x06\x98\xc7\x05\xfb\x24\x06\x96\xbf\x05\xf7\x24\x06\x0e\x39\xf8\xef\xf8\x77\x15\xfb\x0f\x06\x9a\xb4\x05" -+"\xd2\xa7\xab\xad\xb2\x1b\x9c\x95\x88\x7e\xa4\x1f\xb7\xf7\x06\x05\x98\x63\x77\x8f\x6b\x1b\x22\x44\x4c\xfb\x1f\x55\x1f\x74\x50\x05" -+"\xfb\x1e\x06\x76\x27\x05\xf7\x0f\x06\xfb\x1f\xfc\x0c\x05\x38\x6c\x74\x6f\x67\x1b\x7b\x78\x93\x98\x7a\x1f\x5a\xfb\x07\x05\x7b\xa9" -+"\xa3\x85\xab\x1b\xf7\x03\xd4\xce\xf7\x2e\xc3\x1f\xf7\x20\xf8\x12\x05\xf7\x1d\x06\x0e\x39\xf8\xe1\xf8\xb4\x15\x90\xa4\x8d\x96\x99" -+"\x1a\xdc\x4b\xbb\x20\x41\x4b\x74\x62\x5f\x1e\x62\x66\x73\x58\x5c\x1a\x63\x97\x6e\xa5\x70\x1e\x57\x6a\x7c\x7f\x76\x73\x08\x71\x6d" -+"\x7e\x65\x5f\x1a\x64\x9f\x67\xad\x74\x1e\xf7\x2a\x27\x05\xbd\x6c\x90\x85\x70\x1a\x61\x64\x6b\x58\x61\x74\x9e\xaf\x95\x8c\x92\x8d" -+"\x9c\x1e\xfb\x17\x06\x84\x71\x89\x7d\x78\x1a\x34\xcf\x54\xf7\x00\xe3\xd3\xaa\xc6\xbd\x1e\xad\xb4\x9f\xbd\xba\x1a\xb5\x7c\xa9\x6a" -+"\xa6\x1e\xe7\xad\xb1\xbe\xe6\x1a\xbb\x76\xae\x5b\xa9\x1e\xfb\x04\xd1\x05\x58\xaa\x77\xa0\xa1\x1a\xaf\xab\xa5\xb6\xb3\xa1\x76\x65" -+"\x87\x8b\x84\x8a\x84\x1e\xfb\x60\xfb\xbd\x15\x6e\x9c\x81\x9a\xa1\x1a\xae\x9d\xa5\xb1\x9f\x1e\xf7\x13\x3f\x05\xae\x76\x96\x7d\x73" -+"\x1a\x6a\x79\x75\x5c\x75\x1e\x0e\x39\xf8\x89\xf8\xa4\x15\x9d\x72\x66\x97\x68\x1b\x63\x60\x7f\x78\x68\x1f\x4e\xd8\x38\x47\xc9\x3c" -+"\x05\x68\x61\x77\x54\x58\x1a\x75\x8e\x7a\x93\x73\x1e\x2d\x3e\xc1\x46\xe9\xd9\x05\x79\xa0\xb7\x7e\xb1\x1b\xb0\xa2\x91\xa3\xbb\x1f" -+"\xc6\x40\xde\xcf\x4f\xd7\x05\xaf\xb9\x9f\xc1\xbe\x1a\x9f\x88\x9b\x84\xa3\x1e\xe6\xd6\x55\xd0\x05\xfb\x69\xfb\x21\x15\xbe\xae\x68" -+"\x59\x42\x53\x52\x43\x58\x68\xad\xbe\xd5\xc3\xc3\xd3\x1f\x0e\xfc\x24\xf7\xeb\xf9\x6d\xe1\x1d\xc2\x06\xd1\xf7\x15\x05\x0e\xfb\x1e" -+"\xf7\xc6\x89\x0a\xf7\xfe\x16\xa6\xf7\x11\x05\x3a\x06\x94\xbd\xab\xa8\xc5\x95\x95\xb9\x18\x32\x84\x4b\x52\x7d\x34\x74\xfb\x01\x18" -+"\x0e\x39\xf7\x1b\xf7\x6e\x53\x0a\xf7\x51\xfb\x06\x53\x0a\x0e\xfb\xc5\xf7\x14\xf7\x6e\x53\x0a\x0e\xfb\xc5\xf7\xd3\xb0\x1d\x0e\x70" -+"\xf8\x3d\xf8\xa5\x37\x0a\xf7\x8e\xf3\xa1\x1d\x70\xf8\x3d\xf8\xa5\x37\x0a\xf7\xb6\xf7\xb9\xd2\x1d\x39\xf9\x04\xf7\xcb\x15\xfc\xcb" -+"\x06\x75\x23\x05\xf8\xcb\x06\x0e\x39\xf9\x06\xf8\x79\x15\xfb\x47\x06\xba\xf7\x74\x05\xfb\x19\x06\x5b\xfb\x74\x05\xfb\x47\x06\x72" -+"\xfb\x08\x05\xf7\x47\x06\xfb\x0b\xfc\xc7\x05\xf7\x1a\x06\xf7\x0b\xf8\xc7\x05\xf7\x47\x06\x0e\x39\xf9\x03\xf8\x79\x15\xfb\x47\x06" -+"\xbb\xf7\x74\x05\xfb\x1a\x06\x5b\xfb\x74\xd8\x1d\xfb\x73\xd8\x1d\xfb\x74\x05\xf7\x1a\x06\xbb\xf7\x74\x05\xf7\x46\x06\xa4\xf7\x08" -+"\x05\xfb\x47\x06\xbb\xf7\x73\x05\xf7\x46\x06\x0e\x55\x0a\x39\xf9\x40\x22\x1d\xfb\xc2\x06\x4a\x53\x71\x55\x58\x1f\x52\x4e\x6b\x3f" -+"\x3e\x1a\x29\xca\x4a\xef\x86\x1e\x2a\xfc\x5e\x05\xed\x06\xf7\x48\xf9\xe3\x05\xc9\x06\xfb\x48\xfd\xe3\x05\xed\x06\xf7\x48\xf9\xe3" -+"\x05\xb7\x06\x0e\xfb\xb4\xf7\x96\xf8\x3d\x15\x3d\x46\x46\x3e\x4f\xb8\x5f\xc8\xd9\xd3\xd1\xd7\xc6\x5c\xb8\x4d\x1f\x0e\xe7\xf7\x11" -+"\x86\x0a\xe9\x92\xc9\xc3\x97\xe3\xa2\xf7\x01\x18\x0e\xfb\x1e\xe7\xf7\x11\xa8\x1d\xef\xa3\x1d\xfb\x1e\xf7\x78\xf9\x6d\xa8\x1d\xec" -+"\xa3\x1d\x39\xf7\xda\xb0\x1d\xf7\x7b\xf7\x07\x15\xfb\x1c\xf7\x26\x73\xfb\x06\xdd\x32\xfb\x0c\x32\x72\xfb\x09\xf7\x5b\xf7\x28\x05" -+"\x0e\xf7\xfe\xf7\xa5\xf7\x26\x27\x1d\xf8\x00\xf7\x26\x27\x1d\xf8\x00\xf7\x26\x27\x1d\x0e\xf7\xfe\xf9\x22\xf9\x76\x15\xfc\xda\xfd" -+"\x8b\x05\xcd\x06\xf8\xdb\xf9\x8b\x05\xfc\x29\x8c\x15\x2c\x34\x35\x2e\x48\xbf\x59\xd2\x67\x1d\x7a\x3d\x15\xae\xa5\x73\x6b\x5e\x63" -+"\x64\x5e\x68\x71\xa2\xaa\xb8\xb4\xb4\xb7\x1f\xf7\x79\xfc\x15\x15\x2d\x34\x35\x2e\x48\xbf\x59\xd1\x67\x1d\x7b\x3d\x15\xae\xa4\x73" -+"\x6a\x5f\x63\x64\x5e\x69\x71\xa2\xaa\xb8\xb3\xb4\xb8\x1f\xf8\x15\xd9\x15\x2d\x34\x35\x2e\x48\xbf\x59\xd1\x67\x1d\x7b\x3d\x15\xae" -+"\xa4\x73\x6a\x5f\x63\x64\x5e\x69\x71\xa2\xaa\xb8\xb3\xb4\xb8\x1f\x0e\x70\xf7\xca\xf7\xe7\x15\x7d\x49\x82\x7f\x47\x62\x43\x5f\x67" -+"\x6b\x75\x67\x08\x74\x64\x7d\x58\x5f\x1a\xfb\x02\xde\x47\xf7\x18\xe1\xd1\xa8\xc5\xc0\x1e\xb2\xb6\xa1\xbc\x9e\xdf\x08\xfb\x1c\x06" -+"\x34\x7b\x59\x57\x48\x1b\x55\x65\xaf\xbe\x9f\x91\xa0\x95\x9e\x1f\x9a\xa5\x96\x95\xc2\xb1\xe9\xcd\xb2\xc2\x92\xd8\x08\xfb\x12\xc2" -+"\xd7\x1d\xfb\xc5\xf7\x43\x4c\x1d\x0e\xfb\xc5\xf8\x6f\x30\x1d\x0e\xfb\xc5\xf7\xa6\xf9\x89\x29\x1d\xfb\xc5\xf8\x52\xf9\x7c\x41\x0a" -+"\xfb\xc5\xf8\x67\xf9\x66\x2d\x0a\xfb\xc5\xf8\x31\xf9\x86\x53\x1d\xfb\xc5\xf8\x0d\xf9\x79\x3b\x0a\xfb\xc5\xf7\xaf\xf9\x79\x38\x1d" -+"\xfb\xc5\xf7\xda\xf9\x99\x2e\x1d\x0e\xfb\xc5\xf7\x2e\x16\x47\x21\xbc\x0a\x6d\x78\x65\x6f\x56\x1d\x63\x7c\x7f\x89\x87\x7b\x1f\xb4" -+"\xc9\x05\x0e\xfb\xc5\xf7\xca\x8a\x0a\xfb\xc5\xf7\x42\x16\x62\x7a\x78\x82\x73\x7a\x08\x61\x6e\x72\x60\x61\x1a\x5c\xbe\x6e\xde\xa5" -+"\x9e\x8d\x92\xab\x1e\x95\xbf\x05\x83\x76\x74\x88\x70\x1b\x6a\x7a\x98\xa6\xa2\x96\xa4\xa2\xa8\x1f\x9e\xa3\x91\x8f\xcd\xb1\x08\x0e" -+"\xfb\xc5\xf7\xee\xf8\xf6\x3a\x1d\xf7\xfe\xaa\x0a\xf7\xfe\x6c\x0a\x0e\xfb\xa0\xf8\x20\xf7\xea\x15\xfb\xaf\x27\x0a\xf7\xb0\x06\xb3" -+"\xf7\x27\x15\x82\x96\x88\x92\x94\x1a\x90\x8b\x8f\x8c\x8f\x1e\xb2\xf7\x48\x05\x8d\x96\x8c\x94\x93\x1a\xb8\x61\xa6\x43\x30\x56\x66" -+"\x40\x7a\x1e\xda\x06\xab\x95\x9d\x97\xb2\x1b\xaa\x98\x83\x7a\x7e\x83\x7e\x7f\x85\x1f\x7e\x85\x8b\x8b\x60\x85\x69\x85\x18\x41\x80" -+"\x5b\x5a\x4c\x1a\x5b\xab\x6d\xbe\xb3\xaa\x98\xac\xaf\x1e\x89\x81\x8b\x89\x87\x1a\x85\x8c\x87\x8e\x85\x1e\xe7\x06\x41\xf7\x16\x15" -+"\x5b\x81\x6d\x6f\x62\x1b\x70\x7c\x95\x9f\xa7\xa1\x9f\xb1\x91\x1f\xa9\x91\x95\x8c\x05\x8c\x91\x8f\x8c\x8d\x1b\x92\x8d\x8d\x8c\x92" -+"\x8e\x08\x0e\x70\xf7\xe6\xf8\x39\x15\xcc\xf7\xc8\x28\x0a\x3c\xfc\x09\x27\x4e\x77\x2d\xef\xc8\x53\xfb\x9a\x05\xf8\x87\x21\x1d\xfb" -+"\xf1\x06\xb6\xf7\x5e\xf7\x4f\xf7\x02\x9f\xe9\x05\x0e\xf7\x20\x5e\x0a\x0e\xf7\xfe\xf9\x48\xf7\xce\x15\xf7\xbe\x21\x1d\xfb\xbe\x40" -+"\x0a\xf7\xda\x21\x1d\xfc\x6b\x06\x80\x57\x05\xb9\x66\x63\x9d\x49\x1b\x2d\x36\x62\x3a\x41\x1f\x38\x2f\x53\xfb\x29\xfb\x19\x1a\xfb" -+"\x35\xe9\x20\xf7\x22\xce\xb7\xa1\xc7\xc3\x1e\x7f\x50\x05\xf8\x7e\x25\x1d\xfb\xed\x06\xfb\x1f\xc0\x15\x57\x64\x66\x76\x55\x1b\x30" -+"\x56\xc9\xf6\xd1\x9e\xd6\xae\xca\x1f\xe2\xba\xcb\xb7\xd9\x1b\xc3\xac\x75\x58\x9e\x1f\x0e\xfb\xa5\xf8\x2e\xf7\xea\x15\xfb\xc1\x27" -+"\x0a\xf7\xc1\x06\x55\xf8\x67\x15\xfb\x06\x36\x2c\xfb\x14\x41\xbd\x5d\xda\xcb\xc0\xa4\xbc\xb0\x1f\xa8\xb0\x9e\xc7\xc0\x1a\xd5\x5a" -+"\xb8\x38\x1e\x7d\x47\x15\xaf\xa2\x70\x5f\x3e\x5e\x4b\x55\x68\x74\xa7\xb6\xd8\xb7\xcb\xc1\x1f\x0e\xf7\x8f\x6e\x1d\x0e\x2a\x1d\x0e" -+"\xf7\xbc\xf8\x47\x15\xca\xf7\xba\x22\x0a\x3f\xfb\xf5\x3f\x5c\x7a\x38\xd7\xbb\x4d\xfb\xba\x20\x1d\xd6\xf7\xf5\xd7\xb8\x9c\xdd\x05" -+"\x0e\x70\x73\x1d\x0e\xf7\xc6\xf9\xbd\xdd\x1d\xae\xbd\x9a\x8c\x96\x91\xa5\x1f\xf7\xfe\x06\x69\x1d\xba\x6f\xaf\x1e\xb8\x67\x52\xa3" -+"\x45\x1b\x3f\x42\x70\x5e\x5d\x1f\xb9\x69\x48\xa5\x3c\x1b\x25\x31\x5f\x3c\x4f\x1f\x5b\x4b\x6b\x28\x34\x1a\xfb\x0f\xde\x3f\xf7\x1a" -+"\xdc\xd8\xa6\xb9\xbf\x1e\x5f\xa7\xcd\x6e\xd5\x1b\xf7\x0b\xf7\x01\xcf\xf6\xc0\x1f\xfc\xcb\xf7\xb1\x15\xc9\xb1\x5e\x43\x5a\x7d\x56" -+"\x73\x61\x1f\x53\x6c\x5d\x6c\x57\x1b\x4f\x64\xb8\xd2\xf7\x13\xd6\xf4\xe6\x1f\xf8\x63\xfb\x0a\x15\xfb\x6c\x06\xd8\xa0\xb9\xb4\xcb" -+"\x1b\xc1\xaa\x6a\x52\x1f\x0e\x70\xf7\xfb\xf7\xf1\x15\x9a\x06\xd6\xb1\x6a\x4a\x5f\x77\x5f\x69\x6d\x1f\x6c\x70\x6f\x82\x54\x8a\x08" -+"\x7d\x06\x73\xfb\x04\x05\x86\xab\x9c\x89\x9e\x1b\xe5\xdb\xb8\xdc\xc2\x1f\xac\xbd\xa2\xd1\xc1\x1a\xd2\x67\xbc\x4d\x99\x1e\xd6\xa5" -+"\xba\xce\xd9\x1a\xe4\x3b\xc5\xfb\x0e\xfb\x20\x23\x48\x23\x75\x1e\xfb\x0b\xfc\xc2\x20\x1d\xf7\x06\xf8\xad\x05\xc0\x96\xad\xa6\xc3" -+"\x1b\xc3\xac\x73\x62\x6d\x7c\x6b\x72\x78\x1f\x79\x75\x6f\x82\x61\x1b\x0e\xfb\xc5\xf7\x98\xf8\xd1\x15\x4d\xfb\xb5\x05\xe9\x06\xe5" -+"\xf8\x3d\x05\x4c\x06\x59\x73\x59\x72\x3d\x1b\x7e\x4e\x05\x0e\x55\xf7\x14\xf8\x0c\x15\x72\xfb\x0c\x05\xf8\x15\x06\x67\xfb\x3e\x05" -+"\xf7\x0b\x06\xc8\xf7\xb6\x05\x0e\x70\xf7\x26\xfb\x70\x15\xbd\xf7\x7f\x05\x6f\xa4\xa4\x81\xb8\x1b\xc4\xaf\x99\xb4\xbb\x1f\x62\x9b" -+"\x9f\x7d\xba\x1b\xa7\x9f\x90\x98\xa5\x1f\x9d\xe1\x05\x88\x81\x87\x8a\x84\x1b\x7d\x84\x93\x9a\x96\x8d\x9b\x90\xa2\x1f\xde\xf8\x1a" -+"\x22\x0a\x43\xfb\xe6\x05\x4c\x7e\x57\x63\x48\x1b\x5c\x6e\xa3\xb1\x94\x8e\x9d\x8f\x9e\x1f\xd2\xf7\xe1\x22\x0a\xfb\x36\xfd\x8c\x05" -+"\x0e\xf7\xfe\xf8\x51\xf9\x1d\x15\xf7\x19\x06\x9c\xdb\x05\xfc\x01\x27\x0a\xf7\x1d\x06\x3b\xfc\x0c\x05\xea\x06\xf8\x57\x16\xf7\x31" -+"\xf7\xf1\x41\xfb\xf1\x05\xe6\x06\xec\xf8\x5c\x05\xfb\x1d\x06\xfb\x32\xfb\xf3\x80\xf7\xf3\x05\xfb\x1e\x06\x2a\xfc\x5c\x05\xe6\x06" -+"\xd6\xf7\xf1\x95\xfb\xf1\x05\x0e\xdf\x7d\x1d\xf7\x58\xf7\x89\xae\x1d\xf8\xe0\xae\x0a\xa7\xfd\x0f\x15\xfb\x4c\x06\x99\x9d\x9e\x99" -+"\xd0\xb4\xbe\xc1\x1d\x4d\x52\x23\x7a\x1e\xe6\x06\xc5\x92\xa5\xaa\xb5\x1b\xac\x9e\x7a\x6e\x71\x80\x71\x76\x77\x1f\x78\x78\x75\x7d" -+"\x47\x62\x33\x59\x6b\x64\x76\x3a\x08\xf7\xc6\x06\x0e\x55\xf9\x0a\xf8\x58\x91\x0a\x68\xfb\x36\x05\xf7\x0b\x06\xae\xf7\x36\x05\xf7" -+"\x4b\x06\x5d\xfb\x69\x15\xfc\x78\x06\x72\xfb\x0b\x05\xf8\x78\x06\x0e\xa8\xf7\x94\xf7\x20\x15\xf7\x4f\x06\xda\xc4\xba\x1d\x49\x1b" -+"\xfb\x33\x06\xa5\xf7\x0c\x34\x0a\xc3\xf7\x9d\x15\xba\xf7\x6f\x05\xf7\x2d\x06\xc1\xaf\x6c\x5b\x6e\x80\x64\xc3\x0a\xf7\x58\xf7\x90" -+"\xae\x1d\xf8\xe3\xae\x0a\x9c\xfc\xb9\x15\x5d\x06\xc2\xf7\x97\x05\xfb\x00\x06\xfb\x6d\xfb\x98\x7b\x43\x05\xf7\x45\x33\x1d\xe9\x06" -+"\x9e\xe8\x05\xb9\x06\xfb\x0f\xd4\x15\x22\x06\xf7\x20\xf7\x3a\x05\x0e\x55\xcb\x1d\xfb\x9b\x5b\x15\x64\x66\x67\x64\x6f\xa0\x76\xa8" -+"\xb2\xb0\xae\xb1\xa9\x77\xa0\x6d\x1f\xd3\xf7\xe6\x15\x64\x66\x67\x64\x6f\xa0\x76\xa8\xb2\xb0\xaf\xb0\xa9\x77\xa0\x6d\x1f\x0e\xfb" -+"\xfa\xf7\xe3\xf9\x6d\x15\x3b\x06\x38\xfc\x19\x05\xdb\x06\x6b\xfb\x2b\x15\x3b\x06\x38\xfc\x19\x05\xdb\x06\x0e\xfb\x82\xf7\xcf\xf9" -+"\x42\x15\x38\x47\x47\x38\x38\xcf\x46\xdd\xe0\xcf\xce\xe0\xde\x47\xcf\x37\x1f\x8c\x4c\x15\xbb\xb3\x64\x5a\x59\x63\x64\x59\x5c\x63" -+"\xb3\xbb\xbc\xb3\xb3\xbc\x1f\x0e\x70\xf7\xf4\xf9\x6d\x23\x1d\xfb\x5d\xfe\x47\x9b\x0a\xf7\x5d\xf7\x12\x48\xdb\x21\x48\x53\x6e\x4f" -+"\x5d\x1f\xf7\x03\x74\xe9\x1d\x35\x56\x5f\x1d\xf7\x58\xf7\x80\x66\x0a\xf8\x90\xf7\x49\x15\xfc\xd9\xfd\x73\x05\xe0\x06\xf8\xd9\xf9" -+"\x73\x05\x8f\xfc\xb9\x15\x5d\x06\xc2\xf7\x97\x05\xfb\x00\x06\xfb\x6e\xfb\x98\x7c\x43\x05\xf7\x45\x33\x1d\xe8\x06\x9f\xe8\x05\xb9" -+"\x06\xfb\x0f\xd4\x15\x21\x06\xf7\x20\xf7\x3a\x05\x0e\xfb\xc5\xf8\x1b\xf8\x00\x15\xfb\x4c\x06\x98\x9d\x9f\x99\xcf\xb4\xbf\xc1\x1d" -+"\x4c\x52\x23\x7b\x1e\xe6\x06\xc5\x91\xa5\xaa\xb6\x1b\xac\x9e\x7a\x6e\x71\x7f\x71\x77\x77\x1f\x78\x78\x76\x7d\x45\x62\x34\x59\x6b" -+"\x64\x76\x3a\x08\xf7\xc6\x06\x0e\xee\xf7\xf8\xf7\xcd\x15\xe6\x06\xaf\x9c\x80\x73\x85\x89\x83\x87\x7a\x1f\x83\x6a\x85\x6c\x7c\x1a" -+"\x82\x8c\x85\x8f\x7e\x1e\xf1\x06\x90\xa0\x05\x82\x91\x88\x91\x94\x1a\x8c\x98\x05\x97\xd2\x8e\xa0\x9c\x1a\xa1\x80\x99\x6f\x98\x1e" -+"\xcb\xa8\xac\xba\xcb\x1a\xc6\x6a\xa9\x49\x1e\xfb\x82\x06\x2d\xfc\x4e\x05\xeb\x06\xc1\xf7\x92\x15\xa2\xf7\x00\x05\xf1\x06\xb3\x9a" -+"\x82\x73\x78\x84\x73\x82\x80\x1f\x7c\x80\x79\x85\x6a\x1b\xc2\xf7\xf1\x15\xfb\x8a\xb1\x0a\xf7\x8b\xf7\x79\xf7\x72\xf7\x84\xf7\x43" -+"\xfb\x15\xf7\x14\x9c\x0a\xfb\x20\x25\xf3\xf7\x21\xf7\x57\xf7\x4b\xf7\x49\xf7\x58\x1f\x0e\x55\xcb\x1d\x0e\x70\xf7\xf7\xf8\xf5\x15" -+"\xb1\x70\xae\x65\xa3\x62\x08\xa0\x65\x77\x91\x6b\x1b\x45\x48\x6d\x58\x5e\x1f\x50\x48\x65\x21\x29\x1a\xfb\x12\xde\x40\xf7\x1f\xf3" -+"\xe1\xb4\xda\xc5\x1e\xbf\xd0\xa7\xe3\xe6\x1a\xf7\x14\x5a\xdf\xfb\x16\xec\x1e\xe8\xb4\x60\xb6\x23\x5e\x85\x8f\x86\x8d\x89\x8d\x19" -+"\x6f\x9b\x7a\x95\x7e\x92\x73\x95\x19\x45\x59\xb1\x73\x91\x87\xa5\x79\x19\x33\x62\xb4\x60\x05\xf7\x15\xfb\x19\x15\xa3\xa6\x82\x7d" -+"\x9f\x1f\xa2\x7a\x95\x72\x63\x1a\xfb\x1c\x45\x26\x2c\x73\x73\x94\x9a\x78\x1e\x75\x9e\x81\xa8\xb8\x1a\xbd\x98\xc1\xa3\xb4\x1e\xbf" -+"\xa8\xb6\xa7\xbe\x1b\x0e\x55\xf8\x98\xf8\x50\x15\xfb\x31\xfb\x15\x26\xf7\x15\x25\x36\xf0\xfb\x14\xfb\x2f\xfb\x14\xcd\x37\xf7\x2f" -+"\xf7\x14\xf0\xfb\x15\xf1\xdf\x26\xf7\x15\xf7\x31\xf7\x15\x05\x0e\xfb\xc5\xf7\x74\x66\x0a\x0e\xee\xf9\x18\xf8\x43\x15\x8d\x9c\x8c" -+"\x92\x94\x1a\xd8\x4e\xbe\x2e\x3f\x48\x6a\x4e\x5b\x1e\x60\x54\x70\x3b\x3f\x1a\x28\xc7\x4f\xed\xf7\x06\xe1\xcb\xf4\xa7\x1e\x2f\x06" -+"\x53\x79\x63\x6d\x52\x1b\x53\x6d\xac\xc8\xbc\x9b\xc1\xa4\xb1\x1f\xb5\xa8\xb0\xa0\xb9\x1b\xc0\xa2\x73\x55\x1f\x73\xf7\xcc\x15\xfb" -+"\x8b\xb1\x0a\xf7\x8c\xf7\x79\xf7\x72\xf7\x84\xf7\x44\xfb\x15\xf7\x13\x9c\x0a\xfb\x21\x25\xf2\xf7\x22\xf7\x57\xf7\x4b\xf7\x49\xf7" -+"\x59\x1f\x0e\xdf\x24\x0a\xf7\x7b\xf8\x11\x2b\x0a\xdf\x24\x0a\xa7\xf8\x11\x29\x1d\xdf\x24\x0a\xb2\xf8\x01\x38\x1d\xdf\x24\x0a\x3f" -+"\xf8\x11\x3d\x0a\xdf\x24\x0a\xdd\xf8\x22\x2e\x1d\x0e\xdf\x24\x0a\xf7\x5e\xf8\x04\x15\x69\x7d\x79\x7b\x75\x1b\x7f\x88\x8c\x93\x79" -+"\x1f\x59\xa0\x05\x9b\x67\x82\x8d\x71\x1b\x54\x61\x61\x3f\x73\xb9\x1d\xa1\x86\x9b\x4a\x1d\xdf\xf8\x19\x74\x15\xf7\x44\x8c\xf7\x1c" -+"\xf3\xb4\xf7\x3b\x08\xfb\x23\x06\x2f\x6e\x44\x57\x2a\x1b\x2a\x5a\xc1\xf5\xdd\x51\x0a\xf7\x21\x06\x8e\xa5\x8c\x96\x97\x1a\xf7\x12" -+"\x22\xdf\xfb\x2f\xfb\x0f\x20\x56\x26\x3a\x1e\x44\x33\x5f\xfb\x1b\xfb\x15\x1a\xfb\x25\xe7\x26\xf7\x21\x80\x1e\x54\x37\x05\xb6\x0a" -+"\x66\x6e\x74\x92\xa2\x5b\x1f\x6d\x58\x05\x74\xc5\xa9\x85\xb8\x1b\xe7\xc6\xb5\xcc\xaf\x73\xa0\x63\x7b\x7f\x89\x86\x7c\x1f\x0e\xa8" -+"\x26\x0a\xf8\x37\xf9\xbf\x2b\x0a\xa8\x26\x0a\xf7\x82\xf9\xbf\x39\x0a\xa8\x26\x0a\xf7\x8a\xf9\xaf\x38\x1d\xa8\x26\x0a\xf7\x24\xf9" -+"\xbf\x3d\x0a\x25\x0a\xf7\xa8\x56\x0a\x25\x0a\xd6\xfa\x3c\x29\x1d\x25\x0a\xdf\xfa\x2c\x38\x1d\x25\x0a\x6b\xfa\x3c\xbb\x0a\xdf\x30" -+"\x0a\xa1\xfa\x2f\x15\x69\x7d\x79\x7b\x74\x1b\x80\x88\x8c\x93\x79\x1f\x59\xa0\x05\x9b\x67\x82\x8d\x71\x1b\x54\x60\x61\x3f\x74\x1f" -+"\xc1\x06\xad\x9c\x9b\x9a\x9d\x1b\x93\x9e\x85\x82\x9c\x1f\xbd\x72\x05\x85\x98\xa0\x86\x9c\x4a\x1d\xf7\x20\xf9\x70\xdb\x1d\x67\x5e" -+"\x15\xfb\x10\x26\x5b\x29\x39\x1f\x3d\x2e\x39\x1d\x21\xf4\xfb\x4c\xaf\x0a\x4f\x1f\x44\x59\x4c\x69\x3e\x1b\x25\x4d\x2f\x1d\x0e\xf7" -+"\x20\xf8\xb1\xfa\x3c\x46\x1d\xfb\x03\x7c\x1d\xf7\x20\xf8\xba\x45\x1d\xfb\x40\x50\x51\x1d\x0e\xf7\x20\xf8\x56\xfa\x3c\x3e\x0a\x6c" -+"\x7c\x1d\xf7\x20\xf8\xae\xf9\x79\x51\x1d\xf7\x57\xf7\xca\x15\x69\x7e\x79\xb3\x1d\x74\x1f\xc1\x06\xac\x9b\x9b\x9b\x83\x0a\xa8\xf8" -+"\xad\xf9\xa9\x3a\x0a\xd2\xfb\x27\x05\xf7\xb4\xfb\xae\x74\x1d\x0e\xdf\xf9\x48\xfa\x3c\x4d\x1d\xf7\x11\x52\x41\x1d\xdf\xf8\x98\xfa" -+"\x3c\x46\x1d\xae\xfb\x63\x41\x1d\xdf\xf8\x9b\x45\x1d\x77\x44\x41\x1d\xdf\xf8\x42\xfa\x3c\x61\x1d\xf7\x02\xfb\x63\x41\x1d\xa8\x2c" -+"\x0a\xf7\x8d\x56\x0a\xa8\x2c\x0a\xd7\x45\x1d\x0e\x70\x36\x1d\xfb\x4b\xf7\x4d\x15\xf7\x1f\xf7\x27\x05\x3e\x06\x25\x2a\x4e\xec\x05" -+"\x3d\x06\xd2\xfb\x27\x05\x0e\x39\xf8\xdf\x30\x1d\xed\xfc\xe2\x3f\x1d\x39\xf8\x16\xf9\x89\x46\x1d\xac\xfd\x78\x3f\x1d\x39\xf8\x1f" -+"\x52\x0a\x6f\xfc\xf0\x3f\x1d\x39\xf7\xc3\x4c\x1d\xf4\xfd\x78\x3f\x1d\x39\x2d\x1d\xac\xf8\x9a\x2e\x1d\x0e\x39\x2d\x1d\xf7\x2a\xf8" -+"\x7d\x41\x0a\x39\xf7\xb4\x74\x15\xf7\x13\x88\xf6\xdd\xb2\xf7\x17\x08\x57\x1d\xf7\x1a\x06\x8e\xa3\x8c\x94\x95\x1a\xb5\x7a\xb3\x6c" -+"\xaa\x1e\xb1\x65\x5d\x9c\x48\x1b\x2d\x42\x6c\x4b\x56\x1f\x50\x45\x61\xfb\x09\x2d\x1a\x43\xaf\x48\xc2\x6d\x1e\x9e\x81\x9d\x85\xaf" -+"\x84\x52\x34\x18\xb6\x0a\x65\x6e\x75\x92\xa3\x5b\x1f\x6d\x57\x05\x75\xc4\xaa\x84\xb8\x1b\xe7\xc6\xb5\xcc\xaf\x73\xa0\x63\x7b\x7f" -+"\x89\x87\x7c\x1f\x0e\x39\xf8\xc6\x30\x1d\xf7\x3d\xfc\x11\x42\x1d\x39\xf8\x0e\xb4\x1d\xe3\xfc\xa7\x42\x1d\x39\xf8\x1c\xf9\x79\x2e" -+"\x0a\xf7\x67\xf7\x0c\x2e\x0a\x9f\xfc\x1f\x42\x1d\x39\x76\x1d\x2a\x1d\xf7\x85\x30\x1d\x0e\x2a\x1d\xb3\xf9\x89\x29\x1d\x2a\x1d\xbc" -+"\x52\x0a\x0e\x2a\x1d\x4f\x4c\x1d\x0e\x70\x34\x1d\xf7\xa6\xf7\x60\x41\x0a\x70\xf8\xeb\x30\x1d\x6f\x51\x15\x23\x32\x5f\x3c\x50\x1f" -+"\x5b\x4b\x6c\x28\x35\x1a\xfb\x0e\xdf\x3d\xf7\x19\xf7\x00\xe2\xb5\xdc\xc8\x1e\xbb\xca\xaa\xee\xe2\x1a\xf7\x10\x37\xd7\xfb\x1d\x1e" -+"\x75\xfb\x04\x54\x1d\x0e\x70\xf8\x33\x99\x0a\xfb\x01\x6d\x0a\x70\xf8\x39\x52\x0a\xfb\x3c\x43\x15\x23\x32\x5f\x3c\x50\x1f\x5b\x4b" -+"\x6c\x28\x35\x1a\xfb\x0e\xdf\x3d\xf7\x19\xf7\x00\xe2\xb5\xdc\xc8\x1e\xbb\xca\xaa\xee\xe2\x1a\xf7\x10\x37\xd7\xfb\x1d\x1e\x75\xfb" -+"\x04\x54\x1d\x0e\x70\xf7\xdb\xf9\x89\xa7\x0a\x5f\xf7\x2a\x05\x69\x6d\x0a\x70\x36\x0a\xf7\x56\xf7\xc7\x15\x69\x76\x76\x7a\x74\x1b" -+"\x80\x88\x8c\x94\x7a\x1f\x5e\xa0\x05\x99\x6e\x7d\x8e\x73\x1b\x54\x57\x61\x40\x64\x1f\xc1\x06\xac\xa2\x9e\x9a\x9d\x1b\x93\xa0\x84" -+"\x84\x98\x1f\xb8\x72\x05\x84\x96\x9f\x87\x9c\x1b\xcb\xc5\xb7\xd9\xb0\x1f\x0e\x39\xf8\x5e\xf8\xf6\x3a\x0a\xd2\xfb\x27\x05\xf7\x7e" -+"\xfb\x88\x63\x0a\x0e\x70\xf8\xdf\xf9\x89\x15\xfb\x13\x06\x26\xfb\x2a\x05\xd1\x06\xf7\x04\xfc\xf3\x42\x0a\x70\xf8\x2a\xb4\x1d\xa7" -+"\xfd\x89\x42\x0a\x70\xf8\x38\xf9\x79\x2e\x0a\xf7\x67\xf7\x0c\x2e\x0a\x63\xfd\x01\x42\x0a\x70\xf7\xd9\xf9\x89\x3e\x0a\xec\xfd\x89" -+"\x42\x0a\x39\x72\x0a\x34\xf7\x6d\x2b\x0a\x39\x72\x0a\xfb\x94\xf7\x5d\x45\x0a\xfb\x1e\x44\x1d\xfb\x09\xf7\x4b\x9a\x0a\xfb\x86\xf7" -+"\x42\xf8\xf5\x15\x46\xfb\xd9\x05\xe8\x06\xb2\xf7\x4b\x05\xbb\x96\xa8\xa7\xb4\x1b\xa7\x9a\x7c\x6e\x83\x8a\x83\x89\x80\x1f\x63\xfb" -+"\x50\x05\xe8\x06\xb9\xf7\x6d\x05\x8e\x96\x8c\x97\x95\x1a\xbb\x64\xac\x53\x64\x66\x7c\x70\x70\x1e\x87\x86\x94\xb4\x05\x0e\xa7\x4b" -+"\x0a\x0e\xf7\xc5\x4b\x0a\xf7\x8e\xf3\xa1\x1d\xf7\xc5\x4b\x0a\xf7\xb6\xf7\xb9\xd2\x1d\xf7\x58\xf9\x60\x32\x0a\xfc\xbe\xfb\x22\x15" -+"\x4d\xfb\xb5\x05\xe9\x06\xe5\xf8\x3d\x05\x4c\x06\x59\x73\x59\x72\x3d\x1b\x7e\x4e\x05\xf9\x1c\xfb\xe9\x6a\x0a\x0e\xf7\x58\xf9\x81" -+"\x32\x0a\x64\xfc\x77\x15\xc1\xab\xa2\xac\xb8\x1a\xc1\x5b\xb1\x45\x33\x43\x4d\x40\x71\x95\xaf\x1d\x53\xf7\x1b\x15\xac\xa1\x7a\x71" -+"\x64\x69\x6d\x61\x6c\x77\x9d\xa6\xb1\xaa\xa8\xb4\x1f\x69\xfb\x3d\x15\xac\xa0\x78\x6c\x57\x6a\x66\x5c\x6a\x73\x9f\xa7\xbe\xb0\xb3" -+"\xb9\x1f\xfc\x63\xf7\xa5\x15\x8c\x90\x8e\x8b\x90\x1b\xc0\xa2\x7c\x69\x62\x6a\x6a\x63\x66\x78\x9b\xaa\x91\x8b\x8f\x8d\x93\x1f\x30" -+"\x06\x88\x7b\x8a\x82\x80\x1a\x47\xbb\x64\xde\xf7\x01\xd6\xd0\xee\xab\x7d\xa2\x6e\x9d\x1e\xba\xa8\xa3\xb1\xb9\x1a\xc6\x5c\xad\x3a" -+"\x27\x57\x5e\x25\x77\x1e\xe2\x06\xc3\x97\x9c\x9e\xb2\x1b\xa6\x9d\x7b\x73\x76\x82\x78\x7c\x7e\x1f\x7b\x7d\x7a\x87\x63\x8a\x08\x0e" -+"\xf7\x58\xf9\x74\x32\x0a\x71\xfc\x77\x15\xc2\xd1\x1d\x95\x7a\xa8\x75\x1e\x4c\xc6\x1d\x66\xa1\x1e\x53\x96\x1d\xfb\x91\xf8\xa3\x15" -+"\xfb\x79\x06\x33\xfb\x81\x05\xd6\x06\xa0\x99\xa0\x96\xa5\x1b\xae\x9e\x77\x68\x4e\x67\x5e\x5a\x6b\x76\x9a\xa2\x8e\x8c\x91\x8c\x90" -+"\x1f\x38\x06\x89\x7f\x8a\x85\x83\x1a\x4f\xbb\x64\xd3\xf4\xde\xe1\xf7\x00\xcd\x63\xb4\x4a\x6e\x74\x84\x79\x6f\x1e\xab\xe3\x05\xf7" -+"\x46\x06\x0e\xf7\x58\xf9\x5d\x32\x0a\x7f\xfc\x77\x6a\x0a\xfb\x51\xf8\xa2\x15\xfb\xc1\x06\x7b\x40\x05\xf7\x68\x06\xfb\x09\xfb\x05" -+"\x50\x2f\x5b\xfb\x25\x08\xe0\x06\xab\xf7\x06\xba\xde\xe3\xec\xb0\xb2\xa0\xa0\x90\x90\x08\x0e\xf7\xfe\x6c\x0a\xf7\xdc\xf7\xe0\x2b" -+"\x1d\xdf\x24\x0a\xf7\x3b\xf8\x0f\xbc\x1d\x7e\x5c\x1d\xdf\x24\x0a\x0e\xdf\x24\x0a\xfb\x3b\xf7\x42\x26\x1d\xdf\x24\x0a\xf7\x73\xf7" -+"\xee\x2d\x0a\xdf\xf8\xa8\xf7\x27\x15\x9d\xfb\x27\x05\xd6\x06\x5f\x7c\x77\x81\x73\x79\x08\x60\x6c\x72\x62\x63\x1a\x59\xc5\x1d\x71" -+"\x1b\x65\x7a\x98\xa9\xbd\xc3\xc5\xd9\xab\x1f\x2a\xf9\x6d\x05\xfb\x41\x06\xfc\x2b\xfd\x6d\x05\xf7\x2d\x06\xdc\xf7\x27\x05\xf7\x96" -+"\xf7\x11\x15\xfb\x51\x06\xf7\x2e\xf7\xaf\x05\x0e\xdf\x24\x0a\xd2\xf8\x22\x2e\x1d\xc0\xf7\x3e\x2b\x0a\xdf\x78\x1d\xdf\x69\x0a\xdd" -+"\xf8\x5a\x15\xfb\x1a\x06\x2d\xfb\x2a\x05\xca\x06\x0e\xdf\x69\x0a\x65\xf7\xc7\x3a\x1d\xdf\x7e\x1d\xfb\x19\xf8\x5b\x39\x0a\xdf\xf9" -+"\xa4\xf8\x76\x15\x8d\x9b\x8d\x9d\x91\x1a\xc5\x75\xbe\x61\xb5\x1e\xb9\x5b\x4e\xa1\x3a\x1b\xfb\x17\xfb\x09\x54\x2c\x47\x1f\x4a\x33" -+"\x5e\xfb\x22\xfb\x04\x1a\x47\xa3\x46\xb4\x58\x1e\x51\xb9\xc8\x71\xe3\x1b\xf5\xef\xae\xc6\xca\x1f\xbc\xb9\xab\xc2\x9f\xd8\x08\xfb" -+"\x27\x06\x31\x6f\x40\x53\x31\x1b\x2f\x5b\xbe\xee\xe8\xa5\xe6\xb9\xcc\x1f\xd5\xc0\xc8\xb0\xd2\x1b\xce\xb6\x70\x5a\x96\x1f\x8f\x7a" -+"\x8c\x83\x6d\x1a\x71\xf8\x4c\x49\x1d\xa8\x78\x0a\xdf\x73\x0a\xf7\x33\xf9\x2c\x3a\x0a\xd3\xfb\x27\x05\x0e\xdf\x7d\x1d\x71\x8f\x16" -+"\xf8\xf0\x06\xfb\x97\xf9\x0a\x05\x33\x06\xb7\x25\x15\xf7\x4b\xfc\x5b\x05\xfc\x01\x06\x0e\xa8\x26\x0a\xf8\x0a\xf9\xbd\x53\x1d\xa8" -+"\x26\x0a\xf7\xc7\xf9\x2c\x3a\x1d\xa8\x26\x0a\xf7\xe4\xf9\xad\x3b\x0a\xa8\x26\x0a\xf8\x42\xf9\x9c\xe8\x1d\x0e\xe0\xd6\x16\x23\x0a" -+"\xf3\xf8\x7c\x05\xe6\x9e\xc2\xb3\xf4\x1b\xd3\xac\x74\x58\x7d\x89\x7e\x87\x76\x1f\xfb\x09\xfc\xba\x05\x6c\x84\x7d\x7f\x6c\x1b\x7d" -+"\x85\x8c\x8d\x87\x1f\x71\xfb\x0c\x05\x87\x99\x99\x8a\xa3\x1b\xf7\x09\xc3\xaf\xe3\x9d\x1f\xf7\x1e\xf9\x1c\x05\x8f\x9e\x8d\x9d\x9d" -+"\x1a\xdf\x45\xbb\xfb\x10\x2d\x51\x73\x48\x49\x1e\x9d\xdd\x28\x0a\x0e\xa8\x99\x1d\xf8\x6c\x06\x5f\x7c\x77\x81\x73\x79\x08\x5f\x6c" -+"\x73\x62\x62\x1a\x5a\xc5\x1d\x70\x1b\x66\x7a\x97\xa7\xbd\xb1\xb5\xe6\xbe\x1f\xbf\x0a\x0e\xa8\x26\x0a\x0e\xf7\x6c\xf8\x43\xf7\xce" -+"\x15\xf7\xf1\x25\x1d\xfb\xf0\x40\x0a\xf8\x0e\x25\x1d\xfc\xa4\x9f\x1d\x39\xf8\xf0\x26\x1d\xdf\x8e\x1d\xf7\xa0\xf9\x61\xf7\xdf\x15" -+"\x44\x7f\x0a\xd2\xf7\xdf\x05\xfb\x12\xf8\x22\x26\x1d\x39\xc7\xf7\xd2\x15\x64\x47\x05\xd4\x06\x8c\x47\x93\x5a\x9f\x5e\x08\x4a\xa9" -+"\xd5\x5d\xd9\x1b\xb3\xad\x92\xa6\xe2\x1f\xaa\xf7\x29\x05\x61\x34\x6e\x81\x62\x1b\x4f\x67\xbd\xe7\x84\x1f\xf7\x49\x06\xb1\xcf\x05" -+"\xfb\x6d\x06\x8f\xa1\x8f\x9e\x93\xa6\x08\xf7\x84\x06\xb2\xcf\x05\xfb\x8f\x06\xe7\xb5\xc4\xbb\xca\x1b\xb7\xad\x7a\x59\xbf\x1f\xd4" -+"\xf7\x15\x05\xc1\x4d\x67\x99\x44\x1b\xfb\x23\xfb\x11\x28\xfb\x3f\x41\x1f\x5b\x06\x64\x47\x05\xcb\x06\x83\x6f\x89\x80\x86\x6e\x08" -+"\x0e\x6f\xd9\x16\x23\x0a\xf7\x14\xf8\xf0\x05\xf7\xfe\x21\x1d\xfc\x94\x06\x0e\xf7\x20\x64\x0a\x6a\xfa\x3c\xbc\x1d\x7f\x1a\x4c\xe7" -+"\x1d\xf7\x20\x77\x1d\xfb\x44\xfa\x3e\x29\x1d\xf7\x20\x64\x0a\xfc\x18\x51\x15\x73\xfb\x04\x05\xce\x06\x85\x5e\x68\xc3\x1d\xf7\x20" -+"\xf9\xae\xcf\x1d\x63\x7d\x75\x6d\x6f\x08\x5c\x58\x52\x72\x53\x1b\x28\x4d\xcc\xf3\xdc\xa4\xdf\xb6\xc6\x1f\xd7\xc2\xcf\xb2\xd9\x1b" -+"\xbe\xb7\x7c\x70\xa4\x1f\x9c\x7a\x90\x7b\x90\x61\x08\xf7\x21\x06\x8c\x97\x8b\x92\x92\x1a\xc3\x70\xc4\x5d\xb4\x1e\xb7\x5a\x4c\xa0" -+"\x3a\x1b\xfb\x16\xfb\x0a\x57\x32\x43\x1f\x3f\x2e\x5d\xfb\x11\xfb\x03\x1a\x45\x9e\x4f\xb1\x55\x1e\x3e\xc2\xcc\x6a\xeb\x1b\xc2\xbf" -+"\x98\xa3\xba\x1f\xae\x9d\x9a\x99\xb0\xbb\x88\x2b\x18\xe5\x06\x38\xfa\x30\x49\x1d\xdf\xbd\x0a\xf7\x06\xf8\xad\x05\xce\x06\x9c\xdb" -+"\x05\x48\x06\xa3\xf7\x04\x05\xfb\x2b\x06\x74\xfb\x04\x05\xfb\xb5\x06\xa3\xf7\x04\x05\xfb\x2a\x4e\x1d\x48\x27\x0a\xce\x06\xfb\x06" -+"\xfc\xad\x20\x0a\xd1\xf7\xdf\x05\xf7\xd0\xf7\x11\x15\xfb\xb5\x06\x9c\xdc\x05\xf7\xb5\x06\x0e\xdf\xbd\x0a\xf7\x2f\xf9\x6d\x05\xfb" -+"\x2b\x06\x51\xfb\xa5\x05\xfb\xb4\x54\x0a\xf7\x6c\xf8\xf1\x39\x0a\xf7\x24\x25\x0a\xf8\x91\x22\x1d\xfb\x06\xfc\xaf\x05\x54\x7f\x68" -+"\x6d\x56\x1b\x64\x70\xa1\xab\x94\x8d\x97\x8d\x98\x1f\x9c\xd8\x28\x0a\x7b\x43\x05\x87\x75\x88\x73\x78\x1a\x2a\xd2\x50\xf7\x09\xce" -+"\xd0\x9d\xa7\xb6\x1e\xbc\xab\xae\xc5\x9c\xd8\xf7\x06\xf8\xaf\x18\x0e\xf8\x05\x33\x0a\xf7\x61\xfa\x3a\xbf\x1d\x82\x7d\x5c\x1d\x25" -+"\x0a\xf7\x43\xfa\x2a\x3b\x0a\x25\x0a\xf7\x91\xfa\x19\x15\xfb\xa5\x27\x0a\xf7\xa5\x06\x0e\xf8\x04\x60\x1d\xd7\x06\x31\x59\x61\x5b" -+"\x52\x1a\x5a\xb9\x6e\xd6\xa2\x99\x8d\x92\xad\x1e\x96\xbf\x05\x85\x79\x6f\x86\x7d\x1b\x6e\x7a\x9b\xa7\xb7\xbc\xca\xc7\xab\x1f\x0e" -+"\x25\x0a\x0e\x25\x0a\xdf\xfa\x2e\x44\x0a\xfb\x39\xf8\x97\x33\x0a\x54\xf9\x6d\x26\x1d\x25\x0a\xf7\x8f\xfa\x2f\xa9\x1d\x73\xb9\x1d" -+"\xa1\x86\x9b\x4a\x1d\x39\x70\x0a\x2e\xb1\x1d\xdf\x79\x0a\xdf\x7a\x0a\xdc\x4f\x8d\x0a\x70\x37\x1d\xf7\x81\xf9\xbf\x2b\x0a\xa8\x86" -+"\x16\xf7\x32\x06\xf7\xc4\xf8\xc1\xce\xfc\xc1\x05\xf7\x28\x06\x23\xf9\x6d\x05\xfb\x33\x06\x0e\x70\x37\x1d\xf7\x78\xf8\xf0\x31\x0a" -+"\x70\x37\x1d\x93\xfb\x4f\xa6\x1d\x70\x37\x1d\xf8\x09\xf7\xf3\x15\x2a\x0a\x6c\xfb\x26\x05\xf7\x29\x06\x0e\xf7\x57\x75\x0a\xdf\x30" -+"\x0a\xa8\xed\x1d\xd0\x06\x0e\xdf\x30\x0a\x37\xf9\xa9\x3a\x0a\xd3\xfb\x27\x05\x0e\xdf\x30\x0a\xfc\x09\x4f\xa6\x1d\xdf\x30\x0a\x0e" -+"\xf7\x20\xf8\xae\x67\x0a\xf7\x2a\xf7\xd5\x15\x60\x7b\x68\x75\x58\x1b\x5b\x88\x0a\xf7\x20\x7b\x1d\xf7\x1a\xf7\xd7\xea\x1d\xf7\xee" -+"\xf7\x27\xea\x1d\x0e\xf7\x20\x7b\x1d\xf7\x6a\xf7\xb4\x2d\x0a\xf7\x65\xf8\x38\x62\x0a\xfb\x22\xf9\x6d\xcd\x1d\xf7\x20\x7a\x1d\xf7" -+"\x62\xf8\xe3\x67\x0a\xfb\xc3\xf7\x08\x26\x1d\xf7\x20\x5e\x0a\xae\xf8\x0f\x2b\x1d\xf7\x4c\xf7\xee\x7d\x15\xf7\x11\x06\x9e\xe4\xd8" -+"\x8f\xc4\x9a\xc5\xab\x19\xf2\xc3\xcc\xf7\x02\xf7\x09\x1a\xf7\x16\x32\xe7\xfb\x28\xa2\x1e\x9e\xe4\x05\xfb\x11\x06\x78\x32\x43\x88" -+"\x54\x7d\x52\x6c\x19\xfb\x00\x52\x48\x20\xfb\x09\x1a\x37\xb5\x3e\xd1\x5f\x1e\xb0\x73\xac\x80\xc1\x81\x08\xa4\xf7\x09\x15\x41\x9a" -+"\x61\xbe\xd8\x1a\xc9\xaa\xc9\xbe\xb0\x1e\xaa\xa1\xa5\x95\xbd\x92\x08\xf7\x11\x16\xd6\x7d\xb5\x58\x3e\x1a\x4c\x6c\x4e\x58\x66\x1e" -+"\x6c\x75\x71\x81\x58\x83\x08\x0e\xdb\xcb\x5a\x0a\xf7\xb4\x06\xfb\x14\xfc\xf0\x05\xf7\x2b\x4a\x0a\xfc\xe1\x06\x0e\xf7\x53\xf7\xe9" -+"\x16\xf7\x27\x06\xa7\xf7\x16\xf7\x58\x90\xe8\xd4\xb7\xf7\x4b\x19\x94\xb3\x93\xb3\x93\xb3\xba\xf7\x6e\x18\x2a\x0a\x5c\xfb\x6e\x6e" -+"\xfb\x20\x7f\x69\x6e\x6a\x19\x69\x6a\x65\x7b\x62\x1b\xf0\xf8\x6f\x05\xfb\x27\x06\x26\xfc\x6f\x05\x4e\x8c\x64\xb1\xc4\x1a\xa3\x8b" -+"\x8b\xa6\xf7\x1d\x1e\xba\xf7\x6e\x05\x2a\x0a\x5c\xfb\x6e\x05\x79\x36\x82\x4e\x69\x1a\x45\xb3\x4b\xcd\x67\x1e\xae\x77\xaa\x83\xbf" -+"\x88\x08\x0e\xdf\x3e\x1d\xf7\x42\xf8\x9e\x2b\x1d\xdf\x3e\x1d\xcc\xf8\x0b\x3a\x1d\xdf\x3e\x1d\xfb\x5d\xfc\x6e\x8d\x0a\xa8\x6e\x0a" -+"\xa8\x72\x1d\xd3\xf8\x41\x2b\x1d\xa8\xf7\xef\x74\x15\xf3\x8c\xd6\xa1\xc7\xbb\x08\xc8\xbb\xb3\xe1\xde\x98\x0a\xe1\xb9\xb3\x0a\xf7" -+"\x20\x06\x91\xa7\x8d\x99\x9f\x1a\xf7\x00\x2e\xcb\xfb\x33\x2a\x3f\x73\x59\x52\x1e\x52\x5a\x68\x40\x44\x1a\x38\xbd\x5f\xf7\x0b\x73" -+"\x1e\xed\x77\x05\xe6\x79\xa8\x77\x5c\x1a\x47\x48\x60\x22\x31\x57\xac\xc5\x8f\x8c\x94\x8c\x94\x1e\xfb\x26\x06\x88\x77\x8a\x81\x7d" -+"\x1a\x4c\xa7\x56\xbf\x67\x1e\xac\x74\xaa\x82\xd9\x7f\x54\x37\x18\x50\x0a\x7f\x89\x87\x7b\x1f\x0e\xa8\x5f\x0a\xfb\x0e\xf8\x41\x29" -+"\x1d\xa8\x72\x1d\xfb\xc5\xfc\xcb\x3c\x0a\x5f\x68\xa5\x0a\x5b\xa0\x16\xf8\xc7\x25\x1d\xfc\x0d\x06\xf7\xb3\xf7\x8e\xfb\x49\xf7\x7c" -+"\x05\xf7\xe6\x06\xa4\xf7\x0e\x05\xfc\x9f\x06\x73\xfb\x03\xf7\x4a\xfb\x7a\xfb\xb4\xfb\x95\x05\x0e\x70\x46\x0a\x0e\x70\xf8\x75\xf8" -+"\x57\x15\xac\xf7\x2d\x05\x5a\x1d\x6a\xfb\x2d\x05\xfb\x2d\x27\x0a\xf7\x2d\x06\x3c\xfc\x07\x20\x0a\xda\xf8\x07\x05\xf7\x2d\x06\x9c" -+"\xdb\x05\x0e\x70\x46\x0a\xf7\x26\xf9\xa9\x9a\x0a\x70\xf7\xf8\x16\xa8\x06\xf7\x15\xf8\xf0\x05\x5a\x1d\xfb\x15\xfc\xf0\x05\xd2\x06" -+"\x4d\x2b\x05\x96\xa4\x97\x8e\x9c\x1b\xa5\x9d\x7e\x77\x72\x6e\x78\x65\x6e\x76\x91\xa3\x5a\x1f\x6d\x57\x05\x75\xc6\xa7\x85\xb9\x1b" -+"\xe6\xc6\xb5\xcc\xaf\x73\xa0\x63\x7c\x7f\x89\x86\x7b\x1f\x0e\xf7\x20\xf8\xf7\xf8\x2b\x15\xfb\x9f\x06\x76\x29\x05\xf7\x9f\x06\x50" -+"\xf8\x44\x15\xfb\x09\x23\x5c\x32\x3d\x1f\x3e\x35\x5a\xfb\x16\xfb\x07\x1a\xfb\x46\xf7\x0c\xfb\x0b\xf7\x45\xf7\x0e\xf0\xba\xe8\xdd" -+"\x1e\xd6\xe1\xb8\xf7\x0e\xf7\x09\x1a\xf7\x4b\xfb\x07\xf7\x08\xfb\x4a\x1e\x7f\x3d\x1d\x4e\x1f\x45\x59\x4c\x69\x3e\x1b\x26\x4c\x2f" -+"\x1d\x0e\xdf\x4f\x1d\xfb\x44\xf7\x61\x9b\x1d\xdf\x4e\x0a\xfb\x5d\xf7\x63\x90\x0a\xdf\x4e\x0a\x25\xf7\x40\x2d\x0a\xdf\xf8\xcd\xfb" -+"\x40\x15\x83\x76\x73\x88\x71\x1b\x65\x79\x99\xa9\xa2\x95\xa2\xa1\xa9\x1f\xa1\xa9\x9b\x99\xc6\xba\xd9\xc6\xac\xbe\xa1\xec\xf4\xf8" -+"\x82\x18\xfb\x2a\x06\x22\xfc\x82\x05\x31\x78\x59\x63\x2f\x1b\x3e\x5e\xaa\xc1\x9a\x8d\x99\x8e\x9b\x1f\xf4\xf8\x82\x05\x2a\x0a\x26" -+"\xfc\x6e\x05\x84\x69\x87\x6c\x74\x1a\xfb\x09\xeb\x42\xf7\x2d\xac\xa1\x8e\x95\xbd\x1e\x61\x78\x71\x7b\x7b\x7c\x08\x6c\x6f\x7b\x69" -+"\x68\x1a\x5b\xbe\x6f\xe4\xa4\x9f\x8e\x91\xaa\x1e\x0e\xa8\x2c\x0a\x0e\xa8\x2c\x0a\xd4\xfa\x2e\x44\x0a\xf7\xb8\xf9\x29\xe6\x1d\xfb" -+"\x62\xfb\xcf\x39\xf7\xcf\x05\xfb\x3c\x06\xf7\x25\xfc\x5f\x52\xfb\xa2\x20\x0a\xfb\xa0\xf9\x6d\x26\x1d\xdf\x4e\x0a\xfb\x86\xf7\x74" -+"\x2e\x1d\x0e\xdf\x4f\x1d\xfb\x3d\xf7\x56\xa9\x1d\x74\x1f\xc1\x06\xad\x9b\x9b\x9a\x83\x0a\xf7\xc6\x35\x1d\xf7\x76\xdb\x1d\x0e\xf7" -+"\xc6\x35\x1d\x93\xfa\x3c\x39\x0a\xf7\xc6\x35\x1d\xa7\x45\x1d\x0e\xf7\xc6\x35\x1d\x45\xfa\x39\x3d\x0a\x9e\xad\x16\xf8\xe1\x21\x1d" -+"\xfc\xe1\x06\xd6\xf7\x51\x15\xf8\x93\x21\x1d\xfc\x93\x06\x90\xf7\x39\x15\xf8\xd6\x25\x1d\xfc\xd6\x06\x0e\xa8\x2c\x0a\xbb\xfa\x3c" -+"\x29\x1d\xa8\x2c\x0a\x79\xfa\x3c\x3d\x0a\x70\x36\x1d\x39\xf7\xe0\x2b\x0a\x70\x36\x1d\xfb\x31\xf7\xce\x2e\x0a\x0e\x70\x36\x1d\x0e" -+"\x39\x2d\x1d\xf7\x08\xf8\x87\x15\x60\x7b\x68\x75\x58\x1b\x58\x75\x9f\xb8\x8a\x1f\x60\x06\x87\xab\x0a\xd9\xd0\xc8\xdd\x99\x1e\x0e" -+"\xf7\x8f\x6e\x1d\x3e\xf8\x2e\x2b\x1d\xf7\xfe\xaa\x0a\xdf\xf8\xaf\xf7\x27\x15\x9c\xfb\x27\x05\xf7\x24\x06\x33\xf9\x6d\x05\xfb\x43" -+"\x06\xfc\x32\xfd\x6d\x05\xf7\x37\x06\xdb\xf7\x27\x05\xf7\x97\xf7\x11\x15\xfb\x53\x06\xf7\x31\xf7\xb1\x05\x0e\xd1\xd0\x16\xf7\xf3" -+"\x06\xe4\xbc\x96\xab\xbb\x1f\xce\xb7\xb5\xd8\xda\x1a\xf7\x06\x37\xdd\xfb\x09\x1e\xfb\x5e\x40\x0a\xf8\x0f\x21\x1d\xfc\xa5\x06\xa1" -+"\xfc\xf0\x15\xb3\xf7\x51\x05\xf7\x6a\x06\xb1\xa4\x6f\x60\x4c\x5b\x54\x54\x1f\x0e\xdf\xda\x16\xf7\xdd\x06\xf7\x05\xc6\x9b\xb9\xc3" -+"\x1f\xbe\xb4\xab\xd1\xce\x1a\xc5\x71\xb4\x47\xbb\x1e\xe3\xb0\xb7\xc5\xdc\x1a\xf1\x40\xcb\xfb\x0b\x1e\xfb\xdd\x06\xf7\x0f\xfb\x11" -+"\x15\xf7\x38\x06\xc7\xa9\x76\x61\x6c\x7b\x6b\x71\x79\x1f\x7c\x77\x6f\x85\x61\x1b\xfb\x31\x06\x71\xfb\x11\x15\xf7\x46\x06\xca\xaa" -+"\x74\x5d\x43\x57\x5b\x3d\x1f\xfb\x4a\x06\x0e\x73\xe1\x5a\x0a\xf7\xc5\x21\x1d\xfc\x5b\x06\x0e\xdf\x70\xfb\x1c\x15\x23\x0a\xa8\xf7" -+"\x1c\x05\xf8\x29\x06\x6e\xfb\x1c\x20\x0a\xc2\xf7\x99\x05\x49\x06\xf7\x14\xf8\xf0\x05\xfc\x61\x06\x2b\xfc\x55\x7b\x35\x39\x47\x34" -+"\x8a\x19\x72\x06\xf8\x7d\x16\xfb\x89\x06\xc6\xad\xb7\xc4\x97\xc5\xd1\xf7\xde\x18\xf7\x35\x06\x0e\xa8\x92\x1d\x0e\xa8\x92\x1d\xf7" -+"\x84\xf9\xaf\x38\x1d\xf7\xb5\xf8\x19\x16\xf7\x29\x06\xd2\xf7\xdf\x05\xf7\x02\x93\x0a\x26\x5c\x0a\x51\xfb\xa5\x05\xfb\x0d\xc4\x1d" -+"\xf7\x3b\x06\xf7\x60\xf7\xdf\x05\xee\x06\x0e\x90\xf7\x0a\xf7\x86\x15\x85\x6f\x05\x87\x77\x89\x7a\x7d\x1a\x21\xee\x3b\xf7\x17\xf7" -+"\x3a\xf7\x11\xf7\x06\xf7\x2c\xc9\x68\x0a\x0e\xdc\x43\x1d\x0e\xdc\x43\x1d\xf7\x39\xf7\x46\x15\x88\x79\x89\x7b\x7f\x1a\x6d\x98\x6e" -+"\xa2\x75\x1e\x77\xa2\xab\x81\xbb\x1b\xc3\xb6\x9b\xad\xb2\x1f\xac\xa8\x98\xa2\x9a\xc2\x08\x32\x06\x58\x77\x6e\x74\x5f\x1b\x71\x76" -+"\x97\xa0\x82\x1f\x86\x94\x8a\x95\xa1\x1a\x0e\x74\xc3\x16\x66\x1d\xf0\x93\x0a\x30\x5c\x0a\x0e\xbc\x88\x16\xdf\x06\xde\x8a\xe4\xd3" -+"\x99\xd9\xec\xf8\x5b\x18\xf7\x7c\x06\xfb\x15\xfc\xf0\x32\x1d\xfc\xa7\x06\xfb\x0d\xfc\xcd\x05\x73\x85\x7c\x80\x75\x1b\x56\x06\x0e" -+"\xf7\x57\xf7\xe0\xf8\xcc\x15\x95\xfc\xcc\x20\x0a\xf7\x8e\xf8\xcc\xfb\x0d\xfc\xcc\x32\x1d\xfb\x76\x06\xfb\x8f\xfc\xd8\x82\xf8\xd8" -+"\x05\xfb\x74\x35\x0a\x0e\xdf\xf7\xb2\xf7\xdf\x15\xf7\xb5\x06\x45\x7f\x0a\x0e\xf7\x20\x8b\x1d\x7d\xfb\x14\x98\x1d\xdc\xd3\x16\x23" -+"\x0a\xf7\x15\xf8\xf2\x05\xf7\xa8\x06\xfb\x15\xfc\xf2\x32\x1d\xfc\xd4\x06\x0e\xa8\xf7\xa6\xf7\x98\x15\xf7\x4f\x06\xda\xc9\xa3\xc0" -+"\xbf\x1f\xbe\xbd\xab\xde\xde\x1a\xbf\x76\xbe\x69\xa7\x1e\xa6\x6c\x53\x9d\x5a\x1b\xfb\xd6\x35\x0a\xdd\xf8\x15\x15\xb9\xf7\x6f\x20" -+"\x1d\xce\xaa\x73\x58\x6a\x81\x68\x7a\x73\x1f\x67\x73\x66\x7b\x53\x1b\x0e\xdf\xf9\xa2\xf8\x76\x15\x8d\x9e\x8c\x93\x96\x1a\xf7\x16" -+"\xfb\x02\xe6\xfb\x33\xfb\x08\x28\x5d\x30\x3f\x1e\x40\x31\x5d\xfb\x18\xfb\x11\x1a\x36\xa9\x3e\xbf\x5a\x1e\x5e\xb9\xd1\x73\xdd\x1b" -+"\xf2\xe7\xaf\xcc\xcc\x1f\xbd\xbd\xaa\xc4\x96\xcb\x08\xfb\x2a\x06\x2e\x6e\x47\x56\x2e\x1b\x32\x58\xc4\xef\xdf\xa4\xe7\xb5\xcc\x1f" -+"\xd6\xba\xca\xb0\xd8\x1b\xd5\xbd\x63\x4f\x84\x8a\x7f\x8a\x7f\x1f\x0e\x70\xf8\x95\xf8\xf0\x15\xf7\x69\x21\x1d\xfc\xdc\x24\x1d\xf7" -+"\x71\x06\xfb\x14\xfc\xf0\x20\x0a\x0e\xb2\x91\x1d\x0e\xf7\x23\xf7\xbf\x16\xf7\x2b\x06\xa0\xf0\x05\xe1\x06\xcd\xcb\xa7\xba\xb5\x1f" -+"\xbe\xc4\xad\xe6\xdd\x1a\xf7\x18\x46\xe5\x26\x1e\x49\x06\xa0\xf0\x05\xfb\x2b\x06\x76\x26\x05\x3c\x06\xfb\x1e\xfb\x06\xfb\x1d\xfb" -+"\x3b\xfb\x1a\xcd\x32\xed\x1f\xc7\x06\xda\xf8\x26\x15\x53\xfb\xa9\x05\x58\x06\x6c\x77\xb4\xcb\xeb\xbb\xd7\xc6\x1f\xf7\x63\x16\xc5" -+"\x06\xad\xa0\x63\x4b\x2c\x59\x3d\x4e\x1f\x51\x06\x0e\xa8\x93\x1d\xf7\x3b\x06\x0e\xe6\xcf\x16\xf8\x76\x06\x6a\xfb\x30\x20\x0a\xc7" -+"\xf7\xad\x05\x48\x06\xf7\x15\xf8\xf0\x96\x0a\xd1\xf8\x83\x16\xf7\x2a\x77\x0a\xf7\x2a\xc9\xc3\x94\x9f\xcc\x1e\x0e\xf7\xe9\xce\x16" -+"\xf9\xe1\x59\x0a\xfb\x14\xfc\xf0\x05\xfb\x5a\x3c\x1d\xfb\x14\xfc\xf0\x05\xfb\x59\x58\x0a\xf7\xf3\xca\x16\xf9\x84\x06\x69\xfb\x35" -+"\x05\x23\x0a\xc8\xf7\xb2\x05\x48\x3c\x1d\xfb\x14\xfc\xf0\x05\xfb\x55\x06\xf7\x15\xf8\xf0\x05\xfb\x2a\x6a\x1d\xfb\x54\x58\x0a\xf7" -+"\x6c\xf7\x37\x22\x1d\x70\xfb\x11\x05\xf7\x8a\x06\xfb\x14\xfc\xf0\x05\xf7\xbf\x06\xe8\xc0\x99\xb2\xbc\x1f\xcb\xbe\xb1\xd9\xdc\x1a" -+"\xf7\x0a\x3f\xd2\xfb\x14\x1e\xfb\x26\x06\xc6\xf7\xa9\x05\xfb\x15\xfc\xf0\x15\xb6\xf7\x5e\x05\xf7\x2d\x9e\x0a\xf7\xfe\xf7\x09\x71" -+"\x0a\xf7\xab\xfb\x11\x15\xf7\x2a\x59\x0a\x0e\xd1\xe9\x71\x0a\x0e\xdc\xf8\xec\xf7\xce\x15\xfb\x1b\x60\x3a\x41\x22\x1b\x30\x5a\xbf" -+"\xf7\x02\x80\x1f\xfb\x28\x5f\x05\xfb\x32\xa5\xf4\x33\xf7\x36\x1b\xf7\x0a\xf1\xbd\xea\xd8\x1f\xd0\xe1\xb5\xf7\x0a\xf7\x01\x1a\xf7" -+"\x51\xfb\x01\xf7\x09\xfb\x44\x39\x3b\x71\x5d\x4a\x1e\x65\x6f\x6e\x6e\x61\x54\xf7\x12\x47\x18\xe0\xc4\xca\xb2\xdb\x1b\xc7\xba\x70" -+"\x5b\x9f\x1f\x97\x6f\x8f\x75\x5a\x1a\xfb\xbd\x06\x71\xfb\x11\x05\x0e\xf8\x28\xf8\x0a\xf7\xdf\x15\x8a\x77\x8a\x7f\x7b\x1a\xfb\x51" -+"\xf7\x04\xfb\x09\xf7\x4a\xf7\x0e\xf7\x02\xbf\xe6\xd6\x1e\xd2\xe4\xb5\xf7\x08\xf7\x04\x1a\xe4\x72\xd5\x5a\xc2\x1e\xc5\x57\x46\xa7" -+"\x2d\x1b\xfb\x43\xfb\x2a\xfb\x01\xfb\x44\x48\x1f\x20\x54\x0a\xf8\x94\xf7\xae\x98\x1d\xe6\xf8\x86\x16\xf7\x2a\x4a\x0a\xfb\xef\x06" -+"\x45\x48\x71\x5e\x58\x1f\x56\x5c\x69\x41\x4a\x1a\x4c\xa8\x55\xba\x70\x1e\x53\x89\x62\x61\x7c\x47\x72\xfb\x0d\x18\x79\x4d\x7c\x74" -+"\x6b\x81\x08\xf7\x2c\x06\xaa\x95\x9e\xa4\x98\xbc\xa5\xf7\x19\x18\x94\xb6\x9d\x99\xb7\x8c\x08\xf7\x52\x06\xa5\xf7\x11\x15\xfb\x42" -+"\x06\x5b\x6e\xa7\xbb\xd0\xc2\xc6\xcd\x1f\xf7\x42\x06\x0e\x4c\xf8\xc9\x22\x1d\xfb\xb3\x35\x0a\xf7\x14\xf8\xf0\x05\xf7\x8d\x06\xa6" -+"\xf7\x11\xf7\x06\xf7\x0e\x05\xfb\x19\x06\x0e\xf7\x8c\xf7\x93\x16\x23\x0a\xc9\xf7\xb8\x99\x9b\x93\x94\x95\x93\x19\xa3\xa7\xb6\x98" -+"\xbb\x1b\xc9\xa8\x7a\x65\x86\x8a\x81\x88\x81\x1f\x76\x24\x82\x6a\x6e\x75\x68\x8c\x19\x43\x06\x71\xfb\x11\x05\xf7\x14\x06\xe9\xd4" -+"\xc8\xea\xa0\x1f\xaa\xf7\x29\x05\x8f\x9a\x8c\x98\x98\x1a\xc0\x6d\xbf\x61\x9f\x1e\x98\x71\x62\x92\x5f\x1b\x3e\x61\x7c\x56\x47\x1f" -+"\xb1\xf7\x49\x05\xf7\x70\x25\x1d\xfc\xb9\x24\x1d\xf7\x48\x06\x0e\x73\xda\x5a\x0a\xf7\xcd\x25\x1d\xfc\x62\x06\xf7\x41\xc5\x15\xf7" -+"\x03\x06\xf7\x07\xf7\x0e\x05\xfb\x19\x06\x0e\xdc\xf8\xbf\xf7\xce\x15\xa5\xf7\x11\x05\xfb\xc0\x06\xa1\xbc\x99\xa3\xa3\xa6\x08\xbb" -+"\xb5\xc5\xa6\xc7\x1b\xda\xb9\x63\x35\xa0\x1f\xf7\x1f\xc9\x05\xf7\x10\x69\x2c\xce\xfb\x24\x1b\xfb\x0f\x26\x59\x26\x3d\x1f\x47\x33" -+"\x5f\xfb\x16\xfb\x04\x1a\xfb\x3e\xf7\x02\xfb\x05\xf7\x39\xf7\x38\xf7\x0a\xd7\xf7\x3a\xeb\x1e\xfb\x20\xbb\x05\xfb\x02\x52\x44\x57" -+"\x2f\x1b\x35\x53\xc8\xea\x97\x8c\xa0\x8d\x9f\x1f\x0e\xa8\xf9\x5e\xf8\x8f\x15\x8f\xa6\x8c\x98\x9a\x1a\xc3\x74\xb9\x61\xa7\x1e\xaa" -+"\x5c\x45\x9d\x3f\x1b\x34\x3b\x72\x5f\x55\x1f\x52\x5e\x68\x40\x3e\x1a\x3a\xc0\x5c\xf7\x09\x73\x1e\xec\x78\x05\xdf\x7a\xac\x73\x5d" -+"\x1a\x44\x47\x5c\x25\x35\x57\xae\xc4\x91\x8c\x96\x8c\x95\x1e\xfb\x26\x06\x88\x75\x8a\x81\x7b\x1a\xfb\x0a\xf3\x40\xf7\x38\xf7\x00" -+"\xe9\xaa\xc1\xc1\x1e\xbd\xbc\xaa\xd4\xcf\x1a\xe3\x58\xc1\x25\x9f\x1e\xfb\x02\xa1\x05\x30\x9d\x6d\x9d\xb0\x1a\xcd\xc7\xb7\xe3\xd9" -+"\xbb\x6a\x56\x85\x8a\x81\x89\x81\x1e\x0e\xf8\x05\x33\x0a\x0e\x25\x0a\xde\xfa\x2c\x45\x0a\x39\xf8\x83\x22\x1d\xfb\x06\xfc\xab\x05" -+"\x51\x7e\x68\x6c\x55\x1b\x62\x73\x9d\xab\x95\x8d\x9a\x8e\x99\x1f\x9b\xd7\x28\x0a\x7b\x3f\x05\x86\x75\x89\x79\x7a\x1a\x60\x9f\x61" -+"\xae\x6c\x1e\x6e\xad\xbc\x7c\xc8\x1b\xd2\xcc\x9f\xae\xba\x1f\xb7\xac\xa4\xba\x9b\xd6\xf7\x08\xf8\xb2\x18\x0e\xf8\x5c\x9b\x16\xdf" -+"\x06\xde\x8a\xe4\xd3\x99\xd9\xec\xf8\x5b\x18\xf7\x7c\x6a\x1d\xf7\xc0\xb8\x1d\xfb\x27\x06\xc6\xf7\xa9\x05\xfc\xa7\x06\xfb\x0d\xfc" -+"\xcd\x85\x73\x7c\x7f\x75\x8c\x19\x56\x06\xf9\x00\x16\xb6\xf7\x5e\x05\xf7\x2d\x06\xa8\x99\x87\x7d\x97\x1f\x96\x7d\x91\x79\x74\x1a" -+"\x44\x5a\x51\x4f\x1e\x0e\xf8\x28\xf7\xa8\xf7\xdf\x15\xf7\xa7\x06\x45\xfb\xdf\x05\xf7\xaf\xb8\x1d\xfb\x16\x06\xc6\xf7\xa9\x28\x0a" -+"\x51\xfb\xa5\x05\xfb\xa7\x06\xc5\xf7\xa5\x34\x0a\xf8\x57\xf7\x11\x15\xb6\xf7\x5e\x05\xf7\x1d\x9e\x0a\xf7\x6c\xf7\x60\x16\x23\x0a" -+"\xc9\xf7\xb8\x05\xbf\xb7\xaf\x9d\xc9\x1b\xc1\xa7\x79\x68\x85\x8a\x81\x88\x80\x1f\x4f\xfb\xae\x20\x0a\xcc\xf7\xc5\x05\x8f\x9d\x8d" -+"\x9b\x98\x1a\xba\x6c\xbf\x64\x9e\x1e\x98\x72\x63\x93\x63\x1b\x47\x61\x7b\x57\x47\x1f\xb2\xf7\x49\x05\xf7\x66\x21\x1d\xfc\xa9\x24" -+"\x1d\xf7\x41\x06\x0e\x7b\xc7\x16\x66\x1d\xf1\xac\x1d\x2f\x5c\x0a\xf7\x51\xcc\x15\xf7\x04\x06\xf7\x05\xf7\x05\x05\xfb\x1b\x06\x0e" -+"\xb2\x91\x1d\xf7\x98\xf9\xba\x15\x88\x78\x89\x7a\x7f\x1a\x6e\x99\x6d\xa2\x75\x1e\x75\xa2\xad\x81\xba\x1b\xc5\xb9\x9b\xae\xb2\x1f" -+"\xad\xa9\x99\xa2\x9a\xc4\x08\x30\x06\x57\x76\x6d\x73\x5d\x1b\x63\x71\xa7\xb3\x8e\x1f\x8d\x8b\x8d\x8c\x8f\x1e\x0e\x39\xf8\xa3\x9c" -+"\x15\x7e\x9c\x86\x98\x98\x1a\x92\x8c\x92\x8d\x94\x1e\xca\xf7\xc0\x05\x8f\x9a\x8c\x98\x99\x1a\xab\x7a\xad\x73\x9e\x1e\xa5\x69\x59" -+"\x98\x42\x1b\x32\x4e\x79\x63\x5f\x1f\x65\x67\x73\x60\x83\x59\x08\xf7\x1c\x06\xc1\x99\xaa\x9f\xce\x1b\xba\xa3\x7d\x70\x7b\x85\x7b" -+"\x7f\x80\x1f\x7a\x7a\x81\x88\x38\x7e\x52\x81\x18\x4e\x82\x61\x78\x6a\x6c\x08\x64\x66\x75\x57\x55\x1a\x3a\xbf\x5a\xe2\xcc\xbf\xa2" -+"\xc1\xc2\x1e\x89\x7c\x8a\x86\x84\x1a\x81\x8d\x85\x91\x80\x1e\xf7\x2d\x06\xfb\x10\xf7\x6d\x15\x3a\x7a\x59\x5d\x44\x1b\x62\x74\x9d" -+"\xab\xa1\x95\xa0\x9b\x9b\x1f\x9c\x9b\x99\x91\xb3\x93\xbe\x94\x18\xb0\x92\x93\x8d\x9c\x93\x08\x0e\x78\xf8\xc4\xf9\xe3\x15\x78\x40" -+"\x74\x6f\x52\x7c\xfb\x0b\x67\x4f\x65\x4f\x3c\x08\x43\x2e\x4f\xfb\x48\xfb\x0d\x1a\xfb\x10\xe6\x3a\xf7\x1f\xec\xe2\xb3\xd2\xc3\x1e" -+"\xbc\xc9\xac\xf0\xe4\x1a\xf7\x0f\x33\xe1\xfb\x11\x52\x5b\x79\x65\x5e\x1e\xa4\xcd\xb8\xa6\xf7\x13\xa5\xf7\x20\xa8\xb9\xbb\xb2\xf7" -+"\x32\x08\xfb\xbe\xfc\x2f\x15\xc6\xb0\x5f\x44\x5a\x7d\x55\x72\x61\x1f\x53\x6b\x5d\x6d\x56\x1b\x50\x66\xb7\xd1\xf7\x13\xd8\xf4\xe8" -+"\x1f\x0e\x69\xdd\x16\xf7\xcb\x06\xbe\xc2\x9e\xa8\xad\x1f\xae\xaa\xa3\xbf\xba\x1a\xbc\x70\xae\x55\x9e\x1e\xae\x98\x9b\x94\x9c\x9b" -+"\x08\xa7\xa5\x9b\xb1\xb2\x1a\xcf\x57\xbd\x45\x1e\xfb\xc4\x06\xbc\xfc\x3f\x15\xa4\xf7\x0c\x05\xf7\x18\x06\xa7\x9d\x78\x6e\x65\x6a" -+"\x69\x65\x1f\x33\xf7\x65\x15\xa2\xf7\x00\x05\xf7\x18\x06\xa2\x98\x7c\x72\x66\x70\x6c\x6b\x1f\x0e\x23\xcf\x48\x0a\xf7\x91\x2f\x0a" -+"\xfc\x1d\x06\x0e\x77\x82\xfb\x04\x15\x21\x0a\xa3\xf7\x04\x05\xf7\xc1\x4e\x1d\x21\x0a\xbb\xf7\x75\x05\x58\x06\xe6\xf8\x3f\x05\xfc" -+"\x20\x06\x4b\xfb\xbd\x05\x3d\x7c\x61\x57\x5b\x1b\x53\x06\xf8\x1a\x16\xfb\x46\x06\xbc\xad\xa7\xb8\x9b\xd1\xaf\xf7\x39\x18\xf7\x08" -+"\x06\x0e\x39\x80\x1d\x0e\x39\x80\x1d\x50\xf8\x3a\x45\x0a\xed\xf8\x4a\x16\xbd\xf7\x83\x05\xdd\x06\xa9\xa4\x0a\xfb\x02\xfb\x50\x05" -+"\x4d\xd9\x1d\x42\xad\x1d\xca\x06\x59\xfb\x83\x05\x0e\xfb\x14\xda\xf7\x47\x15\x88\x76\x89\x77\x7e\x1a\x32\xd6\x50\xf7\x03\xf7\x1c" -+"\xf6\xe1\xf7\x00\x6b\x0a\x0e\x70\x43\x0a\x0e\x70\x43\x0a\xf7\x1d\xf7\x4e\x15\x88\x7b\x89\x7d\x81\x1a\x58\xbe\x64\xcd\xba\xb8\x9d" -+"\xab\xac\x1e\xa3\xa1\x93\x9c\x95\xb4\x08\x47\x06\x62\x7e\x74\x7c\x5b\x1b\x63\x75\x99\xa5\x1f\x8c\x9b\x05\x0e\xfb\x17\xf7\x3b\xf8" -+"\xb0\x15\x2c\x1d\xbe\xf7\x83\x05\xd2\x5d\x0a\xf7\x1f\x06\x5b\xf7\xc1\xf7\x22\xf7\x83\x05\xfb\x28\x06\xfb\x02\xfb\x50\x05\x4e\x3b" -+"\x1d\x0e\x7b\xa9\xd4\x1d\xf7\x25\xd3\x1d\xfc\x3d\xb4\x0a\x0e\xf1\xf9\x27\x16\xf7\x07\xf8\xb0\x05\xfb\x51\x06\xfb\x51\xfc\x29\x7f" -+"\xf8\x29\x05\xfb\x50\x06\xfb\x07\xfc\xb0\x05\xf7\x17\x06\xe3\xf8\x30\x97\xfc\x30\x05\xf7\x03\x06\xf7\x52\xf8\x30\x33\xfc\x30\x05" -+"\x0e\x69\xa9\x0a\x21\x0a\xf7\x07\xf8\xb0\x9d\x0a\x70\x7d\x0a\x81\xfb\x05\x15\xc5\xb0\x5e\x45\x5a\x7d\x56\x72\x60\x1f\x54\x6b\x5b" -+"\x6c\x57\x1b\x51\x66\xb7\xd1\xf7\x13\xd9\xf4\xe8\x1f\x0e\x70\xd7\x48\x0a\xf7\x46\xd3\x1d\xfc\x5e\x06\x0e\x70\xf7\xcf\xf8\xb0\x23" -+"\x1d\xfb\x35\xfd\x8a\x20\x1d\xc7\xf7\xae\x05\x4f\xa1\xb7\x70\xd4\x1b\xdf\xd4\xb2\xd4\xc0\x1f\xbc\xce\xa7\xe9\xe7\x1a\xf7\x0e\x44" -+"\xe0\x25\x47\x53\x6e\x4f\x5e\x1e\xf7\x03\x74\x15\xc1\xad\x5f\x45\xfb\x12\x41\xfb\x00\x35\x56\x5f\x1d\x39\xf8\xe8\xf7\xe6\x15\x8c" -+"\x9a\x8c\x99\x95\x1a\xb2\x7c\xb3\x70\xa9\x1e\xb6\x65\x58\x9f\x41\x1b\x38\x46\x6e\x52\x55\x1f\x4d\x4a\x5f\xfb\x0d\x24\x1a\xfb\x0b" -+"\xdf\x3e\xf7\x18\xd9\xc7\xa1\xba\xbb\x1e\xb3\xb2\xa5\xb7\x9c\xc4\x08\xfb\x23\x06\x47\x6d\x6a\x6f\x58\x1b\x54\x6d\xae\xcd\xc1\x9a" -+"\xc8\xa5\xbb\x1f\xc2\xa8\xb0\xa5\xbd\x1b\xbb\xaa\x70\x62\x81\x8a\x84\x88\x7e\x1f\x0e\xf7\x8f\xf8\x0b\x48\x0a\xf7\x70\x2f\x0a\xfc" -+"\xf0\x3f\x0a\xf7\x88\x06\x0e\x39\x90\x1d\x0e\xf7\x8b\xf7\xdb\xfb\x6e\x15\x21\x0a\xb9\xf7\x6e\x05\xd3\xb6\x93\xa3\xc1\x1f\xf7\x0a" -+"\xc0\xda\xf7\x09\xf7\x0e\x1a\xf7\x13\x23\xe5\xfb\x27\x8a\x1e\xb4\xf7\x58\x22\x0a\x62\xfb\x58\x05\x42\x63\x84\x77\x59\x1f\xfb\x0f" -+"\x57\x3b\xfb\x07\xfb\x15\x1a\x2d\xc6\x40\xf0\x69\x1e\x7f\xad\x9c\x89\xb3\x1b\xa3\xf7\x05\x15\x62\x8e\x79\x8f\x75\x98\x08\x68\x9e" -+"\x77\xb1\xb8\x1a\xc0\xa7\xc2\xbc\xb2\x1e\xae\xa8\xaa\x96\xc7\x90\x08\xf7\x20\x16\xb4\x89\x9e\x86\xa1\x7f\x08\xad\x78\x9f\x66\x60" -+"\x1a\x50\x6c\x4f\x58\x65\x1e\x69\x71\x6d\x82\x52\x87\x08\x0e\x39\xf8\x33\xf7\xa4\x15\xf7\x7d\xf7\xa0\x05\xfb\x41\x06\xfb\x0e\xfb" -+"\x37\x56\xf7\x37\x05\xfb\x37\x06\xf7\x0b\xfb\xa0\xfb\x82\xfb\xa4\x05\xf7\x41\x06\xf7\x14\xf7\x3c\xc2\xfb\x3c\x05\xf7\x37\x06\x0e" -+"\x93\xe2\x16\xf8\x05\x06\x69\xfb\x2f\x05\x21\x0a\xc5\xf7\xa0\x05\x53\x94\x0a\x54\xf8\x15\x16\xf7\x22\x8c\x1d\xec\xc1\xc1\x94\x9c" -+"\xbc\x1e\x0e\xf7\x8f\xc9\x16\xf9\x92\x06\xf7\x06\xf8\xb0\x80\x0a\xf7\xbd\xd6\x16\xf9\x3e\x06\x68\xfb\x31\x20\x1d\xc6\xf7\xa2\x05" -+"\x53\x06\xe5\xf8\x3f\x80\x0a\xd0\xf7\x15\x29\x0a\x73\xfb\x05\x05\xf7\x47\x06\x30\xfc\x3f\x05\xf7\xaf\xa0\x0a\xfb\x23\x06\xb6\xf7" -+"\x5c\x05\x30\xfc\x3f\x15\xa3\xb9\x0a\x69\x1f\x0e\xf7\x6c\xf0\x76\x0a\xf7\x67\xfb\x05\x15\x63\x1d\x0e\x5f\xdd\x76\x0a\x0e\x35\xf7" -+"\x6e\xf7\x76\x15\xf7\x6b\x06\x34\x6d\x53\x5a\x48\x1b\x67\x6c\x9d\xa9\x7c\x1f\x82\x9b\x88\x98\x89\xa8\xfb\x21\x68\x18\x94\x58\x95" -+"\x71\x9f\x6f\x08\x59\xb0\xd0\x6e\xdd\x1b\xe8\xe1\xaf\xc8\xbf\x1f\xc4\xcd\xaf\xef\xe6\x1a\xf7\x1a\x33\xdf\xfb\x22\x25\x35\x60\x38" -+"\x4d\x1e\xf7\x07\x4d\x05\xbf\xb0\xb2\xa2\xbd\x1b\xc2\xb7\x5c\x52\x88\x1f\x8a\x80\x05\xfb\x67\x06\x0e\xf7\x77\xf7\xe5\xf7\x77\x15" -+"\x89\x7d\x8b\x84\x80\x1a\xfb\x1d\xe0\x3a\xf7\x25\xe9\xe0\xb1\xcd\xc2\x1e\xc1\xcc\xad\xed\xe4\x1a\xf7\x1a\x35\xdd\xfb\x22\xfb\x20" -+"\x24\x42\xfb\x1c\x56\x1e\x2d\x06\xb6\xf7\x5c\x5d\x1d\xbb\xf7\x77\x05\xf8\x28\xf7\x65\x15\xc5\xb0\x5e\x45\xfb\x11\x3d\x21\x2e\x51" -+"\x66\xb7\xd1\xf7\x13\xd9\xf4\xe8\x1f\x0e\x5a\xf8\x0c\x16\x21\x0a\xf7\x07\xf8\xb0\x05\xfb\xbf\x06\xfb\x0a\x33\x3d\x22\x58\x9e\x68" -+"\xb6\x6f\x1f\x5f\x77\x79\x73\x7f\x55\x84\x6a\x18\x7e\x59\x7b\x6a\x71\x6e\x08\xf7\x24\x06\x9f\xa3\x98\xab\x94\xb8\x93\xad\x18\xbc" -+"\x95\xa0\x9c\xbd\x1b\xe7\x06\xa3\xf7\x05\x15\xfb\x21\x06\x73\x7d\x9a\xa6\xb3\xa6\xaa\xae\x1f\xf7\x21\x06\x0e\xfb\x3f\xf8\x59\x29" -+"\x0a\xfb\xa1\x06\x2c\x1d\xe6\xf8\x3f\x05\xf7\x6e\x06\xa3\xf7\x05\xf7\x3b\xf7\x32\x05\xfb\x19\x06\x0e\x70\xf7\x22\x16\x21\x0a\xba" -+"\xf7\x71\x05\xaf\xb0\xa4\x98\xa7\x1b\xa5\x9b\x7e\x78\x81\x8b\x8a\x8a\x85\x1f\x60\xfb\x5e\x84\x65\x6c\x70\x66\x8a\x19\x2b\x06\x78" -+"\x2e\x05\xf7\x10\x06\xf7\x0a\x91\xcf\xc5\xa3\xf7\x08\xb2\xf7\x49\x18\x8e\x99\x8c\x98\x9a\x1a\xcc\x5b\xb7\x45\x60\x66\x7e\x6a\x54" -+"\x1e\xb6\xf7\x60\x05\xf7\x1a\x06\x9f\xe8\x05\xfb\x1a\x2f\x0a\xfb\x20\x3f\x0a\x21\x33\x1d\xf5\x06\x0e\xfb\x3d\xca\x48\x0a\xf7\x75" -+"\x2f\x0a\xfc\x01\x06\xf7\x18\xc5\x15\xe4\x06\xf7\x3c\xf7\x32\x05\xfb\x1a\x06\x0e\x40\xf8\x45\xf7\x76\x15\x9f\xea\x05\xfb\x67\x06" -+"\xd0\xa5\xc5\xb9\xc8\x1b\xbc\xa8\x73\x58\x99\x1f\xf7\x18\xc5\x7e\xaa\x7f\x9d\x7a\x9d\x19\xb2\x64\x4a\xa3\x44\x1b\x34\x39\x68\x4e" -+"\x52\x1f\x52\x4d\x65\x24\x2e\x1a\x4f\xa3\x4d\xb1\x66\x1e\x65\xb2\xc7\x76\xd0\x1b\xd6\xd0\xa3\xba\xc4\x1f\xb3\xab\xa0\xa7\xa1\xbe" -+"\xfb\x18\xb0\x18\x44\x68\x5b\x68\x4e\x1b\x54\x64\xb8\xc9\x94\x8b\x94\x8c\x96\x1f\x0e\x39\xf8\xdd\xf8\x02\x15\x8d\xa3\x8b\x8c\x92" -+"\x1a\xe7\x38\xc6\xfb\x14\x46\x50\x78\x67\x5e\x1e\x5d\x67\x6d\x50\x57\x1a\x5a\xab\x66\xc5\x78\x1e\xf7\x30\x58\x05\xa3\x82\x98\x7d" -+"\x78\x1a\x64\x5f\x74\x42\x4e\x6c\x9d\xad\x91\x8b\x8e\x8d\x94\x1e\xfb\x20\x06\x89\x7e\x8b\x85\x83\x1a\x27\xd6\x56\xf7\x1e\xeb\xd6" -+"\xa4\xba\xbb\x1e\xb0\xaf\xa3\xc0\xb6\x1a\xb9\x6c\xb4\x5d\x99\x1e\xfb\x39\xbf\x05\x70\x93\x7c\x9c\xa0\x1a\xae\xb1\xa3\xc2\xc2\xab" -+"\x78\x69\x84\x8a\x87\x87\x82\x1e\x0e\xf7\xd8\x84\x0a\x2a\x1d\xbc\xf9\x79\x45\x0a\xf7\xda\xf8\xb0\x23\x1d\xfb\x14\xfc\xee\x05\x69" -+"\x84\x7f\x82\x63\x1b\x7b\x3f\x0a\x9a\x06\xc0\x06\xc4\xa2\x90\x9a\xa3\x1f\xa8\x9e\xa0\xad\x95\xbb\x08\xf7\x43\xf9\xce\x23\x1d\x71" -+"\xfb\x11\x20\x1d\x0e\xf7\xdf\xac\xd4\x1d\xf7\x3e\x06\x31\xfc\x3f\x05\xf7\xc4\xa0\x0a\xfb\x38\x06\xb6\xf7\x5c\x05\xfc\x57\xb4\x0a" -+"\xf8\xb0\x16\xa3\xf7\x06\x05\xf7\x31\x06\xa3\x9b\x7b\x71\x64\x6d\x6a\x69\x1f\x0e\xf7\xa0\xd1\x16\x21\x0a\xbb\xf7\x77\x05\xf7\x58" -+"\x06\x5a\xfb\x77\x05\xf7\xaf\x06\xc5\xc0\xc9\x1d\xfb\x23\x06\xb5\xf7\x5c\xbe\x1d\xf8\x14\xfc\x3f\x15\xa4\xb9\x0a\x68\x1f\x0e\x70" -+"\xea\x16\x21\x0a\xca\xf7\xbb\x05\xc7\xb5\xb2\xa5\xbd\x1b\xb4\xa4\x72\x62\x84\x8a\x84\x8a\x85\xd5\x1d\x98\x8c\x98\x98\x1a\xd2\x4b" -+"\xc5\x3e\x52\x5a\x78\x5a\x44\x1e\xa3\xf7\x07\x05\xf7\x1d\x06\x9f\xe8\x05\xfb\x1d\x06\xa0\xf0\x22\x0a\x76\x26\x05\x24\x33\x1d\xf2" -+"\x06\x0e\xfb\x17\xf7\x40\xad\x0a\xd1\x06\xb2\xfb\x83\x05\xf7\x1e\x06\x5c\xf7\xc1\xf7\x21\xf7\x83\x05\xfb\x27\x06\xfb\x02\xfb\x50" -+"\x05\x4f\x3b\x1d\xa6\xc5\x15\xe7\x06\xf7\x39\xf7\x32\x05\xfb\x17\x06\x0e\x39\x90\x1d\xfb\xfc\xf7\x5b\x15\x88\x7b\x8a\x7d\x80\x1a" -+"\x56\xbe\x64\xd0\xba\xb9\x9d\xab\xac\x1e\xa2\xa2\x94\x9d\x96\xb5\x08\x46\x06\x5f\x7c\x77\x7e\x58\x1b\x60\x77\x98\xa6\x8f\x8b\x92" -+"\x8c\x91\x1f\x0e\xdc\xd8\x16\xf7\x64\x06\x6a\xfb\x33\x20\x0a\xac\xf7\x33\x05\xf7\x64\x06\xf7\x2f\xf9\x6d\x96\x0a\x70\xda\x16\xf7" -+"\x30\x06\x6b\xfb\x31\x20\x1d\xab\xf7\x31\x05\xf7\x31\x06\xf7\x07\xf8\xb0\xbb\x1d\x4c\xee\xf7\xc0\x15\x80\x5a\x87\x68\x66\x1a\xfb" -+"\x0d\xe2\x3a\xf7\x16\xe0\xda\xb1\xcf\xc1\x1e\xc0\xcd\xad\xf1\xeb\x1a\xf7\x11\x39\xd8\xfb\x18\xfb\x0c\x2c\x4d\xfb\x05\x57\x1e\xf7" -+"\x24\x06\xb4\xa3\xb3\xa2\xbc\x1b\xc3\xaa\x6d\x54\x7a\x89\x7d\x86\x75\x1f\x76\x2e\x15\x3a\x70\x60\x64\x4c\x1b\x57\x6a\xac\xc0\x95" -+"\x8c\x94\x8d\x9a\x1f\x0e\xf7\x8b\xf8\x99\xf8\xd4\x15\x8c\x98\x8c\x92\x94\x1a\xda\x58\xba\x35\x4a\x53\x73\x5f\x62\x1e\x5e\x5a\x6d" -+"\x37\x3f\x1a\x35\xc1\x58\xe8\xe9\xd9\xc6\xea\xa9\x1e\xfb\x06\x06\x61\x79\x78\x7b\x6c\x1b\x6d\x7b\xa0\xb2\xad\x94\xb4\x9a\xab\x1f" -+"\xb2\x9d\x9f\x9b\xaa\x1b\xab\x96\x7c\x5f\x8c\x1f\xf7\xe0\xfb\x47\x15\x41\x47\x6a\x53\x60\x1f\x67\x5d\x74\x45\x4c\x1a\x30\xc5\x55" -+"\xed\xf7\x20\xf3\xf7\x07\xf7\x2f\xe5\x51\xc0\x29\x1e\x78\x2b\x15\xac\xa0\x70\x60\x3a\x5b\x45\x54\x69\x76\xa6\xb6\xdc\xbb\xd1\xc3" -+"\x1f\x97\xf8\x2c\x15\xfc\xaa\xfd\x59\x05\xda\x06\xf8\xab\xf9\x59\x05\x0e\xfb\x0e\xf7\xb0\xf7\xb8\x15\xda\xcd\xbc\xbb\xab\xb6\x08" -+"\xbf\xd1\xaa\xd8\xc4\x1a\xc0\x6b\xac\x59\x20\x38\xfb\x23\xfb\xd1\x40\x1e\x69\x6d\x71\x75\x7b\x81\x08\x76\x7c\x83\x83\x83\x1a\x85" -+"\x94\x82\x92\x94\xb0\xa3\xa5\xac\x1e\x7c\x29\x89\x79\x6b\x1a\x52\xad\x69\xc3\xb8\xae\xa0\xb7\xac\x1e\x9a\xa0\x94\x9f\x97\x1a\x92" -+"\x84\x91\x82\x80\x84\x86\x7d\x83\x1e\x5d\x6f\x7a\x7c\x71\x1b\x79\x83\x94\x9e\xa5\xa1\xf7\x0a\xa0\xe2\x1f\x97\xc2\x15\xf7\x9d\xc3" -+"\xaf\xe2\xc3\x1b\xa1\x99\x7a\x71\x6d\x7e\x5a\x78\x62\x1f\x6c\x48\x5f\x53\x3e\x49\x08\x0e\xf8\x90\xf8\x46\x16\xf7\x0b\x06\xf7\x2e" -+"\xf9\x6d\x05\xfb\x10\x06\x20\xfc\x8e\xfb\x1f\xf8\x8e\x05\xfb\x0f\x06\xfb\x2e\xfd\x6d\x05\xf7\x11\x06\xf7\x00\xf8\x96\x05\xf7\xfd" -+"\xfc\x96\x15\xf8\x45\x06\x9f\xea\x05\xfc\x45\x06\xf7\xe5\xf9\x1a\x15\x38\x40\x60\x3c\x57\x1f\x64\x4f\x6c\xfb\x04\x38\x1a\xfb\x09" -+"\xd5\x3d\xf7\x02\xdf\xd4\xb5\xda\xc0\x1e\xb3\xc7\xaa\xf7\x04\xe0\x1a\xf7\x08\x41\xd9\xfb\x03\x1e\x6b\xfb\x05\x15\xbe\x88\xa7\x62" -+"\x44\x1a\xfb\x11\x4b\x21\x3e\x5a\x6c\xb6\xd2\xf7\x12\xce\xf7\x02\xd6\x87\x1e\x0e\x79\xf8\xc9\xf7\x9d\x15\xf7\x3d\xf7\xa7\x22\x0a" -+"\x42\xba\x0a\x56\x1b\x43\x49\x65\x49\x5c\x1f\x59\x44\x6f\x30\x32\x1a\xfb\x18\xce\x36\xf1\xc4\xc4\xa5\xb7\xb3\x1e\xa0\xa3\x97\x9b" -+"\xaa\xbb\x9f\xfb\x1b\x18\xf7\x20\x06\xfb\x4c\xf7\xa6\x15\x6a\x4c\x83\x7d\x79\x6f\x08\x5b\x6c\x5f\x6c\x67\x1b\x6c\x75\xba\xcc\xf7" -+"\x10\xc9\xf7\x02\xd0\xbf\xa7\x59\xfb\x04\x97\x1f\x0e\x79\xf8\xca\xf7\x9d\x15\xf7\x3d\xf7\xa7\x22\x0a\x41\xba\x0a\x57\x1b\x44\x4a" -+"\x65\x49\x5c\x1f\x5b\x44\x6f\x30\x32\x1a\xfb\x18\xcc\x36\xef\xc3\xc5\xa5\xb7\xb2\x1e\xa0\xa3\x97\x9b\xaa\xbb\x9f\xfb\x1b\x18\x21" -+"\x0a\xfb\x4c\xf7\xa6\x15\x60\x38\x7c\x73\x77\x74\x08\x69\x6d\x6b\x77\x72\x1b\x6a\x77\xb6\xd2\xbf\x98\xc3\xa1\xbb\x1f\xbb\xa2\xad" -+"\xa7\xad\x1b\xbf\xa8\x59\xfb\x04\x96\x1f\xb4\xf8\x97\x26\x1d\x39\x2d\x1d\xf7\x3f\xf8\x67\x15\xfb\xc0\x27\x0a\xf7\xc0\x06\x0e\xfb" -+"\xc5\xc5\xf7\x82\x15\xf7\x42\xfb\xe8\x05\x7b\x93\x95\x84\x97\x1b\x93\x90\x8f\x92\x92\x89\x93\x88\x93\x1f\xfb\x17\xf7\xdd\xf7\x17" -+"\xf7\xdd\x05\x8e\x93\x8d\x93\x92\x1a\x93\x86\x8f\x83\x7f\x83\x85\x79\x81\x1e\x0e\xfb\xc5\xf7\xa7\xf7\x82\x15\xfb\x42\xf7\xe8\x05" -+"\x9c\x82\x82\x92\x7f\x1b\x83\x86\x87\x83\x85\x8d\x83\x8e\x82\x1f\xf7\x17\xfb\xdd\xfb\x17\xfb\xdd\x05\x88\x84\x89\x83\x84\x1a\x83" -+"\x90\x87\x93\x97\x93\x91\x9c\x95\x1e\x0e\x39\xf8\xa3\x9c\x15\x7c\x9c\x85\x98\x9a\x1a\x91\x8c\x92\x8d\x93\x1e\xca\xf7\xc0\x05\x8f" -+"\x9d\x8d\x9a\x97\x1a\xa8\x7a\xae\x73\x9e\x1e\xa5\x6b\x5b\x97\x44\x1b\xfb\x31\x3a\x52\xfb\x16\x6f\x1f\xf7\x17\x06\xc2\x9c\xa9\x9f" -+"\xcc\x1b\xbe\xa1\x7e\x6d\x76\x7d\x75\x77\x81\x1f\x77\x80\x8b\x8b\x43\x81\x51\x82\x18\x5b\x83\x66\x7d\x6c\x75\x08\x56\x65\x6a\x4e" -+"\x4f\x1a\x65\x9d\x65\xa8\x73\x1e\x76\xa4\xad\x81\xb7\x1b\xc4\xbc\xa1\xc2\xc7\x1f\x88\x7c\x8b\x86\x84\x1a\x81\x8d\x85\x90\x80\x1e" -+"\xda\x06\x24\x64\x56\x56\x4d\x1a\x57\xba\x70\xe3\xa8\x9f\x8d\x92\xab\x1e\x95\xbf\x05\x83\x72\x77\x88\x6c\x1b\x68\x7b\x98\xa9\xba" -+"\xb5\xb9\xe4\xba\x1f\x97\x1d\x0e\x32\xf7\x31\xf7\x84\x15\xbc\xae\xa0\x99\xac\x1b\x9d\x90\x89\x73\xc8\x1f\x78\xba\xa4\x84\x9f\x1b" -+"\xa9\xac\x95\x9e\xa9\x1f\xa9\x9f\xa0\xa1\xb3\xc5\x50\xb2\x18\x62\x6a\x76\x7e\x6a\x1b\x76\x82\x8d\xa2\x56\x1f\x9e\x5c\x6f\x93\x72" -+"\x1b\x47\x5d\x68\x28\x4c\x1f\x98\xfb\x8b\x15\xbc\xaf\x9f\x99\xac\x1b\x9e\x8f\x89\x73\xc8\x1f\x78\xbb\xa4\x84\x9f\x1b\xa9\xac\x95" -+"\x9e\xa9\x1f\xa9\x9f\x9f\xa1\xb4\xc5\x4f\xb2\x18\x61\x6a\x77\x7f\x69\x1b\x76\x83\x8d\xa2\x55\x1f\x9e\x5c\x6f\x93\x73\x1b\x47\x5c" -+"\x68\x28\x4d\x1f\x0e\x39\x2d\x1d\xa9\xf8\x9a\x2e\x1d\xc9\xf7\x35\x2b\x1d\xf7\xfe\xf9\x5e\xf7\xac\x15\x7b\x77\x81\x7b\x7f\x75\x08" -+"\x81\x79\x7d\x65\x84\x1a\x82\x93\x84\x95\x94\x8e\x8d\x9f\x9b\x1e\xb3\xba\xab\xa4\xe5\xc1\x08\x9c\x94\x8d\x8e\x93\x1a\x94\x85\x91" -+"\x76\x96\x1e\x53\xa7\x4c\xbd\x66\xb7\x08\x98\x81\x83\x92\x86\x1b\x7e\x83\x85\x81\x78\xb0\x41\xa4\x6d\x1f\xfc\x3f\x06\xa4\xa9\xb1" -+"\xd6\x9d\x1a\x95\x83\x91\x7f\x86\x87\x88\x7a\x7c\x1e\x70\x69\x46\x53\x63\x76\x08\x63\x75\x84\x86\x83\x1a\x83\x8e\x86\x94\x86\x1e" -+"\xef\x4f\xa1\x7a\xba\x56\x08\x76\x9e\x8c\x8a\x94\x1b\x95\x92\x92\x94\x9f\x6b\xc8\x6c\xb3\x1f\x0e\xfb\x1e\xf7\x6e\xf9\x69\x15\xfd" -+"\x29\x07\xa4\x6d\x41\xb0\x79\x1b\x83\x83\x83\x83\x81\x8f\x86\x9b\x7e\x1f\xbb\x61\xa6\x69\xba\x3a\x08\x74\x98\x8e\x87\x92\x1b\x97" -+"\x8c\x8c\xac\x9e\x1f\xb0\xcc\xac\xb6\xba\xb3\x08\xa0\x9d\x8c\x8d\x94\x1a\x95\x84\x92\x82\x76\x4c\x6b\x6d\x65\x1e\xf9\x29\x07\x0e" -+"\xf7\xfe\xfa\x25\xf7\xad\x15\xc7\xfd\x29\x07\xa9\xb1\xab\xca\xa0\x1a\x94\x84\x92\x81\x82\x89\x8a\x76\x79\x1e\x67\x61\x63\x6b\x56" -+"\x6b\x08\x56\x6c\x8b\x8b\x7f\x1a\x84\x8f\x88\xa2\x7e\x1e\xdc\x5c\xad\x70\xb5\x5b\x08\x7b\x98\x90\x87\x95\x1b\x93\x93\x93\x93\x9d" -+"\x66\xd5\x72\xa9\x1f\x0e\xf7\xfe\xe1\xf7\xad\x15\xf9\x29\x06\x72\x6d\x66\x41\x79\x1a\x83\x93\x83\x93\x95\x90\x8f\x9b\x98\x1e\xb5" -+"\xbb\xad\xa6\xdc\xba\x08\xa2\x98\x8f\x8e\x92\x1a\x97\x8a\x8c\x6a\x9e\x1e\x4a\xb0\x60\xac\x63\xba\x08\xa0\x79\x89\x8c\x82\x1b\x81" -+"\x84\x84\x82\x76\xab\x4c\xa9\x65\x1f\xfd\x29\x06\x0e\xfb\x1e\xf7\x6e\x25\x15\xc7\xf9\x29\x06\x6d\xb1\xca\x6b\xa0\x1b\x94\x92\x92" -+"\x95\x94\x8a\x8d\x76\x9d\x1f\x61\xaf\x6b\xb3\x6b\xc0\x08\xc0\x6c\x8b\x8b\x7f\x1b\x84\x88\x87\x74\x7e\x1f\x5c\x3a\x70\x69\x5b\x61" -+"\x08\x7b\x7e\x87\x86\x81\x1a\x83\x93\x83\x93\x9d\xd4\xb0\xa4\xaa\x1e\x0e\xfb\x1e\xf7\x6f\xf7\x16\x70\x1d\xfb\x1e\xf7\x0d\x47\x15" -+"\x60\xf7\x9b\xb6\x07\xfb\x39\xf7\x96\x70\x1d\x7a\xa5\xfb\x6e\x15\x21\x0a\xbf\xf7\x8b\x05\x68\xb0\xbe\x79\xc6\x1b\xf7\x23\xf7\x0e" -+"\xf7\x17\xf7\x2c\xd2\x6d\xb4\x43\xa8\x1f\xe0\xb8\xb5\xc6\xd7\x1a\xec\x3d\xca\xfb\x0c\x36\x43\x70\x58\x5c\x1e\x63\x60\x79\x62\x76" -+"\x28\x08\xf7\x23\x99\x15\x98\xc8\x93\xa2\x9c\xa1\x08\xa6\x9f\xaf\x9d\xae\x1b\xb7\xa8\x6f\x60\x5b\x6e\x59\x63\x77\x1f\x79\x82\x78" -+"\x87\x65\x89\x79\x39\x18\x8c\x92\x95\x8b\x8d\x1b\xae\xa0\x86\x7e\x9d\x1f\xa4\x78\x9b\x6a\x6a\x1a\x2c\x42\x39\x36\x66\x69\x98\xa2" -+"\x72\x1e\x0e\x39\x4c\x0a\xf7\x06\xf8\x37\x2b\x0a\x39\x4c\x0a\x93\xf7\xa4\x15\xf7\x20\xf7\x27\x05\x3e\x06\x24\x2a\x4e\xec\x05\x3e" -+"\x06\xd2\xfb\x27\x05\x0e\x39\x79\x1d\x4b\xf8\x37\x29\x1d\x39\x4c\x0a\xb2\xf8\x27\x2e\x0a\x0e\x4f\xf7\xef\xf7\xbb\x15\x4f\xf7\x89" -+"\x05\xfb\x26\x06\xf7\x04\xfc\x03\xfb\xb4\xfc\x1b\x05\xf7\x2f\x06\xf7\x4c\xf7\xa5\xcf\xfb\xa5\x05\xf7\x28\x06\xfb\x0e\xf8\x1f\xf7" -+"\x9e\xf7\xff\x05\xfb\x2c\x06\x0e\xf7\xfe\xf8\x8b\xf9\x4b\x15\xfb\x5c\xfb\x36\xfb\x35\xfb\x5c\xfb\x58\xf7\x36\xfb\x36\xf7\x57\xf7" -+"\x59\xf7\x37\xf7\x37\xf7\x57\xf7\x58\xfb\x36\xf7\x39\xfb\x55\x1f\x87\xfb\xd0\x15\xfb\x52\xf7\x50\x05\xb8\xc2\xcc\xa2\xd1\x1b\xd0" -+"\xcb\x74\x60\xc4\x1f\xb3\x63\x15\xbb\x52\xa2\x4c\x42\x1a\x43\x74\x4b\x5d\x53\x1e\xfb\x54\xf7\x57\x05\xf7\x2c\xfb\x7f\x15\x5f\x54" -+"\x48\x73\x45\x1b\x45\x4b\xa2\xba\x50\x1f\xf7\x55\xf7\x55\x05\xfb\x7d\xfb\x2d\x15\x5f\xc1\x74\xcb\xd1\x1a\xd3\xa2\xcb\xba\xc4\x1e" -+"\xf7\x52\xfb\x50\x05\x0e\x9d\xf8\xd7\x16\x9f\x07\x84\x8d\x74\x90\x3e\x9e\x8b\x8c\x70\x9c\x19\x45\xbb\x64\xd8\xe4\x1a\x94\x07\x9b" -+"\x07\x9f\x67\x94\x7e\x97\x7c\x08\x5c\xb1\xc8\x6d\xc1\x1b\xe6\xd3\xd5\xe8\xe7\x4a\xd2\x39\x71\x80\x88\x79\x67\x1f\x88\x8a\x83\x86" -+"\x81\x87\x08\xa9\xb7\x94\xa5\xb0\x1a\xe5\x43\xd2\x2f\x2e\x44\x45\x31\x67\x92\x78\xad\x56\x1e\xa3\x58\x78\x91\x70\x1b\x3d\x49\x40" -+"\x33\x2d\xd3\x43\xe9\xdb\xd1\xbe\xe5\xb6\x1f\x8c\x72\x05\x83\x07\x54\x71\x45\x65\x5f\x1e\x5c\x5a\x8a\x8a\xfb\x0e\x6e\x83\x89\x18" -+"\x77\x07\x0e\xf4\xf8\x34\x83\x1d\xf8\x10\xf7\xb8\xa8\x0a\xd6\x91\xcf\xa2\x0a\x70\xf8\xb6\xf9\x2b\x23\x1d\x7d\x48\x20\x1d\x70\xfb" -+"\x12\x9e\x1d\x7f\x54\x05\x21\x0a\xf7\x13\xf8\xe8\x05\xc7\x06\x99\xce\x05\x4f\x06\x99\xcd\x22\x0a\xfb\x48\xfb\xb8\xe9\x1d\x36\x55" -+"\x6a\xb8\xd3\xf7\x0e\xd6\xf7\x01\xde\x1f\x0e\x6f\xf8\x0d\xf8\xa8\x15\x3a\x88\x59\x77\x56\x59\x08\x49\x4d\x61\x24\x29\x1a\xfb\x1a" -+"\xe5\x36\xf7\x22\xea\xe1\xb3\xd4\xc5\x1e\xba\xc6\xac\xee\xe0\x1a\xd4\x6e\xc3\x43\xcc\x1e\xfb\x0e\xf7\x03\x05\xf7\x7a\x06\xa3\xf7" -+"\x03\x05\xfc\x23\x06\x76\x2a\x05\xf7\x2c\xfb\x6c\x15\xc6\xaf\x5f\x41\x5b\x7b\x53\x71\x60\x1f\x57\x6b\x5c\x6e\x58\x1b\x51\x66\xb7" -+"\xd1\xf7\x13\xd9\xf4\xe9\x1f\x0e\xfb\x14\xf7\xa0\xf9\x89\x15\x42\xfb\x12\x4c\x31\xfb\x20\xfb\x44\xf0\xfb\x0f\xf7\x35\xfb\x78\x99" -+"\x61\xde\xf7\x20\xdf\xf7\x0b\xf7\x03\xf7\x1a\xfb\x0a\xf7\x25\x29\xf7\x1f\x4d\xf7\x00\x08\x0e\xfb\xc5\xf7\xa5\xf9\x7b\x52\x1d\x39" -+"\x65\x0a\xd4\xf8\x47\x82\x0a\x39\x4d\x0a\x91\xf7\xb7\x15\xf7\x1f\xf7\x27\x05\x3f\x06\x24\x2a\x4e\xec\x05\x3d\x06\xd3\xfb\x27\x05" -+"\x0e\x39\x4d\x0a\xad\xf8\x3a\x3b\x0a\xf7\xfe\xf9\x93\xf7\x6c\x15\xc8\xfc\x62\x07\x91\xf6\xc3\xbd\xf7\x01\x89\x08\xac\x0a\x42\x2c" -+"\x1a\xfb\x08\xb8\x38\xc2\x0a\xc9\xfb\xb7\x06\xfb\x01\x89\x53\xbd\x85\xf5\x08\x0e\x39\x4d\x0a\xf7\x15\xf8\x27\x2d\x0a\x70\xca\x16" -+"\x58\x1d\x89\x7f\x87\x74\x1f\x3b\xfc\x0b\x05\x6b\x84\x7d\x7f\x6d\x1b\x7c\x85\x48\x1d\xec\xf8\x5c\xb7\x1d\xfb\x20\x06\x0e\x39\xf8" -+"\x4f\xfb\x40\x15\x83\x76\x74\x88\x70\x1b\x6a\x79\x9a\xa7\xb1\xb1\xc3\xc3\xb8\x1f\xd2\xc1\xb3\xb8\xa5\xc1\x08\xfb\x1e\x06\x65\x77" -+"\x5f\x72\x5b\x1b\x52\x65\xaf\xc3\x95\x8c\x95\x8d\xa4\x1f\xf7\xff\x06\x8c\x0a\xfb\x0a\x27\x1a\xfb\x10\xe1\x37\xf7\x12\x9f\x97\x8c" -+"\x91\xa6\x1e\x35\x57\x70\x6b\x58\x1a\x57\xbc\x6e\xe0\xa5\x9e\x8d\x92\xaa\x1e\xfb\x60\xf8\xb3\x8f\x0a\x0e\xfb\x33\xf8\x09\xf7\xcb" -+"\x15\x32\x8c\x6d\x98\xb5\x1a\xb7\xb3\xab\xc2\xc1\xa4\x76\x5d\x8d\x1e\xf7\x20\x96\x06\xf0\x39\xc8\xfb\x1b\x45\x59\x7c\x6c\x61\x1e" -+"\x60\x6a\x73\x5d\x59\x1a\x61\x99\x6c\xa8\x74\x1e\x63\x7d\x79\x80\x78\x75\x08\x73\x70\x7c\x63\x66\x1a\x2e\xd9\x52\xf7\x10\xdc\xca" -+"\x1d\x50\x6b\x67\x74\x4f\x1b\x5c\x70\x9f\xae\xa9\x9d\xa7\xa8\x98\x1f\x9f\x94\x9d\x8d\xda\x8c\x08\x0e\xfb\x33\xf8\x09\xf7\xcb\x15" -+"\x36\x8c\x70\x98\xb5\x1a\xb7\xb0\xab\xbf\xc0\xa4\x76\x5d\x8c\x1e\xf7\x20\x06\x8c\x90\x8b\x90\x8c\x1a\xf0\x39\xc8\xfb\x1a\x47\x59" -+"\x7c\x6c\x63\x1e\x61\x6a\x74\x5d\x58\x1a\x62\x97\x6c\xa3\x74\x1e\x66\x7d\x79\x80\x79\x75\x08\x75\x71\x7d\x62\x66\x1a\x2e\xd6\x52" -+"\xf7\x0d\xdb\xca\x1d\x51\x6b\x66\x73\x51\x1b\x60\x72\x9f\xae\xa9\x9d\xa7\xa6\x98\x1f\x9f\x94\x9b\x8d\xd7\x8c\x08\xe9\xf8\xcc\x26" -+"\x1d\x54\xf8\xe6\xf7\xac\xc5\x0a\xc9\xf7\xb6\x15\xfc\x79\x06\x75\x27\x05\xf8\x79\x06\x51\xfb\xac\xc5\x0a\x0e\x65\xf8\xb8\xf7\x84" -+"\x15\x92\x07\x94\x07\x89\xd5\x86\xa8\x7c\xb2\x08\xde\x69\x3a\xbe\x28\x1b\xfb\x29\x2c\xfb\x00\xfb\x3e\xfb\x3c\xe6\x25\xf7\x2b\xf7" -+"\x06\xd7\xc0\xf2\xab\x1f\x8d\x90\x8d\x92\x05\x4b\x06\x8a\x89\x89\x86\x8a\x88\x08\x4f\x70\x53\x69\x42\x1b\x60\x68\x96\xa0\x73\x1f" -+"\x7b\x9a\x82\x9b\x80\xae\x8c\xe9\x18\xf7\xac\xc2\x15\xfb\xaa\xdc\x06\xcf\xab\xae\xa3\xce\x1b\xc1\xaf\x7b\x64\xac\x1f\x96\x7e\x8f" -+"\x84\x91\x7a\x08\x0e\x70\x82\x1d\x0e\x70\x82\x1d\xf7\x74\xc2\x1d\x69\xf8\x16\x81\x0a\xf8\x52\xf9\x6a\x15\x2a\x0a\x5e\xfb\x66\x72" -+"\xfb\xc9\x05\xcf\x06\xf6\xf7\xc9\x05\x3c\xfc\x06\x27\x1d\x0e\xfb\x6a\xbe\x16\xf7\xd9\xf8\xd5\xfb\xd9\x37\xf7\x85\xfb\x36\xfb\x85" -+"\x37\xf7\x85\xfb\x37\xfb\x85\x06\x0e\xf7\x04\xf7\xf4\xf7\x98\x15\xfb\x37\x60\xf7\x37\xfb\x3a\xbb\xf7\x3a\xf7\x35\xb6\xfb\x35\xf3" -+"\x06\xe7\xa2\xcc\xd9\xe2\x1a\xeb\x36\xdc\x27\x2a\x39\x38\x2a\x36\xcd\x3e\xe8\x74\x1e\xa6\xf7\xcb\x15\xd0\xc5\x50\x45\x43\x51\x51" -+"\x43\x43\x52\xc5\xd4\xd3\xc5\xc3\xd5\x1f\x0e\x39\xf8\x09\xf8\x40\x15\xfb\x08\x06\xaf\xf7\x38\x05\xf7\x92\x06\xa4\xf7\x0c\x05\xfc" -+"\x1e\x06\xfb\x2b\xfd\x5c\x20\x1d\xcd\xf7\xc8\x05\xf7\x07\x06\x49\xfb\xc8\x05\xf7\x17\x06\xba\xf7\x6d\x05\xda\x9b\xbe\xb7\xd4\x1b" -+"\x99\x62\x1d\x87\x8b\x86\x1b\x52\x4f\x61\x42\x5d\x1f\xa1\xf5\x05\xfb\x17\x06\x0e\x39\xf7\x3a\xfb\x6e\x15\xf7\x18\x06\xbb\xf7\x78" -+"\xf7\xcb\xf8\xa6\x28\x0a\xfb\x57\xfc\x14\x68\xf8\x14\x05\xfb\x28\x06\xe1\xfc\xa6\x05\x0e\x70\x60\x0a\xf7\x44\xf7\xd1\x15\x60\x7b" -+"\x68\x75\x57\x1b\x5c\x88\x0a\x70\x75\x1d\x90\xf7\xd4\x29\x1d\x70\x60\x0a\xf7\x05\xf7\x3e\x15\xa3\xf7\x04\x05\x48\x06\x92\xb8\xad" -+"\xaf\xb8\x93\x95\xb9\x18\x3f\x85\x48\x48\x80\x3d\x77\x2b\x18\x0e\x70\xf8\x9e\x29\x0a\x79\x38\x82\x9c\x84\x94\x77\xa2\x19\xaa\x70" -+"\x71\x97\x64\x1b\x3e\x3e\x64\x4a\x59\x1f\x53\x42\x67\x24\x30\x1a\x4b\x9c\x5a\xaf\x63\x1e\x6a\xaa\xb0\x7c\xbe\x1b\xd2\xc5\xa6\xbe" -+"\xb1\x1f\x7b\x42\x05\x4d\x7e\x4d\x5b\x48\x1b\x6c\x6e\x95\x9a\x7d\x1f\x83\x94\x87\x95\x9e\x1a\xfb\x25\x06\x8a\x82\x8a\x84\x87\x1a" -+"\x63\xaa\x5e\xb4\x76\x1e\x78\xae\xb6\x83\xc7\x1b\xf7\x3d\xf1\xcf\xf7\x18\xa7\x1f\xf7\x0a\xf8\xc2\x05\xfb\xa6\xfb\x00\x15\xc4\xac" -+"\x62\x42\xfb\x0c\x3d\x23\x32\x57\x6d\xb0\xcb\xf7\x0f\xd7\xf7\x06\xde\x1f\xf7\x0b\xf7\xcb\x49\x1d\x32\xf8\xae\xf3\x15\xfc\x7d\x06" -+"\x75\x23\x05\xf8\x7d\x06\xfc\x5f\xf7\x20\x15\xf8\xa3\xf7\x49\xa5\xf7\x0d\xfc\x56\xf7\x4a\x6f\xfb\x17\xf7\xb8\xfb\x03\xfb\xe7\xfb" -+"\x05\x05\x0e\x70\xf7\xf2\xf9\x34\x15\x97\xc4\x22\x0a\x7f\x52\x05\x4d\x27\x0a\xc9\x06\xfb\x12\xfc\xe4\x20\x1d\xd0\xf7\xd8\x05\xc7" -+"\x98\xc4\xb9\xc9\x1b\xb5\xa6\x74\x67\x83\x89\x7a\x87\x7b\x1f\x45\xfb\xde\x20\x1d\xd8\xf7\xfe\x05\x8f\x9d\x8d\x9f\x9b\x1a\xdc\x53" -+"\xbf\x33\x67\x63\x81\x7a\x69\x1e\x71\x7e\x7f\x7f\x70\x68\xa7\xf7\x16\x18\xf7\x48\x06\x9c\xdb\x05\x0e\x70\x86\x1d\x3c\xb1\x1d\x5f" -+"\xf7\xbc\x6f\x15\x9c\xde\xc7\xf3\xf7\x0b\xf7\x2b\xb4\xc0\x9b\xa0\x9a\xa3\x08\xb1\xca\x9d\xc2\xc1\x1a\xdc\x45\xcf\x36\x5b\x5f\x76" -+"\x65\x6b\x1e\x76\x72\x80\x75\x7e\x5d\x08\xf2\x67\x56\xbb\x3a\x1b\x36\x48\x46\x34\x4a\xa3\x57\xdc\xfb\x02\x1f\xf7\x2c\xfb\x60\xb2" -+"\x49\xa5\x24\x08\x0e\x69\x96\x16\xf8\xdb\xf8\x25\x06\xfb\xb8\xf7\xdc\xfb\xb7\xfb\xdc\x05\xbe\xfb\xf2\x15\xf7\xdc\x07\xf7\x84\xf7" -+"\xa2\xf7\x85\xfb\xa2\x05\xfb\xdc\x07\x0e\x2a\x1d\xf7\x46\xf9\x86\x9b\x1d\x39\xf7\xea\x87\x0a\xf7\xaa\xf7\x11\x9f\x0a\x7e\x4b\x5b" -+"\x0a\x7c\x85\x48\x1d\x0e\x2a\x1d\xf7\x6d\xf9\x66\x15\xfb\x9f\x27\x0a\xf7\x9f\x06\x0e\xd6\xf8\x37\xf7\xbd\x15\x6d\xae\x80\x96\x79" -+"\x9b\x08\xa8\x6b\x63\x9b\x65\x1b\x32\x38\x39\x34\x4a\xb9\x5d\xcd\xc5\xc2\xa7\xda\xf1\x1f\x37\xd7\xb0\x74\xc2\x1b\xe6\xde\xdc\xe3" -+"\xcc\x5d\xb9\x4b\x63\x5b\x7b\x6e\x5f\x1f\x75\x7c\x85\x87\x51\x60\x08\xa8\x6a\x15\xc7\xd5\xc4\xa9\xb6\x1b\xb3\xab\x6b\x65\x53\x54" -+"\x55\x52\x6f\x79\x93\xa9\x66\x1f\x74\x9e\x81\x95\x79\xa2\x08\x44\x16\x71\x75\x80\x83\x67\x75\x08\x6e\x5c\x73\x82\x6e\x1b\x62\x6b" -+"\xaa\xb3\xc4\xc1\xbf\xc5\xb4\xb9\x6c\x50\xba\x1f\x0e\xfc\x00\xf7\x50\xf8\x9f\x15\xb0\x85\xda\x82\xe8\xda\x1d\x8e\x8a\x80\x95\x1e" -+"\x81\x95\x97\x86\x98\x1b\xa6\xa0\xa1\xa7\xa9\x6f\xa3\x68\x60\x6c\x6c\x51\x7d\x1f\x7b\x4b\x86\x46\xfb\x45\x1a\xfb\x78\x07\x5f\x8f" -+"\x4e\x95\x22\xc0\x1d\x95\x8e\x0a\x0e\x69\xf7\xab\xf9\xb4\x15\xfc\xfa\x07\x5f\x8f\x4e\x95\x23\xc0\x1d\x94\x8e\x0a\xf8\xf2\x07\x0e" -+"\x69\xf7\xf4\xfb\x61\x15\xf8\xfa\x07\xb7\x87\xc8\x81\xf3\xda\x1d\x8d\x8a\x80\x96\x1e\x82\x95\x96\x86\x99\x1b\xa5\xa1\xa1\xa6\xaa" -+"\x6f\xa3\x68\x5f\x6c\x6c\x51\x7d\x1f\x7b\x4b\x86\x42\xfb\x41\x1a\xfc\xf2\x07\x0e\xdc\xf8\xeb\x16\xf7\xa1\x07\xf7\x29\x86\xb1\x71" -+"\xb7\x1e\xd1\x61\x3e\xb4\x31\x1b\x38\x46\x6a\x4d\x5e\x1f\x66\x5a\x85\x67\xfb\x36\x1a\xfb\xa1\xd1\xf7\xa4\x07\xf7\x05\x91\xba\x9d" -+"\xad\x1e\xbd\xa6\xc5\xad\xc8\x1b\xc4\xc2\x6e\x5d\xa8\x1f\xa2\x67\x91\x62\xfb\x12\x1a\xfb\xa4\x07\x0e\xf8\x32\xf8\xa3\xf9\x6e\x15" -+"\xfb\x5b\xfb\x3a\xfb\x38\xfb\x57\xfb\x63\xf7\x35\xfb\x38\xf7\x5d\xf7\x61\xf7\x37\xf7\x36\xf7\x5f\xf7\x5e\xfb\x37\xf7\x37\xfb\x5e" -+"\x1f\xfb\x01\xfb\x63\x15\xa9\xa4\x72\x6d\x6d\x72\x72\x6d\x6d\x72\xa4\xaa\xa8\xa5\xa4\xa8\x1f\xfb\x14\xfb\x05\x15\x96\x59\x96\x75" -+"\xa5\x6d\x08\x54\xbb\xc7\x71\xdc\x1b\xdc\xc7\xa5\xc2\xbb\x1f\xa5\xa9\x96\xa1\x96\xbd\x84\x36\x80\x62\x6d\x5e\x08\x4c\x61\x4b\x6b" -+"\x38\x1b\x3e\x4f\xa6\xc1\x61\x1f\x67\xba\x7c\xb8\x84\xe8\x08\xf7\xee\xf7\x05\x15\xa9\xa4\x72\x6d\x6d\x72\x72\x6d\x6d\x72\xa4\xaa" -+"\xa8\xa5\xa4\xa8\x1f\x0e\xf7\xd2\xf8\xb0\x23\x1d\xfb\x07\xfc\xb0\x05\xd4\x06\x2e\x53\x67\x61\x57\x1a\x57\xb8\x6c\xd5\x9e\x8e\x8b" -+"\x94\xb4\x1e\x96\xbf\x05\x82\x6d\x86\x8a\x7c\x1b\x6c\x7b\x9a\xa6\xb8\xaf\xbd\xcb\xb8\x1f\xf7\x2f\xf9\x6d\x23\x1d\x71\xfb\x11\x20" -+"\x1d\x0e\x47\x0a\x0e\x47\x0a\xbd\xf9\x7b\x44\x0a\x47\x0a\xb0\xf9\x7b\x52\x1d\x47\x0a\xf7\x29\xf9\xa9\x26\x1d\x2a\x1d\xf7\x67\xf9" -+"\x7c\x15\x69\x7e\x79\x7a\x74\x1b\x80\x88\xe0\x1d\x73\x1b\x54\x60\x61\x40\x74\x1f\xc1\x06\xac\x9b\x9b\x9a\x9d\x1b\x93\xa1\x84\x84" -+"\x99\x1f\xbe\x72\x05\x85\x98\xa0\xdf\x1d\x96\xa0\x96\xb3\x08\x0e\xf7\xd9\xf8\xb0\x5b\x0a\x7d\x84\x48\x1d\xc4\xf9\xe7\x39\x0a\x43" -+"\xf7\xa6\xf7\xde\x15\xb8\xf7\x66\x5d\x1d\xaf\xf7\x3b\xd8\xd1\xd9\xfb\x81\x05\xf7\x27\x06\xfb\x0b\xf7\xd8\xf7\x87\xf7\x6c\x05\xfb" -+"\x3e\x06\x0e\x39\x7b\x0a\x5a\xfc\x1a\x3c\x0a\x5f\x68\x66\x5f\x83\x81\xb2\x0a\xa0\xeb\x18\x0e\x39\xf7\xcc\xf8\xb0\x23\x1d\xfb\x05" -+"\xfc\xb0\x9a\x1d\x0e\x47\x1d\xf7\x9f\x56\x0a\x39\x9b\x16\xf7\x26\x06\xf7\x50\xf7\xec\xbc\xfb\xec\x05\xf7\x26\x06\xfb\x1c\xf9\x6d" -+"\x22\x0a\xb5\xfb\x82\x05\x0e\xfb\x82\x47\x1d\xf7\x6b\xf9\x6d\x31\x0a\x47\x1d\xfb\x24\x4f\x31\x0a\xfb\x33\xf7\xff\xce\x1d\xf7\xe6" -+"\xf8\x53\x27\x1d\x0e\x32\xf8\xa5\xf3\x15\xfc\x7d\x06\x75\x23\x05\xf8\x7d\x06\xf7\x19\xf9\x04\x15\xfc\xa4\xfb\x49\x72\xfb\x0d\xf8" -+"\x56\xfb\x4a\xa7\xf7\x17\xfb\xb8\xf7\x03\xf7\xe7\xf7\x05\x05\x0e\x39\xf8\x4f\xf7\xd0\x15\x97\xc2\x05\xfb\x1f\x06\x8a\x91\x89\x95" -+"\x87\x9c\x82\xab\x19\x81\xb1\x89\x93\xa0\x1d\xfb\x1c\x3b\x47\x72\x5b\x57\x1e\x5a\x5e\x6d\x4d\x51\x1a\x71\x8f\x79\x9e\x54\x1e\x8e" -+"\x84\x05\x4f\x06\x7f\x54\x05\xe4\x06\x8c\x86\x05\x87\x07\x8c\x84\x8c\x86\x8c\x82\x08\x24\x06\x7f\x54\x05\xf7\x04\x06\x81\x53\x63" -+"\x61\x31\x56\xac\x26\x18\xa0\xbc\xa8\x92\xb0\x1b\xa6\xa2\x87\x80\xb8\x1f\x7f\xbc\x9f\x88\xa6\x1b\xbc\xb5\x97\xac\xcb\x1f\x79\xf7" -+"\x02\x05\x76\x5e\x6a\x82\x67\x1b\x7a\x74\x8e\x90\x71\x1f\x94\x5f\x88\x8b\x79\x1b\x6c\x7e\x87\x6e\x4b\x1f\xd9\xc1\xb8\xba\x9b\xb7" -+"\x08\xf7\x02\x06\x97\xc2\x05\xfb\x02\x90\x06\x93\x8b\x8e\x89\x99\x1e\x0e\xf7\x5e\x16\xf7\x10\xf8\xda\x7c\x0a\x0e\xf7\x04\xf8\x14" -+"\xf8\x82\x15\x9f\x64\x72\x92\x6a\x1b\x27\x37\x38\x29\x2a\xe5\x36\xf2\xab\xa9\x93\x9b\xa6\x1f\xbe\xaa\xae\xc4\xbf\x1a\xb6\x78\xbd" -+"\x68\xc0\x1e\xf7\x2a\xf7\x2a\x8e\x79\xa1\x52\x9a\x6e\x19\x77\x96\x90\x85\x95\x1b\x92\x90\x90\x92\x8e\x8b\x8b\x88\x9d\x1f\x84\xae" -+"\x89\xa1\xa6\x1a\xab\x91\xbd\x92\xa2\x1e\x8d\x90\x8b\x8d\x8d\x1a\x91\x87\x8f\x84\x88\x88\x8b\x8a\x88\x1e\x81\x69\x6d\x87\x67\x1b" -+"\x70\x75\x8d\x92\x68\x1f\x8e\x79\x8b\x8b\x88\x1b\x85\x85\x84\x85\x7b\xb5\x73\xc2\x7a\x1f\xa2\x84\x91\x89\x05\xfb\x8c\xfb\x41\x15" -+"\xd3\xc7\x4e\x42\x41\x4f\x4f\x41\x40\x4f\xc7\xd6\xd5\xc7\xc6\xd8\x1f\x0e\xfc\x22\xf7\x7b\xc1\x0a\x0e\xfb\x1e\xf7\x7f\xf7\x53\x15" -+"\x93\x75\x7b\x8f\x7a\x1b\x46\x4f\x52\x49\x65\xa8\x73\xb8\xbe\xba\xa4\xb5\xa9\x1f\xa0\xa9\x94\xaa\xb8\x1a\xf7\xd4\x07\xab\x85\xa1" -+"\x7b\xa2\x66\x08\xa3\x65\x95\x65\x55\x1a\x59\x81\x61\x73\x51\x1e\xa8\x06\xb2\xb9\xa0\xc7\xcc\x1a\xdc\x6b\xdb\x4c\xd6\x1e\x53\xce" -+"\x89\x8d\x83\x95\x86\x92\x19\xcb\x5b\x07\x0e\xf7\x04\xf7\x95\xf9\x19\x15\xfc\x59\x8b\x0a\xf7\xf0\x07\xf7\xb5\x5f\x05\xfc\x03\x8b" -+"\x0a\xf8\x52\x07\x0e\x70\x34\x1d\xf7\xa8\xf7\x6d\x2b\x0a\xd1\xf7\xa5\xf8\xb0\x15\xfb\x07\xfc\xb0\x05\x58\x1d\x8a\x80\x85\x73\x1f" -+"\x49\xd6\x1d\x9e\x9c\x1a\xdb\x51\xbf\x32\x41\x55\x70\x4b\x55\x1e\x9d\xdd\x05\xfb\x94\xf7\x51\x31\x0a\x70\x34\x1d\xf7\x34\xd1\x3a" -+"\x0a\xd3\xfb\x27\x05\x0e\x70\x34\x1d\x34\xfc\xec\x3c\x0a\x5f\x68\x66\x5f\x68\x1d\x95\xd9\xa0\xeb\x18\x0e\xf7\xfe\xf8\xa4\xf7\x6c" -+"\x15\xf7\x83\xc8\xfb\x60\x06\xe3\xf7\x2f\x05\xf7\x08\xc9\x3a\x06\xac\xc6\x61\xa3\x5c\x38\x05\xfb\x23\x06\x38\x68\x84\x72\x65\x1f" -+"\x4b\x60\x69\x42\x2c\x1a\xfb\x08\xb8\x37\xdc\x69\x1e\x6a\x52\xb6\x74\xb1\xce\x05\x88\xa5\x97\x8a\xb5\x1b\xf7\xac\xc9\xfb\xb7\x06" -+"\x77\x85\x8b\x8c\x82\x1f\xaa\xf7\x2d\x15\x3a\xfb\x21\x57\x9d\x6c\xbe\x88\xd3\x19\xf7\xb6\xf7\x6c\x15\x33\xfb\x2f\x05\xfb\x5e\x06" -+"\x91\xf6\xc3\xbd\xf7\x01\x89\x08\x0e\x32\xf7\x04\xbf\x15\x5b\x4c\xea\x4c\xec\xf7\x12\x05\xf7\xa5\x06\xa4\xf7\x0c\x05\xfb\x63\x06" -+"\xe8\xf7\x0c\x20\x1d\xa4\xf7\x0c\x05\x42\x06\xc0\xd0\x2c\xca\x25\xfb\x18\x05\xfb\xa0\x31\x1d\xf7\x5d\x06\x2e\xfb\x0c\x05\xfb\x1a" -+"\x31\x1d\x0e\x39\xf7\xf1\x16\xf7\xc1\xf8\xb0\x05\xfb\x2b\x06\xfb\x55\xfc\x1f\x6a\xf8\x1f\x05\xfb\x25\x06\xd5\xfc\xb0\x05\x0e\x70" -+"\x36\x0a\xf7\x35\xf7\xd1\x53\x1d\x70\x36\x0a\xf7\x17\xf7\xd4\x49\x0a\xd2\x06\xf7\xed\xf7\x27\x49\x0a\xd2\x06\x0e\x70\x36\x0a\xf7" -+"\x6b\xf7\xb1\x15\xfb\xc0\x27\x0a\xf7\xc0\x06\x0e\xf7\x58\x71\x1d\x0e\xf7\x58\x71\x1d\xfb\x1b\xc2\x1d\x70\x81\x1d\x0e\x70\x81\x1d" -+"\xf7\x08\xf7\xf5\x26\x1d\xf7\xe9\xbd\x16\xfa\x04\xcd\xfd\xc2\xf9\xb8\x49\x06\x0e\x70\x73\x1d\xec\xf8\x01\x2b\x0a\xfb\x24\xf5\xf9" -+"\x32\x15\xac\xd5\x8b\x8b\xb1\x1b\xb9\xb2\x79\x69\xa3\x1f\xad\x5c\xa0\x40\x41\x1a\x6e\x89\x74\x83\x4f\x1e\xc0\x46\x70\x97\x55\x1b" -+"\x5a\x64\x7b\x69\x69\x1f\x5d\x5c\x6f\x48\x4a\x1a\xfb\x01\xde\x36\xf6\xd7\xc8\xb4\xd8\xb6\x1e\xb1\xcf\xa7\xf7\x16\xf3\x1a\xf7\x5c" -+"\xfb\x03\xf7\x25\xfb\x2d\x5e\x5c\x81\x79\x63\x1e\xf7\xbf\xfc\x36\x15\x7e\x33\x83\x6a\x7c\x5f\x08\x3d\x70\x5e\x5f\x54\x1b\x53\x6a" -+"\xbe\xe1\xf7\x08\xcd\xea\xdc\xb5\xb0\x76\x63\xa5\x1f\x0e\xf8\x66\xf7\x9f\xf7\x8c\x15\xec\x06\xd6\xc7\xa5\xc2\xbd\x1f\xbe\xc3\xab" -+"\xdb\xd5\x1a\xc0\x75\xbc\x64\xaa\x1e\xa8\x68\x64\x96\x4b\x1b\xfb\x64\x06\xfb\x2b\xfd\x5c\x20\x1d\xd9\xf8\x01\x15\xbb\xf7\x77\x05" -+"\xca\x06\xc6\xac\x6d\x55\x6a\x80\x66\x7c\x75\x1f\x68\x72\x68\x7b\x55\x1b\xf8\x2a\xfb\xab\x15\x89\x81\x85\x8a\x82\x1b\x75\x7b\x95" -+"\x9a\x8c\x1f\x8f\x8d\x97\x8f\x9d\x1e\x9f\xe6\x05\xcd\x06\x9d\xe1\x05\x49\x06\xa4\xf7\x0b\x05\xfb\x17\x06\x72\xfb\x0b\x05\x57\x06" -+"\x79\x35\x05\xbf\x06\x6f\xfb\x15\x05\x88\x7d\x89\x7b\x80\x1a\x53\xb3\x6d\xd7\xa5\x96\x8d\x94\xa5\x1e\xf8\x02\xf7\x82\x15\x8f\x99" -+"\x8c\x91\x93\x1a\xc1\x5a\xae\x3e\x59\x62\x7e\x71\x6f\x1e\x70\x72\x7a\x67\x68\x1a\x64\xa3\x73\xc4\x79\x1e\xb7\x7c\x05\xab\x81\x8f" -+"\x89\x81\x1a\x78\x7a\x80\x6c\x69\x7b\x96\xa1\x8a\x1e\x26\x06\x89\x80\x8b\x87\x85\x1a\x52\xc2\x65\xdd\xf7\x00\xcd\xc1\xe3\xb0\x71" -+"\xa5\x57\x9a\x1e\x54\x9c\x05\x73\x92\x87\x8e\x96\x1a\x9c\x99\x93\xa7\xa4\x98\x84\x7d\x86\x8a\x88\x88\x86\x1e\x0e\xcd\xf7\xc1\xe2" -+"\x15\x70\x8e\x7e\x8f\x7d\x96\x08\x6f\x9f\x7b\xb2\xba\x1a\xea\xb8\xea\xcd\xb6\x1e\x9d\xe2\x05\xfb\x32\x65\x22\xfb\x1d\xfb\x3f\x1a" -+"\x55\x99\x60\xaa\x69\x1e\xaf\x61\xbb\x78\xdd\x85\x5f\xfb\x61\x18\xf7\x17\x06\xb7\xf7\x61\xe6\x91\xc6\xa1\xc4\xbc\x19\xd6\xcb\xb9" -+"\xf3\xf6\x1a\xf7\x1e\x2d\xd3\xfb\x49\x72\x7c\x8a\x88\x72\x1e\xf7\x01\x26\x15\xa7\x88\x97\x87\x9a\x81\x08\xa6\x78\x9c\x63\x5c\x1a" -+"\x54\x78\x4f\x6d\x60\x1e\x69\x5b\x67\x75\x53\x85\x08\x0e\xd5\xf9\xa1\x29\x0a\xfd\x07\x4e\x1d\xd8\x06\x30\xfc\x40\x05\x6c\x1d\xf7" -+"\x5c\x06\x30\xfc\x40\x05\x6c\x1d\xd1\x06\x0e\xf7\xfa\xf7\x80\xfb\x30\x15\x3e\x36\xf7\x8f\x06\x8a\xe0\x05\x40\xf9\xab\xf7\xfe\xfd" -+"\xab\x45\x06\x8c\x36\x05\xf7\x84\xe0\x42\xf9\xab\xf0\xe0\xfd\x8f\x36\xf3\x06\x0e\xf7\xfe\xf9\x93\xc9\x15\xfb\xb7\x06\xfb\x0d\x57" -+"\xc2\xf7\x16\xf7\x15\xbf\xc3\xf7\x0d\x1f\xac\x0a\x43\x2b\x1a\xfb\x07\xb8\x37\xc2\x0a\x06\x0e\xf7\xfe\xf7\x7d\xc9\x15\x4d\xf7\xac" -+"\x07\xde\xae\x92\xa4\xb1\x1f\xcc\xb6\xac\xd4\xee\x1a\xf7\x03\x5d\xe0\x3d\xac\x1e\x99\x69\x70\x8f\x46\x1b\xfb\xac\x4d\xf7\xb7\x06" -+"\xf7\x0d\xbf\x54\xfb\x16\xfb\x16\x57\x54\xfb\x0d\x1f\x0e\xf7\x1b\xf7\xa6\xfb\x6e\x15\xf7\x19\x06\xb6\xf7\x60\x05\xdf\xbe\x97\xac" -+"\xc1\x1f\xd1\xb9\xa4\xb7\xa5\xf7\x13\xc9\xf7\xb8\x18\xfb\x20\x06\x4f\xfb\xb1\x75\xfb\x03\x5f\x5a\x38\x89\x19\xea\xf8\x53\x05\xfb" -+"\x19\x06\x2c\xfc\x53\x05\x4c\x8e\x70\xa5\xc5\x1a\x9b\x8f\xaa\x91\xa7\x1e\xc7\xf7\xb1\x22\x0a\x4d\xfb\xb8\x05\x85\x6b\x87\x6d\x72" -+"\x1a\x64\x9c\x62\xa8\x6e\x1e\xb5\x61\xb5\x7a\xda\x84\x08\x0e\xf8\x04\x22\x1d\xfb\x1c\x06\x74\xfb\x01\x05\x86\x74\x88\x76\x82\x1a" -+"\x54\xb8\x64\xce\x87\x1e\x94\xb9\x05\x60\x94\x76\x9e\xab\x1a\x92\x8c\x93\x8d\x99\x1e\xdc\x06\x0e\xfb\x8d\x8d\x1d\xf7\x4a\xf7\x6d" -+"\x2b\x1d\x32\xf9\x36\xfa\x25\x15\xfb\xbb\xfd\xa8\xfb\x02\xf8\x20\xfb\x37\x42\x96\x6a\xf3\xb9\xf7\x1b\xfc\x85\xf7\xf5\xfa\x44\x05" -+"\x0e\xfb\x8d\x65\x1d\x9c\xbe\xb4\xde\x1b\x9a\x62\x1d\x87\x8b\x86\x1b\x4a\x4b\x61\x42\x5d\x1f\xa2\xf5\x05\xd7\xd1\x3a\x1d\xfb\x8d" -+"\x65\x1d\x9d\xbd\xb4\xde\x1b\x9a\x95\x8a\x88\x9c\x1f\xa9\xf7\x22\x05\x8c\x83\x88\x8b\x85\x1b\x4b\x4b\x61\x42\x5d\x1f\xa1\xf5\x05" -+"\xfb\x96\xfc\xec\x31\x0a\x55\xf9\x0c\xf8\x0c\x15\xfc\x8c\x06\x4e\xfb\xb6\x05\xf7\x0b\x06\xaf\xf7\x3e\x05\xf8\x15\x06\x0e\x6a\x97" -+"\xfb\x6e\x15\x21\x0a\xc7\xf7\xaf\x94\x7a\x8f\x83\x94\x81\x19\x6b\xa6\xbc\x76\xbe\x1b\xf7\x2a\xf7\x15\xf7\x33\xf7\x4e\xf7\x21\x35" -+"\xe2\xfb\x20\x3d\x45\x6e\x56\x55\x1f\x57\x57\x72\x53\x72\xfb\x07\x08\xf7\xbd\xf7\x53\x15\xc6\xab\x63\x41\xfb\x11\x43\x20\x36\x54" -+"\x64\xb8\xc9\xc1\x9c\xca\xa6\xba\x1f\xba\xa6\xb6\xa7\xb9\x1b\x0e\x39\x61\x0a\xf7\x0d\xf8\x1b\x2b\x1d\x39\xf7\xb4\x75\x15\xf7\x3a" -+"\xf4\xdd\xf7\x13\x95\x0a\x6a\x85\x8a\x87\x89\x82\x1e\xf7\x1b\x06\x8f\x9d\x8c\x93\x97\x1a\xe6\x3f\xc1\xfb\x12\x3c\x48\x76\x65\x60" -+"\x1e\x60\x65\x6f\x52\x59\x1a\x52\xb4\x65\xe3\x6e\x1e\xda\x72\x05\xca\x77\x98\x82\x74\x1a\x6b\x60\x74\x4e\x48\x67\xa2\xb8\x88\x1e" -+"\xfb\x1d\x06\x88\x7d\x8a\x84\x82\x1a\x54\xb2\x58\xc7\x74\x1e\x7e\xab\xa3\x85\xa2\x1b\x55\x36\xbc\x0a\x6d\x78\x65\x6f\x56\x1d\x64" -+"\x7b\x7f\x89\x87\x7c\x1f\x0e\x39\x61\x0a\x51\xf8\x1b\x15\xfb\x20\xfb\x27\x05\xd8\x06\xf2\xec\xc8\x2a\x05\xd8\x06\x44\xf7\x27\x05" -+"\x0e\x39\xf8\xdc\xf8\x02\x5e\x1d\x3b\x4a\x77\x64\x5f\x1e\x5f\x65\x70\x53\x58\x1a\x52\xb3\x65\xe4\x6e\x1e\xda\x72\x05\xca\x77\x98" -+"\x82\x74\x1a\x6b\x60\x74\x4e\x68\x6c\x93\x99\x78\x1e\x7d\x97\x85\x96\x8a\xa2\x08\xfb\x1d\x06\x88\x7e\x8a\x84\x82\x1a\x5d\xa8\x5c" -+"\xb7\x72\x1e\x74\xb2\xba\x81\xc9\x1b\xf7\x3e\xf7\x00\xdd\xf7\x14\x95\x0a\x69\x86\x8a\x87\x89\x82\x1e\xfb\x83\xfc\x3e\x15\x73\xfb" -+"\x04\x05\xce\x06\x84\x5e\x69\xc3\x1d\xfb\x33\xf7\x93\xc1\x0a\xf7\x60\xf7\x94\x15\x41\x06\x55\xfb\x94\x05\xc4\x06\x0e\xa5\xf8\x91" -+"\x29\x0a\x93\x67\x7a\x8d\x70\x1b\x37\x3c\x6b\x54\x56\x1f\x4b\x48\x63\x26\x29\x1a\xfb\x1a\xe5\x35\xf7\x21\xde\xd9\xa9\xc1\xc3\x1e" -+"\xc5\xc3\xb0\xe2\xdb\x1a\xc8\x7b\xb6\x66\xb3\x1e\xf7\x07\x06\xa3\xf7\x04\x05\xfb\xd0\x23\x15\xc8\xae\x61\x40\x5c\x7b\x53\x73\x61" -+"\x1f\x54\x6a\x5e\x6e\x58\x1b\x4e\x67\xb6\xd2\xf7\x12\xd8\xf5\xe8\x1f\x0e\xf8\x13\xf8\x93\xf9\x6e\x15\xfb\x5b\xfb\x3a\xfb\x38\xfb" -+"\x57\xfb\x63\xf7\x35\xfb\x38\xf7\x5d\xf7\x61\xf7\x37\xf7\x36\xf7\x5f\xf7\x5e\xfb\x37\xf7\x37\xfb\x5e\x1f\x5a\x04\xf7\x43\xf7\x21" -+"\xfb\x21\xfb\x43\xfb\x44\xfb\x21\xfb\x20\xfb\x45\xfb\x43\xfb\x1f\xf7\x22\xf7\x47\xf7\x3e\xf7\x23\xf7\x21\xf7\x41\x1f\xfb\x01\xfb" -+"\x37\xa1\x0a\xfb\x14\xfb\x00\x15\x92\x36\x96\x62\xa9\x5e\x08\x4c\xb5\xcb\x6b\xde\x1b\xd8\xc7\xa6\xc1\xb5\x1f\xaf\xba\x9a\xb8\x92" -+"\xe8\x80\x59\x80\x75\x71\x6d\x08\x54\x5b\x4f\x71\x3a\x1b\x3a\x4f\xa5\xc2\x5b\x1f\x71\xa9\x80\xa1\x80\xbd\x08\xf7\xee\xf7\x00\xa1" -+"\x0a\x0e\x20\xf7\xc0\xf7\x99\x15\x7f\x07\x44\x6b\x45\x5a\x66\x1e\x6c\x62\x56\x7a\x57\x1b\x7e\x74\xf8\x77\xa2\x06\xfb\x32\x91\x3c" -+"\xe3\x8e\xf7\x3d\x08\x35\xb9\xb6\x6d\xda\x1b\xcd\xc4\xca\xd4\xd0\x73\xb0\xfb\x01\xef\x1f\xfb\x02\xf1\x7a\xa5\x63\xf7\x09\x7c\x30" -+"\x4d\x31\x23\x38\x08\x3c\x49\x67\x51\x4c\x1a\x40\xc8\x4d\xd4\xb4\xb4\x9c\xa9\xac\x1e\x9e\x9d\x96\x9a\x9c\xb0\x08\x0e\xf7\xfa\xf9" -+"\x6a\xf9\x7e\x15\xfc\x7f\x38\x06\xf7\x55\xfb\xe8\xfb\x55\xfc\x06\x05\x36\xf8\x87\xf7\x7d\x2d\x07\x89\xfb\x1e\x05\xfb\xb2\x06\xf7" -+"\x4f\xf7\xfe\xfb\x4e\xf7\xda\x05\xf7\xaa\x06\x8f\xfb\x1e\x05\xe6\x06\x0e\xf7\xab\xf7\x94\xf8\xa3\x15\x73\x74\x6c\x42\x67\x1a\xfb" -+"\x10\x4f\xf7\x10\x06\x68\x9c\x60\xb0\x54\x1e\x34\x34\xb4\x62\xe3\xe2\x9d\x78\xa1\x7e\xa1\x86\x19\xce\x7a\x8e\x8a\x05\xfb\x0f\xc6" -+"\xf7\x0f\x07\x8f\x8c\xb2\x95\xa5\x91\x8d\x8c\x19\x96\x90\x9e\x96\xab\xa0\xe3\x34\x18\xb4\xb4\x34\xe2\x9d\xa6\x99\xa4\x8f\x96\x19" -+"\x8e\x92\x90\x9f\x96\xb6\x08\xf7\x0f\xc7\xfb\x0f\x06\x81\xb3\x85\xa2\x88\x92\x87\x96\x7d\xa4\x79\xa6\xe2\xe1\x18\x62\xb4\x33\x35" -+"\x6d\xa6\x7e\x91\x31\xa1\x19\xf7\x0e\x50\xfb\x0e\x07\x88\x8a\x48\x79\x84\x89\x77\x7f\x68\x74\x19\x33\xe2\x62\x62\x05\xf7\xba\x50" -+"\x15\xef\xde\x36\x26\x24\x38\x37\x24\x22\x3a\xdd\xf5\xf3\xde\xdc\xf5\x1f\x0e\xfb\x79\xf7\x1b\x16\x6c\x1d\xf7\x05\x06\xa3\xf7\x04" -+"\x05\xfc\x09\x4e\x1d\xf7\x0c\x06\x0e\xfb\xc5\x92\x0a\x77\x2b\x05\x4f\x06\x7d\x48\x05\xc6\x06\x68\xfb\x3d\x05\x87\x7d\x8a\x7e\x7d" -+"\x1a\x53\xb3\x6d\xd4\xac\xa3\x8e\x93\xa7\x1e\x9f\xed\x05\x89\x7d\x84\x8a\x7f\xe3\x1d\xa7\xf7\x17\x05\xd3\x06\x99\xce\x05\x44\x06" -+"\x9f\xeb\x05\xd9\x06\x0e\xfb\x8d\x6f\x0a\xc9\xf8\x1d\x3c\x0a\x5e\x68\x67\x5e\x83\x82\xb2\x0a\x9f\xeb\x18\x0e\xfb\xc5\xf7\x52\x75" -+"\x15\x8a\x94\x92\x8b\x95\x1b\xaa\xa3\x8e\x93\xa7\x1f\x9f\xbe\x0a\x8f\x8d\x98\x8f\x9c\x1f\xc9\xf7\xba\x05\xd9\x06\x9f\xe8\x05\x85" -+"\x0a\x69\x9b\x71\xa9\x7d\x1e\x4e\x2c\x05\x95\xa3\x97\x8e\x9c\x1b\xa5\x9d\x7e\x78\x71\x6e\x78\x65\x6e\x56\x1d\x63\x7c\x7f\x89\x87" -+"\x7b\x1f\x0e\x3b\xf8\x3b\xf9\x76\x15\x2a\x38\x5b\x33\x54\x1f\x51\x30\x5e\xfb\x40\xfb\x11\x1a\x4c\x9f\x4a\xac\x61\x1e\x5f\xae\xc2" -+"\x73\xce\x1b\xed\xd7\xbd\xf3\xca\x1f\xbe\xe0\xb7\xf7\x3e\xf7\x03\x1a\xf7\x30\x43\xe1\xfb\x18\x1e\xfb\x3b\xfb\xd4\x15\x98\xc4\x91" -+"\xa0\x98\xaa\x08\xc9\xa3\xb9\xaf\xc1\x1b\xc2\xa7\x6a\x49\x6d\x88\x71\x82\x57\x1f\x77\x2e\x15\x7c\x44\x82\x6e\x79\x62\x08\x4f\x70" -+"\x60\x69\x58\x1b\x57\x6c\xb0\xca\xb0\x8f\xaa\x9a\xce\x1f\x0e\xfb\xc5\xf8\x15\xf9\xa9\x26\x1d\x70\x4f\x0a\xf7\x1a\xf9\x86\x82\x0a" -+"\x70\x87\x1d\xf7\x00\x8a\x0a\x70\xf8\xb1\x16\xf7\x07\xf8\xb0\x05\x64\x1d\x93\x91\xa5\x9d\x1d\xf7\x5f\xf9\x66\x2d\x0a\x35\xf8\x9a" -+"\xfb\x6e\xeb\x1d\xb8\xf7\x67\x57\x0a\x0e\xfb\xc5\xa6\x0a\x70\x46\x0a\xfb\x28\x4f\x15\x74\xfb\x04\x05\xcd\x06\x85\x5e\x69\x67\x5e" -+"\x68\x1d\x96\xd9\x9f\xeb\x18\x0e\xfb\xc5\x92\x0a\x45\xfb\xe0\x05\x87\x7d\x8a\x7e\x7d\x1a\x53\xb3\x6d\xd4\xac\xa3\x8e\x93\xa6\x1e" -+"\xa0\xed\x05\x89\x7d\x83\x8a\x80\xe3\x1d\xca\xf7\xba\x05\xd9\x06\xfb\xac\xfc\x84\x31\x0a\xfb\xc5\xf8\x67\xf9\x66\x2d\x0a\x55\x0a" -+"\xac\x79\x16\xf9\x56\x06\x22\xf9\x6d\x05\xfb\x4e\x06\xfb\x51\xfc\xf0\x15\xf7\x95\xf8\x60\xc8\xfc\x60\x05\x0e\xf7\x23\xf8\x02\x62" -+"\x0a\x0e\x68\xf7\x43\x29\x0a\xfb\x35\xfd\x8a\x05\xf7\x19\x06\xc3\xf7\x9b\x05\x60\x97\xa3\x77\xb5\x1b\xbf\xb4\xa4\xc8\xb7\x1f\x7c" -+"\x47\x05\x63\x1d\x43\xfb\xe6\x05\x49\x7d\x5c\x63\x4c\x1b\x58\x6b\xa6\xb6\x95\x8d\x99\x8d\x98\x1f\xd3\xf7\xe5\x05\x0e\x21\xf8\xe8" -+"\xf7\xe0\x15\x8a\xc7\x83\xaa\x75\xaf\x08\xc5\x67\x45\xac\x34\x1b\x38\x47\x6e\x51\x56\x1f\x54\x50\x69\x33\x3b\x1a\xfb\x00\xc7\x3b" -+"\xf7\x02\x63\x1e\xbe\x78\x05\xba\x7a\x94\x83\x71\x1a\x78\x83\x78\x73\x65\x1e\x66\x52\x8b\x8b\x7b\x74\x08\xf7\x17\x06\xd7\xf7\x0e" -+"\x9b\xaf\xb8\x1a\xa2\x83\x9f\x7a\x9b\x1e\x7c\x9a\x77\x95\x58\x9e\x58\x9e\x18\x3b\xa9\x6b\xb3\xcf\x1a\xf2\xd0\xe3\xdc\xc2\xab\x68" -+"\x50\x8a\x8b\x86\x8a\x87\x1e\x0e\xa8\x26\x0a\xf7\x33\xf9\xbf\x3d\x0a\xdc\x43\x1d\xf7\x3f\xf7\x63\xbb\x0a\x39\x76\x1d\x70\x43\x0a" -+"\xf7\x15\xf7\x6d\x3e\x0a\x0e\xfb\x33\xf7\xd2\xf8\x4b\x15\xae\xf7\x39\x05\xf7\x8d\x06\xa6\xf7\x11\x05\xfc\x23\x06\x4d\xfb\xb6\x05" -+"\x5b\x06\x71\xfb\x11\x05\xbb\x06\x48\xfb\xce\x20\x0a\xce\xf7\xce\x05\xf7\x50\x06\xa6\xf7\x11\x05\x0e\xfb\x82\xf7\xa4\xf7\xd5\x15" -+"\xa2\xf5\x05\xf7\x52\x2f\x0a\xfb\xde\x06\x5c\xfb\x6f\x05\x5f\x06\x77\x2c\x05\xb7\x06\x5b\xfb\x76\x20\x1d\xbb\xf7\x76\x05\xf7\x34" -+"\x06\x9f\xea\x05\x0e\xf8\x7c\xf8\x62\x16\x23\x0a\xd2\xf7\xdf\x05\xf7\x13\x06\xca\xfb\xdf\x05\xbe\x06\x6a\xfb\x31\x20\x0a\xc7\xf7" -+"\xae\x05\x26\x06\x58\xf7\x9f\xb7\x0a\xfb\x0a\x06\xc5\xf7\xa5\x28\x0a\x51\xfb\xa5\x05\xfb\x15\xc4\x1d\xf7\x3a\x06\xf7\x61\xf7\xdf" -+"\x05\xf6\x06\x0e\xf7\x96\xf8\x83\x16\xbe\xf7\x83\x05\xdf\x5d\x0a\xb8\x06\x64\xfb\x35\x05\x21\x0a\xca\xf7\xa6\x05\x32\x06\x6e\xf7" -+"\x50\xf7\x21\xf7\x83\x05\xfb\x27\x06\xfb\x02\xfb\x50\x05\x41\xd9\x1d\x38\xad\x1d\xd4\x06\x58\xfb\x83\x05\x0e\x90\xf7\xf1\x74\x15" -+"\xf7\x34\x91\xf7\x0a\xf7\x05\xf7\x26\x1a\xca\x68\x0a\xfb\x2a\x06\x85\x6f\x05\x87\x77\x89\x7a\x7d\x1a\x2c\xdb\x3f\xf7\x07\x7e\x1e" -+"\x54\x36\x05\x50\x0a\x80\x89\x86\x7b\x1f\x0e\xfb\x14\xf7\xb3\x75\x15\xb5\x8f\xac\x94\xa7\x99\x08\xcf\xae\xb8\xcd\xcc\x1a\x6b\x0a" -+"\xfb\x20\x06\x88\x76\x89\x77\x7d\x1a\x3a\xcb\x52\xee\x83\x1e\x55\x37\x05\xc8\x1d\x76\x91\xa4\x5a\x1f\x6d\x57\x05\x75\xc5\xa9\x84" -+"\xb8\x1b\xe6\xc6\xb5\xcc\xaf\x74\xa0\x63\x7b\x7f\x89\x87\x7c\x1f\x0e\xe5\xce\x16\x23\x0a\xd1\xf7\xdf\x05\xf4\x06\xca\xfb\xdf\x05" -+"\xbe\x06\x68\xfb\x30\x20\x0a\xc8\xf7\xad\x05\x27\x06\x58\xf7\x9f\xf7\x4e\xe4\x1d\x2d\x06\xc5\xf7\xa5\x28\x0a\x0e\x6a\xf7\x47\xad" -+"\x0a\xd3\x5d\x0a\xb8\x06\x68\xfb\x34\x20\x1d\xc6\xf7\xa5\x05\x32\x06\x6d\xf7\x50\xf7\x22\xf7\x83\x05\xfb\x28\x06\xfb\x02\xfb\x50" -+"\x05\x4e\x3b\x1d\x0e\xb3\xf8\x0a\xf8\x5c\x15\x4f\x54\x0a\xc7\x06\x6e\xfb\x20\x05\xda\x06\xa9\xf7\x20\x05\xa7\x06\xca\xb2\x1d\x79" -+"\x06\xa9\xf7\x20\x05\x3c\x06\x0e\x3c\xf7\xd8\xf7\xf4\x15\x5d\x06\xb3\xf7\x50\x5d\x1d\xbe\xf7\x83\x05\xb9\x06\x71\xfb\x0c\x05\xc7" -+"\x06\xa5\xf7\x0c\xb3\xfb\x83\x05\xf7\x23\x06\x5b\xf7\xc1\xf7\x22\xf7\x83\x05\xfb\x23\x06\xfb\x02\xfb\x50\xa4\xf7\x0c\x05\x4f\x06" -+"\x0e\x74\xf7\x4d\xf8\xf0\x15\xfb\x15\xfc\xf0\x05\x66\x1d\xf0\xac\x1d\x30\x06\xc5\xf7\xa5\x05\xfc\x1b\x24\x1d\x0e\xfb\x17\xf7\x24" -+"\xf8\x41\x15\x2f\xfc\x41\x20\x1d\xbe\xf7\x83\x05\xd3\x06\xb2\xa4\x0a\xfb\x01\xfb\x50\x05\x4d\x3b\x1d\xfb\xd5\x3f\x0a\xf7\x47\x06" -+"\x0e\xdf\xf7\xb3\xf7\xdf\x15\xf7\xb5\x06\x45\xfb\xdf\x05\xcd\x06\x69\xfb\x31\x20\x0a\xc8\xf7\xae\x05\x49\x3c\x1d\x51\xfb\xa5\x05" -+"\xfb\xb5\x06\xc5\xf7\xa5\x34\x0a\x0e\x68\xa9\x0a\xc3\x06\x67\xfb\x33\x20\x1d\xc7\xf7\xa4\x05\x53\x06\xe6\xf8\x3f\x9d\x0a\xdf\xf8" -+"\x18\x74\x15\xf7\x47\x8d\xf7\x19\xf2\xb5\xf7\x3b\x08\xfb\x23\x06\x2f\x6e\x44\x57\x2b\x1b\x2a\x59\xc1\xf4\xde\x51\x0a\xf7\x21\x06" -+"\x8e\xa6\x8c\x96\x97\x1a\xf7\x11\x22\xdf\xfb\x2f\xfb\x0f\x20\x56\x26\x39\x1e\x45\x33\x5f\xfb\x1b\xfb\x15\x1a\x21\xbe\x33\xde\x66" -+"\x1e\xa8\x7f\xaa\x83\xb2\x86\x54\x36\x18\x85\x1d\x74\xa0\x63\x7b\x80\x89\x87\x7b\x1f\x0e\x39\xf7\xc0\x74\x15\xf7\x0e\x8c\xf1\xdd" -+"\xb0\xf7\x13\x08\x57\x1d\xf7\x1a\x06\x6b\x1d\x66\x5c\x9c\x48\x1b\x2d\x41\x6c\x4b\x57\x1f\x50\x45\x61\xfb\x09\x2c\x1a\x3f\xb3\x47" -+"\xc8\x6e\x1e\xa1\x81\xa2\x85\xa8\x87\x54\x36\x18\x50\x0a\x7f\x89\x87\x7c\x1f\x0e\xa8\x2c\x0a\x0e\x2c\xf8\x93\xb0\x0a\xdd\xfc\xb0" -+"\x5d\xfb\x6e\x05\x21\x0a\xb9\xf7\x6e\xf7\xc7\xf8\xb0\x05\x0e\xa8\xf8\x6a\xf7\x83\x15\x91\xab\xf7\xdd\xf8\x5e\x05\xfb\x3c\x06\xfb" -+"\x63\xfb\xd5\x3a\xf7\xd5\x05\xfb\x3b\x06\xf7\x24\xfc\x5e\x85\x6b\x05\xfb\x17\x24\x1d\xf7\x17\x06\x73\xfb\x06\x20\x0a\xa3\xf7\x06" -+"\x05\xf7\x17\x21\x1d\x0e\x2c\xf7\xf0\x16\xf7\xc7\xf8\xb0\x05\xfb\x24\x06\xfb\x57\xfc\x1d\x67\xf8\x1d\x05\xfb\x2e\x06\xdd\xfc\xb0" -+"\x05\x20\x06\x77\x2c\x05\xf6\x06\x71\xfb\x0f\x05\xf7\x20\x06\xa5\xf7\x0f\x05\xf6\x06\x9f\xea\x05\x0e\xda\x93\x1d\xce\x06\x68\xfb" -+"\x31\x20\x0a\xc9\xf7\xae\x05\xfb\x14\x06\x0e\x5a\xf8\x2d\xf7\xa4\x15\xf7\x7d\xf7\xa0\x05\xfb\x41\x06\xfb\x0e\xfb\x37\x56\xf7\x37" -+"\x05\xfb\x37\x06\xf7\x0b\xfb\xa0\xfb\x82\xfb\xa4\x05\xf7\x41\x06\xf7\x14\xf7\x3c\xc2\xfb\x3c\x05\xd1\x06\x6a\xfb\x33\x20\x1d\xc4" -+"\xf7\xa4\x05\xfb\x0e\x06\x0e\xda\xf8\x88\x16\xcd\x06\x68\xfb\x30\x20\x0a\xc9\xf7\xad\x05\x49\x3c\x1d\x41\xfb\xf4\x05\x78\x40\x4d" -+"\x81\x57\x1b\x46\x62\xa6\xb8\x92\x8c\x92\x8c\x91\x1f\xa4\x1d\x7b\x1a\x21\xe3\x4e\xf7\x2a\xc6\xa8\x8f\xa4\xee\x1e\x0e\x66\xf8\x1e" -+"\x16\xc6\x06\x69\xfb\x33\x20\x1d\xc5\xf7\xa4\x05\x53\x06\xe6\xf8\x3f\x22\x0a\x56\xfb\x8d\x05\x7b\x5d\x60\x83\x63\x1b\x5f\x6f\x9c" -+"\xa5\x8f\x8b\x8e\x8c\x8d\x1f\xba\xf7\x71\x05\xfb\x20\x06\x5c\xfb\x71\x05\x86\x77\x89\x77\x79\x1a\x47\xc0\x64\xea\xbf\xc6\x94\x9c" -+"\xc9\x1e\x0e\xda\xf8\x45\xf7\x74\x15\xaa\x8e\x9e\x8f\xd1\x9d\x56\xfb\x8d\x18\xf7\x2a\x97\x0a\x5f\x7f\x67\x84\x62\x86\x19\xaa\xf7" -+"\x27\x05\x3c\x06\x6b\xfb\x2c\x05\x49\x90\x6b\xa3\xb6\x1a\x92\x8c\x92\x8c\x91\x1e\xc8\xf7\xb5\x28\x0a\x4e\xfb\xb5\x05\x87\x79\x89" -+"\x78\x7a\x1a\x4b\xaf\x57\xca\x70\x1e\xad\x7d\xb2\x83\xbf\x8a\x6f\xfb\x1b\x18\xda\x06\x0e\x66\xf7\xfa\xf7\x37\x15\xa7\x90\x9e\x8f" -+"\xa7\x93\x64\xfb\x48\x18\xf7\x23\x06\xf7\x07\xf8\xb0\x22\x0a\x56\xfb\x8d\x6f\x81\x77\x86\x6d\x86\x19\xa5\xf7\x0d\x05\x49\x06\x71" -+"\xfb\x11\x05\x5d\x96\x80\x93\xa3\x1a\x8f\x8b\x8e\x8c\x8d\x1e\xba\xf7\x71\x22\x0a\x5c\xfb\x71\x05\x86\x77\x89\x77\x79\x1a\x44\xc1" -+"\x67\xf3\x94\x8f\x8b\x8c\x93\x1e\x72\xfb\x08\x05\xcd\x06\x0e\xda\xf8\x08\x33\x0a\xd6\xf7\xf4\x05\x9d\xd4\xd0\x96\xba\x1b\xd0\xb3" -+"\x70\x5e\x7f\x8b\x8a\x89\x84\x1f\x4e\xfb\xb5\x20\x0a\xc9\xf7\xb5\x05\x8e\x9d\x8d\x9b\x9f\x1a\xf2\x2f\xca\xfb\x2a\x4d\x53\x82\x77" -+"\x4a\x1e\x0e\x56\xdd\x16\x21\x0a\xca\xf7\xbb\x05\xc8\xb5\xb2\xa5\xbd\x1b\xb4\xa4\x72\x62\x83\x8a\x85\x8a\x84\xd5\x1d\x99\x8c\x98" -+"\x97\x1a\xd2\x4b\xc6\x3e\x52\x5a\x78\x59\x44\x1e\xcc\xf7\xc9\x05\xfb\x20\x06\x0e\xf8\x05\x33\x0a\x0e\xd1\xf8\x9e\xf7\x11\x15\x36" -+"\x06\x51\xfb\xad\x20\x0a\xab\xf7\x30\x05\xdf\x77\x0a\xf7\x2b\xc8\xc4\x94\x9f\xcb\x1e\x0e\x54\xf8\x2d\xf7\x05\x15\x44\x06\x55\xfb" -+"\xa6\x20\x1d\xa9\xf7\x35\x05\xd4\x8c\x1d\xed\xc0\xc1\x94\x9c\xbc\x1e\x0e\xf7\x20\xf7\x18\xf8\x3b\x15\x77\x50\x83\x5b\x54\x1a\x43" -+"\x9d\x4d\xae\x5a\x1e\x47\xba\xd7\x6a\xf4\x1b\xf7\x10\xf7\x00\xbd\xeb\xde\x1f\xdb\xe9\xba\xf7\x0e\xf7\x0a\x1a\xf7\x47\x26\xf4\xfb" -+"\x41\xfb\x24\xfb\x0c\x4c\xfb\x12\x30\x1e\xf7\x09\x4b\x05\xe3\xc7\xca\xb0\xe0\x1b\xee\xc1\x4e\xfb\x02\x89\x8b\x81\x8a\x84\x1f\x71" -+"\xfb\x11\x15\xfb\x10\x5a\x37\x46\x23\x1b\x29\x51\xcc\xf7\x00\x1f\x9f\x07\x0e\xdc\x43\x1d\xf8\x62\xf7\x34\x2d\x0a\x70\x43\x0a\xf8" -+"\x1f\xf7\x1e\x15\xfb\xc0\x27\x0a\xf7\xc0\x06\x0e\xf7\x20\x8b\x1d\xfb\xa5\xfc\x4f\x15\xf8\x15\x06\xfb\x0c\x5f\x33\x42\x26\x1b\x2c" -+"\x52\xcb\xf7\x00\x1f\xa5\xf7\x26\x15\xf7\x0c\xb9\xe1\xd1\xf0\x1b\xf0\xbe\x4b\xfb\x12\x8a\x1f\x0e\x70\x7d\x0a\xfb\x49\xfb\xe1\x15" -+"\xf7\x8a\x06\x39\x6a\x56\x5f\x4a\x1b\x51\x66\xb7\xcf\x1f\x9f\xf7\x00\x15\xdd\xac\xc0\xb7\xcc\x1b\xaf\xab\x77\x6d\x99\x1f\x95\x75" -+"\x8e\x78\x68\x1a\x0e\xb2\xf9\x28\xfa\x01\xc4\x0a\xfc\xc8\xfd\xb1\x15\xf7\x24\x06\xd9\x8d\xba\xa5\xb4\xcc\xf8\x37\xf9\x10\x18\xfb" -+"\x35\x06\xfb\x7d\xfc\x05\x3f\xf8\x05\x05\xfb\x29\x06\xf7\x0e\xfc\x9e\x6b\x5a\x79\x70\x84\x86\x6a\x8a\x19\xfb\x07\x06\x0e\x39\xf8" -+"\xc6\xf9\x48\xe8\x1d\x6a\x43\x95\x1d\x0e\xfb\xc5\xf9\x14\xf9\xfe\x57\x0a\xf7\xaa\xb0\x89\x15\xf7\x69\xaf\x8f\xa5\xc8\x1f\xf7\x05" -+"\xbd\xdf\xf7\x33\xf7\x37\x1a\xe1\x70\xd6\x5f\xad\x1e\xa4\x6c\x5e\x97\x50\x1b\xfb\x08\x38\x6b\x4d\x5e\x1f\x71\x67\x81\x64\x89\x42" -+"\xcc\xab\x18\x97\x07\xc1\x9c\xb1\xad\xa2\x1e\x9c\x96\x95\x8e\xb9\x94\x42\xfc\x1f\x18\x7c\x45\x73\x61\x6e\x81\x08\x77\x06\xd3\x8a" -+"\x15\xc8\xbc\x9a\xac\xa1\xf7\x0f\xc2\xf7\xd2\x18\x92\x06\x90\x06\x9e\x06\xa9\x97\x88\x7f\x9e\x1f\xb3\x72\xa1\x51\x3a\x1a\x20\x73" -+"\x34\x5c\x4c\x1e\x64\x59\x58\x6e\x54\x88\x08\xf7\x7b\xfb\x7d\x15\xce\x06\xad\xf7\x52\x05\x7d\xaa\x97\x88\x9e\x1b\xf7\x06\xee\xf7" -+"\x29\xf7\x42\xec\x64\xbd\x3e\x5c\x63\x77\x66\x6d\x1f\x69\x61\x79\x55\x75\xfb\x0b\x08\xb9\xfb\x00\x15\xae\xf7\x54\x05\xe1\x9b\xad" -+"\xbc\xb7\x1b\xb2\xa0\x63\x41\xfb\x20\x56\xfb\x02\x47\x71\x77\x95\xa1\x79\x1f\x0e\xf7\x16\xa0\x16\xf7\xcc\x06\xa6\xf7\x11\x69\xa4" -+"\x7f\x96\x7b\x9d\x19\x72\xa9\x7e\xb5\xbf\x1a\xf7\x4b\xf7\x05\xf7\x23\xf7\x23\xeb\xca\x4c\x2b\x39\x69\x28\x58\x4b\x1e\x6c\x64\x77" -+"\x7a\x3f\x5f\x70\xc7\x0a\xfb\x3e\x06\xd3\xb5\xa9\xa3\xab\xb2\x08\xc1\xcc\xab\xea\xe5\x1a\xf7\x2f\xfb\x07\xf5\xfb\x3c\xfb\x7c\xfb" -+"\x5b\xfb\x57\xfb\x78\x52\x9b\x5b\xab\x67\x1e\x98\x7c\x97\x80\xad\x71\x08\xfb\x3e\x06\x0e\xf8\x5f\x32\x0a\x0e\x55\x0a\xf7\xfe\xf8" -+"\xa9\xf8\x95\x15\x49\x06\xfb\x74\xfc\x95\x05\xdb\x06\xf7\x45\xf8\x2d\xf7\x45\xfc\x2d\x05\xdb\x06\x0e\xf7\xfe\xf8\xa9\x16\xf7\x74" -+"\xf8\x95\x05\x3b\x06\xfb\x45\xfc\x2d\xfb\x45\xf8\x2d\x05\x3b\x06\xf7\x74\xfc\x95\x05\x0e\xf7\xfe\xf8\x8c\xf9\x60\x15\xfb\x60\xfb" -+"\x34\xfb\x33\xfb\x5e\xfb\x5b\xf7\x34\xfb\x33\xf7\x5d\xf7\x5b\xf7\x34\xf7\x34\xf7\x5c\xf7\x59\xfb\x35\xf7\x36\xfb\x57\x1f\xa4\x52" -+"\x15\xf7\x23\x7e\xf7\x06\xfb\x06\x99\xfb\x25\x08\xfb\xa3\x06\xf7\xa4\x52\x15\x82\xfb\x22\xfb\x0d\xfb\x0f\xfb\x22\x80\x08\xf7\xa8" -+"\x07\x53\xfb\xa8\x15\xfb\x27\x99\xfb\x05\xf7\x05\x7d\xf7\x29\x08\xf7\xa6\x06\xfb\xa6\xc4\x15\x99\xf7\x24\xf7\x07\xf7\x06\xf7\x25" -+"\x99\x08\xfb\xa4\x07\x0e\x69\xb6\x16\xf8\x9b\xf8\x9b\xfc\x9b\x06\xf8\x67\xfc\x67\x15\xfc\x33\xf8\x33\xf8\x33\x06\x0e\xdc\xf8\xeb" -+"\xf8\xf7\x15\x45\xfb\xa4\x06\xfb\x05\x86\x5f\x7b\x6b\x1e\x56\x70\x50\x67\x4c\x1b\x54\x54\xa7\xb7\x6e\x1f\x73\xb0\x84\xb7\xf7\x11" -+"\x1a\xf7\xa4\x45\xfb\xa1\x07\xfb\x29\x90\x65\xa6\x5f\x1e\x45\xb5\xd7\x62\xe5\x1b\xde\xd1\xac\xc9\xb8\x1f\xaf\xbc\x91\xaf\xf7\x36" -+"\x1a\x0e\x5e\xf8\x27\xf8\x1c\x15\xfb\x69\x06\x41\xf7\x4d\x05\x2d\x06\xf7\x7d\xfc\xd5\x05\xde\x06\xf7\x7d\xf8\xd5\x05\x2d\x06\x22" -+"\xfb\x9d\x15\x3f\xfb\x48\x40\xf7\x48\x05\x0e\x70\xf9\x24\x29\x0a\x74\x0a\xcc\x06\x26\x5e\x5b\x5a\x4f\x1a\x56\xb9\x71\xe8\xa2\x93" -+"\x8c\x90\xa3\x1e\x9a\x8e\x96\xbf\x05\x83\x74\x74\x88\x75\x1b\x68\x79\x99\xa6\xbd\xb8\xbe\xdb\xb4\x1f\x0e\x5c\x40\x1d\x0e\x5c\x40" -+"\x1d\xf7\x43\xf8\xa1\x44\x0a\x5c\x40\x1d\xf7\x36\xf8\xa1\x52\x1d\x5c\x40\x1d\xf7\xa5\xf8\xcf\x15\x25\x06\x76\x27\x94\x28\x05\xb3" -+"\x06\xc0\xee\x05\x0e\x70\x87\x1d\xca\xf9\x99\x15\x52\xe5\x1d\xb5\x6d\xa8\x60\x1f\x82\xbd\x1d\x0e\x70\x4f\x0a\xf7\x4c\xf9\x7c\x41" -+"\x0a\xf7\x20\x38\x0a\xf7\x4b\x30\x1d\x0e\xf7\x20\x38\x0a\x9d\x99\x0a\x0e\xf7\x20\x38\x0a\xa5\xf9\x79\x2e\x0a\xf7\x67\xf7\x0c\x2e" -+"\x0a\x0e\xf7\x20\x38\x0a\x48\xf9\x89\x3e\x0a\x0e\xfb\x50\xf7\xfc\xfb\x6e\x15\xd8\xf7\x0a\xab\xd0\xbe\x1a\xa1\x81\xa2\x7c\x98\x1e" -+"\x7b\x99\x74\x93\x64\x8f\x48\x92\x18\x62\x90\x7a\x8f\x7d\x93\x08\x79\x95\x80\xa2\xa4\x1a\xb5\xa3\xb4\xb1\xa4\x1e\xa1\xac\xb1\x92" -+"\xdc\x1b\xcb\x2f\x0a\x4d\x06\x34\x61\xa3\xbe\xaf\xa5\xaf\xb0\x9c\x1f\x97\xa6\xa4\x8f\xbf\x1b\xe4\x2f\x0a\xfc\x22\x3f\x0a\xdd\x06" -+"\x55\x64\x73\x65\x5a\x1a\x59\xa5\x68\xbf\x77\x1e\x50\x7d\x6d\x7c\x6b\x6d\x08\x5f\x63\x70\x4e\x4e\x1a\x57\xa0\x5e\xaf\x70\x1e\xa7" -+"\x77\xac\x81\xc1\x86\xb7\x86\x18\xb4\x87\x8b\x8b\x96\x83\x08\x90\x87\x8f\x83\x84\x1a\x6d\x6f\x59\x3e\x20\x1e\x0e\x39\x50\x1d\xfb" -+"\xaa\xf7\x6d\xb6\x1d\x39\x50\x1d\xfb\xee\xf7\x6d\x3e\x0a\x0e\xfb\x1e\x44\x1d\x82\xf7\xde\x2b\x1d\xfb\x1e\x44\x1d\x34\xf7\xce\x3b" -+"\x0a\xfb\x26\xf7\x6a\xf8\xfc\x15\xf7\x59\x06\x31\x57\x56\x60\x50\x46\x08\x38\x2b\x5d\x24\x2e\x1a\x31\xc5\x57\xf7\x05\x7f\x1e\xba" -+"\x87\x05\xb5\x86\x98\x84\x78\x1a\x6f\x72\x5e\x3b\xfb\x08\x1e\xf7\x17\x06\xd8\xf7\x06\xac\xd3\xc1\x1a\xa2\x80\xa3\x7a\x98\x1e\x79" -+"\x98\x7a\x90\x5b\x91\x66\x8f\x18\x4d\x92\x7d\x8e\x7b\x95\x08\x7a\x95\x80\xa4\xa6\x1a\xd7\xc2\xf3\xe3\xe7\x1e\xd2\xd4\xcd\xba\xec" -+"\xb8\xa0\xef\x18\xfc\x11\x06\x0e\x74\xa2\xf8\xb0\x94\xf7\x48\x97\x6b\x9a\x06\xf7\x05\x0a\xf7\x23\x0b\xbf\x94\x92\x8e\x8f\x90\x9a" -+"\x99\x8f\x93\x8e\x8f\x0c\x0c\xf7\xaa\x14\xf9\x12\x15\xb2\x13\x00\xa8\x02\x00\x01\x00\x05\x00\x09\x00\x0e\x00\x12\x00\x3f\x00\x44" -+"\x00\x4c\x00\x51\x00\x55\x00\x59\x00\x5d\x00\x60\x00\x79\x00\x7c\x00\x82\x00\x88\x00\xac\x00\xb3\x00\xb8\x00\xbd\x00\xc3\x00\xc8" -+"\x00\xcf\x00\xdf\x01\x0f\x01\x16\x01\x26\x01\x2c\x01\x35\x01\x38\x01\x44\x01\x4a\x01\x50\x01\x7b\x01\x7f\x01\x9b\x01\xac\x01\xb5" -+"\x01\xc3\x01\xc8\x01\xd1\x01\xda\x01\xe1\x01\xed\x02\x2f\x02\x6d\x02\x81\x02\x8c\x02\x93\x02\xab\x02\xb0\x02\xc6\x02\xd1\x02\xe2" -+"\x02\xe7\x02\xea\x02\xed\x02\xf2\x02\xfc\x03\x0a\x03\x13\x03\x19\x03\x9a\x03\xd4\x03\xf6\x03\xfd\x04\x5f\x04\x75\x04\x8a\x04\xbb" -+"\x05\x17\x05\x38\x05\x8a\x05\x94\x05\x9f\x05\xf0\x06\x32\x06\x37\x06\x5d\x06\x7e\x06\xbb\x06\xe3\x07\x0b\x07\x45\x07\x57\x07\x82" -+"\x07\xb4\x07\xcf\x07\xff\x08\x02\x08\x27\x08\x34\x08\x5d\x08\x88\x08\x98\x08\xab\x08\xb5\x08\xcd\x08\xd5\x08\xeb\x08\xee\x09\x00" -+"\x09\x11\x09\x16\x09\x2b\x09\x48\x09\x4c\x09\x68\x09\x76\x09\x82\x09\x9d\x09\xb0\x09\xbd\x09\xd4\x09\xe3\x09\xef\x09\xf5\x0a\x0c" -+"\x0a\x15\x0a\x1b\x0a\x31\x0a\x3a\x0a\x4e\x0a\x61\x0a\x76\x0a\x79\x0a\x83\x0a\x8b\x0a\x91\x0a\xa4\x0a\xab\x0a\xb4\x0a\xc6\x0a\xd0" -+"\x0a\xe0\x0a\xe8\x0a\xf3\x0b\x03\x0b\x12\x0b\x1c\x0b\x2c\x0b\x35\x0b\x3a\x0b\x3f\x0b\x4e\x0b\x5d\x0b\x66\x0b\x6f\x0b\x7d\x0b\x8b" -+"\x0b\x99\x0b\xa7\x0b\xb3\x0b\xc1\x0b\xcf\x0b\xd6\x0b\xe3\x0b\xee\x0b\xfb\x0c\x03\x0c\x0f\x0c\x1b\x0c\x27\x0c\x31\x0c\x3c\x0c\x47" -+"\x0c\x52\x0c\x5d\x05\x23\x0a\x0b\xf7\x20\x06\x0b\x05\xfb\x20\x06\x0b\xf7\x2a\x06\x0b\xf8\xa8\xf7\x27\x15\x9d\xfb\x27\x05\xf7\x2d" -+"\x06\x2a\xf9\x6d\x05\xfb\x41\x06\xfc\x2b\xfd\x6d\x05\xf7\x2d\x06\xdc\xf7\x27\x05\xf7\x96\xf7\x11\x15\xfb\x51\x06\xf7\x2e\xf7\xaf" -+"\x05\x0b\xf8\x04\x33\x0a\x0b\x99\x1d\xf8\xb5\x06\xbf\x0a\x0b\x06\x7a\x3b\x05\x0b\x05\x2a\x0a\x0b\xf8\xb0\x15\x0b\xfb\x2a\x06\x0b" -+"\x4d\x1d\x0e\xf8\x71\xe6\x1d\xfb\x63\xfb\xcf\x39\xf7\xcf\x05\xfb\x3b\x06\xf7\x25\xfc\x5f\x51\xfb\xa2\x20\x0a\x0b\xc4\x0a\x0e\x4b" -+"\x1d\xf7\x03\x06\x0b\x06\xa3\xf7\x05\x05\x0b\xf9\xc4\x22\x1d\xfb\x22\x06\xfb\x01\xfc\x97\xfb\x54\xf8\x97\x05\xfb\x2a\x28\x1d\xf7" -+"\x22\x06\xf7\x03\xf8\x9f\xf7\x54\xfc\x9f\x05\xf7\x28\x06\x0b\xa8\x0a\xd7\x91\xce\xa2\x0a\xf9\x5f\xb5\x0a\x0b\x60\x1d\x23\x0a\x0b" -+"\x05\xfb\x2a\x35\x0a\x0b\x28\x1d\x23\x0a\x0b\xf8\x31\xf8\xb9\x84\x1d\x0b\x15\x38\x06\x97\xc0\x7c\x0a\x21\x0a\xe8\xf8\x48\x05\xdd" -+"\x06\x0b\xf8\xfd\x16\xf7\x9c\xf8\xb0\x05\xfb\x25\x06\xfb\x37\xfc\x0e\x05\xf8\x0e\xfb\x24\x07\xfb\x33\xfc\x0e\x86\xf8\x0e\x05\xfb" -+"\x25\x06\xb0\xfc\xb0\x05\xf7\x25\x06\xf7\x3a\xf8\x10\x8f\xfc\x10\x05\x0b\x7e\x0a\x43\xf7\x27\x05\x0e\x15\xf7\x1f\xf7\x27\x05\x3f" -+"\x06\x24\x2a\x4e\xec\x05\x3d\x06\x0b\x4b\x1d\xf7\x02\x06\x0e\x15\x73\xfb\x04\x05\xce\x06\x85\x0b\x61\x1d\x0e\x15\xef\xfb\x2a\x05" -+"\xcb\x06\x5e\xf7\x2a\x05\x0b\x06\x73\xfb\x05\x05\x0b\x06\xae\xf7\x39\x05\x0b\x15\x69\x7d\x7a\x7a\x74\x1b\x7f\x89\xe0\x1d\x72\x1b" -+"\x55\x5f\x61\x40\x74\x1f\xc1\x06\xac\x9c\x9b\x9a\x9d\x1b\x93\xa0\x84\x84\x9a\x1f\xbd\x72\x05\x85\x98\xa0\x86\x9c\x4a\x1d\x15\x88" -+"\x1d\x0e\xcf\x16\x21\x0a\x9a\xd2\xf7\x8d\xf7\x92\x46\xfb\xd9\x05\x63\x1d\x7c\x44\xfb\x8d\xfb\x92\xd0\xf7\xd9\x22\x0a\x0b\x15\xfb" -+"\x02\x06\x71\xfb\x0e\x05\xf7\x02\x06\xf7\x68\xf7\x0e\x49\x1d\xe2\x1d\xf7\x68\xf7\x0c\xe2\x1d\x0e\xf8\x96\xf8\xf0\x15\x5a\x1d\xfb" -+"\x15\xfc\xf0\x20\x0a\x0b\xf7\xd8\xaa\x1d\x0b\x16\xf7\x20\x06\xe6\xf8\x3f\x05\x0b\x15\xfb\x12\x06\x25\xfb\x27\x05\x0b\x06\xf7\x2f" -+"\xf9\x6d\x05\x0b\xf8\x3d\xf8\xa5\x37\x0a\xf7\xf5\xe8\x37\x0a\x0b\xf8\xe5\xf7\xe6\x15\x6b\x1d\x66\x5c\x9c\x48\x1b\x2d\x41\x6c\x4b" -+"\x57\x1f\x50\x45\x61\xfb\x09\x2c\x1a\x59\x9d\x5a\xaa\x68\x1e\x62\xaf\xc3\x77\xd4\x1b\xf7\x16\xed\xd7\xf7\x1a\xb5\x1f\xcc\x1d\xc4" -+"\xa3\xbc\xdc\x1d\xad\xa3\x7f\x76\x98\x1f\x93\x7c\x8d\x7e\x8c\x65\x08\x0b\xf8\xd1\xf7\x76\xc7\x1d\x51\xa3\x42\xc6\x0a\xfb\x09\x27" -+"\x1a\xfb\x10\xe0\x37\xf7\x12\xf7\x0d\xf0\xca\xf7\x04\xc2\x1e\xfb\x1e\x06\x65\x78\x5e\x72\x5b\x1b\x52\x65\xb0\xc2\x95\x8c\x95\x8d" -+"\xa4\x1f\x9d\xe8\x15\xd9\xa0\xb9\xb3\xcd\x6d\x1d\x89\x68\x1a\x0b\xf9\x27\xf9\x6d\x59\x1d\x68\x87\x6d\x75\x1a\xfb\x09\xea\x41\xf7" -+"\x2c\x5b\x1d\x0b\xf8\xb1\x16\xf7\x07\xf8\xb0\x05\x74\x0a\x0b\x85\x1d\x73\xa0\x64\x7b\x0b\xa5\xe2\xb8\xd1\x1f\xd5\xba\xc8\xae\xdc" -+"\x1b\xc1\xb3\x79\x68\xa0\x1f\x98\x77\x8f\x78\x64\x1a\x0b\xf9\x79\x55\x1d\x0b\x15\xf7\x1c\xfb\x26\xa3\xf7\x06\x39\xe4\xf7\x0c\xe4" -+"\xa4\xf7\x09\xfb\x5b\xfb\x29\x05\x0b\x06\xc5\xf7\xa5\x34\x0a\xd1\xf7\xdf\x05\x0b\xf7\x1c\xf7\xe7\x15\x71\xfb\x0f\x05\xf7\x10\x06" -+"\xa5\xf7\x0f\x05\x0e\xfa\x3c\x4d\x1d\x0e\xeb\x1d\x0e\x3c\x1d\x0e\x4a\x0a\x2a\x0a\x0b\x16\xf7\x2a\x06\xf7\x14\xf8\xf0\x05\x0b\x23" -+"\x1d\xfb\x14\xfc\xee\x05\x6b\x84\x7d\x7f\x6d\x1b\x0b\x06\xc5\xf7\xa5\x05\xfb\x29\x06\x0b\x06\xb2\xfb\x83\x05\x0b\xf7\x49\xc3\x15" -+"\x57\xba\xd5\x70\xe8\x1b\xf7\x10\xf5\xbc\xec\xdd\x1f\xd9\xe7\xba\xf7\x10\xf7\x05\x1a\xc5\x80\xbd\x74\xba\x1e\xf7\x00\xec\x61\xb8" -+"\x26\x31\x05\xc2\x59\x43\xa6\x2d\x1b\xfb\x11\x22\x5a\x2a\x38\x1f\x3d\x2f\x5c\xfb\x11\xfb\x07\x1a\x4f\x97\x56\xa3\x5f\x1e\xfb\x03" -+"\x28\xb4\x5d\x05\xf8\xef\xf8\xaf\x15\x8f\x76\x8c\x79\x75\x1a\x39\x70\x35\x5e\x4d\x1e\x46\x59\x4b\x68\x3f\x1b\x54\x60\x9d\xad\x6e" -+"\x1f\x6d\xc3\x15\x87\xa2\x89\xa0\xa2\x1a\xdb\xa7\xe2\xb7\xc9\x1e\xcf\xbc\xcc\xaf\xd8\x1b\xc3\xb6\x79\x65\xa9\x1f\x0b\xf9\x61\xf8" -+"\x8f\x15\x94\x1d\x23\x30\x57\xac\xc4\x90\x8c\x94\x8c\x94\x1e\xfb\x26\x06\x88\x77\x8a\x81\x7d\x1a\x56\x9f\x5d\xaf\x6a\x1e\x5f\xbb" -+"\xcf\x76\xec\x1b\xf7\x0e\xe8\xae\xce\xc5\x1f\xb5\xba\xa6\xd4\xcd\x98\x0a\xe0\xba\xb3\x0a\x0b\xf8\x9f\x29\x0a\x79\x38\x05\xca\x70" -+"\x62\xa8\x50\x1b\x3f\x40\x65\x49\x56\x1f\x51\x43\x66\xfb\x01\x2a\x1a\xfb\x02\xd5\x3b\xf0\x7f\x1d\x0b\xf8\xdc\xf8\x02\x63\x0a\x0b" -+"\xf7\x11\x15\x6e\xa0\x7f\x96\x7c\x9a\x08\x6d\xaa\x7c\xb8\xc3\x1a\xf7\x49\xf7\x01\xf7\x1c\xf7\x24\xed\xcc\x4c\x2c\x3b\x6a\x2b\x5a" -+"\x4d\x1e\x6d\x65\x72\x77\x3f\x61\x71\xc7\x0a\xfb\x38\x06\xca\xac\xad\xa4\xad\xb1\x08\xc0\xc6\xac\xe6\xdf\x1a\xd5\x6c\xd5\x57\xbf" -+"\x1e\xc4\x51\x3d\xa9\x2d\x1b\x21\x26\x63\x43\x3f\x1f\x40\x43\x5b\xfb\x03\x23\x1a\x33\xb0\x43\xd6\x51\x1e\xfb\x41\x24\x1d\xf7\xcc" -+"\x06\x0b\x5e\x1d\x3b\x4a\x77\x64\x5f\x1e\x5f\x65\x70\x53\x58\x9c\x1d\x85\x82\x1a\x5d\x8f\x1d\x0b\x89\x1d\x92\x1a\xf7\x14\xfb\x01" -+"\xe0\xfb\x37\xfb\x10\xfb\x01\x59\x2c\x3a\xa2\x1d\x0b\xf8\xd1\xf7\x76\x15\x8c\x0a\xfb\x09\x26\x1a\xfb\x0f\xe0\x37\xf7\x12\xf7\x0d" -+"\xf0\xca\xf7\x04\xc2\x1e\xfb\x1e\x06\x65\x77\x5f\x72\x5b\x1b\x52\x65\xaf\xc3\x95\x8c\x95\x8d\xa4\x1f\x9d\xe8\x8f\x0a\x0b\xf8\x6b" -+"\x15\x8c\x90\x8e\x8b\x90\x1b\xc0\xa2\x7c\x69\x62\x6a\x6a\x63\x66\x78\x9b\xaa\x91\x8b\x8f\x8d\x93\x1f\x30\x06\x88\x7b\x8a\x82\x80" -+"\x1a\x47\xbb\x64\xde\xf7\x01\xd6\xd0\xee\xab\x7d\xa2\x6e\x9d\x1e\xba\xa8\xa3\xb1\xb9\x1a\xc6\x5c\xad\x3a\x27\x57\x5e\x25\x77\x1e" -+"\xe2\x06\xc3\x97\x9c\x9e\xb2\x1b\xa6\x9d\x7b\x73\x76\x82\x78\x7c\x7e\x1f\x7b\x7d\x7a\x87\x63\x8a\x08\x0b\xf9\x79\x15\xfb\x10\x26" -+"\x5b\x28\x39\x1f\x3d\x2f\x39\x1d\x20\xf4\xfb\x4b\xaf\x0a\x4e\x1f\x45\x59\x4c\x69\x3e\x1b\x26\x4c\x2f\x1d\x0b\x70\xbb\x55\xaf\x1e" -+"\xb6\x9e\x9f\x98\xa0\xa5\x08\xa8\xac\x9c\xb9\xb7\x1a\xf2\x33\xcf\xfb\x18\x41\x4e\x78\x67\x5e\x1e\x5b\x65\x72\x5c\x7a\x3d\x86\x72" -+"\x18\x23\x0a\x90\xa4\x05\xc3\x97\xb5\xad\xc3\x1b\xba\xaa\x72\x65\x4d\x56\x5a\x49\x1f\x5e\x24\x1d\xc2\x06\xbf\xae\x6e\x5f\x3d\x54" -+"\x51\x42\x56\x6a\xa9\xbd\x9c\x8d\x97\x90\xa7\x1f\x0b\x8a\x1d\x29\x5a\xc1\xf5\xdd\x51\x0a\x0b\x15\xc1\xd1\x1d\x96\xaf\x1d\x52\x96" -+"\x1d\x0b\xb8\x75\xae\x5f\xa6\x1e\xc9\xa5\xb2\xc1\xc7\x1a\xdb\x44\xbe\xfb\x03\x3c\x4f\x75\x5e\x5f\x1e\x70\x6f\x81\x74\x80\x4d\x08" -+"\x21\x0a\xba\x93\xa5\xa2\xb7\x1b\xac\xa1\x79\x70\x5c\x68\x6f\x50\x1f\x6f\x06\x77\x2c\x05\xa7\x06\xb0\x92\x8a\x82\x98\x1f\x98\x83" -+"\x92\x7c\x79\x1a\x5c\x64\x64\x5c\x67\x73\xa2\xad\x94\x8c\x92\x8e\x9e\x1e\x0b\xf8\x64\xf7\x2c\x15\x6b\xfb\x2c\x05\xf8\xac\x21\x1d" -+"\xfc\x16\x06\xb3\xf7\x51\x05\xf7\xe7\x25\x1d\xfb\xe7\x06\xaf\xf7\x39\x05\xf8\x03\x25\x1d\xfd\x3f\x06\xfc\x38\xfd\x6d\x05\xf7\x33" -+"\x06\xe0\xf7\x2c\x05\xf7\x8a\xf7\x11\x15\xfb\x49\x06\xf7\x4d\xf7\xdb\x05\xcd\x06\x0b\xfb\x64\x84\x1d\x0e\xf7\xad\xf7\x98\x15\xf7" -+"\x4f\x06\xda\xc5\xba\x1d\x48\x1b\xfb\xc8\x35\x0a\xdd\xf8\x15\x15\xb9\xf7\x6f\x05\xf7\x2e\x06\xc1\xaf\x6b\x5c\x6d\x80\x65\xc3\x0a" -+"\xf8\x32\xf8\xa5\x15\x85\x0a\x53\xb3\x6d\xd4\xac\xa3\x8e\x93\xa7\x1e\x9f\xbe\x0a\x8f\x8d\x98\x8f\x9c\x1f\xc9\xf7\xba\x05\xd9\x06" -+"\x0b\xf8\x7f\x22\x1d\xfb\x07\xfc\xaf\x05\x54\x80\x68\x6d\x56\x1b\x64\x70\xa1\xab\x95\x8c\x97\x8e\x97\x1f\x9b\xd8\x28\x0a\x7c\x43" -+"\x05\x86\x75\x89\x75\x76\x1a\x2a\xd2\x50\xf7\x09\xce\xd0\x9d\xa7\xb6\x1e\xbc\xab\xae\xc5\x9b\xd8\xf7\x07\xf8\xaf\x18\x0b\x16\xf7" -+"\xc0\x06\xe7\xc0\x99\xb2\xbc\xd0\x1d\xfb\x26\x06\xc6\xf7\xa9\x05\x2a\x0a\xa1\xfc\xf0\x15\xb6\xf7\x5e\x05\xf7\x2d\x06\xa8\x98\xc0" -+"\x0a\x5b\x51\x4f\x1e\x0b\xf8\x91\xb0\x0a\xd7\xfc\xb0\x8c\x7c\x05\x52\x5f\x67\x46\x7f\x86\x8b\x8d\x80\x1e\x74\xfb\x01\x05\x88\x98" -+"\x95\x8a\xa1\x1b\xb7\xb1\x91\x96\xa8\x1f\xb7\xec\x1d\x0b\xd8\x16\xf7\xb1\x06\xf7\x25\xdf\xb2\xf0\xd4\x1f\xd3\xed\xb3\xf7\x0f\xf7" -+"\x0a\x1a\xf7\x43\x3d\xd6\xfb\x49\x1e\xfb\xb1\x06\xa1\xfc\xf0\x15\xf0\xf8\x73\x05\xf7\x1b\x06\xe7\xb8\x5f\x30\x3c\x71\x24\x69\x50" -+"\x1f\x40\x60\x5a\x6f\x34\x1b\x0b\x64\x1d\x95\x90\xa3\x1f\xd1\xb5\x1d\xc1\xa6\xcb\xc1\x1e\x7c\x47\x05\x0b\xf8\x85\x16\xf7\xa1\xf8" -+"\xff\xfb\x18\xfc\xff\x05\xf7\x22\x4a\x0a\xfb\x6f\x06\xfb\x92\xfc\xc4\x77\xf8\xc4\x05\xfb\x6d\x28\x1d\xf7\x22\x06\xf7\x18\xf8\xff" -+"\x92\xfc\xff\x05\x0e\x16\xf7\xaf\x06\xc5\xc0\x9b\xa6\xae\x1f\xbb\xb2\xa9\xc6\xc4\x1a\xda\x48\xca\x36\x1e\xfb\x23\x06\xb6\xf7\x5c" -+"\x22\x0a\xbc\xfc\x3f\x15\xa3\xf7\x06\x05\xf7\x1c\x06\xa4\x9b\x7b\x71\x64\x6d\x6a\x68\x1f\x0b\x97\x0a\x05\x79\x41\x46\x80\x5c\x1b" -+"\x46\x63\xa6\xb8\x93\x8c\x90\x8c\x92\x1f\xa4\x1d\x7a\x1a\x24\xe7\x4c\x0b\xf8\x87\xf8\x08\x15\xf7\xc3\xf7\xf9\x05\xfb\x43\x06\xfb" -+"\x4b\xfb\x80\x3c\xf7\x80\x05\xfb\x46\x06\xf7\x25\xfb\xfe\xfb\xca\xfc\x03\x05\xf7\x43\x06\xf7\x51\xf7\x8d\xe5\xfb\x8d\x05\xf7\x47" -+"\x06\x0e\x7a\x0a\x0e\xf7\xa6\xf7\x7e\x15\xe6\xdb\xf7\x41\xfb\xce\x05\xf7\x47\x06\xfb\x7f\xf8\x2e\xf7\xfd\xf7\xd3\x05\xfb\x46\x06" -+"\xfb\xf6\xfb\xd4\xcf\xf7\xd4\x34\x0a\x0b\xf7\xf6\xf9\x6d\x23\x1d\xfb\x2f\xfd\x6d\x9a\x1d\x0b\x05\xa8\x91\x99\x99\xa5\x1b\x95\x92" -+"\x8a\x88\xa4\x1f\xa1\xf4\x05\x8e\x5c\x81\x8b\x77\x1b\x29\x56\x61\x2e\x77\x1f\x7d\x4a\x05\x3f\x33\x1d\xd8\x06\x2e\xfc\x48\x05\x0b" -+"\xf8\x2d\xf8\xb9\x15\x2b\x36\x65\x49\x54\x1f\x55\x4a\x69\x29\x32\x1a\xfb\x1b\xe1\x3a\xf7\x22\xec\xdf\xb0\xce\xc2\x1e\xc0\xcc\xae" -+"\xee\xe3\x1a\xf7\x1b\x35\xdc\xfb\x22\x1e\x0b\x15\xfb\x1f\xfb\x27\x05\xd7\x06\xf2\xec\xc8\x2a\x05\xd9\x06\x0b\xfb\xdf\x32\x1d\x2a" -+"\x0a\x51\xfb\xa5\x05\xfb\xb5\x06\xc5\xf7\xa5\x34\x0a\x0b\x22\x0a\x31\xfc\x3f\x05\xfb\x41\x94\x0a\xf9\x6a\x15\x2a\x0a\x5e\xfb\x66" -+"\x73\xfb\xc9\x05\xce\x06\xf6\xf7\xc9\x05\x3c\xfc\x06\x27\x1d\x0b\x15\x60\x7b\x68\x75\x57\xa7\x1d\x9d\x1b\x93\x9e\x85\x82\x9c\x1f" -+"\xbe\x72\x05\x85\x97\xa1\xdf\x1d\x95\xa0\x97\xb3\x08\x0e\x87\x0a\x0e\xb8\x0a\x46\x33\x1d\xd0\x06\x45\xfb\xe0\x05\x88\x7d\x89\x7d" -+"\x7e\x1a\x0b\x15\x70\xfb\x11\x05\xdc\x06\x82\x59\x6b\x6e\x51\x81\x81\x5d\x18\x0b\xf8\xb0\xa5\x1d\x0b\x70\xa0\xaf\x8c\x8b\x8e\x8c" -+"\x8f\x1f\x60\x06\x86\xab\x0a\xda\xd0\xc8\xdd\x98\x1e\x0e\xf8\x69\x15\xa6\xf7\x11\x05\x3a\x06\x94\xbd\xab\xa8\xc5\x95\x95\xb9\x18" -+"\x32\x84\x4b\x52\x7d\x34\x74\xfb\x01\x18\x0b\xf9\x89\x90\x0a\x07\x93\x79\x7a\x8e\x79\x1b\x4a\x52\x55\x4e\x65\xa6\x74\xb7\xba\xb9" -+"\xa3\xb3\xa7\x1f\xa0\xa8\x93\xa9\xbc\x1a\x0b\x69\x1d\xba\x6f\xaf\x1e\xb8\x67\x51\xa3\x42\xc6\x0a\x0b\x15\x74\xfb\x04\x05\xcd\x06" -+"\x85\x5f\x69\xa5\x0a\x81\x80\x90\x7d\x1b\x71\x75\x75\x70\x6c\xa7\x73\xae\xb7\xaa\xaa\xc5\x99\x1f\x9b\xcb\x90\xd4\xf7\x41\x1a\x0b" -+"\x15\x94\xab\x93\x9e\x98\x9b\x08\xab\xa3\xb2\x9e\xb3\x6d\x1d\x8b\x66\x1a\x0b\x49\x0a\xd1\x06\xf7\xee\xf7\x27\x49\x0a\xd1\x06\x0e" -+"\x15\xfb\x4b\x06\xb2\xf7\x49\x05\xfb\x0b\x06\x64\xfb\x49\x05\xfb\x4a\x31\x1d\xf7\x4a\x06\x0b\xf8\x32\xf8\xa5\x15\xb8\x0a\x45\x06" -+"\x78\x2e\x05\xd0\x06\x0b\x06\xcb\xfb\xdf\x20\x0a\x40\xf8\x1c\xb7\x0a\x0b\x06\xe6\xf8\x3f\xbb\x1d\xc7\x64\xb2\x38\xa4\x1f\x2b\xa7" -+"\x05\x58\x9a\x7d\x95\x9f\x1a\xab\xae\xa0\xc0\xc2\xac\x78\x0b\x05\xfb\x2a\x6a\x1d\xfb\x9d\x58\x0a\x59\x0a\x41\xfb\xf4\x0b\x1a\xd8" -+"\x54\xbf\x25\x9f\x1e\xfb\x01\xa1\x05\x2d\x9e\x70\x9b\xb1\x1a\xcb\xc3\xb3\xe6\x0b\xf9\x89\x7e\x0a\x43\xf7\x27\x05\x0b\x15\xf7\x20" -+"\xf7\x27\x05\x3e\x06\x24\x2a\x4f\xec\x05\x3d\x06\xd2\xfb\x27\x05\x0e\x20\x1d\xc7\xf7\xae\x05\x4f\xa0\xb5\x70\xd1\x1b\xf7\x35\xf7" -+"\x18\xf7\x39\x0b\xfb\x46\x1f\x7b\x43\x15\xf7\x21\xf1\x24\xfb\x21\xfb\x57\xfb\x4b\xfb\x4a\xfb\x59\x0b\xbe\x1d\x0e\x06\xa9\x98\xc0" -+"\x0a\x5a\x51\x50\x1e\x0e\x15\xfb\x20\x24\x1d\x21\x0a\x0b\x06\xc5\xbf\xc9\x1d\x0b\x15\x70\x74\x74\x71\x6f\xa2\x74\xa6\xa6\xa2\xa2" -+"\xa6\xa6\x74\xa2\x70\x1f\x0b\xce\x95\xd9\xa0\xeb\x18\x0e\xe1\x1d\xc3\x06\xd0\xf7\x15\x05\x0b\xfb\x83\x05\xf7\x1e\x06\x5b\xf7\xc1" -+"\xf7\x22\xf7\x83\x05\xfb\x28\x06\x0b\x66\x5e\x68\x1d\x96\xd9\x9f\xeb\x18\x0e\xf8\x07\xf7\xea\x15\xfb\xa4\x06\x6e\xfb\x1b\x05\xf7" -+"\xa4\x06\x0e\x15\xf0\xfb\x2a\x05\xca\x06\x0b\x3c\x0a\x5e\x68\x67\x5f\x83\x81\x5d\x18\x0b\xcb\x16\x21\x0a\xbb\xf7\x77\x05\xf7\x58" -+"\x06\x5a\xfb\x77\x05\x0b\xfa\xc2\xf7\xcb\x15\xfe\x87\x06\x75\x23\x05\xfa\x87\x06\x0e\x7a\x8a\x81\x7e\x1a\x4d\xb5\x62\xcb\x0b\xf7" -+"\xb7\xc9\xfb\xac\x06\x38\x68\x84\x72\x66\x1f\x4a\x60\x69\x0b\x29\x0a\x2c\x1d\xbe\xf7\x83\x05\x0b\xf7\x22\xb5\x0a\x0b\x1e\x78\x3d" -+"\x1d\x0b\xf8\xb0\x15\xfb\x57\xfc\x1d\x67\xf8\x1d\x05\xfb\x2e\x06\x0b\xfb\x79\xfb\x73\xfb\x83\xfb\x43\xf7\x15\xfb\x14\xf7\x45\x0b" -+"\x5d\x18\xd6\x91\xcf\xce\x95\xd9\x0b\x6e\x55\x86\x8a\x82\x8a\x82\x1e\x0b\x06\x3b\xfc\x0f\x86\x72\x75\x76\x73\x89\x19\x5a\x06\x0b" -+"\x15\xfc\xd9\xfd\x73\x05\xe0\x06\xf8\xd9\xf9\x73\x05\x0b\x95\xa3\x97\x8e\x9d\x1b\xa5\x9d\x7e\x77\x72\x6d\x78\x0b\xf7\x4e\xf7\xe5" -+"\x05\xfb\x33\x06\xfb\x29\xfb\xa5\x05\x0b\x3d\x06\xaa\xf7\x25\x22\x0a\x6c\xfb\x25\x05\x0b\xf7\x06\x05\xf7\x1c\x06\xa3\x9b\x7b\x71" -+"\x64\x6d\x6a\x0b\xfb\x22\x7e\xb9\x80\xa5\x7a\x9f\x19\xb0\x6c\x5b\xa1\x0b\xa7\x0a\x5f\xf7\x2a\x05\x0e\x05\x95\xa3\x97\x8e\x9c\x1b" -+"\xa5\x9d\x7e\x77\x72\x0b\xf8\xd5\xf7\xdf\x15\x45\xfb\xdf\x20\x0a\x0b\xed\x05\x89\x7d\x83\x8a\x80\x1b\x73\x7d\x94\x9b\x0b\xa6\xf7" -+"\x11\x05\xfc\x1f\x06\x0b\x87\x7d\x97\x1f\x96\x7d\x91\x79\x74\x1a\x44\x0b\xf9\x35\x15\x41\x06\x55\xfb\x94\x05\xc4\x06\x0b\xda\x69" -+"\x1e\x7d\xad\xa6\x87\xd0\x1b\xf7\xac\x0b\x7d\x76\x1f\x68\x72\x69\x7b\x56\x1b\x0e\x15\xfb\xc0\x06\x7a\x3b\x05\xf7\xc0\x06\x0b\x15" -+"\xfc\x79\x06\x75\x27\x05\xf8\x79\x06\x0b\x1b\x3d\x3b\x6c\x5a\x5c\x1f\x4b\x48\x5d\x0b\xfb\x11\x18\xf7\xcc\x06\xa6\xf7\x11\x05\x0b", 39424 -+}; -diff -up texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/fonts/NimbusSans-Italic.cff.cpp.301 texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/fonts/NimbusSans-Italic.cff.cpp ---- texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/fonts/NimbusSans-Italic.cff.cpp.301 2023-01-17 15:53:51.712205404 -0500 -+++ texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/fonts/NimbusSans-Italic.cff.cpp 2023-01-17 15:53:51.712205404 -0500 -@@ -0,0 +1,1252 @@ -+#include "Base14Fonts.hpp" -+ -+extern const MemoryFontData NimbusSans_Italic_cff = { -+"\x01\x00\x04\x02\x00\x01\x01\x01\x12\x4e\x69\x6d\x62\x75\x73\x53\x61\x6e\x73\x2d\x49\x74\x61\x6c\x69\x63\x00\x01\x01\x01\x34\xf9" -+"\xbc\x00\xf9\xbd\x01\xf9\xbe\x0c\x00\xf9\xbf\x02\xf9\xc0\x03\xf8\x18\x04\x7f\x0c\x02\xfb\x2b\x0c\x03\xfb\x0f\xfb\xb0\x1c\x04\x82" -+"\xfa\xc2\x05\x1c\x26\x00\x0f\x1c\x26\x13\x11\xb0\x1d\x00\x00\x8d\xa6\x12\x01\xa6\x02\x00\x01\x00\x08\x00\x0e\x00\x13\x00\x1d\x00" -+"\x24\x00\x2b\x00\x35\x00\x39\x00\x3f\x00\x45\x00\x50\x00\x5a\x00\x5d\x00\x63\x00\x69\x00\x6e\x00\x74\x00\x7a\x00\x84\x00\x8b\x00" -+"\x8e\x00\x95\x00\x9c\x00\xa8\x00\xab\x00\xb3\x00\xb7\x00\xbc\x00\xc2\x00\xcd\x00\xd9\x00\xe3\x00\xe7\x00\xf2\x00\xf4\x00\xfa\x01" -+"\x04\x01\x0b\x01\x12\x01\x16\x01\x22\x01\x2b\x01\x31\x01\x3c\x01\x41\x01\x4d\x01\x53\x01\x59\x01\x5f\x01\x6b\x01\x6f\x01\x71\x01" -+"\x77\x01\x7d\x01\x89\x01\x8b\x01\x91\x01\x9e\x01\xa5\x01\xaf\x01\xb6\x01\xc2\x01\xcd\x01\xd0\x01\xd2\x01\xd5\x01\xdb\x01\xe1\x01" -+"\xed\x01\xf0\x01\xf6\x01\xfe\x02\x09\x02\x15\x02\x1a\x02\x1d\x02\x21\x02\x27\x02\x33\x02\x38\x02\x3e\x02\x4b\x02\x52\x02\x59\x02" -+"\x60\x02\x6f\x02\x7b\x02\x80\x02\x86\x02\x8c\x02\x97\x02\xa0\x02\xa6\x02\xa8\x02\xb3\x02\xb9\x02\xbf\x02\xc9\x02\xcd\x02\xd3\x02" -+"\xda\x02\xe3\x02\xec\x02\xf5\x02\xfe\x03\x07\x03\x10\x03\x19\x03\x22\x03\x2b\x03\x34\x03\x3d\x03\x46\x03\x4f\x03\x58\x03\x61\x03" -+"\x6a\x03\x73\x03\x7c\x03\x85\x03\x8e\x03\x97\x03\xa0\x03\xa9\x03\xb2\x03\xbb\x03\xc4\x03\xcd\x03\xd6\x03\xdf\x03\xe8\x03\xf1\x03" -+"\xfa\x04\x03\x04\x0c\x04\x15\x04\x1e\x04\x27\x04\x30\x04\x39\x04\x42\x04\x4b\x04\x54\x04\x5d\x04\x66\x04\x6f\x04\x78\x04\x81\x04" -+"\x8a\x04\x93\x04\x9c\x04\xa5\x04\xae\x04\xb7\x04\xc0\x04\xc9\x04\xd2\x04\xdb\x04\xe4\x04\xed\x04\xf6\x04\xff\x05\x08\x05\x11\x05" -+"\x1a\x05\x23\x05\x2c\x05\x35\x05\x3e\x05\x47\x05\x50\x05\x59\x05\x62\x05\x6b\x05\x74\x05\x7d\x05\x86\x05\x8f\x05\x98\x05\xa1\x05" -+"\xaa\x05\xb3\x05\xbc\x05\xc5\x05\xce\x05\xd7\x05\xe0\x05\xe9\x05\xf2\x05\xfb\x06\x04\x06\x0d\x06\x16\x06\x1f\x06\x28\x06\x31\x06" -+"\x3a\x06\x43\x06\x4c\x06\x55\x06\x5a\x06\x64\x06\x6b\x06\x74\x06\x7e\x06\x85\x06\x90\x06\x9a\x06\xa3\x06\xac\x06\xb5\x06\xbf\x06" -+"\xc6\x06\xcf\x06\xdb\x06\xdf\x06\xe5\x06\xeb\x06\xf6\x07\x00\x07\x03\x07\x11\x07\x15\x07\x1b\x07\x21\x07\x26\x07\x2d\x07\x3a\x07" -+"\x40\x07\x46\x07\x50\x07\x57\x07\x5e\x07\x61\x07\x68\x07\x6f\x07\x7b\x07\x86\x07\x8f\x07\x92\x07\x9a\x07\xa3\x07\xae\x07\xb4\x07" -+"\xb9\x07\xbe\x07\xc4\x07\xcf\x07\xdb\x07\xe5\x07\xf1\x07\xf5\x08\x00\x08\x05\x08\x0a\x08\x10\x08\x12\x08\x19\x08\x21\x08\x29\x08" -+"\x33\x08\x3d\x08\x49\x08\x55\x08\x5c\x08\x60\x08\x6c\x08\x7d\x08\x86\x08\x8c\x08\x97\x08\x9c\x08\xa8\x08\xb4\x08\xba\x08\xc0\x08" -+"\xc6\x08\xd2\x08\xd6\x08\xdf\x08\xe3\x08\xe8\x08\xec\x08\xf2\x08\xfd\x09\x0b\x09\x11\x09\x1c\x09\x22\x09\x2e\x09\x38\x09\x40\x09" -+"\x42\x09\x48\x09\x55\x09\x5c\x09\x61\x09\x6b\x09\x72\x09\x7e\x09\x88\x09\x93\x09\x9e\x09\xa4\x09\xa7\x09\xa9\x09\xb0\x09\xbc\x09" -+"\xca\x09\xcd\x09\xda\x09\xe0\x09\xe7\x09\xed\x09\xf9\x0a\x06\x0a\x09\x0a\x0f\x0a\x17\x0a\x22\x0a\x2e\x0a\x34\x0a\x39\x0a\x42\x0a" -+"\x47\x0a\x50\x0a\x53\x0a\x56\x0a\x5a\x0a\x60\x0a\x6c\x0a\x71\x0a\x76\x0a\x7c\x0a\x89\x0a\x90\x0a\x9d\x0a\xa4\x0a\xab\x0a\xb2\x0a" -+"\xb9\x0a\xc0\x0a\xc7\x0a\xce\x0a\xd5\x0a\xdc\x0a\xe3\x0a\xea\x0a\xf1\x0a\xf8\x0a\xff\x0b\x06\x0b\x0d\x0b\x14\x0b\x1b\x0b\x22\x0b" -+"\x29\x0b\x30\x0b\x37\x0b\x3e\x0b\x45\x0b\x4c\x0b\x53\x0b\x5a\x0b\x61\x0b\x68\x0b\x6f\x0b\x76\x0b\x7d\x0b\x84\x0b\x8b\x0b\x92\x0b" -+"\x99\x0b\xa0\x0b\xa7\x0b\xae\x0b\xb5\x0b\xbc\x0b\xc3\x0b\xca\x0b\xd1\x0b\xd8\x0b\xdf\x0b\xe6\x0b\xed\x0b\xf4\x0b\xfb\x0c\x02\x0c" -+"\x09\x0c\x10\x0c\x17\x0c\x1e\x0c\x25\x0c\x2c\x0c\x33\x0c\x3a\x0c\x41\x0c\x48\x0c\x4d\x0c\x56\x0c\x5d\x0c\x64\x0c\x73\x0c\x87\x0c" -+"\x93\x0c\x98\x0c\x9e\x0c\xa4\x0c\xaf\x0c\xb8\x0c\xbe\x0c\xc0\x0c\xcb\x0c\xd1\x0c\xd7\x0c\xe1\x0c\xe5\x0c\xe9\x0d\x1f\x0d\x5f\x0d" -+"\x71\x0d\x7c\x41\x45\x61\x63\x75\x74\x65\x41\x62\x72\x65\x76\x65\x41\x6c\x70\x68\x61\x41\x6c\x70\x68\x61\x74\x6f\x6e\x6f\x73\x41" -+"\x6d\x61\x63\x72\x6f\x6e\x41\x6f\x67\x6f\x6e\x65\x6b\x41\x72\x69\x6e\x67\x61\x63\x75\x74\x65\x42\x65\x74\x61\x43\x61\x63\x75\x74" -+"\x65\x43\x63\x61\x72\x6f\x6e\x43\x63\x69\x72\x63\x75\x6d\x66\x6c\x65\x78\x43\x64\x6f\x74\x61\x63\x63\x65\x6e\x74\x43\x68\x69\x44" -+"\x63\x61\x72\x6f\x6e\x44\x63\x72\x6f\x61\x74\x44\x65\x6c\x74\x61\x45\x62\x72\x65\x76\x65\x45\x63\x61\x72\x6f\x6e\x45\x64\x6f\x74" -+"\x61\x63\x63\x65\x6e\x74\x45\x6d\x61\x63\x72\x6f\x6e\x45\x6e\x67\x45\x6f\x67\x6f\x6e\x65\x6b\x45\x70\x73\x69\x6c\x6f\x6e\x45\x70" -+"\x73\x69\x6c\x6f\x6e\x74\x6f\x6e\x6f\x73\x45\x74\x61\x45\x74\x61\x74\x6f\x6e\x6f\x73\x45\x75\x72\x6f\x47\x61\x6d\x6d\x61\x47\x62" -+"\x72\x65\x76\x65\x47\x63\x69\x72\x63\x75\x6d\x66\x6c\x65\x78\x47\x63\x6f\x6d\x6d\x61\x61\x63\x63\x65\x6e\x74\x47\x64\x6f\x74\x61" -+"\x63\x63\x65\x6e\x74\x48\x62\x61\x72\x48\x63\x69\x72\x63\x75\x6d\x66\x6c\x65\x78\x49\x4a\x49\x62\x72\x65\x76\x65\x49\x64\x6f\x74" -+"\x61\x63\x63\x65\x6e\x74\x49\x6d\x61\x63\x72\x6f\x6e\x49\x6f\x67\x6f\x6e\x65\x6b\x49\x6f\x74\x61\x49\x6f\x74\x61\x64\x69\x65\x72" -+"\x65\x73\x69\x73\x49\x6f\x74\x61\x74\x6f\x6e\x6f\x73\x49\x74\x69\x6c\x64\x65\x4a\x63\x69\x72\x63\x75\x6d\x66\x6c\x65\x78\x4b\x61" -+"\x70\x70\x61\x4b\x63\x6f\x6d\x6d\x61\x61\x63\x63\x65\x6e\x74\x4c\x61\x63\x75\x74\x65\x4c\x61\x6d\x62\x64\x61\x4c\x63\x61\x72\x6f" -+"\x6e\x4c\x63\x6f\x6d\x6d\x61\x61\x63\x63\x65\x6e\x74\x4c\x64\x6f\x74\x4d\x75\x4e\x61\x63\x75\x74\x65\x4e\x63\x61\x72\x6f\x6e\x4e" -+"\x63\x6f\x6d\x6d\x61\x61\x63\x63\x65\x6e\x74\x4e\x75\x4f\x62\x72\x65\x76\x65\x4f\x68\x75\x6e\x67\x61\x72\x75\x6d\x6c\x61\x75\x74" -+"\x4f\x6d\x61\x63\x72\x6f\x6e\x4f\x6d\x65\x67\x61\x74\x6f\x6e\x6f\x73\x4f\x6d\x69\x63\x72\x6f\x6e\x4f\x6d\x69\x63\x72\x6f\x6e\x74" -+"\x6f\x6e\x6f\x73\x4f\x73\x6c\x61\x73\x68\x61\x63\x75\x74\x65\x50\x68\x69\x50\x69\x50\x73\x69\x52\x61\x63\x75\x74\x65\x52\x63\x61" -+"\x72\x6f\x6e\x52\x63\x6f\x6d\x6d\x61\x61\x63\x63\x65\x6e\x74\x52\x68\x6f\x53\x61\x63\x75\x74\x65\x53\x63\x65\x64\x69\x6c\x6c\x61" -+"\x53\x63\x69\x72\x63\x75\x6d\x66\x6c\x65\x78\x53\x63\x6f\x6d\x6d\x61\x61\x63\x63\x65\x6e\x74\x53\x69\x67\x6d\x61\x54\x61\x75\x54" -+"\x62\x61\x72\x54\x63\x61\x72\x6f\x6e\x54\x63\x6f\x6d\x6d\x61\x61\x63\x63\x65\x6e\x74\x54\x68\x65\x74\x61\x55\x62\x72\x65\x76\x65" -+"\x55\x68\x75\x6e\x67\x61\x72\x75\x6d\x6c\x61\x75\x74\x55\x6d\x61\x63\x72\x6f\x6e\x55\x6f\x67\x6f\x6e\x65\x6b\x55\x70\x73\x69\x6c" -+"\x6f\x6e\x55\x70\x73\x69\x6c\x6f\x6e\x64\x69\x65\x72\x65\x73\x69\x73\x55\x70\x73\x69\x6c\x6f\x6e\x74\x6f\x6e\x6f\x73\x55\x72\x69" -+"\x6e\x67\x55\x74\x69\x6c\x64\x65\x57\x61\x63\x75\x74\x65\x57\x63\x69\x72\x63\x75\x6d\x66\x6c\x65\x78\x57\x64\x69\x65\x72\x65\x73" -+"\x69\x73\x57\x67\x72\x61\x76\x65\x58\x69\x59\x63\x69\x72\x63\x75\x6d\x66\x6c\x65\x78\x59\x67\x72\x61\x76\x65\x5a\x61\x63\x75\x74" -+"\x65\x5a\x64\x6f\x74\x61\x63\x63\x65\x6e\x74\x5a\x65\x74\x61\x61\x62\x72\x65\x76\x65\x61\x65\x61\x63\x75\x74\x65\x61\x66\x69\x69" -+"\x30\x30\x32\x30\x38\x61\x66\x69\x69\x31\x30\x30\x31\x37\x61\x66\x69\x69\x31\x30\x30\x31\x38\x61\x66\x69\x69\x31\x30\x30\x31\x39" -+"\x61\x66\x69\x69\x31\x30\x30\x32\x30\x61\x66\x69\x69\x31\x30\x30\x32\x31\x61\x66\x69\x69\x31\x30\x30\x32\x32\x61\x66\x69\x69\x31" -+"\x30\x30\x32\x33\x61\x66\x69\x69\x31\x30\x30\x32\x34\x61\x66\x69\x69\x31\x30\x30\x32\x35\x61\x66\x69\x69\x31\x30\x30\x32\x36\x61" -+"\x66\x69\x69\x31\x30\x30\x32\x37\x61\x66\x69\x69\x31\x30\x30\x32\x38\x61\x66\x69\x69\x31\x30\x30\x32\x39\x61\x66\x69\x69\x31\x30" -+"\x30\x33\x30\x61\x66\x69\x69\x31\x30\x30\x33\x31\x61\x66\x69\x69\x31\x30\x30\x33\x32\x61\x66\x69\x69\x31\x30\x30\x33\x33\x61\x66" -+"\x69\x69\x31\x30\x30\x33\x34\x61\x66\x69\x69\x31\x30\x30\x33\x35\x61\x66\x69\x69\x31\x30\x30\x33\x36\x61\x66\x69\x69\x31\x30\x30" -+"\x33\x37\x61\x66\x69\x69\x31\x30\x30\x33\x38\x61\x66\x69\x69\x31\x30\x30\x33\x39\x61\x66\x69\x69\x31\x30\x30\x34\x30\x61\x66\x69" -+"\x69\x31\x30\x30\x34\x31\x61\x66\x69\x69\x31\x30\x30\x34\x32\x61\x66\x69\x69\x31\x30\x30\x34\x33\x61\x66\x69\x69\x31\x30\x30\x34" -+"\x34\x61\x66\x69\x69\x31\x30\x30\x34\x35\x61\x66\x69\x69\x31\x30\x30\x34\x36\x61\x66\x69\x69\x31\x30\x30\x34\x37\x61\x66\x69\x69" -+"\x31\x30\x30\x34\x38\x61\x66\x69\x69\x31\x30\x30\x34\x39\x61\x66\x69\x69\x31\x30\x30\x35\x30\x61\x66\x69\x69\x31\x30\x30\x35\x31" -+"\x61\x66\x69\x69\x31\x30\x30\x35\x32\x61\x66\x69\x69\x31\x30\x30\x35\x33\x61\x66\x69\x69\x31\x30\x30\x35\x34\x61\x66\x69\x69\x31" -+"\x30\x30\x35\x35\x61\x66\x69\x69\x31\x30\x30\x35\x36\x61\x66\x69\x69\x31\x30\x30\x35\x37\x61\x66\x69\x69\x31\x30\x30\x35\x38\x61" -+"\x66\x69\x69\x31\x30\x30\x35\x39\x61\x66\x69\x69\x31\x30\x30\x36\x30\x61\x66\x69\x69\x31\x30\x30\x36\x31\x61\x66\x69\x69\x31\x30" -+"\x30\x36\x32\x61\x66\x69\x69\x31\x30\x30\x36\x35\x61\x66\x69\x69\x31\x30\x30\x36\x36\x61\x66\x69\x69\x31\x30\x30\x36\x37\x61\x66" -+"\x69\x69\x31\x30\x30\x36\x38\x61\x66\x69\x69\x31\x30\x30\x36\x39\x61\x66\x69\x69\x31\x30\x30\x37\x30\x61\x66\x69\x69\x31\x30\x30" -+"\x37\x31\x61\x66\x69\x69\x31\x30\x30\x37\x32\x61\x66\x69\x69\x31\x30\x30\x37\x33\x61\x66\x69\x69\x31\x30\x30\x37\x34\x61\x66\x69" -+"\x69\x31\x30\x30\x37\x35\x61\x66\x69\x69\x31\x30\x30\x37\x36\x61\x66\x69\x69\x31\x30\x30\x37\x37\x61\x66\x69\x69\x31\x30\x30\x37" -+"\x38\x61\x66\x69\x69\x31\x30\x30\x37\x39\x61\x66\x69\x69\x31\x30\x30\x38\x30\x61\x66\x69\x69\x31\x30\x30\x38\x31\x61\x66\x69\x69" -+"\x31\x30\x30\x38\x32\x61\x66\x69\x69\x31\x30\x30\x38\x33\x61\x66\x69\x69\x31\x30\x30\x38\x34\x61\x66\x69\x69\x31\x30\x30\x38\x35" -+"\x61\x66\x69\x69\x31\x30\x30\x38\x36\x61\x66\x69\x69\x31\x30\x30\x38\x37\x61\x66\x69\x69\x31\x30\x30\x38\x38\x61\x66\x69\x69\x31" -+"\x30\x30\x38\x39\x61\x66\x69\x69\x31\x30\x30\x39\x30\x61\x66\x69\x69\x31\x30\x30\x39\x31\x61\x66\x69\x69\x31\x30\x30\x39\x32\x61" -+"\x66\x69\x69\x31\x30\x30\x39\x33\x61\x66\x69\x69\x31\x30\x30\x39\x34\x61\x66\x69\x69\x31\x30\x30\x39\x35\x61\x66\x69\x69\x31\x30" -+"\x30\x39\x36\x61\x66\x69\x69\x31\x30\x30\x39\x37\x61\x66\x69\x69\x31\x30\x30\x39\x38\x61\x66\x69\x69\x31\x30\x30\x39\x39\x61\x66" -+"\x69\x69\x31\x30\x31\x30\x30\x61\x66\x69\x69\x31\x30\x31\x30\x31\x61\x66\x69\x69\x31\x30\x31\x30\x32\x61\x66\x69\x69\x31\x30\x31" -+"\x30\x33\x61\x66\x69\x69\x31\x30\x31\x30\x34\x61\x66\x69\x69\x31\x30\x31\x30\x35\x61\x66\x69\x69\x31\x30\x31\x30\x36\x61\x66\x69" -+"\x69\x31\x30\x31\x30\x37\x61\x66\x69\x69\x31\x30\x31\x30\x38\x61\x66\x69\x69\x31\x30\x31\x30\x39\x61\x66\x69\x69\x31\x30\x31\x31" -+"\x30\x61\x66\x69\x69\x31\x30\x31\x34\x35\x61\x66\x69\x69\x31\x30\x31\x39\x33\x61\x66\x69\x69\x31\x30\x38\x34\x36\x61\x66\x69\x69" -+"\x36\x31\x32\x34\x38\x61\x66\x69\x69\x36\x31\x32\x38\x39\x61\x66\x69\x69\x36\x31\x33\x35\x32\x61\x6c\x70\x68\x61\x61\x6c\x70\x68" -+"\x61\x74\x6f\x6e\x6f\x73\x61\x6d\x61\x63\x72\x6f\x6e\x61\x6e\x67\x6c\x65\x6c\x65\x66\x74\x61\x6e\x67\x6c\x65\x72\x69\x67\x68\x74" -+"\x61\x6f\x67\x6f\x6e\x65\x6b\x61\x70\x70\x72\x6f\x78\x65\x71\x75\x61\x6c\x61\x72\x69\x6e\x67\x61\x63\x75\x74\x65\x61\x72\x72\x6f" -+"\x77\x62\x6f\x74\x68\x61\x72\x72\x6f\x77\x64\x6f\x77\x6e\x61\x72\x72\x6f\x77\x6c\x65\x66\x74\x61\x72\x72\x6f\x77\x72\x69\x67\x68" -+"\x74\x61\x72\x72\x6f\x77\x75\x70\x61\x72\x72\x6f\x77\x75\x70\x64\x6e\x61\x72\x72\x6f\x77\x75\x70\x64\x6e\x62\x73\x65\x62\x65\x74" -+"\x61\x63\x61\x63\x75\x74\x65\x63\x63\x61\x72\x6f\x6e\x63\x63\x69\x72\x63\x75\x6d\x66\x6c\x65\x78\x63\x64\x6f\x74\x61\x63\x63\x65" -+"\x6e\x74\x63\x68\x69\x63\x69\x72\x63\x6c\x65\x6d\x75\x6c\x74\x69\x70\x6c\x79\x63\x6c\x75\x62\x64\x63\x61\x72\x6f\x6e\x64\x63\x72" -+"\x6f\x61\x74\x64\x65\x6c\x74\x61\x64\x69\x61\x6d\x6f\x6e\x64\x64\x69\x65\x72\x65\x73\x69\x73\x74\x6f\x6e\x6f\x73\x65\x62\x72\x65" -+"\x76\x65\x65\x63\x61\x72\x6f\x6e\x65\x64\x6f\x74\x61\x63\x63\x65\x6e\x74\x65\x6c\x65\x6d\x65\x6e\x74\x65\x6d\x61\x63\x72\x6f\x6e" -+"\x65\x6e\x67\x65\x6f\x67\x6f\x6e\x65\x6b\x65\x70\x73\x69\x6c\x6f\x6e\x65\x70\x73\x69\x6c\x6f\x6e\x74\x6f\x6e\x6f\x73\x65\x71\x75" -+"\x69\x76\x61\x6c\x65\x6e\x63\x65\x65\x73\x74\x69\x6d\x61\x74\x65\x64\x65\x74\x61\x65\x74\x61\x74\x6f\x6e\x6f\x73\x65\x78\x63\x6c" -+"\x61\x6d\x64\x62\x6c\x65\x78\x69\x73\x74\x65\x6e\x74\x69\x61\x6c\x66\x65\x6d\x61\x6c\x65\x66\x72\x61\x6e\x63\x67\x61\x6d\x6d\x61" -+"\x67\x62\x72\x65\x76\x65\x67\x63\x69\x72\x63\x75\x6d\x66\x6c\x65\x78\x67\x63\x6f\x6d\x6d\x61\x61\x63\x63\x65\x6e\x74\x67\x64\x6f" -+"\x74\x61\x63\x63\x65\x6e\x74\x67\x72\x65\x61\x74\x65\x72\x65\x71\x75\x61\x6c\x68\x62\x61\x72\x68\x63\x69\x72\x63\x75\x6d\x66\x6c" -+"\x65\x78\x68\x65\x61\x72\x74\x68\x6f\x75\x73\x65\x69\x62\x72\x65\x76\x65\x69\x6a\x69\x6d\x61\x63\x72\x6f\x6e\x69\x6e\x66\x69\x6e" -+"\x69\x74\x79\x69\x6e\x74\x65\x67\x72\x61\x6c\x69\x6e\x74\x65\x67\x72\x61\x6c\x62\x74\x69\x6e\x74\x65\x67\x72\x61\x6c\x74\x70\x69" -+"\x6e\x74\x65\x72\x73\x65\x63\x74\x69\x6f\x6e\x69\x6e\x76\x73\x6d\x69\x6c\x65\x66\x61\x63\x65\x69\x6f\x67\x6f\x6e\x65\x6b\x69\x6f" -+"\x74\x61\x69\x6f\x74\x61\x64\x69\x65\x72\x65\x73\x69\x73\x69\x6f\x74\x61\x64\x69\x65\x72\x65\x73\x69\x73\x74\x6f\x6e\x6f\x73\x69" -+"\x6f\x74\x61\x74\x6f\x6e\x6f\x73\x69\x74\x69\x6c\x64\x65\x6a\x63\x69\x72\x63\x75\x6d\x66\x6c\x65\x78\x6b\x61\x70\x70\x61\x6b\x63" -+"\x6f\x6d\x6d\x61\x61\x63\x63\x65\x6e\x74\x6b\x67\x72\x65\x65\x6e\x6c\x61\x6e\x64\x69\x63\x6c\x61\x63\x75\x74\x65\x6c\x61\x6d\x62" -+"\x64\x61\x6c\x63\x61\x72\x6f\x6e\x6c\x63\x6f\x6d\x6d\x61\x61\x63\x63\x65\x6e\x74\x6c\x64\x6f\x74\x6c\x65\x73\x73\x65\x71\x75\x61" -+"\x6c\x6c\x69\x72\x61\x6c\x6f\x6e\x67\x73\x6d\x61\x6c\x65\x6d\x69\x6e\x75\x74\x65\x6d\x75\x73\x69\x63\x61\x6c\x6e\x6f\x74\x65\x6d" -+"\x75\x73\x69\x63\x61\x6c\x6e\x6f\x74\x65\x64\x62\x6c\x6e\x61\x63\x75\x74\x65\x6e\x61\x70\x6f\x73\x74\x72\x6f\x70\x68\x65\x6e\x63" -+"\x61\x72\x6f\x6e\x6e\x63\x6f\x6d\x6d\x61\x61\x63\x63\x65\x6e\x74\x6e\x6f\x74\x65\x6c\x65\x6d\x65\x6e\x74\x6e\x6f\x74\x65\x71\x75" -+"\x61\x6c\x6e\x75\x6f\x62\x72\x65\x76\x65\x6f\x68\x75\x6e\x67\x61\x72\x75\x6d\x6c\x61\x75\x74\x6f\x6d\x61\x63\x72\x6f\x6e\x6f\x6d" -+"\x65\x67\x61\x6f\x6d\x65\x67\x61\x74\x6f\x6e\x6f\x73\x6f\x6d\x69\x63\x72\x6f\x6e\x6f\x6d\x69\x63\x72\x6f\x6e\x74\x6f\x6e\x6f\x73" -+"\x6f\x72\x74\x68\x6f\x67\x6f\x6e\x61\x6c\x6f\x73\x6c\x61\x73\x68\x61\x63\x75\x74\x65\x70\x61\x72\x74\x69\x61\x6c\x64\x69\x66\x66" -+"\x70\x65\x73\x65\x74\x61\x70\x68\x69\x70\x69\x70\x72\x6f\x64\x75\x63\x74\x70\x72\x6f\x70\x65\x72\x73\x75\x62\x73\x65\x74\x70\x72" -+"\x6f\x70\x65\x72\x73\x75\x70\x65\x72\x73\x65\x74\x70\x73\x69\x71\x75\x6f\x74\x65\x72\x65\x76\x65\x72\x73\x65\x64\x72\x61\x63\x75" -+"\x74\x65\x72\x61\x64\x69\x63\x61\x6c\x72\x63\x61\x72\x6f\x6e\x72\x63\x6f\x6d\x6d\x61\x61\x63\x63\x65\x6e\x74\x72\x65\x76\x6c\x6f" -+"\x67\x69\x63\x61\x6c\x6e\x6f\x74\x72\x68\x6f\x73\x61\x63\x75\x74\x65\x73\x63\x65\x64\x69\x6c\x6c\x61\x73\x63\x69\x72\x63\x75\x6d" -+"\x66\x6c\x65\x78\x73\x63\x6f\x6d\x6d\x61\x61\x63\x63\x65\x6e\x74\x73\x65\x63\x6f\x6e\x64\x73\x69\x67\x6d\x61\x73\x6d\x69\x6c\x65" -+"\x66\x61\x63\x65\x73\x70\x61\x64\x65\x73\x75\x6d\x6d\x61\x74\x69\x6f\x6e\x73\x75\x6e\x74\x61\x75\x74\x62\x61\x72\x74\x63\x61\x72" -+"\x6f\x6e\x74\x63\x6f\x6d\x6d\x61\x61\x63\x63\x65\x6e\x74\x74\x68\x65\x74\x61\x74\x6f\x6e\x6f\x73\x75\x62\x72\x65\x76\x65\x75\x68" -+"\x75\x6e\x67\x61\x72\x75\x6d\x6c\x61\x75\x74\x75\x6d\x61\x63\x72\x6f\x6e\x75\x6e\x64\x65\x72\x73\x63\x6f\x72\x65\x64\x62\x6c\x75" -+"\x6e\x69\x30\x30\x41\x30\x75\x6e\x69\x30\x30\x41\x44\x75\x6e\x69\x30\x32\x31\x41\x75\x6e\x69\x30\x32\x31\x42\x75\x6e\x69\x30\x32" -+"\x43\x39\x75\x6e\x69\x30\x33\x38\x37\x75\x6e\x69\x30\x33\x39\x34\x75\x6e\x69\x30\x33\x41\x39\x75\x6e\x69\x30\x33\x42\x43\x75\x6e" -+"\x69\x30\x33\x43\x32\x75\x6e\x69\x30\x34\x30\x30\x75\x6e\x69\x30\x34\x30\x44\x75\x6e\x69\x30\x34\x35\x30\x75\x6e\x69\x30\x34\x35" -+"\x44\x75\x6e\x69\x30\x34\x39\x32\x75\x6e\x69\x30\x34\x39\x33\x75\x6e\x69\x30\x34\x39\x36\x75\x6e\x69\x30\x34\x39\x37\x75\x6e\x69" -+"\x30\x34\x39\x38\x75\x6e\x69\x30\x34\x39\x39\x75\x6e\x69\x30\x34\x39\x41\x75\x6e\x69\x30\x34\x39\x42\x75\x6e\x69\x30\x34\x39\x43" -+"\x75\x6e\x69\x30\x34\x39\x44\x75\x6e\x69\x30\x34\x41\x30\x75\x6e\x69\x30\x34\x41\x31\x75\x6e\x69\x30\x34\x41\x32\x75\x6e\x69\x30" -+"\x34\x41\x33\x75\x6e\x69\x30\x34\x41\x41\x75\x6e\x69\x30\x34\x41\x42\x75\x6e\x69\x30\x34\x41\x45\x75\x6e\x69\x30\x34\x41\x46\x75" -+"\x6e\x69\x30\x34\x42\x30\x75\x6e\x69\x30\x34\x42\x31\x75\x6e\x69\x30\x34\x42\x32\x75\x6e\x69\x30\x34\x42\x33\x75\x6e\x69\x30\x34" -+"\x42\x36\x75\x6e\x69\x30\x34\x42\x37\x75\x6e\x69\x30\x34\x42\x38\x75\x6e\x69\x30\x34\x42\x39\x75\x6e\x69\x30\x34\x42\x41\x75\x6e" -+"\x69\x30\x34\x42\x42\x75\x6e\x69\x30\x34\x43\x30\x75\x6e\x69\x30\x34\x43\x42\x75\x6e\x69\x30\x34\x43\x43\x75\x6e\x69\x30\x34\x44" -+"\x38\x75\x6e\x69\x30\x34\x45\x32\x75\x6e\x69\x30\x34\x45\x33\x75\x6e\x69\x30\x34\x45\x38\x75\x6e\x69\x30\x34\x45\x39\x75\x6e\x69" -+"\x30\x34\x45\x45\x75\x6e\x69\x30\x34\x45\x46\x75\x6e\x69\x32\x30\x33\x45\x75\x6e\x69\x32\x30\x41\x46\x75\x6e\x69\x32\x31\x32\x36" -+"\x75\x6e\x69\x32\x32\x31\x35\x75\x6e\x69\x32\x32\x31\x39\x75\x6e\x69\x32\x32\x32\x37\x75\x6e\x69\x32\x32\x32\x38\x75\x6e\x69\x32" -+"\x32\x39\x35\x75\x6e\x69\x32\x35\x41\x31\x75\x6e\x69\x6f\x6e\x75\x6e\x69\x76\x65\x72\x73\x61\x6c\x75\x6f\x67\x6f\x6e\x65\x6b\x75" -+"\x70\x73\x69\x6c\x6f\x6e\x75\x70\x73\x69\x6c\x6f\x6e\x64\x69\x65\x72\x65\x73\x69\x73\x75\x70\x73\x69\x6c\x6f\x6e\x64\x69\x65\x72" -+"\x65\x73\x69\x73\x74\x6f\x6e\x6f\x73\x75\x70\x73\x69\x6c\x6f\x6e\x74\x6f\x6e\x6f\x73\x75\x72\x69\x6e\x67\x75\x74\x69\x6c\x64\x65" -+"\x77\x61\x63\x75\x74\x65\x77\x63\x69\x72\x63\x75\x6d\x66\x6c\x65\x78\x77\x64\x69\x65\x72\x65\x73\x69\x73\x77\x67\x72\x61\x76\x65" -+"\x78\x69\x79\x63\x69\x72\x63\x75\x6d\x66\x6c\x65\x78\x79\x67\x72\x61\x76\x65\x7a\x61\x63\x75\x74\x65\x7a\x64\x6f\x74\x61\x63\x63" -+"\x65\x6e\x74\x7a\x65\x74\x61\x31\x2e\x30\x30\x28\x55\x52\x57\x29\x2b\x2b\x2c\x43\x6f\x70\x79\x72\x69\x67\x68\x74\x20\x32\x30\x31" -+"\x34\x20\x62\x79\x20\x28\x55\x52\x57\x29\x2b\x2b\x20\x44\x65\x73\x69\x67\x6e\x20\x26\x20\x44\x65\x76\x65\x6c\x6f\x70\x6d\x65\x6e" -+"\x74\x43\x6f\x70\x79\x72\x69\x67\x68\x74\x20\x28\x55\x52\x57\x29\x2b\x2b\x2c\x43\x6f\x70\x79\x72\x69\x67\x68\x74\x20\x32\x30\x31" -+"\x34\x20\x62\x79\x20\x28\x55\x52\x57\x29\x2b\x2b\x20\x44\x65\x73\x69\x67\x6e\x20\x26\x20\x44\x65\x76\x65\x6c\x6f\x70\x6d\x65\x6e" -+"\x74\x4e\x69\x6d\x62\x75\x73\x20\x53\x61\x6e\x73\x20\x49\x74\x61\x6c\x69\x63\x4e\x69\x6d\x62\x75\x73\x20\x53\x61\x6e\x73\x00\xc8" -+"\x02\x00\x01\x00\x06\x00\x0a\x00\x0e\x00\x11\x00\x14\x00\x19\x00\x20\x00\x25\x00\x3e\x00\x48\x00\x54\x00\x62\x00\x70\x00\x75\x00" -+"\x7c\x00\xa0\x00\xb4\x00\xb9\x00\xbf\x00\xc5\x00\xca\x00\xe3\x00\xee\x00\xf3\x00\xf9\x01\x1d\x01\x4a\x01\x82\x01\xc2\x01\xd9\x01" -+"\xe8\x01\xf9\x02\x04\x02\x0c\x02\x13\x02\x1a\x02\x5f\x02\x77\x02\x99\x02\x9d\x02\xb7\x02\xc7\x02\xdb\x02\xe9\x03\x07\x03\x23\x03" -+"\x2e\x03\x39\x03\x3f\x03\x4e\x03\x5b\x03\x63\x03\xa0\x03\xdd\x03\xfd\x04\x28\x04\x61\x04\x6d\x04\x94\x04\xa7\x04\xc1\x04\xca\x04" -+"\xd1\x04\xe0\x04\xe5\x04\xea\x05\x03\x05\x30\x05\x35\x05\x49\x05\x5b\x05\x63\x05\x72\x05\x8a\x05\x97\x05\xa2\x05\xb7\x05\xc3\x05" -+"\xd7\x05\xde\x05\xe3\x05\xea\x05\xf4\x05\xfb\x06\x04\x06\x0b\x06\x13\x06\x1f\x06\x2b\x06\x36\x06\x41\x07\x06\x07\x46\x07\x4d\x07" -+"\x72\x07\xb6\x08\x35\x08\xb1\x09\x29\x09\x6c\x09\xd0\x0a\x34\x0a\x70\x0a\xbb\x0a\xea\x0b\x3b\x0b\x40\x0b\x83\x0b\xc3\x0c\x04\x0c" -+"\x3c\x0c\x69\x0c\x87\x0c\xc3\x0c\xfe\x0d\x22\x0d\x3c\x0d\x65\x0d\x77\x0d\xa4\x0d\xc6\x0d\xf2\x0e\x1d\x0e\x3c\x0e\x5c\x0e\x6d\x0e" -+"\x94\x0e\xba\x0e\xde\x0f\x00\x0f\x07\x0f\x29\x0f\x3c\x0f\x5e\x0f\x77\x0f\x8b\x0f\xa8\x0f\xb2\x0f\xba\x0f\xd1\x0f\xd7\x0f\xf3\x10" -+"\x0d\x10\x18\x10\x31\x10\x36\x10\x4a\x10\x62\x10\x7a\x10\x91\x10\xa0\x10\xb3\x10\xc9\x10\xde\x10\xed\x10\xf6\x11\x0a\x11\x1e\x11" -+"\x30\x11\x43\x11\x56\x11\x69\x11\x76\x11\x87\x11\x8e\x11\x9e\x11\xaf\x11\xc0\x11\xcd\x11\xde\x11\xeb\x11\xf8\x12\x05\x12\x15\x12" -+"\x25\x12\x33\x12\x42\x12\x51\x12\x5e\x12\x6c\x12\x7a\x12\x88\x12\x96\x12\x9e\x12\xaa\x12\xb7\x12\xc2\x12\xc5\x12\xd1\x12\xdd\x12" -+"\xe9\x12\xf5\x13\x01\x13\x0c\x13\x17\x13\x22\x13\x2d\x13\x38\x13\x43\x13\x4e\x06\x9c\xdd\x05\x0b\x05\x37\x06\x0b\xf9\x6d\x15\x0b" -+"\x2c\x1d\x0e\x4b\x1d\x0e\x06\xeb\xf8\x56\x0b\x06\xfb\x2f\xfd\x6d\x05\x0b\x06\x7c\x43\x05\x0b\xf8\xa0\xf7\x6f\x15\xa6\xfb\x6f\x05" -+"\xf1\x06\xd9\x1d\xee\x06\xf7\x0f\xf7\x6f\x05\xf7\xa7\xe7\x1d\x0b\xf7\xf1\x22\x1d\x2d\x26\x1d\xe9\x06\x0b\x15\xf7\x14\xf7\x28\x05" -+"\x4b\x06\x23\x79\x1d\x0e\x15\x78\x30\x8f\x23\x05\xa9\x06\xbb\xf3\x9e\xe6\x05\x0e\x15\xfb\x14\xfb\x28\x05\xc7\x06\xf7\x48\xf7\x28" -+"\x05\x0b\x06\x9b\xd5\x05\x0b\x06\xf7\x1e\xf9\x1b\x05\x0b\xf8\x54\xf7\xb2\x15\xf8\x04\xf8\x4f\x05\xfb\x03\x06\xfb\xb5\xfb\xf9\xfb" -+"\x1c\xf7\xf9\x05\xfb\x04\x06\xf7\x4e\xfc\x4f\x4e\xfb\xb2\x05\xe9\x06\x0b\x15\x23\x06\x75\x24\x05\xf2\x06\xf7\x4c\xf2\x15\x23\x06" -+"\x75\x24\x05\xf2\x06\x0b\xb5\xcc\xa0\x1f\x0e\xfb\x3a\x05\xe9\x06\x0b\x1f\x6f\x65\x05\x71\x0b\x2b\xfc\x56\x05\x0b\x15\x76\x29\x05" -+"\xc2\x06\x50\x80\x73\x6e\x64\x1b\x83\x65\x05\xca\xbb\xbc\xdd\x9d\x1f\x9e\xe8\x05\x0e\x15\xfb\xa6\x06\x7c\x46\x05\xf7\xa6\x06\x0e" -+"\xf9\x6d\xe4\x1d\x0b\xf7\x03\xf8\xa0\x05\x0b\xf7\x49\xf8\xa0\x15\xfb\x03\xfc\xa0\x05\x78\x1d\xe5\x1b\xbd\xb0\x68\x5d\x85\x89\x7d" -+"\x87\x7a\x1f\x41\xfb\xf1\x05\xdf\x06\xdb\xf8\x0c\x6c\x1d\x0b\xf8\xc0\x16\xf7\x9c\xf8\xa0\x05\x30\x06\xfb\x58\xfc\x2c\x80\xf8\x2c" -+"\x05\x22\x06\xfb\x51\xfc\x2c\x78\xf8\x2c\x05\x30\x06\xb3\xfc\xa0\x05\xeb\x06\xf7\x57\xf8\x36\x97\xfc\x36\x05\x0b\x15\x35\x06\x9a" -+"\xd0\x05\xbe\x96\x9c\x9b\xb7\x1b\x92\x92\x8b\x89\x98\x1f\x9a\xd0\x05\x8f\x79\x80\x8c\x7b\x1b\x3e\x53\x5e\x41\x7b\x1f\x78\x32\x05" -+"\x45\x06\x7d\x48\x05\xd1\x06\x2a\xfc\x5d\x05\xdf\x06\xec\xf8\x5d\x05\xe1\x06\x0b\x44\x4e\x76\x64\x62\x1e\x66\x68\x74\x57\x5c\x1a" -+"\x4e\xae\x6e\xf2\x70\x1e\xd5\x78\xac\x82\x9a\x85\x94\x80\x19\x92\x82\x91\x7c\x82\x1a\x78\x7c\x6d\x7a\x7e\x1e\x76\x72\x60\x7e\x60" -+"\x1b\x45\x65\xa6\xbd\x91\x8c\x94\x8c\x95\x1f\x32\x06\x86\x74\x8a\x7f\x7b\x1a\x0b\x15\x89\x82\x87\x8b\x87\x1b\x71\x7f\x94\x9f\x8e" -+"\x8b\x8f\x8c\x8e\x1f\xcb\xf7\xc1\x05\x91\x0b\xf7\xdd\x22\x1d\x2d\x26\x1d\xf8\x5a\x20\x1d\xfb\xfc\x06\x0b\x8d\x9a\x8e\x9a\x1f\xf7" -+"\x01\xf8\x94\x05\x2d\x06\x25\xfc\x72\x05\x0b\x15\x87\x79\x8a\x83\x81\x1a\x50\xbf\x63\x0b\x06\xb5\xf7\x5d\x05\x37\x06\x0b\x96\x89" -+"\x87\x95\x1f\x75\x0b\x98\x93\x8c\xb7\x9a\x08\x0b\xf7\x46\xf8\xa0\x15\x42\xfb\xe7\x05\x84\x6a\x87\x6c\x7c\x1a\x3e\xd8\x57\xf7\x05" -+"\xd1\xc4\x9e\xb1\xb5\x1e\xb1\xad\x97\xa5\x9e\xe6\xd4\xf7\xe7\x18\x37\x06\x42\xfb\xe7\x80\x54\x7b\x6f\x6d\x76\x19\x7a\x71\x68\x81" -+"\x67\x1b\x4c\x63\xa8\xb9\x94\x8e\xa2\x90\xa3\x1f\xd4\xf7\xe7\x05\x0b\x9b\x51\x1b\x7e\x3e\x15\xd5\xb6\x5b\x3a\x50\x7b\x4a\x6f\x59" -+"\x1f\x46\x65\x55\x67\x46\x66\x1d\x0b\xf8\xc1\xf8\xa0\x15\xfc\x1c\x27\x1d\xf7\xba\x06\xfc\x1f\xfc\x0e\x79\x41\x05\xf8\x3f\x06\x9a" -+"\xd3\x05\xfb\xda\x06\xf8\x1c\xf8\x0d\x05\x0b\x15\x69\x1d\x0b\xf8\x81\xf9\x1b\x15\xf7\x82\x20\x1d\xfc\xd1\x06\x7a\x39\x05\xf7\x85" -+"\x06\xfb\x1e\xfd\x1b\x05\xe9\x06\x0b\xfb\x01\xfc\x94\x05\x28\x76\x3a\x4f\xfb\x06\x1b\x2a\x4b\xb9\x0b\x15\x23\x06\x75\x24\x05\xf3" -+"\x06\xf7\x4b\xf2\x15\x23\x06\x75\x24\x05\xf3\x06\x0b\xbb\x1d\xf3\xee\xc3\x28\x05\xca\x06\x4b\xf7\x2a\x05\x0b\xfb\x20\x37\x50\xfb" -+"\x03\x78\x1e\xdf\x06\x94\xa7\x92\x99\x99\x99\x08\xa2\xa1\xb5\x99\xb6\x1b\xc8\xb8\x70\x66\x86\x8a\x0b\x1f\x88\x79\x82\x62\x78\x80" -+"\x42\x84\x19\xfb\x1a\x7f\x61\x81\x5a\x6c\x08\x57\x6a\x6d\x56\x51\x1a\x3b\xc1\x5b\x0b\xf8\xa0\x15\xfb\x03\xfc\xa0\x05\xdf\x06\x0b" -+"\x06\xdd\xb3\x6c\x4b\x31\x3e\x44\x28\x1f\x0b\x9d\x1f\x9f\xe8\x05\x0e\xa2\xb6\xac\x9e\xac\xa9\x9d\x1f\xa4\x9a\xa7\x93\xbc\x92\x0b" -+"\x1f\xfb\x00\xf7\x46\x15\x4d\x7e\x33\x56\x33\x1b\x0b\x15\xfb\xa7\x06\x7c\x46\x05\x0b\x3d\x1d\xa6\x8b\x8b\x95\x1a\xcf\x46\xb8\x22" -+"\x4c\x1d\x85\x8a\x83\x4d\x1d\xe5\xaf\xb3\x92\x98\xb0\x1e\xaa\x96\x9a\x95\xb5\xaf\x08\x84\x07\x87\x07\x61\xa7\x73\xbb\x97\x8e\x8b" -+"\x91\xa3\x1e\x8d\x91\x8d\x8c\x91\x52\x1d\x52\x6b\x51\x1d\xea\x43\x1d\x0e\xf7\x92\xf7\xce\x15\xf7\x83\x06\xcd\xae\x71\x5a\x79\x88" -+"\x76\x86\x76\x1f\x73\x27\x8b\x8b\x6c\x1a\x7b\x8c\x80\x8e\x76\x1e\xf7\x05\x06\x90\xa2\x05\x7e\x97\x83\x9e\xa1\x1a\x95\x8d\x9d\x8f" -+"\xa1\x1e\x9f\xf7\x02\x8c\x93\x8c\x1d\x6d\x61\x7a\x4b\x1b\x0b\xf8\xc7\xf7\x7e\x15\x99\xd6\x8e\xa5\xab\x1a\xed\x5f\x1d\xdf\xa1\x8c" -+"\x95\x8f\x9a\x1f\x9d\xd3\x77\x1d\x81\x8a\x84\x89\x7b\x1f\x0b\xf9\x56\x22\x1d\x49\x1d\xd0\x99\x3f\x1d\x84\x68\x84\x5e\x7b\x1a\x62" -+"\xa2\x59\xab\x6e\x1e\x66\xb4\xcd\x76\xd8\x1b\xf7\x3c\xf7\x15\xe9\xf7\x26\xaa\x1f\xf7\x01\xf8\x94\x05\x0b\xf8\x77\x16\x38\x1d\x37" -+"\x06\x4c\xfb\xbd\x05\xfb\x00\x74\x45\x45\x35\x1b\x54\x69\xa8\xbb\x93\x8c\x94\x8d\x95\x1f\xda\xf8\x07\x21\x1d\x35\xfc\x28\x05\x89" -+"\x81\x8a\x80\x7e\x1a\x47\xbf\x62\xe1\xd9\xc4\xa3\xc3\xc5\x1e\x7f\x52\x05\x0b\xa6\x1d\x5a\x6a\x9f\xa9\x1f\x90\x07\x93\x07\x0e\x6a" -+"\xa8\x1e\xaf\x62\x56\x9b\x3d\x1b\x24\x3a\x6e\x53\x55\x1f\x62\x61\x6c\x44\x58\x1a\x4c\xb7\x56\xce\x78\x1e\xf7\x3f\x5b\x05\xdc\x74" -+"\xab\x6f\x5a\x1a\x6c\x0b\xd6\x16\xe9\x06\x9d\xde\xf8\x68\xf8\x42\xfb\x01\xfc\x95\x05\xe8\xb8\x1d\x0b\xef\x8c\x19\x90\x06\x95\x06" -+"\x9d\xe0\x05\x8d\x7e\x83\x8c\x80\x1b\x51\x5f\x71\x44\x4c\x1f\x9c\xdd\x05\x0b\x18\x60\x1d\x92\xa1\x62\x33\x1d\x0b\xe5\x1d\x64\x1b" -+"\x83\xd7\x1d\xad\x1d\xc4\x1b\xf7\x0c\xf2\xd5\xf7\x00\xaa\x1f\xdf\x1d\x0b\xb6\x1d\x6e\x73\x0b\xf9\x79\x63\x1d\x0b\x79\xb3\x71\xa6" -+"\x1e\xab\x6c\x62\x9a\x52\x1b\x31\x3a\x65\x46\x56\x1f\x5c\x4e\x69\xfb\x01\x2f\x1a\x0b\x15\xfb\x05\x2a\x61\x36\x3a\x1f\x32\x2f\x56" -+"\xfb\x17\xfb\x14\x1a\x34\xa6\x3f\xb9\x5d\x1e\x5b\xbb\xdc\x6e\xe0\x1b\xe9\xe0\xa6\xbd\xcc\x1f\xf7\x09\xe5\xd7\xf7\x36\xf7\x32\x1a" -+"\xda\x0b\xfa\x40\x4b\x1d\x0e\x15\x23\x06\x75\x24\x05\xf3\x06\xf7\x4c\xf2\x15\x23\x06\x75\x24\x05\xf3\x06\x0e\x1b\x44\x5f\xbc\xdc" -+"\xc5\x9c\xcc\xa6\xbd\x1f\xcf\xaf\xc4\xb0\xcd\x1b\x0b\xf7\x48\x4e\x1d\xc5\xf7\xa4\x0b\x98\x8c\x94\x8e\x9e\x1f\x34\x06\x84\x71\x89" -+"\x7b\x76\x1a\x0b\x75\x24\x05\xbb\x06\x81\x52\x76\x6f\x67\x86\x83\x65\x18\xc8\x8f\xb7\xbb\x9c\xda\xa0\xef\x18\x0b\xfb\x14\xfb\x2a" -+"\x05\xc7\x06\xf7\x48\xf7\x2a\x05\x0b\x15\xfc\xeb\x06\x80\x59\x05\xf8\xeb\x06\x0e\x05\x8e\x98\x8c\x97\x98\x1a\xd7\x56\xbc\x38\x3f" -+"\x49\x70\x56\x57\x1e\x98\xcc\x05\x0b\x8b\x90\x1b\x9c\x99\x81\x7f\x6b\x71\x74\x66\x0b\x06\xdb\xc7\x9f\xb5\xbb\x1f\xc0\xba\xab\xd3" -+"\xd3\x1a\xf5\x46\xc8\xfb\x0d\x1e\x0b\xd0\x1d\x6d\xa7\x61\x1f\x0b\x15\x20\x74\x1d\x0b\xf7\x82\x05\x25\x75\x1d\x0b\x08\xc0\x06\xa8" -+"\xa0\x91\x8f\xa2\x1b\x0b\xdf\x06\x38\x1d\x37\x06\x0b\x06\xf7\x11\xfb\x28\x05\xc0\x06\x0b\x06\xfb\x28\xfb\x5d\x05\x0b\xdf\x06\xf7" -+"\x04\xf8\xa0\x05\x0b\x15\xe7\xa5\xd5\xcb\xdc\x1b\xd2\xb8\x5b\x40\x0b\xdf\x06\xc8\xf7\xb5\x05\xf7\x02\xa3\xd1\xcf\x0b\x29\x53\xed" -+"\x05\x4c\x06\xcb\xfb\x28\x05\x0b\x71\x71\x6f\x77\x7c\x99\xa0\xa5\xa6\xa5\x0b\xf7\x75\xf8\x05\x15\xcd\xa0\xb4\xa6\xda\x1b\xcc\xb2" -+"\x76\x67\x85\x8a\x85\x8a\x84\x1f\x86\x72\x81\x60\x79\x80\x43\x84\x19\xfb\x15\x80\x60\x81\x59\x6d\x08\x58\x6b\x6c\x55\x51\x1a\x3c" -+"\xc2\x5a\xe2\xe2\xe2\xb0\xcc\xce\x1e\x45\xb2\xc2\x6b\xdb\x1b\xf7\x0d\xf1\xd4\xf7\x01\xab\x1f\x37\x06\x46\x67\x56\x67\x49\x1b\x68" -+"\x70\x93\x9c\x77\x1f\x71\xa1\x7a\xad\xa7\x1a\x91\x07\x97\x07\xa4\x8c\x96\x8f\x9c\x1e\xf8\x16\x06\x99\xd8\x8e\xa5\xac\x1a\xe8\x36" -+"\xd7\x25\x47\x46\x72\x63\x5e\x1e\x88\x92\x89\x8d\x78\x9b\x08\xa9\x67\x68\x95\x4b\x1b\x38\x46\x75\x64\x62\x1f\x73\x73\x7e\x70\x7b" -+"\x51\x08\xf7\xac\xfb\x61\x15\x4f\x7e\x34\x54\x37\x1b\x50\x6c\xa2\xb6\xac\x9e\xab\xa9\x9e\x1f\xa3\x9a\xa6\x93\xbf\x92\xee\x99\x91" -+"\x8c\xb0\x98\x08\xe4\xbc\x15\xed\xaa\xcf\xc5\xdf\x1b\xd1\xb7\x5c\x3f\x80\x8a\x84\x89\x7c\x1f\x0b\xf8\xbc\xbe\x3d\x1d\xa5\x8b\x8b" -+"\x96\x1a\xcf\x46\xb8\x22\x4c\x1d\x85\x8a\x83\x4d\x1d\xe5\xaf\xb3\x92\x98\xb0\x1e\xaa\x96\x9a\x95\xb5\xaf\x08\x84\x07\x87\x07\x61" -+"\xa7\x73\xbb\x97\x8e\x8b\x91\xa3\x1e\x8d\x91\x8d\x8c\x91\x52\x1d\x52\x6b\x51\x1d\xea\x43\x1d\x0b\xf9\x56\xf8\x97\x7e\x1d\x0b\x15" -+"\x91\xa7\x8d\x97\x9b\x1a\xb6\x76\xb9\x5a\x1d\x78\x65\x6f\x71\xe6\x1d\xb5\xe6\x68\x1d\xfb\x0d\xe5\x44\xf7\x2b\xf4\xe3\x92\x1d\x83" -+"\x88\x78\x1e\x0b\xf8\x96\xf8\x0e\x15\x90\xa0\x8c\x94\x98\x1a\xd1\x49\xbb\x29\x3c\x1d\x3b\xd0\x5b\xf7\x09\xf7\x29\xec\xd8\xf7\x0b" -+"\xc8\x6a\xab\x33\xa1\x1e\x3f\x9e\x05\x53\x99\x6e\x9f\xa5\x1a\x9f\x97\xa4\x9d\x9c\x1e\xa2\xa3\xa9\x95\xb7\x1b\xc6\xac\x75\x63\x1f" -+"\x85\x07\x86\x07\x8a\x80\x05\x0b\xf8\xa0\x15\x7a\x3d\x7c\xac\x81\x99\x75\x9b\x19\x9e\x71\x6b\x96\x69\x1b\x3e\x3d\x65\x4d\x5a\x1f" -+"\x55\x48\x66\xfb\x03\x2e\x1a\xfb\x01\xd2\x3f\xf1\xca\xc5\xa6\xc0\xbe\x1e\x87\x78\x05\xfb\x1d\x6e\x56\x56\x20\x1b\x47\x63\xa6\xb8" -+"\x1f\x91\x07\x93\x37\x07\x89\x73\x8b\x8a\x85\x1a\x3e\xd0\x59\xf7\x00\xdb\xd1\xa3\xb6\xb8\x1e\xbd\xbb\xa6\xc8\xa6\xf7\x13\xe8\xf8" -+"\x4b\x18\xfb\x82\x4d\x15\xcb\xb5\x5b\x41\x4c\x79\x41\x6f\x5a\x1f\x4e\x6a\x50\x65\x4f\x1b\x48\x61\xbc\xdb\xc7\x9b\xcb\xa8\xbf\x1f" -+"\xcc\xb0\xc2\xb0\xcb\x1b\x0b\xf9\xad\xf8\x15\x15\xfb\xc4\x06\x79\x39\x05\xf7\x72\x06\x85\x71\x7c\x49\x6e\x5d\x58\x61\x19\x5f\x55" -+"\x51\x76\x46\x1b\x41\x4b\xa7\xb9\x6c\x1f\x73\xae\x7e\xc0\xc4\x1a\xe3\xae\xf2\xc0\xd1\x1e\xda\xc8\xe1\xb6\xec\x1b\xc8\xbd\x79\x69" -+"\xac\x1f\xa5\x70\x95\x70\x8c\x5d\x08\xe6\x92\x06\x8f\x07\x91\x07\xf7\x19\x2a\xde\xfb\x31\xfb\x08\x29\x63\x3d\x3d\x1e\x2b\x2b\x51" -+"\xfb\x1c\xfb\x16\x1a\x2d\xad\x35\xc3\x5d\x1e\x66\xb8\xcd\x76\xcf\x1b\xcc\xd0\x9d\xaa\xc1\x1f\xa3\x99\x9e\x99\xb1\xab\x8f\x31\x18" -+"\xc6\x06\x0b\x9e\x89\x15\xa5\x6f\xd9\xd2\x05\x61\xa9\xc0\x75\xcf\x1b\xe7\xd8\xb3\xd7\xc2\x1f\xb9\xcb\xac\xf7\x00\xe4\x1a\xa8\x85" -+"\xa4\x7e\xa8\x1e\xdc\xd5\x71\xa9\x3f\x46\x05\xb8\x6a\x59\xa1\x44\x1b\x2f\x3a\x62\x40\x58\x1f\x5e\x4a\x6a\xfb\x01\x36\x1a\x6c\x91" -+"\x70\x9a\x6b\x1e\xd4\xce\x15\x86\x9a\x8a\x92\x9c\x1a\xc9\x9b\xcb\xa7\xbe\x1e\xcf\xaf\xc3\xb0\xcb\x1b\xb9\xaf\x79\x69\x9e\x1f\x99" -+"\x63\x15\x8f\x77\x8c\x80\x80\x1a\x5b\x78\x3f\x73\x5e\x1e\x49\x67\x52\x64\x4b\x1b\x5f\x67\x9c\xaa\x78\x1f\x0b\xf8\xbc\xbe\x3d\x1d" -+"\xa6\x8b\x8b\x95\x1a\xcf\x46\xb8\x22\xfb\x20\x37\x50\xfb\x03\x78\x1e\xdf\x06\x94\xa7\x92\x99\x99\x99\x08\xa2\xa1\xb5\x99\xb6\x1b" -+"\xc7\xb9\x70\x66\x87\x8a\x84\x8a\x83\x4d\x1d\xe4\xb0\xb3\x92\x98\xb0\x1e\xaa\x96\x9b\x95\xb4\xaf\x08\x84\x07\x87\x07\x0b\xda\x16" -+"\xf7\xde\x06\xdd\xcb\xa7\xc6\xbf\x1f\xb6\xbb\xa1\xc5\xcc\x1a\xc8\x70\xae\x45\xa9\x1e\xe3\xb2\xbb\xd3\xe5\x1a\xb1\x80\xa7\x72\xa6" -+"\x1e\xaf\x69\x61\x9a\x46\x1b\xfb\xbc\x06\xa6\xfb\xce\x15\xbd\xf7\x7c\x05\xf7\x48\x06\xe1\xb1\x70\x50\x66\x7d\x67\x73\x70\x1f\x6b" -+"\x6d\x64\x7d\x48\x1b\xfb\x8f\xfb\xe1\x15\xc1\xf7\x8f\x05\xf7\x76\x06\xd0\xb0\x6c\x4f\x64\x80\x69\x74\x6d\x1f\x63\x6c\x65\x7a\x53" -+"\x1b\x0e\xf7\xee\xf7\xc4\x15\x22\x60\x9f\xbc\xbc\xc2\xb3\xce\xb0\xae\x7d\x75\x9b\x1f\x95\x7e\x8f\x7d\x8d\x6d\x08\xe0\x06\x8a\xba" -+"\x85\xa4\x78\xa6\x08\xb8\x6c\x51\xa5\x45\x1b\xfb\x09\x2c\x40\x30\x65\x9c\x6f\xb6\x6c\x1f\x39\x75\x5c\x53\x41\x1a\x33\xd5\x50\xf7" -+"\x03\xd3\xcd\xa3\xb7\xbb\x1e\xb0\xac\x9e\xac\x9e\xc4\x08\x2e\x06\x41\x72\x53\x63\x3c\x1b\x47\x65\xa7\xbf\xcd\xca\xae\xf7\x09\x8e" -+"\x94\x8b\x8a\x95\x1f\x0b\xf7\x35\xf7\xe9\x15\x43\xfb\xe9\x05\xa3\x1d\x47\xfb\xd5\x05\x45\x06\x7e\x48\x05\xf7\x36\x16\xf7\x3b\x06" -+"\x99\xce\x05\xfb\x3a\x06\xbe\xf7\x83\x05\xf7\x3f\x06\xf6\xcb\x4d\x22\x2f\x6b\xfb\x0c\x63\x4c\x1f\x3b\x58\x3e\x60\x30\x1b\xfb\x40" -+"\x06\x0e\xfc\x79\x15\xc4\xaa\xa1\xaa\xbc\x1a\xc3\x62\xad\x4a\x36\x46\x4e\x40\x6f\x94\x7d\xab\x74\x1e\x4b\x6e\x69\x5d\x4f\x1a\x4b" -+"\xb8\x64\xd3\xe9\xdb\xd3\xdf\xaf\x7a\xa6\x67\x9e\x1e\x66\xf7\x2e\x15\xb2\xa1\x78\x6b\x5c\x65\x68\x58\x64\x75\x9e\xab\xb9\xb2\xaf" -+"\xbd\xd4\x1d\x60\x6f\xa4\xb2\xc5\xbb\xb9\xc7\x1f\x0b\x22\x1d\x37\x06\x4f\xfb\xad\x9f\x1d\xfb\x20\xf8\x62\x15\xd6\xb6\x59\x36\x4f" -+"\x7b\x4f\x6d\x57\x1f\x48\x64\x5a\x69\x4e\x1b\x41\x60\xbd\xe1\xc4\x9b\xca\xa7\xbe\x1f\xd0\xb1\xbb\xab\xcb\x1b\x0b\xf8\xc9\xf7\x7e" -+"\x15\x98\xb8\x90\xa7\xae\x1a\xf7\x0d\x40\xd7\xfb\x0c\x36\x3e\x65\x47\x53\x1e\x58\x4b\x6a\x27\x2d\x1a\xfb\x0f\xd7\x40\xf7\x10\xf7" -+"\x0d\xe5\xcb\xf7\x0a\xb8\x1e\x32\x06\x46\x66\x55\x67\x49\x1b\x42\x59\xbd\xd4\x9d\x8d\x98\x90\xa5\x1f\x9a\xcf\x15\xed\xa7\xd2\xc9" -+"\xe0\x1b\xd1\xb8\x5c\x42\x7e\x8a\x82\x87\x79\x1f\x0b\xb1\x1d\xcc\x1d\x0b\x15\xfb\x8a\xfb\x79\xfb\x72\xfb\x83\xfb\x43\xf7\x15\xfb" -+"\x14\xf7\x45\xf7\x8a\xf7\x79\xf7\x72\xf7\x84\xf7\x43\xfb\x15\xf7\x13\xfb\x45\x1f\x7d\x4d\x15\xf7\x25\xf4\x21\xfb\x26\xfb\x5d\xfb" -+"\x51\xfb\x4f\xfb\x5e\xfb\x24\x21\xf6\xf7\x26\xf7\x5c\xf7\x51\xf7\x4f\xf7\x5e\x1f\x0e\x9f\x1a\xb8\x7e\x9f\x5c\xaa\x1e\xb2\xa1\x9b" -+"\x96\x9d\x9b\x08\xb3\xb0\xa6\xce\xc9\x1a\xf5\x51\xbb\xfb\x14\x1e\xfb\xe4\x26\x1d\xe9\x06\xdf\xf8\x20\x15\xc1\xf7\x8f\x05\xf7\x7a" -+"\x06\xc0\xa5\x84\x76\x9e\x1f\x98\x7d\x93\x74\x73\x1a\x65\x7d\x60\x75\x6f\x1e\x67\x0b\x65\xbe\x4b\x99\x1e\xb1\x95\x9f\x96\xa4\xa4" -+"\x08\xb3\xb2\xa2\xc1\xc1\x1a\xf0\x40\xce\xfb\x05\x34\x3c\x64\x48\x5c\x1e\x71\x66\x7c\x65\x81\x50\x08\xec\x06\xf0\x9c\xc5\xc4\xe0" -+"\x1b\xcb\xb0\x6a\x50\x35\x44\x4a\x2c\x1f\x6a\x06\x7a\x3a\x05\xb3\x06\xe5\xb3\x6e\x49\x0b\xf7\x47\x4e\x1d\xc8\xf7\xb5\x05\xf3\xa2" -+"\xda\xd4\xe7\x1b\xbc\xa7\x76\x66\x81\x87\x72\x86\x73\x1f\xfb\x0c\xfc\xcb\x05\xdf\x06\xf7\x0e\xf8\xd2\x05\x92\xac\x8f\xa6\x96\x1a" -+"\xcd\x4e\xb9\x36\x3a\x52\x6c\x43\x59\x1e\x9d\xe3\x05\x0b\x08\x29\x06\x72\x52\x7b\x6d\x79\x72\x08\x50\x61\x3f\x66\x3c\x1b\x23\x46" -+"\xdc\xf7\x0d\xe7\xa9\xee\xbe\xd7\x1f\xe5\xc8\xd4\xb6\xe7\x1b\xf0\xbd\x5a\xfb\x00\x93\x1f\xeb\x06\xb9\x1d\x0b\xf9\x63\x15\x6e\x79" -+"\x81\x83\x78\xbc\x1d\x7f\x7c\x83\x7a\x80\x68\x72\x1d\x90\x42\x1d\xcc\x9c\x87\xa1\x1b\xb7\xb6\x31\x1d\xf8\x85\xf8\xa0\x15\xfb\x7b" -+"\xfc\x2c\x5b\xf8\x2c\x05\x36\x06\xcd\xfc\xa0\x59\x36\x05\x61\x73\x78\x7d\x69\x1b\x7c\x81\x8d\x94\x78\x1f\x7b\x3e\x05\x83\xa2\x98" -+"\x88\x9f\x1b\xa8\xa9\x94\x9a\xa3\x1f\xa6\x9d\x9c\x9f\xa6\xb9\xf8\x05\xf9\x0e\x18\x0b\xa8\xc2\xc6\x1e\xbf\xba\xae\xd3\xc4\x1a\xa6" -+"\x83\xa5\x7b\xa4\x1e\x75\xae\x6e\x9f\x5c\x98\xfb\x40\xbc\x18\x3e\xa1\x73\x9f\xb7\x1a\xaf\x99\xa9\xa9\xa6\x1e\xac\xb0\xbb\x9b\xce" -+"\x1b\xc3\xb5\x80\x77\xa1\x1f\x9e\x7a\x98\x6b\x6e\x1a\x82\x8a\x0b\x62\x1d\x5b\x9b\x5b\xa7\x68\x1e\x60\xad\xb7\x78\xcc\x1b\xdd\xd0" -+"\xa8\xc1\xb9\x1f\xa5\xa9\x9b\xad\x9b\xc3\x08\x37\x06\x39\x6d\x54\x5f\x43\x1b\x0b\xf8\x38\x15\xcd\xf7\xc9\x05\x2d\x26\x1d\xf7\xd3" -+"\x6e\x1d\xfb\x80\x39\x15\xf7\x66\x4f\x1d\xfb\x67\x06\x0b\x06\xf7\x2f\xf9\x6d\x05\x2d\x06\x3c\xfc\x04\x05\x76\x39\x4f\x82\x50\x1b" -+"\x20\x5f\xa3\xc4\x92\x8c\x96\x8d\x94\x1f\xd5\x1d\x7f\x80\x1a\x5d\xa3\x61\xb3\x72\x1e\x71\x0b\xa0\x1d\xbe\x68\xad\x1e\xac\x69\x5e" -+"\x9b\x51\x1b\x7e\x3e\x15\xd5\xb6\x0b\xf8\x67\x16\xf7\xe2\xf8\xf1\xfb\x15\xfc\xf1\x05\xe4\x06\xf7\x2f\xf9\x6d\x05\xfb\x17\x06\xfb" -+"\xee\xfd\x07\x3b\xf9\x07\x05\xfb\x15\x26\x1d\xe4\x06\xf7\x15\xf8\xf1\xd8\xfc\xf1\x05\x0e\xf7\xbd\x37\x1d\xb6\xf7\x5f\xf6\xe3\xf7" -+"\x06\xfb\xb7\x05\xeb\x06\xfb\x20\xf7\xeb\xf7\x72\xf7\x49\x05\xfb\x00\x06\xfb\xa1\xfb\x6e\x05\x0b\xf7\x24\x16\xe3\x06\xc4\xb3\xa5" -+"\xcd\xb7\x1f\xf8\x30\xf9\x11\x05\xfb\x06\x06\xfb\xb2\xfc\x62\x26\xf8\x62\x05\xfb\x00\x06\xf7\x22\xfc\xcd\x69\x51\x72\x78\x61\x8a" -+"\x19\x53\x06\x0b\xf8\x15\xf8\xaf\x15\x33\x3a\x63\x43\x56\x1f\x5c\x4d\x6c\x25\x2f\x1a\xfb\x09\xd8\x3e\xf7\x09\xe6\xda\xb2\xd4\xc1" -+"\x1e\xba\xc9\xaa\xf0\xe7\x1a\xf7\x0b\x3f\xd7\xfb\x0c\x1e\x0b\xf7\x2e\x15\xb1\xa2\x78\x6b\x5c\x64\x68\x58\x65\x74\x9e\xab\xb9\xb2" -+"\xaf\xbe\xd4\x1d\x5f\x6f\xa4\xb2\xc5\xbb\xb9\xc8\x1f\x0b\xf7\x8d\xf7\xe0\x15\xf8\x21\x20\x1d\xfc\x21\x06\xbd\xf7\x7d\x05\xf8\x30" -+"\x20\x1d\xfc\x8d\x26\x1d\xf8\x9f\x20\x1d\xfc\x42\x06\x0b\xf7\xd7\x6f\x1d\x83\x5f\x15\x9f\x9a\x7d\x77\x70\x7a\x1d\xa6\x1f\x0b\xe9" -+"\x06\xd4\xf7\xed\x05\xd7\x06\xf7\x2c\xfb\xed\x05\xee\x06\xfb\x3e\xf8\x14\xf7\xd4\xf7\xed\x05\xfb\x2b\x06\xfb\x88\xfb\xc2\x05\x4b" -+"\x06\xcb\xf7\xc2\x05\x0b\x05\xcc\x6b\x63\xa5\x44\x1b\xfb\x3a\xfb\x10\xfb\x32\xfb\x67\xfb\x09\xce\x3f\xf3\xb7\xb8\x98\xa4\xb3\x1f" -+"\xa9\x9d\x98\x9a\x99\xa7\x7b\x3f\x18\xdc\x06\x0b\x15\x2e\x39\x61\x41\x58\x1f\x5e\x4b\x6a\xfb\x02\x36\x1a\xfb\x03\xd8\x3f\xf7\x04" -+"\xeb\xd7\xb2\xd8\xc3\x1e\xb9\xca\xac\xf7\x01\xe2\x1a\xc0\x77\x0b\x15\xd6\xb7\x58\x34\x54\x7a\x4b\x70\x59\x1f\x47\x66\x59\x6a\x4a" -+"\x1b\x41\x5e\xbd\xdb\xc7\x9c\xcc\xa9\xbf\x1f\xce\xb0\xbd\xad\xc9\x1b\x0e\xab\x1d\xf8\x9f\x20\x1d\x0b\xf7\xae\x06\xf7\x00\xe6\xb8" -+"\xe4\xd4\x1f\xcf\xdf\xbb\xf7\x25\xf7\x11\x1a\xd4\x6d\xd5\x5c\xb5\x1e\xad\x65\x56\x9d\x4a\x1b\xfb\xae\x06\x0b\x15\xd4\xb6\x5b\x3a" -+"\x50\x7b\x4a\x6f\x59\x1f\x45\x65\x55\x68\x47\x66\x1d\x0b\x92\xfb\x69\x15\xdf\x06\xc7\xf7\xad\x05\x4a\xaa\xb4\x71\xd2\x1b\xd9\xd6" -+"\xaf\xc9\xbe\x1f\xc1\xce\xad\xf2\xee\x1a\xf7\x0c\x48\xd6\x20\x0b\x40\x1d\xd6\xbc\xbe\x9e\xa9\xac\x1e\xa3\xa0\x96\xa0\x96\xb7\x08" -+"\x53\x06\x63\x81\x63\x74\x4f\x1b\x0b\x21\x1d\x34\x1d\xfb\x66\x25\x1d\x21\x1d\x34\x1d\xfb\x66\x25\x1d\x05\x35\x06\x0e\x06\xbb\xf3" -+"\x9e\xe6\x05\xc7\xfb\x2b\x15\x2f\x06\x75\x24\x05\xe7\x06\xfb\x2c\xf2\x15\x2f\x06\x75\x24\x05\xe7\x06\x0e\x32\x1d\xc0\xf7\x8c\x05" -+"\x53\x2e\x1d\x0b\xd8\x1d\xb3\x06\xce\xd1\x1d\x0b\x15\xf8\x1f\x06\x9d\xdd\x05\xfc\x20\x06\xbd\xf7\x7d\x05\xf8\x30\x20\x1d\xfc\x8e" -+"\x26\x1d\x0b\xd3\x1d\x51\xd6\x1d\x0b\x38\xd5\xfb\x00\x34\x38\x62\x48\x58\x1e\x5c\x4c\x66\xfb\x05\x39\x1a\x55\xa3\x54\xb1\x66\x1e" -+"\x69\xae\xb7\x7b\x0b\x1e\xa3\xa0\x96\xa0\x96\xb7\x08\x53\x06\x63\x81\x63\x74\x4f\x1b\x5a\x6a\x9f\xa9\x1f\x90\x07\x93\x07\x0e\x6f" -+"\x1d\x84\x5f\x15\x9f\x99\x7c\x77\x71\x0b\x15\x76\x29\x05\xc2\x06\x50\x80\x73\x6e\x64\x1b\x83\x65\x05\xca\xba\xbb\xde\x9e\x1f\x9e" -+"\xe8\x05\x0e\xb6\x1d\x6f\x72\x0b\x06\xf7\x1d\xf9\x1b\x05\x2d\x06\xfb\x1d\xfd\x1b\x05\xfb\x93\x2e\x1d\x2d\x06\x0e\x22\x1d\xfb\x01" -+"\xfc\x95\x7f\x53\x7e\x6a\x75\x72\x19\x70\x73\x66\x7a\x66\x1b\x55\x67\xa9\xb9\x0b\x32\x06\xaa\xf7\x24\x21\x1d\x6c\xfb\x24\x05\x44" -+"\x06\x7d\x48\x05\xd2\x06\x3c\xfc\x06\x05\x89\x0b\x15\xf8\x51\xfb\x63\x9c\xd8\xfb\xf5\xf7\x37\xf8\x3a\xf7\x38\x9c\xda\xfc\xa9\xfb" -+"\x63\x05\x0e\x98\x85\x90\x8c\x8b\x8b\x91\x8c\x19\x8d\x95\x8c\x6d\x1d\x0b\x06\xea\xfb\x8d\x05\xe9\x06\x21\xf7\xb2\xf7\x42\xf7\x82" -+"\x05\x26\x75\x1d\x0b\x06\xf7\x2f\xf9\x6d\x05\x2d\x06\x7a\x39\xfc\x67\xfc\x40\xf7\x00\xf8\x92\x05\x2d\x06\x0b\x88\xc6\x81\xb1\x78" -+"\xad\x08\xd1\x62\x45\xb0\x2c\x1b\xfb\x09\x2a\x5c\x2d\x3d\x1f\x0b\x05\x2d\x06\xfb\x1e\xfd\x1b\x05\xfc\x0a\x2e\x1d\x2d\x06\x0e\x15" -+"\xfb\x14\xfb\x2a\x05\xcb\x06\x0b\x1b\x80\x70\x91\x94\x71\x1f\x98\x64\x7b\x8f\x7a\x1b\x71\x6d\x7c\x76\x7a\x1f\x0b\x6b\x69\x1f\x67" -+"\x6a\x5f\x79\x55\x1b\x3c\x60\xb1\xd1\x9e\x8d\x99\x8f\xa3\x1f\x0b\x06\xd9\xb5\x69\x4c\x67\x80\x6b\x73\x6d\x1f\x61\x6a\x60\x78\x4b" -+"\x1b\x0e\x06\xce\xb8\x9b\xaf\xb1\x1f\xae\xad\x9f\xbc\xbd\x1a\xd8\x53\xbf\x38\x1e\x0b\x15\x6e\x74\x74\x6e\x6e\xa2\x74\xa8\xa7\xa3" -+"\xa2\xa7\xa9\x74\xa2\x6e\x1f\x0b\x15\xa9\xa4\x72\x6d\x6d\x72\x72\x6d\x6d\x72\xa4\xaa\xa8\xa5\xa4\xa8\x1f\x0b\x21\x1d\x34\x1d\xfb" -+"\x6e\x06\xea\xf8\x56\x21\x1d\x0e\xb4\xf7\x56\x21\x1d\x5e\xfb\x69\x05\x88\x7c\x89\x7c\x80\x1a\x4f\x0b\xd5\x1d\x7e\x7e\x1a\x2e\x0b" -+"\xf7\x93\x15\x77\x30\x8f\x23\x05\xa9\x06\xbb\xf3\x9f\xe6\x05\x0e\x81\xbc\x1b\xf7\x19\xe6\xd5\xf7\x17\xa7\x1f\xf7\x08\xf8\xb7\x05" -+"\x0b\x06\xdb\xc6\x9f\xb5\xbb\x1f\xc0\xba\xab\xd3\xd3\x1a\xf5\x46\xc8\x0b\x16\xdf\x25\x1d\x05\xf7\x7c\x2d\x1d\xfb\xd1\x06\x0b\xb2" -+"\xb0\xc8\x1b\xb6\xa6\x72\x64\x70\x7c\x70\x74\x7c\x1f\x7e\x77\x0b\xfa\xc0\xf7\xcc\x15\xfe\x87\x27\x1d\xfa\x87\x06\x0e\xf7\xf3\xf7" -+"\xcc\x15\xfb\x83\x27\x1d\xf7\x83\x06\x0e\x92\xa1\x62\x33\x1d\xbf\xa6\x83\xb2\x1b\xe0\xc7\x0b\x1f\x98\x64\x7b\x8f\x79\x1b\x71\x6e" -+"\x7c\x76\x7a\x1f\x7f\x7c\x0b\xf7\x8c\xf8\xd8\x15\x4c\xfb\xbc\x05\xc9\x06\xe5\xf8\x3d\x05\x0b\x15\x78\x30\x8e\x23\x05\xaa\x06\xbb" -+"\xf3\x9e\xe6\x05\x0e\x15\x55\x55\x57\x56\x64\xaa\x6c\xb3\xc4\xbf\xbe\xc4\xb2\x0b\xf7\x67\x05\x50\xfb\xa8\x15\x37\x06\x75\x24\x05" -+"\xdf\x06\x0b\xf8\xe3\xf7\xa1\x15\xfc\x78\x27\x1d\xf8\x78\x06\x0b\x15\xd1\xb7\x59\x3d\x52\x7a\x46\x71\x5b\x1f\x47\x66\x0b\x1f\x65" -+"\xfb\x45\x15\xb8\xa7\x72\x64\x50\x5b\x5e\x4d\x0b\xc9\xf7\xb6\x05\x2d\x06\x4c\xfb\xbb\x05\x88\x7e\x8a\x0b\x65\x49\x1b\x45\x5f\xbd" -+"\xd8\xc5\x9c\xcf\xa5\xbc\x1f\x0b\x65\x05\xcb\xba\xbb\xde\x50\x1d\x22\x1d\x37\x06\x41\xfb\xf2\x74\xfb\x67\x05\x0b\x26\xf9\x6d\x05" -+"\xfb\x0c\x06\xfc\x33\xfd\x6d\x05\x0b\x06\xb8\xa2\x76\x62\x4f\x60\x5f\x4f\x1f\x0e\xe4\x1d\x0e\x06\x38\xfb\x67\x05\xd7\x06\xde\xf7" -+"\x67\x05\x0b\xf7\xaa\xf7\xed\x05\x23\x06\xfb\x87\xfb\xc2\x0b\x15\xbf\xb2\xa9\xa0\xaf\x1b\x9c\x9f\x85\x7e\x0b\x37\x06\x46\x67\x56" -+"\x67\x48\x1b\x3c\x5e\xbc\x0b\xf9\x35\x15\x41\x06\x55\xfb\x94\x05\xc4\x06\x0b\x05\x37\x06\xfb\x03\xfc\xa0\x05\xdf\x06\x0b\x06\xf7" -+"\x1a\xfb\xed\xfb\xe1\xfc\x14\x05\x0b\x15\xfc\x78\x06\x7d\x43\x05\xf8\x77\x06\x0b\x15\x37\x06\xfb\x2f\xfd\x6d\x05\xdf\x06\x0b\x15" -+"\x76\x29\x05\xc1\x06\x50\x80\x73\x6e\x0b\x1e\x65\x62\x50\x79\x3b\x1b\xfb\x05\x57\x0b\xd9\x15\xfb\x7b\x06\xf7\x53\xf7\xe1\x05\x0b" -+"\x01\x00\x01\xe3\x01\x05\x00\x01\x0a\x02\x01\x40\x03\x01\x87\xff\x02\x87\xa0\x02\x8e\x02\x00\x01\x00\x04\x00\x07\x00\x0e\x00\x27" -+"\x00\x7b\x01\x23\x01\x90\x02\x13\x02\x1c\x02\x4d\x02\x7e\x02\xa6\x02\xc6\x02\xcd\x02\xd1\x02\xd8\x02\xec\x03\x46\x03\x65\x03\xb9" -+"\x04\x34\x04\x64\x04\xb9\x05\x1d\x05\x46\x05\xb9\x06\x27\x06\x36\x06\x46\x06\x4c\x06\x57\x06\x5e\x06\xad\x07\x7e\x07\x82\x07\x85" -+"\x07\x89\x07\x8d\x07\x91\x07\xab\x07\xaf\x07\xb2\x07\xb7\x07\xbc\x07\xbf\x07\xc2\x07\xc6\x07\xca\x07\xce\x07\xd1\x08\x43\x08\x80" -+"\x08\x84\x08\x88\x08\x8c\x08\xa6\x08\xab\x08\xae\x08\xb2\x08\xb6\x08\xd4\x08\xe5\x09\x01\x09\x1e\x09\x24\x09\x43\x09\x46\x09\xa1" -+"\x09\xa6\x09\xab\x09\xae\x09\xb7\x09\xba\x09\xbd\x09\xc4\x09\xd3\x09\xd8\x09\xdf\x0a\x43\x0a\x46\x0a\x49\x0a\x5b\x0a\xb7\x0a\xd7" -+"\x0b\x03\x0b\x0a\x0b\x0d\x0b\x28\x0b\x2c\x0b\x5a\x0b\x5f\x0b\x64\x0b\xce\x0b\xe2\x0c\x4c\x0c\x92\x0c\xb3\x0d\x2e\x0d\xce\x0d\xd5" -+"\x0e\x23\x0e\x7e\x0f\x3b\x0f\xa7\x0f\xae\x0f\xe7\x10\x02\x10\x09\x10\x12\x10\x1f\x10\x2d\x10\x3a\x10\x5c\x10\x96\x10\x9a\x10\xce" -+"\x10\xe7\x10\xee\x10\xf9\x11\x06\x11\x23\x11\x38\x11\x5c\x11\xb3\x11\xbb\x11\xc3\x11\xcb\x11\xe0\x11\xe4\x11\xec\x11\xf4\x11\xfa" -+"\x12\x0f\x12\x20\x12\x28\x12\x65\x12\x6d\x12\x71\x12\x76\x13\x26\x13\x50\x13\x54\x13\xbb\x14\x0c\x14\x11\x14\x16\x14\x39\x14\x3d" -+"\x14\xd9\x15\x4e\x15\x6b\x15\x82\x15\xe1\x16\x28\x16\x2b\x16\x86\x16\xb1\x16\xd4\x17\x0a\x17\x18\x17\x27\x17\x54\x17\x68\x17\x97" -+"\x17\xda\x18\x51\x18\x5f\x18\xe2\x19\x10\x19\x7c\x19\xc8\x19\xd0\x19\xd9\x19\xeb\x19\xf4\x19\xfb\x1a\x14\x1a\x56\x1a\x6e\x1a\x7b" -+"\x1a\x88\x1a\x95\x1a\x9d\x1a\xa4\x1a\xae\x1a\xb8\x1a\xe1\x1a\xf4\x1b\x06\x1b\x42\x1b\x7d\x1b\x95\x1b\xa3\x1b\xaf\x1b\xe1\x1c\x12" -+"\x1c\x1e\x1c\x2c\x1c\x36\x1c\x3f\x1c\x62\x1c\x6d\x1c\x78\x1c\x83\x1c\xaf\x1c\xde\x1d\x1b\x1d\x26\x1d\x2f\x1d\x3a\x1d\x45\x1d\x4f" -+"\x1d\x58\x1d\x61\x1d\x6a\x1d\x7a\x1d\xb1\x1d\xbf\x1d\xf5\x1e\x2a\x1e\x5b\x1e\x8f\x1e\x9a\x1e\xa3\x1e\xae\x1e\xbb\x1e\xc5\x1e\xd0" -+"\x1e\xe3\x1f\x22\x1f\x25\x1f\x2d\x1f\x36\x1f\x69\x1f\x79\x1f\xcc\x1f\xfa\x20\x04\x20\x0c\x20\x10\x20\x1e\x20\x30\x20\x74\x20\x86" -+"\x20\x89\x20\x91\x20\xa2\x20\xab\x21\x22\x21\x25\x21\x2e\x21\x31\x21\x4a\x21\x53\x21\x5c\x21\x65\x21\x6e\x21\xc2\x22\x03\x22\x07" -+"\x22\x17\x22\x1a\x22\x26\x22\x9c\x22\xaa\x22\xb3\x22\xbc\x22\xc9\x23\x3e\x23\x79\x23\x82\x23\xaf\x23\xb8\x23\xc2\x23\xd5\x24\x0f" -+"\x24\x14\x24\x1e\x24\x29\x24\x54\x24\x5d\x24\x60\x24\x68\x24\x70\x24\x8b\x24\x98\x24\x9f\x24\xa7\x24\xab\x24\xb1\x24\xb9\x24\xc6" -+"\x24\xca\x24\xd2\x24\xda\x24\xe3\x25\x49\x25\x4d\x25\x69\x25\x72\x25\xf0\x25\xf3\x26\x54\x26\x5c\x26\x6d\x26\x7f\x26\x82\x26\x8a" -+"\x27\x08\x27\x11\x27\x2d\x27\x53\x27\x57\x27\x8a\x27\x93\x27\xb3\x28\x23\x28\x34\x28\x3d\x28\x4f\x28\xaf\x28\xb3\x28\xbc\x28\xca" -+"\x28\xe0\x28\xf9\x29\x02\x29\x09\x29\x12\x29\x1c\x29\x3d\x29\x43\x29\x4b\x29\x54\x29\x5d\x29\x61\x29\x8b\x29\x95\x29\x99\x29\xc5" -+"\x29\xe7\x2a\x46\x2a\x5e\x2a\x94\x2a\x98\x2a\xa1\x2a\xd4\x2a\xfb\x2a\xff\x2b\x1d\x2b\x25\x2b\x34\x2b\x5f\x2b\x81\x2b\xb6\x2b\xb9" -+"\x2b\xf0\x2c\x48\x2c\x5d\x2c\x61\x2c\xce\x2c\xf1\x2d\x06\x2d\x19\x2d\x28\x2d\x40\x2d\x67\x2d\x77\x2d\x7d\x2d\xe6\x2e\x49\x2e\xae" -+"\x2e\xcb\x2f\x32\x2f\x48\x2f\xbb\x30\x46\x30\x4d\x30\x59\x30\x9a\x30\xc8\x31\x00\x31\x4e\x31\x6a\x31\x73\x32\x12\x32\x6a\x32\xbb" -+"\x32\xc2\x32\xfe\x33\x01\x33\x08\x33\x3e\x33\x94\x33\x97\x33\xa6\x33\xb3\x33\xc4\x33\xe9\x33\xf5\x34\x02\x34\x15\x34\x5a\x34\xa9" -+"\x34\xc0\x34\xc5\x35\x33\x35\x48\x35\x5d\x35\x90\x35\x9d\x35\xb2\x35\xd4\x35\xe8\x35\xf7\x36\x47\x36\x8d\x36\xe1\x37\x01\x37\x55" -+"\x37\x67\x37\xbe\x38\x28\x38\x34\x38\x3f\x38\x76\x38\xa2\x38\xcc\x39\x0c\x39\x25\x39\x58\x39\x6e\x39\x85\x39\xd5\x3a\x71\x3a\xf5" -+"\x3b\x6a\x3b\xd1\x3c\x3c\x3c\x44\x3c\x79\x3c\xaf\x3c\xf9\x3d\x59\x3d\x71\x3d\xf7\x3e\x3f\x3e\x85\x3e\xcc\x3f\x13\x3f\x69\x3f\xc8" -+"\x40\x4d\x40\x56\x40\x5f\x40\x68\x40\x71\x40\x9e\x41\x1c\x41\x99\x41\xa4\x41\xed\x42\x4d\x42\x7c\x42\x8b\x42\x97\x42\x9e\x42\xa5" -+"\x42\xdd\x42\xe4\x43\x00\x43\x67\x43\x6c\x43\x75\x43\x82\x43\xe8\x43\xed\x43\xf5\x44\x05\x44\x1f\x44\x60\x44\xab\x44\xcd\x44\xed" -+"\x44\xf4\x45\x14\x45\x8e\x45\xa1\x45\xf5\x45\xfc\x46\x42\x46\x67\x46\x70\x46\xa4\x46\xb7\x47\x2f\x47\x92\x47\xd0\x48\x04\x48\x49" -+"\x48\xb6\x48\xec\x48\xf1\x49\x04\x49\x29\x49\x30\x49\x38\x49\x41\x49\x67\x49\x70\x49\x9d\x49\xa7\x49\xc3\x49\xcf\x49\xd9\x49\xe5" -+"\x49\xf8\x4a\x97\x4a\xcb\x4b\x60\x4b\x67\x4b\xb9\x4b\xd2\x4b\xda\x4b\xf6\x4b\xfd\x4c\x04\x4c\x73\x4c\xb0\x4c\xcb\x4c\xd2\x4c\xe9" -+"\x4c\xf1\x4c\xf5\x4c\xfd\x4d\x00\x4d\x07\x4d\x15\x4d\x1e\x4d\x90\x4e\x78\x4e\xf5\x4f\x16\x4f\x3f\x4f\x6f\x4f\xa6\x4f\xfc\x50\x26" -+"\x50\x37\x50\x57\x50\x66\x50\x82\x50\x99\x50\xf0\x50\xf9\x51\x69\x51\x9b\x51\xa5\x51\xb9\x51\xf3\x52\x83\x52\xdf\x53\x14\x53\xb5" -+"\x53\xca\x54\x1f\x54\x2a\x54\x7f\x54\xf6\x54\xfe\x55\x06\x55\x0d\x55\x15\x55\x28\x55\x2b\x55\x2f\x55\x37\x55\x69\x55\x6d\x55\x71" -+"\x55\x8c\x55\xee\x56\x35\x56\x9f\x56\xa8\x56\xb2\x56\xbd\x56\xc6\x56\xf2\x57\x1a\x57\x69\x57\xad\x57\xf7\x58\x67\x58\x8e\x58\xb6" -+"\x58\xeb\x59\x23\x59\x35\x59\x5a\x59\x85\x59\x99\x59\xcf\x5a\x0c\x5a\x10\x5a\x32\x5a\x6f\x5a\xa7\x5a\xd2\x5a\xf2\x5b\x1e\x5b\x53" -+"\x5b\x97\x5b\xd5\x5c\x13\x5c\x4b\x5c\x52\x5c\x74\x5c\xb9\x5d\x18\x5d\x25\x5d\x36\x5d\x81\x5d\xab\x5d\xe3\x5e\x28\x5e\x30\x5e\xf2" -+"\x5f\x58\x5f\x5f\x5f\x63\x5f\x7f\x5f\x9c\x60\x0c\x60\x23\x60\x68\x60\x91\x60\xda\x60\xdf\x60\xe9\x60\xfa\x61\x04\x61\x1c\x61\x22" -+"\x61\x2a\x61\x32\x61\x38\x61\x41\x61\xd1\x61\xdb\x61\xe5\x61\xf5\x61\xfe\x62\x73\xfc\x20\x0e\xfc\x20\x0e\xfc\x20\xf7\xff\xaa\x1d" -+"\x0e\xfb\xd3\xf7\x5e\x9a\x0a\xcc\x16\x73\xfb\x03\x8a\xfb\x1a\x05\xb3\x06\xc2\xf7\x1a\xa3\xf7\x03\x05\x0e\xf9\x0c\xf9\x4d\x15\x3f" -+"\x06\x3e\xfb\x56\x05\xfb\x10\x06\xd7\xf7\x56\x05\x3f\x06\x3e\xfb\x56\x05\xfb\x0d\x06\x7e\x4b\x05\xf7\x01\x06\x42\xfb\x4c\x05\xfb" -+"\x04\x06\x7d\x4b\x05\xf0\xdc\x1d\xf7\x11\xdc\x1d\xf7\x0a\x06\x99\xcb\x05\x20\x06\xd4\xf7\x4c\x05\xf4\x06\x99\xcb\x05\x2d\x06\x26" -+"\x4b\x15\x42\xfb\x4c\x05\xfb\x11\x06\xd5\xf7\x4c\x05\x0e\xf8\x2b\xf9\x96\x15\x80\x55\x47\x86\x4e\x73\x63\x66\x19\x5e\x61\x6d\x43" -+"\x48\x1a\x62\x99\x6b\xaa\x71\x1e\xa0\x79\x9f\x82\xd4\x72\x51\xfb\xa4\x18\x42\xa0\x6f\xa7\xc2\x1a\x94\x8c\x9e\x8d\x9e\x1e\x8c\x96" -+"\x05\x3c\x06\x85\x69\x89\x7a\x74\x1a\x30\xc0\x5b\xf7\x09\x79\x1e\x75\x24\x05\xc6\x06\xa1\xf2\xd4\x8d\xcd\xa3\xb7\xb3\x19\xbe\xb8" -+"\xac\xdb\xd6\x1a\xbb\x7b\xaa\x62\xa6\x1e\x73\x9b\x7c\x92\x39\xa4\xc0\xf7\x8d\x18\xc2\x88\xae\x68\x56\x1a\x87\x8b\x83\x8a\x82\x1e" -+"\x8a\x7c\x05\xda\x06\x90\x9f\x8c\x95\x9b\x1a\xe5\x51\xc3\x27\x90\x1e\x96\xc1\x05\xfb\x1c\xfc\x01\x15\x46\xa0\x71\xa5\xbc\x1a\xd7" -+"\xc9\xc8\xdf\x92\x1e\x7e\xfb\xe4\x15\xdc\x73\xa7\x71\x5b\x1a\x29\x50\x50\x21\x83\x1e\x0e\xf7\x6b\xf9\x8b\xf9\x59\x15\xfc\xba\xfd" -+"\x6d\x05\xcd\x06\xf8\xba\xf9\x6d\x05\xfc\x74\x70\x15\xfb\x00\x24\x28\x22\x3f\xc5\x53\xd9\xf7\x04\xf0\xed\xf7\x00\xd4\x4f\xc4\x3d" -+"\x1f\x7b\x49\x15\xbe\xac\x6a\x5a\x4c\x4d\x50\x4a\x5c\x68\xae\xba\xca\xc7\xc6\xcc\x1f\xf8\x40\xfb\xbc\x15\xfb\x00\x24\x28\x22\x3f" -+"\xc5\x53\xd9\xf7\x04\xf0\xed\xf7\x00\xd4\x4f\xc4\x3d\x1f\x7b\x49\x15\xbe\xac\x6a\x5a\x4c\x4d\x50\x4a\x5c\x68\xae\xba\xca\xc7\xc6" -+"\xcc\x1f\x0e\x84\xf8\xc9\xf7\xe2\x15\x7f\x5a\x7b\x6a\x6b\x66\x29\xf7\x37\x18\xf7\x11\xc4\xc3\xcb\xe3\x1a\xd6\x58\xba\x39\xfb\x01" -+"\x28\x32\x2a\x74\x90\x73\x94\x76\x1e\x9d\x61\x8d\x87\x8e\x83\x8f\x80\x19\x64\x75\x6f\x7a\x71\x78\x08\x40\x54\x66\x47\x3a\x1a\x2d" -+"\xcc\x52\xf4\xdc\xc4\xa4\xd7\xe6\x1e\xb9\x3d\x05\xf5\x06\x31\xf7\x2b\xbc\xbe\xb2\xd2\x97\xc8\x19\xfb\x9f\xef\x15\x62\xc6\x85\x97" -+"\xa7\x1a\xc6\xba\xba\xc6\xb6\xa5\x72\x63\x55\x65\x62\x31\x5e\x1e\xd2\xfb\xbd\x15\x4f\x42\x5e\x74\x59\x1b\x47\x62\xb2\xcc\xcd\xb8" -+"\xbe\xf7\x05\xc8\x1f\x0e\xfc\x58\xf7\x6b\xf9\x58\x47\x1d\x0e\xfb\xe9\xf8\x1b\x22\x1d\x46\x43\x5a\x49\x59\x31\x08\x40\xfb\x1c\x68" -+"\xfb\x0d\xfb\x14\x1a\xfb\x0c\xa8\xfb\x0e\xbc\x34\x1e\xc2\x06\x65\xec\x7a\xe7\xf2\x1a\xf7\x73\xe2\xf7\x71\xf7\x3c\xf7\x62\x1e\x0e" -+"\xfb\xe9\xbb\xfb\x69\x15\xcb\xcd\xc5\xda\xb9\xde\x08\xd5\xf7\x19\xae\xf7\x12\xf7\x19\x1a\xf7\x06\x6d\xf7\x11\x5c\xde\x1e\x54\x06" -+"\xb1\x29\x9c\x2e\x20\x1a\xfb\x6c\x32\xfb\x74\xfb\x3a\xfb\x60\x1e\x0e\xfb\xb1\xf7\xd3\x22\x1d\x77\xfb\x04\x27\xb3\x6d\x50\xf3\x6c" -+"\x2f\x33\xba\x63\xdc\xea\xb7\x2b\xc5\xb0\x56\xe6\xf7\x05\xa6\x82\xc9\xfb\x02\x65\xa8\xf7\x04\x05\x0e\x31\xf8\xe3\xf7\xa1\x15\xfb" -+"\x63\x06\xb7\xf7\x60\x05\x45\x06\x5f\xb1\x0a\x5f\xfb\x64\x05\xd1\x06\xb7\xf7\x64\x05\xf7\x63\x06\x0e\xfc\x20\xf7\x01\xf2\x8a\x0a" -+"\xfb\xe9\xcb\x1d\xfc\x20\xf7\x69\xf2\x23\x0a\xfc\x20\xf8\x0f\xf9\x6d\x15\xfc\x1b\xfd\x81\x05\xc2\x06\xf8\x1b\xf9\x81\x05\x0e\xf8" -+"\x39\xf9\x67\x15\x38\x46\x62\x38\x53\x1f\x4b\x2d\x59\xfb\x4e\xfb\x26\x1a\x4d\x9d\x55\xaa\x6c\x1e\x6d\xaa\xbc\x78\xbb\x1b\xe1\xcd" -+"\xb2\xe0\xc5\x1f\xcc\xea\xbc\xf7\x4c\xf7\x26\x1a\xf7\x10\x48\xd4\xfb\x04\x1e\x7f\x3e\x15\xcc\xb1\x5b\x39\x2c\x69\xfb\x32\x65\x39" -+"\x1f\x33\x62\x5c\x64\x4a\x1b\x4d\x65\xbc\xdb\xeb\xac\xf7\x30\xb2\xe0\x1f\xe0\xb2\xbb\xb4\xca\x1b\x0e\xf8\x06\xf8\x9b\x15\xfb\x03" -+"\xfc\x9b\x05\xe3\x06\xf7\x2e\xf9\x67\x05\x51\x06\x56\xfb\x00\x75\x7e\xfb\x24\x77\x7e\x4c\x18\x0e\xf8\xa0\xe2\x15\xfc\x0d\x06\x9c" -+"\xbd\xc3\xbf\xe6\xb9\xf7\x04\xc6\x18\xf7\x1a\xd0\xcc\xdf\xf1\x1a\xb8\x7c\xb5\x70\xa9\x1e\xb2\x6a\x5b\x9d\x47\x1b\xfb\x2e\x33\x3d" -+"\xfb\x40\x63\x1f\xe3\x06\x97\xb8\x97\xaa\x9d\xa5\x08\xb8\xaa\xbe\xa5\xc5\x1b\xd1\xb8\x60\x49\x49\x5b\x4d\x37\x60\x1f\x23\x55\xfb" -+"\x42\x2d\x5e\x56\x5e\xfb\x38\x19\xf8\x6b\x06\x0e\xf7\xb8\xf7\xe0\x15\x8d\x9f\x96\x8b\x99\x1b\xde\xbb\x69\x50\xfb\x02\x3d\x3e\xfb" -+"\x04\x42\x5e\xb3\xca\x9a\x8c\x97\x8f\xa5\x1f\x33\x06\x87\x6c\x8a\x7c\x7a\x1a\xfb\x02\xcf\x4f\xf7\x10\xe5\xd7\xaa\xc4\xbf\x1e\xb8" -+"\xbd\xa8\xd4\xcd\x1a\xc6\x76\xab\x53\xa8\x1e\xe0\xbc\xb1\xc8\xe5\x1a\xe6\x44\xc5\xfb\x02\x38\x44\x6d\x53\x5a\x1e\x6e\x69\x79\x64" -+"\x77\x41\x08\xe3\x06\x96\xb9\x94\xa3\x9a\xa0\x08\xb5\xaa\xba\xa2\xc3\x1b\xcd\xb3\x6a\x54\x63\x7e\x64\x76\x73\x1f\x6b\x6f\x57\x7b" -+"\x41\x1b\x85\x06\x7f\x06\x0e\xf7\xff\xf7\x43\x15\x66\xfb\x43\x05\xe3\x06\xb0\xf7\x43\x05\xf5\x06\x9c\xd9\x05\x21\x06\xef\xf8\x6a" -+"\x05\x49\x06\xfc\x36\xfc\x5c\x77\x2f\x05\xf7\xd0\xd9\x15\xfb\x71\x06\xf7\xb4\xf7\xd1\x05\x0e\xf9\x09\xf9\x59\x15\xfc\x06\x06\xfb" -+"\x1b\xfc\x16\x05\xdb\x06\xc1\xc8\xa8\x98\xc6\x1b\xdb\xb9\x5f\x3e\xfb\x11\x39\x31\xfb\x06\x3b\x61\xb3\xdb\x88\x1f\x33\x7f\x06\x81" -+"\x07\x50\x9a\x65\xad\x6e\x1e\x6b\xb1\xbe\x7a\xca\x1b\xe9\xd5\xb1\xd8\xc6\x1f\xb7\xc5\xa4\xd4\xd3\x1a\xf4\x42\xce\xfb\x05\x5b\x61" -+"\x7e\x6d\x59\x1e\xd1\xf7\x5a\x05\xf7\xc0\x06\x0e\xf8\xf9\xf8\xab\x15\x8c\xa7\x05\xed\x47\xc9\x20\x2c\x3b\x58\x26\x4c\x1e\x50\x2e" -+"\x5b\xfb\x4a\xfb\x13\x1a\xfb\x0a\xd5\x41\xf7\x0a\xe0\xd4\xb1\xd4\xc3\x1e\xb4\xc1\xa5\xd4\xc9\x1a\xf3\x45\xd0\x20\x49\x52\x70\x4f" -+"\x52\x1e\xf7\x43\xaa\xdd\xf7\x00\xf1\x1b\xb8\xaf\x74\x65\x96\x1f\x8f\x7e\x8d\x7d\x8d\x74\x08\xfb\x33\xfb\x36\x15\xcf\xb8\x5e\x49" -+"\xfb\x07\x3b\x2e\x27\x46\x5b\xbd\xd3\xf7\x02\xdc\xe2\xf2\x1f\x0e\xf9\x33\xf9\x59\x15\xfc\x6f\x06\x78\x34\x05\xf8\x13\x06\xfb\x75" -+"\xfb\x91\xfb\x00\xfb\x32\x31\xfb\x67\x08\xed\x06\xcf\xf7\x53\xf7\x48\xf7\xa1\xf7\x3f\xf7\x3c\x08\x0e\xf8\x71\xf8\x10\x15\xaa\x9c" -+"\x9b\x96\x9e\x9b\x08\xb2\xaf\xa4\xc4\xc3\x1a\xe4\x42\xc8\x20\xfb\x26\xfb\x02\x26\xfb\x1a\x5c\x9c\x6e\xbb\x6c\x1e\x21\x5a\x54\x3b" -+"\x22\x1a\x23\xdb\x49\xf7\x12\xdf\xd2\xab\xcc\xc4\x1e\xb6\xbd\xa4\xc9\xc5\x1a\xc7\x6e\xba\x54\xa8\x1e\x49\xf7\x9e\x15\xcf\xb3\x6a" -+"\x54\x6c\x7e\x68\x77\x72\x1f\x68\x6e\x64\x7a\x56\x1b\x48\x64\xaa\xc0\xe2\xc9\xc7\xe5\x1f\x4a\xfb\xc5\x15\xd9\xbc\x60\x48\x27\x3a" -+"\x3e\x23\x40\x59\xb6\xcc\xee\xdc\xdb\xf1\x1f\x0e\xe0\xf7\x39\x15\x8a\x80\x8b\x80\x85\x1a\x2a\xd0\x4c\xf4\xc9\xc4\xa1\xb8\xbf\x1e" -+"\xcc\xc3\xb0\xcc\xa7\xf6\x08\xa4\xea\x9d\xf7\x01\xc8\x1a\xbb\x79\xbb\x6d\xac\x1e\xb0\x6a\x58\x9f\x4c\x1b\xfb\x30\xfb\x0e\xfb\x16" -+"\xfb\x3b\x22\xd0\x48\xf6\xb7\xba\x98\xa1\xab\x1f\x98\x94\x98\x95\xa8\xa5\x08\xfb\x4e\x63\x43\x2d\x27\x1b\x4f\x64\xb3\xc8\x1f\x95" -+"\x07\xf7\x73\xf8\x75\x15\xcf\xbe\x58\x48\xfb\x01\x39\x33\x25\x44\x61\xb6\xd3\xf7\x02\xdc\xe5\xec\x1f\x0e\xfc\x20\xf7\x80\xf2\x37" -+"\x0a\xf3\x06\xf7\x04\xf8\xa0\x23\x0a\xfc\x20\xf7\xd9\xf8\xa0\x37\x0a\xf3\x06\xfb\x3f\xfb\xd2\x8a\x0a\x31\xe2\xf7\x5a\xb5\x1d\x31" -+"\xf8\xf5\xf7\xf7\xe3\x1d\x75\x27\xb2\x0a\x31\xf8\xe8\xf7\x9f\x8f\x0a\xf8\x07\xf7\x5b\x15\x95\xba\x99\xbd\x9b\x9e\xd5\xc2\x19\xf2" -+"\xd9\xb5\xcb\xd9\x1a\xb8\x75\xb7\x67\xa7\x1e\xa2\x6e\x62\x96\x56\x1b\xfb\x24\x31\x3c\xfb\x2f\x6c\x1f\xe0\x06\xf7\x02\xa1\xbb\xba" -+"\xe3\x1b\xcb\xb6\x68\x58\x52\x6f\x61\x3e\x4d\x1f\x20\x38\x7c\x78\x7d\x4e\x7f\x54\x18\xd1\x2b\x15\x31\x06\x75\x24\x05\xe5\x06\x0e" -+"\xf7\xe9\xf9\x97\xf8\x89\x15\x67\x49\x05\xc6\x7f\x65\xa9\x50\x1b\xfb\x29\xfb\x3b\xfb\x3f\xfb\x2c\x37\xc0\x54\xdd\xbb\xae\x9b\xb7" -+"\xc1\x1f\x8d\x8d\x91\x90\x92\x90\x08\x82\x07\x86\x07\x7b\x97\x75\x99\x82\x1e\x81\x9a\xa5\x85\xab\x1b\xe7\xf7\x02\xc4\xda\xc8\x1f" -+"\xba\xc8\xa9\xe9\xe2\x1a\xf7\x44\xfb\x2a\xf7\x16\xfb\x61\xfb\x32\xfb\x34\x49\xfb\x04\xfb\x03\x1e\xfb\x01\xfb\x01\x4c\xfb\x21\xfb" -+"\x17\x1a\x3d\xa3\x49\xbc\x54\x1e\x3c\xd2\xf7\x00\x5d\xf7\x07\x1b\xdd\xe4\x9a\xa6\xd5\x1f\x7e\xce\x05\x73\x32\x56\x83\x4d\x1b\xfb" -+"\x4c\xfb\x0f\xf4\xf7\x30\xf7\x80\xf7\x89\xf7\x7c\xf7\x8b\xf7\x3e\xf7\x0f\x22\xfb\x25\xfb\x1b\xfb\x0f\xfb\x2c\xfb\x01\x75\x78\x9c" -+"\x9e\x94\x92\x9b\x9c\xac\x1f\xf7\x29\xf7\xac\x05\xfb\x82\x5d\x15\xb6\xa3\x74\x61\x5f\x6c\x40\x60\x4f\x1f\x53\x64\x5c\x6c\x5f\x1b" -+"\x5f\x6b\xaf\xbd\xbd\xa7\xcc\xb6\xbf\x1f\xbd\xb6\xbd\xa7\xbc\x1b\x0e\x84\x28\x1d\x0e\x84\x84\x1d\xbb\x3a\x0a\x0e\xbb\x72\x0a\x0e" -+"\x84\x27\x0a\x0e\x4c\xf7\x93\xf7\xe0\x15\xf7\xef\x20\x1d\xfb\xef\x06\xbd\xf7\x7d\x05\xf8\x1f\x20\x1d\xfc\x7d\x22\x0a\x0e\xf3\x81" -+"\x1d\x0e\xbb\x7a\x0a\xfc\x20\x29\x1d\x0e\xfb\x42\x6c\x0a\x0e\x84\x78\x0a\x3e\x1d\x0e\xf7\x33\x97\x1d\xbb\x2b\x0a\x0e\xf3\x30\x0a" -+"\x0e\x84\x71\x0a\xf3\xf9\x71\x8a\x15\x3d\xd8\x05\xf7\x03\xee\xc9\xf7\x1d\xf7\x24\x1a\xdf\x70\xd8\x5d\xba\x1e\xbc\x5b\x3b\xa7\x30" -+"\x1b\x33\x3d\x72\x57\x46\x1f\xfb\x0b\x32\x3d\xfb\x32\xfb\x2d\x1a\xfb\x49\xf5\x21\xf7\x48\xd9\xb8\x97\xb2\xd4\x1e\xe2\x34\x05\xfb" -+"\x29\xf7\x9c\x15\x51\x53\xc9\x4d\x05\x75\x59\x70\x84\x61\x1b\xfb\x17\x3d\xda\xf7\x1a\xe8\xaa\xeb\xc0\xd4\x1f\xdb\xc5\xe4\xba\xe9" -+"\x1b\xcf\xca\x70\x5e\xae\x1f\xa6\x68\x99\x5c\x4f\x1a\xfb\x0c\x5c\xfb\x02\x34\x37\x1e\x0e\xbb\xf7\x92\xf7\xce\x15\xf7\x83\x06\xcc" -+"\xaf\x71\x5a\x7a\x88\x76\x86\x75\x1f\x73\x27\x8b\x8b\x6b\x1a\x7b\x8c\x80\x8e\x77\x1e\xf7\x05\x06\x90\xa2\x05\x7e\x97\x83\x9e\xa1" -+"\x1a\x96\x8d\x9c\x8f\xa1\x1e\x9e\xf4\x8d\x98\x8c\x1d\x6e\x60\x7a\x4b\x1b\x0e\x84\x61\x0a\x0e\x4c\x48\x1d\x0e\xbb\x57\x1d\x0e\x84" -+"\xf8\x1c\x16\xf8\x2c\xf9\x6d\x05\x28\x06\xfb\xe4\xfc\xfd\x38\xf8\xfd\x05\x2a\x06\xf6\xfd\x6d\x05\x0e\xf7\xa2\x32\x0a\x0e\x84\x75" -+"\x0a\x84\x2f\x1d\x0e\x4c\x33\x0a\x0e\xfc\x20\xf8\x29\x22\x1d\xfb\x4e\x06\xfb\x5c\xfe\x42\x05\xf7\x4e\x06\x9a\xd3\x05\x25\x06\xf7" -+"\x3e\xf9\xb2\x05\xf1\x06\x0e\xfc\x20\xf7\x27\x22\x1d\xd9\xfd\x81\x05\xc2\x06\x3d\xf9\x81\x05\x0e\xfc\x20\x74\xfb\x69\x15\xf7\x4f" -+"\x06\xf7\x5c\xfa\x42\x05\xfb\x4f\x27\x1d\xf2\x06\xfb\x3e\xfd\xb2\x05\x24\x06\x0e\xfb\x61\xf7\xf1\xf9\x59\x15\xfb\x7e\xfc\x10\x05" -+"\xd3\x06\xf7\x4a\xf7\xbf\xc5\xfb\xbf\x05\xd0\x06\x41\xf8\x10\x05\x0e\xf8\xbb\xfb\x12\x6b\x1d\xfc\x58\xf7\x94\xf8\x71\x15\xa1\xf2" -+"\x05\x5c\x06\x96\xc7\x9f\xa5\xb1\x8f\x93\xb2\x18\x4d\x87\x5f\x5c\x79\x3a\x76\x27\x18\x0e\x60\x0a\x0e\xf7\x65\x22\x1d\xfb\x2f\xfd" -+"\x6d\x05\xd6\x06\x9c\xd9\x05\x43\xab\xb5\x6e\xd5\x1b\xce\xd2\xa9\xbb\xb8\x1f\xce\xd2\xb7\xf7\x06\xf2\x1a\xf7\x04\x3f\xdf\x26\x62" -+"\x5f\x7f\x79\x6d\x1e\x7a\x81\x7e\x7f\x6c\x6a\xc5\xf7\xa7\x18\xe5\xfb\x9f\x15\xd4\xb7\x57\x35\x51\x7a\x4c\x6e\x5b\x1f\x47\x62\x57" -+"\x6a\x4a\x1b\x47\x60\xbd\xda\xc9\x9d\xcf\xa7\xbb\x1f\xcd\xb2\xc0\xae\xc7\x1b\x0e\xfb\x42\x66\x0a\x0e\xf9\x1e\x88\x1d\x0e\x68\x0a" -+"\x0e\xfc\x20\xf8\x06\xf8\xa0\x3b\x1d\x0e\x62\x0a\x0e\x73\x0a\x0e\xfc\x58\xf7\x99\x8d\x0a\x0e\xfc\x58\x7b\x0a\xb7\xf7\x61\x15\x37" -+"\x06\x75\x24\x20\x0a\x0e\xfb\x42\x98\x1d\x0e\xfc\x58\xf7\xc7\x37\x1d\x0e\xf7\x33\xf7\x4a\x4e\x1d\xd1\xf7\xdd\x05\xd7\x9b\xcf\xc9" -+"\xce\x1b\xbc\xac\x70\x61\x80\x89\x7e\x89\x7e\x1f\x3e\xfb\xfd\x20\x0a\xd1\xf7\xdd\x05\xd9\x9b\xd0\xc7\xd3\x1b\xba\xa8\x6e\x5b\x7c" -+"\x8b\x8b\x82\x69\x1f\x43\xfb\xe9\x20\x0a\xda\xf8\x09\x05\x8e\x96\x8e\xac\x96\x1a\xa6\x7f\xa7\x77\xa1\x1e\xa3\x75\x71\x95\x5c\x1b" -+"\x49\x53\x71\x52\x50\x1f\xc3\x7b\x64\xa6\x49\x1b\x46\x5e\x77\x4f\x4b\x1f\x98\xcc\x05\x0e\x39\x1d\x0e\x69\x0a\x0e\xa5\x1d\x3d\x3b" -+"\x60\x53\x70\x1e\x9d\xdf\x05\x3a\x06\xf7\x6b\x4d\xa1\x1d\xf8\x56\xfb\x69\x15\xf7\x31\xf9\x75\x05\x40\x06\x78\x35\x05\xcd\x74\x58" -+"\xae\x42\x1b\x47\x44\x6d\x5b\x5e\x1f\x48\x44\x5f\xfb\x06\x24\x1a\xfb\x04\xd7\x37\xf0\xb4\xb8\x97\x9d\xa8\x1e\x9b\x95\x97\x96\xad" -+"\xad\x50\xfb\xa7\x18\x89\xf9\x37\x15\xce\xb6\x59\x3c\x4d\x79\x47\x6f\x5b\x1f\x49\x64\x56\x68\x4f\x1b\x44\x5d\xbf\xdb\xc5\x9e\xd3" -+"\xa6\xb8\x1f\xcd\xb2\xc3\xae\xcb\x1b\x0e\xfb\xe9\x67\x1d\xa5\xf7\x0e\xd2\xc8\xf7\x02\x87\x19\x9d\xe0\x05\x8d\x7e\x83\x8c\x80\x1b" -+"\x51\x5f\x71\x44\x4c\x1f\x9c\xdd\x05\x0e\xfb\x42\xf8\x96\xf8\x0e\x15\x90\xa0\x8c\x94\x98\x1a\xd1\x49\xbb\x29\x3c\x1d\x3b\xd0\x5b" -+"\xf7\x09\xf7\x29\xec\xd8\xf7\x0b\x5a\x0a\xa4\x9d\x9c\x44\x0a\x85\x8b\x83\x8a\x83\x1f\x0e\xfc\x20\xf8\x02\x6f\x0a\x0e\x58\x1d\x0e" -+"\xfb\x42\xf7\xb3\x16\xf7\xcb\xf8\xa0\x05\x30\x06\xfb\x88\xfc\x3a\x5a\xf8\x3a\x05\x2f\x06\xd5\xfc\xa0\x05\x0e\xbb\x3a\x1d\x0e\xfb" -+"\x42\xf7\xf2\xf7\x9f\x15\xf7\x7d\xf7\x95\x05\x2a\x06\xfb\x3b\xfb\x54\x33\xf7\x54\x05\x2e\x06\xf7\x0a\xfb\x95\xfb\x83\xfb\x9f\x05" -+"\xed\x06\xf7\x42\xf7\x5c\xe5\xfb\x5c\x05\xe9\x06\x0e\xfb\x42\x4d\x0a\x0e\xfb\x42\x46\x1d\x0e\xfb\xe8\xf8\x43\x22\x1d\x5c\x06\x46" -+"\x8a\x56\x58\x7d\x3b\x67\xfb\x3a\x18\x79\x32\x6d\x64\x51\x81\x7c\x45\x18\xb1\x85\x9e\x73\x62\x1a\x7b\x88\x75\x85\x6e\x1e\x68\xfb" -+"\x3a\x05\x87\x79\x89\x78\x7a\x1a\x5a\xab\x6e\xc1\x1e\xba\x06\x99\xcc\x05\x7b\x06\x65\x7b\x95\xa3\x95\x8c\x96\x8e\x97\x1f\xb2\xf7" -+"\x49\x05\x8f\x9e\x8d\x9f\xa1\x1a\xbe\x80\xa1\x66\xa4\x1e\xc3\xa9\xb1\xc3\x99\xd2\xb2\xf7\x49\x18\xbf\x96\x9c\x9a\xbd\x1b\x9b\x06" -+"\x0e\xfc\x32\xf7\x93\xf9\x6d\x15\xfb\x5d\xfe\x41\x05\xc7\x06\xf7\x5d\xfa\x41\x05\x0e\xfb\xe8\x7b\xfb\x69\x15\xba\x06\xcf\x87\xbd" -+"\xbc\x9d\xe2\xaf\xf7\x3a\x18\x99\xdf\xad\xb8\xc5\x94\x9a\xd1\x18\x66\x91\x77\xa2\xb0\x1a\xa0\x8e\x9f\x91\xaa\x1e\xae\xf7\x3a\x05" -+"\x8f\x9e\x8d\x9c\x99\x1a\xbc\x68\xac\x58\x1e\x5c\x06\x7d\x4a\x05\x9b\x06\xb1\x9b\x81\x73\x81\x8a\x80\x88\x7f\x1f\x64\xfb\x49\x05" -+"\x87\x78\x89\x79\x7a\x1a\x60\x9a\x6a\xac\x6e\x1e\x49\x6c\x72\x67\x7a\x31\x64\xfb\x49\x18\x57\x80\x7a\x7c\x59\x1b\x7b\x06\x0e\x31" -+"\xf8\xb2\xf8\x2f\x15\x57\x80\x76\x74\x67\x1b\x7d\x7d\x90\x97\x79\x1f\x25\xd0\x05\x96\x7c\x7a\x90\x78\x1b\x4b\x5a\x58\x2d\x72\x1f" -+"\xbf\x06\xbf\x9b\xa3\xa6\xaa\x1b\x95\x9d\x84\x83\x96\x1f\xe0\x4c\x05\x7b\xa1\xa7\x81\xa3\x1b\xb1\xb2\xa0\xad\xa4\x1f\x9d\xa3\x94" -+"\xa2\x92\xb4\x08\x0e\xfb\xe9\xd7\xfb\x61\x15\xdf\x06\xd5\xf7\xf2\xa2\xf7\x67\x05\x63\x06\x48\xfb\x67\x05\xc8\xf7\xa8\x15\xdf\x06" -+"\xa1\xf2\x05\x37\x06\x0e\xf8\x2b\xf8\x63\x15\xaf\x85\x8c\x8b\x96\x85\x08\xa6\x7d\x9c\x6d\x67\x1a\x85\x8b\x83\x8a\x82\x1e\xdf\x06" -+"\x8c\x9a\x05\x8c\x9a\x8c\x96\x8e\x1a\xc4\x60\xc5\x52\xa0\x1e\x92\x77\x7a\x8e\x72\x1b\x9e\xe5\x05\x63\x06\x78\x31\x44\x84\x59\x76" -+"\x5b\x60\x19\x43\x4a\x5d\xfb\x08\xfb\x07\x1a\x20\xcc\x40\xf2\x80\x1e\x76\x29\x05\xb3\x06\xa0\xec\xf7\x1a\x93\xd7\xcb\xae\xf7\x17" -+"\x19\x37\x06\x6c\x39\x60\x66\x44\x83\x08\x64\x8e\x15\x4f\x93\x66\xbc\xd1\x1a\xe1\xb0\xe8\xc2\xc0\x1e\xa5\xa4\xa5\x98\xb1\x92\x08" -+"\x0e\xf8\x53\xf8\x0c\x15\xfb\x34\x06\x85\x9f\x8b\x8c\x82\xa2\x08\x7c\xb5\x8a\x91\xa3\x1a\xe6\xd4\xd0\xea\xd2\xb8\x65\x4f\x79\x89" -+"\x7d\x84\x72\x1e\xe3\x06\x92\xb5\x8d\x9d\xa1\x1a\xe5\x40\xc7\xfb\x03\xfb\x27\xfb\x1b\xfb\x0b\xfb\x16\x72\x8f\x7b\x9c\x62\x1e\x8e" -+"\x85\x8e\x83\x8e\x83\x08\x38\x06\x7f\x54\x05\xf7\x05\x06\x94\x6d\x8c\x86\x7c\x1a\x44\x53\x44\xfb\x0a\x3e\x1e\xb0\x49\x05\xa5\xba" -+"\xad\x96\xb0\x1b\xa2\x9f\x88\x83\x9f\x1f\x71\xcf\xad\x82\xb0\x1b\xbc\xbd\x9e\xae\xb6\x1f\x72\xd1\x05\x73\x60\x78\x92\x0a\x91\x90" -+"\x92\x90\x92\x90\xa6\x9f\x18\xb7\xad\x9b\x9a\x9a\x9f\x08\xa4\xaf\x9d\xbc\xac\x1a\x8f\x8a\x95\x8a\x98\x1e\x8a\x96\x05\xf7\x1d\x06" -+"\x0e\xfc\x20\xf8\x78\x34\x0a\x0e\xf8\xd1\xf7\xf6\x15\xfb\x2e\x06\xf7\xa9\xf7\xf7\x05\x36\x06\xfb\x8c\xfb\xd6\xfb\x08\xf7\xd6\x05" -+"\x36\x06\xf7\x16\xfb\xf7\x05\xfb\x2e\x06\x80\x58\x05\xf7\x43\x06\x7a\x3e\x05\xfb\x42\x06\x80\x58\x05\xf7\x42\x06\x66\xfb\x43\x05" -+"\xe3\x06\xb0\xf7\x43\x05\xf7\x41\x06\x95\xbe\x05\xfb\x40\x06\x9c\xd8\x05\xf7\x40\x06\x0e\xf8\xcb\xf8\x64\x15\xfb\x05\x06\xa6\xd0" -+"\x05\xdf\xab\xb5\xb7\xba\x1b\x9c\x96\x86\x7c\x9f\x1f\xb9\xd9\x05\x98\x72\x73\x91\x71\x1b\x35\x37\x48\x23\x60\x1f\x60\x24\x05\xfb" -+"\x11\x27\x1d\xf7\x04\x06\xfb\x39\xfc\x31\x05\x3d\x6c\x65\x67\x59\x1b\x77\x7e\x90\x99\x7a\x1f\x68\x35\x05\x83\x9c\x97\x89\xa2\x1b" -+"\xf7\x05\xd9\xcc\xf7\x22\xc3\x1f\xf7\x32\xf8\x21\x05\xf7\x13\x06\x0e\xf8\xd3\x21\x0a\x8d\x93\x8b\x8b\x8d\x94\x08\x94\xa4\x8c\x94" -+"\x9e\x1a\xdb\x4c\xc2\x31\xfb\x04\x24\x31\x28\x6d\x93\x73\x9d\x74\x1e\x4f\x6b\x7f\x83\x74\x71\x08\x6f\x6b\x77\x59\x62\x1a\x61\x9c" -+"\x6c\xb9\x64\x1e\xf7\x25\xfb\x10\x05\xa7\x73\x95\x78\x6e\x1a\x53\x58\x5d\x4e\x58\x67\xab\xb8\x98\x8d\x96\x91\xa0\x1e\x36\x06\x83" -+"\x71\x88\x7d\x76\x1a\x37\xcb\x55\xed\xcb\xc6\xa4\xb8\xb3\x1e\xad\xb2\x9f\xba\xb4\x1a\xad\x83\xa2\x75\xa9\x1e\xb3\x98\xab\x9f\xa2" -+"\xa6\x08\xa9\xae\xa1\xc4\xb7\x1a\xa8\x83\xa3\x7b\xa1\x1e\x81\x97\x82\x94\x69\xa6\xfb\x13\xf0\x18\x69\xa6\x83\x97\xa2\x1a\xbf\xbc" -+"\xba\xc3\xbe\xab\x6d\x5c\x7a\x88\x7d\x84\x77\x1e\xfb\x93\xfb\xbb\x15\x69\xa8\x81\x9e\xab\x1a\xbb\xa4\xaa\xd1\xb3\x1e\xf7\x17\x21" -+"\x05\xac\x71\x9f\x68\x6d\x1a\x5b\x6a\x61\x4b\x6a\x1e\x0e\xf8\xa2\xf7\x53\x15\x60\xc1\x05\xa9\xa8\xa3\xc7\xba\x1a\xa5\x88\x9a\x81" -+"\x9b\x1e\xd0\xc3\x5c\xc5\x47\x53\x05\x9d\x77\x68\x96\x65\x1b\x69\x63\x80\x7b\x6f\x1f\x5e\xc5\x49\x53\xb5\x54\x77\x70\x80\x7b\x89" -+"\x88\x19\x7b\x6c\x82\x6b\x6c\x1a\x72\x90\x75\x94\x79\x1e\x4f\x5a\xb7\x51\xcc\xbf\x05\x7a\x9f\xa9\x83\xb3\x1b\xb2\xb1\x96\x9e\xa7" -+"\x1f\xb5\x56\x05\x34\xf7\xcb\x15\xbd\xb2\x66\x5c\x49\x4b\x4e\x46\x58\x64\xb0\xbc\xcc\xcc\xc7\xd0\x1f\x0e\xfc\x77\xf7\x5a\x9a\x0a" -+"\x0e\xfb\xe9\xf7\x83\xf8\x71\x15\xa1\xf2\x05\x5c\x06\x95\xc5\xa0\xa6\xae\x90\x93\xb2\x18\x4f\x86\x5f\x5b\x7a\x3c\x76\x27\x18\xf7" -+"\x92\x16\xa1\xf2\x05\x5b\x06\x96\xc5\x9f\xa6\xaf\x90\x93\xb2\x18\x4f\x86\x5f\x5b\x7a\x3c\x76\x27\x18\x0e\xf7\x27\x93\x0a\xf7\x4e" -+"\x32\x15\xf7\x11\xfb\x0d\x9d\xdd\x35\xde\xf7\x0d\xdf\x9d\xde\xfb\x45\xfb\x0e\x05\x0e\xfb\xe9\xf7\x20\x93\x0a\x0e\xfb\xe9\xf7\xc7" -+"\xf7\xd1\x99\x0a\x0e\xfb\x42\xf8\x00\xf8\xa0\x3b\x1d\xf7\x59\xce\x8e\x0a\xfb\x42\xf8\x06\xf8\xa0\x3b\x1d\xf7\x79\xf7\xa4\xdb\x1d" -+"\xf9\x08\xf7\xcc\x15\xfc\xcb\x27\x1d\xf8\xcb\x06\x0e\xf9\x00\xf8\x89\x15\xfb\x56\xb5\x0a\xfb\x56\x06\x7a\x3a\x05\xf7\x55\x06\xfb" -+"\x12\xfc\xe9\x05\xe3\x06\xf7\x12\xf8\xe9\x05\xf7\x57\x06\x0e\xf9\x00\xf8\x89\x15\xfb\x53\xb5\x0a\xfb\x52\x06\x7a\x3a\x05\xf7\x52" -+"\x06\x49\xfb\xc8\x05\xfb\x52\x06\x7a\x3a\x05\xf7\x52\x06\x5f\xfb\x64\x05\xe3\x06\xb7\xf7\x64\x05\xf7\x53\x06\x9c\xdc\x05\xfb\x53" -+"\x06\xcd\xf7\xc8\x05\xf7\x53\x06\x0e\xfc\x20\x58\x0a\xfb\x1d\xf9\x39\x22\x1d\xfb\x8e\x06\xfb\x26\xfb\x1c\xfb\x21\xfb\x2c\xfb\x00" -+"\xc8\x49\xf3\x88\x1f\x2e\xfc\x49\x05\xcb\x06\xf7\x47\xf9\xdf\x05\xde\x06\xfb\x47\xfd\xdf\x05\xcb\x06\xf7\x47\xf9\xdf\x05\xc3\x06" -+"\x0e\xfb\xd8\xf7\xa6\xf8\x6a\x15\x3b\x41\x42\x3b\x55\xb7\x60\xc3\xdd\xd5\xd4\xda\xc5\x61\xb3\x4f\x1f\x0e\xfc\x58\xe1\xf2\x47\x1d" -+"\x0e\xfb\xe9\xd0\xf2\x47\x1d\xcc\x16\x69\x1d\x0e\xfb\xe9\xf7\x5b\xf9\x58\x47\x1d\xcc\x16\x69\x1d\x0e\xf7\xd3\xf7\xd1\x99\x0a\xf7" -+"\x6e\xe4\x15\xfb\x13\xf7\x0d\x79\x39\xe3\x38\xfb\x0f\x37\x79\x38\xf7\x47\xf7\x0e\x05\x0e\xf7\xda\xf7\x85\xf2\x37\x0a\xf3\x06\xf7" -+"\xf7\xf2\x37\x0a\xf3\x06\xf7\xf7\xf2\x23\x0a\xf7\xda\xf9\x1d\xf9\x76\x15\xfc\xc0\xfd\x8a\x05\xcd\x06\xf8\xc0\xf9\x8a\x05\xfc\x25" -+"\x7e\x51\x0a\xf7\x86\xfc\x1e\x51\x0a\xf8\x0a\xc2\x51\x0a\x0e\x4c\xf7\xec\xf7\xd9\x15\x81\x5c\x7d\x59\x7b\x78\x41\x54\x19\x5b\x66" -+"\x72\x74\x77\x71\x08\x6b\x61\x78\x57\x5d\x1a\x6b\x98\x6a\xa1\x72\x1e\x65\xac\xb8\x7a\xce\x1b\xf7\x24\xe5\xda\xf7\x2f\xaa\x1f\x36" -+"\x06\xfb\x02\x75\x5b\x5c\x33\x1b\x4a\x61\xad\xc0\xc1\xab\xbc\xd3\xc4\x1f\xf4\xdb\x9d\xa1\x99\xc8\x97\xc2\x18\x45\xeb\x15\xe5\x06" -+"\xa1\xf2\x05\x31\x06\x0e\xfb\xe9\xf7\xb1\xf9\x78\x2e\x0a\xfb\xe9\xf7\xee\xf9\x78\x23\x1d\xfb\xe9\xf7\xa6\xf9\x79\x24\x1d\xfb\xe9" -+"\xf8\x36\xf9\x63\x46\x0a\x77\x1b\x81\x70\x91\x94\x71\x50\x0a\xb8\xb5\x31\x1d\xfb\xe9\xa5\x0a\xfb\xe9\xf7\x3e\xf9\x6d\x59\x1d\xfb" -+"\xe9\xf8\x06\xf9\x5f\x23\x0a\xfb\xe9\xf7\xb1\x53\x0a\xfb\xe9\xf7\xd8\xf9\x86\x6f\x1d\x83\x5f\x15\x9f\x9a\x7d\x77\x70\x7a\x1d\xa6" -+"\x1f\x0e\xfb\xe9\xf7\x39\x16\x59\x2f\x8a\x1d\xb8\xcb\x57\x0a\xa9\xc3\x05\x0e\xfb\xe9\xf7\x6f\xf9\x78\x40\x0a\xfb\xe9\xf7\x39\x16" -+"\x68\x7e\x7a\x82\x78\x7f\x08\x65\x72\x76\x69\x66\x1a\x5b\xbc\x70\xe0\xa7\x9e\x8e\x92\xa0\x1e\x94\xb8\x05\x84\x78\x73\x88\x70\x1b" -+"\x64\x70\x9d\xa5\x9b\x92\x9e\x98\x9a\x1f\x9c\x9f\x99\x95\xbe\xa4\x92\x8e\x93\x8f\x92\x8f\x08\x0e\xfb\xe9\xf7\xe3\xf8\xe4\x2a\x1d" -+"\xf7\xda\xca\x1d\xf7\xda\x6d\x0a\x0e\xfb\xc4\xf8\x2a\xf7\xf6\x15\xfb\xb4\x06\x80\x58\x05\xf7\xb4\x06\xb0\xf7\x26\x15\x83\x8a\x05" -+"\x8a\x87\x88\x8b\x89\x1b\x82\x83\x91\x93\x8d\x8b\x8d\x8c\x8e\x1f\xb4\xf7\x52\x05\x8c\x8e\x8b\x93\x92\x1a\xb4\x63\xa4\x4b\x57\x61" -+"\x7e\x73\x72\x1e\x7b\x7c\x85\x7e\x7f\x60\x08\xc3\x06\xb1\x96\xa5\x9e\xb6\x1b\xa1\xa2\x85\x85\x91\x1f\x95\x7f\x8c\x88\x83\x1a\x86" -+"\x8a\x86\x8a\x86\x1e\x89\x83\x84\x72\x84\x88\x5f\x86\x19\x3c\x83\x71\x85\x6e\x79\x08\x6b\x77\x79\x6b\x66\x1a\x58\xad\x6e\xc8\xb5" -+"\xb0\x99\xa8\xa9\x1e\x6f\x8e\x9a\x7c\xa8\x1b\x92\x8c\x8b\x8f\x9d\x1f\x8c\x90\x8c\x8c\x8f\x1f\x45\xf7\x02\x15\x6a\x85\x56\x6a\x5e" -+"\x1b\x67\x7a\x97\xa4\x9c\x96\x9f\x9c\x95\x1f\x9d\x96\x98\x8e\xc4\x93\xa3\x8e\x95\x8d\x9c\x91\x08\x0e\xf7\x99\xf7\xcf\x15\xf7\x58" -+"\xf7\x0a\x9c\xda\xfb\x58\xfb\x0a\xd2\xf7\xe3\x05\x2d\x06\x3b\xfc\x0a\x38\x58\x7a\x3c\xde\xbe\x51\xfb\xa8\x05\xf8\x58\x2f\x0a\xfb" -+"\xfb\x06\x0e\xf3\x65\x0a\x0e\xf7\xda\xf9\x43\xf7\xdb\x15\xf7\xda\x2f\x0a\xfb\xdb\x06\xbe\xf7\x82\x05\xf7\xe4\x20\x1d\xfc\x42\x06" -+"\x7b\x3f\x05\xc8\x6c\x58\xa6\x37\x1b\x2e\x28\x5b\x3e\x46\x1f\x3e\x34\x52\xfb\x3e\xfb\x20\x1a\xfb\x26\xe7\x2b\xf7\x1f\xe2\xca\xa9" -+"\xd1\xc4\x1e\x7b\x3e\x05\xf8\x46\x20\x1d\xfb\xe8\x06\x43\xef\x15\x38\x52\x46\x62\x37\x1b\x2b\x50\xc9\xf1\xeb\xab\xf7\x1c\xb2\xd0" -+"\x1f\xe5\xbf\xd3\xba\xe3\x1b\xe3\xbe\x64\x39\x9e\x1f\x0e\xfb\xc9\xf8\x18\xf7\xf6\x15\xfb\x9b\x06\x80\x58\x05\xf7\x9b\x06\x62\xf8" -+"\x4b\x15\x54\x57\x71\x5f\x6a\x1f\x70\x66\x77\x45\x53\x1a\x49\xb9\x5f\xce\xc6\xbd\xa4\xb9\xac\x1e\xa6\xb1\xa0\xcf\xbe\x1a\xac\x7c" -+"\xb1\x77\x9d\x1e\x9b\x79\x6d\x95\x6a\x1b\x82\x57\x15\xb3\xa4\x6f\x5e\x2e\x58\x42\x4a\x61\x72\xa6\xba\xe8\xbf\xd3\xcd\x1f\x0e\xf7" -+"\x6b\x7b\x1d\x0e\xfc\x20\x2d\x0a\x0e\xfc\x58\xf7\x83\xf8\x32\x15\xce\xf7\xcf\x21\x1d\x42\xfb\xef\x42\x5e\x7d\x48\xd3\xb7\x48\xfb" -+"\xce\x20\x0a\xd5\xf7\xef\xd4\xb5\x99\xce\x05\x0e\x4c\x82\x1d\x0e\xf7\xa2\xf9\xda\xf7\x33\x15\x45\x67\x56\x68\x49\x1b\x3d\x5a\xba" -+"\xd6\x9f\x8d\x98\x90\xa4\x1f\xf8\x16\x06\x99\xd9\x8e\xa3\xab\x1a\xec\x38\xd5\xfb\x00\x38\x30\x60\x4f\x60\x1e\xce\x6e\x50\xaf\x37" -+"\x1b\x2c\x3c\x62\x3f\x59\x1f\x5e\x47\x6b\xfb\x00\x3a\x1a\x56\x9f\x58\xad\x68\x1e\x6a\xab\xb9\x7b\xc5\x1b\xe2\xda\xb2\xcf\xbd\x1f" -+"\x90\x7f\x8e\x85\x94\x80\x08\x54\xb5\xbb\x74\xd0\x1b\xf7\x0d\xf1\xd4\xf7\x01\xab\x1f\xfc\xbb\xf7\xc3\x15\xd3\xb7\x5b\x3b\x50\x7b" -+"\x47\x71\x5b\x1f\x48\x66\x52\x65\x49\x1b\x46\x60\xbb\xda\xf7\x31\xe2\xf7\x10\xf7\x03\x1f\xf7\x66\xfb\x30\x15\xe8\xa6\xd5\xca\xdd" -+"\x1b\xd1\xb7\x5b\x3f\x81\x8a\x83\x89\x7d\x1f\x0e\x4c\xf7\xed\xf7\xf1\x15\x9b\x06\xc0\xa2\x88\x81\xa2\x1f\xb0\x7c\x9f\x6c\x60\x1a" -+"\x24\x31\x39\xfb\x06\x1e\x6c\x06\x81\x06\x7a\x3d\x05\x88\x9d\x96\x8a\x9e\x1b\xeb\xde\xb0\xcf\xc3\x1f\xb4\xbb\xa7\xd5\xc4\x1a\xb4" -+"\x76\xb2\x67\xa4\x1e\x77\x99\x7c\x92\x68\x96\x08\xf6\xab\xc1\xc9\xe6\x1a\xe2\x43\xc3\xfb\x03\x47\x48\x77\x68\x57\x1e\x5c\x6b\x71" -+"\x63\x7d\x4b\xfb\x06\xfc\xae\x18\xde\x06\xf7\x06\xf8\xae\x05\xd0\x9a\xcc\xb7\xe2\x1b\xd2\xb9\x68\x56\x41\x3d\x51\x27\x1f\x81\x06" -+"\x0e\xfb\xe9\xf7\xa5\xf8\xd8\x15\x4c\xfb\xbc\x05\xcb\x06\xe5\xf8\x3d\x05\x5f\x06\x6a\x4a\x81\x85\x30\x7f\x81\x5d\x18\x0e\x31\xf7" -+"\x06\xf8\x0d\x15\x7c\x43\x05\xf8\x47\x06\x5d\xfb\x6f\x05\xd1\x06\xc8\xf7\xb7\x05\x0e\xf8\xbe\xbc\x15\x89\x84\x87\x8a\x85\x1b\x72" -+"\x7e\x95\xa0\x8f\x8b\x8f\x8c\x8e\x1f\xe8\xf8\x48\x21\x1d\x4c\xfb\xbd\x05\x20\x74\x44\x45\x35\x1b\x55\x6b\xa9\xbd\x95\x8c\x96\x8d" -+"\x94\x1f\xd8\xf8\x00\x21\x1d\xfb\x32\xfd\x7c\x20\x0a\xbb\xf7\x76\x05\x76\xa0\xa2\x83\xb0\x1b\xd1\xc6\xa6\xc3\xc1\x1f\x89\x83\x8a" -+"\x84\x87\x1a\x5d\xa0\x79\xc1\x99\x90\x8c\x90\xa1\x1e\x8d\x90\x8d\x8c\x91\x1f\x0e\xf7\xda\xf8\x42\xf9\x36\x15\xf7\x2d\x06\x96\xc2" -+"\x05\xfc\x0a\x06\x7f\x54\x05\xf7\x2e\x06\x3a\xfc\x12\x05\xcf\x06\xf8\x65\x16\xf7\x57\xf7\xe9\x42\xfb\xe9\x05\xce\x06\xe8\xf8\x49" -+"\x05\x31\x06\xfb\x65\xfb\xfe\x54\xf7\xfe\x05\x2d\x06\x2e\xfc\x49\x05\xce\x06\xd4\xf7\xe9\xbb\xfb\xe9\x05\x0e\xbb\x86\x1d\xf7\x34" -+"\xce\x1d\x60\x06\x6a\x48\x7e\x82\x31\x84\x82\x5d\x18\xf8\xdd\xf7\x15\x35\x0a\xa5\xfd\x1f\x15\xfb\x7a\x06\x9f\xb1\xa1\x9e\xbc\xa2" -+"\xd0\xab\x18\xdc\xaf\xb8\xc3\xc9\x1a\xca\x5d\xb1\x3f\x28\x50\x5a\x24\x72\x1e\xc9\x06\x94\xaa\x91\x9b\x96\x98\x08\xa4\x9e\xaa\x99" -+"\xac\x1b\xb4\xa8\x73\x67\x66\x70\x6a\x59\x73\x1f\x4a\x6c\x21\x59\x67\x63\x72\x2a\x19\xf7\xc4\x06\x0e\x31\xf9\x05\xf8\x41\x15\xfb" -+"\x63\x06\xb7\xf7\x60\x05\x44\x06\x60\xb1\x0a\x5e\xfb\x64\x05\xd2\x06\xb7\xf7\x64\x05\xf7\x63\x06\x4e\xfb\xb1\x15\xfc\x78\x27\x1d" -+"\xf8\x78\x06\x0e\x84\xf7\x76\xf7\x53\xa4\x0a\xf6\x4d\xc1\xfb\x0f\x1e\xfb\x64\x06\xa4\xf7\x0a\x05\x2d\x22\x0a\xc5\xf7\xa5\x15\xc1" -+"\xf7\x94\x05\xf7\x57\xbe\x1d\xf7\x34\xce\x1d\x61\x06\x69\x48\x7e\x82\x32\x84\x81\x5d\x18\xf8\xf5\xf7\x15\x35\x0a\xfb\x02\xfc\xf5" -+"\x15\x76\x27\x05\xc9\x06\xa0\xa9\x0a\xfb\x98\xfb\x9e\x7e\x50\x05\xf7\x5b\xc0\x15\xfb\x15\x06\xf7\x39\xf7\x3e\x05\x0e\x31\xd2\x1d" -+"\xfb\xa3\x2e\xc0\x1d\xd5\xf7\xfa\xc0\x1d\x0e\xfc\x32\xf7\x93\xf9\x6d\xb6\x0a\xfb\x43\xfc\xb0\xb6\x0a\x0e\xfb\xa6\xf7\xe7\xf9\x42" -+"\x15\x38\x47\x47\x38\x38\xcf\x46\xdd\xe0\xcf\xce\xe0\xde\x47\xcf\x37\x1f\x8c\x60\x15\xc5\xbb\x5b\x4f\x4e\x5b\x5b\x4f\x52\x5b\xbd" -+"\xc6\xc6\xbb\xbc\xc6\x1f\x0e\xa5\x1d\x3f\x3f\x62\x51\x6d\x1e\xc8\xf7\xb5\x05\x37\x06\xf7\x40\xfb\x9f\xa1\x1d\xf7\x34\xf7\x89\xf8" -+"\x70\x67\x0a\xf8\xa6\xf7\x4a\x35\x0a\xfb\x20\xfc\xf5\x15\x75\x27\x05\xc9\x06\xa1\xa9\x0a\xfb\x99\xfb\x9e\x7f\x50\x05\xf7\x5b\xc0" -+"\x15\xfb\x16\x06\xf7\x3a\xf7\x3e\x05\x0e\xfb\xe9\xf8\x13\xf7\xec\x15\xfb\x7b\x06\x9e\xaa\xa1\x9c\xc1\xa6\xcf\xac\x18\xde\xb4\xb4" -+"\xbd\xc7\x1a\xcc\x5c\xb4\x3f\x28\x54\x5c\x20\x73\x1e\xca\x06\xd0\x9c\xab\xa9\xc4\x1b\xb4\xa5\x73\x67\x68\x6f\x69\x5c\x75\x1f\x4c" -+"\x6c\xfb\x02\x53\x70\x6c\x6f\x26\x19\xf7\xc0\x06\x0e\xca\xf7\xe9\xf7\xd9\x15\xf7\x1a\x06\xaf\x9d\x7e\x70\x82\x89\x7f\x88\x80\x1f" -+"\x7e\x53\x8a\x88\x71\x1a\x80\x8c\x86\x8e\x7f\x1e\xd9\x06\x90\xa4\x05\x82\x93\x88\x92\x99\x1a\x96\x8d\x96\x90\xab\x1e\x91\xa8\x8d" -+"\x9c\x95\x1a\xa6\x85\x96\x74\x9d\x1e\xae\xa0\x9a\x99\x97\xa2\x08\x96\xa1\x92\xa9\xa5\x1a\xc8\x65\xa7\x3a\x1e\xfb\x62\x06\x2d\xfc" -+"\x51\x05\xd1\x06\xc0\xf7\x8c\x15\xa7\xf7\x1a\x05\xf7\x15\x06\xb7\x9e\x7e\x6a\x76\x83\x73\x80\x7c\x1f\x77\x7b\x76\x83\x68\x1b\xb9" -+"\xf7\xf6\x8b\x1d\x31\xf8\xed\xf7\xa1\x15\xfc\x8d\x27\x1d\xf8\x8d\x06\x0e\xf7\x8f\xf8\xc8\x15\xef\xb8\xaf\x6a\x9b\x7a\xab\x61\x19" -+"\x99\x6f\x7f\x8e\x71\x1b\x36\x3d\x62\x45\x5b\x1f\x5e\x4a\x6a\xfb\x01\x36\x1a\x56\xa0\x58\xad\x69\x1e\x6b\xac\xba\x7a\xc5\x1b\xe7" -+"\xd9\xb3\xd7\xc1\x1f\xb8\xc9\xad\xf7\x02\xdd\x1a\xf6\x58\xeb\x22\xe5\x1e\xea\xb4\x64\xb1\x28\x60\x05\x8e\x87\x88\x8d\x8a\x1b\x7f" -+"\x94\x7f\x93\x7e\x94\x87\x8e\x7f\x93\x78\x96\x85\x8f\x83\x90\x83\x90\x61\x5e\x18\x97\x82\x97\x83\x8f\x89\x9a\x81\x95\x85\x8d\x89" -+"\x8e\x89\x93\x84\x94\x83\x32\x62\x18\xf7\x2c\xfb\x21\x15\xd5\xb6\x5c\x39\x4f\x0a\x0e\x31\xf8\xa5\xf8\x3f\x15\xfb\x46\xfb\x26\xfb" -+"\x07\xf7\x25\x4f\x5a\xf7\x07\xfb\x26\xfb\x46\xfb\x27\xb2\x5a\xf7\x46\xf7\x26\xf7\x08\xfb\x27\xc8\xbd\xfb\x09\xf7\x27\xf7\x46\xf7" -+"\x26\x05\x0e\xfb\xe9\xf7\x77\xf8\x6e\x15\x8c\x9a\x92\x8b\x94\x1b\xbd\xa7\x79\x6b\x4f\x5f\x63\x4a\x62\x70\xa1\xad\x90\x8b\x93\x8c" -+"\x93\x1f\x8c\x97\x05\x4b\x06\x89\x76\x8a\x82\x80\x1a\x49\xb7\x66\xdb\xf4\xd9\xd1\xe9\xac\x7e\xa1\x6c\x9a\x1e\xbd\xab\x9e\xaa\xbf" -+"\x1a\xc2\x5d\xae\x44\x57\x5f\x79\x69\x6c\x1e\x77\x76\x80\x74\x7f\x5b\x08\xca\x06\x92\xaa\x90\x97\x94\x96\x08\xa2\x9c\xa6\x97\xab" -+"\x1b\xb2\xa2\x79\x6e\x54\x6a\x72\x41\x1f\x87\x06\x7f\x06\x0e\xca\xf9\x11\xf8\x49\x15\xf5\x89\x61\xbc\x31\x1b\x47\x4e\x6d\x53\x5b" -+"\x1f\x5b\x51\x6e\x3a\x40\x1a\x24\xc4\x4c\xe9\xc6\xbd\xa2\xba\xb6\x1e\xa5\xa7\x9b\xa7\xa3\xc7\x08\x44\x06\x3a\x6d\x5d\x60\x54\x1b" -+"\x52\x65\xb8\xcf\xc0\x9c\xc6\xa7\xb6\x1f\xbb\xab\xb5\xa5\xbb\x1b\xbf\xa2\x70\x49\x8e\x1f\x67\xf7\xc5\x8b\x1d\x84\x28\x1d\xdc\xf7" -+"\xc9\x23\x1d\x84\x28\x1d\x97\xf7\xca\x41\x0a\x0e\x84\x28\x1d\xa6\xf7\xb0\x15\x23\x06\x75\xa1\x0a\x75\x24\x05\xf3\x06\x0e\x84\x28" -+"\x1d\x94\xf7\xc9\x24\x0a\x0e\x84\x28\x1d\xc6\x9d\x1d\x0e\x84\x28\x1d\xf7\x2d\xf7\xb4\x15\x6e\x79\x81\x83\x77\x1b\x81\x70\x91\x94" -+"\x71\x50\x0a\xb8\xb5\x31\x1d\xbb\xf8\x04\x74\x15\xf7\x42\x8d\xf7\x06\xe4\xda\xf7\x5a\x8f\x1d\x3c\x2c\x5a\xfb\x1d\xfb\x12\x1a\x35" -+"\xa9\x40\xc2\x5a\x1e\xae\x6c\xa8\x7f\xce\x81\x65\x44\x18\x60\x1d\x92\xa1\x62\x33\x1d\xbe\xa7\x83\xb2\x1b\xdf\xc8\xb8\xcb\xa7\x6d" -+"\xa2\x66\x86\x87\x8b\x89\x7f\x1f\x0e\x84\xf8\xda\xfa\x3f\x15\xfb\x14\xfb\x28\x05\xc8\x06\xf7\x47\xf7\x28\x05\xfc\x4b\xfc\xf3\x3d" -+"\x0a\x84\xf8\x83\xfa\x40\x4b\x1d\xfb\xe3\xfc\xf4\x3d\x0a\x84\xf8\x8d\xfa\x26\x4a\x1d\xfc\x19\xfc\x73\x3d\x0a\x84\xf8\x84\xfa\x3f" -+"\x70\x1d\xfb\xcc\xfc\x5f\x3d\x0a\xfc\x20\x29\x1d\xf7\x41\x55\x0a\xfc\x20\x29\x1d\xf0\x64\x1d\xfc\x20\x29\x1d\xf7\x04\xfa\x1f\x2c" -+"\x0a\xfc\x20\x29\x1d\xf7\x04\xfa\x3f\x2e\x0a\xbb\x2b\x0a\xa2\xfa\x2a\x98\x0a\x72\x6d\x7c\x76\x7a\x1f\x7f\x7c\x83\x7a\x7f\x68\x08" -+"\xc1\x06\xa8\xa0\x91\x8f\xa1\x1b\x91\x42\x1d\xcb\x9d\x87\xa0\x1b\xb8\xb5\x31\x1d\xf3\xf9\x01\xfa\x3f\x2c\x1d\xfb\x58\xfb\x5a\x63" -+"\x1d\x70\xd7\x5e\x28\x0a\x0e\xf3\xf8\xae\xfa\x40\x41\x0a\x2c\xfb\x5b\x63\x1d\x70\xd7\x5e\x28\x0a\x0e\xf3\xf8\xba\xfa\x26\x30\x1d" -+"\xfb\x2b\x45\x15\xfb\x05\x2a\x61\x36\x3a\x1f\x32\x2f\x56\xfb\x17\xfb\x14\x1a\x34\xa6\x3f\xb9\x5d\x1e\x5b\xbb\xdc\x6e\xe0\x1b\xe9" -+"\xe0\xa6\xbd\xcc\x1f\xf7\x09\xe5\xd7\xf7\x36\xf7\x32\x1a\xda\x70\xd7\x5e\x28\x0a\x0e\xf3\xf8\xae\xfa\x3f\x24\x0a\x42\x59\x15\xfb" -+"\x05\x2a\x61\x36\x3a\x1f\x32\x2f\x56\xfb\x17\xfb\x14\x1a\x34\xa6\x3f\xb9\x5d\x1e\x5b\xbb\xdc\x6e\xe0\x1b\xe9\xe0\xa6\xbd\xcc\x1f" -+"\xf7\x09\xe5\xd7\xf7\x36\xf7\x32\x1a\xda\x70\xd7\x5e\x28\x0a\x0e\xf3\xf8\xad\x61\x1d\x70\xd7\x5e\x28\x0a\xf7\x3c\xf7\x96\x15\x6e" -+"\x79\x82\x83\x77\x77\x0a\x31\x1d\x84\xf8\xb7\xf9\xab\x81\x0a\xf7\x92\xfb\xa8\x7e\x1d\x0e\xbb\xf8\xe3\xfa\x3f\x2c\x1d\x8e\xfb\x66" -+"\x6e\x0a\xbb\xf8\x99\xfa\x40\x41\x0a\xea\xfb\x67\x15\x49\x1d\xd1\x98\x3f\x1d\x83\x67\x85\x60\x7a\x1a\x62\xa2\x59\xab\x6e\x1e\x66" -+"\xb4\xcd\x76\xd8\x1b\xf7\x3c\xf7\x15\xe9\xf7\x26\xaa\x1f\xf7\x01\xf8\x94\x05\x0e\xbb\xf8\xa8\xfa\x26\x30\x1d\xaf\x39\x15\x49\x1d" -+"\xd1\x98\x3f\x1d\x83\x67\x85\x60\x7a\x1a\x62\xa2\x59\xab\x6e\x1e\x66\xb4\xcd\x76\xd8\x1b\xf7\x3c\xf7\x15\xe9\xf7\x26\xaa\x1f\xf7" -+"\x01\xf8\x94\x05\x0e\xbb\xf8\x96\xfa\x3f\x24\x0a\xf7\x0c\x4d\x6e\x0a\x84\xf8\xc8\xfa\x3f\x2c\x1d\xfb\x78\xfd\x21\x85\x0a\x0e\x84" -+"\x2f\x1d\xf7\x09\xfa\x26\x30\x1d\x0e\x4c\x33\x0a\xfb\x50\xf7\x26\x2a\x1d\xf8\x5e\xf9\x78\x2c\x1d\x79\xfd\x45\x3d\x1d\xa5\x8b\x8b" -+"\x96\x1a\xcf\x46\xb8\x22\x4c\x1d\x85\x8a\x83\x6b\x0a\x52\x6b\x51\x1d\xea\x43\x1d\x0e\xf8\x1d\xf9\x79\x4b\x1d\xcb\xfd\x46\x54\x1d" -+"\xf8\x27\xf9\x5f\x4a\x1d\x95\xfc\xc5\x54\x1d\xf8\x1c\xf9\x78\x70\x1d\xe4\xfc\xb1\x54\x1d\x7c\x1d\x81\xf8\x84\x15\x55\x55\x57\x56" -+"\x63\xaa\x6d\xb3\xc4\xbf\xbe\xc4\xb1\x6d\xa8\x61\x1f\x83\x5f\x15\xa0\x99\x7d\x76\x71\x71\x71\x6f\x76\x7d\x99\xa0\xa5\xa6\xa5\xa6" -+"\x1f\x0e\x5f\x0a\xda\xf8\x61\x15\x6f\x7a\x80\x82\x77\x1b\x81\x70\x91\x94\x71\xcd\x1d\x83\x7b\x7f\x67\x08\xc0\x06\xa7\x9f\x93\x90" -+"\xa1\x1b\x91\x42\x1d\xcb\x9d\x87\xa0\x1b\xb8\xb6\xb6\xcb\x9f\x1f\x0e\xfb\x42\xf7\xa3\x74\x15\xf7\x15\x8f\xe1\xd1\xab\xf7\x15\xa6" -+"\x0a\x46\x5f\x3f\x0a\xdf\x06\x8c\x9a\x05\x8c\x9b\x8c\x96\x8e\x1a\xab\x62\x1d\x51\xa3\x52\xb2\x67\x1e\xa3\x74\x9f\x82\xba\x82\x65" -+"\x45\x5d\x1d\xbe\xa7\x39\x0a\x87\x87\x8b\x89\x7e\x1f\x0e\xf8\x68\xf9\x78\x2c\x1d\x7a\xfc\x8e\x31\x0a\xf8\x19\x54\x0a\xdb\xfc\x8f" -+"\x31\x0a\xf8\x24\xf9\x5f\x30\x1d\xa4\xfc\x0e\x31\x0a\xf8\x14\xf9\x78\x24\x0a\xf6\xfb\xfa\x31\x0a\xfc\x20\x2d\x0a\xf7\x21\xf9\x78" -+"\x23\x1d\xfc\x20\x2d\x0a\xd0\xf9\x79\x24\x1d\xfc\x20\x2d\x0a\xdb\xf9\x58\x2c\x0a\xfc\x20\x2d\x0a\xdb\xf9\x78\x2e\x0a\x39\x1d\xf7" -+"\xaa\xf7\x57\x46\x0a\x78\x77\x0a\xb6\xcb\xa0\x1f\x0e\xf8\x64\xf9\x78\x2c\x1d\xfb\x54\xfb\x5d\x15\x2e\x39\x61\x41\x58\x1f\x5e\x4b" -+"\x6a\xfb\x02\x36\x1a\xfb\x03\xd8\x3f\xf7\x04\xeb\xd7\xb2\xd8\xc3\x1e\xb9\xca\xac\xf7\x01\xe2\x1a\xc0\x77\xbe\x68\xad\x1e\xac\x69" -+"\x5e\x45\x1d\x0e\xf8\x13\x54\x0a\x2e\xfb\x5e\x96\x1d\x5b\x3a\x4f\x0a\x0e\xf8\x1f\xf9\x5f\x30\x1d\xfb\x29\x42\x15\x2e\x39\x61\x41" -+"\x58\x1f\x5e\x4b\x6a\xfb\x02\x36\x1a\xfb\x03\xd8\x3f\xf7\x04\xeb\xd7\xb2\xd8\xc3\x1e\xb9\xca\xac\xf7\x01\xe2\x1a\xc0\x77\xbe\x68" -+"\xad\x1e\xac\x69\x5e\x45\x1d\x0e\xf8\x10\xf9\x78\x24\x0a\x47\x56\x15\x2e\x39\x61\x41\x58\x1f\x5e\x4b\x6a\xfb\x02\x36\x1a\xfb\x03" -+"\xd8\x3f\xf7\x04\xeb\xd7\xb2\xd8\xc3\x1e\xb9\xca\xac\xf7\x01\xe2\x1a\xc0\x77\xbe\x68\xad\x1e\xac\x69\x5e\x45\x1d\x0e\x4a\x0a\xf7" -+"\x33\xf7\x95\x46\x0a\x77\x1b\x81\x6f\x92\x93\x72\xcd\x1d\x84\x7c\x7e\x66\x08\xc0\x06\xa8\xa0\x91\x8f\xa2\x1b\x91\x95\x89\x87\x96" -+"\x1f\x75\xcb\x9c\x87\xa1\x1b\xb8\xb6\xb6\xcb\x9f\x1f\x0e\xfb\x42\xf8\x37\xf8\xe4\x81\x0a\xf7\x52\xfb\x6a\x15\x90\xa0\x8c\x94\x98" -+"\x1a\xd1\x49\xbb\x29\x3c\x1d\x3b\xd0\x5b\xf7\x09\xf7\x29\xec\xd8\xf7\x0b\x5a\x0a\xa4\x9d\x9c\x44\x0a\x1f\x85\x07\x86\x07\x8a\x80" -+"\x05\x0e\xf8\x63\xf9\x78\x2c\x1d\x2f\xfd\x78\x3b\x0a\xf8\x10\x54\x0a\x94\xfd\x79\x3b\x0a\xf8\x1e\xf9\x5f\x30\x1d\x5a\xfc\xf8\x3b" -+"\x0a\xf8\x0c\xf9\x78\x15\x21\x74\x1d\xae\xfc\xe4\x3b\x0a\xfb\x42\x74\x0a\xfb\x30\xf7\x6c\x23\x1d\xfb\x42\x74\x0a\xfb\x6e\xf7\x53" -+"\x30\x1d\x0e\xfb\x42\x46\x1d\xfb\x0c\xf7\x23\x15\xf7\x15\xf7\x28\x05\x4a\x06\x24\x59\x0a\xfb\xc9\xf7\x45\xf8\xec\x15\x48\xfb\xd0" -+"\x05\xc8\x06\xb0\xf7\x42\x05\xc8\x98\xb3\xb1\xc0\x1b\xa8\xa0\x79\x72\x87\x8a\x82\x89\x83\x1f\x5f\xfb\x65\x05\xc8\x06\xba\xf7\x75" -+"\x05\x8d\x93\x8c\x93\x92\x1a\xb9\x68\xaa\x56\x60\x64\x7e\x71\x6c\x1e\x91\xa9\x05\x0e\x48\x0a\x0e\xf3\x48\x0a\xf7\x4b\xce\x8e\x0a" -+"\xf3\x48\x0a\xf7\x79\xf7\xa4\xdb\x1d\xf7\x34\xf9\x79\xf9\x59\x35\x0a\xfc\x9e\xfb\x15\x15\x4c\xfb\xbc\x05\xc9\x06\xe6\xf8\x3d\x05" -+"\x60\x06\x6a\x48\x7d\x82\x32\x84\x81\x5d\x18\xf8\xe5\xfb\xf8\x15\xc5\x82\x0a\x79\xa6\x67\x9e\x1e\x67\x9b\x1d\x0e\xf7\x34\xf9\x96" -+"\x34\x0a\x55\x87\x1d\xfc\x4f\xf7\xa7\x67\x0a\x0e\xf7\x34\xf9\x96\x34\x0a\x55\xfc\x79\x15\xc4\x82\x0a\x7a\xa6\x67\x9e\x1e\x66\x9b" -+"\x1d\xfb\x87\x21\x0a\xfb\x6f\x06\x39\xfb\x7b\x05\xbc\x06\xa8\xaa\xa1\x95\xad\x1b\xba\xa6\x71\x5d\x41\x59\x55\x47\x5e\x73\xa3\xba" -+"\x89\x1f\x56\x80\x06\x46\xb4\x65\xd6\xee\xde\xe1\xf2\xcc\x60\xb3\x47\x6d\x71\x83\x7a\x6f\x1e\xb5\xf7\x0a\x05\xf7\x45\x06\x0e\xf7" -+"\x34\xf9\x57\x34\x0a\x8a\x87\x1d\xfb\x58\x21\x0a\xfb\xb0\x06\x7f\x57\x05\xf7\x7a\x06\xfb\x19\xfb\x26\x51\x35\x4c\xfb\x21\x08\xc4" -+"\x06\xc0\xf7\x1d\xd8\xf7\x08\xf7\x10\xf7\x14\x08\x0e\xf7\xda\x6d\x0a\xf7\x68\xf7\xb8\x23\x1d\x84\x28\x1d\x2f\xf7\xbe\x59\x1d\x84" -+"\x28\x1d\x0e\x84\x28\x1d\xfb\x9d\xee\x15\x78\x97\x0a\x9e\xe6\x05\x0e\x84\x28\x1d\xf7\x51\xf7\x9d\x15\xfb\xa6\x06\x7b\x46\x05\xf7" -+"\xa6\x06\x0e\x84\xf8\xa0\xf7\x6f\x15\xa6\xfb\x6f\x05\xaa\x06\x66\x7e\x7b\x83\x77\x7d\x08\x68\x73\x75\x66\x69\x1a\x5d\xbd\x6e\xdb" -+"\xa2\x92\x8c\x94\xb5\x1e\x94\xb8\x05\x84\x76\x75\x88\x72\x1b\x62\x70\x9c\xa6\xb6\xb0\xad\xe4\xb2\x1f\xd9\x1d\xee\x06\xf7\x02\xf7" -+"\x6f\x05\xf7\xb4\xe7\x1d\x0e\x84\x28\x1d\xc8\x9d\x1d\x6a\xf7\x35\x15\xfb\x14\xfb\x28\x05\xc7\x45\x0a\x84\x84\x1d\xbb\x3a\x0a\x56" -+"\xf8\x48\x23\x1d\xbb\x3a\x0a\x3d\xf7\xb4\x15\xf7\x14\xf7\x28\x05\x4b\x06\x23\x59\x0a\xbb\x3a\x0a\xfb\x35\xf8\x49\x24\x1d\xbb\xf9" -+"\x95\xf8\x8b\x15\x99\x07\xf7\x25\x39\xda\xfb\x2a\xfb\x12\x25\x5c\x30\x43\x1e\x3f\x2c\x5b\xfb\x1b\xfb\x0a\x1a\x3e\x9d\x4f\xb3\x56" -+"\x1e\x4e\xba\xc8\x70\xe8\x1b\xf7\x4d\xf7\x04\xe4\xf7\x5c\xcb\x1f\x2c\x06\x77\x59\x7b\x6a\x75\x6e\x08\x4e\x5d\x47\x69\x3e\x1b\x5c" -+"\x5e\x99\xa5\x6b\x1f\x64\xaa\x77\xbf\xd1\x1a\xed\xa9\xf1\xbe\xd6\x1e\xe3\xc7\xd6\xb7\xe5\x1b\xb8\xb8\x80\x79\xa5\x1f\xaa\x77\x9a" -+"\x66\x57\x1a\x89\x8b\x82\x8a\x84\x1e\x5f\xf8\x30\x15\x23\x06\x74\x23\x05\xf3\x06\x0e\x84\x75\x0a\xbb\x72\x0a\xf7\x38\xf9\x59\x2a" -+"\x1d\xbb\x86\x1d\x4d\x8f\x16\xf8\xf0\x06\xfb\x97\xf9\x0a\x05\x33\x06\xb7\x25\x15\xf7\x4b\xfc\x5b\x05\xfc\x01\x06\x0e\x84\x27\x0a" -+"\xf7\x4b\xf9\xe2\x4e\x0a\x84\x27\x0a\xf7\xf6\xf9\x59\x2a\x1d\x84\x27\x0a\xf8\x14\xf9\xd4\x23\x0a\x84\x27\x0a\xf8\x65\xf9\xc1\x36" -+"\x1d\xbc\xf7\x01\x16\xe9\x06\xf1\xf8\x76\x05\xf7\x0d\xa5\xd0\xc4\xf7\x0d\x1b\xdd\xc0\x6c\x5a\x84\x89\x7e\x87\x79\x1f\xfb\x15\xfc" -+"\xf6\x5c\x0a\x85\x8b\x8d\x7e\x1f\x7a\x3c\x05\x88\x92\x8e\x8b\x94\x1b\xf7\x12\xb5\xa4\xdf\x9d\x1f\xf7\x26\xf9\x43\x05\x8e\x98\x8c" -+"\x98\x97\x1a\xdf\x50\xb4\xfb\x0f\xfb\x08\x4a\x75\x51\x51\x1e\x99\xcc\x05\x35\x06\x0e\x84\xf7\x93\xf7\xe0\xab\x1d\xf8\x58\x06\x66" -+"\x7d\x7b\x84\x77\x7d\x08\x68\x73\x75\x66\x69\x1a\x5d\xbd\x6e\xdb\xa2\x92\x8c\x94\xb5\x1e\x94\xb8\x05\x84\x76\x75\x88\x72\x1b\x61" -+"\x71\x9c\xa6\xa1\x97\xa0\xa1\xa0\x1f\x9d\x9a\x97\x92\xc9\xa9\x9c\xdd\x18\xfc\x41\x06\x0e\x84\x27\x0a\x0e\xf7\x07\xf7\xde\xf7\xe0" -+"\xa2\x1d\xfc\x40\x06\x2e\xf9\x1b\x2b\x1d\xbb\x7a\x0a\xf7\x40\xf9\x4d\x7f\x0a\xfb\x26\xf8\x21\x2b\x1d\xba\xf7\xcd\x15\x68\x50\x05" -+"\xdf\x06\x8a\x80\x8b\x7c\x88\x1a\xfb\x37\xcf\x37\xf7\x17\xc9\xc6\x9a\xaa\xc4\x1e\x9f\xe8\x05\x5b\x2f\x65\x7e\x5a\x1b\x37\x60\xc9" -+"\xf7\x0e\x1f\x99\xf7\x6b\x07\xaf\xc6\x05\xfb\x8a\x06\x8e\xa0\x91\xa6\x91\x9d\x08\xf7\xa2\x06\xaf\xc6\x05\xfb\xb1\x06\xf7\x1e\xc7" -+"\xc9\xc4\xe2\x1b\xbf\xb0\x79\x56\xc9\x1f\xbc\xdb\x05\xba\x53\x56\x9f\x46\x1b\x35\x42\x6a\x47\x4f\x1f\x5f\x5a\x6a\x53\x72\x4a\x08" -+"\x4c\x06\x68\x50\x05\xda\x06\x84\x74\x85\x72\x88\x79\x08\x0e\x23\xd4\x16\xe9\x2e\x1d\xf8\x26\x2f\x0a\xfc\x85\x06\x0e\xf3\x64\x0a" -+"\xfb\x9f\xfa\x38\x3c\x0a\xf3\x81\x1d\xfb\x45\xfa\x44\x24\x1d\xf3\x64\x0a\xfc\x0e\x53\xe5\x1d\x65\x1b\x82\xd7\x1d\xf3\xf9\xab\xf8" -+"\x15\x15\xfb\xc4\x26\x0a\xf7\x71\x06\x87\x77\x7f\x51\x68\x54\x57\x5f\x19\x5d\x55\x52\x76\x46\x1b\x42\x49\xa7\xb6\x6c\x1f\x75\xac" -+"\x7f\xbb\xc6\x1a\xec\xac\xea\xc5\xd4\x1e\xdd\xcc\xdd\xb5\xe7\x1b\xdb\xc7\x6e\x57\xa4\x1f\x95\x76\x8e\x7d\x68\x1a\xea\x06\xc5\x81" -+"\xb1\x71\xb0\x1e\xce\x5e\x42\xac\x25\x1b\xfb\x0a\x28\x64\x3e\x40\x1f\x30\x30\x51\xfb\x22\xfb\x17\x1a\xfb\x40\xf4\xfb\x04\xf7\x35" -+"\xf2\xf7\x04\xbb\xcf\xc3\x1e\x8e\x2a\x05\xc5\x06\x43\xfa\x2b\xbf\x0a\xbb\xf7\x52\xf8\x8a\x15\x20\xfc\x8a\x05\xe9\x06\xd2\xf7\xe0" -+"\x05\xf8\x0a\x06\x44\xfb\xe0\x05\xe8\x06\xf6\xf8\x8a\x05\xd6\x06\x99\xd1\x05\x40\xb4\x0a\xfc\x0b\xb4\x0a\x41\x06\x7c\x45\x05\xf7" -+"\x3c\x16\xf8\x0b\x06\x78\x33\x05\xfc\x0b\x06\x0e\xbb\x7c\x0a\xf7\x91\xf8\xf4\x24\x1d\xc6\xf7\xb6\xf9\x6d\x15\x2d\x22\x0a\xf8\xae" -+"\xb3\x1d\x95\x8c\x97\x8e\x97\x1f\x99\xcd\x05\x2d\x06\x7d\x4b\x05\x87\x79\x89\x7a\x7e\x1a\x60\x9f\x61\xae\x6f\x1e\x75\xa7\xad\xc6" -+"\x1d\x0e\xfc\x20\x29\x1d\x85\xfa\x34\x59\x1d\xfc\x20\x29\x1d\xf7\x57\xfa\x26\x23\x0a\xfc\x20\x29\x1d\xf7\x9c\xfa\x13\x15\xfb\x8b" -+"\x06\x7b\x46\x05\xf7\x8c\x06\x0e\xfc\x20\xf7\xf1\xa0\x0a\xae\x06\x74\x7e\x82\x84\x79\x7c\x08\x61\x67\x7c\x73\x69\x1a\x5e\xbb\x6c" -+"\xce\xa0\x97\x8d\x93\xa3\x1e\x94\xb8\x05\x83\x70\x87\x8a\x7c\x1b\x66\x74\x9c\xa6\xa9\xa4\xad\xbd\xb2\x1f\x91\x8f\x91\x90\x8f\x8e" -+"\x08\x0e\xfc\x20\x29\x1d\x0e\xfc\x20\x29\x1d\xf7\x02\xfa\x26\x65\x1d\xfb\xb1\xf8\x31\x36\x0a\x40\xf9\x6d\x2b\x1d\xfc\x20\x29\x1d" -+"\xf7\x88\xfa\x2a\x98\x0a\x71\x6e\x7c\x76\x7a\x1f\x7f\x7c\x83\x7a\x7f\x68\x08\xc0\x06\xa8\xa0\x92\x8f\xa1\x1b\x91\x42\x1d\xcb\x9d" -+"\x87\xa0\x1b\xb8\xb5\x31\x1d\xfb\x42\x6c\x0a\x4e\xf7\x67\x24\x1d\x84\x78\x0a\x84\x79\x0a\xf7\x05\x4f\xb0\x1d\x3e\x1d\xf7\x45\xf9" -+"\xed\x23\x1d\x84\xf8\xbb\xf9\x6d\x15\xfb\x0c\x06\xfc\x33\xfd\x6d\x05\xef\x06\xf7\xfa\xf9\x09\xdc\xfd\x09\x05\xec\x06\x0e\x3e\x1d" -+"\xf7\x82\xf9\x1b\x42\x0a\xba\xbc\xdd\x50\x1d\x3e\x1d\xc1\xfb\x22\x5e\x1d\x3e\x1d\xf7\xf8\xf7\xfd\x23\x0a\xf7\x33\x97\x1d\xbb\x2b" -+"\x0a\x57\x55\x0a\xbb\x2b\x0a\x3f\xf9\xab\x2a\x1d\xbb\x2b\x0a\xfc\x00\x4f\x42\x0a\xba\xbb\xde\x50\x1d\xbb\x2b\x0a\x0e\xf3\x30\x0a" -+"\x5d\xf7\xa0\x4e\x0a\xf3\x30\x0a\xa9\xf7\xab\x40\x0a\xf3\x30\x0a\xf7\x4f\xf7\x7f\x36\x1d\xf0\xb2\x16\xf7\xb4\x20\x1d\x2f\xca\x6a" -+"\xc5\xf0\x1a\xf7\x5d\xf7\x17\xf7\x2f\xf7\x3f\xf7\x0b\xdb\x3c\xfb\x0b\x37\x6b\x31\x52\x41\x1e\x61\x55\x61\x6a\x35\x5e\x7a\x39\x18" -+"\xf7\xb4\x20\x1d\xfb\x50\x06\xf7\x33\xce\xe8\xf7\x1c\xf7\x38\x1a\xf7\x45\xfb\x07\xf7\x08\xfb\x44\xfb\x05\xfb\x01\x58\x35\x43\x1e" -+"\x4c\x41\x64\xfb\x02\x26\x1a\x4c\x9f\x4b\xaf\x5b\x1e\x9d\x72\x9a\x7d\xad\x73\x08\xfb\x55\x06\xdd\xf9\x1b\xcf\x1d\xf3\x30\x0a\x0e" -+"\xf7\x0c\xf8\xb4\x61\x1d\x6f\xd7\x5f\x28\x0a\xfc\x1b\xd0\x15\x78\x30\x8e\x23\x05\xaa\x06\xbb\xf3\x9e\xe6\x05\x0e\xf3\x65\x0a\xf7" -+"\xe1\xf9\xc4\x23\x1d\xf7\x37\xf8\x06\x7f\x15\xe9\x06\x9e\xe5\xef\x90\xcd\x9f\xcd\xba\x19\xe4\xca\xc2\xf2\xf3\x1a\xd6\x64\xd2\x4d" -+"\xb2\x1e\x5e\xa7\x66\x97\x44\x91\x9e\xe5\x18\x2d\x06\x78\x31\x2b\x86\x4b\x78\x4b\x61\x19\x2b\x4d\x4f\x21\x20\x1a\x3e\xb5\x42\xcd" -+"\x64\x1e\xb8\x71\xaf\x80\xd0\x85\x08\x9c\xd9\x15\x56\x90\x72\x93\x6c\x9e\x08\x61\xa5\x73\xb8\xc0\x1a\xd4\xb0\xd7\xc6\xba\x1e\xba" -+"\xb2\xbc\x9e\xd3\x92\x08\xe8\x16\xc1\x89\xa5\x84\xa9\x78\x08\xb6\x71\xa4\x5c\x56\x1a\x42\x68\x40\x53\x5c\x1e\x59\x61\x58\x77\x41" -+"\x85\x08\x0e\xbe\x84\x0a\xf7\x31\xf8\x08\x16\xe7\x06\xa8\xf7\x1e\xe1\x8d\xd5\x9f\xc6\xaf\x19\xe7\xc6\xaf\xce\xb2\xf7\x52\xb9\xf7" -+"\x6d\x18\x2d\x06\x5d\xfb\x6d\x6d\xfb\x23\x77\x5d\x58\x60\x19\x5c\x66\x50\x77\x48\x88\xf7\x00\xf8\x91\x18\x2f\x06\xfb\x01\xfc\x91" -+"\x05\xfb\x0a\x91\x53\xb5\xde\x1a\xae\x90\xae\x9f\xe6\x1e\xb9\xf7\x6d\x05\x2d\x06\x5d\xfb\x6d\x05\x7a\x3b\x83\x56\x64\x1a\xfb\x0c" -+"\xe9\x3f\xf7\x31\x85\x1e\x0e\xbb\x55\x1d\xd6\xf8\xb3\x23\x1d\xbb\x55\x1d\xc1\xf8\x1f\x15\xf7\x14\xf7\x28\x05\x4b\x06\x23\x59\x0a" -+"\xbb\x55\x1d\xfb\x54\xfc\x5c\x42\x0a\xbb\xbb\xde\x9d\x1f\x9e\xe8\x05\x0e\x84\x71\x0a\x84\x7d\x1d\x57\xf8\x3c\x23\x1d\x84\xf7\xe6" -+"\x75\x15\xdf\xce\x9d\xaf\xc3\x1f\xd2\xb9\xc0\xe2\xd3\x1a\xa6\x83\xa5\x7b\xa4\x1e\x75\xae\x6e\x9f\x5c\x98\xfb\x40\xbc\x18\x3e\xa1" -+"\x73\x9f\xb7\x1a\xaf\x99\xa9\xa9\xa6\x1e\xac\xb0\xbb\x9b\xce\x1b\xc3\xb5\x80\x77\xa1\x1f\x9e\x7a\x98\x6b\x6e\x1a\x82\x8a\x83\x88" -+"\x78\x1e\xe3\x06\x91\xa7\x8d\x97\x9b\x1a\xb6\x76\xb9\x5a\x1d\x78\x65\x6f\x71\x1e\x65\x62\x50\x79\x3b\x1b\xfb\x05\x57\xb5\xe6\x68" -+"\x1d\x4b\xa8\x53\xbe\x69\x1e\xa9\x78\xa7\x82\xd0\x82\x66\x45\x5d\x1d\xbf\xa6\x5d\x0a\x88\x8b\x89\x7e\x1f\x0e\x84\x61\x0a\xfb\x25" -+"\xf8\x3d\x24\x1d\x84\x7d\x1d\xfb\xea\xfc\xd3\x15\x76\x29\x05\xc1\x06\x50\x81\x73\x6e\x64\x1b\x83\x65\x05\xca\xba\xbc\xdd\x50\x1d" -+"\x41\xa8\x16\xf8\xb5\x2f\x0a\xfc\x3e\x06\xf7\xd1\xf7\xb3\xfb\x5b\xf7\xaa\x05\xf8\x2f\x20\x1d\xfc\xa2\x06\x79\x36\xf7\x56\xfb\xa7" -+"\xfb\xd0\xfb\xb3\x05\x0e\x4c\x48\x1d\x0e\x4c\xf8\x5b\xf8\x6a\x15\xb1\xf7\x45\x05\xf7\x82\x20\x1d\xfc\xd1\x26\x0a\xf7\x85\x06\x65" -+"\xfb\x45\x05\xfb\x34\x06\x7d\x48\x05\xf7\x34\x06\x35\xfc\x27\x05\xe9\x06\xe1\xf8\x27\x05\xf7\x34\x06\x99\xce\x05\x0e\x4c\x48\x1d" -+"\xf7\x3d\xf9\xab\x2a\x1d\x4c\xf7\xeb\x16\x97\x2e\x1d\xf7\x82\x20\x1d\xfc\xd0\x06\x79\x39\x05\xf7\x85\x38\x0a\xb4\x06\x59\x2f\x8a" -+"\x1d\xb8\xcb\x57\x0a\x0e\xf3\xf9\x02\xf8\x35\x15\xfb\xb2\x06\x79\x39\x05\xf7\xb3\x06\x53\xf8\x2a\x15\xfb\x29\xfb\x16\x41\xfb\x15" -+"\x3a\x1f\x56\x36\x6d\x20\x27\x1a\xfb\x36\xf7\x02\x20\xf7\x3a\xf7\x23\xf7\x14\xce\xf7\x09\xdb\x1e\xc5\xe1\xad\xf7\x02\xf3\x1a\xf7" -+"\x46\x26\xf1\xfb\x43\x1e\x77\x3a\x15\xd6\xc3\x71\x59\xac\x1f\xa2\x69\x98\x5d\x59\x1a\x35\x73\x34\x5f\x42\x1e\x2b\x51\x2d\x55\xfb" -+"\x02\x1b\xfb\x0c\x3e\xda\xf7\x0e\xdd\xa3\xe5\xb5\xd3\x1f\xef\xc4\xea\xc4\xf7\x01\x1b\x0e\xbb\x57\x1d\xfc\x30\xf7\x5b\x40\x1d\xd7" -+"\xbb\xbe\x9e\xa9\xac\xae\x1d\xbb\x4b\x0a\xfb\xac\xf7\x66\x40\x0a\xbb\x4b\x0a\xfb\x00\xf7\x3a\x15\xfb\xa6\x06\x7c\x46\x05\xf7\xa6" -+"\x06\x0e\xbb\xf8\xcc\xfb\x2a\x15\x84\x78\x73\x88\x6f\x1b\x63\x71\x9d\xa5\xab\xab\xb6\xbe\xae\x1f\xf7\x02\xd2\xb7\xc3\xa2\xeb\xf7" -+"\x01\xf8\x94\x18\x2d\x06\xfb\x01\xfc\x94\x05\x28\x76\x3a\x4f\xfb\x06\x1b\x2a\x4b\xb9\xd0\x99\x3f\x1d\x84\x69\x84\x5d\x7b\x1a\x62" -+"\xa2\x59\xab\x6e\x1e\x65\xb5\xcb\x77\xdc\x1b\xaa\x9d\x8d\x93\xb1\x1f\x4a\x69\x6b\x66\x60\x1a\x59\xba\x6f\xdf\xab\x9d\x8d\x93\xa1" -+"\x1e\x0e\x84\x2f\x1d\x0e\x84\x2f\x1d\xf7\x04\xfa\x26\x65\x1d\xf7\x53\xf8\xdc\xf7\xb2\x85\x0a\xfb\xdf\xf9\x6d\x2b\x1d\xbb\x4b\x0a" -+"\xfb\x7d\xf7\x74\xaf\x1d\x70\x71\x70\x76\x7d\x99\x9f\xa6\xa5\xa5\xa8\x1f\x0e\xbb\x57\x1d\xfb\x2d\xf7\x51\x15\x6e\x7a\x81\x83\x77" -+"\x1b\x80\x70\x91\x94\x72\x50\x0a\xb7\xb6\x31\x1d\xf7\xa2\x32\x0a\xd6\xfa\x3f\x23\x1d\xf7\xa2\x32\x0a\x6c\x64\x1d\xf7\xa2\x32\x0a" -+"\x80\xfa\x26\x2c\x0a\xf7\xa2\x32\x0a\x75\xfa\x38\x70\x1d\x0e\x71\xc9\x16\xf8\x9f\x20\x1d\xfc\x9f\x06\xdf\xf7\x8e\x15\xf8\x60\x20" -+"\x1d\xfc\x5f\x06\x9f\xf7\x7d\x15\xf8\x9c\x20\x1d\xfc\x9c\x06\x0e\x84\x2f\x1d\xe4\x64\x1d\x84\x2f\x1d\xea\xfa\x3f\x2e\x0a\x4c\x33" -+"\x0a\xfb\x3b\xf7\xba\x23\x1d\x4c\x33\x0a\xfb\x31\xf7\xa1\x23\x0a\x4c\x33\x0a\x0e\x7c\x1d\xfb\x3d\xf8\x6b\x15\x87\x79\x8a\x83\x81" -+"\x1a\x50\xbf\x63\xd6\xbc\xbe\x9e\xa9\xab\x1e\xa3\xa0\x96\xa0\x97\x47\x0a\x80\x63\x74\x4f\x1b\x53\x70\xa0\xb5\x8d\x1f\x0e\xf7\x6b" -+"\x7b\x1d\xfb\x71\xf8\x46\x23\x1d\xf7\xda\xca\x1d\x84\xf8\xa1\xf7\x6f\x15\xa7\xfb\x6f\x05\xee\x06\x26\xf9\x6d\x05\xfb\x0c\x06\xfc" -+"\x33\xfd\x6d\x05\xf3\x06\xf7\x0f\xf7\x6f\x05\xf7\xa4\xd9\x15\xfb\x7b\x06\xf7\x52\xf7\xe0\x05\x0e\x74\xf7\x95\xf8\x38\x15\xbc\xf7" -+"\x77\x05\xf8\x13\x2f\x0a\xfc\x72\x26\x1d\xf7\xd3\x6e\x1d\xfb\x80\x39\x15\xf7\x66\x4f\x1d\xfb\x67\x06\x0e\x84\xdc\x16\xf7\xdd\x06" -+"\xd9\xcc\xa3\xbb\xbb\x1f\xb8\xb8\xa7\xcd\xc9\x1a\xcb\x69\xba\x49\xa8\x1e\xb2\x9a\xa0\x98\xa3\xa7\x08\xad\xb1\x9e\xbd\xbc\x1a\xe8" -+"\x46\xc5\xfb\x02\x1e\xfb\xbc\x06\xa6\xfb\xcf\x15\xbd\xf7\x7d\x05\xf7\x47\x06\xe8\xab\x76\x4e\x61\x7a\x64\x6b\x6e\x1f\x6d\x6b\x6a" -+"\x80\x4e\x1b\xfb\x8e\xfb\xe0\x15\xc1\xf7\x8e\x05\xf7\x75\x06\xd5\xad\x6e\x4d\x33\x43\x44\x32\x1f\x0e\xfb\x16\xf7\x83\xf9\x6d\x15" -+"\xfb\x2f\xfd\x6d\x05\xe8\x06\xf7\x1e\xf9\x1b\x05\xf7\xfd\x20\x1d\x0e\xa9\xf8\xda\x16\x68\xa9\x1d\xfc\x42\x06\x3f\xfb\xfd\x6b\xfb" -+"\x3c\x32\x20\xfb\x09\x80\x19\x56\xfb\x8c\x05\xe9\x06\xae\xf7\x3a\x05\xf8\x48\xdd\x15\xfb\xf7\x06\xde\xb8\xcb\xf4\xa7\xf7\x1f\xc6" -+"\xf7\xa8\x18\xf7\x85\x06\x0e\x84\x9c\x1d\x0e\x84\x9c\x1d\xf7\xd1\xf9\xd4\x2c\x0a\xf7\x87\xf8\x2f\x5e\x0a\xf4\x06\xf7\x2c\xfb\xed" -+"\x05\xec\x06\xfb\x3d\xf8\x14\xf7\xa9\xb8\x0a\x2f\xb3\x0a\x4b\xfb\xc2\x05\x25\x06\xfb\x08\xf7\xc2\x05\x27\xe2\x1d\xf7\x02\x06\xf7" -+"\xbd\xf7\xed\x05\xe7\x06\x0e\x4f\xf7\x00\xf7\x74\x15\x86\x71\x89\x7d\x76\x1a\xfb\x06\xde\x43\xf7\x19\xe0\xd1\xa7\xc2\xbf\x1e\xba" -+"\xbc\xa7\xd0\xcc\x1a\xd3\x8d\x1d\x5e\x77\x5b\xbd\x1d\x0e\xb4\x5b\x1d\x0e\xb4\xd6\x16\xe9\x06\x9d\xde\xf8\x67\xf8\x42\xfb\x01\xfc" -+"\x95\x05\xe9\xb8\x1d\xf7\x3f\xf7\x5b\x87\x0a\x63\x74\x4e\x56\x0a\x36\xcd\x16\x9e\x1d\x2d\x06\x0e\x97\xf8\xa6\x16\xe9\x25\x0a\xfc" -+"\x7b\x83\x0a\xf7\xc0\x06\x0e\xf7\x33\xf8\x66\x16\xf7\xe3\xf8\xf7\xfb\x16\xfc\xf7\x05\xe3\x25\x0a\xfb\x15\x06\xfb\xef\xfd\x0f\x3a" -+"\xf9\x0f\x05\xfb\x15\x26\x1d\xe3\x06\xf7\x16\xf8\xf7\xd8\xfc\xf7\x05\x0e\xbb\xf8\xff\xf7\xe0\x15\x44\xfb\xe0\x05\xe8\x25\x0a\x2e" -+"\x06\x48\xfb\xcf\x05\xfc\x0b\x06\xce\xf7\xcf\x05\x2e\x22\x0a\xd2\xf7\xe0\x05\x0e\xf3\x95\x0a\xfb\x47\xae\x0a\xe0\xe4\xc0\xaf\x0a" -+"\x1e\x81\x39\x15\xf7\x11\xd6\x3b\xfb\x1a\x30\x6c\x2c\x55\x41\x1f\x3a\x4f\x33\x5e\x2a\x1b\xfb\x0e\x40\xdc\xf7\x19\xe6\xaa\xeb\xc1" -+"\xd4\x1f\xdb\xc6\xe4\xb9\xe9\x1b\x0e\xbe\x84\x0a\x84\xf7\x90\xf7\xc9\x15\xf7\x77\x06\xf7\x24\xf7\x01\xf7\x02\xf7\x24\xf4\x47\xc8" -+"\xfb\x08\x1f\xfb\xc1\x22\x0a\xde\xf8\x1b\x15\xc2\xf7\x94\x05\xf7\x55\x06\xd8\xb4\x69\x4c\x67\x7d\x66\x74\x6e\x1f\x64\x6a\x60\x79" -+"\x4f\x1b\x0e\xbb\xf9\x17\xf7\x95\x15\xfb\x0a\x6f\x27\x3b\xfb\x0b\x1b\xfb\x0e\x4b\xd1\xf7\x19\xf5\xaf\xf4\xc9\xd7\x1f\xd1\xc4\xdc" -+"\xb3\xe1\x1b\xe8\xc9\x5c\x43\x7f\x8a\x81\x87\x75\x1f\xe9\x06\x8f\x9d\x8c\x94\x9a\x1a\xf7\x0c\x27\xde\xfb\x23\xfb\x06\x24\x5d\x36" -+"\x40\x1e\x3a\x31\x5a\xfb\x17\xfb\x12\x1a\xfb\x48\xee\x21\xf7\x3b\xf7\x47\xf7\x26\xf7\x07\xf7\x39\xab\x1e\x0e\x4c\xf8\x7e\xf9\x1b" -+"\x15\xf7\x83\x20\x1d\xfc\xd0\x26\x0a\xf7\x84\x38\x0a\xe8\x06\x0e\x68\x99\x1d\x0e\xf7\x0d\xf7\xf0\x81\x15\xe9\x06\x9e\xe6\xe6\x8d" -+"\xd0\xa0\xcd\xb9\x19\xe3\xc8\xbf\xf2\xf7\x03\x1a\xf7\x19\x35\xda\xfb\x33\x96\x1e\x9e\xe6\x05\x2d\x06\x78\x30\x36\x88\x4b\x78\x4d" -+"\x63\x19\x2c\x4d\x50\x22\xfb\x00\x1a\xfb\x1a\xe7\x34\xf7\x2c\x82\x1e\x9c\xdc\x15\xfb\x02\x93\x4c\xc1\xe4\x1a\xd3\xae\xd6\xc2\xb7" -+"\x1e\xbb\xb2\xbe\x9e\xd2\x90\x08\xe9\x16\xbd\x88\xa3\x85\xaa\x79\x08\xb6\x73\xa5\x5c\x57\x1a\xfb\x1e\xfb\x00\x21\xfb\x2d\x80\x1e" -+"\x0e\x84\xbe\x0a\xfb\x08\x06\xfb\x8d\xfb\xb2\xfb\x12\xf7\xb2\x05\xfb\x00\x06\xf7\x3b\xfb\xf7\xfb\xe6\xfc\x0a\x05\xf7\x0a\xba\x0a" -+"\xf7\x02\x06\x0e\xc0\xd7\x16\xf8\x9f\x06\x68\x32\x1d\xc0\xf7\x8c\x05\x53\x06\xf7\x1e\xf9\x1b\xba\x1d\x8a\xf8\x92\x16\xe9\x95\x1d" -+"\xb4\xbc\x81\xda\x1b\xd9\xbc\x92\x9f\xd1\x1f\x0e\xf7\x8a\xcc\x16\xf9\xa6\x25\x0a\x2d\x38\x0a\xfb\x8d\xb2\x1d\xf7\x8d\xc7\x16\xf9" -+"\x84\x06\x68\x32\x1d\xbf\xf7\x8c\x05\x54\x2e\x1d\x2d\x38\x0a\xfb\x92\xb2\x1d\xf7\x17\xf8\x46\xf8\x38\x15\xcc\xf7\xc9\x05\xfc\x04" -+"\x26\x0a\xf7\xa6\x06\xfb\x1d\xfd\x1b\x05\xf7\xbb\x6e\x1d\xfb\x69\x39\x15\xf7\x4f\x4f\x1d\xfb\x4f\x06\x0e\xf7\x68\xf7\xa0\x94\x1d" -+"\xf8\x92\x39\x15\xe9\x25\x0a\x2d\x06\x0e\x74\xf7\x96\x94\x1d\x0e\x9f\xf8\x02\xf8\x2a\x15\x79\x38\x05\xf7\xb0\x06\xfb\x3a\x5d\x21" -+"\x29\xfb\x1a\x1b\x49\x4f\xa6\xb8\x69\x1f\x71\xac\x81\xab\x86\xc8\x2f\x7b\x18\x95\x3e\x98\x65\xa9\x60\x08\x47\xbb\xdf\x65\xee\x1b" -+"\xf6\xec\xb5\xd8\xd1\x1f\xdd\xe4\xbd\xf7\x1c\xf7\x17\x1a\xe0\x73\xd5\x5f\xbe\x1e\xc0\x5f\x4b\xa5\x38\x1b\xfb\x2e\xfb\x15\x3c\xfb" -+"\x23\x3a\x1f\xe7\x78\x05\xf2\xcc\xe7\xc3\xf6\x1b\xf7\x01\xcd\x3c\xfb\x17\x83\x8a\x7b\x8a\x78\x1f\x0e\xf7\xf0\xf7\xed\xf7\xe0\x15" -+"\x87\x73\x8a\x79\x76\x1a\xfb\x4b\xf7\x00\xfb\x01\xf7\x48\xf7\x04\xef\xb5\xda\xd8\x1e\xe1\xe4\xbf\xaf\x0a\xfb\x4f\xfb\x30\xfb\x12" -+"\xfb\x5d\x4a\x1e\xfb\x11\x06\xce\xf7\xcf\x05\x2e\x22\x0a\xd2\xf7\xe0\x05\xf8\xb0\xf7\xdb\x15\xf7\x14\xd7\x3b\xfb\x1a\x30\x6b\x2b" -+"\x55\x42\x1f\x3a\x4e\x32\x5e\x28\x1b\xfb\x10\x3e\xdc\xf7\x18\xe7\xab\xea\xc2\xd5\x1f\xdb\xc6\xe5\xb9\xeb\x1b\x0e\x93\xf8\xe0\xf7" -+"\xce\x15\x48\xfb\xce\x05\xe8\x25\x0a\xfb\xe1\x06\x38\x52\x7b\x66\x5e\x1f\x56\x61\x6b\x46\x47\x1a\x4e\xa3\x62\xc5\x68\x1e\x37\x73" -+"\x6c\x61\x71\xfb\x0e\x73\xfb\x04\x7e\x6e\x66\x6c\x08\xf7\x00\x06\xa3\xaa\x9d\xbb\x9a\xd9\xa0\xf7\x07\xb1\xb3\xe6\x8d\x08\xf7\x95" -+"\xdd\x15\xfb\x74\x06\x62\x72\x90\x97\x79\x1f\x74\x99\x7d\xa8\xad\x1a\xb7\x9e\xb9\xaa\xa8\x1e\xa6\xa8\xae\x96\xc7\x1b\xf7\x75\x06" -+"\x0e\xfb\x4a\xf8\xf3\x22\x1d\xfc\x1e\x22\x0a\xf7\x1e\xf9\x1b\x05\xf7\xfc\x06\x9c\xdd\xf7\x48\xf7\x28\x05\xfb\x04\x06\x0e\xf7\x3d" -+"\xf7\x8b\x16\xe9\x06\xc6\xf7\xaa\x93\xb3\x98\xa1\xa9\xa2\x19\xac\xb5\xba\x98\xdc\x1b\xdb\xad\x77\x5c\x85\x8a\x81\x89\x82\x1f\x6a" -+"\xfb\x30\x05\x58\x82\x6d\x6f\x5e\x1b\xfb\x1b\x06\x79\x39\x05\xf7\x27\x06\xf1\x8a\xd0\xc9\x99\xf7\x00\xac\xf7\x2c\x18\x8e\x99\x8c" -+"\x96\x97\x1a\xad\x7b\xac\x6f\xa5\x1e\xa6\x6e\x5a\x98\x44\x1b\x24\x5e\x7b\x4d\x4e\x1f\xbc\xf7\x7e\x05\xf7\x5e\x20\x1d\xfc\x84\x26" -+"\x0a\xf7\x5c\x06\x0e\xfb\x16\xf7\x86\x22\x1d\xfb\x2f\xfd\x6d\x05\xe8\x2e\x1d\xf7\xfd\x20\x1d\xfb\x57\xa2\x0a\xad\xf7\x72\xf8\x2a" -+"\x15\xf7\x37\xbe\xf1\xe5\xf7\x18\x1b\xcd\xc7\x70\x5e\xad\x1f\x9d\x74\x95\x73\x93\x64\xe8\x9c\x18\x7c\xca\x7c\xae\x6d\xae\x08\xc4" -+"\x5b\x3a\xac\x2d\x1b\x22\x2f\x63\x3e\x43\x1f\x36\x30\x58\xfb\x1b\xfb\x17\x1a\x36\xa1\x44\xb7\x57\x1e\x54\xb9\xcc\x70\xe3\x1b\xf3" -+"\xed\xb1\xce\xd3\x1f\xb6\xb4\xa7\xb3\xb0\xd8\x2e\x9c\x18\x72\x54\x77\x6e\x67\x6a\x08\x57\x52\x41\x6e\x42\x1b\xfb\x03\x49\xda\xf7" -+"\x1b\x9c\x8c\x97\x8d\xa0\x1f\xf7\xb2\x06\x9d\xde\x05\x0e\x84\xf9\x58\xf8\x97\x15\x8f\x9f\x8c\x96\x9a\x1a\xf7\x03\x31\xd0\xfb\x25" -+"\x34\x43\x74\x5d\x54\x1e\x56\x60\x6b\x4a\x4d\x1a\x44\xb9\x56\xda\x75\x1e\xf7\x30\x60\x05\xdc\x74\xa9\x71\x5c\x1a\x69\x77\x64\x6a" -+"\x6c\x1e\x67\x64\x53\x79\x43\x1b\x21\x50\xba\xde\x96\x8c\x95\x8f\xa1\x1f\x2d\x06\x87\x73\x8a\x80\x79\x1a\xfb\x15\xe8\x42\xf7\x3a" -+"\xe8\xd5\xa2\xb9\xc4\x1e\xc4\xba\xae\xd2\xd3\x1a\xd5\x61\xba\x30\xa5\x1e\xfb\x33\xb8\x5c\x99\x79\x93\x7c\x9b\x19\x7f\x97\x83\xa0" -+"\x9e\x1a\xb0\xa2\xb4\xb0\xa5\x1e\xa4\xae\xb7\x97\xc0\x1b\xeb\xc3\x64\x47\x80\x8a\x82\x87\x7a\x1f\x0e\xfc\x20\xf7\xe9\x36\x0a\x0e" -+"\xfc\x20\xf7\xe9\x36\x0a\xf7\x0c\xfa\x26\x2c\x0a\xfb\x42\xf8\x7a\x22\x1d\xfb\x01\xfc\x95\x7f\x52\x7d\x6a\x74\x71\x19\x6f\x73\x66" -+"\x7a\x65\x1b\x55\x6a\xa8\xbb\x9a\x8e\xa0\x8f\x9e\x1f\x95\xba\x05\x2d\x06\x81\x5c\x05\x86\x77\x89\x77\x7a\x1a\x30\xd3\x4d\xf3\xf7" -+"\x12\xdf\xd3\xf7\x19\xa8\x1e\xf7\x08\xf8\xb7\x05\x0e\xf8\x1c\xf8\x72\x16\xf7\xd4\xc7\x1d\xfb\x0c\x1e\xfb\x6f\x06\xcc\xf7\xc9\x05" -+"\xfc\x34\x83\x0a\xf7\x79\x06\xa7\xfb\xc9\x15\xf7\x67\x06\xdc\xb3\x6c\x4b\x31\x3e\x44\x28\x1f\xfb\x66\x06\x0e\xf7\xc8\xf8\xab\xf7" -+"\xe6\x15\x43\xfb\xe6\x05\xf7\x92\xc7\x1d\xfb\x0d\x1e\xfb\x2d\x06\xcd\xf7\xc9\x05\x2d\x06\x49\xfb\xc9\x05\xfb\xc2\x06\xcd\xf7\xc9" -+"\x05\x2e\x22\x0a\xd3\xf7\xe6\x05\xf8\x1f\x16\xf7\x24\x4f\x1d\xfb\x24\x06\x0e\xf7\x3e\xf7\x8b\x16\xe9\x06\xc6\xf7\xaa\x05\xe2\x9e" -+"\xd3\xb8\xf7\x0f\x1b\xda\xad\x76\x5c\x87\x89\x80\x89\x81\x1f\x48\xfb\xd1\x05\xe9\x06\xcf\xf7\xd5\x05\x8e\x9a\x8d\x98\x94\x1a\xaf" -+"\x7c\xab\x6e\xa5\x1e\xa5\x6e\x59\x99\x4a\x1b\x27\x5f\x7a\x4d\x4d\x1f\xbd\xf7\x7e\x05\xf7\x3d\x20\x1d\xfc\x61\x26\x0a\xf7\x5a\x06" -+"\x0e\x36\xcd\x5e\x0a\xd9\x06\xf7\x2b\xfb\xed\x05\xee\x06\xfb\x3e\xf8\x14\xf7\xaa\xb8\x0a\x49\xb3\x0a\xf7\xbb\xa2\x0a\x68\x99\x1d" -+"\xf7\x5f\xf9\xe2\x3c\x0a\xf8\xb7\xc0\x15\x86\x7c\x85\x8a\x83\x1b\x7a\x80\x95\x9b\x90\x8c\x94\x8d\x93\x1f\xc9\xf7\xb6\x05\x8e\x9b" -+"\x8d\x9b\x96\x1a\xcf\x46\xb6\xfb\x01\x3e\x4e\x77\x64\x62\x1e\x6c\x6f\x7c\x6e\x7d\x53\x08\xe2\x06\xcd\x9e\xb7\xa8\xdc\x1b\xca\xb2" -+"\x76\x6a\x89\x1f\x84\x89\x83\x89\x81\x1e\x88\x7b\x83\x69\x74\x7e\x46\x82\x19\xfb\x27\x79\x74\x85\x5f\x70\x08\x57\x6b\x6a\x4f\x4c" -+"\x1a\x3c\xc4\x5a\xe7\xcf\xc5\xa2\xbe\xc4\x1e\x8a\x86\x8b\x86\x87\x1a\x66\xaa\x74\xbe\x9c\x97\x8d\x90\xa1\x1e\xfb\x00\xf7\x48\x15" -+"\x85\x71\x80\x7a\x70\x76\x08\x6a\x61\x5b\x7a\x5a\x1b\x54\x6d\xa2\xb5\xa7\x98\xa6\xa1\x9f\x1f\xa1\x9f\xad\x96\xc4\x93\xe7\x98\x9d" -+"\x8f\xa9\x97\x08\x0e\xfb\x03\xf8\x94\xf9\xa4\x15\x82\x63\x80\x60\x6e\x79\x38\x7c\x19\x30\x79\x55\x64\x5a\x37\x08\x56\x30\x5f\xfb" -+"\x33\x23\x1a\xfb\x0c\xd6\x3f\xf7\x0b\xe9\xda\xb3\xd7\xc1\x1e\xb9\xc9\xa8\xee\xe6\x1a\xf7\x06\x3e\xdc\xfb\x01\x52\x54\x75\x63\x61" -+"\x1e\xa2\xca\xba\xb2\xd2\x97\xf7\x1d\x9c\xb8\xb3\xa9\xf7\x1b\x08\xfb\x6c\xfb\xd6\xac\x1d\xcf\xaf\xc6\xb1\xcd\x1b\x0e\xfb\x2c\xc0" -+"\x16\xf7\xbb\x06\xc2\xaf\x97\xa8\xad\x1f\xb1\xac\xa3\xc1\xc0\x1a\xb7\x7a\xa9\x62\xa5\x1e\xc6\xad\xa5\xb2\xc1\x1a\xce\x55\xbc\x41" -+"\x1e\xfb\xa2\x06\x80\xfc\x56\x15\xae\xf7\x3a\x05\xf7\x4e\x06\xb9\xa5\x74\x62\x50\x5d\x60\x4e\x1f\xfb\x1b\xf7\x84\x15\xa8\xf7\x1c" -+"\x05\xf7\x4e\x06\xae\x9e\x79\x6b\x58\x66\x68\x53\x1f\x0e\xfb\x49\xf7\x0f\xc8\x1d\x0e\xfb\x0d\x77\x2a\x15\xe2\x06\x9f\xec\x05\xf7" -+"\xf9\x06\x77\x2a\x05\xe1\x06\xaf\xf7\x3f\x05\x60\x25\x1d\x05\xfb\xe2\x06\x61\xfb\x8a\x2f\xfb\x3b\xfb\x07\x66\x08\xf8\x27\x16\xfb" -+"\xa9\x06\xdc\xc8\xcc\xf7\x0c\xaf\xf7\x34\x93\xae\x18\xf7\x3b\x06\x0e\x89\x1d\x0e\x89\x1d\x2f\xf8\x31\x2c\x0a\x99\xf7\xc2\x16\x29" -+"\x0a\xd6\x06\xea\xfb\x8d\x05\xe8\x06\x21\xf7\xb2\xf7\x42\x71\x1d\x4a\x41\x1d\x61\xfb\x5d\x05\x3f\x06\x4d\xf7\x5d\x05\x2e\x06\xd5" -+"\xfb\x82\xfb\x78\xfb\xb2\x05\xf2\x06\xf7\x5d\xf7\x8d\x05\xcc\x06\x0e\xfb\x65\xdb\xf7\x38\x15\x86\x75\x05\x89\x81\x8a\x82\x7f\x1a" -+"\x39\xc9\x57\xed\xf7\x0f\xea\xe0\xf7\x02\xb9\x77\xab\x60\xa2\x1e\xd1\xab\xab\xb6\xc8\x1a\xd8\x4d\xc0\x32\xfb\x01\x3e\x46\xfb\x0a" -+"\x74\x1e\xe4\x06\xd4\x98\xc9\x1d\x6c\x81\x76\x1b\x68\x2a\x0a\xae\x06\xc1\xab\x71\x5f\x4e\x57\x5c\x47\x57\x6e\xa2\xb4\x98\x8b\x8d" -+"\x8d\x94\x1f\x90\xa1\x05\x0e\x3e\x0a\x0e\x3e\x0a\xe6\xf7\x61\x40\x1d\xd7\xbb\xbf\x9e\xa9\xab\xae\x1d\xfb\x5e\xc1\x16\x29\x0a\xca" -+"\xb7\x1d\x54\x41\x1d\x0e\xfb\x02\xf8\x1b\x16\xdf\x06\x38\x1d\xfb\xee\x8b\x0a\xf7\x47\x06\x0e\x97\xc0\x16\xdf\x25\x1d\xc7\xfc\x56" -+"\x05\xe1\x06\xf7\x8d\xf8\x56\x2b\xfc\x56\x05\x76\x1d\xfb\x14\x06\xfb\x8a\xfc\x4b\x4d\xf8\x4b\x05\xfb\x14\x06\x0e\xfb\x10\xa8\x0a" -+"\xdf\x06\xf7\x03\xf8\xa0\x9f\x0a\x9a\x1d\x84\x3e\xac\x1d\xce\xaf\xc6\xb2\xcd\x1b\x0e\xfb\x10\xd6\x16\xdf\x25\x1d\x05\xf7\x7c\x06" -+"\x34\x1d\x76\x1d\xfc\x25\x06\x0e\x97\xfb\x6e\x15\xdd\x06\xc5\xf7\xa5\x05\x55\xaf\xb9\x73\xd1\x1b\xf7\x3a\xf7\x0e\xf7\x2e\xf7\x65" -+"\xf7\x0d\x44\xd9\xfb\x01\x45\x53\x6f\x4e\x59\x1f\x9b\xd5\x05\x39\x06\xf7\x6d\x4c\x15\xd2\xb8\x57\x39\xfb\x28\x2f\xfb\x10\xfb\x03" -+"\x47\x60\xbe\xdb\xf7\x2a\xe5\xf7\x11\xf7\x00\x1f\x0e\xfb\x42\xf8\xb7\xf7\xf0\x15\x8c\xa6\x8b\x8d\x90\x1a\xeb\x47\xc8\xfb\x00\x37" -+"\x40\x65\x45\x55\x1e\x58\x48\x6b\x2b\x31\x1a\xfb\x11\xd2\x3f\xf7\x0a\xf7\x11\xe3\xd2\xf7\x18\xb0\x1e\x32\x06\x37\x6c\x58\x61\x46" -+"\x1b\x47\x60\xba\xd7\xce\xa2\xdc\xad\xbe\x1f\xc4\xb0\xbc\xa8\xc7\x1b\xc5\xae\x6d\x57\x84\x8a\x7e\x8a\x7f\x1f\x0e\xf7\x33\xf8\x0b" -+"\x16\xdf\x06\xea\xf8\x56\x05\xf7\x73\x2d\x1d\xfc\xa6\x2a\x0a\xf7\x73\x06\x0e\xfb\x42\x91\x1d\x0e\xf7\x35\xf7\xdd\xfb\x6e\x15\xdf" -+"\x06\xb5\xf7\x58\xe4\x8f\xc6\x9d\xc5\xb5\x19\xe2\xca\xc2\xf7\x01\xf7\x03\x1a\xf7\x12\x3a\xd7\xfb\x28\x97\x1e\xa5\xf7\x0f\x21\x1d" -+"\x71\xfb\x0f\x33\x87\x50\x78\x52\x61\x19\x36\x4c\x55\xfb\x01\xfb\x00\x1a\xfb\x14\xd9\x3f\xf7\x26\x7f\x1e\x9b\xd6\x15\x26\x93\x58" -+"\xbc\xe3\x1a\xd6\xac\xd9\xbf\xbc\x1e\xb5\xb2\xb8\x9e\xce\x91\x08\xdf\x16\xf4\x82\xbf\x5a\x33\x1a\x40\x6a\x3d\x55\x5b\x1e\x60\x64" -+"\x5d\x78\x47\x85\x08\x0e\xfb\x42\xf7\xf6\xf7\xa1\x15\xf7\x7c\xf7\x93\x05\x26\x06\xfb\x3d\x89\x0a\xe5\x06\x0e\x25\xe2\x16\xf7\xee" -+"\x06\x69\xfb\x35\x05\xe2\x06\xbc\xf7\x7f\x05\x5d\x25\x1d\xc2\x1d\xfb\x30\xf7\xf8\x16\xdf\x96\x0a\x05\x7d\x5d\x63\x85\x63\x1b\x56" -+"\x6e\x9f\xb0\x94\x8c\x96\x8e\x97\x1f\xb3\xf7\x4f\x21\x1d\x5d\xfb\x69\x05\x89\x80\x8a\x81\x80\x1a\x4b\xc9\x5f\xe6\xba\xb0\x93\xa0" -+"\xb9\x1e\x0e\xf7\x30\xd9\x16\xf9\x35\x06\xf7\x04\xf8\xa0\xa7\x1d\xf7\x45\xdf\x16\xf9\x0c\x06\x69\xfb\x32\x20\x0a\xbd\xf7\x7c\x05" -+"\x60\x25\x1d\xa7\x1d\x56\xf7\x4d\x16\xf7\x7e\xbf\x1d\xfb\x29\x06\xb7\xf7\x66\x05\xfb\xb9\x2a\x0a\xf7\x66\x06\x8f\xfc\x0c\x15\xae" -+"\xf7\x3a\x05\xf7\x27\xda\x1d\xc9\xe4\x7d\x0a\xb9\xa2\x76\x62\x4f\x5f\x5f\x4e\x1f\xf7\x67\x41\x15\x73\x1d\x0e\xfb\x28\xd2\x7d\x0a" -+"\xb8\xa2\x76\x62\x4f\x60\x5f\x4e\x1f\x0e\xfb\x4a\xf7\x45\xf7\xf2\x15\xd1\xae\xc8\xb5\xcc\x1b\xc7\xb2\x5d\x44\x82\x8a\x7d\x8a\x7d" -+"\x1f\xfb\x3a\x2a\x0a\xf7\x3d\x06\xfb\x02\x73\x48\x45\x39\x1b\x45\x61\xbc\xdc\x1f\x98\x07\x33\x76\x05\xfb\x12\xd2\x42\xf7\x0d\xdf" -+"\xd1\xaf\xd1\xbd\x1e\xbd\xd0\xa8\xe9\xe4\x1a\xf7\x14\x48\xd7\xfb\x05\xfb\x00\x2f\x4c\xfb\x00\x57\x1e\x0e\xd9\xf7\x37\x4e\x1d\xbe" -+"\xf7\x83\x05\xe1\x06\x87\x70\x8a\x79\x76\x1a\xfb\x0c\xd7\x3f\xf7\x0c\xe3\xdb\xb3\xd3\xc0\x1e\xba\xc9\xaa\xf0\xe8\x1a\xf7\x0a\x3e" -+"\xd7\xfb\x0b\xfb\x18\x25\x38\xfb\x23\x60\x1e\x34\x06\xb7\xf7\x67\x05\xf7\xcd\x4d\xd3\x1d\x52\xd6\x1d\xce\xaf\xc5\xb2\xcd\x1b\x0e" -+"\xfb\x20\xf8\x0d\x16\x76\x1d\xfb\x8e\x06\x53\x62\x81\x75\x69\x1f\x5e\x6d\x6e\x55\x52\x1a\x5a\xa4\x64\xbe\x6d\x1e\x5a\x80\x6e\x6b" -+"\x7e\x4f\x7f\x53\x18\x81\x5d\x84\x7c\x78\x7e\x08\xe4\x06\x9b\x99\x93\x9b\x94\xb7\x96\xbd\x18\x96\xc3\xb0\xab\xc0\x89\x08\xf7\x19" -+"\x06\x9b\xd5\x15\xfb\x3a\x06\x60\x74\xa1\xb4\xc5\xb7\xb8\xc4\x1f\xf7\x3a\x06\x0e\xfb\xe3\xf8\x32\x21\x0a\xfb\x95\x06\xfb\x03\xfc" -+"\xa0\x05\xdf\x25\x1d\x05\xf7\x7c\x06\x9b\xd5\xf7\x48\xf7\x28\x05\xfb\x04\x06\x0e\xd7\xa7\x0a\x6e\x5e\x80\x8b\x86\x89\x84\x1f\x4a" -+"\xfb\xc7\x7e\x52\x51\x58\x59\x8c\x19\xfb\x15\x06\x7a\x3e\x05\xf7\x16\x06\xf7\x04\x8c\xe1\xd3\xa2\xf7\x03\xcc\xf7\xc7\x18\x8f\x9b" -+"\x8c\x99\x9b\x1a\xd2\x50\xc4\x42\x4a\x54\x6f\x46\x45\x1e\xaa\xf7\x2a\x05\xf7\x02\x2d\x1d\xfb\x02\x06\x9a\xd1\x21\x1d\x7c\x45\x05" -+"\xfb\x01\x2a\x0a\xf7\x01\x06\x0e\xfb\xbc\xd1\xc8\x1d\xf7\x6e\xf7\x6c\x15\xfb\x1b\xfb\x28\x05\xcf\x45\x0a\xfb\x46\xf8\xbf\xf8\x04" -+"\x15\x86\xaf\x85\xa1\x7f\xa2\x08\xc4\x6d\x4d\xac\x3e\x1b\x35\x44\x65\x40\x57\x1f\x5d\x49\x71\x35\x34\x1a\xfb\x1a\xcb\x3f\xf7\x04" -+"\xf7\x0e\xe7\xd0\xf7\x15\xbe\x1e\x35\xa1\x05\x2f\x66\x4f\x58\x42\x1b\x4e\x66\xbd\xde\x9a\x8c\x96\x8d\xa0\x1f\xf7\x3c\x06\x9a\xd5" -+"\x05\xfb\x38\x06\xf0\xab\xc2\xc0\xd4\x1b\xcd\xb6\x61\x45\x90\x1f\x0e\xfb\x42\xf8\xa0\xf8\x0e\x15\x8e\x9a\x8c\x93\x97\x1a\xd9\x4b" -+"\xbb\x25\xfb\x1a\x2b\x3f\x21\x4a\xb0\x68\xe9\x73\x1e\xdb\x77\x05\xbb\x7e\x9e\x79\x6b\x1a\x53\x4e\x63\x35\x43\x6b\xa1\xbb\x96\x8c" -+"\x91\x8d\x9a\x1e\x35\x06\x87\x76\x8a\x80\x7d\x1a\x36\xce\x5b\xf7\x0a\xd8\xc8\x9e\xb2\xb5\x1e\xb3\xae\xa2\xbd\xba\x1a\xc8\x65\xb0" -+"\x3a\xa0\x1e\x3f\x9d\x05\x4f\x9a\x74\x9d\xaa\x1a\xc2\xc1\xb2\xd7\xc1\xae\x73\x67\x85\x8a\x82\x8a\x82\x1e\x0e\xfc\x58\xf7\x9c\xf8" -+"\xa0\x9e\x0a\x22\x20\x0a\x0e\xfc\x58\xf7\x9f\xf8\xa0\xbb\x0a\xd5\x53\x0a\xfc\x58\xf7\x48\x21\x0a\xfb\x10\xfc\xdb\x83\x66\x86\x7f" -+"\x82\x80\x19\x7c\x7e\x75\x84\x6f\x1b\x86\x84\x8b\x8c\x82\x1f\x7b\x3d\xf7\x0c\x88\xc1\xa9\xa0\xdd\x19\xf7\x1b\xf9\x0d\x05\xb6\xf7" -+"\x61\x15\x37\x06\x75\x22\x20\x0a\x0e\xf7\x80\xf8\x3c\x16\xf7\x9f\x9c\x0a\xfb\x4b\x06\xb8\xf7\x66\x05\xfc\x0d\x8b\x0a\xf7\x65\x06" -+"\x8f\xfc\x0c\x15\xaf\xf7\x3a\x05\xf7\x48\x06\xb8\xa2\x76\x62\x4f\x60\x5f\x4e\x1f\x0e\xf7\x2e\xc7\x16\xdf\x06\xbe\xf7\x83\x05\xf7" -+"\x84\x06\x59\xfb\x83\x05\xf7\x8e\xbf\x1d\xfb\x3a\x06\xb8\xf7\x66\xa3\x0a\xf7\xcd\xfc\x56\x15\xaf\xf7\x3a\x05\xf7\x37\xda\x1d\xd7" -+"\xa7\x0a\x6d\x5f\x7f\x8b\x88\x89\x83\x1f\x3f\xfb\xfa\x20\x0a\xd7\xf7\xfa\x05\x8f\x9b\x8c\x99\x9b\x1a\xd2\x51\xc4\x41\x4a\x54\x6f" -+"\x46\x45\x1e\xaa\xf7\x2a\x05\xf7\x03\x2d\x1d\xfb\x03\x06\x9a\xd1\x21\x1d\x7c\x45\x05\xfb\x00\x06\x7b\x41\x05\xf7\x00\x06\x0e\xfb" -+"\x5e\xc1\x16\x29\x0a\xcf\xb7\x1d\x4f\x41\x1d\xf7\x8e\xf7\x6c\x15\xfb\x13\xfb\x28\x05\xc7\x45\x0a\xfb\x42\x91\x1d\xfb\xe6\xf7\x61" -+"\x15\x88\x78\x8a\x82\x7f\x1a\x51\xbc\x66\xd7\xc2\xb7\x9b\xab\xae\x1e\xa3\xa2\x97\xa0\x95\xb6\x08\x51\x06\x60\x7c\x6b\x78\x50\x1b" -+"\x59\x6e\x9d\xa9\x8e\x8b\x91\x8c\x90\x1f\x0e\xbd\xdc\x16\xf7\x7d\x06\x67\x32\x1d\xaf\xf7\x3a\x05\xf7\x7f\x06\xf7\x2f\xf9\x6d\xba" -+"\x1d\xe0\x16\xf7\x2d\x06\x68\xfb\x35\x20\x0a\xae\xf7\x35\x05\xf7\x2a\x06\xf7\x03\xf8\xa0\xc2\x1d\xf3\xf7\xae\x15\x7e\x5e\x86\x6f" -+"\x68\x1a\xfb\x0d\xd6\x3f\xf7\x0c\xe0\xd8\xb1\xcf\xc3\x1e\xbe\xcb\xac\xef\xe9\x1a\xf7\x0f\x3f\xd6\xfb\x10\xfb\x0d\x31\x4b\xfb\x0a" -+"\x5e\x1e\xe4\x06\xd0\xb0\xc1\xaf\xcd\x1b\xd4\xbd\x59\x42\x79\x89\x7e\x86\x71\x1f\x7c\x47\x15\x29\x6f\x44\x4d\x36\x1b\x45\x5e\xba" -+"\xd4\x98\x8c\x94\x8f\x9d\x1f\x0e\xf7\x6b\xf8\x82\xf8\xe0\x15\x8c\x99\x8c\x93\x93\x1a\xd0\x5e\xb3\x3e\x4e\x56\x70\x57\x62\x1e\x64" -+"\x59\x72\x43\x4a\x1a\x32\xbb\x59\xdf\xe5\xd0\xc2\xe8\xa6\x1e\x43\x06\x54\x77\x69\x6f\x5e\x1b\x5f\x6f\xaa\xbd\xb7\x9a\xc2\xa0\xae" -+"\x1f\xb2\xa2\xac\xa0\xb0\x1b\xb2\xa4\x73\x65\x89\x8b\x86\x8a\x86\x1f\xf7\xd3\xfb\x5a\x15\x49\x52\x6d\x55\x62\x1f\x69\x5c\x74\x40" -+"\x49\x1a\x37\xbe\x59\xe0\xcd\xc4\xa8\xc3\xb3\x1e\xaf\xba\xa1\xd5\xcf\x1a\xdd\x58\xbd\x36\x1e\x7e\x4a\x15\xb8\xa7\x6a\x56\x65\x80" -+"\x5c\x79\x6a\x1f\x5d\x73\x66\x71\x61\x1b\x5e\x6f\xac\xc0\xf4\xc6\xe0\xd4\x1f\x9b\xf8\x14\x15\xfc\xab\xfd\x59\x05\xcd\x06\xf8\xab" -+"\xf9\x59\x05\x0e\xfb\xf3\xf7\x46\xf7\xb8\x15\xca\xcd\xb2\xba\xa5\xb8\x08\xb4\xd0\xa4\xd8\xc4\x1a\xbf\x71\xad\x64\x35\x49\xfb\x22" -+"\xfb\xd2\x4f\x1e\x6f\x6c\x77\x77\x7e\x80\x08\x7a\x7b\x85\x84\x84\x1a\x84\x92\x82\x91\x92\xa9\xa3\xa5\xa5\x1e\x7f\x2f\x89\x71\x6c" -+"\x1a\x53\xa6\x69\xb9\xae\xa8\xa0\xb7\xa4\x1e\x98\xa0\x92\x9f\x97\x1a\x92\x85\x91\x84\x83\x85\x86\x7d\x84\x1e\x5e\x76\x7c\x7b\x77" -+"\x1b\x7d\x84\x94\x9e\xa5\x9e\xf7\x11\x9a\xdb\x1f\x95\xc2\x15\xf7\x9f\xb8\xa7\xe0\xb8\x1b\x9c\x96\x7a\x71\x6d\x81\x5a\x7c\x62\x1f" -+"\x72\x48\x68\x54\x4e\x48\x08\x0e\xf8\x2d\xf9\x5d\x22\x1d\x41\x06\xfb\x14\xfc\xf0\xfb\x57\xf8\xf0\x05\x3a\x26\x1d\xd5\x06\xf7\x13" -+"\xf8\xeb\xf7\x54\xfc\xeb\x05\xe0\x06\xf8\x3f\xf9\x79\x15\x41\x47\x66\x46\x57\x1f\x59\x49\x6c\x2c\x36\x1a\xfb\x10\xce\x3d\xf4\xd4" -+"\xcc\xae\xce\xbd\x1e\xbf\xcf\xab\xe9\xdc\x1a\xf7\x13\x48\xdd\x25\x1e\x81\x38\x15\xcb\xb2\x59\x3a\xfb\x1c\x33\xfb\x0d\x29\x4b\x62" -+"\xbe\xdd\xc3\x9e\xca\xaa\xbc\x1f\xc6\xb1\xb8\xa7\xc2\x1b\xfb\xee\xfd\x26\x15\xf8\x2c\x06\x9d\xde\x05\xfc\x2c\x06\x0e\x23\xf9\x47" -+"\x21\x0a\x31\x06\x36\xfb\x2b\x7f\xbb\x81\xa1\x78\xa6\x19\xb6\x6d\x59\xa4\x51\x1b\x43\x4a\x65\x45\x5b\x1f\x5b\x46\x70\x35\x34\x1a" -+"\x52\x9a\x51\xa4\x66\x1e\x62\xa5\xaf\x79\xbe\x1b\xe7\xd6\xc5\xf7\x15\xd7\x1f\xa0\xfb\x38\x05\xe7\x06\x5d\xf7\xa3\x05\x37\x16\xfb" -+"\x2b\x36\x48\x49\x48\x1b\x60\x6d\xc3\xda\xca\x9d\xce\xad\xc4\x1f\xc3\xab\xb6\xa9\xba\x1b\xae\xa5\x7b\x6a\x9e\x1f\x9c\x6e\x94\x6b" -+"\x97\x3a\x08\x0e\x23\xf9\x47\x21\x0a\x31\x06\x37\xfb\x2b\x7e\xbb\x82\xa1\x78\xa6\x19\xb6\x6c\x59\xa4\x51\x1b\x45\x4b\x65\x45\x5b" -+"\x1f\x5c\x46\x71\x35\x34\x1a\x52\x9a\x51\xa3\x66\x1e\x62\xa4\xae\x79\xbd\x1b\xe6\xd7\xc5\xf7\x15\xd6\x1f\xa1\xfb\x38\x05\xe7\x06" -+"\x5c\xf7\xa3\x05\x38\x16\xfb\x2b\x35\x48\x49\x49\x1b\x62\x6f\xc2\xda\xcb\x9d\xce\xab\xc4\x1f\xc3\xab\xb4\xa9\xb9\x1b\xae\xa5\x7b" -+"\x6a\x9f\x1f\x9c\x6e\x93\x6b\x98\x3a\x08\x27\xf8\x90\x2b\x1d\x5f\x0a\xf7\x07\xf8\x4a\x36\x1d\xfb\xe9\xc5\xf7\x82\x15\xf7\x42\xfb" -+"\xe8\x05\x7b\x93\x95\x84\x97\x1b\x93\x90\x8f\x92\x92\x89\x93\x88\x93\x1f\xfb\x17\xf7\xdd\xf7\x17\xf7\xdd\x05\x8e\x93\x8d\x93\x92" -+"\x1a\x93\x86\x8f\x83\x7f\x83\x85\x79\x81\x1e\x0e\xfb\xe9\xf7\xa7\xf7\x82\x15\xfb\x42\xf7\xe8\x05\x9c\x82\x82\x92\x7f\x1b\x83\x86" -+"\x87\x83\x85\x8d\x83\x8e\x82\x1f\xf7\x17\xfb\xdd\xfb\x17\xfb\xdd\x05\x88\x84\x89\x83\x84\x1a\x83\x90\x87\x93\x97\x93\x91\x9c\x95" -+"\x1e\x0e\x83\x1d\x6b\x9d\x73\xa6\x85\x1e\x44\x66\x73\x70\x5e\x1a\x5a\xbb\x6f\xdd\xa3\x92\x8c\x94\xb4\x1e\x94\xb8\x05\x84\x76\x75" -+"\x88\x72\x1b\x62\x70\x9c\xa6\xb4\xbc\xbb\xc2\x98\x1f\xfb\x00\xf7\x46\x15\x4d\x7e\x33\x56\x33\x1b\x52\x6b\xa3\xb5\xac\x9e\xac\xa9" -+"\x9d\x1f\xa3\x9a\xa8\x93\xbd\x92\xe9\x43\x1d\x0e\xfb\x11\xf7\x12\xf7\x87\xde\x1d\xa4\x1f\x62\xdd\x9f\x84\xa6\x1b\xc8\xbf\xae\xd8" -+"\xc1\x1f\x66\xa4\x05\x57\x61\x71\x7a\x64\x1b\x73\x7e\x90\xa6\x56\x1f\xa4\x5a\x6e\x95\x70\x1b\x51\x5a\x68\x3c\x56\x1f\x91\xfb\x57" -+"\xde\x1d\xa5\x1f\x62\xdc\x9f\x84\xa7\x1b\xc7\xbf\xae\xd8\xc1\x1f\x66\xa4\x05\x58\x62\x70\x79\x65\x1b\x73\x7d\x90\xa6\x56\x1f\xa4" -+"\x5a\x6f\x95\x6f\x1b\x52\x5a\x68\x3c\x55\x1f\x0e\x60\x0a\x7c\xf8\x84\xaf\x1d\x71\x71\x6f\x77\x7c\x99\xa0\xa5\xa6\xa5\xa7\x1f\x69" -+"\xf7\x3e\x23\x1d\xf7\xda\xf9\x5e\xf7\xac\x15\x7b\x77\x81\x7b\x7f\x75\x08\x81\x79\x7d\x65\x84\x1a\x82\x93\x84\x95\x94\x8e\x8d\x9f" -+"\x9b\x1e\xb3\xba\xab\xa4\xe5\xc1\x08\x9c\x94\x8d\x8e\x93\x1a\x94\x85\x91\x76\x96\x1e\x53\xa7\x4c\xbd\x66\xb7\x08\x98\x81\x83\x92" -+"\x86\x1b\x7e\x83\x85\x81\x78\xb0\x41\xa4\x6d\x1f\xfc\x3f\x06\xa4\xa9\xb1\xd6\x9d\x1a\x95\x83\x91\x7f\x86\x87\x88\x7a\x7c\x1e\x70" -+"\x69\x46\x53\x63\x76\x08\x63\x75\x84\x86\x83\x1a\x83\x8e\x86\x94\x86\x1e\xef\x4f\xa1\x7a\xba\x56\x08\x76\x9e\x8c\x8a\x94\x1b\x95" -+"\x92\x92\x94\x9f\x6b\xc8\x6c\xb3\x1f\x0e\xfb\x42\xf7\x6e\xf9\x69\x15\xfd\x29\x07\xa4\x6d\x41\xb0\x79\x1b\x83\x83\x83\x83\x81\x8f" -+"\x86\x9b\x7e\x1f\xbb\x61\xa6\x69\xba\x3a\x08\x74\x98\x8e\x87\x92\x1b\x97\x8c\x8c\xac\x9e\x1f\xb0\xcc\xac\xb6\xba\xb3\x08\xa0\x9d" -+"\x8c\x8d\x94\x1a\x95\x84\x92\x82\x76\x4c\x6b\x6d\x65\x1e\xf9\x29\x07\x0e\xf7\xda\xfa\x25\xf7\xad\x15\xc7\xfd\x29\x07\xa9\xb1\xab" -+"\xca\xa0\x1a\x94\x84\x92\x81\x82\x89\x8a\x76\x79\x1e\x67\x61\x63\x6b\x56\x6b\x08\x56\x6c\x8b\x8b\x7f\x1a\x84\x8f\x88\xa2\x7e\x1e" -+"\xdc\x5c\xad\x70\xb5\x5b\x08\x7b\x98\x90\x87\x95\x1b\x93\x93\x93\x93\x9d\x66\xd5\x72\xa9\x1f\x0e\xf7\xda\xe1\xf7\xad\x15\xf9\x29" -+"\x06\x72\x6d\x66\x41\x79\x1a\x83\x93\x83\x93\x95\x90\x8f\x9b\x98\x1e\xb5\xbb\xad\xa6\xdc\xba\x08\xa2\x98\x8f\x8e\x92\x1a\x97\x8a" -+"\x8c\x6a\x9e\x1e\x4a\xb0\x60\xac\x63\xba\x08\xa0\x79\x89\x8c\x82\x1b\x81\x84\x84\x82\x76\xab\x4c\xa9\x65\x1f\xfd\x29\x06\x0e\xfb" -+"\x42\xf7\xaa\x25\x15\xf9\x29\x07\x72\xaa\xd4\x66\x9d\x1b\x93\x93\x93\x93\x95\x87\x90\x7b\x98\x1f\x5b\xb5\x70\xad\x5c\xdc\x08\xa2" -+"\x7e\x88\x8f\x84\x1b\x7f\x8a\x8a\x6a\x78\x1f\x66\x4a\x6a\x60\x5c\x63\x08\x76\x79\x8a\x89\x82\x1a\x81\x92\x84\x94\xa0\xca\xab\xa9" -+"\xb1\x1e\xfd\x29\x07\x0e\xfb\x42\xf7\x6f\xf7\x0f\x15\x76\x9b\x7c\x95\x75\x97\x08\x95\x79\x65\x99\x84\x1b\x82\x84\x83\x81\x82\x8d" -+"\x88\x9f\x7b\x1f\xba\x63\xa4\x6b\xc1\x31\x08\x7a\x94\x8e\x89\x93\x1b\x94\x91\x91\xa0\x96\x1f\xa7\xc3\xbd\xca\xb7\xb0\x08\x98\x95" -+"\x92\x93\x90\x1a\x98\x85\x93\x81\x78\x42\x66\x72\x6c\x1e\xf8\x3f\x07\x72\xa9\xd6\x76\x0a\xc8\xaa\xab\xb3\x1e\x0e\xfb\x42\xf7\x0d" -+"\x47\x15\x60\xf7\x9b\xb6\x07\xfb\x39\xf7\x97\x15\x77\x9b\x7b\x96\x75\x97\x08\x95\x78\x66\x99\x84\x1b\x82\x84\x83\x81\x82\x8d\x88" -+"\x9f\x7b\x1f\xba\x62\xa3\x6c\xc2\x30\x08\x7a\x95\x8d\x89\x93\x1b\x94\x91\x91\xa0\x96\x1f\xa7\xc3\xbd\xca\xb7\xb0\x08\x98\x95\x92" -+"\x93\x90\x1a\x98\x85\x93\x81\x78\x41\x66\x72\x6d\x1e\xf8\x3f\x07\x72\xaa\xd5\x76\x0a\xc9\xab\xaa\xb2\x1e\x0e\x24\xab\xfb\x6e\x15" -+"\xde\x06\xc0\xf7\x8b\x05\x69\xa9\xba\x79\xc7\x1b\xf7\x28\xf7\x0f\xf7\x14\xf7\x2e\xb9\x7a\xb8\x71\xa6\x1f\x7d\x98\x7d\x93\x6f\x96" -+"\xad\x99\x9b\x95\x9e\x9e\x08\xb1\xae\xa1\xbc\xba\x1a\xe8\x41\xcc\x21\x4b\x4e\x73\x62\x62\x1e\x65\x65\x7b\x64\x75\x27\x08\xdf\x90" -+"\x15\x9a\xd1\x98\xaa\xa4\xa4\x08\xa3\xa2\xb0\x99\xb3\x1b\xca\xae\x6a\x50\x61\x77\x65\x67\x6f\x1f\x70\x76\x73\x84\x4a\x88\x7d\x47" -+"\x18\x8c\x97\x98\x8c\x92\x1b\xa9\xa8\x83\x7c\xa2\x1f\xa8\x78\x98\x6e\x5f\x1a\xfb\x06\x37\x33\xfb\x02\x59\x66\x9b\xac\x72\x1e\x0e" -+"\xfb\x42\x49\x0a\x87\xf8\x1c\x23\x1d\xfb\x42\x49\x0a\x6b\xf7\x88\x2a\x1d\xfb\x42\x66\x0a\x2b\xf8\x1d\x24\x1d\xfb\x42\x49\x0a\x8f" -+"\xf8\x03\x23\x0a\xfb\x14\xf7\xd7\xf7\x8e\x15\x42\xf7\xa6\x05\x31\x06\xef\xfb\xf5\xfb\x9f\xfc\x19\x05\xeb\x06\xf7\x5e\xf7\xc3\xdb" -+"\xfb\xc3\x05\xe4\x06\xfb\x00\xf8\x12\xf7\x8d\xf7\xfc\x05\x29\x06\x0e\xf7\xda\xf8\x8b\xf9\x4b\x15\xfb\x5c\xfb\x36\xfb\x35\xfb\x5c" -+"\xfb\x58\xf7\x36\xfb\x36\xf7\x57\xf7\x59\xf7\x37\xf7\x37\xf7\x57\xf7\x58\xfb\x36\xf7\x39\xfb\x55\x1f\x87\xfb\xd0\x15\xfb\x52\xf7" -+"\x50\x05\xb8\xc2\xcc\xa2\xd1\x1b\xd0\xcb\x74\x60\xc4\x1f\xb3\x63\x15\xbb\x52\xa2\x4c\x42\x1a\x43\x74\x4b\x5d\x53\x1e\xfb\x54\xf7" -+"\x57\x05\xf7\x2c\xfb\x7f\x15\x5f\x54\x48\x73\x45\x1b\x45\x4b\xa2\xba\x50\x1f\xf7\x55\xf7\x55\x05\xfb\x7d\xfb\x2d\x15\x5f\xc1\x74" -+"\xcb\xd1\x1a\xd3\xa2\xcb\xba\xc4\x1e\xf7\x52\xfb\x50\x05\x0e\x79\xf8\xd7\x16\x9f\x07\x84\x8d\x74\x90\x3e\x9e\x8b\x8c\x70\x9c\x19" -+"\x45\xbb\x64\xd8\xe4\x1a\x94\x07\x9b\x07\x9f\x67\x94\x7e\x97\x7c\x08\x5c\xb1\xc8\x6d\xc1\x1b\xe6\xd3\xd5\xe8\xe7\x4a\xd2\x39\x71" -+"\x80\x88\x79\x67\x1f\x88\x8a\x83\x86\x81\x87\x08\xa9\xb7\x94\xa5\xb0\x1a\xe5\x43\xd2\x2f\x2e\x44\x45\x31\x67\x92\x78\xad\x56\x1e" -+"\xa3\x58\x78\x91\x70\x1b\x3d\x49\x40\x33\x2d\xd3\x43\xe9\xdb\xd1\xbe\xe5\xb6\x1f\x8c\x72\x05\x83\x07\x54\x71\x45\x65\x5f\x1e\x5c" -+"\x5a\x8a\x8a\xfb\x0e\x6e\x83\x89\x18\x77\x07\x0e\x6c\xf9\x1a\x88\x1d\xf7\xf7\xf7\x9f\x8c\x0a\xf8\xba\xf9\x21\x15\xfb\x2a\x06\x7f" -+"\x56\x05\xf7\x2a\x06\x6b\xfb\x2c\x9f\x1d\xf7\x13\xf8\xec\x05\xc9\x06\x96\xc0\x05\x4e\x06\x9b\xd7\x21\x1d\xfb\x67\xfb\x9f\x15\xd6" -+"\xb6\x59\x36\x4f\x7b\x4f\x6d\x57\x1f\x48\x64\x5a\x69\x4e\x1b\x41\x60\xbd\xe1\xc4\x9b\xca\xa7\xbe\x1f\xd0\xb1\xbb\xab\xcb\x1b\x0e" -+"\xf8\x0d\xf8\xa2\x15\x7e\x06\x3f\x45\x6a\x4f\x5c\x1f\x57\x4b\x69\x25\x32\x1a\xfb\x11\xd6\x3f\xf7\x11\xe3\xd6\xb0\xd0\xbf\x1e\xbb" -+"\xca\xac\xf1\xde\x1a\xd8\x6f\xc3\x40\xcf\x1e\xfb\x19\xf7\x0f\x05\xf7\x98\x2d\x1d\xfc\x06\x06\x7c\x44\x05\xf7\x22\xfb\x58\x15\xd0" -+"\xb7\x59\x3c\x53\x7a\x46\x71\x5b\x1f\x47\x66\x52\x65\x4a\x1b\x44\x60\xbc\xdb\xc2\x9c\xd1\xa5\xbb\x1f\xcf\xaf\xc5\xb1\xcd\x1b\x0e" -+"\xfb\x38\xf7\xa0\xf9\x89\x15\x42\xfb\x12\x4c\x31\xfb\x20\xfb\x44\xf0\xfb\x0f\xf7\x35\xfb\x78\x99\x61\xde\xf7\x20\xdf\xf7\x0b\xf7" -+"\x03\xf7\x1a\xfb\x0a\xf7\x25\x29\xf7\x1f\x4d\xf7\x00\x08\x0e\xfb\xe9\xf7\xc8\xf9\xef\x15\x78\x30\x8e\x23\x05\xaa\xa8\x1d\x68\x0a" -+"\xfb\x60\xf8\x3b\xa6\x1d\x59\x6b\xaa\x0a\x56\x1d\x64\xf7\xb2\x2a\x1d\x56\x1d\x84\xf8\x2d\x23\x0a\xf7\xda\xf9\x93\xf7\x6c\x15\xc8" -+"\xfc\x62\x07\x91\xf6\xc3\xbd\xf7\x01\x89\x08\xf7\xb7\xc9\xfb\xac\x06\x38\x68\x84\x72\x66\x1f\x4a\x60\x69\x42\x2c\x1a\xfb\x08\xb8" -+"\x38\xb9\x0a\xc9\xfb\xb7\x06\xfb\x01\x89\x53\xbd\x85\xf5\x08\x0e\x56\x1d\xd4\xf8\x1a\x36\x1d\xd1\x16\x90\x0a\x31\xfc\x3d\x9b\x0a" -+"\x8d\x8b\x95\x1b\xf7\x06\xb7\xa6\xdd\x9d\x1f\xf2\xf8\x79\x6c\x1d\x3f\x06\x0e\xf8\x64\xfb\x2a\x15\x84\x79\x72\x88\x70\x1b\x63\x70" -+"\x9e\xa6\xa7\xa6\xb3\xb4\xab\x1f\xe0\xcc\xb2\xbb\x9c\xc7\x08\xdf\x1d\xe0\xa1\x8c\x94\x8f\x9a\x1f\xf8\x16\x06\x99\xd9\x8e\xa3\xab" -+"\x1a\xec\xad\x1d\xc2\x1b\x9f\x9a\x8c\x91\xaa\x1f\x45\x61\x74\x6f\x62\x1a\x70\x97\x77\xa3\x7f\x1e\x80\xa1\xb2\x83\xb0\x1b\xa8\x9d" -+"\x8e\x92\xa0\x1f\xfb\x98\xf8\x89\x15\xe7\xa5\xd5\xcb\xdc\x1b\xd2\xb8\x5b\x40\x82\x8a\x83\x89\x7b\x1f\x0e\xfb\x7f\x85\x1d\x0e\xfb" -+"\x7f\x85\x1d\x8d\xf8\xb5\x2b\x1d\x31\xd2\x1d\xb9\xf7\x6e\xe3\x1d\x5b\xfb\x70\xb2\x0a\x41\xf8\xb6\xf7\x88\x15\x92\x07\x8a\xc7\x8a" -+"\x97\x84\xac\x08\xf5\x75\x34\xce\xfb\x07\x1b\xfb\x27\x2e\x20\xfb\x3b\xfb\x3b\xe5\x26\xf7\x28\xf7\x06\xd5\xbf\xf2\xab\x1f\x8d\x92" -+"\x05\x52\x06\x84\x7b\x86\x82\x88\x87\x08\x59\x6c\x58\x71\x4a\x1b\x5f\x67\x97\xa1\x73\x1f\x7a\x9a\x82\x9b\x80\xb0\x08\xed\x07\xf7" -+"\xb3\xbb\x15\xfb\xb1\xe0\x06\xd1\xac\xaf\xa4\xd0\x1b\xc1\xb0\x7a\x63\xae\x1f\x96\x7e\x8f\x84\x91\x79\x08\x0e\xfb\x0b\x8e\x1d\x0e" -+"\xfb\x0b\x8e\x1d\xf7\x30\xc5\x1d\xfb\x42\xf7\xdc\xaa\x1d\xf8\x30\xd8\x1d\xb2\x06\xcf\xd1\x1d\x0e\xfb\x8e\xbe\x16\xf7\xd9\xf8\xd5" -+"\xfb\xd9\x37\xf7\x85\xfb\x36\xfb\x85\x37\xf7\x85\xfb\x37\xfb\x85\x06\x0e\xd7\xf7\xf4\xf7\x98\x15\xfb\x37\x60\xf7\x37\xfb\x3a\xbb" -+"\xf7\x3a\xf7\x35\xb6\xfb\x35\xf3\x06\xe7\xa2\xcc\xd9\xe2\x1a\xeb\x36\xdc\x27\x2a\x39\x38\x2a\x36\xcd\x3e\xe8\x74\x1e\xa6\xf7\xcb" -+"\x15\xd0\xc5\x50\x45\x43\x51\x51\x43\x43\x52\xc5\xd4\xd3\xc5\xc3\xd5\x1f\x0e\xf7\x51\xf7\xd4\x15\xf7\x67\x06\x9b\xd9\x05\xfb\x67" -+"\x06\xbd\xf7\x7e\x05\xf7\xd3\x06\x9b\xd9\x05\xfc\x2a\x06\xfb\x2b\xfd\x5a\x05\xe3\x06\xf7\xd8\xf8\x82\x15\x22\xfc\x82\x05\xdb\x06" -+"\xbe\xf7\x86\xa0\xf7\x00\xd6\xd5\xe1\x88\x19\x9d\xe0\x05\x8d\x7f\x85\x8c\x84\x1b\x61\x59\x6a\x4b\x55\x1f\x9c\xdd\x05\x0e\xfb\x42" -+"\xf7\x39\xfb\x6e\x15\xdf\x06\xbc\xf7\x7e\xf7\xc1\xf8\x90\x05\x28\x06\xfb\x73\xfc\x19\x4a\xf8\x19\x05\x32\x06\xe6\xfc\x90\x05\x0e" -+"\xf8\xa1\x80\x1d\x40\xf7\x9f\x40\x1d\xd7\xbb\xbe\x9e\xa9\xac\xb7\x0a\x82\x62\x74\x4f\x1b\x59\x6b\x9f\xaa\x1f\x90\x07\x92\x07\x0e" -+"\x62\x0a\x81\xf7\xab\x24\x1d\xf8\x92\x80\x1d\xeb\xf7\x13\x15\xa0\xed\x05\x54\x06\xc6\x96\xa3\xa8\xb2\x1b\x93\xb1\x05\x4c\x5c\x5b" -+"\x38\x79\x1f\x77\x2e\x05\x0e\xf8\x9f\xf8\xa0\x15\x7b\x3f\x05\xcc\x66\x63\xa5\x4c\x1b\x3e\x3f\x65\x4d\x5a\x1f\x55\x46\x66\xfb\x00" -+"\x31\x1a\xfb\x05\xd1\x39\xeb\xd2\xc1\xa8\xcc\xc1\x1e\x85\x70\x7c\x45\x79\x62\x6f\x6c\x19\x6b\x6d\x5e\x79\x58\x1b\x47\x63\xa6\xb8" -+"\x1f\x9b\x36\x07\x8a\x82\x8b\x83\x87\x1a\x37\xcf\x56\xf7\x00\xdb\xd7\xa4\xb3\xb4\x1e\xb9\xb7\xa8\xd1\xa6\xf7\x11\xe8\xf8\x4a\x18" -+"\xfb\x82\x4d\x15\xce\xb2\x5e\x3e\xfb\x31\x33\xfb\x15\xfb\x01\x46\x63\xb9\xd9\xf7\x30\xe5\xf7\x14\xf7\x02\x1f\xf7\x0c\xf7\x91\x23" -+"\x0a\xfb\x11\xc1\xd3\x15\x7c\x43\x05\xf8\x7d\x06\x9a\xd3\x05\xcd\xf7\xc5\x8f\x0a\xf7\xb8\xf9\x21\x15\x9b\xd7\x05\x38\x06\x7b\x3f" -+"\x05\x4f\x06\x7f\x56\x05\xc7\x06\xfb\x13\xfc\xec\x05\xde\x06\xc8\xf7\xb5\x05\xf3\xa2\xd5\xd4\xde\x1b\xc0\xaf\x6f\x62\x7b\x8a\x83" -+"\x89\x81\x1f\x3e\xfb\xff\x05\xde\x06\xdf\xf8\x20\x05\x8d\x94\x8c\x94\x97\x1a\xd2\x58\xb5\x34\x3d\x55\x72\x4d\x55\x1e\xaa\xf7\x28" -+"\x05\xf7\x63\x06\x97\xc0\x05\x0e\x73\x0a\x62\xf7\x67\x24\x1d\x3b\xf7\xbc\x6f\x15\x9c\xde\xc7\xf3\xf7\x0b\xf7\x2b\xb4\xc0\x9b\xa0" -+"\x9a\xa3\x08\xb1\xca\x9d\xc2\xc1\x1a\xdc\x45\xcf\x36\x5b\x5f\x76\x65\x6b\x1e\x76\x72\x80\x75\x7e\x5d\x08\xf2\x67\x56\xbb\x3a\x1b" -+"\x36\x48\x46\x34\x4a\xa3\x57\xdc\xfb\x02\x1f\xf7\x2c\xfb\x60\xb2\x49\xa5\x24\x08\x0e\x45\x96\x16\xf8\xdb\xf8\x25\x06\xfb\xb8\xf7" -+"\xdc\xfb\xb7\xfb\xdc\x05\xbe\xfb\xf2\x15\xf7\xdc\x07\xf7\x84\xf7\xa2\xf7\x85\xfb\xa2\x05\xfb\xdc\x07\x0e\xfc\x20\x2d\x0a\x68\xf9" -+"\x6d\x3c\x0a\xfb\x7a\xf7\xa7\x8d\x0a\xe8\x25\x15\xfb\x13\xfc\xec\x5c\x0a\x85\x8b\x8d\x7e\x1f\x7c\x44\x05\x88\x91\x8e\x8b\x94\x1b" -+"\xf7\x07\xb7\xa6\xdd\x9d\x1f\xf7\x1a\xf9\x0d\x05\xb7\xf7\x61\x15\x37\x06\x74\x24\x20\x0a\x0e\xfc\x20\xab\x0a\xf7\x73\xf9\x4c\x15" -+"\xfb\x7e\x06\x7c\x46\x05\xf7\x7e\x06\x0e\xb2\xf8\x37\xf7\xbd\x15\x6d\xae\x80\x96\x79\x9b\x08\xa8\x6b\x63\x9b\x65\x1b\x32\x38\x39" -+"\x34\x4a\xb9\x5d\xcd\xc5\xc2\xa7\xda\xf1\x1f\x37\xd7\xb0\x74\xc2\x1b\xe6\xde\xdc\xe3\xcc\x5d\xb9\x4b\x63\x5b\x7b\x6e\x5f\x1f\x75" -+"\x7c\x85\x87\x51\x60\x08\xa8\x6a\x15\xc7\xd5\xc4\xa8\xb6\x1b\xb3\xab\x6c\x65\x53\x54\x56\x52\x6f\x79\x93\xa9\x66\x1f\x74\x9e\x81" -+"\x95\x79\xa1\x08\x44\x16\x71\x75\x80\x84\x67\x75\x08\x6e\x5c\x73\x82\x6e\x1b\x62\x6b\xa9\xb3\xc3\xc1\xbf\xc5\xb4\xb9\x6c\x51\xba" -+"\x1f\x0e\xfc\x24\xf7\x50\xf8\x9f\x15\xb0\x85\xda\x82\xe8\xb0\x0a\x8e\x8a\x80\x95\x1e\x81\x95\x97\x86\x98\x1b\xa6\xa0\xa1\xa7\xa9" -+"\x6f\xa3\x68\x60\x6c\x6c\x51\x7d\x1f\x7b\x4b\x86\x46\xfb\x45\x1a\xfb\x78\x07\x5f\x8f\x4e\x95\x22\x1e\x8f\x61\x8d\x75\x7f\x1a\x79" -+"\x85\x81\x7f\x85\x89\x8c\x96\x80\x1e\x95\x81\x80\x90\x7d\x1b\x71\x75\x75\x70\x6c\xa7\x73\xae\xb7\xaa\xaa\xc5\x99\x1f\x9b\xcb\x90" -+"\xd4\xf7\x41\x1a\x0e\x45\xf7\xab\xf9\xb4\x15\xfc\xfa\x07\x5f\x8f\x4d\x95\x23\x1e\x8f\x61\x8d\x75\x7f\x1a\x79\x85\x81\x7f\x85\x89" -+"\x8c\x96\x80\x1e\x95\x80\x81\x90\x7d\x1b\x71\x75\x75\x70\x6c\xa7\x73\xae\xb7\xaa\xaa\xc5\x99\x1f\x9b\xcb\x90\xd4\xf7\x41\x1a\xf8" -+"\xf2\x07\x0e\x45\xf7\xf4\xfb\x61\x15\xf8\xfa\x07\xb7\x87\xc9\x81\xf3\xb0\x0a\x8d\x8a\x80\x96\x1e\x81\x96\x95\x86\x99\x1b\xa5\xa1" -+"\xa1\xa6\xaa\x6f\xa3\x68\x5f\x6c\x6c\x51\x7d\x1f\x7b\x4b\x86\x42\xfb\x41\x1a\xfc\xf2\x07\x0e\xb8\xf8\xeb\x16\xf7\xa1\x07\xf7\x29" -+"\x86\xb1\x71\xb7\x1e\xd1\x61\x3e\xb4\x31\x1b\x38\x46\x6a\x4d\x5e\x1f\x66\x5a\x85\x67\xfb\x36\x1a\xfb\xa1\xd1\xf7\xa4\x07\xf7\x05" -+"\x91\xba\x9d\xad\x1e\xbd\xa6\xc5\xad\xc8\x1b\xc4\xc2\x6e\x5d\xa8\x1f\xa2\x67\x91\x62\xfb\x12\x1a\xfb\xa4\x07\x0e\xf8\x0e\xf8\xa3" -+"\xf9\x6e\x15\xfb\x5b\xfb\x3a\xfb\x38\xfb\x57\xfb\x63\xf7\x35\xfb\x38\xf7\x5d\xf7\x61\xf7\x37\xf7\x36\xf7\x5f\xf7\x5e\xfb\x37\xf7" -+"\x37\xfb\x5e\x1f\xfb\x01\xfb\x63\xc1\x1d\xfb\x14\xfb\x05\x15\x96\x59\x96\x75\xa5\x6d\x08\x54\xbb\xc7\x71\xdc\x1b\xdc\xc7\xa5\xc2" -+"\xbb\x1f\xa5\xa9\x96\xa1\x96\xbd\x84\x36\x80\x62\x6d\x5e\x08\x4c\x61\x4b\x6b\x38\x1b\x3e\x4f\xa6\xc1\x61\x1f\x67\xba\x7c\xb8\x84" -+"\xe8\x08\xf7\xee\xf7\x05\xc1\x1d\x0e\xfc\x58\xf7\x99\xbc\x0a\xad\x06\x4b\x61\x67\x5d\x63\x1a\x5e\xb5\x6b\xc7\x9d\x98\x8e\x92\xa1" -+"\x1e\x94\xb8\x05\x82\x74\x8a\x8b\x7f\x1b\x69\x76\x9c\xa5\xab\xab\xbc\xb8\xae\x1f\xf7\x2f\x22\x1d\x37\x06\x74\x24\x20\x0a\x0e\xfc" -+"\x58\x43\x0a\x0e\xfc\x58\x43\x0a\xbd\xf7\x53\x15\x23\x06\x76\xa1\x0a\x76\x24\x05\xf3\x06\x0e\xfc\x58\x43\x0a\xd4\xf7\xe3\x15\x77" -+"\x97\x0a\x9f\xe6\x05\xc7\xfb\x2b\x15\x2f\x06\x75\x24\x05\xe7\x06\xfb\x2c\xf2\x15\x2f\x06\x75\x24\x05\xe7\x06\x0e\xfc\x58\x43\x0a" -+"\xc3\xc5\x1d\xfc\x20\xab\x0a\xf7\x68\x90\x1d\xfc\x58\x7b\x0a\x55\xf7\x6d\x24\x1d\xfb\x42\xf7\x60\xf7\xc3\x15\xba\xf7\x71\xe1\x1d" -+"\xb4\xf7\x57\xf7\x03\xe6\xf7\x07\xfb\xb2\x05\xe8\x06\xfb\x1f\xf7\xe6\xf7\x76\xf7\x4e\x05\xfb\x07\x06\x0e\xfb\x42\x98\x1d\x8c\xfc" -+"\x02\x5e\x1d\xfb\x42\xf7\x47\xf7\x47\x15\xf0\xde\xf3\xfb\x9a\x05\xec\x06\xfb\x25\xf7\xc2\xf7\x96\xf7\x72\x05\xfb\x0c\x06\xfb\xa7" -+"\xfb\x92\xc3\xf7\x92\x05\x35\x06\xfb\x06\xfc\xa0\x05\xe1\x06\x0e\xfc\x58\xf7\xc7\x37\x1d\xf7\x5b\x55\x0a\xfb\x4a\x9d\x16\xea\x06" -+"\xf7\x6e\xf8\x1b\xc5\xfc\x1b\x05\xe2\x06\xfb\x05\xf9\x6d\x05\x34\x06\xaf\xfb\x66\x05\x0e\xfc\x0b\xf7\xc3\x37\x1d\xf7\x6b\xf9\x6d" -+"\x8c\x0a\xfc\x58\xf7\xc7\x37\x1d\x22\x4f\x35\x1d\xfb\xa6\xf7\xd8\x37\x1d\xf7\xa2\xf8\x4d\x23\x0a\xfb\x11\xf8\xa8\xd3\x15\xfc\x7d" -+"\x27\x1d\xf8\x7d\x06\xfc\x3b\xf7\xc8\xb5\x1d\xf7\xbe\xf7\xd5\x15\xf7\x1d\x06\x97\xc2\x05\xfb\x34\x06\x86\x9c\x88\x93\x8a\x8e\x08" -+"\x75\xc9\x8b\x8b\xa5\x1a\xe6\xd4\xd0\xea\xd2\xb8\x65\x4f\x79\x89\x7d\x84\x72\x1e\xe3\x06\x92\xb5\x8d\x9d\xa1\x1a\xe5\x40\xc7\xfb" -+"\x03\xfb\x28\xfb\x1a\xfb\x0b\xfb\x16\x6e\x8d\x85\xa6\x49\x1e\x8c\x88\x05\x38\x06\x7f\x54\x05\xf7\x05\x06\x91\x78\x8e\x7f\x85\x1a" -+"\xfb\x1b\x06\x7f\x54\x05\xf7\x21\x06\x7a\x53\x4e\x4a\x32\x53\xb0\x49\x18\xa5\xba\xad\x96\xb0\x1b\xa2\x9f\x88\x83\x9f\x1f\x71\xcf" -+"\xad\x82\xb0\x1b\xbc\xbd\x9e\xae\xb6\x1f\x72\xd1\x05\x73\x61\x77\x92\x0a\xf7\x0b\xe5\x93\x92\xa6\xd2\x08\xf7\x0c\x06\x97\xc2\x05" -+"\xfb\x0d\x06\x90\x8b\x91\x89\x9a\x1e\x0e\xfc\x58\xf7\x25\x16\xf7\x12\xf8\xe5\x05\xbe\x96\x9c\x9b\xb7\x1b\x92\x92\x8b\x89\x98\x1f" -+"\x9a\xd0\x05\x8f\x79\x80\x8c\x7b\x1b\x3e\x53\x5e\x41\x7b\x1f\x78\x32\x05\x45\x06\x7d\x48\x05\xd1\x06\x2a\xfc\x5d\x05\x0e\xd7\xf8" -+"\x14\xf8\x82\x15\x9f\x64\x72\x92\x6a\x1b\x27\x37\x38\x29\x2a\xe5\x36\xf2\xab\xa9\x93\x9b\xa6\x1f\xbe\xaa\xae\xc4\xbf\x1a\xb6\x78" -+"\xbd\x68\xc0\x1e\xf7\x2a\xf7\x2a\x8e\x79\xa1\x52\x9a\x6e\x19\x77\x96\x90\x85\x95\x1b\x92\x90\x90\x92\x8e\x8b\x8b\x88\x9d\x1f\x84" -+"\xae\x89\xa1\xa6\x1a\xab\x91\xbd\x92\xa2\x1e\x8d\x90\x8b\x8d\x8d\x1a\x91\x87\x8f\x84\x88\x88\x8b\x8a\x88\x1e\x81\x69\x6d\x87\x67" -+"\x1b\x70\x75\x8d\x92\x68\x1f\x8e\x79\x8b\x8b\x88\x1b\x85\x85\x84\x85\x7b\xb5\x73\xc2\x7a\x1f\xa2\x84\x91\x89\x05\xfb\x8c\xfb\x41" -+"\x15\xd3\xc7\x4e\x42\x41\x4f\x4f\x41\x40\x4f\xc7\xd6\xd5\xc7\xc6\xd8\x1f\x0e\xfc\x7a\xf7\x6e\xe0\x1d\x0e\xfb\x42\xf7\x7f\xf7\x53" -+"\x15\x93\x75\x7b\x8f\x7a\x1b\x46\x4f\x52\x49\x65\xa8\x73\xb8\xbe\xba\xa4\xb5\xa9\x1f\xa0\xa9\x94\xaa\xb8\x1a\xf7\xd4\x07\xab\x85" -+"\xa1\x7b\xa2\x66\x08\xa3\x65\x95\x65\x55\x1a\x59\x81\x61\x73\x51\x1e\xa8\x06\xb2\xb9\xa0\xc7\xcc\x1a\xdc\x6b\xdb\x4c\xd6\x1e\x53" -+"\xce\x89\x8d\x83\x95\x86\x92\x19\xcb\x5b\x07\x0e\xd7\xf7\x95\xf9\x19\x15\xfc\x59\x88\x0a\xf7\xf0\x07\xf7\xb5\x5f\x05\xfc\x03\x88" -+"\x0a\xf8\x52\x07\x0e\x39\x1d\xf7\x67\xf7\x6c\x23\x1d\x50\xf7\x73\x21\x0a\xfb\x03\xfc\xa0\x05\x90\x0a\x41\xfb\xf1\x20\x0a\xdb\xf8" -+"\x0c\x6c\x1d\xfb\x2a\xf7\x61\x35\x1d\x39\x1d\xf7\x55\xcf\x2a\x1d\x39\x1d\x64\xfc\xdc\x5e\x1d\xf7\xda\xf8\xa4\xf7\x6c\x15\xf7\x83" -+"\xc8\xfb\x60\x06\xe3\xf7\x2f\x05\xf7\x08\xc9\x3a\x06\xac\xc6\x61\xa3\x5c\x38\x05\xfb\x23\x06\x38\x68\x84\x72\x65\x1f\x4b\x60\x69" -+"\x42\x2c\x1a\xfb\x08\xb8\x37\xdc\x69\x1e\x6a\x52\xb6\x74\xb1\xce\x05\x88\xa5\x97\x8a\xb5\x1b\xf7\xac\xc9\xfb\xb7\x06\x77\x85\x8b" -+"\x8c\x82\x1f\xaa\xf7\x2d\x15\x3a\xfb\x21\x57\x9d\x6c\xbe\x88\xd3\x19\xf7\xb6\xf7\x6c\x15\x33\xfb\x2f\x05\xfb\x5e\x06\x91\xf6\xc3" -+"\xbd\xf7\x01\x89\x08\x0e\xfb\x11\xf7\x48\xf7\x03\x15\x55\x45\xc9\x64\xde\xf7\x01\x05\xf7\xa2\x06\x99\xd3\x05\xfb\x7a\x06\xd9\xef" -+"\x05\xf7\x42\x06\x9a\xd3\x05\xfb\x1b\x06\xcd\xe1\x4d\xb2\x2b\xfb\x11\x05\xfb\x95\x06\x7d\x43\x05\xf7\x6e\x06\x3c\x27\x05\xfb\x35" -+"\x27\x1d\x0e\xfb\x42\xf7\xb3\x16\xf7\xcc\xf8\xa0\x05\x28\x06\xfb\x80\xfc\x31\x57\xf8\x31\x05\x32\x06\xd4\xfc\xa0\x05\x0e\x69\x0a" -+"\x32\xf7\x9f\x3c\x0a\x4a\x0a\xa5\xf7\xaa\x15\x6a\x1d\xc9\x16\xfb\x14\xfb\x2a\x05\xc7\x06\xf7\x48\xf7\x2a\x05\x0e\x4a\x0a\xf7\x4f" -+"\xf7\x7e\x36\x1d\xf4\x63\x0a\x0e\xf4\x63\x0a\x89\xf8\x12\xcf\x1d\x6a\x0a\x0e\x6a\x0a\x9b\xf7\xd1\x2b\x1d\xf7\xc5\xbd\x16\xfa\x04" -+"\xcd\xfd\xc2\xf9\xb8\x49\x06\x0e\x4c\x82\x1d\xf7\x8c\xf9\x12\x23\x1d\xfb\x5a\xf1\xf9\x32\x15\xac\xd5\x8b\x8b\xb1\x1b\xba\xb2\x79" -+"\x69\xa3\x1f\xad\x5c\xa0\x40\x42\x1a\x6d\x89\x73\x82\x50\x1e\xc0\x46\x70\x97\x55\x1b\x5a\x64\x7b\x69\x69\x1f\x5d\x5c\x6f\x48\x4a" -+"\x1a\xfb\x01\xde\x36\xf6\xd7\xc8\xb4\xd8\xb6\x1e\xb1\xcf\xa7\xf7\x16\xf3\x1a\xf7\x5c\xfb\x03\xf7\x25\xfb\x2d\x5e\x5c\x81\x79\x63" -+"\x1e\xf7\xbf\xfc\x36\x15\x7d\x32\x84\x6b\x7d\x5f\x08\x3d\x70\x5d\x5f\x55\x1b\x53\x6a\xbe\xe1\xf7\x08\xcd\xea\xdc\xb4\xb0\x76\x63" -+"\xa5\x1f\x0e\xf8\x38\xf7\x98\xf7\xc4\x15\xf7\x04\x06\xc9\xb8\x9b\xb0\xb8\x1f\xc6\xbc\xb0\xd5\xd1\x1a\xb5\x7a\xb9\x71\xa5\x1e\xab" -+"\x6d\x5f\x99\x4a\x1b\xfb\x48\x06\xfb\x2b\xfd\x5a\x05\xe3\x06\xdc\xf8\x12\x15\xc0\xf7\x8e\x05\xda\x06\xdc\xb6\x68\x4a\x5f\x76\x61" -+"\x66\x6e\x1f\x73\x6b\x67\x80\x57\x1b\xf7\xdf\xfb\x0e\x15\xd9\x06\x99\xcb\x05\x3c\x06\xa4\xf7\x09\x05\x3b\x06\x72\xfb\x09\x05\x4c" -+"\x06\x7e\x4b\x05\xca\x06\x66\xfb\x3e\x05\x89\x81\x8a\x7f\x82\x1a\x58\xab\x6f\xc5\x9b\x96\x8c\x8f\xa2\x1e\x98\xd3\x05\x87\x7a\x83" -+"\x8a\x80\x1b\x76\x7d\x96\x9b\x8d\x8c\x91\x8c\x91\x1f\xf8\x41\xf7\x18\x15\x8f\x9c\x8c\x92\x94\x1a\xba\x5e\xab\x49\x32\x49\x55\x43" -+"\x62\xa1\x79\xd2\x78\x1e\xb8\x80\x05\xa3\x85\x94\x83\x7c\x1a\x6d\x6d\x76\x5f\x67\x79\x98\xa5\x90\x8c\x94\x8c\x93\x1e\x3d\x06\x87" -+"\x79\x8a\x83\x80\x1a\x55\xb9\x6b\xda\xec\xcc\xbe\xd7\xb4\x75\xa0\x4f\x9a\x1e\x5d\x96\x05\x6d\x93\x7e\x94\x99\x1a\xa9\xa4\x9e\xb4" -+"\xa9\x99\x81\x75\x85\x8b\x87\x89\x83\x1e\x0e\x75\xf7\x7e\xfb\x6e\x15\xdf\x06\xb5\xf7\x58\xe0\x93\xc6\xa4\xc4\xc3\x19\xd1\xcd\xb4" -+"\xec\xea\x1a\xf7\x1f\x34\xd6\xfb\x34\x81\x86\x8b\x8a\x7c\x1e\x23\xfc\x79\x69\x8f\x7d\x8f\x79\x95\x19\x6a\x9e\x78\xb6\xc4\x1a\xc3" -+"\x9a\xc7\xa5\xbb\x1e\xa3\xba\xa1\xa0\xb7\xa1\x9c\xde\x18\x3f\x6e\x60\x6c\x5c\x51\x08\x5a\x4f\x71\x3b\x36\x1a\x48\x9f\x56\xb0\x68" -+"\x1e\xac\x6c\xaf\x7e\xd1\x84\x08\xf7\x4f\xf8\x79\x15\xa6\x89\x98\x88\x9d\x82\x08\xb0\x78\xa2\x5e\x55\x1a\x4c\x74\x40\x68\x58\x1e" -+"\x64\x51\x63\x73\x46\x84\x08\x0e\x87\xf9\x69\x21\x0a\xfc\xc1\x06\x7c\x41\x05\xd6\x06\x2b\xfc\x56\x05\xdf\x25\x1d\x05\xf7\x83\x06" -+"\x34\x1d\xdf\x25\x1d\x05\xd6\x06\x0e\xf7\xd6\xf7\x88\xfb\x30\x15\x3e\x36\xf7\x8f\x06\x8a\xe0\x05\x40\xf9\xab\xf7\xfe\xfd\xab\x45" -+"\x06\x8c\x36\x05\xf7\x84\xe0\x42\xf9\xab\xf0\xe0\xfd\x8f\x36\xf3\x06\x0e\xf7\xda\xf9\x93\xc9\x15\xfb\xb7\x06\xfb\x0d\x57\xc2\xf7" -+"\x16\xf7\x15\xbf\xc3\xf7\x0d\x1f\xf7\xb7\xc9\xfb\xac\x06\x38\x68\x84\x72\x66\x1f\x4a\x60\x69\x43\x2b\x1a\xfb\x07\xb8\x37\xb9\x0a" -+"\x06\x0e\xf7\xda\xf7\x7d\xc9\x15\x4d\xf7\xac\x07\xde\xae\x92\xa4\xb1\x1f\xcc\xb6\xac\xd4\xee\x1a\xf7\x03\x5d\xe0\x3d\xac\x1e\x99" -+"\x69\x70\x8f\x46\x1b\xfb\xac\x4d\xf7\xb7\x06\xf7\x0d\xbf\x54\xfb\x16\xfb\x16\x57\x54\xfb\x0d\x1f\x0e\xc1\xf8\x99\x21\x0a\x37\x06" -+"\x28\xfc\x66\x05\x37\x93\x66\xa9\xc8\x1a\x9c\x8f\xaa\x92\xaa\x1e\xc8\xf7\xb4\x21\x1d\x4d\xfb\xb7\x05\x83\x66\x86\x66\x79\x1a\x65" -+"\x9a\x66\xa5\x72\x1e\xb1\x67\xb0\x7c\xd7\x82\x60\xfb\x5b\x18\xdf\x06\xb6\xf7\x5b\xf7\x46\x9c\xd9\xd0\xa8\xf7\x3a\x19\xc9\xf7\xb7" -+"\x21\x1d\x4e\xfb\xb4\x73\xfb\x06\x57\x59\xfb\x02\x7d\x19\x0e\xfc\x58\xf7\xc8\xf9\x58\x15\x2d\x06\x76\x27\x05\x88\x7b\x89\x7a\x7c" -+"\x1a\x59\xa4\x6e\xb9\x87\x1e\x93\xb1\x05\x72\x90\x81\x98\xa8\x1a\x96\x8c\x96\x90\xa0\x1e\xbc\x06\x0e\xfb\xe9\x67\x1d\xa2\xf7\x07" -+"\xd0\xca\x5c\x1d\xf7\x16\xf7\x6c\x23\x1d\xfb\x71\xf9\x06\xfa\x25\x15\xfb\xbb\xfd\xa8\xfb\x02\xf8\x20\xfb\x37\x42\x96\x6a\xf3\xb9" -+"\xf7\x1c\xfc\x85\xf7\xf4\xfa\x44\x05\x0e\xfb\xe9\x67\x1d\xa3\xf7\x07\xcf\xca\x5c\x1d\xf1\xcf\x2a\x1d\xfb\xe9\xf7\x49\x21\x0a\xfb" -+"\x04\xfc\xa0\x20\x0a\xc5\xf7\xa4\xa2\xf7\x06\xd0\xcb\x5c\x1d\xfb\x5f\xfc\xdc\x35\x1d\x31\xf8\xfe\xf8\x0d\x15\xfc\x8d\x06\x4e\xfb" -+"\xb7\x05\xd1\x06\xb9\xf7\x6f\x05\xf8\x47\x06\x0e\x26\x98\xfb\x6e\x15\xdf\x06\xc5\xf7\xa5\x05\x56\xa9\xbb\x72\xd3\x1b\xdf\xd3\xb0" -+"\xce\xbe\x1f\xbf\xd0\xa9\xe6\xe4\x1a\xf7\x13\x3c\xde\xfb\x0f\x47\x48\x6f\x5a\x5a\x1e\x59\x59\x76\x5a\x71\xfb\x0d\x08\xf7\xac\xf7" -+"\x6f\x15\xd3\xb5\x5b\x39\x46\x75\x40\x66\x55\x1f\x5b\x6a\x54\x6c\x54\x1b\x44\x61\xbf\xe1\xc5\xa4\xde\xac\xbc\x1f\xbc\xab\xc2\xa9" -+"\xc3\x1b\x0e\xfb\x42\x7f\x1d\x8e\xf7\xfe\x23\x1d\xfb\x42\xf7\x92\x74\x15\xd0\x8e\xb5\x96\xb6\xa5\x08\xbf\xab\xac\xc7\xcb\x1a\xc8" -+"\x6a\xab\x33\xa1\x1e\x3f\x9e\x05\x53\x99\x6e\x9f\xa5\x1a\x9f\x97\xa4\x9d\x9c\x44\x0a\x1f\x85\x07\x86\x07\x8a\x80\x20\x0a\x90\xa0" -+"\x8c\x94\x98\x1a\xd1\x49\xbb\x29\x3c\x1d\x43\xbd\x61\xf1\x7e\x1e\x65\x45\x98\x85\x91\x8c\x8b\x8b\x90\x8c\x19\x8d\x96\x8b\x8b\x90" -+"\x1b\x9c\x99\x81\x7f\x6b\x71\x74\x66\x6f\x73\x92\xa1\x61\x33\x1d\xbf\xa7\x83\xb2\x1b\xdf\xc7\xb8\xcb\x57\x0a\x0e\xfb\x42\xf8\x96" -+"\xf8\x0e\x15\x90\xa0\x8c\x94\x98\x1a\xd1\x48\xbb\x2a\x3c\x1d\x3b\xd0\x5b\xf7\x09\xf7\x29\xec\xd8\xf7\x0b\x5a\x0a\xa3\x9d\x9d\x44" -+"\x0a\x1f\x85\x07\x86\x07\x8a\x80\x05\x40\xf7\xff\x24\x1d\xfb\x42\x7f\x1d\xfb\x83\xfc\x4a\xb0\x1d\xfb\xd4\xf7\x73\xe0\x1d\xf7\x60" -+"\xf7\x94\x15\x41\x06\x55\xfb\x94\x05\xc4\x06\x0e\x44\xf8\x71\xf8\xa0\x15\x96\x6d\x73\x8f\x6c\x1b\x39\x3d\x66\x4b\x59\x1f\x58\x4b" -+"\x6a\x25\x31\x1a\xfb\x11\xda\x3b\xf7\x0f\xde\xd6\xaf\xcc\xbf\x1e\xbb\xc7\xae\xf5\xde\x1a\xbd\x7d\xb1\x6b\xae\x1e\xf7\x0b\x2d\x1d" -+"\xfb\xb8\x4d\xa4\x1d\x0e\xf7\xef\xf8\x93\xf9\x6e\x15\xfb\x5b\xfb\x3a\xfb\x38\xfb\x57\xfb\x63\xf7\x35\xfb\x38\xf7\x5d\xf7\x61\xf7" -+"\x37\xf7\x36\xf7\x5f\xf7\x5e\xfb\x37\xf7\x37\xfb\x5e\x1f\x5a\x04\xf7\x43\xf7\x21\xfb\x21\xfb\x43\xfb\x44\xfb\x21\xfb\x20\xfb\x45" -+"\xfb\x43\xfb\x1f\xf7\x22\xf7\x47\xf7\x3e\xf7\x23\xf7\x21\xf7\x41\x1f\xfb\x01\xfb\x37\x9d\x0a\xfb\x14\xfb\x00\x15\x92\x36\x96\x62" -+"\xa9\x5e\x08\x4c\xb5\xcb\x6b\xde\x1b\xd8\xc7\xa6\xc1\xb5\x1f\xaf\xba\x9a\xb8\x92\xe8\x80\x59\x80\x75\x71\x6d\x08\x54\x5b\x4f\x71" -+"\x3a\x1b\x3a\x4f\xa5\xc2\x5b\x1f\x71\xa9\x80\xa1\x80\xbd\x08\xf7\xee\xf7\x00\x9d\x0a\x0e\xfb\x23\xf7\xc0\xf7\x99\x15\x7f\x07\x44" -+"\x6b\x45\x5a\x66\x1e\x6c\x62\x56\x7a\x57\x1b\x7e\x74\xf8\x77\xa2\x06\xfb\x32\x91\x3c\xe3\x8e\xf7\x3d\x08\x35\xb9\xb6\x6d\xda\x1b" -+"\xcd\xc4\xca\xd4\xd0\x73\xb0\xfb\x01\xef\x1f\xfb\x02\xf1\x7a\xa5\x63\xf7\x09\x7c\x30\x4d\x31\x23\x38\x08\x3c\x49\x67\x51\x4c\x1a" -+"\x40\xc8\x4d\xd4\xb4\xb4\x9c\xa9\xac\x1e\x9e\x9d\x96\x9a\x9c\xb0\x08\x0e\xf7\xd6\xf9\x63\xf9\x7e\x15\xfc\x80\x45\x06\xf7\x61\xfb" -+"\xf5\xfb\x61\xfc\x16\x05\x44\xf8\x87\xf7\x6b\x43\x07\x88\xfb\x23\x05\xfb\xe3\x06\xf7\x60\xf8\x16\xfb\x5f\xf7\xf1\x05\xf7\xdb\x06" -+"\x8f\xfb\x22\x05\xd2\x06\x0e\xf7\x87\xf7\x94\xf8\xa3\x15\x73\x74\x6c\x42\x67\x1a\xfb\x10\x4f\xf7\x10\x06\x68\x9c\x60\xb0\x54\x1e" -+"\x34\x34\xb4\x62\xe3\xe2\x9d\x78\xa1\x7e\xa1\x86\x19\xce\x7a\x8e\x8a\x05\xfb\x0f\xc6\xf7\x0f\x07\x8f\x8c\xb2\x95\xa5\x91\x8d\x8c" -+"\x19\x96\x90\x9e\x96\xab\xa0\xe3\x34\x18\xb4\xb4\x34\xe2\x9d\xa6\x99\xa4\x8f\x96\x19\x8e\x92\x90\x9f\x96\xb6\x08\xf7\x0f\xc7\xfb" -+"\x0f\x06\x81\xb3\x85\xa2\x88\x92\x87\x96\x7d\xa4\x79\xa6\xe2\xe1\x18\x62\xb4\x33\x35\x6d\xa6\x7e\x91\x31\xa1\x19\xf7\x0e\x50\xfb" -+"\x0e\x07\x88\x8a\x48\x79\x84\x89\x77\x7f\x68\x74\x19\x33\xe2\x62\x62\x05\xf7\xba\x50\x15\xef\xde\x36\x26\x24\x38\x37\x24\x22\x3a" -+"\xdd\xf5\xf3\xde\xdc\xf5\x1f\x0e\xfb\xc0\xf7\x25\x16\xdf\x25\x1d\x05\xf7\x21\x2d\x1d\xfc\x02\x2a\x0a\xf7\x21\x06\x0e\xfc\x20\xf8" -+"\x02\x21\x0a\x33\x06\xa9\xf7\x24\x21\x1d\x6d\xfb\x24\x05\x43\x06\x7d\x48\x05\xd2\x06\x7a\x37\x05\x4d\x06\x80\x56\x05\xc8\x06\x5a" -+"\xfb\x7d\x05\x88\x80\x8a\x7f\x83\x1a\x5a\xad\x6d\xc2\xa0\xa9\x8e\x8f\x9a\x1e\x9a\x5b\x0a\x7c\x97\x9a\x8c\x1f\x8e\x8c\x8f\x8c\x92" -+"\x1e\xbc\xf7\x7a\x05\xdd\x06\x96\xc0\x05\x3a\x06\x9c\xdf\x05\xe4\x06\x0e\xfb\xf9\xf8\x01\x6f\x0a\xb3\xf7\xec\x35\x1d\xfc\x20\xf7" -+"\x39\x76\x15\x8a\x94\x90\x8a\x92\x1b\xa0\xa8\x8e\x8f\x9b\x1f\x9a\x5b\x0a\x7d\x96\x9b\x8d\x8c\x91\x8c\x91\x1f\xd9\xf8\x03\x05\xe4" -+"\x06\x99\xce\x05\xb4\x1d\x80\x8a\x81\x81\x1a\x6c\x95\x77\xa2\x7e\x1e\x5e\x37\x98\x85\x90\x8c\x8b\x8b\x91\x8c\x19\x8d\x95\x8c\x6d" -+"\x1d\x6f\x72\xcc\x1d\xb9\xca\xa7\x6d\xa2\x66\x87\x87\x8b\x89\x7e\x1f\x0e\xfb\x18\xf8\x37\xf9\x7d\x15\x55\x57\x78\x69\x5f\x1f\x4f" -+"\x5a\x68\x4d\x6b\xfb\x0b\x08\x6c\xfb\x03\x78\xfb\x07\x48\x1a\xfb\x09\xd2\x40\xf7\x04\xcb\xbf\x9e\xb2\xb9\x1e\xbf\xb8\xab\xc9\xab" -+"\xf7\x06\x08\xaa\xf7\x03\x9f\xf7\x09\xcd\x1a\xf7\x0b\x43\xd7\xfb\x05\x1e\xfb\x61\xfb\xde\x15\xa5\xf2\x9a\xb1\xab\xb8\x08\xb6\xa9" -+"\xb9\xa3\xbd\x1b\xd1\xb2\x5e\x3c\x6d\x87\x6d\x7f\x46\x1f\x7c\x48\x15\x76\x2e\x7d\x5a\x7a\x66\x08\x3f\x67\x56\x63\x47\x1b\x47\x64" -+"\xb8\xd8\xb3\x91\xb9\x9d\xe2\x1f\x0e\xfb\xe9\xf7\xb7\xf9\x9f\x2b\x1d\x58\x1d\xfb\x1e\xf9\x6d\x4e\x0a\x4c\x0a\x81\xf9\x78\x40\x0a" -+"\x4c\x0a\xf7\x2c\xf9\x4c\x36\x1d\xfb\x0e\xf8\xc4\x3f\x15\xfc\xeb\x06\x80\x59\x05\xf8\xeb\x06\x7e\x4f\x6b\x1d\xfc\x20\x0e\xfb\xe9" -+"\xcb\x1d\x4c\x48\x1d\xfb\x03\x4f\x35\x1d\xfc\x20\xf8\x02\x86\x0a\x82\x7f\x1a\x5a\xad\x6d\xc2\x9f\xa9\x8e\x8f\x9a\x1e\x9b\xd4\x05" -+"\x84\x6b\x87\x8a\x7e\x1b\x76\x7d\x96\x9b\x8f\x8c\x90\x8c\x90\x1f\xd9\xf8\x03\x05\xe3\x06\xfb\x8c\xfc\x99\x35\x1d\xfb\xe9\xa5\x0a" -+"\xfc\x20\x58\x0a\x88\x81\x16\xf9\x47\x06\xfb\x22\xf9\x6d\x05\x27\x06\xfb\xbf\xfd\x1b\x15\xf7\xd9\xf8\xaa\xee\xfc\xaa\x05\x0e\xe2" -+"\xab\x16\xf7\xb4\x20\x1d\x2f\xca\x6a\xc5\xf0\x1a\xf7\x5d\xf7\x17\xf7\x2f\xf7\x3f\xf7\x0b\xdb\x3c\xfb\x0b\x37\x6b\x31\x52\x41\x1e" -+"\x61\x55\x61\x6a\x35\x5e\x7a\x39\x18\xf7\xb4\x20\x1d\xfb\x50\x06\xf7\x33\xce\xe8\xf7\x1c\xf7\x38\x1a\xf7\x45\xfb\x07\xf7\x08\xfb" -+"\x44\xfb\x05\xfb\x01\x58\x35\x43\x1e\x4c\x41\x64\xfb\x02\x26\x1a\x4c\x9f\x4b\xaf\x5b\x1e\x9d\x72\x9a\x7d\xad\x73\x08\xfb\x55\x06" -+"\x0e\xfb\x12\xf8\x92\x21\x0a\x4e\xfb\xaf\x7d\x47\x7a\x69\x65\x68\x19\x6a\x69\x63\x7a\x64\x1b\x59\x64\xa9\xb3\x91\x8e\x9c\x8f\x9f" -+"\x1f\xd7\xf7\xf9\x21\x1d\xfb\x32\xfd\x7a\x05\xde\x06\xbe\xf7\x85\x05\x6a\xa8\xa6\x7e\xb6\x1b\xcb\xc6\xac\xca\xbb\x1f\x7b\x42\x05" -+"\xd6\x06\xf7\x04\xf8\xa0\x05\x0e\xfb\x50\xf8\x07\xfb\x6e\x15\xd3\xf7\x12\x96\xa3\xb3\x1a\xa3\x82\x9d\x78\x9a\x1e\x7f\x96\x8b\x8b" -+"\x4e\xa2\x55\xa0\x18\x46\xa6\x82\x8f\x78\x9c\x08\x71\xa1\x7e\xae\xb7\x1a\xf7\x0c\xec\xf7\x01\xf6\xc9\xb5\x68\x57\x84\x8a\x7f\x89" -+"\x7f\x1e\xe3\x06\x8d\x9b\x8c\x9a\x95\x1a\xe7\x41\xc9\xfb\x01\x39\x42\x6b\x4e\x54\x1e\x54\x4f\x68\x33\x3b\x1a\x2e\xbd\x47\xe9\x69" -+"\x1e\xe2\x6c\x05\xbc\x79\x96\x83\x78\x1a\x74\x82\x78\x3f\xfb\x0f\x1e\x0e\x84\x27\x0a\xf7\xad\xf9\xed\x2e\x0a\xb4\x5b\x1d\xf7\x93" -+"\xf7\x66\x24\x0a\x0e\xf8\x14\xf9\x78\x24\x0a\xf6\xfb\xfa\x31\x0a\x3e\x0a\xf7\x43\xf7\x6c\x24\x0a\x0e\xfb\x1c\xf7\x9a\xf8\x32\x15" -+"\xbd\xf7\x7d\x05\xf7\xfc\x20\x1d\xfc\x5a\x06\x48\xfb\xcf\x05\x5c\x06\x79\x39\x05\xbb\x06\x44\xfb\xe0\x05\xe9\x06\xd2\xf7\xe0\x05" -+"\xf7\x94\x20\x1d\x0e\xfb\xb1\xf7\x74\xf7\xd7\x15\xa6\xf7\x13\x05\xf7\x7c\x2d\x1d\xfb\xd1\x06\x61\xfb\x5d\x05\x65\x06\x7c\x41\x05" -+"\xb0\x06\x56\xfb\x8d\x05\x29\x0a\xf7\x2b\x2d\x1d\x0e\xf7\xf5\xf8\x4d\x5e\x0a\xf7\x07\x06\xf7\x2b\xfb\xed\x05\xbf\x06\x68\xfb\x33" -+"\x05\xe8\x06\xbf\xf7\x85\x05\x2b\x06\xfb\x19\xf7\xc2\xf7\xaa\xf7\xed\x05\x23\x06\xfb\x88\xfb\xc2\x05\xfb\x03\x06\xcb\xf7\xc2\x05" -+"\x2d\x06\x4b\xfb\xc2\x05\xfb\x03\x06\xfb\x08\xf7\xc2\x05\x22\xe2\x1d\xf4\x06\xf7\xbd\xf7\xed\x05\xf7\x03\x06\x0e\xf7\x25\xf7\xf3" -+"\x16\x29\x0a\xf7\x00\x06\xea\xfb\x8d\x05\xb6\x06\x6c\xfb\x35\x20\x0a\xb9\xf7\x7f\x05\x3e\x06\x3d\xf7\x68\xf7\x42\x71\x1d\x29\x41" -+"\x1d\x61\xfb\x5d\x05\xfb\x01\x06\x4d\xf7\x5d\x05\x2e\x06\xd5\xfb\x82\xfb\x78\xfb\xb2\x05\xf2\x06\xf7\x5d\xf7\x8d\x05\xed\x06\x0e" -+"\x4f\xf7\xda\x74\x15\xd3\x8e\xbf\x9d\xba\xb0\x08\xc9\xbd\xb3\xdb\xda\x1a\xd2\x8d\x1d\x5f\x77\x5a\xbd\x1d\x2b\x06\x86\x71\x89\x7d" -+"\x76\x1a\x22\xd2\x44\xf7\x06\x82\x1e\x65\x45\x98\x85\x90\x8c\x8b\x8b\x91\x8c\x19\x8d\x95\x8c\x6d\x1d\x6e\x73\x93\xa0\x62\x33\x1d" -+"\xbe\xa7\x5d\x0a\x87\x8b\x89\x7f\x1f\x0e\xfb\x65\xf7\x96\x75\x15\xf7\x01\x94\xdf\xdf\xef\x1a\xba\x77\xab\x5f\xa2\x1e\xd1\xab\xac" -+"\xb6\xc8\x1a\xd8\x4d\xc0\x32\xfb\x01\x3d\x46\xfb\x0a\x74\x1e\xe4\x06\xd4\x99\xc9\x1d\x6b\x81\x77\x1b\x67\x06\x7c\x41\x05\xae\x06" -+"\xc1\xab\x71\x5f\x4e\x57\x5c\x46\x57\x6e\xa2\xb4\x93\x8c\x93\x8d\x93\x1f\x8f\xa1\x05\x34\x06\x87\x75\x05\x88\x80\x8a\x80\x82\x1a" -+"\x3d\xbf\x5b\xe8\x83\x1e\x65\x46\xb1\x1d\x93\xa0\x62\x33\x1d\xbf\xa6\x39\x0a\x87\x87\x8b\x89\x7e\x1f\x0e\x83\xdb\x16\xc0\x0a\xd6" -+"\x06\xf7\x1a\xfb\xed\x05\xc5\x06\x68\x32\x1d\xc0\xf7\x8c\x05\x25\x06\xfb\x1a\xf7\xc2\xdd\x1d\x05\x53\x06\xcb\xf7\xc2\x05\x2d\x06" -+"\x0e\xfb\x1b\xd2\x16\x29\x0a\xc7\x06\xea\xfb\x8d\x05\xbb\x06\x68\xfb\x33\x20\x0a\xbe\xf7\x7d\x05\x3d\x06\x3d\xf7\x68\xf7\x42\xf7" -+"\x82\x05\x2a\x75\x1d\x4f\x41\x1d\x0e\x53\xf7\xd1\xf8\x3f\x15\x57\x06\xcb\xf7\xc2\x05\x2d\x22\x0a\xd4\xf7\xed\x05\xbf\x06\x65\xfb" -+"\x4b\x05\xc7\x06\xb1\xf7\x4b\x05\x8d\x06\xf7\x2b\xfb\xed\x05\xf3\x06\xfb\x3e\xf8\x14\xdd\x1d\xb2\xf7\x4c\x05\x4f\x06\x0e\xfb\x3d" -+"\xf7\xa6\xf7\xd7\x15\x59\x06\xb5\xf7\x5d\xe1\x1d\xc0\xf7\x8d\x05\xbd\x06\x70\xfb\x14\x05\xc1\x06\xa6\xf7\x14\xe9\xfb\x8d\x05\xed" -+"\x06\x21\xf7\xb2\xf7\x42\xf7\x82\x05\x2a\x06\xfb\x27\xfb\x5d\xa6\xf7\x14\x05\x55\x06\x0e\x36\xf7\x5f\xf9\x1b\x15\xfb\x1d\xfd\x1b" -+"\x05\x9e\x1d\xfb\xfe\x26\x0a\x0e\xfb\x5e\xf7\x2a\xf8\x56\x15\x34\x1d\x29\x0a\xca\x06\xea\xfb\x8d\x05\xe9\x06\x21\xf7\xb2\xf7\x43" -+"\x71\x1d\x54\x06\xb6\xf7\x5d\x05\xfb\xb9\x2a\x0a\x0e\xbb\xf8\xff\xf7\xe0\x15\x44\xfb\xe0\x05\xc3\x06\x68\x32\x1d\xbf\xf7\x8c\x05" -+"\x53\x2e\x1d\x2d\x06\x48\xfb\xcf\x05\xfc\x0a\x06\xce\xf7\xcf\x05\x2e\x22\x0a\xd2\xf7\xe0\x05\x0e\xfb\x10\xa8\x0a\xad\x06\x69\xfb" -+"\x35\x20\x0a\xbc\xf7\x7f\x05\x69\x25\x1d\x9f\x0a\xbb\xf8\x0b\x74\x15\xf7\x42\x92\xf5\xe0\xdb\xf7\x59\x8f\x1d\x3d\x2c\x59\xfb\x1d" -+"\xfb\x10\x1a\x30\xaa\x3f\xc5\x5b\x1e\xb0\x6d\xb0\x7c\xc7\x85\x65\x45\x18\x60\x1d\x93\xa0\xad\x0a\xbe\xa7\x5d\x0a\x87\x8b\x89\x7f" -+"\x1f\x0e\xfb\x42\xf7\xa9\x74\x15\xf7\x13\x92\xdd\xd0\xab\xf7\x13\xa6\x0a\x45\x60\x3f\x0a\xdf\x06\x8c\x9a\x05\x8c\x9a\x8c\x96\x8e" -+"\x1a\xac\x62\x1d\x4f\xa4\x50\xb4\x68\x1e\xa5\x75\xa7\x7f\xb3\x87\x65\x45\x5d\x1d\xbf\xa6\x39\x0a\x87\x87\x8b\x89\x7e\x1f\x0e\x84" -+"\x2f\x1d\x0e\xfb\x42\xf8\x8a\x21\x0a\xfb\x77\xfc\x2c\x56\xf8\x2c\x05\x32\x06\xd7\xfc\xa0\x5c\xfb\x6e\x05\xdf\x06\xba\xf7\x6e\xf7" -+"\xbe\xf8\xa0\x05\x0e\x84\xf8\x47\xf7\x72\x15\x98\xcb\xf8\x04\xf8\x4f\x05\xfb\x03\x06\xfb\xb4\xfb\xfa\xfb\x1d\xf7\xfa\x05\xfb\x04" -+"\x06\xf7\x4e\xfc\x4f\x7e\x4b\x05\xfb\x2f\x06\x79\x37\x05\xf7\x2f\x06\x6d\xfb\x1e\x05\xe9\x06\xa9\xf7\x1e\x05\xf7\x28\x06\x9d\xdf" -+"\x05\x0e\xfb\x42\xf7\xb8\x89\x15\x8c\x8d\xf7\xbe\xf8\xa0\x05\x32\x06\xfb\x77\xfc\x2c\x56\xf8\x2c\x05\x32\x06\xd7\xfc\xa0\x8a\x89" -+"\x05\xfb\x0d\x06\x7f\x52\x05\xf7\x0d\x06\x69\xfb\x33\x20\x0a\xad\xf7\x33\x05\xf7\x0b\x06\x97\xc4\x05\x0e\xae\xbe\x0a\xfb\x03\x06" -+"\xfb\x8d\xfb\xb2\xfb\x12\xf7\xb2\x05\xfb\x05\x06\xf7\x3b\xfb\xf7\xfb\xe6\xfc\x0a\x05\xf7\x05\xba\x0a\xca\x06\x68\x32\x1d\xbf\xf7" -+"\x8c\x05\x29\x06\x0e\xfb\x27\xf7\xf2\xf7\xa1\x15\xf7\x7c\xf7\x93\x05\x2c\x06\xfb\x43\x89\x0a\xb3\x06\x69\xfb\x33\x20\x0a\xbc\xf7" -+"\x7d\x05\x38\x06\x0e\xa0\xf8\x9d\x16\xc3\x06\x67\xa9\x1d\x2d\x06\x3c\xfc\x06\x05\x77\x3b\x59\x83\x4f\x1b\x21\x53\xa8\xc1\x91\x8c" -+"\x95\x8d\x94\x1f\xc4\x1d\xd9\x56\xf7\x1f\xce\xd3\x95\x9d\xd6\x1e\x0e\xfb\x3e\xf7\xf4\x16\xad\x06\x67\xfb\x33\x20\x0a\xbe\xf7\x7d" -+"\x05\x69\x25\x1d\x21\x1d\x55\xfb\x94\x05\x7d\x5c\x64\x85\x63\x1b\x56\x6e\xa0\xb2\x95\x8b\x8f\x8d\x93\x1f\xc3\x1d\xc4\x64\xe1\xbb" -+"\xb6\x94\x9f\xbd\x1e\x0e\xa0\xf8\x39\xf7\x8f\x15\xc5\x90\xbd\x93\xbe\x98\x50\xfb\xa9\x18\xe9\x25\x0a\x2d\x06\x3c\xfc\x06\x4b\x7a" -+"\x5e\x84\x59\x88\x19\xbb\xf7\x75\x05\x4f\x06\x5b\xfb\x75\x05\x32\x91\x5f\xa6\xbc\x1a\x91\x8c\x95\x8d\x94\x1e\xc4\x1d\xd3\x59\xf7" -+"\x20\x88\x1e\x6d\xfb\x21\x05\xc7\x06\x0e\xfb\x3e\xf7\xc6\xf7\x43\x15\xab\x90\xa2\x92\xac\x98\x61\xfb\x5c\x18\xdf\x96\x0a\x6c\x82" -+"\x71\x86\x6d\x87\x19\xa5\xf7\x0d\x05\x55\x06\x71\xfb\x0e\x05\x5e\x8f\x75\x9f\xae\x1a\x95\x8b\x8f\x8d\x93\x1e\xc3\x1d\xc0\x66\xe3" -+"\x89\x1e\x77\x25\x05\xc1\x06\x0e\xa0\xf7\xca\x36\x0a\xd9\xf8\x04\x05\xa0\xde\xc7\x94\xc6\x1b\xf5\xbb\x71\x54\x88\x1f\x83\x89\x82" -+"\x89\x81\x1e\x4e\xfb\xb6\x05\xe9\x06\xc9\xf7\xbb\x05\x8e\x98\x8d\x9a\x93\x1a\xb9\x73\xb5\x63\xa4\x1e\xa5\x62\x5a\x95\x3b\x1b\x3e" -+"\x59\x84\x77\x45\x1f\x0e\x20\xdd\x16\xdf\x06\xd4\xf7\xed\x05\xd3\xc8\xca\xb1\xc5\x1b\xb7\xa8\x6d\x5f\x7f\x8b\x88\x89\x83\x1f\x3f" -+"\xfb\xfa\x20\x0a\xd7\xf7\xfa\x05\x8f\x9b\x8c\x99\x9b\x1a\xd2\x51\xc4\x41\x4a\x54\x6f\x46\x45\x1e\xc9\xf7\xba\x21\x1d\x0e\xfc\x20" -+"\xf7\xe9\x36\x0a\x0e\x8a\xf8\xa3\xdd\x15\x52\x06\x7c\x39\x69\xfb\x33\x05\xe8\x06\xad\xf7\x33\x05\xc3\x95\x1d\xb5\xbb\x81\xdc\x1b" -+"\xd7\xbd\x92\x9f\xd0\x1f\x0e\xfb\x30\xf8\x08\xd5\x15\x59\x06\x5f\xfb\x7f\x20\x0a\xaa\xf7\x35\x05\xba\x06\x38\x1d\x37\x06\x55\xfb" -+"\x94\x05\x7d\x5c\x64\x85\x63\x1b\x56\x6e\x9f\xb0\x94\x8c\x96\x8e\x97\x1f\xb3\xf7\x4f\x21\x1d\x5d\xfb\x69\x05\x89\x80\x8a\x81\x80" -+"\x1a\x4b\xc9\x5f\xe6\xba\xb0\x93\xa0\xb9\x1e\x0e\xf3\xf7\x10\xf8\x24\x15\x7c\x57\x85\x61\x59\x1a\xfb\x43\xf4\x22\xf7\x44\xf7\x07" -+"\xf4\xb7\xdd\xdb\x1e\xe5\xe8\xc1\xf7\x1b\xf7\x17\x1a\xf7\x43\x22\xf4\xfb\x44\xfb\x31\xfb\x11\x40\xfb\x27\x31\x1e\xe3\x79\x05\xf2" -+"\xcb\xe8\xc2\xf7\x01\x1b\xf7\x14\xd7\x3b\xfb\x1a\x7c\x8b\x82\x89\x76\x1f\x7a\x38\x15\xfb\x37\x56\xfb\x08\x2b\xfb\x24\x1b\xfb\x14" -+"\x3f\xdb\xf7\x1b\x99\x8c\x97\x8d\x9d\x1f\x0e\xb4\x5b\x1d\xf8\x47\xf7\x1e\x53\x1d\xf7\xa7\x06\x0e\x3e\x0a\xf7\xf5\xf7\x1a\x15\xfb" -+"\xa6\x06\x7b\x46\x05\xf7\xa7\x06\x0e\xf3\x95\x0a\xfb\x48\xae\x0a\xe1\xe4\xbf\xf7\x1a\xf7\x16\x1a\xf7\x48\xfb\x00\xf7\x03\xfb\x44" -+"\x1e\xf7\x3e\xfc\x3c\x15\xfb\x34\x5a\xfb\x09\x28\xfb\x21\x1b\xfb\x12\x41\xdb\xf7\x1b\x9a\x8c\x96\x8d\x9d\x1f\x9c\xde\x15\xf7\x36" -+"\xbe\xf7\x07\xec\xf7\x21\x1b\xf7\x12\xd5\x3b\xfb\x1b\x7c\x8a\x80\x89\x79\x1f\x0e\x9a\x1d\xe3\xfb\xd2\x15\x20\x69\x49\x4f\x36\x1b" -+"\x45\x5f\xbc\xda\x97\x8c\x95\x8d\x9c\x1f\x9b\xd5\x15\xf5\xab\xcf\xc8\xe0\x1b\xd2\xb6\x5a\x3a\x7f\x8a\x82\x89\x7b\x1f\x0e\x68\xf9" -+"\x03\xfa\x02\x53\x1d\xf7\xa8\x06\xfc\x65\xfd\xbd\x15\xe3\x06\xc4\xb3\xa5\xcd\xb7\x1f\xf8\x30\xf9\x11\x05\xfb\x06\x06\xfb\xb2\xfc" -+"\x62\x26\xf8\x62\x05\xfb\x00\x06\xf7\x22\xfc\xcd\x69\x51\x72\x78\x61\x8a\x19\x53\x06\x0e\xfb\x42\xf8\x94\xf9\x30\x53\x1d\xf7\xa6" -+"\x06\x8c\x40\x15\xfb\x7b\xfc\x2c\x5b\xf8\x2c\x05\x36\x06\xcd\xfc\xa0\x59\x36\x05\x61\x73\x78\x7d\x69\x1b\x7c\x81\x8d\x94\x78\x1f" -+"\x7b\x3e\x05\x83\xa2\x98\x88\x9f\x1b\xa8\xa9\x94\x9a\xa3\x1f\xa6\x9d\x9c\x9f\xa6\xb9\xf8\x05\xf9\x0e\x18\x0e\xfb\xe9\xf9\x27\xfa" -+"\x1d\x6b\x1d\xf7\x86\xb0\x89\x15\xf7\x69\xaf\x8f\xa5\xc8\x1f\xf7\x05\xbd\xdf\xf7\x33\xf7\x37\x1a\xe1\x70\xd6\x5f\xad\x1e\xa4\x6c" -+"\x5e\x97\x50\x1b\xfb\x08\x38\x6b\x4d\x5e\x1f\x71\x67\x81\x64\x89\x42\xcc\xab\x18\x97\x07\xc1\x9c\xb1\xad\xa2\x1e\x9c\x96\x95\x8e" -+"\xb9\x94\x42\xfc\x1f\x18\x7c\x45\x73\x61\x6e\x81\x08\x77\x06\xd3\x8a\x15\xc8\xbc\x9a\xac\xa1\xf7\x0f\xc2\xf7\xd2\x18\x92\x06\x90" -+"\x06\x9e\x06\xa9\x97\x88\x7f\x9e\x1f\xb3\x72\xa1\x51\x3a\x1a\x20\x73\x34\x5c\x4c\x1e\x64\x59\x58\x6e\x54\x88\x08\xf7\x7b\xfb\x7d" -+"\x15\xce\x06\xad\xf7\x52\x05\x7d\xaa\x97\x88\x9e\x1b\xf7\x06\xee\xf7\x29\xf7\x42\xec\x64\xbd\x3e\x5c\x63\x77\x66\x6d\x1f\x69\x61" -+"\x79\x55\x75\xfb\x0b\x08\xb9\xfb\x00\x15\xae\xf7\x54\x05\xe1\x9b\xad\xbc\xb7\x1b\xb2\xa0\x63\x41\xfb\x20\x56\xfb\x02\x47\x71\x77" -+"\x95\xa1\x79\x1f\x0e\xe9\xa7\x16\xf7\xc2\x06\x9b\xd9\x05\x2d\xc6\x60\xd4\xee\x1a\xf7\x53\xf7\x26\xf7\x34\xf7\x41\xd1\xbb\x74\x58" -+"\xb1\x1e\xa9\x64\x99\x61\x5a\x1a\x2e\x62\x28\x45\x41\x1e\x5f\x5d\x63\x6f\x3d\x65\x7b\x3d\x18\xf7\xc1\x20\x1d\xfb\x5d\x06\xd7\xb2" -+"\xc0\xb3\xb6\xbf\x08\xc6\xd3\xb0\xef\xe6\x1a\xf7\x2f\xfb\x09\xf7\x02\xfb\x39\xfb\x02\x23\x5e\x36\x33\x1e\x3a\x3c\x5d\x21\xfb\x02" -+"\x1a\x25\xb3\x44\xe9\x4e\x1e\xfb\x5e\x06\x0e\xfc\x20\xf8\x78\x34\x0a\x0e\xfc\x20\x58\x0a\xf7\xda\xf8\xa9\xf8\x95\x15\x49\x06\xfb" -+"\x74\xfc\x95\x05\xdb\x06\xf7\x45\xf8\x2d\xf7\x45\xfc\x2d\x05\xdb\x06\x0e\xf7\xda\xf8\xa9\x16\xf7\x74\xf8\x95\x05\x3b\x06\xfb\x45" -+"\xfc\x2d\xfb\x45\xf8\x2d\x05\x3b\x06\xf7\x74\xfc\x95\x05\x0e\xf7\xda\xf8\x8c\xf9\x60\x15\xfb\x60\xfb\x34\xfb\x33\xfb\x5e\xfb\x5b" -+"\xf7\x34\xfb\x33\xf7\x5d\xf7\x5b\xf7\x34\xf7\x34\xf7\x5c\xf7\x59\xfb\x35\xf7\x36\xfb\x57\x1f\xa4\x52\x15\xf7\x23\x7e\xf7\x06\xfb" -+"\x06\x99\xfb\x25\x08\xfb\xa3\x06\xf7\xa4\x52\x15\x82\xfb\x22\xfb\x0d\xfb\x0f\xfb\x22\x80\x08\xf7\xa8\x07\x53\xfb\xa8\x15\xfb\x27" -+"\x99\xfb\x05\xf7\x05\x7d\xf7\x29\x08\xf7\xa6\x06\xfb\xa6\xc4\x15\x99\xf7\x24\xf7\x07\xf7\x06\xf7\x25\x99\x08\xfb\xa4\x07\x0e\x45" -+"\xb6\x16\xf8\x9b\xf8\x9b\xfc\x9b\x06\xf8\x67\xfc\x67\x15\xfc\x33\xf8\x33\xf8\x33\x06\x0e\xb8\xf8\xeb\xf8\xf7\x15\x45\xfb\xa4\x06" -+"\xfb\x05\x86\x5f\x7b\x6b\x1e\x56\x70\x50\x67\x4c\x1b\x54\x54\xa7\xb7\x6e\x1f\x73\xb0\x84\xb7\xf7\x11\x1a\xf7\xa4\x45\xfb\xa1\x07" -+"\xfb\x29\x90\x65\xa6\x5f\x1e\x45\xb5\xd7\x62\xe5\x1b\xde\xd1\xac\xc9\xb8\x1f\xaf\xbc\x91\xaf\xf7\x36\x1a\x0e\x3a\xf8\x27\xf8\x1c" -+"\x15\xfb\x69\x06\x41\xf7\x4d\x05\x2d\x06\xf7\x7d\xfc\xd5\x05\xde\x06\xf7\x7d\xf8\xd5\x05\x2d\x06\x22\xfb\x9d\x15\x3f\xfb\x48\x40" -+"\xf7\x48\x05\x0e\xf8\xe6\x21\x0a\x37\x06\x4c\xfb\xbd\x05\xfb\x00\x74\x45\x45\x35\x1b\x54\x69\xa8\xbb\x93\x8c\x94\x8d\x95\x52\x0a" -+"\x9f\x06\x3c\x6a\x5f\x5d\x5b\x1a\x5b\xb7\x6d\xd2\xa6\x9e\x8e\x92\xa0\x1e\x94\xb8\x05\x85\x7a\x72\x87\x77\x1b\x6d\x72\x9f\xa4\x9f" -+"\x96\x9f\xa3\xa1\x1f\xad\xaa\x98\x95\xa2\x97\x08\x0e\xfb\x10\x44\x1d\x0e\xfb\x10\x44\x1d\xf7\x1c\xf7\x53\x65\x1d\xfb\x10\x44\x1d" -+"\xf7\x2e\xf7\xe3\x15\x78\x30\x8f\x23\x05\xa9\xa8\x1d\xfb\x10\x44\x1d\xf7\x1d\xf7\x93\x2b\x1d\x4c\x0a\xa4\xf9\x86\xd0\x1d\x6c\xa7" -+"\x62\x1f\x83\x5f\x15\xa0\x99\x7d\x77\x70\x7a\x1d\xa6\x1f\x0e\x58\x1d\xf7\x0e\x90\x1d\xbb\x3a\x1d\xdb\xf9\x78\x23\x1d\xbb\x3a\x1d" -+"\x83\xf9\x79\x24\x1d\xbb\x3a\x1d\x97\x53\x0a\xbb\x3a\x1d\x8d\xf9\x78\x24\x0a\x0e\xfb\x77\xf7\x4d\xf9\x23\x15\xf4\x06\x49\x6f\x5f" -+"\x4d\x4a\x1a\x57\xa8\x64\xc4\x73\x1e\x54\x80\x6a\x7c\x68\x6d\x08\x5a\x61\x6f\x4c\x49\x1a\x58\x9d\x60\xac\x72\x1e\xa6\x77\xaa\x81" -+"\xc1\x87\xbd\x87\x18\xd0\x86\x96\x85\x70\x1a\x6b\x81\x76\x3e\xfb\x14\x1e\xe4\x06\xcd\xf7\x04\xa2\xc3\xb8\x1a\x9b\x85\x9a\x82\x96" -+"\x1e\x79\x9f\x74\x93\x52\x91\x5a\x90\x18\x4d\x92\x7c\x8e\x79\x94\x08\x75\x96\x7d\xa6\xab\x1a\xc5\xac\xc3\xc1\xaa\x1e\xa4\xb7\xb9" -+"\x95\xdb\x1b\xbd\x06\x9b\xd5\x05\x5c\x06\xfb\x03\x58\xa6\xc7\xb5\xa8\xbd\xb4\xa6\x1f\xa1\xac\xae\x93\xc5\x1b\xe5\x06\x9a\xd5\x05" -+"\xfc\x07\x06\x0e\xfb\x42\x4d\x0a\xfb\x8a\xf7\x6d\x24\x1d\xfb\x42\x4d\x0a\xfb\x86\xf7\x6c\x2e\x0a\xfb\x42\x46\x1d\x28\xf7\xb7\x15" -+"\xfb\x14\xfb\x28\x05\xc7\x45\x0a\xfb\x42\x46\x1d\x32\xf7\x9e\x23\x0a\xfb\x67\xf7\x80\xf9\x23\x15\xf7\x74\x06\x40\x66\x45\x55\x48" -+"\x42\x08\x27\xfb\x00\x53\xfb\x0f\xfb\x03\x1a\x55\xa3\x5e\xb1\x77\x1e\xa5\x7e\xa4\x85\xc2\x85\xaf\x87\x18\xc4\x85\x96\x85\x73\x1a" -+"\x6e\x7d\x6b\x57\x36\x1e\x83\x7e\x84\x7f\x84\x7f\x08\xe4\x06\xd5\xf7\x13\x99\xac\xbd\x1a\xa5\x81\xa0\x79\x97\x1e\x79\x96\x7b\x8f" -+"\x5b\x91\x64\x90\x18\x44\x93\x8b\x8b\x78\x95\x08\x74\x96\x7e\xa5\xac\x1a\xdf\xc2\xf7\x04\xe4\xec\x1e\xd7\xde\xda\xc7\xf2\xc1\x9b" -+"\xd5\x18\xfb\xec\x06\x0e\x74\xa2\xf8\xa0\x9a\xf7\x52\x97\x6b\x99\x06\xdc\x0a\xe4\x0b\xb3\x8f\x8f\x8e\x8e\x92\x92\x90\x90\x8e\x9d" -+"\x90\x0c\x0c\xf8\xc0\x14\xf9\x36\x15\xb0\x13\x00\xa1\x02\x00\x01\x00\x05\x00\x09\x00\x0e\x00\x13\x00\x1e\x00\x25\x00\x2a\x00\x31" -+"\x00\x6d\x00\x74\x00\x79\x00\x99\x00\x9c\x00\xaa\x00\xaf\x00\xb4\x00\xbe\x00\xda\x01\x07\x01\x26\x01\x2b\x01\x39\x01\x3e\x01\x45" -+"\x01\x4c\x01\x58\x01\xa8\x01\xbb\x01\xcc\x01\xcf\x01\xeb\x02\x04\x02\x0c\x02\x1a\x02\x2b\x02\x30\x02\x3c\x02\x43\x02\x49\x02\x4f" -+"\x02\x5b\x02\x71\x02\x81\x02\x88\x02\x9d\x02\xc1\x02\xc8\x02\xd6\x02\xf8\x03\x1f\x03\x3d\x03\x42\x03\x47\x03\x4c\x03\x51\x03\x5c" -+"\x03\x62\x03\x65\x03\x77\x03\x81\x03\x8a\x03\x8e\x03\x92\x03\xb3\x03\xda\x04\x03\x04\x83\x05\x00\x05\x7c\x05\xf4\x06\x0a\x06\x67" -+"\x06\x87\x06\x92\x06\xc1\x06\xe7\x07\x0b\x07\x4c\x07\x4f\x07\x71\x07\x99\x07\xb5\x07\xd7\x08\x0c\x08\x34\x08\x66\x08\x99\x08\xae" -+"\x08\xb1\x08\xda\x08\xdd\x08\xf8\x08\xfd\x09\x16\x09\x1e\x09\x3d\x09\x43\x09\x4f\x09\x6a\x09\x8c\x09\x9d\x09\xbd\x09\xc4\x09\xd1" -+"\x09\xed\x0a\x09\x0a\x23\x0a\x3e\x0a\x49\x0a\x4e\x0a\x51\x0a\x68\x0a\x77\x0a\x7d\x0a\x93\x0a\xa9\x0a\xbd\x0a\xd2\x0a\xdb\x0a\xe4" -+"\x0a\xf5\x0b\x09\x0b\x1d\x0b\x2a\x0b\x3d\x0b\x50\x0b\x5a\x0b\x5d\x0b\x63\x0b\x6e\x0b\x7e\x0b\x8d\x0b\x9e\x0b\xa8\x0b\xb2\x0b\xc2" -+"\x0b\xd2\x0b\xe2\x0b\xea\x0b\xf1\x0b\xfd\x0c\x01\x0c\x0f\x0c\x1d\x0c\x2a\x0c\x35\x0c\x3e\x0c\x46\x0c\x52\x0c\x5e\x0c\x6a\x0c\x73" -+"\x0c\x7f\x0c\x8b\x0c\x96\x0c\xa1\x0c\xac\x0c\xb7\x0c\xc2\x0c\xcb\x0c\xd2\x05\xdf\x06\x0b\xf8\xa0\x15\x0b\x26\x1d\xe9\x06\x0b\x37" -+"\x0a\xf3\x06\x0e\x15\x21\x06\xf7\x10\xfb\x28\x05\xc1\x06\x0b\x06\xf7\x2f\xf9\x6d\x05\x0b\x06\x7a\x39\x05\x0b\xf7\x93\xf7\xe0\x80" -+"\x0a\x0b\xb8\x1e\xbc\x5a\x3c\xa7\x30\x1b\x7f\x3a\x15\xcf\xcb\x6f\x5f\xad\x1f\xa6\x68\x99\x5c\x4f\x1a\x2f\x6c\x2b\x56\x42\x1e\x3a" -+"\x50\x33\x5d\x2a\x1b\x4a\x4c\xa7\xb7\x68\x1f\x70\xae\x7d\xba\xc6\x1a\xe7\xaa\xec\xc0\xd5\x1e\xda\xc5\xe4\xba\xe9\x1b\x0b\xdf\x06" -+"\xc0\xf7\x8d\x05\x0b\x06\x7b\x41\x05\x0b\xf9\xb5\x22\x1d\x32\x06\xfb\x13\xfc\xea\xfb\x8e\xf8\xea\x05\x23\x26\x1d\xe4\x06\xf7\x12" -+"\xf8\xe3\xf7\x8d\xfc\xe3\x05\xf5\x06\x0b\x4a\x1d\x0e\xf7\xb6\xf8\xa3\x15\x37\x06\xfb\x04\xfc\xa3\x20\x0a\x0b\x15\x21\x74\x1d\x0e" -+"\x06\x9d\xdd\x05\x0b\xf8\xad\x61\x1d\x6f\xd7\x5f\x28\x0a\x0b\x15\x99\xd6\x8e\xa5\xab\x1a\xed\x5f\x1d\xdf\xa1\x8c\x95\x8f\x9a\x1f" -+"\x9d\xd3\x77\x1d\x81\x8a\x84\x89\x7b\x1f\x0e\xf9\x7c\x16\xf7\xe8\xf9\x6d\x05\x23\x06\xfb\x9b\xfc\xe4\x62\xf8\xe4\x05\x2b\x06\xfb" -+"\xb4\xfc\xe4\x7c\xf8\xe4\x05\x27\x06\xab\xfd\x6d\x05\xf1\x06\xf7\xb6\xf8\xe4\xb4\xfc\xe4\x05\x0b\xf9\x75\x22\x1d\xfc\xa1\x26\x0a" -+"\xf8\x2a\x06\xfc\xbf\xfc\xc7\x79\x37\x05\xf8\xc0\x20\x1d\xfc\x4a\x06\xf8\xc0\xf8\xc7\x05\x0b\xf9\x59\x35\x0a\x0b\x15\xfc\xf3\xfd" -+"\x6d\x05\xc5\x06\xf8\xf3\xf9\x6d\x05\x0b\xa0\x0a\xe9\x06\x0b\x15\x23\x06\x75\x24\x05\x0b\x06\xfb\x1e\xfd\x1b\x05\x0b\x83\xb2\x1b" -+"\xe0\xc7\xb8\xcb\xa7\x6d\xa2\x66\x0b\xf9\x96\xf8\x8b\x15\xb9\x1d\x3c\x2c\x5a\xfb\x1d\xfb\x12\x1a\x45\x9f\x4c\xb0\x5c\x1e\x51\xb9" -+"\xca\x70\xe4\x1b\xf5\xe7\xb2\xd2\xcc\x1f\xb2\xb6\xab\xc2\xad\xdc\x08\x29\x06\x72\x52\x7b\x6d\x79\x72\x08\x50\x61\x3f\x66\x3c\x1b" -+"\x23\x46\xdc\xf7\x0d\xe7\xa9\xee\xbe\xd7\x1f\xe5\xc8\xd4\xb6\xe7\x1b\xf0\xbd\x5a\xfb\x00\x93\x1f\x0b\x15\xac\x0a\x44\x45\x36\x1b" -+"\x54\x69\xa8\xbb\x93\x8c\x95\x8d\x94\x52\x0a\x0e\x7e\x0a\xab\x1e\xa3\xa0\x96\xa0\x97\x47\x0a\x81\x62\x74\x4f\x56\x0a\x80\x0a\x0e" -+"\xda\x16\xdf\x06\x95\xbb\xf7\xbc\xf7\xca\x3f\xfb\xfa\x05\x73\x1d\x82\x5f\xfb\xbb\xfb\xc7\xd5\xf7\xf3\x21\x1d\x0b\xbc\xd9\xcb\xa0" -+"\xd7\xac\xbf\x1f\xc6\xb1\xbc\xa9\xc8\x1b\xca\xb2\x68\x52\x85\x8b\x84\x8a\x82\x1f\x0b\x15\x6a\x1d\xc9\x16\x6a\x1d\x0e\xbb\x1d\xf2" -+"\xee\xc3\x28\x05\xcb\x06\x4a\xf7\x2a\x05\x0b\x15\x76\x29\x05\xc2\x06\x50\x80\x73\x6e\x64\x1b\x83\x65\x05\xca\x0b\xd0\x16\x73\x1d" -+"\x0b\x1e\xa2\xa3\xa9\x95\xb7\x1b\xc6\xac\x75\x63\x0b\x06\xf7\x48\xf7\x28\x05\x0e\x15\x6e\x79\x81\x83\x0b\xb7\x08\x53\x06\x63\x0b" -+"\xf8\x06\xf8\xa0\x3b\x1d\xf7\xb8\xce\x3b\x1d\x0b\xf8\xbb\xf7\xf0\x15\x8c\x9a\x05\x8c\x9b\x8c\x96\x8e\x1a\xab\x93\x1d\x46\x5f\x3f" -+"\x0a\x0b\xf8\x14\xf8\xaf\xa0\x1d\xbf\x68\xac\x1e\xac\x6a\x5d\x45\x1d\x0b\xf9\x56\xf9\x6d\x70\x0a\x0b\xf8\x77\x16\xac\x0a\x44\x45" -+"\x36\x1b\x54\x69\xa8\xbb\x93\x8c\x95\x8d\x94\x52\x0a\x0b\x94\x0a\x05\x61\x70\x7c\x81\x64\x1b\x81\x87\x8b\x8f\x6e\x1f\x7b\x40\x05" -+"\x83\x9d\x97\x89\x9e\x1b\xd2\xbe\xac\xd6\xb6\x1f\xf8\x04\xf9\x0e\x05\x0b\x87\x0a\x62\x74\x4f\x56\x0a\x50\x7b\x4a\x6f\x59\x1f\x46" -+"\x65\x55\x67\x46\x66\x1d\x0b\x1f\x98\x64\x7b\x8f\x79\x1b\x71\x6d\x7c\x76\x7b\x1f\x7f\x7c\x83\x7a\x7f\x68\x72\x1d\x91\x95\x89\x87" -+"\x96\x1f\x75\xcb\x9c\x87\xa1\x1b\x0b\x15\x2b\x31\x35\x2e\x49\xbe\x59\xcf\xef\xe2\xe0\xec\xcd\x59\xba\x45\x1f\x7e\x54\x15\xb4\xab" -+"\x6c\x64\x4e\x57\x55\x4f\x60\x6c\xa8\xb5\xc8\xc0\xc0\xc7\x1f\x0b\x1f\xda\xf8\x07\x21\x1d\x35\xfc\x28\x05\x89\x81\x8a\x80\x7e\x1a" -+"\x47\xbf\x62\xe1\xd9\xc4\xa3\xc3\xc5\x1e\x7f\x52\x05\x0b\xf9\x5f\x4a\x1d\x0e\xf9\x79\x41\x0a\x0b\xfa\x3f\x2c\x1d\x0e\x1b\x5a\x6b" -+"\xaa\x0a\xa7\x6d\xa2\x66\x87\x87\x8b\x89\x7e\x1f\x0b\xf7\xb0\xf7\xdf\xbf\x0a\x79\x1d\x0e\xc8\x6a\xab\x33\xa1\x1e\x3f\x9e\x05\x53" -+"\x99\x6e\x9f\xa5\x1a\x9f\x97\x0b\xd4\x05\x83\x6a\x89\x8b\x7e\x1b\x75\x0b\x05\x53\x7f\x7c\x7d\x58\x1b\x85\x0b\x39\x0a\x86\x0b\x16" -+"\xc0\x0a\x0b\xf8\xbc\xbe\x3d\x1d\xa5\x8b\x8b\x96\x1a\xcf\x47\xb8\x21\x4c\x1d\x84\x8a\x84\x6b\x0a\x51\x6c\x51\x1d\xe9\x98\x94\x8c" -+"\xb7\x9a\x08\x0b\x83\x1d\x61\xa7\x73\xbb\x97\x8e\x8b\x91\xa3\x1e\x8d\x91\x8d\x8c\x91\x52\x1d\x52\x6b\xa3\xb5\xac\x9e\xac\xa9\x9d" -+"\x1f\xa3\x9a\xa8\x93\xbd\x92\xe9\x43\x1d\x0b\xf9\x56\xf8\x97\x15\x91\xa7\x8d\x98\x9a\x1a\xb7\x76\xb8\x5a\x1d\x79\x66\x6e\x70\xe6" -+"\x1d\xb4\xe7\x68\x1d\xfb\x0d\xe5\x44\xf7\x2b\xf5\xe2\x92\x1d\x84\x88\x77\x1e\x0b\xf8\xa1\x21\x0a\x7a\x3d\x7c\xac\x81\x99\x75\x9b" -+"\x19\x9e\x71\x6b\x96\x69\x1b\x3e\x3d\x65\x4d\x5a\x1f\x55\x48\x66\xfb\x03\x2e\x1a\xfb\x01\xd2\x3f\xf1\xca\xc5\xa6\xc0\xbe\x1e\x87" -+"\x78\x05\xfb\x1c\x6e\x56\x55\x20\x1b\x47\x63\xa6\xb8\x1f\x91\x07\x93\x37\x07\x8a\x79\x8a\x81\x88\x1a\x3e\xd0\x59\xf7\x00\xdb\xd1" -+"\xa3\xb6\xb8\x1e\xbd\xbb\xa6\xc8\xa6\xf7\x13\xe8\xf8\x4b\x18\xfb\x82\x4d\x15\xcc\xb4\x5b\x40\x4d\x79\x42\x6f\x59\x1f\x4e\x6a\x50" -+"\x65\x4f\x1b\x48\x61\xbc\xdb\xc7\x9b\xcb\xa9\xbf\x1f\xcd\xaf\xc2\xaf\xcb\x1b\x0b\xf8\x44\xf8\x21\x15\x61\xfb\x5c\x80\x59\x7d\x68" -+"\x78\x76\x19\x74\x78\x6f\x7c\x74\x1b\x64\x74\xac\xc4\xf7\x15\xd6\xf7\x25\xf7\x0d\xf6\x1f\x23\x06\x67\x6e\x6c\x67\x6a\x57\x08\x56" -+"\x39\x70\x32\x32\x1a\x22\xbe\x4a\xdd\xc4\xb7\xa6\xc9\xb7\x1e\x93\x71\x91\x80\x96\x7e\x08\x73\x9f\xaf\x7c\xae\x1b\xc0\xc2\xa9\xbd" -+"\xb3\x1f\xbe\xcc\xad\xf5\xec\x1a\xd9\x77\xcf\x64\xc0\x1e\x30\x06\xb5\x4e\x9e\x4d\x41\x1a\x46\x79\x40\x6c\x52\x1e\x5e\x72\x64\x6f" -+"\x66\x1b\x69\x79\xa2\xb6\x9f\x8c\x93\x96\xbd\x1f\xb5\xf7\x5c\x05\x0b\xf9\xad\xf8\x15\x15\xfb\xc4\x06\x79\x39\x05\xf7\x72\x06\x85" -+"\x71\x7c\x49\x6e\x5d\x58\x61\x19\x5f\x55\x51\x76\x46\x1b\x41\x4b\xa7\xb9\x6c\x1f\x73\xae\x7e\xc0\xc4\x1a\xe3\xae\xf2\xc0\xd1\x1e" -+"\xda\xc8\xe1\xb6\xec\x1b\xc8\xbd\x79\x69\xac\x1f\xa5\x70\x95\x71\x8c\x5c\x08\xe6\x92\x06\x8f\x07\x91\x07\xf7\x19\x2a\xde\xfb\x31" -+"\xfb\x08\x29\x63\x3d\x3d\x1e\x2b\x2b\x51\xfb\x1c\xfb\x16\x1a\x2d\xad\x35\xc3\x5d\x1e\x66\xb8\xcd\x76\xcf\x1b\xcc\xd0\x9d\xaa\xc1" -+"\x1f\xa3\x99\x9e\x99\xb1\xab\x8f\x31\x18\xc6\x06\x0b\xab\x9a\x15\xae\x64\xe6\xdc\x05\x57\xbe\xd7\x6f\xe8\x1b\xe4\xdf\xa6\xbd\xce" -+"\x1f\xf7\x08\xe1\xd9\xf7\x39\xf7\x32\x1a\xc3\x7f\xbe\x72\xb6\x1e\xe7\xde\x68\xb2\x34\x3d\x05\xbf\x5f\x36\xab\x2a\x1b\xfb\x05\x2a" -+"\x60\x37\x3b\x1f\x34\x2f\x55\xfb\x18\xfb\x0e\x1a\x4b\x99\x4d\xa3\x61\x1e\xd7\xcf\x15\x7e\xa9\x86\xa5\xb3\x1a\xf7\x72\xf7\x22\xf7" -+"\x42\xf7\x4a\xce\xc8\x72\x60\xaf\x1e\xa7\x5d\x15\x96\x72\x90\x67\x61\x1a\x33\x6b\x28\x57\x43\x1e\x3c\x51\x31\x5c\x2e\x1b\x49\x4e" -+"\xa3\xb4\x69\x1f\x0b\xf8\xbb\xf7\xf0\x15\x8c\x9a\x05\x8c\x9a\x8c\x96\x8e\x1a\xac\x93\x1d\x45\x60\x3f\x0a\x0b\x15\x94\x06\xa2\x06" -+"\xc1\xa4\x7a\x67\x50\x5d\x62\x4b\x5a\x71\xa0\xb3\x93\x8c\x92\x8d\x98\x1f\x4d\x06\x88\x7b\x8a\x82\x7f\x1a\x47\xb6\x66\xdd\xf5\xdc" -+"\xd1\xe7\xb0\x7b\xa1\x66\x98\x1e\xbd\x9f\xa7\xb4\xbf\x1a\xc6\x61\xac\x40\x2e\x50\x5b\x2d\x76\x1e\xc9\x06\x91\xa6\x91\x99\x94\x98" -+"\x08\xa1\x9c\xa9\x98\xac\x1b\xb2\xa3\x79\x6c\x6d\x7e\x72\x76\x80\x1f\x80\x77\x77\x88\x58\x1b\x0b\xf8\xc7\xf7\x7e\x15\x99\xd9\x8e" -+"\xa3\xab\x1a\xec\x5f\x1d\xe0\xa1\x8c\x94\x8f\x9a\x1f\x9d\xd3\x77\x1d\x82\x8a\x83\x89\x7b\x1f\x0b\xf8\x14\xf8\xaf\x96\x1d\x5c\x39" -+"\x4f\x0a\x0b\xf8\x0f\xf8\xaf\x15\x38\x3e\x66\x4b\x58\x1f\x58\x4b\x6a\x25\x30\x1a\xfb\x0f\xda\x3a\xf7\x0d\xe1\xd6\xaf\xcc\xbf\x1e" -+"\xbe\xcc\xac\xef\xe4\x1a\xf7\x13\x3d\xdb\xfb\x10\x1e\x88\x3e\xa4\x1d\x0b\x4d\x1d\xe5\xaf\xb3\x92\x98\xb0\x1e\xaa\x96\x9a\x95\xb5" -+"\xaf\x08\x84\x07\x87\x07\x61\xa7\x73\xbb\x97\x8e\x8b\x91\xa3\x1e\x8d\x91\x8d\x8c\x91\x52\x1d\x0b\xf8\x7b\xb3\x1d\x96\x8c\x96\x8e" -+"\x97\x1f\x99\xcd\x05\x2d\x06\x7d\x4b\x05\x87\x7a\x89\x7a\x7d\x1a\x60\xa0\x61\xad\x6f\x1e\x75\xa6\xae\xc6\x1d\x0b\xf8\x95\xf7\x6a" -+"\x15\x5e\xfb\x6a\x05\xf8\x76\x20\x1d\xfc\x18\x06\xc0\xf7\x8e\x05\xf7\xf3\x2f\x0a\xfb\xf3\x06\xbc\xf7\x7d\x05\xf8\x07\x20\x1d\xfd" -+"\x02\x06\xfc\x5a\xfd\x6d\x05\xf2\x06\xf7\x16\xf7\x6a\x05\xf7\xb3\xdc\x15\xfb\x82\x06\xf7\x68\xf7\xf4\x05\xef\x06\x0b\x70\x0a\x0e" -+"\x86\x0a\x80\x81\x1a\x5a\xad\x6d\xc2\xa0\xa8\x8e\x8f\x9a\x1e\x9b\x5b\x0a\x7d\x96\x9b\x8e\x8c\x90\x8c\x91\x1f\xd9\xf8\x03\x05\xe4" -+"\x06\x0b\x15\x49\x1d\xd1\x98\x3f\x1d\x83\x67\x85\x60\x7a\x1a\x62\xa2\x59\xab\x6e\x1e\x66\xb4\xcd\x76\xd8\x1b\xf7\x3c\xf7\x15\xe9" -+"\xf7\x26\xaa\x1f\xf7\x01\xf8\x94\x05\x0b\xf7\x8f\xf7\xc9\xa4\x0a\xf5\x4d\xc2\xfb\x0f\x1e\xfb\xc2\x22\x0a\xde\xf8\x1b\x15\xc2\xf7" -+"\x94\x05\xf7\x56\xbe\x1d\xe4\x16\xa3\x1d\x5f\xfd\x1b\x15\xf7\x0d\xf8\xc9\x05\xf7\x3f\x06\xf6\xcb\x4d\x22\x2f\x6c\xfb\x0c\x62\x4c" -+"\x1f\x3b\x58\x3e\x60\x30\x1b\x0b\xf7\x75\x22\x1d\xfb\x2f\xfd\x6d\x05\x78\x1d\xe6\x1b\xbe\xad\x69\x58\x7f\x8b\x8b\x85\x70\x1f\x42" -+"\xfb\xeb\x20\x0a\xdb\xf8\x0c\x05\x8e\x98\x8c\x97\x97\x1a\xda\x59\xba\x36\x40\x5b\x76\x50\x4b\x1e\xc4\xf7\xa2\x05\x0b\x94\x0a\x74" -+"\x64\x7a\x80\x66\x8a\x19\x7f\x06\x81\x06\x7c\x8d\x86\x8b\x86\x8c\x7b\x40\x18\x83\x9d\x96\x89\xa0\x1b\xd1\xbd\xac\xd6\xb7\x1f\xf8" -+"\x04\xf9\x0e\x05\x0b\xf8\x6b\xf8\x0a\x15\xf7\xd7\xf7\xf7\x05\xfb\x06\x06\xfb\x8c\xfb\xb1\xfb\x11\xf7\xb1\x05\xfb\x05\x06\xf7\x3b" -+"\xfb\xf7\xfb\xe7\xfc\x0a\x05\xf7\x07\x06\xf7\x9c\xf7\xc4\xf7\x1a\xfb\xc4\x05\xf7\x07\x06\x0e\x65\x9d\x1b\x95\x91\x93\x97\x90\x88" -+"\x8f\x7a\x9a\x1f\x69\xa6\x53\xd0\x76\xb3\x08\xb3\x75\x86\x92\x83\x1b\x83\x86\x88\x82\x86\x1f\x4f\x27\x7a\x75\x56\x5c\x08\x76\x78" -+"\x8a\x8a\x82\x1a\x81\x92\x84\x94\x9f\x0b\xbc\x1d\x80\x7c\x83\x7b\x7f\x67\x72\x1d\x90\x42\x1d\xcc\x9c\x87\xa1\x1b\xb7\xb6\x0b\x79" -+"\x0a\x0e\xf7\x76\xf7\x8d\x15\xf7\x2e\xf7\x13\xf7\x3c\xfc\x0c\x05\xf7\x02\x06\xfb\x62\xf8\x43\xf7\xfd\xf7\xbe\x05\xfb\x0c\x06\xfc" -+"\x50\xfc\x09\xda\xf8\x09\x05\x2d\x22\x0a\x0b\x7c\x0a\x0e\xf7\x48\x21\x0a\xfb\x13\xfc\xec\x9b\x0a\x8e\x8b\x94\x1b\xf7\x07\xb6\xa6" -+"\xdd\x9d\x1f\xf7\x1a\xf9\x0d\x05\x0b\xf9\x01\x7f\x0a\x0b\x16\xf7\x8f\x9c\x0a\xfb\x3a\x06\xb7\xf7\x66\x21\x1d\x80\xfc\x56\x15\xae" -+"\xf7\x3a\x05\xf7\x38\x06\x0b\x40\x1d\xd6\xbc\xbe\x9e\xa9\x0b\xf7\xe0\x15\x44\xfb\xe0\x05\xe9\x25\x0a\x2d\x06\x48\xfb\xcf\x05\xfc" -+"\x09\x06\xce\xf7\xcf\x05\x2d\x22\x0a\xd2\xf7\xe0\x05\x0b\xa2\x1d\xfc\x41\x06\x0b\x15\xf7\x14\xf7\x28\x05\x4b\x06\x23\x79\x1d\x0b" -+"\xbd\x0a\x45\x4e\x40\x6f\x94\x7d\xac\x74\x1e\x4a\x6f\x69\x5c\x4f\x1a\x4b\xb8\x64\xd3\xea\xdb\xd3\xdf\xaf\x0b\x06\x2a\xfc\x59\x71" -+"\xfb\x07\x4f\x43\x3e\x84\x19\x7a\x39\x05\x9b\x06\xca\x89\xbd\xa2\xc1\xc3\xb7\xba\xa4\xc0\xa2\xf0\xd9\xf8\x05\x18\x0b\xf7\xce\xf9" -+"\x1b\x15\xf8\x09\x38\x0a\xe9\x25\x0a\xfc\xc5\x22\x0a\x0e\x15\xf8\x04\xf8\x4f\x05\xfb\x03\x06\xfb\xb5\xfb\xf9\xfb\x1c\xf7\xf9\x05" -+"\xfb\x04\x06\xf7\x4e\xfc\x4f\x4e\xfb\xb2\x05\xe9\x06\x0b\x21\x0a\xb4\x1d\x81\x8a\x0b\x7e\x0a\xac\x1e\xa2\xa0\x97\xa0\x96\x47\x0a" -+"\x81\x0b\x07\x93\x79\x7a\x8e\x79\x1b\x4a\x52\x55\x4e\x65\xa6\x74\xb7\xba\xb9\xa3\xb3\xa7\x1f\xa0\xa8\x93\xa9\xbc\x1a\x0b\xfb\x52" -+"\x37\xf7\x52\x05\x2c\x06\xf7\x12\xfb\x93\xfb\x81\xfb\xa1\x05\xeb\x06\xf7\x45\xf7\x5d\xe1\xfb\x5d\x05\x0b\x15\x75\x24\x05\xc6\x06" -+"\x39\x7d\x76\x70\x5b\x1b\x83\x65\xcd\x88\xbd\xbc\x9c\xe0\x19\xa5\xf7\x0b\x05\x0e\x06\x49\xfb\xce\x7d\x45\x5e\x55\x55\x7f\x19\x7b" -+"\x41\xf7\x04\x90\xd7\xd8\xa5\xf7\x1b\x19\xbc\xf7\x7d\x05\x0b\x42\x0a\xbb\xbc\xdd\x9c\x1f\x9f\xe8\x05\x0e\xf8\xa0\x91\x0a\x0b\x91" -+"\x0a\x0e\x15\xfc\x51\xf7\x63\x7a\x3e\xf7\xf5\xfb\x37\xfc\x3a\xfb\x38\x7a\x3c\xf8\xa9\xf7\x63\x05\x0e\x78\x1d\xe5\x1b\xbd\xb0\x68" -+"\x5d\x85\x89\x7d\x87\x7a\x1f\x0b\x9e\x0a\x24\x20\x0a\x0b\x84\x6b\x1b\x6f\x6d\x91\x9a\x5f\x1f\x93\x74\x84\x8c\x74\x1b\x64\x66\x80" -+"\x6f\x52\x1f\x0b\xf7\x77\x15\xf7\x11\xfb\x0d\x9d\xdd\x35\xde\xf7\x0d\xdf\x9d\xde\xfb\x45\xfb\x0e\x05\x0b\xf8\x89\x21\x0a\xfb\x7d" -+"\xfc\x2b\x5d\xf8\x2b\x05\x31\x06\xcf\xfc\xa4\x57\x3a\x0b\xf8\xaf\xf9\x79\x15\xfb\x03\x26\x60\x39\x3d\x1f\x34\x30\x55\xfb\x19\xfb" -+"\x12\x1a\x0b\x06\x38\x1d\x37\x06\x55\xfb\x94\x0b\x30\x8f\x23\x05\xa9\x06\xbb\xf3\x0b\x46\x0a\x77\x1b\x81\x70\x91\x94\x71\x1f\x98" -+"\x64\x7b\x8f\x79\x1b\x0b\x15\xfb\x13\xf7\x0d\x79\x39\xe3\x38\xfb\x0f\x37\x79\x38\xf7\x47\xf7\x0e\x05\x0b\xf9\x59\x15\x73\xfb\x03" -+"\x8a\xfb\x1a\x05\xb3\x06\xc2\xf7\x1a\xa3\xf7\x03\x05\x0b\x5c\x0a\x86\x8b\x8d\x7d\x1f\x7c\x44\x05\x88\x92\x0b\x06\xce\xb8\x9b\xaf" -+"\xb0\x1f\xaf\xad\x9f\xbc\xbd\x1a\xd8\x52\xbf\x39\x1e\x0b\x15\x70\x74\x74\x71\x6f\xa2\x74\xa6\xa6\xa2\xa2\xa6\xa6\x74\xa2\x70\x1f" -+"\x0b\xbb\x0a\xf7\x2f\x22\x1d\x37\x06\x75\x0b\xa3\x0a\x0e\x22\x1d\x2d\x26\x1d\x0b\x24\x05\xf3\x06\xf7\x4b\xf2\x15\x23\x06\x0b\xf7" -+"\x66\x15\xfb\x14\xfb\x28\x05\xc7\x06\xf7\x49\xf7\x28\x05\x0e\x21\x1d\x5e\xfb\x67\x05\xfb\x84\x06\xb7\xf7\x67\x21\x1d\x0b\x15\xf7" -+"\x78\x06\xca\xba\x9b\xaf\xb8\x1f\xca\xbd\xaf\xd7\xdc\x1a\x0b\xf8\x56\xf9\x4c\x53\x1d\xf7\xa7\x06\x0e\x08\x37\x06\x39\x6d\x54\x5f" -+"\x43\x1b\x0b\x16\xdf\x06\xd4\xf7\xed\x05\xd3\xc8\xca\xb1\xc5\x1b\xb7\xa8\x0b\xd2\x16\xdf\x06\xbe\xf7\x83\x05\xf7\x84\x06\x59\xfb" -+"\x83\x05\x0b\xef\x05\xce\x06\x96\xc0\x05\x48\x06\xc5\xf7\xa4\x05\x5d\x06\x0b\x9f\xa9\x1f\x90\x07\x93\x07\x0e\xf7\xb5\xbc\x0a\xdf" -+"\x06\x0b\x38\x1d\x37\x06\x4c\xfb\xbd\x05\xfb\x00\x74\x0b\x62\x33\x1d\x0b\xf7\x01\xfb\x02\xf7\x44\xf7\x08\xed\xb4\xdb\xd9\x1e\x0b" -+"\xf7\x1a\xf7\x16\x1a\xf7\x47\xfb\x00\xf7\x03\xfb\x44\x0b\x1e\x87\xb5\x89\xa1\x97\x1a\x9d\x91\x95\x97\x91\x0b\xfb\x60\x05\xfb\x63" -+"\x27\x1d\xf7\x63\x06\x0b\x15\xfc\x77\x27\x1d\xf8\x78\x06\x0e\x06\xcb\xf7\xc2\x05\x2d\x06\x0b\x06\xad\xf7\x31\x05\x2e\x06\x69\xfb" -+"\x31\x05\x0b\x06\xb7\xf7\x64\x05\x33\x06\x5f\xfb\x64\x05\x0b\x15\x35\xfc\x25\x05\xc7\x06\xe1\xf8\x25\x05\x0b\x1e\xa3\xa0\x96\xa0" -+"\x96\x47\x0a\x0b\xf7\xed\x05\xfb\x01\x06\xfb\x87\xfb\xc2\x05\x0b\xda\x69\x1e\x7d\xad\xa6\x87\xd0\x1b\xf7\xac\x0b\x06\xf7\x9d\xf7" -+"\xc4\xf7\x1a\xfb\xc4\x05\x0b\x15\x37\x06\xfb\x03\xfc\xa0\x05\xdf\x06\x0b\xf8\xa0\x15\x37\x06\xfb\x03\xfc\xa0\x05\x0b\xaa\xa1\xaa" -+"\xbc\x1a\xc3\x62\xad\x4a\x36\x0b\xf8\x68\xf8\x0a\x15\xf7\xd6\xf7\xf7\x05\x0b\x15\x23\x06\x75\x23\x05\xf3\x06\x0e\xe9\x06\xd4\xf7" -+"\xed\x05\x0b", 39907 -+}; -diff -up texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/fonts/NimbusSans-Regular.cff.cpp.301 texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/fonts/NimbusSans-Regular.cff.cpp ---- texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/fonts/NimbusSans-Regular.cff.cpp.301 2023-01-17 15:53:51.712205404 -0500 -+++ texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/fonts/NimbusSans-Regular.cff.cpp 2023-01-17 15:53:51.712205404 -0500 -@@ -0,0 +1,1040 @@ -+#include "Base14Fonts.hpp" -+ -+extern const MemoryFontData NimbusSans_Regular_cff = { -+"\x01\x00\x04\x02\x00\x01\x01\x01\x13\x4e\x69\x6d\x62\x75\x73\x53\x61\x6e\x73\x2d\x52\x65\x67\x75\x6c\x61\x72\x00\x01\x01\x01\x2e" -+"\xf9\xbc\x00\xf9\xbd\x01\xf9\xbe\x0c\x00\xf9\xbf\x02\xf9\xbf\x03\xf8\x18\x04\xfb\x2b\x0c\x03\xfb\x66\xfb\xbf\xfa\x9c\xfa\xc7\x05" -+"\x1c\x1f\x97\x0f\x1c\x1f\xaa\x11\xbe\x1c\x76\x2b\x12\x01\xa5\x02\x00\x01\x00\x08\x00\x0e\x00\x13\x00\x1d\x00\x24\x00\x2b\x00\x35" -+"\x00\x39\x00\x3f\x00\x45\x00\x50\x00\x5a\x00\x5d\x00\x63\x00\x69\x00\x6e\x00\x74\x00\x7a\x00\x84\x00\x8b\x00\x8e\x00\x95\x00\x9c" -+"\x00\xa8\x00\xab\x00\xb3\x00\xb7\x00\xbc\x00\xc2\x00\xcd\x00\xd9\x00\xe3\x00\xe7\x00\xf2\x00\xf4\x00\xfa\x01\x04\x01\x0b\x01\x12" -+"\x01\x16\x01\x22\x01\x2b\x01\x31\x01\x3c\x01\x41\x01\x4d\x01\x53\x01\x59\x01\x5f\x01\x6b\x01\x6f\x01\x71\x01\x77\x01\x7d\x01\x89" -+"\x01\x8b\x01\x91\x01\x9e\x01\xa5\x01\xaf\x01\xb6\x01\xc2\x01\xcd\x01\xd0\x01\xd2\x01\xd5\x01\xdb\x01\xe1\x01\xed\x01\xf0\x01\xf6" -+"\x01\xfe\x02\x09\x02\x15\x02\x1a\x02\x1d\x02\x21\x02\x27\x02\x33\x02\x38\x02\x3e\x02\x4b\x02\x52\x02\x59\x02\x60\x02\x6f\x02\x7b" -+"\x02\x80\x02\x86\x02\x8c\x02\x97\x02\xa0\x02\xa6\x02\xa8\x02\xb3\x02\xb9\x02\xbf\x02\xc9\x02\xcd\x02\xd3\x02\xda\x02\xe3\x02\xec" -+"\x02\xf5\x02\xfe\x03\x07\x03\x10\x03\x19\x03\x22\x03\x2b\x03\x34\x03\x3d\x03\x46\x03\x4f\x03\x58\x03\x61\x03\x6a\x03\x73\x03\x7c" -+"\x03\x85\x03\x8e\x03\x97\x03\xa0\x03\xa9\x03\xb2\x03\xbb\x03\xc4\x03\xcd\x03\xd6\x03\xdf\x03\xe8\x03\xf1\x03\xfa\x04\x03\x04\x0c" -+"\x04\x15\x04\x1e\x04\x27\x04\x30\x04\x39\x04\x42\x04\x4b\x04\x54\x04\x5d\x04\x66\x04\x6f\x04\x78\x04\x81\x04\x8a\x04\x93\x04\x9c" -+"\x04\xa5\x04\xae\x04\xb7\x04\xc0\x04\xc9\x04\xd2\x04\xdb\x04\xe4\x04\xed\x04\xf6\x04\xff\x05\x08\x05\x11\x05\x1a\x05\x23\x05\x2c" -+"\x05\x35\x05\x3e\x05\x47\x05\x50\x05\x59\x05\x62\x05\x6b\x05\x74\x05\x7d\x05\x86\x05\x8f\x05\x98\x05\xa1\x05\xaa\x05\xb3\x05\xbc" -+"\x05\xc5\x05\xce\x05\xd7\x05\xe0\x05\xe9\x05\xf2\x05\xfb\x06\x04\x06\x0d\x06\x16\x06\x1f\x06\x28\x06\x31\x06\x3a\x06\x43\x06\x4c" -+"\x06\x55\x06\x5a\x06\x64\x06\x6b\x06\x74\x06\x7e\x06\x85\x06\x90\x06\x9a\x06\xa3\x06\xac\x06\xb5\x06\xbf\x06\xc6\x06\xcf\x06\xdb" -+"\x06\xdf\x06\xe5\x06\xeb\x06\xf6\x07\x00\x07\x03\x07\x11\x07\x15\x07\x1b\x07\x21\x07\x26\x07\x2d\x07\x3a\x07\x40\x07\x46\x07\x50" -+"\x07\x57\x07\x5e\x07\x61\x07\x68\x07\x6f\x07\x7b\x07\x86\x07\x8f\x07\x92\x07\x9a\x07\xa3\x07\xae\x07\xb4\x07\xb9\x07\xbe\x07\xc4" -+"\x07\xcf\x07\xdb\x07\xe5\x07\xf1\x07\xf5\x08\x00\x08\x05\x08\x0a\x08\x10\x08\x12\x08\x19\x08\x21\x08\x29\x08\x33\x08\x3d\x08\x49" -+"\x08\x55\x08\x5c\x08\x60\x08\x6c\x08\x7d\x08\x86\x08\x8c\x08\x97\x08\x9c\x08\xa8\x08\xb4\x08\xba\x08\xc0\x08\xc6\x08\xd2\x08\xd6" -+"\x08\xdf\x08\xe3\x08\xe8\x08\xec\x08\xf2\x08\xfd\x09\x0b\x09\x11\x09\x1c\x09\x22\x09\x2e\x09\x38\x09\x40\x09\x42\x09\x48\x09\x55" -+"\x09\x5c\x09\x61\x09\x6b\x09\x72\x09\x7e\x09\x88\x09\x93\x09\x9e\x09\xa4\x09\xa7\x09\xa9\x09\xb0\x09\xbc\x09\xca\x09\xcd\x09\xda" -+"\x09\xe0\x09\xe7\x09\xed\x09\xf9\x0a\x06\x0a\x09\x0a\x0f\x0a\x17\x0a\x22\x0a\x2e\x0a\x34\x0a\x39\x0a\x42\x0a\x47\x0a\x50\x0a\x53" -+"\x0a\x56\x0a\x5a\x0a\x60\x0a\x6c\x0a\x71\x0a\x76\x0a\x7c\x0a\x89\x0a\x90\x0a\x9d\x0a\xa4\x0a\xab\x0a\xb2\x0a\xb9\x0a\xc0\x0a\xc7" -+"\x0a\xce\x0a\xd5\x0a\xdc\x0a\xe3\x0a\xea\x0a\xf1\x0a\xf8\x0a\xff\x0b\x06\x0b\x0d\x0b\x14\x0b\x1b\x0b\x22\x0b\x29\x0b\x30\x0b\x37" -+"\x0b\x3e\x0b\x45\x0b\x4c\x0b\x53\x0b\x5a\x0b\x61\x0b\x68\x0b\x6f\x0b\x76\x0b\x7d\x0b\x84\x0b\x8b\x0b\x92\x0b\x99\x0b\xa0\x0b\xa7" -+"\x0b\xae\x0b\xb5\x0b\xbc\x0b\xc3\x0b\xca\x0b\xd1\x0b\xd8\x0b\xdf\x0b\xe6\x0b\xed\x0b\xf4\x0b\xfb\x0c\x02\x0c\x09\x0c\x10\x0c\x17" -+"\x0c\x1e\x0c\x25\x0c\x2c\x0c\x33\x0c\x3a\x0c\x41\x0c\x48\x0c\x4d\x0c\x56\x0c\x5d\x0c\x64\x0c\x73\x0c\x87\x0c\x93\x0c\x98\x0c\x9e" -+"\x0c\xa4\x0c\xaf\x0c\xb8\x0c\xbe\x0c\xc0\x0c\xcb\x0c\xd1\x0c\xd7\x0c\xe1\x0c\xe5\x0c\xe9\x0d\x1f\x0d\x5f\x0d\x6a\x41\x45\x61\x63" -+"\x75\x74\x65\x41\x62\x72\x65\x76\x65\x41\x6c\x70\x68\x61\x41\x6c\x70\x68\x61\x74\x6f\x6e\x6f\x73\x41\x6d\x61\x63\x72\x6f\x6e\x41" -+"\x6f\x67\x6f\x6e\x65\x6b\x41\x72\x69\x6e\x67\x61\x63\x75\x74\x65\x42\x65\x74\x61\x43\x61\x63\x75\x74\x65\x43\x63\x61\x72\x6f\x6e" -+"\x43\x63\x69\x72\x63\x75\x6d\x66\x6c\x65\x78\x43\x64\x6f\x74\x61\x63\x63\x65\x6e\x74\x43\x68\x69\x44\x63\x61\x72\x6f\x6e\x44\x63" -+"\x72\x6f\x61\x74\x44\x65\x6c\x74\x61\x45\x62\x72\x65\x76\x65\x45\x63\x61\x72\x6f\x6e\x45\x64\x6f\x74\x61\x63\x63\x65\x6e\x74\x45" -+"\x6d\x61\x63\x72\x6f\x6e\x45\x6e\x67\x45\x6f\x67\x6f\x6e\x65\x6b\x45\x70\x73\x69\x6c\x6f\x6e\x45\x70\x73\x69\x6c\x6f\x6e\x74\x6f" -+"\x6e\x6f\x73\x45\x74\x61\x45\x74\x61\x74\x6f\x6e\x6f\x73\x45\x75\x72\x6f\x47\x61\x6d\x6d\x61\x47\x62\x72\x65\x76\x65\x47\x63\x69" -+"\x72\x63\x75\x6d\x66\x6c\x65\x78\x47\x63\x6f\x6d\x6d\x61\x61\x63\x63\x65\x6e\x74\x47\x64\x6f\x74\x61\x63\x63\x65\x6e\x74\x48\x62" -+"\x61\x72\x48\x63\x69\x72\x63\x75\x6d\x66\x6c\x65\x78\x49\x4a\x49\x62\x72\x65\x76\x65\x49\x64\x6f\x74\x61\x63\x63\x65\x6e\x74\x49" -+"\x6d\x61\x63\x72\x6f\x6e\x49\x6f\x67\x6f\x6e\x65\x6b\x49\x6f\x74\x61\x49\x6f\x74\x61\x64\x69\x65\x72\x65\x73\x69\x73\x49\x6f\x74" -+"\x61\x74\x6f\x6e\x6f\x73\x49\x74\x69\x6c\x64\x65\x4a\x63\x69\x72\x63\x75\x6d\x66\x6c\x65\x78\x4b\x61\x70\x70\x61\x4b\x63\x6f\x6d" -+"\x6d\x61\x61\x63\x63\x65\x6e\x74\x4c\x61\x63\x75\x74\x65\x4c\x61\x6d\x62\x64\x61\x4c\x63\x61\x72\x6f\x6e\x4c\x63\x6f\x6d\x6d\x61" -+"\x61\x63\x63\x65\x6e\x74\x4c\x64\x6f\x74\x4d\x75\x4e\x61\x63\x75\x74\x65\x4e\x63\x61\x72\x6f\x6e\x4e\x63\x6f\x6d\x6d\x61\x61\x63" -+"\x63\x65\x6e\x74\x4e\x75\x4f\x62\x72\x65\x76\x65\x4f\x68\x75\x6e\x67\x61\x72\x75\x6d\x6c\x61\x75\x74\x4f\x6d\x61\x63\x72\x6f\x6e" -+"\x4f\x6d\x65\x67\x61\x74\x6f\x6e\x6f\x73\x4f\x6d\x69\x63\x72\x6f\x6e\x4f\x6d\x69\x63\x72\x6f\x6e\x74\x6f\x6e\x6f\x73\x4f\x73\x6c" -+"\x61\x73\x68\x61\x63\x75\x74\x65\x50\x68\x69\x50\x69\x50\x73\x69\x52\x61\x63\x75\x74\x65\x52\x63\x61\x72\x6f\x6e\x52\x63\x6f\x6d" -+"\x6d\x61\x61\x63\x63\x65\x6e\x74\x52\x68\x6f\x53\x61\x63\x75\x74\x65\x53\x63\x65\x64\x69\x6c\x6c\x61\x53\x63\x69\x72\x63\x75\x6d" -+"\x66\x6c\x65\x78\x53\x63\x6f\x6d\x6d\x61\x61\x63\x63\x65\x6e\x74\x53\x69\x67\x6d\x61\x54\x61\x75\x54\x62\x61\x72\x54\x63\x61\x72" -+"\x6f\x6e\x54\x63\x6f\x6d\x6d\x61\x61\x63\x63\x65\x6e\x74\x54\x68\x65\x74\x61\x55\x62\x72\x65\x76\x65\x55\x68\x75\x6e\x67\x61\x72" -+"\x75\x6d\x6c\x61\x75\x74\x55\x6d\x61\x63\x72\x6f\x6e\x55\x6f\x67\x6f\x6e\x65\x6b\x55\x70\x73\x69\x6c\x6f\x6e\x55\x70\x73\x69\x6c" -+"\x6f\x6e\x64\x69\x65\x72\x65\x73\x69\x73\x55\x70\x73\x69\x6c\x6f\x6e\x74\x6f\x6e\x6f\x73\x55\x72\x69\x6e\x67\x55\x74\x69\x6c\x64" -+"\x65\x57\x61\x63\x75\x74\x65\x57\x63\x69\x72\x63\x75\x6d\x66\x6c\x65\x78\x57\x64\x69\x65\x72\x65\x73\x69\x73\x57\x67\x72\x61\x76" -+"\x65\x58\x69\x59\x63\x69\x72\x63\x75\x6d\x66\x6c\x65\x78\x59\x67\x72\x61\x76\x65\x5a\x61\x63\x75\x74\x65\x5a\x64\x6f\x74\x61\x63" -+"\x63\x65\x6e\x74\x5a\x65\x74\x61\x61\x62\x72\x65\x76\x65\x61\x65\x61\x63\x75\x74\x65\x61\x66\x69\x69\x30\x30\x32\x30\x38\x61\x66" -+"\x69\x69\x31\x30\x30\x31\x37\x61\x66\x69\x69\x31\x30\x30\x31\x38\x61\x66\x69\x69\x31\x30\x30\x31\x39\x61\x66\x69\x69\x31\x30\x30" -+"\x32\x30\x61\x66\x69\x69\x31\x30\x30\x32\x31\x61\x66\x69\x69\x31\x30\x30\x32\x32\x61\x66\x69\x69\x31\x30\x30\x32\x33\x61\x66\x69" -+"\x69\x31\x30\x30\x32\x34\x61\x66\x69\x69\x31\x30\x30\x32\x35\x61\x66\x69\x69\x31\x30\x30\x32\x36\x61\x66\x69\x69\x31\x30\x30\x32" -+"\x37\x61\x66\x69\x69\x31\x30\x30\x32\x38\x61\x66\x69\x69\x31\x30\x30\x32\x39\x61\x66\x69\x69\x31\x30\x30\x33\x30\x61\x66\x69\x69" -+"\x31\x30\x30\x33\x31\x61\x66\x69\x69\x31\x30\x30\x33\x32\x61\x66\x69\x69\x31\x30\x30\x33\x33\x61\x66\x69\x69\x31\x30\x30\x33\x34" -+"\x61\x66\x69\x69\x31\x30\x30\x33\x35\x61\x66\x69\x69\x31\x30\x30\x33\x36\x61\x66\x69\x69\x31\x30\x30\x33\x37\x61\x66\x69\x69\x31" -+"\x30\x30\x33\x38\x61\x66\x69\x69\x31\x30\x30\x33\x39\x61\x66\x69\x69\x31\x30\x30\x34\x30\x61\x66\x69\x69\x31\x30\x30\x34\x31\x61" -+"\x66\x69\x69\x31\x30\x30\x34\x32\x61\x66\x69\x69\x31\x30\x30\x34\x33\x61\x66\x69\x69\x31\x30\x30\x34\x34\x61\x66\x69\x69\x31\x30" -+"\x30\x34\x35\x61\x66\x69\x69\x31\x30\x30\x34\x36\x61\x66\x69\x69\x31\x30\x30\x34\x37\x61\x66\x69\x69\x31\x30\x30\x34\x38\x61\x66" -+"\x69\x69\x31\x30\x30\x34\x39\x61\x66\x69\x69\x31\x30\x30\x35\x30\x61\x66\x69\x69\x31\x30\x30\x35\x31\x61\x66\x69\x69\x31\x30\x30" -+"\x35\x32\x61\x66\x69\x69\x31\x30\x30\x35\x33\x61\x66\x69\x69\x31\x30\x30\x35\x34\x61\x66\x69\x69\x31\x30\x30\x35\x35\x61\x66\x69" -+"\x69\x31\x30\x30\x35\x36\x61\x66\x69\x69\x31\x30\x30\x35\x37\x61\x66\x69\x69\x31\x30\x30\x35\x38\x61\x66\x69\x69\x31\x30\x30\x35" -+"\x39\x61\x66\x69\x69\x31\x30\x30\x36\x30\x61\x66\x69\x69\x31\x30\x30\x36\x31\x61\x66\x69\x69\x31\x30\x30\x36\x32\x61\x66\x69\x69" -+"\x31\x30\x30\x36\x35\x61\x66\x69\x69\x31\x30\x30\x36\x36\x61\x66\x69\x69\x31\x30\x30\x36\x37\x61\x66\x69\x69\x31\x30\x30\x36\x38" -+"\x61\x66\x69\x69\x31\x30\x30\x36\x39\x61\x66\x69\x69\x31\x30\x30\x37\x30\x61\x66\x69\x69\x31\x30\x30\x37\x31\x61\x66\x69\x69\x31" -+"\x30\x30\x37\x32\x61\x66\x69\x69\x31\x30\x30\x37\x33\x61\x66\x69\x69\x31\x30\x30\x37\x34\x61\x66\x69\x69\x31\x30\x30\x37\x35\x61" -+"\x66\x69\x69\x31\x30\x30\x37\x36\x61\x66\x69\x69\x31\x30\x30\x37\x37\x61\x66\x69\x69\x31\x30\x30\x37\x38\x61\x66\x69\x69\x31\x30" -+"\x30\x37\x39\x61\x66\x69\x69\x31\x30\x30\x38\x30\x61\x66\x69\x69\x31\x30\x30\x38\x31\x61\x66\x69\x69\x31\x30\x30\x38\x32\x61\x66" -+"\x69\x69\x31\x30\x30\x38\x33\x61\x66\x69\x69\x31\x30\x30\x38\x34\x61\x66\x69\x69\x31\x30\x30\x38\x35\x61\x66\x69\x69\x31\x30\x30" -+"\x38\x36\x61\x66\x69\x69\x31\x30\x30\x38\x37\x61\x66\x69\x69\x31\x30\x30\x38\x38\x61\x66\x69\x69\x31\x30\x30\x38\x39\x61\x66\x69" -+"\x69\x31\x30\x30\x39\x30\x61\x66\x69\x69\x31\x30\x30\x39\x31\x61\x66\x69\x69\x31\x30\x30\x39\x32\x61\x66\x69\x69\x31\x30\x30\x39" -+"\x33\x61\x66\x69\x69\x31\x30\x30\x39\x34\x61\x66\x69\x69\x31\x30\x30\x39\x35\x61\x66\x69\x69\x31\x30\x30\x39\x36\x61\x66\x69\x69" -+"\x31\x30\x30\x39\x37\x61\x66\x69\x69\x31\x30\x30\x39\x38\x61\x66\x69\x69\x31\x30\x30\x39\x39\x61\x66\x69\x69\x31\x30\x31\x30\x30" -+"\x61\x66\x69\x69\x31\x30\x31\x30\x31\x61\x66\x69\x69\x31\x30\x31\x30\x32\x61\x66\x69\x69\x31\x30\x31\x30\x33\x61\x66\x69\x69\x31" -+"\x30\x31\x30\x34\x61\x66\x69\x69\x31\x30\x31\x30\x35\x61\x66\x69\x69\x31\x30\x31\x30\x36\x61\x66\x69\x69\x31\x30\x31\x30\x37\x61" -+"\x66\x69\x69\x31\x30\x31\x30\x38\x61\x66\x69\x69\x31\x30\x31\x30\x39\x61\x66\x69\x69\x31\x30\x31\x31\x30\x61\x66\x69\x69\x31\x30" -+"\x31\x34\x35\x61\x66\x69\x69\x31\x30\x31\x39\x33\x61\x66\x69\x69\x31\x30\x38\x34\x36\x61\x66\x69\x69\x36\x31\x32\x34\x38\x61\x66" -+"\x69\x69\x36\x31\x32\x38\x39\x61\x66\x69\x69\x36\x31\x33\x35\x32\x61\x6c\x70\x68\x61\x61\x6c\x70\x68\x61\x74\x6f\x6e\x6f\x73\x61" -+"\x6d\x61\x63\x72\x6f\x6e\x61\x6e\x67\x6c\x65\x6c\x65\x66\x74\x61\x6e\x67\x6c\x65\x72\x69\x67\x68\x74\x61\x6f\x67\x6f\x6e\x65\x6b" -+"\x61\x70\x70\x72\x6f\x78\x65\x71\x75\x61\x6c\x61\x72\x69\x6e\x67\x61\x63\x75\x74\x65\x61\x72\x72\x6f\x77\x62\x6f\x74\x68\x61\x72" -+"\x72\x6f\x77\x64\x6f\x77\x6e\x61\x72\x72\x6f\x77\x6c\x65\x66\x74\x61\x72\x72\x6f\x77\x72\x69\x67\x68\x74\x61\x72\x72\x6f\x77\x75" -+"\x70\x61\x72\x72\x6f\x77\x75\x70\x64\x6e\x61\x72\x72\x6f\x77\x75\x70\x64\x6e\x62\x73\x65\x62\x65\x74\x61\x63\x61\x63\x75\x74\x65" -+"\x63\x63\x61\x72\x6f\x6e\x63\x63\x69\x72\x63\x75\x6d\x66\x6c\x65\x78\x63\x64\x6f\x74\x61\x63\x63\x65\x6e\x74\x63\x68\x69\x63\x69" -+"\x72\x63\x6c\x65\x6d\x75\x6c\x74\x69\x70\x6c\x79\x63\x6c\x75\x62\x64\x63\x61\x72\x6f\x6e\x64\x63\x72\x6f\x61\x74\x64\x65\x6c\x74" -+"\x61\x64\x69\x61\x6d\x6f\x6e\x64\x64\x69\x65\x72\x65\x73\x69\x73\x74\x6f\x6e\x6f\x73\x65\x62\x72\x65\x76\x65\x65\x63\x61\x72\x6f" -+"\x6e\x65\x64\x6f\x74\x61\x63\x63\x65\x6e\x74\x65\x6c\x65\x6d\x65\x6e\x74\x65\x6d\x61\x63\x72\x6f\x6e\x65\x6e\x67\x65\x6f\x67\x6f" -+"\x6e\x65\x6b\x65\x70\x73\x69\x6c\x6f\x6e\x65\x70\x73\x69\x6c\x6f\x6e\x74\x6f\x6e\x6f\x73\x65\x71\x75\x69\x76\x61\x6c\x65\x6e\x63" -+"\x65\x65\x73\x74\x69\x6d\x61\x74\x65\x64\x65\x74\x61\x65\x74\x61\x74\x6f\x6e\x6f\x73\x65\x78\x63\x6c\x61\x6d\x64\x62\x6c\x65\x78" -+"\x69\x73\x74\x65\x6e\x74\x69\x61\x6c\x66\x65\x6d\x61\x6c\x65\x66\x72\x61\x6e\x63\x67\x61\x6d\x6d\x61\x67\x62\x72\x65\x76\x65\x67" -+"\x63\x69\x72\x63\x75\x6d\x66\x6c\x65\x78\x67\x63\x6f\x6d\x6d\x61\x61\x63\x63\x65\x6e\x74\x67\x64\x6f\x74\x61\x63\x63\x65\x6e\x74" -+"\x67\x72\x65\x61\x74\x65\x72\x65\x71\x75\x61\x6c\x68\x62\x61\x72\x68\x63\x69\x72\x63\x75\x6d\x66\x6c\x65\x78\x68\x65\x61\x72\x74" -+"\x68\x6f\x75\x73\x65\x69\x62\x72\x65\x76\x65\x69\x6a\x69\x6d\x61\x63\x72\x6f\x6e\x69\x6e\x66\x69\x6e\x69\x74\x79\x69\x6e\x74\x65" -+"\x67\x72\x61\x6c\x69\x6e\x74\x65\x67\x72\x61\x6c\x62\x74\x69\x6e\x74\x65\x67\x72\x61\x6c\x74\x70\x69\x6e\x74\x65\x72\x73\x65\x63" -+"\x74\x69\x6f\x6e\x69\x6e\x76\x73\x6d\x69\x6c\x65\x66\x61\x63\x65\x69\x6f\x67\x6f\x6e\x65\x6b\x69\x6f\x74\x61\x69\x6f\x74\x61\x64" -+"\x69\x65\x72\x65\x73\x69\x73\x69\x6f\x74\x61\x64\x69\x65\x72\x65\x73\x69\x73\x74\x6f\x6e\x6f\x73\x69\x6f\x74\x61\x74\x6f\x6e\x6f" -+"\x73\x69\x74\x69\x6c\x64\x65\x6a\x63\x69\x72\x63\x75\x6d\x66\x6c\x65\x78\x6b\x61\x70\x70\x61\x6b\x63\x6f\x6d\x6d\x61\x61\x63\x63" -+"\x65\x6e\x74\x6b\x67\x72\x65\x65\x6e\x6c\x61\x6e\x64\x69\x63\x6c\x61\x63\x75\x74\x65\x6c\x61\x6d\x62\x64\x61\x6c\x63\x61\x72\x6f" -+"\x6e\x6c\x63\x6f\x6d\x6d\x61\x61\x63\x63\x65\x6e\x74\x6c\x64\x6f\x74\x6c\x65\x73\x73\x65\x71\x75\x61\x6c\x6c\x69\x72\x61\x6c\x6f" -+"\x6e\x67\x73\x6d\x61\x6c\x65\x6d\x69\x6e\x75\x74\x65\x6d\x75\x73\x69\x63\x61\x6c\x6e\x6f\x74\x65\x6d\x75\x73\x69\x63\x61\x6c\x6e" -+"\x6f\x74\x65\x64\x62\x6c\x6e\x61\x63\x75\x74\x65\x6e\x61\x70\x6f\x73\x74\x72\x6f\x70\x68\x65\x6e\x63\x61\x72\x6f\x6e\x6e\x63\x6f" -+"\x6d\x6d\x61\x61\x63\x63\x65\x6e\x74\x6e\x6f\x74\x65\x6c\x65\x6d\x65\x6e\x74\x6e\x6f\x74\x65\x71\x75\x61\x6c\x6e\x75\x6f\x62\x72" -+"\x65\x76\x65\x6f\x68\x75\x6e\x67\x61\x72\x75\x6d\x6c\x61\x75\x74\x6f\x6d\x61\x63\x72\x6f\x6e\x6f\x6d\x65\x67\x61\x6f\x6d\x65\x67" -+"\x61\x74\x6f\x6e\x6f\x73\x6f\x6d\x69\x63\x72\x6f\x6e\x6f\x6d\x69\x63\x72\x6f\x6e\x74\x6f\x6e\x6f\x73\x6f\x72\x74\x68\x6f\x67\x6f" -+"\x6e\x61\x6c\x6f\x73\x6c\x61\x73\x68\x61\x63\x75\x74\x65\x70\x61\x72\x74\x69\x61\x6c\x64\x69\x66\x66\x70\x65\x73\x65\x74\x61\x70" -+"\x68\x69\x70\x69\x70\x72\x6f\x64\x75\x63\x74\x70\x72\x6f\x70\x65\x72\x73\x75\x62\x73\x65\x74\x70\x72\x6f\x70\x65\x72\x73\x75\x70" -+"\x65\x72\x73\x65\x74\x70\x73\x69\x71\x75\x6f\x74\x65\x72\x65\x76\x65\x72\x73\x65\x64\x72\x61\x63\x75\x74\x65\x72\x61\x64\x69\x63" -+"\x61\x6c\x72\x63\x61\x72\x6f\x6e\x72\x63\x6f\x6d\x6d\x61\x61\x63\x63\x65\x6e\x74\x72\x65\x76\x6c\x6f\x67\x69\x63\x61\x6c\x6e\x6f" -+"\x74\x72\x68\x6f\x73\x61\x63\x75\x74\x65\x73\x63\x65\x64\x69\x6c\x6c\x61\x73\x63\x69\x72\x63\x75\x6d\x66\x6c\x65\x78\x73\x63\x6f" -+"\x6d\x6d\x61\x61\x63\x63\x65\x6e\x74\x73\x65\x63\x6f\x6e\x64\x73\x69\x67\x6d\x61\x73\x6d\x69\x6c\x65\x66\x61\x63\x65\x73\x70\x61" -+"\x64\x65\x73\x75\x6d\x6d\x61\x74\x69\x6f\x6e\x73\x75\x6e\x74\x61\x75\x74\x62\x61\x72\x74\x63\x61\x72\x6f\x6e\x74\x63\x6f\x6d\x6d" -+"\x61\x61\x63\x63\x65\x6e\x74\x74\x68\x65\x74\x61\x74\x6f\x6e\x6f\x73\x75\x62\x72\x65\x76\x65\x75\x68\x75\x6e\x67\x61\x72\x75\x6d" -+"\x6c\x61\x75\x74\x75\x6d\x61\x63\x72\x6f\x6e\x75\x6e\x64\x65\x72\x73\x63\x6f\x72\x65\x64\x62\x6c\x75\x6e\x69\x30\x30\x41\x30\x75" -+"\x6e\x69\x30\x30\x41\x44\x75\x6e\x69\x30\x32\x31\x41\x75\x6e\x69\x30\x32\x31\x42\x75\x6e\x69\x30\x32\x43\x39\x75\x6e\x69\x30\x33" -+"\x38\x37\x75\x6e\x69\x30\x33\x39\x34\x75\x6e\x69\x30\x33\x41\x39\x75\x6e\x69\x30\x33\x42\x43\x75\x6e\x69\x30\x33\x43\x32\x75\x6e" -+"\x69\x30\x34\x30\x30\x75\x6e\x69\x30\x34\x30\x44\x75\x6e\x69\x30\x34\x35\x30\x75\x6e\x69\x30\x34\x35\x44\x75\x6e\x69\x30\x34\x39" -+"\x32\x75\x6e\x69\x30\x34\x39\x33\x75\x6e\x69\x30\x34\x39\x36\x75\x6e\x69\x30\x34\x39\x37\x75\x6e\x69\x30\x34\x39\x38\x75\x6e\x69" -+"\x30\x34\x39\x39\x75\x6e\x69\x30\x34\x39\x41\x75\x6e\x69\x30\x34\x39\x42\x75\x6e\x69\x30\x34\x39\x43\x75\x6e\x69\x30\x34\x39\x44" -+"\x75\x6e\x69\x30\x34\x41\x30\x75\x6e\x69\x30\x34\x41\x31\x75\x6e\x69\x30\x34\x41\x32\x75\x6e\x69\x30\x34\x41\x33\x75\x6e\x69\x30" -+"\x34\x41\x41\x75\x6e\x69\x30\x34\x41\x42\x75\x6e\x69\x30\x34\x41\x45\x75\x6e\x69\x30\x34\x41\x46\x75\x6e\x69\x30\x34\x42\x30\x75" -+"\x6e\x69\x30\x34\x42\x31\x75\x6e\x69\x30\x34\x42\x32\x75\x6e\x69\x30\x34\x42\x33\x75\x6e\x69\x30\x34\x42\x36\x75\x6e\x69\x30\x34" -+"\x42\x37\x75\x6e\x69\x30\x34\x42\x38\x75\x6e\x69\x30\x34\x42\x39\x75\x6e\x69\x30\x34\x42\x41\x75\x6e\x69\x30\x34\x42\x42\x75\x6e" -+"\x69\x30\x34\x43\x30\x75\x6e\x69\x30\x34\x43\x42\x75\x6e\x69\x30\x34\x43\x43\x75\x6e\x69\x30\x34\x44\x38\x75\x6e\x69\x30\x34\x45" -+"\x32\x75\x6e\x69\x30\x34\x45\x33\x75\x6e\x69\x30\x34\x45\x38\x75\x6e\x69\x30\x34\x45\x39\x75\x6e\x69\x30\x34\x45\x45\x75\x6e\x69" -+"\x30\x34\x45\x46\x75\x6e\x69\x32\x30\x33\x45\x75\x6e\x69\x32\x30\x41\x46\x75\x6e\x69\x32\x31\x32\x36\x75\x6e\x69\x32\x32\x31\x35" -+"\x75\x6e\x69\x32\x32\x31\x39\x75\x6e\x69\x32\x32\x32\x37\x75\x6e\x69\x32\x32\x32\x38\x75\x6e\x69\x32\x32\x39\x35\x75\x6e\x69\x32" -+"\x35\x41\x31\x75\x6e\x69\x6f\x6e\x75\x6e\x69\x76\x65\x72\x73\x61\x6c\x75\x6f\x67\x6f\x6e\x65\x6b\x75\x70\x73\x69\x6c\x6f\x6e\x75" -+"\x70\x73\x69\x6c\x6f\x6e\x64\x69\x65\x72\x65\x73\x69\x73\x75\x70\x73\x69\x6c\x6f\x6e\x64\x69\x65\x72\x65\x73\x69\x73\x74\x6f\x6e" -+"\x6f\x73\x75\x70\x73\x69\x6c\x6f\x6e\x74\x6f\x6e\x6f\x73\x75\x72\x69\x6e\x67\x75\x74\x69\x6c\x64\x65\x77\x61\x63\x75\x74\x65\x77" -+"\x63\x69\x72\x63\x75\x6d\x66\x6c\x65\x78\x77\x64\x69\x65\x72\x65\x73\x69\x73\x77\x67\x72\x61\x76\x65\x78\x69\x79\x63\x69\x72\x63" -+"\x75\x6d\x66\x6c\x65\x78\x79\x67\x72\x61\x76\x65\x7a\x61\x63\x75\x74\x65\x7a\x64\x6f\x74\x61\x63\x63\x65\x6e\x74\x7a\x65\x74\x61" -+"\x31\x2e\x30\x30\x28\x55\x52\x57\x29\x2b\x2b\x2c\x43\x6f\x70\x79\x72\x69\x67\x68\x74\x20\x32\x30\x31\x34\x20\x62\x79\x20\x28\x55" -+"\x52\x57\x29\x2b\x2b\x20\x44\x65\x73\x69\x67\x6e\x20\x26\x20\x44\x65\x76\x65\x6c\x6f\x70\x6d\x65\x6e\x74\x43\x6f\x70\x79\x72\x69" -+"\x67\x68\x74\x20\x28\x55\x52\x57\x29\x2b\x2b\x2c\x43\x6f\x70\x79\x72\x69\x67\x68\x74\x20\x32\x30\x31\x34\x20\x62\x79\x20\x28\x55" -+"\x52\x57\x29\x2b\x2b\x20\x44\x65\x73\x69\x67\x6e\x20\x26\x20\x44\x65\x76\x65\x6c\x6f\x70\x6d\x65\x6e\x74\x4e\x69\x6d\x62\x75\x73" -+"\x20\x53\x61\x6e\x73\x00\xa2\x02\x00\x01\x00\x05\x00\x09\x00\x11\x00\x1e\x00\x21\x00\x75\x00\x9a\x00\xa6\x00\xae\x00\xeb\x00\xf0" -+"\x00\xf3\x00\xfb\x01\x13\x01\x1e\x01\x23\x01\x28\x01\x49\x01\xa2\x01\xc9\x01\xfa\x02\x20\x02\x3c\x02\x4f\x02\x53\x02\x57\x02\x65" -+"\x02\x6b\x02\x70\x02\x8f\x02\xac\x02\xc8\x02\xcb\x02\xcf\x02\xd4\x02\xdf\x02\xe9\x02\xf7\x03\x0b\x03\x11\x03\x19\x03\x1e\x03\x51" -+"\x03\x77\x03\xa3\x03\xb0\x03\xcd\x03\xd1\x03\xe2\x03\xf6\x04\x09\x04\x14\x04\x1d\x04\x2d\x04\x34\x04\x3c\x04\x42\x04\x49\x04\x50" -+"\x04\x57\x04\x61\x04\x6a\x04\x70\x04\x76\x04\x7c\x04\xfc\x05\x61\x05\xc4\x05\xd6\x06\x08\x06\x4f\x06\x9a\x06\x9d\x06\xdd\x07\x15" -+"\x07\x32\x07\x49\x07\x66\x07\x98\x07\xc8\x07\xf5\x08\x21\x08\x4e\x08\x5d\x08\x89\x08\xa8\x08\xcf\x08\xd3\x08\xea\x08\xf4\x08\xfd" -+"\x09\x05\x09\x0d\x09\x16\x09\x39\x09\x5a\x09\x6e\x09\x8f\x09\xaf\x09\xbe\x09\xdc\x09\xf9\x0a\x16\x0a\x31\x0a\x48\x0a\x63\x0a\x7c" -+"\x0a\x96\x0a\xa5\x0a\xaa\x0a\xb5\x0a\xbe\x0a\xd5\x0a\xdc\x0a\xf3\x0b\x09\x0b\x1f\x0b\x35\x0b\x42\x0b\x57\x0b\x64\x0b\x70\x0b\x81" -+"\x0b\x8c\x0b\x9e\x0b\xb0\x0b\xc0\x0b\xd1\x0b\xe2\x0b\xf2\x0c\x00\x0c\x0f\x0c\x1e\x0c\x27\x0c\x35\x0c\x43\x0c\x4f\x0c\x5c\x0c\x69" -+"\x0c\x76\x0c\x7d\x0c\x88\x0c\x94\x0c\xa0\x0c\xac\x0c\xb8\x0c\xc2\x0c\xcd\x0c\xd8\x0c\xe3\x0c\xe8\x0c\xef\x0c\xf9\x0d\x03\x0d\x0d" -+"\x0d\x17\x0d\x21\x0d\x29\x0d\x31\x0d\x3a\x0d\x43\x0d\x4a\xf9\x6d\x15\x0b\x15\x2b\xac\x1d\x58\x1d\xf7\x36\xf2\x58\x1d\x0e\xaf\x1d" -+"\x07\xc7\x89\xb2\xba\x8c\xd7\x08\xf2\x07\x0e\x3b\x1d\x0e\xf8\xab\x9f\x1d\xe8\x47\xbd\xfb\x15\x3e\x4e\x75\x64\x67\x1e\x73\x70\x81" -+"\x6d\x89\x57\x08\xdf\x06\xcb\x92\xb1\xa8\xd9\x1b\xd7\xb4\x6f\x59\x1f\x75\x07\x8a\x67\x79\x7e\x47\x82\xfb\x0a\x7c\x79\x87\x6b\x7e" -+"\x08\x4e\x71\x6c\x5d\x47\x1a\x2c\xcd\x4f\xf5\xcd\xc0\xa2\xc1\xc6\x1e\x55\x91\xa5\x74\xc1\x1b\x9d\x96\x8d\x92\xa7\x1f\xfb\x26\x81" -+"\x1d\x0b\xf8\x76\x16\xf8\xa0\x38\xfb\xbd\x07\x20\x53\x45\x34\x49\x61\xb3\xca\x1e\xf8\x07\x38\xfc\x28\x07\x34\xcc\x53\xf1\xd8\xbc" -+"\xa6\xd0\xbc\x1e\x42\x07\x0b\x79\x1d\xdc\x2b\x05\xca\x06\x2b\xf7\x2a\x05\x0e\x15\xfb\xa6\x45\xf7\xa6\x06\x0e\xf8\x95\xf7\x7e\x15" -+"\xdb\x85\xbb\x7c\xb2\x1e\xe1\x69\x3b\x5d\x1d\xfb\x41\xfb\x41\xe5\x22\xf7\x28\xf7\x0c\xde\xcf\xf7\x06\xa0\x1f\x37\x06\x46\x74\x5c" -+"\x67\x48\x1b\x56\x5e\xa3\xb7\x6f\x1f\x77\xa9\x84\xa9\x8a\xbf\x08\x8d\xcf\x5c\x1d\x49\x2d\x1f\x0b\xf7\xa4\x3d\x1d\x0b\x99\x1d\x0e" -+"\x20\x1d\x2d\xfd\x6d\xe9\x06\x0b\xf8\xbc\x20\x1d\x88\x1d\xfb\x28\xf5\x2f\xf7\x41\xf7\x3f\xf7\x02\xe9\xf7\x26\x1e\xf8\x94\x07\x0b" -+"\xf7\x45\xf8\xa0\x15\x38\xfc\xa0\xde\x06\x0b\xf9\x59\x45\x1d\x0b\x37\xfc\xa0\xdf\x0b\xf8\x4a\xf8\x0e\x15\xf2\x8a\x47\xc5\x4c\x1d" -+"\xfb\x0d\x8f\xcf\x51\xf7\x1d\x1b\xf7\x18\xdf\xcc\xf0\xd9\x5f\xb6\x23\xa4\x1f\x51\x1d\x0b\xf9\x59\xf8\x15\x15\xfb\xc4\x39\xf7\x72" -+"\x77\x06\xfb\x16\x2b\x2d\xfb\x19\x41\x48\xa6\xba\x60\x1e\x5b\xbf\x6e\xe2\xe5\x1a\xf7\x47\xf1\xf7\x0a\xf7\x2e\xf7\x03\xdb\x52\x2d" -+"\x9f\x1e\xea\x06\xf7\x28\x71\xfb\x04\xe0\xfb\x3b\x1b\x32\x43\x74\x5c\x52\x1f\x36\x45\x5c\xfb\x05\xfb\x17\x1a\xfb\x74\xf7\x1d\xfb" -+"\x30\xf7\x59\xee\xd9\xb0\xda\xd3\x1e\xa2\x2a\x05\xc6\x06\x0b\xf8\x6b\xf7\xf0\x15\x96\x1d\xfb\x3d\xe5\x20\xf7\x22\xf7\x11\xda\xd6" -+"\xf7\x14\x95\x1f\x37\x06\x37\x7d\x60\x61\x44\x1b\x2f\x54\xd6\xf7\x10\xf7\x17\xb8\x1d\x0b\xf9\x7c\x16\xf7\x4d\xf9\x6d\x05\x23\x06" -+"\xfb\x1a\xfc\xe4\xfb\x3a\xf8\xe4\x05\x27\x06\xfb\x36\xfc\xe4\xfb\x1d\xf8\xe4\x05\x23\x06\xf7\x4f\xfd\x6d\x05\xf1\x06\xf7\x37\xf8" -+"\xeb\xf7\x3c\xfc\xeb\x05\x0b\xd1\xf8\xa0\x15\xfc\xa0\xdf\xf7\xb5\x07\xf6\xc3\xd1\xe1\xcd\xb5\x63\x4c\x1e\xfb\xff\xde\xf8\x20\x07" -+"\xe2\x4a\xc3\x26\x3d\x59\x6d\x42\x5d\x1e\xe3\x07\x0b\xf9\x1a\x20\x1d\x33\xfc\xe8\x06\xfc\x11\xf8\xe8\x05\x26\xfd\x6d\xe3\xf8\xe3" -+"\x06\xf8\x0d\xfc\xe3\x05\xf4\x06\x0b\x15\x2b\xfb\x2a\x05\xcc\x06\xda\xeb\xdb\x2b\x05\xca\x06\x2b\xf7\x2a\x05\x0e\xfa\x26\x22\x1d" -+"\xf7\x6c\x21\x1d\xf7\x41\x20\x1d\x2e\xfd\x6d\xf8\x59\xdd\xfb\xfc\x06\x0b\x15\x23\x23\xf3\x06\x0b\xf7\x29\xf7\x28\x0b\xf8\xaf\x15" -+"\xfb\x28\x33\x22\xfb\x44\xfb\x45\xe3\x23\x3c\x1d\xe4\xf4\xf7\x40\xf7\x4a\x35\xf2\xfb\x2c\x1f\x8c\x3e\x90\x1d\x0b\xf8\x4f\xf8\xa0" -+"\x15\xfc\x1b\x42\xf7\xb8\x06\xfb\xcd\xfc\x0c\x05\x40\xf8\x3e\xd4\xfb\xd9\x07\xf7\xcb\xf8\x0d\x05\x0b\xdc\x16\xdf\xbb\x06\xf7\x7a" -+"\xf7\xca\x05\xfb\xfa\xdf\xf8\xa0\x37\x5f\x07\xfb\x7a\xfb\xc7\x05\xf7\xf3\x37\x07\x0b\x90\x1d\x0e\xf9\x78\x21\x1d\xb9\x1d\x3a\x54" -+"\x1d\xf7\x2c\xf9\x6d\x15\x37\xfd\x6d\xdf\x06\x0b\xf7\x55\x20\x1d\x2e\xfd\x6d\xe8\x06\x0b\x15\xfc\x58\xfd\x6d\x05\xc5\x06\xf8\x58" -+"\xf9\x6d\x05\x0b\xd0\x07\x8f\x78\x80\x8c\x7a\x1b\x3e\x5d\x5f\x40\x1f\x32\x45\x47\xd1\xfc\x5c\x0b\xd0\x49\x1d\x37\x06\x0b\xf8\x2c" -+"\x05\x32\x06\xf7\x45\x0b\x16\xdf\xf8\xa0\x0b\x1b\xfb\x34\x28\x39\xfb\x18\x32\xba\x53\xeb\x72\x1f\xf7\x49\x5b\x05\xe8\x73\xb4\x66" -+"\x52\x1a\x64\x76\x63\x6c\x75\x1e\x76\x6e\x5d\x81\x50\x1b\x3b\x56\x9e\xb5\x68\x1f\x70\xab\x7f\xae\x8c\xb8\x08\x33\x06\x0b\xf7\x92" -+"\xf8\xa0\x15\xbc\x1d\xfc\x20\x06\x55\xaf\x6e\xcc\xa1\x9d\x8d\x90\xa7\x1e\xd1\x07\x88\x7f\x80\x8a\x7a\x1b\x67\x81\x95\xb0\x1f\xf7" -+"\xfb\xe1\x07\x0b\xfb\x0d\x1b\xfb\x0e\x3c\x4c\x2a\x39\xb5\x64\xf7\x10\x6d\x1f\xd9\x78\x05\xc5\x7d\xa2\x76\x66\x1a\x59\x5a\x6a\x42" -+"\x5e\x65\x98\xa1\x76\x1e\x7e\x9a\x85\x9a\x86\xb0\x08\x33\x06\x0b\x91\x1d\x63\x05\x6f\xc9\xa3\x85\xb2\x1b\xd7\xba\x0b\x77\x08\x66" -+"\xa6\xb7\x77\xc4\x1b\xe8\xbf\xb9\xe4\x92\x1f\x50\x06\x61\x87\x6a\x73\x55\x1b\x52\x6d\xa1\xb7\x86\x1f\x0e\x16\xa0\x1d\x0b\xfb\x8d" -+"\x05\xed\x06\xfb\x3b\xf7\xb2\xf7\x10\xf7\x82\x05\x2a\x06\x0b\x3b\x9e\x05\x47\x9b\x6e\xa1\xb0\x1a\xbc\xb6\xa9\xcf\xce\xaf\x6e\x54" -+"\x8d\x1e\x0b\x1b\xa8\x9c\x7d\x74\x71\x74\x78\x6c\x71\x79\x91\xa2\x5e\x1f\x82\x8f\x76\x0b\x80\x79\x1b\x7f\x71\x92\x95\x72\x1f\x9c" -+"\x0b\xeb\x05\x4c\x06\xeb\xfb\x2a\x05\x0e\xf7\xb2\x15\xf7\xa6\xf8\x4f\x05\xfb\x03\x06\xfb\x64\xfb\xf7\x0b\xfb\x5d\x05\x24\xf7\x5d" -+"\x0b\xc3\x1b\xc1\xb2\x62\x53\x1f\x0b\x15\x23\x24\xf3\x06\x0b\xc1\x5c\x3a\x3b\x55\x5b\x0b\xf8\x94\x2e\xfc\x94\x07\x0b\xa0\x71\xb5" -+"\x7b\x1e\x83\x0b\x15\xec\x92\xc6\xca\xdf\x1b\xe0\xc6\x0b\xbf\x29\x1b\xfb\x26\x2d\xfb\x03\x0b\x06\x38\x68\x84\x72\x0b\xfb\x34\xdf" -+"\xf7\x7e\x0b\xac\x90\x90\xa3\x1f\x0b\x15\xab\x5e\x53\xa8\x78\x1b\x81\x84\x83\x81\x84\x8d\x87\x94\x83\x1f\xc6\x5a\xa0\x70\xc4\x2c" -+"\x08\x7a\x94\x8e\x89\x95\x1b\x92\x90\x91\xa0\x97\x1f\xb5\xd4\xad\xb7\xb9\xb2\x08\x9c\x99\x8e\x8f\x93\x1a\x95\x84\x93\x82\x79\x40" -+"\x66\x73\x6d\x1e\xf8\x3e\x07\x70\xac\xd2\x67\x9f\x1b\x93\x92\x93\x95\x93\x88\x8e\x7a\x9a\x1f\x5c\xb3\x6a\xb5\x61\xd5\x08\x9f\x80" -+"\x85\x92\x84\x1b\x83\x86\x87\x83\x86\x1f\x54\x2d\x73\x6c\x58\x5f\x08\x76\x79\x8a\x8a\x82\x1a\x81\x92\x83\x94\x91\xab\x97\x93\x9b" -+"\x1e\xa0\x96\x9d\x96\xa7\xa0\x08\x0e\xf7\xb2\xf7\xc4\x15\x4c\x68\x91\x98\x72\x1f\x70\x9a\x7c\xa1\xa3\x1a\xb9\xb8\xac\xca\xce\xb0" -+"\x6e\x4a\x9c\x1e\xdc\x06\x84\xbc\x81\xa3\x72\xa7\x08\xb8\x64\x52\xa3\x47\x1b\xfb\x03\x3b\x4f\x39\x58\xa7\x5f\xc0\x6f\x1f\x4f\x76" -+"\x68\x5c\x4d\x1a\x2a\xdf\x45\xf7\x09\xd4\xc5\xa4\xbd\xb7\x1e\xa7\xac\x99\xa8\x97\xc1\x08\x38\x06\x3a\x74\x62\x69\x40\x1b\x43\x5a" -+"\xb2\xc4\xc6\xbc\xa6\xf7\x01\x8e\x94\x8b\x8a\x94\x1f\x0b\xf7\xf0\xf8\x21\x15\xfb\x5c\x07\x57\x89\x78\x83\x74\x1e\x6a\x80\x70\x78" -+"\x6b\x1b\x52\x67\xcf\xf7\x00\xf7\x09\xb1\xea\xdb\xe0\x1f\x29\x06\x45\x3e\x66\x27\xfb\x07\x1a\xfb\x30\xce\x27\xf3\xc7\xad\xa2\xce" -+"\xb0\x1e\x4c\xab\xb1\x71\xc6\x1b\xf4\xcf\xef\xf7\x2f\xf7\x07\x66\xf0\x45\xd7\x1f\x29\x06\xdb\x37\xb1\x2c\xfb\x09\x1a\x20\x66\x46" -+"\x52\x6a\x72\x9e\xab\x80\x1e\x83\xa2\x89\x9f\xbe\x1a\xf7\x5c\x07\x0b\x29\x1d\xfb\x40\xf8\x4a\x15\xfb\x04\x06\xf7\x29\xfb\x28\x05" -+"\xc7\x06\x0e\xf7\x96\xf8\xa0\x15\x34\xdd\x06\xae\x9e\x9d\xb2\x92\x8e\x8b\x8a\x9e\x1e\x46\x1d\xde\xf8\x5c\xe2\x07\xf7\xaa\xcf\x15" -+"\x34\xdd\x06\xae\x9e\x9d\xb2\x92\x8e\x8b\x8a\x9e\x1e\x46\x1d\xde\xf8\x5c\xe2\x07\x0b\x15\xb7\xa6\x99\xa0\xb3\x1a\xce\x57\xb9\x3f" -+"\x40\x56\x5d\x48\x63\x99\x76\xb7\x70\x1e\x5a\x73\x73\x68\x5c\x1a\x3d\xc5\x55\xe0\xdf\xc6\xc1\xd9\xba\x73\xae\x5a\xa3\x1e\x45\xf7" -+"\x2e\x15\xb8\xa4\x1d\xb8\x1f\xfb\x45\x04\xc0\xaf\x69\x59\x58\x67\x6a\x55\x57\x67\xad\xbd\xbd\xaf\xad\xc0\x1f\x0b\x15\x94\x06\xa2" -+"\x06\xc9\xa9\x73\x5b\x58\x6a\x6d\x52\x4f\x6f\xa6\xc9\x88\x1f\x4d\x06\x30\xc2\x58\xeb\xe9\xc8\xc0\xdc\xbe\x74\xac\x5b\x9b\x1e\xb0" -+"\x9c\x9f\xa8\xb2\x1a\xd6\x56\xb8\x35\x2d\x5b\x5b\x2d\x89\x1e\xca\x06\xa7\x8d\x98\x92\x98\x1e\xa1\x97\xa6\x98\xac\x1b\xbb\xa7\x72" -+"\x60\x5c\x73\x7d\x35\x1f\x0b\x69\x1d\x0e\x15\xfb\x65\xfb\x22\xfb\x2e\xfb\x78\xfb\x79\xf7\x21\xfb\x2d\xf7\x67\xe4\xd9\xa6\xbd\xc6" -+"\x1f\xda\xce\xba\xf7\x05\xf7\x0b\xb4\x1d\x39\x04\xf7\x32\xf1\xfb\x0b\xfb\x4d\xfb\x44\x22\xfb\x0c\xfb\x2e\xfb\x30\x24\xf7\x0c\xf7" -+"\x48\xf7\x48\xf2\xf7\x0c\xf7\x2f\x1f\x0b\xf8\x1a\xf8\xa0\x15\xfb\x24\xfc\x2c\xfb\x1b\x48\x1d\xfc\xa0\x6b\x36\x05\x64\x7d\x79\x7d" -+"\x69\x1b\x7c\x7e\x8d\x91\x7a\x1f\x3e\x07\x83\x9c\x9c\x88\xa0\x1b\xa7\xa7\x94\x9b\xa2\x1f\xa4\x9e\x9a\xa1\x9b\xb5\xf7\x7e\xf9\x0e" -+"\x18\x0b\x2d\xfc\x06\x06\x77\x40\x5a\x83\x50\x1b\xfb\x0e\x4e\xaf\xd3\x1f\xf7\xb6\x2d\xfb\xbb\x07\xfb\x09\xe9\x47\xf7\x36\x0b\x98" -+"\x1d\x6c\x66\x49\x80\x1f\xc5\x06\xa2\x91\x97\x98\x9a\xa7\x1d\xbc\xaa\xae\xd0\x94\x1f\x0e\xf7\x4c\xf7\xc9\x15\xf7\x79\x8c\x1d\xe8" -+"\x06\xf8\x1b\x04\xf7\x94\xf7\x56\x07\xe4\xc0\x5b\x3b\x3b\x56\x5b\x32\x1f\x0e\xf8\x1b\xf8\x0a\x15\xf7\x8a\xf7\xf7\x05\xfb\x03\x06" -+"\xfb\x50\xfb\xb2\xfb\x4f\xf7\xb2\x05\xfb\x05\x06\xf7\x86\xfb\xf7\xfb\x96\xfc\x0a\x05\xf7\x05\x06\xf7\x5c\xf7\xc4\xf7\x5b\xfb\xc4" -+"\x05\xf7\x07\x06\x0e\xe4\x16\xf7\xad\x06\xf7\x4c\xf7\x05\xf7\x1e\xf7\x77\xf7\x76\xfb\x04\xf7\x1e\xfb\x4d\x1f\xfb\xad\x06\xe8\xfd" -+"\x1b\x15\xf8\xc9\xf7\x40\x07\xf7\x24\xd7\x2a\xfb\x4e\xfb\x4d\x3f\x2a\xfb\x24\x1f\x0b\xd1\x20\x1d\xfd\x6d\xde\xf7\xb5\x07\xf6\xc3" -+"\xd1\xe1\xa7\xa5\x83\x7c\x9f\x1e\xa3\x79\x95\x72\x66\x1a\xfb\xff\xde\xf8\x20\x07\xe3\x4c\xc2\x25\x41\x5e\x74\x4b\x5a\x1e\xf7\xa9" -+"\x07\x0b\x15\x23\xbb\x07\x8c\x51\x7d\x70\x68\x86\x08\x65\x07\xc7\x8f\xac\xba\xdb\x1a\xf0\x07\xce\x16\x23\xbb\x07\x8c\x51\x7d\x70" -+"\x68\x86\x08\x65\x07\xc7\x8f\xac\xba\xdb\x1a\xf0\x07\x0e\xf7\x22\x16\xe3\x06\xbf\xb5\xaa\xc8\xa6\x1f\xf7\xa9\xf9\x11\x05\xfb\x02" -+"\x06\xfb\x50\xfc\x62\xfb\x5b\xf8\x62\x05\xfb\x04\x06\xf7\x9d\xfc\xd1\x73\x4e\x7d\x80\x5b\x89\x19\x53\x06\x0b\xaa\x1d\xea\x06\x93" -+"\x1d\xfb\x22\xc0\xfb\x0d\xe6\x4b\x1e\x0b\x16\xf7\xdd\x06\xd0\xbe\x9e\xb5\xb2\x1f\xaf\xb1\x9f\xbf\xc4\x1a\xe3\x63\xc0\x2e\xaf\x1e" -+"\xce\xaa\xad\xc0\xd6\x1a\xc1\x77\xb9\x65\xad\x1e\xae\x64\x5a\x9b\x45\x1b\xfb\xbc\x06\x0b\x37\xfb\x94\x06\x7d\x60\x65\x85\x65\x1b" -+"\x49\x69\xa7\xc1\x1f\xf7\x56\x37\xfb\x69\xae\x1d\xc8\x1b\xba\xb4\x94\x9f\xb9\x1f\x0e\xf8\x68\x16\xf7\x61\xf8\xf7\x05\xfc\xf7\xe3" -+"\xf9\x6d\xfb\x15\x07\xfb\x68\xfd\x0f\xfb\x6c\xf9\x0f\x05\xfb\x15\xfd\x6d\xe3\xf8\xf7\x06\xf7\x63\xfc\xf7\x05\x0e\xf9\x70\x7b\x1d" -+"\x4f\x1d\x37\x06\xdf\xfc\x56\x15\xf7\x3a\xf7\x38\x07\xc0\xaa\x6d\x56\x56\x6c\x6d\x56\x1f\x0b\x15\x2b\xfb\x2a\x05\xcb\x06\xda\xeb" -+"\x0b\x83\x1d\xaf\xc4\xb6\x6e\xa3\x58\x0b\x15\x8c\x64\x91\x78\x99\x4e\x1d\x15\x8c\x64\x90\x78\x9a\x4e\x1d\x6b\x1d\xcb\xd1\x95\x9d" -+"\xd1\x1e\x0e\xf8\xa0\x15\xfc\xa0\xdf\xf7\xa4\x07\x8c\xf7\x12\xbf\xc3\xf7\x07\x88\x08\xe0\x07\x8d\x7d\x83\x8c\x81\x1b\x55\x62\x6b" -+"\x3d\x5b\x1f\xea\x07\x0b\xfc\xf5\x15\x27\xc9\xef\xce\xc0\x48\xf7\xa4\x5d\x07\xfb\x60\xfb\x9e\x05\x50\x07\xf7\x50\xc0\x15\xfb\x15" -+"\x06\xf7\x15\xf7\x3e\x05\x0e\x55\x1d\xfb\x6a\xf7\xf7\x05\xfb\x07\x06\xf7\xad\xfc\x4f\x05\xfb\xb2\xe8\x07\x0b\xf7\x47\x15\x6f\x83" -+"\x7a\x72\x74\x1e\x6c\x69\x62\x7b\x5a\x1b\x4a\x65\xaa\xc0\xc2\xaf\xa7\xe5\x98\x1f\xe4\x97\x9c\x8f\xa7\x98\x08\x0b\xfb\x94\xf9\x6d" -+"\x05\xfb\x0c\x06\xfb\x98\xfd\x6d\x05\xee\x06\xd8\xf7\x6f\x05\xf7\x93\xd9\x15\xfb\x7c\x06\xf7\x0c\xf7\xe0\x05\x0b\x8d\x97\x52\x1d" -+"\x63\x05\x70\xc9\xa3\x84\xb2\x1b\xd7\xba\x0b\xfc\x59\x06\x8d\xfb\x0c\x60\x47\x3a\x85\x08\x39\x9b\x07\xc6\x89\xb5\xa1\xb7\xc5\xaf" -+"\xbb\x9b\xc4\x8e\xea\x08\xf8\x05\x0b\x1a\xe5\x53\xcd\x28\xa6\x1e\xfb\x4b\xbc\x05\x33\xa3\x6b\xa7\xc3\x1a\xd5\xcc\xbc\xed\xf7\x08" -+"\xcc\x57\x2b\x8c\x1e\x0b\xe9\xf7\xed\xcc\x06\xf7\x75\xfb\xed\x05\xf3\x06\xfb\x90\xf8\x14\xf7\x60\xf7\xed\x05\x24\x06\xfb\x48\xfb" -+"\xc2\x05\x0b\x1f\x82\x8f\x76\x63\x05\x6f\xca\xa2\x85\xb2\x1b\xd7\xba\xae\xc5\xb6\x6e\xa3\x59\x82\x85\x8b\x89\x7e\x1f\x0e\xfc\x94" -+"\x07\x29\x44\x4f\xfb\x09\x55\x5f\x98\xa4\x68\x1e\x67\xa7\x7a\xb0\xc2\x1a\x5a\x1d\x0b\x5c\x67\x48\x1b\x56\x5e\xa3\xb7\x6f\x1f\x77" -+"\xa9\x84\xa9\x8a\xbf\x08\xf8\x16\x06\xdb\x85\xbb\x7c\xb2\x1e\x0b\x15\xf8\x7d\xfb\x63\x05\xda\x07\xfc\x1e\xf7\x38\xf8\x1e\xf7\x35" -+"\x05\xda\x07\xfc\x7d\xfb\x63\x05\x0e\xf7\x47\xf7\xe0\x15\xf8\x20\xdd\xfc\x20\xf7\x7d\xf8\x2f\xdd\xfc\x8d\xfd\x6d\xf8\x9f\xdd\xfc" -+"\x41\x06\x0b\x06\xc4\xb8\xab\x1d\x3a\xd8\xfb\x24\x1e\xfb\xc1\xfd\x6d\x0b\xf8\xbb\x92\x1d\x0b\x15\xe7\xc7\x3a\xfb\x11\xfb\x0b\x4e" -+"\xa2\x1d\x9d\x1d\xf8\x9f\xdd\xfc\x42\x06\x0b\x15\xe9\xc3\x3e\xfb\x16\xfb\x10\x51\x3e\x2f\x2e\x52\xd8\xf7\x13\xf7\x13\xc4\xd8\xe8" -+"\x1f\x0b\x97\x92\x8d\x97\x52\x1d\x0b\xf7\xe0\x15\xfb\xe0\xe8\xf9\x6d\x2e\xfb\xcf\xfc\x0b\xf7\xcf\x2e\xfd\x6d\xe9\xf7\xe0\x07\x0b" -+"\xf7\x34\x6e\x2f\xd9\xfb\x34\x1b\x29\x3c\x6c\x4f\x55\x1f\x49\x43\x67\x23\xfb\x0a\x1a\x0b\x15\xfb\x63\xf7\x63\x45\xfb\x63\xfb\x63" -+"\x45\xf7\x63\xfb\x63\xd1\xf7\x63\xf7\x63\x06\x0b\xf8\xd8\x15\xfb\xbc\xc9\xf8\x3d\x60\x07\x7a\x4b\x7d\x80\x43\x84\x7c\x8a\x18\x5d" -+"\x07\x0b\x87\xbe\x80\xac\x77\xb5\x1d\x30\xfb\x04\xfb\x42\x0b\x15\x8d\x64\x90\x78\x99\x77\x08\x66\xa6\xb8\x77\xc3\x1b\xe8\xbf\xb9" -+"\xe4\x92\x1f\x0b\x15\x72\x83\x7f\x53\x1d\x62\x83\x8d\x76\x1b\x5f\x0b\x79\x1d\xdb\x2b\x05\xcb\x06\x2a\xf7\x2a\x05\x0b\x37\xfc\x56" -+"\xfb\x66\xf8\x56\x37\xfc\x56\xfb\x66\xf8\x56\x36\x06\x0e\xb6\x6e\xa3\x58\x82\x86\x8b\x89\x7e\x1f\x0b\xf8\x95\xf8\x8a\x15\xfb\x56" -+"\xf7\x63\x33\xfb\x63\xfb\x55\x39\xf7\x55\x0b\xf7\xe0\x15\xf8\x21\xdd\xfc\x21\xf7\x7d\xf8\x30\xdd\xfc\x8d\xfd\x6d\x0b\x1e\xf7\x2a" -+"\xf7\x08\xd5\xfb\x08\xd1\x37\x45\x24\x41\xf2\x07\x0e\xbc\x15\x89\x82\x87\x8b\x86\x1b\x6e\x7b\x9a\xa5\x1f\xf7\xc8\x07\x0b\xf7\x8f" -+"\x06\xf1\xcd\xc7\xe9\xed\x49\xc9\x24\x1f\xfb\x3a\xf7\x66\x0b\x15\xfc\x78\x45\xf8\x78\x06\x25\x04\xfc\x78\x45\xf8\x78\x06\x0b\x3a" -+"\x30\x32\x52\xdb\xf7\x0f\xf7\x0f\xc4\xdb\xe4\x1f\x0e\xfd\x6d\xf7\xd3\x07\xf7\x23\xdd\xd8\xf7\x19\xd3\x73\xc2\x0b\xa8\x71\x61\x64" -+"\x6d\x71\x5f\x5e\x6e\xa5\xb3\xb4\xa8\xa5\x0b\xfb\x3a\xe9\xf7\x8c\x53\xf9\x1b\x0b\x15\x30\x07\xa5\x23\x05\xa9\x06\xa5\xf3\x05\xe6" -+"\x07\x0b\x1b\x97\x98\x88\x81\xa3\x1f\x75\xc6\x92\x89\x9e\x1b\x0b\xf7\xb0\xf7\xcc\x15\xfb\x82\x43\xf7\x82\x06\x0e\x06\xa1\xf7\x73" -+"\x05\xfb\xb3\x04\x37\x23\xdf\x06\x0b\xc2\x7a\x6e\xa9\x1f\xa6\x72\x9a\x6d\x96\x54\x08\x0b\x9c\xae\xb2\x1f\xb7\xb3\x9e\xba\xce\x1a" -+"\xf7\x1d\x0b\xfb\x28\x05\xc7\xb6\x1d\x0e\x6a\x73\x56\x1b\x51\x6d\xa1\xb7\x86\x1f\x0e\x07\x62\x93\x72\xa0\x74\x1e\x6a\xa9\xbc\x79" -+"\x0b\x15\x27\xc2\x07\x54\x8d\x78\x6c\x65\x1b\x65\x0b\xda\x69\x1e\x7d\xad\xa6\x87\xd0\x1b\xf7\xac\x0b\xf8\x42\x05\xfc\x95\xe9\xf9" -+"\x6d\x2d\x39\x07\x0b\x37\xfc\x56\xfb\x6f\xf8\x56\x37\x06\x0e\xf8\x99\xc3\x15\xfc\x7d\x48\xf8\x7d\x06\x0b\x1a\xf7\x7f\xfb\x1f\xf7" -+"\x2d\xfb\x6a\x1e\x0b\xa8\x08\xbc\x67\x4c\xa8\x42\x1b\xfb\x22\x0b\x06\x3c\x1d\x05\x0b\xb8\x07\x84\x78\x77\x88\x0b\xc1\xd9\xe6\xd1" -+"\xb7\x62\x42\x95\x1f\x0b\x15\xeb\xf7\x2a\x05\x4b\x06\x3c\x2b\x0b\xf7\x82\x05\x29\x06\x22\xfb\x5d\x05\x0b\x71\x77\x1e\x78\x72\x6e" -+"\x84\x57\x1b\x0b\x35\xf7\x24\x38\xfb\x24\x44\x47\xd2\x0b\x04\xfc\x78\x45\xf8\x78\x06\x0e\x1b\x52\x6c\xa1\xb7\x86\x1f\x0e\xf7\x83" -+"\xdd\xfc\xd0\x39\xf7\x84\x0b\x62\xb4\xbd\xbd\xb3\xb3\xbd\x1f\x0b\x3c\x3d\x5a\x5c\x39\x1f\x0e\x01\x00\x01\xe3\x01\x05\x00\x01\x0a" -+"\x02\x01\x40\x03\x01\x87\xff\x02\x87\xa0\x02\x8e\x02\x00\x01\x00\x04\x00\x07\x00\x19\x00\x36\x00\x7e\x01\x11\x01\x75\x01\xf2\x02" -+"\x0d\x02\x3a\x02\x67\x02\x90\x02\x98\x02\x9e\x02\xa2\x02\xa9\x02\xbc\x03\x01\x03\x19\x03\x70\x03\xd7\x03\xfc\x04\x47\x04\xa4\x04" -+"\xc8\x05\x28\x05\x84\x05\x93\x05\xa0\x05\xa6\x05\xae\x05\xcc\x06\x0e\x06\xbf\x06\xc3\x06\xc6\x06\xca\x06\xce\x06\xd2\x06\xe0\x06" -+"\xe4\x06\xfb\x07\x00\x07\x05\x07\x08\x07\x0b\x07\x0f\x07\x13\x07\x17\x07\x1a\x07\x76\x07\x7a\x07\x7e\x07\x82\x07\x86\x07\xa2\x07" -+"\xa7\x07\xaa\x07\xae\x07\xb2\x07\xc5\x07\xd5\x07\xe8\x08\x07\x08\x0d\x08\x29\x08\x2c\x08\x60\x08\x65\x08\x68\x08\x6b\x08\x72\x08" -+"\x78\x08\x7b\x08\x82\x08\x89\x08\x8e\x08\x93\x08\xc9\x08\xcc\x08\xcf\x08\xe7\x09\x1e\x09\x23\x09\x28\x09\x2d\x09\x30\x09\x45\x09" -+"\x49\x09\x79\x09\x7e\x09\x83\x09\xd5\x09\xe1\x0a\x33\x0a\x7b\x0a\x99\x0a\xed\x0b\x80\x0b\x87\x0b\xc0\x0c\x22\x0c\xbe\x0d\x25\x0d" -+"\x36\x0d\x69\x0d\x72\x0d\x78\x0d\x81\x0d\x91\x0d\xa2\x0d\xae\x0d\xb9\x0d\xd2\x0d\xd6\x0e\x00\x0e\x19\x0e\x33\x0e\x39\x0e\x40\x0e" -+"\x60\x0e\x71\x0e\xdf\x0f\x22\x0f\x2a\x0f\x30\x0f\x38\x0f\x40\x0f\x48\x0f\x4d\x0f\x55\x0f\x5b\x0f\x64\x0f\x79\x0f\x80\x0f\xa5\x0f" -+"\xad\x0f\xb1\x0f\xb6\x10\x31\x10\x56\x10\x5a\x10\xc4\x10\xfe\x11\x03\x11\x0d\x11\x2e\x11\x32\x11\x9a\x11\xff\x12\x06\x12\x15\x12" -+"\x55\x12\x8d\x12\x90\x12\xbe\x12\xc9\x12\xfa\x13\x09\x13\x25\x13\x3b\x13\x67\x13\x85\x13\x94\x13\xa5\x14\x37\x14\x44\x14\x9c\x14" -+"\xca\x14\xd1\x15\x5d\x15\x65\x15\x6d\x15\x75\x15\x7d\x15\x86\x15\x8e\x15\xce\x15\xd7\x15\xe0\x15\xe9\x15\xf2\x15\xf9\x16\x02\x16" -+"\x0b\x16\x14\x16\x4b\x16\x53\x16\x5b\x16\x63\x16\x6b\x16\x73\x16\x7c\x16\xac\x16\xb5\x16\xbe\x16\xc7\x16\xdd\x16\xe3\x16\xec\x16" -+"\xf3\x17\x0c\x17\x14\x17\x1c\x17\x25\x17\x42\x17\x7e\x17\x86\x17\x8e\x17\x96\x17\x98\x17\x9f\x17\xa8\x17\xb1\x17\xba\x17\xcf\x17" -+"\xd6\x17\xdd\x17\xe4\x17\xeb\x17\xf2\x17\xfb\x18\x01\x18\x09\x18\x0f\x18\x17\x18\x1f\x18\x29\x18\x44\x18\x6c\x18\x76\x18\x7f\x18" -+"\x8d\x18\xb1\x18\xc1\x19\x57\x19\x80\x19\x8a\x19\xa1\x19\xa5\x19\xad\x19\xb6\x19\xe4\x19\xf1\x19\xf4\x19\xfd\x1a\x06\x1a\x0f\x1a" -+"\x18\x1a\x1b\x1a\x23\x1a\x26\x1a\x3f\x1a\x47\x1a\x50\x1a\x59\x1a\x62\x1a\xc6\x1a\xf9\x1a\xfd\x1b\x09\x1b\x0d\x1b\x19\x1b\x95\x1b" -+"\xa5\x1b\xae\x1b\xb7\x1b\xbf\x1b\xc8\x1b\xf5\x1b\xfe\x1c\x08\x1c\x14\x1c\x1f\x1c\x2e\x1c\x5c\x1c\x61\x1c\x68\x1c\x74\x1c\x7d\x1c" -+"\x86\x1c\x89\x1c\x91\x1c\x98\x1c\xb3\x1c\xba\x1c\xc1\x1c\xcd\x1c\xd1\x1c\xda\x1c\xe3\x1c\xeb\x1c\xef\x1d\x06\x1d\x0e\x1d\x17\x1d" -+"\x85\x1d\x89\x1d\x9f\x1d\xa8\x1e\x12\x1e\x26\x1e\x7b\x1e\x83\x1e\x8b\x1e\x93\x1e\x96\x1e\x9f\x1e\xe5\x1e\xee\x1e\xf7\x1f\x1a\x1f" -+"\x1e\x1f\x39\x1f\x41\x1f\x61\x1f\x73\x1f\x82\x1f\x8b\x1f\x94\x1f\xd8\x1f\xdc\x1f\xe2\x1f\xee\x1f\xf8\x20\x01\x20\x08\x20\x12\x20" -+"\x1a\x20\x24\x20\x42\x20\x4a\x20\x52\x20\x5b\x20\x64\x20\x68\x20\x73\x20\x7d\x20\x81\x20\x87\x20\x9d\x20\xca\x20\xda\x21\x0f\x21" -+"\x13\x21\x1c\x21\x5b\x21\xc6\x21\xca\x21\xe9\x21\xf4\x22\x03\x22\x2c\x22\x36\x22\x3d\x22\x51\x22\x6b\x22\xbd\x22\xd0\x22\xd4\x23" -+"\x3f\x23\x48\x23\x57\x23\x60\x23\x76\x23\x92\x23\xc9\x23\xe5\x23\xf7\x24\x56\x24\xaf\x25\x09\x25\x21\x25\x72\x25\x87\x25\xe0\x26" -+"\x25\x26\x2c\x26\x35\x26\x70\x26\xa8\x26\xd2\x27\x08\x27\x1f\x27\x27\x27\xa7\x28\x01\x28\x46\x28\x50\x28\x84\x28\xa0\x28\xc1\x28" -+"\xfa\x29\x54\x29\x59\x29\x65\x29\x6a\x29\x77\x29\x9f\x29\xb7\x29\xbc\x29\xce\x29\xf1\x2a\x2b\x2a\x3d\x2a\x42\x2a\xac\x2a\xb5\x2a" -+"\xc4\x2a\xcc\x2a\xd6\x2a\xe6\x2a\xf6\x2b\x04\x2b\x0a\x2b\x52\x2b\x83\x2b\xcd\x2b\xe1\x2c\x0e\x2c\x1b\x2c\x63\x2c\x86\x2c\x97\x2c" -+"\xa4\x2c\xcb\x2c\xdd\x2d\x0f\x2d\x28\x2d\x30\x2d\x3a\x2d\x4a\x2d\x5b\x2d\xa6\x2e\x20\x2e\xa4\x2f\x06\x2f\x5c\x2f\xb2\x2f\xb9\x2f" -+"\xee\x30\x24\x30\x96\x31\x22\x31\x2f\x31\xb5\x32\x04\x32\x51\x32\x9f\x32\xeb\x32\xf3\x33\x04\x33\x6e\x33\x77\x33\x80\x33\x8a\x33" -+"\x93\x33\xc3\x34\x41\x34\xac\x34\xb5\x35\x01\x35\x3a\x35\x65\x35\x6d\x35\x7b\x35\x8c\x35\x93\x35\xc8\x35\xcf\x36\x23\x36\x96\x36" -+"\x9b\x36\xa4\x36\xaf\x37\x15\x37\x18\x37\x20\x37\x2b\x37\x45\x37\x86\x37\x97\x37\xb8\x37\xcc\x37\xd7\x38\x58\x38\x62\x38\x81\x38" -+"\xb9\x38\xc0\x39\x07\x39\x2c\x39\x34\x39\x3f\x39\x55\x39\xcc\x3a\x39\x3a\x77\x3a\xb5\x3a\xfa\x3b\x45\x3b\x7a\x3b\x7f\x3b\x88\x3b" -+"\x91\x3b\x9a\x3b\xa3\x3b\xaf\x3b\xd3\x3b\xdc\x3c\x03\x3c\x0a\x3c\x27\x3c\x30\x3c\x38\x3c\x4c\x3c\x56\x3c\xf7\x3d\x0b\x3d\x9a\x3d" -+"\xa1\x3d\xe5\x3d\xfe\x3e\x04\x3e\x22\x3e\x29\x3e\x30\x3e\x9c\x3e\xd0\x3e\xe5\x3e\xed\x3e\xfc\x3f\x0a\x3f\x0e\x3f\x16\x3f\x1b\x3f" -+"\x24\x3f\x32\x3f\x3a\x3f\xac\x40\x46\x40\xc0\x40\xd8\x41\x01\x41\x2e\x41\x65\x41\xa5\x41\xc0\x41\xc7\x41\xe7\x41\xef\x41\xf8\x42" -+"\x09\x42\x4b\x42\x54\x42\x92\x42\x9c\x42\xa6\x42\xb3\x42\xf2\x43\x80\x43\xd0\x44\x05\x44\x89\x44\x9b\x44\xcf\x44\xec\x45\x29\x45" -+"\x9f\x45\xa7\x45\xaf\x45\xb7\x45\xbe\x45\xd5\x45\xd8\x45\xdc\x45\xe3\x45\xed\x45\xf5\x45\xf9\x46\x13\x46\x7d\x46\xb2\x47\x24\x47" -+"\x2d\x47\x36\x47\x38\x47\x42\x47\x5f\x47\x7e\x47\xbd\x47\xfd\x48\x76\x48\xde\x48\xfb\x49\x1f\x49\x3f\x49\x61\x49\x75\x49\x8e\x49" -+"\x98\x49\xb3\x49\xeb\x4a\x1a\x4a\x2e\x4a\x45\x4a\x76\x4a\x99\x4a\xa7\x4a\xb6\x4a\xbf\x4a\xcc\x4b\x0a\x4b\x45\x4b\x70\x4b\x8e\x4b" -+"\x95\x4b\xac\x4b\xda\x4c\x30\x4c\x38\x4c\x48\x4c\x8f\x4c\xcd\x4d\x03\x4d\x41\x4d\x49\x4e\x0b\x4e\x77\x4e\x7e\x4e\x82\x4e\x9e\x4e" -+"\xbb\x4f\x2b\x4f\x42\x4f\x87\x4f\xb0\x4f\xff\x50\x04\x50\x0d\x50\x16\x50\x1f\x50\x28\x50\x2f\x50\x35\x50\x3e\x50\x45\x50\x4e\x50" -+"\xce\x50\xd8\x50\xe2\x50\xf3\x50\xfd\x51\x61\xfc\x20\x0e\xfc\x20\x0e\xfc\x20\xf7\x64\x20\x1d\x38\xfb\xe6\x06\xa1\xfb\x73\x05\xb2" -+"\xa9\x1d\x0e\xfb\xd3\xbf\xf9\x59\x15\xfb\x03\x07\xa6\xfb\x1a\x05\xb2\x48\x0a\xce\x16\xfb\x03\x07\xa6\xfb\x1a\x05\xb2\x48\x0a\x0e" -+"\xf8\x79\xf9\x4d\x15\x3e\x06\x68\xfb\x58\x05\xfb\x11\x06\xaf\xf7\x58\x05\x3f\x06\x67\xfb\x58\x05\xfb\x0d\x47\xf7\x00\x06\x6c\xfb" -+"\x42\x05\xfb\x06\x47\xf0\x90\x0a\xf7\x10\x90\x0a\xf7\x09\xcf\x22\x06\xaa\xf7\x42\x05\xf5\xcf\x2e\x06\x32\x47\x15\x6c\xfb\x42\x05" -+"\xfb\x11\x06\xab\xf7\x42\x05\x0e\xf7\x8e\xf9\x96\x15\x55\x07\xfb\x14\x7b\x46\x45\xfb\x06\x1a\x4c\xa3\x5a\xb9\x69\x1e\xa6\x78\xa7" -+"\x80\xd3\x75\x08\xfb\xa4\x07\x5e\x91\x65\x9f\x74\xaa\x7c\xa2\x87\x9c\x85\xcc\x08\x3c\x06\x84\xfb\x1f\xd7\x38\xf7\x21\x82\x08\x24" -+"\xc6\xf2\x07\xc1\x8f\xb0\x96\xac\x9f\x08\xc5\xaf\xad\xcf\xda\x1a\xd2\x70\xbd\x51\xac\x1e\x71\x9a\x7e\x90\x2f\xa7\x08\xf7\x8d\x07" -+"\xce\x88\xba\x58\x8c\x42\x08\xda\x06\xf7\x06\x42\xd5\xfb\x0d\x94\x1e\xc1\x07\x50\xfc\x01\x15\x3c\xa0\x66\xb2\xc8\x1a\xcd\xb5\xb6" -+"\xd5\x95\x1e\xc6\xfb\xe4\x15\xf1\x6d\xab\x6d\x49\x1a\x64\x7c\x68\x70\x71\x1e\x73\x74\x72\x82\x60\x86\x08\x0e\xf7\x6b\xf7\x5b\xf9" -+"\x41\x15\x2d\x3f\x3e\x2d\x2d\xd7\x3e\xea\xe8\xd8\xd8\xe7\xec\x40\xd7\x2b\x1f\x45\x04\xc4\xb8\x5e\x52\x54\x5d\x5e\x54\x53\x5d\xb8" -+"\xc3\xc3\xb8\xb8\xc3\x1f\xf8\x2e\xe9\x15\xfc\x1f\xfd\x6d\x05\xcd\x06\xf8\x1f\xf9\x6d\x05\x98\xfc\x17\x15\x2d\x3f\x3f\x2d\x2c\xd7" -+"\x3f\xea\xe8\xd8\xd7\xe8\xeb\x40\xd7\x2b\x1f\x45\x04\xc4\xb8\x5e\x52\x55\x5d\x5e\x54\x52\x5e\xb8\xc3\xc2\xb8\xb8\xc3\x1f\x0e\x84" -+"\xf8\x81\xf7\xe2\x15\x8c\x67\x7f\x5b\x77\x68\xfb\x19\xf7\x37\x18\xf3\xc6\xad\xb6\xd3\x1a\xe7\x47\xcc\x2c\x2b\x40\x46\x33\x5c\x9d" -+"\x66\xca\x3c\x1e\xfb\x11\x43\x66\x5a\x2f\x1a\xfb\x0c\xdd\x3c\xf7\x0f\xbd\xb9\x97\xa2\xaf\x1e\xa0\x99\x9c\x99\xb2\xb1\xc9\x3d\x18" -+"\xf7\x01\x06\xfb\x0e\xf7\x2b\x05\xb0\xc4\xa0\xcd\xc7\x1a\xfb\xb4\xec\x15\x4e\xd1\x82\x9b\xaf\x1a\xbf\xad\xad\xbf\xbd\xb0\x67\x5a" -+"\x5f\x70\x6b\x3f\x5c\x1e\xf7\x19\xfb\xba\x15\x50\x53\x60\x74\x57\x1b\x43\x50\xc4\xd2\xc3\xaa\xb3\xe6\xc5\x1f\x0e\xfc\x58\xcc\xf9" -+"\x6d\x15\x23\xbb\x07\x8c\x51\x7d\x70\x68\x86\x08\x65\x07\xc7\x8f\xac\xba\xdb\x1a\xf0\x07\x0e\xfb\xe9\xf7\x80\x20\x1d\x27\xfb\x17" -+"\x4c\xfb\x4a\xfb\x31\x1a\xfb\x32\xca\xfb\x4a\xef\xfb\x17\x1e\xc2\x06\x33\xf7\x23\x5a\xf7\x3c\xf7\x34\x1a\xf7\x33\xbc\xf7\x3d\xe3" -+"\xf7\x22\x1e\x0e\xfb\xe9\xe8\xfb\x68\x15\xef\xf7\x17\xca\xf7\x4a\xf7\x31\x1a\xf7\x32\x4c\xf7\x4a\x27\xf7\x17\x1e\x54\x06\xe3\xfb" -+"\x23\xbc\xfb\x3c\xfb\x34\x1a\xfb\x33\x5a\xfb\x3d\x33\xfb\x22\x1e\x0e\xfb\xb1\xf7\x34\xf9\x6d\x15\x90\xfb\x04\x21\xb1\x78\x50\xf7" -+"\x00\x6d\x46\x32\xbd\x67\xca\xe8\xc9\x2e\xbe\xaf\x45\xe4\xf7\x00\xa9\x78\xc6\x21\x65\x90\xf7\x04\x05\x0e\x31\xf8\xaa\xf7\x9f\x94" -+"\x1d\x0e\xfc\x20\xe2\xf3\x7c\x0a\xfb\xe9\xa8\x1d\xfc\x20\xf7\x53\xf3\x24\x1d\xfc\x20\xf7\x79\x20\x1d\xfb\x81\xfd\x81\x05\xc2\x06" -+"\xf7\x81\xf9\x81\x05\x0e\xf7\xa7\xf9\x67\x15\x49\x4f\x6d\x5a\x66\x1f\x5d\x4b\x74\x2b\xfb\x1a\x1a\xfb\x88\xdb\xfb\x15\xf7\x2c\xf7" -+"\x2a\xdd\xf7\x15\xf7\x82\xf7\x20\x75\xe9\x5c\xcd\x1e\xbd\x66\x50\xa8\x48\x1b\x3d\x04\xea\xba\x2a\xfb\x58\xfb\x62\x5d\x2b\x29\x2e" -+"\x5c\xef\xf7\x5b\xf7\x5b\xba\xec\xea\x1f\x0e\xf7\x97\xf8\x97\x15\xfc\x97\xe3\xf9\x67\x51\x07\x6c\xfb\x03\x77\x7c\xfb\x1c\x79\x08" -+"\x4b\x07\x0e\xf8\x8e\xe2\x15\xfc\x09\x06\x94\xc7\xab\xb1\xe2\xc0\xef\xc3\x18\xee\xc2\xbe\xd5\xe4\x1a\xc7\x73\xc3\x61\xb2\x1e\xb1" -+"\x61\x57\x9d\x48\x1b\x31\x48\x6b\x4d\x64\x1f\x72\x65\x80\x5e\x89\x42\x08\xe3\x06\x8e\xbc\x91\xa8\x97\xa3\x08\xb7\xa2\xb9\xa6\xc0" -+"\x1b\xdb\xc7\x51\x3d\x51\x6a\x59\x4c\x67\x1f\x2f\x55\xfb\x28\x36\x60\x47\x83\xfb\x32\x19\xf8\x6c\x06\x0e\xf7\x71\xf7\xe1\x15\x96" -+"\x06\xb0\x06\xeb\xbe\x5e\x34\x30\x54\x54\x30\x2a\x5c\xbc\xf5\x85\x1f\x33\x06\x8f\x51\x95\x65\x9c\x6b\x08\x45\xb0\xd0\x68\xec\x1b" -+"\xf7\x26\xe9\xe3\xf7\x1d\xe7\x68\xbd\x36\xa9\x1f\xcd\xa6\xac\xbd\xd4\x1a\xf7\x10\x3a\xd6\xfb\x1b\xfb\x23\x3f\x3b\xfb\x2d\x88\x1e" -+"\xe3\x06\x8c\xb7\x8f\xa4\x96\xa1\x08\xb4\x9f\xb7\xa3\xc2\x1b\xd9\xba\x5c\x3d\x58\x79\x6c\x64\x7a\x1f\x73\x81\x6b\x87\x4e\x8a\x08" -+"\x0e\xf7\xdb\xf7\x43\x15\xfb\x43\xe3\xf7\x43\xf4\xda\x22\xf8\x69\x4a\x07\xfb\xd6\xfc\x5b\x05\x2e\x07\xf7\xbf\xda\x15\xfb\x72\x06" -+"\xf7\x72\xf7\xd3\x05\x0e\xf8\x70\xf9\x59\x15\xfc\x02\x06\x56\xfc\x16\x05\xdc\x06\xbc\xb4\xad\x9c\xc3\x1b\xea\xc6\x4a\x22\x25\x50" -+"\x4d\x2b\x3e\x5c\xb2\xdb\x76\x1f\x33\x06\x97\x51\x95\x6f\xa0\x71\x08\x55\xb3\xd3\x6c\xdb\x1b\xf7\x23\xef\xf3\xf7\x2a\xf7\x20\x2e" -+"\xeb\xfb\x1c\x59\x63\x7e\x6d\x62\x1f\xa7\xf7\x5a\x05\xf7\xbb\x06\x0e\xf8\x86\xf8\xab\x15\xf7\x0a\x7a\x3f\xd1\xfb\x00\x1b\x3d\x45" -+"\x65\x4a\x61\x1f\x5e\x44\x78\x33\xfb\x17\x1a\xfb\x0e\x9c\x3e\xb6\x4b\x1e\x50\xb1\xc9\x6c\xd9\x1b\xf7\x1b\xec\xf0\xf7\x21\xf7\x19" -+"\x31\xe9\xfb\x13\x45\x54\x71\x56\x65\x1f\xf7\x47\x8c\xc3\xee\xf0\x1b\xc9\xb6\x63\x45\x99\x1f\xfb\x11\xfb\x3b\x15\xe0\xc0\x4f\x2b" -+"\x30\x4f\x49\x3a\x39\x4d\xd0\xe7\xe5\xc7\xc9\xe2\x1f\x0e\xf8\x9c\xf9\x59\x15\xfc\x6e\x34\xf8\x13\x06\xfb\x3d\xfb\x85\x46\xfb\x28" -+"\x56\xfb\x7d\x08\xe9\x06\xb2\xf7\x77\xe4\xf7\x57\xf7\x34\xf7\x69\x08\x0e\xf8\x1b\xf8\x11\x15\xd5\xb8\xa2\xaf\xcf\x1a\xf7\x06\x34" -+"\xda\xfb\x12\xfb\x11\x33\x3c\xfb\x05\x46\xa2\x68\xd4\x5d\x1e\x3a\x62\x63\x50\x3b\x1a\xfb\x18\xec\x2f\xf7\x21\xf7\x20\xed\xe7\xf7" -+"\x18\xdb\x63\xc6\x39\xb4\x1e\xfb\x08\xf7\x9c\x15\xd6\xbb\x5e\x43\x47\x5a\x5e\x41\x40\x5b\xb8\xd1\xd1\xbb\xb8\xd6\x1f\xfb\xc4\x04" -+"\xe3\xc7\x51\x37\x34\x50\x52\x30\x35\x4f\xc6\xdf\xe1\xc6\xc4\xe4\x1f\x0e\xc0\xf7\x39\x15\xfb\x0a\x9c\xd7\x45\xf7\x00\x1b\xda\xd1" -+"\xb1\xcc\xb5\x1f\xb7\xd2\x9f\xe3\xf7\x17\x1a\xf7\x0e\x79\xd8\x61\xcb\x1e\xc6\x64\x4d\xaa\x3d\x1b\xfb\x1b\x2a\x26\xfb\x20\xfb\x19" -+"\xe5\x2d\xf7\x14\xce\xbd\xa3\xc2\xb8\x1f\xfb\x48\x8a\x53\x28\x26\x1b\x4d\x60\xb3\xd1\x7d\x1f\xf7\x14\xf8\x75\x15\xdd\xc9\x46\x2e" -+"\x32\x4f\x4d\x34\x36\x56\xc7\xeb\xe6\xc6\xcd\xdd\x1f\x0e\xfc\x20\xf7\x6a\xf3\x3b\x1d\xf8\xa0\x04\x23\x23\xf3\x06\x0e\xfc\x20\xf7" -+"\x6b\xf8\xa0\x3b\x1d\x22\xfb\xd0\x7c\x0a\x31\xb8\xf7\x5a\x8a\x1d\x31\xf8\xaa\xf7\xf5\xa1\x1d\x0e\x31\xf8\xaf\xf7\x9f\x15\xfc\x7d" -+"\xf7\x63\x05\x3c\x07\xf8\x1e\xfb\x38\xfc\x1e\xfb\x35\x05\x3c\x07\xf8\x7d\xf7\x63\x05\x0e\xf7\xde\xf7\x5b\x15\xba\x07\x8c\xb8\x99" -+"\xa1\xcb\xc4\x08\xd6\xcf\xa4\xb7\xce\x1a\xf7\x09\x38\xd6\xfb\x16\xfb\x25\x41\x3c\xfb\x2f\x1e\xe0\x06\xf7\x00\xb2\xbb\xe5\xd8\xbe" -+"\x5d\x47\x5d\x75\x64\x56\x5c\x1e\x36\x40\x78\x6e\x50\x1a\x54\x07\xe5\x2c\x15\x31\x23\xe5\x06\x0e\xf7\xe9\xf9\x2d\xf8\x89\x15\x75" -+"\x49\x05\xc5\x72\x61\xa8\x54\x1b\xfb\x1a\xfb\x0f\xfb\x18\xfb\x25\x23\xd1\x3c\xe8\xc0\xb6\xa1\xbd\xb9\x1f\x58\x94\xb0\x71\xcb\x1b" -+"\xd6\xc7\xa8\xc7\xbe\x1f\xc2\xcb\xaa\xdb\xda\x1a\xf7\x60\xfb\x55\xf7\x3c\xfb\x7d\xfb\x0b\xfb\x12\x5a\x3b\x33\x1e\x29\x32\x4f\xfb" -+"\x1a\xfb\x17\x1a\xfb\x72\xf7\x5e\xfb\x46\xf7\x91\xd5\xda\x9a\xa6\xd4\x1e\x6f\xce\x05\x74\x38\x54\x82\x53\x1b\xfb\x67\xfb\x37\xf7" -+"\x27\xf7\x53\xf7\x66\xf7\x4a\xf7\x49\xf7\x67\xf7\x54\xf7\x34\xfb\x20\xfb\x3c\xfb\x08\x38\xfb\x05\x36\x70\x74\x9f\xa3\x94\x8f\x9d" -+"\x93\xa2\x1f\xe5\xf7\xac\x05\xfb\x7d\x60\x15\xc3\xb4\x62\x54\x88\x1f\x89\x59\x70\x37\x72\x66\x08\x62\x6f\x66\x73\x66\x1b\x54\x5f" -+"\xbf\xcd\xf7\x04\xd8\xf1\xdf\x1f\x0e\x84\x23\x0a\x0e\x84\x54\x0a\xbb\x2a\x0a\x0e\xbb\x6f\x1d\x0e\x84\x24\x0a\x0e\x4c\xf7\x4b\xf7" -+"\xe0\x15\xf7\xf0\xdd\xfb\xf0\x92\x0a\x0e\xf3\x32\x1d\x0e\xbb\xf8\xbb\x4e\x0a\xe8\xf9\x6d\x2e\xfb\xcf\xfc\x0b\xf7\xcf\x2e\xfd\x6d" -+"\xe8\xf7\xe0\x07\x0e\xfc\x20\x30\x0a\x0e\xfb\x42\x60\x0a\x0e\x84\x64\x0a\x3a\x1d\x0e\xf7\x33\x76\x1d\xbb\x36\x1d\x0e\xf3\x25\x0a" -+"\x0e\x84\x6d\x1d\xf3\xf9\x71\x8a\x15\x2d\xd8\x05\xd0\xd7\xad\xe8\xf7\x08\x1a\xf7\x77\xfb\x22\xf7\x2d\xfb\x66\xfb\x67\xfb\x21\xfb" -+"\x2d\xfb\x79\xfb\x78\xf7\x21\xfb\x2e\xf7\x67\xd4\xc6\x9b\xae\xc6\x1e\xf4\x34\x05\xfb\x61\xf7\x9c\x15\x5d\x53\xd5\x4d\x05\x76\x60" -+"\x6a\x84\x5f\x1b\xfb\x2f\x24\xf7\x0c\xf7\x48\xf7\x48\xf2\xf7\x0c\xf7\x30\xf7\x2f\xf3\xfb\x0c\xfb\x47\x2c\x72\x43\x55\x4e\x1f\x0e" -+"\xbb\x33\x0a\x0e\x84\x29\x0a\x0e\x4c\x3e\x0a\x0e\xbb\x2d\x1d\x0e\x84\xf8\x1c\x16\xf7\x91\xf9\x6d\x05\x28\x06\xfb\x5e\xfc\xfd\xfb" -+"\x6a\xf8\xfd\x05\x27\x06\xf7\x9a\xfd\x6d\x05\x0e\xf7\xa2\x34\x1d\x0e\x84\x6e\x1d\x84\x28\x0a\x0e\x4c\x2d\x0a\x0e\xfc\x20\xf7\x8e" -+"\x20\x1d\xfb\x4e\xfe\x41\xf7\x4e\xd3\x24\xf9\xb1\xf2\x06\x0e\xfc\x20\xba\xf9\x6d\x15\x54\x06\xf7\x81\xfd\x81\x05\xc2\x06\x0e\xfc" -+"\x20\xa2\xfb\x68\x15\xf7\x4e\xfa\x41\xfb\x4e\x43\xf2\xfd\xb1\x24\x06\x0e\xfb\x61\xf7\x59\xf9\x59\x15\xfb\x2d\xfc\x10\x05\xd0\x06" -+"\xf7\x0d\xf7\xc0\xf7\x0e\xfb\xc0\x05\xd0\x06\xfb\x2f\xf8\x10\x05\x0e\xf8\xd6\xfb\x12\x9c\x0a\xfc\x58\xf7\x32\xf8\x71\x15\xf3\x5b" -+"\x07\x8a\xc4\x9a\xa7\xad\x90\x08\xb1\x07\x50\x86\x69\x5c\x3c\x1a\x26\x07\x0e\x25\x1d\x0e\xc1\xf9\x6d\x15\xfd\x6d\xd6\xce\x07\x4e" -+"\xb3\xc0\x6e\xd4\x1b\xf7\x1e\xe5\xf7\x05\xf7\x42\xf7\x3e\x36\xf4\xfb\x1f\x43\x58\x70\x50\x64\x1f\xf7\xa8\x07\xf7\x26\xfb\xa0\x15" -+"\xe8\xc7\x3a\xfb\x11\xfb\x0b\x4d\xa2\x1d\xfb\x42\x33\x1d\x0e\x5a\x0a\x0e\x29\x1d\x0e\xfc\x20\xf7\x96\x35\x0a\x0e\xf8\x28\xf8\xa0" -+"\x32\x0a\x70\x1d\x0e\xfc\x58\xf7\x2a\x88\x0a\x0e\xfc\x58\xd1\xf8\xa0\x6a\x0a\xfb\x42\x6b\x0a\x0e\xfc\x58\x43\x1d\x0e\xf7\x33\xd1" -+"\x20\x0a\xfc\xa0\x9f\x0a\xc9\xae\x65\x48\x1e\xfb\xfd\x9f\x0a\xc8\xaf\x64\x49\x1e\xfb\xfd\xdf\xf8\x1d\x07\xe9\x55\xbf\x29\x45\x61" -+"\x76\x50\x5a\x1e\xc3\x6c\x61\xa3\x47\x1b\x45\x5c\x71\x4c\x5f\x1f\xd5\x07\x0e\x35\x1d\x0e\x2a\x1d\x0e\xc1\xfb\x6e\x15\xdf\x86\x0a" -+"\xf7\x44\x35\xf7\x02\xfb\x1f\x44\x52\x6b\x4d\x64\x1f\xda\x3e\x77\x0a\xf8\x83\xfb\x6e\x15\xf9\x7a\x41\x45\x07\xc2\x64\x50\xa9\x46" -+"\x1b\xfb\x1e\x31\xfb\x05\xfb\x42\xfb\x3e\xe0\x22\xf7\x1f\xd4\xbd\xa5\xc4\xb2\x1f\xfb\xaa\x07\xfb\x26\xf9\x3b\x15\xe4\xc4\x3c\xfb" -+"\x13\xfb\x0c\x8e\x0a\xe7\x1f\x0e\xfb\xe9\x37\x0a\x0e\xfb\x42\x31\x1d\x0e\xfc\x20\x4b\x1d\x0e\x26\x1d\x0e\xfb\x42\xf7\xb1\x96\x0a" -+"\xfc\x3d\xfb\x20\xf8\x3d\x05\x2d\x06\xf7\x4c\xfc\xa0\x05\x0e\xbb\x2c\x0a\x0e\xfb\x42\xf7\xb8\xf7\xa3\x15\xf7\x44\xf7\x91\x05\x2d" -+"\x06\xfb\x12\xfb\x52\xfb\x12\xf7\x52\x05\x2c\x06\xf7\x43\xfb\x95\xfb\x4d\xfb\x9f\x05\xea\x06\xf7\x19\xf7\x5d\xf7\x17\xfb\x5d\x05" -+"\xec\x06\x0e\xfb\x42\x2b\x0a\x0e\xfb\x42\x3e\x1d\x0e\xfb\xe8\xf7\xa8\x20\x1d\x5d\x06\x46\x8a\x61\x59\x8d\x3a\x08\xfb\x3a\x07\x8c" -+"\x32\x76\x65\x51\x80\x08\x46\x07\xc5\x80\xa0\x65\x8a\x32\x08\xfb\x3a\x07\x89\x3a\xb5\x59\xd0\x8a\x08\xb9\xcc\x7c\x06\x59\x8c\x7e" -+"\x99\xbf\x1a\xf7\x49\x07\x8a\xde\x6f\xc1\x56\xa0\x08\xc5\xa0\xa3\xb9\xe5\x1a\xf7\x49\x07\xbf\x98\x99\xbd\x8c\x1e\x9a\x06\x0e\xfc" -+"\x32\xef\x20\x1d\xfe\x41\xc7\xfa\x41\x07\x0e\xfb\xe8\xa8\xfb\x68\x15\xba\x06\xd1\x8c\xb5\xbd\x89\xdc\x08\xf7\x3a\x07\x8a\xe4\xa0" -+"\xb1\xc3\x96\x08\xd0\x07\x53\x96\x76\xb1\x8c\xe4\x08\xf7\x3a\x07\x8d\xdc\x61\xbd\x45\x8c\x08\x5c\x4a\x9b\x06\xbd\x8a\x99\x7d\x57" -+"\x1a\xfb\x49\x07\x8c\x38\xa7\x55\xc0\x76\x56\x77\x6f\x55\x8a\x38\x08\xfb\x49\x07\x57\x7e\x7d\x58\x8a\x1e\x7b\x06\x0e\x31\xf8\x5b" -+"\xf8\x2f\x15\x56\x8c\x7c\x75\x66\x1b\x7c\x7c\x90\x97\x77\x1f\xfb\x09\xd0\x05\x96\x7a\x78\x90\x79\x1b\x4a\x65\x59\x2c\x86\x1f\xc0" -+"\x06\x8d\xa2\x8d\x95\x8f\x95\x08\xa1\x95\x9b\x98\x9e\x1b\x95\xa2\x83\x85\x95\x1f\xed\x4c\x05\x7b\xa5\xa9\x81\xa4\x1b\xcc\xb3\xbc" -+"\xd9\x1f\x9b\x07\x0e\xfb\xe9\xf7\x0e\xfb\x61\x15\xde\xf7\xe6\x06\x75\xf7\x73\x05\x64\x06\x75\xfb\x73\x05\x8a\xf7\xb3\x15\xdf\xf3" -+"\x37\x06\x0e\xf7\xcc\xf8\x62\x15\xc8\x86\xb3\x61\x92\x48\x08\xdf\x06\x85\xf7\x06\x46\xd0\xfb\x09\x93\x08\xe4\x61\x31\x07\xfb\x1b" -+"\x7d\x38\xfb\x00\xfb\x37\x1a\xfb\x33\xde\x23\xf7\x1b\x7f\x1e\x29\xb5\xec\x07\xf7\x08\x91\xd6\xd8\x92\xf7\x0c\x08\x37\x06\x7f\x3c" -+"\x65\x62\x4b\x84\x08\x61\x8d\x15\x38\x98\x5b\xd3\xf7\x05\x1a\xf7\x0d\xb8\xd2\xe1\x9b\x1e\x0e\xf8\x02\xf8\x0c\x15\xfb\x34\x06\x84" -+"\x98\x86\x94\x87\x91\x76\xb2\x18\x7c\xa6\x84\xa5\xa7\x1a\xd7\xc3\xbe\xe0\xe2\xb9\x58\x24\x8e\x1e\xe3\x06\x8a\xc8\x83\xb2\x78\xac" -+"\x08\xc9\x67\x44\xb0\x36\x1b\xfb\x1a\x23\x2e\xfb\x0d\x5f\x92\x78\xb9\x3f\x1f\x3a\x54\xf7\x02\x06\x9b\x71\x93\x70\x72\x1a\x4d\x6a" -+"\x59\x2f\x3c\x1e\xbb\x49\x05\xa4\xb2\xae\x97\xae\x1b\xa0\xa3\x87\x84\xa0\x1f\x6e\xde\xa5\x85\xb0\x1b\xbf\xb2\x9c\xb2\xb3\x1f\x61" -+"\xcd\x05\x77\x6e\x6f\x81\x71\x1b\x79\x78\x8f\x97\x61\x1f\x97\x64\x7b\x8e\x70\x1b\x60\x63\x7e\x71\x64\x1f\xe5\xe6\xa7\xb9\xbf\x1a" -+"\x9e\x86\xa2\x81\xa8\x1e\xf7\x1c\x06\x0e\xfc\x20\xf7\xe1\x2f\x1d\x0e\xf8\x83\xf7\xf6\x15\xfb\x2b\x06\xf7\x5d\xf7\xf7\x05\x36\x06" -+"\xfb\x47\xfb\xd6\xfb\x4d\xf7\xd6\x05\x36\x06\xf7\x61\xfb\xf7\x05\xfb\x2b\x58\xf7\x40\x3e\xfb\x40\x58\xf7\x40\xfb\x43\xe3\xf7\x43" -+"\xf7\x3e\xbe\xfb\x3e\xd8\xf7\x3e\x06\x0e\xf8\x67\xf8\x62\x15\xfb\x05\x06\x97\xd1\x05\xdd\x9a\xab\xb7\xba\x1b\x9b\x96\x87\x7d\xa4" -+"\x1f\xa9\xda\x05\x98\x6d\x74\x91\x71\x1b\x63\x60\x79\x6d\x6b\x1f\x6d\x6e\x77\x64\x80\x53\x75\x23\x18\xfb\x11\x45\xf7\x05\x06\x3d" -+"\xfc\x31\x05\x3e\x7c\x6d\x67\x57\x1b\x78\x7d\x90\x96\x7a\x1f\x7a\x37\x05\x84\x98\x9d\x88\xa3\x1b\xbd\xbe\xa1\xae\xad\x1f\xab\xac" -+"\x9f\xba\x98\xd1\xd6\xf8\x21\x18\xf7\x12\x06\x0e\xf8\x64\x20\x0a\x93\x07\x9f\x07\xf5\x45\xd2\x22\x24\x3a\x42\x2f\x65\x98\x6e\xaa" -+"\x68\x1e\x41\x64\x6c\x5f\x48\x1a\x49\xa6\x5d\xcc\x5e\x1e\xf7\x3e\xfb\x09\x05\xb0\x71\x9c\x70\x68\x1a\x58\x64\x68\x53\x66\x6f\x9a" -+"\xa8\x77\x1e\x7e\x9e\x87\x9f\xb2\x1a\x36\x7c\x06\x6e\x8e\x77\x93\x75\x1e\x44\xa5\xcc\x61\xdf\x1b\xf6\xda\xd2\xec\xb6\x7e\xa9\x64" -+"\xb8\x1f\xd3\xa6\xaf\xbf\xd8\x1a\xd3\x6e\xb7\x3c\xbe\x1e\xfb\x26\xe9\x05\x61\xa7\x7c\x9f\xa8\x1a\xbc\xb1\xaf\xbe\xc6\xb1\x63\x4d" -+"\x1e\x7a\x07\x82\x07\xfb\x54\xfb\xbb\x15\x56\xb2\x7e\x9f\xb3\x1a\xb3\x9e\xa6\xbf\xad\x1e\xf7\x34\xfb\x01\x05\xbc\x6a\xa3\x66\x62" -+"\x1a\x62\x71\x66\x5d\x72\x1e\x0e\xf8\x79\xf7\x52\x15\x55\xc1\x05\x9f\xaa\x94\xab\xad\x1a\xac\x81\xad\x7b\xa5\x1e\xc2\xc2\x52\xc5" -+"\x50\x56\x05\x9d\x71\x68\x95\x66\x1b\x67\x6b\x82\x7a\x6e\x1f\x54\xc2\x53\x56\xc1\x54\x05\x77\x6e\x7f\x66\x67\x1a\x66\x97\x65\x9f" -+"\x70\x1e\x5b\x5a\xc3\x52\xbe\xbe\x05\x7b\xa5\xae\x82\xac\x1b\xb3\xac\x95\x9f\xa6\x1f\xc0\x56\x05\xfb\x2d\xf7\xc9\x15\xc7\xba\x5c" -+"\x50\x53\x5b\x5c\x51\x50\x5b\xba\xc4\xc5\xbb\xba\xc5\x1f\x0e\xfc\x77\xbb\xf9\x59\x15\xfb\x03\x07\xa6\xfb\x1a\x05\xb3\x48\x0a\x0e" -+"\xfb\xe9\xf7\x21\xf8\x71\x15\xf3\x5b\x07\x8a\xc4\x9a\xa7\xad\x90\x08\xb1\x07\x50\x86\x69\x5c\x3c\x1a\x26\x07\xf7\x8f\x16\xf3\x5b" -+"\x07\x8a\xc4\x9a\xa7\xad\x90\x08\xb1\x07\x50\x86\x69\x5c\x3c\x1a\x26\x07\x0e\xed\x7e\x0a\xf7\x61\x32\x82\x0a\x0e\xfb\xe9\xe6\x7e" -+"\x0a\x0e\xfb\xe9\xf7\x83\xf7\xd1\x7f\x0a\x0e\xfb\x42\xf7\x90\x35\x0a\xf7\x4c\xcf\x9a\x0a\x38\x22\xde\x06\x0e\xfb\x42\xf7\x95\x35" -+"\x0a\xf7\x41\xf7\xa5\x15\x38\xfd\x6d\xde\x06\x0e\xf8\xc5\xf7\xcc\x15\xfc\xca\x43\xf8\xca\x06\x0e\x9c\x1d\xfc\xe9\xe3\xf8\xe9\xf7" -+"\x56\x06\x0e\x9c\x1d\xfb\xc7\xfb\x55\x39\xf7\x55\xfb\x64\xe3\xf7\x64\xf7\x56\xdd\xfb\x56\xf7\xc7\xf7\x56\x06\x0e\xfc\x20\x46\x0a" -+"\xfb\x1d\xf8\x9e\x20\x1d\xfb\x8e\x06\xfb\x12\x29\x22\xfb\x1b\x41\xa9\x46\xbf\x60\x1f\xae\x6e\xae\x7f\xc2\x88\x08\xfc\x48\xcb\xf9" -+"\xde\xdd\xfd\xde\xcb\xf9\xde\xc4\x07\x0e\xfb\xd8\xf7\x43\xf8\x6a\x15\x46\x53\x53\x46\x46\xc3\x53\xd0\xcf\xc4\xc3\xce\xd2\x54\xc3" -+"\x45\x1f\x0e\xfc\x58\xcc\xf3\x15\x23\xbb\x07\x8d\x51\x7c\x70\x67\x86\x08\x65\x07\xc7\x8f\xad\xba\xdb\x1a\xf0\x07\x0e\xfb\xe9\xba" -+"\xf3\x71\x1d\xfb\xe9\xbc\xf9\x59\x71\x1d\xf7\x90\xf7\xd1\x7f\x0a\xf7\x5b\xe4\x15\xfb\x2e\xf7\x0d\x05\x38\x07\xf7\x00\x38\xfb\x00" -+"\x38\x05\x38\x07\xf7\x2e\xf7\x0e\x05\x0e\xf7\xda\xf7\x6f\xf3\x3b\x1d\xf7\xe1\xf3\x3b\x1d\xf7\xe1\xf3\x24\x1d\xf7\xda\xf7\x32\xf9" -+"\x6c\x15\x39\x48\x48\x38\x37\xce\x48\xde\xdc\xcf\xce\xdd\x93\x0a\x59\x62\x63\x5a\x58\x63\xb4\xbd\xbd\xb3\xb3\xbd\x1f\xf7\xe2\xd1" -+"\x15\xfc\x1f\xfd\x8a\x05\xcd\x06\xf8\x1f\xf9\x8a\x05\x40\xfc\x5f\x15\x39\x48\x48\x38\x37\xce\x48\xde\xdc\xcf\xcf\xdc\xe0\x49\xce" -+"\x37\x1f\x4f\x04\xbe\xb3\x63\x58\x5a\x62\x62\x59\x5a\xc0\x1d\xf7\xfc\xc7\x15\x39\x48\x47\x39\x38\xce\x47\xde\xdc\xcf\xce\xdd\x93" -+"\x0a\x5a\x62\x62\x5a\x59\xc0\x1d\x0e\x4c\xf7\xa7\xf7\xd9\x15\x5c\x07\x8a\x5e\x7d\x75\x4a\x52\x08\x40\x47\x72\x5f\x48\x1a\xfb\x09" -+"\xde\x40\xf7\x17\xf7\x25\xd5\xda\xf7\x2f\x1e\x36\x06\xfb\x00\x64\x5b\x31\x3d\x58\xb9\xcf\xb9\xa1\xb2\xc0\xba\x1e\xe1\xd6\x9e\xa8" -+"\xc6\x1a\xc2\x07\x31\xea\x15\xe5\xf3\x31\x06\x0e\xfb\xe9\xf7\x1b\xf9\x78\x22\x0a\xfb\xe9\xf7\x50\x41\x1d\xfb\xe9\xf7\x08\xf9\x79" -+"\x27\x1d\xfb\xe9\xf7\x99\xf9\x61\x36\x0a\xfb\xe9\xf7\xc2\xf9\x51\x28\x1d\xfb\xe9\x9a\x77\x1d\xfb\xe9\xf7\x6f\xf9\x60\x24\x1d\xfb" -+"\xe9\xf7\x1a\x3a\x0a\xfb\xe9\xf7\x3b\xf9\x86\x27\x0a\x0e\xfb\xe9\xf7\x39\x16\x61\x2f\x97\x84\x05\x91\x4d\x1d\xae\xc5\x9b\x1d\xa2" -+"\xc3\x05\x0e\xfb\xe9\xc8\xf9\x78\x39\x0a\xfb\xe9\xf7\x2e\x16\x4e\x75\x67\x62\x5b\x1a\x64\x5b\x1d\xa1\xa4\x86\xa1\x1b\x9e\x60\x1d" -+"\xb7\x1d\x73\x1b\x5c\x72\x9e\xae\xb5\xa0\xa2\xd4\xb4\x1f\x0e\xfb\xe9\xf7\x66\xf8\xe3\x42\x1d\xf7\xda\x8c\x0a\xf7\xda\x5e\x0a\x0e" -+"\xfb\xc4\xf7\xd4\xf7\xf6\x15\xfb\xa9\x58\xf7\xa9\x06\x98\xf7\x26\x15\x89\x87\x89\x8a\x87\x1b\x7c\x83\x93\x9a\x1f\xf7\x47\x07\xca" -+"\x63\xaa\x39\x39\x5e\x66\x44\x89\x1e\xc6\x06\xb6\x92\x9b\x98\xb8\x1b\xb7\xa2\x7c\x6e\x1f\x7e\x07\x89\x73\x82\x85\x65\x88\x61\x88" -+"\x62\x83\x7a\x84\x08\x66\x7b\x77\x6d\x62\x1a\x50\xb3\x66\xcb\xb2\xac\x99\xa8\xac\x1e\x6c\x91\x9b\x7f\xac\x1b\x97\x92\x8c\x90\x98" -+"\x1f\x31\xf7\x04\x15\x67\x61\x6d\x5a\x67\x76\x9c\xa9\xab\x9f\x9a\xbf\x92\x1e\xbd\x93\x97\x8d\x99\x91\x08\x0e\xf7\x41\xf8\x2a\x15" -+"\xf7\xd7\x2e\xfc\x09\x07\x3b\x53\x05\x3e\x07\xdb\xc4\x05\xfb\xac\xf8\x6c\xdd\xfc\x0f\xf7\x8b\x07\xf7\x3f\xf7\x0e\x05\xd7\x07\x0e" -+"\xf3\x53\x0a\x0e\xf7\xda\xf8\xfe\xf7\xdb\x15\xf7\xdc\xdd\xfb\xdc\xf7\x82\xf7\xe4\xdd\xfc\x41\x3f\x06\xc7\x60\x51\xa7\x39\x1b\x42" -+"\x41\x6e\x5a\x59\x1f\x47\x48\x69\x23\xfb\x1c\x1a\xfb\x10\xa7\x2f\xc6\x47\x1e\x4f\xbf\xd5\x6b\xe0\x1b\xdc\xc4\xa8\xcc\xb9\x1f\x41" -+"\xf8\x46\xdd\xfb\xe9\x07\x2e\xef\x15\x3a\x63\x4f\x64\x37\x1b\x49\x56\xa6\xbe\x68\x1f\x67\xc1\x7c\xcb\xf1\x1a\xf1\x9a\xcc\xaf\xc1" -+"\x1e\xbe\xae\xc0\xa6\xce\x1b\xdf\xc6\x64\x3a\xb3\x1f\x0e\xfb\xc9\xf7\xce\xf7\xf6\x15\xfb\x9b\x58\xf7\x9b\x06\xfb\x18\xf8\x4b\x15" -+"\x30\x58\x4d\xfb\x02\xfb\x01\xbe\x4d\xe6\xe5\xbf\xc9\xf6\xf7\x05\x59\xc8\x2f\x1f\x57\x04\xc0\xaa\x5e\x3f\x42\x6b\x5e\x57\x57\x6b" -+"\xb8\xd6\xd5\xab\xb8\xbf\x1f\x0e\xf7\x6b\x51\x0a\x0e\xfc\x20\xf7\x46\x20\x0a\x30\x1d\x06\x0e\xfc\x58\xf7\x26\xf8\x39\x15\xf7\xc8" -+"\x38\xfb\xf4\x07\x4c\x59\x05\x4b\x07\xca\xbd\x05\xfb\xcd\xde\xf7\xf9\x07\xcd\xbe\x05\xcb\x07\x0e\x4c\x55\x0a\x0e\xf7\xa2\xf9\xb8" -+"\xf7\x33\x15\x46\x74\x89\x1d\xe1\x69\x3b\xbf\x29\x1b\x39\x45\x64\x48\x62\x1f\xd1\x63\x48\xaf\x32\x1b\xfb\x2c\x36\x26\xfb\x47\xfb" -+"\x48\xe0\x25\xf7\x2c\xe3\xcb\xad\xd0\xb5\x1f\x48\xb3\xd0\x67\xe0\x1b\xf7\x0b\xde\xcf\xf7\x06\xa0\x1f\xfc\xf7\xf7\xc3\x15\xe9\xc3" -+"\x3f\xfb\x16\xfb\x11\x52\x3e\x2e\x2e\x52\xd8\xf7\x14\xf7\x12\xc4\xd8\xe8\x1f\xf7\x82\xfb\x34\x15\xec\x92\xc5\xca\xe0\x1b\xe0\xc6" -+"\x4a\x2c\x1f\x0e\x4c\xf7\xa3\xf7\xf1\x15\x9b\x06\xc0\xa3\x88\x81\xa4\x1f\xbe\x78\xa7\x5f\x4f\x1a\x31\x46\x4e\x28\x1e\x6b\x06\x82" -+"\x3d\x06\x88\x9d\x95\x8a\x9f\x1b\xf7\x2c\xeb\xe7\xf7\x26\xc3\x7b\xb1\x65\xae\x1f\x70\xa4\x70\x98\x57\x9b\x08\xe1\xa7\xb2\xb8\xd2" -+"\x1a\xf7\x02\x33\xd5\xfb\x16\x48\x4d\x77\x68\x5d\x1e\x63\x6b\x7a\x63\x4b\x1a\xfc\xae\xde\xf8\xae\x07\xd0\xc3\xb7\xe1\xdc\xc4\x5e" -+"\x4b\x4a\x4c\x5d\x32\x1e\x81\x06\x0e\xfb\xe9\xf7\x2b\x95\x1d\x0e\x31\xb3\xf8\x0b\x15\x45\xf8\x46\xfb\x6f\xd1\xf7\xb5\x07\x0e\xf8" -+"\xb4\xbc\x15\x89\x81\x87\x8b\x87\x1b\x6e\x7b\x99\xa6\x1f\xf8\x48\x38\xfb\xbd\x07\x20\x53\x45\x34\x4a\x61\xb3\xca\x1e\xf8\x07\x38" -+"\xfd\x7c\xde\xf7\x73\x07\x79\xa4\xa8\x83\xaf\x1b\xcf\xc2\xa7\xc2\xb3\x1f\x52\x8d\xa6\x71\xc4\x1b\x9d\x98\x8d\x92\xa5\x1f\x0e\xf7" -+"\xda\xf7\xb1\xf9\x36\x15\xf7\x2d\xc2\xfc\x0b\x54\xf7\x2e\xfc\x12\xcf\x06\xf8\x63\x16\xf7\x0f\xf7\xe9\x05\xfb\xe9\xce\xf8\x49\x30" -+"\x07\xfb\x17\xfb\xfe\xfb\x18\xf7\xfe\x05\x2d\xfc\x49\xce\xf7\xe9\x06\xf7\x0d\xfb\xe9\x05\x0e\xbb\x59\x0a\xf7\x34\xf7\x10\xf8\xd8" -+"\x15\xfb\xbc\xc9\xf8\x3d\x60\x07\x7a\x4b\x7d\x80\x43\x84\x7c\x8a\x18\x5d\x07\xf8\xc2\xf7\x15\x45\x1d\xf7\x38\xfd\x1f\x5b\x0a\x71" -+"\x64\x86\x2a\x19\xf7\xc4\x06\x0e\x31\xf8\xaa\xf8\x34\x94\x1d\xfb\xb3\xbd\x1d\x84\xf7\x4c\xf7\x51\x15\xf7\x79\x06\xf7\x0b\xdf\xe1" -+"\xf7\x0e\xf7\x18\x36\xdb\xfb\x1f\x1f\xfb\x64\xf7\x0c\x2e\xfd\x6d\xe8\x06\xf7\xa3\x04\xf7\x94\xf7\x56\x07\xe2\xbe\x5b\x3b\x3a\x58" -+"\x5c\x34\x1f\x0e\xf7\x34\xf7\x11\x95\x1d\xf8\xda\xf7\x15\x45\x1d\x9e\x7f\x1d\x31\xf8\xaa\xf7\xa3\x15\xfc\x78\x45\xf8\x78\x06\xfb" -+"\x52\x2a\x15\x23\x23\xf3\x06\xf8\x6c\x04\x23\x23\xf3\x06\x0e\xfc\x32\xef\x20\x1d\xfc\x25\xc7\xf8\x25\x07\x4f\xfc\xb0\x15\xfc\x25" -+"\xc7\xf8\x25\x07\x0e\xfb\xa6\xf7\x5c\xf9\x42\x15\x37\x47\x47\x38\x38\xcf\x46\xdd\xe0\xcf\xce\xe0\xde\x47\xcf\x38\x1f\x52\x04\xbf" -+"\xb5\x61\x57\x56\x61\x61\x55\x59\x60\xb6\xbf\xbf\xb5\xb5\xc0\x1f\x0e\xc1\xfb\x6e\x15\xde\x86\x0a\xf7\x42\x33\xf7\x04\xfb\x1c\x48" -+"\x51\x6e\x58\x67\x1f\xf7\x93\x38\x07\xf7\x79\xfb\x91\x8e\x1d\xf7\x34\xf7\x24\x57\x0a\xf8\x80\xf7\x4a\x45\x1d\x80\x7f\x1d\xfb\xe9" -+"\xf7\xce\xf7\xea\x5b\x0a\x70\x64\x87\x2a\x19\xf7\xc4\x06\x0e\xca\xf7\xa4\xf7\xd9\x15\xf7\x1a\x06\xb8\x9e\x77\x5b\x1f\x8a\x63\x05" -+"\x6f\x91\x6f\x94\x76\x1e\xda\xa4\x06\x79\x98\x87\x97\x8a\xc5\x8a\xd2\x84\x9c\x66\xa3\x08\xb5\xa9\x97\xa2\xb9\x1a\xe0\x5d\xb4\x2c" -+"\x1e\xfb\x62\xfc\x51\xd1\x06\xf7\x8c\x04\xf7\x1a\xf7\x15\x07\xc0\xa1\x77\x5c\x5c\x74\x77\x57\x1f\x6b\xf7\xf6\x15\xfb\x67\xfb\x3f" -+"\xfb\x3f\xfb\x67\xfb\x64\xf7\x40\xfb\x42\xf7\x61\xf7\x6d\xf7\x3e\xf7\x3d\xf7\x6a\xf7\x66\xfb\x3f\xf7\x3f\xfb\x67\x1f\x4d\x04\xf7" -+"\x41\xf7\x21\xfb\x23\xfb\x44\xfb\x47\xfb\x20\xfb\x22\xfb\x46\xfb\x3d\xfb\x21\xf7\x26\xf7\x42\xf7\x45\xf7\x21\xf7\x23\xf7\x41\x1f" -+"\x0e\x31\xf8\xb4\xf7\x9f\x15\xfc\x8c\x45\xf8\x8c\x06\x0e\xf7\x6f\xf8\xf9\x15\xbf\x5f\x96\x81\xae\x68\x08\x95\x6d\x7d\x8e\x78\x1b" -+"\x63\x63\x7f\x74\x68\x1f\x47\x5f\x68\x38\xfb\x09\x1a\xfb\x47\xe1\x25\xf7\x2b\xf7\x2c\xe0\xf0\xf7\x49\xe7\x76\xcf\x58\xd9\x1e\x65" -+"\xc4\x66\xb1\x43\xc2\xe5\xb4\x18\x63\xb0\x2a\x5e\x48\xb6\x7e\x92\x6c\x98\x19\x5f\x5f\xb6\x73\x98\x83\xa5\x77\x19\x36\x63\xaf\x64" -+"\x05\xf7\x2b\x21\x40\x1d\x31\xf8\x4a\xf8\x3f\x15\xfb\x27\xfb\x26\xfb\x26\xf7\x25\x5a\x5a\xf7\x26\xfb\x26\xfb\x27\xfb\x27\xbd\x5a" -+"\xf7\x26\xf7\x26\xf7\x27\xfb\x27\xbd\xbd\xfb\x27\xf7\x27\xf7\x26\xf7\x26\x05\x0e\xfb\xe9\xf7\x12\x57\x0a\x0e\xca\xf8\xb4\xf8\x49" -+"\x15\xf5\x73\x56\xbc\x32\x1b\xfb\x0a\x3c\x2d\xfb\x21\xfb\x1d\xda\x2d\xf7\x07\xc4\xb9\xa2\xba\xac\x1f\x9e\xa7\x95\xa7\x97\xc7\x08" -+"\x44\x06\x3a\x7e\x66\x60\x53\x1b\x6b\x67\x9d\xa7\x76\x1f\x74\xa8\x7e\xb7\xbe\x1a\xf4\xbc\xce\xd7\xc0\xa7\x70\x49\x9c\x1e\x23\xf7" -+"\xc5\x15\xfb\x67\xfb\x3f\xfb\x3f\xfb\x67\xfb\x64\xf7\x40\xfb\x42\xf7\x61\xf7\x6d\xf7\x3e\xf7\x3d\xf7\x6a\xf7\x66\xfb\x3f\xf7\x3f" -+"\xfb\x67\x1f\x4d\x04\xf7\x41\xf7\x21\xfb\x23\xfb\x44\xfb\x47\xfb\x20\xfb\x22\xfb\x46\xfb\x3d\xfb\x21\xf7\x26\xf7\x42\xf7\x45\xf7" -+"\x21\xf7\x23\xf7\x41\x1f\x0e\x84\x23\x0a\xad\xf7\xca\x21\x1d\x84\x23\x0a\x5b\xf7\xcb\x2b\x1d\x84\x23\x0a\x6d\xf7\xb1\x22\x1d\x84" -+"\x23\x0a\x6a\xf7\xca\x3d\x0a\x84\x23\x0a\x8a\xf7\xd8\x27\x0a\x0e\x84\x23\x0a\xed\xf7\xb3\x36\x0a\xbb\xf8\x0f\x74\x15\xf7\x44\xef" -+"\xed\xf7\x53\xa1\x1f\x2b\x06\x83\x59\x81\x69\x7c\x6d\x45\x0a\xf7\x4b\xf7\x4f\xe3\xf7\x07\xf7\x22\xc5\x73\x1d\xb6\x6d\xa9\x80\xd7" -+"\x80\x6c\x46\x18\x96\x84\x05\x91\x79\x0a\x7a\x90\xa3\x5d\x6f\x0a\x58\x82\x86\x8b\x89\x7e\x1f\x0e\x84\x24\x0a\xf7\x4c\xf9\xed\x26" -+"\x0a\x84\x24\x0a\xf7\x06\xf9\xee\x37\x1d\x84\x24\x0a\xf7\x18\xf9\xd4\x22\x1d\x84\x24\x0a\xf7\x1d\xf9\xed\x22\x0a\xfc\x20\x44\x1d" -+"\x71\x3b\x0a\xfc\x20\x44\x1d\x29\xfa\x40\x27\x1d\xfc\x20\x44\x1d\x3b\xfa\x1f\x22\x1d\xfc\x20\x44\x1d\x3c\xfa\x3f\x22\x0a\xbb\xf9" -+"\x1a\x20\x1d\x33\xfc\xe8\x06\xfc\x11\xf8\xe8\x05\x26\xfd\x6d\xe3\xf8\xe3\x06\xf8\x0c\xfc\xe3\x05\xf5\x06\xfb\x47\xfa\x28\x15\x72" -+"\x83\x7f\x80\x7a\x1b\x7e\x71\x92\x95\x73\x1f\x9c\x61\x83\x8d\x77\x1b\x5f\x6c\x42\x0a\xf3\x25\x0a\xa9\xf7\xac\x26\x0a\xf3\x25\x0a" -+"\x5d\xf7\xad\x2b\x1d\xf3\x25\x0a\x6f\xf7\x93\x22\x1d\xf3\x25\x0a\x6c\xf7\xac\x3d\x0a\xf3\x25\x0a\xf3\xf7\x95\x6c\x1d\x84\x29\x0a" -+"\xfb\x14\xf7\xa7\x2e\x0a\xbb\xf8\xbb\xf9\x6d\x15\x8c\xfc\x94\x05\x29\x44\x4f\xfb\x08\xfb\x08\x44\xc7\xed\x1e\x5a\x1d\xfb\x26\xf7" -+"\x02\x2d\xf7\x3e\xf7\x3e\xf7\x02\xea\xf7\x25\x1e\x8a\xf8\x94\x05\xfb\x95\xf7\x66\x21\x1d\xbb\x41\x0a\xfb\xdb\xf7\x67\x2b\x1d\xbb" -+"\x41\x0a\xfb\xc9\xf7\x4d\x22\x1d\xbb\x41\x0a\xfb\xcc\xf7\x66\x3d\x0a\x84\xf8\x16\x55\x1d\xfb\x69\xf7\xf7\x05\xfb\x07\x06\xf7\xac" -+"\xa0\x0a\xe8\x07\x76\x3b\x0a\x84\x28\x0a\x40\x38\x1d\x4c\x2d\x0a\xfb\x6b\xf7\x25\x2e\x0a\x25\x1d\x36\xf8\x75\x26\x0a\x25\x1d\xfb" -+"\x35\xf8\x76\x15\x2b\xfb\x2a\x05\xcb\x06\xda\xeb\xdb\x2b\x05\xcb\x06\x2a\xf7\x2a\x05\x0e\x25\x1d\xfb\x25\xf8\x5c\x22\x1d\x25\x1d" -+"\xfb\x1f\xf8\x75\x22\x0a\x25\x1d\xfb\x06\xf8\x83\x27\x0a\x0e\x25\x1d\x7d\xf8\x5e\x15\x72\x83\x7f\x73\x0a\x99\x88\x81\xa3\x1f\x75" -+"\xc5\x93\x89\x9e\x1b\xbc\xa9\xae\xd0\x95\x1f\x0e\xfb\x42\xf7\x9c\x74\x15\xf7\x0f\xde\xd9\xf7\x11\x92\x1f\x37\x06\x36\x84\x0a\xf7" -+"\x18\x72\x0a\x21\xaf\x36\xcc\x5d\x1f\xa6\x77\xa2\x82\xb6\x83\x6c\x44\x18\x97\x84\x05\x91\x91\x1d\x62\x05\x70\xcc\xa0\x95\x0a\xaf" -+"\xc4\xb6\x6e\xa3\x59\x82\x31\x0a\x29\x1d\xfb\x07\xf8\x4a\x21\x1d\x29\x1d\xfb\x4c\xf8\x4b\x27\x1d\x29\x1d\xfb\x3a\xf8\x31\x22\x1d" -+"\x64\x1d\xfc\x20\x2e\x1d\x7b\x41\x1d\xfc\x20\x2e\x1d\x33\xf9\x79\x27\x1d\xfc\x20\x2e\x1d\x45\xf9\x58\x22\x1d\xfc\x20\x2e\x1d\x46" -+"\xf9\x78\x22\x0a\x35\x1d\xf7\x7b\xf7\x55\x15\x72\x83\x7f\x53\x1d\x62\x83\x8d\x76\x1b\x5f\x6d\x42\x0a\x2a\x1d\xa4\xf7\xaa\x21\x1d" -+"\x2a\x1d\x5c\xf7\xab\x2b\x1d\x2a\x1d\x6e\xf7\x91\x22\x1d\x2a\x1d\x6f\xf7\xaa\x22\x0a\x2a\x1d\xf2\xf7\x93\x6c\x1d\xfb\x42\x31\x1d" -+"\x53\xf7\x69\x42\x1d\x26\x1d\xfb\x03\x41\x1d\x26\x1d\xfb\x48\xf9\x79\x27\x1d\x26\x1d\xfb\x36\x3a\x0a\x26\x1d\xfb\x38\xf9\x78\x22" -+"\x0a\xfb\x42\x2b\x0a\xfb\x63\x39\x1d\xfb\x42\x2b\x0a\xfb\x99\xf7\x53\x22\x1d\xfb\x42\x3e\x1d\xfb\x25\xf7\x21\x15\xeb\xf7\x2a\x05" -+"\x4b\x06\x3c\x2b\x3b\xeb\x05\x4b\x06\xec\xfb\x2a\x05\x0e\xfb\xc9\xbd\xf8\xd4\x15\xfb\xc9\xc6\xf7\x3e\x07\xcb\xac\xb4\xbf\xb1\xa3" -+"\x73\x66\x1e\xfb\x6a\xc6\xf7\x7d\x07\xbe\x61\xad\x4a\x5e\x6b\x7b\x67\x70\x1e\xb6\x07\x0e\xf7\x98\x35\x0a\xf7\xa1\xcf\x58\x0a\x0e" -+"\xf3\x65\x1d\xf7\x3e\xcf\x8b\x0a\x0e\xf3\x65\x1d\xf7\x40\xf7\xa5\x15\x37\xfd\x6d\xdf\x06\x0e\xf7\x34\xf8\xe2\x2f\x1d\xfc\x82\xfb" -+"\x15\x15\xfb\xbc\xc9\xf8\x3d\x60\x07\x7a\x4b\x7d\x80\x43\x84\x7c\x8a\x18\x5d\x07\xf9\x31\xfb\xf8\x66\x1d\x0e\xf7\x34\xf8\xff\x2f" -+"\x1d\xbc\x56\x0a\xfc\x8a\xf7\xa7\x67\x1d\x0e\xf7\x34\xf8\xff\x2f\x1d\xbb\xfc\x79\x15\xb8\xa6\x99\xa0\xb3\x1a\xce\x56\xb9\x40\x3f" -+"\x57\x5d\x48\x63\x98\x76\xb8\x70\x1e\x5a\x73\x73\x68\x5c\x1a\x3d\xc5\x55\xe0\xdf\xc6\xc1\xd9\xba\x73\xae\x59\xa3\x1e\x45\xf7\x2e" -+"\x15\xb9\xa4\x1d\xb7\x1f\x8c\xfb\x45\x15\xc0\xaf\x69\x59\x58\x67\x6a\x54\x57\x68\xad\xbd\xbd\xae\xad\xc1\x1f\xfb\xf6\x20\x0a\xfb" -+"\x70\x06\x6b\xfb\x7b\x05\xbc\x06\xa8\xa3\xa0\x95\xac\x1b\xc4\xaf\x64\x4c\x4e\x67\x66\x52\x5d\x6e\xa2\xbb\x7f\x1f\x56\x06\x92\x68" -+"\x91\x7b\x98\x7b\x08\x6b\xa3\xb6\x78\xbb\x1b\xe1\xc7\xc9\xe5\xe0\x53\xc4\x39\x6d\x73\x83\x7a\x73\x1f\x9b\xf7\x0a\x05\xf7\x46\x06" -+"\x0e\xf7\x34\xf8\xc1\x2f\x1d\xf1\x56\x0a\xfb\xc8\x20\x0a\xfb\xb0\x57\xf7\x79\x06\x26\xfb\x25\x62\x33\x6b\xfb\x20\x08\xc3\x06\xa3" -+"\xf7\x1c\xc0\xf7\x09\xeb\xf7\x14\x08\x0e\xf7\xda\x5e\x0a\xf7\x24\xf7\xb8\x26\x0a\x84\x23\x0a\xfb\x2b\xf7\xc2\x15\x8c\x2f\x0a\xe8" -+"\x3f\x0a\x50\x06\x61\x86\x6b\x73\x55\xbe\x1d\x84\x23\x0a\x0e\x84\x23\x0a\xfb\xad\xef\x21\x0a\x84\x23\x0a\xf7\x1c\xf7\xa3\x28\x1d" -+"\x84\xf8\x6e\xf7\x6f\x15\xd6\xfb\x6f\x05\xaf\x06\x44\x6c\x6d\x6b\x5b\x1a\x64\x5b\x1d\xa1\xa4\x86\xa1\x1b\x9e\x60\x1d\xb7\x1d\x72" -+"\x1b\x5c\x73\x9e\xaf\xb4\xa9\xac\xcd\xaa\x1f\x82\x1d\x0e\x84\x23\x0a\x89\xf7\xd8\x27\x0a\x53\xf7\x3a\x21\x1d\x84\x54\x0a\xbb\x2a" -+"\x0a\xfb\x35\xf8\x48\x21\x1d\xbb\x2a\x0a\xfb\x1f\xf7\xb3\x2e\x0a\xbb\x2a\x0a\xfb\x85\xf8\x49\x27\x1d\xbb\x2a\x0a\xfb\x19\xf8\x30" -+"\x24\x1d\x84\x6e\x1d\xbb\x6f\x1d\xab\xf9\x58\x3c\x0a\xbb\x59\x0a\x4d\x8f\x16\xf8\xf0\x06\xfb\x97\xf9\x0a\x05\x33\x06\xb7\x25\x15" -+"\xf7\x4b\xfc\x5b\x05\xfc\x01\x06\x0e\x84\x24\x0a\x96\xf9\xe5\x6e\x0a\x84\x24\x0a\xf7\x65\xf9\x58\x2e\x0a\x84\x24\x0a\xf7\x6a\xf9" -+"\xd5\x24\x1d\x84\x24\x0a\xf7\xbf\xf9\xc6\x28\x1d\xbc\xf8\x2e\xfb\xbc\x15\x89\xa5\x96\x8a\x9a\x1b\xc2\xb5\x98\xa4\xa9\x1f\xac\xa9" -+"\x97\xaf\xd8\x1a\xf9\x1d\x07\xd0\x78\xbc\x64\xae\x1e\xaf\x62\x4f\xa0\x4d\x1b\x2a\x49\x64\x25\x42\x1f\xf7\x0c\x38\xfd\x64\xe8\xf8" -+"\x34\x07\xdb\x9c\xc3\xb1\xb6\x1e\xb5\xb0\xbd\xa1\xc6\x1b\xbe\xb9\x7a\x6e\xa3\x1f\xa1\x72\x95\x67\x57\x1a\xfc\xe3\x07\x48\x8a\x80" -+"\x81\x7d\x1e\x76\x7e\x72\x82\x62\x1b\x7f\x80\x8b\x8d\x79\x1f\x0e\x84\xf7\x4b\x9d\x1d\xf8\x5b\x06\x44\x6d\x6d\x6a\x5b\x1a\x64\x5b" -+"\x1d\xa2\xa4\x86\xa1\x1b\x9d\xad\x90\x90\xa2\x1f\xb8\x07\x84\x78\x78\x88\x72\x1b\x5c\x72\x9e\xae\xb4\xaa\xae\xcc\xa9\x1f\xdd\xfc" -+"\x42\x07\x0e\x84\x24\x0a\x0e\xf7\x02\xf7\x94\x8f\x1d\xfb\x79\xf9\x1b\x21\x0a\xbb\x8d\x1d\x0e\xf7\x38\xf9\x04\x92\x1d\xfb\x7a\xf8" -+"\x21\x21\x0a\xda\xf7\xcd\x15\x54\x06\x75\x50\x05\xde\x06\x97\x47\x9f\x52\xa9\x5b\x08\x4b\xb2\xd5\x64\xe0\x1b\xc7\xc3\x9a\xaa\xbd" -+"\x1f\xe8\x07\x5b\x39\x68\x7e\x5a\x1b\x34\x52\xce\xf7\x17\x72\x1f\xf7\x6a\x06\xa3\xc6\x05\xfb\x8a\x06\x8a\x96\x8b\x93\x96\x1a\x98" -+"\x8c\x95\x8c\x98\x1e\xf7\xa2\x06\xa2\xc6\x05\xfb\xb0\x06\xf7\x19\xa7\xbf\xc9\xe1\x1b\xc0\xb4\x7a\x55\xd4\x1f\xab\xdb\x05\xba\x49" -+"\x52\x9f\x46\x1b\x35\x4a\x6a\x47\x5c\x1f\x69\x59\x75\x53\x81\x4b\x08\x4c\x06\x75\x50\x05\xda\x06\x89\x78\x8b\x81\x7e\x1a\x0e\xfb" -+"\x0f\xd9\xf9\x6d\x15\xfd\x6d\xe8\xf9\x1b\xf8\x0c\xdd\x07\x0e\xf3\x32\x1d\xfc\x60\xfa\x3b\x6e\x0a\xf3\x32\x1d\xfc\x07\xfa\x44\x37" -+"\x1d\xf3\x32\x1d\xfc\x08\x53\x23\x1d\xf3\x32\x1d\xfb\x9f\xfa\x2b\x24\x1d\xbb\xde\xf8\x8a\x15\xfc\x8a\xe9\xf7\xe0\xf8\x0a\xfb\xe0" -+"\xe8\xf8\x8a\xd6\xd1\x40\xf7\x31\x2e\xfb\x31\xfc\x0b\xf7\x31\x2e\xfb\x31\x40\x45\x07\xf7\x3c\x16\xf8\x0b\x33\xfc\x0b\x06\x0e\xbb" -+"\x8d\x1d\xf7\x27\xf8\xf4\x27\x1d\xc8\xf7\x58\x2c\x1d\xf8\x03\x63\x0a\x0e\xfc\x20\xf7\x50\x2c\x1d\xfb\x5c\xfa\x37\x7c\x1d\xfc\x20" -+"\xf7\x57\x2c\x1d\x8c\xfa\x27\x24\x1d\xfc\x20\x30\x0a\xdb\xfa\x18\x15\xfb\x92\x45\xf7\x92\x06\x0e\xfc\x20\xf7\x56\x20\x1d\x2d\xfd" -+"\x6d\xb6\x06\x52\x62\x77\x6c\x5f\x1a\x56\xb7\x68\xcc\x9d\xa2\x8f\x90\x9d\x1e\xb8\x07\x85\x79\x7e\x88\x7d\x1b\x6c\x77\xa0\xaa\xaf" -+"\x9e\xb1\xb0\xac\x1f\x0e\xfc\x20\x30\x0a\x0e\xfc\x20\x30\x0a\x37\x38\x1d\xfb\xb6\xf7\x94\x2c\x1d\xfb\x7a\xf9\x6d\x21\x0a\xfc\x20" -+"\x30\x0a\xb2\xfa\x28\x36\x0a\xfb\x42\x60\x0a\x20\xf7\x67\x2b\x1d\x84\x64\x0a\x84\x66\x0a\xf7\x13\x4f\x23\x1d\x3a\x1d\x84\xf9\xed" -+"\x21\x1d\x85\xf8\x20\x20\x1d\xfb\x10\x06\xfb\x94\xfd\x6d\x05\xf3\x06\xf7\x6a\xf9\x09\xf7\x6a\xfd\x09\x05\xf3\x06\x0e\x3a\x1d\xef" -+"\xf9\x1b\x38\x0a\x3a\x1d\xdf\xfb\x22\x23\x1d\x3a\x1d\xf7\x3c\xf7\xda\x15\x22\xf1\xf4\x07\x0e\xf7\x33\x76\x1d\xbb\x36\x1d\xfb\x94" -+"\xfa\x3f\x26\x0a\xbb\x36\x1d\xfb\x81\xf9\xaa\x3c\x0a\xbb\x36\x1d\xfb\xf0\x4f\x23\x1d\xbb\x36\x1d\x0e\xf3\x25\x0a\xfb\x2b\xf7\xa4" -+"\x15\x8c\x2f\x0a\xe8\x3f\x0a\x50\x06\x61\x86\x6b\x73\x55\xbe\x1d\xf3\x25\x0a\x72\xf7\xac\x39\x0a\xf3\x25\x0a\xf7\x1e\xf7\x85\x28" -+"\x1d\xd9\xa8\x16\xf7\xb4\xdd\x06\x4e\xaf\x6e\xa4\x6f\xb1\x08\x63\xc1\x75\xd8\xdd\x1a\xf7\x37\xe7\xf1\xf7\x27\xf7\x26\xe7\x25\xfb" -+"\x37\x39\x75\x3e\x63\x55\x1e\x6f\x65\x6e\x72\x4e\x67\x08\x39\xf7\xb4\xdd\xfb\x55\x07\xc8\xaf\xa6\xa2\xa7\xb2\x08\xb4\xc3\xa0\xd4" -+"\xe1\x1a\xe5\x74\xd8\x60\xc3\x1e\xd8\x4e\x29\xb9\x20\x1b\x2e\x34\x68\x4c\x4d\x1f\x50\x50\x6d\x37\x22\x1a\x35\xa0\x42\xb4\x53\x1e" -+"\xa7\x64\xa6\x74\xc8\x67\x08\xfb\x55\x06\x58\xf9\x1b\x21\x0a\xf3\x25\x0a\x0e\xef\xf8\x16\x52\x0a\xfc\x2e\xd1\x15\x30\x07\xa5\x23" -+"\x05\xa9\x06\xa5\xf3\x05\xe6\x07\x0e\xf3\x53\x0a\xf7\x4e\xf9\xba\x26\x0a\xf7\x10\xf7\xf4\x81\x15\xe8\xe6\x06\xf7\x41\x95\xf1\xf4" -+"\xf7\x3d\x1a\xf7\x3d\x26\xf3\xfb\x42\x95\x1e\xe6\x2e\x30\x07\xfb\x3b\x81\xfb\x00\xfb\x03\xfb\x36\x1a\xfb\x37\xf7\x00\xfb\x02\xf7" -+"\x3b\x80\x1e\xdc\x04\x61\x8f\x74\x92\x6e\x9e\x08\x4e\xb2\x70\xc0\xdb\x1a\xdd\xa7\xc2\xc5\xb0\x1e\xa8\x9d\xa3\x93\xb6\x8e\x08\xe8" -+"\x16\xb6\x88\xa3\x83\xa8\x79\x08\xc5\x66\xa7\x54\x39\x1a\x3b\x70\x56\x4e\x64\x1e\x6e\x78\x74\x84\x61\x87\x08\x0e\xbb\xf7\x43\xf9" -+"\x1b\x15\xf8\x09\xfd\x1b\xe9\xf9\x6d\xfc\xc5\xfd\x6d\xe9\x06\x0e\xf7\x35\xf8\x63\x20\x1d\x2f\xfc\x91\x06\x4f\x8d\x59\x9b\x65\xa7" -+"\x55\xb6\x80\xb6\x8c\xf7\x34\x08\xf7\x6d\x2d\xfb\x6d\x07\xfb\x3e\x9c\x49\xc8\x50\x1e\xc3\x59\xd9\x70\xe9\x89\x08\xfb\x1e\xe7\xf7" -+"\x1e\x07\xdc\x8d\xcf\x9f\xc1\xb1\x08\xdc\xc6\xa1\xd0\xf7\x4e\x1a\xf7\x6d\x2d\xfb\x6d\x07\x8c\xfb\x2a\x82\x63\x62\x5f\x65\x68\x52" -+"\x77\x47\x88\x08\x0e\xbb\x33\x0a\x6f\xf8\xb3\x21\x1d\xbb\x33\x0a\x84\xf8\x1e\x3c\x0a\xbb\x33\x0a\x2f\xfc\x5c\x23\x1d\x84\x6d\x1d" -+"\x84\x29\x0a\xfb\x26\xf8\x3c\x21\x1d\x84\xf7\xe6\x73\x15\xd2\x8e\xb3\x92\xb4\x9b\x08\xdc\xac\xc0\xda\xe1\x85\x1d\xe3\x06\xbd\x88" -+"\x99\x7b\xad\x1e\xdf\x63\x36\xb7\xfb\x0f\x4a\x1d\x88\xfb\x10\xd5\x2c\xf7\x0d\x71\xb7\x84\x18\x8c\x8f\x8a\x89\x91\x1f\x6c\x46\x96" -+"\x85\x05\x90\x97\x93\x8d\x96\x44\x0a\x7a\x91\xa2\x5d\x87\x1d\x84\x29\x0a\xfb\x75\xf8\x3d\x27\x1d\x84\x29\x0a\xfb\x6d\xfc\xd3\x23" -+"\x1d\x53\xb7\x16\xf8\xa8\xdd\xfc\x32\x06\xf7\xad\xf7\xb4\xfb\xa7\xf7\xa9\x05\xf8\x1b\xdd\xfc\x96\x39\x06\xf7\xac\xfb\xa9\xfb\xad" -+"\xfb\xb5\x05\x0e\x4c\x3e\x0a\x0e\x4c\xf7\x99\xf8\x27\x15\xfc\x27\xe8\xf8\x27\xf7\x34\xce\xfb\x34\xf7\x45\xbf\x1d\xfb\x45\xfb\x34" -+"\x48\x07\x0e\x4c\x3e\x0a\x8c\xf9\xaa\x3c\x0a\x4c\xf7\xef\x16\x92\xf9\x1b\xf7\x83\xdd\xfc\xd0\x39\xf7\x84\xfd\x1b\xbb\x06\x61\x2f" -+"\x50\x0a\x4d\x1d\xaf\xc4\xa2\x0a\x83\x31\x0a\xf3\xf8\xaf\xf8\x20\x15\xfb\xbf\x42\xf7\xbf\x06\xfb\x2b\xf8\x36\x68\x1d\xbb\x2d\x1d" -+"\xfc\x47\xf7\x5e\x75\x0a\x6c\xa1\xb7\x86\x1f\x0e\xbb\x2d\x1d\xfb\xd0\xf7\x66\x39\x0a\xbb\x2d\x1d\xfb\x23\xf7\x3f\x28\x1d\xbb\xf8" -+"\xee\xfb\x2a\x15\x84\x79\x77\x88\x72\x1b\x5c\x72\x9e\xae\xa9\xa0\xad\xb7\xb5\x1f\xdf\xd8\xa5\xbe\x8e\xe4\x08\xf8\x94\x2e\x88\x1d" -+"\xfb\x29\xf6\x30\xf7\x42\xaf\xa0\x8e\x95\xb7\x1e\x57\x6b\x76\x6e\x62\x1a\x65\xa0\x71\xb5\x7b\x1e\x83\xa2\xa4\x86\xa1\x1b\x9d\x60" -+"\x1d\x0e\x84\x28\x0a\x0e\x84\x28\x0a\x39\x38\x1d\xf7\x49\xf8\x9b\x80\x1d\xfc\x7a\xf9\x6d\x21\x0a\xbb\x2d\x1d\xfb\xac\xf7\x74\x27" -+"\x0a\x0e\xbb\x2d\x1d\xfb\x51\xf7\x4f\x5d\x0a\xf7\xa2\x34\x1d\x2f\x3b\x0a\xf7\xa2\x34\x1d\xfb\x71\xfa\x40\x37\x1d\xf7\xa2\x34\x1d" -+"\xfb\x5b\x38\x1d\xf7\xa2\x34\x1d\xfb\x4a\xfa\x3f\x22\x0a\x73\xcb\x16\xf8\x9f\xdd\xfc\x9f\x06\xaa\xf7\x8e\x15\xf8\x5f\xdd\xfc\x5f" -+"\x06\x6e\xf7\x7d\x15\xf8\x9b\xdd\xfc\x9b\x06\x0e\x84\x28\x0a\x31\xfa\x40\x2b\x1d\x84\x28\x0a\x36\xfa\x3f\x22\x0a\x4c\x2d\x0a\xfb" -+"\x7e\xf7\xba\x21\x1d\x4c\x2d\x0a\xfb\x66\xf7\xa2\x24\x1d\x4c\x2d\x0a\x0e\x25\x1d\xfb\x9c\xf8\x6d\x71\x0a\x85\x1f\x0e\xf7\x6b\x51" -+"\x0a\xfb\xb5\xf8\x4a\x21\x1d\xf7\xda\x8c\x0a\x84\xf8\x6d\x69\x0a\x0e\x79\xf7\x3e\xf8\x38\x15\xf7\x77\xf8\x14\xdd\xfc\x72\xa3\x1d" -+"\x5d\xb0\x1f\xac\x62\x7a\x0a\x84\xdc\x74\x1d\xe9\xfb\xcf\x15\xf7\x7d\xf7\x47\x07\xbf\xa8\x84\x78\xa4\x1f\xa5\x77\x99\x6d\x63\x1a" -+"\x63\x7d\x6c\xbb\x1d\xfb\x47\xfb\xe0\x15\xf7\x8e\xf7\x76\x07\xdd\xbc\x5d\xc1\x1d\xfb\x18\xde\xf9\x6d\x15\xfd\x6d\xe9\xf9\x1b\xf7" -+"\xfc\xdd\x07\x0e\x8e\xf8\xcd\x16\xfb\x3a\xe9\xf7\x8c\x53\xf9\x1b\xfc\x38\xfb\xfd\x07\x8f\xfb\x3c\x49\x20\xfb\x07\x80\x08\xfb\x8c" -+"\xe9\xf7\x3a\x07\xf8\x2d\xdd\x15\xfb\xee\x06\xd4\xb8\xb5\xf4\x8a\xf7\x1f\x08\xf7\xa8\xf7\x7c\x07\x0e\x84\x8b\x1d\x0e\x84\x8b\x1d" -+"\xf7\x17\xf9\xd4\x22\x1d\xf7\x8d\xf8\x32\x16\xe9\xf7\xed\xef\x49\x0a\xf1\x06\xfb\x8f\xf8\x14\xf7\x60\xf7\xed\x05\x24\x06\xfb\x48" -+"\xfb\xc2\x05\x2a\xf7\xc2\x2d\xfb\xc2\x2a\x06\xfb\x48\xf7\xc2\x05\x22\x06\xf7\x63\xfb\xed\xfb\x8f\xfc\x14\x05\xf4\x06\xf7\x74\xf7" -+"\xed\x05\xec\x06\x0e\x45\xc3\xf7\x74\x15\x8c\x4d\x93\x68\xa3\x63\x08\x43\xb6\xd6\x65\xed\x1b\xd7\xc8\xa2\xb6\xb3\x1f\xb2\xb4\xa2" -+"\xc9\xc7\x1a\xe9\x5a\xcb\x37\x9b\x1e\xad\x96\x9c\x95\x9c\xa0\x08\xa6\xab\x9b\xb8\xb8\x1a\xf7\x06\x2e\xde\xfb\x13\xfb\x1a\x32\x32" -+"\xfb\x1a\x1e\x7a\xe9\xad\x07\xd5\xc0\xbd\xd8\xd6\xbd\x5a\x43\x41\x54\x5b\x37\x1e\x6a\x3a\xb3\x06\xba\xa5\x85\x7a\xa5\x1f\xaf\x74" -+"\x9e\x64\x58\x1a\x33\x55\x57\x2f\x2d\x4f\xc5\xe5\x1e\x9c\x07\x0e\xb8\x43\x0a\x0e\xb8\xd8\x16\xe9\xde\x06\xf8\x0c\xb1\x1d\xfc\x0c" -+"\xfc\x40\x05\xf8\x92\x2d\x07\xf7\x17\xf7\x5e\x97\x1d\x50\x06\x61\x87\xad\x1d\x30\xca\x16\x86\x1d\x4c\xf7\xc2\x2d\x06\x0e\x79\xf8" -+"\x97\x16\xe9\xf9\x6d\xfc\x7b\x84\x1d\xf7\xbf\x07\x0e\xf7\x33\xf8\x67\x16\xf7\x61\xf8\xf7\x05\xfc\xf7\xe3\xf9\x6d\xfb\x15\x07\xfb" -+"\x68\xfd\x0f\xfb\x6c\xf9\x0f\x05\xfb\x15\xfd\x6d\xe3\xf8\xf7\x06\xf7\x63\xfc\xf7\x05\x0e\xbb\xf8\xb8\x4e\x0a\xe9\xf9\x6d\x87\x0a" -+"\xf3\xf8\x18\xf9\x79\x68\x1d\xb8\xf7\x41\xf9\x1b\x15\xf8\x09\xfd\x1b\xe9\xf9\x6d\xfc\xc5\xfd\x6d\xe9\x06\x0e\x84\xf7\x4e\xf7\xc9" -+"\x15\xf7\x78\x8c\x1d\xe9\x97\x0a\xf7\x55\x07\xe4\xc0\x5b\x3b\x3b\x56\x5b\x32\x1f\x0e\xbb\xf8\xdb\xf7\x95\x15\xfb\x0b\x89\x3a\x3c" -+"\xfb\x0c\x1b\xfb\x2a\x2d\xf7\x06\xf7\x4d\xf7\x51\xe7\xf7\x04\xf7\x30\xf7\x08\xd2\x4d\x26\x8c\x1f\xee\x06\xf7\x23\x88\xfb\x0c\xf1" -+"\xfb\x39\x1b\xfb\x61\xfb\x1c\xfb\x2c\xfb\x7b\xfb\x13\xb7\xfb\x04\xd7\x48\x1f\x59\xc3\xd2\x72\xe0\x1b\xf7\x0f\xec\xc0\xed\xc2\x1f" -+"\xa4\xb8\x93\xa8\xc2\x1a\x0e\x4c\xf7\xf5\xf9\x1b\x15\xf7\x83\xdd\xfc\xd0\x39\xf7\x83\xfd\x1b\xe9\x06\x0e\x64\x72\x1d\x0e\xe1\xf7" -+"\xe1\x81\x15\xe9\xe6\x06\xf7\x54\x95\xf7\x05\xf4\xf7\x3d\x1a\xf7\x3d\xfb\x04\xf3\xfb\x55\x95\x1e\xe6\x2d\x30\x07\xfb\x4e\x81\xfb" -+"\x0b\xfb\x03\xfb\x36\x1a\xfb\x37\xf7\x0b\xfb\x02\xf7\x4e\x80\x1e\xdc\x04\x5b\x8f\x70\x92\x68\x9e\x08\x45\xb2\x6c\xc0\xdb\x1a\xdc" -+"\xac\xc4\xce\xaf\x1e\xad\x9e\xa6\x92\xbd\x8e\x08\xe9\x16\xbd\x88\xa6\x84\xad\x78\x08\xce\x67\xac\x52\x3a\x1a\x3b\x6c\x56\x44\x64" -+"\x1e\x69\x78\x70\x84\x5b\x87\x08\x0e\x84\xf8\x19\x61\x0a\xf7\x07\x06\x0e\xcd\xde\x16\xf8\x9f\xfb\x3a\xe9\xf7\x8c\x54\xf9\x1b\x94" -+"\x0a\x84\xf8\x8f\x16\xe9\xf9\x6d\x7d\x1d\xf7\x87\xbe\x16\xf9\xc2\xf9\x6d\x2d\xfd\x1b\xfb\x9e\xf9\x1b\x2d\xfd\x1b\xfb\x9e\x4c\x0a" -+"\xf7\x9c\xc0\x16\xf9\xaa\xfb\x3a\xe9\xf7\x8c\x53\xf9\x1b\x2d\xfd\x1b\xfb\xaa\xf9\x1b\x2d\xfd\x1b\xfb\xa0\x4c\x0a\xf7\x0a\xf7\xe6" -+"\x20\x1d\xfc\x04\x39\xf7\xa6\xfd\x1b\xf7\xb9\x06\xf7\x23\xdd\xd8\xf7\x19\xd3\x73\xc2\x5d\xb0\x1f\xac\x62\x5d\x98\x41\x1b\xfb\x55" -+"\x06\x39\x04\xf7\x4c\x06\xe7\xc1\x5b\x3b\x3b\x55\x5b\x2f\x1f\xfb\x4c\x06\x0e\xf7\x67\xf7\x47\xf8\x38\x15\xf7\xc9\x2d\xfd\x6d\x62" -+"\x0a\x39\x15\x68\x0a\xf8\xa3\x39\x15\xe9\xf9\x6d\x2d\x06\x0e\x79\xf7\x40\xf8\x38\x15\xf7\xc9\x2d\xa3\x1d\x5c\xb0\x1f\xac\x63\x7a" -+"\x0a\xb8\xf8\xf6\xf7\xd7\x15\xfb\x39\x7b\x2b\x28\xfb\x25\x1b\x45\x4b\xa5\xb9\x5e\x1f\x6a\xac\x7a\xab\x79\xc8\x30\x7b\x18\xa3\x3b" -+"\xa0\x64\xb5\x5e\x08\x4a\xca\xe1\x68\xf1\x1b\xf7\x66\xf7\x22\xf7\x2d\xf7\x79\xf7\x79\xfb\x22\xf7\x2d\xfb\x66\xfb\x31\xfb\x01\x40" -+"\xfb\x27\x50\x1f\xe6\x79\x05\xf2\xb6\xdd\xc2\xf7\x01\x1b\xe1\xd8\x63\x48\xb7\x1f\xa5\x63\x99\x60\x94\x4c\x08\xfb\xcd\x38\x06\x0e" -+"\xf7\xe4\xf7\x38\xf8\x32\x15\xf7\xcf\x2d\xfd\x6d\xe9\xf7\xe0\xf7\x2a\x07\xfb\x6e\x99\xf7\x16\xfb\x1d\xf7\x55\x1b\xf7\x53\xf7\x12" -+"\xf7\x2c\xf7\x7a\xf7\x7a\xfb\x12\xf7\x2c\xfb\x53\xfb\x4c\xfb\x12\xfb\x0f\xfb\x60\x72\x1f\xf7\xe2\xf7\x89\x15\xf7\x1e\xe2\xfb\x0a" -+"\xfb\x4e\xfb\x46\x31\xfb\x0a\xfb\x1b\xfb\x25\x28\xf7\x0e\xf7\x46\xf7\x46\xee\xf7\x0e\xf7\x25\x1f\x0e\xbb\xf8\xb0\xf7\xce\x15\xfb" -+"\xce\xe9\xf9\x6d\xfb\xe1\x07\xfb\x23\x3c\x46\xfb\x12\x36\xab\x5a\xdb\x63\x1f\x3c\x69\x78\x66\xfb\x0b\x1a\x89\xfb\x09\x86\x77\x6a" -+"\x6a\x08\xf7\x00\x06\x9a\xae\x91\xaa\xc1\x1a\xab\x07\x8a\x99\x8b\x96\x93\x1a\xe4\xb0\xb3\xde\x1e\xf7\x83\xdd\x15\xfb\x74\x06\x28" -+"\x5f\xb2\xe2\xb6\x98\xac\xa4\xa0\x1f\x9f\xa2\xa9\x93\xbf\x1b\xf7\x74\x06\x0e\xfb\x4d\xf8\x46\x20\x1d\xfc\x0e\xfd\x6d\xe9\xf9\x1b" -+"\xf7\xec\xdd\x06\x3c\x1d\x05\xfb\x05\x06\x0e\xf7\x53\xf7\x96\x16\xe9\xf7\xb7\x06\xa9\x95\xa3\xa1\xa0\x1e\xab\xac\xb3\x97\xd6\x1b" -+"\xf3\xb8\x6f\x4a\x1f\xfb\x3d\x07\x63\x76\x73\x67\x89\x1e\xfb\x25\x39\xf7\x26\x06\xdb\x89\xd3\xd6\x89\xdd\x08\xf7\x3a\x07\xb9\x7d" -+"\xaf\x6c\xaa\x1e\xb5\x61\x5b\x9b\x31\x1b\x25\x5c\x78\x4f\x5a\x1f\xf7\x7e\xf7\x3d\xdd\xfc\x84\x39\xf7\x7d\x07\x0e\xfb\x18\xe1\xf9" -+"\x6d\x15\xfd\x6d\xe9\xf9\x1b\xf7\xfc\xdd\x07\xfb\x83\xf7\x66\x21\x1d\xb8\xf8\x3c\xf7\xd7\x15\xde\xfb\xcd\x07\x92\xc1\x95\xaf\x9f" -+"\xaf\x08\xdb\xb6\xdc\xba\xea\x1b\xf7\x01\xdc\x54\x24\xb6\x1f\xe7\x9d\x05\xf7\x27\x50\xfb\x02\xd6\xfb\x30\x1b\xfb\x67\xfb\x21\xfb" -+"\x2d\xfb\x79\x9d\x0a\xf0\xe1\xae\xcc\xca\x1f\xb6\xb8\xa0\xb2\xa3\xdb\x2f\x9b\x18\x79\x4e\x7a\x6b\x6b\x6a\x08\x5d\x5e\x4a\x71\x46" -+"\x1b\xfb\x25\x2b\xee\xf7\x39\x7b\x1f\x0e\x84\xf8\xe8\xf8\x97\x15\xf7\x21\x8c\x26\xe0\xfb\x3b\x4a\x1d\x8c\x48\x98\x5f\xa8\x63\x08" -+"\x46\xbd\xdf\x68\xf7\x04\x1b\xe1\xd2\x9f\xaf\xba\x1f\xbc\xb2\xaa\xcc\xca\x1a\xe6\x53\xcc\x28\xa6\x1e\xfb\x4b\xbc\x05\x33\xa3\x6b" -+"\xa7\xc3\x1a\xd5\xcc\xbc\xed\xf7\x08\xcc\x57\x2b\x8c\x1e\x0e\xfc\x20\xf7\x4e\x2c\x1d\x0e\xfc\x20\xf7\x4e\x2c\x1d\x3f\x38\x1d\xfb" -+"\x42\xf7\xde\x20\x1d\xfc\x95\x07\x50\x85\x6b\x7a\x72\x1e\x6f\x79\x6a\x7a\x66\x1b\x69\x6c\x99\xa3\x78\x1f\x78\xa3\x84\xa5\xb7\x1a" -+"\xba\x2d\x4b\x07\xfb\x0a\xda\x40\xf7\x0e\xce\xba\x9d\xb2\xb2\x1e\xb1\xb1\x9c\xb9\xcb\x1a\xf8\xb7\x07\x0e\xf8\x13\xf8\x94\xf9\x1b" -+"\x15\xfd\x1b\xf7\xbc\x07\xf7\x23\xdc\xd8\xf7\x1c\xd2\x75\xbf\x5b\xb1\x1f\xac\x62\x5d\x98\x41\x1b\xfb\x57\xf7\xc9\xfc\x5f\x84\x1d" -+"\x07\xf8\x01\xfb\xc9\x15\xf7\x4f\x06\xe6\x59\x1d\x30\x1f\xfb\x4f\x06\x0e\xf7\xe4\xf8\x4e\xf7\xe6\x15\xfb\xe6\x62\x0a\xf7\xc9\x2d" -+"\xfb\xc9\xfb\xb9\xf7\xc9\x2e\xfd\x6d\xe9\xf7\xe6\x06\xf8\x16\x16\xf7\x66\x06\xe7\x59\x1d\x2f\x1f\xfb\x66\x06\x0e\xf7\x48\xf7\x91" -+"\x16\xe9\xf7\xb7\x06\xd3\xcb\xb9\xf0\xed\xb7\x6f\x4b\x1e\xfb\xd1\xe9\xf7\xd5\x07\xb9\x7d\xad\x6c\xab\x1e\xb4\x64\x59\x9c\x3b\x1b" -+"\x2f\x5b\x77\x51\x5c\x1f\xf7\x7e\xf7\x67\xdd\xfc\xb1\x39\xf7\x80\x07\x0e\x30\xca\x16\xe9\xf7\xed\xca\x06\xf7\x75\x81\x0a\x4d\xf7" -+"\xc2\x2d\x06\xf7\x8e\xf7\x66\x21\x1d\x64\x72\x1d\xa4\xf9\xe5\x7c\x1d\xf8\xab\xbe\x15\x88\x83\x86\x8a\x84\x1b\x70\x7b\x9a\xa5\x1f" -+"\xf7\xc7\x07\xe9\x47\xbd\xfb\x15\x3e\x4e\x75\x63\x67\x1e\x73\x70\x82\x6d\x88\x56\x08\xdf\x06\xcc\x92\xb1\xa9\xd8\x1b\xd7\xb4\x6f" -+"\x58\x1f\x7b\x07\x8a\x66\x79\x7f\x48\x81\xfb\x0b\x7c\x7a\x88\x6b\x7d\x08\x4e\x71\x6c\x5c\x47\x1a\x29\xcc\x4f\xf4\xcd\xbe\xa1\xbf" -+"\xc6\x1e\x58\x91\xa6\x74\xc2\x1b\x9e\x97\x8d\x92\xa7\x1f\xfb\x27\xf7\x46\x15\x70\x83\x79\x73\x75\x1e\x6c\x69\x61\x7b\x5b\x1b\x4a" -+"\x65\xaa\xc0\xc2\xaf\xa6\xe4\x98\x1f\xe5\x98\x9c\x8f\xa6\x97\x08\x0e\x26\xf7\xf2\xf9\xa4\x15\x63\x07\x87\x5d\x76\x7b\x3d\x7b\x44" -+"\x7c\x5f\x6c\x6d\x53\x08\x69\x4b\x79\x2a\xfb\x0e\x1a\xfb\x01\x9b\x4d\xb7\x55\x1e\x57\xb4\xc8\x70\xd6\x1b\xf7\x29\xe3\xf3\xf7\x45" -+"\xe1\x78\xcd\x63\xbd\x1f\xbc\x63\x4b\xa9\x4b\x1b\x51\x59\x76\x63\x62\x1f\x94\xca\xb3\xb1\xcf\x98\xe8\x9b\x8f\x8d\xab\xa7\x08\xab" -+"\xaf\x95\xac\xd8\x1a\xfb\x29\xfb\xd6\x40\x1d\xfb\x23\xc5\x16\xf7\xbb\x06\xe7\xc6\xc6\xe8\xc8\x75\xaf\x4f\xab\x1f\xb5\xaa\x9d\xac" -+"\xb8\x1a\xd9\x4a\xc3\x32\x1e\xfb\xa2\x06\xdf\xfc\x56\x15\xf7\x3a\xf7\x4e\x07\xc1\xae\x6a\x58\x59\x68\x6b\x55\x1f\xfb\x4e\xf7\x84" -+"\x15\xf7\x1c\xf7\x4e\x07\xb5\xa4\x72\x61\x62\x6f\x6f\x64\x1f\x0e\xfb\xc9\xc6\x16\x4b\x0a\xfb\xd1\x06\x0e\x30\x9b\x2a\x15\xe2\xec" -+"\xf7\xf8\x2a\xe2\xf7\x3f\x60\xf8\x56\xfb\xe2\x4c\x06\x25\x7f\x37\x72\x4b\x1e\x6f\x3f\x68\x62\x56\x77\x08\xf8\x27\x16\xfb\xa9\x06" -+"\xcf\xc9\xb1\xf7\x0b\x8e\xf7\x34\x08\xae\xf7\x3c\x07\x0e\xf8\x97\xf7\x7e\x15\xdb\x85\xbd\x7c\xb0\x5c\x0a\x3c\x06\x46\x74\x5a\x67" -+"\x47\x1b\x56\x5d\xa3\xb7\x6e\x65\x0a\x0e\xf8\x98\xf7\x7e\x15\xdb\x85\xbd\x7c\xb0\x5c\x0a\x3c\x06\x46\x74\x5a\x67\x47\x1b\x56\x5d" -+"\xa3\xb7\x6e\x65\x0a\xfb\x45\xf8\x31\x22\x1d\x86\xf7\xb9\x16\xdf\xf7\x8d\xc9\x06\xf7\x28\xfb\x8d\x05\xec\x06\xfb\x3b\xf7\xb2\xf7" -+"\x11\xba\x1d\x4d\xf7\x5d\x37\xfb\x5d\x4c\x06\x21\xf7\x5d\x05\x2a\x06\xf7\x10\xfb\x82\xfb\x3b\xfb\xb2\x05\xed\x06\xf7\x28\xf7\x8d" -+"\x05\xca\x06\x0e\xfb\x6c\xb6\xf7\x38\x15\x75\x07\x26\xd2\x4b\xf7\x05\xf7\x02\xd8\xd1\xed\xc7\x6f\xb4\x50\xa6\x1e\xbe\xa7\xa4\xb2" -+"\xbd\x1a\xdf\x41\xcc\x2a\x51\x59\x75\x65\x6b\x1e\x76\x71\x7a\x5d\x6b\x1a\x74\xe2\xa2\x07\xbd\xb1\xb0\xbf\xbd\xae\x69\x5c\x7a\x85" -+"\x7a\x81\x81\x1e\x79\x79\x6a\x7e\x72\x1b\x68\x41\xae\x06\xc9\xb4\x67\x55\x54\x65\x6a\x4e\x4b\x69\xaa\xc4\x1f\xa1\x07\x0e\xfb\x07" -+"\x3f\x1d\x0e\xfb\x07\x3f\x1d\xbb\xf7\x64\x71\x0a\x86\x1f\x0e\xfb\x80\x70\x0a\x0e\x30\xf8\x35\x49\x1d\xfc\x18\x80\x0a\xf7\x70\x07" -+"\x0e\x99\xb5\x16\xdf\xf8\x56\x06\xf7\x43\xfc\x56\x05\xe1\x06\xf7\x42\xf8\x56\x05\xfc\x56\xdf\xf8\xa0\xfb\x14\x07\xfb\x42\xfc\x4b" -+"\xfb\x42\xf8\x4b\x05\xfb\x13\x06\x0e\xfb\x0e\xd3\x16\xdf\xf7\x83\xf7\x85\xfb\x83\xdf\xf8\xa0\x37\xfb\x67\xfb\x85\xf7\x67\x37\x06" -+"\x0e\xf7\xa9\x3d\x1d\x0e\xfb\x18\xd2\x16\xdf\xf8\x56\xf7\x7c\xfc\x56\xdf\xf8\xa0\xfc\x24\x06\x0e\xc5\xfb\x6e\x15\xdd\x4d\x0a\xbc" -+"\x73\xd0\x1b\xf7\x1c\xe4\xf7\x01\xf7\x3b\xf7\x45\x36\xf7\x01\xfb\x1d\x45\x52\x6c\x51\x65\x1f\xd5\x39\x77\x0a\xfb\x42\xf8\x6c\xf7" -+"\xf0\x15\x86\xbe\x81\xac\x76\xb5\x1d\x2f\xfb\x04\xfb\x42\xfb\x3d\xe4\x20\xf7\x21\xf7\x10\xd9\xd6\xf7\x14\x95\x1f\x38\x06\x37\x7e" -+"\x60\x61\x44\x1b\x31\x54\xd6\xf7\x10\xf7\x17\xc2\xd9\xe7\xd1\xb8\x62\x42\x95\x1f\x0e\xfb\x6c\xf7\x4f\x16\xdf\xf8\x56\xf7\x2c\xd5" -+"\xfc\x19\x41\xf7\x2d\x06\x0e\xfb\x42\x6a\x1d\x0e\xf7\x29\xf8\x05\x4f\x0a\xf7\x58\x06\xd2\x8f\xb3\x95\xbb\xa3\x08\xe5\xb7\xc0\xe6" -+"\xf6\x1a\xf7\x00\x56\xe6\x31\xb7\x1e\x5b\xa3\x63\x94\x44\x90\x08\xf7\x0f\x37\xfb\x0f\x07\x45\x86\x64\x82\x5c\x73\x08\x32\x5e\x57" -+"\x31\xfb\x00\x1a\x20\xbf\x30\xe4\x5f\x1e\xba\x73\xb2\x81\xd1\x87\x08\xd6\x04\xfb\x1c\x95\x41\xd3\xf7\x0f\x1a\xf7\x0f\xd5\xd3\xf7" -+"\x1c\x96\x1e\xdf\x16\xf7\x20\x80\xd6\x43\xfb\x0f\x1a\xfb\x0e\x40\x43\xfb\x20\x80\x1e\x0e\xfb\x42\xf7\xbd\x67\x0a\xeb\x06\x0e\x26" -+"\xe2\x16\xf7\xef\xfb\x33\xe1\xf7\x7d\x5d\xf8\x56\xb2\x1d\xfb\x2d\xf7\xfc\x49\x1d\x75\x1d\xf7\x14\xcb\x16\xf9\x35\xf8\xa0\x9a\x1d" -+"\xf7\x29\xd1\x16\xf9\x0c\xfb\x33\xdf\xf7\x7d\x60\xf8\x56\x9a\x1d\x5a\xf7\x50\x4f\x1d\xfb\xba\x41\xf7\x66\x06\xdf\xfc\x0c\x85\x0a" -+"\xb8\xdc\x78\x1d\xf7\x76\x41\x15\xdf\xf8\xa0\x37\x06\x0e\xfb\x2d\xd0\x78\x1d\x0e\xfb\x38\xf7\x05\xf7\xf2\x15\xd2\x9f\xbf\xb4\xcf" -+"\x1b\xdb\xc1\x52\x2a\x96\x1f\xfb\x4c\x41\xf7\x4e\x06\xfb\x01\x88\x50\x44\x33\x1b\x3f\x5a\xbd\xe8\x79\x1f\x35\x75\x05\xfb\x17\xa7" -+"\xd9\x48\xf7\x0f\x1b\xf7\x27\xe6\xf7\x00\xf7\x42\xf7\x3f\x2e\xf7\x01\xfb\x25\xfb\x05\x3b\x4e\xfb\x02\x6d\x1f\x0e\xd7\xf7\x1b\xf7" -+"\xcd\x15\xf7\x67\x30\x1d\xf7\x83\xf7\x0b\x07\xfb\x3d\x93\xdf\x2e\xf7\x24\x1b\xf7\x29\xe3\xf3\xf7\x45\xf7\x45\x33\xf3\xfb\x29\xfb" -+"\x18\x38\x3a\xfb\x25\x78\x1f\xf7\x7e\xf7\x29\x40\x1d\xfb\x18\xf8\x11\x49\x1d\xfb\x8e\x06\x27\x45\x4a\x30\x45\xa9\x63\xd4\x6e\x1f" -+"\x5d\x79\x75\x6c\x89\x59\x08\x53\x07\x8a\x5c\x87\x7c\x7c\x7f\x08\xe2\x06\x97\x97\x92\xa5\x8c\xaf\x08\xc3\x07\x8c\xba\xa8\xab\xb5" -+"\x8c\x08\xf7\x24\x06\xd5\x04\xfb\x3a\x06\x58\x6b\xab\xbf\xbd\xac\xab\xbd\x1f\xf7\x3a\x06\x0e\xfb\x9b\xf7\xec\x20\x0a\xfb\x95\xfc" -+"\xa0\x4b\x0a\x06\x3c\x1d\x05\xfb\x05\x06\x0e\xd7\x16\xdf\xf7\xed\x06\xd3\xb9\xc2\xb1\x57\x1d\xfb\xc7\x07\x8a\x51\x5d\x59\x58\x8c" -+"\x08\xfb\x15\x3e\xf7\x15\x06\xf3\x90\xd8\xd9\x8c\xf0\x08\xf7\xc7\x4a\x0a\x57\x6e\x47\x52\x9e\x1d\xfb\xc9\xcb\x16\x4b\x0a\xfb\xd1" -+"\x06\xf7\x40\x39\x1d\xfb\x38\xf8\x77\xf8\x04\x15\xf7\x02\x6d\x3a\xc8\xfb\x04\x1b\xfb\x26\x2f\xfb\x01\xfb\x3f\xfb\x42\xe6\xfb\x00" -+"\xf7\x26\xf7\x10\xd8\xce\xf7\x17\xa8\x1f\x35\xa1\x05\x2e\x79\x59\x59\x40\x1b\x33\x50\xd2\xf7\x01\x87\x1f\xf7\x4f\xd5\xfb\x4c\x06" -+"\xec\x96\xc0\xc4\xdc\x1b\xcf\xbf\x62\x44\x9f\x1f\x0e\xfb\x42\xf8\x4a\xf8\x0e\x15\xf3\x8a\x47\xc4\x4c\x1d\xfb\x0d\x8f\xcf\x51\xf7" -+"\x1d\x1b\xf7\x18\xdf\xcc\xf0\xd9\x5f\xb6\x23\xa4\x1f\x51\x1d\x0e\xfc\x58\xf7\x2d\x20\x0a\x30\x1d\x06\xf9\x6d\x04\x37\x22\xdf\x06" -+"\x0e\xfc\x20\xf7\x4c\xf8\xa0\x15\x30\x1d\x06\x41\x3a\x0a\xfc\x58\xd0\x20\x0a\xfc\xe8\x07\x57\x7b\x7a\x57\x86\x84\x8b\x8c\x83\x1e" -+"\x3d\x07\xf7\x07\x87\xc0\xac\x8f\xdb\x08\xf9\x0d\x07\xf7\x61\x04\x37\x22\xdf\x06\x0e\xf7\x7c\xf8\x3f\x4f\x1d\xfc\x22\x80\x0a\xf7" -+"\x7a\x07\xdf\xfc\x0c\x85\x0a\xf7\x1f\xbf\x16\xdf\xf7\x83\xf7\x85\xfb\x83\xa0\x1d\x37\xfb\x67\xfb\x85\xf7\x67\x37\x06\xf8\x2d\xfc" -+"\x56\x15\xf7\x3a\xf7\x38\x07\xa4\x99\x87\x81\x98\x1f\x9f\x7d\x97\x70\x6f\x1a\x56\x6c\x6d\x56\x1e\x0e\xd7\x16\xdf\xf7\xed\x06\xd2" -+"\xb9\xc2\xb2\x57\x1d\xfb\xfa\xdf\xf7\xfa\x4a\x0a\x56\x6e\x47\x53\x9e\x1d\xfb\x80\x70\x0a\xf7\x63\x39\x1d\xfb\x42\x6a\x1d\xfc\x11" -+"\xf7\x64\x7b\x1d\xb8\xda\x16\xf7\x7d\xfb\x3a\xe9\xf7\x3a\xf7\x7f\xf9\x6d\x94\x0a\xfb\x0e\xde\x16\xf7\x2d\xfb\x34\xdf\xf7\x34\xf7" -+"\x2a\xf8\xa0\xb2\x1d\xfb\x0b\xb4\xf7\xae\x15\x3b\x91\x59\x9a\x66\x1e\x35\xad\xdb\x57\xed\x1b\xf7\x26\xe9\xf7\x03\xf7\x41\xf7\x41" -+"\x31\xf4\xfb\x28\xfb\x0c\x38\x47\xfb\x06\x76\x1f\xda\x06\xd0\xa2\xbc\xaf\xcf\x1b\xc0\xb9\x73\x5f\xa8\x1f\x9f\x6d\x92\x6d\x8c\x57" -+"\x08\x89\x47\x15\x2a\x84\x50\x4c\x37\x1b\x36\x50\xcd\xe9\x1f\x0e\xf7\x67\xf8\x03\xf8\xe0\x15\x88\xb1\x83\xa3\x7c\x9f\x08\xaf\x72" -+"\x5d\xa0\x57\x1b\x24\x49\x3a\xfb\x11\xfb\x0e\xcc\x3e\xf1\xe6\xc5\xc2\xe8\x91\x1f\x44\x06\x54\x82\x6f\x6f\x5e\x1b\x4f\x68\xbd\xdf" -+"\xe4\xae\xbf\xc6\xb7\xa8\x70\x5c\x91\x1f\xf7\xfd\xfb\x5a\x15\x20\x4b\x3f\xfb\x13\xfb\x14\xca\x40\xf7\x00\xf6\xcb\xd6\xf7\x11\xf7" -+"\x17\x4d\xd6\xfb\x01\x1f\x4a\x04\xc8\xaf\x57\x33\x37\x66\x57\x4f\x4f\x66\xbf\xe1\xe1\xb0\xbf\xc7\x1f\x49\xf8\x14\x15\xfc\x14\xfd" -+"\x59\x05\xcd\x06\xf8\x14\xf9\x59\x05\x0e\xfb\xf3\xf7\x16\xf7\xb8\x15\xca\xcd\xb2\xba\xa5\xb8\x08\xb4\xd0\xa4\xd8\xc4\x1a\xbf\x71" -+"\xad\x64\x35\x49\xfb\x22\xfb\xd2\x4f\x1e\x6f\x6c\x77\x77\x7e\x80\x08\x7a\x7b\x85\x84\x84\x1a\x84\x92\x82\x91\x92\xa9\xa3\xa5\xa5" -+"\x1e\x7f\x2f\x89\x71\x6c\x1a\x53\xa6\x69\xb9\xae\xa8\xa0\xb7\xa4\x1e\x98\xa0\x92\x9f\x97\x1a\x92\x85\x91\x84\x83\x85\x86\x7d\x84" -+"\x1e\x5e\x76\x7c\x7b\x77\x1b\x7d\x84\x94\x9e\xa5\x9e\xf7\x11\x9a\xdb\x1f\x95\xc2\x15\xf7\x9f\xb8\xa7\xe0\xb8\x1b\x9c\x96\x7a\x71" -+"\x6d\x81\x5a\x7c\x62\x1f\x72\x48\x68\x54\x4e\x48\x08\x0e\xf8\x23\xf8\xaa\x20\x1d\x40\xfc\xe8\x06\xfb\xd8\xf8\xe8\x05\x35\xfd\x6d" -+"\xd6\xf8\xe3\x06\xf7\xd5\xfc\xe3\x05\xe4\x06\xf7\xad\xf9\x79\x15\xfb\x11\x30\xfb\x09\xfb\x33\xfb\x3a\xe3\xfb\x04\xf7\x16\xf7\x12" -+"\xe4\xf7\x08\xf7\x37\xf7\x32\x2f\xf7\x09\xfb\x11\x1f\x38\x04\xe1\xc3\x3d\xfb\x0b\xfb\x03\x51\x3b\x39\x36\x51\xdb\xf7\x08\xf7\x05" -+"\xc5\xda\xde\x1f\xfb\x62\xfd\x26\x15\xf8\x32\xde\xfc\x32\x06\x0e\x2b\xf8\xe1\x20\x0a\x31\x06\x57\xfb\x2b\x74\xbc\x7e\xa1\x74\xa6" -+"\x19\xb6\x67\x56\xa3\x54\x1b\xfb\x10\x33\xfb\x09\xfb\x38\xfb\x39\xe0\xfb\x07\xf7\x0e\xc8\xc3\xa9\xc1\xb1\x1f\xa0\xa9\x97\xa2\xa0" -+"\xbd\xc3\xfb\x38\x18\xe7\x06\x23\xf7\xa3\x05\x37\x16\xfb\x2c\x5a\x5a\x4b\x49\x1b\x42\x57\xdf\xf7\x0a\xf7\x0f\xbf\xdd\xd8\xcc\xb5" -+"\x59\xfb\x21\xc0\x1f\x0e\x2b\xf8\xdf\x20\x0a\x30\x06\x57\xfb\x2b\x75\xbc\x7e\xa1\x74\xa6\x19\xb6\x66\x57\xa3\x50\x1b\xfb\x1a\x29" -+"\xfb\x0b\xfb\x36\xfb\x37\xea\xfb\x09\xf7\x18\xec\xc7\xc0\xf7\x1a\xc2\x1f\xc4\xfb\x38\x05\xe7\x06\x23\xf7\xa3\x05\x37\x16\xfb\x2e" -+"\x59\x5b\x4d\x46\x1b\x36\x4e\xe1\xf7\x0a\xf7\x0a\xc9\xe0\xe2\xd0\xb4\x5c\xfb\x24\xc1\x1f\xfb\x60\xf8\x90\x21\x0a\x25\x1d\xa1\xf8" -+"\x4e\x28\x1d\xfb\xe9\xc5\xf7\x82\x15\xf7\x42\xfb\xe8\x05\x7b\x93\x95\x84\x97\x1b\x93\x90\x8f\x92\x92\x89\x93\x88\x93\x1f\xfb\x17" -+"\xf7\xdd\xf7\x17\xf7\xdd\x05\x8e\x93\x8d\x93\x92\x1a\x93\x86\x8f\x83\x7f\x83\x85\x79\x81\x1e\x0e\xfb\xe9\xf7\xa7\xf7\x82\x15\xfb" -+"\x42\xf7\xe8\x05\x9c\x82\x82\x92\x7f\x1b\x83\x86\x87\x83\x85\x8d\x83\x8e\x82\x1f\xf7\x17\xfb\xdd\xfb\x17\xfb\xdd\x05\x88\x84\x89" -+"\x83\x84\x1a\x83\x90\x87\x93\x97\x93\x91\x9c\x95\x1e\x0e\xf8\xac\x9f\x1d\xe9\x47\xbc\xfb\x15\x3f\x4d\x75\x64\x67\x1e\x74\x9b\x0a" -+"\x91\xb1\xa8\xd9\x1b\xd7\xb4\x6f\x59\x1f\x75\x07\x67\x78\x7e\x48\x82\x1e\xfb\x0b\x7c\x79\x87\x6c\x7e\x08\x4d\x71\x6c\x5d\x47\x1a" -+"\x2c\xcd\x4f\xf5\xce\xc0\xa2\xc1\xc5\x1e\x8f\x5f\xa0\x71\xb1\x84\x08\x5a\x70\x78\x72\x65\x1a\x66\xa2\x6e\xb3\x7e\x1e\x83\xa1\xab" -+"\x86\x9f\x1b\x9c\xa7\x8f\x91\xa5\x1f\xb8\x07\x84\x79\x76\x88\x72\x1b\x5c\x72\x9e\xaf\xb2\xa7\xac\xbb\x9e\x1f\xfb\x27\x81\x1d\x0e" -+"\xfb\x11\xf8\x73\xf8\x18\x15\x56\x6d\x75\x7b\x64\x1b\x71\x7d\x8f\xa2\x52\x1f\xa5\x4a\x6a\x95\x72\x1b\x68\x6b\x79\x69\x71\x1f\x7f" -+"\x7b\x84\x81\x73\x65\xb0\x67\x18\xc2\xa9\xa5\xa0\xb3\x1b\xa1\xa5\x84\x75\xc5\x1f\x6b\xde\x91\x89\xa6\x1b\xa9\xa8\x9a\xa6\xa1\x1f" -+"\x98\x9b\x8d\x8d\xad\xbc\x08\x65\xfb\x10\x15\x56\x6d\x75\x7b\x64\x1b\x71\x7d\x8f\xa2\x52\x1f\xa5\x4a\x6a\x95\x72\x1b\x68\x6b\x79" -+"\x69\x71\x1f\x7f\x7b\x84\x81\x73\x65\xb0\x67\x18\xc2\xa9\xa5\xa0\xb3\x1b\xa1\xa5\x84\x75\xc5\x1f\x6b\xde\x91\x89\xa6\x1b\xa9\xa8" -+"\x9a\xa6\xa1\x1f\x98\x9b\x8d\x8d\xad\xbc\x08\x0e\x25\x1d\xfb\x02\xf8\x83\x27\x0a\x61\xf7\x53\x26\x0a\xf7\xda\xf9\x5d\xf7\xac\x15" -+"\x6a\x5e\x6e\x53\x78\x1a\x81\x93\x84\x95\x92\x8f\x8d\x94\x93\x1e\xbc\xc6\xa6\xa0\xea\xc4\x08\x9c\x94\x8d\x8e\x95\x1a\x92\x85\x90" -+"\x76\x97\x1e\x42\xb5\x5f\xad\x64\xb9\x08\x9c\x7d\x87\x8e\x83\x1b\x81\x83\x84\x82\x79\xb0\x40\xa4\x6d\x1f\xfc\x3f\x06\xa6\xac\xaf" -+"\xd3\x9e\x1a\x93\x83\x92\x81\x83\x88\x88\x7a\x7c\x1e\x63\x5c\x61\x6a\x41\x61\x08\x77\x80\x84\x85\x84\x1a\x83\x8f\x86\x93\x86\x1e" -+"\xe9\x54\xaa\x73\xb7\x58\x08\x76\x9d\x8c\x8a\x94\x1b\x95\x93\x92\x94\x91\x7f\xab\x83\x9b\x1f\x80\xa0\x80\x9d\x76\xa7\x08\x0e\xfb" -+"\x42\xf7\x66\xf9\x65\x15\xfd\x2a\x07\xa3\x6e\x40\xb1\x79\x1b\x82\x84\x83\x81\x83\x8e\x88\x9c\x7c\x1f\xba\x63\xad\x5f\xb4\x42\x08" -+"\x77\x96\x91\x84\x92\x1b\x93\x90\x8f\x93\x90\x1f\xc6\xf0\xa1\xa7\xc7\xbd\x08\x94\x93\x8d\x8f\x92\x1a\x95\x84\x93\x82\x85\x6a\x7f" -+"\x83\x7b\x1e\x74\x80\x79\x7f\x71\x78\x08\xf9\x2a\x07\x0e\xf7\xda\xfa\x25\xf7\xad\x15\xc7\xfd\x2a\x07\x9c\xa2\x95\x9b\x96\x9f\x08" -+"\x95\x9e\x99\xaf\x93\x1a\x94\x83\x92\x81\x84\x87\x89\x82\x83\x1e\x59\x4f\x73\x78\x2a\x51\x08\x79\x81\x89\x88\x82\x1a\x84\x92\x85" -+"\x9f\x80\x1e\xd4\x62\xb7\x69\xb3\x5c\x08\x7a\x9a\x8e\x88\x93\x1b\x95\x93\x92\x94\x9d\x65\xd6\x73\xa8\x1f\x0e\xf7\xda\xe0\xf7\xad" -+"\x15\xf9\x2a\x06\x73\x6e\x65\x40\x79\x1a\x82\x93\x84\x95\x93\x8e\x8e\x9c\x9a\x1e\xb3\xba\xb7\xad\xd4\xb4\x08\x9f\x96\x92\x91\x92" -+"\x1a\x93\x87\x90\x83\x90\x1e\x26\xc6\x70\xa1\x58\xc7\x08\x94\x83\x87\x8d\x84\x1b\x81\x83\x84\x82\x85\x97\x6a\x93\x7b\x1f\x96\x74" -+"\x97\x79\x9e\x71\x08\xfd\x2a\x06\x0e\xfb\x42\xf7\x66\x20\x15\xc7\xf9\x2a\x06\xa2\x7a\x9b\x81\x9f\x80\x08\x81\x9e\xaf\x7d\x93\x1b" -+"\x94\x92\x93\x95\x92\x89\x8f\x82\x93\x1f\x4f\xbd\x78\xa3\x51\xec\x08\x9d\x81\x88\x8d\x82\x1b\x84\x85\x84\x77\x80\x1f\x62\x42\x69" -+"\x5f\x5c\x63\x08\x7a\x7c\x88\x88\x83\x1a\x81\x92\x83\x94\x9d\xd5\xb1\xa3\xa9\x1e\x0e\xfb\x42\xf7\x6e\xf7\x15\x61\x1d\xfb\x42\xf7" -+"\x0c\x47\x15\x60\xf7\x9c\xb6\x07\xfb\x3a\xf7\x9c\x61\x1d\x28\xda\xfb\x6e\x15\xde\xf7\x85\x06\x6c\xb1\xb7\x7c\xc4\x1b\xf7\x1b\xe3" -+"\xe9\xf7\x23\xef\x62\xcb\x36\xad\x1f\xc3\xaa\xa8\xbc\xcc\x1a\xf7\x00\x39\xd7\xfb\x09\x46\x4c\x71\x61\x69\x1e\x6d\x67\x82\x62\x2a" -+"\x1a\xde\x90\x15\xd4\x90\xa8\x9e\xa3\x1e\xa3\x9d\xae\x99\xb1\x1b\xd4\xb9\x60\x46\x5d\x74\x61\x6a\x7c\x1f\x77\x81\x7b\x89\x5a\x88" -+"\x08\x46\x07\x8c\x9a\x97\x8c\x97\x1b\xe1\xc4\x4d\x2c\x29\x51\x4d\x30\x56\x63\x9c\xb2\x6a\x1f\x0e\xfb\x42\x33\x1d\x33\xf8\x1c\x26" -+"\x0a\xfb\x42\x33\x1d\x41\xf7\x87\x2e\x0a\xfb\x42\x33\x1d\xfb\x3b\xf8\x1d\x2b\x1d\xfb\x42\x33\x1d\x46\xf8\x04\x24\x1d\xfb\x29\xf7" -+"\x99\xf7\x98\x15\xfb\x13\xf7\x9c\x05\x2b\x06\xf7\x44\xfb\xfb\xfb\x4d\xfc\x13\x05\xe5\x06\xf7\x20\xf7\xb9\xf7\x22\xfb\xb9\x05\xea" -+"\x06\xfb\x51\xf8\x18\xf7\x40\xf7\xf6\x05\x2f\x06\x0e\xf7\xda\xf8\x8b\xf9\x4b\x15\xfb\x5c\xfb\x36\xfb\x35\xfb\x5c\xfb\x58\xf7\x36" -+"\xfb\x36\xf7\x57\xf7\x59\xf7\x37\xf7\x37\xf7\x57\xf7\x58\xfb\x36\xf7\x39\xfb\x55\x1f\x87\xfb\xd0\x15\xfb\x52\xf7\x50\x05\xb8\xc2" -+"\xcc\xa2\xd1\x1b\xd0\xcb\x74\x60\xc4\x1f\xb3\x63\x15\xbb\x52\xa2\x4c\x42\x1a\x43\x74\x4b\x5d\x53\x1e\xfb\x54\xf7\x57\x05\xf7\x2c" -+"\xfb\x7f\x15\x5f\x54\x48\x73\x45\x1b\x45\x4b\xa2\xba\x50\x1f\xf7\x55\xf7\x55\x05\xfb\x7d\xfb\x2d\x15\x5f\xc1\x74\xcb\xd1\x1a\xd3" -+"\xa2\xcb\xba\xc4\x1e\xf7\x52\xfb\x50\x05\x0e\x79\xf8\xd7\x16\x9f\x07\x24\x9f\x6e\x99\x5d\xbb\x5c\xbf\x7a\xc0\x8a\xeb\xa0\x66\x93" -+"\x7e\x97\x7d\x08\x5d\xb2\xc9\x6c\xc0\x1b\xe6\xd2\xd5\xe9\xe5\x4a\xd3\x3a\x6e\x84\x89\x6e\x50\x1f\xa7\xb4\x96\xaa\xb0\x1a\xe3\x42" -+"\xd2\x30\x2e\x44\x45\x31\x67\x92\x78\xad\x56\x1e\xa3\x5b\x76\x91\x6c\x1b\x40\x49\x3f\x34\x2e\xd4\x42\xe7\xdc\xcf\xbd\xe6\xb8\x1f" -+"\x8c\x7b\x8b\x80\x86\x1a\x43\x65\x3a\x55\x5f\x1e\x6b\x72\x74\x82\x2c\x77\x08\x77\x07\x0e\x6c\x5a\x0a\xf7\xaf\xf7\xa0\x38\x0a\xf8" -+"\x82\xf9\x21\x15\xd7\x38\x3f\xfb\x2a\x56\xf7\x2a\xfb\x1f\x07\xc1\x5f\x5a\xa3\x47\x1b\xfb\x1b\x32\xfb\x01\xfb\x3a\xfb\x41\xe5\xfb" -+"\x06\xf7\x1c\xce\xc0\xa5\xc3\xbb\x1f\x50\xd5\xf8\xec\xca\xc0\x07\xfb\xb8\xfb\x58\x15\xe4\xc4\x3d\xfb\x0f\xfb\x0b\x51\x3d\x33\x2f" -+"\x4f\xda\xf7\x0c\xf7\x0c\xc7\xda\xe7\x1f\x0e\xfb\x09\xf7\x96\xf8\xa8\x15\xfb\x1c\x86\x3b\x26\xfb\x3c\x1a\xfb\x45\xe3\x23\xf7\x29" -+"\xf7\x29\xe3\xf3\xf7\x45\xe1\x78\xcd\x63\xbd\x1e\x7a\xa0\x85\x90\x45\xc1\xfb\x28\xf7\x07\x18\xf7\x8f\xd5\xfc\x05\x44\x06\xf7\x49" -+"\xfb\x58\x40\x1d\xfb\x38\x90\xf7\xf1\x15\xf0\xfb\x11\xf7\x10\xfb\x45\xb1\x40\xc7\xf7\x00\xf7\x05\xf7\x34\xf4\xf7\x11\x3b\xe6\xfb" -+"\x39\xf7\x7d\x6a\xcf\x53\x24\x41\x22\xfb\x26\xfb\x4c\x08\x0e\xfb\xe9\xf7\x12\xf9\xef\x40\x0a\x29\x1d\xfb\xb3\xf8\x42\x15\x8c\x64" -+"\x91\x78\x99\x4e\x1d\x29\x1d\x32\xf7\xb5\x15\xeb\xf7\x2a\x05\x4b\x06\x3c\x2b\x3a\x54\x1d\x29\x1d\x35\xf8\x32\x24\x1d\xf7\xda\xf9" -+"\x93\xf7\x6c\x15\xc8\xfc\x62\x07\x91\xf6\xc3\xbd\xf7\x01\x89\x08\xf7\xb7\xc9\xfb\xac\x5e\x1d\x66\x1f\x4a\x60\x69\x42\x2c\x1a\xfb" -+"\x08\xb8\x38\xb0\x1d\xc9\xfb\xb7\x06\xfb\x01\x89\x53\xbd\x85\xf5\x08\x0e\x29\x1d\x8a\xf8\x23\x28\x1d\xf7\xd1\xfb\x6b\x15\x89\x9d" -+"\x93\x8a\x9a\x1b\xb5\xa9\x94\xa0\xa2\x1f\xa7\xa2\x91\xa2\xd7\x1a\xf8\x55\x07\xbc\x81\xab\x73\xa4\x1e\xab\x6e\x5d\x9d\x56\x1b\x3f" -+"\x5e\x71\x3e\x53\x1f\xe3\x3e\xfc\xa0\xdf\xf7\xb5\x07\xf7\x01\xc3\xcf\xe5\xca\xb3\x63\x4d\x1e\xfc\x2b\x07\x4e\x8a\x83\x84\x80\x1e" -+"\x7d\x83\x79\x84\x6f\x1b\x83\x86\x8b\x8c\x7f\x1f\x0e\xf8\x95\xf7\x7e\x15\x8c\xdb\x84\xbc\x7c\xb1\x08\xe1\x6a\x3a\x5d\x1d\xfb\x42" -+"\xfb\x41\xe5\x23\xf7\x29\xa3\x99\x8d\x91\xa9\x1f\x71\x77\x84\x85\x84\x84\x08\x7a\x78\x80\x71\x74\x1a\x55\xc2\x69\xdf\xa2\x9e\x8e" -+"\x91\xa6\x1e\xb8\x07\x84\x78\x77\x88\x72\x1b\x5e\x70\x9e\xab\xb1\x9c\xa8\xc1\xc4\x1f\xb9\xb9\xa3\xb6\x96\xc2\x08\x37\x06\x46\x74" -+"\x5b\x66\x48\x1b\x57\x5e\xa4\xb6\x6e\x1f\x78\xaa\x83\xa9\x8a\xbf\x08\x8e\xcf\x15\xec\x91\xc6\xca\xdf\x1b\xe0\xc7\x49\x2d\x1f\x0e" -+"\xfb\x78\x62\x1d\x0e\xfb\x78\x62\x1d\x23\xf8\xb5\x21\x0a\x30\xf8\xaa\xf7\x9f\xa1\x1d\xf8\x32\xbd\x1d\x41\xf8\xa4\xf7\x88\x15\x92" -+"\x07\x8a\xc7\x8a\x97\x84\xac\x08\xf5\x75\x34\xce\xfb\x07\x1b\xfb\x27\x2e\x20\xfb\x3b\xfb\x3b\xe5\x26\xf7\x28\xf7\x06\xd5\xbf\xf2" -+"\xab\x1f\x8d\x92\x05\x52\x06\x84\x7b\x86\x82\x88\x87\x08\x59\x6c\x58\x71\x4a\x1b\x5f\x67\x97\xa1\x73\x1f\x7a\x9a\x82\x9b\x80\xb0" -+"\x08\xed\x07\xf7\xb3\xbb\x15\xfb\xb1\xe0\x06\xd1\xac\xaf\xa4\xd0\x1b\xc1\xb0\x7a\x63\xae\x1f\x96\x7e\x8f\x84\x91\x79\x08\x0e\x5f" -+"\x0a\x0e\x5f\x0a\xf7\x02\xf7\x93\x21\x0a\xfb\x42\xf7\x57\x7b\x0a\xf7\x8d\x7b\x0a\x0e\xfb\x8e\xbe\x16\xf7\xd9\xf8\xd5\xfb\xd9\x37" -+"\xf7\x85\xfb\x36\xfb\x85\x37\xf7\x85\xfb\x37\xfb\x85\x06\x0e\xd7\xf7\xf4\xf7\x98\x15\xfb\x37\x60\xf7\x37\xfb\x3a\xbb\xf7\x3a\xf7" -+"\x35\xb6\xfb\x35\xf3\x06\xe4\x98\xcf\xda\xe6\x1a\xee\x37\xde\x28\x29\x38\x34\x26\x34\xcf\x3e\xe6\x7e\x1e\xa6\xf7\xcb\x15\xd0\xc5" -+"\x50\x45\x43\x51\x51\x44\x42\x52\xc5\xd4\xd2\xc5\xc4\xd5\x1f\x0e\xf7\x1b\xf7\xe0\x15\xf7\x28\xdd\xfb\x28\x92\x0a\xf7\x38\x7e\x1d" -+"\x0e\xfb\x42\xf7\x68\x4f\x0a\xf7\x7e\x06\xf7\x54\xf8\x90\x05\x2d\x06\xfb\x20\xfc\x19\xfb\x28\xf8\x19\x05\x2d\x06\xf7\x5c\xfc\x90" -+"\x05\x0e\xf7\x0b\xf9\x70\x15\x8d\x2f\x0a\xe7\x3f\x0a\x51\x8a\x0a\xf7\x76\xfb\x64\x32\x0a\xf7\x75\xf9\x79\x99\x1d\xe0\xfb\x6d\x32" -+"\x0a\xf7\xcf\xf8\xe4\x15\xef\x54\x07\x89\xc2\x9d\xa8\xb0\x8c\x8d\x8c\x18\xb1\x07\x4f\x8d\x64\x5c\x8a\x3f\x08\x24\x07\xf7\x51\x47" -+"\x15\x3f\x07\xca\x61\x5d\xa7\x49\x1b\xfb\x13\x33\xfb\x0a\xfb\x3c\x33\xa0\x4b\xb8\x56\x1f\x5d\xb2\xbd\x72\xc1\x1b\xca\xb8\xa7\xcd" -+"\xb7\x1f\x70\x07\xfb\x20\x64\x57\x23\x44\x66\xa7\xc7\x83\x1e\x36\x06\x2a\x93\xd8\x4e\xf7\x06\x1b\xd8\xcb\xa4\xb5\xad\x1f\xb3\xbc" -+"\x9a\xcc\xf7\x0f\x1a\xf8\x4a\x07\xfb\x73\x4d\x15\xe3\xbd\x41\xfb\x19\xfb\x13\x58\x41\x34\x35\x59\xd6\xf7\x15\xf7\x14\xbd\xd7\xe1" -+"\x1f\x0e\xf7\xd1\xf9\x5f\x58\x1d\xe2\x33\x32\x0a\xfb\x11\xb3\x1d\xf8\x4f\x04\xfc\x7d\xf7\x63\x05\x3c\x07\xf8\x1e\xfb\x38\xfc\x1e" -+"\xfb\x35\x05\x3c\x07\xf8\x7d\xf7\x63\x05\x0e\xf7\x2d\xf9\x21\x15\xd7\x38\x3f\x4f\x56\xc7\xfc\xec\xde\xf7\xb5\x07\xf6\xc3\xd1\xe2" -+"\xa6\xa5\x83\x7c\x9f\x1e\xa3\x79\x95\x73\x65\x1a\xfb\xff\xde\xf8\x20\x07\xe3\x4c\xc2\x25\x41\x5e\x74\x4b\x5a\x1e\xf7\x28\xf7\x63" -+"\xc0\x07\x0e\x70\x1d\x34\xf7\x67\x27\x1d\x3b\xf7\xbc\x6f\x15\x9f\xe5\xc7\xf2\xf7\x08\xf7\x25\x08\xeb\xf7\x0e\xab\xce\xda\x1a\xde" -+"\x45\xcf\x37\x5b\x5f\x76\x65\x6a\x1e\x75\x72\x81\x75\x7e\x5d\x7f\xaf\x83\x9d\x7f\x9d\x08\xbd\x6a\x58\xa8\x54\x1b\x36\x49\x47\x32" -+"\x48\xa0\x5e\xdf\xfb\x06\x1f\xf7\x2b\xfb\x5e\xb3\x47\xa5\x24\x08\x0e\x45\xb4\x16\xf8\x9e\xf8\x25\x06\xfb\x99\xf7\xdc\xfb\x99\xfb" -+"\xdc\x05\xbe\xfb\xf2\x15\xf7\xdc\x07\xf7\x66\xf7\xa2\xf7\x66\xfb\xa2\x05\xfb\xdc\x07\x0e\xfc\x20\x2e\x1d\xfb\x51\x77\x1d\xfb\x7a" -+"\xf7\x3f\x88\x0a\xf7\x01\x27\x6a\x0a\xfc\x20\xf7\x48\x20\x0a\x38\xfc\xa0\xde\x06\xdd\xf9\x51\x15\xfb\x8b\x45\xf7\x8b\x06\x0e\xb2" -+"\xf7\xf8\xf7\xbd\x15\x5b\xb6\x87\x8e\x77\x9a\x08\xa7\x66\x5d\x9d\x67\x1b\x3e\x4c\x4c\x3e\x3e\xca\x4c\xd8\xb0\xb8\x9c\xa8\xb0\x1f" -+"\x9f\x99\x8f\x8f\xbb\xb6\xbc\x60\x90\x87\x9e\x7d\x08\x6f\xb0\xb8\x79\xb0\x1b\xd8\xca\xca\xd8\xd8\x4c\xca\x3e\x67\x5c\x79\x6f\x67" -+"\x1f\x77\x7d\x87\x87\x5a\x60\x08\xaf\x6a\x15\xc3\xc4\xc3\xab\xb5\x1b\xbc\xb3\x63\x5b\x5a\x63\x63\x5a\x61\x53\xab\xc4\x52\x1f\x44" -+"\x16\x53\x52\x53\x6b\x61\x1b\x5a\x63\xb3\xbb\xbb\xb3\xb3\xbc\xb5\xc3\x6c\x52\xc4\x1f\x0e\xfc\x24\xf7\x50\xf8\x9f\x15\xb0\x85\xda" -+"\x82\xe8\x1e\x87\xb5\x89\xa1\x97\x1a\x9d\x91\x95\x97\x91\x8e\x8a\x80\x95\x1e\x81\x95\x97\x86\x98\x1b\xa6\xa0\xa1\xa7\xa9\x6f\xa3" -+"\x68\x60\x6c\x6c\x51\x7d\x1f\x7b\x4b\x86\x46\xfb\x45\x1a\xfb\x78\x07\x5f\x8f\x4e\x95\x22\x1e\x8f\x61\x8d\x75\x7f\x1a\x79\x85\x81" -+"\x7f\x85\x89\x8c\x96\x80\x1e\x95\x81\x80\x90\x7d\x1b\x71\x75\x75\x70\x6c\xa7\x73\xae\xb7\xaa\xaa\xc5\x99\x1f\x9b\xcb\x90\xd4\xf7" -+"\x41\x1a\x0e\x45\xf7\x9d\xfa\x25\x15\xfd\x79\x07\x66\x91\x3c\x94\x2e\x1e\x8f\x61\x8d\x75\x7f\x1a\x79\x85\x81\x7f\x85\x88\x8c\x96" -+"\x81\x1e\x95\x81\x7f\x90\x7e\x1b\x70\x76\x75\x6f\x6d\xa7\x73\xae\xb6\xaa\xaa\xc5\x99\x1f\x9b\xcb\x90\xd0\xf7\x45\x1a\xf9\x70\x07" -+"\x0e\x45\xf7\xe7\xfb\x6e\x15\xf9\x79\x07\xb0\x85\xda\x82\xe8\x1e\x87\xb5\x89\xa1\x97\x1a\x9d\x91\x95\x97\x91\x8e\x8a\x80\x95\x1e" -+"\x81\x95\x97\x86\x98\x1b\xa6\xa0\xa1\xa7\xa9\x6f\xa3\x68\x60\x6c\x6c\x51\x7d\x1f\x7b\x4b\x86\x46\xfb\x45\x1a\xfd\x70\x07\x0e\xb8" -+"\xf8\xeb\x16\xf7\xa1\x07\xf7\x29\x86\xb1\x71\xb7\x1e\xd1\x61\x3e\xb4\x31\x1b\x38\x46\x6a\x4d\x5e\x1f\x66\x5a\x85\x67\xfb\x36\x1a" -+"\xfb\xa1\xd1\xf7\xa4\x07\xf7\x05\x91\xba\x9d\xad\x1e\xbd\xa6\xc5\xad\xc8\x1b\xc4\xc2\x6e\x5d\xa8\x1f\xa2\x67\x91\x62\xfb\x12\x1a" -+"\xfb\xa4\x07\x0e\xf8\x0e\xf8\xa3\x6c\x0a\xfb\x01\xfb\x63\x83\x0a\xfb\x14\xfb\x05\x15\x96\x59\x96\x75\xa5\x6d\x08\x54\xbb\xc7\x71" -+"\xdc\x1b\xdc\xc7\xa5\xc2\xbb\x1f\xa5\xa9\x96\xa1\x96\xbd\x84\x36\x80\x62\x6d\x5e\x08\x4c\x61\x4b\x6b\x38\x1b\x3e\x4f\xa6\xc1\x61" -+"\x1f\x67\xba\x7c\xb8\x84\xe8\x08\xf7\xee\xf7\x05\x83\x0a\x0e\xfc\x58\xf7\x2a\x20\x0a\x38\xfc\xa0\xab\x06\x53\x5e\x79\x6e\x61\x1a" -+"\x57\xb7\x67\xca\x9c\xa2\x8f\x90\x9d\x1e\xb8\x07\x85\x79\x7f\x88\x7e\x1b\x6d\x77\xa1\xad\xab\xa2\xb7\xa9\xa6\x1f\xf9\x6d\x04\x37" -+"\x22\xdf\x06\x0e\xfc\x58\x47\x1d\x0e\xfc\x58\x47\x1d\x94\xf7\x53\x22\x1d\xfc\x58\x47\x1d\x8c\xf7\xe3\x40\x0a\xfc\x58\x47\x1d\x8c" -+"\xf7\x93\x21\x0a\xfc\x20\x2e\x1d\xc3\xf9\x61\x36\x0a\xfc\x58\xd1\xf8\xa0\x74\x0a\x2e\xf7\x6d\x27\x1d\xfb\x42\xf7\x21\xf7\xc3\x15" -+"\xf7\x71\x30\x1d\xf7\x5b\x07\xde\xdc\xf7\x42\xfb\xac\x05\xf2\x06\xfb\x6a\xf7\xea\xf7\x4c\xf7\x4a\x05\xfb\x01\x06\x0e\xfb\x42\x6b" -+"\x0a\xd7\xfb\xfe\x23\x1d\xfb\x42\xf5\xf7\x47\x15\xde\xdd\xf7\x48\xfb\x99\x05\xd8\x06\xfb\x66\xf7\xc2\xf7\x64\xf7\x64\x05\x37\x06" -+"\xfb\x92\xfb\x96\x05\xf7\x96\x4a\xfc\x92\xcc\x07\x0e\xfc\x58\x43\x1d\x92\x3b\x0a\xfb\x42\xa1\x16\xe5\x06\xf7\x1b\xf8\x1b\xf7\x21" -+"\xfc\x1b\x05\xe7\x06\xfb\xa0\xf9\x6d\x05\x30\x06\xdd\xfb\x70\x05\x0e\xfc\x0b\x43\x1d\xc0\xf9\x6d\x38\x0a\xfc\x58\x43\x1d\x32\x4f" -+"\x23\x1d\xfb\xe8\xf7\x32\x20\x1d\x38\xfd\x6d\xde\x06\xce\xf8\x2c\x15\x22\xf1\xf4\x07\x0e\xfb\x11\xb3\x1d\xfc\x7d\xf8\x0a\x8a\x1d" -+"\xf8\x02\xf7\xd5\x15\xc2\xfb\x34\x07\x86\x95\x87\x91\x84\x97\x08\x67\xca\x84\x9e\xb1\x1a\xd7\xc3\xbe\xe0\xe2\xb8\x58\x24\x8f\x1e" -+"\xe3\x06\x8a\xc8\x83\xb2\x77\xac\x08\xc9\x68\x44\xb0\x37\x1b\xfb\x1b\x23\x2e\xfb\x0d\x61\x93\x74\xb1\x4c\x1f\x92\x80\x05\x3a\x54" -+"\xf7\x02\x06\x92\x7f\x8f\x82\x91\x7b\x08\xfb\x12\x54\xf7\x18\x06\x83\x50\x68\x59\x39\x48\xbc\x49\x18\xa3\xb1\xaf\x97\xae\x1b\xa0" -+"\xa3\x87\x84\xa0\x1f\x6e\xde\xa5\x85\xaf\x1b\xc0\xb2\x9c\xb3\xb3\x1f\x61\xcd\x05\x76\x6d\x70\x81\x70\x1b\x79\x7a\x8f\x97\x60\x1f" -+"\x97\x64\x7a\x8e\x70\x1b\x61\x63\x7e\x71\x64\x1f\xd6\xd6\xab\xb9\x94\xba\x08\xf7\x10\xc2\xfb\x12\x06\x88\x98\x88\x95\x86\x99\x08" -+"\x0e\xfc\x58\xf7\x23\x16\xf8\xf2\x07\xae\x9e\x9d\xb1\x1e\xa9\x8a\x05\x46\x1d\x07\x0e\xd7\xf8\x14\xf8\x82\x15\x9f\x64\x73\x92\x69" -+"\x1b\x28\x36\x36\x27\x2b\xe0\x39\xef\xed\xdf\xe1\xf0\xb9\x79\xb5\x68\xae\x1f\xf7\x2a\xf7\x2a\x90\x72\x9f\x5a\x9a\x6d\x19\x77\x96" -+"\x90\x85\x95\x1b\x92\x90\x91\x92\x90\x8a\x8f\x89\x96\x1f\x84\xab\x89\xa1\xa8\x1a\xb1\x8e\xa9\x92\xa4\x1e\x90\x9c\x8b\x8c\x8f\x1a" -+"\x91\x87\x8f\x85\x87\x82\x89\x88\x82\x1e\x83\x71\x79\x89\x5c\x1b\x6f\x73\x8e\x91\x6e\x1f\x8d\x80\x88\x8c\x86\x1b\x83\x85\x86\x83" -+"\x7e\xa6\x79\xb2\x7c\x1f\xb4\x7c\x91\x89\x98\x88\x08\xfb\x8c\xfb\x41\x15\xd3\xc7\x4e\x42\x41\x4f\x4f\x41\x41\x4f\xc7\xd6\xd5\xc7" -+"\xc6\xd7\x1f\x0e\xfc\x7a\xf7\x35\x91\x0a\x0e\xfb\x42\xf7\x7f\xf7\x53\x15\x92\x7b\x75\x90\x78\x1b\x48\x4f\x52\x4a\x64\xa7\x73\xb8" -+"\xe8\xcd\xd3\xf0\x1f\xf7\xd4\x07\xc8\x82\xbd\x39\x30\x1a\x54\x82\x60\x72\x50\x1e\xa8\x06\xb2\xbb\xa0\xc6\xcb\x1a\xdd\x6c\xd9\x4b" -+"\xd7\x1e\x53\xce\x8a\x8c\x85\x92\x83\x96\x19\xcb\x5b\x07\x0e\xd7\xf7\x95\xf9\x19\x15\xfc\x59\x78\x0a\xf7\xf0\x07\xf7\xb5\x5f\x05" -+"\xfc\x03\x78\x0a\xf8\x52\x07\x0e\x35\x1d\xf7\x37\x39\x1d\x45\xf7\x0a\x98\x0a\xf7\xb5\x07\xf6\xc3\xd1\xe1\xcd\xb5\x63\x4c\x1e\xfb" -+"\xff\xde\xf8\x20\x7d\x0a\xfb\x4d\xf7\x84\x38\x0a\x35\x1d\xf7\x47\xce\x42\x1d\x35\x1d\xdd\xfc\xdc\x23\x1d\xf7\xda\xf8\xa4\xf7\x6c" -+"\x15\xf7\x83\xc8\xfb\x60\x06\xe3\xf7\x2f\x05\xf7\x08\xc9\x3a\x06\xac\xc6\x61\xa3\x5c\x38\x05\xfb\x23\x5e\x1d\x65\x1f\x4b\x60\x69" -+"\x42\x2c\x1a\xfb\x08\xb8\x37\xdc\x69\x1e\x6a\x52\xb6\x74\xb1\xce\x05\x88\xa5\x97\x8a\xb5\x1b\xf7\xac\xc9\xfb\xb7\x06\x77\x85\x8b" -+"\x8c\x82\x1f\xaa\xf7\x2d\x15\x3a\xfb\x21\x57\x9d\x6c\xbe\x88\xd3\x19\xf7\xb6\xf7\x6c\x15\x33\xfb\x2f\x05\xfb\x5e\x06\x91\xf6\xc3" -+"\xbd\xf7\x01\x89\x08\x0e\xfb\x11\xf7\x31\xf7\x03\x15\x4f\x20\xbe\x6e\xd7\xf7\x1c\x05\xf7\xb8\xd1\xfb\x91\x06\xc4\xf1\x05\xf7\x58" -+"\xd1\xfb\x31\x06\xc6\xf4\x59\xa7\x3f\xfb\x19\x05\xfb\x98\x45\xf7\x71\x06\x52\x25\x05\xfb\x38\x45\x06\x0e\xfb\x42\xf7\xb3\x96\x0a" -+"\xfc\x31\xfb\x20\xf8\x31\x05\x2d\x06\xf7\x4c\xfc\xa0\x05\x0e\x2a\x1d\xfb\x2b\xf7\xa2\x6d\x0a\x2a\x1d\x6a\xf7\xaa\x15\x2a\x47\x0a" -+"\xc9\x16\x2a\x47\x0a\x0e\x2a\x1d\xf7\x1d\xf7\x83\x15\xfb\xa6\x45\xf7\xa6\x06\x0e\xf6\x63\x1d\x0e\xf6\x63\x1d\x38\xf8\x12\x21\x0a" -+"\xf7\xa9\x3d\x1d\x0e\xf7\xa9\x3d\x1d\x62\xf7\xd1\x21\x0a\xf7\xc5\xbd\x16\xfa\x04\xcd\xfd\xc2\xf9\xb8\x49\x06\x0e\x4c\x55\x0a\x2c" -+"\xf7\xec\x21\x1d\xfb\x5a\xf1\xf9\x32\x15\xac\xd5\x8b\x8b\xb1\x1b\xba\xb2\x79\x69\xa3\x1f\xad\x5c\xa0\x40\x42\x1a\x6d\x89\x73\x82" -+"\x50\x1e\xc0\x46\x70\x97\x55\x1b\x5a\x64\x7b\x69\x69\x1f\x5d\x5c\x6f\x48\x4a\x1a\xfb\x01\xde\x36\xf6\xd7\xc8\xb4\xd8\xb6\x1e\xb1" -+"\xcf\xa7\xf7\x16\xf3\x1a\xf7\x5c\xfb\x03\xf7\x25\xfb\x2d\x5e\x5c\x81\x79\x63\x1e\xf7\xbf\xfc\x36\x15\x7e\x33\x83\x6a\x7c\x5f\x08" -+"\x3d\x70\x5e\x5f\x54\x1b\x53\x6a\xbe\xe2\xf7\x08\xcd\xeb\xdc\xb5\xb0\x75\x62\xa5\x1f\x0e\xf8\x38\xf9\x0d\xf7\xc9\x15\x55\xe0\x51" -+"\x36\x5f\x63\xb7\xfb\x7e\x06\x6c\xa3\x79\xb5\x99\x96\x8c\x8f\xa0\x1e\xb5\x07\x88\x80\x85\x8a\x81\x1b\x74\x87\x8f\xa3\x1f\xf7\x68" -+"\xc1\x07\xf7\xfa\x5d\x15\xc8\x8a\x5f\xad\x3e\x1b\x3e\x58\x65\x52\x5b\xa6\x75\xdb\x79\x1f\xbb\x7f\x05\xac\x84\x98\x7e\x74\x1a\x6d" -+"\x6f\x78\x5f\x5a\x77\x9b\xb8\x84\x1e\x4e\x06\x44\x8e\xb6\x68\xe2\x1b\xde\xc1\xb2\xc6\xb9\x6f\xa5\x48\x9a\x1f\x5a\x96\x05\x62\x94" -+"\x7b\x98\xa1\x1a\xa9\xa3\x9c\xb5\xb3\x9f\x7b\x69\x8c\x1e\xfd\x66\xe1\x15\xc3\x06\xc5\xb7\xab\x1d\x3b\xd8\xfb\x24\x1e\xfb\x15\xfd" -+"\x6d\xe8\x97\x0a\xa1\x07\xe3\xc0\x5b\x3b\x3b\x56\x5b\x33\x1f\x0e\x71\xf7\xaa\x4f\x0a\xf7\x58\x06\xcc\x91\xb0\x98\xb4\xab\x08\xcd" -+"\xbd\xb0\xdd\xe9\x1a\xf7\x09\x52\xed\x2d\xb4\x1e\x9d\x64\x55\x95\x55\x1b\x7f\x87\x8b\x8a\x7b\x1f\xfc\x79\x07\x5a\x90\x71\x95\x73" -+"\xa3\x08\x68\xad\x76\xca\xd3\x1a\xbe\x95\xb7\x9e\xae\x1e\x98\xa4\x98\x97\xa8\x9b\x08\xde\x07\x50\x73\x6f\x77\x6a\x61\x08\x63\x58" -+"\x7a\x56\x44\x1a\x25\xaf\x35\xca\x5a\x1e\xb3\x6c\xb1\x7e\xd2\x84\x08\xdf\xf8\x79\x15\xec\x85\xc3\x43\xfb\x0b\x1a\x45\x79\x50\x69" -+"\x64\x1e\x72\x6f\x70\x7f\x5a\x86\x08\x0e\x9b\xf9\x03\x20\x0a\xfc\xc1\x41\xd6\xfc\x56\xdf\xf8\x56\xf7\x83\xfc\x56\xdf\xf8\x56\xd6" -+"\x06\x0e\xf7\xd6\xf7\x70\xfb\x30\x15\x3e\x36\xf7\x8f\x06\x8a\xe0\x05\x40\xf9\xab\xf7\xfe\xfd\xab\x45\x06\x8c\x36\x05\xf7\x84\xe0" -+"\x42\xf9\xab\xf0\xe0\xfd\x8f\x36\xf3\x06\x0e\xf7\xda\xf9\x93\xc9\x15\xfb\xb7\x06\xfb\x0d\x57\xc2\xf7\x16\xf7\x15\xbf\xc3\xf7\x0d" -+"\x1f\xf7\xb7\xc9\xfb\xac\x5e\x1d\x66\x1f\x4a\x60\x69\x43\x2b\x1a\xfb\x07\xb8\x37\xb0\x1d\x06\x0e\xf7\xda\xf7\x7d\xc9\x15\x4d\xf7" -+"\xac\x07\xde\xae\x92\xa4\xb1\x1f\xcc\xb6\xac\xd4\xee\x1a\xf7\x03\x5d\xe0\x3d\xac\x1e\x99\x69\x70\x8f\x46\x1b\xfb\xac\x4d\xf7\xb7" -+"\x06\xf7\x0d\xbf\x54\xfb\x16\xfb\x16\x57\x54\xfb\x0d\x1f\x0e\xb2\xf8\x2b\x20\x0a\x37\xfc\x66\x06\xfb\x02\x94\x61\xbd\x8f\xf7\x0b" -+"\x08\xf7\xb4\x37\xfb\xb7\x07\x83\xfb\x31\xd1\x3f\xf7\x3e\x78\x08\xfb\x5b\xdf\xf7\x5b\x07\xf7\x3e\x9e\xd1\xd7\x83\xf7\x31\x08\xf7" -+"\xb7\x37\xfb\xb4\x07\x8f\xfb\x0b\x61\x59\xfb\x02\x82\x08\x0e\xfc\x58\xf7\x32\x20\x1d\x2e\x26\x06\x3b\xac\x5c\xc7\x87\x1e\xb1\x07" -+"\x68\x90\x7d\xa6\x8c\xc5\x08\xbb\x06\x0e\xfb\xe9\x37\x0a\xd3\x39\x1d\xfb\x71\xf8\x44\xfa\x25\x15\xfb\x14\xfd\xa8\xfb\x55\xf8\x20" -+"\xfb\x28\x42\x9d\x6a\xe9\xb9\xf7\x85\xfc\x85\xf7\x2c\xfa\x44\x05\x0e\xfb\xe9\x37\x0a\xe8\xce\x42\x1d\xfb\xe9\x37\x0a\x3a\xfc\xdc" -+"\x23\x1d\x31\xf8\xb4\xf8\x0b\x15\xfc\x8c\xfb\xb5\xd1\xf7\x6f\xf8\x46\x06\x0e\x22\xc6\xfb\x6e\x15\xdf\x4d\x0a\xbb\x73\xce\x1b\xf7" -+"\x1d\xe4\xf7\x02\xf7\x3d\xf7\x42\x31\xf7\x01\xfb\x22\x41\x4a\x6d\x55\x60\x1f\x61\x57\x7e\x59\xfb\x02\x1a\xf7\x7e\xf7\x6f\x15\xe6" -+"\xc4\x3b\xfb\x14\xfb\x0c\x4f\x3c\x31\x30\x52\xd9\xf7\x11\xf7\x11\xc5\xda\xe7\x1f\x0e\xfb\x42\x31\x1d\x40\xf7\xfe\x21\x1d\xfb\x42" -+"\xf7\x88\x73\x15\xc7\x8f\xa9\x91\xa6\x97\x08\xc8\xa6\xb0\xc2\xca\x1a\xd9\x5f\xb6\x23\xa4\x1e\x51\x1d\xe3\x06\xf2\x8a\x47\xc5\x4c" -+"\x1d\x8d\xfb\x00\xc4\x51\xf7\x04\x80\x6c\x44\x18\x96\x85\x05\x90\x79\x0a\x7a\x91\xa2\x5d\x6f\x0a\x59\x82\x31\x0a\xfb\x42\x31\x1d" -+"\xfb\x28\xf7\xff\x37\x1d\xfb\x42\x31\x1d\xfb\x2d\xfc\x4a\x23\x1d\xfb\xd4\xf7\x46\x91\x0a\xf7\x60\xf7\x94\x99\x0a\x0e\x52\xf8\xda" -+"\x20\x0a\xfb\x4a\x06\x97\x5c\x74\x8e\x68\x1b\xfb\x25\x31\xfb\x00\xfb\x41\xfb\x45\xe3\x23\x3c\x1d\xe4\xf4\xf7\x40\xe3\x78\xc3\x5b" -+"\xbf\x1f\xf7\x07\x06\xfb\xb1\x97\x15\xea\xc2\x3f\xfb\x16\xfb\x11\x52\x3e\x2e\x2e\x52\xd8\xf7\x13\xa1\x0a\x1f\x0e\xf7\xef\xf8\x93" -+"\x6c\x0a\x5a\x04\xf7\x43\xf7\x21\xfb\x21\xfb\x43\xfb\x44\xfb\x21\xfb\x20\xfb\x45\xfb\x43\xfb\x1f\xf7\x22\xf7\x47\xf7\x3e\xf7\x23" -+"\xf7\x21\xf7\x41\x1f\xfb\x01\xfb\x37\x15\x70\x74\x74\x71\x6f\xa2\x74\xa6\xa6\xa2\xa2\xa6\xa6\x74\xa2\x70\x1f\xfb\x14\xfb\x00\x15" -+"\x92\x36\x96\x62\xa9\x5e\x08\x4c\xb5\xcb\x6b\xde\x1b\xd8\xc7\xa6\xc1\xb5\x1f\xaf\xba\x9a\xb8\x92\xe8\x80\x59\x80\x75\x71\x6d\x08" -+"\x54\x5b\x4f\x71\x3a\x1b\x3a\x4f\xa5\xc2\x5b\x1f\x71\xa9\x80\xa1\x80\xbd\x08\xf7\xee\xf7\x00\x15\x70\x74\x74\x71\x6f\xa2\x74\xa6" -+"\xa6\xa2\xa2\xa6\xa6\x74\xa2\x70\x1f\x0e\xfb\x23\xc7\x16\xf8\x77\xa2\x06\xfb\x35\x93\x3f\xe0\x8e\xf7\x3e\x08\x38\xb7\xb9\x6a\xd4" -+"\x1b\xd1\xc5\xc9\xd5\xcf\x71\xb4\x20\xec\x1f\xfb\x01\xf0\x78\xa6\x64\xf7\x09\x7b\x2f\x50\x35\x21\x35\x08\x3b\x48\x68\x53\x4b\x1a" -+"\x40\xc8\x4d\xd4\xb5\xb4\x9c\xa9\xab\x1e\x9e\x9d\x96\x9a\x9c\xb0\x91\xfb\x3b\x34\x2c\xfb\x33\x8a\x08\x0e\xf7\xd6\xf9\x63\xf9\x7e" -+"\x15\xfc\x80\x45\x06\xf7\x61\xfb\xf5\xfb\x61\xfc\x16\x05\x44\xf8\x87\xf7\x6b\x43\x07\x88\xfb\x23\x05\xfb\xe3\x06\xf7\x60\xf8\x16" -+"\xfb\x5f\xf7\xf1\x05\xf7\xdb\x06\x8f\xfb\x22\x05\xd2\x06\x0e\xf7\x87\xf7\x94\xf8\xa3\x15\x6b\x62\x7a\x63\x85\x58\x08\xfb\x10\x4f" -+"\xf7\x10\x06\x90\x5b\x9f\x5a\xa8\x67\x34\x34\x18\xb5\x62\xe2\xe2\xb5\x6b\xb7\x79\xb9\x86\x19\xfb\x0f\xc6\xf7\x0f\x07\xba\x90\xba" -+"\x9e\xb3\xaa\xe2\x34\x18\xb4\xb4\x34\xe2\xa9\xb1\x9e\xb8\x91\xbd\x19\xf7\x0f\xc7\xfb\x0f\x06\x85\xbc\x78\xb9\x6d\xb0\xe2\xe2\x18" -+"\x62\xb4\x34\x34\x66\xa9\x5c\x9e\x59\x91\x19\xf7\x0f\x50\xfb\x0e\x07\x5b\x85\x5e\x78\x64\x6c\x34\xe2\x18\x61\x62\x05\xf7\xb9\x50" -+"\x15\xf0\xdf\x36\x26\x24\x37\x37\x24\x23\x39\xde\xf4\xf2\xde\xdd\xf4\x1f\x0e\xfb\xab\xf7\x2f\x16\xdf\xf8\x56\xf7\x42\xd5\xfc\x43" -+"\x41\xf7\x41\x06\x0e\xfc\x20\xf7\x92\xc1\x15\x88\x7f\x80\x8a\x7a\x1b\x67\x81\x95\xb0\x1f\xf7\x73\xd7\xc0\x3f\xde\xe1\xcf\x35\xf7" -+"\x24\x38\xfb\x24\x44\x47\xd2\x38\x4e\x56\xc8\xfb\x98\x07\x55\xaf\x6e\xcc\xa1\x9d\x8d\x90\xa7\x1e\x0e\xfb\xf9\x4b\x1d\x6a\xf7\xed" -+"\x15\x27\xc2\x07\x54\x8d\x78\x6c\x65\x1b\x65\x07\xc7\x89\xb2\xba\x8c\xd7\x08\xf2\x07\x0e\xfc\x20\xf7\x39\x75\x15\x8a\x93\x90\x8b" -+"\x94\x1b\xa0\x9d\x8d\x90\xa7\x1f\xd1\x07\x88\x7f\x80\x8a\x7a\x1b\x67\x81\x95\xb0\x1f\xf7\xfb\xe1\xcf\xbc\x1d\xfc\x20\x07\x69\x9a" -+"\x71\xa9\x7e\x1e\x67\x3c\x97\x85\x05\x90\x4d\x1d\xaf\xc4\xa2\x0a\x83\x31\x0a\xf7\xaa\xf9\x7c\x15\x41\x4f\x6c\x54\x65\x1f\x60\x4a" -+"\x7c\x3e\xfb\x2c\x1a\xfb\x27\x99\x3e\xb0\x4a\x1e\x4c\xaf\xca\x68\xd7\x1b\xe0\xc7\xab\xcd\xb1\x1f\xb0\xcb\x99\xd9\xf7\x25\x1a\xf7" -+"\x2e\x7c\xd7\x60\xcd\x1e\xc3\x65\x4f\xa9\x41\x1b\xfb\x25\xfb\xdd\x15\x8f\xf3\x91\xaf\xa2\xb9\x08\xb6\xa0\xb3\xa2\xbf\x1b\xbf\xb2" -+"\x74\x60\xa1\x1f\xa1\x5d\x92\x67\x8f\x23\x08\x8a\x48\x15\x8a\x2d\x87\x5b\x82\x67\x08\x3e\x78\x5d\x63\x48\x1b\x4c\x60\xae\xcd\x75" -+"\x1f\x7f\xb2\x86\xbc\x8a\xf5\x08\x0e\xfb\xe9\xf7\x12\xf9\x9f\x21\x0a\x26\x1d\xfb\xab\xf9\x70\x6d\x0a\x26\x1d\xfb\x38\xf9\x78\x39" -+"\x0a\x26\x1d\x8f\xf9\x51\x28\x1d\xfb\x0e\xf8\xd4\xfb\x47\x15\xfc\xec\x59\xf8\xec\x06\xf7\x2a\x04\xfc\xec\x59\xf8\xec\x06\x0e\xfc" -+"\x20\x0e\xfb\xe9\xa8\x1d\x4c\x3e\x0a\x2d\x4f\x23\x1d\xfc\x20\x4b\x1d\xfb\x23\xfc\x98\x23\x1d\xfb\xe9\xf7\xc2\xf9\x51\x28\x1d\xfc" -+"\x20\x46\x0a\x85\x7f\x16\xf9\x47\x06\xfb\xbd\xf9\x6d\x05\x27\x06\xbe\xfb\x05\x15\xf7\x67\xfc\xaa\x05\xfc\x3b\x06\x0e\xd5\xa7\x16" -+"\xf7\xb4\xdd\x06\x4e\xaf\x6e\xa4\x6f\xb1\x08\x63\xc1\x75\xd8\xdd\x1a\xf7\x37\xe7\xf1\xf7\x27\xf7\x26\xe7\x25\xfb\x37\x39\x75\x3e" -+"\x63\x55\x1e\x6f\x65\x6e\x72\x4e\x67\x08\x39\xf7\xb4\xdd\xfb\x55\x07\xc8\xaf\xa6\xa2\xa7\xb2\x08\xb4\xc3\xa0\xd4\xe1\x1a\xe5\x74" -+"\xd8\x60\xc3\x1e\xd8\x4e\x29\xb9\x20\x1b\x2e\x34\x68\x4c\x4d\x1f\x50\x50\x6d\x37\x22\x1a\x35\xa0\x42\xb4\x53\x1e\xa7\x64\xa6\x74" -+"\xc8\x67\x08\xfb\x55\x06\x0e\x29\xf8\x31\xf8\xa0\x15\xfb\xaf\x07\x43\x81\x65\x6e\x6a\x1e\x6d\x71\x65\x79\x64\x1b\x4a\x61\xb3\xca" -+"\x1f\xf8\x07\x37\xfd\x7a\xde\xf7\x6a\x07\x7f\xa4\xaa\x84\xac\x1b\xd4\xbc\xa7\xcf\xbb\x1f\x42\xd6\xf8\xa0\x07\x0e\xfb\x54\xf8\x37" -+"\xfb\x6e\x15\xaf\xea\x98\xba\xa9\x1a\xa3\x81\xa2\x7b\x9a\x1e\x73\xa1\x87\x8d\x36\xa8\x5e\x9b\x18\x48\xa3\x71\x98\x75\xa0\x08\x68" -+"\xab\x76\xc1\xc2\x1a\xf1\xcd\xd7\xe4\xb6\xb3\x78\x6c\xa2\x1e\x99\x79\x91\x7a\x8f\x6a\x08\xe3\x06\x86\xc2\x80\xa8\x70\xad\x08\xbc" -+"\x63\x4c\xa7\x44\x1b\x49\x4e\x72\x60\x60\x1f\x5f\x5d\x6e\x40\x45\x1a\x47\xa5\x43\xb4\x5f\x1e\xa8\x6b\xaf\x76\xc8\x76\xf7\x05\x65" -+"\x18\xae\x7f\x99\x7d\x75\x1a\x76\x7f\x65\x67\x2c\x1e\x0e\x84\x24\x0a\xf7\x28\xf9\xed\x22\x0a\xb8\x43\x0a\xf7\xa4\xf7\x66\x22\x0a" -+"\x64\x1d\xfb\x07\x3f\x1d\xf7\x2d\xf7\x6c\x22\x0a\xfb\x1c\xf7\x43\xf8\x32\x15\xf7\x7d\xf7\xfc\xdd\xfc\x5a\xfb\xcf\x5d\x39\xb9\xfb" -+"\xe0\xe9\xf7\xe0\xf7\x94\xdd\x07\x0e\xfb\xb1\xf7\x2e\xf7\xd7\x15\xf7\x13\xf7\x7d\xd5\xfb\xd1\xfb\x5d\x68\x41\xae\xfb\x8d\xdf\xf7" -+"\x8d\xf7\x2b\x07\x8c\xd5\x05\x0e\xf7\xef\xf8\x4d\x16\xe9\xf7\xed\xf7\x06\x49\x0a\xbf\xfb\x26\xe8\xf7\x78\x2b\x8d\x0a\xfb\x48\xfb" -+"\xc2\x05\xfb\x03\xf7\xc2\x2d\xfb\xc2\xfb\x03\x06\xfb\x48\xf7\xc2\x05\x22\x06\xf7\x63\xfb\xed\xfb\x8f\xfc\x14\x05\xf4\x06\xf7\x74" -+"\xf7\xed\x05\xf7\x03\x06\x0e\xf7\x25\xf7\xf3\x16\xdf\xf7\x8d\xf2\x06\xf7\x28\xfb\x8d\x05\xbb\xfb\x31\xdf\xf7\x7c\x3e\x06\xfb\x10" -+"\xf7\x67\xf7\x10\xba\x1d\x24\xf7\x5d\x37\xfb\x5d\x24\x06\x21\xf7\x5d\x05\x2a\x06\xf7\x10\xfb\x82\xfb\x3b\xfb\xb2\x05\xed\x06\xf7" -+"\x28\xf7\x8d\x05\xf2\x06\x0e\x45\xf7\xc8\x74\x15\xc1\xbc\x97\xa1\xaf\x1f\xc8\xb0\xb3\xd8\xdc\x1a\xe9\x5a\xcb\x37\x9b\x1e\xad\x96" -+"\x9c\x95\x9c\xa0\x08\xa6\xab\x9b\xb8\xb8\x1a\xf7\x06\x2e\xde\xfb\x13\xfb\x1a\x32\x32\xfb\x1a\x1e\x7a\xe9\xad\x07\xd5\xc0\xbd\xd8" -+"\xd6\xbd\x5a\x43\x41\x54\x5b\x37\x1e\x6a\x3a\xb3\x06\xba\xa5\x85\x7a\xa5\x1f\xaf\x74\x9e\x64\x58\x1a\x33\x55\x57\x2f\x2d\x4f\xc5" -+"\xe5\x1e\x9c\x2d\x07\x87\xfb\x19\xdf\x28\xf7\x16\x7e\x6b\x44\x18\x96\x85\x05\x90\x98\x92\x8d\x96\x44\x0a\x79\x91\xa2\x5e\x87\x1d" -+"\xfb\x6c\xf7\x86\x74\x15\xf1\x91\xd1\xcf\xe9\x1a\xc6\x6f\xb5\x50\xa6\x1e\xbe\xa7\xa4\xb2\xbd\x1a\xdf\x41\xcc\x2a\x51\x59\x75\x65" -+"\x6b\x1e\x76\x71\x7a\x5d\x6b\x1a\x74\xe2\xa2\x07\xbd\xb1\xb0\xbf\xbd\xae\x69\x5c\x7a\x85\x7a\x81\x81\x1e\x79\x79\x6a\x7e\x72\x1b" -+"\x68\x41\xae\x06\xc9\xb4\x67\x55\x54\x66\x6a\x4d\x4b\x69\xaa\xc4\x1f\xa1\x34\x75\x07\x2d\xc8\x4d\xed\x83\x1e\x6c\x45\x97\x84\x05" -+"\x91\x97\x92\x7a\x1d\x83\x31\x0a\x83\xdb\x16\xe9\xf7\xed\xd4\x49\x0a\xc5\xfb\x3a\xe9\xf7\x8c\x25\x8d\x0a\xfb\x47\xfb\xc2\x05\x43" -+"\xf7\xc2\x2d\x06\x0e\xfb\x1b\xd2\x16\xdf\xf7\x8d\xf2\x06\xf7\x28\xfb\x8d\x05\xbb\x5f\x1d\x3e\x06\xfb\x10\xf7\x68\xf7\x10\xf7\x82" -+"\x05\x2a\x06\x21\x56\x1d\x37\x06\x0e\x53\xf7\x76\xf8\x3f\x15\x57\xf7\xc2\x2d\xfd\x6d\xe9\xf7\xed\xbf\xfb\x4b\xc7\xf7\x4b\x8d\x06" -+"\xf7\x74\x81\x0a\xf7\x4c\x4f\x07\x0e\xfb\x3d\xf7\x61\xf7\xd7\x15\x59\xf7\x5d\x30\x1d\xf7\x8d\xbd\xfb\x14\xc1\xf7\x14\x06\xf7\x27" -+"\x50\x1d\x22\xfb\x5d\x05\xf7\x14\x55\x07\x0e\x30\xf7\x31\xf8\x3f\x15\x8c\xf7\xc2\x05\xfc\x04\x39\xf7\xa5\xfd\x1b\x86\x1d\x0e\xfb" -+"\x80\xb0\xf8\x56\x15\xfc\x56\xdf\xf7\x8d\xf2\x07\xf7\x28\x50\x1d\x21\x56\x1d\xfb\xb9\x41\x06\x0e\xbb\xf8\xb8\x4e\x0a\xc3\xa5\x1d" -+"\x87\x0a\xfb\x10\xd2\x16\xdf\xf7\x83\xf7\x85\xfb\x83\xad\x5f\x1d\x69\xf8\x56\x37\xfb\x67\xfb\x85\xf7\x67\x37\x06\x0e\xbb\xf8\x1a" -+"\x74\x15\xf7\x3d\x8f\xeb\xec\xa1\xf7\x50\x08\x2b\x06\x83\x59\x81\x69\x7c\x6e\x45\x0a\xf7\x4a\xf7\x4f\xe2\xf7\x07\xf7\x22\xc6\x73" -+"\x1d\xb9\x6b\xba\x7c\xcc\x87\x6c\x45\x18\x50\x0a\x97\x92\x83\x1d\xae\xc5\x9b\x1d\x0e\xfb\x42\xf7\xab\x74\x15\xf7\x07\x91\xd7\xd8" -+"\x92\xf7\x0c\x08\x37\x06\x37\x84\x0a\xf7\x17\x72\x0a\xfb\x33\xd9\x24\xf7\x16\x7e\x1f\x6c\x45\x50\x0a\x96\x93\x7a\x1d\x82\x85\x8b" -+"\x89\x7f\x1f\x0e\x8b\xf8\x17\x55\x1d\xfb\x6a\xf7\xf7\x05\xfb\x07\x06\xf7\xac\xa0\x0a\xe9\x07\x0e\xfb\x42\xf8\x1b\xf8\xa0\x15\xfb" -+"\x20\x89\x0a\xfb\x6e\xdf\xf7\x6e\x07\xf7\x4f\xf8\xa0\x05\x0e\x8b\xf8\x17\xf7\x72\x15\xcb\x07\xf7\xa6\xf8\x4f\x05\xfb\x03\x06\xfb" -+"\x64\xfb\xf7\xfb\x6b\xf7\xf7\x05\xfb\x06\x06\xf7\xac\xfc\x4f\x05\x4b\xfb\x2f\x37\xf7\x2f\xfb\x1e\xe9\xf7\x1e\xf7\x28\xdf\x07\x0e" -+"\xfb\x42\xf7\xb9\x89\x15\x8d\x07\xf7\x4f\xf8\xa0\x05\x31\x06\xfb\x1f\x89\x0a\x89\xfb\x0d\x52\xf7\x0d\xfb\x33\xdf\xf7\x33\xf7\x0b" -+"\xc4\x07\x0e\xae\xf8\x19\x61\x0a\xca\xfb\x3a\xe9\xf7\x8c\x28\x06\x0e\xfb\x27\xf7\xb9\x67\x0a\xb9\xfb\x33\xdf\xf7\x7d\x38\x06\x0e" -+"\xa0\xf8\x9d\x16\xc3\xa5\x1d\x7d\x1d\xfb\x3a\xf7\xf5\x16\xad\x5f\x1d\x69\xf8\x56\x75\x1d\xa0\xf8\x04\xf7\x8f\x15\xc4\x90\xbb\x93" -+"\xbb\x98\x08\xfb\xa9\xe9\xf9\x6d\x2d\xfc\x06\x07\x4f\x7b\x60\x83\x59\x88\x08\xf7\x75\x4f\xfb\x75\x07\x23\x91\x59\xae\x8c\xcd\x08" -+"\xf7\xb6\x2d\xfb\xbb\x07\x8c\xfb\x08\xe5\x48\xf7\x30\x89\x08\xfb\x21\xc7\x07\x0e\xfb\x3a\xf7\xa6\xf7\x43\x15\xaa\x90\xa1\x92\xa9" -+"\x97\x08\xfb\x5b\xdf\xf8\xa0\x37\xfb\x94\x07\x6e\x82\x73\x85\x6d\x88\x08\xf7\x0d\x55\xfb\x0e\x07\x56\x8f\x6e\xa7\xbc\x1a\xf7\x56" -+"\x37\xfb\x69\x07\x87\x36\xcb\x55\xf5\x8a\x08\x31\xc1\x07\x0e\xa0\xf7\x2f\x20\x1d\x2d\xfd\x6d\xe9\xf8\x06\x06\x9f\xd6\xbc\x93\xc6" -+"\x1b\xf7\x0e\xc8\x67\x43\x1f\xfb\xb6\xe9\xf7\xbb\x07\xf7\x09\x2d\xcf\xfb\x36\x4b\x45\x81\x79\x45\x1e\x0e\x20\xdd\x16\xdf\xf7\xed" -+"\x06\xd2\xb9\xc2\xb2\x57\x1d\xfb\xfa\xdf\xf7\xfa\x4a\x0a\x57\x6e\x47\x52\x1e\xf7\xba\x37\x07\x0e\xfc\x20\xf7\x4e\x2c\x1d\x0e\x84" -+"\xf8\x8f\xdd\x15\x53\xfb\x8c\xe9\xf7\x3a\xc3\xf9\x6d\x6b\x1d\xcc\xd0\x95\x9d\xd1\x1e\x0e\xfb\x2d\xf7\xfc\xd6\x15\x52\xfb\x7c\xdf" -+"\xf7\x31\xc4\xf8\xa0\x37\xfb\x93\x06\x7d\x5f\x66\x85\x64\x1b\x4a\x69\xa7\xc1\x1f\xf7\x55\x37\xfb\x68\xae\x1d\xc7\x1b\xba\xb5\x94" -+"\x9e\xb9\x1f\x0e\xf3\xb2\xf8\x24\x15\x89\x7a\x8b\x81\x7d\x1a\xfb\x79\xf7\x21\xfb\x2e\xf7\x67\xf7\x67\xf7\x21\xf7\x2d\xf7\x79\xf7" -+"\x79\xfb\x21\xf7\x2e\xfb\x67\xfb\x30\xfb\x02\x40\xfb\x27\x50\x1e\xe7\x79\x05\xf2\xb6\xdc\xc2\xf7\x01\x1b\xe2\xd8\x63\x48\xb6\x1f" -+"\xa6\x61\x9b\x5d\x92\x4b\x08\x38\x04\xfb\x37\x79\x2b\x2b\xfb\x23\x1b\xfb\x23\x2b\xec\xf7\x36\x79\x1f\x0e\xb8\x43\x0a\xf8\x45\xf6" -+"\x28\x1d\xfb\x07\x3f\x1d\xf7\xd8\xf7\x10\x15\xfb\xa6\x45\xf7\xa6\x06\x0e\xf3\xf8\x18\xf9\x79\x15\xfb\x66\xfb\x21\xfb\x2e\xfb\x79" -+"\x9d\x0a\xe4\xd9\xa6\xbd\xc6\x1f\xda\xce\xba\xf7\x05\xf7\x0c\xb4\x1d\xf7\x96\xfc\x3c\x15\xfb\x37\x79\x2b\x2b\xfb\x23\x1b\xfb\x23" -+"\x2b\xec\xf7\x36\x79\x1f\xde\x04\xf7\x36\x9d\xeb\xec\xf7\x23\x1b\xf7\x23\xeb\x2b\xfb\x37\x9d\x1f\x0e\xf7\xa9\xf8\xaf\x15\xfb\x28" -+"\x33\x22\xfb\x44\xfb\x45\xe3\x23\xf7\x29\xf7\x28\xe4\xf4\xf7\x40\xf7\x4a\x35\xf2\xfb\x2c\x1f\xf7\x29\xfb\xd2\x15\x20\x80\x56\x4f" -+"\x37\x1b\x37\x56\xc7\xf6\x80\x1f\xd5\x04\xf6\x96\xc0\xc7\xdf\x1b\xdf\xc0\x4f\x20\x96\x1f\x0e\x64\xf8\x68\xfa\x01\x8f\x0a\xfb\xda" -+"\xfd\xbb\x15\xe3\x06\xbf\xb5\xaa\xc8\xa6\x1f\xf7\xa9\xf9\x11\x05\xfb\x02\x06\xfb\x50\xfc\x62\xfb\x5b\xf8\x62\x05\xfb\x04\x06\xf7" -+"\x9d\xfc\xd1\x73\x4e\x7d\x80\x5b\x89\x19\x53\x06\x0e\xfb\x42\xf8\x11\xf9\x26\x8f\x0a\x94\x4b\x15\xfb\x24\xfc\x2c\xfb\x1b\x48\x1d" -+"\xfc\xa0\x6b\x36\x05\x64\x7d\x79\x7d\x69\x1b\x7c\x7e\x8d\x91\x7a\x1f\x3e\x07\x83\x9c\x9c\x88\xa0\x1b\xa7\xa7\x94\x9b\xa2\x1f\xa4" -+"\x9e\x9a\xa1\x9b\xb5\xf7\x7e\xf9\x0e\x18\x0e\xfb\xe9\xf8\x66\xfa\x1d\x9c\x0a\xf7\x86\xb0\x89\x15\xf7\x69\xaf\x8f\xa5\xc8\x1f\xf7" -+"\x05\xbd\xdf\xf7\x33\xf7\x37\x1a\xe1\x70\xd6\x5f\xad\x1e\xa4\x6c\x5e\x97\x50\x1b\xfb\x08\x38\x6b\x4d\x5e\x1f\x71\x67\x81\x64\x89" -+"\x42\xcc\xab\x18\x97\x07\xc1\x9c\xb1\xad\xa2\x1e\x9c\x96\x95\x8e\xb9\x94\x42\xfc\x1f\x18\x7c\x45\x73\x61\x6e\x81\x08\x77\x06\xd3" -+"\x8a\x15\xc8\xbc\x9a\xac\xa1\xf7\x0f\xc2\xf7\xd2\x18\x92\x06\x90\x06\x9e\x06\xa9\x97\x88\x7f\x9e\x1f\xb3\x72\xa1\x51\x3a\x1a\x20" -+"\x73\x34\x5c\x4c\x1e\x64\x59\x58\x6e\x54\x88\x08\xf7\x7b\xfb\x7d\x15\xce\x06\xad\xf7\x52\x05\x7d\xaa\x97\x88\x9e\x1b\xf7\x06\xee" -+"\xf7\x29\xf7\x42\xec\x64\xbd\x3e\x5c\x63\x77\x66\x6d\x1f\x69\x61\x79\x55\x75\xfb\x0b\x08\xb9\xfb\x00\x15\xae\xf7\x54\x05\xe1\x9b" -+"\xad\xbc\xb7\x1b\xb2\xa0\x63\x41\xfb\x20\x56\xfb\x02\x47\x71\x77\x95\xa1\x79\x1f\x0e\xe9\xf8\xaf\xdd\x15\xf7\x17\xd6\xc8\xf0\xf7" -+"\x1f\x1a\xf3\x65\xe1\x3e\xcf\x1e\xc4\x4a\x3e\xa8\x31\x1b\x31\x3e\x6e\x52\x4a\x1f\x3e\x47\x65\x35\x23\x1a\xfb\x1f\xc8\x26\xf7\x17" -+"\x40\x1e\xfb\x5d\x39\xf7\xc1\xd9\x06\x57\xa7\x72\x9d\x6f\xa7\x08\x4d\xc9\x6b\xdb\xe7\x1a\xdc\xa3\xc9\xc1\xc3\x1e\xbf\xbd\xbf\xa1" -+"\xd5\x1b\xd5\xbf\x75\x57\xbd\x1f\xc1\x53\xa3\x4d\x3a\x1a\x35\x6f\x40\x55\x4e\x1e\x6c\x6a\x6f\x76\x51\x6b\x08\x3d\xf7\xc1\xdd\x07" -+"\x0e\xfc\x20\xf7\xe1\x2f\x1d\x0e\xfc\x20\x46\x0a\xf7\xda\xf8\xa9\xf8\x95\x15\x49\x06\xfb\x74\xfc\x95\x05\xdb\x06\xf7\x45\xf8\x2d" -+"\xf7\x45\xfc\x2d\x05\xdb\x06\x0e\xf7\xda\xf8\xa9\x16\xf7\x74\xf8\x95\x05\x3b\x06\xfb\x45\xfc\x2d\xfb\x45\xf8\x2d\x05\x3b\x06\xf7" -+"\x74\xfc\x95\x05\x0e\xf7\xda\xf8\x8c\xf9\x60\x15\xfb\x60\xfb\x34\xfb\x33\xfb\x5e\xfb\x5b\xf7\x34\xfb\x33\xf7\x5d\xf7\x5b\xf7\x34" -+"\xf7\x34\xf7\x5c\xf7\x59\xfb\x35\xf7\x36\xfb\x57\x1f\xa4\x52\x15\xf7\x23\x7e\xf7\x06\xfb\x06\x99\xfb\x25\x08\xfb\xa3\x06\xf7\xa4" -+"\x52\x15\x82\xfb\x22\xfb\x0d\xfb\x0f\xfb\x22\x80\x08\xf7\xa8\x07\x53\xfb\xa8\x15\xfb\x27\x99\xfb\x05\xf7\x05\x7d\xf7\x29\x08\xf7" -+"\xa6\x06\xfb\xa6\xc4\x15\x99\xf7\x24\xf7\x07\xf7\x06\xf7\x25\x99\x08\xfb\xa4\x07\x0e\x45\xb6\x16\xf8\x9b\xf8\x9b\xfc\x9b\x06\xf8" -+"\x67\xfc\x67\x15\xfc\x33\xf8\x33\xf8\x33\x06\x0e\xb8\xf8\xeb\xf8\xf7\x15\x45\xfb\xa4\x06\xfb\x05\x86\x5f\x7b\x6b\x1e\x56\x70\x50" -+"\x67\x4c\x1b\x54\x54\xa7\xb7\x6e\x1f\x73\xb0\x84\xb7\xf7\x11\x1a\xf7\xa4\x45\xfb\xa1\x07\xfb\x29\x90\x65\xa6\x5f\x1e\x45\xb5\xd7" -+"\x62\xe5\x1b\xde\xd1\xac\xc9\xb8\x1f\xaf\xbc\x91\xaf\xf7\x36\x1a\x0e\x3a\xf8\x27\xf8\x1c\x15\xfb\x69\x06\x41\xf7\x4d\x05\x2d\x06" -+"\xf7\x7d\xfc\xd5\x05\xde\x06\xf7\x7d\xf8\xd5\x05\x2d\x06\x22\xfb\x9d\x15\x3f\xfb\x48\x40\xf7\x48\x05\x0e\xf8\x76\xf8\xa0\x15\x38" -+"\xfb\xbd\x06\x20\x53\x45\x34\x49\x61\xb3\xca\x1e\xf8\x07\x38\xfc\x28\x07\x34\xcc\x53\xf1\xd8\xbc\xa6\xd0\xbc\x1e\x42\xa1\x07\x49" -+"\x69\x6d\x69\x60\x1a\x52\xc0\x67\xde\x97\x92\x8c\x90\x9f\x1e\x8d\x8c\x90\x8c\x91\x8c\x08\xb8\x07\x83\x76\x7f\x89\x7b\x1b\x63\x71" -+"\x9f\xab\xb2\xa9\xb6\xb9\xa5\x1f\x0e\xfb\x13\x34\x0a\x0e\xfb\x13\x34\x0a\xeb\xf7\x53\x22\x1d\xfb\x13\x34\x0a\xdf\xf7\xe3\x40\x0a" -+"\xfb\x13\x34\x0a\xdf\xf7\x93\x21\x0a\x26\x1d\xfb\x19\xf9\x86\x27\x0a\x0e\x26\x1d\x69\xf9\x61\x5d\x0a\xbb\x2c\x0a\x30\x41\x1d\xbb" -+"\x2c\x0a\xfb\x2b\xf9\x79\x37\x1d\xbb\x2c\x0a\xfb\x1f\x3a\x0a\xbb\x2c\x0a\xfb\x16\xf9\x78\x3d\x0a\xfb\x76\xba\xf9\x23\x15\xf4\x06" -+"\x56\x6c\x70\x60\x54\x1a\x63\x9c\x63\xa8\x70\x1e\x9e\x7a\x9a\x83\xac\x81\x08\x20\x6b\x5b\x52\x2b\x1a\x48\xa6\x50\xb9\x6a\x1e\xaa" -+"\x74\xad\x81\xc8\x87\xc5\x87\x18\xd5\x86\x9a\x82\x65\x1a\x6b\x80\x65\x65\x2c\x1e\xe1\x06\xaf\xeb\x97\xb7\xb8\x1a\xd0\x69\xa7\x29" -+"\x94\x1e\x52\x90\x4b\x91\x76\x90\x75\x99\x19\x6f\x9d\x78\xb3\xb4\x1a\xc1\xaa\xbb\xbc\x9f\x1e\x9a\xb0\xb4\x91\xcc\x1b\xbe\xd5\x5b" -+"\x06\xfb\x0a\x4a\xb4\xd6\xb2\xa2\xb3\xad\x9f\x1f\x9a\xa5\xab\x91\xc0\x1b\xe4\xd5\xfc\x07\x06\x0e\xfb\x42\x2b\x0a\xfb\xa7\xf7\x6d" -+"\x2b\x1d\xfb\x42\x2b\x0a\xfb\x9e\xf7\x6c\x22\x0a\xfb\x42\x3e\x1d\xfb\x38\xf7\xb6\x15\x2a\xfb\x28\x05\xc7\xb6\x1d\x0e\xfb\x42\x3e" -+"\x1d\xfb\x20\xf7\x9e\x24\x1d\xfb\x7d\xe0\xf9\x23\x15\xf7\x74\x06\x5c\x6f\x67\x6c\x61\x5d\x08\x2c\x23\x5a\xfb\x07\xfb\x09\x1a\x31" -+"\xad\x47\xc8\x6f\x1e\xa6\x7e\xaf\x83\xbc\x87\xb7\x87\x18\xca\x85\x99\x82\x66\x1a\x69\x88\x81\x5d\xfb\x0d\x1e\xe0\x06\xb7\xf7\x0b" -+"\x90\x9d\xbb\x1a\xce\x69\xa7\x2c\x95\x1e\x5d\x90\x41\x92\x85\x8d\x76\x97\x19\x6b\x9e\x79\xb8\xc7\x1a\xe7\xb5\xee\xda\xea\x1e\xbd" -+"\xc7\xbf\xb5\xda\xb8\x08\xd5\xfb\xec\x07\x0e\x74\xa2\xf8\xa0\x9a\xf7\x52\x97\x6b\x99\x06\xdc\x0a\xe8\x0b\xb6\x8e\x92\x8f\x8f\x92" -+"\x90\x90\x8e\x95\x95\x8e\x0c\x0c\xb4\x97\x91\x8f\x90\x93\x8e\x8f\x90\x90\x95\xcc\x0c\x0d\xf8\xc0\x14\xf9\x36\x15\xbe\x13\x00\x83" -+"\x02\x00\x01\x00\x05\x00\x08\x00\x14\x00\x19\x00\x1e\x00\x23\x00\x27\x00\x4d\x00\x52\x00\x81\x00\xb4\x00\xeb\x01\x16\x01\x32\x01" -+"\x3e\x01\x4b\x01\x55\x01\x5b\x01\xbd\x02\x12\x02\x52\x02\x57\x02\x6f\x02\x73\x02\x7f\x02\x87\x02\x8b\x02\x8f\x02\x9b\x02\xa7\x02" -+"\xb3\x02\xb9\x02\xcc\x02\xf3\x03\x07\x03\x1a\x03\x25\x03\x32\x03\x38\x03\x43\x03\x4c\x03\x53\x03\x5a\x03\x61\x03\x66\x03\x6c\x03" -+"\x72\x03\x77\x03\x7c\x04\x07\x04\x0c\x04\x70\x04\x9c\x04\xf7\x04\xfc\x05\x01\x05\x17\x05\x5c\x05\x92\x05\xcd\x05\xe4\x05\xe9\x06" -+"\x1e\x06\x3d\x06\x42\x06\x6f\x06\x87\x06\xb2\x06\xb5\x06\xbf\x06\xe9\x07\x13\x07\x1f\x07\x2b\x07\x35\x07\x5b\x07\x80\x07\x8e\x07" -+"\x96\x07\xa7\x07\xb8\x07\xbe\x07\xc5\x07\xdc\x07\xfb\x08\x0c\x08\x10\x08\x16\x08\x32\x08\x39\x08\x44\x08\x52\x08\x69\x08\x77\x08" -+"\x7c\x08\x93\x08\xaa\x08\xc0\x08\xd5\x08\xe8\x08\xf3\x09\x03\x09\x11\x09\x20\x09\x25\x09\x34\x09\x42\x09\x49\x09\x55\x09\x62\x09" -+"\x6f\x09\x77\x09\x83\x09\x88\x09\x94\x09\xa0\x09\xa7\x09\xad\x09\xb8\x09\xbf\x09\xc5\x09\xcf\x09\xd9\x09\xe3\x09\xeb\x09\xf4\x09" -+"\xfd\x0a\x06\x0a\x0c\x0a\x12\x0a\x17\xf8\xa0\x15\x0b\xa6\x1d\x0e\x15\xfb\x05\x06\xf7\x29\xfb\x28\x05\xc7\x06\x0e\xf8\x6e\x69\x0a" -+"\x0b\xf7\x4b\x8f\x1d\x0b\xf8\x19\x52\x0a\x0b\x15\x2a\xac\x1d\x15\x5b\x63\x64\x5b\x5a\xb2\x64\xbc\xbb\xb3\xb2\xbb\xbc\x64\xb2\x5a" -+"\x1f\x5f\x04\xa4\x9e\x78\x72\x74\x77\x77\x73\x73\x77\x9f\xa2\xa3\x9f\x9f\xa3\x1f\x0b\xf8\x17\x80\x1d\x0b\xf8\xe8\xf8\x97\x15\xbd" -+"\x88\x99\x7b\xad\x1e\xdf\x63\x36\xb7\xfb\x0f\x4a\x1d\x8c\x48\x98\x5f\xa8\x63\x08\x46\xbd\xdf\x68\xf7\x03\x1b\xe2\xd2\x9f\xaf\xba" -+"\x1f\xbc\xb2\xaa\xcc\xca\x85\x1d\x0b\xf9\x2a\xf8\x8b\x15\x93\x1d\xfb\x0c\xb0\x24\xcf\x44\x1e\x51\xc4\xd3\x70\xea\x1b\xf7\x46\xef" -+"\xeb\xf7\x55\xa1\x1f\x2b\x06\x83\x59\x81\x69\x7c\x6e\x45\x0a\xf7\x4a\xf7\x4f\xe2\xf7\x07\xf7\x22\xc6\xaa\x1d\x0b\xf8\x18\x20\x0a" -+"\xfb\x25\xfc\x2c\xfb\x1a\x48\x1d\xfc\xa2\x6b\x38\x05\x66\x7d\x79\x7d\x68\x1b\x7d\x7f\x8d\x8f\x79\x1f\x40\x07\x82\x9c\x9c\x87\xa1" -+"\x1b\xa6\xa8\x94\x9b\xa1\x1f\xa5\x9e\x9a\xa1\x9b\xb5\xf7\x7d\xf9\x0e\x18\x0b\xf8\xbe\x16\xf7\x2e\xf8\xa0\x05\x2d\x06\x23\xfc\x2c" -+"\x24\xf8\x2c\x05\x25\x06\x27\xfc\x2c\x20\xf8\x2c\x05\x2f\x06\xf7\x2c\xfc\xa0\x05\xe9\x06\xf0\xf8\x2f\xf5\xfc\x2f\x05\x0b\xf8\xd9" -+"\x20\x1d\xfc\xa1\x39\xf8\x2e\x06\xfc\x4a\xfc\xc9\x05\x39\xf8\xbf\xdd\xfc\x4a\x07\xf8\x48\xf8\xc7\x05\x0b\xb9\x1d\x3b\xeb\x05\x4b" -+"\x06\xec\xfb\x2a\x05\x0e\x64\x90\x78\x9a\x77\x08\x66\xa5\xb8\x77\xc4\x1b\x0b\xf7\x56\x20\x1d\x2d\xfd\x6d\xe9\x06\x0b\x85\x8b\x89" -+"\x7e\x1f\x0e\x15\x3f\x07\xca\x61\x5d\xa7\x49\x1b\xfb\x13\x33\xfb\x0a\xfb\x3c\x33\xa0\x4b\xb8\x56\x1f\x5d\xb2\xbd\x72\xc1\x1b\xca" -+"\xb8\xa7\xcd\xb7\x1f\x70\x07\xfb\x20\x64\x57\x23\x44\x66\xa7\xc7\x83\x1e\x36\x06\x2a\x93\xd8\x4e\xf7\x06\x1b\xd8\xcb\xa4\xb5\xad" -+"\x1f\xb3\xbc\x9a\xcc\xf7\x0f\x1a\xf8\x4a\x07\xfb\x73\x4d\x15\xe3\xbd\x41\xfb\x19\xfb\x13\x58\x41\x34\x35\x59\xd6\xf7\x15\xf7\x14" -+"\xbd\xd7\xe1\x1f\x0e\xf7\x4e\xf7\xce\x15\xf7\x84\x06\xde\xb0\x63\x31\x1f\x8a\x4a\x05\x5e\x93\x5f\x98\x6d\x1e\xf7\x05\xa2\x06\x68" -+"\xa3\x84\xa5\x89\xec\x8a\xf7\x0c\x78\xaf\x3c\xad\x08\xdd\xb4\xac\xbc\xdf\x1a\xf7\x12\x3d\xd0\xfb\x24\x1e\xfb\xe4\xfd\x6d\xe8\x06" -+"\xf8\x20\x04\xf7\x8f\xf7\x75\x07\xbf\xa9\x83\x77\xa2\x1f\xa4\x76\x98\x6a\x60\x1a\x34\x5f\x64\x28\x1e\x0b\xcc\x20\x0a\xfb\xe7\x07" -+"\x39\x96\x66\xab\x6b\x1e\x66\xaf\xc6\x77\xd2\x1b\xd4\xc6\xa0\xb1\xaf\x1f\xaa\xac\x94\xae\xdc\x1a\xf7\xe7\x37\xfb\xe7\x07\x50\x83" -+"\x72\x70\x77\x1e\x7a\x75\x6a\x81\x69\x1b\x69\x6a\x95\x9c\x74\x1f\x71\x9e\x82\xa5\xc6\x1a\xf7\xe7\x07\x0b\xf8\xa0\x58\x0a\x0b\x15" -+"\x72\x83\x80\x73\x0a\x98\x88\x81\xa4\x1f\x75\xc5\x93\x89\x9e\x1b\xbc\xa9\xae\xd0\x95\x1f\x0e\xd0\x7e\x1d\x0b\xaf\x1d\x93\x07\xc1" -+"\xb1\xbe\xd1\x1f\xf2\x07\x0e\x15\x76\x0a\xc8\x16\x76\x0a\x0e\xf9\x5f\x22\x1d\xfa\x3f\x21\x1d\x15\xeb\xf7\x2a\x05\x4a\x06\x3c\x2b" -+"\x3b\x54\x1d\x15\xfb\x04\x06\xf7\x28\xfb\x28\x05\xc8\x06\x0e\xf7\xf6\xf9\x1b\x15\xbf\x1d\xfd\x1b\xe8\x06\x0b\xbf\xb9\xe4\x92\x1f" -+"\x0b\xa6\x1d\xe7\xfb\x2b\x15\x2f\x24\xe7\x06\xfb\x42\xf2\x15\x2f\x24\xe7\x06\x0e\xf8\xbc\x20\x1d\xfc\x94\x07\x29\x44\x4f\xfb\x08" -+"\xfb\x08\x44\xc7\xed\x1e\x5a\x1d\xfb\x26\xf7\x02\x2d\xf7\x3e\xf7\x3e\xf7\x02\xe9\xf7\x26\x1e\xf8\x94\x07\x0b\x66\x49\x80\x1f\xc4" -+"\x06\xa2\x92\x97\x98\x99\xa7\x1d\xbd\xa9\xae\xd0\x95\x1f\x0e\xd8\x16\xe9\xde\x06\xf8\x0d\xb1\x1d\xfc\x0d\xfc\x40\x05\xf8\x92\x2d" -+"\x07\x0b\x1b\xa8\x9c\x7d\x74\x71\x74\x78\x6c\x71\x0b\x08\x4f\x6d\x4d\x69\x3d\x1b\xfb\x25\x2f\xf7\x08\x0b\xf7\x6a\xf7\xdf\x24\x1d" -+"\xfb\x2a\x05\xc7\x06\xf7\x29\xf7\x2a\x05\x0b\x06\xa6\xf7\x1a\x05\xf7\x03\x07\x0b\x06\xf7\x75\xfb\xed\x05\x0b\x07\xf1\x49\xd3\x2e" -+"\x49\x0b\xdf\xf8\x56\xf7\x7d\xd5\x0b\xf9\x1b\x2d\x06\x0e\xf7\xa5\x06\x55\xb7\x0b\xf7\xe0\x15\xfb\xe0\x0b\xfb\x6e\x15\xdf\x0b\x97" -+"\x85\x05\x90\x0b\xf9\x83\xf7\x33\x15\x46\x73\x89\x1d\xe0\x69\x3b\xc0\x2a\x1b\x43\x4a\x6d\x57\x67\x1f\xc2\x6c\x50\xa6\x36\x1b\x40" -+"\x4d\x75\x64\x68\x1f\x73\x9b\x0a\x92\xb1\xa8\xd8\x1b\xd8\xb4\x70\x58\x1f\x75\x07\x8a\x62\x7b\x80\x45\x84\x37\x84\x58\x81\x6a\x7d" -+"\x08\x4e\x71\x6c\x5d\x47\x1a\x2d\xcd\x4e\xf1\xd9\xca\xab\xd9\xd6\x1e\x92\x7f\x8f\x84\x90\x83\x08\x57\xae\xcd\x6c\xd8\x1b\xf7\x0a" -+"\xde\xcf\xf7\x06\xa1\x1f\xfc\x5a\x89\x15\x78\x78\x70\x6d\x74\x1e\x72\x6a\x66\x7e\x62\x1b\x4d\x65\xab\xbf\xc2\xaf\xa6\xe5\x98\x1f" -+"\xe4\x98\x9c\x8f\xa7\x97\x08\xdb\xb7\x5c\x1d\x4a\x2c\x1f\x0b\xf9\x79\x69\x1d\x0b\xa9\x9e\x15\xb2\x67\xd8\xdf\x05\x4e\xcd\xd9\x6e" -+"\xec\x1b\xf7\x66\xf7\x22\xf7\x2d\xf7\x78\xf2\x6d\xe8\x55\xcf\x1f\xe4\xec\x63\xaf\x34\x2c\x05\xc1\x4d\x3e\xa6\x30\x1b\xfb\x66\xfb" -+"\x22\xfb\x2d\xfb\x78\x2a\xa4\x36\xbe\x45\x1f\xca\xcf\x15\x6c\xc0\x7c\xc8\xd1\x1a\xf7\x47\xf3\xf7\x0c\xf7\x2f\xcc\xc5\x76\x60\xbb" -+"\x1e\xae\x62\x15\xae\x55\x9d\x48\x40\x1a\xfb\x47\x23\xfb\x0c\xfb\x2f\x44\x4e\xa4\xbc\x5a\x1e\x0b\xda\x74\x1d\xe8\xfb\xce\x15\xf7" -+"\x7c\xf7\x48\x07\xbf\xa8\x84\x78\xa4\x1f\xa5\x77\x99\x6d\x63\x1a\x63\x7d\x6d\xbb\x1d\xfb\x48\xfb\xe1\x15\xf7\x8f\xf7\x77\x07\xdd" -+"\xbc\x5c\xc1\x1d\xf8\xa5\xf8\x93\x15\x6b\xa7\x51\x4a\x05\xb8\x5e\x57\x9f\x46\x1b\xfb\x29\x33\x23\xfb\x45\x3d\x9a\x50\xac\x5a\x1f" -+"\x49\x41\xab\x6f\xc8\xd0\x05\x62\xb3\xc2\x76\xcf\x1b\xf7\x28\xe3\xf4\xf7\x44\xd7\x7d\xc3\x6d\xbd\x1f\x4e\x46\x15\x97\x6b\x91\x66" -+"\x5f\x1a\xfb\x13\x52\x3e\x2e\x61\x68\x9b\xab\x6e\x1e\x74\xb2\x15\x7d\xad\x84\xaf\xba\x1a\xa1\x0a\xb7\xb3\x78\x6a\xa5\x1e\x0b\xfc" -+"\x79\x66\x1d\x0b\xf8\x70\x67\x1d\x0b\x15\x34\xdd\x06\xae\x9e\x9d\xb2\x92\x8e\x8b\x8a\x9e\x1e\x46\x1d\xde\xf8\x5c\xe2\x07\x0b\xe4" -+"\xf7\xe7\x15\xfb\xe7\xf7\xae\x07\xf7\x4c\xf7\x04\xf7\x1e\xf7\x77\xf7\x76\xfb\x04\xf7\x1e\xfb\x4c\x1f\xfb\xae\xfb\xd7\x46\x48\x06" -+"\xf7\x36\x16\xf7\x3f\xce\xfb\x3f\xf7\x85\xf7\x41\x06\xd1\xc4\x72\x5b\xb0\x1f\xb1\x5a\x9c\x4a\x2c\x1a\xfb\x4e\x3f\x2a\xfb\x23\x1e" -+"\xfb\x41\x06\x0e\xf8\x83\x20\x1d\x38\xfb\xa3\x06\xc0\x68\x53\xa7\x45\x1b\xfb\x1c\x32\xfb\x01\xfb\x3b\xfb\x45\xe1\xfb\x01\xf7\x22" -+"\xd3\xbd\xa6\xcc\xb8\x1f\x46\xd5\x07\xfb\x7a\xf8\x61\x15\xe5\xc4\x3c\xfb\x12\xfb\x0d\x8e\x0a\xe6\x1f\x0b\x15\xfb\x79\x06\x97\xb1" -+"\x9d\x9e\xb6\xa2\xca\xab\x18\xca\xab\xac\xb7\xc0\x1a\xd5\x4f\xbf\x35\x28\x5a\x5a\x24\x88\x1e\xc9\x06\x8d\xaa\x8e\x9b\x93\x98\x08" -+"\xa3\x99\xa7\x9a\xab\x1b\xbc\xaf\x6b\x60\x6c\x77\x70\x64\x76\x1f\x51\x6c\x2b\x58\x0b\x1e\xe1\x69\x3b\x5d\x1d\xfb\x41\xfb\x41\xe5" -+"\x22\xf7\x28\xf7\x0c\xde\xcf\xf7\x06\xa0\x1f\x0b\x98\x1d\x6d\x42\x0a\xf8\x68\xf7\x6a\x15\xfb\x6a\xf8\x76\xdd\xfc\x19\xf7\x8e\xf7" -+"\xf4\xdd\xfb\xf4\xf7\x7d\xf8\x07\xdd\xfd\x02\x07\xfb\xbf\xfd\x6d\x05\xf2\x06\xe0\xf7\x6a\x05\xf7\xa1\xdd\x15\xfb\x82\x06\xf7\x1e" -+"\xf7\xf3\x05\xef\x06\x0b\xd1\x98\x0a\xf7\xb5\x07\xca\x98\xb2\xa9\xab\x1e\xa7\xa6\xae\x9a\xb0\x1b\xcc\xb5\x63\x4c\x1f\xfc\xd9\xdf" -+"\xf8\xfa\x7d\x0a\x0b\xf7\xe1\x63\x0a\x0b\xf8\x0a\x15\xf7\x8a\xf7\xf7\x05\xfb\x03\x06\xfb\x50\xfb\xb2\xfb\x4f\xf7\xb2\x05\xfb\x05" -+"\x06\xf7\x86\xfb\xf7\xfb\x96\xfc\x0a\x05\xf7\x05\x06\xf7\x5c\xf7\xc4\xf7\x5b\xfb\xc4\x05\x0b\xf7\xd3\x07\xf7\x23\xdd\xd8\xf7\x19" -+"\xd3\x73\xc2\x5c\xb0\x1f\xac\x63\x5d\x98\x41\x1b\xfb\x6f\x0b\x20\x1d\xfc\x95\x07\x51\x85\x6a\x7a\x72\x1e\x6f\x79\x69\x7a\x66\x1b" -+"\x45\x64\xba\xe0\x1f\xba\x2c\x4b\x07\xfb\x0a\xd9\x40\xf7\x11\xf7\x13\xda\xda\xf7\x12\x1e\xf8\xb7\x07\x0b\x66\x0a\x0e\x9e\x0a\x8d" -+"\xcf\x5c\x1d\x49\x2d\x1f\x0b\xf7\x40\xf7\x93\x15\xf7\x0b\xf7\x0b\xf7\x95\xfc\x0a\x05\xf7\x02\x06\xfb\xc0\xf8\x44\xf7\xbd\xf7\xbd" -+"\x05\xfb\x0c\x06\xfb\xff\xfc\x05\x05\xf8\x05\x2e\xfd\x6d\xe8\x07\x0b\xf7\xa1\x15\xf7\x46\xf7\x93\x05\x2b\x06\xfb\x14\xfb\x52\xfb" -+"\x10\xf7\x52\x05\x26\x06\xf7\x48\xfb\x93\xfb\x48\xfb\xa1\x05\xe5\x06\xf7\x1b\xf7\x5d\xf7\x14\xfb\x5d\x05\x0b\xf7\x66\x06\xe7\x59" -+"\x1d\x2f\x1f\xfb\x66\x06\x0b\xf7\x6f\x15\xd6\xfb\x6f\x05\xf3\x06\x82\x1d\x0b\x74\x0a\xf7\x61\x04\x38\x22\xde\x06\x0e\xf7\x21\xf9" -+"\x6d\x15\x38\xfd\x6d\xde\xf7\x60\x06\xdc\xdb\xf7\x45\xfb\xb0\x05\xf2\x06\xfb\x6a\xf7\xeb\xf7\x4a\xf7\x49\x05\x20\x06\xfb\x72\xfb" -+"\x72\x05\x0b\xf9\x6e\x15\xfb\x5b\xfb\x3a\xfb\x38\xfb\x57\xfb\x63\xf7\x35\xfb\x38\xf7\x5d\xf7\x61\xf7\x37\xf7\x36\xf7\x5f\xf7\x5e" -+"\xfb\x37\xf7\x37\xfb\x5e\x1f\x0b\x15\x8c\x2f\x0a\xe7\xbf\xb9\xe4\x93\x1f\x50\x8a\x0a\x0e\x97\x1d\x51\x06\x61\x86\xad\x1d\x1f\x82" -+"\x8f\x76\x63\x05\x6f\xc9\xa3\x95\x0a\xaf\xc4\xb6\x6e\xa3\x0b\xb0\x16\xdf\xf7\x8d\xf2\x06\xf7\x28\x50\x1d\x21\x56\x1d\x37\x06\x0b" -+"\x75\x0a\x6d\xa1\xb7\x0b\xb8\x1d\xdf\x06\x96\x1d\x0b\x53\x1d\x61\x84\x8d\x76\x1b\x5f\x6c\x66\x49\x80\x1f\xc5\x06\xa2\x91\x97\x98" -+"\x9a\x1b\x96\x0b\x15\xfc\xec\x07\x57\x7b\x7a\x57\x85\x88\x8b\x8c\x80\x1e\x44\x07\x89\x95\x90\x8a\x98\x1b\xe9\xbc\xb0\xd3\x1f\xf9" -+"\x0d\x07\x0b\x15\x8c\x2f\x0a\xe8\x3f\x0a\x50\x06\x61\x86\x6b\x73\x55\x1b\x52\x0b\x2b\x47\x0a\x0b\x07\xf7\x7a\x4c\x8e\x1d\x07\x93" -+"\x79\x7a\x8e\x79\x1b\x4a\x52\x55\x4e\x65\xa6\x74\xb7\xba\xb9\xa3\xb3\xa7\x1f\xa0\xa8\x93\xa9\xbc\x1a\x0b\x97\x92\x8d\x97\x44\x0a" -+"\x0b\x5d\x98\x41\x1b\xfb\x6f\x39\x15\x68\x0a\x0e\x20\x1d\x38\xfb\xe6\x06\xa0\xfb\x73\x05\xb3\xa9\x1d\x0b\x15\x23\xc7\x79\x07\x46" -+"\x7e\x77\x5c\x89\x1e\x65\x07\xcd\x89\xb2\xbb\xe0\x1a\xf7\x0c\x07\x0e\x07\xe2\x4a\xc3\x26\x3d\x59\x6d\x42\x5d\x1e\xe3\x07\x0b\xf7" -+"\x77\x82\x0a\x0b\x15\xfb\x2e\xf7\x0d\x05\x38\x07\xf7\x00\x38\xfb\x00\x38\x05\x38\x07\xf7\x2e\xf7\x0e\x05\x0b\xfb\xd8\x06\x89\x4b" -+"\x69\x57\x5b\x81\x08\x41\x07\xf4\x90\xcc\xe0\x89\xf7\x13\x08\xf7\x7d\x0b\xfb\xed\x05\xf3\x06\xfb\x90\xf8\x14\xf7\x61\xf7\xed\x05" -+"\x23\x06\xfb\x47\xfb\xc2\x05\x0b\x15\xf7\x2c\xfb\x0d\x05\xde\x07\x21\xde\xf5\xde\x05\xde\x07\xfb\x2c\xfb\x0e\x05\x0b\x15\xa9\xa4" -+"\x72\x6d\x6d\x72\x72\x6d\x6d\x72\xa4\xaa\xa8\xa5\xa4\xa8\x1f\x0b\x7d\x60\x61\x44\x1b\x2f\x54\xd6\xf7\x10\x0b\x15\xf7\x3a\xf7\x38" -+"\x07\xc0\xaa\x6d\x56\x56\x6c\x6d\x56\x1f\x0e\x4d\x0a\xbc\x73\xcf\x1b\xf7\x1c\xe3\xf7\x01\xf7\x3b\x0b\x2d\xfb\xcf\xfc\x0a\xf7\xcf" -+"\x2e\xfd\x6d\xe9\xf7\xe0\x07\x0e\xf8\xa0\x8b\x0a\x0b\xfc\x2c\xfb\x20\xf8\x2c\x05\x32\x06\xf7\x4f\xfc\xa0\x05\x0b\x06\x61\x86\x6a" -+"\x73\x56\x1b\x52\x6c\xa1\xb7\x86\x1f\x0b\x9a\x0a\x37\x22\xdf\x06\x0b\xfa\x7d\xf7\xcc\x15\xfe\x86\x43\xfa\x86\x06\x0e\x06\xfb\x5a" -+"\xf7\xc2\xf7\x61\xf7\xed\x05\x23\x06\x0b\x51\x3b\x33\x2f\x4e\xdc\xf7\x0e\xf7\x0e\xc8\xdc\x0b\x15\xfb\xa6\x45\xf7\xa6\x06\x0b\x06" -+"\x65\xfb\x67\x05\xd7\x06\xb2\xf7\x67\x05\x0b\xf9\x35\x99\x0a\x0b\xf7\x7d\xf8\x20\xdd\xfc\x7d\xfd\x6d\xe8\x06\x0b\xe0\x49\xce\x37" -+"\x1f\x4f\x04\xbe\xb3\x63\x58\x0b\x2d\xfd\x1b\xfc\x0a\x4c\x0a\x85\xb2\x1b\xd7\xba\x0b\x16\xf7\x5d\xf8\xa0\x05\x2d\x06\xfb\x28\x0b" -+"\x06\xf8\x1b\x04\xf7\x94\x0b\x20\x0a\xfc\xa0\xdf\x0b\x15\x41\x06\x55\xfb\x94\x05\xc4\x06\x0b\x15\x38\xfc\xa0\xde\x06\xf9\x6d\x04" -+"\x0b\x70\x81\x6d\x89\x57\x08\xdf\x06\xcb\x0b\x15\xfc\xec\x59\xf8\xec\x06\x0e\xfb\x79\xf7\x21\xfb\x2d\xf7\x67\x0b\x1f\x77\xa9\x84" -+"\xa9\x8a\xbf\x08\x0b\xdf\xf7\xdd\x07\xd7\xc2\xc8\xcf\x0b\xfc\x4f\x05\xfb\xb2\x0b\xf7\x13\xc4\xd8\xe8\x0b\xb6\x6e\xa3\x58\x0b", 33151 -+}; -diff -up texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/fonts/StandardSymbolsPS.cff.cpp.301 texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/fonts/StandardSymbolsPS.cff.cpp ---- texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/fonts/StandardSymbolsPS.cff.cpp.301 2023-01-17 15:53:51.712205404 -0500 -+++ texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/fonts/StandardSymbolsPS.cff.cpp 2023-01-17 15:53:51.712205404 -0500 -@@ -0,0 +1,511 @@ -+#include "Base14Fonts.hpp" -+ -+extern const MemoryFontData StandardSymbolsPS_cff = { -+"\x01\x00\x04\x02\x00\x01\x01\x01\x12\x53\x74\x61\x6e\x64\x61\x72\x64\x53\x79\x6d\x62\x6f\x6c\x73\x50\x53\x00\x01\x01\x01\x3b\xf8" -+"\xad\x00\xf8\xae\x01\xf8\xaf\x0c\x00\xf8\xb0\x02\xf8\xb0\x03\xf8\x18\x04\xfb\x79\x0c\x03\xb9\x0c\x04\xfb\x48\xfb\xb9\xfa\xd6\xfa" -+"\x86\x05\x1d\x00\x4c\x9e\x9b\x0d\x1c\x06\x86\x0f\x1c\x06\xf9\x10\x1c\x07\x03\x11\xbb\x1c\x3b\xbc\x12\x00\x96\x02\x00\x01\x00\x0a" -+"\x00\x15\x00\x1d\x00\x29\x00\x32\x00\x37\x00\x3b\x00\x3e\x00\x43\x00\x4a\x00\x4d\x00\x52\x00\x55\x00\x59\x00\x5f\x00\x64\x00\x6a" -+"\x00\x6c\x00\x6e\x00\x75\x00\x77\x00\x7c\x00\x7f\x00\x84\x00\x87\x00\x8e\x00\x94\x00\x99\x00\x9b\x00\x9e\x00\xa2\x00\xab\x00\xb8" -+"\x00\xc1\x00\xc6\x00\xca\x00\xcd\x00\xd2\x00\xd9\x00\xdc\x00\xe1\x00\xe4\x00\xe8\x00\xec\x00\xf1\x00\xf7\x00\xf9\x01\x00\x01\x02" -+"\x01\x07\x01\x0a\x01\x0f\x01\x12\x01\x19\x01\x1f\x01\x24\x01\x26\x01\x29\x01\x2d\x01\x34\x01\x39\x01\x3d\x01\x45\x01\x4b\x01\x54" -+"\x01\x5c\x01\x60\x01\x67\x01\x6c\x01\x71\x01\x7a\x01\x83\x01\x8a\x01\x94\x01\x9d\x01\xa3\x01\xaf\x01\xbb\x01\xc6\x01\xce\x01\xd9" -+"\x01\xe4\x01\xef\x01\xfb\x02\x09\x02\x0e\x02\x16\x02\x1e\x02\x29\x02\x37\x02\x41\x02\x49\x02\x55\x02\x5a\x02\x68\x02\x76\x02\x7f" -+"\x02\x8b\x02\x97\x02\x9e\x02\xa8\x02\xad\x02\xb5\x02\xc2\x02\xd0\x02\xde\x02\xe5\x02\xec\x02\xf3\x02\xfd\x03\x06\x03\x12\x03\x1e" -+"\x03\x28\x03\x35\x03\x41\x03\x48\x03\x51\x03\x5d\x03\x6a\x03\x77\x03\x80\x03\x8b\x03\x96\x03\xa1\x03\xae\x03\xbb\x03\xc8\x03\xd3" -+"\x03\xdf\x03\xea\x03\xf1\x03\xfb\x04\x03\x04\x0d\x04\x17\x04\x21\x04\x2d\x04\x39\x04\x45\x04\x53\x04\x61\x04\x6f\x04\x7b\x04\x88" -+"\x04\x94\x04\x98\x04\xbb\x04\xe8\x04\xfb\x75\x6e\x69\x76\x65\x72\x73\x61\x6c\x65\x78\x69\x73\x74\x65\x6e\x74\x69\x61\x6c\x73\x75" -+"\x63\x68\x74\x68\x61\x74\x61\x73\x74\x65\x72\x69\x73\x6b\x6d\x61\x74\x68\x63\x6f\x6e\x67\x72\x75\x65\x6e\x74\x41\x6c\x70\x68\x61" -+"\x42\x65\x74\x61\x43\x68\x69\x44\x65\x6c\x74\x61\x45\x70\x73\x69\x6c\x6f\x6e\x50\x68\x69\x47\x61\x6d\x6d\x61\x45\x74\x61\x49\x6f" -+"\x74\x61\x74\x68\x65\x74\x61\x31\x4b\x61\x70\x70\x61\x4c\x61\x6d\x62\x64\x61\x4d\x75\x4e\x75\x4f\x6d\x69\x63\x72\x6f\x6e\x50\x69" -+"\x54\x68\x65\x74\x61\x52\x68\x6f\x53\x69\x67\x6d\x61\x54\x61\x75\x55\x70\x73\x69\x6c\x6f\x6e\x73\x69\x67\x6d\x61\x31\x4f\x6d\x65" -+"\x67\x61\x58\x69\x50\x73\x69\x5a\x65\x74\x61\x74\x68\x65\x72\x65\x66\x6f\x72\x65\x70\x65\x72\x70\x65\x6e\x64\x69\x63\x75\x6c\x61" -+"\x72\x72\x61\x64\x69\x63\x61\x6c\x65\x78\x61\x6c\x70\x68\x61\x62\x65\x74\x61\x63\x68\x69\x64\x65\x6c\x74\x61\x65\x70\x73\x69\x6c" -+"\x6f\x6e\x70\x68\x69\x67\x61\x6d\x6d\x61\x65\x74\x61\x69\x6f\x74\x61\x70\x68\x69\x31\x6b\x61\x70\x70\x61\x6c\x61\x6d\x62\x64\x61" -+"\x6e\x75\x6f\x6d\x69\x63\x72\x6f\x6e\x70\x69\x74\x68\x65\x74\x61\x72\x68\x6f\x73\x69\x67\x6d\x61\x74\x61\x75\x75\x70\x73\x69\x6c" -+"\x6f\x6e\x6f\x6d\x65\x67\x61\x31\x6f\x6d\x65\x67\x61\x78\x69\x70\x73\x69\x7a\x65\x74\x61\x73\x69\x6d\x69\x6c\x61\x72\x61\x70\x70" -+"\x6c\x65\x45\x75\x72\x6f\x55\x70\x73\x69\x6c\x6f\x6e\x31\x6d\x69\x6e\x75\x74\x65\x6c\x65\x73\x73\x65\x71\x75\x61\x6c\x69\x6e\x66" -+"\x69\x6e\x69\x74\x79\x63\x6c\x75\x62\x64\x69\x61\x6d\x6f\x6e\x64\x68\x65\x61\x72\x74\x73\x70\x61\x64\x65\x61\x72\x72\x6f\x77\x62" -+"\x6f\x74\x68\x61\x72\x72\x6f\x77\x6c\x65\x66\x74\x61\x72\x72\x6f\x77\x75\x70\x61\x72\x72\x6f\x77\x72\x69\x67\x68\x74\x61\x72\x72" -+"\x6f\x77\x64\x6f\x77\x6e\x73\x65\x63\x6f\x6e\x64\x67\x72\x65\x61\x74\x65\x72\x65\x71\x75\x61\x6c\x70\x72\x6f\x70\x6f\x72\x74\x69" -+"\x6f\x6e\x61\x6c\x70\x61\x72\x74\x69\x61\x6c\x64\x69\x66\x66\x6e\x6f\x74\x65\x71\x75\x61\x6c\x65\x71\x75\x69\x76\x61\x6c\x65\x6e" -+"\x63\x65\x61\x70\x70\x72\x6f\x78\x65\x71\x75\x61\x6c\x61\x72\x72\x6f\x77\x76\x65\x72\x74\x65\x78\x61\x72\x72\x6f\x77\x68\x6f\x72" -+"\x69\x7a\x65\x78\x63\x61\x72\x72\x69\x61\x67\x65\x72\x65\x74\x75\x72\x6e\x61\x6c\x65\x70\x68\x49\x66\x72\x61\x6b\x74\x75\x72\x52" -+"\x66\x72\x61\x6b\x74\x75\x72\x77\x65\x69\x65\x72\x73\x74\x72\x61\x73\x73\x63\x69\x72\x63\x6c\x65\x6d\x75\x6c\x74\x69\x70\x6c\x79" -+"\x63\x69\x72\x63\x6c\x65\x70\x6c\x75\x73\x65\x6d\x70\x74\x79\x73\x65\x74\x69\x6e\x74\x65\x72\x73\x65\x63\x74\x69\x6f\x6e\x75\x6e" -+"\x69\x6f\x6e\x70\x72\x6f\x70\x65\x72\x73\x75\x70\x65\x72\x73\x65\x74\x72\x65\x66\x6c\x65\x78\x73\x75\x70\x65\x72\x73\x65\x74\x6e" -+"\x6f\x74\x73\x75\x62\x73\x65\x74\x70\x72\x6f\x70\x65\x72\x73\x75\x62\x73\x65\x74\x72\x65\x66\x6c\x65\x78\x73\x75\x62\x73\x65\x74" -+"\x65\x6c\x65\x6d\x65\x6e\x74\x6e\x6f\x74\x65\x6c\x65\x6d\x65\x6e\x74\x61\x6e\x67\x6c\x65\x67\x72\x61\x64\x69\x65\x6e\x74\x72\x65" -+"\x67\x69\x73\x74\x65\x72\x73\x65\x72\x69\x66\x63\x6f\x70\x79\x72\x69\x67\x68\x74\x73\x65\x72\x69\x66\x74\x72\x61\x64\x65\x6d\x61" -+"\x72\x6b\x73\x65\x72\x69\x66\x70\x72\x6f\x64\x75\x63\x74\x72\x61\x64\x69\x63\x61\x6c\x64\x6f\x74\x6d\x61\x74\x68\x6c\x6f\x67\x69" -+"\x63\x61\x6c\x61\x6e\x64\x6c\x6f\x67\x69\x63\x61\x6c\x6f\x72\x61\x72\x72\x6f\x77\x64\x62\x6c\x62\x6f\x74\x68\x61\x72\x72\x6f\x77" -+"\x64\x62\x6c\x6c\x65\x66\x74\x61\x72\x72\x6f\x77\x64\x62\x6c\x75\x70\x61\x72\x72\x6f\x77\x64\x62\x6c\x72\x69\x67\x68\x74\x61\x72" -+"\x72\x6f\x77\x64\x62\x6c\x64\x6f\x77\x6e\x6c\x6f\x7a\x65\x6e\x67\x65\x61\x6e\x67\x6c\x65\x6c\x65\x66\x74\x72\x65\x67\x69\x73\x74" -+"\x65\x72\x73\x61\x6e\x73\x63\x6f\x70\x79\x72\x69\x67\x68\x74\x73\x61\x6e\x73\x74\x72\x61\x64\x65\x6d\x61\x72\x6b\x73\x61\x6e\x73" -+"\x73\x75\x6d\x6d\x61\x74\x69\x6f\x6e\x70\x61\x72\x65\x6e\x6c\x65\x66\x74\x74\x70\x70\x61\x72\x65\x6e\x6c\x65\x66\x74\x65\x78\x70" -+"\x61\x72\x65\x6e\x6c\x65\x66\x74\x62\x74\x62\x72\x61\x63\x6b\x65\x74\x6c\x65\x66\x74\x74\x70\x62\x72\x61\x63\x6b\x65\x74\x6c\x65" -+"\x66\x74\x65\x78\x62\x72\x61\x63\x6b\x65\x74\x6c\x65\x66\x74\x62\x74\x62\x72\x61\x63\x65\x6c\x65\x66\x74\x74\x70\x62\x72\x61\x63" -+"\x65\x6c\x65\x66\x74\x6d\x69\x64\x62\x72\x61\x63\x65\x6c\x65\x66\x74\x62\x74\x62\x72\x61\x63\x65\x65\x78\x61\x6e\x67\x6c\x65\x72" -+"\x69\x67\x68\x74\x69\x6e\x74\x65\x67\x72\x61\x6c\x69\x6e\x74\x65\x67\x72\x61\x6c\x74\x70\x69\x6e\x74\x65\x67\x72\x61\x6c\x65\x78" -+"\x69\x6e\x74\x65\x67\x72\x61\x6c\x62\x74\x70\x61\x72\x65\x6e\x72\x69\x67\x68\x74\x74\x70\x70\x61\x72\x65\x6e\x72\x69\x67\x68\x74" -+"\x65\x78\x70\x61\x72\x65\x6e\x72\x69\x67\x68\x74\x62\x74\x62\x72\x61\x63\x6b\x65\x74\x72\x69\x67\x68\x74\x74\x70\x62\x72\x61\x63" -+"\x6b\x65\x74\x72\x69\x67\x68\x74\x65\x78\x62\x72\x61\x63\x6b\x65\x74\x72\x69\x67\x68\x74\x62\x74\x62\x72\x61\x63\x65\x72\x69\x67" -+"\x68\x74\x74\x70\x62\x72\x61\x63\x65\x72\x69\x67\x68\x74\x6d\x69\x64\x62\x72\x61\x63\x65\x72\x69\x67\x68\x74\x62\x74\x32\x2e\x30" -+"\x30\x55\x52\x57\x20\x53\x6f\x66\x74\x77\x61\x72\x65\x2c\x20\x43\x6f\x70\x79\x72\x69\x67\x68\x74\x20\x32\x30\x31\x35\x20\x62\x79" -+"\x20\x55\x52\x57\x43\x6f\x70\x79\x72\x69\x67\x68\x74\x20\x55\x52\x57\x20\x53\x6f\x66\x74\x77\x61\x72\x65\x2c\x20\x43\x6f\x70\x79" -+"\x72\x69\x67\x68\x74\x20\x32\x30\x31\x35\x20\x62\x79\x20\x55\x52\x57\x53\x74\x61\x6e\x64\x61\x72\x64\x20\x53\x79\x6d\x62\x6f\x6c" -+"\x73\x20\x50\x53\x00\x00\x01\x00\x01\x01\x01\x87\x00\x00\x04\x00\x01\x88\x00\x00\x06\x01\x01\x89\x00\x00\x09\x01\x01\x8a\x00\x00" -+"\x0c\x01\x00\xa6\x00\x00\x0f\x11\x01\x8b\x1a\x00\x3c\x00\x01\xa6\x00\x00\x3e\x00\x01\xa7\x00\x00\x40\x00\x01\xa8\x0c\x00\x98\x00" -+"\x01\xb5\x0c\x00\x5c\x02\x01\xc2\x05\x00\x63\x00\x01\xc8\x00\x00\x65\x00\x01\xc9\x08\x00\xa1\x00\x00\x9c\x00\x01\xd2\x01\x00\xa8" -+"\x00\x01\xd4\x01\x00\x74\x00\x00\x9f\x00\x01\xd6\x02\x00\x79\x00\x01\xd9\x1a\x00\x97\x00\x01\xf4\x24\x01\x04\x20\x5e\x80\x00\xa0" -+"\x4f\xf1\x0d\x00\xbf\x02\x00\x01\x00\x04\x00\x07\x00\x2f\x00\x58\x00\xb8\x00\xd1\x01\x86\x02\x3b\x02\x8f\x02\xd5\x03\x1a\x04\x08" -+"\x04\x0e\x04\x15\x04\x1f\x04\x28\x04\x38\x04\x7a\x04\xb6\x05\x0d\x05\x72\x05\x93\x05\xe9\x06\x4a\x06\x6f\x06\xd7\x07\x39\x07\x4e" -+"\x07\x65\x07\x82\x07\x97\x07\x9c\x07\xfc\x08\x2e\x08\x69\x08\xd0\x09\x51\x09\x6b\x09\xab\x0a\x39\x0a\x54\x0a\x71\x0a\x80\x0b\x29" -+"\x0b\x97\x0b\xc4\x0b\xf3\x0c\x38\x0c\x3f\x0c\x65\x0c\x72\x0c\xcc\x0d\x09\x0d\x43\x0d\x8e\x0e\x06\x0e\x89\x0e\xd4\x0f\x67\x0f\xa0" -+"\x0f\xc0\x0f\xd5\x0f\xf5\x10\x07\x10\x13\x10\x20\x10\x9d\x11\x1b\x11\x92\x12\x09\x12\x93\x13\x0b\x13\x74\x13\xcd\x14\x13\x14\x77" -+"\x14\xe9\x15\x59\x15\xc6\x16\x1b\x16\x5c\x16\xd1\x17\x4c\x17\xb2\x17\xfd\x18\x52\x18\xc8\x19\x47\x19\xb2\x1a\x87\x1a\xfe\x1b\x89" -+"\x1b\xe5\x1b\xf1\x1c\x4c\x1c\x7a\x1d\x1e\x1d\x9c\x1e\x03\x1e\x09\x1e\x26\x1e\x35\x1e\x92\x1f\x1a\x1f\x9c\x1f\xaf\x1f\xf8\x20\x50" -+"\x20\xa8\x20\xdc\x21\x11\x21\x45\x21\x7b\x21\xa8\x21\xb6\x21\xc1\x21\xc9\x21\xf4\x22\x54\x22\xc6\x22\xdf\x23\x14\x23\x4a\x23\x67" -+"\x23\x83\x23\x96\x23\xa2\x23\xaf\x23\xc9\x24\x75\x25\x2c\x26\x2e\x26\xed\x27\x64\x27\xc7\x28\x2f\x28\x6c\x28\xab\x29\x08\x29\x6f" -+"\x29\xb9\x29\xc0\x29\xce\x2a\x04\x2a\x70\x2a\x84\x2a\xa1\x2b\x0b\x2b\x60\x2b\xf3\x2c\x32\x2c\x4d\x2c\x66\x2c\x75\x2c\x8d\x2c\xa4" -+"\x2d\x0d\x2d\x55\x2d\xaa\x2d\xf7\x2e\x47\x2e\x71\x2e\x8c\x2f\x18\x2f\x8d\x2f\xc6\x30\x03\x30\x31\x30\x3c\x30\x68\x30\x76\x30\x82" -+"\x30\x92\x30\xb2\x30\xe9\x31\x08\x31\x16\x31\x2e\x31\x99\x31\xd8\x31\xe3\x32\x23\x32\x53\x32\x60\x32\x8f\x32\xa0\x32\xae\x32\xbf" -+"\x32\xdd\x33\x16\x33\x37\xfc\x45\x0e\xfc\x45\x0e\xfb\xf2\xf7\x41\xf7\x4e\x15\xa2\x06\xaf\xf7\xf8\x05\x92\xcb\x8b\x8b\x99\x1a\xb4" -+"\x76\xa4\x68\x67\x78\x72\x5d\x7b\x8b\x8b\x91\x53\x1e\xbe\xfc\x4f\x15\x22\x0a\x0e\xa9\xf9\x3d\x20\x0a\x56\x06\x39\xfb\x56\x05\xfc" -+"\x0e\x06\x36\xf7\x56\x05\x57\x06\xf7\xc3\xfd\x35\x05\xc4\x06\xfb\x5c\xf8\x42\x15\xf7\xe2\x06\xfb\x36\xfc\x01\x05\x0e\xfb\x4b\xf8" -+"\x5e\xf7\x95\x15\x2d\x06\x9e\xf7\x16\x05\xed\xbf\x31\x06\xa7\xf7\x54\x05\x54\x06\x6f\xfb\x54\x05\xfb\x12\x06\xa7\xf7\x54\x05\x56" -+"\x06\x6e\xfb\x54\x05\xfb\x03\x55\xf0\x06\x7a\xfb\x14\x05\xfb\x01\x57\xf0\x06\x6c\xfb\x61\x05\xc3\x06\xa8\xf7\x61\x05\xf7\x12\x06" -+"\x6d\xfb\x61\x05\xc2\x06\xa9\xf7\x61\x05\xf1\x06\xfb\x16\xf7\x4a\x15\x78\xfb\x16\x05\xfb\x11\x06\x9d\xf7\x16\x05\x0e\xf8\x72\x20" -+"\x0a\xfc\x59\x58\xf8\x22\xfb\x89\xfb\xf5\x5a\xf7\xf5\xfb\xab\xfc\x22\x5a\xf8\x59\x06\x0e\xf7\x2a\xf7\x7b\x16\xf8\x37\xf9\x35\x05" -+"\x56\x06\x60\x72\x55\x70\x4d\x1b\x6d\x76\x92\xa3\x69\x1f\xa7\x61\x7b\x92\x6c\x1b\xfb\x01\xfb\x02\xfb\x0d\xfb\x0d\x3e\xbc\x58\xd6" -+"\xf7\x01\xeb\xf7\x09\xf7\x19\x99\x8a\x93\x87\x9b\x1f\x84\x9f\xa4\x87\xa5\x1b\xae\xa7\x93\x9e\xb2\x1f\xfc\x13\xfc\xef\x05\xf7\x4a" -+"\xf8\xe7\x15\x8f\x82\x8c\x84\x75\x1a\x4b\x79\x57\x66\x5e\x1e\x65\x6b\x63\x74\x68\x1b\x65\x73\xa1\xb0\xea\xe2\xf7\x26\xc4\x90\x8e" -+"\x8b\x8a\x90\x1f\x9d\x78\x92\x86\xb0\x7c\x08\xf7\xbf\xfb\x7f\x15\xfb\x07\xfb\x03\xfb\x0d\xfb\x11\x44\xbf\x59\xd4\xbf\xb6\xa0\xb7" -+"\xb1\x1f\xbd\xc4\xaa\xd6\xcb\x1a\xca\x5e\xb6\x47\x1e\x97\x67\x15\xb3\xa8\x6b\x60\x52\x6f\x47\x61\x5d\x1f\x6d\x70\x61\x78\x67\x1b" -+"\x69\x76\xa2\xb1\xf3\xe4\xf7\x16\xd3\x1f\x0e\xea\xf8\x84\xf8\x3e\x15\x77\x07\xb9\x88\x9d\x7e\x6c\x1a\x61\x63\x3c\x58\x50\x1e\x6a" -+"\xad\x4e\xeb\x68\xd4\xaf\x9c\xa1\x97\x9e\x99\x08\xbd\xaf\xa6\xb9\xbb\x1a\xd0\x53\xbe\x3f\x36\x42\x44\x38\x5f\x98\x58\xa3\x54\x1e" -+"\x47\x66\x7d\x83\x79\x7f\x08\x47\x5a\x6b\x55\x4a\x1a\x2b\xd2\x4c\xf6\xdc\xd1\xa9\xc8\xc7\x1e\x4f\xc0\xc6\x6c\xc8\x1b\xc6\xb6\xac" -+"\xdb\xb8\x1f\x7b\x98\x05\x64\x6e\x72\x7b\x6b\x1b\x56\x5b\xa8\xca\x55\x1f\xa4\xa9\xa1\xaa\xa1\xb0\x92\x96\x9c\xa9\xa7\xbb\x95\x9b" -+"\x93\x96\x93\x94\x9c\x9d\xa2\x95\xad\x90\x08\x9f\x07\xfc\x1a\x7e\x15\x74\xb9\x7b\xc3\xb0\x1a\xc2\xa8\xae\xb8\xba\xac\x67\x59\x4e" -+"\x67\x5e\x3c\x66\x1e\x48\x41\x15\xbc\x29\xb9\x42\xbf\x4b\x08\x61\x63\x5d\x75\x5b\x1b\x42\x50\xcb\xda\xcb\xb6\xc4\xd7\xae\x1f\x0e" -+"\xfb\x88\xbb\x91\x15\x7d\xad\xa4\x86\xb0\x1b\xd2\xc8\xa3\xbb\xbf\x1f\xc1\xbe\xab\xcf\xce\x1a\xf7\x1c\xfb\x11\xf7\x0e\xfb\x20\x75" -+"\x7a\x88\x83\x6c\x1e\x66\x07\x8c\x9d\x93\x8c\x96\x1b\xc7\xc5\x76\x68\xae\x1f\xaf\x67\x9c\x66\x93\x50\x08\xfb\x6e\x5b\xf7\x6e\x06" -+"\x83\x53\x7c\x6a\x6b\x67\x08\x65\x68\x50\x73\x4f\x1b\x73\x77\x8d\x92\x6e\x1f\x0e\xfb\xf2\xf7\xc0\xfb\x2f\x15\x69\xa2\x7b\x9a\x77" -+"\xa5\x08\x55\xd3\x6c\xf7\x10\xf7\x29\x1a\xf7\x1c\xa5\xf7\x0a\xb9\xd3\x1e\xa1\xae\x9e\x9e\xb5\xa8\x7e\x9c\x18\x5d\x73\x77\x7d\x71" -+"\x73\x08\x31\x38\x57\xfb\x1a\xfb\x27\x1a\xfb\x1d\xb8\xfb\x12\xdb\x37\x1e\xaa\x6a\xa3\x7a\xc1\x6e\x08\x0e\xfb\xf2\xb6\xfb\x40\x15" -+"\xb9\xa4\x9f\x98\xa5\xa3\x08\xe5\xde\xbf\xf7\x1b\xf7\x26\x1a\xf7\x1d\x5e\xf7\x12\x3b\xe0\x1e\x6b\xab\x74\x9d\x55\xa7\x7e\x7a\x18" -+"\xae\x73\x9a\x7d\x9f\x71\x08\xc1\x43\xaa\xfb\x10\xfb\x29\x1a\xfb\x1c\x71\xfb\x0a\x5d\x43\x1e\x74\x68\x77\x77\x63\x6f\x08\x0e\xfb" -+"\x4b\xf7\x33\xf8\x31\x15\x86\x91\x87\x90\x87\x8f\x08\xa5\x74\x7f\x93\x7d\x1b\x7a\x7c\x77\x76\x73\x98\x81\xb6\x82\x1f\xce\x7c\xa5" -+"\x80\x7c\x1a\x7d\x70\x7e\x5c\x80\x1e\x67\x83\x88\x8b\x83\x88\x08\x78\x83\x82\x80\x7a\x1a\x76\x9a\x77\x9c\x9b\x92\x90\xb7\xb2\x1e" -+"\x90\x91\x05\xa8\xa5\xa0\x9a\x99\x1b\x92\x8f\x83\x7d\x7a\x87\x7a\x82\x6d\x1f\x7c\x5b\x8b\x8b\x7e\x1a\x76\x9a\x7c\xa2\xa2\x9a\x99" -+"\xa1\x98\x8a\x8e\x7c\xb8\x1e\x81\xaa\x88\x9b\x9d\x1a\x99\x8f\x92\x92\x99\xa0\x7b\x6f\xa5\x1e\x90\x85\x99\x7c\x05\x71\xa2\x97\x83" -+"\x99\x1b\x9c\x9a\x9f\xa1\x9a\x83\x96\x7a\x92\x1f\x83\x8f\x88\x8c\x64\x93\x08\x5c\x96\x71\x98\x99\x1a\x9a\xa4\x96\xce\x9a\x1e\xb5" -+"\x94\x99\x96\xa1\x1a\xa1\x7c\x9f\x7a\x7d\x7e\x82\x72\x75\x1e\x84\x83\x86\x86\x89\x89\x86\x86\x18\x6f\x72\x75\x7b\x7e\x1b\x83\x87" -+"\x92\x99\x9d\x8f\x9c\x94\xa9\x1f\x9a\xb8\x8c\x8e\x97\x1a\xa0\x7c\x9a\x74\x74\x7c\x7d\x75\x7f\x8b\x8b\x9a\x5b\x1e\x95\x6d\x8e\x7a" -+"\x79\x1a\x7e\x87\x83\x84\x7d\x75\x9b\xa7\x72\x1e\x0e\xf7\xc2\xf8\xa9\x39\x0a\xfc\x45\xc3\xfb\x0c\x2a\x0a\x96\xf7\xba\x15\x54\xf8" -+"\xa0\xc2\x07\x0e\xfc\x45\xf7\x12\xef\x15\x22\x0a\x0e\xfc\x29\xf7\x92\x20\x0a\x53\x06\xfb\x5a\xfd\x35\x05\xc3\x06\x0e\xfb\x4b\xf7" -+"\x90\xf9\x42\x15\x34\x4c\x5e\x2f\x63\x1f\x70\x4e\x7f\x48\x36\x1a\xfb\x68\xe3\xfb\x1d\xf7\x1c\xf7\x1c\xe3\xf7\x1d\xf7\x68\xf7\x66" -+"\x33\xf7\x20\xfb\x17\x1e\x89\x67\x15\xe1\xb2\x2a\xfb\x6a\xfb\x6d\x64\x2d\x33\x31\x64\xe9\xf7\x6e\xf7\x6e\xb2\xe7\xe7\x1f\x0e\xfb" -+"\x4b\xf8\x1a\xa5\x15\x37\x91\x7e\x9a\x8d\xea\x08\xf8\xa7\x79\x07\x68\x75\x5e\x73\x3b\x64\x08\x6e\x07\x98\xaa\x9e\x91\x97\x1b\x97" -+"\x96\x84\x81\x8f\x1f\x90\x7d\x8b\x8b\x8d\x4c\x08\xfb\xea\x07\x8c\x2d\x7e\x7b\x37\x85\x08\x71\xf7\xa5\x07\x0e\xfb\x4b\xa4\x16\xf8" -+"\x20\x06\xc1\xf7\x1a\x05\x72\x06\x56\x6c\x78\x83\x35\x1b\xfb\x54\x06\xf7\x61\xf7\x5b\xd3\xf7\x05\xf7\x0a\x1a\xf5\x41\xd8\x25\x57" -+"\x61\x77\x62\x69\x1e\x6f\x6a\x7f\x6c\x81\x4e\x08\x9c\x06\x96\xac\x93\x9a\x99\x9c\x08\xa8\xa3\xaf\x9c\xaf\x1b\xd1\xc8\x46\x3c\x2c" -+"\x43\xfb\x12\xfb\x12\xfb\x13\x1f\x40\x3e\x88\x89\x83\x82\x7e\x7e\x19\x0e\xfb\x4b\xf7\x50\xf7\xfd\x15\x72\x94\x07\xc0\xad\x7d\x69" -+"\xaa\x1f\xa7\x6a\x9a\x63\x5c\x1a\x3b\x5a\x54\x44\x63\x74\x93\xa9\x62\x1e\xa0\x6d\x7d\x92\x7b\x1b\x78\x7b\x7a\x77\x64\xd0\x67\xd9" -+"\xf7\x1d\xf7\x04\xf3\xf7\x15\xd6\x69\xbe\x3e\xb3\x1f\xd0\xc0\xa6\xb8\xc7\x1a\xdc\x49\xc8\x35\x35\x57\x60\x29\x69\x1e\x9a\x82\x05" -+"\xc8\xb0\xad\xa2\xc0\x1b\xca\xb8\x5c\x49\x67\x7d\x68\x70\x70\x1f\x6f\x70\x5f\x77\x6b\x1b\x0e\xfb\x4b\xf7\xb4\x16\xdd\xf7\x4b\xee" -+"\xcb\x28\xf8\x45\x58\x06\xfb\xc3\xfc\x45\x05\x4b\xf7\xa4\x07\xf8\x09\x04\xfb\xc9\xfb\x6e\x07\x0e\xfb\x4b\xf8\x22\xf8\xe8\x15\xb8" -+"\xea\x7c\x93\x7b\x77\x80\x84\x74\x8c\x19\xfb\x4e\x06\xfb\x07\xfb\x9a\xc7\x8a\xb1\x81\xb8\x73\x19\xd8\x62\xb8\x47\x41\x1a\x39\x50" -+"\x48\x43\x6d\x6b\x95\x9f\x6e\x1e\xa4\x66\x87\x8d\x7b\x1b\x78\x7c\x7b\x77\x61\xc8\x67\xd3\xf7\x19\xf7\x05\xf7\x06\xf7\x18\xd5\x6a" -+"\xd0\x4f\xbc\x1f\x64\xab\x65\x9c\x3a\xa0\xb7\xf0\x18\x0e\xfb\x4b\xf8\x45\xf9\x41\x15\x31\x5f\x81\x67\x4f\x1f\xfb\x0f\x43\x3b\xfb" -+"\x29\xfb\x2d\x1a\xfb\x33\xe7\xfb\x0b\xf7\x0f\xf7\x0b\xec\xf2\xf7\x12\xf7\x0b\x39\xdf\xfb\x07\x5f\x60\x7e\x6e\x5f\x1e\xb2\xf7\x3a" -+"\xf7\x07\xf7\x06\xf7\x20\x95\x08\xfb\xc3\xfb\xe0\x15\xa7\xbd\xa4\x93\xaf\x1b\xbe\xac\x76\x5b\xa2\x1f\x9f\x64\x96\x59\x5c\x1a\x34" -+"\x5f\x53\x47\x34\x53\xe6\xf7\x23\xaa\x8d\xa0\x8f\xa5\x1e\x0e\xfb\x4b\xf8\x54\x20\x0a\xfb\xfe\x06\x4d\xfb\x38\x05\xa9\x06\xb4\xd8" -+"\x9b\x94\xe9\x88\x08\xf7\x2f\x06\xfb\x66\xfc\xdb\xa5\x85\x8f\x8a\xa6\x82\x19\x0e\xfb\x4b\xf7\x58\xf7\xe2\x15\x25\x49\x63\x56\x44" -+"\x1a\x30\xdc\x49\xf7\x05\xf7\x03\xdc\xd2\xec\xd2\x66\xc0\xfb\x03\xe3\x1e\xe7\xbe\xb5\xc0\xc7\x1a\xe2\x3b\xcf\x26\x22\x3d\x47\x2f" -+"\x4a\xaa\x5e\xf2\x39\x1e\xa7\x77\x15\xb7\x64\x91\x86\xa0\x77\x08\xbf\x5b\xa0\x65\x61\x1a\x53\x5c\x62\x49\x3d\x5d\xbc\xde\xc5\xa7" -+"\xbb\xcc\xbe\x1e\xb5\xd5\x15\x2c\xcf\x66\xb9\xbe\x1a\xc0\xbd\xb7\xc7\xcd\xbb\x58\x46\x52\x73\x66\x47\x5b\x1e\x0e\xfb\x4b\xb9\x7f" -+"\x15\x8a\x9a\x97\x8b\x92\x1b\xe3\xe5\xb2\xcd\xd0\x1f\xdd\xdc\xbe\xf7\x0e\xf7\x07\x1a\xcb\x7a\xcc\x6c\xbe\x1e\xc8\x66\x4d\xae\x42" -+"\x1b\xfb\x0c\x32\x2a\xfb\x18\xfb\x0d\xda\x38\xf7\x06\xb5\xa7\x93\xa9\xc5\x1f\x5a\xfb\x3d\xfb\x0d\xfb\x04\xfb\x1c\x89\x08\xf7\xd0" -+"\xf7\xd7\x15\x72\x56\x6f\x83\x6a\x1b\x3f\x5d\xd9\xf7\x14\xe4\xb7\xc5\xcd\xdc\xc2\x32\xfb\x18\x69\x88\x72\x84\x63\x1f\x0e\xfc\x29" -+"\xf7\x1e\xef\x15\x22\x0a\xf7\xff\x04\x49\x0a\xa5\xaa\xa9\x72\xa5\x6d\x1f\x0e\xfc\x29\xf7\x30\xf8\x63\x15\x4f\x0a\xab\xa3\xa3\xac" -+"\xaa\x73\xa4\x6c\x1f\x42\xfc\xdb\x2a\x0a\xf8\x9f\xf8\x9e\x15\xfc\x85\xfb\x7e\x05\x54\x07\xf8\x85\xfb\x7d\x05\xc9\x07\xfc\x36\xf7" -+"\x5b\xf8\x36\xf7\x5b\x05\x0e\xf8\xad\xf8\x1b\x15\xfc\xa2\x54\xf8\xa2\x06\xfb\x1f\x04\xfc\xa2\x54\xf8\xa2\x06\x0e\xa5\xf8\x9e\x35" -+"\x0a\xfb\x83\xf7\x87\xf7\x44\x15\x8c\xc9\x9b\xb8\xb1\xba\xc8\xce\x8b\x8b\x9b\xa3\x08\xa4\xb0\x97\xb1\xb3\x1a\xe3\x44\xc9\x25\x2d" -+"\x40\x4d\x3d\x60\xa2\x6b\xab\xa3\x9e\x9d\xa2\x96\x87\x96\x82\x97\x1e\x79\xa3\x8a\x8e\x99\x1a\xb0\xb0\xa8\xbb\xc7\xaf\x5e\x3f\x5e" -+"\x84\x76\x5f\x32\x1e\x66\x40\x85\x71\x89\x27\x08\x9e\x3e\x15\x6b\x72\x72\x6c\x6c\xa4\x72\xaa\xaa\xa4\xa4\xaa\xaa\x72\xa4\x6d\x1f" -+"\x0e\xf8\xad\xf7\x89\x15\xfc\xa2\x54\xf8\xa2\x06\xfb\x1b\x04\xfc\xa2\x54\xf8\xa2\x06\x5b\xf8\x6f\x40\x0a\x43\x72\x90\x6f\x1b\x52" -+"\x5c\x70\x52\x64\x1f\xb6\x69\x05\xc0\xb8\x9b\x95\xb1\x41\x0a\xcc\xbb\x4b\x0a\xb2\xf7\xf5\x20\x0a\x7f\x06\xfb\x73\xfc\xa7\x61\x29" -+"\x84\x84\x4a\x80\x19\x71\xf7\x56\x4a\x0a\x90\x9d\x9d\xb4\x1e\xa9\xd3\x05\xf7\x87\x06\xaa\x43\x05\x9e\x5c\x8f\x7f\x7b\x3c\x0a\x08" -+"\xfb\x9d\xf7\xfb\x15\xf7\x01\xfb\x8a\x05\xfb\x6b\x06\x0e\x7b\xa8\x16\xf7\xda\x06\xc5\xb7\x93\x9d\xae\x1f\xcb\xab\xaf\xc5\xcf\x1a" -+"\xc4\x71\xb8\x57\xa9\x1e\x71\x9b\x73\x93\x59\x95\x08\xe3\x9a\xc2\xc2\xd5\x1a\xcc\x69\xc2\x4f\xab\x1e\x9e\x66\x5d\x93\x3d\x1b\xfb" -+"\xa5\x38\x0a\xf7\x55\xf7\xec\x15\xf7\x8f\x07\x98\x8b\x8b\xc9\xc1\xa2\x88\x82\xa1\x1e\xb6\x7a\xa7\x5d\x56\x1a\x37\x4e\x57\x27\x1e" -+"\x44\x65\x15\xd1\x06\xf7\x08\xc8\x58\x2c\x2b\x4f\x59\xfb\x07\x4d\x81\x8d\x99\x1f\x0e\xb2\xf8\x15\x16\xf7\xd3\xa5\x06\x3c\x90\x6c" -+"\xa1\x56\xe3\xfb\x22\xf7\x79\x18\xf7\x0c\xf7\x36\xcc\xe3\xb0\xa2\xde\x8f\x19\xa5\xfb\x8f\x71\x99\x07\xae\x9a\x81\x75\x7d\x80\x78" -+"\x64\x59\x1f\x2d\xfb\x0f\x3d\xf7\x0e\x05\x6c\xbe\x83\x9a\x99\x1a\xa2\x9e\x98\xac\x1e\xa0\xa5\xfb\xd9\x71\x06\xdd\x86\xab\x76\xc1" -+"\x32\xf7\x1c\xfb\x67\x18\xfb\x20\xfb\x48\x4a\x34\x6a\x76\x3c\x84\x19\x71\xf7\x8c\xa5\x7d\x07\x6a\x7b\x95\xa1\x99\x8b\x8b\xbe\xd0" -+"\x1f\xf0\xf7\x1e\xe6\xfb\x1d\x05\xa4\x64\x99\x6f\x7c\x1a\x75\x77\x7f\x66\x1e\x7b\x06\x0e\x44\x91\x16\xf8\xee\x06\xfb\xad\xf9\x44" -+"\x05\xfb\x8e\xfd\x11\x15\xf7\x69\xf8\x5e\xf7\x51\xfc\x5e\x05\x0e\x43\xab\x16\xf8\xa8\x06\xc0\xf7\x41\x05\x70\x06\x26\x65\x5f\x6c" -+"\xfb\x03\x1b\xfb\x16\x06\x68\x8a\x84\x94\xb6\x1a\xf7\x81\xf7\x22\x07\xe0\x8c\xa0\x78\x8e\x3c\x08\xa4\xf7\x82\x72\x06\x8a\x3c\x73" -+"\x75\x37\x8c\x08\xfb\x22\xf7\x9a\xf7\x39\x3f\x0a\xfc\x96\x34\x0a\xdb\xf7\x82\x16\xf7\xb8\xa5\x06\x42\x8c\x71\xa7\x8d\xd5\x08\xc5" -+"\xa3\x8e\x93\xb1\x1f\xf7\x08\xa6\xd4\xd6\xe9\x1a\xee\x40\xd8\xfb\x0c\xa5\x1e\x68\x92\x6b\x8e\x5c\x8c\x8a\xd1\xa6\xa6\xd2\x8c\x08" -+"\xa5\xfb\xb8\x71\x07\xd2\x8a\xa6\x70\x8a\x45\x5c\x8a\x6b\x88\x68\x84\x08\xfb\x0c\x71\x40\x3e\x28\x1a\x2d\xd4\x40\xf7\x08\x70\x1e" -+"\x83\xb1\xa3\x88\xc5\x1b\x8d\x41\x71\x6f\x42\x8a\x08\xec\xf7\x21\x15\xfb\x1b\x93\x49\xc4\xf7\x03\x1a\xc7\xa1\xb5\xbc\xaa\x1e\xae" -+"\xa1\xac\x94\xc9\x90\x08\xed\x16\xf7\x1b\x83\xcd\x52\xfb\x03\x1a\x4f\x75\x61\x5a\x6c\x1e\x68\x76\x6a\x82\x4d\x85\x08\x0e\x3b\xf7" -+"\x6d\xf9\x0c\x15\xf7\x76\x3f\x0a\xfc\xd3\x23\x0a\xf7\xc1\xa5\x81\x06\x3a\x90\x77\xa2\x8e\xe3\x08\x0e\xb2\xf7\x7c\xf8\x00\x15\xf7" -+"\x3b\x07\x2d\x0a\x21\x0a\xf7\x48\xf7\xc4\xfb\x48\x2e\x0a\xfb\xb0\x24\x0a\xfb\x3b\x07\x0e\xfb\xf2\xf7\xd0\xa5\x15\x36\x0a\xf8\x19" -+"\x07\x2d\x0a\x06\x0e\x57\xf9\x03\xf7\xde\x15\x78\x90\x81\x8e\x88\x8c\x76\x92\x7d\x91\x83\x8d\x7e\xf7\x27\x7c\xbe\x5c\xc9\x08\xba" -+"\x67\x61\xa4\x60\x1b\x4d\x5f\x5a\x47\x2d\xdb\x35\xf7\x24\x4f\x1f\x8c\x5c\x05\xfb\x32\x51\x26\x2f\x67\x6b\x9d\xa7\x7c\x1e\x81\x9f" -+"\x83\xaf\xa7\x1a\x9e\x8e\xad\x90\xb8\x1e\x96\xea\x8b\x8e\x9f\x1a\xc1\x63\xb3\x54\x65\x71\x7b\x64\x71\x1e\x7e\x78\x87\x82\x78\x59" -+"\x08\xa6\x06\xc0\xa8\x96\x97\xa0\x1b\xa5\x9e\x79\x72\x82\x8a\x7e\x89\x7d\x1f\x7d\x20\x89\x76\x66\x1a\x28\xcd\x4a\xf0\xf6\xd5\xc0" -+"\xf3\xb2\x1e\x9f\xbf\x93\xba\x8c\xc3\xa9\x7e\xa4\x80\x9f\x83\x08\xfb\x2d\xf7\x07\x15\xfb\x05\xb6\x3e\xdb\xd7\x1a\xb4\xa4\xa7\xb0" -+"\xb2\xab\x6c\x51\xa2\x1e\x9a\x66\x92\x65\x97\x23\x08\x0e\xb2\xf7\x78\xf8\xa7\x15\x88\xe0\xa0\xa6\xd1\x8f\x08\x8e\xa5\xfb\xb0\x23" -+"\x0a\xf7\xb0\x21\x0a\xf7\x23\x07\xb3\xac\xbe\x58\x99\x7b\xe4\x22\x19\xbc\x51\x99\x76\x7b\x1a\x7a\x7d\x83\x6c\x1e\x6a\x71\xf7\xcf" -+"\xa5\x06\x4f\x90\x6a\xa1\x4b\xd9\xfb\x72\xf7\x94\x18\xb6\xb6\xa2\xa4\xa3\xa4\xa3\xa5\x19\xf7\x16\xf7\x1d\x91\x8e\xe0\x8c\x08\xa5" -+"\xfb\xa3\x71\x07\xb7\x8a\x91\x8b\x95\x87\x08\x97\x87\x93\x82\x82\x1a\x73\xfb\x1d\xfb\x2a\xfb\x0e\xfb\x02\x1e\x0e\x8e\xf7\xcd\xf8" -+"\x89\x15\xf7\x2d\xfb\xfb\x05\x9f\x5c\x8e\x80\x7a\x3c\x0a\xfb\x7f\xf8\xb6\x18\xfb\x79\xfc\xb6\x62\x2c\x84\x83\x4f\x7e\x19\x71\xf7" -+"\x50\x4a\x0a\x91\x9d\x9c\xb4\x1e\x0e\xf7\x62\xf8\x3c\x8c\x15\xf7\xa2\xf8\xb0\x05\xfc\x23\x2f\x0a\xdf\xa0\xa6\xd1\x90\x08\x8e\xa5" -+"\xfb\x42\x06\xfb\x91\xfc\x8b\xfb\x89\xf8\x8b\x05\xfb\x4f\x23\x0a\xf7\x76\x21\x0a\xf8\x23\x07\x0e\xb2\xf7\x96\xa5\x15\x86\x4d\x0a" -+"\xf8\x1a\x07\xf8\x37\xfc\xa8\x05\xb8\xf8\xa7\x06\x88\xdf\x9f\xa6\xd0\x90\x08\x90\xa5\xfb\x74\x24\x0a\xfc\x07\x07\xfc\x22\xf8\x95" -+"\x05\xfb\x33\x71\x8f\x06\xd1\x87\xa0\x70\x88\x37\x08\xfc\x1a\x07\x8f\x37\x75\x6e\x45\x88\x08\x86\x71\xf7\x79\x06\x0e\xb2\xf8\x12" -+"\xf9\x42\x28\x0a\xe0\xa4\x16\xf7\xb0\x21\x0a\xf8\x0e\x07\xcd\x8d\x97\x9c\x9a\x1e\x9c\x9c\x9c\x8d\xf7\x22\x1b\xf7\x1a\x90\x87\xfb" -+"\x00\x1f\xfc\x0e\x2e\x0a\xfd\x64\x34\x0a\xc5\xf8\x8d\xf8\x5d\x2b\x0a\xfb\x0f\xf8\x5f\x28\x0a\xfb\x13\xf7\xe5\xa5\x15\x7c\x06\x37" -+"\x90\x77\xa2\x8e\xe3\x08\xf7\x41\x07\x83\xae\xb4\x87\xac\x1b\xf7\x28\xe0\xcf\xf7\x0c\xd4\x65\xc6\x47\xa8\x1f\x9d\x64\x6c\x8e\xfb" -+"\x05\x1b\xfb\x8a\x23\x0a\xf7\xc9\x06\xfb\x08\xf8\xf8\x15\x9e\x92\x8d\xd6\xac\xa1\x87\x83\x9e\x1e\xb8\x77\xa5\x5c\x4f\x1a\x59\x79" -+"\x5f\x6c\x72\x1e\x78\x74\x6d\x82\x5f\x1b\x72\x79\x8e\x94\x65\x1f\x0e\x30\xf7\x3b\xf9\x0c\x15\xf7\x3d\x06\xf7\x0a\x8a\xa9\x75\x9b" -+"\x28\x08\xa5\x06\x81\xf7\x37\x05\xfc\x82\x06\xf7\x6e\xfb\xf5\xfb\x7f\xfb\xd4\x05\xf8\xa6\x06\xc1\xf7\x48\x05\x71\x06\x6d\x3c\x69" -+"\x78\xfb\x06\x8c\x08\xfb\x9f\x06\xf7\x67\xf7\xb2\x05\x0e\x43\xf8\x73\xa5\x15\x77\x4c\x0a\xf8\x7a\xd5\x07\xe9\x8c\xae\x6e\x93\x36" -+"\x08\xa4\x06\x80\xf7\x32\x05\xfc\xbc\x06\x80\xfb\x32\x05\xa5\x06\x92\xe1\xad\xa5\xf3\x8c\x08\xcc\xfc\x7a\x06\x8e\x36\x76\x70\x45" -+"\x87\x08\x77\x71\xf7\xd2\x06\x0e\x92\xf8\x20\xf7\xb7\x15\xf7\x26\xf7\x84\xbd\xe1\xa6\xa0\xd6\x94\x19\xa5\xfb\x79\x71\x96\x07\xb3" -+"\x9a\x81\x72\x7b\x7e\x6c\x76\x69\x1f\xfb\x09\xfb\x4c\xfb\x06\xf7\x4c\x05\x6f\xb8\x81\xa1\x9b\x1a\xa0\x9e\x97\xae\x1e\x9e\xa5\xfb" -+"\xc9\x71\x06\xda\x82\xa5\x77\xbe\x34\xf7\x26\xfb\x84\x18\xfb\x29\x37\x0a\x0e\xfb\x88\xf7\xc0\xf8\x3c\x15\x83\xb5\x8b\x8b\x9d\x1b" -+"\xae\xa0\x99\xa4\xae\x5e\xa2\x47\xfb\x22\xfb\x0d\xfb\x20\xfb\x38\xfb\x0f\xd5\x2e\xec\x9c\xc9\x8d\x8d\xa4\x1f\x8c\x95\x94\x8b\x90" -+"\x1b\xae\x9d\x79\x69\x60\x6f\x69\x67\x82\x8b\x8b\x94\x72\x1f\x84\x8d\x05\x91\x78\x83\x8c\x7d\x1b\x68\x76\x7a\x6e\x69\xb0\x6e\xb7" -+"\xe5\xd6\xe0\xef\xb8\x7a\xb4\x6e\xa5\x1f\x9f\x75\x75\x92\x65\x1b\x7a\x82\x8b\x89\x6d\x1f\x89\x64\x7b\x8a\x89\x1b\x4c\x5a\xca\xdc" -+"\xf1\xd4\xe5\xde\x97\x96\x8a\x85\xa6\x1f\x0e\xe0\xf7\xda\x16\x79\xf7\x2f\x05\x3d\xb7\x59\xe4\xe9\x1a\xbf\x9a\xc6\xa5\xba\x1e\xcc" -+"\xaf\xc7\xb0\xcf\x1b\xcf\xc7\x66\x4a\xaf\x1f\xa5\x5c\x9a\x50\x57\x1a\x2d\x59\x32\x3d\x5f\x1e\x79\xfb\x2f\x05\xf7\xb8\xf7\x2d\x73" -+"\x06\x5e\x83\x77\x79\x62\x1b\xfb\x26\x06\x8e\xb1\xae\x98\xa1\x95\xa2\x9a\x19\xd8\xbc\xb8\xdc\xe1\x1a\xce\x6e\xd4\x5b\xc3\x1e\xd1" -+"\x4e\x37\xb1\x2c\x1b\x2c\x37\x65\x45\x4e\x1f\x5b\x53\x6e\x42\x48\x1a\x35\xb8\x3a\xd8\x5a\x1e\xa2\x7c\xa1\x81\xae\x7e\x8e\x65\x18" -+"\xfb\x26\x06\x62\x77\x9d\xb8\x83\x1f\x73\xfb\x2d\x06\x0e\x65\xf8\xc4\x20\x0a\xfc\x76\x06\x81\xfb\x3c\x05\xa5\x06\x97\xd3\x98\x95" -+"\xe3\x8d\x08\xf7\x75\x06\xe1\x89\x99\x81\x97\x43\x08\xa5\x06\x8c\xfb\xd9\x15\x72\x38\x75\x7f\xfb\x12\x8a\x08\xfb\x40\x06\xfb\x05" -+"\x75\x99\xdd\x72\x1f\x71\x06\xb1\xfb\x48\x05\xf8\x76\x06\xb2\xf7\x48\x05\xfb\x2d\xf7\xa9\x2b\x0a\x0e\xf7\x04\xf8\x52\xf7\xa3\x15" -+"\xdb\x8a\xc2\x94\xb5\xa0\x08\xcf\xab\xb1\xc9\xda\x1a\x8a\xdf\x05\xd5\x97\xa3\xb3\x93\x1e\xa2\x07\xfb\x08\x82\x62\x5a\x84\xfb\x1e" -+"\x86\xfb\x00\x84\x76\x60\x6e\x74\x7c\x69\x84\x51\x8c\x08\xf7\x70\x07\x8c\xe6\x9d\xa2\xd5\x8d\x08\xa5\xfb\xaf\x71\x07\xd5\x89\x9d" -+"\x74\x8c\x30\x08\xfb\x70\x07\x5a\x8a\x69\x90\x76\x95\x57\xa8\x82\xa2\x86\xf7\x05\x84\xf7\x1e\x63\xbc\xfb\x09\x94\x08\x74\x07\xb3" -+"\x82\x97\x73\x42\x1a\x8a\x37\x05\x45\xa9\x52\xc2\x68\x1e\xb8\x6f\xc7\x7e\xe8\x8c\x08\xfb\x06\x07\x27\x7b\x74\x42\x85\x1e\x78\x6f" -+"\xf7\xcd\xa7\x78\x06\x42\x91\x7b\xa2\xef\x1a\x0e\x43\xf8\xfe\x20\x0a\xfc\x8a\x06\x7a\xfb\x44\x05\xa5\x06\x97\xf7\x01\xa7\xa4\xf7" -+"\x0a\x8a\x08\xf7\x4a\x06\xfc\x39\xfd\x0a\x05\xf8\xbf\x06\xb0\xf7\x3f\x05\x71\x06\x82\x63\x7a\x6d\x6e\x71\x6b\x70\x7a\x87\x3a\x88" -+"\x08\xfb\x7a\x06\x0e\xfb\xf2\xf7\xbf\xfb\x39\x15\xad\x24\x07\x7b\x84\x91\x9c\x1f\xf9\x62\x07\xa3\x8a\x91\x90\xa1\x1b\xee\xad\xfb" -+"\x69\xfd\xda\x06\x0e\xf7\x48\xf7\x76\xf7\x04\x26\x0a\xf7\x60\xf7\xd5\x26\x0a\xf7\x66\xfb\xd5\x26\x0a\x0e\xfb\xf2\xac\xfb\x39\x15" -+"\xf7\x69\xf9\xda\xfb\x69\x69\xee\x06\xa1\x90\x86\x73\x1f\xfd\x5e\x07\x76\x84\x84\x75\x8c\x1e\x2a\x06\x0e\x72\xf7\xfd\x20\x0a\x54" -+"\xfc\xfd\xfb\xb7\x53\xf9\x11\xc3\xfb\xb7\x06\x0e\xfb\x4b\x89\xfb\x62\x15\x5d\xf8\x8c\xb9\x07\x0e\xfb\x4b\xf8\x74\xfa\x25\x15\x53" -+"\xf8\xf6\xc3\x07\x0e\x57\xf8\x84\xf8\x88\x15\x4e\xfb\x40\x05\xf7\x0d\x71\x4e\xcb\x30\x1b\x5d\x5a\x78\x6b\x66\x1f\x52\x5b\x70\x44" -+"\x28\x1a\xfb\x34\xda\x2a\xf7\x16\xe3\xcc\xb8\xe4\xb4\x1e\x90\x78\x92\x79\x96\x72\x08\x53\xa5\x9c\x7b\xab\x1b\xac\xa2\xa0\xb5\x98" -+"\x1f\x92\xa2\x8e\xa1\x8c\xc3\x08\x71\x06\x58\x89\x78\x66\x72\x1b\x6a\x6a\xc0\xd0\x7f\x1f\xf7\x05\xf7\xcf\x05\xfb\x47\xfb\x97\x15" -+"\x74\x4a\x05\x25\x68\x63\x5a\x59\x1b\x44\x62\xdd\xf7\x22\xd5\x99\xc7\xa5\xb7\x1f\xa8\x9d\xa2\x99\xaa\x1b\xd2\xb9\x52\xfb\x06\x9f" -+"\x1f\x0e\xda\x4d\x15\x88\x35\x86\x65\x81\x67\x08\xdd\x06\x96\x9d\x90\xb2\xd2\x1a\xf7\x1c\x07\x63\xc0\xb7\x7c\xc5\x1b\xf7\x0c\xdc" -+"\xe3\xf7\x15\xf6\x56\xd6\xfb\x02\xba\x1f\xd7\xb4\xaf\xb9\xc4\x1a\xe4\x32\xd5\x20\xfb\x00\x3a\x44\x2c\x1e\xdb\x95\x15\xd1\xb4\xbc" -+"\xc7\xca\xb8\x51\x3b\x55\x70\x53\x70\x87\x87\x8c\x8e\x7d\x1e\x8e\x7b\x86\x8c\x81\x1b\x73\x78\x7c\x77\x78\x9c\x7f\xa5\x92\x91\x8c" -+"\x8c\x93\x1f\x8e\x96\x97\x8c\x93\x1b\x98\x92\x89\x85\x91\x1f\xb8\x62\xa6\x3f\x38\x1a\x28\x5f\x50\x41\x58\x5a\xa2\xb2\x69\x1e\x0e" -+"\xf8\x1b\xf8\x88\x15\xfb\x15\xfb\x81\x67\xf7\x29\x05\xca\x7c\x65\xb1\x5a\x1b\x4f\x61\x48\xfb\x03\x81\x1f\xa6\x06\xc7\x92\xa8\xb2" -+"\xb1\x1b\xa4\xa4\x7b\x73\x9b\x1f\x93\x7e\x94\x74\x91\x70\xa9\xfb\x0f\x18\xfb\x6e\xfc\x23\x05\xf5\x06\xf7\x22\xf7\x9d\x9b\x33\x9a" -+"\x40\x8e\x7d\x92\x78\x19\x52\xa0\xad\x6c\xb4\x1b\xaf\xaf\xa4\xb3\xa1\x1f\x9c\xaa\x94\xb0\x8e\xbf\x08\x73\x06\x81\x69\x87\x81\x84" -+"\x80\x08\x74\x7d\x73\x7e\x71\x1b\x5c\x72\xb5\xf7\x0f\x6d\x1f\x78\xd9\xf7\x5f\xf8\x09\x05\x0e\xfb\x51\xf7\x94\xf8\x50\x15\x57\x7b" -+"\x6c\x7e\x6e\x77\x08\x49\x5e\x65\x45\x40\x1a\xfb\x0b\xea\x28\xf7\x07\xc8\xc0\xa3\xbd\xbb\x1e\xba\xbc\xa1\xc2\xce\x1a\xcc\x75\xc8" -+"\x62\xbc\x1e\x69\xb4\x74\x9d\x37\xbd\x08\x31\xc1\x64\xb0\xac\x1a\xab\xaa\xa5\xb3\xab\xa6\x7f\x71\xa4\x1e\x54\xc2\x94\x85\xa6\x1b" -+"\xa6\x9f\x9d\xa3\xc2\x34\xb7\x22\x2d\x52\x66\x4d\x66\x9b\x6f\xb7\x62\x1f\xf7\x12\xfb\x09\x15\xcf\x4c\xaa\x45\x35\x1a\x28\x5c\x49" -+"\x45\x45\x5b\xd9\xf7\x07\xf7\x00\xb8\xca\xe6\x9f\x1e\x0e\xfb\x88\xf8\x27\xf7\x11\x15\x4c\x76\x66\x72\x44\x1b\x5a\x63\x97\xa3\x70" -+"\x1f\x77\x9d\x83\x9e\xac\x1a\xc6\xad\xb1\xc0\x95\x93\x8a\x89\x95\x1e\x87\x9a\x95\x8a\x95\x1b\xa9\xa1\x99\x9e\x9a\x7f\x93\x74\x80" -+"\x8b\x8b\x88\x6e\x1f\x85\x06\x88\x70\x88\x8b\x83\x1b\x58\x6a\xae\xc1\xc7\xb5\xba\xbf\xaf\xa2\x7b\x6b\x96\x1f\x8d\x84\x05\x67\x97" -+"\x9c\x7b\xa5\x1b\xa6\xa0\xa1\xa7\xc0\x48\xb2\x2d\x4b\x5e\x7d\x6c\x64\x1f\x66\x6f\x7b\x6d\x65\x1a\x6a\x9a\x6c\xa4\x79\x1e\x99\x82" -+"\x94\x86\xaa\x7c\x08\x41\x72\x69\x62\x4f\x1a\x35\xe3\x4d\xf7\x10\xf7\x03\xc9\xb4\xe3\x9f\x1e\x0e\xfb\x36\xf7\xab\x84\x15\xf7\x10" -+"\x9c\xe2\xf7\x04\xf7\x21\x1a\xf7\x1e\x37\xec\xfb\x13\x95\x1e\xdb\x07\xbb\x8c\x93\x8d\xa2\x1e\x5c\x9e\x05\x8d\x74\x8c\x7d\x57\x1a" -+"\x32\x07\xfb\x0d\x7d\x31\xfb\x06\xfb\x1e\x1a\xfb\x1f\xe1\x25\xf7\x11\x81\x1e\x26\x07\x50\x8a\x7c\x89\x70\x1e\xba\x80\x89\xac\x8b" -+"\x8e\x8a\xb7\x19\xa6\x07\x62\xf7\x28\x15\x6f\x96\x77\x9b\x7c\xa2\x08\x6b\xbc\x78\xd7\xda\x1a\xf7\x05\xb6\xd1\xd2\x8e\x1e\xb4\x84" -+"\x15\xd2\x70\xb6\x2e\xfb\x14\x1a\xfb\x0b\x62\x48\x42\x87\x1e\x0e\xfb\xa4\xf8\x0d\xf8\x88\x15\xfb\x03\xfb\xec\x6d\xf7\x2f\x05\xf7" -+"\x2c\x6d\x6b\xbd\x48\x1b\x6d\x70\x7e\x73\x7b\x1f\x75\x6c\x86\x72\x89\x37\x08\x7e\xa1\x07\x8d\xa6\x8d\x9b\x8f\x98\x08\xac\x96\xa2" -+"\x9e\xa9\x1b\xa6\x9e\x7a\x63\x9e\x1f\xa3\x56\xa5\x30\x95\x41\x97\x38\x18\x8a\x86\x89\x86\x89\x86\x82\x6f\x81\x70\x82\x71\x08\x77" -+"\x55\x85\x6e\x68\x1a\x5b\xa0\x6d\xab\xb4\xa6\xbe\xdb\xab\x86\xb8\x7f\xd9\x1e\xf7\x5f\xf8\x45\x05\x0e\x3b\xf7\x0b\x16\xe3\xf8\x00" -+"\x06\xc2\xaf\xae\xa3\xb7\x1b\xc4\xae\x64\x4b\x1f\xfc\x4b\x07\x8c\x66\x91\x62\x98\x5e\x08\xe8\x06\x7c\xb9\x84\xa8\xa4\x1a\xf8\x7f" -+"\x07\xdf\x4f\xc7\x38\x50\x62\x70\x40\x54\x1e\x86\xa9\x86\x99\x82\x98\x08\xa2\x7a\x6e\x99\x6d\x1b\x63\x64\x72\x63\x79\x1f\x80\x73" -+"\x87\x76\x66\x1a\xa3\x06\xc9\x91\x99\xa8\xa3\x1b\xa9\xa1\x65\x54\x1f\x0e\xfb\xf6\xf7\x43\xf8\x95\x15\x62\x78\x3e\x74\x52\x80\x08" -+"\x72\x07\x8d\x9d\x97\x8c\x94\x1b\xb3\x94\x7b\x4a\x1f\xfb\x85\x07\x56\x90\x75\x9a\x77\x1e\x75\x9b\xa5\x7f\xa8\x1b\xb1\xaf\x9f\xaa" -+"\xa1\x1f\x97\x9d\x91\x9d\x93\xac\x6f\x8c\x18\x59\x81\x7d\x78\x72\x1b\x6a\x7a\xaa\xc8\x8c\x1f\x0e\x3b\xf7\x8d\xf8\x90\x15\x5d\x88" -+"\x6c\x81\x66\x72\x08\x4a\x5e\x69\x47\x34\x1a\xfb\x27\xf4\xfb\x07\xf7\x21\x84\x1e\xfb\x73\xce\xf7\x73\x07\xf7\x16\x8e\xf7\x00\xf7" -+"\x0c\xf7\x24\x1a\xf7\x16\x33\xf7\x07\x26\x3f\x5a\x4c\x2b\x88\x8b\x87\x8c\x6d\x1e\x93\xfb\xa5\x05\x34\x97\x5a\xe2\xf7\x20\x1a\xf7" -+"\x01\xad\xcd\xd0\xa6\x1e\xe3\xfb\x48\x15\xdf\x87\x9e\xba\xb1\x1b\xc1\xc2\x26\x27\xfb\x01\x4f\x3e\x31\x84\x1f\x0e\xf7\x59\xf7\xb6" -+"\x15\xf7\x73\x07\x6c\x79\x58\x7a\x39\x79\x08\x72\x07\x8d\x9c\x96\x8c\x94\x1b\xb3\x94\x7c\x49\x1f\xfb\xf9\xd9\xf7\x8e\x07\xf7\x25" -+"\xfb\x44\x05\xa2\x6f\x8b\x8a\x84\x1a\x7f\x84\x87\x6b\x89\x1e\x86\x77\xf7\x81\xa3\x82\x06\x5c\x8e\x84\x90\x4b\xda\xfb\x2f\xf7\x57" -+"\x18\xb7\xb4\x05\xcc\xd0\x9d\x98\x9e\x1b\x93\x93\x87\x82\x96\x1f\x79\xa1\x91\x89\x9c\x1b\xac\xa6\xa3\xa8\xac\x6c\xa2\x5f\x72\x76" -+"\x85\x7b\x74\x1f\x68\x75\x3c\x48\x57\x56\x78\x79\x18\x0e\xd6\xf8\xce\x15\xc4\x92\xa8\xac\xb8\x1b\xac\xa5\x72\x5e\x9a\x1f\x92\x76" -+"\x94\x6a\x94\x65\xfb\x7b\xfc\x86\x18\xe9\x06\xf7\x3e\xf7\xfa\xab\xfb\x55\x9b\x42\x9d\x64\x19\x60\xa1\xaa\x74\xb1\x1b\xcc\xaf\xc7" -+"\xf7\x01\x8d\x1f\x76\x06\x57\x83\x74\x6e\x67\x1b\x6d\x71\x9e\xae\x7b\x1f\x7e\xa5\x84\xa4\x7d\xd6\x70\xf7\x15\x18\x8d\x8a\x8d\x8a" -+"\x93\x1e\x85\xab\x8a\x90\x86\xa1\x73\xf7\x03\x7b\xc2\x75\xbd\x08\xb5\x78\x66\xa6\x63\x1b\x4e\x6b\x58\xfb\x0b\x80\x1f\x0e\x20\xf8" -+"\x4e\xf8\x88\x15\x32\x06\x8c\xfc\x05\x05\x58\x67\x69\x75\x61\x1b\x51\x69\xb4\xd1\x1f\xf7\xdf\x33\xfc\x74\x07\x76\x87\x72\x84\x6d" -+"\x1e\x7a\x4d\x8a\x86\x73\x1a\x60\xa0\x6e\xa8\xa8\x9f\xa9\xb7\xa0\x88\x99\x7b\xc4\x1e\x80\xaf\x8a\x94\xa8\x1a\x97\x07\x67\xb5\xa1" -+"\x81\xae\x1b\xbd\xbe\xaa\xc9\xc0\x1f\x93\x6b\x90\x7f\x95\x7c\x08\x76\x9a\xa6\x7e\xa9\x1b\xc8\xb6\xb7\xd8\x99\x1f\x70\x8c\x05\x65" -+"\x87\x76\x6d\x74\x1b\x6d\x77\xaf\xc1\x1f\x0e\xfb\x36\x82\xf8\x5f\x15\xc4\x8a\x8d\x89\xa3\x4f\xf7\x35\xfc\x2d\x18\xa9\x06\x9a\xb1" -+"\x94\xa2\x92\x99\xa6\xc2\x18\x94\x9e\xc6\xf7\x02\x05\xc7\xf7\x04\xa3\xc6\xaf\x1a\xac\x71\xa6\x6b\x6e\x73\x72\x6c\x84\x8b\x8b\x91" -+"\x6c\x1e\x8d\x82\x05\x92\x6a\x8d\x7e\x7d\x1a\x70\x83\x73\x73\x5f\x1e\x46\xfb\x1a\xfb\x2f\xf8\x1c\x5e\x7c\x63\x83\x5a\x89\x19\x0e" -+"\xf7\xa8\xf8\x95\x15\xfb\x1d\x23\xfb\x0a\xfb\x2e\xfb\x26\xec\xfb\x00\xf7\x16\xf7\x1a\xf4\xf7\x0d\xf7\x2f\xf7\x24\x2c\xf5\xfb\x16" -+"\x1f\x75\x66\x15\xe3\xc8\x21\xfb\x2d\xfb\x0f\x60\x45\x3f\x65\x64\xa1\xad\x75\x1f\x6b\xbc\x78\xd9\xd9\x1a\xf7\x0d\xb7\xd1\xd7\x1e" -+"\x0e\xa9\xf7\xf0\x15\xa9\xbd\x9d\x97\xbd\x8c\x08\xb9\x06\x71\xfb\x72\x87\x6f\x7e\x76\x69\x6b\x19\x6c\x6f\x82\x7c\x74\x1a\x6c\xa3" -+"\x73\xaa\xaa\xa3\xa2\xb6\x98\x1e\x94\xa5\x99\xf1\x94\xf0\x97\xf7\x15\x18\xf7\x01\x06\x7f\x3a\x82\x23\x50\x1a\xfb\x04\xb0\x47\xc9" -+"\xb2\xae\xa6\xba\xa3\x1e\x99\xa7\x8f\x9e\x8e\xbd\x08\x73\x06\x5b\x86\x78\x72\x6a\x1b\x77\x76\x99\xa0\x80\x1f\x82\x9d\x88\x9b\xac" -+"\x1a\xd9\x90\xe5\x92\xc3\x1e\xf7\x12\xe4\xfb\xf2\x06\x3a\x90\x57\x5b\x6d\xfb\x01\x08\x0e\xfb\x36\xf7\x9c\xf9\x42\x15\x64\x63\x7b" -+"\x6c\x66\x1f\x47\x54\x66\x20\xfb\x21\x1a\xfb\x17\xac\x23\xc6\x53\x1e\x65\xb3\xb8\x77\xb7\x1b\xb2\xb2\x9b\xaa\xb1\x1f\xcf\xc2\xb0" -+"\xf5\xf7\x1c\x1a\xf7\x1d\x6b\xf1\x4f\xc5\x1e\xb0\x64\x5d\xa0\x5f\x1b\xf7\x0a\xfc\x0a\x15\x89\xfb\x06\x7f\x4a\x6e\x56\x08\x6c\x79" -+"\x6b\x74\x72\x1b\x71\x6b\xa2\xaa\x7a\x1f\x6e\xc0\x7f\xcc\x89\xf7\x06\x08\xc3\x04\x8d\xf7\x01\x98\xcd\xa7\xbf\x08\xaa\x9c\xab\xa2" -+"\xa5\x1b\xa4\xab\x74\x6c\x9d\x1f\xa7\x57\x98\x49\x8d\xfb\x01\x08\x0e\xf7\x2a\xb9\x15\x65\xa5\xb4\x76\xbd\x1b\xf7\x0b\xf3\xf7\x16" -+"\xf7\x2a\xf7\x22\x30\xf3\xfb\x11\x6a\x75\x86\x7d\x73\x1f\x65\x76\x69\x6e\x71\x6b\x08\x6f\x68\x82\x69\x44\x1a\xfc\x1c\x07\x61\x89" -+"\x74\x83\x68\x1e\xe9\x06\x90\xad\x8b\x8d\x8c\xda\x08\x85\xf8\x3f\x15\x8a\xa9\x8f\xac\x92\x99\x08\xae\x9c\xa4\x9e\xa7\x1b\xe9\xdb" -+"\xfb\x00\xfb\x14\xfb\x00\x53\x42\x39\x62\x61\xa8\xb3\x78\x1f\x85\x97\x8a\x92\x8a\xaa\x08\x0e\x3b\xf8\xe0\xf8\x31\x15\xe2\xfb\x77" -+"\x07\x3c\x55\x82\x77\x5d\x1f\x2a\x5f\x54\x3d\x2e\x1a\x49\xa4\x4a\xb9\x57\x1e\x4f\xbf\xc4\x71\xda\x1b\xd0\xc4\xa0\xb4\xb9\x1f\xb8" -+"\xb4\xa6\xc4\xc1\x1a\xd7\x51\xd6\x21\xc8\x1e\x5c\x16\xe1\x32\x9e\x66\x38\x1a\x23\x59\x45\x41\x2f\x3f\xf0\xf7\x0f\xeb\xc9\xca\xe9" -+"\x1e\x0e\xfb\x88\xaf\xf7\xc9\x15\xa7\xd5\xa4\xa4\xb3\x88\x08\xd4\x06\x7c\xfb\x04\x85\x43\x4b\x1a\x21\xb0\x4b\xc9\xb3\xb3\xa8\xb4" -+"\x9b\x1e\x97\xa8\x8f\xa7\x8d\xba\x08\x72\x06\x52\x83\x7d\x77\x6c\x1b\x5f\x69\xb5\xc1\x9b\x8d\xab\x8e\xad\x1f\x8c\x98\x8d\xa7\x8d" -+"\xaa\x8e\xb3\x8b\x93\x8e\xa2\x08\xf7\x38\xea\xfb\x77\x06\x32\x90\x4b\x47\x6f\xfb\x14\x08\x0e\x20\x92\xf8\x00\x15\xa9\x06\xb7\x98" -+"\xa1\xa3\xa7\x1b\xa8\x93\x76\x44\x8c\x1f\x8e\xfb\x36\x8c\x46\xa3\x51\xb3\x6b\x19\x75\xa6\xad\x81\xb7\x1b\xcd\xc5\xa3\xb6\xb0\x1f" -+"\xb2\xba\xa3\xd5\xd5\x1a\xd2\x75\xcb\x64\xb9\x1e\x6b\xb0\x6b\x9f\x48\xa5\x83\x72\x18\xb3\x75\x9d\x7d\x9b\x74\x08\xa7\x65\x9b\x50" -+"\x4a\x1a\x4f\x7e\x4e\x73\x59\x1e\x5f\x76\x6c\x74\x64\x1b\x52\x62\xc7\xe1\x8a\x1f\x88\xf7\x44\x05\xf7\x08\x8a\x70\xb9\x4b\x1b\x6a" -+"\x71\x7e\x70\x78\x1f\x7a\x74\x85\x7e\x79\x51\x08\x0e\xa9\xf9\x33\xf8\x81\x15\xe5\xfc\x88\x07\x4b\x91\x48\x4e\x6f\x34\x08\x9c\x06" -+"\xb9\xb2\xb0\x97\xd3\x8c\x08\x2a\x70\x4d\x24\xfb\x19\x1a\xfb\x1e\x3d\x0a\xf7\x1e\xf7\x1a\x4c\xf3\x29\xa4\x1f\x2c\x16\xb0\x80\xa1" -+"\x7f\xa1\x76\x08\xb6\x63\xa5\x3b\x30\x44\x0a\x70\x1b\x6b\x6c\xa1\xac\x7c\x1f\x82\x9e\x88\x9a\x85\xac\x08\xa3\xcf\x91\xa9\xbd\x1a" -+"\xd0\x77\xb5\x69\x69\x77\x61\x46\x59\x91\x6d\xa3\x47\x1e\x85\x6a\x88\x7c\x82\x78\x08\x6a\x7c\x6c\x75\x6b\x1b\x70\x45\x0a\xde\xa2" -+"\xd9\xb0\xb4\x1e\xa2\xa5\xa4\x9a\xb5\x97\x08\x0e\x8e\xf8\x40\xf8\x7b\x15\xb0\x81\xa1\x7f\xa1\x77\x08\xb6\x63\xa5\x3d\x32\x44\x0a" -+"\x71\x1b\x58\x6b\xb4\xdc\x7d\x1f\xa3\xcf\x91\xa9\xbd\x1a\xd0\x77\xb5\x69\x69\x77\x61\x46\x59\x91\x6d\xa3\x47\x1e\x3a\x7d\x6b\x62" -+"\x58\x1b\x71\x45\x0a\xdc\xa2\xd7\xb0\xb4\x1e\xa2\xa4\xa4\x99\xb5\x97\x08\xa5\x07\x55\x8a\x68\x85\x6c\x7e\x08\x38\x67\x56\x25\xfb" -+"\x10\x1a\xfb\x1f\x3d\x0a\xf7\x1f\xf7\x0a\x5a\xee\x3f\xb3\x1f\x6a\x9c\x65\x92\x4f\x8c\x08\x0e\xfb\x52\xf7\x41\xf9\x90\x15\x8c\x82" -+"\x83\x8c\x86\x1b\x5d\x64\x68\x61\x66\xa0\x75\xbc\x7d\x1f\x72\x73\x7f\x6e\x69\x1a\x64\x9a\x6d\xb1\x65\x1e\x6a\x72\x7a\x7c\x7a\x77" -+"\x08\x67\x61\x75\x4d\x51\x1a\x3c\xb3\x42\xc8\x6e\x1e\x7b\xab\xb2\x85\xc8\x1b\x9c\x8f\x8b\x8c\xa2\x1f\x96\x06\xab\x8d\x05\xb3\x8d" -+"\xa9\x6e\x64\x1a\x65\x70\x6f\x66\x84\x80\x8c\x90\x70\x1e\x8e\x74\x83\x8c\x81\x1b\x72\x7a\x7b\x71\x69\xad\x73\xbc\xbb\xaf\x9e\xb7" -+"\xab\x1f\xa8\xb1\x9b\xb9\xb9\x1a\xb8\x7b\xad\x6a\xa3\x1e\x9d\x74\x75\x90\x5d\x1b\x35\x06\x5f\x6a\x8f\x93\x79\x1f\x60\x9e\x6e\xba" -+"\xc0\x1a\xd1\xb6\xc9\xde\xba\x1e\x81\xa8\x9e\x88\xab\x1b\xda\xbb\xa0\xae\xa2\x71\x98\x5f\x63\x69\x81\x6a\x43\x1f\x61\xaa\x7d\xa0" -+"\xab\x1a\xab\x9e\xa8\xb0\xa7\x1e\xbd\x8d\xad\x91\xa6\x99\x08\xae\x9c\xa0\xa4\xa2\x1a\x9e\x7b\x96\x6f\x66\x61\x74\x52\x4b\x1e\x6c" -+"\x8c\x75\x9d\xa6\x1a\xa1\x9c\x9a\xaf\x95\x1e\x0e\x8e\xf8\x19\xf8\x88\x15\x4a\xfc\x60\x06\x49\x9a\x70\xb3\x84\xe8\x79\xf7\x3d\x18" -+"\x86\xbd\x86\x9e\x7b\xa5\x08\xb0\x74\x62\xa3\x63\x1b\x79\x7c\x88\x81\x6c\x1f\x78\x07\xcc\x80\x95\x80\x94\x44\x99\xfb\x37\x18\x95" -+"\xfb\x0a\xe2\x2e\xf7\x09\x7a\x08\xfb\x6f\xcc\xf7\x6f\x07\xf7\x09\x9c\xe2\xe8\x95\xf7\x0a\x99\xf7\x37\x18\x8d\x98\x8f\xc0\x9c\x9c" -+"\xc8\x95\x19\x9e\x07\x95\x6c\x7c\x8e\x79\x1b\x67\x64\x77\x6b\x74\x1f\x78\x70\x83\x74\x86\x55\x79\xfb\x3d\x18\x84\x2e\x70\x63\x49" -+"\x7c\x08\x0e\xfb\x51\xf7\x6b\xf9\x88\x15\x47\x86\x5e\x65\x56\x1a\x64\xa2\x78\xce\x7b\x1e\x2c\xfb\x12\x66\x27\xfb\x16\x1a\x29\xa1" -+"\x54\xc5\x5e\x1e\x71\xad\xac\x7f\xb5\x1b\x94\x8c\x8b\x8d\xac\x1f\x96\x06\x8d\xa8\x92\x8b\x95\x1b\xba\xa8\x73\x64\x64\x6c\x69\x68" -+"\x83\x84\x8c\x91\x76\x1f\x94\x6a\x82\x8d\x80\x1b\x6b\x73\x77\x70\x6b\xaf\x74\xbe\xec\xd0\xd4\xf4\xe8\x4e\xbd\xfb\x06\x83\x73\x8b" -+"\x8a\x80\x1f\x78\x06\x43\x5b\xc9\xe8\xf7\x0c\xc7\xf7\x1e\xdf\xd6\x1f\xed\x96\xdd\xbe\xbe\x1a\x9e\x7b\x98\x75\x67\x55\x68\x3a\x30" -+"\x1e\x67\x96\x7a\x9e\xa8\x1a\xa6\x9d\xa0\xae\x99\x1e\x0e\xfb\x5f\xf7\x9f\xf8\xc0\x15\x88\xca\xab\xa2\xef\x92\x08\xa3\x07\xfb\x33" -+"\x8f\x54\x6e\x88\x30\x08\xfb\x46\x07\x8e\x56\x6b\x73\x2f\x7e\x08\x73\x07\xb8\x85\x9a\x87\xa5\x7f\xa7\x7d\x91\x80\x8c\x60\x08\xfb" -+"\x69\x07\x8d\x25\xbd\x6e\xf7\x3a\x8f\x08\xa3\x07\x6e\x8c\x6b\x90\x75\x94\x64\x9b\x84\x97\x8a\xbd\x08\xf7\x69\x07\x89\xd0\x6b\xa7" -+"\x2e\x9a\xe6\x9a\xae\xa9\x8c\xc9\x08\x0e\xfc\x77\xcc\x20\x0a\xfd\xe6\xd1\xf9\xe6\x07\x0e\xfb\x5f\xf7\x65\x5b\x15\x8a\x5a\x84\x7f" -+"\x68\x7c\x76\x81\x68\x85\x6c\x8a\x08\x73\x07\xf7\x3a\x87\xbd\xa8\x8d\xf1\x08\xf7\x69\x07\x8c\xb6\x91\x96\xa7\x99\xa4\x97\x9b\x8f" -+"\xb8\x91\x08\xa3\x07\x2f\x98\x6b\xa3\x8e\xc0\x08\xf7\x46\x07\x87\xe6\x55\xa8\xfb\x33\x87\x08\x73\x07\xef\x84\xab\x74\x88\x4c\x08" -+"\xfb\x40\x07\x4d\xaf\x6d\xe5\x7c\x1e\x2f\x7c\x6b\x6f\x89\x46\x08\x0e\xf8\x7d\xf7\xd9\x46\x0a\xa1\x46\x1f\xa2\x42\x73\x90\x6f\x1b" -+"\x52\x5c\x6f\x52\x64\x1f\xb6\x6a\x05\xc0\xb8\x9b\x95\xb1\x1b\xa1\x8b\x8b\x70\xe5\x1f\x72\xdb\x8e\x8a\xaa\x1b\xcc\xbb\x4b\x0a\xf6" -+"\xf9\x71\xf7\x69\x15\x5c\xa1\x79\x9a\x77\xaa\x08\x79\xa8\x80\xb0\xac\x1a\xa8\x93\xad\x98\xa3\x1e\x99\xa5\x9c\x9c\xb4\xab\x08\xc5" -+"\x56\x60\x9f\x42\x1b\x6e\x7c\x88\x7f\x6e\x1f\x7e\x6f\x7b\x87\x79\x1b\x7b\x7d\x8f\x96\x71\x1f\x99\x6a\x7e\x8e\x69\x1b\xfb\x11\x30" -+"\x28\xfb\x1d\xfb\x06\xb9\xfb\x0e\xd9\x2f\x1f\x64\xac\xae\x76\xac\x1b\x9d\x95\x8d\x98\xa9\x1f\x99\xad\xa0\x90\x9e\x1b\x9a\x98\x87" -+"\x7b\xb0\x1f\x81\xa0\x9a\x88\x9f\x1b\xb0\xa0\x95\xab\xab\x1f\xb9\xb9\x8d\x8e\xc8\xf7\x11\x08\xfb\x3b\xf8\xe7\x15\x51\x7b\x70\x7c" -+"\x74\x70\x08\x6d\x6a\x74\x57\x6b\x1a\x8a\x8b\x8b\x8c\x7b\x1e\xc4\x93\xa6\x95\xa6\xa6\x08\xa9\xa9\x9f\xb8\xb4\x1a\x8e\x8b\x90\x8a" -+"\x93\x1e\x0e\xce\xba\xf7\xfd\x15\xe8\x06\x8a\x7e\x8b\x85\x83\x1a\x84\x8b\x84\x8c\x7d\x1e\x46\x06\x74\x52\x05\xf1\x06\xfb\x2b\xb5" -+"\xf7\x17\x25\xf7\x2e\x1b\xd9\xd0\xa4\xc0\xcf\x1f\xdb\x07\x4a\x53\x3f\x67\x37\x1b\xfb\x0e\xfb\x04\xdd\xf7\x06\x6a\x1f\xf8\x09\x06" -+"\xa2\xc4\x05\xfc\x2c\x06\x8a\x98\x8b\x92\x93\x1a\x94\x8b\x90\x8c\x98\x1e\xf8\x43\x06\xa3\xc4\x05\x40\x06\xfc\x04\x06\xf7\x08\xaf" -+"\xf7\x01\xdb\xf7\x0e\x1b\xe0\xd4\x68\x49\xc5\x1f\xa3\xc4\x05\xcf\x45\x3c\xac\x31\x1b\xfb\x2e\xfb\x18\x25\xfb\x2b\x62\x1f\x3c\x06" -+"\x0e\x4c\x95\xf9\x17\x15\x8e\xa1\x95\x8c\x9a\x1b\xd9\xc4\x5e\x39\xa2\x1f\x9c\x51\x95\x3e\x40\x1a\xfb\x3c\x07\x8e\x37\x76\x6f\x45" -+"\x87\x08\x86\x71\xf7\xb3\xa5\x86\x4c\x0a\xf7\x40\x07\xf7\x46\xb8\xf7\x10\xcc\x99\x90\x87\x76\x9c\x1e\x6f\xa2\x99\x83\xa3\x1b\xb0" -+"\xa2\xa2\xb0\xb7\x69\xa7\x54\x41\x4c\x60\x40\x69\x1f\x74\x58\x85\x6c\x7d\xfb\x08\x89\xda\x85\xc4\x80\xb4\x08\xdf\x74\x37\xc1\x20" -+"\x1b\x70\x79\x89\x82\x6c\x1f\x0e\xfc\x48\xa6\x31\x0a\x0e\x47\x0a\xf9\x13\x04\xfc\x85\xfb\x7e\x05\x54\x07\xf8\x85\xfb\x7d\x05\xc9" -+"\x07\xfc\x36\xf7\x5b\xf8\x36\xf7\x5b\x05\x0e\xfc\x98\xfb\x48\x16\xbc\x06\xf8\x6b\xf9\x35\x05\x59\x06\x0e\xa9\xf7\xf9\xf7\x77\x15" -+"\x44\xc5\xd1\x62\xca\x1b\xde\xc4\xc8\xe5\xe3\x50\xc7\x35\x48\x4b\x65\x42\x54\x1f\xd3\x52\x49\xb2\x4c\x1b\x36\x4f\x4c\x33\x34\xc5" -+"\x4e\xde\xc4\xc4\xa6\xbd\xb9\x1f\xcb\xd3\x15\xc8\xb6\xc6\xb0\xc0\x1b\xc1\xb1\x62\x52\x50\x68\x65\x55\x55\x69\xa0\xd7\x45\x1f\x48" -+"\x8d\x15\x4c\x5a\x50\x67\x56\x1b\x57\x68\xb3\xc6\xc4\xb0\xb2\xc1\xbe\xb3\x72\x44\xcd\x1f\x0e\xfb\x4b\xf7\x08\xf8\x3a\x15\x81\x6b" -+"\x05\xf7\x00\x06\x7f\x33\x82\x35\x81\x23\x7e\xfb\x28\x82\x5a\x76\x69\x08\x79\x7f\x7a\x80\x79\x1b\x80\x84\x8f\x92\x8e\x8c\x8f\x8d" -+"\x8d\x1f\x95\x9c\x8d\x90\x97\x1a\x9f\x7b\x9a\x75\x6e\x76\x77\x6e\x65\xad\x6f\xbb\xca\xbc\xba\xe5\xa9\x1e\xac\xeb\x9b\xe2\xa5\xf7" -+"\x76\x8d\x9d\x18\xf7\x0b\x06\x95\xab\x05\xfb\x11\x06\x9d\xf7\x20\x8f\xa3\x97\xa7\x08\xaa\x98\x9e\x9b\xa2\x1b\x98\x92\x86\x83\x87" -+"\x8b\x8b\x84\x7f\x1f\x88\x84\x89\x85\x84\x1a\x75\x9c\x7c\xa3\xa7\xa0\xa0\xa7\xaf\x66\xa6\x58\x2a\x53\x3a\xfb\x4c\x69\x1e\x0e\xd1" -+"\xf8\x4b\x71\x15\x6c\xb9\x84\xa1\xbf\x1a\xa7\x8f\x9b\x93\x92\x90\x87\x70\xa6\x1e\x67\xaf\xa7\x7d\xb3\x1b\xcb\xb3\xb9\xd4\xdb\x5e" -+"\xc2\x4b\x72\x6f\x82\x79\x6f\x1f\x78\x6d\x88\x8a\x80\x1b\x81\x86\x90\x95\x96\x8f\x8f\xa8\x9f\x1f\xb5\xa9\xa2\xb2\xb5\x1a\xce\x4f" -+"\xbf\x3f\x3f\x4f\x57\x48\x61\xa2\x64\xb5\x6d\x1e\xa8\x77\x8f\x87\x80\x1a\x81\x86\x86\x81\x80\x88\x8c\x9e\x6d\x1e\x9d\x6f\x6f\x94" -+"\x72\x1b\x4b\x5e\x54\x3b\x42\xb4\x5d\xcb\xb2\xa8\x99\xaf\xaf\x1f\xa6\xa5\x90\x8f\x93\x1b\x93\x8f\x7b\x6f\x57\x84\x75\x6b\x5d\x1f" -+"\x0e\xd1\xf8\x0a\x67\x15\xf7\x76\xf7\xb9\xfb\x76\xf7\xb9\xfb\x7c\xfb\xb9\x05\x0e\xd1\xf8\x0a\x6a\x15\xc1\xd7\x99\x9f\x96\x9a\xae" -+"\xb8\x19\xc9\xdb\x8b\x8b\x95\x98\x08\xc0\xd3\x9d\xb7\xc8\x1a\xdb\x5d\xc2\x47\x4f\x66\x6c\x43\x70\x1e\x77\x84\x88\x87\x82\x1b\x82" -+"\x88\x8f\x9f\x84\x1f\xd3\x70\x66\xaa\x4f\x1b\x47\x5d\x54\x3b\x48\xa0\x5d\xd1\x32\x1f\xd5\x2b\x90\x85\xac\x5d\x08\x0e\xd1\xf8\x48" -+"\x67\x15\x6d\xb6\x84\xa2\xc4\x1a\xa1\x8f\x97\x93\x8d\x8f\x88\x87\x8e\x1e\x9e\x6d\x8b\x8a\x94\x82\x08\x78\x9c\xa4\x81\xa7\x1b\xca" -+"\xbb\xbf\xce\xbb\x76\xbd\x58\xd2\x1f\xfb\x4e\xf7\x96\xfb\x4e\xfb\x96\x05\x58\x44\x76\x59\x5b\x1a\x48\xbb\x57\xcb\xb1\xa7\x9c\xad" -+"\xa0\x1e\xa2\x99\x8c\x8d\x91\x1b\x92\x8c\x8f\x7e\x75\x1a\x52\x84\x75\x6c\x5f\x1e\x0e\xf7\xfb\xfa\x1d\xf7\xa8\x15\xfd\x8e\x06\x93" -+"\x94\xc5\xc9\xd1\xdd\xad\xb8\x19\x65\xb1\x25\xfb\x0c\x4b\x48\x36\x3e\x19\xdf\x3f\xcc\x46\xf1\xfb\x0b\xb1\xb1\x18\x68\xb8\x46\xdd" -+"\x51\xc9\x83\x94\x18\xf9\x8e\x06\x83\x82\x51\x4d\x46\x3a\x68\x5d\x19\xb1\x65\xf1\xf7\x0b\xcc\xd0\xdf\xd7\x19\x36\xd8\x4b\xce\x25" -+"\xf7\x0c\x65\x65\x18\xad\x5e\xd1\x39\xc5\x4d\x08\x0e\xf7\xc4\xf7\x2c\xf7\x70\x15\xf9\xaa\xc3\xfd\xaa\x06\x93\x94\xc2\xc6\xd4\xe0" -+"\xac\xb7\x19\x65\xb1\x28\xfb\x08\x34\x2f\x4a\x54\x19\xcb\x54\xe3\x2f\xee\xfb\x08\xb1\xb1\x18\x6c\xb4\x45\xdd\x57\xc4\x83\x93\x18" -+"\x0e\x3b\xde\xf9\x01\x15\xb3\xa9\xdf\xd3\xc3\xbe\x93\x93\x18\x94\x93\x05\xfd\xaa\xc3\xf9\xaa\x07\x94\x83\x93\x83\xc3\x58\xdf\x43" -+"\xb3\x6d\x19\xb1\xb1\xfb\x05\xeb\x2a\xe8\x56\xc9\x19\x56\x4d\x2a\x2e\xfb\x05\x2b\x08\x0e\xf7\xc4\xf9\xdb\xf7\x70\x15\x83\x82\x83" -+"\x83\x57\x52\x45\x39\x6c\x62\x19\xb1\x65\xee\xf7\x08\xe3\xe7\xcb\xc2\x19\x4b\xc2\x33\xe7\x28\xf7\x08\x65\x65\x18\xac\x5f\xd5\x35" -+"\xc1\x51\x93\x82\x18\xfd\xaa\x53\x06\x0e\x3b\xf8\xa9\xf7\x9f\x15\x63\x6d\x37\x43\x53\x58\x83\x83\x18\x82\x83\x05\xf9\xaa\x53\xfd" -+"\xaa\x07\x82\x93\x83\x93\x53\xbe\x37\xd3\x63\xa9\x19\x65\x65\xf7\x05\x2b\xec\x2e\xc0\x4d\x19\xc0\xc9\xec\xe8\xf7\x05\xeb\x08\x0e" -+"\xfb\xaf\xf7\x5f\xf9\x42\x15\x35\x48\x48\x36\x35\xcd\x47\xdf\xdf\xcd\xce\xe1\xe1\x4b\xce\x38\x1f\x8a\x52\x15\xbd\xb4\x60\x56\x55" -+"\x62\x61\x57\x57\x61\xb6\xbf\xc2\xb5\xb5\xc1\x1f\x0e\x96\xc2\x15\x54\xf8\xa0\xc2\x07\xfb\x7d\xf8\xf3\x39\x0a\xfb\xa4\x9f\x31\x0a" -+"\xe5\xfb\x66\x33\x0a\x0e\x47\x0a\xfc\x85\xf9\x13\x35\x0a\xf7\x80\xf7\x9f\x15\xfb\x6f\xfb\x70\xb2\x65\xf7\x6f\xf7\x6f\xf7\x6f\xfb" -+"\x6f\xb2\xb1\xfb\x6f\xf7\x70\xf7\x6f\xf7\x6f\x64\xb2\xfb\x6f\xfb\x70\xfb\x6f\xf7\x70\x64\x64\x05\x0e\xa9\xf9\x13\xf8\x31\x15\xfb" -+"\x10\x8e\x5f\x77\x35\x2c\x81\x98\x85\x93\x7c\x9a\x08\xc0\x53\x5b\xa2\x4f\x1b\x2d\x46\x4c\x34\x35\xd0\x4c\xe9\xc7\xbb\xa1\xc1\xc3" -+"\x1f\x9a\x9a\x91\x93\x95\x99\x08\x37\xd3\xc3\x6e\xe7\x1b\xad\x06\x82\xbf\x3d\x88\x46\xab\x4a\xd0\x19\xcc\xcf\xd1\xab\xd8\x88\x08" -+"\xfb\xab\x2a\x15\x46\x50\x5b\x6e\x53\x1b\x4b\x5c\xb4\xc3\xc4\xba\xb4\xcb\xc3\xbd\x6e\x47\xc4\x1f\x0e\xfb\x51\xf6\xf9\x36\x15\xa2" -+"\xb8\xab\x94\xae\x1b\xf1\xc5\x2c\xfb\x38\x6e\x89\x73\x86\x5b\x1f\xbd\x4b\x67\x9b\x58\x1b\x5a\x62\x79\x64\x67\x1f\x5f\x5d\x72\x4c" -+"\x4d\x1a\xfb\x00\xde\x35\xf3\xd0\xc6\xab\xc9\xb5\x1e\xb9\xcf\xac\xf7\x1a\xf7\x09\x1a\xf7\x08\x69\xe7\x47\xd1\x1e\xbc\x5b\x56\xa2" -+"\x4b\x1b\x63\x6a\x84\x76\x53\x1f\xf7\xc0\xfc\x31\x15\x7b\xfb\x03\x81\x60\x71\x58\x08\x56\x71\x60\x6a\x5f\x1b\x54\x6a\xbf\xe1\xf7" -+"\x06\xce\xe9\xdc\xb1\xa4\x7e\x61\xb5\x1f\x0e\xfb\x73\xf7\x7d\xf8\x9a\x15\x25\x3a\x3b\x27\x25\xdb\x3a\xef\xf0\xda\xdb\xf1\xef\x3c" -+"\xdc\x29\x1f\x0e\xf7\xa5\xf7\x12\x15\x69\x6f\x70\x68\x69\xa6\x6f\xae\xac\xa7\xa7\xad\xad\x6f\xa7\x6a\x1f\xf8\x23\x04\x69\x6f\x70" -+"\x68\x69\xa6\x6f\xae\xac\xa7\xa7\xad\xad\x6f\xa7\x6a\x1f\xfb\x9b\xfb\x7b\x15\x54\xf8\xa2\xc2\x07\x0e\xf7\x4f\xf7\x22\x15\x43\xfb" -+"\x23\xb9\x73\xe0\xf7\x3b\x05\xf7\xba\xc2\xfb\x9f\x06\xd2\xf7\x1f\x05\xf7\x58\xc2\xfb\x3d\x06\xcf\xf7\x1a\x5c\xa3\x3b\xfb\x32\x05" -+"\xfb\xbd\x54\xf7\xa2\x06\x45\xfb\x1f\x05\xfb\x5c\x54\x06\x0e\xf8\xae\xf7\xba\x15\xfc\xa0\x54\xf8\xa0\x06\x2a\x04\xfc\xa0\x54\xf8" -+"\xa0\x06\xf7\xfb\x04\xfc\xa0\x54\xf8\xa0\x06\x0e\xf8\x7d\xf7\x8f\x3a\x0a\x6f\x53\x32\x0a\xa7\xc4\xaa\x1f\x65\xf7\x53\x3a\x0a\x70" -+"\x52\x32\x0a\xa8\xc4\xaa\x1f\x0e\xf7\xd1\xf7\x3c\xef\x15\x22\x0a\xf7\xe1\x16\x22\x0a\xf7\xe1\x16\x22\x0a\x0e\x3b\xf7\xe4\xfa\x86" -+"\x15\x53\xfe\xfe\xc3\x06\x0e\xf7\xd1\x4f\xf7\x70\x15\xfa\xea\xc3\xfe\xea\x06\x0e\x72\xf8\xee\xcf\x15\xf8\xc5\x54\xfc\x8d\xfb\xfe" -+"\xdf\x07\xfb\x3e\xfb\x04\xf7\x3e\xfb\x04\x05\xdf\x07\x0e\xf7\x20\xf8\x6c\xf7\xd3\x15\xfb\xac\xf7\xf7\x05\x7f\x74\x86\x75\x73\x1a" -+"\x76\x92\x7b\xa3\x6e\x1e\xd7\x2c\x4d\xfb\x07\x05\x76\x64\x81\x6f\x76\x1a\x75\x95\x72\xa2\x66\x1e\xa7\x5d\x8b\x8a\x7e\x1a\x78\x7d" -+"\x80\x72\x1e\x78\x48\xe5\x06\xb8\xa9\x8f\x92\x99\x1f\x9f\x96\x96\xa4\xad\x1a\xb7\x81\x9f\x50\xdc\x1e\x65\xbd\x7e\xa9\xab\x1a\xa0" -+"\x8f\x97\xa0\xb2\x1e\xf7\xda\xfc\x2e\x05\x97\xa2\x90\x9f\xa0\x1a\xa3\x82\x9d\x6f\xaf\x1e\x61\xc0\x05\x64\xbd\x7f\xa4\xad\x1a\x9e" -+"\x92\xa8\x94\xa2\x1e\xbb\xf7\x08\x05\xa3\x06\xa3\x96\x81\x6f\x90\x1f\x94\xac\x8f\xa8\xaa\x1a\xc4\x79\xa1\x5b\x1e\x41\x06\x60\x7d" -+"\x97\xaf\x1f\x9b\x07\x6b\x6a\x7c\x67\x5f\x1a\x6d\x94\x71\x99\x7d\x1e\x80\x97\x9a\x87\xad\x1b\xb7\x06\x0e\x8e\x95\xc9\x15\x9d\x78" -+"\xa6\x97\x05\x90\x98\x98\x8e\x94\x1b\x97\x93\x88\x7f\xa2\x1f\xf7\x36\x32\x05\x83\x9c\x98\x86\x95\x1b\x9e\xac\x9c\xb3\xc4\x1f\xbb" -+"\xae\x05\xc4\xb3\xa8\xbb\xc3\x1a\xa3\x87\x9e\x80\x9e\x1e\x35\xf7\x35\x05\x77\xaf\x81\xa9\xa0\x1a\x9b\x93\x9c\x9c\x9e\x1e\xe7\xf6" -+"\x05\xcb\xfb\x0f\x47\xa0\x3b\x1b\xfb\x1d\x28\x34\xfb\x0b\x4e\xa8\x52\xbb\x6c\x1f\xa9\x77\xab\x83\xc6\x88\x8d\xa5\x18\x5f\x8e\x74" -+"\x91\x74\x98\x08\x60\xa4\x71\xb9\xbe\x1a\xd5\xcb\xbf\xe5\xc5\xb5\x7f\x59\xf7\x07\x1e\x4a\x3f\x05\x76\x72\x82\x74\x6e\x1a\x72\x92" -+"\x73\x9a\x70\x1e\xde\xfb\x2c\x05\x9a\x6f\x93\x72\x73\x1a\x70\x81\x75\x78\x7b\x1e\x7a\x76\x68\x7f\x6f\x1b\x7b\x80\x8e\x98\x74\x1f" -+"\xfb\x27\xd9\x05\x94\x7b\x80\x8e\x7f\x1b\x7e\x7f\x87\x81\x7c\x1f\x0e\xf7\x04\xd4\xac\x15\x9e\x7b\x05\x99\xa2\x96\x8f\x98\x1b\x9a" -+"\x9a\x83\x77\xa4\x1f\x92\x85\x94\x84\x98\x81\xc0\xa9\xc4\xbe\xba\xc5\x08\xb6\xc4\x98\xb9\xec\x1a\x8c\xd2\x05\xb7\x84\xd4\x7f\xdc" -+"\x1e\xcc\xb5\x05\x94\x99\x95\x8e\x95\x1b\x9b\x97\x85\x79\x9f\x1f\xdf\x3f\xfb\x54\xfb\x19\x98\x75\x05\x94\x06\x9c\x98\x83\x7b\x94" -+"\x1f\x97\x75\x99\x52\x93\x4b\x9e\xfb\x44\x97\x6d\xcd\x6b\xf7\x02\xe3\x18\x7a\xa2\x05\x83\x77\x82\x88\x82\x1b\x78\x82\x99\xaa\x87" -+"\x1f\x6f\xf7\x53\x77\xc9\x56\xd0\xf7\x49\xf7\x15\x18\xfb\x2f\xf7\x1a\x05\x95\x7e\x84\x8f\x83\x1b\x81\x84\x88\x7d\x78\x1f\xfb\x13" -+"\x2f\x05\xd8\x65\x5b\xaa\x39\x1b\xfb\x0e\x31\x37\xfb\x07\x69\x94\x6b\x9c\x72\x1f\x99\x74\x9a\x80\xb0\x79\xbb\x73\x18\xa7\x7d\x96" -+"\x81\x7f\x1a\x82\x86\x84\x7d\x80\x1e\xa4\x78\xaf\xc1\x05\x92\x96\x8f\x95\x96\x1a\xa1\x7c\x9e\x6e\x99\x1e\x55\xa7\x5e\xa1\x7a\x96" -+"\x81\x95\x19\x7b\x9c\x82\xa1\xa3\x1a\xc9\xc4\xbe\xd2\xc2\xb7\x6f\x5b\xa1\x1e\x9a\x69\x98\x33\x40\x1a\x8c\x51\x87\xfb\x25\x7d\x53" -+"\x5b\x43\x19\x42\xbe\x05\x91\x83\x85\x8d\x87\x1b\x86\x86\x88\x84\x82\x1f\x0e\xf7\xc4\xf8\x6b\xf8\xd2\x15\x2c\x4b\x67\x6e\x66\x5e" -+"\x08\x55\x4a\x70\x4b\x4d\x1a\x64\x92\x72\xa5\x51\x1e\x66\x5c\x7d\x77\x7f\x75\x08\x76\x64\x7f\x60\x65\x1a\x6c\x96\x6d\x9e\x73\x1e" -+"\x6f\xa1\xa6\x7f\xb1\x1b\xd4\xb9\xcc\xf2\xc5\x7e\xba\x5a\xf7\x08\x1f\xf7\x59\xf7\x2d\xf5\xe0\xe7\x1b\xc4\xab\x66\x49\x4c\x6f\x38" -+"\x5c\x43\x1f\x3d\x58\x53\x64\x4e\x1b\x6a\x70\xa6\xae\x93\x8d\x98\x8e\x99\x1f\x9a\x8a\x05\xa7\xa2\xa0\xa5\xa2\x7b\x9b\x75\x66\x6e" -+"\x5f\x54\x43\xb9\x5d\xd2\xd9\xe4\xc1\xde\xc5\x1f\xca\xe5\xa7\xd1\xd2\x1a\xe3\x4f\xc1\x28\x3a\x45\x68\x35\x2f\x1e\x66\x69\x6e\x6a" -+"\x3a\x25\x08\x83\xa9\x87\xa4\xa7\x1a\xef\xbd\xda\xf7\x0d\xe4\x1e\xfb\x67\xfc\x61\x15\xba\x30\x9d\x56\x5c\x1a\x72\x83\x73\x7f\x7c" -+"\x1e\x80\x82\x80\x87\x77\x1b\x5d\x71\xaf\xcc\xc4\x9c\xb7\xbd\xcf\x1f\x0e\xe0\xf7\x61\xf8\x7e\x15\xf7\x24\xfb\x21\xfb\x24\xfb\x24" -+"\xb2\x65\xf7\x24\xf7\x24\xf7\x21\xfb\x24\xb1\xb1\xfb\x21\xf7\x24\xf7\x21\xf7\x21\x65\xb2\xfb\x21\xfb\x21\xfb\x24\xf7\x21\x05\xf7" -+"\x27\xf7\x36\x15\xfb\x54\xfb\x30\xfb\x2f\xfb\x53\xfb\x51\xf7\x30\xfb\x30\xf7\x50\xf7\x51\xf7\x31\xf7\x30\xf7\x50\xf7\x50\xfb\x30" -+"\xf7\x33\xfb\x4e\x1f\x51\x04\xf7\x31\xf7\x16\xfb\x16\xfb\x31\xfb\x33\xfb\x16\xfb\x15\xfb\x34\xfb\x33\xfb\x16\xf7\x14\xf7\x32\xf7" -+"\x36\xf7\x15\xf7\x13\xf7\x37\x1f\x0e\xe0\xf7\xfc\xf8\xde\x15\xfb\x6a\xfb\x64\x54\xf7\x64\xfb\x6a\xc3\xf7\x6a\xf7\x64\xc2\xfb\x64" -+"\xf7\x6a\x07\x73\xf2\x15\xfb\x58\xfb\x2d\xfb\x2c\xfb\x56\xfb\x52\xf7\x2e\xfb\x2d\xf7\x54\xf7\x53\xf7\x2d\xf7\x2d\xf7\x54\xf7\x51" -+"\xfb\x2e\xf7\x2f\xfb\x4f\x1f\x8c\x56\x15\xf7\x2f\xf7\x15\xfb\x19\xfb\x34\xfb\x33\xfb\x16\xfb\x17\xfb\x33\xfb\x33\xfb\x16\xf7\x17" -+"\xf7\x35\xf7\x37\xf7\x16\xf7\x14\xf7\x38\x1f\x0e\xf7\x20\xb2\x98\x15\xb0\x66\xef\xef\x05\x52\xce\xe0\x6b\xe3\x1b\xf7\x5e\xf7\x37" -+"\xf7\x37\xf7\x5e\xe4\x6d\xdb\x50\xd2\x1f\xe4\xe4\x66\xb0\x31\x31\x05\xc6\x46\x3a\xa9\x33\x1b\xfb\x5e\xfb\x37\xfb\x37\xfb\x5e\x33" -+"\xab\x36\xc4\x4a\x1f\xb2\xb2\x15\x5b\xc6\x72\xce\xd4\x1a\xf7\x3f\xf7\x1f\xf7\x1e\xf7\x3f\xd4\xd2\x71\x5d\xc2\x1e\xb0\x66\x15\xba" -+"\x55\xa6\x43\x41\x1a\xfb\x3f\xfb\x1f\xfb\x1e\xfb\x3f\x42\x43\xa5\xba\x54\x1e\x0e\xe0\xf9\x70\x16\xf7\x44\x07\x8a\xe4\x79\xc7\x5f" -+"\xc2\x08\xdd\x4a\x27\xb8\xfb\x0a\x1b\xfb\x5d\xfb\x25\xfb\x17\xfb\x4a\x1f\xfb\x56\xc4\x07\x8c\xf7\x5f\x05\xf7\x20\xf7\x11\xf6\xf7" -+"\x37\xe5\xdf\x69\x51\xc0\x1e\xb9\x5a\x9b\x5d\x3c\x1a\xfb\x4c\x07\x0e\xe0\xb3\xf8\x7d\x15\xfb\x44\x07\x8c\x32\x9d\x4f\xb7\x54\x08" -+"\x39\xcc\xef\x5e\xf7\x0a\x1b\xf7\x5d\xf7\x24\xf7\x17\xf7\x4a\x8c\x1f\xf7\x56\x52\xfb\x5f\x07\xfb\x20\x8a\xfb\x11\x20\xfb\x37\x1b" -+"\x31\x37\xad\xc5\x56\x1f\x5d\xbc\x7b\xba\xd9\x1a\xf7\x4c\x07\x0e\xa9\x9f\x16\xf7\xc6\x06\xd0\xab\x8b\x8d\x9c\x1f\xbf\x8e\xb2\x96" -+"\xa8\x9d\x08\xce\xb7\xb5\xd7\xdc\x1a\xbc\x7c\xbb\x6f\xb3\x1e\x67\xbe\x5d\xa9\x4f\x95\x08\x91\x69\x78\x8c\xfb\x01\x1b\xfb\xc6\x53" -+"\xf7\xc8\x06\xc6\xaa\x8b\x8a\x9a\x1f\xba\x87\xaf\x82\xa2\x7d\x08\xbd\x6b\xa9\x52\x4d\x1a\x63\x7f\x65\x74\x6d\x1e\x71\x66\x6a\x78" -+"\x5a\x82\x08\x86\x6a\x79\x8a\x2a\x1b\xfb\xc8\x06\x0e\xa9\x9f\x46\x15\x53\xf9\x1c\xc3\x07\xfd\x1c\xd0\x15\xf7\xc6\x06\xd0\xab\x8b" -+"\x8d\x9c\x1f\xbf\x8e\xb2\x96\xa8\x9d\x08\xce\xb7\xb5\xd7\xdc\x1a\xbc\x7c\xbb\x6f\xb3\x1e\x67\xbe\x5d\xa9\x4f\x95\x08\x91\x69\x78" -+"\x8c\xfb\x01\x1b\xfb\xc6\x53\xf7\xc8\x06\xc6\xaa\x8b\x8a\x9a\x1f\xba\x87\xaf\x82\xa2\x7d\x08\xbd\x6b\xa9\x52\x4d\x1a\x63\x7f\x65" -+"\x74\x6d\x1e\x71\x66\x6a\x78\x5a\x82\x08\x86\x6a\x79\x8a\x2a\x1b\xfb\xc8\x06\x0e\xa9\xf8\xae\xf8\x6a\x15\xab\xd1\x05\x59\x06\x6b" -+"\x45\x05\x23\x06\x46\x6b\x4e\x0a\x6d\x50\x0a\x40\xae\x45\xc6\x5e\x1e\xb0\x6f\xb2\x7f\xcf\x87\x6a\x44\x18\xbd\x06\xab\xd1\x05\xf8" -+"\x03\xc3\xfb\xe9\x06\xf7\x38\xf7\xfa\x05\xf7\x45\xc3\x06\xfc\x1b\xfc\x31\x15\x52\x8c\x60\x94\x6f\x9c\x30\x0a\xdc\x06\x0e\xa9\xf9" -+"\x46\xf8\x6a\x27\x0a\xa9\xb0\x46\x15\x53\xf9\x1c\xc3\x07\x90\xf8\xaf\x27\x0a\xa9\xf0\xf7\x9b\x15\x91\xb2\x9c\xae\xa6\xa5\xb9\xb7" -+"\xb3\x93\xf7\x2d\x8a\x08\xf7\x07\xc3\xfb\x05\x06\x47\x6a\x2c\x0a\xf7\x05\xc3\xfb\x07\x06\xfb\x2d\x8a\x63\x93\x5d\xb7\x70\xa5\x7a" -+"\xae\x85\xb2\x08\xf8\x28\xc3\x06\x0e\xa9\xf8\x13\xf8\x32\x15\xf7\x0e\xc3\x2d\x06\xaa\xc8\x5c\xa3\x60\x36\x20\x8a\x7d\x8a\x5f\x7b" -+"\x19\x39\x6d\x4f\x2f\x2c\x1a\x40\xac\x48\xc7\x5c\x1e\x63\x3b\xb9\x73\xb2\xd9\x05\x79\xc2\xa0\x89\xf7\x19\x1b\xf7\x05\xc3\xfb\x07" -+"\x06\xfb\x08\x78\x8c\x99\x5d\x1f\xd0\xf7\x1c\x05\xf7\x77\xc3\xfb\x5b\x06\x9d\xf7\x2b\x15\x3f\xfb\x2b\x05\xfb\x27\x06\x9f\xf3\xcf" -+"\xbb\xf7\x12\x8a\x08\xfb\x2b\xfb\xd2\x15\x69\xa6\x75\xb1\x84\xb9\x08\xf7\x0b\x06\x0e\xe0\xa5\x16\xf9\x37\x8a\x8d\xc5\x05\xfc\xaa" -+"\x06\xf8\xcd\xf8\xd3\x5e\xb3\x05\x0e\xa9\xf9\x3d\xf9\x43\x15\xfd\x19\x06\xf7\xc3\xfd\x43\x05\xf7\xa3\xf9\x10\x15\xfb\x7e\xfc\x5e" -+"\xfb\x67\xf8\x5f\x05\x0e\xf6\xf8\x8b\xf7\x32\x15\xee\x9d\x06\x71\x8d\x80\x92\x72\xa8\x21\xf7\x13\x18\xcc\x95\xb1\xaf\xc0\x1a\xb4" -+"\x76\xaa\x65\x9c\x1e\x96\x72\x71\x8f\x54\x1b\xfb\x32\x79\x06\xb9\x88\x92\x84\x66\x1a\xfb\x93\x07\x65\x84\x84\x5d\x88\x1e\x79\xf7" -+"\x43\x9d\x07\x5d\x8e\x84\x92\xb1\x1a\xf7\x01\xa6\x07\x70\xf7\x33\x15\xa0\x8d\x8c\xad\xca\xa8\x74\x57\x53\x6b\x75\x3b\x87\x86\x8b" -+"\x8c\x84\x1e\xc5\xf7\xdc\x29\x0a\xf7\x17\xf7\x1d\xf7\x36\x1f\x0e\xf6\xf8\xc2\xf8\x27\x15\x86\xf7\x1c\x05\x77\x06\x78\x82\x89\x89" -+"\x80\x1b\x86\x85\x8c\x8f\x82\x1f\x96\x6c\x73\x90\x6d\x1b\xfb\x0d\x36\x37\xfb\x0c\xfb\x0a\xdd\x3c\xf7\x0e\xcc\xbc\xa2\xbf\xbb\x1f" -+"\x7c\x9c\x05\x5f\x5b\x68\x7c\x56\x1b\x35\x56\xcb\xf3\xf4\xbe\xcb\xdf\xcc\xb6\x67\x46\x9c\x1f\xfb\x21\xf7\xb3\x29\x0a\xf7\x18\xf7" -+"\x1d\xf7\x35\x1f\x0e\xf7\x63\xf9\xeb\x20\x0a\xfb\x1a\x06\xfb\x0a\xfb\xb7\xfb\x0b\xf7\xb7\x05\xfb\x0c\x75\x06\xb3\x8c\x8b\x7a\x1f" -+"\xfb\xc3\x07\x68\x8a\x85\x86\x61\x1b\x75\xf7\x1b\xa1\x07\x68\x7e\x95\xa8\x8c\x1f\xf7\xa1\x07\xf7\x18\xfb\xde\x05\xa1\x06\xf7\x1f" -+"\xf7\xee\x05\xfb\xb6\x07\x70\x89\x81\x84\x63\x1b\x75\xf7\x3e\xa1\x07\x62\x8d\x84\x90\x8a\xa6\x08\xf7\xc9\x07\x8a\x98\x94\x90\xa4" -+"\x8a\x08\x9b\x06\xfc\x94\xa1\x15\xfb\xd9\xfb\x02\x9f\x06\x90\xc8\x99\x95\xdd\x8e\x08\x91\xfb\xce\x06\x6f\x8a\x84\x87\x54\x1b\x75" -+"\xf7\x55\xa1\x07\x53\x85\x8e\xa6\x8c\x1f\xf7\xd0\x8d\x07\xe2\x8a\x9b\x80\x8c\x4d\x08\xa2\x06\x0e\xf7\x20\xa4\xfb\x10\x15\xf7\xb6" -+"\x21\x0a\xf8\xd4\x07\xc9\x8f\xa0\x99\x98\x1e\x9c\x9d\x97\x8c\xf7\x21\x1b\xf7\x23\x97\x8a\x7a\x9d\x1f\x99\x7e\x8f\x76\x4d\x1a\xfc" -+"\xd4\x25\x0a\x71\xf7\xb6\x21\x0a\xf8\xe3\x07\x3e\x0a\xfd\x9e\x24\x0a\xfc\xe3\x25\x0a\x06\x0e\xf7\xff\x68\x15\xf7\x2c\xfa\x43\x68" -+"\x90\xfb\x13\xfd\xaa\xfb\x59\xf8\x21\xfb\x26\x44\x9b\x68\xea\xba\x05\x0e\xfc\x45\xf7\x0c\xf7\xcb\x15\x6f\x74\x74\x6f\x6f\xa1\x74" -+"\xa7\xa7\xa1\xa2\xa7\xa7\x75\xa2\x70\x1f\x0e\xa9\x9a\xf8\x03\x15\x4f\xf8\xf2\xfb\x9f\xc6\xf7\xdb\x07\x0e\x3b\xf7\xc4\xf8\x70\x15" -+"\xfb\xad\xfc\x53\xb9\x6d\xf7\x7e\xf8\x07\xf7\x7e\xfc\x06\xb9\xab\x05\x0e\x3b\xf7\xc3\x8a\x15\xf7\xa7\xf8\x53\x5d\xa9\xfb\x78\xfc" -+"\x06\xfb\x78\xf8\x05\x5d\x6b\x05\x0e\xf7\xfb\xf7\x85\xf8\x0b\x15\x9d\x9f\x98\x9b\x96\x99\x9e\xa4\x97\x9a\x90\x92\x60\xad\x18\x44" -+"\x30\x27\x22\x3d\x49\xdb\x47\xec\x24\x43\x0a\xf8\xcc\x06\x79\x77\x7f\x7c\x7f\x7c\x78\x72\x7f\x7b\x86\x85\xb6\x69\x18\xd3\xe7\xec" -+"\xf2\xdb\xcf\x3d\xcd\x27\xf4\x44\xe6\x48\x0a\xfc\xfc\x54\x15\xf9\x2c\x06\xb4\x61\xa3\x74\x99\x80\x7b\x7d\x79\x7a\x5e\x5d\x08\xfd" -+"\x2c\x06\x5e\xb8\x78\x9e\x7c\x98\x9a\x97\x92\x92\x9d\x9d\xab\xaa\x18\x0e\xf7\xc4\xfa\x3f\xf7\xd4\x15\xc2\xfd\x4b\x07\x9d\x9f\x98" -+"\x9b\x96\x99\x9e\xa4\x97\x9a\x90\x92\x60\xad\x18\x50\x3d\xfb\x07\xfb\x0d\x40\x4c\xda\x48\xed\x23\x43\x0a\xf9\x4b\xc2\xfd\x7a\x06" -+"\x88\x8d\x89\x8e\x89\x8d\x80\x96\x80\x96\x80\x95\x7a\x9c\x83\x93\x7c\x98\x9c\x9a\x95\x94\xc0\xc0\x08\x0e\x3b\xf8\x10\xf9\x7a\x15" -+"\xfd\x7a\xc2\xf9\x4b\x07\x9f\x7a\x9a\x7e\x9a\x7f\xae\x70\x18\x98\x81\xad\xb6\x3e\xc5\xfb\x10\xf7\x0a\x4c\xd5\x19\x48\x3c\x22\x28" -+"\x2f\x43\xad\x60\x18\xb9\xaf\xab\xa5\x9f\x9c\x08\xfd\x4b\xc2\xf9\x7a\x07\x8d\x8e\x8d\x8d\x8e\x8d\x98\x98\x18\x91\x92\x92\x91\x92" -+"\x92\x9c\x9c\x92\x93\x98\x9a\x9c\x78\x8b\x8a\xc1\x55\x08\x0e\xf7\xc4\xb8\xf7\x3b\x15\x54\xf9\x4b\x07\x79\x77\x7f\x7c\x7f\x7c\x78" -+"\x72\x7f\x7b\x86\x85\xb6\x69\x18\xd3\xe8\xe8\xec\xdf\xd4\x38\xd2\x2c\xee\x44\xe7\x48\x0a\xfd\x4b\x54\x06\xf9\x7a\x8c\x92\x84\xac" -+"\x6a\x9c\x7a\x93\x83\x9a\x7f\x19\x7b\x7d\x82\x82\x7c\x7c\x80\x7f\x80\x81\x81\x80\x89\x8a\x89\x88\x87\x88\x08\x0e\x3b\xf7\x7b\xf7" -+"\x3b\x15\xf9\x7a\x54\xfd\x4b\x07\x77\x9c\x7c\x98\x7c\x97\x68\xa6\x18\x86\x8f\x88\x8e\x86\x8e\x69\x60\x18\xda\x50\xf7\x0e\xfb\x08" -+"\xca\x40\xcd\xd9\xf7\x01\xf2\xe4\xd0\x69\xb6\x18\x5d\x67\x6b\x71\x77\x7a\x08\xf9\x4b\x54\xfd\x7a\x07\x84\x84\x6a\x6a\x7a\x7a\x84" -+"\x83\x7e\x7c\x19\x7a\x9e\x8b\x8c\x55\xc1\x08\x0e\xfb\x51\xf7\x65\x16\xc7\x8a\xf7\x59\xf8\x0b\xfb\x51\xf8\x02\x05\x4c\x06\xfb\x58" -+"\xfb\xff\x05\xf7\x72\xfb\xd3\x15\xfb\x33\xf7\xd2\xf7\x38\xf7\xc7\xf7\x31\xfb\xca\x05\x0e\xfb\xf6\xf7\x92\xf9\x89\x15\xfb\x79\xfc" -+"\x5a\xf7\x79\xfc\x5b\xbf\xa4\xfb\x6b\xf8\x42\xf7\x6b\xf8\x42\x05\x0e\xf6\xf7\x8d\xf8\xa3\x15\xfc\x1a\xbe\xf7\x3c\xe2\x07\xdf\x8a" -+"\x9d\x7c\x8f\x3e\x8d\x58\x8d\x7d\x91\x81\x08\xbd\x06\x85\x97\x89\x97\x89\xb2\x89\xdf\x7f\xa2\x59\x9d\x08\xb8\x9e\xa2\xab\xb7\x1a" -+"\xb1\x7a\xaa\x6b\x9e\x1e\x99\x76\x71\x90\x61\x1b\xfb\x01\x62\x15\xed\x06\xce\xab\x74\x5c\x5a\x69\x74\x43\x1f\x30\x06\xef\xf7\xe3" -+"\x15\xfb\x58\xfb\x2e\x42\x0a\xf7\x53\xf7\x2e\xf7\x2f\xf7\x52\xf7\x51\xfb\x2e\xf7\x31\xfb\x4e\x1f\x8a\x65\x15\xf7\x37\xf7\x1c\xfb" -+"\x20\xfb\x3c\xfb\x3d\xfb\x1c\xfb\x1e\xfb\x3b\xfb\x3b\xfb\x1c\xf7\x1e\xf7\x3d\xf7\x40\xf7\x1b\xf7\x1c\xf7\x40\x1f\x0e\xf6\xf8\xa3" -+"\xf7\xbc\x15\x3e\x81\x5c\x5f\x42\x1b\x37\x53\xca\xec\xeb\xc3\xcc\xe0\xcc\xba\x68\x50\x97\x1f\xbc\x06\xda\x84\x43\xc5\x2f\x1b\xfb" -+"\x07\x3c\x38\xfb\x0d\xfb\x0d\xd8\x39\xf7\x06\xf0\xd2\xcc\xee\x93\x1f\xfb\x46\xf8\x13\x15\xfb\x57\xfb\x2f\x42\x0a\xf7\x52\xf7\x2f" -+"\xf7\x2f\xf7\x52\xf7\x51\xfb\x2e\xf7\x31\xfb\x4e\x1f\x8a\x65\x15\xf7\x37\xf7\x1c\xfb\x20\xfb\x3c\xfb\x3d\xfb\x1c\xfb\x1e\xfb\x3b" -+"\xfb\x3a\xfb\x1d\xf7\x1e\xf7\x3d\xf7\x40\xf7\x1c\xf7\x1c\xf7\x3f\x1f\x0e\xf2\xf8\xad\xf7\xa9\x15\xf7\x19\xf7\xee\x05\xfb\xee\xc2" -+"\xf8\x20\x32\x07\xfb\x08\xfb\xb7\xfb\x02\xf7\xb7\x05\x31\xfc\x20\xc2\xf7\xee\x06\xf7\x15\xfb\xee\x05\xfb\xd8\xf7\xee\x15\xf7\x02" -+"\xbd\xfb\xb1\x59\xf7\x04\xfb\xee\xca\x06\x0e\xa9\xf7\x44\xf9\x5b\x15\xf7\xa0\x06\xf7\x08\x8a\xa9\x75\x9b\x26\x08\xa5\x06\x81\xf7" -+"\x39\x05\xfc\xeb\x06\xf7\x7d\xfc\x67\xfb\x86\xfc\x2c\x05\xf9\x07\x06\xc1\xf7\x66\x05\x71\x06\x6d\x3b\x69\x78\xfb\x06\x8c\x08\xfb" -+"\xdc\x06\xf7\x5d\xf7\xf4\x05\x0e\xfb\xbf\xb3\xfb\xb9\x15\xbf\xf8\x43\x06\xf7\x62\xcd\xf7\x92\xe0\xf7\x0b\x1e\xc8\xe5\xd1\xd3\xc9" -+"\xaf\x7d\x96\x18\x32\x5a\x54\x62\x59\x4f\x08\xfb\x0a\xfb\x20\x45\xfb\x78\xfb\x84\x1a\x0e\xfb\xbf\xb3\x3c\x15\xbf\xfa\x80\x57\x06" -+"\x0e\xfb\xbf\xb3\xfa\x32\x15\xfc\x61\x07\xfb\x73\xc6\xfb\x65\xf4\xfb\x26\x1e\xc2\x40\xc2\x5e\xf7\x00\x4f\x99\x96\x18\xfb\x71\xf7" -+"\x24\xfb\x08\xf7\x9b\x84\xf8\x06\x08\xf8\x43\x07\x0e\xfb\xbf\x3b\x04\xc2\xfa\x4b\xf7\xb2\xc2\xfb\xe9\x06\x0e\xfb\xbf\xfa\x31\x04" -+"\xfe\x86\xc2\xfa\x86\x07\x0e\xfb\xbf\xfa\x32\x04\xfe\x82\xf7\xe8\xc2\xfb\xb1\xfa\x4b\x07\x0e\xfb\x51\xf7\x93\x40\x15\xf9\x4a\x07" -+"\x89\xf7\x42\xb9\xd2\xf7\x20\xb3\x08\xa1\x07\xfb\x44\x71\x4d\x3f\xfb\x4f\x1a\xfd\x5c\x07\x0e\xfb\x51\xf7\x93\xfa\x3b\x15\x55\xfb" -+"\x84\x06\x8e\xfb\x26\x54\x46\xfb\x1b\x78\x08\x4e\x07\xf7\x1b\x78\xc2\x46\x88\xfb\x26\x08\xfb\x8f\xc1\xf7\xa4\x07\x8d\xf7\x1d\x55" -+"\xd5\xfb\x15\xac\xf7\x14\xaa\xc3\xd6\x88\xf7\x1d\x08\x0e\xfb\x51\xf7\x93\xfa\x32\x15\x55\xfd\x57\x06\xfb\x4f\xc9\x3f\xf7\x44\x71" -+"\x1e\xa1\x07\xfb\x20\xb3\x5d\xd2\x8d\xf7\x42\x08\x0e\xfb\x51\xf7\x5d\xfa\x31\x15\xfe\x80\xc1\xfa\x80\x07\x0e\xfb\xf6\xd4\xf9\x89" -+"\x15\x57\x73\xf7\x6b\xfc\x42\xfb\x6b\xfc\x42\xbf\x72\xf7\x79\xf8\x5b\x05\x0e\xfc\x2d\xf7\x48\xf8\xd4\x15\xd8\x8a\xb1\x88\xc2\x1e" -+"\x89\xa7\x8a\xa5\x9a\x1a\xb3\x96\xa2\x9d\x91\x90\x89\x87\x8d\x1e\x70\x9c\x92\x85\x9c\x1b\x9f\x9a\x99\x9d\xa6\x73\x9d\x67\x5e\x69" -+"\x6e\x5a\x7d\x1f\x7c\x55\x81\x25\x22\x1a\xfb\xed\x07\x43\x8c\x67\x8e\x4e\x1e\x8d\x6e\x8c\x6d\x7b\x1a\x68\x7f\x74\x78\x83\x84\x90" -+"\x98\x85\x1e\x9c\x82\x83\x90\x7d\x1b\x77\x7c\x7d\x78\x71\xa3\x79\xaf\xb8\xad\xa8\xbc\x99\x1f\x9a\xc1\x95\xf0\xf5\x1a\x0e\x8e\xf7" -+"\xe0\x38\x15\xde\xf8\x68\x06\xf7\x42\xab\xf7\x33\xbe\xd9\x1e\xb9\xa9\xae\xa6\xaa\x1b\x90\x8e\x8a\x89\x92\x1f\x7c\x7e\x85\x80\x7a" -+"\x1a\x6d\xa6\x73\xad\xb2\xa6\xa9\xb4\xb9\x67\xad\x5b\x50\x48\x5b\x37\x52\x1e\x3d\xfb\x06\x65\xfb\x29\xfb\x56\x1a\x0e\x8e\xf7\xe0" -+"\x33\x15\xde\xfa\xbb\x38\x06\x0e\x8e\xf8\x33\xfa\x2d\x15\x38\xfc\x65\x06\xfb\x42\x6b\xfb\x33\x58\x3d\x1e\x5d\x6d\x68\x70\x6c\x1b" -+"\x86\x88\x8c\x8d\x84\x1f\x9a\x98\x91\x96\x9c\x1a\xa9\x70\xa3\x69\x69\x72\x6e\x61\x5d\xac\x69\xb8\xc5\xcd\xbb\xdf\xc5\x1e\xd9\xf7" -+"\x06\xb1\xf7\x29\xf7\x56\x1a\x0e\xfb\xbf\xf8\x56\xfb\xb9\x15\xf8\x61\x07\xf7\x73\x4f\xf7\x68\x23\xf7\x23\x1e\x53\xd6\x4f\xbd\x25" -+"\xc2\x7d\x80\x18\xc3\x6a\xc6\x52\xc4\x3f\xf4\xfb\x17\xcd\xfb\x80\x8c\xfb\x88\x08\xfc\x43\x07\x0e\xfb\xbf\xf8\x56\xfa\x3b\x15\x57" -+"\xfe\x81\xbf\x06\x0e\xfb\xbf\xf8\x56\xfa\x32\x15\x57\xfc\x43\x06\xfb\x70\x4f\xfb\x7c\x31\xfb\x14\x1e\x4e\x32\x46\x44\x4b\x66\x99" -+"\x80\x18\xe1\xb9\xc4\xb7\xbe\xc7\x08\xf7\x0a\xf7\x20\xd1\xf7\x78\xf7\x84\x1a\x0e\xfb\xbf\xf7\xfc\x3b\x15\xfa\x82\xfb\xe6\x54\xf7" -+"\xaf\xfe\x4b\x07\x0e\xfb\xbf\xf7\xc5\xfa\x31\x15\xfe\x86\xc2\xfa\x86\x07\x0e\xfb\xbf\xf7\xfc\xfa\x32\x15\x54\xfe\x4b\xfb\xb1\x54" -+"\xf7\xe8\x06\x0e\xfb\x51\xf7\x5d\x40\x15\xc1\xf9\x5c\x06\xf7\x4f\x4d\xd7\xfb\x44\xa5\x1e\x75\x07\xf7\x20\x63\xb9\x44\x89\xfb\x42" -+"\x08\x0e\xfb\x51\xf7\x60\xfa\x3b\x15\xfb\x99\x07\x88\xfb\x1c\xc3\x40\xf7\x15\x6b\xfb\x15\x6a\x53\x41\x8e\xfb\x1d\x08\xfb\xa4\xc1" -+"\xf7\x8f\x07\x86\xf7\x25\xc3\xd1\xf7\x1c\x9e\x08\xc8\x07\xfb\x1c\x9e\x53\xd1\x90\xf7\x25\x08\xf7\x84\x07\x0e\xfb\x51\xf7\x5d\xfa" -+"\x32\x15\xfd\x45\x07\x8d\xfb\x42\x5d\x44\xfb\x20\x63\x08\x75\x07\xf7\x44\xa5\xc9\xd7\xf7\x4f\x1a\xf9\x57\x07\x0e\xfb\x8e\x8b\x1c" -+"\x05\x46\x8b\x06\xc3\x0a\xe3\x0b\xaa\x8e\x8f\x90\x8e\x8e\x8f\x8e\x8e\x9c\x92\x91\x0c\x0c\xb6\x91\x8f\x8e\x95\x8e\x94\x90\x90\x95" -+"\x90\x90\x0c\x0d\xf8\xb9\x14\xf9\x3f\x15\xbb\x13\x00\x31\x02\x00\x01\x00\x05\x00\x09\x00\x13\x00\x17\x00\x22\x00\x2c\x00\x3f\x00" -+"\x5f\x00\xae\x00\xed\x01\x15\x01\x3e\x01\x58\x01\x61\x01\x6c\x01\x73\x01\x8e\x01\x93\x01\xa2\x01\xbb\x01\xbe\x01\xd4\x01\xd8\x01" -+"\xe0\x01\xe4\x01\xf9\x02\x03\x02\x0a\x02\x1d\x02\x30\x02\x3a\x02\x49\x02\x50\x02\x5e\x02\x6b\x02\x78\x02\x84\x02\x90\x02\x9b\x02" -+"\xa6\x02\xb1\x02\xb6\x02\xc0\x02\xc5\x02\xce\x02\xd7\x02\xe0\x02\xe9\x02\xf2\xf9\x35\x15\x0b\xa5\x36\x0a\x0b\x49\x0a\xa4\xab\xa9" -+"\x72\xa5\x6d\x1f\x0b\x3b\x0a\x71\x0b\x71\x8e\x06\xd1\x87\xa0\x70\x88\x36\x08\x0b\x07\x8e\x36\x76\x70\x45\x87\x08\x88\x0b\x15\x68" -+"\x6f\x6f\x69\x68\xa7\x6f\xad\xad\xa7\xa7\xae\xac\x6f\xa8\x6a\x1f\x0b\x15\xfb\xc6\x06\x46\x6b\x2c\x0a\xf7\xc6\xc3\xfb\xc8\x06\x50" -+"\x6c\x8b\x8c\x7c\x1f\x5c\x8f\x67\x94\x74\x99\x30\x0a\xf7\xc8\x06\x0e\x15\xfb\x5c\xfb\x21\xfb\x25\xfb\x61\xfb\x5e\xf7\x22\xfb\x27" -+"\xf7\x57\xf7\x57\xf7\x22\xf7\x26\xf7\x5f\xf7\x5d\xfb\x22\xf7\x29\xfb\x53\x1f\x81\x64\x15\xb8\xb9\x7a\x6d\xae\x1f\xcb\x56\xae\x2a" -+"\xfb\x0e\x1a\xfb\x05\x6c\x2e\x54\x59\x1e\x6e\x6c\x5b\x7a\x5a\x1b\xfb\x1b\x32\xf7\x11\xf7\x51\xf7\x55\xda\xf7\x06\xf7\x1a\x1f\x0e" -+"\x15\xfb\x51\xfb\x2f\xfb\x32\xfb\x56\xfb\x56\xf7\x2f\xfb\x31\xf7\x52\xf7\x50\xf7\x31\xf7\x31\xf7\x52\xf7\x5b\xfb\x2c\xf7\x31\xfb" -+"\x56\x1f\x5e\x04\xf7\x39\xf7\x16\xfb\x1d\xfb\x41\xfb\x3a\xfb\x19\xfb\x1d\xfb\x35\xfb\x36\xfb\x18\xf7\x1d\xf7\x3d\xf7\x3e\x0b\x15" -+"\xb0\x8f\x9d\x92\xa6\x9f\x08\xb2\xa8\x9c\xab\xb6\x1a\xbc\x6a\xb1\x5f\x6d\x74\x72\x6b\x6b\xa2\x71\xa8\x94\x92\x8c\x8f\x99\x1e\x8d" -+"\x61\x60\x5e\x5a\x82\x08\x0e\x15\x73\x06\x86\x4f\x79\x7b\x4b\x8c\x08\x69\x06\x4e\x77\x9c\xc5\x88\x1f\x73\xfb\x7a\xa3\x06\x90\xc9" -+"\x9a\x98\xce\x8c\x08\xac\x06\xcd\x9a\x7d\x4d\x8f\x1f\xa3\x06\x0b\x4e\x0a\x6e\x50\x0a\x5a\x9a\x5b\xa7\x63\x1e\xaf\x58\xb9\x6d\xc7" -+"\x81\x08\x85\xad\x9e\x8a\xf7\x01\x1b\x0b\x3e\x0a\xfb\xb0\x23\x0a\xf7\xb0\x0b\x2f\x0a\xe0\xa0\xa6\xd1\x8f\x08\x8e\xa5\x0b\x37\x0a" -+"\xf8\x19\x07\x88\x0b\x08\x59\xab\x6d\xc4\xc9\x1a\xb3\x97\xb1\xa2\xa9\x1e\xa5\xb0\xac\x9e\xbc\x94\x08\x90\xac\x9d\x8c\xec\x1b\x0b" -+"\xf8\x7a\x33\x0a\x0b\x63\x1f\xb6\x69\x05\xc0\xb9\x9c\x95\xb2\x41\x0a\xcb\xba\x0b\x15\x9a\x81\xf7\x3a\xf7\x41\x05\x9a\x9c\x90\x94" -+"\x99\x1a\xa3\x70\xa1\x6e\x79\x80\x81\x6e\x7d\x1e\x0b\x38\x0a\x0e\x15\x4d\x07\xf8\x36\xfb\x5b\xfc\x36\xfb\x5b\x05\x4d\x07\xf8\x85" -+"\xf7\x7d\x05\xc2\x07\x0e\x88\x4d\x0a\x0b\x25\x0a\x71\xf7\xb0\x21\x0a\x0b\x3b\x0a\x06\x0b\x15\x54\xfb\x83\xfb\x81\x54\xf7\x81\xfb" -+"\x83\xc2\xf7\x83\xf7\x81\xc2\xfb\x81\x06\x0e\x40\x0a\x42\x73\x90\x6f\x1b\x50\x5c\x0b\x24\x0a\xfc\x19\x25\x0a\x0b\x1a\x72\x7e\x7f" -+"\x69\x87\x1e\x71\xf7\x82\xa5\x07\x54\x98\x89\x8d\x5e\xf0\x0b\xd9\x22\xf1\xc8\xb9\xac\xcf\xad\x1e\x47\xad\xb9\x6a\xc8\x1b\xf1\xd9" -+"\xf4\x0b\x88\xe0\xa0\xa6\xd1\x8f\x08\x8e\xa5\x0b\x06\xe6\x89\xae\x6d\x99\x32\x08\xa5\x06\x81\xf7\x36\x05\x0b\x46\x0a\xa0\x46\x1f" -+"\xa2\x0b\x1b\xa0\x8b\x8b\x70\xe6\x1f\x73\xda\x8f\x8a\xaa\x1b\x0b\xfb\x2d\xfb\x55\xfb\x52\xf7\x2f\xfb\x2f\xf7\x52\x0b\xd3\x2f\xb6" -+"\xad\x18\x68\xb8\x71\xab\x7a\x9f\x08\x0b\x1a\x4a\x7f\x4d\x78\x67\x1e\x74\x7f\x72\x7c\x0b\x72\x9a\xa2\x7f\x1f\x78\xaf\x7f\xc9\xcc" -+"\x1a\x0b\x15\x57\x5e\x76\x7f\x64\x1b\x78\x80\x8e\x0b\xf8\xa2\xc2\x15\xfc\x85\x54\xf8\x85\x06\x0b\x60\x69\x18\xae\x5f\xa5\x6a\x9c" -+"\x77\x08\x0b\x4f\x0a\xaa\xa4\x0b\xa5\x07\x64\x8d\x7b\x98\xa5\x1a\x9b\x0b\xa8\xc4\xaa\x1f\x0e\x06\x45\x8f\x76\xa7\x8e\xdf\x08\x0b" -+"\x06\x45\x8f\x76\xa6\x8e\xe0\x08\x0b\x8b\x89\x7a\x1f\x57\x88\x64\x80\x0b\x6b\x72\x72\x6c\x6b\xa4\x72\xaa\x0b\x79\x08\x48\x5f\x61" -+"\x3f\x3a\x1a\x0b", 16196 -+}; -diff -up texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/FontStyle.hpp.301 texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/FontStyle.hpp ---- texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/FontStyle.hpp.301 2022-01-21 12:25:16.000000000 -0500 -+++ texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/FontStyle.hpp 2023-01-17 15:53:51.712205404 -0500 -@@ -2,7 +2,7 @@ - ** FontStyle.hpp ** - ** ** - ** This file is part of dvisvgm -- a fast DVI to SVG converter ** --** Copyright (C) 2005-2022 Martin Gieseking ** -+** Copyright (C) 2005-2023 Martin Gieseking ** - ** ** - ** This program is free software; you can redistribute it and/or ** - ** modify it under the terms of the GNU General Public License as ** -diff -up texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/FontWriter.cpp.301 texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/FontWriter.cpp ---- texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/FontWriter.cpp.301 2022-01-21 12:25:16.000000000 -0500 -+++ texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/FontWriter.cpp 2023-01-17 15:53:51.713205415 -0500 -@@ -2,7 +2,7 @@ - ** FontWriter.cpp ** - ** ** - ** This file is part of dvisvgm -- a fast DVI to SVG converter ** --** Copyright (C) 2005-2022 Martin Gieseking ** -+** Copyright (C) 2005-2023 Martin Gieseking ** - ** ** - ** This program is free software; you can redistribute it and/or ** - ** modify it under the terms of the GNU General Public License as ** -@@ -68,7 +68,7 @@ vector FontWriter::supportedForm - - #ifdef DISABLE_WOFF - // dummy functions used if WOFF support is disabled --FontWriter::FontWriter (const PhysicalFont &font) : _font(font) {} -+FontWriter::FontWriter (const PhysicalFont &font) : _currentFont(font) {} - std::string FontWriter::createFontFile (FontFormat format, const set &charcodes, GFGlyphTracer::Callback *cb) const {return "";} - bool FontWriter::writeCSSFontFace (FontFormat format, const set &charcodes, ostream &os, GFGlyphTracer::Callback *cb) const {return false;} - #else -@@ -77,137 +77,50 @@ bool FontWriter::writeCSSFontFace (FontF - #include - #include - #include --#include "ffwrapper.h" - #include "Bezier.hpp" - #include "FileSystem.hpp" - #include "Font.hpp" - #include "Glyph.hpp" --#include "TTFAutohint.hpp" --#include "TrueTypeFont.hpp" -+#include "ttf/TTFAutohint.hpp" -+#include "ttf/TTFWriter.hpp" - -+using namespace ttf; - --FontWriter::FontWriter (const PhysicalFont &font) : _font(font) { -- static bool initialized=false; -- if (!initialized) { -- ff_init(); -- initialized = true; -- } --} -- -- --struct SFDActions : Glyph::IterationActions { -- explicit SFDActions (ostream &os) : _os(os) {} -- -- using Point = Glyph::Point; -- void moveto (const Point &p) override {write('m', p);} -- void lineto (const Point &p) override {write('l', p);} -- void cubicto (const Point &p1, const Point &p2, const Point &p3) override {write('c', p1, p2, p3); } -- void closepath () override {write('m', startPoint());} -- -- void quadto (const Point &p1, const Point &p2) override { -- // convert quadratic Bézier curve to cubic one -- DPair pt0(currentPoint().x(), currentPoint().y()); -- DPair pt1(p1.x(), p1.y()); -- DPair pt2(p2.x(), p2.y()); -- Bezier b(pt0, pt1, pt2); -- write('c', round(b.point(0)), round(b.point(1)), round(b.point(2)), round(b.point(3))); -- } -- -- template -- void write (char cmd, const Args& ...args) { -- writeParams(args...); -- _os << cmd << " 0\n"; -- } -- -- static void writeParams () {} -- -- template -- void writeParams (const Pt &p, const Args& ...args) const { -- _os << p.x() << ' ' << p.y() << ' '; -- writeParams(args...); -- } -- -- ostream &_os; -- Glyph::Point _startPoint, _currentPoint; --}; -- -- --/** Creates a Spline Font Database (SFD) file describing the font and its glyphs. -- * https://fontforge.github.io/sfdformat.html */ --static void writeSFD (const string &sfdname, const PhysicalFont &font, const set &charcodes, GFGlyphTracer::Callback *cb) { -- ofstream sfd(sfdname); -- if (!sfd) -- throw FontWriterException("failed writing SFD file "+sfdname); -- -- sfd << -- "SplineFontDB: 3.0\n" -- "FontName: " << font.name() << '\n'; -- -- // ensure that the sum of the SFD's Ascent and Descent values equals the font's units per EM -- double yext = font.ascent()+font.descent(); -- double scale = double(font.unitsPerEm())/(yext != 0 ? yext : abs(font.ascent())); -- sfd << -- "Ascent: " << font.ascent()*scale << "\n" -- "Descent: " << font.descent()*scale << "\n" -- "LayerCount: 2\n" // number of layers must be 2 at least -- "Layer: 0 0 \"Back\" 1\n" // layer 0: background layer with cubic splines -- "Layer: 1 0 \"Fore\" 0\n" // layer 1: foreground layer with cubic splines -- "Encoding: UnicodeFull\n" // character codes can use the full Unicode range -- "BeginChars: 1114112 " << charcodes.size() << '\n'; -- -- double extend = font.style() ? font.style()->extend : 1; -- for (int c : charcodes) { -- string name = font.glyphName(c); -- if (name.empty()) { -- // if the font doesn't provide glyph names, use AGL name uFOO -- ostringstream oss; -- oss << 'u' << hex << uppercase << setw(4) << setfill('0') << c; -- name = oss.str(); -- } -- uint32_t codepoint = font.unicode(c); -- sfd << -- "StartChar: " << name << "\n" -- "Encoding: " << codepoint << ' ' << codepoint << " 0\n" -- "Width: " << font.hAdvance(c)*extend << "\n" -- "VWidth: " << font.vAdvance(c) << "\n" -- "Fore\n" -- "SplineSet\n"; -- Glyph glyph; -- if (font.getGlyph(c, glyph, cb)) { -- SFDActions actions(sfd); -- glyph.iterate(actions, false); -- } -- sfd << -- "EndSplineSet\n" -- "EndChar\n"; -- } -- sfd.flush(); -- sfd.close(); -- if (sfd.fail()) -- throw FontWriterException("failed writing SFD file "+sfdname); --} -- -- --bool FontWriter::createTTFFile (const string &sfdname, const string &ttfname) const { -- TTFAutohint autohinter; -- if (!autohinter.available()) -- return ff_sfd_to_ttf(sfdname.c_str(), ttfname.c_str(), AUTOHINT_FONTS); -- -- bool ok = ff_sfd_to_ttf(sfdname.c_str(), ttfname.c_str(), false); -+bool FontWriter::createTTFFile (const std::string &ttfname, const PhysicalFont &font, const set &charcodes, GFGlyphTracer::Callback *cb) const { -+ TTFWriter ttfWriter(font, charcodes); -+ if (cb) -+ ttfWriter.setTracerCallback(*cb); -+ bool ok = ttfWriter.writeTTF(ttfname); - if (ok && AUTOHINT_FONTS) { -- string tmpname = ttfname+"-ah"; -- int errnum = autohinter.autohint(ttfname, tmpname, true); -- if (errnum) { -- Message::wstream(true) << "failed to autohint font '" << _font.name() << "'"; -- string msg = autohinter.lastErrorMessage(); -- if (!msg.empty()) -- Message::wstream() << " (" << msg << ")"; -- // keep the unhinted TTF -- FileSystem::remove(tmpname); -+ TTFAutohint autohinter; -+ if (!autohinter.available()) { -+ static bool reported=false; -+ if (!reported) { -+ Message::wstream(true) << "autohint functionality disabled (ttfautohint not found)"; -+ reported = true; -+ } - } - else { -- FileSystem::remove(ttfname); -- FileSystem::rename(tmpname, ttfname); -+ string tmpname = ttfname+"-ah"; -+ try { -+ int errnum = autohinter.autohint(ttfname, tmpname, true); -+ if (errnum == 0) { // success? -+ FileSystem::remove(ttfname); -+ FileSystem::rename(tmpname, ttfname); -+ } -+ else { -+ Message::wstream(true) << "failed to autohint font '" << _font.name() << "'"; -+ string msg = autohinter.lastErrorMessage(); -+ if (!msg.empty()) -+ Message::wstream() << " (" << msg << ")"; -+ // keep the unhinted TTF -+ FileSystem::remove(tmpname); -+ } -+ } -+ catch (MessageException &e) { -+ Message::wstream(true) << e.what() << '\n'; -+ FileSystem::remove(tmpname); -+ } - } - } - return ok; -@@ -222,24 +135,19 @@ bool FontWriter::createTTFFile (const st - string FontWriter::createFontFile (FontFormat format, const set &charcodes, GFGlyphTracer::Callback *cb) const { - string tmpdir = FileSystem::tmpdir(); - string basename = tmpdir+_font.name()+"-tmp"; -- string sfdname = basename+".sfd"; -- writeSFD(sfdname, _font, charcodes, cb); - string ttfname = basename+".ttf"; - string targetname = basename+"."+fontFormatInfo(format)->formatstr_short; -- bool ok = createTTFFile(sfdname, ttfname); -+ bool ok = createTTFFile(ttfname, _font, charcodes, cb); - if (ok) { - if (format == FontFormat::WOFF || format == FontFormat::WOFF2) { -- TrueTypeFont ttf(ttfname); - if (format == FontFormat::WOFF) -- ttf.writeWOFF(targetname); -+ ok = TTFWriter::convertTTFToWOFF(ttfname, targetname); - else -- ok = ttf.writeWOFF2(targetname); -+ TTFWriter::convertTTFToWOFF2(ttfname, targetname); - if (!PhysicalFont::KEEP_TEMP_FILES) - FileSystem::remove(ttfname); - } - } -- if (!PhysicalFont::KEEP_TEMP_FILES) -- FileSystem::remove(sfdname); - if (!ok) - throw FontWriterException("failed writing "+string(fontFormatInfo(format)->formatstr_short)+ " file " + targetname); - return targetname; -diff -up texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/FontWriter.hpp.301 texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/FontWriter.hpp ---- texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/FontWriter.hpp.301 2022-01-21 12:25:16.000000000 -0500 -+++ texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/FontWriter.hpp 2023-01-17 15:53:51.713205415 -0500 -@@ -2,7 +2,7 @@ - ** FontWriter.hpp ** - ** ** - ** This file is part of dvisvgm -- a fast DVI to SVG converter ** --** Copyright (C) 2005-2022 Martin Gieseking ** -+** Copyright (C) 2005-2023 Martin Gieseking ** - ** ** - ** This program is free software; you can redistribute it and/or ** - ** modify it under the terms of the GNU General Public License as ** -@@ -36,7 +36,7 @@ class FontWriter { - static bool AUTOHINT_FONTS; - - public: -- explicit FontWriter (const PhysicalFont &font); -+ explicit FontWriter (const PhysicalFont &font) : _font(font) {} - std::string createFontFile (FontFormat format, const std::set &charcodes, GFGlyphTracer::Callback *cb=nullptr) const; - bool writeCSSFontFace (FontFormat format, const std::set &charcodes, std::ostream &os, GFGlyphTracer::Callback *cb=nullptr) const; - static FontFormat toFontFormat (std::string formatstr); -@@ -50,7 +50,7 @@ class FontWriter { - const char *formatstr_long; - }; - static const FontFormatInfo* fontFormatInfo (FontFormat format); -- bool createTTFFile (const std::string &sfdname, const std::string &ttfname) const; -+ bool createTTFFile (const std::string &ttfname, const PhysicalFont &font, const std::set &charcodes, GFGlyphTracer::Callback *cb) const; - - private: - const PhysicalFont &_font; -diff -up texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/GFGlyphTracer.cpp.301 texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/GFGlyphTracer.cpp ---- texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/GFGlyphTracer.cpp.301 2022-01-21 12:25:16.000000000 -0500 -+++ texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/GFGlyphTracer.cpp 2023-01-17 15:53:51.713205415 -0500 -@@ -2,7 +2,7 @@ - ** GFGlyphTracer.cpp ** - ** ** - ** This file is part of dvisvgm -- a fast DVI to SVG converter ** --** Copyright (C) 2005-2022 Martin Gieseking ** -+** Copyright (C) 2005-2023 Martin Gieseking ** - ** ** - ** This program is free software; you can redistribute it and/or ** - ** modify it under the terms of the GNU General Public License as ** -diff -up texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/GFGlyphTracer.hpp.301 texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/GFGlyphTracer.hpp ---- texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/GFGlyphTracer.hpp.301 2022-01-21 12:25:16.000000000 -0500 -+++ texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/GFGlyphTracer.hpp 2023-01-18 10:00:04.504510266 -0500 -@@ -2,7 +2,7 @@ - ** GFGlyphTracer.hpp ** - ** ** - ** This file is part of dvisvgm -- a fast DVI to SVG converter ** --** Copyright (C) 2005-2022 Martin Gieseking ** -+** Copyright (C) 2005-2023 Martin Gieseking ** - ** ** - ** This program is free software; you can redistribute it and/or ** - ** modify it under the terms of the GNU General Public License as ** -@@ -21,6 +21,7 @@ - #ifndef GFGLYPHTRACER_HPP - #define GFGLYPHTRACER_HPP - -+#include - #include - #include - #include "GFTracer.hpp" -diff -up texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/GFReader.cpp.301 texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/GFReader.cpp ---- texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/GFReader.cpp.301 2022-01-21 12:25:16.000000000 -0500 -+++ texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/GFReader.cpp 2023-01-17 15:53:51.713205415 -0500 -@@ -2,7 +2,7 @@ - ** GFReader.cpp ** - ** ** - ** This file is part of dvisvgm -- a fast DVI to SVG converter ** --** Copyright (C) 2005-2022 Martin Gieseking ** -+** Copyright (C) 2005-2023 Martin Gieseking ** - ** ** - ** This program is free software; you can redistribute it and/or ** - ** modify it under the terms of the GNU General Public License as ** -diff -up texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/GFReader.hpp.301 texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/GFReader.hpp ---- texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/GFReader.hpp.301 2022-01-21 12:25:16.000000000 -0500 -+++ texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/GFReader.hpp 2023-01-18 10:00:27.594782009 -0500 -@@ -2,7 +2,7 @@ - ** GFReader.hpp ** - ** ** - ** This file is part of dvisvgm -- a fast DVI to SVG converter ** --** Copyright (C) 2005-2022 Martin Gieseking ** -+** Copyright (C) 2005-2023 Martin Gieseking ** - ** ** - ** This program is free software; you can redistribute it and/or ** - ** modify it under the terms of the GNU General Public License as ** -@@ -21,6 +21,7 @@ - #ifndef GFREADER_HPP - #define GFREADER_HPP - -+#include - #include - #include - #include -diff -up texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/GFTracer.cpp.301 texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/GFTracer.cpp ---- texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/GFTracer.cpp.301 2022-01-21 12:25:16.000000000 -0500 -+++ texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/GFTracer.cpp 2023-01-17 15:53:51.713205415 -0500 -@@ -2,7 +2,7 @@ - ** GFTracer.cpp ** - ** ** - ** This file is part of dvisvgm -- a fast DVI to SVG converter ** --** Copyright (C) 2005-2022 Martin Gieseking ** -+** Copyright (C) 2005-2023 Martin Gieseking ** - ** ** - ** This program is free software; you can redistribute it and/or ** - ** modify it under the terms of the GNU General Public License as ** -diff -up texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/GFTracer.hpp.301 texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/GFTracer.hpp ---- texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/GFTracer.hpp.301 2022-01-21 12:25:16.000000000 -0500 -+++ texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/GFTracer.hpp 2023-01-17 15:53:51.713205415 -0500 -@@ -2,7 +2,7 @@ - ** GFTracer.hpp ** - ** ** - ** This file is part of dvisvgm -- a fast DVI to SVG converter ** --** Copyright (C) 2005-2022 Martin Gieseking ** -+** Copyright (C) 2005-2023 Martin Gieseking ** - ** ** - ** This program is free software; you can redistribute it and/or ** - ** modify it under the terms of the GNU General Public License as ** -diff -up texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/Ghostscript.cpp.301 texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/Ghostscript.cpp ---- texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/Ghostscript.cpp.301 2022-01-21 12:25:16.000000000 -0500 -+++ texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/Ghostscript.cpp 2023-01-17 15:53:51.713205415 -0500 -@@ -2,7 +2,7 @@ - ** Ghostscript.cpp ** - ** ** - ** This file is part of dvisvgm -- a fast DVI to SVG converter ** --** Copyright (C) 2005-2022 Martin Gieseking ** -+** Copyright (C) 2005-2023 Martin Gieseking ** - ** ** - ** This program is free software; you can redistribute it and/or ** - ** modify it under the terms of the GNU General Public License as ** -@@ -81,8 +81,8 @@ static string get_path_from_registry () - } - #endif // _WIN32 - --#if defined(_WIN32) && !defined(_WIN64) --static string get_gsdll32 () { -+#if defined(_WIN32) -+static string get_gsdll () { - string pathstr; - #if defined(TEXLIVEWIN32) - char exepath[256]; -@@ -97,9 +97,13 @@ static string get_gsdll32 () { - pathstr += "bin\\"; - } - #endif -+#if defined(_WIN64) -+ return pathstr+"gsdll64.dll"; -+#else - return pathstr+"gsdll32.dll"; -+#endif - } --#endif // _WIN32 && !_WIN64 -+#endif // _WIN32 - - - /** Try to detect name of the Ghostscript shared library depending on the user settings. -@@ -123,14 +127,10 @@ static string get_libgs (const string &f - string gsdll_path = get_path_from_registry(); - if (!gsdll_path.empty()) - return gsdll_path; --#endif //_WIN32 --#if defined(_WIN64) -- return "gsdll64.dll"; --#elif defined(_WIN32) -- return get_gsdll32(); -+ return get_gsdll(); - #else - // try to find libgs.so.X on the user's system -- const int abi_min=7, abi_max=9; // supported libgs ABI versions -+ const int abi_min=7, abi_max=10; // supported libgs ABI versions - for (int i=abi_max; i >= abi_min; i--) { - #if defined(__CYGWIN__) - string dlname = "cyggs-" + to_string(i) + ".dll"; -@@ -141,12 +141,16 @@ static string get_libgs (const string &f - if (loader.loaded()) - return dlname; - #if defined(__APPLE__) -- dlname = "libgs." + to_string(i) + ".dylib"; -- if (loader.loadLibrary(dlname)) -- return dlname; -- dlname = "libgs.dylib." + to_string(i); -- if (loader.loadLibrary(dlname)) -- return dlname; -+ // dlopen() requires an absolute path in a hardened runtime such as installed -+ // by MacTeX. Thus, explicitly lookup libgs in /usr/local/lib too. -+ for (const string path : {"", "/usr/local/lib/"}) { -+ dlname = path + "libgs." + to_string(i) + ".dylib"; -+ if (loader.loadLibrary(dlname)) -+ return dlname; -+ dlname = path + "libgs.dylib." + to_string(i); -+ if (loader.loadLibrary(dlname)) -+ return dlname; -+ } - #endif - } - #endif -@@ -228,10 +232,13 @@ bool Ghostscript::revision (gsapi_revisi - - /** Returns the revision number of the GS library. */ - int Ghostscript::revision () const { -- gsapi_revision_t r; -- if (revision(&r)) -- return static_cast(r.revision); -- return 0; -+ static int rev=0; -+ if (rev == 0) { -+ gsapi_revision_t r; -+ if (revision(&r)) -+ rev = static_cast(r.revision); -+ } -+ return rev; - } - - -@@ -375,19 +382,9 @@ const char* Ghostscript::error_name (int - if (code < 0) - code = -code; - const char *error_names[] = { ERROR_NAMES }; -- if (code == 0 || (size_t)code > sizeof(error_names)/sizeof(error_names[0])) -+ if (code == 0 || size_t(code) > sizeof(error_names)/sizeof(error_names[0])) - return nullptr; --#if defined(HAVE_LIBGS) -- // use array defined in libgs to avoid linking the error strings into the binary -- return gs_error_names[code-1]; --#elif defined(_WIN32) -- // gs_error_names is private in the Ghostscript DLL so we can't access it here - return error_names[code-1]; --#else -- if (auto error_names = loadSymbol("gs_error_names")) -- return error_names[code-1]; -- return nullptr; --#endif - } - - #endif // !DISABLE_GS -diff -up texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/Ghostscript.hpp.301 texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/Ghostscript.hpp ---- texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/Ghostscript.hpp.301 2022-01-21 12:25:16.000000000 -0500 -+++ texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/Ghostscript.hpp 2023-01-17 15:53:51.713205415 -0500 -@@ -2,7 +2,7 @@ - ** Ghostscript.hpp ** - ** ** - ** This file is part of dvisvgm -- a fast DVI to SVG converter ** --** Copyright (C) 2005-2022 Martin Gieseking ** -+** Copyright (C) 2005-2023 Martin Gieseking ** - ** ** - ** This program is free software; you can redistribute it and/or ** - ** modify it under the terms of the GNU General Public License as ** -@@ -47,8 +47,8 @@ struct Ghostscript { - Ghostscript (int argc, const char **argv, void *caller=0) {} - bool init (int argc, const char **argv, void *caller=0) {return false;} - bool available () {return false;} -- bool revision (gsapi_revision_t *r) {return false;} -- int revision () {return 0;} -+ bool revision (gsapi_revision_t *r) const {return false;} -+ int revision () const {return 0;} - std::string revisionstr () {return "";} - int set_stdio (Stdin in, Stdout out, Stderr err) {return 0;} - int run_string_begin (int user_errors, int *pexit_code) {return 0;} -diff -up texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/Glyph.hpp.301 texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/Glyph.hpp ---- texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/Glyph.hpp.301 2022-01-21 12:25:16.000000000 -0500 -+++ texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/Glyph.hpp 2023-01-17 15:53:51.713205415 -0500 -@@ -2,7 +2,7 @@ - ** Glyph.hpp ** - ** ** - ** This file is part of dvisvgm -- a fast DVI to SVG converter ** --** Copyright (C) 2005-2022 Martin Gieseking ** -+** Copyright (C) 2005-2023 Martin Gieseking ** - ** ** - ** This program is free software; you can redistribute it and/or ** - ** modify it under the terms of the GNU General Public License as ** -diff -up texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/GlyphTracerMessages.hpp.301 texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/GlyphTracerMessages.hpp ---- texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/GlyphTracerMessages.hpp.301 2022-01-21 12:25:16.000000000 -0500 -+++ texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/GlyphTracerMessages.hpp 2023-01-17 15:53:51.713205415 -0500 -@@ -2,7 +2,7 @@ - ** GlyphTracerMessages.hpp ** - ** ** - ** This file is part of dvisvgm -- a fast DVI to SVG converter ** --** Copyright (C) 2005-2022 Martin Gieseking ** -+** Copyright (C) 2005-2023 Martin Gieseking ** - ** ** - ** This program is free software; you can redistribute it and/or ** - ** modify it under the terms of the GNU General Public License as ** -diff -up texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/GraphicsPath.hpp.301 texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/GraphicsPath.hpp ---- texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/GraphicsPath.hpp.301 2022-01-21 12:25:16.000000000 -0500 -+++ texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/GraphicsPath.hpp 2023-01-17 15:53:51.714205427 -0500 -@@ -2,7 +2,7 @@ - ** GraphicsPath.hpp ** - ** ** - ** This file is part of dvisvgm -- a fast DVI to SVG converter ** --** Copyright (C) 2005-2022 Martin Gieseking ** -+** Copyright (C) 2005-2023 Martin Gieseking ** - ** ** - ** This program is free software; you can redistribute it and/or ** - ** modify it under the terms of the GNU General Public License as ** -@@ -642,7 +642,7 @@ class GraphicsPath { - void arcto (T rx, T ry, double angle, bool largeArcFlag, bool sweepFlag, const Point &p) override { - EllipticalArc arc(this->currentPoint(), rx, ry, angle, largeArcFlag, sweepFlag, p); - std::vector cmds; -- for (const Bezier &bezier : arc.approximate()) -+ for (const CubicBezier &bezier : arc.approximate()) - cmds.emplace_back(CubicTo{bezier.point(1), bezier.point(2), bezier.point(3)}); - this->path().replace(this->commandPos(), cmds); - } -diff -up texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/GraphicsPathParser.hpp.301 texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/GraphicsPathParser.hpp ---- texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/GraphicsPathParser.hpp.301 2023-01-17 15:53:51.714205427 -0500 -+++ texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/GraphicsPathParser.hpp 2023-01-17 15:53:51.714205427 -0500 -@@ -0,0 +1,299 @@ -+/************************************************************************* -+** GraphicsPathParser.hpp ** -+** ** -+** This file is part of dvisvgm -- a fast DVI to SVG converter ** -+** Copyright (C) 2005-2023 Martin Gieseking ** -+** ** -+** 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 . ** -+*************************************************************************/ -+ -+#pragma once -+ -+#include -+#include -+#include -+#include -+#include "GraphicsPath.hpp" -+#include "MessageException.hpp" -+ -+ -+struct GraphicsPathParserException : public MessageException { -+ explicit GraphicsPathParserException (const std::string &msg) : MessageException(msg) {} -+}; -+ -+ -+template -+class GraphicsPathParser { -+ public: -+ GraphicsPath parse (std::istream &is); -+ -+ GraphicsPath parse (const std::string &str) { -+ std::istringstream iss(str); -+ return parse(iss); -+ } -+ -+ protected: -+ template -+ NumType parseNumberOfType (std::istream &is) const { -+ is >> std::ws; -+ NumType number; -+ is >> number; -+ if (is.fail()) -+ error("number expected", is); -+ is >> std::ws; -+ return number; -+ } -+ -+ T parseNumber (std::istream &is) const { -+ return parseNumberOfType(is); -+ } -+ -+ Pair parsePair (std::istream &is) { -+ T x = parseNumber(is); -+ skipCommaAndWhitespace(is); -+ T y = parseNumber(is); -+ return Pair(x, y); -+ } -+ -+ void skipCommaAndWhitespace (std::istream &is) { -+ is >> std::ws; -+ if (is.peek() == ',') { -+ is.get(); -+ is >> std::ws; -+ } -+ } -+ -+ void parseMoveTo (std::istream &is, bool relative); -+ void parseClosePath (); -+ void parseLineTo (std::istream &is, bool relative); -+ void parseHorizontalLineTo (std::istream &is, bool relative); -+ void parseVerticalLineTo (std::istream &is, bool relative); -+ void parseCubicTo (std::istream &is, bool relative); -+ void parseShortCubicTo (std::istream &is, bool relative); -+ void parseQuadraticTo (std::istream &is, bool relative); -+ void parseShortQuadraticTo (std::istream &is, bool relative); -+ void parseArcTo (std::istream &is, bool relative); -+ -+ void error (const std::string &msg, std::istream &is) const { -+ std::string postext; -+ if (_startpos >= 0) { // valid start position? -+ if (is) -+ postext = " at position "+ std::to_string(is.tellg()-_startpos); -+ else -+ postext = " (premature end of data)"; -+ } -+ throw GraphicsPathParserException(msg + postext); -+ } -+ -+ private: -+ std::istream::pos_type _startpos=0; ///< stream position where the parsing started -+ GraphicsPath *_path=nullptr; ///< path being parsed -+ Pair _startPoint; ///< start point of current subpath -+ Pair _currentPoint; ///< current point reached by last path command -+ Pair _prevCtrlPoint; ///< last control point of preceding curve command -+}; -+ -+ -+/** Creates a GraphicsPath object from a SVG path data string read from a given input stream. -+ * @param[in] is stream to read from -+ * @return GraphicsPath object created from the SVG path description -+ * @throw GraphicsPathParserException if the path data contains syntax error */ -+template -+GraphicsPath GraphicsPathParser::parse (std::istream &is) { -+ GraphicsPath path; -+ _path = &path; -+ _startpos = is.tellg(); -+ _currentPoint = _startPoint = _prevCtrlPoint = Pair(0, 0); -+ int cmd=0; -+ while (!is.eof()) { -+ is >> std::ws; -+ if (is.peek() < 0) -+ break; -+ if (isalpha(is.peek())) -+ cmd = is.get(); -+ else { -+ // further set of parameters appended to preceding command (command letter omitted) -+ skipCommaAndWhitespace(is); -+ // subsequent coordinate pairs of a "moveto" command lead to implicit "lineto" commands -+ // https://www.w3.org/TR/SVG/paths.html#PathDataMovetoCommands -+ if (cmd == 'M') -+ cmd = 'L'; -+ else if (cmd == 'm') -+ cmd = 'l'; -+ } -+ int lower_cmd = std::tolower(cmd); -+ bool relative = (cmd == lower_cmd); -+ switch (lower_cmd) { -+ case 'm': parseMoveTo(is, relative); break; -+ case 'z': parseClosePath(); break; -+ case 'l': parseLineTo(is, relative); break; -+ case 'h': parseHorizontalLineTo(is, relative); break; -+ case 'v': parseVerticalLineTo(is, relative); break; -+ case 'c': parseCubicTo(is, relative); break; -+ case 's': parseShortCubicTo(is, relative); break; -+ case 'q': parseQuadraticTo(is, relative); break; -+ case 't': parseShortQuadraticTo(is, relative); break; -+ case 'a': parseArcTo(is, relative); break; -+ case 0 : error("missing command at beginning of SVG path", is); -+ default : error("invalid SVG path command '"+std::string(1, char(cmd))+"'", is); -+ } -+ if (strchr("csqt", lower_cmd) == nullptr) // not a Bézier curve command? -+ _prevCtrlPoint = _currentPoint; // => no control point, use current point -+ } -+ _path = nullptr; -+ return path; -+} -+ -+ -+/** Parses a single parameter pair of a "moveto" command. */ -+template -+void GraphicsPathParser::parseMoveTo (std::istream &is, bool relative) { -+ Pair p = parsePair(is); -+ if (!relative || _path->empty()) -+ _currentPoint = p; -+ else -+ _currentPoint += p; -+ _path->moveto(_currentPoint); -+ _startPoint = _currentPoint; -+} -+ -+ -+/** Handles a "closepath" command. */ -+template -+void GraphicsPathParser::parseClosePath () { -+ _path->closepath(); -+ _currentPoint = _startPoint; -+} -+ -+ -+/** Parses a single parameter pair of a "lineto" command. */ -+template -+void GraphicsPathParser::parseLineTo (std::istream &is, bool relative) { -+ Pair p = parsePair(is); -+ if (relative) -+ _currentPoint += p; -+ else -+ _currentPoint = p; -+ _path->lineto(_currentPoint); -+} -+ -+ -+/** Parses a single parameter of a horizontal "lineto" command. */ -+template -+void GraphicsPathParser::parseHorizontalLineTo (std::istream &is, bool relative) { -+ T x = parseNumber(is); -+ if (relative) -+ _currentPoint += Pair(x, 0); -+ else -+ _currentPoint = Pair(x, _currentPoint.y()); -+ _path->lineto(_currentPoint); -+} -+ -+ -+/** Parses a single parameter of a vertical "lineto" command. */ -+template -+void GraphicsPathParser::parseVerticalLineTo (std::istream &is, bool relative) { -+ T y = parseNumber(is); -+ if (relative) -+ _currentPoint += Pair(0, y); -+ else -+ _currentPoint = Pair(_currentPoint.x(), y); -+ _path->lineto(_currentPoint); -+} -+ -+ -+/** Parses a single parameter set a "cubicto" (cubic Bézier curve) command. */ -+template -+void GraphicsPathParser::parseCubicTo (std::istream &is, bool relative) { -+ Pair p1 = parsePair(is); -+ Pair p2 = parsePair(is); -+ Pair pe = parsePair(is); -+ if (!relative) -+ _currentPoint = pe; -+ else { -+ p1 += _currentPoint; -+ p2 += _currentPoint; -+ _currentPoint += pe; -+ } -+ _path->cubicto(p1, p2, _currentPoint); -+ _prevCtrlPoint = p2; -+} -+ -+ -+/** Parses a single parameter set a shorthand "cubicto" (cubic Bézier curve) command. */ -+template -+void GraphicsPathParser::parseShortCubicTo (std::istream &is, bool relative) { -+ Pair p1 = _prevCtrlPoint + (_currentPoint-_prevCtrlPoint)*T(2); -+ Pair p2 = parsePair(is); -+ Pair pe = parsePair(is); -+ if (!relative) -+ _currentPoint = pe; -+ else { -+ p2 += _currentPoint; -+ _currentPoint += pe; -+ } -+ _path->cubicto(p1, p2, _currentPoint); -+ _prevCtrlPoint = p2; -+} -+ -+ -+/** Parses a single parameter set a "quadto" (quadratic Bézier curve) command. */ -+template -+void GraphicsPathParser::parseQuadraticTo (std::istream &is, bool relative) { -+ Pair p1 = parsePair(is); -+ Pair pe = parsePair(is); -+ if (!relative) -+ _currentPoint = pe; -+ else { -+ p1 += _currentPoint; -+ _currentPoint += pe; -+ } -+ _path->quadto(p1, _currentPoint); -+ _prevCtrlPoint = p1; -+} -+ -+ -+/** Parses a single parameter set a shorthand "quadto" (quadratic Bézier curve) command. */ -+template -+void GraphicsPathParser::parseShortQuadraticTo (std::istream &is, bool relative) { -+ Pair p1 = _prevCtrlPoint + (_currentPoint-_prevCtrlPoint)*T(2); -+ Pair pe = parsePair(is); -+ if (relative) -+ _currentPoint += pe; -+ else -+ _currentPoint = pe; -+ _path->quadto(p1, _currentPoint); -+ _prevCtrlPoint = p1; -+} -+ -+ -+/** Parses a single parameter set an "arcto" command. */ -+template -+void GraphicsPathParser::parseArcTo (std::istream &is, bool relative) { -+ Pair r = parsePair(is); -+ double xrot = parseNumberOfType(is); -+ int largeArgFlag = parseNumberOfType(is); -+ if (largeArgFlag != 0 && largeArgFlag != 1) -+ error("large-arc-flag must be 0 or 1", is); -+ int sweepFlag = parseNumberOfType(is); -+ if (sweepFlag != 0 && sweepFlag != 1) -+ error("sweep-flag must be 0 or 1", is); -+ T x = parseNumber(is); -+ T y = parseNumber(is); -+ Pair p(x, y); -+ if (relative) -+ p += _currentPoint; -+ _currentPoint = p; -+ _path->arcto(r.x(), r.y(), xrot, bool(largeArgFlag), bool(sweepFlag), _currentPoint); -+} -diff -up texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/HashFunction.cpp.301 texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/HashFunction.cpp ---- texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/HashFunction.cpp.301 2022-01-21 12:25:16.000000000 -0500 -+++ texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/HashFunction.cpp 2023-01-17 15:53:51.714205427 -0500 -@@ -2,7 +2,7 @@ - ** HashFunction.cpp ** - ** ** - ** This file is part of dvisvgm -- a fast DVI to SVG converter ** --** Copyright (C) 2005-2022 Martin Gieseking ** -+** Copyright (C) 2005-2023 Martin Gieseking ** - ** ** - ** This program is free software; you can redistribute it and/or ** - ** modify it under the terms of the GNU General Public License as ** -diff -up texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/HashFunction.hpp.301 texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/HashFunction.hpp ---- texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/HashFunction.hpp.301 2022-01-21 12:25:16.000000000 -0500 -+++ texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/HashFunction.hpp 2023-01-17 15:53:51.714205427 -0500 -@@ -2,7 +2,7 @@ - ** HashFunction.hpp ** - ** ** - ** This file is part of dvisvgm -- a fast DVI to SVG converter ** --** Copyright (C) 2005-2022 Martin Gieseking ** -+** Copyright (C) 2005-2023 Martin Gieseking ** - ** ** - ** This program is free software; you can redistribute it and/or ** - ** modify it under the terms of the GNU General Public License as ** -@@ -28,7 +28,7 @@ - - /** Common base class for all hash functions. */ - class HashFunction { -- public: -+ public: - virtual ~HashFunction () =default; - virtual int digestSize () const =0; - virtual void reset () =0; -diff -up texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/HtmlSpecialHandler.cpp.301 texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/HtmlSpecialHandler.cpp ---- texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/HtmlSpecialHandler.cpp.301 2022-01-21 12:25:16.000000000 -0500 -+++ texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/HtmlSpecialHandler.cpp 2023-01-17 15:53:51.714205427 -0500 -@@ -2,7 +2,7 @@ - ** HtmlSpecialHandler.cpp ** - ** ** - ** This file is part of dvisvgm -- a fast DVI to SVG converter ** --** Copyright (C) 2005-2022 Martin Gieseking ** -+** Copyright (C) 2005-2023 Martin Gieseking ** - ** ** - ** This program is free software; you can redistribute it and/or ** - ** modify it under the terms of the GNU General Public License as ** -diff -up texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/HtmlSpecialHandler.hpp.301 texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/HtmlSpecialHandler.hpp ---- texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/HtmlSpecialHandler.hpp.301 2022-01-21 12:25:16.000000000 -0500 -+++ texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/HtmlSpecialHandler.hpp 2023-01-17 15:53:51.714205427 -0500 -@@ -2,7 +2,7 @@ - ** HtmlSpecialHandler.hpp ** - ** ** - ** This file is part of dvisvgm -- a fast DVI to SVG converter ** --** Copyright (C) 2005-2022 Martin Gieseking ** -+** Copyright (C) 2005-2023 Martin Gieseking ** - ** ** - ** This program is free software; you can redistribute it and/or ** - ** modify it under the terms of the GNU General Public License as ** -diff -up texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/HyperlinkManager.cpp.301 texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/HyperlinkManager.cpp ---- texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/HyperlinkManager.cpp.301 2022-01-21 12:25:16.000000000 -0500 -+++ texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/HyperlinkManager.cpp 2023-01-17 15:53:51.714205427 -0500 -@@ -2,7 +2,7 @@ - ** HyperlinkManager.cpp ** - ** ** - ** This file is part of dvisvgm -- a fast DVI to SVG converter ** --** Copyright (C) 2005-2022 Martin Gieseking ** -+** Copyright (C) 2005-2023 Martin Gieseking ** - ** ** - ** This program is free software; you can redistribute it and/or ** - ** modify it under the terms of the GNU General Public License as ** -@@ -229,7 +229,7 @@ void HyperlinkManager::createViews (unsi - bool HyperlinkManager::setLinkMarker (const string &marker) { - string type; // "none", "box", "line", or a background color specifier - string color; // optional line color specifier -- size_t seppos = marker.find(':'); -+ auto seppos = marker.find(':'); - if (seppos == string::npos) - type = marker; - else { -diff -up texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/HyperlinkManager.hpp.301 texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/HyperlinkManager.hpp ---- texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/HyperlinkManager.hpp.301 2022-01-21 12:25:16.000000000 -0500 -+++ texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/HyperlinkManager.hpp 2023-01-17 15:53:51.714205427 -0500 -@@ -2,7 +2,7 @@ - ** HyperlinkManager.hpp ** - ** ** - ** This file is part of dvisvgm -- a fast DVI to SVG converter ** --** Copyright (C) 2005-2022 Martin Gieseking ** -+** Copyright (C) 2005-2023 Martin Gieseking ** - ** ** - ** This program is free software; you can redistribute it and/or ** - ** modify it under the terms of the GNU General Public License as ** -@@ -42,7 +42,7 @@ class HyperlinkManager { - enum class ColorSource {DEFAULT, LINKMARKER, STATIC}; - using NamedAnchors = std::unordered_map; - -- public: -+ public: - HyperlinkManager (const HyperlinkManager&) =delete; - HyperlinkManager (HyperlinkManager&&) =delete; - void addHrefAnchor (const std::string &uri); -@@ -68,7 +68,7 @@ class HyperlinkManager { - static Color LINK_LINECOLOR; ///< line color if linkmark type is LM_LINE or LM_BOX - static ColorSource COLORSOURCE; ///< if true, LINK_LINECOLOR is applied - -- private: -+ private: - AnchorType _anchorType=AnchorType::NONE; ///< type of active anchor - int _depthThreshold=0; ///< break anchor box if the DVI stack depth underruns this threshold - double _linewidth=-1; ///< line width of link marker (-1 => compute individual value per link) -diff -up texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/ImageToSVG.cpp.301 texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/ImageToSVG.cpp ---- texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/ImageToSVG.cpp.301 2022-01-21 12:25:16.000000000 -0500 -+++ texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/ImageToSVG.cpp 2023-01-17 15:53:51.714205427 -0500 -@@ -2,7 +2,7 @@ - ** ImageToSVG.cpp ** - ** ** - ** This file is part of dvisvgm -- a fast DVI to SVG converter ** --** Copyright (C) 2005-2022 Martin Gieseking ** -+** Copyright (C) 2005-2023 Martin Gieseking ** - ** ** - ** This program is free software; you can redistribute it and/or ** - ** modify it under the terms of the GNU General Public License as ** -@@ -36,18 +36,17 @@ - using namespace std; - - -+ImageToSVG::ImageToSVG (std::string fname, SVGOutputBase &out) -+ : _fname(std::move(fname)), _out(out), _gsVersion(Ghostscript().revision()) -+{ -+} -+ -+ - void ImageToSVG::checkGSAndFileFormat () { -- if (!_haveGS) { --#ifdef HAVE_LIBGS -- _haveGS = true; --#else -- _haveGS = Ghostscript().available(); --#endif -- if (!_haveGS) -- throw MessageException("Ghostscript is required to process "+imageFormat()+" files"); -- if (!imageIsValid()) -- throw MessageException("invalid "+imageFormat()+" file"); -- } -+ if (!_gsVersion) -+ throw MessageException("Ghostscript is required to process "+imageFormat()+" files"); -+ if (!imageIsValid()) -+ throw MessageException("invalid "+imageFormat()+" file"); - } - - -@@ -59,7 +58,7 @@ void ImageToSVG::convert (int pageno) { - Message::mstream().indent(0); - Message::mstream(false, Message::MC_PAGE_NUMBER) << "processing " << imageFormat() << " file\n"; - Message::mstream().indent(1); -- _svg.newPage(1); -+ _svg.newPage(pageno); - // create a psfile special and forward it to the PsSpecialHandler - stringstream ss; - ss << "\"" << _fname << "\" " -@@ -69,7 +68,7 @@ void ImageToSVG::convert (int pageno) { - "ury=" << bbox.maxY(); - _currentPageNumber = pageno; - if (!isSinglePageFormat()) -- ss << " page=" << pageno; -+ ss << " page=" << pageno << " proc=gs"; - try { - _psHandler.process(psSpecialCmd(), ss, *this); - } -@@ -77,6 +76,11 @@ void ImageToSVG::convert (int pageno) { - progress(nullptr); // remove progress message - throw; - } -+ writeSVG(pageno); -+} -+ -+ -+void ImageToSVG::writeSVG (int pageno) { - progress(nullptr); - Matrix matrix = getUserMatrix(_bbox); - // output SVG file -@@ -87,6 +91,7 @@ void ImageToSVG::convert (int pageno) { - _svg.appendToDoc(util::make_unique(" This file was generated by dvisvgm " + string(PROGRAM_VERSION) + " ")); - bool success = _svg.write(_out.getPageStream(pageno, totalPageCount())); - string svgfname = _out.filepath(pageno, totalPageCount()).shorterAbsoluteOrRelative(); -+ _out.finish(); - if (svgfname.empty()) - svgfname = ""; - if (!success) -@@ -94,12 +99,14 @@ void ImageToSVG::convert (int pageno) { - else { - const double bp2pt = 72.27/72; - const double bp2mm = 25.4/72; -- Message::mstream(false, Message::MC_PAGE_SIZE) << "graphic size: " << XMLString(_bbox.width()*bp2pt) << "pt" -- " x " << XMLString(_bbox.height()*bp2pt) << "pt" -- " (" << XMLString(_bbox.width()*bp2mm) << "mm" -- " x " << XMLString(_bbox.height()*bp2mm) << "mm)\n"; -+ Message::mstream(false,Message::MC_PAGE_SIZE) -+ << "graphic size: " << XMLString(_bbox.width()*bp2pt) << "pt" -+ << " x " << XMLString(_bbox.height()*bp2pt) << "pt" -+ << " (" << XMLString(_bbox.width()*bp2mm) << "mm" -+ << " x " << XMLString(_bbox.height()*bp2mm) << "mm)\n"; - Message::mstream(false, Message::MC_PAGE_WRITTEN) << "output written to " << svgfname << '\n'; - } -+ _bbox.invalidate(); - _svg.reset(); - } - -diff -up texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/ImageToSVG.hpp.301 texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/ImageToSVG.hpp ---- texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/ImageToSVG.hpp.301 2022-01-21 12:25:16.000000000 -0500 -+++ texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/ImageToSVG.hpp 2023-01-17 15:53:51.714205427 -0500 -@@ -2,7 +2,7 @@ - ** ImageToSVG.hpp ** - ** ** - ** This file is part of dvisvgm -- a fast DVI to SVG converter ** --** Copyright (C) 2005-2022 Martin Gieseking ** -+** Copyright (C) 2005-2023 Martin Gieseking ** - ** ** - ** This program is free software; you can redistribute it and/or ** - ** modify it under the terms of the GNU General Public License as ** -@@ -32,24 +32,25 @@ struct SVGOutputBase; - - class ImageToSVG : protected SpecialActions { - public: -- ImageToSVG (std::string fname, SVGOutputBase &out) : _fname(std::move(fname)), _out(out) {} -- void convert (int pageno); -+ ImageToSVG (std::string fname, SVGOutputBase &out); -+ virtual void convert (int pageno); - void convert (int firstPage, int lastPage, std::pair *pageinfo); - void convert (const std::string &rangestr, std::pair *pageinfo); - void setPageTransformation (const std::string &transCmds) {_transCmds = transCmds;} --// void setPageSize (const std::string &name); - std::string filename () const {return _fname;} - PSInterpreter& psInterpreter () const {return _psHandler.psInterpreter();} - virtual bool isSinglePageFormat () const =0; - virtual int totalPageCount () const =0; - - protected: -- void checkGSAndFileFormat (); -+ virtual void checkGSAndFileFormat (); - Matrix getUserMatrix (const BoundingBox &bbox) const; - virtual std::string imageFormat () const =0; - virtual bool imageIsValid () const =0; - virtual BoundingBox imageBBox () const =0; - virtual std::string psSpecialCmd () const =0; -+ int gsVersion () const {return _gsVersion;} -+ virtual void writeSVG (int pageno); - // implement abstract base class SpecialActions - double getX () const override {return _x;} - double getY () const override {return _y;} -@@ -71,17 +72,19 @@ class ImageToSVG : protected SpecialActi - BoundingBox& bbox () override {return _bbox;} - BoundingBox& bbox (const std::string &name, bool reset=false) override {return _bbox;} - FilePath getSVGFilePath (unsigned pageno) const override; -- std::string getBBoxFormatString () const override {return "";} -+ std::string getBBoxFormatString () const override {return "";} -+ -+ protected: -+ SVGTree _svg; - - private: - std::string _fname; ///< name of image file -- SVGTree _svg; - SVGOutputBase &_out; - double _x=0, _y=0; - unsigned _currentPageNumber=0; - BoundingBox _bbox; - mutable PsSpecialHandler _psHandler; -- bool _haveGS=false; ///< true if Ghostscript is available -+ int _gsVersion=0; ///< Ghostscript version found - std::string _transCmds; ///< transformation commands - }; - -diff -up texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/InputBuffer.cpp.301 texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/InputBuffer.cpp ---- texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/InputBuffer.cpp.301 2022-01-21 12:25:16.000000000 -0500 -+++ texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/InputBuffer.cpp 2023-01-17 15:53:51.714205427 -0500 -@@ -2,7 +2,7 @@ - ** InputBuffer.cpp ** - ** ** - ** This file is part of dvisvgm -- a fast DVI to SVG converter ** --** Copyright (C) 2005-2022 Martin Gieseking ** -+** Copyright (C) 2005-2023 Martin Gieseking ** - ** ** - ** This program is free software; you can redistribute it and/or ** - ** modify it under the terms of the GNU General Public License as ** -diff -up texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/InputBuffer.hpp.301 texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/InputBuffer.hpp ---- texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/InputBuffer.hpp.301 2022-01-21 12:25:16.000000000 -0500 -+++ texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/InputBuffer.hpp 2023-01-18 10:15:02.360038154 -0500 -@@ -2,7 +2,7 @@ - ** InputBuffer.hpp ** - ** ** - ** This file is part of dvisvgm -- a fast DVI to SVG converter ** --** Copyright (C) 2005-2022 Martin Gieseking ** -+** Copyright (C) 2005-2023 Martin Gieseking ** - ** ** - ** This program is free software; you can redistribute it and/or ** - ** modify it under the terms of the GNU General Public License as ** -@@ -22,6 +22,7 @@ - #define INPUTBUFFER_HPP - - #include -+#include - #include - #include - #include -diff -up texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/InputReader.cpp.301 texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/InputReader.cpp ---- texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/InputReader.cpp.301 2022-01-21 12:25:16.000000000 -0500 -+++ texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/InputReader.cpp 2023-01-17 15:53:51.714205427 -0500 -@@ -2,7 +2,7 @@ - ** InputReader.cpp ** - ** ** - ** This file is part of dvisvgm -- a fast DVI to SVG converter ** --** Copyright (C) 2005-2022 Martin Gieseking ** -+** Copyright (C) 2005-2023 Martin Gieseking ** - ** ** - ** This program is free software; you can redistribute it and/or ** - ** modify it under the terms of the GNU General Public License as ** -diff -up texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/InputReader.hpp.301 texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/InputReader.hpp ---- texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/InputReader.hpp.301 2022-01-21 12:25:16.000000000 -0500 -+++ texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/InputReader.hpp 2023-01-17 15:53:51.714205427 -0500 -@@ -2,7 +2,7 @@ - ** InputReader.hpp ** - ** ** - ** This file is part of dvisvgm -- a fast DVI to SVG converter ** --** Copyright (C) 2005-2022 Martin Gieseking ** -+** Copyright (C) 2005-2023 Martin Gieseking ** - ** ** - ** This program is free software; you can redistribute it and/or ** - ** modify it under the terms of the GNU General Public License as ** -diff -up texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/JFM.cpp.301 texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/JFM.cpp ---- texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/JFM.cpp.301 2022-01-21 12:25:16.000000000 -0500 -+++ texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/JFM.cpp 2023-01-17 15:53:51.715205438 -0500 -@@ -2,7 +2,7 @@ - ** JFM.cpp ** - ** ** - ** This file is part of dvisvgm -- a fast DVI to SVG converter ** --** Copyright (C) 2005-2022 Martin Gieseking ** -+** Copyright (C) 2005-2023 Martin Gieseking ** - ** ** - ** This program is free software; you can redistribute it and/or ** - ** modify it under the terms of the GNU General Public License as ** -diff -up texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/JFM.hpp.301 texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/JFM.hpp ---- texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/JFM.hpp.301 2022-01-21 12:25:16.000000000 -0500 -+++ texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/JFM.hpp 2023-01-18 10:00:58.171141845 -0500 -@@ -2,7 +2,7 @@ - ** JFM.hpp ** - ** ** - ** This file is part of dvisvgm -- a fast DVI to SVG converter ** --** Copyright (C) 2005-2022 Martin Gieseking ** -+** Copyright (C) 2005-2023 Martin Gieseking ** - ** ** - ** This program is free software; you can redistribute it and/or ** - ** modify it under the terms of the GNU General Public License as ** -@@ -21,6 +21,7 @@ - #ifndef JFM_HPP - #define JFM_HPP - -+#include - #include - #include "TFM.hpp" - -diff -up texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/Length.cpp.301 texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/Length.cpp ---- texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/Length.cpp.301 2022-01-21 12:25:16.000000000 -0500 -+++ texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/Length.cpp 2023-01-17 15:53:51.715205438 -0500 -@@ -2,7 +2,7 @@ - ** Length.cpp ** - ** ** - ** This file is part of dvisvgm -- a fast DVI to SVG converter ** --** Copyright (C) 2005-2022 Martin Gieseking ** -+** Copyright (C) 2005-2023 Martin Gieseking ** - ** ** - ** This program is free software; you can redistribute it and/or ** - ** modify it under the terms of the GNU General Public License as ** -diff -up texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/Length.hpp.301 texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/Length.hpp ---- texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/Length.hpp.301 2022-01-21 12:25:16.000000000 -0500 -+++ texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/Length.hpp 2023-01-17 15:53:51.715205438 -0500 -@@ -2,7 +2,7 @@ - ** Length.hpp ** - ** ** - ** This file is part of dvisvgm -- a fast DVI to SVG converter ** --** Copyright (C) 2005-2022 Martin Gieseking ** -+** Copyright (C) 2005-2023 Martin Gieseking ** - ** ** - ** This program is free software; you can redistribute it and/or ** - ** modify it under the terms of the GNU General Public License as ** -diff -up texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/macros.hpp.301 texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/macros.hpp ---- texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/macros.hpp.301 2022-01-21 12:25:16.000000000 -0500 -+++ texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/macros.hpp 2023-01-17 15:53:51.715205438 -0500 -@@ -2,7 +2,7 @@ - ** macros.hpp ** - ** ** - ** This file is part of dvisvgm -- a fast DVI to SVG converter ** --** Copyright (C) 2005-2022 Martin Gieseking ** -+** Copyright (C) 2005-2023 Martin Gieseking ** - ** ** - ** This program is free software; you can redistribute it and/or ** - ** modify it under the terms of the GNU General Public License as ** -diff -up texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/Makefile.am.301 texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/Makefile.am ---- texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/Makefile.am.301 2022-01-21 12:25:16.000000000 -0500 -+++ texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/Makefile.am 2023-01-17 15:53:51.715205438 -0500 -@@ -1,11 +1,11 @@ - ## This file is part of dvisvgm --## Copyright (C) 2005-2022 Martin Gieseking -+## Copyright (C) 2005-2023 Martin Gieseking - ## - ## Process this file with automake. - - bin_PROGRAMS = dvisvgm --noinst_LIBRARIES = libdvisvgm.a --SUBDIRS = optimizer -+noinst_LTLIBRARIES = libdvisvgm.la -+SUBDIRS = fonts optimizer ttf - - dvisvgm_SOURCES = \ - CommandLine.hpp \ -@@ -14,15 +14,19 @@ dvisvgm_SOURCES = \ - include ../libs/defs.am - - dvisvgm_LDADD = \ -- $(noinst_LIBRARIES) \ -- optimizer/liboptimizer.a \ -+ $(noinst_LTLIBRARIES) \ - ../libs/clipper/libclipper.a \ -+ $(KPATHSEA_LIBS) \ -+ $(FREETYPE2_LIBS) \ - $(POTRACE_LIBS) \ -- $(XXHASH_LIBS) -+ $(XXHASH_LIBS) \ -+ $(ZLIB_LIBS) \ -+ $(LIBGS_LIBS) - - if ENABLE_WOFF -+SUBDIRS += ttf -+ - dvisvgm_LDADD += \ -- ../libs/ff-woff/libfontforge.a \ - $(WOFF2_LIBS) \ - $(BROTLI_LIBS) - endif -@@ -33,17 +37,9 @@ else - dvisvgm_LDADD += $(LIBCRYPTO_LIBS) - endif - --dvisvgm_LDADD += \ -- $(KPATHSEA_LIBS) \ -- $(FREETYPE2_LIBS) \ -- $(FONTFORGE_LIBS) \ -- $(ZLIB_LIBS) \ -- $(LIBGS_LIBS) -- --dvisvgm_DEPENDENCIES = $(noinst_LIBRARIES) --dvisvgm_DEPENDENCIES += $(KPATHSEA_DEPEND) $(ZLIB_DEPEND) $(FREETYPE2_DEPEND) -+dvisvgm_DEPENDENCIES = $(noinst_LTLIBRARIES) - --libdvisvgm_a_SOURCES = \ -+libdvisvgm_la_SOURCES = \ - AGLTable.hpp \ - BasicDVIReader.hpp BasicDVIReader.cpp \ - Bezier.hpp Bezier.cpp \ -@@ -93,6 +89,7 @@ libdvisvgm_a_SOURCES = \ - Glyph.hpp \ - GlyphTracerMessages.hpp \ - GraphicsPath.hpp \ -+ GraphicsPathParser.hpp \ - HashFunction.hpp HashFunction.cpp \ - HtmlSpecialHandler.hpp HtmlSpecialHandler.cpp \ - HyperlinkManager.hpp HyperlinkManager.cpp \ -@@ -116,9 +113,10 @@ libdvisvgm_a_SOURCES = \ - Pair.hpp \ - PapersizeSpecialHandler.hpp PapersizeSpecialHandler.cpp \ - PathClipper.hpp PathClipper.cpp \ -+ PDFHandler.hpp PDFHandler.cpp \ - PDFParser.hpp PDFParser.cpp \ - PdfSpecialHandler.hpp PdfSpecialHandler.cpp \ -- PDFToSVG.hpp \ -+ PDFToSVG.hpp PDFToSVG.cpp \ - PreScanDVIReader.hpp PreScanDVIReader.cpp \ - Process.hpp Process.cpp \ - psdefs.cpp \ -@@ -152,8 +150,6 @@ libdvisvgm_a_SOURCES = \ - ToUnicodeMap.hpp ToUnicodeMap.cpp \ - TpicSpecialHandler.hpp TpicSpecialHandler.cpp \ - TriangularPatch.hpp TriangularPatch.cpp \ -- TrueTypeFont.hpp TrueTypeFont.cpp \ -- TTFAutohint.hpp TTFAutohint.cpp \ - Unicode.hpp Unicode.cpp \ - utility.hpp utility.cpp \ - VectorIterator.hpp \ -@@ -163,33 +159,36 @@ libdvisvgm_a_SOURCES = \ - windows.hpp \ - XMLDocument.hpp XMLDocument.cpp \ - XMLNode.hpp XMLNode.cpp \ -+ XMLParser.hpp XMLParser.cpp \ - XMLString.hpp XMLString.cpp \ - XXHashFunction.hpp \ - ZLibOutputStream.hpp - -+libdvisvgm_la_LIBADD = fonts/libbase14fonts.la optimizer/liboptimizer.la -+ - if ENABLE_WOFF --libdvisvgm_a_SOURCES += ffwrapper.c ffwrapper.h -+libdvisvgm_la_LIBADD += ttf/libttf.la - endif - - EXTRA_DIST = options.xml options.dtd iapi.h ierrors.h MiKTeXCom.hpp MiKTeXCom.cpp - --AM_CFLAGS = $(WARNING_CFLAGS) \ -- $(ZLIB_INCLUDES) \ -+AM_CFLAGS = -Wall \ -+ $(ZLIB_CFLAGS) \ - $(CODE_COVERAGE_CFLAGS) - --AM_CXXFLAGS = $(WARNING_CXXFLAGS) -Wnon-virtual-dtor \ -+AM_CXXFLAGS = -Wall -Wnon-virtual-dtor \ - -I$(dvisvgm_srcdir)/libs/clipper \ -- -I$(dvisvgm_srcdir)/libs/variant/include -+ -I$(dvisvgm_srcdir)/libs/variant/include \ -+ $(KPSE_CFLAGS) \ -+ $(FREETYPE_CFLAGS) \ -+ $(ZLIB_CFLAGS) \ -+ $(CODE_COVERAGE_CFLAGS) - - AM_CXXFLAGS += \ -- $(POTRACE_CFLAGS) \ -- $(XXHASH_CFLAGS) \ - $(KPATHSEA_INCLUDES) \ -- $(POTRACE_INCLUDES) \ - $(FREETYPE2_INCLUDES) \ -- $(ZLIB_INCLUDES) \ -- $(LIBGS_INCLUDES) \ -- $(CODE_COVERAGE_CFLAGS) -+ $(POTRACE_CFLAGS) \ -+ $(XXHASH_CFLAGS) - - if WIN32 - AM_CXXFLAGS += -DTEXLIVEWIN32 -@@ -200,22 +199,21 @@ AM_LDFLAGS = \ - $(CODE_COVERAGE_LDFLAGS) - - if ENABLE_WOFF --AM_CFLAGS += \ -- -I$(dvisvgm_srcdir)/libs/ff-woff/fontforge \ -- -I$(dvisvgm_srcdir)/libs/ff-woff/inc -+AM_CXXFLAGS += $(TTFAUTOHINT_CFLAGS) - - AM_CXXFLAGS += \ - $(BROTLI_CFLAGS) \ - $(WOFF2_CFLAGS) - -+AM_LDFLAGS += $(TTFAUTOHINT_LIBS) -+endif -+ - if USE_BUNDLED_MD5 - AM_CXXFLAGS += -I$(dvisvgm_srcdir)/libs/md5 - else - AM_CXXFLAGS += $(LIBCRYPTO_CFLAGS) - endif - --endif -- - # TL: do not try to rebuild these source files. - if ! TEXLIVE_BUILD - -diff -up texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/Makefile.in.301 texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/Makefile.in ---- texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/Makefile.in.301 2022-01-21 12:25:16.000000000 -0500 -+++ texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/Makefile.in 2023-01-17 15:53:51.715205438 -0500 -@@ -94,25 +94,20 @@ bin_PROGRAMS = dvisvgm$(EXEEXT) - @HAVE_BROTLI_FALSE@am__append_2 = ../libs/brotli/libbrotli.a - @HAVE_WOFF2_FALSE@am__append_3 = -I$(dvisvgm_srcdir)/libs/woff2/include - @HAVE_WOFF2_FALSE@am__append_4 = ../libs/woff2/libwoff2.a --@ENABLE_WOFF_TRUE@am__append_5 = \ --@ENABLE_WOFF_TRUE@ ../libs/ff-woff/libfontforge.a \ -+@ENABLE_WOFF_TRUE@am__append_5 = ttf -+@ENABLE_WOFF_TRUE@am__append_6 = \ - @ENABLE_WOFF_TRUE@ $(WOFF2_LIBS) \ - @ENABLE_WOFF_TRUE@ $(BROTLI_LIBS) - --@USE_BUNDLED_MD5_TRUE@am__append_6 = ../libs/md5/libmd5.a --@USE_BUNDLED_MD5_FALSE@am__append_7 = $(LIBCRYPTO_LIBS) --@ENABLE_WOFF_TRUE@am__append_8 = ffwrapper.c ffwrapper.h --@WIN32_TRUE@am__append_9 = -DTEXLIVEWIN32 --@ENABLE_WOFF_TRUE@am__append_10 = \ --@ENABLE_WOFF_TRUE@ -I$(dvisvgm_srcdir)/libs/ff-woff/fontforge \ --@ENABLE_WOFF_TRUE@ -I$(dvisvgm_srcdir)/libs/ff-woff/inc -- --@ENABLE_WOFF_TRUE@am__append_11 = \ --@ENABLE_WOFF_TRUE@ $(BROTLI_CFLAGS) \ --@ENABLE_WOFF_TRUE@ $(WOFF2_CFLAGS) -- --@ENABLE_WOFF_TRUE@@USE_BUNDLED_MD5_TRUE@am__append_12 = -I$(dvisvgm_srcdir)/libs/md5 --@ENABLE_WOFF_TRUE@@USE_BUNDLED_MD5_FALSE@am__append_13 = $(LIBCRYPTO_CFLAGS) -+@USE_BUNDLED_MD5_TRUE@am__append_7 = ../libs/md5/libmd5.a -+@USE_BUNDLED_MD5_FALSE@am__append_8 = $(LIBCRYPTO_LIBS) -+@ENABLE_WOFF_TRUE@am__append_9 = ttf/libttf.la -+@WIN32_TRUE@am__append_10 = -DTEXLIVEWIN32 -+@ENABLE_WOFF_TRUE@am__append_11 = $(TTFAUTOHINT_CFLAGS) \ -+@ENABLE_WOFF_TRUE@ $(BROTLI_CFLAGS) $(WOFF2_CFLAGS) -+@ENABLE_WOFF_TRUE@am__append_12 = $(TTFAUTOHINT_LIBS) -+@USE_BUNDLED_MD5_TRUE@am__append_13 = -I$(dvisvgm_srcdir)/libs/md5 -+@USE_BUNDLED_MD5_FALSE@am__append_14 = $(LIBCRYPTO_CFLAGS) - subdir = dvisvgm-src/src - ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 - am__aclocal_m4_deps = $(top_srcdir)/../../m4/ax_cxx_compile_stdcxx.m4 \ -@@ -138,132 +133,49 @@ CONFIG_CLEAN_FILES = version.hpp - CONFIG_CLEAN_VPATH_FILES = - am__installdirs = "$(DESTDIR)$(bindir)" - PROGRAMS = $(bin_PROGRAMS) --LIBRARIES = $(noinst_LIBRARIES) --ARFLAGS = cru --AM_V_AR = $(am__v_AR_@AM_V@) --am__v_AR_ = $(am__v_AR_@AM_DEFAULT_V@) --am__v_AR_0 = @echo " AR " $@; --am__v_AR_1 = --libdvisvgm_a_AR = $(AR) $(ARFLAGS) --libdvisvgm_a_LIBADD = --am__libdvisvgm_a_SOURCES_DIST = AGLTable.hpp BasicDVIReader.hpp \ -- BasicDVIReader.cpp Bezier.hpp Bezier.cpp \ -- BgColorSpecialHandler.hpp BgColorSpecialHandler.cpp Bitmap.hpp \ -- Bitmap.cpp BoundingBox.hpp BoundingBox.cpp Calculator.hpp \ -- Calculator.cpp Character.hpp CharMapID.hpp CharMapID.cpp \ -- CLCommandLine.hpp CLCommandLine.cpp CMap.hpp CMap.cpp \ -- CMapManager.hpp CMapManager.cpp CMapReader.hpp CMapReader.cpp \ -- CLOption.hpp Color.hpp Color.cpp ColorSpecialHandler.hpp \ -- ColorSpecialHandler.cpp CommandLine.hpp Directory.hpp \ -- Directory.cpp DVIActions.hpp DLLoader.hpp DLLoader.cpp \ -- DVIReader.hpp DVIReader.cpp DvisvgmSpecialHandler.hpp \ -- DvisvgmSpecialHandler.cpp DVIToSVG.hpp DVIToSVG.cpp \ -- DVIToSVGActions.hpp DVIToSVGActions.cpp EllipticalArc.hpp \ -- EllipticalArc.cpp EmSpecialHandler.hpp EmSpecialHandler.cpp \ -- EncFile.hpp EncFile.cpp EPSFile.hpp EPSFile.cpp EPSToSVG.hpp \ -- FileFinder.hpp FileFinder.cpp FilePath.hpp FilePath.cpp \ -- FileSystem.hpp FileSystem.cpp FixWord.hpp Font.hpp Font.cpp \ -- FontCache.hpp FontCache.cpp FontEncoding.hpp FontEncoding.cpp \ -- FontEngine.hpp FontEngine.cpp FontManager.hpp FontManager.cpp \ -- FontMap.hpp FontMap.cpp FontMetrics.hpp FontMetrics.cpp \ -- FontStyle.hpp FontWriter.hpp FontWriter.cpp GFGlyphTracer.hpp \ -- GFGlyphTracer.cpp GFReader.hpp GFReader.cpp GFTracer.hpp \ -- GFTracer.cpp Ghostscript.hpp Ghostscript.cpp Glyph.hpp \ -- GlyphTracerMessages.hpp GraphicsPath.hpp HashFunction.hpp \ -- HashFunction.cpp HtmlSpecialHandler.hpp HtmlSpecialHandler.cpp \ -- HyperlinkManager.hpp HyperlinkManager.cpp ImageToSVG.hpp \ -- ImageToSVG.cpp InputBuffer.hpp InputBuffer.cpp InputReader.hpp \ -- InputReader.cpp JFM.hpp JFM.cpp Length.hpp Length.cpp \ -- macros.hpp MapLine.hpp MapLine.cpp Matrix.hpp Matrix.cpp \ -- MD5HashFunction.hpp Message.hpp Message.cpp \ -- MessageException.hpp MetafontWrapper.hpp MetafontWrapper.cpp \ -- NoPsSpecialHandler.hpp NoPsSpecialHandler.cpp \ -- NumericRanges.hpp Opacity.hpp Opacity.cpp PageRanges.hpp \ -- PageRanges.cpp PageSize.hpp PageSize.cpp Pair.hpp \ -- PapersizeSpecialHandler.hpp PapersizeSpecialHandler.cpp \ -- PathClipper.hpp PathClipper.cpp PDFParser.hpp PDFParser.cpp \ -- PdfSpecialHandler.hpp PdfSpecialHandler.cpp PDFToSVG.hpp \ -- PreScanDVIReader.hpp PreScanDVIReader.cpp Process.hpp \ -- Process.cpp psdefs.cpp PSFilter.hpp PSInterpreter.hpp \ -- PSInterpreter.cpp PSPattern.hpp PSPattern.cpp \ -- PSPreviewFilter.hpp PSPreviewFilter.cpp PsSpecialHandler.hpp \ -- PsSpecialHandler.cpp RangeMap.hpp RangeMap.cpp \ -- ShadingPatch.hpp ShadingPatch.cpp SignalHandler.hpp \ -- SignalHandler.cpp SourceInput.hpp SourceInput.cpp \ -- SpecialActions.hpp SpecialHandler.hpp SpecialManager.hpp \ -- SpecialManager.cpp StreamReader.hpp StreamReader.cpp \ -- StreamWriter.hpp StreamWriter.cpp Subfont.hpp Subfont.cpp \ -- SVGCharHandler.hpp SVGCharHandler.cpp \ -- SVGCharHandlerFactory.hpp SVGCharHandlerFactory.cpp \ -- SVGCharPathHandler.hpp SVGCharPathHandler.cpp \ -- SVGCharTspanTextHandler.hpp SVGCharTspanTextHandler.cpp \ -- SVGElement.hpp SVGElement.cpp SVGOutput.hpp SVGOutput.cpp \ -- SVGSingleCharTextHandler.hpp SVGSingleCharTextHandler.cpp \ -- SVGTree.hpp SVGTree.cpp System.hpp System.cpp \ -- TensorProductPatch.hpp TensorProductPatch.cpp Terminal.hpp \ -- Terminal.cpp TFM.hpp TFM.cpp ToUnicodeMap.hpp ToUnicodeMap.cpp \ -- TpicSpecialHandler.hpp TpicSpecialHandler.cpp \ -- TriangularPatch.hpp TriangularPatch.cpp TrueTypeFont.hpp \ -- TrueTypeFont.cpp TTFAutohint.hpp TTFAutohint.cpp Unicode.hpp \ -- Unicode.cpp utility.hpp utility.cpp VectorIterator.hpp \ -- VectorStream.hpp VFActions.hpp VFReader.hpp VFReader.cpp \ -- windows.hpp XMLDocument.hpp XMLDocument.cpp XMLNode.hpp \ -- XMLNode.cpp XMLString.hpp XMLString.cpp XXHashFunction.hpp \ -- ZLibOutputStream.hpp ffwrapper.c ffwrapper.h --@ENABLE_WOFF_TRUE@am__objects_1 = ffwrapper.$(OBJEXT) --am_libdvisvgm_a_OBJECTS = BasicDVIReader.$(OBJEXT) Bezier.$(OBJEXT) \ -- BgColorSpecialHandler.$(OBJEXT) Bitmap.$(OBJEXT) \ -- BoundingBox.$(OBJEXT) Calculator.$(OBJEXT) CharMapID.$(OBJEXT) \ -- CLCommandLine.$(OBJEXT) CMap.$(OBJEXT) CMapManager.$(OBJEXT) \ -- CMapReader.$(OBJEXT) Color.$(OBJEXT) \ -- ColorSpecialHandler.$(OBJEXT) Directory.$(OBJEXT) \ -- DLLoader.$(OBJEXT) DVIReader.$(OBJEXT) \ -- DvisvgmSpecialHandler.$(OBJEXT) DVIToSVG.$(OBJEXT) \ -- DVIToSVGActions.$(OBJEXT) EllipticalArc.$(OBJEXT) \ -- EmSpecialHandler.$(OBJEXT) EncFile.$(OBJEXT) EPSFile.$(OBJEXT) \ -- FileFinder.$(OBJEXT) FilePath.$(OBJEXT) FileSystem.$(OBJEXT) \ -- Font.$(OBJEXT) FontCache.$(OBJEXT) FontEncoding.$(OBJEXT) \ -- FontEngine.$(OBJEXT) FontManager.$(OBJEXT) FontMap.$(OBJEXT) \ -- FontMetrics.$(OBJEXT) FontWriter.$(OBJEXT) \ -- GFGlyphTracer.$(OBJEXT) GFReader.$(OBJEXT) GFTracer.$(OBJEXT) \ -- Ghostscript.$(OBJEXT) HashFunction.$(OBJEXT) \ -- HtmlSpecialHandler.$(OBJEXT) HyperlinkManager.$(OBJEXT) \ -- ImageToSVG.$(OBJEXT) InputBuffer.$(OBJEXT) \ -- InputReader.$(OBJEXT) JFM.$(OBJEXT) Length.$(OBJEXT) \ -- MapLine.$(OBJEXT) Matrix.$(OBJEXT) Message.$(OBJEXT) \ -- MetafontWrapper.$(OBJEXT) NoPsSpecialHandler.$(OBJEXT) \ -- Opacity.$(OBJEXT) PageRanges.$(OBJEXT) PageSize.$(OBJEXT) \ -- PapersizeSpecialHandler.$(OBJEXT) PathClipper.$(OBJEXT) \ -- PDFParser.$(OBJEXT) PdfSpecialHandler.$(OBJEXT) \ -- PreScanDVIReader.$(OBJEXT) Process.$(OBJEXT) psdefs.$(OBJEXT) \ -- PSInterpreter.$(OBJEXT) PSPattern.$(OBJEXT) \ -- PSPreviewFilter.$(OBJEXT) PsSpecialHandler.$(OBJEXT) \ -- RangeMap.$(OBJEXT) ShadingPatch.$(OBJEXT) \ -- SignalHandler.$(OBJEXT) SourceInput.$(OBJEXT) \ -- SpecialManager.$(OBJEXT) StreamReader.$(OBJEXT) \ -- StreamWriter.$(OBJEXT) Subfont.$(OBJEXT) \ -- SVGCharHandler.$(OBJEXT) SVGCharHandlerFactory.$(OBJEXT) \ -- SVGCharPathHandler.$(OBJEXT) SVGCharTspanTextHandler.$(OBJEXT) \ -- SVGElement.$(OBJEXT) SVGOutput.$(OBJEXT) \ -- SVGSingleCharTextHandler.$(OBJEXT) SVGTree.$(OBJEXT) \ -- System.$(OBJEXT) TensorProductPatch.$(OBJEXT) \ -- Terminal.$(OBJEXT) TFM.$(OBJEXT) ToUnicodeMap.$(OBJEXT) \ -- TpicSpecialHandler.$(OBJEXT) TriangularPatch.$(OBJEXT) \ -- TrueTypeFont.$(OBJEXT) TTFAutohint.$(OBJEXT) Unicode.$(OBJEXT) \ -- utility.$(OBJEXT) VFReader.$(OBJEXT) XMLDocument.$(OBJEXT) \ -- XMLNode.$(OBJEXT) XMLString.$(OBJEXT) $(am__objects_1) --libdvisvgm_a_OBJECTS = $(am_libdvisvgm_a_OBJECTS) --am_dvisvgm_OBJECTS = dvisvgm.$(OBJEXT) --dvisvgm_OBJECTS = $(am_dvisvgm_OBJECTS) --am__DEPENDENCIES_1 = $(am__append_4) --am__DEPENDENCIES_2 = $(am__append_2) --@ENABLE_WOFF_TRUE@am__DEPENDENCIES_3 = ../libs/ff-woff/libfontforge.a \ --@ENABLE_WOFF_TRUE@ $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_2) --am__DEPENDENCIES_4 = -+LTLIBRARIES = $(noinst_LTLIBRARIES) -+libdvisvgm_la_DEPENDENCIES = fonts/libbase14fonts.la \ -+ optimizer/liboptimizer.la $(am__append_9) -+am_libdvisvgm_la_OBJECTS = BasicDVIReader.lo Bezier.lo \ -+ BgColorSpecialHandler.lo Bitmap.lo BoundingBox.lo \ -+ Calculator.lo CharMapID.lo CLCommandLine.lo CMap.lo \ -+ CMapManager.lo CMapReader.lo Color.lo ColorSpecialHandler.lo \ -+ Directory.lo DLLoader.lo DVIReader.lo DvisvgmSpecialHandler.lo \ -+ DVIToSVG.lo DVIToSVGActions.lo EllipticalArc.lo \ -+ EmSpecialHandler.lo EncFile.lo EPSFile.lo FileFinder.lo \ -+ FilePath.lo FileSystem.lo Font.lo FontCache.lo FontEncoding.lo \ -+ FontEngine.lo FontManager.lo FontMap.lo FontMetrics.lo \ -+ FontWriter.lo GFGlyphTracer.lo GFReader.lo GFTracer.lo \ -+ Ghostscript.lo HashFunction.lo HtmlSpecialHandler.lo \ -+ HyperlinkManager.lo ImageToSVG.lo InputBuffer.lo \ -+ InputReader.lo JFM.lo Length.lo MapLine.lo Matrix.lo \ -+ Message.lo MetafontWrapper.lo NoPsSpecialHandler.lo Opacity.lo \ -+ PageRanges.lo PageSize.lo PapersizeSpecialHandler.lo \ -+ PathClipper.lo PDFHandler.lo PDFParser.lo PdfSpecialHandler.lo \ -+ PDFToSVG.lo PreScanDVIReader.lo Process.lo psdefs.lo \ -+ PSInterpreter.lo PSPattern.lo PSPreviewFilter.lo \ -+ PsSpecialHandler.lo RangeMap.lo ShadingPatch.lo \ -+ SignalHandler.lo SourceInput.lo SpecialManager.lo \ -+ StreamReader.lo StreamWriter.lo Subfont.lo SVGCharHandler.lo \ -+ SVGCharHandlerFactory.lo SVGCharPathHandler.lo \ -+ SVGCharTspanTextHandler.lo SVGElement.lo SVGOutput.lo \ -+ SVGSingleCharTextHandler.lo SVGTree.lo System.lo \ -+ TensorProductPatch.lo Terminal.lo TFM.lo ToUnicodeMap.lo \ -+ TpicSpecialHandler.lo TriangularPatch.lo Unicode.lo utility.lo \ -+ VFReader.lo XMLDocument.lo XMLNode.lo XMLParser.lo \ -+ XMLString.lo -+libdvisvgm_la_OBJECTS = $(am_libdvisvgm_la_OBJECTS) - 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_dvisvgm_OBJECTS = dvisvgm.$(OBJEXT) -+dvisvgm_OBJECTS = $(am_dvisvgm_OBJECTS) -+am__DEPENDENCIES_1 = -+am__DEPENDENCIES_2 = $(am__append_4) -+am__DEPENDENCIES_3 = $(am__append_2) -+@ENABLE_WOFF_TRUE@am__DEPENDENCIES_4 = $(am__DEPENDENCIES_2) \ -+@ENABLE_WOFF_TRUE@ $(am__DEPENDENCIES_3) - AM_V_P = $(am__v_P_@AM_V@) - am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) - am__v_P_0 = false -@@ -279,60 +191,79 @@ am__v_at_1 = - DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir) - depcomp = $(SHELL) $(top_srcdir)/../../build-aux/depcomp - am__maybe_remake_depfiles = depfiles --am__depfiles_remade = ./$(DEPDIR)/BasicDVIReader.Po \ -- ./$(DEPDIR)/Bezier.Po ./$(DEPDIR)/BgColorSpecialHandler.Po \ -- ./$(DEPDIR)/Bitmap.Po ./$(DEPDIR)/BoundingBox.Po \ -- ./$(DEPDIR)/CLCommandLine.Po ./$(DEPDIR)/CMap.Po \ -- ./$(DEPDIR)/CMapManager.Po ./$(DEPDIR)/CMapReader.Po \ -- ./$(DEPDIR)/Calculator.Po ./$(DEPDIR)/CharMapID.Po \ -- ./$(DEPDIR)/Color.Po ./$(DEPDIR)/ColorSpecialHandler.Po \ -- ./$(DEPDIR)/DLLoader.Po ./$(DEPDIR)/DVIReader.Po \ -- ./$(DEPDIR)/DVIToSVG.Po ./$(DEPDIR)/DVIToSVGActions.Po \ -- ./$(DEPDIR)/Directory.Po ./$(DEPDIR)/DvisvgmSpecialHandler.Po \ -- ./$(DEPDIR)/EPSFile.Po ./$(DEPDIR)/EllipticalArc.Po \ -- ./$(DEPDIR)/EmSpecialHandler.Po ./$(DEPDIR)/EncFile.Po \ -- ./$(DEPDIR)/FileFinder.Po ./$(DEPDIR)/FilePath.Po \ -- ./$(DEPDIR)/FileSystem.Po ./$(DEPDIR)/Font.Po \ -- ./$(DEPDIR)/FontCache.Po ./$(DEPDIR)/FontEncoding.Po \ -- ./$(DEPDIR)/FontEngine.Po ./$(DEPDIR)/FontManager.Po \ -- ./$(DEPDIR)/FontMap.Po ./$(DEPDIR)/FontMetrics.Po \ -- ./$(DEPDIR)/FontWriter.Po ./$(DEPDIR)/GFGlyphTracer.Po \ -- ./$(DEPDIR)/GFReader.Po ./$(DEPDIR)/GFTracer.Po \ -- ./$(DEPDIR)/Ghostscript.Po ./$(DEPDIR)/HashFunction.Po \ -- ./$(DEPDIR)/HtmlSpecialHandler.Po \ -- ./$(DEPDIR)/HyperlinkManager.Po ./$(DEPDIR)/ImageToSVG.Po \ -- ./$(DEPDIR)/InputBuffer.Po ./$(DEPDIR)/InputReader.Po \ -- ./$(DEPDIR)/JFM.Po ./$(DEPDIR)/Length.Po \ -- ./$(DEPDIR)/MapLine.Po ./$(DEPDIR)/Matrix.Po \ -- ./$(DEPDIR)/Message.Po ./$(DEPDIR)/MetafontWrapper.Po \ -- ./$(DEPDIR)/NoPsSpecialHandler.Po ./$(DEPDIR)/Opacity.Po \ -- ./$(DEPDIR)/PDFParser.Po ./$(DEPDIR)/PSInterpreter.Po \ -- ./$(DEPDIR)/PSPattern.Po ./$(DEPDIR)/PSPreviewFilter.Po \ -- ./$(DEPDIR)/PageRanges.Po ./$(DEPDIR)/PageSize.Po \ -- ./$(DEPDIR)/PapersizeSpecialHandler.Po \ -- ./$(DEPDIR)/PathClipper.Po ./$(DEPDIR)/PdfSpecialHandler.Po \ -- ./$(DEPDIR)/PreScanDVIReader.Po ./$(DEPDIR)/Process.Po \ -- ./$(DEPDIR)/PsSpecialHandler.Po ./$(DEPDIR)/RangeMap.Po \ -- ./$(DEPDIR)/SVGCharHandler.Po \ -- ./$(DEPDIR)/SVGCharHandlerFactory.Po \ -- ./$(DEPDIR)/SVGCharPathHandler.Po \ -- ./$(DEPDIR)/SVGCharTspanTextHandler.Po \ -- ./$(DEPDIR)/SVGElement.Po ./$(DEPDIR)/SVGOutput.Po \ -- ./$(DEPDIR)/SVGSingleCharTextHandler.Po ./$(DEPDIR)/SVGTree.Po \ -- ./$(DEPDIR)/ShadingPatch.Po ./$(DEPDIR)/SignalHandler.Po \ -- ./$(DEPDIR)/SourceInput.Po ./$(DEPDIR)/SpecialManager.Po \ -- ./$(DEPDIR)/StreamReader.Po ./$(DEPDIR)/StreamWriter.Po \ -- ./$(DEPDIR)/Subfont.Po ./$(DEPDIR)/System.Po \ -- ./$(DEPDIR)/TFM.Po ./$(DEPDIR)/TTFAutohint.Po \ -- ./$(DEPDIR)/TensorProductPatch.Po ./$(DEPDIR)/Terminal.Po \ -- ./$(DEPDIR)/ToUnicodeMap.Po ./$(DEPDIR)/TpicSpecialHandler.Po \ -- ./$(DEPDIR)/TriangularPatch.Po ./$(DEPDIR)/TrueTypeFont.Po \ -- ./$(DEPDIR)/Unicode.Po ./$(DEPDIR)/VFReader.Po \ -- ./$(DEPDIR)/XMLDocument.Po ./$(DEPDIR)/XMLNode.Po \ -- ./$(DEPDIR)/XMLString.Po ./$(DEPDIR)/dvisvgm.Po \ -- ./$(DEPDIR)/ffwrapper.Po ./$(DEPDIR)/psdefs.Po \ -- ./$(DEPDIR)/utility.Po -+am__depfiles_remade = ./$(DEPDIR)/BasicDVIReader.Plo \ -+ ./$(DEPDIR)/Bezier.Plo ./$(DEPDIR)/BgColorSpecialHandler.Plo \ -+ ./$(DEPDIR)/Bitmap.Plo ./$(DEPDIR)/BoundingBox.Plo \ -+ ./$(DEPDIR)/CLCommandLine.Plo ./$(DEPDIR)/CMap.Plo \ -+ ./$(DEPDIR)/CMapManager.Plo ./$(DEPDIR)/CMapReader.Plo \ -+ ./$(DEPDIR)/Calculator.Plo ./$(DEPDIR)/CharMapID.Plo \ -+ ./$(DEPDIR)/Color.Plo ./$(DEPDIR)/ColorSpecialHandler.Plo \ -+ ./$(DEPDIR)/DLLoader.Plo ./$(DEPDIR)/DVIReader.Plo \ -+ ./$(DEPDIR)/DVIToSVG.Plo ./$(DEPDIR)/DVIToSVGActions.Plo \ -+ ./$(DEPDIR)/Directory.Plo \ -+ ./$(DEPDIR)/DvisvgmSpecialHandler.Plo ./$(DEPDIR)/EPSFile.Plo \ -+ ./$(DEPDIR)/EllipticalArc.Plo ./$(DEPDIR)/EmSpecialHandler.Plo \ -+ ./$(DEPDIR)/EncFile.Plo ./$(DEPDIR)/FileFinder.Plo \ -+ ./$(DEPDIR)/FilePath.Plo ./$(DEPDIR)/FileSystem.Plo \ -+ ./$(DEPDIR)/Font.Plo ./$(DEPDIR)/FontCache.Plo \ -+ ./$(DEPDIR)/FontEncoding.Plo ./$(DEPDIR)/FontEngine.Plo \ -+ ./$(DEPDIR)/FontManager.Plo ./$(DEPDIR)/FontMap.Plo \ -+ ./$(DEPDIR)/FontMetrics.Plo ./$(DEPDIR)/FontWriter.Plo \ -+ ./$(DEPDIR)/GFGlyphTracer.Plo ./$(DEPDIR)/GFReader.Plo \ -+ ./$(DEPDIR)/GFTracer.Plo ./$(DEPDIR)/Ghostscript.Plo \ -+ ./$(DEPDIR)/HashFunction.Plo \ -+ ./$(DEPDIR)/HtmlSpecialHandler.Plo \ -+ ./$(DEPDIR)/HyperlinkManager.Plo ./$(DEPDIR)/ImageToSVG.Plo \ -+ ./$(DEPDIR)/InputBuffer.Plo ./$(DEPDIR)/InputReader.Plo \ -+ ./$(DEPDIR)/JFM.Plo ./$(DEPDIR)/Length.Plo \ -+ ./$(DEPDIR)/MapLine.Plo ./$(DEPDIR)/Matrix.Plo \ -+ ./$(DEPDIR)/Message.Plo ./$(DEPDIR)/MetafontWrapper.Plo \ -+ ./$(DEPDIR)/NoPsSpecialHandler.Plo ./$(DEPDIR)/Opacity.Plo \ -+ ./$(DEPDIR)/PDFHandler.Plo ./$(DEPDIR)/PDFParser.Plo \ -+ ./$(DEPDIR)/PDFToSVG.Plo ./$(DEPDIR)/PSInterpreter.Plo \ -+ ./$(DEPDIR)/PSPattern.Plo ./$(DEPDIR)/PSPreviewFilter.Plo \ -+ ./$(DEPDIR)/PageRanges.Plo ./$(DEPDIR)/PageSize.Plo \ -+ ./$(DEPDIR)/PapersizeSpecialHandler.Plo \ -+ ./$(DEPDIR)/PathClipper.Plo ./$(DEPDIR)/PdfSpecialHandler.Plo \ -+ ./$(DEPDIR)/PreScanDVIReader.Plo ./$(DEPDIR)/Process.Plo \ -+ ./$(DEPDIR)/PsSpecialHandler.Plo ./$(DEPDIR)/RangeMap.Plo \ -+ ./$(DEPDIR)/SVGCharHandler.Plo \ -+ ./$(DEPDIR)/SVGCharHandlerFactory.Plo \ -+ ./$(DEPDIR)/SVGCharPathHandler.Plo \ -+ ./$(DEPDIR)/SVGCharTspanTextHandler.Plo \ -+ ./$(DEPDIR)/SVGElement.Plo ./$(DEPDIR)/SVGOutput.Plo \ -+ ./$(DEPDIR)/SVGSingleCharTextHandler.Plo \ -+ ./$(DEPDIR)/SVGTree.Plo ./$(DEPDIR)/ShadingPatch.Plo \ -+ ./$(DEPDIR)/SignalHandler.Plo ./$(DEPDIR)/SourceInput.Plo \ -+ ./$(DEPDIR)/SpecialManager.Plo ./$(DEPDIR)/StreamReader.Plo \ -+ ./$(DEPDIR)/StreamWriter.Plo ./$(DEPDIR)/Subfont.Plo \ -+ ./$(DEPDIR)/System.Plo ./$(DEPDIR)/TFM.Plo \ -+ ./$(DEPDIR)/TensorProductPatch.Plo ./$(DEPDIR)/Terminal.Plo \ -+ ./$(DEPDIR)/ToUnicodeMap.Plo \ -+ ./$(DEPDIR)/TpicSpecialHandler.Plo \ -+ ./$(DEPDIR)/TriangularPatch.Plo ./$(DEPDIR)/Unicode.Plo \ -+ ./$(DEPDIR)/VFReader.Plo ./$(DEPDIR)/XMLDocument.Plo \ -+ ./$(DEPDIR)/XMLNode.Plo ./$(DEPDIR)/XMLParser.Plo \ -+ ./$(DEPDIR)/XMLString.Plo ./$(DEPDIR)/dvisvgm.Po \ -+ ./$(DEPDIR)/psdefs.Plo ./$(DEPDIR)/utility.Plo - am__mv = mv -f -+CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \ -+ $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -+LTCXXCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) \ -+ $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) \ -+ $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \ -+ $(AM_CXXFLAGS) $(CXXFLAGS) -+AM_V_CXX = $(am__v_CXX_@AM_V@) -+am__v_CXX_ = $(am__v_CXX_@AM_DEFAULT_V@) -+am__v_CXX_0 = @echo " CXX " $@; -+am__v_CXX_1 = -+CXXLINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) \ -+ $(LIBTOOLFLAGS) --mode=link $(CXXLD) $(AM_CXXFLAGS) \ -+ $(CXXFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@ -+AM_V_CXXLD = $(am__v_CXXLD_@AM_V@) -+am__v_CXXLD_ = $(am__v_CXXLD_@AM_DEFAULT_V@) -+am__v_CXXLD_0 = @echo " CXXLD " $@; -+am__v_CXXLD_1 = - COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ - $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) - LTCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \ -@@ -351,25 +282,8 @@ 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 = --CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \ -- $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) --LTCXXCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) \ -- $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) \ -- $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \ -- $(AM_CXXFLAGS) $(CXXFLAGS) --AM_V_CXX = $(am__v_CXX_@AM_V@) --am__v_CXX_ = $(am__v_CXX_@AM_DEFAULT_V@) --am__v_CXX_0 = @echo " CXX " $@; --am__v_CXX_1 = --CXXLINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) \ -- $(LIBTOOLFLAGS) --mode=link $(CXXLD) $(AM_CXXFLAGS) \ -- $(CXXFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@ --AM_V_CXXLD = $(am__v_CXXLD_@AM_V@) --am__v_CXXLD_ = $(am__v_CXXLD_@AM_DEFAULT_V@) --am__v_CXXLD_0 = @echo " CXXLD " $@; --am__v_CXXLD_1 = --SOURCES = $(libdvisvgm_a_SOURCES) $(dvisvgm_SOURCES) --DIST_SOURCES = $(am__libdvisvgm_a_SOURCES_DIST) $(dvisvgm_SOURCES) -+SOURCES = $(libdvisvgm_la_SOURCES) $(dvisvgm_SOURCES) -+DIST_SOURCES = $(libdvisvgm_la_SOURCES) $(dvisvgm_SOURCES) - RECURSIVE_TARGETS = all-recursive check-recursive cscopelist-recursive \ - ctags-recursive dvi-recursive html-recursive info-recursive \ - install-data-recursive install-dvi-recursive \ -@@ -408,7 +322,7 @@ am__define_uniq_tagged_files = \ - unique=`for i in $$list; do \ - if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ - done | $(am__uniquify_input)` --DIST_SUBDIRS = $(SUBDIRS) -+DIST_SUBDIRS = fonts optimizer ttf - am__DIST_COMMON = $(srcdir)/../libs/defs.am $(srcdir)/Makefile.in \ - $(srcdir)/version.hpp.in $(top_srcdir)/../../build-aux/depcomp - DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) -@@ -441,10 +355,7 @@ ACLOCAL = @ACLOCAL@ - AMTAR = @AMTAR@ - AM_CPPFLAGS = @AM_CPPFLAGS@ - AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ --AM_LDFLAGS = \ -- $(KPSE_LIBS) \ -- $(CODE_COVERAGE_LDFLAGS) -- -+AM_LDFLAGS = $(KPSE_LIBS) $(CODE_COVERAGE_LDFLAGS) $(am__append_12) - AR = @AR@ - AS = @AS@ - AUTOCONF = @AUTOCONF@ -@@ -593,8 +504,8 @@ target_alias = @target_alias@ - top_build_prefix = @top_build_prefix@ - top_builddir = @top_builddir@ - top_srcdir = @top_srcdir@ --noinst_LIBRARIES = libdvisvgm.a --SUBDIRS = optimizer -+noinst_LTLIBRARIES = libdvisvgm.la -+SUBDIRS = fonts optimizer ttf $(am__append_5) - dvisvgm_SOURCES = \ - CommandLine.hpp \ - dvisvgm.cpp -@@ -603,92 +514,155 @@ dvisvgm_SOURCES = \ - @HAVE_POTRACE_FALSE@POTRACE_LIBS = ../libs/potrace/libpotrace.a - @HAVE_XXHASH_FALSE@XXHASH_CFLAGS = -I$(dvisvgm_srcdir)/libs/xxHash - @HAVE_XXHASH_FALSE@XXHASH_LIBS = ../libs/xxHash/libxxhash.a --dvisvgm_LDADD = $(noinst_LIBRARIES) optimizer/liboptimizer.a \ -- ../libs/clipper/libclipper.a $(POTRACE_LIBS) $(XXHASH_LIBS) \ -- $(am__append_5) $(am__append_6) $(am__append_7) \ -- $(KPATHSEA_LIBS) $(FREETYPE2_LIBS) $(FONTFORGE_LIBS) \ -- $(ZLIB_LIBS) $(LIBGS_LIBS) --dvisvgm_DEPENDENCIES = $(noinst_LIBRARIES) $(KPATHSEA_DEPEND) \ -- $(ZLIB_DEPEND) $(FREETYPE2_DEPEND) --libdvisvgm_a_SOURCES = AGLTable.hpp BasicDVIReader.hpp \ -- BasicDVIReader.cpp Bezier.hpp Bezier.cpp \ -- BgColorSpecialHandler.hpp BgColorSpecialHandler.cpp Bitmap.hpp \ -- Bitmap.cpp BoundingBox.hpp BoundingBox.cpp Calculator.hpp \ -- Calculator.cpp Character.hpp CharMapID.hpp CharMapID.cpp \ -- CLCommandLine.hpp CLCommandLine.cpp CMap.hpp CMap.cpp \ -- CMapManager.hpp CMapManager.cpp CMapReader.hpp CMapReader.cpp \ -- CLOption.hpp Color.hpp Color.cpp ColorSpecialHandler.hpp \ -- ColorSpecialHandler.cpp CommandLine.hpp Directory.hpp \ -- Directory.cpp DVIActions.hpp DLLoader.hpp DLLoader.cpp \ -- DVIReader.hpp DVIReader.cpp DvisvgmSpecialHandler.hpp \ -- DvisvgmSpecialHandler.cpp DVIToSVG.hpp DVIToSVG.cpp \ -- DVIToSVGActions.hpp DVIToSVGActions.cpp EllipticalArc.hpp \ -- EllipticalArc.cpp EmSpecialHandler.hpp EmSpecialHandler.cpp \ -- EncFile.hpp EncFile.cpp EPSFile.hpp EPSFile.cpp EPSToSVG.hpp \ -- FileFinder.hpp FileFinder.cpp FilePath.hpp FilePath.cpp \ -- FileSystem.hpp FileSystem.cpp FixWord.hpp Font.hpp Font.cpp \ -- FontCache.hpp FontCache.cpp FontEncoding.hpp FontEncoding.cpp \ -- FontEngine.hpp FontEngine.cpp FontManager.hpp FontManager.cpp \ -- FontMap.hpp FontMap.cpp FontMetrics.hpp FontMetrics.cpp \ -- FontStyle.hpp FontWriter.hpp FontWriter.cpp GFGlyphTracer.hpp \ -- GFGlyphTracer.cpp GFReader.hpp GFReader.cpp GFTracer.hpp \ -- GFTracer.cpp Ghostscript.hpp Ghostscript.cpp Glyph.hpp \ -- GlyphTracerMessages.hpp GraphicsPath.hpp HashFunction.hpp \ -- HashFunction.cpp HtmlSpecialHandler.hpp HtmlSpecialHandler.cpp \ -- HyperlinkManager.hpp HyperlinkManager.cpp ImageToSVG.hpp \ -- ImageToSVG.cpp InputBuffer.hpp InputBuffer.cpp InputReader.hpp \ -- InputReader.cpp JFM.hpp JFM.cpp Length.hpp Length.cpp \ -- macros.hpp MapLine.hpp MapLine.cpp Matrix.hpp Matrix.cpp \ -- MD5HashFunction.hpp Message.hpp Message.cpp \ -- MessageException.hpp MetafontWrapper.hpp MetafontWrapper.cpp \ -- NoPsSpecialHandler.hpp NoPsSpecialHandler.cpp \ -- NumericRanges.hpp Opacity.hpp Opacity.cpp PageRanges.hpp \ -- PageRanges.cpp PageSize.hpp PageSize.cpp Pair.hpp \ -- PapersizeSpecialHandler.hpp PapersizeSpecialHandler.cpp \ -- PathClipper.hpp PathClipper.cpp PDFParser.hpp PDFParser.cpp \ -- PdfSpecialHandler.hpp PdfSpecialHandler.cpp PDFToSVG.hpp \ -- PreScanDVIReader.hpp PreScanDVIReader.cpp Process.hpp \ -- Process.cpp psdefs.cpp PSFilter.hpp PSInterpreter.hpp \ -- PSInterpreter.cpp PSPattern.hpp PSPattern.cpp \ -- PSPreviewFilter.hpp PSPreviewFilter.cpp PsSpecialHandler.hpp \ -- PsSpecialHandler.cpp RangeMap.hpp RangeMap.cpp \ -- ShadingPatch.hpp ShadingPatch.cpp SignalHandler.hpp \ -- SignalHandler.cpp SourceInput.hpp SourceInput.cpp \ -- SpecialActions.hpp SpecialHandler.hpp SpecialManager.hpp \ -- SpecialManager.cpp StreamReader.hpp StreamReader.cpp \ -- StreamWriter.hpp StreamWriter.cpp Subfont.hpp Subfont.cpp \ -- SVGCharHandler.hpp SVGCharHandler.cpp \ -- SVGCharHandlerFactory.hpp SVGCharHandlerFactory.cpp \ -- SVGCharPathHandler.hpp SVGCharPathHandler.cpp \ -- SVGCharTspanTextHandler.hpp SVGCharTspanTextHandler.cpp \ -- SVGElement.hpp SVGElement.cpp SVGOutput.hpp SVGOutput.cpp \ -+dvisvgm_LDADD = $(noinst_LTLIBRARIES) ../libs/clipper/libclipper.a \ -+ $(KPATHSEA_LIBS) $(FREETYPE2_LIBS) $(POTRACE_LIBS) \ -+ $(XXHASH_LIBS) $(ZLIB_LIBS) $(LIBGS_LIBS) $(am__append_6) \ -+ $(am__append_7) $(am__append_8) -+dvisvgm_DEPENDENCIES = $(noinst_LTLIBRARIES) -+libdvisvgm_la_SOURCES = \ -+ AGLTable.hpp \ -+ BasicDVIReader.hpp BasicDVIReader.cpp \ -+ Bezier.hpp Bezier.cpp \ -+ BgColorSpecialHandler.hpp BgColorSpecialHandler.cpp \ -+ Bitmap.hpp Bitmap.cpp \ -+ BoundingBox.hpp BoundingBox.cpp \ -+ Calculator.hpp Calculator.cpp \ -+ Character.hpp \ -+ CharMapID.hpp CharMapID.cpp \ -+ CLCommandLine.hpp CLCommandLine.cpp \ -+ CMap.hpp CMap.cpp \ -+ CMapManager.hpp CMapManager.cpp \ -+ CMapReader.hpp CMapReader.cpp \ -+ CLOption.hpp \ -+ Color.hpp Color.cpp \ -+ ColorSpecialHandler.hpp ColorSpecialHandler.cpp \ -+ CommandLine.hpp \ -+ Directory.hpp Directory.cpp \ -+ DVIActions.hpp \ -+ DLLoader.hpp DLLoader.cpp \ -+ DVIReader.hpp DVIReader.cpp \ -+ DvisvgmSpecialHandler.hpp DvisvgmSpecialHandler.cpp \ -+ DVIToSVG.hpp DVIToSVG.cpp \ -+ DVIToSVGActions.hpp DVIToSVGActions.cpp \ -+ EllipticalArc.hpp EllipticalArc.cpp \ -+ EmSpecialHandler.hpp EmSpecialHandler.cpp \ -+ EncFile.hpp EncFile.cpp \ -+ EPSFile.hpp EPSFile.cpp \ -+ EPSToSVG.hpp \ -+ FileFinder.hpp FileFinder.cpp \ -+ FilePath.hpp FilePath.cpp \ -+ FileSystem.hpp FileSystem.cpp \ -+ FixWord.hpp \ -+ Font.hpp Font.cpp \ -+ FontCache.hpp FontCache.cpp \ -+ FontEncoding.hpp FontEncoding.cpp \ -+ FontEngine.hpp FontEngine.cpp \ -+ FontManager.hpp FontManager.cpp \ -+ FontMap.hpp FontMap.cpp \ -+ FontMetrics.hpp FontMetrics.cpp \ -+ FontStyle.hpp \ -+ FontWriter.hpp FontWriter.cpp \ -+ GFGlyphTracer.hpp GFGlyphTracer.cpp \ -+ GFReader.hpp GFReader.cpp \ -+ GFTracer.hpp GFTracer.cpp \ -+ Ghostscript.hpp Ghostscript.cpp \ -+ Glyph.hpp \ -+ GlyphTracerMessages.hpp \ -+ GraphicsPath.hpp \ -+ GraphicsPathParser.hpp \ -+ HashFunction.hpp HashFunction.cpp \ -+ HtmlSpecialHandler.hpp HtmlSpecialHandler.cpp \ -+ HyperlinkManager.hpp HyperlinkManager.cpp \ -+ ImageToSVG.hpp ImageToSVG.cpp \ -+ InputBuffer.hpp InputBuffer.cpp \ -+ InputReader.hpp InputReader.cpp \ -+ JFM.hpp JFM.cpp \ -+ Length.hpp Length.cpp \ -+ macros.hpp \ -+ MapLine.hpp MapLine.cpp \ -+ Matrix.hpp Matrix.cpp \ -+ MD5HashFunction.hpp \ -+ Message.hpp Message.cpp \ -+ MessageException.hpp \ -+ MetafontWrapper.hpp MetafontWrapper.cpp \ -+ NoPsSpecialHandler.hpp NoPsSpecialHandler.cpp \ -+ NumericRanges.hpp \ -+ Opacity.hpp Opacity.cpp \ -+ PageRanges.hpp PageRanges.cpp \ -+ PageSize.hpp PageSize.cpp \ -+ Pair.hpp \ -+ PapersizeSpecialHandler.hpp PapersizeSpecialHandler.cpp \ -+ PathClipper.hpp PathClipper.cpp \ -+ PDFHandler.hpp PDFHandler.cpp \ -+ PDFParser.hpp PDFParser.cpp \ -+ PdfSpecialHandler.hpp PdfSpecialHandler.cpp \ -+ PDFToSVG.hpp PDFToSVG.cpp \ -+ PreScanDVIReader.hpp PreScanDVIReader.cpp \ -+ Process.hpp Process.cpp \ -+ psdefs.cpp \ -+ PSFilter.hpp \ -+ PSInterpreter.hpp PSInterpreter.cpp \ -+ PSPattern.hpp PSPattern.cpp \ -+ PSPreviewFilter.hpp PSPreviewFilter.cpp \ -+ PsSpecialHandler.hpp PsSpecialHandler.cpp \ -+ RangeMap.hpp RangeMap.cpp \ -+ ShadingPatch.hpp ShadingPatch.cpp \ -+ SignalHandler.hpp SignalHandler.cpp \ -+ SourceInput.hpp SourceInput.cpp \ -+ SpecialActions.hpp \ -+ SpecialHandler.hpp \ -+ SpecialManager.hpp SpecialManager.cpp \ -+ StreamReader.hpp StreamReader.cpp \ -+ StreamWriter.hpp StreamWriter.cpp \ -+ Subfont.hpp Subfont.cpp \ -+ SVGCharHandler.hpp SVGCharHandler.cpp \ -+ SVGCharHandlerFactory.hpp SVGCharHandlerFactory.cpp \ -+ SVGCharPathHandler.hpp SVGCharPathHandler.cpp \ -+ SVGCharTspanTextHandler.hpp SVGCharTspanTextHandler.cpp \ -+ SVGElement.hpp SVGElement.cpp \ -+ SVGOutput.hpp SVGOutput.cpp \ - SVGSingleCharTextHandler.hpp SVGSingleCharTextHandler.cpp \ -- SVGTree.hpp SVGTree.cpp System.hpp System.cpp \ -- TensorProductPatch.hpp TensorProductPatch.cpp Terminal.hpp \ -- Terminal.cpp TFM.hpp TFM.cpp ToUnicodeMap.hpp ToUnicodeMap.cpp \ -- TpicSpecialHandler.hpp TpicSpecialHandler.cpp \ -- TriangularPatch.hpp TriangularPatch.cpp TrueTypeFont.hpp \ -- TrueTypeFont.cpp TTFAutohint.hpp TTFAutohint.cpp Unicode.hpp \ -- Unicode.cpp utility.hpp utility.cpp VectorIterator.hpp \ -- VectorStream.hpp VFActions.hpp VFReader.hpp VFReader.cpp \ -- windows.hpp XMLDocument.hpp XMLDocument.cpp XMLNode.hpp \ -- XMLNode.cpp XMLString.hpp XMLString.cpp XXHashFunction.hpp \ -- ZLibOutputStream.hpp $(am__append_8) -+ SVGTree.hpp SVGTree.cpp \ -+ System.hpp System.cpp \ -+ TensorProductPatch.hpp TensorProductPatch.cpp \ -+ Terminal.hpp Terminal.cpp \ -+ TFM.hpp TFM.cpp \ -+ ToUnicodeMap.hpp ToUnicodeMap.cpp \ -+ TpicSpecialHandler.hpp TpicSpecialHandler.cpp \ -+ TriangularPatch.hpp TriangularPatch.cpp \ -+ Unicode.hpp Unicode.cpp \ -+ utility.hpp utility.cpp \ -+ VectorIterator.hpp \ -+ VectorStream.hpp \ -+ VFActions.hpp \ -+ VFReader.hpp VFReader.cpp \ -+ windows.hpp \ -+ XMLDocument.hpp XMLDocument.cpp \ -+ XMLNode.hpp XMLNode.cpp \ -+ XMLParser.hpp XMLParser.cpp \ -+ XMLString.hpp XMLString.cpp \ -+ XXHashFunction.hpp \ -+ ZLibOutputStream.hpp -+ -+libdvisvgm_la_LIBADD = fonts/libbase14fonts.la \ -+ optimizer/liboptimizer.la $(am__append_9) - EXTRA_DIST = options.xml options.dtd iapi.h ierrors.h MiKTeXCom.hpp MiKTeXCom.cpp --AM_CFLAGS = $(WARNING_CFLAGS) $(ZLIB_INCLUDES) $(CODE_COVERAGE_CFLAGS) \ -- $(am__append_10) --AM_CXXFLAGS = $(WARNING_CXXFLAGS) -Wnon-virtual-dtor \ -+AM_CFLAGS = -Wall \ -+ $(ZLIB_CFLAGS) \ -+ $(CODE_COVERAGE_CFLAGS) -+ -+AM_CXXFLAGS = -Wall -Wnon-virtual-dtor \ - -I$(dvisvgm_srcdir)/libs/clipper \ -- -I$(dvisvgm_srcdir)/libs/variant/include $(POTRACE_CFLAGS) \ -- $(XXHASH_CFLAGS) $(KPATHSEA_INCLUDES) $(POTRACE_INCLUDES) \ -- $(FREETYPE2_INCLUDES) $(ZLIB_INCLUDES) $(LIBGS_INCLUDES) \ -- $(CODE_COVERAGE_CFLAGS) $(am__append_9) $(am__append_11) \ -- $(am__append_12) $(am__append_13) -+ -I$(dvisvgm_srcdir)/libs/variant/include $(KPSE_CFLAGS) \ -+ $(FREETYPE_CFLAGS) $(ZLIB_CFLAGS) $(CODE_COVERAGE_CFLAGS) \ -+ $(KPATHSEA_INCLUDES) $(FREETYPE2_INCLUDES) $(POTRACE_CFLAGS) \ -+ $(XXHASH_CFLAGS) $(am__append_10) $(am__append_11) \ -+ $(am__append_13) $(am__append_14) - CLEANFILES = *.gcda *.gcno - all: all-recursive - - .SUFFIXES: --.SUFFIXES: .c .cpp .lo .o .obj -+.SUFFIXES: .cpp .lo .o .obj - $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(srcdir)/../libs/defs.am $(am__configure_deps) - @for dep in $?; do \ - case '$(am__configure_deps)' in \ -@@ -771,13 +745,19 @@ clean-binPROGRAMS: - echo " rm -f" $$list; \ - rm -f $$list - --clean-noinstLIBRARIES: -- -test -z "$(noinst_LIBRARIES)" || rm -f $(noinst_LIBRARIES) -+clean-noinstLTLIBRARIES: -+ -test -z "$(noinst_LTLIBRARIES)" || rm -f $(noinst_LTLIBRARIES) -+ @list='$(noinst_LTLIBRARIES)'; \ -+ locs=`for p in $$list; do echo $$p; done | \ -+ sed 's|^[^/]*$$|.|; s|/[^/]*$$||; s|$$|/so_locations|' | \ -+ sort -u`; \ -+ test -z "$$locs" || { \ -+ echo rm -f $${locs}; \ -+ rm -f $${locs}; \ -+ } - --libdvisvgm.a: $(libdvisvgm_a_OBJECTS) $(libdvisvgm_a_DEPENDENCIES) $(EXTRA_libdvisvgm_a_DEPENDENCIES) -- $(AM_V_at)-rm -f libdvisvgm.a -- $(AM_V_AR)$(libdvisvgm_a_AR) libdvisvgm.a $(libdvisvgm_a_OBJECTS) $(libdvisvgm_a_LIBADD) -- $(AM_V_at)$(RANLIB) libdvisvgm.a -+libdvisvgm.la: $(libdvisvgm_la_OBJECTS) $(libdvisvgm_la_DEPENDENCIES) $(EXTRA_libdvisvgm_la_DEPENDENCIES) -+ $(AM_V_CXXLD)$(CXXLINK) $(libdvisvgm_la_OBJECTS) $(libdvisvgm_la_LIBADD) $(LIBS) - - dvisvgm$(EXEEXT): $(dvisvgm_OBJECTS) $(dvisvgm_DEPENDENCIES) $(EXTRA_dvisvgm_DEPENDENCIES) - @rm -f dvisvgm$(EXEEXT) -@@ -789,104 +769,104 @@ mostlyclean-compile: - distclean-compile: - -rm -f *.tab.c - --@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/BasicDVIReader.Po@am__quote@ # am--include-marker --@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/Bezier.Po@am__quote@ # am--include-marker --@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/BgColorSpecialHandler.Po@am__quote@ # am--include-marker --@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/Bitmap.Po@am__quote@ # am--include-marker --@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/BoundingBox.Po@am__quote@ # am--include-marker --@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/CLCommandLine.Po@am__quote@ # am--include-marker --@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/CMap.Po@am__quote@ # am--include-marker --@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/CMapManager.Po@am__quote@ # am--include-marker --@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/CMapReader.Po@am__quote@ # am--include-marker --@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/Calculator.Po@am__quote@ # am--include-marker --@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/CharMapID.Po@am__quote@ # am--include-marker --@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/Color.Po@am__quote@ # am--include-marker --@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ColorSpecialHandler.Po@am__quote@ # am--include-marker --@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/DLLoader.Po@am__quote@ # am--include-marker --@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/DVIReader.Po@am__quote@ # am--include-marker --@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/DVIToSVG.Po@am__quote@ # am--include-marker --@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/DVIToSVGActions.Po@am__quote@ # am--include-marker --@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/Directory.Po@am__quote@ # am--include-marker --@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/DvisvgmSpecialHandler.Po@am__quote@ # am--include-marker --@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/EPSFile.Po@am__quote@ # am--include-marker --@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/EllipticalArc.Po@am__quote@ # am--include-marker --@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/EmSpecialHandler.Po@am__quote@ # am--include-marker --@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/EncFile.Po@am__quote@ # am--include-marker --@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/FileFinder.Po@am__quote@ # am--include-marker --@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/FilePath.Po@am__quote@ # am--include-marker --@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/FileSystem.Po@am__quote@ # am--include-marker --@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/Font.Po@am__quote@ # am--include-marker --@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/FontCache.Po@am__quote@ # am--include-marker --@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/FontEncoding.Po@am__quote@ # am--include-marker --@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/FontEngine.Po@am__quote@ # am--include-marker --@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/FontManager.Po@am__quote@ # am--include-marker --@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/FontMap.Po@am__quote@ # am--include-marker --@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/FontMetrics.Po@am__quote@ # am--include-marker --@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/FontWriter.Po@am__quote@ # am--include-marker --@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/GFGlyphTracer.Po@am__quote@ # am--include-marker --@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/GFReader.Po@am__quote@ # am--include-marker --@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/GFTracer.Po@am__quote@ # am--include-marker --@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/Ghostscript.Po@am__quote@ # am--include-marker --@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/HashFunction.Po@am__quote@ # am--include-marker --@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/HtmlSpecialHandler.Po@am__quote@ # am--include-marker --@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/HyperlinkManager.Po@am__quote@ # am--include-marker --@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ImageToSVG.Po@am__quote@ # am--include-marker --@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/InputBuffer.Po@am__quote@ # am--include-marker --@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/InputReader.Po@am__quote@ # am--include-marker --@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/JFM.Po@am__quote@ # am--include-marker --@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/Length.Po@am__quote@ # am--include-marker --@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/MapLine.Po@am__quote@ # am--include-marker --@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/Matrix.Po@am__quote@ # am--include-marker --@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/Message.Po@am__quote@ # am--include-marker --@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/MetafontWrapper.Po@am__quote@ # am--include-marker --@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/NoPsSpecialHandler.Po@am__quote@ # am--include-marker --@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/Opacity.Po@am__quote@ # am--include-marker --@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/PDFParser.Po@am__quote@ # am--include-marker --@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/PSInterpreter.Po@am__quote@ # am--include-marker --@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/PSPattern.Po@am__quote@ # am--include-marker --@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/PSPreviewFilter.Po@am__quote@ # am--include-marker --@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/PageRanges.Po@am__quote@ # am--include-marker --@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/PageSize.Po@am__quote@ # am--include-marker --@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/PapersizeSpecialHandler.Po@am__quote@ # am--include-marker --@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/PathClipper.Po@am__quote@ # am--include-marker --@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/PdfSpecialHandler.Po@am__quote@ # am--include-marker --@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/PreScanDVIReader.Po@am__quote@ # am--include-marker --@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/Process.Po@am__quote@ # am--include-marker --@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/PsSpecialHandler.Po@am__quote@ # am--include-marker --@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/RangeMap.Po@am__quote@ # am--include-marker --@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/SVGCharHandler.Po@am__quote@ # am--include-marker --@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/SVGCharHandlerFactory.Po@am__quote@ # am--include-marker --@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/SVGCharPathHandler.Po@am__quote@ # am--include-marker --@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/SVGCharTspanTextHandler.Po@am__quote@ # am--include-marker --@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/SVGElement.Po@am__quote@ # am--include-marker --@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/SVGOutput.Po@am__quote@ # am--include-marker --@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/SVGSingleCharTextHandler.Po@am__quote@ # am--include-marker --@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/SVGTree.Po@am__quote@ # am--include-marker --@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ShadingPatch.Po@am__quote@ # am--include-marker --@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/SignalHandler.Po@am__quote@ # am--include-marker --@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/SourceInput.Po@am__quote@ # am--include-marker --@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/SpecialManager.Po@am__quote@ # am--include-marker --@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/StreamReader.Po@am__quote@ # am--include-marker --@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/StreamWriter.Po@am__quote@ # am--include-marker --@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/Subfont.Po@am__quote@ # am--include-marker --@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/System.Po@am__quote@ # am--include-marker --@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/TFM.Po@am__quote@ # am--include-marker --@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/TTFAutohint.Po@am__quote@ # am--include-marker --@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/TensorProductPatch.Po@am__quote@ # am--include-marker --@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/Terminal.Po@am__quote@ # am--include-marker --@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ToUnicodeMap.Po@am__quote@ # am--include-marker --@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/TpicSpecialHandler.Po@am__quote@ # am--include-marker --@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/TriangularPatch.Po@am__quote@ # am--include-marker --@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/TrueTypeFont.Po@am__quote@ # am--include-marker --@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/Unicode.Po@am__quote@ # am--include-marker --@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/VFReader.Po@am__quote@ # am--include-marker --@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/XMLDocument.Po@am__quote@ # am--include-marker --@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/XMLNode.Po@am__quote@ # am--include-marker --@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/XMLString.Po@am__quote@ # am--include-marker -+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/BasicDVIReader.Plo@am__quote@ # am--include-marker -+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/Bezier.Plo@am__quote@ # am--include-marker -+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/BgColorSpecialHandler.Plo@am__quote@ # am--include-marker -+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/Bitmap.Plo@am__quote@ # am--include-marker -+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/BoundingBox.Plo@am__quote@ # am--include-marker -+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/CLCommandLine.Plo@am__quote@ # am--include-marker -+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/CMap.Plo@am__quote@ # am--include-marker -+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/CMapManager.Plo@am__quote@ # am--include-marker -+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/CMapReader.Plo@am__quote@ # am--include-marker -+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/Calculator.Plo@am__quote@ # am--include-marker -+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/CharMapID.Plo@am__quote@ # am--include-marker -+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/Color.Plo@am__quote@ # am--include-marker -+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ColorSpecialHandler.Plo@am__quote@ # am--include-marker -+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/DLLoader.Plo@am__quote@ # am--include-marker -+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/DVIReader.Plo@am__quote@ # am--include-marker -+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/DVIToSVG.Plo@am__quote@ # am--include-marker -+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/DVIToSVGActions.Plo@am__quote@ # am--include-marker -+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/Directory.Plo@am__quote@ # am--include-marker -+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/DvisvgmSpecialHandler.Plo@am__quote@ # am--include-marker -+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/EPSFile.Plo@am__quote@ # am--include-marker -+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/EllipticalArc.Plo@am__quote@ # am--include-marker -+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/EmSpecialHandler.Plo@am__quote@ # am--include-marker -+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/EncFile.Plo@am__quote@ # am--include-marker -+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/FileFinder.Plo@am__quote@ # am--include-marker -+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/FilePath.Plo@am__quote@ # am--include-marker -+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/FileSystem.Plo@am__quote@ # am--include-marker -+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/Font.Plo@am__quote@ # am--include-marker -+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/FontCache.Plo@am__quote@ # am--include-marker -+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/FontEncoding.Plo@am__quote@ # am--include-marker -+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/FontEngine.Plo@am__quote@ # am--include-marker -+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/FontManager.Plo@am__quote@ # am--include-marker -+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/FontMap.Plo@am__quote@ # am--include-marker -+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/FontMetrics.Plo@am__quote@ # am--include-marker -+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/FontWriter.Plo@am__quote@ # am--include-marker -+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/GFGlyphTracer.Plo@am__quote@ # am--include-marker -+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/GFReader.Plo@am__quote@ # am--include-marker -+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/GFTracer.Plo@am__quote@ # am--include-marker -+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/Ghostscript.Plo@am__quote@ # am--include-marker -+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/HashFunction.Plo@am__quote@ # am--include-marker -+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/HtmlSpecialHandler.Plo@am__quote@ # am--include-marker -+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/HyperlinkManager.Plo@am__quote@ # am--include-marker -+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ImageToSVG.Plo@am__quote@ # am--include-marker -+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/InputBuffer.Plo@am__quote@ # am--include-marker -+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/InputReader.Plo@am__quote@ # am--include-marker -+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/JFM.Plo@am__quote@ # am--include-marker -+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/Length.Plo@am__quote@ # am--include-marker -+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/MapLine.Plo@am__quote@ # am--include-marker -+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/Matrix.Plo@am__quote@ # am--include-marker -+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/Message.Plo@am__quote@ # am--include-marker -+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/MetafontWrapper.Plo@am__quote@ # am--include-marker -+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/NoPsSpecialHandler.Plo@am__quote@ # am--include-marker -+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/Opacity.Plo@am__quote@ # am--include-marker -+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/PDFHandler.Plo@am__quote@ # am--include-marker -+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/PDFParser.Plo@am__quote@ # am--include-marker -+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/PDFToSVG.Plo@am__quote@ # am--include-marker -+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/PSInterpreter.Plo@am__quote@ # am--include-marker -+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/PSPattern.Plo@am__quote@ # am--include-marker -+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/PSPreviewFilter.Plo@am__quote@ # am--include-marker -+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/PageRanges.Plo@am__quote@ # am--include-marker -+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/PageSize.Plo@am__quote@ # am--include-marker -+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/PapersizeSpecialHandler.Plo@am__quote@ # am--include-marker -+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/PathClipper.Plo@am__quote@ # am--include-marker -+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/PdfSpecialHandler.Plo@am__quote@ # am--include-marker -+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/PreScanDVIReader.Plo@am__quote@ # am--include-marker -+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/Process.Plo@am__quote@ # am--include-marker -+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/PsSpecialHandler.Plo@am__quote@ # am--include-marker -+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/RangeMap.Plo@am__quote@ # am--include-marker -+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/SVGCharHandler.Plo@am__quote@ # am--include-marker -+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/SVGCharHandlerFactory.Plo@am__quote@ # am--include-marker -+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/SVGCharPathHandler.Plo@am__quote@ # am--include-marker -+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/SVGCharTspanTextHandler.Plo@am__quote@ # am--include-marker -+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/SVGElement.Plo@am__quote@ # am--include-marker -+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/SVGOutput.Plo@am__quote@ # am--include-marker -+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/SVGSingleCharTextHandler.Plo@am__quote@ # am--include-marker -+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/SVGTree.Plo@am__quote@ # am--include-marker -+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ShadingPatch.Plo@am__quote@ # am--include-marker -+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/SignalHandler.Plo@am__quote@ # am--include-marker -+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/SourceInput.Plo@am__quote@ # am--include-marker -+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/SpecialManager.Plo@am__quote@ # am--include-marker -+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/StreamReader.Plo@am__quote@ # am--include-marker -+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/StreamWriter.Plo@am__quote@ # am--include-marker -+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/Subfont.Plo@am__quote@ # am--include-marker -+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/System.Plo@am__quote@ # am--include-marker -+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/TFM.Plo@am__quote@ # am--include-marker -+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/TensorProductPatch.Plo@am__quote@ # am--include-marker -+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/Terminal.Plo@am__quote@ # am--include-marker -+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ToUnicodeMap.Plo@am__quote@ # am--include-marker -+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/TpicSpecialHandler.Plo@am__quote@ # am--include-marker -+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/TriangularPatch.Plo@am__quote@ # am--include-marker -+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/Unicode.Plo@am__quote@ # am--include-marker -+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/VFReader.Plo@am__quote@ # am--include-marker -+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/XMLDocument.Plo@am__quote@ # am--include-marker -+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/XMLNode.Plo@am__quote@ # am--include-marker -+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/XMLParser.Plo@am__quote@ # am--include-marker -+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/XMLString.Plo@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/dvisvgm.Po@am__quote@ # am--include-marker --@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ffwrapper.Po@am__quote@ # am--include-marker --@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/psdefs.Po@am__quote@ # am--include-marker --@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/utility.Po@am__quote@ # am--include-marker -+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/psdefs.Plo@am__quote@ # am--include-marker -+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/utility.Plo@am__quote@ # am--include-marker - - $(am__depfiles_remade): - @$(MKDIR_P) $(@D) -@@ -894,30 +874,6 @@ $(am__depfiles_remade): - - am--depfiles: $(am__depfiles_remade) - --.c.o: --@am__fastdepCC_TRUE@ $(AM_V_CC)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.o$$||'`;\ --@am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ $< &&\ --@am__fastdepCC_TRUE@ $(am__mv) $$depbase.Tpo $$depbase.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)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.obj$$||'`;\ --@am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ `$(CYGPATH_W) '$<'` &&\ --@am__fastdepCC_TRUE@ $(am__mv) $$depbase.Tpo $$depbase.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)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.lo$$||'`;\ --@am__fastdepCC_TRUE@ $(LTCOMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ $< &&\ --@am__fastdepCC_TRUE@ $(am__mv) $$depbase.Tpo $$depbase.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 $@ $< -- - .cpp.o: - @am__fastdepCXX_TRUE@ $(AM_V_CXX)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.o$$||'`;\ - @am__fastdepCXX_TRUE@ $(CXXCOMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ $< &&\ -@@ -1106,7 +1062,7 @@ distdir-am: $(DISTFILES) - done - check-am: all-am - check: check-recursive --all-am: Makefile $(PROGRAMS) $(LIBRARIES) -+all-am: Makefile $(PROGRAMS) $(LTLIBRARIES) - installdirs: installdirs-recursive - installdirs-am: - for dir in "$(DESTDIR)$(bindir)"; do \ -@@ -1146,107 +1102,107 @@ maintainer-clean-generic: - clean: clean-recursive - - clean-am: clean-binPROGRAMS clean-generic clean-libtool \ -- clean-noinstLIBRARIES mostlyclean-am -+ clean-noinstLTLIBRARIES mostlyclean-am - - distclean: distclean-recursive -- -rm -f ./$(DEPDIR)/BasicDVIReader.Po -- -rm -f ./$(DEPDIR)/Bezier.Po -- -rm -f ./$(DEPDIR)/BgColorSpecialHandler.Po -- -rm -f ./$(DEPDIR)/Bitmap.Po -- -rm -f ./$(DEPDIR)/BoundingBox.Po -- -rm -f ./$(DEPDIR)/CLCommandLine.Po -- -rm -f ./$(DEPDIR)/CMap.Po -- -rm -f ./$(DEPDIR)/CMapManager.Po -- -rm -f ./$(DEPDIR)/CMapReader.Po -- -rm -f ./$(DEPDIR)/Calculator.Po -- -rm -f ./$(DEPDIR)/CharMapID.Po -- -rm -f ./$(DEPDIR)/Color.Po -- -rm -f ./$(DEPDIR)/ColorSpecialHandler.Po -- -rm -f ./$(DEPDIR)/DLLoader.Po -- -rm -f ./$(DEPDIR)/DVIReader.Po -- -rm -f ./$(DEPDIR)/DVIToSVG.Po -- -rm -f ./$(DEPDIR)/DVIToSVGActions.Po -- -rm -f ./$(DEPDIR)/Directory.Po -- -rm -f ./$(DEPDIR)/DvisvgmSpecialHandler.Po -- -rm -f ./$(DEPDIR)/EPSFile.Po -- -rm -f ./$(DEPDIR)/EllipticalArc.Po -- -rm -f ./$(DEPDIR)/EmSpecialHandler.Po -- -rm -f ./$(DEPDIR)/EncFile.Po -- -rm -f ./$(DEPDIR)/FileFinder.Po -- -rm -f ./$(DEPDIR)/FilePath.Po -- -rm -f ./$(DEPDIR)/FileSystem.Po -- -rm -f ./$(DEPDIR)/Font.Po -- -rm -f ./$(DEPDIR)/FontCache.Po -- -rm -f ./$(DEPDIR)/FontEncoding.Po -- -rm -f ./$(DEPDIR)/FontEngine.Po -- -rm -f ./$(DEPDIR)/FontManager.Po -- -rm -f ./$(DEPDIR)/FontMap.Po -- -rm -f ./$(DEPDIR)/FontMetrics.Po -- -rm -f ./$(DEPDIR)/FontWriter.Po -- -rm -f ./$(DEPDIR)/GFGlyphTracer.Po -- -rm -f ./$(DEPDIR)/GFReader.Po -- -rm -f ./$(DEPDIR)/GFTracer.Po -- -rm -f ./$(DEPDIR)/Ghostscript.Po -- -rm -f ./$(DEPDIR)/HashFunction.Po -- -rm -f ./$(DEPDIR)/HtmlSpecialHandler.Po -- -rm -f ./$(DEPDIR)/HyperlinkManager.Po -- -rm -f ./$(DEPDIR)/ImageToSVG.Po -- -rm -f ./$(DEPDIR)/InputBuffer.Po -- -rm -f ./$(DEPDIR)/InputReader.Po -- -rm -f ./$(DEPDIR)/JFM.Po -- -rm -f ./$(DEPDIR)/Length.Po -- -rm -f ./$(DEPDIR)/MapLine.Po -- -rm -f ./$(DEPDIR)/Matrix.Po -- -rm -f ./$(DEPDIR)/Message.Po -- -rm -f ./$(DEPDIR)/MetafontWrapper.Po -- -rm -f ./$(DEPDIR)/NoPsSpecialHandler.Po -- -rm -f ./$(DEPDIR)/Opacity.Po -- -rm -f ./$(DEPDIR)/PDFParser.Po -- -rm -f ./$(DEPDIR)/PSInterpreter.Po -- -rm -f ./$(DEPDIR)/PSPattern.Po -- -rm -f ./$(DEPDIR)/PSPreviewFilter.Po -- -rm -f ./$(DEPDIR)/PageRanges.Po -- -rm -f ./$(DEPDIR)/PageSize.Po -- -rm -f ./$(DEPDIR)/PapersizeSpecialHandler.Po -- -rm -f ./$(DEPDIR)/PathClipper.Po -- -rm -f ./$(DEPDIR)/PdfSpecialHandler.Po -- -rm -f ./$(DEPDIR)/PreScanDVIReader.Po -- -rm -f ./$(DEPDIR)/Process.Po -- -rm -f ./$(DEPDIR)/PsSpecialHandler.Po -- -rm -f ./$(DEPDIR)/RangeMap.Po -- -rm -f ./$(DEPDIR)/SVGCharHandler.Po -- -rm -f ./$(DEPDIR)/SVGCharHandlerFactory.Po -- -rm -f ./$(DEPDIR)/SVGCharPathHandler.Po -- -rm -f ./$(DEPDIR)/SVGCharTspanTextHandler.Po -- -rm -f ./$(DEPDIR)/SVGElement.Po -- -rm -f ./$(DEPDIR)/SVGOutput.Po -- -rm -f ./$(DEPDIR)/SVGSingleCharTextHandler.Po -- -rm -f ./$(DEPDIR)/SVGTree.Po -- -rm -f ./$(DEPDIR)/ShadingPatch.Po -- -rm -f ./$(DEPDIR)/SignalHandler.Po -- -rm -f ./$(DEPDIR)/SourceInput.Po -- -rm -f ./$(DEPDIR)/SpecialManager.Po -- -rm -f ./$(DEPDIR)/StreamReader.Po -- -rm -f ./$(DEPDIR)/StreamWriter.Po -- -rm -f ./$(DEPDIR)/Subfont.Po -- -rm -f ./$(DEPDIR)/System.Po -- -rm -f ./$(DEPDIR)/TFM.Po -- -rm -f ./$(DEPDIR)/TTFAutohint.Po -- -rm -f ./$(DEPDIR)/TensorProductPatch.Po -- -rm -f ./$(DEPDIR)/Terminal.Po -- -rm -f ./$(DEPDIR)/ToUnicodeMap.Po -- -rm -f ./$(DEPDIR)/TpicSpecialHandler.Po -- -rm -f ./$(DEPDIR)/TriangularPatch.Po -- -rm -f ./$(DEPDIR)/TrueTypeFont.Po -- -rm -f ./$(DEPDIR)/Unicode.Po -- -rm -f ./$(DEPDIR)/VFReader.Po -- -rm -f ./$(DEPDIR)/XMLDocument.Po -- -rm -f ./$(DEPDIR)/XMLNode.Po -- -rm -f ./$(DEPDIR)/XMLString.Po -+ -rm -f ./$(DEPDIR)/BasicDVIReader.Plo -+ -rm -f ./$(DEPDIR)/Bezier.Plo -+ -rm -f ./$(DEPDIR)/BgColorSpecialHandler.Plo -+ -rm -f ./$(DEPDIR)/Bitmap.Plo -+ -rm -f ./$(DEPDIR)/BoundingBox.Plo -+ -rm -f ./$(DEPDIR)/CLCommandLine.Plo -+ -rm -f ./$(DEPDIR)/CMap.Plo -+ -rm -f ./$(DEPDIR)/CMapManager.Plo -+ -rm -f ./$(DEPDIR)/CMapReader.Plo -+ -rm -f ./$(DEPDIR)/Calculator.Plo -+ -rm -f ./$(DEPDIR)/CharMapID.Plo -+ -rm -f ./$(DEPDIR)/Color.Plo -+ -rm -f ./$(DEPDIR)/ColorSpecialHandler.Plo -+ -rm -f ./$(DEPDIR)/DLLoader.Plo -+ -rm -f ./$(DEPDIR)/DVIReader.Plo -+ -rm -f ./$(DEPDIR)/DVIToSVG.Plo -+ -rm -f ./$(DEPDIR)/DVIToSVGActions.Plo -+ -rm -f ./$(DEPDIR)/Directory.Plo -+ -rm -f ./$(DEPDIR)/DvisvgmSpecialHandler.Plo -+ -rm -f ./$(DEPDIR)/EPSFile.Plo -+ -rm -f ./$(DEPDIR)/EllipticalArc.Plo -+ -rm -f ./$(DEPDIR)/EmSpecialHandler.Plo -+ -rm -f ./$(DEPDIR)/EncFile.Plo -+ -rm -f ./$(DEPDIR)/FileFinder.Plo -+ -rm -f ./$(DEPDIR)/FilePath.Plo -+ -rm -f ./$(DEPDIR)/FileSystem.Plo -+ -rm -f ./$(DEPDIR)/Font.Plo -+ -rm -f ./$(DEPDIR)/FontCache.Plo -+ -rm -f ./$(DEPDIR)/FontEncoding.Plo -+ -rm -f ./$(DEPDIR)/FontEngine.Plo -+ -rm -f ./$(DEPDIR)/FontManager.Plo -+ -rm -f ./$(DEPDIR)/FontMap.Plo -+ -rm -f ./$(DEPDIR)/FontMetrics.Plo -+ -rm -f ./$(DEPDIR)/FontWriter.Plo -+ -rm -f ./$(DEPDIR)/GFGlyphTracer.Plo -+ -rm -f ./$(DEPDIR)/GFReader.Plo -+ -rm -f ./$(DEPDIR)/GFTracer.Plo -+ -rm -f ./$(DEPDIR)/Ghostscript.Plo -+ -rm -f ./$(DEPDIR)/HashFunction.Plo -+ -rm -f ./$(DEPDIR)/HtmlSpecialHandler.Plo -+ -rm -f ./$(DEPDIR)/HyperlinkManager.Plo -+ -rm -f ./$(DEPDIR)/ImageToSVG.Plo -+ -rm -f ./$(DEPDIR)/InputBuffer.Plo -+ -rm -f ./$(DEPDIR)/InputReader.Plo -+ -rm -f ./$(DEPDIR)/JFM.Plo -+ -rm -f ./$(DEPDIR)/Length.Plo -+ -rm -f ./$(DEPDIR)/MapLine.Plo -+ -rm -f ./$(DEPDIR)/Matrix.Plo -+ -rm -f ./$(DEPDIR)/Message.Plo -+ -rm -f ./$(DEPDIR)/MetafontWrapper.Plo -+ -rm -f ./$(DEPDIR)/NoPsSpecialHandler.Plo -+ -rm -f ./$(DEPDIR)/Opacity.Plo -+ -rm -f ./$(DEPDIR)/PDFHandler.Plo -+ -rm -f ./$(DEPDIR)/PDFParser.Plo -+ -rm -f ./$(DEPDIR)/PDFToSVG.Plo -+ -rm -f ./$(DEPDIR)/PSInterpreter.Plo -+ -rm -f ./$(DEPDIR)/PSPattern.Plo -+ -rm -f ./$(DEPDIR)/PSPreviewFilter.Plo -+ -rm -f ./$(DEPDIR)/PageRanges.Plo -+ -rm -f ./$(DEPDIR)/PageSize.Plo -+ -rm -f ./$(DEPDIR)/PapersizeSpecialHandler.Plo -+ -rm -f ./$(DEPDIR)/PathClipper.Plo -+ -rm -f ./$(DEPDIR)/PdfSpecialHandler.Plo -+ -rm -f ./$(DEPDIR)/PreScanDVIReader.Plo -+ -rm -f ./$(DEPDIR)/Process.Plo -+ -rm -f ./$(DEPDIR)/PsSpecialHandler.Plo -+ -rm -f ./$(DEPDIR)/RangeMap.Plo -+ -rm -f ./$(DEPDIR)/SVGCharHandler.Plo -+ -rm -f ./$(DEPDIR)/SVGCharHandlerFactory.Plo -+ -rm -f ./$(DEPDIR)/SVGCharPathHandler.Plo -+ -rm -f ./$(DEPDIR)/SVGCharTspanTextHandler.Plo -+ -rm -f ./$(DEPDIR)/SVGElement.Plo -+ -rm -f ./$(DEPDIR)/SVGOutput.Plo -+ -rm -f ./$(DEPDIR)/SVGSingleCharTextHandler.Plo -+ -rm -f ./$(DEPDIR)/SVGTree.Plo -+ -rm -f ./$(DEPDIR)/ShadingPatch.Plo -+ -rm -f ./$(DEPDIR)/SignalHandler.Plo -+ -rm -f ./$(DEPDIR)/SourceInput.Plo -+ -rm -f ./$(DEPDIR)/SpecialManager.Plo -+ -rm -f ./$(DEPDIR)/StreamReader.Plo -+ -rm -f ./$(DEPDIR)/StreamWriter.Plo -+ -rm -f ./$(DEPDIR)/Subfont.Plo -+ -rm -f ./$(DEPDIR)/System.Plo -+ -rm -f ./$(DEPDIR)/TFM.Plo -+ -rm -f ./$(DEPDIR)/TensorProductPatch.Plo -+ -rm -f ./$(DEPDIR)/Terminal.Plo -+ -rm -f ./$(DEPDIR)/ToUnicodeMap.Plo -+ -rm -f ./$(DEPDIR)/TpicSpecialHandler.Plo -+ -rm -f ./$(DEPDIR)/TriangularPatch.Plo -+ -rm -f ./$(DEPDIR)/Unicode.Plo -+ -rm -f ./$(DEPDIR)/VFReader.Plo -+ -rm -f ./$(DEPDIR)/XMLDocument.Plo -+ -rm -f ./$(DEPDIR)/XMLNode.Plo -+ -rm -f ./$(DEPDIR)/XMLParser.Plo -+ -rm -f ./$(DEPDIR)/XMLString.Plo - -rm -f ./$(DEPDIR)/dvisvgm.Po -- -rm -f ./$(DEPDIR)/ffwrapper.Po -- -rm -f ./$(DEPDIR)/psdefs.Po -- -rm -f ./$(DEPDIR)/utility.Po -+ -rm -f ./$(DEPDIR)/psdefs.Plo -+ -rm -f ./$(DEPDIR)/utility.Plo - -rm -f Makefile - distclean-am: clean-am distclean-compile distclean-generic \ - distclean-tags -@@ -1292,104 +1248,104 @@ install-ps-am: - installcheck-am: - - maintainer-clean: maintainer-clean-recursive -- -rm -f ./$(DEPDIR)/BasicDVIReader.Po -- -rm -f ./$(DEPDIR)/Bezier.Po -- -rm -f ./$(DEPDIR)/BgColorSpecialHandler.Po -- -rm -f ./$(DEPDIR)/Bitmap.Po -- -rm -f ./$(DEPDIR)/BoundingBox.Po -- -rm -f ./$(DEPDIR)/CLCommandLine.Po -- -rm -f ./$(DEPDIR)/CMap.Po -- -rm -f ./$(DEPDIR)/CMapManager.Po -- -rm -f ./$(DEPDIR)/CMapReader.Po -- -rm -f ./$(DEPDIR)/Calculator.Po -- -rm -f ./$(DEPDIR)/CharMapID.Po -- -rm -f ./$(DEPDIR)/Color.Po -- -rm -f ./$(DEPDIR)/ColorSpecialHandler.Po -- -rm -f ./$(DEPDIR)/DLLoader.Po -- -rm -f ./$(DEPDIR)/DVIReader.Po -- -rm -f ./$(DEPDIR)/DVIToSVG.Po -- -rm -f ./$(DEPDIR)/DVIToSVGActions.Po -- -rm -f ./$(DEPDIR)/Directory.Po -- -rm -f ./$(DEPDIR)/DvisvgmSpecialHandler.Po -- -rm -f ./$(DEPDIR)/EPSFile.Po -- -rm -f ./$(DEPDIR)/EllipticalArc.Po -- -rm -f ./$(DEPDIR)/EmSpecialHandler.Po -- -rm -f ./$(DEPDIR)/EncFile.Po -- -rm -f ./$(DEPDIR)/FileFinder.Po -- -rm -f ./$(DEPDIR)/FilePath.Po -- -rm -f ./$(DEPDIR)/FileSystem.Po -- -rm -f ./$(DEPDIR)/Font.Po -- -rm -f ./$(DEPDIR)/FontCache.Po -- -rm -f ./$(DEPDIR)/FontEncoding.Po -- -rm -f ./$(DEPDIR)/FontEngine.Po -- -rm -f ./$(DEPDIR)/FontManager.Po -- -rm -f ./$(DEPDIR)/FontMap.Po -- -rm -f ./$(DEPDIR)/FontMetrics.Po -- -rm -f ./$(DEPDIR)/FontWriter.Po -- -rm -f ./$(DEPDIR)/GFGlyphTracer.Po -- -rm -f ./$(DEPDIR)/GFReader.Po -- -rm -f ./$(DEPDIR)/GFTracer.Po -- -rm -f ./$(DEPDIR)/Ghostscript.Po -- -rm -f ./$(DEPDIR)/HashFunction.Po -- -rm -f ./$(DEPDIR)/HtmlSpecialHandler.Po -- -rm -f ./$(DEPDIR)/HyperlinkManager.Po -- -rm -f ./$(DEPDIR)/ImageToSVG.Po -- -rm -f ./$(DEPDIR)/InputBuffer.Po -- -rm -f ./$(DEPDIR)/InputReader.Po -- -rm -f ./$(DEPDIR)/JFM.Po -- -rm -f ./$(DEPDIR)/Length.Po -- -rm -f ./$(DEPDIR)/MapLine.Po -- -rm -f ./$(DEPDIR)/Matrix.Po -- -rm -f ./$(DEPDIR)/Message.Po -- -rm -f ./$(DEPDIR)/MetafontWrapper.Po -- -rm -f ./$(DEPDIR)/NoPsSpecialHandler.Po -- -rm -f ./$(DEPDIR)/Opacity.Po -- -rm -f ./$(DEPDIR)/PDFParser.Po -- -rm -f ./$(DEPDIR)/PSInterpreter.Po -- -rm -f ./$(DEPDIR)/PSPattern.Po -- -rm -f ./$(DEPDIR)/PSPreviewFilter.Po -- -rm -f ./$(DEPDIR)/PageRanges.Po -- -rm -f ./$(DEPDIR)/PageSize.Po -- -rm -f ./$(DEPDIR)/PapersizeSpecialHandler.Po -- -rm -f ./$(DEPDIR)/PathClipper.Po -- -rm -f ./$(DEPDIR)/PdfSpecialHandler.Po -- -rm -f ./$(DEPDIR)/PreScanDVIReader.Po -- -rm -f ./$(DEPDIR)/Process.Po -- -rm -f ./$(DEPDIR)/PsSpecialHandler.Po -- -rm -f ./$(DEPDIR)/RangeMap.Po -- -rm -f ./$(DEPDIR)/SVGCharHandler.Po -- -rm -f ./$(DEPDIR)/SVGCharHandlerFactory.Po -- -rm -f ./$(DEPDIR)/SVGCharPathHandler.Po -- -rm -f ./$(DEPDIR)/SVGCharTspanTextHandler.Po -- -rm -f ./$(DEPDIR)/SVGElement.Po -- -rm -f ./$(DEPDIR)/SVGOutput.Po -- -rm -f ./$(DEPDIR)/SVGSingleCharTextHandler.Po -- -rm -f ./$(DEPDIR)/SVGTree.Po -- -rm -f ./$(DEPDIR)/ShadingPatch.Po -- -rm -f ./$(DEPDIR)/SignalHandler.Po -- -rm -f ./$(DEPDIR)/SourceInput.Po -- -rm -f ./$(DEPDIR)/SpecialManager.Po -- -rm -f ./$(DEPDIR)/StreamReader.Po -- -rm -f ./$(DEPDIR)/StreamWriter.Po -- -rm -f ./$(DEPDIR)/Subfont.Po -- -rm -f ./$(DEPDIR)/System.Po -- -rm -f ./$(DEPDIR)/TFM.Po -- -rm -f ./$(DEPDIR)/TTFAutohint.Po -- -rm -f ./$(DEPDIR)/TensorProductPatch.Po -- -rm -f ./$(DEPDIR)/Terminal.Po -- -rm -f ./$(DEPDIR)/ToUnicodeMap.Po -- -rm -f ./$(DEPDIR)/TpicSpecialHandler.Po -- -rm -f ./$(DEPDIR)/TriangularPatch.Po -- -rm -f ./$(DEPDIR)/TrueTypeFont.Po -- -rm -f ./$(DEPDIR)/Unicode.Po -- -rm -f ./$(DEPDIR)/VFReader.Po -- -rm -f ./$(DEPDIR)/XMLDocument.Po -- -rm -f ./$(DEPDIR)/XMLNode.Po -- -rm -f ./$(DEPDIR)/XMLString.Po -+ -rm -f ./$(DEPDIR)/BasicDVIReader.Plo -+ -rm -f ./$(DEPDIR)/Bezier.Plo -+ -rm -f ./$(DEPDIR)/BgColorSpecialHandler.Plo -+ -rm -f ./$(DEPDIR)/Bitmap.Plo -+ -rm -f ./$(DEPDIR)/BoundingBox.Plo -+ -rm -f ./$(DEPDIR)/CLCommandLine.Plo -+ -rm -f ./$(DEPDIR)/CMap.Plo -+ -rm -f ./$(DEPDIR)/CMapManager.Plo -+ -rm -f ./$(DEPDIR)/CMapReader.Plo -+ -rm -f ./$(DEPDIR)/Calculator.Plo -+ -rm -f ./$(DEPDIR)/CharMapID.Plo -+ -rm -f ./$(DEPDIR)/Color.Plo -+ -rm -f ./$(DEPDIR)/ColorSpecialHandler.Plo -+ -rm -f ./$(DEPDIR)/DLLoader.Plo -+ -rm -f ./$(DEPDIR)/DVIReader.Plo -+ -rm -f ./$(DEPDIR)/DVIToSVG.Plo -+ -rm -f ./$(DEPDIR)/DVIToSVGActions.Plo -+ -rm -f ./$(DEPDIR)/Directory.Plo -+ -rm -f ./$(DEPDIR)/DvisvgmSpecialHandler.Plo -+ -rm -f ./$(DEPDIR)/EPSFile.Plo -+ -rm -f ./$(DEPDIR)/EllipticalArc.Plo -+ -rm -f ./$(DEPDIR)/EmSpecialHandler.Plo -+ -rm -f ./$(DEPDIR)/EncFile.Plo -+ -rm -f ./$(DEPDIR)/FileFinder.Plo -+ -rm -f ./$(DEPDIR)/FilePath.Plo -+ -rm -f ./$(DEPDIR)/FileSystem.Plo -+ -rm -f ./$(DEPDIR)/Font.Plo -+ -rm -f ./$(DEPDIR)/FontCache.Plo -+ -rm -f ./$(DEPDIR)/FontEncoding.Plo -+ -rm -f ./$(DEPDIR)/FontEngine.Plo -+ -rm -f ./$(DEPDIR)/FontManager.Plo -+ -rm -f ./$(DEPDIR)/FontMap.Plo -+ -rm -f ./$(DEPDIR)/FontMetrics.Plo -+ -rm -f ./$(DEPDIR)/FontWriter.Plo -+ -rm -f ./$(DEPDIR)/GFGlyphTracer.Plo -+ -rm -f ./$(DEPDIR)/GFReader.Plo -+ -rm -f ./$(DEPDIR)/GFTracer.Plo -+ -rm -f ./$(DEPDIR)/Ghostscript.Plo -+ -rm -f ./$(DEPDIR)/HashFunction.Plo -+ -rm -f ./$(DEPDIR)/HtmlSpecialHandler.Plo -+ -rm -f ./$(DEPDIR)/HyperlinkManager.Plo -+ -rm -f ./$(DEPDIR)/ImageToSVG.Plo -+ -rm -f ./$(DEPDIR)/InputBuffer.Plo -+ -rm -f ./$(DEPDIR)/InputReader.Plo -+ -rm -f ./$(DEPDIR)/JFM.Plo -+ -rm -f ./$(DEPDIR)/Length.Plo -+ -rm -f ./$(DEPDIR)/MapLine.Plo -+ -rm -f ./$(DEPDIR)/Matrix.Plo -+ -rm -f ./$(DEPDIR)/Message.Plo -+ -rm -f ./$(DEPDIR)/MetafontWrapper.Plo -+ -rm -f ./$(DEPDIR)/NoPsSpecialHandler.Plo -+ -rm -f ./$(DEPDIR)/Opacity.Plo -+ -rm -f ./$(DEPDIR)/PDFHandler.Plo -+ -rm -f ./$(DEPDIR)/PDFParser.Plo -+ -rm -f ./$(DEPDIR)/PDFToSVG.Plo -+ -rm -f ./$(DEPDIR)/PSInterpreter.Plo -+ -rm -f ./$(DEPDIR)/PSPattern.Plo -+ -rm -f ./$(DEPDIR)/PSPreviewFilter.Plo -+ -rm -f ./$(DEPDIR)/PageRanges.Plo -+ -rm -f ./$(DEPDIR)/PageSize.Plo -+ -rm -f ./$(DEPDIR)/PapersizeSpecialHandler.Plo -+ -rm -f ./$(DEPDIR)/PathClipper.Plo -+ -rm -f ./$(DEPDIR)/PdfSpecialHandler.Plo -+ -rm -f ./$(DEPDIR)/PreScanDVIReader.Plo -+ -rm -f ./$(DEPDIR)/Process.Plo -+ -rm -f ./$(DEPDIR)/PsSpecialHandler.Plo -+ -rm -f ./$(DEPDIR)/RangeMap.Plo -+ -rm -f ./$(DEPDIR)/SVGCharHandler.Plo -+ -rm -f ./$(DEPDIR)/SVGCharHandlerFactory.Plo -+ -rm -f ./$(DEPDIR)/SVGCharPathHandler.Plo -+ -rm -f ./$(DEPDIR)/SVGCharTspanTextHandler.Plo -+ -rm -f ./$(DEPDIR)/SVGElement.Plo -+ -rm -f ./$(DEPDIR)/SVGOutput.Plo -+ -rm -f ./$(DEPDIR)/SVGSingleCharTextHandler.Plo -+ -rm -f ./$(DEPDIR)/SVGTree.Plo -+ -rm -f ./$(DEPDIR)/ShadingPatch.Plo -+ -rm -f ./$(DEPDIR)/SignalHandler.Plo -+ -rm -f ./$(DEPDIR)/SourceInput.Plo -+ -rm -f ./$(DEPDIR)/SpecialManager.Plo -+ -rm -f ./$(DEPDIR)/StreamReader.Plo -+ -rm -f ./$(DEPDIR)/StreamWriter.Plo -+ -rm -f ./$(DEPDIR)/Subfont.Plo -+ -rm -f ./$(DEPDIR)/System.Plo -+ -rm -f ./$(DEPDIR)/TFM.Plo -+ -rm -f ./$(DEPDIR)/TensorProductPatch.Plo -+ -rm -f ./$(DEPDIR)/Terminal.Plo -+ -rm -f ./$(DEPDIR)/ToUnicodeMap.Plo -+ -rm -f ./$(DEPDIR)/TpicSpecialHandler.Plo -+ -rm -f ./$(DEPDIR)/TriangularPatch.Plo -+ -rm -f ./$(DEPDIR)/Unicode.Plo -+ -rm -f ./$(DEPDIR)/VFReader.Plo -+ -rm -f ./$(DEPDIR)/XMLDocument.Plo -+ -rm -f ./$(DEPDIR)/XMLNode.Plo -+ -rm -f ./$(DEPDIR)/XMLParser.Plo -+ -rm -f ./$(DEPDIR)/XMLString.Plo - -rm -f ./$(DEPDIR)/dvisvgm.Po -- -rm -f ./$(DEPDIR)/ffwrapper.Po -- -rm -f ./$(DEPDIR)/psdefs.Po -- -rm -f ./$(DEPDIR)/utility.Po -+ -rm -f ./$(DEPDIR)/psdefs.Plo -+ -rm -f ./$(DEPDIR)/utility.Plo - -rm -f Makefile - maintainer-clean-am: distclean-am maintainer-clean-generic - -@@ -1412,7 +1368,7 @@ uninstall-am: uninstall-binPROGRAMS - - .PHONY: $(am__recursive_targets) CTAGS GTAGS TAGS all all-am \ - am--depfiles check check-am clean clean-binPROGRAMS \ -- clean-generic clean-libtool clean-noinstLIBRARIES \ -+ clean-generic clean-libtool clean-noinstLTLIBRARIES \ - 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 \ -diff -up texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/MapLine.cpp.301 texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/MapLine.cpp ---- texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/MapLine.cpp.301 2022-01-21 12:25:16.000000000 -0500 -+++ texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/MapLine.cpp 2023-01-17 15:53:51.715205438 -0500 -@@ -2,7 +2,7 @@ - ** MapLine.cpp ** - ** ** - ** This file is part of dvisvgm -- a fast DVI to SVG converter ** --** Copyright (C) 2005-2022 Martin Gieseking ** -+** Copyright (C) 2005-2023 Martin Gieseking ** - ** ** - ** This program is free software; you can redistribute it and/or ** - ** modify it under the terms of the GNU General Public License as ** -@@ -37,7 +37,7 @@ MapLine::MapLine (istream &is) : MapLine - - - MapLine::MapLine (string str) : MapLine() { -- size_t pos = str.rfind('\n'); -+ auto pos = str.rfind('\n'); - if (pos != string::npos) - str = str.substr(0, pos); - parse(str.c_str()); -@@ -75,9 +75,9 @@ bool MapLine::isDVIPSFormat (const char - * @param[out] sfdname name of subfont definition - * @return true on success */ - static bool split_fontname (string &fontname, string &sfdname) { -- size_t pos1; // index of first '@' -+ string::size_type pos1; // index of first '@' - if ((pos1 = fontname.find('@')) != string::npos && pos1 > 0) { -- size_t pos2; // index of second '@' -+ string::size_type pos2; // index of second '@' - if ((pos2 = fontname.find('@', pos1+1)) != string::npos && pos2 > pos1+1) { - sfdname = fontname.substr(pos1+1, pos2-pos1-1); - fontname = fontname.substr(0, pos1) + fontname.substr(pos2+1); -diff -up texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/MapLine.hpp.301 texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/MapLine.hpp ---- texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/MapLine.hpp.301 2022-01-21 12:25:16.000000000 -0500 -+++ texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/MapLine.hpp 2023-01-17 15:53:51.715205438 -0500 -@@ -2,7 +2,7 @@ - ** MapLine.hpp ** - ** ** - ** This file is part of dvisvgm -- a fast DVI to SVG converter ** --** Copyright (C) 2005-2022 Martin Gieseking ** -+** Copyright (C) 2005-2023 Martin Gieseking ** - ** ** - ** This program is free software; you can redistribute it and/or ** - ** modify it under the terms of the GNU General Public License as ** -diff -up texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/Matrix.cpp.301 texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/Matrix.cpp ---- texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/Matrix.cpp.301 2022-01-21 12:25:16.000000000 -0500 -+++ texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/Matrix.cpp 2023-01-17 15:53:51.716205450 -0500 -@@ -2,7 +2,7 @@ - ** Matrix.cpp ** - ** ** - ** This file is part of dvisvgm -- a fast DVI to SVG converter ** --** Copyright (C) 2005-2022 Martin Gieseking ** -+** Copyright (C) 2005-2023 Martin Gieseking ** - ** ** - ** This program is free software; you can redistribute it and/or ** - ** modify it under the terms of the GNU General Public License as ** -@@ -85,6 +85,17 @@ Matrix::Matrix (const std::vector> _values[row][col]; -+ _values[2][col] = 0; -+ } -+ _values[2][2] = 1; -+} -+ -+ - Matrix::Matrix (const string &cmds, Calculator &calc) { - *this = parse(cmds, calc); - } -@@ -261,9 +272,17 @@ Matrix& Matrix::invert () { - - - Matrix& Matrix::operator *= (double c) { -- for (int i=0; i < 3; i++) -- for (int j=0; j < 3; j++) -- _values[i][j] *= c; -+ for (auto &row : _values) -+ for (auto &val : row) -+ val *= c; -+ return *this; -+} -+ -+ -+Matrix& Matrix::operator /= (double c) { -+ for (auto &row : _values) -+ for (auto &val : row) -+ val /= c; - return *this; - } - -diff -up texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/Matrix.hpp.301 texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/Matrix.hpp ---- texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/Matrix.hpp.301 2022-01-21 12:25:16.000000000 -0500 -+++ texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/Matrix.hpp 2023-01-17 15:53:51.716205450 -0500 -@@ -2,7 +2,7 @@ - ** Matrix.hpp ** - ** ** - ** This file is part of dvisvgm -- a fast DVI to SVG converter ** --** Copyright (C) 2005-2022 Martin Gieseking ** -+** Copyright (C) 2005-2023 Martin Gieseking ** - ** ** - ** This program is free software; you can redistribute it and/or ** - ** modify it under the terms of the GNU General Public License as ** -@@ -43,9 +43,10 @@ class Matrix { - Matrix () {set(0);} - Matrix (double d); - Matrix (const std::string &cmds, Calculator &calc); -+ explicit Matrix (const std::string &svgMatrix); - explicit Matrix (const double *v, unsigned size=9); - explicit Matrix (const std::vector &v, int start=0); -- explicit Matrix (std::initializer_list initlist); -+ Matrix (std::initializer_list initlist); - Matrix& set (double d); - Matrix& set (const double *v, unsigned size); - Matrix& set (const std::vector &v, int start=0); -@@ -66,6 +67,7 @@ class Matrix { - Matrix& yskewByRatio (double xyratio); - Matrix& flip (bool h, double a); - Matrix& operator *= (double c); -+ Matrix& operator /= (double c); - DPair operator * (const DPair &p) const; - bool operator == (const Matrix &m) const; - bool operator != (const Matrix &m) const; -diff -up texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/MD5HashFunction.hpp.301 texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/MD5HashFunction.hpp ---- texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/MD5HashFunction.hpp.301 2022-01-21 12:25:16.000000000 -0500 -+++ texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/MD5HashFunction.hpp 2023-01-17 15:53:51.716205450 -0500 -@@ -2,7 +2,7 @@ - ** MD5HashFunction.hpp ** - ** ** - ** This file is part of dvisvgm -- a fast DVI to SVG converter ** --** Copyright (C) 2005-2022 Martin Gieseking ** -+** Copyright (C) 2005-2023 Martin Gieseking ** - ** ** - ** This program is free software; you can redistribute it and/or ** - ** modify it under the terms of the GNU General Public License as ** -diff -up texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/Message.cpp.301 texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/Message.cpp ---- texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/Message.cpp.301 2022-01-21 12:25:16.000000000 -0500 -+++ texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/Message.cpp 2023-01-17 15:53:51.716205450 -0500 -@@ -2,7 +2,7 @@ - ** Message.cpp ** - ** ** - ** This file is part of dvisvgm -- a fast DVI to SVG converter ** --** Copyright (C) 2005-2022 Martin Gieseking ** -+** Copyright (C) 2005-2023 Martin Gieseking ** - ** ** - ** This program is free software; you can redistribute it and/or ** - ** modify it under the terms of the GNU General Public License as ** -diff -up texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/MessageException.hpp.301 texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/MessageException.hpp ---- texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/MessageException.hpp.301 2022-01-21 12:25:16.000000000 -0500 -+++ texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/MessageException.hpp 2023-01-17 15:53:51.716205450 -0500 -@@ -2,7 +2,7 @@ - ** MessageException.hpp ** - ** ** - ** This file is part of dvisvgm -- a fast DVI to SVG converter ** --** Copyright (C) 2005-2022 Martin Gieseking ** -+** Copyright (C) 2005-2023 Martin Gieseking ** - ** ** - ** This program is free software; you can redistribute it and/or ** - ** modify it under the terms of the GNU General Public License as ** -diff -up texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/Message.hpp.301 texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/Message.hpp ---- texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/Message.hpp.301 2022-01-21 12:25:16.000000000 -0500 -+++ texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/Message.hpp 2023-01-17 15:53:51.716205450 -0500 -@@ -2,7 +2,7 @@ - ** Message.hpp ** - ** ** - ** This file is part of dvisvgm -- a fast DVI to SVG converter ** --** Copyright (C) 2005-2022 Martin Gieseking ** -+** Copyright (C) 2005-2023 Martin Gieseking ** - ** ** - ** This program is free software; you can redistribute it and/or ** - ** modify it under the terms of the GNU General Public License as ** -diff -up texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/MetafontWrapper.cpp.301 texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/MetafontWrapper.cpp ---- texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/MetafontWrapper.cpp.301 2022-01-21 12:25:16.000000000 -0500 -+++ texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/MetafontWrapper.cpp 2023-01-17 15:53:51.716205450 -0500 -@@ -2,7 +2,7 @@ - ** MetafontWrapper.cpp ** - ** ** - ** This file is part of dvisvgm -- a fast DVI to SVG converter ** --** Copyright (C) 2005-2022 Martin Gieseking ** -+** Copyright (C) 2005-2023 Martin Gieseking ** - ** ** - ** This program is free software; you can redistribute it and/or ** - ** modify it under the terms of the GNU General Public License as ** -@@ -118,7 +118,7 @@ int MetafontWrapper::getResolution (cons - string line = buf; - if (line.substr(0, 18) == "Output written on ") { - line = line.substr(18); -- size_t pos = line.find(' '); -+ auto pos = line.find(' '); - line = line.substr(0, pos); - pos = line.rfind('.'); - if (pos != string::npos && line.substr(line.length()-2) == "gf") { -diff -up texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/MetafontWrapper.hpp.301 texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/MetafontWrapper.hpp ---- texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/MetafontWrapper.hpp.301 2022-01-21 12:25:16.000000000 -0500 -+++ texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/MetafontWrapper.hpp 2023-01-17 15:53:51.716205450 -0500 -@@ -2,7 +2,7 @@ - ** MetafontWrapper.hpp ** - ** ** - ** This file is part of dvisvgm -- a fast DVI to SVG converter ** --** Copyright (C) 2005-2022 Martin Gieseking ** -+** Copyright (C) 2005-2023 Martin Gieseking ** - ** ** - ** This program is free software; you can redistribute it and/or ** - ** modify it under the terms of the GNU General Public License as ** -diff -up texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/MiKTeXCom.cpp.301 texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/MiKTeXCom.cpp ---- texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/MiKTeXCom.cpp.301 2022-01-21 12:25:16.000000000 -0500 -+++ texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/MiKTeXCom.cpp 2023-01-17 15:53:51.716205450 -0500 -@@ -2,7 +2,7 @@ - ** MiKTeXCom.cpp ** - ** ** - ** This file is part of dvisvgm -- a fast DVI to SVG converter ** --** Copyright (C) 2005-2022 Martin Gieseking ** -+** Copyright (C) 2005-2023 Martin Gieseking ** - ** ** - ** This program is free software; you can redistribute it and/or ** - ** modify it under the terms of the GNU General Public License as ** -@@ -66,8 +66,7 @@ string MiKTeXCom::getVersion () { - MiKTeXSetupInfo info; - _session->GetMiKTeXSetupInfo(&info); - #endif -- _bstr_t version = info.version; -- return string(version); -+ return to_string(info.series/100)+"."+ to_string(info.series%100); - } - - -@@ -105,6 +104,6 @@ const char* MiKTeXCom::findFile (const c - return nullptr; - } - catch (_com_error &e) { -- throw MessageException((const char*)e.Description()); -+ throw MessageException(static_cast(e.Description())); - } - } -diff -up texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/MiKTeXCom.hpp.301 texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/MiKTeXCom.hpp ---- texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/MiKTeXCom.hpp.301 2022-01-21 12:25:16.000000000 -0500 -+++ texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/MiKTeXCom.hpp 2023-01-17 15:53:51.716205450 -0500 -@@ -2,7 +2,7 @@ - ** MiKTeXCom.hpp ** - ** ** - ** This file is part of dvisvgm -- a fast DVI to SVG converter ** --** Copyright (C) 2005-2022 Martin Gieseking ** -+** Copyright (C) 2005-2023 Martin Gieseking ** - ** ** - ** This program is free software; you can redistribute it and/or ** - ** modify it under the terms of the GNU General Public License as ** -diff -up texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/NoPsSpecialHandler.cpp.301 texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/NoPsSpecialHandler.cpp ---- texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/NoPsSpecialHandler.cpp.301 2022-01-21 12:25:16.000000000 -0500 -+++ texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/NoPsSpecialHandler.cpp 2023-01-17 15:53:51.716205450 -0500 -@@ -2,7 +2,7 @@ - ** NoPsSpecialHandler.cpp ** - ** ** - ** This file is part of dvisvgm -- a fast DVI to SVG converter ** --** Copyright (C) 2005-2022 Martin Gieseking ** -+** Copyright (C) 2005-2023 Martin Gieseking ** - ** ** - ** This program is free software; you can redistribute it and/or ** - ** modify it under the terms of the GNU General Public License as ** -diff -up texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/NoPsSpecialHandler.hpp.301 texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/NoPsSpecialHandler.hpp ---- texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/NoPsSpecialHandler.hpp.301 2022-01-21 12:25:16.000000000 -0500 -+++ texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/NoPsSpecialHandler.hpp 2023-01-17 15:53:51.716205450 -0500 -@@ -2,7 +2,7 @@ - ** NoPsSpecialHandler.hpp ** - ** ** - ** This file is part of dvisvgm -- a fast DVI to SVG converter ** --** Copyright (C) 2005-2022 Martin Gieseking ** -+** Copyright (C) 2005-2023 Martin Gieseking ** - ** ** - ** This program is free software; you can redistribute it and/or ** - ** modify it under the terms of the GNU General Public License as ** -diff -up texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/NumericRanges.hpp.301 texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/NumericRanges.hpp ---- texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/NumericRanges.hpp.301 2022-01-21 12:25:16.000000000 -0500 -+++ texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/NumericRanges.hpp 2023-01-17 15:53:51.716205450 -0500 -@@ -2,7 +2,7 @@ - ** NumericRanges.hpp ** - ** ** - ** This file is part of dvisvgm -- a fast DVI to SVG converter ** --** Copyright (C) 2005-2022 Martin Gieseking ** -+** Copyright (C) 2005-2023 Martin Gieseking ** - ** ** - ** This program is free software; you can redistribute it and/or ** - ** modify it under the terms of the GNU General Public License as ** -diff -up texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/Opacity.cpp.301 texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/Opacity.cpp ---- texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/Opacity.cpp.301 2022-01-21 12:25:16.000000000 -0500 -+++ texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/Opacity.cpp 2023-01-17 15:53:51.717205461 -0500 -@@ -2,7 +2,7 @@ - ** Opacity.cpp ** - ** ** - ** This file is part of dvisvgm -- a fast DVI to SVG converter ** --** Copyright (C) 2005-2022 Martin Gieseking ** -+** Copyright (C) 2005-2023 Martin Gieseking ** - ** ** - ** This program is free software; you can redistribute it and/or ** - ** modify it under the terms of the GNU General Public License as ** -@@ -45,6 +45,50 @@ string Opacity::cssBlendMode (BlendMode - } - - -+static string to_lower_drop_nonalpha (const string &str) { -+ string ret; -+ if (!str.empty()) { -+ ret.reserve(str.length()); -+ for (char c : str) { -+ if (isalpha(c)) -+ ret += char(tolower(c)); -+ } -+ } -+ return ret; -+} -+ -+ -+Opacity::BlendMode Opacity::blendMode (const std::string &name) { -+ struct { -+ const char *name; -+ BlendMode mode; -+ } modes[] = { -+ {"normal", BM_NORMAL }, -+ {"multiply", BM_MULTIPLY }, -+ {"screen", BM_SCREEN }, -+ {"overlay", BM_OVERLAY }, -+ {"softlight", BM_SOFTLIGHT }, -+ {"hardlight", BM_HARDLIGHT }, -+ {"colordodge", BM_COLORDODGE}, -+ {"colorburn", BM_COLORBURN }, -+ {"darken", BM_DARKEN }, -+ {"lighten", BM_LIGHTEN }, -+ {"difference", BM_DIFFERENCE}, -+ {"exclusion", BM_EXCLUSION }, -+ {"hue", BM_HUE }, -+ {"saturation", BM_SATURATION}, -+ {"color", BM_COLOR }, -+ {"luminosity", BM_LUMINOSITY} -+ }; -+ string compname = to_lower_drop_nonalpha(name); -+ for (const auto &m : modes) { -+ if (compname == m.name) -+ return m.mode; -+ } -+ return BM_NORMAL; -+} -+ -+ - bool Opacity::operator == (const Opacity &opacity) const { - return opacity._fillalpha == _fillalpha - && opacity._strokealpha == _strokealpha -@@ -56,4 +100,4 @@ bool Opacity::operator != (const Opacity - return opacity._fillalpha != _fillalpha - || opacity._strokealpha != _strokealpha - || opacity._blendMode != _blendMode; --} -\ No newline at end of file -+} -diff -up texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/Opacity.hpp.301 texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/Opacity.hpp ---- texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/Opacity.hpp.301 2022-01-21 12:25:16.000000000 -0500 -+++ texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/Opacity.hpp 2023-01-17 15:53:51.717205461 -0500 -@@ -2,7 +2,7 @@ - ** Opacity.hpp ** - ** ** - ** This file is part of dvisvgm -- a fast DVI to SVG converter ** --** Copyright (C) 2005-2022 Martin Gieseking ** -+** Copyright (C) 2005-2023 Martin Gieseking ** - ** ** - ** This program is free software; you can redistribute it and/or ** - ** modify it under the terms of the GNU General Public License as ** -@@ -27,6 +27,7 @@ class OpacityAlpha { - public: - OpacityAlpha () =default; - OpacityAlpha (double constalpha, double shapealpha) : _constalpha(constalpha), _shapealpha(shapealpha) {} -+ explicit OpacityAlpha (double alpha) : _constalpha(alpha) {} - void setConstAlpha (double alpha) { _constalpha = alpha;} - void setShapeAlpha (double shapealpha) {_shapealpha = shapealpha;} - double value () const {return _constalpha * _shapealpha;} -@@ -48,11 +49,11 @@ class Opacity { - BM_HUE, BM_SATURATION, BM_COLOR, BM_LUMINOSITY - }; - -- public: -+ public: - Opacity () =default; - Opacity (OpacityAlpha fillalpha, OpacityAlpha strokealpha, BlendMode bm) : _fillalpha(fillalpha), _strokealpha(strokealpha), _blendMode(bm) {} - Opacity (OpacityAlpha fillalpha, OpacityAlpha strokealpha) : Opacity(fillalpha, strokealpha, BM_NORMAL) {} -- explicit Opacity (BlendMode bm) : _blendMode(bm) {} -+ explicit Opacity (BlendMode bm) : _blendMode(bm) {} - OpacityAlpha& fillalpha () {return _fillalpha;} - OpacityAlpha& strokealpha () {return _strokealpha;} - const OpacityAlpha& fillalpha () const {return _fillalpha;} -@@ -66,7 +67,9 @@ class Opacity { - bool operator == (const Opacity &opacity) const; - bool operator != (const Opacity &opacity) const; - -- private: -+ static BlendMode blendMode (const std::string &name); -+ -+ private: - OpacityAlpha _fillalpha; - OpacityAlpha _strokealpha; - BlendMode _blendMode=BM_NORMAL; -diff -up texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/optimizer/Makefile.am.301 texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/optimizer/Makefile.am ---- texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/optimizer/Makefile.am.301 2022-02-28 17:04:29.000000000 -0500 -+++ texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/optimizer/Makefile.am 2023-01-17 15:53:51.717205461 -0500 -@@ -1,6 +1,6 @@ --noinst_LIBRARIES = liboptimizer.a -+noinst_LTLIBRARIES = liboptimizer.la - --liboptimizer_a_SOURCES = \ -+liboptimizer_la_SOURCES = \ - AttributeExtractor.hpp AttributeExtractor.cpp \ - ClipPathReassigner.hpp ClipPathReassigner.cpp \ - DependencyGraph.hpp \ -@@ -10,7 +10,7 @@ liboptimizer_a_SOURCES = \ - SVGOptimizer.hpp SVGOptimizer.cpp \ - TextSimplifier.hpp TextSimplifier.cpp \ - TransformSimplifier.hpp TransformSimplifier.cpp \ -- WSNodeRemover.hpp WSNodeRemover.cpp -+ WSNodeRemover.hpp WSNodeRemover.cpp - - include ../../libs/defs.am - -diff -up texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/optimizer/Makefile.in.301 texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/optimizer/Makefile.in ---- texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/optimizer/Makefile.in.301 2022-02-28 17:04:29.000000000 -0500 -+++ texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/optimizer/Makefile.in 2023-01-17 15:53:51.717205461 -0500 -@@ -115,20 +115,17 @@ mkinstalldirs = $(install_sh) -d - CONFIG_HEADER = $(top_builddir)/config.h - CONFIG_CLEAN_FILES = - CONFIG_CLEAN_VPATH_FILES = --LIBRARIES = $(noinst_LIBRARIES) --ARFLAGS = cru --AM_V_AR = $(am__v_AR_@AM_V@) --am__v_AR_ = $(am__v_AR_@AM_DEFAULT_V@) --am__v_AR_0 = @echo " AR " $@; --am__v_AR_1 = --liboptimizer_a_AR = $(AR) $(ARFLAGS) --liboptimizer_a_LIBADD = --am_liboptimizer_a_OBJECTS = AttributeExtractor.$(OBJEXT) \ -- ClipPathReassigner.$(OBJEXT) GroupCollapser.$(OBJEXT) \ -- RedundantElementRemover.$(OBJEXT) SVGOptimizer.$(OBJEXT) \ -- TextSimplifier.$(OBJEXT) TransformSimplifier.$(OBJEXT) \ -- WSNodeRemover.$(OBJEXT) --liboptimizer_a_OBJECTS = $(am_liboptimizer_a_OBJECTS) -+LTLIBRARIES = $(noinst_LTLIBRARIES) -+liboptimizer_la_LIBADD = -+am_liboptimizer_la_OBJECTS = AttributeExtractor.lo \ -+ ClipPathReassigner.lo GroupCollapser.lo \ -+ RedundantElementRemover.lo SVGOptimizer.lo TextSimplifier.lo \ -+ TransformSimplifier.lo WSNodeRemover.lo -+liboptimizer_la_OBJECTS = $(am_liboptimizer_la_OBJECTS) -+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_V_P = $(am__v_P_@AM_V@) - am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) - am__v_P_0 = false -@@ -144,20 +141,16 @@ am__v_at_1 = - DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir) - depcomp = $(SHELL) $(top_srcdir)/../../build-aux/depcomp - am__maybe_remake_depfiles = depfiles --am__depfiles_remade = ./$(DEPDIR)/AttributeExtractor.Po \ -- ./$(DEPDIR)/ClipPathReassigner.Po \ -- ./$(DEPDIR)/GroupCollapser.Po \ -- ./$(DEPDIR)/RedundantElementRemover.Po \ -- ./$(DEPDIR)/SVGOptimizer.Po ./$(DEPDIR)/TextSimplifier.Po \ -- ./$(DEPDIR)/TransformSimplifier.Po \ -- ./$(DEPDIR)/WSNodeRemover.Po -+am__depfiles_remade = ./$(DEPDIR)/AttributeExtractor.Plo \ -+ ./$(DEPDIR)/ClipPathReassigner.Plo \ -+ ./$(DEPDIR)/GroupCollapser.Plo \ -+ ./$(DEPDIR)/RedundantElementRemover.Plo \ -+ ./$(DEPDIR)/SVGOptimizer.Plo ./$(DEPDIR)/TextSimplifier.Plo \ -+ ./$(DEPDIR)/TransformSimplifier.Plo \ -+ ./$(DEPDIR)/WSNodeRemover.Plo - am__mv = mv -f - CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \ - $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) --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 = - LTCXXCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) \ - $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) \ - $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \ -@@ -191,8 +184,8 @@ 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 = $(liboptimizer_a_SOURCES) --DIST_SOURCES = $(liboptimizer_a_SOURCES) -+SOURCES = $(liboptimizer_la_SOURCES) -+DIST_SOURCES = $(liboptimizer_la_SOURCES) - am__can_run_installinfo = \ - case $$AM_UPDATE_INFO_DIR in \ - n|no|NO) false;; \ -@@ -371,8 +364,8 @@ target_alias = @target_alias@ - top_build_prefix = @top_build_prefix@ - top_builddir = @top_builddir@ - top_srcdir = @top_srcdir@ --noinst_LIBRARIES = liboptimizer.a --liboptimizer_a_SOURCES = \ -+noinst_LTLIBRARIES = liboptimizer.la -+liboptimizer_la_SOURCES = \ - AttributeExtractor.hpp AttributeExtractor.cpp \ - ClipPathReassigner.hpp ClipPathReassigner.cpp \ - DependencyGraph.hpp \ -@@ -382,7 +375,7 @@ liboptimizer_a_SOURCES = \ - SVGOptimizer.hpp SVGOptimizer.cpp \ - TextSimplifier.hpp TextSimplifier.cpp \ - TransformSimplifier.hpp TransformSimplifier.cpp \ -- WSNodeRemover.hpp WSNodeRemover.cpp -+ WSNodeRemover.hpp WSNodeRemover.cpp - - @HAVE_POTRACE_FALSE@POTRACE_CFLAGS = -I$(dvisvgm_srcdir)/libs/potrace - @HAVE_POTRACE_FALSE@POTRACE_LIBS = ../libs/potrace/libpotrace.a -@@ -424,13 +417,19 @@ $(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $( - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh - $(am__aclocal_m4_deps): - --clean-noinstLIBRARIES: -- -test -z "$(noinst_LIBRARIES)" || rm -f $(noinst_LIBRARIES) -+clean-noinstLTLIBRARIES: -+ -test -z "$(noinst_LTLIBRARIES)" || rm -f $(noinst_LTLIBRARIES) -+ @list='$(noinst_LTLIBRARIES)'; \ -+ locs=`for p in $$list; do echo $$p; done | \ -+ sed 's|^[^/]*$$|.|; s|/[^/]*$$||; s|$$|/so_locations|' | \ -+ sort -u`; \ -+ test -z "$$locs" || { \ -+ echo rm -f $${locs}; \ -+ rm -f $${locs}; \ -+ } - --liboptimizer.a: $(liboptimizer_a_OBJECTS) $(liboptimizer_a_DEPENDENCIES) $(EXTRA_liboptimizer_a_DEPENDENCIES) -- $(AM_V_at)-rm -f liboptimizer.a -- $(AM_V_AR)$(liboptimizer_a_AR) liboptimizer.a $(liboptimizer_a_OBJECTS) $(liboptimizer_a_LIBADD) -- $(AM_V_at)$(RANLIB) liboptimizer.a -+liboptimizer.la: $(liboptimizer_la_OBJECTS) $(liboptimizer_la_DEPENDENCIES) $(EXTRA_liboptimizer_la_DEPENDENCIES) -+ $(AM_V_CXXLD)$(CXXLINK) $(liboptimizer_la_OBJECTS) $(liboptimizer_la_LIBADD) $(LIBS) - - mostlyclean-compile: - -rm -f *.$(OBJEXT) -@@ -438,14 +437,14 @@ mostlyclean-compile: - distclean-compile: - -rm -f *.tab.c - --@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/AttributeExtractor.Po@am__quote@ # am--include-marker --@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ClipPathReassigner.Po@am__quote@ # am--include-marker --@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/GroupCollapser.Po@am__quote@ # am--include-marker --@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/RedundantElementRemover.Po@am__quote@ # am--include-marker --@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/SVGOptimizer.Po@am__quote@ # am--include-marker --@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/TextSimplifier.Po@am__quote@ # am--include-marker --@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/TransformSimplifier.Po@am__quote@ # am--include-marker --@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/WSNodeRemover.Po@am__quote@ # am--include-marker -+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/AttributeExtractor.Plo@am__quote@ # am--include-marker -+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ClipPathReassigner.Plo@am__quote@ # am--include-marker -+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/GroupCollapser.Plo@am__quote@ # am--include-marker -+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/RedundantElementRemover.Plo@am__quote@ # am--include-marker -+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/SVGOptimizer.Plo@am__quote@ # am--include-marker -+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/TextSimplifier.Plo@am__quote@ # am--include-marker -+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/TransformSimplifier.Plo@am__quote@ # am--include-marker -+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/WSNodeRemover.Plo@am__quote@ # am--include-marker - - $(am__depfiles_remade): - @$(MKDIR_P) $(@D) -@@ -569,7 +568,7 @@ distdir-am: $(DISTFILES) - done - check-am: all-am - check: check-am --all-am: Makefile $(LIBRARIES) -+all-am: Makefile $(LTLIBRARIES) - installdirs: - install: install-am - install-exec: install-exec-am -@@ -603,18 +602,18 @@ maintainer-clean-generic: - @echo "it deletes files that may require special tools to rebuild." - clean: clean-am - --clean-am: clean-generic clean-libtool clean-noinstLIBRARIES \ -+clean-am: clean-generic clean-libtool clean-noinstLTLIBRARIES \ - mostlyclean-am - - distclean: distclean-am -- -rm -f ./$(DEPDIR)/AttributeExtractor.Po -- -rm -f ./$(DEPDIR)/ClipPathReassigner.Po -- -rm -f ./$(DEPDIR)/GroupCollapser.Po -- -rm -f ./$(DEPDIR)/RedundantElementRemover.Po -- -rm -f ./$(DEPDIR)/SVGOptimizer.Po -- -rm -f ./$(DEPDIR)/TextSimplifier.Po -- -rm -f ./$(DEPDIR)/TransformSimplifier.Po -- -rm -f ./$(DEPDIR)/WSNodeRemover.Po -+ -rm -f ./$(DEPDIR)/AttributeExtractor.Plo -+ -rm -f ./$(DEPDIR)/ClipPathReassigner.Plo -+ -rm -f ./$(DEPDIR)/GroupCollapser.Plo -+ -rm -f ./$(DEPDIR)/RedundantElementRemover.Plo -+ -rm -f ./$(DEPDIR)/SVGOptimizer.Plo -+ -rm -f ./$(DEPDIR)/TextSimplifier.Plo -+ -rm -f ./$(DEPDIR)/TransformSimplifier.Plo -+ -rm -f ./$(DEPDIR)/WSNodeRemover.Plo - -rm -f Makefile - distclean-am: clean-am distclean-compile distclean-generic \ - distclean-tags -@@ -660,14 +659,14 @@ install-ps-am: - installcheck-am: - - maintainer-clean: maintainer-clean-am -- -rm -f ./$(DEPDIR)/AttributeExtractor.Po -- -rm -f ./$(DEPDIR)/ClipPathReassigner.Po -- -rm -f ./$(DEPDIR)/GroupCollapser.Po -- -rm -f ./$(DEPDIR)/RedundantElementRemover.Po -- -rm -f ./$(DEPDIR)/SVGOptimizer.Po -- -rm -f ./$(DEPDIR)/TextSimplifier.Po -- -rm -f ./$(DEPDIR)/TransformSimplifier.Po -- -rm -f ./$(DEPDIR)/WSNodeRemover.Po -+ -rm -f ./$(DEPDIR)/AttributeExtractor.Plo -+ -rm -f ./$(DEPDIR)/ClipPathReassigner.Plo -+ -rm -f ./$(DEPDIR)/GroupCollapser.Plo -+ -rm -f ./$(DEPDIR)/RedundantElementRemover.Plo -+ -rm -f ./$(DEPDIR)/SVGOptimizer.Plo -+ -rm -f ./$(DEPDIR)/TextSimplifier.Plo -+ -rm -f ./$(DEPDIR)/TransformSimplifier.Plo -+ -rm -f ./$(DEPDIR)/WSNodeRemover.Plo - -rm -f Makefile - maintainer-clean-am: distclean-am maintainer-clean-generic - -@@ -689,7 +688,7 @@ uninstall-am: - .MAKE: install-am install-strip - - .PHONY: CTAGS GTAGS TAGS all all-am am--depfiles check check-am clean \ -- clean-generic clean-libtool clean-noinstLIBRARIES \ -+ clean-generic clean-libtool clean-noinstLTLIBRARIES \ - 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 \ -diff -up texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/PageRanges.cpp.301 texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/PageRanges.cpp ---- texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/PageRanges.cpp.301 2022-01-21 12:25:16.000000000 -0500 -+++ texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/PageRanges.cpp 2023-01-17 15:53:51.717205461 -0500 -@@ -2,7 +2,7 @@ - ** PageRanges.cpp ** - ** ** - ** This file is part of dvisvgm -- a fast DVI to SVG converter ** --** Copyright (C) 2005-2022 Martin Gieseking ** -+** Copyright (C) 2005-2023 Martin Gieseking ** - ** ** - ** This program is free software; you can redistribute it and/or ** - ** modify it under the terms of the GNU General Public License as ** -@@ -24,6 +24,11 @@ - - using namespace std; - -+using FilterFunc = bool (*)(int); -+ -+static bool is_even (int n) {return n % 2 == 0;} -+static bool is_odd (int n) {return n % 2 == 1;} -+ - - /** Analyzes a string describing a range sequence. - * Syntax: ([0-9]+(-[0-9]*)?)|(-[0-9]+)(,([0-9]+(-[0-9]*)?)|(-[0-9]+))* -@@ -33,32 +38,31 @@ using namespace std; - bool PageRanges::parse (const string &str, int max_page) { - StringInputBuffer ib(str); - BufferInputReader ir(ib); -- while (ir) { -+ while (ir && ir.peek() != ':') { - int first=1; - int last=max_page; - ir.skipSpace(); - if (!isdigit(ir.peek()) && ir.peek() != '-') - return false; -- - if (isdigit(ir.peek())) - first = ir.getInt(); - ir.skipSpace(); -- if (ir.peek() == '-') { -+ if (ir.peek() != '-') -+ last = first; -+ else { - while (ir.peek() == '-') - ir.get(); - ir.skipSpace(); - if (isdigit(ir.peek())) - last = ir.getInt(); - } -- else -- last = first; - ir.skipSpace(); - if (ir.peek() == ',') { - ir.get(); - if (ir.eof()) - return false; - } -- else if (!ir.eof()) -+ else if (!ir.eof() && ir.peek() != ':') - return false; - if (first > last) - swap(first, last); -@@ -70,10 +74,40 @@ bool PageRanges::parse (const string &st - } - addRange(first, last); - } -+ // apply filter if present -+ if (ir.peek() == ':') { -+ ir.get(); -+ string filterName = ir.getWord(); -+ FilterFunc filterFunc; -+ if (filterName == "even") -+ filterFunc = &is_even; -+ else if (filterName == "odd") -+ filterFunc = &is_odd; -+ else -+ return false; -+ *this = filter(filterFunc); -+ } - return true; - } - - -+/** Returns a new PageRanges object that contains only the values -+ * for which the given filter function returns true. */ -+PageRanges PageRanges::filter (FilterFunc filterFunc) const { -+ PageRanges newRanges; -+ if (filterFunc == nullptr) -+ newRanges = *this; -+ else { -+ for (const auto &range : *this) { -+ for (int i=range.first; i <= range.second; i++) -+ if (filterFunc(i)) -+ newRanges.addRange(i, i); -+ } -+ } -+ return newRanges; -+} -+ -+ - /** Returns the number of pages. */ - size_t PageRanges::numberOfPages () const { - size_t sum=0; -diff -up texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/PageRanges.hpp.301 texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/PageRanges.hpp ---- texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/PageRanges.hpp.301 2022-01-21 12:25:16.000000000 -0500 -+++ texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/PageRanges.hpp 2023-01-17 15:53:51.717205461 -0500 -@@ -2,7 +2,7 @@ - ** PageRanges.hpp ** - ** ** - ** This file is part of dvisvgm -- a fast DVI to SVG converter ** --** Copyright (C) 2005-2022 Martin Gieseking ** -+** Copyright (C) 2005-2023 Martin Gieseking ** - ** ** - ** This program is free software; you can redistribute it and/or ** - ** modify it under the terms of the GNU General Public License as ** -@@ -27,6 +27,7 @@ - class PageRanges : public NumericRanges { - public: - bool parse (const std::string &str, int max_page=0); -+ PageRanges filter (bool (*filterFunc)(int)) const; - size_t numberOfPages () const; - }; - -diff -up texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/PageSize.cpp.301 texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/PageSize.cpp ---- texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/PageSize.cpp.301 2022-01-21 12:25:16.000000000 -0500 -+++ texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/PageSize.cpp 2023-01-17 15:53:51.717205461 -0500 -@@ -2,7 +2,7 @@ - ** PageSize.cpp ** - ** ** - ** This file is part of dvisvgm -- a fast DVI to SVG converter ** --** Copyright (C) 2005-2022 Martin Gieseking ** -+** Copyright (C) 2005-2023 Martin Gieseking ** - ** ** - ** This program is free software; you can redistribute it and/or ** - ** modify it under the terms of the GNU General Public License as ** -@@ -96,7 +96,7 @@ void PageSize::resize (string name) { - - name = util::tolower(name); - // extract optional suffix -- size_t pos = name.rfind('-'); -+ auto pos = name.rfind('-'); - bool landscape = false; - if (pos != string::npos) { - string suffix = name.substr(pos); -diff -up texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/PageSize.hpp.301 texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/PageSize.hpp ---- texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/PageSize.hpp.301 2022-01-21 12:25:16.000000000 -0500 -+++ texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/PageSize.hpp 2023-01-17 15:53:51.717205461 -0500 -@@ -2,7 +2,7 @@ - ** PageSize.hpp ** - ** ** - ** This file is part of dvisvgm -- a fast DVI to SVG converter ** --** Copyright (C) 2005-2022 Martin Gieseking ** -+** Copyright (C) 2005-2023 Martin Gieseking ** - ** ** - ** This program is free software; you can redistribute it and/or ** - ** modify it under the terms of the GNU General Public License as ** -diff -up texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/Pair.hpp.301 texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/Pair.hpp ---- texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/Pair.hpp.301 2022-01-21 12:25:16.000000000 -0500 -+++ texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/Pair.hpp 2023-01-17 15:53:51.717205461 -0500 -@@ -2,7 +2,7 @@ - ** Pair.hpp ** - ** ** - ** This file is part of dvisvgm -- a fast DVI to SVG converter ** --** Copyright (C) 2005-2022 Martin Gieseking ** -+** Copyright (C) 2005-2023 Martin Gieseking ** - ** ** - ** This program is free software; you can redistribute it and/or ** - ** modify it under the terms of the GNU General Public License as ** -@@ -73,6 +73,7 @@ inline T det (const Pair &p1, const P - struct Pair32 : public Pair { - explicit Pair32 (int32_t x=0, int32_t y=0) : Pair(x, y) {} - explicit Pair32 (double x, double y) : Pair(lround(x), lround(y)) {} -+ explicit Pair32 (const Pair &p) : Pair32(p.x(), p.y()) {} - Pair32 (const Pair &p) : Pair(p) {} - }; - -@@ -82,6 +83,11 @@ inline DPair round (const DPair &p) { - return DPair(std::lround(p.x()), std::lround(p.y())); - } - -+ -+template<> template<> -+inline Pair::Pair (const Pair &p) : _x(int(round(p.x()))), _y(int(round(p.y()))) {} -+ -+ - template - IMPLEMENT_ARITHMETIC_OPERATOR(Pair, +) - -diff -up texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/PapersizeSpecialHandler.cpp.301 texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/PapersizeSpecialHandler.cpp ---- texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/PapersizeSpecialHandler.cpp.301 2022-01-21 12:25:16.000000000 -0500 -+++ texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/PapersizeSpecialHandler.cpp 2023-01-17 15:53:51.717205461 -0500 -@@ -2,7 +2,7 @@ - ** PapersizeSpecialHandler.cpp ** - ** ** - ** This file is part of dvisvgm -- a fast DVI to SVG converter ** --** Copyright (C) 2005-2022 Martin Gieseking ** -+** Copyright (C) 2005-2023 Martin Gieseking ** - ** ** - ** This program is free software; you can redistribute it and/or ** - ** modify it under the terms of the GNU General Public License as ** -@@ -28,7 +28,7 @@ void PapersizeSpecialHandler::preprocess - string params; - is >> params; - Length w, h; -- const size_t splitpos = params.find(','); -+ const auto splitpos = params.find(','); - try { - if (splitpos == string::npos) { - w.set(params); -diff -up texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/PapersizeSpecialHandler.hpp.301 texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/PapersizeSpecialHandler.hpp ---- texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/PapersizeSpecialHandler.hpp.301 2022-01-21 12:25:16.000000000 -0500 -+++ texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/PapersizeSpecialHandler.hpp 2023-01-17 15:53:51.717205461 -0500 -@@ -2,7 +2,7 @@ - ** PapersizeSpecialHandler.hpp ** - ** ** - ** This file is part of dvisvgm -- a fast DVI to SVG converter ** --** Copyright (C) 2005-2022 Martin Gieseking ** -+** Copyright (C) 2005-2023 Martin Gieseking ** - ** ** - ** This program is free software; you can redistribute it and/or ** - ** modify it under the terms of the GNU General Public License as ** -diff -up texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/PathClipper.cpp.301 texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/PathClipper.cpp ---- texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/PathClipper.cpp.301 2022-01-21 12:25:16.000000000 -0500 -+++ texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/PathClipper.cpp 2023-01-17 15:53:51.717205461 -0500 -@@ -2,7 +2,7 @@ - ** PathClipper.cpp ** - ** ** - ** This file is part of dvisvgm -- a fast DVI to SVG converter ** --** Copyright (C) 2005-2022 Martin Gieseking ** -+** Copyright (C) 2005-2023 Martin Gieseking ** - ** ** - ** This program is free software; you can redistribute it and/or ** - ** modify it under the terms of the GNU General Public License as ** -@@ -51,7 +51,7 @@ inline DPair to_DPair (const IntPoint &p - * is called. */ - class FlattenActions : public CurvedPath::IterationActions { - public: -- FlattenActions (vector &curves, Polygons &polygons, int &numLines) -+ FlattenActions (vector &curves, Polygons &polygons, int &numLines) - : _polygons(polygons), _curves(curves), _numLines(numLines) {} - - void moveto (const CurvedPath::Point &p) override { -@@ -74,12 +74,12 @@ class FlattenActions : public CurvedPath - } - - void quadto (const CurvedPath::Point &p1, const CurvedPath::Point &p2) override { -- Bezier bezier(_currentPoint, p1, p2); -- addCurvePoints(bezier); -+ QuadBezier qbezier(_currentPoint, p1, p2); -+ addCurvePoints(CubicBezier(qbezier)); - } - - void cubicto (const CurvedPath::Point &p1, const CurvedPath::Point &p2, const CurvedPath::Point &p3) override { -- Bezier bezier(_currentPoint, p1, p2, p3); -+ CubicBezier bezier(_currentPoint, p1, p2, p3); - addCurvePoints(bezier); - } - -@@ -98,7 +98,7 @@ class FlattenActions : public CurvedPath - } - - protected: -- void addCurvePoints (const Bezier &bezier) { -+ void addCurvePoints (const CubicBezier &bezier) { - if (_currentPoly.empty()) // this shouldn't happen but in case it does, ... - _currentPoly.emplace_back(IntPoint(0, 0, 0)); // ...add a start point first - vector points; // points of flattened curve -@@ -122,7 +122,7 @@ class FlattenActions : public CurvedPath - CurvedPath::Point _startPoint, _currentPoint; - Polygon _currentPoly; ///< polygon being created - Polygons &_polygons; ///< all polygons created -- vector &_curves; -+ vector &_curves; - int &_numLines; - }; - -@@ -288,7 +288,7 @@ void PathClipper::reconstruct (const Pol - if (diff == 1 || label1.id <= 0) // line segment? - path.lineto(to_DPair(polygon[index2])); - else { // Bézier curve segment -- Bezier bezier(_curves[label1.id-1], label1.t, label2.t); -+ CubicBezier bezier(_curves[label1.id-1], label1.t, label2.t); - if (label1.t > label2.t) - bezier.reverse(); - path.cubicto(bezier.point(1), bezier.point(2), bezier.point(3)); -diff -up texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/PathClipper.hpp.301 texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/PathClipper.hpp ---- texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/PathClipper.hpp.301 2022-01-21 12:25:16.000000000 -0500 -+++ texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/PathClipper.hpp 2023-01-17 15:53:51.717205461 -0500 -@@ -2,7 +2,7 @@ - ** PathClipper.hpp ** - ** ** - ** This file is part of dvisvgm -- a fast DVI to SVG converter ** --** Copyright (C) 2005-2022 Martin Gieseking ** -+** Copyright (C) 2005-2023 Martin Gieseking ** - ** ** - ** This program is free software; you can redistribute it and/or ** - ** modify it under the terms of the GNU General Public License as ** -@@ -47,7 +47,7 @@ class PathClipper { - static void callback (IntPoint &e1bot, IntPoint &e1top, IntPoint &e2bot, IntPoint &e2top, IntPoint &ip); - - private: -- std::vector _curves; -+ std::vector _curves; - int _numLines=0; ///< negative number of straight line segments in path been processed - }; - -diff -up texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/PDFHandler.cpp.301 texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/PDFHandler.cpp ---- texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/PDFHandler.cpp.301 2023-01-17 15:53:51.718205473 -0500 -+++ texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/PDFHandler.cpp 2023-01-17 15:53:51.718205473 -0500 -@@ -0,0 +1,858 @@ -+/************************************************************************* -+** PDFHandler.cpp ** -+** ** -+** This file is part of dvisvgm -- a fast DVI to SVG converter ** -+** Copyright (C) 2005-2023 Martin Gieseking ** -+** ** -+** 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 . ** -+*************************************************************************/ -+ -+#include -+#include -+#include -+#include -+#include "FilePath.hpp" -+#include "FileSystem.hpp" -+#include "FontEngine.hpp" -+#include "FontManager.hpp" -+#include "GraphicsPath.hpp" -+#include "Color.hpp" -+#include "Matrix.hpp" -+#include "Opacity.hpp" -+#include "PDFHandler.hpp" -+#include "Process.hpp" -+#include "SVGElement.hpp" -+#include "SVGTree.hpp" -+#include "Unicode.hpp" -+#include "XMLParser.hpp" -+#include "XXHashFunction.hpp" -+ -+using namespace std; -+ -+template -+static T parse_value (const string &str) { -+ T value{}; -+ istringstream iss(str); -+ iss >> value; -+ return value; -+} -+ -+template<> -+string parse_value (const string &str) { -+ return str; -+} -+ -+template<> -+vector parse_value (const string &str) { -+ vector vec; -+ istringstream iss(str); -+ while (iss) { -+ double val; -+ if (iss >> val) -+ vec.push_back(val); -+ } -+ return vec; -+} -+ -+ -+istream& operator >> (istream &is, PDFHandler::ObjID &objId) { -+ is >> objId.num; -+ is >> objId.gen; -+ is >> ws; -+ if (is.peek() == 'R') -+ is.get(); -+ return is; -+} -+ -+ -+template -+static vector parse_pdf_array (const string &str) { -+ vector vec; -+ istringstream iss(str); -+ if (iss.get() == '[') { -+ while (iss) { -+ T val; -+ if (iss >> val) -+ vec.push_back(val); -+ } -+ } -+ return vec; -+} -+ -+template -+static map parse_pdf_dict (const string &str) { -+ map dict; -+ istringstream iss(str); -+ if (iss.get() == '<' && iss.get() == '<') { -+ string name; -+ T val; -+ while (iss) { -+ iss >> ws >> name >> val; -+ if (iss) -+ dict.emplace(name, val); -+ } -+ } -+ return dict; -+} -+ -+ -+template -+static T parse_attr_value (const XMLElement *elem, const string &attr) { -+ T ret{}; -+ if (const char *value = elem->getAttributeValue(attr)) -+ ret = parse_value(value); -+ return ret; -+} -+ -+template<> -+Matrix parse_attr_value (const XMLElement *elem, const string &attr) { -+ Matrix matrix(1); -+ if (const char *val = elem->getAttributeValue(attr)) -+ matrix = Matrix(val); -+ return matrix; -+} -+ -+/////////////////////////////////////////////////////////////////////////////// -+ -+ -+PDFHandler::~PDFHandler () { -+ finishFile(); -+} -+ -+ -+string PDFHandler::mutoolVersion () { -+ static string version; -+ if (version.empty()) -+ version = mutool("-v", SearchPattern("([0-9.]+)", "$1"), true); -+ return version; -+} -+ -+ -+/** Returns the bounding box of a selected PDF page. */ -+BoundingBox PDFHandler::bbox (string &fname, int pageno) { -+ BoundingBox bbox; -+ string arraystr = mtShow(fname, "pages/" + to_string(pageno) + "/MediaBox"); -+ if (arraystr.substr(0, 4) == "null") -+ arraystr = mtShow(fname, "pages/" + to_string(pageno) + "/Parent/MediaBox"); -+ auto vec = parse_pdf_array(arraystr); -+ if (vec.size() == 4) -+ bbox = BoundingBox(vec[0], vec[1], vec[2], vec[3]); -+ return bbox; -+} -+ -+ -+/** Converts a single page of a PDF file to SVG. If no context element is given, -+ * the SVG page contents are added to a page group element of the SVG tree. -+ * Otherwise, they are added to the context element which is not inserted into -+ * the SVG tree but returned for further processing. -+ * @param[in] fname PDF filename -+ * @param[in] pageno number of page to convert -+ * @param[in] context element the generated page contents are appended to -+ * @return the context element holding the page contents */ -+unique_ptr PDFHandler::convert (const string &fname, int pageno, unique_ptr context) { -+ if (_fname != fname) -+ initFile(fname); -+ if (!_svg || pageno < 1 || pageno > _numPages) -+ return context; -+ initPage(pageno, std::move(context)); -+ -+ // create trace XML and convert it to SVG -+ XMLParser xmlParser; -+ auto openfunc = std::bind(&PDFHandler::elementOpened, this, std::placeholders::_1); -+ auto closefunc = std::bind(&PDFHandler::elementClosed, this, std::placeholders::_1); -+ xmlParser.setNotifyFuncs(openfunc, closefunc); -+ xmlParser.setRootElement(nullptr); -+ string xmlfname = FileSystem::tmpdir()+FilePath(fname, true).filename()+"-"+ to_string(_pageno)+".xml"; -+ mutool("draw -Ftrace -o"+xmlfname+" "+_fname+" "+to_string(_pageno)); -+ ifstream ifs(xmlfname); -+ xmlParser.parse(ifs); -+ ifs.close(); -+ // remove trace XML -+ if (!PhysicalFont::KEEP_TEMP_FILES) -+ FileSystem::remove(xmlfname); -+ return finishPage(); -+} -+ -+ -+void PDFHandler::initFile (const string &fname) { -+ finishFile(); -+ _fname = FilePath(fname, true).absolute(); -+ _numPages = parse_value(mtShow("trailer/Root/Pages/Count")); -+ // extract image and font files from the PDF -+ string cwd = FileSystem::getcwd(); -+ string tmpdir = FileSystem::tmpdir(); -+ FileSystem::chdir(tmpdir); -+ string out = mtExtract(_fname, SearchPattern(R"(extracting\s+([a-z]+-\d+\.\S+))", "$1\n")); -+ FileSystem::chdir(cwd); -+ for (const string &extrfname : util::split(out, "\n")) { -+ auto dashpos = extrfname.rfind('-'); -+ if (dashpos != string::npos) { -+ int objnum; -+ istringstream iss(extrfname.substr(dashpos+1)); -+ iss >> objnum; -+ _extractedFiles.emplace(objnum, extrfname); -+ } -+ } -+} -+ -+ -+void PDFHandler::finishFile () { -+ if (!PhysicalFont::KEEP_TEMP_FILES) { -+ // remove extracted image and font files -+ for (auto &entry : _extractedFiles) -+ FileSystem::remove(FileSystem::tmpdir() + entry.second); -+ } -+ _fname.clear(); -+ _numPages = 0; -+} -+ -+ -+void PDFHandler::initPage (int pageno, unique_ptr context) { -+ _pageno = pageno; -+ _bbox = bbox(_fname, pageno); -+ if (context) { -+ _context = context.get(); -+ _svg->pushPageContext(std::move(context)); -+ } -+ else { -+ _svg->newPage(_pageno); -+ _svg->setBBox(_bbox); -+ } -+ // collect sequence of images referenced on current page -+ collectObjects(); -+ _imgSeq.clear(); -+ SearchPattern pattern{R"((/[a-zA-Z0-9]+)\s+Do)", "$1\n"}; -+ string content = mtShow("pages/" + to_string(_pageno) + "/Contents", pattern); -+ if (content.empty()) -+ content = mtShow("pages/" + to_string(_pageno) + "/Contents/*", pattern); -+ for (const string &entry : util::split(content, "\n")) { -+ if (!entry.empty()) -+ _imgSeq.push_back(entry); -+ } -+} -+ -+ -+unique_ptr PDFHandler::finishPage () { -+ if (!_context) { -+ // add glyph outlines of used characters -+ for (auto &fontchars: FontManager::instance().getUsedChars()) { -+ if (auto font = font_cast(fontchars.first)) -+ _svg->append(*font, fontchars.second); -+ } -+ _svg->appendFontStyles(FontManager::instance().getUsedFonts()); -+ } -+ // pop clipping paths still active -+ while (!_clipPathStack.empty()) { -+ _svg->popPageContext(); -+ if (_clipPathStack.top().groupElement->empty()) -+ XMLElement::detach(_clipPathStack.top().groupElement); -+ _clipPathStack.pop(); -+ } -+ _pageno = 0; -+ _x = _y = 0; -+ _currentFont = nullptr; -+ _objDict.clear(); -+ auto context = util::static_unique_ptr_cast(XMLElement::detach(_context)); -+ if (context) -+ _svg->popPageContext(); -+ _context = nullptr; -+ return context; -+} -+ -+ -+/** Called by the XMLParser after an opening tag of an element has been processed. -+ * @param[in] trcElement opened element of trace XML */ -+void PDFHandler::elementOpened (XMLElement *trcElement) { -+ const string &name = trcElement->name(); -+ if (name == "tile") -+ doOpenTile(trcElement); // start defining a tiling pattern -+} -+ -+ -+/** Called by the XMLParser after a closing tag of an element has been processed. -+ * @param[in] trcElement closed element of trace XML */ -+void PDFHandler::elementClosed (XMLElement *trcElement) { -+ const string &name = trcElement->name(); -+ struct Handler { -+ const char *name; -+ void (PDFHandler::*func)(XMLElement*); -+ } handlers[9] = { -+ {"stroke_path", &PDFHandler::doStrokePath}, -+ {"fill_path", &PDFHandler::doFillPath}, -+ {"fill_image", &PDFHandler::doFillImage}, -+ {"fill_text", &PDFHandler::doFillText}, -+ {"clip_path", &PDFHandler::doClipPath}, -+ {"clip_stroke_path", &PDFHandler::doClipStrokePath}, -+ {"clip_text", &PDFHandler::doClipText}, -+ {"pop_clip", &PDFHandler::doPopClip}, -+ {"tile", &PDFHandler::doCloseTile}, -+ }; -+ auto it = find_if(begin(handlers), end(handlers), [&name](const Handler &handler) { -+ return handler.name == name; -+ }); -+ if (it != end(handlers)) -+ (this->*it->func)(trcElement); -+ else -+ return; -+ XMLElement::detach(trcElement); // remove element from XML tree, it's no longer needed -+} -+ -+ -+/** Returns a color object from color data given in the trace XML. -+ * @param[in] colorspace currently supported: DeviceGray, DeviceRGB, DeviceCMYK -+ * @param[in] value color components depending on color space */ -+static Color to_color (const string &colorspace, const string &value) { -+ Color color; -+ if (colorspace == "DeviceGray") -+ color.setGray(parse_value(value)); -+ else if (colorspace == "DeviceRGB") { -+ auto comp = util::split(value, " "); -+ if (comp.size() == 3) -+ color.setRGB(parse_value(comp[0]), parse_value(comp[1]), parse_value(comp[2])); -+ } -+ else if (colorspace == "DeviceCMYK") { -+ auto comp = util::split(value, " "); -+ if (comp.size() == 4) -+ color.setCMYK(parse_value(comp[0]), parse_value(comp[1]), parse_value(comp[2]), parse_value(comp[3])); -+ } -+ return color; -+} -+ -+ -+static double matrix_extent (const Matrix &m) { -+ // signed area of the parallelogram spanned by the scale/rotation components of the matrix -+ // v1 x v2 = det(v1,v2) = sin(v1,v2) * |v1| * |v2| -+ double area = m.get(0,0)*m.get(1,1) - m.get(0,1)*m.get(1,0); -+ return sqrt(abs(area)); -+} -+ -+ -+static double matrix_max_extent (const Matrix &matrix) { -+ double max1 = max(abs(matrix.get(0,0)), abs(matrix.get(0,1))); -+ double max2 = max(abs(matrix.get(1,0)), abs(matrix.get(1,1))); -+ return max(max1, max2); -+} -+ -+ -+/** Creates a GraphicsPath object from a sequence of command elements -+ * (moveto, lineto, curveto, closepath) read from the trace XML file. -+ * @param[in] srcPathElement parent of the command elements */ -+static GraphicsPath create_path (XMLElement *srcPathElement) { -+ GraphicsPath path; -+ for (const XMLNode *child : *srcPathElement) { -+ if (const XMLElement *cmd = child->toElement()) { -+ string name = cmd->name(); -+ if (name == "moveto") -+ path.moveto(parse_attr_value(cmd, "x"), parse_attr_value(cmd, "y")); -+ else if (name == "lineto") -+ path.lineto(parse_attr_value(cmd, "x"), parse_attr_value(cmd, "y")); -+ else if (name == "curveto") -+ path.cubicto( -+ parse_attr_value(cmd, "x1"), parse_attr_value(cmd, "y1"), -+ parse_attr_value(cmd, "x2"), parse_attr_value(cmd, "y2"), -+ parse_attr_value(cmd, "x3"), parse_attr_value(cmd, "y3")); -+ else if (name == "closepath") -+ path.closepath(); -+ } -+ } -+ if (!path.empty()) -+ path.removeRedundantCommands(); -+ return path; -+} -+ -+ -+/** Creates a new SVG path element from XML drawing commands. -+ * @param[in] srcPathElement element holding the drawing commands -+ * @param[in] stroke create a stroke path if true, a fill path otherwise -+ * @param[out] bbox if not 0, gets the bounding box of the resulting path */ -+static unique_ptr create_path_element (XMLElement *srcPathElement, bool stroke, BoundingBox *bbox=nullptr) { -+ unique_ptr pathElement; -+ auto path = create_path(srcPathElement); -+ if (!path.empty()) { -+ auto matrix = parse_attr_value(srcPathElement, "transform"); -+ path.transform(matrix); -+ if (bbox) -+ *bbox = path.computeBBox(); -+ pathElement = util::make_unique("path"); -+ ostringstream oss; -+ path.writeSVG(oss, SVGTree::RELATIVE_PATH_CMDS); -+ pathElement->addAttribute("d", oss.str()); -+ string colorspace = parse_attr_value(srcPathElement, "colorspace"); -+ string color = parse_attr_value(srcPathElement, "color"); -+ if (!stroke) { // create path for filling? -+ if (parse_attr_value(srcPathElement, "winding") == "evenodd") -+ pathElement->setFillRule(SVGElement::FR_EVENODD); -+ if (!colorspace.empty()) -+ pathElement->setFillColor(to_color(colorspace, color)); -+ } -+ else { // create path for stroking -+ if (!colorspace.empty()) -+ pathElement->setStrokeColor(to_color(colorspace, color)); -+ pathElement->setNoFillColor(); -+ double linewidth=1; -+ if (const char *valstr = srcPathElement->getAttributeValue("linewidth")) { -+ double lwScale = matrix_extent(matrix); -+ linewidth = parse_value(valstr); -+ pathElement->setStrokeWidth(linewidth * lwScale); -+ } -+ double miterlimit=0; -+ SVGElement::LineJoin linejoin=SVGElement::LJ_MITER; -+ if (const char *valstr = srcPathElement->getAttributeValue("miterlimit")) -+ pathElement->setStrokeMiterLimit(miterlimit = parse_value(valstr)); -+ if (const char *valstr = srcPathElement->getAttributeValue("linejoin")) { -+ linejoin = SVGElement::LJ_MITER; -+ switch (parse_value(valstr)) { -+ case 1: linejoin = SVGElement::LJ_ROUND; break; -+ case 2: linejoin = SVGElement::LJ_BEVEL; break; -+ } -+ pathElement->setStrokeLineJoin(linejoin); -+ } -+ if (const char *valstr = srcPathElement->getAttributeValue("linecap")) { -+ SVGElement::LineCap captype = SVGElement::LC_BUTT; -+ switch (parse_value(valstr)) { -+ case 1: captype = SVGElement::LC_ROUND; break; -+ case 2: captype = SVGElement::LC_SQUARE; break; -+ } -+ pathElement->setStrokeLineCap(captype); -+ } -+ if (const char *valstr = srcPathElement->getAttributeValue("dash")) { -+ auto offset = parse_attr_value(srcPathElement, "dash_phase"); -+ pathElement->setStrokeDash(valstr, offset); -+ } -+ if (bbox) { -+ double extent = (linewidth != 0 ? linewidth : 1.0) * matrix_max_extent(matrix); -+ if (linejoin == SVGElement::LJ_MITER && miterlimit > 1) -+ extent *= miterlimit; -+ bbox->expand(extent); -+ } -+ } -+ } -+ return pathElement; -+} -+ -+ -+void PDFHandler::doFillPath (XMLElement *trcFillPathElement) { -+ if (auto pathElement = create_path_element(trcFillPathElement, false)) { -+ if (XMLElement *parent = trcFillPathElement->parent()->toElement()) { -+ if (parent->name() == "group") { -+ if (const char *valstr = parent->getAttributeValue("blendmode")) -+ pathElement->setFillOpacity(Opacity::blendMode(valstr)); -+ if (const char *valstr = parent->getAttributeValue("alpha")) -+ pathElement->setFillOpacity(OpacityAlpha(parse_value(valstr))); -+ } -+ } -+ _svg->appendToPage(std::move(pathElement)); -+ } -+} -+ -+ -+void PDFHandler::doStrokePath (XMLElement *trcStrokePathElement) { -+ if (auto pathElement = create_path_element(trcStrokePathElement, true)) { -+ if (XMLElement *parent = trcStrokePathElement->parent()->toElement()) { -+ if (parent->name() == "group") { -+ Opacity opacity; -+ if (const char *valstr = parent->getAttributeValue("blendmode")) -+ opacity.setBlendMode(Opacity::blendMode(valstr)); -+ if (const char *valstr = parent->getAttributeValue("alpha")) -+ opacity.strokealpha().setConstAlpha(parse_value(valstr)); -+ pathElement->setStrokeOpacity(opacity); -+ } -+ } -+ _svg->appendToPage(std::move(pathElement)); -+ } -+} -+ -+ -+void PDFHandler::doClipPath (XMLElement *trcClipPathElement) { -+ if (auto pathElement = create_path_element(trcClipPathElement, false)) { -+ string id = "cp"+to_string(_numClipPath++); -+ auto clipPathElement = util::make_unique("clipPath"); -+ clipPathElement->addAttribute("id", id); -+ auto groupElement = util::make_unique("g"); -+ _clipPathStack.emplace(ClipPathData{std::move(id), groupElement.get()}); -+ groupElement->setClipPathUrl(_clipPathStack.top().id); -+ clipPathElement->append(std::move(pathElement)); -+ _svg->appendToDefs(std::move(clipPathElement)); -+ _svg->pushPageContext(std::move(groupElement)); -+ } -+} -+ -+ -+void PDFHandler::doClipStrokePath (XMLElement *trcClipStrokePathElement) { -+ BoundingBox pathbox; -+ if (auto pathElement = create_path_element(trcClipStrokePathElement, true, &pathbox)) { -+ pathElement->setStrokeColor(Color::WHITE); -+ string id = "cm"+to_string(_numClipPath++); -+ auto maskElement = util::make_unique("mask"); -+ maskElement->addAttribute("id", id); -+ maskElement->addAttribute("x", pathbox.minX()); -+ maskElement->addAttribute("y", pathbox.minY()); -+ maskElement->addAttribute("width", pathbox.width()); -+ maskElement->addAttribute("height", pathbox.height()); -+ maskElement->addAttribute("maskUnits", "userSpaceOnUse"); -+ maskElement->append(std::move(pathElement)); -+ auto groupElement = util::make_unique("g"); -+ groupElement->setMaskUrl(id); -+ _clipPathStack.emplace(ClipPathData{std::move(id), groupElement.get()}); -+ _svg->appendToDefs(std::move(maskElement)); -+ _svg->pushPageContext(std::move(groupElement)); -+ } -+} -+ -+ -+void PDFHandler::doClipText (XMLElement *trcClipTextElement) { -+ string id = "cp"+to_string(_numClipPath++); -+ auto clipPathElement = util::make_unique("clipPath"); -+ clipPathElement->addAttribute("id", id); -+ auto groupElement = util::make_unique("g"); -+ _clipPathStack.emplace(ClipPathData{std::move(id), groupElement.get()}); -+ groupElement->setClipPathUrl(_clipPathStack.top().id); -+ SVGElement *cpElementPtr = clipPathElement.get(); -+ _svg->pushPageContext(std::move(clipPathElement)); -+ doFillText(trcClipTextElement); -+ _svg->popPageContext(); -+ _svg->appendToDefs(XMLElement::detach(cpElementPtr)); // move clipPath element from page to defs section -+ _svg->pushPageContext(std::move(groupElement)); -+} -+ -+ -+void PDFHandler::doPopClip (XMLElement*) { -+ if (!_clipPathStack.empty()) { -+ _svg->popPageContext(); -+ if (_clipPathStack.top().groupElement->empty()) -+ XMLElement::detach(_clipPathStack.top().groupElement); -+ _clipPathStack.pop(); -+ } -+} -+ -+ -+static unique_ptr create_use_element (double x, double y, const string &refID) { -+ auto useElement = util::make_unique("use"); -+ useElement->addAttribute("x", x); -+ useElement->addAttribute("y", y); -+ useElement->addAttribute("xlink:href", "#"+refID); -+ return useElement; -+} -+ -+ -+void PDFHandler::doFillImage (XMLElement *trcFillImageElement) { -+ if (_numImages < _imgSeq.size()) { -+ auto it = _objDict.find(_imgSeq[_numImages]); -+ if (it != _objDict.end()) { -+ string imgID = "img"+to_string(it->second.num)+"-"+XXH32HashFunction(_fname).digestString(); -+ auto w = parse_attr_value(trcFillImageElement, "width"); -+ auto h = parse_attr_value(trcFillImageElement, "height"); -+ auto alpha = parse_attr_value(trcFillImageElement, "alpha"); -+ if (w == 0 || h == 0 || alpha == 0) -+ return; -+ // add base64 encoding of the image to the defs section if it hasn't been referenced yet -+ auto last = _imgSeq.begin()+int(_numImages); -+ if (find(_imgSeq.begin(), last, it->first) == last) { -+ string fname = it->second.fname; -+ auto symbolElement = util::make_unique("symbol"); -+ symbolElement->addAttribute("id", imgID); -+ symbolElement->addAttribute("viewBox", BoundingBox(0, 0, w, h).svgViewBoxString()); -+ auto imgElement = util::make_unique("image"); -+ imgElement->addAttribute("width", parse_attr_value(trcFillImageElement, "width")); -+ imgElement->addAttribute("height", parse_attr_value(trcFillImageElement, "height")); -+ imgElement->addAttribute("@@xlink:href", "data:"+util::mimetype(fname)+";base64,"+fname); -+ symbolElement->append(std::move(imgElement)); -+ _svg->appendToDefs(std::move(symbolElement)); -+ } -+ // add reference to image -+ auto useElement = create_use_element(0, 0, imgID); -+ useElement->setOpacity(OpacityAlpha(alpha)); -+ Matrix matrix = parse_attr_value(trcFillImageElement, "transform"); -+ matrix.rmultiply(ScalingMatrix(1/w, 1/h)); -+ useElement->setTransform(matrix); -+ if (!_clipPathStack.empty()) -+ useElement->setClipPathUrl(_clipPathStack.top().id); -+ _svg->appendToPage(std::move(useElement)); -+ } -+ _numImages++; -+ } -+} -+ -+ -+static string to_utf8 (const string &str) { -+ if (str.empty()) -+ return ""; -+ if (str.front() != '&' || str.back() != ';') -+ return str; -+ string ent = str.substr(1, str.length()-2); -+ if (ent == "amp") return Unicode::utf8('&'); -+ if (ent == "apos") return Unicode::utf8('\''); -+ if (ent == "gt") return Unicode::utf8('>'); -+ if (ent == "lt") return Unicode::utf8('<'); -+ if (ent == "quot") return Unicode::utf8('"'); -+ if (ent[0] == '#') { -+ try { -+ int32_t cp; -+ cp = (ent[1] == 'x' ? stoi(ent.substr(2), nullptr, 16) : stoi(ent.substr(1))); -+ return Unicode::utf8(cp); -+ } -+ catch (exception&) {} -+ } -+ return ""; -+} -+ -+ -+static string strip_subset_prefix (const std::string &fontname) { -+ auto pos = fontname.find('+'); -+ if (pos != string::npos) -+ return fontname.substr(pos+1); -+ return fontname; -+} -+ -+ -+static string compose_utf8_char (const XMLElement *charElement, int glyph) { -+ string utf8 = to_utf8(parse_attr_value(charElement, "unicode")); -+ string nonlig; -+ for (XMLElement *elem=charElement->nextElement(); elem && !elem->hasAttribute("glyph"); elem=elem->nextElement()) -+ nonlig += to_utf8(parse_attr_value(elem, "unicode")); -+ if (!nonlig.empty()) { -+ if (uint32_t lig_cp = Unicode::toLigature(utf8+nonlig)) // known Unicode ligature? -+ utf8 = Unicode::utf8(lig_cp); -+ else if (glyph <= 0x1900) // unknown ligature fitting in Private Use Zone? -+ utf8 = Unicode::utf8(0xE000+glyph); -+ // TODO: handle unknown ligatures with glyph indices > 0x1900 -+ } -+ return utf8; -+} -+ -+ -+void PDFHandler::doFillText (XMLElement *trcFillTextElement) { -+ for (const XMLNode *textchild : *trcFillTextElement) { -+ if (const XMLElement *spanElement = textchild->toElement()) { -+ auto trm = parse_attr_value>(spanElement, "trm"); -+ if (trm.size() < 4 || trm[0] == 0) -+ continue; -+ auto fontname = strip_subset_prefix(parse_attr_value(spanElement, "font")); -+ string filename; -+ auto it = _objDict.find(fontname); -+ if (it != _objDict.end()) -+ filename = it->second.fname; -+ if (filename.empty()) -+ filename = "sys://"+fontname; -+ double ptsize = abs(trm[0]); -+ int fontID = FontManager::instance().registerFont(filename, ptsize); -+ if (fontID >= 0) { -+ auto font = font_cast(FontManager::instance().getFontById(fontID)); -+ if (font != _currentFont) { -+ _svg->setFont(FontManager::instance().fontID(font), *font); -+ _currentFont = font; -+ _svg->setX(0); -+ _svg->setY(0); -+ _x = _y = numeric_limits::max(); -+ } -+ Matrix fontMatrix({trm[0]/ptsize, -trm[2]/ptsize, 0, trm[1]/ptsize, -trm[3]/ptsize}); -+ fontMatrix.invert(); -+ Matrix matrix = parse_attr_value(trcFillTextElement, "transform"); -+ matrix.rmultiply(fontMatrix); -+ _svg->setMatrix(matrix); -+ string colorspace = parse_attr_value(trcFillTextElement, "colorspace"); -+ string colorval = parse_attr_value(trcFillTextElement, "color"); -+ _svg->setColor(to_color(colorspace, colorval)); -+ for (const XMLNode *spanchild : *spanElement) { -+ const XMLElement *charElement = spanchild->toElement(); -+ if (!charElement || charElement->name() != "g" || !charElement->hasAttribute("glyph")) -+ continue; -+ int glyph; -+ if (font->isCIDFont()) -+ glyph = parse_attr_value(charElement, "glyph"); -+ else { -+ glyph = font->charIndexByName(parse_attr_value(charElement, "glyph")); -+ if (glyph == 0) -+ glyph = parse_attr_value(charElement, "glyph"); -+ } -+ // determine code point of current character -+ string utf8; -+ if (charElement->hasAttribute("unicode")) -+ utf8 = parse_attr_value(charElement, "unicode"); -+ if (utf8.empty()) -+ utf8 = compose_utf8_char(charElement, glyph); -+ if (glyph == 0 || utf8.empty()) -+ continue; -+ DPair p(parse_attr_value(charElement, "x"), parse_attr_value(charElement, "y")); -+ p = fontMatrix * p; -+ if (abs(_x-p.x()) > 0.2) {_x = p.x(); _svg->setX(_x);} -+ if (abs(_y-p.y()) > 0.2) {_y = p.y(); _svg->setY(_y);} -+ font->mapCharToUnicode(glyph, Unicode::utf8ToCodepoint(utf8)); -+ if (font->verticalLayout()) -+ _y += font->charHeight(glyph); -+ else -+ _x += font->charWidth(glyph); -+ _svg->appendChar(glyph, p.x(), p.y()); -+ FontManager::instance().addUsedChar(*font, glyph); -+ } -+ } -+ } -+ } -+} -+ -+ -+void PDFHandler::doOpenTile (XMLElement *trcTileElement) { -+ auto patternSymbol = util::make_unique("symbol"); -+ patternSymbol->addAttribute("id", "tile"+ to_string(_numPatterns)); -+ patternSymbol->addAttribute("style", "overflow:visible"); -+ _svg->pushPageContext(std::move(patternSymbol)); -+} -+ -+ -+static unique_ptr rect_path_elem (const vector &coords) { -+ GraphicsPath path; -+ path.moveto(coords[0], coords[1]); -+ path.lineto(coords[2], coords[1]); -+ path.lineto(coords[2], coords[3]); -+ path.lineto(coords[0], coords[3]); -+ path.closepath(); -+ ostringstream oss; -+ path.writeSVG(oss, SVGTree::RELATIVE_PATH_CMDS); -+ auto pathElement = util::make_unique("path"); -+ pathElement->addAttribute("d", oss.str()); -+ return pathElement; -+} -+ -+ -+void PDFHandler::doCloseTile (XMLElement *trcTileElement) { -+ _svg->popPageContext(); // definition of symbol finished -+ auto xstep = parse_attr_value(trcTileElement, "xstep"); -+ auto ystep = parse_attr_value(trcTileElement, "ystep"); -+ if (xstep == 0 || ystep == 0) -+ return; -+ auto view = parse_attr_value>(trcTileElement, "view"); -+ auto patternElement = util::make_unique("pattern"); -+ patternElement->addAttribute("id", "pat"+ to_string(_numPatterns)); -+ patternElement->addAttribute("x", 0); -+ patternElement->addAttribute("y", 0); -+ patternElement->addAttribute("width", xstep); -+ patternElement->addAttribute("height", ystep); -+ patternElement->addAttribute("patternUnits", "userSpaceOnUse"); -+ -+ SVGElement *contextElement = patternElement.get(); -+ view.resize(4); -+ if (view[0] > 0 || view[2] > xstep || view[1] > 0 || view[3] > ystep) { -+ auto clipPathElement = util::make_unique("clipPath"); -+ clipPathElement->addAttribute("id", "patcp"+to_string(_numPatterns)); -+ auto pathElement = rect_path_elem(view); -+ clipPathElement->append(std::move(pathElement)); -+ patternElement->append(std::move(clipPathElement)); -+ -+ auto clipGroupElement = util::make_unique("g"); -+ clipGroupElement->setClipPathUrl("patcp"+to_string(_numPatterns)); -+ contextElement = clipGroupElement.get(); -+ patternElement->append(std::move(clipGroupElement)); -+ } -+ Matrix matrix = parse_attr_value(trcTileElement, "transform"); -+ auto transformGroupElement = util::make_unique("g"); -+ transformGroupElement->setTransform(matrix); -+ // Most SVG renderers don't support overflow:visible on patterns. Thus, parts of -+ // the pattern graphics that lie outside the tile area are clipped. To work around -+ // this, we place the pattern graphics at all 4 corners of the tile rectangle. This -+ // way, the outside parts of all quadrants are drawn inside as well so that adjacent -+ // tiles are enabled to compose the pattern. If the pattern graphics falls completely -+ // inside the tile area, the additional drawings are empty and thus redundant. For now, -+ // we keep them anyway. -+ Matrix invmatrix{matrix.get(0,0), matrix.get(0,1), 0, matrix.get(1,0), matrix.get(1,1)}; -+ invmatrix.invert(); -+ for (int i=0; i < 2; i++) { -+ for (int j=0; j < 2; j++) { -+ DPair p = invmatrix * DPair(xstep*i, ystep*j); -+ transformGroupElement->append(create_use_element(p.x(), p.y(), "tile"+to_string(_numPatterns))); -+ } -+ } -+ contextElement->append(std::move(transformGroupElement)); -+ _svg->appendToPage(std::move(patternElement)); -+ auto area = parse_attr_value>(trcTileElement, "area"); -+ area.resize(4); -+ auto pathElement = rect_path_elem(area); -+ pathElement->setFillPatternUrl("pat"+to_string(_numPatterns)); -+ pathElement->setTransform(matrix); -+ _svg->appendToPage(std::move(pathElement)); -+ _numPatterns++; -+} -+ -+ -+void PDFHandler::collectObjects () { -+ string tmpdir = FileSystem::tmpdir(); -+ _objDict = parse_pdf_dict(mtShow("pages/" + to_string(_pageno) + "/Resources/XObject")); -+ // replace referenced font IDs by actual IDs used for extracted fonts -+ for (auto &entry : _objDict) { -+ string objtype = mtShow(to_string(entry.second.num)+"/Type", SearchPattern(R"(/(\w+))", "$1")); -+ // store filenames of non-font object in object map -+ auto fnameIt = _extractedFiles.find(entry.second.num); -+ entry.second.fname = fnameIt != _extractedFiles.end() ? tmpdir+fnameIt->second : ""; -+ } -+ for (auto &entry : _extractedFiles) { -+ if (entry.second.substr(0, 5) == "font-") { -+ string filepath = tmpdir+entry.second; // path to font file -+ string fontname = strip_subset_prefix(FontEngine::instance().getPSName(filepath)); -+ _objDict.emplace(fontname, ObjID(entry.first, 0, filepath)); -+ } -+ } -+} -+ -+/////////////////////////////////////////////////////////////////////////////// -+ -+string PDFHandler::mutool (const string &cmd, bool readFromStderr) { -+ string out; -+ Process("mutool", cmd).run(&out, readFromStderr ? Process::PF_STDERR : Process::PF_STDOUT); -+ return out; -+} -+ -+ -+string PDFHandler::mutool (const string &cmd, const SearchPattern &pattern, bool readFromStderr) { -+ string out; -+ Process("mutool", cmd).run(&out, pattern, readFromStderr ? Process::PF_STDERR : Process::PF_STDOUT); -+ return out; -+} -+ -+ -+string PDFHandler::mtExtract (const string &fname, const SearchPattern &pattern) { -+ return mutool("extract -a "+fname, pattern); -+} -+ -+ -+/** Calls "mutool show" to retrieve select data from a PDF file. -+ * @param[in] fname name of PDF file -+ * @param[in] path path expression locating the requested data -+ * @param[in] fmtmode flag specifying the output format -+ * @return mutool output, result of the query */ -+string PDFHandler::mtShow (const string &fname, const string &path, char fmtmode) { -+ string cmd = "show -"; -+ cmd += fmtmode; -+ cmd += " " + fname + " " + path; -+ return mutool(cmd); -+} -+ -+ -+string PDFHandler::mtShow (const string &fname, const string &path, const SearchPattern &pattern, char fmtmode) { -+ string cmd = "show -"; -+ cmd += fmtmode; -+ cmd += " " + fname + " " + path; -+ return mutool(cmd, pattern); -+} -+ -+#if 0 -+int main (int argc, char *argv[]) { -+ if (argc < 2) -+ return 0; -+ SVGTree::USE_FONTS=true; -+ SVGTree::FONT_FORMAT = FontWriter::FontFormat::SVG; -+ SVGTree svg; -+ PDFHandler page(svg); -+ page.convert(argv[1], argc > 2 ? stoi(argv[2]) : 1); -+ svg.write(cout); -+} -+#endif -diff -up texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/PDFHandler.hpp.301 texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/PDFHandler.hpp ---- texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/PDFHandler.hpp.301 2023-01-17 15:53:51.718205473 -0500 -+++ texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/PDFHandler.hpp 2023-01-17 15:53:51.718205473 -0500 -@@ -0,0 +1,109 @@ -+/************************************************************************* -+** PDFHandler.hpp ** -+** ** -+** This file is part of dvisvgm -- a fast DVI to SVG converter ** -+** Copyright (C) 2005-2023 Martin Gieseking ** -+** ** -+** 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 . ** -+*************************************************************************/ -+ -+#ifndef PDFHANDLER_HPP -+#define PDFHANDLER_HPP -+ -+#include -+#include -+#include "BoundingBox.hpp" -+#include "Process.hpp" -+#include "SVGTree.hpp" -+ -+class XMLElement; -+ -+class PDFHandler { -+ public: -+ struct ObjID { -+ ObjID () : num(-1), gen(0) {} -+ ObjID (int number, int generation) : num(number), gen(generation) {} -+ ObjID (int number, int generation, std::string filename) : num(number), gen(generation), fname(std::move(filename)) {} -+ bool valid () const {return num >= 0;} -+ int num, gen; ///< object and generation number -+ std::string fname; -+ }; -+ -+ protected: -+ struct ClipPathData { -+ ClipPathData (std::string cpid, SVGElement *group) : id(std::move(cpid)), groupElement(group) {} -+ std::string id; -+ SVGElement *groupElement; -+ }; -+ -+ public: -+ PDFHandler () =default; -+ explicit PDFHandler (SVGTree &svg) : _svg(&svg) {} -+ PDFHandler (const PDFHandler &page) =delete; -+ PDFHandler (PDFHandler &&page) =delete; -+ ~PDFHandler (); -+ void assignSVGTree (SVGTree &svg) {_svg = &svg;} -+ const BoundingBox& bbox () const {return _bbox;} -+ std::unique_ptr convert (const std::string &fname, int pageno, std::unique_ptr context=nullptr); -+ static std::string mutoolVersion (); -+ static BoundingBox bbox (std::string &fname, int pageno); -+ static bool available () {return !mutoolVersion().empty();} -+ -+ protected: -+ static std::string mutool (const std::string &cmd, bool readFromStderr=false); -+ static std::string mutool (const std::string &cmd, const SearchPattern &pattern, bool readFromStderr=false); -+ static std::string mtExtract (const std::string &fname, const SearchPattern &pattern); -+ static std::string mtShow (const std::string &fname, const std::string &path, char fmtmode= 'b'); -+ static std::string mtShow (const std::string &fname, const std::string &path, const SearchPattern &pattern, char fmtmode= 'b'); -+ std::string mtShow (const std::string &path, char fmtmode= 'b') const {return mtShow(_fname, path, fmtmode);} -+ std::string mtShow (const std::string &path, const SearchPattern &pattern, char fmtmode= 'b') const { -+ return mtShow(_fname, path, pattern, fmtmode); -+ } -+ void initFile (const std::string &fname); -+ void finishFile (); -+ void initPage (int pageno, std::unique_ptr context); -+ std::unique_ptr finishPage (); -+ void collectObjects (); -+ void elementOpened (XMLElement *trcElement); -+ void elementClosed (XMLElement *trcElement); -+ void doClipPath (XMLElement *trcClipPathElement); -+ void doClipStrokePath (XMLElement *trcClipStrokePathElement); -+ void doClipText (XMLElement *trcClipTextElement); -+ void doPopClip (XMLElement *trcPopClipElement); -+ void doFillPath (XMLElement *trcFillPathElement); -+ void doStrokePath (XMLElement *trcStrokePathElement); -+ void doFillImage (XMLElement *trcFillImageElement); -+ void doFillText (XMLElement *trcFillTextElement); -+ void doOpenTile (XMLElement *trcTileElement); -+ void doCloseTile (XMLElement *trcTileElement); -+ -+ private: -+ std::string _fname; -+ int _pageno=0; -+ int _numPages=0; -+ std::map _extractedFiles; -+ std::map _objDict; ///< object names => object IDs -+ std::vector _imgSeq; -+ NativeFont *_currentFont=nullptr; ///< currently selected font -+ size_t _numClipPath=0; ///< number of clipping paths processed -+ size_t _numImages=0; ///< number of embedded images already processed -+ size_t _numPatterns=0; ///< number of patterns processed -+ std::stack _clipPathStack; -+ double _x=0, _y=0; ///< current character position -+ BoundingBox _bbox; ///< bounding box of current/last page processed -+ SVGTree *_svg=nullptr; -+ XMLElement *_context=nullptr; ///< node holding the generated page contents -+}; -+ -+#endif -diff -up texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/PDFParser.cpp.301 texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/PDFParser.cpp ---- texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/PDFParser.cpp.301 2022-01-21 12:25:16.000000000 -0500 -+++ texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/PDFParser.cpp 2023-01-17 15:53:51.718205473 -0500 -@@ -2,7 +2,7 @@ - ** PDFParser.cpp ** - ** ** - ** This file is part of dvisvgm -- a fast DVI to SVG converter ** --** Copyright (C) 2005-2022 Martin Gieseking ** -+** Copyright (C) 2005-2023 Martin Gieseking ** - ** ** - ** This program is free software; you can redistribute it and/or ** - ** modify it under the terms of the GNU General Public License as ** -@@ -207,7 +207,7 @@ static bool parse_number (const string & - if (str.empty()) - return false; - try { -- size_t dotpos = str.find('.'); -+ auto dotpos = str.find('.'); - if (dotpos == string::npos) { // not a real number? - size_t count; - nv = NumberVariant(stoi(str, &count, 10)); // then try to convert str to int -@@ -218,7 +218,7 @@ static bool parse_number (const string & - // which is not allowed in PDF real number constants - if (!postdot.empty() && isdigit(postdot[0])) { - size_t count; -- stoi(postdot, &count, 10); -+ static_cast(stoi(postdot, &count, 10)); - if (count != postdot.length()) - return false; - } -@@ -310,7 +310,7 @@ static PDFObjectRef parse_object_ref (ve - - /** Replaces all occurences of "#XX" (XX are two hex digits) with the corresponding character. */ - static string& subst_numeric_chars (string &str) { -- for (size_t pos=str.find('#'); pos != string::npos; pos=str.find('#', pos+1)) { -+ for (auto pos=str.find('#'); pos != string::npos; pos=str.find('#', pos+1)) { - if (pos > str.length()-3) - throw PDFException("sign character # must be followed by two hexadecimal digits"); - if (isxdigit(str[pos+1]) && isxdigit(str[pos+2])) { -diff -up texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/PDFParser.hpp.301 texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/PDFParser.hpp ---- texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/PDFParser.hpp.301 2022-01-21 12:25:16.000000000 -0500 -+++ texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/PDFParser.hpp 2023-01-17 15:53:51.718205473 -0500 -@@ -2,7 +2,7 @@ - ** PDFParser.hpp ** - ** ** - ** This file is part of dvisvgm -- a fast DVI to SVG converter ** --** Copyright (C) 2005-2022 Martin Gieseking ** -+** Copyright (C) 2005-2023 Martin Gieseking ** - ** ** - ** This program is free software; you can redistribute it and/or ** - ** modify it under the terms of the GNU General Public License as ** -diff -up texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/PdfSpecialHandler.cpp.301 texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/PdfSpecialHandler.cpp ---- texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/PdfSpecialHandler.cpp.301 2022-01-21 12:25:16.000000000 -0500 -+++ texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/PdfSpecialHandler.cpp 2023-01-17 15:53:51.718205473 -0500 -@@ -2,7 +2,7 @@ - ** PdfSpecialHandler.cpp ** - ** ** - ** This file is part of dvisvgm -- a fast DVI to SVG converter ** --** Copyright (C) 2005-2022 Martin Gieseking ** -+** Copyright (C) 2005-2023 Martin Gieseking ** - ** ** - ** This program is free software; you can redistribute it and/or ** - ** modify it under the terms of the GNU General Public License as ** -diff -up texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/PdfSpecialHandler.hpp.301 texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/PdfSpecialHandler.hpp ---- texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/PdfSpecialHandler.hpp.301 2022-01-21 12:25:16.000000000 -0500 -+++ texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/PdfSpecialHandler.hpp 2023-01-17 15:53:51.718205473 -0500 -@@ -2,7 +2,7 @@ - ** PdfSpecialHandler.hpp ** - ** ** - ** This file is part of dvisvgm -- a fast DVI to SVG converter ** --** Copyright (C) 2005-2022 Martin Gieseking ** -+** Copyright (C) 2005-2023 Martin Gieseking ** - ** ** - ** This program is free software; you can redistribute it and/or ** - ** modify it under the terms of the GNU General Public License as ** -diff -up texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/PDFToSVG.cpp.301 texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/PDFToSVG.cpp ---- texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/PDFToSVG.cpp.301 2023-01-17 15:53:51.718205473 -0500 -+++ texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/PDFToSVG.cpp 2023-01-17 15:53:51.718205473 -0500 -@@ -0,0 +1,92 @@ -+/************************************************************************* -+** PDFToSVG.cpp ** -+** ** -+** This file is part of dvisvgm -- a fast DVI to SVG converter ** -+** Copyright (C) 2005-2023 Martin Gieseking ** -+** ** -+** 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 . ** -+*************************************************************************/ -+ -+#include -+#include "Message.hpp" -+#include "PDFToSVG.hpp" -+ -+using namespace std; -+ -+ -+PDFToSVG::PDFToSVG (const string &fname, SVGOutputBase &out) : ImageToSVG(fname, out) { -+ _useGS = (gsVersion() > 0 && gsVersion() < 10010); -+ if (const char *pdfproc = getenv("DVISVGM_PDF_PROC")) { -+ if (strcmp(pdfproc, "gs") == 0) -+ _useGS = true; -+ else if (strcmp(pdfproc, "mutool") == 0) -+ _useGS = false; -+ } -+ if (!_useGS) -+ _pdfHandler.assignSVGTree(_svg); -+} -+ -+ -+void PDFToSVG::checkGSAndFileFormat () { -+ if (_useGS) -+ ImageToSVG::checkGSAndFileFormat(); -+ else { -+ if (!PDFHandler::available()) { -+ ostringstream oss; -+ if (gsVersion() > 0) { -+ oss << "To process PDF files, either Ghostscript < 10.1 or mutool is required.\n"; -+ oss << "The installed Ghostscript version " << Ghostscript().revisionstr() << " isn't supported.\n"; -+ throw MessageException(oss.str()); -+ } -+ } -+ } -+ if (!imageIsValid()) -+ throw MessageException("invalid "+imageFormat()+" file"); -+} -+ -+ -+/** Returns the total number of pages in the PDF file. */ -+int PDFToSVG::totalPageCount () const { -+ if (_totalPageCount < 0) { -+ _totalPageCount = psInterpreter().pdfPageCount(filename()); -+ if (_totalPageCount < 1) -+ throw MessageException("can't retrieve number of pages from file " + filename()); -+ } -+ return _totalPageCount; -+} -+ -+ -+bool PDFToSVG::imageIsValid () const { -+ ifstream ifs(filename()); -+ if (ifs) { -+ char buf[16]; -+ ifs.getline(buf, 16); -+ return std::strncmp(buf, "%PDF-1.", 7) == 0; -+ } -+ return false; -+} -+ -+ -+void PDFToSVG::convert (int pageno) { -+ if (_useGS) -+ ImageToSVG::convert(pageno); -+ else { -+ Message::mstream().indent(0); -+ Message::mstream(false, Message::MC_PAGE_NUMBER) << "processing PDF file\n"; -+ Message::mstream().indent(1); -+ _pdfHandler.convert(filename(), pageno); -+ embed(_pdfHandler.bbox()); -+ writeSVG(pageno); -+ } -+} -\ No newline at end of file -diff -up texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/PDFToSVG.hpp.301 texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/PDFToSVG.hpp ---- texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/PDFToSVG.hpp.301 2022-01-21 12:25:16.000000000 -0500 -+++ texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/PDFToSVG.hpp 2023-01-17 15:53:51.718205473 -0500 -@@ -2,7 +2,7 @@ - ** PDFToSVG.hpp ** - ** ** - ** This file is part of dvisvgm -- a fast DVI to SVG converter ** --** Copyright (C) 2005-2022 Martin Gieseking ** -+** Copyright (C) 2005-2023 Martin Gieseking ** - ** ** - ** This program is free software; you can redistribute it and/or ** - ** modify it under the terms of the GNU General Public License as ** -@@ -23,40 +23,27 @@ - - #include - #include "ImageToSVG.hpp" -+#include "PDFHandler.hpp" - --class PsSpecialHandler; - - class PDFToSVG : public ImageToSVG { - public: -- PDFToSVG (const std::string &fname, SVGOutputBase &out) : ImageToSVG(fname, out) {} -+ PDFToSVG (const std::string &fname, SVGOutputBase &out); - bool isSinglePageFormat() const override {return false;} -- -- /** Returns the total number of pages in the PDF file. */ -- int totalPageCount() const override { -- if (_totalPageCount < 0) { -- _totalPageCount = psInterpreter().pdfPageCount(filename()); -- if (_totalPageCount < 1) -- throw MessageException("can't retrieve number of pages from file " + filename()); -- } -- return _totalPageCount; -- } -+ int totalPageCount() const override; -+ void convert (int pageno) override; - - protected: -- bool imageIsValid () const override { -- std::ifstream ifs(filename()); -- if (ifs) { -- char buf[16]; -- ifs.getline(buf, 16); -- return std::strncmp(buf, "%PDF-1.", 7) == 0; -- } -- return false; -- } -+ void checkGSAndFileFormat () override; -+ bool imageIsValid () const override; - std::string imageFormat () const override {return "PDF";} -- BoundingBox imageBBox () const override {return BoundingBox();} -+ BoundingBox imageBBox () const override {return {};} - std::string psSpecialCmd () const override {return "pdffile=";} - - private: - mutable int _totalPageCount = -1; -+ PDFHandler _pdfHandler; -+ bool _useGS = true; - }; - - #endif -diff -up texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/PreScanDVIReader.cpp.301 texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/PreScanDVIReader.cpp ---- texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/PreScanDVIReader.cpp.301 2022-01-21 12:25:16.000000000 -0500 -+++ texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/PreScanDVIReader.cpp 2023-01-18 10:01:21.118411893 -0500 -@@ -2,7 +2,7 @@ - ** PreScanDVIReader.cpp ** - ** ** - ** This file is part of dvisvgm -- a fast DVI to SVG converter ** --** Copyright (C) 2005-2022 Martin Gieseking ** -+** Copyright (C) 2005-2023 Martin Gieseking ** - ** ** - ** This program is free software; you can redistribute it and/or ** - ** modify it under the terms of the GNU General Public License as ** -@@ -18,6 +18,7 @@ - ** along with this program; if not, see . ** - *************************************************************************/ - -+#include - #include "DVIActions.hpp" - #include "PreScanDVIReader.hpp" - -diff -up texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/PreScanDVIReader.hpp.301 texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/PreScanDVIReader.hpp ---- texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/PreScanDVIReader.hpp.301 2022-01-21 12:25:16.000000000 -0500 -+++ texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/PreScanDVIReader.hpp 2023-01-17 15:53:51.718205473 -0500 -@@ -2,7 +2,7 @@ - ** PreScanDVIReader.hpp ** - ** ** - ** This file is part of dvisvgm -- a fast DVI to SVG converter ** --** Copyright (C) 2005-2022 Martin Gieseking ** -+** Copyright (C) 2005-2023 Martin Gieseking ** - ** ** - ** This program is free software; you can redistribute it and/or ** - ** modify it under the terms of the GNU General Public License as ** -diff -up texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/Process.cpp.301 texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/Process.cpp ---- texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/Process.cpp.301 2022-01-21 12:25:16.000000000 -0500 -+++ texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/Process.cpp 2023-01-17 15:53:51.718205473 -0500 -@@ -2,7 +2,7 @@ - ** Process.cpp ** - ** ** - ** This file is part of dvisvgm -- a fast DVI to SVG converter ** --** Copyright (C) 2005-2022 Martin Gieseking ** -+** Copyright (C) 2005-2023 Martin Gieseking ** - ** ** - ** This program is free software; you can redistribute it and/or ** - ** modify it under the terms of the GNU General Public License as ** -@@ -29,6 +29,7 @@ - #endif - - #include -+#include - #include "FileSystem.hpp" - #include "Process.hpp" - #include "SignalHandler.hpp" -@@ -43,25 +44,60 @@ class Subprocess { - enum class State {RUNNING, FINISHED, FAILED}; - - public: -- Subprocess () =default; -+ Subprocess () : _rdbuf(4096) {} - Subprocess (const Subprocess&) =delete; - Subprocess (Subprocess&&) =delete; - ~Subprocess (); -- bool run (const string &cmd, string params); -- bool readFromPipe (string &out); -+ bool run (const string &cmd, string params, Process::PipeFlags flags); -+ bool readFromPipe (string &out, const SearchPattern &pattern); - State state (); - -+ protected: -+ string read (const SearchPattern &pattern, bool *error=nullptr); -+ size_t readFromPipe (char *buf, size_t size, bool *error=nullptr) const; -+ - private: -+ vector _rdbuf; -+ size_t _bufstartpos = 0; - #ifdef _WIN32 -- HANDLE _pipeReadHandle=NULL; ///< handle of read end of pipe -- HANDLE _childProcHandle=NULL; ///< handle of child process -+ HANDLE _pipeReadHandle = nullptr; ///< handle of read end of pipe -+ HANDLE _childProcHandle = nullptr; ///< handle of child process - #else -- int _readfd=-1; ///< file descriptor of read end of pipe -- pid_t _pid=-1; ///< PID of the subprocess -+ int _readfd = -1; ///< file descriptor of read end of pipe -+ pid_t _pid = -1; ///< PID of the subprocess - #endif - }; - - -+string Subprocess::read (const SearchPattern &pattern, bool *error) { -+ string result; -+ const size_t bytesRead = readFromPipe(&_rdbuf[_bufstartpos], _rdbuf.size()-_bufstartpos, error); -+ const size_t bufendpos = _bufstartpos + bytesRead; -+ smatch matches; -+ size_t matchendpos= bufendpos; // buffer position after last match -+ if (pattern.search.empty()) -+ result.assign(_rdbuf.data(), matchendpos); -+ else { -+ bool matched=false; -+ regex re(pattern.search); -+ for (auto it = cregex_iterator(&_rdbuf[0], &_rdbuf[bufendpos], re); it != cregex_iterator(); ++it) { -+ result += it->format(pattern.replace, regex_constants::format_no_copy); -+ matchendpos = it->position() + it->length(); -+ matched = true; -+ } -+ const size_t MAX_OVERLAP=50; -+ size_t overlappos; -+ if (matched) -+ overlappos = max(bufendpos - min(bufendpos, MAX_OVERLAP), matchendpos); -+ else -+ overlappos = matchendpos - min(MAX_OVERLAP, matchendpos); -+ copy(_rdbuf.begin()+overlappos, _rdbuf.begin()+bufendpos, _rdbuf.begin()); -+ _bufstartpos = bufendpos-overlappos; -+ } -+ return result; -+} -+ -+ - Process::Process (string cmd, string paramstr) - : _cmd(std::move(cmd)), _paramstr(std::move(paramstr)) - { -@@ -72,14 +108,20 @@ Process::Process (string cmd, string par - * @param[out] out takes the output written to stdout by the executed subprocess - * @return true if process terminated properly - * @throw SignalException if CTRL-C was pressed during execution */ --bool Process::run (string *out) { -+ -+bool Process::run (string *out, PipeFlags flags) { -+ return run(out, SearchPattern(), flags); -+} -+ -+ -+bool Process::run (string *out, const SearchPattern &pattern, PipeFlags flags) { - Subprocess subprocess; -- if (!subprocess.run(_cmd, _paramstr)) -+ if (!subprocess.run(_cmd, _paramstr, flags)) - return false; - for (;;) { - if (out) { - out->clear(); -- subprocess.readFromPipe(*out); -+ subprocess.readFromPipe(*out, pattern); - } - Subprocess::State state = subprocess.state(); - if (state != Subprocess::State::RUNNING) -@@ -94,11 +136,11 @@ bool Process::run (string *out) { - * @param[out] out takes the output written to stdout by the executed process - * @return true if process terminated properly - * @throw SignalException if CTRL-C was pressed during execution */ --bool Process::run (const string &dir, string *out) { -+bool Process::run (const string &dir, string *out, PipeFlags flags) { - bool ret = false; - string cwd = FileSystem::getcwd(); - if (FileSystem::chdir(dir)) { -- ret = run(out); -+ ret = run(out, flags); - ret &= FileSystem::chdir(cwd); - } - return ret; -@@ -110,46 +152,61 @@ bool Process::run (const string &dir, st - - static inline void close_and_zero_handle (HANDLE &handle) { - CloseHandle(handle); -- handle = NULL; -+ handle = nullptr; - } - - - Subprocess::~Subprocess () { -- if (_pipeReadHandle != NULL) -+ if (_pipeReadHandle != nullptr) - CloseHandle(_pipeReadHandle); -- if (_childProcHandle != NULL) { -+ if (_childProcHandle != nullptr) { - TerminateProcess(_childProcHandle, 1); - CloseHandle(_childProcHandle); - } - } - - --/** Retrieves output generated by child process. -+/** Retrieves output generated by the child process and optionally filters -+ * the lines by a regular expression and replaces them. If the search pattern -+ * is not empty and the line currently processed doesn't match, the line isn't -+ * appended to the output string. - * @param[out] out read output is appended to this string -+ * @param[in] searchPattern regex pattern applied to each line -+ * @param[in] replacePattern replacement for all lines matching the search pattern - * @returns false on errors */ --bool Subprocess::readFromPipe (string &out) { -+bool Subprocess::readFromPipe (string &out, const SearchPattern &pattern) { - if (!_pipeReadHandle) - return false; -- -- bool success=false; -+ bool finished=false; - bool processExited=false; - DWORD len=0; -- while (PeekNamedPipe(_pipeReadHandle, NULL, 0, NULL, &len, NULL)) { // prevent blocking -+ while (PeekNamedPipe(_pipeReadHandle, nullptr, 0, nullptr, &len, nullptr)) { // prevent blocking - if (len == 0) { - if (processExited) - break; - // process still busy - processExited = (!_childProcHandle || WaitForSingleObject(_childProcHandle, 100) != WAIT_TIMEOUT); - } -- else { -- char buf[4096]; -- success = ReadFile(_pipeReadHandle, buf, sizeof(buf), &len, NULL); -- if (!success || len == 0) -- break; -- out.append(buf, len); -- } -+ string buf = read(pattern, &finished); -+ if (buf.empty()) -+ break; -+ out.append(buf); - } -- return success; -+ return !finished; -+} -+ -+ -+/** Reads a sequence of bytes from the pipe into a buffer. The function stops reading -+ * when either all bytes have been read from the pipe or the buffer is completely filled. -+ * @param[in] buf pointer to start of the buffer -+ * @param[in] size maximal number of bytes that can be stored in the buffer -+ * @return number of bytes read */ -+size_t Subprocess::readFromPipe (char *buf, size_t size, bool *error) const { -+ DWORD bytesRead; -+ bool success = ReadFile(_pipeReadHandle, buf, size, &bytesRead, nullptr); -+ if (error) -+ *error = !success; -+ return success ? bytesRead : 0; - } - - -@@ -157,7 +214,7 @@ bool Subprocess::readFromPipe (string &o - * @param[in] cmd name of command to execute - * @param[in] paramstr parameters required by command - * @returns true if child process started properly */ --bool Subprocess::run (const string &cmd, string paramstr) { -+bool Subprocess::run (const string &cmd, string paramstr, Process::PipeFlags flags) { - SECURITY_ATTRIBUTES securityAttribs; - ZeroMemory(&securityAttribs, sizeof(SECURITY_ATTRIBUTES)); - securityAttribs.nLength = sizeof(SECURITY_ATTRIBUTES); -@@ -168,7 +225,7 @@ bool Subprocess::run (const string &cmd, - return false; - - SetHandleInformation(_pipeReadHandle, HANDLE_FLAG_INHERIT, 0); -- HANDLE nullFile = CreateFile("NUL", GENERIC_READ, FILE_SHARE_READ | FILE_SHARE_WRITE | FILE_SHARE_DELETE, &securityAttribs, OPEN_EXISTING, 0, NULL); -+ HANDLE nullFile = CreateFile("NUL", GENERIC_READ, FILE_SHARE_READ | FILE_SHARE_WRITE | FILE_SHARE_DELETE, &securityAttribs, OPEN_EXISTING, 0, nullptr); - bool success = false; - if (nullFile != INVALID_HANDLE_VALUE) { - STARTUPINFO startupInfo; -@@ -176,15 +233,15 @@ bool Subprocess::run (const string &cmd, - startupInfo.cb = sizeof(STARTUPINFO); - startupInfo.dwFlags = STARTF_USESTDHANDLES; - startupInfo.hStdInput = nullFile; -- startupInfo.hStdOutput = pipeWriteHandle; -- startupInfo.hStdError = GetStdHandle(STD_ERROR_HANDLE); -+ startupInfo.hStdOutput = (flags & Process::PF_STDOUT) ? pipeWriteHandle : nullFile; -+ startupInfo.hStdError = (flags & Process::PF_STDERR) ? pipeWriteHandle : nullFile; - - PROCESS_INFORMATION processInfo; - ZeroMemory(&processInfo, sizeof(PROCESS_INFORMATION)); - - string cmdline = cmd + " " + paramstr; - // put subprocess in separate process group to prevent its termination in case of CTRL-C -- success = CreateProcess(NULL, (LPSTR)cmdline.c_str(), NULL, NULL, true, CREATE_NEW_PROCESS_GROUP, NULL, NULL, &startupInfo, &processInfo); -+ success = CreateProcess(nullptr, (LPSTR)cmdline.c_str(), nullptr, nullptr, true, CREATE_NEW_PROCESS_GROUP, nullptr, nullptr, &startupInfo, &processInfo); - if (success) { - _childProcHandle = processInfo.hProcess; - CloseHandle(processInfo.hThread); -@@ -222,22 +279,31 @@ Subprocess::~Subprocess () { - /** Retrieves output generated by child process. - * @param[out] out read output is appended to this string - * @returns false on errors */ --bool Subprocess::readFromPipe (string &out) { -+bool Subprocess::readFromPipe (string &out, const SearchPattern &pattern) { - if (_readfd < 0 || _pid < 0) - return false; -- -- char buf[1024]; -- ssize_t len; -- while ((len = read(_readfd, buf, sizeof(buf))) > 0) -- out.append(buf, len); -- if (len < 0) { -+ bool finished=false; -+ for (;;) { -+ string buf = read(pattern, &finished); -+ if (buf.empty()) -+ break; -+ out.append(buf); -+ } -+ if (finished) { - close(_readfd); - _readfd = -1; - } -- return len >= 0; -+ return !finished; - } - - -+size_t Subprocess::readFromPipe (char *buf, size_t size, bool *error) const { -+ auto len = ::read(_readfd, buf, size); -+ if (error) -+ *error = len < 0; -+ return len >= 0 ? size_t(len) : 0; -+} -+ - /** Extracts whitespace-separated parameters from a string. - * @param[in,out] paramstr the parameter string - * @param[out] params vector holding pointers to the extracted parameters */ -@@ -272,7 +338,7 @@ static void split_paramstr (string ¶ - * @param[in] cmd name of command to execute or absolute path to executable - * @param[in] paramstr parameters required by the command - * @returns true if child process started properly */ --bool Subprocess::run (const string &cmd, string paramstr) { -+bool Subprocess::run (const string &cmd, string paramstr, Process::PipeFlags flags) { - int pipefd[2]; - if (cmd.empty() || pipe(pipefd) < 0) - return false; -@@ -284,10 +350,12 @@ bool Subprocess::run (const string &cmd, - return false; - } - if (_pid == 0) { // child process -- dup2(pipefd[1], STDOUT_FILENO); // redirect stdout to the pipe -- dup2(pipefd[1], STDERR_FILENO); // redirect stderr to the pipe -+ int devnull = open("/dev/null", O_WRONLY); -+ dup2((flags & Process::PF_STDOUT) ? pipefd[1] : devnull, STDOUT_FILENO); // redirect stdout to the pipe -+ dup2((flags & Process::PF_STDERR) ? pipefd[1] : devnull, STDERR_FILENO); // redirect stdout to the pipe - close(pipefd[0]); - close(pipefd[1]); -+ close(devnull); - - vector params; - params.push_back(cmd.c_str()); -diff -up texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/Process.hpp.301 texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/Process.hpp ---- texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/Process.hpp.301 2022-01-21 12:25:16.000000000 -0500 -+++ texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/Process.hpp 2023-01-17 15:53:51.719205485 -0500 -@@ -2,7 +2,7 @@ - ** Process.hpp ** - ** ** - ** This file is part of dvisvgm -- a fast DVI to SVG converter ** --** Copyright (C) 2005-2022 Martin Gieseking ** -+** Copyright (C) 2005-2023 Martin Gieseking ** - ** ** - ** This program is free software; you can redistribute it and/or ** - ** modify it under the terms of the GNU General Public License as ** -@@ -23,13 +23,30 @@ - - #include - -+struct SearchPattern { -+ SearchPattern () =default; -+ -+ explicit SearchPattern (std::string searchRegex) -+ : search(std::move(searchRegex)) {} -+ -+ SearchPattern (std::string searchRegex, std::string replExpr) -+ : search(std::move(searchRegex)), replace(std::move(replExpr)) {} -+ -+ std::string search; -+ std::string replace; -+}; -+ -+ - class Process { - public: -+ enum PipeFlags {PF_STDOUT=1, PF_STDERR=2}; -+ - Process (std::string cmd, std::string paramstr); - Process (const Process &orig) =delete; - Process (Process &&orig) =delete; -- bool run (std::string *out=nullptr); -- bool run (const std::string &dir, std::string *out=nullptr); -+ bool run (std::string *out=nullptr, PipeFlags flags=PF_STDOUT); -+ bool run (const std::string &dir, std::string *out=nullptr, PipeFlags flags=PF_STDOUT); -+ bool run (std::string *out, const SearchPattern &pattern, PipeFlags flags=PF_STDOUT); - - private: - std::string _cmd; -diff -up texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/psdefs.cpp.301 texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/psdefs.cpp ---- texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/psdefs.cpp.301 2022-01-21 12:25:16.000000000 -0500 -+++ texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/psdefs.cpp 2023-01-17 15:53:51.719205485 -0500 -@@ -2,7 +2,7 @@ - ** psdefs.cpp ** - ** ** - ** This file is part of dvisvgm -- a fast DVI to SVG converter ** --** Copyright (C) 2005-2022 Martin Gieseking ** -+** Copyright (C) 2005-2023 Martin Gieseking ** - ** ** - ** This program is free software; you can redistribute it and/or ** - ** modify it under the terms of the GNU General Public License as ** -diff -up texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/PSFilter.hpp.301 texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/PSFilter.hpp ---- texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/PSFilter.hpp.301 2022-01-21 12:25:16.000000000 -0500 -+++ texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/PSFilter.hpp 2023-01-17 15:53:51.719205485 -0500 -@@ -2,7 +2,7 @@ - ** PSFilter.hpp ** - ** ** - ** This file is part of dvisvgm -- a fast DVI to SVG converter ** --** Copyright (C) 2005-2022 Martin Gieseking ** -+** Copyright (C) 2005-2023 Martin Gieseking ** - ** ** - ** This program is free software; you can redistribute it and/or ** - ** modify it under the terms of the GNU General Public License as ** -diff -up texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/PSInterpreter.cpp.301 texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/PSInterpreter.cpp ---- texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/PSInterpreter.cpp.301 2022-01-21 12:25:16.000000000 -0500 -+++ texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/PSInterpreter.cpp 2023-01-17 15:53:51.719205485 -0500 -@@ -2,7 +2,7 @@ - ** PSInterpreter.cpp ** - ** ** - ** This file is part of dvisvgm -- a fast DVI to SVG converter ** --** Copyright (C) 2005-2022 Martin Gieseking ** -+** Copyright (C) 2005-2023 Martin Gieseking ** - ** ** - ** This program is free software; you can redistribute it and/or ** - ** modify it under the terms of the GNU General Public License as ** -@@ -63,6 +63,12 @@ void PSInterpreter::init () { - gsargs.emplace_back("-dDELAYSAFER"); - gsargs.emplace_back("-dALLOWPSTRANSPARENCY"); - } -+ // GS 9.55.0 introduced a new, C-based PDF interpreter which is enabled by default -+ // as of GS 9.56.0. Since dvisvgm relies on the old PS-based interpreter for its -+ // PDF support, we try to disable the new one. -+ // https://www.ghostscript.com/doc/9.56.0/Use.htm#PDF_switches -+ if (gsrev >= 9560) -+ gsargs.emplace_back("-dNEWPDF=false"); - } - _gs.init(gsargs.size(), gsargs.data(), this); - _gs.set_stdio(input, output, error); -@@ -75,6 +81,16 @@ void PSInterpreter::init () { - } - - -+/** Sets or replaces the filter applied to the PS code. -+ * @param[in] filter the new filter being used -+ * @return the previous, replaced filter (nullptr if there was none) */ -+PSFilter* PSInterpreter::setFilter (PSFilter *filter) { -+ PSFilter *prevFilter = _filter; -+ _filter = filter; -+ return prevFilter; -+} -+ -+ - PSActions* PSInterpreter::setActions (PSActions *actions) { - PSActions *old_actions = _actions; - _actions = actions; -diff -up texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/PSInterpreter.hpp.301 texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/PSInterpreter.hpp ---- texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/PSInterpreter.hpp.301 2022-01-21 12:25:16.000000000 -0500 -+++ texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/PSInterpreter.hpp 2023-01-17 15:53:51.719205485 -0500 -@@ -2,7 +2,7 @@ - ** PSInterpreter.hpp ** - ** ** - ** This file is part of dvisvgm -- a fast DVI to SVG converter ** --** Copyright (C) 2005-2022 Martin Gieseking ** -+** Copyright (C) 2005-2023 Martin Gieseking ** - ** ** - ** This program is free software; you can redistribute it and/or ** - ** modify it under the terms of the GNU General Public License as ** -@@ -108,13 +108,14 @@ class PSInterpreter { - bool executeRaw (const std::string &str, int n); - bool active () const {return _mode != PS_QUIT;} - void limit (size_t max_bytes) {_bytesToRead = max_bytes;} -- void setFilter (PSFilter *filter) {_filter = filter;} -+ PSFilter* setFilter (PSFilter *filter); - PSActions* setActions (PSActions *actions); - int pdfPageCount (const std::string &fname); - BoundingBox pdfPageBox (const std::string &fname, int pageno); - const std::vector& rawData () const {return _rawData;} - bool setImageDevice (const std::string &deviceStr); - bool hasFullOpacitySupport () const {return _gs.revision() >= 952;} -+ bool supportsPDF () const {return _gs.revision() > 0 && _gs.revision() < 10010;} - static std::vector getImageDeviceInfos (); - static void listImageDeviceInfos (std::ostream &os); - static bool imageDeviceKnown (std::string deviceStr); -diff -up texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/PSPattern.cpp.301 texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/PSPattern.cpp ---- texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/PSPattern.cpp.301 2022-02-23 17:20:08.000000000 -0500 -+++ texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/PSPattern.cpp 2023-01-18 10:01:35.946586393 -0500 -@@ -2,7 +2,7 @@ - ** PSPattern.cpp ** - ** ** - ** This file is part of dvisvgm -- a fast DVI to SVG converter ** --** Copyright (C) 2005-2022 Martin Gieseking ** -+** Copyright (C) 2005-2023 Martin Gieseking ** - ** ** - ** This program is free software; you can redistribute it and/or ** - ** modify it under the terms of the GNU General Public License as ** -@@ -19,6 +19,7 @@ - *************************************************************************/ - - #include -+#include - #include - #include - #include "BoundingBox.hpp" -diff -up texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/PSPattern.hpp.301 texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/PSPattern.hpp ---- texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/PSPattern.hpp.301 2022-01-21 12:25:16.000000000 -0500 -+++ texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/PSPattern.hpp 2023-01-17 15:53:51.719205485 -0500 -@@ -2,7 +2,7 @@ - ** PSPattern.hpp ** - ** ** - ** This file is part of dvisvgm -- a fast DVI to SVG converter ** --** Copyright (C) 2005-2022 Martin Gieseking ** -+** Copyright (C) 2005-2023 Martin Gieseking ** - ** ** - ** This program is free software; you can redistribute it and/or ** - ** modify it under the terms of the GNU General Public License as ** -diff -up texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/PSPreviewFilter.cpp.301 texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/PSPreviewFilter.cpp ---- texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/PSPreviewFilter.cpp.301 2022-01-21 12:25:16.000000000 -0500 -+++ texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/PSPreviewFilter.cpp 2023-01-17 15:53:51.719205485 -0500 -@@ -2,7 +2,7 @@ - ** PSPreviewFilter.cpp ** - ** ** - ** This file is part of dvisvgm -- a fast DVI to SVG converter ** --** Copyright (C) 2005-2022 Martin Gieseking ** -+** Copyright (C) 2005-2023 Martin Gieseking ** - ** ** - ** This program is free software; you can redistribute it and/or ** - ** modify it under the terms of the GNU General Public License as ** -diff -up texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/PSPreviewFilter.hpp.301 texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/PSPreviewFilter.hpp ---- texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/PSPreviewFilter.hpp.301 2022-01-21 12:25:16.000000000 -0500 -+++ texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/PSPreviewFilter.hpp 2023-01-17 15:53:51.719205485 -0500 -@@ -2,7 +2,7 @@ - ** PSPreviewFilter.hpp ** - ** ** - ** This file is part of dvisvgm -- a fast DVI to SVG converter ** --** Copyright (C) 2005-2022 Martin Gieseking ** -+** Copyright (C) 2005-2023 Martin Gieseking ** - ** ** - ** This program is free software; you can redistribute it and/or ** - ** modify it under the terms of the GNU General Public License as ** -diff -up texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/PsSpecialHandler.cpp.301 texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/PsSpecialHandler.cpp ---- texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/PsSpecialHandler.cpp.301 2022-02-28 17:04:29.000000000 -0500 -+++ texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/PsSpecialHandler.cpp 2023-01-17 15:53:51.719205485 -0500 -@@ -2,7 +2,7 @@ - ** PsSpecialHandler.cpp ** - ** ** - ** This file is part of dvisvgm -- a fast DVI to SVG converter ** --** Copyright (C) 2005-2022 Martin Gieseking ** -+** Copyright (C) 2005-2023 Martin Gieseking ** - ** ** - ** This program is free software; you can redistribute it and/or ** - ** modify it under the terms of the GNU General Public License as ** -@@ -20,7 +20,6 @@ - - #include - #include --#include - #include - #include - #include "FileFinder.hpp" -@@ -45,6 +44,7 @@ bool PsSpecialHandler::SHADING_SEGMENT_O - int PsSpecialHandler::SHADING_SEGMENT_SIZE = 20; - double PsSpecialHandler::SHADING_SIMPLIFY_DELTA = 0.01; - string PsSpecialHandler::BITMAP_FORMAT; -+bool PsSpecialHandler::EMBED_BITMAP_DATA = false; - - - PsSpecialHandler::PsSpecialHandler () : _psi(this), _previewFilter(_psi) -@@ -155,7 +155,9 @@ void PsSpecialHandler::executeAndSync (i - _actions->getColor().getRGB(r, g, b); - ostringstream oss; - oss << '\n' << r << ' ' << g << ' ' << b << " setrgbcolor "; -+ PSFilter *filter = _psi.setFilter(nullptr); // don't apply any filters here - _psi.execute(oss.str(), false); -+ _psi.setFilter(filter); - } - _psi.execute(is); - if (updatePos) { -@@ -190,7 +192,7 @@ void PsSpecialHandler::preprocess (const - - static string filename_suffix (const string &fname) { - string ret; -- size_t pos = fname.rfind('.'); -+ auto pos = fname.rfind('.'); - if (pos != string::npos) - ret = util::tolower(fname.substr(pos+1)); - return ret; -@@ -220,7 +222,7 @@ bool PsSpecialHandler::process (const st - string fname = in.getQuotedString(in.peek() == '"' ? "\"" : nullptr); - fname = FileSystem::ensureForwardSlashes(fname); - FileType fileType = FileType::EPS; -- if (prefix == "pdffile") -+ if (prefix == "pdffile=") - fileType = FileType::PDF; - else { - // accept selected non-PS files in psfile special -@@ -308,6 +310,7 @@ void PsSpecialHandler::imgfile (FileType - double urx = (it = attr.find("urx")) != attr.end() ? stod(it->second) : 0; - double ury = (it = attr.find("ury")) != attr.end() ? stod(it->second) : 0; - int pageno = (it = attr.find("page")) != attr.end() ? stoi(it->second, nullptr, 10) : 1; -+ _pdfProc = ((it = attr.find("proc")) != attr.end() ? it->second : ""); - - if (filetype == FileType::BITMAP || filetype == FileType::SVG) - swap(lly, ury); -@@ -357,24 +360,21 @@ void PsSpecialHandler::imgfile (FileType - _actions->setX(0); - _actions->setY(0); - moveToDVIPos(); -- - auto imgNode = createImageNode(filetype, fname, pageno, BoundingBox(llx, lly, urx, ury), clipToBbox); -- if (imgNode) { // has anything been drawn? -- Matrix matrix(1); -+ if (imgNode.element) { // has anything been drawn? - if (filetype == FileType::EPS || filetype == FileType::PDF) - sy = -sy; // adapt orientation of y-coordinates -- matrix.scale(sx, sy).rotate(-angle).scale(hscale/100, vscale/100); // apply transformation attributes -- matrix.translate(x+hoffset, y-voffset); // move image to current DVI position -- matrix.lmultiply(_actions->getMatrix()); -+ imgNode.matrix.scale(sx, sy).rotate(-angle).scale(hscale/100, vscale/100); // apply transformation attributes -+ imgNode.matrix.translate(x+hoffset, y-voffset); // move image to current DVI position -+ imgNode.matrix.lmultiply(_actions->getMatrix()); - // update bounding box - BoundingBox bbox(0, 0, urx-llx, ury-lly); -- bbox.transform(matrix); -+ bbox.transform(imgNode.matrix); - _actions->embed(bbox); -- - // insert element containing the image data -- matrix.rmultiply(TranslationMatrix(-llx, -lly)); // move lower left corner of image to origin -- imgNode->setTransform(matrix); -- _actions->svgTree().appendToPage(std::move(imgNode)); -+ imgNode.matrix.rmultiply(TranslationMatrix(-llx, -lly)); // move lower left corner of image to origin -+ imgNode.element->setTransform(imgNode.matrix); -+ _actions->svgTree().appendToPage(std::move(imgNode.element)); - } - // restore DVI position - _actions->setX(x); -@@ -397,8 +397,8 @@ static string image_base_path (const Spe - * @param[in] bbox bounding box of the image - * @param[in] clip if true, the image is clipped to its bounding box - * @return pointer to the element or nullptr if there's no image data */ --unique_ptr PsSpecialHandler::createImageNode (FileType type, const string &fname, int pageno, BoundingBox bbox, bool clip) { -- unique_ptr node; -+PsSpecialHandler::ImageNode PsSpecialHandler::createImageNode (FileType type, const string &fname, int pageno, BoundingBox bbox, bool clip) { -+ ImageNode imgnode; - string pathstr; - if (const char *path = FileFinder::instance().lookup(fname, false)) - pathstr = FileSystem::ensureForwardSlashes(path); -@@ -406,48 +406,100 @@ unique_ptr PsSpecialHandler: - pathstr = fname; - if (pathstr.empty()) - Message::wstream(true) << "file '" << fname << "' not found\n"; -- else if (type == FileType::BITMAP || type == FileType::SVG) { -- node = util::make_unique("image"); -- node->addAttribute("x", 0); -- node->addAttribute("y", 0); -- node->addAttribute("width", bbox.width()); -- node->addAttribute("height", bbox.height()); -- -- // Only reference the image with an absolute path if either an absolute path was given by the user -- // or a given plain filename is not present in the current working directory but was found through -- // the FileFinder, i.e. it's usually located somewhere in the texmf tree. -- string href = pathstr; -- if (!FilePath::isAbsolute(fname) && (fname.find('/') != string::npos || FilePath(fname).exists())) -- href = FilePath(pathstr).relative(FilePath(_actions->getSVGFilePath(pageno))); -- node->addAttribute("xlink:href", href); -- } -- else { // PostScript or PDF -- node = util::make_unique("g"); // put SVG nodes created from the EPS/PDF file in this group -- -- _xmlnode = node.get(); -- _psi.execute( -- "\n@beginspecial @setspecial" // enter special environment -- "/setpagedevice{@setpagedevice}def " // activate processing of operator "setpagedevice" -- "/@imgbase("+image_base_path(*_actions)+")store " // path and basename of image files -- "matrix setmatrix" // don't apply outer PS transformations -- "/FirstPage "+to_string(pageno)+" def" // set number of first page to convert (PDF only) -- "/LastPage "+to_string(pageno)+" def" // set number of last page to convert (PDF only) -- "(" + pathstr + ")run " // execute file content -- "@endspecial\n" // leave special environment -- ); -- if (node->empty()) -- node.reset(nullptr); -- else if (clip) { -- // clip image to its bounding box if flag 'clip' is given -- auto clippath = util::make_unique("clipPath"); -- clippath->addAttribute("id", "imgclip"+ to_string(_imgClipCount)); -- clippath->append(bbox.createSVGPath()); -- node->setClipPathUrl("imgclip"+ to_string(_imgClipCount++)); -- _actions->svgTree().appendToDefs(std::move(clippath)); -+ else if (type == FileType::BITMAP || type == FileType::SVG) -+ imgnode = createBitmapNode(fname, pathstr, pageno, bbox); -+ else if (type == FileType::EPS) -+ imgnode = createPSNode(fname, pathstr, pageno, bbox, clip); -+ else -+ imgnode = createPDFNode(fname, pathstr, pageno, bbox, clip); -+ return imgnode; -+} -+ -+ -+PsSpecialHandler::ImageNode PsSpecialHandler::createBitmapNode (const string &fname, const string &path, int pageno, BoundingBox bbox) { -+ ImageNode imgnode(util::make_unique("image")); -+ imgnode.element->addAttribute("x", 0); -+ imgnode.element->addAttribute("y", 0); -+ imgnode.element->addAttribute("width", bbox.width()); -+ imgnode.element->addAttribute("height", bbox.height()); -+ -+ // Only reference the image with an absolute path if either an absolute path was given by the user -+ // or a given plain filename is not present in the current working directory but was found through -+ // the FileFinder, i.e. it's usually located somewhere in the texmf tree. -+ string href = path; -+ if (!FilePath::isAbsolute(fname) && (fname.find('/') != string::npos || FilePath(fname).exists())) -+ href = FilePath(path).relative(FilePath(_actions->getSVGFilePath(pageno))); -+ if (EMBED_BITMAP_DATA) -+ imgnode.element->addAttribute("@@xlink:href", "data:" + util::mimetype(fname) + ";base64," + fname); -+ else -+ imgnode.element->addAttribute("xlink:href", href); -+ return imgnode; -+} -+ -+ -+PsSpecialHandler::ImageNode PsSpecialHandler::createPSNode (const string &fname, const string &path, int pageno, BoundingBox bbox, bool clip) { -+ ImageNode imgnode(util::make_unique("g")); // put SVG nodes created from the EPS/PDF file in this group -+ _xmlnode = imgnode.element.get(); -+ _psi.execute( -+ "\n@beginspecial @setspecial" // enter special environment -+ "/setpagedevice{@setpagedevice}def " // activate processing of operator "setpagedevice" -+ "/@imgbase("+image_base_path(*_actions)+")store " // path and basename of image files -+ "matrix setmatrix" // don't apply outer PS transformations -+ "/FirstPage "+to_string(pageno)+" def" // set number of first page to convert (PDF only) -+ "/LastPage "+to_string(pageno)+" def" // set number of last page to convert (PDF only) -+ "(" + path + ")run " // execute file content -+ "@endspecial\n" // leave special environment -+ ); -+ if (imgnode.element->empty()) -+ imgnode.element.reset(nullptr); -+ else if (clip) { -+ // clip image to its bounding box if flag 'clip' is given -+ auto clippath = util::make_unique("clipPath"); -+ clippath->addAttribute("id", "imgclip"+ to_string(_imgClipCount)); -+ clippath->append(bbox.createSVGPath()); -+ imgnode.element->setClipPathUrl("imgclip" + to_string(_imgClipCount++)); -+ _actions->svgTree().appendToDefs(std::move(clippath)); -+ } -+ _xmlnode = nullptr; // append following elements to page group again -+ return imgnode; -+} -+ -+ -+PsSpecialHandler::ImageNode PsSpecialHandler::createPDFNode (const string &fname, const string &path, int pageno, BoundingBox bbox, bool clip) { -+ if (_pdfProc == "gs" || (_pdfProc.empty() && _psi.supportsPDF())) -+ return createPSNode(fname, path, pageno, bbox, clip); -+ -+ ImageNode imgnode; -+ if (PDFHandler::available()) { -+ // save SVG state -+ auto savedFont = _actions->svgTree().getFontPair(); -+ auto savedMatrix = _actions->svgTree().getMatrix(); -+ auto savedColor = _actions->svgTree().getColor(); -+ -+ imgnode.element = util::make_unique("g"); -+ _pdfHandler.assignSVGTree(_actions->svgTree()); -+ imgnode.element = _pdfHandler.convert(path, pageno, std::move(imgnode.element)); -+ -+ // restore SVG state -+ if (savedFont.second) -+ _actions->svgTree().setFont(savedFont.first, *savedFont.second); -+ _actions->svgTree().setMatrix(savedMatrix); -+ _actions->svgTree().setColor(savedColor); -+ -+ if (imgnode.element->empty()) -+ imgnode.element.reset(nullptr); -+ else { -+ imgnode.matrix.translate(0, -bbox.height()).scale(1, -1); -+ if (clip) { -+ auto clippath = util::make_unique("clipPath"); -+ clippath->addAttribute("id", "imgclip" + to_string(_imgClipCount)); -+ clippath->append(bbox.createSVGPath()); -+ imgnode.element->setClipPathUrl("imgclip" + to_string(_imgClipCount++)); -+ _actions->svgTree().appendToDefs(std::move(clippath)); -+ } - } -- _xmlnode = nullptr; // append following elements to page group again - } -- return node; -+ return imgnode; - } - - -@@ -789,8 +841,7 @@ void PsSpecialHandler::image (std::vecto - - // To prevent memory issues, only add the filename to the href attribute and tag it by '@' - // for later base64 encoding. -- image->addAttribute("@xlink:href", string("data:image/")+(suffix == ".png" ? "png" : "jpeg")+";base64,"+fname); -- -+ image->addAttribute("@xlink:href", "data:"+util::mimetype(fname)+";base64,"+fname); - // if set, assign clipping path to image - if (_clipStack.path()) { - auto group = util::make_unique("g"); -diff -up texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/PsSpecialHandler.hpp.301 texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/PsSpecialHandler.hpp ---- texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/PsSpecialHandler.hpp.301 2022-02-28 17:04:29.000000000 -0500 -+++ texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/PsSpecialHandler.hpp 2023-01-17 15:53:51.719205485 -0500 -@@ -2,7 +2,7 @@ - ** PsSpecialHandler.hpp ** - ** ** - ** This file is part of dvisvgm -- a fast DVI to SVG converter ** --** Copyright (C) 2005-2022 Martin Gieseking ** -+** Copyright (C) 2005-2023 Martin Gieseking ** - ** ** - ** This program is free software; you can redistribute it and/or ** - ** modify it under the terms of the GNU General Public License as ** -@@ -27,6 +27,7 @@ - #include - #include - #include "GraphicsPath.hpp" -+#include "PDFHandler.hpp" - #include "PSInterpreter.hpp" - #include "Opacity.hpp" - #include "PSPattern.hpp" -@@ -76,6 +77,14 @@ class PsSpecialHandler : public SpecialH - std::stack _stack; ///< stack holding the clipping information of the current graphics context - }; - -+ struct ImageNode { -+ ImageNode () : matrix(1) {} -+ explicit ImageNode (std::unique_ptr elem) : element(std::move(elem)), matrix(1) {} -+ ImageNode (std::unique_ptr elem, const Matrix &m) : element(std::move(elem)), matrix(m) {} -+ std::unique_ptr element; -+ Matrix matrix; -+ }; -+ - enum PsSection {PS_NONE, PS_HEADERS, PS_BODY}; - enum class FileType {EPS, PDF, SVG, BITMAP}; - -@@ -97,6 +106,7 @@ class PsSpecialHandler : public SpecialH - static int SHADING_SEGMENT_SIZE; - static double SHADING_SIMPLIFY_DELTA; - static std::string BITMAP_FORMAT; -+ static bool EMBED_BITMAP_DATA; - - protected: - void initialize (); -@@ -105,7 +115,10 @@ class PsSpecialHandler : public SpecialH - void executeAndSync (std::istream &is, bool updatePos); - void processHeaderFile (const char *fname); - void imgfile (FileType type, const std::string &fname, const std::map &attr); -- std::unique_ptr createImageNode (FileType type, const std::string &fname, int pageno, BoundingBox bbox, bool clip); -+ ImageNode createImageNode (FileType type, const std::string &fname, int pageno, BoundingBox bbox, bool clip); -+ ImageNode createBitmapNode (const std::string &fname, const std::string &path, int pageno, BoundingBox bbox); -+ ImageNode createPSNode (const std::string &fname, const std::string &path, int pageno, BoundingBox bbox, bool clip); -+ ImageNode createPDFNode (const std::string &fname, const std::string &path, int pageno, BoundingBox bbox, bool clip); - void dviBeginPage (unsigned int pageno, SpecialActions &actions) override; - void dviEndPage (unsigned pageno, SpecialActions &actions) override; - void clip (Path path, bool evenodd); -@@ -164,6 +177,7 @@ class PsSpecialHandler : public SpecialH - - private: - PSInterpreter _psi; -+ PDFHandler _pdfHandler; - SpecialActions *_actions=nullptr; - PSPreviewFilter _previewFilter; ///< filter to extract information generated by the preview package - PsSection _psSection=PS_NONE; ///< current section processed (nothing yet, headers, or body specials) -@@ -189,6 +203,7 @@ class PsSpecialHandler : public SpecialH - std::map> _patterns; - PSTilingPattern *_pattern; ///< current pattern - bool _patternEnabled; ///< true if active color space is a pattern -+ std::string _pdfProc; ///< tool to process PDF files ("gs" or "mutool") - }; - - #endif -diff -up texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/RangeMap.cpp.301 texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/RangeMap.cpp ---- texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/RangeMap.cpp.301 2022-01-21 12:25:16.000000000 -0500 -+++ texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/RangeMap.cpp 2023-01-17 15:53:51.719205485 -0500 -@@ -2,7 +2,7 @@ - ** RangeMap.cpp ** - ** ** - ** This file is part of dvisvgm -- a fast DVI to SVG converter ** --** Copyright (C) 2005-2022 Martin Gieseking ** -+** Copyright (C) 2005-2023 Martin Gieseking ** - ** ** - ** This program is free software; you can redistribute it and/or ** - ** modify it under the terms of the GNU General Public License as ** -diff -up texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/RangeMap.hpp.301 texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/RangeMap.hpp ---- texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/RangeMap.hpp.301 2022-01-21 12:25:16.000000000 -0500 -+++ texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/RangeMap.hpp 2023-01-18 10:02:14.115035578 -0500 -@@ -2,7 +2,7 @@ - ** RangeMap.hpp ** - ** ** - ** This file is part of dvisvgm -- a fast DVI to SVG converter ** --** Copyright (C) 2005-2022 Martin Gieseking ** -+** Copyright (C) 2005-2023 Martin Gieseking ** - ** ** - ** This program is free software; you can redistribute it and/or ** - ** modify it under the terms of the GNU General Public License as ** -@@ -22,6 +22,7 @@ - #define RANGEMAP_HPP - - #include -+#include - #include - #include - -@@ -111,7 +112,7 @@ class RangeMap { - }; - - public: -- void addRange (uint32_t first, uint32_t last, uint32_t cid); -+ void addRange (uint32_t cmin, uint32_t cmax, uint32_t vmin); - bool valueExists (uint32_t c) const {return lookup(c) >= 0;} - uint32_t valueAt (uint32_t c) const; - uint32_t minKey () const {return _ranges.empty() ? 0 : _ranges.front().min();} -diff -up texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/ShadingPatch.cpp.301 texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/ShadingPatch.cpp ---- texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/ShadingPatch.cpp.301 2022-01-21 12:25:16.000000000 -0500 -+++ texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/ShadingPatch.cpp 2023-01-17 15:53:51.720205496 -0500 -@@ -2,7 +2,7 @@ - ** ShadingPatch.cpp ** - ** ** - ** This file is part of dvisvgm -- a fast DVI to SVG converter ** --** Copyright (C) 2005-2022 Martin Gieseking ** -+** Copyright (C) 2005-2023 Martin Gieseking ** - ** ** - ** This program is free software; you can redistribute it and/or ** - ** modify it under the terms of the GNU General Public License as ** -diff -up texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/ShadingPatch.hpp.301 texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/ShadingPatch.hpp ---- texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/ShadingPatch.hpp.301 2022-01-21 12:25:16.000000000 -0500 -+++ texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/ShadingPatch.hpp 2023-01-17 15:53:51.720205496 -0500 -@@ -2,7 +2,7 @@ - ** ShadingPatch.hpp ** - ** ** - ** This file is part of dvisvgm -- a fast DVI to SVG converter ** --** Copyright (C) 2005-2022 Martin Gieseking ** -+** Copyright (C) 2005-2023 Martin Gieseking ** - ** ** - ** This program is free software; you can redistribute it and/or ** - ** modify it under the terms of the GNU General Public License as ** -diff -up texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/SignalHandler.cpp.301 texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/SignalHandler.cpp ---- texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/SignalHandler.cpp.301 2022-01-21 12:25:16.000000000 -0500 -+++ texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/SignalHandler.cpp 2023-01-17 15:53:51.720205496 -0500 -@@ -2,7 +2,7 @@ - ** SignalHandler.cpp ** - ** ** - ** This file is part of dvisvgm -- a fast DVI to SVG converter ** --** Copyright (C) 2005-2022 Martin Gieseking ** -+** Copyright (C) 2005-2023 Martin Gieseking ** - ** ** - ** This program is free software; you can redistribute it and/or ** - ** modify it under the terms of the GNU General Public License as ** -diff -up texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/SignalHandler.hpp.301 texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/SignalHandler.hpp ---- texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/SignalHandler.hpp.301 2022-01-21 12:25:16.000000000 -0500 -+++ texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/SignalHandler.hpp 2023-01-17 15:53:51.720205496 -0500 -@@ -2,7 +2,7 @@ - ** SignalHandler.hpp ** - ** ** - ** This file is part of dvisvgm -- a fast DVI to SVG converter ** --** Copyright (C) 2005-2022 Martin Gieseking ** -+** Copyright (C) 2005-2023 Martin Gieseking ** - ** ** - ** This program is free software; you can redistribute it and/or ** - ** modify it under the terms of the GNU General Public License as ** -diff -up texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/SourceInput.cpp.301 texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/SourceInput.cpp ---- texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/SourceInput.cpp.301 2022-01-21 12:25:16.000000000 -0500 -+++ texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/SourceInput.cpp 2023-01-17 15:53:51.720205496 -0500 -@@ -2,7 +2,7 @@ - ** SourceInput.cpp ** - ** ** - ** This file is part of dvisvgm -- a fast DVI to SVG converter ** --** Copyright (C) 2005-2022 Martin Gieseking ** -+** Copyright (C) 2005-2023 Martin Gieseking ** - ** ** - ** This program is free software; you can redistribute it and/or ** - ** modify it under the terms of the GNU General Public License as ** -diff -up texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/SourceInput.hpp.301 texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/SourceInput.hpp ---- texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/SourceInput.hpp.301 2022-01-21 12:25:16.000000000 -0500 -+++ texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/SourceInput.hpp 2023-01-17 15:53:51.720205496 -0500 -@@ -2,7 +2,7 @@ - ** SourceInput.hpp ** - ** ** - ** This file is part of dvisvgm -- a fast DVI to SVG converter ** --** Copyright (C) 2005-2022 Martin Gieseking ** -+** Copyright (C) 2005-2023 Martin Gieseking ** - ** ** - ** This program is free software; you can redistribute it and/or ** - ** modify it under the terms of the GNU General Public License as ** -diff -up texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/SpecialActions.hpp.301 texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/SpecialActions.hpp ---- texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/SpecialActions.hpp.301 2022-01-21 12:25:16.000000000 -0500 -+++ texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/SpecialActions.hpp 2023-01-17 15:53:51.720205496 -0500 -@@ -2,7 +2,7 @@ - ** SpecialActions.hpp ** - ** ** - ** This file is part of dvisvgm -- a fast DVI to SVG converter ** --** Copyright (C) 2005-2022 Martin Gieseking ** -+** Copyright (C) 2005-2023 Martin Gieseking ** - ** ** - ** This program is free software; you can redistribute it and/or ** - ** modify it under the terms of the GNU General Public License as ** -@@ -50,7 +50,7 @@ class SpecialActions { - virtual void setOpacity (const Opacity &opacity) =0; - virtual const Opacity& getOpacity () const =0; - virtual const SVGTree& svgTree () const =0; -- SVGTree& svgTree () {return const_cast(const_cast(this)->svgTree());} -+ virtual SVGTree& svgTree () {return const_cast(const_cast(this)->svgTree());} - virtual BoundingBox& bbox () =0; - virtual BoundingBox& bbox (const std::string &name, bool reset=false) =0; - virtual void embed (const BoundingBox &bbox) =0; -diff -up texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/SpecialHandler.hpp.301 texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/SpecialHandler.hpp ---- texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/SpecialHandler.hpp.301 2022-01-21 12:25:16.000000000 -0500 -+++ texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/SpecialHandler.hpp 2023-01-17 15:53:51.720205496 -0500 -@@ -2,7 +2,7 @@ - ** SpecialHandler.hpp ** - ** ** - ** This file is part of dvisvgm -- a fast DVI to SVG converter ** --** Copyright (C) 2005-2022 Martin Gieseking ** -+** Copyright (C) 2005-2023 Martin Gieseking ** - ** ** - ** This program is free software; you can redistribute it and/or ** - ** modify it under the terms of the GNU General Public License as ** -diff -up texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/SpecialManager.cpp.301 texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/SpecialManager.cpp ---- texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/SpecialManager.cpp.301 2022-01-21 12:25:16.000000000 -0500 -+++ texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/SpecialManager.cpp 2023-01-17 15:53:51.720205496 -0500 -@@ -2,7 +2,7 @@ - ** SpecialManager.cpp ** - ** ** - ** This file is part of dvisvgm -- a fast DVI to SVG converter ** --** Copyright (C) 2005-2022 Martin Gieseking ** -+** Copyright (C) 2005-2023 Martin Gieseking ** - ** ** - ** This program is free software; you can redistribute it and/or ** - ** modify it under the terms of the GNU General Public License as ** -diff -up texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/SpecialManager.hpp.301 texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/SpecialManager.hpp ---- texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/SpecialManager.hpp.301 2022-01-21 12:25:16.000000000 -0500 -+++ texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/SpecialManager.hpp 2023-01-17 15:53:51.720205496 -0500 -@@ -2,7 +2,7 @@ - ** SpecialManager.hpp ** - ** ** - ** This file is part of dvisvgm -- a fast DVI to SVG converter ** --** Copyright (C) 2005-2022 Martin Gieseking ** -+** Copyright (C) 2005-2023 Martin Gieseking ** - ** ** - ** This program is free software; you can redistribute it and/or ** - ** modify it under the terms of the GNU General Public License as ** -diff -up texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/StreamReader.cpp.301 texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/StreamReader.cpp ---- texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/StreamReader.cpp.301 2022-01-21 12:25:16.000000000 -0500 -+++ texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/StreamReader.cpp 2023-01-17 15:53:51.720205496 -0500 -@@ -2,7 +2,7 @@ - ** StreamReader.cpp ** - ** ** - ** This file is part of dvisvgm -- a fast DVI to SVG converter ** --** Copyright (C) 2005-2022 Martin Gieseking ** -+** Copyright (C) 2005-2023 Martin Gieseking ** - ** ** - ** This program is free software; you can redistribute it and/or ** - ** modify it under the terms of the GNU General Public License as ** -diff -up texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/StreamReader.hpp.301 texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/StreamReader.hpp ---- texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/StreamReader.hpp.301 2022-01-21 12:25:16.000000000 -0500 -+++ texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/StreamReader.hpp 2023-01-17 16:33:29.676610382 -0500 -@@ -2,7 +2,7 @@ - ** StreamReader.hpp ** - ** ** - ** This file is part of dvisvgm -- a fast DVI to SVG converter ** --** Copyright (C) 2005-2022 Martin Gieseking ** -+** Copyright (C) 2005-2023 Martin Gieseking ** - ** ** - ** This program is free software; you can redistribute it and/or ** - ** modify it under the terms of the GNU General Public License as ** -@@ -24,6 +24,7 @@ - #include - #include - #include -+#include - #include "MessageException.hpp" - - class HashFunction; -diff -up texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/StreamWriter.cpp.301 texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/StreamWriter.cpp ---- texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/StreamWriter.cpp.301 2022-01-21 12:25:16.000000000 -0500 -+++ texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/StreamWriter.cpp 2023-01-17 15:53:51.720205496 -0500 -@@ -2,7 +2,7 @@ - ** StreamWriter.cpp ** - ** ** - ** This file is part of dvisvgm -- a fast DVI to SVG converter ** --** Copyright (C) 2005-2022 Martin Gieseking ** -+** Copyright (C) 2005-2023 Martin Gieseking ** - ** ** - ** This program is free software; you can redistribute it and/or ** - ** modify it under the terms of the GNU General Public License as ** -diff -up texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/StreamWriter.hpp.301 texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/StreamWriter.hpp ---- texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/StreamWriter.hpp.301 2022-01-21 12:25:16.000000000 -0500 -+++ texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/StreamWriter.hpp 2023-01-17 15:53:51.720205496 -0500 -@@ -2,7 +2,7 @@ - ** StreamWriter.hpp ** - ** ** - ** This file is part of dvisvgm -- a fast DVI to SVG converter ** --** Copyright (C) 2005-2022 Martin Gieseking ** -+** Copyright (C) 2005-2023 Martin Gieseking ** - ** ** - ** This program is free software; you can redistribute it and/or ** - ** modify it under the terms of the GNU General Public License as ** -diff -up texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/Subfont.cpp.301 texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/Subfont.cpp ---- texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/Subfont.cpp.301 2022-01-21 12:25:16.000000000 -0500 -+++ texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/Subfont.cpp 2023-01-17 15:53:51.721205508 -0500 -@@ -2,7 +2,7 @@ - ** Subfont.cpp ** - ** ** - ** This file is part of dvisvgm -- a fast DVI to SVG converter ** --** Copyright (C) 2005-2022 Martin Gieseking ** -+** Copyright (C) 2005-2023 Martin Gieseking ** - ** ** - ** This program is free software; you can redistribute it and/or ** - ** modify it under the terms of the GNU General Public License as ** -diff -up texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/Subfont.hpp.301 texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/Subfont.hpp ---- texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/Subfont.hpp.301 2022-01-21 12:25:16.000000000 -0500 -+++ texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/Subfont.hpp 2023-01-17 15:53:51.721205508 -0500 -@@ -2,7 +2,7 @@ - ** Subfont.hpp ** - ** ** - ** This file is part of dvisvgm -- a fast DVI to SVG converter ** --** Copyright (C) 2005-2022 Martin Gieseking ** -+** Copyright (C) 2005-2023 Martin Gieseking ** - ** ** - ** This program is free software; you can redistribute it and/or ** - ** modify it under the terms of the GNU General Public License as ** -diff -up texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/SVGCharHandler.cpp.301 texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/SVGCharHandler.cpp ---- texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/SVGCharHandler.cpp.301 2022-01-21 12:25:16.000000000 -0500 -+++ texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/SVGCharHandler.cpp 2023-01-17 15:53:51.721205508 -0500 -@@ -2,7 +2,7 @@ - ** SVGCharHandler.cpp ** - ** ** - ** This file is part of dvisvgm -- a fast DVI to SVG converter ** --** Copyright (C) 2005-2022 Martin Gieseking ** -+** Copyright (C) 2005-2023 Martin Gieseking ** - ** ** - ** This program is free software; you can redistribute it and/or ** - ** modify it under the terms of the GNU General Public License as ** -diff -up texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/SVGCharHandlerFactory.cpp.301 texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/SVGCharHandlerFactory.cpp ---- texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/SVGCharHandlerFactory.cpp.301 2022-01-21 12:25:16.000000000 -0500 -+++ texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/SVGCharHandlerFactory.cpp 2023-01-17 15:53:51.721205508 -0500 -@@ -2,7 +2,7 @@ - ** SVGCharHandlerFactory.cpp ** - ** ** - ** This file is part of dvisvgm -- a fast DVI to SVG converter ** --** Copyright (C) 2005-2022 Martin Gieseking ** -+** Copyright (C) 2005-2023 Martin Gieseking ** - ** ** - ** This program is free software; you can redistribute it and/or ** - ** modify it under the terms of the GNU General Public License as ** -diff -up texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/SVGCharHandlerFactory.hpp.301 texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/SVGCharHandlerFactory.hpp ---- texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/SVGCharHandlerFactory.hpp.301 2022-01-21 12:25:16.000000000 -0500 -+++ texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/SVGCharHandlerFactory.hpp 2023-01-17 15:53:51.721205508 -0500 -@@ -2,7 +2,7 @@ - ** SVGCharHandlerFactory.hpp ** - ** ** - ** This file is part of dvisvgm -- a fast DVI to SVG converter ** --** Copyright (C) 2005-2022 Martin Gieseking ** -+** Copyright (C) 2005-2023 Martin Gieseking ** - ** ** - ** This program is free software; you can redistribute it and/or ** - ** modify it under the terms of the GNU General Public License as ** -diff -up texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/SVGCharHandler.hpp.301 texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/SVGCharHandler.hpp ---- texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/SVGCharHandler.hpp.301 2022-01-21 12:25:16.000000000 -0500 -+++ texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/SVGCharHandler.hpp 2023-01-17 15:53:51.721205508 -0500 -@@ -2,7 +2,7 @@ - ** SVGCharHandler.hpp ** - ** ** - ** This file is part of dvisvgm -- a fast DVI to SVG converter ** --** Copyright (C) 2005-2022 Martin Gieseking ** -+** Copyright (C) 2005-2023 Martin Gieseking ** - ** ** - ** This program is free software; you can redistribute it and/or ** - ** modify it under the terms of the GNU General Public License as ** -@@ -76,6 +76,7 @@ class SVGCharHandler { - Color getColor () const {return _color.get();} - const Opacity& getOpacity () const {return _opacity.get();} - const Font* getFont () const {return _font.get();} -+ int getFontID () const {return _fontnum;} - const Matrix& getMatrix () const {return _matrix.get();} - - protected: -diff -up texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/SVGCharPathHandler.cpp.301 texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/SVGCharPathHandler.cpp ---- texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/SVGCharPathHandler.cpp.301 2022-01-21 12:25:16.000000000 -0500 -+++ texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/SVGCharPathHandler.cpp 2023-01-17 15:53:51.721205508 -0500 -@@ -2,7 +2,7 @@ - ** SVGCharPathHandler.cpp ** - ** ** - ** This file is part of dvisvgm -- a fast DVI to SVG converter ** --** Copyright (C) 2005-2022 Martin Gieseking ** -+** Copyright (C) 2005-2023 Martin Gieseking ** - ** ** - ** This program is free software; you can redistribute it and/or ** - ** modify it under the terms of the GNU General Public License as ** -diff -up texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/SVGCharPathHandler.hpp.301 texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/SVGCharPathHandler.hpp ---- texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/SVGCharPathHandler.hpp.301 2022-01-21 12:25:16.000000000 -0500 -+++ texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/SVGCharPathHandler.hpp 2023-01-17 15:53:51.721205508 -0500 -@@ -2,7 +2,7 @@ - ** SVGCharPathHandler.hpp ** - ** ** - ** This file is part of dvisvgm -- a fast DVI to SVG converter ** --** Copyright (C) 2005-2022 Martin Gieseking ** -+** Copyright (C) 2005-2023 Martin Gieseking ** - ** ** - ** This program is free software; you can redistribute it and/or ** - ** modify it under the terms of the GNU General Public License as ** -diff -up texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/SVGCharTspanTextHandler.cpp.301 texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/SVGCharTspanTextHandler.cpp ---- texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/SVGCharTspanTextHandler.cpp.301 2022-01-21 12:25:16.000000000 -0500 -+++ texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/SVGCharTspanTextHandler.cpp 2023-01-17 15:53:51.721205508 -0500 -@@ -2,7 +2,7 @@ - ** SVGCharTspanTextHandler.cpp ** - ** ** - ** This file is part of dvisvgm -- a fast DVI to SVG converter ** --** Copyright (C) 2005-2022 Martin Gieseking ** -+** Copyright (C) 2005-2023 Martin Gieseking ** - ** ** - ** This program is free software; you can redistribute it and/or ** - ** modify it under the terms of the GNU General Public License as ** -diff -up texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/SVGCharTspanTextHandler.hpp.301 texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/SVGCharTspanTextHandler.hpp ---- texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/SVGCharTspanTextHandler.hpp.301 2022-01-21 12:25:16.000000000 -0500 -+++ texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/SVGCharTspanTextHandler.hpp 2023-01-17 15:53:51.721205508 -0500 -@@ -2,7 +2,7 @@ - ** SVGCharTspanTextHandler.hpp ** - ** ** - ** This file is part of dvisvgm -- a fast DVI to SVG converter ** --** Copyright (C) 2005-2022 Martin Gieseking ** -+** Copyright (C) 2005-2023 Martin Gieseking ** - ** ** - ** This program is free software; you can redistribute it and/or ** - ** modify it under the terms of the GNU General Public License as ** -diff -up texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/SVGElement.cpp.301 texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/SVGElement.cpp ---- texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/SVGElement.cpp.301 2022-01-21 12:25:16.000000000 -0500 -+++ texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/SVGElement.cpp 2023-01-17 15:53:51.721205508 -0500 -@@ -2,7 +2,7 @@ - ** SVGElement.cpp ** - ** ** - ** This file is part of dvisvgm -- a fast DVI to SVG converter ** --** Copyright (C) 2005-2022 Martin Gieseking ** -+** Copyright (C) 2005-2023 Martin Gieseking ** - ** ** - ** This program is free software; you can redistribute it and/or ** - ** modify it under the terms of the GNU General Public License as ** -@@ -78,11 +78,23 @@ void SVGElement::setFillPatternUrl (cons - } - - -+void SVGElement::setMaskUrl (const string &url) { -+ if (!url.empty()) -+ addAttribute("mask", "url(#"+url+")"); -+} -+ -+ - void SVGElement::setNoFillColor () { - addAttribute("fill", "none"); - } - - -+void SVGElement::setOpacity (const OpacityAlpha &alpha) { -+ if (!alpha.isOpaque()) -+ addAttribute("opaque", alpha.value()); -+} -+ -+ - void SVGElement::setPoints (const vector &points) { - if (!points.empty()) { - ostringstream oss; -@@ -106,7 +118,14 @@ void SVGElement::setStrokeDash (const ve - for (double dashValue : pattern) - patternStr += XMLString(dashValue)+" "; - patternStr.pop_back(); -- addAttribute("stroke-dasharray", patternStr); -+ setStrokeDash(patternStr, offset); -+ } -+} -+ -+ -+void SVGElement::setStrokeDash (const string &pattern, double offset) { -+ if (!pattern.empty()) { -+ addAttribute("stroke-dasharray", pattern); - if (offset != 0) - addAttribute("stroke-dashoffset", offset); - } -@@ -150,4 +169,4 @@ void SVGElement::setStrokeWidth (double - void SVGElement::setTransform (const Matrix &matrix) { - if (!matrix.isIdentity()) - addAttribute("transform", matrix.toSVG()); --} -+} -\ No newline at end of file -diff -up texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/SVGElement.hpp.301 texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/SVGElement.hpp ---- texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/SVGElement.hpp.301 2022-01-21 12:25:16.000000000 -0500 -+++ texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/SVGElement.hpp 2023-01-17 15:53:51.721205508 -0500 -@@ -2,7 +2,7 @@ - ** SVGElement.hpp ** - ** ** - ** This file is part of dvisvgm -- a fast DVI to SVG converter ** --** Copyright (C) 2005-2022 Martin Gieseking ** -+** Copyright (C) 2005-2023 Martin Gieseking ** - ** ** - ** This program is free software; you can redistribute it and/or ** - ** modify it under the terms of the GNU General Public License as ** -@@ -33,7 +33,7 @@ class SVGElement : public XMLElement { - enum LineCap {LC_BUTT, LC_ROUND, LC_SQUARE}; - enum LineJoin {LJ_BEVEL, LJ_MITER, LJ_ROUND}; - -- public: -+ public: - explicit SVGElement (std::string name) : XMLElement(std::move(name)) {} - explicit SVGElement (const XMLElement &node) : XMLElement(node) {} - explicit SVGElement (XMLElement &&node) noexcept : XMLElement(std::move(node)) {} -@@ -45,10 +45,13 @@ class SVGElement : public XMLElement { - void setFillOpacity (Opacity::BlendMode blendMode); - void setFillPatternUrl (const std::string &url); - void setFillRule (FillRule rule); -+ void setMaskUrl (const std::string &url); - void setNoFillColor (); -+ void setOpacity (const OpacityAlpha &alpha); - void setPoints (const std::vector &points); - void setStrokeColor (Color color); - void setStrokeDash (const std::vector &pattern, double offset=0); -+ void setStrokeDash (const std::string &pattern, double offset=0); - void setStrokeLineCap (LineCap cap); - void setStrokeLineJoin (LineJoin join); - void setStrokeOpacity (const Opacity &opacity); -diff -up texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/SVGOutput.cpp.301 texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/SVGOutput.cpp ---- texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/SVGOutput.cpp.301 2022-01-21 12:25:16.000000000 -0500 -+++ texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/SVGOutput.cpp 2023-01-17 15:53:51.721205508 -0500 -@@ -2,7 +2,7 @@ - ** SVGOutput.cpp ** - ** ** - ** This file is part of dvisvgm -- a fast DVI to SVG converter ** --** Copyright (C) 2005-2022 Martin Gieseking ** -+** Copyright (C) 2005-2023 Martin Gieseking ** - ** ** - ** This program is free software; you can redistribute it and/or ** - ** modify it under the terms of the GNU General Public License as ** -@@ -108,7 +108,7 @@ FilePath SVGOutput::filepath (int page, - string SVGOutput::expandFormatString (string str, int page, int numPages, const HashTriple &hashes) const { - string result; - while (!str.empty()) { -- size_t pos = str.find('%'); -+ auto pos = str.find('%'); - if (pos == string::npos) { - result += str; - str.clear(); -@@ -150,7 +150,7 @@ string SVGOutput::expandFormatString (st - result += oss.str(); - break; - case '(': { -- size_t endpos = str.find(')', pos); -+ auto endpos = str.find(')', pos); - if (endpos == string::npos) - throw MessageException("missing ')' in filename pattern"); - else if (endpos-pos-1 > 1) { -diff -up texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/SVGOutput.hpp.301 texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/SVGOutput.hpp ---- texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/SVGOutput.hpp.301 2022-01-21 12:25:16.000000000 -0500 -+++ texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/SVGOutput.hpp 2023-01-17 15:53:51.721205508 -0500 -@@ -2,7 +2,7 @@ - ** SVGOutput.hpp ** - ** ** - ** This file is part of dvisvgm -- a fast DVI to SVG converter ** --** Copyright (C) 2005-2022 Martin Gieseking ** -+** Copyright (C) 2005-2023 Martin Gieseking ** - ** ** - ** This program is free software; you can redistribute it and/or ** - ** modify it under the terms of the GNU General Public License as ** -@@ -47,6 +47,7 @@ struct SVGOutputBase { - virtual ~SVGOutputBase () =default; - virtual std::ostream& getPageStream (int page, int numPages, const HashTriple &hashes=HashTriple()) const =0; - virtual FilePath filepath (int page, int numPages, const HashTriple &hashes= HashTriple()) const =0; -+ virtual void finish () =0; - virtual bool ignoresHashes () const {return true;} - }; - -@@ -59,6 +60,7 @@ class SVGOutput : public SVGOutputBase { - SVGOutput (const std::string &base, std::string pattern, int zipLevel); - std::ostream& getPageStream (int page, int numPages, const HashTriple &hash=HashTriple()) const override; - FilePath filepath (int page, int numPages, const HashTriple &hash=HashTriple()) const override; -+ void finish () override {_osptr.reset();} - bool ignoresHashes () const override; - void setFileNumbers (int fileNumber, int fileCount) {_fileNumber = fileNumber; _fileCount = fileCount;} - -diff -up texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/SVGSingleCharTextHandler.cpp.301 texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/SVGSingleCharTextHandler.cpp ---- texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/SVGSingleCharTextHandler.cpp.301 2022-01-21 12:25:16.000000000 -0500 -+++ texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/SVGSingleCharTextHandler.cpp 2023-01-17 15:53:51.722205519 -0500 -@@ -2,7 +2,7 @@ - ** SVGSingleCharTextHandler.cpp ** - ** ** - ** This file is part of dvisvgm -- a fast DVI to SVG converter ** --** Copyright (C) 2005-2022 Martin Gieseking ** -+** Copyright (C) 2005-2023 Martin Gieseking ** - ** ** - ** This program is free software; you can redistribute it and/or ** - ** modify it under the terms of the GNU General Public License as ** -diff -up texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/SVGSingleCharTextHandler.hpp.301 texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/SVGSingleCharTextHandler.hpp ---- texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/SVGSingleCharTextHandler.hpp.301 2022-01-21 12:25:16.000000000 -0500 -+++ texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/SVGSingleCharTextHandler.hpp 2023-01-17 15:53:51.722205519 -0500 -@@ -2,7 +2,7 @@ - ** SVGSingleCharTextHandler.hpp ** - ** ** - ** This file is part of dvisvgm -- a fast DVI to SVG converter ** --** Copyright (C) 2005-2022 Martin Gieseking ** -+** Copyright (C) 2005-2023 Martin Gieseking ** - ** ** - ** This program is free software; you can redistribute it and/or ** - ** modify it under the terms of the GNU General Public License as ** -diff -up texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/SVGTree.cpp.301 texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/SVGTree.cpp ---- texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/SVGTree.cpp.301 2022-02-23 17:20:08.000000000 -0500 -+++ texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/SVGTree.cpp 2023-01-17 15:53:51.722205519 -0500 -@@ -2,7 +2,7 @@ - ** SVGTree.cpp ** - ** ** - ** This file is part of dvisvgm -- a fast DVI to SVG converter ** --** Copyright (C) 2005-2022 Martin Gieseking ** -+** Copyright (C) 2005-2023 Martin Gieseking ** - ** ** - ** This program is free software; you can redistribute it and/or ** - ** modify it under the terms of the GNU General Public License as ** -@@ -91,8 +91,15 @@ void SVGTree::setFont (int num, const Fo - } - - -+pair SVGTree::getFontPair () const { -+ if (_charHandler) -+ return {_charHandler->getFontID(), _charHandler->getFont()}; -+ return {0, nullptr}; -+} -+ -+ - bool SVGTree::setFontFormat (string formatstr) { -- size_t pos = formatstr.find(','); -+ auto pos = formatstr.find(','); - string opt; - if (pos != string::npos) { - opt = formatstr.substr(pos+1); -@@ -258,7 +265,7 @@ void SVGTree::append (const PhysicalFont - auto fontNode = util::make_unique("font"); - string fontname = font.name(); - fontNode->addAttribute("id", fontname); -- fontNode->addAttribute("horiz-adv-x", font.hAdvance()); -+ fontNode->addAttribute("horiz-adv-x", font.hAverageAdvance()); - - auto faceNode = util::make_unique("font-face"); - faceNode->addAttribute("font-family", fontname); -diff -up texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/SVGTree.hpp.301 texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/SVGTree.hpp ---- texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/SVGTree.hpp.301 2022-01-21 12:25:16.000000000 -0500 -+++ texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/SVGTree.hpp 2023-01-17 15:53:51.722205519 -0500 -@@ -2,7 +2,7 @@ - ** SVGTree.hpp ** - ** ** - ** This file is part of dvisvgm -- a fast DVI to SVG converter ** --** Copyright (C) 2005-2022 Martin Gieseking ** -+** Copyright (C) 2005-2023 Martin Gieseking ** - ** ** - ** This program is free software; you can redistribute it and/or ** - ** modify it under the terms of the GNU General Public License as ** -@@ -61,6 +61,7 @@ class SVGTree { - void popPageContext (); - void setBBox (const BoundingBox &bbox); - void setFont (int id, const Font &font); -+ std::pair getFontPair () const; - static bool setFontFormat (std::string formatstr); - void setX (double x) {_charHandler->notifyXAdjusted();} - void setY (double y) {_charHandler->notifyYAdjusted();} -diff -up texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/System.cpp.301 texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/System.cpp ---- texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/System.cpp.301 2022-01-21 12:25:16.000000000 -0500 -+++ texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/System.cpp 2023-01-17 15:53:51.722205519 -0500 -@@ -2,7 +2,7 @@ - ** System.cpp ** - ** ** - ** This file is part of dvisvgm -- a fast DVI to SVG converter ** --** Copyright (C) 2005-2022 Martin Gieseking ** -+** Copyright (C) 2005-2023 Martin Gieseking ** - ** ** - ** This program is free software; you can redistribute it and/or ** - ** modify it under the terms of the GNU General Public License as ** -diff -up texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/System.hpp.301 texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/System.hpp ---- texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/System.hpp.301 2022-01-21 12:25:16.000000000 -0500 -+++ texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/System.hpp 2023-01-17 15:53:51.722205519 -0500 -@@ -2,7 +2,7 @@ - ** System.hpp ** - ** ** - ** This file is part of dvisvgm -- a fast DVI to SVG converter ** --** Copyright (C) 2005-2022 Martin Gieseking ** -+** Copyright (C) 2005-2023 Martin Gieseking ** - ** ** - ** This program is free software; you can redistribute it and/or ** - ** modify it under the terms of the GNU General Public License as ** -diff -up texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/TensorProductPatch.cpp.301 texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/TensorProductPatch.cpp ---- texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/TensorProductPatch.cpp.301 2022-01-21 12:25:16.000000000 -0500 -+++ texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/TensorProductPatch.cpp 2023-01-17 15:53:51.722205519 -0500 -@@ -2,7 +2,7 @@ - ** TensorProductPatch.cpp ** - ** ** - ** This file is part of dvisvgm -- a fast DVI to SVG converter ** --** Copyright (C) 2005-2022 Martin Gieseking ** -+** Copyright (C) 2005-2023 Martin Gieseking ** - ** ** - ** This program is free software; you can redistribute it and/or ** - ** modify it under the terms of the GNU General Public License as ** -@@ -147,10 +147,10 @@ DPair TensorProductPatch::valueAt (doubl - // compute tensor product - DPair p[4]; - for (int i=0; i < 4; i++) { -- Bezier bezier(_points[i][0], _points[i][1], _points[i][2], _points[i][3]); -+ CubicBezier bezier(_points[i][0], _points[i][1], _points[i][2], _points[i][3]); - p[i] = bezier.valueAt(u); - } -- Bezier bezier(p[0], p[1], p[2], p[3]); -+ CubicBezier bezier(p[0], p[1], p[2], p[3]); - return bezier.valueAt(v); - } - -@@ -224,7 +224,7 @@ GraphicsPath TensorProductPatch: - * runs "vertically" from P(u,0) to P(u,1) through the patch P. - * @param[in] u "horizontal" parameter in the range from 0 to 1 - * @param[out] bezier the resulting Bézier curve */ --void TensorProductPatch::verticalCurve (double u, Bezier &bezier) const { -+void TensorProductPatch::verticalCurve (double u, CubicBezier &bezier) const { - // check for simple cases (boundary curves) first - if (u == 0) - bezier.setPoints(_points[0][0], _points[1][0], _points[2][0], _points[3][0]); -@@ -234,7 +234,7 @@ void TensorProductPatch::verticalCurve ( - // compute "inner" curve - DPair p[4]; - for (int i=0; i < 4; i++) { -- Bezier bezier(_points[i][0], _points[i][1], _points[i][2], _points[i][3]); -+ CubicBezier bezier(_points[i][0], _points[i][1], _points[i][2], _points[i][3]); - p[i] = bezier.valueAt(u); - } - bezier.setPoints(p[0], p[1], p[2], p[3]); -@@ -246,7 +246,7 @@ void TensorProductPatch::verticalCurve ( - * runs "horizontally" from P(0,v) to P(1,v) through the patch P. - * @param[in] v "vertical" parameter in the range from 0 to 1 - * @param[out] bezier the resulting Bézier curve */ --void TensorProductPatch::horizontalCurve (double v, Bezier &bezier) const { -+void TensorProductPatch::horizontalCurve (double v, CubicBezier &bezier) const { - // check for simple cases (boundary curves) first - if (v == 0) - bezier.setPoints(_points[0][0], _points[0][1], _points[0][2], _points[0][3]); -@@ -256,7 +256,7 @@ void TensorProductPatch::horizontalCurve - // compute "inner" curve - DPair p[4]; - for (int i=0; i < 4; i++) { -- Bezier bezier(_points[0][i], _points[1][i], _points[2][i], _points[3][i]); -+ CubicBezier bezier(_points[0][i], _points[1][i], _points[2][i], _points[3][i]); - p[i] = bezier.valueAt(v); - } - bezier.setPoints(p[0], p[1], p[2], p[3]); -@@ -293,10 +293,10 @@ void TensorProductPatch::subpatch (doubl - DPair TensorProductPatch::blossomValue (double u1, double u2, double u3, double v1, double v2, double v3) const { - DPair p[4]; - for (int i=0; i < 4; i++) { -- Bezier bezier(_points[i][0], _points[i][1], _points[i][2], _points[i][3]); -+ CubicBezier bezier(_points[i][0], _points[i][1], _points[i][2], _points[i][3]); - p[i] = bezier.blossomValue(u1, u2, u3); - } -- Bezier bezier(p[0], p[1], p[2], p[3]); -+ CubicBezier bezier(p[0], p[1], p[2], p[3]); - return bezier.blossomValue(v1, v2, v3); - } - -@@ -313,10 +313,10 @@ static inline double snap (double x) { - - - /** Computes a single row of segments approximating the patch region between v1 and v1+inc. */ --void TensorProductPatch::approximateRow (double v1, double inc, bool overlap, double delta, const vector &vbeziers, Callback &callback) const { -+void TensorProductPatch::approximateRow (double v1, double inc, bool overlap, double delta, const vector &vbeziers, Callback &callback) const { - double v2 = snap(v1+inc); - double ov2 = (overlap && v2 < 1) ? snap(v2+inc) : v2; -- Bezier hbezier1, hbezier2; -+ CubicBezier hbezier1, hbezier2; - horizontalCurve(v1, hbezier1); - horizontalCurve(ov2, hbezier2); - double u1 = 0; -@@ -324,10 +324,10 @@ void TensorProductPatch::approximateRow - double u2 = snap(u1+inc); - double ou2 = (overlap && u2 < 1) ? snap(u2+inc) : u2; - // compute segment boundaries -- Bezier b1(hbezier1, u1, ou2); -- Bezier b2(vbeziers[i + (overlap && i < vbeziers.size()-1 ? 1 : 0)], v1, ov2); -- Bezier b3(hbezier2, u1, ou2); -- Bezier b4(vbeziers[i-1], v1, ov2); -+ CubicBezier b1(hbezier1, u1, ou2); -+ CubicBezier b2(vbeziers[i + (overlap && i < vbeziers.size()-1 ? 1 : 0)], v1, ov2); -+ CubicBezier b3(hbezier2, u1, ou2); -+ CubicBezier b4(vbeziers[i-1], v1, ov2); - GraphicsPath path; - path.moveto(b1.point(0)); - if (inc > delta) { -@@ -366,7 +366,7 @@ void TensorProductPatch::approximate (in - else { - const double inc = 1.0/gridsize; - // collect curves dividing the patch into several columns (curved vertical stripes) -- vector vbeziers(gridsize+1); -+ vector vbeziers(gridsize+1); - double u=0; - for (int i=0; i <= gridsize; i++) { - verticalCurve(u, vbeziers[i]); -@@ -384,7 +384,7 @@ void TensorProductPatch::approximate (in - - BoundingBox TensorProductPatch::getBBox () const { - BoundingBox bbox; -- Bezier bezier; -+ CubicBezier bezier; - for (int i=0; i <= 1; i++) { - horizontalCurve(i, bezier); - bbox.embed(bezier.getBBox()); -@@ -398,10 +398,10 @@ BoundingBox TensorProductPatch::getBBox - #if 0 - void TensorProductPatch::approximate (int gridsize, Callback &callback) const { - const double inc = 1.0/gridsize; -- Bezier ubezier0; verticalCurve(0, ubezier0); -- Bezier ubezier1; verticalCurve(1, ubezier1); -- Bezier vbezier0; horizontalCurve(0, vbezier0); -- Bezier vbezier1; horizontalCurve(1, vbezier1); -+ CubicBezier ubezier0; verticalCurve(0, ubezier0); -+ CubicBezier ubezier1; verticalCurve(1, ubezier1); -+ CubicBezier vbezier0; horizontalCurve(0, vbezier0); -+ CubicBezier vbezier1; horizontalCurve(1, vbezier1); - for (double v1=0; v1 < 1; v1=snap(v1+inc)) { - double v2 = snap(v1+inc); - DPair p0 = valueAt(0, v1); -@@ -423,25 +423,25 @@ void TensorProductPatch::approximate (in - if (v1 > 0) - path.lineto(p1); - else { -- Bezier bezier(vbezier0, u1, u2); -+ CubicBezier bezier(vbezier0, u1, u2); - path.cubicto(bezier.point(1), bezier.point(2), bezier.point(3)); - } - if (u2 < 1) - path.lineto(p3); - else { -- Bezier bezier(ubezier1, v1, v2); -+ CubicBezier bezier(ubezier1, v1, v2); - path.cubicto(bezier.point(1), bezier.point(2), bezier.point(3)); - } - if (v2 < 1) - path.lineto(p2); - else { -- Bezier bezier(vbezier1, u1, u2); -+ CubicBezier bezier(vbezier1, u1, u2); - path.cubicto(bezier.point(2), bezier.point(1), bezier.point(0)); - } - if (u1 > 0) - path.closepath(); - else { -- Bezier bezier(ubezier0, v1, v2); -+ CubicBezier bezier(ubezier0, v1, v2); - path.cubicto(bezier.point(2), bezier.point(1), bezier.point(0)); - path.closepath(); - } -@@ -472,10 +472,10 @@ DPair CoonsPatch::valueAt (double u, dou - // Compute the value of P(u,v) using the Coons equation rather than the - // tensor product since the "inner" control points of the tensor matrix - // might not be set yet. -- Bezier bezier1(_points[3][0], _points[3][1], _points[3][2], _points[3][3]); -- Bezier bezier2(_points[0][0], _points[0][1], _points[0][2], _points[0][3]); -- Bezier bezier3(_points[3][0], _points[2][0], _points[1][0], _points[0][0]); -- Bezier bezier4(_points[3][3], _points[2][3], _points[1][3], _points[0][3]); -+ CubicBezier bezier1(_points[3][0], _points[3][1], _points[3][2], _points[3][3]); -+ CubicBezier bezier2(_points[0][0], _points[0][1], _points[0][2], _points[0][3]); -+ CubicBezier bezier3(_points[3][0], _points[2][0], _points[1][0], _points[0][0]); -+ CubicBezier bezier4(_points[3][3], _points[2][3], _points[1][3], _points[0][3]); - DPair ph = bezier1.valueAt(u)*(1-v) + bezier2.valueAt(u)*v; - DPair pv = bezier3.valueAt(v)*(1-u) + bezier4.valueAt(v)*u; - DPair pc = (_points[3][0]*(1-u) + _points[3][3]*u)*(1-v) + (_points[0][0]*(1-u) + _points[0][3]*u)*v; -diff -up texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/TensorProductPatch.hpp.301 texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/TensorProductPatch.hpp ---- texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/TensorProductPatch.hpp.301 2022-01-21 12:25:16.000000000 -0500 -+++ texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/TensorProductPatch.hpp 2023-01-17 15:53:51.722205519 -0500 -@@ -2,7 +2,7 @@ - ** TensorProductPatch.hpp ** - ** ** - ** This file is part of dvisvgm -- a fast DVI to SVG converter ** --** Copyright (C) 2005-2022 Martin Gieseking ** -+** Copyright (C) 2005-2023 Martin Gieseking ** - ** ** - ** This program is free software; you can redistribute it and/or ** - ** modify it under the terms of the GNU General Public License as ** -@@ -49,8 +49,8 @@ class TensorProductPatch : public Shadin - virtual DPair valueAt (double u, double v) const; - Color colorAt (double u, double v) const; - Color averageColor () const override; -- void horizontalCurve (double v, Bezier &bezier) const; -- void verticalCurve (double u, Bezier &bezier) const; -+ void horizontalCurve (double v, CubicBezier &bezier) const; -+ void verticalCurve (double u, CubicBezier &bezier) const; - GraphicsPath getBoundaryPath () const override; - void subpatch (double u1, double u2, double v1, double v2, TensorProductPatch &patch) const; - DPair blossomValue (double u1, double u2, double u3, double v1, double v2, double v3) const; -@@ -62,7 +62,7 @@ class TensorProductPatch : public Shadin - - protected: - Color averageColor (const Color &c1, const Color &c2, const Color &c3, const Color &c4) const; -- void approximateRow (double v1, double inc, bool overlap, double delta, const std::vector &beziers, Callback &callback) const; -+ void approximateRow (double v1, double inc, bool overlap, double delta, const std::vector &beziers, Callback &callback) const; - void setFirstMatrixColumn (const DPair source[4], bool reverse); - void setFirstMatrixColumn (DPair source[4][4], int col, bool reverse); - -diff -up texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/Terminal.cpp.301 texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/Terminal.cpp ---- texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/Terminal.cpp.301 2022-01-21 12:25:16.000000000 -0500 -+++ texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/Terminal.cpp 2023-01-17 15:53:51.722205519 -0500 -@@ -2,7 +2,7 @@ - ** Terminal.cpp ** - ** ** - ** This file is part of dvisvgm -- a fast DVI to SVG converter ** --** Copyright (C) 2005-2022 Martin Gieseking ** -+** Copyright (C) 2005-2023 Martin Gieseking ** - ** ** - ** This program is free software; you can redistribute it and/or ** - ** modify it under the terms of the GNU General Public License as ** -diff -up texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/Terminal.hpp.301 texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/Terminal.hpp ---- texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/Terminal.hpp.301 2022-01-21 12:25:16.000000000 -0500 -+++ texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/Terminal.hpp 2023-01-17 15:53:51.722205519 -0500 -@@ -2,7 +2,7 @@ - ** Terminal.hpp ** - ** ** - ** This file is part of dvisvgm -- a fast DVI to SVG converter ** --** Copyright (C) 2005-2022 Martin Gieseking ** -+** Copyright (C) 2005-2023 Martin Gieseking ** - ** ** - ** This program is free software; you can redistribute it and/or ** - ** modify it under the terms of the GNU General Public License as ** -diff -up texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/TFM.cpp.301 texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/TFM.cpp ---- texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/TFM.cpp.301 2022-01-21 12:25:16.000000000 -0500 -+++ texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/TFM.cpp 2023-01-17 15:53:51.722205519 -0500 -@@ -2,7 +2,7 @@ - ** TFM.cpp ** - ** ** - ** This file is part of dvisvgm -- a fast DVI to SVG converter ** --** Copyright (C) 2005-2022 Martin Gieseking ** -+** Copyright (C) 2005-2023 Martin Gieseking ** - ** ** - ** This program is free software; you can redistribute it and/or ** - ** modify it under the terms of the GNU General Public License as ** -@@ -43,8 +43,8 @@ static void read_words (StreamReader &re - - - TFM::TFM (istream &is) : _checksum(0), _firstChar(0), _lastChar(0), _designSize(0), _ascent(0), _descent(0) { -- if (!is) -- return; -+ if (!is) -+ return; - is.seekg(0); - StreamReader reader(is); - uint16_t lf = uint16_t(reader.readUnsigned(2)); // length of entire file in 4 byte words -diff -up texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/TFM.hpp.301 texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/TFM.hpp ---- texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/TFM.hpp.301 2022-01-21 12:25:16.000000000 -0500 -+++ texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/TFM.hpp 2023-01-17 15:53:51.722205519 -0500 -@@ -2,7 +2,7 @@ - ** TFM.hpp ** - ** ** - ** This file is part of dvisvgm -- a fast DVI to SVG converter ** --** Copyright (C) 2005-2022 Martin Gieseking ** -+** Copyright (C) 2005-2023 Martin Gieseking ** - ** ** - ** This program is free software; you can redistribute it and/or ** - ** modify it under the terms of the GNU General Public License as ** -diff -up texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/ToUnicodeMap.cpp.301 texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/ToUnicodeMap.cpp ---- texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/ToUnicodeMap.cpp.301 2022-01-21 12:25:16.000000000 -0500 -+++ texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/ToUnicodeMap.cpp 2023-01-17 16:36:41.778850855 -0500 -@@ -2,7 +2,7 @@ - ** ToUnicodeMap.cpp ** - ** ** - ** This file is part of dvisvgm -- a fast DVI to SVG converter ** --** Copyright (C) 2005-2022 Martin Gieseking ** -+** Copyright (C) 2005-2023 Martin Gieseking ** - ** ** - ** This program is free software; you can redistribute it and/or ** - ** modify it under the terms of the GNU General Public License as ** -@@ -19,6 +19,7 @@ - *************************************************************************/ - - #include -+#include - #include "ToUnicodeMap.hpp" - #include "Unicode.hpp" - -@@ -103,4 +104,4 @@ bool ToUnicodeMap::fillRange (uint32_t m - } - } - return true; --} -\ No newline at end of file -+} -diff -up texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/ToUnicodeMap.hpp.301 texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/ToUnicodeMap.hpp ---- texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/ToUnicodeMap.hpp.301 2022-01-21 12:25:16.000000000 -0500 -+++ texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/ToUnicodeMap.hpp 2023-01-17 15:53:51.723205531 -0500 -@@ -2,7 +2,7 @@ - ** ToUnicodeMap.hpp ** - ** ** - ** This file is part of dvisvgm -- a fast DVI to SVG converter ** --** Copyright (C) 2005-2022 Martin Gieseking ** -+** Copyright (C) 2005-2023 Martin Gieseking ** - ** ** - ** This program is free software; you can redistribute it and/or ** - ** modify it under the terms of the GNU General Public License as ** -diff -up texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/TpicSpecialHandler.cpp.301 texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/TpicSpecialHandler.cpp ---- texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/TpicSpecialHandler.cpp.301 2022-01-21 12:25:16.000000000 -0500 -+++ texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/TpicSpecialHandler.cpp 2023-01-17 15:53:51.723205531 -0500 -@@ -2,7 +2,7 @@ - ** TpicSpecialHandler.cpp ** - ** ** - ** This file is part of dvisvgm -- a fast DVI to SVG converter ** --** Copyright (C) 2005-2022 Martin Gieseking ** -+** Copyright (C) 2005-2023 Martin Gieseking ** - ** ** - ** This program is free software; you can redistribute it and/or ** - ** modify it under the terms of the GNU General Public License as ** -diff -up texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/TpicSpecialHandler.hpp.301 texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/TpicSpecialHandler.hpp ---- texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/TpicSpecialHandler.hpp.301 2022-01-21 12:25:16.000000000 -0500 -+++ texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/TpicSpecialHandler.hpp 2023-01-17 15:53:51.723205531 -0500 -@@ -2,7 +2,7 @@ - ** TpicSpecialHandler.hpp ** - ** ** - ** This file is part of dvisvgm -- a fast DVI to SVG converter ** --** Copyright (C) 2005-2022 Martin Gieseking ** -+** Copyright (C) 2005-2023 Martin Gieseking ** - ** ** - ** This program is free software; you can redistribute it and/or ** - ** modify it under the terms of the GNU General Public License as ** -diff -up texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/TriangularPatch.cpp.301 texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/TriangularPatch.cpp ---- texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/TriangularPatch.cpp.301 2022-01-21 12:25:16.000000000 -0500 -+++ texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/TriangularPatch.cpp 2023-01-17 15:53:51.723205531 -0500 -@@ -2,7 +2,7 @@ - ** TriangularPatch.cpp ** - ** ** - ** This file is part of dvisvgm -- a fast DVI to SVG converter ** --** Copyright (C) 2005-2022 Martin Gieseking ** -+** Copyright (C) 2005-2023 Martin Gieseking ** - ** ** - ** This program is free software; you can redistribute it and/or ** - ** modify it under the terms of the GNU General Public License as ** -diff -up texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/TriangularPatch.hpp.301 texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/TriangularPatch.hpp ---- texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/TriangularPatch.hpp.301 2022-01-21 12:25:16.000000000 -0500 -+++ texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/TriangularPatch.hpp 2023-01-17 15:53:51.723205531 -0500 -@@ -2,7 +2,7 @@ - ** TriangularPatch.hpp ** - ** ** - ** This file is part of dvisvgm -- a fast DVI to SVG converter ** --** Copyright (C) 2005-2022 Martin Gieseking ** -+** Copyright (C) 2005-2023 Martin Gieseking ** - ** ** - ** This program is free software; you can redistribute it and/or ** - ** modify it under the terms of the GNU General Public License as ** -diff -up texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/ttf/CmapTable.cpp.301 texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/ttf/CmapTable.cpp ---- texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/ttf/CmapTable.cpp.301 2023-01-17 15:53:51.723205531 -0500 -+++ texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/ttf/CmapTable.cpp 2023-01-17 15:53:51.723205531 -0500 -@@ -0,0 +1,131 @@ -+/************************************************************************* -+** CmapTable.cpp ** -+** ** -+** This file is part of dvisvgm -- a fast DVI to SVG converter ** -+** Copyright (C) 2005-2023 Martin Gieseking ** -+** ** -+** 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 . ** -+*************************************************************************/ -+ -+#include -+#include "CmapTable.hpp" -+#include "TTFWriter.hpp" -+#include "../Font.hpp" -+#include "../utility.hpp" -+ -+using namespace std; -+using namespace ttf; -+ -+void CmapTable::write (ostream &os) const { -+ writeUInt16(os, 0); // version -+ writeUInt16(os, 2); // number of encoding tables -+ -+ const RangeMap &charmap = ttfWriter()->getUnicodeCharMap(); -+ bool isUCS2 = (charmap.maxKey() <= 0xFFFF); -+ uint32_t offset = 4+2*8; // offset to subtable -+ -+ writeUInt16(os, 0); // platform ID 0 = Unicode -+ writeUInt16(os, isUCS2 ? 3 : 4); // encoding ID (Unicode 2.0, UCS-2 or UCS-4) -+ writeUInt32(os, offset); -+ -+ writeUInt16(os, 3); // platform ID 3 = Windows -+ writeUInt16(os, isUCS2 ? 1 : 10); // encoding ID (UCS-2 or UCS-4) -+ writeUInt32(os, offset); // platform ID 0 = Unicode -+ -+ if (isUCS2) -+ writeSubTableFormat4(os, charmap); -+ else -+ writeSubTableFormat12(os, charmap); -+} -+ -+ -+/** Writes mapping data in subtable format 0 (byte encoding table). */ -+void CmapTable::writeSubTableFormat0 (ostream &os, const RangeMap &charmap) const { -+ writeUInt16(os, 0); // subtable format -+ writeUInt16(os, 3*2+256); // table length -+ writeUInt16(os, 0); // language: none -+ vector indexes(256, 0); -+ int count=1; -+ for (auto cppair : charmap) { -+ if (cppair.first > 255 || count > 255) -+ break; -+ indexes[cppair.first] = uint8_t(count++); -+ } -+ for (uint8_t c : indexes) -+ writeUInt8(os, c); -+} -+ -+ -+/** Writes mapping data in subtable format 4 (segment mapping to delta values, UCS-2). */ -+void CmapTable::writeSubTableFormat4 (ostream &os, const RangeMap &charmap) const { -+ uint16_t numSegments = charmap.numRanges()+1; -+ uint16_t searchRange = 1 << (util::ilog2(numSegments)+1); -+ uint16_t entrySelector = util::ilog2(searchRange/2); -+ uint16_t rangeShift = 2*numSegments - searchRange; -+ -+ writeUInt16(os, 4); // subtable format -+ writeUInt16(os, 8*2+4*2*numSegments); // table length -+ writeUInt16(os, 0); // language: none -+ writeUInt16(os, numSegments*2); -+ writeUInt16(os, searchRange); -+ writeUInt16(os, entrySelector); -+ writeUInt16(os, rangeShift); -+ for (size_t i=0; i < charmap.numRanges(); i++) -+ writeUInt16(os, charmap.getRange(i).max()); // end character code of current segment -+ writeUInt16(os, 0xFFFF); // final end character code -+ writeUInt16(os, 0); // reserved pad -+ for (size_t i=0; i < charmap.numRanges(); i++) -+ writeUInt16(os, charmap.getRange(i).min()); // start character code of current segment -+ writeUInt16(os, 0xFFFF); // final start character code -+ int count=1; -+ for (size_t i=0; i < charmap.numRanges(); i++) { -+ const auto &range = charmap.getRange(i); -+ int cstart = range.min(); -+ writeInt16(os, count-cstart); // idDelta of current segment -+ count += range.numKeys(); -+ } -+ writeUInt16(os, 1); // final idRange (maps 0xFFFF to 0) -+ for (uint16_t i=0; i < numSegments; i++) -+ writeUInt16(os, 0); // idRangeOffsets = 0 (no offsets into glyphIdArray required) -+} -+ -+ -+/** Writes mapping data in subtable format 6 (trimmed table mapping, UCS-2). */ -+void CmapTable::writeSubTableFormat6 (ostream &os, const RangeMap &charmap) const { -+ writeUInt16(os, 6); // subtable format -+ writeUInt16(os, 5*2+2*charmap.numValues()); // table length -+ writeUInt16(os, 0); // language: none -+ writeUInt16(os, charmap.getRange(0).min()); // first character code -+ writeUInt16(os, charmap.getRange(0).numKeys()); -+ for (size_t i=0; i < charmap.getRange(0).numKeys(); i++) -+ writeUInt16(os, i+1); -+} -+ -+ -+/** Writes mapping data in subtable format 12 (segmented coverage, UCS-4). */ -+void CmapTable::writeSubTableFormat12 (ostream &os, const RangeMap &charmap) const { -+ writeUInt16(os, 12); // subtable format -+ writeUInt16(os, 0); // reserved -+ writeUInt32(os, 2*2+3*4+charmap.numRanges()*3*4); // table length -+ writeUInt32(os, 0); // language -+ writeUInt32(os, charmap.numRanges()); -+ uint32_t startIndex=1; -+ for (size_t i=0; i < charmap.numRanges(); i++) { -+ const auto &range = charmap.getRange(i); -+ writeUInt32(os, range.min()); // startCharCode -+ writeUInt32(os, range.max()); // endCharCode -+ writeUInt32(os, startIndex); // startGlyphID -+ startIndex += range.numKeys(); -+ } -+} -diff -up texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/ttf/CmapTable.hpp.301 texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/ttf/CmapTable.hpp ---- texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/ttf/CmapTable.hpp.301 2023-01-17 15:53:51.723205531 -0500 -+++ texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/ttf/CmapTable.hpp 2023-01-17 15:53:51.723205531 -0500 -@@ -0,0 +1,43 @@ -+/************************************************************************* -+** CmapTable.hpp ** -+** ** -+** This file is part of dvisvgm -- a fast DVI to SVG converter ** -+** Copyright (C) 2005-2023 Martin Gieseking ** -+** ** -+** 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 . ** -+*************************************************************************/ -+ -+#pragma once -+#include -+#include "TTFTable.hpp" -+ -+class RangeMap; -+ -+namespace ttf { -+ -+/** This class provides the functions required to write the character mapping table of a TTF/OTF font. -+ * https://www.microsoft.com/typography/otspec/cmap.htm */ -+class CmapTable : public TTFTable { -+ public: -+ uint32_t tag () const override {return name2id("cmap");} -+ void write (std::ostream &os) const override; -+ -+ protected: -+ void writeSubTableFormat0 (std::ostream &os, const RangeMap &charmap) const; -+ void writeSubTableFormat4 (std::ostream &os, const RangeMap &charmap) const; -+ void writeSubTableFormat6 (std::ostream &os, const RangeMap &charmap) const; -+ void writeSubTableFormat12 (std::ostream &os, const RangeMap &charmap) const; -+}; -+ -+} // namespace ttf -\ No newline at end of file -diff -up texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/ttf/GlyfTable.cpp.301 texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/ttf/GlyfTable.cpp ---- texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/ttf/GlyfTable.cpp.301 2023-01-17 15:53:51.723205531 -0500 -+++ texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/ttf/GlyfTable.cpp 2023-01-17 15:53:51.723205531 -0500 -@@ -0,0 +1,501 @@ -+/************************************************************************* -+** GlyfTable.cpp ** -+** ** -+** This file is part of dvisvgm -- a fast DVI to SVG converter ** -+** Copyright (C) 2005-2023 Martin Gieseking ** -+** ** -+** 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 . ** -+*************************************************************************/ -+ -+#include -+#include -+#include -+#include -+#include -+#include "GlyfTable.hpp" -+#include "TTFWriter.hpp" -+#include "../Bezier.hpp" -+#include "../Font.hpp" -+ -+using namespace std; -+using namespace ttf; -+ -+/** Creates a contour by concatenating several contours given in a list. */ -+Contour::Contour (std::list &&contours) { -+ if (_pointInfos.empty() && !contours.empty()) { -+ _pointInfos = std::move(contours.front()._pointInfos); -+ contours.pop_front(); -+ } -+ for (auto it=contours.begin(); it != contours.end(); it=contours.erase(it)) -+ std::move(it->begin(), it->end(), std::back_inserter(_pointInfos)); -+} -+ -+ -+void Contour::reverse () { -+ std::reverse(_pointInfos.begin(), _pointInfos.end()); -+} -+ -+ -+/** Converts the absolute coordinates of a Contour to relative ones. */ -+void Contour::convertAbsoluteToRelative () { -+ Pair prevPoint; -+ for (PointInfo &info : _pointInfos) { -+ Pair p = info.coords; -+ info.coords -= prevPoint; -+ prevPoint = p; -+ } -+} -+ -+ -+/** Returns an iterator pointing to the next PointInfo object in a vector that isn't marked for removal. -+ * If there's no such object, the function returns infos.end(). -+ * @param[in] it current position -+ * @param[in] infos vector the iterator belongs to */ -+static vector::iterator next (vector::iterator it, const vector &infos) { -+ do -+ ++it; -+ while (it != infos.end() && it->removed()); -+ return it; -+} -+ -+ -+/** Reduces the number of contour points without affecting the appearance significantly. */ -+void Contour::reduceNumberOfPoints () { -+ if (_pointInfos.size() > 2) { -+ for (auto it1 = _pointInfos.begin(); it1+2 != _pointInfos.end(); ++it1) { -+ auto it2 = it1+1; -+ auto it3 = it2+1; -+ bool remove=false; -+ if (it1->oncurve() && it2->offcurve() && it3->oncurve()) { -+ // remove off-curve points that are close to an on-curve point -+ Pair diff12 = it1->coords - it2->coords; -+ Pair diff23 = it2->coords - it3->coords; -+ int sqrdist12 = diff12.x()*diff12.x() + diff12.y()*diff12.y(); -+ int sqrdist23 = diff23.x()*diff23.x() + diff23.y()*diff23.y(); -+ remove = (sqrdist12 < 4 || sqrdist23 < 4); -+ if (!remove) { -+ // remove in-between off-curve points that are very close to -+ // the line through the two adjacent on-curve points (curve height <= 0.5) -+ // distance(line(p1,p3), p2) = |det(p1-p3, p1-p2)| / |p1-p3| -+ Pair diff13 = it1->coords - it3->coords; -+ DPair extremum = QuadBezier(it1->coords, it2->coords, it3->coords).valueAt(0.5); -+ int sqrdist13 = diff13.x()*diff13.x() + diff13.y()*diff13.y(); -+ double det1312 = det(DPair(diff13), DPair(it3->coords)-extremum); -+ remove = (sqrdist13 == 0 || det1312/sqrdist13*det1312 < 0.25); -+ } -+ } -+ else if (it2->offcurve() || (it1->oncurve() && it3->oncurve())) { -+ // remove in-between points located on same line -+ Pair diff13 = it3->coords - it1->coords; -+ Pair diff12 = it2->coords - it1->coords; -+ int sqrdist13 = diff13.x()*diff13.x() + diff13.y()*diff13.y(); -+ double det1312 = det(diff13, diff12); -+ remove = (sqrdist13 == 0 || det1312/sqrdist13*det1312 < 1); -+ } -+ else if (it1->offcurve() && it2->oncurve() && it3->offcurve()) { -+ // remove on-curve points located (almost) halfway between two off-curve points -+ Pair mid = DPair(it1->coords + it3->coords)/2.0; -+ Pair vec = mid - it2->coords; -+ double dist2 = vec.x()*vec.x() + vec.y()*vec.y(); -+ remove = (dist2 < 2.25); // remove point if dist < 1.5 -+ } -+ if (remove) -+ it2->markForRemoval(); -+ } -+ } -+ // remove duplicate points, prefer control (off-curve) points -+ for (auto it1 = _pointInfos.begin(); it1 != _pointInfos.end(); it1=next(it1, _pointInfos)) { -+ auto it2 = next(it1, _pointInfos); -+ if (it2 == _pointInfos.end()) -+ it2 = _pointInfos.begin(); -+ if (it1->oncurve() && it2->oncurve() && (it1->coords-it2->coords).length() < 6) { -+ auto i1=it1, i2=it2; -+ if (i1 == _pointInfos.begin()) -+ swap(i1, i2); -+ i2->coords = DPair(i1->coords+i2->coords)/2.0; -+ i1->markForRemoval(); -+ } -+ else if (it1->coords == it2->coords) { -+ if (it1->offcurve() || it2 == _pointInfos.begin()) -+ it1->markForRemoval(); -+ else -+ it2->markForRemoval(); -+ } -+ } -+ // actually remove marked points from vector -+ _pointInfos.erase( -+ remove_if(_pointInfos.begin(), _pointInfos.end(), [](const PointInfo &pi) { -+ return pi.removed(); -+ }), -+ _pointInfos.end()); -+} -+ -+ -+/** Bits of the "Simple Glyph Flags". See section "Simple Glyph Description" of glyf table documentation. */ -+enum : uint8_t { -+ ON_CURVE_PT = 1, ///< if set, corresponing point is on the curve, otherwise off the curve (= control point) -+ X_SHORT = 2, ///< if set, the corresponding x-coordinate is 1 byte long, otherwise it's two bytes long -+ Y_SHORT = 4, ///< if set, the corresponding y-coordinate is 1 byte long, otherwise it's two bytes long -+ REPEAT_FLAG = 8, ///< if set, the next byte specifies the number of additional times this flag is to be repeated -+ X_IS_SAME_OR_POSITIVE_SHORT = 16, ///< if X_SHORT set: indicates if value >0, else if x-coord equals prev. one -+ Y_IS_SAME_OR_POSITIVE_SHORT = 32 ///< if Y_SHORT set: indicates if value >0, else if y-coord equals prev. one -+}; -+ -+ -+/** Computes the "simple glyph flags" (except the repeat flag) for a given contour. -+ * The function expects the contour points to be relative to the respective preceding point. -+ * In order to simplify checking the equality of two flag bytes, which requires to -+ * exclude the repeat flag, this function does not set the repeat flag. */ -+vector Contour::glyphFlags () const { -+ vector flags(_pointInfos.size()); -+ for (size_t i=0; i < _pointInfos.size(); i++) { -+ flags[i] = _pointInfos[i].oncurve() ? ON_CURVE_PT : 0; -+ if (_pointInfos[i].coords.x() == 0) -+ flags[i] |= X_IS_SAME_OR_POSITIVE_SHORT; -+ else if (abs(_pointInfos[i].coords.x()) <= 0xff) { // x-coordinate 1 byte long? -+ flags[i] |= X_SHORT; -+ if (_pointInfos[i].coords.x() > 0) // positive x-coordinate? -+ flags[i] |= X_IS_SAME_OR_POSITIVE_SHORT; -+ } -+ if (_pointInfos[i].coords.y() == 0) -+ flags[i] |= Y_IS_SAME_OR_POSITIVE_SHORT; -+ else if (abs(_pointInfos[i].coords.y()) <= 0xff) { // y-coordinate 1 byte long? -+ flags[i] |= Y_SHORT; -+ if (_pointInfos[i].coords.y() > 0) // positive y-coordinate? -+ flags[i] |= Y_IS_SAME_OR_POSITIVE_SHORT; -+ } -+ } -+ return flags; -+} -+ -+ -+//////////////////////////////////////////////////////////////////////////////////////////////// -+ -+ -+/** Writes the contours describing the glyphs to a given stream. -+ * The glyphs must be ordered by the local glyph index used in the generated TTF font. -+ * In order to get compact mapping tables, we ensure that a greater glyph index also -+ * indicates a greater Unicode point (idx1 > idx2 <=> cp1 > cp2). */ -+void GlyfTable::write (ostream &os) const { -+ // add offset for .notdef character -+ size_t offset = 0; -+ ttfWriter()->addGlyphOffset(0); -+ ttfWriter()->updateGlobalBbox(0, 0, 0, 0, 0); -+ // iterate in ascending Unicode point order over all characters to be added to the TTF -+ for (auto cp2charcode : ttfWriter()->getUnicodeCharMap()) { -+ ttfWriter()->addGlyphOffset(offset); // update loca table -+ offset += writeGlyphContours(os, cp2charcode.second); -+ } -+ ttfWriter()->addGlyphOffset(offset); // add extra offset after last valid one -+} -+ -+ -+/** Writes the contour data of a single glyph to a given output stream. -+ * @param[in] os stream to write to -+ * @param[in] charcode character code of glyph in current font -+ * @return number of bytes written */ -+size_t GlyfTable::writeGlyphContours (ostream &os, uint32_t charcode) const { -+ list contours = computeContours(charcode); -+ if (contours.empty()) { -+ ttfWriter()->updateGlobalBbox(charcode, 0, 0, 0, 0); -+ return 0; -+ } -+ ttfWriter()->updateContourInfo(contours.size(), -+ std::accumulate(contours.begin(), contours.end(), size_t(0), [](size_t sum, const Contour &contour) { -+ return sum + contour.numPoints(); -+ })); -+ auto offset = os.tellp(); -+ // glyph header -+ writeInt16(os, int16_t(contours.size())); // numberOfContours -+ -+ int xmin, xmax, ymin, ymax; -+ computeBbox(contours, xmin, ymin, xmax, ymax); -+ ttfWriter()->updateGlobalBbox(charcode, xmin, ymin, xmax, ymax); -+ writeInt16(os, xmin); -+ writeInt16(os, ymin); -+ writeInt16(os, xmax); -+ writeInt16(os, ymax); -+ -+ // write indices of endpoints of each contour -+ size_t endPtsOfContours = 0; -+ for (const Contour &contour : contours) { -+ endPtsOfContours += contour.numPoints(); -+ writeUInt16(os, endPtsOfContours-1); -+ } -+ writeUInt16(os, 0); // instructionLength -+ -+ Contour combinedContour(std::move(contours)); -+ combinedContour.convertAbsoluteToRelative(); -+ -+ // write contour flags -+ vector flags = combinedContour.glyphFlags(); -+ for (auto first=flags.begin(); first != flags.end(); ++first) { -+ auto last = std::find_if(first+1, flags.end(), [&first](uint8_t flagbyte) { -+ return flagbyte != *first; -+ }); -+ if (--last == first) // run-length == 0? -+ writeUInt8(os, *first); -+ else { -+ writeUInt8(os, (*first) | REPEAT_FLAG); // write flag only once and -+ writeUInt8(os, last-first); // append number of additional repeats -+ first = last; -+ } -+ } -+ // write x-coordinates -+ for (size_t i=0; i < combinedContour.numPoints(); i++) { -+ if (flags[i] & X_SHORT) // short (one byte) x coordinate? -+ writeUInt8(os, abs(combinedContour[i].coords.x())); -+ else if ((flags[i] & X_IS_SAME_OR_POSITIVE_SHORT) == 0) // does long x-coordinate differ from previous one? -+ writeInt16(os, int16_t(combinedContour[i].coords.x())); -+ } -+ // write y-coordinates -+ for (size_t i=0; i < combinedContour.numPoints(); i++) { -+ if (flags[i] & Y_SHORT) // short (one byte) y coordinate? -+ writeUInt8(os, abs(combinedContour[i].coords.y())); -+ else if ((flags[i] & Y_IS_SAME_OR_POSITIVE_SHORT) == 0) // does long y-coordinate differ from previous one? -+ writeInt16(os, int16_t(combinedContour[i].coords.y())); -+ } -+ // ensure that the number of glyph data bytes is a multiple of 4 (pad at dword boundary) -+ for (int i = (1 + ~(os.tellp()-offset)) & 3; i > 0; i--) -+ writeUInt8(os, 0); -+ return os.tellp()-offset; -+} -+ -+ -+/** Computes the absolute global bounds of multiple contours. -+ * @param[in] contours point data with absolute coordinates */ -+void GlyfTable::computeBbox (const list &contours, int &xmin, int &ymin, int &xmax, int &ymax) { -+ if (contours.empty()) -+ xmin = xmax = ymin = ymax = 0; -+ else { -+ xmin = ymin = numeric_limits::max(); -+ xmax = ymax = numeric_limits::min(); -+ for (const Contour &contour : contours) { -+ for (const PointInfo &info : contour) { -+ const auto &p = info.coords; -+ xmin = min(xmin, p.x()); -+ xmax = max(xmax, p.x()); -+ ymin = min(ymin, p.y()); -+ ymax = max(ymax, p.y()); -+ } -+ } -+ } -+} -+ -+ -+static Glyph::Point to_point (const DPair &p) { -+ return Glyph::Point(int(std::round(p.x())), int(std::round(p.y()))); -+} -+ -+ -+struct GlyphToContourActions : Glyph::IterationActions { -+ GlyphToContourActions (list &cnts, double s) : contours(cnts), scale(s) {} -+ -+ void moveto (const Glyph::Point &p) override { -+ contours.emplace_back(Contour()); -+ add(p, true); -+ } -+ -+ void lineto (const Glyph::Point &p) override { -+ if (contours.empty()) -+ moveto(currentPoint()); // (0, 0) -+ if (p != currentPoint()) -+ add(p, true); -+ } -+ -+ void quadto (const Glyph::Point &p1, const Glyph::Point &p2) override { -+ if (contours.empty()) -+ moveto(currentPoint()); // (0, 0) -+ // if the maximum distance between the curve and the line through p0 and p2 is < 0.5, -+ // treat the curve as a line -+ DPair extremum = QuadBezier(currentPoint(), p1, p2).valueAt(0.5); -+ double height = det(DPair(currentPoint()-p2), DPair(currentPoint())-extremum)/(currentPoint()-p2).length(); -+ if (p1 != currentPoint() && abs(height) >= 0.5 && p2 != currentPoint()) -+ add(p1, false); -+ if (p2 != currentPoint()) -+ add(p2, true); -+ } -+ -+ void cubicto (const Glyph::Point &p1, const Glyph::Point &p2, const Glyph::Point &p3) override { -+ // approximate cubic Bézier curve with a sequence of quadratic ones -+ CubicBezier cubic( -+ DPair(currentPoint().x(), currentPoint().y()), -+ DPair(p1.x(), p1.y()), -+ DPair(p2.x(), p2.y()), -+ DPair(p3.x(), p3.y()) -+ ); -+ vector quadBeziers = cubic.toQuadBeziers(0.8); -+ for (const QuadBezier &quad : quadBeziers) -+ quadto(to_point(quad.point(1)), to_point(quad.point(2))); -+ } -+ -+ void add (const Glyph::Point &p, bool oncurve) { -+ contours.back().append(PointInfo(scale*p.x(), scale*p.y(), oncurve)); -+ } -+ -+ list &contours; -+ double scale; -+}; -+ -+ -+/** Returns a sequence of contours describing the glyph of a given character. -+ * The contour points are stored with absolute coordinates. */ -+list GlyfTable::computeContours (uint32_t charcode) const { -+ list contours; -+ Glyph glyph; -+ if (ttfWriter()->getFont().getGlyph(int(charcode), glyph, ttfWriter()->getTracerCallback())) { -+ if (!glyph.empty()) { -+ GlyphToContourActions actions(contours, ttfWriter()->unitsPerEmFactor()); -+ glyph.iterate(actions, false); -+ for (auto it = contours.begin(); it != contours.end();) { -+ it->reverse(); // TTF contours must be clockwise-oriented -+ it->reduceNumberOfPoints(); -+ if (it->numPoints() < 3) -+ it = contours.erase(it); -+ else -+ ++it; -+ } -+ } -+#ifdef TTFDEBUG -+ if (TTFWriter::CREATE_PS_GLYPH_OUTLINES) { -+ string fontname = ttfWriter()->getFont().name(); -+ ostringstream oss; -+ oss << "g-" << ttfWriter()->getFont().name() << '-'; -+ oss << setw(4) << setfill('0') << charcode; -+ oss << ".eps"; -+ ofstream ofs(oss.str()); -+ writePS(ofs, contours, charcode); -+ } -+#endif -+ } -+ return contours; -+} -+ -+ -+#if 0 -+/** Creates a contour for the .notdef character. */ -+Contour GlyfTable::getNotDefContour () const { -+ Contour contour; -+ const PhysicalFont &font = ttfWriter()->getFont(); -+ double extend = font.style() ? font.style()->extend : 1; -+ double scale = ttfWriter()->unitsPerEmFactor(); -+ int base = int(round(scale*extend*(font.ascent()+font.descent()))); -+ Pair pmin(base/30, 0); -+ Pair pmax(3*base/5, 2*base/3); -+ contour.append(PointInfo(pmin.x(), pmin.y())); -+ contour.append(PointInfo(pmin.x(), pmax.y())); -+ contour.append(PointInfo(pmax.x(), pmax.y())); -+ contour.append(PointInfo(pmax.x(), pmin.y())); -+ return contour; -+} -+#endif -+ -+ -+#ifdef TTFDEBUG -+/** Creates PostScript code from a list of contours that describe the outline of a single glyph. -+ * This is just required for analysis and debugging purposes. */ -+void GlyfTable::writePS (ostream &os, const list &contours, uint32_t charcode) const { -+ os << "%!PS-Adobe-3.0 EPSF-3.0\n" -+ << "%%BoundingBox: (atend)\n" -+ << "/dot {moveto gsave 5 setlinewidth 1 setlinecap currentpoint lineto stroke grestore} bind def\n" -+ << "/oncurvedot {dot} bind def\n" -+ << "/offcurvedot {gsave 0 1 0 setrgbcolor dot grestore} bind def\n" -+ << "/Helvetica findfont 8 scalefont setfont\n\n"; -+ auto &font = ttfWriter()->getFont(); -+ os << "% Font: " << font.name() << " at " << font.designSize() << "pt, " << font.unitsPerEm() << " units per em\n" -+ << "% Glyph: " << charcode << "\n"; -+ Pair llp(numeric_limits::max(), numeric_limits::max()); -+ Pair urp(numeric_limits::min(), numeric_limits::min()); -+ size_t count=0, numPoints=0; -+ for (const Contour &contour : contours) { -+ os << "\n% contour " << ++count << ", " << contour.numPoints() << " points\n"; -+ contour.writePS(os); -+ numPoints += contour.numPoints(); -+ } -+ int minx, miny, maxx, maxy; -+ computeBbox(contours, minx, miny, maxx, maxy); -+ os << minx << " " << maxy+30 -+ << " moveto (Glyph " << charcode << " of font " << font.name() << ", " -+ << contours.size() << " contour" << (contours.size() > 1 ? "s" : "") << ", " << numPoints << " points) show\n"; -+ os << "%%Trailer\n" -+ << "%%BoundingBox: " << minx-10 << " " << miny-10 << " " << maxx+10 << " " << maxy+50 << "\n"; -+} -+ -+ -+static ostream& write (ostream &os, const Pair &p) { -+ return os << p.x() << " " << p.y(); -+} -+ -+template -+static ostream& write (ostream &os, const Pair &p, const Ts& ...args) { -+ write(os, p) << " "; -+ return write(os, args...); -+} -+ -+ -+void Contour::writePS (ostream &os) const { -+ if (_pointInfos.empty()) -+ return; -+ auto p0 = _pointInfos[0].coords; -+ write(os, p0) << " moveto\n"; -+ for (size_t i=1; i <= _pointInfos.size(); i++) { -+ size_t imod = i % _pointInfos.size(); -+ auto pi1 = _pointInfos[imod]; -+ if (pi1.oncurve() && i == _pointInfos.size()) -+ os << "closepath\n"; -+ else -+ write(os, pi1.coords) << " "; -+ if (pi1.oncurve()) { -+ if (i < _pointInfos.size()) { -+ auto v = pi1.coords-p0; -+ os << " lineto % " << i << "; len=" << v.length() -+ << "; " << math::rad2deg(atan2(v.y(), v.x())) << "°\n"; -+ } -+ p0 = pi1.coords; -+ } -+ else { -+ auto p1 = pi1.coords; -+ auto pi2 = _pointInfos[(i+1) % _pointInfos.size()]; -+ auto p2 = pi2.oncurve() ? pi2.coords : (p1+pi2.coords)/2; -+ DPair v1 = p1-p0, v2 = p1-p2; -+ Pair c1 = DPair(p0) + round(v1*2.0/3.0); -+ Pair c2 = DPair(p2) + round(v2*2.0/3.0); -+ QuadBezier bezier(p0, p1, p2); -+ double cordlen = (p2-p0).length(); -+ double arclen = bezier.arclen(); -+ DPair extremum = bezier.valueAt(0.5); -+ double height = det(DPair(p0-p2), DPair(p0)-extremum)/(p0-p2).length(); -+ write(os, c1, c2, p2) << " curveto" -+ << " % " << i -+ << "; (" << math::rad2deg(atan2(v1.y(), v1.x())) << "°," << math::rad2deg(atan2(v2.y(), v2.x())) << "°)" -+ << "; cordlen=" << cordlen -+ << "; arclen=" << arclen -+ << "; quot=" << cordlen/arclen -+ << "; diff=" << arclen-cordlen -+ << "; height=" << height -+ << "\n"; -+ p0 = p2; -+ if (pi2.oncurve()) -+ i++; -+ } -+ } -+ os << "stroke\n"; -+ for (size_t i=0; i < _pointInfos.size(); i++) { -+ auto p = _pointInfos[i].coords; -+ write(os, p) << " 2 copy " -+ << (_pointInfos[i].oncurve() ? "on" : "off") << "curvedot " -+ << "moveto (" << i << ") show\n"; -+ } -+} -+#endif -diff -up texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/ttf/GlyfTable.hpp.301 texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/ttf/GlyfTable.hpp ---- texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/ttf/GlyfTable.hpp.301 2023-01-17 15:53:51.723205531 -0500 -+++ texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/ttf/GlyfTable.hpp 2023-01-17 15:53:51.723205531 -0500 -@@ -0,0 +1,96 @@ -+/************************************************************************* -+** GlyfTable.hpp ** -+** ** -+** This file is part of dvisvgm -- a fast DVI to SVG converter ** -+** Copyright (C) 2005-2023 Martin Gieseking ** -+** ** -+** 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 . ** -+*************************************************************************/ -+ -+#pragma once -+#include -+#include -+#include -+#include -+#include "TTFTable.hpp" -+#include "../Pair.hpp" -+ -+namespace ttf { -+ -+struct PointInfo { -+ enum State {OFFCURVE, ONCURVE, REMOVED}; -+ -+ PointInfo (double x, double y, bool oncurve) : coords(std::round(x), std::round(y)), state(oncurve ? ONCURVE : OFFCURVE) {} -+ PointInfo (int x, int y) : coords(x, y), state(ONCURVE) {} -+ bool oncurve () const {return state == ONCURVE;} -+ bool offcurve () const {return state == OFFCURVE;} -+ bool removed () const {return state == REMOVED;} -+ void markForRemoval () {state = REMOVED;} -+ Pair coords; ///< relative coordinates to previous one in contour -+ State state; -+}; -+ -+ -+class Contour { -+ friend class GlyfTable; -+ using Iterator = std::vector::iterator; -+ using ConstIterator = std::vector::const_iterator; -+ public: -+ Contour () =default; -+ Contour (Contour &&contour) =default; -+ Contour (std::list &&contours); -+ Contour (const Contour &contour) =delete; -+ Iterator begin () {return _pointInfos.begin();} -+ Iterator end () {return _pointInfos.end();} -+ ConstIterator begin () const {return _pointInfos.begin();} -+ ConstIterator end () const {return _pointInfos.end();} -+ size_t numPoints () const {return _pointInfos.size();} -+ const PointInfo& operator [] (size_t pos) const {return _pointInfos[pos];} -+ bool empty () const {return _pointInfos.empty();} -+ std::vector glyphFlags () const; -+ void reverse (); -+ void reduceNumberOfPoints (); -+ void append (PointInfo &&pinfo) {_pointInfos.emplace_back(std::move(pinfo));} -+ void reserve (size_t n) {_pointInfos.reserve(n);} -+ -+ protected: -+ void convertAbsoluteToRelative (); -+#ifdef TTFDEBUG -+ void writePS (std::ostream &os) const; -+#endif -+ -+ private: -+ std::vector _pointInfos; -+}; -+ -+ -+/** This class provides the functions required to write the glyf data table of a TTF/OTF font. -+ * https://www.microsoft.com/typography/otspec/glyf.htm */ -+class GlyfTable : public TTFTable { -+ public: -+ uint32_t tag () const override {return name2id("glyf");} -+ void write (std::ostream &os) const override; -+ -+ protected: -+ std::vector computeContours () const; -+ std::list computeContours (uint32_t charcode) const; -+ static void computeBbox (const std::list &contours, int &xmin, int &ymin, int &xmax, int &ymax); -+ size_t writeGlyphContours (std::ostream &os, uint32_t charcode) const; -+// Contour getNotDefContour () const; -+#ifdef TTFDEBUG -+ void writePS (std::ostream &os, const std::list &contours, uint32_t charcode) const; -+#endif -+}; -+ -+} // namespace ttf -\ No newline at end of file -diff -up texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/ttf/HeadTable.cpp.301 texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/ttf/HeadTable.cpp ---- texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/ttf/HeadTable.cpp.301 2023-01-17 15:53:51.723205531 -0500 -+++ texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/ttf/HeadTable.cpp 2023-01-17 15:53:51.723205531 -0500 -@@ -0,0 +1,78 @@ -+/************************************************************************* -+** HeadTable.cpp ** -+** ** -+** This file is part of dvisvgm -- a fast DVI to SVG converter ** -+** Copyright (C) 2005-2023 Martin Gieseking ** -+** ** -+** 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 . ** -+*************************************************************************/ -+ -+#include -+#include -+#include -+#include -+#include "HeadTable.hpp" -+#include "TTFWriter.hpp" -+ -+using namespace std; -+using namespace ttf; -+ -+ -+void HeadTable::updateGlobalBbox (int16_t xmin, int16_t ymin, int16_t xmax, int16_t ymax) { -+ if (xmin < _xMin) _xMin = xmin; -+ if (ymin < _yMin) _yMin = ymin; -+ if (xmax > _xMax) _xMax = xmax; -+ if (ymax > _yMax) _yMax = ymax; -+} -+ -+ -+/** Returns the number of seconds elapsed since 1.1.1904 00:00:00 until now. -+ * @return number of seconds separated in upper and lower dword of a 64-bit value */ -+static pair seconds_since_1904 () { -+ auto now = chrono::system_clock::now(); -+ time_t now_time = chrono::system_clock::to_time_t(now); -+ struct tm *comp = gmtime(&now_time); -+ util::Date date1(1904, 1, 1); -+ util::Date date2(comp->tm_year+1900, comp->tm_mon+1, comp->tm_mday); -+ uint64_t days = date2 - date1 - 1; -+ uint64_t seconds = ((days*24 + comp->tm_hour)*60 + comp->tm_min)*60 + comp->tm_sec; -+ return {uint32_t(seconds >> 32), uint32_t(seconds & 0xffffffff)}; -+} -+ -+ -+/** Writes the head table to a given output stream. -+ * https://docs.microsoft.com/en-us/typography/opentype/spec/head */ -+void HeadTable::write (ostream &os) const { -+ writeUInt16(os, 1); // major version -+ writeUInt16(os, 0); // minor version -+ writeUInt32(os, 0x10000); // font revision (1.0) -+ writeUInt32(os, 0); // global checksum, computed and set by TTFWriter -+ writeUInt32(os, 0x5F0F3CF5); // magic number -+ writeUInt16(os, 1+2); // flags (baseline at y=0, left sidebearing point at x=0) -+ writeUInt16(os, uint16_t(std::round(ttfWriter()->targetUnitsPerEm()))); -+ auto seconds = seconds_since_1904(); -+ writeUInt32(os, seconds.first); // creation time, upper dword -+ writeUInt32(os, seconds.second); // creation time, lower dword -+ writeUInt32(os, seconds.first); // modification time, upper dword -+ writeUInt32(os, seconds.second); // modification time, lower dword -+ writeInt16(os, _xMin); -+ writeInt16(os, _yMin); -+ writeInt16(os, _xMax); -+ writeInt16(os, _yMax); -+ writeUInt16(os, 0); // macStyle -+ writeUInt16(os, 8); // smallest readable size in pixels -+ writeInt16(os, 2); // fontDirectionHint (deprecated, always 2) -+ writeInt16(os, _indexToLocFormat); -+ writeInt16(os, 0); // glyphDataFormat -+} -diff -up texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/ttf/HeadTable.hpp.301 texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/ttf/HeadTable.hpp ---- texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/ttf/HeadTable.hpp.301 2023-01-17 15:53:51.723205531 -0500 -+++ texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/ttf/HeadTable.hpp 2023-01-17 15:53:51.723205531 -0500 -@@ -0,0 +1,49 @@ -+/************************************************************************* -+** HeadTable.hpp ** -+** ** -+** This file is part of dvisvgm -- a fast DVI to SVG converter ** -+** Copyright (C) 2005-2023 Martin Gieseking ** -+** ** -+** 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 . ** -+*************************************************************************/ -+ -+#pragma once -+ -+#include -+#include "TTFTable.hpp" -+ -+namespace ttf { -+ -+/** This class provides the functions required to write the font header table of a TTF/OTF font. -+ * https://www.microsoft.com/typography/otspec/head.htm */ -+class HeadTable : public TTFTable { -+ friend class TTFWriter; -+ public: -+ uint32_t tag () const override {return name2id("head");} -+ void updateGlobalBbox (int16_t xmin, int16_t ymin, int16_t xmax, int16_t ymax); -+ void write (std::ostream &os) const override; -+ static int offsetToChecksum () {return 2+2+4;} -+ -+ protected: -+ void setLongOffsetFormat () {_indexToLocFormat = 1;} -+ -+ private: -+ int16_t _xMin = std::numeric_limits::max(); -+ int16_t _yMin = std::numeric_limits::max(); -+ int16_t _xMax = std::numeric_limits::min(); -+ int16_t _yMax = std::numeric_limits::min(); -+ int16_t _indexToLocFormat = 0; // 0: short (16-bit) format, 1: long (32-bit) format -+}; -+ -+} // namespace ttf -diff -up texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/ttf/HheaTable.cpp.301 texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/ttf/HheaTable.cpp ---- texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/ttf/HheaTable.cpp.301 2023-01-17 15:53:51.723205531 -0500 -+++ texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/ttf/HheaTable.cpp 2023-01-17 15:53:51.723205531 -0500 -@@ -0,0 +1,67 @@ -+/************************************************************************* -+** HheaTable.cpp ** -+** ** -+** This file is part of dvisvgm -- a fast DVI to SVG converter ** -+** Copyright (C) 2005-2023 Martin Gieseking ** -+** ** -+** 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 . ** -+*************************************************************************/ -+ -+#include "HheaTable.hpp" -+#include "TTFWriter.hpp" -+#include "../Font.hpp" -+ -+using namespace std; -+using namespace ttf; -+ -+ -+void HheaTable::write (ostream &os) const { -+ const PhysicalFont &font = ttfWriter()->getFont(); -+ double scale = ttfWriter()->unitsPerEmFactor(); -+ writeUInt16(os, 1); // major version -+ writeUInt16(os, 0); // minor version -+ writeInt16(os, round(font.ascent()*scale)); -+ writeInt16(os, round(-font.descent()*scale)); -+ writeInt16(os, 0); // line gap -+ writeUInt16(os, _advanceWidthMax); -+ writeInt16(os, _minLeftSideBearing); -+ writeInt16(os, _minRightSideBearing); -+ writeInt16(os, _xMaxExtent); -+ writeInt16(os, 1); // caretSlopeRise (1 = vertical) -+ writeInt16(os, 0); // caretSlopeRun (0 = vertical) -+ writeInt16(os, 0); // caretOffset -+ writeInt16(os, 0); // reserved -+ writeInt16(os, 0); // reserved -+ writeInt16(os, 0); // reserved -+ writeInt16(os, 0); // reserved -+ writeInt16(os, 0); // metricDataFormat (always 0) -+ writeUInt16(os, _numberOfHMetrics); -+} -+ -+ -+void HheaTable::updateXMinMax (uint32_t c, int16_t xmin, int16_t xmax) { -+ const PhysicalFont &font = ttfWriter()->getFont(); -+ double extend = font.style() ? font.style()->extend : 1; -+ double scale = ttfWriter()->unitsPerEmFactor(); -+ int16_t advance = (c == 0 ? xmax : round(scale*extend*font.hAdvance(c))); -+ _xMaxExtent = max(_xMaxExtent, xmax); -+ _minLeftSideBearing = min(_minLeftSideBearing, xmin); -+ _minRightSideBearing = min(_minRightSideBearing, int16_t(advance-xmax)); -+} -+ -+ -+void HheaTable::updateAdvanceWidth (uint16_t w, uint16_t numberOfHMetrics) { -+ _advanceWidthMax = max(_advanceWidthMax, w); -+ _numberOfHMetrics = numberOfHMetrics; -+} -diff -up texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/ttf/HheaTable.hpp.301 texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/ttf/HheaTable.hpp ---- texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/ttf/HheaTable.hpp.301 2023-01-17 15:53:51.723205531 -0500 -+++ texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/ttf/HheaTable.hpp 2023-01-17 15:53:51.723205531 -0500 -@@ -0,0 +1,47 @@ -+/************************************************************************* -+** HheaTable.hpp ** -+** ** -+** This file is part of dvisvgm -- a fast DVI to SVG converter ** -+** Copyright (C) 2005-2023 Martin Gieseking ** -+** ** -+** 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 . ** -+*************************************************************************/ -+ -+#pragma once -+#include -+#include "TTFTable.hpp" -+ -+namespace ttf { -+ -+/** This class provides the functions required to write the horizontal header table of a TTF/OTF font. -+ * https://www.microsoft.com/typography/otspec/hhea.htm */ -+class HheaTable : public TTFTable { -+ friend class TTFWriter; -+ public: -+ uint32_t tag () const override {return name2id("hhea");} -+ void write (std::ostream &os) const override; -+ -+ protected: -+ void updateXMinMax (uint32_t c, int16_t xmin, int16_t xmax); -+ void updateAdvanceWidth (uint16_t w, uint16_t numberOfHMetrics); -+ -+ private: -+ uint16_t _advanceWidthMax = 0; -+ int16_t _minLeftSideBearing = std::numeric_limits::max(); -+ int16_t _minRightSideBearing = std::numeric_limits::max(); -+ int16_t _xMaxExtent = std::numeric_limits::min(); -+ uint16_t _numberOfHMetrics = 0; -+}; -+ -+} // namespace ttf -diff -up texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/ttf/HmtxTable.cpp.301 texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/ttf/HmtxTable.cpp ---- texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/ttf/HmtxTable.cpp.301 2023-01-17 15:53:51.723205531 -0500 -+++ texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/ttf/HmtxTable.cpp 2023-01-17 15:53:51.723205531 -0500 -@@ -0,0 +1,62 @@ -+/************************************************************************* -+** HmtxTable.cpp ** -+** ** -+** This file is part of dvisvgm -- a fast DVI to SVG converter ** -+** Copyright (C) 2005-2023 Martin Gieseking ** -+** ** -+** 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 . ** -+*************************************************************************/ -+ -+#include -+#include "HmtxTable.hpp" -+#include "TTFWriter.hpp" -+#include "../Font.hpp" -+ -+using namespace std; -+using namespace ttf; -+ -+void HmtxTable::write (ostream &os) const { -+ auto runStart = _widthInfos.end(); -+ if (!_widthInfos.empty()) -+ runStart -= _runLengthOfAdvWidth-1; -+ // write longHorMetrics up to the beginning of the repeating -+ // advance widths at the end of the container -+ for (auto it = _widthInfos.begin(); it != runStart; ++it) { -+ writeUInt16(os, it->advWidth); -+ writeInt16(os, it->lsb); -+ } -+ // write the trailing left side bearings -+ for (; runStart != _widthInfos.end(); ++runStart) -+ writeInt16(os, runStart->lsb); -+} -+ -+ -+void HmtxTable::updateWidthData (uint32_t c, int16_t xmin, int16_t xmax) { -+ const PhysicalFont &font = ttfWriter()->getFont(); -+ double extend = font.style() ? font.style()->extend : 1; -+ double scale = ttfWriter()->unitsPerEmFactor(); -+ int16_t w = (c == 0 ? xmax : int16_t(round(scale*extend*font.hAdvance(c)))); -+ if (_isFixedPitch && c > 0 && w != _width) { -+ if (_width == 0) -+ _width = w; -+ else -+ _isFixedPitch = false; -+ } -+ if (_widthInfos.empty() || w == _widthInfos.back().advWidth) -+ _runLengthOfAdvWidth++; -+ else -+ _runLengthOfAdvWidth = 1; -+ _widthInfos.emplace_back(CharWidthInfo(xmin, w)); -+ ttfWriter()->updateGlobalAdvanceWidth(w, _widthInfos.size()-_runLengthOfAdvWidth+1); -+} -\ No newline at end of file -diff -up texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/ttf/HmtxTable.hpp.301 texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/ttf/HmtxTable.hpp ---- texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/ttf/HmtxTable.hpp.301 2023-01-17 15:53:51.724205542 -0500 -+++ texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/ttf/HmtxTable.hpp 2023-01-17 15:53:51.723205531 -0500 -@@ -0,0 +1,52 @@ -+/************************************************************************* -+** HmtxTable.hpp ** -+** ** -+** This file is part of dvisvgm -- a fast DVI to SVG converter ** -+** Copyright (C) 2005-2023 Martin Gieseking ** -+** ** -+** 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 . ** -+*************************************************************************/ -+ -+#pragma once -+ -+#include -+#include "TTFTable.hpp" -+ -+namespace ttf { -+ -+/** This class provides the functions required to write the horizontal metrics table of a TTF/OTF font. -+ * https://www.microsoft.com/typography/otspec/hmtx.htm */ -+class HmtxTable : public TTFTable { -+ friend TTFWriter; -+ struct CharWidthInfo { -+ CharWidthInfo (int16_t l, int16_t w) : lsb(l), advWidth(w) {} -+ uint16_t lsb; // left side bearing -+ uint16_t advWidth; // unscaled advance width -+ }; -+ public: -+ uint32_t tag () const override {return name2id("hmtx");} -+ void write (std::ostream &os) const override; -+ bool isFixedPitch () const {return _isFixedPitch;} -+ -+ protected: -+ void updateWidthData (uint32_t c, int16_t xmin, int16_t xmax); -+ -+ private: -+ std::vector _widthInfos; -+ size_t _runLengthOfAdvWidth=0; // number of identical advWidth values at end of _widthInfos -+ bool _isFixedPitch=true; -+ int16_t _width=0; -+}; -+ -+} // namespace ttf -diff -up texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/ttf/LocaTable.hpp.301 texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/ttf/LocaTable.hpp ---- texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/ttf/LocaTable.hpp.301 2023-01-17 15:53:51.724205542 -0500 -+++ texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/ttf/LocaTable.hpp 2023-01-17 15:53:51.724205542 -0500 -@@ -0,0 +1,56 @@ -+/************************************************************************* -+** LocaTable.hpp ** -+** ** -+** This file is part of dvisvgm -- a fast DVI to SVG converter ** -+** Copyright (C) 2005-2023 Martin Gieseking ** -+** ** -+** 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 . ** -+*************************************************************************/ -+ -+#pragma once -+ -+#include -+#include "TTFTable.hpp" -+ -+namespace ttf { -+ -+/** This class provides the functions required to write the loca table of a TTF/OTF font. -+ * https://www.microsoft.com/typography/otspec/loca.htm */ -+class LocaTable : public TTFTable { -+ friend class TTFWriter; -+ public: -+ uint32_t tag () const override {return name2id("loca");} -+ -+ void write (std::ostream &os) const override { -+ for (uint32_t offs : _offsets) { -+ if (_isShortFormat) -+ writeUInt16(os, offs/2); -+ else -+ writeUInt32(os, offs); -+ } -+ } -+ -+ protected: -+ void addOffset (uint32_t offset) { -+ _offsets.push_back(offset); -+ if (offset/2 > 0xFFFF) -+ _isShortFormat = false; -+ } -+ -+ private: -+ bool _isShortFormat=true; -+ std::vector _offsets; -+}; -+ -+} // namespace ttf -diff -up texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/ttf/Makefile.am.301 texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/ttf/Makefile.am ---- texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/ttf/Makefile.am.301 2023-01-17 15:53:51.724205542 -0500 -+++ texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/ttf/Makefile.am 2023-01-17 15:53:51.724205542 -0500 -@@ -0,0 +1,25 @@ -+noinst_LTLIBRARIES = libttf.la -+ -+libttf_la_SOURCES = \ -+ CmapTable.hpp CmapTable.cpp \ -+ GlyfTable.hpp GlyfTable.cpp \ -+ HeadTable.hpp HeadTable.cpp \ -+ HheaTable.hpp HheaTable.cpp \ -+ HmtxTable.hpp HmtxTable.cpp \ -+ LocaTable.hpp MaxpTable.cpp \ -+ MaxpTable.hpp NameTable.cpp \ -+ NameTable.hpp OS2Table.cpp \ -+ OS2Table.hpp PostTable.cpp \ -+ PostTable.hpp \ -+ TTFAutohint.hpp TTFAutohint.cpp \ -+ TTFTable.hpp TTFTable.cpp \ -+ TTFWriter.hpp TTFWriter.cpp \ -+ VheaTable.hpp VheaTable.cpp \ -+ VmtxTable.hpp VmtxTable.cpp -+ -+include ../../libs/defs.am -+ -+AM_CXXFLAGS = \ -+ -I$(dvisvgm_srcdir)/libs/boost \ -+ -I$(dvisvgm_srcdir)/libs/variant/include \ -+ $(BROTLI_CFLAGS) $(WOFF2_CFLAGS) -diff -up texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/ttf/Makefile.in.301 texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/ttf/Makefile.in ---- texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/ttf/Makefile.in.301 2023-01-17 15:53:51.724205542 -0500 -+++ texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/ttf/Makefile.in 2023-01-17 15:53:51.724205542 -0500 -@@ -0,0 +1,737 @@ -+# Makefile.in generated by automake 1.16.5 from Makefile.am. -+# @configure_input@ -+ -+# Copyright (C) 1994-2021 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@ -+@HAVE_BROTLI_FALSE@am__append_1 = -I$(dvisvgm_srcdir)/libs/brotli/include -+@HAVE_BROTLI_FALSE@am__append_2 = ../libs/brotli/libbrotli.a -+@HAVE_WOFF2_FALSE@am__append_3 = -I$(dvisvgm_srcdir)/libs/woff2/include -+@HAVE_WOFF2_FALSE@am__append_4 = ../libs/woff2/libwoff2.a -+subdir = dvisvgm-src/src/ttf -+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -+am__aclocal_m4_deps = $(top_srcdir)/../../m4/ax_cxx_compile_stdcxx.m4 \ -+ $(top_srcdir)/../../m4/kpse-common.m4 \ -+ $(top_srcdir)/../../m4/kpse-cxx-hack.m4 \ -+ $(top_srcdir)/../../m4/kpse-freetype2-flags.m4 \ -+ $(top_srcdir)/../../m4/kpse-kpathsea-flags.m4 \ -+ $(top_srcdir)/../../m4/kpse-warnings.m4 \ -+ $(top_srcdir)/../../m4/kpse-win32.m4 \ -+ $(top_srcdir)/../../m4/kpse-zlib-flags.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)/version.ac \ -+ $(top_srcdir)/configure.ac -+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)/config.h -+CONFIG_CLEAN_FILES = -+CONFIG_CLEAN_VPATH_FILES = -+LTLIBRARIES = $(noinst_LTLIBRARIES) -+libttf_la_LIBADD = -+am_libttf_la_OBJECTS = CmapTable.lo GlyfTable.lo HeadTable.lo \ -+ HheaTable.lo HmtxTable.lo MaxpTable.lo NameTable.lo \ -+ OS2Table.lo PostTable.lo TTFAutohint.lo TTFTable.lo \ -+ TTFWriter.lo VheaTable.lo VmtxTable.lo -+libttf_la_OBJECTS = $(am_libttf_la_OBJECTS) -+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_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@ -I$(top_builddir) -+depcomp = $(SHELL) $(top_srcdir)/../../build-aux/depcomp -+am__maybe_remake_depfiles = depfiles -+am__depfiles_remade = ./$(DEPDIR)/CmapTable.Plo \ -+ ./$(DEPDIR)/GlyfTable.Plo ./$(DEPDIR)/HeadTable.Plo \ -+ ./$(DEPDIR)/HheaTable.Plo ./$(DEPDIR)/HmtxTable.Plo \ -+ ./$(DEPDIR)/MaxpTable.Plo ./$(DEPDIR)/NameTable.Plo \ -+ ./$(DEPDIR)/OS2Table.Plo ./$(DEPDIR)/PostTable.Plo \ -+ ./$(DEPDIR)/TTFAutohint.Plo ./$(DEPDIR)/TTFTable.Plo \ -+ ./$(DEPDIR)/TTFWriter.Plo ./$(DEPDIR)/VheaTable.Plo \ -+ ./$(DEPDIR)/VmtxTable.Plo -+am__mv = mv -f -+CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \ -+ $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -+LTCXXCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) \ -+ $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) \ -+ $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \ -+ $(AM_CXXFLAGS) $(CXXFLAGS) -+AM_V_CXX = $(am__v_CXX_@AM_V@) -+am__v_CXX_ = $(am__v_CXX_@AM_DEFAULT_V@) -+am__v_CXX_0 = @echo " CXX " $@; -+am__v_CXX_1 = -+CXXLINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) \ -+ $(LIBTOOLFLAGS) --mode=link $(CXXLD) $(AM_CXXFLAGS) \ -+ $(CXXFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@ -+AM_V_CXXLD = $(am__v_CXXLD_@AM_V@) -+am__v_CXXLD_ = $(am__v_CXXLD_@AM_DEFAULT_V@) -+am__v_CXXLD_0 = @echo " CXXLD " $@; -+am__v_CXXLD_1 = -+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 = $(libttf_la_SOURCES) -+DIST_SOURCES = $(libttf_la_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)` -+am__DIST_COMMON = $(srcdir)/../../libs/defs.am $(srcdir)/Makefile.in \ -+ $(top_srcdir)/../../build-aux/depcomp -+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) -+ACLOCAL = @ACLOCAL@ -+AMTAR = @AMTAR@ -+AM_CPPFLAGS = @AM_CPPFLAGS@ -+AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ -+AM_LDFLAGS = @AM_LDFLAGS@ -+AR = @AR@ -+AS = @AS@ -+AUTOCONF = @AUTOCONF@ -+AUTOHEADER = @AUTOHEADER@ -+AUTOMAKE = @AUTOMAKE@ -+AWK = @AWK@ -+BROTLI_CFLAGS = @BROTLI_CFLAGS@ $(am__append_1) -+BROTLI_LIBS = @BROTLI_LIBS@ $(am__append_2) -+CC = @CC@ -+CCDEPMODE = @CCDEPMODE@ -+CFLAGS = @CFLAGS@ -+CODE_COVERAGE_RULES = @CODE_COVERAGE_RULES@ -+CPP = @CPP@ -+CPPFLAGS = @CPPFLAGS@ -+CSCOPE = @CSCOPE@ -+CTAGS = @CTAGS@ -+CXX = @CXX@ -+CXXCPP = @CXXCPP@ -+CXXDEPMODE = @CXXDEPMODE@ -+CXXFLAGS = @CXXFLAGS@ -+CXXLD = @CXXLD@ -+CYGPATH_W = @CYGPATH_W@ -+DATE = @DATE@ -+DEFS = @DEFS@ -+DEPDIR = @DEPDIR@ -+DLLTOOL = @DLLTOOL@ -+DSYMUTIL = @DSYMUTIL@ -+DUMPBIN = @DUMPBIN@ -+DVISVGM_TREE = @DVISVGM_TREE@ -+ECHO_C = @ECHO_C@ -+ECHO_N = @ECHO_N@ -+ECHO_T = @ECHO_T@ -+EGREP = @EGREP@ -+ETAGS = @ETAGS@ -+EXEEXT = @EXEEXT@ -+FGREP = @FGREP@ -+FREETYPE2_DEPEND = @FREETYPE2_DEPEND@ -+FREETYPE2_INCLUDES = @FREETYPE2_INCLUDES@ -+FREETYPE2_LIBS = @FREETYPE2_LIBS@ -+FT2_CONFIG = @FT2_CONFIG@ -+GREP = @GREP@ -+HAVE_CXX11 = @HAVE_CXX11@ -+INSTALL = @INSTALL@ -+INSTALL_DATA = @INSTALL_DATA@ -+INSTALL_PROGRAM = @INSTALL_PROGRAM@ -+INSTALL_SCRIPT = @INSTALL_SCRIPT@ -+INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ -+KPATHSEA_DEPEND = @KPATHSEA_DEPEND@ -+KPATHSEA_INCLUDES = @KPATHSEA_INCLUDES@ -+KPATHSEA_LIBS = @KPATHSEA_LIBS@ -+LD = @LD@ -+LDFLAGS = @LDFLAGS@ -+LIBGS_INCLUDES = @LIBGS_INCLUDES@ -+LIBGS_LIBS = @LIBGS_LIBS@ -+LIBOBJS = @LIBOBJS@ -+LIBS = @LIBS@ -+LIBTOOL = @LIBTOOL@ -+LIPO = @LIPO@ -+LN_S = @LN_S@ -+LTLIBOBJS = @LTLIBOBJS@ -+LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@ -+MAINT = @MAINT@ -+MAKEINFO = @MAKEINFO@ -+MANIFEST_TOOL = @MANIFEST_TOOL@ -+MKDIR_P = @MKDIR_P@ -+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@ -+PKG_CONFIG = @PKG_CONFIG@ -+RANLIB = @RANLIB@ -+SED = @SED@ -+SET_MAKE = @SET_MAKE@ -+SHELL = @SHELL@ -+STRIP = @STRIP@ -+VERSION = @VERSION@ -+WARNING_CFLAGS = @WARNING_CFLAGS@ -+WARNING_CXXFLAGS = @WARNING_CXXFLAGS@ -+WOFF2_CFLAGS = @WOFF2_CFLAGS@ $(am__append_3) -+WOFF2_LIBS = @WOFF2_LIBS@ $(am__append_4) -+ZLIB_DEPEND = @ZLIB_DEPEND@ -+ZLIB_INCLUDES = @ZLIB_INCLUDES@ -+ZLIB_LIBS = @ZLIB_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@ -+dvisvgm_srcdir = @dvisvgm_srcdir@ -+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@ -+runstatedir = @runstatedir@ -+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@ -+noinst_LTLIBRARIES = libttf.la -+libttf_la_SOURCES = \ -+ CmapTable.hpp CmapTable.cpp \ -+ GlyfTable.hpp GlyfTable.cpp \ -+ HeadTable.hpp HeadTable.cpp \ -+ HheaTable.hpp HheaTable.cpp \ -+ HmtxTable.hpp HmtxTable.cpp \ -+ LocaTable.hpp MaxpTable.cpp \ -+ MaxpTable.hpp NameTable.cpp \ -+ NameTable.hpp OS2Table.cpp \ -+ OS2Table.hpp PostTable.cpp \ -+ PostTable.hpp \ -+ TTFAutohint.hpp TTFAutohint.cpp \ -+ TTFTable.hpp TTFTable.cpp \ -+ TTFWriter.hpp TTFWriter.cpp \ -+ VheaTable.hpp VheaTable.cpp \ -+ VmtxTable.hpp VmtxTable.cpp -+ -+@HAVE_POTRACE_FALSE@POTRACE_CFLAGS = -I$(dvisvgm_srcdir)/libs/potrace -+@HAVE_POTRACE_FALSE@POTRACE_LIBS = ../libs/potrace/libpotrace.a -+@HAVE_XXHASH_FALSE@XXHASH_CFLAGS = -I$(dvisvgm_srcdir)/libs/xxHash -+@HAVE_XXHASH_FALSE@XXHASH_LIBS = ../libs/xxHash/libxxhash.a -+AM_CXXFLAGS = \ -+ -I$(dvisvgm_srcdir)/libs/boost \ -+ -I$(dvisvgm_srcdir)/libs/variant/include \ -+ $(BROTLI_CFLAGS) $(WOFF2_CFLAGS) -+ -+all: all-am -+ -+.SUFFIXES: -+.SUFFIXES: .cpp .lo .o .obj -+$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(srcdir)/../../libs/defs.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) --foreign dvisvgm-src/src/ttf/Makefile'; \ -+ $(am__cd) $(top_srcdir) && \ -+ $(AUTOMAKE) --foreign dvisvgm-src/src/ttf/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__maybe_remake_depfiles)'; \ -+ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \ -+ esac; -+$(srcdir)/../../libs/defs.am $(am__empty): -+ -+$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) -+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -+ -+$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps) -+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -+$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps) -+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -+$(am__aclocal_m4_deps): -+ -+clean-noinstLTLIBRARIES: -+ -test -z "$(noinst_LTLIBRARIES)" || rm -f $(noinst_LTLIBRARIES) -+ @list='$(noinst_LTLIBRARIES)'; \ -+ locs=`for p in $$list; do echo $$p; done | \ -+ sed 's|^[^/]*$$|.|; s|/[^/]*$$||; s|$$|/so_locations|' | \ -+ sort -u`; \ -+ test -z "$$locs" || { \ -+ echo rm -f $${locs}; \ -+ rm -f $${locs}; \ -+ } -+ -+libttf.la: $(libttf_la_OBJECTS) $(libttf_la_DEPENDENCIES) $(EXTRA_libttf_la_DEPENDENCIES) -+ $(AM_V_CXXLD)$(CXXLINK) $(libttf_la_OBJECTS) $(libttf_la_LIBADD) $(LIBS) -+ -+mostlyclean-compile: -+ -rm -f *.$(OBJEXT) -+ -+distclean-compile: -+ -rm -f *.tab.c -+ -+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/CmapTable.Plo@am__quote@ # am--include-marker -+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/GlyfTable.Plo@am__quote@ # am--include-marker -+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/HeadTable.Plo@am__quote@ # am--include-marker -+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/HheaTable.Plo@am__quote@ # am--include-marker -+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/HmtxTable.Plo@am__quote@ # am--include-marker -+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/MaxpTable.Plo@am__quote@ # am--include-marker -+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/NameTable.Plo@am__quote@ # am--include-marker -+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/OS2Table.Plo@am__quote@ # am--include-marker -+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/PostTable.Plo@am__quote@ # am--include-marker -+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/TTFAutohint.Plo@am__quote@ # am--include-marker -+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/TTFTable.Plo@am__quote@ # am--include-marker -+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/TTFWriter.Plo@am__quote@ # am--include-marker -+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/VheaTable.Plo@am__quote@ # am--include-marker -+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/VmtxTable.Plo@am__quote@ # am--include-marker -+ -+$(am__depfiles_remade): -+ @$(MKDIR_P) $(@D) -+ @echo '# dummy' >$@-t && $(am__mv) $@-t $@ -+ -+am--depfiles: $(am__depfiles_remade) -+ -+.cpp.o: -+@am__fastdepCXX_TRUE@ $(AM_V_CXX)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.o$$||'`;\ -+@am__fastdepCXX_TRUE@ $(CXXCOMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ $< &&\ -+@am__fastdepCXX_TRUE@ $(am__mv) $$depbase.Tpo $$depbase.Po -+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ -+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -+@am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(CXXCOMPILE) -c -o $@ $< -+ -+.cpp.obj: -+@am__fastdepCXX_TRUE@ $(AM_V_CXX)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.obj$$||'`;\ -+@am__fastdepCXX_TRUE@ $(CXXCOMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ `$(CYGPATH_W) '$<'` &&\ -+@am__fastdepCXX_TRUE@ $(am__mv) $$depbase.Tpo $$depbase.Po -+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ -+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -+@am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(CXXCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'` -+ -+.cpp.lo: -+@am__fastdepCXX_TRUE@ $(AM_V_CXX)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.lo$$||'`;\ -+@am__fastdepCXX_TRUE@ $(LTCXXCOMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ $< &&\ -+@am__fastdepCXX_TRUE@ $(am__mv) $$depbase.Tpo $$depbase.Plo -+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@ -+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -+@am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(LTCXXCOMPILE) -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: $(BUILT_SOURCES) -+ $(MAKE) $(AM_MAKEFLAGS) distdir-am -+ -+distdir-am: $(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 $(LTLIBRARIES) -+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-noinstLTLIBRARIES \ -+ mostlyclean-am -+ -+distclean: distclean-am -+ -rm -f ./$(DEPDIR)/CmapTable.Plo -+ -rm -f ./$(DEPDIR)/GlyfTable.Plo -+ -rm -f ./$(DEPDIR)/HeadTable.Plo -+ -rm -f ./$(DEPDIR)/HheaTable.Plo -+ -rm -f ./$(DEPDIR)/HmtxTable.Plo -+ -rm -f ./$(DEPDIR)/MaxpTable.Plo -+ -rm -f ./$(DEPDIR)/NameTable.Plo -+ -rm -f ./$(DEPDIR)/OS2Table.Plo -+ -rm -f ./$(DEPDIR)/PostTable.Plo -+ -rm -f ./$(DEPDIR)/TTFAutohint.Plo -+ -rm -f ./$(DEPDIR)/TTFTable.Plo -+ -rm -f ./$(DEPDIR)/TTFWriter.Plo -+ -rm -f ./$(DEPDIR)/VheaTable.Plo -+ -rm -f ./$(DEPDIR)/VmtxTable.Plo -+ -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 -f ./$(DEPDIR)/CmapTable.Plo -+ -rm -f ./$(DEPDIR)/GlyfTable.Plo -+ -rm -f ./$(DEPDIR)/HeadTable.Plo -+ -rm -f ./$(DEPDIR)/HheaTable.Plo -+ -rm -f ./$(DEPDIR)/HmtxTable.Plo -+ -rm -f ./$(DEPDIR)/MaxpTable.Plo -+ -rm -f ./$(DEPDIR)/NameTable.Plo -+ -rm -f ./$(DEPDIR)/OS2Table.Plo -+ -rm -f ./$(DEPDIR)/PostTable.Plo -+ -rm -f ./$(DEPDIR)/TTFAutohint.Plo -+ -rm -f ./$(DEPDIR)/TTFTable.Plo -+ -rm -f ./$(DEPDIR)/TTFWriter.Plo -+ -rm -f ./$(DEPDIR)/VheaTable.Plo -+ -rm -f ./$(DEPDIR)/VmtxTable.Plo -+ -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 am--depfiles check check-am clean \ -+ clean-generic clean-libtool clean-noinstLTLIBRARIES \ -+ 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 -+ -+.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: -diff -up texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/ttf/MaxpTable.cpp.301 texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/ttf/MaxpTable.cpp ---- texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/ttf/MaxpTable.cpp.301 2023-01-17 15:53:51.724205542 -0500 -+++ texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/ttf/MaxpTable.cpp 2023-01-17 15:53:51.724205542 -0500 -@@ -0,0 +1,50 @@ -+/************************************************************************* -+** MaxpTable.cpp ** -+** ** -+** This file is part of dvisvgm -- a fast DVI to SVG converter ** -+** Copyright (C) 2005-2023 Martin Gieseking ** -+** ** -+** 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 . ** -+*************************************************************************/ -+ -+#include -+#include "MaxpTable.hpp" -+#include "TTFWriter.hpp" -+ -+using namespace std; -+using namespace ttf; -+ -+void MaxpTable::write (ostream &os) const { -+ writeUInt32(os, 0x10000); // version 1.0, required for TTF fonts -+ writeUInt16(os, ttfWriter()->getUnicodeCharMap().numValues()+1); // number of glyphs including .notdef -+ writeUInt16(os, _maxPoints); -+ writeUInt16(os, _maxContours); -+ writeUInt16(os, 0); // maxCompositePoints -+ writeUInt16(os, 0); // maxCompositeContours -+ writeUInt16(os, 1); // maxZones (1 = don't use twilight zone, 2 otherwise) -+ writeUInt16(os, 0); // maxTwilightPoints -+ writeUInt16(os, 0); // maxStorage -+ writeUInt16(os, 0); // maxFunctionDefs -+ writeUInt16(os, 0); // maxInstructionDefs -+ writeUInt16(os, 0); // maxStackElements -+ writeUInt16(os, 0); // maxSizeOfInstructions -+ writeUInt16(os, 0); // maxComponentElements -+ writeUInt16(os, 0); // maxComponentDepth -+} -+ -+ -+void MaxpTable::updateContourInfo (uint16_t maxPoints, uint16_t maxContours) { -+ _maxPoints = max(_maxPoints, maxPoints); -+ _maxContours = max(_maxContours, maxContours); -+} -\ No newline at end of file -diff -up texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/ttf/MaxpTable.hpp.301 texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/ttf/MaxpTable.hpp ---- texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/ttf/MaxpTable.hpp.301 2023-01-17 15:53:51.724205542 -0500 -+++ texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/ttf/MaxpTable.hpp 2023-01-17 15:53:51.724205542 -0500 -@@ -0,0 +1,42 @@ -+/************************************************************************* -+** MaxpTable.hpp ** -+** ** -+** This file is part of dvisvgm -- a fast DVI to SVG converter ** -+** Copyright (C) 2005-2023 Martin Gieseking ** -+** ** -+** 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 . ** -+*************************************************************************/ -+ -+#pragma once -+#include "TTFTable.hpp" -+ -+namespace ttf { -+ -+/** This class provides the functions required to write the maximum profile table of a TTF/OTF font. -+ * https://www.microsoft.com/typography/otspec/maxp.htm */ -+class MaxpTable : public TTFTable { -+ friend class TTFWriter; -+ public: -+ uint32_t tag () const override {return name2id("maxp");} -+ void write(std::ostream &os) const override; -+ -+ protected: -+ void updateContourInfo (uint16_t maxPoints, uint16_t maxContours); -+ -+ private: -+ uint16_t _maxPoints=0; ///< maximum number of points used by a contour -+ uint16_t _maxContours=0; ///< maximum number of contours used by a glyph -+}; -+ -+} // namespace ttf -diff -up texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/ttf/NameTable.cpp.301 texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/ttf/NameTable.cpp ---- texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/ttf/NameTable.cpp.301 2023-01-17 15:53:51.724205542 -0500 -+++ texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/ttf/NameTable.cpp 2023-01-17 15:53:51.724205542 -0500 -@@ -0,0 +1,105 @@ -+/************************************************************************* -+** NameTable.cpp ** -+** ** -+** This file is part of dvisvgm -- a fast DVI to SVG converter ** -+** Copyright (C) 2005-2023 Martin Gieseking ** -+** ** -+** 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 . ** -+*************************************************************************/ -+ -+#include -+#include "NameTable.hpp" -+#include "TTFWriter.hpp" -+#include "../Font.hpp" -+#include "../version.hpp" -+ -+using namespace std; -+using namespace ttf; -+ -+enum NameID { -+ COPYRIGHT_NOTICE = 0, -+ FONT_FAMILY = 1, -+ FONT_SUBFAMILY = 2, -+ FONT_ID = 3, -+ FULL_FONT_NAME = 4, -+ VERSION_STRING = 5, -+ PS_NAME = 6, -+ TRADEMARK = 7, -+ MANUFACTURER_NAME = 8, -+ DESIGNER = 9, -+ DESCRIPTION = 10, -+ URL_VENDOR = 11, -+ URL_DESIGNER = 12, -+ LICENSE_DESCRIPTION = 13, -+ LICENSE_INFO_URL = 14, -+ TYPOGRAPHIC_FAMILY_NAME = 16, -+ TYPOGRAPHIC_SUBFAMILY_NAME = 17, -+ COMPATIBLE_FULL = 18, -+ SAMPLE_TEXT = 19, -+ PS_CID_FINDFONT_NAME = 20, -+ WWS_FAMILY_NAME = 21, -+ WWS_SUBFAMILY_NAME = 22, -+ LIGHT_BG_PALLETTE = 23, -+ DARK_BG_PALLETTE = 24, -+ VAR_PS_NAME_PREFIX = 25 -+}; -+ -+ -+void NameTable::write (ostream &os) const { -+ struct NameEntry { -+ NameID nameID; -+ std::string name; -+ }; -+ array nameEntries {{ -+ {FONT_FAMILY, ttfWriter()->getFont().familyName()}, -+ {FULL_FONT_NAME, ttfWriter()->getFont().name()}, -+ {VERSION_STRING, string("Version 1.0")}, -+ {PS_NAME, ttfWriter()->getFont().name()}, -+ {DESCRIPTION, string("Generated by ")+PROGRAM_NAME+" "+PROGRAM_VERSION} -+ }}; -+ writeUInt16(os, 0); // table format -+ writeUInt16(os, 2*nameEntries.size()); // number of name records -+ writeUInt16(os, 6+2*12*nameEntries.size()); // offset to start of string storage -+ size_t offset=0; -+ // write name entry records ordered by platform ID -+ for (const NameEntry &entry : nameEntries) { -+ writeUInt16(os, 1); // Mac -+ writeUInt16(os, 0); // Roman, UTF-8 encoding -+ writeUInt16(os, 0); // English -+ writeUInt16(os, entry.nameID); -+ writeUInt16(os, entry.name.length()); -+ writeUInt16(os, offset); -+ offset += entry.name.length(); -+ } -+ for (const NameEntry &entry : nameEntries) { -+ writeUInt16(os, 3); // Windows -+ writeUInt16(os, 1); // UCS-2 encoding -+ writeUInt16(os, 0x0409); // US English -+ writeUInt16(os, entry.nameID); -+ writeUInt16(os, 2*entry.name.length()); -+ writeUInt16(os, offset); -+ offset += 2*entry.name.length(); -+ } -+ // write string data -+ for (const NameEntry &entry : nameEntries) { -+ for (char c : entry.name) -+ writeUInt8(os, c); -+ } -+ for (const NameEntry &entry : nameEntries) { -+ for (char c : entry.name) { -+ writeUInt8(os, 0); -+ writeUInt8(os, c); -+ } -+ } -+} -diff -up texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/ttf/NameTable.hpp.301 texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/ttf/NameTable.hpp ---- texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/ttf/NameTable.hpp.301 2023-01-17 15:53:51.724205542 -0500 -+++ texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/ttf/NameTable.hpp 2023-01-17 15:53:51.724205542 -0500 -@@ -0,0 +1,37 @@ -+/************************************************************************* -+** NameTable.hpp ** -+** ** -+** This file is part of dvisvgm -- a fast DVI to SVG converter ** -+** Copyright (C) 2005-2023 Martin Gieseking ** -+** ** -+** 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 . ** -+*************************************************************************/ -+ -+#pragma once -+ -+#include -+#include -+#include "TTFTable.hpp" -+ -+namespace ttf { -+ -+/** This class provides the functions required to write the naming table of a TTF/OTF font. -+ * https://www.microsoft.com/typography/otspec/name.htm */ -+class NameTable : public TTFTable { -+ public: -+ uint32_t tag () const override {return name2id("name");} -+ void write (std::ostream &os) const override; -+}; -+ -+} // namespace ttf -\ No newline at end of file -diff -up texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/ttf/OS2Table.cpp.301 texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/ttf/OS2Table.cpp ---- texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/ttf/OS2Table.cpp.301 2023-01-17 15:53:51.724205542 -0500 -+++ texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/ttf/OS2Table.cpp 2023-01-17 15:53:51.724205542 -0500 -@@ -0,0 +1,246 @@ -+/************************************************************************* -+** OS2Table.cpp ** -+** ** -+** This file is part of dvisvgm -- a fast DVI to SVG converter ** -+** Copyright (C) 2005-2023 Martin Gieseking ** -+** ** -+** 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 . ** -+*************************************************************************/ -+ -+#include -+#include -+#include -+#include -+#include "OS2Table.hpp" -+#include "TTFWriter.hpp" -+#include "../Font.hpp" -+ -+using namespace std; -+using namespace ttf; -+ -+ -+/** Returns the average width of all non-zero width glyphs. -+ * https://docs.microsoft.com/en-us/typography/opentype/spec/os2#acw */ -+int16_t OS2Table::averageCharWidth () const { -+ const RangeMap &charmap = ttfWriter()->getUnicodeCharMap(); -+ if (charmap.empty()) -+ return 0; -+ int sum=ttfWriter()->hAdvance(0); // width of .notdef character -+ int count=1; -+ for (auto uc2charcode : charmap) { -+ int c = int(uc2charcode.second); -+ if (int w = ttfWriter()->hAdvance(c)) { -+ sum += w; -+ count++; -+ } -+ } -+ return int16_t(double(sum)/count); -+} -+ -+static vector compute_unicode_range_bits (const RangeMap &charmap); -+ -+ -+void OS2Table::write (ostream &os) const { -+ const PhysicalFont &font = ttfWriter()->getFont(); -+ int upem = ttfWriter()->targetUnitsPerEm(); -+ double scale = ttfWriter()->unitsPerEmFactor(); -+ const RangeMap &charmap = ttfWriter()->getUnicodeCharMap(); -+ -+ writeUInt16(os, 3); // table version -+ writeInt16(os, averageCharWidth()); // average char width -+ writeUInt16(os, 400); // usWeightClass, "normal" for now -+ writeUInt16(os, 5); // usWidthClass, "medium" for now -+ writeUInt16(os, 0); // fsType -+ writeInt16(os, round(0.65*upem)); // ySubscriptXSize -+ writeInt16(os, round(0.7*upem)); // ySubscriptYSize -+ writeInt16(os, round(-0.48*upem)); // ySubscriptXOffset -+ writeInt16(os, round(0.14*upem)); // ySubscriptYOffset -+ writeInt16(os, round(0.65*upem)); // ySuperscriptXSize -+ writeInt16(os, round(0.7*upem)); // ySuperscriptYSize -+ writeInt16(os, round(0.48*upem)); // ySuperscriptXOffset -+ writeInt16(os, round(0.48*upem)); // ySuperscriptYOffset -+ writeInt16(os, 102*upem/2048); // yStrikeoutSize -+ writeInt16(os, 530*upem/2048); // yStrikeoutPosition -+ writeInt16(os, 0); // sFamilyClass (no classification) -+ for (uint8_t p : {0, 0, 6, 0, 0, 0, 0, 0, 0, 0}) // Panose -+ writeUInt8(os, p); -+ for (uint32_t bits : compute_unicode_range_bits(charmap)) -+ writeUInt32(os, bits); -+ writeUInt32(os, name2id("dsvg")); -+ writeUInt16(os, 6); // fsSelection, "regular" for now -+ writeUInt16(os, min(charmap.minKey(), uint32_t(0xFFFF))); // usFirstCharIndex -+ writeUInt16(os, min(charmap.maxKey(), uint32_t(0xFFFF))); // usLastCharIndex -+ writeInt16(os, round(scale*font.ascent())); // sTypoAscender -+ writeInt16(os, round(-scale*font.descent())); // sTypoDescender -+ writeInt16(os, 0); // sTypoLineGap -+ writeUInt16(os, round(scale*font.ascent())); -+ writeUInt16(os, round(scale*font.descent())); -+ writeUInt32(os, 1); // ulCodePageRange1, "Latin 1" for now -+ writeUInt32(os, 0); // ulCodePageRange2 -+ writeInt16(os, 0); // sxHeight -+ writeInt16(os, charmap.valueExists(0x48) ? 0x48 : 0); // sCapHeight -+ writeUInt16(os, 0); // usDefaultChar -+ writeUInt16(os, charmap.valueExists(0x20) ? 0x20 : 0xffff); // usBreakChar (space or .notdef) -+ writeUInt16(os, 0); // usMaxContext -+} -+ -+#if 0 -+void OS2Table::updateYMinMax (int16_t ymin, int16_t ymax) { -+ _usWinAscent = max(_usWinAscent, uint16_t(ymax)); -+ _usWinDescent = max(_usWinDescent, uint16_t(ymin < 0 ? -ymin : 0)); -+} -+#endif -+ -+ -+/** Returns the bit number denoting the Unicode range for a codepoint according to -+ * the OS/2 table specification. If there's no matching range for the codepoint, -+ * the function returns -1. Currently, only the ranges specified by OS/2 table -+ * version 1 are considered. */ -+static int unicode_range_bit (uint32_t codepoint) { -+ struct UCRange { -+ UCRange (uint32_t cp) : first(cp), last(cp), os2bit(0) {} -+ UCRange (uint32_t cp1, uint32_t cp2, int bit) : first(cp1), last(cp2), os2bit(bit) {} -+ uint32_t first, last; -+ int os2bit; -+ }; -+ // Unicode ranges according to http://unicode.org/Public/UNIDATA/Blocks.txt -+ static array ucranges {{ -+ {0x00020, 0x0007E, 0}, // Basic Latin -+ {0x000A0, 0x000FF, 1}, // Latin-1 Supplement -+ {0x00100, 0x0017F, 2}, // Latin Extended-A -+ {0x00180, 0x0024F, 3}, // Latin Extended-B -+ {0x00250, 0x002AF, 4}, // IPA Extensions -+ {0x002B0, 0x002FF, 5}, // Spacing Modifier Letters -+ {0x00300, 0x0036F, 6}, // Combining Diacritical Marks -+ {0x00370, 0x003FF, 7}, // Greek and Coptic -+ {0x00400, 0x0052F, 9}, // Cyrillic / Cyrillic Supplement -+ {0x00530, 0x0058F, 10}, // Armenian -+ {0x00590, 0x005FF, 11}, // Hebrew -+ {0x00600, 0x006FF, 13}, // Arabic -+ {0x00700, 0x0074F, 71}, // Syriac -+ {0x00750, 0x0077F, 13}, // Arabic Supplement -+ {0x00780, 0x007BF, 72}, // Thaana -+ {0x007C0, 0x007FF, 14}, // N'Ko -+ {0x00800, 0x0083F, 12}, // Samaritan -+ {0x00900, 0x0097F, 15}, // Devanagari -+ {0x00980, 0x009FF, 16}, // Bengali -+ {0x00A00, 0x00A7F, 17}, // Gurmukhi -+ {0x00A80, 0x00AFF, 18}, // Gujarati -+ {0x00B00, 0x00B7F, 19}, // Oriya -+ {0x00B80, 0x00BFF, 20}, // Tamil -+ {0x00C00, 0x00C7F, 21}, // Telugu -+ {0x00C80, 0x00CFF, 22}, // Kannada -+ {0x00D00, 0x00D7F, 23}, // Malayalam -+ {0x00E00, 0x00E7F, 24}, // Thai -+ {0x00E80, 0x00EFF, 25}, // Lao -+ {0x010A0, 0x010FF, 26}, // Georgian -+ {0x01100, 0x011FF, 28}, // Hangul Jamo -+ {0x01B00, 0x01B7F, 27}, // Balinese -+ {0x01D00, 0x01DBF, 4}, // Phonetic Extensions & Supplement -+ {0x01D80, 0x01DFF, 6}, // Combining Diacritical Marks Supplement -+ {0x01E00, 0x01EFF, 29}, // Latin Extended Additional -+ {0x01F00, 0x01FFF, 30}, // Greek Extended -+ {0x02000, 0x0206F, 31}, // General Punctuation -+ {0x02070, 0x0209F, 32}, // Superscripts and Subscripts -+ {0x020A0, 0x020CF, 33}, // Currency Symbols -+ {0x020D0, 0x020FF, 34}, // Combining Marks for Symbols -+ {0x02100, 0x0214F, 35}, // Letterlike Symbols -+ {0x02150, 0x0218F, 36}, // Number Forms -+ {0x02190, 0x021FF, 37}, // Arrows -+ {0x02200, 0x022FF, 38}, // Mathematical Operators -+ {0x02300, 0x0237F, 39}, // Miscellaneous Technical -+ {0x02400, 0x0243F, 40}, // Control Pictures -+ {0x02440, 0x0245F, 41}, // Optical Character Recognition -+ {0x02460, 0x024FF, 42}, // Enclosed Alphanumerics -+ {0x02500, 0x0257F, 43}, // Box Drawing -+ {0x02580, 0x0259F, 44}, // Block Elements -+ {0x025A0, 0x025FF, 45}, // Geometric Shapes -+ {0x02600, 0x0267F, 46}, // Miscellaneous Symbols -+ {0x02700, 0x027BF, 47}, // Dingbats -+ {0x027C0, 0x027EF, 38}, // Miscellaneous Mathematical Symbols-A -+ {0x027F0, 0x027FF, 37}, // Supplementary Arrows-A -+ {0x02800, 0x028FF, 82}, // Braille Patterns -+ {0x02900, 0x0297F, 37}, // Supplementary Arrows-B -+ {0x02980, 0x02AFF, 38}, // Miscellaneous Mathematical Symbols-B + Supplemental Mathematical Operators -+ {0x02B00, 0x02BFF, 37}, // Miscellaneous Symbols and Arrows -+ {0x02C60, 0x02C7F, 29}, // Latin Extended-C -+ {0x02C80, 0x02CFF, 8}, // Coptic -+ {0x02D00, 0x02D25, 26}, // Georgian Supplement -+ {0x02DE0, 0x02DFF, 9}, // Cyrillic Extended-A -+ {0x02E00, 0x02E7F, 31}, // Supplemental Punctuation -+ {0x02E80, 0x02FFF, 59}, // CJK Radicals Supplement + Kangxi Radicals + Ideographic Description Characters -+ {0x03000, 0x0303F, 48}, // CJK Symbols and Punctuation -+ {0x03040, 0x0309F, 49}, // Hiragana -+ {0x030A0, 0x030FF, 50}, // Katakana -+ {0x03100, 0x0312F, 51}, // Bopomofo -+ {0x03130, 0x0318F, 52}, // Hangul Compatibility Jamo -+ {0x03190, 0x0319F, 59}, // Kanbun -+ {0x031A0, 0x031BF, 51}, // Bopomofo Extended -+ {0x031F0, 0x031FF, 50}, // Katakana Phonetic Extensions -+ {0x03200, 0x032FF, 54}, // Enclosed CJK Letters and Months -+ {0x03300, 0x033FF, 55}, // CJK compatability -+ {0x03400, 0x04DBF, 59}, // CJK Unified Ideographs Extension A -+ {0x04E00, 0x09FFF, 59}, // CJK Unified Ideographs -+ {0x0A500, 0x0A62B, 12}, // Vai -+ {0x0A640, 0x0A69F, 9}, // Cyrillic Extended-B -+ {0x0A700, 0x0A71F, 5}, // Modifier Tone Letters -+ {0x0A720, 0x0A7FF, 29}, // Latin Extended-D -+ {0x0A840, 0x0A87F, 53}, // Phags-pa -+ {0x0AC00, 0x0D7AF, 56}, // Hangul Syllables -+ {0x0D800, 0x0DFFF, 57}, // Non-Plane 0 -+ {0x0E000, 0x0F8FF, 60}, // Private Use Area -+ {0x0F900, 0x0FAFF, 61}, // CJK Compatibility Ideographs -+ {0x0FA2A, 0x0FAFF, 61}, // CJK Compatibility Ideographs -+ {0x0FB00, 0x0FB4F, 62}, // Alphabetic Presentation Forms -+ {0x0FB50, 0x0FDFF, 63}, // Arabic Presentation Forms-A -+ {0x0FE00, 0x0FE0F, 91}, // Variation Selectors -+ {0x0FE20, 0x0FE2F, 64}, // Combining Half Marks -+ {0x0FE30, 0x0FE4F, 65}, // CJK Compatibility Forms -+ {0x0FE50, 0x0FE6F, 66}, // Small Form Variants -+ {0x0FE70, 0x0FEEF, 67}, // Arabic Presentation Forms-B -+ {0x0FF00, 0x0FFEF, 68}, // Halfwidth and Fullwidth Forms -+ {0x0FFF0, 0x0FFFF, 69}, // Specials -+ {0x10900, 0x1091F, 58}, // Phoenician -+ {0x20000, 0x2A6DF, 59}, // CJK Unified Ideographs Extension B -+ {0x2A700, 0x2B73F, 59}, // CJK Unified Ideographs Extension C -+ {0x2B740, 0x2B81F, 59}, // CJK Unified Ideographs Extension D -+ {0x2F800, 0x2FA1F, 61}, // CJK Compatibility Ideographs Supplement -+ }}; -+ auto it = lower_bound(ucranges.begin(), ucranges.end(), UCRange(codepoint), [](const UCRange &r1, const UCRange &r2) { -+ return r1.last < r2.first; -+ }); -+ if (it != ucranges.end() && codepoint >= it->first && codepoint <= it->last) -+ return it->os2bit; -+ return -1; -+} -+ -+ -+/** Returns the Unicode ranges encompassed by the font. The ranges are encoded by four dwords, -+ * where each of the 128 bits represents a certain range. The returned vector contains the -+ * dwords in little-endian order, i.e. [bits 0-31, bits 32-63, bits 64-95, bits 96-127]. */ -+static vector compute_unicode_range_bits (const RangeMap &charmap) { -+ vector rangeBits(4, 0); -+ for (auto uc2charcode : charmap) { -+ int bit = unicode_range_bit(uc2charcode.first); -+ if (bit >= 0) { -+ for (int i=0; i < 4; i++) { -+ if (bit < 32*(i+1)) { -+ rangeBits[i] |= (1 << (bit-32*i)); -+ break; -+ } -+ } -+ } -+ } -+ return rangeBits; -+} -diff -up texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/ttf/OS2Table.hpp.301 texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/ttf/OS2Table.hpp ---- texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/ttf/OS2Table.hpp.301 2023-01-17 15:53:51.724205542 -0500 -+++ texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/ttf/OS2Table.hpp 2023-01-17 15:53:51.724205542 -0500 -@@ -0,0 +1,46 @@ -+/************************************************************************* -+** OS2Table.hpp ** -+** ** -+** This file is part of dvisvgm -- a fast DVI to SVG converter ** -+** Copyright (C) 2005-2023 Martin Gieseking ** -+** ** -+** 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 . ** -+*************************************************************************/ -+ -+#pragma once -+ -+#include -+#include "TTFTable.hpp" -+ -+namespace ttf { -+ -+/** This class provides the functions required to write the OS/2 and Windows metrics -+ * table of a TTF/OTF font. -+ * https://www.microsoft.com/typography/otspec/os2.htm */ -+class OS2Table : public TTFTable { -+ friend class TTFWriter; -+ public: -+ uint32_t tag () const override {return name2id("OS/2");} -+ void write (std::ostream &os) const override; -+ -+ protected: -+ int16_t averageCharWidth () const; -+ void updateXMinMax (int16_t xmin, int16_t xmax) {_xmax = xmax;} -+ void updateYMinMax (int16_t ymin, int16_t ymax) {} -+ -+ private: -+ int16_t _xmax=0; -+}; -+ -+} // namespace ttf -\ No newline at end of file -diff -up texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/ttf/PostTable.cpp.301 texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/ttf/PostTable.cpp ---- texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/ttf/PostTable.cpp.301 2023-01-17 15:53:51.724205542 -0500 -+++ texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/ttf/PostTable.cpp 2023-01-17 15:53:51.724205542 -0500 -@@ -0,0 +1,63 @@ -+/************************************************************************* -+** PostTable.cpp ** -+** ** -+** This file is part of dvisvgm -- a fast DVI to SVG converter ** -+** Copyright (C) 2005-2023 Martin Gieseking ** -+** ** -+** 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 . ** -+*************************************************************************/ -+ -+#include "PostTable.hpp" -+#include "TTFWriter.hpp" -+#include "../Font.hpp" -+ -+using namespace std; -+using namespace ttf; -+ -+#if 0 -+/** Writes a string in Pascal format to an output stream. The string should not be -+ * longer than 255 characters. Otherwise, it's truncated accordingly. */ -+static void write_pascal_string (ostream &os, const string &str) { -+ size_t len = std::min(str.length(), size_t(255)); -+ writeUInt8(os, len); // first byte determines the string length -+ for (size_t i=0; i < len; i++) -+ writeUInt8(os, str[i]); -+} -+#endif -+ -+ -+void PostTable::write (ostream &os) const { -+ writeUInt32(os, 0x30000); // table version 3 -+ writeInt32(os, 0); // italic angle -+ writeInt16(os, 0); // underline position -+ writeInt16(os, 0); // underline thickness -+ writeUInt32(os, ttfWriter()->isFixedPitch()); // 1 = fixed pitch -+ writeUInt32(os, 0); // minMemType42 -+ writeUInt32(os, 0); // maxMemType42 -+ writeUInt32(os, 0); // minMemType1 -+ writeUInt32(os, 0); // maxMemType1 -+/* writeUInt16(os, ttfWriter()->getUnicodeCharMap().numValues()); -+ // write name indexes in glyph ID order (index 0 = ".notdef") -+ uint16_t index=0; -+ for (auto cp2charcode : ttfWriter()->getUnicodeCharMap()) { -+ string name = ttfWriter()->getFont().glyphName(cp2charcode.second); -+ writeUInt16(os, name.empty() || name == ".notdef" ? 0 : ++index); -+ } -+ // write the glyph names in glyph ID order -+ for (auto cp2charcode : ttfWriter()->getUnicodeCharMap()) { -+ string name = ttfWriter()->getFont().glyphName(cp2charcode.second); -+ if (!name.empty() && name != ".notdef") -+ write_pascal_string(os, name); -+ }*/ -+} -diff -up texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/ttf/PostTable.hpp.301 texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/ttf/PostTable.hpp ---- texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/ttf/PostTable.hpp.301 2023-01-17 15:53:51.724205542 -0500 -+++ texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/ttf/PostTable.hpp 2023-01-17 15:53:51.724205542 -0500 -@@ -0,0 +1,37 @@ -+/************************************************************************* -+** PostTable.hpp ** -+** ** -+** This file is part of dvisvgm -- a fast DVI to SVG converter ** -+** Copyright (C) 2005-2023 Martin Gieseking ** -+** ** -+** 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 . ** -+*************************************************************************/ -+ -+#pragma once -+ -+#include -+#include -+#include "TTFTable.hpp" -+ -+namespace ttf { -+ -+/** This class provides the functions required to write the PostScript table of a TTF/OTF font. -+ * https://www.microsoft.com/typography/otspec/post.htm */ -+class PostTable : public TTFTable { -+ public: -+ uint32_t tag () const override {return name2id("post");} -+ void write (std::ostream &os) const override; -+}; -+ -+} // namespace ttf -\ No newline at end of file -diff -up texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/ttf/TTFAutohint.cpp.301 texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/ttf/TTFAutohint.cpp ---- texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/ttf/TTFAutohint.cpp.301 2023-01-17 15:53:51.724205542 -0500 -+++ texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/ttf/TTFAutohint.cpp 2023-01-17 15:53:51.724205542 -0500 -@@ -0,0 +1,161 @@ -+/************************************************************************* -+** TTFAutohint.cpp ** -+** ** -+** This file is part of dvisvgm -- a fast DVI to SVG converter ** -+** Copyright (C) 2005-2023 Martin Gieseking ** -+** ** -+** 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 . ** -+*************************************************************************/ -+ -+#include -+#include -+#include "../MessageException.hpp" -+#include "../utility.hpp" -+#include "TTFAutohint.hpp" -+ -+using namespace std; -+using namespace ttf; -+ -+#ifndef HAVE_TTFAUTOHINT_H -+TTFAutohint::TTFAutohint () {} -+ -+bool TTFAutohint::available () const { -+ return false; -+} -+ -+int TTFAutohint::autohint (const string&, const string&, bool) { -+ return 0; -+} -+ -+string TTFAutohint::lastErrorMessage () const { -+ return ""; -+} -+ -+string TTFAutohint::version () const { -+ return ""; -+} -+ -+#else // HAVE_TTFAUTOHINT_H -+ -+#include -+ -+#ifndef HAVE_LIBTTFAUTOHINT -+static string get_libttfautohint () { -+#ifdef _WIN32 -+ return "ttfautohint.dll"; -+#else -+ string dlname = "libttfautohint.so.1"; -+#ifdef __APPLE__ -+ DLLoader loader(dlname); -+ if (!loader.loaded()) -+ dlname = "libttfautohint.1.dylib"; -+#endif -+ return dlname; -+#endif // _WIN32 -+} -+#endif // HAVE_LIBTTFAUTOHINT -+ -+ -+TTFAutohint::TTFAutohint () -+#ifndef HAVE_LIBTTFAUTOHINT -+ : DLLoader(get_libttfautohint()) -+#endif -+{ -+} -+ -+ -+/** Returns true if the ttfautohint library is present. */ -+bool TTFAutohint::available () const { -+#ifdef HAVE_LIBTTFAUTOHINT -+ return true; -+#else -+ return loaded(); -+#endif -+} -+ -+ -+/** Runs ttfautohint on a given font file. -+ * @param[in] source name of TTF input file -+ * @param[in] target name of TTF output file -+ * @param[in] rehintIfSymbolFont if true, ttfautohint is run again with option "symbol" in case regular hinting is rejected. -+ * @return ttfautohint error code (0 = success) */ -+int TTFAutohint::autohint (const string &source, const string &target, bool rehintIfSymbolFont) { -+#ifdef HAVE_LIBTTFAUTOHINT -+ auto fn = &TTF_autohint; -+#else -+ auto fn = LOAD_SYMBOL(TTF_autohint); -+#endif -+ int ret=0; -+ if (fn) { -+ _lastErrorMessage = nullptr; -+ ifstream ifs(source, ios::binary|ios::ate); -+ if (!ifs) -+ throw MessageException("failed to open '"+source+"' for reading"); -+ size_t inbufSize = ifs.tellg(); -+ ifs.seekg(0, ios::beg); -+ auto inbuf = util::make_unique(inbufSize); -+ if (!ifs.read(inbuf.get(), inbufSize)) -+ throw MessageException("failed to read from '"+source+"'"); -+ char *outbuf = nullptr; -+ size_t outbufSize; -+ ret = fn("in-buffer, in-buffer-len, out-buffer, out-buffer-len, default-script, error-string, alloc-func", -+ inbuf.get(), inbufSize, &outbuf, &outbufSize, "latn", &_lastErrorMessage, &std::malloc); -+ if (ret == TA_Err_Missing_Glyph && rehintIfSymbolFont) { -+ ifs.clear(); -+ ifs.seekg(0, ios::beg); -+ std::free(outbuf); -+ ret = fn("in-buffer, in-buffer-len, out-buffer, out-buffer-len, symbol, error-string, alloc-func", -+ inbuf.get(), inbufSize, &outbuf, &outbufSize, true, &_lastErrorMessage, &std::malloc); -+ } -+ if (ret == 0) { -+ ofstream ofs(target, ios::binary); -+ if (ofs) -+ ofs.write(outbuf, outbufSize); -+ else -+ throw MessageException("failed to open '"+target+"' for writing"); -+ } -+ std::free(outbuf); -+ } -+ return ret; -+} -+ -+ -+/** Returns the error message of the last autohint call. */ -+string TTFAutohint::lastErrorMessage () const { -+ string message; -+ if (_lastErrorMessage) -+ message = reinterpret_cast(_lastErrorMessage); -+ return message; -+} -+ -+ -+/** Returns the version number of ttfautohint. */ -+string TTFAutohint::version () const { -+#ifdef HAVE_LIBTTFAUTOHINT -+ auto fn = &TTF_autohint_version; -+#else -+ auto fn = LOAD_SYMBOL(TTF_autohint_version); -+#endif -+ string ret; -+ if (fn) { -+ int major, minor, revision; -+ fn(&major, &minor, &revision); -+ ret = to_string(major)+"."+to_string(minor); -+ if (revision) -+ ret += "."+to_string(revision); -+ } -+ return ret; -+} -+ -+#endif // HAVE_TTFAUTOHINT_H -diff -up texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/ttf/TTFAutohint.hpp.301 texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/ttf/TTFAutohint.hpp ---- texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/ttf/TTFAutohint.hpp.301 2023-01-17 15:53:51.724205542 -0500 -+++ texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/ttf/TTFAutohint.hpp 2023-01-17 15:53:51.724205542 -0500 -@@ -0,0 +1,52 @@ -+/************************************************************************* -+** TTFAutohint.hpp ** -+** ** -+** This file is part of dvisvgm -- a fast DVI to SVG converter ** -+** Copyright (C) 2005-2023 Martin Gieseking ** -+** ** -+** 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 . ** -+*************************************************************************/ -+ -+#pragma once -+ -+#include -+#include -+ -+#if defined(HAVE_TTFAUTOHINT_H) && !defined(HAVE_LIBTTFAUTOHINT) -+#include "../DLLoader.hpp" -+#endif -+ -+namespace ttf { -+ -+class TTFAutohint -+#if defined(HAVE_TTFAUTOHINT_H) && !defined(HAVE_LIBTTFAUTOHINT) -+ : public DLLoader -+#endif -+{ -+ public: -+ TTFAutohint (); -+ TTFAutohint (const TTFAutohint &ta) =delete; -+ bool available () const; -+ int autohint (const std::string &source, const std::string &target, bool rehintIfSymbolFont); -+ std::string lastErrorMessage () const; -+ std::string version () const; -+ -+#ifdef HAVE_TTFAUTOHINT_H -+ private: -+ const unsigned char *_lastErrorMessage; ///< message created by last call of 'autohint' -+#endif -+}; -+ -+} // namespace ttf -+ -diff -up texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/ttf/TTFTable.cpp.301 texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/ttf/TTFTable.cpp ---- texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/ttf/TTFTable.cpp.301 2023-01-17 15:53:51.724205542 -0500 -+++ texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/ttf/TTFTable.cpp 2023-01-17 15:53:51.724205542 -0500 -@@ -0,0 +1,94 @@ -+/************************************************************************* -+** TTFTable.cpp ** -+** ** -+** This file is part of dvisvgm -- a fast DVI to SVG converter ** -+** Copyright (C) 2005-2023 Martin Gieseking ** -+** ** -+** 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 . ** -+*************************************************************************/ -+ -+#include -+#include -+#include "TTFTable.hpp" -+ -+using namespace std; -+using namespace ttf; -+ -+ -+TableBuffer::TableBuffer (uint32_t tag, vector data) -+ : _tag(tag), _unpaddedSize(data.size()), _compressedSize(_unpaddedSize), _data(std::move(data)) -+{ -+ _data.resize((_unpaddedSize+3) & ~3, 0); // ensure data.size() % 4 == 0 -+ for (size_t i=0; i < paddedSize(); i+=4) { -+ auto *bytes = reinterpret_cast(_data.data()); -+ _checksum += bytes[i]*0x1000000 + bytes[i+1]*0x010000 + bytes[i+2]*0x0100 + bytes[i+3]; -+ } -+} -+ -+ -+TableBuffer::TableBuffer (uint32_t tag, vector data, size_t checksumExcludeOffset) -+ : TableBuffer(tag, std::move(data)) -+{ -+ if (checksumExcludeOffset+4 < _data.size()) -+ _checksum -= getUInt32(checksumExcludeOffset); -+} -+ -+ -+string TableBuffer::name () const { -+ string ret; -+ for (int i=3; i >= 0; i--) { -+ char c = char(_tag >> (8*i)); -+ ret += (c >= 32 && c <= 126 ? c : '*'); -+ } -+ return ret; -+} -+ -+ -+/** Tries to compress the buffer data. If the size of the compressed buffer data is -+ * greater or equal than the size of the uncompressed data, the buffer stays uncompressed. -+ * @returns true if the data was compressed */ -+void TableBuffer::compress () { -+ if (_data.size() < 16) -+ return; -+ uLong compressedSize = compressBound(_data.size()); -+ vector compressedData(compressedSize, 0); -+ // Compress with zlib for now. We could also use zopfli for slightly better but much slower compression. -+ // Only use the compressed data if it actually leads to a size reduction. Otherwise, use the original table data. -+ auto source = reinterpret_cast(_data.data()); -+ auto target = reinterpret_cast(&compressedData[0]); -+ if (compress2(target, &compressedSize, source, _unpaddedSize, Z_BEST_COMPRESSION) == Z_OK && compressedSize < _unpaddedSize) { -+ _compressedSize = compressedSize; -+ _data = std::move(compressedData); -+ _data.resize((compressedSize+3) & ~3, 0); // reduce buffer to padded compressed size -+ } -+} -+ -+//////////////////////////////////////////////////////////////////////////////////// -+ -+/** Creates a buffer object containing the binary data represented by this table. */ -+TableBuffer TTFTable::createBuffer () const { -+ ovectorstream> vecstream; -+ write(vecstream); -+ vector vec; -+ vecstream.swap_vector(vec); // move data from vector stream to vec -+ return TableBuffer(tag(), std::move(vec)); -+} -+ -+ -+string TTFTable::name () const { -+ string ret; -+ for (int i=3; i >= 0; i--) -+ ret += char(tag() >> (8*i)); -+ return ret; -+} -diff -up texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/ttf/TTFTable.hpp.301 texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/ttf/TTFTable.hpp ---- texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/ttf/TTFTable.hpp.301 2023-01-17 15:53:51.725205554 -0500 -+++ texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/ttf/TTFTable.hpp 2023-01-17 15:55:12.557139153 -0500 -@@ -0,0 +1,109 @@ -+/************************************************************************* -+** TTFTable.hpp ** -+** ** -+** This file is part of dvisvgm -- a fast DVI to SVG converter ** -+** Copyright (C) 2005-2023 Martin Gieseking ** -+** ** -+** 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 . ** -+*************************************************************************/ -+ -+#pragma once -+#include -+#include -+#include -+#include -+ -+namespace ttf { -+ -+/** Class to handle the binary TTF table data. */ -+class TableBuffer { -+ friend class TTFWriter; -+ public: -+ TableBuffer (uint32_t tag, std::vector data); -+ TableBuffer (uint32_t tag, std::vector data, size_t checksumExcludeOffset); -+ uint32_t tag () const {return _tag;} -+ uint32_t unpaddedSize () const {return _unpaddedSize;} -+ uint32_t paddedSize () const {return uint32_t(_data.size());} -+ uint32_t compressedSize () const {return _compressedSize;} -+ uint32_t checksum () const {return _checksum;} -+ void compress (); -+ std::string name () const; -+ -+ uint8_t getUInt8 (size_t offs) const {return _data[offs];} -+ uint16_t getUInt16 (size_t offs) const {return getUInt8(offs)*0x100 + getUInt8(offs+1);} -+ uint32_t getUInt32 (size_t offs) const {return getUInt16(offs)*0x10000 + getUInt16(offs+2);} -+ -+ /** Writes the n bytes of a given value in big-endian order to the buffer. -+ * The buffer must be big enough to take the value at the desired position. -+ * It is not resized automatically. -+ * @param[in] offset offset/index the first byte is written to -+ * @param[in] val the value to write */ -+ template -+ void setData (size_t offset, const T val) { -+ if (offset+sizeof(T) <= _data.size()) { -+ typename std::make_unsigned::type uval = val; -+ for (int i = sizeof(T)-1; i >= 0; i--) { -+ _data[offset+i] = uint8_t(uval & 0xff); -+ uval >>= 8; -+ } -+ } -+ } -+ -+ /** Writes the buffer data to the given output stream. */ -+ void write (std::ostream &os) const { -+ os.write(_data.data(), _data.size()); -+ } -+ -+ private: -+ uint32_t _tag; ///< tag/ID of corresponding TTF table -+ uint32_t _unpaddedSize; ///< size of the buffer excluding pad bytes -+ uint32_t _compressedSize; ///< sizeof compressed buffer excluding pad bytes -+ uint32_t _checksum=0; ///< checksum of uncompressed data -+ std::vector _data; ///< the (compressed/uncompressed) table data including pad bytes -+}; -+ -+ -+class TTFWriter; -+ -+/** Abstract base class for all TTF tables. */ -+class TTFTable { -+ friend class TTFWriter; -+ public: -+ virtual ~TTFTable () =default; -+ virtual uint32_t tag () const =0; -+ virtual void write (std::ostream &os) const =0; -+ bool active () const {return _ttfWriter != nullptr;} -+ TableBuffer createBuffer () const; -+ std::string name () const; -+ -+ static constexpr uint32_t name2id (const char *str) { -+ return (str[0] << 24) | (str[1] << 16) | (str[2] << 8) | str[3]; -+ } -+ -+ protected: -+ void setTTFWriter (TTFWriter *ttfWriter) {_ttfWriter = ttfWriter;} -+ TTFWriter* ttfWriter () const {return _ttfWriter;} -+ -+ static void writeUInt8 (std::ostream &os, uint8_t val) {os.put(val);} -+ static void writeUInt16 (std::ostream &os, uint16_t val) {os.put(val >> 8); os.put(val & 0xff);} -+ static void writeUInt32 (std::ostream &os, uint32_t val) {writeUInt16(os, val >> 16); writeUInt16(os, val & 0xffff);} -+ static void writeInt8 (std::ostream &os, int8_t val) {writeUInt8(os, uint8_t(val));} -+ static void writeInt16 (std::ostream &os, int16_t val) {writeUInt16(os, uint16_t(val));} -+ static void writeInt32 (std::ostream &os, int32_t val) {writeUInt32(os, uint32_t(val));} -+ -+ private: -+ TTFWriter *_ttfWriter=nullptr; -+}; -+ -+} // namespace ttf -diff -up texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/ttf/TTFWriter.cpp.301 texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/ttf/TTFWriter.cpp ---- texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/ttf/TTFWriter.cpp.301 2023-01-17 15:53:51.725205554 -0500 -+++ texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/ttf/TTFWriter.cpp 2023-01-17 15:53:51.725205554 -0500 -@@ -0,0 +1,422 @@ -+/************************************************************************* -+** TTFWriter.cpp ** -+** ** -+** This file is part of dvisvgm -- a fast DVI to SVG converter ** -+** Copyright (C) 2005-2023 Martin Gieseking ** -+** ** -+** 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 . ** -+*************************************************************************/ -+ -+#include -+#include -+#include -+#include -+#include -+#include -+#include "TTFWriter.hpp" -+#include "../Font.hpp" -+#include "../utility.hpp" -+ -+using namespace std; -+using namespace ttf; -+ -+#ifdef TTFDEBUG -+bool TTFWriter::CREATE_PS_GLYPH_OUTLINES; -+#endif -+ -+ -+TTFWriter::TTFWriter (const PhysicalFont &font, const set &chars) : -+ _font(font), -+ _tracerCallback(), -+ _tables({&_cmap, &_glyf, &_hmtx, &_hhea, &_loca, &_maxp, &_name, &_os2, &_post, &_head}) // mandatory tables -+{ -+ if (font.verticalLayout()) { // is font designed for vertical layout? -+ _tables.push_back(&_vmtx); -+ _tables.push_back(&_vhea); -+ } -+ for (TTFTable *table : _tables) -+ table->setTTFWriter(this); -+ for (uint32_t c : chars) { -+ uint32_t codepoint = font.unicode(c); -+ _unicodeCharMap.addRange(codepoint, codepoint, c); -+ } -+} -+ -+ -+/** Pseudo table representing the TTF header (aka "offset table"). */ -+class TTFHeader : public TTFTable { -+ public: -+ explicit TTFHeader (uint16_t numTables) : _numTables(numTables) {} -+ uint32_t tag () const override {return 0;} -+ -+ void write (ostream &os) const override { -+ writeUInt32(os, 0x00010000); // sfntVersion -+ writeUInt16(os, _numTables); -+ uint16_t entrySelector = util::ilog2(_numTables); -+ uint16_t searchRange = (1 << entrySelector)*16; -+ writeUInt16(os, searchRange); -+ writeUInt16(os, entrySelector); -+ writeUInt16(os, _numTables*16-searchRange); // rangeShift -+ } -+ -+ private: -+ uint16_t _numTables; -+}; -+ -+ -+/** Pseudo table representing the table records. */ -+class TTFTableRecords : public TTFTable { -+ public: -+ explicit TTFTableRecords (const list &buffers) : _buffers(buffers) {} -+ uint32_t tag () const override {return 0;} -+ -+ void write (ostream &os) const override { -+ int numTables = 0; -+ for (const TableBuffer &buffer : _buffers) -+ if (buffer.tag()) -+ numTables++; -+ uint32_t offset = 12 + 16*numTables; -+ for (const TableBuffer &buffer : _buffers) { -+ if (buffer.tag()) { -+ writeUInt32(os, buffer.tag()); -+ writeUInt32(os, buffer.checksum()); -+ writeUInt32(os, offset); -+ writeUInt32(os, buffer.unpaddedSize()); -+ offset += buffer.paddedSize(); -+ } -+ } -+ } -+ -+ private: -+ const list &_buffers; -+}; -+ -+ -+/** Writes the font data in TrueType format to the given output stream. */ -+bool TTFWriter::writeTTF (ostream &os) { -+ list buffers = createTableBuffers(); -+ // write TTF data -+ for (; !buffers.empty(); buffers.pop_front()) -+ buffers.front().write(os); -+ return true; // @@ -+} -+ -+ -+/** Writes the font data in TrueType format to the given file. */ -+bool TTFWriter::writeTTF (const string &ttfname) { -+ ofstream ofs(ttfname, ios::binary); -+ if (ofs) -+ return writeTTF(ofs); -+ return false; -+} -+ -+ -+/** Returns a list containing the binary TTF data segmented by the TTF tables. -+ * The first two list entries represent the TTF header (aka "offset table") and -+ * the table records, respectively. */ -+std::list TTFWriter::createTableBuffers () { -+ list buffers; -+ for (const TTFTable *table : _tables) -+ buffers.emplace_back(table->createBuffer()); -+ // sort table buffers according to their tag/ID in ascending order -+ buffers.sort([](const TableBuffer &buf1, const TableBuffer &buf2) { -+ return buf1.tag() < buf2.tag(); -+ }); -+ TTFHeader header(_tables.size()); -+ TTFTableRecords records(buffers); -+ buffers.emplace_front(records.createBuffer()); -+ buffers.emplace_front(header.createBuffer()); -+ // compute global checksum (checkSumAdjustment entry of head table) -+ uint32_t checksum=0; -+ for (const TableBuffer &buffer : buffers) -+ checksum += buffer.checksum(); -+ checksum = 0xB1B0AFBA-checksum; -+ // write checksum directly to the head table buffer -+ auto headBufferIt = find_if(buffers.begin(), buffers.end(), [](const TableBuffer &buf) { -+ return buf.tag() == TTFTable::name2id("head"); -+ }); -+ headBufferIt->setData(_head.offsetToChecksum(), checksum); -+ return buffers; -+} -+ -+ -+/** Returns a factor c that scales the units per EM of the source font to -+ * a value which is a power of 2, i.e. log2(c*upem) is an integer. */ -+double TTFWriter::unitsPerEmFactor () const { -+ double target_upem = targetUnitsPerEm(); -+ return target_upem > 0 ? (target_upem/_font.unitsPerEm()) : 0.0; -+} -+ -+ -+/** Returns the units per EM of the TTF font to be written. -+ * According to the OTF specification, the value should be a power of 2 -+ * if the font contains TTF outlines. */ -+int TTFWriter::targetUnitsPerEm () const { -+ int upem = _font.unitsPerEm(); -+ if (upem == 0) -+ return 0; -+ -+ if (upem < 16) -+ return 16; // minimum allowed upem in TTF/OTF -+ if (upem > 0x4000) -+ return 0x4000; // maximum allowed upem in TTF/OTF -+ int log2_upem = util::ilog2(upem); -+ if ((1 << log2_upem) == upem) // is upem of source font a power of 2? -+ return upem; -+ return 1 << (log2_upem+1); -+} -+ -+ -+int16_t TTFWriter::hAdvance (uint16_t c) const { -+ double scale = unitsPerEmFactor(); -+ double extend = _font.style() ? _font.style()->extend : 1; -+ return int16_t(round(scale*extend*_font.hAdvance(c))); -+} -+ -+ -+void TTFWriter::updateGlobalBbox (uint32_t c, int16_t xmin, int16_t ymin, int16_t xmax, int16_t ymax) { -+ if (xmin != 0 || ymin != 0 || xmax != 0 || ymax != 0) -+ _hhea.updateXMinMax(c, xmin, xmax); -+ if (xmin == 0 && xmax == 0) -+ xmax = hAdvance(c); -+ _head.updateGlobalBbox(xmin, ymin, xmax, ymax); -+ _hmtx.updateWidthData(c, xmin, xmax); -+ _os2.updateXMinMax(xmin, xmax); -+ _os2.updateYMinMax(ymin, ymax); -+ if (_vhea.active()) { -+ _vhea.updateYMinMax(c, ymin, ymax); -+ _vmtx.updateHeightData(c, ymin, ymax); -+ } -+} -+ -+ -+/** Converts TTF data to WOFF2 and writes the result to an output stream. -+ * @param[in] buffer contents of TTF file -+ * @param[in,out] os WOFF2 output stream -+ * @return true on success */ -+static bool ttf_to_woff2 (const string &buffer, ostream &os) { -+ const uint8_t* input_data = reinterpret_cast(buffer.data()); -+ size_t output_size = woff2::MaxWOFF2CompressedSize(input_data, buffer.size()); -+ string output(output_size, 0); -+ uint8_t* output_data = reinterpret_cast(&output[0]); -+ woff2::WOFF2Params params; -+ if (woff2::ConvertTTFToWOFF2(input_data, buffer.size(), output_data, &output_size, params)) { -+ output.resize(output_size); -+ copy(output.begin(), output.end(), ostream_iterator(os)); -+ return true; -+ } -+ return false; -+} -+ -+ -+/** Writes the font data in WOFF2 format to the given output stream. */ -+bool TTFWriter::writeWOFF2 (ostream &os) { -+ ostringstream oss; -+ if (writeTTF(oss)) -+ return ttf_to_woff2(oss.str(), os); -+ return false; -+} -+ -+ -+/** Writes the font data in WOFF2 format to the given file. */ -+bool TTFWriter::writeWOFF2 (const string &woff2name) { -+ ofstream ofs(woff2name, ios::binary); -+ if (ofs) -+ return writeWOFF2(ofs); -+ return false; -+} -+ -+ -+/** Reads TTF data from an input stream, converts it to WOFF2, and -+ * writes the result to an output stream. -+ * @param[in,out] is TTF input stream -+ * @param[in,out] os WOFF2 output stream -+ * @return true on success */ -+bool TTFWriter::convertTTFToWOFF2 (istream &is, ostream &os) { -+ ostringstream oss; -+ oss << is.rdbuf(); -+ return ttf_to_woff2(oss.str(), os); -+} -+ -+ -+/** Reads TTF data from an input file, converts it to WOFF2, and -+ * writes the result to an output file. -+ * @param[in] ttfname name/path of TTF file -+ * @param[in] woff2name name/path of WOFF2 file -+ * @return true on success */ -+bool TTFWriter::convertTTFToWOFF2 (const string &ttfname, const string &woff2name) { -+ ifstream ifs(ttfname, ios::binary); -+ if (ifs) { -+ ofstream ofs(woff2name, ios::binary); -+ if (ofs) -+ return convertTTFToWOFF2(ifs, ofs); -+ } -+ return false; -+} -+ -+ -+/** Pseudo table representing the WOFF header. */ -+class WOFFHeader : public TTFTable { -+ public: -+ WOFFHeader (uint16_t numTables, uint32_t ttfSize, uint32_t woffSize) -+ : _numTables(numTables), _ttfSize(ttfSize), _woffSize(woffSize) {} -+ -+ uint32_t tag () const override {return 0;} -+ -+ void write (ostream &os) const override { -+ writeUInt32(os, 0x774F4646); // "WOFF" -+ writeUInt32(os, 0x10000); // version of contained TTF font (1.0) -+ writeUInt32(os, _woffSize); // total length of WOFF file -+ writeUInt16(os, _numTables); // number of tables -+ writeUInt16(os, 0); // reserved -+ writeUInt32(os, _ttfSize); // size of uncompressed TTF data -+ writeUInt32(os, 0); // WOFF version (not required) -+ writeUInt32(os, 0); // offset to metadata block -+ writeUInt32(os, 0); // compressed size of metadata block -+ writeUInt32(os, 0); // uncompressed size of metadata block -+ writeUInt32(os, 0); // offset to private data block -+ writeUInt32(os, 0); // size of private data block -+ } -+ -+ private: -+ uint16_t _numTables; ///< number of tables in WOFF file -+ uint32_t _ttfSize; ///< total length of TTF file -+ uint32_t _woffSize; ///< total length of WOFF file -+}; -+ -+ -+/** Pseudo table representing the WOFF table records. */ -+class WOFFTableRecords : public TTFTable { -+ public: -+ explicit WOFFTableRecords (const list &buffers) : _buffers(buffers) {} -+ uint32_t tag () const override {return 0;} -+ -+ void write (ostream &os) const override { -+ uint32_t offset = 44 + 20*_buffers.size(); // offset to first byte of table data -+ for (const TableBuffer &buffer : _buffers) { -+ if (buffer.tag()) { -+ writeUInt32(os, buffer.tag()); // table tag/ID -+ writeUInt32(os, offset); // offset to table from beginning of WOFF file -+ writeUInt32(os, buffer.compressedSize()); // compressed length excluding padding -+ writeUInt32(os, buffer.unpaddedSize()); // uncompressed length excluding padding -+ writeUInt32(os, buffer.checksum()); // checksum of the uncompressed table -+ } -+ offset += buffer.paddedSize(); -+ } -+ } -+ -+ private: -+ const list &_buffers; -+}; -+ -+ -+static bool ttf_to_woff (list &&buffers, ostream &os) { -+ size_t ttfSize = std::accumulate(buffers.begin(), buffers.end(), size_t(0), [](size_t sum, const TableBuffer &buf) { -+ return sum + buf.paddedSize(); -+ }); -+ buffers.pop_front(); // remove TTF header -+ buffers.pop_front(); // remove TTF table records -+ for (TableBuffer &buffer : buffers) -+ buffer.compress(); -+ size_t woffSize = std::accumulate(buffers.begin(), buffers.end(), size_t(0), [](size_t sum, const TableBuffer &buf) { -+ return sum + buf.paddedSize(); -+ }); -+ woffSize += 44 + 20*buffers.size(); // add size of header and table records -+ WOFFHeader header(buffers.size(), ttfSize, woffSize); -+ WOFFTableRecords records(buffers); -+ buffers.emplace_front(records.createBuffer()); -+ buffers.emplace_front(header.createBuffer()); -+ for (; !buffers.empty(); buffers.pop_front()) -+ buffers.front().write(os); -+ return true; // @@ -+} -+ -+ -+/** Writes the font data in WOFF format to the given output stream. */ -+bool TTFWriter::writeWOFF (ostream &os) { -+ return ttf_to_woff(createTableBuffers(), os); -+} -+ -+ -+/** Writes the font data in WOFF format to the given file. */ -+bool TTFWriter::writeWOFF (const string &woffname) { -+ ofstream ofs(woffname, ios::binary); -+ if (ofs) -+ return writeWOFF(ofs); -+ return false; -+} -+ -+ -+/** Reads TTF data from an input stream, converts it to WOFF, and -+ * writes the result to an output stream. -+ * @param[in,out] is TTF input stream -+ * @param[in,out] os WOFF output stream -+ * @return true on success */ -+bool TTFWriter::convertTTFToWOFF (istream &is, ostream &os) { -+ list buffers; -+ // read and process TTF header -+ vector bufvec(12, 0); -+ is.read(&bufvec[0], 12); -+ buffers.emplace_back(TableBuffer(0, std::move(bufvec))); -+ int numTables = buffers.back().getUInt16(4); -+ -+ // read and process table records -+ bufvec.clear(); -+ bufvec.resize(4 * 4 * numTables); -+ is.read(&bufvec[0], 4 * 4 * numTables); -+ buffers.emplace_back(TableBuffer(0, std::move(bufvec))); -+ -+ struct TableRecord { -+ TableRecord (const TableBuffer &buf, size_t ofs) -+ : tag(buf.getUInt32(ofs)), checksum(buf.getUInt32(ofs+4)), offset(buf.getUInt32(ofs+8)), length(buf.getUInt32(ofs+12)) {} -+ uint32_t tag; -+ uint32_t checksum; -+ uint32_t offset; -+ uint32_t length; -+ }; -+ vector tableRecords; -+ tableRecords.reserve(numTables); -+ const TableBuffer &recbuf = buffers.back(); -+ for (int i=0; i < numTables; i++) -+ tableRecords.emplace_back(TableRecord(recbuf, 16*i)); -+ -+ // read and process tables -+ for (const TableRecord &record : tableRecords) { -+ bufvec.clear(); -+ bufvec.resize(record.length); -+ is.seekg(record.offset); -+ is.read(&bufvec[0], record.length); -+ if (record.tag == TTFTable::name2id("head")) -+ buffers.emplace_back(TableBuffer(record.tag, std::move(bufvec), HeadTable::offsetToChecksum())); -+ else -+ buffers.emplace_back(TableBuffer(record.tag, std::move(bufvec))); -+ } -+ return ttf_to_woff(std::move(buffers), os); -+} -+ -+ -+/** Reads TTF data from an input file, converts it to WOFF, and -+ * writes the result to an output file. -+ * @param[in] ttfname name/path of TTF file -+ * @param[in] woffname name/path of WOFF file -+ * @return true on success */ -+bool TTFWriter::convertTTFToWOFF (const string &ttfname, const string &woffname) { -+ ifstream ifs(ttfname, ios::binary); -+ if (ifs) { -+ ofstream ofs(woffname, ios::binary); -+ if (ofs) -+ return convertTTFToWOFF(ifs, ofs); -+ } -+ return false; -+} -diff -up texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/ttf/TTFWriter.hpp.301 texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/ttf/TTFWriter.hpp ---- texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/ttf/TTFWriter.hpp.301 2023-01-17 15:53:51.725205554 -0500 -+++ texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/ttf/TTFWriter.hpp 2023-01-17 15:53:51.725205554 -0500 -@@ -0,0 +1,113 @@ -+/************************************************************************* -+** TTFWriter.hpp ** -+** ** -+** This file is part of dvisvgm -- a fast DVI to SVG converter ** -+** Copyright (C) 2005-2023 Martin Gieseking ** -+** ** -+** 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 . ** -+*************************************************************************/ -+ -+#pragma once -+ -+#include -+#include -+#include "CmapTable.hpp" -+#include "GlyfTable.hpp" -+#include "HeadTable.hpp" -+#include "HheaTable.hpp" -+#include "HmtxTable.hpp" -+#include "LocaTable.hpp" -+#include "MaxpTable.hpp" -+#include "NameTable.hpp" -+#include "OS2Table.hpp" -+#include "PostTable.hpp" -+#include "VheaTable.hpp" -+#include "VmtxTable.hpp" -+#include "../GFGlyphTracer.hpp" -+#include "../RangeMap.hpp" -+ -+class PhysicalFont; -+ -+namespace ttf { -+ -+class TTFWriter { -+ public: -+ TTFWriter (const PhysicalFont &font, const std::set &chars); -+ bool writeTTF (std::ostream &os); -+ bool writeWOFF (std::ostream &os); -+ bool writeWOFF2 (std::ostream &os); -+ bool writeTTF (const std::string &ttfname); -+ bool writeWOFF (const std::string &woffname); -+ bool writeWOFF2 (const std::string &woff2name); -+ static bool convertTTFToWOFF (std::istream &is, std::ostream &os); -+ static bool convertTTFToWOFF2 (std::istream &is, std::ostream &os); -+ static bool convertTTFToWOFF (const std::string &ttfname, const std::string &woffname); -+ static bool convertTTFToWOFF2 (const std::string &ttfname, const std::string &woff2name); -+ void setTracerCallback (GFGlyphTracer::Callback &callback) {_tracerCallback = &callback;} -+ GFGlyphTracer::Callback* getTracerCallback () const {return _tracerCallback;} -+ const PhysicalFont& getFont () const {return _font;} -+ const RangeMap& getUnicodeCharMap () const {return _unicodeCharMap;} -+ int targetUnitsPerEm () const; -+ double unitsPerEmFactor () const; -+ int16_t hAdvance (uint16_t c) const; -+ void updateGlobalBbox (uint32_t c, int16_t xmin, int16_t ymin, int16_t xmax, int16_t ymax); -+ bool isFixedPitch () const {return _hmtx.isFixedPitch();} -+ -+ void updateContourInfo (uint16_t maxContours, uint16_t maxPoints) { -+ _maxp.updateContourInfo(maxPoints, maxContours); -+ } -+ -+ void updateGlobalAdvanceWidth (uint16_t w, uint16_t numHMetrics) {_hhea.updateAdvanceWidth(w, numHMetrics);} -+ void updateGlobalAdvanceHeight (uint16_t h, uint16_t numVMetrics) { -+ if (_vhea.active()) -+ _vhea.updateAdvanceHeight(h, numVMetrics); -+ } -+ -+ void addGlyphOffset (uint32_t offset) { -+ _loca.addOffset(offset); -+ if (offset > 0xFFFF) -+ _head.setLongOffsetFormat(); -+ } -+ -+#ifdef TTFDEBUG -+ static bool CREATE_PS_GLYPH_OUTLINES; -+#endif -+ -+ protected: -+ std::list createTableBuffers (); -+ -+ private: -+ const PhysicalFont &_font; -+ RangeMap _unicodeCharMap; ///< Unicode -> character code -+ GFGlyphTracer::Callback *_tracerCallback; -+ CmapTable _cmap; ///< glyph index to character code mapping table -+ GlyfTable _glyf; ///< glyph data table -+ HeadTable _head; ///< font header table -+ HheaTable _hhea; ///< horizontal header table -+ HmtxTable _hmtx; ///< horizontal metrics table -+ LocaTable _loca; ///< glyph index to location/offset table -+ MaxpTable _maxp; ///< maximum profile table -+ NameTable _name; ///< naming table -+ OS2Table _os2; ///< OS/2 and Windows specific metrics table -+ PostTable _post; ///< PostScript information table -+ VheaTable _vhea; ///< vertical header table -+ VmtxTable _vmtx; ///< vertical metrics table -+ // The following vector contains pointers to the TTF table objects declared above. -+ // If a table t1 contains data that computation depends on data of table t2, -+ // t1 must be inserted after t2. For example, the loca and head tables require data -+ // from the glyf table to compute their data, so that glyf must precede loca and head. -+ std::vector _tables; -+}; -+ -+} // namespace ttf -\ No newline at end of file -diff -up texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/ttf/VheaTable.cpp.301 texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/ttf/VheaTable.cpp ---- texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/ttf/VheaTable.cpp.301 2023-01-17 15:53:51.725205554 -0500 -+++ texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/ttf/VheaTable.cpp 2023-01-17 15:53:51.725205554 -0500 -@@ -0,0 +1,66 @@ -+/************************************************************************* -+** VheaTable.cpp ** -+** ** -+** This file is part of dvisvgm -- a fast DVI to SVG converter ** -+** Copyright (C) 2005-2023 Martin Gieseking ** -+** ** -+** 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 . ** -+*************************************************************************/ -+ -+#include "VheaTable.hpp" -+#include "TTFWriter.hpp" -+#include "../Font.hpp" -+ -+using namespace std; -+using namespace ttf; -+ -+ -+void VheaTable::write (ostream &os) const { -+ const PhysicalFont &font = ttfWriter()->getFont(); -+ double scale = ttfWriter()->unitsPerEmFactor(); -+ writeUInt32(os, 0x10000); // table version 1.0 -+ writeInt16(os, round(font.ascent()*scale)); -+ writeInt16(os, round(-font.descent()*scale)); -+ writeInt16(os, 0); // line gap, always 0 -+ writeUInt16(os, _advanceHeightMax); -+ writeInt16(os, _minTopSideBearing); -+ writeInt16(os, _minBottomSideBearing); -+ writeInt16(os, _yMaxExtent); -+ writeInt16(os, 1); // caretSlopeRise (1 = vertical) -+ writeInt16(os, 0); // caretSlopeRun (0 = vertical) -+ writeInt16(os, 0); // caretOffset -+ writeInt16(os, 0); // reserved -+ writeInt16(os, 0); // reserved -+ writeInt16(os, 0); // reserved -+ writeInt16(os, 0); // reserved -+ writeInt16(os, 0); // metricDataFormat (always 0) -+ writeUInt16(os, _numberOfVMetrics); -+} -+ -+ -+void VheaTable::updateYMinMax (uint32_t c, int16_t ymin, int16_t ymax) { -+ const PhysicalFont &font = ttfWriter()->getFont(); -+ double extend = font.style() ? font.style()->extend : 1; -+ double scale = ttfWriter()->unitsPerEmFactor(); -+ int16_t advance = (c == 0 ? ymax : round(scale*extend*font.vAdvance(c))); -+ _yMaxExtent = max(_yMaxExtent, ymax); -+ _minTopSideBearing = min(_minTopSideBearing, ymin); -+ _minBottomSideBearing = min(_minBottomSideBearing, int16_t(advance-ymax)); -+} -+ -+ -+void VheaTable::updateAdvanceHeight (uint16_t h, uint16_t numberOfVMetrics) { -+ _advanceHeightMax = max(_advanceHeightMax, h); -+ _numberOfVMetrics = numberOfVMetrics; -+} -diff -up texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/ttf/VheaTable.hpp.301 texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/ttf/VheaTable.hpp ---- texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/ttf/VheaTable.hpp.301 2023-01-17 15:53:51.725205554 -0500 -+++ texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/ttf/VheaTable.hpp 2023-01-17 15:53:51.725205554 -0500 -@@ -0,0 +1,47 @@ -+/************************************************************************* -+** VheaTable.hpp ** -+** ** -+** This file is part of dvisvgm -- a fast DVI to SVG converter ** -+** Copyright (C) 2005-2023 Martin Gieseking ** -+** ** -+** 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 . ** -+*************************************************************************/ -+ -+#pragma once -+#include -+#include "TTFTable.hpp" -+ -+namespace ttf { -+ -+/** This class provides the functions required to write the vertical header table of a TTF/OTF font. -+ * https://www.microsoft.com/typography/otspec/vhea.htm */ -+class VheaTable : public TTFTable { -+ friend class TTFWriter; -+ public: -+ uint32_t tag () const override {return name2id("vhea");} -+ void write (std::ostream &os) const override; -+ -+ protected: -+ void updateYMinMax (uint32_t c, int16_t ymin, int16_t ymax); -+ void updateAdvanceHeight (uint16_t h, uint16_t numberOfVMetrics); -+ -+ private: -+ uint16_t _advanceHeightMax = 0; -+ int16_t _minTopSideBearing = std::numeric_limits::max(); -+ int16_t _minBottomSideBearing = std::numeric_limits::max(); -+ int16_t _yMaxExtent = std::numeric_limits::min(); -+ uint16_t _numberOfVMetrics = 0; -+}; -+ -+} // namespace ttf -diff -up texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/ttf/VmtxTable.cpp.301 texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/ttf/VmtxTable.cpp ---- texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/ttf/VmtxTable.cpp.301 2023-01-17 15:53:51.725205554 -0500 -+++ texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/ttf/VmtxTable.cpp 2023-01-17 15:53:51.725205554 -0500 -@@ -0,0 +1,57 @@ -+/************************************************************************* -+** VmtxTable.cpp ** -+** ** -+** This file is part of dvisvgm -- a fast DVI to SVG converter ** -+** Copyright (C) 2005-2023 Martin Gieseking ** -+** ** -+** 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 . ** -+*************************************************************************/ -+ -+#include -+#include "VmtxTable.hpp" -+#include "TTFWriter.hpp" -+#include "../Font.hpp" -+ -+using namespace std; -+using namespace ttf; -+ -+ -+void VmtxTable::write (ostream &os) const { -+ auto runStart = _heightInfos.end(); -+ if (!_heightInfos.empty()) -+ runStart -= _runLengthOfAdvHeight-1; -+ // write longVerMetrics up to the beginning of the repeating -+ // advance heights at the end of the container -+ for (auto it = _heightInfos.begin(); it != runStart; ++it) { -+ writeUInt16(os, it->advHeight); -+ writeInt16(os, it->tsb); -+ } -+ // write the trailing top side bearings -+ for (; runStart != _heightInfos.end(); ++runStart) -+ writeInt16(os, runStart->tsb); -+} -+ -+ -+void VmtxTable::updateHeightData (uint32_t c, int16_t ymin, int16_t ymax) { -+ const PhysicalFont &font = ttfWriter()->getFont(); -+ double extend = font.style() ? font.style()->extend : 1; -+ double scale = ttfWriter()->unitsPerEmFactor(); -+ int16_t h = (c == 0 ? ymax : round(scale*extend*font.vAdvance(c))); -+ if (_heightInfos.empty() || h == _heightInfos.back().advHeight) -+ _runLengthOfAdvHeight++; -+ else -+ _runLengthOfAdvHeight = 1; -+ _heightInfos.emplace_back(CharHeightInfo(ymin, h)); -+ ttfWriter()->updateGlobalAdvanceHeight(h, _heightInfos.size()-_runLengthOfAdvHeight+1); -+} -\ No newline at end of file -diff -up texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/ttf/VmtxTable.hpp.301 texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/ttf/VmtxTable.hpp ---- texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/ttf/VmtxTable.hpp.301 2023-01-17 15:53:51.725205554 -0500 -+++ texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/ttf/VmtxTable.hpp 2023-01-17 15:53:51.725205554 -0500 -@@ -0,0 +1,49 @@ -+/************************************************************************* -+** VmtxTable.hpp ** -+** ** -+** This file is part of dvisvgm -- a fast DVI to SVG converter ** -+** Copyright (C) 2005-2023 Martin Gieseking ** -+** ** -+** 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 . ** -+*************************************************************************/ -+ -+#pragma once -+ -+#include -+#include "TTFTable.hpp" -+ -+namespace ttf { -+ -+/** This class provides the functions required to write the horizontal metrics table of a TTF/OTF font. -+ * https://www.microsoft.com/typography/otspec/vmtx.htm */ -+class VmtxTable : public TTFTable { -+ friend TTFWriter; -+ struct CharHeightInfo { -+ CharHeightInfo (int16_t l, int16_t h) : tsb(l), advHeight(h) {} -+ uint16_t tsb; // top side bearing -+ uint16_t advHeight; // unscaled advance height -+ }; -+ public: -+ uint32_t tag () const override {return name2id("vmtx");} -+ void write (std::ostream &os) const override; -+ -+ protected: -+ void updateHeightData (uint32_t c, int16_t ymin, int16_t ymax); -+ -+ private: -+ std::vector _heightInfos; -+ size_t _runLengthOfAdvHeight=0; // number of identical advHeight values at end of _heightInfos -+}; -+ -+} // namespace ttf -diff -up texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/Unicode.cpp.301 texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/Unicode.cpp ---- texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/Unicode.cpp.301 2022-01-21 12:25:16.000000000 -0500 -+++ texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/Unicode.cpp 2023-01-17 15:53:51.725205554 -0500 -@@ -2,7 +2,7 @@ - ** Unicode.cpp ** - ** ** - ** This file is part of dvisvgm -- a fast DVI to SVG converter ** --** Copyright (C) 2005-2022 Martin Gieseking ** -+** Copyright (C) 2005-2023 Martin Gieseking ** - ** ** - ** This program is free software; you can redistribute it and/or ** - ** modify it under the terms of the GNU General Public License as ** -@@ -52,9 +52,12 @@ bool Unicode::isValidCodepoint (uint32_t - - /** Returns a valid Unicode point for the given character code. Character codes - * that are invalid code points because the XML standard forbids or discourages -- * their usage, are mapped to the Private Use Zone U+E000-U+F8FF. */ --uint32_t Unicode::charToCodepoint (uint32_t c) { -- uint32_t ranges[] = { -+ * their usage, are mapped to the Private Use Zone U+E000-U+F8FF. -+ * @param[in] c character code to map -+ * @param[in] permitSpace if true, space characters are treated as allowed code points -+ * @return the code point */ -+uint32_t Unicode::charToCodepoint (uint32_t c, bool permitSpace) { -+ static uint32_t ranges[] = { - 0x0000, 0x0020, 0xe000, // basic control characters + space - 0x007f, 0x009f, 0xe021, // use of control characters is discouraged by the XML standard - 0x202a, 0x202e, 0xe042, // bidi control characters -@@ -78,9 +81,12 @@ uint32_t Unicode::charToCodepoint (uint3 - 0xffffe, 0xfffff, 0xe885, - 0x10fffe, 0x10ffff, 0xe887 - }; -- for (size_t i=0; i < sizeof(ranges)/sizeof(unsigned) && c >= ranges[i]; i+=3) -- if (c <= ranges[i+1]) -- return ranges[i+2]+c-ranges[i]; -+ if (!permitSpace || c != 0x20) { -+ for (size_t i=0; i < sizeof(ranges)/sizeof(uint32_t) && c >= ranges[i]; i+=3) { -+ if (c <= ranges[i+1]) -+ return ranges[i+2]+c-ranges[i]; -+ } -+ } - return c; - } - -@@ -114,6 +120,32 @@ string Unicode::utf8 (int32_t cp) { - } - - -+uint32_t Unicode::utf8ToCodepoint (const string &utf8) { -+ auto len = utf8.length(); -+ if (len > 0) { -+ unsigned char c0 = utf8[0]; -+ if (c0 >= 0 && c0 <= 127) -+ return c0; -+ if (len > 1) { -+ unsigned char c1 = utf8[1]; -+ if (c0 >= 0xC0 && c0 <= 0xDF) -+ return ((c0-0xC0) << 6) + (c1-0x80); -+ if (len > 2 && (c0 != 0xED || (c1 & 0xA0) != 0xA0)) { -+ unsigned char c2 = utf8[2]; -+ if (c0 >= 0xE0 && c0 <= 0xEF) -+ return ((c0-0xE0) << 12) + ((c1-0x80) << 6) + (c2-0x80); -+ if (len > 3) { -+ unsigned char c3 = utf8[3]; -+ if (c0 >= 0xF0 && c0 <= 0xF7) -+ return ((c0-0xF0) << 18) + ((c1-0x80) << 12) + ((c2-0x80) << 6) + (c3-0x80); -+ } -+ } -+ } -+ } -+ return 0; -+} -+ -+ - /** Converts a surrogate pair to its code point. - * @param[in] high high-surrogate value (upper 16 bits) - * @param[in] low low-surrogate value (lower 16 bits) -@@ -148,6 +180,43 @@ uint32_t Unicode::toSurrogate (uint32_t - } - - -+uint32_t Unicode::toLigature (const string &nonlig) { -+ struct Ligature { -+ const char *nonlig; -+ uint32_t lig; -+ } ligatures[39] = { -+ {u8"AA", 0xA732}, {u8"aa", 0xA733}, -+ {u8"AE", 0x00C6}, {u8"ae", 0x00E6}, -+ {u8"AO", 0xA734}, {u8"ao", 0xA735}, -+ {u8"AU", 0xA736}, {u8"au", 0xA737}, -+ {u8"AV", 0xA738}, {u8"av", 0xA739}, -+ {u8"AY", 0xA73C}, {u8"ay", 0xA73D}, -+ {u8"et", 0x1F670}, -+ {u8"ff", 0xFB00}, -+ {u8"ffi", 0xFB03}, -+ {u8"ffl", 0xFB04}, -+ {u8"fi", 0xFB01}, -+ {u8"fl", 0xFB02}, -+ {u8"Hv", 0x01F6}, {u8"hv", 0x0195}, -+ {u8"lb", 0x2114}, -+ {u8"lL", 0x1EFA}, {u8"ll", 0x1EFB}, -+ {u8"OE", 0x0152}, {u8"oe", 0x0153}, -+ {u8"OO", 0xA74E}, {u8"oo", 0xA74F}, -+ {u8"OO", 0xA74E}, -+ {u8"\u0254e", 0xAB62}, -+ {u8"\u017Fs", 0x1E9E}, {u8"\u017Az", 0x00DF}, -+ {u8"Tz", 0xA728}, {u8"tz", 0xA729}, -+ {u8"ue", 0x1D6B}, -+ {u8"uo", 0xAB63}, -+ {u8"VV", 0x0057}, {u8"tz", 0x0077}, -+ {u8"VY", 0xA760}, {u8"tz", 0xA761}, -+ }; -+ auto it = find_if(begin(ligatures), end(ligatures), [&nonlig](const Ligature &l) { -+ return l.nonlig == nonlig; -+ }); -+ return it != end(ligatures) ? it->lig : 0; -+} -+ - #include "AGLTable.hpp" - - /** Tries to extract the codepoint from AGL character names like "uni1234" or "u1234". -@@ -189,7 +258,7 @@ static const char* get_suffix (const str - "small", "swash", "superior", "inferior", "numerator", "denominator", "oldstyle", - "display", "text", "big", "bigg", "Big", "Bigg", 0 - }; -- size_t pos = name.rfind('.'); -+ auto pos = name.rfind('.'); - if (pos != string::npos) { - string suffix = name.substr(pos+1); - for (const char **p=suffixes; *p; p++) -diff -up texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/Unicode.hpp.301 texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/Unicode.hpp ---- texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/Unicode.hpp.301 2022-01-21 12:25:16.000000000 -0500 -+++ texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/Unicode.hpp 2023-01-17 16:36:01.001375270 -0500 -@@ -2,7 +2,7 @@ - ** Unicode.hpp ** - ** ** - ** This file is part of dvisvgm -- a fast DVI to SVG converter ** --** Copyright (C) 2005-2022 Martin Gieseking ** -+** Copyright (C) 2005-2023 Martin Gieseking ** - ** ** - ** This program is free software; you can redistribute it and/or ** - ** modify it under the terms of the GNU General Public License as ** -@@ -21,15 +21,18 @@ - #ifndef UNICODE_HPP - #define UNICODE_HPP - -+#include - #include - - struct Unicode { - static bool isValidCodepoint (uint32_t code); -- static uint32_t charToCodepoint (uint32_t c); -+ static uint32_t charToCodepoint (uint32_t c, bool permitSpace=false); - static std::string utf8 (int32_t c); -+ static uint32_t utf8ToCodepoint (const std::string &utf8); - static uint32_t fromSurrogate (uint32_t high, uint32_t low); - static uint32_t fromSurrogate (uint32_t cp); - static uint32_t toSurrogate (uint32_t cp); -+ static uint32_t toLigature (const std::string &nonlig); - static int32_t aglNameToCodepoint (const std::string &name); - }; - -diff -up texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/utility.cpp.301 texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/utility.cpp ---- texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/utility.cpp.301 2022-01-21 12:25:16.000000000 -0500 -+++ texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/utility.cpp 2023-01-17 15:53:51.725205554 -0500 -@@ -2,7 +2,7 @@ - ** utility.cpp ** - ** ** - ** This file is part of dvisvgm -- a fast DVI to SVG converter ** --** Copyright (C) 2005-2022 Martin Gieseking ** -+** Copyright (C) 2005-2023 Martin Gieseking ** - ** ** - ** This program is free software; you can redistribute it and/or ** - ** modify it under the terms of the GNU General Public License as ** -@@ -62,6 +62,26 @@ vector math::svd (const double ( - } - - -+/** Returns the value of the definite integral of f:R->R over the interval [t0,t1] -+ * using a simple Simpson/Runge-Kutta (rk4) approximation. -+ * @param[in] t0 lower interval boundary -+ * @param[in] t1 upper interval boundary -+ * @param[in] n number of slices the interval is divided into -+ * @param[in] f function to integrate */ -+double math::integral (double t0, double t1, int n, const std::function &f) { -+ double ti = t0, ui=0; -+ double h = (t1-t0)/n; -+ for (int i=0; i < n; i++) { -+ double k1 = f(ti); -+ double k2 = f(ti + h/2); -+ double k4 = f(ti + h); -+ ui += h*(k1 + 4*k2 + k4)/6; -+ ti += h; -+ } -+ return ui; -+} -+ -+ - /** Normalizes an angle to the interval [-mod, mod). */ - double math::normalize_angle (double angle, double mod) { - angle = fmod(angle+mod, 2.0*mod); -@@ -84,10 +104,10 @@ double math::normalize_0_2pi (double rad - * @param[in] ws characters treated as whitespace - * @return the trimmed string */ - string util::trim (const std::string &str, const char *ws) { -- size_t first = str.find_first_not_of(ws); -+ auto first = str.find_first_not_of(ws); - if (first == string::npos) - return ""; -- size_t last = str.find_last_not_of(ws); -+ auto last = str.find_last_not_of(ws); - return str.substr(first, last-first+1); - } - -@@ -99,9 +119,9 @@ string util::trim (const std::string &st - * @return the normalized string */ - string util::normalize_space (string str, const char *ws) { - str = trim(str); -- size_t first = str.find_first_of(ws); -+ auto first = str.find_first_of(ws); - while (first != string::npos) { -- size_t last = str.find_first_not_of(ws, first); -+ auto last = str.find_first_not_of(ws, first); - str.replace(first, last-first, " "); - first = str.find_first_of(ws, first+1); - } -@@ -116,7 +136,7 @@ string util::normalize_space (string str - * @return the resulting string */ - string util::replace (string str, const string &find, const string &repl) { - if (!find.empty() && !repl.empty()) { -- size_t first = str.find(find); -+ auto first = str.find(find); - while (first != string::npos) { - str.replace(first, find.length(), repl); - first = str.find(find, first+repl.length()); -@@ -136,9 +156,9 @@ vector util::split (const string - if (str.empty() || sep.empty()) - parts.push_back(str); - else { -- size_t left=0; -+ string::size_type left=0; - while (left <= str.length()) { -- size_t right = str.find(sep, left); -+ auto right = str.find(sep, left); - if (right == string::npos) { - parts.push_back(str.substr(left)); - left = string::npos; -@@ -164,7 +184,7 @@ string util::tolower (const string &str) - string util::to_string (double val) { - string str = std::to_string(val); - if (str.find('.') != string::npos) { // double value and not an integer? -- size_t pos = str.find_last_not_of('0'); -+ auto pos = str.find_last_not_of('0'); - if (pos != string::npos) // trailing zeros - str.erase(pos+1, string::npos); - if (str.back() == '.') // trailing dot? -@@ -202,3 +222,83 @@ void util::write_file_contents (const st - ofstream ofs(fname, ios::binary); - copy(start, end, ostream_iterator(ofs)); - } -+ -+ -+string util::mimetype (const string &fname) { -+ string ret; -+ auto pos = fname.rfind('.'); -+ if (pos != string::npos) { -+ string suffix = fname.substr(pos+1); -+ if (suffix == "svg") -+ ret = "svg+xml"; -+ else if (suffix == "png" || suffix == "gif") -+ ret = suffix; -+ else if (suffix == "jpg" || suffix == "jpeg") -+ ret = "jpeg"; -+ else if (suffix == "tif" || suffix == "tiff") -+ ret = "tiff"; -+ } -+ if (!ret.empty()) -+ ret = "image/"+ret; -+ return ret; -+} -+ -+/////////////////////////////////////////////////////////////////////// -+ -+static bool is_leap_year (int year) { -+ return year % 4 == 0 && (year % 100 != 0 || year % 400 == 0); -+} -+ -+ -+/** Returns the number of leap years in the interval [year1, year2]. */ -+static size_t number_of_leap_years (int year1, int year2) { -+ year1--; -+ size_t ly1 = year1/4 - year1/100 + year1/400; -+ size_t ly2 = year2/4 - year2/100 + year2/400; -+ return ly2-ly1; -+} -+ -+ -+static size_t number_of_days (int year, int month1, int month2) { -+ const int mdays[] = {31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31}; -+ size_t days = is_leap_year(year) ? 366 : 365; -+ for (int i=0; i < month1; i++) -+ days -= mdays[i]; -+ for (int i=month2+1; i < 12; i++) -+ days -= mdays[i]; -+ return days; -+} -+ -+ -+static size_t number_of_days (int year1, int month1, int year2, int month2) { -+ size_t days = 0; -+ if (year1 == year2) -+ days = number_of_days(year1, month1, month2); -+ else { -+ if (year2-year1 > 1) -+ days = (year2-year1-1)*365 + number_of_leap_years(year1+1, year2-1); -+ days += number_of_days(year1, month1, 11); -+ days += number_of_days(year2, 0, month2); -+ } -+ return days; -+} -+ -+ -+/** Returns the number of days spanning the interval from this date up to another one. */ -+size_t util::Date::operator - (Date date2) const { -+ Date date1 = *this; -+ if (date2 < date1) -+ std::swap(date1, date2); -+ size_t days = ::number_of_days(date1._year, date1._month, date2._year, date2._month-1); -+ days += date2._day - date1._day + 1; -+ return days; -+} -+ -+ -+bool util::Date::operator < (const Date &date) const { -+ if (_year < date._year) return true; -+ if (_year > date._year) return false; -+ if (_month < date._month) return true; -+ if (_month > date._month) return false; -+ return _day < date._day; -+} -\ No newline at end of file -diff -up texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/utility.hpp.301 texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/utility.hpp ---- texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/utility.hpp.301 2022-01-21 12:25:16.000000000 -0500 -+++ texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/utility.hpp 2023-01-17 16:35:45.949199718 -0500 -@@ -2,7 +2,7 @@ - ** utility.hpp ** - ** ** - ** This file is part of dvisvgm -- a fast DVI to SVG converter ** --** Copyright (C) 2005-2022 Martin Gieseking ** -+** Copyright (C) 2005-2023 Martin Gieseking ** - ** ** - ** This program is free software; you can redistribute it and/or ** - ** modify it under the terms of the GNU General Public License as ** -@@ -21,7 +21,13 @@ - #ifndef UTILITY_HPP - #define UTILITY_HPP - -+#ifdef HAVE_CONFIG_H -+#include -+#endif -+ -+#include - #include -+#include - #include - #include - #include -@@ -40,6 +46,7 @@ inline double rad2deg (double rad) {retu - double normalize_angle (double angle, double mod); - double normalize_0_2pi (double rad); - std::vector svd (const double (&m)[2][2]); -+double integral (double t0, double t1, int n, const std::function &f); - - /** Signum function (returns x/abs(x) if x != 0, and 0 otherwise). */ - template -@@ -61,6 +68,8 @@ std::string normalize_space (std::string - std::string tolower (const std::string &str); - std::string replace (std::string str, const std::string &find, const std::string &repl); - std::string to_string (double val); -+std::string mimetype (const std::string &fname); -+ - std::vector split (const std::string &str, const std::string &sep); - int ilog10 (int n); - -@@ -136,18 +145,82 @@ inline void base64_copy (std::istream &i - * Constructs an object of class T on the heap and returns a unique_ptr to it. - * @param[in] args arguments forwarded to an constructor of T */ - template --std::unique_ptr make_unique (Args&&... args) { -- return std::unique_ptr(new T(std::forward(args)...)); -+inline std::unique_ptr make_unique (Args&&... args) { -+ return std::unique_ptr(new T(std::forward(args)...)); -+} -+ -+ -+/** Simple implementation mimicking array variant of std::make_unique introduced in C++14. -+ * Constructs an array of class T on the heap and returns a unique_ptr(size) to it. -+ * @param[in] size size of array */ -+template -+inline std::unique_ptr make_unique (std::size_t size) { -+ return std::unique_ptr(new typename std::remove_extent::type[size]()); - } - - - template --std::unique_ptr static_unique_ptr_cast (std::unique_ptr &&old){ -- return std::unique_ptr{static_cast(old.release())}; -+inline std::unique_ptr static_unique_ptr_cast (std::unique_ptr &&old){ -+ return std::unique_ptr{static_cast(old.release())}; -+} -+ -+#ifdef HAVE___BUILTIN_CLZ -+ -+template -+typename std::enable_if::type -+count_leading_zeros (T val) { -+ return val == 0 ? 8*sizeof(T) : __builtin_clz(val) - 8*(sizeof(unsigned int)-sizeof(T)); -+} -+ -+template -+typename std::enable_if::type -+count_leading_zeros (T val) { -+ return val == 0 ? 8*sizeof(T) : __builtin_clzl(val); -+} -+ -+template -+typename std::enable_if::type -+count_leading_zeros (T val) { -+ return val == 0 ? 8*sizeof(T) : __builtin_clzll(val); -+} -+ -+#elif defined(_MSC_VER) -+ -+#include -+ -+template -+typename std::enable_if::type -+count_leading_zeros (T val) { -+ unsigned long index; -+ return _BitScanReverse(&index, val) ? static_cast(8*sizeof(T)-1-index) : 8*sizeof(T); - } - -+#else -+ -+// fallback implementation if no built-in clz function is available - template --struct set_const_of { -+typename std::enable_if::type -+count_leading_zeros (T val) { -+ uint32_t val32 = val; -+ static const uint8_t clz_table[16] = {4, 3, 2, 2, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0}; -+ int n=0; -+ if ((val32 & 0xFFFF0000) == 0) {n = 16; val32 <<= 16;} -+ if ((val32 & 0xFF000000) == 0) {n += 8; val32 <<= 8;} -+ if ((val32 & 0xF0000000) == 0) {n += 4; val32 <<= 4;} -+ return n + clz_table[val32 >> (32-4)] - (32-8*sizeof(T)); -+} -+ -+#endif -+ -+/** Returns floor(log2(n)) where n is a positive integer. -+ * If n < 1, it returns -1. */ -+template -+int ilog2 (T n) { -+ return n > 0 ? 8*sizeof(T)-1-count_leading_zeros(n) : -1; -+} -+ -+template -+struct set_const_of { - template - struct by { - using type = typename std::conditional< -@@ -155,8 +228,19 @@ struct set_const_of { - typename std::add_const::type, - typename std::remove_const::type - >::type; -- }; -+ }; - }; -+ -+class Date { -+ public: -+ Date (int year, int month, int day) : _year(year), _month(month-1), _day(day-1) {} -+ bool operator < (const Date &date) const; -+ size_t operator - (Date date2) const; -+ -+ private: -+ int _year, _month, _day; // _month and _day are 0-based -+}; -+ - } // namespace util - - #endif -diff -up texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/VectorIterator.hpp.301 texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/VectorIterator.hpp ---- texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/VectorIterator.hpp.301 2022-01-21 12:25:16.000000000 -0500 -+++ texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/VectorIterator.hpp 2023-01-17 15:53:51.725205554 -0500 -@@ -2,7 +2,7 @@ - ** VectorIterator.hpp ** - ** ** - ** This file is part of dvisvgm -- a fast DVI to SVG converter ** --** Copyright (C) 2005-2022 Martin Gieseking ** -+** Copyright (C) 2005-2023 Martin Gieseking ** - ** ** - ** This program is free software; you can redistribute it and/or ** - ** modify it under the terms of the GNU General Public License as ** -diff -up texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/VectorStream.hpp.301 texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/VectorStream.hpp ---- texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/VectorStream.hpp.301 2022-01-21 12:25:16.000000000 -0500 -+++ texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/VectorStream.hpp 2023-01-17 15:53:51.725205554 -0500 -@@ -2,7 +2,7 @@ - ** VectorStream.hpp ** - ** ** - ** This file is part of dvisvgm -- a fast DVI to SVG converter ** --** Copyright (C) 2005-2022 Martin Gieseking ** -+** Copyright (C) 2005-2023 Martin Gieseking ** - ** ** - ** This program is free software; you can redistribute it and/or ** - ** modify it under the terms of the GNU General Public License as ** -diff -up texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/VFActions.hpp.301 texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/VFActions.hpp ---- texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/VFActions.hpp.301 2022-01-21 12:25:16.000000000 -0500 -+++ texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/VFActions.hpp 2023-01-17 16:35:30.432018742 -0500 -@@ -2,7 +2,7 @@ - ** VFActions.hpp ** - ** ** - ** This file is part of dvisvgm -- a fast DVI to SVG converter ** --** Copyright (C) 2005-2022 Martin Gieseking ** -+** Copyright (C) 2005-2023 Martin Gieseking ** - ** ** - ** This program is free software; you can redistribute it and/or ** - ** modify it under the terms of the GNU General Public License as ** -@@ -21,6 +21,7 @@ - #ifndef VFACTIONS_HPP - #define VFACTIONS_HPP - -+#include - #include - #include - -diff -up texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/VFReader.cpp.301 texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/VFReader.cpp ---- texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/VFReader.cpp.301 2022-01-21 12:25:16.000000000 -0500 -+++ texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/VFReader.cpp 2023-01-17 16:35:15.819848321 -0500 -@@ -2,7 +2,7 @@ - ** VFReader.cpp ** - ** ** - ** This file is part of dvisvgm -- a fast DVI to SVG converter ** --** Copyright (C) 2005-2022 Martin Gieseking ** -+** Copyright (C) 2005-2023 Martin Gieseking ** - ** ** - ** This program is free software; you can redistribute it and/or ** - ** modify it under the terms of the GNU General Public License as ** -@@ -18,6 +18,7 @@ - ** along with this program; if not, see . ** - *************************************************************************/ - -+#include - #include - #include "FixWord.hpp" - #include "Font.hpp" -diff -up texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/VFReader.hpp.301 texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/VFReader.hpp ---- texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/VFReader.hpp.301 2022-01-21 12:25:16.000000000 -0500 -+++ texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/VFReader.hpp 2023-01-17 15:53:51.726205565 -0500 -@@ -2,7 +2,7 @@ - ** VFReader.hpp ** - ** ** - ** This file is part of dvisvgm -- a fast DVI to SVG converter ** --** Copyright (C) 2005-2022 Martin Gieseking ** -+** Copyright (C) 2005-2023 Martin Gieseking ** - ** ** - ** This program is free software; you can redistribute it and/or ** - ** modify it under the terms of the GNU General Public License as ** -diff -up texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/windows.hpp.301 texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/windows.hpp ---- texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/windows.hpp.301 2022-01-21 12:25:16.000000000 -0500 -+++ texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/windows.hpp 2023-01-17 15:53:51.726205565 -0500 -@@ -2,7 +2,7 @@ - ** windows.hpp ** - ** ** - ** This file is part of dvisvgm -- a fast DVI to SVG converter ** --** Copyright (C) 2005-2022 Martin Gieseking ** -+** Copyright (C) 2005-2023 Martin Gieseking ** - ** ** - ** This program is free software; you can redistribute it and/or ** - ** modify it under the terms of the GNU General Public License as ** -diff -up texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/XMLDocument.cpp.301 texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/XMLDocument.cpp ---- texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/XMLDocument.cpp.301 2022-01-21 12:25:16.000000000 -0500 -+++ texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/XMLDocument.cpp 2023-01-17 15:53:51.726205565 -0500 -@@ -2,7 +2,7 @@ - ** XMLDocument.cpp ** - ** ** - ** This file is part of dvisvgm -- a fast DVI to SVG converter ** --** Copyright (C) 2005-2022 Martin Gieseking ** -+** Copyright (C) 2005-2023 Martin Gieseking ** - ** ** - ** This program is free software; you can redistribute it and/or ** - ** modify it under the terms of the GNU General Public License as ** -diff -up texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/XMLDocument.hpp.301 texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/XMLDocument.hpp ---- texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/XMLDocument.hpp.301 2022-01-21 12:25:16.000000000 -0500 -+++ texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/XMLDocument.hpp 2023-01-17 15:53:51.726205565 -0500 -@@ -2,7 +2,7 @@ - ** XMLDocument.hpp ** - ** ** - ** This file is part of dvisvgm -- a fast DVI to SVG converter ** --** Copyright (C) 2005-2022 Martin Gieseking ** -+** Copyright (C) 2005-2023 Martin Gieseking ** - ** ** - ** This program is free software; you can redistribute it and/or ** - ** modify it under the terms of the GNU General Public License as ** -diff -up texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/XMLNode.cpp.301 texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/XMLNode.cpp ---- texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/XMLNode.cpp.301 2022-01-21 12:25:16.000000000 -0500 -+++ texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/XMLNode.cpp 2023-01-17 15:53:51.726205565 -0500 -@@ -2,7 +2,7 @@ - ** XMLNode.cpp ** - ** ** - ** This file is part of dvisvgm -- a fast DVI to SVG converter ** --** Copyright (C) 2005-2022 Martin Gieseking ** -+** Copyright (C) 2005-2023 Martin Gieseking ** - ** ** - ** This program is free software; you can redistribute it and/or ** - ** modify it under the terms of the GNU General Public License as ** -@@ -63,6 +63,14 @@ unique_ptr XMLNode::removeNext - return oldnext; - } - -+ -+XMLElement* XMLNode::nextElement () const { -+ for (XMLNode *node = next(); node; node = node->next()) -+ if (node->toElement()) -+ return node->toElement(); -+ return nullptr; -+} -+ - ///////////////////////////////////////////////////////////////////// - - XMLElement::XMLElement (string name) : _name(std::move(name)) { -@@ -103,6 +111,19 @@ void XMLElement::clear () { - } - - -+/** Returns true if element has no child nodes or, alternatively, only whitespace children. -+ * @param[in] ignoreWhitespace if true and if there are only whitespace children, the functions returns true */ -+bool XMLElement::empty (bool ignoreWhitespace) const { -+ if (!_firstChild || !ignoreWhitespace) -+ return _firstChild == nullptr; -+ for (const XMLNode *node : *this) { -+ if (!node->toWSNode()) -+ return false; -+ } -+ return true; -+} -+ -+ - void XMLElement::addAttribute (const string &name, const string &value) { - if (Attribute *attr = getAttribute(name)) - attr->value = value; -@@ -362,8 +383,9 @@ ostream& XMLElement::write (ostream &os) - if (attrib.name.front() != '@') - os << attrib.name << "='" << attrib.value << '\''; - else { -- os << attrib.name.substr(1) << "='"; -- size_t pos = attrib.value.find("base64,"); -+ bool keep = (attrib.name.size() > 1 && attrib.name[1] == '@'); -+ os << attrib.name.substr(keep ? 2 : 1) << "='"; -+ auto pos = attrib.value.find("base64,"); - if (pos == string::npos) - os << attrib.value; - else { -@@ -374,7 +396,7 @@ ostream& XMLElement::write (ostream &os) - os << '\n'; - util::base64_copy(ifs, os, 200); - ifs.close(); -- if (!KEEP_ENCODED_FILES) -+ if (!KEEP_ENCODED_FILES && !keep) - FileSystem::remove(fname); - } - } -@@ -434,6 +456,29 @@ const XMLElement::Attribute* XMLElement: - } - - -+/** Checks whether an SVG attribute A of an element E implicitly propagates its properties -+ * to all child elements of E that don't specify A. For now we only consider a subset of -+ * the inheritable properties. -+ * @return true if the attribute is inheritable */ -+bool XMLElement::Attribute::inheritable () const { -+ // subset of inheritable properties listed on https://www.w3.org/TR/SVG11/propidx.html -+ // clip-path is not inheritable but can be moved to the parent element as long as -+ // no child gets an different clip-path attribute -+ // https://www.w3.org/TR/SVG11/styling.html#Inheritance -+ static const char *names[] = { -+ "clip-path", "clip-rule", "color", "color-interpolation", "color-interpolation-filters", "color-profile", -+ "color-rendering", "direction", "fill", "fill-opacity", "fill-rule", "font", "font-family", "font-size", -+ "font-size-adjust", "font-stretch", "font-style", "font-variant", "font-weight", "glyph-orientation-horizontal", -+ "glyph-orientation-vertical", "letter-spacing", "paint-order", "stroke", "stroke-dasharray", "stroke-dashoffset", -+ "stroke-linecap", "stroke-linejoin", "stroke-miterlimit", "stroke-opacity", "stroke-width", "transform", -+ "visibility", "word-spacing", "writing-mode" -+ }; -+ return binary_search(std::begin(names), std::end(names), name, [](const string &name1, const string &name2) { -+ return name1 < name2; -+ }); -+} -+ -+ - ////////////////////// - - void XMLText::append (unique_ptr node) { -diff -up texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/XMLNode.hpp.301 texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/XMLNode.hpp ---- texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/XMLNode.hpp.301 2022-01-21 12:25:16.000000000 -0500 -+++ texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/XMLNode.hpp 2023-01-17 15:53:51.726205565 -0500 -@@ -2,7 +2,7 @@ - ** XMLNode.hpp ** - ** ** - ** This file is part of dvisvgm -- a fast DVI to SVG converter ** --** Copyright (C) 2005-2022 Martin Gieseking ** -+** Copyright (C) 2005-2023 Martin Gieseking ** - ** ** - ** This program is free software; you can redistribute it and/or ** - ** modify it under the terms of the GNU General Public License as ** -@@ -62,6 +62,7 @@ class XMLNode { - XMLNode* parent () const {return _parent;} - XMLNode* prev () const {return _prev;} - XMLNode* next () const {return _next.get();} -+ XMLElement* nextElement () const; - - static bool KEEP_ENCODED_FILES; - -@@ -118,6 +119,7 @@ class XMLElement : public XMLNode { - public: - struct Attribute { - Attribute (std::string nam, std::string val) : name(std::move(nam)), value(std::move(val)) {} -+ bool inheritable () const; - std::string name; - std::string value; - }; -@@ -146,7 +148,7 @@ class XMLElement : public XMLNode { - XMLNode* firstChild () const {return _firstChild.get();} - XMLNode* lastChild () const {return _lastChild;} - std::ostream& write (std::ostream &os) const override; -- bool empty () const {return !_firstChild;} -+ bool empty (bool ignoreWhitespace=false) const; - Attributes& attributes () {return _attributes;} - const Attributes& attributes () const {return _attributes;} - XMLNodeIterator begin () {return XMLNodeIterator(_firstChild.get());} -diff -up texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/XMLParser.cpp.301 texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/XMLParser.cpp ---- texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/XMLParser.cpp.301 2023-01-17 15:53:51.726205565 -0500 -+++ texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/XMLParser.cpp 2023-01-17 15:53:51.726205565 -0500 -@@ -0,0 +1,257 @@ -+/************************************************************************* -+** XMLParser.cpp ** -+** ** -+** This file is part of dvisvgm -- a fast DVI to SVG converter ** -+** Copyright (C) 2005-2023 Martin Gieseking ** -+** ** -+** 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 . ** -+*************************************************************************/ -+ -+#include "InputReader.hpp" -+#include "XMLParser.hpp" -+ -+using namespace std; -+ -+XMLElement* XMLParser::setRootElement (XMLElement *root) { -+ _elementStack.clear(); -+ if (root) -+ _elementStack.push_back(root); -+ else { -+ _root = util::make_unique("root"); -+ _elementStack.push_back(_root.get()); -+ } -+ return _elementStack.back(); -+} -+ -+ -+/** Parses an XML fragment from an input stream. */ -+void XMLParser::parse (istream &is) { -+ while (is) { -+ string buf; -+ buf.resize(1024); -+ is.read(&buf[0], 1024); -+ buf.resize(is.gcount()); -+ parse(std::move(buf)); -+ } -+ finish(); -+} -+ -+ -+static string::size_type find_end_of_tag (const string &str, string::size_type startpos) { -+ char attrval_delim = 0; -+ bool expect_attrval = false; -+ for (auto i=startpos; i < str.length(); i++) { -+ if (attrval_delim) { // inside attrubute value? -+ if (str[i] == attrval_delim) // end of attribute value? -+ attrval_delim = 0; -+ } -+ else if (str[i] == '>') -+ return i; -+ else if (str[i] == '"' || str[i] == '\'') { // start of attribute value? -+ if (expect_attrval) -+ attrval_delim = str[i]; -+ else { -+ ostringstream oss; -+ oss << "misplaced " << str[i] << " inside tag"; -+ throw XMLParserException(oss.str()); -+ } -+ } -+ else if (str[i] == '=') { -+ expect_attrval = true; -+ continue; -+ } -+ else if (str[i] == '<') -+ throw XMLParserException("invalid '<' inside tag"); -+ expect_attrval = false; -+ } -+ return string::npos; -+} -+ -+ -+/** Parses a fragment of XML code, creates corresponding XML nodes and adds them -+ * to an SVG tree. The code may be split and processed by several calls of this -+ * function. Incomplete chunks that can't be processed yet are stored and picked -+ * up again together with the next incoming XML fragment. If a call of this function -+ * is supposed to finish the parsing of an XML subtree, parameter 'finish' must be set. -+ * @param[in] xml XML fragment to parse -+ * @param[in] finish if true, no more XML is expected and parsing is finished */ -+void XMLParser::parse (string xml, bool finish) { -+ if (_elementStack.empty()) // no root element set? -+ return; -+ // collect/extract an XML fragment that only contains complete tags -+ // incomplete tags are held back -+ if (_xmlbuf.empty()) -+ _xmlbuf.assign(std::move(xml)); -+ else -+ _xmlbuf.append(xml); -+ string::size_type left=0; -+ try { -+ while (left != string::npos) { -+ auto right = _xmlbuf.find('<', left); -+ if (left < right && left < _xmlbuf.length()) {// plain text found? -+ string text = (right == string::npos ? _xmlbuf.substr(left) : _xmlbuf.substr(left, right-left)); -+ appendNode(util::make_unique(std::move(text))); -+ } -+ if (right != string::npos) { -+ left = right; -+ if (_xmlbuf.compare(left, 9, "", left+9); -+ if (right == string::npos) { -+ if (finish) throw XMLParserException("expected ']]>' at end of CDATA block"); -+ break; -+ } -+ appendNode(util::make_unique(_xmlbuf.substr(left+9, right-left-9))); -+ right += 2; -+ } -+ else if (_xmlbuf.compare(left, 4, "", left+4); -+ if (right == string::npos) { -+ if (finish) throw XMLParserException("expected '-->' at end of comment"); -+ break; -+ } -+ appendNode(util::make_unique(_xmlbuf.substr(left+4, right-left-4))); -+ right += 2; -+ } -+ else if (_xmlbuf.compare(left, 2, "", left+2); -+ if (right == string::npos) { -+ if (finish) throw XMLParserException("expected '?>' at end of processing instruction"); -+ break; -+ } -+ appendNode(util::make_unique(_xmlbuf.substr(left, right-left+2))); -+ right++; -+ } -+ else if (_xmlbuf.compare(left, 2, "', left+2); -+ if (right == string::npos) { -+ if (finish) throw XMLParserException("missing '>' at end of closing XML tag"); -+ break; -+ } -+ closeElement(_xmlbuf.substr(left+2, right-left-2)); -+ } -+ else { -+ right = find_end_of_tag(_xmlbuf, left+1); -+ if (right == string::npos) { -+ if (finish) throw XMLParserException("missing '>' or '/>' at end of opening XML tag"); -+ break; -+ } -+ openElement(_xmlbuf.substr(left+1, right-left-1)); -+ } -+ } -+ left = right; -+ if (right != string::npos) -+ left++; -+ } -+ } -+ catch (const XMLParserException &e) { -+ _error = true; -+ throw; -+ } -+ if (left == string::npos) -+ _xmlbuf.clear(); -+ else -+ _xmlbuf.erase(0, left); -+} -+ -+ -+void XMLParser::appendNode (unique_ptr node) { -+ context()->append(std::move(node)); -+} -+ -+ -+XMLElement* XMLParser::finishPushContext (unique_ptr elem) { -+ XMLElement *elemPtr = elem.get(); -+ context()->append(std::move(elem)); -+ return elemPtr; -+} -+ -+ -+/** Processes an opening element tag. -+ * @param[in] tag tag without leading and trailing angle brackets */ -+XMLElement* XMLParser::openElement (const string &tag) { -+ StringInputBuffer ib(tag); -+ BufferInputReader ir(ib); -+ string name = ir.getString("/ \t\n\r"); -+ ir.skipSpace(); -+ unique_ptr elemNode{createElementPtr(name)}; -+ map attribs; -+ if (ir.parseAttributes(attribs, true, "\"'")) { -+ for (const auto &attrpair : attribs) -+ elemNode->addAttribute(attrpair.first, attrpair.second); -+ } -+ ir.skipSpace(); -+ XMLElement *elemPtr = elemNode.get(); -+ if (ir.peek() == '/') // end of empty element tag -+ appendNode(std::move(elemNode)); -+ else if (ir.peek() < 0) // end of opening tag -+ _elementStack.push_back(finishPushContext(std::move(elemNode))); -+ else -+ throw XMLParserException("'>' or '/>' expected at end of opening tag <"+name); -+ if (_notifyElementOpened) -+ _notifyElementOpened(elemPtr); -+ if (ir.peek() == '/' && _notifyElementClosed) -+ _notifyElementClosed(elemPtr); -+ return elemPtr; -+} -+ -+ -+/** Processes a closing element tag. -+ * @param[in] tag tag without leading and trailing angle brackets */ -+void XMLParser::closeElement (const string &tag) { -+ StringInputBuffer ib(tag); -+ BufferInputReader ir(ib); -+ string name = ir.getString(" \t\n\r"); -+ ir.skipSpace(); -+ if (ir.peek() >= 0) -+ throw XMLParserException("'>' expected at end of closing tag "); -+ if (_elementStack.back()->name() != name) -+ throw XMLParserException("expected name() + "> but found "); -+ finishPopContext(); -+ if (_notifyElementClosed) -+ _notifyElementClosed(_elementStack.back()); -+ _elementStack.pop_back(); -+} -+ -+ -+/** Processes any remaining XML fragments, checks for missing closing tags, -+ * and resets the parser state. */ -+void XMLParser::finish () { -+ if (!_xmlbuf.empty()) { -+ if (!_error) -+ parse("", true); -+ _xmlbuf.clear(); -+ } -+ string tags; -+ while (_elementStack.size() > 1) { -+ tags += "name() + ">, "; -+ _elementStack.pop_back(); -+ } -+ if (!tags.empty() && !_error) { -+ tags.resize(tags.length()-2); // drop trailing ", " -+ throw XMLParserException("missing closing tag(s): " + tags); -+ } -+} -+ -+ -+XMLElement* XMLParser::createElementPtr (std::string name) const { -+ return new XMLElement(std::move(name)); -+} -+ -+ -+void XMLParser::setNotifyFuncs (NotifyFunc notifyElementOpened, NotifyFunc notifyElementClosed) { -+ _notifyElementOpened = std::move(notifyElementOpened); -+ _notifyElementClosed = std::move(notifyElementClosed); -+} -diff -up texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/XMLParser.hpp.301 texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/XMLParser.hpp ---- texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/XMLParser.hpp.301 2023-01-17 15:53:51.726205565 -0500 -+++ texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/XMLParser.hpp 2023-01-17 15:53:51.726205565 -0500 -@@ -0,0 +1,65 @@ -+/************************************************************************* -+** XMLParser.hpp ** -+** ** -+** This file is part of dvisvgm -- a fast DVI to SVG converter ** -+** Copyright (C) 2005-2023 Martin Gieseking ** -+** ** -+** 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 . ** -+*************************************************************************/ -+ -+#ifndef XMLPARSER_HPP -+#define XMLPARSER_HPP -+ -+#include -+#include -+#include "MessageException.hpp" -+#include "XMLNode.hpp" -+ -+struct XMLParserException : MessageException { -+ explicit XMLParserException (const std::string &msg) : MessageException(msg) {} -+}; -+ -+class XMLParser { -+ using ElementStack = std::vector; -+ using NotifyFunc = std::function; -+ -+ public: -+ XMLParser () =default; -+ virtual ~XMLParser() {} -+ explicit XMLParser (XMLElement *root) {setRootElement(root);} -+ XMLElement* setRootElement (XMLElement *root); -+ void parse (std::istream &is); -+ void parse (std::string xml, bool finish=false); -+ void finish (); -+ void setNotifyFuncs (NotifyFunc notifyElementOpened, NotifyFunc notifyElementClosed); -+ -+ protected: -+ XMLElement* context () {return _elementStack.back();} -+ virtual void appendNode (std::unique_ptr node); -+ virtual XMLElement* finishPushContext (std::unique_ptr elem); -+ virtual void finishPopContext () {} -+ virtual XMLElement* openElement (const std::string &tag); -+ virtual void closeElement (const std::string &tag); -+ virtual XMLElement* createElementPtr (std::string name) const; -+ -+ private: -+ std::string _xmlbuf; -+ std::unique_ptr _root; ///< element holding the parsed nodes -+ ElementStack _elementStack; ///< elements not yet closed -+ bool _error=false; -+ std::function _notifyElementOpened; -+ std::function _notifyElementClosed; -+}; -+ -+#endif -diff -up texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/XMLString.cpp.301 texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/XMLString.cpp ---- texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/XMLString.cpp.301 2022-01-21 12:25:16.000000000 -0500 -+++ texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/XMLString.cpp 2023-01-17 16:34:54.737602441 -0500 -@@ -2,7 +2,7 @@ - ** XMLString.cpp ** - ** ** - ** This file is part of dvisvgm -- a fast DVI to SVG converter ** --** Copyright (C) 2005-2022 Martin Gieseking ** -+** Copyright (C) 2005-2023 Martin Gieseking ** - ** ** - ** This program is free software; you can redistribute it and/or ** - ** modify it under the terms of the GNU General Public License as ** -@@ -19,6 +19,7 @@ - *************************************************************************/ - - #include -+#include - #include - #include "Unicode.hpp" - #include "utility.hpp" -@@ -91,7 +92,7 @@ XMLString::XMLString (double x) { - if (std::abs(x) < 1e-6) - x = 0; - assign(util::to_string(x)); -- size_t pos = find("0."); -+ auto pos = find("0."); - if (pos != string::npos && (pos == 0 || at(pos-1) == '-')) - erase(pos, 1); - } -diff -up texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/XMLString.hpp.301 texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/XMLString.hpp ---- texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/XMLString.hpp.301 2022-01-21 12:25:16.000000000 -0500 -+++ texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/XMLString.hpp 2023-01-17 15:53:51.726205565 -0500 -@@ -2,7 +2,7 @@ - ** XMLString.hpp ** - ** ** - ** This file is part of dvisvgm -- a fast DVI to SVG converter ** --** Copyright (C) 2005-2022 Martin Gieseking ** -+** Copyright (C) 2005-2023 Martin Gieseking ** - ** ** - ** This program is free software; you can redistribute it and/or ** - ** modify it under the terms of the GNU General Public License as ** -diff -up texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/XXHashFunction.hpp.301 texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/XXHashFunction.hpp ---- texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/XXHashFunction.hpp.301 2022-01-21 12:25:16.000000000 -0500 -+++ texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/XXHashFunction.hpp 2023-01-17 15:53:51.726205565 -0500 -@@ -2,7 +2,7 @@ - ** XXHashFunction.hpp ** - ** ** - ** This file is part of dvisvgm -- a fast DVI to SVG converter ** --** Copyright (C) 2005-2022 Martin Gieseking ** -+** Copyright (C) 2005-2023 Martin Gieseking ** - ** ** - ** This program is free software; you can redistribute it and/or ** - ** modify it under the terms of the GNU General Public License as ** -diff -up texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/ZLibOutputStream.hpp.301 texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/ZLibOutputStream.hpp ---- texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/ZLibOutputStream.hpp.301 2022-01-21 12:25:16.000000000 -0500 -+++ texlive-base-20220321/source/texk/dvisvgm/dvisvgm-src/src/ZLibOutputStream.hpp 2023-01-17 15:53:51.726205565 -0500 -@@ -2,7 +2,7 @@ - ** ZLibOutputStream.hpp ** - ** ** - ** This file is part of dvisvgm -- a fast DVI to SVG converter ** --** Copyright (C) 2005-2022 Martin Gieseking ** -+** Copyright (C) 2005-2023 Martin Gieseking ** - ** ** - ** This program is free software; you can redistribute it and/or ** - ** modify it under the terms of the GNU General Public License as ** -diff -up texlive-base-20220321/source/texk/dvisvgm/version.ac.301 texlive-base-20220321/source/texk/dvisvgm/version.ac ---- texlive-base-20220321/source/texk/dvisvgm/version.ac.301 2022-02-28 17:04:29.000000000 -0500 -+++ texlive-base-20220321/source/texk/dvisvgm/version.ac 2023-01-17 15:53:51.727205577 -0500 -@@ -9,4 +9,4 @@ dnl - dnl -------------------------------------------------------- - dnl - dnl m4-include this file to define the current dvisvgm version --m4_define([dvisvgm_version], [2.13.3]) -+m4_define([dvisvgm_version], [3.0.1]) diff --git a/texlive-base-20220321-out-of-memory.patch b/texlive-base-20220321-out-of-memory.patch deleted file mode 100644 index 645e427..0000000 --- a/texlive-base-20220321-out-of-memory.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff -up texlive-base-20220321/source/texk/kpathsea/texmf.cnf.out_of_memory texlive-base-20220321/source/texk/kpathsea/texmf.cnf ---- texlive-base-20220321/source/texk/kpathsea/texmf.cnf.out_of_memory 2022-04-24 15:50:46.472711270 -0400 -+++ texlive-base-20220321/source/texk/kpathsea/texmf.cnf 2022-04-24 15:51:47.213026575 -0400 -@@ -789,7 +789,7 @@ texmf_casefold_search = 1 - % To increase space for boxes (as might be needed by, e.g., PiCTeX), - % increase extra_mem_bot. - % --main_memory = 5000000 % words of inimemory available; also applies to inimf&mp -+main_memory = 6000000 % words of inimemory available; also applies to inimf&mp - extra_mem_top = 0 % extra high memory for chars, tokens, etc. - extra_mem_bot = 0 % extra low memory for boxes, glue, breakpoints, etc. - diff --git a/texlive-base-20220321-pdf-header-order-fix.patch b/texlive-base-20220321-pdf-header-order-fix.patch deleted file mode 100644 index 14ef1d0..0000000 --- a/texlive-base-20220321-pdf-header-order-fix.patch +++ /dev/null @@ -1,47 +0,0 @@ -diff -up texlive-base-20220321/source/texk/web2c/pdftexdir/pdftoepdf.cc.header-order-fix texlive-base-20220321/source/texk/web2c/pdftexdir/pdftoepdf.cc ---- texlive-base-20220321/source/texk/web2c/pdftexdir/pdftoepdf.cc.header-order-fix 2023-01-31 12:53:39.214112015 -0500 -+++ texlive-base-20220321/source/texk/web2c/pdftexdir/pdftoepdf.cc 2023-01-31 12:54:07.175413160 -0500 -@@ -17,6 +17,11 @@ You should have received a copy of the G - with this program. If not, see . - */ - -+/* -+Load aconf.h first to ensure _FILE_OFFSET_BITS is factored in. -+*/ -+#include -+ - /* Do this early in order to avoid a conflict between - MINGW32 defining 'boolean' as 'unsigned char' and - defining Pascal's boolean as 'int'. -@@ -31,7 +36,6 @@ with this program. If not, see - #include - --#include - #include - #include - #include -diff -up texlive-base-20220321/source/texk/web2c/pdftexdir/pdftosrc.cc.header-order-fix texlive-base-20220321/source/texk/web2c/pdftexdir/pdftosrc.cc ---- texlive-base-20220321/source/texk/web2c/pdftexdir/pdftosrc.cc.header-order-fix 2023-01-31 12:41:21.483166562 -0500 -+++ texlive-base-20220321/source/texk/web2c/pdftexdir/pdftosrc.cc 2023-01-31 12:53:15.185853229 -0500 -@@ -16,6 +16,12 @@ GNU General Public License for more deta - You should have received a copy of the GNU General Public License along - with this program. If not, see . - */ -+ -+/* -+Load aconf.h first to ensure _FILE_OFFSET_BITS is factored in. -+*/ -+#include -+ - #include - - #include -@@ -24,7 +30,6 @@ with this program. If not, see - #include - --#include - #include - #include - #include diff --git a/texlive-base-20220321-poppler-22.08.0.patch b/texlive-base-20220321-poppler-22.08.0.patch deleted file mode 100644 index 1385077..0000000 --- a/texlive-base-20220321-poppler-22.08.0.patch +++ /dev/null @@ -1,123 +0,0 @@ -diff -up texlive-base-20220321/source/configure.poppler-22.08.0 texlive-base-20220321/source/configure ---- texlive-base-20220321/source/configure.poppler-22.08.0 2022-10-31 09:48:21.875540925 -0400 -+++ texlive-base-20220321/source/configure 2022-10-31 09:50:13.731220862 -0400 -@@ -23545,7 +23545,7 @@ printf %s "checking requested system \`x - int - main (void) - { --GfxFont *gfxFont; gfxFont->decRefCnt(); -+GfxFont *gfxFont; gfxFont->getFlags(); - ; - return 0; - } -diff -up texlive-base-20220321/source/texk/web2c/pdftexdir/pdftoepdf.cc.poppler-22.08.0 texlive-base-20220321/source/texk/web2c/pdftexdir/pdftoepdf.cc ---- texlive-base-20220321/source/texk/web2c/pdftexdir/pdftoepdf.cc.poppler-22.08.0 2022-10-31 09:48:21.872540907 -0400 -+++ texlive-base-20220321/source/texk/web2c/pdftexdir/pdftoepdf.cc 2022-10-31 09:48:21.876540932 -0400 -@@ -123,7 +123,7 @@ struct InObj { - - struct UsedEncoding { - int enc_objnum; -- GfxFont *font; -+ std::shared_ptr font; - UsedEncoding *next; - }; - -@@ -167,8 +167,8 @@ static PdfDocument *find_add_document(ch - p->file_name = xstrdup(file_name); - p->xref = xref = 0; - p->occurences = 0; -- GString *docName = new GString(p->file_name); -- p->doc = new PDFDoc(docName); // takes ownership of docName -+ // GString *docName = new GString(p->file_name); -+ p->doc = new PDFDoc(std::make_unique(p->file_name)); // takes ownership of docName - if (!p->doc->isOk() || !p->doc->okToPrint()) { - pdftex_fail("xpdf: reading PDF image failed"); - } -@@ -204,7 +204,7 @@ static void delete_document(PdfDocument - - // -------------------------------------------------------------------- - --static int addEncoding(GfxFont * gfont) -+static int addEncoding(std::shared_ptr gfont) - { - UsedEncoding *n; - n = new UsedEncoding; -@@ -395,7 +395,8 @@ static void copyFont(const char *tag, Ob - { - Object fontdict, subtype, basefont, fontdescRef, fontdesc, charset, - stemV; -- GfxFont *gfont; -+ // GfxFont *gfont; -+ std::shared_ptr gfont; - fd_entry *fd; - fm_entry *fontmap; - // Check whether the font has already been embedded before analysing it. -@@ -666,6 +667,7 @@ static void writeEncodings() - UsedEncoding *r, *n; - char *glyphNames[256], *s; - int i; -+ - for (r = encodingList; r != 0; r = r->next) { - for (i = 0; i < 256; i++) { - if (r->font->isCIDFont()) { -@@ -673,7 +675,8 @@ static void writeEncodings() - ("PDF inclusion: CID fonts are not supported" - " (try to disable font replacement to fix this)"); - } -- if ((s = (char *) ((Gfx8BitFont *) r->font)->getCharName(i)) != 0) -+ const GfxFont *const font = r->font.get(); -+ if ((s = (char *) ((Gfx8BitFont *) font)->getCharName(i)) != 0) - glyphNames[i] = s; - else - glyphNames[i] = notdef; -@@ -682,7 +685,7 @@ static void writeEncodings() - } - for (r = encodingList; r != 0; r = n) { - n = r->next; -- r->font->decRefCnt(); -+ // r->font->decRefCnt(); - delete r; - } - } -diff -up texlive-base-20220321/source/texk/web2c/pdftexdir/pdftosrc.cc.poppler-22.08.0 texlive-base-20220321/source/texk/web2c/pdftexdir/pdftosrc.cc ---- texlive-base-20220321/source/texk/web2c/pdftexdir/pdftosrc.cc.poppler-22.08.0 2022-10-31 09:48:21.866540870 -0400 -+++ texlive-base-20220321/source/texk/web2c/pdftexdir/pdftosrc.cc 2022-10-31 09:48:21.876540932 -0400 -@@ -72,7 +72,7 @@ int main(int argc, char *argv[]) - { - char *p, buf[1024]; - PDFDoc *doc; -- GString *fileName; -+ std::unique_ptr fileName; - Stream *s; - Object srcStream, srcName, catalogDict; - FILE *outfile; -@@ -86,9 +86,9 @@ int main(int argc, char *argv[]) - "Usage: pdftosrc []\n"); - exit(1); - } -- fileName = new GString(argv[1]); -+ fileName = std::make_unique(argv[1]); - globalParams = std::unique_ptr(new GlobalParams()); -- doc = new PDFDoc(fileName); -+ doc = new PDFDoc(std::move(fileName)); - if (!doc->isOk()) { - fprintf(stderr, "Invalid PDF file\n"); - exit(1); -@@ -126,7 +126,7 @@ int main(int argc, char *argv[]) - fprintf(stderr, "Not a Stream object\n"); - exit(1); - } -- sprintf(buf, "%s", fileName->c_str()); -+ sprintf(buf, "%s", argv[1]); - if ((p = strrchr(buf, '.')) == 0) - p = strchr(buf, 0); - if (objgen == 0) -@@ -136,7 +136,7 @@ int main(int argc, char *argv[]) - outname = buf; - } else { // objnum < 0 means we are extracting the XRef table - extract_xref_table = true; -- sprintf(buf, "%s", fileName->c_str()); -+ sprintf(buf, "%s", argv[1]); - if ((p = strrchr(buf, '.')) == 0) - p = strchr(buf, 0); - sprintf(p, ".xref"); diff --git a/texlive-base-20220321-vasprintf-fix.patch b/texlive-base-20220321-vasprintf-fix.patch deleted file mode 100644 index b2d6de3..0000000 --- a/texlive-base-20220321-vasprintf-fix.patch +++ /dev/null @@ -1,24 +0,0 @@ -diff -up texlive-base-20220321/source/texk/web2c/synctexdir/synctex_parser.c.spotfix texlive-base-20220321/source/texk/web2c/synctexdir/synctex_parser.c ---- texlive-base-20220321/source/texk/web2c/synctexdir/synctex_parser.c.spotfix 2023-01-30 13:53:54.728596407 -0500 -+++ texlive-base-20220321/source/texk/web2c/synctexdir/synctex_parser.c 2023-01-30 13:54:03.585695070 -0500 -@@ -95,6 +95,8 @@ - # endif - # endif - -+#define __STDC_WANT_LIB_EXT2__ 1 -+ - #include - #include - #include -diff -up texlive-base-20220321/source/texk/web2c/synctexdir/synctex_parser_utils.c.spotfix texlive-base-20220321/source/texk/web2c/synctexdir/synctex_parser_utils.c ---- texlive-base-20220321/source/texk/web2c/synctexdir/synctex_parser_utils.c.spotfix 2023-01-30 13:56:35.358385753 -0500 -+++ texlive-base-20220321/source/texk/web2c/synctexdir/synctex_parser_utils.c 2023-01-30 13:57:11.206785083 -0500 -@@ -40,6 +40,8 @@ - - /* In this file, we find all the functions that may depend on the operating system. */ - -+#define __STDC_WANT_LIB_EXT2__ 1 -+ - #include - #include - #include diff --git a/texlive-base-20220321-xpdf-no-GfxFont-decRefCnt.patch b/texlive-base-20220321-xpdf-no-GfxFont-decRefCnt.patch deleted file mode 100644 index 311b683..0000000 --- a/texlive-base-20220321-xpdf-no-GfxFont-decRefCnt.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff -up texlive-base-20220321/source/configure.poppler-22.08.0 texlive-base-20220321/source/configure ---- texlive-base-20220321/source/configure.poppler-22.08.0 2022-10-31 09:48:21.875540925 -0400 -+++ texlive-base-20220321/source/configure 2022-10-31 09:50:13.731220862 -0400 -@@ -23545,7 +23545,7 @@ printf %s "checking requested system \`x - int - main (void) - { --GfxFont *gfxFont; gfxFont->decRefCnt(); -+GfxFont *gfxFont; gfxFont->getFlags(); - ; - return 0; - } diff --git a/texlive-base-20230311-fix-scripts.patch b/texlive-base-20230311-fix-scripts.patch deleted file mode 100644 index 6370ef6..0000000 --- a/texlive-base-20230311-fix-scripts.patch +++ /dev/null @@ -1,20 +0,0 @@ -diff -up ./scripts/context/perl/mptopdf.pl.fix-scripts ./scripts/context/perl/mptopdf.pl ---- ./scripts/context/perl/mptopdf.pl.fix-scripts 2023-05-25 11:52:19.149713294 -0400 -+++ ./scripts/context/perl/mptopdf.pl 2023-05-25 11:53:05.379317240 -0400 -@@ -1,5 +1,4 @@ --eval '(exit $?0)' && eval 'exec perl -S $0 ${1+"$@"}' && eval 'exec perl -S $0 $argv:q' -- if 0; -+#! /usr/bin/perl -w - - # MikTeX users can set environment variable TEXSYSTEM to "miktex". - -diff -up ./scripts/thumbpdf/thumbpdf.pl.fix-scripts ./scripts/thumbpdf/thumbpdf.pl ---- ./scripts/thumbpdf/thumbpdf.pl.fix-scripts 2023-05-25 11:53:23.018547680 -0400 -+++ ./scripts/thumbpdf/thumbpdf.pl 2023-05-25 11:53:44.086822918 -0400 -@@ -1,5 +1,4 @@ --eval '(exit $?0)' && eval 'exec perl -S $0 ${1+"$@"}' && eval 'exec perl -S $0 $argv:q' -- if 0; -+#! /usr/bin/perl -w - use strict; - $^W=1; # turn warning on - # diff --git a/texlive-base-20230311-typefixes.patch b/texlive-base-20230311-typefixes.patch deleted file mode 100644 index a64e045..0000000 --- a/texlive-base-20230311-typefixes.patch +++ /dev/null @@ -1,20 +0,0 @@ ---- texlive-base-20230311/source/texk/web2c/pdftexdir/pdftex.ch.orig 2023-05-02 17:26:43.000000000 +0200 -+++ texlive-base-20230311/source/texk/web2c/pdftexdir/pdftex.ch 2024-01-20 21:59:58.382906926 +0100 -@@ -179,7 +179,7 @@ pdf_font_type:=xmalloc_array(eight_bits, - pdf_font_attr:=xmalloc_array(str_number, font_max); - pdf_font_blink:=xmalloc_array(internal_font_number, font_max); - pdf_font_elink:=xmalloc_array(internal_font_number, font_max); --pdf_font_has_space_char:=xmalloc_array(internal_font_number, font_max); -+pdf_font_has_space_char:=xmalloc_array(boolean, font_max); - pdf_font_stretch:=xmalloc_array(integer, font_max); - pdf_font_shrink:=xmalloc_array(integer, font_max); - pdf_font_step:=xmalloc_array(integer, font_max); -@@ -298,7 +298,7 @@ pdf_font_type:=xmalloc_array(eight_bits, - pdf_font_attr:=xmalloc_array(str_number,font_max); - pdf_font_blink:=xmalloc_array(internal_font_number,font_max); - pdf_font_elink:=xmalloc_array(internal_font_number,font_max); --pdf_font_has_space_char:=xmalloc_array(internal_font_number,font_max); -+pdf_font_has_space_char:=xmalloc_array(boolean,font_max); - pdf_font_stretch:=xmalloc_array(integer,font_max); - pdf_font_shrink:=xmalloc_array(integer,font_max); - pdf_font_step:=xmalloc_array(integer,font_max); diff --git a/texlive-base-CVE-2018-17407.patch b/texlive-base-CVE-2018-17407.patch deleted file mode 100644 index 36d1139..0000000 --- a/texlive-base-CVE-2018-17407.patch +++ /dev/null @@ -1,39 +0,0 @@ -diff -up texlive-base-20180414/source/texk/dvipsk/writet1.c.CVE-2018-17407 texlive-base-20180414/source/texk/dvipsk/writet1.c ---- texlive-base-20180414/source/texk/dvipsk/writet1.c.CVE-2018-17407 2018-10-01 11:03:50.140899732 -0400 -+++ texlive-base-20180414/source/texk/dvipsk/writet1.c 2018-10-01 11:04:31.425999765 -0400 -@@ -1449,7 +1449,9 @@ static void t1_check_unusual_charstring( - *(strend(t1_buf_array) - 1) = ' '; - - t1_getline(); -+ alloc_array(t1_buf, strlen(t1_line_array) + strlen(t1_buf_array) + 1, T1_BUF_SIZE); - strcat(t1_buf_array, t1_line_array); -+ alloc_array(t1_line, strlen(t1_buf_array) + 1, T1_BUF_SIZE); - strcpy(t1_line_array, t1_buf_array); - t1_line_ptr = eol(t1_line_array); - } -diff -up texlive-base-20180414/source/texk/web2c/luatexdir/font/writet1.w.CVE-2018-17407 texlive-base-20180414/source/texk/web2c/luatexdir/font/writet1.w ---- texlive-base-20180414/source/texk/web2c/luatexdir/font/writet1.w.CVE-2018-17407 2018-10-01 11:05:54.404187837 -0400 -+++ texlive-base-20180414/source/texk/web2c/luatexdir/font/writet1.w 2018-10-01 11:06:33.537335758 -0400 -@@ -1625,7 +1625,9 @@ static void t1_check_unusual_charstring( - if (sscanf(p, "%i", &i) != 1) { - strcpy(t1_buf_array, t1_line_array); - t1_getline(); -+ alloc_array(t1_buf, strlen(t1_line_array) + strlen(t1_buf_array) + 1, T1_BUF_SIZE); - strcat(t1_buf_array, t1_line_array); -+ alloc_array(t1_line, strlen(t1_buf_array) + 1, T1_BUF_SIZE); - strcpy(t1_line_array, t1_buf_array); - t1_line_ptr = eol(t1_line_array); - } -diff -up texlive-base-20180414/source/texk/web2c/pdftexdir/writet1.c.CVE-2018-17407 texlive-base-20180414/source/texk/web2c/pdftexdir/writet1.c ---- texlive-base-20180414/source/texk/web2c/pdftexdir/writet1.c.CVE-2018-17407 2018-10-01 11:06:57.881806099 -0400 -+++ texlive-base-20180414/source/texk/web2c/pdftexdir/writet1.c 2018-10-01 11:08:06.424314628 -0400 -@@ -1598,7 +1598,9 @@ static void t1_check_unusual_charstring( - *(strend(t1_buf_array) - 1) = ' '; - - t1_getline(); -+ alloc_array(t1_buf, strlen(t1_line_array) + strlen(t1_buf_array) + 1, T1_BUF_SIZE); - strcat(t1_buf_array, t1_line_array); -+ alloc_array(t1_line, strlen(t1_buf_array) + 1, T1_BUF_SIZE); - strcpy(t1_line_array, t1_buf_array); - t1_line_ptr = eol(t1_line_array); - } diff --git a/texlive-base-c99-1.patch b/texlive-base-c99-1.patch deleted file mode 100644 index e51cb14..0000000 --- a/texlive-base-c99-1.patch +++ /dev/null @@ -1,60 +0,0 @@ -Backuport of upstream r64941: stdlib.h to placate clang16 - -2022-11-05 Sam James - - * configure.ac (Ghostscript version): #include - to declare exit and placate clang16. - https://tug.org/pipermail/tlbuild/2022q4/005269.html - -Index: Build/source/texk/dvisvgm/configure -=================================================================== ---- Build/source/texk/dvisvgm/configure (revision 64940) -+++ Build/source/texk/dvisvgm/configure (revision 64941) -@@ -23415,6 +23415,7 @@ - cat confdefs.h - <<_ACEOF >conftest.$ac_ext - /* end confdefs.h. */ - #include -+ #include - #include - int main () { - gsapi_revision_t r; -Index: Build/source/texk/dvisvgm/configure.ac -=================================================================== ---- Build/source/texk/dvisvgm/configure.ac (revision 64940) -+++ Build/source/texk/dvisvgm/configure.ac (revision 64941) -@@ -94,6 +94,7 @@ - # query Ghostscript version - AC_MSG_CHECKING([Ghostscript version]) - AC_RUN_IFELSE([AC_LANG_SOURCE([#include -+ #include - #include - int main () { - gsapi_revision_t r; -Index: Build/source/texk/kpathsea/configure -=================================================================== ---- Build/source/texk/kpathsea/configure (revision 64940) -+++ Build/source/texk/kpathsea/configure (revision 64941) -@@ -14633,7 +14633,8 @@ - else $as_nop - cat confdefs.h - <<_ACEOF >conftest.$ac_ext - /* end confdefs.h. */ --int fork() { exit(1); } -+#include -+ int fork() { exit(1); } - int vfork() { exit(1); } - extern char *getcwd(); - char path[100]; -Index: Build/source/texk/kpathsea/configure.ac -=================================================================== ---- Build/source/texk/kpathsea/configure.ac (revision 64940) -+++ Build/source/texk/kpathsea/configure.ac (revision 64941) -@@ -45,7 +45,8 @@ - # We only need to run this if we have getcwd. - AC_CACHE_CHECK([whether getcwd uses fork or vfork], - [kb_cv_func_getcwd_forks], -- [AC_RUN_IFELSE([AC_LANG_PROGRAM([[int fork() { exit(1); } -+ [AC_RUN_IFELSE([AC_LANG_PROGRAM([[#include -+ int fork() { exit(1); } - int vfork() { exit(1); } - extern char *getcwd(); - char path[100];]], diff --git a/texlive-base-c99-2.patch b/texlive-base-c99-2.patch deleted file mode 100644 index 515804b..0000000 --- a/texlive-base-c99-2.patch +++ /dev/null @@ -1,782 +0,0 @@ -Backport of upstream revision r64953: - -2022-11-06 Sam James - - * freetype-src/builds/unix/freetype2.m4: placate clang16. - https://tug.org/pipermail/tlbuild/2022q4/005273.html - -2022-11-06 Karl Berry - - * patch-01-do-not-export-internal-zlib: add. - * patch-04-void-main: add (see ../ChangeLog). - -2022-11-06 Sam James - - * libgd-src/tests/xpm/bug00185.c: placate clang16. - https://tug.org/pipermail/tlbuild/2022q4/005273.html - -2022-11-06 Sam James - - * basename.c: placate clang16. - https://tug.org/pipermail/tlbuild/2022q4/005273.html - -2022-11-06 Sam James - - * pmx-src/libf2c/main.c: placate clang16. - https://tug.org/pipermail/tlbuild/2022q4/005273.html - -Index: Build/source/libs/freetype2/TLpatches/patch-01-do-not-export-internal-zlib -=================================================================== ---- Build/source/libs/freetype2/TLpatches/patch-01-do-not-export-internal-zlib (nonexistent) -+++ Build/source/libs/freetype2/TLpatches/patch-01-do-not-export-internal-zlib (revision 64953) -@@ -0,0 +1,626 @@ -+diff -ur freetype-2.12.1/src/gzip/adler32.c freetype-src/src/gzip/adler32.c -+--- freetype-2.12.1/src/gzip/adler32.c Fri Apr 01 17:24:23 2022 -++++ freetype-src/src/gzip/adler32.c Thu May 05 07:23:26 2022 -+@@ -62,7 +62,7 @@ -+ #endif -+ -+ /* ========================================================================= */ -+-uLong ZEXPORT adler32_z( -++static uLong ZEXPORT adler32_z( -+ uLong adler, -+ const Bytef *buf, -+ z_size_t len) -+@@ -133,7 +133,7 @@ -+ } -+ -+ /* ========================================================================= */ -+-uLong ZEXPORT adler32( -++static uLong ZEXPORT adler32( -+ uLong adler, -+ const Bytef *buf, -+ uInt len) -+@@ -173,7 +173,7 @@ -+ } -+ -+ /* ========================================================================= */ -+-uLong ZEXPORT adler32_combine( -++static uLong ZEXPORT adler32_combine( -+ uLong adler1, -+ uLong adler2, -+ z_off_t len2) -+@@ -181,7 +181,7 @@ -+ return adler32_combine_(adler1, adler2, len2); -+ } -+ -+-uLong ZEXPORT adler32_combine64( -++static uLong ZEXPORT adler32_combine64( -+ uLong adler1, -+ uLong adler2, -+ z_off64_t len2) -+diff -ur freetype-2.12.1/src/gzip/crc32.c freetype-src/src/gzip/crc32.c -+--- freetype-2.12.1/src/gzip/crc32.c Fri Apr 01 16:13:52 2022 -++++ freetype-src/src/gzip/crc32.c Fri May 06 12:34:16 2022 -+@@ -583,7 +583,7 @@ -+ * This function can be used by asm versions of crc32(), and to force the -+ * generation of the CRC tables in a threaded application. -+ */ -+-const z_crc_t FAR * ZEXPORT get_crc_table() -++static const z_crc_t FAR * ZEXPORT get_crc_table() -+ { -+ #ifdef DYNAMIC_CRC_TABLE -+ once(&made, make_crc_table); -+@@ -610,7 +610,7 @@ -+ #define Z_BATCH_ZEROS 0xa10d3d0c /* computed from Z_BATCH = 3990 */ -+ #define Z_BATCH_MIN 800 /* fewest words in a final batch */ -+ -+-unsigned long ZEXPORT crc32_z( -++static unsigned long ZEXPORT crc32_z( -+ unsigned long crc, -+ const unsigned char FAR *buf, -+ z_size_t len) -+@@ -736,7 +736,7 @@ -+ #endif -+ -+ /* ========================================================================= */ -+-unsigned long ZEXPORT crc32_z( -++static unsigned long ZEXPORT crc32_z( -+ unsigned long crc, -+ const unsigned char FAR *buf, -+ z_size_t len) -+@@ -1060,7 +1060,7 @@ -+ #endif -+ -+ /* ========================================================================= */ -+-unsigned long ZEXPORT crc32( -++static unsigned long ZEXPORT crc32( -+ unsigned long crc, -+ const unsigned char FAR *buf, -+ uInt len) -+@@ -1069,7 +1069,7 @@ -+ } -+ -+ /* ========================================================================= */ -+-uLong ZEXPORT crc32_combine64( -++static uLong ZEXPORT crc32_combine64( -+ uLong crc1, -+ uLong crc2, -+ z_off64_t len2) -+@@ -1081,7 +1081,7 @@ -+ } -+ -+ /* ========================================================================= */ -+-uLong ZEXPORT crc32_combine( -++static uLong ZEXPORT crc32_combine( -+ uLong crc1, -+ uLong crc2, -+ z_off_t len2) -+@@ -1090,7 +1090,7 @@ -+ } -+ -+ /* ========================================================================= */ -+-uLong ZEXPORT crc32_combine_gen64( -++static uLong ZEXPORT crc32_combine_gen64( -+ z_off64_t len2) -+ { -+ #ifdef DYNAMIC_CRC_TABLE -+@@ -1100,14 +1100,14 @@ -+ } -+ -+ /* ========================================================================= */ -+-uLong ZEXPORT crc32_combine_gen( -++static uLong ZEXPORT crc32_combine_gen( -+ z_off_t len2) -+ { -+ return crc32_combine_gen64(len2); -+ } -+ -+ /* ========================================================================= */ -+-uLong crc32_combine_op( -++static uLong crc32_combine_op( -+ uLong crc1, -+ uLong crc2, -+ uLong op) -+diff -ur freetype-2.12.1/src/gzip/ftgzip.c freetype-src/src/gzip/ftgzip.c -+--- freetype-2.12.1/src/gzip/ftgzip.c Thu Jan 27 16:43:19 2022 -++++ freetype-src/src/gzip/ftgzip.c Fri May 06 12:01:06 2022 -+@@ -80,6 +80,9 @@ -+ #define HAVE_HIDDEN 1 -+ #define ZEXPORT -+ #define ZEXTERN static -++#else -++#define ZEXPORT -++#define ZEXTERN static -+ #endif -+ -+ #define Z_SOLO 1 -+@@ -160,7 +163,7 @@ -+ -+ #if !defined( FT_CONFIG_OPTION_SYSTEM_ZLIB ) && !defined( USE_ZLIB_ZCALLOC ) -+ -+- voidpf ZLIB_INTERNAL -++ static voidpf ZLIB_INTERNAL -+ zcalloc ( voidpf opaque, -+ unsigned items, -+ unsigned size ) -+@@ -169,7 +172,7 @@ -+ } -+ -+ -+- void ZLIB_INTERNAL -++ static void ZLIB_INTERNAL -+ zcfree( voidpf opaque, -+ voidpf ptr ) -+ { -+diff -ur freetype-2.12.1/src/gzip/gzguts.h freetype-src/src/gzip/gzguts.h -+--- freetype-2.12.1/src/gzip/gzguts.h Fri Apr 01 17:24:23 2022 -++++ freetype-src/src/gzip/gzguts.h Sat May 07 14:12:37 2022 -+@@ -12,11 +12,8 @@ -+ # endif -+ #endif -+ -+-#ifdef HAVE_HIDDEN -+-# define ZLIB_INTERNAL __attribute__((visibility ("hidden"))) -+-#else -+-# define ZLIB_INTERNAL -+-#endif -++/* we use "static" for all platforms */ -++#define ZLIB_INTERNAL -+ -+ #include -+ #include "zlib.h" -+@@ -203,9 +200,9 @@ -+ typedef gz_state FAR *gz_statep; -+ -+ /* shared functions */ -+-void ZLIB_INTERNAL gz_error OF((gz_statep, int, const char *)); -++static void ZLIB_INTERNAL gz_error OF((gz_statep, int, const char *)); -+ #if defined UNDER_CE -+-char ZLIB_INTERNAL *gz_strwinerror OF((DWORD error)); -++static char ZLIB_INTERNAL *gz_strwinerror OF((DWORD error)); -+ #endif -+ -+ /* GT_OFF(x), where x is an unsigned value, is true if x > maximum z_off64_t -+@@ -214,6 +211,6 @@ -+ #ifdef INT_MAX -+ # define GT_OFF(x) (sizeof(int) == sizeof(z_off64_t) && (x) > INT_MAX) -+ #else -+-unsigned ZLIB_INTERNAL gz_intmax OF((void)); -++static unsigned ZLIB_INTERNAL gz_intmax OF((void)); -+ # define GT_OFF(x) (sizeof(int) == sizeof(z_off64_t) && (x) > gz_intmax()) -+ #endif -+diff -ur freetype-2.12.1/src/gzip/infback.c freetype-src/src/gzip/infback.c -+--- freetype-2.12.1/src/gzip/infback.c Fri Apr 01 16:13:52 2022 -++++ freetype-src/src/gzip/infback.c Thu May 05 07:24:06 2022 -+@@ -25,7 +25,7 @@ -+ windowBits is in the range 8..15, and window is a user-supplied -+ window and output buffer that is 2**windowBits bytes. -+ */ -+-int ZEXPORT inflateBackInit_( -++static int ZEXPORT inflateBackInit_( -+ z_streamp strm, -+ int windowBits, -+ unsigned char FAR *window, -+@@ -247,7 +247,7 @@ -+ inflateBack() can also return Z_STREAM_ERROR if the input parameters -+ are not correct, i.e. strm is Z_NULL or the state was not initialized. -+ */ -+-int ZEXPORT inflateBack( -++static int ZEXPORT inflateBack( -+ z_streamp strm, -+ in_func in, -+ void FAR *in_desc, -+@@ -629,7 +629,7 @@ -+ return ret; -+ } -+ -+-int ZEXPORT inflateBackEnd( -++static int ZEXPORT inflateBackEnd( -+ z_streamp strm) -+ { -+ if (strm == Z_NULL || strm->state == Z_NULL || strm->zfree == (free_func)0) -+diff -ur freetype-2.12.1/src/gzip/inffast.c freetype-src/src/gzip/inffast.c -+--- freetype-2.12.1/src/gzip/inffast.c Fri Apr 01 16:13:52 2022 -++++ freetype-src/src/gzip/inffast.c Fri May 06 12:01:59 2022 -+@@ -47,7 +47,7 @@ -+ requires strm->avail_out >= 258 for each loop to avoid checking for -+ output space. -+ */ -+-void ZLIB_INTERNAL inflate_fast( -++static void ZLIB_INTERNAL inflate_fast( -+ z_streamp strm, -+ unsigned start) -+ { -+diff -ur freetype-2.12.1/src/gzip/inffast.h freetype-src/src/gzip/inffast.h -+--- freetype-2.12.1/src/gzip/inffast.h Fri Apr 01 16:13:52 2022 -++++ freetype-src/src/gzip/inffast.h Fri May 06 12:25:15 2022 -+@@ -8,4 +8,4 @@ -+ subject to change. Applications should only use zlib.h. -+ */ -+ -+-void ZLIB_INTERNAL inflate_fast OF((z_streamp strm, unsigned start)); -++static void ZLIB_INTERNAL inflate_fast OF((z_streamp strm, unsigned start)); -+diff -ur freetype-2.12.1/src/gzip/inflate.c freetype-src/src/gzip/inflate.c -+--- freetype-2.12.1/src/gzip/inflate.c Fri Apr 01 17:25:55 2022 -++++ freetype-src/src/gzip/inflate.c Thu May 05 07:24:18 2022 -+@@ -118,7 +118,7 @@ -+ return 0; -+ } -+ -+-int ZEXPORT inflateResetKeep( -++static int ZEXPORT inflateResetKeep( -+ z_streamp strm) -+ { -+ struct inflate_state FAR *state; -+@@ -144,7 +144,7 @@ -+ return Z_OK; -+ } -+ -+-int ZEXPORT inflateReset( -++static int ZEXPORT inflateReset( -+ z_streamp strm) -+ { -+ struct inflate_state FAR *state; -+@@ -157,7 +157,7 @@ -+ return inflateResetKeep(strm); -+ } -+ -+-int ZEXPORT inflateReset2( -++static int ZEXPORT inflateReset2( -+ z_streamp strm, -+ int windowBits) -+ { -+@@ -195,7 +195,7 @@ -+ return inflateReset(strm); -+ } -+ -+-int ZEXPORT inflateInit2_( -++static int ZEXPORT inflateInit2_( -+ z_streamp strm, -+ int windowBits, -+ const char *version, -+@@ -239,7 +239,7 @@ -+ return ret; -+ } -+ -+-int ZEXPORT inflateInit_( -++static int ZEXPORT inflateInit_( -+ z_streamp strm, -+ const char *version, -+ int stream_size) -+@@ -249,7 +249,7 @@ -+ -+ #ifndef Z_FREETYPE -+ -+-int ZEXPORT inflatePrime( -++static int ZEXPORT inflatePrime( -+ z_streamp strm, -+ int bits, -+ int value) -+@@ -626,7 +626,7 @@ -+ will return Z_BUF_ERROR if it has not reached the end of the stream. -+ */ -+ -+-int ZEXPORT inflate( -++static int ZEXPORT inflate( -+ z_streamp strm, -+ int flush) -+ { -+@@ -1304,7 +1304,7 @@ -+ return ret; -+ } -+ -+-int ZEXPORT inflateEnd( -++static int ZEXPORT inflateEnd( -+ z_streamp strm) -+ { -+ struct inflate_state FAR *state; -+@@ -1320,7 +1320,7 @@ -+ -+ #ifndef Z_FREETYPE -+ -+-int ZEXPORT inflateGetDictionary( -++static int ZEXPORT inflateGetDictionary( -+ z_streamp strm, -+ Bytef *dictionary, -+ uInt *dictLength) -+@@ -1343,7 +1343,7 @@ -+ return Z_OK; -+ } -+ -+-int ZEXPORT inflateSetDictionary( -++static int ZEXPORT inflateSetDictionary( -+ z_streamp strm, -+ const Bytef *dictionary, -+ uInt dictLength) -+@@ -1378,7 +1378,7 @@ -+ return Z_OK; -+ } -+ -+-int ZEXPORT inflateGetHeader( -++static int ZEXPORT inflateGetHeader( -+ z_streamp strm, -+ gz_headerp head) -+ { -+@@ -1429,7 +1429,7 @@ -+ return next; -+ } -+ -+-int ZEXPORT inflateSync( -++static int ZEXPORT inflateSync( -+ z_streamp strm) -+ { -+ unsigned len; /* number of bytes to look at or looked at */ -+@@ -1489,7 +1489,7 @@ -+ block. When decompressing, PPP checks that at the end of input packet, -+ inflate is waiting for these length bytes. -+ */ -+-int ZEXPORT inflateSyncPoint( -++static int ZEXPORT inflateSyncPoint( -+ z_streamp strm) -+ { -+ struct inflate_state FAR *state; -+@@ -1501,7 +1501,7 @@ -+ -+ #ifndef Z_FREETYPE -+ -+-int ZEXPORT inflateCopy( -++static int ZEXPORT inflateCopy( -+ z_streamp dest, -+ z_streamp source) -+ { -+@@ -1550,7 +1550,7 @@ -+ -+ #endif /* !Z_FREETYPE */ -+ -+-int ZEXPORT inflateUndermine( -++static int ZEXPORT inflateUndermine( -+ z_streamp strm, -+ int subvert) -+ { -+@@ -1568,7 +1568,7 @@ -+ #endif -+ } -+ -+-int ZEXPORT inflateValidate( -++static int ZEXPORT inflateValidate( -+ z_streamp strm, -+ int check) -+ { -+@@ -1585,7 +1585,7 @@ -+ -+ #ifndef Z_FREETYPE -+ -+-long ZEXPORT inflateMark( -++static long ZEXPORT inflateMark( -+ z_streamp strm) -+ { -+ struct inflate_state FAR *state; -+@@ -1598,7 +1598,7 @@ -+ (state->mode == MATCH ? state->was - state->length : 0)); -+ } -+ -+-unsigned long ZEXPORT inflateCodesUsed( -++static unsigned long ZEXPORT inflateCodesUsed( -+ z_streamp strm) -+ { -+ struct inflate_state FAR *state; -+diff -ur freetype-2.12.1/src/gzip/inftrees.c freetype-src/src/gzip/inftrees.c -+--- freetype-2.12.1/src/gzip/inftrees.c Fri Apr 01 16:13:52 2022 -++++ freetype-src/src/gzip/inftrees.c Fri May 06 12:33:23 2022 -+@@ -8,7 +8,7 @@ -+ -+ #define MAXBITS 15 -+ -+-const char inflate_copyright[] = -++static const char inflate_copyright[] = -+ " inflate 1.2.12 Copyright 1995-2022 Mark Adler "; -+ /* -+ If you use the zlib library in a product, an acknowledgment is welcome -+@@ -29,7 +29,7 @@ -+ table index bits. It will differ if the request is greater than the -+ longest code or if it is less than the shortest code. -+ */ -+-int ZLIB_INTERNAL inflate_table( -++static int ZLIB_INTERNAL inflate_table( -+ codetype type, -+ unsigned short FAR *lens, -+ unsigned codes, -+diff -ur freetype-2.12.1/src/gzip/inftrees.h freetype-src/src/gzip/inftrees.h -+--- freetype-2.12.1/src/gzip/inftrees.h Fri Apr 01 17:24:23 2022 -++++ freetype-src/src/gzip/inftrees.h Fri May 06 12:25:35 2022 -+@@ -60,7 +60,7 @@ -+ DISTS -+ } codetype; -+ -+-int ZLIB_INTERNAL inflate_table OF((codetype type, unsigned short FAR *lens, -++static int ZLIB_INTERNAL inflate_table OF((codetype type, unsigned short FAR *lens, -+ unsigned codes, code FAR * FAR *table, -+ unsigned FAR *bits, unsigned short FAR *work)); -+ -+diff -ur freetype-2.12.1/src/gzip/zutil.c freetype-src/src/gzip/zutil.c -+--- freetype-2.12.1/src/gzip/zutil.c Fri Apr 01 16:13:54 2022 -++++ freetype-src/src/gzip/zutil.c Fri May 06 12:08:24 2022 -+@@ -10,7 +10,7 @@ -+ # include "gzguts.h" -+ #endif -+ -+-z_const char * const z_errmsg[10] = { -++static z_const char * const z_errmsg[10] = { -+ (z_const char *)"need dictionary", /* Z_NEED_DICT 2 */ -+ (z_const char *)"stream end", /* Z_STREAM_END 1 */ -+ (z_const char *)"", /* Z_OK 0 */ -+@@ -24,12 +24,12 @@ -+ }; -+ -+ -+-const char * ZEXPORT zlibVersion() -++static const char * ZEXPORT zlibVersion() -+ { -+ return ZLIB_VERSION; -+ } -+ -+-uLong ZEXPORT zlibCompileFlags() -++static uLong ZEXPORT zlibCompileFlags() -+ { -+ uLong flags; -+ -+@@ -117,9 +117,9 @@ -+ # ifndef verbose -+ # define verbose 0 -+ # endif -+-int ZLIB_INTERNAL z_verbose = verbose; -++static int ZLIB_INTERNAL z_verbose = verbose; -+ -+-void ZLIB_INTERNAL z_error ( -++static void ZLIB_INTERNAL z_error ( -+ char *m) -+ { -+ fprintf(stderr, "%s\n", m); -+@@ -130,7 +130,7 @@ -+ /* exported to allow conversion of error code to string for compress() and -+ * uncompress() -+ */ -+-const char * ZEXPORT zError( -++static const char * ZEXPORT zError( -+ int err) -+ { -+ return ERR_MSG(err); -+@@ -146,7 +146,7 @@ -+ -+ #ifndef HAVE_MEMCPY -+ -+-void ZLIB_INTERNAL zmemcpy( -++static void ZLIB_INTERNAL zmemcpy( -+ Bytef* dest, -+ const Bytef* source, -+ uInt len) -+@@ -157,7 +157,7 @@ -+ } while (--len != 0); -+ } -+ -+-int ZLIB_INTERNAL zmemcmp( -++static int ZLIB_INTERNAL zmemcmp( -+ const Bytef* s1, -+ const Bytef* s2, -+ uInt len) -+@@ -170,7 +170,7 @@ -+ return 0; -+ } -+ -+-void ZLIB_INTERNAL zmemzero( -++static void ZLIB_INTERNAL zmemzero( -+ Bytef* dest, -+ uInt len) -+ { -+@@ -214,7 +214,7 @@ -+ * a protected system like OS/2. Use Microsoft C instead. -+ */ -+ -+-voidpf ZLIB_INTERNAL zcalloc (voidpf opaque, unsigned items, unsigned size) -++static voidpf ZLIB_INTERNAL zcalloc (voidpf opaque, unsigned items, unsigned size) -+ { -+ voidpf buf; -+ ulg bsize = (ulg)items*size; -+@@ -240,7 +240,7 @@ -+ return buf; -+ } -+ -+-void ZLIB_INTERNAL zcfree (voidpf opaque, voidpf ptr) -++static void ZLIB_INTERNAL zcfree (voidpf opaque, voidpf ptr) -+ { -+ int n; -+ -+@@ -277,13 +277,13 @@ -+ # define _hfree hfree -+ #endif -+ -+-voidpf ZLIB_INTERNAL zcalloc (voidpf opaque, uInt items, uInt size) -++static voidpf ZLIB_INTERNAL zcalloc (voidpf opaque, uInt items, uInt size) -+ { -+ (void)opaque; -+ return _halloc((long)items, size); -+ } -+ -+-void ZLIB_INTERNAL zcfree (voidpf opaque, voidpf ptr) -++static void ZLIB_INTERNAL zcfree (voidpf opaque, voidpf ptr) -+ { -+ (void)opaque; -+ _hfree(ptr); -+@@ -302,7 +302,7 @@ -+ extern void free OF((voidpf ptr)); -+ #endif -+ -+-voidpf ZLIB_INTERNAL zcalloc ( -++static voidpf ZLIB_INTERNAL zcalloc ( -+ voidpf opaque, -+ unsigned items, -+ unsigned size) -+@@ -312,7 +312,7 @@ -+ (voidpf)calloc(items, size); -+ } -+ -+-void ZLIB_INTERNAL zcfree ( -++static void ZLIB_INTERNAL zcfree ( -+ voidpf opaque, -+ voidpf ptr) -+ { -+diff -ur freetype-2.12.1/src/gzip/zutil.h freetype-src/src/gzip/zutil.h -+--- freetype-2.12.1/src/gzip/zutil.h Fri Apr 01 17:24:23 2022 -++++ freetype-src/src/gzip/zutil.h Sat May 07 14:13:48 2022 -+@@ -13,11 +13,8 @@ -+ #ifndef ZUTIL_H -+ #define ZUTIL_H -+ -+-#ifdef HAVE_HIDDEN -+-# define ZLIB_INTERNAL __attribute__((visibility ("hidden"))) -+-#else -+-# define ZLIB_INTERNAL -+-#endif -++/* we use "static" for all platforms */ -++#define ZLIB_INTERNAL -+ -+ #include "zlib.h" -+ -+@@ -53,7 +50,7 @@ -+ # endif -+ #endif -+ -+-extern z_const char * const z_errmsg[10]; /* indexed by 2-zlib_error */ -++static z_const char * const z_errmsg[10]; /* indexed by 2-zlib_error */ -+ /* (size given to avoid silly warnings with Visual C++) */ -+ -+ #define ERR_MSG(err) z_errmsg[Z_NEED_DICT-(err)] -+@@ -235,16 +232,16 @@ -+ # define zmemzero(dest, len) ft_memset(dest, 0, len) -+ # endif -+ #else -+- void ZLIB_INTERNAL zmemcpy OF((Bytef* dest, const Bytef* source, uInt len)); -+- int ZLIB_INTERNAL zmemcmp OF((const Bytef* s1, const Bytef* s2, uInt len)); -+- void ZLIB_INTERNAL zmemzero OF((Bytef* dest, uInt len)); -++ static void ZLIB_INTERNAL zmemcpy OF((Bytef* dest, const Bytef* source, uInt len)); -++ static int ZLIB_INTERNAL zmemcmp OF((const Bytef* s1, const Bytef* s2, uInt len)); -++ static void ZLIB_INTERNAL zmemzero OF((Bytef* dest, uInt len)); -+ #endif -+ -+ /* Diagnostic functions */ -+ #ifdef ZLIB_DEBUG -+ # include -+- extern int ZLIB_INTERNAL z_verbose; -+- extern void ZLIB_INTERNAL z_error OF((char *m)); -++ static int ZLIB_INTERNAL z_verbose; -++ static void ZLIB_INTERNAL z_error OF((char *m)); -+ # define Assert(cond,msg) {if(!(cond)) z_error(msg);} -+ # define Trace(x) {if (z_verbose>=0) fprintf x ;} -+ # define Tracev(x) {if (z_verbose>0) fprintf x ;} -+@@ -261,9 +258,9 @@ -+ #endif -+ -+ #ifndef Z_SOLO -+- voidpf ZLIB_INTERNAL zcalloc OF((voidpf opaque, unsigned items, -++ static voidpf ZLIB_INTERNAL zcalloc OF((voidpf opaque, unsigned items, -+ unsigned size)); -+- void ZLIB_INTERNAL zcfree OF((voidpf opaque, voidpf ptr)); -++ static void ZLIB_INTERNAL zcfree OF((voidpf opaque, voidpf ptr)); -+ #endif -+ -+ #define ZALLOC(strm, items, size) \ -Index: Build/source/libs/freetype2/TLpatches/patch-04-void-main -=================================================================== ---- Build/source/libs/freetype2/TLpatches/patch-04-void-main (nonexistent) -+++ Build/source/libs/freetype2/TLpatches/patch-04-void-main (revision 64953) -@@ -0,0 +1,13 @@ -+diff --git a/libs/freetype2/freetype-src/builds/unix/freetype2.m4 b/libs/freetype2/freetype-src/builds/unix/freetype2.m4 -+index 0cafc8e8c..51843f5fa 100644 -+--- a/libs/freetype2/freetype-src/builds/unix/freetype2.m4 -++++ b/libs/freetype2/freetype-src/builds/unix/freetype2.m4 -+@@ -121,7 +121,7 @@ AC_DEFUN([AC_CHECK_FT2], -+ #include -+ -+ int -+-main() -++main(void) -+ { -+ FT_Library library; -+ FT_Error error; -Index: Build/source/libs/freetype2/freetype-src/builds/unix/freetype2.m4 -=================================================================== ---- Build/source/libs/freetype2/freetype-src/builds/unix/freetype2.m4 (revision 64952) -+++ Build/source/libs/freetype2/freetype-src/builds/unix/freetype2.m4 (revision 64953) -@@ -121,7 +121,7 @@ - #include - - int --main() -+main(void) - { - FT_Library library; - FT_Error error; -Index: Build/source/libs/gd/TLpatches/patch-03-void-main -=================================================================== ---- Build/source/libs/gd/TLpatches/patch-03-void-main (nonexistent) -+++ Build/source/libs/gd/TLpatches/patch-03-void-main (revision 64953) -@@ -0,0 +1,13 @@ -+diff --git a/libs/gd/libgd-src/tests/xpm/bug00185.c b/libs/gd/libgd-src/tests/xpm/bug00185.c -+index 3056ed950..37659d6a4 100644 -+--- a/libs/gd/libgd-src/tests/xpm/bug00185.c -++++ b/libs/gd/libgd-src/tests/xpm/bug00185.c -+@@ -5,7 +5,7 @@ -+ -+ /* To check memory leaks, run such as 'valgrind --leak-check=full ./bug00185' */ -+ int -+-main() -++main(void) -+ { -+ gdImagePtr im; -+ char *path; -Index: Build/source/libs/gd/libgd-src/tests/xpm/bug00185.c -=================================================================== ---- Build/source/libs/gd/libgd-src/tests/xpm/bug00185.c (revision 64952) -+++ Build/source/libs/gd/libgd-src/tests/xpm/bug00185.c (revision 64953) -@@ -5,7 +5,7 @@ - - /* To check memory leaks, run such as 'valgrind --leak-check=full ./bug00185' */ - int --main() -+main(void) - { - gdImagePtr im; - char *path; -Index: Build/source/texk/ps2pk/basename.c -=================================================================== ---- Build/source/texk/ps2pk/basename.c (revision 64952) -+++ Build/source/texk/ps2pk/basename.c (revision 64953) -@@ -6,11 +6,12 @@ - * AUTHOR: Piet Tutelaers - * VERSION: 1.0 (Sept. 1995) - */ -+#include /* exit() */ - #include /* printf() */ - #include "basics.h" /* fatal() */ - #include "filenames.h" /* basename() */ - --main(int argc, char **argv) -+int main(int argc, char **argv) - { - if (argc < 2 || argc > 3) - fatal("Usage: basename string [suffix]\n"); -Index: Build/source/utils/m-tx/mtx-src/prepmx.c -=================================================================== ---- Build/source/utils/m-tx/mtx-src/prepmx.c (revision 64952) -+++ Build/source/utils/m-tx/mtx-src/prepmx.c (revision 64953) -@@ -769,7 +769,7 @@ - } - - --main(int argc, Char *argv[]) -+int main(int argc, Char *argv[]) - { /* ---- Main program ------------------------ */ - PASCAL_MAIN(argc, argv); - strcpy(this_version, version); -Index: Build/source/utils/pmx/TLpatches/patch-01-main-ret -=================================================================== ---- Build/source/utils/pmx/TLpatches/patch-01-main-ret (nonexistent) -+++ Build/source/utils/pmx/TLpatches/patch-01-main-ret (revision 64953) -@@ -0,0 +1,13 @@ -+diff --git a/utils/pmx/pmx-src/libf2c/main.c b/utils/pmx/pmx-src/libf2c/main.c -+index 453974904..f485a0cd0 100644 -+--- a/utils/pmx/pmx-src/libf2c/main.c -++++ b/utils/pmx/pmx-src/libf2c/main.c -+@@ -106,7 +106,7 @@ char **xargv; -+ #ifdef KR_headers -+ main(argc, argv) int argc; char **argv; -+ #else -+-main(int argc, char **argv) -++int main(int argc, char **argv) -+ #endif -+ { -+ xargc = argc; -Index: Build/source/utils/pmx/pmx-src/libf2c/main.c -=================================================================== ---- Build/source/utils/pmx/pmx-src/libf2c/main.c (revision 64952) -+++ Build/source/utils/pmx/pmx-src/libf2c/main.c (revision 64953) -@@ -106,7 +106,7 @@ - #ifdef KR_headers - main(argc, argv) int argc; char **argv; - #else --main(int argc, char **argv) -+int main(int argc, char **argv) - #endif - { - xargc = argc; diff --git a/texlive-base-c99-3.patch b/texlive-base-c99-3.patch deleted file mode 100644 index 91747d8..0000000 --- a/texlive-base-c99-3.patch +++ /dev/null @@ -1,35 +0,0 @@ -Partial backport of this upstream revision: - ------------------------------------------------------------------------- -r65582 | hironobu | 2023-01-19 15:15:46 +0100 (Thu, 19 Jan 2023) | 1 line - -synctexdir: update from GH - -Relevant Git commit: - -commit 2897465154892a7737dcc90e4d6a00a1d1b3922c -Author: Germán Poo-Caamaño -Date: Sat May 30 16:15:27 2020 -0400 - - Fix implicit declaration of vasprintf - - Fix build when compiling with `-Werror=implicit-function-declaration`. - - -Index: Build/source/texk/web2c/synctexdir/synctex_parser.c -=================================================================== ---- Build/source/texk/web2c/synctexdir/synctex_parser.c (revision 65581) -+++ Build/source/texk/web2c/synctexdir/synctex_parser.c (revision 65582) -@@ -83,6 +83,11 @@ - * First level objects are sheets and forms, containing boxes, glues, kerns... - * The third tree allows to browse leaves according to tag and line. - */ -+/* Declare _GNU_SOURCE for accessing vasprintf. For MSC compiler, vasprintf is -+ * defined in this file -+ */ -+#define _GNU_SOURCE -+ - # if defined(SYNCTEX_USE_LOCAL_HEADER) - # include "synctex_parser_local.h" - # else - diff --git a/texlive-base-c99-4.patch b/texlive-base-c99-4.patch deleted file mode 100644 index 64fe78f..0000000 --- a/texlive-base-c99-4.patch +++ /dev/null @@ -1,53 +0,0 @@ -Fix the setsid-after-vfork configure check to avoid implicit -declarations of wait, exit. This ensures that the outcome of the -check does not change with compilers which do not support implicit -function declarations. - -Submitted upstream: - - - -diff -up texlive-base-20220321/source/texk/xdvik/configure.c99-4 texlive-base-20220321/source/texk/xdvik/configure ---- texlive-base-20220321/source/texk/xdvik/configure.c99-4 2023-01-31 09:04:59.026325806 +0100 -+++ texlive-base-20220321/source/texk/xdvik/configure 2023-01-31 09:05:14.250169332 +0100 -@@ -16406,6 +16406,9 @@ else $as_nop - #ifdef HAVE_UNISTD_H - #include - #endif -+#ifdef HAVE_SYS_WAIT_H -+#include -+#endif - #ifdef HAVE_VFORK_H - #include - #endif -@@ -16427,7 +16430,7 @@ main (void) - - while (wait(&status) != child) - ; -- exit( -+ _exit( - /* Was there some problem with vforking? */ - child < 0 - -diff -up texlive-base-20220321/source/texk/xdvik/m4/xdvi-func-setsid-in-fork.m4.c99-4 texlive-base-20220321/source/texk/xdvik/m4/xdvi-func-setsid-in-fork.m4 ---- texlive-base-20220321/source/texk/xdvik/m4/xdvi-func-setsid-in-fork.m4.c99-4 2023-01-31 08:45:31.417794738 +0100 -+++ texlive-base-20220321/source/texk/xdvik/m4/xdvi-func-setsid-in-fork.m4 2023-01-31 08:45:43.901652431 +0100 -@@ -22,6 +22,9 @@ AC_DEFUN([XDVI_FUNC_SETSID_IN_VFORK], - #ifdef HAVE_UNISTD_H - #include - #endif -+#ifdef HAVE_SYS_WAIT_H -+#include -+#endif - #ifdef HAVE_VFORK_H - #include - #endif]], -@@ -40,7 +43,7 @@ AC_DEFUN([XDVI_FUNC_SETSID_IN_VFORK], - - while (wait(&status) != child) - ; -- exit( -+ _exit( - /* Was there some problem with vforking? */ - child < 0 - diff --git a/texlive-base-latex-papersize-py3.patch b/texlive-base-latex-papersize-py3.patch deleted file mode 100644 index f8b9087..0000000 --- a/texlive-base-latex-papersize-py3.patch +++ /dev/null @@ -1,84 +0,0 @@ -diff -up ./scripts/latex-papersize/latex-papersize.py.py3 ./scripts/latex-papersize/latex-papersize.py ---- ./scripts/latex-papersize/latex-papersize.py.py3 2016-10-17 17:30:47.000000000 -0400 -+++ ./scripts/latex-papersize/latex-papersize.py 2019-12-14 03:02:45.000000000 -0500 -@@ -1,7 +1,7 @@ - #!/usr/bin/env python - r""" - Calculate LaTeX paper and margin settings for arbitrary magnification --(C) Silas S. Brown, 2005-2009, 2016. Version 1.62. -+(C) Silas S. Brown, 2005-2009, 2016, 2019. Version 1.63. - - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. -@@ -32,6 +32,7 @@ are often meant to be clearer. - - This is a Python script to calculate the necessary - settings for arbitrary font and page sizes. -+Works in both Python 2 and Python 3. - - BASIC USAGE - -@@ -151,11 +152,16 @@ To run dvips on the .dvi file (not neede - $(python latex-papersize.py 12 26 file.dvi) - """ - --import os, sys, math, commands -+import os, sys, math -+try: from commands import getoutput # Python 2 -+except: from subprocess import getoutput # Python 3 -+def hasKey(a,b): -+ try: return a.has_key(b) # old Python 2 -+ except: return b in a # newer Python 2 + Python 3 - if len(sys.argv)==2 and sys.argv[1]=="--help": -- print __doc__.strip() ; raise SystemExit -+ print(__doc__.strip()); raise SystemExit - if len(sys.argv)==2 and sys.argv[1]=="--version": -- print __doc__[:__doc__.find("\n\n")].strip() ; raise SystemExit -+ print(__doc__[:__doc__.find("\n\n")].strip()); raise SystemExit - - base_pointsize = float(sys.argv[1]) - desired_pointsize = float(sys.argv[2]) -@@ -167,13 +173,13 @@ else: - extra_bottom_margin_mm = 0 - pageStyle = " \\pagestyle{empty}" - --if os.environ.has_key("paper_width"): paper_width=float(os.environ["paper_width"]) -+if hasKey(os.environ,"paper_width"): paper_width=float(os.environ["paper_width"]) - else: paper_width=210 --if os.environ.has_key("paper_height"): paper_height=float(os.environ["paper_height"]) -+if hasKey(os.environ,"paper_height"): paper_height=float(os.environ["paper_height"]) - else: paper_height=297 --if os.environ.has_key("margin_left"): margin_left=float(os.environ["margin_left"]) -+if hasKey(os.environ,"margin_left"): margin_left=float(os.environ["margin_left"]) - else: margin_left=10 --if os.environ.has_key("margin_top"): margin_top=float(os.environ["margin_top"]) -+if hasKey(os.environ,"margin_top"): margin_top=float(os.environ["margin_top"]) - else: margin_top=10 - - paper_magstep = 1.0*desired_pointsize/base_pointsize -@@ -188,15 +194,16 @@ if sys.argv[3]=="tex" or sys.argv[3]=="p - s="\\textwidth=%.1fmm \\textheight=%.1fmm \\topmargin=%.1fmm \\marginparwidth=0mm \\oddsidemargin=%.1fmm \\evensidemargin=%.1fmm \\columnsep=%.1fmm%s" % (textwidth,textheight,margin_top_setting,margin_left_setting,margin_left_setting,margin_left_setting,pageStyle) - if sys.argv[3]=="pdftex": - s += "\\mag=%d \\pdfpagewidth=%d true mm \\pdfpageheight=%d true mm \\pdfhorigin=0 mm \\pdfvorigin=-12.95 mm \\paperwidth=%d true mm \\paperheight=%d true mm" % (1000*paper_magstep,paper_width,paper_height,paper_width,paper_height) # the -12.95mm seems to be a constant regardless of magnification (previous version had -14 but it sems -12.95 is more accurate - at least 12.9 is too small and 13 is too big). Need \paperwidth and \paperheight in there as well in case using hyperref. -- print s -+ print(s) - else: -- os.system("dvips -T %dmm,%dmm -x %d %s -o bbox_test.ps" % (paper_width*10,paper_height*10,1000*paper_magstep+0.5,sys.argv[3])) -+ r = os.system("dvips -T %dmm,%dmm -x %d %s -o bbox_test.ps" % (paper_width*10,paper_height*10,1000*paper_magstep+0.5,sys.argv[3])) -+ assert not r, "dvips failed" - # Now, that would have got the origin wrong. I can't - # figure out how dvips origin and magstep is supposed to - # interoperate, so let's work it out on a case-by-case - # basis from the bounding box. - # (Note: multiplying paper_width and paper_height by 10 above, because if dealing with very small paper sizes then this may give a reading of 0 if the origin is off the page. Increasing the paper size doesn't seem to affect the origin.) -- bbox=commands.getoutput("echo|gs -sDEVICE=bbox bbox_test.ps 2>&1|grep BoundingBox") -+ bbox=getoutput("echo|gs -sDEVICE=bbox bbox_test.ps 2>&1|grep BoundingBox") - # (previous version used 'head -1' to take only the first page, but that can cause 'broken pipe' errors if the file contains too many pages, and will give an incorrect result if there is only one line per page and it is indented on the first page, so we'll look at ALL the pages and take the outermost bounds. Will also look at high-resolution bounding boxes only, if available.) - if "HiResBoundingBox" in bbox: bbox=filter(lambda x:"HiRes" in x,bbox.split("\n")) - else: bbox=bbox.split("\n") -@@ -206,4 +213,4 @@ else: - os.unlink("bbox_test.ps") - existing_left_margin_mm = min(map(lambda x:x[0],bbox))*25.4/72 - existing_top_margin_mm = paper_height*10-max(map(lambda x:x[3],bbox))*25.4/72 -- print "dvips -T %dmm,%dmm -O %.1fmm,%.1fmm -x %d %s" % (paper_width,paper_height,margin_left - existing_left_margin_mm,margin_top - existing_top_margin_mm,1000*paper_magstep+0.5,sys.argv[3]) -+ print("dvips -T %dmm,%dmm -O %.1fmm,%.1fmm -x %d %s" % (paper_width,paper_height,margin_left - existing_left_margin_mm,margin_top - existing_top_margin_mm,1000*paper_magstep+0.5,sys.argv[3])) diff --git a/texlive-base-lcdf-typetools-git4166ff9.patch b/texlive-base-lcdf-typetools-git4166ff9.patch deleted file mode 100644 index 595f85f..0000000 --- a/texlive-base-lcdf-typetools-git4166ff9.patch +++ /dev/null @@ -1,14603 +0,0 @@ -diff -up texlive-base-20170520/source/texk/lcdf-typetools/lcdf-typetools-src/cfftot1/cfftot1.1.git4166ff9 texlive-base-20170520/source/texk/lcdf-typetools/lcdf-typetools-src/cfftot1/cfftot1.1 ---- texlive-base-20170520/source/texk/lcdf-typetools/lcdf-typetools-src/cfftot1/cfftot1.1.git4166ff9 2016-11-25 13:08:52.000000000 -0500 -+++ texlive-base-20170520/source/texk/lcdf-typetools/lcdf-typetools-src/cfftot1/cfftot1.1 2018-02-23 12:47:54.075972154 -0500 -@@ -1,4 +1,4 @@ --.ds V 2.106 -+.ds V 2.107 - .de M - .BR "\\$1" "(\\$2)\\$3" - .. -diff -up texlive-base-20170520/source/texk/lcdf-typetools/lcdf-typetools-src/cfftot1/cfftot1.cc.git4166ff9 texlive-base-20170520/source/texk/lcdf-typetools/lcdf-typetools-src/cfftot1/cfftot1.cc ---- texlive-base-20170520/source/texk/lcdf-typetools/lcdf-typetools-src/cfftot1/cfftot1.cc.git4166ff9 2016-11-25 13:08:52.000000000 -0500 -+++ texlive-base-20170520/source/texk/lcdf-typetools/lcdf-typetools-src/cfftot1/cfftot1.cc 2018-02-23 12:47:54.075972154 -0500 -@@ -1,6 +1,6 @@ - /* cfftot1.cc -- driver for translating CFF fonts to Type 1 fonts - * -- * Copyright (c) 2002-2016 Eddie Kohler -+ * Copyright (c) 2002-2018 Eddie Kohler - * - * 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 -@@ -221,7 +221,7 @@ main(int argc, char *argv[]) - - case VERSION_OPT: - printf("cfftot1 (LCDF typetools) %s\n", VERSION); -- printf("Copyright (C) 2002-2016 Eddie Kohler\n\ -+ printf("Copyright (C) 2002-2018 Eddie Kohler\n\ - This is free software; see the source for copying conditions.\n\ - There is NO warranty, not even for merchantability or fitness for a\n\ - particular purpose.\n"); -diff -up texlive-base-20170520/source/texk/lcdf-typetools/lcdf-typetools-src/cfftot1/maket1font.cc.git4166ff9 texlive-base-20170520/source/texk/lcdf-typetools/lcdf-typetools-src/cfftot1/maket1font.cc ---- texlive-base-20170520/source/texk/lcdf-typetools/lcdf-typetools-src/cfftot1/maket1font.cc.git4166ff9 2016-11-25 13:08:52.000000000 -0500 -+++ texlive-base-20170520/source/texk/lcdf-typetools/lcdf-typetools-src/cfftot1/maket1font.cc 2018-02-23 12:47:54.076972128 -0500 -@@ -1,6 +1,6 @@ - /* maket1font.{cc,hh} -- translate CFF fonts to Type 1 fonts - * -- * Copyright (c) 2002-2016 Eddie Kohler -+ * Copyright (c) 2002-2018 Eddie Kohler - * - * 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 -diff -up texlive-base-20170520/source/texk/lcdf-typetools/lcdf-typetools-src/configure.ac.git4166ff9 texlive-base-20170520/source/texk/lcdf-typetools/lcdf-typetools-src/configure.ac ---- texlive-base-20170520/source/texk/lcdf-typetools/lcdf-typetools-src/configure.ac.git4166ff9 2016-11-25 13:08:53.000000000 -0500 -+++ texlive-base-20170520/source/texk/lcdf-typetools/lcdf-typetools-src/configure.ac 2018-02-23 12:47:54.076972128 -0500 -@@ -1,5 +1,5 @@ - dnl Process this file with autoconf to produce a configure script. --AC_INIT([lcdf-typetools], [2.106]) -+AC_INIT([lcdf-typetools], [2.107]) - AC_CONFIG_SRCDIR([NEWS.md]) - AM_INIT_AUTOMAKE - AC_CONFIG_HEADERS([autoconf.h]) -diff -up texlive-base-20170520/source/texk/lcdf-typetools/lcdf-typetools-src/include/config.h.git4166ff9 texlive-base-20170520/source/texk/lcdf-typetools/lcdf-typetools-src/include/config.h ---- texlive-base-20170520/source/texk/lcdf-typetools/lcdf-typetools-src/include/config.h.git4166ff9 2016-11-25 13:08:52.000000000 -0500 -+++ texlive-base-20170520/source/texk/lcdf-typetools/lcdf-typetools-src/include/config.h 2018-02-23 12:47:54.076972128 -0500 -@@ -7,7 +7,6 @@ - #ifdef WIN32 - # ifdef __MINGW32__ - # include --# include - # else - # include - # endif -@@ -39,6 +38,11 @@ double good_strtod(const char *s, char * - } - /* Get rid of a possible inline macro under C++. */ - # define inline inline -+ -+/* Ignore `noexcept` if compiler is too old. */ -+#if __cplusplus < 201103L -+#define noexcept -+#endif - #endif - - #endif /* LCDF_TYPETOOLS_CONFIG_H */ -diff -up texlive-base-20170520/source/texk/lcdf-typetools/lcdf-typetools-src/include/efont/cff.hh.git4166ff9 texlive-base-20170520/source/texk/lcdf-typetools/lcdf-typetools-src/include/efont/cff.hh ---- texlive-base-20170520/source/texk/lcdf-typetools/lcdf-typetools-src/include/efont/cff.hh.git4166ff9 2016-11-25 13:08:52.000000000 -0500 -+++ texlive-base-20170520/source/texk/lcdf-typetools/lcdf-typetools-src/include/efont/cff.hh 2018-02-23 12:47:54.076972128 -0500 -@@ -31,7 +31,7 @@ class Cff { public: - - int nfonts() const { return _name_index.size(); } - PermString font_name(int i) const { return _name_index[i]; } -- FontParent *font(PermString = PermString(), ErrorHandler * = 0); -+ FontParent* font(PermString = PermString(), ErrorHandler* = 0); - - enum { NSTANDARD_STRINGS = 391, MAX_SID = 64999 }; - int max_sid() const { return NSTANDARD_STRINGS - 1 + _strings.size(); } -@@ -125,13 +125,12 @@ class Cff { public: - mutable HashMap _strings_map; - - IndexIterator _gsubrs_index; -- Vector _gsubrs_cs; -+ Vector _gsubrs_cs; -+ Vector _fonts; - - unsigned _units_per_em; - - int parse_header(ErrorHandler *); -- int font_offset(int, int &, int &) const; -- int font_offset(PermString, int &, int &) const; - - enum { HEADER_SIZE = 4 }; - -@@ -238,12 +237,14 @@ class Cff::FontParent : public Charstrin - Cff* _cff; - int _charstring_type; - int _error; -+ int _font_index; - - FontParent(const FontParent &); - FontParent &operator=(const FontParent &); - - Charstring *charstring(const IndexIterator &, int) const; - -+ friend class Cff; - friend class Cff::Font; - friend class Cff::CIDFont; - friend class Cff::ChildFont; -diff -up texlive-base-20170520/source/texk/lcdf-typetools/lcdf-typetools-src/include/efont/otfdata.hh.git4166ff9 texlive-base-20170520/source/texk/lcdf-typetools/lcdf-typetools-src/include/efont/otfdata.hh ---- texlive-base-20170520/source/texk/lcdf-typetools/lcdf-typetools-src/include/efont/otfdata.hh.git4166ff9 2016-11-25 13:08:52.000000000 -0500 -+++ texlive-base-20170520/source/texk/lcdf-typetools/lcdf-typetools-src/include/efont/otfdata.hh 2018-02-23 12:47:54.077972103 -0500 -@@ -83,20 +83,20 @@ class Data { - static inline int32_t s32_aligned16(const unsigned char* s); - static inline int32_t s32_aligned(const unsigned char* s); - -- inline uint8_t operator[](unsigned offset) const throw (Bounds); -- inline uint16_t u16(unsigned offset) const throw (Bounds); -- inline int16_t s16(unsigned offset) const throw (Bounds); -- inline uint32_t u32(unsigned offset) const throw (Bounds); -- inline int32_t s32(unsigned offset) const throw (Bounds); -- inline uint8_t operator[](int offset) const throw (Bounds); -- inline uint16_t u16(int offset) const throw (Bounds); -- inline int16_t s16(int offset) const throw (Bounds); -- inline uint32_t u32(int offset) const throw (Bounds); -- inline int32_t s32(int offset) const throw (Bounds); -- -- Data subtable(unsigned offset) const throw (Bounds); -- Data offset_subtable(unsigned offset_offset) const throw (Bounds); -- inline Data substring(int left, int len = -1) const throw (); -+ inline uint8_t operator[](unsigned offset) const; -+ inline uint16_t u16(unsigned offset) const; -+ inline int16_t s16(unsigned offset) const; -+ inline uint32_t u32(unsigned offset) const; -+ inline int32_t s32(unsigned offset) const; -+ inline uint8_t operator[](int offset) const; -+ inline uint16_t u16(int offset) const; -+ inline int16_t s16(int offset) const; -+ inline uint32_t u32(int offset) const; -+ inline int32_t s32(int offset) const; -+ -+ Data subtable(unsigned offset) const; -+ Data offset_subtable(unsigned offset_offset) const; -+ inline Data substring(int left, int len = -1) const noexcept; - - void align_long() { _str.align(4); } - -@@ -106,7 +106,7 @@ class Data { - - }; - --inline uint8_t Data::operator[](unsigned offset) const throw (Bounds) { -+inline uint8_t Data::operator[](unsigned offset) const { - if (offset >= static_cast(_str.length())) - throw Bounds(); - else -@@ -114,11 +114,7 @@ inline uint8_t Data::operator[](unsigned - } - - inline uint16_t Data::u16(const unsigned char* s) { --#if __x86__ || __x86_64__ || HAVE_INDIFFERENT_ALIGNMENT -- return ntohs(*reinterpret_cast(s)); --#else - return (s[0] << 8) + s[1]; --#endif - } - - inline uint16_t Data::u16_aligned(const unsigned char* s) { -@@ -127,11 +123,7 @@ inline uint16_t Data::u16_aligned(const - } - - inline int16_t Data::s16(const unsigned char* s) { --#if __x86__ || __x86_64__ || HAVE_INDIFFERENT_ALIGNMENT -- return ntohs(*reinterpret_cast(s)); --#else - return (int16_t) ((s[0] << 8) + s[1]); --#endif - } - - inline int16_t Data::s16_aligned(const unsigned char* s) { -@@ -140,20 +132,12 @@ inline int16_t Data::s16_aligned(const u - } - - inline uint32_t Data::u32(const unsigned char* s) { --#if __x86__ || __x86_64__ || HAVE_INDIFFERENT_ALIGNMENT -- return ntohl(*reinterpret_cast(s)); --#else -- return (s[0] << 24) + (s[1] << 16) + (s[2] << 8) + s[3]; --#endif -+ return ((unsigned) s[0] << 24) + (s[1] << 16) + (s[2] << 8) + s[3]; - } - - inline uint32_t Data::u32_aligned16(const unsigned char* s) { --#if __x86__ || __x86_64__ || HAVE_INDIFFERENT_ALIGNMENT -- return ntohl(*reinterpret_cast(s)); --#else - efont_precondition((reinterpret_cast(s) & 1) == 0); -- return (u16_aligned(s) << 16) + u16_aligned(s + 2); --#endif -+ return ((unsigned) u16_aligned(s) << 16) + u16_aligned(s + 2); - } - - inline uint32_t Data::u32_aligned(const unsigned char* s) { -@@ -162,20 +146,12 @@ inline uint32_t Data::u32_aligned(const - } - - inline int32_t Data::s32(const unsigned char* s) { --#if __x86__ || __x86_64__ || HAVE_INDIFFERENT_ALIGNMENT -- return ntohl(*reinterpret_cast(s)); --#else -- return (int32_t) ((s[0] << 24) + (s[1] << 16) + (s[2] << 8) + s[3]); --#endif -+ return (int32_t) (((unsigned) s[0] << 24) + (s[1] << 16) + (s[2] << 8) + s[3]); - } - - inline int32_t Data::s32_aligned16(const unsigned char* s) { --#if __x86__ || __x86_64__ || HAVE_INDIFFERENT_ALIGNMENT -- return ntohl(*reinterpret_cast(s)); --#else - efont_precondition((reinterpret_cast(s) & 1) == 0); -- return (int32_t) ((u16_aligned(s) << 16) + u16_aligned(s + 2)); --#endif -+ return (int32_t) (((unsigned) u16_aligned(s) << 16) + u16_aligned(s + 2)); - } - - inline int32_t Data::s32_aligned(const unsigned char* s) { -@@ -183,55 +159,55 @@ inline int32_t Data::s32_aligned(const u - return ntohl(*reinterpret_cast(s)); - } - --inline uint16_t Data::u16(unsigned offset) const throw (Bounds) { -+inline uint16_t Data::u16(unsigned offset) const { - if (offset + 1 >= static_cast(_str.length()) || offset + 1 == 0) - throw Bounds(); - else - return u16_aligned(_str.udata() + offset); - } - --inline int16_t Data::s16(unsigned offset) const throw (Bounds) { -+inline int16_t Data::s16(unsigned offset) const { - if (offset + 1 >= static_cast(_str.length()) || offset + 1 == 0) - throw Bounds(); - else - return s16_aligned(_str.udata() + offset); - } - --inline uint32_t Data::u32(unsigned offset) const throw (Bounds) { -+inline uint32_t Data::u32(unsigned offset) const { - if (offset + 3 >= static_cast(_str.length()) || offset + 3 < 3) - throw Bounds(); - else - return u32_aligned16(_str.udata() + offset); - } - --inline int32_t Data::s32(unsigned offset) const throw (Bounds) { -+inline int32_t Data::s32(unsigned offset) const { - if (offset + 3 >= static_cast(_str.length()) || offset + 3 < 3) - throw Bounds(); - else - return s32_aligned16(_str.udata() + offset); - } - --inline uint8_t Data::operator[](int offset) const throw (Bounds) { -+inline uint8_t Data::operator[](int offset) const { - return (*this)[unsigned(offset)]; - } - --inline uint16_t Data::u16(int offset) const throw (Bounds) { -+inline uint16_t Data::u16(int offset) const { - return u16(unsigned(offset)); - } - --inline int16_t Data::s16(int offset) const throw (Bounds) { -+inline int16_t Data::s16(int offset) const { - return s16(unsigned(offset)); - } - --inline uint32_t Data::u32(int offset) const throw (Bounds) { -+inline uint32_t Data::u32(int offset) const { - return u32(unsigned(offset)); - } - --inline int32_t Data::s32(int offset) const throw (Bounds) { -+inline int32_t Data::s32(int offset) const { - return s32(unsigned(offset)); - } - --inline Data Data::substring(int left, int len) const throw () { -+inline Data Data::substring(int left, int len) const noexcept { - return Data(_str.substring(left, len)); - } - -diff -up texlive-base-20170520/source/texk/lcdf-typetools/lcdf-typetools-src/include/efont/otfgpos.hh.git4166ff9 texlive-base-20170520/source/texk/lcdf-typetools/lcdf-typetools-src/include/efont/otfgpos.hh ---- texlive-base-20170520/source/texk/lcdf-typetools/lcdf-typetools-src/include/efont/otfgpos.hh.git4166ff9 2016-11-25 13:08:52.000000000 -0500 -+++ texlive-base-20170520/source/texk/lcdf-typetools/lcdf-typetools-src/include/efont/otfgpos.hh 2018-02-23 12:47:54.077972103 -0500 -@@ -9,7 +9,7 @@ class Positioning; - - class Gpos { public: - -- Gpos(const Data &, ErrorHandler * = 0) throw (Error); -+ Gpos(const Data &, ErrorHandler * = 0); - // default destructor - - const ScriptList &script_list() const { return _script_list; } -@@ -29,7 +29,7 @@ class Gpos { public: - }; - - class GposLookup { public: -- GposLookup(const Data &) throw (Error); -+ GposLookup(const Data &); - int type() const { return _type; } - uint16_t flags() const { return _d.u16(2); } - bool unparse_automatics(Vector &, ErrorHandler * = 0) const; -@@ -66,9 +66,9 @@ class GposValue { public: - }; - - class GposSingle { public: -- GposSingle(const Data &) throw (Error); -+ GposSingle(const Data &); - // default destructor -- Coverage coverage() const throw (); -+ Coverage coverage() const noexcept; - void unparse(Vector &) const; - enum { F2_HEADERSIZE = 8 }; - private: -@@ -76,9 +76,9 @@ class GposSingle { public: - }; - - class GposPair { public: -- GposPair(const Data &) throw (Error); -+ GposPair(const Data &); - // default destructor -- Coverage coverage() const throw (); -+ Coverage coverage() const noexcept; - void unparse(Vector &) const; - enum { F1_HEADERSIZE = 10, F1_RECSIZE = 2, - PAIRSET_HEADERSIZE = 2, PAIRVALUE_HEADERSIZE = 2, -diff -up texlive-base-20170520/source/texk/lcdf-typetools/lcdf-typetools-src/include/efont/otfgsub.hh.git4166ff9 texlive-base-20170520/source/texk/lcdf-typetools/lcdf-typetools-src/include/efont/otfgsub.hh ---- texlive-base-20170520/source/texk/lcdf-typetools/lcdf-typetools-src/include/efont/otfgsub.hh.git4166ff9 2016-11-25 13:08:52.000000000 -0500 -+++ texlive-base-20170520/source/texk/lcdf-typetools/lcdf-typetools-src/include/efont/otfgsub.hh 2018-02-23 12:47:54.077972103 -0500 -@@ -9,7 +9,7 @@ class Substitution; - - class Gsub { public: - -- Gsub(const Data &, const Font *, ErrorHandler * = 0) throw (Error); -+ Gsub(const Data &, const Font *, ErrorHandler * = 0); - // default destructor - - const ScriptList &script_list() const { return _script_list; } -@@ -31,7 +31,7 @@ class Gsub { public: - }; - - class GsubLookup { public: -- GsubLookup(const Data &) throw (Error); -+ GsubLookup(const Data &); - int type() const { return _type; } - uint16_t flags() const { return _d.u16(2); } - void mark_out_glyphs(const Gsub &gsub, Vector &gmap) const; -@@ -49,9 +49,9 @@ class GsubLookup { public: - }; - - class GsubSingle { public: -- GsubSingle(const Data &) throw (Error); -+ GsubSingle(const Data &); - // default destructor -- Coverage coverage() const throw (); -+ Coverage coverage() const noexcept; - Glyph map(Glyph) const; - void mark_out_glyphs(Vector &gmap) const; - void unparse(Vector &subs, const Coverage &limit) const; -@@ -62,9 +62,9 @@ class GsubSingle { public: - }; - - class GsubMultiple { public: -- GsubMultiple(const Data &) throw (Error); -+ GsubMultiple(const Data &); - // default destructor -- Coverage coverage() const throw (); -+ Coverage coverage() const noexcept; - bool map(Glyph, Vector &) const; - void mark_out_glyphs(Vector &gmap) const; - void unparse(Vector &, bool alternate = false) const; -@@ -76,9 +76,9 @@ class GsubMultiple { public: - }; - - class GsubLigature { public: -- GsubLigature(const Data &) throw (Error); -+ GsubLigature(const Data &); - // default destructor -- Coverage coverage() const throw (); -+ Coverage coverage() const noexcept; - bool map(const Vector &, Glyph &, int &) const; - void mark_out_glyphs(Vector &gmap) const; - void unparse(Vector &) const; -@@ -91,9 +91,9 @@ class GsubLigature { public: - }; - - class GsubContext { public: -- GsubContext(const Data &) throw (Error); -+ GsubContext(const Data &); - // default destructor -- Coverage coverage() const throw (); -+ Coverage coverage() const noexcept; - void mark_out_glyphs(const Gsub &gsub, Vector &gmap) const; - bool unparse(const Gsub &gsub, Vector &out_subs, const Coverage &limit) const; - enum { F3_HSIZE = 6, SUBRECSIZE = 4 }; -@@ -113,9 +113,9 @@ class GsubContext { public: - }; - - class GsubChainContext { public: -- GsubChainContext(const Data &) throw (Error); -+ GsubChainContext(const Data &); - // default destructor -- Coverage coverage() const throw (); -+ Coverage coverage() const noexcept; - void mark_out_glyphs(const Gsub &gsub, Vector &gmap) const; - bool unparse(const Gsub &gsub, Vector &subs, const Coverage &limit) const; - enum { F1_HEADERSIZE = 6, F1_RECSIZE = 2, -@@ -199,7 +199,7 @@ class Substitution { public: - void add_outer_left(Glyph); - void remove_outer_left(); - Substitution in_out_append_glyph(Glyph) const; -- bool out_alter(const Substitution &, int) throw (); -+ bool out_alter(const Substitution &, int) noexcept; - void add_outer_right(Glyph); - void remove_outer_right(); - -@@ -238,14 +238,14 @@ class Substitution { public: - static bool substitute_in(const Substitute &, uint8_t, const Coverage &); - static bool substitute_in(const Substitute &, uint8_t, const GlyphSet &); - -- static Glyph extract_glyph(const Substitute &, uint8_t) throw (); -- static Glyph extract_glyph(const Substitute &, int which, uint8_t) throw (); -- static bool extract_glyphs(const Substitute &, uint8_t, Vector &, bool coverage_ok) throw (); -- static Glyph *extract_glyphptr(const Substitute &, uint8_t) throw (); -- static int extract_nglyphs(const Substitute &, uint8_t, bool coverage_ok) throw (); -- static bool matches(const Substitute &, uint8_t, int pos, Glyph) throw (); -+ static Glyph extract_glyph(const Substitute &, uint8_t) noexcept; -+ static Glyph extract_glyph(const Substitute &, int which, uint8_t) noexcept; -+ static bool extract_glyphs(const Substitute &, uint8_t, Vector &, bool coverage_ok) noexcept; -+ static Glyph *extract_glyphptr(const Substitute &, uint8_t) noexcept; -+ static int extract_nglyphs(const Substitute &, uint8_t, bool coverage_ok) noexcept; -+ static bool matches(const Substitute &, uint8_t, int pos, Glyph) noexcept; - -- static void unparse_glyphids(StringAccum &, const Substitute &, uint8_t, const Vector *) throw (); -+ static void unparse_glyphids(StringAccum &, const Substitute &, uint8_t, const Vector *) noexcept; - - }; - -diff -up texlive-base-20170520/source/texk/lcdf-typetools/lcdf-typetools-src/include/efont/otf.hh.git4166ff9 texlive-base-20170520/source/texk/lcdf-typetools/lcdf-typetools-src/include/efont/otf.hh ---- texlive-base-20170520/source/texk/lcdf-typetools/lcdf-typetools-src/include/efont/otf.hh.git4166ff9 2016-11-25 13:08:52.000000000 -0500 -+++ texlive-base-20170520/source/texk/lcdf-typetools/lcdf-typetools-src/include/efont/otf.hh 2018-02-23 12:47:54.077972103 -0500 -@@ -142,23 +142,23 @@ class FeatureList { - - class Coverage { - public: -- Coverage() throw (); // empty coverage -- Coverage(Glyph first, Glyph last) throw (); // range coverage -- Coverage(const Vector &gmap) throw (); // used-bytemap coverage -- Coverage(const String &str, ErrorHandler *errh = 0, bool check = true) throw (); -+ Coverage() noexcept; // empty coverage -+ Coverage(Glyph first, Glyph last) noexcept; // range coverage -+ Coverage(const Vector &gmap) noexcept; // used-bytemap coverage -+ Coverage(const String &str, ErrorHandler *errh = 0, bool check = true) noexcept; - // default destructor - -- bool ok() const throw () { return _str.length() > 0; } -- int size() const throw (); -- bool has_fast_covers() const throw () { -+ bool ok() const noexcept { return _str.length() > 0; } -+ int size() const noexcept; -+ bool has_fast_covers() const noexcept { - return _str.length() > 0 && _str.data()[1] == T_X_BYTEMAP; - } - -- int coverage_index(Glyph) const throw (); -- bool covers(Glyph g) const throw () { return coverage_index(g) >= 0; } -+ int coverage_index(Glyph) const noexcept; -+ bool covers(Glyph g) const noexcept { return coverage_index(g) >= 0; } - -- void unparse(StringAccum&) const throw (); -- String unparse() const throw (); -+ void unparse(StringAccum&) const noexcept; -+ String unparse() const noexcept; - - class iterator { public: - iterator() : _pos(0), _value(0) { } -@@ -194,7 +194,7 @@ class Coverage { - - iterator begin() const { return iterator(_str, false); } - iterator end() const { return iterator(_str, true); } -- Glyph operator[](int) const throw (); -+ Glyph operator[](int) const noexcept; - - enum { T_LIST = 1, T_RANGES = 2, T_X_BYTEMAP = 3, - HEADERSIZE = 4, LIST_RECSIZE = 2, RANGES_RECSIZE = 6 }; -@@ -238,17 +238,17 @@ class GlyphSet { - - class ClassDef { - public: -- ClassDef(const String&, ErrorHandler* = 0) throw (); -+ ClassDef(const String&, ErrorHandler* = 0) noexcept; - // default destructor - - bool ok() const { return _str.length() > 0; } -- int nclass() const throw (); -+ int nclass() const noexcept; - -- int lookup(Glyph) const throw (); -- int operator[](Glyph g) const throw () { return lookup(g); } -+ int lookup(Glyph) const noexcept; -+ int operator[](Glyph g) const noexcept { return lookup(g); } - -- void unparse(StringAccum&) const throw (); -- String unparse() const throw (); -+ void unparse(StringAccum&) const noexcept; -+ String unparse() const noexcept; - - class class_iterator { - public: -diff -up texlive-base-20170520/source/texk/lcdf-typetools/lcdf-typetools-src/include/efont/otfos2.hh.git4166ff9 texlive-base-20170520/source/texk/lcdf-typetools/lcdf-typetools-src/include/efont/otfos2.hh ---- texlive-base-20170520/source/texk/lcdf-typetools/lcdf-typetools-src/include/efont/otfos2.hh.git4166ff9 2016-11-25 13:08:52.000000000 -0500 -+++ texlive-base-20170520/source/texk/lcdf-typetools/lcdf-typetools-src/include/efont/otfos2.hh 2018-02-23 12:47:54.077972103 -0500 -@@ -25,15 +25,15 @@ class Os2 { public: - O_LOWEROPTICALPOINTSIZE = 96, O_UPPEROPTICALPOINTSIZE = 98 }; - enum { HEADER_SIZE = 2 }; - -- inline int16_t typo_ascender() const throw (Bounds); -- inline int16_t typo_descender() const throw (Bounds); -- inline int16_t typo_line_gap() const throw (Bounds); -- inline int16_t x_height() const throw (Bounds); -- inline int16_t cap_height() const throw (Bounds); -- inline double lower_optical_point_size() const throw (Bounds); -- inline double upper_optical_point_size() const throw (Bounds); -- inline bool has_optical_point_size() const throw (); -- inline String vendor_id() const throw (); -+ inline int16_t typo_ascender() const; -+ inline int16_t typo_descender() const; -+ inline int16_t typo_line_gap() const; -+ inline int16_t x_height() const; -+ inline int16_t cap_height() const; -+ inline double lower_optical_point_size() const; -+ inline double upper_optical_point_size() const; -+ inline bool has_optical_point_size() const noexcept; -+ inline String vendor_id() const noexcept; - - private: - -@@ -45,47 +45,47 @@ class Os2 { public: - }; - - --inline int16_t Os2::typo_ascender() const throw (Bounds) -+inline int16_t Os2::typo_ascender() const - { - return _data.s16(O_TYPOASCENDER); - } - --inline int16_t Os2::typo_descender() const throw (Bounds) -+inline int16_t Os2::typo_descender() const - { - return _data.s16(O_TYPODESCENDER); - } - --inline int16_t Os2::typo_line_gap() const throw (Bounds) -+inline int16_t Os2::typo_line_gap() const - { - return _data.s16(O_TYPOLINEGAP); - } - --inline int16_t Os2::x_height() const throw (Bounds) -+inline int16_t Os2::x_height() const - { - return _data.s16(O_XHEIGHT); - } - --inline int16_t Os2::cap_height() const throw (Bounds) -+inline int16_t Os2::cap_height() const - { - return _data.s16(O_CAPHEIGHT); - } - --inline double Os2::lower_optical_point_size() const throw (Bounds) -+inline double Os2::lower_optical_point_size() const - { - return _data.u16(O_LOWEROPTICALPOINTSIZE) / 20.; - } - --inline double Os2::upper_optical_point_size() const throw (Bounds) -+inline double Os2::upper_optical_point_size() const - { - return _data.u16(O_UPPEROPTICALPOINTSIZE) / 20.; - } - --inline bool Os2::has_optical_point_size() const throw () -+inline bool Os2::has_optical_point_size() const noexcept - { - return _data.length() >= O_UPPEROPTICALPOINTSIZE + 2; - } - --inline String Os2::vendor_id() const throw () -+inline String Os2::vendor_id() const noexcept - { - return _data.substring(O_VENDORID, 4).string(); - } -diff -up texlive-base-20170520/source/texk/lcdf-typetools/lcdf-typetools-src/include/efont/t1bounds.hh.git4166ff9 texlive-base-20170520/source/texk/lcdf-typetools/lcdf-typetools-src/include/efont/t1bounds.hh ---- texlive-base-20170520/source/texk/lcdf-typetools/lcdf-typetools-src/include/efont/t1bounds.hh.git4166ff9 2016-11-25 13:08:52.000000000 -0500 -+++ texlive-base-20170520/source/texk/lcdf-typetools/lcdf-typetools-src/include/efont/t1bounds.hh 2018-02-23 12:47:54.077972103 -0500 -@@ -31,8 +31,9 @@ class CharstringBounds : public Charstri - bool char_bounds(const CharstringContext&, bool shift = true); - void translate(double dx, double dy); - inline Point transform(const Point& p) const; -- bool output(double bb[4], double& width, bool use_cur_width = false) const; - -+ // output: [left, bottom, right, top] -+ bool output(double bb[4], double& width, bool use_cur_width = false) const; - static bool bounds(const CharstringContext&, - double bounds[4], double& width); - static bool bounds(const Transform&, const CharstringContext&, -diff -up texlive-base-20170520/source/texk/lcdf-typetools/lcdf-typetools-src/include/efont/ttfkern.hh.git4166ff9 texlive-base-20170520/source/texk/lcdf-typetools/lcdf-typetools-src/include/efont/ttfkern.hh ---- texlive-base-20170520/source/texk/lcdf-typetools/lcdf-typetools-src/include/efont/ttfkern.hh.git4166ff9 2016-11-25 13:08:52.000000000 -0500 -+++ texlive-base-20170520/source/texk/lcdf-typetools/lcdf-typetools-src/include/efont/ttfkern.hh 2018-02-23 12:47:54.078972078 -0500 -@@ -6,7 +6,7 @@ namespace Efont { namespace OpenType { - - class KernTable { public: - -- KernTable(const Data &, ErrorHandler * = 0) throw (Error); -+ KernTable(const Data &, ErrorHandler * = 0); - // default destructor - - bool ok() const { return _error >= 0; } -@@ -34,7 +34,7 @@ class KernTable { public: - inline uint32_t first_offset() const { - return _version == 0 ? 4 : 8; - } -- inline Data subtable(uint32_t &off) const throw (Error); -+ inline Data subtable(uint32_t &off) const; - - }; - -diff -up texlive-base-20170520/source/texk/lcdf-typetools/lcdf-typetools-src/include/lcdf/bezier.hh.git4166ff9 texlive-base-20170520/source/texk/lcdf-typetools/lcdf-typetools-src/include/lcdf/bezier.hh ---- texlive-base-20170520/source/texk/lcdf-typetools/lcdf-typetools-src/include/lcdf/bezier.hh.git4166ff9 2016-11-25 13:08:52.000000000 -0500 -+++ texlive-base-20170520/source/texk/lcdf-typetools/lcdf-typetools-src/include/lcdf/bezier.hh 2018-02-23 12:47:54.078972078 -0500 -@@ -8,30 +8,30 @@ - class Bezier { public: - - Bezier() : _bb(-1) { } -- inline Bezier(Point p[4]) throw (); -- inline Bezier(const Point &, const Point &, const Point &, const Point &) throw (); -+ inline Bezier(Point p[4]) noexcept; -+ inline Bezier(const Point &, const Point &, const Point &, const Point &) noexcept; - - const Point *points() const { return _p; } - const Point &point(int i) const { assert(i>=0&&i<4); return _p[i]; } - Point &mpoint(int i) { assert(i>=0&&i<4); _bb = -1; return _p[i]; } - void set_point(int i, const Point &p) { mpoint(i) = p; } - -- Point eval(double) const throw (); -- bool is_flat(double) const throw (); -- bool in_bb(const Point &, double) const throw (); -- bool hit(const Point &, double) const throw (); -- -- inline double bb_left() const throw (); -- inline double bb_right() const throw (); -- inline double bb_top() const throw (); -- inline double bb_bottom() const throw (); -- -- inline double bb_left_x() const throw (); -- inline double bb_right_x() const throw (); -- inline double bb_top_x() const throw (); -- inline double bb_bottom_x() const throw (); -+ Point eval(double) const noexcept; -+ bool is_flat(double) const noexcept; -+ bool in_bb(const Point &, double) const noexcept; -+ bool hit(const Point &, double) const noexcept; -+ -+ inline double bb_left() const noexcept; -+ inline double bb_right() const noexcept; -+ inline double bb_top() const noexcept; -+ inline double bb_bottom() const noexcept; -+ -+ inline double bb_left_x() const noexcept; -+ inline double bb_right_x() const noexcept; -+ inline double bb_top_x() const noexcept; -+ inline double bb_bottom_x() const noexcept; - -- void halve(Bezier &, Bezier &) const throw (); -+ void halve(Bezier &, Bezier &) const noexcept; - - inline void segmentize(Vector &) const; - void segmentize(Vector &, bool) const; -@@ -43,23 +43,23 @@ class Bezier { public: - Point _p[4]; - mutable int _bb; - -- void make_bb() const throw (); -- inline void ensure_bb() const throw (); -+ void make_bb() const noexcept; -+ inline void ensure_bb() const noexcept; - -- double hit_recurse(const Point &, double, double, double, double, double) const throw (); -+ double hit_recurse(const Point &, double, double, double, double, double) const noexcept; - - }; - - - inline --Bezier::Bezier(Point p[4]) throw () -+Bezier::Bezier(Point p[4]) noexcept - : _bb(-1) - { - memcpy(_p, p, sizeof(Point) * 4); - } - - inline --Bezier::Bezier(const Point &p0, const Point &p1, const Point &p2, const Point &p3) throw () -+Bezier::Bezier(const Point &p0, const Point &p1, const Point &p2, const Point &p3) noexcept - { - _p[0] = p0; - _p[1] = p1; -@@ -69,59 +69,59 @@ Bezier::Bezier(const Point &p0, const Po - } - - inline void --Bezier::ensure_bb() const throw () -+Bezier::ensure_bb() const noexcept - { - if (_bb < 0) - make_bb(); - } - - inline double --Bezier::bb_top_x() const throw () -+Bezier::bb_top_x() const noexcept - { - return _p[(_bb >> 4) & 3].y; - } - - inline double --Bezier::bb_left_x() const throw () -+Bezier::bb_left_x() const noexcept - { - return _p[(_bb >> 2) & 3].x; - } - - inline double --Bezier::bb_bottom_x() const throw () -+Bezier::bb_bottom_x() const noexcept - { - return _p[(_bb >> 6) & 3].y; - } - - inline double --Bezier::bb_right_x() const throw () -+Bezier::bb_right_x() const noexcept - { - return _p[(_bb >> 0) & 3].x; - } - - inline double --Bezier::bb_top() const throw () -+Bezier::bb_top() const noexcept - { - ensure_bb(); - return bb_top_x(); - } - - inline double --Bezier::bb_left() const throw () -+Bezier::bb_left() const noexcept - { - ensure_bb(); - return bb_left_x(); - } - - inline double --Bezier::bb_bottom() const throw () -+Bezier::bb_bottom() const noexcept - { - ensure_bb(); - return bb_bottom_x(); - } - - inline double --Bezier::bb_right() const throw () -+Bezier::bb_right() const noexcept - { - ensure_bb(); - return bb_right_x(); -diff -up texlive-base-20170520/source/texk/lcdf-typetools/lcdf-typetools-src/include/lcdf/clp.h.git4166ff9 texlive-base-20170520/source/texk/lcdf-typetools/lcdf-typetools-src/include/lcdf/clp.h ---- texlive-base-20170520/source/texk/lcdf-typetools/lcdf-typetools-src/include/lcdf/clp.h.git4166ff9 2016-11-25 13:08:52.000000000 -0500 -+++ texlive-base-20170520/source/texk/lcdf-typetools/lcdf-typetools-src/include/lcdf/clp.h 2018-02-23 12:47:54.078972078 -0500 -@@ -8,7 +8,7 @@ extern "C" { - /* clp.h - Public interface to CLP. - * This file is part of CLP, the command line parser package. - * -- * Copyright (c) 1997-2016 Eddie Kohler, ekohler@gmail.com -+ * Copyright (c) 1997-2018 Eddie Kohler, ekohler@gmail.com - * - * Permission is hereby granted, free of charge, to any person obtaining a - * copy of this software and associated documentation files (the "Software"), -diff -up texlive-base-20170520/source/texk/lcdf-typetools/lcdf-typetools-src/include/lcdf/point.hh.git4166ff9 texlive-base-20170520/source/texk/lcdf-typetools/lcdf-typetools-src/include/lcdf/point.hh ---- texlive-base-20170520/source/texk/lcdf-typetools/lcdf-typetools-src/include/lcdf/point.hh.git4166ff9 2016-11-25 13:08:52.000000000 -0500 -+++ texlive-base-20170520/source/texk/lcdf-typetools/lcdf-typetools-src/include/lcdf/point.hh 2018-02-23 12:47:54.078972078 -0500 -@@ -14,28 +14,28 @@ struct Point { - Point(const Point &p, double dx, double dy) : x(p.x + dx), y(p.y + dy) { } - // ~Point() use compiler default - -- inline double squared_length() const throw (); -- inline double length() const throw (); -- inline double magnitude() const throw (); -- static inline double distance(const Point &, const Point &) throw (); -- static inline double dot(const Point &, const Point &) throw (); -- static Point midpoint(const Point &, const Point &) throw (); -+ inline double squared_length() const noexcept; -+ inline double length() const noexcept; -+ inline double magnitude() const noexcept; -+ static inline double distance(const Point &, const Point &) noexcept; -+ static inline double dot(const Point &, const Point &) noexcept; -+ static Point midpoint(const Point &, const Point &) noexcept; - -- inline double angle() const throw (); -+ inline double angle() const noexcept; - - void shift(double dx, double dy) { x += dx; y += dy; } - -- inline Point shifted(double dx, double dy) const throw (); -- Point rotated(double) const throw (); -- inline Point normal() const throw (); -- -- bool on_line(const Point &, const Point &, double) const throw (); -- bool on_segment(const Point &, const Point &, double) const throw (); -- -- inline Point &operator+=(const Point &) throw (); -- inline Point &operator-=(const Point &) throw (); -- inline Point &operator*=(double) throw (); -- inline Point &operator/=(double) throw (); -+ inline Point shifted(double dx, double dy) const noexcept; -+ Point rotated(double) const noexcept; -+ inline Point normal() const noexcept; -+ -+ bool on_line(const Point &, const Point &, double) const noexcept; -+ bool on_segment(const Point &, const Point &, double) const noexcept; -+ -+ inline Point &operator+=(const Point &) noexcept; -+ inline Point &operator-=(const Point &) noexcept; -+ inline Point &operator*=(double) noexcept; -+ inline Point &operator/=(double) noexcept; - - // Point operator+(Point, const Point &); - // Point operator-(Point, const Point &); -@@ -49,44 +49,44 @@ struct Point { - }; - - inline double --Point::squared_length() const throw () -+Point::squared_length() const noexcept - { - return x*x + y*y; - } - - inline double --Point::length() const throw () -+Point::length() const noexcept - { - return sqrt(x*x + y*y); - } - - inline double --Point::magnitude() const throw () -+Point::magnitude() const noexcept - { - return length(); - } - - inline double --Point::angle() const throw () -+Point::angle() const noexcept - { - return atan2(y, x); - } - - inline Point --Point::shifted(double dx, double dy) const throw () -+Point::shifted(double dx, double dy) const noexcept - { - return Point(x + dx, y + dy); - } - - inline Point --Point::normal() const throw () -+Point::normal() const noexcept - { - double l = length(); - return (l ? Point(x/l, y/l) : *this); - } - - inline Point & --Point::operator+=(const Point &p) throw () -+Point::operator+=(const Point &p) noexcept - { - x += p.x; - y += p.y; -@@ -94,7 +94,7 @@ Point::operator+=(const Point &p) throw - } - - inline Point & --Point::operator-=(const Point &p) throw () -+Point::operator-=(const Point &p) noexcept - { - x -= p.x; - y -= p.y; -@@ -102,7 +102,7 @@ Point::operator-=(const Point &p) throw - } - - inline Point & --Point::operator*=(double d) throw () -+Point::operator*=(double d) noexcept - { - x *= d; - y *= d; -@@ -110,7 +110,7 @@ Point::operator*=(double d) throw () - } - - inline Point & --Point::operator/=(double d) throw () -+Point::operator/=(double d) noexcept - { - x /= d; - y /= d; -@@ -118,66 +118,66 @@ Point::operator/=(double d) throw () - } - - inline bool --operator==(const Point &a, const Point &b) throw () -+operator==(const Point &a, const Point &b) noexcept - { - return a.x == b.x && a.y == b.y; - } - - inline bool --operator!=(const Point &a, const Point &b) throw () -+operator!=(const Point &a, const Point &b) noexcept - { - return a.x != b.x || a.y != b.y; - } - - inline Point --operator+(Point a, const Point &b) throw () -+operator+(Point a, const Point &b) noexcept - { - a += b; - return a; - } - - inline Point --operator-(Point a, const Point &b) throw () -+operator-(Point a, const Point &b) noexcept - { - a -= b; - return a; - } - - inline Point --operator-(const Point &a) throw () -+operator-(const Point &a) noexcept - { - return Point(-a.x, -a.y); - } - - inline Point --operator*(Point a, double scale) throw () -+operator*(Point a, double scale) noexcept - { - a *= scale; - return a; - } - - inline Point --operator*(double scale, Point a) throw () -+operator*(double scale, Point a) noexcept - { - a *= scale; - return a; - } - - inline Point --operator/(Point a, double scale) throw () -+operator/(Point a, double scale) noexcept - { - a /= scale; - return a; - } - - inline double --Point::distance(const Point &a, const Point &b) throw () -+Point::distance(const Point &a, const Point &b) noexcept - { - return (a - b).length(); - } - - inline double --Point::dot(const Point &a, const Point &b) throw () -+Point::dot(const Point &a, const Point &b) noexcept - { - return a.x*b.x + a.y*b.y; - } -diff -up texlive-base-20170520/source/texk/lcdf-typetools/lcdf-typetools-src/include/lcdf/straccum.hh.git4166ff9 texlive-base-20170520/source/texk/lcdf-typetools/lcdf-typetools-src/include/lcdf/straccum.hh ---- texlive-base-20170520/source/texk/lcdf-typetools/lcdf-typetools-src/include/lcdf/straccum.hh.git4166ff9 2016-11-25 13:08:52.000000000 -0500 -+++ texlive-base-20170520/source/texk/lcdf-typetools/lcdf-typetools-src/include/lcdf/straccum.hh 2018-02-23 12:47:54.078972078 -0500 -@@ -20,143 +20,41 @@ template class Vector; - - class StringAccum { public: - -- /** @brief Construct an empty StringAccum (with length 0). */ -- StringAccum() -- : _s(0), _len(0), _cap(0) { -- } -- -- /** @brief Construct a StringAccum with room for at least @a capacity -- * characters. -- * @param capacity initial capacity -- * -- * If @a capacity <= 0, the StringAccum is created empty. If @a capacity -- * is too large (so that @a capacity bytes of memory can't be allocated), -- * the StringAccum falls back to a smaller capacity (possibly zero). */ -- explicit inline StringAccum(int capacity); -- -- /** @brief Construct a StringAccum containing the characters in @a s. */ -- explicit inline StringAccum(const char *cstr) -- : _s(0), _len(0), _cap(0) { -- append(cstr); -- } -- -- /** @brief Construct a StringAccum containing the characters in @a s. */ -- inline StringAccum(const char *s, int len) -- : _s(0), _len(0), _cap(0) { -- append(s, len); -- } -- -- /** @brief Construct a StringAccum containing the characters in @a str. */ -- StringAccum(const String &str) -- : _s(0), _len(0), _cap(0) { -- append(str.begin(), str.end()); -- } -- -- /** @brief Construct a StringAccum containing a copy of @a x. */ -- StringAccum(const StringAccum &x) -- : _s(0), _len(0), _cap(0) { -- append(x.data(), x.length()); -- } -- -- /** @brief Destroy a StringAccum, freeing its memory. */ -- ~StringAccum() { -- if (_cap > 0) -- delete[] (_s - MEMO_SPACE); -- } -- -- -- /** @brief Return the contents of the StringAccum. -- * @return The StringAccum's contents. -- * -- * The return value is null if the StringAccum is empty or out-of-memory. -- * The returned data() value points to writable memory (unless the -- * StringAccum itself is const). */ -- inline const char *data() const { -- return reinterpret_cast(_s); -- } -- -- /** @overload */ -- inline char *data() { -- return reinterpret_cast(_s); -- } -+ typedef const char* const_iterator; -+ typedef char* iterator; - -- inline const unsigned char* udata() const { -- return _s; -- } -- -- inline unsigned char* udata() { -- return _s; -- } -- -- /** @brief Return true iff the StringAccum is empty or out-of-memory. */ -- bool empty() const { -- return _len == 0; -- } -- -- /** @brief Return the length of the StringAccum. */ -- int length() const { -- return _len; -- } -- -- /** @brief Return the StringAccum's current capacity. -- * -- * The capacity is the maximum length the StringAccum can hold without -- * incurring a memory allocation. Returns -1 for out-of-memory -- * StringAccums. */ -- int capacity() const { -- return _cap; -- } -- -- -- typedef const char *const_iterator; -- typedef char *iterator; -- -- /** @brief Return an iterator for the first character in the StringAccum. -- * -- * StringAccum iterators are simply pointers into string data, so they are -- * quite efficient. @sa StringAccum::data */ -- inline const_iterator begin() const { -- return reinterpret_cast(_s); -- } -- -- /** @overload */ -- inline iterator begin() { -- return reinterpret_cast(_s); -- } -- -- /** @brief Return an iterator for the end of the StringAccum. -- * -- * The return value points one character beyond the last character in the -- * StringAccum. */ -- inline StringAccum::const_iterator end() const { -- return reinterpret_cast(_s + _len); -- } -- -- /** @overload */ -- inline iterator end() { -- return reinterpret_cast(_s + _len); -- } -+ typedef int (StringAccum::*unspecified_bool_type)() const; - -+ inline StringAccum(); -+ explicit inline StringAccum(int capacity); -+ explicit inline StringAccum(const char *cstr); -+ inline StringAccum(const char* s, int len); -+ inline StringAccum(const String& str); -+ inline StringAccum(const StringAccum& x); -+ inline ~StringAccum(); -+ -+ inline const char* data() const; -+ inline char* data(); -+ inline const unsigned char* udata() const; -+ inline unsigned char* udata(); -+ inline int length() const; -+ inline int capacity() const; -+ -+ inline bool empty() const; -+ inline bool operator!() const; -+ inline bool out_of_memory() const; -+ -+ inline const_iterator begin() const; -+ inline iterator begin(); -+ inline const_iterator end() const; -+ inline iterator end(); - -- typedef int (StringAccum::*unspecified_bool_type)() const; - - /** @brief Return true iff the StringAccum contains characters. - * - * Returns false for empty and out-of-memory StringAccums. */ -- operator unspecified_bool_type() const { -- return _len != 0 ? &StringAccum::capacity : 0; -- } -- -- /** @brief Return true iff the StringAccum does not contain characters. -- * -- * Returns true for empty and out-of-memory StringAccums. */ -- bool operator!() const { -- return _len == 0; -- } -- -- /** @brief Return true iff the StringAccum is out-of-memory. */ -- bool out_of_memory() const { -- return _cap < 0; -+ inline operator unspecified_bool_type() const { -+ return _len != 0 ? &StringAccum::capacity : 0; - } - - -@@ -169,182 +67,44 @@ class StringAccum { public: - const char *c_str(); - - -- /** @brief Return the ith character in the string. -- * @param i character index -- * @pre 0 <= @a i < length() */ -- char operator[](int i) const { -- assert((unsigned) i < (unsigned) _len); -- return static_cast(_s[i]); -- } -- -- /** @brief Return a reference to the ith character in the string. -- * @param i character index -- * @pre 0 <= @a i < length() */ -- char &operator[](int i) { -- assert((unsigned) i < (unsigned) _len); -- return reinterpret_cast(_s[i]); -- } -- -- /** @brief Return the first character in the string. -- * @pre length() > 0 */ -- char front() const { -- assert(_len > 0); -- return static_cast(_s[0]); -- } -+ inline char operator[](int i) const; -+ inline char& operator[](int i); -+ inline char front() const; -+ inline char& front(); -+ inline char back() const; -+ inline char& back(); - -- /** @brief Return a reference to the first character in the string. -- * @pre length() > 0 */ -- char &front() { -- assert(_len > 0); -- return reinterpret_cast(_s[0]); -- } -- -- /** @brief Return the last character in the string. -- * @pre length() > 0 */ -- char back() const { -- assert(_len > 0); -- return static_cast(_s[_len - 1]); -- } -- -- /** @brief Return a reference to the last character in the string. -- * @pre length() > 0 */ -- char &back() { -- assert(_len > 0); -- return reinterpret_cast(_s[_len - 1]); -- } -+ inline void clear(); - -- -- /** @brief Clear the StringAccum's comments. -- * -- * All characters in the StringAccum are erased. Also resets the -- * StringAccum's out-of-memory status. */ -- inline void clear() { -- if (_cap < 0) { -- _cap = 0; -- _s = 0; -- } -- _len = 0; -- } -- -- -- /** @brief Reserve space for at least @a n characters. -- * @return a pointer to at least @a n characters, or null if allocation -- * fails -- * @pre @a n >= 0 -- * -- * reserve() does not change the string's length(), only its capacity(). -- * In a frequent usage pattern, code calls reserve(), passing an upper -- * bound on the characters that could be written by a series of -- * operations. After writing into the returned buffer, adjust_length() is -- * called to account for the number of characters actually written. -- * -- * On failure, null is returned and errno is set to ENOMEM. */ -- inline char *reserve(int n) { -- assert(n >= 0); -- if (_len + n <= _cap) -- return reinterpret_cast(_s + _len); -- else -- return grow(_len + n); -- } -- -- /** @brief Set the StringAccum's length to @a len. -- * @param len new length in characters -- * @pre 0 <= @a len <= capacity() -- * @sa adjust_length */ -- inline void set_length(int len) { -- assert(len >= 0 && _len <= _cap); -- _len = len; -- } -+ inline char* reserve(int n); -+ inline void set_length(int len); - - /** @brief Set the StringAccum's length to @a len. - * @pre @a len >= 0 - * @return 0 on success, -ENOMEM on failure */ - int resize(int len); - -- /** @brief Adjust the StringAccum's length. -- * @param delta length adjustment -- * @pre If @a delta > 0, then length() + @a delta <= capacity(). -- * If @a delta < 0, then length() + delta >= 0. -- * -- * The StringAccum's length after adjust_length(@a delta) equals its old -- * length plus @a delta. Generally adjust_length() is used after a call -- * to reserve(). @sa set_length */ -- inline void adjust_length(int delta) { -- assert(_len + delta >= 0 && _len + delta <= _cap); -- _len += delta; -- } -- -- /** @brief Reserve space and adjust length in one operation. -- * @param nadjust number of characters to reserve and adjust length -- * @param nreserve additional characters to reserve -- * @pre @a nadjust >= 0 and @a nreserve >= 0 -- * -- * This operation combines the effects of reserve(@a nadjust + @a -- * nreserve) and adjust_length(@a nadjust). Returns the result of the -- * reserve() call. */ -- inline char *extend(int nadjust, int nreserve = 0) { -- assert(nadjust >= 0 && nreserve >= 0); -- if (_len + nadjust + nreserve <= _cap) { -- char *x = reinterpret_cast(_s + _len); -- _len += nadjust; -- return x; -- } else -- return hard_extend(nadjust, nreserve); -- } -- -- -- /** @brief Remove characters from the end of the StringAccum. -- * @param n number of characters to remove -- * @pre @a n >= 0 and @a n <= length() -- * -- * Same as adjust_length(-@a n). */ -- inline void pop_back(int n = 1) { -- assert(n >= 0 && _len >= n); -- _len -= n; -- } -+ inline void adjust_length(int delta); -+ inline char* extend(int nadjust, int nreserve = 0); - -+ inline void pop_back(int n = 1); - - -- /** @brief Append character @a c to the StringAccum. -- * @param c character to append */ -- inline void append(char c) { -- if (_len < _cap || grow(_len)) -- _s[_len++] = c; -- } -- /** @overload */ -- inline void append(unsigned char c) { -- append(static_cast(c)); -- } -+ inline void append(char c); -+ inline void append(unsigned char c); - - /** @brief Append @a len copies of character @a c to the StringAccum. */ - void append_fill(int c, int len); - -- /** @brief Append the UTF-8 encoding of Unicode character @a ch. */ -- inline void append_utf8(unsigned ch) { -- if (ch < 0x80) -- append((unsigned char) ch); -- else -- append_utf8_hard(ch); -- } -+ inline void append_utf8(unsigned ch); - - /** @brief Append the null-terminated C string @a s to this StringAccum. - * @param s data to append */ -- void append(const char *s); -- /** @brief Append the first @a len characters of @a s to this StringAccum. -- * @param s data to append -- * @param len length of data -- * @pre @a len >= 0 */ -- inline void append(const char *s, int len); -- /** @overload */ -- inline void append(const unsigned char *s, int len); -- -- /** @brief Append the data from @a begin to @a end to the end of this -- * StringAccum. -- * -- * Does nothing if @a begin >= @a end. */ -- inline void append(const char *begin, const char *end); -- /** @overload */ -- inline void append(const unsigned char *begin, const unsigned char *end); -+ void append(const char* s); -+ inline void append(const char* s, int len); -+ inline void append(const unsigned char* s, int len); -+ inline void append(const char* begin, const char* end); -+ inline void append(const unsigned char* begin, const unsigned char* end); - - // word joining - void append_break_lines(const String &text, int linelen, const String &leftmargin = String()); -@@ -374,16 +134,7 @@ class StringAccum { public: - String take_string(); - - -- /** @brief Assign this StringAccum to @a x. */ -- StringAccum &operator=(const StringAccum &x) { -- if (&x != this) { -- if (out_of_memory()) -- _s = 0, _cap = 0; -- _len = 0; -- append(x.data(), x.length()); -- } -- return *this; -- } -+ inline StringAccum& operator=(const StringAccum& x); - - /** @brief Swap this StringAccum's contents with @a x. */ - void swap(StringAccum &x); -@@ -393,7 +144,7 @@ class StringAccum { public: - private: - - enum { -- MEMO_SPACE = String::MEMO_SPACE -+ MEMO_SPACE = String::MEMO_SPACE - }; - - unsigned char *_s; -@@ -434,42 +185,329 @@ StringAccum &operator<<(StringAccum &, u - StringAccum &operator<<(StringAccum &, double); - - --inline --StringAccum::StringAccum(int capacity) -- : _len(0) --{ -+/** @brief Construct an empty StringAccum (with length 0). */ -+inline StringAccum::StringAccum() -+ : _s(0), _len(0), _cap(0) { -+} -+ -+/** @brief Construct a StringAccum with room for at least @a capacity -+ * characters. -+ * @param capacity initial capacity -+ * -+ * If @a capacity <= 0, the StringAccum is created empty. If @a capacity -+ * is too large (so that @a capacity bytes of memory can't be allocated), -+ * the StringAccum falls back to a smaller capacity (possibly zero). */ -+inline StringAccum::StringAccum(int capacity) -+ : _len(0) { - assert(capacity >= 0); - if (capacity -- && (_s = new unsigned char[capacity + MEMO_SPACE])) { -- _s += MEMO_SPACE; -- _cap = capacity; -+ && (_s = new unsigned char[capacity + MEMO_SPACE])) { -+ _s += MEMO_SPACE; -+ _cap = capacity; - } else { -- _s = 0; -- _cap = 0; -+ _s = 0; -+ _cap = 0; - } - } - --inline void StringAccum::append(const char *s, int len) { -+/** @brief Construct a StringAccum containing the characters in @a s. */ -+inline StringAccum::StringAccum(const char *cstr) -+ : _s(0), _len(0), _cap(0) { -+ append(cstr); -+} -+ -+/** @brief Construct a StringAccum containing the characters in @a s. */ -+inline StringAccum::StringAccum(const char *s, int len) -+ : _s(0), _len(0), _cap(0) { -+ append(s, len); -+} -+ -+/** @brief Construct a StringAccum containing the characters in @a str. */ -+inline StringAccum::StringAccum(const String &str) -+ : _s(0), _len(0), _cap(0) { -+ append(str.begin(), str.end()); -+} -+ -+/** @brief Construct a StringAccum containing a copy of @a x. */ -+inline StringAccum::StringAccum(const StringAccum &x) -+ : _s(0), _len(0), _cap(0) { -+ append(x.data(), x.length()); -+} -+ -+/** @brief Destroy a StringAccum, freeing its memory. */ -+inline StringAccum::~StringAccum() { -+ if (_cap > 0) -+ delete[] (_s - MEMO_SPACE); -+} -+ -+/** @brief Return the contents of the StringAccum. -+ * @return The StringAccum's contents. -+ * -+ * The return value is null if the StringAccum is empty or out-of-memory. -+ * The returned data() value points to writable memory (unless the -+ * StringAccum itself is const). */ -+inline const char* StringAccum::data() const { -+ return reinterpret_cast(_s); -+} -+ -+/** @overload */ -+inline char* StringAccum::data() { -+ return reinterpret_cast(_s); -+} -+ -+inline const unsigned char* StringAccum::udata() const { -+ return _s; -+} -+ -+inline unsigned char* StringAccum::udata() { -+ return _s; -+} -+ -+/** @brief Return true iff the StringAccum is empty or out-of-memory. */ -+inline bool StringAccum::empty() const { -+ return _len == 0; -+} -+ -+/** @brief Return the length of the StringAccum. */ -+inline int StringAccum::length() const { -+ return _len; -+} -+ -+/** @brief Return the StringAccum's current capacity. -+ * -+ * The capacity is the maximum length the StringAccum can hold without -+ * incurring a memory allocation. Returns -1 for out-of-memory -+ * StringAccums. */ -+inline int StringAccum::capacity() const { -+ return _cap; -+} -+ -+/** @brief Return an iterator for the first character in the StringAccum. -+ * -+ * StringAccum iterators are simply pointers into string data, so they are -+ * quite efficient. @sa StringAccum::data */ -+inline StringAccum::const_iterator StringAccum::begin() const { -+ return reinterpret_cast(_s); -+} -+ -+/** @overload */ -+inline StringAccum::iterator StringAccum::begin() { -+ return reinterpret_cast(_s); -+} -+ -+/** @brief Return an iterator for the end of the StringAccum. -+ * -+ * The return value points one character beyond the last character in the -+ * StringAccum. */ -+inline StringAccum::const_iterator StringAccum::end() const { -+ return reinterpret_cast(_s + _len); -+} -+ -+/** @overload */ -+inline StringAccum::iterator StringAccum::end() { -+ return reinterpret_cast(_s + _len); -+} -+ -+/** @brief Return true iff the StringAccum does not contain characters. -+ * -+ * Returns true for empty and out-of-memory StringAccums. */ -+inline bool StringAccum::operator!() const { -+ return _len == 0; -+} -+ -+/** @brief Return true iff the StringAccum is out-of-memory. */ -+inline bool StringAccum::out_of_memory() const { -+ return _cap < 0; -+} -+ -+/** @brief Return the ith character in the string. -+ * @param i character index -+ * @pre 0 <= @a i < length() */ -+inline char StringAccum::operator[](int i) const { -+ assert((unsigned) i < (unsigned) _len); -+ return static_cast(_s[i]); -+} -+ -+/** @brief Return a reference to the ith character in the string. -+ * @param i character index -+ * @pre 0 <= @a i < length() */ -+inline char& StringAccum::operator[](int i) { -+ assert((unsigned) i < (unsigned) _len); -+ return reinterpret_cast(_s[i]); -+} -+ -+/** @brief Return the first character in the string. -+ * @pre length() > 0 */ -+inline char StringAccum::front() const { -+ assert(_len > 0); -+ return static_cast(_s[0]); -+} -+ -+/** @brief Return a reference to the first character in the string. -+ * @pre length() > 0 */ -+inline char& StringAccum::front() { -+ assert(_len > 0); -+ return reinterpret_cast(_s[0]); -+} -+ -+/** @brief Return the last character in the string. -+ * @pre length() > 0 */ -+inline char StringAccum::back() const { -+ assert(_len > 0); -+ return static_cast(_s[_len - 1]); -+} -+ -+/** @brief Return a reference to the last character in the string. -+ * @pre length() > 0 */ -+inline char& StringAccum::back() { -+ assert(_len > 0); -+ return reinterpret_cast(_s[_len - 1]); -+} -+ -+/** @brief Clear the StringAccum's comments. -+ * -+ * All characters in the StringAccum are erased. Also resets the -+ * StringAccum's out-of-memory status. */ -+inline void StringAccum::clear() { -+ if (_cap < 0) { -+ _cap = 0; -+ _s = 0; -+ } -+ _len = 0; -+} -+ -+/** @brief Reserve space for at least @a n characters. -+ * @return a pointer to at least @a n characters, or null if allocation -+ * fails -+ * @pre @a n >= 0 -+ * -+ * reserve() does not change the string's length(), only its capacity(). -+ * In a frequent usage pattern, code calls reserve(), passing an upper -+ * bound on the characters that could be written by a series of -+ * operations. After writing into the returned buffer, adjust_length() is -+ * called to account for the number of characters actually written. -+ * -+ * On failure, null is returned and errno is set to ENOMEM. */ -+inline char* StringAccum::reserve(int n) { -+ assert(n >= 0); -+ if (_len + n <= _cap) -+ return reinterpret_cast(_s + _len); -+ else -+ return grow(_len + n); -+} -+ -+/** @brief Set the StringAccum's length to @a len. -+ * @param len new length in characters -+ * @pre 0 <= @a len <= capacity() -+ * @sa adjust_length */ -+inline void StringAccum::set_length(int len) { -+ assert(len >= 0 && _len <= _cap); -+ _len = len; -+} -+ -+/** @brief Adjust the StringAccum's length. -+ * @param delta length adjustment -+ * @pre If @a delta > 0, then length() + @a delta <= capacity(). -+ * If @a delta < 0, then length() + delta >= 0. -+ * -+ * The StringAccum's length after adjust_length(@a delta) equals its old -+ * length plus @a delta. Generally adjust_length() is used after a call -+ * to reserve(). @sa set_length */ -+inline void StringAccum::adjust_length(int delta) { -+ assert(_len + delta >= 0 && _len + delta <= _cap); -+ _len += delta; -+} -+ -+/** @brief Reserve space and adjust length in one operation. -+ * @param nadjust number of characters to reserve and adjust length -+ * @param nreserve additional characters to reserve -+ * @pre @a nadjust >= 0 and @a nreserve >= 0 -+ * -+ * This operation combines the effects of reserve(@a nadjust + @a -+ * nreserve) and adjust_length(@a nadjust). Returns the result of the -+ * reserve() call. */ -+inline char* StringAccum::extend(int nadjust, int nreserve) { -+ assert(nadjust >= 0 && nreserve >= 0); -+ if (_len + nadjust + nreserve <= _cap) { -+ char *x = reinterpret_cast(_s + _len); -+ _len += nadjust; -+ return x; -+ } else -+ return hard_extend(nadjust, nreserve); -+} -+ -+/** @brief Remove characters from the end of the StringAccum. -+ * @param n number of characters to remove -+ * @pre @a n >= 0 and @a n <= length() -+ * -+ * Same as adjust_length(-@a n). */ -+inline void StringAccum::pop_back(int n) { -+ assert(n >= 0 && _len >= n); -+ _len -= n; -+} -+ -+/** @brief Append character @a c to the StringAccum. -+ * @param c character to append */ -+inline void StringAccum::append(char c) { -+ if (_len < _cap || grow(_len)) -+ _s[_len++] = c; -+} -+ -+/** @overload */ -+inline void StringAccum::append(unsigned char c) { -+ append(static_cast(c)); -+} -+ -+/** @brief Append the UTF-8 encoding of Unicode character @a ch. */ -+inline void StringAccum::append_utf8(unsigned ch) { -+ if (ch < 0x80) -+ append((unsigned char) ch); -+ else -+ append_utf8_hard(ch); -+} -+ -+/** @brief Append the first @a len characters of @a s to this StringAccum. -+ * @param s data to append -+ * @param len length of data -+ * @pre @a len >= 0 */ -+inline void StringAccum::append(const char* s, int len) { - assert(len >= 0); - if (_len + len <= _cap) { -- memcpy(_s + _len, s, len); -- _len += len; -+ memcpy(_s + _len, s, len); -+ _len += len; - } else -- hard_append(s, len); -+ hard_append(s, len); - } - --inline void StringAccum::append(const unsigned char *s, int len) { -+/** @overload */ -+inline void StringAccum::append(const unsigned char* s, int len) { - append(reinterpret_cast(s), len); - } - --inline void StringAccum::append(const char *begin, const char *end) { -+/** @brief Append the data from @a begin to @a end to the end of this -+ * StringAccum. -+ * -+ * Does nothing if @a begin >= @a end. */ -+inline void StringAccum::append(const char* begin, const char* end) { - if (begin < end) -- append(begin, end - begin); -+ append(begin, end - begin); - } - --inline void StringAccum::append(const unsigned char *begin, const unsigned char *end) { -+/** @overload */ -+inline void StringAccum::append(const unsigned char* begin, const unsigned char* end) { - if (begin < end) -- append(begin, end - begin); -+ append(begin, end - begin); -+} -+ -+/** @brief Assign this StringAccum to @a x. */ -+inline StringAccum& StringAccum::operator=(const StringAccum& x) { -+ if (&x != this) { -+ if (out_of_memory()) -+ _s = 0, _cap = 0; -+ _len = 0; -+ append(x.data(), x.length()); -+ } -+ return *this; - } - - /** @relates StringAccum -@@ -513,9 +551,9 @@ operator<<(StringAccum &sa, bool b) - { - static const char truefalse[] = "truefalse"; - if (b) -- sa.append(truefalse, 4); -+ sa.append(truefalse, 4); - else -- sa.append(truefalse + 4, 5); -+ sa.append(truefalse + 4, 5); - return sa; - } - -@@ -562,9 +600,9 @@ inline StringAccum & - operator<<(StringAccum &sa, const String &str) - { - if (!str.out_of_memory()) -- sa.hard_append(str.begin(), str.length()); -+ sa.hard_append(str.begin(), str.length()); - else -- sa.assign_out_of_memory(); -+ sa.assign_out_of_memory(); - return sa; - } - -diff -up texlive-base-20170520/source/texk/lcdf-typetools/lcdf-typetools-src/include/lcdf/vector.cc.git4166ff9 texlive-base-20170520/source/texk/lcdf-typetools/lcdf-typetools-src/include/lcdf/vector.cc ---- texlive-base-20170520/source/texk/lcdf-typetools/lcdf-typetools-src/include/lcdf/vector.cc.git4166ff9 2016-11-25 13:08:52.000000000 -0500 -+++ texlive-base-20170520/source/texk/lcdf-typetools/lcdf-typetools-src/include/lcdf/vector.cc 2018-02-23 12:47:54.079972053 -0500 -@@ -7,7 +7,7 @@ - * - * Copyright (c) 1999-2000 Massachusetts Institute of Technology - * Copyright (c) 2001-2003 International Computer Science Institute -- * Copyright (c) 1999-2016 Eddie Kohler -+ * Copyright (c) 1999-2018 Eddie Kohler - * - * Permission is hereby granted, free of charge, to any person obtaining a - * copy of this software and associated documentation files (the "Software"), -diff -up texlive-base-20170520/source/texk/lcdf-typetools/lcdf-typetools-src/lcdf-typetools.spec.git4166ff9 texlive-base-20170520/source/texk/lcdf-typetools/lcdf-typetools-src/lcdf-typetools.spec ---- texlive-base-20170520/source/texk/lcdf-typetools/lcdf-typetools-src/lcdf-typetools.spec.git4166ff9 2016-11-25 13:08:53.000000000 -0500 -+++ texlive-base-20170520/source/texk/lcdf-typetools/lcdf-typetools-src/lcdf-typetools.spec 2018-02-23 12:47:54.079972053 -0500 -@@ -1,6 +1,6 @@ - Summary: Programs to manipulate OpenType and multiple-master fonts - Name: lcdf-typetools --Version: 2.106 -+Version: 2.107 - Copyright: GPL - Vendor: Little Cambridgeport Design Factory - Group: Utilities/Printing -diff -up texlive-base-20170520/source/texk/lcdf-typetools/lcdf-typetools-src/libefont/afm.cc.git4166ff9 texlive-base-20170520/source/texk/lcdf-typetools/lcdf-typetools-src/libefont/afm.cc ---- texlive-base-20170520/source/texk/lcdf-typetools/lcdf-typetools-src/libefont/afm.cc.git4166ff9 2016-11-25 13:08:52.000000000 -0500 -+++ texlive-base-20170520/source/texk/lcdf-typetools/lcdf-typetools-src/libefont/afm.cc 2018-02-23 12:47:54.079972053 -0500 -@@ -2,7 +2,7 @@ - - /* afm.{cc,hh} -- Adobe Font Metrics files - * -- * Copyright (c) 1998-2016 Eddie Kohler -+ * Copyright (c) 1998-2018 Eddie Kohler - * - * 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 -diff -up texlive-base-20170520/source/texk/lcdf-typetools/lcdf-typetools-src/libefont/afmparse.cc.git4166ff9 texlive-base-20170520/source/texk/lcdf-typetools/lcdf-typetools-src/libefont/afmparse.cc ---- texlive-base-20170520/source/texk/lcdf-typetools/lcdf-typetools-src/libefont/afmparse.cc.git4166ff9 2016-11-25 13:08:52.000000000 -0500 -+++ texlive-base-20170520/source/texk/lcdf-typetools/lcdf-typetools-src/libefont/afmparse.cc 2018-02-23 12:47:54.079972053 -0500 -@@ -2,7 +2,7 @@ - - /* afmparse.{cc,hh} -- Adobe Font Metrics parsing - * -- * Copyright (c) 1998-2016 Eddie Kohler -+ * Copyright (c) 1998-2018 Eddie Kohler - * - * 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 -diff -up texlive-base-20170520/source/texk/lcdf-typetools/lcdf-typetools-src/libefont/afmw.cc.git4166ff9 texlive-base-20170520/source/texk/lcdf-typetools/lcdf-typetools-src/libefont/afmw.cc ---- texlive-base-20170520/source/texk/lcdf-typetools/lcdf-typetools-src/libefont/afmw.cc.git4166ff9 2016-11-25 13:08:52.000000000 -0500 -+++ texlive-base-20170520/source/texk/lcdf-typetools/lcdf-typetools-src/libefont/afmw.cc 2018-02-23 12:47:54.079972053 -0500 -@@ -2,7 +2,7 @@ - - /* afmw.{cc,hh} -- Adobe Font Metrics writing - * -- * Copyright (c) 1998-2016 Eddie Kohler -+ * Copyright (c) 1998-2018 Eddie Kohler - * - * 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 -diff -up texlive-base-20170520/source/texk/lcdf-typetools/lcdf-typetools-src/libefont/amfm.cc.git4166ff9 texlive-base-20170520/source/texk/lcdf-typetools/lcdf-typetools-src/libefont/amfm.cc ---- texlive-base-20170520/source/texk/lcdf-typetools/lcdf-typetools-src/libefont/amfm.cc.git4166ff9 2016-11-25 13:08:52.000000000 -0500 -+++ texlive-base-20170520/source/texk/lcdf-typetools/lcdf-typetools-src/libefont/amfm.cc 2018-02-23 12:47:54.079972053 -0500 -@@ -2,7 +2,7 @@ - - /* amfm.{cc,hh} -- Adobe Multiple-Master Font Metrics - * -- * Copyright (c) 1998-2016 Eddie Kohler -+ * Copyright (c) 1998-2018 Eddie Kohler - * - * 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 -diff -up texlive-base-20170520/source/texk/lcdf-typetools/lcdf-typetools-src/libefont/cff.cc.git4166ff9 texlive-base-20170520/source/texk/lcdf-typetools/lcdf-typetools-src/libefont/cff.cc ---- texlive-base-20170520/source/texk/lcdf-typetools/lcdf-typetools-src/libefont/cff.cc.git4166ff9 2016-11-25 13:08:52.000000000 -0500 -+++ texlive-base-20170520/source/texk/lcdf-typetools/lcdf-typetools-src/libefont/cff.cc 2018-02-23 12:47:54.080972028 -0500 -@@ -2,7 +2,7 @@ - - /* cff.{cc,hh} -- Compact Font Format fonts - * -- * Copyright (c) 1998-2016 Eddie Kohler -+ * Copyright (c) 1998-2018 Eddie Kohler - * - * 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 -@@ -326,17 +326,11 @@ static const uint8_t default_dict_cff_da - 0, 0 - }; - --static const Cff::Dict & -+static const Cff::Dict& - default_dict() - { -- static Cff *cff; -- static Cff::Font *cfffont; -- if (!cfffont) { -- cff = new Cff(String::make_stable((const char *) default_dict_cff_data, sizeof(default_dict_cff_data)), -- 0, ErrorHandler::default_handler()); -- cfffont = (Cff::Font *) cff->font(); -- } -- return cfffont->top_dict(); -+ static Cff cff(String::make_stable((const char*) default_dict_cff_data, sizeof(default_dict_cff_data)), 0, ErrorHandler::default_handler()); -+ return static_cast(cff.font())->top_dict(); - } - - -@@ -360,6 +354,8 @@ Cff::~Cff() - { - for (int i = 0; i < _gsubrs_cs.size(); i++) - delete _gsubrs_cs[i]; -+ for (int i = 0; i < _fonts.size(); ++i) -+ delete _fonts[i]; - } - - /* -@@ -500,25 +496,6 @@ Cff::sid_permstring(int sid) const - } - } - --int --Cff::font_offset(int findex, int &offset, int &length) const --{ -- if (findex < 0 || findex >= nfonts()) -- return -ENOENT; -- offset = _top_dict_index[findex] - _data; -- length = _top_dict_index[findex + 1] - _top_dict_index[findex]; -- return 0; --} -- --int --Cff::font_offset(PermString name, int &offset, int &length) const --{ -- for (int i = 0; i < _name_index.size(); i++) -- if (_name_index[i] == name && name) -- return font_offset(i, offset, length); -- return -ENOENT; --} -- - Cff::FontParent * - Cff::font(PermString font_name, ErrorHandler *errh) - { -@@ -529,24 +506,39 @@ Cff::font(PermString font_name, ErrorHan - return errh->error("invalid CFF"), (FontParent *) 0; - - // search for a font named 'font_name' -- for (int i = 0; i < _name_index.size(); i++) -- if (_name_index[i] && (!font_name || font_name == _name_index[i])) { -- int td_offset = _top_dict_index[i] - _data; -- int td_length = _top_dict_index[i + 1] - _top_dict_index[i]; -- Dict top_dict(this, td_offset, td_length, errh, "Top DICT"); -- if (!top_dict.ok()) -- return 0; -- else if (top_dict.has_first(oROS)) -- return new Cff::CIDFont(this, _name_index[i], top_dict, errh); -- else -- return new Cff::Font(this, _name_index[i], top_dict, errh); -- } -+ int findex; -+ for (findex = 0; findex < _name_index.size(); ++findex) { -+ if (_name_index[findex] -+ && (!font_name || font_name == _name_index[findex])) -+ break; -+ } -+ if (findex >= _name_index.size()) { -+ if (!font_name) -+ errh->error("no fonts in CFF"); -+ else -+ errh->error("font %<%s%> not found", font_name.c_str()); -+ return 0; -+ } -+ -+ // return font -+ for (int i = 0; i < _fonts.size(); ++i) -+ if (_fonts[i]->_font_index == findex) -+ return _fonts[i]; -+ -+ int td_offset = _top_dict_index[findex] - _data; -+ int td_length = _top_dict_index[findex + 1] - _top_dict_index[findex]; -+ Dict top_dict(this, td_offset, td_length, errh, "Top DICT"); -+ if (!top_dict.ok()) -+ return 0; - -- if (!font_name) -- errh->error("no fonts in CFF"); -+ Cff::FontParent* fp; -+ if (top_dict.has_first(oROS)) -+ fp = new Cff::CIDFont(this, _name_index[findex], top_dict, errh); - else -- errh->error("font %<%s%> not found", font_name.c_str()); -- return 0; -+ fp = new Cff::Font(this, _name_index[findex], top_dict, errh); -+ fp->_font_index = findex; -+ _fonts.push_back(fp); -+ return fp; - } - - static inline int -diff -up texlive-base-20170520/source/texk/lcdf-typetools/lcdf-typetools-src/libefont/encoding.cc.git4166ff9 texlive-base-20170520/source/texk/lcdf-typetools/lcdf-typetools-src/libefont/encoding.cc ---- texlive-base-20170520/source/texk/lcdf-typetools/lcdf-typetools-src/libefont/encoding.cc.git4166ff9 2016-11-25 13:08:52.000000000 -0500 -+++ texlive-base-20170520/source/texk/lcdf-typetools/lcdf-typetools-src/libefont/encoding.cc 2018-02-23 12:47:54.080972028 -0500 -@@ -2,7 +2,7 @@ - - /* encoding.{cc,hh} -- 8-bit encodings - * -- * Copyright (c) 1998-2016 Eddie Kohler -+ * Copyright (c) 1998-2018 Eddie Kohler - * - * 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 -diff -up texlive-base-20170520/source/texk/lcdf-typetools/lcdf-typetools-src/libefont/findmet.cc.git4166ff9 texlive-base-20170520/source/texk/lcdf-typetools/lcdf-typetools-src/libefont/findmet.cc ---- texlive-base-20170520/source/texk/lcdf-typetools/lcdf-typetools-src/libefont/findmet.cc.git4166ff9 2016-11-25 13:08:52.000000000 -0500 -+++ texlive-base-20170520/source/texk/lcdf-typetools/lcdf-typetools-src/libefont/findmet.cc 2018-02-23 12:47:54.080972028 -0500 -@@ -2,7 +2,7 @@ - - /* findmet.{cc,hh} -- find font metrics - * -- * Copyright (c) 1998-2016 Eddie Kohler -+ * Copyright (c) 1998-2018 Eddie Kohler - * - * 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 -diff -up texlive-base-20170520/source/texk/lcdf-typetools/lcdf-typetools-src/libefont/metrics.cc.git4166ff9 texlive-base-20170520/source/texk/lcdf-typetools/lcdf-typetools-src/libefont/metrics.cc ---- texlive-base-20170520/source/texk/lcdf-typetools/lcdf-typetools-src/libefont/metrics.cc.git4166ff9 2016-11-25 13:08:52.000000000 -0500 -+++ texlive-base-20170520/source/texk/lcdf-typetools/lcdf-typetools-src/libefont/metrics.cc 2018-02-23 12:47:54.080972028 -0500 -@@ -2,7 +2,7 @@ - - /* metrics.{cc,hh} -- generic font metrics - * -- * Copyright (c) 1998-2016 Eddie Kohler -+ * Copyright (c) 1998-2018 Eddie Kohler - * - * 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 -diff -up texlive-base-20170520/source/texk/lcdf-typetools/lcdf-typetools-src/libefont/otf.cc.git4166ff9 texlive-base-20170520/source/texk/lcdf-typetools/lcdf-typetools-src/libefont/otf.cc ---- texlive-base-20170520/source/texk/lcdf-typetools/lcdf-typetools-src/libefont/otf.cc.git4166ff9 2016-11-25 13:08:52.000000000 -0500 -+++ texlive-base-20170520/source/texk/lcdf-typetools/lcdf-typetools-src/libefont/otf.cc 2018-02-23 12:47:54.080972028 -0500 -@@ -2,7 +2,7 @@ - - /* otf.{cc,hh} -- OpenType font basics - * -- * Copyright (c) 2002-2016 Eddie Kohler -+ * Copyright (c) 2002-2018 Eddie Kohler - * - * 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 -@@ -747,11 +747,11 @@ FeatureList::lookups(const ScriptList &s - * * - **************************/ - --Coverage::Coverage() throw () -+Coverage::Coverage() noexcept - { - } - --Coverage::Coverage(Glyph first, Glyph last) throw () -+Coverage::Coverage(Glyph first, Glyph last) noexcept - { - if (first <= last) { - _str = String("\000\002\000\001\000\000\000\000\000\000", 10); -@@ -764,7 +764,7 @@ Coverage::Coverage(Glyph first, Glyph la - } - } - --Coverage::Coverage(const Vector &gmap) throw () -+Coverage::Coverage(const Vector &gmap) noexcept - { - int end = gmap.size(); - while (end > 0 && !gmap[end - 1]) -@@ -790,7 +790,7 @@ Coverage::Coverage(const Vector &g - } - } - --Coverage::Coverage(const String &str, ErrorHandler *errh, bool do_check) throw () -+Coverage::Coverage(const String &str, ErrorHandler *errh, bool do_check) noexcept - : _str(str) - { - _str.align(2); -@@ -844,7 +844,7 @@ Coverage::check(ErrorHandler *errh) - } - - int --Coverage::size() const throw () -+Coverage::size() const noexcept - { - if (_str.length() == 0) - return -1; -@@ -861,7 +861,7 @@ Coverage::size() const throw () - } - - int --Coverage::coverage_index(Glyph g) const throw () -+Coverage::coverage_index(Glyph g) const noexcept - { - if (_str.length() == 0) - return -1; -@@ -906,7 +906,7 @@ Coverage::coverage_index(Glyph g) const - } - - Glyph --Coverage::operator[](int cindex) const throw () -+Coverage::operator[](int cindex) const noexcept - { - if (_str.length() == 0 || cindex < 0) - return 0; -@@ -935,7 +935,7 @@ Coverage::operator[](int cindex) const t - } - - void --Coverage::unparse(StringAccum &sa) const throw () -+Coverage::unparse(StringAccum &sa) const noexcept - { - const uint8_t *data = _str.udata(); - if (_str.length() == 0) -@@ -958,7 +958,7 @@ Coverage::unparse(StringAccum &sa) const - } - - String --Coverage::unparse() const throw () -+Coverage::unparse() const noexcept - { - StringAccum sa; - unparse(sa); -@@ -1237,7 +1237,7 @@ GlyphSet::operator=(const GlyphSet &o) - * * - **************************/ - --ClassDef::ClassDef(const String &str, ErrorHandler *errh) throw () -+ClassDef::ClassDef(const String &str, ErrorHandler *errh) noexcept - : _str(str) - { - _str.align(2); -@@ -1277,7 +1277,7 @@ ClassDef::check(ErrorHandler *errh) - } - - int --ClassDef::lookup(Glyph g) const throw () -+ClassDef::lookup(Glyph g) const noexcept - { - if (_str.length() == 0) - return -1; -@@ -1311,7 +1311,7 @@ ClassDef::lookup(Glyph g) const throw () - } - - void --ClassDef::unparse(StringAccum &sa) const throw () -+ClassDef::unparse(StringAccum &sa) const noexcept - { - const uint8_t *data = _str.udata(); - if (_str.length() == 0) -@@ -1336,7 +1336,7 @@ ClassDef::unparse(StringAccum &sa) const - } - - String --ClassDef::unparse() const throw () -+ClassDef::unparse() const noexcept - { - StringAccum sa; - unparse(sa); -diff -up texlive-base-20170520/source/texk/lcdf-typetools/lcdf-typetools-src/libefont/otfcmap.cc.git4166ff9 texlive-base-20170520/source/texk/lcdf-typetools/lcdf-typetools-src/libefont/otfcmap.cc ---- texlive-base-20170520/source/texk/lcdf-typetools/lcdf-typetools-src/libefont/otfcmap.cc.git4166ff9 2016-11-25 13:08:52.000000000 -0500 -+++ texlive-base-20170520/source/texk/lcdf-typetools/lcdf-typetools-src/libefont/otfcmap.cc 2018-02-23 12:47:54.080972028 -0500 -@@ -2,7 +2,7 @@ - - /* otfcmap.{cc,hh} -- OpenType cmap table - * -- * Copyright (c) 2002-2016 Eddie Kohler -+ * Copyright (c) 2002-2018 Eddie Kohler - * - * 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 -@@ -184,25 +184,27 @@ Cmap::check_table(int t, ErrorHandler *e - || (searchRange>>1) > segCountX2/2 - || 1 << (entrySelector + 1) != searchRange - || rangeShift != segCountX2 - searchRange) -- return errh->error("bad table %d segment counts (format 4)", t); -+ return errh->error("bad table %d segment counts (format %d)", format); - uint32_t segCount = segCountX2 >> 1; - if (length < 16 + 8 * segCount) -- return errh->error("bad table %d length (format %d)", t, format); -+ return errh->error("bad table %d length (format %d, length %u, need %u)", t, format, length, 16 + 8 * segCount); - const uint8_t *endCodes = data + 14; - const uint8_t *startCodes = endCodes + 2 + segCountX2; - const uint8_t *idDeltas = startCodes + segCountX2; - const uint8_t *idRangeOffsets = idDeltas + segCountX2; -+ uint32_t idRangeOffsetsPos = idRangeOffsets - data; - int last_end = 0; - for (int i = 0; i < segCountX2; i += 2) { - int endCode = USHORT_AT(endCodes + i); - int startCode = USHORT_AT(startCodes + i); -- /* int idDelta = SHORT_AT(idDeltas + i); // no need to check */ -+ /* int idDelta = SHORT_AT(idDeltas + i); // not needed */ - int idRangeOffset = USHORT_AT(idRangeOffsets + i); - if (endCode < startCode || startCode < last_end) - return errh->error("bad table %d overlapping range %d (format %d)", t, i/2, format); - if (idRangeOffset -- && idRangeOffsets + i + idRangeOffset + (endCode - startCode)*2 + 2 > data + length) -- return errh->error("bad table %d range %d length (format 4)", t, i/2); -+ && idRangeOffset != 65535 -+ && idRangeOffsetsPos + i + idRangeOffset + (endCode - startCode)*2 + 2 > length) -+ return errh->error("bad table %d range %d length (format %d, range %d-%d, idRangeOffset %d, length %u)", t, i/2, format, startCode, endCode, idRangeOffset, length); - last_end = endCode + 1; - } - if (USHORT_AT(endCodes + segCountX2 - 2) != 0xFFFF) -@@ -308,6 +310,8 @@ Cmap::map_table(int t, uint32_t uni, Err - int idRangeOffset = USHORT_AT(idRangeOffsets + (m << 1)); - if (idRangeOffset == 0) - return (idDelta + uni) & 65535; -+ else if (idRangeOffset == 65535) -+ return 0; - int g = USHORT_AT(idRangeOffsets + (m << 1) + idRangeOffset + ((uni - startCount) << 1)); - if (g == 0) - return 0; -diff -up texlive-base-20170520/source/texk/lcdf-typetools/lcdf-typetools-src/libefont/otfdata.cc.git4166ff9 texlive-base-20170520/source/texk/lcdf-typetools/lcdf-typetools-src/libefont/otfdata.cc ---- texlive-base-20170520/source/texk/lcdf-typetools/lcdf-typetools-src/libefont/otfdata.cc.git4166ff9 2016-11-25 13:08:52.000000000 -0500 -+++ texlive-base-20170520/source/texk/lcdf-typetools/lcdf-typetools-src/libefont/otfdata.cc 2018-02-23 12:47:54.081972003 -0500 -@@ -2,7 +2,7 @@ - - /* otfdata.{cc,hh} -- OpenType bounds-checked string type - * -- * Copyright (c) 2003-2016 Eddie Kohler -+ * Copyright (c) 2003-2018 Eddie Kohler - * - * 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 -@@ -21,7 +21,7 @@ - namespace Efont { namespace OpenType { - - Data --Data::subtable(unsigned offset) const throw (Bounds) -+Data::subtable(unsigned offset) const - { - if (offset > (unsigned) _str.length()) - throw Bounds(); -@@ -29,7 +29,7 @@ Data::subtable(unsigned offset) const th - } - - Data --Data::offset_subtable(unsigned offset_offset) const throw (Bounds) -+Data::offset_subtable(unsigned offset_offset) const - { - int offset = u16(offset_offset); - if (offset > _str.length()) -diff -up texlive-base-20170520/source/texk/lcdf-typetools/lcdf-typetools-src/libefont/otfdescrip.cc.git4166ff9 texlive-base-20170520/source/texk/lcdf-typetools/lcdf-typetools-src/libefont/otfdescrip.cc ---- texlive-base-20170520/source/texk/lcdf-typetools/lcdf-typetools-src/libefont/otfdescrip.cc.git4166ff9 2016-11-25 13:08:52.000000000 -0500 -+++ texlive-base-20170520/source/texk/lcdf-typetools/lcdf-typetools-src/libefont/otfdescrip.cc 2018-02-23 12:47:54.081972003 -0500 -@@ -1,6 +1,6 @@ - /* otfdescrip.cc -- descriptions for OpenType tags - * -- * Copyright (c) 2002-2016 Eddie Kohler -+ * Copyright (c) 2002-2018 Eddie Kohler - * - * 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 -diff -up texlive-base-20170520/source/texk/lcdf-typetools/lcdf-typetools-src/libefont/otfgpos.cc.git4166ff9 texlive-base-20170520/source/texk/lcdf-typetools/lcdf-typetools-src/libefont/otfgpos.cc ---- texlive-base-20170520/source/texk/lcdf-typetools/lcdf-typetools-src/libefont/otfgpos.cc.git4166ff9 2016-11-25 13:08:52.000000000 -0500 -+++ texlive-base-20170520/source/texk/lcdf-typetools/lcdf-typetools-src/libefont/otfgpos.cc 2018-02-23 12:47:54.081972003 -0500 -@@ -2,7 +2,7 @@ - - /* otfgpos.{cc,hh} -- OpenType GPOS table - * -- * Copyright (c) 2003-2016 Eddie Kohler -+ * Copyright (c) 2003-2018 Eddie Kohler - * - * 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 -@@ -32,7 +32,7 @@ namespace Efont { namespace OpenType { - * * - **************************/ - --Gpos::Gpos(const Data &d, ErrorHandler *errh) throw (Error) -+Gpos::Gpos(const Data &d, ErrorHandler *errh) - { - // Fixed Version - // Offset ScriptList -@@ -79,7 +79,7 @@ const int GposValue::nibble_bitcount_x2[ - * * - **************************/ - --GposLookup::GposLookup(const Data &d) throw (Error) -+GposLookup::GposLookup(const Data &d) - : _d(d) - { - if (_d.length() < 6) -@@ -143,7 +143,7 @@ GposLookup::unparse_automatics(Vector - * * - **************************/ - --GposPair::GposPair(const Data &d) throw (Error) -+GposPair::GposPair(const Data &d) - : _d(d) - { - if (_d[0] != 0 -@@ -196,7 +196,7 @@ GposPair::GposPair(const Data &d) throw - } - - Coverage --GposPair::coverage() const throw () -+GposPair::coverage() const noexcept - { - return Coverage(_d.offset_subtable(2), 0, false); - } -diff -up texlive-base-20170520/source/texk/lcdf-typetools/lcdf-typetools-src/libefont/otfgsub.cc.git4166ff9 texlive-base-20170520/source/texk/lcdf-typetools/lcdf-typetools-src/libefont/otfgsub.cc ---- texlive-base-20170520/source/texk/lcdf-typetools/lcdf-typetools-src/libefont/otfgsub.cc.git4166ff9 2016-11-25 13:08:52.000000000 -0500 -+++ texlive-base-20170520/source/texk/lcdf-typetools/lcdf-typetools-src/libefont/otfgsub.cc 2018-02-23 12:47:54.081972003 -0500 -@@ -2,7 +2,7 @@ - - /* otfgsub.{cc,hh} -- OpenType GSUB table - * -- * Copyright (c) 2003-2016 Eddie Kohler -+ * Copyright (c) 2003-2018 Eddie Kohler - * - * 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 -@@ -255,13 +255,13 @@ Substitution::context_in(const GlyphSet - } - - Glyph --Substitution::extract_glyph(const Substitute &s, uint8_t t) throw () -+Substitution::extract_glyph(const Substitute &s, uint8_t t) noexcept - { - return (t == T_GLYPH ? s.gid : 0); - } - - Glyph --Substitution::extract_glyph(const Substitute &s, int which, uint8_t t) throw () -+Substitution::extract_glyph(const Substitute &s, int which, uint8_t t) noexcept - { - switch (t) { - case T_GLYPH: -@@ -279,7 +279,7 @@ Substitution::extract_glyph(const Substi - } - - bool --Substitution::extract_glyphs(const Substitute &s, uint8_t t, Vector &v, bool coverage_ok) throw () -+Substitution::extract_glyphs(const Substitute &s, uint8_t t, Vector &v, bool coverage_ok) noexcept - { - switch (t) { - case T_GLYPH: -@@ -302,7 +302,7 @@ Substitution::extract_glyphs(const Subst - } - - Glyph * --Substitution::extract_glyphptr(const Substitute &s, uint8_t t) throw () -+Substitution::extract_glyphptr(const Substitute &s, uint8_t t) noexcept - { - switch (t) { - case T_GLYPH: -@@ -315,7 +315,7 @@ Substitution::extract_glyphptr(const Sub - } - - int --Substitution::extract_nglyphs(const Substitute &s, uint8_t t, bool coverage_ok) throw () -+Substitution::extract_nglyphs(const Substitute &s, uint8_t t, bool coverage_ok) noexcept - { - switch (t) { - case T_GLYPH: -@@ -330,7 +330,7 @@ Substitution::extract_nglyphs(const Subs - } - - bool --Substitution::matches(const Substitute &s, uint8_t t, int pos, Glyph g) throw () -+Substitution::matches(const Substitute &s, uint8_t t, int pos, Glyph g) noexcept - { - switch (t) { - case T_GLYPH: -@@ -461,7 +461,7 @@ Substitution::remove_outer_right() - } - - bool --Substitution::out_alter(const Substitution &o, int pos) throw () -+Substitution::out_alter(const Substitution &o, int pos) noexcept - { - const Glyph *g = out_glyphptr(); - int ng = out_nglyphs(); -@@ -490,7 +490,7 @@ Substitution::out_alter(const Substituti - } - - static void --unparse_glyphid(StringAccum &sa, Glyph gid, const Vector *gns) throw () -+unparse_glyphid(StringAccum &sa, Glyph gid, const Vector *gns) noexcept - { - if (gid > 0 && gns && gns->size() > gid && (*gns)[gid]) - sa << (*gns)[gid]; -@@ -499,7 +499,7 @@ unparse_glyphid(StringAccum &sa, Glyph g - } - - void --Substitution::unparse_glyphids(StringAccum &sa, const Substitute &s, uint8_t t, const Vector *gns) throw () -+Substitution::unparse_glyphids(StringAccum &sa, const Substitute &s, uint8_t t, const Vector *gns) noexcept - { - if (t == T_GLYPH) - unparse_glyphid(sa, s.gid, gns); -@@ -565,7 +565,7 @@ Substitution::unparse(const Vector(s.data()); - _key = t1R_cs; - for (int i = 0; i < lenIV; i++, d++) -- _key = ((*d + _key) * t1C1 + t1C2) & 0xFFFF; -+ _key = ((*d + _key) * (uint32_t) t1C1 + t1C2) & 0xFFFF; - _s = s.substring(lenIV); - } - } -@@ -139,7 +139,7 @@ Type1Charstring::decrypt() const - for (int i = 0; i < _s.length(); i++, d++) { - uint8_t encrypted = *d; - *d = encrypted ^ (r >> 8); -- r = ((encrypted + r) * t1C1 + t1C2) & 0xFFFF; -+ r = ((encrypted + r) * (uint32_t) t1C1 + t1C2) & 0xFFFF; - } - _key = -1; - } -@@ -193,7 +193,7 @@ Type1Charstring::process(CharstringInter - } else { // 255: push huge number - if (left < 5) - goto runoff_error; -- int32_t val = (data[1] << 24) | (data[2] << 16) | (data[3] << 8) | data[4]; -+ int32_t val = ((uint32_t) data[1] << 24) | (data[2] << 16) | (data[3] << 8) | data[4]; - more = interp.number(val); - ahead = 5; - } -diff -up texlive-base-20170520/source/texk/lcdf-typetools/lcdf-typetools-src/libefont/t1csgen.cc.git4166ff9 texlive-base-20170520/source/texk/lcdf-typetools/lcdf-typetools-src/libefont/t1csgen.cc ---- texlive-base-20170520/source/texk/lcdf-typetools/lcdf-typetools-src/libefont/t1csgen.cc.git4166ff9 2016-11-25 13:08:52.000000000 -0500 -+++ texlive-base-20170520/source/texk/lcdf-typetools/lcdf-typetools-src/libefont/t1csgen.cc 2018-02-23 12:47:54.082971978 -0500 -@@ -2,7 +2,7 @@ - - /* t1csgen.{cc,hh} -- Type 1 charstring generation - * -- * Copyright (c) 1998-2016 Eddie Kohler -+ * Copyright (c) 1998-2018 Eddie Kohler - * - * 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 -diff -up texlive-base-20170520/source/texk/lcdf-typetools/lcdf-typetools-src/libefont/t1font.cc.git4166ff9 texlive-base-20170520/source/texk/lcdf-typetools/lcdf-typetools-src/libefont/t1font.cc ---- texlive-base-20170520/source/texk/lcdf-typetools/lcdf-typetools-src/libefont/t1font.cc.git4166ff9 2016-11-25 13:08:52.000000000 -0500 -+++ texlive-base-20170520/source/texk/lcdf-typetools/lcdf-typetools-src/libefont/t1font.cc 2018-02-23 12:47:54.082971978 -0500 -@@ -2,7 +2,7 @@ - - /* t1font.{cc,hh} -- Type 1 font - * -- * Copyright (c) 1998-2016 Eddie Kohler -+ * Copyright (c) 1998-2018 Eddie Kohler - * - * 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 -diff -up texlive-base-20170520/source/texk/lcdf-typetools/lcdf-typetools-src/libefont/t1fontskel.cc.git4166ff9 texlive-base-20170520/source/texk/lcdf-typetools/lcdf-typetools-src/libefont/t1fontskel.cc ---- texlive-base-20170520/source/texk/lcdf-typetools/lcdf-typetools-src/libefont/t1fontskel.cc.git4166ff9 2016-11-25 13:08:52.000000000 -0500 -+++ texlive-base-20170520/source/texk/lcdf-typetools/lcdf-typetools-src/libefont/t1fontskel.cc 2018-02-23 12:47:54.083971953 -0500 -@@ -1,6 +1,6 @@ - /* t1fontskel.cc -- Type 1 font skeleton - * -- * Copyright (c) 1998-2016 Eddie Kohler -+ * Copyright (c) 1998-2018 Eddie Kohler - * - * 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 -diff -up texlive-base-20170520/source/texk/lcdf-typetools/lcdf-typetools-src/libefont/t1interp.cc.git4166ff9 texlive-base-20170520/source/texk/lcdf-typetools/lcdf-typetools-src/libefont/t1interp.cc ---- texlive-base-20170520/source/texk/lcdf-typetools/lcdf-typetools-src/libefont/t1interp.cc.git4166ff9 2016-11-25 13:08:52.000000000 -0500 -+++ texlive-base-20170520/source/texk/lcdf-typetools/lcdf-typetools-src/libefont/t1interp.cc 2018-02-23 12:47:54.083971953 -0500 -@@ -2,7 +2,7 @@ - - /* t1interp.{cc,hh} -- Type 1/2 charstring interpretation - * -- * Copyright (c) 1998-2016 Eddie Kohler -+ * Copyright (c) 1998-2018 Eddie Kohler - * - * 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 -diff -up texlive-base-20170520/source/texk/lcdf-typetools/lcdf-typetools-src/libefont/t1item.cc.git4166ff9 texlive-base-20170520/source/texk/lcdf-typetools/lcdf-typetools-src/libefont/t1item.cc ---- texlive-base-20170520/source/texk/lcdf-typetools/lcdf-typetools-src/libefont/t1item.cc.git4166ff9 2016-11-25 13:08:52.000000000 -0500 -+++ texlive-base-20170520/source/texk/lcdf-typetools/lcdf-typetools-src/libefont/t1item.cc 2018-02-23 12:47:54.083971953 -0500 -@@ -2,7 +2,7 @@ - - /* t1item.{cc,hh} -- items in a Type 1 font - * -- * Copyright (c) 1998-2016 Eddie Kohler -+ * Copyright (c) 1998-2018 Eddie Kohler - * - * 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 -@@ -731,12 +731,12 @@ Type1Subr::gen(Type1Writer &w) - for (int i = 0; i < w.lenIV(); i++) { - unsigned char c = (unsigned char)(r >> 8); - *t++ = c; -- r = ((c + r) * t1C1 + t1C2) & 0xFFFF; -+ r = ((c + r) * (uint32_t) t1C1 + t1C2) & 0xFFFF; - } - for (int i = 0; i < len; i++, data++) { - unsigned char c = (*data ^ (r >> 8)); - *t++ = c; -- r = ((c + r) * t1C1 + t1C2) & 0xFFFF; -+ r = ((c + r) * (uint32_t) t1C1 + t1C2) & 0xFFFF; - } - - w.print((char *)buf, len + w.lenIV()); -diff -up texlive-base-20170520/source/texk/lcdf-typetools/lcdf-typetools-src/libefont/t1mm.cc.git4166ff9 texlive-base-20170520/source/texk/lcdf-typetools/lcdf-typetools-src/libefont/t1mm.cc ---- texlive-base-20170520/source/texk/lcdf-typetools/lcdf-typetools-src/libefont/t1mm.cc.git4166ff9 2016-11-25 13:08:52.000000000 -0500 -+++ texlive-base-20170520/source/texk/lcdf-typetools/lcdf-typetools-src/libefont/t1mm.cc 2018-02-23 12:47:54.083971953 -0500 -@@ -2,7 +2,7 @@ - - /* t1mm.{cc,hh} -- Type 1 multiple master font information - * -- * Copyright (c) 1998-2016 Eddie Kohler -+ * Copyright (c) 1998-2018 Eddie Kohler - * - * 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 -diff -up texlive-base-20170520/source/texk/lcdf-typetools/lcdf-typetools-src/libefont/t1rw.cc.git4166ff9 texlive-base-20170520/source/texk/lcdf-typetools/lcdf-typetools-src/libefont/t1rw.cc ---- texlive-base-20170520/source/texk/lcdf-typetools/lcdf-typetools-src/libefont/t1rw.cc.git4166ff9 2016-11-25 13:08:52.000000000 -0500 -+++ texlive-base-20170520/source/texk/lcdf-typetools/lcdf-typetools-src/libefont/t1rw.cc 2018-02-23 12:47:54.083971953 -0500 -@@ -2,7 +2,7 @@ - - /* t1rw.{cc,hh} -- Type 1 font reading and writing - * -- * Copyright (c) 1998-2016 Eddie Kohler -+ * Copyright (c) 1998-2018 Eddie Kohler - * - * 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 -@@ -117,7 +117,7 @@ inline int - Type1Reader::eexec(int c) - { - unsigned char answer = (unsigned char)(c ^ (_r >> 8)); -- _r = (((unsigned char)c + _r) * t1C1 + t1C2) & 0xFFFF; -+ _r = (((unsigned char)c + _r) * (uint32_t) t1C1 + t1C2) & 0xFFFF; - return answer; - } - -@@ -439,7 +439,7 @@ inline unsigned char - Type1Writer::eexec(int p) - { - unsigned char c = ((unsigned char)p ^ (_r >> 8)) & 0xFF; -- _r = ((c + _r) * t1C1 + t1C2) & 0xFFFF; -+ _r = ((c + _r) * (uint32_t) t1C1 + t1C2) & 0xFFFF; - return c; - } - -diff -up texlive-base-20170520/source/texk/lcdf-typetools/lcdf-typetools-src/libefont/t1unparser.cc.git4166ff9 texlive-base-20170520/source/texk/lcdf-typetools/lcdf-typetools-src/libefont/t1unparser.cc ---- texlive-base-20170520/source/texk/lcdf-typetools/lcdf-typetools-src/libefont/t1unparser.cc.git4166ff9 2016-11-25 13:08:52.000000000 -0500 -+++ texlive-base-20170520/source/texk/lcdf-typetools/lcdf-typetools-src/libefont/t1unparser.cc 2018-02-23 12:47:54.083971953 -0500 -@@ -2,7 +2,7 @@ - - /* t1unparser.{cc,hh} -- debug printing of Type 1 fonts - * -- * Copyright (c) 1998-2016 Eddie Kohler -+ * Copyright (c) 1998-2018 Eddie Kohler - * - * 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 -diff -up texlive-base-20170520/source/texk/lcdf-typetools/lcdf-typetools-src/libefont/ttfcs.cc.git4166ff9 texlive-base-20170520/source/texk/lcdf-typetools/lcdf-typetools-src/libefont/ttfcs.cc ---- texlive-base-20170520/source/texk/lcdf-typetools/lcdf-typetools-src/libefont/ttfcs.cc.git4166ff9 2016-11-25 13:08:52.000000000 -0500 -+++ texlive-base-20170520/source/texk/lcdf-typetools/lcdf-typetools-src/libefont/ttfcs.cc 2018-02-23 12:47:54.084971928 -0500 -@@ -2,7 +2,7 @@ - - /* ttfcs.{cc,hh} -- TrueType "charstring" emulation - * -- * Copyright (c) 2006-2016 Eddie Kohler -+ * Copyright (c) 2006-2018 Eddie Kohler - * - * 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 -diff -up texlive-base-20170520/source/texk/lcdf-typetools/lcdf-typetools-src/libefont/ttfhead.cc.git4166ff9 texlive-base-20170520/source/texk/lcdf-typetools/lcdf-typetools-src/libefont/ttfhead.cc ---- texlive-base-20170520/source/texk/lcdf-typetools/lcdf-typetools-src/libefont/ttfhead.cc.git4166ff9 2016-11-25 13:08:52.000000000 -0500 -+++ texlive-base-20170520/source/texk/lcdf-typetools/lcdf-typetools-src/libefont/ttfhead.cc 2018-02-23 12:47:54.084971928 -0500 -@@ -2,7 +2,7 @@ - - /* ttfhead.{cc,hh} -- TrueType head table - * -- * Copyright (c) 2007-2016 Eddie Kohler -+ * Copyright (c) 2007-2018 Eddie Kohler - * - * 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 -diff -up texlive-base-20170520/source/texk/lcdf-typetools/lcdf-typetools-src/libefont/ttfkern.cc.git4166ff9 texlive-base-20170520/source/texk/lcdf-typetools/lcdf-typetools-src/libefont/ttfkern.cc ---- texlive-base-20170520/source/texk/lcdf-typetools/lcdf-typetools-src/libefont/ttfkern.cc.git4166ff9 2016-11-25 13:08:52.000000000 -0500 -+++ texlive-base-20170520/source/texk/lcdf-typetools/lcdf-typetools-src/libefont/ttfkern.cc 2018-02-23 12:47:54.084971928 -0500 -@@ -2,7 +2,7 @@ - - /* ttfkern.{cc,hh} -- TrueType kern table - * -- * Copyright (c) 2009-2016 Eddie Kohler -+ * Copyright (c) 2009-2018 Eddie Kohler - * - * 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 -@@ -27,7 +27,7 @@ - namespace Efont { namespace OpenType { - - inline Data --KernTable::subtable(uint32_t &off_in_out) const throw (Error) -+KernTable::subtable(uint32_t &off_in_out) const - { - uint32_t off = off_in_out, len; - if (_version == 0) { -@@ -42,7 +42,7 @@ KernTable::subtable(uint32_t &off_in_out - return _d.substring(off, len); - } - --KernTable::KernTable(const Data &d, ErrorHandler *) throw (Error) -+KernTable::KernTable(const Data &d, ErrorHandler *) - : _d(d), _error(-1) - { - // USHORT Version -diff -up texlive-base-20170520/source/texk/lcdf-typetools/lcdf-typetools-src/liblcdf/bezier.cc.git4166ff9 texlive-base-20170520/source/texk/lcdf-typetools/lcdf-typetools-src/liblcdf/bezier.cc ---- texlive-base-20170520/source/texk/lcdf-typetools/lcdf-typetools-src/liblcdf/bezier.cc.git4166ff9 2016-11-25 13:08:53.000000000 -0500 -+++ texlive-base-20170520/source/texk/lcdf-typetools/lcdf-typetools-src/liblcdf/bezier.cc 2018-02-23 12:47:54.084971928 -0500 -@@ -2,7 +2,7 @@ - - /* bezier.{cc,hh} -- cubic Bezier curves - * -- * Copyright (c) 1998-2016 Eddie Kohler -+ * Copyright (c) 1998-2018 Eddie Kohler - * - * 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 -@@ -23,7 +23,7 @@ - // - - void --Bezier::make_bb() const throw () -+Bezier::make_bb() const noexcept - { - _bb = 0; - for (int i = 1; i < 4; i++) { -@@ -44,7 +44,7 @@ Bezier::make_bb() const throw () - // - - bool --Bezier::is_flat(double t) const throw () -+Bezier::is_flat(double t) const noexcept - { - return (_p[2].on_segment(_p[0], _p[3], t) - && _p[1].on_segment(_p[0], _p[3], t)); -@@ -66,7 +66,7 @@ eval_bezier(Point *b_in, int degree, dou - } - - Point --Bezier::eval(double u) const throw () -+Bezier::eval(double u) const noexcept - { - Bezier b = *this; - double m = 1.0 - u; -@@ -82,7 +82,7 @@ Bezier::eval(double u) const throw () - // - - void --Bezier::halve(Bezier &l, Bezier &r) const throw () -+Bezier::halve(Bezier &l, Bezier &r) const noexcept - { - Point half = Point::midpoint(_p[1], _p[2]); - l._p[0] = _p[0]; -@@ -100,7 +100,7 @@ Bezier::halve(Bezier &l, Bezier &r) cons - // - - bool --Bezier::in_bb(const Point &p, double tolerance) const throw () -+Bezier::in_bb(const Point &p, double tolerance) const noexcept - { - ensure_bb(); - if (bb_right() + tolerance < p.x -@@ -114,7 +114,7 @@ Bezier::in_bb(const Point &p, double tol - - double - Bezier::hit_recurse(const Point &p, double tolerance, double leftd, -- double rightd, double leftt, double rightt) const throw () -+ double rightd, double leftt, double rightt) const noexcept - { - Bezier left, right; - double middled, resultt; -@@ -146,7 +146,7 @@ Bezier::hit_recurse(const Point &p, doub - } - - bool --Bezier::hit(const Point &p, double tolerance) const throw () -+Bezier::hit(const Point &p, double tolerance) const noexcept - { - double leftd = (_p[0] - p).squared_length(); - double rightd = (_p[3] - p).squared_length(); -diff -up texlive-base-20170520/source/texk/lcdf-typetools/lcdf-typetools-src/liblcdf/clp.c.git4166ff9 texlive-base-20170520/source/texk/lcdf-typetools/lcdf-typetools-src/liblcdf/clp.c ---- texlive-base-20170520/source/texk/lcdf-typetools/lcdf-typetools-src/liblcdf/clp.c.git4166ff9 2016-11-25 13:08:53.000000000 -0500 -+++ texlive-base-20170520/source/texk/lcdf-typetools/lcdf-typetools-src/liblcdf/clp.c 2018-02-23 12:47:54.084971928 -0500 -@@ -2,7 +2,7 @@ - /* clp.c - Complete source code for CLP. - * This file is part of CLP, the command line parser package. - * -- * Copyright (c) 1997-2016 Eddie Kohler, ekohler@gmail.com -+ * Copyright (c) 1997-2018 Eddie Kohler, ekohler@gmail.com - * - * Permission is hereby granted, free of charge, to any person obtaining a - * copy of this software and associated documentation files (the "Software"), -diff -up texlive-base-20170520/source/texk/lcdf-typetools/lcdf-typetools-src/liblcdf/error.cc.git4166ff9 texlive-base-20170520/source/texk/lcdf-typetools/lcdf-typetools-src/liblcdf/error.cc ---- texlive-base-20170520/source/texk/lcdf-typetools/lcdf-typetools-src/liblcdf/error.cc.git4166ff9 2016-11-25 13:08:53.000000000 -0500 -+++ texlive-base-20170520/source/texk/lcdf-typetools/lcdf-typetools-src/liblcdf/error.cc 2018-02-23 12:47:54.085971903 -0500 -@@ -4,7 +4,7 @@ - * Eddie Kohler - * - * Copyright (c) 1999-2000 Massachusetts Institute of Technology -- * Copyright (c) 2001-2016 Eddie Kohler -+ * Copyright (c) 2001-2018 Eddie Kohler - * Copyright (c) 2008 Meraki, Inc. - * - * Permission is hereby granted, free of charge, to any person obtaining a -@@ -595,7 +595,7 @@ ErrorHandler::vxformat(int default_flags - - s2 = numbuf + NUMBUF_SIZE; - -- unsigned long num; -+ do_number_t num; - switch (width_flag) { - case 'H': - case -8: -@@ -651,13 +651,12 @@ ErrorHandler::vxformat(int default_flags - default: - goto error; - } -- s1 = do_number(num, (char *)s2, base, flags); -+ s1 = do_number(num, (char*) s2, base, flags); - - #if HAVE_INT64_TYPES - got_number: - #endif -- s1 = do_number_flags((char *)s1, (char *)s2, base, flags, -- precision, field_width); -+ s1 = do_number_flags((char*)s1, (char*) s2, base, flags, precision, field_width); - break; - } - -@@ -681,7 +680,7 @@ ErrorHandler::vxformat(int default_flags - } - void* v = va_arg(val, void*); - s2 = numbuf + NUMBUF_SIZE; -- s1 = do_number((unsigned long) v, (char*) s2, 16, flags); -+ s1 = do_number((do_number_t) v, (char*) s2, 16, flags); - s1 = do_number_flags((char*) s1, (char*) s2, 16, flags | cf_alternate_form, precision, field_width); - break; - } -@@ -828,7 +827,7 @@ ErrorHandler::fatal(const char *fmt, ... - { - va_list val; - va_start(val, fmt); -- int r = xmessage(String::make_stable(e_fatal, 4), fmt, val); -+ (void) xmessage(String::make_stable(e_fatal, 4), fmt, val); - va_end(val); - abort(); - } -@@ -881,7 +880,7 @@ ErrorHandler::lfatal(const String &landm - va_list val; - va_start(val, fmt); - String l = make_landmark_anno(landmark); -- int r = xmessage(String::make_stable(e_fatal, 4) + l, fmt, val); -+ (void) xmessage(String::make_stable(e_fatal, 4) + l, fmt, val); - va_end(val); - abort(); - } -@@ -1091,7 +1090,7 @@ ErrorVeneer::account(int level) - ContextErrorHandler::ContextErrorHandler(ErrorHandler *errh, const char *fmt, - ...) - : ErrorVeneer(errh), _indent(String::make_stable(" ", 2)), -- _context_printed(false), _context_landmark("{l:}") -+ _context_landmark("{l:}"), _context_printed(false) - { - va_list val; - va_start(val, fmt); -diff -up texlive-base-20170520/source/texk/lcdf-typetools/lcdf-typetools-src/liblcdf/filename.cc.git4166ff9 texlive-base-20170520/source/texk/lcdf-typetools/lcdf-typetools-src/liblcdf/filename.cc ---- texlive-base-20170520/source/texk/lcdf-typetools/lcdf-typetools-src/liblcdf/filename.cc.git4166ff9 2016-11-25 13:08:53.000000000 -0500 -+++ texlive-base-20170520/source/texk/lcdf-typetools/lcdf-typetools-src/liblcdf/filename.cc 2018-02-23 12:47:54.085971903 -0500 -@@ -2,7 +2,7 @@ - - /* filename.{cc,hh} -- filenames - * -- * Copyright (c) 1999-2016 Eddie Kohler -+ * Copyright (c) 1999-2018 Eddie Kohler - * - * 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 -@@ -126,5 +126,5 @@ Filename::open_write(bool binary) const - if (_actual || !_path) - return _actual; - else -- return fopen(_path.c_str(), "wb"); -+ return fopen(_path.c_str(), binary ? "wb" : "w"); - } -diff -up texlive-base-20170520/source/texk/lcdf-typetools/lcdf-typetools-src/liblcdf/globmatch.cc.git4166ff9 texlive-base-20170520/source/texk/lcdf-typetools/lcdf-typetools-src/liblcdf/globmatch.cc ---- texlive-base-20170520/source/texk/lcdf-typetools/lcdf-typetools-src/liblcdf/globmatch.cc.git4166ff9 2016-11-25 13:08:53.000000000 -0500 -+++ texlive-base-20170520/source/texk/lcdf-typetools/lcdf-typetools-src/liblcdf/globmatch.cc 2018-02-23 12:47:54.085971903 -0500 -@@ -2,7 +2,7 @@ - - /* globmatch.{cc,hh} -- glob_match() function for shell globbing - * -- * Copyright (c) 2000-2016 Eddie Kohler -+ * Copyright (c) 2000-2018 Eddie Kohler - * - * 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 -diff -up texlive-base-20170520/source/texk/lcdf-typetools/lcdf-typetools-src/liblcdf/landmark.cc.git4166ff9 texlive-base-20170520/source/texk/lcdf-typetools/lcdf-typetools-src/liblcdf/landmark.cc ---- texlive-base-20170520/source/texk/lcdf-typetools/lcdf-typetools-src/liblcdf/landmark.cc.git4166ff9 2016-11-25 13:08:53.000000000 -0500 -+++ texlive-base-20170520/source/texk/lcdf-typetools/lcdf-typetools-src/liblcdf/landmark.cc 2018-02-23 12:47:54.085971903 -0500 -@@ -2,7 +2,7 @@ - - /* landmark.{cc,hh} -- FILE:LINE type landmarks - * -- * Copyright (c) 1998-2016 Eddie Kohler -+ * Copyright (c) 1998-2018 Eddie Kohler - * - * 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 -diff -up texlive-base-20170520/source/texk/lcdf-typetools/lcdf-typetools-src/liblcdf/permstr.cc.git4166ff9 texlive-base-20170520/source/texk/lcdf-typetools/lcdf-typetools-src/liblcdf/permstr.cc ---- texlive-base-20170520/source/texk/lcdf-typetools/lcdf-typetools-src/liblcdf/permstr.cc.git4166ff9 2016-11-25 13:08:53.000000000 -0500 -+++ texlive-base-20170520/source/texk/lcdf-typetools/lcdf-typetools-src/liblcdf/permstr.cc 2018-02-23 12:47:54.086971878 -0500 -@@ -2,7 +2,7 @@ - - /* permstr.{cc,hh} -- permanent strings - * -- * Copyright (c) 1998-2016 Eddie Kohler -+ * Copyright (c) 1998-2018 Eddie Kohler - * - * 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 -diff -up texlive-base-20170520/source/texk/lcdf-typetools/lcdf-typetools-src/liblcdf/point.cc.git4166ff9 texlive-base-20170520/source/texk/lcdf-typetools/lcdf-typetools-src/liblcdf/point.cc ---- texlive-base-20170520/source/texk/lcdf-typetools/lcdf-typetools-src/liblcdf/point.cc.git4166ff9 2016-11-25 13:08:53.000000000 -0500 -+++ texlive-base-20170520/source/texk/lcdf-typetools/lcdf-typetools-src/liblcdf/point.cc 2018-02-23 12:47:54.087971853 -0500 -@@ -2,7 +2,7 @@ - - /* point.{cc,hh} -- 2D points - * -- * Copyright (c) 1998-2016 Eddie Kohler -+ * Copyright (c) 1998-2018 Eddie Kohler - * - * 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 -@@ -19,7 +19,7 @@ - #include - - Point --Point::rotated(double rotation) const throw () -+Point::rotated(double rotation) const noexcept - { - double r = length(); - double theta = angle() + rotation; -@@ -27,13 +27,13 @@ Point::rotated(double rotation) const th - } - - Point --Point::midpoint(const Point &a, const Point &b) throw () -+Point::midpoint(const Point &a, const Point &b) noexcept - { - return Point((a.x + b.x)/2, (a.y + b.y)/2); - } - - bool --Point::on_line(const Point &a, const Point &b, double tolerance) const throw () -+Point::on_line(const Point &a, const Point &b, double tolerance) const noexcept - { - Point c = b - a; - double d = c.x * (y - a.y) - c.y * (x - a.x); -@@ -41,7 +41,7 @@ Point::on_line(const Point &a, const Poi - } - - bool --Point::on_segment(const Point &a, const Point &b, double t) const throw () -+Point::on_segment(const Point &a, const Point &b, double t) const noexcept - { - double tt; - Point c = b - a; -diff -up texlive-base-20170520/source/texk/lcdf-typetools/lcdf-typetools-src/liblcdf/slurper.cc.git4166ff9 texlive-base-20170520/source/texk/lcdf-typetools/lcdf-typetools-src/liblcdf/slurper.cc ---- texlive-base-20170520/source/texk/lcdf-typetools/lcdf-typetools-src/liblcdf/slurper.cc.git4166ff9 2016-11-25 13:08:53.000000000 -0500 -+++ texlive-base-20170520/source/texk/lcdf-typetools/lcdf-typetools-src/liblcdf/slurper.cc 2018-02-23 12:47:54.087971853 -0500 -@@ -2,7 +2,7 @@ - - /* slurper.{cc,hh} -- reading from files a line at a time - * -- * Copyright (c) 1998-2016 Eddie Kohler -+ * Copyright (c) 1998-2018 Eddie Kohler - * - * 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 -diff -up texlive-base-20170520/source/texk/lcdf-typetools/lcdf-typetools-src/liblcdf/straccum.cc.git4166ff9 texlive-base-20170520/source/texk/lcdf-typetools/lcdf-typetools-src/liblcdf/straccum.cc ---- texlive-base-20170520/source/texk/lcdf-typetools/lcdf-typetools-src/liblcdf/straccum.cc.git4166ff9 2016-11-25 13:08:53.000000000 -0500 -+++ texlive-base-20170520/source/texk/lcdf-typetools/lcdf-typetools-src/liblcdf/straccum.cc 2018-02-23 12:47:54.087971853 -0500 -@@ -4,7 +4,7 @@ - * Eddie Kohler - * - * Copyright (c) 1999-2000 Massachusetts Institute of Technology -- * Copyright (c) 2001-2016 Eddie Kohler -+ * Copyright (c) 2001-2018 Eddie Kohler - * - * Permission is hereby granted, free of charge, to any person obtaining a - * copy of this software and associated documentation files (the "Software"), -@@ -61,7 +61,7 @@ StringAccum::assign_out_of_memory() - { - assert(_cap >= 0); - if (_cap > 0) -- delete[] (_s - MEMO_SPACE); -+ delete[] (_s - MEMO_SPACE); - _s = reinterpret_cast(const_cast(String::out_of_memory_data())); - _cap = -1; - _len = 0; -@@ -72,25 +72,25 @@ StringAccum::grow(int want) - { - // can't append to out-of-memory strings - if (_cap < 0) { -- errno = ENOMEM; -- return 0; -+ errno = ENOMEM; -+ return 0; - } - - int ncap = (_cap ? (_cap + MEMO_SPACE) * 2 : 128) - MEMO_SPACE; - while (ncap <= want) -- ncap = (ncap + MEMO_SPACE) * 2 - MEMO_SPACE; -+ ncap = (ncap + MEMO_SPACE) * 2 - MEMO_SPACE; - - unsigned char *n = new unsigned char[ncap + MEMO_SPACE]; - if (!n) { -- assign_out_of_memory(); -- errno = ENOMEM; -- return 0; -+ assign_out_of_memory(); -+ errno = ENOMEM; -+ return 0; - } - n += MEMO_SPACE; - - if (_s) { -- memcpy(n, _s, _len); -- delete[] (_s - MEMO_SPACE); -+ memcpy(n, _s, _len); -+ delete[] (_s - MEMO_SPACE); - } - _s = n; - _cap = ncap; -@@ -102,10 +102,10 @@ StringAccum::resize(int len) - { - assert(len >= 0); - if (len > _cap && !grow(len)) -- return -ENOMEM; -+ return -ENOMEM; - else { -- _len = len; -- return 0; -+ _len = len; -+ return 0; - } - } - -@@ -114,7 +114,7 @@ StringAccum::hard_extend(int nadjust, in - { - char *x = grow(_len + nadjust + nreserve); - if (x) -- _len += nadjust; -+ _len += nadjust; - return x; - } - -@@ -122,7 +122,7 @@ const char * - StringAccum::c_str() - { - if (_len < _cap || grow(_len)) -- _s[_len] = '\0'; -+ _s[_len] = '\0'; - return reinterpret_cast(_s); - } - -@@ -130,28 +130,28 @@ void - StringAccum::append_fill(int c, int len) - { - if (char *s = extend(len)) -- memset(s, c, len); -+ memset(s, c, len); - } - - void - StringAccum::append_utf8_hard(unsigned ch) - { - if (ch < 0x80) -- append((unsigned char) ch); -+ append((unsigned char) ch); - else if (ch < 0x800) { -- append((unsigned char) (0xC0 + ((ch >> 6) & 0x1F))); -- append((unsigned char) (0x80 + (ch & 0x3F))); -+ append((unsigned char) (0xC0 + ((ch >> 6) & 0x1F))); -+ append((unsigned char) (0x80 + (ch & 0x3F))); - } else if (ch < 0x10000) { -- append((unsigned char) (0xE0 + ((ch >> 12) & 0x0F))); -- append((unsigned char) (0x80 + ((ch >> 6) & 0x3F))); -- append((unsigned char) (0x80 + (ch & 0x3F))); -+ append((unsigned char) (0xE0 + ((ch >> 12) & 0x0F))); -+ append((unsigned char) (0x80 + ((ch >> 6) & 0x3F))); -+ append((unsigned char) (0x80 + (ch & 0x3F))); - } else if (ch < 0x110000) { -- append((unsigned char) (0xF0 + ((ch >> 18) & 0x07))); -- append((unsigned char) (0x80 + ((ch >> 12) & 0x3F))); -- append((unsigned char) (0x80 + ((ch >> 6) & 0x3F))); -- append((unsigned char) (0x80 + (ch & 0x3F))); -+ append((unsigned char) (0xF0 + ((ch >> 18) & 0x07))); -+ append((unsigned char) (0x80 + ((ch >> 12) & 0x3F))); -+ append((unsigned char) (0x80 + ((ch >> 6) & 0x3F))); -+ append((unsigned char) (0x80 + (ch & 0x3F))); - } else -- append((unsigned char) '?'); -+ append((unsigned char) '?'); - } - - void -@@ -161,27 +161,29 @@ StringAccum::hard_append(const char *s, - // a naive implementation might use sa's data after freeing it. - const char *my_s = reinterpret_cast(_s); - -- if (_len + len <= _cap) { -+ if (len <= 0) { -+ // do nothing -+ } else if (_len + len <= _cap) { - success: -- memcpy(_s + _len, s, len); -- _len += len; -+ memcpy(_s + _len, s, len); -+ _len += len; - } else if (s < my_s || s >= my_s + _cap) { -- if (grow(_len + len)) -- goto success; -+ if (grow(_len + len)) -+ goto success; - } else { -- unsigned char *old_s = _s; -- int old_len = _len; -+ unsigned char *old_s = _s; -+ int old_len = _len; - -- _s = 0; -- _len = 0; -- _cap = 0; -- -- if (char *new_s = extend(old_len + len)) { -- memcpy(new_s, old_s, old_len); -- memcpy(new_s + old_len, s, len); -- } -+ _s = 0; -+ _len = 0; -+ _cap = 0; -+ -+ if (char *new_s = extend(old_len + len)) { -+ memcpy(new_s, old_s, old_len); -+ memcpy(new_s + old_len, s, len); -+ } - -- delete[] (old_s - MEMO_SPACE); -+ delete[] (old_s - MEMO_SPACE); - } - } - -@@ -198,14 +200,14 @@ StringAccum::take_string() - int cap = _cap; - char *str = reinterpret_cast(_s); - if (len > 0) { -- _s = 0; -- _len = _cap = 0; -- return String::make_claim(str, len, cap); -+ _s = 0; -+ _len = _cap = 0; -+ return String::make_claim(str, len, cap); - } else if (!out_of_memory()) -- return String(); -+ return String(); - else { -- clear(); -- return String::make_out_of_memory(); -+ clear(); -+ return String::make_out_of_memory(); - } - } - -@@ -227,8 +229,8 @@ StringAccum & - operator<<(StringAccum &sa, long i) - { - if (char *x = sa.reserve(24)) { -- int len = sprintf(x, "%ld", i); -- sa.adjust_length(len); -+ int len = sprintf(x, "%ld", i); -+ sa.adjust_length(len); - } - return sa; - } -@@ -240,8 +242,8 @@ StringAccum & - operator<<(StringAccum &sa, unsigned long u) - { - if (char *x = sa.reserve(24)) { -- int len = sprintf(x, "%lu", u); -- sa.adjust_length(len); -+ int len = sprintf(x, "%lu", u); -+ sa.adjust_length(len); - } - return sa; - } -@@ -250,8 +252,8 @@ StringAccum & - operator<<(StringAccum &sa, double d) - { - if (char *x = sa.reserve(256)) { -- int len = sprintf(x, "%.12g", d); -- sa.adjust_length(len); -+ int len = sprintf(x, "%.12g", d); -+ sa.adjust_length(len); - } - return sa; - } -@@ -263,12 +265,12 @@ StringAccum::snprintf(int n, const char - va_start(val, format); - if (char *x = reserve(n + 1)) { - #if HAVE_VSNPRINTF -- int len = vsnprintf(x, n + 1, format, val); -+ int len = vsnprintf(x, n + 1, format, val); - #else -- int len = vsprintf(x, format, val); -- assert(len <= n); -+ int len = vsprintf(x, format, val); -+ assert(len <= n); - #endif -- adjust_length(len); -+ adjust_length(len); - } - va_end(val); - return *this; -@@ -278,27 +280,27 @@ void - StringAccum::append_break_lines(const String& text, int linelen, const String &leftmargin) - { - if (text.length() == 0) -- return; -+ return; - const char* line = text.begin(); - const char* ends = text.end(); - linelen -= leftmargin.length(); - for (const char* s = line; s < ends; s++) { -- const char* start = s; -- while (s < ends && isspace((unsigned char) *s)) -- s++; -- const char* word = s; -- while (s < ends && !isspace((unsigned char) *s)) -- s++; -- if (s - line > linelen && start > line) { -- *this << leftmargin; -- append(line, start - line); -- *this << '\n'; -- line = word; -- } -+ const char* start = s; -+ while (s < ends && isspace((unsigned char) *s)) -+ s++; -+ const char* word = s; -+ while (s < ends && !isspace((unsigned char) *s)) -+ s++; -+ if (s - line > linelen && start > line) { -+ *this << leftmargin; -+ append(line, start - line); -+ *this << '\n'; -+ line = word; -+ } - } - if (line < text.end()) { -- *this << leftmargin; -- append(line, text.end() - line); -- *this << '\n'; -+ *this << leftmargin; -+ append(line, text.end() - line); -+ *this << '\n'; - } - } -diff -up texlive-base-20170520/source/texk/lcdf-typetools/lcdf-typetools-src/liblcdf/string.cc.git4166ff9 texlive-base-20170520/source/texk/lcdf-typetools/lcdf-typetools-src/liblcdf/string.cc ---- texlive-base-20170520/source/texk/lcdf-typetools/lcdf-typetools-src/liblcdf/string.cc.git4166ff9 2016-11-25 13:08:53.000000000 -0500 -+++ texlive-base-20170520/source/texk/lcdf-typetools/lcdf-typetools-src/liblcdf/string.cc 2018-02-23 12:47:54.087971853 -0500 -@@ -4,7 +4,7 @@ - * Eddie Kohler - * - * Copyright (c) 1999-2000 Massachusetts Institute of Technology -- * Copyright (c) 2001-2016 Eddie Kohler -+ * Copyright (c) 2001-2018 Eddie Kohler - * Copyright (c) 2008-2009 Meraki, Inc. - * - * Permission is hereby granted, free of charge, to any person obtaining a -diff -up texlive-base-20170520/source/texk/lcdf-typetools/lcdf-typetools-src/liblcdf/transform.cc.git4166ff9 texlive-base-20170520/source/texk/lcdf-typetools/lcdf-typetools-src/liblcdf/transform.cc ---- texlive-base-20170520/source/texk/lcdf-typetools/lcdf-typetools-src/liblcdf/transform.cc.git4166ff9 2016-11-25 13:08:53.000000000 -0500 -+++ texlive-base-20170520/source/texk/lcdf-typetools/lcdf-typetools-src/liblcdf/transform.cc 2018-02-23 12:47:54.087971853 -0500 -@@ -2,7 +2,7 @@ - - /* transform.{cc,hh} -- planar affine transformations - * -- * Copyright (c) 2000-2016 Eddie Kohler -+ * Copyright (c) 2000-2018 Eddie Kohler - * - * 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 -diff -up texlive-base-20170520/source/texk/lcdf-typetools/lcdf-typetools-src/liblcdf/vectorv.cc.git4166ff9 texlive-base-20170520/source/texk/lcdf-typetools/lcdf-typetools-src/liblcdf/vectorv.cc ---- texlive-base-20170520/source/texk/lcdf-typetools/lcdf-typetools-src/liblcdf/vectorv.cc.git4166ff9 2016-11-25 13:08:53.000000000 -0500 -+++ texlive-base-20170520/source/texk/lcdf-typetools/lcdf-typetools-src/liblcdf/vectorv.cc 2018-02-23 12:47:54.087971853 -0500 -@@ -36,11 +36,11 @@ Vector & - Vector::operator=(const Vector &o) - { - if (&o != this) { -- _n = 0; -- if (reserve(o._n)) { -- _n = o._n; -- memcpy(_l, o._l, sizeof(void *) * _n); -- } -+ _n = 0; -+ if (reserve(o._n)) { -+ _n = o._n; -+ memcpy(_l, o._l, sizeof(void *) * _n); -+ } - } - return *this; - } -@@ -57,15 +57,17 @@ bool - Vector::reserve(int want) - { - if (want < 0) -- want = (_capacity > 0 ? _capacity * 2 : 4); -+ want = (_capacity > 0 ? _capacity * 2 : 4); - if (want <= _capacity) -- return true; -+ return true; - - void **new_l = new void*[want]; - if (!new_l) -- return false; -+ return false; - -- memcpy(new_l, _l, sizeof(void*) * _n); -+ if (_n) { -+ memcpy(new_l, _l, sizeof(void*) * _n); -+ } - delete[] _l; - - _l = new_l; -@@ -77,21 +79,21 @@ Vector::iterator - Vector::erase(iterator a, iterator b) - { - if (b > a) { -- assert(a >= begin() && b <= end()); -- memmove(a, b, (end() - b) * sizeof(void*)); -- _n -= b - a; -- return a; -+ assert(a >= begin() && b <= end()); -+ memmove(a, b, (end() - b) * sizeof(void*)); -+ _n -= b - a; -+ return a; - } else -- return b; -+ return b; - } - - void - Vector::resize(int nn, void *e) - { - if (nn <= _capacity || reserve(nn)) { -- for (int i = _n; i < nn; i++) -- _l[i] = e; -- _n = nn; -+ for (int i = _n; i < nn; i++) -+ _l[i] = e; -+ _n = nn; - } - } - -diff -up texlive-base-20170520/source/texk/lcdf-typetools/lcdf-typetools-src/mmafm/main.cc.git4166ff9 texlive-base-20170520/source/texk/lcdf-typetools/lcdf-typetools-src/mmafm/main.cc ---- texlive-base-20170520/source/texk/lcdf-typetools/lcdf-typetools-src/mmafm/main.cc.git4166ff9 2016-11-25 13:08:53.000000000 -0500 -+++ texlive-base-20170520/source/texk/lcdf-typetools/lcdf-typetools-src/mmafm/main.cc 2018-02-23 12:47:54.088971828 -0500 -@@ -1,6 +1,6 @@ - /* main.cc -- driver for mmafm program - * -- * Copyright (c) 1997-2016 Eddie Kohler -+ * Copyright (c) 1997-2018 Eddie Kohler - * - * 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 -@@ -322,7 +322,7 @@ main(int argc, char *argv[]) - - case VERSION_OPT: - printf("mmafm (LCDF typetools) %s\n", VERSION); -- printf("Copyright (C) 1997-2016 Eddie Kohler\n\ -+ printf("Copyright (C) 1997-2018 Eddie Kohler\n\ - This is free software; see the source for copying conditions.\n\ - There is NO warranty, not even for merchantability or fitness for a\n\ - particular purpose.\n"); -diff -up texlive-base-20170520/source/texk/lcdf-typetools/lcdf-typetools-src/mmafm/mmafm.1.git4166ff9 texlive-base-20170520/source/texk/lcdf-typetools/lcdf-typetools-src/mmafm/mmafm.1 ---- texlive-base-20170520/source/texk/lcdf-typetools/lcdf-typetools-src/mmafm/mmafm.1.git4166ff9 2016-11-25 13:08:53.000000000 -0500 -+++ texlive-base-20170520/source/texk/lcdf-typetools/lcdf-typetools-src/mmafm/mmafm.1 2018-02-23 12:47:54.088971828 -0500 -@@ -1,5 +1,5 @@ - .\" -*-nroff-*- --.ds V 2.106 -+.ds V 2.107 - .de M - .BR "\\$1" "(\\$2)\\$3" - .. -diff -up texlive-base-20170520/source/texk/lcdf-typetools/lcdf-typetools-src/mmpfb/main.cc.git4166ff9 texlive-base-20170520/source/texk/lcdf-typetools/lcdf-typetools-src/mmpfb/main.cc ---- texlive-base-20170520/source/texk/lcdf-typetools/lcdf-typetools-src/mmpfb/main.cc.git4166ff9 2016-11-25 13:08:53.000000000 -0500 -+++ texlive-base-20170520/source/texk/lcdf-typetools/lcdf-typetools-src/mmpfb/main.cc 2018-02-23 12:47:54.088971828 -0500 -@@ -1,6 +1,6 @@ - /* main.cc -- driver for mmpfb program - * -- * Copyright (c) 1997-2016 Eddie Kohler -+ * Copyright (c) 1997-2018 Eddie Kohler - * - * 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 -@@ -355,7 +355,7 @@ main(int argc, char *argv[]) - - case VERSION_OPT: - printf("mmpfb (LCDF typetools) %s\n", VERSION); -- printf("Copyright (C) 1997-2016 Eddie Kohler\n\ -+ printf("Copyright (C) 1997-2018 Eddie Kohler\n\ - This is free software; see the source for copying conditions.\n\ - There is NO warranty, not even for merchantability or fitness for a\n\ - particular purpose.\n"); -diff -up texlive-base-20170520/source/texk/lcdf-typetools/lcdf-typetools-src/mmpfb/mmpfb.1.git4166ff9 texlive-base-20170520/source/texk/lcdf-typetools/lcdf-typetools-src/mmpfb/mmpfb.1 ---- texlive-base-20170520/source/texk/lcdf-typetools/lcdf-typetools-src/mmpfb/mmpfb.1.git4166ff9 2016-11-25 13:08:53.000000000 -0500 -+++ texlive-base-20170520/source/texk/lcdf-typetools/lcdf-typetools-src/mmpfb/mmpfb.1 2018-02-23 12:47:54.088971828 -0500 -@@ -1,5 +1,5 @@ - .\" -*-nroff-*- --.ds V 2.106 -+.ds V 2.107 - .de M - .BR "\\$1" "(\\$2)\\$3" - .. -diff -up texlive-base-20170520/source/texk/lcdf-typetools/lcdf-typetools-src/mmpfb/myfont.cc.git4166ff9 texlive-base-20170520/source/texk/lcdf-typetools/lcdf-typetools-src/mmpfb/myfont.cc ---- texlive-base-20170520/source/texk/lcdf-typetools/lcdf-typetools-src/mmpfb/myfont.cc.git4166ff9 2016-11-25 13:08:53.000000000 -0500 -+++ texlive-base-20170520/source/texk/lcdf-typetools/lcdf-typetools-src/mmpfb/myfont.cc 2018-02-23 12:47:54.088971828 -0500 -@@ -1,6 +1,6 @@ - /* myfont.cc -- general multiple- to single-master conversion - * -- * Copyright (c) 1997-2016 Eddie Kohler -+ * Copyright (c) 1997-2018 Eddie Kohler - * - * 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 -diff -up texlive-base-20170520/source/texk/lcdf-typetools/lcdf-typetools-src/mmpfb/t1minimize.cc.git4166ff9 texlive-base-20170520/source/texk/lcdf-typetools/lcdf-typetools-src/mmpfb/t1minimize.cc ---- texlive-base-20170520/source/texk/lcdf-typetools/lcdf-typetools-src/mmpfb/t1minimize.cc.git4166ff9 2016-11-25 13:08:53.000000000 -0500 -+++ texlive-base-20170520/source/texk/lcdf-typetools/lcdf-typetools-src/mmpfb/t1minimize.cc 2018-02-23 12:47:54.088971828 -0500 -@@ -1,6 +1,6 @@ - /* t1minimize.cc -- make minimal copy of a Type 1 font - * -- * Copyright (c) 2003-2016 Eddie Kohler -+ * Copyright (c) 2003-2018 Eddie Kohler - * - * 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 -diff -up texlive-base-20170520/source/texk/lcdf-typetools/lcdf-typetools-src/mmpfb/t1rewrit.cc.git4166ff9 texlive-base-20170520/source/texk/lcdf-typetools/lcdf-typetools-src/mmpfb/t1rewrit.cc ---- texlive-base-20170520/source/texk/lcdf-typetools/lcdf-typetools-src/mmpfb/t1rewrit.cc.git4166ff9 2016-11-25 13:08:53.000000000 -0500 -+++ texlive-base-20170520/source/texk/lcdf-typetools/lcdf-typetools-src/mmpfb/t1rewrit.cc 2018-02-23 12:47:54.088971828 -0500 -@@ -1,6 +1,6 @@ - /* t1rewrit.cc -- routines for multiple- to single-master charstring conversion - * -- * Copyright (c) 1997-2016 Eddie Kohler -+ * Copyright (c) 1997-2018 Eddie Kohler - * - * 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 -diff -up texlive-base-20170520/source/texk/lcdf-typetools/lcdf-typetools-src/NEWS.md.git4166ff9 texlive-base-20170520/source/texk/lcdf-typetools/lcdf-typetools-src/NEWS.md ---- texlive-base-20170520/source/texk/lcdf-typetools/lcdf-typetools-src/NEWS.md.git4166ff9 2016-11-25 13:08:53.000000000 -0500 -+++ texlive-base-20170520/source/texk/lcdf-typetools/lcdf-typetools-src/NEWS.md 2018-02-23 12:47:54.089971803 -0500 -@@ -1,6 +1,15 @@ - LCDF Typetools NEWS - =================== - -+## Version 2.107 – 22.Feb.2018 -+ -+* Some corrections to output of `--math-spacing`. -+ -+* Reduce undefined behavior. -+ -+* Handle some incorrect fonts more gracefully. -+ -+ - ## Version 2.106 – 21.Jun.2016 - - * Minor updates, mostly involving licensing of Adobe code and data. -diff -up texlive-base-20170520/source/texk/lcdf-typetools/lcdf-typetools-src/otfinfo/otfinfo.1.git4166ff9 texlive-base-20170520/source/texk/lcdf-typetools/lcdf-typetools-src/otfinfo/otfinfo.1 ---- texlive-base-20170520/source/texk/lcdf-typetools/lcdf-typetools-src/otfinfo/otfinfo.1.git4166ff9 2016-11-25 13:08:53.000000000 -0500 -+++ texlive-base-20170520/source/texk/lcdf-typetools/lcdf-typetools-src/otfinfo/otfinfo.1 2018-02-23 12:47:54.089971803 -0500 -@@ -1,5 +1,5 @@ - '\"t --.ds V 2.106 -+.ds V 2.107 - .de M - .BR "\\$1" "(\\$2)\\$3" - .. -diff -up texlive-base-20170520/source/texk/lcdf-typetools/lcdf-typetools-src/otfinfo/otfinfo.cc.git4166ff9 texlive-base-20170520/source/texk/lcdf-typetools/lcdf-typetools-src/otfinfo/otfinfo.cc ---- texlive-base-20170520/source/texk/lcdf-typetools/lcdf-typetools-src/otfinfo/otfinfo.cc.git4166ff9 2016-11-25 13:08:53.000000000 -0500 -+++ texlive-base-20170520/source/texk/lcdf-typetools/lcdf-typetools-src/otfinfo/otfinfo.cc 2018-02-23 12:47:54.089971803 -0500 -@@ -1,6 +1,6 @@ - /* otfinfo.cc -- driver for reporting information about OpenType fonts - * -- * Copyright (c) 2003-2016 Eddie Kohler -+ * Copyright (c) 2003-2018 Eddie Kohler - * - * 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 -@@ -528,7 +528,7 @@ do_query_unicode(const OpenType::Font& o - sprintf(name, "uni%04X", it->first); - else - sprintf(name, "u%X", it->first); -- if ((size_t) it->second < glyph_names.size()) -+ if (it->second < glyph_names.size()) - result_errh->message("%s %d %s\n", name, it->second, glyph_names[it->second].c_str()); - else - result_errh->message("%s %d\n", name, it->second); -@@ -645,7 +645,7 @@ main(int argc, char *argv[]) - - case VERSION_OPT: - printf("otfinfo (LCDF typetools) %s\n", VERSION); -- printf("Copyright (C) 2003-2016 Eddie Kohler\n\ -+ printf("Copyright (C) 2003-2018 Eddie Kohler\n\ - This is free software; see the source for copying conditions.\n\ - There is NO warranty, not even for merchantability or fitness for a\n\ - particular purpose.\n"); -@@ -721,5 +721,6 @@ particular purpose.\n"); - do_info(otf, &cerrh, result_errh); - } - -+ Clp_DeleteParser(clp); - return (errh->nerrors() == 0 ? 0 : 1); - } -diff -up texlive-base-20170520/source/texk/lcdf-typetools/lcdf-typetools-src/otftotfm/automatic.cc.git4166ff9 texlive-base-20170520/source/texk/lcdf-typetools/lcdf-typetools-src/otftotfm/automatic.cc ---- texlive-base-20170520/source/texk/lcdf-typetools/lcdf-typetools-src/otftotfm/automatic.cc.git4166ff9 2016-11-25 13:08:53.000000000 -0500 -+++ texlive-base-20170520/source/texk/lcdf-typetools/lcdf-typetools-src/otftotfm/automatic.cc 2018-02-23 12:47:54.089971803 -0500 -@@ -1,6 +1,6 @@ - /* automatic.{cc,hh} -- code for automatic mode and interfacing with kpathsea - * -- * Copyright (c) 2003-2016 Eddie Kohler -+ * Copyright (c) 2003-2018 Eddie Kohler - * - * 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 -@@ -39,10 +39,6 @@ - #include - - #ifdef WIN32 --#ifdef _MSC_VER --# include --# include --#endif - # define mkdir(dir, access) mkdir(dir) - # define COPY_CMD "copy" - # define CMD_SEP "&" -@@ -93,7 +89,7 @@ static const struct { - static String odir_kpathsea[NUMODIR]; - - static bool writable_texdir_tried = false; --static String writable_texdir; // always ends with directory separator -+static String writable_texdir; // always ends with directory separator - static int tds_1_1 = -1; - - static bool mktexupd_tried = false; -@@ -112,41 +108,30 @@ look_for_writable_texdir(const char *pat - { - String path = kpsei_string(kpsei_path_expand(path_variable)); - while (path && !writable_texdir) { -- const char* colon = std::find(path.begin(), path.end(), kpsei_env_sep_char); -- String texdir = path.substring(path.begin(), colon); -- path = path.substring(colon + 1, path.end()); -- if (access(texdir.c_str(), W_OK) >= 0) -- writable_texdir = texdir; -- else if (create && errno != EACCES && mkdir(texdir.c_str(), 0777) >= 0) -- // create file if it doesn't exist already -- writable_texdir = texdir; -+ const char* colon = std::find(path.begin(), path.end(), kpsei_env_sep_char); -+ String texdir = path.substring(path.begin(), colon); -+ path = path.substring(colon + 1, path.end()); -+ if (access(texdir.c_str(), W_OK) >= 0) -+ writable_texdir = texdir; -+ else if (create && errno != EACCES && mkdir(texdir.c_str(), 0777) >= 0) -+ // create file if it doesn't exist already -+ writable_texdir = texdir; - } - if (writable_texdir && writable_texdir.back() != '/') -- writable_texdir += "/"; -+ writable_texdir += "/"; - } - - static void - find_writable_texdir(ErrorHandler *errh, const char *) - { --#if defined(W32TEX) --// W32TeX does not have TEXMFVAR -- char *p = kpsei_var_value("TEXMFVAR"); -- if (p == NULL) // W32TeX -- look_for_writable_texdir("$TEXMFLOCAL", true); -- else { // TeXLive -- free (p); -- look_for_writable_texdir("$TEXMFVAR", true); -- } --#else - look_for_writable_texdir("$TEXMFVAR", true); --#endif - if (!writable_texdir) -- look_for_writable_texdir("$VARTEXMF", false); -+ look_for_writable_texdir("$VARTEXMF", false); - if (!writable_texdir) -- look_for_writable_texdir("$TEXMF", false); -+ look_for_writable_texdir("$TEXMF", false); - if (!writable_texdir) { -- errh->warning("no writable directory found in $TEXMFVAR or $TEXMF"); -- errh->message("(You probably need to set your TEXMF environment variable; see\n\ -+ errh->warning("no writable directory found in $TEXMFVAR or $TEXMF"); -+ errh->message("(You probably need to set your TEXMF environment variable; see\n\ - the manual for more information. The current TEXMF path is\n\ - %<%s%>.)", kpsei_string(kpsei_path_expand("$TEXMF")).c_str()); - } -@@ -179,7 +164,7 @@ set_typeface(const String &s, bool overr - { - bool had = (bool) typeface; - if (!had || override) -- typeface = s; -+ typeface = s; - return !had; - } - -@@ -189,91 +174,93 @@ getodir(int o, ErrorHandler *errh) - assert(o >= 0 && o < NUMODIR); - - if (!odir[o] && automatic && odir_info[o].envvar) -- odir[o] = getenv(odir_info[o].envvar); -+ odir[o] = getenv(odir_info[o].envvar); - - #if HAVE_KPATHSEA - if (!odir[o] && automatic && !writable_texdir_tried) -- find_writable_texdir(errh, odir_info[o].name); -+ find_writable_texdir(errh, odir_info[o].name); - - if (!odir[o] && automatic && writable_texdir) { -- String suffix = odir_info[o].texdir; -+ String suffix = odir_info[o].texdir; -+ -+ // May need to behave differently on TDS 1.1 rather than TDS 1.0. -+ if (suffix[0] == '#') { -+ // check type of TDS -+ if (tds_1_1 < 0) { -+ // using a procedure suggested by Olaf Weber -+ String encfonts = kpsei_string(kpsei_path_expand("$TEXMFMAIN/fonts/enc")); -+ if (!encfonts) -+ encfonts = kpsei_string(kpsei_path_expand("$TEXMFDIST/fonts/enc")); -+ tds_1_1 = (encfonts != String()); -+ } -+ if (tds_1_1 == 0) -+ suffix = suffix.substring(std::find(suffix.begin() + 1, suffix.end(), '#') + 1, suffix.end()); -+ else -+ suffix = suffix.substring(suffix.begin() + 1, std::find(suffix.begin() + 1, suffix.end(), '#')); -+ } -+ -+ String dir = writable_texdir + suffix; -+ -+ if (dir.back() == '%') -+ dir = dir.substring(0, -1) + get_vendor() + "/" + get_typeface(); -+ else if (dir.back() == '@') -+ dir = dir.substring(0, -1) + get_vendor(); -+ -+ // create parent directories as appropriate -+ int slash = writable_texdir.length() - 1; -+ while (access(dir.c_str(), F_OK) < 0 && slash < dir.length()) { -+ if ((slash = dir.find_left('/', slash + 1)) < 0) -+ slash = dir.length(); -+ String subdir = dir.substring(0, slash); -+ if (access(subdir.c_str(), F_OK) < 0 -+ && !no_create -+ && mkdir(subdir.c_str(), 0777) < 0) -+ goto kpathsea_done; -+ } - -- // May need to behave differently on TDS 1.1 rather than TDS 1.0. -- if (suffix[0] == '#') { -- // check type of TDS -- if (tds_1_1 < 0) { -- // using a procedure suggested by Olaf Weber -- String encfonts = kpsei_string(kpsei_path_expand("$TEXMFMAIN/fonts/enc")); -- if (!encfonts) -- encfonts = kpsei_string(kpsei_path_expand("$TEXMFDIST/fonts/enc")); -- tds_1_1 = (encfonts != String()); -- } -- if (tds_1_1 == 0) -- suffix = suffix.substring(std::find(suffix.begin() + 1, suffix.end(), '#') + 1, suffix.end()); -- else -- suffix = suffix.substring(suffix.begin() + 1, std::find(suffix.begin() + 1, suffix.end(), '#')); -- } -- -- String dir = writable_texdir + suffix; -- -- if (dir.back() == '%') -- dir = dir.substring(0, -1) + get_vendor() + "/" + get_typeface(); -- else if (dir.back() == '@') -- dir = dir.substring(0, -1) + get_vendor(); -- -- // create parent directories as appropriate -- int slash = writable_texdir.length() - 1; -- while (access(dir.c_str(), F_OK) < 0 && slash < dir.length()) { -- if ((slash = dir.find_left('/', slash + 1)) < 0) -- slash = dir.length(); -- String subdir = dir.substring(0, slash); -- if (access(subdir.c_str(), F_OK) < 0 -- && !no_create -- && mkdir(subdir.c_str(), 0777) < 0) -- goto kpathsea_done; -- } -- -- // that's our answer -- odir[o] = dir; -- odir_kpathsea[o] = dir; -+ // that's our answer -+ odir[o] = dir; -+ odir_kpathsea[o] = dir; - } - kpathsea_done: - #endif - - if (!odir[o]) { -- if (automatic) { -- errh->warning("%s not specified, placing %s files in %<.%>", odir_info[o].envvar, odir_info[o].name); -+ if (automatic) { -+ errh->warning("%s not specified, placing %s files in %<.%>", odir_info[o].envvar, odir_info[o].name); - #if !HAVE_KPATHSEA -- static int kpathsea_warning = 0; -- if (++kpathsea_warning == 1) -- errh->message("(This version of otftotfm lacks $TEXMF directory support.)"); -+ static int kpathsea_warning = 0; -+ if (++kpathsea_warning == 1) -+ errh->message("(This version of otftotfm lacks $TEXMF directory support.)"); - #endif -- } -- odir[o] = "."; -+ } -+ odir[o] = "."; - } - - while (odir[o].length() && odir[o].back() == '/') -- odir[o] = odir[o].substring(0, -1); -+ odir[o] = odir[o].substring(0, -1); - - if (verbose) -- errh->message("placing %s files in %<%s%>", odir_info[o].name, odir[o].c_str()); -+ errh->message("placing %s files in %<%s%>", odir_info[o].name, odir[o].c_str()); - return odir[o]; - } - --bool -+void - setodir(int o, const String &value) - { - assert(o >= 0 && o < NUMODIR); -- bool had = (bool) odir[o]; - odir[o] = value; -- return !had; - } - - const char * - odirname(int o) - { -- assert(o >= 0 && o < NUMODIR); -- return odir_info[o].name; -+ if (o == NUMODIR) { -+ return "default"; -+ } else { -+ assert(o >= 0 && o < NUMODIR); -+ return odir_info[o].name; -+ } - } - - #if HAVE_KPATHSEA -@@ -281,9 +268,9 @@ static bool - file_in_kpathsea_odir(int o, const String &file) - { - return odir_kpathsea[o] -- && file.length() > odir[o].length() -- && memcmp(file.data(), odir[o].data(), odir[o].length()) == 0 -- && file[odir[o].length()] == '/'; -+ && file.length() > odir[o].length() -+ && memcmp(file.data(), odir[o].data(), odir[o].length()) == 0 -+ && file[odir[o].length()] == '/'; - } - #endif - -@@ -293,68 +280,64 @@ update_odir(int o, String file, ErrorHan - assert(o >= 0 && o < NUMODIR); - #if HAVE_KPATHSEA - if (file.find_left('/') < 0) -- file = odir[o] + "/" + file; -+ file = odir[o] + "/" + file; - - // exit if this directory was not found via kpathsea, or the file is not - // in the kpathsea directory - if (!file_in_kpathsea_odir(o, file)) -- return; -+ return; - - assert(writable_texdir && writable_texdir.length() <= odir[o].length() -- && memcmp(file.data(), writable_texdir.data(), writable_texdir.length()) == 0); -+ && memcmp(file.data(), writable_texdir.data(), writable_texdir.length()) == 0); - - // divide the filename into portions - // file == writable_texdir + directory + file - file = file.substring(writable_texdir.length()); - while (file && file[0] == '/') -- file = file.substring(1); -+ file = file.substring(1); - int last_slash = file.find_right('/'); - String directory = (last_slash >= 0 ? file.substring(0, last_slash) : String()); - file = file.substring(last_slash >= 0 ? last_slash + 1 : 0); -- if (!file) // no filename to update -- return; -+ if (!file) // no filename to update -+ return; - - // return if nocreate - if (no_create) { -- errh->message("would update %sls-R for %s/%s", writable_texdir.c_str(), directory.c_str(), file.c_str()); -- return; -+ errh->message("would update %sls-R for %s/%s", writable_texdir.c_str(), directory.c_str(), file.c_str()); -+ return; - } else if (verbose) -- errh->message("updating %sls-R for %s/%s", writable_texdir.c_str(), directory.c_str(), file.c_str()); -+ errh->message("updating %sls-R for %s/%s", writable_texdir.c_str(), directory.c_str(), file.c_str()); - - // try to update ls-R ourselves, rather than running mktexupd -- - // mktexupd's runtime is painful: a half second to update a file - String ls_r = writable_texdir + "ls-R"; - bool success = false; - if (access(ls_r.c_str(), R_OK) >= 0) // make sure it already exists -- if (FILE *f = fopen(ls_r.c_str(), "ab")) { -- fprintf(f, "./%s:\n%s\n", directory.c_str(), file.c_str()); -- success = true; -- fclose(f); -- } -+ if (FILE *f = fopen(ls_r.c_str(), "a")) { -+ fprintf(f, "./%s:\n%s\n", directory.c_str(), file.c_str()); -+ success = true; -+ fclose(f); -+ } - - // otherwise, run mktexupd - if (!success && writable_texdir.find_left('\'') < 0 && directory.find_left('\'') < 0 && file.find_left('\'') < 0) { -- // look for mktexupd script -- if (!mktexupd_tried) { --#ifdef _WIN32 -- mktexupd = "mktexupd"; --#else -- mktexupd = kpsei_string(kpsei_find_file("mktexupd", KPSEI_FMT_WEB2C)); --#endif -- mktexupd_tried = true; -- } -+ // look for mktexupd script -+ if (!mktexupd_tried) { -+ mktexupd = kpsei_string(kpsei_find_file("mktexupd", KPSEI_FMT_WEB2C)); -+ mktexupd_tried = true; -+ } - -- // run script -- if (mktexupd) { -- String command = mktexupd + " " + shell_quote(writable_texdir + directory) + " " + shell_quote(file); -- int retval = system(command.c_str()); -- if (retval == 127) -- errh->error("could not run %<%s%>", command.c_str()); -- else if (retval < 0) -- errh->error("could not run %<%s%>: %s", command.c_str(), strerror(errno)); -- else if (retval != 0) -- errh->error("%<%s%> failed", command.c_str()); -- } -+ // run script -+ if (mktexupd) { -+ String command = mktexupd + " " + shell_quote(writable_texdir + directory) + " " + shell_quote(file); -+ int retval = system(command.c_str()); -+ if (retval == 127) -+ errh->error("could not run %<%s%>", command.c_str()); -+ else if (retval < 0) -+ errh->error("could not run %<%s%>: %s", command.c_str(), strerror(errno)); -+ else if (retval != 0) -+ errh->error("%<%s%> failed", command.c_str()); -+ } - } - #else - (void) file, (void) errh; -@@ -375,25 +358,25 @@ installed_type1(const String &otf_filena - (void) otf_filename, (void) allow_generate, (void) errh; - - if (!ps_fontname) -- return String(); -+ return String(); - - #if HAVE_KPATHSEA - # if HAVE_AUTO_CFFTOT1 - if (!(force && allow_generate && otf_filename && otf_filename != "-" && getodir(O_TYPE1, errh))) { - # endif -- // look for .pfb and .pfa -- String file, path; -- if ((file = ps_fontname + ".pfb", path = kpsei_string(kpsei_find_file(file.c_str(), KPSEI_FMT_TYPE1))) -- || (file = ps_fontname + ".pfa", path = kpsei_string(kpsei_find_file(file.c_str(), KPSEI_FMT_TYPE1)))) { -- if (path == "./" + file || path == file) { -- if (verbose) -- errh->message("ignoring Type 1 file %s found with kpathsea in %<.%>", path.c_str()); -- } else { -- if (verbose) -- errh->message("Type 1 file %s found with kpathsea at %s", file.c_str(), path.c_str()); -- return path; -- } -- } -+ // look for .pfb and .pfa -+ String file, path; -+ if ((file = ps_fontname + ".pfb", path = kpsei_string(kpsei_find_file(file.c_str(), KPSEI_FMT_TYPE1))) -+ || (file = ps_fontname + ".pfa", path = kpsei_string(kpsei_find_file(file.c_str(), KPSEI_FMT_TYPE1)))) { -+ if (path == "./" + file || path == file) { -+ if (verbose) -+ errh->message("ignoring Type 1 file %s found with kpathsea in %<.%>", path.c_str()); -+ } else { -+ if (verbose) -+ errh->message("Type 1 file %s found with kpathsea at %s", file.c_str(), path.c_str()); -+ return path; -+ } -+ } - # if HAVE_AUTO_CFFTOT1 - } - # endif -@@ -402,21 +385,21 @@ installed_type1(const String &otf_filena - #if HAVE_AUTO_CFFTOT1 - // if not found, and can generate on the fly, run cfftot1 - if (allow_generate && otf_filename && otf_filename != "-" && getodir(O_TYPE1, errh)) { -- String pfb_filename = odir[O_TYPE1] + "/" + ps_fontname + ".pfb"; -- if (pfb_filename.find_left('\'') >= 0 || otf_filename.find_left('\'') >= 0) -- return String(); -- String command = "cfftot1 " + shell_quote(otf_filename) + " -n " + shell_quote(ps_fontname) + " " + shell_quote(pfb_filename); -- int retval = mysystem(command.c_str(), errh); -- if (retval == 127) -- errh->error("could not run %<%s%>", command.c_str()); -- else if (retval < 0) -- errh->error("could not run %<%s%>: %s", command.c_str(), strerror(errno)); -- else if (retval != 0) -- errh->error("%<%s%> failed", command.c_str()); -- if (retval == 0) { -- update_odir(O_TYPE1, pfb_filename, errh); -- return pfb_filename; -- } -+ String pfb_filename = odir[O_TYPE1] + "/" + ps_fontname + ".pfb"; -+ if (pfb_filename.find_left('\'') >= 0 || otf_filename.find_left('\'') >= 0) -+ return String(); -+ String command = "cfftot1 " + shell_quote(otf_filename) + " -n " + shell_quote(ps_fontname) + " " + shell_quote(pfb_filename); -+ int retval = mysystem(command.c_str(), errh); -+ if (retval == 127) -+ errh->error("could not run %<%s%>", command.c_str()); -+ else if (retval < 0) -+ errh->error("could not run %<%s%>: %s", command.c_str(), strerror(errno)); -+ else if (retval != 0) -+ errh->error("%<%s%> failed", command.c_str()); -+ if (retval == 0) { -+ update_odir(O_TYPE1, pfb_filename, errh); -+ return pfb_filename; -+ } - } - #endif - -@@ -429,9 +412,9 @@ installed_type1_dotlessj(const String &o - (void) otf_filename, (void) allow_generate, (void) errh; - - if (!ps_fontname) -- return String(); -+ return String(); - if (verbose) -- errh->message("searching for dotless-j font for %s", ps_fontname.c_str()); -+ errh->message("searching for dotless-j font for %s", ps_fontname.c_str()); - - String j_ps_fontname = ps_fontname + "LCDFJ"; - -@@ -439,20 +422,20 @@ installed_type1_dotlessj(const String &o - # if HAVE_AUTO_T1DOTLESSJ - if (!(force && allow_generate && getodir(O_TYPE1, errh))) { - # endif -- // look for existing .pfb or .pfa -- String file, path; -- if ((file = j_ps_fontname + ".pfb", path = kpsei_string(kpsei_find_file(file.c_str(), KPSEI_FMT_TYPE1))) -- || (file = j_ps_fontname + ".pfa", path = kpsei_string(kpsei_find_file(file.c_str(), KPSEI_FMT_TYPE1)))) { -- // ignore versions in the current directory -- if (path == "./" + file || path == file) { -- if (verbose) -- errh->message("ignoring Type 1 file %s found with kpathsea in %<.%>", path.c_str()); -- } else { -- if (verbose) -- errh->message("Type 1 file %s found with kpathsea at %s", file.c_str(), path.c_str()); -- return path; -- } -- } -+ // look for existing .pfb or .pfa -+ String file, path; -+ if ((file = j_ps_fontname + ".pfb", path = kpsei_string(kpsei_find_file(file.c_str(), KPSEI_FMT_TYPE1))) -+ || (file = j_ps_fontname + ".pfa", path = kpsei_string(kpsei_find_file(file.c_str(), KPSEI_FMT_TYPE1)))) { -+ // ignore versions in the current directory -+ if (path == "./" + file || path == file) { -+ if (verbose) -+ errh->message("ignoring Type 1 file %s found with kpathsea in %<.%>", path.c_str()); -+ } else { -+ if (verbose) -+ errh->message("Type 1 file %s found with kpathsea at %s", file.c_str(), path.c_str()); -+ return path; -+ } -+ } - # if HAVE_AUTO_T1DOTLESSJ - } - # endif -@@ -461,26 +444,26 @@ installed_type1_dotlessj(const String &o - #if HAVE_AUTO_T1DOTLESSJ - // if not found, and can generate on the fly, try running t1dotlessj - if (allow_generate && getodir(O_TYPE1, errh)) { -- if (String base_filename = installed_type1(otf_filename, ps_fontname, allow_generate, errh)) { -- String pfb_filename = odir[O_TYPE1] + "/" + j_ps_fontname + ".pfb"; -- if (pfb_filename.find_left('\'') >= 0 || base_filename.find_left('\'') >= 0) -- return String(); -- String command = "t1dotlessj " + shell_quote(base_filename) + " -n " + shell_quote(j_ps_fontname) + " " + shell_quote(pfb_filename); -- int retval = mysystem(command.c_str(), errh); -- if (retval == 127) -- errh->warning("could not run %<%s%>", command.c_str()); -- else if (retval < 0) -- errh->warning("could not run %<%s%>: %s", command.c_str(), strerror(errno)); -- else if (WEXITSTATUS(retval) == T1DOTLESSJ_EXIT_J_NODOT) -- return String("\0", 1); -- else if (retval != 0) -- errh->warning("%<%s%> failed (%d)", command.c_str(), retval); -- if (retval == 0) { -- update_odir(O_TYPE1, pfb_filename, errh); -- return pfb_filename; -- } else -- errh->warning("output font will not contain a dotless-j character"); -- } -+ if (String base_filename = installed_type1(otf_filename, ps_fontname, allow_generate, errh)) { -+ String pfb_filename = odir[O_TYPE1] + "/" + j_ps_fontname + ".pfb"; -+ if (pfb_filename.find_left('\'') >= 0 || base_filename.find_left('\'') >= 0) -+ return String(); -+ String command = "t1dotlessj " + shell_quote(base_filename) + " -n " + shell_quote(j_ps_fontname) + " " + shell_quote(pfb_filename); -+ int retval = mysystem(command.c_str(), errh); -+ if (retval == 127) -+ errh->warning("could not run %<%s%>", command.c_str()); -+ else if (retval < 0) -+ errh->warning("could not run %<%s%>: %s", command.c_str(), strerror(errno)); -+ else if (WEXITSTATUS(retval) == T1DOTLESSJ_EXIT_J_NODOT) -+ return String("\0", 1); -+ else if (retval != 0) -+ errh->warning("%<%s%> failed (%d)", command.c_str(), retval); -+ if (retval == 0) { -+ update_odir(O_TYPE1, pfb_filename, errh); -+ return pfb_filename; -+ } else -+ errh->warning("output font will not contain a dotless-j character"); -+ } - } - #endif - -@@ -494,45 +477,45 @@ installed_truetype(const String &ttf_fil - - #if HAVE_KPATHSEA - if (!(force && allow_generate && ttf_filename && ttf_filename != "-" && getodir(O_TRUETYPE, errh))) { -- if (String path = kpsei_string(kpsei_find_file(file.c_str(), KPSEI_FMT_TRUETYPE))) { -- if (path == "./" + file || path == file) { -- if (verbose) -- errh->message("ignoring TrueType file %s found with kpathsea in %<.%>", path.c_str()); -- } else { -- if (verbose) -- errh->message("TrueType file %s found with kpathsea at %s", file.c_str(), path.c_str()); -- return path; -- } -- } -+ if (String path = kpsei_string(kpsei_find_file(file.c_str(), KPSEI_FMT_TRUETYPE))) { -+ if (path == "./" + file || path == file) { -+ if (verbose) -+ errh->message("ignoring TrueType file %s found with kpathsea in %<.%>", path.c_str()); -+ } else { -+ if (verbose) -+ errh->message("TrueType file %s found with kpathsea at %s", file.c_str(), path.c_str()); -+ return path; -+ } -+ } - } - #endif - - // perhaps generate type 42 in the future, for now just copy - if (allow_generate && ttf_filename && ttf_filename != "-" && getodir(O_TRUETYPE, errh)) { -- String installed_ttf_filename = odir[O_TRUETYPE] + "/" + file; -- if (installed_ttf_filename.find_left('\'') >= 0 || installed_ttf_filename.find_left('\"') >= 0) -- return String(); -- -- int retval; -- if (!same_filename(ttf_filename, installed_ttf_filename)) { -- String command = COPY_CMD " " + shell_quote(ttf_filename) + " " + shell_quote(installed_ttf_filename); -- retval = mysystem(command.c_str(), errh); -- if (retval == 127) -- errh->error("could not run %<%s%>", command.c_str()); -- else if (retval < 0) -- errh->error("could not run %<%s%>: %s", command.c_str(), strerror(errno)); -- else if (retval != 0) -- errh->error("%<%s%> failed", command.c_str()); -- } else { -- if (verbose) -- errh->message("TrueType file %s already located in output directory", installed_ttf_filename.c_str()); -- retval = 0; -- } -- -- if (retval == 0) { -- update_odir(O_TRUETYPE, installed_ttf_filename, errh); -- return installed_ttf_filename; -- } -+ String installed_ttf_filename = odir[O_TRUETYPE] + "/" + file; -+ if (installed_ttf_filename.find_left('\'') >= 0 || installed_ttf_filename.find_left('\"') >= 0) -+ return String(); -+ -+ int retval; -+ if (!same_filename(ttf_filename, installed_ttf_filename)) { -+ String command = COPY_CMD " " + shell_quote(ttf_filename) + " " + shell_quote(installed_ttf_filename); -+ retval = mysystem(command.c_str(), errh); -+ if (retval == 127) -+ errh->error("could not run %<%s%>", command.c_str()); -+ else if (retval < 0) -+ errh->error("could not run %<%s%>: %s", command.c_str(), strerror(errno)); -+ else if (retval != 0) -+ errh->error("%<%s%> failed", command.c_str()); -+ } else { -+ if (verbose) -+ errh->message("TrueType file %s already located in output directory", installed_ttf_filename.c_str()); -+ retval = 0; -+ } -+ -+ if (retval == 0) { -+ update_odir(O_TRUETYPE, installed_ttf_filename, errh); -+ return installed_ttf_filename; -+ } - } - - return String(); -@@ -544,24 +527,24 @@ installed_type42(const String &ttf_filen - (void) allow_generate, (void) ttf_filename, (void) errh; - - if (!ps_fontname) -- return String(); -+ return String(); - - #if HAVE_KPATHSEA - # if HAVE_AUTO_TTFTOTYPE42 - if (!(force && allow_generate && ttf_filename && ttf_filename != "-" && getodir(O_TYPE42, errh))) { - # endif -- // look for .pfb and .pfa -- String file, path; -- if ((file = ps_fontname + ".t42", path = kpsei_string(kpsei_find_file(file.c_str(), KPSEI_FMT_TYPE42)))) { -- if (path == "./" + file || path == file) { -- if (verbose) -- errh->message("ignoring Type 42 file %s found with kpathsea in %<.%>", path.c_str()); -- } else { -- if (verbose) -- errh->message("Type 42 file %s found with kpathsea at %s", file.c_str(), path.c_str()); -- return path; -- } -- } -+ // look for .pfb and .pfa -+ String file, path; -+ if ((file = ps_fontname + ".t42", path = kpsei_string(kpsei_find_file(file.c_str(), KPSEI_FMT_TYPE42)))) { -+ if (path == "./" + file || path == file) { -+ if (verbose) -+ errh->message("ignoring Type 42 file %s found with kpathsea in %<.%>", path.c_str()); -+ } else { -+ if (verbose) -+ errh->message("Type 42 file %s found with kpathsea at %s", file.c_str(), path.c_str()); -+ return path; -+ } -+ } - # if HAVE_AUTO_TTFTOTYPE42 - } - # endif -@@ -570,21 +553,21 @@ installed_type42(const String &ttf_filen - #if HAVE_AUTO_TTFTOTYPE42 - // if not found, and can generate on the fly, run ttftotype42 - if (allow_generate && ttf_filename && ttf_filename != "-" && getodir(O_TYPE42, errh)) { -- String t42_filename = odir[O_TYPE42] + "/" + ps_fontname + ".t42"; -- if (t42_filename.find_left('\'') >= 0 || ttf_filename.find_left('\'') >= 0) -- return String(); -- String command = "ttftotype42 " + shell_quote(ttf_filename) + " " + shell_quote(t42_filename); -- int retval = mysystem(command.c_str(), errh); -- if (retval == 127) -- errh->error("could not run %<%s%>", command.c_str()); -- else if (retval < 0) -- errh->error("could not run %<%s%>: %s", command.c_str(), strerror(errno)); -- else if (retval != 0) -- errh->error("%<%s%> failed", command.c_str()); -- if (retval == 0) { -- update_odir(O_TYPE42, t42_filename, errh); -- return t42_filename; -- } -+ String t42_filename = odir[O_TYPE42] + "/" + ps_fontname + ".t42"; -+ if (t42_filename.find_left('\'') >= 0 || ttf_filename.find_left('\'') >= 0) -+ return String(); -+ String command = "ttftotype42 " + shell_quote(ttf_filename) + " " + shell_quote(t42_filename); -+ int retval = mysystem(command.c_str(), errh); -+ if (retval == 127) -+ errh->error("could not run %<%s%>", command.c_str()); -+ else if (retval < 0) -+ errh->error("could not run %<%s%>: %s", command.c_str(), strerror(errno)); -+ else if (retval != 0) -+ errh->error("%<%s%> failed", command.c_str()); -+ if (retval == 0) { -+ update_odir(O_TYPE42, t42_filename, errh); -+ return t42_filename; -+ } - } - #endif - -@@ -596,94 +579,94 @@ update_autofont_map(const String &fontna - { - #if HAVE_KPATHSEA - if (automatic && !map_file && getodir(O_MAP, errh)) -- map_file = odir[O_MAP] + "/" + get_vendor() + ".map"; -+ map_file = odir[O_MAP] + "/" + get_vendor() + ".map"; - #endif - - if (map_file == "" || map_file == "-") -- fputs(mapline.c_str(), stdout); -+ fputs(mapline.c_str(), stdout); - else { -- // report no_create/verbose -- if (no_create) { -- errh->message("would update %s for %s", map_file.c_str(), String(fontname).c_str()); -- return 0; -- } else if (verbose) -- errh->message("updating %s for %s", map_file.c_str(), String(fontname).c_str()); -- -- int fd = open(map_file.c_str(), O_RDWR | O_CREAT, 0666); -- if (fd < 0) -- return errh->lerror(map_file, "%s", strerror(errno)); -- FILE *f = fdopen(fd, "r+"); -- // NB: also change encoding logic if you change this code -+ // report no_create/verbose -+ if (no_create) { -+ errh->message("would update %s for %s", map_file.c_str(), String(fontname).c_str()); -+ return 0; -+ } else if (verbose) -+ errh->message("updating %s for %s", map_file.c_str(), String(fontname).c_str()); -+ -+ int fd = open(map_file.c_str(), O_RDWR | O_CREAT, 0666); -+ if (fd < 0) -+ return errh->lerror(map_file, "%s", strerror(errno)); -+ FILE *f = fdopen(fd, "r+"); -+ // NB: also change encoding logic if you change this code - - #if defined(F_SETLKW) && defined(HAVE_FTRUNCATE) -- { -- struct flock lock; -- lock.l_type = F_WRLCK; -- lock.l_whence = SEEK_SET; -- lock.l_start = 0; -- lock.l_len = 0; -- int result; -- while ((result = fcntl(fd, F_SETLKW, &lock)) < 0 && errno == EINTR) -- /* try again */; -- if (result < 0) { -- result = errno; -- fclose(f); -- return errh->error("locking %s: %s", map_file.c_str(), strerror(result)); -- } -- } --#endif -- -- // read old data from map file -- StringAccum sa; -- int amt; -- do { -- if (char *x = sa.reserve(8192)) { -- amt = fread(x, 1, 8192, f); -- sa.adjust_length(amt); -- } else -- amt = 0; -- } while (amt != 0); -- if (!feof(f)) -- return errh->error("%s: %s", map_file.c_str(), strerror(errno)); -- String text = sa.take_string(); -- -- // add comment if necessary -- bool created = (!text); -- if (created) -- text = "% Automatically maintained by otftotfm or other programs. Do not edit.\n\n"; -- if (text.back() != '\n') -- text += "\n"; -- -- // append old encodings -- int fl = 0; -- int nl = text.find_left('\n') + 1; -- bool changed = created; -- while (fl < text.length()) { -- if (fl + fontname.length() + 1 < nl -- && memcmp(text.data() + fl, fontname.data(), fontname.length()) == 0 -- && text[fl + fontname.length()] == ' ') { -- // found the old name -- if (text.substring(fl, nl - fl) == mapline) { -- // duplicate of old name, don't change it -- fclose(f); -- if (verbose) -- errh->message("%s unchanged", map_file.c_str()); -- return 0; -- } else { -- text = text.substring(0, fl) + text.substring(nl); -- nl = fl; -- changed = true; -- } -- } -- fl = nl; -- nl = text.find_left('\n', fl) + 1; -- } -+ { -+ struct flock lock; -+ lock.l_type = F_WRLCK; -+ lock.l_whence = SEEK_SET; -+ lock.l_start = 0; -+ lock.l_len = 0; -+ int result; -+ while ((result = fcntl(fd, F_SETLKW, &lock)) < 0 && errno == EINTR) -+ /* try again */; -+ if (result < 0) { -+ result = errno; -+ fclose(f); -+ return errh->error("locking %s: %s", map_file.c_str(), strerror(result)); -+ } -+ } -+#endif -+ -+ // read old data from map file -+ StringAccum sa; -+ int amt; -+ do { -+ if (char *x = sa.reserve(8192)) { -+ amt = fread(x, 1, 8192, f); -+ sa.adjust_length(amt); -+ } else -+ amt = 0; -+ } while (amt != 0); -+ if (!feof(f)) -+ return errh->error("%s: %s", map_file.c_str(), strerror(errno)); -+ String text = sa.take_string(); -+ -+ // add comment if necessary -+ bool created = (!text); -+ if (created) -+ text = "% Automatically maintained by otftotfm or other programs. Do not edit.\n\n"; -+ if (text.back() != '\n') -+ text += "\n"; -+ -+ // append old encodings -+ int fl = 0; -+ int nl = text.find_left('\n') + 1; -+ bool changed = created; -+ while (fl < text.length()) { -+ if (fl + fontname.length() + 1 < nl -+ && memcmp(text.data() + fl, fontname.data(), fontname.length()) == 0 -+ && text[fl + fontname.length()] == ' ') { -+ // found the old name -+ if (text.substring(fl, nl - fl) == mapline) { -+ // duplicate of old name, don't change it -+ fclose(f); -+ if (verbose) -+ errh->message("%s unchanged", map_file.c_str()); -+ return 0; -+ } else { -+ text = text.substring(0, fl) + text.substring(nl); -+ nl = fl; -+ changed = true; -+ } -+ } -+ fl = nl; -+ nl = text.find_left('\n', fl) + 1; -+ } - -- if (!mapline && !changed) { -+ if (!mapline && !changed) { - // special case: empty mapline, unchanged file -- if (verbose) -- errh->message("%s unchanged", map_file.c_str()); -- } else { -+ if (verbose) -+ errh->message("%s unchanged", map_file.c_str()); -+ } else { - // add our text - text += mapline; - -@@ -694,7 +677,7 @@ update_autofont_map(const String &fontna - #endif - { - fclose(f); -- f = fopen(map_file.c_str(), "wb"); -+ f = fopen(map_file.c_str(), "w"); - fd = fileno(f); - } - -@@ -702,87 +685,78 @@ update_autofont_map(const String &fontna - ignore_result(fwrite(text.data(), 1, text.length(), f)); - } - -- fclose(f); -+ fclose(f); - -- // inform about the new file if necessary -- if (created) -- update_odir(O_MAP, map_file, errh); -+ // inform about the new file if necessary -+ if (created) -+ update_odir(O_MAP, map_file, errh); - - #if HAVE_KPATHSEA && !WIN32 -- // run 'updmap' if present -- String updmap_dir, updmap_file; -- if (automatic && (output_flags & G_UPDMAP)) -- updmap_dir = getodir(O_MAP_PARENT, errh); -- if (updmap_dir && (updmap_file = updmap_dir + "/updmap") -- && access(updmap_file.c_str(), X_OK) >= 0) { -- // want to run 'updmap' from its directory, can't use system() -- if (verbose) -- errh->message("running %s", updmap_file.c_str()); -- -- pid_t child = fork(); -- if (child < 0) -- errh->fatal("%s during fork", strerror(errno)); -- else if (child == 0) { -- // change to updmap directory, run it -- if (chdir(updmap_dir.c_str()) < 0) -- errh->fatal("%s: %s during chdir", updmap_dir.c_str(), strerror(errno)); -- if (execl("./updmap", updmap_file.c_str(), (const char*) 0) < 0) -- errh->fatal("%s: %s during exec", updmap_file.c_str(), strerror(errno)); -- exit(1); // should never get here -- } -+ // run 'updmap' if present -+ String updmap_dir, updmap_file; -+ if (automatic && (output_flags & G_UPDMAP)) -+ updmap_dir = getodir(O_MAP_PARENT, errh); -+ if (updmap_dir && (updmap_file = updmap_dir + "/updmap") -+ && access(updmap_file.c_str(), X_OK) >= 0) { -+ // want to run 'updmap' from its directory, can't use system() -+ if (verbose) -+ errh->message("running %s", updmap_file.c_str()); -+ -+ pid_t child = fork(); -+ if (child < 0) -+ errh->fatal("%s during fork", strerror(errno)); -+ else if (child == 0) { -+ // change to updmap directory, run it -+ if (chdir(updmap_dir.c_str()) < 0) -+ errh->fatal("%s: %s during chdir", updmap_dir.c_str(), strerror(errno)); -+ if (execl("./updmap", updmap_file.c_str(), (const char*) 0) < 0) -+ errh->fatal("%s: %s during exec", updmap_file.c_str(), strerror(errno)); -+ exit(1); // should never get here -+ } - - # if HAVE_WAITPID -- // wait for updmap to finish -- int status; -- while (1) { -- pid_t answer = waitpid(child, &status, 0); -- if (answer >= 0) -- break; -- else if (errno != EINTR) -- errh->fatal("%s during wait", strerror(errno)); -- } -- if (!WIFEXITED(status)) -- errh->warning("%s exited abnormally", updmap_file.c_str()); -- else if (WEXITSTATUS(status) != 0) -- errh->warning("%s exited with status %d", updmap_file.c_str(), WEXITSTATUS(status)); -+ // wait for updmap to finish -+ int status; -+ while (1) { -+ pid_t answer = waitpid(child, &status, 0); -+ if (answer >= 0) -+ break; -+ else if (errno != EINTR) -+ errh->fatal("%s during wait", strerror(errno)); -+ } -+ if (!WIFEXITED(status)) -+ errh->warning("%s exited abnormally", updmap_file.c_str()); -+ else if (WEXITSTATUS(status) != 0) -+ errh->warning("%s exited with status %d", updmap_file.c_str(), WEXITSTATUS(status)); - # else - # error "need waitpid() support: report this bug to the maintainer" - # endif -- goto ran_updmap; -- } -+ goto ran_updmap; -+ } - - # if HAVE_AUTO_UPDMAP -- // run system updmap -- if (output_flags & G_UPDMAP) { -- String filename = map_file; -- int slash = filename.find_right('/'); -- if (slash >= 0) -- filename = filename.substring(slash + 1); -+ // run system updmap -+ if (output_flags & G_UPDMAP) { -+ String filename = map_file; -+ int slash = filename.find_right('/'); -+ if (slash >= 0) -+ filename = filename.substring(slash + 1); - String redirect = verbose ? " 1>&2" : " >" DEV_NULL " 2>&1"; --#if defined(W32TEX) --// jtex_filetype is defined only in W32TeX -- char *p = kpsei_var_value("jtex_filetype"); -- if (p != NULL) { // W32TeX -- free(p); -- String option = "--add "; -- } else // TeXLive --#endif -- String option = "--enable Map "; -- String command = "updmap --nomkmap " + option + shell_quote(filename) + redirect -+ String command = "updmap --nomkmap --enable Map " + shell_quote(filename) + redirect - + CMD_SEP " updmap" + redirect; -- int retval = mysystem(command.c_str(), errh); -- if (retval == 127) -- errh->warning("could not run %<%s%>", command.c_str()); -- else if (retval < 0) -- errh->warning("could not run %<%s%>: %s", command.c_str(), strerror(errno)); -- else if (retval != 0) -- errh->warning("%<%s%> exited with status %d;\nrun it manually to check for errors", command.c_str(), WEXITSTATUS(retval)); -- goto ran_updmap; -- } -+ int retval = mysystem(command.c_str(), errh); -+ if (retval == 127) -+ errh->warning("could not run %<%s%>", command.c_str()); -+ else if (retval < 0) -+ errh->warning("could not run %<%s%>: %s", command.c_str(), strerror(errno)); -+ else if (retval != 0) -+ errh->warning("%<%s%> exited with status %d;\nrun it manually to check for errors", command.c_str(), WEXITSTATUS(retval)); -+ goto ran_updmap; -+ } - # endif - -- if (verbose) -- errh->message("not running updmap"); -+ if (verbose) -+ errh->message("not running updmap"); - - ran_updmap: ; - #endif -@@ -795,27 +769,27 @@ String - locate_encoding(String encfile, ErrorHandler *errh, bool literal) - { - if (!encfile || encfile == "-") -- return encfile; -+ return encfile; - - if (!literal) { -- int slash = encfile.find_right('/'); -- int dot = encfile.find_left('.', slash >= 0 ? slash : 0); -- if (dot < 0) -- if (String file = locate_encoding(encfile + ".enc", errh, true)) -- return file; -+ int slash = encfile.find_right('/'); -+ int dot = encfile.find_left('.', slash >= 0 ? slash : 0); -+ if (dot < 0) -+ if (String file = locate_encoding(encfile + ".enc", errh, true)) -+ return file; - } - - #if HAVE_KPATHSEA - if (String file = kpsei_string(kpsei_find_file(encfile.c_str(), KPSEI_FMT_ENCODING))) { -- if (verbose) -- errh->message("encoding file %s found with kpathsea at %s", encfile.c_str(), file.c_str()); -- return file; -+ if (verbose) -+ errh->message("encoding file %s found with kpathsea at %s", encfile.c_str(), file.c_str()); -+ return file; - } else if (verbose) -- errh->message("encoding file %s not found with kpathsea", encfile.c_str()); -+ errh->message("encoding file %s not found with kpathsea", encfile.c_str()); - #endif - - if (access(encfile.c_str(), R_OK) >= 0) -- return encfile; -+ return encfile; - else -- return String(); -+ return String(); - } -diff -up texlive-base-20170520/source/texk/lcdf-typetools/lcdf-typetools-src/otftotfm/automatic.hh.git4166ff9 texlive-base-20170520/source/texk/lcdf-typetools/lcdf-typetools-src/otftotfm/automatic.hh ---- texlive-base-20170520/source/texk/lcdf-typetools/lcdf-typetools-src/otftotfm/automatic.hh.git4166ff9 2016-11-25 13:08:53.000000000 -0500 -+++ texlive-base-20170520/source/texk/lcdf-typetools/lcdf-typetools-src/otftotfm/automatic.hh 2018-02-23 12:47:54.090971778 -0500 -@@ -3,13 +3,15 @@ - #include - class ErrorHandler; - --enum { O_ENCODING = 0, O_TFM, O_PL, O_VF, O_VPL, O_TYPE1, O_MAP, O_MAP_PARENT, -- O_TRUETYPE, O_OPENTYPE, O_TYPE42, NUMODIR }; -+enum { -+ O_ENCODING = 0, O_TFM, O_PL, O_VF, O_VPL, O_TYPE1, O_MAP, O_MAP_PARENT, -+ O_TRUETYPE, O_OPENTYPE, O_TYPE42, NUMODIR -+}; - - extern bool automatic; - extern bool no_create; - String getodir(int o, ErrorHandler *); --bool setodir(int o, const String &); -+void setodir(int o, const String &); - bool set_vendor(const String &); - bool set_typeface(const String &, bool override); - bool set_map_file(const String &); -diff -up texlive-base-20170520/source/texk/lcdf-typetools/lcdf-typetools-src/otftotfm/dvipsencoding.cc.git4166ff9 texlive-base-20170520/source/texk/lcdf-typetools/lcdf-typetools-src/otftotfm/dvipsencoding.cc ---- texlive-base-20170520/source/texk/lcdf-typetools/lcdf-typetools-src/otftotfm/dvipsencoding.cc.git4166ff9 2016-11-25 13:08:53.000000000 -0500 -+++ texlive-base-20170520/source/texk/lcdf-typetools/lcdf-typetools-src/otftotfm/dvipsencoding.cc 2018-02-23 12:47:54.090971778 -0500 -@@ -1,6 +1,6 @@ - /* dvipsencoding.{cc,hh} -- store a DVIPS encoding - * -- * Copyright (c) 2003-2016 Eddie Kohler -+ * Copyright (c) 2003-2018 Eddie Kohler - * - * 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 -@@ -35,90 +35,90 @@ static Vector glyphmap; - static PermString::Initializer perm_initializer; - PermString DvipsEncoding::dot_notdef(".notdef"); - --#define NEXT_GLYPH_NAME(gn) ("/" + (gn)) -+#define NEXT_GLYPH_NAME(gn) ("/" + (gn)) - - void - DvipsEncoding::add_glyphlist(String text) - { - const char *s = text.begin(), *end = text.end(); - while (s != end) { -- // move to first nonblank -- while (s != end && isspace((unsigned char) *s)) -- ++s; -- // ignore comments -- if (s != end && *s == '#') { -- skip_to_end_of_line: -- while (s != end && *s != '\n' && *s != '\r') -- ++s; -- continue; -- } -- // parse glyph name -- const char *name_start = s; -- while (s != end && !isspace((unsigned char) *s) && *s != ';') -- ++s; -- if (s == name_start) -- goto skip_to_end_of_line; -- String glyph_name = text.substring(name_start, s).compact(); -- int map_pos = glyphmap.size(); -- // parse Unicodes -- while (1) { -- while (s != end && (*s == ' ' || *s == '\t')) -- ++s; -- if (s == end || *s == '\n' || *s == '\r' || *s == '#' -- || (map_pos == glyphmap.size() && *s != ';' && *s != ',')) -- break; -- if (*s == ';' || *s == ',') { -- ++s; -- while (s != end && (*s == ' ' || *s == '\t')) -- ++s; -- if (s == end || !isxdigit((unsigned char) *s)) -- goto skip_to_end_of_line; -- if (map_pos != glyphmap.size()) -- glyphmap.push_back(GLYPHLIST_ALTERNATIVE); -- } -- uint32_t u = 0; -- while (s != end && isxdigit((unsigned char) *s)) { -- if (*s >= '0' && *s <= '9') -- u = (u << 4) + *s - '0'; -- else if (*s >= 'A' && *s <= 'F') -- u = (u << 4) + *s - 'A' + 10; -- else -- u = (u << 4) + *s - 'a' + 10; -- ++s; -- } -- if (u == 0 || u > 0x10FFFF) -- goto skip_to_end_of_line; -- glyphmap.push_back(u); -- if (s != end && !isspace((unsigned char) *s) && *s != ',' && *s != ';') -- break; -- } -- // store result -- if (map_pos == glyphmap.size() - 1) { -- glyphlist.insert(glyph_name, glyphmap.back()); -- glyphmap.pop_back(); -- } else { -- glyphlist.insert(glyph_name, map_pos | GLYPHLIST_USEMAP); -- glyphmap.push_back(0); -- } -- goto skip_to_end_of_line; -+ // move to first nonblank -+ while (s != end && isspace((unsigned char) *s)) -+ ++s; -+ // ignore comments -+ if (s != end && *s == '#') { -+ skip_to_end_of_line: -+ while (s != end && *s != '\n' && *s != '\r') -+ ++s; -+ continue; -+ } -+ // parse glyph name -+ const char *name_start = s; -+ while (s != end && !isspace((unsigned char) *s) && *s != ';') -+ ++s; -+ if (s == name_start) -+ goto skip_to_end_of_line; -+ String glyph_name = text.substring(name_start, s).compact(); -+ int map_pos = glyphmap.size(); -+ // parse Unicodes -+ while (1) { -+ while (s != end && (*s == ' ' || *s == '\t')) -+ ++s; -+ if (s == end || *s == '\n' || *s == '\r' || *s == '#' -+ || (map_pos == glyphmap.size() && *s != ';' && *s != ',')) -+ break; -+ if (*s == ';' || *s == ',') { -+ ++s; -+ while (s != end && (*s == ' ' || *s == '\t')) -+ ++s; -+ if (s == end || !isxdigit((unsigned char) *s)) -+ goto skip_to_end_of_line; -+ if (map_pos != glyphmap.size()) -+ glyphmap.push_back(GLYPHLIST_ALTERNATIVE); -+ } -+ uint32_t u = 0; -+ while (s != end && isxdigit((unsigned char) *s)) { -+ if (*s >= '0' && *s <= '9') -+ u = (u << 4) + *s - '0'; -+ else if (*s >= 'A' && *s <= 'F') -+ u = (u << 4) + *s - 'A' + 10; -+ else -+ u = (u << 4) + *s - 'a' + 10; -+ ++s; -+ } -+ if (u == 0 || u > 0x10FFFF) -+ goto skip_to_end_of_line; -+ glyphmap.push_back(u); -+ if (s != end && !isspace((unsigned char) *s) && *s != ',' && *s != ';') -+ break; -+ } -+ // store result -+ if (map_pos == glyphmap.size() - 1) { -+ glyphlist.insert(glyph_name, glyphmap.back()); -+ glyphmap.pop_back(); -+ } else { -+ glyphlist.insert(glyph_name, map_pos | GLYPHLIST_USEMAP); -+ glyphmap.push_back(0); -+ } -+ goto skip_to_end_of_line; - } - } - - static void - unicode_add_suffix(Vector &prefix, -- int prefix_starting_from, -- const Vector &suffix) -+ int prefix_starting_from, -+ const Vector &suffix) - { - int prefix_size = prefix.size(); - for (Vector::const_iterator it = suffix.begin(); -- it != suffix.end() && *it != 0; -- ++it) -- if (*it == GLYPHLIST_ALTERNATIVE) { -- prefix.push_back(*it); -- for (int i = prefix_starting_from; i < prefix_size; ++i) -- prefix.push_back(prefix[i]); -- } else -- prefix.push_back(*it); -+ it != suffix.end() && *it != 0; -+ ++it) -+ if (*it == GLYPHLIST_ALTERNATIVE) { -+ prefix.push_back(*it); -+ for (int i = prefix_starting_from; i < prefix_size; ++i) -+ prefix.push_back(prefix[i]); -+ } else -+ prefix.push_back(*it); - } - - bool -@@ -129,7 +129,7 @@ DvipsEncoding::glyphname_unicode(String - // drop all characters to the right of the first dot - String::iterator dot = std::find(gn.begin(), gn.end(), '.'); - if (dot > gn.begin() && dot < gn.end()) -- gn = gn.substring(gn.begin(), dot); -+ gn = gn.substring(gn.begin(), dot); - - // map the first component, handle later components recursively - String::iterator underscore = std::find(gn.begin(), gn.end(), '_'); -@@ -137,47 +137,47 @@ DvipsEncoding::glyphname_unicode(String - int prefix_start = 0; - Vector suffix; - if (String gn_suffix = gn.substring(underscore + 1, gn.end())) { -- if (!glyphname_unicode(gn_suffix, suffix)) -- return false; -+ if (!glyphname_unicode(gn_suffix, suffix)) -+ return false; - } - - // check glyphlist - int value = glyphlist[component]; - uint32_t uval; - if (value >= 0 && !(value & GLYPHLIST_USEMAP)) -- unis.push_back(value); -+ unis.push_back(value); - else if (value >= 0) { -- for (int i = (value & ~GLYPHLIST_USEMAP); -- glyphmap[i]; -- ++i) -- if (glyphmap[i] == GLYPHLIST_ALTERNATIVE) { -- unicode_add_suffix(unis, prefix_start, suffix); -- unis.push_back(GLYPHLIST_ALTERNATIVE); -- prefix_start = unis.size(); -- } else -- unis.push_back(glyphmap[i]); -+ for (int i = (value & ~GLYPHLIST_USEMAP); -+ glyphmap[i]; -+ ++i) -+ if (glyphmap[i] == GLYPHLIST_ALTERNATIVE) { -+ unicode_add_suffix(unis, prefix_start, suffix); -+ unis.push_back(GLYPHLIST_ALTERNATIVE); -+ prefix_start = unis.size(); -+ } else -+ unis.push_back(glyphmap[i]); - } else if (component.length() >= 7 -- && (component.length() % 4) == 3 -- && (memcmp(component.data(), "uni", 3) == 0 -- // 16.Aug.2008: Some texnansx.enc have incorrect "Uni" -- // prefix, but we might as well understand it. -- || memcmp(component.data(), "Uni", 3) == 0)) { -- for (const char *s = component.begin() + 3; -- s < component.end(); -- s += 4) -- if (parse_unicode_number(s, s + 4, -1, uval)) -- unis.push_back(uval); -- else { -- unis.resize(unis_first_size); -- return false; -- } -+ && (component.length() % 4) == 3 -+ && (memcmp(component.data(), "uni", 3) == 0 -+ // 16.Aug.2008: Some texnansx.enc have incorrect "Uni" -+ // prefix, but we might as well understand it. -+ || memcmp(component.data(), "Uni", 3) == 0)) { -+ for (const char *s = component.begin() + 3; -+ s < component.end(); -+ s += 4) -+ if (parse_unicode_number(s, s + 4, -1, uval)) -+ unis.push_back(uval); -+ else { -+ unis.resize(unis_first_size); -+ return false; -+ } - } else if (component.length() >= 5 -- && component.length() <= 7 -- && component[0] == 'u' -- && parse_unicode_number(component.begin() + 1, component.end(), -1, uval)) -- unis.push_back(uval); -+ && component.length() <= 7 -+ && component[0] == 'u' -+ && parse_unicode_number(component.begin() + 1, component.end(), -1, uval)) -+ unis.push_back(uval); - else -- return false; -+ return false; - - unicode_add_suffix(unis, prefix_start, suffix); - return true; -@@ -194,7 +194,7 @@ void - DvipsEncoding::encode(int e, PermString what) - { - if (e >= _e.size()) -- _e.resize(e + 1, dot_notdef); -+ _e.resize(e + 1, dot_notdef); - _e[e] = what; - } - -@@ -203,21 +203,21 @@ DvipsEncoding::encoding_of(PermString wh - { - int slot = -1; - for (int i = 0; i < _e.size(); i++) -- if (_e[i] == what) { -- slot = i; -- goto use_slot; -- } else if (!_e[i] || _e[i] == dot_notdef) -- slot = i; -+ if (_e[i] == what) { -+ slot = i; -+ goto use_slot; -+ } else if (!_e[i] || _e[i] == dot_notdef) -+ slot = i; - if (what == "||") -- return _boundary_char; -+ return _boundary_char; - else if (!encoding_required || slot < 0) -- return -1; -+ return -1; - use_slot: - if (encoding_required) { -- if (slot >= _encoding_required.size()) -- _encoding_required.resize(slot + 1, false); -- _encoding_required[slot] = true; -- this->encode(slot, what); -+ if (slot >= _encoding_required.size()) -+ _encoding_required.resize(slot + 1, false); -+ _encoding_required[slot] = true; -+ this->encode(slot, what); - } - return slot; - } -@@ -229,51 +229,51 @@ tokenize(const String &s, int &pos_in, i - int len = s.length(); - int pos = pos_in; - while (1) { -- // skip whitespace -- while (pos < len && isspace((unsigned char) data[pos])) { -- if (data[pos] == '\n') -- line++; -- else if (data[pos] == '\r' && (pos + 1 == len || data[pos+1] != '\n')) -- line++; -- pos++; -- } -- -- if (pos >= len) { -- pos_in = len; -- return String(); -- } else if (data[pos] == '%') { -- for (pos++; pos < len && data[pos] != '\n' && data[pos] != '\r'; pos++) -- /* nada */; -- } else if (data[pos] == '[' || data[pos] == ']' || data[pos] == '{' || data[pos] == '}') { -- pos_in = pos + 1; -- return s.substring(pos, 1); -- } else if (data[pos] == '(') { -- int first = pos, nest = 0; -- for (pos++; pos < len && (data[pos] != ')' || nest); pos++) -- switch (data[pos]) { -- case '(': nest++; break; -- case ')': nest--; break; -- case '\\': -- if (pos + 1 < len) -- pos++; -- break; -- case '\n': line++; break; -- case '\r': -- if (pos + 1 == len || data[pos+1] != '\n') -- line++; -- break; -- } -- pos_in = (pos < len ? pos + 1 : len); -- return s.substring(first, pos_in - first); -- } else { -- int first = pos; -- while (pos < len && data[pos] == '/') -- pos++; -- while (pos < len && data[pos] != '/' && !isspace((unsigned char) data[pos]) && data[pos] != '[' && data[pos] != ']' && data[pos] != '%' && data[pos] != '(' && data[pos] != '{' && data[pos] != '}') -- pos++; -- pos_in = pos; -- return s.substring(first, pos - first); -- } -+ // skip whitespace -+ while (pos < len && isspace((unsigned char) data[pos])) { -+ if (data[pos] == '\n') -+ line++; -+ else if (data[pos] == '\r' && (pos + 1 == len || data[pos+1] != '\n')) -+ line++; -+ pos++; -+ } -+ -+ if (pos >= len) { -+ pos_in = len; -+ return String(); -+ } else if (data[pos] == '%') { -+ for (pos++; pos < len && data[pos] != '\n' && data[pos] != '\r'; pos++) -+ /* nada */; -+ } else if (data[pos] == '[' || data[pos] == ']' || data[pos] == '{' || data[pos] == '}') { -+ pos_in = pos + 1; -+ return s.substring(pos, 1); -+ } else if (data[pos] == '(') { -+ int first = pos, nest = 0; -+ for (pos++; pos < len && (data[pos] != ')' || nest); pos++) -+ switch (data[pos]) { -+ case '(': nest++; break; -+ case ')': nest--; break; -+ case '\\': -+ if (pos + 1 < len) -+ pos++; -+ break; -+ case '\n': line++; break; -+ case '\r': -+ if (pos + 1 == len || data[pos+1] != '\n') -+ line++; -+ break; -+ } -+ pos_in = (pos < len ? pos + 1 : len); -+ return s.substring(first, pos_in - first); -+ } else { -+ int first = pos; -+ while (pos < len && data[pos] == '/') -+ pos++; -+ while (pos < len && data[pos] != '/' && !isspace((unsigned char) data[pos]) && data[pos] != '[' && data[pos] != ']' && data[pos] != '%' && data[pos] != '(' && data[pos] != '{' && data[pos] != '}') -+ pos++; -+ pos_in = pos; -+ return s.substring(first, pos - first); -+ } - } - } - -@@ -285,43 +285,43 @@ comment_tokenize(const String &s, int &p - int len = s.length(); - int pos = pos_in; - while (1) { -- while (pos < len && data[pos] != '%' && data[pos] != '(') { -- if (data[pos] == '\n') -- line++; -- else if (data[pos] == '\r' && (pos + 1 == len || data[pos+1] != '\n')) -- line++; -- pos++; -- } -- -- if (pos >= len) { -- pos_in = len; -- return String(); -- } else if (data[pos] == '%') { -- for (pos++; pos < len && (data[pos] == ' ' || data[pos] == '\t'); pos++) -- /* nada */; -- int first = pos; -- for (; pos < len && data[pos] != '\n' && data[pos] != '\r'; pos++) -- /* nada */; -- pos_in = pos; -- if (pos > first) -- return s.substring(first, pos - first); -- } else { -- int nest = 0; -- for (pos++; pos < len && (data[pos] != ')' || nest); pos++) -- switch (data[pos]) { -- case '(': nest++; break; -- case ')': nest--; break; -- case '\\': -- if (pos + 1 < len) -- pos++; -- break; -- case '\n': line++; break; -- case '\r': -- if (pos + 1 == len || data[pos+1] != '\n') -- line++; -- break; -- } -- } -+ while (pos < len && data[pos] != '%' && data[pos] != '(') { -+ if (data[pos] == '\n') -+ line++; -+ else if (data[pos] == '\r' && (pos + 1 == len || data[pos+1] != '\n')) -+ line++; -+ pos++; -+ } -+ -+ if (pos >= len) { -+ pos_in = len; -+ return String(); -+ } else if (data[pos] == '%') { -+ for (pos++; pos < len && (data[pos] == ' ' || data[pos] == '\t'); pos++) -+ /* nada */; -+ int first = pos; -+ for (; pos < len && data[pos] != '\n' && data[pos] != '\r'; pos++) -+ /* nada */; -+ pos_in = pos; -+ if (pos > first) -+ return s.substring(first, pos - first); -+ } else { -+ int nest = 0; -+ for (pos++; pos < len && (data[pos] != ')' || nest); pos++) -+ switch (data[pos]) { -+ case '(': nest++; break; -+ case ')': nest--; break; -+ case '\\': -+ if (pos + 1 < len) -+ pos++; -+ break; -+ case '\n': line++; break; -+ case '\r': -+ if (pos + 1 == len || data[pos+1] != '\n') -+ line++; -+ break; -+ } -+ } - } - } - -@@ -329,7 +329,7 @@ static bool - retokenize_isword(char c) - { - return (c >= 'a' && c <= 'z') || (c >= 'A' && c <= 'Z') -- || (c >= '0' && c <= '9') || c == '.' || c == '_'; -+ || (c >= '0' && c <= '9') || c == '.' || c == '_'; - } - - -@@ -352,8 +352,8 @@ static int - find_ligkern_op(const String &s) - { - for (int i = 0; ligkern_ops[i].s; i++) -- if (ligkern_ops[i].s == s) -- return ligkern_ops[i].v; -+ if (ligkern_ops[i].s == s) -+ return ligkern_ops[i].v; - return 0; - } - -@@ -368,16 +368,16 @@ DvipsEncoding::add_ligkern(const Ligatur - { - Ligature *old = std::find(_lig.begin(), _lig.end(), l); - if (old == _lig.end()) -- _lig.push_back(l); -+ _lig.push_back(l); - else { -- if ((l.join & JT_KERN) && (override > 0 || !(old->join & JT_KERN))) { -- old->join |= JT_KERN; -- old->k = l.k; -- } -- if ((l.join & JT_LIG) && (override > 0 || !(old->join & JT_LIG))) { -- old->join = (old->join & JT_KERN) | (l.join & JT_LIGALL); -- old->d = l.d; -- } -+ if ((l.join & JT_KERN) && (override > 0 || !(old->join & JT_KERN))) { -+ old->join |= JT_KERN; -+ old->k = l.k; -+ } -+ if ((l.join & JT_LIG) && (override > 0 || !(old->join & JT_LIG))) { -+ old->join = (old->join & JT_KERN) | (l.join & JT_LIGALL); -+ old->d = l.d; -+ } - } - } - -@@ -389,107 +389,107 @@ DvipsEncoding::parse_ligkern_words(Vecto - long l; - char *endptr; - if (v.size() == 3) { -- // empty string fails -- if (!v[0]) -- return -1; -- // boundary char setting -- if (v[0] == "||" && v[1] == "=") { -- char *endptr; -- if (override > 0 || _boundary_char < 0) -- _boundary_char = strtol(v[2].c_str(), &endptr, 10); -- if (*endptr == 0 && _boundary_char < _e.size()) -- return 0; -- else -- return errh->error("parse error in boundary character assignment"); -- } -- // altselector char setting -- if (v[0] == "^^" && v[1] == "=") { -- char *endptr; -- if (override > 0 || _altselector_char < 0) -- _altselector_char = strtol(v[2].c_str(), &endptr, 10); -- if (*endptr == 0 && _altselector_char < _e.size()) -- return 0; -- else -- return errh->error("parse error in altselector character assignment"); -- } -- // encoding -- l = strtol(v[0].c_str(), &endptr, 0); -- if (endptr == v[0].end() && v[1] == "=") { -- if (l >= 0 && l < 256) { -- if (override > 0 || !_e[l]) -- encode(l, v[2]); -- return 0; -- } else -- return errh->error("encoding value %<%d%> out of range", l); -- } -- -- // kern operation -- if (v[1].length() >= 3 && v[1][0] == '{' && v[1].back() == '}') { -- String middle = v[1].substring(1, v[1].length() - 2); -- l = strtol(middle.c_str(), &endptr, 0); -- if (endptr == middle.end()) { -- op = JT_KERN; -- goto found_kernop; -- } -- } -- op = find_ligkern_op(v[1]); -- if (!op || (op & JT_ADDLIG)) -- return -1; -+ // empty string fails -+ if (!v[0]) -+ return -1; -+ // boundary char setting -+ if (v[0] == "||" && v[1] == "=") { -+ char *endptr; -+ if (override > 0 || _boundary_char < 0) -+ _boundary_char = strtol(v[2].c_str(), &endptr, 10); -+ if (*endptr == 0 && _boundary_char < _e.size()) -+ return 0; -+ else -+ return errh->error("parse error in boundary character assignment"); -+ } -+ // altselector char setting -+ if (v[0] == "^^" && v[1] == "=") { -+ char *endptr; -+ if (override > 0 || _altselector_char < 0) -+ _altselector_char = strtol(v[2].c_str(), &endptr, 10); -+ if (*endptr == 0 && _altselector_char < _e.size()) -+ return 0; -+ else -+ return errh->error("parse error in altselector character assignment"); -+ } -+ // encoding -+ l = strtol(v[0].c_str(), &endptr, 0); -+ if (endptr == v[0].end() && v[1] == "=") { -+ if (l >= 0 && l < 256) { -+ if (override > 0 || !_e[l]) -+ encode(l, v[2]); -+ return 0; -+ } else -+ return errh->error("encoding value %<%d%> out of range", l); -+ } -+ -+ // kern operation -+ if (v[1].length() >= 3 && v[1][0] == '{' && v[1].back() == '}') { -+ String middle = v[1].substring(1, v[1].length() - 2); -+ l = strtol(middle.c_str(), &endptr, 0); -+ if (endptr == middle.end()) { -+ op = JT_KERN; -+ goto found_kernop; -+ } -+ } -+ op = find_ligkern_op(v[1]); -+ if (!op || (op & JT_ADDLIG)) -+ return -1; - found_kernop: -- int av = (v[0] == "*" ? J_ALL : encoding_of(v[0])); -- if (av < 0) -- return errh->warning("bad %<%s%> (%<%s%> has no encoding)", v[1].c_str(), v[0].c_str()); -- int bv = (v[2] == "*" ? J_ALL : encoding_of(v[2])); -- if (bv < 0) -- return errh->warning("bad %<%s%> (%<%s%> has no encoding)", v[1].c_str(), v[2].c_str()); -- if ((op & JT_KERN) && l && (av == J_ALL || bv == J_ALL)) -- return errh->warning("%<%s %s %s%> illegal, only {0} works with *", v[0].c_str(), v[1].c_str(), v[2].c_str()); -- Ligature lig = { av, bv, op, static_cast(l), 0 }; -- add_ligkern(lig, override); -- return 0; -+ int av = (v[0] == "*" ? J_ALL : encoding_of(v[0])); -+ if (av < 0) -+ return errh->warning("bad %<%s%> (%<%s%> has no encoding)", v[1].c_str(), v[0].c_str()); -+ int bv = (v[2] == "*" ? J_ALL : encoding_of(v[2])); -+ if (bv < 0) -+ return errh->warning("bad %<%s%> (%<%s%> has no encoding)", v[1].c_str(), v[2].c_str()); -+ if ((op & JT_KERN) && l && (av == J_ALL || bv == J_ALL)) -+ return errh->warning("%<%s %s %s%> illegal, only {0} works with *", v[0].c_str(), v[1].c_str(), v[2].c_str()); -+ Ligature lig = { av, bv, op, static_cast(l), 0 }; -+ add_ligkern(lig, override); -+ return 0; - - } else if (v.size() == 4 && ((op = find_ligkern_op(v[2])) & JT_ADDLIG)) { -- int av = encoding_of(v[0], override > 0); -- if (av < 0) -- return (override > 0 ? errh->warning("bad ligature (%<%s%> has no encoding)", v[0].c_str()) : -1); -- int bv = encoding_of(v[1], override > 0); -- if (bv < 0) -- return (override > 0 ? errh->warning("bad ligature (%<%s%> has no encoding)", v[1].c_str()) : -1); -- int cv = encoding_of(v[3], override > 0); -- if (cv < 0) -- return (override > 0 ? errh->warning("bad ligature (%<%s%> has no encoding)", v[3].c_str()) : -1); -- Ligature lig = { av, bv, op, 0, cv }; -- add_ligkern(lig, override); -- return 0; -+ int av = encoding_of(v[0], override > 0); -+ if (av < 0) -+ return (override > 0 ? errh->warning("bad ligature (%<%s%> has no encoding)", v[0].c_str()) : -1); -+ int bv = encoding_of(v[1], override > 0); -+ if (bv < 0) -+ return (override > 0 ? errh->warning("bad ligature (%<%s%> has no encoding)", v[1].c_str()) : -1); -+ int cv = encoding_of(v[3], override > 0); -+ if (cv < 0) -+ return (override > 0 ? errh->warning("bad ligature (%<%s%> has no encoding)", v[3].c_str()) : -1); -+ Ligature lig = { av, bv, op, 0, cv }; -+ add_ligkern(lig, override); -+ return 0; - - } else -- return -EPARSE; -+ return -EPARSE; - } - - int - DvipsEncoding::parse_position_words(Vector &v, int override, ErrorHandler *errh) - { - if (v.size() != 4) -- return -EPARSE; -+ return -EPARSE; - - int c = encoding_of(v[0]); - if (c < 0) -- return (override > 0 ? errh->warning("bad positioning (%<%s%> has no encoding)", v[0].c_str()) : -1); -+ return (override > 0 ? errh->warning("bad positioning (%<%s%> has no encoding)", v[0].c_str()) : -1); - - char *endptr; - int pdx, pdy, adx; - if (!v[1] || !v[2] || !v[3] -- || (pdx = strtol(v[1].c_str(), &endptr, 10), *endptr) -- || (pdy = strtol(v[2].c_str(), &endptr, 10), *endptr) -- || (adx = strtol(v[3].c_str(), &endptr, 10), *endptr)) -- return errh->error("parse error in POSITION"); -+ || (pdx = strtol(v[1].c_str(), &endptr, 10), *endptr) -+ || (pdy = strtol(v[2].c_str(), &endptr, 10), *endptr) -+ || (adx = strtol(v[3].c_str(), &endptr, 10), *endptr)) -+ return errh->error("parse error in POSITION"); - - Ligature l = { c, pdx, pdy, adx, 0 }; - Ligature *old = std::find(_pos.begin(), _pos.end(), l); - if (old == _pos.end()) -- _pos.push_back(l); -+ _pos.push_back(l); - else if (override > 0) -- *old = l; -+ *old = l; - return 0; - } - -@@ -498,31 +498,31 @@ DvipsEncoding::parse_unicoding_words(Vec - { - int av; - if (v.size() < 2 || (v[1] != "=" && v[1] != "=:" && v[1] != ":=")) -- return -EPARSE; -+ return -EPARSE; - else if (v[0] == "||" || (av = encoding_of(v[0])) < 0) -- return errh->warning("bad UNICODING (%<%s%> has no encoding)", v[0].c_str()); -+ return errh->warning("bad UNICODING (%<%s%> has no encoding)", v[0].c_str()); - - int original_size = _unicoding.size(); - - if (v.size() == 2 || (v.size() == 3 && v[2] == dot_notdef)) -- /* no warnings to delete a glyph */; -+ /* no warnings to delete a glyph */; - else { -- for (int i = 2; i < v.size(); i++) { -- if (_unicoding.size() != original_size) -- _unicoding.push_back(GLYPHLIST_ALTERNATIVE); -- if (!glyphname_unicode(v[i], _unicoding)) { -- errh->warning("can%,t map %<%s%> to Unicode", v[i].c_str()); -- if (i == v.size() - 1 && _unicoding.size() == original_size) -- errh->warning("target %<%s%> will be deleted from encoding", v[0].c_str()); -- else if (_unicoding.size() != original_size) -- _unicoding.pop_back(); -- } -- } -+ for (int i = 2; i < v.size(); i++) { -+ if (_unicoding.size() != original_size) -+ _unicoding.push_back(GLYPHLIST_ALTERNATIVE); -+ if (!glyphname_unicode(v[i], _unicoding)) { -+ errh->warning("can%,t map %<%s%> to Unicode", v[i].c_str()); -+ if (i == v.size() - 1 && _unicoding.size() == original_size) -+ errh->warning("target %<%s%> will be deleted from encoding", v[0].c_str()); -+ else if (_unicoding.size() != original_size) -+ _unicoding.pop_back(); -+ } -+ } - } - - _unicoding.push_back(0); - if (override > 0 || _unicoding_map[v[0]] < 0) -- _unicoding_map.insert(v[0], original_size); -+ _unicoding_map.insert(v[0], original_size); - return 0; - } - -@@ -536,31 +536,31 @@ void - DvipsEncoding::parse_word_group(Vector &words, int override, int wt, ErrorHandler *errh) - { - if (words.size() > 0) { -- int (DvipsEncoding::*method)(Vector &, int, ErrorHandler *) = word_types[wt].parsefunc; -- if ((this->*method)(words, override, errh) == -EPARSE) { -- Vector rewords; -- for (String *sp = words.begin(); sp != words.end(); sp++) { -- const char *s = sp->begin(), *ends = sp->end(); -- while (s != ends) { -- const char *word = s; -- if (*s == '{') { -- for (s++; s != ends && *s != '}'; s++) -- /* nada */; -- if (s != ends) -- s++; -- } else { -- bool x = retokenize_isword(*s); -- for (s++; s != ends && x == retokenize_isword(*s); s++) -- /* nada */; -- } -- rewords.push_back(sp->substring(word, s)); -- } -- } -- if ((this->*method)(rewords, override, errh) == -EPARSE) -- errh->error("parse error in %s", word_types[wt].name); -+ int (DvipsEncoding::*method)(Vector &, int, ErrorHandler *) = word_types[wt].parsefunc; -+ if ((this->*method)(words, override, errh) == -EPARSE) { -+ Vector rewords; -+ for (String *sp = words.begin(); sp != words.end(); sp++) { -+ const char *s = sp->begin(), *ends = sp->end(); -+ while (s != ends) { -+ const char *word = s; -+ if (*s == '{') { -+ for (s++; s != ends && *s != '}'; s++) -+ /* nada */; -+ if (s != ends) -+ s++; -+ } else { -+ bool x = retokenize_isword(*s); -+ for (s++; s != ends && x == retokenize_isword(*s); s++) -+ /* nada */; -+ } -+ rewords.push_back(sp->substring(word, s)); -+ } -+ } -+ if ((this->*method)(rewords, override, errh) == -EPARSE) -+ errh->error("parse error in %s", word_types[wt].name); - -- } -- words.clear(); -+ } -+ words.clear(); - } - } - -@@ -571,16 +571,16 @@ DvipsEncoding::parse_words(const String - const char *data = s.data(); - const char *end = s.end(); - while (data < end) { -- while (data < end && isspace((unsigned char) *data)) -- data++; -- const char *first = data; -- while (data < end && !isspace((unsigned char) *data) && *data != ';') -- data++; -- if (data == first) { -- data++; // step past semicolon (or harmlessly past EOS) -- parse_word_group(words, override, wt, errh); -- } else -- words.push_back(s.substring(first, data)); -+ while (data < end && isspace((unsigned char) *data)) -+ data++; -+ const char *first = data; -+ while (data < end && !isspace((unsigned char) *data) && *data != ';') -+ data++; -+ if (data == first) { -+ data++; // step past semicolon (or harmlessly past EOS) -+ parse_word_group(words, override, wt, errh); -+ } else -+ words.push_back(s.substring(first, data)); - } - parse_word_group(words, override, wt, errh); - return 0; -@@ -598,14 +598,14 @@ static String - trim_space(const String &s, int pos) - { - while (pos < s.length() && isspace((unsigned char) s[pos])) -- pos++; -+ pos++; - int epos = s.length(); - for (int x = 0; x < 2; x++) { -- while (epos > pos && isspace((unsigned char) s[epos - 1])) -- epos--; -- if (epos == pos || s[epos - 1] != ';') -- break; -- epos--; -+ while (epos > pos && isspace((unsigned char) s[epos - 1])) -+ epos--; -+ if (epos == pos || s[epos - 1] != ';') -+ break; -+ epos--; - } - return s.substring(pos, epos - pos); - } -@@ -616,7 +616,7 @@ DvipsEncoding::parse(String filename, bo - int before = errh->nerrors(); - String s = read_file(filename, errh); - if (errh->nerrors() != before) -- return -1; -+ return -1; - _filename = filename; - _printable_filename = printable_filename(filename); - _file_had_ligkern = false; -@@ -625,15 +625,15 @@ DvipsEncoding::parse(String filename, bo - // parse text - String token = tokenize(s, pos, line); - if (!token || token[0] != '/') -- return errh->lerror(landmark(line), "parse error, expected name"); -+ return errh->lerror(landmark(line), "parse error, expected name"); - _name = token.substring(1); - _initial_comment = s.substring(0, pos - token.length()); - - if (tokenize(s, pos, line) != "[") -- return errh->lerror(landmark(line), "parse error, expected ["); -+ return errh->lerror(landmark(line), "parse error, expected ["); - - while ((token = tokenize(s, pos, line)) && token[0] == '/') -- _e.push_back(token.substring(1)); -+ _e.push_back(token.substring(1)); - - _final_text = token + s.substring(pos); - -@@ -642,59 +642,59 @@ DvipsEncoding::parse(String filename, bo - Vector words; - LandmarkErrorHandler lerrh(errh, ""); - while ((token = comment_tokenize(s, pos, line))) -- if (token.length() >= 8 -- && memcmp(token.data(), "LIGKERN", 7) == 0 -- && isspace((unsigned char) token[7]) -- && !ignore_ligkern) { -- lerrh.set_landmark(landmark(line)); -- parse_words(token.substring(8), 1, WT_LIGKERN, &lerrh); -- -- } else if (token.length() >= 9 -- && memcmp(token.data(), "LIGKERNX", 8) == 0 -- && isspace((unsigned char) token[8]) -- && !ignore_ligkern) { -- lerrh.set_landmark(landmark(line)); -- parse_words(token.substring(9), 1, WT_LIGKERN, &lerrh); -- -- } else if (token.length() >= 10 -- && memcmp(token.data(), "UNICODING", 9) == 0 -- && isspace((unsigned char) token[9]) -- && !ignore_other) { -- lerrh.set_landmark(landmark(line)); -- parse_words(token.substring(10), 1, WT_UNICODING, &lerrh); -- -- } else if (token.length() >= 9 -- && memcmp(token.data(), "POSITION", 8) == 0 -- && isspace((unsigned char) token[8]) -- && !ignore_other) { -- lerrh.set_landmark(landmark(line)); -- parse_words(token.substring(9), 1, WT_POSITION, &lerrh); -- -- } else if (token.length() >= 13 -- && memcmp(token.data(), "CODINGSCHEME", 12) == 0 -- && isspace((unsigned char) token[12]) -- && !ignore_other) { -- _coding_scheme = trim_space(token, 13); -- if (_coding_scheme.length() > 39) -- lerrh.lwarning(landmark(line), "only first 39 chars of CODINGSCHEME are significant"); -- if (std::find(_coding_scheme.begin(), _coding_scheme.end(), '(') < _coding_scheme.end() -- || std::find(_coding_scheme.begin(), _coding_scheme.end(), ')') < _coding_scheme.end()) { -- lerrh.lerror(landmark(line), "CODINGSCHEME cannot contain parentheses"); -- _coding_scheme = String(); -- } -- -- } else if (token.length() >= 11 -- && memcmp(token.data(), "WARNMISSING", 11) == 0 -- && (token.length() == 11 || isspace((unsigned char) token[11])) -- && !ignore_other) { -- String value = trim_space(token, 11); -- if (value == "1" || value == "yes" || value == "true" || !value) -- _warn_missing = true; -- else if (value == "0" || value == "no" || value == "false") -- _warn_missing = false; -- else -- lerrh.lerror(landmark(line), "WARNMISSING command not understood"); -- } -+ if (token.length() >= 8 -+ && memcmp(token.data(), "LIGKERN", 7) == 0 -+ && isspace((unsigned char) token[7]) -+ && !ignore_ligkern) { -+ lerrh.set_landmark(landmark(line)); -+ parse_words(token.substring(8), 1, WT_LIGKERN, &lerrh); -+ -+ } else if (token.length() >= 9 -+ && memcmp(token.data(), "LIGKERNX", 8) == 0 -+ && isspace((unsigned char) token[8]) -+ && !ignore_ligkern) { -+ lerrh.set_landmark(landmark(line)); -+ parse_words(token.substring(9), 1, WT_LIGKERN, &lerrh); -+ -+ } else if (token.length() >= 10 -+ && memcmp(token.data(), "UNICODING", 9) == 0 -+ && isspace((unsigned char) token[9]) -+ && !ignore_other) { -+ lerrh.set_landmark(landmark(line)); -+ parse_words(token.substring(10), 1, WT_UNICODING, &lerrh); -+ -+ } else if (token.length() >= 9 -+ && memcmp(token.data(), "POSITION", 8) == 0 -+ && isspace((unsigned char) token[8]) -+ && !ignore_other) { -+ lerrh.set_landmark(landmark(line)); -+ parse_words(token.substring(9), 1, WT_POSITION, &lerrh); -+ -+ } else if (token.length() >= 13 -+ && memcmp(token.data(), "CODINGSCHEME", 12) == 0 -+ && isspace((unsigned char) token[12]) -+ && !ignore_other) { -+ _coding_scheme = trim_space(token, 13); -+ if (_coding_scheme.length() > 39) -+ lerrh.lwarning(landmark(line), "only first 39 chars of CODINGSCHEME are significant"); -+ if (std::find(_coding_scheme.begin(), _coding_scheme.end(), '(') < _coding_scheme.end() -+ || std::find(_coding_scheme.begin(), _coding_scheme.end(), ')') < _coding_scheme.end()) { -+ lerrh.lerror(landmark(line), "CODINGSCHEME cannot contain parentheses"); -+ _coding_scheme = String(); -+ } -+ -+ } else if (token.length() >= 11 -+ && memcmp(token.data(), "WARNMISSING", 11) == 0 -+ && (token.length() == 11 || isspace((unsigned char) token[11])) -+ && !ignore_other) { -+ String value = trim_space(token, 11); -+ if (value == "1" || value == "yes" || value == "true" || !value) -+ _warn_missing = true; -+ else if (value == "0" || value == "no" || value == "false") -+ _warn_missing = false; -+ else -+ lerrh.lerror(landmark(line), "WARNMISSING command not understood"); -+ } - - return 0; - } -@@ -721,23 +721,23 @@ void - DvipsEncoding::bad_codepoint(int code, Metrics &metrics, HashMap &unencoded) - { - for (int i = 0; i < _lig.size(); i++) { -- Ligature &l = _lig[i]; -- if (l.c1 == code || l.c2 == code) -- l.join = 0; -- else if ((l.join & JT_ADDLIG) && l.d == code) -- l.join &= ~JT_LIGALL; -+ Ligature &l = _lig[i]; -+ if (l.c1 == code || l.c2 == code) -+ l.join = 0; -+ else if ((l.join & JT_ADDLIG) && l.d == code) -+ l.join &= ~JT_LIGALL; - } - - if (_warn_missing) { -- Vector garbage; -- bool unicodes_explicit = x_unicodes(_e[code], garbage); -- if (!unicodes_explicit || garbage.size() > 0) { -- Vector v; -- v.push_back(Setting(Setting::RULE, 500, 500)); -- v.push_back(Setting(Setting::SPECIAL, String("Warning: missing glyph '") + _e[code] + "'")); -- metrics.encode_virtual(code, _e[code], 0, v, true); -- unencoded.insert(_e[code], 1); -- } -+ Vector garbage; -+ bool unicodes_explicit = x_unicodes(_e[code], garbage); -+ if (!unicodes_explicit || garbage.size() > 0) { -+ Vector v; -+ v.push_back(Setting(Setting::RULE, 500, 500)); -+ v.push_back(Setting(Setting::SPECIAL, String("Warning: missing glyph '") + _e[code] + "'")); -+ metrics.encode_virtual(code, _e[code], 0, v, true); -+ unencoded.insert(_e[code], 1); -+ } - } - } - -@@ -745,9 +745,9 @@ static inline Efont::OpenType::Glyph - map_uni(uint32_t uni, const Efont::OpenType::Cmap &cmap, const Metrics &m) - { - if (uni == U_EMPTYSLOT) -- return m.emptyslot_glyph(); -+ return m.emptyslot_glyph(); - else -- return cmap.map_uni(uni); -+ return cmap.map_uni(uni); - } - - bool -@@ -755,12 +755,12 @@ DvipsEncoding::x_unicodes(PermString chn - { - int i = _unicoding_map[chname]; - if (i >= 0) { -- for (; _unicoding[i] > 0; i++) -- unicodes.push_back(_unicoding[i]); -- return true; -+ for (; _unicoding[i] > 0; i++) -+ unicodes.push_back(_unicoding[i]); -+ return true; - } else { -- glyphname_unicode(chname, unicodes); -- return false; -+ glyphname_unicode(chname, unicodes); -+ return false; - } - } - -@@ -770,144 +770,144 @@ DvipsEncoding::make_metrics(Metrics &met - { - // first pass: without secondaries - for (int code = 0; code < _e.size(); code++) { -- PermString chname = _e[code]; -+ PermString chname = _e[code]; - -- // common case: skip .notdef -- if (chname == dot_notdef) -- continue; -- -- // find first single Unicode glyph supported by the font -- Efont::OpenType::Glyph glyph = 0; -- uint32_t glyph_uni = 0; -- { -- Vector unicodes; -- (void) x_unicodes(chname, unicodes); -- Vector::iterator u = unicodes.begin(); -- while (u != unicodes.end() && glyph <= 0) { -- uint32_t this_uni = u[0]; -- ++u; -- if (u != unicodes.end()) { -- if (*u != GLYPHLIST_ALTERNATIVE) -- break; -- ++u; -- } -- -- glyph = map_uni(this_uni, *finfo.cmap, metrics); -- if (glyph_uni == 0 || glyph > 0) -- glyph_uni = this_uni; -- } -- } -+ // common case: skip .notdef -+ if (chname == dot_notdef) -+ continue; -+ -+ // find first single Unicode glyph supported by the font -+ Efont::OpenType::Glyph glyph = 0; -+ uint32_t glyph_uni = 0; -+ { -+ Vector unicodes; -+ (void) x_unicodes(chname, unicodes); -+ Vector::iterator u = unicodes.begin(); -+ while (u != unicodes.end() && glyph <= 0) { -+ uint32_t this_uni = u[0]; -+ ++u; -+ if (u != unicodes.end()) { -+ if (*u != GLYPHLIST_ALTERNATIVE) -+ break; -+ ++u; -+ } -+ -+ glyph = map_uni(this_uni, *finfo.cmap, metrics); -+ if (glyph_uni == 0 || glyph > 0) -+ glyph_uni = this_uni; -+ } -+ } - -- // find named glyph, if any -- Efont::OpenType::Glyph named_glyph = finfo.glyphid(chname); -+ // find named glyph, if any -+ Efont::OpenType::Glyph named_glyph = finfo.glyphid(chname); - #if 0 -- // 2.May.2008: ff, fi, fl, ffi, and ffl might map to f_f, f_i, f_l, -- // f_f_i, and f_f_l -- if (!named_glyph && chname.length() > 0 && chname.length() <= 3 -- && chname[0] == 'f') { -- if (chname.equals("ff", 2)) -- named_glyph = finfo.glyphid("f_f"); -- else if (chname.equals("fi", 2)) -- named_glyph = finfo.glyphid("f_i"); -- else if (chname.equals("fl", 2)) -- named_glyph = finfo.glyphid("f_l"); -- else if (chname.equals("ffi", 2)) -- named_glyph = finfo.glyphid("f_f_i"); -- else if (chname.equals("ffl", 2)) -- named_glyph = finfo.glyphid("f_f_l"); -- } -+ // 2.May.2008: ff, fi, fl, ffi, and ffl might map to f_f, f_i, f_l, -+ // f_f_i, and f_f_l -+ if (!named_glyph && chname.length() > 0 && chname.length() <= 3 -+ && chname[0] == 'f') { -+ if (chname.equals("ff", 2)) -+ named_glyph = finfo.glyphid("f_f"); -+ else if (chname.equals("fi", 2)) -+ named_glyph = finfo.glyphid("f_i"); -+ else if (chname.equals("fl", 2)) -+ named_glyph = finfo.glyphid("f_l"); -+ else if (chname.equals("ffi", 2)) -+ named_glyph = finfo.glyphid("f_f_i"); -+ else if (chname.equals("ffl", 2)) -+ named_glyph = finfo.glyphid("f_f_l"); -+ } - #endif -- // do not use a Unicode-mapped glyph if literal -- if (literal) -- glyph = named_glyph; -- -- // If we found a glyph, maybe use its named_glyph variant. -- if (glyph > 0 && named_glyph > 0 -- && std::find(chname.begin(), chname.end(), '.') < chname.end()) -- glyph = named_glyph; -- -- // assign slot -- if (glyph > 0) -- metrics.encode(code, glyph_uni, glyph); -+ // do not use a Unicode-mapped glyph if literal -+ if (literal) -+ glyph = named_glyph; -+ -+ // If we found a glyph, maybe use its named_glyph variant. -+ if (glyph > 0 && named_glyph > 0 -+ && std::find(chname.begin(), chname.end(), '.') < chname.end()) -+ glyph = named_glyph; -+ -+ // assign slot -+ if (glyph > 0) -+ metrics.encode(code, glyph_uni, glyph); - } - - // second pass: with secondaries - for (int code = 0; code < _e.size(); code++) { -- // skip already-encoded characters and .notdef -- if (literal || metrics.glyph(code) > 0 || _e[code] == dot_notdef) -- continue; -- -- PermString chname = _e[code]; -- -- // find all Unicodes -- Vector unicodes; -- bool unicodes_explicit = x_unicodes(chname, unicodes); -- -- // find named glyph, if any -- Efont::OpenType::Glyph named_glyph = finfo.glyphid(chname); -- -- // 1. We were not able to find the glyph using Unicode. -- // 2. There might be a named_glyph. -- // May need to try secondaries later. Store this slot. -- // Try secondaries, if there's explicit unicoding or no named_glyph. -- if (unicodes_explicit || named_glyph <= 0) -- for (uint32_t *u = unicodes.begin(); u != unicodes.end(); ) { -- uint32_t *endu = u + 1; -- while (endu != unicodes.end() && *endu != GLYPHLIST_ALTERNATIVE) -- ++endu; -- if (secondary->encode_uni(code, chname, u, endu, metrics, errh)) -- goto encoded; -- u = (endu == unicodes.end() ? endu : endu + 1); -- } -- -- // 1. We were not able to find the glyph using Unicode or secondaries. -- // 2. There might be a named_glyph. -- // Use named glyph, if any. Special case for "UNICODING foo =: ;", -- // which should turn off the character (even if a named_glyph exists), -- // UNLESS the glyph was explicitly requested. -- if (named_glyph > 0 -- && (!unicodes_explicit -- || unicodes.size() > 0 -- || (_encoding_required.size() > code && _encoding_required[code]))) { -- uint32_t uni = 0; -- if (unicodes.size() == 1 || (unicodes.size() > 0 && unicodes[1] == GLYPHLIST_ALTERNATIVE)) -- uni = unicodes[0]; -- metrics.encode(code, uni, named_glyph); -- } -+ // skip already-encoded characters and .notdef -+ if (literal || metrics.glyph(code) > 0 || _e[code] == dot_notdef) -+ continue; -+ -+ PermString chname = _e[code]; -+ -+ // find all Unicodes -+ Vector unicodes; -+ bool unicodes_explicit = x_unicodes(chname, unicodes); -+ -+ // find named glyph, if any -+ Efont::OpenType::Glyph named_glyph = finfo.glyphid(chname); -+ -+ // 1. We were not able to find the glyph using Unicode. -+ // 2. There might be a named_glyph. -+ // May need to try secondaries later. Store this slot. -+ // Try secondaries, if there's explicit unicoding or no named_glyph. -+ if (unicodes_explicit || named_glyph <= 0) -+ for (uint32_t *u = unicodes.begin(); u != unicodes.end(); ) { -+ uint32_t *endu = u + 1; -+ while (endu != unicodes.end() && *endu != GLYPHLIST_ALTERNATIVE) -+ ++endu; -+ if (secondary->encode_uni(code, chname, u, endu, metrics, errh)) -+ goto encoded; -+ u = (endu == unicodes.end() ? endu : endu + 1); -+ } -+ -+ // 1. We were not able to find the glyph using Unicode or secondaries. -+ // 2. There might be a named_glyph. -+ // Use named glyph, if any. Special case for "UNICODING foo =: ;", -+ // which should turn off the character (even if a named_glyph exists), -+ // UNLESS the glyph was explicitly requested. -+ if (named_glyph > 0 -+ && (!unicodes_explicit -+ || unicodes.size() > 0 -+ || (_encoding_required.size() > code && _encoding_required[code]))) { -+ uint32_t uni = 0; -+ if (unicodes.size() == 1 || (unicodes.size() > 0 && unicodes[1] == GLYPHLIST_ALTERNATIVE)) -+ uni = unicodes[0]; -+ metrics.encode(code, uni, named_glyph); -+ } - - encoded: -- /* all set */; -+ /* all set */; - } - - // add altselector - if (_altselector_char >= 0 && _altselector_char < _e.size()) { -- metrics.add_altselector_code(_altselector_char, 0); -- if (metrics.glyph(_altselector_char) <= 0 && !literal) -- (void) secondary->encode_uni(_altselector_char, "altselector", U_ALTSELECTOR, metrics, errh); -+ metrics.add_altselector_code(_altselector_char, 0); -+ if (metrics.glyph(_altselector_char) <= 0 && !literal) -+ (void) secondary->encode_uni(_altselector_char, "", U_ALTSELECTOR, metrics, errh); - } - - // final pass: complain - HashMap unencoded_map; - for (int code = 0; code < _e.size(); code++) -- if (_e[code] != dot_notdef && metrics.glyph(code) <= 0) -- bad_codepoint(code, metrics, unencoded_map); -+ if (_e[code] != dot_notdef && metrics.glyph(code) <= 0) -+ bad_codepoint(code, metrics, unencoded_map); - Vector unencoded; - for (HashMap::iterator it = unencoded_map.begin(); it; ++it) -- unencoded.push_back(it.key()); -+ unencoded.push_back(it.key()); - - if (unencoded.size() == 1) { -- errh->warning("%<%s%> glyph not found in font", unencoded[0].c_str()); -- errh->message("(This glyph will appear as a blot and cause warnings if used.)"); -+ errh->warning("%<%s%> glyph not found in font", unencoded[0].c_str()); -+ errh->message("(This glyph will appear as a blot and cause warnings if used.)"); - } else if (unencoded.size() > 1) { -- std::sort(unencoded.begin(), unencoded.end()); -- StringAccum sa; -- for (const String* a = unencoded.begin(); a < unencoded.end(); a++) -- sa << *a << ' '; -- sa.pop_back(); -- sa.append_break_lines(sa.take_string(), 68, " "); -- sa.pop_back(); -- errh->warning("%d glyphs not found in font:", unencoded.size()); -- errh->message("%s\n(These glyphs will appear as blots and cause warnings if used.)", sa.c_str()); -+ std::sort(unencoded.begin(), unencoded.end()); -+ StringAccum sa; -+ for (const String* a = unencoded.begin(); a < unencoded.end(); a++) -+ sa << *a << ' '; -+ sa.pop_back(); -+ sa.append_break_lines(sa.take_string(), 68, " "); -+ sa.pop_back(); -+ errh->warning("%d glyphs not found in font:", unencoded.size()); -+ errh->message("%s\n(These glyphs will appear as blots and cause warnings if used.)", sa.c_str()); - } - - metrics.set_coding_scheme(_coding_scheme); -@@ -918,19 +918,19 @@ DvipsEncoding::make_base_mappings(Vector - { - mappings.clear(); - for (int code = 0; code < _e.size(); code++) { -- PermString chname = _e[code]; -+ PermString chname = _e[code]; - -- // common case: skip .notdef -- if (chname == dot_notdef) -- continue; -- -- // find named glyph -- Efont::OpenType::Glyph named_glyph = finfo.glyphid(chname); -- if (named_glyph > 0) { -- if (mappings.size() <= named_glyph) -- mappings.resize(named_glyph + 1, -1); -- mappings[named_glyph] = code; -- } -+ // common case: skip .notdef -+ if (chname == dot_notdef) -+ continue; -+ -+ // find named glyph -+ Efont::OpenType::Glyph named_glyph = finfo.glyphid(chname); -+ if (named_glyph > 0) { -+ if (mappings.size() <= named_glyph) -+ mappings.resize(named_glyph + 1, -1); -+ mappings[named_glyph] = code; -+ } - } - } - -@@ -940,24 +940,24 @@ DvipsEncoding::apply_ligkern_lig(Metrics - { - assert((int)J_ALL == (int)Metrics::CODE_ALL); - for (const Ligature *l = _lig.begin(); l < _lig.end(); l++) { -- if (l->c1 < 0 || l->c2 < 0 || l->join < 0 || !(l->join & JT_LIG)) -- continue; -- metrics.remove_ligatures(l->c1, l->c2); -- if (!(l->join & JT_ADDLIG)) -- /* nada */; -- else if ((l->join & JT_LIGALL) == JL_LIG) -- metrics.add_ligature(l->c1, l->c2, l->d); -- else if ((l->join & JT_LIGALL) == JL_LIGC) -- metrics.add_ligature(l->c1, l->c2, metrics.pair_code(l->d, l->c2)); -- else if ((l->join & JT_LIGALL) == JL_CLIG) -- metrics.add_ligature(l->c1, l->c2, metrics.pair_code(l->c1, l->d)); -- else { -- static int complex_join_warning = 0; -- if (!complex_join_warning) { -- errh->warning("complex LIGKERN ligature removed (I only support %<=:%>, %<=:|%>, and %<|=:%>)"); -- complex_join_warning = 1; -- } -- } -+ if (l->c1 < 0 || l->c2 < 0 || l->join < 0 || !(l->join & JT_LIG)) -+ continue; -+ metrics.remove_ligatures(l->c1, l->c2); -+ if (!(l->join & JT_ADDLIG)) -+ /* nada */; -+ else if ((l->join & JT_LIGALL) == JL_LIG) -+ metrics.add_ligature(l->c1, l->c2, l->d); -+ else if ((l->join & JT_LIGALL) == JL_LIGC) -+ metrics.add_ligature(l->c1, l->c2, metrics.pair_code(l->d, l->c2)); -+ else if ((l->join & JT_LIGALL) == JL_CLIG) -+ metrics.add_ligature(l->c1, l->c2, metrics.pair_code(l->c1, l->d)); -+ else { -+ static int complex_join_warning = 0; -+ if (!complex_join_warning) { -+ errh->warning("complex LIGKERN ligature removed (I only support %<=:%>, %<=:|%>, and %<|=:%>)"); -+ complex_join_warning = 1; -+ } -+ } - } - } - -@@ -966,14 +966,14 @@ DvipsEncoding::apply_ligkern_kern(Metric - { - assert((int)J_ALL == (int)Metrics::CODE_ALL); - for (const Ligature *l = _lig.begin(); l < _lig.end(); l++) -- if (l->c1 >= 0 && l->c2 >= 0 && (l->join & JT_KERN)) -- metrics.set_kern(l->c1, l->c2, l->k); -+ if (l->c1 >= 0 && l->c2 >= 0 && (l->join & JT_KERN)) -+ metrics.set_kern(l->c1, l->c2, l->k); - } - - void - DvipsEncoding::apply_position(Metrics &metrics, ErrorHandler *) const - { - for (const Ligature *l = _pos.begin(); l < _pos.end(); l++) -- if (l->c1 >= 0) -- metrics.add_single_positioning(l->c1, l->c2, l->join, l->k); -+ if (l->c1 >= 0) -+ metrics.add_single_positioning(l->c1, l->c2, l->join, l->k); - } -diff -up texlive-base-20170520/source/texk/lcdf-typetools/lcdf-typetools-src/otftotfm/dvipsencoding.hh.git4166ff9 texlive-base-20170520/source/texk/lcdf-typetools/lcdf-typetools-src/otftotfm/dvipsencoding.hh ---- texlive-base-20170520/source/texk/lcdf-typetools/lcdf-typetools-src/otftotfm/dvipsencoding.hh.git4166ff9 2016-11-25 13:08:53.000000000 -0500 -+++ texlive-base-20170520/source/texk/lcdf-typetools/lcdf-typetools-src/otftotfm/dvipsencoding.hh 2018-02-23 12:47:54.090971778 -0500 -@@ -13,27 +13,27 @@ class DvipsEncoding { public: - - static void add_glyphlist(String); - -- operator bool() const { return _e.size() > 0; } -- const String &name() const { return _name; } -- const String &filename() const { return _filename; } -- int boundary_char() const { return _boundary_char; } -- const String &coding_scheme() const { return _coding_scheme; } -- void set_coding_scheme(const String &s) { _coding_scheme = s; } -- void set_warn_missing(bool wm) { _warn_missing = wm; } -+ operator bool() const { return _e.size() > 0; } -+ const String &name() const { return _name; } -+ const String &filename() const { return _filename; } -+ int boundary_char() const { return _boundary_char; } -+ const String &coding_scheme() const { return _coding_scheme; } -+ void set_coding_scheme(const String &s) { _coding_scheme = s; } -+ void set_warn_missing(bool wm) { _warn_missing = wm; } - - void encode(int, PermString); - inline int encoding_of(PermString) const; - int encoding_of(PermString, bool encode); - inline bool encoded(int e) const; - inline PermString encoding(int e) const; -- int encoding_size() const { return _e.size(); } -+ int encoding_size() const { return _e.size(); } - - int parse(String filename, bool ignore_ligkern, bool ignore_other, ErrorHandler *); - int parse_ligkern(const String &ligkern_text, int override, ErrorHandler *); - int parse_position(const String &ligkern_text, int override, ErrorHandler *); - int parse_unicoding(const String &unicoding_text, int override, ErrorHandler *); - -- bool file_had_ligkern() const { return _file_had_ligkern; } -+ bool file_had_ligkern() const { return _file_had_ligkern; } - - // also modifies 'this': - void make_metrics(Metrics &, const FontInfo &, Secondary *, bool literal, ErrorHandler *); -@@ -44,17 +44,17 @@ class DvipsEncoding { public: - void apply_position(Metrics &, ErrorHandler *) const; - - enum { JT_KERN = 32, JT_LIG = 64, JT_ADDLIG = 128, JT_LIGALL = 199, -- JL_LIG = JT_LIG | JT_ADDLIG, JL_CLIG = JL_LIG | 1, -- JL_CLIG_S = JL_LIG | 2, JL_LIGC = JL_LIG | 3, -- JL_LIGC_S = JL_LIG | 4, JL_CLIGC = JL_LIG | 5, -- JL_CLIGC_S = JL_LIG | 6, JL_CLIGC_SS = JL_LIG | 7, -- JT_NOLIGKERN = JT_KERN | JT_LIG, -- J_ALL = 0x7FFFFFFF }; // also see nokern_names in dvipsencoding.cc -+ JL_LIG = JT_LIG | JT_ADDLIG, JL_CLIG = JL_LIG | 1, -+ JL_CLIG_S = JL_LIG | 2, JL_LIGC = JL_LIG | 3, -+ JL_LIGC_S = JL_LIG | 4, JL_CLIGC = JL_LIG | 5, -+ JL_CLIGC_S = JL_LIG | 6, JL_CLIGC_SS = JL_LIG | 7, -+ JT_NOLIGKERN = JT_KERN | JT_LIG, -+ J_ALL = 0x7FFFFFFF }; // also see nokern_names in dvipsencoding.cc - - private: - - struct Ligature { -- int c1, c2, join, k, d; -+ int c1, c2, join, k, d; - }; - - Vector _e; -@@ -79,8 +79,8 @@ class DvipsEncoding { public: - bool _warn_missing; - - struct WordType { -- const char *name; -- int (DvipsEncoding::*parsefunc)(Vector&, int, ErrorHandler*); -+ const char *name; -+ int (DvipsEncoding::*parsefunc)(Vector&, int, ErrorHandler*); - }; - static const WordType word_types[]; - enum { WT_LIGKERN = 0, WT_POSITION, WT_UNICODING }; -@@ -114,9 +114,9 @@ inline PermString - DvipsEncoding::encoding(int e) const - { - if (encoded(e)) -- return _e[e]; -+ return _e[e]; - else -- return PermString(); -+ return PermString(); - } - - inline int -diff -up texlive-base-20170520/source/texk/lcdf-typetools/lcdf-typetools-src/otftotfm/glyphfilter.cc.git4166ff9 texlive-base-20170520/source/texk/lcdf-typetools/lcdf-typetools-src/otftotfm/glyphfilter.cc ---- texlive-base-20170520/source/texk/lcdf-typetools/lcdf-typetools-src/otftotfm/glyphfilter.cc.git4166ff9 2016-11-25 13:08:53.000000000 -0500 -+++ texlive-base-20170520/source/texk/lcdf-typetools/lcdf-typetools-src/otftotfm/glyphfilter.cc 2018-02-23 12:47:54.090971778 -0500 -@@ -1,6 +1,6 @@ - /* glyphfilter.{cc,hh} -- define subsets of characters - * -- * Copyright (c) 2004-2016 Eddie Kohler -+ * Copyright (c) 2004-2018 Eddie Kohler - * - * 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 -@@ -30,7 +30,7 @@ GlyphFilter::allow(Efont::OpenType::Glyp - { - // out-of-range glyphs never match - if (glyph < 0 || glyph >= glyph_names.size()) -- return false; -+ return false; - - String glyph_name = glyph_names[glyph]; - int uniprop = -1; -@@ -39,32 +39,32 @@ GlyphFilter::allow(Efont::OpenType::Glyp - - // loop over patterns - for (const Pattern* p = _patterns.begin(); p < _patterns.end(); p++) { -- // check pattern type -- if ((p->type & ~T_TYPEMASK) != ptype) -- continue; -- // check include/exclude -- if ((p->type & T_EXCLUDE) == 0) { -- if (included) -- continue; -- any_includes = true; -- } -- // check if there's a match -- bool match; -- if (p->data == D_NAME) -- match = glob_match(glyph_name, p->pattern); -- else if (p->data == D_UNIPROP) { -- if (uniprop < 0) -- uniprop = UnicodeProperty::property(unicode); -- match = ((uniprop & p->u.uniprop.mask) == p->u.uniprop.value); -- } else -- match = (unicode >= p->u.unirange.low && unicode <= p->u.unirange.high); -- // act if match -- if (match == ((p->type & T_NEGATE) == 0)) { -- if ((p->type & T_EXCLUDE) == 0) -- included = true; -- else -- return false; -- } -+ // check pattern type -+ if ((p->type & ~T_TYPEMASK) != ptype) -+ continue; -+ // check include/exclude -+ if ((p->type & T_EXCLUDE) == 0) { -+ if (included) -+ continue; -+ any_includes = true; -+ } -+ // check if there's a match -+ bool match; -+ if (p->data == D_NAME) -+ match = glob_match(glyph_name, p->pattern); -+ else if (p->data == D_UNIPROP) { -+ if (uniprop < 0) -+ uniprop = UnicodeProperty::property(unicode); -+ match = ((uniprop & p->u.uniprop.mask) == p->u.uniprop.value); -+ } else -+ match = (unicode >= p->u.unirange.low && unicode <= p->u.unirange.high); -+ // act if match -+ if (match == ((p->type & T_NEGATE) == 0)) { -+ if ((p->type & T_EXCLUDE) == 0) -+ included = true; -+ else -+ return false; -+ } - } - - return !any_includes || included; -@@ -83,13 +83,13 @@ GlyphFilter::Pattern::compare(const Glyp - { - int cmp = a.type - b.type; - if (cmp == 0) -- cmp = a.data - b.data; -+ cmp = a.data - b.data; - if (cmp == 0) -- cmp = (int) (a.u.unirange.low - b.u.unirange.low); -+ cmp = (int) (a.u.unirange.low - b.u.unirange.low); - if (cmp == 0) -- cmp = (int) (a.u.unirange.high - b.u.unirange.high); -+ cmp = (int) (a.u.unirange.high - b.u.unirange.high); - if (cmp == 0) -- cmp = String::compare(a.pattern, b.pattern); -+ cmp = String::compare(a.pattern, b.pattern); - return cmp; - } - -@@ -101,59 +101,59 @@ GlyphFilter::add_pattern(const String& p - const char* begin = pattern.begin(); - const char* end = pattern.end(); - while (begin < end && isspace((unsigned char) *begin)) -- begin++; -+ begin++; - if (begin >= end) -- errh->error("missing pattern"); -+ errh->error("missing pattern"); - - while (begin < end) { -- const char* word = begin; -- while (word < end && !isspace((unsigned char) *word)) -- word++; -- bool negated = false; -- if (begin < word && begin[0] == '!') -- negated = true, begin++; -- -- // actually parse clause -- Pattern p(ptype + (negated ? T_NEGATE : 0)); -- -- // unicode property -- if (begin + 3 <= word && begin[0] == '<' && word[-1] == '>') { -- p.data = D_UNIPROP; -- if (UnicodeProperty::parse_property(pattern.substring(begin + 1, word - 1), p.u.uniprop.value, p.u.uniprop.mask)) -- _patterns.push_back(p); -- else if (errh) -- errh->error("unknown Unicode property %<%s%>", pattern.c_str()); -- goto next_clause; -- } -- -- // unicode values -- { -- const char* dash = std::find(begin, word, '-'); -- if (parse_unicode_number(begin, dash, 2, p.u.unirange.low)) { -- if (dash == word) -- p.u.unirange.high = p.u.unirange.low; -- else if (dash == word - 1) -- p.u.unirange.high = 0xFFFFFFFFU; -- else if (parse_unicode_number(dash + 1, word, (begin[0] == 'U' ? 1 : 0), p.u.unirange.high)) -- /* do nothing */; -- else -- goto name_pattern; // assume it's a name -- p.data = D_UNIRANGE; -- _patterns.push_back(p); -- goto next_clause; -- } -- } -+ const char* word = begin; -+ while (word < end && !isspace((unsigned char) *word)) -+ word++; -+ bool negated = false; -+ if (begin < word && begin[0] == '!') -+ negated = true, begin++; -+ -+ // actually parse clause -+ Pattern p(ptype + (negated ? T_NEGATE : 0)); -+ -+ // unicode property -+ if (begin + 3 <= word && begin[0] == '<' && word[-1] == '>') { -+ p.data = D_UNIPROP; -+ if (UnicodeProperty::parse_property(pattern.substring(begin + 1, word - 1), p.u.uniprop.value, p.u.uniprop.mask)) -+ _patterns.push_back(p); -+ else if (errh) -+ errh->error("unknown Unicode property %<%s%>", pattern.c_str()); -+ goto next_clause; -+ } -+ -+ // unicode values -+ { -+ const char* dash = std::find(begin, word, '-'); -+ if (parse_unicode_number(begin, dash, 2, p.u.unirange.low)) { -+ if (dash == word) -+ p.u.unirange.high = p.u.unirange.low; -+ else if (dash == word - 1) -+ p.u.unirange.high = 0xFFFFFFFFU; -+ else if (parse_unicode_number(dash + 1, word, (begin[0] == 'U' ? 1 : 0), p.u.unirange.high)) -+ /* do nothing */; -+ else -+ goto name_pattern; // assume it's a name -+ p.data = D_UNIRANGE; -+ _patterns.push_back(p); -+ goto next_clause; -+ } -+ } - -- // otherwise must be name pattern -+ // otherwise must be name pattern - name_pattern: -- p.data = D_NAME; -- p.pattern = pattern.substring(begin, word); -- _patterns.push_back(p); -+ p.data = D_NAME; -+ p.pattern = pattern.substring(begin, word); -+ _patterns.push_back(p); - -- // move to next clause -+ // move to next clause - next_clause: -- for (begin = word; begin < end && isspace((unsigned char) *begin); begin++) -- /* nada */; -+ for (begin = word; begin < end && isspace((unsigned char) *begin); begin++) -+ /* nada */; - } - } - -@@ -176,7 +176,7 @@ GlyphFilter::operator+=(const GlyphFilte - _patterns.reserve(gf._patterns.size()); - const Pattern* end = gf._patterns.end(); - for (const Pattern* p = gf._patterns.begin(); p < end; p++) -- _patterns.push_back(*p); -+ _patterns.push_back(*p); - return *this; - } - -@@ -184,9 +184,9 @@ GlyphFilter - operator+(const GlyphFilter& a, const GlyphFilter& b) - { - if (!b) -- return a; -+ return a; - if (!a) -- return b; -+ return b; - GlyphFilter x(a); - x += b; - return x; -@@ -196,14 +196,14 @@ bool - operator==(const GlyphFilter& a, const GlyphFilter& b) - { - if (&a == &b) -- return true; -+ return true; - if (a._patterns.size() != b._patterns.size()) -- return false; -+ return false; - const GlyphFilter::Pattern* pa = a._patterns.begin(); - const GlyphFilter::Pattern* pb = b._patterns.begin(); - for (; pa < a._patterns.end(); pa++, pb++) -- if (!(*pa == *pb)) -- return false; -+ if (!(*pa == *pb)) -+ return false; - return true; - } - -@@ -211,10 +211,10 @@ void - GlyphFilter::sort() - { - if (!_sorted) { -- std::sort(_patterns.begin(), _patterns.end()); -- Pattern* true_end = std::unique(_patterns.begin(), _patterns.end()); -- _patterns.erase(true_end, _patterns.end()); -- _sorted = true; -+ std::sort(_patterns.begin(), _patterns.end()); -+ Pattern* true_end = std::unique(_patterns.begin(), _patterns.end()); -+ _patterns.erase(true_end, _patterns.end()); -+ _sorted = true; - } - } - -@@ -222,15 +222,15 @@ void - GlyphFilter::unparse(StringAccum& sa) const - { - for (const Pattern* p = _patterns.begin(); p < _patterns.end(); p++) { -- sa << (p->type & T_DST ? 'D' : 'S') << (p->type & T_NEGATE ? "!" : "") << (p->type & T_EXCLUDE ? "X" : ""); -- if (p->data == D_NAME) -- sa << '<' << p->pattern << '>'; -- else if (p->data == D_UNIPROP) -- sa << "[UNIPROP:" << p->u.uniprop.mask << '=' << p->u.uniprop.value << ']'; -- else -- sa.snprintf(20, "[U+%02x-U+%02x]", p->u.unirange.low, p->u.unirange.high); -- sa << ' '; -+ sa << (p->type & T_DST ? 'D' : 'S') << (p->type & T_NEGATE ? "!" : "") << (p->type & T_EXCLUDE ? "X" : ""); -+ if (p->data == D_NAME) -+ sa << '<' << p->pattern << '>'; -+ else if (p->data == D_UNIPROP) -+ sa << "[UNIPROP:" << p->u.uniprop.mask << '=' << p->u.uniprop.value << ']'; -+ else -+ sa.snprintf(20, "[U+%02x-U+%02x]", p->u.unirange.low, p->u.unirange.high); -+ sa << ' '; - } - if (_patterns.size()) -- sa.pop_back(); -+ sa.pop_back(); - } -diff -up texlive-base-20170520/source/texk/lcdf-typetools/lcdf-typetools-src/otftotfm/glyphfilter.hh.git4166ff9 texlive-base-20170520/source/texk/lcdf-typetools/lcdf-typetools-src/otftotfm/glyphfilter.hh ---- texlive-base-20170520/source/texk/lcdf-typetools/lcdf-typetools-src/otftotfm/glyphfilter.hh.git4166ff9 2016-11-25 13:08:53.000000000 -0500 -+++ texlive-base-20170520/source/texk/lcdf-typetools/lcdf-typetools-src/otftotfm/glyphfilter.hh 2018-02-23 12:47:54.091971753 -0500 -@@ -6,9 +6,9 @@ class Metrics; - - class GlyphFilter { public: - -- GlyphFilter() : _sorted(true) { } -+ GlyphFilter() : _sorted(true) { } - -- operator bool() const { return _patterns.size() != 0; } -+ operator bool() const { return _patterns.size() != 0; } - - inline bool allow_substitution(Efont::OpenType::Glyph glyph, const Vector& glyph_names, uint32_t unicode) const; - inline bool allow_alternate(Efont::OpenType::Glyph glyph, const Vector& glyph_names, uint32_t unicode) const; -@@ -17,34 +17,34 @@ class GlyphFilter { public: - void add_alternate_filter(const String&, bool is_exclude, ErrorHandler*); - - friend bool operator==(const GlyphFilter&, const GlyphFilter&); -- inline bool check_eq(GlyphFilter&); // may alter both GlyphFilters -+ inline bool check_eq(GlyphFilter&); // may alter both GlyphFilters - - GlyphFilter& operator+=(const GlyphFilter&); - - void unparse(StringAccum&) const; - - struct Pattern { -- uint16_t type; -- uint16_t data; -- union { -- struct { -- int mask; -- int value; -- } uniprop; -- struct { -- uint32_t low; -- uint32_t high; -- } unirange; -- } u; -- String pattern; -- Pattern(uint16_t type); -- static int compare(const Pattern&, const Pattern&); -+ uint16_t type; -+ uint16_t data; -+ union { -+ struct { -+ int mask; -+ int value; -+ } uniprop; -+ struct { -+ uint32_t low; -+ uint32_t high; -+ } unirange; -+ } u; -+ String pattern; -+ Pattern(uint16_t type); -+ static int compare(const Pattern&, const Pattern&); - }; - - private: - - enum { T_EXCLUDE = 1, T_NEGATE = 2, T_TYPEMASK = 3, -- T_SRC = 0, T_DST = 4 }; -+ T_SRC = 0, T_DST = 4 }; - enum { D_NAME, D_UNIPROP, D_UNIRANGE }; - - Vector _patterns; -diff -up texlive-base-20170520/source/texk/lcdf-typetools/lcdf-typetools-src/otftotfm/kpseinterface.c.git4166ff9 texlive-base-20170520/source/texk/lcdf-typetools/lcdf-typetools-src/otftotfm/kpseinterface.c ---- texlive-base-20170520/source/texk/lcdf-typetools/lcdf-typetools-src/otftotfm/kpseinterface.c.git4166ff9 2016-11-25 13:08:53.000000000 -0500 -+++ texlive-base-20170520/source/texk/lcdf-typetools/lcdf-typetools-src/otftotfm/kpseinterface.c 2018-02-23 12:47:54.091971753 -0500 -@@ -1,6 +1,6 @@ - /* kpseinterface.{c,h} -- interface with the kpathsea library - * -- * Copyright (c) 2003-2016 Eddie Kohler -+ * Copyright (c) 2003-2018 Eddie Kohler - * - * 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 -@@ -21,9 +21,6 @@ - #include - #include - #include --#ifdef W32TEX --#include --#endif - #include "kpseinterface.h" - - int kpsei_env_sep_char = ENV_SEP; -@@ -89,11 +86,3 @@ kpsei_set_debug_flags(unsigned flags) - { - kpathsea_debug = flags; - } -- --#ifdef W32TEX --char* --kpsei_var_value(const char *name) --{ -- return kpse_var_value(name); --} --#endif -diff -up texlive-base-20170520/source/texk/lcdf-typetools/lcdf-typetools-src/otftotfm/kpseinterface.h.git4166ff9 texlive-base-20170520/source/texk/lcdf-typetools/lcdf-typetools-src/otftotfm/kpseinterface.h ---- texlive-base-20170520/source/texk/lcdf-typetools/lcdf-typetools-src/otftotfm/kpseinterface.h.git4166ff9 2016-11-25 13:08:53.000000000 -0500 -+++ texlive-base-20170520/source/texk/lcdf-typetools/lcdf-typetools-src/otftotfm/kpseinterface.h 2018-02-23 12:47:54.091971753 -0500 -@@ -13,10 +13,6 @@ enum { KPSEI_FMT_WEB2C, KPSEI_FMT_ENCODI - char* kpsei_find_file(const char* name, int format); - void kpsei_set_debug_flags(unsigned flags); - --#ifdef W32TEX --char* kpsei_var_value(const char *name); --#endif -- - #ifdef __cplusplus - } - #endif -diff -up texlive-base-20170520/source/texk/lcdf-typetools/lcdf-typetools-src/otftotfm/Makefile.am.git4166ff9 texlive-base-20170520/source/texk/lcdf-typetools/lcdf-typetools-src/otftotfm/Makefile.am ---- texlive-base-20170520/source/texk/lcdf-typetools/lcdf-typetools-src/otftotfm/Makefile.am.git4166ff9 2016-11-25 13:08:53.000000000 -0500 -+++ texlive-base-20170520/source/texk/lcdf-typetools/lcdf-typetools-src/otftotfm/Makefile.am 2018-02-23 12:47:54.091971753 -0500 -@@ -11,6 +11,7 @@ otftotfm_SOURCES = \ - metrics.cc metrics.hh \ - otftotfm.cc otftotfm.hh \ - secondary.cc secondary.hh \ -+ setting.hh \ - uniprop.cc uniprop.hh \ - util.cc util.hh - EXTRA_otftotfm_SOURCES = kpseinterface.c kpseinterface.h -diff -up texlive-base-20170520/source/texk/lcdf-typetools/lcdf-typetools-src/otftotfm/metrics.cc.git4166ff9 texlive-base-20170520/source/texk/lcdf-typetools/lcdf-typetools-src/otftotfm/metrics.cc ---- texlive-base-20170520/source/texk/lcdf-typetools/lcdf-typetools-src/otftotfm/metrics.cc.git4166ff9 2016-11-25 13:08:53.000000000 -0500 -+++ texlive-base-20170520/source/texk/lcdf-typetools/lcdf-typetools-src/otftotfm/metrics.cc 2018-02-23 12:47:54.092971728 -0500 -@@ -1,6 +1,6 @@ - /* metrics.{cc,hh} -- an encoding during and after OpenType features - * -- * Copyright (c) 2003-2016 Eddie Kohler -+ * Copyright (c) 2003-2018 Eddie Kohler - * - * 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 -@@ -35,7 +35,7 @@ Metrics::Metrics(const Efont::Charstring - Metrics::~Metrics() - { - for (Char *c = _encoding.begin(); c != _encoding.end(); c++) -- delete c->virtual_char; -+ delete c->virtual_char; - } - - int -@@ -54,36 +54,36 @@ Metrics::check() const - // 2. all 'ligatures' entries with 'in1 == c' are in '_encoding[c].ligs' - // 3. 'virtual_char' SHOW operations point to valid non-virtual chars - for (int code = 0; code < _encoding.size(); code++) { -- const Char *ch = &_encoding[code]; -- assert((ch->virtual_char != 0) == (ch->glyph == VIRTUAL_GLYPH)); -- for (const Ligature *l = ch->ligatures.begin(); l != ch->ligatures.end(); l++) -- assert(valid_code(l->in2) && valid_code(l->out)); -- for (const Kern *k = ch->kerns.begin(); k != ch->kerns.end(); k++) -- assert(valid_code(k->in2)); -- if (const VirtualChar *vc = ch->virtual_char) { -- assert(vc->name); -- int font_number = 0; -- for (const Setting *s = vc->setting.begin(); s != vc->setting.end(); s++) { -- assert(s->valid_op()); -- if (s->op == Setting::SHOW && font_number == 0) -- assert(nonvirtual_code(s->x)); -- else if (s->op == Setting::FONT) -- font_number = s->x; -- } -- } -- assert(ch->built_in1 < 0 || valid_code(ch->built_in1)); -- assert(ch->built_in2 < 0 || valid_code(ch->built_in2)); -- assert((ch->built_in1 >= 0) == (ch->built_in2 >= 0)); -- assert(ch->base_code < 0 || valid_code(ch->base_code)); -- if (valid_code(ch->base_code)) { -- const Char *ch2 = &_encoding[ch->base_code]; -- assert((!ch->virtual_char && ch->glyph) -- || (!ch2->virtual_char && ch2->glyph)); -- } -- if (ch->flag(Char::CONTEXT_ONLY)) -- assert(ch->virtual_char && ch->built_in1 >= 0 && ch->built_in2 >= 0); -- if (ch->flag(Char::CONTEXT_ONLY)) -- assert(ch->flag(Char::LIVE)); -+ const Char *ch = &_encoding[code]; -+ assert((ch->virtual_char != 0) == (ch->glyph == VIRTUAL_GLYPH)); -+ for (const Ligature *l = ch->ligatures.begin(); l != ch->ligatures.end(); l++) -+ assert(valid_code(l->in2) && valid_code(l->out)); -+ for (const Kern *k = ch->kerns.begin(); k != ch->kerns.end(); k++) -+ assert(valid_code(k->in2)); -+ if (const VirtualChar *vc = ch->virtual_char) { -+ assert(vc->name); -+ int font_number = 0; -+ for (const Setting *s = vc->setting.begin(); s != vc->setting.end(); s++) { -+ assert(s->valid_op()); -+ if (s->op == Setting::SHOW && font_number == 0) -+ assert(nonvirtual_code(s->x)); -+ else if (s->op == Setting::FONT) -+ font_number = s->x; -+ } -+ } -+ assert(ch->built_in1 < 0 || valid_code(ch->built_in1)); -+ assert(ch->built_in2 < 0 || valid_code(ch->built_in2)); -+ assert((ch->built_in1 >= 0) == (ch->built_in2 >= 0)); -+ assert(ch->base_code < 0 || valid_code(ch->base_code)); -+ if (valid_code(ch->base_code)) { -+ const Char *ch2 = &_encoding[ch->base_code]; -+ assert((!ch->virtual_char && ch->glyph) -+ || (!ch2->virtual_char && ch2->glyph)); -+ } -+ if (ch->flag(Char::CONTEXT_ONLY)) -+ assert(ch->virtual_char && ch->built_in1 >= 0 && ch->built_in2 >= 0); -+ if (ch->flag(Char::CONTEXT_ONLY)) -+ assert(ch->flag(Char::LIVE)); - } - } - -@@ -91,32 +91,32 @@ PermString - Metrics::code_name(Code code) const - { - if (code < 0 || code >= _encoding.size()) -- return permprintf("", code); -+ return permprintf("", code); - else { -- const Char &ch = _encoding[code]; -- if (ch.virtual_char) -- return ch.virtual_char->name; -- else if (ch.glyph == _boundary_glyph) -- return ""; -- else if (ch.glyph == _emptyslot_glyph) -- return ""; -- else if (ch.glyph >= 0 && ch.glyph < _mapped_fonts[0]->nglyphs()) -- return _mapped_fonts[0]->glyph_name(ch.glyph); -- else -- return permprintf("", ch.glyph); -+ const Char &ch = _encoding[code]; -+ if (ch.virtual_char) -+ return ch.virtual_char->name; -+ else if (ch.glyph == _boundary_glyph) -+ return ""; -+ else if (ch.glyph == _emptyslot_glyph) -+ return ""; -+ else if (ch.glyph >= 0 && ch.glyph < _mapped_fonts[0]->nglyphs()) -+ return _mapped_fonts[0]->glyph_name(ch.glyph); -+ else -+ return permprintf("", ch.glyph); - } - } - - - /*****************************************************************************/ --/* encoding */ -+/* encoding */ - - Metrics::Code - Metrics::unicode_encoding(uint32_t uni) const - { - for (const Char *ch = _encoding.begin(); ch < _encoding.end(); ch++) -- if (ch->unicode == uni) -- return ch - _encoding.begin(); -+ if (ch->unicode == uni) -+ return ch - _encoding.begin(); - return -1; - } - -@@ -124,15 +124,15 @@ Metrics::Code - Metrics::hard_encoding(Glyph g, Code after) const - { - if (g < 0) -- return -1; -+ return -1; - int answer = -1, n = 0; - for (int i = _encoding.size() - 1; i >= after; i--) -- if (_encoding[i].glyph == g) -- answer = i, n++; -+ if (_encoding[i].glyph == g) -+ answer = i, n++; - if (n < 2 && after == 0) { -- if (g >= _emap.size()) -- _emap.resize(g + 1, -2); -- _emap[g] = answer; -+ if (g >= _emap.size()) -+ _emap.resize(g + 1, -2); -+ _emap[g] = answer; - } - return answer; - } -@@ -143,15 +143,15 @@ Metrics::force_encoding(Glyph g, int loo - assert(g >= 0); - int e = encoding(g, 0); - if (e >= 0) -- return e; -+ return e; - else { -- Char ch; -- ch.glyph = g; -- ch.base_code = _encoding.size(); -- ch.lookup_source = lookup_source; -- _encoding.push_back(ch); -- assign_emap(g, ch.base_code); -- return ch.base_code; -+ Char ch; -+ ch.glyph = g; -+ ch.base_code = _encoding.size(); -+ ch.lookup_source = lookup_source; -+ _encoding.push_back(ch); -+ assign_emap(g, ch.base_code); -+ return ch.base_code; - } - } - -@@ -160,11 +160,11 @@ Metrics::encode(Code code, uint32_t uni, - { - assert(code >= 0 && g >= 0 && g != VIRTUAL_GLYPH); - if (code >= _encoding.size()) -- _encoding.resize(code + 1, Char()); -+ _encoding.resize(code + 1, Char()); - _encoding[code].unicode = uni; - _encoding[code].glyph = g; - if (g > 0) -- _encoding[code].base_code = code; -+ _encoding[code].base_code = code; - assert(!_encoding[code].virtual_char); - assign_emap(g, code); - } -@@ -174,20 +174,20 @@ Metrics::encode_virtual(Code code, PermS - { - assert(code >= 0 && v.size() > 0); - if (code >= _encoding.size()) -- _encoding.resize(code + 1, Char()); -+ _encoding.resize(code + 1, Char()); - _encoding[code].unicode = uni; - _encoding[code].glyph = VIRTUAL_GLYPH; - if (base_char) -- _encoding[code].flags |= Char::BASE_REP; -+ _encoding[code].flags |= Char::BASE_REP; - assert(!_encoding[code].virtual_char); - VirtualChar *vc = _encoding[code].virtual_char = new VirtualChar; - vc->name = name; - vc->setting = v; - int font_number = 0; - for (Setting *s = vc->setting.begin(); s != vc->setting.end(); s++) { -- assert(s->valid_op() && (s->op != Setting::SHOW || font_number != 0 || nonvirtual_code(s->x))); -- if (s->op == Setting::FONT) -- font_number = s->x; -+ assert(s->valid_op() && (s->op != Setting::SHOW || font_number != 0 || nonvirtual_code(s->x))); -+ if (s->op == Setting::FONT) -+ font_number = s->x; - } - } - -@@ -196,28 +196,28 @@ Metrics::apply_base_encoding(const Strin - { - int font_number = -1; - for (Char *c = _encoding.begin(); c != _encoding.end(); c++) -- if (c->glyph > 0 && !c->virtual_char && c->glyph < mapping.size() -- && mapping[c->glyph] >= 0) { -- if (font_number < 0) -- font_number = add_mapped_font(mapped_font(0), font_name); -- VirtualChar *vc = c->virtual_char = new VirtualChar; -- vc->name = dvipsenc.encoding(mapping[c->glyph]); -- vc->setting.push_back(Setting(Setting::FONT, font_number)); -- vc->setting.push_back(Setting(Setting::SHOW, mapping[c->glyph], c->glyph)); -- c->glyph = VIRTUAL_GLYPH; -- c->base_code = -1; -- c->flags = (c->flags & ~Char::BASE_LIVE) | Char::BASE_REP; -- } -+ if (c->glyph > 0 && !c->virtual_char && c->glyph < mapping.size() -+ && mapping[c->glyph] >= 0) { -+ if (font_number < 0) -+ font_number = add_mapped_font(mapped_font(0), font_name); -+ VirtualChar *vc = c->virtual_char = new VirtualChar; -+ vc->name = dvipsenc.encoding(mapping[c->glyph]); -+ vc->setting.push_back(Setting(Setting::FONT, font_number)); -+ vc->setting.push_back(Setting(Setting::SHOW, mapping[c->glyph], c->glyph)); -+ c->glyph = VIRTUAL_GLYPH; -+ c->base_code = -1; -+ c->flags = (c->flags & ~Char::BASE_LIVE) | Char::BASE_REP; -+ } - } - - void - Metrics::add_altselector_code(Code code, int altselector_type) - { - for (Kern *k = _altselectors.begin(); k != _altselectors.end(); k++) -- if (k->in2 == code) { -- k->kern = altselector_type; -- return; -- } -+ if (k->in2 == code) { -+ k->kern = altselector_type; -+ return; -+ } - _altselectors.push_back(Kern(code, altselector_type)); - } - -@@ -227,16 +227,16 @@ Metrics::base_glyphs(Vector &v, i - bool any = false; - v.assign(_encoding.size(), 0); - for (const Char *ch = _encoding.begin(); ch != _encoding.end(); ch++) -- if (ch->base_code >= 0 && ch->base_code < size) { -- v[ch->base_code] = ch->glyph; -- any = true; -- } -+ if (ch->base_code >= 0 && ch->base_code < size) { -+ v[ch->base_code] = ch->glyph; -+ any = true; -+ } - return any; - } - - - /*****************************************************************************/ --/* Char methods */ -+/* Char methods */ - - void - Metrics::Char::clear() -@@ -260,7 +260,7 @@ Metrics::Char::swap(Char &c) - std::swap(glyph, c.glyph); - // NB: only a partial switch of base_code!! - if (base_code < 0) -- base_code = c.base_code; -+ base_code = c.base_code; - c.base_code = -1; - std::swap(unicode, c.unicode); - ligatures.swap(c.ligatures); -@@ -277,7 +277,7 @@ Metrics::Char::swap(Char &c) - - - /*****************************************************************************/ --/* manipulating ligature lists */ -+/* manipulating ligature lists */ - - Metrics::Ligature * - Metrics::ligature_obj(Code code1, Code code2) -@@ -285,8 +285,8 @@ Metrics::ligature_obj(Code code1, Code c - assert(valid_code(code1) && valid_code(code2)); - Char &ch = _encoding[code1]; - for (Ligature *l = ch.ligatures.begin(); l != ch.ligatures.end(); l++) -- if (l->in2 == code2) -- return l; -+ if (l->in2 == code2) -+ return l; - return 0; - } - -@@ -307,39 +307,39 @@ void - Metrics::add_ligature(Code in1, Code in2, Code out) - { - if (Ligature *l = ligature_obj(in1, in2)) { -- Char &ch = _encoding[l->out]; -- if (ch.flags & Char::BUILT) { -- // move old ligatures to point to the true ligature -- for (Ligature *ll = ch.ligatures.begin(); ll != ch.ligatures.end(); ll++) -- add_ligature(out, ll->in2, ll->out); -- repoint_ligature(in1, l, out); -- } -+ Char &ch = _encoding[l->out]; -+ if (ch.flags & Char::BUILT) { -+ // move old ligatures to point to the true ligature -+ for (Ligature *ll = ch.ligatures.begin(); ll != ch.ligatures.end(); ll++) -+ add_ligature(out, ll->in2, ll->out); -+ repoint_ligature(in1, l, out); -+ } - } else -- new_ligature(in1, in2, out); -+ new_ligature(in1, in2, out); - } - - Metrics::Code - Metrics::pair_code(Code in1, Code in2, int lookup_source) - { - if (const Ligature *l = ligature_obj(in1, in2)) { -- if (lookup_source < 0) -- _encoding[l->out].flags &= ~Char::INTERMEDIATE; -- return l->out; -+ if (lookup_source < 0) -+ _encoding[l->out].flags &= ~Char::INTERMEDIATE; -+ return l->out; - } else { -- Char ch; -- ch.glyph = VIRTUAL_GLYPH; -- ch.flags = Char::BUILT | (lookup_source >= 0 ? Char::INTERMEDIATE : 0); -- VirtualChar *vc = ch.virtual_char = new VirtualChar; -- vc->name = permprintf("%s__%s", code_str(in1), code_str(in2)); -- setting(in1, vc->setting, SET_INTERMEDIATE); -- vc->setting.push_back(Setting(Setting::KERN)); -- setting(in2, vc->setting, SET_INTERMEDIATE); -- ch.built_in1 = in1; -- ch.built_in2 = in2; -- ch.lookup_source = lookup_source; -- _encoding.push_back(ch); -- new_ligature(in1, in2, _encoding.size() - 1); -- return _encoding.size() - 1; -+ Char ch; -+ ch.glyph = VIRTUAL_GLYPH; -+ ch.flags = Char::BUILT | (lookup_source >= 0 ? Char::INTERMEDIATE : 0); -+ VirtualChar *vc = ch.virtual_char = new VirtualChar; -+ vc->name = permprintf("%s__%s", code_str(in1), code_str(in2)); -+ setting(in1, vc->setting, SET_INTERMEDIATE); -+ vc->setting.push_back(Setting(Setting::KERN)); -+ setting(in2, vc->setting, SET_INTERMEDIATE); -+ ch.built_in1 = in1; -+ ch.built_in2 = in2; -+ ch.lookup_source = lookup_source; -+ _encoding.push_back(ch); -+ new_ligature(in1, in2, _encoding.size() - 1); -+ return _encoding.size() - 1; - } - } - -@@ -347,22 +347,22 @@ void - Metrics::remove_ligatures(Code in1, Code in2) - { - if (in1 == CODE_ALL) { -- for (in1 = 0; in1 < _encoding.size(); in1++) -- remove_ligatures(in1, in2); -+ for (in1 = 0; in1 < _encoding.size(); in1++) -+ remove_ligatures(in1, in2); - } else { -- Char &ch = _encoding[in1]; -- if (in2 == CODE_ALL) -- ch.ligatures.clear(); -- else if (Ligature *l = ligature_obj(in1, in2)) { -- *l = ch.ligatures.back(); -- ch.ligatures.pop_back(); -- } -+ Char &ch = _encoding[in1]; -+ if (in2 == CODE_ALL) -+ ch.ligatures.clear(); -+ else if (Ligature *l = ligature_obj(in1, in2)) { -+ *l = ch.ligatures.back(); -+ ch.ligatures.pop_back(); -+ } - } - } - - - /*****************************************************************************/ --/* manipulating kern lists */ -+/* manipulating kern lists */ - - Metrics::Kern * - Metrics::kern_obj(Code in1, Code in2) -@@ -370,8 +370,8 @@ Metrics::kern_obj(Code in1, Code in2) - assert(valid_code(in1) && valid_code(in2)); - Char &ch = _encoding[in1]; - for (Kern *k = ch.kerns.begin(); k != ch.kerns.end(); k++) -- if (k->in2 == in2) -- return k; -+ if (k->in2 == in2) -+ return k; - return 0; - } - -@@ -381,8 +381,8 @@ Metrics::kern(Code in1, Code in2) const - assert(valid_code(in1) && valid_code(in2)); - const Char &ch = _encoding[in1]; - for (const Kern *k = ch.kerns.begin(); k != ch.kerns.end(); k++) -- if (k->in2 == in2) -- return k->kern; -+ if (k->in2 == in2) -+ return k->kern; - return 0; - } - -@@ -390,30 +390,30 @@ void - Metrics::add_kern(Code in1, Code in2, int kern) - { - if (Kern *k = kern_obj(in1, in2)) -- k->kern += kern; -+ k->kern += kern; - else -- _encoding[in1].kerns.push_back(Kern(in2, kern)); -+ _encoding[in1].kerns.push_back(Kern(in2, kern)); - } - - void - Metrics::set_kern(Code in1, Code in2, int kern) - { - if (in1 == CODE_ALL) { -- for (in1 = 0; in1 < _encoding.size(); in1++) -- set_kern(in1, in2, kern); -+ for (in1 = 0; in1 < _encoding.size(); in1++) -+ set_kern(in1, in2, kern); - } else { -- Char &ch = _encoding[in1]; -- if (in2 == CODE_ALL) { -- assert(kern == 0); -- ch.kerns.clear(); -- } else if (Kern *k = kern_obj(in1, in2)) { -- if (kern == 0) { -- *k = ch.kerns.back(); -- ch.kerns.pop_back(); -- } else -- k->kern = kern; -- } else if (kern != 0) -- ch.kerns.push_back(Kern(in2, kern)); -+ Char &ch = _encoding[in1]; -+ if (in2 == CODE_ALL) { -+ assert(kern == 0); -+ ch.kerns.clear(); -+ } else if (Kern *k = kern_obj(in1, in2)) { -+ if (kern == 0) { -+ *k = ch.kerns.back(); -+ ch.kerns.pop_back(); -+ } else -+ k->kern = kern; -+ } else if (kern != 0) -+ ch.kerns.push_back(Kern(in2, kern)); - } - } - -@@ -422,38 +422,38 @@ Metrics::reencode_right_ligkern(Code old - { - int nchanges = 0; - for (Char *ch = _encoding.begin(); ch != _encoding.end(); ch++) { -- for (Ligature *l = ch->ligatures.begin(); l != ch->ligatures.end(); l++) -- if (l->in2 == old_in2) { -- if (new_in2 >= 0) -- l->in2 = new_in2; -- else { -- *l = ch->ligatures.back(); -- ch->ligatures.pop_back(); -- l--; -- } -- nchanges++; -- } -- for (Kern *k = ch->kerns.begin(); k != ch->kerns.end(); k++) -- if (k->in2 == old_in2) { -- if (new_in2 >= 0) -- k->in2 = new_in2; -- else { -- *k = ch->kerns.back(); -- ch->kerns.pop_back(); -- k--; -- } -- nchanges++; -- } -- // XXX? -- if (ch->context_setting(-1, old_in2) && new_in2 >= 0 && ch->built_in1 >= 0) -- ch->built_in2 = new_in2; -+ for (Ligature *l = ch->ligatures.begin(); l != ch->ligatures.end(); l++) -+ if (l->in2 == old_in2) { -+ if (new_in2 >= 0) -+ l->in2 = new_in2; -+ else { -+ *l = ch->ligatures.back(); -+ ch->ligatures.pop_back(); -+ l--; -+ } -+ nchanges++; -+ } -+ for (Kern *k = ch->kerns.begin(); k != ch->kerns.end(); k++) -+ if (k->in2 == old_in2) { -+ if (new_in2 >= 0) -+ k->in2 = new_in2; -+ else { -+ *k = ch->kerns.back(); -+ ch->kerns.pop_back(); -+ k--; -+ } -+ nchanges++; -+ } -+ // XXX? -+ if (ch->context_setting(-1, old_in2) && new_in2 >= 0 && ch->built_in1 >= 0) -+ ch->built_in2 = new_in2; - } - return nchanges; - } - - - /*****************************************************************************/ --/* positioning */ -+/* positioning */ - - void - Metrics::add_single_positioning(Code c, int pdx, int pdy, int adx) -@@ -467,7 +467,7 @@ Metrics::add_single_positioning(Code c, - - - /*****************************************************************************/ --/* changed_context structure */ -+/* changed_context structure */ - - class Metrics::ChangedContext { public: - ChangedContext(int ncodes); -@@ -498,35 +498,35 @@ Metrics::ChangedContext::ChangedContext( - Metrics::ChangedContext::~ChangedContext() - { - for (Vector **v = _v.begin(); v != _v.end(); v++) -- if (*v != &_all_sentinel) -- delete *v; -+ if (*v != &_all_sentinel) -+ delete *v; - } - - inline void - Metrics::ChangedContext::ensure_all(Code c) const - { - if (c >= 0 && (c >> 5) >= _all_sentinel.size()) -- _all_sentinel.resize((c >> 5) + 1, 0xFFFFFFFFU); -+ _all_sentinel.resize((c >> 5) + 1, 0xFFFFFFFFU); - } - - inline bool - Metrics::ChangedContext::bit(const Vector &v, Code c) - { - if (c < 0 || (c >> 5) >= v.size()) -- return false; -+ return false; - else -- return (v[c >> 5] & (1 << (c & 0x1F))) != 0; -+ return (v[c >> 5] & (1 << (c & 0x1F))) != 0; - } - - bool - Metrics::ChangedContext::allowed(Code c, bool left_context) const - { - if (c < 0) -- return false; -+ return false; - else if (c >= _v.size()) -- return left_context; -+ return left_context; - else -- return (_v[c] != &_all_sentinel); -+ return (_v[c] != &_all_sentinel); - } - - bool -@@ -534,11 +534,11 @@ Metrics::ChangedContext::pair_allowed(Co - { - ensure_all(c2); - if (c1 < 0 || c2 < 0) -- return false; -+ return false; - else if (c1 >= _v.size() || c2 >= _v.size() || !_v[c1]) -- return true; -+ return true; - else -- return !bit(*_v[c1], c2); -+ return !bit(*_v[c1], c2); - } - - bool -@@ -552,10 +552,10 @@ Metrics::ChangedContext::disallow(Code c - { - assert(c >= 0); - if (c >= _v.size()) -- _v.resize(c + 1, 0); -+ _v.resize(c + 1, 0); - if (_v[c] != &_all_sentinel) { -- delete _v[c]; -- _v[c] = &_all_sentinel; -+ delete _v[c]; -+ _v[c] = &_all_sentinel; - } - } - -@@ -564,60 +564,60 @@ Metrics::ChangedContext::disallow_pair(C - { - assert(c1 >= 0 && c2 >= 0); - if (c1 >= _v.size()) -- _v.resize(c1 + 1, 0); -+ _v.resize(c1 + 1, 0); - if (!_v[c1]) -- _v[c1] = new Vector; -+ _v[c1] = new Vector; - if (_v[c1] != &_all_sentinel) { -- if ((c2 >> 5) >= _v[c1]->size()) -- _v[c1]->resize((c2 >> 5) + 1, 0); -- (*_v[c1])[c2 >> 5] |= 1 << (c2 & 0x1F); -+ if ((c2 >> 5) >= _v[c1]->size()) -+ _v[c1]->resize((c2 >> 5) + 1, 0); -+ (*_v[c1])[c2 >> 5] |= 1 << (c2 & 0x1F); - } - } - - - /*****************************************************************************/ --/* applying GSUB substitutions */ -+/* applying GSUB substitutions */ - - void - Metrics::apply_single(Code cin, const Substitution *s, int lookup, -- ChangedContext &ctx, const GlyphFilter &glyph_filter, -- const Vector &glyph_names) -+ ChangedContext &ctx, const GlyphFilter &glyph_filter, -+ const Vector &glyph_names) - { - // check if encoded - if (!ctx.allowed(cin, false)) -- /* not encoded before this substitution began, or completely changed; -- ingore */ -- return; -+ /* not encoded before this substitution began, or completely changed; -+ ingore */ -+ return; - - // check if substitution of this code allowed - if (!glyph_filter.allow_substitution(s->in_glyph(), glyph_names, unicode(cin))) -- return; -+ return; - - // look for an allowed alternate - Glyph out = -1; - for (int i = 0; out < 0 && i < s->out_nglyphs(); i++) -- if (glyph_filter.allow_alternate(s->out_glyph(i), glyph_names, unicode(cin))) -- out = s->out_glyph(i); -- if (out < 0) // no allowed alternate -- return; -+ if (glyph_filter.allow_alternate(s->out_glyph(i), glyph_names, unicode(cin))) -+ out = s->out_glyph(i); -+ if (out < 0) // no allowed alternate -+ return; - - // apply substitution - if (ctx.virgin(cin)) { -- // no one has changed this glyph yet, change it unilaterally -- assign_emap(s->in_glyph(), -2); -- assign_emap(out, cin); -- assert(!_encoding[cin].virtual_char); -- _encoding[cin].glyph = out; -+ // no one has changed this glyph yet, change it unilaterally -+ assign_emap(s->in_glyph(), -2); -+ assign_emap(out, cin); -+ assert(!_encoding[cin].virtual_char); -+ _encoding[cin].glyph = out; - } else { -- // some contextual substitutions have changed this glyph, add -- // contextual substitutions for the remaining possibilities -- Code cout = force_encoding(out, lookup); -- for (Code right = 0; right < _encoding.size(); right++) -- if (_encoding[right].visible() && !_encoding[right].flag(Char::BUILT) && ctx.pair_allowed(cin, right)) { -- Code pair = pair_code(cout, right, lookup); -- _encoding[cout].flags &= ~Char::INTERMEDIATE; -- add_ligature(cin, right, pair); -- } -+ // some contextual substitutions have changed this glyph, add -+ // contextual substitutions for the remaining possibilities -+ Code cout = force_encoding(out, lookup); -+ for (Code right = 0; right < _encoding.size(); right++) -+ if (_encoding[right].visible() && !_encoding[right].flag(Char::BUILT) && ctx.pair_allowed(cin, right)) { -+ Code pair = pair_code(cout, right, lookup); -+ _encoding[cout].flags &= ~Char::INTERMEDIATE; -+ add_ligature(cin, right, pair); -+ } - } - - // no more substitutions for cin -@@ -630,7 +630,7 @@ Metrics::apply_ligature(const Vectorall_out_glyphs(out); - int cout = -1; - for (Glyph *outp = out.begin(); outp < out.end(); outp++) { -- *outp = force_encoding(*outp, lookup); -- cout = (cout < 0 ? *outp : pair_code(cout, *outp, lookup)); -+ *outp = force_encoding(*outp, lookup); -+ cout = (cout < 0 ? *outp : pair_code(cout, *outp, lookup)); - } - _encoding[cout].flags &= ~Char::INTERMEDIATE; - - // check for replacing a fake ligature - int old_out = -1; - if (Ligature *l = ligature_obj(cin1, cin2)) { -- if (l->out == cout) // already created this same ligature -- return; -- if (_encoding[l->out].flags & Char::BUILT) -- old_out = l->out; -+ if (l->out == cout) // already created this same ligature -+ return; -+ if (_encoding[l->out].flags & Char::BUILT) -+ old_out = l->out; - } - - // make the final ligature -@@ -659,35 +659,39 @@ Metrics::apply_ligature(const Vector= 0) -- for (Char *ch = _encoding.begin(); ch != _encoding.end(); ch++) -- for (Ligature *l = ch->ligatures.begin(); l != ch->ligatures.end(); l++) -- if (l->out == old_out) -- repoint_ligature(ch - _encoding.begin(), l, cout); -+ for (Char *ch = _encoding.begin(); ch != _encoding.end(); ch++) -+ for (Ligature *l = ch->ligatures.begin(); l != ch->ligatures.end(); l++) -+ if (l->out == old_out) -+ repoint_ligature(ch - _encoding.begin(), l, cout); - } - - void - Metrics::apply_simple_context_ligature(const Vector &codes, -- const Substitution *s, int lookup, ChangedContext &ctx) -+ const Substitution *s, int lookup, ChangedContext &ctx, -+ const GlyphFilter &glyph_filter, -+ const Vector& glyph_names) - { - int nleft = s->left_nglyphs(), nin = s->in_nglyphs(); - assert(codes.size() >= 2); - - // check if context allows substitutions -- for (const Code *inp = codes.begin(); inp < codes.end(); ++inp) -- if (!ctx.allowed(*inp, inp - codes.begin() < nleft)) -- return; -+ for (int i = 0; i < codes.size(); ++i) { -+ if (!ctx.allowed(codes[i], i < nleft) -+ || !glyph_filter.allow_substitution(s->in_glyph(i), glyph_names, unicode(codes[i]))) -+ return; -+ } - - // check if any part of the combination has already changed - int ncheck = nleft + (nin > 2 ? 2 : nin); - if (ncheck == codes.size()) -- --ncheck; -+ --ncheck; - for (const Code *inp = codes.begin(); inp < codes.begin() + ncheck; ++inp) -- if (!ctx.pair_allowed(inp[0], inp[1])) -- return; -+ if (!ctx.pair_allowed(inp[0], inp[1])) -+ return; - - // mark this combination as changed if appropriate - if (codes.size() == 2 && nin == 1) -- ctx.disallow_pair(codes[0], codes[1]); -+ ctx.disallow_pair(codes[0], codes[1]); - - // actually apply ligature - apply_ligature(codes, s, lookup); -@@ -697,18 +701,18 @@ bool - Metrics::next_encoding(Vector &codes, const Vector &glyphs) const - { - if (!codes.size()) { -- codes.assign(glyphs.size(), 0); -- for (int i = 0; i < glyphs.size(); ++i) -- if ((codes[i] = encoding(glyphs[i], 0)) < 0) -- return false; -- return true; -+ codes.assign(glyphs.size(), 0); -+ for (int i = 0; i < glyphs.size(); ++i) -+ if ((codes[i] = encoding(glyphs[i], 0)) < 0) -+ return false; -+ return true; - } else { -- for (int i = 0; i < glyphs.size(); ++i) -- if ((codes[i] = encoding(glyphs[i], codes[i] + 1)) >= 0) -- return true; -- else -- codes[i] = encoding(glyphs[i], 0); -- return false; -+ for (int i = 0; i < glyphs.size(); ++i) -+ if ((codes[i] = encoding(glyphs[i], codes[i] + 1)) >= 0) -+ return true; -+ else -+ codes[i] = encoding(glyphs[i], 0); -+ return false; - } - } - -@@ -724,20 +728,20 @@ Metrics::apply(const Vectoris_single() || s->is_alternate(); -- bool is_apply_single = is_single && allow_single; -- bool is_apply_simple_context_ligature = !is_single && !s->is_multiple() && s->is_simple_context(); -- -- if (is_apply_single || is_apply_simple_context_ligature) { -- s->all_in_glyphs(glyphs); -- for (codes.clear(); next_encoding(codes, glyphs); ) { -- if (is_apply_single) -- apply_single(codes[0], s, lookup, ctx, glyph_filter, glyph_names); -- else -- apply_simple_context_ligature(codes, s, lookup, ctx); -- } -- } else -- failures++; -+ bool is_single = s->is_single() || s->is_alternate(); -+ bool is_apply_single = is_single && allow_single; -+ bool is_apply_simple_context_ligature = !is_single && !s->is_multiple() && s->is_simple_context(); -+ -+ if (is_apply_single || is_apply_simple_context_ligature) { -+ s->all_in_glyphs(glyphs); -+ for (codes.clear(); next_encoding(codes, glyphs); ) { -+ if (is_apply_single) -+ apply_single(codes[0], s, lookup, ctx, glyph_filter, glyph_names); -+ else -+ apply_simple_context_ligature(codes, s, lookup, ctx, glyph_filter, glyph_names); -+ } -+ } else -+ failures++; - } - - return sv.size() - failures; -@@ -745,42 +749,42 @@ Metrics::apply(const Vector &glyph_names) -+ const GlyphFilter &glyph_filter, -+ const Vector &glyph_names) - { - for (const Kern *as = _altselectors.begin(); as != _altselectors.end(); as++) -- if (as->kern == 0) { -- Code last = cin; -- uint32_t u = unicode(cin); -- for (int i = 0; i < s->out_nglyphs(); i++) -- if (glyph_filter.allow_alternate(s->out_glyph(i), glyph_names, u)) { -- Code out = force_encoding(s->out_glyph(i), lookup); -- add_ligature(last, as->in2, out); -- last = out; -- } -- } else if (as->kern <= s->out_nglyphs()) { -- Code out = force_encoding(s->out_glyph(as->kern - 1), lookup); -- add_ligature(cin, as->in2, out); -- } -+ if (as->kern == 0) { -+ Code last = cin; -+ uint32_t u = unicode(cin); -+ for (int i = 0; i < s->out_nglyphs(); i++) -+ if (glyph_filter.allow_alternate(s->out_glyph(i), glyph_names, u)) { -+ Code out = force_encoding(s->out_glyph(i), lookup); -+ add_ligature(last, as->in2, out); -+ last = out; -+ } -+ } else if (as->kern <= s->out_nglyphs()) { -+ Code out = force_encoding(s->out_glyph(as->kern - 1), lookup); -+ add_ligature(cin, as->in2, out); -+ } - } - - void - Metrics::apply_alternates_ligature(const Vector &codes, -- const Substitution *s, int lookup, -- const GlyphFilter &glyph_filter, -- const Vector &glyph_names) -+ const Substitution *s, int lookup, -+ const GlyphFilter &glyph_filter, -+ const Vector &glyph_names) - { - // check whether the output character is allowed - if (!glyph_filter.allow_alternate(s->out_glyph(), glyph_names, 0)) -- return; -+ return; - - // find alternate selector and apply ligature if appropriate - for (const Kern *as = _altselectors.begin(); as != _altselectors.end(); as++) -- if (as->kern == 0) { -- Vector lig(codes); -- lig.insert(lig.begin() + 1, as->in2); -- apply_ligature(lig, s, lookup); -- } -+ if (as->kern == 0) { -+ Vector lig(codes); -+ lig.insert(lig.begin() + 1, as->in2); -+ apply_ligature(lig, s, lookup); -+ } - } - - void -@@ -790,36 +794,36 @@ Metrics::apply_alternates(const Vector codes; - - for (const Substitution *s = sv.begin(); s != sv.end(); s++) { -- bool is_single = s->is_single() || s->is_alternate(); -- if (is_single || s->is_ligature()) { -- s->all_in_glyphs(glyphs); -- for (codes.clear(); next_encoding(codes, glyphs); ) { -- if (is_single) -- apply_alternates_single(codes[0], s, lookup, glyph_filter, glyph_names); -- else -- apply_alternates_ligature(codes, s, lookup, glyph_filter, glyph_names); -- } -- } -+ bool is_single = s->is_single() || s->is_alternate(); -+ if (is_single || s->is_ligature()) { -+ s->all_in_glyphs(glyphs); -+ for (codes.clear(); next_encoding(codes, glyphs); ) { -+ if (is_single) -+ apply_alternates_single(codes[0], s, lookup, glyph_filter, glyph_names); -+ else -+ apply_alternates_ligature(codes, s, lookup, glyph_filter, glyph_names); -+ } -+ } - } - } - - - /*****************************************************************************/ --/* applying GPOS positionings */ -+/* applying GPOS positionings */ - --static bool // returns old value -+static bool // returns old value - assign_bitvec(int*& bitvec, int e, int n) - { - if (e >= 0 && e < n) { -- if (!bitvec) { -- bitvec = new int[((n - 1) >> 5) + 1]; -- memset(bitvec, 0, sizeof(int) * (((n - 1) >> 5) + 1)); -- } -- bool result = (bitvec[e >> 5] & (1 << (e & 0x1F))) != 0; -- bitvec[e >> 5] |= (1 << (e & 0x1F)); -- return result; -+ if (!bitvec) { -+ bitvec = new int[((n - 1) >> 5) + 1]; -+ memset(bitvec, 0, sizeof(int) * (((n - 1) >> 5) + 1)); -+ } -+ bool result = (bitvec[e >> 5] & (1 << (e & 0x1F))) != 0; -+ bitvec[e >> 5] |= (1 << (e & 0x1F)); -+ return result; - } else -- return false; -+ return false; - } - - int -@@ -834,33 +838,33 @@ Metrics::apply(const Vector - // loop over substitutions - int success = 0; - for (const Positioning *p = pv.begin(); p != pv.end(); p++) { -- bool is_single = p->is_single(); -- if (is_single || p->is_pairkern()) { -- p->all_in_glyphs(glyphs); -- for (codes.clear(); next_encoding(codes, glyphs); ) -- if (is_single) { -- if (!assign_bitvec(single_changed, codes[0], _encoding.size())) { -- _encoding[codes[0]].pdx += p->left().pdx; -- _encoding[codes[0]].pdy += p->left().pdy; -- _encoding[codes[0]].adx += p->left().adx; -- } -- } else { -- if (!assign_bitvec(pair_changed[codes[0]], codes[1], _encoding.size())) -- add_kern(codes[0], codes[1], p->left().adx); -- } -- success++; -- } -+ bool is_single = p->is_single(); -+ if (is_single || p->is_pairkern()) { -+ p->all_in_glyphs(glyphs); -+ for (codes.clear(); next_encoding(codes, glyphs); ) -+ if (is_single) { -+ if (!assign_bitvec(single_changed, codes[0], _encoding.size())) { -+ _encoding[codes[0]].pdx += p->left().pdx; -+ _encoding[codes[0]].pdy += p->left().pdy; -+ _encoding[codes[0]].adx += p->left().adx; -+ } -+ } else { -+ if (!assign_bitvec(pair_changed[codes[0]], codes[1], _encoding.size())) -+ add_kern(codes[0], codes[1], p->left().adx); -+ } -+ success++; -+ } - } - - delete[] single_changed; - for (int i = 0; i < pair_changed.size(); i++) -- delete[] pair_changed[i]; -+ delete[] pair_changed[i]; - return success; - } - - - /*****************************************************************************/ --/* liveness marking, Ligature3s */ -+/* liveness marking, Ligature3s */ - - String Metrics::Ligature3::unparse(const Metrics& m) const { - StringAccum sa; -@@ -874,11 +878,11 @@ operator<(const Metrics::Ligature3 &l1, - { - // topological < : is l1's output one of l2's inputs? - if (l1.out == l2.in1 || l1.out == l2.in2) -- return true; -+ return true; - else -- return l1.in1 < l2.in1 -- || (l1.in1 == l2.in1 && (l1.in2 < l2.in2 -- || (l1.in2 == l2.in2 && l1.out < l2.out))); -+ return l1.in1 < l2.in1 -+ || (l1.in1 == l2.in1 && (l1.in2 < l2.in2 -+ || (l1.in2 == l2.in2 && l1.out < l2.out))); - } - - void -@@ -887,8 +891,8 @@ Metrics::all_ligatures(Vector - /* Develop a topologically-sorted ligature list. */ - all_ligs.clear(); - for (Code code = 0; code < _encoding.size(); code++) -- for (const Ligature *l = _encoding[code].ligatures.begin(); l != _encoding[code].ligatures.end(); l++) -- all_ligs.push_back(Ligature3(code, l->in2, l->out)); -+ for (const Ligature *l = _encoding[code].ligatures.begin(); l != _encoding[code].ligatures.end(); l++) -+ all_ligs.push_back(Ligature3(code, l->in2, l->out)); - std::sort(all_ligs.begin(), all_ligs.end()); - } - -@@ -901,86 +905,86 @@ Metrics::mark_liveness(int size, const V - // make sure we have ligatures - Vector my_ligs; - if (!all_ligs) { -- all_ligatures(my_ligs); -- all_ligs = &my_ligs; -+ all_ligatures(my_ligs); -+ all_ligs = &my_ligs; - } - - /* Characters below 'size' are in both virtual and base encodings. */ - for (Char *ch = _encoding.begin(); ch < _encoding.begin() + size; ch++) -- if (ch->visible()) -- ch->flags |= Char::LIVE | (ch->virtual_char ? 0 : Char::BASE_LIVE); -+ if (ch->visible()) -+ ch->flags |= Char::LIVE | (ch->virtual_char ? 0 : Char::BASE_LIVE); - - /* Characters reachable from live chars by live ligatures are live. */ - redo_live_reachable: - for (const Ligature3 *l = all_ligs->begin(); l != all_ligs->end(); l++) -- if (_encoding[l->in1].flag(Char::LIVE) && _encoding[l->in2].flag(Char::LIVE)) { -- Char &ch = _encoding[l->out]; -- if (!ch.flag(Char::LIVE)) -- ch.flags |= Char::LIVE | Char::CONTEXT_ONLY | (ch.virtual_char ? 0 : Char::BASE_LIVE); -- if (ch.flag(Char::CONTEXT_ONLY) && !ch.context_setting(l->in1, l->in2)) -- ch.flags &= ~Char::CONTEXT_ONLY; -- } -+ if (_encoding[l->in1].flag(Char::LIVE) && _encoding[l->in2].flag(Char::LIVE)) { -+ Char &ch = _encoding[l->out]; -+ if (!ch.flag(Char::LIVE)) -+ ch.flags |= Char::LIVE | Char::CONTEXT_ONLY | (ch.virtual_char ? 0 : Char::BASE_LIVE); -+ if (ch.flag(Char::CONTEXT_ONLY) && !ch.context_setting(l->in1, l->in2)) -+ ch.flags &= ~Char::CONTEXT_ONLY; -+ } - - /* Characters reachable from context-only ligatures are live. */ - changed = false; - for (Char *ch = _encoding.begin(); ch != _encoding.end(); ch++) -- if (ch->flag(Char::CONTEXT_ONLY)) { -- Char &ch1 = _encoding[ch->built_in1]; -- Char &ch2 = _encoding[ch->built_in2]; -- if (!ch1.flag(Char::LIVE) || !ch2.flag(Char::LIVE)) { -- ch1.flags |= Char::LIVE; -- ch2.flags |= Char::LIVE; -- changed = true; -- } -- } -+ if (ch->flag(Char::CONTEXT_ONLY)) { -+ Char &ch1 = _encoding[ch->built_in1]; -+ Char &ch2 = _encoding[ch->built_in2]; -+ if (!ch1.flag(Char::LIVE) || !ch2.flag(Char::LIVE)) { -+ ch1.flags |= Char::LIVE; -+ ch2.flags |= Char::LIVE; -+ changed = true; -+ } -+ } - if (changed) -- goto redo_live_reachable; -+ goto redo_live_reachable; - - /* Characters reachable from live settings are base-live. */ - for (Char *ch = _encoding.begin(); ch != _encoding.end(); ch++) -- if (ch->flag(Char::LIVE)) -- if (VirtualChar *vc = ch->virtual_char) { -- int font_number = 0; -- for (Setting *s = vc->setting.begin(); s != vc->setting.end(); s++) -- if (s->op == Setting::SHOW && font_number == 0 -- && _encoding[s->x].base_code >= 0) -- _encoding[s->x].flags |= Char::BASE_LIVE; -- else if (s->op == Setting::FONT) -- font_number = s->x; -- } -+ if (ch->flag(Char::LIVE)) -+ if (VirtualChar *vc = ch->virtual_char) { -+ int font_number = 0; -+ for (Setting *s = vc->setting.begin(); s != vc->setting.end(); s++) -+ if (s->op == Setting::SHOW && font_number == 0 -+ && _encoding[s->x].base_code >= 0) -+ _encoding[s->x].flags |= Char::BASE_LIVE; -+ else if (s->op == Setting::FONT) -+ font_number = s->x; -+ } - } - - void - Metrics::reencode(const Vector &reencoding) - { - for (Char *ch = _encoding.begin(); ch != _encoding.end(); ch++) { -- for (Ligature *l = ch->ligatures.begin(); l != ch->ligatures.end(); l++) { -- l->in2 = reencoding[l->in2]; -- l->out = reencoding[l->out]; -- } -- for (Kern *k = ch->kerns.begin(); k != ch->kerns.end(); k++) -- k->in2 = reencoding[k->in2]; -- if (VirtualChar *vc = ch->virtual_char) { -- int font_number = 0; -- for (Setting *s = vc->setting.begin(); s != vc->setting.end(); s++) -- if (s->op == Setting::SHOW && font_number == 0) -- s->x = reencoding[s->x]; -- else if (s->op == Setting::FONT) -- font_number = s->x; -- } -- if (ch->built_in1 >= 0) { -- ch->built_in1 = reencoding[ch->built_in1]; -- ch->built_in2 = reencoding[ch->built_in2]; -- } -- if (ch->base_code >= 0) -- ch->base_code = reencoding[ch->base_code]; -+ for (Ligature *l = ch->ligatures.begin(); l != ch->ligatures.end(); l++) { -+ l->in2 = reencoding[l->in2]; -+ l->out = reencoding[l->out]; -+ } -+ for (Kern *k = ch->kerns.begin(); k != ch->kerns.end(); k++) -+ k->in2 = reencoding[k->in2]; -+ if (VirtualChar *vc = ch->virtual_char) { -+ int font_number = 0; -+ for (Setting *s = vc->setting.begin(); s != vc->setting.end(); s++) -+ if (s->op == Setting::SHOW && font_number == 0) -+ s->x = reencoding[s->x]; -+ else if (s->op == Setting::FONT) -+ font_number = s->x; -+ } -+ if (ch->built_in1 >= 0) { -+ ch->built_in1 = reencoding[ch->built_in1]; -+ ch->built_in2 = reencoding[ch->built_in2]; -+ } -+ if (ch->base_code >= 0) -+ ch->base_code = reencoding[ch->base_code]; - } - _emap.clear(); - } - - - /*****************************************************************************/ --/* shrinking the encoding */ -+/* shrinking the encoding */ - - bool - Metrics::Char::context_setting(Code in1, Code in2) const -@@ -988,9 +992,9 @@ Metrics::Char::context_setting(Code in1, - // return true iff this character could represent the context setting of - // 'in1' and 'in2' - if (!virtual_char || ligatures.size()) -- return false; -+ return false; - else -- return (in1 == built_in1 || in2 == built_in2); -+ return (in1 == built_in1 || in2 == built_in2); - } - - void -@@ -1001,56 +1005,56 @@ Metrics::cut_encoding(int size) - - /* Change "emptyslot"s to ".notdef"s. */ - for (Char *ch = _encoding.begin(); ch != _encoding.end(); ch++) -- if (ch->glyph == emptyslot_glyph()) { -- ch->glyph = 0; -- ch->base_code = -1; -- // 21.Feb.2007: Character isn't live any more. -- ch->flags &= ~(Char::BASE_LIVE | Char::LIVE); -- } -+ if (ch->glyph == emptyslot_glyph()) { -+ ch->glyph = 0; -+ ch->base_code = -1; -+ // 21.Feb.2007: Character isn't live any more. -+ ch->flags &= ~(Char::BASE_LIVE | Char::LIVE); -+ } - - /* Maybe we don't need to do anything else. */ - if (_encoding.size() <= size) { -- _encoding.resize(size, Char()); -- return; -+ _encoding.resize(size, Char()); -+ return; - } - - /* Need liveness markings. */ - if (!_liveness_marked) -- mark_liveness(size); -+ mark_liveness(size); - - /* Characters below 'size' are 'good'. - Characters above 'size' are not 'good'. */ - Vector good(_encoding.size(), 1); - for (Code c = size; c < _encoding.size(); c++) -- good[c] = 0; -+ good[c] = 0; - - /* Characters encoded via base_code are 'good', though. */ - for (Char *ch = _encoding.begin(); ch < _encoding.begin() + size; ch++) -- if (ch->base_code >= size) -- good[ch->base_code] = 1; -+ if (ch->base_code >= size) -+ good[ch->base_code] = 1; - - /* Some fake characters might point beyond 'size'; remove them too. No - need for a multipass algorithm since virtual chars never point to - virtual chars. */ - for (Code c = 0; c < _encoding.size(); c++) { -- if (VirtualChar *vc = _encoding[c].virtual_char) { -- int font_number = 0; -- for (Setting *s = vc->setting.begin(); s != vc->setting.end(); s++) -- if (s->op == Setting::SHOW && font_number == 0 && !good[s->x]) { -- _encoding[c].clear(); -- goto bad_virtual_char; -- } else if (s->op == Setting::FONT) -- font_number = s->x; -- } -- if (c < size) -- good[c] = 1; -+ if (VirtualChar *vc = _encoding[c].virtual_char) { -+ int font_number = 0; -+ for (Setting *s = vc->setting.begin(); s != vc->setting.end(); s++) -+ if (s->op == Setting::SHOW && font_number == 0 && !good[s->x]) { -+ _encoding[c].clear(); -+ goto bad_virtual_char; -+ } else if (s->op == Setting::FONT) -+ font_number = s->x; -+ } -+ if (c < size) -+ good[c] = 1; - bad_virtual_char: ; - } - - /* Certainly none of the later ligatures or kerns will be meaningful. */ - for (Code c = size; c < _encoding.size(); c++) { -- _encoding[c].ligatures.clear(); -- _encoding[c].kerns.clear(); -+ _encoding[c].ligatures.clear(); -+ _encoding[c].kerns.clear(); - } - - /* Remove ligatures and kerns that point beyond 'size', except for valid -@@ -1059,20 +1063,20 @@ Metrics::cut_encoding(int size) - /* 30.May.2005 -- Kerns might point involve a too-high character; kill - them. */ - for (Code c = 0; c < size; c++) { -- Char &ch = _encoding[c]; -- for (Ligature *l = ch.ligatures.begin(); l != ch.ligatures.end(); l++) -- if (!good[l->in2] || l->in2 >= size -- || (!good[l->out] && !_encoding[l->out].context_setting(c, l->in2))) { -- *l = ch.ligatures.back(); -- ch.ligatures.pop_back(); -- l--; -- } -- for (Kern *k = ch.kerns.begin(); k != ch.kerns.end(); k++) -- if (!good[k->in2] || k->in2 >= size) { -- *k = ch.kerns.back(); -- ch.kerns.pop_back(); -- k--; -- } -+ Char &ch = _encoding[c]; -+ for (Ligature *l = ch.ligatures.begin(); l != ch.ligatures.end(); l++) -+ if (!good[l->in2] || l->in2 >= size -+ || (!good[l->out] && !_encoding[l->out].context_setting(c, l->in2))) { -+ *l = ch.ligatures.back(); -+ ch.ligatures.pop_back(); -+ l--; -+ } -+ for (Kern *k = ch.kerns.begin(); k != ch.kerns.end(); k++) -+ if (!good[k->in2] || k->in2 >= size) { -+ *k = ch.kerns.back(); -+ ch.kerns.pop_back(); -+ k--; -+ } - } - - /* We are done! */ -@@ -1097,19 +1101,19 @@ static int - unicode_score(uint32_t u) - { - if (u == 0) -- return NOCHAR_SCORE; -+ return NOCHAR_SCORE; - else if (u >= 'a' && u <= 'z') -- return BASIC_LATIN_LOWER_SCORE; -+ return BASIC_LATIN_LOWER_SCORE; - else if (u >= 'A' && u <= 'Z') -- return BASIC_LATIN_UPPER_SCORE; -+ return BASIC_LATIN_UPPER_SCORE; - else if (u < 0x0080) -- return BASIC_LATIN_OTHER_SCORE; -+ return BASIC_LATIN_OTHER_SCORE; - else if (u < 0x0100) -- return LATIN1_SUPPLEMENT_SCORE; -+ return LATIN1_SUPPLEMENT_SCORE; - else if (u < 0x8000) -- return LOW_16_SCORE; -+ return LOW_16_SCORE; - else -- return OTHER_SCORE; -+ return OTHER_SCORE; - } - - struct Slot { -@@ -1145,8 +1149,8 @@ Metrics::shrink_encoding(int size, const - - /* Maybe we don't need to do anything. */ - if (_encoding.size() <= size) { -- cut_encoding(size); -- return; -+ cut_encoding(size); -+ return; - } - - /* Need a list of all ligatures.. */ -@@ -1155,7 +1159,7 @@ Metrics::shrink_encoding(int size, const - - /* Need liveness markings. */ - if (!_liveness_marked) -- mark_liveness(size, &all_ligs); -+ mark_liveness(size, &all_ligs); - - /* Score characters by importance. Importance relates first to Unicode - values, and then recursively to the importances of characters that form -@@ -1164,8 +1168,8 @@ Metrics::shrink_encoding(int size, const - /* Create an initial set of scores, based on Unicode values. */ - Vector scores(_encoding.size(), NOCHAR_SCORE); - for (int i = 0; i < _encoding.size(); i++) -- if (_encoding[i].unicode) -- scores[i] = unicode_score(_encoding[i].unicode); -+ if (_encoding[i].unicode) -+ scores[i] = unicode_score(_encoding[i].unicode); - - /* Prefer conventional f-ligatures. */ - bool has_ff = false; -@@ -1194,121 +1198,121 @@ Metrics::shrink_encoding(int size, const - only by fakes. */ - bool changed = true; - while (changed) { -- changed = false; -- for (Ligature3 *l = all_ligs.begin(); l != all_ligs.end(); l++) { -- int score = scores[l->in1] + scores[l->in2]; -- if (scores[l->out] > score) -+ changed = false; -+ for (Ligature3 *l = all_ligs.begin(); l != all_ligs.end(); l++) { -+ int score = scores[l->in1] + scores[l->in2]; -+ if (scores[l->out] > score) - scores[l->out] = score, changed = true; -- } -+ } - -- for (Code c = 0; c < _encoding.size(); c++) -- if (VirtualChar *vc = _encoding[c].virtual_char) { -- /* Make sure that if this virtual character appears, its parts -- will also appear, by scoring the parts less */ -- int score = scores[c] - 1, font_number = 0; -- for (Setting *s = vc->setting.begin(); s != vc->setting.end(); s++) -- if (s->op == Setting::SHOW && font_number == 0 -- && score < scores[s->x]) -- scores[s->x] = score, changed = true; -- else if (s->op == Setting::FONT) -- font_number = s->x; -- } -+ for (Code c = 0; c < _encoding.size(); c++) -+ if (VirtualChar *vc = _encoding[c].virtual_char) { -+ /* Make sure that if this virtual character appears, its parts -+ will also appear, by scoring the parts less */ -+ int score = scores[c] - 1, font_number = 0; -+ for (Setting *s = vc->setting.begin(); s != vc->setting.end(); s++) -+ if (s->op == Setting::SHOW && font_number == 0 -+ && score < scores[s->x]) -+ scores[s->x] = score, changed = true; -+ else if (s->op == Setting::FONT) -+ font_number = s->x; -+ } - } - - /* Rescore intermediates to not be better off than their endpoints. */ - /* XXX multiple layers of intermediate? */ - for (Code c = 0; c < _encoding.size(); c++) { -- Char &ch = _encoding[c]; -- if (ch.flag(Char::INTERMEDIATE)) -- for (Ligature *l = ch.ligatures.begin(); l != ch.ligatures.end(); l++) -- if (scores[c] < scores[l->out] && !_encoding[l->out].context_setting(c, l->in2)) -- scores[c] = scores[l->out]; -+ Char &ch = _encoding[c]; -+ if (ch.flag(Char::INTERMEDIATE)) -+ for (Ligature *l = ch.ligatures.begin(); l != ch.ligatures.end(); l++) -+ if (scores[c] < scores[l->out] && !_encoding[l->out].context_setting(c, l->in2)) -+ scores[c] = scores[l->out]; - } - - /* Collect characters that want to be reassigned. */ - Vector slots; - for (Code c = size; c < _encoding.size(); c++) -- if (scores[c] < NOCHAR_SCORE -- && !(_encoding[c].flags & Char::CONTEXT_ONLY) -- && (_encoding[c].flags & (Char::LIVE | Char::BASE_LIVE))) { -- Slot slot = { c, -1, _encoding[c].glyph, scores[c], _encoding[c].lookup_source }; -- slots.push_back(slot); -- } -+ if (scores[c] < NOCHAR_SCORE -+ && !(_encoding[c].flags & Char::CONTEXT_ONLY) -+ && (_encoding[c].flags & (Char::LIVE | Char::BASE_LIVE))) { -+ Slot slot = { c, -1, _encoding[c].glyph, scores[c], _encoding[c].lookup_source }; -+ slots.push_back(slot); -+ } - // Sort them by score, then by glyph. - std::sort(slots.begin(), slots.end()); - - /* Prefer their old slots, if available. */ - for (Slot *slot = slots.begin(); slot < slots.end(); slot++) -- if (PermString g = code_name(slot->old_code)) { -- int c = dvipsenc.encoding_of(g); -- if (c >= 0 && _encoding[c].glyph == 0) { -- _encoding[c].swap(_encoding[slot->old_code]); -- slot->new_code = c; -- } -- } -+ if (PermString g = code_name(slot->old_code)) { -+ int c = dvipsenc.encoding_of(g); -+ if (c >= 0 && _encoding[c].glyph == 0) { -+ _encoding[c].swap(_encoding[slot->old_code]); -+ slot->new_code = c; -+ } -+ } - - /* List empty slots in two phases: Those not encoded by the input - encoding, then those encoded by the input encoding (but that character - wasn't available). */ - Vector empty_codes; - for (int want_encoded = 0; want_encoded < 2; want_encoded++) -- for (Code c = 0; c < size; c++) -- if (_encoding[c].base_code < 0 -- && dvipsenc.encoded(c) == (bool) want_encoded) -- empty_codes.push_back(c); -+ for (Code c = 0; c < size; c++) -+ if (_encoding[c].base_code < 0 -+ && dvipsenc.encoded(c) == (bool) want_encoded) -+ empty_codes.push_back(c); - - /* Then, assign codes to the unencoded characters. */ - int nunencoded = 0; - - for (Slot *slot = slots.begin(); slot != slots.end(); slot++) { -- if (slot->new_code >= 0) -- continue; -+ if (slot->new_code >= 0) -+ continue; - -- int needs = (_encoding[slot->old_code].visible_base() ? 1 : 0) -- + (_encoding[slot->old_code].flag(Char::LIVE) ? 2 : 0); -- assert(needs > 0); -- -- Code dest = -1; -- for (Code *h = empty_codes.begin(); h < empty_codes.end() && dest < 0; h++) { -- int haves = (_encoding[*h].base_code < 0 ? 1 : 0) -- + (!_encoding[*h].visible() ? 2 : 0); -- if ((needs & haves) == needs) -- dest = *h; -- } -- -- if (dest >= 0) { -- if (needs & 2) { -- assert(!_encoding[dest].visible()); -- _encoding[dest].swap(_encoding[slot->old_code]); -- slot->new_code = dest; -- } else { -- _encoding[slot->old_code].base_code = dest; -- slot->new_code = slot->old_code; -- } -- if (needs & 1) { -- assert(_encoding[dest].base_code < 0 || _encoding[dest].base_code == slot->old_code); -- _encoding[dest].base_code = slot->old_code; -- } -- } else -- nunencoded++; -+ int needs = (_encoding[slot->old_code].visible_base() ? 1 : 0) -+ + (_encoding[slot->old_code].flag(Char::LIVE) ? 2 : 0); -+ assert(needs > 0); -+ -+ Code dest = -1; -+ for (Code *h = empty_codes.begin(); h < empty_codes.end() && dest < 0; h++) { -+ int haves = (_encoding[*h].base_code < 0 ? 1 : 0) -+ + (!_encoding[*h].visible() ? 2 : 0); -+ if ((needs & haves) == needs) -+ dest = *h; -+ } -+ -+ if (dest >= 0) { -+ if (needs & 2) { -+ assert(!_encoding[dest].visible()); -+ _encoding[dest].swap(_encoding[slot->old_code]); -+ slot->new_code = dest; -+ } else { -+ _encoding[slot->old_code].base_code = dest; -+ slot->new_code = slot->old_code; -+ } -+ if (needs & 1) { -+ assert(_encoding[dest].base_code < 0 || _encoding[dest].base_code == slot->old_code); -+ _encoding[dest].base_code = slot->old_code; -+ } -+ } else -+ nunencoded++; - } - - /* Complain if some characters can't fit. */ - if (nunencoded) { -- // collect names of unencoded glyphs -- Vector unencoded; -- for (Slot *slot = slots.begin(); slot != slots.end(); slot++) -- if (slot->new_code < 0) -- unencoded.push_back(code_name(slot->old_code)); -- std::sort(unencoded.begin(), unencoded.end()); -- StringAccum sa; -- for (const String* a = unencoded.begin(); a < unencoded.end(); a++) -- sa << *a << ' '; -- sa.pop_back(); -- sa.append_break_lines(sa.take_string(), 68, " "); -- sa.pop_back(); -- errh->lwarning(" ", (unencoded.size() == 1 ? "not enough room in encoding, ignoring %d glyph" : "not enough room in encoding, ignoring %d glyphs"), unencoded.size()); -- errh->lmessage(" ", "(\ -+ // collect names of unencoded glyphs -+ Vector unencoded; -+ for (Slot *slot = slots.begin(); slot != slots.end(); slot++) -+ if (slot->new_code < 0) -+ unencoded.push_back(code_name(slot->old_code)); -+ std::sort(unencoded.begin(), unencoded.end()); -+ StringAccum sa; -+ for (const String* a = unencoded.begin(); a < unencoded.end(); a++) -+ sa << *a << ' '; -+ sa.pop_back(); -+ sa.append_break_lines(sa.take_string(), 68, " "); -+ sa.pop_back(); -+ errh->lwarning(" ", (unencoded.size() == 1 ? "not enough room in encoding, ignoring %d glyph" : "not enough room in encoding, ignoring %d glyphs"), unencoded.size()); -+ errh->lmessage(" ", "(\ - The font uses more glyphs than the encoding has available slots,\n\ - so these glyphs have been left out:\n%s\n\ - To select specific glyphs, add them to the input encoding.)", sa.c_str()); -@@ -1317,10 +1321,10 @@ To select specific glyphs, add them to t - /* Reencode changed slots. */ - Vector reencoding; - for (Code c = 0; c < _encoding.size(); c++) -- reencoding.push_back(c); -+ reencoding.push_back(c); - for (Slot *s = slots.begin(); s != slots.end(); s++) -- if (s->new_code >= 0) -- reencoding[s->old_code] = s->new_code; -+ if (s->new_code >= 0) -+ reencoding[s->old_code] = s->new_code; - reencode(reencoding); - - check(); -@@ -1331,38 +1335,38 @@ Metrics::make_base(int size) - { - Vector reencoding; - for (Code c = 0; c < size && c < _encoding.size(); c++) { -- Char &ch = _encoding[c]; -- if (ch.base_code >= 0 && ch.base_code != c) { -- if (!reencoding.size()) -- for (Code cc = 0; cc < _encoding.size(); cc++) -- reencoding.push_back(cc); -- reencoding[ch.base_code] = c; -- reencoding[c] = ch.base_code; -- _encoding[c].swap(_encoding[ch.base_code]); -- } -- if (ch.virtual_char) // remove it -- ch.clear(); -+ Char &ch = _encoding[c]; -+ if (ch.base_code >= 0 && ch.base_code != c) { -+ if (!reencoding.size()) -+ for (Code cc = 0; cc < _encoding.size(); cc++) -+ reencoding.push_back(cc); -+ reencoding[ch.base_code] = c; -+ reencoding[c] = ch.base_code; -+ _encoding[c].swap(_encoding[ch.base_code]); -+ } -+ if (ch.virtual_char) // remove it -+ ch.clear(); - } - if (reencoding.size()) { -- reencode(reencoding); -- cut_encoding(size); -+ reencode(reencoding); -+ cut_encoding(size); - } - check(); - } - - - /*****************************************************************************/ --/* output */ -+/* output */ - - bool - Metrics::need_virtual(int size) const - { - if (size > _encoding.size()) -- size = _encoding.size(); -+ size = _encoding.size(); - for (const Char *ch = _encoding.begin(); ch < _encoding.begin() + size; ch++) -- if (ch->glyph /* actually encoded */ -- && (ch->pdx || ch->pdy || ch->adx || ch->virtual_char)) -- return true; -+ if (ch->glyph /* actually encoded */ -+ && (ch->pdx || ch->pdy || ch->adx || ch->virtual_char)) -+ return true; - return false; - } - -@@ -1370,10 +1374,10 @@ bool - Metrics::need_base() - { - if (!_liveness_marked) -- mark_liveness(_encoding.size()); -+ mark_liveness(_encoding.size()); - for (const Char *ch = _encoding.begin(); ch < _encoding.end(); ch++) -- if ((ch->flags & Char::BASE_LIVE) && ch->glyph != _boundary_glyph) -- return true; -+ if ((ch->flags & Char::BASE_LIVE) && ch->glyph != _boundary_glyph) -+ return true; - return false; - } - -@@ -1383,72 +1387,72 @@ Metrics::setting(Code code, Vectorsetting.begin(); s != vc->setting.end(); s++) -- switch (s->op) { -- case Setting::MOVE: -- case Setting::RULE: -- case Setting::PUSH: -- case Setting::POP: -- case Setting::SPECIAL: -- v.push_back(*s); -- break; -- case Setting::FONT: -- v.push_back(*s); -- font_number = s->x; -- break; -- case Setting::SHOW: -- if (font_number == 0) -- good &= setting(s->x, v, (SettingMode)(sm | SET_KEEP)); -- else -- v.push_back(*s); -- break; -- case Setting::KERN: -- case Setting::KERNX: -- if (sm & SET_INTERMEDIATE) -- v.push_back(*s); -- else if (font_number == 0 && s > vc->setting.begin() -- && s + 1 < vc->setting.end() -- && s[-1].op == Setting::SHOW -- && s[1].op == Setting::SHOW) { -- int k = kern(s[-1].x, s[1].x); -- if (s->op == Setting::KERNX) -- k -= letterspace; -- if (k) -- v.push_back(Setting(Setting::MOVE, k, 0)); -- } -- break; -- } -- -- if (ch.pdy != 0 || ch.adx - ch.pdx != 0) -- v.push_back(Setting(Setting::MOVE, ch.adx - ch.pdx, -ch.pdy)); -- return good; -+ for (const Setting *s = vc->setting.begin(); s != vc->setting.end(); s++) -+ switch (s->op) { -+ case Setting::MOVE: -+ case Setting::RULE: -+ case Setting::PUSH: -+ case Setting::POP: -+ case Setting::SPECIAL: -+ v.push_back(*s); -+ break; -+ case Setting::FONT: -+ v.push_back(*s); -+ font_number = s->x; -+ break; -+ case Setting::SHOW: -+ if (font_number == 0) -+ good &= setting(s->x, v, (SettingMode)(sm | SET_KEEP)); -+ else -+ v.push_back(*s); -+ break; -+ case Setting::KERN: -+ case Setting::KERNX: -+ if (sm & SET_INTERMEDIATE) -+ v.push_back(*s); -+ else if (font_number == 0 && s > vc->setting.begin() -+ && s + 1 < vc->setting.end() -+ && s[-1].op == Setting::SHOW -+ && s[1].op == Setting::SHOW) { -+ int k = kern(s[-1].x, s[1].x); -+ if (s->op == Setting::KERNX) -+ k -= letterspace; -+ if (k) -+ v.push_back(Setting(Setting::MOVE, k, 0)); -+ } -+ break; -+ } -+ -+ if (ch.pdy != 0 || ch.adx - ch.pdx != 0) -+ v.push_back(Setting(Setting::MOVE, ch.adx - ch.pdx, -ch.pdy)); -+ return good; - - } else if (ch.base_code >= 0) { -- if (ch.pdx != 0 || ch.pdy != 0) -- v.push_back(Setting(Setting::MOVE, ch.pdx, ch.pdy)); -+ if (ch.pdx != 0 || ch.pdy != 0) -+ v.push_back(Setting(Setting::MOVE, ch.pdx, ch.pdy)); - -- v.push_back(Setting(Setting::SHOW, ch.base_code, ch.glyph)); -+ v.push_back(Setting(Setting::SHOW, ch.base_code, ch.glyph)); - -- if (ch.pdy != 0 || ch.adx - ch.pdx != 0) -- v.push_back(Setting(Setting::MOVE, ch.adx - ch.pdx, -ch.pdy)); -- return true; -+ if (ch.pdy != 0 || ch.adx - ch.pdx != 0) -+ v.push_back(Setting(Setting::MOVE, ch.adx - ch.pdx, -ch.pdy)); -+ return true; - - } else -- return false; -+ return false; - } - - int -@@ -1460,22 +1464,22 @@ Metrics::ligatures(Code in1, Vectorin2); -- const Char &outch = _encoding[l->out]; -- if (outch.context_setting(in1, l->in2)) { -- if (in1 == outch.built_in1 && l->in2 == outch.built_in2) -- in2.pop_back(); -- else if (in1 == outch.built_in1) { -- out.push_back(outch.built_in2); -- context.push_back(-1); -- } else { -- out.push_back(outch.built_in1); -- context.push_back(1); -- } -- } else { -- out.push_back(l->out); -- context.push_back(0); -- } -+ in2.push_back(l->in2); -+ const Char &outch = _encoding[l->out]; -+ if (outch.context_setting(in1, l->in2)) { -+ if (in1 == outch.built_in1 && l->in2 == outch.built_in2) -+ in2.pop_back(); -+ else if (in1 == outch.built_in1) { -+ out.push_back(outch.built_in2); -+ context.push_back(-1); -+ } else { -+ out.push_back(outch.built_in1); -+ context.push_back(1); -+ } -+ } else { -+ out.push_back(l->out); -+ context.push_back(0); -+ } - } - - return in2.size(); -@@ -1489,74 +1493,74 @@ Metrics::kerns(Code in1, Vector &i - - const Char &in1ch = _encoding[in1]; - for (const Kern *k = in1ch.kerns.begin(); k != in1ch.kerns.end(); k++) -- if (k->kern != 0) { -- in2.push_back(k->in2); -- kern.push_back(k->kern); -- } -+ if (k->kern != 0) { -+ in2.push_back(k->in2); -+ kern.push_back(k->kern); -+ } - - return in2.size(); - } - - - /*****************************************************************************/ --/* debugging */ -+/* debugging */ - - void - Metrics::unparse(const Char *ch) const - { - Code c; - if (ch >= _encoding.begin() && ch < _encoding.end()) -- c = ch - _encoding.begin(); -+ c = ch - _encoding.begin(); - else -- c = -1; -+ c = -1; - fprintf(stderr, "%4d/%s%s%s%s%s%s\n", c, code_str(c), -- (ch->flag(Char::LIVE) ? " [L]" : ""), -- (ch->flag(Char::BASE_LIVE) ? " [B]" : ""), -- (ch->flag(Char::CONTEXT_ONLY) ? " [C]" : ""), -- (ch->flag(Char::BUILT) ? " [!]" : ""), -- (ch->base_code >= 0 ? " " : "")); -+ (ch->flag(Char::LIVE) ? " [L]" : ""), -+ (ch->flag(Char::BASE_LIVE) ? " [B]" : ""), -+ (ch->flag(Char::CONTEXT_ONLY) ? " [C]" : ""), -+ (ch->flag(Char::BUILT) ? " [!]" : ""), -+ (ch->base_code >= 0 ? " " : "")); - if (ch->base_code >= 0 && ch->base_code != c) -- fprintf(stderr, "\tBASE %d/%s\n", ch->base_code, code_str(ch->base_code)); -+ fprintf(stderr, "\tBASE %d/%s\n", ch->base_code, code_str(ch->base_code)); - if (const VirtualChar *vc = ch->virtual_char) { -- fprintf(stderr, "\t*"); -- int curfont = 0; -- for (const Setting *s = vc->setting.begin(); s != vc->setting.end(); s++) -- switch (s->op) { -- case Setting::FONT: -- fprintf(stderr, " {F%d}", s->x); -- curfont = s->x; -- break; -- case Setting::SHOW: -- fprintf(stderr, " %d", s->x); -- if (curfont == 0) -- fprintf(stderr, "/%s", code_str(s->x)); -- break; -- case Setting::KERN: -- fprintf(stderr, " <>"); -- break; -- case Setting::MOVE: -- fprintf(stderr, " <%+d,%+d>", s->x, s->y); -- break; -- case Setting::RULE: -- fprintf(stderr, " [%d,%d]", s->x, s->y); -- break; -- case Setting::PUSH: -- fprintf(stderr, " ("); -- break; -- case Setting::POP: -- fprintf(stderr, " )"); -- break; -- case Setting::SPECIAL: -- fprintf(stderr, " S{%s}", s->s.c_str()); -- break; -- } -- fprintf(stderr, " ((%d/%s, %d/%s))\n", ch->built_in1, code_str(ch->built_in1), ch->built_in2, code_str(ch->built_in2)); -+ fprintf(stderr, "\t*"); -+ int curfont = 0; -+ for (const Setting *s = vc->setting.begin(); s != vc->setting.end(); s++) -+ switch (s->op) { -+ case Setting::FONT: -+ fprintf(stderr, " {F%d}", s->x); -+ curfont = s->x; -+ break; -+ case Setting::SHOW: -+ fprintf(stderr, " %d", s->x); -+ if (curfont == 0) -+ fprintf(stderr, "/%s", code_str(s->x)); -+ break; -+ case Setting::KERN: -+ fprintf(stderr, " <>"); -+ break; -+ case Setting::MOVE: -+ fprintf(stderr, " <%+d,%+d>", s->x, s->y); -+ break; -+ case Setting::RULE: -+ fprintf(stderr, " [%d,%d]", s->x, s->y); -+ break; -+ case Setting::PUSH: -+ fprintf(stderr, " ("); -+ break; -+ case Setting::POP: -+ fprintf(stderr, " )"); -+ break; -+ case Setting::SPECIAL: -+ fprintf(stderr, " S{%s}", s->s.c_str()); -+ break; -+ } -+ fprintf(stderr, " ((%d/%s, %d/%s))\n", ch->built_in1, code_str(ch->built_in1), ch->built_in2, code_str(ch->built_in2)); - } - for (const Ligature *l = ch->ligatures.begin(); l != ch->ligatures.end(); l++) -- fprintf(stderr, "\t[%d/%s => %d/%s]%s\n", l->in2, code_str(l->in2), l->out, code_str(l->out), (_encoding[l->out].context_setting(c, l->in2) ? " [C]" : "")); -+ fprintf(stderr, "\t[%d/%s => %d/%s]%s\n", l->in2, code_str(l->in2), l->out, code_str(l->out), (_encoding[l->out].context_setting(c, l->in2) ? " [C]" : "")); - #if 0 - for (const Kern *k = ch->kerns.begin(); k != ch->kerns.end(); k++) -- fprintf(stderr, "\t{%d/%s %+d}\n", k->in2, code_str(k->in2), k->kern); -+ fprintf(stderr, "\t{%d/%s %+d}\n", k->in2, code_str(k->in2), k->kern); - #endif - } - -@@ -1564,6 +1568,6 @@ void - Metrics::unparse() const - { - for (const Char *ch = _encoding.begin(); ch < _encoding.end(); ch++) -- if (ch->glyph) -- unparse(ch); -+ if (ch->glyph) -+ unparse(ch); - } -diff -up texlive-base-20170520/source/texk/lcdf-typetools/lcdf-typetools-src/otftotfm/metrics.hh.git4166ff9 texlive-base-20170520/source/texk/lcdf-typetools/lcdf-typetools-src/otftotfm/metrics.hh ---- texlive-base-20170520/source/texk/lcdf-typetools/lcdf-typetools-src/otftotfm/metrics.hh.git4166ff9 2016-11-25 13:08:53.000000000 -0500 -+++ texlive-base-20170520/source/texk/lcdf-typetools/lcdf-typetools-src/otftotfm/metrics.hh 2018-02-23 12:47:54.092971728 -0500 -@@ -2,23 +2,11 @@ - #define OTFTOTFM_METRICS_HH - #include - #include -+#include "setting.hh" - namespace Efont { class CharstringProgram; } - class DvipsEncoding; - class GlyphFilter; - --struct Setting { -- enum { NONE, FONT, SHOW, KERN, KERNX, MOVE, RULE, PUSH, POP, -- SPECIAL, DEAD }; -- int op; -- int x; -- int y; -- String s; -- Setting(int op_in, int x_in = 0, int y_in = 0) -- : op(op_in), x(x_in), y(y_in) { } -- Setting(int op_in, const String &s_in) : op(op_in), s(s_in) { } -- bool valid_op() const { return op >= FONT && op <= SPECIAL; } --}; -- - class Metrics { public: - - typedef int Code; -@@ -33,22 +21,22 @@ class Metrics { public: - - void check() const; - -- Glyph boundary_glyph() const { return _boundary_glyph; } -- Glyph emptyslot_glyph() const { return _emptyslot_glyph; } -+ Glyph boundary_glyph() const { return _boundary_glyph; } -+ Glyph emptyslot_glyph() const { return _emptyslot_glyph; } - -- String coding_scheme() const { return _coding_scheme; } -- void set_coding_scheme(const String &s) { _coding_scheme = s; } -+ String coding_scheme() const { return _coding_scheme; } -+ void set_coding_scheme(const String &s) { _coding_scheme = s; } - -- int design_units() const { return _design_units; } -- int units_per_em() const { return _units_per_em; } -- void set_design_units(int du) { _design_units = du; } -+ int design_units() const { return _design_units; } -+ int units_per_em() const { return _units_per_em; } -+ void set_design_units(int du) { _design_units = du; } - -- int n_mapped_fonts() const { return _mapped_fonts.size();} -+ int n_mapped_fonts() const { return _mapped_fonts.size();} - const Efont::CharstringProgram *mapped_font(int i) const { return _mapped_fonts[i]; } - const String &mapped_font_name(int i) const { return _mapped_font_names[i]; } - int add_mapped_font(const Efont::CharstringProgram *, const String &); - -- inline int encoding_size() const { return _encoding.size(); } -+ inline int encoding_size() const { return _encoding.size(); } - inline bool valid_code(Code) const; - inline bool nonvirtual_code(Code) const; - PermString code_name(Code) const; -@@ -63,7 +51,7 @@ class Metrics { public: - void encode_virtual(Code, PermString, uint32_t uni, const Vector &, bool base_char); - - void add_altselector_code(Code, int altselector_type); -- bool altselectors() const { return _altselectors.size() > 0; } -+ bool altselectors() const { return _altselectors.size() > 0; } - - inline bool was_base_glyph(Code) const; - inline Code base_code(Code) const; -@@ -101,57 +89,57 @@ class Metrics { public: - void unparse() const; - - struct Ligature { -- Code in2; -- Code out; -- Ligature(Code in2_, Code out_) : in2(in2_), out(out_) { } -+ Code in2; -+ Code out; -+ Ligature(Code in2_, Code out_) : in2(in2_), out(out_) { } - }; - - struct Kern { -- Code in2; -- int kern; -- Kern(Code in2_, int kern_) : in2(in2_), kern(kern_) { } -+ Code in2; -+ int kern; -+ Kern(Code in2_, int kern_) : in2(in2_), kern(kern_) { } - }; - - struct VirtualChar { -- PermString name; -- Vector setting; -+ PermString name; -+ Vector setting; - }; - - struct Ligature3 { -- Code in1; -- Code in2; -- Code out; -- Ligature3(Code in1_, Code in2_, Code out_) : in1(in1_), in2(in2_), out(out_) { } -+ Code in1; -+ Code in2; -+ Code out; -+ Ligature3(Code in1_, Code in2_, Code out_) : in1(in1_), in2(in2_), out(out_) { } - String unparse(const Metrics& m) const; - }; - - private: - - struct Char { -- Glyph glyph; -- Code base_code; -- uint32_t unicode; -- Vector ligatures; -- Vector kerns; -- VirtualChar *virtual_char; -- int pdx; -- int pdy; -- int adx; -- Code built_in1; -- Code built_in2; -- int lookup_source; -- enum { BUILT = 1, INTERMEDIATE = 2, CONTEXT_ONLY = 4, LIVE = 8, -- BASE_LIVE = 16, BASE_REP = 32, IS_FF = 64 }; -- int flags; -- -- Char() : virtual_char(0) { clear(); } -- void clear(); -- void swap(Char &); -- bool visible() const { return glyph != 0; } -- bool visible_base() const { return glyph != 0 && glyph != VIRTUAL_GLYPH; } -- bool flag(int f) const { return (flags & f) != 0; } -- inline bool base_glyph() const; -- bool context_setting(Code in1, Code in2) const; -+ Glyph glyph; -+ Code base_code; -+ uint32_t unicode; -+ Vector ligatures; -+ Vector kerns; -+ VirtualChar *virtual_char; -+ int pdx; -+ int pdy; -+ int adx; -+ Code built_in1; -+ Code built_in2; -+ int lookup_source; -+ enum { BUILT = 1, INTERMEDIATE = 2, CONTEXT_ONLY = 4, LIVE = 8, -+ BASE_LIVE = 16, BASE_REP = 32, IS_FF = 64 }; -+ int flags; -+ -+ Char() : virtual_char(0) { clear(); } -+ void clear(); -+ void swap(Char &); -+ bool visible() const { return glyph != 0; } -+ bool visible_base() const { return glyph != 0 && glyph != VIRTUAL_GLYPH; } -+ bool flag(int f) const { return (flags & f) != 0; } -+ inline bool base_glyph() const; -+ bool context_setting(Code in1, Code in2) const; - }; - - Vector _encoding; -@@ -171,7 +159,7 @@ class Metrics { public: - Vector _mapped_fonts; - Vector _mapped_font_names; - -- Metrics(const Metrics &); // does not exist -+ Metrics(const Metrics &); // does not exist - Metrics &operator=(const Metrics &); // does not exist - - inline void assign_emap(Glyph, Code); -@@ -191,17 +179,19 @@ class Metrics { public: - class ChangedContext; - void apply_ligature(const Vector &, const Substitution *, int lookup); - void apply_single(Code cin, const Substitution *s, int lookup, -- ChangedContext &ctx, const GlyphFilter &glyph_filter, -- const Vector &glyph_names); -+ ChangedContext &ctx, const GlyphFilter &glyph_filter, -+ const Vector &glyph_names); - void apply_simple_context_ligature(const Vector &codes, -- const Substitution *s, int lookup, ChangedContext &ctx); -+ const Substitution *s, int lookup, ChangedContext &ctx, -+ const GlyphFilter &glyph_filter, -+ const Vector &glyph_names); - void apply_alternates_single(Code cin, const Substitution *s, int lookup, -- const GlyphFilter &glyph_filter, -- const Vector &glyph_names); -+ const GlyphFilter &glyph_filter, -+ const Vector &glyph_names); - void apply_alternates_ligature(const Vector &codes, -- const Substitution *s, int lookup, -- const GlyphFilter &glyph_filter, -- const Vector &glyph_names); -+ const Substitution *s, int lookup, -+ const GlyphFilter &glyph_filter, -+ const Vector &glyph_names); - - void unparse(const Char *) const; - -@@ -224,36 +214,36 @@ inline Metrics::Glyph - Metrics::glyph(Code code) const - { - if (code < 0 || code >= _encoding.size()) -- return 0; -+ return 0; - else -- return _encoding[code].glyph; -+ return _encoding[code].glyph; - } - - inline uint32_t - Metrics::unicode(Code code) const - { - if (code < 0 || code >= _encoding.size()) -- return 0; -+ return 0; - else -- return _encoding[code].unicode; -+ return _encoding[code].unicode; - } - - inline Metrics::Glyph - Metrics::base_glyph(Code code) const - { - if (code < 0 || code >= _encoding.size() || _encoding[code].base_code < 0) -- return 0; -+ return 0; - else -- return _encoding[code].glyph; -+ return _encoding[code].glyph; - } - - inline Metrics::Code - Metrics::base_code(Code code) const - { - if (code < 0 || code >= _encoding.size()) -- return 0; -+ return 0; - else -- return _encoding[code].base_code; -+ return _encoding[code].base_code; - } - - inline Metrics::Code -@@ -261,16 +251,16 @@ Metrics::encoding(Glyph g, Code after) c - { - Code c; - if (g >= 0 && g < _emap.size() && (c = _emap.at_u(g)) >= -1) -- return c < 0 || c >= after ? c : -1; -+ return c < 0 || c >= after ? c : -1; - else -- return hard_encoding(g, after); -+ return hard_encoding(g, after); - } - - inline void - Metrics::assign_emap(Glyph g, Code code) - { - if (g >= _emap.size()) -- _emap.resize(g + 1, -1); -+ _emap.resize(g + 1, -1); - _emap[g] = (_emap[g] == -1 || _emap[g] == code ? code : -2); - } - -@@ -290,9 +280,9 @@ inline bool - Metrics::was_base_glyph(Code code) const - { - if (code < 0 || code >= _encoding.size()) -- return 0; -+ return 0; - else -- return _encoding[code].base_glyph(); -+ return _encoding[code].base_glyph(); - } - - #endif -diff -up texlive-base-20170520/source/texk/lcdf-typetools/lcdf-typetools-src/otftotfm/otftotfm.1.git4166ff9 texlive-base-20170520/source/texk/lcdf-typetools/lcdf-typetools-src/otftotfm/otftotfm.1 ---- texlive-base-20170520/source/texk/lcdf-typetools/lcdf-typetools-src/otftotfm/otftotfm.1.git4166ff9 2016-11-25 13:08:53.000000000 -0500 -+++ texlive-base-20170520/source/texk/lcdf-typetools/lcdf-typetools-src/otftotfm/otftotfm.1 2018-02-23 12:47:54.092971728 -0500 -@@ -1,5 +1,5 @@ - '\"t --.ds V 2.106 -+.ds V 2.107 - .de M - .BR "\\$1" "(\\$2)\\$3" - .. -@@ -868,15 +868,19 @@ Do not generate a font map line for the - .BI \-\-truetype\-directory= dir - .TP 5 - .BI \-\-type42\-directory= dir -+.TP 5 -+.BI \-\-directory= dir - Set the directory used for various output types. Each directory may be set - by an environment variable, and defaults to a TDS directory in automatic - mode, or to "." otherwise. Environment variable names and default TDS --locations are described in the Automatic Mode section above. -+locations are described in the Automatic Mode section above. The -+.B \-\-directory -+option sets the default directory for all output types. - ' - .Sp - .TP 5 - .BI \-\-map\-file= filename --Set file in which -+Set file in which - .B otftotfm - will write a font map - line for the font. The default is the standard output in manual mode, and -@@ -956,7 +960,7 @@ have the following format: - This tells - .B otftotfm - that the glyph named --.I glyph -+.I glyph - translates into the first Unicode value in the - .I choice - list that has a character in the font. \fIGlyph\fR and the -@@ -1042,7 +1046,7 @@ and - .IR glyph2 . - "{LK}" and "{KL}" inhibit both ligatures and kerns. - .PP --You can set the -+You can set the - .B \-\-boundary\-char - and - .B \-\-altselector\-char -@@ -1060,7 +1064,7 @@ has a default set of eight ligatures, na - space l =: lslash ; space L =: Lslash ; - question quoteleft =: questiondown ; exclam quoteleft =: exclamdown ; - hyphen hyphen =: endash ; endash hyphen =: emdash ; -- quoteleft quoteleft =: quotedblleft ; -+ quoteleft quoteleft =: quotedblleft ; - quoteright quoteright =: quotedblright - .fi - LIGKERN commands in the encoding file and -diff -up texlive-base-20170520/source/texk/lcdf-typetools/lcdf-typetools-src/otftotfm/otftotfm.cc.git4166ff9 texlive-base-20170520/source/texk/lcdf-typetools/lcdf-typetools-src/otftotfm/otftotfm.cc ---- texlive-base-20170520/source/texk/lcdf-typetools/lcdf-typetools-src/otftotfm/otftotfm.cc.git4166ff9 2016-11-25 13:08:53.000000000 -0500 -+++ texlive-base-20170520/source/texk/lcdf-typetools/lcdf-typetools-src/otftotfm/otftotfm.cc 2018-02-23 12:47:54.094971678 -0500 -@@ -1,6 +1,6 @@ - /* otftotfm.cc -- driver for translating OpenType fonts to TeX metrics - * -- * Copyright (c) 2003-2016 Eddie Kohler -+ * Copyright (c) 2003-2018 Eddie Kohler - * - * 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 -@@ -63,91 +63,89 @@ - #ifdef HAVE_FCNTL_H - # include - #endif --#ifdef _MSC_VER --# include --#endif - - using namespace Efont; - --#define VERSION_OPT 301 --#define HELP_OPT 302 --#define QUERY_SCRIPTS_OPT 303 --#define QUERY_FEATURES_OPT 304 --#define KPATHSEA_DEBUG_OPT 305 -- --#define SCRIPT_OPT 311 --#define FEATURE_OPT 312 --#define ENCODING_OPT 313 --#define LITERAL_ENCODING_OPT 314 --#define EXTEND_OPT 315 --#define SLANT_OPT 316 --#define LETTERSPACE_OPT 317 --#define LIGKERN_OPT 318 --#define CODINGSCHEME_OPT 319 --#define UNICODING_OPT 320 --#define BOUNDARY_CHAR_OPT 321 --#define DESIGN_SIZE_OPT 322 --#define MINIMUM_KERN_OPT 323 --#define ALTSELECTOR_CHAR_OPT 324 --#define INCLUDE_ALTERNATES_OPT 325 --#define EXCLUDE_ALTERNATES_OPT 326 --#define CLEAR_ALTERNATES_OPT 327 --#define ALTSELECTOR_FEATURE_OPT 328 --#define DEFAULT_LIGKERN_OPT 329 --#define NO_ECOMMAND_OPT 330 --#define LETTER_FEATURE_OPT 331 --#define INCLUDE_SUBS_OPT 332 --#define EXCLUDE_SUBS_OPT 333 --#define CLEAR_SUBS_OPT 334 --#define SUBS_FILTER_OPT 335 --#define ALTERNATES_FILTER_OPT 336 --#define SPACE_FACTOR_OPT 337 --#define MATH_SPACING_OPT 338 --#define POSITION_OPT 339 --#define WARN_MISSING_OPT 340 --#define BASE_ENCODINGS_OPT 341 --#define FIXED_PITCH_OPT 342 --#define ITALIC_ANGLE_OPT 343 --#define PROPORTIONAL_WIDTH_OPT 344 --#define X_HEIGHT_OPT 345 -- --#define AUTOMATIC_OPT 350 --#define FONT_NAME_OPT 351 --#define QUIET_OPT 352 --#define GLYPHLIST_OPT 353 --#define VENDOR_OPT 354 --#define TYPEFACE_OPT 355 --#define NOCREATE_OPT 356 --#define VERBOSE_OPT 357 --#define FORCE_OPT 358 -- --#define VIRTUAL_OPT 360 --#define PL_OPT 361 --#define TFM_OPT 362 --#define MAP_FILE_OPT 363 --#define OUTPUT_ENCODING_OPT 364 -- --#define DIR_OPTS 380 --#define ENCODING_DIR_OPT (DIR_OPTS + O_ENCODING) --#define TFM_DIR_OPT (DIR_OPTS + O_TFM) --#define PL_DIR_OPT (DIR_OPTS + O_PL) --#define VF_DIR_OPT (DIR_OPTS + O_VF) --#define VPL_DIR_OPT (DIR_OPTS + O_VPL) --#define TYPE1_DIR_OPT (DIR_OPTS + O_TYPE1) --#define TYPE42_DIR_OPT (DIR_OPTS + O_TYPE42) --#define TRUETYPE_DIR_OPT (DIR_OPTS + O_TRUETYPE) -- --#define NO_OUTPUT_OPTS 400 --#define NO_ENCODING_OPT (NO_OUTPUT_OPTS + G_ENCODING) --#define NO_TYPE1_OPT (NO_OUTPUT_OPTS + G_TYPE1) --#define NO_DOTLESSJ_OPT (NO_OUTPUT_OPTS + G_DOTLESSJ) --#define NO_UPDMAP_OPT (NO_OUTPUT_OPTS + G_UPDMAP) -- --#define YES_OUTPUT_OPTS 2000 --#define TRUETYPE_OPT (YES_OUTPUT_OPTS + G_TRUETYPE) --#define TYPE42_OPT (YES_OUTPUT_OPTS + G_TYPE42) -+#define VERSION_OPT 301 -+#define HELP_OPT 302 -+#define QUERY_SCRIPTS_OPT 303 -+#define QUERY_FEATURES_OPT 304 -+#define KPATHSEA_DEBUG_OPT 305 -+ -+#define SCRIPT_OPT 311 -+#define FEATURE_OPT 312 -+#define ENCODING_OPT 313 -+#define LITERAL_ENCODING_OPT 314 -+#define EXTEND_OPT 315 -+#define SLANT_OPT 316 -+#define LETTERSPACE_OPT 317 -+#define LIGKERN_OPT 318 -+#define CODINGSCHEME_OPT 319 -+#define UNICODING_OPT 320 -+#define BOUNDARY_CHAR_OPT 321 -+#define DESIGN_SIZE_OPT 322 -+#define MINIMUM_KERN_OPT 323 -+#define ALTSELECTOR_CHAR_OPT 324 -+#define INCLUDE_ALTERNATES_OPT 325 -+#define EXCLUDE_ALTERNATES_OPT 326 -+#define CLEAR_ALTERNATES_OPT 327 -+#define ALTSELECTOR_FEATURE_OPT 328 -+#define DEFAULT_LIGKERN_OPT 329 -+#define NO_ECOMMAND_OPT 330 -+#define LETTER_FEATURE_OPT 331 -+#define INCLUDE_SUBS_OPT 332 -+#define EXCLUDE_SUBS_OPT 333 -+#define CLEAR_SUBS_OPT 334 -+#define SUBS_FILTER_OPT 335 -+#define ALTERNATES_FILTER_OPT 336 -+#define SPACE_FACTOR_OPT 337 -+#define MATH_SPACING_OPT 338 -+#define POSITION_OPT 339 -+#define WARN_MISSING_OPT 340 -+#define BASE_ENCODINGS_OPT 341 -+#define FIXED_PITCH_OPT 342 -+#define ITALIC_ANGLE_OPT 343 -+#define PROPORTIONAL_WIDTH_OPT 344 -+#define X_HEIGHT_OPT 345 -+ -+#define AUTOMATIC_OPT 350 -+#define FONT_NAME_OPT 351 -+#define QUIET_OPT 352 -+#define GLYPHLIST_OPT 353 -+#define VENDOR_OPT 354 -+#define TYPEFACE_OPT 355 -+#define NOCREATE_OPT 356 -+#define VERBOSE_OPT 357 -+#define FORCE_OPT 358 -+ -+#define VIRTUAL_OPT 360 -+#define PL_OPT 361 -+#define TFM_OPT 362 -+#define MAP_FILE_OPT 363 -+#define OUTPUT_ENCODING_OPT 364 -+ -+#define DIR_OPTS 380 -+#define ENCODING_DIR_OPT (DIR_OPTS + O_ENCODING) -+#define TFM_DIR_OPT (DIR_OPTS + O_TFM) -+#define PL_DIR_OPT (DIR_OPTS + O_PL) -+#define VF_DIR_OPT (DIR_OPTS + O_VF) -+#define VPL_DIR_OPT (DIR_OPTS + O_VPL) -+#define TYPE1_DIR_OPT (DIR_OPTS + O_TYPE1) -+#define TYPE42_DIR_OPT (DIR_OPTS + O_TYPE42) -+#define TRUETYPE_DIR_OPT (DIR_OPTS + O_TRUETYPE) -+#define DIR_OPT (DIR_OPTS + NUMODIR) -+ -+#define NO_OUTPUT_OPTS 400 -+#define NO_ENCODING_OPT (NO_OUTPUT_OPTS + G_ENCODING) -+#define NO_TYPE1_OPT (NO_OUTPUT_OPTS + G_TYPE1) -+#define NO_DOTLESSJ_OPT (NO_OUTPUT_OPTS + G_DOTLESSJ) -+#define NO_UPDMAP_OPT (NO_OUTPUT_OPTS + G_UPDMAP) -+ -+#define YES_OUTPUT_OPTS 2000 -+#define TRUETYPE_OPT (YES_OUTPUT_OPTS + G_TRUETYPE) -+#define TYPE42_OPT (YES_OUTPUT_OPTS + G_TYPE42) - --#define CHAR_OPTTYPE (Clp_ValFirstUser) -+#define CHAR_OPTTYPE (Clp_ValFirstUser) - - static Clp_Option options[] = { - -@@ -194,7 +192,8 @@ static Clp_Option options[] = { - { "italic-angle", 0, ITALIC_ANGLE_OPT, Clp_ValDouble, 0 }, - { "x-height", 0, X_HEIGHT_OPT, Clp_ValString, 0 }, - -- { "pl", 'p', PL_OPT, 0, 0 }, -+ { "pl", 'p', PL_OPT, 0, Clp_Negate }, -+ { "tfm", 't', TFM_OPT, 0, Clp_Negate }, // not in documentation - { "virtual", 0, VIRTUAL_OPT, 0, Clp_Negate }, - { "no-encoding", 0, NO_ENCODING_OPT, 0, 0 }, - { "no-type1", 0, NO_TYPE1_OPT, 0, 0 }, -@@ -210,6 +209,7 @@ static Clp_Option options[] = { - { "vendor", 'v', VENDOR_OPT, Clp_ValString, 0 }, - { "typeface", 0, TYPEFACE_OPT, Clp_ValString, 0 }, - -+ { "directory", 0, DIR_OPT, Clp_ValString, 0 }, - { "encoding-directory", 0, ENCODING_DIR_OPT, Clp_ValString, 0 }, - { "pl-directory", 0, PL_DIR_OPT, Clp_ValString, 0 }, - { "tfm-directory", 0, TFM_DIR_OPT, Clp_ValString, 0 }, -@@ -229,7 +229,6 @@ static Clp_Option options[] = { - { "help", 'h', HELP_OPT, 0, 0 }, - { "version", 0, VERSION_OPT, 0, 0 }, - -- { "tfm", 't', TFM_OPT, 0, 0 }, // deprecated - { "query-features", 0, QUERY_FEATURES_OPT, 0, 0 }, - { "qf", 0, QUERY_FEATURES_OPT, 0, 0 }, - { "query-scripts", 0, QUERY_SCRIPTS_OPT, 0, 0 }, -@@ -286,7 +285,7 @@ static double x_height; - static String out_encoding_file; - static String out_encoding_name; - --int output_flags = G_ENCODING | G_METRICS | G_VMETRICS | G_PSFONTSMAP | G_TYPE1 | G_DOTLESSJ | G_UPDMAP | G_BINARY | G_TRUETYPE; -+unsigned output_flags = G_ENCODING | G_METRICS | G_VMETRICS | G_PSFONTSMAP | G_TYPE1 | G_DOTLESSJ | G_UPDMAP | G_TRUETYPE; - - bool automatic = false; - bool verbose = false; -@@ -303,9 +302,9 @@ usage_error(ErrorHandler *errh, const ch - va_list val; - va_start(val, error_message); - if (!error_message) -- errh->message("Usage: %s [OPTION]... FONT", program_name); -+ errh->message("Usage: %s [OPTION]... FONT", program_name); - else -- errh->xmessage(ErrorHandler::e_error, error_message, val); -+ errh->xmessage(ErrorHandler::e_error, error_message, val); - errh->message("Type %s --help for more information.", program_name); - exit(1); - } -@@ -323,7 +322,7 @@ encoding. Output files are written to th - %<--automatic%> and the % options).\n\ - \n\ - Usage: %s [-a] [OPTIONS] OTFFILE FONTNAME\n\n", -- program_name); -+ program_name); - uerrh.message("\ - Font feature and transformation options:\n\ - -s, --script=SCRIPT[.LANG] Use features for script SCRIPT[.LANG] [latn].\n\ -@@ -391,6 +390,7 @@ File location options:\n\ - --encoding-directory=DIR Put encoding files in DIR [.|automatic].\n\ - --type1-directory=DIR Put Type 1 fonts in DIR [automatic].\n\ - --truetype-directory=DIR Put TrueType fonts in DIR [automatic].\n\ -+ --directory=DIR Put output in DIR [.|automatic].\n\ - --map-file=FILE Update FILE with psfonts.map information [-].\n\ - \n\ - Other options:\n\ -@@ -449,14 +449,14 @@ suffix_font_name(const String &font_name - { - const char *begin = font_name.begin(), *end = font_name.end(); - while (end > begin && isdigit((unsigned char) end[-1])) -- --end; -+ --end; - if (end < font_name.end() && end > begin && end[-1] != '-' && end[-1] != '+') -- end = font_name.end(); -+ end = font_name.end(); - else -- while (end > begin && (end[-1] == '-' || end[-1] == '+')) -- --end; -+ while (end > begin && (end[-1] == '-' || end[-1] == '+')) -+ --end; - if (end == begin) -- end = font_name.end(); -+ end = font_name.end(); - return font_name.substring(begin, end) + suffix + font_name.substring(end, font_name.end()); - } - -@@ -470,40 +470,40 @@ static double - get_design_size(const FontInfo &finfo) - { - try { -- String gpos_table = finfo.otf->table("GPOS"); -- if (!gpos_table) -- throw OpenType::Error(); -- -- ErrorHandler *errh = ErrorHandler::silent_handler(); -- OpenType::Gpos gpos(gpos_table, errh); -- -- // extract 'size' feature(s) -- int required_fid; -- Vector fids; -- for (const OpenType::Tag *t = interesting_scripts.begin(); t < interesting_scripts.end(); t += 2) -- gpos.script_list().features(t[0], t[1], required_fid, fids, 0, false); -- -- int size_fid = gpos.feature_list().find(OpenType::Tag("size"), fids); -- if (size_fid < 0) -- throw OpenType::Error(); -- -- // old Adobe fonts implement an old, incorrect idea -- // of what the FeatureParams offset means. -- OpenType::Name name(finfo.otf->table("name"), errh); -- OpenType::Data size_data = gpos.feature_list().size_params(size_fid, name, errh); -- if (!size_data.length()) -- throw OpenType::Error(); -- -- double result = size_data.u16(0) / 10.; -- // check for insane design sizes -- if (result < 1 || result > 1000) -- throw OpenType::Error(); -+ String gpos_table = finfo.otf->table("GPOS"); -+ if (!gpos_table) -+ throw OpenType::Error(); -+ -+ ErrorHandler *errh = ErrorHandler::silent_handler(); -+ OpenType::Gpos gpos(gpos_table, errh); -+ -+ // extract 'size' feature(s) -+ int required_fid; -+ Vector fids; -+ for (const OpenType::Tag *t = interesting_scripts.begin(); t < interesting_scripts.end(); t += 2) -+ gpos.script_list().features(t[0], t[1], required_fid, fids, 0, false); -+ -+ int size_fid = gpos.feature_list().find(OpenType::Tag("size"), fids); -+ if (size_fid < 0) -+ throw OpenType::Error(); -+ -+ // old Adobe fonts implement an old, incorrect idea -+ // of what the FeatureParams offset means. -+ OpenType::Name name(finfo.otf->table("name"), errh); -+ OpenType::Data size_data = gpos.feature_list().size_params(size_fid, name, errh); -+ if (!size_data.length()) -+ throw OpenType::Error(); -+ -+ double result = size_data.u16(0) / 10.; -+ // check for insane design sizes -+ if (result < 1 || result > 1000) -+ throw OpenType::Error(); - -- // return a number in 'pt', not 'bp' -- return result * 72.27 / 72.; -+ // return a number in 'pt', not 'bp' -+ return result * 72.27 / 72.; - - } catch (OpenType::Error) { -- return 10.0; -+ return 10.0; - } - } - -@@ -556,9 +556,9 @@ void Printer::print(const char* prefix, - String Printer::render(double value) const { - value = transform(value); - if (round_ || value == 0 || (value > 0.01 && value - floor(value) < 0.01)) -- return String(value); -+ return String(value); - else { -- char buf[128]; -+ char buf[128]; - sprintf(buf, "%.4f", value); - return String(buf); - } -@@ -574,21 +574,21 @@ font_slant(const FontInfo &finfo) - - static void - output_pl(Metrics &metrics, const String &ps_name, int boundary_char, -- const FontInfo &finfo, bool vpl, -- const String &filename, ErrorHandler *errh) -+ const FontInfo &finfo, bool vpl, -+ const String &filename, ErrorHandler *errh) - { - // create file - if (no_create) { -- errh->message("would create %s", filename.c_str()); -- return; -+ errh->message("would create %s", filename.c_str()); -+ return; - } - - if (verbose) -- errh->message("creating %s", filename.c_str()); -- FILE *f = fopen(filename.c_str(), "wb"); -+ errh->message("creating %s", filename.c_str()); -+ FILE *f = fopen(filename.c_str(), "w"); - if (!f) { -- errh->error("%s: %s", filename.c_str(), strerror(errno)); -- return; -+ errh->error("%s: %s", filename.c_str(), strerror(errno)); -+ return; - } - - // XXX check DESIGNSIZE and DESIGNUNITS for correctness -@@ -598,139 +598,139 @@ output_pl(Metrics &metrics, const String - // calculate a TeX FAMILY name using afm2tfm's algorithm - String family_name = String("TeX-") + ps_name; - if (family_name.length() > 19) -- family_name = family_name.substring(0, 9) + family_name.substring(-10); -+ family_name = family_name.substring(0, 9) + family_name.substring(-10); - fprintf(f, "(FAMILY %s)\n", family_name.c_str()); - - if (metrics.coding_scheme()) -- fprintf(f, "(CODINGSCHEME %.39s)\n", String(metrics.coding_scheme()).c_str()); -+ fprintf(f, "(CODINGSCHEME %.39s)\n", String(metrics.coding_scheme()).c_str()); - int design_units = metrics.design_units(); - - if (design_size <= 0) -- design_size = get_design_size(finfo); -+ design_size = get_design_size(finfo); - max_printed_real = 0; - - fprintf(f, "(DESIGNSIZE R %.1f)\n" -- "(DESIGNUNITS R %d.0)\n" -- "(COMMENT DESIGNSIZE (1 em) IS IN POINTS)\n" -- "(COMMENT OTHER DIMENSIONS ARE MULTIPLES OF DESIGNSIZE/%d)\n" -- "(FONTDIMEN\n", design_size, design_units, design_units); -+ "(DESIGNUNITS R %d.0)\n" -+ "(COMMENT DESIGNSIZE (1 em) IS IN POINTS)\n" -+ "(COMMENT OTHER DIMENSIONS ARE MULTIPLES OF DESIGNSIZE/%d)\n" -+ "(FONTDIMEN\n", design_size, design_units, design_units); - - // figure out font dimensions - Transform font_xform; - if (extend) -- font_xform.scale(extend, 1); -+ font_xform.scale(extend, 1); - if (slant) -- font_xform.shear(slant); -+ font_xform.shear(slant); - double bounds[4], width; - Printer pr(f, design_units, metrics.units_per_em()); - - double actual_slant = font_slant(finfo); - if (actual_slant) -- fprintf(f, " (SLANT R %g)\n", actual_slant); -+ fprintf(f, " (SLANT R %g)\n", actual_slant); - - if (char_bounds(bounds, width, finfo, font_xform, ' ')) { -- // advance space width by letterspacing, scale by space_factor -- double space_width = (width + (vpl ? letterspace : 0)) * space_factor; -- pr.print(" (SPACE", space_width); -- if (finfo.is_fixed_pitch()) { -- // fixed-pitch: no space stretch or shrink -- pr.print(" (STRETCH", 0); -- pr.print(" (SHRINK", 0); -- pr.print(" (EXTRASPACE", space_width); -- } else { -- pr.print(" (STRETCH", space_width / 2.); -- pr.print(" (SHRINK", space_width / 3.); -- pr.print(" (EXTRASPACE", space_width / 6.); -- } -+ // advance space width by letterspacing, scale by space_factor -+ double space_width = (width + (vpl ? letterspace : 0)) * space_factor; -+ pr.print(" (SPACE", space_width); -+ if (finfo.is_fixed_pitch()) { -+ // fixed-pitch: no space stretch or shrink -+ pr.print(" (STRETCH", 0); -+ pr.print(" (SHRINK", 0); -+ pr.print(" (EXTRASPACE", space_width); -+ } else { -+ pr.print(" (STRETCH", space_width / 2.); -+ pr.print(" (SHRINK", space_width / 3.); -+ pr.print(" (EXTRASPACE", space_width / 6.); -+ } - } - - double x_height = finfo.x_height(font_xform); - if (x_height < finfo.units_per_em()) -- pr.print(" (XHEIGHT", x_height); -+ pr.print(" (XHEIGHT", x_height); - - pr.print(" (QUAD", finfo.units_per_em()); - fprintf(f, " )\n"); - - if (boundary_char >= 0) -- fprintf(f, "(BOUNDARYCHAR D %d)\n", boundary_char); -+ fprintf(f, "(BOUNDARYCHAR D %d)\n", boundary_char); - - // figure out font mapping - int mapped_font0 = 0; - Vector font_mapping; - if (vpl) { -- int vpl_first_font = (metrics.need_base() ? 0 : 1); -- font_mapping.assign(metrics.n_mapped_fonts(), 0); -- if (vpl_first_font == 1 && font_mapping.size() == 1) -- font_mapping.push_back(0); -- // how many times is each font used? -- Vector settings; -- for (int i = 0; i < 256; i++) -- if (metrics.setting(i, settings)) { -- int font_number = 0; -- for (const Setting *s = settings.begin(); s < settings.end(); s++) -- if (s->op == Setting::SHOW) -- font_mapping[font_number]++; -- else if (s->op == Setting::FONT) -- font_number = (int) s->x; -- } -- // make sure the most-used font is number 0 -- mapped_font0 = std::max_element(font_mapping.begin(), font_mapping.end()) - font_mapping.begin(); -- // prepare the mapping -- for (int i = vpl_first_font; i < font_mapping.size(); i++) -- font_mapping[i] = i - vpl_first_font; -- font_mapping[mapped_font0] = 0; -- font_mapping[vpl_first_font] = mapped_font0 - vpl_first_font; -- if (vpl_first_font != 0) -- font_mapping[0] = font_mapping.size() - 1; -- // write MAPFONT -- for (int i = 0; i < metrics.n_mapped_fonts() - vpl_first_font; i++) { -- int j = std::find(font_mapping.begin(), font_mapping.end(), i) - font_mapping.begin(); -- String name = metrics.mapped_font_name(j); -- if (!name) -- name = make_base_font_name(font_name); -- fprintf(f, "(MAPFONT D %d\n (FONTNAME %s)\n (FONTDSIZE R %.1f)\n )\n", i, name.c_str(), design_size); -- } -+ int vpl_first_font = (metrics.need_base() ? 0 : 1); -+ font_mapping.assign(metrics.n_mapped_fonts(), 0); -+ if (vpl_first_font == 1 && font_mapping.size() == 1) -+ font_mapping.push_back(0); -+ // how many times is each font used? -+ Vector settings; -+ for (int i = 0; i < 256; i++) -+ if (metrics.setting(i, settings)) { -+ int font_number = 0; -+ for (const Setting *s = settings.begin(); s < settings.end(); s++) -+ if (s->op == Setting::SHOW) -+ font_mapping[font_number]++; -+ else if (s->op == Setting::FONT) -+ font_number = (int) s->x; -+ } -+ // make sure the most-used font is number 0 -+ mapped_font0 = std::max_element(font_mapping.begin(), font_mapping.end()) - font_mapping.begin(); -+ // prepare the mapping -+ for (int i = vpl_first_font; i < font_mapping.size(); i++) -+ font_mapping[i] = i - vpl_first_font; -+ font_mapping[mapped_font0] = 0; -+ font_mapping[vpl_first_font] = mapped_font0 - vpl_first_font; -+ if (vpl_first_font != 0) -+ font_mapping[0] = font_mapping.size() - 1; -+ // write MAPFONT -+ for (int i = 0; i < metrics.n_mapped_fonts() - vpl_first_font; i++) { -+ int j = std::find(font_mapping.begin(), font_mapping.end(), i) - font_mapping.begin(); -+ String name = metrics.mapped_font_name(j); -+ if (!name) -+ name = make_base_font_name(font_name); -+ fprintf(f, "(MAPFONT D %d\n (FONTNAME %s)\n (FONTDSIZE R %.1f)\n )\n", i, name.c_str(), design_size); -+ } - } else -- for (int i = 0; i < metrics.n_mapped_fonts(); i++) -- font_mapping.push_back(i); -+ for (int i = 0; i < metrics.n_mapped_fonts(); i++) -+ font_mapping.push_back(i); - - // figure out the proper names and numbers for glyphs - Vector glyph_ids; - Vector glyph_comments(257, String()); - Vector glyph_base_comments(257, String()); - for (int i = 0; i < metrics.encoding_size(); i++) { -- if (metrics.glyph(i)) { -- PermString name = metrics.code_name(i), expected_name; -- if (i >= '0' && i <= '9') -- expected_name = digit_names[i - '0']; -- else if ((i >= 'A' && i <= 'Z') || (i >= 'a' && i <= 'z')) -- expected_name = PermString((char)i); -- String glyph_comment; -- if (name != expected_name) -- glyph_comment = " (COMMENT " + String(name) + ")"; -- -- int base = metrics.base_code(i); -- if (base >= 0 && base < 256) -- glyph_base_comments[base] = glyph_comment; -+ if (metrics.glyph(i)) { -+ PermString name = metrics.code_name(i), expected_name; -+ if (i >= '0' && i <= '9') -+ expected_name = digit_names[i - '0']; -+ else if ((i >= 'A' && i <= 'Z') || (i >= 'a' && i <= 'z')) -+ expected_name = PermString((char)i); -+ String glyph_comment; -+ if (name != expected_name) -+ glyph_comment = " (COMMENT " + String(name) + ")"; -+ -+ int base = metrics.base_code(i); -+ if (base >= 0 && base < 256) -+ glyph_base_comments[base] = glyph_comment; - -- if (i >= 256) -- continue; -+ if (i >= 256) -+ continue; - - char* expected_name_end; -- if (expected_name -+ if (expected_name - && (name == expected_name - || (name.length() == 7 - && memcmp(name.data(), "uni00", 5) == 0 - && strtol(name.c_str() + 3, &expected_name_end, 16) == i - && *expected_name_end == 0))) -- glyph_ids.push_back("C " + String((char)i)); -- else -- glyph_ids.push_back("D " + String(i)); -+ glyph_ids.push_back("C " + String((char)i)); -+ else -+ glyph_ids.push_back("D " + String(i)); - -- glyph_comments[i] = glyph_base_comments[i] = glyph_comment; -+ glyph_comments[i] = glyph_base_comments[i] = glyph_comment; - -- } else if (i < 256) -- glyph_ids.push_back("D " + String(i)); -+ } else if (i < 256) -+ glyph_ids.push_back("D " + String(i)); - } - // finally, BOUNDARYCHAR - glyph_ids.push_back("BOUNDARYCHAR"); -@@ -741,38 +741,50 @@ output_pl(Metrics &metrics, const String - // don't print KRN x after printing LIG x - uint32_t used[8]; - bool any_ligs = false; -+ StringAccum omitted_clig_sa; - for (int i = 0; i <= 256; i++) -- if (metrics.glyph(i) && minimum_kern < 10000) { -- int any_lig = metrics.ligatures(i, lig_code2, lig_outcode, lig_context); -- int any_kern = metrics.kerns(i, kern_code2, kern_amt); -- if (any_lig || any_kern) { -- StringAccum kern_sa; -- memset(&used[0], 0, 32); -- for (int j = 0; j < lig_code2.size(); j++) { -- kern_sa << " (" << lig_context_str(lig_context[j]) -- << ' ' << glyph_ids[lig_code2[j]] -- << ' ' << glyph_ids[lig_outcode[j]] -- << ')' << glyph_comments[lig_code2[j]] -- << glyph_comments[lig_outcode[j]] << '\n'; -- used[lig_code2[j] >> 5] |= (1 << (lig_code2[j] & 0x1F)); -- } -- for (Vector::const_iterator k2 = kern_code2.begin(); k2 < kern_code2.end(); k2++) -- if (!(used[*k2 >> 5] & (1 << (*k2 & 0x1F)))) { -- double this_kern = kern_amt[k2 - kern_code2.begin()]; -- if (fabs(this_kern) >= minimum_kern) -- kern_sa << " (KRN " << glyph_ids[*k2] -- << " R " << pr.render(this_kern) -- << ')' << glyph_comments[*k2] << '\n'; -- } -- if (kern_sa) { -- if (any_ligs) -- fprintf(f, "\n"); -- fprintf(f, " (LABEL %s)%s\n%s (STOP)\n", glyph_ids[i].c_str(), glyph_comments[i].c_str(), kern_sa.c_str()); -- any_ligs = true; -- } -- } -- } -+ if (metrics.glyph(i) && minimum_kern < 10000) { -+ int any_lig = metrics.ligatures(i, lig_code2, lig_outcode, lig_context); -+ int any_kern = metrics.kerns(i, kern_code2, kern_amt); -+ if (any_lig || any_kern) { -+ StringAccum kern_sa; -+ memset(used, 0, sizeof(used)); -+ for (int j = 0; j < lig_code2.size(); j++) { -+ if (lig_outcode[j] < 257) { -+ kern_sa << " (" << lig_context_str(lig_context[j]) -+ << ' ' << glyph_ids[lig_code2[j]] -+ << ' ' << glyph_ids[lig_outcode[j]] -+ << ')' << glyph_comments[lig_code2[j]] -+ << glyph_comments[lig_outcode[j]] << '\n'; -+ used[lig_code2[j] >> 5] |= (1 << (lig_code2[j] & 0x1F)); -+ } else { -+ omitted_clig_sa << "(COMMENT omitted " -+ << lig_context_str(lig_context[j]) -+ << ' ' << metrics.code_name(i) -+ << ' ' << metrics.code_name(lig_code2[j]) -+ << ' ' << metrics.code_name(lig_outcode[j]) -+ << ")\n"; -+ } -+ } -+ for (Vector::const_iterator k2 = kern_code2.begin(); k2 < kern_code2.end(); k2++) -+ if (!(used[*k2 >> 5] & (1 << (*k2 & 0x1F)))) { -+ double this_kern = kern_amt[k2 - kern_code2.begin()]; -+ if (fabs(this_kern) >= minimum_kern) -+ kern_sa << " (KRN " << glyph_ids[*k2] -+ << " R " << pr.render(this_kern) -+ << ')' << glyph_comments[*k2] << '\n'; -+ } -+ if (kern_sa) { -+ if (any_ligs) -+ fprintf(f, "\n"); -+ fprintf(f, " (LABEL %s)%s\n%s (STOP)\n", glyph_ids[i].c_str(), glyph_comments[i].c_str(), kern_sa.c_str()); -+ any_ligs = true; -+ } -+ } -+ } - fprintf(f, " )\n"); -+ if (omitted_clig_sa) -+ fprintf(f, "%s\n", omitted_clig_sa.c_str()); - - // CHARACTERs - Vector settings; -@@ -780,121 +792,121 @@ output_pl(Metrics &metrics, const String - Vector push_stack; - - for (int i = 0; i < 256; i++) -- if (metrics.setting(i, settings)) { -- fprintf(f, "(CHARACTER %s%s\n", glyph_ids[i].c_str(), glyph_comments[i].c_str()); -+ if (metrics.setting(i, settings)) { -+ fprintf(f, "(CHARACTER %s%s\n", glyph_ids[i].c_str(), glyph_comments[i].c_str()); - -- // unparse settings into DVI commands -- sa.clear(); -- push_stack.clear(); -- CharstringBounds boundser(font_xform); -- int program_number = mapped_font0; -- const CharstringProgram *program = finfo.program(); -- for (const Setting *s = settings.begin(); s < settings.end(); s++) -- switch (s->op) { -- -- case Setting::SHOW: -- if (vpl || program == finfo.program()) -- boundser.char_bounds(program->glyph_context(s->y)); -- // 3.Aug.2004 -- reported by Marco Kuhlmann: Don't use -- // glyph_ids[] array when looking at a different font. -- if (program_number == 0) -- sa << " (SETCHAR " << glyph_ids[s->x] << ')' << glyph_base_comments[s->x] << "\n"; -- else -- sa << " (SETCHAR D " << s->x << ")\n"; -- break; -- -- case Setting::MOVE: { -- int x = 0, y = 0; -- while (s+1 < settings.end() && s[1].op == Setting::MOVE) -- x += s->x, y += s->y, s++; -- if (vpl) -- boundser.translate(s->x + x, s->y + y); -- if (s->x + x) -- sa << " (MOVERIGHT R " << pr.render(s->x + x) << ")\n"; -- if (s->y + y) -- sa << " (MOVEUP R " << pr.render(s->y + y) << ")\n"; -- break; -- } -- -- case Setting::RULE: -- if (vpl) { -- boundser.mark(Point(0, 0)); -- boundser.mark(Point(s->x, s->y)); -- boundser.translate(s->x, 0); -- } -- sa << " (SETRULE R " << pr.render(s->y) << " R " << pr.render(s->x) << ")\n"; -- break; -- -- case Setting::FONT: -- if ((int) s->x != program_number) { -- program = metrics.mapped_font((int) s->x); -- program_number = (int) s->x; -- sa << " (SELECTFONT D " << font_mapping[program_number] << ")\n"; -- } -- break; -- -- case Setting::PUSH: -- push_stack.push_back(boundser.transform(Point(0, 0))); -- sa << " (PUSH)\n"; -- break; -- -- case Setting::POP: { -- assert(push_stack.size()); -- Point p = push_stack.back() - boundser.transform(Point(0, 0)); -- if (vpl) -- boundser.translate(p.x, p.y); -- push_stack.pop_back(); -- sa << " (POP)\n"; -- break; -- } -- -- case Setting::SPECIAL: { -- bool needhex = false; -- for (const char *str = s->s.begin(); str < s->s.end() && !needhex; str++) -- if (*str < ' ' || *str > '~' || *str == '(' || *str == ')') -- needhex = true; -- if (needhex) { -- sa << " (SPECIALHEX "; -- for (const char *str = s->s.begin(); str < s->s.end(); str++) { -- static const char hexdig[] = "0123456789ABCDEF"; -- int val = (unsigned char) *str; -- sa << hexdig[val >> 4] << hexdig[val & 0xF]; -- } -- sa << ")\n"; -- } else -- sa << " (SPECIAL " << s->s << ")\n"; -- break; -- } -- -- } -- -- assert(push_stack.size() == 0); -- -- // output information -- boundser.output(bounds, width); -- pr.print(" (CHARWD", width); -- if (bounds[3] > 0) -- pr.print(" (CHARHT", bounds[3]); -- if (bounds[1] < 0) -- pr.print(" (CHARDP", -bounds[1]); -- if (bounds[2] > width) -- pr.print_transformed(" (CHARIC", pr.transform(bounds[2]) - pr.transform(width)); -- if (vpl && (settings.size() > 1 || settings[0].op != Setting::SHOW)) -- fprintf(f, " (MAP\n%s )\n", sa.c_str()); -- fprintf(f, " )\n"); -- } -+ // unparse settings into DVI commands -+ sa.clear(); -+ push_stack.clear(); -+ CharstringBounds boundser(font_xform); -+ int program_number = mapped_font0; -+ const CharstringProgram *program = finfo.program(); -+ for (const Setting *s = settings.begin(); s < settings.end(); s++) -+ switch (s->op) { -+ -+ case Setting::SHOW: -+ if (vpl || program == finfo.program()) -+ boundser.char_bounds(program->glyph_context(s->y)); -+ // 3.Aug.2004 -- reported by Marco Kuhlmann: Don't use -+ // glyph_ids[] array when looking at a different font. -+ if (program_number == 0) -+ sa << " (SETCHAR " << glyph_ids[s->x] << ')' << glyph_base_comments[s->x] << "\n"; -+ else -+ sa << " (SETCHAR D " << s->x << ")\n"; -+ break; -+ -+ case Setting::MOVE: { -+ int x = 0, y = 0; -+ while (s+1 < settings.end() && s[1].op == Setting::MOVE) -+ x += s->x, y += s->y, s++; -+ if (vpl) -+ boundser.translate(s->x + x, s->y + y); -+ if (s->x + x) -+ sa << " (MOVERIGHT R " << pr.render(s->x + x) << ")\n"; -+ if (s->y + y) -+ sa << " (MOVEUP R " << pr.render(s->y + y) << ")\n"; -+ break; -+ } -+ -+ case Setting::RULE: -+ if (vpl) { -+ boundser.mark(Point(0, 0)); -+ boundser.mark(Point(s->x, s->y)); -+ boundser.translate(s->x, 0); -+ } -+ sa << " (SETRULE R " << pr.render(s->y) << " R " << pr.render(s->x) << ")\n"; -+ break; -+ -+ case Setting::FONT: -+ if ((int) s->x != program_number) { -+ program = metrics.mapped_font((int) s->x); -+ program_number = (int) s->x; -+ sa << " (SELECTFONT D " << font_mapping[program_number] << ")\n"; -+ } -+ break; -+ -+ case Setting::PUSH: -+ push_stack.push_back(boundser.transform(Point(0, 0))); -+ sa << " (PUSH)\n"; -+ break; -+ -+ case Setting::POP: { -+ assert(push_stack.size()); -+ Point p = push_stack.back() - boundser.transform(Point(0, 0)); -+ if (vpl) -+ boundser.translate(p.x, p.y); -+ push_stack.pop_back(); -+ sa << " (POP)\n"; -+ break; -+ } -+ -+ case Setting::SPECIAL: { -+ bool needhex = false; -+ for (const char *str = s->s.begin(); str < s->s.end() && !needhex; str++) -+ if (*str < ' ' || *str > '~' || *str == '(' || *str == ')') -+ needhex = true; -+ if (needhex) { -+ sa << " (SPECIALHEX "; -+ for (const char *str = s->s.begin(); str < s->s.end(); str++) { -+ static const char hexdig[] = "0123456789ABCDEF"; -+ int val = (unsigned char) *str; -+ sa << hexdig[val >> 4] << hexdig[val & 0xF]; -+ } -+ sa << ")\n"; -+ } else -+ sa << " (SPECIAL " << s->s << ")\n"; -+ break; -+ } -+ -+ } -+ -+ assert(push_stack.size() == 0); -+ -+ // output information -+ boundser.output(bounds, width); -+ pr.print(" (CHARWD", width); -+ if (bounds[3] > 0) -+ pr.print(" (CHARHT", bounds[3]); -+ if (bounds[1] < 0) -+ pr.print(" (CHARDP", -bounds[1]); -+ if (bounds[2] > width) -+ pr.print_transformed(" (CHARIC", pr.transform(bounds[2]) - pr.transform(width)); -+ if (vpl && (settings.size() > 1 || settings[0].op != Setting::SHOW)) -+ fprintf(f, " (MAP\n%s )\n", sa.c_str()); -+ fprintf(f, " )\n"); -+ } - - // at last, close the file - fclose(f); - - // Did we print a number too big for TeX to handle? If so, try again. - if (max_printed_real >= 2047) { -- if (metrics.design_units() <= 1) -- errh->fatal("This font appears to be broken. It has characters so big that the PL format\ncannot represent them."); -- metrics.set_design_units(metrics.design_units() > 200 ? metrics.design_units() - 250 : 1); -- if (verbose) -- errh->message("the font%,s metrics overflow the limits of PL files\n(reducing DESIGNUNITS to %d and trying again)", metrics.design_units()); -- output_pl(metrics, ps_name, boundary_char, finfo, vpl, filename, errh); -+ if (metrics.design_units() <= 1) -+ errh->fatal("This font appears to be broken. It has characters so big that the PL format\ncannot represent them."); -+ metrics.set_design_units(metrics.design_units() > 200 ? metrics.design_units() - 250 : 1); -+ if (verbose) -+ errh->message("the font%,s metrics overflow the limits of PL files\n(reducing DESIGNUNITS to %d and trying again)", metrics.design_units()); -+ output_pl(metrics, ps_name, boundary_char, finfo, vpl, filename, errh); - } - } - -@@ -903,7 +915,7 @@ struct Lookup { - bool required; - Vector features; - GlyphFilter* filter; -- Lookup() : used(false), required(false), filter(0) { } -+ Lookup() : used(false), required(false), filter(0) { } - }; - - static void -@@ -914,81 +926,81 @@ find_lookups(const OpenType::ScriptList& - - // go over all scripts - for (int i = 0; i < interesting_scripts.size(); i += 2) { -- OpenType::Tag script = interesting_scripts[i]; -- OpenType::Tag langsys = interesting_scripts[i+1]; -+ OpenType::Tag script = interesting_scripts[i]; -+ OpenType::Tag langsys = interesting_scripts[i+1]; - -- // collect features applying to this script -- scripts.features(script, langsys, required, fids, errh); -+ // collect features applying to this script -+ scripts.features(script, langsys, required, fids, errh); - -- // only use the selected features -- features.filter(fids, interesting_features); -+ // only use the selected features -+ features.filter(fids, interesting_features); - -- // mark features as having been used -- for (int j = (required < 0 ? 0 : -1); j < fids.size(); j++) { -- int fid = (j < 0 ? required : fids[j]); -- OpenType::Tag ftag = features.tag(fid); -- if (features.lookups(fid, lookupids, errh) < 0) -- lookupids.clear(); -- for (int k = 0; k < lookupids.size(); k++) { -- int l = lookupids[k]; -- if (l < 0 || l >= lookups.size()) -- errh->error("lookup for %<%s%> feature out of range", OpenType::Tag::langsys_text(script, langsys).c_str()); -- else { -- lookups[l].used = true; -- lookups[l].features.push_back(ftag); -- if (j < 0) -- lookups[l].required = true; -- } -- } -- } -+ // mark features as having been used -+ for (int j = (required < 0 ? 0 : -1); j < fids.size(); j++) { -+ int fid = (j < 0 ? required : fids[j]); -+ OpenType::Tag ftag = features.tag(fid); -+ if (features.lookups(fid, lookupids, errh) < 0) -+ lookupids.clear(); -+ for (int k = 0; k < lookupids.size(); k++) { -+ int l = lookupids[k]; -+ if (l < 0 || l >= lookups.size()) -+ errh->error("lookup for %<%s%> feature out of range", OpenType::Tag::langsys_text(script, langsys).c_str()); -+ else { -+ lookups[l].used = true; -+ lookups[l].features.push_back(ftag); -+ if (j < 0) -+ lookups[l].required = true; -+ } -+ } -+ } - } - - // now check for compatible glyph filters - for (Lookup* l = lookups.begin(); l < lookups.end(); l++) -- if (l->used && !l->required) { -- l->filter = feature_filters[l->features[0]]; -- for (OpenType::Tag* ft = l->features.begin() + 1; ft < l->features.end(); ft++) -- if (!l->filter->check_eq(*feature_filters[*ft])) { -- errh->error("%<%s%> and %<%s%> features share a lookup, but have different filters", l->features[0].text().c_str(), ft->text().c_str()); -- break; -- } -- } -+ if (l->used && !l->required) { -+ l->filter = feature_filters[l->features[0]]; -+ for (OpenType::Tag* ft = l->features.begin() + 1; ft < l->features.end(); ft++) -+ if (!l->filter->check_eq(*feature_filters[*ft])) { -+ errh->error("%<%s%> and %<%s%> features share a lookup, but have different filters", l->features[0].text().c_str(), ft->text().c_str()); -+ break; -+ } -+ } - } - - static int - write_encoding_file(String &filename, const String &encoding_name, -- StringAccum &contents, ErrorHandler *errh) -+ StringAccum &contents, ErrorHandler *errh) - { - FILE *f; - int ok_retval = (access(filename.c_str(), R_OK) >= 0 ? 0 : 1); - - if (no_create) { -- errh->message((ok_retval ? "would create encoding file %s" : "would update encoding file %s"), filename.c_str()); -- return ok_retval; -+ errh->message((ok_retval ? "would create encoding file %s" : "would update encoding file %s"), filename.c_str()); -+ return ok_retval; - } else if (verbose) -- errh->message((ok_retval ? "creating encoding file %s" : "updating encoding file %s"), filename.c_str()); -+ errh->message((ok_retval ? "creating encoding file %s" : "updating encoding file %s"), filename.c_str()); - - int fd = open(filename.c_str(), O_RDWR | O_CREAT, 0666); - if (fd < 0) -- return errh->error("%s: %s", filename.c_str(), strerror(errno)); -+ return errh->error("%s: %s", filename.c_str(), strerror(errno)); - f = fdopen(fd, "r+"); - // NB: also change update_autofont_map if you change this code - - #if defined(F_SETLKW) && defined(HAVE_FTRUNCATE) - { -- struct flock lock; -- lock.l_type = F_WRLCK; -- lock.l_whence = SEEK_SET; -- lock.l_start = 0; -- lock.l_len = 0; -- int result; -- while ((result = fcntl(fd, F_SETLKW, &lock)) < 0 && errno == EINTR) -- /* try again */; -- if (result < 0) { -- result = errno; -- fclose(f); -- return errh->error("locking %s: %s", filename.c_str(), strerror(result)); -- } -+ struct flock lock; -+ lock.l_type = F_WRLCK; -+ lock.l_whence = SEEK_SET; -+ lock.l_start = 0; -+ lock.l_len = 0; -+ int result; -+ while ((result = fcntl(fd, F_SETLKW, &lock)) < 0 && errno == EINTR) -+ /* try again */; -+ if (result < 0) { -+ result = errno; -+ fclose(f); -+ return errh->error("locking %s: %s", filename.c_str(), strerror(result)); -+ } - } - #endif - -@@ -996,32 +1008,32 @@ write_encoding_file(String &filename, co - StringAccum sa; - int amt; - do { -- if (char *x = sa.reserve(8192)) { -- amt = fread(x, 1, 8192, f); -- sa.adjust_length(amt); -- } else -- amt = 0; -+ if (char *x = sa.reserve(8192)) { -+ amt = fread(x, 1, 8192, f); -+ sa.adjust_length(amt); -+ } else -+ amt = 0; - } while (amt != 0); - if (!feof(f) || ferror(f)) -- return errh->error("%s: %s", filename.c_str(), strerror(errno)); -+ return errh->error("%s: %s", filename.c_str(), strerror(errno)); - String old_encodings = sa.take_string(); - bool created = (!old_encodings); - - // append old encodings - int pos1 = old_encodings.find_left("\n%%"); - while (pos1 >= 0 && pos1 < old_encodings.length()) { -- int pos2 = old_encodings.find_left("\n%%", pos1 + 1); -- if (pos2 < 0) -- pos2 = old_encodings.length(); -- if (old_encodings.substring(pos1 + 3, encoding_name.length()) == encoding_name) { -- // encoding already exists, don't change it -- fclose(f); -- if (verbose) -- errh->message("%s unchanged", filename.c_str()); -- return 0; -- } else -- contents << old_encodings.substring(pos1, pos2 - pos1); -- pos1 = pos2; -+ int pos2 = old_encodings.find_left("\n%%", pos1 + 1); -+ if (pos2 < 0) -+ pos2 = old_encodings.length(); -+ if (old_encodings.substring(pos1 + 3, encoding_name.length()) == encoding_name) { -+ // encoding already exists, don't change it -+ fclose(f); -+ if (verbose) -+ errh->message("%s unchanged", filename.c_str()); -+ return 0; -+ } else -+ contents << old_encodings.substring(pos1, pos2 - pos1); -+ pos1 = pos2; - } - - // rewind file -@@ -1030,9 +1042,9 @@ write_encoding_file(String &filename, co - if (ftruncate(fd, 0) < 0) - #endif - { -- fclose(f); -- f = fopen(filename.c_str(), "wb"); -- fd = fileno(f); -+ fclose(f); -+ f = fopen(filename.c_str(), "w"); -+ fd = fileno(f); - } - - ignore_result(fwrite(contents.data(), 1, contents.length(), f)); -@@ -1041,33 +1053,33 @@ write_encoding_file(String &filename, co - - // inform about the new file if necessary - if (created) -- update_odir(O_ENCODING, filename, errh); -+ update_odir(O_ENCODING, filename, errh); - return 0; - } - - static bool - output_encoding(const Metrics &metrics, -- const Vector &glyph_names, -- ErrorHandler *errh) -+ const Vector &glyph_names, -+ ErrorHandler *errh) - { - static const char * const hex_digits = "0123456789ABCDEF"; - - // collect encoding data - Vector glyphs; - if (!metrics.base_glyphs(glyphs, 256)) -- return false; -+ return false; - - StringAccum sa; - for (int i = 0; i < 256; i++) { -- if ((i & 0xF) == 0) -- sa << (i ? "\n%" : "%") << hex_digits[(i >> 4) & 0xF] << '0' << '\n' << ' '; -- else if ((i & 0x7) == 0) -- sa << '\n' << ' '; -- int g = glyphs[i]; -- if (g > 0 && g < glyph_names.size()) -- sa << ' ' << '/' << glyph_names[g]; -- else -- sa << " /.notdef"; -+ if ((i & 0xF) == 0) -+ sa << (i ? "\n%" : "%") << hex_digits[(i >> 4) & 0xF] << '0' << '\n' << ' '; -+ else if ((i & 0x7) == 0) -+ sa << '\n' << ' '; -+ int g = glyphs[i]; -+ if (g > 0 && g < glyph_names.size()) -+ sa << ' ' << '/' << glyph_names[g]; -+ else -+ sa << " /.notdef"; - } - sa << '\n'; - -@@ -1084,18 +1096,18 @@ output_encoding(const Metrics &metrics, - // create encoding filename - bool output_encoding_only = (bool) out_encoding_file; - if (!out_encoding_file) -- out_encoding_file = getodir(O_ENCODING, errh) + String("/a_") + String(text_digest).substring(0, 6) + ".enc"; -+ out_encoding_file = getodir(O_ENCODING, errh) + String("/a_") + String(text_digest).substring(0, 6) + ".enc"; - - // exit if we're not responsible for generating an encoding - if (!(output_flags & G_ENCODING)) -- return true; -+ return true; - - // put encoding block in a StringAccum - // 3.Jun.2003: stick command line definition at the end of the encoding, - // where it won't confuse idiotic ps2pk - StringAccum contents; - if (!output_encoding_only) -- contents << "% THIS FILE WAS AUTOMATICALLY GENERATED -- DO NOT EDIT\n\n\ -+ contents << "% THIS FILE WAS AUTOMATICALLY GENERATED -- DO NOT EDIT\n\n\ - %%" << out_encoding_name << "\n"; - contents << "% Encoding created by otftotfm" << current_time << "\n\ - % Command line follows encoding\n"; -@@ -1108,156 +1120,199 @@ output_encoding(const Metrics &metrics, - char *buf = banner.mutable_data(); - // get rid of crap characters - for (int i = 0; i < banner.length(); i++) -- if (buf[i] < ' ' || buf[i] > 0176) { -- if (buf[i] == '\n' || buf[i] == '\r') -- buf[i] = ' '; -- else -- buf[i] = '.'; -- } -+ if (buf[i] < ' ' || buf[i] > 0176) { -+ if (buf[i] == '\n' || buf[i] == '\r') -+ buf[i] = ' '; -+ else -+ buf[i] = '.'; -+ } - // break lines at 80 characters -- it would be nice if this were in a - // library - while (banner.length() > 0) { -- int pos = banner.find_left(' '), last_pos = pos; -- while (pos < 75 && pos >= 0) { -- last_pos = pos; -- pos = banner.find_left(' ', pos + 1); -- } -- if (last_pos < 0 || (pos < 0 && banner.length() < 75)) -- last_pos = banner.length(); -- contents << "% " << banner.substring(0, last_pos) << '\n'; -- banner = banner.substring(last_pos + 1); -+ int pos = banner.find_left(' '), last_pos = pos; -+ while (pos < 75 && pos >= 0) { -+ last_pos = pos; -+ pos = banner.find_left(' ', pos + 1); -+ } -+ if (last_pos < 0 || (pos < 0 && banner.length() < 75)) -+ last_pos = banner.length(); -+ contents << "% " << banner.substring(0, last_pos) << '\n'; -+ banner = banner.substring(last_pos + 1); - } - - // open encoding file - if (out_encoding_file == "-") -- ignore_result(fwrite(contents.data(), 1, contents.length(), stdout)); -+ ignore_result(fwrite(contents.data(), 1, contents.length(), stdout)); - else if (write_encoding_file(out_encoding_file, out_encoding_name, contents, errh) == 1) -- update_odir(O_ENCODING, out_encoding_file, errh); -+ update_odir(O_ENCODING, out_encoding_file, errh); - return true; - } - - static void - output_tfm(Metrics &metrics, const String &ps_name, int boundary_char, -- const FontInfo &finfo, String tfm_filename, String vf_filename, -- ErrorHandler *errh) -+ const FontInfo &finfo, String tfm_filename, String vf_filename, -+ String pl_filename, ErrorHandler *errh) - { -- String pl_filename; -+ bool had_pl_filename = !pl_filename.empty(); - bool vpl = vf_filename; - -- if (no_create) { -- errh->message("would write %s to temporary file", (vpl ? "VPL" : "PL")); -- pl_filename = ""; -- } else { -- int pl_fd = temporary_file(pl_filename, errh); -- if (pl_fd < 0) -- return; -- output_pl(metrics, ps_name, boundary_char, finfo, vpl, pl_filename, errh); -- close(pl_fd); -+ if (!pl_filename) { -+ if (no_create) { -+ errh->message("would write %s to temporary file", (vpl ? "VPL" : "PL")); -+ pl_filename = ""; -+ } else { -+ int pl_fd = temporary_file(pl_filename, errh); -+ if (pl_fd < 0) -+ return; -+ output_pl(metrics, ps_name, boundary_char, finfo, vpl, pl_filename, errh); -+ close(pl_fd); -+ } - } - - StringAccum command; - if (vpl) -- command << "vptovf " << shell_quote(pl_filename) << ' ' << shell_quote(vf_filename) << ' ' << shell_quote(tfm_filename) << " >&2"; -+ command << "vptovf " << shell_quote(pl_filename) << ' ' << shell_quote(vf_filename) << ' ' << shell_quote(tfm_filename) << " 2>&1"; - else -- command << "pltotf " << shell_quote(pl_filename) << ' ' << shell_quote(tfm_filename) << " >&2"; -+ command << "pltotf " << shell_quote(pl_filename) << ' ' << shell_quote(tfm_filename) << " 2>&1"; - -- int status = mysystem(command.c_str(), errh); -+ FILE* cmdfile = mypopen(command.c_str(), "r", errh); -+ int status; -+ if (cmdfile) { -+ StringAccum results; -+ while (!feof(cmdfile)) { -+ char* buf = results.reserve(BUFSIZ); -+ results.adjust_length(fread(buf, 1, BUFSIZ, cmdfile)); -+ } -+ // compensate for shitty vptovf/pltotf messages -+ char* by_units, *last_line; -+ while (!results.empty() -+ && (by_units = strstr((char*) results.c_str(), " units")) -+ && (last_line = strrchr((char*) results.c_str(), '\n')) -+ && results.end() - last_line > 1 -+ && isdigit((unsigned char) last_line[1])) { -+ char* start_number = last_line + 1; -+ char* end_number = last_line + 2; -+ while (end_number < results.end() -+ && isdigit((unsigned char) *end_number)) -+ ++end_number; -+ if (end_number < results.end() && *end_number == '.') { -+ char* dot = end_number; -+ ++end_number; -+ while (end_number < results.end() -+ && end_number < dot + 8 -+ && isdigit((unsigned char) *end_number)) -+ ++end_number; -+ } -+ String number(start_number, end_number); -+ char* by_units_dest = by_units + 1 + (end_number - start_number); -+ memmove(by_units_dest, by_units + 1, start_number - (by_units + 1)); -+ memmove(by_units + 1, number.begin(), number.length()); -+ } -+ if (!results.empty()) -+ fwrite(results.begin(), 1, results.length(), stderr); -+ status = pclose(cmdfile); -+ } else -+ status = -1; - -- if (!no_create) -- unlink(pl_filename.c_str()); -+ if (!no_create && !had_pl_filename) -+ unlink(pl_filename.c_str()); - - if (status != 0) -- errh->fatal("%s execution failed", (vpl ? "vptovf" : "pltotf")); -+ errh->fatal("%s execution failed", (vpl ? "vptovf" : "pltotf")); - else { -- update_odir(O_TFM, tfm_filename, errh); -- if (vpl) -- update_odir(O_VF, vf_filename, errh); -+ update_odir(O_TFM, tfm_filename, errh); -+ if (vpl) -+ update_odir(O_VF, vf_filename, errh); - } - } - - void - output_metrics(Metrics &metrics, const String &ps_name, int boundary_char, -- const FontInfo &finfo, -- const String &encoding_name, const String &encoding_file, -- const String &font_name, -- String (*dvips_include)(const String &ps_name, const FontInfo &, ErrorHandler *), -- ErrorHandler *errh) -+ const FontInfo &finfo, -+ const String &encoding_name, const String &encoding_file, -+ const String &font_name, -+ String (*dvips_include)(const String &ps_name, const FontInfo &, ErrorHandler *), -+ ErrorHandler *errh) - { - String base_font_name = font_name; - bool need_virtual = metrics.need_virtual(257); - if (need_virtual) { -- if (output_flags & G_VMETRICS) -- base_font_name = make_base_font_name(font_name); -- else if (output_flags & G_METRICS) -- errh->warning("features require virtual fonts"); -+ if (output_flags & G_VMETRICS) -+ base_font_name = make_base_font_name(font_name); -+ else if (output_flags & G_METRICS) -+ errh->warning("features require virtual fonts"); - } - - // output virtual metrics - if (!(output_flags & G_VMETRICS)) -- /* do nothing */; -+ /* do nothing */; - else if (!need_virtual) { -- if (automatic) { -- // erase old virtual font -- String vf = getodir(O_VF, errh) + "/" + font_name + ".vf"; -- if (no_create) -- errh->message("would remove potential VF file %<%s%>", vf.c_str()); -- else { -- if (verbose) -- errh->message("removing potential VF file %<%s%>", vf.c_str()); -- if (unlink(vf.c_str()) < 0 && errno != ENOENT) -- errh->error("removing %s: %s", vf.c_str(), strerror(errno)); -- } -- } -+ if (automatic) { -+ // erase old virtual font -+ String vf = getodir(O_VF, errh) + "/" + font_name + ".vf"; -+ if (no_create) -+ errh->message("would remove potential VF file %<%s%>", vf.c_str()); -+ else { -+ if (verbose) -+ errh->message("removing potential VF file %<%s%>", vf.c_str()); -+ if (unlink(vf.c_str()) < 0 && errno != ENOENT) -+ errh->error("removing %s: %s", vf.c_str(), strerror(errno)); -+ } -+ } - } else { -- if (output_flags & G_BINARY) { -- String tfm = getodir(O_TFM, errh) + "/" + font_name + ".tfm"; -- String vf = getodir(O_VF, errh) + "/" + font_name + ".vf"; -- output_tfm(metrics, ps_name, boundary_char, finfo, tfm, vf, errh); -- } else { -- String outfile = getodir(O_VPL, errh) + "/" + font_name + ".vpl"; -- output_pl(metrics, ps_name, boundary_char, finfo, true, outfile, errh); -- update_odir(O_VPL, outfile, errh); -- } -+ String vplfile; -+ if (output_flags & G_ASCII) { -+ vplfile = getodir(O_VPL, errh) + "/" + font_name + ".vpl"; -+ output_pl(metrics, ps_name, boundary_char, finfo, true, vplfile, errh); -+ update_odir(O_VPL, vplfile, errh); -+ } -+ if (output_flags & G_BINARY) { -+ String tfm = getodir(O_TFM, errh) + "/" + font_name + ".tfm"; -+ String vf = getodir(O_VF, errh) + "/" + font_name + ".vf"; -+ output_tfm(metrics, ps_name, boundary_char, finfo, tfm, vf, vplfile, errh); -+ } - } - - // quit if no base needed - metrics.make_base(257); - if (!metrics.need_base()) -- return; -+ return; - - // output metrics - double save_minimum_kern = minimum_kern; - if (need_virtual) -- minimum_kern = 100000; -- if (!(output_flags & G_METRICS)) -- /* do nothing */; -- else if (output_flags & G_BINARY) { -- String tfm = getodir(O_TFM, errh) + "/" + base_font_name + ".tfm"; -- output_tfm(metrics, ps_name, boundary_char, finfo, tfm, String(), errh); -- } else { -- String outfile = getodir(O_PL, errh) + "/" + base_font_name + ".pl"; -- output_pl(metrics, ps_name, boundary_char, finfo, false, outfile, errh); -- update_odir(O_PL, outfile, errh); -+ minimum_kern = 100000; -+ if (output_flags & G_METRICS) { -+ String plfile; -+ if (output_flags & G_ASCII) { -+ plfile = getodir(O_PL, errh) + "/" + base_font_name + ".pl"; -+ output_pl(metrics, ps_name, boundary_char, finfo, false, plfile, errh); -+ update_odir(O_PL, plfile, errh); -+ } -+ if (output_flags & G_BINARY) { -+ String tfm = getodir(O_TFM, errh) + "/" + base_font_name + ".tfm"; -+ output_tfm(metrics, ps_name, boundary_char, finfo, tfm, String(), plfile, errh); -+ } - } - minimum_kern = save_minimum_kern; - - // print DVIPS map line - if (errh->nerrors() == 0 && (output_flags & G_PSFONTSMAP)) { -- StringAccum sa; -- sa << base_font_name << ' ' << ps_name << " \""; -- if (extend) -- sa << extend << " ExtendFont "; -- if (slant) -- sa << slant << " SlantFont "; -- if (encoding_name) -- sa << encoding_name << " ReEncodeFont\" <[" << pathname_filename(encoding_file); -- else -- sa << "\""; -- sa << ' ' << dvips_include(ps_name, finfo, errh) << '\n'; -- update_autofont_map(base_font_name, sa.take_string(), errh); -- // if virtual font, remove any map line for base font name -- if (base_font_name != font_name) -- update_autofont_map(font_name, "", errh); -+ StringAccum sa; -+ sa << base_font_name << ' ' << ps_name << " \""; -+ if (extend) -+ sa << extend << " ExtendFont "; -+ if (slant) -+ sa << slant << " SlantFont "; -+ if (encoding_name) -+ sa << encoding_name << " ReEncodeFont\" <[" << pathname_filename(encoding_file); -+ else -+ sa << "\""; -+ sa << ' ' << dvips_include(ps_name, finfo, errh) << '\n'; -+ update_autofont_map(base_font_name, sa.take_string(), errh); -+ // if virtual font, remove any map line for base font name -+ if (base_font_name != font_name) -+ update_autofont_map(font_name, "", errh); - } - } - -@@ -1281,48 +1336,48 @@ report_underused_features(const HashMap< - { - Vector x[X_COUNT]; - for (int i = 0; i < interesting_features.size(); i++) { -- OpenType::Tag f = interesting_features[i]; -- int fu = feature_usage[f.value()]; -- String ftext = errh->format("%<%s%>", f.text().c_str()); -- if (fu == 0) -- x[X_UNUSED].push_back(ftext); -- else if ((fu & (F_GSUB_TRY | F_GPOS_TRY)) == fu) -- x[X_BOTH_NONE].push_back(ftext); -- else { -- if (fu & F_GSUB_TRY) { -- if ((fu & (F_GSUB_PART | F_GSUB_ALL)) == 0) -- x[X_GSUB_NONE].push_back(ftext); -- else if (fu & F_GSUB_PART) -- x[X_GSUB_PART].push_back(ftext); -- } -- if (fu & F_GPOS_TRY) { -- if ((fu & (F_GPOS_PART | F_GPOS_ALL)) == 0) -- x[X_GPOS_NONE].push_back(ftext); -- else if (fu & F_GPOS_PART) -- x[X_GPOS_PART].push_back(ftext); -- } -- } -+ OpenType::Tag f = interesting_features[i]; -+ int fu = feature_usage[f.value()]; -+ String ftext = errh->format("%<%s%>", f.text().c_str()); -+ if (fu == 0) -+ x[X_UNUSED].push_back(ftext); -+ else if ((fu & (F_GSUB_TRY | F_GPOS_TRY)) == fu) -+ x[X_BOTH_NONE].push_back(ftext); -+ else { -+ if (fu & F_GSUB_TRY) { -+ if ((fu & (F_GSUB_PART | F_GSUB_ALL)) == 0) -+ x[X_GSUB_NONE].push_back(ftext); -+ else if (fu & F_GSUB_PART) -+ x[X_GSUB_PART].push_back(ftext); -+ } -+ if (fu & F_GPOS_TRY) { -+ if ((fu & (F_GPOS_PART | F_GPOS_ALL)) == 0) -+ x[X_GPOS_NONE].push_back(ftext); -+ else if (fu & F_GPOS_PART) -+ x[X_GPOS_PART].push_back(ftext); -+ } -+ } - } - - for (int i = 0; i < X_COUNT; i++) -- if (x[i].size()) -- goto found; -+ if (x[i].size()) -+ goto found; - return; - - found: - for (int i = 0; i < X_COUNT; i++) -- if (x[i].size()) { -- StringAccum sa; -- const char* msg_pct = strchr(x_messages[i], '%'); -- sa.append(x_messages[i], msg_pct - x_messages[i]); -- const char* sep = (x[i].size() > 2 ? ", " : " "); -- for (const String* a = x[i].begin(); a < x[i].end() - 1; a++) -- sa << *a << sep; -- sa << (x[i].size() > 1 ? "and " : "") << x[i].back() -- << (x[i].size() > 1 ? " features" : " feature") << (msg_pct+1); -- sa.append_break_lines(sa.take_string(), 58); -- errh->warning("%s", sa.c_str()); -- } -+ if (x[i].size()) { -+ StringAccum sa; -+ const char* msg_pct = strchr(x_messages[i], '%'); -+ sa.append(x_messages[i], msg_pct - x_messages[i]); -+ const char* sep = (x[i].size() > 2 ? ", " : " "); -+ for (const String* a = x[i].begin(); a < x[i].end() - 1; a++) -+ sa << *a << sep; -+ sa << (x[i].size() > 1 ? "and " : "") << x[i].back() -+ << (x[i].size() > 1 ? " features" : " feature") << (msg_pct+1); -+ sa.append_break_lines(sa.take_string(), 58); -+ errh->warning("%s", sa.c_str()); -+ } - } - - static String otf_filename; -@@ -1331,24 +1386,24 @@ static String - main_dvips_map(const String &ps_name, const FontInfo &finfo, ErrorHandler *errh) - { - if (String fn = installed_type1(otf_filename, ps_name, (output_flags & G_TYPE1) != 0, errh)) -- return "<" + pathname_filename(fn); -+ return "<" + pathname_filename(fn); - if (!finfo.cff) { -- String ttf_fn, t42_fn; -- ttf_fn = installed_truetype(otf_filename, (output_flags & G_TRUETYPE) != 0, errh); -- t42_fn = installed_type42(otf_filename, ps_name, (output_flags & G_TYPE42) != 0, errh); -- if (t42_fn && (!ttf_fn || (output_flags & G_TYPE42) != 0)) -- return "<" + pathname_filename(t42_fn); -- else if (ttf_fn) -- return "<" + pathname_filename(ttf_fn); -+ String ttf_fn, t42_fn; -+ ttf_fn = installed_truetype(otf_filename, (output_flags & G_TRUETYPE) != 0, errh); -+ t42_fn = installed_type42(otf_filename, ps_name, (output_flags & G_TYPE42) != 0, errh); -+ if (t42_fn && (!ttf_fn || (output_flags & G_TYPE42) != 0)) -+ return "<" + pathname_filename(t42_fn); -+ else if (ttf_fn) -+ return "<" + pathname_filename(ttf_fn); - } - return "<" + pathname_filename(otf_filename); - } - - static void - do_gsub(Metrics& metrics, const OpenType::Font& otf, -- DvipsEncoding& dvipsenc, bool dvipsenc_literal, -- HashMap& feature_usage, -- const Vector& glyph_names, ErrorHandler* errh) -+ DvipsEncoding& dvipsenc, bool dvipsenc_literal, -+ HashMap& feature_usage, -+ const Vector& glyph_names, ErrorHandler* errh) - { - // find activated GSUB features - OpenType::Gsub gsub(otf.table("GSUB"), &otf, errh); -@@ -1358,70 +1413,70 @@ do_gsub(Metrics& metrics, const OpenType - // find all characters that might result - Vector used(glyph_names.size(), false); - for (Metrics::Code c = 0; c < metrics.encoding_size(); ++c) { -- Metrics::Glyph g = metrics.glyph(c); -- if (g >= 0 && g < used.size()) -- used[g] = true; -+ Metrics::Glyph g = metrics.glyph(c); -+ if (g >= 0 && g < used.size()) -+ used[g] = true; - } - for (int i = 0; i < lookups.size(); ++i) -- if (lookups[i].used) { -- OpenType::GsubLookup l = gsub.lookup(i); -- l.mark_out_glyphs(gsub, used); -- } -+ if (lookups[i].used) { -+ OpenType::GsubLookup l = gsub.lookup(i); -+ l.mark_out_glyphs(gsub, used); -+ } - OpenType::Coverage used_coverage(used); - - // apply activated GSUB features - Vector subs; - for (int i = 0; i < lookups.size(); i++) -- if (lookups[i].used) { -- OpenType::GsubLookup l = gsub.lookup(i); -- subs.clear(); -- bool understood = l.unparse_automatics(gsub, subs, used_coverage); -- -- // check for -ffina, which should apply only at the ends of words, -- // and -finit, which should apply only at the beginnings. -- OpenType::Tag feature = (lookups[i].features.size() == 1 ? lookups[i].features[0] : OpenType::Tag()); -- if (feature == OpenType::Tag("fina") || feature == OpenType::Tag("fin2") || feature == OpenType::Tag("fin3")) { -- if (dvipsenc.boundary_char() < 0) -- errh->warning("%<-ffina%> requires a boundary character\n(The input encoding didn%,t specify a boundary character, but\nI need one to implement %<-ffina%> features correctly. Try\nthe %<--boundary-char%> option.)"); -- else { -- int bg = metrics.boundary_glyph(); -- for (int j = 0; j < subs.size(); j++) -- subs[j].add_outer_right(bg); -- } -- } else if (feature == OpenType::Tag("init")) { -- int bg = metrics.boundary_glyph(); -- for (int j = 0; j < subs.size(); j++) -- subs[j].add_outer_left(bg); -- } -- -- //for (int subno = 0; subno < subs.size(); subno++) fprintf(stderr, "%5d\t%s\n", i, subs[subno].unparse().c_str()); -- -- // figure out which glyph filter to use -- int nunderstood = metrics.apply(subs, !dvipsenc_literal, i, *lookups[i].filter, glyph_names); -- -- // mark as used -- int d = (understood && nunderstood == subs.size() ? F_GSUB_ALL : (nunderstood ? F_GSUB_PART : 0)) + F_GSUB_TRY; -- for (int j = 0; j < lookups[i].features.size(); j++) -- feature_usage.find_force(lookups[i].features[j].value()) |= d; -- } -+ if (lookups[i].used) { -+ OpenType::GsubLookup l = gsub.lookup(i); -+ subs.clear(); -+ bool understood = l.unparse_automatics(gsub, subs, used_coverage); -+ -+ // check for -ffina, which should apply only at the ends of words, -+ // and -finit, which should apply only at the beginnings. -+ OpenType::Tag feature = (lookups[i].features.size() == 1 ? lookups[i].features[0] : OpenType::Tag()); -+ if (feature == OpenType::Tag("fina") || feature == OpenType::Tag("fin2") || feature == OpenType::Tag("fin3")) { -+ if (dvipsenc.boundary_char() < 0) -+ errh->warning("%<-ffina%> requires a boundary character\n(The input encoding didn%,t specify a boundary character, but\nI need one to implement %<-ffina%> features correctly. Try\nthe %<--boundary-char%> option.)"); -+ else { -+ int bg = metrics.boundary_glyph(); -+ for (int j = 0; j < subs.size(); j++) -+ subs[j].add_outer_right(bg); -+ } -+ } else if (feature == OpenType::Tag("init")) { -+ int bg = metrics.boundary_glyph(); -+ for (int j = 0; j < subs.size(); j++) -+ subs[j].add_outer_left(bg); -+ } -+ -+ //for (int subno = 0; subno < subs.size(); subno++) fprintf(stderr, "%5d\t%s\n", i, subs[subno].unparse().c_str()); -+ -+ // figure out which glyph filter to use -+ int nunderstood = metrics.apply(subs, !dvipsenc_literal, i, *lookups[i].filter, glyph_names); -+ -+ // mark as used -+ int d = (understood && nunderstood == subs.size() ? F_GSUB_ALL : (nunderstood ? F_GSUB_PART : 0)) + F_GSUB_TRY; -+ for (int j = 0; j < lookups[i].features.size(); j++) -+ feature_usage.find_force(lookups[i].features[j].value()) |= d; -+ } - - // apply alternate selectors - if (metrics.altselectors() && !dvipsenc_literal) { -- // do lookups -- altselector_features.swap(interesting_features); -- altselector_feature_filters.swap(feature_filters); -- Vector alt_lookups(gsub.nlookups(), Lookup()); -- find_lookups(gsub.script_list(), gsub.feature_list(), alt_lookups, ErrorHandler::silent_handler()); -- Vector alt_subs; -- for (int i = 0; i < alt_lookups.size(); i++) -- if (alt_lookups[i].used) { -- OpenType::GsubLookup l = gsub.lookup(i); -- alt_subs.clear(); -- (void) l.unparse_automatics(gsub, alt_subs, used_coverage); -- metrics.apply_alternates(alt_subs, i, *alt_lookups[i].filter, glyph_names); -- } -- altselector_features.swap(interesting_features); -- altselector_feature_filters.swap(feature_filters); -+ // do lookups -+ altselector_features.swap(interesting_features); -+ altselector_feature_filters.swap(feature_filters); -+ Vector alt_lookups(gsub.nlookups(), Lookup()); -+ find_lookups(gsub.script_list(), gsub.feature_list(), alt_lookups, ErrorHandler::silent_handler()); -+ Vector alt_subs; -+ for (int i = 0; i < alt_lookups.size(); i++) -+ if (alt_lookups[i].used) { -+ OpenType::GsubLookup l = gsub.lookup(i); -+ alt_subs.clear(); -+ (void) l.unparse_automatics(gsub, alt_subs, used_coverage); -+ metrics.apply_alternates(alt_subs, i, *alt_lookups[i].filter, glyph_names); -+ } -+ altselector_features.swap(interesting_features); -+ altselector_feature_filters.swap(feature_filters); - } - } - -@@ -1429,7 +1484,7 @@ static bool - kern_feature_requested() - { - return std::find(interesting_features.begin(), interesting_features.end(), -- OpenType::Tag("kern")) != interesting_features.end(); -+ OpenType::Tag("kern")) != interesting_features.end(); - } - - static void -@@ -1437,20 +1492,20 @@ do_try_ttf_kern(Metrics& metrics, const - { - // if no GPOS "kern" lookups and "kern" requested, try "kern" table - if (!kern_feature_requested()) -- return; -+ return; - try { -- OpenType::KernTable kern(otf.table("kern"), errh); -- Vector poss; -- bool understood = kern.unparse_automatics(poss, errh); -- int nunderstood = metrics.apply(poss); -- -- // mark as used -- int d = (understood && nunderstood == poss.size() ? F_GPOS_ALL : (nunderstood ? F_GPOS_PART : 0)) + F_GPOS_TRY; -- feature_usage.find_force(OpenType::Tag("kern").value()) |= d; -+ OpenType::KernTable kern(otf.table("kern"), errh); -+ Vector poss; -+ bool understood = kern.unparse_automatics(poss, errh); -+ int nunderstood = metrics.apply(poss); -+ -+ // mark as used -+ int d = (understood && nunderstood == poss.size() ? F_GPOS_ALL : (nunderstood ? F_GPOS_PART : 0)) + F_GPOS_TRY; -+ feature_usage.find_force(OpenType::Tag("kern").value()) |= d; - } catch (OpenType::BlankTable) { -- // nada -+ // nada - } catch (OpenType::Error e) { -- errh->warning("kern %<%s%> error, continuing", e.description.c_str()); -+ errh->warning("kern %<%s%> error, continuing", e.description.c_str()); - } - } - -@@ -1464,77 +1519,78 @@ do_gpos(Metrics& metrics, const OpenType - // OpenType recommends that if GPOS exists, but the "kern" feature loads - // no lookups, we use the TrueType "kern" table, if any. - if (kern_feature_requested()) { -- OpenType::Tag kern_tag("kern"); -- for (Lookup *l = lookups.begin(); l != lookups.end(); ++l) -- if (std::find(l->features.begin(), l->features.end(), kern_tag) != l->features.end()) -- goto skip_ttf_kern; -- do_try_ttf_kern(metrics, otf, feature_usage, errh); -+ OpenType::Tag kern_tag("kern"); -+ for (Lookup *l = lookups.begin(); l != lookups.end(); ++l) -+ if (std::find(l->features.begin(), l->features.end(), kern_tag) != l->features.end()) -+ goto skip_ttf_kern; -+ do_try_ttf_kern(metrics, otf, feature_usage, errh); - skip_ttf_kern: ; - } - - Vector poss; - for (int i = 0; i < lookups.size(); i++) -- if (lookups[i].used) { -- OpenType::GposLookup l = gpos.lookup(i); -- poss.clear(); -- bool understood = l.unparse_automatics(poss, errh); -- int nunderstood = metrics.apply(poss); -- -- // mark as used -- int d = (understood && nunderstood == poss.size() ? F_GPOS_ALL : (nunderstood ? F_GPOS_PART : 0)) + F_GPOS_TRY; -- for (int j = 0; j < lookups[i].features.size(); j++) -- feature_usage.find_force(lookups[i].features[j].value()) |= d; -- } -+ if (lookups[i].used) { -+ OpenType::GposLookup l = gpos.lookup(i); -+ poss.clear(); -+ bool understood = l.unparse_automatics(poss, errh); -+ int nunderstood = metrics.apply(poss); -+ -+ // mark as used -+ int d = (understood && nunderstood == poss.size() ? F_GPOS_ALL : (nunderstood ? F_GPOS_PART : 0)) + F_GPOS_TRY; -+ for (int j = 0; j < lookups[i].features.size(); j++) -+ feature_usage.find_force(lookups[i].features[j].value()) |= d; -+ } - } - - static void - do_math_spacing(Metrics &metrics, const FontInfo &finfo, -- const DvipsEncoding &dvipsenc) -+ const DvipsEncoding &dvipsenc) - { - Transform font_xform; - if (extend) -- font_xform.scale(extend, 1); -+ font_xform.scale(extend, 1); - if (slant) -- font_xform.shear(slant); -+ font_xform.shear(slant); - CharstringBounds boundser(font_xform); - - double x_height = finfo.x_height(font_xform); -- double slant = font_slant(finfo); -+ double actual_slant = font_slant(finfo); - int boundary_char = dvipsenc.boundary_char(); - - double bounds[4], width; - - for (int code = 0; code < metrics.encoding_size(); code++) -- if (metrics.was_base_glyph(code) && code != boundary_char -- && char_bounds(bounds, width, finfo, font_xform, code)) { -- int left_sb = (bounds[0] < 0 ? (int) ceil(-bounds[0]) : 0); -- metrics.add_single_positioning(code, left_sb, 0, left_sb); -- -- if (skew_char >= 0 && code < 256) { -- double virtual_height = -- (bounds[3] > x_height ? bounds[3] : x_height) -- - 0.5 * x_height; -- double right_sb = (bounds[2] > width ? bounds[2] - width : 0); -- int skew = (int) (slant * virtual_height + left_sb - right_sb); -- metrics.add_kern(code, skew_char, skew); -- } -- } -+ if (metrics.was_base_glyph(code) -+ && code != boundary_char -+ && char_bounds(bounds, width, finfo, font_xform, metrics.unicode(code))) { -+ int left_sb = (bounds[0] < 0 ? (int) ceil(-bounds[0]) : 0); -+ metrics.add_single_positioning(code, left_sb, 0, left_sb); -+ -+ if (skew_char >= 0 && code < 256) { -+ double sheight = std::max(bounds[3], x_height) - 0.5 * x_height; -+ double right_sb = std::max(bounds[2] - width, 0.0); -+ double desired = left_sb + 0.5 * width + actual_slant * sheight + 0.25 * right_sb; -+ double computed = 0.5 * (left_sb + width + right_sb); -+ int skew = (int) (desired - computed); -+ metrics.add_kern(code, skew_char, skew); -+ } -+ } - } - - static void - do_file(const String &otf_filename, const OpenType::Font &otf, -- const DvipsEncoding &dvipsenc_in, bool dvipsenc_literal, -- ErrorHandler *errh) -+ const DvipsEncoding &dvipsenc_in, bool dvipsenc_literal, -+ ErrorHandler *errh) - { - FontInfo finfo(&otf, errh); - if (!finfo.ok()) -- return; -+ return; - if (!finfo.cff) -- errh->warning("TrueType-flavored font support is experimental"); -+ errh->warning("TrueType-flavored font support is experimental"); - if (override_is_fixed_pitch) -- finfo.set_is_fixed_pitch(is_fixed_pitch); -+ finfo.set_is_fixed_pitch(is_fixed_pitch); - if (override_italic_angle) -- finfo.set_italic_angle(italic_angle); -+ finfo.set_italic_angle(italic_angle); - if (override_x_height != FontInfo::x_height_auto) - finfo.set_x_height(override_x_height, x_height); - -@@ -1545,15 +1601,15 @@ do_file(const String &otf_filename, cons - - // set typeface name from font family name - { -- String typeface = finfo.family_name(); -+ String typeface = finfo.family_name(); - -- // make it reasonable for the shell -- StringAccum sa; -- for (int i = 0; i < typeface.length(); i++) -- if (isalnum((unsigned char) typeface[i]) || typeface[i] == '_' || typeface[i] == '-' || typeface[i] == '.' || typeface[i] == ',' || typeface[i] == '+') -- sa << typeface[i]; -+ // make it reasonable for the shell -+ StringAccum sa; -+ for (int i = 0; i < typeface.length(); i++) -+ if (isalnum((unsigned char) typeface[i]) || typeface[i] == '_' || typeface[i] == '-' || typeface[i] == '.' || typeface[i] == ',' || typeface[i] == '+') -+ sa << typeface[i]; - -- set_typeface(sa.length() ? sa.take_string() : font_name, false); -+ set_typeface(sa.length() ? sa.take_string() : font_name, false); - } - - // initialize encoding -@@ -1562,10 +1618,10 @@ do_file(const String &otf_filename, cons - // encode boundary glyph at 256; pretend its Unicode value is '\n' - metrics.encode(256, '\n', metrics.boundary_glyph()); - if (dvipsenc_literal) -- dvipsenc.make_metrics(metrics, finfo, 0, true, errh); -+ dvipsenc.make_metrics(metrics, finfo, 0, true, errh); - else { -- T1Secondary secondary(finfo, font_name, otf_filename); -- dvipsenc.make_metrics(metrics, finfo, &secondary, false, errh); -+ T1Secondary secondary(finfo, font_name, otf_filename); -+ dvipsenc.make_metrics(metrics, finfo, &secondary, false, errh); - } - - // maintain statistics about features -@@ -1573,11 +1629,11 @@ do_file(const String &otf_filename, cons - - // apply activated GSUB features - try { -- do_gsub(metrics, otf, dvipsenc, dvipsenc_literal, feature_usage, glyph_names, errh); -+ do_gsub(metrics, otf, dvipsenc, dvipsenc_literal, feature_usage, glyph_names, errh); - } catch (OpenType::BlankTable) { -- // nada -+ // nada - } catch (OpenType::Error e) { -- errh->warning("GSUB %<%s%> error, continuing", e.description.c_str()); -+ errh->warning("GSUB %<%s%> error, continuing", e.description.c_str()); - } - - // apply LIGKERN ligature commands to the result -@@ -1588,15 +1644,15 @@ do_file(const String &otf_filename, cons - - // reencode characters to fit within 8 bytes (+ 1 for the boundary) - if (!dvipsenc_literal) -- metrics.shrink_encoding(257, dvipsenc_in, errh); -+ metrics.shrink_encoding(257, dvipsenc_in, errh); - - // apply activated GPOS features - try { -- do_gpos(metrics, otf, feature_usage, errh); -+ do_gpos(metrics, otf, feature_usage, errh); - } catch (OpenType::BlankTable) { -- do_try_ttf_kern(metrics, otf, feature_usage, errh); -+ do_try_ttf_kern(metrics, otf, feature_usage, errh); - } catch (OpenType::Error e) { -- errh->warning("GPOS %<%s%> error, continuing", e.description.c_str()); -+ errh->warning("GPOS %<%s%> error, continuing", e.description.c_str()); - } - - // apply LIGKERN kerning and POS positioning commands to the result -@@ -1605,11 +1661,11 @@ do_file(const String &otf_filename, cons - - // use prespecified raw fonts - for (BaseEncoding **be = base_encodings.begin(); be != base_encodings.end(); be++) -- if (!(*be)->secondary) { -- Vector mapp; -- (*be)->encoding.make_base_mappings(mapp, finfo); -- metrics.apply_base_encoding((*be)->font_name, (*be)->encoding, mapp); -- } -+ if (!(*be)->secondary) { -+ Vector mapp; -+ (*be)->encoding.make_base_mappings(mapp, finfo); -+ metrics.apply_base_encoding((*be)->font_name, (*be)->encoding, mapp); -+ } - - // remove extra characters - metrics.cut_encoding(257); -@@ -1618,24 +1674,24 @@ do_file(const String &otf_filename, cons - - // apply letterspacing, if any - if (letterspace) -- for (int code = 0; code < metrics.encoding_size(); code++) -- if (metrics.was_base_glyph(code) && code != boundary_char) { -- metrics.add_single_positioning(code, letterspace / 2, 0, letterspace); -- if (code < 256) { -- metrics.add_kern(code, 256, -letterspace / 2); -- metrics.add_kern(256, code, -letterspace / 2); -- } -- } -+ for (int code = 0; code < metrics.encoding_size(); code++) -+ if (metrics.was_base_glyph(code) && code != boundary_char) { -+ metrics.add_single_positioning(code, letterspace / 2, 0, letterspace); -+ if (code < 256) { -+ metrics.add_kern(code, 256, -letterspace / 2); -+ metrics.add_kern(256, code, -letterspace / 2); -+ } -+ } - - // apply math letterspacing, if any - if (math_spacing) -- do_math_spacing(metrics, finfo, dvipsenc); -+ do_math_spacing(metrics, finfo, dvipsenc); - - // reencode right components of boundary_glyph as boundary_char - if (metrics.reencode_right_ligkern(256, boundary_char) > 0 -- && boundary_char < 0) { -- errh->warning("no boundary character, ignoring some ligatures and/or kerns\n"); -- errh->message("(You may want to try the --boundary-char option.)"); -+ && boundary_char < 0) { -+ errh->warning("no boundary character, ignoring some ligatures and/or kerns\n"); -+ errh->message("(You may want to try the --boundary-char option.)"); - } - - // report unused and underused features if any -@@ -1643,51 +1699,51 @@ do_file(const String &otf_filename, cons - - // figure out our FONTNAME - if (!font_name) { -- // derive font name from OpenType font name -- font_name = finfo.postscript_name(); -- if (encoding_file) { -- int slash = encoding_file.find_right('/') + 1; -- int dot = encoding_file.find_right('.'); -- if (dot < slash) // includes dot < 0 case -- dot = encoding_file.length(); -- font_name += String("--") + encoding_file.substring(slash, dot - slash); -- } -- if (interesting_scripts.size() != 2 || interesting_scripts[0] != OpenType::Tag("latn") || interesting_scripts[1].valid()) -- for (int i = 0; i < interesting_scripts.size(); i += 2) { -- font_name += String("--S") + interesting_scripts[i].text(); -- if (interesting_scripts[i+1].valid()) -- font_name += String(".") + interesting_scripts[i+1].text(); -- } -- for (int i = 0; i < interesting_features.size(); i++) -- if (feature_usage[interesting_features[i].value()]) -- font_name += String("--F") + interesting_features[i].text(); -+ // derive font name from OpenType font name -+ font_name = finfo.postscript_name(); -+ if (encoding_file) { -+ int slash = encoding_file.find_right('/') + 1; -+ int dot = encoding_file.find_right('.'); -+ if (dot < slash) // includes dot < 0 case -+ dot = encoding_file.length(); -+ font_name += String("--") + encoding_file.substring(slash, dot - slash); -+ } -+ if (interesting_scripts.size() != 2 || interesting_scripts[0] != OpenType::Tag("latn") || interesting_scripts[1].valid()) -+ for (int i = 0; i < interesting_scripts.size(); i += 2) { -+ font_name += String("--S") + interesting_scripts[i].text(); -+ if (interesting_scripts[i+1].valid()) -+ font_name += String(".") + interesting_scripts[i+1].text(); -+ } -+ for (int i = 0; i < interesting_features.size(); i++) -+ if (feature_usage[interesting_features[i].value()]) -+ font_name += String("--F") + interesting_features[i].text(); - } - - // output encoding - if (dvipsenc_literal) { -- out_encoding_name = dvipsenc_in.name(); -- out_encoding_file = dvipsenc_in.filename(); -+ out_encoding_name = dvipsenc_in.name(); -+ out_encoding_file = dvipsenc_in.filename(); - } else -- output_encoding(metrics, glyph_names, errh); -+ output_encoding(metrics, glyph_names, errh); - - // set up coding scheme - if (metrics.coding_scheme()) -- metrics.set_design_units(1); -+ metrics.set_design_units(1); - else -- metrics.set_coding_scheme(out_encoding_name); -+ metrics.set_coding_scheme(out_encoding_name); - - // force no type 1 - if (!finfo.cff && (output_flags & G_TYPE1)) { -- errh->warning("assuming --no-type1 since this font is TrueType-flavored"); -- output_flags &= ~G_TYPE1; -+ errh->warning("assuming --no-type1 since this font is TrueType-flavored"); -+ output_flags &= ~G_TYPE1; - } - - // output - ::otf_filename = otf_filename; - output_metrics(metrics, finfo.postscript_name(), dvipsenc.boundary_char(), -- finfo, -- out_encoding_name, out_encoding_file, -- font_name, main_dvips_map, errh); -+ finfo, -+ out_encoding_name, out_encoding_file, -+ font_name, main_dvips_map, errh); - } - - -@@ -1695,8 +1751,8 @@ String - installed_metrics_font_name(const String &base_font_name, const String &secondary) - { - for (BaseEncoding **be = base_encodings.begin(); be != base_encodings.end(); be++) -- if ((*be)->secondary == secondary && ::font_name == base_font_name) -- return (*be)->font_name; -+ if ((*be)->secondary == secondary && ::font_name == base_font_name) -+ return (*be)->font_name; - return String(); - } - -@@ -1706,16 +1762,16 @@ static int - clp_parse_char(Clp_Parser *clp, const char *arg, int complain, void *) - { - if (arg[0] && !arg[1] && !isdigit((unsigned char) arg[0])) { -- clp->val.i = (unsigned char)arg[0]; -- return 1; -+ clp->val.i = (unsigned char)arg[0]; -+ return 1; - } else if (arg[0] == '-' || isdigit((unsigned char) arg[0])) { -- char *end; -- clp->val.i = strtol(arg, &end, 10); -- if (clp->val.i <= 255 && !*end) -- return 1; -+ char *end; -+ clp->val.i = strtol(arg, &end, 10); -+ if (clp->val.i <= 255 && !*end) -+ return 1; - } - if (complain) -- Clp_OptionError(clp, "'%O' expects a character, not '%s'", arg); -+ Clp_OptionError(clp, "'%O' expects a character, not '%s'", arg); - return 0; - } - } -@@ -1729,51 +1785,51 @@ parse_base_encodings(const String &filen - str.c_str(); - const char *s_end = str.end(); - for (const char *s = str.begin(); s != s_end; ) { -- while (s != s_end && isspace((unsigned char) *s) && *s != '\n' && *s != '\r') -- s++; -- // skip comments and blank lines -- if (s != s_end && *s != '%' && *s != '#' && *s != '\n' && *s != '\r') { -- const char *w1 = s; -- while (s != s_end && !isspace((unsigned char) *s)) -- s++; -- BaseEncoding *be = new BaseEncoding; -- be->font_name = str.substring(w1, s); -- while (s != s_end && isspace((unsigned char) *s) && *s != '\n' && *s != '\r') -- s++; -- const char *w2 = s; -- while (s != s_end && !isspace((unsigned char) *s)) -- s++; -- String efile = str.substring(w2, s); -- while (s != s_end && isspace((unsigned char) *s) && *s != '\n' && *s != '\r') -- s++; -- if (s != s_end && !isspace((unsigned char) *s) && *s != '%' && *s != '#') { -- const char *w3 = s; -- while (s != s_end && !isspace((unsigned char) *s)) -- s++; -- be->secondary = str.substring(w3, s); -- } -- LandmarkErrorHandler lerrh(errh, print_filename + String(lineno)); -- int before = lerrh.nerrors(); -- if (be->secondary) -- /* encoding ignored */; -- else if (!efile) -- lerrh.error("missing encoding name"); -- else if (String path = locate_encoding(efile, errh)) -- be->encoding.parse(path, true, true, &lerrh); -- else -- lerrh.error("encoding %<%s%> not found", efile.c_str()); -- if (lerrh.nerrors() == before) -- base_encodings.push_back(be); -- else -- delete be; -- } -- while (s != s_end && *s != '\n' && *s != '\r') -- s++; -- if (s != s_end && *s == '\r') -- s++; -- if (s != s_end && *s == '\n') -- s++; -- lineno++; -+ while (s != s_end && isspace((unsigned char) *s) && *s != '\n' && *s != '\r') -+ s++; -+ // skip comments and blank lines -+ if (s != s_end && *s != '%' && *s != '#' && *s != '\n' && *s != '\r') { -+ const char *w1 = s; -+ while (s != s_end && !isspace((unsigned char) *s)) -+ s++; -+ BaseEncoding *be = new BaseEncoding; -+ be->font_name = str.substring(w1, s); -+ while (s != s_end && isspace((unsigned char) *s) && *s != '\n' && *s != '\r') -+ s++; -+ const char *w2 = s; -+ while (s != s_end && !isspace((unsigned char) *s)) -+ s++; -+ String efile = str.substring(w2, s); -+ while (s != s_end && isspace((unsigned char) *s) && *s != '\n' && *s != '\r') -+ s++; -+ if (s != s_end && !isspace((unsigned char) *s) && *s != '%' && *s != '#') { -+ const char *w3 = s; -+ while (s != s_end && !isspace((unsigned char) *s)) -+ s++; -+ be->secondary = str.substring(w3, s); -+ } -+ LandmarkErrorHandler lerrh(errh, print_filename + String(lineno)); -+ int before = lerrh.nerrors(); -+ if (be->secondary) -+ /* encoding ignored */; -+ else if (!efile) -+ lerrh.error("missing encoding name"); -+ else if (String path = locate_encoding(efile, errh)) -+ be->encoding.parse(path, true, true, &lerrh); -+ else -+ lerrh.error("encoding %<%s%> not found", efile.c_str()); -+ if (lerrh.nerrors() == before) -+ base_encodings.push_back(be); -+ else -+ delete be; -+ } -+ while (s != s_end && *s != '\n' && *s != '\r') -+ s++; -+ if (s != s_end && *s == '\r') -+ s++; -+ if (s != s_end && *s == '\n') -+ s++; -+ lineno++; - } - } - -@@ -1784,7 +1840,7 @@ main(int argc, char *argv[]) - handle_sigchld(); - #endif - Clp_Parser *clp = -- Clp_NewParser(argc, (const char * const *)argv, sizeof(options) / sizeof(options[0]), options); -+ Clp_NewParser(argc, (const char * const *)argv, sizeof(options) / sizeof(options[0]), options); - Clp_AddType(clp, CHAR_OPTTYPE, 0, clp_parse_char, 0); - program_name = Clp_ProgramName(clp); - #if HAVE_KPATHSEA -@@ -1792,13 +1848,13 @@ main(int argc, char *argv[]) - #endif - #ifdef HAVE_CTIME - { -- time_t t = time(0); -- char *c = ctime(&t); -- current_time = " on " + String(c).substring(0, -1); // get rid of \n -+ time_t t = time(0); -+ char *c = ctime(&t); -+ current_time = " on " + String(c).substring(0, -1); // get rid of \n - } - #endif - for (int i = 0; i < argc; i++) -- invocation << (i ? " " : "") << argv[i]; -+ invocation << (i ? " " : "") << argv[i]; - - ErrorHandler *errh = ErrorHandler::static_initialize(new FileErrorHandler(stderr, String(program_name) + ": ")); - const char *input_file = 0; -@@ -1811,350 +1867,376 @@ main(int argc, char *argv[]) - Vector base_encoding_files; - bool no_ecommand = false, default_ligkern = true; - int warn_missing = -1; -+ unsigned specified_output_flags = 0; - String codingscheme; -+ const char* odirs[NUMODIR + 1]; -+ for (int i = 0; i <= NUMODIR; ++i) { -+ odirs[i] = 0; -+ } - - GlyphFilter current_substitution_filter; - GlyphFilter current_alternate_filter; - GlyphFilter* current_filter_ptr = &null_filter; -+ Vector allocated_filters; - - while (1) { -- int opt = Clp_Next(clp); -- switch (opt) { -+ int opt = Clp_Next(clp); -+ switch (opt) { - -- case SCRIPT_OPT: { -- String arg = clp->vstr; -- int period = arg.find_left('.'); -- OpenType::Tag scr(period <= 0 ? arg : arg.substring(0, period)); -- if (scr.valid() && period > 0) { -- OpenType::Tag lang(arg.substring(period + 1)); -- if (lang.valid()) { -- interesting_scripts.push_back(scr); -- interesting_scripts.push_back(lang); -- } else -- usage_error(errh, "bad language tag"); -- } else if (scr.valid()) { -- interesting_scripts.push_back(scr); -- interesting_scripts.push_back(OpenType::Tag()); -- } else -- usage_error(errh, "bad script tag"); -- break; -- } -- -- case FEATURE_OPT: { -- OpenType::Tag t(clp->vstr); -- if (!t.valid()) -- usage_error(errh, "bad feature tag"); -- else if (feature_filters[t]) -- usage_error(errh, "feature %<%s%> included twice", t.text().c_str()); -- else { -- if (!current_filter_ptr) -- current_filter_ptr = new GlyphFilter(current_substitution_filter + current_alternate_filter); -- interesting_features.push_back(t); -- feature_filters.insert(t, current_filter_ptr); -- } -- break; -- } -- -- case LETTER_FEATURE_OPT: { -- OpenType::Tag t(clp->vstr); -- if (!t.valid()) -- usage_error(errh, "bad feature tag"); -- else if (feature_filters[t]) -- usage_error(errh, "feature %<%s%> included twice", t.text().c_str()); -- else { -- interesting_features.push_back(t); -- GlyphFilter* gf = new GlyphFilter; -- gf->add_substitution_filter("", false, errh); -- *gf += current_alternate_filter; -- feature_filters.insert(t, gf); -- } -- break; -- } -- -- case SUBS_FILTER_OPT: -- current_substitution_filter = null_filter; -- /* fallthru */ -- case EXCLUDE_SUBS_OPT: -- case INCLUDE_SUBS_OPT: -- current_substitution_filter.add_substitution_filter(clp->vstr, opt == EXCLUDE_SUBS_OPT, errh); -- current_filter_ptr = 0; -- break; -- -- case CLEAR_SUBS_OPT: -- current_substitution_filter = null_filter; -- current_filter_ptr = 0; -- break; -- -- case ENCODING_OPT: -- if (encoding_file) -- usage_error(errh, "encoding specified twice"); -- encoding_file = clp->vstr; -+ case SCRIPT_OPT: { -+ String arg = clp->vstr; -+ int period = arg.find_left('.'); -+ OpenType::Tag scr(period <= 0 ? arg : arg.substring(0, period)); -+ if (scr.valid() && period > 0) { -+ OpenType::Tag lang(arg.substring(period + 1)); -+ if (lang.valid()) { -+ interesting_scripts.push_back(scr); -+ interesting_scripts.push_back(lang); -+ } else -+ usage_error(errh, "bad language tag"); -+ } else if (scr.valid()) { -+ interesting_scripts.push_back(scr); -+ interesting_scripts.push_back(OpenType::Tag()); -+ } else -+ usage_error(errh, "bad script tag"); -+ break; -+ } -+ -+ case FEATURE_OPT: { -+ OpenType::Tag t(clp->vstr); -+ if (!t.valid()) -+ usage_error(errh, "bad feature tag"); -+ else if (feature_filters[t]) -+ usage_error(errh, "feature %<%s%> included twice", t.text().c_str()); -+ else { -+ if (!current_filter_ptr) { -+ current_filter_ptr = new GlyphFilter(current_substitution_filter + current_alternate_filter); -+ allocated_filters.push_back(current_filter_ptr); -+ } -+ interesting_features.push_back(t); -+ feature_filters.insert(t, current_filter_ptr); -+ } -+ break; -+ } -+ -+ case LETTER_FEATURE_OPT: { -+ OpenType::Tag t(clp->vstr); -+ if (!t.valid()) -+ usage_error(errh, "bad feature tag"); -+ else if (feature_filters[t]) -+ usage_error(errh, "feature %<%s%> included twice", t.text().c_str()); -+ else { -+ interesting_features.push_back(t); -+ GlyphFilter* gf = new GlyphFilter; -+ gf->add_substitution_filter("", false, errh); -+ *gf += current_alternate_filter; -+ feature_filters.insert(t, gf); -+ } -+ break; -+ } -+ -+ case SUBS_FILTER_OPT: -+ current_substitution_filter = null_filter; -+ /* fallthru */ -+ case EXCLUDE_SUBS_OPT: -+ case INCLUDE_SUBS_OPT: -+ current_substitution_filter.add_substitution_filter(clp->vstr, opt == EXCLUDE_SUBS_OPT, errh); -+ current_filter_ptr = 0; -+ break; -+ -+ case CLEAR_SUBS_OPT: -+ current_substitution_filter = null_filter; -+ current_filter_ptr = 0; -+ break; -+ -+ case ENCODING_OPT: -+ if (encoding_file) -+ usage_error(errh, "encoding specified twice"); -+ encoding_file = clp->vstr; - have_encoding_file = true; -- break; -+ break; - -- case LITERAL_ENCODING_OPT: -- if (encoding_file) -- usage_error(errh, "encoding specified twice"); -- encoding_file = clp->vstr; -+ case LITERAL_ENCODING_OPT: -+ if (encoding_file) -+ usage_error(errh, "encoding specified twice"); -+ encoding_file = clp->vstr; - have_encoding_file = true; -- literal_encoding = true; -- break; -+ literal_encoding = true; -+ break; -+ -+ case BASE_ENCODINGS_OPT: -+ base_encoding_files.push_back(clp->vstr); -+ break; -+ -+ case EXTEND_OPT: -+ if (extend) -+ usage_error(errh, "extend value specified twice"); -+ extend = clp->val.d; -+ break; -+ -+ case SLANT_OPT: -+ if (slant) -+ usage_error(errh, "slant value specified twice"); -+ slant = clp->val.d; -+ break; -+ -+ case LETTERSPACE_OPT: -+ if (letterspace) -+ usage_error(errh, "letterspacing value specified twice"); -+ letterspace = clp->val.i; -+ break; -+ -+ case SPACE_FACTOR_OPT: -+ if (space_factor != 1) -+ usage_error(errh, "space factor specified twice"); -+ space_factor = clp->val.d; -+ break; -+ -+ case MATH_SPACING_OPT: -+ math_spacing = !clp->negated; -+ if (math_spacing && clp->have_val) { -+ if (clp->val.i < 0 || clp->val.i > 255) -+ usage_error(errh, "--math-spacing skew character must be between 0 and 255"); -+ skew_char = clp->val.i; -+ } -+ break; -+ -+ case DESIGN_SIZE_OPT: -+ if (design_size > 0) -+ usage_error(errh, "design size value specified twice"); -+ else if (clp->val.d <= 0) -+ usage_error(errh, "design size must be > 0"); -+ design_size = clp->val.d; -+ break; -+ -+ case LIGKERN_OPT: -+ ligkern.push_back(clp->vstr); -+ break; -+ -+ case POSITION_OPT: -+ pos.push_back(clp->vstr); -+ break; -+ -+ case WARN_MISSING_OPT: -+ warn_missing = !clp->negated; -+ break; -+ -+ case NO_ECOMMAND_OPT: -+ no_ecommand = true; -+ break; -+ -+ case DEFAULT_LIGKERN_OPT: -+ default_ligkern = !clp->negated; -+ break; -+ -+ case BOUNDARY_CHAR_OPT: -+ ligkern.push_back(String("|| = ") + String(clp->val.i)); -+ break; -+ -+ case ALTSELECTOR_CHAR_OPT: -+ ligkern.push_back(String("^^ = ") + String(clp->val.i)); -+ break; -+ -+ case ALTSELECTOR_FEATURE_OPT: { -+ OpenType::Tag t(clp->vstr); -+ if (!t.valid()) -+ usage_error(errh, "bad feature tag"); -+ else if (altselector_feature_filters[t]) -+ usage_error(errh, "altselector feature %<%s%> included twice", t.text().c_str()); -+ else { -+ if (!current_filter_ptr) { -+ current_filter_ptr = new GlyphFilter(current_substitution_filter + current_alternate_filter); -+ allocated_filters.push_back(current_filter_ptr); -+ } -+ altselector_features.push_back(t); -+ altselector_feature_filters.insert(t, current_filter_ptr); -+ } -+ break; -+ } -+ -+ case ALTERNATES_FILTER_OPT: -+ current_alternate_filter = null_filter; -+ /* fallthru */ -+ case EXCLUDE_ALTERNATES_OPT: -+ case INCLUDE_ALTERNATES_OPT: -+ current_alternate_filter.add_alternate_filter(clp->vstr, opt == EXCLUDE_ALTERNATES_OPT, errh); -+ current_filter_ptr = 0; -+ break; -+ -+ case CLEAR_ALTERNATES_OPT: -+ current_alternate_filter = null_filter; -+ current_filter_ptr = 0; -+ break; -+ -+ case UNICODING_OPT: -+ unicoding.push_back(clp->vstr); -+ break; -+ -+ case CODINGSCHEME_OPT: -+ if (codingscheme) -+ usage_error(errh, "coding scheme specified twice"); -+ codingscheme = clp->vstr; -+ if (codingscheme.length() > 39) -+ errh->warning("only first 39 characters of coding scheme are significant"); -+ if (codingscheme.find_left('(') >= 0 || codingscheme.find_left(')') >= 0) -+ usage_error(errh, "coding scheme cannot contain parentheses"); -+ break; -+ -+ case AUTOMATIC_OPT: -+ automatic = !clp->negated; -+ break; -+ -+ case VENDOR_OPT: -+ if (!set_vendor(clp->vstr)) -+ usage_error(errh, "vendor name specified twice"); -+ break; -+ -+ case TYPEFACE_OPT: -+ if (!set_typeface(clp->vstr, true)) -+ usage_error(errh, "typeface name specified twice"); -+ break; -+ -+ case VIRTUAL_OPT: -+ if (clp->negated) -+ output_flags &= ~G_VMETRICS; -+ else -+ output_flags |= G_VMETRICS; -+ specified_output_flags |= G_VMETRICS; -+ break; -+ -+ case NO_ENCODING_OPT: -+ case NO_TYPE1_OPT: -+ case NO_DOTLESSJ_OPT: -+ case NO_UPDMAP_OPT: -+ output_flags &= ~(opt - NO_OUTPUT_OPTS); -+ specified_output_flags |= opt - NO_OUTPUT_OPTS; -+ break; -+ -+ case TRUETYPE_OPT: -+ case TYPE42_OPT: -+ if (!clp->negated) -+ output_flags |= (opt - YES_OUTPUT_OPTS); -+ else -+ output_flags &= ~(opt - YES_OUTPUT_OPTS); -+ specified_output_flags |= opt - YES_OUTPUT_OPTS; -+ break; - -- case BASE_ENCODINGS_OPT: -- base_encoding_files.push_back(clp->vstr); -- break; -- -- case EXTEND_OPT: -- if (extend) -- usage_error(errh, "extend value specified twice"); -- extend = clp->val.d; -- break; -- -- case SLANT_OPT: -- if (slant) -- usage_error(errh, "slant value specified twice"); -- slant = clp->val.d; -- break; -- -- case LETTERSPACE_OPT: -- if (letterspace) -- usage_error(errh, "letterspacing value specified twice"); -- letterspace = clp->val.i; -- break; -- -- case SPACE_FACTOR_OPT: -- if (space_factor != 1) -- usage_error(errh, "space factor specified twice"); -- space_factor = clp->val.d; -- break; -- -- case MATH_SPACING_OPT: -- math_spacing = !clp->negated; -- if (math_spacing && clp->have_val) { -- if (clp->val.i < 0 || clp->val.i > 255) -- usage_error(errh, "--math-spacing skew character must be between 0 and 255"); -- skew_char = clp->val.i; -- } -- break; -- -- case DESIGN_SIZE_OPT: -- if (design_size > 0) -- usage_error(errh, "design size value specified twice"); -- else if (clp->val.d <= 0) -- usage_error(errh, "design size must be > 0"); -- design_size = clp->val.d; -- break; -- -- case LIGKERN_OPT: -- ligkern.push_back(clp->vstr); -- break; -- -- case POSITION_OPT: -- pos.push_back(clp->vstr); -- break; -- -- case WARN_MISSING_OPT: -- warn_missing = !clp->negated; -- break; -- -- case NO_ECOMMAND_OPT: -- no_ecommand = true; -- break; -- -- case DEFAULT_LIGKERN_OPT: -- default_ligkern = !clp->negated; -- break; -- -- case BOUNDARY_CHAR_OPT: -- ligkern.push_back(String("|| = ") + String(clp->val.i)); -- break; -- -- case ALTSELECTOR_CHAR_OPT: -- ligkern.push_back(String("^^ = ") + String(clp->val.i)); -- break; -- -- case ALTSELECTOR_FEATURE_OPT: { -- OpenType::Tag t(clp->vstr); -- if (!t.valid()) -- usage_error(errh, "bad feature tag"); -- else if (altselector_feature_filters[t]) -- usage_error(errh, "altselector feature %<%s%> included twice", t.text().c_str()); -- else { -- if (!current_filter_ptr) -- current_filter_ptr = new GlyphFilter(current_substitution_filter + current_alternate_filter); -- altselector_features.push_back(t); -- altselector_feature_filters.insert(t, current_filter_ptr); -- } -- break; -- } -- -- case ALTERNATES_FILTER_OPT: -- current_alternate_filter = null_filter; -- /* fallthru */ -- case EXCLUDE_ALTERNATES_OPT: -- case INCLUDE_ALTERNATES_OPT: -- current_alternate_filter.add_alternate_filter(clp->vstr, opt == EXCLUDE_ALTERNATES_OPT, errh); -- current_filter_ptr = 0; -- break; -- -- case CLEAR_ALTERNATES_OPT: -- current_alternate_filter = null_filter; -- current_filter_ptr = 0; -- break; -- -- case UNICODING_OPT: -- unicoding.push_back(clp->vstr); -- break; -- -- case CODINGSCHEME_OPT: -- if (codingscheme) -- usage_error(errh, "coding scheme specified twice"); -- codingscheme = clp->vstr; -- if (codingscheme.length() > 39) -- errh->warning("only first 39 characters of coding scheme are significant"); -- if (codingscheme.find_left('(') >= 0 || codingscheme.find_left(')') >= 0) -- usage_error(errh, "coding scheme cannot contain parentheses"); -- break; -- -- case AUTOMATIC_OPT: -- automatic = !clp->negated; -- break; -- -- case VENDOR_OPT: -- if (!set_vendor(clp->vstr)) -- usage_error(errh, "vendor name specified twice"); -- break; -- -- case TYPEFACE_OPT: -- if (!set_typeface(clp->vstr, true)) -- usage_error(errh, "typeface name specified twice"); -- break; -- -- case VIRTUAL_OPT: -- if (clp->negated) -- output_flags &= ~G_VMETRICS; -- else -- output_flags |= G_VMETRICS; -- break; -- -- case NO_ENCODING_OPT: -- case NO_TYPE1_OPT: -- case NO_DOTLESSJ_OPT: -- case NO_UPDMAP_OPT: -- output_flags &= ~(opt - NO_OUTPUT_OPTS); -- break; -- -- case TRUETYPE_OPT: -- case TYPE42_OPT: -- if (!clp->negated) -- output_flags |= (opt - YES_OUTPUT_OPTS); -- else -- output_flags &= ~(opt - YES_OUTPUT_OPTS); -- break; -- -- case OUTPUT_ENCODING_OPT: -- if (out_encoding_file) -- usage_error(errh, "encoding output file specified twice"); -- out_encoding_file = (clp->have_val ? clp->vstr : "-"); -- output_flags = G_ENCODING; -- break; -- -- case MINIMUM_KERN_OPT: -- minimum_kern = clp->val.d; -- break; -- -- case MAP_FILE_OPT: -- if (clp->negated) -- output_flags &= ~G_PSFONTSMAP; -- else { -- output_flags |= G_PSFONTSMAP; -- if (!set_map_file(clp->vstr)) -- usage_error(errh, "map file specified twice"); -- } -- break; -- -- case PL_OPT: -- output_flags = (output_flags & ~G_BINARY) | G_ASCII; -- break; -- -- case TFM_OPT: -- output_flags = (output_flags & ~G_ASCII) | G_BINARY; -- break; -- -- case ENCODING_DIR_OPT: -- case TFM_DIR_OPT: -- case PL_DIR_OPT: -- case VF_DIR_OPT: -- case VPL_DIR_OPT: -- case TYPE1_DIR_OPT: -- case TRUETYPE_DIR_OPT: -- case TYPE42_DIR_OPT: -- if (!setodir(opt - DIR_OPTS, clp->vstr)) -- usage_error(errh, "%s directory specified twice", odirname(opt - DIR_OPTS)); -- break; -- -- case FONT_NAME_OPT: -- font_name: -- if (font_name) -- usage_error(errh, "font name specified twice"); -- font_name = clp->vstr; -- break; -- -- case FIXED_PITCH_OPT: -- override_is_fixed_pitch = true; -- is_fixed_pitch = !clp->negated; -- break; -- -- case PROPORTIONAL_WIDTH_OPT: -- override_is_fixed_pitch = true; -- is_fixed_pitch = !!clp->negated; -- break; -- -- case ITALIC_ANGLE_OPT: -- override_italic_angle = true; -- italic_angle = clp->val.d; -- break; -- -- case GLYPHLIST_OPT: -- glyphlist_files.push_back(clp->vstr); -- break; -- -- case QUERY_FEATURES_OPT: -- usage_error(errh, "run % instead"); -- break; -- -- case QUERY_SCRIPTS_OPT: -- usage_error(errh, "run % instead"); -- break; -- -- case QUIET_OPT: -- if (clp->negated) -- errh = ErrorHandler::default_handler(); -- else -- // 9.Nov.05 -- need a new SilentErrorHandler, because we use -- // the base SilentErrorHandler elsewhere to ignore errors -- errh = new SilentErrorHandler; -- break; -- -- case VERBOSE_OPT: -- verbose = !clp->negated; -- break; -- -- case NOCREATE_OPT: -- no_create = clp->negated; -- break; -- -- case FORCE_OPT: -- force = !clp->negated; -- break; -+ case OUTPUT_ENCODING_OPT: -+ if (out_encoding_file) -+ usage_error(errh, "encoding output file specified twice"); -+ out_encoding_file = (clp->have_val ? clp->vstr : "-"); -+ output_flags = G_ENCODING; -+ specified_output_flags = -1; -+ break; -+ -+ case MINIMUM_KERN_OPT: -+ minimum_kern = clp->val.d; -+ break; -+ -+ case MAP_FILE_OPT: -+ if (clp->negated) -+ output_flags &= ~G_PSFONTSMAP; -+ else { -+ output_flags |= G_PSFONTSMAP; -+ if (!set_map_file(clp->vstr)) -+ usage_error(errh, "map file specified twice"); -+ } -+ specified_output_flags |= G_PSFONTSMAP; -+ break; -+ -+ case PL_OPT: -+ if (clp->negated) -+ output_flags &= ~G_ASCII; -+ else -+ output_flags |= G_ASCII; -+ specified_output_flags |= G_ASCII; -+ break; -+ -+ case TFM_OPT: -+ if (clp->negated) -+ output_flags &= ~G_BINARY; -+ else -+ output_flags |= G_BINARY; -+ specified_output_flags |= G_BINARY; -+ break; -+ -+ case ENCODING_DIR_OPT: -+ case TFM_DIR_OPT: -+ case PL_DIR_OPT: -+ case VF_DIR_OPT: -+ case VPL_DIR_OPT: -+ case TYPE1_DIR_OPT: -+ case TRUETYPE_DIR_OPT: -+ case TYPE42_DIR_OPT: -+ case DIR_OPT: -+ if (!odirs[opt - DIR_OPTS]) -+ odirs[opt - DIR_OPTS] = clp->vstr; -+ else -+ usage_error(errh, "%s directory specified twice", odirname(opt - DIR_OPTS)); -+ break; - -- case KPATHSEA_DEBUG_OPT: -+ case FONT_NAME_OPT: -+ font_name: -+ if (font_name) -+ usage_error(errh, "font name specified twice"); -+ font_name = clp->vstr; -+ break; -+ -+ case FIXED_PITCH_OPT: -+ override_is_fixed_pitch = true; -+ is_fixed_pitch = !clp->negated; -+ break; -+ -+ case PROPORTIONAL_WIDTH_OPT: -+ override_is_fixed_pitch = true; -+ is_fixed_pitch = !!clp->negated; -+ break; -+ -+ case ITALIC_ANGLE_OPT: -+ override_italic_angle = true; -+ italic_angle = clp->val.d; -+ break; -+ -+ case GLYPHLIST_OPT: -+ glyphlist_files.push_back(clp->vstr); -+ break; -+ -+ case QUERY_FEATURES_OPT: -+ usage_error(errh, "run % instead"); -+ break; -+ -+ case QUERY_SCRIPTS_OPT: -+ usage_error(errh, "run % instead"); -+ break; -+ -+ case QUIET_OPT: -+ if (clp->negated) -+ errh = ErrorHandler::default_handler(); -+ else -+ // 9.Nov.05 -- need a new SilentErrorHandler, because we use -+ // the base SilentErrorHandler elsewhere to ignore errors -+ errh = new SilentErrorHandler; -+ break; -+ -+ case VERBOSE_OPT: -+ verbose = !clp->negated; -+ break; -+ -+ case NOCREATE_OPT: -+ no_create = clp->negated; -+ break; -+ -+ case FORCE_OPT: -+ force = !clp->negated; -+ break; -+ -+ case KPATHSEA_DEBUG_OPT: - #if HAVE_KPATHSEA -- kpsei_set_debug_flags(clp->val.u); -+ kpsei_set_debug_flags(clp->val.u); - #else -- errh->warning("Not compiled with kpathsea!"); -+ errh->warning("Not compiled with kpathsea!"); - #endif -- break; -+ break; - - case X_HEIGHT_OPT: { - char* ends; -@@ -2169,127 +2251,141 @@ main(int argc, char *argv[]) - && *ends == 0 && *clp->vstr != 0) - override_x_height = FontInfo::x_height_explicit; - else -- usage_error(errh, "bad --x-height option"); -+ usage_error(errh, "bad --x-height option"); - break; - } - -- case VERSION_OPT: -- printf("otftotfm (LCDF typetools) %s\n", VERSION); -- printf("Copyright (C) 2002-2016 Eddie Kohler\n\ -+ case VERSION_OPT: -+ printf("otftotfm (LCDF typetools) %s\n", VERSION); -+ printf("Copyright (C) 2002-2018 Eddie Kohler\n\ - This is free software; see the source for copying conditions.\n\ - There is NO warranty, not even for merchantability or fitness for a\n\ - particular purpose.\n"); -- exit(0); -- break; -+ exit(0); -+ break; -+ -+ case HELP_OPT: -+ usage(); -+ exit(0); -+ break; -+ -+ case Clp_NotOption: -+ if (input_file && font_name) -+ usage_error(errh, "too many arguments"); -+ else if (input_file) -+ goto font_name; -+ else -+ input_file = clp->vstr; -+ break; -+ -+ case Clp_Done: -+ goto done; - -- case HELP_OPT: -- usage(); -- exit(0); -- break; -- -- case Clp_NotOption: -- if (input_file && font_name) -- usage_error(errh, "too many arguments"); -- else if (input_file) -- goto font_name; -- else -- input_file = clp->vstr; -- break; -- -- case Clp_Done: -- goto done; -- -- case Clp_BadOption: -- usage_error(errh, 0); -- break; -+ case Clp_BadOption: -+ usage_error(errh, 0); -+ break; - -- default: -- break; -+ default: -+ break; - -- } -+ } - } - - done: - // check for odd option combinations - if (warn_missing > 0 && !(output_flags & G_VMETRICS)) -- errh->warning("%<--warn-missing%> has no effect with %<--no-virtual%>"); -+ errh->warning("%<--warn-missing%> has no effect with %<--no-virtual%>"); -+ if (!(specified_output_flags & (G_BINARY | G_ASCII))) -+ output_flags |= G_BINARY; - - // set up file names - if (!input_file) -- usage_error(errh, "no font filename provided"); -+ usage_error(errh, "no font filename provided"); - if (encoding_file == "-") -- encoding_file = ""; -+ encoding_file = ""; -+ -+ // set up output directories -+ if (odirs[NUMODIR]) { -+ for (int i = 0; i < NUMODIR; ++i) -+ if (!odirs[i]) -+ odirs[i] = odirs[NUMODIR]; -+ } -+ for (int i = 0; i < NUMODIR; ++i) -+ if (odirs[i]) -+ setodir(i, odirs[i]); - - // set up feature filters - if (!altselector_features.size()) { -- if (!current_filter_ptr) -- current_filter_ptr = new GlyphFilter(current_substitution_filter + current_alternate_filter); -- altselector_features.push_back(OpenType::Tag("dlig")); -- altselector_feature_filters.insert(OpenType::Tag("dlig"), current_filter_ptr); -- altselector_features.push_back(OpenType::Tag("salt")); -- altselector_feature_filters.insert(OpenType::Tag("salt"), current_filter_ptr); -+ if (!current_filter_ptr) { -+ current_filter_ptr = new GlyphFilter(current_substitution_filter + current_alternate_filter); -+ allocated_filters.push_back(current_filter_ptr); -+ } -+ altselector_features.push_back(OpenType::Tag("dlig")); -+ altselector_feature_filters.insert(OpenType::Tag("dlig"), current_filter_ptr); -+ altselector_features.push_back(OpenType::Tag("salt")); -+ altselector_feature_filters.insert(OpenType::Tag("salt"), current_filter_ptr); - } else if (!current_filter_ptr) { -- errh->warning("some filtering options ignored"); -- errh->message("(--include-*, --exclude-*, and --*-filter options must occur\nbefore the feature options to which they should apply.)"); -+ errh->warning("some filtering options ignored"); -+ errh->message("(--include-*, --exclude-*, and --*-filter options must occur\nbefore the feature options to which they should apply.)"); - } - - try { -- // read font -- otf_data = read_file(input_file, errh); -- if (errh->nerrors()) -- exit(1); -- -- LandmarkErrorHandler cerrh(errh, printable_filename(input_file)); -- BailErrorHandler bail_errh(&cerrh); -- -- OpenType::Font otf(otf_data, &bail_errh); -- assert(otf.ok()); -- -- // figure out scripts we care about -- if (!interesting_scripts.size()) { -- interesting_scripts.push_back(Efont::OpenType::Tag("latn")); -- interesting_scripts.push_back(Efont::OpenType::Tag()); -- } -- std::sort(interesting_features.begin(), interesting_features.end()); -- std::sort(altselector_features.begin(), altselector_features.end()); -+ // read font -+ otf_data = read_file(input_file, errh); -+ if (errh->nerrors()) -+ exit(1); -+ -+ LandmarkErrorHandler cerrh(errh, printable_filename(input_file)); -+ BailErrorHandler bail_errh(&cerrh); -+ -+ OpenType::Font otf(otf_data, &bail_errh); -+ assert(otf.ok()); -+ -+ // figure out scripts we care about -+ if (!interesting_scripts.size()) { -+ interesting_scripts.push_back(Efont::OpenType::Tag("latn")); -+ interesting_scripts.push_back(Efont::OpenType::Tag()); -+ } -+ std::sort(interesting_features.begin(), interesting_features.end()); -+ std::sort(altselector_features.begin(), altselector_features.end()); - -- // find glyphlist -- if (!glyphlist_files.size()) { -+ // find glyphlist -+ if (!glyphlist_files.size()) { - #if HAVE_KPATHSEA -- if (String g = kpsei_find_file("glyphlist.txt", KPSEI_FMT_MAP)) { -- glyphlist_files.push_back(g); -- if (verbose) -- errh->message("glyphlist.txt found with kpathsea at %s", g.c_str()); -- } else -+ if (String g = kpsei_find_file("glyphlist.txt", KPSEI_FMT_MAP)) { -+ glyphlist_files.push_back(g); -+ if (verbose) -+ errh->message("glyphlist.txt found with kpathsea at %s", g.c_str()); -+ } else - #endif -- glyphlist_files.push_back(GLYPHLISTDIR "/glyphlist.txt"); -+ glyphlist_files.push_back(GLYPHLISTDIR "/glyphlist.txt"); - #if HAVE_KPATHSEA -- if (String g = kpsei_find_file("texglyphlist.txt", KPSEI_FMT_MAP)) { -- glyphlist_files.push_back(g); -- if (verbose) -- errh->message("texglyphlist.txt found with kpathsea at %s", g.c_str()); -- } else -+ if (String g = kpsei_find_file("texglyphlist.txt", KPSEI_FMT_MAP)) { -+ glyphlist_files.push_back(g); -+ if (verbose) -+ errh->message("texglyphlist.txt found with kpathsea at %s", g.c_str()); -+ } else - #endif -- glyphlist_files.push_back(GLYPHLISTDIR "/texglyphlist.txt"); -- } -+ glyphlist_files.push_back(GLYPHLISTDIR "/texglyphlist.txt"); -+ } - -- // read glyphlist -- for (String *g = glyphlist_files.begin(); g < glyphlist_files.end(); g++) -- if (String s = read_file(*g, errh, true)) -- DvipsEncoding::add_glyphlist(s); -- -- // read base encodings -- for (String *s = base_encoding_files.begin(); s < base_encoding_files.end(); s++) -- parse_base_encodings(*s, errh); -- -- // read encoding -- DvipsEncoding dvipsenc; -- if (encoding_file) { -- if (String path = locate_encoding(encoding_file, errh)) -- dvipsenc.parse(path, no_ecommand, no_ecommand, errh); -- else -- errh->fatal("encoding %<%s%> not found", encoding_file.c_str()); -- } else { -+ // read glyphlist -+ for (String *g = glyphlist_files.begin(); g < glyphlist_files.end(); g++) -+ if (String s = read_file(*g, errh, true)) -+ DvipsEncoding::add_glyphlist(s); -+ -+ // read base encodings -+ for (String *s = base_encoding_files.begin(); s < base_encoding_files.end(); s++) -+ parse_base_encodings(*s, errh); -+ -+ // read encoding -+ DvipsEncoding dvipsenc; -+ if (encoding_file) { -+ if (String path = locate_encoding(encoding_file, errh)) -+ dvipsenc.parse(path, no_ecommand, no_ecommand, errh); -+ else -+ errh->fatal("encoding %<%s%> not found", encoding_file.c_str()); -+ } else { - String cff_data(otf.table("CFF")); - if (!cff_data) { - errh->error("explicit encoding required for TrueType fonts"); -@@ -2300,42 +2396,44 @@ particular purpose.\n"); - errh->message("(Use %<-e ENCODING%> to choose an encoding. %<-e texnansx%> often works,\nor say %<-e -%> to turn off this warning.)"); - } - -- // use encoding from font -- Cff cff(cff_data, otf.units_per_em(), &bail_errh); -- Cff::FontParent *font = cff.font(PermString(), &bail_errh); -- assert(cff.ok() && font->ok()); -- if (Type1Encoding *t1e = font->type1_encoding()) { -- for (int i = 0; i < 256; i++) -- dvipsenc.encode(i, (*t1e)[i]); -- } else -- errh->fatal("font has no encoding, specify one explicitly"); -- delete font; -- } -- -- // apply default ligkern commands -- if (default_ligkern) -- dvipsenc.parse_ligkern(default_ligkerns, 0, ErrorHandler::silent_handler()); -- -- // apply command-line ligkern commands and coding scheme -- cerrh.set_landmark("--ligkern command"); -- for (int i = 0; i < ligkern.size(); i++) -- dvipsenc.parse_ligkern(ligkern[i], 1, &cerrh); -- cerrh.set_landmark("--position command"); -- for (int i = 0; i < pos.size(); i++) -- dvipsenc.parse_position(pos[i], 1, &cerrh); -- cerrh.set_landmark("--unicoding command"); -- for (int i = 0; i < unicoding.size(); i++) -- dvipsenc.parse_unicoding(unicoding[i], 1, &cerrh); -- if (codingscheme) -- dvipsenc.set_coding_scheme(codingscheme); -- if (warn_missing >= 0) -- dvipsenc.set_warn_missing(warn_missing); -+ // use encoding from font -+ Cff cff(cff_data, otf.units_per_em(), &bail_errh); -+ Cff::FontParent *font = cff.font(PermString(), &bail_errh); -+ assert(cff.ok() && font->ok()); -+ if (Type1Encoding *t1e = font->type1_encoding()) { -+ for (int i = 0; i < 256; i++) -+ dvipsenc.encode(i, (*t1e)[i]); -+ } else -+ errh->fatal("font has no encoding, specify one explicitly"); -+ } -+ -+ // apply default ligkern commands -+ if (default_ligkern) -+ dvipsenc.parse_ligkern(default_ligkerns, 0, ErrorHandler::silent_handler()); -+ -+ // apply command-line ligkern commands and coding scheme -+ cerrh.set_landmark("--ligkern command"); -+ for (int i = 0; i < ligkern.size(); i++) -+ dvipsenc.parse_ligkern(ligkern[i], 1, &cerrh); -+ cerrh.set_landmark("--position command"); -+ for (int i = 0; i < pos.size(); i++) -+ dvipsenc.parse_position(pos[i], 1, &cerrh); -+ cerrh.set_landmark("--unicoding command"); -+ for (int i = 0; i < unicoding.size(); i++) -+ dvipsenc.parse_unicoding(unicoding[i], 1, &cerrh); -+ if (codingscheme) -+ dvipsenc.set_coding_scheme(codingscheme); -+ if (warn_missing >= 0) -+ dvipsenc.set_warn_missing(warn_missing); - -- do_file(input_file, otf, dvipsenc, literal_encoding, errh); -+ do_file(input_file, otf, dvipsenc, literal_encoding, errh); - - } catch (OpenType::Error e) { -- errh->error("unhandled exception %<%s%>", e.description.c_str()); -+ errh->error("unhandled exception %<%s%>", e.description.c_str()); - } - -+ for (int i = 0; i < allocated_filters.size(); ++i) -+ delete allocated_filters[i]; -+ Clp_DeleteParser(clp); - return (errh->nerrors() == 0 ? 0 : 1); - } -diff -up texlive-base-20170520/source/texk/lcdf-typetools/lcdf-typetools-src/otftotfm/otftotfm.hh.git4166ff9 texlive-base-20170520/source/texk/lcdf-typetools/lcdf-typetools-src/otftotfm/otftotfm.hh ---- texlive-base-20170520/source/texk/lcdf-typetools/lcdf-typetools-src/otftotfm/otftotfm.hh.git4166ff9 2016-11-25 13:08:53.000000000 -0500 -+++ texlive-base-20170520/source/texk/lcdf-typetools/lcdf-typetools-src/otftotfm/otftotfm.hh 2018-02-23 12:47:54.094971678 -0500 -@@ -11,11 +11,11 @@ String suffix_font_name(const String &fo - String installed_metrics_font_name(const String &font_name, const String &secondary); - - void output_metrics(Metrics &metrics, const String &ps_name, int boundary_char, -- const FontInfo &finfo, -- const String &encoding_name, const String &encoding_file, -- const String &font_name, -- String (*dvips_include)(const String &ps_name, const FontInfo &, ErrorHandler *), -- ErrorHandler *errh); -+ const FontInfo &finfo, -+ const String &encoding_name, const String &encoding_file, -+ const String &font_name, -+ String (*dvips_include)(const String &ps_name, const FontInfo &, ErrorHandler *), -+ ErrorHandler *errh); - - double font_cap_height(const FontInfo &, const Transform &); - double font_ascender(const FontInfo &, const Transform &); -diff -up texlive-base-20170520/source/texk/lcdf-typetools/lcdf-typetools-src/otftotfm/secondary.cc.git4166ff9 texlive-base-20170520/source/texk/lcdf-typetools/lcdf-typetools-src/otftotfm/secondary.cc ---- texlive-base-20170520/source/texk/lcdf-typetools/lcdf-typetools-src/otftotfm/secondary.cc.git4166ff9 2016-11-25 13:08:53.000000000 -0500 -+++ texlive-base-20170520/source/texk/lcdf-typetools/lcdf-typetools-src/otftotfm/secondary.cc 2018-02-23 12:47:54.094971678 -0500 -@@ -1,6 +1,6 @@ - /* secondary.{cc,hh} -- code for generating fake glyphs - * -- * Copyright (c) 2003-2016 Eddie Kohler -+ * Copyright (c) 2003-2018 Eddie Kohler - * - * 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 -@@ -33,45 +33,43 @@ - #include - - enum { -- U_EXCLAMDOWN = 0x00A1, // U+00A1 INVERTED EXCLAMATION MARK -- U_DEGREE = 0x00B0, // U+00B0 DEGREE SIGN -- U_QUESTIONDOWN = 0x00BF, // U+00BF INVERTED QUESTION MARK -- U_IJ = 0x0132, // U+0132 LATIN CAPITAL LIGATURE IJ -- U_ij = 0x0133, // U+0133 LATIN SMALL LIGATURE IJ -- U_DOTLESSJ = 0x0237, // U+0237 LATIN SMALL LETTER DOTLESS J -- U_RINGABOVE = 0x02DA, // U+02DA RING ABOVE -+ U_EXCLAMDOWN = 0x00A1, // U+00A1 INVERTED EXCLAMATION MARK -+ U_DEGREE = 0x00B0, // U+00B0 DEGREE SIGN -+ U_QUESTIONDOWN = 0x00BF, // U+00BF INVERTED QUESTION MARK -+ U_IJ = 0x0132, // U+0132 LATIN CAPITAL LIGATURE IJ -+ U_ij = 0x0133, // U+0133 LATIN SMALL LIGATURE IJ -+ U_DOTLESSJ = 0x0237, // U+0237 LATIN SMALL LETTER DOTLESS J -+ U_RINGABOVE = 0x02DA, // U+02DA RING ABOVE - U_COMBININGRINGABOVE = 0x030A, // U+030A COMBINING RING ABOVE -- U_CWM = 0x200C, // U+200C ZERO WIDTH NON-JOINER -- U_ENDASH = 0x2013, // U+2013 EN DASH -- U_PERTENTHOUSAND = 0x2031, // U+2031 PER TEN THOUSAND SIGN -- U_INTERROBANG = 0x203D, // U+203D INTERROBANG -- U_FRACTION = 0x2044, // U+2044 FRACTION SLASH -- U_CENTIGRADE = 0x2103, // U+2103 DEGREE CELSIUS -- U_ASTERISKMATH = 0x2217, // U+2217 ASTERISK OPERATOR -- U_BARDBL = 0x2225, // U+2225 PARALLEL TO -- U_VISIBLESPACE = 0x2423, // U+2423 OPEN BOX -- U_DBLBRACKETLEFT = 0x27E6, // U+27E6 MATHEMATICAL LEFT WHITE SQUARE BRACKET -- U_DBLBRACKETRIGHT = 0x27E7, // U+27E7 MATHEMATICAL RIGHT WHITE SQUARE BRACKET -+ U_CWM = 0x200C, // U+200C ZERO WIDTH NON-JOINER -+ U_ENDASH = 0x2013, // U+2013 EN DASH -+ U_PERTENTHOUSAND = 0x2031, // U+2031 PER TEN THOUSAND SIGN -+ U_INTERROBANG = 0x203D, // U+203D INTERROBANG -+ U_FRACTION = 0x2044, // U+2044 FRACTION SLASH -+ U_CENTIGRADE = 0x2103, // U+2103 DEGREE CELSIUS -+ U_ASTERISKMATH = 0x2217, // U+2217 ASTERISK OPERATOR -+ U_BARDBL = 0x2225, // U+2225 PARALLEL TO -+ U_VISIBLESPACE = 0x2423, // U+2423 OPEN BOX -+ U_DBLBRACKETLEFT = 0x27E6, // U+27E6 MATHEMATICAL LEFT WHITE SQUARE BRACKET -+ U_DBLBRACKETRIGHT = 0x27E7, // U+27E7 MATHEMATICAL RIGHT WHITE SQUARE BRACKET - U_INTERROBANGDOWN = 0x2E18, // U+2E18 INVERTED INTERROBANG -- U_EMPTYSLOT = 0xD801, // invalid Unicode (not handled by Secondary) -- U_ALTSELECTOR = 0xD802, // invalid Unicode -- U_CAPITALCWM = 0xD809, // invalid Unicode -- U_ASCENDERCWM = 0xD80A, // invalid Unicode -- U_TWELVEUDASH = 0xD80C, // invalid Unicode -- U_RINGFITTED = 0xD80D, // invalid Unicode -+ U_ALTSELECTOR = 0xD802, // invalid Unicode -+ U_CAPITALCWM = 0xD809, // invalid Unicode -+ U_ASCENDERCWM = 0xD80A, // invalid Unicode -+ U_TWELVEUDASH = 0xD80C, // invalid Unicode -+ U_RINGFITTED = 0xD80D, // invalid Unicode - - // BEGIN BACKWARDS COMPATIBILITY -- newer texglyphlist.txt does not include - // these code points -- U_SS = 0xD800, // invalid Unicode -- U_SSSMALL = 0xD803, // invalid Unicode -- U_FFSMALL = 0xD804, // invalid Unicode -- U_FISMALL = 0xD805, // invalid Unicode -- U_FLSMALL = 0xD806, // invalid Unicode -- U_FFISMALL = 0xD807, // invalid Unicode -- U_FFLSMALL = 0xD808, // invalid Unicode -+ U_SS = 0xD800, // invalid Unicode -+ U_SSSMALL = 0xD803, // invalid Unicode -+ U_FFSMALL = 0xD804, // invalid Unicode -+ U_FISMALL = 0xD805, // invalid Unicode -+ U_FLSMALL = 0xD806, // invalid Unicode -+ U_FFISMALL = 0xD807, // invalid Unicode -+ U_FFLSMALL = 0xD808, // invalid Unicode - // END BACKWARDS COMPATIBILITY - -- U_USE_KERNX = 0xD80E, // invalid Unicode, not in maps - U_VS1 = 0xFE00, - U_VS16 = 0xFE0F, - U_VS17 = 0xE0100, -@@ -82,7 +80,7 @@ enum { - U_ISMALL = 0xF769, - U_LSMALL = 0xF76C, - U_SSMALL = 0xF773, -- U_MATHDOTLESSJ = 0x1D6A5 // U+1D6A5 MATHEMATICAL ITALIC SMALL DOTLESS J -+ U_MATHDOTLESSJ = 0x1D6A5 // U+1D6A5 MATHEMATICAL ITALIC SMALL DOTLESS J - }; - - -@@ -95,27 +93,27 @@ FontInfo::FontInfo(const Efont::OpenType - assert(cmap->ok()); - - if (String cff_string = otf->table("CFF")) { -- cff_file = new Efont::Cff(cff_string, otf->units_per_em(), errh); -- if (!cff_file->ok()) -- return; -- Efont::Cff::FontParent *fp = cff_file->font(PermString(), errh); -- if (!fp || !fp->ok()) -- return; -- if (!(cff = dynamic_cast(fp))) { -- errh->error("CID-keyed fonts not supported"); -- return; -- } -- _nglyphs = cff->nglyphs(); -+ cff_file = new Efont::Cff(cff_string, otf->units_per_em(), errh); -+ if (!cff_file->ok()) -+ return; -+ Efont::Cff::FontParent *fp = cff_file->font(PermString(), errh); -+ if (!fp || !fp->ok()) -+ return; -+ if (!(cff = dynamic_cast(fp))) { -+ errh->error("CID-keyed fonts not supported"); -+ return; -+ } -+ _nglyphs = cff->nglyphs(); - } - - if (!cff) { -- post = new Efont::OpenType::Post(otf->table("post"), errh); -- // read number of glyphs from 'maxp' -- should probably be elsewhere -- if (Efont::OpenType::Data maxp = otf->table("maxp")) -- if (maxp.length() >= 6) -- _nglyphs = maxp.u16(4); -- if (_nglyphs < 0 && post->ok()) -- _nglyphs = post->nglyphs(); -+ post = new Efont::OpenType::Post(otf->table("post"), errh); -+ // read number of glyphs from 'maxp' -- should probably be elsewhere -+ if (Efont::OpenType::Data maxp = otf->table("maxp")) -+ if (maxp.length() >= 6) -+ _nglyphs = maxp.u16(4); -+ if (_nglyphs < 0 && post->ok()) -+ _nglyphs = post->nglyphs(); - } - - name = new Efont::OpenType::Name(otf->table("name"), errh); -@@ -125,7 +123,6 @@ FontInfo::~FontInfo() - { - delete cmap; - delete cff_file; -- delete cff; - delete post; - delete name; - delete _ttb_program; -@@ -135,9 +132,9 @@ bool - FontInfo::ok() const - { - if (cff) -- return cmap->ok() && cff->ok(); -+ return cmap->ok() && cff->ok(); - else -- return post && post->ok() && name && name->ok(); -+ return post && post->ok() && name && name->ok(); - } - - bool -@@ -151,16 +148,16 @@ int - FontInfo::glyphid(PermString name) const - { - if (cff) -- return cff->glyphid(name); -+ return cff->glyphid(name); - else { -- if (!_got_glyph_names) { -- glyph_names(_glyph_names); -- _got_glyph_names = true; -- } -- PermString *found = std::find(_glyph_names.begin(), _glyph_names.end(), name); -- if (found == _glyph_names.end()) -- return 0; -- return found - _glyph_names.begin(); -+ if (!_got_glyph_names) { -+ glyph_names(_glyph_names); -+ _got_glyph_names = true; -+ } -+ PermString *found = std::find(_glyph_names.begin(), _glyph_names.end(), name); -+ if (found == _glyph_names.end()) -+ return 0; -+ return found - _glyph_names.begin(); - } - } - -@@ -168,29 +165,29 @@ String - FontInfo::family_name() const - { - if (cff) -- return cff->dict_string(Efont::Cff::oFamilyName); -+ return cff->dict_string(Efont::Cff::oFamilyName); - else -- return name->english_name(Efont::OpenType::Name::N_FAMILY); -+ return name->english_name(Efont::OpenType::Name::N_FAMILY); - } - - String - FontInfo::postscript_name() const - { - if (cff) -- return cff->font_name(); -+ return cff->font_name(); - else -- return name->english_name(Efont::OpenType::Name::N_POSTSCRIPT); -+ return name->english_name(Efont::OpenType::Name::N_POSTSCRIPT); - } - - const Efont::CharstringProgram * - FontInfo::program() const - { - if (cff) -- return cff; -+ return cff; - else { -- if (!_ttb_program) -- _ttb_program = new Efont::TrueTypeBoundsCharstringProgram(otf); -- return _ttb_program; -+ if (!_ttb_program) -+ _ttb_program = new Efont::TrueTypeBoundsCharstringProgram(otf); -+ return _ttb_program; - } - } - -@@ -198,25 +195,25 @@ bool - FontInfo::is_fixed_pitch() const - { - if (_override_is_fixed_pitch) -- return _is_fixed_pitch; -+ return _is_fixed_pitch; - else if (cff) { -- double d; -- return (cff->dict_value(Efont::Cff::oIsFixedPitch, &d) && d); -+ double d; -+ return (cff->dict_value(Efont::Cff::oIsFixedPitch, &d) && d); - } else -- return post->is_fixed_pitch(); -+ return post->is_fixed_pitch(); - } - - double - FontInfo::italic_angle() const - { - if (_override_italic_angle) -- return _italic_angle; -+ return _italic_angle; - else if (cff) { -- double d; -- (void) cff->dict_value(Efont::Cff::oItalicAngle, &d); -- return d; -+ double d; -+ (void) cff->dict_value(Efont::Cff::oItalicAngle, &d); -+ return d; - } else -- return post->italic_angle(); -+ return post->italic_angle(); - } - - double FontInfo::x_height(const Transform& font_xform) const { -@@ -224,8 +221,8 @@ double FontInfo::x_height(const Transfor - return _x_height; - double x1 = -1, x2 = -1; - if (_override_x_height != x_height_os2) -- // XXX what if 'x', 'm', 'z' were subject to substitution? -- x1 = char_one_bound(*this, font_xform, 3, false, units_per_em(), -+ // XXX what if 'x', 'm', 'z' were subject to substitution? -+ x1 = char_one_bound(*this, font_xform, 3, false, units_per_em(), - (int) 'x', (int) 'm', (int) 'z', 0); - if (_override_x_height != x_height_x) - try { -@@ -234,8 +231,10 @@ double FontInfo::x_height(const Transfor - } catch (Efont::OpenType::Bounds) { - } - static bool warned = false; -- if (_override_x_height == x_height_auto && x1 >= 0 && x2 >= 0 -- && fabs(x1 - x2) > units_per_em() / 100.) { -+ if (_override_x_height == x_height_auto -+ && x1 >= 0 -+ && x2 >= 0 -+ && fabs(x1 - x2) > units_per_em() / 50.) { - if (!warned) { - ErrorHandler* errh = ErrorHandler::default_handler(); - errh->warning("font x-height and height of % differ by %d%%", (int) (fabs(x1 - x2) * 100 / units_per_em())); -@@ -256,115 +255,82 @@ Secondary::~Secondary() - - bool - Secondary::encode_uni(int code, PermString name, -- const uint32_t *uni_begin, const uint32_t *uni_end, -- Metrics &metrics, ErrorHandler *errh) -+ const uint32_t* uni_begin, const uint32_t* uni_end, -+ Metrics &metrics, ErrorHandler *errh) - { -+ uint32_t uni = 0; - if (uni_begin + 1 == uni_end) -- return encode_uni(code, name, *uni_begin, metrics, errh); -- else { -- Vector v; -- int max_s = 0; -- while (uni_begin != uni_end) { -- Vector subv; -- int s = setting(*uni_begin, subv, metrics, errh); -- if (s == 0) -- return false; -- if (subv.size() && v.size()) -- v.push_back(Setting(Setting::KERN)); -- for (Vector::const_iterator it = subv.begin(); -- it != subv.end(); ++it) -- v.push_back(*it); -- max_s = (max_s > s ? max_s : s); -- ++uni_begin; -- } -- metrics.encode_virtual(code, name, 0, v, max_s > 1); -- return true; -+ uni = *uni_begin; -+ -+ SettingSet set(this, metrics); -+ int max_s = 0; -+ while (uni_begin != uni_end) { -+ int s = setting(*uni_begin, set, errh); -+ if (s == 0) -+ return false; -+ max_s = (max_s > s ? max_s : s); -+ ++uni_begin; -+ set.checkpoint(); - } --} - --bool --Secondary::encode_uni(int code, PermString name, uint32_t uni, Metrics &metrics, ErrorHandler *errh) --{ -- Vector v; -- if (int s = setting(uni, v, metrics, errh)) { -- metrics.encode_virtual(code, name, uni, v, s > 1); -- return true; -- } else if (_next) -- return _next->encode_uni(code, name, uni, metrics, errh); -- else -- return false; -+ if (uni == U_ALTSELECTOR -+ || (uni >= U_VS1 && uni <= U_VS16) -+ || (uni >= U_VS17 && uni <= U_VS256)) { -+ int selector = 0; -+ if (uni >= U_VS1 && uni <= U_VS16) -+ selector = uni - U_VS1 + 1; -+ else if (uni >= U_VS17 && uni <= U_VS256) -+ selector = uni - U_VS17 + 17; -+ metrics.add_altselector_code(code, selector); -+ name = selector ? permprintf("", selector) : PermString(""); -+ } -+ -+ metrics.encode_virtual(code, name, 0, set.settings(), max_s > 1); -+ return true; - } - - T1Secondary::T1Secondary(const FontInfo &finfo, const String &font_name, -- const String &otf_file_name) -- : _finfo(finfo), _font_name(font_name), _otf_file_name(otf_file_name), -+ const String &otf_file_name) -+ : Secondary(finfo), _font_name(font_name), _otf_file_name(otf_file_name), - _units_per_em(finfo.units_per_em()), - _xheight((int) ceil(finfo.x_height(Transform()))), - _spacewidth(_units_per_em) - { - double bounds[4], width; - if (char_bounds(bounds, width, finfo, Transform(), ' ')) -- _spacewidth = (int) ceil(width); -+ _spacewidth = (int) ceil(width); - } - - int --Secondary::setting(uint32_t uni, Vector &v, Metrics &metrics, ErrorHandler *errh) -+Secondary::setting(uint32_t uni, SettingSet& set, ErrorHandler *errh) - { - if (_next) -- return _next->setting(uni, v, metrics, errh); -+ return _next->setting(uni, set, errh); - else -- return 0; -+ return 0; - } - --bool --T1Secondary::char_setting(Vector &v, Metrics &metrics, int uni, ...) --{ -- Vector codes; -- -- // collect codes -- va_list val; -- va_start(val, uni); -- -- int kerntype = Setting::KERN; -- if (uni == U_USE_KERNX) { -- kerntype = Setting::KERNX; -- uni = va_arg(val, int); -- } -- -- for (; uni; uni = va_arg(val, int)) { -- int code = metrics.unicode_encoding(uni); -- if (code < 0) { -- Glyph glyph = _finfo.cmap->map_uni(uni); -- if (glyph == 0 || (code = metrics.force_encoding(glyph)) < 0) -- return false; -- } -- codes.push_back(code); -- } -- va_end(val); -- -- // generate setting -- for (int i = 0; i < codes.size(); i++) { -- if (i) -- v.push_back(Setting(kerntype)); -- v.push_back(Setting(Setting::SHOW, codes[i], metrics.base_glyph(codes[i]))); -+SettingSet& SettingSet::show(int uni) { -+ if (!ok_) -+ return *this; -+ int code = metrics_.unicode_encoding(uni); -+ if (code < 0) { -+ Glyph glyph = s_->_finfo.cmap->map_uni(uni); -+ if (glyph != 0) -+ code = metrics_.force_encoding(glyph); -+ } -+ if (code < 0) { -+ ok_ = false; -+ while (v_.size() > original_size_) -+ v_.pop_back(); -+ } else { -+ if (!v_.empty() -+ && v_.back().op == Setting::SHOW -+ && kern_type_) -+ v_.push_back(Setting(kern_type_)); -+ v_.push_back(Setting(Setting::SHOW, code, metrics_.base_glyph(code))); - } -- return true; --} -- --bool --T1Secondary::encode_uni(int code, PermString name, uint32_t uni, Metrics &metrics, ErrorHandler *errh) --{ -- if (uni == U_ALTSELECTOR -- || (uni >= U_VS1 && uni <= U_VS16) -- || (uni >= U_VS17 && uni <= U_VS256)) { -- Vector v; -- setting(uni, v, metrics, errh); -- int which = (uni == U_ALTSELECTOR ? 0 : (uni <= U_VS16 ? uni - U_VS1 + 1 : uni - U_VS17 + 17)); -- metrics.encode_virtual(code, (which ? permprintf("", which) : PermString("")), uni, v, false); -- metrics.add_altselector_code(code, which); -- return true; -- } else -- return Secondary::encode_uni(code, name, uni, metrics, errh); -+ return *this; - } - - -@@ -380,355 +346,333 @@ int - T1Secondary::dotlessj_font(Metrics &metrics, ErrorHandler *errh, Glyph &dj_glyph) - { - if (!_font_name || !_finfo.otf || !_finfo.cff) -- return -1; -+ return -1; - - String dj_name; - bool install_metrics; - // XXX make sure dotlessj is for the main font? - if ((dj_name = installed_metrics_font_name(_font_name, "dotlessj"))) -- install_metrics = false; -+ install_metrics = false; - else { -- dj_name = suffix_font_name(_font_name, "--lcdfj"); -- install_metrics = true; -+ dj_name = suffix_font_name(_font_name, "--lcdfj"); -+ install_metrics = true; - } - - // is dotlessj already mapped? - for (int i = 0; i < metrics.n_mapped_fonts(); i++) -- if (metrics.mapped_font_name(i) == dj_name) -- return i; -+ if (metrics.mapped_font_name(i) == dj_name) -+ return i; - - if (String filename = installed_type1_dotlessj(_otf_file_name, _finfo.cff->font_name(), (output_flags & G_DOTLESSJ), errh)) { - -- // check for special case: "\0" means the font's "j" is already -- // dotless -- if (filename == String("\0", 1)) -- return J_NODOT; -- -- // open dotless-j font file -- FILE *f = fopen(filename.c_str(), "rb"); -- if (!f) { -- errh->error("%s: %s", filename.c_str(), strerror(errno)); -- return -1; -- } -- -- // read font -- Efont::Type1Reader *reader; -- int c = getc(f); -- ungetc(c, f); -- if (c == 128) -- reader = new Efont::Type1PFBReader(f); -- else -- reader = new Efont::Type1PFAReader(f); -- Efont::Type1Font *font = new Efont::Type1Font(*reader); -- delete reader; -- -- if (!font->ok()) { -- errh->error("%s: no glyphs in dotless-J font", filename.c_str()); -- delete font; -- return -1; -- } -- -- // find dotless-J character -- Vector glyph_names; -- font->glyph_names(glyph_names); -- Vector::iterator g = std::find(glyph_names.begin(), glyph_names.end(), "uni0237"); -- if (g == glyph_names.end()) { -- errh->error("%s: dotless-J font has no % glyph", filename.c_str()); -- delete font; -- return -1; -- } -- dj_glyph = g - glyph_names.begin(); -- -- // create metrics for dotless-J -- if (install_metrics) { -- Metrics dj_metrics(font, 256); -- dj_metrics.encode('j', U_DOTLESSJ, dj_glyph); -- ::dotlessj_file_name = filename; -- output_metrics(dj_metrics, font->font_name(), -1, _finfo, String(), String(), dj_name, dotlessj_dvips_include, errh); -- } else if (verbose) -- errh->message("using %<%s%> for dotless-J font metrics", dj_name.c_str()); -+ // check for special case: "\0" means the font's "j" is already -+ // dotless -+ if (filename == String("\0", 1)) -+ return J_NODOT; -+ -+ // open dotless-j font file -+ FILE *f = fopen(filename.c_str(), "rb"); -+ if (!f) { -+ errh->error("%s: %s", filename.c_str(), strerror(errno)); -+ return -1; -+ } - -- // add font to metrics -- return metrics.add_mapped_font(font, dj_name); -+ // read font -+ Efont::Type1Reader *reader; -+ int c = getc(f); -+ ungetc(c, f); -+ if (c == 128) -+ reader = new Efont::Type1PFBReader(f); -+ else -+ reader = new Efont::Type1PFAReader(f); -+ Efont::Type1Font *font = new Efont::Type1Font(*reader); -+ delete reader; -+ -+ if (!font->ok()) { -+ errh->error("%s: no glyphs in dotless-J font", filename.c_str()); -+ delete font; -+ return -1; -+ } -+ -+ // find dotless-J character -+ Vector glyph_names; -+ font->glyph_names(glyph_names); -+ Vector::iterator g = std::find(glyph_names.begin(), glyph_names.end(), "uni0237"); -+ if (g == glyph_names.end()) { -+ errh->error("%s: dotless-J font has no % glyph", filename.c_str()); -+ delete font; -+ return -1; -+ } -+ dj_glyph = g - glyph_names.begin(); -+ -+ // create metrics for dotless-J -+ if (install_metrics) { -+ Metrics dj_metrics(font, 256); -+ dj_metrics.encode('j', U_DOTLESSJ, dj_glyph); -+ ::dotlessj_file_name = filename; -+ output_metrics(dj_metrics, font->font_name(), -1, _finfo, String(), String(), dj_name, dotlessj_dvips_include, errh); -+ } else if (verbose) -+ errh->message("using %<%s%> for dotless-J font metrics", dj_name.c_str()); -+ -+ // add font to metrics -+ return metrics.add_mapped_font(font, dj_name); - - } else -- return -1; -+ return -1; - } - - int --T1Secondary::setting(uint32_t uni, Vector &v, Metrics &metrics, ErrorHandler *errh) -+T1Secondary::setting(uint32_t uni, SettingSet& set, ErrorHandler *errh) - { - Transform xform; -- int vsize = v.size(); - extern int letterspace; - -- if (char_setting(v, metrics, uni, 0)) -- return 1; -+ if (set.show(uni).check()) -+ return 1; - - switch (uni) { - - case U_CWM: - case U_ALTSELECTOR: -- v.push_back(Setting(Setting::RULE, 0, _xheight)); -- return 1; -+ set.push_back(Setting::RULE, 0, _xheight); -+ return 1; - - case U_CAPITALCWM: -- v.push_back(Setting(Setting::RULE, 0, font_cap_height(_finfo, xform))); -- return 1; -+ set.push_back(Setting::RULE, 0, font_cap_height(_finfo, xform)); -+ return 1; - - case U_ASCENDERCWM: -- v.push_back(Setting(Setting::RULE, 0, font_ascender(_finfo, xform))); -- return 1; -+ set.push_back(Setting::RULE, 0, font_ascender(_finfo, xform)); -+ return 1; - - case U_VISIBLESPACE: { - int sb = (int) (0.050 * _units_per_em), h = (int) (0.150 * _units_per_em), - lw = (int) (0.040 * _units_per_em); -- v.push_back(Setting(Setting::MOVE, sb, -h)); -- v.push_back(Setting(Setting::RULE, lw, h)); -- v.push_back(Setting(Setting::RULE, _spacewidth, lw)); -- v.push_back(Setting(Setting::RULE, lw, h)); -- v.push_back(Setting(Setting::MOVE, sb, h)); -- return 2; -- } -- -- case U_SS: -- if (char_setting(v, metrics, 'S', 'S', 0)) -- return 1; -- break; -- -- case U_SSSMALL: -- if (char_setting(v, metrics, U_SSMALL, U_SSMALL, 0)) -- return 1; -- else if (char_setting(v, metrics, 's', 's', 0)) -- return 1; -- break; -+ set.move(sb, -h); -+ set.push_back(Setting::RULE, lw, h); -+ set.push_back(Setting::RULE, _spacewidth, lw); -+ set.push_back(Setting::RULE, lw, h); -+ set.move(sb, h); -+ return 2; -+ } -+ -+ case U_SS: -+ if (set.show('S').show('S').check()) -+ return 1; -+ break; -+ -+ case U_SSSMALL: -+ if (set.show(U_SSMALL).show(U_SSMALL).check() -+ || set.show('s').show('s').check()) -+ return 1; -+ break; - - case U_FFSMALL: -- if (char_setting(v, metrics, U_FSMALL, U_FSMALL, 0)) -- return 1; -- else if (char_setting(v, metrics, 'f', 'f', 0)) -- return 1; -- break; -+ if (set.show(U_FSMALL).show(U_FSMALL).check() -+ || set.show('f').show('f').check()) -+ return 1; -+ break; - - case U_FISMALL: -- if (char_setting(v, metrics, U_FSMALL, U_ISMALL, 0)) -- return 1; -- else if (char_setting(v, metrics, 'f', 'i', 0)) -- return 1; -- break; -+ if (set.show(U_FSMALL).show(U_ISMALL).check() -+ || set.show('f').show('i').check()) -+ return 1; -+ break; - - case U_FLSMALL: -- if (char_setting(v, metrics, U_FSMALL, U_LSMALL, 0)) -- return 1; -- else if (char_setting(v, metrics, 'f', 'l', 0)) -- return 1; -- break; -+ if (set.show(U_FSMALL).show(U_LSMALL).check() -+ || set.show('f').show('l').check()) -+ return 1; -+ break; - - case U_FFISMALL: -- if (char_setting(v, metrics, U_FSMALL, U_FSMALL, U_ISMALL, 0)) -- return 1; -- else if (char_setting(v, metrics, 'f', 'f', 'i', 0)) -- return 1; -- break; -+ if (set.show(U_FSMALL).show(U_FSMALL).show(U_ISMALL).check() -+ || set.show('f').show('f').show('i').check()) -+ return 1; -+ break; - - case U_FFLSMALL: -- if (char_setting(v, metrics, U_FSMALL, U_FSMALL, U_LSMALL, 0)) -- return 1; -- else if (char_setting(v, metrics, 'f', 'f', 'l', 0)) -- return 1; -- break; -+ if (set.show(U_FSMALL).show(U_FSMALL).show(U_LSMALL).check() -+ || set.show('f').show('f').show('l').check()) -+ return 1; -+ break; - - case U_IJ: -- if (char_setting(v, metrics, 'I', 'J', 0)) -- return 1; -- break; -+ if (set.show('I').show('J').check()) -+ return 1; -+ break; - - case U_ij: -- if (char_setting(v, metrics, 'i', 'j', 0)) -- return 1; -- break; -+ if (set.show('i').show('j').check()) -+ return 1; -+ break; - - case U_DOTLESSJ: - case U_DOTLESSJ_2: - case U_MATHDOTLESSJ: { -- Glyph dj_glyph; -- int which = dotlessj_font(metrics, errh, dj_glyph); -- if (which >= 0) { -- v.push_back(Setting(Setting::FONT, which)); -- v.push_back(Setting(Setting::SHOW, 'j', dj_glyph)); -- return 2; -- } else if (which == J_NODOT && char_setting(v, metrics, 'j', 0)) -- return 1; -- break; -+ Glyph dj_glyph; -+ int which = dotlessj_font(set.metrics(), errh, dj_glyph); -+ if (which >= 0) { -+ set.push_back(Setting::FONT, which); -+ set.push_back(Setting::SHOW, 'j', dj_glyph); -+ return 2; -+ } else if (which == J_NODOT && set.show('j').check()) -+ return 1; -+ break; - } - - case U_DBLBRACKETLEFT: -- if (char_setting(v, metrics, '[', 0)) { -- if (!_finfo.is_fixed_pitch()) { -- double d = char_one_bound(_finfo, xform, 4, true, 0, '[', 0); -- v.push_back(Setting(Setting::MOVE, (int) (-0.666 * d - letterspace), 0)); -- } -- char_setting(v, metrics, '[', 0); -- return 1; -- } -- break; -+ if (set.show('[').check()) { -+ if (!_finfo.is_fixed_pitch()) { -+ double d = char_one_bound(_finfo, xform, 4, true, 0, '[', 0); -+ set.move((int) (-0.666 * d - letterspace)); -+ } -+ set.show('['); -+ return 1; -+ } -+ break; - - case U_DBLBRACKETRIGHT: -- if (char_setting(v, metrics, ']', 0)) { -- if (!_finfo.is_fixed_pitch()) { -- double d = char_one_bound(_finfo, xform, 4, true, 0, ']', 0); -- v.push_back(Setting(Setting::MOVE, (int) (-0.666 * d - letterspace), 0)); -- } -- char_setting(v, metrics, ']', 0); -- return 1; -- } -- break; -+ if (set.show(']').check()) { -+ if (!_finfo.is_fixed_pitch()) { -+ double d = char_one_bound(_finfo, xform, 4, true, 0, ']', 0); -+ set.move((int) (-0.666 * d - letterspace)); -+ } -+ set.show(']'); -+ return 1; -+ } -+ break; - - case U_BARDBL: -- if (char_setting(v, metrics, '|', 0)) { -- if (!_finfo.is_fixed_pitch()) { -- double d = char_one_bound(_finfo, Transform(), 4, true, 0, '|', 0); -- v.push_back(Setting(Setting::MOVE, (int) (-0.333 * d - letterspace), 0)); -- } -- char_setting(v, metrics, '|', 0); -- return 1; -- } -- break; -+ if (set.show('|').check()) { -+ if (!_finfo.is_fixed_pitch()) { -+ double d = char_one_bound(_finfo, Transform(), 4, true, 0, '|', 0); -+ set.move((int) (-0.333 * d - letterspace)); -+ } -+ set.show('|'); -+ return 1; -+ } -+ break; - - case U_ASTERISKMATH: { -- double bounds[5]; -- double dropdown = 0; -- if (char_bounds(bounds, bounds[4], _finfo, xform, '*')) -- dropdown += std::max(bounds[3], 0.) + std::min(bounds[1], 0.); -- if (char_bounds(bounds, bounds[4], _finfo, xform, '(')) -- dropdown -= std::max(bounds[3], 0.) + std::min(bounds[1], 0.); -- v.push_back(Setting(Setting::MOVE, 0, (int) (-dropdown / 2))); -- if (char_setting(v, metrics, '*', 0)) { -- v.push_back(Setting(Setting::MOVE, 0, -(int) (-dropdown / 2))); -- return 1; -- } -- break; -+ double bounds[5]; -+ double dropdown = 0; -+ if (char_bounds(bounds, bounds[4], _finfo, xform, '*')) -+ dropdown += std::max(bounds[3], 0.) + std::min(bounds[1], 0.); -+ if (char_bounds(bounds, bounds[4], _finfo, xform, '(')) -+ dropdown -= std::max(bounds[3], 0.) + std::min(bounds[1], 0.); -+ int dy = (int) (-dropdown / 2); -+ if (set.move(0, dy).show('*').move(0, -dy).check()) -+ return 1; -+ break; - } - - case U_TWELVEUDASH: -- if (char_setting(v, metrics, U_ENDASH, 0)) { -- if (!_finfo.is_fixed_pitch()) { -- double d = char_one_bound(_finfo, xform, 4, true, 0, U_ENDASH, 0); -- v.push_back(Setting(Setting::MOVE, (int) (_units_per_em * 0.667 - 2 * d - letterspace), 0)); -- } -- char_setting(v, metrics, U_ENDASH, 0); -- return 1; -- } -- break; -+ if (set.show(U_ENDASH).check()) { -+ if (!_finfo.is_fixed_pitch()) { -+ double d = char_one_bound(_finfo, xform, 4, true, 0, U_ENDASH, 0); -+ set.move((int) (_units_per_em * 0.667 - 2 * d - letterspace)); -+ } -+ set.show(U_ENDASH); -+ return 1; -+ } -+ break; - - case U_THREEQUARTERSEMDASH: -- if (char_setting(v, metrics, U_ENDASH, 0)) { -- if (!_finfo.is_fixed_pitch()) { -- double d = char_one_bound(_finfo, xform, 4, true, 0, U_ENDASH, 0); -- v.push_back(Setting(Setting::MOVE, (int) (_units_per_em * 0.750 - 2 * d - letterspace), 0)); -- } -- char_setting(v, metrics, U_ENDASH, 0); -- return 1; -- } -- break; -+ if (set.show(U_ENDASH).check()) { -+ if (!_finfo.is_fixed_pitch()) { -+ double d = char_one_bound(_finfo, xform, 4, true, 0, U_ENDASH, 0); -+ set.move((int) (_units_per_em * 0.750 - 2 * d - letterspace)); -+ } -+ set.show(U_ENDASH); -+ return 1; -+ } -+ break; - - case U_CENTIGRADE: - // TODO: set italic correction to that of a 'C' -- if (char_setting(v, metrics, U_USE_KERNX, U_DEGREE, 'C', 0)) -- return 1; -- break; -+ if (set.show(U_DEGREE).kernx(true).show('C').kernx(false).check()) -+ return 1; -+ break; - - case U_INTERROBANG: { -- double exclam_offset = -- (char_one_bound(_finfo, xform, 4, true, 0, '?', 0) -- - char_one_bound(_finfo, xform, 4, true, 0, '!', 0)) * 0.5 -+ double exclam_offset = -+ (char_one_bound(_finfo, xform, 4, true, 0, '?', 0) -+ - char_one_bound(_finfo, xform, 4, true, 0, '!', 0)) * 0.5 - + 0.050 * _units_per_em; -- v.push_back(Setting(Setting::PUSH)); -- v.push_back(Setting(Setting::MOVE, (int) exclam_offset, 0)); -- if (char_setting(v, metrics, '!', 0)) { -- v.push_back(Setting(Setting::POP)); -- if (char_setting(v, metrics, '?', 0)) -- return 1; -- } -- break; -+ if (set.push_back(Setting::PUSH).move((int) exclam_offset) -+ .show('!').push_back(Setting::POP).show('?').check()) -+ return 1; -+ break; - } - - case U_INTERROBANGDOWN: { -- double exclam_offset = -- (char_one_bound(_finfo, xform, 4, true, 0, U_QUESTIONDOWN, 0) -- - char_one_bound(_finfo, xform, 4, true, 0, U_EXCLAMDOWN, 0)) * 0.5 -+ double exclam_offset = -+ (char_one_bound(_finfo, xform, 4, true, 0, U_QUESTIONDOWN, 0) -+ - char_one_bound(_finfo, xform, 4, true, 0, U_EXCLAMDOWN, 0)) * 0.5 - + 0.050 * _units_per_em; -- v.push_back(Setting(Setting::PUSH)); -- v.push_back(Setting(Setting::MOVE, (int) exclam_offset, 0)); -- if (char_setting(v, metrics, U_EXCLAMDOWN, 0)) { -- v.push_back(Setting(Setting::POP)); -- if (char_setting(v, metrics, U_QUESTIONDOWN, 0)) -- return 1; -- } -- break; -+ if (set.push_back(Setting::PUSH).move((int) exclam_offset) -+ .show(U_EXCLAMDOWN).push_back(Setting::POP).show(U_QUESTIONDOWN).check()) -+ return 1; -+ break; - } - - case U_PERTENTHOUSAND: -- if (char_setting(v, metrics, U_USE_KERNX, 0xF661, U_FRACTION, 0xF655, 0xF655, 0xF655, 0)) -- return 1; -- break; -+ if (set.show(0xF661).kernx(true).show(U_FRACTION) -+ .show(0xF655).show(0xF655).show(0xF655).kernx(false).check()) -+ return 1; -+ break; - - case U_RINGFITTED: { -- int A_width = char_one_bound(_finfo, xform, 4, true, -_units_per_em, 'A', 0); -- uint32_t ring_char = U_RINGABOVE; -- int ring_width = char_one_bound(_finfo, xform, 4, true, -_units_per_em, ring_char, 0); -- if (ring_width <= -_units_per_em) { -- ring_char = U_COMBININGRINGABOVE; -- ring_width = char_one_bound(_finfo, xform, 4, true, -_units_per_em, ring_char, 0); -- } -- if (A_width > -_units_per_em && ring_width > -_units_per_em) { -- int offset = (A_width - ring_width) / 2; -- v.push_back(Setting(Setting::MOVE, offset, 0)); -- if (char_setting(v, metrics, ring_char, 0)) { -- v.push_back(Setting(Setting::MOVE, A_width - ring_width - offset, 0)); -- return 1; -- } -- } -- break; -+ int A_width = char_one_bound(_finfo, xform, 4, true, -_units_per_em, 'A', 0); -+ uint32_t ring_char = U_RINGABOVE; -+ int ring_width = char_one_bound(_finfo, xform, 4, true, -_units_per_em, ring_char, 0); -+ if (ring_width <= -_units_per_em) { -+ ring_char = U_COMBININGRINGABOVE; -+ ring_width = char_one_bound(_finfo, xform, 4, true, -_units_per_em, ring_char, 0); -+ } -+ if (A_width > -_units_per_em && ring_width > -_units_per_em) { -+ int offset = (A_width - ring_width) / 2; -+ if (set.move(offset).show(ring_char).move(A_width - ring_width - offset).check()) { -+ return 1; -+ } -+ } -+ break; - } - - } - -- // didn't find a good setting, restore v to pristine state -- while (v.size() > vsize) -- v.pop_back(); -- - // variant selectors get the same setting as ALTSELECTOR - if ((uni >= U_VS1 && uni <= U_VS16) || (uni >= U_VS17 && uni <= U_VS256)) -- return setting(U_ALTSELECTOR, v, metrics, errh); -+ return setting(U_ALTSELECTOR, set, errh); - - // otherwise, try other secondaries -- return Secondary::setting(uni, v, metrics, errh); -+ return Secondary::setting(uni, set, errh); - } - - - bool - char_bounds(double bounds[4], double& width, const FontInfo &finfo, -- const Transform &transform, uint32_t uni) -+ const Transform &transform, uint32_t uni) - { - if (Efont::OpenType::Glyph g = finfo.cmap->map_uni(uni)) -- return Efont::CharstringBounds::bounds(transform, finfo.program()->glyph_context(g), bounds, width); -+ return Efont::CharstringBounds::bounds(transform, finfo.program()->glyph_context(g), bounds, width); - else -- return false; -+ return false; - } - - double - char_one_bound(const FontInfo &finfo, const Transform &transform, -- int dimen, bool max, double best, int uni, ...) -+ int dimen, bool max, double best, int uni, ...) - { - double bounds[5]; - va_list val; - va_start(val, uni); - while (uni != 0) { -- if (char_bounds(bounds, bounds[4], finfo, transform, uni)) -- if (max ? bounds[dimen] > best : bounds[dimen] < best) -- best = bounds[dimen]; -- uni = va_arg(val, int); -+ if (char_bounds(bounds, bounds[4], finfo, transform, uni)) -+ if (max ? bounds[dimen] > best : bounds[dimen] < best) -+ best = bounds[dimen]; -+ uni = va_arg(val, int); - } - va_end(val); - return best; -@@ -738,12 +682,12 @@ double - font_cap_height(const FontInfo &finfo, const Transform &font_xform) - { - try { -- Efont::OpenType::Os2 os2(finfo.otf->table("OS/2")); -- return os2.cap_height(); -+ Efont::OpenType::Os2 os2(finfo.otf->table("OS/2")); -+ return os2.cap_height(); - } catch (Efont::OpenType::Bounds) { -- // XXX what if 'H', 'O', 'B' were subject to substitution? -- return char_one_bound(finfo, font_xform, 3, false, finfo.units_per_em(), -- (int) 'H', (int) 'O', (int) 'B', 0); -+ // XXX what if 'H', 'O', 'B' were subject to substitution? -+ return char_one_bound(finfo, font_xform, 3, false, finfo.units_per_em(), -+ (int) 'H', (int) 'O', (int) 'B', 0); - } - } - -@@ -751,12 +695,12 @@ double - font_ascender(const FontInfo &finfo, const Transform &font_xform) - { - try { -- Efont::OpenType::Os2 os2(finfo.otf->table("OS/2")); -- return os2.typo_ascender(); -+ Efont::OpenType::Os2 os2(finfo.otf->table("OS/2")); -+ return os2.typo_ascender(); - } catch (Efont::OpenType::Bounds) { -- // XXX what if 'd', 'l' were subject to substitution? -- return char_one_bound(finfo, font_xform, 3, true, -- finfo.x_height(font_xform), -- (int) 'd', (int) 'l', 0); -+ // XXX what if 'd', 'l' were subject to substitution? -+ return char_one_bound(finfo, font_xform, 3, true, -+ finfo.x_height(font_xform), -+ (int) 'd', (int) 'l', 0); - } - } -diff -up texlive-base-20170520/source/texk/lcdf-typetools/lcdf-typetools-src/otftotfm/secondary.hh.git4166ff9 texlive-base-20170520/source/texk/lcdf-typetools/lcdf-typetools-src/otftotfm/secondary.hh ---- texlive-base-20170520/source/texk/lcdf-typetools/lcdf-typetools-src/otftotfm/secondary.hh.git4166ff9 2016-11-25 13:08:53.000000000 -0500 -+++ texlive-base-20170520/source/texk/lcdf-typetools/lcdf-typetools-src/otftotfm/secondary.hh 2018-02-23 12:47:54.094971678 -0500 -@@ -2,9 +2,10 @@ - #define OTFTOTFM_SECONDARY_HH - #include - #include -+#include "setting.hh" - class Metrics; -+class Secondary; - class Transform; --struct Setting; - namespace Efont { class TrueTypeBoundsCharstringProgram; } - - struct FontInfo { -@@ -23,12 +24,12 @@ struct FontInfo { - - bool ok() const; - -- int nglyphs() const { return _nglyphs; } -+ int nglyphs() const { return _nglyphs; } - bool glyph_names(Vector &) const; - int glyphid(PermString) const; - const Efont::CharstringProgram *program() const; - int units_per_em() const { -- return program()->units_per_em(); -+ return program()->units_per_em(); - } - - bool is_fixed_pitch() const; -@@ -36,12 +37,12 @@ struct FontInfo { - double x_height(const Transform& font_xform) const; - - void set_is_fixed_pitch(bool is_fixed_pitch) { -- _override_is_fixed_pitch = true; -- _is_fixed_pitch = is_fixed_pitch; -+ _override_is_fixed_pitch = true; -+ _is_fixed_pitch = is_fixed_pitch; - } - void set_italic_angle(double italic_angle) { -- _override_italic_angle = true; -- _italic_angle = italic_angle; -+ _override_italic_angle = true; -+ _italic_angle = italic_angle; - } - enum { x_height_auto = 0, x_height_explicit, - x_height_os2, x_height_x }; -@@ -69,38 +70,108 @@ struct FontInfo { - - }; - -+class SettingSet { -+public: -+ inline SettingSet(Secondary* s, Metrics& m); -+ inline SettingSet& push_back(Setting s); -+ inline SettingSet& push_back(int op, int x = 0, int y = 0); -+ inline SettingSet& move(int x, int y = 0); -+ SettingSet& show(int uni); -+ inline SettingSet& kernx(bool is_kernx); -+ inline bool check(); -+ inline void checkpoint(); -+ inline Metrics& metrics() const; -+ inline const Vector& settings() const; -+private: -+ Secondary* s_; -+ Vector v_; -+ int original_size_; -+ Metrics& metrics_; -+ int kern_type_; -+ bool ok_; -+ typedef Efont::OpenType::Glyph Glyph; -+}; -+ - class Secondary { public: -- Secondary() : _next(0) { } -+ Secondary(const FontInfo& finfo) : _finfo(finfo), _next(0) { } - virtual ~Secondary(); -- void set_next(Secondary *s) { _next = s; } -+ void set_next(Secondary *s) { _next = s; } - typedef Efont::OpenType::Glyph Glyph; -- bool encode_uni(int code, PermString name, const uint32_t *uni_begin, const uint32_t *uni_end, Metrics &metrics, ErrorHandler *errh); -- virtual bool encode_uni(int code, PermString name, uint32_t uni, Metrics &, ErrorHandler *); -- virtual int setting(uint32_t uni, Vector &, Metrics &, ErrorHandler *); -+ bool encode_uni(int code, PermString name, const uint32_t* uni_first, const uint32_t* uni_last, Metrics &metrics, ErrorHandler *errh); -+ inline bool encode_uni(int code, PermString name, uint32_t uni, Metrics& m, ErrorHandler* errh); -+ virtual int setting(uint32_t uni, SettingSet&, ErrorHandler *); -+ protected: -+ const FontInfo& _finfo; -+ -+ friend class SettingSet; - private: - Secondary *_next; - }; - - class T1Secondary : public Secondary { public: - T1Secondary(const FontInfo &, const String &font_name, const String &otf_file_name); -- bool encode_uni(int code, PermString name, uint32_t uni, Metrics &, ErrorHandler *); -- int setting(uint32_t uni, Vector &, Metrics &, ErrorHandler *); -+ int setting(uint32_t uni, SettingSet&, ErrorHandler *); - private: -- const FontInfo &_finfo; - String _font_name; - String _otf_file_name; - int _units_per_em; - int _xheight; - int _spacewidth; -- bool char_setting(Vector &, Metrics &, int uni, ...); - enum { J_NODOT = -1031892 /* unlikely value */ }; - int dotlessj_font(Metrics &, ErrorHandler *, Glyph &dj_glyph); - }; - - bool char_bounds(double bounds[4], double& width, const FontInfo &, -- const Transform &, uint32_t uni); -+ const Transform &, uint32_t uni); - - double char_one_bound(const FontInfo &, const Transform &, - int dimen, bool max, double best, int uni, ...); - -+inline SettingSet::SettingSet(Secondary* s, Metrics& m) -+ : s_(s), original_size_(0), metrics_(m), -+ kern_type_(Setting::KERN), ok_(true) { -+} -+ -+inline SettingSet& SettingSet::kernx(bool is_kernx) { -+ kern_type_ = is_kernx ? Setting::KERNX : Setting::KERN; -+ return *this; -+} -+ -+inline SettingSet& SettingSet::push_back(Setting s) { -+ if (ok_) -+ v_.push_back(s); -+ return *this; -+} -+ -+inline SettingSet& SettingSet::push_back(int op, int x, int y) { -+ return push_back(Setting(op, x, y)); -+} -+ -+inline SettingSet& SettingSet::move(int x, int y) { -+ return push_back(Setting(Setting::MOVE, x, y)); -+} -+ -+inline bool SettingSet::check() { -+ bool ok = ok_; -+ ok_ = true; -+ return ok; -+} -+ -+inline void SettingSet::checkpoint() { -+ assert(ok_); -+ original_size_ = v_.size(); -+} -+ -+inline Metrics& SettingSet::metrics() const { -+ return metrics_; -+} -+ -+inline const Vector& SettingSet::settings() const { -+ return v_; -+} -+ -+inline bool Secondary::encode_uni(int code, PermString name, uint32_t uni, Metrics& m, ErrorHandler* errh) { -+ return encode_uni(code, name, &uni, &uni + 1, m, errh); -+} -+ - #endif -diff -up texlive-base-20170520/source/texk/lcdf-typetools/lcdf-typetools-src/otftotfm/setting.hh.git4166ff9 texlive-base-20170520/source/texk/lcdf-typetools/lcdf-typetools-src/otftotfm/setting.hh ---- texlive-base-20170520/source/texk/lcdf-typetools/lcdf-typetools-src/otftotfm/setting.hh.git4166ff9 2018-02-23 12:59:25.406658041 -0500 -+++ texlive-base-20170520/source/texk/lcdf-typetools/lcdf-typetools-src/otftotfm/setting.hh 2018-02-23 12:59:10.984019250 -0500 -@@ -0,0 +1,18 @@ -+#ifndef OTFTOTFM_SETTING_HH -+#define OTFTOTFM_SETTING_HH -+#include -+ -+struct Setting { -+ enum { NONE, FONT, SHOW, KERN, KERNX, MOVE, RULE, PUSH, POP, -+ SPECIAL, DEAD }; -+ int op; -+ int x; -+ int y; -+ String s; -+ Setting(int op_in, int x_in = 0, int y_in = 0) -+ : op(op_in), x(x_in), y(y_in) { } -+ Setting(int op_in, const String &s_in) : op(op_in), s(s_in) { } -+ bool valid_op() const { return op >= FONT && op <= SPECIAL; } -+}; -+ -+#endif -diff -up texlive-base-20170520/source/texk/lcdf-typetools/lcdf-typetools-src/otftotfm/uniprop.cc.git4166ff9 texlive-base-20170520/source/texk/lcdf-typetools/lcdf-typetools-src/otftotfm/uniprop.cc ---- texlive-base-20170520/source/texk/lcdf-typetools/lcdf-typetools-src/otftotfm/uniprop.cc.git4166ff9 2016-11-25 13:08:53.000000000 -0500 -+++ texlive-base-20170520/source/texk/lcdf-typetools/lcdf-typetools-src/otftotfm/uniprop.cc 2018-02-23 12:47:54.095971653 -0500 -@@ -1,6 +1,6 @@ - /* uniprop.{cc,hh} -- code for Unicode character properties - * -- * Copyright (c) 2004-2016 Eddie Kohler -+ * Copyright (c) 2004-2018 Eddie Kohler - * - * 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 -@@ -25,12 +25,12 @@ const unsigned char UnicodeProperty::pro - 0, P_Lul, 48, P_Cn, 49, P_Lu, 87, P_Cn, 89, P_Lm, 90, P_Po, 96, P_Cn, 97, P_Ll, 136, P_Cn, 137, P_Po, 138, P_Pd, 139, P_Cn, 141, P_So, 143, P_Sc, 144, P_Cn, 145, P_Mn, 190, P_Pd, 191, P_Mn, 192, P_Po, 193, P_Mn, 195, P_Po, 196, P_Mn, 198, P_Po, 199, P_Mn, 200, P_Cn, 208, P_Lo, 235, P_Cn, 240, P_Lo, 243, P_Po, 245, P_Cn, - 0, P_Cf, 6, P_Sm, 9, P_Po, 11, P_Sc, 12, P_Po, 14, P_So, 16, P_Mn, 27, P_Po, 28, P_Cf, 29, P_Cn, 30, P_Po, 32, P_Lo, 64, P_Lm, 65, P_Lo, 75, P_Mn, 96, P_Nd, 106, P_Po, 110, P_Lo, 112, P_Mn, 113, P_Lo, 212, P_Po, 213, P_Lo, 214, P_Mn, 221, P_Cf, 222, P_So, 223, P_Mn, 229, P_Lm, 231, P_Mn, 233, P_So, 234, P_Mn, 238, P_Lo, 240, P_Nd, 250, P_Lo, 253, P_So, 255, P_Lo, - 0, P_Po, 14, P_Cn, 15, P_Cf, 16, P_Lo, 17, P_Mn, 18, P_Lo, 48, P_Mn, 75, P_Cn, 77, P_Lo, 166, P_Mn, 177, P_Lo, 178, P_Cn, 192, P_Nd, 202, P_Lo, 235, P_Mn, 244, P_Lm, 246, P_So, 247, P_Po, 250, P_Lm, 251, P_Cn, -- 0, P_Lo, 22, P_Mn, 26, P_Lm, 27, P_Mn, 36, P_Lm, 37, P_Mn, 40, P_Lm, 41, P_Mn, 46, P_Cn, 48, P_Po, 63, P_Cn, 64, P_Lo, 89, P_Mn, 92, P_Cn, 94, P_Po, 95, P_Cn, 160, P_Lo, 181, P_Cn, 227, P_Mn, -+ 0, P_Lo, 22, P_Mn, 26, P_Lm, 27, P_Mn, 36, P_Lm, 37, P_Mn, 40, P_Lm, 41, P_Mn, 46, P_Cn, 48, P_Po, 63, P_Cn, 64, P_Lo, 89, P_Mn, 92, P_Cn, 94, P_Po, 95, P_Cn, 160, P_Lo, 181, P_Cn, 182, P_Lo, 190, P_Cn, 212, P_Mn, 226, P_Cf, 227, P_Mn, - 0, P_Mn, 3, P_Mc, 4, P_Lo, 58, P_Mn, 59, P_Mc, 60, P_Mn, 61, P_Lo, 62, P_Mc, 65, P_Mn, 73, P_Mc, 77, P_Mn, 78, P_Mc, 80, P_Lo, 81, P_Mn, 88, P_Lo, 98, P_Mn, 100, P_Po, 102, P_Nd, 112, P_Po, 113, P_Lm, 114, P_Lo, 129, P_Mn, 130, P_Mc, 132, P_Cn, 133, P_Lo, 141, P_Cn, 143, P_Lo, 145, P_Cn, 147, P_Lo, 169, P_Cn, 170, P_Lo, 177, P_Cn, 178, P_Lo, 179, P_Cn, 182, P_Lo, 186, P_Cn, 188, P_Mn, 189, P_Lo, 190, P_Mc, 193, P_Mn, 197, P_Cn, 199, P_Mc, 201, P_Cn, 203, P_Mc, 205, P_Mn, 206, P_Lo, 207, P_Cn, 215, P_Mc, 216, P_Cn, 220, P_Lo, 222, P_Cn, 223, P_Lo, 226, P_Mn, 228, P_Cn, 230, P_Nd, 240, P_Lo, 242, P_Sc, 244, P_No, 250, P_So, 251, P_Sc, 252, P_Cn, - 0, P_Cn, 1, P_Mn, 3, P_Mc, 4, P_Cn, 5, P_Lo, 11, P_Cn, 15, P_Lo, 17, P_Cn, 19, P_Lo, 41, P_Cn, 42, P_Lo, 49, P_Cn, 50, P_Lo, 52, P_Cn, 53, P_Lo, 55, P_Cn, 56, P_Lo, 58, P_Cn, 60, P_Mn, 61, P_Cn, 62, P_Mc, 65, P_Mn, 67, P_Cn, 71, P_Mn, 73, P_Cn, 75, P_Mn, 78, P_Cn, 81, P_Mn, 82, P_Cn, 89, P_Lo, 93, P_Cn, 94, P_Lo, 95, P_Cn, 102, P_Nd, 112, P_Mn, 114, P_Lo, 117, P_Mn, 118, P_Cn, 129, P_Mn, 131, P_Mc, 132, P_Cn, 133, P_Lo, 142, P_Cn, 143, P_Lo, 146, P_Cn, 147, P_Lo, 169, P_Cn, 170, P_Lo, 177, P_Cn, 178, P_Lo, 180, P_Cn, 181, P_Lo, 186, P_Cn, 188, P_Mn, 189, P_Lo, 190, P_Mc, 193, P_Mn, 198, P_Cn, 199, P_Mn, 201, P_Mc, 202, P_Cn, 203, P_Mc, 205, P_Mn, 206, P_Cn, 208, P_Lo, 209, P_Cn, 224, P_Lo, 226, P_Mn, 228, P_Cn, 230, P_Nd, 240, P_Po, 241, P_Sc, 242, P_Cn, 249, P_Lo, 250, P_Cn, - 0, P_Cn, 1, P_Mn, 2, P_Mc, 4, P_Cn, 5, P_Lo, 13, P_Cn, 15, P_Lo, 17, P_Cn, 19, P_Lo, 41, P_Cn, 42, P_Lo, 49, P_Cn, 50, P_Lo, 52, P_Cn, 53, P_Lo, 58, P_Cn, 60, P_Mn, 61, P_Lo, 62, P_Mc, 63, P_Mn, 64, P_Mc, 65, P_Mn, 69, P_Cn, 71, P_Mc, 73, P_Cn, 75, P_Mc, 77, P_Mn, 78, P_Cn, 86, P_Mn, 87, P_Mc, 88, P_Cn, 92, P_Lo, 94, P_Cn, 95, P_Lo, 98, P_Mn, 100, P_Cn, 102, P_Nd, 112, P_So, 113, P_Lo, 114, P_No, 120, P_Cn, 130, P_Mn, 131, P_Lo, 132, P_Cn, 133, P_Lo, 139, P_Cn, 142, P_Lo, 145, P_Cn, 146, P_Lo, 150, P_Cn, 153, P_Lo, 155, P_Cn, 156, P_Lo, 157, P_Cn, 158, P_Lo, 160, P_Cn, 163, P_Lo, 165, P_Cn, 168, P_Lo, 171, P_Cn, 174, P_Lo, 186, P_Cn, 190, P_Mc, 192, P_Mn, 193, P_Mc, 195, P_Cn, 198, P_Mc, 201, P_Cn, 202, P_Mc, 205, P_Mn, 206, P_Cn, 208, P_Lo, 209, P_Cn, 215, P_Mc, 216, P_Cn, 230, P_Nd, 240, P_No, 243, P_So, 249, P_Sc, 250, P_So, 251, P_Cn, -- 0, P_Mn, 1, P_Mc, 4, P_Cn, 5, P_Lo, 13, P_Cn, 14, P_Lo, 17, P_Cn, 18, P_Lo, 41, P_Cn, 42, P_Lo, 58, P_Cn, 61, P_Lo, 62, P_Mn, 65, P_Mc, 69, P_Cn, 70, P_Mn, 73, P_Cn, 74, P_Mn, 78, P_Cn, 85, P_Mn, 87, P_Cn, 88, P_Lo, 91, P_Cn, 96, P_Lo, 98, P_Mn, 100, P_Cn, 102, P_Nd, 112, P_Cn, 120, P_No, 127, P_So, 128, P_Cn, 129, P_Mn, 130, P_Mc, 132, P_Cn, 133, P_Lo, 141, P_Cn, 142, P_Lo, 145, P_Cn, 146, P_Lo, 169, P_Cn, 170, P_Lo, 180, P_Cn, 181, P_Lo, 186, P_Cn, 188, P_Mn, 189, P_Lo, 190, P_Mc, 191, P_Mn, 192, P_Mc, 197, P_Cn, 198, P_Mn, 199, P_Mc, 201, P_Cn, 202, P_Mc, 204, P_Mn, 206, P_Cn, 213, P_Mc, 215, P_Cn, 222, P_Lo, 223, P_Cn, 224, P_Lo, 226, P_Mn, 228, P_Cn, 230, P_Nd, 240, P_Cn, 241, P_Lo, 243, P_Cn, -- 0, P_Cn, 1, P_Mn, 2, P_Mc, 4, P_Cn, 5, P_Lo, 13, P_Cn, 14, P_Lo, 17, P_Cn, 18, P_Lo, 59, P_Cn, 61, P_Lo, 62, P_Mc, 65, P_Mn, 69, P_Cn, 70, P_Mc, 73, P_Cn, 74, P_Mc, 77, P_Mn, 78, P_Lo, 79, P_Cn, 87, P_Mc, 88, P_Cn, 95, P_Lo, 98, P_Mn, 100, P_Cn, 102, P_Nd, 112, P_No, 118, P_Cn, 121, P_So, 122, P_Lo, 128, P_Cn, 130, P_Mc, 132, P_Cn, 133, P_Lo, 151, P_Cn, 154, P_Lo, 178, P_Cn, 179, P_Lo, 188, P_Cn, 189, P_Lo, 190, P_Cn, 192, P_Lo, 199, P_Cn, 202, P_Mn, 203, P_Cn, 207, P_Mc, 210, P_Mn, 213, P_Cn, 214, P_Mn, 215, P_Cn, 216, P_Mc, 224, P_Cn, 230, P_Nd, 240, P_Cn, 242, P_Mc, 244, P_Po, 245, P_Cn, -+ 0, P_Mn, 1, P_Mc, 4, P_Cn, 5, P_Lo, 13, P_Cn, 14, P_Lo, 17, P_Cn, 18, P_Lo, 41, P_Cn, 42, P_Lo, 58, P_Cn, 61, P_Lo, 62, P_Mn, 65, P_Mc, 69, P_Cn, 70, P_Mn, 73, P_Cn, 74, P_Mn, 78, P_Cn, 85, P_Mn, 87, P_Cn, 88, P_Lo, 91, P_Cn, 96, P_Lo, 98, P_Mn, 100, P_Cn, 102, P_Nd, 112, P_Cn, 120, P_No, 127, P_So, 128, P_Lo, 129, P_Mn, 130, P_Mc, 132, P_Cn, 133, P_Lo, 141, P_Cn, 142, P_Lo, 145, P_Cn, 146, P_Lo, 169, P_Cn, 170, P_Lo, 180, P_Cn, 181, P_Lo, 186, P_Cn, 188, P_Mn, 189, P_Lo, 190, P_Mc, 191, P_Mn, 192, P_Mc, 197, P_Cn, 198, P_Mn, 199, P_Mc, 201, P_Cn, 202, P_Mc, 204, P_Mn, 206, P_Cn, 213, P_Mc, 215, P_Cn, 222, P_Lo, 223, P_Cn, 224, P_Lo, 226, P_Mn, 228, P_Cn, 230, P_Nd, 240, P_Cn, 241, P_Lo, 243, P_Cn, -+ 0, P_Cn, 1, P_Mn, 2, P_Mc, 4, P_Cn, 5, P_Lo, 13, P_Cn, 14, P_Lo, 17, P_Cn, 18, P_Lo, 59, P_Cn, 61, P_Lo, 62, P_Mc, 65, P_Mn, 69, P_Cn, 70, P_Mc, 73, P_Cn, 74, P_Mc, 77, P_Mn, 78, P_Lo, 79, P_So, 80, P_Cn, 84, P_Lo, 87, P_Mc, 88, P_No, 95, P_Lo, 98, P_Mn, 100, P_Cn, 102, P_Nd, 112, P_No, 121, P_So, 122, P_Lo, 128, P_Cn, 130, P_Mc, 132, P_Cn, 133, P_Lo, 151, P_Cn, 154, P_Lo, 178, P_Cn, 179, P_Lo, 188, P_Cn, 189, P_Lo, 190, P_Cn, 192, P_Lo, 199, P_Cn, 202, P_Mn, 203, P_Cn, 207, P_Mc, 210, P_Mn, 213, P_Cn, 214, P_Mn, 215, P_Cn, 216, P_Mc, 224, P_Cn, 230, P_Nd, 240, P_Cn, 242, P_Mc, 244, P_Po, 245, P_Cn, - 0, P_Cn, 1, P_Lo, 49, P_Mn, 50, P_Lo, 52, P_Mn, 59, P_Cn, 63, P_Sc, 64, P_Lo, 70, P_Lm, 71, P_Mn, 79, P_Po, 80, P_Nd, 90, P_Po, 92, P_Cn, 129, P_Lo, 131, P_Cn, 132, P_Lo, 133, P_Cn, 135, P_Lo, 137, P_Cn, 138, P_Lo, 139, P_Cn, 141, P_Lo, 142, P_Cn, 148, P_Lo, 152, P_Cn, 153, P_Lo, 160, P_Cn, 161, P_Lo, 164, P_Cn, 165, P_Lo, 166, P_Cn, 167, P_Lo, 168, P_Cn, 170, P_Lo, 172, P_Cn, 173, P_Lo, 177, P_Mn, 178, P_Lo, 180, P_Mn, 186, P_Cn, 187, P_Mn, 189, P_Lo, 190, P_Cn, 192, P_Lo, 197, P_Cn, 198, P_Lm, 199, P_Cn, 200, P_Mn, 206, P_Cn, 208, P_Nd, 218, P_Cn, 220, P_Lo, 224, P_Cn, - 0, P_Lo, 1, P_So, 4, P_Po, 19, P_So, 20, P_Po, 21, P_So, 24, P_Mn, 26, P_So, 32, P_Nd, 42, P_No, 52, P_So, 53, P_Mn, 54, P_So, 55, P_Mn, 56, P_So, 57, P_Mn, 58, P_Ps, 59, P_Pe, 60, P_Ps, 61, P_Pe, 62, P_Mc, 64, P_Lo, 72, P_Cn, 73, P_Lo, 109, P_Cn, 113, P_Mn, 127, P_Mc, 128, P_Mn, 133, P_Po, 134, P_Mn, 136, P_Lo, 141, P_Mn, 152, P_Cn, 153, P_Mn, 189, P_Cn, 190, P_So, 198, P_Mn, 199, P_So, 205, P_Cn, 206, P_So, 208, P_Po, 213, P_So, 217, P_Po, 219, P_Cn, - 0, P_Lo, 43, P_Mc, 45, P_Mn, 49, P_Mc, 50, P_Mn, 56, P_Mc, 57, P_Mn, 59, P_Mc, 61, P_Mn, 63, P_Lo, 64, P_Nd, 74, P_Po, 80, P_Lo, 86, P_Mc, 88, P_Mn, 90, P_Lo, 94, P_Mn, 97, P_Lo, 98, P_Mc, 101, P_Lo, 103, P_Mc, 110, P_Lo, 113, P_Mn, 117, P_Lo, 130, P_Mn, 131, P_Mc, 133, P_Mn, 135, P_Mc, 141, P_Mn, 142, P_Lo, 143, P_Mc, 144, P_Nd, 154, P_Mc, 157, P_Mn, 158, P_So, 160, P_Lu, 198, P_Cn, 199, P_Lu, 200, P_Cn, 205, P_Lu, 206, P_Cn, 208, P_Lo, 251, P_Po, 252, P_Lm, 253, P_Lo, -@@ -40,18 +40,18 @@ const unsigned char UnicodeProperty::pro - 0, P_Pd, 1, P_Lo, - 0, P_Lo, 109, P_Po, 111, P_Lo, 128, P_Zs, 129, P_Lo, 155, P_Ps, 156, P_Pe, 157, P_Cn, 160, P_Lo, 235, P_Po, 238, P_Nl, 241, P_Lo, 249, P_Cn, - 0, P_Lo, 13, P_Cn, 14, P_Lo, 18, P_Mn, 21, P_Cn, 32, P_Lo, 50, P_Mn, 53, P_Po, 55, P_Cn, 64, P_Lo, 82, P_Mn, 84, P_Cn, 96, P_Lo, 109, P_Cn, 110, P_Lo, 113, P_Cn, 114, P_Mn, 116, P_Cn, 128, P_Lo, 180, P_Mn, 182, P_Mc, 183, P_Mn, 190, P_Mc, 198, P_Mn, 199, P_Mc, 201, P_Mn, 212, P_Po, 215, P_Lm, 216, P_Po, 219, P_Sc, 220, P_Lo, 221, P_Mn, 222, P_Cn, 224, P_Nd, 234, P_Cn, 240, P_No, 250, P_Cn, -- 0, P_Po, 6, P_Pd, 7, P_Po, 11, P_Mn, 14, P_Cf, 15, P_Cn, 16, P_Nd, 26, P_Cn, 32, P_Lo, 67, P_Lm, 68, P_Lo, 120, P_Cn, 128, P_Lo, 169, P_Mn, 170, P_Lo, 171, P_Cn, 176, P_Lo, 246, P_Cn, -+ 0, P_Po, 6, P_Pd, 7, P_Po, 11, P_Mn, 14, P_Cf, 15, P_Cn, 16, P_Nd, 26, P_Cn, 32, P_Lo, 67, P_Lm, 68, P_Lo, 120, P_Cn, 128, P_Lo, 133, P_Mn, 135, P_Lo, 169, P_Mn, 170, P_Lo, 171, P_Cn, 176, P_Lo, 246, P_Cn, - 0, P_Lo, 31, P_Cn, 32, P_Mn, 35, P_Mc, 39, P_Mn, 41, P_Mc, 44, P_Cn, 48, P_Mc, 50, P_Mn, 51, P_Mc, 57, P_Mn, 60, P_Cn, 64, P_So, 65, P_Cn, 68, P_Po, 70, P_Nd, 80, P_Lo, 110, P_Cn, 112, P_Lo, 117, P_Cn, 128, P_Lo, 172, P_Cn, 176, P_Lo, 202, P_Cn, 208, P_Nd, 218, P_No, 219, P_Cn, 222, P_So, - 0, P_Lo, 23, P_Mn, 25, P_Mc, 27, P_Mn, 28, P_Cn, 30, P_Po, 32, P_Lo, 85, P_Mc, 86, P_Mn, 87, P_Mc, 88, P_Mn, 95, P_Cn, 96, P_Mn, 97, P_Mc, 98, P_Mn, 99, P_Mc, 101, P_Mn, 109, P_Mc, 115, P_Mn, 125, P_Cn, 127, P_Mn, 128, P_Nd, 138, P_Cn, 144, P_Nd, 154, P_Cn, 160, P_Po, 167, P_Lm, 168, P_Po, 174, P_Cn, 176, P_Mn, 190, P_Me, 191, P_Cn, - 0, P_Mn, 4, P_Mc, 5, P_Lo, 52, P_Mn, 53, P_Mc, 54, P_Mn, 59, P_Mc, 60, P_Mn, 61, P_Mc, 66, P_Mn, 67, P_Mc, 69, P_Lo, 76, P_Cn, 80, P_Nd, 90, P_Po, 97, P_So, 107, P_Mn, 116, P_So, 125, P_Cn, 128, P_Mn, 130, P_Mc, 131, P_Lo, 161, P_Mc, 162, P_Mn, 166, P_Mc, 168, P_Mn, 170, P_Mc, 171, P_Mn, 174, P_Lo, 176, P_Nd, 186, P_Lo, 230, P_Mn, 231, P_Mc, 232, P_Mn, 234, P_Mc, 237, P_Mn, 238, P_Mc, 239, P_Mn, 242, P_Mc, 244, P_Cn, 252, P_Po, -- 0, P_Lo, 36, P_Mc, 44, P_Mn, 52, P_Mc, 54, P_Mn, 56, P_Cn, 59, P_Po, 64, P_Nd, 74, P_Cn, 77, P_Lo, 80, P_Nd, 90, P_Lo, 120, P_Lm, 126, P_Po, 128, P_Cn, 192, P_Po, 200, P_Cn, 208, P_Mn, 211, P_Po, 212, P_Mn, 225, P_Mc, 226, P_Mn, 233, P_Lo, 237, P_Mn, 238, P_Lo, 242, P_Mc, 244, P_Mn, 245, P_Lo, 247, P_Cn, 248, P_Mn, 250, P_Cn, -- 0, P_Ll, 44, P_Lm, 107, P_Ll, 120, P_Lm, 121, P_Ll, 155, P_Lm, 192, P_Mn, 246, P_Cn, 252, P_Mn, -+ 0, P_Lo, 36, P_Mc, 44, P_Mn, 52, P_Mc, 54, P_Mn, 56, P_Cn, 59, P_Po, 64, P_Nd, 74, P_Cn, 77, P_Lo, 80, P_Nd, 90, P_Lo, 120, P_Lm, 126, P_Po, 128, P_Ll, 137, P_Cn, 192, P_Po, 200, P_Cn, 208, P_Mn, 211, P_Po, 212, P_Mn, 225, P_Mc, 226, P_Mn, 233, P_Lo, 237, P_Mn, 238, P_Lo, 242, P_Mc, 244, P_Mn, 245, P_Lo, 247, P_Cn, 248, P_Mn, 250, P_Cn, -+ 0, P_Ll, 44, P_Lm, 107, P_Ll, 120, P_Lm, 121, P_Ll, 155, P_Lm, 192, P_Mn, 246, P_Cn, 251, P_Mn, - 0, P_Lul, 150, P_Ll, 158, P_Lul, - 0, P_Ll, 8, P_Lu, 16, P_Ll, 22, P_Cn, 24, P_Lu, 30, P_Cn, 32, P_Ll, 40, P_Lu, 48, P_Ll, 56, P_Lu, 64, P_Ll, 70, P_Cn, 72, P_Lu, 78, P_Cn, 80, P_Ll, 88, P_Cn, 89, P_Lu, 90, P_Cn, 91, P_Lu, 92, P_Cn, 93, P_Lu, 94, P_Cn, 95, P_Lul, 97, P_Ll, 104, P_Lu, 112, P_Ll, 126, P_Cn, 128, P_Ll, 136, P_Lt, 144, P_Ll, 152, P_Lt, 160, P_Ll, 168, P_Lt, 176, P_Ll, 181, P_Cn, 182, P_Ll, 184, P_Lu, 188, P_Lt, 189, P_Sk, 190, P_Ll, 191, P_Sk, 194, P_Ll, 197, P_Cn, 198, P_Ll, 200, P_Lu, 204, P_Lt, 205, P_Sk, 208, P_Ll, 212, P_Cn, 214, P_Ll, 216, P_Lu, 220, P_Cn, 221, P_Sk, 224, P_Ll, 232, P_Lu, 237, P_Sk, 240, P_Cn, 242, P_Ll, 245, P_Cn, 246, P_Ll, 248, P_Lu, 252, P_Lt, 253, P_Sk, 255, P_Cn, - 0, P_Zs, 11, P_Cf, 16, P_Pd, 22, P_Po, 24, P_Pi, 25, P_Pf, 26, P_Ps, 27, P_Pi, 29, P_Pf, 30, P_Ps, 31, P_Pi, 32, P_Po, 40, P_Zl, 41, P_Zp, 42, P_Cf, 47, P_Zs, 48, P_Po, 57, P_Pi, 58, P_Pf, 59, P_Po, 63, P_Pc, 65, P_Po, 68, P_Sm, 69, P_Ps, 70, P_Pe, 71, P_Po, 82, P_Sm, 83, P_Po, 84, P_Pc, 85, P_Po, 95, P_Zs, 96, P_Cf, 101, P_Cn, 102, P_Cf, 112, P_No, 113, P_Lm, 114, P_Cn, 116, P_No, 122, P_Sm, 125, P_Ps, 126, P_Pe, 127, P_Lm, 128, P_No, 138, P_Sm, 141, P_Ps, 142, P_Pe, 143, P_Cn, 144, P_Lm, 157, P_Cn, 160, P_Sc, 191, P_Cn, 208, P_Mn, 221, P_Me, 225, P_Mn, 226, P_Me, 229, P_Mn, 241, P_Cn, - 0, P_So, 2, P_Lu, 3, P_So, 7, P_Lu, 8, P_So, 10, P_Ll, 11, P_Lu, 14, P_Ll, 16, P_Lu, 19, P_Ll, 20, P_So, 21, P_Lu, 22, P_So, 24, P_Sm, 25, P_Lu, 30, P_So, 36, P_Lu, 37, P_So, 38, P_Lu, 39, P_So, 40, P_Lu, 41, P_So, 42, P_Lu, 46, P_So, 47, P_Ll, 48, P_Lu, 52, P_Ll, 53, P_Lo, 57, P_Ll, 58, P_So, 60, P_Ll, 62, P_Lu, 64, P_Sm, 69, P_Lul, 71, P_Ll, 74, P_So, 75, P_Sm, 76, P_So, 78, P_Ll, 79, P_So, 80, P_No, 96, P_Nl, 131, P_Lul, 133, P_Nl, 137, P_No, 138, P_So, 140, P_Cn, 144, P_Sm, 149, P_So, 154, P_Sm, 156, P_So, 160, P_Sm, 161, P_So, 163, P_Sm, 164, P_So, 166, P_Sm, 167, P_So, 174, P_Sm, 175, P_So, 206, P_Sm, 208, P_So, 210, P_Sm, 211, P_So, 212, P_Sm, 213, P_So, 244, P_Sm, - 0, P_Sm, -- 0, P_So, 8, P_Ps, 9, P_Pe, 10, P_Ps, 11, P_Pe, 12, P_So, 32, P_Sm, 34, P_So, 41, P_Ps, 42, P_Pe, 43, P_So, 124, P_Sm, 125, P_So, 155, P_Sm, 180, P_So, 220, P_Sm, 226, P_So, 251, P_Cn, -+ 0, P_So, 8, P_Ps, 9, P_Pe, 10, P_Ps, 11, P_Pe, 12, P_So, 32, P_Sm, 34, P_So, 41, P_Ps, 42, P_Pe, 43, P_So, 124, P_Sm, 125, P_So, 155, P_Sm, 180, P_So, 220, P_Sm, 226, P_So, 255, P_Cn, - 0, P_So, 39, P_Cn, 64, P_So, 75, P_Cn, 96, P_No, 156, P_So, 234, P_No, - 0, P_So, 183, P_Sm, 184, P_So, 193, P_Sm, 194, P_So, 248, P_Sm, - 0, P_So, 111, P_Sm, 112, P_So, -@@ -61,7 +61,7 @@ const unsigned char UnicodeProperty::pro - 0, P_So, 48, P_Sm, 69, P_So, 71, P_Sm, 77, P_So, 116, P_Cn, 118, P_So, 150, P_Cn, 152, P_So, 186, P_Cn, 189, P_So, 201, P_Cn, 202, P_So, 210, P_Cn, 236, P_So, 240, P_Cn, - 0, P_Lu, 47, P_Cn, 48, P_Ll, 95, P_Cn, 96, P_Lul, 98, P_Lu, 101, P_Ll, 103, P_Lul, 109, P_Lu, 113, P_Ll, 114, P_Lul, 116, P_Ll, 117, P_Lul, 119, P_Ll, 124, P_Lm, 126, P_Lu, 129, P_Ll, 130, P_Lul, 228, P_Ll, 229, P_So, 235, P_Lul, 239, P_Mn, 242, P_Lul, 244, P_Cn, 249, P_Po, 253, P_No, 254, P_Po, - 0, P_Ll, 38, P_Cn, 39, P_Ll, 40, P_Cn, 45, P_Ll, 46, P_Cn, 48, P_Lo, 104, P_Cn, 111, P_Lm, 112, P_Po, 113, P_Cn, 127, P_Mn, 128, P_Lo, 151, P_Cn, 160, P_Lo, 167, P_Cn, 168, P_Lo, 175, P_Cn, 176, P_Lo, 183, P_Cn, 184, P_Lo, 191, P_Cn, 192, P_Lo, 199, P_Cn, 200, P_Lo, 207, P_Cn, 208, P_Lo, 215, P_Cn, 216, P_Lo, 223, P_Cn, 224, P_Mn, -- 0, P_Po, 2, P_Pi, 3, P_Pf, 4, P_Pi, 5, P_Pf, 6, P_Po, 9, P_Pi, 10, P_Pf, 11, P_Po, 12, P_Pi, 13, P_Pf, 14, P_Po, 23, P_Pd, 24, P_Po, 26, P_Pd, 27, P_Po, 28, P_Pi, 29, P_Pf, 30, P_Po, 32, P_Pi, 33, P_Pf, 34, P_Ps, 35, P_Pe, 36, P_Ps, 37, P_Pe, 38, P_Ps, 39, P_Pe, 40, P_Ps, 41, P_Pe, 42, P_Po, 47, P_Lm, 48, P_Po, 58, P_Pd, 60, P_Po, 64, P_Pd, 65, P_Po, 66, P_Ps, 67, P_Cn, 128, P_So, 154, P_Cn, 155, P_So, 244, P_Cn, -+ 0, P_Po, 2, P_Pi, 3, P_Pf, 4, P_Pi, 5, P_Pf, 6, P_Po, 9, P_Pi, 10, P_Pf, 11, P_Po, 12, P_Pi, 13, P_Pf, 14, P_Po, 23, P_Pd, 24, P_Po, 26, P_Pd, 27, P_Po, 28, P_Pi, 29, P_Pf, 30, P_Po, 32, P_Pi, 33, P_Pf, 34, P_Ps, 35, P_Pe, 36, P_Ps, 37, P_Pe, 38, P_Ps, 39, P_Pe, 40, P_Ps, 41, P_Pe, 42, P_Po, 47, P_Lm, 48, P_Po, 58, P_Pd, 60, P_Po, 64, P_Pd, 65, P_Po, 66, P_Ps, 67, P_Po, 69, P_Cn, 128, P_So, 154, P_Cn, 155, P_So, 244, P_Cn, - 0, P_So, 214, P_Cn, 240, P_So, 252, P_Cn, - 0, P_Zs, 1, P_Po, 4, P_So, 5, P_Lm, 6, P_Lo, 7, P_Nl, 8, P_Ps, 9, P_Pe, 10, P_Ps, 11, P_Pe, 12, P_Ps, 13, P_Pe, 14, P_Ps, 15, P_Pe, 16, P_Ps, 17, P_Pe, 18, P_So, 20, P_Ps, 21, P_Pe, 22, P_Ps, 23, P_Pe, 24, P_Ps, 25, P_Pe, 26, P_Ps, 27, P_Pe, 28, P_Pd, 29, P_Ps, 30, P_Pe, 32, P_So, 33, P_Nl, 42, P_Mn, 46, P_Mc, 48, P_Pd, 49, P_Lm, 54, P_So, 56, P_Nl, 59, P_Lm, 60, P_Lo, 61, P_Po, 62, P_So, 64, P_Cn, 65, P_Lo, 151, P_Cn, 153, P_Mn, 155, P_Sk, 157, P_Lm, 159, P_Lo, 160, P_Pd, 161, P_Lo, 251, P_Po, 252, P_Lm, 255, P_Lo, - 0, P_Cn, 5, P_Lo, 46, P_Cn, 49, P_Lo, 143, P_Cn, 144, P_So, 146, P_No, 150, P_So, 160, P_Lo, 187, P_Cn, 192, P_So, 228, P_Cn, 240, P_Lo, -@@ -72,8 +72,8 @@ const unsigned char UnicodeProperty::pro - 0, P_Lo, 21, P_Lm, 22, P_Lo, - 0, P_Lo, 141, P_Cn, 144, P_So, 199, P_Cn, 208, P_Lo, 248, P_Lm, 254, P_Po, - 0, P_Lo, 12, P_Lm, 13, P_Po, 16, P_Lo, 32, P_Nd, 42, P_Lo, 44, P_Cn, 64, P_Lul, 110, P_Lo, 111, P_Mn, 112, P_Me, 115, P_Po, 116, P_Mn, 126, P_Po, 127, P_Lm, 128, P_Lul, 156, P_Lm, 158, P_Mn, 160, P_Lo, 230, P_Nl, 240, P_Mn, 242, P_Po, 248, P_Cn, -- 0, P_Sk, 23, P_Lm, 32, P_Sk, 34, P_Lul, 48, P_Ll, 50, P_Lul, 112, P_Lm, 113, P_Ll, 121, P_Lul, 125, P_Lu, 127, P_Ll, 128, P_Lul, 136, P_Lm, 137, P_Sk, 139, P_Lul, 143, P_Lo, 144, P_Lul, 148, P_Ll, 150, P_Lul, 170, P_Lu, 174, P_Cn, 176, P_Lu, 181, P_Ll, 182, P_Lul, 184, P_Cn, 247, P_Lo, 248, P_Lm, 250, P_Ll, 251, P_Lo, -- 0, P_Lo, 2, P_Mn, 3, P_Lo, 6, P_Mn, 7, P_Lo, 11, P_Mn, 12, P_Lo, 35, P_Mc, 37, P_Mn, 39, P_Mc, 40, P_So, 44, P_Cn, 48, P_No, 54, P_So, 56, P_Sc, 57, P_So, 58, P_Cn, 64, P_Lo, 116, P_Po, 120, P_Cn, 128, P_Mc, 130, P_Lo, 180, P_Mc, 196, P_Mn, 197, P_Cn, 206, P_Po, 208, P_Nd, 218, P_Cn, 224, P_Mn, 242, P_Lo, 248, P_Po, 251, P_Lo, 252, P_Po, 253, P_Lo, 254, P_Cn, -+ 0, P_Sk, 23, P_Lm, 32, P_Sk, 34, P_Lul, 48, P_Ll, 50, P_Lul, 112, P_Lm, 113, P_Ll, 121, P_Lul, 125, P_Lu, 127, P_Ll, 128, P_Lul, 136, P_Lm, 137, P_Sk, 139, P_Lul, 143, P_Lo, 144, P_Lul, 148, P_Ll, 150, P_Lul, 170, P_Lu, 175, P_Cn, 176, P_Lu, 181, P_Ll, 182, P_Lul, 184, P_Cn, 247, P_Lo, 248, P_Lm, 250, P_Ll, 251, P_Lo, -+ 0, P_Lo, 2, P_Mn, 3, P_Lo, 6, P_Mn, 7, P_Lo, 11, P_Mn, 12, P_Lo, 35, P_Mc, 37, P_Mn, 39, P_Mc, 40, P_So, 44, P_Cn, 48, P_No, 54, P_So, 56, P_Sc, 57, P_So, 58, P_Cn, 64, P_Lo, 116, P_Po, 120, P_Cn, 128, P_Mc, 130, P_Lo, 180, P_Mc, 196, P_Mn, 198, P_Cn, 206, P_Po, 208, P_Nd, 218, P_Cn, 224, P_Mn, 242, P_Lo, 248, P_Po, 251, P_Lo, 252, P_Po, 253, P_Lo, 254, P_Cn, - 0, P_Nd, 10, P_Lo, 38, P_Mn, 46, P_Po, 48, P_Lo, 71, P_Mn, 82, P_Mc, 84, P_Cn, 95, P_Po, 96, P_Lo, 125, P_Cn, 128, P_Mn, 131, P_Mc, 132, P_Lo, 179, P_Mn, 180, P_Mc, 182, P_Mn, 186, P_Mc, 188, P_Mn, 189, P_Mc, 193, P_Po, 206, P_Cn, 207, P_Lm, 208, P_Nd, 218, P_Cn, 222, P_Po, 224, P_Lo, 229, P_Mn, 230, P_Lm, 231, P_Lo, 240, P_Nd, 250, P_Lo, 255, P_Cn, - 0, P_Lo, 41, P_Mn, 47, P_Mc, 49, P_Mn, 51, P_Mc, 53, P_Mn, 55, P_Cn, 64, P_Lo, 67, P_Mn, 68, P_Lo, 76, P_Mn, 77, P_Mc, 78, P_Cn, 80, P_Nd, 90, P_Cn, 92, P_Po, 96, P_Lo, 112, P_Lm, 113, P_Lo, 119, P_So, 122, P_Lo, 123, P_Mc, 124, P_Mn, 125, P_Mc, 126, P_Lo, 176, P_Mn, 177, P_Lo, 178, P_Mn, 181, P_Lo, 183, P_Mn, 185, P_Lo, 190, P_Mn, 192, P_Lo, 193, P_Mn, 194, P_Lo, 195, P_Cn, 219, P_Lo, 221, P_Lm, 222, P_Po, 224, P_Lo, 235, P_Mc, 236, P_Mn, 238, P_Mc, 240, P_Po, 242, P_Lo, 243, P_Lm, 245, P_Mc, 246, P_Mn, 247, P_Cn, - 0, P_Cn, 1, P_Lo, 7, P_Cn, 9, P_Lo, 15, P_Cn, 17, P_Lo, 23, P_Cn, 32, P_Lo, 39, P_Cn, 40, P_Lo, 47, P_Cn, 48, P_Ll, 91, P_Sk, 92, P_Lm, 96, P_Ll, 102, P_Cn, 112, P_Ll, 192, P_Lo, 227, P_Mc, 229, P_Mn, 230, P_Mc, 232, P_Mn, 233, P_Mc, 235, P_Po, 236, P_Mc, 237, P_Mn, 238, P_Cn, 240, P_Nd, 250, P_Cn, -@@ -89,10 +89,10 @@ const unsigned char UnicodeProperty::pro - 0, P_Mn, 16, P_Po, 23, P_Ps, 24, P_Pe, 25, P_Po, 26, P_Cn, 32, P_Mn, 48, P_Po, 49, P_Pd, 51, P_Pc, 53, P_Ps, 54, P_Pe, 55, P_Ps, 56, P_Pe, 57, P_Ps, 58, P_Pe, 59, P_Ps, 60, P_Pe, 61, P_Ps, 62, P_Pe, 63, P_Ps, 64, P_Pe, 65, P_Ps, 66, P_Pe, 67, P_Ps, 68, P_Pe, 69, P_Po, 71, P_Ps, 72, P_Pe, 73, P_Po, 77, P_Pc, 80, P_Po, 83, P_Cn, 84, P_Po, 88, P_Pd, 89, P_Ps, 90, P_Pe, 91, P_Ps, 92, P_Pe, 93, P_Ps, 94, P_Pe, 95, P_Po, 98, P_Sm, 99, P_Pd, 100, P_Sm, 103, P_Cn, 104, P_Po, 105, P_Sc, 106, P_Po, 108, P_Cn, 112, P_Lo, 117, P_Cn, 118, P_Lo, 253, P_Cn, 255, P_Cf, - 0, P_Cn, 1, P_Po, 4, P_Sc, 5, P_Po, 8, P_Ps, 9, P_Pe, 10, P_Po, 11, P_Sm, 12, P_Po, 13, P_Pd, 14, P_Po, 16, P_Nd, 26, P_Po, 28, P_Sm, 31, P_Po, 33, P_Lu, 59, P_Ps, 60, P_Po, 61, P_Pe, 62, P_Sk, 63, P_Pc, 64, P_Sk, 65, P_Ll, 91, P_Ps, 92, P_Sm, 93, P_Pe, 94, P_Sm, 95, P_Ps, 96, P_Pe, 97, P_Po, 98, P_Ps, 99, P_Pe, 100, P_Po, 102, P_Lo, 112, P_Lm, 113, P_Lo, 158, P_Lm, 160, P_Lo, 191, P_Cn, 194, P_Lo, 200, P_Cn, 202, P_Lo, 208, P_Cn, 210, P_Lo, 216, P_Cn, 218, P_Lo, 221, P_Cn, 224, P_Sc, 226, P_Sm, 227, P_Sk, 228, P_So, 229, P_Sc, 231, P_Cn, 232, P_So, 233, P_Sm, 237, P_So, 239, P_Cn, 249, P_Cf, 252, P_So, 254, P_Cn, - 0, P_Lo, 12, P_Cn, 13, P_Lo, 39, P_Cn, 40, P_Lo, 59, P_Cn, 60, P_Lo, 62, P_Cn, 63, P_Lo, 78, P_Cn, 80, P_Lo, 94, P_Cn, 128, P_Lo, 251, P_Cn, -- 0, P_Po, 3, P_Cn, 7, P_No, 52, P_Cn, 55, P_So, 64, P_Nl, 117, P_No, 121, P_So, 138, P_No, 140, P_So, 141, P_Cn, 144, P_So, 156, P_Cn, 160, P_So, 161, P_Cn, 208, P_So, 253, P_Mn, 254, P_Cn, -+ 0, P_Po, 3, P_Cn, 7, P_No, 52, P_Cn, 55, P_So, 64, P_Nl, 117, P_No, 121, P_So, 138, P_No, 140, P_So, 143, P_Cn, 144, P_So, 156, P_Cn, 160, P_So, 161, P_Cn, 208, P_So, 253, P_Mn, 254, P_Cn, - 0, P_Cn, 128, P_Lo, 157, P_Cn, 160, P_Lo, 209, P_Cn, 224, P_Mn, 225, P_No, 252, P_Cn, - 0, P_Lo, 32, P_No, 36, P_Cn, 48, P_Lo, 65, P_Nl, 66, P_Lo, 74, P_Nl, 75, P_Cn, 80, P_Lo, 118, P_Mn, 123, P_Cn, 128, P_Lo, 158, P_Cn, 159, P_Po, 160, P_Lo, 196, P_Cn, 200, P_Lo, 208, P_Po, 209, P_Nl, 214, P_Cn, -- 0, P_Lu, 40, P_Ll, 80, P_Lo, 158, P_Cn, 160, P_Nd, 170, P_Cn, -+ 0, P_Lu, 40, P_Ll, 80, P_Lo, 158, P_Cn, 160, P_Nd, 170, P_Cn, 176, P_Lu, 212, P_Cn, 216, P_Ll, 252, P_Cn, - 0, P_Lo, 40, P_Cn, 48, P_Lo, 100, P_Cn, 111, P_Po, 112, P_Cn, - 0, P_Lo, 55, P_Cn, 64, P_Lo, 86, P_Cn, 96, P_Lo, 104, P_Cn, - 0, P_Lo, 6, P_Cn, 8, P_Lo, 9, P_Cn, 10, P_Lo, 54, P_Cn, 55, P_Lo, 57, P_Cn, 60, P_Lo, 61, P_Cn, 63, P_Lo, 86, P_Cn, 87, P_Po, 88, P_No, 96, P_Lo, 119, P_So, 121, P_No, 128, P_Lo, 159, P_Cn, 167, P_No, 176, P_Cn, 224, P_Lo, 243, P_Cn, 244, P_Lo, 246, P_Cn, 251, P_No, -@@ -103,14 +103,15 @@ const unsigned char UnicodeProperty::pro - 0, P_Cn, 96, P_No, 127, P_Cn, - 0, P_Mc, 1, P_Mn, 2, P_Mc, 3, P_Lo, 56, P_Mn, 71, P_Po, 78, P_Cn, 82, P_No, 102, P_Nd, 112, P_Cn, 127, P_Mn, 130, P_Mc, 131, P_Lo, 176, P_Mc, 179, P_Mn, 183, P_Mc, 185, P_Mn, 187, P_Po, 189, P_Cf, 190, P_Po, 194, P_Cn, 208, P_Lo, 233, P_Cn, 240, P_Nd, 250, P_Cn, - 0, P_Mn, 3, P_Lo, 39, P_Mn, 44, P_Mc, 45, P_Mn, 53, P_Cn, 54, P_Nd, 64, P_Po, 68, P_Cn, 80, P_Lo, 115, P_Mn, 116, P_Po, 118, P_Lo, 119, P_Cn, 128, P_Mn, 130, P_Mc, 131, P_Lo, 179, P_Mc, 182, P_Mn, 191, P_Mc, 193, P_Lo, 197, P_Po, 202, P_Mn, 205, P_Po, 206, P_Cn, 208, P_Nd, 218, P_Lo, 219, P_Po, 220, P_Lo, 221, P_Po, 224, P_Cn, 225, P_No, 245, P_Cn, -- 0, P_Lo, 18, P_Cn, 19, P_Lo, 44, P_Mc, 47, P_Mn, 50, P_Mc, 52, P_Mn, 53, P_Mc, 54, P_Mn, 56, P_Po, 62, P_Cn, 128, P_Lo, 135, P_Cn, 136, P_Lo, 137, P_Cn, 138, P_Lo, 142, P_Cn, 143, P_Lo, 158, P_Cn, 159, P_Lo, 169, P_Po, 170, P_Cn, 176, P_Lo, 223, P_Mn, 224, P_Mc, 227, P_Mn, 235, P_Cn, 240, P_Nd, 250, P_Cn, -+ 0, P_Lo, 18, P_Cn, 19, P_Lo, 44, P_Mc, 47, P_Mn, 50, P_Mc, 52, P_Mn, 53, P_Mc, 54, P_Mn, 56, P_Po, 62, P_Mn, 63, P_Cn, 128, P_Lo, 135, P_Cn, 136, P_Lo, 137, P_Cn, 138, P_Lo, 142, P_Cn, 143, P_Lo, 158, P_Cn, 159, P_Lo, 169, P_Po, 170, P_Cn, 176, P_Lo, 223, P_Mn, 224, P_Mc, 227, P_Mn, 235, P_Cn, 240, P_Nd, 250, P_Cn, - 0, P_Mn, 2, P_Mc, 4, P_Cn, 5, P_Lo, 13, P_Cn, 15, P_Lo, 17, P_Cn, 19, P_Lo, 41, P_Cn, 42, P_Lo, 49, P_Cn, 50, P_Lo, 52, P_Cn, 53, P_Lo, 58, P_Cn, 60, P_Mn, 61, P_Lo, 62, P_Mc, 64, P_Mn, 65, P_Mc, 69, P_Cn, 71, P_Mc, 73, P_Cn, 75, P_Mc, 78, P_Cn, 80, P_Lo, 81, P_Cn, 87, P_Mc, 88, P_Cn, 93, P_Lo, 98, P_Mc, 100, P_Cn, 102, P_Mn, 109, P_Cn, 112, P_Mn, 117, P_Cn, -- 0, P_Cn, 128, P_Lo, 176, P_Mc, 179, P_Mn, 185, P_Mc, 186, P_Mn, 187, P_Mc, 191, P_Mn, 193, P_Mc, 194, P_Mn, 196, P_Lo, 198, P_Po, 199, P_Lo, 200, P_Cn, 208, P_Nd, 218, P_Cn, -+ 0, P_Lo, 53, P_Mc, 56, P_Mn, 64, P_Mc, 66, P_Mn, 69, P_Mc, 70, P_Mn, 71, P_Lo, 75, P_Po, 80, P_Nd, 90, P_Cn, 91, P_Po, 92, P_Cn, 93, P_Po, 94, P_Cn, 128, P_Lo, 176, P_Mc, 179, P_Mn, 185, P_Mc, 186, P_Mn, 187, P_Mc, 191, P_Mn, 193, P_Mc, 194, P_Mn, 196, P_Lo, 198, P_Po, 199, P_Lo, 200, P_Cn, 208, P_Nd, 218, P_Cn, - 0, P_Cn, 128, P_Lo, 175, P_Mc, 178, P_Mn, 182, P_Cn, 184, P_Mc, 188, P_Mn, 190, P_Mc, 191, P_Mn, 193, P_Po, 216, P_Lo, 220, P_Mn, 222, P_Cn, -- 0, P_Lo, 48, P_Mc, 51, P_Mn, 59, P_Mc, 61, P_Mn, 62, P_Mc, 63, P_Mn, 65, P_Po, 68, P_Lo, 69, P_Cn, 80, P_Nd, 90, P_Cn, 128, P_Lo, 171, P_Mn, 172, P_Mc, 173, P_Mn, 174, P_Mc, 176, P_Mn, 182, P_Mc, 183, P_Mn, 184, P_Cn, 192, P_Nd, 202, P_Cn, -+ 0, P_Lo, 48, P_Mc, 51, P_Mn, 59, P_Mc, 61, P_Mn, 62, P_Mc, 63, P_Mn, 65, P_Po, 68, P_Lo, 69, P_Cn, 80, P_Nd, 90, P_Cn, 96, P_Po, 109, P_Cn, 128, P_Lo, 171, P_Mn, 172, P_Mc, 173, P_Mn, 174, P_Mc, 176, P_Mn, 182, P_Mc, 183, P_Mn, 184, P_Cn, 192, P_Nd, 202, P_Cn, - 0, P_Lo, 26, P_Cn, 29, P_Mn, 32, P_Mc, 34, P_Mn, 38, P_Mc, 39, P_Mn, 44, P_Cn, 48, P_Nd, 58, P_No, 60, P_Po, 63, P_So, 64, P_Cn, - 0, P_Cn, 160, P_Lu, 192, P_Ll, 224, P_Nd, 234, P_No, 243, P_Cn, 255, P_Lo, - 0, P_Cn, 192, P_Lo, 249, P_Cn, -+ 0, P_Lo, 9, P_Cn, 10, P_Lo, 47, P_Mc, 48, P_Mn, 55, P_Cn, 56, P_Mn, 62, P_Mc, 63, P_Mn, 64, P_Lo, 65, P_Po, 70, P_Cn, 80, P_Nd, 90, P_No, 109, P_Cn, 112, P_Po, 114, P_Lo, 144, P_Cn, 146, P_Mn, 168, P_Cn, 169, P_Mc, 170, P_Mn, 177, P_Mc, 178, P_Mn, 180, P_Mc, 181, P_Mn, 183, P_Cn, - 0, P_Lo, 154, P_Cn, - 0, P_Nl, 111, P_Cn, 112, P_Po, 117, P_Cn, 128, P_Lo, - 0, P_Lo, 68, P_Cn, -@@ -118,7 +119,9 @@ const unsigned char UnicodeProperty::pro - 0, P_Lo, 71, P_Cn, - 0, P_Lo, 57, P_Cn, 64, P_Lo, 95, P_Cn, 96, P_Nd, 106, P_Cn, 110, P_Po, 112, P_Cn, 208, P_Lo, 238, P_Cn, 240, P_Mn, 245, P_Po, 246, P_Cn, - 0, P_Lo, 48, P_Mn, 55, P_Po, 60, P_So, 64, P_Lm, 68, P_Po, 69, P_So, 70, P_Cn, 80, P_Nd, 90, P_Cn, 91, P_No, 98, P_Cn, 99, P_Lo, 120, P_Cn, 125, P_Lo, 144, P_Cn, -- 0, P_Lo, 69, P_Cn, 80, P_Lo, 81, P_Mc, 127, P_Cn, 143, P_Mn, 147, P_Lm, 160, P_Cn, -+ 0, P_Lo, 69, P_Cn, 80, P_Lo, 81, P_Mc, 127, P_Cn, 143, P_Mn, 147, P_Lm, 160, P_Cn, 224, P_Lm, 225, P_Cn, -+ 0, P_Cn, 236, P_Lo, 237, P_Cn, -+ 0, P_Lo, 243, P_Cn, - 0, P_Lo, 2, P_Cn, - 0, P_Lo, 107, P_Cn, 112, P_Lo, 125, P_Cn, 128, P_Lo, 137, P_Cn, 144, P_Lo, 154, P_Cn, 156, P_So, 157, P_Mn, 159, P_Po, 160, P_Cf, 164, P_Cn, - 0, P_So, 246, P_Cn, -@@ -130,17 +133,18 @@ const unsigned char UnicodeProperty::pro - 0, P_Ll, 8, P_Lu, 34, P_Ll, 60, P_Lu, 86, P_Ll, 112, P_Lu, 138, P_Ll, 166, P_Cn, 168, P_Lu, 193, P_Sm, 194, P_Ll, 219, P_Sm, 220, P_Ll, 226, P_Lu, 251, P_Sm, 252, P_Ll, - 0, P_Ll, 21, P_Sm, 22, P_Ll, 28, P_Lu, 53, P_Sm, 54, P_Ll, 79, P_Sm, 80, P_Ll, 86, P_Lu, 111, P_Sm, 112, P_Ll, 137, P_Sm, 138, P_Ll, 144, P_Lu, 169, P_Sm, 170, P_Ll, 195, P_Sm, 196, P_Ll, 202, P_Lul, 204, P_Cn, 206, P_Nd, - 0, P_Mn, 55, P_So, 59, P_Mn, 109, P_So, 117, P_Mn, 118, P_So, 132, P_Mn, 133, P_So, 135, P_Po, 140, P_Cn, 155, P_Mn, 160, P_Cn, 161, P_Mn, 176, P_Cn, -+ 0, P_Mn, 7, P_Cn, 8, P_Mn, 25, P_Cn, 27, P_Mn, 34, P_Cn, 35, P_Mn, 37, P_Cn, 38, P_Mn, 43, P_Cn, - 0, P_Lo, 197, P_Cn, 199, P_No, 208, P_Mn, 215, P_Cn, -+ 0, P_Lu, 34, P_Ll, 68, P_Mn, 75, P_Cn, 80, P_Nd, 90, P_Cn, 94, P_Po, 96, P_Cn, - 0, P_Lo, 4, P_Cn, 5, P_Lo, 32, P_Cn, 33, P_Lo, 35, P_Cn, 36, P_Lo, 37, P_Cn, 39, P_Lo, 40, P_Cn, 41, P_Lo, 51, P_Cn, 52, P_Lo, 56, P_Cn, 57, P_Lo, 58, P_Cn, 59, P_Lo, 60, P_Cn, 66, P_Lo, 67, P_Cn, 71, P_Lo, 72, P_Cn, 73, P_Lo, 74, P_Cn, 75, P_Lo, 76, P_Cn, 77, P_Lo, 80, P_Cn, 81, P_Lo, 83, P_Cn, 84, P_Lo, 85, P_Cn, 87, P_Lo, 88, P_Cn, 89, P_Lo, 90, P_Cn, 91, P_Lo, 92, P_Cn, 93, P_Lo, 94, P_Cn, 95, P_Lo, 96, P_Cn, 97, P_Lo, 99, P_Cn, 100, P_Lo, 101, P_Cn, 103, P_Lo, 107, P_Cn, 108, P_Lo, 115, P_Cn, 116, P_Lo, 120, P_Cn, 121, P_Lo, 125, P_Cn, 126, P_Lo, 127, P_Cn, 128, P_Lo, 138, P_Cn, 139, P_Lo, 156, P_Cn, 161, P_Lo, 164, P_Cn, 165, P_Lo, 170, P_Cn, 171, P_Lo, 188, P_Cn, 240, P_Sm, 242, P_Cn, - 0, P_So, 44, P_Cn, 48, P_So, 148, P_Cn, 160, P_So, 175, P_Cn, 177, P_So, 192, P_Cn, 193, P_So, 208, P_Cn, 209, P_So, 246, P_Cn, -- 0, P_No, 13, P_Cn, 16, P_So, 47, P_Cn, 48, P_So, 108, P_Cn, 112, P_So, 155, P_Cn, 230, P_So, -- 0, P_So, 3, P_Cn, 16, P_So, 59, P_Cn, 64, P_So, 73, P_Cn, 80, P_So, 82, P_Cn, -+ 0, P_No, 13, P_Cn, 16, P_So, 47, P_Cn, 48, P_So, 108, P_Cn, 112, P_So, 173, P_Cn, 230, P_So, -+ 0, P_So, 3, P_Cn, 16, P_So, 60, P_Cn, 64, P_So, 73, P_Cn, 80, P_So, 82, P_Cn, - 0, P_So, 251, P_Sk, -- 0, P_So, 122, P_Cn, 123, P_So, 164, P_Cn, 165, P_So, -- 0, P_So, 209, P_Cn, 224, P_So, 237, P_Cn, 240, P_So, 244, P_Cn, -+ 0, P_So, 211, P_Cn, 224, P_So, 237, P_Cn, 240, P_So, 247, P_Cn, - 0, P_So, 116, P_Cn, 128, P_So, 213, P_Cn, - 0, P_So, 12, P_Cn, 16, P_So, 72, P_Cn, 80, P_So, 90, P_Cn, 96, P_So, 136, P_Cn, 144, P_So, 174, P_Cn, -- 0, P_Cn, 16, P_So, 25, P_Cn, 128, P_So, 133, P_Cn, 192, P_So, 193, P_Cn, -+ 0, P_Cn, 16, P_So, 31, P_Cn, 32, P_So, 40, P_Cn, 48, P_So, 49, P_Cn, 51, P_So, 63, P_Cn, 64, P_So, 76, P_Cn, 80, P_So, 95, P_Cn, 128, P_So, 146, P_Cn, 192, P_So, 193, P_Cn, - 0, P_Cn, 214, P_Lo, 215, P_Cn, - 0, P_Cn, 52, P_Lo, 53, P_Cn, 64, P_Lo, 65, P_Cn, - 0, P_Cn, 29, P_Lo, 30, P_Cn, 32, P_Lo, 33, P_Cn, -@@ -159,182 +163,191 @@ const unsigned int UnicodeProperty::prop - 0x500, 390, 450, - 0x600, 450, 520, - 0x700, 520, 560, -- 0x800, 560, 598, -- 0x900, 598, 720, -- 0xA00, 720, 870, -- 0xB00, 870, 1032, -- 0xC00, 1032, 1166, -- 0xD00, 1166, 1280, -- 0xE00, 1280, 1388, -- 0xF00, 1388, 1476, -- 0x1000, 1476, 1566, -- 0x1100, 1566, 1568, -- 0x1200, 1568, 1622, -- 0x1300, 1622, 1656, -- 0x1400, 1656, 1660, -- 0x1500, 1566, 1568, -- 0x1600, 1660, 1686, -- 0x1700, 1686, 1760, -- 0x1800, 1760, 1796, -- 0x1900, 1796, 1852, -- 0x1A00, 1852, 1916, -- 0x1B00, 1916, 1998, -- 0x1C00, 1998, 2060, -- 0x1D00, 2060, 2078, -- 0x1E00, 2078, 2084, -- 0x1F00, 2084, 2212, -- 0x2000, 2212, 2326, -- 0x2100, 2326, 2458, -- 0x2200, 2458, 2460, -- 0x2300, 2460, 2496, -- 0x2400, 2496, 2510, -- 0x2500, 2510, 2522, -- 0x2600, 2522, 2528, -- 0x2700, 2528, 2592, -- 0x2800, 2592, 2594, -- 0x2900, 2594, 2658, -- 0x2A00, 2458, 2460, -- 0x2B00, 2658, 2690, -- 0x2C00, 2690, 2744, -- 0x2D00, 2744, 2806, -- 0x2E00, 2806, 2890, -- 0x2F00, 2890, 2898, -- 0x3000, 2898, 3002, -- 0x3100, 3002, 3028, -- 0x3200, 3028, 3054, -- 0x3300, 2592, 2594, -- 0x3400, 3054, 3058, -+ 0x800, 560, 606, -+ 0x900, 606, 728, -+ 0xA00, 728, 878, -+ 0xB00, 878, 1040, -+ 0xC00, 1040, 1174, -+ 0xD00, 1174, 1290, -+ 0xE00, 1290, 1398, -+ 0xF00, 1398, 1486, -+ 0x1000, 1486, 1576, -+ 0x1100, 1576, 1578, -+ 0x1200, 1578, 1632, -+ 0x1300, 1632, 1666, -+ 0x1400, 1666, 1670, -+ 0x1500, 1576, 1578, -+ 0x1600, 1670, 1696, -+ 0x1700, 1696, 1770, -+ 0x1800, 1770, 1810, -+ 0x1900, 1810, 1866, -+ 0x1A00, 1866, 1930, -+ 0x1B00, 1930, 2012, -+ 0x1C00, 2012, 2076, -+ 0x1D00, 2076, 2094, -+ 0x1E00, 2094, 2100, -+ 0x1F00, 2100, 2228, -+ 0x2000, 2228, 2342, -+ 0x2100, 2342, 2474, -+ 0x2200, 2474, 2476, -+ 0x2300, 2476, 2512, -+ 0x2400, 2512, 2526, -+ 0x2500, 2526, 2538, -+ 0x2600, 2538, 2544, -+ 0x2700, 2544, 2608, -+ 0x2800, 2608, 2610, -+ 0x2900, 2610, 2674, -+ 0x2A00, 2474, 2476, -+ 0x2B00, 2674, 2706, -+ 0x2C00, 2706, 2760, -+ 0x2D00, 2760, 2822, -+ 0x2E00, 2822, 2908, -+ 0x2F00, 2908, 2916, -+ 0x3000, 2916, 3020, -+ 0x3100, 3020, 3046, -+ 0x3200, 3046, 3072, -+ 0x3300, 2608, 2610, -+ 0x3400, 3072, 3076, - 0x3500, 0, 2, -- 0x4D00, 3058, 3066, -- 0x4E00, 3054, 3058, -+ 0x4D00, 3076, 3084, -+ 0x4E00, 3072, 3076, - 0x4F00, 0, 2, -- 0x9F00, 3066, 3072, -- 0xA000, 3072, 3078, -- 0xA100, 1566, 1568, -- 0xA400, 3078, 3092, -- 0xA500, 1566, 1568, -- 0xA600, 3092, 3138, -- 0xA700, 3138, 3196, -- 0xA800, 3196, 3266, -- 0xA900, 3266, 3332, -- 0xAA00, 3332, 3430, -- 0xAB00, 3430, 3488, -- 0xAC00, 3054, 3058, -+ 0x9F00, 3084, 3090, -+ 0xA000, 3090, 3096, -+ 0xA100, 1576, 1578, -+ 0xA400, 3096, 3110, -+ 0xA500, 1576, 1578, -+ 0xA600, 3110, 3156, -+ 0xA700, 3156, 3214, -+ 0xA800, 3214, 3284, -+ 0xA900, 3284, 3350, -+ 0xAA00, 3350, 3448, -+ 0xAB00, 3448, 3506, -+ 0xAC00, 3072, 3076, - 0xAD00, 0, 2, -- 0xD700, 3488, 3502, -- 0xD800, 3502, 3506, -+ 0xD700, 3506, 3520, -+ 0xD800, 3520, 3524, - 0xD900, 0, 2, -- 0xDB00, 3506, 3514, -- 0xDC00, 3502, 3506, -+ 0xDB00, 3524, 3532, -+ 0xDC00, 3520, 3524, - 0xDD00, 0, 2, -- 0xDF00, 3514, 3518, -- 0xE000, 3518, 3522, -+ 0xDF00, 3532, 3536, -+ 0xE000, 3536, 3540, - 0xE100, 0, 2, -- 0xF800, 3522, 3526, -- 0xF900, 1566, 1568, -- 0xFA00, 3526, 3534, -- 0xFB00, 3534, 3578, -- 0xFC00, 1566, 1568, -- 0xFD00, 3578, 3602, -- 0xFE00, 3602, 3712, -- 0xFF00, 3712, 3832, -- 0x10000, 3832, 3860, -- 0x10100, 3860, 3896, -- 0x10200, 3896, 3912, -- 0x10300, 3912, 3952, -- 0x10400, 3952, 3964, -- 0x10500, 3964, 3976, -- 0x10600, 1566, 1568, -- 0x10700, 3976, 3988, -- 0x10800, 3988, 4040, -- 0x10900, 4040, 4070, -- 0x10A00, 4070, 4136, -- 0x10B00, 4136, 4166, -- 0x10C00, 4166, 4180, -+ 0xF800, 3540, 3544, -+ 0xF900, 1576, 1578, -+ 0xFA00, 3544, 3552, -+ 0xFB00, 3552, 3596, -+ 0xFC00, 1576, 1578, -+ 0xFD00, 3596, 3620, -+ 0xFE00, 3620, 3730, -+ 0xFF00, 3730, 3850, -+ 0x10000, 3850, 3878, -+ 0x10100, 3878, 3914, -+ 0x10200, 3914, 3930, -+ 0x10300, 3930, 3970, -+ 0x10400, 3970, 3990, -+ 0x10500, 3990, 4002, -+ 0x10600, 1576, 1578, -+ 0x10700, 4002, 4014, -+ 0x10800, 4014, 4066, -+ 0x10900, 4066, 4096, -+ 0x10A00, 4096, 4162, -+ 0x10B00, 4162, 4192, -+ 0x10C00, 4192, 4206, - 0x10D00, 0, 2, -- 0x10E00, 4180, 4186, -+ 0x10E00, 4206, 4212, - 0x10F00, 0, 2, -- 0x11000, 4186, 4236, -- 0x11100, 4236, 4302, -- 0x11200, 4302, 4360, -- 0x11300, 4360, 4432, -- 0x11400, 4432, 4464, -- 0x11500, 4464, 4490, -- 0x11600, 4490, 4536, -- 0x11700, 4536, 4562, -- 0x11800, 4562, 4576, -+ 0x11000, 4212, 4262, -+ 0x11100, 4262, 4328, -+ 0x11200, 4328, 4388, -+ 0x11300, 4388, 4460, -+ 0x11400, 4460, 4520, -+ 0x11500, 4520, 4546, -+ 0x11600, 4546, 4596, -+ 0x11700, 4596, 4622, -+ 0x11800, 4622, 4636, - 0x11900, 0, 2, -- 0x11A00, 4576, 4582, -+ 0x11A00, 4636, 4642, - 0x11B00, 0, 2, -- 0x12000, 1566, 1568, -- 0x12300, 4582, 4586, -- 0x12400, 4586, 4596, -- 0x12500, 4596, 4600, -+ 0x11C00, 4642, 4696, -+ 0x11D00, 0, 2, -+ 0x12000, 1576, 1578, -+ 0x12300, 4696, 4700, -+ 0x12400, 4700, 4710, -+ 0x12500, 4710, 4714, - 0x12600, 0, 2, -- 0x13000, 1566, 1568, -- 0x13400, 4600, 4604, -+ 0x13000, 1576, 1578, -+ 0x13400, 4714, 4718, - 0x13500, 0, 2, -- 0x14400, 1566, 1568, -- 0x14600, 4604, 4608, -+ 0x14400, 1576, 1578, -+ 0x14600, 4718, 4722, - 0x14700, 0, 2, -- 0x16800, 1566, 1568, -- 0x16A00, 4608, 4634, -- 0x16B00, 4634, 4666, -+ 0x16800, 1576, 1578, -+ 0x16A00, 4722, 4748, -+ 0x16B00, 4748, 4780, - 0x16C00, 0, 2, -- 0x16F00, 4666, 4682, -- 0x17000, 0, 2, -- 0x1B000, 4682, 4686, -+ 0x16F00, 4780, 4800, -+ 0x17000, 3072, 3076, -+ 0x17100, 0, 2, -+ 0x18700, 4800, 4806, -+ 0x18800, 1576, 1578, -+ 0x18A00, 4806, 4810, -+ 0x18B00, 0, 2, -+ 0x1B000, 4810, 4814, - 0x1B100, 0, 2, -- 0x1BC00, 4686, 4712, -+ 0x1BC00, 4814, 4840, - 0x1BD00, 0, 2, -- 0x1D000, 4712, 4716, -- 0x1D100, 4716, 4746, -- 0x1D200, 4746, 4754, -- 0x1D300, 4754, 4762, -- 0x1D400, 4762, 4818, -- 0x1D500, 4818, 4872, -- 0x1D600, 4872, 4904, -- 0x1D700, 4904, 4946, -- 0x1D800, 2592, 2594, -- 0x1DA00, 4946, 4974, -+ 0x1D000, 4840, 4844, -+ 0x1D100, 4844, 4874, -+ 0x1D200, 4874, 4882, -+ 0x1D300, 4882, 4890, -+ 0x1D400, 4890, 4946, -+ 0x1D500, 4946, 5000, -+ 0x1D600, 5000, 5032, -+ 0x1D700, 5032, 5074, -+ 0x1D800, 2608, 2610, -+ 0x1DA00, 5074, 5102, - 0x1DB00, 0, 2, -- 0x1E800, 4974, 4984, -- 0x1E900, 0, 2, -- 0x1EE00, 4984, 5120, -+ 0x1E000, 5102, 5122, -+ 0x1E100, 0, 2, -+ 0x1E800, 5122, 5132, -+ 0x1E900, 5132, 5148, -+ 0x1EA00, 0, 2, -+ 0x1EE00, 5148, 5284, - 0x1EF00, 0, 2, -- 0x1F000, 5120, 5144, -- 0x1F100, 5144, 5162, -- 0x1F200, 5162, 5178, -- 0x1F300, 5178, 5182, -- 0x1F400, 2592, 2594, -- 0x1F500, 5182, 5192, -- 0x1F600, 5192, 5204, -- 0x1F700, 5204, 5212, -- 0x1F800, 5212, 5232, -- 0x1F900, 5232, 5246, -+ 0x1F000, 5284, 5308, -+ 0x1F100, 5308, 5326, -+ 0x1F200, 5326, 5342, -+ 0x1F300, 5342, 5346, -+ 0x1F400, 2608, 2610, -+ 0x1F600, 5346, 5358, -+ 0x1F700, 5358, 5366, -+ 0x1F800, 5366, 5386, -+ 0x1F900, 5386, 5420, - 0x1FA00, 0, 2, -- 0x20000, 3054, 3058, -+ 0x20000, 3072, 3076, - 0x20100, 0, 2, -- 0x2A600, 5246, 5252, -- 0x2A700, 3054, 3058, -+ 0x2A600, 5420, 5426, -+ 0x2A700, 3072, 3076, - 0x2A800, 0, 2, -- 0x2B700, 5252, 5262, -- 0x2B800, 5262, 5272, -+ 0x2B700, 5426, 5436, -+ 0x2B800, 5436, 5446, - 0x2B900, 0, 2, -- 0x2CE00, 5272, 5278, -+ 0x2CE00, 5446, 5452, - 0x2CF00, 0, 2, -- 0x2F800, 1566, 1568, -- 0x2FA00, 5278, 5282, -+ 0x2F800, 1576, 1578, -+ 0x2FA00, 5452, 5456, - 0x2FB00, 0, 2, -- 0xE0000, 5282, 5292, -- 0xE0100, 5292, 5296, -+ 0xE0000, 5456, 5466, -+ 0xE0100, 5466, 5470, - 0xE0200, 0, 2, -- 0xF0000, 3518, 3522, -+ 0xF0000, 3536, 3540, - 0xF0100, 0, 2, -- 0xFFF00, 5296, 5302, -- 0x100000, 3518, 3522, -+ 0xFFF00, 5470, 5476, -+ 0x100000, 3536, 3540, - 0x100100, 0, 2, -- 0x10FF00, 5296, 5302, -+ 0x10FF00, 5470, 5476, - 0x110000, 0, 2, - }; - const int UnicodeProperty::nproperty_offsets = (sizeof(UnicodeProperty::property_offsets) / (3*sizeof(unsigned int))); -diff -up texlive-base-20170520/source/texk/lcdf-typetools/lcdf-typetools-src/otftotfm/uniprop.hh.git4166ff9 texlive-base-20170520/source/texk/lcdf-typetools/lcdf-typetools-src/otftotfm/uniprop.hh ---- texlive-base-20170520/source/texk/lcdf-typetools/lcdf-typetools-src/otftotfm/uniprop.hh.git4166ff9 2016-11-25 13:08:53.000000000 -0500 -+++ texlive-base-20170520/source/texk/lcdf-typetools/lcdf-typetools-src/otftotfm/uniprop.hh 2018-02-23 12:47:54.095971653 -0500 -@@ -5,15 +5,15 @@ - class UnicodeProperty { public: - - enum { -- P_C = 000, P_Cn = 000, P_Co = 001, P_Cs = 002, P_Cf = 003, P_Cc = 004, -- P_Z = 010, P_Zs = 010, P_Zl = 011, P_Zp = 012, -- P_M = 020, P_Mn = 020, P_Mc = 021, P_Me = 022, -- P_L = 030, P_Lo = 030, P_Lu = 031, P_Ll = 032, P_Lt = 033, P_Lm = 034, -- P_N = 040, P_No = 040, P_Nd = 041, P_Nl = 042, -- P_P = 050, P_Po = 050, P_Pc = 051, P_Pd = 052, P_Ps = 053, P_Pe = 054, P_Pi = 055, P_Pf = 056, -- P_S = 060, P_So = 060, P_Sm = 061, P_Sc = 062, P_Sk = 063, -- P_TMASK = 0370, -- P_MAX = 0377 -+ P_C = 000, P_Cn = 000, P_Co = 001, P_Cs = 002, P_Cf = 003, P_Cc = 004, -+ P_Z = 010, P_Zs = 010, P_Zl = 011, P_Zp = 012, -+ P_M = 020, P_Mn = 020, P_Mc = 021, P_Me = 022, -+ P_L = 030, P_Lo = 030, P_Lu = 031, P_Ll = 032, P_Lt = 033, P_Lm = 034, -+ P_N = 040, P_No = 040, P_Nd = 041, P_Nl = 042, -+ P_P = 050, P_Po = 050, P_Pc = 051, P_Pd = 052, P_Ps = 053, P_Pe = 054, P_Pi = 055, P_Pf = 056, -+ P_S = 060, P_So = 060, P_Sm = 061, P_Sc = 062, P_Sk = 063, -+ P_TMASK = 0370, -+ P_MAX = 0377 - }; - - static int property(uint32_t uni); -diff -up texlive-base-20170520/source/texk/lcdf-typetools/lcdf-typetools-src/otftotfm/util.cc.git4166ff9 texlive-base-20170520/source/texk/lcdf-typetools/lcdf-typetools-src/otftotfm/util.cc ---- texlive-base-20170520/source/texk/lcdf-typetools/lcdf-typetools-src/otftotfm/util.cc.git4166ff9 2016-11-25 13:08:53.000000000 -0500 -+++ texlive-base-20170520/source/texk/lcdf-typetools/lcdf-typetools-src/otftotfm/util.cc 2018-02-23 12:47:54.095971653 -0500 -@@ -1,6 +1,6 @@ - /* util.{cc,hh} -- various bits - * -- * Copyright (c) 2003-2016 Eddie Kohler -+ * Copyright (c) 2003-2018 Eddie Kohler - * - * 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 -@@ -37,30 +37,30 @@ read_file(String filename, ErrorHandler - { - FILE *f; - if (!filename || filename == "-") { -- filename = ""; -- f = stdin; -+ filename = ""; -+ f = stdin; - #if defined(_MSDOS) || defined(_WIN32) -- // Set the file mode to binary -- _setmode(_fileno(f), _O_BINARY); -+ // Set the file mode to binary -+ _setmode(_fileno(f), _O_BINARY); - #endif - } else if (!(f = fopen(filename.c_str(), "rb"))) { -- errh->xmessage((warning ? errh->e_warning : errh->e_error) + ErrorHandler::make_landmark_anno(filename), strerror(errno)); -- return String(); -+ errh->xmessage((warning ? errh->e_warning : errh->e_error) + ErrorHandler::make_landmark_anno(filename), strerror(errno)); -+ return String(); - } - - StringAccum sa; - int amt; - do { -- if (char *x = sa.reserve(8192)) { -- amt = fread(x, 1, 8192, f); -- sa.adjust_length(amt); -- } else -- amt = 0; -+ if (char *x = sa.reserve(8192)) { -+ amt = fread(x, 1, 8192, f); -+ sa.adjust_length(amt); -+ } else -+ amt = 0; - } while (amt != 0); - if (!feof(f) || ferror(f)) -- errh->xmessage((warning ? errh->e_warning : errh->e_error) + ErrorHandler::make_landmark_anno(filename), strerror(errno)); -+ errh->xmessage((warning ? errh->e_warning : errh->e_error) + ErrorHandler::make_landmark_anno(filename), strerror(errno)); - if (f != stdin) -- fclose(f); -+ fclose(f); - return sa.take_string(); - } - -@@ -68,9 +68,9 @@ String - printable_filename(const String &s) - { - if (!s || s == "-") -- return String::make_stable(""); -+ return String::make_stable(""); - else -- return s; -+ return s; - } - - String -@@ -78,19 +78,19 @@ pathname_filename(const String &path) - { - int slash = path.find_right('/'); - if (slash >= 0 && slash != path.length() - 1) -- return path.substring(slash + 1); -+ return path.substring(slash + 1); - else -- return path; -+ return path; - } - - static String - simplify_filename(String x) - { - while (x.substring(0, 2) == "./") -- x = x.substring(2); -+ x = x.substring(2); - int pos; - while ((pos = x.find_left("/./")) >= 0) -- x = x.substring(0, pos) + x.substring(pos + 2); -+ x = x.substring(0, pos) + x.substring(pos + 2); - return x; - } - -@@ -104,7 +104,7 @@ String - shell_quote(const String &str) - { - if (!str) -- return String::make_stable("\"\""); -+ return String::make_stable("\"\""); - - const char *begin = str.begin(); - const char *end = str.end(); -@@ -114,35 +114,35 @@ shell_quote(const String &str) - sa.append('\"'); - - for (const char *s = begin; s < end; ++s) -- if (isalnum((unsigned char) *s) || *s == '_' || *s == '-' || *s == '+' || *s == '\\' || *s == ':' || *s == '.') -- /* do nothing */; -- else if (*s == '\"') { -- sa.append(begin, s); -- sa.append("\"\"\"", 3); -- begin = s + 1; -- } else { -- sa.append(begin, s + 1); -- begin = s + 1; -- } -+ if (isalnum((unsigned char) *s) || *s == '_' || *s == '-' || *s == '+' || *s == '\\' || *s == ':' || *s == '.') -+ /* do nothing */; -+ else if (*s == '\"') { -+ sa.append(begin, s); -+ sa.append("\"\"\"", 3); -+ begin = s + 1; -+ } else { -+ sa.append(begin, s + 1); -+ begin = s + 1; -+ } - - if (sa.length() > 1) { -- sa.append(begin, end); -- sa.append('\"'); -- return sa.take_string(); -+ sa.append(begin, end); -+ sa.append('\"'); -+ return sa.take_string(); - } - #else - for (const char *s = begin; s < end; s++) -- if (isalnum((unsigned char) *s) || *s == '_' || *s == '-' || *s == '+' || *s == '/' || *s == ':' || *s == '.') -- /* do nothing */; -- else { -- sa.append(begin, s); -- sa.append('\\'); -- begin = s; -- } -+ if (isalnum((unsigned char) *s) || *s == '_' || *s == '-' || *s == '+' || *s == '/' || *s == ':' || *s == '.') -+ /* do nothing */; -+ else { -+ sa.append(begin, s); -+ sa.append('\\'); -+ begin = s; -+ } - - if (sa.length()) { -- sa.append(begin, end); -- return sa.take_string(); -+ sa.append(begin, end); -+ return sa.take_string(); - } - #endif - -@@ -153,12 +153,25 @@ int - mysystem(const char *command, ErrorHandler *errh) - { - if (no_create) { -- errh->message("would run %s", command); -- return 0; -+ errh->message("would run %s", command); -+ return 0; - } else { -- if (verbose) -- errh->message("running %s", command); -- return system(command); -+ if (verbose) -+ errh->message("running %s", command); -+ return system(command); -+ } -+} -+ -+FILE* -+mypopen(const char* command, const char* type, ErrorHandler* errh) -+{ -+ if (no_create) { -+ errh->message("would run %s", command); -+ return popen("true", type); -+ } else { -+ if (verbose) -+ errh->message("running %s", command); -+ return popen(command, type); - } - } - -@@ -179,34 +192,34 @@ int - temporary_file(String &filename, ErrorHandler *errh) - { - if (no_create) -- return 0; // random number suffices -+ return 0; // random number suffices - - #if HAVE_MKSTEMP - const char *tmpdir = getenv("TMPDIR"); - if (tmpdir) -- filename = String(tmpdir) + "/otftotfm.XXXXXX"; -+ filename = String(tmpdir) + "/otftotfm.XXXXXX"; - else { - # ifdef P_tmpdir -- filename = P_tmpdir "/otftotfm.XXXXXX"; -+ filename = P_tmpdir "/otftotfm.XXXXXX"; - # else -- filename = "/tmp/otftotfm.XXXXXX"; -+ filename = "/tmp/otftotfm.XXXXXX"; - # endif - } - int fd = mkstemp(filename.mutable_c_str()); - if (fd < 0) -- errh->error("temporary file %<%s%>: %s", filename.c_str(), strerror(errno)); -+ errh->error("temporary file %<%s%>: %s", filename.c_str(), strerror(errno)); - return fd; - #else // !HAVE_MKSTEMP - for (int tries = 0; tries < 5; tries++) { -- if (!(filename = my_tmpnam())) -- return errh->error("cannot create temporary file"); -+ if (!(filename = my_tmpnam())) -+ return errh->error("cannot create temporary file"); - # ifdef O_EXCL -- int fd = ::open(filename.c_str(), O_RDWR | O_CREAT | O_EXCL | O_TRUNC, 0600); -+ int fd = ::open(filename.c_str(), O_RDWR | O_CREAT | O_EXCL | O_TRUNC, 0600); - # else -- int fd = ::open(filename.c_str(), O_RDWR | O_CREAT | O_TRUNC, 0600); -+ int fd = ::open(filename.c_str(), O_RDWR | O_CREAT | O_TRUNC, 0600); - # endif -- if (fd >= 0) -- return fd; -+ if (fd >= 0) -+ return fd; - } - return errh->error("temporary file %<%s%>: %s", filename.c_str(), strerror(errno)); - #endif -@@ -217,34 +230,34 @@ parse_unicode_number(const char* begin, - { - bool allow_lower = (require_prefix == 1); - if (require_prefix < 0) -- /* do not look for prefix */; -+ /* do not look for prefix */; - else if (begin + 7 == end && begin[0] == 'u' && begin[1] == 'n' && begin[2] == 'i') -- begin += 3; -+ begin += 3; - else if (begin + 5 <= end && begin + 7 >= end && begin[0] == 'u') -- begin++; -+ begin++; - else if (begin + 3 <= end && begin + 8 >= end && begin[0] == 'U' && begin[1] == '+') -- begin += 2, allow_lower = true; -+ begin += 2, allow_lower = true; - else if (require_prefix > 1) -- /* some prefix was required */ -- return false; -+ /* some prefix was required */ -+ return false; - - uint32_t value; - for (value = 0; begin < end; begin++) -- if (*begin >= '0' && *begin <= '9') -- value = (value << 4) | (*begin - '0'); -- else if (*begin >= 'A' && *begin <= 'F') -- value = (value << 4) | (*begin - 'A' + 10); -- else if (allow_lower && *begin >= 'a' && *begin <= 'f') -- value = (value << 4) | (*begin - 'a' + 10); -- else -- return false; -+ if (*begin >= '0' && *begin <= '9') -+ value = (value << 4) | (*begin - '0'); -+ else if (*begin >= 'A' && *begin <= 'F') -+ value = (value << 4) | (*begin - 'A' + 10); -+ else if (allow_lower && *begin >= 'a' && *begin <= 'f') -+ value = (value << 4) | (*begin - 'a' + 10); -+ else -+ return false; - - if (value > 0 -- && (value <= 0xD7FF || (value >= 0xE000 && value <= 0x10FFFF))) { -- result = value; -- return true; -+ && (value <= 0xD7FF || (value >= 0xE000 && value <= 0x10FFFF))) { -+ result = value; -+ return true; - } else -- return false; -+ return false; - } - - #if 0 -@@ -253,7 +266,7 @@ shell_command_output(String cmdline, con - { - FILE *f = tmpfile(); - if (!f) -- errh->fatal("cannot create temporary file: %s", strerror(errno)); -+ errh->fatal("cannot create temporary file: %s", strerror(errno)); - ignore_result(fwrite(input.data(), 1, input.length(), f)); - fflush(f); - rewind(f); -@@ -261,26 +274,26 @@ shell_command_output(String cmdline, con - String new_cmdline = cmdline + " 0<&" + String(fileno(f)); - FILE *p = popen(new_cmdline.c_str(), "r"); - if (!p) -- errh->fatal("%<%s%>: %s", cmdline.c_str(), strerror(errno)); -+ errh->fatal("%<%s%>: %s", cmdline.c_str(), strerror(errno)); - - StringAccum sa; - int amt; - do { -- if (char *x = sa.reserve(2048)) { -- amt = fread(x, 1, 2048, p); -- sa.adjust_length(amt); -- } else -- amt = 0; -+ if (char *x = sa.reserve(2048)) { -+ amt = fread(x, 1, 2048, p); -+ sa.adjust_length(amt); -+ } else -+ amt = 0; - } while (amt != 0 && sa.length() < 200000); - if (amt != 0) -- errh->warning("%<%s%> output too long, truncated", cmdline.c_str()); -+ errh->warning("%<%s%> output too long, truncated", cmdline.c_str()); - else if (!feof(p) || ferror(p)) -- errh->error("%<%s%>: %s", cmdline.c_str(), strerror(errno)); -+ errh->error("%<%s%>: %s", cmdline.c_str(), strerror(errno)); - - fclose(f); - pclose(p); - while (strip_newlines && sa && (sa.back() == '\n' || sa.back() == '\r')) -- sa.pop_back(); -+ sa.pop_back(); - return sa.take_string(); - } - #endif -diff -up texlive-base-20170520/source/texk/lcdf-typetools/lcdf-typetools-src/otftotfm/util.hh.git4166ff9 texlive-base-20170520/source/texk/lcdf-typetools/lcdf-typetools-src/otftotfm/util.hh ---- texlive-base-20170520/source/texk/lcdf-typetools/lcdf-typetools-src/otftotfm/util.hh.git4166ff9 2016-11-25 13:08:53.000000000 -0500 -+++ texlive-base-20170520/source/texk/lcdf-typetools/lcdf-typetools-src/otftotfm/util.hh 2018-02-23 12:47:54.095971653 -0500 -@@ -2,6 +2,7 @@ - #define OTFTOTFM_UTIL_HH - #include - #include -+#include - class ErrorHandler; - - extern bool no_create; -@@ -12,7 +13,7 @@ enum { G_ENCODING = 1, G_METRICS = 2, G_ - G_PSFONTSMAP = 16, G_BINARY = 32, G_ASCII = 64, G_DOTLESSJ = 128, - G_UPDMAP = 256, G_TRUETYPE = 512, G_TYPE42 = 1024 }; - --extern int output_flags; -+extern unsigned output_flags; - - String read_file(String filename, ErrorHandler *, bool warn = false); - String printable_filename(const String &); -@@ -21,6 +22,7 @@ bool same_filename(const String &a, cons - String shell_quote(const String &); - int temporary_file(String &, ErrorHandler *); - int mysystem(const char *command, ErrorHandler *); -+FILE* mypopen(const char* command, const char* type, ErrorHandler* errh); - bool parse_unicode_number(const char*, const char*, int require_prefix, uint32_t& result); - - #ifdef WIN32 -diff -up texlive-base-20170520/source/texk/lcdf-typetools/lcdf-typetools-src/README.md.git4166ff9 texlive-base-20170520/source/texk/lcdf-typetools/lcdf-typetools-src/README.md ---- texlive-base-20170520/source/texk/lcdf-typetools/lcdf-typetools-src/README.md.git4166ff9 2016-11-25 13:08:53.000000000 -0500 -+++ texlive-base-20170520/source/texk/lcdf-typetools/lcdf-typetools-src/README.md 2018-02-23 12:47:54.095971653 -0500 -@@ -99,7 +99,7 @@ named `FONTNAME.afm` -- `MyriadMM-LightC - Copyright and license - --------------------- - --All source code is Copyright (c) 1997-2016 Eddie Kohler. -+All source code is Copyright (c) 1997-2018 Eddie Kohler. - - This code is distributed under the GNU General Public License, Version 2 - (and only Version 2). The GNU General Public License is available via the -diff -up texlive-base-20170520/source/texk/lcdf-typetools/lcdf-typetools-src/t1dotlessj/t1dotlessj.1.git4166ff9 texlive-base-20170520/source/texk/lcdf-typetools/lcdf-typetools-src/t1dotlessj/t1dotlessj.1 ---- texlive-base-20170520/source/texk/lcdf-typetools/lcdf-typetools-src/t1dotlessj/t1dotlessj.1.git4166ff9 2016-11-25 13:08:53.000000000 -0500 -+++ texlive-base-20170520/source/texk/lcdf-typetools/lcdf-typetools-src/t1dotlessj/t1dotlessj.1 2018-02-23 12:47:54.096971628 -0500 -@@ -1,4 +1,4 @@ --.ds V 2.106 -+.ds V 2.107 - .de M - .BR "\\$1" "(\\$2)\\$3" - .. -diff -up texlive-base-20170520/source/texk/lcdf-typetools/lcdf-typetools-src/t1dotlessj/t1dotlessj.cc.git4166ff9 texlive-base-20170520/source/texk/lcdf-typetools/lcdf-typetools-src/t1dotlessj/t1dotlessj.cc ---- texlive-base-20170520/source/texk/lcdf-typetools/lcdf-typetools-src/t1dotlessj/t1dotlessj.cc.git4166ff9 2016-11-25 13:08:53.000000000 -0500 -+++ texlive-base-20170520/source/texk/lcdf-typetools/lcdf-typetools-src/t1dotlessj/t1dotlessj.cc 2018-02-23 12:47:54.096971628 -0500 -@@ -1,6 +1,6 @@ - /* t1dotlessj.cc -- driver for creating dotlessj characters from Type 1 fonts - * -- * Copyright (c) 2003-2016 Eddie Kohler -+ * Copyright (c) 2003-2018 Eddie Kohler - * - * 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 -@@ -317,7 +317,7 @@ main(int argc, char *argv[]) - - case VERSION_OPT: - printf("t1dotlessj (LCDF typetools) %s\n", VERSION); -- printf("Copyright (C) 2003-2016 Eddie Kohler\n\ -+ printf("Copyright (C) 2003-2018 Eddie Kohler\n\ - This is free software; see the source for copying conditions.\n\ - There is NO warranty, not even for merchantability or fitness for a\n\ - particular purpose.\n"); -@@ -410,10 +410,10 @@ particular purpose.\n"); - // write it to output - if (!outputf) - outputf = stdout; -+ if (binary) { - #if defined(_MSDOS) || defined(_WIN32) -- _setmode(_fileno(outputf), _O_BINARY); -+ _setmode(_fileno(outputf), _O_BINARY); - #endif -- if (binary) { - Type1PFBWriter w(outputf); - dotless_font->write(w); - } else { -diff -up texlive-base-20170520/source/texk/lcdf-typetools/lcdf-typetools-src/t1lint/cscheck.cc.git4166ff9 texlive-base-20170520/source/texk/lcdf-typetools/lcdf-typetools-src/t1lint/cscheck.cc ---- texlive-base-20170520/source/texk/lcdf-typetools/lcdf-typetools-src/t1lint/cscheck.cc.git4166ff9 2016-11-25 13:08:53.000000000 -0500 -+++ texlive-base-20170520/source/texk/lcdf-typetools/lcdf-typetools-src/t1lint/cscheck.cc 2018-02-23 12:47:54.096971628 -0500 -@@ -1,6 +1,6 @@ - /* cscheck.{cc,hh} -- checking Type 1 charstrings for validity - * -- * Copyright (c) 1999-2016 Eddie Kohler -+ * Copyright (c) 1999-2018 Eddie Kohler - * - * 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 -diff -up texlive-base-20170520/source/texk/lcdf-typetools/lcdf-typetools-src/t1lint/t1lint.1.git4166ff9 texlive-base-20170520/source/texk/lcdf-typetools/lcdf-typetools-src/t1lint/t1lint.1 ---- texlive-base-20170520/source/texk/lcdf-typetools/lcdf-typetools-src/t1lint/t1lint.1.git4166ff9 2016-11-25 13:08:53.000000000 -0500 -+++ texlive-base-20170520/source/texk/lcdf-typetools/lcdf-typetools-src/t1lint/t1lint.1 2018-02-23 12:47:54.096971628 -0500 -@@ -1,4 +1,4 @@ --.ds V 2.106 -+.ds V 2.107 - .de M - .BR "\\$1" "(\\$2)\\$3" - .. -diff -up texlive-base-20170520/source/texk/lcdf-typetools/lcdf-typetools-src/t1lint/t1lint.cc.git4166ff9 texlive-base-20170520/source/texk/lcdf-typetools/lcdf-typetools-src/t1lint/t1lint.cc ---- texlive-base-20170520/source/texk/lcdf-typetools/lcdf-typetools-src/t1lint/t1lint.cc.git4166ff9 2016-11-25 13:08:53.000000000 -0500 -+++ texlive-base-20170520/source/texk/lcdf-typetools/lcdf-typetools-src/t1lint/t1lint.cc 2018-02-23 12:47:54.096971628 -0500 -@@ -1,6 +1,6 @@ - /* t1lint.cc -- driver for checking Type 1 fonts for validity - * -- * Copyright (c) 1999-2016 Eddie Kohler -+ * Copyright (c) 1999-2018 Eddie Kohler - * - * 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 -@@ -412,7 +412,7 @@ main(int argc, char *argv[]) - - case VERSION_OPT: - printf("t1lint (LCDF typetools) %s\n", VERSION); -- printf("Copyright (C) 1999-2016 Eddie Kohler\n\ -+ printf("Copyright (C) 1999-2018 Eddie Kohler\n\ - This is free software; see the source for copying conditions.\n\ - There is NO warranty, not even for merchantability or fitness for a\n\ - particular purpose.\n"); -diff -up texlive-base-20170520/source/texk/lcdf-typetools/lcdf-typetools-src/t1rawafm/t1rawafm.1.git4166ff9 texlive-base-20170520/source/texk/lcdf-typetools/lcdf-typetools-src/t1rawafm/t1rawafm.1 ---- texlive-base-20170520/source/texk/lcdf-typetools/lcdf-typetools-src/t1rawafm/t1rawafm.1.git4166ff9 2016-11-25 13:08:53.000000000 -0500 -+++ texlive-base-20170520/source/texk/lcdf-typetools/lcdf-typetools-src/t1rawafm/t1rawafm.1 2018-02-23 12:47:54.096971628 -0500 -@@ -1,4 +1,4 @@ --.ds V 2.106 -+.ds V 2.107 - .de M - .BR "\\$1" "(\\$2)\\$3" - .. -diff -up texlive-base-20170520/source/texk/lcdf-typetools/lcdf-typetools-src/t1rawafm/t1rawafm.cc.git4166ff9 texlive-base-20170520/source/texk/lcdf-typetools/lcdf-typetools-src/t1rawafm/t1rawafm.cc ---- texlive-base-20170520/source/texk/lcdf-typetools/lcdf-typetools-src/t1rawafm/t1rawafm.cc.git4166ff9 2016-11-25 13:08:53.000000000 -0500 -+++ texlive-base-20170520/source/texk/lcdf-typetools/lcdf-typetools-src/t1rawafm/t1rawafm.cc 2018-02-23 12:47:54.096971628 -0500 -@@ -1,6 +1,6 @@ - /* t1rawafm.cc -- driver for generating a raw AFM file from a font - * -- * Copyright (c) 2008-2016 Eddie Kohler -+ * Copyright (c) 2008-2018 Eddie Kohler - * - * 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 -@@ -315,7 +315,7 @@ main(int argc, char *argv[]) - - case VERSION_OPT: - printf("t1rawafm (LCDF typetools) %s\n", VERSION); -- printf("Copyright (C) 2008-2016 Eddie Kohler\n\ -+ printf("Copyright (C) 2008-2018 Eddie Kohler\n\ - This is free software; see the source for copying conditions.\n\ - There is NO warranty, not even for merchantability or fitness for a\n\ - particular purpose.\n"); -@@ -359,9 +359,6 @@ particular purpose.\n"); - if (!outf) - errh->fatal("%s: %s", output_file, strerror(errno)); - } --#if defined(_MSDOS) || defined(_WIN32) -- _setmode(_fileno(outf), _O_BINARY); --#endif - - write_afm(outf, font); - -diff -up texlive-base-20170520/source/texk/lcdf-typetools/lcdf-typetools-src/t1reencode/t1reencode.1.git4166ff9 texlive-base-20170520/source/texk/lcdf-typetools/lcdf-typetools-src/t1reencode/t1reencode.1 ---- texlive-base-20170520/source/texk/lcdf-typetools/lcdf-typetools-src/t1reencode/t1reencode.1.git4166ff9 2016-11-25 13:08:53.000000000 -0500 -+++ texlive-base-20170520/source/texk/lcdf-typetools/lcdf-typetools-src/t1reencode/t1reencode.1 2018-02-23 12:47:54.097971603 -0500 -@@ -1,4 +1,4 @@ --.ds V 2.106 -+.ds V 2.107 - .de M - .BR "\\$1" "(\\$2)\\$3" - .. -diff -up texlive-base-20170520/source/texk/lcdf-typetools/lcdf-typetools-src/t1reencode/t1reencode.cc.git4166ff9 texlive-base-20170520/source/texk/lcdf-typetools/lcdf-typetools-src/t1reencode/t1reencode.cc ---- texlive-base-20170520/source/texk/lcdf-typetools/lcdf-typetools-src/t1reencode/t1reencode.cc.git4166ff9 2016-11-25 13:08:53.000000000 -0500 -+++ texlive-base-20170520/source/texk/lcdf-typetools/lcdf-typetools-src/t1reencode/t1reencode.cc 2018-02-23 12:47:54.097971603 -0500 -@@ -1,6 +1,6 @@ - /* t1reencode.cc -- driver for reencoding Type 1 fonts - * -- * Copyright (c) 2005-2016 Eddie Kohler -+ * Copyright (c) 2005-2018 Eddie Kohler - * - * 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 -@@ -978,7 +978,7 @@ main(int argc, char *argv[]) - - case VERSION_OPT: - printf("t1reencode (LCDF typetools) %s\n", VERSION); -- printf("Copyright (C) 1999-2016 Eddie Kohler\n\ -+ printf("Copyright (C) 1999-2018 Eddie Kohler\n\ - This is free software; see the source for copying conditions.\n\ - There is NO warranty, not even for merchantability or fitness for a\n\ - particular purpose.\n"); -@@ -1094,10 +1094,10 @@ particular purpose.\n"); - if (!outf) - errh->fatal("%s: %s", output_file, strerror(errno)); - } -+ if (binary) { - #if defined(_MSDOS) || defined(_WIN32) -- _setmode(_fileno(outf), _O_BINARY); -+ _setmode(_fileno(outf), _O_BINARY); - #endif -- if (binary) { - Type1PFBWriter w(outf); - font->write(w); - } else { -diff -up texlive-base-20170520/source/texk/lcdf-typetools/lcdf-typetools-src/t1reencode/util.cc.git4166ff9 texlive-base-20170520/source/texk/lcdf-typetools/lcdf-typetools-src/t1reencode/util.cc ---- texlive-base-20170520/source/texk/lcdf-typetools/lcdf-typetools-src/t1reencode/util.cc.git4166ff9 2016-11-25 13:08:53.000000000 -0500 -+++ texlive-base-20170520/source/texk/lcdf-typetools/lcdf-typetools-src/t1reencode/util.cc 2018-02-23 12:47:54.097971603 -0500 -@@ -1,6 +1,6 @@ - /* util.{cc,hh} -- various bits - * -- * Copyright (c) 2003-2016 Eddie Kohler -+ * Copyright (c) 2003-2018 Eddie Kohler - * - * 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 -diff -up texlive-base-20170520/source/texk/lcdf-typetools/lcdf-typetools-src/t1testpage/t1testpage.1.git4166ff9 texlive-base-20170520/source/texk/lcdf-typetools/lcdf-typetools-src/t1testpage/t1testpage.1 ---- texlive-base-20170520/source/texk/lcdf-typetools/lcdf-typetools-src/t1testpage/t1testpage.1.git4166ff9 2016-11-25 13:08:53.000000000 -0500 -+++ texlive-base-20170520/source/texk/lcdf-typetools/lcdf-typetools-src/t1testpage/t1testpage.1 2018-02-23 12:47:54.097971603 -0500 -@@ -1,4 +1,4 @@ --.ds V 2.106 -+.ds V 2.107 - .de M - .BR "\\$1" "(\\$2)\\$3" - .. -diff -up texlive-base-20170520/source/texk/lcdf-typetools/lcdf-typetools-src/t1testpage/t1testpage.cc.git4166ff9 texlive-base-20170520/source/texk/lcdf-typetools/lcdf-typetools-src/t1testpage/t1testpage.cc ---- texlive-base-20170520/source/texk/lcdf-typetools/lcdf-typetools-src/t1testpage/t1testpage.cc.git4166ff9 2016-11-25 13:08:53.000000000 -0500 -+++ texlive-base-20170520/source/texk/lcdf-typetools/lcdf-typetools-src/t1testpage/t1testpage.cc 2018-02-23 12:47:54.097971603 -0500 -@@ -1,6 +1,6 @@ - /* t1testpage.cc -- driver for generating Type 1 fonts' test pages - * -- * Copyright (c) 1999-2016 Eddie Kohler -+ * Copyright (c) 1999-2018 Eddie Kohler - * - * 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 -@@ -624,7 +624,7 @@ main(int argc, char *argv[]) - - case VERSION_OPT: - printf("t1testpage (LCDF typetools) %s\n", VERSION); -- printf("Copyright (C) 1999-2016 Eddie Kohler\n\ -+ printf("Copyright (C) 1999-2018 Eddie Kohler\n\ - This is free software; see the source for copying conditions.\n\ - There is NO warranty, not even for merchantability or fitness for a\n\ - particular purpose.\n"); -@@ -665,9 +665,6 @@ particular purpose.\n"); - if (!outf) - errh->fatal("%s: %s", output_file, strerror(errno)); - } --#if defined(_MSDOS) || defined(_WIN32) -- _setmode(_fileno(outf), _O_BINARY); --#endif - - //font->undo_synthetic(); - -diff -up texlive-base-20170520/source/texk/lcdf-typetools/lcdf-typetools-src/ttftotype42/ttftotype42.1.git4166ff9 texlive-base-20170520/source/texk/lcdf-typetools/lcdf-typetools-src/ttftotype42/ttftotype42.1 ---- texlive-base-20170520/source/texk/lcdf-typetools/lcdf-typetools-src/ttftotype42/ttftotype42.1.git4166ff9 2016-11-25 13:08:53.000000000 -0500 -+++ texlive-base-20170520/source/texk/lcdf-typetools/lcdf-typetools-src/ttftotype42/ttftotype42.1 2018-02-23 12:47:54.097971603 -0500 -@@ -1,4 +1,4 @@ --.ds V 2.106 -+.ds V 2.107 - .de M - .BR "\\$1" "(\\$2)\\$3" - .. -diff -up texlive-base-20170520/source/texk/lcdf-typetools/lcdf-typetools-src/ttftotype42/ttftotype42.cc.git4166ff9 texlive-base-20170520/source/texk/lcdf-typetools/lcdf-typetools-src/ttftotype42/ttftotype42.cc ---- texlive-base-20170520/source/texk/lcdf-typetools/lcdf-typetools-src/ttftotype42/ttftotype42.cc.git4166ff9 2016-11-25 13:08:53.000000000 -0500 -+++ texlive-base-20170520/source/texk/lcdf-typetools/lcdf-typetools-src/ttftotype42/ttftotype42.cc 2018-02-23 12:47:54.098971578 -0500 -@@ -1,6 +1,6 @@ - /* ttftotype42.cc -- driver for translating TrueType fonts to Type 42 fonts - * -- * Copyright (c) 2006-2016 Eddie Kohler -+ * Copyright (c) 2006-2018 Eddie Kohler - * - * 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 -@@ -355,7 +355,7 @@ main(int argc, char *argv[]) - - case VERSION_OPT: - printf("ttftotype42 (LCDF typetools) %s\n", VERSION); -- printf("Copyright (C) 2006-2016 Eddie Kohler\n\ -+ printf("Copyright (C) 2006-2018 Eddie Kohler\n\ - This is free software; see the source for copying conditions.\n\ - There is NO warranty, not even for merchantability or fitness for a\n\ - particular purpose.\n"); diff --git a/texlive-base-libpaperv2.patch b/texlive-base-libpaperv2.patch deleted file mode 100644 index a764bde..0000000 --- a/texlive-base-libpaperv2.patch +++ /dev/null @@ -1,102 +0,0 @@ -diff -up texlive-base-20220321/source/texk/psutils/tests/playres.ps.libpaper2 texlive-base-20220321/source/texk/psutils/tests/playres.ps ---- texlive-base-20220321/source/texk/psutils/tests/playres.ps.libpaper2 2023-01-08 23:22:46.519324804 -0500 -+++ texlive-base-20220321/source/texk/psutils/tests/playres.ps 2023-01-08 23:22:56.824405896 -0500 -@@ -280,7 +280,7 @@ PStoPSmatrix setmatrix - 0.704762 dup scale - userdict/PStoPSmatrix matrix currentmatrix put - userdict/PStoPSclip{0 0 moveto -- 595.275591 0 rlineto 0 844.647799 rlineto -595.275591 0 rlineto -+ 595.275591 0 rlineto 0 844.647797 rlineto -595.275591 0 rlineto - closepath}put initclip - PStoPSxform concat - TeXDict begin 15 4 bop 330 423 a Fb(5)2834 b(5)1622 3275 -@@ -293,7 +293,7 @@ PStoPSmatrix setmatrix - 0.704762 dup scale - userdict/PStoPSmatrix matrix currentmatrix put - userdict/PStoPSclip{0 0 moveto -- 595.275591 0 rlineto 0 844.647799 rlineto -595.275591 0 rlineto -+ 595.275591 0 rlineto 0 844.647797 rlineto -595.275591 0 rlineto - closepath}put initclip - PStoPSxform concat - TeXDict begin 16 5 bop 330 419 a Fb(6)2834 b(6)1622 3264 -@@ -306,7 +306,7 @@ PStoPSmatrix setmatrix - 0.704762 dup scale - userdict/PStoPSmatrix matrix currentmatrix put - userdict/PStoPSclip{0 0 moveto -- 595.275591 0 rlineto 0 844.647799 rlineto -595.275591 0 rlineto -+ 595.275591 0 rlineto 0 844.647797 rlineto -595.275591 0 rlineto - closepath}put initclip - PStoPSxform concat - TeXDict begin 17 6 bop 330 419 a Fb(7)2834 b(7)1622 3266 -@@ -319,7 +319,7 @@ PStoPSmatrix setmatrix - 0.704762 dup scale - userdict/PStoPSmatrix matrix currentmatrix put - userdict/PStoPSclip{0 0 moveto -- 595.275591 0 rlineto 0 844.647799 rlineto -595.275591 0 rlineto -+ 595.275591 0 rlineto 0 844.647797 rlineto -595.275591 0 rlineto - closepath}put initclip - PStoPSxform concat - TeXDict begin 18 7 bop 330 419 a Fb(8)2834 b(8)1622 3264 -@@ -332,7 +332,7 @@ PStoPSmatrix setmatrix - 0.704762 dup scale - userdict/PStoPSmatrix matrix currentmatrix put - userdict/PStoPSclip{0 0 moveto -- 595.275591 0 rlineto 0 844.647799 rlineto -595.275591 0 rlineto -+ 595.275591 0 rlineto 0 844.647797 rlineto -595.275591 0 rlineto - closepath}put initclip - PStoPSxform concat - TeXDict begin 19 8 bop 330 419 a Fb(9)2834 b(9)1622 3261 -@@ -345,7 +345,7 @@ PStoPSmatrix setmatrix - 0.704762 dup scale - userdict/PStoPSmatrix matrix currentmatrix put - userdict/PStoPSclip{0 0 moveto -- 595.275591 0 rlineto 0 844.647799 rlineto -595.275591 0 rlineto -+ 595.275591 0 rlineto 0 844.647797 rlineto -595.275591 0 rlineto - closepath}put initclip - PStoPSxform concat - TeXDict begin 20 9 bop 330 419 a Fb(10)2668 b(10)1415 -@@ -358,7 +358,7 @@ PStoPSmatrix setmatrix - 0.704762 dup scale - userdict/PStoPSmatrix matrix currentmatrix put - userdict/PStoPSclip{0 0 moveto -- 595.275591 0 rlineto 0 844.647799 rlineto -595.275591 0 rlineto -+ 595.275591 0 rlineto 0 844.647797 rlineto -595.275591 0 rlineto - closepath}put initclip - PStoPSxform concat - TeXDict begin 21 10 bop 330 419 a Fb(11)2668 b(11)1415 -@@ -371,7 +371,7 @@ PStoPSmatrix setmatrix - 0.704762 dup scale - userdict/PStoPSmatrix matrix currentmatrix put - userdict/PStoPSclip{0 0 moveto -- 595.275591 0 rlineto 0 844.647799 rlineto -595.275591 0 rlineto -+ 595.275591 0 rlineto 0 844.647797 rlineto -595.275591 0 rlineto - closepath}put initclip - PStoPSxform concat - TeXDict begin 22 11 bop 330 419 a Fb(12)2668 b(12)1415 -@@ -384,7 +384,7 @@ PStoPSmatrix setmatrix - 0.704762 dup scale - userdict/PStoPSmatrix matrix currentmatrix put - userdict/PStoPSclip{0 0 moveto -- 595.275591 0 rlineto 0 844.647799 rlineto -595.275591 0 rlineto -+ 595.275591 0 rlineto 0 844.647797 rlineto -595.275591 0 rlineto - closepath}put initclip - PStoPSxform concat - TeXDict begin 23 12 bop 330 419 a Fb(13)2668 b(13)1415 -@@ -397,7 +397,7 @@ PStoPSmatrix setmatrix - 0.704762 dup scale - userdict/PStoPSmatrix matrix currentmatrix put - userdict/PStoPSclip{0 0 moveto -- 595.275591 0 rlineto 0 844.647799 rlineto -595.275591 0 rlineto -+ 595.275591 0 rlineto 0 844.647797 rlineto -595.275591 0 rlineto - closepath}put initclip - PStoPSxform concat - TeXDict begin 24 13 bop 330 419 a Fb(14)2668 b(14)1415 -@@ -410,7 +410,7 @@ PStoPSmatrix setmatrix - 0.704762 dup scale - userdict/PStoPSmatrix matrix currentmatrix put - userdict/PStoPSclip{0 0 moveto -- 595.275591 0 rlineto 0 844.647799 rlineto -595.275591 0 rlineto -+ 595.275591 0 rlineto 0 844.647797 rlineto -595.275591 0 rlineto - closepath}put initclip - PStoPSxform concat - TeXDict begin 25 14 bop 330 423 a Fb(15)2668 b(15)1415 diff --git a/texlive-base-pdfbook2-py3.patch b/texlive-base-pdfbook2-py3.patch deleted file mode 100644 index ef7f780..0000000 --- a/texlive-base-pdfbook2-py3.patch +++ /dev/null @@ -1,102 +0,0 @@ -diff -up ./scripts/pdfbook2/pdfbook2.py3 ./scripts/pdfbook2/pdfbook2 ---- ./scripts/pdfbook2/pdfbook2.py3 2020-01-10 08:49:13.071743210 -0500 -+++ ./scripts/pdfbook2/pdfbook2 2020-01-10 08:50:18.938615714 -0500 -@@ -1,4 +1,4 @@ --#!/usr/bin/env python -+#!/usr/bin/python3 - """ pdfbook2 - transform pdf files to booklets - - This program is free software: you can redistribute it and/or modify -@@ -29,15 +29,15 @@ import shutil - - def booklify( name, opts ): - #------------------------------------------------------ Check if file exists -- print "\nProcessing", name -+ print("\nProcessing", name) - if not os.path.isfile( name ): -- print "SKIP: file not found." -+ print("SKIP: file not found.") - return -- print "Getting bounds...", -+ print("Getting bounds...", end=' ') - sys.stdout.flush() - - #---------------------------------------------------------- useful constants -- bboxName = "%%HiResBoundingBox:" -+ bboxName = b"%%HiResBoundingBox:" - tmpFile = ".crop-tmp.pdf" - - #------------------------------------------------- find min/max bounding box -@@ -50,8 +50,8 @@ def booklify( name, opts ): - p.wait() - out, err = p.communicate() - if len( err ) != 0: -- print err -- print "\n\nABORT: Problem getting bounds" -+ print(err) -+ print("\n\nABORT: Problem getting bounds") - sys.exit( 1 ) - lines = out.splitlines() - bboxes = [s[len( bboxName ) + 1:] for s in lines if s.startswith( bboxName )] -@@ -69,11 +69,11 @@ def booklify( name, opts ): - minLOdd -= maxWidth - widthOdd - maxREven += maxWidth - widthEven - -- print "done" -+ print("done") - sys.stdout.flush() - - #--------------------------------------------- crop file to area of interest -- print "cropping...", -+ print("cropping...", end=' ') - sys.stdout.flush() - p = subprocess.Popen( ["pdfcrop", - "--bbox-odd", "{L} {T} {R} {B}".format( L = minLOdd - opts.innerMargin / 2, -@@ -92,16 +92,16 @@ def booklify( name, opts ): - p.wait() - out, err = p.communicate() - if len( err ) != 0: -- print err -- print "\n\nABORT: Problem with cropping" -+ print(err) -+ print("\n\nABORT: Problem with cropping") - sys.exit( 1 ) -- print "done" -+ print("done") - sys.stdout.flush() - else: - shutil.copy( name, tmpFile ) - - #-------------------------------------------------------- create the booklet -- print "create booklet...", -+ print("create booklet...", end=' ') - sys.stdout.flush() - pdfJamCallList = [ "pdfjam", - "--booklet", "true", -@@ -124,7 +124,7 @@ def booklify( name, opts ): - p.wait() - out, err = p.communicate() - if len( out ) == 0: -- print "\n\nABORT: The everyshi.sty latex package is needed for short-edge." -+ print("\n\nABORT: The everyshi.sty latex package is needed for short-edge.") - sys.exit( 1 ) - else: - pdfJamCallList.append( "--preamble" ) -@@ -139,7 +139,7 @@ def booklify( name, opts ): - #-------------------------------------------- move file and remove temp file - os.rename( tmpFile[:-4] + "-book.pdf", name[:-4] + "-book.pdf" ) - os.remove( tmpFile ) -- print "done" -+ print("done") - sys.stdout.flush() - - -@@ -228,7 +228,7 @@ if __name__ == "__main__": - if len( args ) == 0: - parser.print_version() - parser.print_help() -- print "" -+ print("") - sys.exit( 2 ) - - #------------------------------------------- run for each provided file name diff --git a/texlive-base.spec b/texlive-base.spec deleted file mode 100644 index 9b2b1f2..0000000 --- a/texlive-base.spec +++ /dev/null @@ -1,11709 +0,0 @@ -%global shortname texlive -%global source_date 20230311 -%global source_svn svn66984 -# %%global source_name texlive-%%{source_date}-source -%global source_name texlive-source-build-%{source_svn} -%{!?_texdir: %global _texdir %{_datadir}/%{shortname}} -%{!?_texmf_var: %global _texmf_var %{_var}/lib/texmf} - -%global etc_fmtutil_cnf %{_sysconfdir}/texlive/web2c/fmtutil.cnf -%global usr_fmtutil_cnf %{_texdir}/texmf-dist/web2c/fmtutil.cnf -%global fmtutil_cnf_d %{_texdir}/fmtutil.cnf.d - -# don't export private perl modules -%global __provides_exclude %{?__provides_exclude:%__provides_exclude|}^perl\\( -%global __requires_exclude %{?__requires_exclude:%__requires_exclude|}^perl\\((LatexIndent.*|PDF::Reuse.*|Pedigree.*|TeXLive.*|Tk::path_tre)\\) - -# We do not want exec perms changing. -%global __brp_mangle_shebangs_exclude ^$ - -# We have a circular dep on latex due to xindy -%bcond_with bootstrap - -# Upstream no longer supports poppler. We've been hacking it in, but... maybe we should stop? -%bcond_with poppler - -Name: %{shortname}-base -Version: %{source_date} -Release: 94%{?dist} -Epoch: 11 -Summary: TeX formatting system -# The only files in the base package are directories, cache, and license texts -# So we'll just list the license texts. This is also a bit of a lie, since most of these license texts do not apply to themselves. -License: Apache-2.0 AND Artistic-2.0 AND BSD-3-Clause AND GFDL-1.1-or-later AND GPL-1.0-or-later AND GPL-2.0-only AND GPL-2.0-or-later AND GPL-3.0-only AND GPL-3.0-or-later AND Knuth-CTAN AND LGPL-2.1-or-later AND LGPL-3.0-or-later AND LPPL-1.3a AND LPPL-1.3c AND MIT AND OFL-1.1 AND LicenseRef-Fedora-Public-Domain -URL: http://tug.org/texlive/ -# Source0: https://ctan.math.illinois.edu/systems/texlive/Source/%%{source_name}.tar.xz -# Using a specific tag to fix the LuaTeX CVE-2023-32700 -Source0: https://github.com/TeX-Live/texlive-source/archive/refs/tags/build-%{source_svn}.tar.gz - -Source1: macros.texlive -Source2: http://tug.ctan.org/systems/texlive/tlnet/tlpkg/texlive.tlpdb -Source3: texlive-licenses.tar.xz -Source4: generate-fmtutilcnf -# These noarch components are packed wrong upstream (do not unpack into texmf-dist) -Source5: https://ctan.math.illinois.edu/systems/texlive/tlnet/archive/cyrillic.tar.xz -Source6: https://ctan.math.illinois.edu/systems/texlive/tlnet/archive/cyrillic.doc.tar.xz -Source7: https://ctan.math.illinois.edu/systems/texlive/tlnet/archive/glyphlist.tar.xz -Source8: https://ctan.math.illinois.edu/systems/texlive/tlnet/archive/latex.tar.xz -Source9: https://ctan.math.illinois.edu/systems/texlive/tlnet/archive/latex.doc.tar.xz -Source10: https://ctan.math.illinois.edu/systems/texlive/tlnet/archive/lyluatex.tar.xz -Source11: https://ctan.math.illinois.edu/systems/texlive/tlnet/archive/lyluatex.doc.tar.xz -Source12: https://ctan.math.illinois.edu/systems/texlive/tlnet/archive/oberdiek.tar.xz -Source13: https://ctan.math.illinois.edu/systems/texlive/tlnet/archive/oberdiek.doc.tar.xz -Source14: https://ctan.math.illinois.edu/systems/texlive/tlnet/archive/texlive-en.doc.tar.xz -# These are the noarch components for the built binaries. -Source15: https://ctan.math.illinois.edu/systems/texlive/tlnet/archive/a2ping.doc.tar.xz -Source16: https://ctan.math.illinois.edu/systems/texlive/tlnet/archive/a2ping.tar.xz -Source17: https://ctan.math.illinois.edu/systems/texlive/tlnet/archive/accfonts.doc.tar.xz -Source18: https://ctan.math.illinois.edu/systems/texlive/tlnet/archive/accfonts.tar.xz -Source19: https://ctan.math.illinois.edu/systems/texlive/tlnet/archive/adhocfilelist.doc.tar.xz -Source20: https://ctan.math.illinois.edu/systems/texlive/tlnet/archive/adhocfilelist.tar.xz -Source21: https://ctan.math.illinois.edu/systems/texlive/tlnet/archive/afm2pl.tar.xz -Source22: https://ctan.math.illinois.edu/systems/texlive/tlnet/archive/aleph.doc.tar.xz -Source23: https://ctan.math.illinois.edu/systems/texlive/tlnet/archive/aleph.tar.xz -Source24: https://ctan.math.illinois.edu/systems/texlive/tlnet/archive/amstex.doc.tar.xz -Source25: https://ctan.math.illinois.edu/systems/texlive/tlnet/archive/amstex.tar.xz -Source26: https://ctan.math.illinois.edu/systems/texlive/tlnet/archive/arara.doc.tar.xz -Source27: https://ctan.math.illinois.edu/systems/texlive/tlnet/archive/arara.tar.xz -Source28: https://ctan.math.illinois.edu/systems/texlive/tlnet/archive/attachfile2.doc.tar.xz -Source29: https://ctan.math.illinois.edu/systems/texlive/tlnet/archive/attachfile2.tar.xz -Source30: https://ctan.math.illinois.edu/systems/texlive/tlnet/archive/authorindex.doc.tar.xz -Source31: https://ctan.math.illinois.edu/systems/texlive/tlnet/archive/authorindex.tar.xz -Source32: https://ctan.math.illinois.edu/systems/texlive/tlnet/archive/autosp.doc.tar.xz -Source33: https://ctan.math.illinois.edu/systems/texlive/tlnet/archive/axodraw2.doc.tar.xz -Source34: https://ctan.math.illinois.edu/systems/texlive/tlnet/archive/axodraw2.tar.xz -Source35: https://ctan.math.illinois.edu/systems/texlive/tlnet/archive/bib2gls.doc.tar.xz -Source36: https://ctan.math.illinois.edu/systems/texlive/tlnet/archive/bib2gls.tar.xz -Source37: https://ctan.math.illinois.edu/systems/texlive/tlnet/archive/bibexport.doc.tar.xz -Source38: https://ctan.math.illinois.edu/systems/texlive/tlnet/archive/bibexport.tar.xz -Source39: https://ctan.math.illinois.edu/systems/texlive/tlnet/archive/bibtex8.doc.tar.xz -Source40: https://ctan.math.illinois.edu/systems/texlive/tlnet/archive/bibtex8.tar.xz -Source41: https://ctan.math.illinois.edu/systems/texlive/tlnet/archive/bibtex.doc.tar.xz -Source42: https://ctan.math.illinois.edu/systems/texlive/tlnet/archive/bibtex.tar.xz -Source43: https://ctan.math.illinois.edu/systems/texlive/tlnet/archive/bibtexu.doc.tar.xz -Source44: https://ctan.math.illinois.edu/systems/texlive/tlnet/archive/bundledoc.doc.tar.xz -Source45: https://ctan.math.illinois.edu/systems/texlive/tlnet/archive/bundledoc.tar.xz -Source46: https://ctan.math.illinois.edu/systems/texlive/tlnet/archive/cachepic.doc.tar.xz -Source47: https://ctan.math.illinois.edu/systems/texlive/tlnet/archive/cachepic.tar.xz -Source48: https://ctan.math.illinois.edu/systems/texlive/tlnet/archive/checkcites.doc.tar.xz -Source49: https://ctan.math.illinois.edu/systems/texlive/tlnet/archive/checkcites.tar.xz -Source50: https://ctan.math.illinois.edu/systems/texlive/tlnet/archive/checklistings.doc.tar.xz -Source51: https://ctan.math.illinois.edu/systems/texlive/tlnet/archive/checklistings.tar.xz -Source52: https://ctan.math.illinois.edu/systems/texlive/tlnet/archive/chklref.doc.tar.xz -Source53: https://ctan.math.illinois.edu/systems/texlive/tlnet/archive/chklref.tar.xz -Source54: https://ctan.math.illinois.edu/systems/texlive/tlnet/archive/chktex.doc.tar.xz -Source55: https://ctan.math.illinois.edu/systems/texlive/tlnet/archive/chktex.tar.xz -Source56: https://ctan.math.illinois.edu/systems/texlive/tlnet/archive/cjk-gs-integrate.doc.tar.xz -Source57: https://ctan.math.illinois.edu/systems/texlive/tlnet/archive/cjk-gs-integrate.tar.xz -Source58: https://ctan.math.illinois.edu/systems/texlive/tlnet/archive/cjkutils.tar.xz -Source59: https://ctan.math.illinois.edu/systems/texlive/tlnet/archive/clojure-pamphlet.doc.tar.xz -Source60: https://ctan.math.illinois.edu/systems/texlive/tlnet/archive/clojure-pamphlet.tar.xz -Source61: https://ctan.math.illinois.edu/systems/texlive/tlnet/archive/cluttex.doc.tar.xz -Source62: https://ctan.math.illinois.edu/systems/texlive/tlnet/archive/cluttex.tar.xz -Source63: https://ctan.math.illinois.edu/systems/texlive/tlnet/archive/context.doc.tar.xz -Source64: https://ctan.math.illinois.edu/systems/texlive/tlnet/archive/context.tar.xz -Source65: https://ctan.math.illinois.edu/systems/texlive/tlnet/archive/convbkmk.doc.tar.xz -Source66: https://ctan.math.illinois.edu/systems/texlive/tlnet/archive/convbkmk.tar.xz -Source67: https://ctan.math.illinois.edu/systems/texlive/tlnet/archive/crossrefware.doc.tar.xz -Source68: https://ctan.math.illinois.edu/systems/texlive/tlnet/archive/crossrefware.tar.xz -Source69: https://ctan.math.illinois.edu/systems/texlive/tlnet/archive/cslatex.tar.xz -Source70: https://ctan.math.illinois.edu/systems/texlive/tlnet/archive/csplain.tar.xz -Source71: https://ctan.math.illinois.edu/systems/texlive/tlnet/archive/ctanbib.doc.tar.xz -Source72: https://ctan.math.illinois.edu/systems/texlive/tlnet/archive/ctanbib.tar.xz -Source73: https://ctan.math.illinois.edu/systems/texlive/tlnet/archive/ctanify.doc.tar.xz -Source74: https://ctan.math.illinois.edu/systems/texlive/tlnet/archive/ctanify.tar.xz -Source75: https://ctan.math.illinois.edu/systems/texlive/tlnet/archive/ctan-o-mat.doc.tar.xz -Source76: https://ctan.math.illinois.edu/systems/texlive/tlnet/archive/ctan-o-mat.tar.xz -Source77: https://ctan.math.illinois.edu/systems/texlive/tlnet/archive/ctanupload.doc.tar.xz -Source78: https://ctan.math.illinois.edu/systems/texlive/tlnet/archive/ctanupload.tar.xz -Source79: https://ctan.math.illinois.edu/systems/texlive/tlnet/archive/ctie.doc.tar.xz -Source80: https://ctan.math.illinois.edu/systems/texlive/tlnet/archive/cweb.doc.tar.xz -Source81: https://ctan.math.illinois.edu/systems/texlive/tlnet/archive/cweb.tar.xz -Source82: https://ctan.math.illinois.edu/systems/texlive/tlnet/archive/cyrillic-bin.doc.tar.xz -Source83: https://ctan.math.illinois.edu/systems/texlive/tlnet/archive/cyrillic-bin.tar.xz -Source84: https://ctan.math.illinois.edu/systems/texlive/tlnet/archive/de-macro.doc.tar.xz -Source85: https://ctan.math.illinois.edu/systems/texlive/tlnet/archive/de-macro.tar.xz -Source86: https://ctan.math.illinois.edu/systems/texlive/tlnet/archive/detex.doc.tar.xz -Source87: https://ctan.math.illinois.edu/systems/texlive/tlnet/archive/detex.tar.xz -Source88: https://ctan.math.illinois.edu/systems/texlive/tlnet/archive/diadia.doc.tar.xz -Source89: https://ctan.math.illinois.edu/systems/texlive/tlnet/archive/diadia.tar.xz -Source90: https://ctan.math.illinois.edu/systems/texlive/tlnet/archive/dosepsbin.doc.tar.xz -Source91: https://ctan.math.illinois.edu/systems/texlive/tlnet/archive/dosepsbin.tar.xz -Source92: https://ctan.math.illinois.edu/systems/texlive/tlnet/archive/dtl.doc.tar.xz -Source93: https://ctan.math.illinois.edu/systems/texlive/tlnet/archive/dtl.tar.xz -Source94: https://ctan.math.illinois.edu/systems/texlive/tlnet/archive/dtxgen.doc.tar.xz -Source95: https://ctan.math.illinois.edu/systems/texlive/tlnet/archive/dtxgen.tar.xz -Source96: https://ctan.math.illinois.edu/systems/texlive/tlnet/archive/dvi2tty.doc.tar.xz -Source97: https://ctan.math.illinois.edu/systems/texlive/tlnet/archive/dvi2tty.tar.xz -Source98: https://ctan.math.illinois.edu/systems/texlive/tlnet/archive/dviasm.doc.tar.xz -Source99: https://ctan.math.illinois.edu/systems/texlive/tlnet/archive/dviasm.tar.xz -Source100: https://ctan.math.illinois.edu/systems/texlive/tlnet/archive/dvicopy.doc.tar.xz -Source101: https://ctan.math.illinois.edu/systems/texlive/tlnet/archive/dvicopy.tar.xz -Source102: https://ctan.math.illinois.edu/systems/texlive/tlnet/archive/dvidvi.doc.tar.xz -Source103: https://ctan.math.illinois.edu/systems/texlive/tlnet/archive/dvidvi.tar.xz -Source104: https://ctan.math.illinois.edu/systems/texlive/tlnet/archive/dviinfox.doc.tar.xz -Source105: https://ctan.math.illinois.edu/systems/texlive/tlnet/archive/dviinfox.tar.xz -Source106: https://ctan.math.illinois.edu/systems/texlive/tlnet/archive/dviljk.doc.tar.xz -Source107: https://ctan.math.illinois.edu/systems/texlive/tlnet/archive/dviljk.tar.xz -Source108: https://ctan.math.illinois.edu/systems/texlive/tlnet/archive/dviout-util.doc.tar.xz -Source109: https://ctan.math.illinois.edu/systems/texlive/tlnet/archive/dvipdfmx.doc.tar.xz -Source110: https://ctan.math.illinois.edu/systems/texlive/tlnet/archive/dvipdfmx.tar.xz -Source111: https://ctan.math.illinois.edu/systems/texlive/tlnet/archive/dvipng.doc.tar.xz -Source112: https://ctan.math.illinois.edu/systems/texlive/tlnet/archive/dvipng.tar.xz -Source113: https://ctan.math.illinois.edu/systems/texlive/tlnet/archive/dvipos.doc.tar.xz -Source114: https://ctan.math.illinois.edu/systems/texlive/tlnet/archive/dvipos.tar.xz -Source115: https://ctan.math.illinois.edu/systems/texlive/tlnet/archive/dvips.doc.tar.xz -Source116: https://ctan.math.illinois.edu/systems/texlive/tlnet/archive/dvips.tar.xz -Source117: https://ctan.math.illinois.edu/systems/texlive/tlnet/archive/dvisvgm.doc.tar.xz -Source118: https://ctan.math.illinois.edu/systems/texlive/tlnet/archive/dvisvgm.tar.xz -Source119: https://ctan.math.illinois.edu/systems/texlive/tlnet/archive/ebong.doc.tar.xz -Source120: https://ctan.math.illinois.edu/systems/texlive/tlnet/archive/ebong.tar.xz -Source121: https://ctan.math.illinois.edu/systems/texlive/tlnet/archive/eplain.doc.tar.xz -Source122: https://ctan.math.illinois.edu/systems/texlive/tlnet/archive/eplain.tar.xz -Source123: https://ctan.math.illinois.edu/systems/texlive/tlnet/archive/epspdf.doc.tar.xz -Source124: https://ctan.math.illinois.edu/systems/texlive/tlnet/archive/epspdf.tar.xz -Source125: https://ctan.math.illinois.edu/systems/texlive/tlnet/archive/epstopdf.doc.tar.xz -Source126: https://ctan.math.illinois.edu/systems/texlive/tlnet/archive/epstopdf.tar.xz -Source127: https://ctan.math.illinois.edu/systems/texlive/tlnet/archive/exceltex.doc.tar.xz -Source128: https://ctan.math.illinois.edu/systems/texlive/tlnet/archive/exceltex.tar.xz -Source129: https://ctan.math.illinois.edu/systems/texlive/tlnet/archive/fig4latex.doc.tar.xz -Source130: https://ctan.math.illinois.edu/systems/texlive/tlnet/archive/fig4latex.tar.xz -Source131: https://ctan.math.illinois.edu/systems/texlive/tlnet/archive/findhyph.doc.tar.xz -Source132: https://ctan.math.illinois.edu/systems/texlive/tlnet/archive/findhyph.tar.xz -Source133: https://ctan.math.illinois.edu/systems/texlive/tlnet/archive/fontinst.doc.tar.xz -Source134: https://ctan.math.illinois.edu/systems/texlive/tlnet/archive/fontinst.tar.xz -Source135: https://ctan.math.illinois.edu/systems/texlive/tlnet/archive/fontools.doc.tar.xz -Source136: https://ctan.math.illinois.edu/systems/texlive/tlnet/archive/fontools.tar.xz -Source137: https://ctan.math.illinois.edu/systems/texlive/tlnet/archive/fontware.doc.tar.xz -Source138: https://ctan.math.illinois.edu/systems/texlive/tlnet/archive/fragmaster.doc.tar.xz -Source139: https://ctan.math.illinois.edu/systems/texlive/tlnet/archive/fragmaster.tar.xz -Source140: https://ctan.math.illinois.edu/systems/texlive/tlnet/archive/getmap.doc.tar.xz -Source141: https://ctan.math.illinois.edu/systems/texlive/tlnet/archive/getmap.tar.xz -Source142: https://ctan.math.illinois.edu/systems/texlive/tlnet/archive/glossaries.doc.tar.xz -Source143: https://ctan.math.illinois.edu/systems/texlive/tlnet/archive/glossaries.tar.xz -Source144: https://ctan.math.illinois.edu/systems/texlive/tlnet/archive/gregoriotex.doc.tar.xz -Source145: https://ctan.math.illinois.edu/systems/texlive/tlnet/archive/gregoriotex.tar.xz -Source146: https://ctan.math.illinois.edu/systems/texlive/tlnet/archive/gsftopk.doc.tar.xz -Source147: https://ctan.math.illinois.edu/systems/texlive/tlnet/archive/gsftopk.tar.xz -Source148: https://ctan.math.illinois.edu/systems/texlive/tlnet/archive/installfont.doc.tar.xz -Source149: https://ctan.math.illinois.edu/systems/texlive/tlnet/archive/installfont.tar.xz -Source150: https://ctan.math.illinois.edu/systems/texlive/tlnet/archive/jadetex.doc.tar.xz -Source151: https://ctan.math.illinois.edu/systems/texlive/tlnet/archive/jadetex.tar.xz -Source152: https://ctan.math.illinois.edu/systems/texlive/tlnet/archive/jfmutil.doc.tar.xz -Source153: https://ctan.math.illinois.edu/systems/texlive/tlnet/archive/jfmutil.tar.xz -Source154: https://ctan.math.illinois.edu/systems/texlive/tlnet/archive/ketcindy.doc.tar.xz -Source155: https://ctan.math.illinois.edu/systems/texlive/tlnet/archive/ketcindy.tar.xz -Source156: https://ctan.math.illinois.edu/systems/texlive/tlnet/archive/kotex-utils.doc.tar.xz -Source157: https://ctan.math.illinois.edu/systems/texlive/tlnet/archive/kotex-utils.tar.xz -Source158: https://ctan.math.illinois.edu/systems/texlive/tlnet/archive/kpathsea.doc.tar.xz -Source159: https://ctan.math.illinois.edu/systems/texlive/tlnet/archive/kpathsea.tar.xz -Source160: https://ctan.math.illinois.edu/systems/texlive/tlnet/archive/l3build.tar.xz -Source161: https://ctan.math.illinois.edu/systems/texlive/tlnet/archive/l3build.doc.tar.xz -Source162: https://ctan.math.illinois.edu/systems/texlive/tlnet/archive/lacheck.doc.tar.xz -Source163: https://ctan.math.illinois.edu/systems/texlive/tlnet/archive/latex2man.doc.tar.xz -Source164: https://ctan.math.illinois.edu/systems/texlive/tlnet/archive/latex2man.tar.xz -Source165: https://ctan.math.illinois.edu/systems/texlive/tlnet/archive/latex2nemeth.doc.tar.xz -Source166: https://ctan.math.illinois.edu/systems/texlive/tlnet/archive/latex2nemeth.tar.xz -Source167: https://ctan.math.illinois.edu/systems/texlive/tlnet/archive/latexdiff.doc.tar.xz -Source168: https://ctan.math.illinois.edu/systems/texlive/tlnet/archive/latexdiff.tar.xz -Source169: https://ctan.math.illinois.edu/systems/texlive/tlnet/archive/latexfileversion.doc.tar.xz -Source170: https://ctan.math.illinois.edu/systems/texlive/tlnet/archive/latexfileversion.tar.xz -Source171: https://ctan.math.illinois.edu/systems/texlive/tlnet/archive/latex-git-log.doc.tar.xz -Source172: https://ctan.math.illinois.edu/systems/texlive/tlnet/archive/latex-git-log.tar.xz -Source173: https://ctan.math.illinois.edu/systems/texlive/tlnet/archive/latexindent.doc.tar.xz -Source174: https://ctan.math.illinois.edu/systems/texlive/tlnet/archive/latexindent.tar.xz -Source175: https://ctan.math.illinois.edu/systems/texlive/tlnet/archive/latexpand.doc.tar.xz -Source176: https://ctan.math.illinois.edu/systems/texlive/tlnet/archive/latexpand.tar.xz -Source177: https://ctan.math.illinois.edu/systems/texlive/tlnet/archive/latex-papersize.doc.tar.xz -Source178: https://ctan.math.illinois.edu/systems/texlive/tlnet/archive/latex-papersize.tar.xz -Source179: https://ctan.math.illinois.edu/systems/texlive/tlnet/archive/lcdftypetools.doc.tar.xz -Source180: https://ctan.math.illinois.edu/systems/texlive/tlnet/archive/lilyglyphs.doc.tar.xz -Source181: https://ctan.math.illinois.edu/systems/texlive/tlnet/archive/lilyglyphs.tar.xz -Source182: https://ctan.math.illinois.edu/systems/texlive/tlnet/archive/listbib.doc.tar.xz -Source183: https://ctan.math.illinois.edu/systems/texlive/tlnet/archive/listbib.tar.xz -Source184: https://ctan.math.illinois.edu/systems/texlive/tlnet/archive/listings-ext.doc.tar.xz -Source185: https://ctan.math.illinois.edu/systems/texlive/tlnet/archive/listings-ext.tar.xz -Source186: https://ctan.math.illinois.edu/systems/texlive/tlnet/archive/lollipop.doc.tar.xz -Source187: https://ctan.math.illinois.edu/systems/texlive/tlnet/archive/lollipop.tar.xz -Source188: https://ctan.math.illinois.edu/systems/texlive/tlnet/archive/ltxfileinfo.doc.tar.xz -Source189: https://ctan.math.illinois.edu/systems/texlive/tlnet/archive/ltxfileinfo.tar.xz -Source190: https://ctan.math.illinois.edu/systems/texlive/tlnet/archive/ltximg.doc.tar.xz -Source191: https://ctan.math.illinois.edu/systems/texlive/tlnet/archive/ltximg.tar.xz -Source192: https://ctan.math.illinois.edu/systems/texlive/tlnet/archive/luaotfload.doc.tar.xz -Source193: https://ctan.math.illinois.edu/systems/texlive/tlnet/archive/luaotfload.tar.xz -Source194: https://ctan.math.illinois.edu/systems/texlive/tlnet/archive/luahbtex.doc.tar.xz -Source195: https://ctan.math.illinois.edu/systems/texlive/tlnet/archive/luahbtex.tar.xz -Source196: https://ctan.math.illinois.edu/systems/texlive/tlnet/archive/luatex.doc.tar.xz -Source197: https://ctan.math.illinois.edu/systems/texlive/tlnet/archive/luatex.tar.xz -Source198: https://ctan.math.illinois.edu/systems/texlive/tlnet/archive/lwarp.doc.tar.xz -Source199: https://ctan.math.illinois.edu/systems/texlive/tlnet/archive/lwarp.tar.xz -Source200: https://ctan.math.illinois.edu/systems/texlive/tlnet/archive/make4ht.doc.tar.xz -Source201: https://ctan.math.illinois.edu/systems/texlive/tlnet/archive/make4ht.tar.xz -Source202: https://ctan.math.illinois.edu/systems/texlive/tlnet/archive/makedtx.doc.tar.xz -Source203: https://ctan.math.illinois.edu/systems/texlive/tlnet/archive/makedtx.tar.xz -Source204: https://ctan.math.illinois.edu/systems/texlive/tlnet/archive/makeindex.doc.tar.xz -Source205: https://ctan.math.illinois.edu/systems/texlive/tlnet/archive/makeindex.tar.xz -Source206: https://ctan.math.illinois.edu/systems/texlive/tlnet/archive/match_parens.doc.tar.xz -Source207: https://ctan.math.illinois.edu/systems/texlive/tlnet/archive/match_parens.tar.xz -Source208: https://ctan.math.illinois.edu/systems/texlive/tlnet/archive/mathspic.doc.tar.xz -Source209: https://ctan.math.illinois.edu/systems/texlive/tlnet/archive/mathspic.tar.xz -Source210: https://ctan.math.illinois.edu/systems/texlive/tlnet/archive/metafont.doc.tar.xz -Source211: https://ctan.math.illinois.edu/systems/texlive/tlnet/archive/metafont.tar.xz -Source212: https://ctan.math.illinois.edu/systems/texlive/tlnet/archive/metapost.doc.tar.xz -Source213: https://ctan.math.illinois.edu/systems/texlive/tlnet/archive/metapost.tar.xz -Source214: https://ctan.math.illinois.edu/systems/texlive/tlnet/archive/mex.doc.tar.xz -Source215: https://ctan.math.illinois.edu/systems/texlive/tlnet/archive/mex.tar.xz -Source216: https://ctan.math.illinois.edu/systems/texlive/tlnet/archive/mf2pt1.doc.tar.xz -Source217: https://ctan.math.illinois.edu/systems/texlive/tlnet/archive/mf2pt1.tar.xz -Source218: https://ctan.math.illinois.edu/systems/texlive/tlnet/archive/mflua.tar.xz -Source219: https://ctan.math.illinois.edu/systems/texlive/tlnet/archive/mfware.doc.tar.xz -Source220: https://ctan.math.illinois.edu/systems/texlive/tlnet/archive/mfware.tar.xz -Source221: https://ctan.math.illinois.edu/systems/texlive/tlnet/archive/mkgrkindex.doc.tar.xz -Source222: https://ctan.math.illinois.edu/systems/texlive/tlnet/archive/mkgrkindex.tar.xz -Source223: https://ctan.math.illinois.edu/systems/texlive/tlnet/archive/mkjobtexmf.doc.tar.xz -Source224: https://ctan.math.illinois.edu/systems/texlive/tlnet/archive/mkjobtexmf.tar.xz -Source225: https://ctan.math.illinois.edu/systems/texlive/tlnet/archive/mkpic.doc.tar.xz -Source226: https://ctan.math.illinois.edu/systems/texlive/tlnet/archive/mkpic.tar.xz -Source227: https://ctan.math.illinois.edu/systems/texlive/tlnet/archive/mltex.doc.tar.xz -Source228: https://ctan.math.illinois.edu/systems/texlive/tlnet/archive/mltex.tar.xz -Source229: https://ctan.math.illinois.edu/systems/texlive/tlnet/archive/mptopdf.doc.tar.xz -Source230: https://ctan.math.illinois.edu/systems/texlive/tlnet/archive/mptopdf.tar.xz -Source231: https://ctan.math.illinois.edu/systems/texlive/tlnet/archive/m-tx.doc.tar.xz -Source232: https://ctan.math.illinois.edu/systems/texlive/tlnet/archive/m-tx.tar.xz -Source233: https://ctan.math.illinois.edu/systems/texlive/tlnet/archive/multibibliography.doc.tar.xz -Source234: https://ctan.math.illinois.edu/systems/texlive/tlnet/archive/multibibliography.tar.xz -Source235: https://ctan.math.illinois.edu/systems/texlive/tlnet/archive/musixtex.doc.tar.xz -Source236: https://ctan.math.illinois.edu/systems/texlive/tlnet/archive/musixtex.tar.xz -Source237: https://ctan.math.illinois.edu/systems/texlive/tlnet/archive/musixtnt.doc.tar.xz -Source238: https://ctan.math.illinois.edu/systems/texlive/tlnet/archive/musixtnt.tar.xz -Source239: https://ctan.math.illinois.edu/systems/texlive/tlnet/archive/omegaware.doc.tar.xz -Source240: https://ctan.math.illinois.edu/systems/texlive/tlnet/archive/patgen.doc.tar.xz -Source241: https://ctan.math.illinois.edu/systems/texlive/tlnet/archive/patgen.tar.xz -Source242: https://ctan.math.illinois.edu/systems/texlive/tlnet/archive/pax.doc.tar.xz -Source243: https://ctan.math.illinois.edu/systems/texlive/tlnet/archive/pax.tar.xz -Source244: https://ctan.math.illinois.edu/systems/texlive/tlnet/archive/pdfbook2.doc.tar.xz -Source245: https://ctan.math.illinois.edu/systems/texlive/tlnet/archive/pdfbook2.tar.xz -Source246: https://ctan.math.illinois.edu/systems/texlive/tlnet/archive/pdfcrop.doc.tar.xz -Source247: https://ctan.math.illinois.edu/systems/texlive/tlnet/archive/pdfcrop.tar.xz -Source248: https://ctan.math.illinois.edu/systems/texlive/tlnet/archive/pdfjam.doc.tar.xz -Source249: https://ctan.math.illinois.edu/systems/texlive/tlnet/archive/pdfjam.tar.xz -Source250: https://ctan.math.illinois.edu/systems/texlive/tlnet/archive/pdflatexpicscale.doc.tar.xz -Source251: https://ctan.math.illinois.edu/systems/texlive/tlnet/archive/pdflatexpicscale.tar.xz -Source252: https://ctan.math.illinois.edu/systems/texlive/tlnet/archive/pdftex.doc.tar.xz -Source253: https://ctan.math.illinois.edu/systems/texlive/tlnet/archive/pdftex.tar.xz -Source254: https://ctan.math.illinois.edu/systems/texlive/tlnet/archive/pdftex-quiet.doc.tar.xz -Source255: https://ctan.math.illinois.edu/systems/texlive/tlnet/archive/pdftex-quiet.tar.xz -Source256: https://ctan.math.illinois.edu/systems/texlive/tlnet/archive/pdfxup.doc.tar.xz -Source257: https://ctan.math.illinois.edu/systems/texlive/tlnet/archive/pdfxup.tar.xz -Source258: https://ctan.math.illinois.edu/systems/texlive/tlnet/archive/pedigree-perl.doc.tar.xz -Source259: https://ctan.math.illinois.edu/systems/texlive/tlnet/archive/pedigree-perl.tar.xz -Source260: https://ctan.math.illinois.edu/systems/texlive/tlnet/archive/perltex.doc.tar.xz -Source261: https://ctan.math.illinois.edu/systems/texlive/tlnet/archive/perltex.tar.xz -Source262: https://ctan.math.illinois.edu/systems/texlive/tlnet/archive/petri-nets.doc.tar.xz -Source263: https://ctan.math.illinois.edu/systems/texlive/tlnet/archive/petri-nets.tar.xz -Source264: https://ctan.math.illinois.edu/systems/texlive/tlnet/archive/pfarrei.doc.tar.xz -Source265: https://ctan.math.illinois.edu/systems/texlive/tlnet/archive/pfarrei.tar.xz -Source266: https://ctan.math.illinois.edu/systems/texlive/tlnet/archive/pkfix.doc.tar.xz -Source267: https://ctan.math.illinois.edu/systems/texlive/tlnet/archive/pkfix-helper.doc.tar.xz -Source268: https://ctan.math.illinois.edu/systems/texlive/tlnet/archive/pkfix-helper.tar.xz -Source269: https://ctan.math.illinois.edu/systems/texlive/tlnet/archive/pkfix.tar.xz -Source270: https://ctan.math.illinois.edu/systems/texlive/tlnet/archive/pmxchords.doc.tar.xz -Source271: https://ctan.math.illinois.edu/systems/texlive/tlnet/archive/pmxchords.tar.xz -Source272: https://ctan.math.illinois.edu/systems/texlive/tlnet/archive/pmx.doc.tar.xz -Source273: https://ctan.math.illinois.edu/systems/texlive/tlnet/archive/pmx.tar.xz -Source274: https://ctan.math.illinois.edu/systems/texlive/tlnet/archive/ps2eps.doc.tar.xz -Source275: https://ctan.math.illinois.edu/systems/texlive/tlnet/archive/ps2eps.tar.xz -Source276: https://ctan.math.illinois.edu/systems/texlive/tlnet/archive/ps2pk.doc.tar.xz -Source277: https://ctan.math.illinois.edu/systems/texlive/tlnet/archive/ps2pk.tar.xz -Source278: https://ctan.math.illinois.edu/systems/texlive/tlnet/archive/pst2pdf.doc.tar.xz -Source279: https://ctan.math.illinois.edu/systems/texlive/tlnet/archive/pst2pdf.tar.xz -Source280: https://ctan.math.illinois.edu/systems/texlive/tlnet/archive/pst-pdf.doc.tar.xz -Source281: https://ctan.math.illinois.edu/systems/texlive/tlnet/archive/pst-pdf.tar.xz -Source282: https://ctan.math.illinois.edu/systems/texlive/tlnet/archive/psutils.doc.tar.xz -Source283: https://ctan.math.illinois.edu/systems/texlive/tlnet/archive/psutils.tar.xz -Source284: https://ctan.math.illinois.edu/systems/texlive/tlnet/archive/ptex2pdf.doc.tar.xz -Source285: https://ctan.math.illinois.edu/systems/texlive/tlnet/archive/ptex2pdf.tar.xz -Source286: https://ctan.math.illinois.edu/systems/texlive/tlnet/archive/ptex.doc.tar.xz -Source287: https://ctan.math.illinois.edu/systems/texlive/tlnet/archive/ptex-fontmaps.doc.tar.xz -Source288: https://ctan.math.illinois.edu/systems/texlive/tlnet/archive/ptex-fontmaps.tar.xz -Source289: https://ctan.math.illinois.edu/systems/texlive/tlnet/archive/ptex.tar.xz -Source290: https://ctan.math.illinois.edu/systems/texlive/tlnet/archive/purifyeps.doc.tar.xz -Source291: https://ctan.math.illinois.edu/systems/texlive/tlnet/archive/purifyeps.tar.xz -Source292: https://ctan.math.illinois.edu/systems/texlive/tlnet/archive/pygmentex.doc.tar.xz -Source293: https://ctan.math.illinois.edu/systems/texlive/tlnet/archive/pygmentex.tar.xz -Source294: https://ctan.math.illinois.edu/systems/texlive/tlnet/archive/pythontex.doc.tar.xz -Source295: https://ctan.math.illinois.edu/systems/texlive/tlnet/archive/pythontex.tar.xz -Source296: https://ctan.math.illinois.edu/systems/texlive/tlnet/archive/rubik.doc.tar.xz -Source297: https://ctan.math.illinois.edu/systems/texlive/tlnet/archive/rubik.tar.xz -Source298: https://ctan.math.illinois.edu/systems/texlive/tlnet/archive/seetexk.doc.tar.xz -Source299: https://ctan.math.illinois.edu/systems/texlive/tlnet/archive/seetexk.tar.xz -Source300: https://ctan.math.illinois.edu/systems/texlive/tlnet/archive/splitindex.doc.tar.xz -Source301: https://ctan.math.illinois.edu/systems/texlive/tlnet/archive/splitindex.tar.xz -Source302: https://ctan.math.illinois.edu/systems/texlive/tlnet/archive/srcredact.doc.tar.xz -Source303: https://ctan.math.illinois.edu/systems/texlive/tlnet/archive/srcredact.tar.xz -Source304: https://ctan.math.illinois.edu/systems/texlive/tlnet/archive/sty2dtx.doc.tar.xz -Source305: https://ctan.math.illinois.edu/systems/texlive/tlnet/archive/sty2dtx.tar.xz -Source306: https://ctan.math.illinois.edu/systems/texlive/tlnet/archive/svn-multi.doc.tar.xz -Source307: https://ctan.math.illinois.edu/systems/texlive/tlnet/archive/svn-multi.tar.xz -Source308: https://ctan.math.illinois.edu/systems/texlive/tlnet/archive/synctex.doc.tar.xz -Source309: https://ctan.math.illinois.edu/systems/texlive/tlnet/archive/synctex.tar.xz -Source310: https://ctan.math.illinois.edu/systems/texlive/tlnet/archive/tex4ebook.doc.tar.xz -Source311: https://ctan.math.illinois.edu/systems/texlive/tlnet/archive/tex4ebook.tar.xz -Source312: https://ctan.math.illinois.edu/systems/texlive/tlnet/archive/tex4ht.doc.tar.xz -Source313: https://ctan.math.illinois.edu/systems/texlive/tlnet/archive/tex4ht.tar.xz -Source314: https://ctan.math.illinois.edu/systems/texlive/tlnet/archive/texcount.doc.tar.xz -Source315: https://ctan.math.illinois.edu/systems/texlive/tlnet/archive/texcount.tar.xz -Source316: https://ctan.math.illinois.edu/systems/texlive/tlnet/archive/texdef.doc.tar.xz -Source317: https://ctan.math.illinois.edu/systems/texlive/tlnet/archive/texdef.tar.xz -Source318: https://ctan.math.illinois.edu/systems/texlive/tlnet/archive/texdiff.doc.tar.xz -Source319: https://ctan.math.illinois.edu/systems/texlive/tlnet/archive/texdiff.tar.xz -Source320: https://ctan.math.illinois.edu/systems/texlive/tlnet/archive/texdirflatten.doc.tar.xz -Source321: https://ctan.math.illinois.edu/systems/texlive/tlnet/archive/texdirflatten.tar.xz -Source322: https://ctan.math.illinois.edu/systems/texlive/tlnet/archive/texdoc.doc.tar.xz -Source323: https://ctan.math.illinois.edu/systems/texlive/tlnet/archive/tex.doc.tar.xz -Source324: https://ctan.math.illinois.edu/systems/texlive/tlnet/archive/texdoc.tar.xz -Source325: https://ctan.math.illinois.edu/systems/texlive/tlnet/archive/texdoctk.tar.xz -Source326: https://ctan.math.illinois.edu/systems/texlive/tlnet/archive/texdoctk.doc.tar.xz -Source327: https://ctan.math.illinois.edu/systems/texlive/tlnet/archive/texfot.doc.tar.xz -Source328: https://ctan.math.illinois.edu/systems/texlive/tlnet/archive/texfot.tar.xz -Source329: https://ctan.math.illinois.edu/systems/texlive/tlnet/archive/texlive.infra.doc.tar.xz -Source330: https://ctan.math.illinois.edu/systems/texlive/tlnet/archive/texlive.infra.tar.xz -Source331: https://ctan.math.illinois.edu/systems/texlive/tlnet/archive/texliveonfly.doc.tar.xz -Source332: https://ctan.math.illinois.edu/systems/texlive/tlnet/archive/texliveonfly.tar.xz -Source333: https://ctan.math.illinois.edu/systems/texlive/tlnet/archive/texlive-scripts.doc.tar.xz -Source334: https://ctan.math.illinois.edu/systems/texlive/tlnet/archive/texlive-scripts.tar.xz -Source335: https://ctan.math.illinois.edu/systems/texlive/tlnet/archive/texlive-scripts-extra.doc.tar.xz -Source336: https://ctan.math.illinois.edu/systems/texlive/tlnet/archive/texlive-scripts-extra.tar.xz -Source337: https://ctan.math.illinois.edu/systems/texlive/tlnet/archive/texloganalyser.doc.tar.xz -Source338: https://ctan.math.illinois.edu/systems/texlive/tlnet/archive/texloganalyser.tar.xz -Source339: https://ctan.math.illinois.edu/systems/texlive/tlnet/archive/texosquery.doc.tar.xz -Source340: https://ctan.math.illinois.edu/systems/texlive/tlnet/archive/texosquery.tar.xz -Source341: https://ctan.math.illinois.edu/systems/texlive/tlnet/archive/texplate.doc.tar.xz -Source342: https://ctan.math.illinois.edu/systems/texlive/tlnet/archive/texplate.tar.xz -Source343: https://ctan.math.illinois.edu/systems/texlive/tlnet/archive/texsis.doc.tar.xz -Source344: https://ctan.math.illinois.edu/systems/texlive/tlnet/archive/texsis.tar.xz -Source345: https://ctan.math.illinois.edu/systems/texlive/tlnet/archive/tex.tar.xz -Source346: https://ctan.math.illinois.edu/systems/texlive/tlnet/archive/texware.doc.tar.xz -Source347: https://ctan.math.illinois.edu/systems/texlive/tlnet/archive/texware.tar.xz -Source348: https://ctan.math.illinois.edu/systems/texlive/tlnet/archive/thumbpdf.doc.tar.xz -Source349: https://ctan.math.illinois.edu/systems/texlive/tlnet/archive/thumbpdf.tar.xz -Source350: https://ctan.math.illinois.edu/systems/texlive/tlnet/archive/tie.doc.tar.xz -Source351: https://ctan.math.illinois.edu/systems/texlive/tlnet/archive/tie.tar.xz -Source352: https://ctan.math.illinois.edu/systems/texlive/tlnet/archive/tpic2pdftex.doc.tar.xz -Source353: https://ctan.math.illinois.edu/systems/texlive/tlnet/archive/tpic2pdftex.tar.xz -Source354: https://ctan.math.illinois.edu/systems/texlive/tlnet/archive/ttfutils.doc.tar.xz -Source355: https://ctan.math.illinois.edu/systems/texlive/tlnet/archive/ttfutils.tar.xz -Source356: https://ctan.math.illinois.edu/systems/texlive/tlnet/archive/typeoutfileinfo.doc.tar.xz -Source357: https://ctan.math.illinois.edu/systems/texlive/tlnet/archive/typeoutfileinfo.tar.xz -Source358: https://ctan.math.illinois.edu/systems/texlive/tlnet/archive/ulqda.doc.tar.xz -Source359: https://ctan.math.illinois.edu/systems/texlive/tlnet/archive/ulqda.tar.xz -Source360: https://ctan.math.illinois.edu/systems/texlive/tlnet/archive/uplatex.doc.tar.xz -Source361: https://ctan.math.illinois.edu/systems/texlive/tlnet/archive/uptex.doc.tar.xz -Source362: https://ctan.math.illinois.edu/systems/texlive/tlnet/archive/urlbst.doc.tar.xz -Source363: https://ctan.math.illinois.edu/systems/texlive/tlnet/archive/urlbst.tar.xz -Source364: https://ctan.math.illinois.edu/systems/texlive/tlnet/archive/velthuis.doc.tar.xz -Source365: https://ctan.math.illinois.edu/systems/texlive/tlnet/archive/velthuis.tar.xz -Source366: https://ctan.math.illinois.edu/systems/texlive/tlnet/archive/vlna.doc.tar.xz -Source367: https://ctan.math.illinois.edu/systems/texlive/tlnet/archive/vpe.doc.tar.xz -Source368: https://ctan.math.illinois.edu/systems/texlive/tlnet/archive/vpe.tar.xz -Source369: https://ctan.math.illinois.edu/systems/texlive/tlnet/archive/web.doc.tar.xz -Source370: https://ctan.math.illinois.edu/systems/texlive/tlnet/archive/web.tar.xz -Source371: https://ctan.math.illinois.edu/systems/texlive/tlnet/archive/webquiz.doc.tar.xz -Source372: https://ctan.math.illinois.edu/systems/texlive/tlnet/archive/webquiz.tar.xz -Source373: https://ctan.math.illinois.edu/systems/texlive/tlnet/archive/wordcount.doc.tar.xz -Source374: https://ctan.math.illinois.edu/systems/texlive/tlnet/archive/wordcount.tar.xz -Source375: https://ctan.math.illinois.edu/systems/texlive/tlnet/archive/xdvi.doc.tar.xz -Source376: https://ctan.math.illinois.edu/systems/texlive/tlnet/archive/xdvi.tar.xz -Source377: https://ctan.math.illinois.edu/systems/texlive/tlnet/archive/xetex.doc.tar.xz -Source378: https://ctan.math.illinois.edu/systems/texlive/tlnet/archive/xetex.tar.xz -Source379: https://ctan.math.illinois.edu/systems/texlive/tlnet/archive/xindex.doc.tar.xz -Source380: https://ctan.math.illinois.edu/systems/texlive/tlnet/archive/xindex.tar.xz -Source381: https://ctan.math.illinois.edu/systems/texlive/tlnet/archive/xindy.doc.tar.xz -Source382: https://ctan.math.illinois.edu/systems/texlive/tlnet/archive/xindy.tar.xz -Source383: https://ctan.math.illinois.edu/systems/texlive/tlnet/archive/xmltex.doc.tar.xz -Source384: https://ctan.math.illinois.edu/systems/texlive/tlnet/archive/xmltex.tar.xz -Source385: https://ctan.math.illinois.edu/systems/texlive/tlnet/archive/xpdfopen.doc.tar.xz -Source386: https://ctan.math.illinois.edu/systems/texlive/tlnet/archive/yplan.doc.tar.xz -Source387: https://ctan.math.illinois.edu/systems/texlive/tlnet/archive/yplan.tar.xz -Source388: https://ctan.math.illinois.edu/systems/texlive/tlnet/archive/optex.tar.xz -Source389: https://ctan.math.illinois.edu/systems/texlive/tlnet/archive/optex.doc.tar.xz -# 2021 -Source390: https://ctan.math.illinois.edu/systems/texlive/tlnet/archive/albatross.tar.xz -Source391: https://ctan.math.illinois.edu/systems/texlive/tlnet/archive/albatross.doc.tar.xz -Source392: https://ctan.math.illinois.edu/systems/texlive/tlnet/archive/git-latexdiff.tar.xz -Source393: https://ctan.math.illinois.edu/systems/texlive/tlnet/archive/git-latexdiff.doc.tar.xz -Source394: https://ctan.math.illinois.edu/systems/texlive/tlnet/archive/hyperxmp.tar.xz -Source395: https://ctan.math.illinois.edu/systems/texlive/tlnet/archive/hyperxmp.doc.tar.xz -Source396: https://ctan.math.illinois.edu/systems/texlive/tlnet/archive/light-latex-make.tar.xz -Source397: https://ctan.math.illinois.edu/systems/texlive/tlnet/archive/light-latex-make.doc.tar.xz -Source398: https://ctan.math.illinois.edu/systems/texlive/tlnet/archive/spix.tar.xz -Source399: https://ctan.math.illinois.edu/systems/texlive/tlnet/archive/spix.doc.tar.xz -Source400: https://ctan.math.illinois.edu/systems/texlive/tlnet/archive/tikztosvg.tar.xz -Source401: https://ctan.math.illinois.edu/systems/texlive/tlnet/archive/tikztosvg.doc.tar.xz -Source402: https://ctan.math.illinois.edu/systems/texlive/tlnet/archive/xml2pmx.tar.xz -Source403: https://ctan.math.illinois.edu/systems/texlive/tlnet/archive/xml2pmx.doc.tar.xz -Source404: https://ctan.math.illinois.edu/systems/texlive/tlnet/archive/luajittex.doc.tar.xz -Source405: https://ctan.math.illinois.edu/systems/texlive/tlnet/archive/pdftosrc.doc.tar.xz -# 2022 -Source406: https://ctan.math.illinois.edu/systems/texlive/tlnet/archive/citation-style-language.tar.xz -Source407: https://ctan.math.illinois.edu/systems/texlive/tlnet/archive/citation-style-language.doc.tar.xz -Source408: https://ctan.math.illinois.edu/systems/texlive/tlnet/archive/hitex.tar.xz -Source409: https://ctan.math.illinois.edu/systems/texlive/tlnet/archive/hitex.doc.tar.xz -Source410: https://ctan.math.illinois.edu/systems/texlive/tlnet/archive/luafindfont.doc.tar.xz -Source411: https://ctan.math.illinois.edu/systems/texlive/tlnet/archive/optexcount.tar.xz -Source412: https://ctan.math.illinois.edu/systems/texlive/tlnet/archive/optexcount.doc.tar.xz -Source413: https://ctan.math.illinois.edu/systems/texlive/tlnet/archive/texlogfilter.doc.tar.xz -Source414: https://ctan.math.illinois.edu/systems/texlive/tlnet/archive/texlogsieve.doc.tar.xz -Source415: https://ctan.math.illinois.edu/systems/texlive/tlnet/archive/texlogsieve.tar.xz -# 2023 -Source416: https://ctan.math.illinois.edu/systems/texlive/tlnet/archive/digestif.tar.xz -Source417: https://ctan.math.illinois.edu/systems/texlive/tlnet/archive/digestif.doc.tar.xz -Source418: https://ctan.math.illinois.edu/systems/texlive/tlnet/archive/bibcop.tar.xz -Source419: https://ctan.math.illinois.edu/systems/texlive/tlnet/archive/bibcop.doc.tar.xz -Source420: https://ctan.math.illinois.edu/systems/texlive/tlnet/archive/pagelayout.tar.xz -Source421: https://ctan.math.illinois.edu/systems/texlive/tlnet/archive/pagelayout.doc.tar.xz -Source422: https://ctan.math.illinois.edu/systems/texlive/tlnet/archive/texaccents.tar.xz -Source423: https://ctan.math.illinois.edu/systems/texlive/tlnet/archive/texaccents.doc.tar.xz -Source424: https://ctan.math.illinois.edu/systems/texlive/tlnet/archive/upmendex.doc.tar.xz -Source425: https://ctan.math.illinois.edu/systems/texlive/tlnet/archive/texaccents.source.tar.xz - -Patch1: tl-kpfix.patch -Patch2: tl-format.patch -Patch5: texlive-2016-kpathsea-texlive-path.patch -# fixes from arch and upstream texlive -Patch7: texlive-20210325-new-poppler.patch -# fix texmf.cnf so that it finds texinfo bits in Fedora -Patch8: texlive-20230311-texinfo-path-fix.patch -# These tests only fail on 32 bit arches with gcc8 -Patch11: texlive-20220321-disable-more-failing-tests.patch -# Another test which fails on 32 bit arches (in F30+) -# probably because of stricter malloc checks in glibc. -# https://bugzilla.redhat.com/show_bug.cgi?id=1631847 -# Filed issue upstream, no resolution yet. -Patch15: texlive-base-20180414-disable-omegafonts-check-test.patch -# fix annocheck issue detected by rpmdiff -Patch17: texlive-20180414-annocheck.patch -Patch18: texlive-20210325-poppler-0.73.patch -# Fix libgs detection in configure/configure.ac in dvisvgm -# Patch20: texlive-20190410-dvisvgm-fix-libgs-detection.patch -# Since we need to include tlmgr.pl for texconfig -# lets try to keep people from shooting themselves with it -Patch21: texlive-20190410-tlmgr-ignore-warning.patch -Patch23: texlive-20210325-poppler-0.84.patch -# Fixes for poppler 0.90 (f33+) -Patch29: texlive-20200327-poppler-0.90.patch -# Fix pdflatex run out of memory -Patch30: texlive-base-20220321-out-of-memory.patch -# Fix configure to properly detect poppler -Patch31: texlive-base-20210325-configure-poppler-xpdf-fix.patch - -# Just remove obsolete decRefCnt check from configure, valid in either case. -Patch32: texlive-base-20220321-xpdf-no-GfxFont-decRefCnt.patch - -# Remove deprecated setpdfwrite ghostscript call -# Patch33: texlive-base-20210325-no-setpdfwrite.patch - -# Poppler 22 -Patch34: texlive-base-20210325-poppler-22.01.0.patch -# Fix crash in handling Group -Patch35: texlive-base-20210325-pdftoepdf-fix-crash.patch -# Poppler 22.08.0 -Patch36: texlive-base-20220321-poppler-22.08.0.patch - -# libpaper v2 changes -# 1. one psutils test needs adjustment, see https://github.com/rrthomas/libpaper/issues/23 -Patch37: texlive-base-libpaperv2.patch - -# Fix issue where off_t could be set incorrectly on i686 due to order of header load -Patch44: texlive-base-20220321-pdf-header-order-fix.patch - -# Fix texmfcnf.lua for Fedora layout (thanks to Preining Norbert) -Patch45: texlive-fedora-texmfcnf.lua.patch - -# Fix interpreter on perl scripts (thanks again to Debian) -Patch46: texlive-base-20230311-fix-scripts.patch - -# Fix bundling option with perl-5.40.x -Patch47: texdef-perl-option-5.40.x.patch - -# fix build error with gcc-14 -Patch48: texlive-base-20230311-typefixes.patch - -# fix buid error with gcc-15 -Patch49: texlive-2023-gcc15-ftbfs.patch - -# fix errors with python-3.1x -Patch50: texlive-pythontex3-python-3.1x.patch - -# Can't do this because it causes everything else to be noarch -# BuildArch: noarch -BuildRequires: make -BuildRequires: gcc gcc-c++ -BuildRequires: xz libXaw-devel libXi-devel ncurses-devel bison flex file perl(Digest::MD5) texinfo gcc-c++ -BuildRequires: gd-devel -BuildRequires: teckit-devel >= 2.5.7 -BuildRequires: freetype-devel libpng-devel t1lib-devel zlib-devel t1utils -%if %{with poppler} -BuildRequires: poppler-devel -%else -BuildRequires: xpdf-devel >= 4.03 -BuildRequires: glib2-devel fontconfig-devel -%endif -BuildRequires: zziplib-devel libicu-devel cairo-devel harfbuzz-devel perl-generators pixman-devel graphite2-devel -%if 0%{?fedora} || 0%{?rhel} >= 8 -BuildRequires: libgs-devel -%else -BuildRequires: ghostscript-devel -%endif -BuildRequires: libpaper-devel potrace-devel autoconf automake libtool -BuildRequires: gmp-devel mpfr-devel -# This is really for macros. -BuildRequires: python3-devel -BuildRequires: python3-setuptools -%if %{without bootstrap} -# This is for xindy -BuildRequires: clisp-devel -BuildRequires: texlive-cyrillic, texlive-latex, texlive-metafont, texlive-cm-super, texlive-ec -%endif -# This is temporary to fix build while missing kpathsea dep is active -BuildRequires: texlive-texlive-scripts -# This is needed for a test -BuildRequires: texlive-amsfonts -# RPATH DIE DIE DIE -BuildRequires: chrpath -# Break an ugly dep loop -BuildRequires: tex(expl3.sty) - - -# Cleanup Provides/Obsoletes -# texlive-cjk-gs-integrate (depackaged 2018-03-09) -Provides: texlive-cjk-gs-integrate = %{epoch}:%{source_date}-%{release} -Obsoletes: texlive-cjk-gs-integrate <= 7:20170520 -Provides: tex-cjk-gs-integrate = %{epoch}:%{source_date}-%{release} -Obsoletes: tex-cjk-gs-integrate <= 7:20170520 -Provides: texlive-cjk-gs-integrate-bin = %{epoch}:%{source_date}-%{release} -Provides: tex-cjk-gs-integrate-bin = %{epoch}:%{source_date}-%{release} -Obsoletes: texlive-cjk-gs-integrate-bin <= 7:20170520 -Obsoletes: tex-cjk-gs-integrate-bin <= 7:20170520 -Provides: texlive-cjk-gs-integrate-doc = %{epoch}:%{source_date}-%{release} -Obsoletes: texlive-cjk-gs-integrate-doc <= 7:20170520 - -%description -The TeX Live software distribution offers a complete TeX system for a -variety of Unix, Macintosh, Windows and other platforms. It -encompasses programs for editing, typesetting, previewing and printing -of TeX documents in many different languages, and a large collection -of TeX macros and font libraries. - -The distribution includes extensive general documentation about TeX, -as well as the documentation for the included software packages. - -%package -n %{shortname}-a2ping -Version: svn52964 -Provides: texlive-a2ping = %{epoch}:%{source_date}-%{release} -Provides: tex-a2ping = %{epoch}:%{source_date}-%{release} -Provides: texlive-a2ping-bin = %{epoch}:%{source_date}-%{release} -Provides: tex-a2ping-bin = %{epoch}:%{source_date}-%{release} -Obsoletes: texlive-a2ping-bin < 7:20170520 -License: GPL-1.0-or-later -Summary: Advanced PS, PDF, EPS converter -Requires: texlive-base -Requires: texlive-kpathsea -# perl -BuildArch: noarch - -%description -n %{shortname}-a2ping -a2ping is a Perl script command line utility written for Unix -that converts many raster image and vector graphics formats to -EPS or PDF and other page description formats. Accepted input -file formats are: PS (PostScript), EPS, PDF, PNG, JPEG, TIFF, -PNM, BMP, GIF, LBM, XPM, PCX, TGA. Accepted output formats are: -EPS, PCL5, PDF, PDF1, PBM, PGM, PPM, PS, markedEPS, markedPS, -PNG, XWD, BMP, TIFF, JPEG, GIF, XPM. a2ping delegates the low- -level work to Ghostscript (GS), pdftops and sam2p. a2ping fixes -many glitches during the EPS to EPS conversion, so its output -is often more compatible and better embeddable than its input. - -%package -n %{shortname}-accfonts -Version: svn18835 -Provides: texlive-accfonts = %{epoch}:%{source_date}-%{release} -Provides: tex-accfonts = %{epoch}:%{source_date}-%{release} -Provides: texlive-accfonts-bin = %{epoch}:%{source_date}-%{release} -Provides: tex-accfonts-bin = %{epoch}:%{source_date}-%{release} -Obsoletes: texlive-accfonts-bin < 7:20170520 -Provides: tex-accfonts-doc = %{epoch}:%{source_date}-%{release} -Provides: texlive-accfonts-doc = %{epoch}:%{source_date}-%{release} -Obsoletes: texlive-accfonts-doc < 7:20170520 -License: GPL-1.0-or-later -Summary: Utilities to derive new fonts from existing ones -Requires: texlive-base -Requires: texlive-kpathsea -Provides: tex(CSX.def) = %{epoch}:%{source_date}-%{release} -Provides: tex(ISO-Latin1.def) = %{epoch}:%{source_date}-%{release} -Provides: tex(ISO-Latin2.def) = %{epoch}:%{source_date}-%{release} -Provides: tex(IndUni_Omega.def) = %{epoch}:%{source_date}-%{release} -Provides: tex(Norman.def) = %{epoch}:%{source_date}-%{release} -BuildArch: noarch - -%description -n %{shortname}-accfonts -The accfonts package contains three utilities to permit easy -manipulation of fonts, in particular the creation of unusual -accented characters. Mkt1font works on Adobe Type 1 fonts, -vpl2vpl works on TeX virtual fonts and vpl2ovp transforms a TeX -font to an Omega one. All three programs read in a font (either -the font itself or a property list), together with a simple -definition file containing lines such as '128 z acute'; they -then write out a new version of the font with the requested new -characters in the numerical slots specified. Great care is -taken over the positioning of accents, and over the provision -of kerning information for new characters; mkt1font also -generates suitable "hints" to enhance quality at small sizes or -poor resolutions. The programs are written in Perl. - -%package -n %{shortname}-adhocfilelist -Version: svn29349 -Provides: texlive-adhocfilelist = %{epoch}:%{source_date}-%{release} -Provides: tex-adhocfilelist = %{epoch}:%{source_date}-%{release} -Provides: texlive-adhocfilelist-bin = %{epoch}:%{source_date}-%{release} -Provides: tex-adhocfilelist-bin = %{epoch}:%{source_date}-%{release} -Obsoletes: texlive-adhocfilelist-bin < 7:20170520 -Provides: tex-adhocfilelist-doc = %{epoch}:%{source_date}-%{release} -Provides: texlive-adhocfilelist-doc = %{epoch}:%{source_date}-%{release} -Obsoletes: texlive-adhocfilelist-doc < 7:20170520 -License: LPPL-1.3c -Summary: '\listfiles' entries from the command line -Requires: texlive-base -Requires: texlive-kpathsea -# shell -BuildArch: noarch - -%description -n %{shortname}-adhocfilelist -The package provides a Unix shell script to display a list of -LaTeX \Provides...-command contexts on screen. Provision is -made for controlling the searches that the package does. The -package was developed on a Unix-like system, using (among other -things) the gnu variant of the find command. - -%package -n %{shortname}-afm2pl -Version: svn66186 -Provides: texlive-afm2pl = %{epoch}:%{source_date}-%{release} -Provides: tex-afm2pl = %{epoch}:%{source_date}-%{release} -Provides: texlive-afm2pl-bin = %{epoch}:%{source_date}-%{release} -Provides: tex-afm2pl-bin = %{epoch}:%{source_date}-%{release} -Obsoletes: texlive-afm2pl-bin < 7:20170520 -License: GPL-2.0-only -Summary: Convert AFM to TeX property list (.pl) metrics -Requires: texlive-base -Requires: texlive-kpathsea -Provides: tex(afm2pl-ot1.enc) = %{epoch}:%{source_date}-%{release} -Provides: tex(afm2pl-ot1ital.enc) = %{epoch}:%{source_date}-%{release} -Provides: tex(afm2pl-ot1tt.enc) = %{epoch}:%{source_date}-%{release} -Provides: tex(afm2pl-texnanlc.enc) = %{epoch}:%{source_date}-%{release} -Provides: tex(afm2pl-texnanuc.enc) = %{epoch}:%{source_date}-%{release} -Provides: tex(makesc8y.tex) = %{epoch}:%{source_date}-%{release} - -%description -n %{shortname}-afm2pl -afm2pl is an open source font utility for easy installation of commercial fonts -in TeX. Afm2pl is meant to be a partial alternative to afm2tfm, on which it is -based. Its default action is to convert an afm file to a pl file, which in its -turn can be converted to a tfm file, with preservation of kerns and ligatures -(with afm2tfm, preserving kerns and ligatures is possible only in a roundabout -way). - -%package -n %{shortname}-albatross -Version: svn65647 -Provides: texlive-albatross = %{epoch}:%{source_date}-%{release} -Summary: Find fonts that contain a given glyph -License: BSD-3-Clause -Requires: texlive-base texlive-kpathsea - -%description -n %{shortname}-albatross -This is a command line tool for finding fonts that contain a -given (Unicode) glyph. It relies on Fontconfig. - -%package -n %{shortname}-aleph -Version: svn66203 -Provides: texlive-aleph = %{epoch}:%{source_date}-%{release} -Provides: tex-aleph = %{epoch}:%{source_date}-%{release} -Provides: texlive-aleph-bin = %{epoch}:%{source_date}-%{release} -Provides: tex-aleph-bin = %{epoch}:%{source_date}-%{release} -Obsoletes: texlive-aleph-bin < 7:20170520 -Provides: tex-aleph-doc = %{epoch}:%{source_date}-%{release} -Provides: texlive-aleph-doc = %{epoch}:%{source_date}-%{release} -Obsoletes: texlive-aleph-doc < 7:20170520 -Summary: Extended TeX -# NOTE: The tlpkg is wrong, it says "GPL" -# Source code is definitely LGPL-2.1-or-later -License: LGPL-2.1-or-later -Requires: texlive-base -Requires: texlive-kpathsea -Requires(post,postun): coreutils -Requires: texlive-latex -Requires: texlive-plain -Requires: texlive-lambda -Requires: texlive-cm -Requires: texlive-hyphen-base -Requires: texlive-knuth-lib -Requires: texlive-antomega -Requires: texlive-latex-fonts -Requires: texlive-omega -Requires: texlive-l3kernel - -%description -n %{shortname}-aleph -An development of omega, using most of the extensions of TeX -itself developed for e-TeX. - -%package -n %{shortname}-amstex -Version: svn66186 -Provides: texlive-amstex = %{epoch}:%{source_date}-%{release} -Provides: tex-amstex = %{epoch}:%{source_date}-%{release} -Provides: texlive-amstex-bin = %{epoch}:%{source_date}-%{release} -Provides: tex-amstex-bin = %{epoch}:%{source_date}-%{release} -Obsoletes: texlive-amstex-bin < 7:20170520 -Provides: tex-amstex-doc = %{epoch}:%{source_date}-%{release} -Provides: texlive-amstex-doc = %{epoch}:%{source_date}-%{release} -Obsoletes: texlive-amstex-doc < 7:20170520 -License: LPPL-1.3c -Summary: American Mathematical Society plain TeX macros -Requires: texlive-base -Requires: texlive-kpathsea -Requires(post,postun): coreutils -Requires: texlive-tex -Requires: texlive-amsfonts -Requires: texlive-cm -Requires: texlive-hyphen-base -Requires: texlive-knuth-lib -Requires: texlive-plain -Provides: tex(amsppt.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(amsppt1.tex) = %{epoch}:%{source_date}-%{release} -Provides: tex(amstex.bug) = %{epoch}:%{source_date}-%{release} -Provides: tex(amstex.tex) = %{epoch}:%{source_date}-%{release} -Provides: tex(amstex.ini) = %{epoch}:%{source_date}-%{release} -# symlinks only -BuildArch: noarch - -%description -n %{shortname}-amstex -AMSTeX is a TeX macro package, originally written by Michael -Spivak for the American Mathematical Society (AMS) during 1983- -1985 and is described in the book 'The Joy of TeX'. It is based -on Plain TeX, and provides many features for producing more -professional-looking maths formulas with less burden on -authors. More recently, the focus of attention has switched to -amslatex, but AMSTeX remains as a working system. - -%package -n %{shortname}-arara -Version: svn63760 -Provides: texlive-arara = %{epoch}:%{source_date}-%{release} -Provides: tex-arara = %{epoch}:%{source_date}-%{release} -Provides: texlive-arara-bin = %{epoch}:%{source_date}-%{release} -Provides: tex-arara-bin = %{epoch}:%{source_date}-%{release} -Obsoletes: texlive-arara-bin < 7:20170520 -Provides: tex-arara-doc = %{epoch}:%{source_date}-%{release} -Provides: texlive-arara-doc = %{epoch}:%{source_date}-%{release} -Obsoletes: texlive-arara-doc < 7:20170520 -License: BSD-3-Clause -Summary: Automation of LaTeX compilation -Requires: texlive-base -Requires: texlive-kpathsea -Provides: bundled(slf4j) = 1.7.36 -Provides: bundled(annotations) = 13.0 -Provides: bundled(apache-commons-collections) = 3.2.1 -Provides: bundled(apache-commons-exec) = 1.1 -Provides: bundled(apache-commons-lang3) = 3.1 -Provides: bundled(apache-commons-cli) = 1.2 -Provides: bundled(log4j) = 2.17.2 -Provides: bundled(mvel2) = 2.4.14 -Provides: bundled(snakeyaml-engine) = 2.3 -Provides: bundled(logback) = 1.0.1 -# shell -BuildArch: noarch - -%description -n %{shortname}-arara -Arara is comparable with other well-known compilation tools -like latexmk and rubber. The key difference is that that arara -determines its actions from metadata in the source code, rather -than relying on indirect resources, such as log file analysis. - -%package -n %{shortname}-attachfile2 -Version: svn57959 -Provides: texlive-attachfile2 = %{epoch}:%{source_date}-%{release} -Provides: tex-attachfile2 = %{epoch}:%{source_date}-%{release} -Provides: tex-attachfile2-bin = %{epoch}:%{source_date}-%{release} -Provides: texlive-attachfile2-bin = %{epoch}:%{source_date}-%{release} -License: LPPL-1.3c -Summary: Attach files into PDF -Requires: texlive-base -Requires: texlive-kpathsea -Requires: tex(color.sty) -Requires: tex(hycolor.sty) -Requires: tex(hyperref.sty) -Requires: tex(iftex.sty) -Requires: tex(infwarerr.sty) -Requires: tex(keyval.sty) -Requires: tex(kvoptions.sty) -Requires: tex(ltxcmds.sty) -Requires: tex(pdfescape.sty) -Requires: tex(pdftexcmds.sty) -Provides: tex(attachfile2.sty) = %{epoch}:%{source_date}-%{release} -# perl -BuildArch: noarch - -%description -n %{shortname}-attachfile2 -This package can be used to attach files to a PDF document. It -is a further development of Scott Pakin's package attachfile -for pdfTeX. Apart from bug fixes, this package adds support for -dvips, some new options, and gets and writes meta information -data about the attached files. - -%package -n %{shortname}-authorindex -Version: svn51757 -Provides: texlive-authorindex = %{epoch}:%{source_date}-%{release} -Provides: tex-authorindex = %{epoch}:%{source_date}-%{release} -Provides: texlive-authorindex-bin = %{epoch}:%{source_date}-%{release} -Provides: tex-authorindex-bin = %{epoch}:%{source_date}-%{release} -Obsoletes: texlive-authorindex-bin < 7:20170520 -Provides: tex-authorindex-doc = %{epoch}:%{source_date}-%{release} -Provides: texlive-authorindex-doc = %{epoch}:%{source_date}-%{release} -Obsoletes: texlive-authorindex-doc < 7:20170520 -License: LPPL-1.3c -Summary: Index citations by author names -Requires: texlive-base -Requires: texlive-kpathsea -Provides: tex(authorindex.sty) = %{epoch}:%{source_date}-%{release} -# perl -BuildArch: noarch - -%description -n %{shortname}-authorindex -This package allows the user to create an index of all authors -cited in a LaTeX document. Each author entry in the index -contains the pages where these citations occur. Alternatively, -the package can list the labels of the citations that appear in -the references rather than the text pages. The package relies -on BibTeX being used to handle citations. Additionally, it -requires Perl (version 5 or higher). - -%package -n %{shortname}-autosp -Version: svn58211 -Provides: texlive-autosp = %{epoch}:%{source_date}-%{release} -Provides: tex-autosp = %{epoch}:%{source_date}-%{release} -Provides: texlive-autosp-bin = %{epoch}:%{source_date}-%{release} -Provides: tex-autosp-bin = %{epoch}:%{source_date}-%{release} -Obsoletes: texlive-autosp-bin < 7:20170520 -Provides: tex-autosp-doc = %{epoch}:%{source_date}-%{release} -Provides: texlive-autosp-doc = %{epoch}:%{source_date}-%{release} -Obsoletes: texlive-autosp-doc < 7:20170520 -License: GPL-2.0-or-later -Summary: A Preprocessor that generates note-spacing commands for MusiXTeX scores -Requires: texlive-base - -%description -n %{shortname}-autosp -This program simplifies the creation of MusiXTeX scores by -converting (non-standard) commands of the form \anotes ... \en -into one or more conventional note-spacing commands, as -determined by the note values themselves, with \sk spacing -commands inserted as necessary. The coding for an entire -measure can be entered one part at a time, without concern for -note-spacing changes within the part or spacing requirements of -other parts. For example, \anotes\qa J\qa K&\ca l\qa m\ca n\en -generates \Notes\qa J\sk\qa K\sk&\ca l\qa m\sk\ca n\en . - -%package -n %{shortname}-axodraw2 -Version: svn58155 -Provides: texlive-axodraw2 = %{epoch}:%{source_date}-%{release} -Provides: tex-axodraw2 = %{epoch}:%{source_date}-%{release} -Provides: texlive-axodraw2-bin = %{epoch}:%{source_date}-%{release} -License: GPL-3.0-or-later -Summary: Feynman diagrams in a LaTeX document -Requires: texlive-base -Requires: texlive-kpathsea -Requires: tex(color.sty) -Requires: tex(graphicx.sty) -Requires: tex(ifthen.sty) -Requires: tex(ifxetex.sty) -Requires: tex(keyval.sty) -Provides: tex(axodraw2.sty) = %{epoch}:%{source_date}-%{release} - -%description -n %{shortname}-axodraw2 -This package defines macros for drawing Feynman graphs in LaTeX -documents. It is an important update of the axodraw package, -but since it is not completely backwards compatible, we have -given the style file a changed name. Many new features have -been added, with new types of line, and much more flexibility -in their properties. In addition, it is now possible to use -axodraw2 with pdfLaTeX, as well as with the LaTeX-dvips method. -However with pdfLaTeX (and also LuaLaTeX and XeLaTeX), an -external program, axohelp, is used to perform the geometrical -calculations needed for the pdf code inserted in the output -file. The processing involves a run of pdfLaTeX, a run of -axohelp, and then another run of pdfLaTeX. - -%package -n %{shortname}-bib2gls -Version: svn65104 -Provides: texlive-bib2gls = %{epoch}:%{source_date}-%{release} -Provides: tex-bib2gls = %{epoch}:%{source_date}-%{release} -Provides: texlive-bib2gls-bin = %{epoch}:%{source_date}-%{release} -License: GPL-3.0-or-later -Summary: Convert .bib files to glossaries-extra.sty resource files -Requires: texlive-base -Requires: texlive-glossaries-extra -# Java and shell -BuildArch: noarch - -%description -n %{shortname}-bib2gls -This Java command line application may be used to extract -glossary information stored in a .bib file and convert it into -glossary entry definition commands. This application should be -used with glossaries-extra.sty's 'record' package option. It -performs two functions in one: selects entries according to -records found in the .aux file (similar to bibtex), -hierarchically sorts entries and collates location lists -(similar to makeindex or xindy). The glossary entries can then -be managed in a system such as JabRef, and only the entries -that are actually required will be defined, reducing the -resources required by TeX. The supplementary application -convertgls2bib can be used to convert existing .tex files -containing definitions (\newglossaryentry etc.) to the .bib -format required by bib2gls. - -%package -n %{shortname}-bibcop -Summary: Style checker for .bib files -Version: svn65816 -License: MIT -Requires: texlive-base texlive-kpathsea -Requires: tex(iexec.sty) -Requires: tex(pgfopts.sty) -Provides: tex(bibcop.sty) = %{epoch}:%{source_date}-%{release} -# perl -BuildArch: noarch - -%description -n %{shortname}-bibcop -This LaTeX package checks the quality of your .bib file and -emits warning messages if any issues are found. For this, the -TeX processor must be run with the --shell-escape option, and -Perl must be installed. bibcop.pl can also be used as a -standalone command line tool. The package does not work on -Windows. - -%package -n %{shortname}-bibexport -Version: svn50677 -Provides: texlive-bibexport = %{epoch}:%{source_date}-%{release} -Provides: tex-bibexport = %{epoch}:%{source_date}-%{release} -Provides: texlive-bibexport-bin = %{epoch}:%{source_date}-%{release} -Provides: tex-bibexport-bin = %{epoch}:%{source_date}-%{release} -Obsoletes: texlive-bibexport-bin < 7:20170520 -Provides: tex-bibexport-doc = %{epoch}:%{source_date}-%{release} -Provides: texlive-bibexport-doc = %{epoch}:%{source_date}-%{release} -Obsoletes: texlive-bibexport-doc < 7:20170520 -License: LPPL-1.3c -Summary: Extract a BibTeX file based on a .aux file -Requires: texlive-base -Requires: texlive-kpathsea -BuildArch: noarch - -%description -n %{shortname}-bibexport -A Bourne shell script that uses BibTeX to extract bibliography -entries that are \cite'd in a document. It can also expand a -BibTeX file, expanding the abbreviations (other than the built- -in ones like month names) and followig the cross-references. - -%package -n %{shortname}-bibtex -Version: svn66186 -Provides: texlive-bibtex = %{epoch}:%{source_date}-%{release} -Provides: tex-bibtex = %{epoch}:%{source_date}-%{release} -Provides: texlive-bibtex-bin = %{epoch}:%{source_date}-%{release} -Provides: tex-bibtex-bin = %{epoch}:%{source_date}-%{release} -Obsoletes: texlive-bibtex-bin < 7:20170520 -Provides: tex-bibtex-doc = %{epoch}:%{source_date}-%{release} -Provides: texlive-bibtex-doc = %{epoch}:%{source_date}-%{release} -Obsoletes: texlive-bibtex-doc < 7:20170520 -License: Knuth-CTAN -Summary: Process bibliographies (bib files) for LaTeX or other formats -Requires: texlive-base -Requires: texlive-kpathsea -Provides: tex(apalike.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(apalike.tex) = %{epoch}:%{source_date}-%{release} - -%description -n %{shortname}-bibtex -BibTeX allows the user to store his citation data in generic -form, while printing citations in a document in the form -specified by a BibTeX style, to be specified in the document -itself (one often needs a LaTeX citation-style package, such as -natbib, as well). BibTeX knows nothing about Unicode sorting -algorithms or scripts, although it will pass on whatever bytes -it reads. Its descendant bibtexu does support Unicode, via the -ICU library. The older alternative bibtex8 supports 8-bit -character sets. Another Unicode-aware alternative is the -(independently developed) biber program, used with the BibLaTeX -package to typeset its output. - -%package -n %{shortname}-bibtexu -Version: svn66186 -Provides: texlive-bibtexu = %{epoch}:%{source_date}-%{release} -Provides: tex-bibtexu = %{epoch}:%{source_date}-%{release} -Provides: texlive-bibtexu-bin = %{epoch}:%{source_date}-%{release} -Provides: tex-bibtexu-bin = %{epoch}:%{source_date}-%{release} -Obsoletes: texlive-bibtexu-bin < 7:20170520 -Provides: tex-bibtexu-doc = %{epoch}:%{source_date}-%{release} -Provides: texlive-bibtexu-doc = %{epoch}:%{source_date}-%{release} -Obsoletes: texlive-bibtexu-doc < 7:20170520 -License: LPPL-1.3c -Summary: BibTeX variant supporting Unicode (UTF-8), via ICU -Requires: texlive-base -Requires: texlive-kpathsea - -%description -n %{shortname}-bibtexu -An enhanced, portable C version of BibTeX. Unicode is supported -via the ICU library. Originally written by Yannis Haralambous -and his students, and derived from bibtex8, with substantial -updates from the Japanese TeX Development Community, it is now -maintained as part of TeX Live. - -%package -n %{shortname}-bibtex8 -Version: svn66186 -Provides: texlive-bibtex8 = %{epoch}:%{source_date}-%{release} -Provides: tex-bibtex8 = %{epoch}:%{source_date}-%{release} -Provides: texlive-bibtex8-bin = %{epoch}:%{source_date}-%{release} -Provides: tex-bibtex8-bin = %{epoch}:%{source_date}-%{release} -Obsoletes: texlive-bibtex8-bin < 7:20170520 -Provides: tex-bibtex8-doc = %{epoch}:%{source_date}-%{release} -Provides: texlive-bibtex8-doc = %{epoch}:%{source_date}-%{release} -Obsoletes: texlive-bibtex8-doc < 7:20170520 -License: GPL-1.0-or-later -Summary: BibTeX variant supporting 8-bit encodings -Requires: texlive-base -Requires: texlive-kpathsea - -%description -n %{shortname}-bibtex8 -An enhanced, portable C version of BibTeX. Enhanced by -conversion to larger (32-bit) capacity, addition of run-time -selectable capacity and 8-bit support extensions. National -character set and sorting order are controlled by an external -configuration file. Various examples are included. Originally -written by Niel Kempson and Alejandro Aguilar-Sierra, it is now -maintained as part of TeX Live. - -%package -n %{shortname}-bundledoc -Version: svn64620 -Provides: texlive-bundledoc = %{epoch}:%{source_date}-%{release} -Provides: tex-bundledoc = %{epoch}:%{source_date}-%{release} -Provides: texlive-bundledoc-bin = %{epoch}:%{source_date}-%{release} -Provides: tex-bundledoc-bin = %{epoch}:%{source_date}-%{release} -Obsoletes: texlive-bundledoc-bin < 7:20170520 -Provides: tex-bundledoc-doc = %{epoch}:%{source_date}-%{release} -Provides: texlive-bundledoc-doc = %{epoch}:%{source_date}-%{release} -Obsoletes: texlive-bundledoc-doc < 7:20170520 -License: LPPL-1.3c -Summary: Bundle together all the files needed to build a LaTeX document -Requires: texlive-base -Requires: texlive-kpathsea -Provides: tex(miktex.cfg) = %{epoch}:%{source_date}-%{release} -Provides: tex(texlive-unix-arlatex.cfg) = %{epoch}:%{source_date}-%{release} -Provides: tex(texlive-unix.cfg) = %{epoch}:%{source_date}-%{release} -# perl -BuildArch: noarch - -%description -n %{shortname}-bundledoc -The bundledoc package is a post-processor for the snapshot -package that bundles together all the classes, packages and -files needed to build a given LaTeX document. It reads the .dep -file that snapshot produces, finds each of the files mentioned -therein, and archives them into a single .tar.gz (or .zip, or -whatever) file, suitable for moving across systems, -transmitting to a colleague, etc. A script, arlatex, provides -an alternative "archiving" mechanism, creating a single LaTeX -file that contains all of the ancillary files of a LaTeX -document, together with the document itself, using the -filecontents* environment. - -%package -n %{shortname}-cachepic -Version: svn26313 -Provides: texlive-cachepic = %{epoch}:%{source_date}-%{release} -Provides: tex-cachepic = %{epoch}:%{source_date}-%{release} -Provides: texlive-cachepic-bin = %{epoch}:%{source_date}-%{release} -Provides: tex-cachepic-bin = %{epoch}:%{source_date}-%{release} -Obsoletes: texlive-cachepic-bin < 7:20170520 -Provides: tex-cachepic-doc = %{epoch}:%{source_date}-%{release} -Provides: texlive-cachepic-doc = %{epoch}:%{source_date}-%{release} -Obsoletes: texlive-cachepic-doc < 7:20170520 -License: LPPL-1.3c -Summary: Convert document fragments into graphics -Requires: texlive-base -Requires: texlive-kpathsea -Requires: tex(graphicx.sty) -Requires: tex(verbatim.sty) -Provides: tex(cachepic.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(prcachepic.def) = %{epoch}:%{source_date}-%{release} -# lua -BuildArch: noarch - -%description -n %{shortname}-cachepic -The bundle simplifies and automates conversion of document -fragments into external EPS or PDF files. The bundle consists -of two parts: a LaTeX package that implements a document level -interface, and a command line tool (written in lua) that -generates the external graphics. - -%package -n %{shortname}-checkcites -Version: svn64155 -Provides: texlive-checkcites = %{epoch}:%{source_date}-%{release} -Provides: tex-checkcites = %{epoch}:%{source_date}-%{release} -Provides: texlive-checkcites-bin = %{epoch}:%{source_date}-%{release} -Provides: tex-checkcites-bin = %{epoch}:%{source_date}-%{release} -Obsoletes: texlive-checkcites-bin < 7:20170520 -Provides: tex-checkcites-doc = %{epoch}:%{source_date}-%{release} -Provides: texlive-checkcites-doc = %{epoch}:%{source_date}-%{release} -Obsoletes: texlive-checkcites-doc < 7:20170520 -License: LPPL-1.3c -Summary: Check citation commands in a document -Requires: texlive-base -Requires: texlive-kpathsea -# lua script -BuildArch: noarch - -%description -n %{shortname}-checkcites -The package provides a lua script written for the sole purpose -of detecting undefined and unused references from LaTeX -auxiliary or bibliography files. - -%package -n %{shortname}-checklistings -Version: svn38300 -Provides: texlive-checklistings = %{epoch}:%{source_date}-%{release} -Provides: tex-checklistings = %{epoch}:%{source_date}-%{release} -Provides: texlive-checklistings-bin = %{epoch}:%{source_date}-%{release} -Provides: tex-checklistings-bin = %{epoch}:%{source_date}-%{release} -Obsoletes: texlive-checklistings-bin < 7:20170520 -Provides: tex-checklistings-doc = %{epoch}:%{source_date}-%{release} -Provides: texlive-checklistings-doc = %{epoch}:%{source_date}-%{release} -Obsoletes: texlive-checklistings-doc < 7:20170520 -License: LPPL-1.3a -Summary: Pass verbatim contents through a compiler and reincorporate the resulting output -Requires: texlive-base -Requires: texlive-kpathsea -Requires: tex(keyval.sty) -Requires: tex(kvoptions.sty) -Requires: tex(fancyvrb.sty) -Requires: tex(color.sty) -Requires: tex(listings.sty) -Provides: tex(checklistings.sty) = %{epoch}:%{source_date}-%{release} -# shell script -BuildArch: noarch - -%description -n %{shortname}-checklistings -This package augments the fancyvrb and listings packages to -allow the source code they contain to be checked by an external -tool (like a compiler). The external tool's messages can be -automatically reincorporated into the original document. The -package does not focus on a specific programming language, but -it is designed to work well with languages and compilers in the -ML family. - -%package -n %{shortname}-chklref -Version: svn52649 -Provides: texlive-chklref = %{epoch}:%{source_date}-%{release} -Provides: tex-chklref = %{epoch}:%{source_date}-%{release} -License: GPL-3.0-or-later -Summary: Check for problems with labels in LaTeX -Requires: texlive-base -Requires: texlive-kpathsea -Requires: tex(afterpackage.sty) -Requires: tex(auxhook.sty) -Requires: tex(currfile.sty) -Provides: tex(chklref.sty) = %{epoch}:%{source_date}-%{release} -# perl -BuildArch: noarch - -%description -n %{shortname}-chklref -It is quite common that after modifying a TeX file, many unused -labels remain in it. The purpose of chklref is to automatically -find these useless labels. It also looks for "non starred" -mathematical environments with no labels and advises the user -to use a starred version instead. - -%package -n %{shortname}-chktex -Version: svn64797 -Provides: texlive-chktex = %{epoch}:%{source_date}-%{release} -Provides: tex-chktex = %{epoch}:%{source_date}-%{release} -Provides: texlive-chktex-bin = %{epoch}:%{source_date}-%{release} -Provides: tex-chktex-bin = %{epoch}:%{source_date}-%{release} -Obsoletes: texlive-chktex-bin < 7:20170520 -Provides: tex-chktex-doc = %{epoch}:%{source_date}-%{release} -Provides: texlive-chktex-doc = %{epoch}:%{source_date}-%{release} -Obsoletes: texlive-chktex-doc < 7:20170520 -License: GPL-2.0-or-later -Summary: Check for errors in LaTeX documents -Requires: texlive-base -Requires: texlive-kpathsea - -%description -n %{shortname}-chktex -The program reports typographic and other errors in LaTeX -documents. Filters are also provided for checking the LaTeX -parts of CWEB documents. - -%package -n %{shortname}-citation-style-language -Version: svn65878 -Provides: texlive-citation-style-language = %{epoch}:%{source_date}-%{release} -Provides: texlive-citation-style-language-bin = %{epoch}:%{source_date}-%{release} -Provides: texlive-citation-style-language-doc = %{epoch}:%{source_date}-%{release} -License: MIT AND CC-BY-SA-3.0 -Summary: Bibliography formatting with Citation Style Language -Requires: texlive-base, texlive-kpathsea -Requires: tex(filehook.sty) -Requires: texlive-l3kernel -Requires: texlive-l3packages -Requires: texlive-lua-uca -Requires: texlive-lualibs -Requires: texlive-luatex -Requires: texlive-luaxml -Requires: tex(url.sty) -Provides: tex(citation-style-language.sty) = %{epoch}:%{source_date}-%{release} -# lua -BuildArch: noarch - -%description -n %{shortname}-citation-style-language -The Citation Style Language (CSL) is an XML-based language that -defines the formats of citations and bibliography. There are -currently thousands of styles in CSL including the most widely -used APA, Chicago, Vancouver, etc. The citation-style-language -package is aimed to provide another reference formatting method -for LaTeX that utilizes the CSL styles. It contains a citation -processor implemented in pure Lua (citeproc-lua) which reads -bibliographic metadata and performs sorting and formatting on -both citations and bibliography according to the selected CSL -style. A LaTeX package (citation-style-language.sty) is -provided to communicate with the processor. - -%if 0 -%package -n %{shortname}-cjk-gs-integrate -Version: svn59705 -Provides: texlive-cjk-gs-integrate = %{epoch}:%{source_date}-%{release} -Provides: tex-cjk-gs-integrate = %{epoch}:%{source_date}-%{release} -Provides: texlive-cjk-gs-integrate-bin = %{epoch}:%{source_date}-%{release} -Provides: tex-cjk-gs-integrate-bin = %{epoch}:%{source_date}-%{release} -Obsoletes: texlive-cjk-gs-integrate-bin < 7:20170520 -Provides: tex-cjk-gs-integrate-doc = %{epoch}:%{source_date}-%{release} -Provides: texlive-cjk-gs-integrate-doc = %{epoch}:%{source_date}-%{release} -Obsoletes: texlive-cjk-gs-integrate-doc < 7:20170520 -License: GPL-3.0-or-later -Summary: Tools to integrate CJK fonts into Ghostscript -Requires: texlive-base -Requires: texlive-kpathsea -# perl -BuildArch: noarch - -%description -n %{shortname}-cjk-gs-integrate -This script searches a list of directories for CJK fonts, and -makes them available to an installed GhostScript. In the -simplest case with sufficient privileges, a run without -arguments should effect in a complete setup of GhostScript. -%endif - -%package -n %{shortname}-cjkutils -Version: svn60833 -Provides: texlive-cjkutils = %{epoch}:%{source_date}-%{release} -Provides: tex-cjkutils = %{epoch}:%{source_date}-%{release} -Provides: texlive-cjkutils-bin = %{epoch}:%{source_date}-%{release} -Provides: tex-cjkutils-bin = %{epoch}:%{source_date}-%{release} -Obsoletes: texlive-cjkutils-bin < 7:20170520 -License: LPPL-1.3c -Summary: cjkutils package -Requires: texlive-base -Requires: texlive-kpathsea -Provides: tex(b5ka12.cfg) = %{epoch}:%{source_date}-%{release} -Provides: tex(b5kr12.cfg) = %{epoch}:%{source_date}-%{release} -Provides: tex(b5so12.cfg) = %{epoch}:%{source_date}-%{release} -Provides: tex(c1so12.cfg) = %{epoch}:%{source_date}-%{release} -Provides: tex(c2so12.cfg) = %{epoch}:%{source_date}-%{release} -Provides: tex(c3so12.cfg) = %{epoch}:%{source_date}-%{release} -Provides: tex(c4so12.cfg) = %{epoch}:%{source_date}-%{release} -Provides: tex(c5so12.cfg) = %{epoch}:%{source_date}-%{release} -Provides: tex(c6so12.cfg) = %{epoch}:%{source_date}-%{release} -Provides: tex(c7so12.cfg) = %{epoch}:%{source_date}-%{release} -Provides: tex(csso12.cfg) = %{epoch}:%{source_date}-%{release} -Provides: tex(gsfs14.cfg) = %{epoch}:%{source_date}-%{release} -Provides: tex(j2so12.cfg) = %{epoch}:%{source_date}-%{release} -Provides: tex(jsso12.cfg) = %{epoch}:%{source_date}-%{release} -Provides: tex(ksso17.cfg) = %{epoch}:%{source_date}-%{release} - -%description -n %{shortname}-cjkutils -cjkutils package. - -%package -n %{shortname}-clojure-pamphlet -Version: svn60981 -Provides: texlive-clojure-pamphlet = %{epoch}:%{source_date}-%{release} -Provides: tex-clojure-pamphlet = %{epoch}:%{source_date}-%{release} -Provides: texlive-clojure-pamphlet-bin = %{epoch}:%{source_date}-%{release} -Provides: tex-clojure-pamphlet-bin = %{epoch}:%{source_date}-%{release} -License: GPL-3.0-or-later -Summary: A simple literate programming tool based on clojure's pamphlet system -Requires: texlive-base -Requires: texlive-kpathsea -Requires: tex(hyperref.sty) -Requires: tex(listings.sty) -Provides: tex(clojure-pamphlet.sty) = %{epoch}:%{source_date}-%{release} -# perl -BuildArch: noarch - -%description -n %{shortname}-clojure-pamphlet -The Clojure pamphlet system is a system based on the Clojure -literate system. In the Clojure's pamphlet system you have your -main LaTeX file, which can be compiled regularly. This file -contains documentation and source code (just like in other -forms of literate programming). These code snippets are wrapped -in the chunk environment, hence they can be recognized by the -tangler in order to extract them. Chunks can be included inside -each other by the getchunk command (which will be typesetted -accordingly). Finally, the LaTeX file will be run through the -tangler to get the desired chunk of code. - -%package -n %{shortname}-cluttex -Version: svn60964 -Provides: texlive-cluttex = %{epoch}:%{source_date}-%{release} -Provides: tex-cluttex = %{epoch}:%{source_date}-%{release} -Provides: texlive-cluttex-bin = %{epoch}:%{source_date}-%{release} -Provides: tex-cluttex-bin = %{epoch}:%{source_date}-%{release} -License: GPL-3.0-or-later -Summary: An automation tool for running LaTeX -Requires: texlive-base -Requires: texlive-kpathsea -# lua -BuildArch: noarch - -%description -n %{shortname}-cluttex -This is another tool for the automation of LaTeX document -processing, like latexmk or arara. The main feature of this -tool is that it does not clutter your working directory with -.aux or .log or other auxiliary files. It has of course the -usual features of automation tools: It automatically re-runs -(La)TeX for cross-references. MakeIndex, BibTeX, Biber, or -makeglossaries will be executed if a corresponding option is -set. Furthermore, cluttex can watch input files for changes -(using an external program). - -%package -n %{shortname}-context -Version: svn66546 -Provides: texlive-context = %{epoch}:%{source_date}-%{release} -Provides: tex-context = %{epoch}:%{source_date}-%{release} -Provides: texlive-context-bin = %{epoch}:%{source_date}-%{release} -Provides: tex-context-bin = %{epoch}:%{source_date}-%{release} -Obsoletes: texlive-context-bin < 7:20170520 -Provides: tex-context-doc = %{epoch}:%{source_date}-%{release} -Provides: texlive-context-doc = %{epoch}:%{source_date}-%{release} -Obsoletes: texlive-context-doc < 7:20170520 -License: GPL-1.0-or-later OR LPPL-1.3c -Summary: The ConTeXt macro package -Requires: texlive-base -Requires: texlive-kpathsea -# for /usr/bin/realpath -Requires: coreutils, lua -Requires(post,postun): coreutils, lua -Requires: texlive-metapost -%if %{without bootstrap} -Requires: texlive-pdftex -Requires: texlive-xetex -%endif -Requires: texlive-amsfonts -Requires: texlive-lm -Requires: texlive-lm-math -Requires: texlive-luatex -Requires: texlive-manfnt-font -Requires: texlive-mflogo-font -Requires: texlive-mptopdf -Requires: texlive-stmaryrd -Requires: ruby -Requires: tex(pstricks.sty) -Requires: tex(pst-plot.sty) -Provides: tex(aesop-de.tex) = %{epoch}:%{source_date}-%{release} -Provides: tex(aristotle-grc.tex) = %{epoch}:%{source_date}-%{release} -Provides: tex(bidi-symbols.tex) = %{epoch}:%{source_date}-%{release} -Provides: tex(bryson.tex) = %{epoch}:%{source_date}-%{release} -Provides: tex(capek-cz.tex) = %{epoch}:%{source_date}-%{release} -Provides: tex(capek-vlnka-cz.tex) = %{epoch}:%{source_date}-%{release} -Provides: tex(carey.tex) = %{epoch}:%{source_date}-%{release} -Provides: tex(carrol.tex) = %{epoch}:%{source_date}-%{release} -Provides: tex(cervantes-es.tex) = %{epoch}:%{source_date}-%{release} -Provides: tex(context-lmtx-error.tex) = %{epoch}:%{source_date}-%{release} -Provides: tex(context-performance.tex) = %{epoch}:%{source_date}-%{release} -Provides: tex(context-test.tex) = %{epoch}:%{source_date}-%{release} -Provides: tex(context-todo.tex) = %{epoch}:%{source_date}-%{release} -Provides: tex(contnav.map) = %{epoch}:%{source_date}-%{release} -Provides: tex(darwin.tex) = %{epoch}:%{source_date}-%{release} -Provides: tex(davis.tex) = %{epoch}:%{source_date}-%{release} -Provides: tex(dawkins.tex) = %{epoch}:%{source_date}-%{release} -Provides: tex(demo-mps.tex) = %{epoch}:%{source_date}-%{release} -Provides: tex(demo-symbols.tex) = %{epoch}:%{source_date}-%{release} -Provides: tex(demo-tex.tex) = %{epoch}:%{source_date}-%{release} -Provides: tex(demo-xml.tex) = %{epoch}:%{source_date}-%{release} -Provides: tex(dequincey.tex) = %{epoch}:%{source_date}-%{release} -Provides: tex(douglas.tex) = %{epoch}:%{source_date}-%{release} -Provides: tex(dyrynk-cz.tex) = %{epoch}:%{source_date}-%{release} -Provides: tex(dyrynk-vlnka-cz.tex) = %{epoch}:%{source_date}-%{release} -Provides: tex(export-example.tex) = %{epoch}:%{source_date}-%{release} -Provides: tex(filenames.tex) = %{epoch}:%{source_date}-%{release} -Provides: tex(gray.tex) = %{epoch}:%{source_date}-%{release} -Provides: tex(greenfield.tex) = %{epoch}:%{source_date}-%{release} -Provides: tex(hawking.tex) = %{epoch}:%{source_date}-%{release} -Provides: tex(herbert-en.tex) = %{epoch}:%{source_date}-%{release} -Provides: tex(herbert-es.tex) = %{epoch}:%{source_date}-%{release} -Provides: tex(hviezdoslav-sk.tex) = %{epoch}:%{source_date}-%{release} -Provides: tex(hviezdoslav-vlnka-sk.tex) = %{epoch}:%{source_date}-%{release} -Provides: tex(i-readme.tex) = %{epoch}:%{source_date}-%{release} -Provides: tex(jaros-sk.tex) = %{epoch}:%{source_date}-%{release} -Provides: tex(jaros-vlnka-sk.tex) = %{epoch}:%{source_date}-%{release} -Provides: tex(jojomayer.tex) = %{epoch}:%{source_date}-%{release} -Provides: tex(khatt-ar.tex) = %{epoch}:%{source_date}-%{release} -Provides: tex(khatt-en.tex) = %{epoch}:%{source_date}-%{release} -Provides: tex(klein.tex) = %{epoch}:%{source_date}-%{release} -Provides: tex(knuth.tex) = %{epoch}:%{source_date}-%{release} -Provides: tex(kollar-cz.tex) = %{epoch}:%{source_date}-%{release} -Provides: tex(kollar-vlnka-cz.tex) = %{epoch}:%{source_date}-%{release} -Provides: tex(komensky-cz.tex) = %{epoch}:%{source_date}-%{release} -Provides: tex(komensky-vlnka-cz.tex) = %{epoch}:%{source_date}-%{release} -Provides: tex(krdel-sk.tex) = %{epoch}:%{source_date}-%{release} -Provides: tex(kun-cz.tex) = %{epoch}:%{source_date}-%{release} -Provides: tex(linden.tex) = %{epoch}:%{source_date}-%{release} -Provides: tex(lorem.tex) = %{epoch}:%{source_date}-%{release} -Provides: tex(luatex-basics-prepare.tex) = %{epoch}:%{source_date}-%{release} -Provides: tex(luatex-basics.tex) = %{epoch}:%{source_date}-%{release} -Provides: tex(luatex-core.tex) = %{epoch}:%{source_date}-%{release} -Provides: tex(luatex-fonts.tex) = %{epoch}:%{source_date}-%{release} -Provides: tex(luatex-gadgets.tex) = %{epoch}:%{source_date}-%{release} -Provides: tex(luatex-languages.tex) = %{epoch}:%{source_date}-%{release} -Provides: tex(luatex-math.tex) = %{epoch}:%{source_date}-%{release} -Provides: tex(luatex-mplib.tex) = %{epoch}:%{source_date}-%{release} -Provides: tex(luatex-pdf.tex) = %{epoch}:%{source_date}-%{release} -Provides: tex(luatex-plain.tex) = %{epoch}:%{source_date}-%{release} -Provides: tex(luatex-preprocessor-test.tex) = %{epoch}:%{source_date}-%{release} -Provides: tex(luatex-preprocessor.tex) = %{epoch}:%{source_date}-%{release} -Provides: tex(luatex-swiglib-test.tex) = %{epoch}:%{source_date}-%{release} -Provides: tex(luatex-swiglib.tex) = %{epoch}:%{source_date}-%{release} -Provides: tex(luatex-test.tex) = %{epoch}:%{source_date}-%{release} -Provides: tex(m-ch-de.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(m-ch-en.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(m-ch-nl.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(m-pictex.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(m-tikz-pgfplots.tex) = %{epoch}:%{source_date}-%{release} -Provides: tex(m-tikz-pgfplotstable.tex) = %{epoch}:%{source_date}-%{release} -Provides: tex(materie.tex) = %{epoch}:%{source_date}-%{release} -Provides: tex(mcnish.tex) = %{epoch}:%{source_date}-%{release} -Provides: tex(montgomery.tex) = %{epoch}:%{source_date}-%{release} -Provides: tex(mtx-context-arrange.tex) = %{epoch}:%{source_date}-%{release} -Provides: tex(mtx-context-combine.tex) = %{epoch}:%{source_date}-%{release} -Provides: tex(mtx-context-common.tex) = %{epoch}:%{source_date}-%{release} -Provides: tex(mtx-context-compare.tex) = %{epoch}:%{source_date}-%{release} -Provides: tex(mtx-context-copy.tex) = %{epoch}:%{source_date}-%{release} -Provides: tex(mtx-context-domotica.tex) = %{epoch}:%{source_date}-%{release} -Provides: tex(mtx-context-fonts.tex) = %{epoch}:%{source_date}-%{release} -Provides: tex(mtx-context-hashed.tex) = %{epoch}:%{source_date}-%{release} -Provides: tex(mtx-context-ideas.tex) = %{epoch}:%{source_date}-%{release} -Provides: tex(mtx-context-listing.tex) = %{epoch}:%{source_date}-%{release} -Provides: tex(mtx-context-meaning.tex) = %{epoch}:%{source_date}-%{release} -Provides: tex(mtx-context-module.tex) = %{epoch}:%{source_date}-%{release} -Provides: tex(mtx-context-precache.tex) = %{epoch}:%{source_date}-%{release} -Provides: tex(mtx-context-select.tex) = %{epoch}:%{source_date}-%{release} -Provides: tex(mtx-context-setters.tex) = %{epoch}:%{source_date}-%{release} -Provides: tex(mtx-context-setups.tex) = %{epoch}:%{source_date}-%{release} -Provides: tex(mtx-context-sql.tex) = %{epoch}:%{source_date}-%{release} -Provides: tex(mtx-context-timing.tex) = %{epoch}:%{source_date}-%{release} -Provides: tex(mtx-context-trim.tex) = %{epoch}:%{source_date}-%{release} -Provides: tex(mtx-context-xml.tex) = %{epoch}:%{source_date}-%{release} -Provides: tex(original-context-symbol.map) = %{epoch}:%{source_date}-%{release} -Provides: tex(poe.tex) = %{epoch}:%{source_date}-%{release} -Provides: tex(pope-en.tex) = %{epoch}:%{source_date}-%{release} -Provides: tex(pope-es.tex) = %{epoch}:%{source_date}-%{release} -Provides: tex(quevedo-es.tex) = %{epoch}:%{source_date}-%{release} -Provides: tex(reich.tex) = %{epoch}:%{source_date}-%{release} -Provides: tex(s-abbreviations-extras.tex) = %{epoch}:%{source_date}-%{release} -Provides: tex(s-abbreviations-logos.tex) = %{epoch}:%{source_date}-%{release} -Provides: tex(s-cdr-01.tex) = %{epoch}:%{source_date}-%{release} -Provides: tex(s-faq-00.tex) = %{epoch}:%{source_date}-%{release} -Provides: tex(s-faq-01.tex) = %{epoch}:%{source_date}-%{release} -Provides: tex(s-faq-02.tex) = %{epoch}:%{source_date}-%{release} -Provides: tex(s-faq-03.tex) = %{epoch}:%{source_date}-%{release} -Provides: tex(s-pre-00.tex) = %{epoch}:%{source_date}-%{release} -Provides: tex(s-pre-06.tex) = %{epoch}:%{source_date}-%{release} -Provides: tex(s-pre-07.tex) = %{epoch}:%{source_date}-%{release} -Provides: tex(s-pre-08.tex) = %{epoch}:%{source_date}-%{release} -Provides: tex(s-pre-12.tex) = %{epoch}:%{source_date}-%{release} -Provides: tex(s-pre-13.tex) = %{epoch}:%{source_date}-%{release} -Provides: tex(s-pre-16.tex) = %{epoch}:%{source_date}-%{release} -Provides: tex(s-pre-18.tex) = %{epoch}:%{source_date}-%{release} -Provides: tex(s-pre-22.tex) = %{epoch}:%{source_date}-%{release} -Provides: tex(s-pre-23.tex) = %{epoch}:%{source_date}-%{release} -Provides: tex(s-pre-26.tex) = %{epoch}:%{source_date}-%{release} -Provides: tex(s-pre-27.tex) = %{epoch}:%{source_date}-%{release} -Provides: tex(s-pre-50.tex) = %{epoch}:%{source_date}-%{release} -Provides: tex(s-pre-66.tex) = %{epoch}:%{source_date}-%{release} -Provides: tex(s-pre-67.tex) = %{epoch}:%{source_date}-%{release} -Provides: tex(s-pre-93.tex) = %{epoch}:%{source_date}-%{release} -Provides: tex(s-pre-96.tex) = %{epoch}:%{source_date}-%{release} -Provides: tex(sample.tex) = %{epoch}:%{source_date}-%{release} -Provides: tex(samples.tex) = %{epoch}:%{source_date}-%{release} -Provides: tex(sapolsky.tex) = %{epoch}:%{source_date}-%{release} -Provides: tex(scite-context-readme.tex) = %{epoch}:%{source_date}-%{release} -Provides: tex(shakespeare-en.tex) = %{epoch}:%{source_date}-%{release} -Provides: tex(shakespeare-es.tex) = %{epoch}:%{source_date}-%{release} -Provides: tex(shelley-en.tex) = %{epoch}:%{source_date}-%{release} -Provides: tex(shelley-es.tex) = %{epoch}:%{source_date}-%{release} -Provides: tex(shelley-fr.tex) = %{epoch}:%{source_date}-%{release} -Provides: tex(slova-sk.tex) = %{epoch}:%{source_date}-%{release} -Provides: tex(smrek-sk.tex) = %{epoch}:%{source_date}-%{release} -Provides: tex(smrek-vlnka-sk.tex) = %{epoch}:%{source_date}-%{release} -Provides: tex(stork.tex) = %{epoch}:%{source_date}-%{release} -Provides: tex(thuan.tex) = %{epoch}:%{source_date}-%{release} -Provides: tex(tlig.map) = %{epoch}:%{source_date}-%{release} -Provides: tex(tufte.tex) = %{epoch}:%{source_date}-%{release} -Provides: tex(vallejo-trilce-es.tex) = %{epoch}:%{source_date}-%{release} -Provides: tex(waltham.tex) = %{epoch}:%{source_date}-%{release} -Provides: tex(ward.tex) = %{epoch}:%{source_date}-%{release} -Provides: tex(weisman.tex) = %{epoch}:%{source_date}-%{release} -Provides: tex(welcome-to-context.tex) = %{epoch}:%{source_date}-%{release} -Provides: tex(zapf.tex) = %{epoch}:%{source_date}-%{release} -# shell and lua -BuildArch: noarch - -%description -n %{shortname}-context -A full featured, parameter driven macro package, which fully -supports advanced interactive documents. See the ConTeXt garden -for a wealth of support information. - -# This package exists because it is 90M and most people do not need it - -%package -n %{shortname}-context-doc -Version: svn66546 -Provides: texlive-context-doc = %{epoch}:%{source_date}-%{release} -Requires: texlive-context -Provides: tex-context-doc = %{epoch}:%{source_date}-%{release} -Summary: Documentation for context -License: GPL-1.0-or-later OR LPPL-1.3c - -%description -n %{shortname}-context-doc -Documentation for context. - -%package -n %{shortname}-convbkmk -Version: svn49252 -Provides: texlive-convbkmk = %{epoch}:%{source_date}-%{release} -Provides: tex-convbkmk = %{epoch}:%{source_date}-%{release} -Provides: texlive-convbkmk-bin = %{epoch}:%{source_date}-%{release} -Provides: tex-convbkmk-bin = %{epoch}:%{source_date}-%{release} -Obsoletes: texlive-convbkmk-bin < 7:20170520 -Provides: tex-convbkmk-doc = %{epoch}:%{source_date}-%{release} -Provides: texlive-convbkmk-doc = %{epoch}:%{source_date}-%{release} -Obsoletes: texlive-convbkmk-doc < 7:20170520 -License: MIT -Summary: Correct platex/uplatex bookmarks in PDF created with hyperref -Requires: texlive-base -Requires: texlive-kpathsea -Requires: ruby -# ruby script -BuildArch: noarch - -%description -n %{shortname}-convbkmk -The package provides a small Ruby script that corrects -bookmarks in PDF files created by platex/uplatex, using -hyperref. - -%package -n %{shortname}-crossrefware -Version: svn64754 -Provides: texlive-crossrefware = %{epoch}:%{source_date}-%{release} -Provides: tex-crossrefware = %{epoch}:%{source_date}-%{release} -Provides: texlive-crossrefware-bin = %{epoch}:%{source_date}-%{release} -Provides: tex-crossrefware-bin = %{epoch}:%{source_date}-%{release} -Obsoletes: texlive-crossrefware-bin < 7:20170520 -Provides: tex-crossrefware-doc = %{epoch}:%{source_date}-%{release} -Provides: texlive-crossrefware-doc = %{epoch}:%{source_date}-%{release} -Obsoletes: texlive-crossrefware-doc < 7:20170520 -License: GPL-1.0-or-later -Summary: Scripts for working with crossref.org -# Just perl. -BuildArch: noarch - -%description -n %{shortname}-crossrefware -This bundle contains the following scripts: bibdoiadd.pl: add -DOI numbers to papers in a given bib file, bibzbladd.pl: add -Zbl numbers to papers in a given bib file, ltx2crossrefxml.pl: -a tool for the creation of XML files for submitting to the -parent site - -%package -n %{shortname}-cslatex -Version: svn66186 -Provides: texlive-cslatex = %{epoch}:%{source_date}-%{release} -Provides: tex-cslatex = %{epoch}:%{source_date}-%{release} -Provides: texlive-cslatex-bin = %{epoch}:%{source_date}-%{release} -Provides: tex-cslatex-bin = %{epoch}:%{source_date}-%{release} -Obsoletes: texlive-cslatex-bin < 7:20170520 -License: GPL-1.0-or-later -Summary: LaTeX support for Czech/Slovak typesetting -Requires: texlive-base -Requires: texlive-kpathsea -Requires: tex(atbegshi.sty) -Requires: tex(atveryend.sty) -Requires: texlive-cm -Requires: texlive-csplain -Requires: tex(everyshi.sty) -Requires: texlive-firstaid -Requires: texlive-hyphen-base -Requires: texlive-l3kernel -Requires: texlive-l3packages -Requires: texlive-latex -Requires: texlive-latex-fonts -Requires: texlive-tex-ini-files -Requires: texlive-unicode-data -Requires(post,postun): coreutils -Requires: tex(czech.ldf) -Requires: tex(slovak.ldf) -Provides: tex(cspsfont.tex) = %{epoch}:%{source_date}-%{release} -Provides: tex(czech.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(fonttext.cfg) = %{epoch}:%{source_date}-%{release} -Provides: tex(hyphen.cfg) = %{epoch}:%{source_date}-%{release} -Provides: tex(il2cmdh.fd) = %{epoch}:%{source_date}-%{release} -Provides: tex(il2cmfib.fd) = %{epoch}:%{source_date}-%{release} -Provides: tex(il2cmfr.fd) = %{epoch}:%{source_date}-%{release} -Provides: tex(il2cmr.fd) = %{epoch}:%{source_date}-%{release} -Provides: tex(il2cmss.fd) = %{epoch}:%{source_date}-%{release} -Provides: tex(il2cmtt.fd) = %{epoch}:%{source_date}-%{release} -Provides: tex(il2cmvtt.fd) = %{epoch}:%{source_date}-%{release} -Provides: tex(il2enc.def) = %{epoch}:%{source_date}-%{release} -Provides: tex(il2lcmss.fd) = %{epoch}:%{source_date}-%{release} -Provides: tex(il2lcmtt.fd) = %{epoch}:%{source_date}-%{release} -Provides: tex(il2pag.fd) = %{epoch}:%{source_date}-%{release} -Provides: tex(il2pbk.fd) = %{epoch}:%{source_date}-%{release} -Provides: tex(il2pcr.fd) = %{epoch}:%{source_date}-%{release} -Provides: tex(il2phv.fd) = %{epoch}:%{source_date}-%{release} -Provides: tex(il2phvn.fd) = %{epoch}:%{source_date}-%{release} -Provides: tex(il2pnc.fd) = %{epoch}:%{source_date}-%{release} -Provides: tex(il2ppl.fd) = %{epoch}:%{source_date}-%{release} -Provides: tex(il2ptm.fd) = %{epoch}:%{source_date}-%{release} -Provides: tex(il2pzc.fd) = %{epoch}:%{source_date}-%{release} -Provides: tex(nhelvet.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(ntimes.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(slovak.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(xl2pag.fd) = %{epoch}:%{source_date}-%{release} -Provides: tex(xl2pbk.fd) = %{epoch}:%{source_date}-%{release} -Provides: tex(xl2pcr.fd) = %{epoch}:%{source_date}-%{release} -Provides: tex(xl2phv.fd) = %{epoch}:%{source_date}-%{release} -Provides: tex(xl2phvn.fd) = %{epoch}:%{source_date}-%{release} -Provides: tex(xl2pnc.fd) = %{epoch}:%{source_date}-%{release} -Provides: tex(xl2ppl.fd) = %{epoch}:%{source_date}-%{release} -Provides: tex(xl2ptm.fd) = %{epoch}:%{source_date}-%{release} -Provides: tex(xl2pzc.fd) = %{epoch}:%{source_date}-%{release} -# symlinks -BuildArch: noarch - -%description -n %{shortname}-cslatex -LaTeX support for Czech/Slovak typesetting - -%package -n %{shortname}-csplain -Version: svn62771 -Provides: texlive-csplain = %{epoch}:%{source_date}-%{release} -Provides: tex-csplain = %{epoch}:%{source_date}-%{release} -Provides: texlive-csplain-bin = %{epoch}:%{source_date}-%{release} -Provides: tex-csplain-bin = %{epoch}:%{source_date}-%{release} -Obsoletes: texlive-csplain-bin < 7:20170520 -License: GPL-2.0-or-later -Summary: Plain TeX multilanguage support -Requires: texlive-base -Requires: texlive-kpathsea -Requires: texlive-tex -Requires: texlive-cm -Requires(post,postun): coreutils -Requires: texlive-cs -Requires: texlive-hyphen-base -Requires: texlive-plain -Requires: texlive-enctex -Requires: texlive-tex-ini-files -Requires: texlive-luatex -Requires: texlive-luatex85 -Provides: tex(csenc-k.tex) = %{epoch}:%{source_date}-%{release} -Provides: tex(csenc-p.tex) = %{epoch}:%{source_date}-%{release} -Provides: tex(csenc-u.tex) = %{epoch}:%{source_date}-%{release} -Provides: tex(csenc-w.tex) = %{epoch}:%{source_date}-%{release} -Provides: tex(csfonts.tex) = %{epoch}:%{source_date}-%{release} -Provides: tex(csfontsm.tex) = %{epoch}:%{source_date}-%{release} -Provides: tex(czhyphen.tex) = %{epoch}:%{source_date}-%{release} -Provides: tex(extcode.tex) = %{epoch}:%{source_date}-%{release} -Provides: tex(fonttabs.tex) = %{epoch}:%{source_date}-%{release} -Provides: tex(il2code.tex) = %{epoch}:%{source_date}-%{release} -Provides: tex(plaina4.tex) = %{epoch}:%{source_date}-%{release} -Provides: tex(skhyphen.tex) = %{epoch}:%{source_date}-%{release} -Provides: tex(t1code.tex) = %{epoch}:%{source_date}-%{release} -Provides: tex(t1enc-u.tex) = %{epoch}:%{source_date}-%{release} -Provides: tex(ucode.tex) = %{epoch}:%{source_date}-%{release} -Provides: tex(uni-lcuc.tex) = %{epoch}:%{source_date}-%{release} -Provides: tex(ams-math.tex) = %{epoch}:%{source_date}-%{release} -Provides: tex(cavantga.tex) = %{epoch}:%{source_date}-%{release} -Provides: tex(cbookman.tex) = %{epoch}:%{source_date}-%{release} -Provides: tex(chars-8z.tex) = %{epoch}:%{source_date}-%{release} -Provides: tex(chelvet.tex) = %{epoch}:%{source_date}-%{release} -Provides: tex(cncent.tex) = %{epoch}:%{source_date}-%{release} -Provides: tex(cpalatin.tex) = %{epoch}:%{source_date}-%{release} -Provides: tex(cs-adventor.tex) = %{epoch}:%{source_date}-%{release} -Provides: tex(cs-all.tex) = %{epoch}:%{source_date}-%{release} -Provides: tex(cs-antt.tex) = %{epoch}:%{source_date}-%{release} -Provides: tex(cs-arev.tex) = %{epoch}:%{source_date}-%{release} -Provides: tex(cs-bera.tex) = %{epoch}:%{source_date}-%{release} -Provides: tex(cs-bonum.tex) = %{epoch}:%{source_date}-%{release} -Provides: tex(cs-charter.tex) = %{epoch}:%{source_date}-%{release} -Provides: tex(cs-cursor.tex) = %{epoch}:%{source_date}-%{release} -Provides: tex(cs-heros.tex) = %{epoch}:%{source_date}-%{release} -Provides: tex(cs-pagella.tex) = %{epoch}:%{source_date}-%{release} -Provides: tex(cs-polta.tex) = %{epoch}:%{source_date}-%{release} -Provides: tex(cs-schola.tex) = %{epoch}:%{source_date}-%{release} -Provides: tex(cs-termes.tex) = %{epoch}:%{source_date}-%{release} -Provides: tex(ctimes.tex) = %{epoch}:%{source_date}-%{release} -Provides: tex(cyrchars.tex) = %{epoch}:%{source_date}-%{release} -Provides: tex(dcfonts.tex) = %{epoch}:%{source_date}-%{release} -Provides: tex(ecfonts.tex) = %{epoch}:%{source_date}-%{release} -Provides: tex(exchars.tex) = %{epoch}:%{source_date}-%{release} -Provides: tex(lmfonts.tex) = %{epoch}:%{source_date}-%{release} -Provides: tex(luafonts.tex) = %{epoch}:%{source_date}-%{release} -Provides: tex(ntx-math.tex) = %{epoch}:%{source_date}-%{release} -Provides: tex(tx-math.tex) = %{epoch}:%{source_date}-%{release} -Provides: tex(unifam.tex) = %{epoch}:%{source_date}-%{release} -Provides: tex(opmac-bib-iso690.tex) = %{epoch}:%{source_date}-%{release} -Provides: tex(opmac-bib-simple.tex) = %{epoch}:%{source_date}-%{release} -Provides: tex(opmac-bib.tex) = %{epoch}:%{source_date}-%{release} -Provides: tex(opmac-xetex.tex) = %{epoch}:%{source_date}-%{release} -Provides: tex(opmac.tex) = %{epoch}:%{source_date}-%{release} -Provides: tex(pdfuni.tex) = %{epoch}:%{source_date}-%{release} -# symlinks -BuildArch: noarch - -%description -n %{shortname}-csplain -CSplain is a small extension of basic Plain TeX macros, the -formats csplain and pdfcsplain can be generated. It supports: -hyphenation of words for 50+ languages, simple and powerfull -font loading system (various sizes of fonts), tex, pdftex, -xetex and luatex engines, math fonts simply loaded with full -amstex-like features, three internal encodings (IL2 for -Czech/Slovak languages, T1 for many languages with latin -alphabet and Unicode in new TeX engines), natural UTF-8 input -in pdfTeX using encTeX without any active characters, Czech and -Slovak special typesetting features. An important part of the -package is OPmac, which implements most of LaTeX's features -(sectioning, font selection, color, hyper reference and urls, -bibliography, index, toc, tables,etc.) by Plain TeX macros. The -OPmac macros can generate and bibliography without any external -program. - -%package -n %{shortname}-ctan-o-mat -Version: svn51578 -Provides: texlive-ctan-o-mat = %{epoch}:%{source_date}-%{release} -Provides: tex-ctan-o-mat = %{epoch}:%{source_date}-%{release} -Provides: texlive-ctan-o-mat-bin = %{epoch}:%{source_date}-%{release} -License: BSD-3-Clause -Summary: Upload or validate a package for CTAN -Requires: texlive-base -Requires: texlive-kpathsea -Requires: perl-interpreter -#perl -BuildArch: noarch - -%description -n %{shortname}-ctan-o-mat -This program can be used to automate the upload of a package to -CTAN. The description of the package is contained in a -configuration file. The provided information is validated in -any case. If the validation succeeds and not only the -validation is requested, then the provided archive file will be -placed in the incoming area of the CTAN for further processing -by the CTAN team. In any case any finding during the validation -is reported at the end of the processing. Note that the -validation is the default and an official submission has to be -requested by an appropriate command line option. ctan-o-mat -requires an Internet connection to the CTAN server. Even the -validation retrieves the known attributes and the basic -constraints from the server. - -%package -n %{shortname}-ctanbib -Version: svn66068 -Provides: texlive-ctanbib = %{epoch}:%{source_date}-%{release} -Provides: tex-ctanbib = %{epoch}:%{source_date}-%{release} -Provides: texlive-ctanbib-bin = %{epoch}:%{source_date}-%{release} -Provides: tex-ctanbib-bin = %{epoch}:%{source_date}-%{release} -License: LPPL-1.3c -Summary: Export ctan entries to bib format -Requires: texlive-base -Requires: texlive-kpathsea -#lua -BuildArch: noarch - -%description -n %{shortname}-ctanbib -This script can generate BibTeX records for LaTeX packages hosted on CTAN. - -%package -n %{shortname}-ctanify -Version: svn44129 -Provides: texlive-ctanify = %{epoch}:%{source_date}-%{release} -Provides: tex-ctanify = %{epoch}:%{source_date}-%{release} -Provides: texlive-ctanify-bin = %{epoch}:%{source_date}-%{release} -Provides: tex-ctanify-bin = %{epoch}:%{source_date}-%{release} -Obsoletes: texlive-ctanify-bin < 7:20170520 -Provides: tex-ctanify-doc = %{epoch}:%{source_date}-%{release} -Provides: texlive-ctanify-doc = %{epoch}:%{source_date}-%{release} -Obsoletes: texlive-ctanify-doc < 7:20170520 -License: LPPL-1.3c -Summary: Prepare a package for upload to CTAN -Requires: texlive-base -Requires: texlive-kpathsea -# perl -BuildArch: noarch - -%description -n %{shortname}-ctanify -Given a list of filenames, ctanify creates a tarball (a .tar.gz -file) with the files laid out in CTAN's preferred structure. -The tarball additionally contains a ZIP (.zip) file with copies -of all files laid out in the standard TeX Directory Structure -(TDS), which may be used by those intending to install the -package, or by those who need to incorporate it in a -distribution. (The TDS ZIP file will be installed in the CTAN -install/ tree.) - -%package -n %{shortname}-ctanupload -Version: svn26313 -Provides: texlive-ctanupload = %{epoch}:%{source_date}-%{release} -Provides: tex-ctanupload = %{epoch}:%{source_date}-%{release} -Provides: texlive-ctanupload-bin = %{epoch}:%{source_date}-%{release} -Provides: tex-ctanupload-bin = %{epoch}:%{source_date}-%{release} -Obsoletes: texlive-ctanupload-bin < 7:20170520 -Provides: tex-ctanupload-doc = %{epoch}:%{source_date}-%{release} -Provides: texlive-ctanupload-doc = %{epoch}:%{source_date}-%{release} -Obsoletes: texlive-ctanupload-doc < 7:20170520 -License: GPL-3.0-or-later -Summary: Support for users uploading to CTAN -Requires: texlive-base -Requires: texlive-kpathsea -# perl -BuildArch: noarch - -%description -n %{shortname}-ctanupload -The package provides a Perl script that allows the uploads of a -contribution to CTAN from the command line. The aim is to -simplify the release process for LaTeX package authors. - -%package -n %{shortname}-ctie -Version: svn66186 -Provides: texlive-ctie = %{epoch}:%{source_date}-%{release} -Provides: tex-ctie = %{epoch}:%{source_date}-%{release} -Provides: texlive-ctie-bin = %{epoch}:%{source_date}-%{release} -Provides: tex-ctie-bin = %{epoch}:%{source_date}-%{release} -Obsoletes: texlive-ctie-bin < 7:20170520 -License: GPL-1.0-or-later -Summary: C version of tie (merging Web change files) -Requires: texlive-base -Requires: texlive-kpathsea - -%description -n %{shortname}-ctie -This is a version of tie converted for use with cweb. - -%package -n %{shortname}-cweb -Version: svn66186 -Provides: texlive-cweb = %{epoch}:%{source_date}-%{release} -Provides: tex-cweb = %{epoch}:%{source_date}-%{release} -Provides: texlive-cweb-bin = %{epoch}:%{source_date}-%{release} -Provides: tex-cweb-bin = %{epoch}:%{source_date}-%{release} -Obsoletes: texlive-cweb-bin < 7:20170520 -Provides: tex-cweb-doc = %{epoch}:%{source_date}-%{release} -Provides: texlive-cweb-doc = %{epoch}:%{source_date}-%{release} -Obsoletes: texlive-cweb-doc < 7:20170520 -License: Knuth-CTAN -Summary: A Web system in C -Requires: texlive-base -Requires: texlive-kpathsea -Provides: tex(Xcwebmac.tex) = %{epoch}:%{source_date}-%{release} -Provides: tex(ctproofmac.tex) = %{epoch}:%{source_date}-%{release} -Provides: tex(cttwinxmac.tex) = %{epoch}:%{source_date}-%{release} -Provides: tex(ctwimac.tex) = %{epoch}:%{source_date}-%{release} -Provides: tex(cweb_ecma94.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(cweb_hp8.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(cweb_mac8.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(cweb_pc850.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(cwebmac.tex) = %{epoch}:%{source_date}-%{release} -Provides: tex(dctproofmac.tex) = %{epoch}:%{source_date}-%{release} -Provides: tex(dctwimac.tex) = %{epoch}:%{source_date}-%{release} -Provides: tex(dcwebmac.tex) = %{epoch}:%{source_date}-%{release} -Provides: tex(dcwebstrings.tex) = %{epoch}:%{source_date}-%{release} -Provides: tex(fcwebmac.tex) = %{epoch}:%{source_date}-%{release} -Provides: tex(icwebmac.tex) = %{epoch}:%{source_date}-%{release} -Provides: tex(pdfctwimac.tex) = %{epoch}:%{source_date}-%{release} -Provides: tex(pdfwebtocfront.tex) = %{epoch}:%{source_date}-%{release} -Provides: tex(twinx-startup.tex) = %{epoch}:%{source_date}-%{release} - -%description -n %{shortname}-cweb -A highly portable and extended version of Levy/Knuth CWEB 3.64c -for UNIX, Windows, Mac (and possibly other operating systems). -TeX macros, CWEB macros, and NLS catalogs are included for -German, French (partially), and Italian program documentation -on any machine. - -%package -n %{shortname}-cyrillic -Version: svn63613 -Provides: texlive-cyrillic = %{epoch}:%{source_date}-%{release} -Provides: tex-cyrillic = %{epoch}:%{source_date}-%{release} -Provides: texlive-cyrillic-bin = %{epoch}:%{source_date}-%{release} -Provides: tex-cyrillic-bin = %{epoch}:%{source_date}-%{release} -Obsoletes: texlive-cyrillic-bin < 7:20170520 -Provides: tex-cyrillic-doc = %{epoch}:%{source_date}-%{release} -Provides: texlive-cyrillic-doc = %{epoch}:%{source_date}-%{release} -Obsoletes: texlive-cyrillic-doc < 7:20170520 -Provides: texlive-cyrillic-bin-bin = %{epoch}:%{source_date}-%{release} -Provides: tex-cyrillic-bin-bin = %{epoch}:%{source_date}-%{release} -Obsoletes: texlive-cyrillic-bin-bin < 7:20170520 -License: LPPL-1.3c -Summary: Support for Cyrillic fonts in LaTeX -Requires: texlive-base -Requires: texlive-kpathsea -Requires: tex(fontenc.sty) -Provides: tex(cp1251.def) = %{epoch}:%{source_date}-%{release} -Provides: tex(cp855.def) = %{epoch}:%{source_date}-%{release} -Provides: tex(cp866.def) = %{epoch}:%{source_date}-%{release} -Provides: tex(cp866av.def) = %{epoch}:%{source_date}-%{release} -Provides: tex(cp866mav.def) = %{epoch}:%{source_date}-%{release} -Provides: tex(cp866nav.def) = %{epoch}:%{source_date}-%{release} -Provides: tex(cp866tat.def) = %{epoch}:%{source_date}-%{release} -Provides: tex(ctt.def) = %{epoch}:%{source_date}-%{release} -Provides: tex(dbk.def) = %{epoch}:%{source_date}-%{release} -Provides: tex(iso88595.def) = %{epoch}:%{source_date}-%{release} -Provides: tex(isoir111.def) = %{epoch}:%{source_date}-%{release} -Provides: tex(koi8-r.def) = %{epoch}:%{source_date}-%{release} -Provides: tex(koi8-ru.def) = %{epoch}:%{source_date}-%{release} -Provides: tex(koi8-u.def) = %{epoch}:%{source_date}-%{release} -Provides: tex(lcy.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(lcyccr.fd) = %{epoch}:%{source_date}-%{release} -Provides: tex(lcycmbr.fd) = %{epoch}:%{source_date}-%{release} -Provides: tex(lcycmdh.fd) = %{epoch}:%{source_date}-%{release} -Provides: tex(lcycmfib.fd) = %{epoch}:%{source_date}-%{release} -Provides: tex(lcycmfr.fd) = %{epoch}:%{source_date}-%{release} -Provides: tex(lcycmr.fd) = %{epoch}:%{source_date}-%{release} -Provides: tex(lcycmss.fd) = %{epoch}:%{source_date}-%{release} -Provides: tex(lcycmtl.fd) = %{epoch}:%{source_date}-%{release} -Provides: tex(lcycmtt.fd) = %{epoch}:%{source_date}-%{release} -Provides: tex(lcycmvtt.fd) = %{epoch}:%{source_date}-%{release} -Provides: tex(lcydefs.tex) = %{epoch}:%{source_date}-%{release} -Provides: tex(lcyenc.def) = %{epoch}:%{source_date}-%{release} -Provides: tex(lcylcmss.fd) = %{epoch}:%{source_date}-%{release} -Provides: tex(lcylcmtt.fd) = %{epoch}:%{source_date}-%{release} -Provides: tex(maccyr.def) = %{epoch}:%{source_date}-%{release} -Provides: tex(macukr.def) = %{epoch}:%{source_date}-%{release} -Provides: tex(mik.def) = %{epoch}:%{source_date}-%{release} -Provides: tex(mls.def) = %{epoch}:%{source_date}-%{release} -Provides: tex(mnk.def) = %{epoch}:%{source_date}-%{release} -Provides: tex(mos.def) = %{epoch}:%{source_date}-%{release} -Provides: tex(ncc.def) = %{epoch}:%{source_date}-%{release} -Provides: tex(ot2ccr.fd) = %{epoch}:%{source_date}-%{release} -Provides: tex(ot2cmbr.fd) = %{epoch}:%{source_date}-%{release} -Provides: tex(ot2cmdh.fd) = %{epoch}:%{source_date}-%{release} -Provides: tex(ot2cmfib.fd) = %{epoch}:%{source_date}-%{release} -Provides: tex(ot2cmfr.fd) = %{epoch}:%{source_date}-%{release} -Provides: tex(ot2cmr.fd) = %{epoch}:%{source_date}-%{release} -Provides: tex(ot2cmss.fd) = %{epoch}:%{source_date}-%{release} -Provides: tex(ot2cmtl.fd) = %{epoch}:%{source_date}-%{release} -Provides: tex(ot2cmtt.fd) = %{epoch}:%{source_date}-%{release} -Provides: tex(ot2cmvtt.fd) = %{epoch}:%{source_date}-%{release} -Provides: tex(ot2enc.def) = %{epoch}:%{source_date}-%{release} -Provides: tex(ot2lcmss.fd) = %{epoch}:%{source_date}-%{release} -Provides: tex(ot2lcmtt.fd) = %{epoch}:%{source_date}-%{release} -Provides: tex(ot2wlcyr.fd) = %{epoch}:%{source_date}-%{release} -Provides: tex(ot2wlcyss.fd) = %{epoch}:%{source_date}-%{release} -Provides: tex(ot2wncyr.fd) = %{epoch}:%{source_date}-%{release} -Provides: tex(ot2wncyss.fd) = %{epoch}:%{source_date}-%{release} -Provides: tex(pt154.def) = %{epoch}:%{source_date}-%{release} -Provides: tex(pt254.def) = %{epoch}:%{source_date}-%{release} -Provides: tex(t2accr.fd) = %{epoch}:%{source_date}-%{release} -Provides: tex(t2acmbr.fd) = %{epoch}:%{source_date}-%{release} -Provides: tex(t2acmdh.fd) = %{epoch}:%{source_date}-%{release} -Provides: tex(t2acmfib.fd) = %{epoch}:%{source_date}-%{release} -Provides: tex(t2acmfr.fd) = %{epoch}:%{source_date}-%{release} -Provides: tex(t2acmr.fd) = %{epoch}:%{source_date}-%{release} -Provides: tex(t2acmss.fd) = %{epoch}:%{source_date}-%{release} -Provides: tex(t2acmtl.fd) = %{epoch}:%{source_date}-%{release} -Provides: tex(t2acmtt.fd) = %{epoch}:%{source_date}-%{release} -Provides: tex(t2acmvtt.fd) = %{epoch}:%{source_date}-%{release} -Provides: tex(t2aenc.def) = %{epoch}:%{source_date}-%{release} -Provides: tex(t2alcmss.fd) = %{epoch}:%{source_date}-%{release} -Provides: tex(t2alcmtt.fd) = %{epoch}:%{source_date}-%{release} -Provides: tex(t2bccr.fd) = %{epoch}:%{source_date}-%{release} -Provides: tex(t2bcmbr.fd) = %{epoch}:%{source_date}-%{release} -Provides: tex(t2bcmdh.fd) = %{epoch}:%{source_date}-%{release} -Provides: tex(t2bcmfib.fd) = %{epoch}:%{source_date}-%{release} -Provides: tex(t2bcmfr.fd) = %{epoch}:%{source_date}-%{release} -Provides: tex(t2bcmr.fd) = %{epoch}:%{source_date}-%{release} -Provides: tex(t2bcmss.fd) = %{epoch}:%{source_date}-%{release} -Provides: tex(t2bcmtl.fd) = %{epoch}:%{source_date}-%{release} -Provides: tex(t2bcmtt.fd) = %{epoch}:%{source_date}-%{release} -Provides: tex(t2bcmvtt.fd) = %{epoch}:%{source_date}-%{release} -Provides: tex(t2benc.def) = %{epoch}:%{source_date}-%{release} -Provides: tex(t2blcmss.fd) = %{epoch}:%{source_date}-%{release} -Provides: tex(t2blcmtt.fd) = %{epoch}:%{source_date}-%{release} -Provides: tex(t2cccr.fd) = %{epoch}:%{source_date}-%{release} -Provides: tex(t2ccmbr.fd) = %{epoch}:%{source_date}-%{release} -Provides: tex(t2ccmdh.fd) = %{epoch}:%{source_date}-%{release} -Provides: tex(t2ccmfib.fd) = %{epoch}:%{source_date}-%{release} -Provides: tex(t2ccmfr.fd) = %{epoch}:%{source_date}-%{release} -Provides: tex(t2ccmr.fd) = %{epoch}:%{source_date}-%{release} -Provides: tex(t2ccmss.fd) = %{epoch}:%{source_date}-%{release} -Provides: tex(t2ccmtl.fd) = %{epoch}:%{source_date}-%{release} -Provides: tex(t2ccmtt.fd) = %{epoch}:%{source_date}-%{release} -Provides: tex(t2ccmvtt.fd) = %{epoch}:%{source_date}-%{release} -Provides: tex(t2cenc.def) = %{epoch}:%{source_date}-%{release} -Provides: tex(t2clcmss.fd) = %{epoch}:%{source_date}-%{release} -Provides: tex(t2clcmtt.fd) = %{epoch}:%{source_date}-%{release} -Provides: tex(x2ccr.fd) = %{epoch}:%{source_date}-%{release} -Provides: tex(x2cmbr.fd) = %{epoch}:%{source_date}-%{release} -Provides: tex(x2cmdh.fd) = %{epoch}:%{source_date}-%{release} -Provides: tex(x2cmfib.fd) = %{epoch}:%{source_date}-%{release} -Provides: tex(x2cmfr.fd) = %{epoch}:%{source_date}-%{release} -Provides: tex(x2cmr.fd) = %{epoch}:%{source_date}-%{release} -Provides: tex(x2cmss.fd) = %{epoch}:%{source_date}-%{release} -Provides: tex(x2cmtl.fd) = %{epoch}:%{source_date}-%{release} -Provides: tex(x2cmtt.fd) = %{epoch}:%{source_date}-%{release} -Provides: tex(x2cmvtt.fd) = %{epoch}:%{source_date}-%{release} -Provides: tex(x2enc.def) = %{epoch}:%{source_date}-%{release} -Provides: tex(x2lcmss.fd) = %{epoch}:%{source_date}-%{release} -Provides: tex(x2lcmtt.fd) = %{epoch}:%{source_date}-%{release} -# shell -BuildArch: noarch - -%description -n %{shortname}-cyrillic -This bundle of macros files provides macro support (including -font encoding macros) for the use of Cyrillic characters in -fonts encoded under the T2* and X2 encodings. These encodings -cover (between them) pretty much every language that is written -in a Cyrillic alphabet. - -%package -n %{shortname}-de-macro -Version: svn61719 -Provides: texlive-de-macro = %{epoch}:%{source_date}-%{release} -Provides: tex-de-macro = %{epoch}:%{source_date}-%{release} -Provides: texlive-de-macro-bin = %{epoch}:%{source_date}-%{release} -Provides: tex-de-macro-bin = %{epoch}:%{source_date}-%{release} -Obsoletes: texlive-de-macro-bin < 7:20170520 -Provides: tex-de-macro-doc = %{epoch}:%{source_date}-%{release} -Provides: texlive-de-macro-doc = %{epoch}:%{source_date}-%{release} -Obsoletes: texlive-de-macro-doc < 7:20170520 -License: AFL-2.1 -Summary: Expand private macros in a document -Requires: texlive-base -Requires: texlive-kpathsea -# python -BuildArch: noarch - -%description -n %{shortname}-de-macro -De-macro is a Python script that helps authors who like to use -private LaTeX macros (for example, as abbreviations). A -technical editor or a cooperating author may balk at such a -manuscript; you can avoid manuscript rejection misery by -running de-macro on it. De-macro will expand macros defined in -\(re)newcommand or \(re)newenvironment commands, within the -document, or in the document's "private" package file. - -%package -n %{shortname}-detex -Version: svn66186 -Provides: texlive-detex = %{epoch}:%{source_date}-%{release} -Provides: tex-detex = %{epoch}:%{source_date}-%{release} -Provides: texlive-detex-bin = %{epoch}:%{source_date}-%{release} -Provides: tex-detex-bin = %{epoch}:%{source_date}-%{release} -Obsoletes: texlive-detex-bin < 7:20170520 -License: NCSA -Summary: Strip TeX from a source file -Requires: texlive-base -Requires: texlive-kpathsea - -%description -n %{shortname}-detex -Detex is a program to remove TeX constructs from a text file. -It recognizes the \input command. The program assumes it is -dealing with LaTeX input if it sees the string \begin{document} -in the text. In this case, it also recognizes the \include and -\includeonly commands. The author now considers this program to -be "retired" and Piotr Kubowicz's OpenDetex as its successor. - -%package -n %{shortname}-diadia -Version: svn37656 -Provides: texlive-diadia = %{epoch}:%{source_date}-%{release} -Provides: tex-diadia = %{epoch}:%{source_date}-%{release} -Provides: texlive-diadia-bin = %{epoch}:%{source_date}-%{release} -Provides: tex-diadia-bin = %{epoch}:%{source_date}-%{release} -Obsoletes: texlive-diadia-bin < 7:20170520 -Provides: tex-diadia-doc = %{epoch}:%{source_date}-%{release} -Provides: texlive-diadia-doc = %{epoch}:%{source_date}-%{release} -Obsoletes: texlive-diadia-doc < 7:20170520 -License: LPPL-1.3c -Summary: Package to keep a diabetes diary -Requires: texlive-base -Requires: texlive-kpathsea -Requires: tex(xkeyval.sty) -Requires: tex(pgfplots.sty) -Requires: tex(pgfplotstable.sty) -Requires: tex(pgfcalendar.sty) -Requires: tex(tabularx.sty) -Requires: tex(booktabs.sty) -Requires: tex(colortbl.sty) -Requires: tex(ifthen.sty) -Requires: tex(calc.sty) -Requires: tex(translations.sty) -Requires: tex(amsmath.sty) -Requires: tex(tcolorbox.sty) -Requires: tex(environ.sty) -Requires: tex(multicol.sty) -Requires: tex(amssymb.sty) -Provides: tex(diadia.cfg) = %{epoch}:%{source_date}-%{release} -Provides: tex(diadia.sty) = %{epoch}:%{source_date}-%{release} -# lua -BuildArch: noarch - -%description -n %{shortname}-diadia -The diadia package allows you to keep a diabetes diary. -Usually, this means keeping record of certain medical values -like blood sugar, blood pressure, pulse or weight. It might -also include other medical, pharmaceutical or nutritional data -(HbA1c, insulin doses, carbohydrate units). The diadia package -supports all of this plus more - simply by adding more columns -to the data file! It is able to evaluate the data file and -typesets formatted tables and derived plots. Furthermore, it -supports medication charts and info boxes. Supported languages: -English, German. Feel free to provide other translation files! - -%package -n %{shortname}-digestif -Summary: Editor plugin for LaTeX, ConTeXt etc. -Version: svn65223 -License: GPL-3.0-or-later AND LPPL-1.3c AND GFDL-1.3-no-invariants-or-later -Requires: texlive-base texlive-kpathsea -# lua -BuildArch: noarch - -%description -n %{shortname}-digestif -Digestif is a code analyzer, and a language server, for LaTeX, -plain TeX, ConTeXt and Texinfo. It provides context-sensitive -completion, documentation, code navigation, and related -functionality to any text editor that speaks the LSP protocol. - -%package -n %{shortname}-dosepsbin -Version: svn29752 -Provides: texlive-dosepsbin = %{epoch}:%{source_date}-%{release} -Provides: tex-dosepsbin = %{epoch}:%{source_date}-%{release} -Provides: texlive-dosepsbin-bin = %{epoch}:%{source_date}-%{release} -Provides: tex-dosepsbin-bin = %{epoch}:%{source_date}-%{release} -Obsoletes: texlive-dosepsbin-bin < 7:20170520 -Provides: tex-dosepsbin-doc = %{epoch}:%{source_date}-%{release} -Provides: texlive-dosepsbin-doc = %{epoch}:%{source_date}-%{release} -Obsoletes: texlive-dosepsbin-doc < 7:20170520 -License: GPL-2.0-only -Summary: Deal with DOS binary EPS files -Requires: texlive-base -Requires: texlive-kpathsea -# perl -BuildArch: noarch - -%description -n %{shortname}-dosepsbin -A Encapsulated PostScript (EPS) file may given in a special -binary format to support the inclusion of a thumbnail. This -file format, commonly known as DOS EPS format starts with a -binary header that contains the positions of the possible -sections: Postscript (PS); Windows Metafile Format (WMF); and -Tag Image File Format (TIFF). The PS section must be present -and either the WMF file or the TIFF file should be given. The -package provides a Perl program that will extract any of the -sections of such a file, in particular providing a 'text'-form -EPS file for use with (La)TeX. - -%package -n %{shortname}-dtl -Version: svn62387 -Provides: texlive-dtl = %{epoch}:%{source_date}-%{release} -Provides: tex-dtl = %{epoch}:%{source_date}-%{release} -Provides: texlive-dtl-bin = %{epoch}:%{source_date}-%{release} -Provides: tex-dtl-bin = %{epoch}:%{source_date}-%{release} -Obsoletes: texlive-dtl-bin < 7:20170520 -License: LicenseRef-Fedora-Public-Domain -Summary: Tools to dis-assemble and re-assemble DVI files -Requires: texlive-base -Requires: texlive-kpathsea - -%description -n %{shortname}-dtl -DTL (DVI Text Language) is a means of expressing the content of -a DVI file, which is readily readable by humans. The DTL bundle -contains an assembler dt2dv (which produces DVI files from DTL -files) and a disassembler dv2dt (which produces DTL files from -DVI files). The DTL bundle was developed so as to avoid some -infelicities of dvitype (among other pressing reasons). - -%package -n %{shortname}-dtxgen -Version: svn51663 -Provides: texlive-dtxgen = %{epoch}:%{source_date}-%{release} -Provides: tex-dtxgen = %{epoch}:%{source_date}-%{release} -Provides: texlive-dtxgen-bin = %{epoch}:%{source_date}-%{release} -Provides: tex-dtxgen-bin = %{epoch}:%{source_date}-%{release} -Obsoletes: texlive-dtxgen-bin < 7:20170520 -Provides: tex-dtxgen-doc = %{epoch}:%{source_date}-%{release} -Provides: texlive-dtxgen-doc = %{epoch}:%{source_date}-%{release} -Obsoletes: texlive-dtxgen-doc < 7:20170520 -License: GPL-1.0-or-later -Summary: Creates a template for a self-extracting .dtx file -Requires: texlive-base -Requires: texlive-kpathsea -# bash -BuildArch: noarch - -%description -n %{shortname}-dtxgen -The bash script dtxgen creates a template for a self-extracting -.dtx file. It is useful for those who plan to create a new -Documented LaTeX Source (.dtx) file. - -%package -n %{shortname}-dvi2tty -Version: svn66186 -Provides: texlive-dvi2tty = %{epoch}:%{source_date}-%{release} -Provides: tex-dvi2tty = %{epoch}:%{source_date}-%{release} -Provides: texlive-dvi2tty-bin = %{epoch}:%{source_date}-%{release} -Provides: tex-dvi2tty-bin = %{epoch}:%{source_date}-%{release} -Obsoletes: texlive-dvi2tty-bin < 7:20170520 -License: GPL-1.0-or-later -Summary: Produce ASCII from DVI -Requires: texlive-base -Requires: texlive-kpathsea - -%description -n %{shortname}-dvi2tty -A DVI driver to produce an ASCII representation of the -document. The original version was written in Pascal, and the -present author translated the program to C. - -%package -n %{shortname}-dviasm -Version: svn64430 -Provides: texlive-dviasm = %{epoch}:%{source_date}-%{release} -Provides: tex-dviasm = %{epoch}:%{source_date}-%{release} -Provides: texlive-dviasm-bin = %{epoch}:%{source_date}-%{release} -Provides: tex-dviasm-bin = %{epoch}:%{source_date}-%{release} -Obsoletes: texlive-dviasm-bin < 7:20170520 -Provides: tex-dviasm-doc = %{epoch}:%{source_date}-%{release} -Provides: texlive-dviasm-doc = %{epoch}:%{source_date}-%{release} -Obsoletes: texlive-dviasm-doc < 7:20170520 -License: GPL-3.0-or-later -Summary: A utility for editing DVI files -Requires: texlive-base -Requires: texlive-kpathsea -# python -BuildArch: noarch - -%description -n %{shortname}-dviasm -A Python script to support changing or creating DVI files via -disassembling into text, editing, and then reassembling into -binary format. It supports advanced features such as adding a -preprint number or watermarks. - -%package -n %{shortname}-dvicopy -Version: svn66186 -Provides: texlive-dvicopy = %{epoch}:%{source_date}-%{release} -Provides: tex-dvicopy = %{epoch}:%{source_date}-%{release} -Provides: texlive-dvicopy-bin = %{epoch}:%{source_date}-%{release} -Provides: tex-dvicopy-bin = %{epoch}:%{source_date}-%{release} -Obsoletes: texlive-dvicopy-bin < 7:20170520 -License: GPL-1.0-or-later -Summary: Copy DVI files, flattening VFs -Requires: texlive-base -Requires: texlive-kpathsea - -%description -n %{shortname}-dvicopy -DVICOPY is a utility program that allows one to take a DVI file -that references composite fonts (VF) and convert it into a DVI -file that does not contain such references. It also serves as a -basis for writing DVI drivers (much like DVItype). - -%package -n %{shortname}-dvidvi -Version: svn65952 -Provides: texlive-dvidvi = %{epoch}:%{source_date}-%{release} -Provides: tex-dvidvi = %{epoch}:%{source_date}-%{release} -Provides: texlive-dvidvi-bin = %{epoch}:%{source_date}-%{release} -Provides: tex-dvidvi-bin = %{epoch}:%{source_date}-%{release} -Obsoletes: texlive-dvidvi-bin < 7:20170520 -License: LicenseRef-Fedora-UltraPermissive -Summary: Convert one DVI file into another -Requires: texlive-base -Requires: texlive-kpathsea - -%description -n %{shortname}-dvidvi -The output DVI file's contents are specified by page selection -commands; series of pages and page number ranges may be -specified, as well as inclusions and exclusions. - -%package -n %{shortname}-dviinfox -Version: svn59216 -Provides: texlive-dviinfox = %{epoch}:%{source_date}-%{release} -Provides: tex-dviinfox = %{epoch}:%{source_date}-%{release} -Provides: texlive-dviinfox-bin = %{epoch}:%{source_date}-%{release} -License: MIT -Summary: Perl script to print DVI meta information -# perl -BuildArch: noarch -Requires: texlive-base -Requires: texlive-kpathsea -Requires: perl-interpreter - -%description -n %{shortname}-dviinfox -The package provides a perl script which prints information -about a DVI file. It also supports XeTeX XDV format. - -%package -n %{shortname}-dviljk -Version: svn66186 -Provides: texlive-dviljk = %{epoch}:%{source_date}-%{release} -Provides: tex-dviljk = %{epoch}:%{source_date}-%{release} -Provides: texlive-dviljk-bin = %{epoch}:%{source_date}-%{release} -Provides: tex-dviljk-bin = %{epoch}:%{source_date}-%{release} -Obsoletes: texlive-dviljk-bin < 7:20170520 -License: GPL-1.0-or-later -Summary: DVI to Laserjet output -Requires: texlive-base -Requires: texlive-kpathsea - -%description -n %{shortname}-dviljk -A dvi driver for the LaserJet printers, using kpathsea -recursive file searching. - -%package -n %{shortname}-dviout-util -Version: svn66186 -Provides: texlive-dviout-util = %{epoch}:%{source_date}-%{release} -Provides: tex-dviout-util = %{epoch}:%{source_date}-%{release} -Provides: texlive-dviout-util-bin = %{epoch}:%{source_date}-%{release} -Provides: tex-dviout-util-bin = %{epoch}:%{source_date}-%{release} -License: MIT -Summary: DVI output utilities -Requires: texlive-base -Requires: texlive-kpathsea - -%description -n %{shortname}-dviout-util -This is a partial repackaging of elements of the DVIOUT package -by Toshio OSHIMA, Yoshiki OTOBE, and Kazunori ASAYAMA. -Here we don't include the main DVI previewer, but just want small utility -programs. - -%package -n %{shortname}-dvipdfmx -Version: svn66203 -Provides: texlive-dvipdfmx = %{epoch}:%{source_date}-%{release} -Provides: tex-dvipdfmx = %{epoch}:%{source_date}-%{release} -Provides: texlive-dvipdfmx-bin = %{epoch}:%{source_date}-%{release} -Provides: tex-dvipdfmx-bin = %{epoch}:%{source_date}-%{release} -Obsoletes: texlive-dvipdfmx-bin < 7:20170520 -Provides: tex-dvipdfmx-doc = %{epoch}:%{source_date}-%{release} -Provides: texlive-dvipdfmx-doc = %{epoch}:%{source_date}-%{release} -Obsoletes: texlive-dvipdfmx-doc < 7:20170520 -Provides: dvipdfmx = %{epoch}:%{source_date}-%{release} -Provides: dvipdfm = %{epoch}:%{source_date}-%{release} -License: GPL-1.0-or-later -Summary: An extended version of dvipdfm -Requires: texlive-base -Requires: texlive-glyphlist -Requires: texlive-kpathsea -Requires: texlive-xetex -Provides: tex(dvipdfmx.cfg) = %{epoch}:%{source_date}-%{release} -Provides: tex(cid-x.map) = %{epoch}:%{source_date}-%{release} -Provides: tex(ckx.map) = %{epoch}:%{source_date}-%{release} - -%description -n %{shortname}-dvipdfmx -Dvipdfmx (formerly dvipdfm-cjk) is a development of dvipdfm -created to support multi-byte character encodings and large -character sets for East Asian languages. Dvipdfmx, if "called" -with the name dvipdfm, operates in a "dvipdfm compatibility" -mode, so that users of the both packages need only keep one -executable. A secondary design goal is to support as many "PDF" -features as does pdfTeX. - -%package -n %{shortname}-dvipng -Version: svn66203 -Provides: texlive-dvipng = %{epoch}:%{source_date}-%{release} -Provides: tex-dvipng = %{epoch}:%{source_date}-%{release} -Provides: texlive-dvipng-bin = %{epoch}:%{source_date}-%{release} -Provides: tex-dvipng-bin = %{epoch}:%{source_date}-%{release} -Obsoletes: texlive-dvipng-bin < 7:20170520 -Provides: tex-dvipng-doc = %{epoch}:%{source_date}-%{release} -Provides: texlive-dvipng-doc = %{epoch}:%{source_date}-%{release} -Obsoletes: texlive-dvipng-doc < 7:20170520 -Provides: dvipng = %{epoch}:%{source_date}-%{release} -License: LGPL-2.1-or-later -Summary: A fast DVI to PNG/GIF converter -Requires: texlive-base -Requires: texlive-kpathsea - -%description -n %{shortname}-dvipng -This program makes PNG and/or GIF graphics from DVI files as -obtained from TeX and its relatives. Its benefits include: -Speed. It offers very fast rendering of DVI as bitmap files, -which makes it suitable for generating large amounts of images -on-the-fly, as needed in preview-latex, WeBWorK and others; It -does not read the postamble, so it can be started before TeX -finishes. There is a --follow switch that makes dvipng wait at -end-of-file for further output, unless it finds the POST marker -that indicates the end of the DVI; Interactive query of -options. dvipng can read options interactively through stdin, -and all options are usable. It is even possible to change the -input file through this interface. Support for PK, VF, -PostScript Type1, and TrueType fonts, colour specials, and -inclusion of PostScript, PNG, JPEG or GIF images. - -%package -n %{shortname}-dvipos -Version: svn66186 -Provides: texlive-dvipos = %{epoch}:%{source_date}-%{release} -Provides: tex-dvipos = %{epoch}:%{source_date}-%{release} -Provides: texlive-dvipos-bin = %{epoch}:%{source_date}-%{release} -Provides: tex-dvipos-bin = %{epoch}:%{source_date}-%{release} -Obsoletes: texlive-dvipos-bin < 7:20170520 -License: LPPL-1.3c -Summary: support DVI pos: specials used by ConTeXt DVI output -Requires: texlive-base -Requires: texlive-kpathsea - -%description -n %{shortname}-dvipos -support DVI pos: specials used by ConTeXt DVI output - -%package -n %{shortname}-dvips -Version: svn66203 -Provides: texlive-dvips = %{epoch}:%{source_date}-%{release} -Provides: tetex-dvips = %{epoch}:%{source_date}-%{release} -Provides: tex-dvips = %{epoch}:%{source_date}-%{release} -Provides: texlive-dvips-bin = %{epoch}:%{source_date}-%{release} -Provides: tex-dvips-bin = %{epoch}:%{source_date}-%{release} -Obsoletes: texlive-dvips-bin < 7:20170520 -Provides: tex-dvips-doc = %{epoch}:%{source_date}-%{release} -Provides: texlive-dvips-doc = %{epoch}:%{source_date}-%{release} -Obsoletes: texlive-dvips-doc < 7:20170520 -License: GPL-1.0-or-later -Summary: A DVI to PostScript driver -Requires: texlive-base -Requires: texlive-kpathsea -Provides: tex(canonex.cfg) = %{epoch}:%{source_date}-%{release} -Provides: tex(cx.cfg) = %{epoch}:%{source_date}-%{release} -Provides: tex(deskjet.cfg) = %{epoch}:%{source_date}-%{release} -Provides: tex(dfaxhigh.cfg) = %{epoch}:%{source_date}-%{release} -Provides: tex(dvired.cfg) = %{epoch}:%{source_date}-%{release} -Provides: tex(epson.cfg) = %{epoch}:%{source_date}-%{release} -Provides: tex(ibmvga.cfg) = %{epoch}:%{source_date}-%{release} -Provides: tex(ljfour.cfg) = %{epoch}:%{source_date}-%{release} -Provides: tex(qms.cfg) = %{epoch}:%{source_date}-%{release} -Provides: tex(toshiba.cfg) = %{epoch}:%{source_date}-%{release} -Provides: tex(6w.enc) = %{epoch}:%{source_date}-%{release} -Provides: tex(7t.enc) = %{epoch}:%{source_date}-%{release} -Provides: tex(8a.enc) = %{epoch}:%{source_date}-%{release} -Provides: tex(8r.enc) = %{epoch}:%{source_date}-%{release} -Provides: tex(ad.enc) = %{epoch}:%{source_date}-%{release} -Provides: tex(ansinew.enc) = %{epoch}:%{source_date}-%{release} -Provides: tex(asex.enc) = %{epoch}:%{source_date}-%{release} -Provides: tex(asexp.enc) = %{epoch}:%{source_date}-%{release} -Provides: tex(dc.enc) = %{epoch}:%{source_date}-%{release} -Provides: tex(dvips-all.enc) = %{epoch}:%{source_date}-%{release} -Provides: tex(dvips.enc) = %{epoch}:%{source_date}-%{release} -Provides: tex(ec.enc) = %{epoch}:%{source_date}-%{release} -Provides: tex(extex.enc) = %{epoch}:%{source_date}-%{release} -Provides: tex(funky.enc) = %{epoch}:%{source_date}-%{release} -Provides: tex(odvips.enc) = %{epoch}:%{source_date}-%{release} -Provides: tex(q-cs-uni.enc) = %{epoch}:%{source_date}-%{release} -Provides: tex(q-ec-uni.enc) = %{epoch}:%{source_date}-%{release} -Provides: tex(q-l7x-uni.enc) = %{epoch}:%{source_date}-%{release} -Provides: tex(q-qx-uni.enc) = %{epoch}:%{source_date}-%{release} -Provides: tex(q-rm-uni.enc) = %{epoch}:%{source_date}-%{release} -Provides: tex(q-t2a-uni.enc) = %{epoch}:%{source_date}-%{release} -Provides: tex(q-t2b-uni.enc) = %{epoch}:%{source_date}-%{release} -Provides: tex(q-t2c-uni.enc) = %{epoch}:%{source_date}-%{release} -Provides: tex(q-t5-uni.enc) = %{epoch}:%{source_date}-%{release} -Provides: tex(q-texnansi-uni.enc) = %{epoch}:%{source_date}-%{release} -Provides: tex(q-ts1-uni.enc) = %{epoch}:%{source_date}-%{release} -Provides: tex(qx.enc) = %{epoch}:%{source_date}-%{release} -Provides: tex(stormex.enc) = %{epoch}:%{source_date}-%{release} -Provides: tex(tex256.enc) = %{epoch}:%{source_date}-%{release} -Provides: tex(texmext.enc) = %{epoch}:%{source_date}-%{release} -Provides: tex(texmital.enc) = %{epoch}:%{source_date}-%{release} -Provides: tex(texmsym.enc) = %{epoch}:%{source_date}-%{release} -Provides: tex(texnansx.enc) = %{epoch}:%{source_date}-%{release} -Provides: tex(blackdvi.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(blackdvi.tex) = %{epoch}:%{source_date}-%{release} -Provides: tex(colordvi.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(colordvi.tex) = %{epoch}:%{source_date}-%{release} -Provides: tex(rotate.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(rotate.tex) = %{epoch}:%{source_date}-%{release} -Provides: tex(dvips) = %{epoch}:%{source_date}-%{release} -Requires: texlive-latex-fonts - -%description -n %{shortname}-dvips -This package has been withdrawn from CTAN, and bundled into the -distributions' package sets. The current sources of dvips may -be found in the distribution of dvipsk which forms part of the -TeX Live sources. - -%package -n %{shortname}-dvisvgm -Version: svn66532 -Provides: texlive-dvisvgm = %{epoch}:%{source_date}-%{release} -Provides: tex-dvisvgm = %{epoch}:%{source_date}-%{release} -Provides: texlive-dvisvgm-bin = %{epoch}:%{source_date}-%{release} -Provides: tex-dvisvgm-bin = %{epoch}:%{source_date}-%{release} -Obsoletes: texlive-dvisvgm-bin < 7:20170520 -License: GPL-1.0-or-later -Summary: Convert DVI, EPS, and PDF files to Scalable Vector Graphics format (SVG) -Requires: texlive-base -Requires: texlive-kpathsea -# for mutool -Requires: mupdf - -%description -n %{shortname}-dvisvgm -Dvisvgm is a command line utility that converts TeX DVI as well -as EPS and PDF files to the XML-based Scalable Vector Graphics -(SVG) format. It provides full font support including virtual -fonts, font maps, and sub-fonts. If necessary, dvisvgm -vectorizes Metafont's bitmap output in order to always create -lossless scalable output. The embedded SVG fonts can optionally -be replaced with graphics paths so that applications that do -not support SVG fonts are enabled to render the graphics -properly. Besides many other features, dvisvgm also supports -color, emTeX, tpic, papersize, PDF mapfile and PostScript -specials. - -%package -n %{shortname}-ebong -Version: svn55475 -Provides: texlive-ebong = %{epoch}:%{source_date}-%{release} -Provides: tex-ebong = %{epoch}:%{source_date}-%{release} -Provides: texlive-ebong-bin = %{epoch}:%{source_date}-%{release} -Provides: tex-ebong-bin = %{epoch}:%{source_date}-%{release} -Obsoletes: texlive-ebong-bin < 7:20170520 -Provides: tex-ebong-doc = %{epoch}:%{source_date}-%{release} -Provides: texlive-ebong-doc = %{epoch}:%{source_date}-%{release} -Obsoletes: texlive-ebong-doc < 7:20170520 -License: LicenseRef-Fedora-Public-Domain -Summary: Utility for writing Bengali in Rapid Roman Format -Requires: texlive-base -Requires: texlive-kpathsea -# python -BuildArch: noarch - -%description -n %{shortname}-ebong -A tool (preprocessor) for writing your pRaa-ne-r ka-thaa in the -bengali langauage. It allows one to write the text in Rapid -Roman Bangla and convert it to the bangtex format by a python -program. All LaTeX markups are preserved in the target file. - -%package -n %{shortname}-eplain -Version: svn64721 -Provides: texlive-eplain = %{epoch}:%{source_date}-%{release} -Provides: tex-eplain = %{epoch}:%{source_date}-%{release} -Provides: texlive-eplain-bin = %{epoch}:%{source_date}-%{release} -Provides: tex-eplain-bin = %{epoch}:%{source_date}-%{release} -Obsoletes: texlive-eplain-bin < 7:20170520 -Provides: tex-eplain-doc = %{epoch}:%{source_date}-%{release} -Provides: texlive-eplain-doc = %{epoch}:%{source_date}-%{release} -Obsoletes: texlive-eplain-doc < 7:20170520 -License: GPL-2.0-or-later -Summary: Extended plain TeX macros -Requires: texlive-base -Requires: texlive-kpathsea -Requires: texlive-pdftex -Requires: texlive-babel -Requires: texlive-cm -Requires: texlive-hyphen-base -Requires: texlive-latex-fonts -Requires: texlive-l3backend -Requires: texlive-l3kernel -Requires: texlive-l3packages -Requires: texlive-tex-ini-files -Requires: texlive-unicode-data -Requires: texlive-dehyph -Requires: texlive-hyph-utf8 -Requires: texlive-knuth-lib -Requires(post,postun): coreutils -Provides: tex(arrow.tex) = %{epoch}:%{source_date}-%{release} -Provides: tex(btxmac.tex) = %{epoch}:%{source_date}-%{release} -Provides: tex(eplain.tex) = %{epoch}:%{source_date}-%{release} -# No actual binaries in here -BuildArch: noarch - -%description -n %{shortname}-eplain -An extended version of the plain TeX format, adding support for -bibliographies, tables of contents, enumerated lists, verbatim -input of files, numbered equations, tables, two-column output, -footnotes, hyperlinks in PDF output and commutative diagrams. -Eplain can also load some of the more useful LaTeX packages, -notably graphics, graphicx (an extended of version of -graphics), color, autopict (a package instance of the LaTeX -picture code), psfrag, and url. - -%package -n %{shortname}-epspdf -Version: svn66115 -Provides: texlive-epspdf = %{epoch}:%{source_date}-%{release} -Provides: tex-epspdf = %{epoch}:%{source_date}-%{release} -Provides: texlive-epspdf-bin = %{epoch}:%{source_date}-%{release} -Provides: tex-epspdf-bin = %{epoch}:%{source_date}-%{release} -Obsoletes: texlive-epspdf-bin < 7:20170520 -Provides: tex-epspdf-doc = %{epoch}:%{source_date}-%{release} -Provides: texlive-epspdf-doc = %{epoch}:%{source_date}-%{release} -Obsoletes: texlive-epspdf-doc < 7:20170520 -License: GPL-1.0-or-later -Summary: Converter for PostScript, EPS and PDF -Requires: texlive-base -Requires: texlive-kpathsea -# tcl and lua -BuildArch: noarch - -%description -n %{shortname}-epspdf -Epspdftk.tcl is a GUI ps/eps/pdf converter. Epspdf.tlu, its -command-line backend, can be used by itself. Options include -grayscaling, cropping margins and single-page selection. Some -conversion options are made possible by converting in multiple -steps. - -%package -n %{shortname}-epstopdf -Version: svn66461 -Provides: texlive-epstopdf = %{epoch}:%{source_date}-%{release} -Provides: tex-epstopdf = %{epoch}:%{source_date}-%{release} -Provides: texlive-epstopdf-bin = %{epoch}:%{source_date}-%{release} -Provides: tex-epstopdf-bin = %{epoch}:%{source_date}-%{release} -Obsoletes: texlive-epstopdf-bin < 7:20170520 -Provides: tex-epstopdf-doc = %{epoch}:%{source_date}-%{release} -Provides: texlive-epstopdf-doc = %{epoch}:%{source_date}-%{release} -Obsoletes: texlive-epstopdf-doc < 7:20170520 -License: BSD-3-Clause -Summary: Convert EPS to 'encapsulated' PDF using Ghostscript -Requires: texlive-base -Requires: texlive-kpathsea -# perl -BuildArch: noarch - -%description -n %{shortname}-epstopdf -Epstopdf is a Perl script that converts an EPS file to an -'encapsulated' PDF file (a single page file whose media box is -the same as the original EPS's bounding box). The resulting -file suitable for inclusion by PDFTeX as an image. The script -is adapted to run both on Windows and on Unix-alike systems. -The script makes use of Ghostscript for the actual conversion -to PDF. It assumes Ghostscript version 6.51 or later, and (by -default) suppresses its automatic rotation of pages where most -of the text is not horizontal. LaTeX users may make use of the -epstopdf package, which will run the epstopdf script "on the -fly", thus giving the illusion that PDFLaTeX is accepting EPS -graphic files. - -%package -n %{shortname}-exceltex -Version: svn26313 -Provides: texlive-exceltex = %{epoch}:%{source_date}-%{release} -Provides: tex-exceltex = %{epoch}:%{source_date}-%{release} -Provides: texlive-exceltex-bin = %{epoch}:%{source_date}-%{release} -Provides: tex-exceltex-bin = %{epoch}:%{source_date}-%{release} -Obsoletes: texlive-exceltex-bin < 7:20170520 -Provides: tex-exceltex-doc = %{epoch}:%{source_date}-%{release} -Provides: texlive-exceltex-doc = %{epoch}:%{source_date}-%{release} -Obsoletes: texlive-exceltex-doc < 7:20170520 -License: GPL-1.0-or-later -Summary: Get data from Excel files into LaTeX -Requires: texlive-base -Requires: texlive-kpathsea -Requires: tex(ulem.sty) -Requires: tex(color.sty) -Provides: tex(exceltex.sty) = %{epoch}:%{source_date}-%{release} -# perl -BuildArch: noarch - -%description -n %{shortname}-exceltex -Exceltex is a LaTeX package combined with a helper program -written in Perl. It provides an easy to use yet powerfull and -flexible way to get data from Spreadsheets into LaTeX. In -contrast to other solutions, exceltex does not seek to make the -creation of tables in LaTeX easier, but to get data from -Spreadsheets into LaTeX as easily as possible. The Excel (TM) -file format only acts as an interface between the spreadsheet -application and exceltex beacause it is easily accessible (via -the Spreadsheet::ParseExcel Perl module) and because most -spreadsheet applications are able to read and write Excel -files. - -%package -n %{shortname}-fig4latex -Version: svn26313 -Provides: texlive-fig4latex = %{epoch}:%{source_date}-%{release} -Provides: tex-fig4latex = %{epoch}:%{source_date}-%{release} -Provides: texlive-fig4latex-bin = %{epoch}:%{source_date}-%{release} -Provides: tex-fig4latex-bin = %{epoch}:%{source_date}-%{release} -Obsoletes: texlive-fig4latex-bin < 7:20170520 -Provides: tex-fig4latex-doc = %{epoch}:%{source_date}-%{release} -Provides: texlive-fig4latex-doc = %{epoch}:%{source_date}-%{release} -Obsoletes: texlive-fig4latex-doc < 7:20170520 -License: GPL-3.0-or-later -Summary: Management of figures for large LaTeX documents -Requires: texlive-base -Requires: texlive-kpathsea -# perl -BuildArch: noarch - -%description -n %{shortname}-fig4latex -Fig4LaTeX simplifies management of the figures in a large LaTeX -document. Fig4LaTeX is appropriate for projects that include -figures with graphics created by XFig -- in particular, -graphics which use the combined PS/LaTeX (or PDF/LaTeX) export -method. An example document (with its output) is provided. - -%package -n %{shortname}-findhyph -Version: svn47444 -Provides: texlive-findhyph = %{epoch}:%{source_date}-%{release} -Provides: tex-findhyph = %{epoch}:%{source_date}-%{release} -Provides: texlive-findhyph-bin = %{epoch}:%{source_date}-%{release} -Provides: tex-findhyph-bin = %{epoch}:%{source_date}-%{release} -Obsoletes: texlive-findhyph-bin < 7:20170520 -Provides: tex-findhyph-doc = %{epoch}:%{source_date}-%{release} -Provides: texlive-findhyph-doc = %{epoch}:%{source_date}-%{release} -Obsoletes: texlive-findhyph-doc < 7:20170520 -License: GPL-1.0-or-later -Summary: Find hyphenated words in a document -Requires: texlive-base -Requires: texlive-kpathsea -# perl -BuildArch: noarch - -%description -n %{shortname}-findhyph -Findhyph is a Perl script that will analyse the log file from -running your document with \tracingparagraphs=1 set. The output -contains enough context to enable you to find the hyphenated -word that's being referenced. - -%package -n %{shortname}-fontinst -Version: svn62517 -Provides: texlive-fontinst = %{epoch}:%{source_date}-%{release} -Provides: tex-fontinst = %{epoch}:%{source_date}-%{release} -Provides: texlive-fontinst-bin = %{epoch}:%{source_date}-%{release} -Provides: tex-fontinst-bin = %{epoch}:%{source_date}-%{release} -Obsoletes: texlive-fontinst-bin < 7:20170520 -Provides: tex-fontinst-doc = %{epoch}:%{source_date}-%{release} -Provides: texlive-fontinst-doc = %{epoch}:%{source_date}-%{release} -Obsoletes: texlive-fontinst-doc < 7:20170520 -License: LPPL-1.3c -Summary: Help with installing fonts for TeX and LaTeX -Requires: texlive-base -Requires: texlive-kpathsea -Requires: tex(color.sty) -Requires: tex(amstext.sty) -Provides: tex(bbox.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(cfntinst.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(fontinst.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(finstmsc.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(fontinst.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(multislot.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(xfntinst.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(csc2x.tex) = %{epoch}:%{source_date}-%{release} -Provides: tex(csckrn2x.tex) = %{epoch}:%{source_date}-%{release} -Provides: tex(osf2x.tex) = %{epoch}:%{source_date}-%{release} -Provides: tex(fontdoc.sty) = %{epoch}:%{source_date}-%{release} -# shell -BuildArch: noarch - -%description -n %{shortname}-fontinst -TeX macros for converting Adobe Font Metric files to TeX metric -and virtual font format. Fontinst helps mainly with the number -crunching and shovelling parts of font installation. This means -in practice that it creates a number of files which give the -TeX metrics (and related information) for a font family that -(La)TeX needs to do any typesetting in these fonts. Fontinst -furthermore makes it easy to create fonts containing glyphs -from more than one base font, taking advantage of (e.g.) -"expert" font sets. Fontinst cannot examine files to see if -they contain any useful information, nor automatically search -for files or work with binary file formats; those tasks must -normally be done manually or with the help of some other tool, -such as the pltotf and vptovf programs. - -%package -n %{shortname}-fontools -Version: svn65706 -Provides: texlive-fontools = %{epoch}:%{source_date}-%{release} -Provides: tex-fontools = %{epoch}:%{source_date}-%{release} -Provides: texlive-fontools-bin = %{epoch}:%{source_date}-%{release} -Provides: tex-fontools-bin = %{epoch}:%{source_date}-%{release} -Obsoletes: texlive-fontools-bin < 7:20170520 -Provides: tex-fontools-doc = %{epoch}:%{source_date}-%{release} -Provides: texlive-fontools-doc = %{epoch}:%{source_date}-%{release} -Obsoletes: texlive-fontools-doc < 7:20170520 -License: GPL-2.0-or-later -Summary: Tools to simplify using fonts (especially TT/OTF ones) -Requires: texlive-base -Requires: texlive-kpathsea -# for otfinfo -Requires: texlive-lcdftypetools -# For vptovf -Requires: texlive-fontware -Provides: tex(fontools_cs.enc) = %{epoch}:%{source_date}-%{release} -Provides: tex(fontools_l7x.enc) = %{epoch}:%{source_date}-%{release} -Provides: tex(fontools_lgr.enc) = %{epoch}:%{source_date}-%{release} -Provides: tex(fontools_ly1.enc) = %{epoch}:%{source_date}-%{release} -Provides: tex(fontools_oml.enc) = %{epoch}:%{source_date}-%{release} -Provides: tex(fontools_ot1.enc) = %{epoch}:%{source_date}-%{release} -Provides: tex(fontools_qx.enc) = %{epoch}:%{source_date}-%{release} -Provides: tex(fontools_t1.enc) = %{epoch}:%{source_date}-%{release} -Provides: tex(fontools_t2a.enc) = %{epoch}:%{source_date}-%{release} -Provides: tex(fontools_t2b.enc) = %{epoch}:%{source_date}-%{release} -Provides: tex(fontools_t2c.enc) = %{epoch}:%{source_date}-%{release} -Provides: tex(fontools_t3.enc) = %{epoch}:%{source_date}-%{release} -Provides: tex(fontools_t4.enc) = %{epoch}:%{source_date}-%{release} -Provides: tex(fontools_t5.enc) = %{epoch}:%{source_date}-%{release} -Provides: tex(fontools_ts1.enc) = %{epoch}:%{source_date}-%{release} -Provides: tex(fontools_ts3.enc) = %{epoch}:%{source_date}-%{release} -# perl -BuildArch: noarch - -%description -n %{shortname}-fontools -This package provides tools to simplify using OpenType fonts -with LaTeX. By far the most important program in this bundle is -autoinst: autoinst - a wrapper script around Eddie Kohler's -LCDF TypeTools. Autoinst aims to automate the installation of -OpenType fonts in LaTeX by calling the LCDF TypeTools (with the -correct options) for all fonts you wish to install, and -generating the necessary .fd and .sty files. In addition, this -bundle contains a few other, less important utilities: afm2afm -- re-encode .afm files, ot2kpx - extract kerning pairs from -OpenType fonts, splitttc - split an OpenType Collection file -(ttc or otc) into individual fonts. - -%package -n %{shortname}-fontware -Version: svn66186 -Provides: texlive-fontware = %{epoch}:%{source_date}-%{release} -Provides: tex-fontware = %{epoch}:%{source_date}-%{release} -Provides: texlive-fontware-bin = %{epoch}:%{source_date}-%{release} -Provides: tex-fontware-bin = %{epoch}:%{source_date}-%{release} -Obsoletes: texlive-fontware-bin < 7:20170520 -License: LPPL-1.3c -Summary: Tools for virtual font metrics -Requires: texlive-base -Requires: texlive-kpathsea - -%description -n %{shortname}-fontware -Virtual font metrics are usually created in a textual form, the -Virtual Property List, but programs that use them need to use -binary files (the Virtual Font and the TeX Font Metric). The -present two programs translate between the two forms: - vptovf -takes a VPL file and generates a VF file and a TFM file; - -vftovp takes a VF file and a TFM file and generates a VPL file. -The programs are to be found in every distribution of TeX. - -%package -n %{shortname}-fragmaster -Version: svn26313 -Provides: texlive-fragmaster = %{epoch}:%{source_date}-%{release} -Provides: tex-fragmaster = %{epoch}:%{source_date}-%{release} -Provides: texlive-fragmaster-bin = %{epoch}:%{source_date}-%{release} -Provides: tex-fragmaster-bin = %{epoch}:%{source_date}-%{release} -Obsoletes: texlive-fragmaster-bin < 7:20170520 -Provides: tex-fragmaster-doc = %{epoch}:%{source_date}-%{release} -Provides: texlive-fragmaster-doc = %{epoch}:%{source_date}-%{release} -Obsoletes: texlive-fragmaster-doc < 7:20170520 -License: GPL-1.0-or-later -Summary: Using psfrag with PDFLaTeX -Requires: texlive-base -Requires: texlive-kpathsea -# perl -BuildArch: noarch - -%description -n %{shortname}-fragmaster -Fragmaster enables you to use psfrag with PDFLaTeX. It takes -EPS files and psfrag substitution definition files, and -produces PDF and EPS files with the substitutions included. - -%package -n %{shortname}-getmap -Version: svn50589 -Provides: texlive-getmap = %{epoch}:%{source_date}-%{release} -Provides: tex-getmap = %{epoch}:%{source_date}-%{release} -Provides: texlive-getmap-bin = %{epoch}:%{source_date}-%{release} -Provides: tex-getmap-bin = %{epoch}:%{source_date}-%{release} -Obsoletes: texlive-getmap-bin < 7:20170520 -Provides: tex-getmap-doc = %{epoch}:%{source_date}-%{release} -Provides: texlive-getmap-doc = %{epoch}:%{source_date}-%{release} -Obsoletes: texlive-getmap-doc < 7:20170520 -License: LPPL-1.3c -Summary: Download OpenStreetMap maps for use in documents -Requires: texlive-base -Requires: texlive-kpathsea -Requires: tex(xkeyval.sty) -Requires: tex(stringenc.sty) -Requires: tex(ifthen.sty) -Provides: tex(getmap.cfg) = %{epoch}:%{source_date}-%{release} -Provides: tex(getmap.sty) = %{epoch}:%{source_date}-%{release} -# lua and shell -BuildArch: noarch - -%description -n %{shortname}-getmap -The package provides a simple interface to OpenStreetMap, and -to Google Maps "map images". In the simplest case, it is -sufficient to specify the address you need (if you don't, the -package will use its own default). The package loads the map -image using an external lua script (invoked via \write 18: -LaTeX must be running with \write 18 enabled). The ("external") -lua script may be used from the command line; a bash version is -provided. - -%package -n %{shortname}-git-latexdiff -Version: svn54732 -Provides: texlive-git-latexdiff = %{epoch}:%{source_date}-%{release} -Summary: Call latexdiff on two Git revisions of a file -License: BSD-3-Clause -Requires: texlive-base texlive-kpathsea -Requires: git, texlive-latexdiff - -%description -n %{shortname}-git-latexdiff -git-latexdiff is a tool to graphically visualize differences -between different versions of a LaTeX file. Technically, it is -a wrapper around git and latexdiff. - -%package -n %{shortname}-glossaries -Version: svn64919 -Provides: texlive-glossaries = %{epoch}:%{source_date}-%{release} -Provides: tex-glossaries = %{epoch}:%{source_date}-%{release} -Provides: texlive-glossaries-bin = %{epoch}:%{source_date}-%{release} -Provides: tex-glossaries-bin = %{epoch}:%{source_date}-%{release} -Obsoletes: texlive-glossaries-bin < 7:20170520 -Provides: tex-glossaries-doc = %{epoch}:%{source_date}-%{release} -Provides: texlive-glossaries-doc = %{epoch}:%{source_date}-%{release} -Obsoletes: texlive-glossaries-doc < 7:20170520 -License: LPPL-1.3c -Summary: Create glossaries and lists of acronyms -Requires: texlive-base -Requires: texlive-kpathsea -Requires: texlive-amsmath -Requires: texlive-datatool -Requires: texlive-etoolbox -Requires: texlive-mfirstuc -Requires: texlive-tracklang -Requires: texlive-xfor -Requires: texlive-xkeyval -Requires: tex(accsupp.sty) -Requires: tex(amsgen.sty) -Requires: tex(array.sty) -Requires: tex(booktabs.sty) -Requires: tex(ifthen.sty) -Requires: tex(longtable.sty) -Requires: tex(multicol.sty) -Requires: tex(shellesc.sty) -Requires: tex(supertabular.sty) -Requires: tex(textcase.sty) -Requires: tex(translator.sty) -Provides: tex(example-glossaries-acronym-desc.tex) = %{epoch}:%{source_date}-%{release} -Provides: tex(example-glossaries-acronym.tex) = %{epoch}:%{source_date}-%{release} -Provides: tex(example-glossaries-acronyms-lang.tex) = %{epoch}:%{source_date}-%{release} -Provides: tex(example-glossaries-brief.tex) = %{epoch}:%{source_date}-%{release} -Provides: tex(example-glossaries-childmultipar.tex) = %{epoch}:%{source_date}-%{release} -Provides: tex(example-glossaries-childnoname.tex) = %{epoch}:%{source_date}-%{release} -Provides: tex(example-glossaries-cite.tex) = %{epoch}:%{source_date}-%{release} -Provides: tex(example-glossaries-images.tex) = %{epoch}:%{source_date}-%{release} -Provides: tex(example-glossaries-long.tex) = %{epoch}:%{source_date}-%{release} -Provides: tex(example-glossaries-longchild.tex) = %{epoch}:%{source_date}-%{release} -Provides: tex(example-glossaries-multipar.tex) = %{epoch}:%{source_date}-%{release} -Provides: tex(example-glossaries-parent.tex) = %{epoch}:%{source_date}-%{release} -Provides: tex(example-glossaries-symbolnames.tex) = %{epoch}:%{source_date}-%{release} -Provides: tex(example-glossaries-symbols.tex) = %{epoch}:%{source_date}-%{release} -Provides: tex(example-glossaries-url.tex) = %{epoch}:%{source_date}-%{release} -Provides: tex(example-glossaries-user.tex) = %{epoch}:%{source_date}-%{release} -Provides: tex(glossaries-2020-03-19.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(glossaries-2021-11-01.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(glossaries-accsupp-2020-03-19.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(glossaries-accsupp-2021-11-01.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(glossaries-accsupp.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(glossaries-babel-2020-03-19.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(glossaries-babel-2021-11-01.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(glossaries-babel.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(glossaries-compatible-207-2020-03-19.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(glossaries-compatible-207-2021-11-01.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(glossaries-compatible-207.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(glossaries-compatible-307-2020-03-19.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(glossaries-compatible-307-2021-11-01.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(glossaries-compatible-307.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(glossaries-polyglossia-2020-03-19.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(glossaries-polyglossia-2021-11-01.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(glossaries-polyglossia.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(glossaries-prefix-2020-03-19.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(glossaries-prefix-2021-11-01.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(glossaries-prefix.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(glossaries.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(glossary-hypernav-2020-03-19.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(glossary-hypernav-2021-11-01.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(glossary-hypernav.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(glossary-inline-2020-03-19.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(glossary-inline-2021-11-01.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(glossary-inline.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(glossary-list-2020-03-19.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(glossary-list-2021-11-01.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(glossary-list.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(glossary-long-2020-03-19.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(glossary-long-2021-11-01.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(glossary-long.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(glossary-longbooktabs-2020-03-19.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(glossary-longbooktabs-2021-11-01.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(glossary-longbooktabs.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(glossary-longragged-2020-03-19.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(glossary-longragged-2021-11-01.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(glossary-longragged.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(glossary-mcols-2020-03-19.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(glossary-mcols-2021-11-01.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(glossary-mcols.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(glossary-super-2020-03-19.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(glossary-super-2021-11-01.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(glossary-super.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(glossary-superragged-2020-03-19.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(glossary-superragged-2021-11-01.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(glossary-superragged.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(glossary-tree-2020-03-19.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(glossary-tree-2021-11-01.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(glossary-tree.sty) = %{epoch}:%{source_date}-%{release} -# perl and lua -BuildArch: noarch - -%description -n %{shortname}-glossaries -The glossaries package supports acronyms and multiple -glossaries, and has provision for operation in several -languages (using the facilities of either babel or -polyglossia). New entries are defined to have a name and -description (and optionally an associated symbol). Support for -multiple languages is offered, and plural forms of terms may be -specified. An additional package, glossaries-accsupp, can make -use of the accsupp package mechanisms for accessibility support -for PDF files containing glossaries. The user may define new -glossary styles, and preambles and postambles can be specified. -There is provision for loading a database of terms, but only -terms used in the text will be added to the relevant glossary. -The package uses an indexing program to provide the actual -glossary; either makeindex or xindy may serve this purpose, and -a Perl script is provided to serve as interface. This package -requires the mfirstuc package. The package supersedes the -author's glossary package (which is now obsolete). - -%package -n %{shortname}-glyphlist -Version: svn54074 -Provides: texlive-glyphlist = %{epoch}:%{source_date}-%{release} -Provides: tex-glyphlist = %{epoch}:%{source_date}-%{release} -License: LPPL-1.3c -Summary: glyphlist package -BuildArch: noarch -Requires: texlive-base -Requires: texlive-kpathsea - -%description -n %{shortname}-glyphlist -glyphlist package. - -%package -n %{shortname}-gregoriotex -Version: svn58331 -Provides: texlive-gregoriotex = %{epoch}:%{source_date}-%{release} -Provides: tex-gregoriotex = %{epoch}:%{source_date}-%{release} -Provides: texlive-gregoriotex-bin = %{epoch}:%{source_date}-%{release} -Provides: tex-gregoriotex-bin = %{epoch}:%{source_date}-%{release} -Obsoletes: texlive-gregoriotex-bin < 7:20170520 -Provides: tex-gregoriotex-doc = %{epoch}:%{source_date}-%{release} -Provides: texlive-gregoriotex-doc = %{epoch}:%{source_date}-%{release} -Obsoletes: texlive-gregoriotex-doc < 7:20170520 -License: GPL-3.0-only -Summary: Engraving Gregorian Chant scores -Requires: texlive-base -Requires: texlive-kpathsea -Requires: tex(graphicx.sty) -Requires: tex(iftex.sty) -Requires: tex(kvoptions.sty) -Requires: tex(luacolor.sty) -Requires: tex(luamplib.sty) -Requires: tex(luaotfload.sty) -Requires: tex(luatexbase.sty) -Requires: tex(xcolor.sty) -Requires: tex(xstring.sty) -Provides: tex(gregoriosyms.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(gregoriotex.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(gregoriotex-signs.tex) = %{epoch}:%{source_date}-%{release} -Provides: tex(gregoriotex-syllable.tex) = %{epoch}:%{source_date}-%{release} -Provides: tex(gregoriotex.tex) = %{epoch}:%{source_date}-%{release} -Provides: tex(gregoriotex-main.tex) = %{epoch}:%{source_date}-%{release} -Provides: tex(gsp-default.tex) = %{epoch}:%{source_date}-%{release} -Provides: tex(gregoriotex-nabc.tex) = %{epoch}:%{source_date}-%{release} -Provides: tex(gregoriotex-symbols.tex) = %{epoch}:%{source_date}-%{release} -Provides: tex(gregoriotex-chars.tex) = %{epoch}:%{source_date}-%{release} -Provides: tex(gregoriotex-spaces.tex) = %{epoch}:%{source_date}-%{release} - -%description -n %{shortname}-gregoriotex -Gregorio is a software application for engraving Gregorian -Chant scores on a computer. Gregorio's main job is to convert a -gabc file (simple text representation of a score) into a -GregorioTeX file, which makes TeX able to create a PDF of your -score. - -%package -n %{shortname}-gsftopk -Version: svn52851 -Provides: texlive-gsftopk = %{epoch}:%{source_date}-%{release} -Provides: tex-gsftopk = %{epoch}:%{source_date}-%{release} -Provides: texlive-gsftopk-bin = %{epoch}:%{source_date}-%{release} -Provides: tex-gsftopk-bin = %{epoch}:%{source_date}-%{release} -Obsoletes: texlive-gsftopk-bin < 7:20170520 -License: GPL-1.0-or-later -Summary: Convert "ghostscript fonts" to PK files -Requires: texlive-base -Requires: texlive-kpathsea -# Does not exist in a package anymore -# Requires: tex(psfonts.map) - -%description -n %{shortname}-gsftopk -Designed for use with xdvi and dvips this utility converts -Adobe Type 1 fonts to PK bitmap format. It should not -ordinarily be much used nowadays, since both its target -applications are now capable of dealing with Type 1 fonts, -direct. - -%package -n %{shortname}-hitex -Version: svn65883 -Provides: texlive-hitex = %{epoch}:%{source_date}-%{release} -Provides: texlive-hitex-bin = %{epoch}:%{source_date}-%{release} -License: MIT -Summary: A TeX extension writing HINT output for on-screen reading -Requires: texlive-base, texlive-kpathsea -Requires: texlive-atbegshi -Requires: texlive-atveryend -Requires: texlive-babel -Requires: texlive-cm -Requires: texlive-etex -Requires: texlive-everyshi -Requires: texlive-firstaid -Requires: texlive-hyphen-base -Requires: texlive-knuth-lib -Requires: texlive-l3backend -Requires: texlive-l3kernel -Requires: texlive-l3packages -Requires: texlive-latex -Requires: texlive-latex-fonts -Requires: texlive-plain -Requires: texlive-tex-ini-files -Requires: texlive-unicode-data -Provides: tex(hiltxpage.tex) = %{epoch}:%{source_date}-%{release} -Provides: tex(hiplainpage.tex) = %{epoch}:%{source_date}-%{release} -Provides: tex(ifhint.tex) = %{epoch}:%{source_date}-%{release} - -%description -n %{shortname}-hitex -An extension of TeX which generates HINT output. The HINT file -format is an alternative to the DVI and PDF formats which was -designed specifically for on-screen reading of documents. -Especially on mobile devices, reading DVI or PDF documents can -be cumbersome. Mobile devices are available in a large variety -of sizes but typically are not large enough to display -documents formated for a4/letter-size paper. To compensate for -the limitations of a small screen, users are used to -alternating between landscape (few long lines) and portrait -(more short lines) mode. The HINT format supports variable and -varying screen sizes, leveraging the ability of TeX to format a -document for nearly-arbitrary values of \hsize and \vsize. - -%package -n %{shortname}-hyperxmp -Version: svn65980 -Provides: texlive-hyperxmp = %{epoch}:%{source_date}-%{release} -Summary: Embed XMP metadata within a LaTeX document -License: LPPL-1.3c -Requires: texlive-base texlive-kpathsea -Requires: tex(atenddvi.sty) -Requires: tex(etoolbox.sty) -Requires: tex(hyperref.sty) -Requires: tex(ifdraft.sty) -Requires: tex(ifluatex.sty) -Requires: tex(ifmtarg.sty) -Requires: tex(iftex.sty) -Requires: tex(ifthen.sty) -Requires: tex(intcalc.sty) -Requires: tex(kvoptions.sty) -Requires: tex(luacode.sty) -Requires: tex(pdfescape.sty) -Requires: tex(stringenc.sty) -Requires: tex(totpages.sty) -Provides: tex(hyperxmp.sty) = %{epoch}:%{source_date}-%{release} -Provides: texlive-hyperxmp-doc = %{epoch}:%{source_date}-%{release} -Provides: tex-hyperxmp-doc = %{epoch}:%{source_date}-%{release} - -%description -n %{shortname}-hyperxmp -XMP (eXtensible Metadata Platform) is a mechanism proposed by -Adobe for embedding document metadata within the document -itself. The metadata is designed to be easy to extract, even by -programs that are oblivious to the document's file format. Most -of Adobe's applications store XMP metadata when saving files. -Now, with the hyperxmp package, it is trivial for LaTeX -document authors to store XMP metadata in their documents as -well. The package integrates seamlessly with hyperref and -requires virtually no modifications to documents that already -exploit hyperref's mechanisms for specifying PDF metadata. The -current version of hyperxmp can embed the following metadata as -XMP: title, authors, primary author's title or position, -metadata writer, subject/summary, keywords, copyright, license -URL, document base URL, document identifier and instance -identifier, language, source file name, PDF generating tool, -PDF version, and contact telephone number/postal address/email -address/URL. Hyperxmp currently embeds XMP only within PDF -documents; it is compatible with pdfLaTeX, XeLaTeX, -LaTeX+dvipdfm, and LaTeX+dvips+ps2pdf. - -%package -n %{shortname}-installfont -Version: svn31205 -Provides: texlive-installfont = %{epoch}:%{source_date}-%{release} -Provides: tex-installfont = %{epoch}:%{source_date}-%{release} -Provides: texlive-installfont-bin = %{epoch}:%{source_date}-%{release} -Provides: tex-installfont-bin = %{epoch}:%{source_date}-%{release} -Obsoletes: texlive-installfont-bin < 7:20170520 -Provides: tex-installfont-doc = %{epoch}:%{source_date}-%{release} -Provides: texlive-installfont-doc = %{epoch}:%{source_date}-%{release} -Obsoletes: texlive-installfont-doc < 7:20170520 -License: LPPL-1.3c -Summary: A bash script for installing a LaTeX font family -Requires: texlive-base -Requires: texlive-kpathsea -# shell -BuildArch: noarch - -%description -n %{shortname}-installfont -With this script you can install a LaTeX font family -(PostScript Type 1, TrueType and OpenType formats are -supported). Font series from light to ultra bold, and (faked) -small caps and (faked) slanted shapes are supported, but not -expert fonts. The script will rename the fonts automatically -(optional) or will otherwise expect the *.afm files and the -font files (in PostScript Type1 format) named in the Karl Berry -scheme (e.g. 5bbr8a.pfb). After running the script, you should -have a working font installation in your local TeX tree. - -%package -n %{shortname}-jadetex -Version: svn63654 -Provides: texlive-jadetex = %{epoch}:%{source_date}-%{release} -Provides: tex-jadetex = %{epoch}:%{source_date}-%{release} -Provides: texlive-jadetex-bin = %{epoch}:%{source_date}-%{release} -Provides: tex-jadetex-bin = %{epoch}:%{source_date}-%{release} -Obsoletes: texlive-jadetex-bin < 7:20170520 -Provides: tex-jadetex-doc = %{epoch}:%{source_date}-%{release} -Provides: texlive-jadetex-doc = %{epoch}:%{source_date}-%{release} -Obsoletes: texlive-jadetex-doc < 7:20170520 -Provides: jadetex = %{epoch}:%{source_date}-%{release} -License: MIT -Summary: Macros supporting Jade DSSSL output -Requires: texlive-base -Requires: texlive-kpathsea -Requires: texlive-latex -Requires: texlive-passivetex -Requires: texlive-pdftex -Requires: texlive-tex -Requires: texlive-amsfonts -Requires: texlive-atbegshi -Requires: texlive-atveryend -Requires: texlive-auxhook -Requires: texlive-babel -Requires: texlive-bigintcalc -Requires: texlive-bitset -Requires: texlive-cm -Requires: texlive-colortbl -Requires: texlive-cyrillic -Requires: texlive-dehyph -Requires: texlive-ec -Requires: texlive-etexcmds -Requires: texlive-fancyhdr -Requires: texlive-graphics -Requires: texlive-graphics-cfg -Requires: texlive-graphics-def -Requires: texlive-hycolor -Requires: texlive-hyperref -Requires: texlive-hyph-utf8 -Requires: texlive-iftex -Requires: texlive-infwarerr -Requires: texlive-intcalc -Requires: texlive-kvdefinekeys -Requires: texlive-kvoptions -Requires: texlive-kvsetkeys -Requires: texlive-l3kernel -Requires: texlive-latex-fonts -Requires: texlive-latexconfig -Requires: texlive-letltxmacro -Requires: texlive-ltxcmds -Requires: texlive-marvosym -Requires: texlive-pdfescape -Requires: texlive-pdftexcmds -Requires: texlive-psnfss -Requires: texlive-rerunfilecheck -Requires: texlive-stmaryrd -Requires: texlive-symbol -Requires: texlive-tex-ini-files -Requires: texlive-tipa -Requires: texlive-tools -Requires: texlive-ulem -Requires: texlive-uniquecounter -Requires: texlive-unicode-data -Requires: texlive-url -Requires: texlive-wasysym -Requires: texlive-zapfding -Requires(post,postun): coreutils -Provides: tex(dsssl.def) = %{epoch}:%{source_date}-%{release} -Provides: tex(uentities.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(ut1omlgc.fd) = %{epoch}:%{source_date}-%{release} -# no binaries -BuildArch: noarch - -%description -n %{shortname}-jadetex -Macro package on top of LaTeX to typeset TeX output of the Jade -DSSSL implementation. - -%package -n %{shortname}-jfmutil -Version: svn60987 -Provides: texlive-jfmutil = %{epoch}:%{source_date}-%{release} -Provides: tex-jfmutil = %{epoch}:%{source_date}-%{release} -Provides: texlive-jfmutil-bin = %{epoch}:%{source_date}-%{release} -License: MIT -Summary: Utility to process pTeX-extended TFM and VF -# perl -BuildArch: noarch -Requires: texlive-base -Requires: texlive-kpathsea - -%description -n %{shortname}-jfmutil -This program provides functionality to process data files (JFM -and VF) that form logical fonts used in (u)pTeX. The functions -currently available include: The mutual conversion between -Japanese virtual fonts (pairs of VF and JFM) and files in the -"ZVP format", which is an original text format representing -data in virtual fonts. This function can be seen as a -counterpart to the vftovp/vptovf programs. The mutual -conversion between VF files alone and files in the "ZVP0 -format", which is a subset of the ZVP format. - -%package -n %{shortname}-ketcindy -Version: svn58661 -Provides: texlive-ketcindy = %{epoch}:%{source_date}-%{release} -Provides: tex-ketcindy = %{epoch}:%{source_date}-%{release} -Provides: tex-ketcindy-bin = %{epoch}:%{source_date}-%{release} -License: GPL-3.0-or-later -Summary: Macros for graphic generation and Cinderella plugin -Requires: texlive-base -Requires: texlive-kpathsea -Provides: tex(ketlayer.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(ketlayer2e.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(ketmedia.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(ketpic.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(ketpic2e.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(ketslide.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(ketslide2.sty) = %{epoch}:%{source_date}-%{release} -# perl -BuildArch: noarch - -%description -n %{shortname}-ketcindy -KETpic is a macro package designed for computer algebra systems -(CAS) to generate LaTeX source codes for high-quality -mathematical artwork. KETcindy is a plugin for Cinderella that -allows to generate graphics using KETpic. The generated code -can be included in any LaTeX document. - -%package -n %{shortname}-kotex-utils -Version: svn38727 -Provides: texlive-kotex-utils = %{epoch}:%{source_date}-%{release} -Provides: tex-kotex-utils = %{epoch}:%{source_date}-%{release} -Provides: texlive-kotex-utils-bin = %{epoch}:%{source_date}-%{release} -Provides: tex-kotex-utils-bin = %{epoch}:%{source_date}-%{release} -Obsoletes: texlive-kotex-utils-bin < 7:20170520 -Provides: tex-kotex-utils-doc = %{epoch}:%{source_date}-%{release} -Provides: texlive-kotex-utils-doc = %{epoch}:%{source_date}-%{release} -Obsoletes: texlive-kotex-utils-doc < 7:20170520 -License: LPPL-1.3c -Summary: Utility scripts and support files for typesetting Korean -Requires: texlive-base -Requires: texlive-kotex-utf -Requires: texlive-kpathsea -# perl -BuildArch: noarch - -%description -n %{shortname}-kotex-utils -The bundle provides scripts and support files for index -generation in Korean language typesetting. The files belong to -the ko.TeX bundle. - -%package -n %{shortname}-kpathsea -Version: svn66209 -Provides: texlive-kpathsea = %{epoch}:%{source_date}-%{release} -License: LGPL-2.1-or-later -Summary: Path searching library for TeX-related files -Provides: kpathsea = %{epoch}:%{source_date}-%{release} -Obsoletes: kpathsea < %{source_date} -Provides: tex-kpathsea = %{epoch}:%{source_date}-%{release} -Provides: texlive-kpathsea-bin = %{epoch}:%{source_date}-%{release} -Provides: tex-kpathsea-bin = %{epoch}:%{source_date}-%{release} -Obsoletes: texlive-kpathsea-bin < 7:20170520 -Provides: tex-kpathsea-doc = %{epoch}:%{source_date}-%{release} -Provides: texlive-kpathsea-doc = %{epoch}:%{source_date}-%{release} -Obsoletes: texlive-kpathsea-doc < 7:20170520 -Requires: coreutils, grep -Requires: texlive-base -# We absolutely need this to go in first, since the trigger needs it -Requires(post): texlive-texlive-scripts = %{epoch}:%{source_date}-%{release} -Provides: tex(fmtutil.cnf) = %{epoch}:%{source_date}-%{release} -Provides: tex(mktex.cnf) = %{epoch}:%{source_date}-%{release} -Provides: tex(texmf.cnf) = %{epoch}:%{source_date}-%{release} - -%description -n %{shortname}-kpathsea -Kpathsea is a library and utility programs which provide path -searching facilities for TeX file types, including the self- -locating feature required for movable installations, layered on -top of a general search mechanism. - -%package -n %{shortname}-l3build -Version: svn66471 -Provides: texlive-l3build = %{epoch}:%{source_date}-%{release} -Provides: tex-l3build = %{epoch}:%{source_date}-%{release} -Provides: texlive-l3build-bin = %{epoch}:%{source_date}-%{release} -Provides: tex-l3build-doc = %{epoch}:%{source_date}-%{release} -Provides: texlive-l3build-doc = %{epoch}:%{source_date}-%{release} -Obsoletes: texlive-l3build-doc < 7:20180414 -License: LPPL-1.3c -Summary: A testing and building system for (La)TeX -Provides: tex(regression-test.tex) = %{epoch}:%{source_date}-%{release} -Requires: texlive-base -Requires: texlive-kpathsea -Requires: texlive-luatex -# lua -BuildArch: noarch - -%description -n %{shortname}-l3build -The build system supports testing and building LaTeX3 code, on -Linux, Mac OS X and Windows systems. The package offers: A unit -testing system for (La)TeX code (whether kernel code or -contributed packages); A system for typesetting package -documentation; and An automated process for creating CTAN -releases. - -%package -n %{shortname}-lacheck -Version: svn66186 -Provides: texlive-lacheck = %{epoch}:%{source_date}-%{release} -Provides: tex-lacheck = %{epoch}:%{source_date}-%{release} -Provides: texlive-lacheck-bin = %{epoch}:%{source_date}-%{release} -Provides: tex-lacheck-bin = %{epoch}:%{source_date}-%{release} -Obsoletes: texlive-lacheck-bin < 7:20170520 -License: GPL-1.0-or-later -Summary: LaTeX checker -Requires: texlive-base -Requires: texlive-kpathsea - -%description -n %{shortname}-lacheck -Lacheck is a tool for finding common mistakes in LaTeX -documents. The distribution includes sources, and executables -for OS/2 and Win32 environments. - -%package -n %{shortname}-latex -Version: svn65161 -Provides: texlive-latex = %{epoch}:%{source_date}-%{release} -Provides: tex-latex = %{epoch}:%{source_date}-%{release} -Provides: tetex-latex = %{epoch}:%{source_date}-%{release} -Provides: texlive-latex-bin = %{epoch}:%{source_date}-%{release} -Provides: tex-latex-bin = %{epoch}:%{source_date}-%{release} -Obsoletes: texlive-latex-bin < 7:20170520 -Provides: texlive-latex-bin-bin = %{epoch}:%{source_date}-%{release} -Provides: tex-latex-bin-bin = %{epoch}:%{source_date}-%{release} -Obsoletes: texlive-latex-bin-bin < 7:20170520 -Provides: tex-latex-doc = %{epoch}:%{source_date}-%{release} -Provides: texlive-latex-doc = %{epoch}:%{source_date}-%{release} -Obsoletes: texlive-latex-doc < 7:20170520 -License: LPPL-1.3c -Summary: A TeX macro package that defines LaTeX -Requires: texlive-base -Requires: tex(expl3.sty) -Requires: texlive-kpathsea -Requires: texlive-luatex -Requires: texlive-pdftex -Requires: texlive-latexconfig -Requires: texlive-latex-fonts -# As a result of changes in textcomp, it requests TS1 fonts for some things -# most notably, \textbullet. Since people probably want a working itemize -# even on rather minimal installs, we add an explicit Requires on texlive-cm-super -# here. (bz1867927) -Requires: texlive-cm-super -# Another font dependency -Requires: texlive-psnfss -Requires(post,postun): coreutils -Requires: tex(multicol.sty) -Requires: tex(url.sty) -Requires: tex(hyperref.sty) -Requires: tex(hypdoc.sty) -Provides: tex(alltt.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(ansinew.def) = %{epoch}:%{source_date}-%{release} -Provides: tex(applemac.def) = %{epoch}:%{source_date}-%{release} -Provides: tex(article.cls) = %{epoch}:%{source_date}-%{release} -Provides: tex(article.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(ascii.def) = %{epoch}:%{source_date}-%{release} -Provides: tex(atbegshi-ltx.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(atveryend-ltx.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(bezier.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(bk10.clo) = %{epoch}:%{source_date}-%{release} -Provides: tex(bk11.clo) = %{epoch}:%{source_date}-%{release} -Provides: tex(bk12.clo) = %{epoch}:%{source_date}-%{release} -Provides: tex(book.cls) = %{epoch}:%{source_date}-%{release} -Provides: tex(book.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(cp1250.def) = %{epoch}:%{source_date}-%{release} -Provides: tex(cp1252.def) = %{epoch}:%{source_date}-%{release} -Provides: tex(cp1257.def) = %{epoch}:%{source_date}-%{release} -Provides: tex(cp437.def) = %{epoch}:%{source_date}-%{release} -Provides: tex(cp437de.def) = %{epoch}:%{source_date}-%{release} -Provides: tex(cp850.def) = %{epoch}:%{source_date}-%{release} -Provides: tex(cp852.def) = %{epoch}:%{source_date}-%{release} -Provides: tex(cp858.def) = %{epoch}:%{source_date}-%{release} -Provides: tex(cp865.def) = %{epoch}:%{source_date}-%{release} -Provides: tex(decmulti.def) = %{epoch}:%{source_date}-%{release} -Provides: tex(doc-2016-02-15.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(doc-2021-06-01.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(doc.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(docstrip.tex) = %{epoch}:%{source_date}-%{release} -Provides: tex(exscale.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(fix-cm.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(fixltx2e.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(flafter.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(fleqn.clo) = %{epoch}:%{source_date}-%{release} -Provides: tex(fleqn.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(fltrace.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(fontenc.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(fontmath.cfg) = %{epoch}:%{source_date}-%{release} -Provides: tex(fonttext.cfg) = %{epoch}:%{source_date}-%{release} -Provides: tex(graphpap.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(idx.tex) = %{epoch}:%{source_date}-%{release} -Provides: tex(ifthen.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(inputenc.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(lablst.tex) = %{epoch}:%{source_date}-%{release} -Provides: tex(latex209.def) = %{epoch}:%{source_date}-%{release} -Provides: tex(latexrelease.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(latexsym.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(latin1.def) = %{epoch}:%{source_date}-%{release} -Provides: tex(latin10.def) = %{epoch}:%{source_date}-%{release} -Provides: tex(latin2.def) = %{epoch}:%{source_date}-%{release} -Provides: tex(latin3.def) = %{epoch}:%{source_date}-%{release} -Provides: tex(latin4.def) = %{epoch}:%{source_date}-%{release} -Provides: tex(latin5.def) = %{epoch}:%{source_date}-%{release} -Provides: tex(latin9.def) = %{epoch}:%{source_date}-%{release} -Provides: tex(leqno.clo) = %{epoch}:%{source_date}-%{release} -Provides: tex(leqno.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(letter.cls) = %{epoch}:%{source_date}-%{release} -Provides: tex(letter.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(lppl.tex) = %{epoch}:%{source_date}-%{release} -Provides: tex(ltnews.cls) = %{epoch}:%{source_date}-%{release} -Provides: tex(ltxcheck.tex) = %{epoch}:%{source_date}-%{release} -Provides: tex(ltxdoc.cls) = %{epoch}:%{source_date}-%{release} -Provides: tex(ltxguide.cls) = %{epoch}:%{source_date}-%{release} -Provides: tex(macce.def) = %{epoch}:%{source_date}-%{release} -Provides: tex(makeidx.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(minimal.cls) = %{epoch}:%{source_date}-%{release} -Provides: tex(newlfont.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(next.def) = %{epoch}:%{source_date}-%{release} -Provides: tex(nfssfont.tex) = %{epoch}:%{source_date}-%{release} -Provides: tex(oldlfont.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(omlcmm.fd) = %{epoch}:%{source_date}-%{release} -Provides: tex(omlcmr.fd) = %{epoch}:%{source_date}-%{release} -Provides: tex(omlenc.def) = %{epoch}:%{source_date}-%{release} -Provides: tex(omllcmm.fd) = %{epoch}:%{source_date}-%{release} -Provides: tex(omscmr.fd) = %{epoch}:%{source_date}-%{release} -Provides: tex(omscmsy.fd) = %{epoch}:%{source_date}-%{release} -Provides: tex(omsenc.def) = %{epoch}:%{source_date}-%{release} -Provides: tex(omslcmsy.fd) = %{epoch}:%{source_date}-%{release} -Provides: tex(omxcmex.fd) = %{epoch}:%{source_date}-%{release} -Provides: tex(omxlcmex.fd) = %{epoch}:%{source_date}-%{release} -Provides: tex(openbib.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(ot1cmdh.fd) = %{epoch}:%{source_date}-%{release} -Provides: tex(ot1cmfib.fd) = %{epoch}:%{source_date}-%{release} -Provides: tex(ot1cmfr.fd) = %{epoch}:%{source_date}-%{release} -Provides: tex(ot1cmr.fd) = %{epoch}:%{source_date}-%{release} -Provides: tex(ot1cmss.fd) = %{epoch}:%{source_date}-%{release} -Provides: tex(ot1cmtt.fd) = %{epoch}:%{source_date}-%{release} -Provides: tex(ot1cmvtt.fd) = %{epoch}:%{source_date}-%{release} -Provides: tex(ot1enc.def) = %{epoch}:%{source_date}-%{release} -Provides: tex(ot1lcmss.fd) = %{epoch}:%{source_date}-%{release} -Provides: tex(ot1lcmtt.fd) = %{epoch}:%{source_date}-%{release} -Provides: tex(ot4enc.def) = %{epoch}:%{source_date}-%{release} -Provides: tex(preload.cfg) = %{epoch}:%{source_date}-%{release} -Provides: tex(proc.cls) = %{epoch}:%{source_date}-%{release} -Provides: tex(proc.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(report.cls) = %{epoch}:%{source_date}-%{release} -Provides: tex(report.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(sample2e.tex) = %{epoch}:%{source_date}-%{release} -Provides: tex(sfonts.def) = %{epoch}:%{source_date}-%{release} -Provides: tex(shortvrb.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(showidx.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(size10.clo) = %{epoch}:%{source_date}-%{release} -Provides: tex(size11.clo) = %{epoch}:%{source_date}-%{release} -Provides: tex(size12.clo) = %{epoch}:%{source_date}-%{release} -Provides: tex(slides.cls) = %{epoch}:%{source_date}-%{release} -Provides: tex(slides.def) = %{epoch}:%{source_date}-%{release} -Provides: tex(slides.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(small2e.tex) = %{epoch}:%{source_date}-%{release} -Provides: tex(source2edoc.cls) = %{epoch}:%{source_date}-%{release} -Provides: tex(structuredlog.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(syntonly.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(t1cmdh.fd) = %{epoch}:%{source_date}-%{release} -Provides: tex(t1cmfib.fd) = %{epoch}:%{source_date}-%{release} -Provides: tex(t1cmfr.fd) = %{epoch}:%{source_date}-%{release} -Provides: tex(t1cmr.fd) = %{epoch}:%{source_date}-%{release} -Provides: tex(t1cmss.fd) = %{epoch}:%{source_date}-%{release} -Provides: tex(t1cmtt.fd) = %{epoch}:%{source_date}-%{release} -Provides: tex(t1cmvtt.fd) = %{epoch}:%{source_date}-%{release} -Provides: tex(t1enc.def) = %{epoch}:%{source_date}-%{release} -Provides: tex(t1enc.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(t1lcmss.fd) = %{epoch}:%{source_date}-%{release} -Provides: tex(t1lcmtt.fd) = %{epoch}:%{source_date}-%{release} -Provides: tex(testpage.tex) = %{epoch}:%{source_date}-%{release} -Provides: tex(texsys.cfg) = %{epoch}:%{source_date}-%{release} -Provides: tex(textcomp-2018-08-11.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(textcomp.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(tracefnt.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(ts1cmr.fd) = %{epoch}:%{source_date}-%{release} -Provides: tex(ts1cmss.fd) = %{epoch}:%{source_date}-%{release} -Provides: tex(ts1cmtt.fd) = %{epoch}:%{source_date}-%{release} -Provides: tex(ts1cmvtt.fd) = %{epoch}:%{source_date}-%{release} -Provides: tex(ts1enc.def) = %{epoch}:%{source_date}-%{release} -Provides: tex(tuenc.def) = %{epoch}:%{source_date}-%{release} -Provides: tex(tulmdh.fd) = %{epoch}:%{source_date}-%{release} -Provides: tex(tulmr.fd) = %{epoch}:%{source_date}-%{release} -Provides: tex(tulmss.fd) = %{epoch}:%{source_date}-%{release} -Provides: tex(tulmssq.fd) = %{epoch}:%{source_date}-%{release} -Provides: tex(tulmtt.fd) = %{epoch}:%{source_date}-%{release} -Provides: tex(tulmvtt.fd) = %{epoch}:%{source_date}-%{release} -Provides: tex(ucmr.fd) = %{epoch}:%{source_date}-%{release} -Provides: tex(ucmss.fd) = %{epoch}:%{source_date}-%{release} -Provides: tex(ucmtt.fd) = %{epoch}:%{source_date}-%{release} -Provides: tex(ulasy.fd) = %{epoch}:%{source_date}-%{release} -Provides: tex(ullasy.fd) = %{epoch}:%{source_date}-%{release} -Provides: tex(utf8-2018.def) = %{epoch}:%{source_date}-%{release} -Provides: tex(utf8.def) = %{epoch}:%{source_date}-%{release} -Provides: texlive-texmf-latex = %{epoch}:%{source_date}-%{release} -Obsoletes: texlive-texmf-latex < %{source_date} -# symlinks -BuildArch: noarch - -%description -n %{shortname}-latex -LaTeX is a widely-used macro package for TeX, providing many -basic document formating commands extended by a wide range of -packages. It is a development of Leslie Lamport's LaTeX 2.09, -and superseded the older system in June 1994. The basic -distribution is catalogued separately, at latex-base; apart -from a large set of contributed packages and third-party -documentation (elsewhere on the archive), the distribution -includes: - a bunch of required packages, which LaTeX authors -are "entitled to assume" will be present on any system running -LaTeX; and - a minimal set of documentation detailing -differences from the 'old' version of LaTeX in the areas of -user commands, font selection and control, class and package -writing, font encodings, configuration options and modification -of LaTeX. - -%package -n %{shortname}-latex-git-log -Version: svn54010 -Provides: texlive-latex-git-log = %{epoch}:%{source_date}-%{release} -Provides: tex-latex-git-log = %{epoch}:%{source_date}-%{release} -Provides: texlive-latex-git-log-bin = %{epoch}:%{source_date}-%{release} -Provides: tex-latex-git-log-bin = %{epoch}:%{source_date}-%{release} -Obsoletes: texlive-latex-git-log-bin < 7:20170520 -Provides: tex-latex-git-log-doc = %{epoch}:%{source_date}-%{release} -Provides: texlive-latex-git-log-doc = %{epoch}:%{source_date}-%{release} -Obsoletes: texlive-latex-git-log-doc < 7:20170520 -License: GPL-3.0-or-later -Summary: Typeset git log information -Requires: texlive-base -Requires: texlive-kpathsea -# perl -BuildArch: noarch - -%description -n %{shortname}-latex-git-log -The program is run within a git repository, and outputs the -entire version history, as a LaTeX table. That output will -typically be redirected to a file; the author recommends -typesetting in landscape orientation. - -%package -n %{shortname}-latex-papersize -Version: svn53131 -Provides: texlive-latex-papersize = %{epoch}:%{source_date}-%{release} -Provides: tex-latex-papersize = %{epoch}:%{source_date}-%{release} -Provides: texlive-latex-papersize-bin = %{epoch}:%{source_date}-%{release} -Provides: tex-latex-papersize-bin = %{epoch}:%{source_date}-%{release} -Obsoletes: texlive-latex-papersize-bin < 7:20170520 -Provides: tex-latex-papersize-doc = %{epoch}:%{source_date}-%{release} -Provides: texlive-latex-papersize-doc = %{epoch}:%{source_date}-%{release} -Obsoletes: texlive-latex-papersize-doc < 7:20170520 -License: Apache-2.0 -Summary: Calculate LaTeX settings for any font and paper size -Requires: texlive-base -Requires: texlive-kpathsea -# python -BuildArch: noarch - -%description -n %{shortname}-latex-papersize -The package is a Python script, whose typical use is when -preparing printed material for users with low vision. The most -effective way of doing this is to print on (notional) small -paper, and then to magnify the result; the script calculates -the settings for various font and paper sizes. More details are -to be read in the script itself. - -%package -n %{shortname}-latex2man -Version: svn64477 -Provides: texlive-latex2man = %{epoch}:%{source_date}-%{release} -Provides: tex-latex2man = %{epoch}:%{source_date}-%{release} -Provides: texlive-latex2man-bin = %{epoch}:%{source_date}-%{release} -Provides: tex-latex2man-bin = %{epoch}:%{source_date}-%{release} -Obsoletes: texlive-latex2man-bin < 7:20170520 -Provides: tex-latex2man-doc = %{epoch}:%{source_date}-%{release} -Provides: texlive-latex2man-doc = %{epoch}:%{source_date}-%{release} -Obsoletes: texlive-latex2man-doc < 7:20170520 -License: LPPL-1.3c -Summary: Translate LaTeX-based manual pages into Unix man format -Requires: texlive-base -Requires: texlive-kpathsea -Requires: tex(fancyheadings.sty) -Requires: tex(fancyhdr.sty) -Provides: tex(latex2man.cfg) = %{epoch}:%{source_date}-%{release} -Provides: tex(latex2man.sty) = %{epoch}:%{source_date}-%{release} -# perl -BuildArch: noarch - -%description -n %{shortname}-latex2man -A tool to translate UNIX manual pages written with LaTeX into a -man-page format understood by the Unix man(1) command. -Alternatively HTML or TexInfo code can be produced. Output of -parts of the text may be supressed using the conditional text -feature. - -%package -n %{shortname}-latex2nemeth -Version: svn65269 -Provides: texlive-latex2nemeth = %{epoch}:%{source_date}-%{release} -Provides: tex-latex2nemeth = %{epoch}:%{source_date}-%{release} -Provides: texlive-latex2nemeth-bin = %{epoch}:%{source_date}-%{release} -Provides: tex-latex2nemeth-bin = %{epoch}:%{source_date}-%{release} -Obsoletes: texlive-latex2nemeth-bin < 7:20170520 -Provides: tex-latex2nemeth-doc = %{epoch}:%{source_date}-%{release} -Provides: texlive-latex2nemeth-doc = %{epoch}:%{source_date}-%{release} -Obsoletes: texlive-latex2nemeth-doc < 7:20170520 -License: GPL-3.0-only -Summary: Convert LaTeX source to Braille with math in Nemeth -Requires: texlive-base -Requires: texlive-kpathsea -# shell -BuildArch: noarch - -%description -n %{shortname}-latex2nemeth -After many failed attempts to transcribe real math notes and -books to Braille/Nemeth in order to deal with a real situation -(blind student in Math Dept.), we decided to develop a new -program that follows a direct, from LaTeX to Braille/Nemeth, -approach. Our main target was the Greek language which is only -Braille level 1, but English at level 1 is supported as well. -Simple pictures in PSTricks are also supported in order to -produce tactile graphics with specialized equipment. Note that -embossing will need LibreOffice and odt2braille as this project -does not deal with embossers' drivers. What's new in version -1.1 In this version, the support of the user level commands of -the amsmath package was added, as described in its user guide, -with the exception of commutative diagrams (amscd package) as -well as structures that are irrelevant to visually impared -persons. Also, the Unicode mathematics symbols of the -unicode-math package that are represented by the Nemeth code -are now supported by latex2nemeth. We would like to acknowledge -support by the TUGfund for this project (TUGfund project 33). - -%package -n %{shortname}-latexdiff -Version: svn64980 -Provides: texlive-latexdiff = %{epoch}:%{source_date}-%{release} -Provides: tex-latexdiff = %{epoch}:%{source_date}-%{release} -Provides: texlive-latexdiff-bin = %{epoch}:%{source_date}-%{release} -Provides: tex-latexdiff-bin = %{epoch}:%{source_date}-%{release} -Obsoletes: texlive-latexdiff-bin < 7:20170520 -Provides: tex-latexdiff-doc = %{epoch}:%{source_date}-%{release} -Provides: texlive-latexdiff-doc = %{epoch}:%{source_date}-%{release} -Obsoletes: texlive-latexdiff-doc < 7:20170520 -License: GPL-3.0-or-later -Summary: Determine and mark up significant differences between LaTeX files -Requires: texlive-base -Requires: texlive-kpathsea -# perl -BuildArch: noarch - -%description -n %{shortname}-latexdiff -Latexdiff is a Perl script for visual mark up and revision of -significant differences between two LaTeX files. Various -options are available for visual markup using standard LaTeX -packages such as color. Changes not directly affecting visible -text, for example in formatting commands, are still marked in -the LaTeX source. A rudimentary revision facilility is provided -by another Perl script, latexrevise, which accepts or rejects -all changes. Manual editing of the difference file can be used -to override this default behaviour and accept or reject -selected changes only. - -%package -n %{shortname}-latexfileversion -Version: svn29349 -Provides: texlive-latexfileversion = %{epoch}:%{source_date}-%{release} -Provides: tex-latexfileversion = %{epoch}:%{source_date}-%{release} -Provides: texlive-latexfileversion-bin = %{epoch}:%{source_date}-%{release} -Provides: tex-latexfileversion-bin = %{epoch}:%{source_date}-%{release} -Obsoletes: texlive-latexfileversion-bin < 7:20170520 -Provides: tex-latexfileversion-doc = %{epoch}:%{source_date}-%{release} -Provides: texlive-latexfileversion-doc = %{epoch}:%{source_date}-%{release} -Obsoletes: texlive-latexfileversion-doc < 7:20170520 -License: LPPL-1.3c -Summary: Prints the version and date of a LaTeX class or style file -Requires: texlive-base -Requires: texlive-kpathsea -# shell -BuildArch: noarch - -%description -n %{shortname}-latexfileversion -This simple shell script prints the version and date of a LaTeX -class or style file. Syntax: latexfileversion This -programme handles style files (extension .sty), class files -(extension .cls), and other TeX input files. The file extension -must be given. - -%package -n %{shortname}-latexindent -Version: svn65937 -Provides: texlive-latexindent = %{epoch}:%{source_date}-%{release} -Provides: tex-latexindent = %{epoch}:%{source_date}-%{release} -Provides: texlive-latexindent-bin = %{epoch}:%{source_date}-%{release} -Provides: tex-latexindent-bin = %{epoch}:%{source_date}-%{release} -Obsoletes: texlive-latexindent-bin < 7:20170520 -Provides: tex-latexindent-doc = %{epoch}:%{source_date}-%{release} -Provides: texlive-latexindent-doc = %{epoch}:%{source_date}-%{release} -Obsoletes: texlive-latexindent-doc < 7:20170520 -License: GPL-3.0-or-later -Summary: Indent a LaTeX document, highlighting the programming structure -Requires: texlive-base -Requires: texlive-kpathsea -# perl -BuildArch: noarch - -%description -n %{shortname}-latexindent -The Perl script processes a LaTeX file, indenting parts so as to -highlight the structure for the reader. - -%package -n %{shortname}-latexpand -Version: svn66226 -Provides: texlive-latexpand = %{epoch}:%{source_date}-%{release} -Provides: tex-latexpand = %{epoch}:%{source_date}-%{release} -Provides: texlive-latexpand-bin = %{epoch}:%{source_date}-%{release} -Provides: tex-latexpand-bin = %{epoch}:%{source_date}-%{release} -Obsoletes: texlive-latexpand-bin < 7:20170520 -Provides: tex-latexpand-doc = %{epoch}:%{source_date}-%{release} -Provides: texlive-latexpand-doc = %{epoch}:%{source_date}-%{release} -Obsoletes: texlive-latexpand-doc < 7:20170520 -License: BSD-3-Clause -Summary: Expand \input and \include in a LaTeX document -Requires: texlive-base -Requires: texlive-kpathsea -# perl -BuildArch: noarch - -%description -n %{shortname}-latexpand -Latexpand is a Perl script that simply replaces \input and -\include commands with the content of the file input/included. -The script does not deal with \includeonly commands. - -%package -n %{shortname}-lcdftypetools -Version: svn52851 -Provides: texlive-lcdtypetools = %{epoch}:%{source_date}-%{release} -Provides: tex-lcdftypetools = %{epoch}:%{source_date}-%{release} -# This is a mistake in the texlive package. Will be fixed in next major TL update. -Provides: lcdf-typetools = %{epoch}:%{source_date}-%{release} -Provides: texlive-lcdftypetools-bin = %{epoch}:%{source_date}-%{release} -Provides: tex-lcdftypetools-bin = %{epoch}:%{source_date}-%{release} -Obsoletes: texlive-lcdftypetools-bin < 7:20170520 -License: GPL-1.0-or-later -Summary: A bundle of outline font manipulation tools -Requires: texlive-base -Requires: texlive-kpathsea -Requires: texlive-glyphlist - -%description -n %{shortname}-lcdftypetools -This bundle of tools comprises: Cfftot1, which translates a -Compact Font Format (CFF) font, or a PostScript-flavored -OpenType font, into PostScript Type 1 format. It correctly -handles subroutines and hints; Mmafm and mmpfb, which create -instances of multiple-master fonts (mmafm and mmpfb were -previously distributed in their own package, mminstance); -Otfinfo, which reports information about OpenType fonts, such -as the features they support and the contents of their 'size' -optical size features; Otftotfm, which creates TeX font metrics -and encodings that correspond to a PostScript-flavored OpenType -font. It will interpret glyph positionings, substitutions, and -ligatures as far as it is able. You can say which OpenType -features should be activated; T1dotlessj, creates a Type 1 font -whose only character is a dotless j matching the input font's -design; T1lint, which checks a Type 1 font for correctness; -T1reencode, which replaces a font's internal encoding with one -you specify; and T1testpage, which creates a PostScript proof -for a Type 1 font. - -%package -n %{shortname}-lib -Summary: Shared libraries for TeX-related files -Provides: texlive-kpathsea-lib = %{epoch}:%{source_date}-%{release} -# We have to straight up lie about this to ensure the upgrade. -Provides: texlive-kpathsea-lib(%{__isa}) = 6:2016 -Obsoletes: texlive-kpathsea-lib < 2015 -Provides: bundled(lua) = 5.2.4 - -%description -n %{shortname}-lib -TeX specific shared libraries. - -%package -n %{shortname}-lib-devel -Summary: Development files for TeX specific shared libraries -Requires: %{shortname}-lib%{?_isa} -Provides: texlive-kpathsea-lib-devel = %{epoch}:%{source_date}-%{release} -Obsoletes: texlive-kpathsea-lib-devel < 2015 - -%description -n %{shortname}-lib-devel -Development files for TeX specific shared libraries. - -%package -n %{shortname}-lilyglyphs -Version: svn56473 -Provides: texlive-lilyglyphs = %{epoch}:%{source_date}-%{release} -Provides: tex-lilyglyphs = %{epoch}:%{source_date}-%{release} -Provides: texlive-lilyglyphs-bin = %{epoch}:%{source_date}-%{release} -Provides: tex-lilyglyphs-bin = %{epoch}:%{source_date}-%{release} -Obsoletes: texlive-lilyglyphs-bin < 7:20170520 -Provides: tex-lilyglyphs-doc = %{epoch}:%{source_date}-%{release} -Provides: texlive-lilyglyphs-doc = %{epoch}:%{source_date}-%{release} -Obsoletes: texlive-lilyglyphs-doc < 7:20170520 -License: LPPL-1.3c -Summary: Access lilypond fragments and glyphs, in LaTeX -Requires: texlive-base -Requires: texlive-kpathsea -Requires: tex(adjustbox.sty) -Requires: tex(booktabs.sty) -Requires: tex(fancyref.sty) -Requires: tex(fontspec.sty) -Requires: tex(hologo.sty) -Requires: tex(keyval.sty) -Requires: tex(listings.sty) -Requires: tex(longtable.sty) -Requires: tex(mdwlist.sty) -Requires: tex(microtype.sty) -Requires: tex(pgf.sty) -Requires: tex(selnolig.sty) -Provides: tex(emmentaler-11.otf) = %{epoch}:%{source_date}-%{release} -Provides: tex(emmentaler-13.otf) = %{epoch}:%{source_date}-%{release} -Provides: tex(emmentaler-14.otf) = %{epoch}:%{source_date}-%{release} -Provides: tex(emmentaler-16.otf) = %{epoch}:%{source_date}-%{release} -Provides: tex(emmentaler-18.otf) = %{epoch}:%{source_date}-%{release} -Provides: tex(emmentaler-20.otf) = %{epoch}:%{source_date}-%{release} -Provides: tex(emmentaler-23.otf) = %{epoch}:%{source_date}-%{release} -Provides: tex(emmentaler-26.otf) = %{epoch}:%{source_date}-%{release} -Provides: tex(emmentaler-brace.otf) = %{epoch}:%{source_date}-%{release} -Provides: tex(lilyglyphs.sty) = %{epoch}:%{source_date}-%{release} -# python -BuildArch: noarch - -%description -n %{shortname}-lilyglyphs -The package provides the means to include arbitrary elements of -Lilypond notation, including symbols from Lilypond's Emmentaler -font, in a LaTeX document. The package uses OpenType fonts, and -as a result must be compiled with LuaLaTeX or XeLaTeX. - -%package -n %{shortname}-listbib -Version: svn29349 -Provides: texlive-listbib = %{epoch}:%{source_date}-%{release} -Provides: tex-listbib = %{epoch}:%{source_date}-%{release} -Provides: texlive-listbib-bin = %{epoch}:%{source_date}-%{release} -Provides: tex-listbib-bin = %{epoch}:%{source_date}-%{release} -Obsoletes: texlive-listbib-bin < 7:20170520 -Provides: tex-listbib-doc = %{epoch}:%{source_date}-%{release} -Provides: texlive-listbib-doc = %{epoch}:%{source_date}-%{release} -Obsoletes: texlive-listbib-doc < 7:20170520 -License: GPL-1.0-or-later -Summary: Lists contents of BibTeX files -Requires: texlive-base -Requires: texlive-kpathsea -Provides: tex(listbib.cfg) = %{epoch}:%{source_date}-%{release} -Provides: tex(listbib.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(listbib.tex) = %{epoch}:%{source_date}-%{release} -# shell -BuildArch: noarch - -%description -n %{shortname}-listbib -Generates listings of bibliographic data bases in BibTeX format --- for example for archival purposes. Included is a listbib.bst -which is better suited for this purpose than the standard -styles. - -%package -n %{shortname}-listings-ext -Version: svn29349 -Provides: texlive-listings-ext = %{epoch}:%{source_date}-%{release} -Provides: tex-listings-ext = %{epoch}:%{source_date}-%{release} -Provides: texlive-listings-ext-bin = %{epoch}:%{source_date}-%{release} -Provides: tex-listings-ext-bin = %{epoch}:%{source_date}-%{release} -Obsoletes: texlive-listings-ext-bin < 7:20170520 -Provides: tex-listings-ext-doc = %{epoch}:%{source_date}-%{release} -Provides: texlive-listings-ext-doc = %{epoch}:%{source_date}-%{release} -Obsoletes: texlive-listings-ext-doc < 7:20170520 -License: LPPL-1.3a -Summary: Automated input of source -Requires: texlive-base -Requires: texlive-kpathsea -Requires: tex(listings.sty) -Requires: tex(xkeyval.sty) -Provides: tex(listings-ext.sty) = %{epoch}:%{source_date}-%{release} -# shell -BuildArch: noarch - -%description -n %{shortname}-listings-ext -The package provides a means of marking a source, so that -samples of it may be included in a document (by means of the -listings package) in a stable fashion, regardless of any change -to the source. The markup in the source text defines tags for -blocks of source. These tags are processed by a shell script to -make a steering file that is used by the package when LaTeX is -being run. - -%package -n %{shortname}-light-latex-make -Version: svn66473 -Provides: texlive-light-latex-make = %{epoch}:%{source_date}-%{release} -Summary: llmk: A build tool for LaTeX documents -License: MIT -Requires: texlive-base texlive-kpathsea - -%description -n %{shortname}-light-latex-make -This program is yet another build tool specific for LaTeX -documents. Its aim is to provide a simple way to specify a -workflow of processing LaTeX documents and encourage people to -always explicitly show the right workflow for each document. -The main features of the executable llmk are all about the -above purpose. First, you can describe the workflows either in -an external file llmk.toml or in a LaTeX document source in the -form of magic comments. Further, multiple magic comment formats -can be used. Second, it is fully cross-platform. The only -requirement of the program is the texlua command; llmk provides -a uniform way to describe the workflows available for nearly -all TeX environments. Third, it behaves exactly the same in any -environment. At this point, llmk intentionally does not provide -any method for user configuration. Therefore one can guarantee -that for a LaTeX document with an llmk setup, the process of -typesetting the document will be reproduced in any TeX -environment with the program. - -%package -n %{shortname}-lollipop -Version: svn45678 -Provides: texlive-lollipop = %{epoch}:%{source_date}-%{release} -Provides: tex-lollipop = %{epoch}:%{source_date}-%{release} -Provides: texlive-lollipop-bin = %{epoch}:%{source_date}-%{release} -Provides: tex-lollipop-bin = %{epoch}:%{source_date}-%{release} -Obsoletes: texlive-lollipop-bin < 7:20170520 -Provides: tex-lollipop-doc = %{epoch}:%{source_date}-%{release} -Provides: texlive-lollipop-doc = %{epoch}:%{source_date}-%{release} -Obsoletes: texlive-lollipop-doc < 7:20170520 -License: GPL-3.0-or-later -Summary: TeX made easy -Requires: texlive-base -Requires: texlive-kpathsea -Requires: texlive-cm -Requires: texlive-hyphen-base -Requires: texlive-tex -Requires(post,postun): coreutils -Provides: tex(lollipop-define.tex) = %{epoch}:%{source_date}-%{release} -Provides: tex(lollipop-document.tex) = %{epoch}:%{source_date}-%{release} -Provides: tex(lollipop-float.tex) = %{epoch}:%{source_date}-%{release} -Provides: tex(lollipop-fontdefs.tex) = %{epoch}:%{source_date}-%{release} -Provides: tex(lollipop-fonts.tex) = %{epoch}:%{source_date}-%{release} -Provides: tex(lollipop-heading.tex) = %{epoch}:%{source_date}-%{release} -Provides: tex(lollipop-lists.tex) = %{epoch}:%{source_date}-%{release} -Provides: tex(lollipop-output.tex) = %{epoch}:%{source_date}-%{release} -Provides: tex(lollipop-plain.tex) = %{epoch}:%{source_date}-%{release} -Provides: tex(lollipop-text.tex) = %{epoch}:%{source_date}-%{release} -Provides: tex(lollipop-tools.tex) = %{epoch}:%{source_date}-%{release} -Provides: tex(lollipop.tex) = %{epoch}:%{source_date}-%{release} -# no actual binaries here -BuildArch: noarch - -%description -n %{shortname}-lollipop -Lollipop is "TeX made easy" -- it is a macro package that -functions as a toolbox for writing TeX macros. Its main aim is -to make macro writing so easy that implementing a fully new -layout in TeX would become a matter of less than an hour for an -average document. The aim is that such a task could be -accomplished by someone with only a very basic training in TeX -programming. Thus, Lollipop aims to make structured text -formatting available in environments where typical users would -switch to WYSIWYG packages for the freedom that such a -mechanism offers. In addition, development of support for -Lollipop documents written in RTL languages (such as Persian) -is underway. - -%package -n %{shortname}-ltxfileinfo -Version: svn38663 -Provides: texlive-ltxfileinfo = %{epoch}:%{source_date}-%{release} -Provides: tex-ltxfileinfo = %{epoch}:%{source_date}-%{release} -Provides: texlive-ltxfileinfo-bin = %{epoch}:%{source_date}-%{release} -Provides: tex-ltxfileinfo-bin = %{epoch}:%{source_date}-%{release} -Obsoletes: texlive-ltxfileinfo-bin < 7:20170520 -Provides: tex-ltxfileinfo-doc = %{epoch}:%{source_date}-%{release} -Provides: texlive-ltxfileinfo-doc = %{epoch}:%{source_date}-%{release} -Obsoletes: texlive-ltxfileinfo-doc < 7:20170520 -License: GPL-1.0-or-later -Summary: Print version information for a LaTeX file -Requires: texlive-base -Requires: texlive-kpathsea -# shell -BuildArch: noarch - -%description -n %{shortname}-ltxfileinfo -ltxfileinfo displays version information for LaTeX files. If no -path information is given, the file is searched using -kpsewhich. As an extra, for developers, the script will (use -the --star or --color options) check the valididity of the -\Provides... statements in the files. The script uses code from -Uwe Luck's readprov.sty. - -%package -n %{shortname}-ltximg -Version: svn59335 -Provides: texlive-ltximg = %{epoch}:%{source_date}-%{release} -Provides: tex-ltximg = %{epoch}:%{source_date}-%{release} -Provides: texlive-ltximg-bin = %{epoch}:%{source_date}-%{release} -Provides: tex-ltximg-bin = %{epoch}:%{source_date}-%{release} -Obsoletes: texlive-ltximg-bin < 7:20170520 -Provides: tex-ltximg-doc = %{epoch}:%{source_date}-%{release} -Provides: texlive-ltximg-doc = %{epoch}:%{source_date}-%{release} -Obsoletes: texlive-ltximg-doc < 7:20170520 -License: GPL-2.0-or-later -Summary: Split LaTeX files to sanitise a conversion process -Requires: texlive-base -Requires: texlive-kpathsea -# perl -BuildArch: noarch - -%description -n %{shortname}-ltximg -The package provides a Perl script that extracts all TikZ and -PStricks environments for separate processing to produce images -(in eps, pdf, png or jpg format) for use by a converter or the -preview bundle. - -%package -n %{shortname}-luafindfont -Version: svn64936 -Provides: texlive-luafindfont = %{epoch}:%{source_date}-%{release} -Provides: texlive-luafindfont-bin = %{epoch}:%{source_date}-%{release} -License: LPPL-1.3c -Summary: Search fonts in the LuaTeX font database -Requires: texlive-base, texlive-kpathsea, lua >= 5.3 -# lua -BuildArch: noarch - -%description -n %{shortname}-luafindfont -This Lua script searches for fonts in the font database. It requires Lua 5.3. - -%package -n %{shortname}-luaotfload -Version: svn64616 -Provides: texlive-luaotfload = %{epoch}:%{source_date}-%{release} -Provides: tex-luaotfload = %{epoch}:%{source_date}-%{release} -Provides: texlive-luaotfload-bin = %{epoch}:%{source_date}-%{release} -Provides: tex-luaotfload-bin = %{epoch}:%{source_date}-%{release} -Obsoletes: texlive-luaotfload-bin < 7:20170520 -Provides: tex-luaotfload-doc = %{epoch}:%{source_date}-%{release} -Provides: texlive-luaotfload-doc = %{epoch}:%{source_date}-%{release} -Obsoletes: texlive-luaotfload-doc < 7:20170520 -License: GPL-2.0-or-later -Summary: OpenType 'loader' for Plain TeX and LaTeX -Requires: texlive-base -Requires: texlive-kpathsea -Requires: texlive-lualibs -Requires: texlive-lua-alt-getopt -Requires: texlive-lua-uni-algos -Requires: tex(luatexbase.sty) -Provides: tex(luaotfload-blacklist.cnf) = %{epoch}:%{source_date}-%{release} -Provides: tex(luaotfload.sty) = %{epoch}:%{source_date}-%{release} -# lua -BuildArch: noarch - -%description -n %{shortname}-luaotfload -The package adopts the TrueType/OpenType Font loader code -provided in ConTeXt, and adapts it to use in Plain TeX and -LaTeX. It works under LuaLaTeX only. - -%package -n %{shortname}-luahbtex -Version: svn66186 -Provides: texlive-luahbtex = %{epoch}:%{source_date}-%{release} -Provides: tex-luahbtex = %{epoch}:%{source_date}-%{release} -Provides: texlive-luahbtex-bin = %{epoch}:%{source_date}-%{release} -Provides: tex-luahbtex-bin = %{epoch}:%{source_date}-%{release} -License: GPL-2.0-or-later -Summary: LuaTeX with HarfBuzz library for glyph shaping -Requires: texlive-base -Requires: texlive-kpathsea -Requires: texlive-luatex -Requires: texlive-cm -Requires: texlive-etex -Requires: texlive-hyphen-base -Requires: texlive-knuth-lib -Requires: texlive-plain -Requires: texlive-tex-ini-files -Requires: texlive-unicode-data -Requires: texlive-hyph-utf8 - -%description -n %{shortname}-luahbtex -LuaTeX with HarfBuzz library for glyph shaping. - -%package -n %{shortname}-luajittex -Version: svn66186 -Provides: texlive-luajittex = %{epoch}:%{source_date}-%{release} -Provides: tex-luajittex = %{epoch}:%{source_date}-%{release} -Provides: tex-luajittex-bin = %{epoch}:%{source_date}-%{release} -Provides: texlive-luajittex-bin = %{epoch}:%{source_date}-%{release} -License: GPL-2.0-or-later -Summary: LuaTeX with just-in-time (jit) compiler, with and without HarfBuzz -Requires: texlive-base -Requires: texlive-kpathsea -Requires: texlive-luatex -Requires: texlive-cm -Requires: texlive-etex -Requires: texlive-hyphen-base -Requires: texlive-knuth-lib -Requires: texlive-plain -Requires: texlive-tex-ini-files -Requires: texlive-unicode-data -Requires: texlive-hyph-utf8 - -%description -n %{shortname}-luajittex -LuaTeX with just-in-time (jit) compiler, with and without HarfBuzz. - -%package -n %{shortname}-luatex -Version: svn66967 -Provides: texlive-luatex = %{epoch}:%{source_date}-%{release} -Provides: tex-luatex = %{epoch}:%{source_date}-%{release} -Provides: texlive-luatex-bin = %{epoch}:%{source_date}-%{release} -Provides: tex-luatex-bin = %{epoch}:%{source_date}-%{release} -Obsoletes: texlive-luatex-bin < 7:20170520 -Provides: tex-luatex-doc = %{epoch}:%{source_date}-%{release} -Provides: texlive-luatex-doc = %{epoch}:%{source_date}-%{release} -Obsoletes: texlive-luatex-doc < 7:20170520 -License: GPL-2.0-or-later -Summary: The LuaTeX engine -Requires: texlive-base -Requires: texlive-kpathsea -Requires(post,postun): coreutils -Requires: texlive-cm -Requires: texlive-etex -Requires: texlive-hyphen-base -Requires: texlive-knuth-lib -Requires: texlive-plain -Requires: texlive-tex-ini-files -Requires: texlive-unicode-data -Requires: texlive-hyph-utf8 -Requires: tex(luatex.def) -Provides: tex(luatex-unicode-letters.tex) = %{epoch}:%{source_date}-%{release} -Provides: tex(luatexiniconfig.tex) = %{epoch}:%{source_date}-%{release} - -%description -n %{shortname}-luatex -LuaTeX is a greatly extended version of pdfTeX using Lua as an -embedded scripting language. The LuaTeX project's main -objective is to provide an open and configurable variant of TeX -while at the same time offering substantive backward -compatibility. LuaTeX uses Unicode (as UTF-8) as its default -input encoding, and is able to use modern (OpenType and -TrueType) fonts (for both text and mathematics). - -%package -n %{shortname}-lwarp -Version: svn66259 -Provides: texlive-lwarp = %{epoch}:%{source_date}-%{release} -Provides: tex-lwarp = %{epoch}:%{source_date}-%{release} -Provides: texlive-lwarp-bin = %{epoch}:%{source_date}-%{release} -Provides: tex-lwarp-bin = %{epoch}:%{source_date}-%{release} -Obsoletes: texlive-lwarp-bin < 7:20170520 -Provides: tex-lwarp-doc = %{epoch}:%{source_date}-%{release} -Provides: texlive-lwarp-doc = %{epoch}:%{source_date}-%{release} -Obsoletes: texlive-lwarp-doc < 7:20170520 -License: LPPL-1.3c -Summary: Converts LaTeX to HTML -Requires: texlive-base -Requires: texlive-kpathsea -Provides: tex(lwarp-2in1.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(lwarp-2up.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(lwarp-CJK.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(lwarp-CJKutf8.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(lwarp-DotArrow.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(lwarp-SIunits.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(lwarp-a4.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(lwarp-a4wide.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(lwarp-a5comb.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(lwarp-abstract.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(lwarp-academicons.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(lwarp-accents.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(lwarp-accessibility.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(lwarp-accsupp.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(lwarp-acro.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(lwarp-acronym.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(lwarp-addlines.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(lwarp-adjmulticol.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(lwarp-afterpage.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(lwarp-algorithm2e.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(lwarp-algorithmicx.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(lwarp-alltt.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(lwarp-amscdx.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(lwarp-amsmath.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(lwarp-amsthm.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(lwarp-anonchap.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(lwarp-anysize.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(lwarp-appendix.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(lwarp-ar.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(lwarp-arabicfront.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(lwarp-array.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(lwarp-arydshln.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(lwarp-asymptote.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(lwarp-atbegshi.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(lwarp-attachfile.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(lwarp-attachfile2.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(lwarp-authblk.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(lwarp-autobreak.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(lwarp-autonum.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(lwarp-awesomebox.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(lwarp-axessibility.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(lwarp-axodraw2.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(lwarp-backnaur.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(lwarp-backref.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(lwarp-balance.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(lwarp-bbding.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(lwarp-beamerarticle.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(lwarp-biblatex.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(lwarp-bibunits.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(lwarp-bigdelim.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(lwarp-bigfoot.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(lwarp-bigstrut.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(lwarp-bitpattern.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(lwarp-blowup.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(lwarp-bm.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(lwarp-booklet.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(lwarp-bookmark.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(lwarp-booktabs.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(lwarp-bophook.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(lwarp-bounddvi.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(lwarp-boxedminipage.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(lwarp-boxedminipage2e.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(lwarp-braket.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(lwarp-breakurl.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(lwarp-breqn.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(lwarp-bsheaders.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(lwarp-bussproofs.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(lwarp-bxpapersize.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(lwarp-bytefield.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(lwarp-cancel.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(lwarp-canoniclayout.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(lwarp-caption.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(lwarp-caption3.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(lwarp-cases.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(lwarp-ccicons.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(lwarp-centerlastline.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(lwarp-centernot.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(lwarp-changebar.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(lwarp-changelayout.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(lwarp-changepage.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(lwarp-changes.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(lwarp-chappg.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(lwarp-chapterbib.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(lwarp-chemfig.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(lwarp-chemformula.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(lwarp-chemgreek.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(lwarp-chemmacros.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(lwarp-chemnum.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(lwarp-chkfloat.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(lwarp-chngpage.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(lwarp-cite.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(lwarp-citeref.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(lwarp-classicthesis.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(lwarp-cleveref.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(lwarp-clrdblpg.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(lwarp-cmbright.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(lwarp-cmdtrack.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(lwarp-colonequals.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(lwarp-color.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(lwarp-colortbl.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(lwarp-common-mathjax-letters.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(lwarp-common-mathjax-newpxtxmath.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(lwarp-common-mathjax-nonunicode.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(lwarp-common-mathjax-overlaysymbols.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(lwarp-common-mathjax-siunitx.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(lwarp-common-multimedia.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(lwarp-continue.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(lwarp-copyrightbox.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(lwarp-crop.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(lwarp-ctable.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(lwarp-cuted.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(lwarp-cutwin.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(lwarp-dblfloatfix.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(lwarp-dblfnote.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(lwarp-dcolumn.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(lwarp-decimal.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(lwarp-decorule.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(lwarp-diagbox.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(lwarp-dingbat.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(lwarp-dotlessi.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(lwarp-dprogress.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(lwarp-draftcopy.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(lwarp-draftfigure.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(lwarp-draftwatermark.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(lwarp-drftcite.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(lwarp-easy-todo.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(lwarp-ebook.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(lwarp-econometrics.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(lwarp-ed.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(lwarp-ellipsis.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(lwarp-embrac.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(lwarp-emptypage.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(lwarp-endfloat.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(lwarp-endheads.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(lwarp-endnotes.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(lwarp-engtlc.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(lwarp-enotez.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(lwarp-enumerate.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(lwarp-enumitem.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(lwarp-epigraph.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(lwarp-epsf.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(lwarp-epsfig.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(lwarp-epstopdf-base.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(lwarp-epstopdf.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(lwarp-eqlist.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(lwarp-eqparbox.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(lwarp-errata.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(lwarp-eso-pic.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(lwarp-esvect.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(lwarp-etoc.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(lwarp-eurosym.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(lwarp-everypage.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(lwarp-everyshi.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(lwarp-extarrows.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(lwarp-extramarks.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(lwarp-fancybox.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(lwarp-fancyhdr.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(lwarp-fancypar.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(lwarp-fancyref.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(lwarp-fancytabs.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(lwarp-fancyvrb.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(lwarp-fbox.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(lwarp-fewerfloatpages.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(lwarp-figcaps.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(lwarp-figsize.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(lwarp-fitbox.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(lwarp-fix2col.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(lwarp-fixmath.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(lwarp-fixme.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(lwarp-fixmetodonotes.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(lwarp-flafter.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(lwarp-flippdf.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(lwarp-float.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(lwarp-floatflt.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(lwarp-floatpag.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(lwarp-floatrow.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(lwarp-fltrace.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(lwarp-flushend.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(lwarp-fnbreak.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(lwarp-fncychap.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(lwarp-fnlineno.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(lwarp-fnpara.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(lwarp-fnpos.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(lwarp-fontawesome.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(lwarp-fontawesome5.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(lwarp-fontaxes.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(lwarp-fontenc.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(lwarp-footmisc.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(lwarp-footnote.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(lwarp-footnotebackref.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(lwarp-footnotehyper.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(lwarp-footnoterange.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(lwarp-footnpag.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(lwarp-foreign.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(lwarp-forest.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(lwarp-fouridx.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(lwarp-fourier.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(lwarp-framed.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(lwarp-froufrou.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(lwarp-ftcap.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(lwarp-ftnright.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(lwarp-fullminipage.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(lwarp-fullpage.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(lwarp-fullwidth.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(lwarp-fvextra.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(lwarp-fwlw.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(lwarp-gensymb.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(lwarp-gentombow.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(lwarp-geometry.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(lwarp-ghsystem.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(lwarp-gindex.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(lwarp-gloss.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(lwarp-glossaries.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(lwarp-gmeometric.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(lwarp-graphics.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(lwarp-graphicx.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(lwarp-grffile.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(lwarp-grid-system.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(lwarp-grid.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(lwarp-gridset.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(lwarp-hang.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(lwarp-hanging.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(lwarp-hepunits.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(lwarp-hhline.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(lwarp-hhtensor.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(lwarp-hypbmsec.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(lwarp-hypcap.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(lwarp-hypdestopt.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(lwarp-hypernat.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(lwarp-hyperref.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(lwarp-hyperxmp.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(lwarp-hyphenat.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(lwarp-idxlayout.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(lwarp-ifoddpage.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(lwarp-imakeidx.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(lwarp-index.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(lwarp-inputtrc.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(lwarp-intopdf.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(lwarp-isomath.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(lwarp-isotope.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(lwarp-jurabib.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(lwarp-karnaugh-map.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(lwarp-keyfloat.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(lwarp-keystroke.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(lwarp-kpfonts-otf.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(lwarp-kpfonts.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(lwarp-layaureo.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(lwarp-layout.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(lwarp-layouts.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(lwarp-leading.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(lwarp-leftidx.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(lwarp-letterspace.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(lwarp-lettrine.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(lwarp-libertinust1math.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(lwarp-lineno.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(lwarp-lips.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(lwarp-lipsum.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(lwarp-listings.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(lwarp-listliketab.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(lwarp-lltjext.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(lwarp-lltjp-siunitx.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(lwarp-lltjp-tascmac.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(lwarp-longtable.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(lwarp-lpic.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(lwarp-lscape.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(lwarp-ltablex.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(lwarp-ltcaption.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(lwarp-ltxgrid.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(lwarp-ltxtable.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(lwarp-lua-check-hyphen.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(lwarp-lua-visual-debug.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(lwarp-luacolor.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(lwarp-luamplib.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(lwarp-luatexko.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(lwarp-luatodonotes.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(lwarp-luavlna.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(lwarp-lyluatex.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(lwarp-magaz.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(lwarp-makeidx.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(lwarp-manyfoot.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(lwarp-marginal.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(lwarp-marginfit.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(lwarp-marginfix.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(lwarp-marginnote.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(lwarp-marvosym.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(lwarp-mathalpha.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(lwarp-mathastext.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(lwarp-mathcomp.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(lwarp-mathdesign.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(lwarp-mathdots.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(lwarp-mathfixs.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(lwarp-mathpazo.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(lwarp-mathptmx.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(lwarp-mathspec.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(lwarp-mathtools.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(lwarp-mattens.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(lwarp-maybemath.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(lwarp-mcaption.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(lwarp-mdframed.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(lwarp-mdwmath.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(lwarp-media9.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(lwarp-memhfixc.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(lwarp-menukeys.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(lwarp-metalogo.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(lwarp-metalogox.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(lwarp-mhchem.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(lwarp-microtype.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(lwarp-midfloat.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(lwarp-midpage.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(lwarp-minibox.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(lwarp-minitoc.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(lwarp-minted.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(lwarp-mismath.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(lwarp-mleftright.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(lwarp-morefloats.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(lwarp-moreverb.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(lwarp-movie15.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(lwarp-mparhack.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(lwarp-multibib.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(lwarp-multicap.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(lwarp-multicol.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(lwarp-multicolrule.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(lwarp-multimedia.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(lwarp-multiobjective.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(lwarp-multirow.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(lwarp-multitoc.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(lwarp-musicography.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(lwarp-mwe.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(lwarp-nameauth.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(lwarp-nameref.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(lwarp-natbib.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(lwarp-nccfancyhdr.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(lwarp-nccfoots.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(lwarp-nccmath.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(lwarp-needspace.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(lwarp-newpxmath.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(lwarp-newtxmath.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(lwarp-newtxsf.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(lwarp-nextpage.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(lwarp-nfssext-cfr.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(lwarp-nicefrac.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(lwarp-niceframe.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(lwarp-nicematrix.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(lwarp-noitcrul.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(lwarp-nolbreaks.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(lwarp-nomencl.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(lwarp-nonfloat.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(lwarp-nonumonpart.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(lwarp-nopageno.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(lwarp-notes.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(lwarp-notespages.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(lwarp-nowidow.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(lwarp-ntheorem.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(lwarp-octave.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(lwarp-orcidlink.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(lwarp-overpic.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(lwarp-pagegrid.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(lwarp-pagenote.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(lwarp-pagesel.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(lwarp-paralist.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(lwarp-parallel.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(lwarp-parcolumns.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(lwarp-parnotes.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(lwarp-parskip.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(lwarp-patch-komascript.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(lwarp-patch-memoir.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(lwarp-pbalance.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(lwarp-pbox.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(lwarp-pdfcol.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(lwarp-pdfcolfoot.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(lwarp-pdfcolmk.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(lwarp-pdfcolparallel.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(lwarp-pdfcolparcolumns.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(lwarp-pdfcomment.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(lwarp-pdfcrypt.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(lwarp-pdflscape.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(lwarp-pdfmarginpar.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(lwarp-pdfpages.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(lwarp-pdfprivacy.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(lwarp-pdfrender.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(lwarp-pdfsync.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(lwarp-pdftricks.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(lwarp-pdfx.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(lwarp-perpage.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(lwarp-pfnote.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(lwarp-phfqit.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(lwarp-physics.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(lwarp-physunits.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(lwarp-picinpar.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(lwarp-pifont.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(lwarp-pinlabel.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(lwarp-placeins.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(lwarp-plarydshln.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(lwarp-plext.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(lwarp-plextarydshln.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(lwarp-plextcolorbl.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(lwarp-plimsoll.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(lwarp-prelim2e.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(lwarp-prettyref.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(lwarp-preview.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(lwarp-psfrag.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(lwarp-psfragx.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(lwarp-pst-eps.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(lwarp-pstool.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(lwarp-pstricks.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(lwarp-pxatbegshi.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(lwarp-pxeveryshi.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(lwarp-pxfonts.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(lwarp-pxftnright.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(lwarp-pxjahyper.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(lwarp-quotchap.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(lwarp-quoting.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(lwarp-ragged2e.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(lwarp-realscripts.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(lwarp-refcheck.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(lwarp-register.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(lwarp-relsize.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(lwarp-repeatindex.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(lwarp-repltext.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(lwarp-resizegather.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(lwarp-returntogrid.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(lwarp-rlepsf.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(lwarp-rmathbr.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(lwarp-rmpage.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(lwarp-romanbar.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(lwarp-romanbarpagenumber.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(lwarp-rotating.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(lwarp-rotfloat.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(lwarp-rviewport.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(lwarp-savetrees.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(lwarp-scalefnt.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(lwarp-scalerel.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(lwarp-schemata.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(lwarp-scrextend.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(lwarp-scrhack.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(lwarp-scrlayer-notecolumn.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(lwarp-scrlayer-scrpage.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(lwarp-scrlayer.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(lwarp-scrpage2.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(lwarp-section.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(lwarp-sectionbreak.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(lwarp-sectsty.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(lwarp-selectp.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(lwarp-semantic-markup.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(lwarp-seqsplit.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(lwarp-setspace.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(lwarp-shadethm.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(lwarp-shadow.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(lwarp-shapepar.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(lwarp-showidx.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(lwarp-showkeys.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(lwarp-showlabels.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(lwarp-showtags.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(lwarp-shuffle.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(lwarp-sidecap.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(lwarp-sidenotes.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(lwarp-simplebnf.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(lwarp-siunitx-v2.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(lwarp-siunitx.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(lwarp-skmath.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(lwarp-slantsc.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(lwarp-slashed.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(lwarp-soul.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(lwarp-soulpos.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(lwarp-soulutf8.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(lwarp-splitbib.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(lwarp-splitidx.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(lwarp-srcltx.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(lwarp-srctex.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(lwarp-stabular.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(lwarp-stackengine.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(lwarp-stackrel.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(lwarp-statex2.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(lwarp-statistics.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(lwarp-statmath.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(lwarp-steinmetz.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(lwarp-stfloats.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(lwarp-struktex.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(lwarp-subcaption.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(lwarp-subfig.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(lwarp-subfigure.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(lwarp-subsupscripts.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(lwarp-supertabular.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(lwarp-svg.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(lwarp-swfigure.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(lwarp-sympytex.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(lwarp-syntonly.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(lwarp-tabfigures.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(lwarp-tablefootnote.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(lwarp-tabls.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(lwarp-tabularx.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(lwarp-tabulary.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(lwarp-tagpdf-base.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(lwarp-tagpdf-mc-code-generic.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(lwarp-tagpdf-mc-code-lua.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(lwarp-tagpdf.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(lwarp-tascmac.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(lwarp-tcolorbox.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(lwarp-tensor.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(lwarp-termcal.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(lwarp-textarea.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(lwarp-textcomp.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(lwarp-textfit.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(lwarp-textpos.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(lwarp-theorem.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(lwarp-thinsp.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(lwarp-thm-listof.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(lwarp-thm-restate.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(lwarp-thmbox.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(lwarp-thmtools.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(lwarp-threadcol.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(lwarp-threeparttable.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(lwarp-threeparttablex.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(lwarp-thumb.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(lwarp-thumbs.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(lwarp-tikz-imagelabels.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(lwarp-tikz.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(lwarp-titleps.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(lwarp-titleref.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(lwarp-titlesec.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(lwarp-titletoc.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(lwarp-titling.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(lwarp-tocbasic.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(lwarp-tocbibind.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(lwarp-tocdata.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(lwarp-tocenter.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(lwarp-tocloft.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(lwarp-tocstyle.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(lwarp-todo.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(lwarp-todonotes.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(lwarp-topcapt.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(lwarp-tram.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(lwarp-transparent.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(lwarp-trimclip.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(lwarp-trivfloat.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(lwarp-truncate.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(lwarp-turnthepage.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(lwarp-twoup.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(lwarp-txfonts.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(lwarp-txgreeks.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(lwarp-typearea.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(lwarp-typicons.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(lwarp-ulem.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(lwarp-umoline.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(lwarp-underscore.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(lwarp-unicode-math.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(lwarp-units.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(lwarp-unitsdef.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(lwarp-upgreek.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(lwarp-upref.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(lwarp-url.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(lwarp-ushort.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(lwarp-uspace.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(lwarp-varioref.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(lwarp-verse.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(lwarp-versonotes.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(lwarp-vertbars.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(lwarp-vmargin.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(lwarp-vowel.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(lwarp-vpe.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(lwarp-vwcol.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(lwarp-wallpaper.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(lwarp-watermark.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(lwarp-widetable.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(lwarp-widows-and-orphans.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(lwarp-witharrows.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(lwarp-wrapfig.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(lwarp-wrapfig2.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(lwarp-xbmks.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(lwarp-xcolor.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(lwarp-xechangebar.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(lwarp-xellipsis.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(lwarp-xetexko.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(lwarp-xevlna.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(lwarp-xfakebold.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(lwarp-xfrac.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(lwarp-xltabular.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(lwarp-xltxtra.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(lwarp-xmpincl.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(lwarp-xpiano.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(lwarp-xpinyin.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(lwarp-xr-hyper.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(lwarp-xr.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(lwarp-xtab.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(lwarp-xunicode.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(lwarp-xurl.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(lwarp-xy.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(lwarp-zhlineskip.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(lwarp-zwpagelayout.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(lwarp.sty) = %{epoch}:%{source_date}-%{release} - -# lua -BuildArch: noarch - -%description -n %{shortname}-lwarp -This package converts LaTeX to HTML by using LaTeX to process -the user's document and generate HTML tags. External utility -programs are only used for the final conversion of text and -images. Math may be represented by SVG files or MathJax. -Hundreds of LaTeX packages are supported, and their load order -is automatically verified. Documents may be produced by LaTeX, -LuaLaTeX, XeLaTeX, and by several CJK engines, classes, and -packages. A texlua script automates compilation, index, -glossary, and batch image processing, and also supports -latexmk. Configuration is semi-automatic at the first manual -compile. Support files are self-generated. Print and HTML -versions of each document may coexist. Assistance is provided -for HTML import into EPUB conversion software and word -processors. Requirements include the commonly-available Poppler -utilities, and Perl. Detailed installation instructions are -included for each of the major operating systems and TeX -distributions. A quick-start tutorial is provided. - -%package -n %{shortname}-lyluatex -Version: svn66278 -Provides: texlive-lyluatex = %{epoch}:%{source_date}-%{release} -Summary: Commands to include lilypond scores within a (Lua)LaTeX document -License: MIT -Requires: texlive-base texlive-kpathsea -Provides: tex(lyluatex.lua) = %{epoch}:%{source_date}-%{release} -Provides: tex(lyluatex.sty) = %{epoch}:%{source_date}-%{release} -# lua -BuildArch: noarch -Requires: tex(currfile.sty) -Requires: tex(environ.sty) -Requires: tex(graphicx.sty) -Requires: tex(luaotfload.sty) -Requires: tex(luaoptions.sty) -Requires: tex(luatexbase.sty) -Requires: tex(metalogo.sty) -Requires: tex(minibox.sty) -Requires: tex(pdfpages.sty) -Requires: tex(xkeyval.sty) - -%description -n %{shortname}-lyluatex -This package provides macros for the inclusion of LilyPond -scores within LuaLaTeX. It calls LilyPond to compile scores, -then includes the produced files. - -%package -n %{shortname}-make4ht -Version: svn66130 -Provides: texlive-make4ht = %{epoch}:%{source_date}-%{release} -Provides: tex-make4ht = %{epoch}:%{source_date}-%{release} -Provides: texlive-make4ht-bin = %{epoch}:%{source_date}-%{release} -Provides: tex-make4ht-bin = %{epoch}:%{source_date}-%{release} -Obsoletes: texlive-make4ht-bin < 7:20170520 -Provides: tex-make4ht-doc = %{epoch}:%{source_date}-%{release} -Provides: texlive-make4ht-doc = %{epoch}:%{source_date}-%{release} -Obsoletes: texlive-make4ht-doc < 7:20170520 -License: LPPL-1.3c -Summary: A build system for tex4ht -Requires: texlive-base -Requires: texlive-kpathsea -Requires: tex(tex4ht.sty) -# lua -BuildArch: noarch - -%description -n %{shortname}-make4ht -make4ht is a simple build system for tex4ht, a TeX to XML -converter. It provides a command line tool that drives the -conversion process. It also provides a library which can be -used to create customized conversion tools. - -%package -n %{shortname}-makedtx -Version: svn46702 -Provides: texlive-makedtx = %{epoch}:%{source_date}-%{release} -Provides: tex-makedtx = %{epoch}:%{source_date}-%{release} -Provides: texlive-makedtx-bin = %{epoch}:%{source_date}-%{release} -Provides: tex-makedtx-bin = %{epoch}:%{source_date}-%{release} -Obsoletes: texlive-makedtx-bin < 7:20170520 -Provides: tex-makedtx-doc = %{epoch}:%{source_date}-%{release} -Provides: texlive-makedtx-doc = %{epoch}:%{source_date}-%{release} -Obsoletes: texlive-makedtx-doc < 7:20170520 -License: LPPL-1.3c -Summary: Perl script to help generate dtx and ins files -Requires: texlive-base -Requires: texlive-kpathsea -Provides: tex(creatdtx.sty) = %{epoch}:%{source_date}-%{release} -# perl -BuildArch: noarch - -%description -n %{shortname}-makedtx -The makedtx bundle is provided to help LaTeX2e developers to -write the code and documentation in separate files, and then -combine them into a single .dtx file for distribution. It -automatically generates the character table, and also writes -the associated installation (.ins) script. - -%package -n %{shortname}-makeindex -Version: svn62517 -Provides: texlive-makeindex = %{epoch}:%{source_date}-%{release} -Provides: tex-makeindex = %{epoch}:%{source_date}-%{release} -Provides: texlive-makeindex-bin = %{epoch}:%{source_date}-%{release} -Provides: tex-makeindex-bin = %{epoch}:%{source_date}-%{release} -Obsoletes: texlive-makeindex-bin < 7:20170520 -Provides: tex-makeindex-doc = %{epoch}:%{source_date}-%{release} -Provides: texlive-makeindex-doc = %{epoch}:%{source_date}-%{release} -Obsoletes: texlive-makeindex-doc < 7:20170520 -License: MakeIndex -Summary: Provides sorted index from unsorted raw data -Requires: texlive-base -Requires: texlive-kpathsea -Requires: texlive-makeindex -Provides: tex(idxmac.tex) = %{epoch}:%{source_date}-%{release} - -%description -n %{shortname}-makeindex -MakeIndex is a computer program which provides a sorted index -from unsorted raw data. MakeIndex can process raw data output -by various programs, however, it is generally used with LaTeX -and troff. - -%package -n %{shortname}-match_parens -Version: svn36270 -Provides: texlive-match_parens = %{epoch}:%{source_date}-%{release} -Provides: tex-match_parens = %{epoch}:%{source_date}-%{release} -Provides: texlive-match_parens-bin = %{epoch}:%{source_date}-%{release} -Provides: tex-match_parens-bin = %{epoch}:%{source_date}-%{release} -Obsoletes: texlive-match_parens-bin < 7:20170520 -Provides: tex-match_parens-doc = %{epoch}:%{source_date}-%{release} -Provides: texlive-match_parens-doc = %{epoch}:%{source_date}-%{release} -Obsoletes: texlive-match_parens-doc < 7:20170520 -License: GPL-1.0-or-later -Summary: Find mismatches of parentheses, braces, (angle) brackets, in texts -Requires: texlive-base -Requires: texlive-kpathsea -Requires: ruby -# ruby -BuildArch: noarch - -%description -n %{shortname}-match_parens -Mismatches of parentheses, braces, (angle) brackets, especially -in TeX sources which may be rich in those, may be difficult to -trace. This little script helps you by writing your text to -standard output, after adding a left margin to your text, which -will normally be almost empty, but will clearly show any -mismatches. - -%package -n %{shortname}-mathspic -Version: svn31957 -Provides: texlive-mathspic = %{epoch}:%{source_date}-%{release} -Provides: tex-mathspic = %{epoch}:%{source_date}-%{release} -Provides: texlive-mathspic-bin = %{epoch}:%{source_date}-%{release} -Provides: tex-mathspic-bin = %{epoch}:%{source_date}-%{release} -Obsoletes: texlive-mathspic-bin < 7:20170520 -Provides: tex-mathspic-doc = %{epoch}:%{source_date}-%{release} -Provides: texlive-mathspic-doc = %{epoch}:%{source_date}-%{release} -Obsoletes: texlive-mathspic-doc < 7:20170520 -License: LPPL-1.3c -Summary: A Perl filter program for use with PiCTeX -Requires: texlive-base -Requires: texlive-kpathsea -Requires: tex(prepictex.tex) -Requires: tex(pictexwd.tex) -Requires: tex(postpictex.tex) -Provides: tex(mathspic.sty) = %{epoch}:%{source_date}-%{release} -# perl -BuildArch: noarch - -%description -n %{shortname}-mathspic -MathsPIC(Perl) is a development of the earlier MathsPIC(DOS) -program, now implemented as a Perl script, being much more -portable than the earlier program. MathsPIC parses a plain text -input file and generates a plain text output-file containing -commands for drawing a diagram. Version 1.0 produces output -containing PiCTeX and (La)TeX commands, which may then be -processed by plain TeX or LaTeX in the usual way. MathsPIC also -outputs a comprehensive log-file. MathsPIC facilitates creating -figures using PiCTeX by providing an environment for -manipulating named points and also allows the use of variables -and maths (advance, multiply, and divide)--in short--it takes -the pain out of PiCTeX. - -%package -n %{shortname}-metafont -Version: svn66186 -Provides: texlive-metafont = %{epoch}:%{source_date}-%{release} -Provides: tex-metafont = %{epoch}:%{source_date}-%{release} -Provides: texlive-metafont-bin = %{epoch}:%{source_date}-%{release} -Provides: tex-metafont-bin = %{epoch}:%{source_date}-%{release} -Obsoletes: texlive-metafont-bin < 7:20170520 -License: Knuth-CTAN -Summary: A system for specifying fonts -Requires: texlive-base -Requires: texlive-kpathsea -Requires: texlive-modes -Requires(post,postun): coreutils -Provides: tex(mf.mf) = %{epoch}:%{source_date}-%{release} -Provides: tex(plain.mf) = %{epoch}:%{source_date}-%{release} -Provides: tex(cmmf.ini) = %{epoch}:%{source_date}-%{release} -Provides: tex(mf.ini) = %{epoch}:%{source_date}-%{release} -Provides: tex(mode2dpi.mf) = %{epoch}:%{source_date}-%{release} -Provides: tex(mode2dpixy.mf) = %{epoch}:%{source_date}-%{release} -Provides: tex(modename.mf) = %{epoch}:%{source_date}-%{release} -Provides: tex(modes.mf) = %{epoch}:%{source_date}-%{release} -Provides: tex(ps2mfbas.mf) = %{epoch}:%{source_date}-%{release} - -%description -n %{shortname}-metafont -The program takes a programmatic specification of a font, and -produces a bitmap font (whose properties are defined by a set -of parameters of the target device), and metrics for use by -TeX. The bitmap output may be converted into a format directly -usable by a device driver, etc., by the tools provided in the -parallel mfware distribution. Third parties have developed -tools to convert the bitmap output to outline fonts. The -distribution includes the source of Knuth's Metafont book; this -source is there to read, as an example of writing TeX -- it -should not be processed without Knuth's direct permission. The -mailing list tex-fonts@math.utah.edu is the best for general -discussion of Metafont usage; the tex-k@tug.org list is best -for bug reports about building the software, etc. - -%package -n %{shortname}-metapost -Version: svn66264 -Provides: texlive-metapost = %{epoch}:%{source_date}-%{release} -Provides: tex-metapost = %{epoch}:%{source_date}-%{release} -Provides: texlive-metapost-bin = %{epoch}:%{source_date}-%{release} -Provides: tex-metapost-bin = %{epoch}:%{source_date}-%{release} -Obsoletes: texlive-metapost-bin < 7:20170520 -Provides: tex-metapost-doc = %{epoch}:%{source_date}-%{release} -Provides: texlive-metapost-doc = %{epoch}:%{source_date}-%{release} -Obsoletes: texlive-metapost-doc < 7:20170520 -License: LGPL-2.1-or-later -Summary: A development of Metafont for creating graphics -Requires: texlive-base -Requires: texlive-kpathsea -Provides: tex(groff.enc) = %{epoch}:%{source_date}-%{release} -Provides: tex(mproof.tex) = %{epoch}:%{source_date}-%{release} -Provides: tex(mpsproof.tex) = %{epoch}:%{source_date}-%{release} -Provides: tex(trfonts.map) = %{epoch}:%{source_date}-%{release} -Provides: tex(troff-updmap.map) = %{epoch}:%{source_date}-%{release} -Provides: tex(troff.map) = %{epoch}:%{source_date}-%{release} - -%description -n %{shortname}-metapost -MetaPost uses a language based on that of Metafont to produce -precise technical illustrations. Its output is scalable -PostScript or SVG, rather than the bitmaps Metafont creates. - -%package -n %{shortname}-mex -Version: svn58661 -Provides: texlive-mex = %{epoch}:%{source_date}-%{release} -Provides: tex-mex = %{epoch}:%{source_date}-%{release} -Provides: texlive-mex-bin = %{epoch}:%{source_date}-%{release} -Provides: tex-mex-bin = %{epoch}:%{source_date}-%{release} -Obsoletes: texlive-mex-bin < 7:20170520 -Provides: tex-mex-doc = %{epoch}:%{source_date}-%{release} -Provides: texlive-mex-doc = %{epoch}:%{source_date}-%{release} -Obsoletes: texlive-mex-doc < 7:20170520 -License: LicenseRef-Fedora-Public-Domain -Summary: Polish formats for TeX -Requires: texlive-base -Requires: texlive-enctex -Requires: texlive-hyph-utf8 -Requires: texlive-hyphen-base -Requires: texlive-hyphen-polish -Requires: texlive-knuth-lib -Requires: texlive-kpathsea -Requires: texlive-pdftex -Requires: texlive-pl -Requires: texlive-plain -Requires: texlive-tex -Requires: texlive-tex-ini-files -Requires: texlive-utf8mex -Requires(post,postun): coreutils -Provides: tex(lamex.tex) = %{epoch}:%{source_date}-%{release} -Provides: tex(mex.tex) = %{epoch}:%{source_date}-%{release} -Provides: tex(mex1.tex) = %{epoch}:%{source_date}-%{release} -Provides: tex(mex2.tex) = %{epoch}:%{source_date}-%{release} -Provides: tex(mexconf.tex) = %{epoch}:%{source_date}-%{release} -# just symlinks -BuildArch: noarch - -%description -n %{shortname}-mex -MeX is an adaptation of Plain TeX (MeX) and LaTeX209 (LaMeX) -formats to the Polish language and to Polish printing customs. -It contains a complete set of Metafont sources of Polish fonts, -hyphenation rules for the Polish language and sources of -formats. - -%package -n %{shortname}-mflua -Version: svn62774 -Provides: texlive-mflua = %{epoch}:%{source_date}-%{release} -Provides: tex-mflua = %{epoch}:%{source_date}-%{release} -Provides: texlive-mflua-bin = %{epoch}:%{source_date}-%{release} -Provides: tex-mflua-bin = %{epoch}:%{source_date}-%{release} -Obsoletes: texlive-mflua-bin < 7:20170520 -License: GPL-1.0-or-later -Summary: A METAFONT compliant program with a Lua interpreter embedded -Requires: texlive-base -Requires: texlive-kpathsea - -%description -n %{shortname}-mflua -A METAFONT compliant program with a Lua interpreter embedded. - -%package -n %{shortname}-mfware -Version: svn66186 -Provides: texlive-mfware = %{epoch}:%{source_date}-%{release} -Provides: tex-mfware = %{epoch}:%{source_date}-%{release} -Provides: texlive-mfware-bin = %{epoch}:%{source_date}-%{release} -Provides: tex-mfware-bin = %{epoch}:%{source_date}-%{release} -Obsoletes: texlive-mfware-bin < 7:20170520 -License: Knuth-CTAN -Summary: Supporting tools for use with Metafont -Requires: texlive-base -Requires: texlive-kpathsea - -%description -n %{shortname}-mfware -A collection of programs (as web source) for processing the -output of Metafont. - -%package -n %{shortname}-mf2pt1 -Version: svn61217 -Provides: texlive-mf2pt1 = %{epoch}:%{source_date}-%{release} -Provides: tex-mf2pt1 = %{epoch}:%{source_date}-%{release} -Provides: texlive-mf2pt1-bin = %{epoch}:%{source_date}-%{release} -Provides: tex-mf2pt1-bin = %{epoch}:%{source_date}-%{release} -Obsoletes: texlive-mf2pt1-bin < 7:20170520 -Provides: tex-mf2pt1-doc = %{epoch}:%{source_date}-%{release} -Provides: texlive-mf2pt1-doc = %{epoch}:%{source_date}-%{release} -Obsoletes: texlive-mf2pt1-doc < 7:20170520 -License: LPPL-1.3c -Summary: Produce PostScript Type 1 fonts from Metafont source -Requires: texlive-base -Requires: texlive-kpathsea -# perl -BuildArch: noarch - -%description -n %{shortname}-mf2pt1 -mf2pt1 facilitates producing PostScript Type 1 fonts from a -Metafont source file. It is not, as the name may imply, an -automatic converter of arbitrary Metafont fonts to Type 1 -format. mf2pt1 imposes a number of restrictions on the Metafont -input. If these restrictions are met, mf2pt1 will produce valid -Type 1 output with more accurate control points than can be -reverse-engineered by TeXtrace, mftrace, and other programs -which convert bitmaps to outline fonts. - -%package -n %{shortname}-mkgrkindex -Version: svn26313 -Provides: texlive-mkgrkindex = %{epoch}:%{source_date}-%{release} -Provides: tex-mkgrkindex = %{epoch}:%{source_date}-%{release} -Provides: texlive-mkgrkindex-bin = %{epoch}:%{source_date}-%{release} -Provides: tex-mkgrkindex-bin = %{epoch}:%{source_date}-%{release} -Obsoletes: texlive-mkgrkindex-bin < 7:20170520 -Provides: tex-mkgrkindex-doc = %{epoch}:%{source_date}-%{release} -Provides: texlive-mkgrkindex-doc = %{epoch}:%{source_date}-%{release} -Obsoletes: texlive-mkgrkindex-doc < 7:20170520 -License: LPPL-1.3c -Summary: Makeindex working with Greek -Requires: texlive-base -Requires: texlive-kpathsea -# perl -BuildArch: noarch - -%description -n %{shortname}-mkgrkindex -Makeindex is resolutely stuck with Latin-based alphabets, so -will not deal with Greek indexes, unaided. This package -provides a Perl script that will transmute the index of a Greek -document in such a way that makeindex will sort the entries -according to the rules of the Greek alphabet. - -%package -n %{shortname}-mkjobtexmf -Version: svn29725 -Provides: texlive-mkjobtexmf = %{epoch}:%{source_date}-%{release} -Provides: tex-mkjobtexmf = %{epoch}:%{source_date}-%{release} -Provides: texlive-mkjobtexmf-bin = %{epoch}:%{source_date}-%{release} -Provides: tex-mkjobtexmf-bin = %{epoch}:%{source_date}-%{release} -Obsoletes: texlive-mkjobtexmf-bin < 7:20170520 -Provides: tex-mkjobtexmf-doc = %{epoch}:%{source_date}-%{release} -Provides: texlive-mkjobtexmf-doc = %{epoch}:%{source_date}-%{release} -Obsoletes: texlive-mkjobtexmf-doc < 7:20170520 -License: GPL-2.0-only -Summary: Generate a texmf tree for a particular job -Requires: texlive-base -Requires: texlive-kpathsea -# perl -BuildArch: noarch - -%description -n %{shortname}-mkjobtexmf -The package provides a Perl script, which runs a program and -tries to find the names of file used. Two methods are -available, option -recorder of (Web2C) TeX and the program -strace. Then it generates a directory with a texmf tree. It -checks the found files and tries sort them in this texmf tree. -The script may be used for archiving purposes or to speed up -later TeX runs. - -%package -n %{shortname}-mkpic -Version: svn33700 -Provides: texlive-mkpic = %{epoch}:%{source_date}-%{release} -Provides: tex-mkpic = %{epoch}:%{source_date}-%{release} -Provides: texlive-mkpic-bin = %{epoch}:%{source_date}-%{release} -Provides: tex-mkpic-bin = %{epoch}:%{source_date}-%{release} -Obsoletes: texlive-mkpic-bin < 7:20170520 -Provides: tex-mkpic-doc = %{epoch}:%{source_date}-%{release} -Provides: texlive-mkpic-doc = %{epoch}:%{source_date}-%{release} -Obsoletes: texlive-mkpic-doc < 7:20170520 -License: GPL-1.0-or-later -Summary: Perl interface to mfpic -Requires: texlive-base -Requires: texlive-kpathsea -# perl -BuildArch: noarch - -%description -n %{shortname}-mkpic -mkpic provides an easy interface for making small pictures with -mfpic. To this end you create an input file consisting of -commands, one per line, with space separated parameters (or you -modify the DATA section of the mkpic script, which is used if -you run it without an input file). For an extensive description -see the file mkpicdoc.pdf, which is part of the distribution. - -%package -n %{shortname}-mltex -Version: svn62145 -Provides: texlive-mltex = %{epoch}:%{source_date}-%{release} -Provides: tex-mltex = %{epoch}:%{source_date}-%{release} -Provides: texlive-mltex-bin = %{epoch}:%{source_date}-%{release} -Provides: tex-mltex-bin = %{epoch}:%{source_date}-%{release} -Obsoletes: texlive-mltex-bin < 7:20170520 -Provides: tex-mltex-doc = %{epoch}:%{source_date}-%{release} -Provides: texlive-mltex-doc = %{epoch}:%{source_date}-%{release} -Obsoletes: texlive-mltex-doc < 7:20170520 -License: Knuth-CTAN -Summary: The MLTeX system -Requires: texlive-base -Requires: texlive-kpathsea -Requires: texlive-latex -Requires: texlive-pdftex -Requires: texlive-cm -Requires: texlive-hyphen-base -Requires: texlive-babel -Requires: texlive-dehyph -Requires: texlive-hyph-utf8 -Requires: texlive-l3kernel -Requires: texlive-latexconfig -Requires: texlive-latex-fonts -Requires: texlive-unicode-data -Requires: texlive-knuth-lib -Requires: texlive-plain -Requires(post,postun): coreutils -Provides: tex(lo1enc.def) = %{epoch}:%{source_date}-%{release} -Provides: tex(mlltxchg.def) = %{epoch}:%{source_date}-%{release} -Provides: tex(mltex.sty) = %{epoch}:%{source_date}-%{release} -# symlinks -BuildArch: noarch - -%description -n %{shortname}-mltex -MLTeX is a modification of TeX version >=3.0 that allows the -hyphenation of words with accented letters using ordinary -Computer Modern (CM) fonts. The system is distributed as a TeX -change file. - -%package -n %{shortname}-mptopdf -Version: svn65952 -Provides: texlive-mptopdf = %{epoch}:%{source_date}-%{release} -Provides: tex-mptopdf = %{epoch}:%{source_date}-%{release} -Provides: texlive-mptopdf-bin = %{epoch}:%{source_date}-%{release} -Provides: tex-mptopdf-bin = %{epoch}:%{source_date}-%{release} -Obsoletes: texlive-mptopdf-bin < 7:20170520 -Provides: tex-mptopdf-doc = %{epoch}:%{source_date}-%{release} -Provides: texlive-mptopdf-doc = %{epoch}:%{source_date}-%{release} -Obsoletes: texlive-mptopdf-doc < 7:20170520 -License: LPPL-1.3c -Summary: mpost to PDF, native MetaPost graphics inclusion -Requires: texlive-base -Requires: texlive-kpathsea -Requires: texlive-plain -Requires(post,postun): coreutils -Provides: tex(mptopdf.tex) = %{epoch}:%{source_date}-%{release} -# perl -BuildArch: noarch - -%description -n %{shortname}-mptopdf -The mptopdf script does standalone conversion from mpost to -PDF, using the supp-* and syst-* files. They also allow native -MetaPost graphics inclusion in LaTeX (via pdftex.def) and -ConTeXt. They can be used independently of the rest of -ConTeXt, yet are maintained as part of it. So in TeX Live we -pull them out to this separate package for the benefit of LaTeX -users who do not install the rest of ConTeXt. This can be -found on CTAN in macros/pdftex/graphics. - -%package -n %{shortname}-multibibliography -Version: svn30939 -Provides: texlive-multibibliography = %{epoch}:%{source_date}-%{release} -Provides: tex-multibibliography = %{epoch}:%{source_date}-%{release} -Provides: texlive-multibibliography-bin = %{epoch}:%{source_date}-%{release} -Provides: tex-multibibliography-bin = %{epoch}:%{source_date}-%{release} -Obsoletes: texlive-multibibliography-bin < 7:20170520 -Provides: tex-multibibliography-doc = %{epoch}:%{source_date}-%{release} -Provides: texlive-multibibliography-doc = %{epoch}:%{source_date}-%{release} -Obsoletes: texlive-multibibliography-doc < 7:20170520 -License: LPPL-1.3c -Summary: Multiple versions of a bibliography, with different sort orders -Requires: texlive-base -Requires: texlive-kpathsea -Provides: tex(multibibliography.sty) = %{epoch}:%{source_date}-%{release} -# perl -BuildArch: noarch - -%description -n %{shortname}-multibibliography -Conventional standards for bibliography styles impose a forced -choice between index and name/year citations, and corresponding -references. The package avoids this choice, by providing -alphabetic, sequenced, and even chronological orderings of -references. Inline citations, that integrate these -heterogeneous styles, are also supported (and work with other -bibliography packages). - -%package -n %{shortname}-musixtex -Version: svn65519 -Provides: texlive-musixtex = %{epoch}:%{source_date}-%{release} -Provides: tex-musixtex = %{epoch}:%{source_date}-%{release} -Provides: texlive-musixtex-bin = %{epoch}:%{source_date}-%{release} -Provides: tex-musixtex-bin = %{epoch}:%{source_date}-%{release} -Obsoletes: texlive-musixtex-bin < 7:20170520 -Provides: tex-musixtex-doc = %{epoch}:%{source_date}-%{release} -Provides: texlive-musixtex-doc = %{epoch}:%{source_date}-%{release} -Obsoletes: texlive-musixtex-doc < 7:20170520 -License: GPL-2.0-or-later -Summary: Sophisticated music typesetting -Requires: texlive-base -Requires: texlive-kpathsea -Provides: tex(musixadd.tex) = %{epoch}:%{source_date}-%{release} -Provides: tex(musixadf.tex) = %{epoch}:%{source_date}-%{release} -Provides: tex(musixbar.tex) = %{epoch}:%{source_date}-%{release} -Provides: tex(musixbbm.tex) = %{epoch}:%{source_date}-%{release} -Provides: tex(musixblx.tex) = %{epoch}:%{source_date}-%{release} -Provides: tex(musixbm.tex) = %{epoch}:%{source_date}-%{release} -Provides: tex(musixcho.tex) = %{epoch}:%{source_date}-%{release} -Provides: tex(musixcpt.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(musixcpt.tex) = %{epoch}:%{source_date}-%{release} -Provides: tex(musixcrd.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(musixcrd.tex) = %{epoch}:%{source_date}-%{release} -Provides: tex(musixdat.tex) = %{epoch}:%{source_date}-%{release} -Provides: tex(musixdbr.tex) = %{epoch}:%{source_date}-%{release} -Provides: tex(musixdia.tex) = %{epoch}:%{source_date}-%{release} -Provides: tex(musixec.tex) = %{epoch}:%{source_date}-%{release} -Provides: tex(musixeng.tex) = %{epoch}:%{source_date}-%{release} -Provides: tex(musixesf.tex) = %{epoch}:%{source_date}-%{release} -Provides: tex(musixevo.tex) = %{epoch}:%{source_date}-%{release} -Provides: tex(musixext.tex) = %{epoch}:%{source_date}-%{release} -Provides: tex(musixfll.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(musixfll.tex) = %{epoch}:%{source_date}-%{release} -Provides: tex(musixftab.tex) = %{epoch}:%{source_date}-%{release} -Provides: tex(musixgre.tex) = %{epoch}:%{source_date}-%{release} -Provides: tex(musixgui.tex) = %{epoch}:%{source_date}-%{release} -Provides: tex(musixhor.tex) = %{epoch}:%{source_date}-%{release} -Provides: tex(musixhou.tex) = %{epoch}:%{source_date}-%{release} -Provides: tex(musixhv.tex) = %{epoch}:%{source_date}-%{release} -Provides: tex(musixinv.tex) = %{epoch}:%{source_date}-%{release} -Provides: tex(musixjt.tex) = %{epoch}:%{source_date}-%{release} -Provides: tex(musixlit.tex) = %{epoch}:%{source_date}-%{release} -Provides: tex(musixltx.tex) = %{epoch}:%{source_date}-%{release} -Provides: tex(musixlyr.tex) = %{epoch}:%{source_date}-%{release} -Provides: tex(musixmad.tex) = %{epoch}:%{source_date}-%{release} -Provides: tex(musixmkm.tex) = %{epoch}:%{source_date}-%{release} -Provides: tex(musixper.tex) = %{epoch}:%{source_date}-%{release} -Provides: tex(musixplt.tex) = %{epoch}:%{source_date}-%{release} -Provides: tex(musixpoi.tex) = %{epoch}:%{source_date}-%{release} -Provides: tex(musixppff.tex) = %{epoch}:%{source_date}-%{release} -Provides: tex(musixps.tex) = %{epoch}:%{source_date}-%{release} -Provides: tex(musixref.tex) = %{epoch}:%{source_date}-%{release} -Provides: tex(musixslu.tex) = %{epoch}:%{source_date}-%{release} -Provides: tex(musixsqr.tex) = %{epoch}:%{source_date}-%{release} -Provides: tex(musixste.tex) = %{epoch}:%{source_date}-%{release} -Provides: tex(musixstf.tex) = %{epoch}:%{source_date}-%{release} -Provides: tex(musixstr.tex) = %{epoch}:%{source_date}-%{release} -Provides: tex(musixsty.tex) = %{epoch}:%{source_date}-%{release} -Provides: tex(musixtex.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(musixtex.tex) = %{epoch}:%{source_date}-%{release} -Provides: tex(musixthacc.tex) = %{epoch}:%{source_date}-%{release} -Provides: tex(musixtmr.tex) = %{epoch}:%{source_date}-%{release} -Provides: tex(musixtri.tex) = %{epoch}:%{source_date}-%{release} -Provides: tex(musixvbm.tex) = %{epoch}:%{source_date}-%{release} -Provides: tex(tuplet.tex) = %{epoch}:%{source_date}-%{release} -# lua -BuildArch: noarch - -%description -n %{shortname}-musixtex -MusiXTeX provides a set of macros, based on the earlier -MusicTeX, for typesetting music with TeX. To produce optimal -spacing, MusixTeX is a three-pass system: etex, musixflx, and -etex again. (Musixflx is a lua script that is provided in the -bundle.) The three-pass process, optionally followed by -processing for printed output, is automated by the musixtex -wrapper script. The package uses its own specialised fonts, -which must be available on the system for musixtex to run. This -version of MusixTeX builds upon work by Andreas Egler, whose -own version is no longer being developed. The MusiXTeX macros -are universally acknowledged to be challenging to use directly: -the pmx preprocessor compiles a simpler input language to -MusixTeX macros. - -%package -n %{shortname}-musixtnt -Version: svn40307 -Provides: texlive-musixtnt = %{epoch}:%{source_date}-%{release} -Provides: tex-musixtnt = %{epoch}:%{source_date}-%{release} -Provides: texlive-musixtnt-bin = %{epoch}:%{source_date}-%{release} -Provides: tex-musixtnt-bin = %{epoch}:%{source_date}-%{release} -Obsoletes: texlive-musixtnt-bin < 7:20170520 -Provides: tex-musixtnt-doc = %{epoch}:%{source_date}-%{release} -Provides: texlive-musixtnt-doc = %{epoch}:%{source_date}-%{release} -Obsoletes: texlive-musixtnt-doc < 7:20170520 -License: GPL-2.0-or-later -Summary: A MusiXTeX extension library that enables transformations of the effect of notes commands -Requires: texlive-base -Requires: texlive-kpathsea -Requires: texlive-musixtex -Provides: tex(musixtnt.tex) = %{epoch}:%{source_date}-%{release} - -%description -n %{shortname}-musixtnt -The package includes an archive containing a MusiXTeX extension -library musixtnt, and documentation for a program: -msxlint. musixtnt.tex provides a macro \TransformNotes that -enables transformations of the effect of notes commands such -as \notes. In general, the effect of -\TransformNotes{input}{output} is that notes commands in the -source will expect their arguments to match the input pattern, -but the notes will be typeset according to the output pattern. -An example is extracting single-instrument parts from a multi- -instrument score. msxlint detects incorrectly formatted notes -lines in a MusiXTeX source file. This should be used before -using \TransformNotes. - -%package -n %{shortname}-m-tx -Version: svn64182 -Provides: texlive-m-tx = %{epoch}:%{source_date}-%{release} -Provides: tex-m-tx = %{epoch}:%{source_date}-%{release} -Provides: texlive-m-tx-bin = %{epoch}:%{source_date}-%{release} -Provides: tex-m-tx-bin = %{epoch}:%{source_date}-%{release} -Obsoletes: texlive-m-tx-bin < 7:20170520 -Provides: tex-m-tx-doc = %{epoch}:%{source_date}-%{release} -Provides: texlive-m-tx-doc = %{epoch}:%{source_date}-%{release} -Obsoletes: texlive-m-tx-doc < 7:20170520 -License: GPL-1.0-or-later -Summary: A preprocessor for pmx -Requires: texlive-base -Requires: texlive-kpathsea -Provides: tex(mtx.tex) = %{epoch}:%{source_date}-%{release} -Provides: tex(mtxlatex.sty) = %{epoch}:%{source_date}-%{release} - -%description -n %{shortname}-m-tx -M-Tx is a preprocessor to pmx, which is itself a preprocessor -to musixtex, a music typesetting system. The prime motivation -to the development of M-Tx was to provide lyrics for music to -be typeset. In fact, pmx now provides a lyrics interface, but M- -Tx continues in use by those who prefer its language. - -%package -n %{shortname}-oberdiek -Version: svn65521 -Provides: texlive-oberdiek = %{epoch}:%{source_date}-%{release} -Provides: tex-oberdiek = %{epoch}:%{source_date}-%{release} -Provides: tex-oberdiek-doc = %{epoch}:%{source_date}-%{release} -Provides: texlive-oberdiek-doc = %{epoch}:%{source_date}-%{release} -Obsoletes: texlive-oberdiek-doc < 7:20170520 -License: LPPL-1.3c -Summary: A bundle of packages submitted by Heiko Oberdiek -Requires: texlive-base -Requires: texlive-kpathsea -Requires: texlive-auxhook -Requires: texlive-grfext -Requires: texlive-grffile -Requires: texlive-iftex -Requires: texlive-kvoptions -Requires: texlive-infwarerr -Requires: texlive-pdftexcmds -# To complete the bundle -Requires: tex(amsmath.sty) -Requires: tex(array.sty) -Requires: tex(atveryend.sty) -Requires: tex(bigintcalc.sty) -Requires: tex(color.sty) -Requires: tex(etexcmds.sty) -Requires: tex(fontspec.sty) -Requires: tex(fp-basic.sty) -Requires: tex(fp-snap.sty) -Requires: tex(graphics.sty) -Requires: tex(hologo.sty) -Requires: tex(hypdoc.sty) -Requires: tex(hyperref.sty) -Requires: tex(index.sty) -Requires: tex(intcalc.sty) -Requires: tex(keyval.sty) -Requires: tex(kvsetkeys.sty) -Requires: tex(letltxmacro.sty) -Requires: tex(ltxcmds.sty) -Requires: tex(parallel.sty) -Requires: tex(parcolumns.sty) -Requires: tex(pdfcol.sty) -Requires: tex(pdfescape.sty) -Requires: tex(remreset.sty) -Requires: tex(unicode-math.sty) -Requires: tex(uniquecounter.sty) -Requires: tex(zref-base.sty) -Provides: tex(aliascnt.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(bmpsize-base.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(bmpsize-dvipdfm.def) = %{epoch}:%{source_date}-%{release} -Provides: tex(bmpsize-dvipdfmx.def) = %{epoch}:%{source_date}-%{release} -Provides: tex(bmpsize-dvips.def) = %{epoch}:%{source_date}-%{release} -Provides: tex(bmpsize-test.tex) = %{epoch}:%{source_date}-%{release} -Provides: tex(bmpsize.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(centernot.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(chemarr.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(classlist.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(colonequals.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(dvipscol.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(engord.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(enparen.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(eolgrab.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(fibnum.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(flags.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(holtxdoc.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(hypbmsec.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(hypcap.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(hypgotoe.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(hyphsubst.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(ifdraft.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(iflang.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(pdfcolparallel.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(pdfcolparcolumns.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(pdfcrypt.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(pdfrender.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(protecteddef.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(resizegather.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(rotchiffre.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(scrindex.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(setouterhbox.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(settobox.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(stackrel.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(stampinclude.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(tabularht.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(tabularkv.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(telprint.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(thepdfnumber.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(twoopt.sty) = %{epoch}:%{source_date}-%{release} -BuildArch: noarch - -%description -n %{shortname}-oberdiek -The bundle comprises packages to provide: aliascnt: 'alias -counters'; bmpsize: get bitmap size and resolution data; -centernot: a horizontally-centred \not symbol; chemarr: -extensible chemists' reaction arrows; classlist: record -information about document class(es) used; colonequals: poor -man's mathematical relation symbols; dvipscol: dvips colour -stack management; engord: define counter-printing operations -producing English ordinals; eolgrab: collect arguments -delimited by end of line; flags: setting and clearing flags in -bit fields and converting the bit field into a decimal number; -holtxdoc: extra documentation macros; hypbmsec: bookmarks in -sectioning commands; hypcap: anjusting anchors of captions; -hypgotoe: experimental package for links to embedded files; -hyphsubst: substitute hyphenation patterns; ifdraft: switch for -option draft; iflang: provides expandable checks for the -current language; pdfcolparallel: fixes colour problems in -package parallel; pdfcolparcolumns: fixes colour problems in -package parcolumns; pdfcrypt: setting PDF encryption; -pdfrender: control PDF rendering modes; protecteddef: define a -command that protected against expansion; resizegather: -automatically resize overly large equations; rotchiffre: -performs simple rotation cyphers; scrindex: redefines -environment 'theindex' of package 'index', if a class from -KOMA-Script is loaded; setouterhbox: set \hbox in outer -horizontal mode; settobox: getting box sizes; stackrel: -extensions of the \stackrel command; stampinclude: selects the -files for \include by inspecting the timestamp of the .aux -file(s); tabularht: tabulars with height specification; -tabularkv: key value interface for tabular parameters; -telprint: print German telephone numbers; thepdfnumber: -canonical numbers for use in PDF files and elsewhere; twoopt: -commands with two optional arguments; Each of the packages is -represented by two files, a .dtx (documented source) and a PDF -file; the .ins file necessary for installation is extracted by -running the .dtx file with Plain TeX. - -%package -n %{shortname}-omegaware -Version: svn66186 -Provides: texlive-omegaware = %{epoch}:%{source_date}-%{release} -Provides: tex-omegaware = %{epoch}:%{source_date}-%{release} -Provides: texlive-omegaware-bin = %{epoch}:%{source_date}-%{release} -Provides: tex-omegaware-bin = %{epoch}:%{source_date}-%{release} -Obsoletes: texlive-omegaware-bin < 7:20170520 -Provides: tex-omegaware-doc = %{epoch}:%{source_date}-%{release} -Provides: texlive-omegaware-doc = %{epoch}:%{source_date}-%{release} -Obsoletes: texlive-omegaware-doc < 7:20170520 -License: LPPL-1.3c -Summary: A wide-character-set extension of TeX -Requires: texlive-base -Requires: texlive-kpathsea - -%description -n %{shortname}-omegaware -A development of TeX, which deals in multi-octet Unicode -characters, to enable native treatment of a wide range of -languages without changing character-set. Work on Omega has -ceased (the TeX Live package contains only support files); its -compatible successor is aleph, which is itself also in major -maintenance mode only. Ongoing projects developing Omega (and -Aleph) ideas include Omega-2 and LuaTeX. - -%package -n %{shortname}-optex -Version: svn66513 -Provides: texlive-optex = %{epoch}:%{source_date}-%{release} -License: LicenseRef-Fedora-Public-Domain -Summary: LuaTeX format based on Plain TeX and OPmac -Requires: texlive-base -Requires: texlive-kpathsea -Requires: texlive-amsfonts -Requires: texlive-cm -Requires: texlive-ec -Requires: texlive-hyphen-base -Requires: texlive-librarian -Requires: texlive-lm -Requires: texlive-luaotfload -Requires: texlive-luatex -Requires: texlive-rsfs -Requires: texlive-unicode-data -Provides: tex(op-demo.tex) = %{epoch}:%{source_date}-%{release} -Provides: tex(op-letter-cs.tex) = %{epoch}:%{source_date}-%{release} -Provides: tex(op-letter-en.tex) = %{epoch}:%{source_date}-%{release} -Provides: tex(op-mathalign.tex) = %{epoch}:%{source_date}-%{release} -Provides: tex(op-slides.tex) = %{epoch}:%{source_date}-%{release} - - -%description -n %{shortname}-optex -OpTeX is a LuaTeX format based on Plain TeX macros with power -from OPmac (fonts selection system, colors, external graphics, -references, hyperlinks, ...) with unicode fonts. - -%package -n %{shortname}-optexcount -Version: svn59817 -Provides: texlive-optexcount = %{epoch}:%{source_date}-%{release} -Provides: texlive-optexcount-bin = %{epoch}:%{source_date}-%{release} -License: MIT -Summary: Python script for counting words in OpTeX documents -Requires: texlive-base, texlive-kpathsea -#python -BuildArch: noarch - -%description -n %{shortname}-optexcount -OpTeXcount is a basic python utility that analyzes OpTeX source code. It is -inspired by already existing TeXcount for LaTeX. The functionality is really -lightweight and basic. It counts words and other elements of OpTeX document -and sorts them out into individual categories. Users can print the source code -with highlighted words using several colors,so they see what is considered as -word, header etc. - -%package -n %{shortname}-pagelayout -Summary: Layout graphic rich documents -Version: svn66392 -License: LPPL-1.3c -Requires: texlive-base texlive-kpathsea -Provides: tex(pagelayout.cls) = %{epoch}:%{source_date}-%{release} - -%description -n %{shortname}-pagelayout -The pagelayout class enables you to layout pages declaratively -using simple macros for pages, covers, grids, templates, text, -and graphics to create graphic rich, perfectly typeset, and -print ready PDFs. The integration of Inkscape allows your to -create box shadows. The integration of ImageMagick allows you -to configure compression and sharpening for bitmap graphics to -export web, print or preview versions of your document. -Parallelized image optimization, caching, and a draft mode -enable fast PDF creation and a responsive workflow, even for -large documents with lots of photos and graphics. The -pagelayout class also integrates the Pgf/TikZ and tcolorbox -LaTeX packages. - -%package -n %{shortname}-patgen -Version: svn66186 -Provides: texlive-patgen = %{epoch}:%{source_date}-%{release} -Provides: tex-patgen = %{epoch}:%{source_date}-%{release} -Provides: texlive-patgen-bin = %{epoch}:%{source_date}-%{release} -Provides: tex-patgen-bin = %{epoch}:%{source_date}-%{release} -Obsoletes: texlive-patgen-bin < 7:20170520 -License: Knuth-CTAN -Summary: Generate hyphenation patterns -Requires: texlive-base -Requires: texlive-kpathsea - -%description -n %{shortname}-patgen -Patgen takes a list of hyphenated words and generates a set of -patterns that can be used by the TeX 82 hyphenation algorithm. -Patgen was originally written by Frank M. Liang as part of his -Stanford Ph.D. work, and has always been distributed alongside -the other programs coming from the Stanford TeX project. It was -updated in 1991 by Peter Breitenlohner for the new 8-bit -features of TeX version 3. (These updates related to -input/output and programming overhead; the actual pattern -generation algorithms were not changed.) Patgen is currently -maintained as part of TeX Live. - -%package -n %{shortname}-pax -Version: svn63509 -Provides: texlive-pax = %{epoch}:%{source_date}-%{release} -Provides: tex-pax = %{epoch}:%{source_date}-%{release} -Provides: texlive-pax-bin = %{epoch}:%{source_date}-%{release} -Provides: tex-pax-bin = %{epoch}:%{source_date}-%{release} -Obsoletes: texlive-pax-bin < 7:20170520 -Provides: tex-pax-doc = %{epoch}:%{source_date}-%{release} -Provides: texlive-pax-doc = %{epoch}:%{source_date}-%{release} -Obsoletes: texlive-pax-doc < 7:20170520 -License: GPL-2.0-or-later -Summary: Extract and reinsert PDF annotations with pdfTeX -Requires: texlive-base -Requires: texlive-kpathsea -Requires: tex(ifpdf.sty) -Requires: tex(graphicx.sty) -Requires: tex(ltxcmds.sty) -Requires: tex(kvsetkeys.sty) -Requires: tex(kvoptions.sty) -Requires: tex(auxhook.sty) -Requires: tex(etexcmds.sty) -Provides: tex(pax.sty) = %{epoch}:%{source_date}-%{release} -# perl -BuildArch: noarch - -%description -n %{shortname}-pax -If PDF files are included using pdfTeX, PDF annotations are -stripped. The pax project offers a solution without altering -pdfTeX. A Java program (pax.jar) parses the PDF file that will -later be included. The program then writes the data of the -annotations into a file that can be read by TeX. The LaTeX -package pax extends the graphics package to support the scheme: -if a PDF file is included, the package looks for the file with -the annotation data, reads them and puts the annotations in the -right place. - -%package -n %{shortname}-pdfbook2 -Version: svn53521 -Provides: texlive-pdfbook2 = %{epoch}:%{source_date}-%{release} -Provides: tex-pdfbook2 = %{epoch}:%{source_date}-%{release} -Provides: texlive-pdfbook2-bin = %{epoch}:%{source_date}-%{release} -Provides: tex-pdfbook2-bin = %{epoch}:%{source_date}-%{release} -Obsoletes: texlive-pdfbook2-bin < 7:20170520 -Provides: tex-pdfbook2-doc = %{epoch}:%{source_date}-%{release} -Provides: texlive-pdfbook2-doc = %{epoch}:%{source_date}-%{release} -Obsoletes: texlive-pdfbook2-doc < 7:20170520 -License: GPL-3.0-or-later -Summary: Create booklets from PDF files -Requires: texlive-base -Requires: texlive-kpathsea -Requires: texlive-pdfcrop -Requires: texlive-pdfjam -# python -BuildArch: noarch - -%description -n %{shortname}-pdfbook2 -This python program creates print-ready PDF files from some -input PDF files for booklet printing. The resulting files need -to be printed in landscape/long edge double sided printing. The -default paper format depends on the locale and is chosen by -pdfjam. It can be chosen using the --paper option. Before the -pdf is composed, the input file is cropped to the relevant area -in order to discard unnecessary white spaces. In this process, -all pages are cropped to the same dimensions. Extra margins can -be defined at the edges of the booklet and in the middle where -the binding occurs. The output is written to INPUT-book.pdf. -Existing files will be overwritten. All input files are -processed seperately. - -%package -n %{shortname}-pdfcrop -Version: svn55435 -Provides: texlive-pdfcrop = %{epoch}:%{source_date}-%{release} -Provides: tex-pdfcrop = %{epoch}:%{source_date}-%{release} -Provides: texlive-pdfcrop-bin = %{epoch}:%{source_date}-%{release} -Provides: tex-pdfcrop-bin = %{epoch}:%{source_date}-%{release} -Obsoletes: texlive-pdfcrop-bin < 7:20170520 -Provides: tex-pdfcrop-doc = %{epoch}:%{source_date}-%{release} -Provides: texlive-pdfcrop-doc = %{epoch}:%{source_date}-%{release} -Obsoletes: texlive-pdfcrop-doc < 7:20170520 -License: LPPL-1.3c -Summary: Crop PDF graphics -Requires: texlive-base -Requires: texlive-kpathsea -Requires: texlive-pdftex -# perl -BuildArch: noarch - -%description -n %{shortname}-pdfcrop -A Perl script that can either trim pages of any whitespace -border, or trim them of a fixed border. - -%package -n %{shortname}-pdfjam -Version: svn56991 -Provides: texlive-pdfjam = %{epoch}:%{source_date}-%{release} -Provides: tex-pdfjam = %{epoch}:%{source_date}-%{release} -Provides: texlive-pdfjam-bin = %{epoch}:%{source_date}-%{release} -Provides: tex-pdfjam-bin = %{epoch}:%{source_date}-%{release} -Obsoletes: texlive-pdfjam-bin < 7:20170520 -Provides: tex-pdfjam-doc = %{epoch}:%{source_date}-%{release} -Provides: texlive-pdfjam-doc = %{epoch}:%{source_date}-%{release} -Obsoletes: texlive-pdfjam-doc < 7:20170520 -License: GPL-2.0-or-later -Summary: Shell scripts interfacing to pdfpages -Requires: texlive-base -Requires: texlive-collection-latex -Requires: texlive-kpathsea -Requires: texlive-latex -Requires: tex(pdfpages.sty) -# shell -BuildArch: noarch - -%description -n %{shortname}-pdfjam -This is a collection of shell scripts which provide an -interface to the pdfpages LaTeX package. They do such jobs as -selecting pages, concatenating files, doing n-up formatting, -and so on. - -%package -n %{shortname}-pdflatexpicscale -Version: svn46617 -Provides: texlive-pdflatexpicscale = %{epoch}:%{source_date}-%{release} -Provides: tex-pdflatexpicscale = %{epoch}:%{source_date}-%{release} -Provides: texlive-pdflatexpicscale-bin = %{epoch}:%{source_date}-%{release} -Provides: tex-pdflatexpicscale-bin = %{epoch}:%{source_date}-%{release} -Obsoletes: texlive-pdflatexpicscale-bin < 7:20170520 -Provides: tex-pdflatexpicscale-doc = %{epoch}:%{source_date}-%{release} -Provides: texlive-pdflatexpicscale-doc = %{epoch}:%{source_date}-%{release} -Obsoletes: texlive-pdflatexpicscale-doc < 7:20170520 -License: LPPL-1.3c -Summary: Support software for downscaling graphics to be included by pdfLaTeX -Requires: texlive-base -Requires: texlive-kpathsea -# perl -BuildArch: noarch - -%description -n %{shortname}-pdflatexpicscale -The package provides a script to scale pictures down to a -target resolution before creating a PDF document with pdfLaTeX. - -%package -n %{shortname}-pdftex -Version: svn66243 -Provides: texlive-pdftex = %{epoch}:%{source_date}-%{release} -Provides: tex-pdftex = %{epoch}:%{source_date}-%{release} -Provides: texlive-pdftex-bin = %{epoch}:%{source_date}-%{release} -Provides: tex-pdftex-bin = %{epoch}:%{source_date}-%{release} -Obsoletes: texlive-pdftex-bin < 7:20170520 -Provides: tex-pdftex-doc = %{epoch}:%{source_date}-%{release} -Provides: texlive-pdftex-doc = %{epoch}:%{source_date}-%{release} -Obsoletes: texlive-pdftex-doc < 7:20170520 -License: GPL-1.0-or-later -Summary: A TeX extension for direct creation of PDF -Requires: texlive-base -Requires: texlive-kpathsea -Requires(post,postun): coreutils -Requires: tex-graphics-def -Requires: texlive-cm -Requires: texlive-dehyph -Requires: texlive-etex -Requires: texlive-hyph-utf8 -Requires: texlive-hyphen-base -Requires: texlive-knuth-lib -Requires: texlive-plain -Requires: tex-tex-ini-files -Provides: tex(dummy-space.map) = %{epoch}:%{source_date}-%{release} -Provides: tex(glyphtounicode.tex) = %{epoch}:%{source_date}-%{release} -Provides: tex(pdfcolor.tex) = %{epoch}:%{source_date}-%{release} -Provides: tex(pdftex-dvi.tex) = %{epoch}:%{source_date}-%{release} - -%description -n %{shortname}-pdftex -An extension of TeX which can directly generate PDF documents -as well as DVI output. All current free TeX distributions -including TeX Live, MacTeX and MiKTeX include pdfTeX (Plain -TeX) and pdfLaTeX (LaTeX), among many other formats based on -the pdfTeX engine. - -%package -n %{shortname}-pdftex-quiet -Version: svn49169 -Provides: texlive-pdftex-quiet = %{epoch}:%{source_date}-%{release} -Provides: tex-pdftex-quiet = %{epoch}:%{source_date}-%{release} -Provides: texlive-pdftex-quiet-bin = %{epoch}:%{source_date}-%{release} -Provides: tex-pdftex-quiet-bin = %{epoch}:%{source_date}-%{release} -License: GPL-3.0-only -Summary: Bash utility to reduce the output of the pdftex command -Requires: texlive-base -Requires: texlive-kpathsea -Requires: texlive-pdftex -#bash -BuildArch: noarch - -%description -n %{shortname}-pdftex-quiet -This is a tool in BASH serving to reduce the output of `pdftex` command and see -only relevant errors in red bold font to fight them ASAP. - -%package -n %{shortname}-pdftosrc -Version: svn66186 -Provides: texlive-pdftosrc = %{epoch}:%{source_date}-%{release} -Provides: tex-pdftosrc = %{epoch}:%{source_date}-%{release} -Provides: tex-pdftosrc-bin = %{epoch}:%{source_date}-%{release} -Provides: texlive-pdftosrc-bin = %{epoch}:%{source_date}-%{release} -License: GPL-2.0-or-later -Summary: Extract source file or stream from PDF file -Requires: texlive-base -Requires: texlive-kpathsea - -%description -n %{shortname}-pdftosrc -Extracts an embedded source file, or extracts and uncompresses -a PDF stream given by object number. Developed as part of the -pdfTeX source tree. - -%package -n %{shortname}-pdfxup -Version: svn59001 -Provides: texlive-pdfxup = %{epoch}:%{source_date}-%{release} -Provides: tex-pdfxup = %{epoch}:%{source_date}-%{release} -Provides: texlive-pdfxup-bin = %{epoch}:%{source_date}-%{release} -Provides: tex-pdfxup-bin = %{epoch}:%{source_date}-%{release} -Obsoletes: texlive-pdfxup-bin < 7:20170520 -Provides: tex-pdfxup-doc = %{epoch}:%{source_date}-%{release} -Provides: texlive-pdfxup-doc = %{epoch}:%{source_date}-%{release} -Obsoletes: texlive-pdfxup-doc < 7:20170520 -License: LPPL-1.3c -Summary: Create n-up PDF pages with minimal margins -Requires: texlive-base -Requires: texlive-kpathsea -# shell -BuildArch: noarch - -%description -n %{shortname}-pdfxup -pdfxup is a unix/linux shell script that creates a PDF document -where each page is obtained by combining several pages of a PDF -file given as output. - -%package -n %{shortname}-pedigree-perl -Version: svn64227 -Provides: texlive-pedigree-perl = %{epoch}:%{source_date}-%{release} -Provides: tex-pedigree-perl = %{epoch}:%{source_date}-%{release} -Provides: texlive-pedigree-perl-bin = %{epoch}:%{source_date}-%{release} -Provides: tex-pedigree-perl-bin = %{epoch}:%{source_date}-%{release} -Obsoletes: texlive-pedigree-perl-bin < 7:20170520 -Provides: tex-pedigree-perl-doc = %{epoch}:%{source_date}-%{release} -Provides: texlive-pedigree-perl-doc = %{epoch}:%{source_date}-%{release} -Obsoletes: texlive-pedigree-perl-doc < 7:20170520 -License: GPL-2.0-or-later -Summary: Generate TeX pedigree files from CSV files -Requires: texlive-base -Requires: texlive-kpathsea -# perl -BuildArch: noarch - -%description -n %{shortname}-pedigree-perl -This program generates TeX commands to typeset pedigrees -- -either TeX fragments or full LaTeX files, to be processed by -the authors' pst-pdgr package. The program has support for -multilanguage pedigrees (at the present moment the English and -Russian languages are supported). - -%package -n %{shortname}-perltex -Version: svn52162 -Provides: texlive-perltex = %{epoch}:%{source_date}-%{release} -Provides: tex-perltex = %{epoch}:%{source_date}-%{release} -Provides: texlive-perltex-bin = %{epoch}:%{source_date}-%{release} -Provides: tex-perltex-bin = %{epoch}:%{source_date}-%{release} -Obsoletes: texlive-perltex-bin < 7:20170520 -Provides: tex-perltex-doc = %{epoch}:%{source_date}-%{release} -Provides: texlive-perltex-doc = %{epoch}:%{source_date}-%{release} -Obsoletes: texlive-perltex-doc < 7:20170520 -License: LPPL-1.3c -Summary: Define LaTeX macros in terms of Perl code -Requires: texlive-base -Requires: texlive-kpathsea -Provides: tex(perltex.sty) = %{epoch}:%{source_date}-%{release} -# perl -BuildArch: noarch - -%description -n %{shortname}-perltex -PerlTeX is a combination Perl script (perltex.pl) and LaTeX2e -package (perltex.sty) that, together, give the user the ability -to define LaTeX macros in terms of Perl code. Once defined, a -Perl macro becomes indistinguishable from any other LaTeX -macro. PerlTeX thereby combines LaTeX's typesetting power with -Perl's programmability. PerlTeX will make use of persistent -named pipes, and thereby run more efficiently, on operating -systems that offer them (mostly Unix-like systems). Also -provided is a switch to generate a PerlTeX-free, document- -specific, noperltex.sty that is useful when distributing a -document to places where PerlTeX is not available. - -%package -n %{shortname}-petri-nets -Version: svn39165 -Provides: texlive-petri-nets = %{epoch}:%{source_date}-%{release} -Provides: tex-petri-nets = %{epoch}:%{source_date}-%{release} -Provides: texlive-petri-nets-bin = %{epoch}:%{source_date}-%{release} -Provides: tex-petri-nets-bin = %{epoch}:%{source_date}-%{release} -Obsoletes: texlive-petri-nets-bin < 7:20170520 -Provides: tex-petri-nets-doc = %{epoch}:%{source_date}-%{release} -Provides: texlive-petri-nets-doc = %{epoch}:%{source_date}-%{release} -Obsoletes: texlive-petri-nets-doc < 7:20170520 -License: GPL-1.0-or-later -Summary: A set of TeX/LaTeX packages for drawing Petri nets -Requires: texlive-base -Requires: texlive-kpathsea -Provides: tex(pndraw.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(pndraw.tex) = %{epoch}:%{source_date}-%{release} -Provides: tex(pnets.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(pnets.tex) = %{epoch}:%{source_date}-%{release} -Provides: tex(pntext.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(pntext.tex) = %{epoch}:%{source_date}-%{release} -Provides: tex(pnversion.tex) = %{epoch}:%{source_date}-%{release} -# perl -BuildArch: noarch - -%description -n %{shortname}-petri-nets -Petri-nets offers a set of TeX/LaTeX packages about Petri nets -and related models. Three packages are available: the first -allows the user to draw Petri-nets in PostScript documents; the -second defines macros related to PBC, M-nets and B(PN) models; -and a third that combines the other two. - -%package -n %{shortname}-pfarrei -Version: svn31934 -Provides: texlive-pfarrei = %{epoch}:%{source_date}-%{release} -Provides: tex-pfarrei = %{epoch}:%{source_date}-%{release} -Provides: texlive-pfarrei-bin = %{epoch}:%{source_date}-%{release} -Provides: tex-pfarrei-bin = %{epoch}:%{source_date}-%{release} -Obsoletes: texlive-pfarrei-bin < 7:20170520 -Provides: tex-pfarrei-doc = %{epoch}:%{source_date}-%{release} -Provides: texlive-pfarrei-doc = %{epoch}:%{source_date}-%{release} -Obsoletes: texlive-pfarrei-doc < 7:20170520 -License: LPPL-1.3c -Summary: LaTeX support of pastors' and priests' work -Requires: texlive-base -Requires: texlive-kpathsea -Requires: tex(ifpdf.sty) -Requires: tex(pdfpages.sty) -Requires: tex(keyval.sty) -Provides: tex(a5toa4.tex) = %{epoch}:%{source_date}-%{release} -Provides: tex(pfarrei.sty) = %{epoch}:%{source_date}-%{release} -# lua -BuildArch: noarch - -%description -n %{shortname}-pfarrei -In "Die TeXnische Komodie" (issue 1/2013) Christian Justen -described his use of LaTeX in his work as priest (similar -requirements may be encountered in the work of pastors and -other ministers of religion). One point was to arrange A5 pages -onto A4 landscape paper, either side-by-side or as a booklet. -Justen made two bash scripts for this job; the package provides -one texlua script for both requirements. - -%package -n %{shortname}-pkfix -Version: svn26032 -Provides: texlive-pkfix = %{epoch}:%{source_date}-%{release} -Provides: tex-pkfix = %{epoch}:%{source_date}-%{release} -Provides: tex-pkfix-bin = %{epoch}:%{source_date}-%{release} -Provides: texlive-pkfix-bin = %{epoch}:%{source_date}-%{release} -Obsoletes: texlive-pkfix-bin < 7:20170520 -Provides: tex-pkfix-doc = %{epoch}:%{source_date}-%{release} -Provides: texlive-pkfix-doc = %{epoch}:%{source_date}-%{release} -Obsoletes: texlive-pkfix-doc < 7:20170520 -License: LPPL-1.3c -Summary: Replace pk fonts in PostScript with Type 1 fonts -Requires: texlive-base -Requires: texlive-kpathsea -# perl -BuildArch: noarch - -%description -n %{shortname}-pkfix -The perl script pkfix looks for DVIPSBitmapFont comments in -PostScript files, generated by 'not too old' dvips, and -replaces them by type 1 versions of the fonts, if possible. - -%package -n %{shortname}-pkfix-helper -Version: svn56061 -Provides: texlive-pkfix-helper = %{epoch}:%{source_date}-%{release} -Provides: tex-pkfix-helper = %{epoch}:%{source_date}-%{release} -Provides: tex-pkfix-helper-bin = %{epoch}:%{source_date}-%{release} -Provides: texlive-pkfix-helper-bin = %{epoch}:%{source_date}-%{release} -Obsoletes: texlive-pkfix-helper-bin < 7:20170520 -Provides: tex-pkfix-helper-doc = %{epoch}:%{source_date}-%{release} -Provides: texlive-pkfix-helper-doc = %{epoch}:%{source_date}-%{release} -Obsoletes: texlive-pkfix-helper-doc < 7:20170520 -License: LPPL-1.3c -Summary: Make PostScript files accessible to pkfix -Requires: texlive-base -Requires: texlive-kpathsea -# perl -BuildArch: noarch - -%description -n %{shortname}-pkfix-helper -Pkfix is a useful utility for replacing resolution-dependent -bitmapped fonts in a dvips-produced PostScript file with the -corresponding resolution-independent vector fonts. -Unfortunately, pkfix needs to parse certain PostScript comments -that appear only in files produced by dvips versions later than -5.58 (ca. 1996); it fails to work on PostScript files produced -by older versions of dvips. Pkfix-helper is a program that -attempts to insert newer-dvips comments into an older-dvips -PostScript file, thereby making the file suitable for -processing by pkfix. pkfix-helper can sometimes process -documents fully autonomously but does require the user to -verify and, if needed, correct its decisions. - -%package -n %{shortname}-pmx -Version: svn65926 -Provides: texlive-pmx = %{epoch}:%{source_date}-%{release} -Provides: tex-pmx = %{epoch}:%{source_date}-%{release} -Provides: tex-pmx-bin = %{epoch}:%{source_date}-%{release} -Provides: texlive-pmx-bin = %{epoch}:%{source_date}-%{release} -Obsoletes: texlive-pmx-bin < 7:20170520 -Provides: tex-pmx-doc = %{epoch}:%{source_date}-%{release} -Provides: texlive-pmx-doc = %{epoch}:%{source_date}-%{release} -Obsoletes: texlive-pmx-doc < 7:20170520 -License: GPL-2.0-or-later -Summary: Preprocessor for MusiXTeX -Requires: texlive-base -Requires: texlive-kpathsea -Provides: tex(pmx.tex) = %{epoch}:%{source_date}-%{release} - -%description -n %{shortname}-pmx -PMX provides a preprocessor for MusiXTeX. pmxab builds a TeX -input file based on a .pmx input file in a much simpler -language, making most of the layout decisions by itself. It has -most of MusiXTeX's functionality, but it also permits in-line -TeX to give access to virtually all of MusiXTeX. For -proof-listening, pmxab will make a MIDI file of your score. -scor2prt is an auxiliary program that makes parts from a score. - -%package -n %{shortname}-pmxchords -Version: svn39249 -Provides: texlive-pmxchords = %{epoch}:%{source_date}-%{release} -Provides: tex-pmxchords = %{epoch}:%{source_date}-%{release} -Provides: tex-pmxchords-bin = %{epoch}:%{source_date}-%{release} -Provides: texlive-pmxchords-bin = %{epoch}:%{source_date}-%{release} -Obsoletes: texlive-pmxchords-bin < 7:20170520 -Provides: tex-pmxchords-doc = %{epoch}:%{source_date}-%{release} -Provides: texlive-pmxchords-doc = %{epoch}:%{source_date}-%{release} -Obsoletes: texlive-pmxchords-doc < 7:20170520 -License: GPL-2.0-or-later -Summary: Produce chord information to go with pmx output -Requires: texlive-base -Requires: texlive-kpathsea -Provides: tex(chords.tex) = %{epoch}:%{source_date}-%{release} -Provides: tex(chordsCZ.tex) = %{epoch}:%{source_date}-%{release} -# lua -BuildArch: noarch - -%description -n %{shortname}-pmxchords -The bundle supplements pmx, providing the means of typesetting -chords above the notes of a score. The bundle contains: macros -for typing the chords; a Lua script to transpose chord macros -to the required key signature; and support scripts for common -requirements. - -%package -n %{shortname}-psutils -Version: svn61719 -Provides: texlive-psutils = %{epoch}:%{source_date}-%{release} -Provides: tex-psutils = %{epoch}:%{source_date}-%{release} -Provides: tex-psutils-bin = %{epoch}:%{source_date}-%{release} -Provides: texlive-psutils-bin = %{epoch}:%{source_date}-%{release} -License: psutils -Summary: The TeXLive fork of the PS Utilities -Requires: texlive-base -Requires: texlive-kpathsea - -%description -n %{shortname}-psutils -Utilities for manipulating PostScript documents. -Page selection and rearrangement are supported, including arrangement into -signatures for booklet printing, and page merging for n-up printing. - -This package contains a fork of the psutils binaries adjusted for TexLive. -All of the standard binaries have been namespaced with a "tl-" prefix. - -%package -n %{shortname}-pst2pdf -Version: svn56172 -Provides: texlive-pst2pdf = %{epoch}:%{source_date}-%{release} -Provides: tex-pst2pdf = %{epoch}:%{source_date}-%{release} -Provides: tex-pst2pdf-bin = %{epoch}:%{source_date}-%{release} -Provides: texlive-pst2pdf-bin = %{epoch}:%{source_date}-%{release} -Obsoletes: texlive-pst2pdf-bin < 7:20170520 -Provides: tex-pst2pdf-doc = %{epoch}:%{source_date}-%{release} -Provides: texlive-pst2pdf-doc = %{epoch}:%{source_date}-%{release} -Obsoletes: texlive-pst2pdf-doc < 7:20170520 -License: GPL-2.0-or-later -Summary: A script to compile pstricks documents via pdftex -Requires: texlive-base -Requires: texlive-kpathsea -# perl -BuildArch: noarch - -%description -n %{shortname}-pst2pdf -The script extracts the preamble of the document and runs all -\begin{postscript}...\end{postscript} -\begin{pspicture}...\end{pspicture} and -\pspicture...\endpspicture separately through LaTeX with the -same preamble as the original document; thus it creates EPS, -PNG and PDF files of these snippets. In a final PDFLaTeX run -the script replaces the environments with \includegraphics to -include the processed snippets. - -%package -n %{shortname}-pst-pdf -Version: svn56622 -Provides: texlive-pst-pdf = %{epoch}:%{source_date}-%{release} -Provides: tex-pst-pdf = %{epoch}:%{source_date}-%{release} -Provides: tex-pst-pdf-bin = %{epoch}:%{source_date}-%{release} -Provides: texlive-pst-pdf-bin = %{epoch}:%{source_date}-%{release} -Obsoletes: texlive-pst-pdf-bin < 7:20170520 -Provides: tex-pst-pdf-doc = %{epoch}:%{source_date}-%{release} -Provides: texlive-pst-pdf-doc = %{epoch}:%{source_date}-%{release} -Obsoletes: texlive-pst-pdf-doc < 7:20170520 -License: LPPL-1.3c -Summary: Make PDF versions of graphics by processing between runs -Requires: texlive-base -Requires: texlive-kpathsea -Requires: tex(graphicx.sty) -Requires: tex(pstricks.sty) -Requires: tex(environ.sty) -Requires: tex(preview.sty) -Requires: texlive-iftex -Requires: tex(luatex85.sty) -Provides: tex(pst-pdf.sty) = %{epoch}:%{source_date}-%{release} -# shell -BuildArch: noarch - -%description -n %{shortname}-pst-pdf -The package pst-pdf simplifies the use of graphics from -PSTricks and other PostScript code in PDF documents. As in -building a bibliography with BibTEX, additional external -programmes are invoked. In this case they are used to create a -PDF file (\PDFcontainer) that will contain all the graphics -material. In the final document these contents will be inserted -instead of the original PostScript code. The package works with -pstricks and requires a recent version of the preview package. - -%package -n %{shortname}-ps2eps -Version: svn62856 -Provides: texlive-ps2eps = %{epoch}:%{source_date}-%{release} -Provides: tex-ps2eps = %{epoch}:%{source_date}-%{release} -License: GPL-1.0-or-later -Summary: Produce Encapsulated PostScript from PostScript -Requires: texlive-base -Requires: texlive-kpathsea - -%description -n %{shortname}-ps2eps -Produce Encapsulated PostScript Files (EPS/EPSF) from a -one-page PostScript document, or any PostScript document. A -correct Bounding Box is calculated for the EPS files and some -PostScript command sequences that can produce erroneous -results on printers are filtered. The input is cropped to -include just the image contained in the PostScript file. The -EPS files can then be included into TeX documents. Other -programs like ps2epsi (a script distributed with ghostscript) -don't always calculate the correct bounding box (because the -values are put on the PostScript stack which may get corrupted -by bad PostScript code) or they round it off, resulting in -clipping the image. Therefore ps2eps uses a resolution of 144 -dpi to get the correct bounding box. Included in the distribution -is the bbox program, an application to produce Bounding Box values -for rawppm or rawpbm format files. - -%package -n %{shortname}-ps2pk -Version: svn66186 -Provides: texlive-ps2pk = %{epoch}:%{source_date}-%{release} -Provides: tex-ps2pk = %{epoch}:%{source_date}-%{release} -Provides: tex-ps2pk-bin = %{epoch}:%{source_date}-%{release} -Provides: texlive-ps2pk-bin = %{epoch}:%{source_date}-%{release} -Obsoletes: texlive-ps2pk-bin < 7:20170520 -Provides: texlive-ps2pkm = %{epoch}:%{source_date}-%{release} -Obsoletes: texlive-ps2pkm < 7:20170520 -Provides: texlive-ps2pkm-bin = %{epoch}:%{source_date}-%{release} -Obsoletes: texlive-ps2pkm-bin < 7:20170520 -License: MIT -Summary: Generate a PK font from an Adobe Type 1 font -Requires: texlive-base -Requires: texlive-kpathsea - -%description -n %{shortname}-ps2pk -Generates a PK file from an Adobe Type 1 font. PK fonts are (or -used to be) valuable in enabling previewers to view documents -generated that use Type 1 fonts. The program makes use of code -donated to the X consortium by IBM. - -%package -n %{shortname}-ptex -Version: svn66186 -Provides: texlive-ptex = %{epoch}:%{source_date}-%{release} -Provides: tex-ptex = %{epoch}:%{source_date}-%{release} -Provides: tex-ptex-bin = %{epoch}:%{source_date}-%{release} -Provides: texlive-ptex-bin = %{epoch}:%{source_date}-%{release} -Obsoletes: texlive-ptex-bin < 7:20170520 -Provides: tex-ptex-doc = %{epoch}:%{source_date}-%{release} -Provides: texlive-ptex-doc = %{epoch}:%{source_date}-%{release} -Obsoletes: texlive-ptex-doc < 7:20170520 -Provides: texlive-platex-bin = %{epoch}:%{source_date}-%{release} -Obsoletes: texlive-platex-bin < 7:20170520 -License: BSD-3-Clause -Summary: A TeX system for publishing in Japanese -Requires: texlive-adobemapping -Requires: texlive-base -Requires: texlive-cm -Requires: texlive-etex -Requires: texlive-hyphen-base -Requires: texlive-hyph-utf8 -Requires: texlive-ipaex -Requires: texlive-japanese-otf -Requires: texlive-knuth-lib -Requires: texlive-kpathsea -Requires: texlive-latex -Requires: texlive-plain -Requires: texlive-ptex-base -Requires: texlive-ptex-fonts -Requires: texlive-tex -Requires: tex(oldlfont.sty) -Requires: tex(shortvrb.sty) -Requires(post,postun): coreutils - -%description -n %{shortname}-ptex -PTeX adds features related to vertical writing, and deals with -other problems in typesetting Japanese. A manual (in both -Japanese and English) is distributed as package pTeX-manual. - -%package -n %{shortname}-ptex-fontmaps -Version: svn65953 -Provides: texlive-ptex-fontmaps = %{epoch}:%{source_date}-%{release} -Provides: tex-ptex-fontmaps = %{epoch}:%{source_date}-%{release} -Provides: tex-ptex-fontmaps = %{epoch}:%{source_date}-%{release} -Provides: texlive-ptex-fontmaps-bin = %{epoch}:%{source_date}-%{release} -Obsoletes: texlive-ptex-fontmaps-bin < 7:20170520 -Provides: tex-ptex-fontmaps-doc = %{epoch}:%{source_date}-%{release} -Provides: texlive-ptex-fontmaps-doc = %{epoch}:%{source_date}-%{release} -Obsoletes: texlive-ptex-fontmaps-doc < 7:20170520 -Provides: tex-jfontmaps = %{epoch}:%{source_date}-%{release} -Provides: texlive-jfontmaps = %{epoch}:%{source_date}-%{release} -Obsoletes: texlive-jfontmaps <= 6:svn40613 -Provides: tex-jfontmaps-bin = %{epoch}:%{source_date}-%{release} -Provides: texlive-jfontmaps-bin = %{epoch}:%{source_date}-%{release} -Obsoletes: texlive-jfontmaps-bin <= 6:svn29848.0 -Provides: tex-jfontmaps-doc = %{epoch}:%{source_date}-%{release} -Provides: texlive-jfontmaps-doc = %{epoch}:%{source_date}-%{release} -Obsoletes: texlive-jfontmaps-doc <= 6:svn40613 -License: GPL-3.0-only -Summary: Font maps and configuration tools for Japanese/Chinese/Korean fonts with (u)ptex -Requires: texlive-arphic-ttf -Requires: texlive-baekmuk -Requires: texlive-base -Requires: texlive-ipaex -Requires: texlive-kpathsea -Provides: tex(otf-bizud.map) = %{epoch}:%{source_date}-%{release} -Provides: tex(otf-canon.map) = %{epoch}:%{source_date}-%{release} -Provides: tex(otf-haranoaji.map) = %{epoch}:%{source_date}-%{release} -Provides: tex(otf-hiragino-pron.map) = %{epoch}:%{source_date}-%{release} -Provides: tex(otf-hiragino.map) = %{epoch}:%{source_date}-%{release} -Provides: tex(otf-ipa.map) = %{epoch}:%{source_date}-%{release} -Provides: tex(otf-ipaex.map) = %{epoch}:%{source_date}-%{release} -Provides: tex(otf-ko-adobe.map) = %{epoch}:%{source_date}-%{release} -Provides: tex(otf-ko-apple.map) = %{epoch}:%{source_date}-%{release} -Provides: tex(otf-ko-baekmuk.map) = %{epoch}:%{source_date}-%{release} -Provides: tex(otf-ko-haranoaji.map) = %{epoch}:%{source_date}-%{release} -Provides: tex(otf-ko-ms.map) = %{epoch}:%{source_date}-%{release} -Provides: tex(otf-ko-noEmbed.map) = %{epoch}:%{source_date}-%{release} -Provides: tex(otf-ko-noto-otc.map) = %{epoch}:%{source_date}-%{release} -Provides: tex(otf-ko-noto.map) = %{epoch}:%{source_date}-%{release} -Provides: tex(otf-ko-solaris.map) = %{epoch}:%{source_date}-%{release} -Provides: tex(otf-ko-sourcehan-otc.map) = %{epoch}:%{source_date}-%{release} -Provides: tex(otf-ko-sourcehan.map) = %{epoch}:%{source_date}-%{release} -Provides: tex(otf-ko-unfonts.map) = %{epoch}:%{source_date}-%{release} -Provides: tex(otf-kozuka-pr6.map) = %{epoch}:%{source_date}-%{release} -Provides: tex(otf-kozuka-pr6n.map) = %{epoch}:%{source_date}-%{release} -Provides: tex(otf-kozuka.map) = %{epoch}:%{source_date}-%{release} -Provides: tex(otf-moga-mobo-ex.map) = %{epoch}:%{source_date}-%{release} -Provides: tex(otf-moga-mobo.map) = %{epoch}:%{source_date}-%{release} -Provides: tex(otf-morisawa-pr6n.map) = %{epoch}:%{source_date}-%{release} -Provides: tex(otf-morisawa.map) = %{epoch}:%{source_date}-%{release} -Provides: tex(otf-ms-osx.map) = %{epoch}:%{source_date}-%{release} -Provides: tex(otf-ms.map) = %{epoch}:%{source_date}-%{release} -Provides: tex(otf-noEmbed.map) = %{epoch}:%{source_date}-%{release} -Provides: tex(otf-noto-otc.map) = %{epoch}:%{source_date}-%{release} -Provides: tex(otf-noto.map) = %{epoch}:%{source_date}-%{release} -Provides: tex(otf-sc-adobe.map) = %{epoch}:%{source_date}-%{release} -Provides: tex(otf-sc-arphic.map) = %{epoch}:%{source_date}-%{release} -Provides: tex(otf-sc-cjkunifonts-ttf.map) = %{epoch}:%{source_date}-%{release} -Provides: tex(otf-sc-cjkunifonts.map) = %{epoch}:%{source_date}-%{release} -Provides: tex(otf-sc-fandol.map) = %{epoch}:%{source_date}-%{release} -Provides: tex(otf-sc-founder.map) = %{epoch}:%{source_date}-%{release} -Provides: tex(otf-sc-haranoaji.map) = %{epoch}:%{source_date}-%{release} -Provides: tex(otf-sc-ms-osx.map) = %{epoch}:%{source_date}-%{release} -Provides: tex(otf-sc-ms.map) = %{epoch}:%{source_date}-%{release} -Provides: tex(otf-sc-noEmbed.map) = %{epoch}:%{source_date}-%{release} -Provides: tex(otf-sc-noto-otc.map) = %{epoch}:%{source_date}-%{release} -Provides: tex(otf-sc-noto.map) = %{epoch}:%{source_date}-%{release} -Provides: tex(otf-sc-sourcehan-otc.map) = %{epoch}:%{source_date}-%{release} -Provides: tex(otf-sc-sourcehan.map) = %{epoch}:%{source_date}-%{release} -Provides: tex(otf-sourcehan-otc.map) = %{epoch}:%{source_date}-%{release} -Provides: tex(otf-sourcehan.map) = %{epoch}:%{source_date}-%{release} -Provides: tex(otf-tc-adobe.map) = %{epoch}:%{source_date}-%{release} -Provides: tex(otf-tc-arphic.map) = %{epoch}:%{source_date}-%{release} -Provides: tex(otf-tc-cjkunifonts-ttf.map) = %{epoch}:%{source_date}-%{release} -Provides: tex(otf-tc-cjkunifonts.map) = %{epoch}:%{source_date}-%{release} -Provides: tex(otf-tc-dynacomware.map) = %{epoch}:%{source_date}-%{release} -Provides: tex(otf-tc-haranoaji.map) = %{epoch}:%{source_date}-%{release} -Provides: tex(otf-tc-ms-win10.map) = %{epoch}:%{source_date}-%{release} -Provides: tex(otf-tc-ms.map) = %{epoch}:%{source_date}-%{release} -Provides: tex(otf-tc-noEmbed.map) = %{epoch}:%{source_date}-%{release} -Provides: tex(otf-tc-noto-otc.map) = %{epoch}:%{source_date}-%{release} -Provides: tex(otf-tc-noto.map) = %{epoch}:%{source_date}-%{release} -Provides: tex(otf-tc-sourcehan-otc.map) = %{epoch}:%{source_date}-%{release} -Provides: tex(otf-tc-sourcehan.map) = %{epoch}:%{source_date}-%{release} -Provides: tex(otf-ume.map) = %{epoch}:%{source_date}-%{release} -Provides: tex(otf-up-bizud.map) = %{epoch}:%{source_date}-%{release} -Provides: tex(otf-up-canon.map) = %{epoch}:%{source_date}-%{release} -Provides: tex(otf-up-haranoaji.map) = %{epoch}:%{source_date}-%{release} -Provides: tex(otf-up-hiragino-pron.map) = %{epoch}:%{source_date}-%{release} -Provides: tex(otf-up-hiragino.map) = %{epoch}:%{source_date}-%{release} -Provides: tex(otf-up-ipa.map) = %{epoch}:%{source_date}-%{release} -Provides: tex(otf-up-ipaex.map) = %{epoch}:%{source_date}-%{release} -Provides: tex(otf-up-kozuka-pr6.map) = %{epoch}:%{source_date}-%{release} -Provides: tex(otf-up-kozuka-pr6n.map) = %{epoch}:%{source_date}-%{release} -Provides: tex(otf-up-kozuka.map) = %{epoch}:%{source_date}-%{release} -Provides: tex(otf-up-moga-mobo-ex.map) = %{epoch}:%{source_date}-%{release} -Provides: tex(otf-up-moga-mobo.map) = %{epoch}:%{source_date}-%{release} -Provides: tex(otf-up-morisawa-pr6n.map) = %{epoch}:%{source_date}-%{release} -Provides: tex(otf-up-morisawa.map) = %{epoch}:%{source_date}-%{release} -Provides: tex(otf-up-ms-osx.map) = %{epoch}:%{source_date}-%{release} -Provides: tex(otf-up-ms.map) = %{epoch}:%{source_date}-%{release} -Provides: tex(otf-up-noEmbed.map) = %{epoch}:%{source_date}-%{release} -Provides: tex(otf-up-noto-otc.map) = %{epoch}:%{source_date}-%{release} -Provides: tex(otf-up-noto.map) = %{epoch}:%{source_date}-%{release} -Provides: tex(otf-up-sourcehan-otc.map) = %{epoch}:%{source_date}-%{release} -Provides: tex(otf-up-sourcehan.map) = %{epoch}:%{source_date}-%{release} -Provides: tex(otf-up-ume.map) = %{epoch}:%{source_date}-%{release} -Provides: tex(otf-up-yu-osx.map) = %{epoch}:%{source_date}-%{release} -Provides: tex(otf-up-yu-win.map) = %{epoch}:%{source_date}-%{release} -Provides: tex(otf-up-yu-win10.map) = %{epoch}:%{source_date}-%{release} -Provides: tex(otf-yu-osx.map) = %{epoch}:%{source_date}-%{release} -Provides: tex(otf-yu-win.map) = %{epoch}:%{source_date}-%{release} -Provides: tex(otf-yu-win10.map) = %{epoch}:%{source_date}-%{release} -Provides: tex(ptex-bizud.map) = %{epoch}:%{source_date}-%{release} -Provides: tex(ptex-canon.map) = %{epoch}:%{source_date}-%{release} -Provides: tex(ptex-haranoaji-04.map) = %{epoch}:%{source_date}-%{release} -Provides: tex(ptex-haranoaji.map) = %{epoch}:%{source_date}-%{release} -Provides: tex(ptex-hiragino-04.map) = %{epoch}:%{source_date}-%{release} -Provides: tex(ptex-hiragino-pron-04.map) = %{epoch}:%{source_date}-%{release} -Provides: tex(ptex-hiragino-pron.map) = %{epoch}:%{source_date}-%{release} -Provides: tex(ptex-hiragino.map) = %{epoch}:%{source_date}-%{release} -Provides: tex(ptex-ipa.map) = %{epoch}:%{source_date}-%{release} -Provides: tex(ptex-ipaex.map) = %{epoch}:%{source_date}-%{release} -Provides: tex(ptex-kozuka-04.map) = %{epoch}:%{source_date}-%{release} -Provides: tex(ptex-kozuka-pr6-04.map) = %{epoch}:%{source_date}-%{release} -Provides: tex(ptex-kozuka-pr6.map) = %{epoch}:%{source_date}-%{release} -Provides: tex(ptex-kozuka-pr6n-04.map) = %{epoch}:%{source_date}-%{release} -Provides: tex(ptex-kozuka-pr6n.map) = %{epoch}:%{source_date}-%{release} -Provides: tex(ptex-kozuka.map) = %{epoch}:%{source_date}-%{release} -Provides: tex(ptex-moga-mobo-04.map) = %{epoch}:%{source_date}-%{release} -Provides: tex(ptex-moga-mobo-ex-04.map) = %{epoch}:%{source_date}-%{release} -Provides: tex(ptex-moga-mobo-ex.map) = %{epoch}:%{source_date}-%{release} -Provides: tex(ptex-moga-mobo.map) = %{epoch}:%{source_date}-%{release} -Provides: tex(ptex-morisawa-04.map) = %{epoch}:%{source_date}-%{release} -Provides: tex(ptex-morisawa-pr6n-04.map) = %{epoch}:%{source_date}-%{release} -Provides: tex(ptex-morisawa-pr6n.map) = %{epoch}:%{source_date}-%{release} -Provides: tex(ptex-morisawa.map) = %{epoch}:%{source_date}-%{release} -Provides: tex(ptex-ms-osx.map) = %{epoch}:%{source_date}-%{release} -Provides: tex(ptex-ms.map) = %{epoch}:%{source_date}-%{release} -Provides: tex(ptex-noEmbed-04.map) = %{epoch}:%{source_date}-%{release} -Provides: tex(ptex-noEmbed.map) = %{epoch}:%{source_date}-%{release} -Provides: tex(ptex-noto-04.map) = %{epoch}:%{source_date}-%{release} -Provides: tex(ptex-noto-otc-04.map) = %{epoch}:%{source_date}-%{release} -Provides: tex(ptex-noto-otc.map) = %{epoch}:%{source_date}-%{release} -Provides: tex(ptex-noto.map) = %{epoch}:%{source_date}-%{release} -Provides: tex(ptex-sourcehan-04.map) = %{epoch}:%{source_date}-%{release} -Provides: tex(ptex-sourcehan-otc-04.map) = %{epoch}:%{source_date}-%{release} -Provides: tex(ptex-sourcehan-otc.map) = %{epoch}:%{source_date}-%{release} -Provides: tex(ptex-sourcehan.map) = %{epoch}:%{source_date}-%{release} -Provides: tex(ptex-ume.map) = %{epoch}:%{source_date}-%{release} -Provides: tex(ptex-yu-osx-04.map) = %{epoch}:%{source_date}-%{release} -Provides: tex(ptex-yu-osx.map) = %{epoch}:%{source_date}-%{release} -Provides: tex(ptex-yu-win.map) = %{epoch}:%{source_date}-%{release} -Provides: tex(ptex-yu-win10.map) = %{epoch}:%{source_date}-%{release} -Provides: tex(uptex-bizud.map) = %{epoch}:%{source_date}-%{release} -Provides: tex(uptex-canon.map) = %{epoch}:%{source_date}-%{release} -Provides: tex(uptex-haranoaji-04.map) = %{epoch}:%{source_date}-%{release} -Provides: tex(uptex-haranoaji.map) = %{epoch}:%{source_date}-%{release} -Provides: tex(uptex-hiragino-04.map) = %{epoch}:%{source_date}-%{release} -Provides: tex(uptex-hiragino-pron-04.map) = %{epoch}:%{source_date}-%{release} -Provides: tex(uptex-hiragino-pron.map) = %{epoch}:%{source_date}-%{release} -Provides: tex(uptex-hiragino.map) = %{epoch}:%{source_date}-%{release} -Provides: tex(uptex-ipa.map) = %{epoch}:%{source_date}-%{release} -Provides: tex(uptex-ipaex.map) = %{epoch}:%{source_date}-%{release} -Provides: tex(uptex-ko-adobe.map) = %{epoch}:%{source_date}-%{release} -Provides: tex(uptex-ko-apple.map) = %{epoch}:%{source_date}-%{release} -Provides: tex(uptex-ko-baekmuk.map) = %{epoch}:%{source_date}-%{release} -Provides: tex(uptex-ko-haranoaji.map) = %{epoch}:%{source_date}-%{release} -Provides: tex(uptex-ko-ms.map) = %{epoch}:%{source_date}-%{release} -Provides: tex(uptex-ko-noEmbed.map) = %{epoch}:%{source_date}-%{release} -Provides: tex(uptex-ko-noto-otc.map) = %{epoch}:%{source_date}-%{release} -Provides: tex(uptex-ko-noto.map) = %{epoch}:%{source_date}-%{release} -Provides: tex(uptex-ko-solaris.map) = %{epoch}:%{source_date}-%{release} -Provides: tex(uptex-ko-sourcehan-otc.map) = %{epoch}:%{source_date}-%{release} -Provides: tex(uptex-ko-sourcehan.map) = %{epoch}:%{source_date}-%{release} -Provides: tex(uptex-ko-unfonts.map) = %{epoch}:%{source_date}-%{release} -Provides: tex(uptex-kozuka-04.map) = %{epoch}:%{source_date}-%{release} -Provides: tex(uptex-kozuka-pr6-04.map) = %{epoch}:%{source_date}-%{release} -Provides: tex(uptex-kozuka-pr6.map) = %{epoch}:%{source_date}-%{release} -Provides: tex(uptex-kozuka-pr6n-04.map) = %{epoch}:%{source_date}-%{release} -Provides: tex(uptex-kozuka-pr6n.map) = %{epoch}:%{source_date}-%{release} -Provides: tex(uptex-kozuka.map) = %{epoch}:%{source_date}-%{release} -Provides: tex(uptex-moga-mobo-04.map) = %{epoch}:%{source_date}-%{release} -Provides: tex(uptex-moga-mobo-ex-04.map) = %{epoch}:%{source_date}-%{release} -Provides: tex(uptex-moga-mobo-ex.map) = %{epoch}:%{source_date}-%{release} -Provides: tex(uptex-moga-mobo.map) = %{epoch}:%{source_date}-%{release} -Provides: tex(uptex-morisawa-04.map) = %{epoch}:%{source_date}-%{release} -Provides: tex(uptex-morisawa-pr6n-04.map) = %{epoch}:%{source_date}-%{release} -Provides: tex(uptex-morisawa-pr6n.map) = %{epoch}:%{source_date}-%{release} -Provides: tex(uptex-morisawa.map) = %{epoch}:%{source_date}-%{release} -Provides: tex(uptex-ms-osx.map) = %{epoch}:%{source_date}-%{release} -Provides: tex(uptex-ms.map) = %{epoch}:%{source_date}-%{release} -Provides: tex(uptex-noEmbed-04.map) = %{epoch}:%{source_date}-%{release} -Provides: tex(uptex-noEmbed.map) = %{epoch}:%{source_date}-%{release} -Provides: tex(uptex-noto-04.map) = %{epoch}:%{source_date}-%{release} -Provides: tex(uptex-noto-otc-04.map) = %{epoch}:%{source_date}-%{release} -Provides: tex(uptex-noto-otc.map) = %{epoch}:%{source_date}-%{release} -Provides: tex(uptex-noto.map) = %{epoch}:%{source_date}-%{release} -Provides: tex(uptex-sc-adobe.map) = %{epoch}:%{source_date}-%{release} -Provides: tex(uptex-sc-arphic.map) = %{epoch}:%{source_date}-%{release} -Provides: tex(uptex-sc-cjkunifonts-ttf.map) = %{epoch}:%{source_date}-%{release} -Provides: tex(uptex-sc-cjkunifonts.map) = %{epoch}:%{source_date}-%{release} -Provides: tex(uptex-sc-fandol.map) = %{epoch}:%{source_date}-%{release} -Provides: tex(uptex-sc-founder.map) = %{epoch}:%{source_date}-%{release} -Provides: tex(uptex-sc-haranoaji.map) = %{epoch}:%{source_date}-%{release} -Provides: tex(uptex-sc-ms-osx.map) = %{epoch}:%{source_date}-%{release} -Provides: tex(uptex-sc-ms.map) = %{epoch}:%{source_date}-%{release} -Provides: tex(uptex-sc-noEmbed.map) = %{epoch}:%{source_date}-%{release} -Provides: tex(uptex-sc-noto-otc.map) = %{epoch}:%{source_date}-%{release} -Provides: tex(uptex-sc-noto.map) = %{epoch}:%{source_date}-%{release} -Provides: tex(uptex-sc-sourcehan-otc.map) = %{epoch}:%{source_date}-%{release} -Provides: tex(uptex-sc-sourcehan.map) = %{epoch}:%{source_date}-%{release} -Provides: tex(uptex-sourcehan-04.map) = %{epoch}:%{source_date}-%{release} -Provides: tex(uptex-sourcehan-otc-04.map) = %{epoch}:%{source_date}-%{release} -Provides: tex(uptex-sourcehan-otc.map) = %{epoch}:%{source_date}-%{release} -Provides: tex(uptex-sourcehan.map) = %{epoch}:%{source_date}-%{release} -Provides: tex(uptex-tc-adobe.map) = %{epoch}:%{source_date}-%{release} -Provides: tex(uptex-tc-arphic.map) = %{epoch}:%{source_date}-%{release} -Provides: tex(uptex-tc-cjkunifonts-ttf.map) = %{epoch}:%{source_date}-%{release} -Provides: tex(uptex-tc-cjkunifonts.map) = %{epoch}:%{source_date}-%{release} -Provides: tex(uptex-tc-dynacomware.map) = %{epoch}:%{source_date}-%{release} -Provides: tex(uptex-tc-haranoaji.map) = %{epoch}:%{source_date}-%{release} -Provides: tex(uptex-tc-ms-win10.map) = %{epoch}:%{source_date}-%{release} -Provides: tex(uptex-tc-ms.map) = %{epoch}:%{source_date}-%{release} -Provides: tex(uptex-tc-noEmbed.map) = %{epoch}:%{source_date}-%{release} -Provides: tex(uptex-tc-noto-otc.map) = %{epoch}:%{source_date}-%{release} -Provides: tex(uptex-tc-noto.map) = %{epoch}:%{source_date}-%{release} -Provides: tex(uptex-tc-sourcehan-otc.map) = %{epoch}:%{source_date}-%{release} -Provides: tex(uptex-tc-sourcehan.map) = %{epoch}:%{source_date}-%{release} -Provides: tex(uptex-ume.map) = %{epoch}:%{source_date}-%{release} -Provides: tex(uptex-yu-osx-04.map) = %{epoch}:%{source_date}-%{release} -Provides: tex(uptex-yu-osx.map) = %{epoch}:%{source_date}-%{release} -Provides: tex(uptex-yu-win.map) = %{epoch}:%{source_date}-%{release} -Provides: tex(uptex-yu-win10.map) = %{epoch}:%{source_date}-%{release} -# shell and perl -BuildArch: noarch - -%description -n %{shortname}-ptex-fontmaps -This package provides font maps and setup tools for Japanese, -Korean, Traditional Chinese, and Simplified Chinese. It is the -successor of the jfontmaps package. The files in this package -contain font maps for dvipdfmx to make various -Japanese/Chinese/Korean fonts available for (u)ptex and related -programs and formats. - -%package -n %{shortname}-ptex2pdf -Version: svn65953 -Provides: texlive-ptex2pdf = %{epoch}:%{source_date}-%{release} -Provides: tex-ptex2pdf = %{epoch}:%{source_date}-%{release} -Provides: tex-ptex2pdf-bin = %{epoch}:%{source_date}-%{release} -Provides: texlive-ptex2pdf-bin = %{epoch}:%{source_date}-%{release} -Obsoletes: texlive-ptex2pdf-bin < 7:20170520 -Provides: tex-ptex2pdf-doc = %{epoch}:%{source_date}-%{release} -Provides: texlive-ptex2pdf-doc = %{epoch}:%{source_date}-%{release} -Obsoletes: texlive-ptex2pdf-doc < 7:20170520 -License: GPL-2.0-or-later -Summary: Convert Japanese TeX documents to PDF -Requires: texlive-base -Requires: texlive-kpathsea -# lua -BuildArch: noarch - -%description -n %{shortname}-ptex2pdf -The Lua script provides system-independent support of Japanese -typesetting engines in TeXworks. As TeXworks typesetting setup -does not allow for multistep processing, this script runs one -of the ptex-based programs (ptex, uptex, eptex, platex, -uplatex) followed by dvipdfmx. - -%package -n %{shortname}-purifyeps -Version: svn29725 -Provides: texlive-purifyeps = %{epoch}:%{source_date}-%{release} -Provides: tex-purifyeps = %{epoch}:%{source_date}-%{release} -Provides: tex-purifyeps-bin = %{epoch}:%{source_date}-%{release} -Provides: texlive-purifyeps-bin = %{epoch}:%{source_date}-%{release} -Obsoletes: texlive-purifyeps-bin < 7:20170520 -Provides: tex-purifyeps-doc = %{epoch}:%{source_date}-%{release} -Provides: texlive-purifyeps-doc = %{epoch}:%{source_date}-%{release} -Obsoletes: texlive-purifyeps-doc < 7:20170520 -License: LPPL-1.3c -Summary: Make EPS work with both LaTeX/dvips and pdfLaTeX -Requires: texlive-base -Requires: texlive-kpathsea -# perl -BuildArch: noarch - -%description -n %{shortname}-purifyeps -While pdfLaTeX has a number of nice features, its primary -shortcoming relative to standard LaTeX+dvips is that it is -unable to read ordinary Encapsulated PostScript (EPS) files, -the most common graphics format in the LaTeX world. Purifyeps -converts EPS files into a 'purified' form that can be read by -both LaTeX+dvips and pdfLaTeX. The trick is that the standard -LaTeX2e graphics packages can parse MetaPost-produced EPS -directly. Hence, purifyeps need only convert an arbitrary EPS -file into the same stylized format that MetaPost outputs. - -%package -n %{shortname}-pygmentex -Version: svn64131 -Provides: texlive-pygmentex = %{epoch}:%{source_date}-%{release} -Provides: tex-pygmentex = %{epoch}:%{source_date}-%{release} -Provides: tex-pygmentex-bin = %{epoch}:%{source_date}-%{release} -Provides: texlive-pygmentex-bin = %{epoch}:%{source_date}-%{release} -Obsoletes: texlive-pygmentex-bin < 7:20170520 -Provides: tex-pygmentex-doc = %{epoch}:%{source_date}-%{release} -Provides: texlive-pygmentex-doc = %{epoch}:%{source_date}-%{release} -Obsoletes: texlive-pythontex-doc < 7:20170520 -License: LPPL-1.3c -Summary: Use Pygments to format code listings in documents -Requires: texlive-base -Requires: texlive-kpathsea -Requires: tex(fancyvrb.sty) -Requires: tex(color.sty) -Requires: tex(ifthen.sty) -Requires: tex(caption.sty) -Requires: tex(pgfkeys.sty) -Requires: tex(efbox.sty) -Requires: tex(mdframed.sty) -Requires: tex(fvextra.sty) -Requires: tex(shellesc.sty) -Provides: tex(pygmentex.sty) = %{epoch}:%{source_date}-%{release} -# python -BuildArch: noarch - -%description -n %{shortname}-pygmentex -PygmenTeX is a Python-based LaTeX package that can be used for -typesetting code listings in a LaTeX document using Pygments. -Pygments is a generic syntax highlighter for general use in all -kinds of software such as forum systems, wikis or other -applications that need to prettify source code. - -%package -n %{shortname}-pythontex -Version: svn59514 -Provides: texlive-pythontex = %{epoch}:%{source_date}-%{release} -Provides: tex-pythontex = %{epoch}:%{source_date}-%{release} -Provides: tex-pythontex-bin = %{epoch}:%{source_date}-%{release} -Provides: texlive-pythontex-bin = %{epoch}:%{source_date}-%{release} -Obsoletes: texlive-pythontex-bin < 7:20170520 -Provides: tex-pythontex-doc = %{epoch}:%{source_date}-%{release} -Provides: texlive-pythontex-doc = %{epoch}:%{source_date}-%{release} -Obsoletes: texlive-pythontex-doc < 7:20170520 -License: LPPL-1.3c -Summary: Run Python from within a document, typesetting the results -Requires: texlive-base -Requires: texlive-kpathsea -Requires: tex(fancyvrb.sty) -Requires: tex(etex.sty) -Requires: tex(etoolbox.sty) -Requires: tex(xstring.sty) -Requires: tex(pgfopts.sty) -Requires: tex(newfloat.sty) -Requires: tex(currfile.sty) -Requires: tex(xcolor.sty) -Requires: tex(upquote.sty) -Requires: tex(fvextra.sty) -Provides: tex(pythontex.sty) = %{epoch}:%{source_date}-%{release} -# python -BuildArch: noarch - -%description -n %{shortname}-pythontex -The package allows you to enter Python code within a LaTeX -document, execute the code, and access its output in the -original document. Python code is only executed when it has -been modified, or when it meets user-specified criteria. Code -may be divided into user-defined sessions, which automatically -run in parallel. Errors and warnings are synchronized with the -LaTeX document, so that they refer to the document's line -numbers. External dependencies can be tracked, so that code is -re-executed when the data it depends on is modified. PythonTeX -also provides syntax highlighting for code in LaTeX documents -via the Pygments syntax highlighter. The package provides a -depythontex utility, that creates a copy of the document in -which all Python code has been replaced by its output. This is -useful for journal submissions, sharing documents, and -conversion to other formats. - -%package -n %{shortname}-rubik -Version: svn46791 -Provides: texlive-rubik = %{epoch}:%{source_date}-%{release} -Provides: tex-rubik = %{epoch}:%{source_date}-%{release} -Provides: tex-rubik-bin = %{epoch}:%{source_date}-%{release} -Provides: texlive-rubik-bin = %{epoch}:%{source_date}-%{release} -Obsoletes: texlive-rubik-bin < 7:20170520 -Provides: tex-rubik-doc = %{epoch}:%{source_date}-%{release} -Provides: texlive-rubik-doc = %{epoch}:%{source_date}-%{release} -Obsoletes: texlive-rubik-doc < 7:20170520 -License: LPPL-1.3c -Summary: Document Rubik cube configurations and rotation sequences -Requires: texlive-base -Requires: texlive-kpathsea -Requires: tex(fancyvrb.sty) -Requires: tex(forarray.sty) -Requires: tex(ifluatex.sty) -Requires: tex(ifthen.sty) -Requires: tex(shellesc.sty) -Requires: tex(tikz.sty) -Provides: tex(rubikcube.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(rubikrotation.sty) = %{epoch}:%{source_date}-%{release} -# perl -BuildArch: noarch - -%description -n %{shortname}-rubik -The bundle provides two packages: rubikcube provides commands -for typesetting Rubik cubes and their transformations; and -rubikrotation which can process a sequence of Rubik rotation -moves, with the help of a Perl package executed via \write18 -(shell escape) commands. - -%package -n %{shortname}-seetexk -Version: svn57972 -Provides: texlive-seetexk = %{epoch}:%{source_date}-%{release} -Provides: tex-seetexk = %{epoch}:%{source_date}-%{release} -Provides: tex-seetexk-bin = %{epoch}:%{source_date}-%{release} -Provides: texlive-seetexk-bin = %{epoch}:%{source_date}-%{release} -Obsoletes: texlive-seetexk-bin < 7:20170520 -License: MIT -Summary: Utilities for manipulating DVI files -Requires: texlive-base -Requires: texlive-kpathsea - -%description -n %{shortname}-seetexk -The collection comprises: dvibook, which will rearrange the -pages of a DVI file into 'signatures' as used when printing a -book; dviconcat, for concatenating pages of DVI file(s); -dviselect, which will select pages from one DVI file to create -a new DVI file; dvitodvi, which will rearrange the pages of a -DVI file to create a new file; and libtex, a library for -manipulating the files, from the old SeeTeX project. The -utilities are provided as C source with Imakefiles, and an MS- -DOS version of dvibook is also provided. - -%package -n %{shortname}-spix -Version: svn65050 -Provides: texlive-spix = %{epoch}:%{source_date}-%{release} -Summary: Yet another TeX compilation tool: simple, human readable, no option, no magic -License: GPL-3.0-or-later -Requires: texlive-base texlive-kpathsea - -%description -n %{shortname}-spix -SpiX offers a way to store information about the compilation -process for a tex file inside the tex file itself. Just write -the commands as comments in the tex files, and SpiX will -extract and run those commands. Everything is stored in the tex -file (so that you are not missing some piece of information -that is located somewhere else), in a human-readable format (no -need to know SpiX to understand it). - -%package -n %{shortname}-splitindex -Version: svn39766 -Provides: texlive-splitindex = %{epoch}:%{source_date}-%{release} -Provides: tex-splitindex = %{epoch}:%{source_date}-%{release} -Provides: tex-splitindex-bin = %{epoch}:%{source_date}-%{release} -Provides: texlive-splitindex-bin = %{epoch}:%{source_date}-%{release} -Obsoletes: texlive-splitindex-bin < 7:20170520 -Provides: tex-splitindex-doc = %{epoch}:%{source_date}-%{release} -Provides: texlive-splitindex-doc = %{epoch}:%{source_date}-%{release} -Obsoletes: texlive-splitindex-doc < 7:20170520 -License: LPPL-1.3c -Summary: Unlimited number of indexes -Requires: texlive-base -Requires: texlive-kpathsea -Provides: tex(splitindex.tex) = %{epoch}:%{source_date}-%{release} -Provides: tex(splitidx.sty) = %{epoch}:%{source_date}-%{release} -# perl -BuildArch: noarch - -%description -n %{shortname}-splitindex -SplitIndex consists of a LaTeX package, splitidx, and a small -program, splitindex. The package may be used to produce one -index or several indexes. Without splitindex (for example, -using the index package), the number of indexes is limited by -the number of TeX's output streams. But using the program you -may use even more than 16 indexes: splitidx outputs only a -single file \jobname.idx and the program splits that file into -several raw index files and calls your favorite index processor -for each of the files. - -%package -n %{shortname}-srcredact -Version: svn38710 -Provides: texlive-srcredact = %{epoch}:%{source_date}-%{release} -Provides: tex-srcredact = %{epoch}:%{source_date}-%{release} -Provides: tex-srcredact-bin = %{epoch}:%{source_date}-%{release} -Provides: texlive-srcredact-bin = %{epoch}:%{source_date}-%{release} -Obsoletes: texlive-srcredact-bin < 7:20170520 -Provides: tex-srcredact-doc = %{epoch}:%{source_date}-%{release} -Provides: texlive-srcredact-doc = %{epoch}:%{source_date}-%{release} -Obsoletes: texlive-srcredact-doc < 7:20170520 -License: GPL-2.0-or-later -Summary: A tool for redacting sources -Requires: texlive-base -Requires: texlive-kpathsea -# perl -BuildArch: noarch - -%description -n %{shortname}-srcredact -This package provides a tool to keep a master source, -consisting of different "chunks" intended for different -audiences. The tool allows to extract the versions intended for -different audiences and to incorporate the changes made in any -of these versions into the master document. This work was -commissioned by the Consumer Financial Protection Bureau, -United States Treasury. - -%package -n %{shortname}-sty2dtx -Version: svn64967 -Provides: texlive-sty2dtx = %{epoch}:%{source_date}-%{release} -Provides: tex-sty2dtx = %{epoch}:%{source_date}-%{release} -Provides: tex-sty2dtx-bin = %{epoch}:%{source_date}-%{release} -Provides: texlive-sty2dtx-bin = %{epoch}:%{source_date}-%{release} -Obsoletes: texlive-sty2dtx-bin < 7:20170520 -Provides: tex-sty2dtx-doc = %{epoch}:%{source_date}-%{release} -Provides: texlive-sty2dtx-doc = %{epoch}:%{source_date}-%{release} -Obsoletes: texlive-sty2dtx-doc < 7:20170520 -License: GPL-3.0-or-later -Summary: Create a .dtx file from a .sty file -Requires: texlive-base -Requires: texlive-kpathsea -# perl -BuildArch: noarch - -%description -n %{shortname}-sty2dtx -The package provides a Perl script that converts a .sty file -(LaTeX package) to .dtx format (documented LaTeX source), by -surrounding macro definitions with macro and macrocode -environments. The macro name is automatically inserted as an -argument to the macro environemnt. Code lines outside macro -definitions are wrapped only in macrocode environments. Empty -lines are removed. The script should not be thought to be fool -proof and 100% accurate but rather as a good start to the -business of making a .dtx file from an undocumented style file. -Full .dtx files are generated. A template based on the skeleton -file from 'dtxtut' is used. User level macros are added -automatically to the 'Usage' section of the .dtx file. A -corresponding .ins file can be generated as well. - -%package -n %{shortname}-svn-multi -Version: svn64967 -Provides: texlive-svn-multi = %{epoch}:%{source_date}-%{release} -Provides: tex-svn-multi = %{epoch}:%{source_date}-%{release} -Provides: tex-svn-multi-bin = %{epoch}:%{source_date}-%{release} -Provides: texlive-svn-multi-bin = %{epoch}:%{source_date}-%{release} -Obsoletes: texlive-svn-multi-bin < 7:20170520 -Provides: tex-svn-multi-doc = %{epoch}:%{source_date}-%{release} -Provides: texlive-svn-multi-doc = %{epoch}:%{source_date}-%{release} -Obsoletes: texlive-svn-multi-doc < 7:20170520 -License: LPPL-1.3c -Summary: Subversion keywords in multi-file LaTeX documents -Requires: texlive-base -Requires: texlive-kpathsea -Requires: tex(kvoptions.sty) -Requires: tex(filehook.sty) -Requires: tex(currfile.sty) -Requires: tex(graphics.sty) -Requires: tex(pgf.sty) -Provides: tex(svn-multi.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(svnkw.sty) = %{epoch}:%{source_date}-%{release} -# perl -BuildArch: noarch - -%description -n %{shortname}-svn-multi -This package lets you typeset keywords of the version control -system Subversion inside your LaTeX files anywhere you like. -Unlike the otherwise similar package svn the use of multiple -files for one LaTeX document is well supported. The package -uses the author's filehook and currfile packages. The package -interacts with an external Perl script, to retrieve information -necessary for the required output. - -%package -n %{shortname}-synctex -Version: svn66203 -Provides: texlive-synctex = %{epoch}:%{source_date}-%{release} -Provides: tex-synctex = %{epoch}:%{source_date}-%{release} -Provides: tex-synctex-bin = %{epoch}:%{source_date}-%{release} -Provides: texlive-synctex-bin = %{epoch}:%{source_date}-%{release} -Obsoletes: texlive-synctex-bin < 7:20170520 -License: LPPL-1.3c -Summary: engine-level feature synchronizing output and source -Requires: texlive-base -Requires: texlive-kpathsea - -%description -n %{shortname}-synctex -SyncTeX allows navigating between the TeX source and (usually -PDF) output, in both directions, given a SyncTeX-aware front -end. It is compiled into most engines and can be enabled with -the --synctex=1 option. It is developed as part of TeX Live. - -%package -n %{shortname}-tex -Version: svn66186 -Provides: texlive-tex = %{epoch}:%{source_date}-%{release} -Provides: tex-tex = %{epoch}:%{source_date}-%{release} -Provides: tex-tex-bin = %{epoch}:%{source_date}-%{release} -Provides: texlive-tex-bin = %{epoch}:%{source_date}-%{release} -Obsoletes: texlive-tex-bin < 7:20170520 -License: Knuth-CTAN -Summary: A sophisticated typesetting engine -Requires: texlive-base -Requires: texlive-cm -Requires: texlive-hyphen-base -Requires: texlive-knuth-lib -Requires: texlive-kpathsea -Requires: texlive-plain -Requires(post,postun): coreutils - -%description -n %{shortname}-tex -TeX is a typesetting system that incorporates a macro -processor. A TeX source document specifies or incorporates a -number of macro definitions that instruct the TeX engine how to -typeset the document. The TeX engine also uses font metrics -generated by Metafont, or by any of several other mechanisms -that incorporate fonts from other sources into an environment -suitable for TeX. TeX has been, and continues, a basis and an -inspiration for several other programs, including e-TeX and -PDFTeX. - -%package -n %{shortname}-tex4ebook -Version: svn66332 -Provides: texlive-tex4ebook = %{epoch}:%{source_date}-%{release} -Provides: tex-tex4ebook = %{epoch}:%{source_date}-%{release} -Provides: tex-tex4ebook-bin = %{epoch}:%{source_date}-%{release} -Provides: texlive-tex4ebook-bin = %{epoch}:%{source_date}-%{release} -Obsoletes: texlive-tex4ebook-bin < 7:20170520 -Provides: tex-tex4ebook-doc = %{epoch}:%{source_date}-%{release} -Provides: texlive-tex4ebook-doc = %{epoch}:%{source_date}-%{release} -Obsoletes: texlive-tex4ebook-doc < 7:20170520 -License: LPPL-1.3c -Summary: Convertor from LaTeX to ebook formats -Requires: texlive-base -Requires: texlive-kpathsea -Requires: tex(etoolbox.sty) -Requires: tex(kvoptions.sty) -Requires: tex(graphicx.sty) -Requires: texlive-make4ht -Requires: texlive-tex4ht -Provides: tex(tex4ebook.sty) = %{epoch}:%{source_date}-%{release} -# lua -BuildArch: noarch - -%description -n %{shortname}-tex4ebook -This is a bundle of lua scripts and LaTeX packages for -conversion of LaTeX files to ebook formats such as epub, mobi -and epub3. tex4ht is used as conversion engine. - -%package -n %{shortname}-tex4ht -Version: svn66530 -Provides: texlive-tex4ht = %{epoch}:%{source_date}-%{release} -Provides: tex-tex4ht = %{epoch}:%{source_date}-%{release} -Provides: tex-tex4ht-bin = %{epoch}:%{source_date}-%{release} -Provides: texlive-tex4ht-bin = %{epoch}:%{source_date}-%{release} -Obsoletes: texlive-tex4ht-bin < 7:20170520 -Provides: tex-tex4ht-doc = %{epoch}:%{source_date}-%{release} -Provides: texlive-tex4ht-doc = %{epoch}:%{source_date}-%{release} -Obsoletes: texlive-tex4ht-doc < 7:20170520 -License: LPPL-1.3c -Summary: Convert (La)TeX to HTML/XML -Requires: texlive-base -Requires: texlive-kpathsea -Provides: tex(m-tex4ht.tex) = %{epoch}:%{source_date}-%{release} -Provides: tex(tex4ht.sty) = %{epoch}:%{source_date}-%{release} - -%description -n %{shortname}-tex4ht -A converter from TeX and LaTeX to SGML-based formats such as -(X)HTML, MathML, OpenDocument, and Docbook, providing a -configurable (La)TeX-based authoring system for hypertext. -TeX4ht does not independently parse (La)TeX source (so it -avoids the difficulties encountered by many other converters, -arising from the irregularity of (La)TeX syntax). Instead, -TeX4ht uses (La)TeX itself (with myriad macro modifications) to -produce a helper DVI file that it can then process. This -technique allows TeX4ht to approach the robustness -characteristic of restricted-syntax systems such as gellmu. -Full releases of TeX4ht are no longer made, both because it is -technically difficult to do so and because their utility is -questionable. Nevertheless, TeX4ht is actively maintained. So, -current source files are held on CTAN, and updated from the -development repository frequently. Creating the myriad derived -files from them is nontrivial, and generally done with the -Makefile in development, from which the TeX4ht package in TeX -Live is updated. - -%package -n %{shortname}-texaccents -Summary: Convert composite accented characters to Unicode -Version: svn64447 -License: MIT -Requires: texlive-base texlive-kpathsea -Requires: snobol4 -# snobol4 -BuildArch: noarch - -%description -n %{shortname}-texaccents -This small utility, written in SNOBOL, converts the composition -of special characters to Unicode, e. g. \"{a} - a, \k{a} - a, -... - -%package -n %{shortname}-texcount -Version: svn49013 -Provides: texlive-texcount = %{epoch}:%{source_date}-%{release} -Provides: tex-texcount = %{epoch}:%{source_date}-%{release} -Provides: tex-texcount-bin = %{epoch}:%{source_date}-%{release} -Provides: texlive-texcount-bin = %{epoch}:%{source_date}-%{release} -Obsoletes: texlive-texcount-bin < 7:20170520 -Provides: tex-texcount-doc = %{epoch}:%{source_date}-%{release} -Provides: texlive-texcount-doc = %{epoch}:%{source_date}-%{release} -Obsoletes: texlive-texcount-doc < 7:20170520 -License: LPPL-1.3c -Summary: Count words in a LaTeX document -Requires: texlive-base -Requires: texlive-kpathsea -# perl -BuildArch: noarch - -%description -n %{shortname}-texcount -TeXcount is a Perl script that counts words in the text of -LaTeX files. It has rules for handling most of the common -macros, and can provide colour-coded output showing which parts -of the text have been counted. The package script is available -as a Web service via its home page. - -%package -n %{shortname}-texdef -Version: svn64967 -Provides: texlive-texdef = %{epoch}:%{source_date}-%{release} -Provides: tex-texdef = %{epoch}:%{source_date}-%{release} -Provides: tex-texdef-bin = %{epoch}:%{source_date}-%{release} -Provides: texlive-texdef-bin = %{epoch}:%{source_date}-%{release} -Obsoletes: texlive-texdef-bin < 7:20170520 -Provides: tex-texdef-doc = %{epoch}:%{source_date}-%{release} -Provides: texlive-texdef-doc = %{epoch}:%{source_date}-%{release} -Obsoletes: texlive-texdef-doc < 7:20170520 -License: GPL-3.0-or-later -Summary: Display the definitions of TeX commands -Requires: texlive-base -Requires: texlive-kpathsea -# perl -BuildArch: noarch - -%description -n %{shortname}-texdef -The (Perl) script displays the definition of (La)TeX command -sequences/macros. Various options allow the selection of the -used class and package files and other things which can have -influence on the definition (before/after the preamble, inside -an environment, ...). The script creates a temporary TeX file -which is then compiled using (La)TeX to find the '\meaning' of -the command sequence. The result is formatted and presented to -the user. Length or number command sequences (dimensions, -\char..., count registers, ...) are recognized and the -contained value is also shown (using \the). Special definitions -like protected macros are also recognized and the underlying -macros are shown as well. The script will show plain TeX -definitions by default. LaTeX and ConTeXt are supported, -including flavours (pdf(la)tex, lua(la)tex, xe(la)tex, ...). -The flavour can be selected using an command line option or -over the script name: latexdef will use LaTeX as default, etc. - -%package -n %{shortname}-texdiff -Version: svn29752 -Provides: texlive-texdiff = %{epoch}:%{source_date}-%{release} -Provides: tex-texdiff = %{epoch}:%{source_date}-%{release} -Provides: tex-texdiff-bin = %{epoch}:%{source_date}-%{release} -Provides: texlive-texdiff-bin = %{epoch}:%{source_date}-%{release} -Obsoletes: texlive-texdiff-bin < 7:20170520 -Provides: tex-texdiff-doc = %{epoch}:%{source_date}-%{release} -Provides: texlive-texdiff-doc = %{epoch}:%{source_date}-%{release} -Obsoletes: texlive-texdiff-doc < 7:20170520 -License: GPL-1.0-or-later -Summary: Compares two (La)TeX documents to create a merged version showing changes -Requires: texlive-base -Requires: texlive-kpathsea -# perl -BuildArch: noarch - -%description -n %{shortname}-texdiff -Texdiff compares two (La)TeX documents to create a merged version showing -changes, similar to that of 'Change Tracking' in some word processors. - -%package -n %{shortname}-texdirflatten -Version: svn55064 -Provides: texlive-texdirflatten = %{epoch}:%{source_date}-%{release} -Provides: tex-texdirflatten = %{epoch}:%{source_date}-%{release} -Provides: tex-texdirflatten-bin = %{epoch}:%{source_date}-%{release} -Provides: texlive-texdirflatten-bin = %{epoch}:%{source_date}-%{release} -Obsoletes: texlive-texdirflatten-bin < 7:20170520 -License: GPL-1.0-or-later -Summary: Collect files related to a LaTeX job in a single directory -Requires: texlive-base -Requires: texlive-kpathsea -# perl -BuildArch: noarch - -%description -n %{shortname}-texdirflatten -The Perl script parses a LaTeX file recursively, scanning all -child files, and collects details of any included and other -data files. These component files, are then all put into a -single directory (thus "flattening" the document's directory -tree). - -%package -n %{shortname}-texdoc -Version: svn66227 -Provides: texlive-texdoc = %{epoch}:%{source_date}-%{release} -Provides: tex-texdoc = %{epoch}:%{source_date}-%{release} -Provides: tex-texdoc-bin = %{epoch}:%{source_date}-%{release} -Provides: texlive-texdoc-bin = %{epoch}:%{source_date}-%{release} -Obsoletes: texlive-texdoc-bin < 7:20170520 -Provides: tex-texdoc-doc = %{epoch}:%{source_date}-%{release} -Provides: texlive-texdoc-doc = %{epoch}:%{source_date}-%{release} -Obsoletes: texlive-texdoc-doc < 7:20170520 -License: GPL-1.0-or-later -Summary: Documentation access for TeX distributions -Requires: texlive-base -Requires: texlive-kpathsea -Provides: tex(texdoc.cnf) = %{epoch}:%{source_date}-%{release} -# lua and perl -BuildArch: noarch - -%description -n %{shortname}-texdoc -texdoc is a Lua script providing easy access to the -documentation in TeX Live: PDF, DVI, plain text files, and -more. Viewing and other configuration can be extensively -customized. It is distributed with TeX Live; MiKTeX provides a -program by the same name to do the same job, but its -implementation is unrelated. - -%package -n %{shortname}-texdoctk -Version: svn62186 -Provides: texlive-texdoctk = %{epoch}:%{source_date}-%{release} -Provides: tex-texdoctk = %{epoch}:%{source_date}-%{release} -Provides: tex-texdoctk-bin = %{epoch}:%{source_date}-%{release} -Provides: tex-texdoctk-doc = %{epoch}:%{source_date}-%{release} -Provides: texlive-texdoctk-bin = %{epoch}:%{source_date}-%{release} -Provides: texlive-texdoctk-doc = %{epoch}:%{source_date}-%{release} -License: GPL-1.0-or-later -Summary: Easy access to package documentation -Requires: texlive-base -Requires: texlive-kpathsea -Provides: tex(texdoctk.dat) = %{epoch}:%{source_date}-%{release} -# perl -BuildArch: noarch - -%description -n %{shortname}-texdoctk -A Perl/Tk-based GUI for easy access to package documentation -for TeX on Unix platforms; the databases it uses are based on -the texmf/doc subtrees of teTeX, but database files for local -configurations with modified/extended directories can be -derived from them. Note that texdoctk is not a viewer itself, -but an interface for finding documentation files and opening -them with the appropriate viewer; so it relies on appropriate -programs to be installed on the system. However, the choice of -these programs can be configured by the sysadmin or user. Now -only distributed as part of TeX Live, which includes a Windows -executable. - -%package -n %{shortname}-texfot -Version: svn65545 -Provides: texlive-texfot = %{epoch}:%{source_date}-%{release} -Provides: tex-texfot = %{epoch}:%{source_date}-%{release} -Provides: tex-texfot-bin = %{epoch}:%{source_date}-%{release} -Provides: texlive-texfot-bin = %{epoch}:%{source_date}-%{release} -Obsoletes: texlive-texfot-bin < 7:20170520 -Provides: tex-texfot-doc = %{epoch}:%{source_date}-%{release} -Provides: texlive-texfot-doc = %{epoch}:%{source_date}-%{release} -Obsoletes: texlive-texfot-doc < 7:20170520 -License: LicenseRef-Fedora-Public-Domain -Summary: Filter clutter from the output of a TeX run -Requires: texlive-base -Requires: texlive-kpathsea -# perl -BuildArch: noarch - -%description -n %{shortname}-texfot -The package provides a small Perl script to filter the online -output from a TeX run, attempting to show only those messages -which probably deserve some change in the source. The TeX -invocation itself need not change. - -%package -n %{shortname}-texliveonfly -Version: svn55777 -Provides: texlive-texliveonfly = %{epoch}:%{source_date}-%{release} -Provides: tex-texliveonfly = %{epoch}:%{source_date}-%{release} -Provides: tex-texliveonfly-bin = %{epoch}:%{source_date}-%{release} -Provides: texlive-texliveonfly-bin = %{epoch}:%{source_date}-%{release} -Obsoletes: texlive-texliveonfly-bin < 7:20170520 -Provides: tex-texliveonfly-doc = %{epoch}:%{source_date}-%{release} -Provides: texlive-texliveonfly-doc = %{epoch}:%{source_date}-%{release} -Obsoletes: texlive-texliveonfly-doc < 7:20170520 -License: GPL-3.0-or-later -Summary: On-the-fly download of missing TeX live packages -Requires: texlive-base -Requires: texlive-kpathsea -# python -BuildArch: noarch - -%description -n %{shortname}-texliveonfly -The package provides a script that performs 'on the fly' -downloads of missing packages, while a document is being -compiled. (This feature is already available in the MikTeX -distribution for Windows machines.) To use the script, replace -your (LaTeX) compilation command with texliveonfly.py file.tex -(default options are --engine=lualatex and --arguments="- -synctex=1 -interaction=nonstopmode", which may all be changed). -The script is designed to work on Linux distributions. - -%package -n %{shortname}-texlive-en -Version: svn66572 -Provides: texlive-texlive-en = %{epoch}:%{source_date}-%{release} -Provides: tex-texlive-en = %{epoch}:%{source_date}-%{release} -Provides: tex-texlive-en-doc = %{epoch}:%{source_date}-%{release} -Provides: texlive-texlive-en-doc = %{epoch}:%{source_date}-%{release} -Obsoletes: texlive-texlive-en-doc < 7:20170520 -License: LPPL-1.3c -Summary: TeX Live manual (English) -Requires: texlive-base -Requires: texlive-kpathsea -BuildArch: noarch - -%description -n %{shortname}-texlive-en -TeX Live manual (English). - -%package -n %{shortname}-texlive-scripts -Version: svn66584 -Provides: texlive-texlive-scripts = %{epoch}:%{source_date}-%{release} -Provides: tex-texlive-scripts = %{epoch}:%{source_date}-%{release} -Provides: texlive-texlive-scripts-bin = %{epoch}:%{source_date}-%{release} -Obsoletes: texlive-texlive-scripts-bin < 7:20170520 -License: LPPL-1.3c -Summary: TeX Live infrastructure programs -Requires: texlive-base -Requires: texlive-kpathsea = %{epoch}:%{source_date}-%{release} -Requires: texlive-texlive.infra -Requires: texlive-gsftopk -Provides: tex(09fbbfac.enc) = %{epoch}:%{source_date}-%{release} -Provides: tex(0ef0afca.enc) = %{epoch}:%{source_date}-%{release} -Provides: tex(10037936.enc) = %{epoch}:%{source_date}-%{release} -Provides: tex(1b6d048e.enc) = %{epoch}:%{source_date}-%{release} -Provides: tex(71414f53.enc) = %{epoch}:%{source_date}-%{release} -Provides: tex(74afc74c.enc) = %{epoch}:%{source_date}-%{release} -Provides: tex(aae443f0.enc) = %{epoch}:%{source_date}-%{release} -Provides: tex(b6a4d7c7.enc) = %{epoch}:%{source_date}-%{release} -Provides: tex(base14flags.tex) = %{epoch}:%{source_date}-%{release} -Provides: tex(bbad153f.enc) = %{epoch}:%{source_date}-%{release} -Provides: tex(d9b29452.enc) = %{epoch}:%{source_date}-%{release} -Provides: tex(dvipdfm35.map) = %{epoch}:%{source_date}-%{release} -Provides: tex(dvips35.map) = %{epoch}:%{source_date}-%{release} -Provides: tex(f7b6d320.enc) = %{epoch}:%{source_date}-%{release} -Provides: tex(mathpple.map) = %{epoch}:%{source_date}-%{release} -Provides: tex(mtex.enc) = %{epoch}:%{source_date}-%{release} -Provides: tex(pdftex35.map) = %{epoch}:%{source_date}-%{release} -Provides: tex(ps2pk35.map) = %{epoch}:%{source_date}-%{release} -Provides: texlive-tetex = %{epoch}:%{source_date}-%{release} -Obsoletes: texlive-tetex < 7:20200327 -# perl -BuildArch: noarch - -%description -n %{shortname}-texlive-scripts -Includes install-tl, tl-portable, rungs, etc.; not needed for -tlmgr to run but still ours. Not included in tlcritical. - -%package -n %{shortname}-texlive-scripts-extra -Version: svn62517 -Provides: texlive-texlive-scripts-extra = %{epoch}:%{source_date}-%{release} -Provides: tex-texlive-scripts-extra = %{epoch}:%{source_date}-%{release} -Provides: texlive-texlive-scripts-extra-bin = %{epoch}:%{source_date}-%{release} -License: GPL-1.0-or-later AND LPPL-1.3c AND LicenseRef-Fedora-Public-Domain -Summary: TeX Live scripts -Requires: texlive-base -Requires: texlive-kpathsea -Requires: texlive-texlive.infra -Obsoletes: texlive-texconfig < 7:20200327 -Obsoletes: texlive-pstools < 7:20200327 -Obsoletes: texlive-pdftools < 7:20200327 -# perl and shell -BuildArch: noarch - -%description -n %{shortname}-texlive-scripts-extra -Miscellaneous scripts maintained as part of TeX Live, but not important for -the infrastructure. Thus, this is not part of scheme-infraonly or tlcritical, -just a normal package. - -%package -n %{shortname}-texlive.infra -Version: svn66512 -Provides: texlive-texlive.infra = %{epoch}:%{source_date}-%{release} -Provides: tex-texlive.infra = %{epoch}:%{source_date}-%{release} -Provides: tex-texlive.infra-bin = %{epoch}:%{source_date}-%{release} -Provides: texlive-texlive.infra-bin = %{epoch}:%{source_date}-%{release} -Obsoletes: texlive-texlive.infra-bin < 7:20170520 -Provides: tex-texlive.infra-doc = %{epoch}:%{source_date}-%{release} -Provides: texlive-texlive.infra-doc = %{epoch}:%{source_date}-%{release} -Obsoletes: texlive-texlive.infra-doc < 7:20170520 -License: LPPL-1.3c -Summary: Basic TeX Live infrastructure -Requires: texlive-base -Requires: texlive-kpathsea -Provides: tex(fmtutil-hdr.cnf) = %{epoch}:%{source_date}-%{release} -Provides: tex(updmap-hdr.cfg) = %{epoch}:%{source_date}-%{release} -# perl -BuildArch: noarch - -%description -n %{shortname}-texlive.infra -This package contains the files needed to get tlmgr running: -perl modules, xz binaries, plus (sometimes) tar, wget, lz4, and -various other support files. This package also represents the -tlcritical recovery scripts. The standalone installer is close, -but not the same; it's defined in 00texlive.installer. - -%package -n %{shortname}-texloganalyser -Version: svn54526 -Provides: texlive-texloganalyser = %{epoch}:%{source_date}-%{release} -Provides: tex-texloganalyser = %{epoch}:%{source_date}-%{release} -Provides: tex-texloganalyser-bin = %{epoch}:%{source_date}-%{release} -Provides: texlive-texloganalyser-bin = %{epoch}:%{source_date}-%{release} -Obsoletes: texlive-texloganalyser-bin < 7:20170520 -Provides: tex-texloganalyser-doc = %{epoch}:%{source_date}-%{release} -Provides: texlive-texloganalyser-doc = %{epoch}:%{source_date}-%{release} -Obsoletes: texlive-texloganalyser-doc < 7:20170520 -License: BSD-3-Clause -Summary: Analyse TeX logs -Requires: texlive-base -Requires: texlive-kpathsea -# perl -BuildArch: noarch - -%description -n %{shortname}-texloganalyser -The perl script allows the user to extract (and display) -elements of the log file. - -%package -n %{shortname}-texlogfilter -Version: svn62792 -Provides: texlive-texlogfilter = %{epoch}:%{source_date}-%{release} -Provides: texlive-texlogfilter-bin = %{epoch}:%{source_date}-%{release} -License: LPPL-1.3c -Summary: Filter LaTeX engines output or log file -Requires: texlive-base, texlive-kpathsea -# perl -BuildArch: noarch - -%description -n %{shortname}-texlogfilter -texlogfilter is a Perl script designed to filter LaTeX engines output or log -file (LaTeX, pdfLaTeX, LuaLaTeX or XeLaTeX). It reduces the LaTeX output or log -to keep only warnings and errors. The result is colorised. Options allow to -mask specific warnings, such as box or references/citations warnings. It's also -possible to add custom filter patterns. - -%package -n %{shortname}-texlogsieve -Version: svn64301 -Provides: texlive-texlogsieve = %{epoch}:%{source_date}-%{release} -Provides: texlive-texlogsieve-bin = %{epoch}:%{source_date}-%{release} -License: GPL-3.0-or-later -Summary: Filter and summarize LaTeX log files -Requires: texlive-base, texlive-kpathsea -# lua -BuildArch: noarch - -%description -n %{shortname}-texlogsieve -texlogsieve reads a LaTeX log file (or the standard input if no file is -specified), filters out less relevant messages, and displays a summary report. -It is a texlua script, similar in spirit to tools such as texfot, -texloganalyser, rubber-info, textlog_extract, texlogparser, and others. -Highlights: Two reports: the most important messages from the log file followed -by a summary of repeated messages, undefined references etc.; The program goes -to great lengths to correctly handle TeX line wrapping and does a much better -job at that than existing tools; Multiline messages are treated as a single -entity; Several options to control which messages should be filtered out; No -messages are accidentally removed; The summary report is currently simple, but -useful. - -%package -n %{shortname}-texosquery -Version: svn53676 -Provides: texlive-texosquery = %{epoch}:%{source_date}-%{release} -Provides: tex-texosquery = %{epoch}:%{source_date}-%{release} -Provides: tex-texosquery-bin = %{epoch}:%{source_date}-%{release} -Provides: texlive-texosquery-bin = %{epoch}:%{source_date}-%{release} -Obsoletes: texlive-texosquery-bin < 7:20170520 -Provides: tex-texosquery-doc = %{epoch}:%{source_date}-%{release} -Provides: texlive-texosquery-doc = %{epoch}:%{source_date}-%{release} -Obsoletes: texlive-texosquery-doc < 7:20170520 -License: LPPL-1.3c -Summary: Cross-platform Java application to query OS information -Requires: texlive-base -Requires: texlive-kpathsea -Requires: java-headless -# shell -BuildArch: noarch - -%description -n %{shortname}-texosquery -This package provides a cross-platform Java application to -query OS information designed for use in TeX's shell escape -mechanism. The application can query the following: locale and -codeset current working directory user home directory temporary -directory OS name, arch and version Current date and time in -PDF format (for TeX formats that don't provide -\pdfcreationdate) Date-time stamp of a file in PDF format (for -TeX formats that don't provide \pdffilemoddate) Size of a file -in bytes (for TeX formats that don't provide \pdffilesize) -Contents of a directory (captured as a list) Directory contents -filtered by regular expression (captured as a list) URI of a -file Canonical path of a file All paths use a forward slash as -directory divider so results can be used, for example, in -commands like \includegraphics. There are files provided for -easy access in TeX documents: texosquery.tex: generic TeX code -texosquery.sty: LaTeX package This provides commands to run -texosquery using TeX's shell escape mechanism and capture the -result in a control sequence. The category code of most of -TeX's default special characters (and some other potentially -problematic characters) is temporarily changed to 12 while -reading the result. - -%package -n %{shortname}-texplate -Version: svn61719 -Provides: texlive-texplate = %{epoch}:%{source_date}-%{release} -Provides: tex-texplate = %{epoch}:%{source_date}-%{release} -Provides: tex-texplate-bin = %{epoch}:%{source_date}-%{release} -Provides: texlive-texplate-bin = %{epoch}:%{source_date}-%{release} -License: BSD-3-Clause -Summary: A tool for creating document structures based on templates -Requires: texlive-base -Requires: texlive-kpathsea -# So much java -BuildArch: noarch - -%description -n %{shortname}-texplate -TeXplate is a tool for creating document structures based on -templates. The application name is a word play on TeX and -template, so the purpose seems quite obvious: we want to -provide an easy and straightforward framework for reducing the -typical code boilerplate when writing TeX documents. Also note -that one can easily extrapolate the use beyond articles and -theses: the application is powerful enough to generate any -text-based structure, given that a corresponding template -exists. - -%package -n %{shortname}-texsis -Version: svn45678 -Provides: texlive-texsis = %{epoch}:%{source_date}-%{release} -Provides: tex-texsis = %{epoch}:%{source_date}-%{release} -Provides: tex-texsis-bin = %{epoch}:%{source_date}-%{release} -Provides: texlive-texsis-bin = %{epoch}:%{source_date}-%{release} -Obsoletes: texlive-texsis-bin < 7:20170520 -Provides: tex-texsis-doc = %{epoch}:%{source_date}-%{release} -Provides: texlive-texsis-doc = %{epoch}:%{source_date}-%{release} -Obsoletes: texlive-texsis-doc < 7:20170520 -License: LPPL-1.3c -Summary: Plain TeX macros for Physicists -Requires: texlive-base -Requires: texlive-kpathsea -Requires: texlive-pdftex -Requires: texlive-tex -Requires: texlive-cm -Requires: texlive-hyphen-base -Requires: texlive-knuth-lib -Requires: texlive-plain -Requires(post,postun): coreutils -Provides: tex(TXSconts.tex) = %{epoch}:%{source_date}-%{release} -Provides: tex(TXSdcol.tex) = %{epoch}:%{source_date}-%{release} -Provides: tex(TXSenvmt.tex) = %{epoch}:%{source_date}-%{release} -Provides: tex(TXSeqns.tex) = %{epoch}:%{source_date}-%{release} -Provides: tex(TXSfigs.tex) = %{epoch}:%{source_date}-%{release} -Provides: tex(TXSfmts.tex) = %{epoch}:%{source_date}-%{release} -Provides: tex(TXSfonts.tex) = %{epoch}:%{source_date}-%{release} -Provides: tex(TXShead.tex) = %{epoch}:%{source_date}-%{release} -Provides: tex(TXSinit.tex) = %{epoch}:%{source_date}-%{release} -Provides: tex(TXSletr.tex) = %{epoch}:%{source_date}-%{release} -Provides: tex(TXSmacs.tex) = %{epoch}:%{source_date}-%{release} -Provides: tex(TXSmemo.tex) = %{epoch}:%{source_date}-%{release} -Provides: tex(TXSprns.tex) = %{epoch}:%{source_date}-%{release} -Provides: tex(TXSrefs.tex) = %{epoch}:%{source_date}-%{release} -Provides: tex(TXSruled.tex) = %{epoch}:%{source_date}-%{release} -Provides: tex(TXSsects.tex) = %{epoch}:%{source_date}-%{release} -Provides: tex(TXSsite.tex) = %{epoch}:%{source_date}-%{release} -Provides: tex(TXSsymb.tex) = %{epoch}:%{source_date}-%{release} -Provides: tex(TXStags.tex) = %{epoch}:%{source_date}-%{release} -Provides: tex(TXStitle.tex) = %{epoch}:%{source_date}-%{release} -Provides: tex(texsis.tex) = %{epoch}:%{source_date}-%{release} -# symlinks only -BuildArch: noarch - -%description -n %{shortname}-texsis -TeXsis is a TeX macro package which provides useful features -for typesetting research papers and related documents. For -example, it includes support specifically for: Automatic -numbering of equations, figures, tables and references; -Simplified control of type sizes, line spacing, footnotes, -running headlines and footlines, and tables of contents, -figures and tables; Specialized document formats for research -papers, preprints and ``e-prints,'' conference proceedings, -theses, books, referee reports, letters, and memoranda; -Simplified means of constructing an index for a book or thesis; -Easy to use double column formatting; Specialized environments -for lists, theorems and proofs, centered or non-justified text, -and listing computer code; Specialized macros for easily -constructing ruled tables. TeXsis was originally developed for -physicists, but others may also find it useful. It is -completely compatible with Plain TeX. - -%package -n %{shortname}-texware -Version: svn66186 -Provides: texlive-texware = %{epoch}:%{source_date}-%{release} -Provides: tex-texware = %{epoch}:%{source_date}-%{release} -Provides: tex-texware-bin = %{epoch}:%{source_date}-%{release} -Provides: texlive-texware-bin = %{epoch}:%{source_date}-%{release} -Obsoletes: texlive-texware-bin < 7:20170520 -License: Knuth-CTAN -Summary: Utility programs for use with TeX -Requires: texlive-base -Requires: texlive-kpathsea - -%description -n %{shortname}-texware -Basic utitility programs, comprising: - dvitype, which converts -a TeX output (DVI) file to a plain text file (see also the DVI -Text Language suite); - pooltype, which converts a TeX-suite -program's "pool" (string) file into human-readable form; and - -tftopl and pltotf, which convert TeX Font Metric (TFM) file to -human readable Property List (PL) files and vice versa. - -%package -n %{shortname}-thumbpdf -Version: svn62518 -Provides: texlive-thumbpdf = %{epoch}:%{source_date}-%{release} -Provides: tex-thumbpdf = %{epoch}:%{source_date}-%{release} -Provides: tex-thumbpdf-bin = %{epoch}:%{source_date}-%{release} -Provides: texlive-thumbpdf-bin = %{epoch}:%{source_date}-%{release} -Obsoletes: texlive-thumbpdf-bin < 7:20170520 -Provides: tex-thumbpdf-doc = %{epoch}:%{source_date}-%{release} -Provides: texlive-thumbpdf-doc = %{epoch}:%{source_date}-%{release} -Obsoletes: texlive-thumbpdf-doc < 7:20170520 -License: LPPL-1.3c -Summary: Thumbnails for pdfTeX and dvips/ps2pdf -Requires: texlive-base -Requires: texlive-kpathsea -Requires: tex(ifluatex.sty) -Requires: ghostscript -Provides: tex(thumbpdf.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(thumbpdf.tex) = %{epoch}:%{source_date}-%{release} -# perl -BuildArch: noarch - -%description -n %{shortname}-thumbpdf -A Perl script that provides support for thumbnails in pdfTeX -and dvips/ps2pdf. The script uses ghostscript to generate the -thumbnails which get represented in a TeX readable file that is -read by the package thumbpdf.sty to automatically include the -thumbnails. This arrangement works with both plain TeX and -LaTeX. - -%package -n %{shortname}-tie -Version: svn66186 -Provides: texlive-tie = %{epoch}:%{source_date}-%{release} -Provides: tex-tie = %{epoch}:%{source_date}-%{release} -Provides: tex-tie-bin = %{epoch}:%{source_date}-%{release} -Provides: texlive-tie-bin = %{epoch}:%{source_date}-%{release} -Obsoletes: texlive-tie-bin < 7:20170520 -License: Latex2e -Summary: Allow multiple web change files -Requires: texlive-base -Requires: texlive-kpathsea - -%description -n %{shortname}-tie -Tie was originally developed to allow web programmers to apply -more than one change file to their source. The program may also -be used to create a new version of a .web file that -incorporates existing changes. - -%package -n %{shortname}-tikztosvg -Version: svn60289 -Provides: texlive-tikztosvg = %{epoch}:%{source_date}-%{release} -Summary: A utility for rendering TikZ diagrams to SVG -License: GPL-3.0-only -Requires: texlive-base texlive-kpathsea - -%description -n %{shortname}-tikztosvg -This package provides a shell script that calls XeTeX and -pdf2svg to convert TikZ environments to SVG files. - -%package -n %{shortname}-tpic2pdftex -Version: svn52851 -Provides: texlive-tpic2pdftex = %{epoch}:%{source_date}-%{release} -Provides: tex-tpic2pdftex = %{epoch}:%{source_date}-%{release} -Provides: tex-tpic2pdftex-bin = %{epoch}:%{source_date}-%{release} -Provides: texlive-tpic2pdftex-bin = %{epoch}:%{source_date}-%{release} -Obsoletes: texlive-tpic2pdftex-bin < 7:20170520 -Provides: tex-tpic2pdftex-doc = %{epoch}:%{source_date}-%{release} -Provides: texlive-tpic2pdftex-doc = %{epoch}:%{source_date}-%{release} -Obsoletes: texlive-tpic2pdftex-doc < 7:20170520 -License: GPL-1.0-or-later -Summary: Use tpic commands in PDFTeX -Requires: texlive-base -Requires: texlive-kpathsea -# awk -BuildArch: noarch - -%description -n %{shortname}-tpic2pdftex -The AWK script converts pic language, embedded inline -(delimited by .PS and .PE markers), to \pdfliteral commands. - -%package -n %{shortname}-ttfutils -Version: svn66186 -Provides: texlive-ttfutils = %{epoch}:%{source_date}-%{release} -Provides: tex-ttfutils = %{epoch}:%{source_date}-%{release} -Provides: tex-ttfutils-bin = %{epoch}:%{source_date}-%{release} -Provides: texlive-ttfutils-bin = %{epoch}:%{source_date}-%{release} -Obsoletes: texlive-ttfutils-bin < 7:20170520 -Provides: tex-ttfutils-doc = %{epoch}:%{source_date}-%{release} -Provides: texlive-ttfutils-doc = %{epoch}:%{source_date}-%{release} -Obsoletes: texlive-ttfutils-doc < 7:20170520 -License: LPPL-1.3c -Summary: convert TrueType to TFM and PK fonts -Requires: texlive-base -Requires: texlive-kpathsea -Provides: tex(T1-WGL4.enc) = %{epoch}:%{source_date}-%{release} -Provides: tex(ttf2pk.cfg) = %{epoch}:%{source_date}-%{release} - -%description -n %{shortname}-ttfutils -Utilities: ttf2afm ttf2pk ttf2tfm ttfdump. FreeType is the -underlying library. - -%package -n %{shortname}-typeoutfileinfo -Version: svn29349 -Provides: texlive-typeoutfileinfo = %{epoch}:%{source_date}-%{release} -Provides: tex-typeoutfileinfo = %{epoch}:%{source_date}-%{release} -Provides: tex-typeoutfileinfo-bin = %{epoch}:%{source_date}-%{release} -Provides: texlive-typeoutfileinfo-bin = %{epoch}:%{source_date}-%{release} -Obsoletes: texlive-typeoutfileinfo-bin < 7:20170520 -Provides: tex-typeoutfileinfo-doc = %{epoch}:%{source_date}-%{release} -Provides: texlive-typeoutfileinfo-doc = %{epoch}:%{source_date}-%{release} -Obsoletes: texlive-typeoutfileinfo-doc < 7:20170520 -License: LPPL-1.3c -Summary: Display class/package/file information -Requires: texlive-base -Requires: texlive-kpathsea -Requires: tex(readprov.sty) -# shell -BuildArch: noarch - -%description -n %{shortname}-typeoutfileinfo -The package provides a minimalist shell script, for Unix -systems, that displays the information content in a -\ProvidesFile, \ProvidesPackage or \ProvidesClass command in a -LaTeX source file. The package requires that the readprov -package is available. - -%package -n %{shortname}-ulqda -Version: svn26313 -Provides: texlive-ulqda = %{epoch}:%{source_date}-%{release} -Provides: tex-ulqda = %{epoch}:%{source_date}-%{release} -Provides: tex-ulqda-bin = %{epoch}:%{source_date}-%{release} -Provides: texlive-ulqda-bin = %{epoch}:%{source_date}-%{release} -Obsoletes: texlive-ulqda-bin < 7:20170520 -Provides: tex-ulqda-doc = %{epoch}:%{source_date}-%{release} -Provides: texlive-ulqda-doc = %{epoch}:%{source_date}-%{release} -Obsoletes: texlive-ulqda-doc < 7:20170520 -License: LPPL-1.3c -Summary: Support of Qualitative Data Analysis -Requires: texlive-base -Requires: texlive-kpathsea -Requires: tex(multicol.sty) -Requires: tex(tikz.sty) -Requires: tex(dot2texi.sty) -Requires: tex(soul.sty) -Provides: tex(ulqda.sty) = %{epoch}:%{source_date}-%{release} -# perl -BuildArch: noarch - -%description -n %{shortname}-ulqda -The package is for use in Qualitative Data Analysis research. -It supports the integration of Qualitative Data Analysis (QDA) -research tasks, specifically for Grounded Theory, into the -LaTeX work flow. It assists in the analysis of textual data -such as interview transcripts and field notes by providing the -LaTeX user with macros which are used to markup textual -information -- for example, in-depth interviews. - -%package -n %{shortname}-upmendex -Summary: Multilingual index processor -Version: svn66381 -License: BSD-3-Clause -Requires: texlive-base texlive-kpathsea -Provides: tex-upmendex = %{epoch}:%{source_date}-%{release} -Provides: tex-upmendex-bin = %{epoch}:%{source_date}-%{release} -Provides: texlive-upmendex-bin = %{epoch}:%{source_date}-%{release} - -%description -n %{shortname}-upmendex -The package is a multilingual index processor with the -following features: Mostly compatible with makeindex and upper -compatible with mendex. Supports UTF-8 and works with upLaTeX, -XeLaTeX and LuaLaTeX. Supports Latin (including non-English), -Greek, Cyrillic, Korean Hangul and Chinese Han (Hanzi -ideographs) scripts, as well as Japanese Kana. Supports -Devanagari, Thai, Arabic and Hebrew scripts (experimental). -Supports four kinds of sort orders (Pinyin, Radical-Stroke, -Stroke and Zhuyin) for Chinese Han scripts (Hanzi ideographs). -Applies International Components for Unicode (ICU) for sorting -process. - -%package -n %{shortname}-uptex -Version: svn66381 -Provides: texlive-uptex = %{epoch}:%{source_date}-%{release} -Provides: tex-uptex = %{epoch}:%{source_date}-%{release} -Provides: tex-uptex-bin = %{epoch}:%{source_date}-%{release} -Provides: tex-uptex-doc = %{epoch}:%{source_date}-%{release} -Provides: tex-uplatex = %{epoch}:%{source_date}-%{release} -Provides: tex-uplatex-bin = %{epoch}:%{source_date}-%{release} -Provides: tex-uplatex-doc = %{epoch}:%{source_date}-%{release} -Provides: texlive-uptex-bin = %{epoch}:%{source_date}-%{release} -Obsoletes: texlive-uptex-bin < 7:20170520 -Provides: texlive-uplatex-bin = %{epoch}:%{source_date}-%{release} -Obsoletes: texlive-uplatex-bin < 7:20170520 -Provides: texlive-uplatex-doc = %{epoch}:%{source_date}-%{release} -Obsoletes: texlive-uplatex-doc < 7:20170520 -Provides: texlive-uptex-doc = %{epoch}:%{source_date}-%{release} -Obsoletes: texlive-uptex-doc < 7:20170520 -License: BSD-3-Clause -Summary: Unicode version of pTeX -Requires: texlive-base -Requires: texlive-cm -Requires: texlive-convbkmk -Requires: texlive-etex -Requires: texlive-hyphen-base -Requires: texlive-hyph-utf8 -Requires: texlive-ipaex -Requires: texlive-japanese-otf -Requires: texlive-knuth-lib -Requires: texlive-kpathsea -Requires: texlive-plain -Requires: texlive-ptex-base -Requires: texlive-uptex-base -Requires: texlive-uptex-fonts - -%description -n %{shortname}-uptex -upTeX is an extension of pTeX, using UTF-8 input and producing -UTF-8 output. It was originally designed to improve support for -Japanese, but is also useful for documents in Chinese and -Korean. It can process Chinese simplified, Chinese traditional, -Japanese, and Korean simultaneously, and can also process -original LaTeX with \inputenc{utf8} and Babel -(Latin/Cyrillic/Greek etc.) by switching its \kcatcode tables. - -%package -n %{shortname}-urlbst -Version: svn65694 -Provides: texlive-urlbst = %{epoch}:%{source_date}-%{release} -Provides: tex-urlbst = %{epoch}:%{source_date}-%{release} -Provides: tex-urlbst-bin = %{epoch}:%{source_date}-%{release} -Provides: texlive-urlbst-bin = %{epoch}:%{source_date}-%{release} -Obsoletes: texlive-urlbst-bin < 7:20170520 -Provides: tex-urlbst-doc = %{epoch}:%{source_date}-%{release} -Provides: texlive-urlbst-doc = %{epoch}:%{source_date}-%{release} -Obsoletes: texlive-urlbst-doc < 7:20170520 -License: GPL-1.0-or-later -Summary: Web support for BibTeX -Requires: texlive-base -Requires: texlive-kpathsea -# perl -BuildArch: noarch - -%description -n %{shortname}-urlbst -Supports a new BibTeX 'webpage' entry type and 'url', -'lastchecked', and 'eprint' and 'DOI' fields. The Perl script -urlbst can be used to add this support to an arbitrary .bst -file which has a reasonably conventional structure. The result -is meant to be robust rather than pretty. - -%package -n %{shortname}-velthuis -Version: svn66186 -Provides: texlive-velthuis = %{epoch}:%{source_date}-%{release} -Provides: tex-velthuis = %{epoch}:%{source_date}-%{release} -Provides: tex-velthuis-bin = %{epoch}:%{source_date}-%{release} -Provides: texlive-velthuis-bin = %{epoch}:%{source_date}-%{release} -Obsoletes: texlive-velthuis-bin < 7:20170520 -Provides: tex-velthuis-doc = %{epoch}:%{source_date}-%{release} -Provides: texlive-velthuis-doc = %{epoch}:%{source_date}-%{release} -Obsoletes: texlive-velthuis-doc < 7:20170520 -Provides: texlive-devnag = %{epoch}:%{source_date}-%{release} -Obsoletes: texlive-devnag < 7:20170520 -Provides: texlive-devnag-bin = %{epoch}:%{source_date}-%{release} -Obsoletes: texlive-devnag-bin < 7:20170520 -License: GPL-1.0-or-later -Summary: Typeset Devanagari -Requires: texlive-base -Requires: texlive-kpathsea -Requires: tex-xetex-devanagari -Requires: tex(hindicaptions.sty) -Requires: tex(cite.sty) -Requires: tex(ifxetex.sty) -Provides: tex(dev.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(dev209.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(devanagari.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(dnmacs.tex) = %{epoch}:%{source_date}-%{release} -Provides: tex(dvng.map) = %{epoch}:%{source_date}-%{release} -Provides: tex(dvngcite.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(hindi.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(hindicaptions.sty) = %{epoch}:%{source_date}-%{release} -Provides: tex(udn.fd) = %{epoch}:%{source_date}-%{release} -Provides: tex(udnb.fd) = %{epoch}:%{source_date}-%{release} -Provides: tex(udnc.fd) = %{epoch}:%{source_date}-%{release} -Provides: tex(udnn.fd) = %{epoch}:%{source_date}-%{release} -Provides: tex(udnp.fd) = %{epoch}:%{source_date}-%{release} -Provides: tex(udnpb.fd) = %{epoch}:%{source_date}-%{release} -Provides: tex(udnpc.fd) = %{epoch}:%{source_date}-%{release} -Provides: tex(udnpn.fd) = %{epoch}:%{source_date}-%{release} - -%description -n %{shortname}-velthuis -Frans Velthuis' preprocessor for Devanagari text, and fonts and -macros to use when typesetting the processed text. The macros -provide features that support Sanskrit, Hindi, Marathi, Nepali, -and other languages typically printed in the Devanagari script. -The package provides fonts, in both Metafont and Type 1 -formats. Users of modern TeX distributions may care to try the -XeTeX based package, which is far preferable for users who can -type Unicode text. - -%package -n %{shortname}-vlna -Version: svn66186 -Provides: texlive-vlna = %{epoch}:%{source_date}-%{release} -Provides: tex-vlna = %{epoch}:%{source_date}-%{release} -Provides: tex-vlna-bin = %{epoch}:%{source_date}-%{release} -Provides: texlive-vlna-bin = %{epoch}:%{source_date}-%{release} -Obsoletes: texlive-vlna-bin < 7:20170520 -Provides: tex-vlna-doc = %{epoch}:%{source_date}-%{release} -Provides: texlive-vlna-doc = %{epoch}:%{source_date}-%{release} -Obsoletes: texlive-vlna-doc < 7:20170520 -License: LPPL-1.3c -Summary: Adds ~ after non-syllabic preposition, for Czech/Slovak -Requires: texlive-base -Requires: texlive-kpathsea - -%description -n %{shortname}-vlna -Preprocessor for TeX source implementing the Czech/Slovak -typographical rule forbidding a non-syllabic preposition alone -at the end of a line. - -%package -n %{shortname}-vpe -Version: svn26039 -Provides: texlive-vpe = %{epoch}:%{source_date}-%{release} -Provides: tex-vpe = %{epoch}:%{source_date}-%{release} -Provides: tex-vpe-bin = %{epoch}:%{source_date}-%{release} -Provides: texlive-vpe-bin = %{epoch}:%{source_date}-%{release} -Obsoletes: texlive-vpe-bin < 7:20170520 -Provides: tex-vpe-doc = %{epoch}:%{source_date}-%{release} -Provides: texlive-vpe-doc = %{epoch}:%{source_date}-%{release} -Obsoletes: texlive-vpe-doc < 7:20170520 -License: LPPL-1.3c -Summary: Source specials for PDF output -Requires: texlive-base -Requires: texlive-kpathsea -Requires: tex(keyval.sty) -Requires: tex(color.sty) -Requires: tex(pifont.sty) -Provides: tex(vpe.sty) = %{epoch}:%{source_date}-%{release} -# perl -BuildArch: noarch - -%description -n %{shortname}-vpe -VPE is a system to make the equivalent of "source special" -marks in a PDF file. Clicking on a mark will activate an -editor, pointing at the source line that produced the text that -was marked. The system comprises a perl file (vpe.pl) and a -LaTeX package (vpe.sty); it will work with PDF files generated -via LaTeX/dvips, pdfTeX (version 0.14 or better), and -LaTeX/VTeX. Using the LaTeX/dvips or pdfLaTeX routes, the -(pdf)TeX processor should be run with shell escapes enabled. - -%package -n %{shortname}-web -Version: svn66186 -Provides: texlive-web = %{epoch}:%{source_date}-%{release} -Provides: tex-web = %{epoch}:%{source_date}-%{release} -Provides: tex-web-bin = %{epoch}:%{source_date}-%{release} -Provides: texlive-web-bin = %{epoch}:%{source_date}-%{release} -Obsoletes: texlive-web-bin < 7:20170520 -License: Knuth-CTAN -Summary: The original literate programming system -Requires: texlive-base -Requires: texlive-kpathsea - -%description -n %{shortname}-web -The system processes 'web' files in two ways: firstly to -rearrange them to produce compilable code (using the program -tangle), and secondly to produce a TeX source (using the -program weave) that may be typeset for comfortable reading. - -%package -n %{shortname}-webquiz -Version: svn58808 -Provides: texlive-webquiz = %{epoch}:%{source_date}-%{release} -Provides: tex-webquiz = %{epoch}:%{source_date}-%{release} -Provides: tex-webquiz-bin = %{epoch}:%{source_date}-%{release} -Provides: texlive-webquiz-bin = %{epoch}:%{source_date}-%{release} -License: GPL-3.0-or-later -Summary: A LaTeX package for writing online quizzes -Requires: texlive-base -Requires: texlive-kpathsea -Requires: texlive-tex4ht -Requires: texlive-make4ht -Requires: tex(tikz.sty) -Requires: tex(pstricks.sty) -Requires: texlive-dvisvgm -Requires: ghostscript -Requires: python3 -# python3 -BuildArch: noarch - -%description -n %{shortname}-webquiz -WebQuiz makes it possible to use LaTeX to write interactive online quizzes. -The quizzes are first written in LaTeX and then converted into HTML using -WebQuiz, which is written in python. The conversion from LaTeX to HTML is -done behind the scenes using TeX4ht. The idea is that you should be able to -produce nice online quizzes using WebQuiz and basic knowledge of LaTeX. - -%package -n %{shortname}-wordcount -Version: svn46165 -Provides: texlive-wordcount = %{epoch}:%{source_date}-%{release} -Provides: tex-wordcount = %{epoch}:%{source_date}-%{release} -Provides: texlive-wordcount-bin = %{epoch}:%{source_date}-%{release} -Provides: tex-wordcount-doc = %{epoch}:%{source_date}-%{release} -Provides: texlive-wordcount-doc = %{epoch}:%{source_date}-%{release} -Obsoletes: texlive-wordcount-doc < 7:20180414 -Provides: tex(wordcount.tex) = %{epoch}:%{source_date}-%{release} -License: LPPL-1.3c -Summary: Estimate the number of words in a LaTeX document -Requires: texlive-base -Requires: texlive-kpathsea -# shell -BuildArch: noarch - -%description -n %{shortname}-wordcount -The package provides a relatively easy way of estimating the -number of words in a LaTeX document that does not require -dvitty or other DVI converters. It does however require -something like Unix grep -c that can search a file for a -particular string and report the number of matching lines. An -accompanying shell script wordcount.sh contains more -information in its comments. - -%package -n %{shortname}-xdvi -Version: svn62387 -Provides: texlive-xdvi = %{epoch}:%{source_date}-%{release} -License: MIT -Summary: A DVI previewer for the X Window System -Provides: tex-xdvi = %{epoch}:%{source_date}-%{release} -Provides: tex-xdvi-bin = %{epoch}:%{source_date}-%{release} -Provides: texlive-xdvi-bin = %{epoch}:%{source_date}-%{release} -Obsoletes: texlive-xdvi-bin < 7:20170520 -Provides: xdvi = %{epoch}:%{source_date}-%{release} -Provides: xdvik = %{epoch}:%{source_date}-%{release} -Requires: texlive-kpathsea -Requires: texlive-base - -%description -n %{shortname}-xdvi -The canonical previewer for use on Unix and other X-windows -based systems. - -%package -n %{shortname}-xetex -Version: svn66203 -Provides: texlive-xetex = %{epoch}:%{source_date}-%{release} -Provides: tex-xetex = %{epoch}:%{source_date}-%{release} -Provides: tex-xetex-bin = %{epoch}:%{source_date}-%{release} -Provides: texlive-xetex-bin = %{epoch}:%{source_date}-%{release} -Obsoletes: texlive-xetex-bin < 7:20170520 -Provides: tex-xetex-doc = %{epoch}:%{source_date}-%{release} -Provides: texlive-xetex-doc = %{epoch}:%{source_date}-%{release} -Obsoletes: texlive-xetex-doc < 7:20170520 -License: MIT -Summary: Unicode and OpenType-enabled TeX engine -Requires: texlive-base -Requires: texlive-kpathsea -Requires: texlive-atbegshi -Requires: texlive-atveryend -Requires: texlive-babel -Requires: texlive-cm -Requires: texlive-dvipdfmx -Requires: texlive-etex -Requires: texlive-everyshi -Requires: texlive-firstaid -Requires: texlive-hyphen-base -Requires: texlive-l3backend -Requires: texlive-l3kernel -Requires: texlive-l3packages -Requires: texlive-latex -Requires: texlive-latex-fonts -Requires: texlive-lm -Requires: texlive-plain -Requires: texlive-tex-ini-files -Requires: texlive-unicode-data -Requires: texlive-xetexconfig -Requires: teckit -Requires(post,postun): coreutils -Requires: tex(xetex.def) -Provides: tex(qx-unicode.map) = %{epoch}:%{source_date}-%{release} -Provides: tex(tex-text.map) = %{epoch}:%{source_date}-%{release} - -%description -n %{shortname}-xetex -XeTeX is a TeX typesetting engine using Unicode and supporting -modern font technologies such as OpenType, TrueType or Apple -Advanced Typography (AAT), including OpenType mathematics -fonts. XeTeX supports many extensions that reflect its origins -in linguistic research; it also supports micro-typography (as -available in pdfTeX). XeTeX was developed by the SIL (the first -version was specifically developed for those studying -linguistics, and using Macintosh computers). XeTeX's immediate -output is an extended variant of DVI format, which is -ordinarily processed by a tightly bound processor (called -xdvipdfmx), that produces PDF. XeTeX is released as part of TeX -Live; documentation has arisen separately. Source code is -available from ctan:/systems/texlive/Source/. - -%package -n %{shortname}-xindex -Version: svn65597 -Provides: texlive-xindex = %{epoch}:%{source_date}-%{release} -Provides: tex-xindex = %{epoch}:%{source_date}-%{release} -Provides: tex-xindex-bin = %{epoch}:%{source_date}-%{release} -Provides: texlive-xindex-bin = %{epoch}:%{source_date}-%{release} -License: LPPL-1.3c -Summary: Unicode compatible index program for LaTeX -Requires: lua >= 5.3 -Requires: texlive-base -Requires: texlive-kpathsea -Requires: texlive-luatex -Requires: tex(imakeidx.sty) -Requires: tex(makeidx.sty) -Requires: tex(xkeyval.sty) -Provides: tex(xindex.lua) = %{epoch}:%{source_date}-%{release} -Provides: tex(xindex.sty) = %{epoch}:%{source_date}-%{release} -# lua -BuildArch: noarch - -%description -n %{shortname}-xindex -Unicode compatible index program for LaTeX. - -%package -n %{shortname}-xindy -Version: svn65958 -Provides: texlive-xindy = %{epoch}:%{source_date}-%{release} -Provides: tex-xindy = %{epoch}:%{source_date}-%{release} -%if %{without bootstrap} -Provides: tex-xindy-bin = %{epoch}:%{source_date}-%{release} -Provides: texlive-xindy-bin = %{epoch}:%{source_date}-%{release} -%endif -Provides: tex-xindy-doc = %{epoch}:%{source_date}-%{release} -Obsoletes: texlive-xindy-bin <= 6:svn41316 -Provides: tex-xindy-doc = %{epoch}:%{source_date}-%{release} -Provides: texlive-xindy-doc = %{epoch}:%{source_date}-%{release} -Obsoletes: texlive-xindy-doc <= 6:svn41316 -License: GPL-2.0-or-later -Summary: A general-purpose index processor -# There are some arch specific binaries in here. -# BuildArch: noarch -Requires: texlive-base -Requires: texlive-kpathsea -Requires: clisp - -%description -n %{shortname}-xindy -Xindy was deceloped after an impasse had been encountered in -the attempt to complete internationalisation of makeindex. -Xindy can be used to process indexes for documents marked up -using (La)TeX, Nroff family and SGML-based languages. Xindy is -highly configurable, both in markup terms and in terms of the -collating order of the text being processed. - -%package -n %{shortname}-xml2pmx -Version: svn57972 -Provides: texlive-xml2pmx = %{epoch}:%{source_date}-%{release} -Summary: Convert MusicXML to PMX and MusiXTeX -License: GPL-3.0-or-later -Requires: texlive-base texlive-kpathsea - -%description -n %{shortname}-xml2pmx -This program translates MusicXML files to input suitable for -PMX and MusiXTeX processing. This package supports Windows, -MacOS and Linux systems. - -%package -n %{shortname}-xmltex -Version: svn62145 -Provides: texlive-xmltex = %{epoch}:%{source_date}-%{release} -Provides: tex-xmltex = %{epoch}:%{source_date}-%{release} -Provides: tex-xmltex-bin = %{epoch}:%{source_date}-%{release} -Provides: texlive-xmltex-bin = %{epoch}:%{source_date}-%{release} -Obsoletes: texlive-xmltex-bin < 7:20170520 -Provides: tex-xmltex-doc = %{epoch}:%{source_date}-%{release} -Provides: texlive-xmltex-doc = %{epoch}:%{source_date}-%{release} -Obsoletes: texlive-xmltex-doc < 7:20170520 -Provides: xmltex = %{epoch}:%{source_date}-%{release} -License: LPPL-1.3c -Summary: Support for parsing XML documents -Requires: texlive-base -Requires: texlive-kpathsea-bin, tex-kpathsea -Requires: texlive-latex -Requires: texlive-pdftex -Requires: texlive-tex -Requires: texlive-xmltexconfig -Requires: texlive-babel -Requires: texlive-cm -Requires: texlive-hyphen-base -Requires: texlive-latex-fonts -Requires: texlive-l3backend -Requires: texlive-l3kernel -Requires: texlive-l3packages -Requires: texlive-tex-ini-files -Requires: texlive-unicode-data -Requires: texlive-dehyph -Requires: texlive-hyph-utf8 -Requires: texlive-latexconfig -Provides: tex(xmltex.cfg) = %{epoch}:%{source_date}-%{release} -Provides: tex(xmltex.tex) = %{epoch}:%{source_date}-%{release} -# symlinks -BuildArch: noarch - -%description -n %{shortname}-xmltex -The package provides an implementation of a parser for -documents matching the XML 1.0 and XML Namespace -Recommendations. In addition to parsing commands are provided -to attatch TeX typesetting instructions to the various markup -elemenets as they are encounted. Sample files for typesetting a -subset of TEI, MathML, are included. Element and Attribute -names, as well as character data, may use any characters -allowed in XML, using UTF-8 or a suitable 8-bit encoding. - -%package -n %{shortname}-xpdfopen -Version: svn65952 -Provides: texlive-xpdfopen = %{epoch}:%{source_date}-%{release} -Provides: tex-xpdfopen = %{epoch}:%{source_date}-%{release} -Provides: tex-xpdfopen-bin = %{epoch}:%{source_date}-%{release} -Provides: texlive-xpdfopen-bin = %{epoch}:%{source_date}-%{release} -License: LicenseRef-Fedora-Public-Domain -Summary: Commands to control PDF readers, under X11 -Requires: texlive-base -Requires: texlive-kpathsea - -%description -n %{shortname}-xpdfopen -The command-line programs pdfopen and pdfclose allow you to -control the X Window System version of Adobe's Acrobat Reader -from the command line or from within a (shell) script. The -programs work with Acrobat Reader 5, 7, 8 and 9 for Linux, xpdf -and evince. This version derives from one written by Fabrice -Popineau for Microsoft operating systems. - -%package -n %{shortname}-yplan -Version: svn34398 -Provides: texlive-yplan = %{epoch}:%{source_date}-%{release} -Provides: tex-yplan = %{epoch}:%{source_date}-%{release} -Provides: tex-yplan-bin = %{epoch}:%{source_date}-%{release} -Provides: texlive-yplan-bin = %{epoch}:%{source_date}-%{release} -Obsoletes: texlive-yplan-bin < 7:20170520 -Provides: tex-yplan-doc = %{epoch}:%{source_date}-%{release} -Provides: texlive-yplan-doc = %{epoch}:%{source_date}-%{release} -Obsoletes: texlive-yplan-doc < 7:20170520 -License: LPPL-1.3c -Summary: Daily planner type calendar -Requires: texlive-base -Requires: texlive-kpathsea -Requires: tex(ifthen.sty) -Provides: tex(yplan.sty) = %{epoch}:%{source_date}-%{release} -# perl -BuildArch: noarch - -%description -n %{shortname}-yplan -Prints two six-monthly vertical-type daily planner (i.e., -months along the top, days downwards), with each 6-month period -fitting onto a single A4 (or US letter) sheet. The package -offers support for English, French, German, Spanish and -Portuguese. The previous scheme of annual updates has now been -abandoned, in favour of a Perl script yplan that generates a -year's planner automatically. (The last manually-generated -LaTeX file remains on the archive.) - -%prep -%setup -q -c -T -# xz -dc %%{SOURCE0} | tar x -tar xf %{SOURCE0} -[ -e %{source_name} ] && mv %{source_name} source -%patch -P1 -p0 -%patch -P2 -p1 -b .format -%patch -P5 -p0 -%if %{with poppler} -%if 0%{?fedora} || 0%{?rhel} >= 8 -%patch -P7 -p1 -b .newpoppler -%endif -%endif -%patch -P8 -p1 -b .texinfo-fix -# %%patch -P11 -p1 -b .dt -# %%patch -P15 -p1 -b .disabletest -%patch -P17 -p1 -b .annocheck -%if %{with poppler} -%if 0%{?fedora} || 0%{?rhel} >= 8 -%patch -P18 -p1 -b .poppler-0.73 -%endif -%if 0%{?fedora} || 0%{?rhel} >= 8 -%patch -P23 -p1 -b .poppler-0.84 -%endif -%if 0%{?fedora} >= 33 || 0%{?rhel} >= 9 -%patch -P29 -p1 -b .poppler090 -%endif -%endif -%patch -P30 -p1 -b .out_of_memory -%if %{with poppler} -%patch -P31 -p1 -b .poppler-xpdf-fix -%if 0%{?fedora} >= 36 || 0%{?rhel} > 9 -%patch -P34 -p1 -b .poppler22 -%patch -P35 -p1 -b .poppler-crash-fix -%endif -%if 0%{?fedora} >= 37 || 0%{?rhel} > 9 -%patch -P36 -p1 -b .poppler-22.08.0 -%endif -%else -%patch -P32 -p1 -b .configure-no-GfxFont-decRefCnt -%endif - -%if 0%{?fedora} >= 38 || 0%{?rhel} > 9 -%patch -P37 -p1 -b .libpaper2 -%endif - -# Setup copies of the licenses -for l in `unxz -c %{SOURCE3} | tar t`; do -ln -s %{_texdir}/licenses/$l $l -done - -%patch -P44 -p1 -b .pdf-header-order-fix -%patch -P48 -p1 -b .gcc-14-typefixes -%patch -P49 -p1 -b .gcc-15-ftbfs - -# Disable broken tests -# updmap-cmdline-test.pl is not useful and it will fail because it finds the system perl bits instead of the local copy -sed -i 's|TESTS = tests/updmap-cmdline-test.pl||g' source/texk/texlive/Makefile.in -sed -i 's|TESTS = tests/updmap-cmdline-test.pl||g' source/texk/texlive/Makefile.am -# bibtex8 fails on x86_64 and i686, but not really. I think this test might also be using the older system bits -sed -i 's|bibtex8_tests = tests/bibtex8.test|bibtex8_tests =|g' source/texk/bibtex-x/Makefile.in -sed -i 's|bibtex8_tests = tests/bibtex8.test|bibtex8_tests =|g' source/texk/bibtex-x/Makefile.am - -# Value here is "16" not "15" because we have a source0 at index 1. -# Source15 at index 16 is our first "normal" noarch source file. -# Also, this macro has to be here, not at the top, or it will not evaluate properly. :P -%global mysources %{lua: for index,value in ipairs(sources) do if index >= 16 then print(value.." ") end end} - -# Drop source/libs/xpdf dir, we use system ver (if at all) -rm -rf source/libs/xpdf - -%build - -%if %{without bootstrap} -cat /usr/share/texlive/kpathsea.log || : -# DEBUG -# Okay. Lets look at things. -# 1. /usr/share/texlive/texmf-dist/web2c/fmtutil.cnf should exist and be valid. -ls -l /usr/share/texlive/texmf-dist/web2c/fmtutil.cnf || : -# cat /usr/share/texlive/texmf-dist/web2c/fmtutil.cnf - -# Check for ls-R files -ls -l /usr/share/texlive/texmf-config/ls-R || : -ls -l /usr/share/texlive/texmf-dist/ls-R || : -ls -l /usr/share/texlive/texmf-local/ls-R || : -ls -l /usr/share/texlive/texmf-var/ls-R || : - -# 2. kpsewhich -all fmtutil.cnf -# We should see /usr/share/texlive/texmf-dist/web2c/fmtutil.cnf -kpsewhich -version || : - -kpsewhich --debug -1 -all fmtutil.cnf || : - -# 3. fmtutil-sys --all -# This should recreate all format files, may not be able to do that here (non-root) -fmtutil-sys --all || : - -# 4. mktexfmt latex should succeed -mktexfmt latex || : - -# Make texlive generate latex.fmt, so that multiple threads do not race to -# make it during the xindy build. -cat > dummy.tex << EOF -\documentclass{article} -\begin{document} -This is a document. -\end{document} -EOF -latex dummy.tex -rm -f dummy.* -%endif - -# https://gcc.gnu.org/bugzilla/show_bug.cgi?id=118112 -export CFLAGS="$RPM_OPT_FLAGS -std=gnu17 -fno-strict-aliasing -Werror=format-security" -%if 0%{?fedora} >= 36 || 0%{?rhel} > 9 -export CXXFLAGS="$RPM_OPT_FLAGS -fno-strict-aliasing -Werror=format-security" -%else -export CXXFLAGS="$RPM_OPT_FLAGS -std=c++11 -fno-strict-aliasing -Werror=format-security" -%endif - -cd source -PREF=`pwd`/inst -mkdir -p work -%global _configure ../configure -cd work -%if %{without poppler} -export GLIB_LIBS=`pkg-config --libs glib-2.0` -export PAPER_LIBS="-lpaper" -export FONTCONFIG_LIBS=`pkg-config --libs fontconfig` -export XPDF_INCLUDES="-I/usr/include/xpdf -I/usr/include/xpdf/fofi -I/usr/include/xpdf/goo -I/usr/include/xpdf/splash" -export XPDF_LIBS="-lxpdfcore -lfofi -lgoo -lsplash $GLIB_LIBS $PAPER_LIBS $FONTCONFIG_LIBS" -%endif -%configure \ ---prefix=$PREF --datadir=$PREF --libdir=$PREF/lib --includedir=$PREF/include --datarootdir=$PREF/share --mandir=$PREF/share/man \ ---infodir=$PREF/share/info --exec_prefix=$PREF --bindir=$PREF/bin --with-system-zlib --with-system-libpng \ ---with-system-gd --with-system-t1lib --with-system-teckit --with-system-freetype2 --with-system-zziplib \ ---with-system-cairo --with-system-icu --with-system-harfbuzz --with-system-graphite2 --with-system-libgs --with-system-pixman \ ---with-system-libpaper --with-system-potrace --with-pic --with-xdvi-x-toolkit=xaw --with-system-mpfr --with-system-gmp \ ---enable-shared --enable-compiler-warnings=max --without-cxx-runtime-hack \ ---disable-native-texlive-build --disable-t1utils --enable-psutils --disable-biber --disable-ptexenc --disable-largefile \ -%if %{with poppler} ---with-system-poppler --with-system-xpdf \ -%else ---with-system-xpdf \ -%endif -%ifarch %{power64} s390 s390x riscv64 ---disable-luajittex --disable-mfluajit --disable-luajithbtex --disable-mfluajit-nowin \ -%endif -%if %{without bootstrap} ---enable-xindy \ -%else ---disable-xindy \ -%endif ---disable-xindy-docs --disable-xindy-rules \ ---disable-rpath - -# disable rpath -for i in `find . -name libtool`; do -sed -i 's|^hardcode_libdir_flag_spec=.*|hardcode_libdir_flag_spec=""|g' $i -sed -i 's|^runpath_var=LD_RUN_PATH|runpath_var=DIE_RPATH_DIE|g' $i -done - -%make_build world STRIPPROG=/bin/true STRIP=/bin/true - -%install -# make directories -mkdir -p %{buildroot}%{_texdir}/texmf-config/web2c -mkdir -p %{buildroot}%{_texmf_var} - -# make symlinks -pushd %{buildroot}%{_texdir}/texmf-config/web2c -ln -s ../../texmf-dist/web2c/updmap.cfg updmap.cfg -popd - -# make compatibility symlink -pushd %{buildroot}%{_datadir} -mkdir -p texlive/texmf-local/texmf-compat -ln -s texlive/texmf-local/texmf-compat texmf -popd - -# make opentype fontdir symlinks -# NOTE: fontawesome, stix, oldstandard are a conflict, so we just add Requires for the -# corresponding system font packages for them. -# NOTE: We might have to handle this differently if there are lots of conflicts later. -# DO NOT MAKE A SYMLINK FOR public/ebgaramond -# The EB Garamond upstream font decided to map some historical flags (i.e., flags -# obsolete for centuries) to the Unicode flag emoji code points. -# Since most other fonts do not include the relevant code points, Fontconfig decides to -# pick up the EB Garamond flags through the fallback font mechanism for almost all -# fonts on the system, including DejaVu Sans, Liberation Sans, etc. -mkdir -p %{buildroot}%{_datadir}/fonts -pushd %{buildroot}%{_datadir}/fonts -for i in public/lilyglyphs ; do - j=`echo $i | cut -d / -f 2` - ln -s %{_texdir}/texmf-dist/fonts/opentype/$i $j -done -popd - -# install binaries -mkdir -p %{buildroot}%{_bindir} -rm -f source/inst/bin/man -cp -a source/inst/bin/* %{buildroot}%{_bindir} - -# install libs -mkdir -p %{buildroot}%{_libdir} -cp -d source/inst/lib/*.so* %{buildroot}%{_libdir} -cp -a source/inst/lib/pkgconfig %{buildroot}%{_libdir} - -# install includes -mkdir -p %{buildroot}%{_includedir} -cp -r source/inst/include/* %{buildroot}%{_includedir} - -# install shared files -mkdir -p %{buildroot}%{_datadir} -mkdir -p %{buildroot}%{_texdir} -pushd source/inst/share -cp -a info %{buildroot}%{_datadir}/ -cp -a man %{buildroot}%{_datadir}/ -cp -a texmf-dist %{buildroot}%{_texdir}/ -popd - -# relocate binaries to %%{_bindir} and fix relative symlinks -pushd %{buildroot}%{_bindir} -for i in `find . -type l`; do -if [ "`readlink $i | grep '..' | wc -l`" == "1" ]; then -l=`readlink $i | sed s,.*texmf,/usr/share/texlive/texmf,` -rm -f $i -ln -s $l $i -fi -done -popd - -# install noarch bits -pushd %{buildroot}%{_texdir} -echo %{mysources} -for noarchsrc in %{mysources}; do - xz -dc $noarchsrc | tar x -done -popd -# Do the weird noarch bits -pushd %{buildroot}%{_texdir}/texmf-dist -xz -dc %{SOURCE5} | tar x -xz -dc %{SOURCE6} | tar x -xz -dc %{SOURCE7} | tar x -xz -dc %{SOURCE8} | tar x -xz -dc %{SOURCE9} | tar x -xz -dc %{SOURCE10} | tar x -xz -dc %{SOURCE11} | tar x -xz -dc %{SOURCE12} | tar x -xz -dc %{SOURCE13} | tar x -xz -dc %{SOURCE14} | tar x -popd - -# We want the texmf.cnf we patched, not the vanilla one from the kpathsea.tar.xz -cp -a source/texk/kpathsea/texmf.cnf %{buildroot}%{_texdir}/texmf-dist/web2c/texmf.cnf - -# Apply fixes -# We do it here because this is the first time we have the complete tree. -# bz1384067 -sed -i 's|\\sc |\\scshape |g' %{buildroot}%{_texdir}/texmf-dist/bibtex/bst/base/acm.bst -sed -i 's|\\sc |\\scshape |g' %{buildroot}%{_texdir}/texmf-dist/bibtex/bst/base/siam.bst - -# Patches to component tarballs -pushd %{buildroot}%{_texdir}/texmf-dist - -# neuter tlmgr a bit -patch -p1 < %{_sourcedir}/texlive-20190410-tlmgr-ignore-warning.patch - -# Fix texmfcnf.lua -patch -p1 < %{_sourcedir}/texlive-fedora-texmfcnf.lua.patch - -# Fix interpreter on perl scripts -patch -p1 < %{_sourcedir}/texlive-base-20230311-fix-scripts.patch - -# Fix bundling option with perl-5.40.x -patch -p1 < %{_sourcedir}/texdef-perl-option-5.40.x.patch - -# Fix errors with python3.13 -patch -p1 < %{_sourcedir}/texlive-pythontex3-python-3.1x.patch - -popd - -# config files in /etc symlinked -mkdir -p %{buildroot}%{_sysconfdir}/texlive/web2c -mkdir -p %{buildroot}%{_sysconfdir}/texlive/dvips/config -mkdir -p %{buildroot}%{_sysconfdir}/texlive/tex/generic/config - -for i in mktex.cnf texmfcnf.lua texmf.cnf updmap.cfg; do - mv %{buildroot}%{_texdir}/texmf-dist/web2c/$i %{buildroot}%{_sysconfdir}/texlive/web2c/ - ln -s %{_sysconfdir}/texlive/web2c/$i %{buildroot}%{_texdir}/texmf-dist/web2c/$i -done - -# configure texmf-local - make it visible to kpathsea -sed -i -e 's|^TEXMFLOCAL.*|TEXMFLOCAL = $TEXMFROOT/texmf-local//|' %{buildroot}%{_sysconfdir}/texlive/web2c/texmf.cnf - -mv %{buildroot}%{_texdir}/texmf-dist/dvips/config/config.ps %{buildroot}%{_sysconfdir}/texlive/dvips/config/ -ln -s %{_sysconfdir}/texlive/dvips/config/config.ps %{buildroot}%{_texdir}/texmf-dist/dvips/config/config.ps - -# Move the stock fmtutil.cnf under /etc and make sure everything is commented out -mv %{buildroot}%{usr_fmtutil_cnf} %{buildroot}%{etc_fmtutil_cnf} -sed -i '/^[a-z].*$/s/^/\#\!\ /' %{buildroot}%{_sysconfdir}/texlive/web2c/fmtutil.cnf - -# Split the stock texmf.cnf file: -# * Look for lines like "# from foo:" and use those as the names of the files -# we generate. -# * Take the text starting at "# from foo:" and ending just before the next -# line containing just '#' (or EOF). -# * remove '#!' -# * Add a single line containing '#' to the beginning -# * Stuff that into a file named "foo" in %%_texdir/fmtutil.cnf.d -# -# This is a bit fragile as the precise format of the stock fmtutil.cnf file -# could change. -# The leading '#' and the "# from foo:" line are added to the output only to -# match the existing format of the file, just in case some tool cares. -mkdir %{buildroot}%{_texdir}/fmtutil.cnf.d -for i in $(grep '^# from .*:$' %{buildroot}%{etc_fmtutil_cnf}|sed 's/^# from //; s/:$//'); do - echo "#" > %{buildroot}%{fmtutil_cnf_d}/$i - sed -n "s/^#! //; /^# from $i:\$/,/^#\$/{/^#\$/!p}" %{buildroot}%{etc_fmtutil_cnf} >> %{buildroot}%{fmtutil_cnf_d}/$i -done - -# Install the fmtutil.cnf generation script -install -D -p -m 755 -t %{buildroot}%{_sbindir} %{SOURCE4} - -# create macro file for building texlive -mkdir -p %{buildroot}%{_rpmmacrodir} -cp -a %{SOURCE1} %{buildroot}%{_rpmmacrodir}/macros.texlive - -# install texlive.tlpdb -cp %{SOURCE2} %{buildroot}%{_texdir} -# make a symlink so texdoc is happy -pushd %{buildroot}%{_texdir}/tlpkg -ln -s ../texlive.tlpdb . -popd - -# install licenses -mkdir -p %{buildroot}%{_texdir}/licenses -pushd %{buildroot}%{_texdir}/licenses -xz -dc %{SOURCE3} | tar x -popd - -# nuke useless tlmgr packaging stuff and doc droppings -rm -f %{buildroot}/%{_texdir}/install-tl -rm -rf %{buildroot}%{_texdir}/tlpkg/gpg/ -rm -rf %{buildroot}%{_texdir}/tlpkg/tltcl/ -rm -rf %{buildroot}%{_texdir}/tlpkg/tlpobj/ -rm -rf %{buildroot}%{_texdir}/texmf-dist/tlpkg/tlpobj/ -# texconfig needs tlmgr.pl -# We're only including what it needs, no more. -# rm -f %{buildroot}%{_texdir}/texmf-dist/doc/man/man1/tlmgr.1 -# rm -f %{buildroot}%{_texdir}/texmf-dist/scripts/texlive/tlmgr.pl -# rm -f %{buildroot}%{_bindir}/tlmgr -# rm -f %{buildroot}%{_texdir}/tlpkg/installer/config.guess -rm -f %{buildroot}%{_texdir}/texmf-dist/scripts/texlive/tlmgr.pl.orig -rm -f %{buildroot}%{_texdir}/texmf-dist/scripts/texlive/tl-errmess.vbs -rm -f %{buildroot}%{_texdir}/texmf-dist/scripts/texlive/tlmgrgui.pl -rm -f %{buildroot}%{_texdir}/texmf-dist/scripts/texlive/uninstall-win32.pl -rm -f %{buildroot}%{_texdir}/texmf-dist/scripts/texlive/uninstall-windows.pl -rm -f %{buildroot}%{_texdir}/texmf-dist/scripts/texlive/uninstq.vbs -rm -f %{buildroot}%{_texdir}/texmf-dist/scripts/tlcockpit/tlcockpit.sh -rm -f %{buildroot}%{_texdir}/texmf-dist/scripts/tlshell/tlshell.tcl -rm -f %{buildroot}%{_texdir}/tlpkg/installer/COPYING.MinGW-runtime.txt -rm -f %{buildroot}%{_texdir}/tlpkg/installer/ctan-mirrors.pl -rm -rf %{buildroot}%{_texdir}/tlpkg/installer/curl -rm -f %{buildroot}%{_texdir}/tlpkg/installer/install-menu-extl.pl -rm -f %{buildroot}%{_texdir}/tlpkg/installer/install-menu-perltk.pl -rm -f %{buildroot}%{_texdir}/tlpkg/installer/install-menu-text.pl -rm -f %{buildroot}%{_texdir}/tlpkg/installer/install-menu-wizard.pl -rm -f %{buildroot}%{_texdir}/tlpkg/installer/install-tl-gui.tcl -rm -f %{buildroot}%{_texdir}/tlpkg/installer/texlive.png -rm -f %{buildroot}%{_bindir}/tlcockpit -rm -f %{buildroot}%{_bindir}/tlshell -rm -rf %{buildroot}%{_datadir}/info/dir -rm -rf %{buildroot}%{_texdir}/readme-txt.dir/README.* -rm -rf %{buildroot}%{_texdir}/texmf-dist/doc/man/man*/*.pdf -rm -rf %{buildroot}%{_texdir}/texmf-dist/doc/man/man*/*.pdf -rm -rf %{buildroot}%{_texdir}/texmf-dist/doc/man/Makefile -rm -rf %{buildroot}%{_texdir}/texmf-dist/doc/man/man*/Makefile -rm -rf %{buildroot}%{_texdir}/texmf-dist/doc/info/dir -# nuke unwanted ptexenc devel files -rm -rf %{buildroot}%{_includedir}/ptexenc -# nuke context windows files -rm -f %{buildroot}/%{_texdir}/texmf-dist/scripts/context/stubs/mswin/* -rm -f %{buildroot}/%{_texdir}/texmf-dist/scripts/context/stubs/win64/* -rm -f %{buildroot}/%{_texdir}/texmf-dist/scripts/context/stubs/source/* - -# Make this perl module show up in @INC -mkdir -p %{buildroot}%{_datadir}/perl5 -ln -s %{_texdir}/tlpkg/TeXLive %{buildroot}%{_datadir}/perl5/TeXLive - -# not sure why this is here -rm -rf %{buildroot}%{_texdir}/texmf-dist/source/fonts/zhmetrics/ttfonts.map - -pushd %{buildroot}%{_texdir} -# ALWAYS NUKE THIS IF IT IS HERE. -rm -rf texmf-var -# AND NOW WE MAKE THE SYMLINK. -ln -s %{_texmf_var} texmf-var -popd - -# sync built/distro binaries -pushd %{buildroot}%{_bindir} -[ ! -e mfplain ] && ln -s mpost mfplain -[ ! -e texlua ] && ln -s luatex texlua -[ ! -e texluac ] && ln -s luatex texluac - -# remove latexmk -# This lives in the "latexmk" package in Fedora. -rm -f latexmk -rm -rf %{buildroot}%{_texdir}/texmf-dist/scripts/latexmk -rm -f %{buildroot}%{_datadir}/texlive/texmf-dist/doc/man/man1/latexmk.* - -# Fix symlinks for helper scripts -rm -f bibexport.sh -ln -s /usr/share/texlive/texmf-dist/scripts/bibexport/bibexport.sh bibexport.sh -rm -f texmfstart -ln -s /usr/share/texlive/texmf-dist/scripts/context/ruby/texmfstart.rb texmfstart -rm -rf mktexmf -ln -s /usr/share/texlive/texmf-dist/scripts/texlive/mktexmf mktexmf -rm -rf mkjobtexmf -ln -s /usr/share/texlive/texmf-dist/scripts/mkjobtexmf/mkjobtexmf.pl mkjobtexmf -rm -rf digestif -ln -s /usr/share/texlive/texmf-dist/scripts/digestif/digestif.texlua digestif - -# make a mtxrun stub -rm -f mtxrun -cat > mtxrun << EOF -#!/bin/sh -env LUATEXDIR=/usr/share/texlive/texmf-dist/scripts/context/lua luatex --luaonly mtxrun.lua "\$@" -EOF -chmod 0755 mtxrun - -# fix context -rm -f context -cat > context << EOF -#!/bin/sh -export TEXMF=/usr/share/texlive/texmf-dist; -export TEXMFCNF=/usr/share/texlive/texmf-dist/web2c; -export TEXMFCACHE=\$(realpath \$HOME/.cache/texlive); -%{_bindir}/mtxrun --script context "\$@" -EOF -chmod 0755 context - -# fix texaccents -# TODO: Detect snobol4 version rather than hardcoding it here. -rm -f texaccents -cat > texaccents << EOF -#!/bin/sh -env SNOPATH=/usr/lib64/snobol4/2.3.1/lib:/usr/share/texlive/texmf-dist/scripts/texaccents /usr/bin/snobol4 /usr/share/texlive/texmf-dist/scripts/texaccents/texaccents.sno "\$@" -EOF -chmod 0755 texaccents -popd - -# more texaccents fixes -mv %{buildroot}%{_texdir}/texmf-dist/source/support/texaccents/* %{buildroot}%{_texdir}/texmf-dist/scripts/texaccents -sed -i 's|host.inc|host.sno|g' %{buildroot}%{_texdir}/texmf-dist/scripts/texaccents/texaccents.sno -sed -i 's|repl.inc|repl.sno|g' %{buildroot}%{_texdir}/texmf-dist/scripts/texaccents/grepl.inc - -# Move docs -mkdir -p %{buildroot}%{_datadir}/ -mkdir -p %{buildroot}%{_infodir}/ -cp -R %{buildroot}%{_texdir}/texmf-dist/doc/man %{buildroot}%{_datadir}/ -find %{buildroot}%{_texdir}/texmf-dist/doc/man -type f | xargs rm -f -mv %{buildroot}%{_texdir}/texmf-dist/doc/info/* %{buildroot}%{_infodir}/ - -# Remove cjk-gs-integrate files -# Yes, we probably should remove the source, but there is a possibility that we will -# re-add this subpackage at some point. -rm -rf %{buildroot}%{_bindir}/cjk-gs-integrate -rm -rf %{buildroot}%{_texdir}/texmf-dist/scripts/cjk-gs-integrate -rm -rf %{buildroot}%{_texdir}/texmf-dist/doc/fonts/cjk-gs-integrate -rm -rf %{buildroot}%{_texdir}/texmf-dist/fonts/misc/cjk-gs-integrate - -# Fix pkgconfig files -for file in $(find %{buildroot}%{_libdir}/pkgconfig/ -type f -name '*.pc') -do sed -i 's|%{_builddir}/%{name}-%{source_date}/source/inst|/usr|g' $file - sed -i 's|/usr/lib|%{_libdir}|g' $file -done - -# Python fixup -# Change shebang in all relevant files in this directory and all subdirectories -# See `man find` for how the `-exec command {} +` syntax works -pushd %{buildroot} -find -type f -exec sed -i '1s|^#!/usr/bin/python$|#!%{__python3}|' {} + -find -type f -exec sed -i '1s|^#!/usr/bin/env python$|#!%{__python3}|' {} + -sed -i '1s|^#!/usr/bin/python |#!%{__python3} |' ./%{_texdir}/texmf-dist/scripts/de-macro/de-macro - -# Get rid of the python2 variant bits from pythontex (we need them to generate the py3 bits, but not in the package) -rm -rf ./%{_texdir}/texmf-dist/scripts/pythontex/pythontex2.py -rm -rf ./%{_texdir}/texmf-dist/scripts/pythontex/depythontex2.py -popd - -# One dir to own -mkdir -p %{buildroot}%{_texdir}/texmf-dist/tex/generic/context/third - -# TeXLive has a fork of psutils -# we namespace those binaries to avoid conflicts with the upstream psutils -pushd %{buildroot}%{_bindir} -for i in epsffit extractres includeres psbook psjoin psnup psresize psselect pstops -do mv $i tl-$i -done -popd -# we also rename the manpages -pushd %{buildroot}%{_mandir}/man1/ -for i in epsffit extractres includeres psbook psjoin psnup psresize psselect pstops psutils -do mv $i.1 tl-$i.1 -done -popd -# and move the config file -mkdir -p %{buildroot}%{_sysconfdir}/texlive/psutils -mv %{buildroot}%{_texdir}/texmf-dist/psutils/paper.cfg %{buildroot}%{_sysconfdir}/texlive/psutils/paper.cfg -ln -s %{_sysconfdir}/texlive/psutils/paper.cfg %{buildroot}%{_texdir}/texmf-dist/psutils/paper.cfg - -# Some (most) of the binaries are ending up with RPATH despite our best efforts. -for i in afm2pl afm2tfm aleph bibtex bibtex8 bibtexu chkdvifont chktex ctie ctangle ctwill ctwill-refsort ctwill-twinx cweave detex disdvi dt2dv dv2dt dvi2tty dvibook dviconcat dvicopy dvilj dvilj2p dvilj4 dvilj4l dvipng \ - dvipos dvips dviselect dvispc dvisvgm dvitodvi dvitype eptex euptex gftodvi gftopk gftype gregorio gsftopk hbf2gf hitex kpsewhich luahbtex luatex mag makeindex makejvf mendex mf mflua mft mf-nowin mpost otftotfm msxlint \ - odvicopy odvitype omfonts otangle otp2ocp outocp patgen pbibtex pdftex pdftosrc pktogf pdvitype pfb2pfa pk2bm pktype pltotf pmpost pooltype ppltotf ps2pk ptex ptftopl synctex t4ht tangle tex tex4ht tftopl tie tl-epsffit tl-psbook tl-psnup tl-psresize tl-psselect tl-pstops \ - ttf2afm ttf2pk ttf2tfm ttfdump twill upbibtex updvitype upmendex upmpost uppltotf uptex uptftopl vftovp vptovf weave wofm2opl wopl2ofm wovf2ovp wovp2ovf xdvi-xaw xdvipdfmx xetex; do -chrpath --delete %{buildroot}%{_bindir}/$i -done - -%ifnarch %{power64} s390 s390x riscv64 -chrpath --delete %{buildroot}%{_bindir}/luajithbtex -chrpath --delete %{buildroot}%{_bindir}/luajittex -chrpath --delete %{buildroot}%{_bindir}/mfluajit -%endif - -# And remove the rpath from this library. -chrpath --delete %{buildroot}%{_libdir}/libptexenc.so.* - -# This map file provided by texlive-scripts is not useful and confuses lots of things when it ends up in pdftex.map -# Renaming it should prevent it from being included -mv %{buildroot}%{_texdir}/texmf-dist/fonts/map/dvips/tetex/dvipdfm35.map %{buildroot}%{_texdir}/texmf-dist/fonts/map/dvips/tetex/dvipdfm35.oldmap - -# SCRIPTLETS - -%pretrans -p -path = "/usr/share/texmf" -st = posix.stat(path) -if st and st.type == "directory" then - status = os.rename(path, path .. ".rpmmoved") - if not status then - suffix = 0 - while not status do - suffix = suffix + 1 - status = os.rename(path .. ".rpmmoved", path .. ".rpmmoved." .. suffix) - end - os.rename(path, path .. ".rpmmoved") - end -end - -%pre -rm -rf %{_texdir}/texmf-var -rm -rf %{_texmf_var}/* -: - -%posttrans -if [ -x /usr/sbin/selinuxenabled ] && /usr/sbin/selinuxenabled; then -[ -x /sbin/restorecon ] && /sbin/restorecon -R %{_texmf_var}/ -fi -: - -%transfiletriggerin -n %{shortname}-context -- %{_texdir} -export TEXMFLOCAL=/usr/share/texlive/texmf-local -%{_bindir}/mtxrun --generate &> /dev/null || : - -%transfiletriggerin -n %{shortname}-kpathsea -- %{_texdir} -# Commented lines are DEBUG mode -# touch /usr/share/texlive/kpathsea.log -# /usr/share/texlive/texmf-dist/scripts/texlive/mktexlsr --version 2>&1 | tee -a /usr/share/texlive/kpathsea.log || : -# /usr/share/texlive/texmf-dist/scripts/texlive/mktexlsr --verbose 2>&1 | tee -a /usr/share/texlive/kpathsea.log || : -# /usr/bin/sh -x %{_bindir}/texhash 2>&1 | tee -a /usr/share/texlive/kpathsea.log || : -/usr/share/texlive/texmf-dist/scripts/texlive/mktexlsr 2> /dev/null || : -export TEXMF=/usr/share/texlive/texmf-dist -export TEXMFCNF=/usr/share/texlive/texmf-dist/web2c -export TEXMFCACHE=/var/lib/texmf -# %{_bindir}/fmtutil-sys --all 2>&1 | tee -a /usr/share/texlive/kpathsea.log || : -%{_bindir}/fmtutil-sys --all &> /dev/null || : - -%transfiletriggerpostun -n %{shortname}-kpathsea -- %{_texdir} -/usr/share/texlive/texmf-dist/scripts/texlive/mktexlsr 2> /dev/null || : - -%transfiletriggerin -n %{shortname}-kpathsea -- %{_texdir}/texmf-dist/fonts/map/dvips/ -# MixedMap list, from directory with _EVERY_ tex subpackage unpacked: for i in `grep -r "addMixedMap" tlpkg/ |cut -d ":" -f 2- | sort -n | uniq | cut -d " " -f 3`; do printf "$i|"; done -# Map list, from directory with _EVERY_ tex subpackage unpacked: for i in `grep -r "addMap" tlpkg/ |cut -d ":" -f 2- | sort -n | uniq | cut -d " " -f 3`; do printf "$i|"; done -# NO OTHER MAPS SHOULD BE ADDED. That road leads to madness. -list=`grep "\.map" | sort -n | uniq` -while read -r line; do - [ -z "$line" ] && continue - shortfile=`basename "$line"` - if `echo $shortfile | grep -Eq 'allrunes.map|arabtex.map|arss.map|artm.map|bbold.map|cbgreek-full.map|ccpl.map|cmextra.map|cmll.map|cm.map|cm-super-t1.map|cm-super-t2a.map|cm-super-t2b.map|cm-super-t2c.map|cm-super-ts1.map|cm-super-x2.map|cmtext-bsr-interpolated.map|cmupint.map|cyrillic.map|esint.map|ethiop.map|eurosym.map|hfbright.map|iby.map|latxfont.map|lxfonts.map|manfnt.map|mflogo.map|mongolian.map|musix.map|pigpen.map|plother.map|pltext.map|rsfs.map|semaf.map|stmaryrd.map|symbols.map|tipa.map|trajan.map|vnrother.map|vnrtext.map|wasy.map|xypic.map|yhmath.map'`; then - %{_bindir}/updmap-sys --nomkmap --enable MixedMap=$shortfile >/dev/null 2>&1 || : - else - if `echo $shortfile | grep -Eq 'accanthis.map|Acorn.map|aesupp.map|Alegreya.map|AlgolRevived.map|almendra.map|AnnSton.map|AnonymousPro.map|antt.map|ap.map|arabi.map|archaicprw.map|arev.map|arevvn.map|arimo.map|ArrowsADF.map|ArtNouvc.map|ArtNouv.map|ascii.map|ascmac.map|aspectratio.map|atkinson.map|augie.map|auncial.map|aurical.map|Baskervaldx.map|BaskervilleF.map|belleek.map|bera.map|beuron.map|bguq.map|bitter.map|bkaiu.map|boondox.map|bsmiu.map|BulletsADF.map|burmese.map|cabin.map|caladea.map|calligra.map|cantarell.map|carlito.map|Carrickc.map|CascadiaCodThree.map|ccicons.map|charter.map|chartervn.map|chemarrow.map|cherokee.map|Chivo.map|cinzel.map|cjhebrew.map|Clara.map|ClearSans.map|clm.map|cmathbb.map|cmbrightvn.map|cmcyr.map|cmexb.map|cmin.map|cm-lgc.map|cmsrb.map|Cochineal.map|Coelacanth.map|comfortaa.map|ComicNeueAngular.map|ComicNeue.map|concretevn.map|CormorantGaramond.map|countriesofeurope.map|CourierOneZeroPitch.map|crimson.map|CrimsonPro.map|cs-charter.map|csfonts.map|cuprum.map|cyklop.map|dad.map|dante.map|dejavu-type1.map|dgj.map|dictsym.map|dmj.map|Domitian.map|droidsans.map|droidsansmono.map|droidserif.map|DSSerif.map|dstroke.map|dutchcal.map|EBGaramond.map|EBGaramond-Maths.map|Eichenla.map|EileenBl.map|Eileen.map|Elzevier.map|epigrafica.map|epiolmec.map|erewhon.map|esrelation.map|ESSTIX.map|esvect.map|ETbb.map|fbb.map|fdsymbol.map|fetamont.map|fge.map|fira.map|foekfont.map|fonetika.map|fontawesome5.map|fontawesome.map|forum.map|fourier.map|fourier-utopia-expert.map|fpls.map|frcursive.map|GaramondLibre.map|garuda-c90.map|gbsnu.map|gentium-type1.map|gfsartemisia.map|gfsbaskerville.map|gfsbodoni.map|gfscomplutum.map|gfsdidot.map|gfsneohellenic.map|gfsporson.map|gfssolomos.map|gillius.map|gkaiu.map|go.map|GotIn.map|GoudyIn.map|gptimes.map|grotesqvn.map|Gudea.map|hacm.map|Heuristica.map|HindMadurai.map|ibarra.map|icelandic.map|imfellEnglish.map|InriaSans.map|InriaSerif.map|Inter.map|ipaex-type1.map|iwona.map|josefin.map|Junicode.map|kerkis.map|Kinigcap.map|knitfont.map|Konanur.map|kpfonts.map|Kramer.map|kurier.map|l7x-urwvn.map|lato.map|libertinegc.map|libertine.map|libertinus.map|libertinust1math.map|LibreBaskerville.map|LibreBodoni.map|LibreCaslon.map|LibreFranklin.map|linearA.map|LinguisticsPro.map|lm.map|LobsterTwo.map|Magra.map|marcellus.map|marvosym.map|mathabx.map|mc2j.map|mcj.map|mdbch.map|mdgreek.map|mdici.map|mdpgd.map|mdpus.map|mdput.map|mdsymbol.map|mdugm.map|merriweather.map|miama.map|mintspirit.map|mlm.map|MnSymbol.map|Montserrat.map|MorrisIn.map|mr2j.map|mrj.map|mxedruli.map|nanumfonts.map|nectec.map|newpx.map|newtx.map|newtxsf.map|newtxtt.map|nf.map|niceframe.map|nimbus15.map|norasi-c90.map|noto.map|NotoMath.map|Nouveaud.map|oasy.map|ocrb.map|oinuit.map|OldStandard.map|omega.map|opensans.map|OrnementsADF.map|overlock.map|paratype-type1.map|pazo.map|pbsi.map|phaistos.map|PlayfairDisplay.map|plex.map|plimsoll.map|PoiretOne.map|prodint.map|pxfonts.map|pxtx.map|qag.map|qbk.map|qcr.map|qcs.map|qhv.map|qpl.map|qtm.map|quattrocento.map|qzc.map|Raleway.map|recycle.map|roboto.map|rojud.map|Romantik.map|Rosario.map|Rothdn.map|RoyalIn.map|rsfso.map|Sanremo.map|sansmathaccent.map|sansmathfonts.map|scanpages.map|ScholaX.map|sipa.map|SkakNew.map|skt.map|SourceCodePro.map|SourceSansPro.map|SourceSerifPro.map|spectral.map|sqrcaps.map|Starburst.map|starfont.map|STEPGreekTest.map|STEP.map|SticksTooText.map|stix2.map|stix.map|superiors.map|svrsymbols.map|syriac.map|tabvar.map|tempora.map|tfrupee.map|TheanoDidot.map|TheanoModern.map|TheanoOldStyle.map|tinos.map|tlwg.map|txfonts.map|txttvn.map|TXUprCal.map|Typocaps.map|uag.map|uaq.map|ubk.map|ucr.map|ugq.map|uhv.map|umj.map|unc.map|universalis.map|upl.map|urwvn.map|usy.map|utm.map|utopia.map|uzc.map|uzd.map|vntopia.map|XCharter.map|ybd.map|ybv.map|yes.map|yfrak.map|yly.map|yrd.map|yv1.map|yv2.map|yv3.map|yvo.map|yvt.map|Zallman.map|Zeroswald.map|zi4.map'`; then - %{_bindir}/updmap-sys --nomkmap --enable Map=$shortfile >/dev/null 2>&1 || : - fi - fi -done <<< "$list" -# With the demise of updmap-map, we need to make system maps here. -# %{_bindir}/updmap-sys --quiet --nomkmap >/dev/null || : -yes | %{_bindir}/updmap-sys --quiet --syncwithtrees >/dev/null 2>&1 || : -%{_bindir}/updmap-sys --quiet --force 2>&1 || : - -%transfiletriggerpostun -n %{shortname}-kpathsea -- %{_texdir}/texmf-dist/fonts/map/dvips/ -# I am not sure we need to do this, but it is not harmful. -# TODO: see if we can safely remove everything above the updmap-sys calls -list=`grep "\.map" | sort -n | uniq` -while read -r line; do - [ -z "$line" ] && continue - shortfile=`basename "$line"` - if `echo $shortfile | grep -Eq 'allrunes.map|arabtex.map|arss.map|artm.map|bbold.map|cbgreek-full.map|ccpl.map|cmextra.map|cmll.map|cm.map|cm-super-t1.map|cm-super-t2a.map|cm-super-t2b.map|cm-super-t2c.map|cm-super-ts1.map|cm-super-x2.map|cmtext-bsr-interpolated.map|cmupint.map|cyrillic.map|esint.map|ethiop.map|eurosym.map|hfbright.map|iby.map|latxfont.map|lxfonts.map|manfnt.map|mflogo.map|mongolian.map|musix.map|pigpen.map|plother.map|pltext.map|rsfs.map|semaf.map|stmaryrd.map|symbols.map|tipa.map|trajan.map|vnrother.map|vnrtext.map|wasy.map|xypic.map|yhmath.map'`; then - %{_bindir}/updmap-sys --nomkmap --disable MixedMap=$shortfile >/dev/null 2>&1 || : - else - if `echo $shortfile | grep -Eq 'accanthis.map|Acorn.map|aesupp.map|Alegreya.map|AlgolRevived.map|almendra.map|AnnSton.map|AnonymousPro.map|antt.map|ap.map|arabi.map|archaicprw.map|arev.map|arevvn.map|arimo.map|ArrowsADF.map|ArtNouvc.map|ArtNouv.map|ascii.map|ascmac.map|aspectratio.map|atkinson.map|augie.map|auncial.map|aurical.map|Baskervaldx.map|BaskervilleF.map|belleek.map|bera.map|beuron.map|bguq.map|bitter.map|bkaiu.map|boondox.map|bsmiu.map|BulletsADF.map|burmese.map|cabin.map|caladea.map|calligra.map|cantarell.map|carlito.map|Carrickc.map|CascadiaCodThree.map|ccicons.map|charter.map|chartervn.map|chemarrow.map|cherokee.map|Chivo.map|cinzel.map|cjhebrew.map|Clara.map|ClearSans.map|clm.map|cmathbb.map|cmbrightvn.map|cmcyr.map|cmexb.map|cmin.map|cm-lgc.map|cmsrb.map|Cochineal.map|Coelacanth.map|comfortaa.map|ComicNeueAngular.map|ComicNeue.map|concretevn.map|CormorantGaramond.map|countriesofeurope.map|CourierOneZeroPitch.map|crimson.map|CrimsonPro.map|cs-charter.map|csfonts.map|cuprum.map|cyklop.map|dad.map|dante.map|dejavu-type1.map|dgj.map|dictsym.map|dmj.map|Domitian.map|droidsans.map|droidsansmono.map|droidserif.map|DSSerif.map|dstroke.map|dutchcal.map|EBGaramond.map|EBGaramond-Maths.map|Eichenla.map|EileenBl.map|Eileen.map|Elzevier.map|epigrafica.map|epiolmec.map|erewhon.map|esrelation.map|ESSTIX.map|esvect.map|ETbb.map|fbb.map|fdsymbol.map|fetamont.map|fge.map|fira.map|foekfont.map|fonetika.map|fontawesome5.map|fontawesome.map|forum.map|fourier.map|fourier-utopia-expert.map|fpls.map|frcursive.map|GaramondLibre.map|garuda-c90.map|gbsnu.map|gentium-type1.map|gfsartemisia.map|gfsbaskerville.map|gfsbodoni.map|gfscomplutum.map|gfsdidot.map|gfsneohellenic.map|gfsporson.map|gfssolomos.map|gillius.map|gkaiu.map|go.map|GotIn.map|GoudyIn.map|gptimes.map|grotesqvn.map|Gudea.map|hacm.map|Heuristica.map|HindMadurai.map|ibarra.map|icelandic.map|imfellEnglish.map|InriaSans.map|InriaSerif.map|Inter.map|ipaex-type1.map|iwona.map|josefin.map|Junicode.map|kerkis.map|Kinigcap.map|knitfont.map|Konanur.map|kpfonts.map|Kramer.map|kurier.map|l7x-urwvn.map|lato.map|libertinegc.map|libertine.map|libertinus.map|libertinust1math.map|LibreBaskerville.map|LibreBodoni.map|LibreCaslon.map|LibreFranklin.map|linearA.map|LinguisticsPro.map|lm.map|LobsterTwo.map|Magra.map|marcellus.map|marvosym.map|mathabx.map|mc2j.map|mcj.map|mdbch.map|mdgreek.map|mdici.map|mdpgd.map|mdpus.map|mdput.map|mdsymbol.map|mdugm.map|merriweather.map|miama.map|mintspirit.map|mlm.map|MnSymbol.map|Montserrat.map|MorrisIn.map|mr2j.map|mrj.map|mxedruli.map|nanumfonts.map|nectec.map|newpx.map|newtx.map|newtxsf.map|newtxtt.map|nf.map|niceframe.map|nimbus15.map|norasi-c90.map|noto.map|NotoMath.map|Nouveaud.map|oasy.map|ocrb.map|oinuit.map|OldStandard.map|omega.map|opensans.map|OrnementsADF.map|overlock.map|paratype-type1.map|pazo.map|pbsi.map|phaistos.map|PlayfairDisplay.map|plex.map|plimsoll.map|PoiretOne.map|prodint.map|pxfonts.map|pxtx.map|qag.map|qbk.map|qcr.map|qcs.map|qhv.map|qpl.map|qtm.map|quattrocento.map|qzc.map|Raleway.map|recycle.map|roboto.map|rojud.map|Romantik.map|Rosario.map|Rothdn.map|RoyalIn.map|rsfso.map|Sanremo.map|sansmathaccent.map|sansmathfonts.map|scanpages.map|ScholaX.map|sipa.map|SkakNew.map|skt.map|SourceCodePro.map|SourceSansPro.map|SourceSerifPro.map|spectral.map|sqrcaps.map|Starburst.map|starfont.map|STEPGreekTest.map|STEP.map|SticksTooText.map|stix2.map|stix.map|superiors.map|svrsymbols.map|syriac.map|tabvar.map|tempora.map|tfrupee.map|TheanoDidot.map|TheanoModern.map|TheanoOldStyle.map|tinos.map|tlwg.map|txfonts.map|txttvn.map|TXUprCal.map|Typocaps.map|uag.map|uaq.map|ubk.map|ucr.map|ugq.map|uhv.map|umj.map|unc.map|universalis.map|upl.map|urwvn.map|usy.map|utm.map|utopia.map|uzc.map|uzd.map|vntopia.map|XCharter.map|ybd.map|ybv.map|yes.map|yfrak.map|yly.map|yrd.map|yv1.map|yv2.map|yv3.map|yvo.map|yvt.map|Zallman.map|Zeroswald.map|zi4.map'`; then - %{_bindir}/updmap-sys --nomkmap --disable Map=$shortfile >/dev/null 2>&1 || : - fi - fi -done <<< "$list" -# With the demise of updmap-map, we need to make system maps here. -# %{_bindir}/updmap-sys --quiet --nomkmap >/dev/null || : -yes | %{_bindir}/updmap-sys --quiet --syncwithtrees >/dev/null 2>&1 || : -%{_bindir}/updmap-sys --quiet --force 2>&1 || : - -%transfiletriggerin -n %{shortname}-kpathsea -P 2000000 -- %{_texdir}/fmtutil.cnf.d/ -%{_sbindir}/generate-fmtutilcnf %{_texdir} - -%transfiletriggerpostun -n %{shortname}-kpathsea -P 2000000 -- %{_texdir}/fmtutil.cnf.d/ -%{_sbindir}/generate-fmtutilcnf %{_texdir} - -%files -%{_texdir}/licenses/ -%{_texdir}/texlive.tlpdb -%{_texdir}/tlpkg/texlive.tlpdb -%{_rpmmacrodir}/macros.texlive -# Mostly we own directories. -%dir %{_sysconfdir}/%{shortname} -%dir %{_sysconfdir}/%{shortname}/dvips -%dir %{_sysconfdir}/%{shortname}/dvips/config -%dir %{_sysconfdir}/%{shortname}/tex -%dir %{_sysconfdir}/%{shortname}/tex/generic -%dir %{_sysconfdir}/%{shortname}/tex/generic/config -%dir %{_sysconfdir}/%{shortname}/web2c -%dir %{_texdir} -%dir %{_texdir}/texmf-dist -%dir %{_texdir}/texmf-dist/bibtex/ -%dir %{_texdir}/texmf-dist/bibtex/csf -%dir %{_texdir}/texmf-dist/bibtex/csf/base -%dir %{_texdir}/texmf-dist/doc -%dir %{_texdir}/texmf-dist/doc/info -%dir %{_texdir}/texmf-dist/doc/man -%dir %{_texdir}/texmf-dist/doc/man/man1 -%dir %{_texdir}/texmf-dist/doc/man/man5 -%dir %{_texdir}/texmf-dist/dvips -%dir %{_texdir}/texmf-dist/dvips/config -%dir %{_texdir}/texmf-dist/fonts -%dir %{_texdir}/texmf-dist/fonts/cmap -%dir %{_texdir}/texmf-dist/fonts/enc -%dir %{_texdir}/texmf-dist/fonts/enc/dvips -%dir %{_texdir}/texmf-dist/fonts/map -%dir %{_texdir}/texmf-dist/fonts/map/dvips -%dir %{_texdir}/texmf-dist/fonts/map/glyphlist -%dir %{_texdir}/texmf-dist/fonts/sfd -%dir %{_texdir}/texmf-dist/scripts -%dir %{_texdir}/texmf-dist/scripts/texlive -%dir %{_texdir}/texmf-dist/source -%dir %{_texdir}/texmf-dist/source/fonts -%dir %{_texdir}/texmf-dist/source/fonts/zhmetrics -%dir %{_texdir}/texmf-dist/tex -%dir %{_texdir}/texmf-dist/tex/generic -%dir %{_texdir}/texmf-dist/tex/generic/bibtex -%dir %{_texdir}/texmf-dist/tex/generic/config -%dir %{_texdir}/texmf-dist/tex/latex -%dir %{_texdir}/texmf-dist/tex/lualatex -%dir %{_texdir}/texmf-dist/tex/luatex -%dir %{_texdir}/texmf-dist/tex/xelatex -%dir %{_texdir}/texmf-dist/web2c -%dir %{_texmf_var} -%doc %{_texdir}/doc.html -%{_texdir}/texmf-var -%{_texdir}/texmf-local/ -%{_datadir}/texmf -%ghost %{_datadir}/texmf.rpmmoved - -%files -n %{shortname}-a2ping -%license gpl.txt -%{_bindir}/a2ping -%{_texdir}/texmf-dist/scripts/a2ping/ -%{_mandir}/man1/a2ping.1* -%doc %{_texdir}/texmf-dist/doc/support/a2ping/ - -%files -n %{shortname}-accfonts -%license gpl.txt -%{_bindir}/mkt1font -%{_bindir}/vpl2ovp -%{_bindir}/vpl2vpl -%{_texdir}/texmf-dist/scripts/accfonts/ -%{_texdir}/texmf-dist/tex/latex/accfonts/ -%doc %{_texdir}/texmf-dist/doc/fonts/accfonts/ - -%files -n %{shortname}-adhocfilelist -%license lppl1.txt -%{_bindir}/adhocfilelist -%{_texdir}/texmf-dist/scripts/adhocfilelist/ -%{_texdir}/texmf-dist/tex/support/adhocfilelist/ -%doc %{_texdir}/texmf-dist/doc/support/adhocfilelist/ - -%files -n %{shortname}-afm2pl -%license lppl1.txt -%{_bindir}/afm2pl -%{_mandir}/man1/afm2pl.1* -%{_texdir}/texmf-dist/fonts/enc/dvips/afm2pl/ -%{_texdir}/texmf-dist/fonts/lig/afm2pl/ -%{_texdir}/texmf-dist/tex/fontinst/afm2pl/ - -%files -n %{shortname}-albatross -%license bsd.txt -%{_bindir}/albatross -%{_mandir}/man1/albatross.* -%doc %{_texdir}/texmf-dist/doc/support/albatross -%{_texdir}/texmf-dist/scripts/albatross - -%files -n %{shortname}-aleph -%license gpl.txt -%{_bindir}/aleph -# symlink to aleph, not created in 2021 -# %%{_bindir}/lamed -%{_mandir}/man1/aleph.1* -# %%{_mandir}/man1/lamed.1* -%{fmtutil_cnf_d}/aleph -%doc %{_texdir}/texmf-dist/doc/aleph/ - -%files -n %{shortname}-amstex -%license lppl1.txt -%{_bindir}/amstex -%{_mandir}/man1/amstex.1* -%{_texdir}/texmf-dist/tex/amstex/base/ -%{_texdir}/texmf-dist/tex/amstex/config/ -%{fmtutil_cnf_d}/amstex -%doc %{_texdir}/texmf-dist/doc/amstex/base/ - -%files -n %{shortname}-arara -%license bsd.txt -%{_bindir}/arara -%{_mandir}/man1/arara.* -%{_texdir}/texmf-dist/scripts/arara/ -%doc %{_texdir}/texmf-dist/doc/support/arara/ - -%files -n %{shortname}-attachfile2 -%license lppl1.3.txt -%{_bindir}/pdfatfi -%{_mandir}/man1/pdfatfi.1* -%{_texdir}/texmf-dist/scripts/attachfile2/ -%{_texdir}/texmf-dist/tex/latex/attachfile2/ -%doc %{_texdir}/texmf-dist/doc/latex/attachfile2/ - -%files -n %{shortname}-authorindex -%license lppl1.txt -%{_bindir}/authorindex -%{_texdir}/texmf-dist/scripts/authorindex/ -%{_texdir}/texmf-dist/tex/latex/authorindex/ -%doc %{_texdir}/texmf-dist/doc/latex/authorindex/ - -%files -n %{shortname}-autosp -%license gpl2.txt -%{_bindir}/autosp -%{_bindir}/tex2aspc -%{_mandir}/man1/autosp.1* -%{_mandir}/man1/tex2aspc.1* -%doc %{_texdir}/texmf-dist/doc/generic/autosp/ - -%files -n %{shortname}-axodraw2 -%license gpl3.txt -%{_bindir}/axohelp -%{_mandir}/man1/axohelp.1* -%{_texdir}/texmf-dist/tex/latex/axodraw2/ -%doc %{_texdir}/texmf-dist/doc/latex/axodraw2/ - -%files -n %{shortname}-bib2gls -%license gpl3.txt -%{_bindir}/bib2gls -%{_bindir}/convertgls2bib -%{_mandir}/man1/bib2gls.1* -%{_mandir}/man1/convertgls2bib.1* -%{_texdir}/texmf-dist/scripts/bib2gls/ -%doc %{_texdir}/texmf-dist/doc/support/bib2gls/ - -%files -n %{shortname}-bibcop -%license mit.txt -%doc %{_texdir}/texmf-dist/doc/bibtex/bibcop -%{_bindir}/bibcop -%{_mandir}/man1/bibcop.1* -%{_texdir}/texmf-dist/scripts/bibcop -%{_texdir}/texmf-dist/tex/latex/bibcop - -%files -n %{shortname}-bibexport -%license lppl1.3.txt -%{_bindir}/bibexport -%{_bindir}/bibexport.sh -%{_texdir}/texmf-dist/bibtex/bst/bibexport/ -%{_texdir}/texmf-dist/scripts/bibexport/ -%doc %{_texdir}/texmf-dist/doc/bibtex/bibexport/ - -%files -n %{shortname}-bibtex -%license knuth.txt -%{_bindir}/bibtex -%{_mandir}/man1/bibtex.1* -%{_texdir}/texmf-dist/bibtex/bib/base/xampl.bib -%{_texdir}/texmf-dist/bibtex/bst/base/abbrv.bst -%{_texdir}/texmf-dist/bibtex/bst/base/acm.bst -%{_texdir}/texmf-dist/bibtex/bst/base/alpha.bst -%{_texdir}/texmf-dist/bibtex/bst/base/apalike.bst -%{_texdir}/texmf-dist/bibtex/bst/base/ieeetr.bst -%{_texdir}/texmf-dist/bibtex/bst/base/plain.bst -%{_texdir}/texmf-dist/bibtex/bst/base/siam.bst -%{_texdir}/texmf-dist/bibtex/bst/base/unsrt.bst -%doc %{_texdir}/texmf-dist/doc/bibtex/base/README -%doc %{_texdir}/texmf-dist/doc/bibtex/base/btxbst.doc -%doc %{_texdir}/texmf-dist/doc/bibtex/base/btxdoc.bib -%doc %{_texdir}/texmf-dist/doc/bibtex/base/btxdoc.pdf -%doc %{_texdir}/texmf-dist/doc/bibtex/base/btxdoc.tex -%doc %{_texdir}/texmf-dist/doc/bibtex/base/btxhak.pdf -%doc %{_texdir}/texmf-dist/doc/bibtex/base/btxhak.tex -%{_texdir}/texmf-dist/tex/generic/bibtex/apalike.sty -%{_texdir}/texmf-dist/tex/generic/bibtex/apalike.tex - -%files -n %{shortname}-bibtexu -%license lppl1.txt -%{_bindir}/bibtexu -%doc %{_texdir}/texmf-dist/doc/bibtexu/ -%{_mandir}/man1/bibtexu.1* - -%files -n %{shortname}-bibtex8 -%license gpl.txt -%{_bindir}/bibtex8 -%{_texdir}/texmf-dist/bibtex/csf/base/88591lat.csf -%{_texdir}/texmf-dist/bibtex/csf/base/88591sca.csf -%{_texdir}/texmf-dist/bibtex/csf/base/README.TEXLIVE -%{_texdir}/texmf-dist/bibtex/csf/base/ascii.csf -%{_texdir}/texmf-dist/bibtex/csf/base/cp437lat.csf -%{_texdir}/texmf-dist/bibtex/csf/base/cp850lat.csf -%{_texdir}/texmf-dist/bibtex/csf/base/cp850sca.csf -%{_texdir}/texmf-dist/bibtex/csf/base/cp866rus.csf -%{_texdir}/texmf-dist/bibtex/csf/base/csfile.txt -%{_texdir}/texmf-dist/bibtex/csf/polish-csf/88592pl.csf -%{_texdir}/texmf-dist/bibtex/csf/polish-csf/cp1250pl.csf -%{_texdir}/texmf-dist/bibtex/csf/polish-csf/cp852pl.csf -%{_texdir}/texmf-dist/bibtex/csf/polish-csf/iso8859-7.csf -%doc %{_texdir}/texmf-dist/doc/bibtex8/ -%{_mandir}/man1/bibtex8.1* - -%files -n %{shortname}-bundledoc -%license lppl1.txt -%{_bindir}/arlatex -%{_bindir}/bundledoc -%{_mandir}/man1/arlatex.1* -%{_mandir}/man1/bundledoc.1* -%{_texdir}/texmf-dist/scripts/bundledoc/ -%{_texdir}/texmf-dist/tex/latex/bundledoc/ -%doc %{_texdir}/texmf-dist/doc/support/bundledoc/ - -%files -n %{shortname}-cachepic -%license lppl1.3.txt -%{_bindir}/cachepic -%{_texdir}/texmf-dist/scripts/cachepic/ -%{_texdir}/texmf-dist/tex/latex/cachepic/ -%doc %{_texdir}/texmf-dist/doc/latex/cachepic/ - -%files -n %{shortname}-checkcites -%license lppl1.3.txt -%{_bindir}/checkcites -%{_texdir}/texmf-dist/scripts/checkcites/ -%doc %{_texdir}/texmf-dist/doc/support/checkcites/ - -%files -n %{shortname}-checklistings -%license lppl1.2.txt -%{_bindir}/checklistings -%{_texdir}/texmf-dist/scripts/checklistings/ -%{_texdir}/texmf-dist/tex/latex/checklistings/ -%doc %{_texdir}/texmf-dist/doc/latex/checklistings/ - -%files -n %{shortname}-chklref -%license gpl3.txt -%{_bindir}/chklref -%{_mandir}/man1/chklref.1* -%{_texdir}/texmf-dist/scripts/chklref/ -%{_texdir}/texmf-dist/tex/latex/chklref/ -%doc %{_texdir}/texmf-dist/doc/support/chklref/ - -%files -n %{shortname}-chktex -%license gpl.txt -%{_bindir}/chktex -%{_bindir}/chkweb -%{_bindir}/deweb -%{_mandir}/man1/chktex.1* -%{_mandir}/man1/chkweb.1* -%{_mandir}/man1/deweb.1* -%{_texdir}/texmf-dist/chktex/ -%{_texdir}/texmf-dist/scripts/chktex/ -%doc %{_texdir}/texmf-dist/doc/chktex/ - -%files -n %{shortname}-citation-style-language -%license mit.txt cc-by-sa-3.txt -%{_bindir}/citeproc-lua -%{_mandir}/man1/citeproc-lua.1* -%{_texdir}/texmf-dist/scripts/citation-style-language/ -%{_texdir}/texmf-dist/tex/latex/citation-style-language/ -%doc %{_texdir}/texmf-dist/doc/latex/citation-style-language/ - -%if 0 -%files -n %{shortname}-cjk-gs-integrate -%license gpl3.txt -%{_bindir}/cjk-gs-integrate -%{_texdir}/texmf-dist/scripts/cjk-gs-integrate/ -%{_texdir}/texmf-dist/fonts/misc/cjk-gs-integrate/ -%doc %{_texdir}/texmf-dist/doc/fonts/cjk-gs-integrate/ -%endif - -%files -n %{shortname}-cjkutils -%license lppl1.txt -%{_bindir}/bg5+latex -%{_bindir}/bg5+pdflatex -%{_bindir}/bg5conv -%{_bindir}/bg5latex -%{_bindir}/bg5pdflatex -%{_bindir}/cef5conv -%{_bindir}/cef5latex -%{_bindir}/cef5pdflatex -%{_bindir}/cefconv -%{_bindir}/ceflatex -%{_bindir}/cefpdflatex -%{_bindir}/cefsconv -%{_bindir}/cefslatex -%{_bindir}/cefspdflatex -%{_bindir}/extconv -%{_bindir}/gbklatex -%{_bindir}/gbkpdflatex -%{_bindir}/hbf2gf -%{_bindir}/sjisconv -%{_bindir}/sjislatex -%{_bindir}/sjispdflatex -%{_mandir}/man1/bg5conv.1* -%{_mandir}/man1/cef5conv.1* -%{_mandir}/man1/cefconv.1* -%{_mandir}/man1/cefsconv.1* -%{_mandir}/man1/extconv.1* -%{_mandir}/man1/hbf2gf.1* -%{_mandir}/man1/sjisconv.1* -%{_texdir}/texmf-dist/hbf2gf/ - -%files -n %{shortname}-clojure-pamphlet -%license gpl3.txt -%{_bindir}/pamphletangler -%{_mandir}/man1/pamphletangler.1* -%{_texdir}/texmf-dist/scripts/clojure-pamphlet/ -%{_texdir}/texmf-dist/tex/latex/clojure-pamphlet/ -%doc %{_texdir}/texmf-dist/doc/support/clojure-pamphlet/ - -%files -n %{shortname}-cluttex -%license gpl3.txt -%{_bindir}/cllualatex -%{_bindir}/cluttex -%{_bindir}/clxelatex -%{_texdir}/texmf-dist/scripts/cluttex/ -%doc %{_texdir}/texmf-dist/doc/support/cluttex/ - -%files -n %{shortname}-context -%{_bindir}/context -# %%{_bindir}/contextjit -# %%{_bindir}/luatools -%{_bindir}/mtxrun -# %%{_bindir}/mtxrunjit -# %%{_bindir}/texexec -%{_bindir}/texmfstart -%{_mandir}/man1/context.1* -%{_mandir}/man1/luatools.1* -%{_mandir}/man1/mtx-babel.1* -%{_mandir}/man1/mtx-base.1* -%{_mandir}/man1/mtx-bibtex.1* -%{_mandir}/man1/mtx-cache.1* -%{_mandir}/man1/mtx-chars.1* -%{_mandir}/man1/mtx-check.1* -%{_mandir}/man1/mtx-colors.1* -%{_mandir}/man1/mtx-context.1* -%{_mandir}/man1/mtx-dvi.1* -%{_mandir}/man1/mtx-epub.1* -%{_mandir}/man1/mtx-evohome.1* -%{_mandir}/man1/mtx-fcd.1* -%{_mandir}/man1/mtx-flac.1* -%{_mandir}/man1/mtx-fonts.1* -%{_mandir}/man1/mtx-grep.1* -%{_mandir}/man1/mtx-interface.1* -%{_mandir}/man1/mtx-metapost.1* -# %%{_mandir}/man1/mtx-metatex.1* -%{_mandir}/man1/mtx-modules.1* -%{_mandir}/man1/mtx-package.1* -%{_mandir}/man1/mtx-patterns.1* -%{_mandir}/man1/mtx-pdf.1* -%{_mandir}/man1/mtx-plain.1* -%{_mandir}/man1/mtx-profile.1* -%{_mandir}/man1/mtx-rsync.1* -%{_mandir}/man1/mtx-scite.1* -%{_mandir}/man1/mtx-server.1* -%{_mandir}/man1/mtx-spell.1* -%{_mandir}/man1/mtx-texworks.1* -%{_mandir}/man1/mtx-timing.1* -%{_mandir}/man1/mtx-tools.1* -%{_mandir}/man1/mtx-unicode.1* -%{_mandir}/man1/mtx-unzip.1* -%{_mandir}/man1/mtx-update.1* -%{_mandir}/man1/mtx-vscode.1* -%{_mandir}/man1/mtx-watch.1* -%{_mandir}/man1/mtx-youless.1* -%{_mandir}/man1/mtxrun.1* -# %%{_mandir}/man1/texexec.1* -# %%{_mandir}/man1/texmfstart.1* -%{_texdir}/texmf-dist/bibtex/bst/context/ -%{_texdir}/texmf-dist/context/ -%{_texdir}/texmf-dist/fonts/afm/hoekwater/context/contnav.afm -%{_texdir}/texmf-dist/fonts/cid/fontforge/Adobe-CNS1-4.cidmap -%{_texdir}/texmf-dist/fonts/cid/fontforge/Adobe-GB1-4.cidmap -%{_texdir}/texmf-dist/fonts/cid/fontforge/Adobe-Identity-0.cidmap -%{_texdir}/texmf-dist/fonts/cid/fontforge/Adobe-Japan1-5.cidmap -%{_texdir}/texmf-dist/fonts/cid/fontforge/Adobe-Japan1-6.cidmap -%{_texdir}/texmf-dist/fonts/cid/fontforge/Adobe-Japan2-0.cidmap -%{_texdir}/texmf-dist/fonts/cid/fontforge/Adobe-Korea1-2.cidmap -# %%{_texdir}/texmf-dist/fonts/enc/dvips/context/ -# %%{_texdir}/texmf-dist/fonts/fea/context/ -%{_texdir}/texmf-dist/fonts/map/dvips/context/ -%{_texdir}/texmf-dist/fonts/map/luatex/context/ -%{_texdir}/texmf-dist/fonts/map/pdftex/context/ -%{_texdir}/texmf-dist/fonts/misc/xetex/fontmapping/context/ -%{_texdir}/texmf-dist/fonts/tfm/hoekwater/context/ -%{_texdir}/texmf-dist/fonts/type1/hoekwater/context/ -%{_texdir}/texmf-dist/metapost/context/ -%exclude %{_texdir}/texmf-dist/scripts/context/perl/mptopdf.pl -%{_texdir}/texmf-dist/scripts/context/ -%{_texdir}/texmf-dist/tex/context/ -# these four are in mptopdf -%exclude %{_texdir}/texmf-dist/tex/context/base/mkii/supp-mis.mkii -%exclude %{_texdir}/texmf-dist/tex/context/base/mkii/supp-mpe.mkii -%exclude %{_texdir}/texmf-dist/tex/context/base/mkii/supp-pdf.mkii -%exclude %{_texdir}/texmf-dist/tex/context/base/mkii/syst-tex.mkii -%exclude %{_texdir}/texmf-dist/tex/generic/context/mptopdf -%{_texdir}/texmf-dist/tex/generic/context/ -%{_texdir}/texmf-dist/tex/latex/context/ -# %%{fmtutil_cnf_d}/context - -%files -n %{shortname}-context-doc -%doc %{_texdir}/texmf-dist/doc/context/ - -%files -n %{shortname}-convbkmk -%{_bindir}/convbkmk -%{_texdir}/texmf-dist/scripts/convbkmk/ -%doc %{_texdir}/texmf-dist/doc/support/convbkmk/ - -%files -n %{shortname}-crossrefware -%license gpl.txt -%{_bindir}/bbl2bib -%{_bindir}/bibdoiadd -%{_bindir}/bibmradd -%{_bindir}/biburl2doi -%{_bindir}/bibzbladd -%{_bindir}/ltx2crossrefxml -%{_mandir}/man1/bbl2bib.1* -%{_mandir}/man1/bibdoiadd.1* -%{_mandir}/man1/bibmradd.1* -%{_mandir}/man1/biburl2doi.1* -%{_mandir}/man1/bibzbladd.1* -%{_mandir}/man1/ltx2crossrefxml.1* -%{_texdir}/texmf-dist/scripts/crossrefware/ -%{_texdir}/texmf-dist/tex/latex/crossrefware/ -%doc %{_texdir}/texmf-dist/doc/support/crossrefware/ - -%files -n %{shortname}-cslatex -%license gpl.txt -%{_bindir}/cslatex -%{_bindir}/pdfcslatex -%{_texdir}/texmf-dist/tex/cslatex/ -%{fmtutil_cnf_d}/cslatex - -%files -n %{shortname}-csplain -%{_bindir}/csplain -%{_bindir}/pdfcsplain -%{_texdir}/texmf-dist/tex/csplain/ -%{fmtutil_cnf_d}/csplain - -%files -n %{shortname}-ctan-o-mat -%license bsd.txt -%{_bindir}/ctan-o-mat -%{_mandir}/man1/ctan-o-mat.1* -%{_texdir}/texmf-dist/scripts/ctan-o-mat/ -%doc %{_texdir}/texmf-dist/doc/support/ctan-o-mat/ - -%files -n %{shortname}-ctanbib -%license lppl1.3.txt -%{_bindir}/ctanbib -%{_mandir}/man1/ctanbib.1* -%{_texdir}/texmf-dist/scripts/ctanbib/ -%doc %{_texdir}/texmf-dist/doc/support/ctanbib/ - -%files -n %{shortname}-ctanify -%license lppl1.3.txt -%{_bindir}/ctanify -%{_mandir}/man1/ctanify.1* -%{_texdir}/texmf-dist/scripts/ctanify/ -%doc %{_texdir}/texmf-dist/doc/latex/ctanify/ - -%files -n %{shortname}-ctanupload -%license gpl3.txt -%{_bindir}/ctanupload -%{_texdir}/texmf-dist/scripts/ctanupload/ -%doc %{_texdir}/texmf-dist/doc/support/ctanupload/ - -%files -n %{shortname}-ctie -%license gpl.txt -%{_bindir}/ctie -%{_mandir}/man1/ctie.1* - -%files -n %{shortname}-cweb -%license knuth.txt -%{_bindir}/ctangle -%{_bindir}/ctwill -%{_bindir}/ctwill-refsort -%{_bindir}/ctwill-twinx -%{_bindir}/cweave -%{_bindir}/twill -%{_mandir}/man1/ctangle.1* -%{_mandir}/man1/ctwill.1* -%{_mandir}/man1/ctwill-refsort.1* -%{_mandir}/man1/ctwill-twinx.1* -%{_mandir}/man1/cweave.1* -%{_mandir}/man1/cweb.1* -%{_mandir}/man1/twill.1* -%{_texdir}/texmf-dist/tex/plain/cweb/ - -%files -n %{shortname}-cyrillic -%license lppl1.3.txt -%{_bindir}/rubibtex -%{_bindir}/rumakeindex -%{_mandir}/man1/rubibtex.1* -%{_mandir}/man1/rumakeindex.1* -%{_texdir}/texmf-dist/tex/latex/cyrillic/ -%{_texdir}/texmf-dist/scripts/texlive-extra/rubibtex.sh -%{_texdir}/texmf-dist/scripts/texlive-extra/rumakeindex.sh -%doc %{_texdir}/texmf-dist/doc/latex/cyrillic/ - -%files -n %{shortname}-de-macro -%{_bindir}/de-macro -%{_texdir}/texmf-dist/scripts/de-macro/ -%doc %{_texdir}/texmf-dist/doc/support/de-macro/ - -%files -n %{shortname}-detex -%{_bindir}/detex -%{_mandir}/man1/detex.1* - -%files -n %{shortname}-diadia -%license lppl1.txt -%{_bindir}/diadia -%{_texdir}/texmf-dist/scripts/diadia/ -%{_texdir}/texmf-dist/tex/latex/diadia/ -%doc %{_texdir}/texmf-dist/doc/latex/diadia/ - -%files -n %{shortname}-digestif -%license gpl3.txt lppl1.3.txt fdl.txt -%{_bindir}/digestif -%{_texdir}/texmf-dist/scripts/digestif -%doc %{_texdir}/texmf-dist/doc/support/digestif - -%files -n %{shortname}-dosepsbin -%{_bindir}/dosepsbin -%{_mandir}/man1/dosepsbin.1* -%{_texdir}/texmf-dist/scripts/dosepsbin/ -%doc %{_texdir}/texmf-dist/doc/support/dosepsbin/ - -%files -n %{shortname}-dtl -%license pd.txt -%{_bindir}/dt2dv -%{_bindir}/dv2dt -%{_mandir}/man1/dt2dv.1* -%{_mandir}/man1/dv2dt.1* - -%files -n %{shortname}-dtxgen -%license gpl.txt -%{_bindir}/dtxgen -%{_texdir}/texmf-dist/scripts/dtxgen/ -%doc %{_texdir}/texmf-dist/doc/support/dtxgen/ - -%files -n %{shortname}-dvi2tty -%license gpl.txt -%{_bindir}/disdvi -%{_bindir}/dvi2tty -%{_mandir}/man1/disdvi.1* -%{_mandir}/man1/dvi2tty.1* - -%files -n %{shortname}-dviasm -%license gpl3.txt -%{_bindir}/dviasm -%{_mandir}/man1/dviasm.1* -%{_texdir}/texmf-dist/scripts/dviasm/ -%doc %{_texdir}/texmf-dist/doc/latex/dviasm/ - -%files -n %{shortname}-dvicopy -%license gpl.txt -%{_bindir}/dvicopy -%{_mandir}/man1/dvicopy.1* - -%files -n %{shortname}-dvidvi -%{_bindir}/dvidvi -%{_mandir}/man1/dvidvi.1* - -%files -n %{shortname}-dviinfox -%{_bindir}/dviinfox -%{_texdir}/texmf-dist/scripts/dviinfox/ -%doc %{_texdir}/texmf-dist/doc/latex/dviinfox/ - -%files -n %{shortname}-dviljk -%license gpl.txt -%{_bindir}/dvihp -%{_bindir}/dvilj -%{_bindir}/dvilj2p -%{_bindir}/dvilj4 -%{_bindir}/dvilj4l -%{_bindir}/dvilj6 -%{_mandir}/man1/dvihp.1* -%{_mandir}/man1/dvilj.1* -%{_mandir}/man1/dvilj2p.1* -%{_mandir}/man1/dvilj4.1* -%{_mandir}/man1/dvilj4l.1* -%{_mandir}/man1/dvilj6.1* - -%files -n %{shortname}-dviout-util -%{_bindir}/chkdvifont -%{_bindir}/dvispc -%{_mandir}/man1/chkdvifont.1* -%{_mandir}/man1/dvispc.1* - -%files -n %{shortname}-dvipdfmx -%license gpl.txt -%{_bindir}/dvipdfm -%{_bindir}/dvipdfmx -%{_bindir}/dvipdft -%{_bindir}/ebb -%{_bindir}/extractbb -%{_mandir}/man1/dvipdfm.1* -%{_mandir}/man1/dvipdfmx.1* -%{_mandir}/man1/dvipdft.1* -%{_mandir}/man1/ebb.1* -%{_mandir}/man1/extractbb.1* -%{_mandir}/man1/xdvipdfmx.1* -%{_texdir}/texmf-dist/dvipdfmx/ -%{_texdir}/texmf-dist/fonts/cmap/dvipdfmx/ -%{_texdir}/texmf-dist/fonts/map/dvipdfmx/ -%exclude %{_texdir}/texmf-dist/fonts/map/dvipdfmx/ptex-fontmaps/ -%{_texdir}/tlpkg/tlpostcode/dvipdfmx.pl -%doc %{_texdir}/texmf-dist/doc/dvipdfm/ -%doc %{_texdir}/texmf-dist/doc/dvipdfmx/ - -%files -n %{shortname}-dvipng -%license lgpl2.1.txt -%{_bindir}/dvigif -%{_bindir}/dvipng -%{_mandir}/man1/dvigif.1* -%{_mandir}/man1/dvipng.1* -%{_infodir}/dvipng.info* -%doc %{_texdir}/texmf-dist/doc/dvipng/ - -%files -n %{shortname}-dvipos -%license lppl1.txt -%{_bindir}/dvipos -%{_mandir}/man1/dvipos.1* - -%files -n %{shortname}-dvips -%license gpl.txt -%{_bindir}/afm2tfm -%{_bindir}/dvips -%{_mandir}/man1/afm2tfm.1* -%{_mandir}/man1/dvips.1* -%{_infodir}/dvips.info* -%{_texdir}/texmf-dist/dvips/base/ -%{_texdir}/texmf-dist/dvips/config/alt-rule.pro -%{_texdir}/texmf-dist/dvips/config/canonex.cfg -%{_texdir}/texmf-dist/dvips/config/config.bakoma -%{_texdir}/texmf-dist/dvips/config/config.canonex -%{_texdir}/texmf-dist/dvips/config/config.cx -%{_texdir}/texmf-dist/dvips/config/config.deskjet -%{_texdir}/texmf-dist/dvips/config/config.dvired -%{_texdir}/texmf-dist/dvips/config/config.epson -%{_texdir}/texmf-dist/dvips/config/config.ibmvga -%{_texdir}/texmf-dist/dvips/config/config.ljfour -%{_texdir}/texmf-dist/dvips/config/config.luc -%{_texdir}/texmf-dist/dvips/config/config.mbn -%{_texdir}/texmf-dist/dvips/config/config.mga -%{_texdir}/texmf-dist/dvips/config/config.mirrorprint -%{_texdir}/texmf-dist/dvips/config/config.ot2 -%config(noreplace) %{_sysconfdir}/texlive/dvips/config/config.ps -%{_texdir}/texmf-dist/dvips/config/config.ps -%{_texdir}/texmf-dist/dvips/config/config.qms -%{_texdir}/texmf-dist/dvips/config/config.toshiba -%{_texdir}/texmf-dist/dvips/config/config.unms -%{_texdir}/texmf-dist/dvips/config/config.xyp -%{_texdir}/texmf-dist/dvips/config/cx.cfg -%{_texdir}/texmf-dist/dvips/config/deskjet.cfg -%{_texdir}/texmf-dist/dvips/config/dfaxhigh.cfg -%{_texdir}/texmf-dist/dvips/config/dvired.cfg -%{_texdir}/texmf-dist/dvips/config/epson.cfg -%{_texdir}/texmf-dist/dvips/config/ibmvga.cfg -%{_texdir}/texmf-dist/dvips/config/ljfour.cfg -%{_texdir}/texmf-dist/dvips/config/qms.cfg -%{_texdir}/texmf-dist/dvips/config/toshiba.cfg -%{_texdir}/texmf-dist/fonts/enc/dvips/base/ -%dir %{_texdir}/texmf-dist/fonts/map/dvips/ -%{_texdir}/texmf-dist/tex/generic/dvips/ -%doc %{_texdir}/texmf-dist/doc/dvips/ - -%files -n %{shortname}-dvisvgm -%license gpl.txt -%{_bindir}/dvisvgm -%{_mandir}/man1/dvisvgm.1* - -%files -n %{shortname}-ebong -%license pd.txt -%{_bindir}/ebong -%{_texdir}/texmf-dist/scripts/ebong/ -%doc %{_texdir}/texmf-dist/doc/latex/ebong/ - -%files -n %{shortname}-eplain -%license gpl2.txt -%{_bindir}/eplain -%{_mandir}/man1/eplain.1* -%{_infodir}/eplain.info* -%{_texdir}/texmf-dist/tex/eplain/ -%{fmtutil_cnf_d}/eplain -%doc %{_texdir}/texmf-dist/doc/eplain/ - -%files -n %{shortname}-epspdf -%license gpl.txt -%{_bindir}/epspdf -%{_bindir}/epspdftk -%{_infodir}/epspdf.info* -%{_texdir}/texmf-dist/scripts/epspdf/ -%doc %{_texdir}/texmf-dist/doc/support/epspdf/ - -%files -n %{shortname}-epstopdf -%{_bindir}/epstopdf -%{_bindir}/repstopdf -%{_mandir}/man1/epstopdf.1* -%{_mandir}/man1/repstopdf.1* -%{_texdir}/texmf-dist/scripts/epstopdf/ -%doc %{_texdir}/texmf-dist/doc/support/epstopdf/ - -%files -n %{shortname}-exceltex -%license gpl.txt -%{_bindir}/exceltex -%{_texdir}/texmf-dist/scripts/exceltex/ -%{_texdir}/texmf-dist/tex/latex/exceltex/ -%doc %{_texdir}/texmf-dist/doc/latex/exceltex/ - -%files -n %{shortname}-fig4latex -%license gpl3.txt -%{_bindir}/fig4latex -%{_texdir}/texmf-dist/scripts/fig4latex/ -%doc %{_texdir}/texmf-dist/doc/support/fig4latex/ - -%files -n %{shortname}-findhyph -%license gpl.txt -%{_bindir}/findhyph -%{_mandir}/man1/findhyph.1* -%{_texdir}/texmf-dist/scripts/findhyph/ -%doc %{_texdir}/texmf-dist/doc/support/findhyph/ - -%files -n %{shortname}-fontinst -%license lppl1.txt -%{_bindir}/fontinst -%{_mandir}/man1/fontinst.1* -%{_texdir}/texmf-dist/scripts/texlive-extra/fontinst.sh -%{_texdir}/texmf-dist/tex/fontinst/ -%{_texdir}/texmf-dist/tex/latex/fontinst/ -%doc %{_texdir}/texmf-dist/doc/fonts/fontinst/ - -%files -n %{shortname}-fontools -%license gpl2.txt -%{_bindir}/afm2afm -%{_bindir}/autoinst -%{_bindir}/ot2kpx -%{_mandir}/man1/afm2afm.1* -%{_mandir}/man1/autoinst.1* -%{_mandir}/man1/ot2kpx.1* -%{_texdir}/texmf-dist/fonts/enc/dvips/fontools/ -%{_texdir}/texmf-dist/scripts/fontools/ -%doc %{_texdir}/texmf-dist/doc/support/fontools/ - -%files -n %{shortname}-fontware -%license lppl1.txt -%{_bindir}/pltotf -%{_bindir}/tftopl -%{_bindir}/vftovp -%{_bindir}/vptovf -%{_mandir}/man1/pltotf.1* -%{_mandir}/man1/tftopl.1* -%{_mandir}/man1/vftovp.1* -%{_mandir}/man1/vptovf.1* - -%files -n %{shortname}-fragmaster -%license gpl.txt -%{_bindir}/fragmaster -%{_texdir}/texmf-dist/scripts/fragmaster/ -%doc %{_texdir}/texmf-dist/doc/support/fragmaster/ - -%files -n %{shortname}-getmap -%license lppl1.txt -%{_bindir}/getmapdl -%{_texdir}/texmf-dist/scripts/getmap/ -%{_texdir}/texmf-dist/tex/latex/getmap/ -%doc %{_texdir}/texmf-dist/doc/latex/getmap/ - -%files -n %{shortname}-git-latexdiff -%{_bindir}/git-latexdiff -%{_mandir}/man1/git-latexdiff.* -%doc %{_texdir}/texmf-dist/doc/support/git-latexdiff -%{_texdir}/texmf-dist/scripts/git-latexdiff - -%files -n %{shortname}-glossaries -%license lppl1.3.txt -%{_bindir}/makeglossaries -%{_bindir}/makeglossaries-lite -%{_mandir}/man1/makeglossaries.1* -%{_mandir}/man1/makeglossaries-lite.1* -%{_texdir}/texmf-dist/scripts/glossaries/ -%{_texdir}/texmf-dist/tex/latex/glossaries/ -%doc %{_texdir}/texmf-dist/doc/latex/glossaries/ - -%files -n %{shortname}-glyphlist -%{_texdir}/texmf-dist/fonts/map/glyphlist/ - -%files -n %{shortname}-gregoriotex -%license gpl3.txt -%{_bindir}/gregorio -%{_texdir}/texmf-dist/scripts/gregoriotex/ -%{_texdir}/texmf-dist/tex/lualatex/gregoriotex/ -%{_texdir}/texmf-dist/tex/luatex/gregoriotex/ -%{_texdir}/texmf-dist/fonts/source/gregoriotex/ -%{_texdir}/texmf-dist/fonts/truetype/public/gregoriotex/ -%doc %{_texdir}/texmf-dist/doc/luatex/gregoriotex/ - -%files -n %{shortname}-gsftopk -%license gpl.txt -%{_bindir}/gsftopk -%{_mandir}/man1/gsftopk.1* -%{_texdir}/texmf-dist/dvips/gsftopk/ - -%files -n %{shortname}-hitex -%{_bindir}/hilatex -%{_bindir}/hishrink -%{_bindir}/histretch -%{_bindir}/hitex -%{_mandir}/man1/hishrink.1* -%{_mandir}/man1/histretch.1* -%{_mandir}/man1/hitex.1* -%{_texdir}/fmtutil.cnf.d/hitex -%{_texdir}/texmf-dist/makeindex/hitex/ -%{_texdir}/texmf-dist/tex/hitex/ -%doc %{_texdir}/texmf-dist/doc/hitex/ - -%files -n %{shortname}-hyperxmp -%license lppl1.3c.txt -%{_bindir}/hyperxmp-add-bytecount -%{_mandir}/man1/hyperxmp* -%doc %{_texdir}/texmf-dist/doc/latex/hyperxmp -%{_texdir}/texmf-dist/scripts/hyperxmp -%{_texdir}/texmf-dist/tex/latex/hyperxmp - -%files -n %{shortname}-installfont -%license lppl1.txt -%{_bindir}/installfont-tl -%{_texdir}/texmf-dist/scripts/installfont/ -%doc %{_texdir}/texmf-dist/doc/support/installfont/ - -%files -n %{shortname}-jadetex -%{_bindir}/jadetex -%{_bindir}/pdfjadetex -%{_mandir}/man1/jadetex.1* -%{_mandir}/man1/pdfjadetex.1* -%{_texdir}/texmf-dist/tex/jadetex/ -%{fmtutil_cnf_d}/jadetex -%doc %{_texdir}/texmf-dist/doc/otherformats/jadetex/ - -%files -n %{shortname}-jfmutil -%{_bindir}/jfmutil -%{_texdir}/texmf-dist/scripts/jfmutil/ -%doc %{_texdir}/texmf-dist/doc/fonts/jfmutil/ - -%files -n %{shortname}-ketcindy -%license gpl3.txt -%{_bindir}/ketcindy -%{_texdir}/texmf-dist/scripts/ketcindy/ -%{_texdir}/texmf-dist/tex/latex/ketcindy/ -%doc %{_texdir}/texmf-dist/doc/support/ketcindy/ - -%files -n %{shortname}-kotex-utils -%license lppl1.txt -%{_bindir}/jamo-normalize -%{_bindir}/komkindex -%{_bindir}/ttf2kotexfont -%{_texdir}/texmf-dist/makeindex/kotex-utils/ -%{_texdir}/texmf-dist/scripts/kotex-utils/ -%doc %{_texdir}/texmf-dist/doc/latex/kotex-utils/ - -%files -n %{shortname}-kpathsea -%license lgpl2.1.txt -%{_bindir}/kpseaccess -%{_bindir}/kpsereadlink -%{_bindir}/kpsestat -%{_bindir}/kpsewhich -%{_bindir}/mkocp -%{_bindir}/mkofm -%{_bindir}/mktexfmt -%{_bindir}/texhash -%{_sbindir}/generate-fmtutilcnf -%{_mandir}/man1/kpseaccess.1* -%{_mandir}/man1/kpsereadlink.1* -%{_mandir}/man1/kpsestat.1* -%{_mandir}/man1/kpsewhich.1* -%{_mandir}/man1/mkocp.1* -%{_mandir}/man1/mkofm.1* -%{_mandir}/man1/mktexfmt.1* -%{_mandir}/man1/texhash.1* -%{_mandir}/man5/fmtutil.cnf.5* -%{_infodir}/kpathsea.info* -%{_infodir}/web2c.info* -%{_texdir}/texmf-dist/web2c/amiga-pl.tcx -%{_texdir}/texmf-dist/web2c/cp1250cs.tcx -%{_texdir}/texmf-dist/web2c/cp1250pl.tcx -%{_texdir}/texmf-dist/web2c/cp1250t1.tcx -%{_texdir}/texmf-dist/web2c/cp227.tcx -%{_texdir}/texmf-dist/web2c/cp852-cs.tcx -%{_texdir}/texmf-dist/web2c/cp852-pl.tcx -%{_texdir}/texmf-dist/web2c/cp8bit.tcx -%{_texdir}/texmf-dist/web2c/empty.tcx -%config(noreplace) %{_sysconfdir}/texlive/web2c/fmtutil.cnf -%ghost %{_texdir}/texmf-dist/web2c/fmtutil.cnf -%{_texdir}/texmf-dist/web2c/il1-t1.tcx -%{_texdir}/texmf-dist/web2c/il2-cs.tcx -%{_texdir}/texmf-dist/web2c/il2-pl.tcx -%{_texdir}/texmf-dist/web2c/il2-t1.tcx -%{_texdir}/texmf-dist/web2c/kam-cs.tcx -%{_texdir}/texmf-dist/web2c/kam-t1.tcx -%{_texdir}/texmf-dist/web2c/macce-pl.tcx -%{_texdir}/texmf-dist/web2c/macce-t1.tcx -%{_texdir}/texmf-dist/web2c/maz-pl.tcx -%config(noreplace) %{_sysconfdir}/texlive/web2c/mktex.cnf -%{_texdir}/texmf-dist/web2c/mktex.cnf -%{_texdir}/texmf-dist/web2c/mktex.opt -%{_texdir}/texmf-dist/web2c/mktexdir -%{_texdir}/texmf-dist/web2c/mktexdir.opt -%{_texdir}/texmf-dist/web2c/mktexnam -%{_texdir}/texmf-dist/web2c/mktexnam.opt -%{_texdir}/texmf-dist/web2c/mktexupd -%{_texdir}/texmf-dist/web2c/natural.tcx -%{_texdir}/texmf-dist/web2c/tcvn-t5.tcx -%config(noreplace) %{_sysconfdir}/texlive/web2c/texmf.cnf -%{_texdir}/texmf-dist/web2c/texmf.cnf -%{_texdir}/texmf-dist/web2c/viscii-t5.tcx -%dir %{fmtutil_cnf_d} -%doc %{_texdir}/texmf-dist/doc/kpathsea/ -%doc %{_texdir}/texmf-dist/doc/web2c/ - -%files -n %{shortname}-l3build -%license lppl1.3.txt -%{_bindir}/l3build -%{_mandir}/man1/l3build.1* -%{_texdir}/texmf-dist/scripts/l3build/ -%{_texdir}/texmf-dist/tex/latex/l3build/ -%doc %{_texdir}/texmf-dist/doc/latex/l3build/ - -%files -n %{shortname}-lacheck -%license gpl.txt -%{_bindir}/lacheck -%{_mandir}/man1/lacheck.1* - -%files -n %{shortname}-latex -%license lppl1.3.txt -%{_bindir}/dvilualatex -%{_bindir}/latex -%{_bindir}/lualatex -%{_bindir}/pdflatex -%{_mandir}/man1/latex.1* -%{_mandir}/man1/pdflatex.1* -%{_texdir}/texmf-dist/makeindex/latex/ -%{_texdir}/texmf-dist/tex/latex/base/ -%{fmtutil_cnf_d}/latex-bin -%doc %{_texdir}/texmf-dist/doc/latex/base/ - -%files -n %{shortname}-latex-git-log -%license gpl3.txt -%{_bindir}/latex-git-log -%{_mandir}/man1/latex-git-log.1* -%{_texdir}/texmf-dist/scripts/latex-git-log/ -%doc %{_texdir}/texmf-dist/doc/support/latex-git-log/ - -%files -n %{shortname}-latex-papersize -%license apache2.txt -%{_bindir}/latex-papersize -%{_texdir}/texmf-dist/scripts/latex-papersize -%doc %{_texdir}/texmf-dist/doc/support/latex-papersize/ - -%files -n %{shortname}-latex2man -%license lppl1.txt -%{_bindir}/latex2man -%{_mandir}/man1/latex2man.1* -%{_infodir}/latex2man.info* -%{_texdir}/texmf-dist/scripts/latex2man/ -%{_texdir}/texmf-dist/tex/latex/latex2man/ -%doc %{_texdir}/texmf-dist/doc/support/latex2man/ - -%files -n %{shortname}-latex2nemeth -%license gpl3.txt -%{_bindir}/latex2nemeth -%{_texdir}/texmf-dist/scripts/latex2nemeth -%doc %{_texdir}/texmf-dist/doc/support/latex2nemeth - -%files -n %{shortname}-latexdiff -%license gpl3.txt -%{_bindir}/latexdiff -%{_bindir}/latexdiff-vc -%{_bindir}/latexrevise -%{_mandir}/man1/latexdiff-vc.1* -%{_mandir}/man1/latexdiff.1* -%{_mandir}/man1/latexrevise.1* -%{_texdir}/texmf-dist/scripts/latexdiff/ -%doc %{_texdir}/texmf-dist/doc/support/latexdiff/ - -%files -n %{shortname}-latexfileversion -%license lppl1.txt -%{_bindir}/latexfileversion -%{_texdir}/texmf-dist/scripts/latexfileversion/ -%doc %{_texdir}/texmf-dist/doc/support/latexfileversion/ - -%files -n %{shortname}-latexpand -%license bsd.txt -%{_bindir}/latexpand -%{_texdir}/texmf-dist/scripts/latexpand/ -%doc %{_texdir}/texmf-dist/doc/support/latexpand/ - -%files -n %{shortname}-latexindent -%license gpl3.txt -%{_bindir}/latexindent -%{_texdir}/texmf-dist/scripts/latexindent/ -%doc %{_texdir}/texmf-dist/doc/support/latexindent/ - -%files -n %{shortname}-lcdftypetools -%license gpl.txt -%{_bindir}/cfftot1 -%{_bindir}/mmafm -%{_bindir}/mmpfb -%{_bindir}/otfinfo -%{_bindir}/otftotfm -%{_bindir}/t1dotlessj -%{_bindir}/t1lint -%{_bindir}/t1rawafm -%{_bindir}/t1reencode -%{_bindir}/t1testpage -%{_bindir}/ttftotype42 -%{_mandir}/man1/cfftot1.1* -%{_mandir}/man1/mmafm.1* -%{_mandir}/man1/mmpfb.1* -%{_mandir}/man1/otfinfo.1* -%{_mandir}/man1/otftotfm.1* -%{_mandir}/man1/t1dotlessj.1* -%{_mandir}/man1/t1lint.1* -%{_mandir}/man1/t1rawafm.1* -%{_mandir}/man1/t1reencode.1* -%{_mandir}/man1/t1testpage.1* -%{_mandir}/man1/ttftotype42.1* - -%files -n %{shortname}-lib -%{_libdir}/*.so.* -%dir %{_texdir}/texmf-config -%dir %{_texdir}/texmf-config/web2c -%attr(0644, root, root) %verify(not md5 size mtime) %ghost %{_texdir}/texmf-config/ls-R -%attr(0644, root, root) %verify(not md5 size mtime) %ghost %{_texdir}/texmf-dist/ls-R -%attr(0644, root, root) %verify(not md5 size mtime) %ghost %{_texdir}/texmf-local/ls-R - -%files -n %{shortname}-lib-devel -%dir %{_includedir}/kpathsea -%{_includedir}/kpathsea/* -%{_includedir}/synctex/ -%{_includedir}/texlua53/ -%ifnarch %{power64} s390 s390x riscv64 -%{_includedir}/texluajit/ -%endif -%{_libdir}/*.so -%{_libdir}/pkgconfig/*.pc - -%files -n %{shortname}-light-latex-make -%{_bindir}/llmk -%{_mandir}/man1/llmk* -%doc %{_texdir}/texmf-dist/doc/support/light-latex-make -%{_texdir}/texmf-dist/scripts/light-latex-make - -%files -n %{shortname}-lilyglyphs -%license lppl1.3.txt -%{_bindir}/lily-glyph-commands -%{_bindir}/lily-image-commands -%{_bindir}/lily-rebuild-pdfs -%{_datadir}/fonts/lilyglyphs -%{_texdir}/texmf-dist/fonts/opentype/public/lilyglyphs/ -%{_texdir}/texmf-dist/scripts/lilyglyphs/ -%{_texdir}/texmf-dist/tex/latex/lilyglyphs/ -%doc %{_texdir}/texmf-dist/doc/latex/lilyglyphs/ - -%files -n %{shortname}-listbib -%license gpl.txt -%{_bindir}/listbib -%{_texdir}/texmf-dist/bibtex/bst/listbib/ -%{_texdir}/texmf-dist/scripts/listbib/ -%{_texdir}/texmf-dist/tex/latex/listbib/ -%doc %{_texdir}/texmf-dist/doc/latex/listbib/ - -%files -n %{shortname}-listings-ext -%license lppl1.2.txt -%{_bindir}/listings-ext.sh -%{_texdir}/texmf-dist/scripts/listings-ext/ -%{_texdir}/texmf-dist/tex/latex/listings-ext/ -%doc %{_texdir}/texmf-dist/doc/latex/listings-ext/ - -%files -n %{shortname}-lollipop -%license gpl3.txt -%{_bindir}/lollipop -%{_texdir}/texmf-dist/tex/lollipop/ -%{fmtutil_cnf_d}/lollipop -%doc %{_texdir}/texmf-dist/doc/otherformats/lollipop/ - -%files -n %{shortname}-ltxfileinfo -%license gpl.txt -%{_bindir}/ltxfileinfo -%{_texdir}/texmf-dist/scripts/ltxfileinfo/ -%doc %{_texdir}/texmf-dist/doc/support/ltxfileinfo/ - -%files -n %{shortname}-ltximg -%license gpl2.txt -%{_bindir}/ltximg -%{_mandir}/man1/ltximg.1* -%{_texdir}/texmf-dist/scripts/ltximg/ -%doc %{_texdir}/texmf-dist/doc/support/ltximg/ - -%files -n %{shortname}-luafindfont -%license lppl1.3c.txt -%{_bindir}/luafindfont -%{_mandir}/man1/luafindfont.1* -%{_texdir}/texmf-dist/scripts/luafindfont/ -%doc %{_texdir}/texmf-dist/doc/support/luafindfont/ - -%files -n %{shortname}-luaotfload -%license gpl2.txt -%{_bindir}/luaotfload-tool -%{_mandir}/man1/luaotfload-tool.1* -%{_mandir}/man5/luaotfload.conf.5* -%{_texdir}/texmf-dist/scripts/luaotfload/ -%{_texdir}/texmf-dist/tex/luatex/luaotfload/ -%doc %{_texdir}/texmf-dist/doc/luatex/luaotfload/ - -%files -n %{shortname}-luahbtex -%license gpl2.txt -%{_bindir}/luahbtex -%{_bindir}/lualatex-dev -%{_mandir}/man1/luahbtex.1* -%{_mandir}/man1/lualatex-dev.1* -%{fmtutil_cnf_d}/luahbtex - -%files -n %{shortname}-luajittex -%license gpl2.txt -%ifnarch %{power64} s390 s390x riscv64 -%{_bindir}/luajittex -%{_bindir}/luajithbtex -%{_bindir}/texluajit -%{_bindir}/texluajitc -%endif -%{_mandir}/man1/luajithbtex.1* -%{_mandir}/man1/luajittex.1* -%{fmtutil_cnf_d}/luajittex - -%files -n %{shortname}-luatex -%license gpl2.txt -%{_bindir}/dviluatex -%{_bindir}/dvilualatex-dev -%{_bindir}/luacsplain -%{_bindir}/luatex -%{_bindir}/texlua -%{_bindir}/texluac -%{_mandir}/man1/dvilualatex-dev.1* -%{_mandir}/man1/dviluatex.1* -%{_mandir}/man1/luatex.1* -%{_mandir}/man1/texlua.1* -%{_mandir}/man1/texluac.1* -%{_sysconfdir}/texlive/web2c/texmfcnf.lua -%{_texdir}/texmf-dist/tex/generic/config/luatex-unicode-letters.tex -%{_texdir}/texmf-dist/tex/generic/config/luatexiniconfig.tex -%{_texdir}/texmf-dist/web2c/texmfcnf.lua -%{fmtutil_cnf_d}/luatex -%doc %{_texdir}/texmf-dist/doc/luatex/base/ - -%files -n %{shortname}-lwarp -%license lppl1.3.txt -%{_bindir}/lwarpmk -%{_texdir}/texmf-dist/scripts/lwarp -%{_texdir}/texmf-dist/tex/latex/lwarp -%doc %{_texdir}/texmf-dist/doc/latex/lwarp - -%files -n %{shortname}-lyluatex -%{_texdir}/texmf-dist/scripts/lyluatex/ -%{_texdir}/texmf-dist/tex/luatex/lyluatex/ -%doc %{_texdir}/texmf-dist/doc/support/lyluatex/ - -%files -n %{shortname}-make4ht -%license lppl1.3.txt -%{_bindir}/make4ht -%{_texdir}/texmf-dist/scripts/make4ht/ -%doc %{_texdir}/texmf-dist/doc/support/make4ht/ - -%files -n %{shortname}-makedtx -%license lppl1.txt -%{_bindir}/makedtx -%{_texdir}/texmf-dist/scripts/makedtx/ -%{_texdir}/texmf-dist/tex/latex/makedtx/ -%doc %{_texdir}/texmf-dist/doc/support/makedtx/ - -%files -n %{shortname}-makeindex -%{_bindir}/makeindex -%{_bindir}/mkindex -%{_mandir}/man1/makeindex.1* -%{_mandir}/man1/mkindex.1* -%exclude %{_texdir}/texmf-dist/makeindex/latex/ -%{_texdir}/texmf-dist/makeindex/ -%{_texdir}/texmf-dist/tex/plain/makeindex/ -%doc %{_texdir}/texmf-dist/doc/support/makeindex/ - -%files -n %{shortname}-match_parens -%license gpl.txt -%{_bindir}/match_parens -%{_texdir}/texmf-dist/scripts/match_parens/ -%doc %{_texdir}/texmf-dist/doc/support/match_parens/ - -%files -n %{shortname}-mathspic -%license lppl1.txt -%{_bindir}/mathspic -%{_mandir}/man1/mathspic.1* -%{_texdir}/texmf-dist/scripts/mathspic/ -%{_texdir}/texmf-dist/tex/latex/mathspic/ -%doc %{_texdir}/texmf-dist/doc/latex/mathspic/ - -%files -n %{shortname}-metafont -%license knuth.txt -%{_bindir}/inimf -%{_bindir}/mf -%{_bindir}/mf-nowin -%{_mandir}/man1/inimf.1.* -%{_mandir}/man1/mf-nowin.1* -%{_mandir}/man1/mf.1* -%{_texdir}/texmf-dist/metafont/ -%{fmtutil_cnf_d}/metafont - -%files -n %{shortname}-metapost -%license lgpl2.1.txt -%{_bindir}/dvitomp -%{_bindir}/mfplain -%{_bindir}/mpost -%{_bindir}/r-mpost -%{_mandir}/man1/dvitomp.1* -%{_mandir}/man1/mpost.1* -%{_texdir}/texmf-dist/fonts/afm/metapost/ -%{_texdir}/texmf-dist/fonts/enc/dvips/metapost/ -%{_texdir}/texmf-dist/fonts/map/dvips/metapost/ -%{_texdir}/texmf-dist/fonts/tfm/metapost/ -%{_texdir}/texmf-dist/fonts/type1/metapost/ -%exclude %{_texdir}/texmf-dist/metapost/context/ -%{_texdir}/texmf-dist/metapost/ -%{_texdir}/texmf-dist/tex/generic/metapost/ -%doc %{_texdir}/texmf-dist/doc/metapost/ - -%files -n %{shortname}-mex -%license pd.txt -%{_bindir}/mex -%{_bindir}/pdfmex -%{_bindir}/utf8mex -%{_texdir}/texmf-dist/tex/mex/ -%{fmtutil_cnf_d}/mex -%doc %{_texdir}/texmf-dist/doc/mex/ - -%files -n %{shortname}-mflua -%license gpl2.txt -%{_bindir}/mflua -%{_bindir}/mflua-nowin -%ifnarch %{power64} s390 s390x riscv64 -%{_bindir}/mfluajit -%{_bindir}/mfluajit-nowin -%endif -%{fmtutil_cnf_d}/mflua -%{_texdir}/texmf-dist/scripts/mflua/ - -%files -n %{shortname}-mfware -%license knuth.txt -%{_bindir}/gftodvi -%{_bindir}/gftopk -%{_bindir}/gftype -%{_bindir}/mft -%{_bindir}/pktogf -%{_bindir}/pktype -%{_mandir}/man1/gftodvi.1* -%{_mandir}/man1/gftopk.1* -%{_mandir}/man1/gftype.1* -%{_mandir}/man1/mft.1* -%{_mandir}/man1/pktogf.1* -%{_mandir}/man1/pktype.1* -%{_texdir}/texmf-dist/mft/ - -%files -n %{shortname}-mf2pt1 -%license lppl1.txt -%{_bindir}/mf2pt1 -%{_infodir}/mf2pt1.info* -%{_texdir}/texmf-dist/metapost/mf2pt1/ -%{_texdir}/texmf-dist/scripts/mf2pt1/ -%doc %{_texdir}/texmf-dist/doc/support/mf2pt1/ - -%files -n %{shortname}-mkgrkindex -%{_bindir}/mkgrkindex -%{_texdir}/texmf-dist/makeindex/mkgrkindex/ -%{_texdir}/texmf-dist/scripts/mkgrkindex/ -%doc %{_texdir}/texmf-dist/doc/support/mkgrkindex/ - -%files -n %{shortname}-mkjobtexmf -%{_bindir}/mkjobtexmf -%{_mandir}/man1/mkjobtexmf.1* -%{_texdir}/texmf-dist/scripts/mkjobtexmf/ -%doc %{_texdir}/texmf-dist/doc/generic/mkjobtexmf/ - -%files -n %{shortname}-mkpic -%license gpl.txt -%{_bindir}/mkpic -%{_texdir}/texmf-dist/scripts/mkpic/ -%doc %{_texdir}/texmf-dist/doc/support/mkpic/ - -%files -n %{shortname}-mltex -%license knuth.txt -%{_bindir}/mllatex -%{_bindir}/mltex -%{_texdir}/texmf-dist/tex/latex/mltex/ -%{_texdir}/texmf-dist/tex/mltex/ -%{fmtutil_cnf_d}/mltex -%doc %{_texdir}/texmf-dist/doc/latex/mltex/ - -%files -n %{shortname}-mptopdf -%license lppl1.txt -%{_bindir}/mptopdf -%{_mandir}/man1/mptopdf.1* -%{_texdir}/texmf-dist/scripts/context/perl/mptopdf.pl -%{_texdir}/texmf-dist/tex/context/base/mkii/supp-mis.mkii -%{_texdir}/texmf-dist/tex/context/base/mkii/supp-mpe.mkii -%{_texdir}/texmf-dist/tex/context/base/mkii/supp-pdf.mkii -%{_texdir}/texmf-dist/tex/context/base/mkii/syst-tex.mkii -%{_texdir}/texmf-dist/tex/generic/context/mptopdf/ -%{fmtutil_cnf_d}/mptopdf -%doc %{_texdir}/texmf-dist/doc/context/scripts/mkii/mptopdf.man - -%files -n %{shortname}-multibibliography -%license lppl1.3.txt -%{_bindir}/multibibliography -%{_texdir}/texmf-dist/bibtex/bst/multibibliography/ -%{_texdir}/texmf-dist/scripts/multibibliography/ -%{_texdir}/texmf-dist/tex/latex/multibibliography/ -%doc %{_texdir}/texmf-dist/doc/latex/multibibliography/ - -%files -n %{shortname}-musixtex -%license gpl2.txt -%{_bindir}/musixflx -%{_bindir}/musixtex -%{_mandir}/man1/musixflx.1* -%{_mandir}/man1/musixtex.1* -%{_texdir}/texmf-dist/dvips/musixtex/ -%{_texdir}/texmf-dist/scripts/musixtex/ -%{_texdir}/texmf-dist/tex/generic/musixtex/ -%{_texdir}/texmf-dist/tex/latex/musixtex/ -%doc %{_texdir}/texmf-dist/doc/generic/musixtex/ - -%files -n %{shortname}-musixtnt -%license gpl2.txt -%{_bindir}/msxlint -%{_mandir}/man1/msxlint.1* -%{_texdir}/texmf-dist/tex/generic/musixtnt/ -%doc %{_texdir}/texmf-dist/doc/generic/musixtnt/ - -%files -n %{shortname}-m-tx -%license gpl.txt -%{_bindir}/m-tx -%{_bindir}/prepmx -%{_mandir}/man1/prepmx.1* -%{_texdir}/texmf-dist/scripts/m-tx/ -%{_texdir}/texmf-dist/tex/generic/m-tx/ -%{_texdir}/texmf-dist/tex/latex/m-tx/ -%doc %{_texdir}/texmf-dist/doc/generic/m-tx/ - -%files -n %{shortname}-oberdiek -%license lppl1.txt -%{_texdir}/texmf-dist/bibtex/bib/oberdiek/ -%{_texdir}/texmf-dist/tex/generic/oberdiek/ -%{_texdir}/texmf-dist/tex/latex/oberdiek/ -%doc %{_texdir}/texmf-dist/doc/latex/oberdiek/ - -%files -n %{shortname}-omegaware -%license lppl1.txt -%{_bindir}/odvicopy -%{_bindir}/odvitype -%{_bindir}/ofm2opl -%{_bindir}/omfonts -%{_bindir}/opl2ofm -%{_bindir}/otangle -%{_bindir}/otp2ocp -%{_bindir}/outocp -%{_bindir}/ovf2ovp -%{_bindir}/ovp2ovf -%{_bindir}/wofm2opl -%{_bindir}/wopl2ofm -%{_bindir}/wovf2ovp -%{_mandir}/man1/odvicopy.1* -%{_mandir}/man1/odvitype.1* -%{_mandir}/man1/ofm2opl.1* -%{_mandir}/man1/opl2ofm.1* -%{_mandir}/man1/otangle.1* -%{_mandir}/man1/otp2ocp.1* -%{_mandir}/man1/outocp.1* -%{_mandir}/man1/ovf2ovp.1* -%{_mandir}/man1/ovp2ovf.1* - -%files -n %{shortname}-optex -%{_bindir}/optex -%{fmtutil_cnf_d}/optex -%{_mandir}/man1/optex.1* -%{_texdir}/texmf-dist/tex/optex/ -%doc %{_texdir}/texmf-dist/doc/optex/ - -%files -n %{shortname}-optexcount -%{_bindir}/optexcount -%{_texdir}/texmf-dist/scripts/optexcount/ -%doc %{_texdir}/texmf-dist/doc/support/optexcount/ - -%files -n %{shortname}-pagelayout -%license lppl1.3c.txt -%doc %{_texdir}/texmf-dist/doc/latex/pagelayout -%{_bindir}/pagelayoutapi -%{_bindir}/textestvis -%{_mandir}/man1/pagelayoutapi.1* -%{_mandir}/man1/textestvis.1* -%{_texdir}/texmf-dist/scripts/pagelayout -%{_texdir}/texmf-dist/tex/latex/pagelayout - -%files -n %{shortname}-patgen -%license knuth.txt -%{_bindir}/patgen -%{_mandir}/man1/patgen.1* - -%files -n %{shortname}-pax -%{_bindir}/pdfannotextractor -%{_texdir}/texmf-dist/scripts/pax/ -%{_texdir}/texmf-dist/tex/latex/pax/ -%doc %{_texdir}/texmf-dist/doc/latex/pax/ - -%files -n %{shortname}-pdfbook2 -%license gpl3.txt -%{_bindir}/pdfbook2 -%{_mandir}/man1/pdfbook2.1* -%{_texdir}/texmf-dist/scripts/pdfbook2/ -%doc %{_texdir}/texmf-dist/doc/support/pdfbook2/ - -%files -n %{shortname}-pdfcrop -%license lppl1.txt -%{_bindir}/pdfcrop -%{_bindir}/rpdfcrop -%{_texdir}/texmf-dist/scripts/pdfcrop/ -%doc %{_texdir}/texmf-dist/doc/support/pdfcrop/ - -%files -n %{shortname}-pdfjam -%license gpl2.txt -%{_bindir}/pdfjam -%{_mandir}/man1/pdfjam.1* -%{_texdir}/texmf-dist/scripts/pdfjam/ -%doc %{_texdir}/texmf-dist/doc/support/pdfjam/ - -%files -n %{shortname}-pdflatexpicscale -%license lppl.txt -%{_bindir}/pdflatexpicscale -%{_texdir}/texmf-dist/scripts/pdflatexpicscale -%doc %{_texdir}/texmf-dist/doc/support/pdflatexpicscale - -%files -n %{shortname}-pdftex -%license gpl.txt -%{_bindir}/etex -%{_bindir}/latex-dev -%{_bindir}/pdfetex -%{_bindir}/pdflatex-dev -%{_bindir}/pdftex -%{_bindir}/simpdftex -%{_mandir}/man1/latex-dev.1* -%{_mandir}/man1/pdfetex.1* -%{_mandir}/man1/pdflatex-dev.1* -%{_mandir}/man1/pdftex.1* -%{_texdir}/texmf-dist/fonts/map/dvips/dummy-space/dummy-space.map -%{_texdir}/texmf-dist/fonts/tfm/public/pdftex/ -%{_texdir}/texmf-dist/fonts/type1/public/pdftex/ -%{_texdir}/texmf-dist/scripts/simpdftex/simpdftex -%{_texdir}/texmf-dist/tex/generic/config/pdftex-dvi.tex -%{_texdir}/texmf-dist/tex/generic/pdftex/ -%{fmtutil_cnf_d}/latex-bin-dev -%{fmtutil_cnf_d}/pdftex -%doc %{_texdir}/texmf-dist/doc/pdftex/ - -%files -n %{shortname}-pdftex-quiet -%license gpl3.txt -%{_bindir}/pdftex-quiet -%{_texdir}/texmf-dist/scripts/pdftex-quiet/ -%doc %{_texdir}/texmf-dist/doc/support/pdftex-quiet/ - -%files -n %{shortname}-pdftosrc -%license gpl2.txt -%{_bindir}/pdftosrc -%{_mandir}/man1/pdftosrc.1* - -%files -n %{shortname}-pdfxup -%license lppl1.3.txt -%{_bindir}/pdfxup -%{_mandir}/man1/pdfxup.1* -%{_texdir}/texmf-dist/tex/latex/pdfxup/ -%{_texdir}/texmf-dist/scripts/pdfxup/ -%doc %{_texdir}/texmf-dist/doc/support/pdfxup/ - -%files -n %{shortname}-pedigree-perl -%license gpl2.txt -%{_bindir}/pedigree -%{_mandir}/man1/pedigree.1* -%{_texdir}/texmf-dist/scripts/pedigree-perl/ -%doc %{_texdir}/texmf-dist/doc/support/pedigree-perl/ - -%files -n %{shortname}-perltex -%license lppl1.txt -%{_bindir}/perltex -%{_mandir}/man1/perltex.1* -%{_texdir}/texmf-dist/scripts/perltex/ -%{_texdir}/texmf-dist/tex/latex/perltex/ -%doc %{_texdir}/texmf-dist/doc/latex/perltex/ - -%files -n %{shortname}-petri-nets -%license gpl.txt -%{_bindir}/pn2pdf -%{_texdir}/texmf-dist/scripts/petri-nets/ -%{_texdir}/texmf-dist/tex/generic/petri-nets/ -%doc %{_texdir}/texmf-dist/doc/generic/petri-nets/ - -%files -n %{shortname}-pfarrei -%license lppl1.3.txt -%{_bindir}/a5toa4 -%{_bindir}/pfarrei -%{_texdir}/texmf-dist/scripts/pfarrei/ -%{_texdir}/texmf-dist/tex/latex/pfarrei/ -%doc %{_texdir}/texmf-dist/doc/latex/pfarrei/ - -%files -n %{shortname}-pkfix -%license lppl1.3.txt -%{_bindir}/pkfix -%{_texdir}/texmf-dist/scripts/pkfix/ -%doc %{_texdir}/texmf-dist/doc/support/pkfix/ - -%files -n %{shortname}-pkfix-helper -%license lppl1.txt -%{_bindir}/pkfix-helper -%{_mandir}/man1/pkfix-helper.1* -%{_texdir}/texmf-dist/scripts/pkfix-helper/ -%doc %{_texdir}/texmf-dist/doc/support/pkfix-helper/ - -%files -n %{shortname}-pmx -%license gpl2.txt -%{_bindir}/pmxab -%{_bindir}/scor2prt -%{_mandir}/man1/pmxab.1* -%{_mandir}/man1/scor2prt.1* -%{_texdir}/texmf-dist/tex/generic/pmx/ -%doc %{_texdir}/texmf-dist/doc/generic/pmx/ - -%files -n %{shortname}-pmxchords -%license gpl2.txt -%{_bindir}/pmxchords -%{_mandir}/man1/pmxchords.1* -%{_texdir}/texmf-dist/scripts/pmxchords/ -%{_texdir}/texmf-dist/tex/generic/pmxchords/ -%doc %{_texdir}/texmf-dist/doc/pmxchords/ - -%files -n %{shortname}-pst2pdf -%license gpl2.txt -%{_bindir}/pst2pdf -%{_texdir}/texmf-dist/scripts/pst2pdf/ -%doc %{_texdir}/texmf-dist/doc/support/pst2pdf/ - -%files -n %{shortname}-pst-pdf -%license lppl1.txt -%{_bindir}/ps4pdf -%{_texdir}/texmf-dist/scripts/pst-pdf/ -%{_texdir}/texmf-dist/tex/latex/pst-pdf/ -%doc %{_texdir}/texmf-dist/doc/latex/pst-pdf/ - -%files -n %{shortname}-psutils -%{_bindir}/tl-epsffit -%{_bindir}/tl-extractres -%{_bindir}/tl-includeres -%{_bindir}/tl-psbook -%{_bindir}/tl-psjoin -%{_bindir}/tl-psnup -%{_bindir}/tl-psresize -%{_bindir}/tl-psselect -%{_bindir}/tl-pstops -%{_mandir}/man1/tl-epsffit.1* -%{_mandir}/man1/tl-extractres.1* -%{_mandir}/man1/tl-includeres.1* -%{_mandir}/man1/tl-psbook.1* -%{_mandir}/man1/tl-psjoin.1* -%{_mandir}/man1/tl-psnup.1* -%{_mandir}/man1/tl-psresize.1* -%{_mandir}/man1/tl-psselect.1* -%{_mandir}/man1/tl-pstops.1* -%{_mandir}/man1/tl-psutils.1* -%{_texdir}/texmf-dist/dvips/getafm/ -%{_texdir}/texmf-dist/psutils/ -%dir %{_sysconfdir}/texlive/psutils -%config(noreplace) %{_sysconfdir}/texlive/psutils/paper.cfg -%{_texdir}/texmf-dist/scripts/psutils - -%files -n %{shortname}-ps2eps -%license gpl.txt -%{_bindir}/bbox -%{_bindir}/ps2eps -%{_mandir}/man1/bbox.1* -%{_mandir}/man1/ps2eps.1* -%{_texdir}/texmf-dist/scripts/ps2eps/ - -%files -n %{shortname}-ps2pk -%license other-free.txt -%{_bindir}/mag -%{_bindir}/pfb2pfa -%{_bindir}/pk2bm -%{_bindir}/ps2pk -%{_mandir}/man1/mag.1* -%{_mandir}/man1/pfb2pfa.1* -%{_mandir}/man1/pk2bm.1* -%{_mandir}/man1/ps2pk.1* - -%files -n %{shortname}-ptex -%{_bindir}/eptex -%{_bindir}/makejvf -%{_bindir}/mendex -%{_bindir}/pbibtex -%{_bindir}/pdvitomp -%{_bindir}/pdvitype -%{_bindir}/platex -%{_bindir}/platex-dev -%{_bindir}/pmpost -%{_bindir}/ppltotf -%{_bindir}/ptex -%{_bindir}/ptftopl -%{_bindir}/r-pmpost -%{_mandir}/man1/eptex.1* -%{_mandir}/man1/makejvf.1* -%{_mandir}/man1/mendex.1* -%{_mandir}/man1/pbibtex.1* -%{_mandir}/man1/platex-dev.1* -%{_mandir}/man1/ppltotf.1* -%{_mandir}/man1/ptex.1* -%{_mandir}/man1/ptftopl.1* -%{fmtutil_cnf_d}/platex -%{fmtutil_cnf_d}/ptex - -%files -n %{shortname}-ptex-fontmaps -%license gpl3.txt -%license pd.txt -%{_bindir}/kanji-config-updmap -%{_bindir}/kanji-config-updmap-sys -%{_bindir}/kanji-config-updmap-user -%{_bindir}/kanji-fontmap-creator -%{_texdir}/texmf-dist/fonts/cmap/ptex-fontmaps -%{_texdir}/texmf-dist/fonts/map/dvipdfmx/ptex-fontmaps -%{_texdir}/texmf-dist/fonts/misc/ptex-fontmaps/ -%{_texdir}/texmf-dist/scripts/ptex-fontmaps -%{_texdir}/tlpkg/tlpostcode/ptex-fontmaps-tlpost.pl -%doc %{_texdir}/texmf-dist/doc/fonts/ptex-fontmaps - -%files -n %{shortname}-ptex2pdf -%license gpl2.txt -%{_bindir}/ptex2pdf -%{_texdir}/texmf-dist/scripts/ptex2pdf/ -%{_texdir}/tlpkg/tlpostcode/ptex2pdf-tlpost.pl -%doc %{_texdir}/texmf-dist/doc/latex/ptex2pdf/ - -%files -n %{shortname}-purifyeps -%license lppl1.txt -%{_bindir}/purifyeps -%{_mandir}/man1/purifyeps.1* -%{_texdir}/texmf-dist/scripts/purifyeps/ -%doc %{_texdir}/texmf-dist/doc/support/purifyeps/ - -%files -n %{shortname}-pygmentex -%license lppl1.3.txt -%{_bindir}/pygmentex -%{_texdir}/texmf-dist/scripts/pygmentex/ -%{_texdir}/texmf-dist/tex/latex/pygmentex/ -%doc %{_texdir}/texmf-dist/doc/latex/pygmentex/ - -%files -n %{shortname}-pythontex -%license lppl1.3.txt -%{_bindir}/depythontex -%{_bindir}/pythontex -%{_texdir}/texmf-dist/scripts/pythontex/ -%{_texdir}/texmf-dist/tex/latex/pythontex/ -%doc %{_texdir}/texmf-dist/doc/latex/pythontex/ - -%files -n %{shortname}-rubik -%license lppl1.3.txt -%{_bindir}/rubikrotation -%{_mandir}/man1/rubikrotation.1* -%{_texdir}/texmf-dist/scripts/rubik/ -%{_texdir}/texmf-dist/tex/latex/rubik/ -%doc %{_texdir}/texmf-dist/doc/latex/rubik/ - -%files -n %{shortname}-seetexk -%{_bindir}/dvibook -%{_bindir}/dviconcat -%{_bindir}/dviselect -%{_bindir}/dvitodvi -%{_mandir}/man1/dvibook.1* -%{_mandir}/man1/dviconcat.1* -%{_mandir}/man1/dviselect.1* -%{_mandir}/man1/dvitodvi.1* - -%files -n %{shortname}-spix -%license gpl3.txt -%{_bindir}/spix -%{_mandir}/man1/spix* -%doc %{_texdir}/texmf-dist/doc/support/spix -%{_texdir}/texmf-dist/scripts/spix - -%files -n %{shortname}-splitindex -%license lppl1.txt -%{_bindir}/splitindex -%{_mandir}/man1/splitindex.1* -%{_texdir}/texmf-dist/scripts/splitindex/ -%{_texdir}/texmf-dist/tex/generic/splitindex/ -%{_texdir}/texmf-dist/tex/latex/splitindex/ -%doc %{_texdir}/texmf-dist/doc/latex/splitindex/ - -%files -n %{shortname}-srcredact -%license gpl2.txt -%{_bindir}/srcredact -%{_mandir}/man1/srcredact.1* -%{_texdir}/texmf-dist/scripts/srcredact/ -%doc %{_texdir}/texmf-dist/doc/support/srcredact/ - -%files -n %{shortname}-sty2dtx -%license gpl3.txt -%{_bindir}/sty2dtx -%{_mandir}/man1/sty2dtx.1* -%{_texdir}/texmf-dist/scripts/sty2dtx/ -%doc %{_texdir}/texmf-dist/doc/support/sty2dtx/ - -%files -n %{shortname}-svn-multi -%license lppl1.txt -%{_bindir}/svn-multi -%{_texdir}/texmf-dist/scripts/svn-multi/ -%{_texdir}/texmf-dist/tex/latex/svn-multi/ -%doc %{_texdir}/texmf-dist/doc/latex/svn-multi/ -%doc %{_texdir}/texmf-dist/doc/support/svn-multi/ - -%files -n %{shortname}-synctex -%license lppl1.txt -%{_bindir}/synctex -%{_mandir}/man1/synctex.1* -%{_mandir}/man5/synctex.5* - -%files -n %{shortname}-tex -%license knuth.txt -%{_bindir}/initex -%{_bindir}/tex -%{_mandir}/man1/initex.1* -%{_mandir}/man1/tex.1* -%{fmtutil_cnf_d}/tex - -%files -n %{shortname}-tex4ebook -%license lppl1.3.txt -%{_bindir}/tex4ebook -%{_texdir}/texmf-dist/scripts/tex4ebook/ -%{_texdir}/texmf-dist/tex/latex/tex4ebook/ -%doc %{_texdir}/texmf-dist/doc/support/tex4ebook/ - -%files -n %{shortname}-tex4ht -%license lppl1.txt -%{_bindir}/ht -%{_bindir}/htcontext -%{_bindir}/htlatex -%{_bindir}/htmex -%{_bindir}/httex -%{_bindir}/httexi -%{_bindir}/htxelatex -%{_bindir}/htxetex -%{_bindir}/mk4ht -%{_bindir}/t4ht -%{_bindir}/tex4ht -%{_bindir}/xhlatex -%{_texdir}/texmf-dist/scripts/tex4ht/ -%{_texdir}/texmf-dist/tex/generic/tex4ht/ -%{_texdir}/texmf-dist/tex4ht/ -%doc %{_texdir}/texmf-dist/doc/generic/tex4ht/ - -%files -n %{shortname}-texaccents -%license mit.txt -%{_bindir}/texaccents -%{_mandir}/man1/texaccents.1* -%doc %{_texdir}/texmf-dist/doc/support/texaccents -%{_texdir}/texmf-dist/scripts/texaccents - -%files -n %{shortname}-texcount -%license lppl1.txt -%{_bindir}/texcount -%{_texdir}/texmf-dist/scripts/texcount/ -%doc %{_texdir}/texmf-dist/doc/support/texcount/ - -%files -n %{shortname}-texdef -%license gpl3.txt -%{_bindir}/latexdef -%{_bindir}/texdef -%{_texdir}/texmf-dist/scripts/texdef/ -%doc %{_texdir}/texmf-dist/doc/support/texdef/ - -%files -n %{shortname}-texdiff -%license gpl.txt -%{_bindir}/texdiff -%{_texdir}/texmf-dist/scripts/texdiff -%{_mandir}/man1/texdiff.1* -%doc %{_texdir}/texmf-dist/doc/support/texdiff/ - -%files -n %{shortname}-texdirflatten -%{_bindir}/texdirflatten -%{_mandir}/man1/texdirflatten.1* -%{_texdir}/texmf-dist/scripts/texdirflatten/ -%doc %{_texdir}/texmf-dist/doc/support/texdirflatten/ - -%files -n %{shortname}-texdoc -%license gpl.txt -%{_bindir}/texdoc -%{_mandir}/man1/texdoc.1* -%{_texdir}/texmf-dist/scripts/texdoc/ -%{_texdir}/texmf-dist/texdoc/ -%doc %{_texdir}/texmf-dist/doc/support/texdoc/ - -%files -n %{shortname}-texdoctk -%license gpl.txt -%{_bindir}/texdoctk -%{_mandir}/man1/texdoctk.1* -%{_texdir}/texmf-dist/scripts/texdoctk/ -%{_texdir}/texmf-dist/texdoctk/ - -%files -n %{shortname}-texfot -%license pd.txt -%{_bindir}/texfot -%{_mandir}/man1/texfot.1* -%{_texdir}/texmf-dist/scripts/texfot/ -%doc %{_texdir}/texmf-dist/doc/support/texfot/ - -%files -n %{shortname}-texliveonfly -%license gpl3.txt -%{_bindir}/texliveonfly -%{_texdir}/texmf-dist/scripts/texliveonfly/ -%doc %{_texdir}/texmf-dist/doc/support/texliveonfly/ - -%files -n %{shortname}-texlive-en -%{_infodir}/tlbuild.info* -%doc %{_texdir}/texmf-dist/doc/texlive/texlive-en/ -%doc %{_texdir}/texmf-dist/doc/texlive/tlbuild/tlbuild.html -%doc %{_texdir}/texmf-dist/doc/texlive/tlbuild/tlbuild.pdf - -%files -n %{shortname}-texlive-scripts -%license lppl1.txt -%{_bindir}/fmtutil -%{_bindir}/fmtutil-sys -%{_bindir}/fmtutil-user -%{_bindir}/mktexlsr -%{_bindir}/mktexmf -%{_bindir}/mktexpk -%{_bindir}/mktextfm -%{_bindir}/updmap -%{_bindir}/updmap-sys -%{_bindir}/updmap-user -%{_bindir}/rungs -%{_mandir}/man1/fmtutil.1* -%{_mandir}/man1/fmtutil-sys.1* -%{_mandir}/man1/fmtutil-user.1* -%{_mandir}/man1/install-tl.1* -%{_mandir}/man1/mktexlsr.1* -%{_mandir}/man1/mktexmf.1* -%{_mandir}/man1/mktexpk.1* -%{_mandir}/man1/mktextfm.1* -%{_mandir}/man1/updmap.1* -%{_mandir}/man1/updmap-sys.1* -%{_mandir}/man1/updmap-user.1* -%{_mandir}/man5/updmap.cfg.5* -%{_texdir}/texmf-config/web2c/updmap.cfg -%config(noreplace) %{_sysconfdir}/texlive/web2c/updmap.cfg -%{_texdir}/texmf-dist/dvips/tetex/ -%{_texdir}/texmf-dist/fonts/enc/dvips/tetex/ -%{_texdir}/texmf-dist/fonts/map/dvips/tetex/ -%{_texdir}/texmf-dist/scripts/texlive/fmtutil-sys.sh -%{_texdir}/texmf-dist/scripts/texlive/fmtutil-user.sh -%{_texdir}/texmf-dist/scripts/texlive/fmtutil.pl -%{_texdir}/texmf-dist/scripts/texlive/mktexlsr* -%{_texdir}/texmf-dist/scripts/texlive/mktexmf -%{_texdir}/texmf-dist/scripts/texlive/mktexpk -%{_texdir}/texmf-dist/scripts/texlive/mktextfm -%{_texdir}/texmf-dist/scripts/texlive/rungs.lua -# %%{_texdir}/texmf-dist/scripts/texlive/rungs.tlu -%{_texdir}/texmf-dist/scripts/texlive/updmap-sys.sh -%{_texdir}/texmf-dist/scripts/texlive/updmap-user.sh -%{_texdir}/texmf-dist/scripts/texlive/updmap.pl -%{_texdir}/texmf-dist/web2c/updmap.cfg - -%files -n %{shortname}-texlive-scripts-extra -%license gpl.txt -%license lppl1.txt -%{_bindir}/allcm -%{_bindir}/allec -%{_bindir}/allneeded -%{_bindir}/dvi2fax -%{_bindir}/dvired -%{_bindir}/e2pall -%{_bindir}/kpsepath -%{_bindir}/kpsetool -%{_bindir}/kpsewhere -%{_bindir}/kpsexpand -%{_bindir}/ps2frag -%{_bindir}/pslatex -%{_bindir}/texconfig-dialog -%{_bindir}/texconfig-sys -%{_bindir}/texconfig -%{_bindir}/texlinks -%{_mandir}/man1/allcm.1* -%{_mandir}/man1/allec.1* -%{_mandir}/man1/allneeded.1* -%{_mandir}/man1/dvi2fax.1* -%{_mandir}/man1/dvired.1* -%{_mandir}/man1/e2pall.1* -%{_mandir}/man1/kpsepath.1* -%{_mandir}/man1/kpsetool.1* -%{_mandir}/man1/kpsewhere.1* -%{_mandir}/man1/kpsexpand.1* -%{_mandir}/man1/ps2frag.1* -%{_mandir}/man1/pslatex.1* -%{_mandir}/man1/texconfig-sys.1* -%{_mandir}/man1/texconfig.1* -%{_mandir}/man1/texlinks.1* -%{_texdir}/texmf-dist/texconfig/ -%{_texdir}/texmf-dist/scripts/texlive-extra/ - - -%files -n %{shortname}-texlive.infra -%license lppl1.txt -%{_bindir}/tlmgr -%{_texdir}/texmf-dist/web2c/fmtutil-hdr.cnf -%{_texdir}/texmf-dist/web2c/updmap-hdr.cfg -%{_texdir}/LICENSE.CTAN -%{_texdir}/LICENSE.TL -%{_texdir}/README -%{_texdir}/README.usergroups -%{_texdir}/index.html -%{_texdir}/readme-html.dir/readme.cs.html -%{_texdir}/readme-html.dir/readme.de.html -%{_texdir}/readme-html.dir/readme.en.html -%{_texdir}/readme-html.dir/readme.es.html -%{_texdir}/readme-html.dir/readme.fr.html -%{_texdir}/readme-html.dir/readme.it.html -%{_texdir}/readme-html.dir/readme.ja.html -%{_texdir}/readme-html.dir/readme.pl.html -%{_texdir}/readme-html.dir/readme.pt-br.html -%{_texdir}/readme-html.dir/readme.ru.html -%{_texdir}/readme-html.dir/readme.sk.html -%{_texdir}/readme-html.dir/readme.sr.html -%{_texdir}/readme-html.dir/readme.vi.html -%{_texdir}/readme-html.dir/readme.zh-cn.html -%{_texdir}/release-texlive.txt -%{_texdir}/texmf-dist/scripts/texlive/tlmgr.pl -%{_texdir}/tlpkg/installer/config.guess -%{_texdir}/tlpkg/TeXLive/TLConfFile.pm -%{_texdir}/tlpkg/TeXLive/TLConfig.pm -%{_texdir}/tlpkg/TeXLive/TLCrypto.pm -%{_texdir}/tlpkg/TeXLive/TLDownload.pm -%{_texdir}/tlpkg/TeXLive/TLPDB.pm -%{_texdir}/tlpkg/TeXLive/TLPOBJ.pm -%{_texdir}/tlpkg/TeXLive/TLPSRC.pm -%{_texdir}/tlpkg/TeXLive/TLPaper.pm -%{_texdir}/tlpkg/TeXLive/TLTREE.pm -%{_texdir}/tlpkg/TeXLive/TLUtils.pm -%{_texdir}/tlpkg/TeXLive/TLWinGoo.pm -%{_texdir}/tlpkg/TeXLive/TeXCatalogue.pm -%{_texdir}/tlpkg/TeXLive/trans.pl -%{_datadir}/perl5/TeXLive -%{_mandir}/man1/tlmgr.1* -%doc %{_texdir}/texmf-dist/scripts/texlive/NEWS -%doc %{_texdir}/tlpkg/README - -%files -n %{shortname}-texloganalyser -%{_bindir}/texloganalyser -%{_texdir}/texmf-dist/scripts/texloganalyser/ -%doc %{_texdir}/texmf-dist/doc/support/texloganalyser/ - -%files -n %{shortname}-texlogfilter -%{_bindir}/texlogfilter -%{_mandir}/man1/texlogfilter.1* -%{_texdir}/texmf-dist/scripts/texlogfilter/ -%doc %{_texdir}/texmf-dist/doc/support/texlogfilter/ - -%files -n %{shortname}-texlogsieve -%license gpl3.txt -%{_bindir}/texlogsieve -%{_mandir}/man1/texlogsieve.1* -%{_texdir}/texmf-dist/scripts/texlogsieve/ -%doc %{_texdir}/texmf-dist/doc/support/texlogsieve/ - -%files -n %{shortname}-texosquery -%license lppl1.3.txt -%{_bindir}/texosquery* -%{_texdir}/texmf-dist/scripts/texosquery -%{_texdir}/texmf-dist/tex/latex/texosquery -%doc %{_texdir}/texmf-dist/doc/support/texosquery - -%files -n %{shortname}-texplate -%license bsd.txt -%{_bindir}/texplate -%{_texdir}/texmf-dist/scripts/texplate -%doc %{_texdir}/texmf-dist/doc/support/texplate - -%files -n %{shortname}-texsis -%license lppl1.txt -%{_bindir}/texsis -%{_mandir}/man1/texsis.1* -%{_texdir}/texmf-dist/bibtex/bst/texsis/ -%{_texdir}/texmf-dist/tex/texsis/ -%{fmtutil_cnf_d}/texsis -%doc %{_texdir}/texmf-dist/doc/otherformats/texsis/ - -%files -n %{shortname}-texware -%license knuth.txt -%{_bindir}/dvitype -%{_bindir}/pooltype -%{_mandir}/man1/dvitype.1* -%{_mandir}/man1/pooltype.1* - -%files -n %{shortname}-thumbpdf -%license lppl1.txt -%{_bindir}/thumbpdf -%{_mandir}/man1/thumbpdf.1* -%{_texdir}/texmf-dist/scripts/thumbpdf/ -%{_texdir}/texmf-dist/tex/generic/thumbpdf/ -%doc %{_texdir}/texmf-dist/doc/generic/thumbpdf/ - -%files -n %{shortname}-tie -%{_bindir}/tie -%{_mandir}/man1/tie.1* - -%files -n %{shortname}-tikztosvg -%license gpl3.txt -%{_bindir}/tikztosvg -%{_mandir}/man1/tikztosvg* -%doc %{_texdir}/texmf-dist/doc/support/tikztosvg -%{_texdir}/texmf-dist/scripts/tikztosvg - -%files -n %{shortname}-tpic2pdftex -%license gpl.txt -%{_bindir}/tpic2pdftex -%{_mandir}/man1/tpic2pdftex.1* -%doc %{_texdir}/texmf-dist/doc/tpic2pdftex/ - -%files -n %{shortname}-ttfutils -%license lppl1.txt -%{_bindir}/ttf2afm -%{_bindir}/ttf2pk -%{_bindir}/ttf2tfm -%{_bindir}/ttfdump -%{_mandir}/man1/ttf2afm.1* -%{_mandir}/man1/ttf2pk.1* -%{_mandir}/man1/ttf2tfm.1* -%{_mandir}/man1/ttfdump.1* -%{_texdir}/texmf-dist/fonts/enc/ttf2pk/ -%{_texdir}/texmf-dist/fonts/sfd/ttf2pk/ -%{_texdir}/texmf-dist/ttf2pk/ -%doc %{_texdir}/texmf-dist/doc/ttf2pk/ - -%files -n %{shortname}-typeoutfileinfo -%license lppl1.3.txt -%{_bindir}/typeoutfileinfo -%{_texdir}/texmf-dist/scripts/typeoutfileinfo/ -%doc %{_texdir}/texmf-dist/doc/support/typeoutfileinfo/ - -%files -n %{shortname}-ulqda -%license lppl1.txt -%{_bindir}/ulqda -%{_texdir}/texmf-dist/scripts/ulqda/ -%{_texdir}/texmf-dist/tex/latex/ulqda/ -%doc %{_texdir}/texmf-dist/doc/latex/ulqda/ - -%files -n %{shortname}-upmendex -%license bsd.txt -%{_bindir}/upmendex -%{_mandir}/man1/upmendex.1* -%doc %{_texdir}/texmf-dist/doc/support/upmendex/ - -%files -n %{shortname}-uptex -%{_bindir}/euptex -%{_bindir}/r-upmpost -%{_bindir}/upbibtex -%{_bindir}/updvitomp -%{_bindir}/updvitype -%{_bindir}/uplatex -%{_bindir}/uplatex-dev -%{_bindir}/upmpost -%{_bindir}/uppltotf -%{_bindir}/uptex -%{_bindir}/uptftopl -%{_bindir}/wovp2ovf -%{_mandir}/man1/euptex.1* -%{_mandir}/man1/upbibtex.1* -%{_mandir}/man1/uplatex.1* -%{_mandir}/man1/uplatex-dev.1* -%{_mandir}/man1/uppltotf.1* -%{_mandir}/man1/uptex.1* -%{_mandir}/man1/uptftopl.1* -%{fmtutil_cnf_d}/uplatex -%{fmtutil_cnf_d}/uptex -%doc %{_texdir}/texmf-dist/doc/uplatex/ - -%files -n %{shortname}-urlbst -%license gpl.txt -%{_bindir}/urlbst -%{_texdir}/texmf-dist/bibtex/bst/urlbst/ -%{_texdir}/texmf-dist/scripts/urlbst/ -%doc %{_texdir}/texmf-dist/doc/bibtex/urlbst/ - -%files -n %{shortname}-velthuis -%license gpl.txt -%{_bindir}/devnag -%{_mandir}/man1/devnag.1* -%{_texdir}/texmf-dist/fonts/afm/public/velthuis/ -%{_texdir}/texmf-dist/fonts/map/dvips/velthuis/ -%{_texdir}/texmf-dist/fonts/source/public/velthuis/ -%{_texdir}/texmf-dist/fonts/tfm/public/velthuis/ -%{_texdir}/texmf-dist/fonts/type1/public/velthuis/ -%{_texdir}/texmf-dist/tex/generic/velthuis/ -%{_texdir}/texmf-dist/tex/latex/velthuis/ -%{_texdir}/texmf-dist/tex/plain/velthuis/ -%{_texdir}/texmf-dist/tex/xelatex/velthuis/ -%doc %{_texdir}/texmf-dist/doc/generic/velthuis/ - -%files -n %{shortname}-vlna -%license lppl1.txt -%{_bindir}/vlna -%{_mandir}/man1/vlna.1* -%doc %{_texdir}/texmf-dist/doc/vlna/ - -%files -n %{shortname}-vpe -%license lppl1.txt -%{_bindir}/vpe -%{_texdir}/texmf-dist/scripts/vpe/ -%{_texdir}/texmf-dist/tex/latex/vpe/ -%doc %{_texdir}/texmf-dist/doc/latex/vpe/ - -%files -n %{shortname}-web -%license knuth.txt -%{_bindir}/tangle -%{_bindir}/weave -%{_mandir}/man1/tangle.1* -%{_mandir}/man1/weave.1* - -%files -n %{shortname}-webquiz -%license gpl.txt -%{_bindir}/webquiz -%{_mandir}/man1/webquiz.1* -%{_texdir}/texmf-dist/scripts/webquiz/ -%{_texdir}/texmf-dist/tex/latex/webquiz/ -%doc %{_texdir}/texmf-dist/doc/latex/webquiz/ - -%files -n %{shortname}-wordcount -%license lppl1.txt -%{_bindir}/wordcount -%{_texdir}/texmf-dist/scripts/wordcount/ -%{_texdir}/texmf-dist/tex/latex/wordcount/ -%doc %{_texdir}/texmf-dist/doc/latex/wordcount/ - -%files -n %{shortname}-xdvi -%{_bindir}/xdvi -%{_bindir}/xdvi-xaw -%{_mandir}/man1/xdvi.1* -%{_texdir}/texmf-dist/dvips/xdvi/ -%{_texdir}/texmf-dist/xdvi/ - -%files -n %{shortname}-xetex -%license other-free.txt -%{_bindir}/xdvipdfmx -%{_bindir}/xelatex -%{_bindir}/xelatex-dev -%{_bindir}/xelatex-unsafe -%{_bindir}/xetex -%{_bindir}/xetex-unsafe -%{_mandir}/man1/xelatex.1* -%{_mandir}/man1/xelatex-dev.1* -%{_mandir}/man1/xelatex-unsafe.1* -%{_mandir}/man1/xetex.1* -%{_mandir}/man1/xetex-unsafe.1* -%{_texdir}/tlpkg/tlpostcode/xetex.pl -%{_texdir}/texmf-dist/fonts/misc/xetex/ -%{fmtutil_cnf_d}/xelatex-dev -%{fmtutil_cnf_d}/xetex -%doc %{_texdir}/texmf-dist/doc/xetex/ - -%files -n %{shortname}-xindex -%license lppl1.3.txt -%{_bindir}/xindex -%{_texdir}/texmf-dist/scripts/xindex/ -%{_texdir}/texmf-dist/tex/latex/xindex/ -%{_texdir}/texmf-dist/tex/lualatex/xindex/ -%doc %{_texdir}/texmf-dist/doc/lualatex/xindex/ - -%files -n %{shortname}-xindy -%license gpl.txt -%if %{without bootstrap} -%{_bindir}/tex2xindy -%{_bindir}/texindy -%{_bindir}/xindy -%{_bindir}/xindy.mem -%endif -%{_mandir}/man1/xindy.1* -%{_mandir}/man1/texindy.1* -%{_mandir}/man1/tex2xindy.1* -%{_texdir}/texmf-dist/scripts/xindy/ -%{_texdir}/texmf-dist/xindy/ -%doc %{_texdir}/texmf-dist/doc/xindy/ - -%files -n %{shortname}-xml2pmx -%license gpl3.txt -%{_bindir}/xml2pmx -%{_mandir}/man1/xml2pmx* - -%files -n %{shortname}-xmltex -%license lppl1.txt -%{_bindir}/pdfxmltex -%{_bindir}/xmltex -%{_texdir}/texmf-dist/tex/xmltex/ -%{fmtutil_cnf_d}/xmltex -%doc %{_texdir}/texmf-dist/doc/otherformats/xmltex/ - -%files -n %{shortname}-xpdfopen -%{_bindir}/pdfclose -%{_bindir}/pdfopen -%{_mandir}/man1/pdfclose.1* -%{_mandir}/man1/pdfopen.1* - -%files -n %{shortname}-yplan -%license lppl1.txt -%{_bindir}/yplan -%{_texdir}/texmf-dist/scripts/yplan/ -%{_texdir}/texmf-dist/tex/latex/yplan/ -%doc %{_texdir}/texmf-dist/doc/latex/yplan/ - -%changelog -* Wed Nov 26 2025 Björn Esser - 11:20230311-94 -- Rebuild(xpdf) - -* Wed Aug 06 2025 František Zatloukal - 11:20230311-93 -- Rebuilt for icu 77.1 - -* Fri Jul 25 2025 Fedora Release Engineering - 11:20230311-92 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild - -* Sat Jul 19 2025 Than Ngo - 11:20230311-91 -- Fix rhbz#2379729 - texlive-pythontex is not compatible with python3.13 - -* Fri Jul 18 2025 Than Ngo - 11:20230311-90 -- Fix rhbz#2354991 - bundling option for perl-5.40.x - -* Thu Jan 23 2025 Than Ngo - 11:20230311-89 -- Fix rhbz#2341430, FTBFS with gcc15 - -* Sun Jan 19 2025 Fedora Release Engineering - 11:20230311-88 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild - -* Sun Dec 08 2024 Pete Walter - 11:20230311-87 -- Rebuild for ICU 76 - -* Thu Aug 01 2024 Than Ngo - 20230311-86 -- fix license tag - -* Sat Jul 20 2024 Fedora Release Engineering - 11:20230311-85 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild - -* Wed Apr 10 2024 Than Ngo - 20230311-84 -- fix bz#2271830, fix eln marco - -* Fri Mar 15 2024 Than Ngo - 20230311-83 -- fix bz#2269661, FTBFS due to libXaw 1.0.16 - -* Thu Feb 29 2024 Tom Callaway - 11:20230311-82 -- rebuild for new xpdf - -* Wed Jan 31 2024 Pete Walter - 11:20230311-81 -- Rebuild for ICU 74 - -* Sat Jan 27 2024 Fedora Release Engineering - 11:20230311-80 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild - -* Sat Jan 20 2024 Michael J Gruber - 11:20230311-79 -- fix FTBFS with GCC 14 on i686 -- add missed ignore entries from "Update to TL2022" - -* Fri Jan 19 2024 Than Ngo - 11:20230311-78 -- fixed bz#2259157 - texlive-base FTBFS - -* Sat Jul 22 2023 Fedora Release Engineering - 11:20230311-77 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild - -* Tue Jul 11 2023 František Zatloukal - 11:20230311-76 -- Rebuilt for ICU 73.2 - -* Mon Jun 5 2023 Tom Callaway - 11:20230311-75 -- move texmfcnf.lua to /etc/texlive/web2c with a symlink back to its original home in /usr/share/texlive/texmf-dist/web2c -- properly handle mkii files that should only be in texlive-mptopdf - -* Tue May 30 2023 Tom Callaway - 11:20230311-74 -- fix double packaging of mptopdf files in context - -* Thu May 25 2023 Tom Callaway - 11:20230311-73 -- update to svn66984 source tree to fix CVE-2023-32700 -- fix mtxrun stub -- patch texmfcnf.lua -- fix mptopdf.pl and thumbpdf.pl to have proper interpreter lines - -* Fri Apr 14 2023 Tom Callaway - 11:20230311-72 -- fix Requires for texlive-fontools (bz 2185284) - -* Mon Mar 27 2023 Tom Callaway - 11:20230311-71 -- fix texaccents so that: - 1. it has all the includes it needs - 2. it is noarch - 3. it has a proper launcher script - NOTE1: texaccents will no longer pickup a Requires on /usr/bin/snobol4 - but it still needs it. It's pending review for inclusion in Fedora. - NOTE2: With snobol4, texaccents itself runs but does not function usefully - at the moment - -* Mon Mar 20 2023 Tom Callaway - 11:20230311-70 -- TeXLive 2023 -- bring digestif over here - -* Mon Mar 6 2023 Tom Callaway - 10:20220321-69 -- fix texlive-pdfcrop to have an explicit Requires: texlive-pdftex (bz2175666) - -* Tue Jan 31 2023 Tom Callaway - 10:20220321-68 -- fix header order for xpdf dependent bits to ensure off_t is set properly on i686 - -* Tue Jan 31 2023 Florian Weimer - 10:20220321-67 -- Various C99 compatibility fixes - -* Mon Jan 30 2023 Tom Callaway - 10:20220321-66 -- conditionalize use of poppler (and disable it by default) -- fix issue where vasprintf() could be undefined in a build - -* Tue Jan 24 2023 Tom Callaway - 10:20220321-65 -- artificial bump to 65, I accidentally had ketcindy in both texlive and texlive-base. - removed it from texlive, rebuilt at release=65, building here at 65 so we have it - -* Tue Jan 24 2023 Tom Callaway - 10:20220321-61 -- rebuild for ghostscript 10.0.0 - -* Sat Jan 21 2023 Fedora Release Engineering - 10:20220321-59 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild - -* Tue Jan 17 2023 Tom Callaway - 10:20220321-58 -- hack in dvisvgm 3.0.1 - -* Sun Jan 8 2023 Tom Callaway - 10:20220321-57 -- rebuild against libpaper v2 - -* Sat Jan 7 2023 Tom Callaway - 10:20220321-56 -- add dependency on texlive-lua-uni-algos on texlive-luaotfload (bz2158837) - -* Mon Jan 2 2023 Tom Callaway - 10:20220321-55 -- minor dep cleanups - -* Sun Jan 1 2023 Tom Callaway - 10:20220321-54 -- 10:20220321 -- epoch bump so we can use accurate versions for the component packages here -- reminder: release does not reset here due to koji limitations -- fix context-doc package to be noarch - in theory, this might break some upgrades, but... i bet the number of people - who have texlive-context-doc (all 90M of it) installed is very very low - -* Sat Dec 31 2022 Pete Walter - 9:20210325-53 -- Rebuild for ICU 72 - -* Wed Aug 24 2022 Tom Callaway - 9:202110325-52 -- fixup texlive-base-20210325-poppler-22.08.0.patch (bz2121167) - -* Mon Aug 08 2022 Marek Kasik - 9:20210325-51 -- Bootstrap off - -* Mon Aug 08 2022 Marek Kasik - 9:20210325-50 -- Rebuild for poppler 22.08.0 - bootstrap on - -* Wed Aug 03 2022 Mamoru TASAKA - 9:20210325-49 -- Rebuild for ICU 71.1 - -* Sat Jul 23 2022 Fedora Release Engineering - 9:20210325-48 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild - -* Thu Jan 20 2022 Tom Callaway - 9:20210325-47 -- replace group handling code in pdftoepdf.cc with code that is simpler (and does not crash) - -* Sat Jan 15 2022 Tom Callaway - 9:20210325-46 -- bootstrap off (conditionalize poppler changes) - -* Thu Jan 13 2022 Tom Callaway - 9:20210325-45 -- rebuild for new poppler, bootstrap on - -* Tue Jan 11 2022 Tom Callaway - 9:20210325-44 -- update arara to address log4j CVEs - -* Wed Dec 15 2021 Tom Callaway - 9:20210325-43 -- rework the font map trigger logic - -* Wed Sep 08 2021 Than Ngo - 9:20210325-42 -- Re-enable LTO - -* Mon Aug 16 2021 Stephen Gallagher - 9:20210325-41 -- Rebuild for libpoppler soname bump - -* Mon Aug 2 2021 Tom Callaway - 9:20210325-40 -- bootstrap off - -* Mon Aug 2 2021 Tom Callaway - 9:20210325-39 -- rebuild for poppler - -* Fri Jul 23 2021 Fedora Release Engineering - 9:20210325-38 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild - -* Wed Jun 23 2021 Tom Callaway - 9:20210325-37 -- fix fonts/map/dvips ownership -- rename dvipdfm35.map to dvipdfm35.oldmap to prevent it from being included in pdftex.map -- fix lyluatex versioning - -* Mon Jun 21 2021 Tom Callaway - 9:20210325-36 -- remove deprecated .setpdfwrite ghostscript call - -* Fri May 28 2021 Tom Callaway - 9:20210325-35 -- force system font maps to be sync'd with trees and regenerated in the triggers - -* Fri May 28 2021 Tom Callaway - 9:20210325-34 -- add texlive-gsftopk as a dependency on texlive-texlive-scripts for mktexpk -- add texlive-psnfss as a dependency on texlive-latex -- drop Requires: tex(psfonts.map), died with updmap-map -- conditionalize removing rpath from binaries which aren't always built - -* Thu May 27 2021 Tom Callaway - 9:20210325-33 -- scrape rpath off everything - -* Thu May 27 2021 Tom Callaway - 9:20210325-32 -- 20210325 - -* Thu May 20 2021 Pete Walter - 7:20200327-31 -- Rebuild for ICU 69 - -* Thu Apr 1 2021 Tom Callaway - 7:20200327-30 -- update source urls (except tug urls) to https - -* Thu Mar 18 2021 Tom Callaway - 7:20200327-29 -- force builtin copy of pygmentex to 0.10 (supports python3) - -* Tue Feb 2 2021 Tom Callaway - 7:20200327-28 -- set TEXMFLOCAL during the context scriptlet to minimize the scope of where it looks during mtxrun --generate - -* Wed Jan 27 2021 Fedora Release Engineering - 9:20200327-27 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild - -* Tue Jan 26 2021 Tomas Popela - 9:20200327-26 -- Don't build texlive-xindy on ELN because of its requirements (clisp) - -* Fri Jan 15 2021 Tom Callaway - 9:20200327-25 -- debootstrap - -* Fri Jan 15 2021 Tom Callaway - 9:20200327-24 -- fix context shell binary to handle /home dirs that are symlinks (bz1913245) - -* Wed Dec 30 2020 Tom Callaway - 9:20200327-23 -- update pygmentex (supports python3) -- update dviasm (supports python3) - -* Mon Nov 16 2020 Tom Callaway - 9:20200327-22 -- make proper texlive-optex subpackage by moving it here -- bump epoch to 9 so this texlive-optex package replaces the one that used to live in texlive - -* Thu Nov 12 2020 Tom Callaway - 7:20200327-21 -- obsolete texlive-texconfig, texlive-pdftools, texlive-pstools (in texlive-texlive-scripts-extra) - -* Tue Nov 10 2020 Tom Callaway - 7:20200327-20 -- fix issues with file ownership duplication -- fix issue with obsoleting texlive-tetex -- turn LTO back off, as it was assuming code needed libcrypto for some unknown reason - -* Thu Oct 29 2020 Tom Callaway - 7:20200327-19 -- fix dependencies of texlive-ptex and texlive-uptex - -* Sun Oct 11 2020 Jeff Law - 7:20200327-18 -- Re-enable LTO - -* Wed Sep 23 2020 Than Ngo - 7:20200327-17 -- Fix pdflatex run out of memory - -* Mon Sep 21 2020 Tom Callaway - 7:20200327-16 -- move "mtxrun --generate" call from -kpathsea transfiletriggerin to -context -- drop Requires(post): texlive-context from -kpathsea -- add an explicit versioning on the dependency of texlive-texlive-scripts in -kpathsea (and vice versa) - -* Thu Aug 13 2020 Tom Callaway - 7:20200327-15 -- make texlive-latex have an explicit Requires on texlive-cm-super (bz1867927) - -* Wed Jul 29 2020 Fedora Release Engineering - 7:20200327-14 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild - -* Wed Jul 22 2020 Tom Stellard - 7:20200327-13 -- Use make macros -- https://fedoraproject.org/wiki/Changes/UseMakeBuildInstallMacro - -* Tue Jul 21 2020 Marek Kasik - 7:20200327-12 -- rebuild for poppler 0.90.0 -- bodhi needs latest build - -* Tue Jul 14 2020 Tom Callaway - 7:20200327-11 -- disable bootstrap - -* Tue Jul 14 2020 Tom Callaway - 7:20200327-10.1 -- unbootstrapped build (TEMPORARY, when -11 comes out of the side tag, it will replace this) - -* Tue Jul 14 2020 Tom Callaway - 7:20200327-10 -- bootstrap again again - -* Tue Jul 14 2020 Tom Callaway - 7:20200327-9 -- bootstrap again - -* Tue Jul 14 2020 Tom Callaway - 7:20200327-8 -- rebuild for poppler 0.90.0 -- bootstrap on - -* Wed Jul 01 2020 Jeff Law - 7:20200327-7 -- Disable LTO - -* Wed May 27 2020 Tom Callaway - 7:20200327-6 -- split off context-doc (bz1839593) -- add Requires: tex(psfonts.map) to gsftopk (bz1840379) -- update component sources to match main tree tarball (not doing this before was an epic fail on my part) - -* Wed May 20 2020 Tom Callaway - 7:20200327-5 -- rebuild with bootstrap off and triggers with debugging off - -* Sun May 17 2020 Orion Poplawski - 7:20200327-4 -- Add bootstrap flag to disable circular dep on latex due to xindy -- Fix --disable-xindy-rules configure parameter - -* Sat May 16 2020 Orion Poplawski - 7:20200327-3 -- Make texlive-kpathsea require texlive-texlive-scripts (bz#1836464) -- Update fedora/rhel conditionals -- Add (temporary) BR on texlive-texlive-scripts to fix latex dummy.tex - -* Wed May 13 2020 Tom Callaway - 7:20200327-2 -- fix symlink issues - -* Mon Apr 20 2020 Tom Callaway - 7:20200327-1 -- update to 20200327 - -* Wed Feb 05 2020 Than Ngo - 7:20190410-12 -- fix bz#1798119 - buffer overflow in TexOpen() function, CVE-2019-19601 - -* Fri Jan 31 2020 Fedora Release Engineering - 7:20190410-11 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild - -* Thu Jan 23 2020 Tom Callaway - 7:20190410-10 -- fix gcc10 issues - -* Fri Jan 17 2020 Marek Kasik - 7:20190410-9 -- Bring back xindy and the circular dependency on texlive-latex - -* Fri Jan 17 2020 Marek Kasik - 7:20190410-8 -- Rebuild for poppler-0.84.0 -- Don't include C++ headers in C sources -- Temporarily break circular dependency on texlive-latex (will be reverted) - -* Fri Jan 10 2020 Tom Callaway - 7:20190410-7 -- fix python3 issue with pdfbook2 (thanks to "Mildred", bz1733794) -- fix python3 issue with latex-papersize (thanks to Silas S. Brown, bz1783964) - -* Fri Nov 15 2019 Tom Callaway - 7:20190410-6 -- package up the TL fork of psutils to help tlmgr find all the configs it expects - -* Fri Nov 01 2019 Pete Walter - 7:20190410-5 -- Rebuild for ICU 65 - -* Fri Oct 18 2019 Tom Callaway - 7:20190410-4 -- fix dir ownership - -* Wed Oct 9 2019 Jerry James - 7:20190410-3 -- Rebuild for mpfr 4 - -* Sat Jul 27 2019 Fedora Release Engineering - 7:20190410-2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild - -* Thu May 23 2019 Tom Callaway - 7:20190410-1 -- update to 20190410 -- update all component tarballs to latest available -- new subpackages: cluttex, ctanbib, dviout-util, pdftex-quiet, webquiz, xindex -- add a slightly neutered tlmgr back into texlive.infra because texconfig paper needs it - IF YOU ARE READING THIS PLEASE DO NOT USE tlmgr install/update. IF YOU IGNORE ME - PLEASE DO NOT FILE BUGS. PLEASE DO NOT REQUEST THE tlmgrgui BITS. - -* Wed May 15 2019 Jerry James - 7:20180414-36 -- Fix xindy build by eliminating race to create latex.fmt -- Build xindy on all supported arches - -* Tue Mar 19 2019 Tom Callaway - 7:20180414-35 -- do not throw no file error in synctex - -* Sun Feb 03 2019 Fedora Release Engineering - 7:20180414-34 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild - -* Fri Jan 25 2019 Marek Kasik - 7:20180414-33 -- Rebuild for poppler-0.73.0 - -* Wed Jan 23 2019 Pete Walter - 7:20180414-32 -- Rebuild for ICU 63 - -* Wed Jan 16 2019 Than Ngo - 7:20180414-31 -- fixed annocheck distro flag failure detected by rpmdiff - -* Wed Dec 12 2018 Tom Callaway - 7:20180414-30 -- add explicit Requires: texlive-xetex to texlive-dvipdfmx (bz1657755) - -* Fri Dec 7 2018 Tom Callaway - 7:20180414-29 -- use python3 properly in pdfbook2 - -* Mon Nov 26 2018 Tom Callaway - 7:20180414-28 -- do not try to ls /usr/share/texlive/fmtutil.cnf.d, it can be empty, - and that makes for noisy errors in scripts (bz1650935) - Thanks to Villy Kruse. -- fix pkgconfig cleanup sed to use %%{source_date} instead of %%{version} - which is overridden with subpackage specific data at that point. (bz1426622) - -* Mon Nov 12 2018 Tom Callaway - 7:20180414-27 -- make texlive-kpathsea Requires: texlive-tetex so scriptlets don't fail noisily - -* Thu Nov 8 2018 Tom Callaway - 7:20180414-26 -- make a symlink so texdoc can find texlive.tlpdb - -* Thu Nov 1 2018 Adam Williamson - 7:20180414-25 -- Add missing dep from -tetex to -texconfig (bz1555931) - -* Thu Oct 4 2018 Tom Callaway - 7:20180414-24 -- disable test that fails on 32 bit arches in rawhide - -* Mon Oct 1 2018 Tom Callaway - 7:20180414-23 -- apply upstream fix for CVE-2018-17407 - -* Wed Sep 19 2018 Tom Callaway - 7:20180414-22 -- fix lyluatex provides - -* Tue Sep 18 2018 Tom Callaway - 7:20180414-21 -- add lyluatex - -* Fri Aug 24 2018 Marek Kasik - 7:20180414-20 -- Install synctex_version.h to be able to build evince - -* Tue Aug 14 2018 Marek Kasik - 7:20180414-19 -- Rebuild for poppler-0.67.0 -- Disable xindy temporarily (there is a cyclic dependency which -- prevents me from building texlive-base with new poppler) - -* Mon Aug 6 2018 Marek Kasik - 7:20180414-18 -- Fix paths in pkgconfig files -- Resolves: #1426622 - -* Wed Jul 11 2018 Tom Callaway - 7:20180414-17 -- update latex2man to resolve perl issues -- use different ctan mirror, old one was out of date -- update pretty much everything since we're updating latex2man and we know the old mirror was outdated -- l3build and axodraw2 are now packaged properly in the tarball -- texdoctk is now its own package (reflecting upstream split) - -* Tue Jul 10 2018 Pete Walter - 7:20180414-16 -- Rebuild for ICU 62 - -* Sat Jul 7 2018 Tom Callaway - 7:20180414-15 -- revert trigger changes from -14 - -* Mon Jul 2 2018 Tom Callaway - 7:20180414-14 -- fix triggers to force enable of new maps and run syncwithtrees before doing map operations -- add old "tex-foo-doc" provides for every package with doc provides (bz1593860, 1593863) - -* Tue Jun 26 2018 Tom Callaway - 7:20180414-13 -- apply tibbs's fix (PR#4) for fmtutil cnf handling without tons of ugly scriptlets -- explicitly run updmap-sys in the kpathsea triggers, bug reports imply this is needed - -* Tue Jun 19 2018 Tom Callaway - 7:20180414-12 -- add Requires: tex(fvextra.sty) to pythontex (bz1590621) - -* Mon Jun 11 2018 Tom Callaway - 7:20180414-11 -- add tex-jfontmaps(bin/doc) provides - -* Fri Jun 8 2018 Tom Callaway - 7:20180414-10 -- add tex-uplatex(bin/doc) provides - -* Thu Jun 7 2018 Tom Callaway - 7:20180414-9 -- add pretrans to handle /usr/share/texmf - -* Mon Jun 4 2018 Tom Callaway - 7:20180414-8 -- add Provides: tetex-dvips -- add symlink to /usr/share/texmf for legacy packages - -* Fri Jun 1 2018 Tom Callaway - 7:20180414-7 -- add Provides: xmltex - -* Tue May 29 2018 Tom Callaway - 7:20180414-6 -- add BR: texlive-metafont, texlive-cm-super, texlive-ec for xindy -- disable xindy for arm - -* Tue May 29 2018 Tom Callaway - 7:20180414-5 -- fix xindy and jfontmaps obsoletes -- fix typo preventing xindy subpackage - -* Tue May 29 2018 Tom Callaway - 7:20180414-4 -- add Provides: jadetex and Provides: tex-uptex-doc - -* Mon May 21 2018 Tom Callaway - 7:20180414-3 -- add posttrans to force latex scriptlets to work right - -* Mon May 14 2018 Tom Callaway - 7:20180414-2 -- fix arara-doc obsoletes (bz1576693) - -* Tue May 1 2018 Tom Callaway - 7:20180414-1 -- update to 20180414 -- fix synctex.pc (bz1426622) -- new subpackages: axodraw2, bib2gls, ctan-o-mat, dviinfox, jfmutil, l3build, wordcount - -* Mon Apr 30 2018 Pete Walter - 7:20170520-28 -- Rebuild for ICU 61.1 - -* Fri Mar 30 2018 Tom Callaway - 7:20170520-27 -- actually use the texmf.cnf we patch (not the vanilla one from the kpathsea.tar.xz) - -* Tue Mar 27 2018 Tom Callaway - 7:20170520-26 -- add lcdf-typetools provide to fix broken collection-fontutils (fixing that in texlive later) (bz1560379) -- add LatexIndent* to filtered Requires to prevent dep issues there (bz1560381) - -* Sun Mar 25 2018 Tom Callaway - 7:20170520-25 -- fix aleph obsoletes (bz1560355) - -* Fri Mar 23 2018 Kevin Fenzi - 7:20170520-24 -- Rebuild for poppler soname bump. - -* Thu Mar 15 2018 Tom Callaway - 7:20170520-23 -- add Requires: tex(pdfpages.sty) to texlive-pdfjam (bz1164237) - -* Sun Mar 11 2018 Tom Callaway - 7:20170520-22 -- fix a2ping to work with gs 9.22 - -* Sat Mar 10 2018 Kevin Fenzi - 7:20170520-21 -- Make kpathsea scriptlets not fail in the installer env. - -* Fri Mar 9 2018 Tom Callaway - 7:20170520-20 -- disable cjk-gs-integrate - -* Fri Mar 9 2018 Tom Callaway - 7:20170520-19 -- configure TEXMFLOCAL to point to /usr/share/texlive/texmf-local/ (bz1553462) - -* Wed Mar 7 2018 Tom Callaway - 7:20170520-18 -- switch to shebang mangling that does not change exec perms - most/all of the mangling is correct, but we do not want to risk breaking - ancient texlive scripts that are suddently -x -- add versions for arara bundled provides -- use spaces instead of tabs - -* Mon Mar 5 2018 Tom Callaway - 7:20170520-17 -- add Provides: tetex-latex to the latex subpackage -- fix obviously incorrect license tag on -base package -- use %%_rpmmacrodir instead of our local %%macrosdir -- add BuildRequires: gcc gcc-c++ - -* Mon Feb 26 2018 Tom Callaway - 7:20170520-16 -- include uplatex docs in uptex -- conditionalize xindy because clisp doesn't have ppc64/aarch64 packages - -* Sat Feb 24 2018 Tom Callaway - 7:20170520-15 -- turn on xindy -- disable shebang mangling -- disable tests that fail on 32bit arches with gcc8 - -* Fri Feb 23 2018 Tom Callaway - 7:20170520-14 -- pass LDFLAGS -- update lcdf-typetools to git current to fix test failures -- turn on xindy - -* Thu Feb 22 2018 Tom Callaway - 7:20170520-13 -- rebuild again for new poppler in rawhide/f28 - -* Sun Feb 4 2018 Tom Callaway - 7:20170520-12 -- fix pathing so that texinfo files are found - -* Thu Jan 18 2018 Tom Callaway - 7:20170520-11 -- add missing deps for texlive-pdfbook2 -- fix ghostscript BR - -* Wed Nov 29 2017 Tom Callaway - 7:20170520-10 -- kpathsea trigger uses mtxrun, which is in the context subpackage ... - ... but the kpathsea subpackage did not have a Requires on it. - It does now. How long was this broken?!? -- force texdir/texmf-var to be a symlink to /var/lib/texmf - -* Tue Nov 14 2017 Tom Callaway - 7:20170520-9 -- var handling & perl cleanups & extra scriptlets - -* Fri Nov 10 2017 Tom Callaway - 7:20170520-8 -- add additional provides for texlive-dvipng, texlive-dvipdfmx, and texlive-xdvi - -* Fri Nov 10 2017 Tom Callaway - 7:20170520-7 -- add epoch to Obsolete versioning - -* Thu Nov 9 2017 Tom Callaway - 7:20170520-6 -- try removing a version from the kpathsea-bin/kpathsea-doc Obsoletes - to see if that will work with DNF. I miss yum. - -* Thu Nov 9 2017 Tom Callaway - 7:20170520-5 -- lie about what texlive-kpathsea-lib(__isa) version we provide - because rpm needs this to get over the dependency hurdle - -* Thu Nov 9 2017 Tom Callaway - 7:20170520-4 -- add explicit provide for texlive-kpathsea-lib(__isa) to facilitate update - -* Thu Nov 9 2017 Tom Callaway - 7:20170520-3 -- use more accurate provides - -* Sun Oct 29 2017 Tom Callaway - 7:20170520-2 -- use new files from upstream that work with current poppler in rawhide - -* Tue Sep 12 2017 Tom Callaway - 7:20170520-1 -- new package diff --git a/texlive-fedora-texmfcnf.lua.patch b/texlive-fedora-texmfcnf.lua.patch deleted file mode 100644 index 42607b9..0000000 --- a/texlive-fedora-texmfcnf.lua.patch +++ /dev/null @@ -1,59 +0,0 @@ -diff -up ./web2c/texmfcnf.lua.fedora ./web2c/texmfcnf.lua ---- ./web2c/texmfcnf.lua.fedora 2023-05-25 10:25:41.195939763 -0400 -+++ ./web2c/texmfcnf.lua 2023-05-25 10:33:33.761097942 -0400 -@@ -11,6 +11,7 @@ return { - comment = "ConTeXt MkIV and LMTX configuration file", - author = "Hans Hagen, PRAGMA-ADE, Hasselt NL", - target = "texlive", -+ -- modified for Fedora, based on Preining Norbert's work in Debian - - content = { - -@@ -52,7 +53,7 @@ return { - - TEXMFVAR = "home:" .. hiddentexlivepath .. "/texmf-var", - TEXMFCONFIG = "home:" .. hiddentexlivepath .. "/texmf-config", -- TEXMFSYSVAR = "selfautoparent:texmf-var", -+ TEXMFSYSVAR = "/var/lib/texmf", - TEXMFCACHE = "$TEXMFSYSVAR;$TEXMFVAR", - - -- I don't like this texmf under home and texmf-home would make more sense. One never knows -@@ -62,7 +63,7 @@ return { - -- By using prefixes we don't get expanded paths in the cache __path__ entry. This makes the - -- tex root relocatable. - -- TEXMFOS = "selfautodir:", -+ -- TEXMFOS = "selfautodir:", - - -- standalone: - -@@ -73,14 +74,15 @@ return { - - -- texlive: - -- TEXMFDIST = "selfautoparent:texmf-dist", -- TEXMFSYSCONFIG = "selfautoparent:texmf-config", -+ TEXMFDIST = "/usr/share/texlive/texmf-dist", -+ TEXMFFEDORA = "/usr/share/texmf", -+ TEXMFSYSCONFIG = "/usr/share/texlive/texmf-config", - - -- The texmf-local path is only used for (maybe) some additional configuration file. - -- TEXMFLOCAL = "selfautoparent:texmf-local", -- TEXMFFONTS = "selfautoparent:texmf-fonts", -- TEXMFPROJECT = "selfautoparent:texmf-project", -+ TEXMFLOCAL = "/usr/share/texlive/texmf-local", -+ -- TEXMFFONTS = "selfautoparent:texmf-fonts", -+ -- TEXMFPROJECT = "selfautoparent:texmf-project", - - TEXMFHOME = "home:texmf", - -- TEXMFHOME = os.name == "macosx" and "home:Library/texmf" or "home:texmf", -@@ -94,7 +96,7 @@ return { - - -- texlive: - -- TEXMF = "{$TEXMFCONFIG,$TEXMFHOME,!!$TEXMFSYSCONFIG,!!$TEXMFSYSVAR,!!$TEXMFPROJECT,!!$TEXMFFONTS,!!$TEXMFLOCAL,!!$TEXMFDIST}", -+ TEXMF = "{$TEXMFCONFIG,$TEXMFHOME,!!$TEXMFSYSCONFIG,!!$TEXMFSYSVAR,!!$TEXMFLOCAL,!!$TEXMFFEDORA,!!$TEXMFDIST}", - - TEXFONTMAPS = ".;$TEXMF/fonts/data//;$TEXMF/fonts/map/{pdftex,dvips}//", - ENCFONTS = ".;$TEXMF/fonts/data//;$TEXMF/fonts/enc/{dvips,pdftex}//", diff --git a/texlive-pythontex3-python-3.1x.patch b/texlive-pythontex3-python-3.1x.patch deleted file mode 100644 index fc97b86..0000000 --- a/texlive-pythontex3-python-3.1x.patch +++ /dev/null @@ -1,255 +0,0 @@ -diff -up texmf-dist/scripts/pythontex/depythontex3.py.orig texmf-dist/scripts/pythontex/depythontex3.py ---- texmf-dist/scripts/pythontex/depythontex3.py.orig 2025-07-15 15:33:41.682593752 +0200 -+++ texmf-dist/scripts/pythontex/depythontex3.py 2025-07-15 15:41:16.346789065 +0200 -@@ -121,7 +121,7 @@ def replace_code_cmd(name, arglist, line - - Usually, code from a command is also typeset with a command. This - function primarily deals with that case. In cases where code from a -- command is typeset with an environment (for example, `\inputpygments`), -+ command is typeset with an environment (for example, `\\inputpygments`), - this function performs some preprocessing and then uses - replace_code_env() to do the real work. This approach prevents the two - functions from unnecessarily duplicating each other, while still giving -@@ -161,7 +161,7 @@ def replace_code_cmd(name, arglist, line - # Make sure the introduction of an environment where a command was - # previously won't produce errors with following content; make sure - # that any following content is on a separate line -- if bool(match('[ \t]*\S', after)): -+ if bool(match(r'[ \t]*\S', after)): - after = '\n' + after - # Rather than duplicating much of replace_code_env(), just use it - return replace_code_env(name, arglist, linenum, code_replacement, -@@ -333,7 +333,7 @@ def replace_print_cmd(name, arglist, lin - break - print_replacement = r'\verb' + delim + print_replacement + delim - elif print_replacement_mode == 'verbatim': -- if bool(match('\s*?\n', after)): -+ if bool(match(r'\s*?\n', after)): - # Usually, we would end the verbatim environment with a newline. - # This is fine if there is content in `after` before the next - # newline---in fact, it's desirable, because the verbatim package -@@ -405,11 +405,11 @@ def replace_print_cmd(name, arglist, lin - # the `\input` content. - print_replacement = print_replacement.rstrip(' \t\n') - after = sub(r'^\\unskip\s+', '', after) -- elif bool(match('\S', after)): -+ elif bool(match(r'\S', after)): - # If the next character is not whitespace, we can just leave - # the `\n`, and it will yield a space. - pass -- elif bool(match('\s*$', after)): -+ elif bool(match(r'\s*$', after)): - # If the rest of the current line, and the next line, are - # whitespace, we will get the correct spacing without needing - # `\space{}`. We could leave `\n`, but it would be -@@ -421,14 +421,14 @@ def replace_print_cmd(name, arglist, lin - # it's at the end of an environment, and thus is needed to - # protect the following content - print_replacement += '\\space{}' -- after = sub('^\s+', '', after) -+ after = sub(r'^\s+', '', after) - forced_double_space_list.append((name, linenum)) - else: -- if bool(match('\s+\S', after)): -+ if bool(match(r'\s+\S', after)): - # If the following line starts with whitespace, replace it - # with a newline, to protect in the event that the printed - # content ended with an end-of-environment command -- after = sub('^\s+', '\n', after) -+ after = sub(r'^\s+', '\n', after) - # Issue warnings, if warranted - # Warn about `\endinput` - if (r'\endinput' in print_replacement and -@@ -505,7 +505,7 @@ def replace_print_env(name, arglist, lin - - #### The inlineverb and verb modes should work, but haven't been tested - since there are currently no environments that use them; they are only -- used by `\printpythontex`, which is a command. -+ used by `\\printpythontex`, which is a command. - ''' - if print_replacement_mode == 'verb': - if print_replacement.count('\n') > 1: -@@ -519,17 +519,17 @@ def replace_print_env(name, arglist, lin - if delim not in print_replacement: - break - print_replacement = r'\verb' + delim + print_replacement + delim -- if not bool(match('[ \t]+\S', after)): -+ if not bool(match(r'[ \t]+\S', after)): - # If there is text on the same line as the end of the - # environment, we're fine (this is unusual). Otherwise, - # we need to toss the newline at the end of the environment - # and gobble leading spaces. Leading spaces need to be - # gobbled because previously they were at the beginning of a - # line, where they would have been discarded. -- if not bool(match('\s*$', after)): -- after = sub('^\s*?\n\s*', '', after) -+ if not bool(match(r'\s*$', after)): -+ after = sub(r'^\s*?\n\s*', '', after) - elif print_replacement_mode == 'verbatim': -- if bool(match('\s*?\n', after)): -+ if bool(match(r'\s*?\n', after)): - # Usually, we would end the verbatim environment with a newline. - # This is fine if there is content in `after` before the next - # newline---in fact, it's desirable, because the verbatim package -@@ -570,15 +570,15 @@ def replace_print_env(name, arglist, lin - # printed content. Later, we issue a warning in case it appears - # anywhere else. - print_replacement = print_replacement.rsplit(r'\endinput', 1)[0] -- if not bool(match('[ \t]+\S', after)): -+ if not bool(match(r'[ \t]+\S', after)): - # If there is text on the same line as the end of the - # environment, we're fine (this is unusual). Otherwise, - # we need to toss the newline at the end of the environment - # and gobble leading spaces. Leading spaces need to be - # gobbled because previously they were at the beginning of a - # line, where they would have been discarded. -- if not bool(match('\s*$', after)): -- after = sub('^\s*?\n\s*', '', after) -+ if not bool(match(r'\s*$', after)): -+ after = sub(r'^\s*?\n\s*', '', after) - elif (print_replacement.endswith('%\n') and - not print_replacement.endswith('\\%\n') and - not print_replacement.endswith('\\string%\n')): -@@ -590,15 +590,15 @@ def replace_print_env(name, arglist, lin - # warning if there is reason to think that a percent character - # was active in the last line. - print_replacement = print_replacement.rsplit(r'%', 1)[0] -- if not bool(match('[ \t]+\S', after)): -+ if not bool(match(r'[ \t]+\S', after)): - # If there is text on the same line as the end of the - # environment, we're fine (this is unusual). Otherwise, - # we need to toss the newline at the end of the environment - # and gobble leading spaces. Leading spaces need to be - # gobbled because previously they were at the beginning of a - # line, where they would have been discarded. -- if not bool(match('\s*$', after)): -- after = sub('^\s*?\n\s*', '', after) -+ if not bool(match(r'\s*$', after)): -+ after = sub(r'^\s*?\n\s*', '', after) - else: - # By default, LaTeX strips newlines and adds a space at the end - # of each line of content that is brought in by `\input`. This -@@ -611,13 +611,13 @@ def replace_print_env(name, arglist, lin - # `\unskip` - print_replacement = print_replacement.rstrip(' \t\n') - after = sub(r'^\s*\\unskip\s+', '', after) -- elif bool(match('[ \t]+\S', after)): -+ elif bool(match(r'[ \t]+\S', after)): - # If the next character after the end of the environment is - # not whitespace (usually not allowed), we can just leave - # the `\n` in printed content, and it will yield a space. - # So we need do nothing. But if there is text on that line - # we need `\space{}`. -- after = sub('^\s+', '\\space', after) -+ after = sub(r'^\s+', '\\space', after) - forced_double_space_list.append((name, linenum)) - else: - # If the line at the end of the environment is blank, -@@ -1080,7 +1080,7 @@ for n, depytxline in enumerate(depytx): - else: - if obeylines: - # Take into account possible whitespace before arg -- if bool(match('[ \t]*\[', after)): -+ if bool(match(r'[ \t]*\[', after)): - after = after.split('[', 1)[1] - while ']' not in after: - texlinenum += 1 -@@ -1094,11 +1094,11 @@ for n, depytxline in enumerate(depytx): - after = sub('^[ \t]*', '', after) - else: - # Allow peeking ahead a line for the argument -- if bool(match('\s*$', after)) and after.count('\n') < 2: -+ if bool(match(r'\s*$', after)) and after.count('\n') < 2: - texlinenum += 1 - after += tex[texlinenum] - # Take into account possible whitespace before arg -- if bool(match('\s*\[', after)): -+ if bool(match(r'\s*\[', after)): - after = after.split('[', 1)[1] - while ']' not in after: - texlinenum += 1 -@@ -1108,11 +1108,11 @@ for n, depytxline in enumerate(depytx): - optarg = None - # Account for eating whitespace afterward, if arg not found - if argindex == len(depy_args) - 1: -- if bool(match('\s*$', after)) and after.count('\n') < 2: -+ if bool(match(r'\s*$', after)) and after.count('\n') < 2: - texlinenum += 1 - after += tex[texlinenum] -- if not bool(match('\s*$', after)): -- after = sub('^\s*', '', after) -+ if not bool(match(r'\s*$', after)): -+ after = sub(r'^\s*', '', after) - arglist.append(optarg) - elif arg == 'm': - # Account for possible line breaks or spaces before arg -@@ -1121,7 +1121,7 @@ for n, depytxline in enumerate(depytx): - else: - if obeylines: - # Account for possible leading whitespace -- if bool(match('[ \t\f\v]*\{', after)): -+ if bool(match(r'[ \t\f\v]*\{', after)): - after = after.split('{', 1)[1] - else: - print('* DePythonTeX error:') -@@ -1129,10 +1129,10 @@ for n, depytxline in enumerate(depytx): - sys.exit(1) - else: - # Peek ahead a line if needed -- if bool(match('\s*$', after)) and after.count('\n') < 2: -+ if bool(match(r'\s*$', after)) and after.count('\n') < 2: - texlinenum += 1 - after += tex[texlinenum] -- if bool(match('\s*\{', after)): -+ if bool(match(r'\s*\{', after)): - after = after.split('{', 1)[1] - else: - print('* DePythonTeX error:') -@@ -1338,7 +1338,7 @@ for n, depytxline in enumerate(depytx): - after = tex[texlinenum] - break - after = after.split(end_environment, 1)[1] -- if bool(match('\s*\n', after)): -+ if bool(match(r'\s*\n', after)): - # If the line following `after` is whitespace, it should - # be stripped, since most environments throw away - # anything after the end of the environment -@@ -1389,7 +1389,7 @@ if preamble_additions: - # Take care of graphicspath - if args.graphicspath and settings['graphicx']: - for n, line in enumerate(texout): -- if '\\graphicspath' in line and not bool(match('\s*%', line)): -+ if '\\graphicspath' in line and not bool(match(r'\s*%', line)): - texout[n] = line.replace('\\graphicspath{', '\\graphicspath{{' + settings['outputdir'] +'/}') - break - elif line.startswith(r'\begin{document}'): -diff -up texmf-dist/scripts/pythontex/pythontex3.py.orig texmf-dist/scripts/pythontex/pythontex3.py ---- texmf-dist/scripts/pythontex/pythontex3.py.orig 2025-07-15 15:42:36.840317560 +0200 -+++ texmf-dist/scripts/pythontex/pythontex3.py 2025-07-15 15:43:51.882856253 +0200 -@@ -554,7 +554,7 @@ def do_upgrade_compatibility(data, old_d - It will continue to use the output directory for now. To keep your - current settings long-term and avoid seeing this message in the future, - add the following command to the preamble of your document, right after -- the "\\usepackage{pythontex}": "\setpythontexworkingdir{}". -+ the "\\usepackage{pythontex}": "\\setpythontexworkingdir{}". - If you wish to continue with the new settings instead, simply delete - the file with extension .pkl in the output directory, and run PythonTeX. - **** End PythonTeX upgrade message **** -@@ -1807,7 +1807,7 @@ def run_code(encoding, outputdir, workin - # Get the gobbleation. This is used to determine if - # other lines containing the basename are a continuation, - # or separate messages. -- errgobble = match('(\s*)', line).groups()[0] -+ errgobble = match(r'(\s*)', line).groups()[0] - if start_errgobble is None: - start_errgobble = errgobble - # Only issue a message and track down the line numer if -@@ -2072,7 +2072,7 @@ def run_code(encoding, outputdir, workin - # Get the gobbleation. This is used to determine if - # other lines containing the basename are a continuation, - # or separate messages. -- errgobble = match('(\s*)', line).groups()[0] -+ errgobble = match(r'(\s*)', line).groups()[0] - if start_errgobble is None: - start_errgobble = errgobble - # Only issue a message and track down the line numer if diff --git a/tl-format.patch b/tl-format.patch deleted file mode 100644 index 6d89572..0000000 --- a/tl-format.patch +++ /dev/null @@ -1,51 +0,0 @@ -diff -up texlive-base-20180414/source/texk/dvi2tty/dvi2tty-src/DVI.format texlive-base-20180414/source/texk/dvi2tty/dvi2tty-src/DVI -diff -up texlive-base-20180414/source/texk/dvidvi/dvidvi.c.format texlive-base-20180414/source/texk/dvidvi/dvidvi.c ---- texlive-base-20180414/source/texk/dvidvi/dvidvi.c.format 2017-06-23 10:55:46.000000000 -0400 -+++ texlive-base-20180414/source/texk/dvidvi/dvidvi.c 2018-04-30 13:07:17.910020544 -0400 -@@ -349,7 +349,7 @@ static void stringdvibuf(integer p, inte - * Print a usage error messsage, and quit. - */ - static void usage(void) { -- (void)fprintf(stderr,banner); -+ (void)fprintf(stderr,"%s",banner); - (void)fprintf(stderr,"Usage: dvidvi [options] input[.dvi] [output]\n"); - (void)fprintf(stderr,"where options are:\n"); - (void)fprintf(stderr," [-f n] first page printed [-l n] last page printed\n"); -@@ -828,7 +828,7 @@ default: - } /* else argument with '-' */ - } /* for */ - if (*iname == 0) { -- (void)fprintf(stderr, banner) ; -+ (void)fprintf(stderr, "%s", banner) ; - error("! no input file specified"); - } - /* Inserted by djc@dsmail.hmi.de 3.8.1994 */ -@@ -839,7 +839,7 @@ default: - } - - if (*oname != 0 && !quiet) { -- (void)fprintf(stderr, banner) ; -+ (void)fprintf(stderr, "%s", banner) ; - (void)fprintf(stderr, "%s -> %s\n",iname,oname); - temp = nextstring ; - } -diff -up texlive-base-20180414/source/texk/web2c/tiedir/tie.c.format texlive-base-20180414/source/texk/web2c/tiedir/tie.c ---- texlive-base-20180414/source/texk/web2c/tiedir/tie.c.format 2016-11-25 13:24:38.000000000 -0500 -+++ texlive-base-20180414/source/texk/web2c/tiedir/tie.c 2018-04-30 13:07:27.792787747 -0400 -@@ -27,14 +27,14 @@ - \ - - #define term_out stdout --#define print(a)fprintf(term_out,a) -+#define print(a)fprintf(term_out,"%s",a) - #define print2(a,b)fprintf(term_out,a,b) - #define print3(a,b,c)fprintf(term_out,a,b,c) - #define print_c(v)fputc(v,term_out); - #define new_line(v)fputc('\n',v) - #define term_new_line new_line(term_out) \ - --#define print_ln(v){fprintf(term_out,v);term_new_line;} \ -+#define print_ln(v){fprintf(term_out,"%s",v);term_new_line;} \ - - #define print2_ln(a,b){print2(a,b);term_new_line;} - #define print3_ln(a,b,c){print3(a,b,c);term_new_line;} \ diff --git a/tl-kpfix.patch b/tl-kpfix.patch deleted file mode 100644 index afcd92b..0000000 --- a/tl-kpfix.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff -up texlive-2013/source/texk/kpathsea/progname.c.kpfix texlive-2013/source/texk/kpathsea/progname.c ---- source/texk/kpathsea/progname.c.kpfix 2013-08-12 09:28:14.422522624 +0200 -+++ source/texk/kpathsea/progname.c 2013-08-12 12:16:02.958132658 +0200 -@@ -668,7 +668,7 @@ kpathsea_set_program_name (kpathsea kpse - kpathsea_xputenv (kpse, "SELFAUTOLOC", fix_selfdir (sdir)); - sdir_parent = xdirname (sdir); - kpathsea_xputenv (kpse, "SELFAUTODIR", fix_selfdir (sdir_parent)); -- sdir_grandparent = xdirname (sdir_parent); -+ sdir_grandparent = strdup("/usr/share/texlive"); - kpathsea_xputenv (kpse, "SELFAUTOPARENT", fix_selfdir (sdir_grandparent)); - sdir_greatgrandparent = xdirname (sdir_grandparent); - kpathsea_xputenv (kpse, "SELFAUTOGRANDPARENT", fix_selfdir (sdir_greatgrandparent));