summaryrefslogtreecommitdiffstats
path: root/doc
diff options
context:
space:
mode:
authorDimitri van Heesch <dimitri@stack.nl>2013-01-20 13:31:30 (GMT)
committerDimitri van Heesch <dimitri@stack.nl>2013-01-20 13:31:30 (GMT)
commitdcd4714c4413348d02eb7224dafee5d06be43dfb (patch)
tree3872f0367bbee22883a702d1d2f799c9a9c2e8ac /doc
parent775ab3be95c02dd805aadc73ffbe3c18877c12a4 (diff)
downloadDoxygen-dcd4714c4413348d02eb7224dafee5d06be43dfb.zip
Doxygen-dcd4714c4413348d02eb7224dafee5d06be43dfb.tar.gz
Doxygen-dcd4714c4413348d02eb7224dafee5d06be43dfb.tar.bz2
Release-1.8.3.1
Diffstat (limited to 'doc')
-rw-r--r--doc/Doxyfile2
-rw-r--r--doc/Makefile.in2
-rw-r--r--doc/Makefile.latex2
-rw-r--r--doc/Makefile.win_make.in2
-rw-r--r--doc/Makefile.win_nmake.in2
-rw-r--r--doc/arch.doc2
-rw-r--r--doc/autolink.doc2
-rw-r--r--doc/commands.doc2
-rw-r--r--doc/config.doc44
-rw-r--r--doc/custcmd.doc2
-rw-r--r--doc/customize.doc15
-rw-r--r--doc/diagrams.doc2
-rw-r--r--doc/docblocks.doc2
-rw-r--r--doc/doxygen.12
-rw-r--r--doc/doxygen_manual.css2
-rw-r--r--doc/doxygen_manual.tex2
-rw-r--r--doc/doxygen_usage.doc2
-rw-r--r--doc/doxywizard_usage.doc2
-rw-r--r--doc/external.doc2
-rw-r--r--doc/extsearch.doc99
-rw-r--r--doc/extsearch_flow.dot18
-rw-r--r--doc/extsearch_flow.eps2100
-rw-r--r--doc/extsearch_flow.pngbin0 -> 21062 bytes
-rw-r--r--doc/faq.doc2
-rw-r--r--doc/features.doc2
-rw-r--r--doc/formulas.doc2
-rw-r--r--doc/grouping.doc2
-rw-r--r--doc/htmlcmds.doc2
-rw-r--r--doc/index.doc46
-rw-r--r--doc/install.doc2
-rw-r--r--doc/language.doc4
-rw-r--r--doc/language.tpl2
-rw-r--r--doc/markdown.doc2
-rw-r--r--doc/output.doc2
-rw-r--r--doc/preprocessing.doc2
-rw-r--r--doc/searching.doc2
-rw-r--r--doc/starting.doc2
-rw-r--r--doc/translator_report.txt2
-rw-r--r--doc/trouble.doc9
-rw-r--r--doc/xmlcmds.doc2
40 files changed, 2258 insertions, 139 deletions
diff --git a/doc/Doxyfile b/doc/Doxyfile
index 50cede6..7d5470b 100644
--- a/doc/Doxyfile
+++ b/doc/Doxyfile
@@ -12,7 +12,7 @@
# Documents produced by Doxygen are derivative works derived from the
# input used in their production; they are not affected by this license.
-PROJECT_NAME =
+PROJECT_NAME = "Doxygen"
OUTPUT_DIRECTORY = ..
HTML_HEADER =
HTML_FOOTER =
diff --git a/doc/Makefile.in b/doc/Makefile.in
index aaa9b0e..591e327 100644
--- a/doc/Makefile.in
+++ b/doc/Makefile.in
@@ -1,7 +1,7 @@
#
#
#
-# Copyright (C) 1997-2012 by Dimitri van Heesch.
+# Copyright (C) 1997-2013 by Dimitri van Heesch.
#
# Permission to use, copy, modify, and distribute this software and its
# documentation under the terms of the GNU General Public License is hereby
diff --git a/doc/Makefile.latex b/doc/Makefile.latex
index a13b90f..f62f97a 100644
--- a/doc/Makefile.latex
+++ b/doc/Makefile.latex
@@ -1,7 +1,7 @@
#
#
#
-# Copyright (C) 1997-2012 by Dimitri van Heesch.
+# Copyright (C) 1997-2013 by Dimitri van Heesch.
#
# Permission to use, copy, modify, and distribute this software and its
# documentation under the terms of the GNU General Public License is hereby
diff --git a/doc/Makefile.win_make.in b/doc/Makefile.win_make.in
index 07c0679..c19b0e4 100644
--- a/doc/Makefile.win_make.in
+++ b/doc/Makefile.win_make.in
@@ -1,7 +1,7 @@
#
#
#
-# Copyright (C) 1997-2012 by Dimitri van Heesch.
+# Copyright (C) 1997-2013 by Dimitri van Heesch.
#
# Permission to use, copy, modify, and distribute this software and its
# documentation under the terms of the GNU General Public License is hereby
diff --git a/doc/Makefile.win_nmake.in b/doc/Makefile.win_nmake.in
index af8711c..f8705f3 100644
--- a/doc/Makefile.win_nmake.in
+++ b/doc/Makefile.win_nmake.in
@@ -1,7 +1,7 @@
#
#
#
-# Copyright (C) 1997-2012 by Dimitri van Heesch.
+# Copyright (C) 1997-2013 by Dimitri van Heesch.
#
# Permission to use, copy, modify, and distribute this software and its
# documentation under the terms of the GNU General Public License is hereby
diff --git a/doc/arch.doc b/doc/arch.doc
index f89b12a..4e756b2 100644
--- a/doc/arch.doc
+++ b/doc/arch.doc
@@ -2,7 +2,7 @@
*
*
*
- * Copyright (C) 1997-2012 by Dimitri van Heesch.
+ * Copyright (C) 1997-2013 by Dimitri van Heesch.
*
* Permission to use, copy, modify, and distribute this software and its
* documentation under the terms of the GNU General Public License is hereby
diff --git a/doc/autolink.doc b/doc/autolink.doc
index 7dcb328..f0e7f87 100644
--- a/doc/autolink.doc
+++ b/doc/autolink.doc
@@ -2,7 +2,7 @@
*
*
*
- * Copyright (C) 1997-2012 by Dimitri van Heesch.
+ * Copyright (C) 1997-2013 by Dimitri van Heesch.
*
* Permission to use, copy, modify, and distribute this software and its
* documentation under the terms of the GNU General Public License is hereby
diff --git a/doc/commands.doc b/doc/commands.doc
index 03d6d3c..87eec7a 100644
--- a/doc/commands.doc
+++ b/doc/commands.doc
@@ -2,7 +2,7 @@
*
*
*
- * Copyright (C) 1997-2012 by Dimitri van Heesch.
+ * Copyright (C) 1997-2013 by Dimitri van Heesch.
*
* Permission to use, copy, modify, and distribute this software and its
* documentation under the terms of the GNU General Public License is hereby
diff --git a/doc/config.doc b/doc/config.doc
index 2fdabb0..01ffcb5 100644
--- a/doc/config.doc
+++ b/doc/config.doc
@@ -1,8 +1,8 @@
-/******************************************************************************
+e******************************************************************************
*
*
*
- * Copyright (C) 1997-2012 by Dimitri van Heesch.
+ * Copyright (C) 1997-2013 by Dimitri van Heesch.
*
* Permission to use, copy, modify, and distribute this software and its
* documentation under the terms of the GNU General Public License is hereby
@@ -115,6 +115,7 @@ followed by the descriptions of the tags grouped by category.
\refitem cfg_extension_mapping EXTENSION_MAPPING
\refitem cfg_external_groups EXTERNAL_GROUPS
\refitem cfg_external_search EXTERNAL_SEARCH
+\refitem cfg_external_search_id EXTERNAL_SEARCH_ID
\refitem cfg_extra_packages EXTRA_PACKAGES
\refitem cfg_extra_search_mappings EXTRA_SEARCH_MAPPINGS
\refitem cfg_extract_all EXTRACT_ALL
@@ -623,9 +624,13 @@ followed by the descriptions of the tags grouped by category.
Doxygen has a built-in mapping, but you can override or extend it using this tag.
The format is ext=language, where ext is a file extension, and language is one of
the parsers supported by doxygen: IDL, Java, Javascript, C#, C, C++, D, PHP,
- Objective-C, Python, Fortran, VHDL. For instance to make doxygen treat
+ Objective-C, Python, Fortran, VHDL.
+
+ For instance to make doxygen treat
.inc files as Fortran files (default is PHP), and .f files as C (default is Fortran),
- use: inc=Fortran f=C
+ use: `inc=Fortran f=C`.
+
+ For files without extension you can use `no_extension` as a placeholder.
\anchor cfg_subgrouping
<dt>\c SUBGROUPING <dd>
@@ -1388,10 +1393,10 @@ doxygen -w html new_header.html new_footer.html new_stylesheet.css YourConfigFil
<dt><code>\$mathjax</code><dd>will be replaced with a links to
the javascript and style sheets needed for the MathJax feature
(or an empty string when \ref cfg_use_mathjax "USE_MATHJAX" is disabled).
- <dt><code>\$relpath\$</code><dd>
- If \c CREATE_SUBDIRS is enabled, the command <code>\$relpath\$</code> can be
+ <dt><code>\$relpath^</code><dd>
+ If \c CREATE_SUBDIRS is enabled, the command <code>\$relpath^</code> can be
used to produce a relative path to the root of the HTML output directory,
- e.g. use \$relpath\$doxygen.css, to refer to the standard style sheet.
+ e.g. use \$relpath^doxygen.css, to refer to the standard style sheet.
</dl>
To cope with differences in the layout of the header and footer that depend on
@@ -1515,7 +1520,7 @@ hr.footer {
The \c HTML_EXTRA_FILES tag can be used to specify one or more extra images or
other source files which should be copied to the HTML output directory. Note
that these files will be copied to the base HTML output directory. Use the
- $relpath$ marker in the \c HTML_HEADER and/or \c HTML_FOOTER files to load these
+ $relpath^ marker in the \c HTML_HEADER and/or \c HTML_FOOTER files to load these
files. In the \c HTML_STYLESHEET file, use the file name only. Also note that
the files will be copied as-is; there are no commands or markers available.
@@ -1943,18 +1948,27 @@ search data is written to a file for indexing by an external tool. With the
\c SEARCHDATA_FILE tag the name of this file can be specified.
The default is searchdata.xml.
+\anchor cfg_external_search_id
+<dt>\c EXTERNAL_SEARCH_ID <dd>
+ \addindex EXTERNAL_SEARCH_ID
+
+When \c SERVER_BASED_SEARCH AND \c EXTERNAL_SEARCH are both enabled the
+\c EXTERNAL_SEARCH_ID tag can be used as an identifier for the project. This is
+useful in combination with \ref cfg_extra_search_mappings "EXTRA_SEARCH_MAPPINGS"
+to search through multiple projects and redirect the results back to the right project.
+
\anchor cfg_extra_search_mappings
<dt>\c EXTRA_SEARCH_MAPPINGS <dd>
\addindex EXTRA_SEARCH_MAPPINGS
-The \c EXTRA_SEARCH_MAPPINGS tag can be used to enable searching through other
-doxygen projects that are not otherwise connected via tags files, but are
-all added to the same search index. Each project needs to have a tag file set
-via \ref cfg_generate_tagfile "GENERATE_TAGFILE". The search mapping then
-maps the name of tag file to a relative location where the documentation
-can be found, similar to the \ref cfg_tagfiles "TAGFILES" option but without
-actually processing the tag file. The format is:
+The \c EXTRA_SEARCH_MAPPINGS tag can be used to enable searching through doxygen
+projects other than the one defined by this configuration file, but that are
+all added to the same external search index. Each project needs to have a
+unique id set via \ref cfg_external_search_id "EXTERNAL_SEARCH_ID".
+The search mapping then maps the id of to a relative location where the
+documentation can be found.
+The format is:
\verbatim
EXTRA_SEARCH_MAPPINGS = tagname1=loc1 tagname2=loc2 ...
\endverbatim
diff --git a/doc/custcmd.doc b/doc/custcmd.doc
index 06ef0d1..c4ec3ac 100644
--- a/doc/custcmd.doc
+++ b/doc/custcmd.doc
@@ -2,7 +2,7 @@
*
*
*
- * Copyright (C) 1997-2012 by Dimitri van Heesch.
+ * Copyright (C) 1997-2013 by Dimitri van Heesch.
*
* Permission to use, copy, modify, and distribute this software and its
* documentation under the terms of the GNU General Public License is hereby
diff --git a/doc/customize.doc b/doc/customize.doc
index b035826..158de5b 100644
--- a/doc/customize.doc
+++ b/doc/customize.doc
@@ -2,7 +2,7 @@
*
*
*
- * Copyright (C) 1997-2012 by Dimitri van Heesch.
+ * Copyright (C) 1997-2013 by Dimitri van Heesch.
*
* Permission to use, copy, modify, and distribute this software and its
* documentation under the terms of the GNU General Public License is hereby
@@ -250,7 +250,18 @@ defined group with title "My Group":
</navindex>
\endverbatim
-Groups can be nested to form a hierarchy.
+Groups can be nested to form a hierarchy.
+
+By default a usergroup entry in the navigation tree is a link to
+a landing page with the contents of the group. You can link to a
+different page using the `url` attribute just like you can for the
+`<tab>` element and prevent any link using `url="[none]"`, i.e.
+
+\verbatim
+ <tab type="usergroup" title="Group without link" url="[none]">
+ ...
+ </tab>
+\endverbatim
The elements after \c navindex represent the layout of the different
pages generated by doxygen:
diff --git a/doc/diagrams.doc b/doc/diagrams.doc
index 56f82b8..00d1415 100644
--- a/doc/diagrams.doc
+++ b/doc/diagrams.doc
@@ -2,7 +2,7 @@
*
*
*
- * Copyright (C) 1997-2012 by Dimitri van Heesch.
+ * Copyright (C) 1997-2013 by Dimitri van Heesch.
*
* Permission to use, copy, modify, and distribute this software and its
* documentation under the terms of the GNU General Public License is hereby
diff --git a/doc/docblocks.doc b/doc/docblocks.doc
index d6bb675..4af0386 100644
--- a/doc/docblocks.doc
+++ b/doc/docblocks.doc
@@ -2,7 +2,7 @@
*
*
*
- * Copyright (C) 1997-2012 by Dimitri van Heesch.
+ * Copyright (C) 1997-2013 by Dimitri van Heesch.
*
* Permission to use, copy, modify, and distribute this software and its
* documentation under the terms of the GNU General Public License is hereby
diff --git a/doc/doxygen.1 b/doc/doxygen.1
index 45090f4..98f0df0 100644
--- a/doc/doxygen.1
+++ b/doc/doxygen.1
@@ -41,6 +41,6 @@ doxygen \fB\-e\fR rtf extensionsFile
If \fB\-s\fR is specified the comments in the config file will be omitted.
If configName is omitted `Doxyfile' will be used as a default.
.SH AUTHOR
-Doxygen version VERSION, Copyright Dimitri van Heesch 1997-2012
+Doxygen version VERSION, Copyright Dimitri van Heesch 1997-2013
.SH SEE ALSO
doxywizard(1).
diff --git a/doc/doxygen_manual.css b/doc/doxygen_manual.css
index 45395b4..3286004 100644
--- a/doc/doxygen_manual.css
+++ b/doc/doxygen_manual.css
@@ -983,6 +983,8 @@ dl.section dd {
margin: 0px;
width: 100%;
border-bottom: 1px solid #848484;
+ visibility: hidden;
+ height: 0px;
}
.image
diff --git a/doc/doxygen_manual.tex b/doc/doxygen_manual.tex
index cd9a544..9435280 100644
--- a/doc/doxygen_manual.tex
+++ b/doc/doxygen_manual.tex
@@ -1,7 +1,7 @@
%
%
%
-% Copyright (C) 1997-2011 by Dimitri van Heesch.
+% Copyright (C) 1997-2013 by Dimitri van Heesch.
%
% Permission to use, copy, modify, and distribute this software and its
% documentation under the terms of the GNU General Public License is hereby
diff --git a/doc/doxygen_usage.doc b/doc/doxygen_usage.doc
index 40e5163..59cef23 100644
--- a/doc/doxygen_usage.doc
+++ b/doc/doxygen_usage.doc
@@ -2,7 +2,7 @@
*
*
*
- * Copyright (C) 1997-2012 by Dimitri van Heesch.
+ * Copyright (C) 1997-2013 by Dimitri van Heesch.
*
* Permission to use, copy, modify, and distribute this software and its
* documentation under the terms of the GNU General Public License is hereby
diff --git a/doc/doxywizard_usage.doc b/doc/doxywizard_usage.doc
index 435661b..ffe95f2 100644
--- a/doc/doxywizard_usage.doc
+++ b/doc/doxywizard_usage.doc
@@ -2,7 +2,7 @@
*
*
*
- * Copyright (C) 1997-2012 by Dimitri van Heesch.
+ * Copyright (C) 1997-2013 by Dimitri van Heesch.
*
* Permission to use, copy, modify, and distribute this software and its
* documentation under the terms of the GNU General Public License is hereby
diff --git a/doc/external.doc b/doc/external.doc
index 013b7c2..501254d 100644
--- a/doc/external.doc
+++ b/doc/external.doc
@@ -2,7 +2,7 @@
*
*
*
- * Copyright (C) 1997-2012 by Dimitri van Heesch.
+ * Copyright (C) 1997-2013 by Dimitri van Heesch.
*
* Permission to use, copy, modify, and distribute this software and its
* documentation under the terms of the GNU General Public License is hereby
diff --git a/doc/extsearch.doc b/doc/extsearch.doc
index a86d1db..d69b36e 100644
--- a/doc/extsearch.doc
+++ b/doc/extsearch.doc
@@ -1,6 +1,6 @@
/******************************************************************************
*
- * Copyright (C) 1997-2012 by Dimitri van Heesch.
+ * Copyright (C) 1997-2013 by Dimitri van Heesch.
*
* Permission to use, copy, modify, and distribute this software and its
* documentation under the terms of the GNU General Public License is hereby
@@ -14,6 +14,8 @@
*/
/*! \page extsearch External Indexing and Searching
+[TOC]
+
\section extsearch_intro Introduction
With release 1.8.3, doxygen provides the ability to search through HTML using
@@ -34,26 +36,9 @@ engine, doxygen provides an example tool for each action: `doxyindexer`
for indexing the data and `doxysearch.cgi` for searching through the index.
The data flow is shown in the following diagram:
-\dot
-digraph Flow {
- edge [fontname="helvetica",fontsize="10pt"];
- node [shape=ellipse,fontname="helvetica",fontsize="10pt"];
- doxygen;
- doxyindexer;
- doxysearch [label="doxysearch.cgi"];
- browser [label="HTML page\nin browser"];
- node [shape=note];
- searchdata [label="searchdata.xml"];
- searchindex [label="doxysearch.db"];
-
- doxygen -> searchdata [label=" writes"];
- searchdata -> doxyindexer [label=" reads"];
- doxyindexer -> searchindex [label=" writes"];
- searchindex -> doxysearch [label=" reads"];
- doxysearch -> browser [label=" get results "];
- browser -> doxysearch [label=" query "];
-}
-\enddot
+
+\image html extsearch_flow.png "External Search Data Flow"
+\image latex extsearch_flow.eps "External Search Data Flow" height=10cm
- `doxygen` produces the raw search data
- `doxyindexer` indexes the data into a search database `doxysearch.db`
@@ -135,47 +120,49 @@ Now you should be enable to search for words and symbols from the HTML output.
\subsection extsearch_multi Multi project index
-In case you have two doxygen projects A and B where B depends on A via a
-tag file, i.e. the configuration of project A says:
-
- GENERATE_TAGFILES = A.tag
-
-and the configuration of project B has its dependency on A configured as
-follows:
-
- TAGFILES = ../project_A/A.tag=../../project_A/html
-
-then it may be desirable to allow searching for words in both projects.
+In case you have more than one doxygen project and these projects are related,
+it may be desirable to allow searching for words in all projects from within
+the documentation of any of the projects.
To make this possible all that is needed is to combine the search data
-for both projects into one index, i.e. run
+for all projects into a single index, e.g. for two projects A and B for which the
+searchdata.xml is generated in directories project_A and project_B run:
doxyindexer project_A/searchdata.xml project_B/searchdata.xml
and then copy the resulting `doxysearch.db` to the directory where also
-`doxysearch.cgi` used by project B is located.
-
-In case you also want to link to search results in project B
-from the search page of project A (or in general
-between two projects that are otherwise unrelated),
-you need to give some additional information in order for doxygen to make
-the right links. This is what the
-\ref cfg_extra_search_mappings "EXTRA_SEARCH_MAPPINGS" option is for.
-
-Each project needs to have a tag file defined, i.e. in the above example
-involving project A and B, also project B should define a tag file:
-
- GENERATE_TAGFILES = B.tag
-
-then project A can define the mapping as follows:
-
- EXTRA_SEARCH_MAPPINGS = B.tag=../../project_B/html
-
-with this addition, projects A and B can share the same search database.
-
-@note The mapping defined by `EXTRA_SEARCH_MAPPINGS` is treated as an
-extension of the mappings already defined by `TAGFILES`. In case the same
-tag file is mentioned in both options, the one in `TAGFILES` is used.
+`doxysearch.cgi` is located.
+
+The `searchdata.xml` file doesn't contain any absolute paths or links,
+so how can the search results from multiple projects be linked back to the right documentation set?
+This is where the `EXTERNAL_SEARCH_ID` and `EXTRA_SEARCH_MAPPINGS` options come into play.
+
+To be able to identify the different projects, one needs to
+set a unique ID using \ref cfg_external_search_id "EXTERNAL_SEARCH_ID"
+for each project.
+
+To link the search results to the right project, you need to define a
+mapping per project using the \ref cfg_extra_search_mappings "EXTRA_SEARCH_MAPPINGS" tag.
+With this option to can define the mapping from IDs of other projects to the
+(relative) location of documentation of those projects.
+
+So for projects A and B the relevant part of the configuration file
+could look as follows:
+
+ project_A/Doxyfile
+ ------------------
+ EXTERNAL_SEARCH_ID = A
+ EXTRA_SEARCH_MAPPINGS = B=../../project_B/html
+
+for project A and for project B
+
+ project_B/Doxyfile
+ ------------------
+ EXTERNAL_SEARCH_ID = B
+ EXTRA_SEARCH_MAPPINGS = A=../../project_A/html
+
+with these settings, projects A and B can share the same search database,
+and the search results will link to the right documentation set.
\section extsearch_update Updating the index
diff --git a/doc/extsearch_flow.dot b/doc/extsearch_flow.dot
new file mode 100644
index 0000000..6352fba
--- /dev/null
+++ b/doc/extsearch_flow.dot
@@ -0,0 +1,18 @@
+digraph Flow {
+ edge [fontname="helvetica",fontsize="10pt"];
+ node [shape=ellipse,fontname="helvetica",fontsize="10pt"];
+ doxygen;
+ doxyindexer;
+ doxysearch [label="doxysearch.cgi"];
+ browser [label="HTML page\nin browser"];
+ node [shape=note];
+ searchdata [label="searchdata.xml"];
+ searchindex [label="doxysearch.db"];
+
+ doxygen -> searchdata [label=" writes"];
+ searchdata -> doxyindexer [label=" reads"];
+ doxyindexer -> searchindex [label=" writes"];
+ searchindex -> doxysearch [label=" reads"];
+ doxysearch -> browser [label=" get results "];
+ browser -> doxysearch [label=" query "];
+}
diff --git a/doc/extsearch_flow.eps b/doc/extsearch_flow.eps
new file mode 100644
index 0000000..ed140cb
--- /dev/null
+++ b/doc/extsearch_flow.eps
@@ -0,0 +1,2100 @@
+%!PS-Adobe-3.0 EPSF-3.0
+%Produced by poppler pdftops version: 0.18.4 (http://poppler.freedesktop.org)
+%%Creator: cairo 1.10.2 (http://cairographics.org)
+%%LanguageLevel: 2
+%%DocumentSuppliedResources: (atend)
+%%BoundingBox: 0 0 176 542
+%%DocumentSuppliedResources: (atend)
+%%EndComments
+%%BeginProlog
+%%BeginResource: procset xpdf 3.00 0
+%%Copyright: Copyright 1996-2004 Glyph & Cog, LLC
+/xpdf 75 dict def xpdf begin
+% PDF special state
+/pdfDictSize 15 def
+/pdfSetup {
+ 3 1 roll 2 array astore
+ /setpagedevice where {
+ pop 3 dict begin
+ /PageSize exch def
+ /ImagingBBox null def
+ /Policies 1 dict dup begin /PageSize 3 def end def
+ { /Duplex true def } if
+ currentdict end setpagedevice
+ } {
+ pop pop
+ } ifelse
+} def
+/pdfStartPage {
+ pdfDictSize dict begin
+ /pdfFillCS [] def
+ /pdfFillXform {} def
+ /pdfStrokeCS [] def
+ /pdfStrokeXform {} def
+ /pdfFill [0] def
+ /pdfStroke [0] def
+ /pdfFillOP false def
+ /pdfStrokeOP false def
+ /pdfLastFill false def
+ /pdfLastStroke false def
+ /pdfTextMat [1 0 0 1 0 0] def
+ /pdfFontSize 0 def
+ /pdfCharSpacing 0 def
+ /pdfTextRender 0 def
+ /pdfPatternCS false def
+ /pdfTextRise 0 def
+ /pdfWordSpacing 0 def
+ /pdfHorizScaling 1 def
+ /pdfTextClipPath [] def
+} def
+/pdfEndPage { end } def
+% PDF color state
+/cs { /pdfFillXform exch def dup /pdfFillCS exch def
+ setcolorspace } def
+/CS { /pdfStrokeXform exch def dup /pdfStrokeCS exch def
+ setcolorspace } def
+/sc { pdfLastFill not { pdfFillCS setcolorspace } if
+ dup /pdfFill exch def aload pop pdfFillXform setcolor
+ /pdfLastFill true def /pdfLastStroke false def } def
+/SC { pdfLastStroke not { pdfStrokeCS setcolorspace } if
+ dup /pdfStroke exch def aload pop pdfStrokeXform setcolor
+ /pdfLastStroke true def /pdfLastFill false def } def
+/op { /pdfFillOP exch def
+ pdfLastFill { pdfFillOP setoverprint } if } def
+/OP { /pdfStrokeOP exch def
+ pdfLastStroke { pdfStrokeOP setoverprint } if } def
+/fCol {
+ pdfLastFill not {
+ pdfFillCS setcolorspace
+ pdfFill aload pop pdfFillXform setcolor
+ pdfFillOP setoverprint
+ /pdfLastFill true def /pdfLastStroke false def
+ } if
+} def
+/sCol {
+ pdfLastStroke not {
+ pdfStrokeCS setcolorspace
+ pdfStroke aload pop pdfStrokeXform setcolor
+ pdfStrokeOP setoverprint
+ /pdfLastStroke true def /pdfLastFill false def
+ } if
+} def
+% build a font
+/pdfMakeFont {
+ 4 3 roll findfont
+ 4 2 roll matrix scale makefont
+ dup length dict begin
+ { 1 index /FID ne { def } { pop pop } ifelse } forall
+ /Encoding exch def
+ currentdict
+ end
+ definefont pop
+} def
+/pdfMakeFont16 {
+ exch findfont
+ dup length dict begin
+ { 1 index /FID ne { def } { pop pop } ifelse } forall
+ /WMode exch def
+ currentdict
+ end
+ definefont pop
+} def
+% graphics state operators
+/q { gsave pdfDictSize dict begin } def
+/Q {
+ end grestore
+ /pdfLastFill where {
+ pop
+ pdfLastFill {
+ pdfFillOP setoverprint
+ } {
+ pdfStrokeOP setoverprint
+ } ifelse
+ } if
+} def
+/cm { concat } def
+/d { setdash } def
+/i { setflat } def
+/j { setlinejoin } def
+/J { setlinecap } def
+/M { setmiterlimit } def
+/w { setlinewidth } def
+% path segment operators
+/m { moveto } def
+/l { lineto } def
+/c { curveto } def
+/re { 4 2 roll moveto 1 index 0 rlineto 0 exch rlineto
+ neg 0 rlineto closepath } def
+/h { closepath } def
+% path painting operators
+/S { sCol stroke } def
+/Sf { fCol stroke } def
+/f { fCol fill } def
+/f* { fCol eofill } def
+% clipping operators
+/W { clip newpath } def
+/W* { eoclip newpath } def
+/Ws { strokepath clip newpath } def
+% text state operators
+/Tc { /pdfCharSpacing exch def } def
+/Tf { dup /pdfFontSize exch def
+ dup pdfHorizScaling mul exch matrix scale
+ pdfTextMat matrix concatmatrix dup 4 0 put dup 5 0 put
+ exch findfont exch makefont setfont } def
+/Tr { /pdfTextRender exch def } def
+/Tp { /pdfPatternCS exch def } def
+/Ts { /pdfTextRise exch def } def
+/Tw { /pdfWordSpacing exch def } def
+/Tz { /pdfHorizScaling exch def } def
+% text positioning operators
+/Td { pdfTextMat transform moveto } def
+/Tm { /pdfTextMat exch def } def
+% text string operators
+/cshow where {
+ pop
+ /cshow2 {
+ dup {
+ pop pop
+ 1 string dup 0 3 index put 3 index exec
+ } exch cshow
+ pop pop
+ } def
+}{
+ /cshow2 {
+ currentfont /FontType get 0 eq {
+ 0 2 2 index length 1 sub {
+ 2 copy get exch 1 add 2 index exch get
+ 2 copy exch 256 mul add
+ 2 string dup 0 6 5 roll put dup 1 5 4 roll put
+ 3 index exec
+ } for
+ } {
+ dup {
+ 1 string dup 0 3 index put 3 index exec
+ } forall
+ } ifelse
+ pop pop
+ } def
+} ifelse
+/awcp {
+ exch {
+ false charpath
+ 5 index 5 index rmoveto
+ 6 index eq { 7 index 7 index rmoveto } if
+ } exch cshow2
+ 6 {pop} repeat
+} def
+/Tj {
+ fCol
+ 1 index stringwidth pdfTextMat idtransform pop
+ sub 1 index length dup 0 ne { div } { pop pop 0 } ifelse
+ pdfWordSpacing pdfHorizScaling mul 0 pdfTextMat dtransform 32
+ 4 3 roll pdfCharSpacing pdfHorizScaling mul add 0
+ pdfTextMat dtransform
+ 6 5 roll Tj1
+} def
+/Tj16 {
+ fCol
+ 2 index stringwidth pdfTextMat idtransform pop
+ sub exch div
+ pdfWordSpacing pdfHorizScaling mul 0 pdfTextMat dtransform 32
+ 4 3 roll pdfCharSpacing pdfHorizScaling mul add 0
+ pdfTextMat dtransform
+ 6 5 roll Tj1
+} def
+/Tj16V {
+ fCol
+ 2 index stringwidth pdfTextMat idtransform exch pop
+ sub exch div
+ 0 pdfWordSpacing pdfTextMat dtransform 32
+ 4 3 roll pdfCharSpacing add 0 exch
+ pdfTextMat dtransform
+ 6 5 roll Tj1
+} def
+/Tj1 {
+ 0 pdfTextRise pdfTextMat dtransform rmoveto
+ currentpoint 8 2 roll
+ pdfTextRender 1 and 0 eq pdfPatternCS not and {
+ 6 copy awidthshow
+ } if
+ pdfTextRender 3 and dup 1 eq exch 2 eq or {
+ 7 index 7 index moveto
+ 6 copy
+ currentfont /FontType get 3 eq { fCol } { sCol } ifelse
+ false awcp currentpoint stroke moveto
+ } if
+ pdfTextRender 4 and 0 ne pdfPatternCS or {
+ 8 6 roll moveto
+ false awcp
+ /pdfTextClipPath [ pdfTextClipPath aload pop
+ {/moveto cvx}
+ {/lineto cvx}
+ {/curveto cvx}
+ {/closepath cvx}
+ pathforall ] def
+ currentpoint newpath moveto
+ } {
+ 8 {pop} repeat
+ } ifelse
+ 0 pdfTextRise neg pdfTextMat dtransform rmoveto
+} def
+/TJm { pdfFontSize 0.001 mul mul neg 0
+ pdfTextMat dtransform rmoveto } def
+/TJmV { pdfFontSize 0.001 mul mul neg 0 exch
+ pdfTextMat dtransform rmoveto } def
+/Tclip { pdfTextClipPath cvx exec clip newpath
+ /pdfTextClipPath [] def } def
+/Tclip* { pdfTextClipPath cvx exec eoclip newpath
+ /pdfTextClipPath [] def } def
+% Level 2 image operators
+/pdfImBuf 100 string def
+/pdfIm {
+ image
+ { currentfile pdfImBuf readline
+ not { pop exit } if
+ (%-EOD-) eq { exit } if } loop
+} def
+/pdfImM {
+ fCol imagemask
+ { currentfile pdfImBuf readline
+ not { pop exit } if
+ (%-EOD-) eq { exit } if } loop
+} def
+/pr { 2 index 2 index 3 2 roll putinterval 4 add } def
+/pdfImClip {
+ gsave
+ 0 2 4 index length 1 sub {
+ dup 4 index exch 2 copy
+ get 5 index div put
+ 1 add 3 index exch 2 copy
+ get 3 index div put
+ } for
+ pop pop rectclip
+} def
+/pdfImClipEnd { grestore } def
+% shading operators
+/colordelta {
+ false 0 1 3 index length 1 sub {
+ dup 4 index exch get 3 index 3 2 roll get sub abs 0.004 gt {
+ pop true
+ } if
+ } for
+ exch pop exch pop
+} def
+/funcCol { func n array astore } def
+/funcSH {
+ dup 0 eq {
+ true
+ } {
+ dup 6 eq {
+ false
+ } {
+ 4 index 4 index funcCol dup
+ 6 index 4 index funcCol dup
+ 3 1 roll colordelta 3 1 roll
+ 5 index 5 index funcCol dup
+ 3 1 roll colordelta 3 1 roll
+ 6 index 8 index funcCol dup
+ 3 1 roll colordelta 3 1 roll
+ colordelta or or or
+ } ifelse
+ } ifelse
+ {
+ 1 add
+ 4 index 3 index add 0.5 mul exch 4 index 3 index add 0.5 mul exch
+ 6 index 6 index 4 index 4 index 4 index funcSH
+ 2 index 6 index 6 index 4 index 4 index funcSH
+ 6 index 2 index 4 index 6 index 4 index funcSH
+ 5 3 roll 3 2 roll funcSH pop pop
+ } {
+ pop 3 index 2 index add 0.5 mul 3 index 2 index add 0.5 mul
+ funcCol sc
+ dup 4 index exch mat transform m
+ 3 index 3 index mat transform l
+ 1 index 3 index mat transform l
+ mat transform l pop pop h f*
+ } ifelse
+} def
+/axialCol {
+ dup 0 lt {
+ pop t0
+ } {
+ dup 1 gt {
+ pop t1
+ } {
+ dt mul t0 add
+ } ifelse
+ } ifelse
+ func n array astore
+} def
+/axialSH {
+ dup 0 eq {
+ true
+ } {
+ dup 8 eq {
+ false
+ } {
+ 2 index axialCol 2 index axialCol colordelta
+ } ifelse
+ } ifelse
+ {
+ 1 add 3 1 roll 2 copy add 0.5 mul
+ dup 4 3 roll exch 4 index axialSH
+ exch 3 2 roll axialSH
+ } {
+ pop 2 copy add 0.5 mul
+ axialCol sc
+ exch dup dx mul x0 add exch dy mul y0 add
+ 3 2 roll dup dx mul x0 add exch dy mul y0 add
+ dx abs dy abs ge {
+ 2 copy yMin sub dy mul dx div add yMin m
+ yMax sub dy mul dx div add yMax l
+ 2 copy yMax sub dy mul dx div add yMax l
+ yMin sub dy mul dx div add yMin l
+ h f*
+ } {
+ exch 2 copy xMin sub dx mul dy div add xMin exch m
+ xMax sub dx mul dy div add xMax exch l
+ exch 2 copy xMax sub dx mul dy div add xMax exch l
+ xMin sub dx mul dy div add xMin exch l
+ h f*
+ } ifelse
+ } ifelse
+} def
+/radialCol {
+ dup t0 lt {
+ pop t0
+ } {
+ dup t1 gt {
+ pop t1
+ } if
+ } ifelse
+ func n array astore
+} def
+/radialSH {
+ dup 0 eq {
+ true
+ } {
+ dup 8 eq {
+ false
+ } {
+ 2 index dt mul t0 add radialCol
+ 2 index dt mul t0 add radialCol colordelta
+ } ifelse
+ } ifelse
+ {
+ 1 add 3 1 roll 2 copy add 0.5 mul
+ dup 4 3 roll exch 4 index radialSH
+ exch 3 2 roll radialSH
+ } {
+ pop 2 copy add 0.5 mul dt mul t0 add
+ radialCol sc
+ encl {
+ exch dup dx mul x0 add exch dup dy mul y0 add exch dr mul r0 add
+ 0 360 arc h
+ dup dx mul x0 add exch dup dy mul y0 add exch dr mul r0 add
+ 360 0 arcn h f
+ } {
+ 2 copy
+ dup dx mul x0 add exch dup dy mul y0 add exch dr mul r0 add
+ a1 a2 arcn
+ dup dx mul x0 add exch dup dy mul y0 add exch dr mul r0 add
+ a2 a1 arcn h
+ dup dx mul x0 add exch dup dy mul y0 add exch dr mul r0 add
+ a1 a2 arc
+ dup dx mul x0 add exch dup dy mul y0 add exch dr mul r0 add
+ a2 a1 arc h f
+ } ifelse
+ } ifelse
+} def
+end
+%%EndResource
+%%EndProlog
+%%BeginSetup
+xpdf begin
+%%BeginResource: font CairoFont-0-0
+%!PS-AdobeFont-1.0: NimbusSanL-Regu 1.06
+%%Title: NimbusSanL-Regu
+%Version: 1.06
+%%CreationDate: Thu Aug 2 14:35:58 2007
+%%Creator: frob
+%Copyright: Copyright (URW)++,Copyright 1999 by (URW)++ Design &
+%Copyright: Development; Cyrillic glyphs added by Valek Filippov (C)
+%Copyright: 2001-2005
+% Generated by FontForge 20070723 (http://fontforge.sf.net/)
+%%EndComments
+
+FontDirectory/NimbusSanL-Regu known{/NimbusSanL-Regu findfont dup/UniqueID known pop false {dup
+/UniqueID get 5020902 eq exch/FontType get 1 eq and}{pop false}ifelse
+{save true}{false}ifelse}{false}ifelse
+11 dict begin
+/FontType 1 def
+/FontMatrix [0.001 0 0 0.001 0 0 ]readonly def
+/FontName /CairoFont-0-0 def
+/FontBBox {-174 -285 1022 953 }readonly def
+
+/PaintType 0 def
+/FontInfo 9 dict dup begin
+ /version (1.06) readonly def
+ /Notice (Copyright \050URW\051++,Copyright 1999 by \050URW\051++ Design & Development; Cyrillic glyphs added by Valek Filippov \050C\051 2001-2005) readonly def
+ /FullName (Nimbus Sans L Regular) readonly def
+ /FamilyName (Nimbus Sans L) readonly def
+ /Weight (Regular) readonly def
+ /ItalicAngle 0 def
+ /isFixedPitch false def
+ /UnderlinePosition -151 def
+ /UnderlineThickness 50 def
+end readonly def
+/Encoding 256 array
+0 1 255 {1 index exch /.notdef put} for
+dup 17 /space put
+dup 14 /period put
+dup 21 /H put
+dup 24 /L put
+dup 23 /M put
+dup 22 /T put
+dup 9 /a put
+dup 20 /b put
+dup 11 /c put
+dup 1 /d put
+dup 6 /e put
+dup 5 /g put
+dup 12 /h put
+dup 19 /i put
+dup 16 /l put
+dup 15 /m put
+dup 7 /n put
+dup 2 /o put
+dup 25 /p put
+dup 27 /q put
+dup 10 /r put
+dup 8 /s put
+dup 13 /t put
+dup 26 /u put
+dup 18 /w put
+dup 3 /x put
+dup 4 /y put
+readonly def
+currentdict end
+currentfile eexec
+f983ef0097ece61cf3a79690d73bfb4b0027b850f3158905fdac1bc024d7276e
+0a12b7ddcede59e3601ab4509dfe0977ed5bf624ebc1f818c45f1350d41b052a
+72743accb053eb06ed043568d3196a30bed220227e2a15bacef508449221cf33
+8a8666e92410a9aa91d5a31900a93c01ec21742cd14dc46bffa111ce10b78ae0
+1abaeba7f36cdf79a4733245c63f6d36234d6b0961f1ac295d6177931b9ed554
+bb5fc6741a63c493daabf03d753c7d2b8e8c01e3e280898f810da5985212c8c0
+bbdee4e8ab9b22bea83671c0460443ede9be044168f8ab50be5874d46660f1f8
+241cb261280a68ae2cd60e1648cff45c0ba9b15cb42f86217172a5b855265c21
+4d4b954937d11b94b7b98738393ce09ce40802e512bea7714fe6f163d1b27c8e
+c87419fa91767418abc44c94a3a22f97f856b0a4729be6973455a7f7ae72c671
+542e9e74258c2b8b2ad440a1b69bc7de2e54ed6a96d0bfde08b35f6fbf739ae1
+8676c03800ff3e63c6fc20927b3158e8d2cb6644eaf7831c6bf0e9b39aa14145
+e721dc46e792da9be78696808fadf24136f9da0c8003cb34ecb8af2b7de9e033
+545fbca53d881eaea40c638396c8d3b08b6e2b8f7d6188d055d6924bafb0cf7e
+f8bf2719495988b0efe373dd1aea97b0f486d0555e3a62cc1b36024ec3ada21b
+fe1629acf431928facb4ead9c41e3d4cb50ed2f651d2cb6ca8d0b1ef49d9e214
+e06cb029bc1a40b2052938f6bcd05f013d9ed1edc90bdea459c4483ed0d1470e
+30ee0a77ecfb585268a94a8bc6be7d28e5746525107c0a3f05fb5e34e0a21572
+14be2d95a46fdec2e36afd180688fc710c92b27d69b2ff8b1fc7f73cd5526270
+e5bb585d7674a351d9bda5dcbc17b40d465923103f1d02e7446d949002657763
+c82c8fe0372afe94104d148679b4e5be01def615b295d7c25e24660b2a10dfb0
+b5b96fc02bdfdadc10afddd821fff6caf17f11d6a7cf157d3d7f1aa25a00cea4
+1207c8e160663d23b16d2934ffe6a6c178d456facef20fd46c4b33f6d1ebf103
+b7cde86d7aff74174d2d3f5820186c696b9245f97554b7f62411429f1dabebf1
+ce4abebcdd2a4ccc1c06d6ff8dd9d7f935ba5218765a81eb3c727a40dae317df
+89cb3234b1a4f1a0b16f88ed1684d3106c2a6cc18aedd3b052df1a2ea7ccb8c6
+c6111abed60277aaa2b91f1da4a83c0b2d4fae8cfbe2873b7f9ec2e9ad05045a
+bd1133b95f70185dea97f1081565ac65139ff102004b00e1e77023782a68a752
+088f8d8cd2393eb3f649553f0be59b83687f4425290ff1e334794e59ab4dc73b
+26f1beac4c5d6d4d507dd7d13b8721144d28b82eba624965e3d8cf9334083a6a
+461277026b05583f96e489be17dcfaad73cc5b9c6021527879f2c194a5bb1869
+9cbef3ea4e14950e1aa56abbd38bf509629e8a4f0edf0946a47aea100a088151
+a9e296d1b5d7688aa0b3b121fb93bd52789d22fc32d645230419d1df1d106a9a
+90948fd443eb64a212b3595a133a4a30434b5074ff14f69368de4e0452515257
+aad6332ed29556152c71240df8a6746486d28c6a1315bc5c5ed08a5192c2fd7b
+a4ddcd7496139ae2e6e47ac4971edc88a81e2056ff81081b72cec34df2e6bf17
+20bc5c6753ae32e31ce0db86b3aba65f26335a57f2f12827f7495183427d3e86
+1b6ba27f7157003a92a9405c8755f71dca78e6cf0730fe59504cbe903beec227
+65da1f35eabc756bf32e9980eed40c0d1a201e12a71b63171df7ca971e36c03e
+8137e0213fe675b392ad8b3232752dd3864c82f9ff85f814becb6fc7510a1e99
+17bcf12a90c4ee29e036db54278f2413731df21833d1f8149344b46e4c3fc2fa
+9647e76b3cfd81b4fe88643e427e7f6d9b01f99659e531df0c43b4f44ed236f1
+17bb00830dc10a5b1896cbee06fde9b4fd9b0b138405a0bb83d78ca5546a2b41
+490f5322405f0ea6276d9a13a63b98c59cc9a0428472759009cda518c4dfce24
+49e27df9caac365a6ee3a8ac451167c806889760c404164f941d035b6a1df55c
+44ebdda9484f4da9b07c059ae59617c0e86ffa71b9a70322acb3b60071128799
+46f950e04e6b634439b06e05a9781a9ca6b9cbfaf508a835e2daaec957d95fa0
+031f9ae42c17cfd5adfb81766af25ac5237818909e284ae4a439b8b2a5050dde
+be0dbde491d135155e98ab579904d045797ea516dbaa4529675a381372fd437e
+53f9372dae38f0eeece282771fe7c3d1e68061cc242e4640131ebfcf340b453e
+4868ce4825067dfcc88c7d84aee3f06eb202a89979aa520e501288e93f742fc8
+6b6f43e3bba4430be40b099cb0535504f966cf50fd9ba9fd358fa184a39eccfd
+4d8e5c4ec35b448bad9cf5bdf15b729a4137a9618a5a44db7d9740a15e0da9c8
+02b428d40ed5401ed76095c73512cb626630608c74143afaa7be85562aac8d81
+48a5e603e3b69b89706b0c1cf5c85bdeb32611221c13325835238fee492e4a08
+bce9741094c4cdc3edd691e82d224c7866590510e2c7cccc07e11484f62d7930
+3fd559e4e511eb67bab756f30acecc560f5def3902bfb52abfb7aa48e72f2732
+b7eb73c0123f6dfe97cb69897c1db3d57ff05466c3cce4730e04e921a5e56e8a
+dd31933536393bc00b3ab3435ab950965a752b913bfdff22a8e7df7bc441e5bb
+3a3192bea8a17829faa529e56ac69e5a25a6797615d5455e4b430627f9c219a3
+64bf0c55669cb872e403ed1cdffc63cf9223ab581bb9d7967892dfef80da723f
+18e199e0b57f12ef0210326aae328882d982392dfcd40e029ad3f53dcd820b4a
+61b580bc3f1b492453f5c752e05c705bf8bc05485c5499f804a6ed2a28bb63bc
+7e80759003cc7ef0a1d9d51dab1f785d14eb86bd9a4f4221951da58fe7263e23
+e58a2414dcedb6ce1943f62a65699080bf568cc0c67134d8728963466de67133
+27129138d203ab8db0079f63349ac8ea689ac7615d866b7f600b2e91333b61d7
+3c98401b1cb0432e90fa7bd87d9f4fdfecbc2dd5e5eee5daa7d7bd959e41817e
+17525a472ac035c391b918d549c38bf2b2426798fc27af235a725ddff5dc79af
+b59198c94528a36b8c7cd5683f8af50107b45e02fda4c787b4f14ea4e663bbd6
+15be5b30d6979456f6191b5051f458bf19c91ac99a9a8505a03abedc243ba287
+2c3305b81288a79f5ed8452e2a2caf3fa51208946c72b97e6d59ef74bd8b96ce
+d9de45d7cf76a6891c7c0691298855a366737da9be57d98c25c7415122c898a1
+564a052036a3aa550c2bc83478c4e15933de6e4aad64b2e97c640a2e8a14933a
+baf85907f09588cb05432f716f05efe4a669d16c881dadc0faf5a704dc91f500
+6e512a61372579eeea5f6076cb8048d71a1e4a3097bc27433bc3613ebd8291e4
+27bd9cf83c0969562d5363662f74f2ecd57071c4d331a26559bf3e307d0e2d1c
+9a90a3fc92254d2656555dbc0c8c3502985a00e705213e4522d5eecccc5f94af
+0f196501250a4200b04b491f64388f7c3aa37970a8a5bf78a072bcbac61cdbf0
+f95dbd13b8defacae1a53277fea4f19f829fced3b4cc6e209bc2616b9bd7312c
+87d78cda5c9f6bca02595086adb6dac9b7bc6c9fca577169940fb58c818a3757
+5de491222128989965657ea8b5dbd96a697ef71778109a1781bd7ddb9b2132da
+71b3bac95f6f69fc615b7733d709402bc7fa0812d18aa22fab627f91baf4a346
+d8f103362c0161a3b57d83856c63cc7150fa2ec1ba537a4c608bc28c85d388bc
+f4105158f0c9d40a573bab28148104e2db167ff009d34134008cd1ab4cea4091
+c04dd6eb2353686278cb190506778602b0a642d3997caa982a2b3c84f8bc97e8
+3a177fbe6c69512014cbf7ab75d5a35a0521a2d1204d7877f75a8b0816da0bc0
+58c0ccf411b939931bcbbcd1d3d92b0fee9e58012677b1db645c14ae63b7c4c3
+e4b18b890802aaa72c0d8cb771ee4e46ddb6d714894aed7816d7164799b70d7b
+64e0a50b979c3616590b871cbae60b9449d02fab57655abd48843da96359d608
+7ce297a26e192491d1cb8420d7cbf1dc66b68ab4299ed1c500ebb26de35f9563
+48d497c3c0858e812fd3d43cd76a41e24f19752bbc8a4a69510c9381cdb8a230
+31f8c0a914db40a659a5b51e19fc9024471cce4e65cbab05a3562a2929398879
+67cbe49331cb58e936a2b6873d3dedfbb378414914a2b78db4daa180a4b40a97
+2fec68f931b75f2109fcf824cc7439ea693c8c080abed27376461dd5f86617d1
+a931cf1caf206e872adf0d8b6e35499fe3df6d3833dca2daee3805fd76f7cc5e
+f2ac6f05134e8da55b15204896002803ad497e67c2ea83b2646bc13a72f73d64
+2ebe4b1d5b00a444744160f3341a84335643e58ee6c64acdfcec21bf506a6a30
+b70b1fce06b97b23c767e7e429892085fbff2996aa68e4776b76de0f66edfd89
+b015cc3a3e4d70cdf3bcad9d48b4e17b97f568b0f3b1557d003cd6f087aab912
+a15e88e51f6e33c8c8b2ab69fa8e81f09a75e0059723f1de598a20c567e681b6
+0e954bd6d80c7515870bd6158eb93e8af8ae71542d681895e2b32489694f090e
+bc5b560515048626f803b996baa342815b5adfc437dace01d549a6319eff5709
+6c537c9aea7c3f8dd978d42624304a68ef2427dbc0acd85a26960f10e348a30c
+dc46e46dc16700f62108fe6c35059759fe69c729edd6c91e83cd49535e16746b
+6dff037927de39b77eeb86fadd9ac5c89268c3c529fa1747650cf9e16c7626ae
+c25817ea46c1ab2b0a7a9c7ba33087db199adf7594c297a938ddd7ad595c6942
+552ae76711f444b5b833a92cdfea0462b6766685359cd4c2afe4114d884b230f
+dc86d680a9b10a4333d68db6ebc595f86806392857b55452e44288a42f924754
+c22778c6d7bfc3d4337bb3a8f68055d0d6f5053700b784c480509caf63336c68
+7c5bd339757008be54c289a10e62d5c83eee133f32168a68aa259e8247d6afcb
+25243df6ca8c238ea64082265560188e73a47db7603a1802e7ed3693a9b7e5ed
+7b0332171196792cd5272b640c8a5363978a87f58b9d1022d5e7af38d1e45dba
+bd89b095eb9e581ce8e9c314a8152465a4663fd4a7ad1996c08afe96d3975d67
+fde3aef4fdbad38c739d0f1bb4584f919b4b5b8a06aa94bc3a4162aaaf01cf60
+7fd24e90dd4889795aa0fd42e4cce9b0c4323963e288dab83c1d1187c1251d77
+da1c6602311cf8a73e16699d6646bf62cf68b3da3855648508edb97cf3614ed1
+141d158ce8f86e055e9034fcc9c77fe4f592251dca7e61952859567c6ff4fa83
+15b554ff50b48bec4d99ad1221b7caa1d47a8f430a07d49f561296a74277adb9
+c21c8b4ca1d3bf3b671506f71d8f88d37ec1b03432c2bcaa337659c35747b0eb
+1721073e4e60e93646c719bc4e27c5b5fed52f456f43158ad6ba09e9db6d0c17
+fa75bd7a80746258f7725116c37770e261c9bcf7f578f3f12ec7037c125fd86e
+4d38ef23886e18f4e206397006c8c4ba0105e10fcc254a718e3c8ba6dd71218c
+4768fe0d8efe2e01454dd52ef33080a1313911ce3e0afa57f5b74d7caef2440f
+f148f3c8bbe0cb2418a0367dddb217ffb47fd5766ab6db331bd9d2779ceac6e8
+e3e6562b79d947e687ce271f8f024c5cfe61e3453cc7ca45efc6b682d2da8ace
+dda708fc65b668e285e6f542b9fdc071082076c4ec2312de40214f8616ac615a
+2669bd490e89d5c125d6c0d6378113f4d37f1d6a06c225c7b0e879746f13607c
+0a4b98b7d77ca29572495f4edd58f292ca28417808c8e60c3dd8b1a9d185cc80
+5784e9a1ec1f290197637cb2f1ef65d1b114bc0e99a9d3070be7199f3d30db85
+cb3b65eb8cdd60b44567730017f4f851d4b15a15bf4312f79c05d5ea03b1da80
+1149fef5ad43eded70f470e62281fda1df9ef72f180630b3b1509eb5fd9c73e7
+f02fe23f554e5b74007d6384f6255ea4bdd2a6eba0310eda07327884d26c59d5
+3d38f02b11815e8adde0804c621d6cbda143ff30856063abcd0059183828625b
+c486f27c475059855c9dcdb5831ce58532e3e6984b63b690a27373d7d5e613be
+666ed52d9f743fd3c373984fbfb8ac8040dcc222ddff4a2e1f6d93f64aabad9a
+286e3e07679adc853885c8658e37b0efdb68fe51c09ec2b6b69735b84d2aa481
+793f0e5982e006d985c0c2b8d394b7093a210168e58688ab1c07b99b857e9052
+3f90ea3f4f4202f7751dc55dd7cc187f4afacced589cce0189545f2a26c9d283
+b14ab2aae2e5393d416e014ad99e27f8814c0b1bccd6f798865e243bdc9408df
+f7e6fca3b515e5edd3af9ac11e4bf0a7b7a736959a4f48d4e519d069263b0af1
+43dbf431cedf2ab7d4df2cacb62627ea46e77e20233ede4166f291a3a19f6227
+1ea68be133a61b6342782ab58310c4e2b08782800f48d311a7c15d1a6d3f7c6b
+5bf2d91cf23b931793adab17d9f085a9aecb9d4df2c4c50c5329503c4a8ad83f
+df446b306c56a2ca97bd50f359280415f8cd4bf01817da0f01a0e48bfa4c7a1e
+85f052a03369b0ad7eb0122585bd4445dd53912b2d1ee8cbd9b7e2716166790c
+32f4e068134102aeedc6ade4d5db39ac29f424b0d5e327d081990adcfad18f6a
+b64c7f199cddebf0490b10847d158b2151a8e79b707af40ba4a38c8c02fc49dc
+ffa7e2813ad7741ab7bb29c93e146d81be2a2494791582618f49aa9f904f8faa
+1ec63adb809cd473ea6743509617fdbf260d4024b4101d962f66f361d7257804
+e354e050004155cf050ffc6adfc28c4f742a3231c5fa37c7c826985c5099698e
+da86f0a2baefff000a4e74597e5bda20f8c36f22ddd94ff45e16ac91fd250eb9
+d8d0971bc4bfda5b6c0c14d850822031fcc8f231023a579c09493ff2ac9f72e8
+1b4c0eaa64fc3401b7e128b2642aa708ef990878091956a777d908fa0c4e1f2d
+a3363e098a28b6f141ef68258e2f6ae3ac089b3b89de4379a0da96cfaa81a7fd
+fae2fe9dbdaa3b21435793e464baaa346a722c385e71398949d32b76c6cdef0b
+05c752130d43ebc45a1738f06281097150423f885470928cc1153cb01b2295df
+e17cb19d3b4d576209425a806b98d83e80158b67120d6ea0a65d94582e248d3d
+d8ad826bbbc00b9b9dd0f4d606a65b1a0ba8eea83cff745e222e6f4645055a9c
+bdf1d99160e0e4854d989f07cc3f393f72af97c3575d6f1d8d4312848bc72bef
+988cc436c23f4c6a2a5569a79d04a0667611a3b0f2e2b8ca0a6ce0536b0e459e
+21dd3d74d8a94be16cdb3d65a6534be608688944c0d68c62e39899104ad6e587
+ec0f3fc097ce54d3e25c9f081dec3be6c71b714b9f92c15517dfd763b9bf0496
+d601fe4690a9a815e803221e007a7ca74743f679daf6a626af5a6525b394731f
+ebbe7cadb5de910c2163e640acb041736fe4e508dcb5c7d87d38e12ff80fc903
+c26c480b567f057b193f5d4ba352697b9481d780d94b815a7d96ba6dcc34e39f
+43caf780d101bd73488a88d213063432f8e6bea7e7248d85ab48b576ee702af9
+364c81f7d5c74ddad8315ed4345444e0cd92ea23b4394073178807892d2925a6
+a43a75c68881385a78d9d5582d3f3f8bae87ae177ea46dcba9af17217906204f
+751a358cd8a4d8c95ca76651271963b6d2ffdf282b653c85ede30f9c8bb5f113
+528e221aa1a6507364f74ecae922bc09e6c3f42166b2118a819638a85560c6e1
+eb7bf2893357a81571201a2bc31a91ab89489fa2050d353039a7085aacb83609
+825ae7392a84b6325bbf17af46a9a3eb63ad14bb387987f6d756ffc59a2a0893
+7538a0efa89ca08f9785952d2e8bbba0e6023ebb8fceb5abcc3c0c3c1b980255
+861d991fbf27e70686fa238e92ca9bffbad61bfd48c5b8e8aa8fde96fd9acb2d
+946b69a51137c905955ceafeafea0acb8a0c561808ec2e0d4fbacdb7ef9f9abf
+afee72f759e8208559c232ffe5bf6cd3e7cbe88ea579e795455f7c25f4343455
+06d98be333bffa7f7cf1f83bc00e38d2503ceb483519e3b1e5cb7751c00bd2a1
+3c385e2f88ee5df92086b57fadc621a1a539ff102d4fc4c075ab1d800eb1efc6
+fabdc04f81065f0ef3aa5b947d904410962f6533c1aa49b86178ad45e35d44b8
+66c938876f2bdf1dfb28d793bb5d049df0cc3e21b8ae8f9b75ac06f00759d48b
+f39c61125641612bc6032f5b6046d85ae9c7102b99b93f7674e80f96a1d74c13
+68d2fdfca6e8535a9d80fbaae20d681e1918b4af227270f40ee97fbaad4a4216
+908272cd9767fce64130744d0ac38825384bd51bfe19a150b55dd390020ae359
+29d4026d4d8798cf2fcabc5ffeb88f20129ff22baa1bf3fc412b404234554507
+5fc332a91a87c3ccaaba8c201ac784fab723c1371991d5a4c5d865727dc7170d
+876a83dd01b10c294e651e39a2d3a7c7de70817b0508f612856ddff87bf404f4
+c750437a96608c130bbdb8dc14051061957ec0976ac3b58e117b85cc17f7be4d
+d59a34a81ecfea08529704d8cb73176ea03c1d873f0a7acb41d533c8d68dbb3d
+9b879448ed2e52a98957c41682fc30a002015af634229c4d5d6b900586a0a0b0
+6b1fedaf188610cc3bfd97eb4261460ce68154b3a5a19a218bbf3035fbc64778
+89c2be397cad1e44c4fbbf3260bf85eaea01ca97d02b4c366a44fd08be6f197d
+f8243ca699c2b75b54756ab361115fcc5828dec91dff364db969960569e59a1c
+3fd2b76b4f88fd9309f8c9962d02ac778dca69f07609b0b9961ffac6d942943c
+bc2e3682879841df4f1d05350302cefc029100f934704dcec7e3f15387153325
+8ad2b5b5ad89d153f53be6390ca66461b84fb405b4722d3e3a205ce3bf339018
+b339f240c4956edd92e16ed988b46813e5e39533804efbc6e426304523b82073
+d9f296b3f8283f12dbb66157440222a888acde1eef4dc861f9e8d0e20c5876f7
+4e99c1dbb0b5fe81eae326545e84285864f90353f9c1c21c166deafc24ffcbe1
+a19522ac8cbabf3bb73c36bda0238a19da380a6ba263cb28f99d3643ca4f4b21
+ebdb9e19f1d53947c8f43a22320f8eb83f152580d83dd6cf230e30b74d2f0bf2
+6d6b621865797b989714ddc45136974dccdc37baa1a52d021544aab74521e9e2
+ef0607d951b1e4cbe230a9a1095df65774af0c2a0c0f1770dad9e054dc06c81d
+30801a927e525afce8cb8d753bfb1fc2b5d967b9e25c7cfa39bf6fb86dd482da
+0d871d5c8725cac7b44dcd5c3059f39a4cb216177100c0f99572ddadf8d7d537
+33db55286717ce9ee2a12357b901b675c566909a0b4c71bcbc7bbb7d36aa72a7
+018895b617ed93853602a5fd52daa01da6d6e3b713b7fd9d6f75e05f21857211
+d6ed29349ff0e628c26df07d1c079e556ffc60585ec8e91f38c9b4ef0a708559
+b4cc4155ff42c48c18731bd231b2dcb32399943e3fd64fb66d3011cc85e9fa20
+e28c741303d5b1f3b7178753cf97364716e6bea337a89ee47eaf9b93f938d9d1
+0d82d4c0e3927af3c34927fdd5fab439d303d997637e2d21725bca942bad146e
+4df93b37e5a38e4da57cb1d6e6e278b17a82644c800e6104eb2518c03ea9b8e3
+f9b7611066ef9afc58b893e3fadc53835440a47d93c7052ca4b617c1d958c693
+ceb60f9a2814cfc1b4a24b32783b389678bdd14fc3ea2124f124afc5ed977097
+af7a1d3a4d825c55f0842b2ac566e43458495b6f51c011d7e78818f6d934203a
+74a961618625a380923926544b7c13c14b2180f3576cdcd4f2140bc90b2ec84f
+1aca97f147781866d711448c1dc8df1fcc1a1769ece2ed5cea053795c0cbfb72
+04dc61065c87be00d9c0527d5df881708fdbfb7fbe01a933775548eefb736d01
+4a560cdb4313678581a3b1aa73d546869301f309f189c2df29f3d4bebb3b5a72
+046354c2edd273c9794c3659bc72fe7fb7442e75b04fc197a49efc2ea39ae0b5
+d1dce9bb509b5085445a66b6a59979c26412f1d6f5ebae84175ff08a90c9be44
+06797389c439693e2fd2f2c26d2e9dea41c505c32477ca50fc01dcd53d388e27
+cdfd4d73c2ac2fa03b9eb934479f0419ef50036b682c9ad8bfdaa3adf80a03de
+9f29b7021cf0441deec0f002fab57da0f5be89f5da4597a2523a2e7886589002
+e5cbbde0356b391148b5502eaa3b3689871a1cebe9b8214992f5349ede7d799a
+57b85d1e2ae706f8567efcf24081165f53810a2dc9568a263f69c40eb55cf317
+82da10dd970dc79f6593f1cdd9ce552de6c7c9fd3ab21169a2e487d5fa959d65
+9afddd071a0d756b5c7debd602cf9ad3e6b3dc3f29d954cad22ff28cf333ac67
+b8793f01c6f13c4ae2b6732d60633b59c2d9296ec77b6ee630906adf73ef8603
+3317cf59b6ffcf42fd7a68133f0673a5c91b8e0ec7b88872e9ac8d0aa904af60
+00799d57e1dccb74496e345dfea868ad7498f3ec7b85558a1fefb6f03c7d5365
+cef02b044b220c162c530b8cc899887f8846084c7b4fa1dcc631ba3a3773fa22
+443097b47852b119b42df9d58ef3d55ca10f38b04f378562b3bf03140e25544a
+77e66cb9589e6f9dc0a11b6c2a35fac32ce9bac552dc54270bfc025baf639b8a
+a5e3dfda4908b869969bd633a9b171ed6a04a2ee6e3744d7a348cdf09dacda62
+5269181d8d0fb84b468d2eea50fdf69324bf64ab1db3ad0fb2fb9583937f0be8
+b41f14a751d7115adf2d329db753cd14534cc282f2b4a4bf497a4c7b69cd25a1
+fb33c5e91796b885176284c77a119b50b077001b566328fd23170e4ae611e342
+6fc26443587e3982cea97c79fd63a4dfa95efee48dd81f90d67e40f283c27947
+d0f0823d2d2d26210e5243d2029b2ff059336b57b9b1334b0b615bf357c6a732
+c8d5165f2c9a6f310e48a2e4d7dc965887b45c14c9b744bd98de8f33071f0dea
+693ad64a55d03b2891660d09775030eb5c0e6e868ab1b90028c373d3448851e2
+25dc9eb442aebb5912ab0f3b1107a7d96f9d23983d8a6cfedd589e59fd355ea0
+aec2a448fd9d254d39331cd80dbfd653fffdb2702cb848144c33c28d207adc51
+097c28f754521e715be8b7b14c4f86aff04fddb0bd52247d814192a884e5af3a
+8f675cdf0c9dcdee0668773c3a3673af8f51a71bdfea19d0bde8a2a23453164e
+dbf01c932db93128b686cc6fd9a1dbd506b6c52664c5aaa01901c5ac0a8275e0
+ff4ec66ae3326dbc1b3b60c4488b6af86fbf30ddc1e3e3a8d63d7682c222e746
+05c95af3327e694f3b3c1600083f9cc241f97c5013c9a0588c715eb4dd00944e
+824e43a7a1c1fd144d1098628139034731eb1cbf633184cb857a17855f277bbc
+18751799ae28f48130cbc1ed559ab1a5abfa2576d59fa35772557a6fb3d15b4a
+de8bd38b763be0f8d8166613cc37dbcec1d65aa06c7b9f171028fddf8b55093a
+2fa509ce882054682fcfe32d510012ef5ddcf39f0ae5ade25af279829f8d47b6
+5b89a40a71ab70c2cd961aefb7004d3910c190bf32137e4d9733b971db4616ba
+789c741efc39c26540d3228884b4bb490bea1ab957682d250cf95e1d41c11662
+3925e7778755c11c654d42dfff1db2a49c5b57c3df98d942373519cb02f36759
+8997028e11c513a99b4abf115c61e2daedebb709068ce06692303cd0be482289
+18a12dc126af0e4f81766acf9a84526add4d2fa145cb5452c09547de307b352e
+141233cd8aea9f965070a2e6321a795f896c0cebc01ce3a15a81f14c14d74aac
+a4ab090125fecc310410da79bab5dbe07e9eeb2189788f491c457a82abf7f79f
+427932c8ad38466431e28659056c3d5a4be02c8d0d054bcd4f9170aa7b7b0d2e
+9a4564af66eb7372fe981bf441b68cf8247d11fcf0bfeb6453f9d2210dc880b9
+b9af2bca1dad558c1be18eab687f453d4aac976fb9466a6602ffca1dc852a56c
+50556d777258a7bc26489789fb4fbe2f70034eef6174244ebdcf514c5ff72391
+d097750ac8a9fcfe6c94af17b3a5f2667ca2a02e7f32424ad5a7d902751f7c41
+c9a7fa5fae2d8d7396f8e586be8ba8f960ff3fbcbe783e5ece80def85cdf792e
+33459d996a28775979b335a8448523c0a187dd8f3c0831231231f2a158a7b764
+2593932c9e0dce8892ae708b9458993d580656e1614f2d076f256a680ccd3d37
+0e37cde46dbaf38f096b032170759ec0619cfa0389b17568017f8d2811727965
+c75eacb1bf1b179b69567b0ed8bdce2ce95e98ec7a9a573a79ccd5b4990e46d5
+17324a06ba418b34110feeabfb71c1e43cfc1650179fc1e5f65fef017498b83a
+1eb5fb5e340a1b19ef7f10fd0422f6e7f640db9a46762fbbaf33e2eed637ee9d
+93cad018e33c4fc821212bb0f38f2251827a46f38c38c128dfa891f0b8ed1405
+4c651b735837a0f862967c3d39912e288dc3939816e015e8be9ba798f68c5e89
+a4184aa18392352bdb53119115b1a100e0941b80fb8017dd198c7d0629e72f27
+da2d8ebb59de72ee46daa03e57b12513988f2023484d9f0480126a378ac134a7
+5c2bfdc4df5b8d8fa77ba3fe2da9a01ec9427a00487b3a81b50a118c528b77c2
+2b57265e5f915a063fa3e8bac0ff7cbea9ddb19ab8390775df6049cb85921457
+cfae8a868bc6584a60223fa19a363f98876ea3d1e8a69337a58ffd75c9b296ea
+5485e343c04c72a53945e21fb479495d4686302f39188c01b036253ba0a18fc8
+7aae335fa522a435094c3608cf6e2e37fdf5fa3f59048fdbdbe6c58dabafe941
+a7af5aa4ee7b44d64df374780e9e2d691b4639e2aaef8c52de72b51f2bb6506e
+5e98f8ae236d183c9cf250dee46d102d964aefb7b82ef32d19a03aa88ef2ab97
+5f04a6cb5208f570af43f73d804843404eb835e5efe3e34887a37816ed3cb02b
+13e91be5bda75a112d1d27e92e462ec516100ab117b2882993af81dfbb58ebb2
+f5bc5d5eb98e48f73e88144889677b31d3c660839854a5c611a52bb493b64455
+3e6948d71f94f04eea57f7d458d7d78bb278d83065bdd9097f252d39a9ecfb40
+8f2229ad5edaf4afd518c804214dd2458b085d7bd382c7a1e697b5e0c1a47c25
+e2cf084d63bf186635783b56e6b36e7da64e3f9e3e7135d74381d957c0c62a6d
+2c4dda1c21a8e49979dc4946c3bb84680e4386750d4b19c4011759d84f90cf31
+b268f0af056d8566e84939388ff4cda569118ed71a2cd82d28b44e17c8438979
+5a4357f70f976891292e15448c74ce895be53e4212079fba23793f3c247827b4
+4f0e39066964e756719c628e6bf4a5f080de8402d5d1c154785564e019f13ca5
+b45b525b325e29f193557770f88ef82f8d7704631969d4ad624206665ee1d38d
+7ef7a7979aa05d39528beb6b7764d88da381eb63f0cca2f797dcac11011445da
+21da35e051c1db3da576e698451a0675944f5749e465faadfa4bfb09eba5177c
+e8cecbe67fa06b74d75278d7f28c236a596a17fea5467785f345197a43ec5f2e
+1b7e7e2151f287ad9181ac39c9771a1713f45b5ddbb402bf674e3eef369647bb
+c37b3afb327576831021a1a38fc4840cc4716da8026d16fae600d543a3c4dc4d
+7cd5baf19f1db2a24a0757ef6c3bd8047288c1436eda2bd3f9289e6f8b003dea
+d7b0cf49f3aa8a56adcc26ae300976e1c84bfa04d9a1887682d19ef68f52b76f
+dd0e03f64cc92dbb3ebeafbcc56f8a2a99af870bf7f0153dde4202ca45c530a0
+562dfae59234f4e3287b93bf427fcaa8d236606aa43aff3862063c0bd73dde6b
+dd3ab4a8c4d6ad9c24da288dacffd02aca90dfdc72444c9bcbd331755876f649
+e4b665d69921097c364eb8b0562090e10f4d719b2b5afc9312ed39c77e91ece7
+61c6c940133f940a74e5ce3c05d9703556d28a5839727c54800ad0e496885aa4
+052f65813ae552e8dce8d6f73949d0fcf5059e85ca8a1c137d751c6b8a87a52b
+198254d01258074227501dbe50de2b82bd2510e5788c46ac997c65bf44dd6928
+ca9f7a902bb957e277e7380123cdd93cf75dd6c7e5a56f93f114b6e46e0407d3
+ed544d781ef6fbfc704a035b7b737eb332457977f223d87ba6e3dbe827b4fae9
+e687f6975731d42a8977cfa67f94e90df98ca790e89713dcbc07cf27ea8c4584
+cc933fc342e5c5e740ee920ac3403d4deee426d35e1062a2cc7d5e23f568b494
+95c8b4556a8bbb0480ade618566f537b440ce52ff7d2cd89fc806fc388e9d7fc
+8bf15882a38ae0e11915ab03c272c8a312094938b9b4282ef3a321e3bd82701a
+50f8a4380fb32533cf4a100b0f96475a0f12fe9ce7e6a41784fe7c83f05869d4
+2b70febe4f60bf749429bfc4721acc4e17a961bd7da411471edb7a32f4479f2f
+079239c9bedcceaf35119982d686545cbb1eb0e9f429e9dbac1b743d28d12c6f
+faf8f98a3bbd60518803d997a56bb515602dd3a75f7ace8adf16a6ee79233fee
+1d21bf40914f29521638aef27eb796b06b5fe274444e0833ab9a79bddcb33443
+5b815d0af72964e8cc297d246c6bd6d78e0e8394d8359084963b01416db54a3e
+3a6d9784320814c4fa99aab6c4934b76a26c5e014d3fd202935f2f9399dda83b
+4d652ab89936578ac2c70daec483f69422b25472458417b87f2861ff90aa37e4
+5c07ac19fe09a4c2d37c917941f01682e650fce1785d114abd5949ae733bdaaa
+d98a802437f465bb7d2d1e0d4118d6ddc9aee8e08e606d9703c319001725da09
+5dc1e3a421f0c5315e28765e9571982039d5313efe20de55e7b614184c4a1e4e
+af4a89c62331c6f2511d706c2c4248c626e6474c450db1838f1d8b264e406d6f
+85dc63e78936a3f7d84baaf49bbd3ba15c58fc4734fdeb13d1f1557f29ee53fd
+bcca5d008c60f868ab756608ce889de583309a303cebdeed91e7c4922526f125
+58d2e751ec11b3c0bea88065ab0241f9d1e4c6144150f92f917b629295da2e84
+33a66b4a6e6c8571b684a675af7e77cfa6723f82dc6ac13a8a568ed06a519ea0
+a2725cdc99096ac0ce941b93207ed3f5991241f709ef7f9e8b2acb77100cf293
+452a1917d32c2f2a798af506a827be2d3f3ce87e3d920a0d8cf8e98a4bd3bd99
+e12f4374e0f6ad25af32793c5f85b77e213c7805156d53eba08d9a84ba43abbb
+a8202d43091436113d930a138dfdd15774397f496aea9172ff0302555658d3b4
+f6926fc115bf3de066f2d3bdac9738ecb824713de70361c91374fbac965ed71e
+e2aaf3a27a9cc5564dd26a4bf30dad76ec5f955915b1363ddc6bfb706b559fbe
+e46f6b6338dd6a07ccdb23b33b0237c8f0a428fcbf6db62fe6906e4a593b4dfa
+ff151b2cd167951a70f535394d84b7ad727bca8403cfd661abf9a72ca0634822
+f0ebf66ed148fd7b29513eb151c8d76ea7b74902d76ef7a88d5c571873bd219a
+9f7e60b5d6b77bbc1afe19165f88bbcf45cffa773fa9379259c61a930395ce89
+109c5e3a14066dcf9dc8387209c84273ecac6a6cb033d54cbe4451036b0b5335
+bc4b3a2c6f6a4395fdecf9c1b88d3b8840e0a94b0516c5821cdb3b15aa06ef3f
+e3a2c4729e258156fb7ade7c1b8f673dc87a8c87d6229df03d88fdb8d7e122cb
+db3c8e9eed4ddd03ef86bf2b6fb140187441e7d3ad4bff4bb61e57dacbb792e9
+f4263770c169933f99eaa94f686169ac46803bf6324b8498c154ca78482224ad
+28253607ce99680a755c573b8cc5bd9840b2c8a2518cfeec51a396ec8e3b6c3f
+980a3896feedde1a0605ab8d7891736e2c9502b5e2b3de8d76da62afee99a77e
+1b079bf6f92363e8a5b6e605245952f9cb351206b65eddff62ab5730b81d8531
+1489f9b4f4eb4690844b47a8a2cc0881180d3b5bb8f6bd73afcef9300002c168
+0503cab52a1c6c10b038c312a0c5e59c60072d4405937a8776bffb1c07d0a876
+1bb4aab03dedb634ce0192bb51b07dfc815073beb441be59d2a5b29a64e559a0
+d0f33022188ca9e9ee43530036e15604ac28bb7349b1f6b57ffea79982da0f9f
+ef3b0447ce31ab3bbfc0c03b7a421a836b8bf793fccbe963059de30c4ec0ea18
+bd7f3d00ceadc9e611bf4c1376a64087008b5941734d404646b9f698dcae3c90
+6f2208158f670d807d7ac8509a38a95d16679d11cc23115fd80301e84f4b200e
+e160fe96e54346be77e24998e679a0e1c0579135afc37c68c5163028b2c026f5
+d22035539795135e468f192814b49c4967e4873799ae4fccd31cdf23f754ec82
+068c2448ee44a452a0b4bf877a7c420006ce3e9e032d830e2bcb814e447b0147
+3cf5933f6d82cb74e6d1d5d6211484ff1ab6add9a46397b42fe3c7b7cf6357cc
+abffeda61f6aeab2ef6a84ba261f837fc8bffdbfb3ca6901c2b4b29834e08d4d
+45a2dd4e8a51c229d30915ec1bcb1c5486a57eb7490c70c0dbfa01fd1c53c998
+32c7e26e50265f54b8197a0316d30a5646f6e4a71d475e03460d81e8b658327d
+b8a1b1437334d3a907947b2c899e4a53ffe9e8227b2d5420ad4109b2b136ad02
+92b5ccaa83556e85b2018e629113c3e0d4d484bff995a484643f661975737cb0
+eb80f2b1ab319b1ec6251c49ebe855e2d6ea533398f9b3148316210b46ed555e
+f68a949b73f31a4457f45588654bf21d554b39eb23850e3a10c2ae0e7369c685
+641f6d8f43936c9250768af2829cc655bc027fa640aa14b18a70aa3a75524911
+45e6a7df0d81e0b7e1f3587ff086712368c48351d661add7e96a25b33f9f1f77
+7cbd3ad42b6786c8b0ae23f5e61421a0b660b7381809f13664aea3067bad45ad
+8451c40e07f38f9b6185867caa2a9ddc8c37647c6b6a77d281185db7a56c39cd
+ab0ace10890f5c0d7807fc420a2d0948c3880dd22e0b6aada2580f9a635d12a3
+05a89415a24ee12b834a6d01e9f1a756b492f4aab442368cc18c700e1016014b
+12e2ca27f141ac3084ce37b42a4c41d41a3ae37aa2e40028aa8f3dd3f0b80df1
+24f33e60d97ee975dc98338c7d2290544d8da601fdef3da00db855237a174cd3
+dda0a9a404c749c849f5592390320053c4de8004c650117289b8f0c44cbef09e
+2fdae18a593f2c7ae524cee7e3560e3116bba293c02937b0e95fe22687ee328f
+eb89d6738ebd1604031d248ceb6a11f9ffa7b2625d3ad21050df6f25d1bb4f3d
+5d269bbaf8d56d25ac40905ba0adab22ccfc7733dcdf3680fa85a94f65445951
+e960e817427a9126a9c767f263f324dfd34841554bedd86841dfba7e43986958
+d688da35786f0497a6d04fcbb6eef0d1e8d9575af1fdbeece6cfe66c574e6158
+346774b185fb5c4e3bc71b45b5202f79210579b4bc35b21f60843b811df3515c
+c0d81d665e7eb018619a243e72c29636b8d9366166797292ac7023cccacc9401
+999bedc5920fe7f51458d13eb772d6500f471416f079bee7c9bfc25a0858b10d
+c043cc9a219ab9a71ad62d68ba22432e1dfa7d7930f873a9af0ceca0cc4a4667
+d1102a8a685adfdbc5a1b4cea2e9a94d1766ccc8f9e74213876f3d7bfbe09500
+06b11f656a37641f9cfbd0b23c19dcac6d9c2b5cf0e38d8a58ed42c7d37d88bb
+9a96ad2864fcbc6033bd464ca519c9e8b24e1033ae844ce27b866f2fe38b09d4
+a262867f4782f15a5a0e762f76e1dae8062ba108e759c6d8f00ec4da4b4bff0e
+3b22b22fdc733b708e0c8ed1acc316d8677e488adff3fd5d912fbee47a55e583
+d814d6a77044767539c2a1b964f5a2522b482186ec9f957684f090862afac470
+7e5b48722a97df0d272c713ba3b611aacdbaa0ed665ce873979c55cd6a9dac4f
+b8aeca0b0cb0f6fe85e7c97088ac6f4ed2bce9a0d16527d001507702138709bc
+abdb694a61da95692e67999aa628b73837f53ca6892788ac702cd6eb52f8c79b
+92c866213a6126049797a48454b53318cfdebcbe1c50fd139abe01c30feec51f
+0cb7e9d9a863250021dfe7c27786e88b6baedd48d949dc481684e3faf67ca81e
+e76cfbd63b547d7a43f3ec9ad09b1bc9e31462a43245f40ee9f0cbe070805a1a
+bf940f2ed8300be39fecb86120ec4b0e680d890903458cb93153fd2ed736b873
+07aec4beb473ec4935bfb0b8c01ad84dac20d13b997a884930e3c6abdaabb083
+f6f66c5b936ec4624fd1d1ca39011688ef21faff4f69b93f7fe73a7ae036c3d1
+5f6f5da6838536f3fe0f7543f3f9460b197a7892d6424ba822cdcb26e2b3dd7c
+a75ad2710b9ab49c6d5810f68d1a0426987f1e462034ddb4aea10e8e04be42ea
+10cd8552670f9251994dd8e844245e97a5902b65d08fd41013de3f3cf0cd6dfe
+c75852ec385747f789cb0d846d0d8f4f0c823fe8a6202101f2cdb1811cac9e71
+9f54bffb04d646ebf824a17db7d78137f4e962f3fe6a19fec02697503d1f5c1a
+467799d2c347e8f85395eb9bd63f4e6a52fa05d4a3e25700b4de22c41d97c719
+cd5a7576a3dc797c96bf68c5ce7922a8fc928d6aa344fb67d4115cafa38e82f7
+5f621c9153f7f2f9e5ab5817e000d5eba9a789eae7831e1a75a382c6181a130b
+0ae6aac0e5cec25c567f1c3eb72caeba74fcd4ab5da3b73412e76399a56533ca
+6044f2c2df96153ea47213cdc057e3cdfc8923b80543e5c5b226628dc0bece91
+e30fafeb8d4a860c90021c1a996d178c6c85e9be45f28edd3fba26d6ef2e486c
+477670a17494c453ff09074c083aa8b74de9493f207b555c56e72fdb8867ccac
+10f060675e0393d1e5c6b2f44f08458dfa45cd4bdddc3ce3aeb5c7afaa73086c
+c7399ec8874f529e4af63bcb4df147edda137e552ca22f45ff9fa03ac41f724b
+870d8656fd9bb93690eeb0e7df81e6957e602a0159ebf6692fadbc46c9ded8ec
+229d9bb5cb617518127e557671723dd8768b1ee594ec29c4a096ec4fe6192ec5
+038eea033d0894c70de3920d1deac65b4fb001ed0c851779ed7154ef5a848257
+c973c7f02aa72c1067dd09b13575a33d3137969d683ebd38e8b61cf62fd3f4e3
+ce98c266e088aef330d9acb450ebbf96bf63600e83f13152eb0353801d2fca3e
+18eef4f1fd438afe54026028dfd703cfce0bca12b0d2fdba236918d27517393d
+c2ebd744f78e3dec0ce74805418f1a93252abef1ad71acc1809460a8dc423800
+86a593b8167212ad7ee18288d203244dd3a2025b8449c47021ff7620fb89d3ed
+41f8547bd5328e7ac7cf5f0ebfc314bd4afa8323d0cba57e98058af91ff4002e
+db452461e95eb2bff94e464bed868dc3014915a910704c5740a1ffe4eb3caffe
+27c199f573a2b8310ef7dca5dd1baaee4eb5add21887d9b65246d93e36a72766
+e664b83245aea45114ca3c11b50d51d218eddd1fdade2aeabd385ce371734446
+745552c5322e029c892e227dcb3fd626cccdbb1731d4cd23057686833fc20906
+fb3640b2481fdadf09ee20e487556f5dafb429d648d74f57c8f6aa04f2ef121d
+f2fd850667df1668f97d721647207084840861f2627f31e8858bfe5851c35fdb
+b4a81e41645ceac4873fd2447ff94ebe8b83636578eaed2be03bd8f283fb6832
+c10a917d9ad056ac7ce149186b5664cc52cab3939ef44f35b43bf33cf06416fd
+ff848179580a7c39732e7eeffce44f7b24cfb288534f47163a273f2a5d9f30ae
+802af8ca1dd90bb7149e3c3a3082fa471257bff78019380b1ac8238b735666c2
+df052ea0b436789bee7ad5dd407e9c20774d5ff3e0af9187e24065dc9a119cb8
+842c5f37421d005f27d787a611a8f52ce76aa34ee0ac7236905c28d6d9841415
+387be7eca5c533ef618397c89f3df4cb86ea2e38ec497e380efd12743f6bc297
+629e86fd88cc269eaadd0dd63984e253caa270ac816df54077f7981cf1f1d5a7
+7aa46b7538794d9d414db7f7eda8831fd123f843b4b6a963648b2f3169693292
+6626e040cda63af93f25d4a6e304d3b05c171c7186f5ba239f9e2156a0e9d30f
+d016aafff969eecff0111120c07706f09505359f63199c3e19e8142bc84b7efc
+caa61b1f13828755bf18cab9eb638f17c3f20342f60c1e1850332c16c8d21c26
+40dbb93652c7cc6469486584f2e036160ed2334c5cbf3b343c9c20fb460fe049
+2ac14315bbe89139796ad76f219f2f78aa252aba529db54863fba815857b4369
+dbf510ecf4db2255912af8fb0a1d7c1a2d176fbfbbff0182b969c8b02780868d
+2267b49d78b449702c46d1267319d79a101cabf6afef50a912b2fcb8482539e4
+9e919f3b1270599e8ccd1becd4fc4b973bf1d412764dcc3013c707039fc5db85
+b8c4759f7fb9be1fd2fc5d972e117af55ef2586b4441a440f350840210186a5e
+d1e4019761f7b460cebf431c6d564322cc22362d93433f843166133fdcd079db
+0f03591ae83885345c227b918e762e71db2b5e86653898d20f80c18c7f811797
+cd7f4a0b3c6c5d3289c5fe808a7068f3d19e8c4ae145fb822d59d2344bd47dd5
+6fc4f2c7237119a44710846bae73c9d13db5f08114ae8fbf644831e81dec6206
+d933c007f15c0c0ca65091a451a3f4268529df3d047f8c04bfbd7d7bc02b76fd
+3aaf76991f6f0b2b4b6a4fb87dfb7281a260920f79aa6c0cd16bd15de94e8681
+fc684280948d6279ca994a078a261860c868d0a029c70f80903265db27ed9791
+2c5a80e648aa078a321e5cb431c0bb2a9d21e9929a4ff4b1f9dbe980bf7ae713
+f76ba86fd6dfc798d7488b115e7c30d1068322010037fc6c9bcc6182df29c66b
+2477dc0197f1ec7f48a7473b80a284d917378e89b79c9aef1e975fc3edc7c60b
+a3afdace73264dd561ad9478a3cbbf9858978620c79c09d660b1048d3ff8044d
+c2bf02d1282e396f5c6298c30f3116285c16d3262630330c4fea515f629d480b
+cbaaaeba211aabcb932c2c8c9cbb2d48092f69f11c221d9ca068c529213b4303
+e7db0af9ea0ecefa45fdcfa5478312aeee4e7ab6d393b8b578cc181bde18d138
+6eee5ecb8aa46d9c62eb8dac91fc3375f93917170a43c2fb48ec5bf00d15c5fc
+f1d55710b6801ba04b406ad183dff76e19ee9526e6c38d5c2b084e8f36b7a9b1
+68ff8d2027c20b0d79d120a0785a35f93ac1f2a7319c65e68a4abbfd0ee8a3e9
+b14b3c5f230482032323b501a82424aa3256af1f7b5de145b16848b9bdb70bcc
+c4f83c231aae58de03afd4b7d0c7cadadff17b2dbe285300606de214cef1c624
+1d2f2969f0b9741dc34d8dfdd30331d8fb2b12d3bffc004ad1e9bccaf126e96a
+5e340a89e8a91a9eb19ea03d4886f768ce063c702f25f5ccc8f473f3a4b85fad
+95d7a92d2e3318f635bbd79a8a4eee3f1208e9e69a7d63de373262d38eb8ac61
+21f3df1bba843a961b5d3e7f8735ff641ea99fefd347df900b678758080fe745
+538c9d5ad428839bb6840d084a49b2cc475319a99b33a178a4b4f24e56a9c251
+9e8c010f81de925cb895a446c87b63ecea312c8b230151adf735c6b7b158a1d6
+55e44e2f5c77c2b461b97e494dd098fdea07d1940427d2a3f2585abf264bc4ed
+efada3790a85e0889e90e45c38482909b802b8c4c678e1129af4382e479e49a9
+e406e7120b85955936ffd8a40f41e91238e4d11c7e660b902897e9746f9948ec
+29ed59c91597ab7d2137149edc67bc432e470a404bb9e6b1f98bcfdf1d49389f
+828e3f35c203a3aededd8d4d3e6617c959d5c401fae6756223f2ff5b52134cc2
+804d20bb08498b8d00b0660fd27b4511a9a099a8487b7622184d781b47453611
+484da293aaa6b7e8124785991f755bbf689c4cd86e573f40e4f9cce9ffb6c5a8
+4a419e32002acd3392e677cdc2883bddc975bf0550a41e7d5623d745f389fab0
+5918c7cdfc9f49327eb8c4a59fad6ba52b0f075fe0a2851fde85910cf5cc9590
+b7d7bea3a1a8a251e37f6a20205b946b01da9adba76d14506850b6e634ddfdb3
+c853739461d428ac3349438634bc2c4577fa2a337990eb7bec05a6d9b90cfe70
+856680d5e822480f77f580c3a1e82b87dc2c2c554235da6133e79ad708786a8f
+bfc34d813f4e4330afbd5e03f7ef0875a7a07aa201c7e71ab6a818afb9399ebf
+d88e1d438e5d4634172f2f7000c10112692c4e9f0273a8db1c559b2e8d66fe93
+521514d2896b7321372d441e1e7c63edc272b30b6735ae53ac1b08c352aced8e
+8e569d3d3dc4e7b79c9a58310d03ac8d2760522cce13bb95bddbb22a13b13cfb
+78bbbf43cbee6adfb333ea66621a5616442fb9eb4d5855eafb1573075650d05b
+9b36e80e8ee6e5a4115aa1234ef0898c52ba94d85072c4da759dc246ae56ea52
+6be02430ffa280c4052cf73d6eb4b62c3282d82929177263931d89f27b1e1dc8
+de5ecabd3e348ae919c983913e6ea48b21bc0827807fba233c132aaf170f20b3
+3ba72160f184a3df9b130e3bd09301e12d0b22dbf56ce6fc87ce156de4377498
+cad735a6f5e57840ebd7706ee44c6b44a9bc0120cd4f50720ba4b4f4002e11db
+98d7db9a31a5c300d81546ef990481b7f9c278f0853c05b0fe5ef2586b4441a4
+218a64a07ed2bd6c547de31987297af9e99f16ecc361ec2650cbfc0ca9b55cb8
+f5b11408d58fe29e46eb31a0537fe757800abd0f34398cef4e77362a140d3ef6
+b00e83e143656b00cd218db158d44f5df1c5976fe708f15e32642e629645f1dc
+1a3d22742637a809f2197ff9a60d1f58e74d0937f8d8cbf0b0de616809d91cfe
+77675bc90ebd5cd44fc09ca0625e8cd6144b620bea2183744d33c42e535b4879
+ee3fc032610eab99688a6e800815164ce529eab33e85cb2a84ca3cea8074039a
+5b0b9e2065fd72389d02c6608660adcdd7ddeb2c4feb5a32e3276025f5c3ff65
+bf4b01473897164745b05a4c1e1dbaeeb2506bd306e266e613b16b93ac0f869a
+ecf140786a639f9856d2f47dfd448564cd6067590cd7c75bbe8b58eef67d2ea3
+8c965e69c090c242e29f12dee8b4335b8ecf7ef341de3a30892c09ef87913cf5
+147ae0cc255e05eb602420ae22e8c2754976dc6ce94fc477f330dba72728449d
+459b2ecfecec62d0be91a9397b312a7d46b0cb7cfa2fc664397dbf9a50bcfbc6
+3ed6fd6a7941d36a37a815cc9290c79fe24f19d1a5c1cf0671a73c6c22abb952
+5618c9a3a9909f1850a9f470d2fde679c254bf516641ef96f46574633a94bd7e
+c9890023100e55c6a51f1124b3dec6a7fd42f63499a1066d8d27a25819a7ca1a
+979e04a8f1fa55d4aaa3eb05d8205cf93fe5d372778e809ba05dfb1e0a1e60ab
+6d1140d4c0bd8e2db88e7d68eca8e3f3e2248cb6fcd2919c12d60bf4549cad35
+6000877d0241f7f19487e8c2b17a522bac5a91f864630e2ea4d2f5b7bef4d091
+064ed22d2f597d18c9f04e2e2e1be2ed884cafd31231da6133e79ad708400c02
+fa56a3f3f5eb56a713fe068d4cf564e7e20dec5cd4696759cc35d34fc0efce5b
+dda7c02eaad828006036386ca3432c6c005aee97bc884afccd3b642c0a17f418
+e3f2e436dd02237531cf86ae391102b2023ae0913471b6797a8e71031412ac87
+b96a7173d5a56332ddc5811f8672b377955fb5e39f90d787ed2b0cdb81866f79
+165c8353c9cc1f0924b5f4ab6bd5197ea6273aed03c838f6a78bd9c40eb8b71b
+436c0803bd569c3ae55ffac24dac9de63cf6f851c5e2199c11d9da77009e5531
+09e47298f63c44644470d768725db00743efd4b012665664b3f663da65c6329d
+a22e64b466f56bb45e7afa47e1d2e8680a49fb4948a8c424c175ebb3f221a458
+d75f3f84929ba4716c503c81e9baf81999337a0e74d9c386e2b46aa7ecaa0689
+e5b00465cc49f96f7003d7d0bd1463372602a5a18bdf3e924493566ee07b37df
+97814292f85845f2cdae528cf8e6d40b1b4c7ab83c276f3d9712e7cd00e96f81
+39dee7bc8d17b48a57a39210ae727a8563319091fb1944279c1e670a24093b0d
+03ac8d4a479d2eead32e98af57251eaef7a6a110493471c97c04cb50fed0461d
+b5d0f89df4f461b67bf479fac30463af0eb0a5c40b3ada200bda798ca929d04c
+aca634d46b3fcfc12980c2ece9439363ee588b4cfbfe1adf3520a28209e59572
+148f5dd6e4891d9bdfb2525b5d4e16fb79c13a65e1d6872b1e2ef1c761d1ba66
+ea1ca508c2a3bb27a32515269ed4377d1ee7ddc8c94c4078bc4b352211cea134
+95326faf27554edfc3a8854cdd4ed995df19dedd2beaa478a9409a77f75fc1f4
+d57ac4352afaface9ad01b0b621cd8572b3c65878ea89e3f43269e8a0c3854c1
+454418f7b0b385044a15ccc1823961ceac3f500a09579e605f92f0bbc9f2d816
+8c50cd9e61b84e0fc17ad73c36227e22447b9ef1296f2fe302f23663deef0fc1
+eb759acc9dd1909f369fca5564adb3f0b2ed33428c75fcea4caac27e7e2ebcb3
+f50fe19f3a3904eb94baf40c40bfdf8a787e622563a2cbf6c32de0eb309ebbc4
+402e31bcdce135d63f42f314928df9816b69e19f732539bd00b5950b5aa8fc6c
+b3bec0f14e60c3b97423680fd8158fae9b076f3d25aa3fd81bb5132f9b1f150a
+caf2cbc0744e0d4f42b186af0591f16f51eca0ab48aa2525dbbf629b4754f235
+49f1f9a88d2ec444c26f28ad54c9c388ed9c00c9b2f5a19a32fb8880c47ebb80
+16ceb36d0cc17489b3e4e552984ff17ec5388f14541759ec95282eaeb4a2d6e3
+192cebedc3526f99363024cdebb040b3da29dc93b58f6090f2f5bac6c67c8ea4
+88b3f0eff0d6228e20a5b865bb2d1870e9e76c9663fb32e899c3f1f03507e174
+af0e77433fb35748aba9dc78f419fab7c9e508f73824460a7fe6ee23fca964a2
+839043a19ecb24b15b6406769b703a3b831bd6c4c82ee4af7aad7e5295f85353
+c7d3476119fc664568089a3350ca986913f16002e2889a7f091e02e3a400cf8b
+83ece85176f96fc41efa93d5d658f45ac91e6e566184cc0376ebc6c8491f09c5
+e6b12eeea7e4e445a8821e03a381c468bdef4f7074b631a3146675b53f7539b2
+11e0b3b1885eb173883c4cacf1223ef4f6dcaed8054c8738fc3dd1abf1566be3
+b4d8e99bc538504742ab18cb9e5cf97c9e5284aba6f591e2d87f00952d0388ba
+ee7c3ba1182073481edc7b9c0e761a85a1643941fc9a0bb39252d59c5b0abad3
+85ca9296546fdb9faf2bd384db91bd96c59da8250df2b5d125d0b2546bc7e2c5
+0ed4dc568d8f1b65b6f327842bed0e7e910e44ddfa302f5b30ec127aef3f02f1
+1dc0ce8a94bd9a77c33c8e366ad06f6675806d7f4e77282f88376fcc8e1772e4
+1ee7f1e9cde177b826f9069ed5c3d3d0b4bd54bd60e01d4c768cb47b27624853
+fd9e3760387debdb46d9dfb6da0f7afc1e1ca352f141b9039c6d2f3ee7ba88db
+d5f1a0db0753962fad600b9245a3a6bdb0bc0dae1e65c3b27bf95a52353bff9d
+34d860a5d9de8ea0547b9100c160b7b631ef5d8e2bdae77d7a915788bef9eb91
+11d4d7f60f0329462d2ea14a7da9289922a575fd88a52c1aa98cf1f4f34b7054
+64336e3ab7cb09d81e427e3bf24e87bf7147dfc0c52e6c67205181ad234ca1ff
+0dedd467d4a13bf9afdc6167bb6f33a47f1ab1477ab32752c256286b25438259
+a143a6d95b2c6e5dd38dca03fd6c803782dd7dab0c7c0647f48a84a163cfec2c
+e098a2ee99d2b0d46e0afc85091c8402b36b41cc096e733d3e7252c2a4b58f54
+369f049d0924a6903f8ad3e1bbea39e25bfa05815f79eef03e1748b2d581fe11
+7ab2e3c7a8f520c194b3c5e98fdea58f19b4e79d677ad54a7fa485a7a9712896
+618b0c33694a3c3467a245c52cd39fe9730e7c2634d298c1638a0c7109692cf2
+58f8a6d0bdf578cd28f72e48176a959993014e050a7d060918fde0a223eab193
+96cca9c895a0d5bb26eeeb9190df3f07e2d6243d7a845404be35983125b133d3
+7bf15f8c7cffc8ecf514969e23fabd262facea11fee56fa69682307719c216b7
+881b733d24403eb703c288cbf898749f3e81fe24451e063b3c02cb2ef8dcfc36
+179a525662d47e0e6325b93d885973935c91cc6c52749a939d32fa1f5a74b689
+d06d161914dffba8335c544ad8c4e83522f403157b7aa2ab15593a7583c684e4
+72df545d24a4894038195781caa9f0f49a66fc62fbd0a5155743b7c17c9e6ffa
+e86076684c20a77b1e74abf75aab577b93dcde8c3ff60aed1a87ec006d276725
+215681e444c21acbb6318f41d175894c303738994c15099f4021950a8b389dc2
+ab91b74ed57317f7faf10f00bda6be25467f05676ac4192c369ce03bb374617a
+d5bebcc56ffc07cb5d8e7da3e17b7ab3d9d5dba4b8354c03a64f02be62ef5df1
+4b9b9376e79a803423bc55c5cee3972f75faf61dc41d1e8415ca55d3cf703612
+1cfe771be80b697389c047c601dbb8548f0d58ed841d25531a41d8664730f34e
+2b187bbeb8d9c16ae7591ca61fb2ab36ff3b6782c7e97833827a1ff86644ae56
+f463956635883b55891a08fa707e90c392ae4721fdb0b2311f8cf00a4703faad
+8114b615eef9737684a3c53ca307abd11558ce0810db4d94a444fc6babbbe40f
+3fca201d7f66ed5f834d33eeb1189648d68efefb7af5a080f1b6297b75e7815b
+4680e3c4b2676f3c763fd9d28fd00374c2ff2697bb8b96ea13cebdf68eb17001
+c041d24e19c97d33d448f4d6aa3d50d8720b0377135f30b479d973ebebb93031
+aa1faee6c275b21cd88852d903f08e2629066e18bfcdfe736b208429a99f7420
+7fe3f156e82b16cbe3d401aaf8ea2a417a7ded77fc22d8f047685fb642b7e25a
+50c5141c1f1f38a14ce3c0b8b3447d8f48de07c687e4c4cf69204e85c6489a3c
+adf29ca7f2363308621dfd1f48efe47d7fcb3f67441ce965f04f42b78d23500d
+25890201f30d13dc767cebd955da0ce6f6411001fac35b8ff9762eeafda44864
+cf1fd2f8c5c006ae8afaea913ae1c75765e4d6d77b7e21a6d16daac81366f237
+78d2c5b9a64872015bbad846c77d4a9b93353935d2b6e57b39ebbb02993c18f5
+228d99a76250b85311629162556dd299f7eb2479c705c6e477167faec90ace94
+4145a22a5cdca376cd2f809ee685329d8ae45f3d29b2187bd4077b1e7c5889aa
+d999a67759f2b649e82031f198bc592bff385a196f4b9943300e1c9557ccad85
+497b9f2c5ac963b85527302a1d7c42d5d5c8c58328318a6410df0437225eb017
+494c3aa09f129275a02d0f0d2d5e24fa35a6b0112435d63cc0706491cdb6e75d
+d957789831d30481e3b8e52d678d0990202a4310255adefea4a4b48abf4b835d
+35c66f7f279e1d7cd4887798ef065d2218056e2374c03c99fc2e17a24a9e70b4
+9440f5e20c8806dc23e1b1b545716dcea57adc5e40d7df2a7a259b559cd37c2d
+8fb1eeb6731601ccb46af23de0ba8c1628f4b88a9b2d468c96730bff946e66a5
+d200ae32702e6fa6c907ca03518731f60b1252a5cc2dd1f9bd90428c2e0f0a7c
+54d92afc89333da6a83c324af0629a26996457d6374437d9cef97bb99eff0e98
+a22c6b0deba1062f3c48226dbc9a5899cc864b975bd1f082d7e511a5b4cf9c0d
+7f30d371f689da42f11df7c18389941337b9c07e1cf5f5cbf33e400feb6f4aae
+e60a026da25d51a3bc14d427d37fbc1e64e938a4de50f52578768bc70ce53327
+2db34369f898761aec2c8dda5931f895d28872ec6f209d78be4f4ab8da35f656
+97c57405ce7ae5541c9ff509d5762aa6297e7a0194059eef3a2ae5d59dfad4e9
+807cba47217ba163742c83f8205052cd729ed6f8c452af9712dee557d4bf8a30
+3209d36bdddb790812c4e532165f955c981339226c4ccdb89f78666953c02eb2
+f38c4cacff62da858e16feb7bd379b92d9420a26fe2a0aa0c71e064000164413
+7c538d2da78a5403cae324705be07519a4c6124f4e299c41497f23ab3c479ac8
+e309dc694cb84b693a40ef5fa7d4eaeb84e97643474253f982e38060a81ef3de
+b08144992e048e8fe2e9719ee6c840e5be01142f4a62ff3f2f1b1d70997f1fcd
+183c5cdc04d67e5f46f946eefd6abbcf0170141516c7bffc2a07efb440dce1ce
+888a5acbe4c407c8fa46e28d20e7774d2e374e224b991242df5a20cf3be574c4
+10a1a88badb054b812e7f3ea575682e6a86792ff4ea12bb43245bfdf588df7ce
+ae590954e88607c4201efb34b2a9cffaaa392ab52f72ec08de1424d2420bf7b8
+2f2a0dc2aa083310b4a6f2a68ab5ee8384bbbf4ed9f932308c2836d6de8da231
+dee2b4f08790d1653490b71ad5d0bed41b06f659f8c3a771b82c8e58ec4e0a0c
+5a9f7f9874bc6a1479b918050f06e4d1b49232d8b44f312a5f6666b49e54389c
+18e7d89a399fac13ea6ea584dd48ac68c0ee40d26e4f2ac32951a3aef14c503c
+7ca2d05701b756990b9809e25384b0815fe2bf5084ed21d8cdab1fe3cbe15c41
+e8a94336359df9ed3a43c529529a9e7f63d8de36720e108d1a9feb0b9ec91379
+b57d2ac8a6799176ca5d5956ab877d87050d86ab917689c93652b729d4746f6f
+34de32680d8ab5c5a4565512d6ec950a60f5b0b141f348d1934b4f3689640592
+f22d1c1cbcdd5116b204061afc1b8f15afcb06f4c44905d17b8e44ec96ca2888
+b34eb85465ed2b2620756ed963fbb9312883c8aaf4870c52eb032bb5cb7458b2
+fbd796b670e972f576dd3941c76cbed5c40b669f0dcb34b31d29501097553698
+9bd2a479acfcf324fd549b3e41bdefd06f42492c36d8c0201d2526e53ad34e55
+2b2384e39836743766e384e5858f33ac842cfedc28022ee8dbefb2a2c3a408a6
+be84826023124f7eec8295a2e1079480f30eb64479f2673da8f051267142dc54
+e88dc8dc4ef41036f1de1b9a198e5006f8336b29720288c9f2e545ec8663171a
+280273b1626f882c6894be2fa2532c2f20e4e24f1406c0627f9cc4021cac67c8
+3a60b39f1849b483757f18ca956ec3bbaea96cb0e2a10477e69a6040dc3b5321
+391af5478fdded8730e825818d960c6f4a305d653a732f1c51c2ca3e3adc4a37
+22958d50a78359cabcffaae1d75ce79e72e09a354c5e805967e30ae708c109ee
+75ef233df66782bebc4c5dd9ed6ef0a50eb2693787576a19b42e70e3d0c073fd
+fe1b3562083bc01d9b38868e64b8ae90b9f3164e2a29fbb1f1bdfd8ffc2a842a
+c2f9801d4839c97f4bdaf1466038eb4b6975e777acbdd875beb59268f0eae6d3
+a03c2bb60bda0ffaaf77c4f33d4671ee85f301521557a6f323f1b0d060326fd8
+7c60f65e4220b7fdf85de8f0ed64661fddba2efd3374fc45a507437a1ad2ab49
+38e4ccbe2411ffb70718397e156d24ab018436fecd39af252f3f9527397cdab6
+75b261045194cb3d3b5aca47c98f1177ca1322775aa8c29216fb7f8ce0fbe698
+479abd173b9541fdebbc3cde6ad12be816108a049d5462572544912ecac19e6e
+9fc6dc06160904e7bb14796e5becff4df3a8f645825c9f59fb419bfb5ced8e5b
+449a2e57adc9693e9d34e6bb5a600d16189bf146f3dbaf4f75d16b303a322048
+ddc0de4a91156aa427f1b137a714f7ec2a4aaf612de4819dede79b78c90a86c9
+01278125bf2999c9acfd90a866830d00a0f1c83a87cec69cb2f382c935bc571e
+a3b53fb22664be95d8e95d229b9985d992dbc6439f0ca52762b3cd7a4a50973c
+17de473f987151687da95caf1457c524a4406c98bd025f353124da7e6389a921
+e56de4d1ca7901cb37f051b9d3b78709640530cd549c9907ee6def35aeb2eecd
+1c9a1a4ae7686da61b848371dcacd9f02cc320f29ef144a10803df5dc4621887
+09a85504074b8439c1a3a7c253581597d6f94289e7113c678fae406b6586ec40
+fe51769903be72259817704579212bbe802679ef21f7578fae78d1f8c29a5438
+b656f13d14ac4b10d1b48d83dd1ec6e569358f9dce2093f319f9d3663e331744
+bca142ec6b901acb9b5594ea7423072d96a61e523336059c1091823b03dc6756
+71cfc688bd2062830e0edf7a5d400c680784691ff46bf4d8853a42c57320414a
+0c7b838bf2bc33726d8a61d11dc42005b909b241b553c37462ba057c30e7bdee
+b3ec5513ddca5046dbf783c780ffccdc188b5890daf03c94c8bbeadd2e33e95a
+8bad7cf8c890753d607e1e74dda3963d32cd37ad2d0eb722498718df3827236d
+7f073eed7fc3c0ce0fb5629f08d4a71d1825c4d158ef364c8d69e8767acbaa92
+e1751a266718d67fb61b4a07c485cb887f04bd30468bd6ff5163e5e35c7b4bf6
+ead5db27d8690d7c54b2be107d8180396ba6046e8b1ec7f51a624a52ad2f9e25
+96df52d886aa0f5f0316fb0a6ff881ef3cf2a11debba86921f94b6ab18088a61
+ccb125c7732c3681373e4151094543ad56ba6b5b915ca303a753a65aa189f6d7
+1bcd8ab565ab5696b9b0a2fb5b7feef3dcd6ef83f859fa4be52c24c31ec71153
+4577aba733b4f0ec2ca742f8bd658d7646e6af057d09b504f072b85e8ce75c51
+cdb3b17d34c06c1ca57b88e7ae944d289bcbc1f7ad27898a703c0b2b9e0dfc9f
+87a6b2c1d9ea2cc05fef8bffb8cffd8d8246ddc86e135a8361d36748680881d2
+5daeefbe63d60e449d50acc1718f1b6df6297849d31eecb6c990304d5e37d6bc
+d83c17c4ebded22db52466af31cdd0b576d69ed50ef359cb44507a79462b2825
+04a48a4b8bbe2ef617837ae266e3ab90e5f45647ed6b99c6d8b6121f1f7771f7
+5b76362f01bbe8a8b4268d4755c7b613b2faed3f108c29bda855012eea6c2221
+0f618b416e25534efec4c0f6d0feaa4ce7517802f2ccf54c96c4b5b9227bb59f
+8c8a49fb435d4134dce397f41f3b6d295f6453b9483c3c1d2ffd47a3199b370f
+2f31b3772afd59d0135ee2970b66acc4a1a0d3a18be2b3cc0a8a261e9dfe32b1
+a63ebc7fd99af94cabd34eeafca393ab83b5ced9b4e60f868e0b7aad2c2f21b0
+d84919f1c1598e6143440481e3c4a97750300f7e0660eb65416215d13d8f546f
+74c4700693327ae762ef61db4463f3644d534a3b4127c06741f0f3394f395ed3
+84c4139b7ffc5b02185dd9e9fc4a9a790d91eda97f8262e6327779701f7440a2
+7120c75242cb2e3c5570399c648b21da288d2a9d610dd11d5f9cfae9aa1caf9f
+05437bc137d8cf0e83272ecdec1c574ee6880505f03fb673c5ef5e31a674d1fa
+390de77900b9dc1fe4d73311032af31f6985bf38005fd3498d569de012062aa9
+c4e5baee3ee651230cf8f06f9562482e56aef639b4e9b14fe104d7a4e59d9f59
+ed573a530fead02933ab576a225e00d4681821a6bd294b96c9f73ead9eba509a
+e5d9008007ece9e52dbe377e161c5b5e1fe556db12e167595ca9024a24c72e65
+527e3f4b94353bc5fd302dcd2343dfc038950bbc4c1249776e2561a90c9a5ca9
+c045f6812d9491a77d5f775ccaf51b81f299e1f9122c50712fcd660bf649f628
+2aee3c072d41bfb68cc3aec648f2201fd414d50e1375dc1fa058a80f54ef4852
+2715a66f46b0da8861864fdf8e22f6e47cb32837b34ffdc5b578717a1119c6e7
+ef7566c58b373d111eb6c2bf1e9853d13c6223fac9ad3123765163c06dfc0637
+c692af835e89ebecf5b37620104cb8f17851abfa357e02703a059d960d9df6f7
+fdbb168337708e7f919c04c802ea2e2b3a3babf74eb86e63de9b8644627d8985
+a1ad3b8adcca509f7a7debdd4634cbf42715063265b57d40eb7475423c383835
+9cb5a1fccfcc7874c782cd859ba71d5f114991e6fe5e557fd360943786fa1610
+75b6783140ef30382f184be07a3b0bb616442a4a4007af227492a994854b4029
+8b9e9b4e4483dd252b2230f1f615a122918f32c3ea0a68805fcc73bca40be7f3
+fd94e698d0a65005a64dcbb7d97f60cab183acc86762873f18b673dc194cfce1
+03f07cad09c8fd6b1f532d72cc86ea99ea24a21a41a2e09837093d5e1f1e3d74
+342cc4466d9ed9c1722d8665b00a9f254950c286426737b8690914d856ac20f1
+bf27180e6f9b00981bc8b3b165c5cc7e02a689dccfd58c1b5939186c590a97d0
+4d5710fb5506bcfff05f8c6241c125e300235afcd2311d997a1369783a83ee1f
+040b8fe44804dd62ff7e5e77dbfd66177a934eaee33737d643092a0cf65e51b1
+31a7ce8e502102aba1a8a68b8d95c5b0651c83214017ea2bd5e5a52d7e9d8afb
+ba7cd22bbcaae087ead54739401b0d8acda7766d94d640feecca18f1829ae75d
+a4aba8485bc9dfc9c67409c7d465f54d740ccc8ed6452872082bea2773fd5d64
+6a809f5d382b69955db3a56e61849017f103bec6de80850132002216dfd30111
+0250985d8241933cab0ceac16e90d929dda1d3169a8de16ca98aeec1bf59b9b4
+e0ec460a2631f6d3ad4f84fde5b5dcd29d53afbc6c8a3adf15d234b13de3fce5
+2689a74f49cdf2d9affd89a098d6fa7c0f93724a08324ed1ce7db85034bf4a67
+e7d0573db8e2fbd09e123156b2d066bccd9db05b87cf61545a6e219009452b75
+41aba3802cade07019910ced99eccd026725d0853f9f159703f449d1e1d33902
+148421d34f132378dd12d9e79168bcd8dec5bfe47c862adbf7883e46dcf0c241
+e068ca77b72ce9a73a3ac40f568481f62d9f36ede5f0264c4d8f9b2ce03e19e7
+0a94d0e467a9832efbacffcff9efbcbd405432914bc36fcbd16c4c2aba631f82
+13239b69f183482bd2922470427fbab78cc598a57819dae5e3321efef1fdb44e
+084a4402b8cee480242e42dc09bbf208042dea7968a643851cac21aebc1ba274
+0ac999d965b43feaedc8c76a32ff8d4fa30e2c8444b01716af4878ecf291309c
+bdb70c5bfbd4134ad5d044a04a057405a91e1a1ef15980383cd4aadd4190904d
+5528e55138635714ec3f9d8e0fe1bd1e8ed4b742ea90572f1ac8d01e711c074a
+4125ea595fbce0746121a5d022d16b2125a1577850f6d1010279a5dbbf135eb8
+edcdcfc459b7b554192149c29327f86e477dd3d13fa5ae3a78cfb714c9a75006
+7ba154407ef22158670059820c8041941f7ff5c27c016b20b867f83a9c8955dc
+d282dbb6f72bd2067dfc1e91373a3021be2be6aec5f90c8001878077eabc9263
+9f5beb892bfded1d04136bb3140dafaeeeb31c21d8baf03715fc56ecc16e7dd1
+1c12df0bb68240772f2c59829482cf97f6a922c8c7deccd1a395e7ba2a1a8552
+06c27630ae1f236606a3a9dba1404326b8b484d5d2564b480ee7422365234cef
+2609605ad9e24294ce5f5bdd61a479c33fe53ee8bf857e2d2a25dbbc9a1cfad3
+a5d7b2f1155d29367e318c8a82e1e0aa236b8442838e3deeb9f7455923cd769d
+28c1f780c0d3bffc275e0242ec975d2beb7f6bb5222b2cdd196e4ec94452050a
+76a4aa6352633cd58f461fd646f23758e343b5a386927b66ac6ef1acc84839f8
+bcca9f9f93f18cb4c6bbc663a951dd5211acd684ef945c10f156b5b6e1c182a7
+a580b3966716c334ddd9f78a404873a738ab6ccf8a335f1f6dc830d7d74e021b
+bca95d260b34d1933177e5ead9c2793d264c94e8bb274b9712afb7862bbd8f74
+b4cce27cac9f29c086bb30162820a229e6d5c83410a8b876fad5b8a028abc067
+885b5cec60995550d35f60afd1da93e3dc14c42decd2b0800706a222e9e4b7d7
+bba9646f6a3ef9489dfb011045a6444cb599c62dcae4b11de7d8d98f8e58a9a4
+feba0e5f7301b795f4085baa4a7085c5a438d0b784b21186787abf88b455f1e2
+ef19fbbb4501d5c69c22b219737aa5ceca0d0475bb6916685534448816d2791a
+31544769ff1152c2f2cf4c7cd3f64c6830522219349254d11e6ff2056a341648
+e9caf2fc5c6f48a8713448b4a0a7bf4f250df1f9ab9db798e0c5d2cad0116608
+a0a6190d8fa4f8e67f705d8dfc7cd8be652b13ec24beb159f97d22997094e38e
+90fe6e9f3d2a07ac92f1648c78e6ca7452481fb78dfefdb4399c62986b652e08
+ca4a9a4966cbbb572c4b2c8bedb9285372904836abcea90e91ee6fe8dbe8fcf7
+18f4e0ce97b29be634db1f19b541e003409442a59e320cd38789b76eb79e35ac
+b1e09f5ac2eee068664a0f505c61c07da5bbf439acd52feb4caac79ff0575647
+2aada68f6aad5a1b760468859d9297e3ac4ceaf7830c09d3562c012d48cf7da5
+f93d7942a15fd76be4e90cb1a966503d32dd2fc39c1cd01c629b600ba6463288
+466ebf44a4df63fe204067d6a39719ab32b5073d4bdd022933b5bb5652510919
+af2f90863be9f08dc507609487ebd7b796a3f0b029e13492cd0a1dc002d85b8d
+a0d2ddf319f7e732ed40a87c984340976292119ab947b5f5b9e5e31e6023e22e
+6ef0d04bb9d9cbb7de56a1626c5925847300a6dbeed495b18deeb81580701052
+e4b37d9e0b346aa8a55621bf5dfe3bd1cbf2051e62ab1e1da21387b5f38c1199
+34ffab0e8158107bc33f36a537996faf01870b85d5da02977ba62fb8e5d4878e
+1be660a6414c9084a3a5f05a4a2c3c1f311a589ba7afc5418e3b480c92f91033
+ea61d0a6a1f9e209226f2cab2d9c10e2b54f22e9a730ab8d48548cd28c3dab41
+5b03a59345bdfa9656cbdf48363eb233dead8ed309268a629bbc3c6e2d85eab1
+5f3b769afef377e4602fee3efe33401eba124aa4d4593c5356214c59db31702f
+44d33f89196e09e6e2215687c448c9615c69d7163b2867252de9771c9ee8a395
+87bb374d1b705d61c42da4a8a7ed8ebd24d1062d377fb37fd84d5ec3eac25d5d
+39bdc91f7c820b9fe806984bcfd3c3753a607650a6ee4460a24906f75b38f2c4
+42a65909bb70e7383f9e90a06f13fa2acf0a37e59a31185b6f9437e741571dbe
+fb518dd564140aab4c91d37e6435ab9b2b376bf6522f90b5660ccd1d7e8b82dc
+3a41d34e2c39cdfa05f1e4a7ebdd3586e69c6ccc4847e086052dc7d6cd4d8302
+c34f4f0402daf9549bdd83c24c44a68cc2e0c2635686c6e49ed8bd5675749650
+a79e40588f4315fdb9c187fa7b4956151b7123f36937b06fd147eb8d51a8eeac
+5461441d24afbadc7922cfc237823efff1a3e742b336e84702189c648ab7078d
+6097d8fd5f3baec947d63912156478662aeda72a501c747a325d1227cd4093ff
+e9a931367dde46d65857290ade9dc3d8eb73e7149dacc34c08faa51f9fa39e0c
+13d14be58999496dfde61566e68f83135a0e43cab3cc6395217a0845423210cb
+032c63d56bae68773991e91f186b198105f165723e08f6db39e889ef3f944d33
+9886c0c6ed8e41c20c0743864a50d37c281abf47fba6d08728aa21a833f22aea
+d0bc38d211caf58d44d01e10c2da4065a3082e562e82e3f1def28b5fbab1e93c
+c3716256b98ce87e4dde9e93622e5ddce60981e89ad0d70d0fa8b1638f4c12ee
+82a601073f84ccd47b631781ef34da22b5cd35023f23c6fff02973f993d7457e
+fe579da64d7110867d6fabe6b41b97e9e711369232f98cac9975d56d69cfc985
+30e76ecfa380311854170f98cc43596a3d4019d08c25e59dbc3eb850e026cd48
+4644353c125e38f199b22ccf0a502d675d5e0be2a4df28ea88c3ca6b939b4b19
+e81ab728d3e44648830f0ccaac81f705d098c127f07f56ca8550ceb827722d04
+6ce419a2504d8d6740cf9ccb5d079f1086dff76bcef4bd20e854eed00bce0858
+522818c8ebae755857d51961a9c61ab5367445b621562c645664f6df9f63a212
+46ca26d21aeb97ab2b271003d5734719358b16d2af5cbc1799c88b899e3c964c
+453e53de23d02bd3137cc0c1f07470d8ffea99d6a27e835ac56c977c149dfd13
+de3c0c328f8edd67c1f95953b9892e0147a245ee0d4e5912c7eba0b810c0667b
+17b545543b0662d53be35c26192356522fd7db85df65e5db4d6573b6c0c0f5da
+3747e6fd6c4a041525f7e48b56ae420995938a2229c967e98c8256c28f3a99b0
+739f75f0f1d250db34ecd7abcf25b86e6b94de40d033d99710fa654fafc2adf0
+118f750a07aea2c94f205cbd091eb2a3bbbff77253122f179395e088c6b7a9f0
+6ad421055622a1cc0538e8b3f03c4dec14746a49b2a19bb161ef7d5da64a4562
+e3a0ad91e4ad5a052d74c1473febc4f186cd6b73d48a895e8bbba44657d00663
+d5e76686f65a7ddc45ab8194be9fcd289e170994d8f17d4847080ec3f0fc36f8
+11035bde3970e330f1b654034faf87b01b9981330b3513c2f32e13a280b52c92
+449525bd879f684edc107a40c02da468ede54c9bf7ae72d4c314563e55d9d194
+96d0f80472b2f3c8398700bee642314f87fcee7e0fb9e4500fc980e0a9f755c7
+1cd9afe4b3946aa06d2ae458ea77080c3308f65bfa253674be7182dea45a8d2c
+029a570cb3914f7c7cd0cf31f9b537b4f2f7cf918c5e82c6ab36f65ac444ce93
+5e1d14f413c2c005ce388ef8175d7c8e7bfd68640c650385b646fd00dbdfbb9e
+0ec83d93f7ddd486a358a8493a4327d11568d3145b52cfbd0bd5b4d7def67990
+6fe1297a16908e16b9de0a13986d5ebf4f829c4de8eeab729480c1372c0b85c4
+62d02d8e6bb0c45fb26e4d82f0152eea9b745e1c20e478ea50110efdc5bf0164
+a678ecf71278fb2bf0c8a53a99ec0f46029eaff9229108234fa1624b5e33f927
+2a232f64acd955839b942f8f8cd3f3e3871a443f685149bc5ad0083f6baf20c1
+4025309173788aab5568160b31e7f7ab6f10f4033345656fe958613d626e8ab7
+091aae62e2150d7f854d5740f601c0756b4d04a2f4ced1f833042b4ea609a051
+defe8aed847795cacc657c5dde3331323d5f21b24154b3b2c991e3da5de77d00
+a4577ccc862f035c10f2c073f85b97fb489a5d5a17d84d9ca133a018a22788ef
+86afd7c1c8952eadc6cf5139605b19df95546e90a839440d56ea29625d57eba8
+0472486cae74bd099198ab8619cbb6fcd652774b0a97806f5f83f6e8a109eeca
+85cc7bfd19ae0cf27336e00d98d130f932be9752cbb97a14a44fc6407b286744
+ff893a26ede2d28c6d5a2c2369388cd6a23bf8e102d7014b3944afea96cbe037
+35db0e6e4922d4c5b2b6add56d317f3532fc50a410cf19be859075abe70ed195
+996f9b9afc7b1f3b1a5d1602fc6d55d5171ccc345e28040625e4fabb28699011
+6ff9dfdbbbd193d503d5ff027b0f4a3b124f2e0a1e428379ac6fecfa313fd135
+a6f38da32b37b3d6b877e5148b55aa40567b78d69bfc59681acf8c871507eb03
+518650eeac7270883e7003ab9ca8a2e531516c309c31f67a059349b0f603f584
+c6d91770ded8a825c6f759cb3128bb928cb1e671c1684cfa153a41e6e775ebdf
+54f25d11865ad5972e8bf3193fa4044fa618bfb88b621420c86a5a30b4716fea
+a63197c6081bb1f324605d018e8c63753fab6f972670cbaa9a4946b9c20fa42c
+6e52c9751654a3cd885fd9efe11600771861ae0d026fe0dbe642b073c91036ae
+eecfaa08a7d85983eb13828c3903c532c0829802ff8b45e64e39079f65a5b84f
+f91b65688eb31e6d5fc58cadc44319885bda8d78db2aab9fc4a268e3397d12d5
+1ca0ffc79929344f97a6201c01a183d2c0c2702049048205649b91a784c7095b
+8630b00c1ee0af742945873049981540863fe38a4e57cfc8647c85c069296284
+599f169506c9df019471e0ca8fbc9abf7d1af1dcec4802e72bfb1d16138585e4
+51918e0c421966a52ac29c21aa3822870959543691460c52ee43517b8588c365
+888921e4560d3e28f72358325197f09baea07fccf9d10b238659be645e0bcdd5
+e76534b21b52941a1e48267faae6abd43149987eb5385b44a422c0d6eb37c818
+542c3553452c97e016c26d38a4c0b53ae8b156167a5e11b861b44bc488bb2bb0
+cc652e3a1d12e616a502d1fcf31bfdcead55e2fdffc121ce85f525ba491feb54
+7a3d16d85f65ad30e430dca5c603685abe8484d4c4144f91c5595a3fda9351e1
+7f00eeccfcdb2e0465566192b23a9a78c14d62fdb3b1963c780f6855dd733820
+89094e921ce09784e1f5408c620f6481d300d9fa6f8c23876a49281b0d425090
+497b767614696424dcecad04f0767bb7601b99dd3bc5cc14d2dd77c09101fbd3
+b6e725e5c68ba66a5a371fd6f3ca6351ef075645a3c03492f7fbfa225a5f3e01
+b962177026d94e845953d5781064633edc41fcfed874e011304723a52fe8ebe5
+d6efc5e69b9edf735067ba2d3ef221ee6244034df2469afb6056dba877ca9850
+d4e20ce756a79a38e74b356019de03ca6651e54d1523e12ba9d9dd8e44dae7a9
+20eba8784607fd0eaeb0b456bad6e739e264aa0a3f4d5cc5584e072cfc8e0a2b
+949b4102d14fe3bbcd7ded2405718b0a7cd41deff91bd415340d6de94797c53c
+d734d14a11be9fd9de57cc35175f24913e96f95315ad3c66ee102176e59a3b66
+9c0b992d1b6c3cc131b33119eca4fae72f7553cb977dcffbd5ea29728ac5a645
+eaab33042a0ad86e8b28fbdf79325e28c3801cd0f9d8a2b563aaebcebfc6540a
+3ea351caa601ba8e5c5bfed770d61d7366f96d6bcde2db981b51e38ba35237ea
+d55fa9c1cc2b3381131c1dbb39ddd7229d06e4b9d203d066666c8ad6aaa1a6df
+0d346f843205c41a95f72df3027c9e6486a0088f8f8e7c9ef820e2e80766fc70
+6c4df71ba5801863b29a917a16abcd824d9a94c9081208685f8a4398004d8afa
+25087ba3fc81dceed46b7d6fc92d3b9557514899c5c97114ed722616b477ccfe
+4f4e1faba32e6a24a091a7a1067628ecc8c421f8a967c6e0136a9c23ef642100
+eb91c300975d6dc2c09da077e24fed0aeaf2876b91d0db63c4e347afd558f613
+44eafd38df995bd98fcb720ce19023c26e0b1157e299e18d13fc7715bc1141d4
+49f05fc6bf234ab5af157696a354495e45a818f41a007e601b49500e7554695a
+4c21c8f6fb67d7b81379f6d3abff7b059f277e48c0291852c6af3e9d412526e6
+b23653e0283af4ff8f06503ef135f552270f04d735cc21fbaa059025e7e32cc7
+f03bdc406a167be87ce1442f285aba9aab9f4ff91daed0f04eadcc8e98a6ef67
+0263a76e5b77baf65f979e202658c06d0deaa83aeb577e4872a916a87b8aad9e
+9c9b22630d3b3b95b790f11f83bc6a52497a7c03264d70f55b6ee2ecf4f5af13
+d45df4bcefc85437ad3d9b78e565e3dadc353e972fc21ba6f8ce701cb9c1aae6
+5b2ffd89d65075bd6a5ae8f195d13165969e08c20a6143efa43a31963e81805b
+584f93e1957713065d371abeef4ade6c3c024f37bcb2cc00895252332325359e
+6f7425665f46bf49ed14cbdd14a659876670d962d36aab38e75c47db93978cc7
+c30e5e33185c437cfc260caa8c3af8a0fe39d955fe41a89344db01f0f33632b5
+71832eff64ed70de8b5dcf90e73e908b274441d7e34e14381c6a88bf71db2703
+8b3037bcd5eb5a4a1c9b6067d2874b898c95dee5b114c10528dd3cd04d412719
+0405f89ad7461b66eac5bb976c6eb433a43db8847ab105a9d6e004c1d08e17ec
+c402862aeba56fa63297c5dab64a0f3dba016a5af5c761de36c9bdf0b375c0bd
+6fd3c0fa3787e362103c3f96d6d1bca0fe0b3fa33c034f472204cef2949742fa
+5b973d21b8af8e7c1ede70cb40860f7a58ac12a7709be24ba724166770215440
+b0dd64dbe6af369ec9fc0d82e3c7a597884e4330109ab7631b8f8a62f0ce7dc1
+7c9919d55bd997497b66e4089b640ada46e454b4cd90a45a5805eda36ec5db69
+ca53cd3380d2f59c9cc4c6d52139cc33324161adabcf2eb44cfce47ba893bd4a
+53d4480118c1ba64436d3771ded3182b2de8306237012aea5d5a2995abcbc097
+e7535e259053c58c8de2a6c7c8d21ad6feec5907c2f6783541c68d00be43776a
+8e766d72a8fa8123d819d38f1f53f36bd48adcc6f7a1455cc87453f96e550903
+df9b819196a27061facc772b773dbd1444c37d3136a0d3158d79e98a70e8e030
+dbaa42c202db2c0f8b03687f3d48b0f1783124024a5ebc0433990b1591459766
+cbeaadebafa313226d839697f97e14cad664856368583b3e2e79609cac4c81af
+e602dd4200cfa43fda4f1e48d68b13f27533ab9f3fd05a0143378b81d7e5bc77
+eb8829d3d4e896af1c31ae42d39bc60f687306a10107727c8fc2fb98ad61af9b
+7808b6afccd125519cc4f98828e53ac23388ffa188e885c64a97439cabfeeaca
+48453cf4c6ac118ff667c21300d1c1ed5fef10e03f22e69e36248e476519a677
+fd224e37ac95fa3d9aeea5b2482da91aec2f5e7a2b57a84ec7ec8699fc658175
+7cfc8ed6bab56242725f615304b3cc39c20e8dd67136f864ad32605b0ea9ab0d
+3662bb1ec7e317684a5a6afd8c3e83358db1392bdfb53dcb2d1624ba8772f701
+a3626967c0a543a4b01d70aadea4d1c2c86383c6eb9a722a6c833c0c5f7e92ef
+d67ff6bb9fc72a9933a446ac965c26c72ab279c5755890d21a9dd9f3862582bd
+b1d9ccd1963a21bacd4be17d03819ab523f4473b20a87f120dcef914c72144e3
+50ac33a94859de19fc1c45816ba504646b8b53410dedf6f2b1dd9b2f0b274901
+3aeba319bc7d2e1adc99cbcff5d5ca41baf982ab06c3741fdde91b5ae8601be0
+a690a8848d30eb1727351734daa8ec8fc416bb425309b1232d290ad42ab8d970
+62812696531e1a5f6f87844f9ad9fe0cc660a7c4bb1f7c2d37ac95214fe2cb45
+37f763691698dfc6cb42aee39ca3e37910a5caa4bbc93b20d7565936223f79d7
+77d14971397338d791989bdd842a25eb4747a45fb3d0d853000205301a799d0f
+1a597a34fad9c47ba0c27a82251b4d460f1de01fd0066bef08e4e6139412f5f7
+b46ca9c6fc7b5e1bff8f5a24498699cc168b419278a41f5eb1845b41a298cda7
+e237d3b149ebc1ebb02c33433c0cc8043bee875475cc389dfdb141fa31a67c9b
+97f2bd9afcdcbd16b0682b3da7c3fe91ce83fa0eee07e155dbbafa26ff706798
+c07bc149d963c31bd8b3d9736a21d45d5d7761f6d93111a10b978b32a00b6593
+4ad2e4df3c2979ce6179aaa50a28348d3fd1743d482c16a2538eaaa17f6894fe
+a19a21411ac73ff779f355ae9fca182a55d43f1080a60721ec087738c87987c4
+699e24c19172afdf0461ef5d75820f2957bf75b1b396bf2a5462c7be537e67d2
+8ddeb130863434670c75b36878888a430846e1f6565c9f0f529ad4e5d2386dc6
+1f9fb0f4782a802c853cf5830763f5b9df5d77c5c3fef77c14fa64b966573237
+b911aa353738e3ce2683d5a4612ddce6c8f50cd2c0b11912b7b09cb60590ea9b
+25dad41363a82751aff5a9da8e1fb9643a84f3701b518b059e935a3199685c4b
+f2afa07980ad93fcc6e7733a7c1cdb6d9ea9756eb985041297452d74381a609b
+b8c3f9cc4c7b9ad09e57753602e856b5511cda7b0c9a5e0fbab6c9ef7d7e8d67
+51760312ba04d771974ce5b6c18d9de0d4bf76d5e5b6cd7c3706f94693215165
+881bf682231eb90cb99794177468d89877475bd1510e117d5f845f26fa303762
+c92c2ced4c73a82afeedb275f48fb2cbbee350511004a58efd38e7002e91260e
+40f0792b73dbc2158d542146aac2b860479bf6046c7e0e4edc26090205846fc8
+e333cc60a4aa3990290508b400fb02f09560be4f200d272c713ba3b615e2b40b
+9552cd70a67a098edf6f1bc4ea86732f1fcc762f513a1a004d39c1dd6d8d0650
+24ad72b147c850945b7bfb29e830d4ef2e84d694422f1c89bc34ee502aca300d
+f3c5a3e0ff8359668b11ea33ce14ef62cca8e2dfb8e5ab68d96a9a2552bf53af
+81e78c84d96f3b1eda14e19ac07e75e3d3e5454200592a259bc950ccb398dc20
+862141083a5190c1b2cb0aa0d8d3e8a5a3b21004fd002040c4b3ea35de14ccc1
+ccd679d99308409a138c1ec129a71a1bb1443d1754f4763765b6409e8280e25b
+5965f444cbb2a6b78bf8541250b992e39d0a4c14ed92c7b9ca642ec4002946f5
+93ae24cc194f41357a86b418c8451b342860441b9d2e33c7f8a81ecfc0e5630d
+23ee1fe752b2536ca59253c97aa18712f73f2b0335eeb0c2a26cbd98eedc669e
+938831427718070324999284196cdbae8f16946b2bbf2b9f2a8e0a5928447383
+1de3315a2dc0ae872b1036a8040d9c2a0c77a6c0c473c293ab7e19837fd227b3
+52e8bf1bc817c76412f1d6abd47d809e989b3b2f89285d2693824df3191a6d1b
+c8c9853f2bf81b8c96607a02b31d23d7495a590cf3f96d7328c4fd74452dc16c
+2818512abf981c423d146e9d7a46bf2ef32a98dda4f6695f42532fabb8abba65
+de15bf69090b724a247fcdfefd6f1a83cc35a049d3324bd39816f4ee13a5a38d
+a73a3c3fb031daf9bf78fde0f8f6bdd0e897a3b24e090b54a955b232b2258e5f
+2bfbfbe13db81f6abd243d73e3ff7d5d21527541ce6258732e85baddc7e56dc1
+ae4b2bdead6d8de14b406a7234ab0c0fb1b6f129a7877adb864cfe9abef498ea
+89232ee6639c0cea4dbd515a7a09aafbe65d04ec923e1200fcce3a2f684c07f2
+02273eb6a93f7ae0771e7115385296132be25b258f67273c5a0f28f98627abf7
+7751b7860e123e4a4e70422114eafe03c2606f854588ef418312650f11393ea1
+5bfa6337b955355a183573948398e4438b3e13fc83a36f2d86cca04e6787f6a0
+b29bfbb9aba924f37f5174e3ee892d16102d37b14d7743d9725ac7367217425c
+f6263f30097ef995d81458db1357305c6044d6e490d9631e9ee456db83af1d45
+4176174c786a03a7771b02c10daa800cfa6819f878c871f0b3230e5aeb87d8e9
+b5d0e701fc2dd78a2ef5f9e3f0e060eeafc7ebeb813d13d4d77f1130256ceda9
+4dd73b6e7b423d7f4c0c55f3491bbf6153b106b1316b9eb2ce72b263f05fda15
+0b748d74b05f238982702f9564fb43259e9fd1f77d753f7a9bee8d81b2ea2d5b
+abfa686d76582857a1a2338a5f8c2733728fdd4adffcc90331d2670c260111b7
+6369299e8f79a9570d277107c81fbd22faf23d821471f8359f13980f282516b7
+800ba8ecbac26e646e401a4d7a644fc3851749c5d19a915fb046bc40de6256a2
+4184d666de6f54e6855060071896eea3338fbea7771f129a449e5bbb498f5edf
+7dfb723d4838d670b76ae2842b726e757d534c24ebc471588ea38760f07b59c9
+af9649132871a23ce328acfee7f583f7ff0486e07187a3d4942aaa9e6a38c615
+43299873ae9c902dc5777ef58d396b5feb718509da30302ca268a9fe75e8343e
+a5f4da3a39445369280cfca5442939a61f82f24b15bfc71d2e1b2880df011732
+32527227875329ab6069618cde196f153e7ec3b1dc5fa627ed4f49a43550d02c
+dd80cfc131d86dfd6ef64530f16be3c08b2fe804ba2c8b8ef512bac05420f780
+9507cdc6aedbfa690c85a1bee6f424799dd0407f40e90051ce3d6b1020719e05
+9187a78047533060ed3426bb7c314b179b608fdb19f181e4cf616e0eb850c408
+85f2e1d9c5afa60dd6480166d7b227b731c8491237112df20561ef85e4a3d207
+4bf8ba61da1e50699e9f9aba612c8a9a536cfaf7c9137b08aeee41148f96118a
+43a901722f64a6457937eb18f9733fc353987b8e1fb9da5ec6c7229dad8d0456
+54bcf4426f7148ef1942cd42954a8e5e5767ddd899f178f6f2443b93be25d5d6
+1b9c06e68d653ba56f1506a88f9439a896b3f604880099548ab0dbc39b26237d
+d1bbf9c1858716d858b94377708b44d800b95f77ba4f63577d1758719e208c1d
+4757e53eec9ad4e1919e197b4507d1d43355c142e91c3d4d80064fa7fd5a85d7
+c08f43cdb63e507726b4378853d6ad68ecc29592eef5a8b72869a2164552ae62
+2f3f02dfa6cc2b5452898943fb90521daee4b1679df0d385b9ff15c9ac6c120b
+30626415ed3415d06608b8b182f3efd579a539771a2af421119c43a5444f187b
+55fb3b8668eafbcb63b919a2e2152aaa0d62613c37ca5002c6daea891411cb46
+d58d815d7f231678185a0ea2b59ceb1030a8a9959f3426a666352ce86ddb3422
+0f43b9f0695747f65b5c7d0c0bdaf97f76a67c396f24f5c3d277a375744310a9
+f09dbe9f4501739523f301d94e6519029352ff5c1cced0d6dd89af38c49d8fdf
+adbfc0baf374d259404ce7bfd2bf94a09a02e3463ab9c6d975190944acde8589
+4ca4537a35ae86e26af1bd5e5bb7c7d24e671bd182153a5022047bd8c138016a
+a85f3b7b62bfdbc06ae4dbe5e37528d6c6432b3db333a1347a09838c17b5de1b
+2f9570c33e7580978d48effc18fa8e0fec834076990e0d4b8abaa2c336408011
+53c5ffc858524015d49008574cf40c060b751c67395e8d39952b5514463241e8
+aca46f92701b889780db90362ca74b5d13c5f9d3362a0b53d2dbaac2c54836e4
+e42422aa713a20a5124ee36b353631a3933a5bbe368b0c4fd93aac08fdbdd557
+59778a0b7ff59a185e2f9162c0ab4ce98bd37fdc7a85dddcddc3d5eba6020166
+8eda23e041e6920b10912d251171fd3fa5bdbeae378e996d039c7b07bc4aca72
+e81625f6f816a2bb469d2458518988aaddceb796926d796673c030554e7046b0
+0cd49f488394682075dcd5dd193fbfd068636c9daf09f6eda12a326c0bef9abc
+11578c932adf74009a4fb22ff201377253262e144366c9f9c140db1fc3074434
+87b103b07a68a869b23a613b0c69f687632f9a89bd1e3c9bb4bcb6b0b4bebb49
+8518f577692d8292730c3e761eb113bfd398b6f4f6e9aadee2f1baabd2cfef83
+de4e0924b35836bd53198fee5eeeed8aa2c15c5117f242ca04ddaf1ffc9ae2fb
+41a343b215b005e7267fd653e365a6842bad6be7d97a1df27404ab67126d88bc
+79139d47b3a0ad8f8eb78d4a28a503754513393ce036f6671c1ccc0eab2befee
+6f9d3b5afb869303af5580ea0b3568f8187087aca49310d17dc2e4b626f11ac2
+bca641f79e15101aa92b013dbdea8c4f28357d0fc8bd2cba2678f0058adc282a
+aa1cfcb544f6bef2b2b65488173e6fddb915382a02fd74806fe62fcaad8ca435
+7bd0073647d2809fc510d91b38dd7a964668f72d76d45d3dace0d6383135880d
+1082faf3595d0efb5b3026c0de0b4fe19d4713a8c1b31cbf82b9f4b458c75d74
+3e7731d662b5b78afc79c962a6d73e92bd63dfeccdbfcee8c33cf0f1058dd6ee
+ff9146cf33f535b4fe245110aea3ce3359accd39926187dc760dec775c0db374
+a77f9712be3312264042527b98267aa3cad2c49d0e33aba1d87712bc4ff630f7
+205019eaa70eee3cc1bd3e4c9f91aecdc8d8e1913ac869250c696a060b673c40
+b2d0fc55673c8c262dfdb0a730228c96e5f95a8d01e4559af8ca5bb847d07581
+5bed1aa246387bd73144b416fbe6652933956354c17a975209af6e2aceed8f07
+8e2ab2dd70221bf9b174cbda7cfae19c1313f4d6e0530e40df9c2f752ef81118
+e9cb012af24fe686924a3f5d145cb01942b72be7548f0d3a3ae8455ec4e422e4
+459e5e231be8510628c22295e5ab6226afeffa45b24ecdfeeefb7ef8717869b7
+758296e3249d4610ce84939d8f5a2b3dab176ec4b4e8902b1591099782f306ff
+396a10ba8caaf297123c8c46b8d17cb7f4390c61d4f5ae73e04fe0ea12b2d9ca
+2030cf4ba8d41484a101c9345f9849694ffdcdc3977382c54c4289c58960048a
+45ac803c9a91a2846d4675917b01393c4d8c130c2110a0e3bcf46d79f3ed369d
+19d5cd3be63489816cab5cb1c1eb46cf2550a4fb5ee579152bbd064e38616f6a
+de92f96bc7517596f71b35ee3f176bb07861881c6cb050bef617d19b071fba4c
+909a8a065aa936406c75e4936e9e138348f7321abf5ca3f4df3be8d0486dac3d
+51c41b750a1e41f4004dab3de9ac98b33baab15feedb88c291d71c302adca759
+2e1add8db5a26bde1fadb524588fb8b2971b86c8f31dc72eb3f2e1f3c673bccc
+65c64b2c129b862bcfdad7f3672b4c6b99fc413728a83aa750b15708540a38a0
+598ac513ddbbacae4b22fe4d2ea91b3eccf11bd5209032b3c744275c5dc194d8
+952c4f91dc97ab263685a2c2af2ca0b0043307445ffaba4fc039abd736499882
+51021b0ebf29492634dbc38a677e5bfbdd6716ac11d96de5459de1bdcabd7fc3
+528baf83527ffc7e9257800590cf22d7fbf66e48597e33a39f056c80e8713d73
+94a3eb7b3c65db7e7ca620db7ea44c67cab637c1c5d3606802ee0288ffc575e8
+29e05b312a50f0fee6180d8ac0cf7d0ac87d5c6933f88ab16884e412fb545c48
+c45e60e7e3322e9d1640abecf328ca705ef7f2eff6560f2b39b19354afb51515
+07fe5c904481b7f5201b7bda802357b01755da1d3bfd21d941df316198e652af
+5be4efc5e8d8e14d5ec9e3665881c74f660518b45aced85bf5b313c62e8ccd4a
+9d2d7f32a741dc00fd5f34ac215ac596cbe8b143fa8cc948e52387797268555d
+9a6d454ce1aa5cf8eba620a10483d8099c33520d88fbcaf0e1fb570b037b2bf0
+44acf21d9daee9dbf1b0b311fbbc3505f78ebd7ddbc027a5eca10507216e1963
+2b813b258e61fee6aef63c1570616eaa9f9dae95c212e758ab1e51da1fffdeb2
+79260de737a48f3e1fe5d20475ce1223d006a31b1ddf3182ffa611db5ecd812a
+4dd8a26a
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+cleartomark
+{restore}if
+
+%%EndResource
+/F5_0 /CairoFont-0-0 1 1
+[ /.notdef/d/o/x/y/g/e/n
+ /s/a/r/c/h/t/period/m
+ /l/space/w/i/b/H/T/M
+ /L/p/u/q/.notdef/.notdef/.notdef/.notdef
+ /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef
+ /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef
+ /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef
+ /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef
+ /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef
+ /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef
+ /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef
+ /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef
+ /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef
+ /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef
+ /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef
+ /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef
+ /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef
+ /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef
+ /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef
+ /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef
+ /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef
+ /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef
+ /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef
+ /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef
+ /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef
+ /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef
+ /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef
+ /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef
+ /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef
+ /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef
+ /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef
+ /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef]
+pdfMakeFont
+%%EndSetup
+pdfStartPage
+[] 0 d
+1 i
+0 j
+0 J
+10 M
+1 w
+/DeviceGray {} cs
+[0] sc
+/DeviceGray {} CS
+[0] SC
+false op
+false OP
+{} settransfer
+q
+q
+36 35 105 471 re
+W
+/DeviceRGB {} cs
+[1 1 1] sc
+/DeviceRGB {} CS
+[1 1 1] SC
+1 w
+0 J
+1 j
+[] 0 d
+10 M
+36 35 105 471 re
+f
+36 35 105 471 re
+S
+/DeviceRGB {} CS
+[0 0 0] SC
+119.301 484 m
+119.301 474.059 105.285 466 88 466 c
+70.715 466 56.699 474.059 56.699 484 c
+56.699 493.941 70.715 502 88 502 c
+105.285 502 119.301 493.941 119.301 484 c
+S
+/DeviceRGB {} cs
+[0 0 0] sc
+[1 0 0 1 0 0] Tm
+0 0 Td
+[9.999756 0 0 9.999756 69.5 481.5] Tm
+0 0 Td
+/F5_0 1 Tf
+(\001) 0.556 Tj
+31 TJm
+(\002) 0.556 Tj
+31 TJm
+(\003) 0.5 Tj
+-25 TJm
+(\004) 0.5 Tj
+-25 TJm
+(\005) 0.556 Tj
+31 TJm
+(\006) 0.556 Tj
+31 TJm
+(\007) 0.556 Tj
+/DeviceRGB {} CS
+[0 0 0] SC
+123.25 418 m
+46.75 418 l
+46.75 382 l
+129.25 382 l
+129.25 412 l
+123.25 418 l
+h
+S
+123.25 418 m
+123.25 412 l
+S
+129.25 412 m
+123.25 412 l
+S
+/DeviceRGB {} cs
+[0 0 0] sc
+[1 0 0 1 0 0] Tm
+0 0 Td
+[9.999756 0 0 9.999756 54.5 397.5] Tm
+0 0 Td
+/F5_0 1 Tf
+(\010) 0.5 Tj
+-25 TJm
+(\006) 0.556 Tj
+31 TJm
+(\011) 0.556 Tj
+31 TJm
+(\012) 0.333 Tj
+33 TJm
+(\013) 0.5 Tj
+-25 TJm
+(\014) 0.556 Tj
+31 TJm
+(\001) 0.556 Tj
+31 TJm
+(\011) 0.556 Tj
+31 TJm
+(\015) 0.278 Tj
+-22 TJm
+(\011) 0.556 Tj
+31 TJm
+(\016) 0.278 Tj
+-23 TJm
+(\003) 0.5 Tj
+-25 TJm
+(\017) 0.832 Tj
+8 TJm
+(\020) 0.222 Tj
+/DeviceRGB {} CS
+[0 0 0] SC
+88 465.609 m
+88 454.773 88 440.602 88 428.293 c
+S
+/DeviceRGB {} cs
+[0 0 0] sc
+/DeviceRGB {} CS
+[0 0 0] SC
+91.5 428.082 m
+88 418.082 l
+84.5 428.082 l
+91.5 428.082 l
+h
+f
+91.5 428.082 m
+88 418.082 l
+84.5 428.082 l
+91.5 428.082 l
+h
+S
+/DeviceRGB {} cs
+[0 0 0] sc
+[1 0 0 1 0 0] Tm
+0 0 Td
+[9.999756 0 0 9.999756 88 439.5] Tm
+0 0 Td
+/F5_0 1 Tf
+(\021) 0.278 Tj
+-22 TJm
+(\022) 0.721 Tj
+-28 TJm
+(\012) 0.333 Tj
+33 TJm
+(\023) 0.222 Tj
+-3 TJm
+(\015) 0.278 Tj
+-22 TJm
+(\006) 0.556 Tj
+31 TJm
+(\010) 0.5 Tj
+/DeviceRGB {} CS
+[0 0 0] SC
+128.426 316 m
+128.426 306.059 110.328 298 88 298 c
+65.672 298 47.574 306.059 47.574 316 c
+47.574 325.941 65.672 334 88 334 c
+110.328 334 128.426 325.941 128.426 316 c
+S
+/DeviceRGB {} cs
+[0 0 0] sc
+[1 0 0 1 0 0] Tm
+0 0 Td
+[9.999756 0 0 9.999756 61.5 313.5] Tm
+0 0 Td
+/F5_0 1 Tf
+(\001) 0.556 Tj
+31 TJm
+(\002) 0.556 Tj
+31 TJm
+(\003) 0.5 Tj
+-25 TJm
+(\004) 0.5 Tj
+-25 TJm
+(\023) 0.222 Tj
+-3 TJm
+(\007) 0.556 Tj
+31 TJm
+(\001) 0.556 Tj
+31 TJm
+(\006) 0.556 Tj
+31 TJm
+(\003) 0.5 Tj
+-25 TJm
+(\006) 0.556 Tj
+30 TJm
+(\012) 0.333 Tj
+/DeviceRGB {} CS
+[0 0 0] SC
+122 250 m
+48 250 l
+48 214 l
+128 214 l
+128 244 l
+122 250 l
+h
+S
+122 250 m
+122 244 l
+S
+128 244 m
+122 244 l
+S
+/DeviceRGB {} cs
+[0 0 0] sc
+[1 0 0 1 0 0] Tm
+0 0 Td
+[9.999756 0 0 9.999756 56 229.5] Tm
+0 0 Td
+/F5_0 1 Tf
+(\001) 0.556 Tj
+31 TJm
+(\002) 0.556 Tj
+31 TJm
+(\003) 0.5 Tj
+-25 TJm
+(\004) 0.5 Tj
+-25 TJm
+(\010) 0.5 Tj
+-25 TJm
+(\006) 0.556 Tj
+31 TJm
+(\011) 0.556 Tj
+31 TJm
+(\012) 0.333 Tj
+33 TJm
+(\013) 0.5 Tj
+-25 TJm
+(\014) 0.556 Tj
+31 TJm
+(\016) 0.278 Tj
+-23 TJm
+(\001) 0.556 Tj
+31 TJm
+(\024) 0.556 Tj
+/DeviceRGB {} CS
+[0 0 0] SC
+88 297.609 m
+88 286.773 88 272.602 88 260.293 c
+S
+/DeviceRGB {} cs
+[0 0 0] sc
+/DeviceRGB {} CS
+[0 0 0] SC
+91.5 260.082 m
+88 250.082 l
+84.5 260.082 l
+91.5 260.082 l
+h
+f
+91.5 260.082 m
+88 250.082 l
+84.5 260.082 l
+91.5 260.082 l
+h
+S
+/DeviceRGB {} cs
+[0 0 0] sc
+[1 0 0 1 0 0] Tm
+0 0 Td
+[9.999756 0 0 9.999756 88 271.5] Tm
+0 0 Td
+/F5_0 1 Tf
+(\021) 0.278 Tj
+-22 TJm
+(\022) 0.721 Tj
+-28 TJm
+(\012) 0.333 Tj
+33 TJm
+(\023) 0.222 Tj
+-3 TJm
+(\015) 0.278 Tj
+-22 TJm
+(\006) 0.556 Tj
+31 TJm
+(\010) 0.5 Tj
+/DeviceRGB {} CS
+[0 0 0] SC
+136.289 148 m
+136.289 138.059 114.672 130 88 130 c
+61.328 130 39.711 138.059 39.711 148 c
+39.711 157.941 61.328 166 88 166 c
+114.672 166 136.289 157.941 136.289 148 c
+S
+/DeviceRGB {} cs
+[0 0 0] sc
+[1 0 0 1 0 0] Tm
+0 0 Td
+[9.999756 0 0 9.999756 54.5 145.5] Tm
+0 0 Td
+/F5_0 1 Tf
+(\001) 0.556 Tj
+31 TJm
+(\002) 0.556 Tj
+31 TJm
+(\003) 0.5 Tj
+-25 TJm
+(\004) 0.5 Tj
+-25 TJm
+(\010) 0.5 Tj
+-25 TJm
+(\006) 0.556 Tj
+31 TJm
+(\011) 0.556 Tj
+31 TJm
+(\012) 0.333 Tj
+33 TJm
+(\013) 0.5 Tj
+-25 TJm
+(\014) 0.556 Tj
+31 TJm
+(\016) 0.278 Tj
+-23 TJm
+(\013) 0.5 Tj
+-25 TJm
+(\005) 0.556 Tj
+31 TJm
+(\023) 0.222 Tj
+/DeviceRGB {} CS
+[0 0 0] SC
+136.125 61 m
+136.125 49.164 114.578 39.57 88 39.57 c
+61.422 39.57 39.875 49.164 39.875 61 c
+39.875 72.836 61.422 82.43 88 82.43 c
+114.578 82.43 136.125 72.836 136.125 61 c
+S
+/DeviceRGB {} cs
+[0 0 0] sc
+[1 0 0 1 0 0] Tm
+0 0 Td
+[9.999756 0 0 9.999756 62 64] Tm
+0 0 Td
+/F5_0 1 Tf
+(\025) 0.721 Tj
+-28 TJm
+(\026) 0.61 Tj
+11 TJm
+(\027) 0.832 Tj
+8 TJm
+(\030) 0.556 Tj
+31 TJm
+(\021) 0.278 Tj
+-22 TJm
+(\031) 0.556 Tj
+31 TJm
+(\011) 0.556 Tj
+31 TJm
+(\005) 0.556 Tj
+31 TJm
+(\006) 0.556 Tj
+0.300007 -1.100027 Td
+(\023) 0.222 Tj
+-3 TJm
+(\007) 0.556 Tj
+31 TJm
+(\021) 0.278 Tj
+-22 TJm
+(\024) 0.556 Tj
+31 TJm
+(\012) 0.333 Tj
+33 TJm
+(\002) 0.556 Tj
+31 TJm
+(\022) 0.721 Tj
+-28 TJm
+(\010) 0.5 Tj
+-25 TJm
+(\006) 0.556 Tj
+31 TJm
+(\012) 0.333 Tj
+/DeviceRGB {} CS
+[0 0 0] SC
+65.395 131.844 m
+55.582 123.238 47.281 111.84 52 100 c
+53.711 95.703 56.164 91.617 58.996 87.82 c
+S
+/DeviceRGB {} cs
+[0 0 0] sc
+/DeviceRGB {} CS
+[0 0 0] SC
+61.828 89.895 m
+65.66 80.02 l
+56.504 85.348 l
+61.828 89.895 l
+h
+f
+61.828 89.895 m
+65.66 80.02 l
+56.504 85.348 l
+61.828 89.895 l
+h
+S
+/DeviceRGB {} cs
+[0 0 0] sc
+[1 0 0 1 0 0] Tm
+0 0 Td
+[9.999756 0 0 9.999756 52 103.5] Tm
+0 0 Td
+/F5_0 1 Tf
+(\021) 0.278 Tj
+-22 TJm
+(\005) 0.556 Tj
+31 TJm
+(\006) 0.556 Tj
+31 TJm
+(\015) 0.278 Tj
+-22 TJm
+(\021) 0.278 Tj
+-22 TJm
+(\012) 0.333 Tj
+33 TJm
+(\006) 0.556 Tj
+31 TJm
+(\010) 0.5 Tj
+-25 TJm
+(\032) 0.556 Tj
+31 TJm
+(\020) 0.222 Tj
+-3 TJm
+(\015) 0.278 Tj
+-22 TJm
+(\010) 0.5 Tj
+-25 TJm
+(\021) 0.278 Tj
+/DeviceRGB {} CS
+[0 0 0] SC
+99.348 81.715 m
+103.281 90.82 106.211 101.848 104 112 c
+103.375 114.875 102.488 117.801 101.453 120.668 c
+S
+/DeviceRGB {} cs
+[0 0 0] sc
+/DeviceRGB {} CS
+[0 0 0] SC
+98.152 119.488 m
+97.508 130.062 l
+104.605 122.199 l
+98.152 119.488 l
+h
+f
+98.152 119.488 m
+97.508 130.062 l
+104.605 122.199 l
+98.152 119.488 l
+h
+S
+/DeviceRGB {} cs
+[0 0 0] sc
+[1 0 0 1 0 0] Tm
+0 0 Td
+[9.999756 0 0 9.999756 104 103.5] Tm
+0 0 Td
+/F5_0 1 Tf
+(\021) 0.278 Tj
+-22 TJm
+(\033) 0.556 Tj
+31 TJm
+(\032) 0.556 Tj
+31 TJm
+(\006) 0.556 Tj
+31 TJm
+(\012) 0.333 Tj
+33 TJm
+(\004) 0.5 Tj
+-25 TJm
+(\021) 0.278 Tj
+/DeviceRGB {} CS
+[0 0 0] SC
+88 381.609 m
+88 370.773 88 356.602 88 344.293 c
+S
+/DeviceRGB {} cs
+[0 0 0] sc
+/DeviceRGB {} CS
+[0 0 0] SC
+91.5 344.082 m
+88 334.082 l
+84.5 344.082 l
+91.5 344.082 l
+h
+f
+91.5 344.082 m
+88 334.082 l
+84.5 344.082 l
+91.5 344.082 l
+h
+S
+/DeviceRGB {} cs
+[0 0 0] sc
+[1 0 0 1 0 0] Tm
+0 0 Td
+[9.999756 0 0 9.999756 88 355.5] Tm
+0 0 Td
+/F5_0 1 Tf
+(\021) 0.278 Tj
+-22 TJm
+(\012) 0.333 Tj
+33 TJm
+(\006) 0.556 Tj
+31 TJm
+(\011) 0.556 Tj
+31 TJm
+(\001) 0.556 Tj
+31 TJm
+(\010) 0.5 Tj
+/DeviceRGB {} CS
+[0 0 0] SC
+88 213.609 m
+88 202.773 88 188.602 88 176.293 c
+S
+/DeviceRGB {} cs
+[0 0 0] sc
+/DeviceRGB {} CS
+[0 0 0] SC
+91.5 176.082 m
+88 166.082 l
+84.5 176.082 l
+91.5 176.082 l
+h
+f
+91.5 176.082 m
+88 166.082 l
+84.5 176.082 l
+91.5 176.082 l
+h
+S
+/DeviceRGB {} cs
+[0 0 0] sc
+[1 0 0 1 0 0] Tm
+0 0 Td
+[9.999756 0 0 9.999756 88 187.5] Tm
+0 0 Td
+/F5_0 1 Tf
+(\021) 0.278 Tj
+-22 TJm
+(\012) 0.333 Tj
+33 TJm
+(\006) 0.556 Tj
+31 TJm
+(\011) 0.556 Tj
+31 TJm
+(\001) 0.556 Tj
+31 TJm
+(\010) 0.5 Tj
+Q
+Q
+showpage
+%%PageTrailer
+pdfEndPage
+%%Trailer
+end
+%%DocumentSuppliedResources:
+%%+ font CairoFont-0-0
+%%EOF
diff --git a/doc/extsearch_flow.png b/doc/extsearch_flow.png
new file mode 100644
index 0000000..e99450c
--- /dev/null
+++ b/doc/extsearch_flow.png
Binary files differ
diff --git a/doc/faq.doc b/doc/faq.doc
index 0475aa7..8e5d049 100644
--- a/doc/faq.doc
+++ b/doc/faq.doc
@@ -2,7 +2,7 @@
*
*
*
- * Copyright (C) 1997-2012 by Dimitri van Heesch.
+ * Copyright (C) 1997-2013 by Dimitri van Heesch.
*
* Permission to use, copy, modify, and distribute this software and its
* documentation under the terms of the GNU General Public License is hereby
diff --git a/doc/features.doc b/doc/features.doc
index 46a6219..aa106f3 100644
--- a/doc/features.doc
+++ b/doc/features.doc
@@ -2,7 +2,7 @@
*
*
*
- * Copyright (C) 1997-2012 by Dimitri van Heesch.
+ * Copyright (C) 1997-2013 by Dimitri van Heesch.
*
* Permission to use, copy, modify, and distribute this software and its
* documentation under the terms of the GNU General Public License is hereby
diff --git a/doc/formulas.doc b/doc/formulas.doc
index bc23a11..ddae9ef 100644
--- a/doc/formulas.doc
+++ b/doc/formulas.doc
@@ -2,7 +2,7 @@
*
*
*
- * Copyright (C) 1997-2012 by Dimitri van Heesch.
+ * Copyright (C) 1997-2013 by Dimitri van Heesch.
*
* Permission to use, copy, modify, and distribute this software and its
* documentation under the terms of the GNU General Public License is hereby
diff --git a/doc/grouping.doc b/doc/grouping.doc
index 56f19f7..c6b40dc 100644
--- a/doc/grouping.doc
+++ b/doc/grouping.doc
@@ -2,7 +2,7 @@
*
*
*
- * Copyright (C) 1997-2012 by Dimitri van Heesch.
+ * Copyright (C) 1997-2013 by Dimitri van Heesch.
*
* Permission to use, copy, modify, and distribute this software and its
* documentation under the terms of the GNU General Public License is hereby
diff --git a/doc/htmlcmds.doc b/doc/htmlcmds.doc
index db3c6f3..e2a9514 100644
--- a/doc/htmlcmds.doc
+++ b/doc/htmlcmds.doc
@@ -2,7 +2,7 @@
*
*
*
- * Copyright (C) 1997-2012 by Dimitri van Heesch.
+ * Copyright (C) 1997-2013 by Dimitri van Heesch.
*
* Permission to use, copy, modify, and distribute this software and its
* documentation under the terms of the GNU General Public License is hereby
diff --git a/doc/index.doc b/doc/index.doc
index 3b2947d..03c6456 100644
--- a/doc/index.doc
+++ b/doc/index.doc
@@ -2,7 +2,7 @@
*
*
*
- * Copyright (C) 1997-2012 by Dimitri van Heesch.
+ * Copyright (C) 1997-2013 by Dimitri van Heesch.
*
* Permission to use, copy, modify, and distribute this software and its
* documentation under the terms of the GNU General Public License is hereby
@@ -14,7 +14,9 @@
* input used in their production; they are not affected by this license.
*
*/
-/*! \mainpage Doxygen Manual
+/*!
+\mainpage
+<!--Doxygen Manual-->
\if logo_on
<center>
\htmlonly
@@ -25,10 +27,12 @@ Version: $(VERSION)
\endif
<h2>Introduction</h2>
-Doxygen is a documentation system for C++, C, Java, Objective-C, Python, IDL
-(Corba and Microsoft flavors), Fortran, VHDL, PHP, C#, and to some extent D.
+Doxygen is the de facto standard tool for generating documentation from
+annotated C++ sources, but it also supports other popular programming
+languages such as C, Objective-C, C#, PHP, Java, Python, IDL
+(Corba and Microsoft flavors), Fortran, VHDL, Tcl, and to some extent D.
-It can help you in three ways:
+Doxygen can help you in three ways:
<ol>
<li> It can generate an on-line documentation browser (in HTML) and/or an
off-line reference manual (in \f$\mbox{\LaTeX}\f$) from a set
@@ -41,20 +45,19 @@ It can help you in three ways:
<li> You can \ref extract_all "configure" doxygen to extract the code structure
from undocumented source files. This is very useful to quickly
find your way in large source distributions.
- You can also visualize the relations between the various elements
+ Doxygen can also visualize the relations between the various elements
by means of include dependency graphs, inheritance diagrams,
and collaboration diagrams, which are all generated automatically.
<li> You can also use doxygen for creating normal documentation (as I did
- for this manual).
+ for the doxygen user manual and web-site).
</ol>
-Doxygen is developed under <a href="http://www.linux.org">Linux</a>
-and Mac OS X, but is set-up to be highly portable. As a result, it
-runs on most other Unix flavors as well. Furthermore, executables for
-Windows are available.
+Doxygen is developed under Mac OS X and Linux, but is set-up to be highly
+portable. As a result, it runs on most other Unix flavors as well.
+Furthermore, executables for Windows are available.
-\n This manual is divided into three parts, each of which is divided into several
-sections.
+\n
+This manual is divided into three parts, each of which is divided into several sections.
The first part forms a user manual:
<ul>
@@ -115,7 +118,7 @@ The third part provides information for developers:
\addindex license
\addindex GPL
-Copyright &copy; 1997-2012 by
+Copyright &copy; 1997-2013 by
<a href="mailto:dimitri@stack.nl">Dimitri van Heesch</a>.<p>
Permission to use, copy, modify, and distribute this software and its
@@ -153,21 +156,6 @@ list of projects that use doxygen (see {\tt http://www.doxygen.org/projects.html
If you know other projects, let <a href="mailto:dimitri@stack.nl?subject=New%20project%20using%20Doxygen">me</a>
know and I'll add them.
-<h2>Commercial Support</h2>
-
-I'm currently investigating the possibilities of providing
-commercial support for doxygen. The forms of support I'm thinking of
-are:
-<ul>
-<li>implementing features,
-<li>fixing bugs,
-<li>providing priority help in answering questions.
-</ul>
-To get a better understanding of the feasibility,
-please let <a href="mailto:dimitri@stack.nl?subject=Doxygen%20Commercial%20Support">me</a> know if you
-have a need for this type (or another type)
-of doxygen related commercial support.
-
<h2>Future work</h2>
Although doxygen is successfully used by large number of companies and
open source projects already, there is always room for improvement.
diff --git a/doc/install.doc b/doc/install.doc
index 4622065..bbc0d13 100644
--- a/doc/install.doc
+++ b/doc/install.doc
@@ -2,7 +2,7 @@
*
*
*
- * Copyright (C) 1997-2012 by Dimitri van Heesch.
+ * Copyright (C) 1997-2013 by Dimitri van Heesch.
*
* Permission to use, copy, modify, and distribute this software and its
* documentation under the terms of the GNU General Public License is hereby
diff --git a/doc/language.doc b/doc/language.doc
index b0e2ffc..2793d66 100644
--- a/doc/language.doc
+++ b/doc/language.doc
@@ -1,7 +1,7 @@
/******************************************************************************
* Do not edit this file. It was generated by the translator.py script.
*
- * Copyright (C) 1997-2011 by Dimitri van Heesch.
+ * Copyright (C) 1997-2013 by Dimitri van Heesch.
*
* Permission to use, copy, modify, and distribute this software and its
* documentation under the terms of the GNU General Public License is hereby
@@ -23,7 +23,7 @@ text fragments, generated by doxygen, can be produced in languages other
than English (the default). The output language is chosen through the
configuration file (with default name and known as Doxyfile).
-Currently (version 1.8.2), 39 languages
+Currently (version 1.8.3), 39 languages
are supported (sorted alphabetically):
Afrikaans, Arabic, Armenian, Brazilian Portuguese, Catalan, Chinese,
Chinese Traditional, Croatian, Czech, Danish, Dutch, English,
diff --git a/doc/language.tpl b/doc/language.tpl
index cba8b8a..7ec6621 100644
--- a/doc/language.tpl
+++ b/doc/language.tpl
@@ -5,7 +5,7 @@ change the language.doc, make the changes here and inside maintainers.txt.
/******************************************************************************
* %(editnote)s
*
- * Copyright (C) 1997-2011 by Dimitri van Heesch.
+ * Copyright (C) 1997-2013 by Dimitri van Heesch.
*
* Permission to use, copy, modify, and distribute this software and its
* documentation under the terms of the GNU General Public License is hereby
diff --git a/doc/markdown.doc b/doc/markdown.doc
index 3799fbc..bd4a3aa 100644
--- a/doc/markdown.doc
+++ b/doc/markdown.doc
@@ -2,7 +2,7 @@
*
*
*
- * Copyright (C) 1997-2012 by Dimitri van Heesch.
+ * Copyright (C) 1997-2013 by Dimitri van Heesch.
*
* Permission to use, copy, modify, and distribute this software and its
* documentation under the terms of the GNU General Public License is hereby
diff --git a/doc/output.doc b/doc/output.doc
index d34e057..dea8753 100644
--- a/doc/output.doc
+++ b/doc/output.doc
@@ -2,7 +2,7 @@
*
*
*
- * Copyright (C) 1997-2012 by Dimitri van Heesch.
+ * Copyright (C) 1997-2013 by Dimitri van Heesch.
*
* Permission to use, copy, modify, and distribute this software and its
* documentation under the terms of the GNU General Public License is hereby
diff --git a/doc/preprocessing.doc b/doc/preprocessing.doc
index db5418f..aac389e 100644
--- a/doc/preprocessing.doc
+++ b/doc/preprocessing.doc
@@ -2,7 +2,7 @@
*
*
*
- * Copyright (C) 1997-2012 by Dimitri van Heesch.
+ * Copyright (C) 1997-2013 by Dimitri van Heesch.
*
* Permission to use, copy, modify, and distribute this software and its
* documentation under the terms of the GNU General Public License is hereby
diff --git a/doc/searching.doc b/doc/searching.doc
index f80e9f6..ed5e48c 100644
--- a/doc/searching.doc
+++ b/doc/searching.doc
@@ -2,7 +2,7 @@
*
*
*
- * Copyright (C) 1997-2012 by Dimitri van Heesch.
+ * Copyright (C) 1997-2013 by Dimitri van Heesch.
*
* Permission to use, copy, modify, and distribute this software and its
* documentation under the terms of the GNU General Public License is hereby
diff --git a/doc/starting.doc b/doc/starting.doc
index 4e5481e..636fd3a 100644
--- a/doc/starting.doc
+++ b/doc/starting.doc
@@ -2,7 +2,7 @@
*
*
*
- * Copyright (C) 1997-2012 by Dimitri van Heesch.
+ * Copyright (C) 1997-2013 by Dimitri van Heesch.
*
* Permission to use, copy, modify, and distribute this software and its
* documentation under the terms of the GNU General Public License is hereby
diff --git a/doc/translator_report.txt b/doc/translator_report.txt
index ad25228..d5d573c 100644
--- a/doc/translator_report.txt
+++ b/doc/translator_report.txt
@@ -1,4 +1,4 @@
-(1.8.2)
+(1.8.3)
Doxygen supports the following 39 languages (sorted alphabetically):
diff --git a/doc/trouble.doc b/doc/trouble.doc
index c795b0f..c79c0cd 100644
--- a/doc/trouble.doc
+++ b/doc/trouble.doc
@@ -2,7 +2,7 @@
*
*
*
- * Copyright (C) 1997-2012 by Dimitri van Heesch.
+ * Copyright (C) 1997-2013 by Dimitri van Heesch.
*
* Permission to use, copy, modify, and distribute this software and its
* documentation under the terms of the GNU General Public License is hereby
@@ -16,7 +16,7 @@
*/
/*! \page trouble Troubleshooting
-<h2>Known problems:</h2>
+\section knowproblems Known Problems
<ul>
<li>If you have problems building doxygen from sources, please
read \ref unix_problems "this section" first.
@@ -76,15 +76,14 @@
</ul>
-<h2>How to help</h2>
+\section howtohelp How to Help
The development of Doxygen highly depends on your input!
If you are trying Doxygen let me know what you think of it (do you
miss certain features?). Even if you decide not to use it, please let me
know why.
-\anchor bug_reports
-<h2>How to report a bug</h2>
+\section bug_reports How to report a bug
Bugs are tracked in GNOME's <a href="http://bugzilla.gnome.org">bugzilla</a> database.
Before submitting a
diff --git a/doc/xmlcmds.doc b/doc/xmlcmds.doc
index 2d6cbab..8b38d38 100644
--- a/doc/xmlcmds.doc
+++ b/doc/xmlcmds.doc
@@ -2,7 +2,7 @@
*
*
*
- * Copyright (C) 1997-2012 by Dimitri van Heesch.
+ * Copyright (C) 1997-2013 by Dimitri van Heesch.
*
* Permission to use, copy, modify, and distribute this software and its
* documentation under the terms of the GNU General Public License is hereby