[Author Prev][Author Next][Thread Prev][Thread Next][Author Index][Thread Index]
[or-cvs] r8613: Tag debian 0.1.1.23-1. (in tor/tags: . debian_version_0_1_1_23- debian_version_0_1_1_23-/debian debian_version_0_1_1_23-/debian/patches)
- To: or-cvs@xxxxxxxxxxxxx
- Subject: [or-cvs] r8613: Tag debian 0.1.1.23-1. (in tor/tags: . debian_version_0_1_1_23- debian_version_0_1_1_23-/debian debian_version_0_1_1_23-/debian/patches)
- From: weasel@xxxxxxxx
- Date: Fri, 6 Oct 2006 18:33:31 -0400 (EDT)
- Delivered-to: archiver@seul.org
- Delivered-to: or-cvs-outgoing@seul.org
- Delivered-to: or-cvs@seul.org
- Delivery-date: Fri, 06 Oct 2006 18:33:46 -0400
- Reply-to: or-talk@xxxxxxxxxxxxx
- Sender: owner-or-cvs@xxxxxxxxxxxxx
Author: weasel
Date: 2006-10-06 18:33:28 -0400 (Fri, 06 Oct 2006)
New Revision: 8613
Added:
tor/tags/debian_version_0_1_1_23-/
tor/tags/debian_version_0_1_1_23-/debian/
tor/tags/debian_version_0_1_1_23-/debian/README.Debian
tor/tags/debian_version_0_1_1_23-/debian/README.privoxy
tor/tags/debian_version_0_1_1_23-/debian/TODO
tor/tags/debian_version_0_1_1_23-/debian/changelog
tor/tags/debian_version_0_1_1_23-/debian/compat
tor/tags/debian_version_0_1_1_23-/debian/control
tor/tags/debian_version_0_1_1_23-/debian/copyright
tor/tags/debian_version_0_1_1_23-/debian/hexdump-cell-struct.pdf
tor/tags/debian_version_0_1_1_23-/debian/hexdump-interaction.pdf
tor/tags/debian_version_0_1_1_23-/debian/patches/
tor/tags/debian_version_0_1_1_23-/debian/patches/00list
tor/tags/debian_version_0_1_1_23-/debian/patches/02_add_debian_files_in_manpage.dpatch
tor/tags/debian_version_0_1_1_23-/debian/patches/03_tor_manpage_in_section_8.dpatch
tor/tags/debian_version_0_1_1_23-/debian/patches/06_add_compile_time_defaults.dpatch
tor/tags/debian_version_0_1_1_23-/debian/patches/07_log_to_file_by_default.dpatch
tor/tags/debian_version_0_1_1_23-/debian/rules
tor/tags/debian_version_0_1_1_23-/debian/tor.default
tor/tags/debian_version_0_1_1_23-/debian/tor.dirs
tor/tags/debian_version_0_1_1_23-/debian/tor.docs
tor/tags/debian_version_0_1_1_23-/debian/tor.init
tor/tags/debian_version_0_1_1_23-/debian/tor.lintian-override
tor/tags/debian_version_0_1_1_23-/debian/tor.logrotate
tor/tags/debian_version_0_1_1_23-/debian/tor.postinst
tor/tags/debian_version_0_1_1_23-/debian/tor.postrm
tor/tags/debian_version_0_1_1_23-/debian/watch
Modified:
tor/tags/
Log:
r9996@danube: weasel | 2006-10-07 00:31:54 +0200
Tag debian 0.1.1.23-1.
Property changes on: tor/tags
___________________________________________________________________
svk:merge ticket from /local/or/tor/tags [r9996] on 17f730b7-d419-0410-b50f-85ee4b70197a
Property changes on: tor/tags/debian_version_0_1_1_23-/debian
___________________________________________________________________
Name: svn:ignore
+ files
patched
tor
tor.postinst.debhelper
tor.postrm.debhelper
tor.prerm.debhelper
tor.substvars
Added: tor/tags/debian_version_0_1_1_23-/debian/README.Debian
===================================================================
--- tor/tags/debian_version_0_1_1_23-/debian/README.Debian 2006-10-06 21:54:28 UTC (rev 8612)
+++ tor/tags/debian_version_0_1_1_23-/debian/README.Debian 2006-10-06 22:33:28 UTC (rev 8613)
@@ -0,0 +1,13 @@
+This is the Debian package for Tor, The Onion Router.
+
+The following changes have been made to the Tor source to integrate it better
+into Debian:
+
+- RunAsDaemon is enabled by default.
+- PidFile is set to /var/run/tor/tor.pid. No default upstream.
+- default logging goes to /var/log/tor/log instead of stdout.
+- DataDirectory is set to /var/lib/tor by default. Uses $HOME/.tor upstream.
+
+
+--
+Peter Palfrader, Fri, 12 Nov 2004 18:08:54 +0100
Property changes on: tor/tags/debian_version_0_1_1_23-/debian/README.Debian
___________________________________________________________________
Name: svn:keywords
+ Author Date Id Revision
Name: svn:eol-style
+ native
Added: tor/tags/debian_version_0_1_1_23-/debian/README.privoxy
===================================================================
--- tor/tags/debian_version_0_1_1_23-/debian/README.privoxy 2006-10-06 21:54:28 UTC (rev 8612)
+++ tor/tags/debian_version_0_1_1_23-/debian/README.privoxy 2006-10-06 22:33:28 UTC (rev 8613)
@@ -0,0 +1,18 @@
+Tor only provides TCP layer anonymity. It does not do any protocol
+cleaning, so if you are going to browse the web you still give away a
+lot of information to servers.
+
+The privoxy package provides a privacy enhancing HTTP proxy, which
+is good at filtering headers, cookies, and much more. To view the
+description of the Debian privoxy package just run "apt-cache show
+privoxy". Please refer to the privoxy documentation for more details.
+
+In order to use privoxy over tor, add the following line to your
+privoxy configuration file:
+ forward-socks4a / localhost:9050 .
+(the dot is important)
+
+Then configure your browser to use privoxy as its HTTP proxy.
+
+--
+Peter Palfrader <weasel@xxxxxxxxxx>, Tue, 17 Feb 2004 02:15:36 +0100
Property changes on: tor/tags/debian_version_0_1_1_23-/debian/README.privoxy
___________________________________________________________________
Name: svn:keywords
+ Author Date Id Revision
Name: svn:eol-style
+ native
Added: tor/tags/debian_version_0_1_1_23-/debian/TODO
===================================================================
--- tor/tags/debian_version_0_1_1_23-/debian/TODO 2006-10-06 21:54:28 UTC (rev 8612)
+++ tor/tags/debian_version_0_1_1_23-/debian/TODO 2006-10-06 22:33:28 UTC (rev 8613)
@@ -0,0 +1,12 @@
+Legend:
+ - Not done
+ * Top priority
+ . Partially done
+ o Done
+ D Deferred
+ X Abandoned
+
+- make debian specific changes only apply when run as debian-tor
+- setuid/gid to debian-tor if run as root
+- don't enable coredumps by default
+- fix shipped html docs to refer to local stylesheet
Property changes on: tor/tags/debian_version_0_1_1_23-/debian/TODO
___________________________________________________________________
Name: svn:keywords
+ Author Date Id Revision
Name: svn:eol-style
+ native
Added: tor/tags/debian_version_0_1_1_23-/debian/changelog
===================================================================
--- tor/tags/debian_version_0_1_1_23-/debian/changelog 2006-10-06 21:54:28 UTC (rev 8612)
+++ tor/tags/debian_version_0_1_1_23-/debian/changelog 2006-10-06 22:33:28 UTC (rev 8613)
@@ -0,0 +1,720 @@
+tor (0.1.1.23-1) unstable; urgency=medium
+
+ * New upstream version.
+
+ -- Peter Palfrader <weasel@xxxxxxxxxx> Thu, 3 Aug 2006 03:13:24 +0200
+
+tor (0.1.1.22-1) unstable; urgency=low
+
+ * New upstream version.
+
+ -- Peter Palfrader <weasel@xxxxxxxxxx> Thu, 6 Jul 2006 02:55:37 +0200
+
+tor (0.1.1.21-1) unstable; urgency=low
+
+ * New upstream version.
+
+ -- Peter Palfrader <weasel@xxxxxxxxxx> Sun, 11 Jun 2006 18:27:13 +0200
+
+tor (0.1.1.20-1) unstable; urgency=low
+
+ * New upstream stable release: The 0.1.1.x tree is now the new stable
+ tree. Upload to unstable rather than experimental.
+
+ -- Peter Palfrader <weasel@xxxxxxxxxx> Tue, 23 May 2006 20:16:25 +0200
+
+tor (0.1.1.19-rc-1) experimental; urgency=low
+
+ * New upstream version.
+ * Remove support for my nodoc DEB_BUILD_OPTIONS variable. It clutters
+ stuff and I haven't used it in ages.
+ * Update debian/tor.docs file.
+
+ -- Peter Palfrader <weasel@xxxxxxxxxx> Fri, 5 May 2006 16:27:48 +0200
+
+tor (0.1.1.18-rc-1) experimental; urgency=low
+
+ * New upstream version.
+ * update debian/tor.doc:
+ - no longer ship INSTALL and README files, they are useless now.
+ - doc/stylesheet.css, doc/tor-doc-server.html, doc/tor-doc-unix.html,
+ doc/tor-hidden-service.html, doc/tor-switchproxy.html got replaced
+ by doc/website/stylesheet.css and doc/website/tor-* which is more
+ or less the same, only taken from the website. Some links are
+ probably broken still, but this should get fixed eventually.
+
+ -- Peter Palfrader <weasel@xxxxxxxxxx> Mon, 10 Apr 2006 12:00:50 +0200
+
+tor (0.1.1.17-rc-1) experimental; urgency=low
+
+ * New upstream version.
+ * Forward port patches/07_log_to_file_by_default.
+
+ -- Peter Palfrader <weasel@xxxxxxxxxx> Tue, 28 Mar 2006 09:48:04 +0200
+
+tor (0.1.1.16-rc-1) experimental; urgency=low
+
+ * New upstream version.
+
+ -- Peter Palfrader <weasel@xxxxxxxxxx> Mon, 20 Mar 2006 02:03:29 +0100
+
+tor (0.1.1.15-rc-1) experimental; urgency=low
+
+ * New upstream version.
+ * Apparently passing --host to configure when not cross-compiling
+ is evil now and greatly confuses configure. So don't do it unless it
+ actually differs from --build host.
+
+ -- Peter Palfrader <weasel@xxxxxxxxxx> Sat, 11 Mar 2006 20:04:36 +0100
+
+tor (0.1.1.14-alpha-1) experimental; urgency=low
+
+ * New upstream version.
+ * Include 0.1.0.17 changelog in experimental tree.
+ * doc/FAQ is no longer shipped, so remove it from debian/tor.docs.
+
+ -- Peter Palfrader <weasel@xxxxxxxxxx> Tue, 21 Feb 2006 05:16:21 +0100
+
+tor (0.1.1.13-alpha-1) experimental; urgency=low
+
+ * New upstream version.
+ * Forward port patches/02_add_debian_files_in_manpage.
+ * Forward port patches/03_tor_manpage_in_section_8.
+ * Create /var/run/tor on init script start if it does
+ not exist already.
+ * Set default ulimit -n to 8k instead of 4k in /etc/default/tor.
+ * Print that we're raising the ulimit to stdout in the init script.
+ * Add CVE numbers to past issues in the changelog where applicable.
+
+ -- Peter Palfrader <weasel@xxxxxxxxxx> Fri, 10 Feb 2006 14:38:11 +0100
+
+tor (0.1.1.12-alpha-1) experimental; urgency=low
+
+ * New upstream version, that was a quick one. :)
+ * Forward port patches/02_add_debian_files_in_manpage.
+
+ -- Peter Palfrader <weasel@xxxxxxxxxx> Thu, 12 Jan 2006 02:53:27 +0100
+
+tor (0.1.1.11-alpha-1) experimental; urgency=low
+
+ * New upstream version.
+ - Implement "entry guards": automatically choose a handful of entry
+ nodes and stick with them for all circuits. This will increase
+ security dramatically against certain end-point attacks
+ (closes: #349283, CVE-2006-0414).
+ * Forward port patches/07_log_to_file_by_default.
+ * Forward port 0.1.0.16 changelog and change to copyright file.
+
+ -- Peter Palfrader <weasel@xxxxxxxxxx> Wed, 11 Jan 2006 12:08:25 +0100
+
+tor (0.1.1.10-alpha-1) experimental; urgency=low
+
+ * New upstream version.
+ * doc/tor-doc.css and doc/tor-doc.html are no longer in the upstream
+ tarball, remove them from debian/tor.docs.
+ * add the following new files to tor.docs: doc/socks-extensions.txt,
+ doc/stylesheet.css, doc/tor-doc-server.html, doc/tor-doc-unix.html
+
+ -- Peter Palfrader <weasel@xxxxxxxxxx> Sun, 11 Dec 2005 14:02:41 +0100
+
+tor (0.1.1.9-alpha-1) experimental; urgency=low
+
+ * New upstream version.
+ * Remove 08_add_newlines_between_serverdescriptors.dpatch.
+ * Update 06_add_compile_time_defaults.dpatch
+ * Use bin/bash for the init script instead of bin/sh. We are using
+ ulimit -n which is not POSIX (closes: #338797).
+ * Remove the EVENT_NOEPOLL block from etc/default/tor.
+ * Add an ARGS block to etc/default/tor as suggested in #338425.
+
+ -- Peter Palfrader <weasel@xxxxxxxxxx> Tue, 15 Nov 2005 23:29:54 +0100
+
+tor (0.1.1.8-alpha-1) experimental; urgency=low
+
+ * New upstream version.
+ * Add patch from CVS to
+ "Insert a newline between all router descriptors when generating (old
+ style) signed directories, in case somebody was counting on that".
+ r1.247 of dirserv.c, <20051008060243.85F41140808C@xxxxxxxxxxxxxx>
+
+ -- Peter Palfrader <weasel@xxxxxxxxxx> Sat, 8 Oct 2005 20:24:39 +0200
+
+tor (0.1.1.7-alpha-1) experimental; urgency=low
+
+ * New upstream version.
+ * More merging from 0.1.0.14+XXXX:
+ - The tor-dbg package does not really need its own copy of copyright
+ and changelog in usr/share/doc/tor-dbg.
+ * Forward port 03_tor_manpage_in_section_8.dpatch
+
+ -- Peter Palfrader <weasel@xxxxxxxxxx> Wed, 14 Sep 2005 17:52:35 +0200
+
+tor (0.1.1.6-alpha-2) experimental; urgency=low
+
+ * Merge 0.1.0.14+XXXX changes.
+
+ -- Peter Palfrader <weasel@xxxxxxxxxx> Wed, 14 Sep 2005 15:05:16 +0200
+
+tor (0.1.1.6-alpha-1) experimental; urgency=low
+
+ * Experimental upstream version.
+
+ -- Peter Palfrader <weasel@xxxxxxxxxx> Sat, 10 Sep 2005 10:17:43 +0200
+
+tor (0.1.1.5-alpha-cvs-1) UNRELEASED; urgency=low
+
+ * Even more experimental cvs snapshot.
+ * Testsuite is mandatory again.
+ * Forward port 03_tor_manpage_in_section_8.dpatch
+ * Forward port 06_add_compile_time_defaults.dpatch
+
+ -- Peter Palfrader <weasel@xxxxxxxxxx> Fri, 9 Sep 2005 23:22:38 +0200
+
+tor (0.1.1.5-alpha-1) UNRELEASED; urgency=low
+
+ * Experimental upstream version.
+ * Allow test suite to fail, it's broken in this version.
+ * Update list of files from doc/ that should be installed.
+ * Forward port debian/ patches.
+
+ -- Peter Palfrader <weasel@xxxxxxxxxx> Fri, 12 Aug 2005 17:02:23 +0200
+
+tor (0.1.0.17-1) unstable; urgency=low
+
+ * New upstream version.
+
+ -- Peter Palfrader <weasel@xxxxxxxxxx> Sat, 18 Feb 2006 02:49:45 +0100
+
+tor (0.1.0.16-1) unstable; urgency=low
+
+ * New upstream version.
+ * Update copyright file for 2006.
+
+ -- Peter Palfrader <weasel@xxxxxxxxxx> Tue, 3 Jan 2006 13:59:34 +0100
+
+tor (0.1.0.15-1) unstable; urgency=low
+
+ * New upstream release.
+ * Forward port 03_tor_manpage_in_section_8.
+
+ -- Peter Palfrader <weasel@xxxxxxxxxx> Sat, 24 Sep 2005 15:15:34 +0200
+
+tor (0.1.0.14-2) unstable; urgency=low
+
+ * Ship debugging information in a separate package now, instead
+ of simply not stripping tor. This is still useful while tor is
+ young. Ideally it would go away some time.
+ * Add LSB comments to init script as suggested by Petter Reinholdtsen
+ on the debian-devel list:
+ - http://lists.debian.org/debian-devel/2005/08/msg01172.html
+ - http://wiki.debian.net/?LSBInitScripts
+ * Work around broken chroots that do not resolve localhost or resolve
+ it to the wrong IP. We now catch such cases in debian/rules, shout
+ at the buildd maintainer, and ignore the result of our test suite.
+
+ -- Peter Palfrader <weasel@xxxxxxxxxx> Wed, 21 Sep 2005 10:23:25 +0200
+
+tor (0.1.0.14-1) unstable; urgency=high
+
+ * New upstream version - changes, among others:
+ - Fixes the other half of the bug with crypto handshakes (CVE-2005-2643).
+ * Since gs-gpl on s390 is broken (#321435) and unable to
+ build PDFs of our images for the design paper this version
+ ships them in the source and uses them on s390, should building
+ them from source really fail.
+ * Increase standards-version from 3.6.1 to 3.6.2. No changes
+ necessary.
+
+ -- Peter Palfrader <weasel@xxxxxxxxxx> Mon, 8 Aug 2005 23:55:05 +0200
+
+tor (0.1.0.13-1) unstable; urgency=high
+
+ * New upstream version:
+ - Explicitly set no-unaligned-access for sparc in configure.in.
+ it turns out the new gcc's let you compile broken code, but
+ that doesn't make it not-broken (closes: #320140).
+ - Fix a critical bug in the security of our crypto handshakes.
+ (Therefore set urgency to high).
+ and more (see upstream changelog).
+ * Slightly improve init script to give you proper error messages when
+ you do not run it as root.
+
+ -- Peter Palfrader <weasel@xxxxxxxxxx> Fri, 5 Aug 2005 01:27:49 +0200
+
+tor (0.1.0.12-1) unstable; urgency=medium
+
+ * New upstream version:
+ - New IP for tor26 directory server,
+ - fix a possible double-free in tor_gzip_uncompress,
+ - and more (see upstream changelog).
+
+ -- Peter Palfrader <weasel@xxxxxxxxxx> Tue, 19 Jul 2005 17:36:24 +0200
+
+tor (0.1.0.11-1) unstable; urgency=high
+
+ * New upstream version (closes: #316753):
+ - Fixes a serious bug: servers now honor their exit policies -
+ In 0.1.0.x only clients enforced them so far. 0.0.9.x is
+ not affected.
+ * Build depend on libevent-dev >= 1.1.
+ * Urgency high because 0.0.9.10-1 did not make it into testing after
+ like 3 weeks because of an impending ftp-master move. So I might
+ just as well upload this one.
+
+ -- Peter Palfrader <weasel@xxxxxxxxxx> Mon, 4 Jul 2005 17:53:48 +0200
+
+tor (0.1.0.10-0.pre.1) UNRELEASED; urgency=low
+
+ * New upstream version.
+ * Add a watch file.
+ * Forward port 03_tor_manpage_in_section_8.
+ * Forward port 06_add_compile_time_defaults.
+ * Add libevent-dev to build-depends.
+ * Update URL to tor in debian/control and debian/copyright.
+ * Add a snippet to disable epoll in etc/default/tor, commented out.
+ * Add a snippet to set nice level in etc/default/tor.
+ * Wait for 60 seconds in init stop. 35 is too little.
+ * Don't depend on python anymore - tor-resolve is C now.
+ * If "with-dmalloc" is in DEB_BUILD_OPTIONS we build against libdmalloc4.
+ Of course the -dev package needs to be installed.
+ * Update README.Debian to say that upstream now does have a default
+ for DataDirectory.
+ * Don't fail in the init script when we cannot raise the ulimit.
+ Instead just warn a bit (closes: #312882).
+
+ -- Peter Palfrader <weasel@xxxxxxxxxx> Wed, 15 Jun 2005 16:38:06 +0200
+
+tor (0.0.9.10-1) unstable; urgency=high
+
+ * While we're waiting for a newer libevent to enter sid, make another
+ upload of the 0.0.9.x tree:
+ - Refuse relay cells that claim to have a length larger than the
+ maximum allowed. This prevents a potential attack that could read
+ arbitrary memory (e.g. keys) from an exit server's process
+ (CVE-2005-2050).
+
+ -- Peter Palfrader <weasel@xxxxxxxxxx> Thu, 16 Jun 2005 22:56:11 +0200
+
+tor (0.0.9.9-1) unstable; urgency=low
+
+ * New upstream version.
+
+ -- Peter Palfrader <weasel@xxxxxxxxxx> Sat, 23 Apr 2005 23:58:47 +0200
+
+tor (0.0.9.8-1) unstable; urgency=low
+
+ * New upstream version.
+
+ -- Peter Palfrader <weasel@xxxxxxxxxx> Fri, 8 Apr 2005 09:11:34 +0200
+
+tor (0.0.9.7-1) unstable; urgency=low
+
+ * New upstream version.
+
+ -- Peter Palfrader <weasel@xxxxxxxxxx> Fri, 1 Apr 2005 09:52:12 +0200
+
+tor (0.0.9.6-1) unstable; urgency=low
+
+ * New upstream version.
+ * Upstream used newer auto* tools, so hopefully the new config.sub
+ and config.guess files (2003-08-18) are good enough to build
+ tor on ppc64 (closes: #300376: FTBFS on ppc64).
+
+ -- Peter Palfrader <weasel@xxxxxxxxxx> Fri, 25 Mar 2005 01:34:28 +0100
+
+tor (0.0.9.5-1) unstable; urgency=low
+
+ * New upstream version.
+
+ -- Peter Palfrader <weasel@xxxxxxxxxx> Thu, 24 Feb 2005 09:45:52 +0100
+
+tor (0.0.9.4-1) unstable; urgency=low
+
+ * New upstream version.
+ * Set ulimit for file descriptors to 4096 in our init
+ script.
+ * Use SIGINT to shutdown tor. That way - if you are a server -
+ tor will stop accepting new connections immediately, and
+ give existing connections a grace period of 30 seconds in
+ which they might complete their task. If you just run a
+ client it should make no difference.
+
+ -- Peter Palfrader <weasel@xxxxxxxxxx> Fri, 4 Feb 2005 00:20:25 +0100
+
+tor (0.0.9.3-1) unstable; urgency=low
+
+ * New upstream version.
+ * Forward port 07_log_to_file_by_default.
+
+ -- Peter Palfrader <weasel@xxxxxxxxxx> Sun, 23 Jan 2005 16:01:58 +0100
+
+tor (0.0.9.2-1) unstable; urgency=low
+
+ * New upstream version.
+ * Update debian/copyright (it's 2005).
+ * Add sharedscripts tor logrotate.d/tor.
+
+ -- Peter Palfrader <weasel@xxxxxxxxxx> Tue, 4 Jan 2005 11:14:03 +0100
+
+tor (0.0.9.1-1) unstable; urgency=low
+
+ * New upstream version.
+
+ -- Peter Palfrader <weasel@xxxxxxxxxx> Thu, 16 Dec 2004 00:16:47 +0100
+
+tor (0.0.8+0.0.9rc7-1) unstable; urgency=medium
+
+ * New upstream release (candidate).
+ For real this time. Looks like our rc6 orig.tar.gz
+ was in fact the rc5 one.
+ * forward port patches/07_log_to_file_by_default
+
+ -- Peter Palfrader <weasel@xxxxxxxxxx> Wed, 8 Dec 2004 15:22:44 +0100
+
+tor (0.0.8+0.0.9rc6-1) unstable; urgency=medium
+
+ * New upstream release (candidate).
+ - cleans up more integer underflows that don't look exploitable.
+ But one never knows (-> medium).
+ * Remove those 'date' calls in debian/rules again that were
+ added in rc5-1.
+
+ -- Peter Palfrader <weasel@xxxxxxxxxx> Mon, 6 Dec 2004 11:11:23 +0100
+
+tor (0.0.8+0.0.9rc5-1) unstable; urgency=medium
+
+ * New upstream release (candidate).
+ - medium because it fixes an integer overflow that might
+ be exploitable, but doesn't seem to be currently.
+ * Add a few 'date' calls in debian/rules, so I can see how long
+ building the docs take on autobuilders.
+
+ -- Peter Palfrader <weasel@xxxxxxxxxx> Wed, 1 Dec 2004 10:02:08 +0100
+
+tor (0.0.8+0.0.9rc3-1) unstable; urgency=low
+
+ * New upstream release (candidate).
+
+ -- Peter Palfrader <weasel@xxxxxxxxxx> Thu, 25 Nov 2004 10:33:42 +0100
+
+tor (0.0.8+0.0.9rc2-1) unstable; urgency=low
+
+ * New upstream release (candidate).
+ * Nick's patch is now part of upstream, remove it from
+ the debian diff.
+
+ -- Peter Palfrader <weasel@xxxxxxxxxx> Wed, 24 Nov 2004 09:03:13 +0100
+
+tor (0.0.8+0.0.9rc1-1) unstable; urgency=low
+
+ * New upstream release (candidate).
+ * Apply nick's patch against config.c (1.267) to handle
+ absense of units in BandwidthRate.
+
+ -- Peter Palfrader <weasel@xxxxxxxxxx> Tue, 23 Nov 2004 11:57:49 +0100
+
+tor (0.0.8+0.0.9pre6-1) unstable; urgency=low
+
+ * New upstream (pre)release.
+ * Install control-spec.txt into usr/share/doc/tor/.
+
+ -- Peter Palfrader <weasel@xxxxxxxxxx> Tue, 16 Nov 2004 04:49:32 +0100
+
+tor (0.0.8+0.0.9pre5-2) unstable; urgency=low
+
+ * Symlink tor(8) manpage to torrc(5).
+ * Make logs readable by the system administrators (group adm).
+ * Point to /var/log/tor (the directory) instead of a single
+ file (/var/log/tor/log) in the debian patch of the manpage.
+ * Do not patch the default torrc to include settings we really want.
+ Instead modify the compiled in default options. Those settings are
+
+ - RunAsDaemon is enabled by default.
+ - PidFile is set to /var/run/tor/tor.pid. No default upstream.
+ - default logging goes to /var/log/tor/log instead of stdout.
+ - DataDirectory is set to /var/lib/tor by default. No default upstream.
+
+ This is also documented in the new debian/README.Debian.
+ * Remove /usr/bin/tor-control.py from the binary package, it is
+ not really useful yet, and wasn't meant to be installed by
+ default.
+ * Change init startup script to properly deal with tor
+ printing stuff on startup.
+
+ -- Peter Palfrader <weasel@xxxxxxxxxx> Fri, 12 Nov 2004 18:30:50 +0100
+
+tor (0.0.8+0.0.9pre5-1) unstable; urgency=low
+
+ * New upstream (pre)release.
+ * 04_fix_test can be backed out again.
+ * Make sure all patches apply cleanly.
+ * No longer use --pidfile, --logfile, and --runasdaemon
+ command line options. Set them in the configfile instead.
+ * Change the description slightly, to say "don't rely on the current Tor
+ network if you really need strong anonymity", instead of "Tor will not
+ provide anonymity currently".
+
+ -- Peter Palfrader <weasel@xxxxxxxxxx> Wed, 10 Nov 2004 04:43:10 +0100
+
+tor (0.0.8+0.0.9pre4-1) unstable; urgency=low
+
+ * New upstream (pre)release.
+ * Apply patch from cvs to fix a segfault in src/or/test
+ (test.c, 1.131).
+
+ -- Peter Palfrader <weasel@xxxxxxxxxx> Sun, 17 Oct 2004 19:04:31 +0200
+
+tor (0.0.8+0.0.9pre3-1) unstable; urgency=high
+
+ * New upstream (pre)release.
+ * Fixes at least one segfault that can be triggered remotely,
+ a format string vulnerability which probably is not exploitable,
+ and several assert bugs.
+
+ -- Peter Palfrader <weasel@xxxxxxxxxx> Thu, 14 Oct 2004 13:36:45 +0200
+
+tor (0.0.8+0.0.9pre2-1) unstable; urgency=low
+
+ * New upstream (pre)release.
+
+ -- Peter Palfrader <weasel@xxxxxxxxxx> Sun, 3 Oct 2004 01:29:13 +0200
+
+tor (0.0.8+0.0.9pre1-1) unstable; urgency=low
+
+ * New upstream (pre)release.
+ * Built depend on zlib1g-dev.
+
+ -- Peter Palfrader <weasel@xxxxxxxxxx> Fri, 1 Oct 2004 21:28:49 +0200
+
+tor (0.0.8-1) unstable; urgency=low
+
+ * New upstream release.
+
+ -- Peter Palfrader <weasel@xxxxxxxxxx> Fri, 27 Aug 2004 14:08:10 +0200
+
+tor (0.0.7.2+0.0.8rc1-1) unstable; urgency=low
+
+ * New upstream release candidate.
+ * Install design paper in usr/share/doc/tor, not usr/share/doc. Ooops.
+
+ -- Peter Palfrader <weasel@xxxxxxxxxx> Wed, 18 Aug 2004 09:59:13 +0200
+
+tor (0.0.7.2+0.0.8pre3-1) unstable; urgency=low
+
+ * New upstream (pre)release.
+ * Ship AUTHORS, doc/CLIENTS, doc/FAQ, doc/HACKING, doc/TODO,
+ doc/tor-doc.{css,html}, doc/{rend,tor}-spec.txt with the binary package.
+ * Build tor-design.{pdf,ps}, wich adds new build-dependencies:
+ tetex-{bin,extra}, transfig, and gs.
+ * Support DEB_BUILD_OPTIONS option 'nodoc' to skip building tor-design.
+ With nodoc the build will not need tetex-{bin,extra}, transfig, and gs.
+ * Support DEB_BUILD_OPTIONS option 'nocheck' to skip unittests
+ ('notest' is an alias')
+ * Enable coredumps by default, this is still development code.
+ * Modify 02_add_debian_files_in_manpage to still apply.
+
+ -- Peter Palfrader <weasel@xxxxxxxxxx> Sun, 8 Aug 2004 15:03:32 +0200
+
+tor (0.0.7.2+0.0.8pre2-1) unstable; urgency=low
+
+ * New upstream (pre)release.
+ * Depend on python as we now have a python script: tor_resolve
+
+ -- Peter Palfrader <weasel@xxxxxxxxxx> Wed, 4 Aug 2004 20:09:26 +0200
+
+tor (0.0.7.2-1) unstable; urgency=medium
+
+ * New upstream release.
+ Fixes another instance of that remote crash bug.
+ * Mention another reason why stop/reload may fail in the init script.
+
+ -- Peter Palfrader <weasel@xxxxxxxxxx> Thu, 8 Jul 2004 03:21:32 +0200
+
+tor (0.0.7.1-1) unstable; urgency=medium
+
+ * New upstream release.
+ Fixes a bug that allows a remote crash on exit nodes.
+ * Logrotate var/log/tor/*log instead of just var/log/tor/log, in
+ case the admin wants several logs.
+
+ -- Peter Palfrader <weasel@xxxxxxxxxx> Mon, 5 Jul 2004 19:18:12 +0200
+
+tor (0.0.7-1) unstable; urgency=low
+
+ * New upstream version
+ closes: #249893: FTBFS on ia64
+
+ -- Peter Palfrader <weasel@xxxxxxxxxx> Mon, 7 Jun 2004 21:46:08 +0200
+
+tor (0.0.6.2-1) unstable; urgency=medium
+
+ * New upstream release (breaks backwards compatibility yet again).
+ * Recommend socat.
+ * Since tor is in /usr/sbin, the manpage should be in section 8, not
+ in section 1. Move it there, including updating the section in
+ the manpage itself and the reference in torify(1).
+ * Update debian/copyright file.
+
+ -- Peter Palfrader <weasel@xxxxxxxxxx> Sun, 16 May 2004 10:47:20 +0200
+
+tor (0.0.6.1-1) unstable; urgency=medium
+
+ * New upstream release (breaks backwards compatibility).
+
+ -- Peter Palfrader <weasel@xxxxxxxxxx> Fri, 7 May 2004 00:24:49 +0200
+
+tor (0.0.6-1) unstable; urgency=low
+
+ * New upstream release (breaks backwards compatibility).
+
+ -- Peter Palfrader <weasel@xxxxxxxxxx> Sun, 2 May 2004 23:58:36 +0200
+
+tor (0.0.5+0.0.6rc4-1) unstable; urgency=low
+
+ * New upstream release candidate.
+
+ -- Peter Palfrader <weasel@xxxxxxxxxx> Sun, 2 May 2004 14:36:59 +0200
+
+tor (0.0.5+0.0.6rc3-1) unstable; urgency=low
+
+ * New upstream release candidate.
+
+ -- Peter Palfrader <weasel@xxxxxxxxxx> Thu, 29 Apr 2004 11:52:07 +0200
+
+tor (0.0.5+0.0.6rc2-1) unstable; urgency=low
+
+ * New upstream release candidate.
+ * Mention upstream website and mailinglist archives in long
+ description.
+
+ -- Peter Palfrader <weasel@xxxxxxxxxx> Mon, 26 Apr 2004 12:23:20 +0200
+
+tor (0.0.5-1) unstable; urgency=low
+
+ * New upstream release.
+ * Upstream installs a torrc.sample file now, rather than torrc.
+ Keep using torrc as dpkg handles conffile upgrades.
+
+ -- Peter Palfrader <weasel@xxxxxxxxxx> Tue, 30 Mar 2004 20:54:00 +0200
+
+tor (0.0.4-1) unstable; urgency=low
+
+ * New upstream release (how the version numbers fly by :).
+
+ -- Peter Palfrader <weasel@xxxxxxxxxx> Fri, 26 Mar 2004 23:46:09 +0100
+
+tor (0.0.3-1) unstable; urgency=low
+
+ * New upstream release.
+ * Also mention that tree.h is by Niels Provos in debian/copyright.
+
+ -- Peter Palfrader <weasel@xxxxxxxxxx> Fri, 26 Mar 2004 20:36:08 +0100
+
+tor (0.0.2-1) unstable; urgency=low
+
+ * New upstream release.
+ * Uses strlcpy and strlcat by Todd C. Miller, mention him in
+ debian/copyright.
+
+ -- Peter Palfrader <weasel@xxxxxxxxxx> Fri, 19 Mar 2004 12:37:17 +0100
+
+tor (0.0.1+0.0.2pre27-1) unstable; urgency=low
+
+ * New upstream release.
+
+ -- Peter Palfrader <weasel@xxxxxxxxxx> Mon, 15 Mar 2004 05:19:16 +0100
+
+tor (0.0.1+0.0.2pre26-1) unstable; urgency=low
+
+ * New upstream release.
+ * Mention log and pidfile location in tor.1.
+
+ -- Peter Palfrader <weasel@xxxxxxxxxx> Mon, 15 Mar 2004 02:21:29 +0100
+
+tor (0.0.1+0.0.2pre25-1) unstable; urgency=low
+
+ * New upstream release.
+
+ -- Peter Palfrader <weasel@xxxxxxxxxx> Thu, 4 Mar 2004 23:05:38 +0100
+
+tor (0.0.1+0.0.2pre24-1) unstable; urgency=low
+
+ * New upstream release.
+ * Do not strip binaries for now.
+ * Add "# ulimit -c unlimited" to tor.default
+ * Always enable DataDirectory.
+ * Actually use dpatch now (to modify upstream torrc.in)
+ * Wait for tor to die in init stop. Let the user know if it doesn't.
+
+ -- Peter Palfrader <weasel@xxxxxxxxxx> Wed, 3 Mar 2004 14:10:25 +0100
+
+tor (0.0.1+0.0.2pre23-1) unstable; urgency=low
+
+ * New upstream release.
+ * The one test that always failed has been fixed: removed comment from
+ rules file.
+
+ -- Peter Palfrader <weasel@xxxxxxxxxx> Sun, 29 Feb 2004 12:36:33 +0100
+
+tor (0.0.1+0.0.2pre22-1) unstable; urgency=low
+
+ * New upstream release.
+ * Upstream has moved tor back to usr/bin, but we will keep it in
+ usr/sbin. That's the right place and it doesn't break my tab
+ completion there.
+
+ -- Peter Palfrader <weasel@xxxxxxxxxx> Fri, 27 Feb 2004 01:59:09 +0100
+
+tor (0.0.1+0.0.2pre21-1) unstable; urgency=low
+
+ * New upstream release.
+ * 0.0.2pre20-2 removed the Recommends: on privoxy rather
+ than tsocks (which is now required) by mistake. Fix that.
+ * package description: Mention that the package starts the OP by default and
+ that OR can be enabled in the config.
+ * tor moved to sbin, updating init script.
+
+ -- Peter Palfrader <weasel@xxxxxxxxxx> Wed, 18 Feb 2004 10:08:12 +0100
+
+tor (0.0.1+0.0.2pre20-2) unstable; urgency=low
+
+ * Add torify script, documentation, and config file. Means we also
+ depend on tsocks now rather than just recommending it. Right now
+ we install it in debian/rules, but upcoming versions might install
+ it in upstream's make install target.
+ * There's an upstream ChangeLog file now. Enjoy!
+ * Add a README.privoxy file that explains how to setup privoxy to
+ go over tor.
+ * As is the case too often, the INSTALL file not only covers
+ installation, but also basic usage and configuration. Therefore
+ include it in the docs dir.
+ * Add a lintian override for the INSTALL file.
+
+ -- Peter Palfrader <weasel@xxxxxxxxxx> Tue, 17 Feb 2004 02:32:00 +0100
+
+tor (0.0.1+0.0.2pre20-1) unstable; urgency=low
+
+ * New upstream version.
+ - various design paper updates
+ - resolve cygwin warnings
+ - split the token bucket into "rate" and "burst" params
+ - try to resolve discrepency between bytes transmitted over TLS and actual
+ bandwidth use
+ - setuid to user _before_ complaining about running as root
+ - fix several memleaks and double frees
+ - minor logging fixes
+ - add more debugging for logs.
+ - various documentation fixes and improvements
+ - for perforcmance testing, paths are always 3 hops, not "3 or more"
+ (this will go away at a later date again)
+ * Add dependency on adduser which was previously missing.
+ * Change short description to a nicer one.
+
+ -- Peter Palfrader <weasel@xxxxxxxxxx> Sat, 31 Jan 2004 10:10:45 +0100
+
+tor (0.0.1+0.0.2pre19-1) unstable; urgency=low
+
+ * Initial Release (closes: #216611).
+
+ -- Peter Palfrader <weasel@xxxxxxxxxx> Sat, 10 Jan 2004 11:20:06 +0100
+
Property changes on: tor/tags/debian_version_0_1_1_23-/debian/changelog
___________________________________________________________________
Name: svn:keywords
+ Author Date Id Revision
Name: svn:eol-style
+ native
Added: tor/tags/debian_version_0_1_1_23-/debian/compat
===================================================================
--- tor/tags/debian_version_0_1_1_23-/debian/compat 2006-10-06 21:54:28 UTC (rev 8612)
+++ tor/tags/debian_version_0_1_1_23-/debian/compat 2006-10-06 22:33:28 UTC (rev 8613)
@@ -0,0 +1 @@
+4
Property changes on: tor/tags/debian_version_0_1_1_23-/debian/compat
___________________________________________________________________
Name: svn:keywords
+ Author Date Id Revision
Name: svn:eol-style
+ native
Added: tor/tags/debian_version_0_1_1_23-/debian/control
===================================================================
--- tor/tags/debian_version_0_1_1_23-/debian/control 2006-10-06 21:54:28 UTC (rev 8612)
+++ tor/tags/debian_version_0_1_1_23-/debian/control 2006-10-06 22:33:28 UTC (rev 8613)
@@ -0,0 +1,58 @@
+Source: tor
+Section: comm
+Priority: optional
+Maintainer: Peter Palfrader <weasel@xxxxxxxxxx>
+Build-Depends: debhelper (>= 4.1.65), libssl-dev, dpatch, zlib1g-dev, libevent-dev (>= 1.1), tetex-bin, tetex-extra, transfig, gs, binutils (>= 2.14.90.0.7)
+Standards-Version: 3.6.2
+
+Package: tor
+Architecture: any
+Depends: ${shlibs:Depends}, adduser, tsocks
+Recommends: privoxy, socat
+Suggests: mixmaster, mixminion, anon-proxy
+Description: anonymizing overlay network for TCP
+ Tor is a connection-based low-latency anonymous communication system which
+ addresses many flaws in the original onion routing design.
+ .
+ In brief, Onion Routing is a connection-oriented anonymizing communication
+ service. Users choose a source-routed path through a set of nodes, and
+ negotiate a "virtual circuit" through the network, in which each node
+ knows its predecessor and successor, but no others. Traffic flowing down
+ the circuit is unwrapped by a symmetric key at each node, which reveals
+ the downstream node.
+ .
+ Basically Tor provides a distributed network of servers ("onion
+ routers"). Users bounce their tcp streams (web traffic, ftp, ssh, etc)
+ around the routers, and recipients, observers, and even the routers
+ themselves have difficulty tracking the source of the stream.
+ .
+ Note that Tor does no protocol cleaning. That means there is a danger that
+ application protocols and associated programs can be induced to reveal
+ information about the initiator. Tor depends on Privoxy and similar protocol
+ cleaners to solve this problem.
+ .
+ Client applications can use the Tor network by connecting to the local
+ onion proxy. If the application itself does not come with socks support
+ you can use a socks client such as tsocks. Some web browsers like mozilla
+ and web proxies like privoxy come with socks support, so you don't need an
+ extra socks client if you want to use Tor with them.
+ .
+ This package enables only the onion proxy by default, but it can be configured
+ as a relay (server) node.
+ .
+ Remember that this is development code -- don't rely on the current Tor
+ network if you really need strong anonymity.
+ .
+ The latest information can be found at http://tor.eff.org/, or on the
+ mailing lists, archived at http://archives.seul.org/or/talk/ or
+ http://archives.seul.org/or/announce/.
+
+Package: tor-dbg
+Architecture: any
+Depends: tor (= ${Source-Version})
+Suggests: gdb
+Priority: extra
+Description: debugging symbols for Tor
+ This package provides the debugging symbols for Tor, The Onion Router.
+ Those symbols allow your debugger to assign names to your backtraces, which
+ makes it somewhat easier to interpret core dumps.
Property changes on: tor/tags/debian_version_0_1_1_23-/debian/control
___________________________________________________________________
Name: svn:keywords
+ Author Date Id Revision
Name: svn:eol-style
+ native
Added: tor/tags/debian_version_0_1_1_23-/debian/copyright
===================================================================
--- tor/tags/debian_version_0_1_1_23-/debian/copyright 2006-10-06 21:54:28 UTC (rev 8612)
+++ tor/tags/debian_version_0_1_1_23-/debian/copyright 2006-10-06 22:33:28 UTC (rev 8613)
@@ -0,0 +1,100 @@
+This package was debianized by Peter Palfrader <weasel@xxxxxxxxxx> on
+Sat, 10 Jan 2004 11:20:06 +0100.
+
+It was downloaded from http://tor.eff.org/
+
+Upstream Authors: Roger Dingledine <arma@xxxxxxxxxxxxx>
+ Nick Mathewson <nickm@xxxxxxxxxxxxx>
+
+Copyright (c) 2001-2004, Roger Dingledine
+Copyright (c) 2004-2006, Roger Dingledine, Nick Mathewson
+strlcat, strlcpy: Copyright (c) 1998 Todd C. Miller <Todd.Miller@xxxxxxxxxxxxx>
+tree.h: Copyright (c) 2002 Niels Provos <provos@xxxxxxxxxxxxxx>
+Modifications for Debian: Copyright (c) 2004, 2005, 2006 Peter Palfrader
+
+The tor code is under this license:
+===============================================================================
+Copyright (c) 2001-2004, Roger Dingledine
+Copyright (c) 2004-2006, Roger Dingledine, Nick Mathewson
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions are
+met:
+
+ * Redistributions of source code must retain the above copyright
+notice, this list of conditions and the following disclaimer.
+
+ * Redistributions in binary form must reproduce the above
+copyright notice, this list of conditions and the following disclaimer
+in the documentation and/or other materials provided with the
+distribution.
+
+ * Neither the names of the copyright owners nor the names of its
+contributors may be used to endorse or promote products derived from
+this software without specific prior written permission.
+
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+===============================================================================
+tree.h by Niels Provos is licensed as follows:
+
+ * Copyright 2002 Niels Provos <provos@xxxxxxxxxxxxxx>
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
+ * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+ * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+ * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
+ * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+ * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+ * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
+ * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+===============================================================================
+strlcat and strlcpy by Todd C. Miller are licensed under the following license:
+
+ * Copyright (c) 1998 Todd C. Miller <Todd.Miller@xxxxxxxxxxxxx>
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ * 3. The name of the author may not be used to endorse or promote products
+ * derived from this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES,
+ * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY
+ * AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL
+ * THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
+ * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+ * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
+ * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+ * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+ * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+ * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
Property changes on: tor/tags/debian_version_0_1_1_23-/debian/copyright
___________________________________________________________________
Name: svn:keywords
+ Author Date Id Revision
Name: svn:eol-style
+ native
Added: tor/tags/debian_version_0_1_1_23-/debian/hexdump-cell-struct.pdf
===================================================================
--- tor/tags/debian_version_0_1_1_23-/debian/hexdump-cell-struct.pdf 2006-10-06 21:54:28 UTC (rev 8612)
+++ tor/tags/debian_version_0_1_1_23-/debian/hexdump-cell-struct.pdf 2006-10-06 22:33:28 UTC (rev 8613)
@@ -0,0 +1,155 @@
+255044462d312e330a25c7ec8fa20a362030206f626a0a3c3c2f4c656e6774682037203020522f46
+696c746572202f466c6174654465636f64653e3e0a73747265616d0a789c5d90cd4ec3300cc7ef79
+0adf188795384ddae638560e48e3c09617d84a988a56a47e48686f4f9cafc114b5b17ffedbb13d02
+2f10389d7877031bd9d35ec27966b250f0c3107a5656356053c3e0ad1a2eecc0aa46444656601413
+4a7017e030594748afb488991245ce0d94ac4443fc7f3e629d9ef66678075599299991d698299991
+ea265332031d01fdd8e9ea0678366e70245234603e595808822a84ffccc056db7eea5edb47f3c5b0
+74db4127fc602b41400807d691ecede578255aa2a3dcb3c332d9e310b2a5ceb8edcf765eeeb43bfb
+4da42a9368633604d6024924b9fb11bff5535651ba7d6b8352dc35f8a73cfa097893fb4df57d92d9
+51c64318312962599d4afa1214ccbd28aee1745dec1c22e8f791a35eef3d7e6b4926aff2b579f4a4
+6ec87f31f0cee8fc02f62c8fb3656e6473747265616d0a656e646f626a0a372030206f626a0a3330
+350a656e646f626a0a352030206f626a0a3c3c2f547970652f506167652f4d65646961426f78205b
+302030203235342037345d0a2f506172656e742033203020520a2f5265736f75726365733c3c2f50
+726f635365745b2f504446202f546578745d0a2f457874475374617465203132203020520a2f466f
+6e74203133203020520a3e3e0a2f436f6e74656e74732036203020520a3e3e0a656e646f626a0a33
+2030206f626a0a3c3c202f54797065202f5061676573202f4b696473205b0a35203020520a5d202f
+436f756e7420310a3e3e0a656e646f626a0a312030206f626a0a3c3c2f54797065202f436174616c
+6f67202f50616765732033203020520a3e3e0a656e646f626a0a342030206f626a0a3c3c2f547970
+652f4578744753746174652f4e616d652f52342f54522f4964656e746974792f4f504d20312f534d
+20302e30323e3e0a656e646f626a0a392030206f626a0a3c3c2f547970652f466f6e744465736372
+6970746f722f466f6e744e616d652f524a464b46552b54696d65732d526f6d616e2f466f6e744242
+6f785b2d313638202d3238312031303331203932345d2f466c6167732033340a2f417363656e7420
+3932340a2f436170486569676874203637360a2f44657363656e74202d3238310a2f4974616c6963
+416e676c6520300a2f5374656d56203131310a2f4d697373696e675769647468203235300a2f5848
+6569676874203436310a2f43686172536574282f73706163652f7a65726f2f6f6e652f74776f2f66
+6f75722f666976652f7369782f65696768742f6e696e652f412f432f442f492f4c2f4d2f522f532f
+542f612f622f632f652f672f692f6c2f6d2f6e2f722f732f742f79290a2f466f6e7446696c653320
+38203020523e3e0a656e646f626a0a382030206f626a0a3c3c2f537562747970652f547970653143
+2f46696c7465722f466c6174654465636f64652f4c656e677468203131203020523e3e7374726561
+6d0a789c6556695453e7bade31247b3b715a737304ac496aadf6d409ad56a8536570442b838c2a83
+040886843109210904c2f83287210408934c822032aa200e60716aab56056d0fdada5b3b1ee939eb
+7e9b7efcb83b9c75effd71d7cada2b6befef7bbeef7ddfe77d9e9745d82c20582c16cfebd0bec3fb
+8eaff391c488133678c9634265d6d76be9152cfa9d05f44a36de89cfff59fda7236725e151cb5e5a
+ff8eedc0325af8367af11734fa16c166b17aee7eeb2a8f4d8e974446258a3e38eee5f7b775ebd6ff
+df9bcdcececea2b0e4fff922721327482265a235cc1f85582a8f8d11cb1277885c99d552a9e4b428
+529a1c1b95200a0d0f17875bb7f9864ac56744fb2452496cac5c21fac0f56fa22d8e8e9b37308f2d
+3b44479362c4f1f2f522892c42229324268b4265e1a2cf62c491a1a298d070b115c02d4692189f2c
+daea2891fdefeea39298b0a404d17cb4a2a372679187c84b1c99240d8dffff5f0882107aec4d969d
+3ee22a768b8f4cf04a9478fb1c9486c6846ddeb275dbc74ece224782d840ac220289cf08376223b1
+9ad847bc4f781307081fe223e2387188d84a6c233e248e102ec451c2955846f0083ef1576239614f
+38102ce26d42c45482b06100aeb076b0ce2fe02c885bf033fb20fba6cd2a0ec1a9e2aee62ab97748
+093940bea13650f7176a174e2d122c4a5cd4bef8ddc5c54b784b3296642df91115dad2082caa8bf4
+1bcbb2ef6696f362e907c885af166b1335eaa8709f6427a00e705d74255d423a8684875555cf8a29
+0bee52918f334d5a70a7e68e91bc0be0aed5b864512a92d9dec5bd825c38b6b3116041017df4bb75
+ac595f0bff54a1be3cea312ea0efd929b9387c2ef5305e939a12946baf4281163248696aad2cac2a
+36092fa1851c64e6f6adab8c2d8d03ad3dc4ab337cf328153292733a54ce47246a45146ee5d8d239
+5836435f31b36839edcbc72b34dc8eeaf494ecbccc1c83f043dc8649549259956d820a7ba835970e
+1450661ca6259bb36bd28c6ac4c579768519e698d680ea48d0d88326d1431da38d4b52692113d20b
+f4c5aa5275911aa844a53221ba23beff8b2b37d1eaeb42b4915e6feaa8286f2ab467ce0733ed7083
+75771ab94db3abe955fc92c2f2fc0aa05acb3481429c4f82579ad63f9bd2a02833e95fa4a9846e0a
+9d27af0c3554760235dc243d28c462123c74ea00eba2703319589c5a09c3144a267f0abeb9f7a454
+7d78bfe0196928084c96a4f9a430271ed33fa2396d2c9864d3ab90233fc89da115508e879f23f28f
+1b0fbfe936a545940b4b928cf2dae47ab06f6eb034de74bfbc3dd05f1919260c0896ef879d14feeb
+b38d883dd45b7dae5bd0d2646969bf45d9feb9142cb33616d6af8374ed0c7bf663fa017f2e8004a7
+54dd4ea6a6a8d342ba146babe021451f631860323d2e61181044e2b8b9029c42177070a08afb6d96
+29155ca8b90f4958ad55396532fb522de4ee227523bca1e8b5242a9abbcc70d2767693769076aa47
+cebd2c40147b96606a978e141c0537539192aa8474d0146a4a02ab038c27c0199ca4477cdc8f8837
+025e001bdbb75df5fafcd08fe2df0171e0f74b13df50c9b57bdd0ec63881bd0778d785f4f80c4b7f
+00c4a6d0c1d768217a7f6c5471ba57d071c62cb71ca2acc9fb0ac93a10d9cda2d723277ed09e10d9
+61f0829036d958728fa13377824213dc8c7bfab6f88e98ee93f57e10002792c5921361b16ee04c61
+c1a36d88fcf9c92d44f40bf0145acfaf983a7f610226a0496eda4acdd35d75817e71416559f6fd0c
+cd45ace5bc9a7f22161f5c53757be65b438a2e701105ffeabc7df3dead0bafe057f82166cae7c6fe
+af30ab1baf048a57831b55dc6786b274d84bcd74f279d27315c6be97f75224570453c7fbb6012600
+2f0adbfec9097f9967ea56a04ea79675086dd14b30a37ffcc67a38cd2ea51df8558565f995409d2d
+4b0916e24212020c86c3a90cbf0c66727fa1da0c63144a223b06465a4acab2f415826a6d45a609a8
+26734d6ba7a24e122a4b740b14fe486615f82645ea8ea9ece7db6c0cdd398ba22f16b72e8307b2bf
+23f7c99696e53c4c47d376fc8bbb49255332656992d12eb63cb6388e89036ddcebeae8d122be1f2d
+542527ab33b3a2653a2528415199daa7a478d8cd2f363ac2c1772af8e72753cdfda3829e73351dd0
+03b74ff4ef2dc4fc123bdf82f832a886baceae1663595e695e2158724d792570017acde75a3a5bcd
+5d30026d598dda0e0a1be61cf89d86e799c340fd67a72ed2734f38e67ce4d936d8586aea1f11f250
+317acdbfd5da75e95cb33aa65a501b557912c2296f59d4c9cf42effd22b0a5edf50d29f5f4e63a5d
+c332b88d9c1f3055435fa22ff8bcf5d9e81d4e1a373737dd9097970df699a02f482b668a644c4a2a
+8a5bb1d3cbdfd5bbe3f48b20e1787497b22601a4f6c167e4fe12a9a94125509c4d6fd48d51295c9e
+07763491a5e5450595500655b98d990c40666b4b76ed8ac9bbe30f46123a3feb1662e2aebc5a7316
+5aec7bcfb55e1a6b976c6914307d0216fa0f2b9b5ecc209d954d43b36b2d7c71a1b25c761e87a112
+bb2f4ced959d2d1dcd967eb80c03ba0b716d146fb24fecd4bc61056f08b7a9b84f32cad3c08d9a73
+675a599ffaa9b525db99962cd699e0118502c89b05281d4f70d036ee5c10fd92cf9b6cad30f6a2b7
+c7433604284223558293715199eb72295b744e3f4a2fe9608d4db3919169d73588e296e715660a0c
+e999e906bdd8272428253bcd9069802cc8c9cf2dcca5aee1ebdceded21b7867b9a463b05ba0a45bc
+5a9f04f6119a963b4274f10dc94032da796786f58c8174a543f878930f47431af32b0b4cf96560df
+344f5e0d09aefab47d5671d49bc983c519e5d67b23d21f29f8b18989727943626b5b63435b6b62a3
+4c684b5fd3d52bbae823f5685ddfb2b69748fb66396f98f69e75e22bb8d98969696ad00323e9c688
+aa08e31908816075b42c4a9a1c0a7eb063d01bd91c7b241e0d3b2b2ed3152b2081e2690e049c74d9
+e27103d9060812b9bce1761cc569e0e65b2aabcc500135d916438fa637a3172844be7af6c7b73ef7
+b0dd43e1aaf1d041b84edde8efb93dd4af8aec129c3b5315577d8c3acb9d3759fab77e16d2cfb051
+e92cc19fcb21e1e3b43427abc20e5948e722ad09bea668e3751271a121b9112fa09ab8996837676e
+829b8977739ab84d88d568413640595bfedf82cd6091568df95497ba3d87011a61800a53aaac408c
+547f5d659a2e62a47a4445bec8aa4c6354653ef1d6ac5b66d9fc126e457e65be11a88e72ed09e15c
+1c09c7b53a8f2c26dd6966d2a328b51c6e50f44f6476819f5aacdfa79ef79f71daae69197cbfef7b
+f4de37cb79afe9a3f7f96a6d6a9686714a43d5a010f991309ad5a6694aea0eb11c63a46072c3de40
+8fc43a6563537d5d43515e715ea930b72ccf08a5544b4743ef708becb8e02889371e5167848829de
+eb24a55612ede031183c31d8573f3a2128f6ab55f4c179a8afeceaa1f0a6bff3419a95ae484dd0ca
+d3154045c9cf0f088b48b8d5d78d960e321a6c6158b57294f5601a79587f6c0b63caa642a3d5949b
+cb528284b8c41aa3c63b8f8931de4cfa16682ae02285ba4828309697969e6d1ca8e9026ab021ca5d
+889961c73b2dcdcbcabe4433e995afa981db142a26db073a6b2f0135561beb24c4918cc96764781a
+9845723319571053a0ab858bf6288c448bc23fdfede91fe7795c903c2669390ec120d73a79504f18
+3ff757317eaeb14aabbe835e7c87757f1a29bf67a30db3bbf85905a19ad88c133a7b590627852cc9
+2f8252a07acbd2438573d5a4f445f47364378316a0f7d05ff6fcb4f6a86764a052e06b73f172f7e8
+d4c82e6c8bd941879dfd4e359e15cc4f27ac99976c34c874003ee0c8d19295c515454505b5a53545
+e540d59769ce08ad2e1f9d919892ae49d7e6845ab3d2662677e6a794c3158afe95b4823ca51b1fb3
+d0c44b362d472bf9bae2082f5dfa29b0c7195cb413b9bd7a7df1294cd9ffe393c9f77cfc924e4708
+ce483467d46ef55976bdbf75777c05d4f498d7f65d27376edf22c4fbb0272795769847ad476beed2
+bbea58e83c33ca48510aff7dda33988bbf98f3e41c46e7f18e49b46386c407eef2b1818b0ce817eb
+b4473f7fc642530fd8e820fd9c8ffcb9d550545058daf3ca2ebd54a3d06729984b89b99885f579b9
+9007b9f6594539c68e5e83ae4f80c8886b47e0036addd14f7729d5a50d3182338d89e50c8164dad4
+78f1e58427d38f5aae8e082f0dd58fc15378a4ba1430123ce8d58817d53363438eb695b6b9c482d7
+a8e80736ed35fb291f73f59e2a177f4cec3e86b9801d606bcb4703013dc1d7136e3372f0d6cb9f91
+00fd87cb37980c5618c41ec216b40ed920026d6ea67018bec87f39e28adfc60bc28fba7f74fc27b4
+e9aab1b5ce2cacaf3e57c6506ffeb8595bc6679fba3f46f2af7c9e2ee7bd420334c9a8f3efd7bafa
+bf74f8d6f5f3b598f5c901c74316d9bf360978af30e19c24ddeff0e1b3fd8883964cdeff6352328c
+97fe20485ecdffdaaf2912bca943a74e1ddae33ffedddd86fef1cb82e149066bcb78e4a59b0ee343
+7d77be1c08dee7253fe5251664e50064e758af80f403b44d2b0b7e44865fd9b792f8c8c674c3f2e5
+f03f9f4ea0b700ada090f326b410f3f1e22d6bf00a6cfbe81344dce8afeebb2608c3db315b84d7c7
+51e8169ae583323b3d2d5d9e10a18b046a4fd013b478acfaf3fa66614dddd98a36a0be1bda867732
+f34ba135eae6d965cd2cf805997eb1caa313df0742d511519ede624c025e0898d589175ef6be107c
+35611caec2404d77d7f88d1e669a424b2914ea88dec5cb053971fce921ccc1622c0e166ddb16fc5f
+281c450d21f64ba1adb28ef6ad433e75dcf6452f16b71b972c7951bb642941fc37bd8f00ed0a656e
+6473747265616d0a656e646f626a0a31312030206f626a0a333531350a656e646f626a0a31322030
+206f626a0a3c3c2f52340a34203020523e3e0a656e646f626a0a31332030206f626a0a3c3c2f5231
+300a3130203020523e3e0a656e646f626a0a31302030206f626a0a3c3c2f537562747970652f5479
+7065312f42617365466f6e742f524a464b46552b54696d65732d526f6d616e2f547970652f466f6e
+742f4e616d652f5231302f466f6e7444657363726970746f722039203020522f4669727374436861
+722033322f4c61737443686172203235312f5769647468735b0a3235302033333320343038203530
+30203530302038333320373738203333332033333320333333203530302035363420323530203333
+3320323530203237380a353030203530302035303020353030203530302035303020353030203530
+3020353030203530302032373820323738203536342035363420353634203434340a393231203732
+32203636372036363720373232203631312035353620373232203732322033333320333839203732
+32203631312038383920373232203732320a35353620373232203636372035353620363131203732
+32203732322039343420373232203732322036313120333333203237382033333320343639203530
+300a3333332034343420353030203434342035303020343434203333332035303020353030203237
+382032373820353030203237382037373820353030203530300a3530302035303020333333203338
+39203237382035303020353030203732322035303020353030203434342034383020323030203438
+3020353431203235300a323530203235302032353020323530203235302032353020323530203235
+3020323530203235302032353020323530203235302032353020323530203235300a323530203235
+30203235302032353020323530203235302032353020323530203235302032353020323530203235
+30203235302032353020323530203235300a32353020333333203530302035303020313637203530
+30203530302035303020353030203138302034343420353030203333332033333320353536203535
+360a3235302035303020353030203530302032353020323530203435332033353020333333203434
+3420343434203530302031303030203130303020323530203434340a323530203333332033333320
+33333320333333203333332033333320333333203333332032353020333333203333332032353020
+33333320333333203333330a31303030203235302032353020323530203235302032353020323530
+2032353020323530203235302032353020323530203235302032353020323530203235300a323530
+20383839203235302032373620323530203235302032353020323530203631312037323220383839
+20333130203235302032353020323530203235300a32353020363637203235302032353020323530
+203237382032353020323530203237382035303020373232203530305d0a3e3e0a656e646f626a0a
+322030206f626a0a3c3c2f50726f6475636572284553502047686f737473637269707420372e3037
+293e3e656e646f626a0a787265660a302031340a303030303030303030302036353533352066200a
+30303030303030363138203030303030206e200a30303030303035373630203030303030206e200a
+30303030303030353539203030303030206e200a30303030303030363636203030303030206e200a
+30303030303030343039203030303030206e200a30303030303030303135203030303030206e200a
+30303030303030333930203030303030206e200a30303030303031303535203030303030206e200a
+30303030303030373335203030303030206e200a30303030303034373338203030303030206e200a
+30303030303034363535203030303030206e200a30303030303034363736203030303030206e200a
+30303030303034373036203030303030206e200a747261696c65720a3c3c202f53697a6520313420
+2f526f6f74203120302052202f496e666f2032203020520a3e3e0a7374617274787265660a353831
+300a2525454f460a
Property changes on: tor/tags/debian_version_0_1_1_23-/debian/hexdump-cell-struct.pdf
___________________________________________________________________
Name: svn:keywords
+ Author Date Id Revision
Name: svn:eol-style
+ native
Added: tor/tags/debian_version_0_1_1_23-/debian/hexdump-interaction.pdf
===================================================================
--- tor/tags/debian_version_0_1_1_23-/debian/hexdump-interaction.pdf 2006-10-06 21:54:28 UTC (rev 8612)
+++ tor/tags/debian_version_0_1_1_23-/debian/hexdump-interaction.pdf 2006-10-06 22:33:28 UTC (rev 8613)
@@ -0,0 +1,1031 @@
+255044462d312e330a25c7ec8fa20a362030206f626a0a3c3c2f4c656e6774682037203020522f46
+696c746572202f466c6174654465636f64653e3e0a73747265616d0a789ca5596d6f143710febebf
+c2e24b938a5dfcbe36aa2af11295aaa84072522b71454a2f4792723920490508e5bfd7f6d83e7b77
+0eb15b4e22f67ae699f1e3f18cd7fb91d08e11ea7ff1efeaaaf9d83c3896e4fca6b1e453c3c865c3
+6d6f09e7cc902b6833d1514a39d93427cd2b274f09179aba518fb069a46245230c6d9a8b8649d977
+8670aa9513654ac6f626b61965be1da5d09e62362018518c01c645f3c78f64dbc84e45afad05416f
+4ad8a4040efbf1a13b1874ed04187afb63323213e0621a6b96769c30cb9993b4145a9bd032269007
+02588799a04ac56e04b44764058a82e495272eea1464955e60b8957930b2236a86b227c9c79fcd91
+67ff67dcb19ee6b80bed4d6acb628df01eac2debb928c7e8beb80b8231eea2d228eeb23b2874ed04
+c5e26e3240a214b603900a2ecea2951b13c07510e5d6c4f626b5adf6ed2485f5ac0aaeebde946311
+1f8d502f9a9210a8ed881d3a8482d76e045399d8b9001337b41621ce15d3b00014da9bd896c6cb25
+29b4a754d843d29a620c3046bc01575e34ad36a8150139700803afdd0053bb809c09302b11ca3e25
+42df82442845913fb00ee41ca98a9c03da7bc2cc4b42c6019d5122042f50dcca7c8f25c249ca9ea4
+d7c46dd89efce5ff3b6bfc860d9b578a5e427b5e42649ce684e8db292132a58be481f662d261c294
+631cddb99e462f98e20f94c60931b98342d74ef06adfce0598167f69cfd35ee57ce7db29dfb97f45
+66407b31a3502b8a31c0d813885e34e53b501be7bbe410065ebb01a646f96e2ac034dea4abe84ed7
+4a2f29b943f7cd4d6cf67e599208d2e15afa8e32c5880460417bbf4fbc60a088461d6806a12432ee
+706bfdf603e00229afc46b22b4db71d46db84132f53a7e264646f5dd920c5c424c549ef4551a9da3
+ec976240304258c5ab4c7b6786daac4a674c2e74be19eb9c514541c03a50468c2eaa08a8e325ce0b
+c60c033aa30297fc40702bf3062b6e9394e7143623635d333296354377c5006987f261f8ae7a8022
+9e480c8f05cd0c4fa3857104b2342b915af6fd8a13398144ad4cae50cae402a55991cbb10e540065
+8b0200ea586d52bba3911a9e8c6a2fc6a895713031ac4a93946755242572415222d723d517891beb
+40ba57aac8f6a08e479052b912298516a2e407825b991758119aa43cab00499b0b906fc602a47891
+e4b00e2446458bc408ea781af282b13880ce8ea6811f63dcca3c18c934cd519e4653ac2b42e672ea
+9bb19c0a56941ea413cb95e045b902f5114d811b2f18a30974463534f981e056e62556432729cfa3
+89b24c136589261e2e78a208d2891ef170475420eda3899bbce9f8e0fa6ae0c718b7320f4646344d
+519e451357399ab8cad1c479b108482779248a8503f53d34891c4d5ca0d194fc40702bf30a8ba649
+cab38e48b010e15c24e24da748d11445b00e9c4660e10aa47db98917b7a1c3cbd0da8f316e657e10
+4d739467d1c459a689b34c13eb0b74ac132f246ce911db4f13b3bbcb3b8bd294fc18e356e6c1c890
+a649caf36852f9c0cd553e7043ac2611a413174e1467db3d9b2eefb4144dc337fada0f04b732afb0
+03f724e539076e58079b42c9e640b2c55a946d562c98fd4610e5c88957e9d8813b06c108b2343b0c
+9f898ab36ed7b48e976b5a474e04ddd918b7e31d96d93dd768c4c46bb5748f2f0dc2091847204bb3
+5a8f39f97ec5599ce42f2fe9c38b51e9be3cbee0ecef834fe5b78e6f7d7fc99f5ff0af2fe5f79302
+72689ea15f5f2629a74f05505de1534168979f0a18396f0453fe3a520b621d314a5272bd2eea2736
+7ae2483f6f3e9240394d7f5657e4f1a27970ccfc1377825dbc6de08324734b4a3bef85ee04595c35
+072f8e0961878b7f9a9609ebec50b2386b0e1e6d2e576bffd4559efcd08b72ffd0013b2702aa212d
+73af147ef8deb3c5e225f9e568d175ddbd806878c7b8b4a455324874c4fdfc48692a3f6c4b5bf929
+577dd7bbb4e416d23f5f1e2c9ebc2417a7dbb39b8bd377ebe561f46737d1decd4c5b47ae3bc27b8d
+4febbf6f2e6fd7b5dfadd19d62dab9d6f320f5f5cfbbb67d747442d6dbd5f5970fb797efb7c127da
+e9de4a6dfc5aa92079b43cf8bc3c6cdbe393470361de7752c28735107dbe3e5f6fcf1e0620c178c7
+8d2652c5796c2eb7efc8e50d593c3f6923cefa0ce6d372d159ed3c6ba58d50c7ebcde917b2625f8f
+3edf3accfbe4c531bf4f9c2fe76f3ef3e5e19d5773c9dd093f2f84bf3e5e9f5f6ec94f91839f1f1a
+7a7777f843e3b892ccbdfc0986c3af9d81f3375f9c8567cb83df123e136e626e0aadd0a512c7ac84
+69584fb2ea49cbfbdacad727efb7dbf5ca4df80e9015efb424b2f6861762400ba53ea010bca7a7b7
+a7f749158111593af1112e260ec1d6b9ed19f25bb77f9dd23279afa96431629707ff6e07ebe85e2b
+29736f45adcb0b00b7fabd6d4fc9eaf27af5eb539892b51dd5cced2286cf697970bdbef9f07e7be3
+621da624a4cb324cedc2ac14819dec5e5b852b61fb265e6186998478f0e92a2a3cb95e9fba693895
+4120047ca93baa84db62a6100eb23920c10f47be4b37aa9262498a459222585ba19d0541679a81e9
+287cb420af1afffb0fd8e4d476656e6473747265616d0a656e646f626a0a372030206f626a0a3138
+36350a656e646f626a0a352030206f626a0a3c3c2f547970652f506167652f4d65646961426f7820
+5b30203020343531203233365d0a2f506172656e742033203020520a2f5265736f75726365733c3c
+2f50726f635365745b2f504446202f546578745d0a2f457874475374617465203136203020520a2f
+466f6e74203137203020520a3e3e0a2f436f6e74656e74732036203020520a3e3e0a656e646f626a
+0a332030206f626a0a3c3c202f54797065202f5061676573202f4b696473205b0a35203020520a5d
+202f436f756e7420310a3e3e0a656e646f626a0a312030206f626a0a3c3c2f54797065202f436174
+616c6f67202f50616765732033203020520a3e3e0a656e646f626a0a342030206f626a0a3c3c2f54
+7970652f4578744753746174652f4e616d652f52342f54522f4964656e746974792f4f504d20312f
+534d20302e30323e3e0a656e646f626a0a31322030206f626a0a3c3c2f547970652f466f6e744465
+7363726970746f722f466f6e744e616d652f54696d65732d526f6d616e2f466f6e7442426f785b2d
+313638202d3238312031303331203932345d2f466c6167732033340a2f417363656e74203932340a
+2f436170486569676874203637360a2f44657363656e74202d3238310a2f4974616c6963416e676c
+6520300a2f5374656d56203131310a2f4d697373696e675769647468203235300a2f584865696768
+74203436310a2f466f6e7446696c6533203131203020523e3e0a656e646f626a0a31312030206f62
+6a0a3c3c2f537562747970652f5479706531432f46696c7465722f466c6174654465636f64652f4c
+656e677468203134203020523e3e73747265616d0a789cac7b07581457d7ff99597667c0c424928d
+a0c9aed1c4ae4114053b0856ac805244447aefb02cbbc0d2e1d23b0b2cbdf7deedbdf796821a5335
+c5b4bb64c8fbfe6759497cdfe47b9efff73c9f8fccecccdc7bceb9e7fc4ebbb34b800607088278cd
+d2c3c72568c93e3f1f475fd5f562e54c42f92ea97c8fc3ac655a7e2ffe5d8ffb1e9897725e2f7f0f
+08c19569ef6aaf7debdda937de7877eaea37094b1208e8804bf0293c862fe17bf815c6092e319598
+41cc26961006c41ac298d842ec242c081bc281f020020811212352881ca288a8249a884e6288384e
+5c20ee101f134f8967c42fc41f248f7c8de49333c90fc825e472722db991dc4e5a90074917d29714
+93b1642a994d1693d5640bd9450e92a7c8cbe41df233f22bf267729cc3e54ce1bccd1172e6735670
+5671367276702c39f61c578e1f278413c949e464738a39d59c464e076790739a7385739733caf99a
+f382f387064f434b435be35d8dd91a8b345668acd3d8ae61a17150c345c35f2342234e234b43ae51
+aed1a0d1a931a4715ae392c66d8d4f353ed778aef1abc63897cb9dca9dce9dc55dc0d5e7aee19a72
+b7732db8365c3bae33d78b1bca8de22671b3b8726e15b799dbcf3dc1bdc4bdc17dc8fd92fb03f757
+eebf7814ef4d9e2e6f366f2eef239e016f2dcf8cb79b67cd73e279f00279125e222f9d57c4abe235
+f0da7843bca3bc8bbc3bbcc7bc67bc1f799822299a7a8dd2a67429213597d2a756526ba92dd43eca
+8172a23c287f2a8c9252b15426554429a86aaa9d1aa64e5157a9dbd428f525f59c5252bfd340f3e8
+69b42e2da417d01fd106f4467a33bd93b6a4ede823b407ed4f87d191743c9d4ae7d072ba82aea7db
+e85e7a843e4d5fa26fd20fe847f457f4f7f4aff4b82647534bf32d4d1d4da1e65ccd259a2b34d768
+9a686ed3dca37940f390a68ba6b76690a65853a699a499a199af59aa59add9a4d9a939a0795cf39c
+e655cd3b9a9f687eaef9ade60b4da5e6bfb5785aaf6bbdad35536bb6d6022d3dad555aebb5ccb4cc
+b52cb46cb51cb5dcb5fcb442b5a45a715a482b5bab48ab5cab4eab55ab476b58eb94d645ad1b5af7
+b546b5bed4fa4eeb172d660a394573ca9b53a64f114cf970cae229cba7ac9e623c65eb263ffff040
+0f37f7e059f3adf61d58b068d1e2bfee2c3332329a75247cf2c92c5397200f37df5973d90fa12ede
+7efe3e2ebec16b666d62477b7b7b38cd72f30ef7770f9ae5e8ecece2ac9ab6dfd1dbc56bd6660f6f
+0f7f7fbfd059f3372d98a5afa7b76c097bd05f336b57888f4ba0dfe2591ebeae1ebe1ec1e1b31c7d
+9d67edf67171739ce5e3e8eca22260eae3111c183e6b859e87ef9fb37779f81c09099a35e198b376
+f919cd329fb5cfc52dc4db31f0ef4fcc4202fd4c5dbc831d7dfd825d02421cbdbdfdc42ebe6e2e81
+8ece1e4eec954b50d0c4eda0101f1fc7600f3f5fb74017c76097c0899b9372f93b06067b387a3b7b
+b8ba0639b938b34b75dce4e81412ece23471dce4e418e8e7eb3471dc722490558cf1c4d16de2b8cd
+d92fd8d1c989d593c5cbb9c63e8e4eec5047570f8f657a7a06862f3fac58f5f2c3f295fb26e8bebc
+d437507f58a6b77c9b9f9b9faf8bd7cb0746fa56811ebe6e2faf0c975938f9b18b50f3329b90e6e5
+a3557ac6ff31d1c06892e524efe5abf6bd3a417fe5ae572458a6b76292e372ab600f6fe749c90cf5
+2d8f38069afdb9c04976cb5e7e58a937c96792e172c37daf08f992bcd1f249b6ab76bd22c5323d83
+49b693fc0d975b4e0c30fb0f0daed29fe437c9d86092f1f249c6fa86bbfece586fe5cba7cb566d7b
+755d4606079c3c029d427c5cbd5d4493ac5758beaade3fd5be6af9a6bf8d5d392990c1a4402b2605
+d237da3d818a4909266dbecc70fbdfc8184d8a6768603531c9ec3facb86ac5a6ffd6bcc124e31593
+8c97eb4d729a34f532a31d7fd3849ed1aaadac2527d94df25d6560fa2a2a0c26edb46292cdf265bb
+dd4358550486f8783b86fca9d63f953eb96a23439bbf56b7f5efba5d65f577327aab569ab246769c
+bc5c398906834934ac989467b9feee5701b16cd99fda5e66feaa27194d0a666868f59f089a34c3ca
+c9a51b4c725bf1929be18ac947cb5fb25db662728cbebef97fe056cf7682ebb6ed93ec8cacd496db
+f2b7a5af9a34cbca49110c26f9fc497ef9e482f5979bff038897d9fe09836daf604bcf486fcbdf0d
+bdcac8e2558dac9c646f30c9feaf65feb9ba15e62a062fb9e93baaa3da7fe8cf68d996ff86a2a19e
+c55f8b357b55ae9546e23f07bbfd35c6454d31e8af3b4e7f0ef39d90d97b42c96eaf2c8a8de441af
+5cfa3afafb050507faf9bbb363ffbaedf6279d1055bc7451dbe2d5791384bdd9611eea672113d120
+442db55a2edf57c6bbb3bee237f1d0fd2f69c3fefa18f22a9a83d9c1816a9dbf24ae26183cc13470
+e2e8f7dff05fb96cb981be37bbd8208f0951825fe11ef8ca673f352dcfbf787b4cc815fe8a306aae
+2e13f75f5db587a7cb0473e789a3179bf85c7cbdd90cece1e4a1a62a9e90dae54fed394fb863903a
+f3fdc5c07be24688af079b4e4cd52733f569f3c4c9485f7d5aae3ead9838e9e9a94ecb8d8dd457ea
+79067aead34b2a9b264ea6c613a74d26132713f54d93651327e3956a9aea679bd537cdd4374dd537
+37bd9ca0a669a296c578957a9efad966f54d33f54dd3976cd5b298a89762a216ded8903d6d5eb949
+bd062335cdcdea676686ea9b06eae9ea67a66a914cd49a3051cf9b58344b453dd248cd61b3fa9999
+5a21462fd7a07e66aa1670d34b91d4f38c8dd5545eaa40cd61f34b9a6a2a666ad599aa9f99aae5dc
+f45224f53c63133515f5da8dd51c36ab9762a6d6a099faa6a95ac04d6a594c5e4ed8a49eae9e60ac
+26bdf92577b5228dd423cdd4cf4cd5026e52cb62f2729e5a59c613a497ad7c690ef54da397b2a86f
+9aaaa57e690013352363b5968c97aba7bf3487faa699faca542dc4cb659aa8f562acd68bf14bcdab
+afccd457a66ab62f1766f2127c6a4d18bf54b29aca66f54d330300c833370ef775b2de6922f673b6
+d9b5c9dfc576b76980eb1eb340b7bd9b83dcf76d09f6b0d81ae269b92dd4cb6a7b98b7e3fe1d229f
+2307baeb23d62e9bdbdb2059a73fafaf51ba7ef9fcfea6c80d2b160c34576c345838d85269b772d1
+506bd5c1558bdf1f6eabb6375c327ba4a3e690d1d239b38e75d63aacfee883135d7587d7e87d78f2
+f7eba798c7a73f3ff3f5d96fce7d7bfed9c517977ebda2bc3a760d6009cc065bd80da660044b610e
+d8c11e3083d5f0117c007b6133ac013df810f6c116580673c102b6823ecc034bd806cb613e58c176
+58010b603fec0003580807c01c56c222b0869d6002ab6031d8c02ed8048610086e7010de83694041
+10b8833d08401b6808060f380442781b3421043cc10166011fb42014bce030bc0fefc01408036f70
+84b5301d5e0311f8c01158073af03a90100ebee004eb4117a60207c4e007ceb00166c01ba0c136d9
+11e00f2eb01166c29bc0050904802b18c3bbf016f0400ab9900c91900729100508a2211564900631
+900eb19001719009f1900509900d89900349d00837a0148eb2ad7b2194c15db6811f821ec8679bf8
+5b701e86a11314f019dc860b700cbaa0186a6114eec01518816ea882727804757011ea61005aa100
+9ec03db80ca7a1179aa0062ae163b80a27a00f9aa1023e87fb70134e423fb443093c806b700ae4d0
+02d5f0095c873330086dd0000fe153784aa440119c85e3708e40442a9146a4131944269145641339
+442e9147e4130544215144c88962a2842825144419514e5410954415514dd410b5441d514f34108d
+4413d14cb410ad441bd14e74109d4417d14df410bd441fd14f0c1083c410314c8c10478963c471e2
+04719238459c26ce10678973c479e2027191b8445c26ae1057896bc475e2067193b845dc26ee1077
+897bc47de201f190f898f884f894f88c18251e118f8927c4e7c453e20be24be22be26be21be25be2
+19f19cf88ef89ef881f8917841fc44fc4cfc42fc4afc466042498c11bf130c314efc41fc8bf83709
+2441922487d420b9248fa4489ad424b5c829e46be4ebe454f20df24df22d721aa94dbe4df2c977c8
+e9a40ea94bce206792ef92ef91025248ce22df27679373c80fc80fc9b9e43c723eb9805c482e2217
+934bc8a5e447a41eb98cd42797932b48037225b98a34248dc8d5e41a722db98e5c4f6e203792c6a4
+09b9893425cdc8cde416722bb98ddc4eee20cdc99de42e7237b987dc4bee232d484bd28adc4f1e20
+ad491bd296b4230f92f6e421d2813c4c3a92474827d29974215d4937d29df4203d492fd29bf4217d
+493fd29f0c2003c92032980c2143c9305244869362328294905232928c22a349191943c69271643c
+9940269249643299422232954c23d3c90c3293cc22b3c91c3297cc23f3c902b2902c22e564315942
+96920ab28c2c272bc84ab28aac266bc85ab28eac271bc846b2896c265bc856b28d6c273bc84eb28b
+ec267bc85eb28fec2707c84172881c2647c8a3e431f23879823c499e224f9367c8b3e439f23c7981
+bc485e222f9357c8abe435f23a7983bc49de226f9377c8bbe43df23ef9807c48aee400eb93ac63b2
+f186751d620d102d407281ac038e3670fa81c380c616d0380d5c43e0d6024f08bc32e0fd0ba8ad40
+9d067a3dd003a0a90d9a29a0351db442618a254cf91a5e3b00affd08afbbc2eb2f606a024c7d006f
+2c86372ec19bc6f0662bbc351dde7286b714f0d61f302d17b43540db1cb41fc1dbefc1db23c0e703
+bf0ade5902ef7c0ad38d60fa6998fe29e858814e3be85c02dd3741f732cc3086190e3023086664c1
+8caf60a60ecc5c06330b61e6cff0ee9bf06e21bcfb00ded382f7dae0bd672070024121081e807003
+08734078176615c3fbdaf0fecf30db0666d7c39c2530e700cc390b739ec107f1f0a10e7cf80dcc25
+61ee5298eb0073cb61ee73981707f38a61de6998bf05e61f80f979b0200b1694c3c285b0d01c160e
+c3c2dbb0c8041699c1a20158bc1316635842c39275b0c412967c0b4ba7c0d271f8e821e8bd067ab6
+a03704cb2a60d949d077007d5fd0cf80e502583e0a2bde8715ddb0e234182c05834360f02518fc1b
+569e8295bfc0aa55b02a000c4dc030010c4f80e1bfc0683718c5c26a02560b61f57158b307d65c80
+b58eb08e0febd260dd6d58bf08d67f0d1ba261e322d8e80a1b5f80f15630e182891c3699c1a66360
+ba1d4c2bc1ec106c9e099b4fc096c3b02500b6fc0e5b3d61db7e368bc0f653b0c31776a480f94230
+6f829d52d8d908bb48d8150dbb8a60f74ad8fd0dec39017b77c3de5ad8c7a6a41760e1091637c1d2
+162cbf06abb560d50b563fc0fe723840c38138b07e1dac6560331b6c76834d1fd8ae00db5b60e704
+76bfc1c16d70f02ed8ef05fb2770a8041cf4c1a1120ecf86c3b7c1510f1cbf862399e064084edf81
+f32e70f606e73a70be0dce2fc045175c9cc1250d5cf780eb5d70ab03f7f5e0de0d1e9bc0a31b3c03
+c193016f1abc1dc0673df834816f10f8fe047e1bc0ef2bf00f017f09f83f87000b08f80d020f40d0
+2208ba0ac14b20781042fc20743e849642d80608eb06d146106d03d143103d857067083f06620f10
+8f41441448a6822403a4bb407a0a220f43e453887c0651db20aa02a2b910ad00991fc4cc81982088
+e5436c1dc49943dc1f10af01f1d1107f1fe29f40c27c48a883447d48ec86c4a39074109230243b40
+f20348fe1c528a002d01b4125037a4ae80d4f590fa3ba479425a30a47d0ee9b6907e16327643c62f
+90d9075926907511b21590b31272ce41ae19e49e843c43c87b0ef9b990ff2514e841c16a28b80885
+9650f82f284a06b92ec807407e1c8a3743f14928d90e25bf42a9184abf07453628fe05656228fb1a
+ca3da1bc1a2af4a122132a5e40a51b54fa42e538541d86aaf350bd05aa87a0c60a6a1ca0e633a83d
+04b537a12e1aea30d413509f06f53f40831534f443a3013411d0140acdcba15904cd51d0fc3bb404
+41eb01683d0cadeed0a60f6d61d0f66f68d784762b683f04edeed0fe05749842873974f441c771e8
+380f9d07a0f31c747d0add2ed0b30c7a8e41ef52e85d09bd9f409f37f429a07f21f4c7c3000f06de
+80011d18380d835e30f80b0cfe01433c187a1386fa60980fc35930721046eec0516b387a038e59c1
+717338ae80e3757062099c380a27df8193517032094e66c1a97970ea2338350ea7dbe1cc7c38f310
+ce7ac0d94e38a70de7d2e0fc4c387f13ce3f840bcbe1c2105cdc011747e1d27ab8940b97d7c2e5cd
+70f9295c09852b3fc1d538b8a609d72ae1fa1cb89e02d7ff0d373ae1e64eb8f92fb8550fb70de176
+27dc790bee1c83bb5e70ef35b83708f757c3837df0e0203c38050f6de0e14df858081f0fc127c1f0
+c9cff069267c9609a3d630da078f0ce151263ce6c3e30e7872109e74c0e7e5f0d4099efac0d33af8
+623e7c711fbe3c025ffe0e5f55c2d7def0cd7bf0cd1df8b61e9e75c3f315f0fc247cb700bebb0cdf
+b7c20f2be0877cf841013fcae18536bcf080176df0d326f87919fcfc047e3901bfbe01bf4e875f2f
+c16f36f05b33e0a5800740690c631a30160f6319f0fb06f8fd22fc7e03985dc0dc83716b187f007f
+1c863fbe827f39c0bfcec1bfade0df8f098827e0194184116ce9417a12e418c129203436121adfe2
+f4a94a8c14a24ee58f8a694f5e4cd7f657dec0267cb18b3458227677b60c3744f4569e496456ab50
+e943a19b45450f336905d32aa2eec4174a91193dbe87d26e4766528949022da2d8e9adbc216cc29d
+3ae68a14d8a65bf97e1931b65fc13f942ecb73bfc3a4292feb84f118e7f1a81dccdca808bb645d11
+b655507661857505e9459985c201acc9c5725ef7a202ffec0024d54581e2d8fd29b408e750e39138
+8f8f295c8769a68e3b5599c4f8be500ec909a59f723f9f9929e13515c74424a6c427c5091732f50c
+85b3e28b120b51be2e2a9567f7a6d172e68894aa492c89ce11631e93a2931e2bf7a9b3297643125d
+24093617fb4803424452148f62d26499a26c718618d1c16161419e4d813d57874ee10f4e08f152e5
+e2c2a6fcbcaa745d963f922b679c242e8d62d3514eb172363f2b3d2f351fd175b9125b21934aa17d
+d152eb445a82dde5947586a400b5d1b8851aeaaf286846f47095f73621e34221f348b18d6a90b39c
+b2cd8c2a40c3340ea7be7138656cef2ddeb145f0908a4bb30df788b68c6039ee91dd5272eb09749f
+a39c8df5f876666e41fb10adb7e3634cfd74f2e6276d85d1ae79c2ac901cbfd2f072a45b53a1a83c
+6536b8cad63acced88d0c6c16f0b5a4b33ef3c5c8a39fd5dc58d6d82da2a456dc3597ac254a2f231
+52314dbb7ccc7c6c219f8911f14e2417c7a16024890ef77563b88c40c7f1ecae4741bda8421795c9
+739a53eb527514cc49117539a954f21d23c404b3428759c658e9bf9f90689dc89a55aaa0f66684e7
+a04a249757b70fe02978beceb7ccac66db520f56e3da87517884cc2385d62e4f44d129512a138f28
+a8fd5992bcc367184b5cab83e7e2ed971f94155ccad09dfafbeb4831a6a1209ef7294b5f70c6562a
+6ff0c76d28641815b996451d6e56502699d222749356ee61315a5878278bc5a81dc5048ca73111ca
+342e632be27d9a5018854ce8f18514fa402a328c67e74529a8f519e24af423ad9c47e18cf1416e11
+6fead847ac36da714f172e681729a63d7b81135eacc6d474edd6125635226a34a1201a19ab708f8c
+23230d9354a877c14f780fd0cdf2f696b6a6b27e3484fac2bbbceb7d6afd0bb6171f2b2ccfab2aa7
+b55bab2be4eddd33b086fe19c65860c43ce53f4703096d125adbe57450ad93f90c6415eaec14ec15
+7e24761ba26da5b94d42dcadc182417b657976ae5cd0c7c3d4793bfd75fb1d96085928a006e58c06
+42b912cfe48767c86ce22322c5ba52b1478c35a219010f57281770e5cc0f5412a3c52de5e5de96cb
+cf211a0b788c627c0157a27c9d62f12bab53ead711e80b5cf40507a72b0ff39977f416310266e6d7
+73f1343cedd9af5880a77ff42df3b630d28f3f7a7611f31ec33db465a3b36b5557a8d0ef58c40d56
+e1df0e5eb82950d13aa69cc1d27a8cc34639f8b98c8fe71de31653e129c92809d16eb1f90342e525
+2a21cd4eec2edb21d68da07252b3500ea2db736547848c1ee5d2e49fefc44a4e2d65b1369b79fbee
+0a4c9eea281b6c11eea030a181e2e2a264d1e16181325f441b5a7e8cdfc0dce13bf78e0f1fdc2f9c
+80af0a1c78808586850abe7e22deb194925814846409513112660e13aac3ccc781d1c5f12513f1a0
+28b7292d03e5a1fc541627cd226a28b948fa03f33e9ece58ea3026145a2193e925b20039aba0f4d3
+a405e81e8df753783e0e3dff794dc551169063aed1e53215d7692c2497f74dd7ee572aa3f9ca4a0a
+9dcb6b571416e515657464b0b4a34454475251a23ca64c9aeb8676d2cc17d4385f29e2321b44bc5e
+5414db75901edf49698bfe0992ef522cd55d2c2859484afb9486e5d8a88b4098e68c011bf0627028
+3794171f1a1115866290245d92655b6c937310192143ef9d96663b5d962286444b1b0c8eee3bb7fd
+2b97ef11e6a2ef07ce7f4287971a9b6ef33144bae6c8a2ec7087e5b0f717087368bced6bac893f3c
+7d2cd4a94bd0e425f7536ca75531d6a7445c8af73629a79e9b766314873c9eae2dc955bec7cf4dcd
+46b9886ec9961d148ebb53dac3e84074f49e785a4c694b7042296f636a643eba48e36554ab6795ac
+87c59ed65758037f88df347bbad0c221d0ca41789f8a4fb30a758fb414ebe2851bf90da7da06ee0c
+6f60688663bb71d3c17d6d0d0255c4bb8e7d9b30d54628176343bedd86c3be3bd03e74b8def77478
+475c73f2791a9fe7c55e96d50736f9b4d9971f4036e860b88bc7c123fea6c88875845b0698faf6ee
+590c3d02e6015ecccf7fd0d27e1e9d47557e852b6855e6eb507ed641286f6253bed842161a161214
+e82065632a93c7539a2a7fe5cac72ba9306603b786973b9c5356525e59df5f74855d4c006f7cdbf8
+afac239da7aab0a92adb49db94ff6a63cdc353aec73c0efe63cc90cf5830ef321f30f64b9af44eec
+159e317feafc393bd506bf8b6761fbef7d1f599e139a5f5fd5b68875108d013410dee675c2b67109
+62a6a03d919bc30ec4048a038383dddd0f85ef47f6e850a97be38101cf1f595ba11775cf7b06e9ce
+dee18a93e865f86e573e5245abcf5f28799898ae5df23326f8685354e48689acec8ddb799846bf34
+5f3875f96cfb53f41c7de1f3c0f2e496eb0cd1c6bc8768ed12a652c47b18971bc346b617cd7c6def
+c6fc9ceec797233c86040facba0d100388d13ab26af5416bdfbd512b10ed14c58627353cf0bef3ca
+69754165d358e78f189daefd091e57aee36b3fafb5f7c9759ec9bcb588d1609530ed8afe37674ed6
+0cf5091936705a844b4c1368318e2ea22c0b6273500fadfd89f2db68ca84f98c8f82122365b12122
+cf286fe48dfcf3c2cabcea432fa32bb4f673ac75fccea30b8d9e5b0553f16336fbce6b223e63c3cd
+0555fe7f03d3bc338ac68ef222996fa9a038a0405682e84a4569659b43cdee9dfbfded0384010eb1
+6e296b6823af4f99ab3c64121db54995780be594517a743eba4be3ab782a1b178fb3854b45171e51
+e973f4058e50e9f3393e84fbf835c9252935e8013a91d75b75aea9ed3cba827aa41dfef54e7d2bea
+96b05afc842911f1eec4e6c9d0267adc8c42ab62651be2d4f9696dbaa408dda695a11aac66b2b36b
+f1cc0b073f58b8c786a1c2a4a969c1027515d68e7bbbef9661830e91ba18132bbfc1ebf87e3c1b06
+0e07317310edcfb3458e9971d909e9c9f9a884c6082fa53e45f2c84243ba124b827971471225d1d2
+48b15fec4116c44b7120af2e2bab568067f258f7af90942ca3ab79dabd49780e77bc8e15f5cf12ee
+af024eac6ce74d6817fff01d71739493ad9cc12f4acf4d2d4074756e84839049a7904d5cdc8e2856
+7571726a4bba588e4ed338846aea1da9cdca4d90e50b8aa5f9f18588ae9297d43587967938fa069b
+da0abf62a3fffe10b7c83d22dd89d2ed34be588d3d3b33eba6a11bbe9f61b3fbb5b5d3b519a5a752
+87dfb99e0a63235a5876488e8e7f9e7f6600ab5abcd478939e79adcb154fa1283c5c1c9fe0e91b19
+86c2506841547718adcd981ef0f7749db1ff81c3b7771fd4f41c1374349634a10e74e1608f713ac3
+cfd2d99f16988b8a5159736b6d4e6e4a764a3a522417a664a176d4256fac6dae93b7a211549f5029
+6da299b8f119fce6b88fe38711fd6573a4dbde0dce0c77f9defabecaecc29e11a136cec45ff3cfd6
+b50e34d6887d8a05a5ee05f6c899b6f075b7dfed78f99980f547c6ac74acebaf6030b69759ce6778
+e96bfa56ff72adb0ad64a0ebce958e2f2782ae3df32efe808d13ea48e1b0a0c1e8ec0e41a76353d8
+cda0414b9d6b6bf1eb87f1722467432d9baab278cc176367f8bd6840d4ea7dc2ae691162b868beef
+874ef6ae470e045b223be450e2d6b47fd0eb078435d1b3faefba07bafb06cbcfb0316202d4e7ff03
+5bbf288370049f050d15b5265cb28685cb872ab864aae0f2eeab7079fedf7061916d183d115954c8
+5e9fc1565eb768ec8b3fa43e41259282d52c3b5d594544b972595964c53474011bdd602312be86af
+f2b51727e277b9d1bce4e498b8949444a41b8f6469d1996c00ca0909c90898b9769ff5268b26a747
+76c2339ead612541c85bd7c1cbcfdac3bbb0422408ad8ea98c3c4d47f0b4cd19bd422a3b2f23ad80
+d54c5172653c4b20beae36b174e6fd4b676e8c0435ef6e133270c9af58528d6a75bb1aeb064e3778
+e8570ad445fbcc13aaa27d171b3996e167fc9e8186924e448f54bb9909195b0a6d9145ee8d5757ed
+5679f139e83a8deda85f1c4facdee318b4db5e804f5309e91e5181b11611bafeb1dc082a23351d65
+22ba3727f6b070dc8bf5a4f898bdb1ec7c6f39b5374b56c0ce9f2829953fa9e2c9a3173852154ffa
+c7e629f82ee96179be2dcc119ca573b5b0a1a0b9b6a946d18306516f647b403dad7dbfdbc5b066c9
+4ced7ea65ec4bb1b9b178d4cd5ba97456d54950a0dacee33230b55bab7a14ea5e118e63c171bf0c6
+ed948ff9daf7ebf273baf05b670e2fb10975741309ec03dce31725ab9285b40b5f2cc59c72bcb06b
+02a1b39e73c66cf06f7c26279cd79b549054102b8fc90a4687696625e5b5cb7f13b36a1ee6e15ddf
+d47dd9372ce81bbe507b0d9d42c3a24eb706bf62ffea5d74252f16bb714378f1a270692892a188f4
+f0ec4372fb9c432ca20eb2a5d73ce6f082da8da7f608af6e7ee68249f418e1b75abb5a69ec40a1b3
+05856732e9a9b8912d1f5f6b224eb326c96183f95c3696e7a5a4c70be262e263e2642e9687ed2212
+a3e3e2e350024a4a4d4e4fa68f332778ab1a0e9f1deea83ad62c88cc0f0d14cb4290aeaba4f6a210
+77fe48b12459435f7c413c64496e5295b61f5972256cd5599056989a8b74ab26429984429b64d19b
+55594026a7b665c6e6a99489296b1ccaf70f0ef6f3ab08aeabafaca8af0baef465b3ddf1c8f2d056
+e5ce72bca87b5afd632cfd71baf6b0d2824df4a1bcc4e0e86831bb78b669cc712d72cdf142879183
+d8d3d7dd3bdc111d406bfa2cb0c69e5b2ec78e54bbe4466686a2205a5bb2d5c6de44dffc249e6a23
+08e6690f3730eedc0a5eaaa2a0488ed8d89ea888eb9074c576b11503f5f4e14f9f5a5e66746e0a67
+9f71ec4327e8933d1d17fa7b446ead8246afa280e23dac9baa1beee13edcae203e7f814fbde06017
+ccf0d9ba15ddcacfbf9fcd16a38d22ea7e5c7ef464729245ad53b970a382da98c5c2e8268d8fe053
+cc817f7aa26aabfe4e85d93fd1459c51f24ba445d32e8ce2cda3aa423868849fc0b38f664b7efc8c
+d2becfe88b7917920a64c88666a228e497209546fb877847f920dad9aba547a8dd8f1f3273a5d450
+529104d9d34c26b576c8fa767b67716dada0b7976b4865248f94b5e51f2dd2658daa7cf082c05b58
+9b5a29edf909e97b825d22f784b3ed4466aa3c4d9e9a87742b73c5ac1bbe41a10d4981d161f13269
+ac1449902c5b5c1e5e29cd8d603bfa7071885757f0094c9ebd87670badc736fc93a9d964acfcae87
+c032568dd963c01f4fa2d0cae86843955afa15945186b45095cd734e5098872ac22b1992aee2c5e3
+f5dcf1f3bc78663db78a5785894a05d660632f9b4cd5cd2b4b8b5295651b23a35625a9fb5da3f488
+89b280d5efeda2c25155cb3022a21ea95b4c56b9ca2d724219a0aa6f84125e53925c864448962c4b
+94cd670a743ec4b9f14549452897ed68f2b35bd36939632da13a92b365031fe0d7982e9db4f8f4b8
+f4d8acf0acd82c9485b20be5edf86d7c47a7fe5a5676433aad0e864645c45d36cb8f71f8ac63b01a
+a49bf322ed84e3a1143a9094b44995e523e55458aa531a5bbfb4ea62730acf6276a727a625a525a5
+27e9e6c8d2e351021d13131f251049b0af9ce790eead703cca2cc1fb75ea6b6f5eb930509fa32bcf
+284a63abb11c397358caeb4cc94f4452141b239546b11de5541da5219598e612e51bbb3742d72776
+a296ee538e29882f5ee03ffa384aac2ce0a31705c59fe6b1ca9188a807f1c521681ecdb0bdd69638
+97081f7fbb1dde1b9129b2adf21f0c6f8a6b57751db727e0fab10aae6d22ea613c0b57139ab94c31
+c69f18e1f598b8db7aad5350d5933b80eeab9295b443f96fb67f5ccd1aa85139c247b7f3f33f51ed
+207489a84fd573c79da84351a101d2f89cea3881ac35a298ad49fc4382fd1dbb7dce60387f0bbfa5
+ea4327ac758db596846a89cb8b436224890f8af65fc604eaacc2c1e2018450a12eaac8cf1ecc666d
+e520a1da130ba2cbacb245d9a2ac703dc64e673e2e4acc4bce4379baa8bc20a725831db555425526
+e7c82aacf14ce65b9d029f1c69169b6e720a0b6ad8762a4ee74b26bac835233e0be966a3ccdce22e
+b665ff5ea7b4273db38c65a10e83aa18a860ed9bc5cb4f2d48659beea63c29dbb40550c84a1a699e
+c05a385a4e996744e5a193b4f21bd61607c42eb2cde289fda6334a9daa69e8f3cd9fe3399f4cd7fe
+5ab9eb0a5f2c8d4a90b07e1457d427c46cb43896502fa90a693bacd8c39669f79718db9a07978555
+5695975564a464a6640b9373537250365ddb54d1355ceb6b25d845314b778a630fbbd0da5f878449
+3d3c6798f7399cefeb2e3f765e9079a034b41bb5b08b6feda0998fd866c03b2126342a48ea17138a
+6877bf965e61069b35badbf0eb7df444133ef6ba8218dba96afa1d45bc9349a5d1c80f45c4f947f9
+30f3c6393acc22fca5e7edd84a24d7458aa23c55d39f9f5aa46afa15226a986dfa7bf571caf8808e
+9c870395679a1fe6e70fa5ebfeb9a1f0c50b8e72d9d8747e414a1eca400dc905b16cc11912ec6369
+cd9831063ad891fa1329ed2a5c16444e66e868f5be54ab825aa7dad3bb4de3dd544df9afb3ef6d3c
+618a827491541ae7979280a2d1c4bed719057520559aa7f79c91e2741dbc0fefb976b938e75aa6ae
+8291536a2f359413b8f11d6c2fe779a3b062ef3ee66d6cadf3197e4d51db50dc94aa2b67f4255443
+725e3ceb5851512181de09f151e19161d2321dbf9ef01654888a0ab31b525934394972a906541cd9
+78f01be6031d86c718f91c91c57926e94af08772ca2f2ab3302b5b5e58267c88dff8929995119f16
+8fe27551785ca2a7aa7650b092bc778cb8318acd55ff390ae56c7e617a8e6ad3b32637c24ec864a9
+3025b14861311528a7f6a749f251278d5b29949693979d5d5dd95bd28ae8be0a77b6d2f261bbc0e8
+e87daadc1b2ca7f6a54a4ad0051a67520dbdcda503883e5dea6f2864dc28b42f36766f1c3bc84f4e
+05a4f9a44596a24e5d7c84c25acee7d6efb50ed86b25083fed516b851c909fd4d09cbe4bc5a5598b
+3ca22d25aa3643d6a49c7291b8328ac33ee7e02563ebf809698e12ffd88391babeaad22d2b350365
+23ba2b37c651385e4c793ff2fc18ebbcc0249e83dfd8f0cdbc5d7bdd6cc304fb353a07db8e3d1859
+c74c6538763b8c0e1caaac164cfddd548dbddf0d55d8b315f18e26b0d8f347a1f101323fe62de62b
+1d46077f939c19539192ae1b531eaf60737a5565de0915f6ca44d4e994bc989635cd463ab39856e6
+03e56b71a589133b531545d947d3d921c922ea68823cbc7d09b61a6f51c173a9720d5e31be862be7
+3dc245797598c0838a63f9b9c7f3d8fc928edfc217f93e8101debed581f58d35d5f58d01353eaaf6
+1c5397f0c94bc4e96b78f01a2704037fc4e6d9773d7e9d9103487710751676d67db740676864d1b3
+fafebc1634a48b8665cdbebdcfbed3b11b5ab0c8b9d6a5c00ee9da224fd921df45cf746cecbe5be0
+eb14e582ec74d1c102d77a471a9be106fec3cb5b8c566edfbada68dbb5cf46af5c1d65f9063fbac3
+c13f31ebf99b4b431a548df55a0a7d26aad9a8b85ba6a8419f4d5cdfad68b85e4ae753db5202e27d
+c37dc325ce681fcd6c66ebe7f0e0ad6157434b83d0669a619dc9a2f8485d785d786dfc951436569f
+5736cbf8b7a871436ca164ffb8ecc74c46ccdda6f613e2c5630eee536dbd6cd5e34aa982ccfc8c8c
+b4d2ec920c36af95e74abc84aa5d63cfd8e08818498c34c95185d37a39b53635220f0dd1cae7140b
+f1c8634ab21cfb3611e8ab6b0ff1b2e39c313be57a3ee31dca1b492892211f74d8df6ac74a8beb5e
+471d1e5f6baa2ea96b2caf2c6c45cdf44d8b91b5065bb618b8e478d56e14b884bcbfcbda14add25d
+7c79dfaf9f9cabbe72577071fb70c01974099dee69b829c9d7f1720a89744316e840a3fdf9beb3d5
+ed8d276a0674aabacb0a46b2e8f119f97c9f8bb20ed44f0f35b60c0cb4b8d95ab81f3672106c36e1
+9f6378ad96a7cdf61c74624b4bda6ccfa5fb971a7b9f9c62d56ec32cad18631b25c534740f6b5d39
+7345b5191333f636ffcc1fad7869056f4356d44431f7956abb6eb29c2ba698793b2d99775657ee1b
+f4123607d5c55e4ca699d3935560085e4a6d535af10d72bd8e223c0ddd2ceaaf2fa7b53f292d2cc9
+ea626b08bcf547e5267e7657f1bddc73a85eb742541a1c240a0f8e902f285926988a0f4acbc7de2b
+23d015ce5529ffcad8e66d3cd684f8b52b78c61542d9a87c873f9eba4d99ca636668a83fa8ac784f
+597987c0e71f73947ef83d7e64a6ebbec89843489789e5e1b5d8f4e9d79df7d003dd1f56df9f6379
+20c4c955e0e521f1129b9627e8747dd7d6741dd1a3a7f7ad5a67bf7495be90d9ccece5462967b069
+f0f1af4a33fed5e6fef3e81c3de2de79c83d28d8c3ab52d496959d9a9a25c84e432895ad4fb2e263
+3dfddcac5c8553f14fd844e9cadfb867b7f18673bbefde397ffed6fd3de7d64f6cbc63e1d758c8c1
+1fb130dbea796817da4d5bb7baf4b75655b634052bdce2d9be966d5c92114a41746c7c564e735ddb
+8976210e52fc2f46b32ef425eb42ef8c2de35f0faff0411b69867599558ac0bba28d61a200643871
+bd31c46773381d4d5d49adc9aa2fad2f9577aa76625817ba515a79b57c6b597825bac1fa28854e45
+74fb95fa9506646d4d55b9509d8cafccc462ee15d677d8d3264a69c8588cb37faa976acaf173d370
+fd43975bd3b58fe325f833fe5954995c15436b975f08e9dcb779c6aa7ddb8dfdc3b2ab5c053ea5e2
+6cd52b328934d4bd37e4c6fd8735dd83c2c1ee9a33e82a3a1a31e8db1856212a7050d0dac7af0f56
+b79f98f1c98e531fd93888bddc043efe928090ddf2449deedbfdcd17117db9dfc1dc4de2161828f4
+f1f1936c099aa899594f1e62556c6ce713e06a6fbac27d1e623411a3ddbee0f30fbbed6a428e7915
+14ebacb9e8d7ea7f37e86af43df403faa5f0d3da0b75171ada6e9d5111f89579ffffcbe25e7eae2a
+8b2b937a7020bfd1ffd6ce6e97d316ba190969296c579f9991915978e4ecfae7c2a48c14149f5bd9
+282f6defab6fabee428574664266427c6878a8589018efefef1b10131717171b9794ac93c0fe8b4f
+a4b1f69eff5b8253951d4a4b7c8a1fe02c8ef246a12834539cab3fc8b6dbc81e7987daef38e1a553
+d35952d088ca51794249ccd383a571fd680035960f5c62e7ee89fd4dd9d740a0a7b5bf357ec5c149
+d8909f7fb5a4ab7d70e0144245e54dc3856da81b7544b60557bab7eea9b442f447663b0d9d4a421a
+ab4a4aaa8ae20b2425c2a8a2845c9443370d340c9f1bdabfd53ed232c852e0b743642bb34d71d0cd
+dbcef7090ef2f2ad086968aaac686808ac56f55249a81ccfbda45c5746e096fb1ca5378ee07fa8dc
+ebc063ae8eefe5eec02dcc9afb78cd0b8ad97a89cfc4f1701c7ec665cd87d73fe6743066fc3b430d
+35ed03379fb44e6c6ae1b75d9f2f7f716428a0e240535484cec7e6b5ee751babb6e66f40f3d09c48
+43ff5d7ee63e6e9bf6d27ff9e9ad7f804185a8fd7f80018e17fd2f46b3625efcbf068d6ae9fffa8d
+c01fe056fea171ed94a8944814a57b40e1d7d25cd630d4127b33eaa620ae3f7e20713006834e3cde
+cdf70a09f5f1aa0c6a68a8aa6ea80f52b5afbf2f9176e229bdca438d041ac5afdf54bedec51933bd
+cd5fe76e1db915d1cc7a662a7e139b7cddf6cde9b3c2e1e1abb5b7118d97e17798379805f3cc176e
+0b88943766a766a666092fe36cee669ecc25a45b92ef8e740f23f7080f8ffdfbbd37b03d9179a7ed
+70df606d7f8b20cba1dd7708d1df3fc21cccc746cc1cfc36b393716056321f3107184bbc82998f9d
+6e8c14f63d1732eb9446fcba647950b273b29d784fc041919b6f883fa25d839b8f9d281d69e910d6
+35b59655254f34bf1f3f24f0831b1cbc4df9311f5bf38a51465a7a76c7539d986c49a82c2194cd09
+2e3c86606429c96cf84cd64dc848ca69ea8a8bec1660caf5f84e349f5eb46be3ba307176858fc0ab
+32388f6d217ca551812e834177476fd51e1d110ef4979f46f7d02dd180cd8843dfbe4a46ab5cc517
+6f5470703c9bf452c569a1f1be911eba71e18962144d87158b15e5a58af2aca4c2844241646b5c07
+5bde6653d9491531e5e1b59ebad5de2551a56ca55124afa891e43b640b9db3bc0a028a63337586eb
+14d97dd91d5985f9a89aae9414874ac4917e4182409fc09090a8b8449d1a0a5565d5e5376629328a
+513e5d1e511c1626918445658467850af23c33bd913f1d49b9948b8a3ddbc2aaa27222102d924484
+059549876284ed710d3245647e9cce91c08878fb9843b1e22814488714455614e7662a4a04f5cd99
+9939d979b9d999ad15af78c6e97f4889ff879e812b59d7d87e363e83057ca66e525a7c666c764cae
+ae4f8d6f5d72a6b83cb4341ed12acc47561fa97717de5d9a181f1fb771f1e19d2cda133212b332d2
+52333304a74f75b5dfbea8324acc6d25d930f1d58779ca7b7c779e03f366504664aa9405c19b8bde
+67665a9558d53b094b03e591eda1d6cc429d16de301654c5c9934b906e076a2faaab6a6d50d4b6dc
+88ccd139b0d12d700f52bd6208cafd11f7e9943acb23ab115d5daaa869f56fb05308197de67bbe6d
+bfa81fdda25f9cb8f6694941725ca9ea9d13a3573d965b4da07b1c7c8c99ce37e0794694b40ac756
+508d85854d822faa19b73fce6237551523ad536a0c10e86b9cf10547b96f6c239fe1c9f68a4cac19
+58bf87e12166065a51bbbcd7a6c3e144d005d6f9de7cfc2ddbb9bf6df209433984c6b9980b6bf122
+b6bf07bcac86668e309dfcc7239bd8ae8274de65b6dcea1bfcd1d19cba32b9b0bcb831b755b5bb7f
+9e0db1765708ec778583d370279ff1db86fd18ff2bd89fbdc5f8617f55dd95a43cf47f6711c6a0f6
+ffceb8c7d9be726e3376ae26ae8de2dda39c46a501ff1a738f877644475a24b345babf9cb2c8882c
+422769fce963ea5966d27e2153a2daff89d999f0f271667421ba446339852a5065daf1c4741d8738
+df24d5770a96f5f2505f7a636649516f67433faa438ac82a0f857fa1ea0561b9bca4a2c7a66efd86
+bd01b66e429f23d1aef16be8cd2a65c5d6f98f96b461db7e5c5f3b0dd53c7a84177f3e5d3b0a3f57
+6af299b778b1d7929a511bfd79ebd173eda562f75441eafe1c6903a2ebcb2b1a8f5b7419335336e8
+317382d2449901c2598730f0ca98796962148ee252e29362451951a912445bb9fad80bb58fb9d406
+75b756ca07bb04da5107af354b7b670ea1fef2a6f6f2aa8a3e5442a727a72526c42644cbd852d75d
+628f6c917bcef6da2a3c353513b5a6d4e9d4e2d729268789e457d5cb6263e3a3a223599a6269547c
+d8cc20b1bca2aab4b099f5c74675251ec3965458f4c766ee351e133eb65955f1c5962b6fdd219456
+6c233bcee3ed61e695c4f65e2b2d3c8974b10f8fb11dff9a7b9987ddc766b35939fdb3ff5d51851f
+c7b0a96c2f36e5f72bb5530b52f35191ee31519d876798cfc1e05ca3fc4d82dcdd59aa57730ce864
+af53150fde3e93c5435035dbc2fe2e416c4e0954ff71f0ea1ffedee6e2c7effc7fdd53c36c5e133e
+524b5c1fc57b46394dca95fcebcc151e3a141f288d91c5c9927d935f6e4764490bd0008dbfc27b98
+2714b295441c506d5478c929ab0c591e3aa6ea1513d26253a213a3e2754531d28418948064e9924c
+bf7cdfac207410d907f939fb1c9639272ea74d79f89b77983dc7783f978ff45514c4fa970a147e85
+3195289b4d6799aab71f6bd4a6c1a3ac6dec79e336ac7586797f451b3cf31ea7858d3681d86dec2c
+e316f8986a2e16bb0bff5841794b23bd0513c1666c6a1ddbf499ddc17ed72def4dd77e8a7b95145f
+fbfef7c75b7baecdf874d3b9790cb17aabde7685ef2f1f09b49f326014e2bd65c6c2875b3017bf76
+ffca4ff73d8699d7bf10847fc0bf7da08a6d4ae9ed870e6ddf607de6c9a58a9e338382e1fb2c2dfd
+336e03a7669ce9efbe78add761f33ebf43fb5c0409490825264dd42cfb2f129d388f6f8e532eb2bd
+f862f468f4111b24ffe7de9099ffceffd435fe2e11d50694e3637589b5585cc3f69c786fd5a95b78
+5fe57dd561bab6c323e5a5b1fd7c07deb2e511317b91130ace756bf0af88ca6213fc877af318eeba
+a37baeb6d415d6d70b0706ea6fb1ed48514a415269537469520d3a8e1a8bda7bc7057fccd519e49d
+1ffb885f125e185314572ecb8843be3443ed9c6be6115cd7f3a4eff9b17a41667a7e564e06adddf6
+087fc9dce22f5a3a67d6bae3bbaf3d7ec002f2f53beebdbb84057efcd61a57ebd9dbe66ef10a6ae8
+bcdaf279dfa0b0b0a82c97ad03f04f75aa29efaf3dbefbfae8c33fa7e4fbf1dbabdd0ebc9cd27da2
+f16973b7b0bcb6aca0124d541ff6c3044ed7b055260d4f6c6a28f0aaae2fba709f82c089ac4af7e1
+edfc9daaafbe49b6aade212429a81d6911a56ca3771b1b7731c6f7a8ec222e5eddc5cce57d85cddb
+af37d41ecdd75530074445544379944896208e110b190dc69fd1c201b1c509c5aa1de9b2d29c41d5
+c654a2881a482a893839ff5bc65887f9c009afe1654bb91b18132756128fb177ca88aff0081fcfc1
+3d780ed3a30a21db940477377b1a27549104cb7a951a7504fa0ac73de79c0de1638dc2938a6bc33f
+df3b8fdf4478268d8d3ec29a0c9f99a23f9799c94cbdb51ac3c99ee2eee38223cc2a86338b591c40
+e3b3788c8fc21263a263fc825c23dd10bdc1ee2e9e72baf85c798db0a4ac3abf1ed14ffa0d98b5c2
+897daf7f8807ea86e3c0493ce324de5e4628bd70157f1eaf0ccfe0fe727221af011fe2eee5f93087
+b88c2eaf71e2c25b75a16589495e283383cbd096bff13c196fee195e33f6e6e219ec73d545a3ea82
+e03102bc971fa61a378357ced29caafa02ed1ec6b74139f01bbbf0a6df6a9e72f0413cc897ae0e77
+3737b6de196485ac914ba15b6570abfbd9e01388feeac685cfbac415de8111e2206956945c2c2c90
+66c6a058daeba08fdd6ebbe357070a4f569d14d45d520ce58da4f6e9c660933f4bfcfaeac9129fcd
+e6f39f10787b050717330bf8f80d0ae129855fd4def06d883c8dbe6b4d9227f54494c529120a115d
+515c5a5d2d5684448527c486098f882312dd52d089cc2ac5488e22b304e5d155c1154141c12141b2
+4c71b64850669d1994b2df23559c71a4242c273c339aedf1c5e1017ec592ba82bcf4dc2a6197bc24
+a3253d757ea4a58f77f59652e635a447336fa8c0caecad527634e2b87a027d8a6f8c7294a6ca457c
+661a8f1dde989a9f7551714951969f5f94558ce8829c04b6eb49488a1726c424c5a0783abc34a2ac
+babcacbac3a5e1a0e3e1609700818b85d82e620e3d8b276355cfe1254ba2b7a624c65b24ecd79530
+1b650cedbff710d28d8ac9ca4e4fcbc8c81666e5a767a35cba425a14e22f12053835fb0e9eec6cbe
+d52c68bc51f27115de995a98733a9bad205e53a577e6ad114275e48f8c27d9a8de9344b3fe998a39
+047e57e9f07750318cc6df8136995371976a2b88cda7136995259e73e7e716cc7bc851ae5326f131
+87f2a83b2c5f95475ff430a7cce3fc623c033cfcc39cd06174b0d8bdcbb5deaf4272d389665aa925
+a9fb07837ea125cc3bbc73ae3dd1a349f48a9627d49d82c682b6fae63a45371a422db16d516581dd
+fe65cceb37689c428dcafa1d4b56d2ccb6a57cc35361d56cb37fb2a5e57a11ddca3ce77fbdb7dc1f
+ed44dbdc5cd749264274823283cfccc3f3c34b633225483734324a14912f298d12e2a50b55eedbf4
+0477b098da56cec145ca837c7422a3aa6c24fb2544422a028342fe82484610622112ce4244f4cf10
+29ce684d4f5d1175c0c7b9debfc026658147ba24ddb1382c3b6c6270843820a024bc32bf34334721
+ec2e29cd684945fb1303c36ce244096224a3832a42aaaa2b2aaaf2124ae21482b091c46a74bc2d45
+9ed82356c49626e423bab2a4b4ba36a224382a2c214e24748c90247924a1eff27a1a5b7ddaa30752
+bf6d492a4eea661da02ca1e03f1d801d2c96b00e30f1e5c6f9e538b31ccb2a707af934745cf462d1
+29cc7d6e7f2aead874ed5fa2f145fc165ffba78dd786466e1cf73eb17748c8bc87b96125d27a54ad
+dbd3527fb4a54e1a9e9494949020d0fe1922a26411113302cbc26b9b1465cda72c7b4c0c2d6c3659
+95f97cbc4d204b65018e686d65f4365beb2d26c33bf0d455c24b0ed55ec8993ee8e1b3dfd583d540
+4666769680655b5c945d5834a32ab4d4df3b38d8dbe29cc38327a78fde3b2a6ad878593017e7f31b
+d171af017b96d8c6160f8567c00c772f6f571797ca73bb051e2d5195a881eeacafeb54352b38ecef
+3b948dc165ffe39e236e8c671b8e14d6077e63abbceb2dbde7feacf2423c3cffe75eaf43f9e01fa3
+b0b4666c5a0d819ee1c267aa97e8867c4be4287675df6be1c250137b794433a33968d1ee7034e80c
+3a8a7a4bda5acf9cecc034c2afd3d8510fbfcf4c172405f047fb192ee3c2b838cc323070f80d3b63
+f77ecc792c9c3a7627b23cb60117b4143761f7eaaa86f832d5b67760f5e57b38a066ba76f8a3b165
+6c0dc47067319acc5beb86ac6ff5b717b7b60a8f9f68fe043da0afb9746e17647bf13b9adc1cf605
+6e713928f472f215b3e9c62db0a6e378dda7edc784b55d75a58dacd5d63c72c45ff09d7956d64ee2
+9daa6a233ba88cd61e7954111099e93d93e1cd62a630da66c7f75deeed2f6b6d161e3bdef410dd46
+45c90509a5a571a549f5a80fd5647755323fffc1d319e2fda81ce36785a54b909466b8460cb5da3d
+a8baada7ec5aed88a0fe44474b23ca446929590945910509f5b1136eabcbba2d5efabcbc30b71015
+eb96451684486212c2c305cc3c66beea6db9ac061735e037d998fb05676c0dfe907f70877b901d72
+45ee65e10d010331ed894f689ccd4b3a1f5b1fdce8d769576983ac907bd8110b9b534e653b910d3a
+2cf6f0b677f035461b6846f7d162fcfab5eeda6b1d82862d6dfe17d00334dc7d0c033dee88fbf9b7
+bb0d9905cc6beee65bd61e798cd71d2b3a51562e64dd549595f13ee64d7eea67b5ddc7113dd07cc4
+42e84fb195dc6435f3bb6458b50d3f369b0d97775571e82dbc86bb93c7bcc9ace1b6f0f0eb3fe1a9
+1fa862504c7d987c8c5f3bedfc28367b72f09be9daa2dba37cb43f3a6ae247121f2a07a8cb2d3dc7
+4eb71c58b1c6e7c8f6384168726c228a41d1b9099529b476f7e7497d9b99993356861c7214c5e654
+240b922b922bc34b42906e8028d4ff7097cfe91f1e3ec6c4a99011a716a1579d6ffeae025a5bf4db
+7043f3ad195f6d3b37678b7580b5af20d435e61032a3553f3be8c0819d0dedf7cbf0aab6b0b269ca
+d9df4fd7fe7decb4b294affd1b7e7ffc7c187539b93a0685a0f8a4e8f86826795ca4e3b92b2afab0
+eafb59768a14ea7046603e92a38aaa335d0fea8eeb605366310f6d8b92ee8e1327eb8894d9541f5e
+cb0de2ed6548ef3006d86287b73d317d448863f0875407aa951586e7476448328fd0e538329497e8
+9a2891492242dd63ccd9be9683c53ceddf2b72721482273c3c17554a0bf5e8f1a34c201f2fc7b7b8
+cc2d95c2f1c9b1697cb14b645430922051962837a84027b820302b84b5bb9b9b643b5dcfcb6f2c91
+57a2025494288fab8cd6e90e93b3d1f624aa6f28bfc7e2af5e2918c44e6c7771d1fae2c39bd3b5bf
+c695ca5d7cb6d14c94213a3a39ab5e8829ea927b939940fbfe4e7b3f677191b4b4585e509886d253
+d285299929992883ceaf2ca8a82c94f80b7c283dcfc838ff605afbebc8e898b0b0194e0d7edd0d75
+450dcd822caf82a85ab6792fcaaeaca4198d113e8a4d8a8b8d13c7462545223a545c5655532ebf51
+ad6a2a957d27887ce5777c2b7ce904f55fbf5f6aff1e3fe0afb0e1da524f46b8cc1aeaef3f4d0ae4
+fdd3af9b700e853f7aca1da6988ff4b978dd3ffdd449c539e3dc7d16c18d638bf97e1b0243f7a21d
+c8a3417a95f6e5a55a670729fcaaddbb448368140d1c2df895fedbb7c2c7e68e05f26d799b66ed68
+3b54b80de93296ccbbcc1cc6c15cbebdc64658ea5e1cd6e3b29811ea0cf31e62fa82eb40e455b607
+df8f67e2d9d8e1b2e4b2ff8830bc555c76a4833ebc83dfb2bdd002e9d38cc56a36bee9ec3da2183c
+2c086ce57b5c8a3a893ea7b1c5a7780a9e7eb24764df37910b568f91fcc0e0e000bff290dabaca8a
+dadae04a3fa11ae07ded0fcaf0ca369fb669086be09e1fa66bff36f69045381b801f52a1685b5a78
+2aadfd7dba5d1292ce3444260196b63b2c5ce7215510878655e7f68cd85cf3bf838a50796a656a57
+dab9b47255e7c35303db7ab19bb77932f366b28e434a541e6aa771321650d7515958ee5a35a6935c
+1324d11249a89b6c27a2e7e0689ef66fe5b9e9a7044779783aaa8e28d0a7c7df1e9fc137f5f53565
+a66efd19ef13687f8fadafabbaa9eb0d5e2613df04fffe87ef3957fe6981d8ee9dbf2f1a5f540ad8
+d2be9940b7f1e2db1cbc9c4d4d7a3bf7ae5c737ecfe8932b97461fee3eb95218e3c91f6ab6da6811
+e86d1f282aa8881246d4c774a14ebabfaebe57c55399db82a7b7104875e4b0dab5e35b1d3a6465d1
+eb70ea647fdfc99387fa2d85a91efcd6061f37371f5f5777df86b6b686fa36366b7d241bc2b1aa70
+1d54350d3dd9fe046b7f325dfbe118e0a57c3b3367ff7de808722d133784762634a57c4f63394ffb
+4bcc8fb63b3177a63df28b3ee4416bdf6d76f129b09da9b7d97ea76f89a8b6ae58519f224c29e1e6
+ffbfeaae032c8a736b4b9099b9299a3819054d58936bd424c668349658628d2576c5062aa834a94a
+91b2f4267c8834294befbd89820a2288057b8d2d2a96989868884673cfe047eefdbfd942d16559ac
+f91ff33c1a5876879973def39ef39df31e1a21c1e9fc33735377a03494e81dee16210eb50cb20f9c
+a5fdb5a916fb5bdf5546abe7f69e59b1f2e49e82f8da93ba054b4a1cf7a3dd687b5c515e665a6256
+e641063fdecb21d330931893e020c20f8218e79916262656db2a0e65a5c13be5ba576ab8d05be945
+fb510d4a35d93c5cf0096c5108c38953f43eaff9fb402edc3f222432380ae99448bcd6db3aba983b
+ba8644da88dc2cb33d5203f290cec58abcbd6516197a5e7e41815ea2f4635a6654739752e73b3505
+d3d653151f31d3b3fdd8a9f8dcdfe1bfdc383dad55f4a51a2decaaac2f0acae98bd55ae5f4f8c55a
+20696991720da35bf75409376374ed4f491aa856139c277196eb9dbc1c11e3e01a9f9a1a939c9b2e
+5a41195bb9da220bc6306fddf6ed05a9d5c5ba4fcc61f133f80ac23516600db318bbd0750423b821
+9fe10f5644af483616c5d9c6880b6c27e1bedac5d431e85ee89aea5f481082bdfb0844156e157625
+22d734f768cb14c6622e97bd286a15fa9ec1ccaaef2698db47e76cd075cce36cf77b1c40a7985f77
+1f3e939be2b53e53b73924378ee0cc29dcad1f7ee74f2d730a84b07c98ead618ecb603b492e061d2
+831d1a68dfbd8b7cbf7d9a7c1620ce6ab6b9dd5cc40c5b728c7862d73d477e3a5264352f52147f9a
+42e1fee1de21e6b16b23d69120a5fdd537f86d4c5df916ded97f293e2644147f410b7fcd4fe4f052
+3c087f2e3d1e1a8407c142f2e73318048b6021fe1cbec4b34541461cf9ff9eb82f1e8947e39e5817
+0fc143712fd0855130167ac107f0b5a8d580d091068d0a01075ec29c109e09c7d5c416699fbda814
+2a4b40335143363da209bb841ea19c0e4643f6d29981094169f2f1928379e4f38f33a039e0341eae
+3b860afa796bccd57066089ec9658487a7836edd8a36e323af7100e9c265155965e397023c7cd36a
+7c0d8ccf6bc24fee5c6450388a10a6d2fed875e88a7382b66c2aade3a1b4544abdd1373ce33fb827
+8cb133f94abb73982478e461be1b49277e99760b16dfeac55ee427f18bb961f81665b7668dfd0ac4
+2cb128dc2f8283c39afad2c821d0c96b21e133be6bfc5739f65e15bf3e3b57925195e59fe5be57d7
+7d4fe0d680e29ca545f6558451edc82a3dbc7976aa4d052a41a9b1f9654c046defe8e12b2608e195
+b88b7c6e9d1771a6b78e93c8ada9411e93a6269f0bb6dcf1a6e019348442e5d35956d330a5650982
+6a7f3e0b9a16ed51551ff86777836e051f5566f8fadc63dd6515d9db3f69ea0b7fdbb846c52d846a
+484dd3a8be2294c976732b423cc35106037769b710fce6222d7bba3806a130c4846df67310e1ad34
+b2f7f233dcc4d8c1c2573b248027f316aa7e8b67a61a93f6a87a8eff6ce7f8943887aa12c26b730e
+1872b9bd52c03fc933f28867a8b87fde6ec9bec9a7f643f734f86f528fea2bfc37a77bb1ee8dab61
+00b708a20c28bc0a276a2d87e9434fdfde47e3f7f673987c7e1f98a6550e7f722b28b64a7ee6b71d
+eafec18e25218ea59a4b37b2844a6a3e8b7301b3a73d3b9079162c4e6a71ae471d3ad7bd4e39d7a3
+e772ae9f85c8a3f4dae58e75b2f6b5b8d60760f23c959f7f92030e152293f25b2cf8de31304aab3c
+022152df5bf70bf13dfe9ef42cbdd9b3ce76d2b3f8643c9b7309d762dd0523b7ed83dfa16e5caf3b
+94ba1d55ea1c595c366e8d9987bdbdaea3939793eb8a7437ed948acc9462c494e69b1b59592e5ea6
+27fab4af963d84d142b3b3add0e9aca0712d1e0b86490aa7ad7cc269af74e8b495ea3aedd7423054
+7ae3a40392a10d3d5083b8debba1177bfda0d202cab09e6cdd535f35c4239e746ff6540789badc8f
+cfd67aed6b71e4231d3af2c14e39f291e772e4333cc5b1378d5d88cbf4697619f64cb43d719a3eec
+cd66b761cfe44611c7e9d3ec38eccd8ddb89ebf451b88edcef0f36087e7f8c64a5475eadeb0f80c5
+eae6ab4f38f9b906e2e6abc815f7625d27bc145f2f9fa0cad9c9879270fb47e3798efdaa5abd5fa1
+39fad21570a4b6074cbeb0e80ad49000ecac7e00de258789c1bc35971a12bd39dd37ce5b871d9329
+8edd60d97bb5aded6a27cf2d710ebaceb11ec2e9e546b1aba345aef35ed0bc76e0d25eeb92f9a922
+765c796e7c6a56ef5dfac57367afb59d66aa9bee9c579e18538c740a529cac4cd73b4cb5133d390e
+01d93328d0ed2afdbb0518c823385c3f893c0203020dbb9e80864b1d42c32eb5e3f903fe1ac7462a
+bbc96cb8124b692953496e6b422a7f963b383775b564e2d2ddb631fae479bffd653fdc1bebfc3a00
+deadde9950582cdab7b7e05774179d763d6b79c461a773dad2ca9f2bb4d7e50c5ab634c72c6a4698
+8e91fd5eef02b7ddeb74f03bdfe75b69dd1ec75d3f3888b807bd6adab76b4dd2b63b886caa5d4fa3
+d3cc9d8a23a775150072a4410a1f531a802600f2678700f29b3a00c2fedc0c217f3e1784e06fe03f
+1cfbb39ace5707ee102654c29655e8c3520203cbc8bf2af032e15fb0549ffc8bfc215fd7d7d77af6
+296260e11b9599f1cbd569f3e257ab2a2ad4c139121f671ed7e4cda00b71895c610e6826f5bad5dd
+70d45955d99e4cfaed6cedab137fe329b07b2e3627f39ec3c27985d4811c847f991317e23d3bf4a1
+479e9d8ac2bce773f9d00c7e19c73eeca2e679caab1d16c743796355d5856775d204e2a3aa12f497
+eba3f85de2a42a3e5e38057857020312616ca25802d48e1e681f4c3e0a5d4fc0907dbdd83faac186
+dfcc55fa23845631d88f4686082d170e504608764dbe5ac63454d0c50bb7f8466dcc5a9a66138f98
+a311945d925d86cdb60597b5f7266716a20aa67665d1545d3c9562a11ab49cb8edd4ee34db250b36
+58ac121952957057e04e83f01758aff9c4601e7c0183602e2cc79fc2177891c8a82b7c05efe30ff1
+b77838d6c6ba7870f381c13720fc3d54265925d733d390ea9969460aa3f1ad0681ff5e444bb5ccfc
+1967f04fa0550a992d5a65a7b7520455b47f883ea13ddf39e9c067f8807229b31727b777ebbcca32
+2db628e441508984bee735c1d18bbb125ebd73ef23b748ed760523ad135c52904efad382916308f5
+3c3eecbebbf110254574979048db768be8afda31a38863aaa84ec81df361a7a3e71a217ab693ddbf
+5caf3c26444ee535917e7cef02b02ed040db60ed364d302099c59859b3c68c3df2fda52b470fff78
+65d6913122f3aeb515cbe6cd35583e7fa1c19e830777efd92f6a8eaae71a34fe941e96bd9ee07a04
+e6aa9b9fbc38afd9785e75fdf6250a0dfac172d56713afd2532608114c794940e624e784a240e003
+d420c8de09cec23e6aed2eec3dc161cef56ee52f34fb88b80cc5de139c6662efe550407e46cdecad
+d9894ed7be1c37dac3df7e2ee254878e83a56cb62aa7271f7cbc2998021b2894cf580d3f0ec35bcf
+5849cd151627bd088b8571e7db2f8abe4473c514b15795c70582bd120cb9fd208da0c8b65701ef37
+f88b6a42864c0e1372cb21b1b52266e14338c9e1d5748b28a66347a29885ad4431f1e251ab68a82f
+e7707fd848b18eb95b234a7f3aaa5a1f13bca03fddcac2eb1a3460a100bb2f87c4e9f13fa8db0155
+0da9c720f78806ccfa45132a01389770b183b7bf2dd279e642a7ccf2494af4220cff5358fd9cc98e
+dc3d044f7c091e725e00f47649c12b1623c6772fa8f456b952f155a1f22a572bce7c2eb5629376d4
+8a33a56ac59f363ee0d8114f565107cbaba8235aaaa8839faca28e78b28aaa709c1dd25e3bf09236
+dbbd14e7f9bcb1bf9a0d7cc47724b242e3a40b7a247dbe7e87187a4bcdf0d4933543a758cff66a86
+d7cb9a6b8673d6da4e33d34d77ce294b8a2d403a4529ce96a6eb1dbeb36b664042d9ebb633010fa7
+dbbdd83f9fcbbb86c1028ebda3b4eef7931206d622e5094b927a44cbd43c13656a9e83db51f34cec
+949ae79ca7d53c13d551f3dc034dca9ad6e4dae86098f41cf2e8eb9537c4f19bdc72c169fb91ed75
+c93029d329a9c7e93bbdd8c7f029df9b0bad89d8bd352fe352c5cefda812559966e9c5da44ae0b5b
+c5c453ec7f5cc14ecb99f2b3f475f7409b905f880fb9498f53cd4ca3cdfbe07fa14f31638fc73006
+94ed6aadd3549017f2217fdc9057b0fb9eb7ff6d287cf53c958187fd3200de42e7d0a9a26d079802
+da7cde1ce37968309a71cb0dfa32d083cad8ae85bfa482e2c94ddc2248c40527919f862554e676ad
+6e8fcd202a89ef92a4011f9e81900c38754613bc1b7b727ba84294e014bb9c49ba857f1f9644c554
+26261621a6121fa1903e42cbfc988df06d12bd2c8c24f1150cffedb75c140583e19816f6a4914590
+b75f806f404090650079d9f8e69711ef42db6262ca4298a47e3449c50fe3c170580bbfb391ca09ca
+708ab162f0661ae97b7918f9931feb95441b867a450b3f66472be093505058d3e0fe204ae0a0af08
+469bc6c342b569eb3f5b0bd48c1fa3d4785f94dc39eed3b85ce907f0a84a23ac27df40e18246f2b2
+90bfdfe3c09c5f09f39b566ab5083fc15f708e8319c7f1406af79d7939b371772d5c38033653d384
+b9ca193360206530f8a0d561e8ae0585c7f166f2c6de2859038c7b1ea26019ff269ecfbfa1358bc2
+4bf1ffb460033ecbe161701646c141188a0f93cfd9c5779dc9c1578fcd1646e2ee7f6fc573f877f0
+c8b1694b7fdbad25a5f31a7cfe03a51a627c28bece1d6f0a9d410c7105ee0e5d1b4db66bc094467d
+0e92a953a8d433d94ee21ce110b99cc9a0bc60b456d35d0adc9a4cb17fd320ad469aaa0113adf5d4
+bad156ae9826f7f40a052be091fc23b31eb4a7b9842775e543c98752dd1a4757973b154144995b51
+0f94ce9fcbecc55a421964720e339d8dc52ef6b6ebddad912dda10ed90ee90ee998db63317ab761d
+dd5f6c3b2d57f7c07c2efd585c61780cc3c657a6e72695f5c94739e24cab4ceb5873b48219327fe1
+b70b0d53eeadd45df92bc75a5e37308d5fdcc718ad73b5b6b4b17433464bd1328949ae45ae45b16b
+393a89ca724b2fe62c4d5b17ef46dece3e33cb23a7cf765492905f5c501c5f866ad1019732b342b3
+22a384e5681532f3dee0b4c1c9c1da519f302f6faf5c68d809bb776ba09b90784df33f044777a7e5
+446c43ccdd439fe1211681b6fefaa2eff798c62d450668ad8b99998181ed4c348bc16f5c1bf1d7f9
+5365a70b75cbaea503256dff5c88ff059fe3814696be8ef375a1ba6928e78475dcf4d72eb0b73073
+3447cc22f3aaabf0d6f15faf16e4b95ae688420310da22c824e9084da7e35b4950df3fef49a2d609
+58ee45008c3d7efee8c153edc71509c546b613d88e772ab065b60e6c3181697e319bc282a203d70e
+ee6c47eaeb5a0081bd204575d5e4652ca4c1ab486057c1685fd3cd18c74f574e37a437419af3bfd8
+fbe0c6a7296dca6f2de15d76e81f22e28d3df962f566a214ac7ee7a19753f0c9e0ffa7ce85b45942
+b0fbd0c5a4d68b08fe5bddee2682bfab55af22f86ff52bdc45f077b5ea6504600257d5b9192da5bf
+7b0f0612d275bf7355f22aa1e2f7744a41681201e21fa1bb49915932afaf204b1f9d8f2774a9c813
+f2ddb8480aa85b3f3ee890d23880b9d6b350abb6c42ac9f3696695e199ea9f15603a8c60b2167bd2
+3324222238ba4f47671cbe4181dead8b97d76b5ed2c99c1f5f2d1f737cbcc21de84f84d2d69e52d8
+542ea87c42aa611958de95ad28995fcd8f4de49c68f66b92a152bfa29b59a5e599d9b12568073a6e
+5a3737cf304d6feb38c47c07d328744e127b3944a8db2eab6e2aa0d8add52d9aeeab6934cafd6bcb
+efc4ebdcbcac83cd82230a5610a397545b6cb4b658bdcf7d9708b8e0527027fecf909f8634b06cf2
+a7c987cbf54261d65e0e62e8d4cdb1c149025d3db8ec33113ba4badf6c03dcc7d6373c53b75be387
+6ee55052feb314c0797fc01cae5d05fba9800196df2c5d6168bc70e32c340acdc89978c6d959bbee
+9b86150254a35f4a0e1dabda9f7303dd41f086f19da98767ef1b953b9a5088653ecb5dc57ee24dde
+c4035da3fd921947ca1b3b6aa55289c724597979a5a57b93f72310a19f7197703c8e79b1d2eeff9c
+c50e77f9b75505ea50b71ad85b743319bed8b62ea907fcf1d797f0b650475853ca7d8e0c4f9b5e36
+f7d04e9f9842e8d668f2d4169f07e627f8d7e422bd6811fbe8507449e5d5ded003337b3063bcc1df
+c342d7d5471c28481a6c421e510c7b273044cb85dc1b0372d7d947d033b1b0bca1cfc923cbbfc15a
+639d678816991ea0d83f7f3e366f00d6fcdc7aa17440053dca930dcb81866c8bd603ff5a61b6f864
+22c7de7fea7ca115d208dd620a540aa6d93b6b2dc51bd6f56e19a7db18271bbad371708d4f49dc9a
+9890288a8a0c090915844fe391449c0f4645202a768deb01c3eb61c4ed5e6c1968f664ad612405ef
+91f87beffe805cdc43b4fe20b527a0ea846e1caea503f07b5a09145b762e522239d4e700be4aa125
+1bdd0c37313000ecb89fced98e11b12693a66d986a1f9492a2ab288f4b3b2d346e3f382ffc7df355
+94c85d1b87aa59c3e2639184ffb8582ce971a41e96d4f7622f42233f94c3279476a46ca7d99da832
+3aba32949134b98ae93d01312e02610f55f66af256d7851d4ab83f74496b8dfa55202a23a85fffcc
+49725b24dffb3490336cbdb88464c97dd44b92b1fbdfe24e09c4fe83faa1873c7eb31d2afa32d7a5
+359ac81c567ee8cd5fab7d31c558437aad85d80ead6394bb716a7ae6b69450d113eb3f1f9b491fc7
+ae7248110e79a0561e06abe451d05ddd20d87aa1c9345c0bd3da5998c256295b99b21e6ab109ad2a
+f8b9b78a7d8f172876b4904bfe042ef23d81eac536c13138c9850ccb1959b5e8c0ac53f29660a675
+4bf0f7459f233c13e1aeb897079ec3600d584c7562af0bcd0f834bdc2e94d15e43f1066943f10625
+0dc5d9b21d73861ed09dcf4ed4f8e9a166e324a11e17d8b22234d4c3d908b3b84a9b848f6cbbfd28
+b6ed92d06dc292d00ce7fdb8377c8641db6c96abb935629cfc24b129ae69c61badc42bd716daedbd
+5b9c0f6fed15c177fc17bb6fc685085b3fff39d1154af852a5a9d82ad9698f7ce1ce4a30e1e0aefa
+0b778a69a885fd5af89afa3b77d6d2af76f7244e6ab45639f563610f8160d0adb18b22b80e8f93c5
+9511b77791c8b291ff0a3ee6a44155970455b65c1e564d5ce913014b97898452b02c9a8a69766373
+1416e1d0bbd2d0aa88ab22a84ae1d822e5f149119df0dae6e844ee12e8c1f4ebb0f4f52fb1248103
+76d440949c740e823aee019e4729619da0ff9f9abe10a506f5acc1519f50cadbf76b85e67dcf97d3
+bcefa9b279df5368de478de795288db419d4dff3b206f5a7ab3da8dfd848b0a54b39e8491f8ad47b
+7938cfed2c3a904ef0aebe6efa1811666934d9d373bcafcc2dc7877b4609a0d183061a6b5ec4a2b9
+8b6ccdd7e842b83a4fab6993b2c7ddad718c02e1885969803b611417e349f882af69f086bada402d
+bc8c5c84bbfb787f19724d1036ca5d63f8a902273bb335ea7c8490c55dc4d9d41768d47ae3d5ebad
+dd4d0461b944a3bcf5f9b6391e27dcf16a1ca66d6dbed1cb7813c3ebf327381c447fbed92c6c4586
+69a2e30eb487f9f54019bc571ae56343a8ab2d4a3cb383efb7e354a220e268fe00cc7fd18493b739
+6484d67db645560818e4bfa9106d67a0174cda01fa6084a794604e847604e7de0b9051f5df4383d6
+a1d50c49eca6186323ac0f938ca0976847d761f8bd22180963e0fd82eba2074dfd38be1f7d1dde37
+c763f048fc9ee930a1ce29f0c69266d43f04a24201f7afa981fb0d72dcbff62cb8dfa01cf76ffedd
+b5733b04080816f31f4bf16f32413f27b853cce1c9709d5202518440938728073482c3b0944a300f
+fc1c21a6944208dd8d2b60d89da02fa13a003a590caa3df44aa3d01af85bbd6adf2b8c55e31e73ca
+82b4906efe95d78d1fdf12a164f1894481b6d1e9e9d8248404457412ab884e2f6d37fb8b2c57402c
+24b6732ed8268adcab91e636ae2f2784a88c20248034f56fac9197bc1a8722091867c1c7c737487a
+409e3451b5ee09ee12aa6521dd503a01856d89b7f9031b6883aeb07f2e60b35591de0f7e7f8c9230
+ec9d848a78e89593e1b73eb74f4a4a7446895d9ce91cb19e9e58e4a6bf6ec96ac478432f0a154a62
+4b3713e69814ac25c1ee623a29a83450e286cc74702f6f7a355ab7d7ad82bc558d585c33a78fa99d
+abf1fa148f945cbf0c9421ca41f1b85785f328b1df00bd8956a60181ab88a9802efd0718c4678505
+24201d3c94466662b735811b83b4a50543fee4a50d893d6e931b7caaf163fe3e17bc7765f42ab418
+cd7735c3daf6c3664e9b88180b984fb1c5ea6f17b3caa36b5082f18e19f021dea00da312a925c10e
+bedf01350c3ed1b629b74f370ecb8fd8772ce936c39e3a1c1b9d109725313fda2709a5c70615304d
+0c7451553baa26d7fc4091f09ee24b1bbb7221e4196ea05c863a88b11662d862dcd8c17658de8166
+4f4977cbcafaf3921bdf48ecc12637ce125209ef9654c2d3d9da146b615d6da38373aedb95b54d24
+f609894482f8772c020d3c5c1b0fc57a5f7de41fb03480649a6e89f4fc2dce1128154924e9c5bbe0
+2d18a8fd1bee9bbf3cc11c89755843e4ecea651ec4b0c901c83348ba758d84b2c561e2ad8607f022
+c8d486fe30f3d8a5a46869def15d9ba7c4d793a754611db76ab1a12bd636d3b51fb6eca53da3d2d6
+cf482c3ca3b4940ca1d02cc4c5cc6628055d10812e81d36bcf05a755edc0e93519f5cfc1a99d897e
+8d2bbd0f2e93888b6066114c8feb8160c1eaedd0bf1ec6fdd68b8df3e4fdf8c55cd347624a11fd7a
+d3b39cff6d6aeb931164abcb26786e08f2d9e8d0dba2d03bb7e674354cd565f53d6111f46f5593a2
+d9319ee49e5f4255b1c5a9452949db511ecaf14e734a744a5c9fb820dc6eb3e366e2d0fa9765303e
+0b5b7257d196c078bfdd2e8966c81459b938ae7771741307cc40cc86e0c41469f91e1dcb539c7dec
+a9d5002d02b21a9d1a0f980709cfd5a9b8c0bb10c617837ea60618083d5d6f2ff97ea17d8a534672
+42425684282c656b71587611d2a9479523a330cde09126308ac25d56cc1eabb7aca4d25ad7c63947
+af72d905a4037daf3c847fc3bf46fe85b545dd1e4f817d6074139674e30da4b53e0df8b25e931f2d
+3c839e94aca229ef7aaac6849dcc720f7e32adba5e4d1f22113372129320840839317b41a1e8c87f
+753a655af2ae4a4222bedaa9c91f4de1a6abb3e13549d8f0ca473f9b7728f78d6ef03faf02589d0e
+93939cb27a80d3d959577bb1e7604a1a37139914ba9cb2f7d7de3a3b658a34dc6a979d3e7d7979ba
+498488bdb83d2223bfb6f78d6f0bc6ae7708f071d0f5f4f70af443012810f94430ecf5c0cd5a9ee4
+b17ca025a1d88bb76272b24ff4d9556ab168bc9ec74a91c9866d147bee70f99a691316d81b0b2419
+4681d109f26c1bdd6555993d87341a2d9e28caf8ba3baec65fa82ecae40454e381ad8a324ec85f12
+141b98e291aa1fcc6cd8205eb9b6cc6eefdd92ea862a11180b75990ca12e83fdc1512dee1789fb17
+40d744fe8d7d305d9666f90043f22c623a35d4b3e64c604a2756efaadb7fd2494f1727d168bc8f85
+ab557b56b0c7be1cba365cfd4b0439f42ff8adece1d3f5cd0dcd75a59cd9a99cbf2bad1c16119077
+e2037b12929239464a527c60ad2cdbd3e1bfa251fdd6e84ba132fa7bde2f468af061b888f757fa9d
+7902a797678d84c02c909ed9f17785e33ad8580d73c86719348e17566dc43a518ab2e332e1cc6d90
+e2cc8d61f383cd220a56f4697de4b607962358c58033cc11cedb2c955375d6404ed685f2c76230ba
+0ccbbb352e4602284f2f861971b2bc448ac855bcab30fb63d20cc89f923c85519661282ff4431f98
+8cffd50a9cdd5f2c36eb0a9c94af1778c7dd071007742f369eaf146e5cb11355df721834d1dd7dd4
+26813b5ac24df2f967928b0b8af2927e4015a8dce7ac51c9ec7d8b2423d152f4bd8f870f0313e9a7
+f7dbe3dff1c75c4244fe96045483b2bd333df7db654e44b3909ee3b435f616ceab7dc8352d778bcc
+135a6153c1e807c1ef06135ebaa218664a348ed4f3ec2f9afc487e0af74b01fe00bf33c262f2942f
+cde10378e77aded93322ac477ed750dcf3c2e7d09d40428f2bd236ddf1bfe1f7f13b9347e2ee9ea2
+19c0b4931d2abdebf4eb1e8d9655d68cae13d32251417a20f0c4b10838d4f662f778f2953d77c238
+ad179d40fca8ac0635c5cd4d9641908f35a38443c1f68f13f20a8a73c8c34c93add5251e6154af09
+23e0430ec46a98ff9230ef18b41b8cc0411baf69e7bcacf5bbd4056e364436c251318c84f92740ff
+49420d2b08e120fcf869cb648b9ffc4ddb726bf694c0aecff60ee3ff50d52e351f25826539df455a
+a62e14f6c2f3e33960956e74ef4163faf678101dda975950aa8ba7746219bc39bdd274fe86458819
+b9e6c48f8481d0cd213be18166e308fe34272c5f1de52123c6e4f2278592d440f6766762627e1048
+b43e8dd7376dc6aefc662d61a7ee55ff180f61f9f6674a83f1001ab6109a1a4bd8c94ef22cfbd4e4
+d56840d77a9843884e1fa8e6f0721a4df3729fef279bc2d7dbea17814e31a04f3f32aaf9669e91dd
+dc15bac0005d431ca637ed1f62eeb1c167a1ab8eadb018784b70080a454c59848fa1c81677d583ae
+4dbd499aeae73ddf87bc99a5849e2fd4e1c89bf9d13b76e5c46f43cc9e74d3a9c4a8fe9666d23b4a
+21ba58065cfe0fbe11a0ab309a209713ad0cb78c5be3d64e01b79c4b2db3ad326da367c6ed8d49de
+9a96ccb085e92992e2edbda1eb5707f044ddd1f827ee1edae55f2466586382566b66f52668b5b62d
+5ac1f6aee04cb32392c32325bae514d075fa5f8d5bbcea0b453251225f717d0c44ff802dd783fe3b
+b95385b6001407d3854c432ce971e1328cab176615cb6029b77b2cb56ccbd2e9baae6012474fdf52
+b547049b69f60ada9b145b16c24868f61e9e4f8d43669e26f6a60e1b57210b64156947a294d356a7
+fdbe98c1fdb42dd70507902cde15bad3c435c5dc6814b0d925cc20dea91015a19cf8e48cf8e458c9
+96e388490f727290f7005596ff5a031f0873ff42056e2bbf8cbb876f504a8fe2a0162f517a4877ef
+5ecd67bb9479d60a5cabfceb9fd1b05c8f83fd5fe05aaa5be332d929c7bcc373f2f86e7536593dd0
+0d58510f4b6ef4629778c2097e26679c101cba9600eb7b5fe3aeb89f884df3c43d6a87fe7aa030b3
+a25c57b8aae6d30ff2034f1c7f6c911d7f5c951d7fccbdfdd942bbf57aab4450dd72fee14ab7394f
+99da15d905b87bf930ec004f2707770fcb3e96c865ebc6248b6cc76382b2ed9b653f5c3f1cb56eba
+6e7d30c7f6f1cc292adaf5c336e9c9c9da09930d4ca42727328c2e3df4aa503a024ad4ed6124e4e4
+7aebf9c2f88742ded83c5c68d9d170617cabe1c207f91c6b991b15b1fdc6b10e260a8f36562a3d87
+fcb2554f157940980b87713f431710a1fd68af63e99a4e6ae776dc28bb7497e595803f18d85f4e75
+7b6cd88a4d3b0bff0995d5c9e51c76e6fda9765872a582253f9ed07cb6c24f55c6a95931e1db4e74
+101f42beb9e59200182ddf945279d9917a4bfd1b73b058fdfa77fb3ed94ea45b4cbf4ec9cc132af4
+6455aa9df3a1adaaa9e7eb8576ab493ccb3d55fd3ceb11b2092d61f03602089b364df6207ee32ea1
+db565c33b6c4dbc07b4f945c2d3b28b9baeb9b0b25576b6a2b44a92a38e6abe047ccd3fc28a2237e
+d48d1fd1d2ef2414f4dee387725be03d2d67ca7b92583c575ac14c68a94c296f6c3a25343611eebb
+148c7e1272009327ec8e0f6b34503e148a33f05f2fdd22a59a4484cf426e4f5821a12c11e1bce5f8
+7d58aa7d0dde4ecccc89cb0bd691e0afc4744ee0563fe4863c3c1c3658fafb7938bb6f744bd2b6d9
+e15c8062506c4c784e3041c435e2483a07c5b9e71afc4a2222a6f068abd55ebeeb36e988e113096d
+e3111a13162e8949125d86ee3fe3be5bfc36fb213f1de4ec1bb02e9079e5ca1fdfab52fef87fe211
+ffb8a9f57fb8a0b19044a16b79dd1eaf56127a1a133b57cb692fb6906f39b75fe6a96c55e6797dd1
+40f1d9d76a5ec7a7e32f61a2620b8fbc2a71485890f39a7465de22745d1dfa361c95f367a425b951
+d5b09a98cc4ef83709320efa010e5f07f9e0b5dae954fceddc1f891131102c049cbca76c695c330e
+3715b46d9eb7c35d371a3227677208190724edce3e99700f3d12fa62636175939502d49fd85a64cb
+9f86499cb2bd44bc95b255448201163fbdda085fe677a88aac3bb155017cdf2a579e4548f523de90
+9b878cec56cc659ec8877d17ba3c6b3e2c93b8fb4b9d2afd41a14a0f47e85f0df64d249cdf4fd143
+5127eba1d8c93b4ab8655bdce385c04042f39198f83d5b64acbdd23fda032d6758277c1d4f8613ca
+be87a5ddcbcb3d3c043d32a1c9e217ea342a182e3bd59047aa7b35af2a5635717cadc25f7c84d332
+192b814fabe01df2abe6c32d591b366bd94e23b6417323f6bb2da94f6f9acd6f394b130ed2900323
+3d49fb5138498345cdf21ca0fb835c9f231bb6714178edafc3a08750966c510f1839dbe2d3d5a2f0
+bd210f6b6af2f3cbd36a8399bdd45f286e474a25634f79b8382023c47c4639a2e9e275162346db61
+8d203c9081b5d05fa5e8401b69bc4e1db1756b5c2e0d8da74bc17187e0b35e7f802b680a8dfbd243
+a8084171d86ba28fe007d610dfd2f45b216dfa3da368fa5d8f5c82d6073230825674fe367d4bcbce
+1cc85b69a409a70e7d6070d32e0ef25bb5f0cefd4cc49af49bbd40d1c24b026311d079607d4a633b
+b9871517cab28f9224abcc3a7b418271f8bacd73185c4745ccdc6a9d6e9163bacb712fda83762794
+14ecde9e79065d654077f20d4c0f9a300f7731d2854b7810e739cedc640e9a83ecb2dc6fcab219d9
+698194540a1dafdf377ec6fdfd6df3618172c6c85ee4c3a0b6c9bf1dce485ca0f95ca055c0947dc0
+829e2d0998ac16773e4c16ed2ef96ff54023897f35f9e35a3e4cd9f79aa6b63ef020fe9547955a05
+e02f10626a2984026168518614ecd0a93c05e665409775d23af16410f5620d9e01fae25ba0cf4001
+7d4b205a51426207a92c22adb33195169106b7ce0a8af96e42ccfa9f1a6900bcd972328ae360b6ea
+fd1e2f68e4fe125faaaac83bd30dbae12ef2591a48161e2c7f89dfc335d7ee4a9de8ab326c6a5a43
+aff4705cefe61791eeabeb55e81ab71e31b60ef6b646dbad0e4097bab3f09ea8c97222c73aa9efa2
+bc4f73317d328928c3219c035a599966201d34bcde6227da890e2665e63023d528cd281ec73bb48b
+fdcaf56b83cd82d7640597c9a7117e53641a8b6a418b00789d6ce99683b030302e2537216b47a1e8
+d2b1c47204dd1888a55f18b64fb8320ac616646f09cfd735b371b54596d2c3861df9a9d52542870b
+1882d1192149a4e4f7a510feaad7e4170816c6e19f706ff8490b8f556a6ac35aeec3399ac051d7cd
+7e21be213e3a61ce613e61280c85c7488ae1135e431befebe0e611d43744f27e8c61c2c413793a23
+afcdbb45b20a09b910650dd8c6b08602ee46f2fd8bb3f2466e15b1238e6cdd9778a9778d59059ea8
+6b8cc55c15c51a5fab369efffd2a8781864149292298d21574697684242c4ca29b415d43059641cb
+828c2c4dc7a0e6a9d23d2d82728f0e35ee55af4397bd873ffb7b41a7b5e7ba35de55448bcd893d64
+0bb8ee116fa86aecde99a0d334038fe05a850a4150e4826f84970cf15a028e7bc701079febfa4440
+698e2604832a5122a494c21e21e9935dad50c95e0ee55c46607c50867c1bd8a1bca23a741ced702b
+b1cd5e533e3ceb0b926e5dc1f11d6c14e31dbbb2f732c3c333a1cf618336dbc27820e1def4141834
+377628a868a100c995cf00c9575a20b95201c9b79af43b55d59fe775160617c377d91a9007965c31
+9e4a073dda77ee2a2a42319e5b4dc21cb465ed938c9aed93cd92a763d0dc3af73b8c028ecf356840
+7083e6f383f2cec6fe4a7add15667f484a76d21b1bd5484af0a2bf833bc389e6b462c9fd85ff8492
+6bef62ae1d167c9d3ce576f971a5821f370e91d0aa99b6184b8b60d2e9be16110221f5844f40045d
+5fbb0c41539fa6bf3b65735b5a1de5c36ce9194318d7c94688d9ad1a213a0c649fd2ff70f5206c0f
+91aa28cdb3d2a647f439245926ef27d341e8873ce951f813604dec1856f2ba1c0c6b077c85c28b02
+7ec52ae097f90e5f7892cab742ded7a522d2edf17402f9874ac0516830e53f17463ee0b2f474f88a
+9c5fccf7a02722ab93f6b718f60e689b19c62deeb3cada557f7d9a43d2517101ca12c5a168e7d8d9
+49434b67e6fb18fbd96fb059350c7fa2fd1da61cc2970847ada368f81036ec381e58528374a2b115
+852679c8b282d6fda8d1740d0a54a31f35f67074421cca4262f3a38811fa515b7a6145f6c3ac845e
+580fa117f6a2826b0a2b99c1f1c205982e7dce245b52941365321b8a92e2e30e4b8affe95449f1f1
+73951477f37d3ba19471afa6f35ad2ff86184563bb9e32f8aeeb791265ca4a136ce526982c83629d
+f6a1b85d50570feea5c719ab60fe19a129e5c5092d13affe038cae09bda702cd303a25740a495031
+ffb6b4d6c156c107d24efed9c59c18f96c89cd8d4cce3e83ce3330093ec03be9591e8e4b75f1bbb0
+9243b3ec67b85bb8acb1f2591db409cfd7165a56b36f9e25bebc9afa0165cbeed426984fee538870
+9f525b0faa8b5a2664e4828042d4ef4fa2fe336b02e2ef952ed1e6375df3fd53f86d9b47dc6ed6bc
+14595e4fd8a9281ee9e4fb12db133eb3cabe41faf8a41b295edd3e0a58f18baab1d0fbe472f64017
+61d362a2a0af4fb55e93dcb45ed98a65fed796bdca608557ab15c515a97c6b2d9f7ce82295f2c902
+d156a998cfdfed8bf9e00ec47cfe7e95623eb823319fbefc27dcf4752be7a0b9ccb2c2b53b0bd352
+0bf2ec134dfd7c8382fc747d03110a428c8f5f58447e56514db1e809a3e0c7f6148aacca1ea60bdd
+796b51bfb42bc8b111be98d54a8e4daa217a42a6211ad58ed4da8967975a9369889e504743140f6c
+faa5537cf137d93d45d74f49efea05c276c34be32e441e42d93a294e09f6764ecef6ae924fe387ea
+1e287fd94ed80d72a5d99be459fdece27f07756ebef1aafd9fb26021db55255b2773b8de5ff8db55
+5865e7f9e42e3bcf8e97d979aabdb2caa57124c7c6a9b91a869f8747d7362804316071edb38f1c33
+c992cde1a9bac656e2f5f2e5edb2528facafd441e82b8d4bcd8849d9512eaa3d98921757ce2891cf
+801bf02e2ee8ec3c293136415aeed52d1aea0dd14a870487934469166812533b0b9a9a70188e3cbd
+8f1a97c1f14e1ba160c5421bb1843ff2a0c7c55a3de939fc347e051710d2d10ed15e347b5fa50250
+717e7e89285f42b177845584677b2fe52f71b6f6f6363629f659d9a929d959f6a9d6c27dbe644188
+ba201570d197fc63b982afdeacf9a72e1dc5b670a3e5e4550a0232a88f0351f2ab61000bff9ed529
+63fec734e912be069ac243deb4092c1f4a7b7960a12fbc25f0a957b95077a5aa85ba2a1b5720d76b
+2f98d440d73c8d13f59aa7e120375def04ee438dcc313c585992b6375fd73dca71838b804c26e2cc
+232278fbaf9a8fa0ebfdbcfec0d05b8342085bf0f6f3f6f5325e64a8ef1ae0e9ebe78bfcd1a6e0c0
+9040a69a12521c09fcf1bbc6997acd70be37171b12191c8d9874a9f385d06899afeff7420b8caf84
+9e16e22241fb1970a0f3caf6648645fa7b45e9c6b945f9c520264d129f95ef98646e646d3f65b9e8
+17da7ff3620753f7794e3ad0e3be4a495101b45b5a4fe85a9b277c8ffd4da9f73d9fef85ac0b13c7
+898dad5c6de5f8fe0496d88be333b2e252d24245dbc3a3c2887fb27f76dca2a2b0a57b35af60d36b
+d3fbfc61392008d6c1bf9d076f1202bebf5e13a6f38bb9f5c0501d3c785cd3befd6cbb9f6742ef2d
+c9a942156a1172b9090991eb2559d14948562ed0fec2f2d852150b83547ae7e339e2fff44bf6da03
+543e58e64357d05c9fd80346964341f9f57330e85c2f76f4f546f2063bf7e09d141b77bd89e5790e
+8f77a2da4e259e26901d681ae012e0eae3e3817c917ba8f356d748f11677c4d8d83bd958a659ef4b
+4f0d8b4e1625474b1223332333432b84dec19334bbe23ad435e568c5f31e14da159c1d1a131a1319
+168dc251b47f9c679cb724201631b9c929597956d9cbcd6dbc9d1d458eceeef6fe36feb681fae83b
+061bd150081bb821b3e78f185337affee6f1a3f597e7ee1b21f25ec755e4eb4d58b8c172c506a7e8
+140f916bb67729dac6ecccca2e939ef04bf801791ad788c9cd7dc8f1abe90309b925c9b15ed609ba
+71eba3bde211939a98905ab42a63eeecc5b62bd68bd6aff2310d1ac32cb1d88b4f506892a7c76421
+f2c448e8d1219e51e83c614cb996161048e2b28ce76609562db5e80862d1fd9fd7a2693cecefb99d
+8960704316685f1e365efcbb7363103263bf59f322cc1d7f0ce39a0104a691bbac4738987fc83c7b
+63f779ce3aae7468b064b324782bd2498d7431143575573b017cc09338dfa34d636c37c5126a0b5f
+f28085507cc917de91066019fe2b62f0f05a63829b5764b8c95e6e46cedf3a44ce2b2a91f363dac5
+decf15392a1f128b4b4d4bc8c9481125c5c786e5840b15a403bef7a59729a75aa36335ced7c78248
+339c645d849b92dbc2e46f75d7173539b6d3233a8b86be786e48c0e64d9b37856cd289f00af143fe
+8cb7b79f87ae9318ac859e51cb44a32afc052cd6cece3c73fcf0aeec081dc996d8cdc46d2224d8d0
+8dda16141580dc908fb79b9b07798addb4f95184441b7b58fbcc77d5b1f2d102834e66737d89bf9e
+7840083d30e4694f166ca703bedd66a5f752707c9a4bc316bce18518cdd2c66f9531f597bed987d7
+501a56ee9190da3b0bba90908a6ec0c6fa22f2ece19e170703f66ac5d1ce41816813624c7d8875f2
+47893febbb98797d2f8cc444048721920a15477aad16e121b4719e6dd41ac4607a30d6c21fe3f7cf
+0f87376a4b92761788bea741a32bf2f5f5f0f274deb8c1cb1a31a316fd08dd41abf2870bd595068b
+4530e07ee74a624ff5367ff3427b9b37fc3c3e9561efc4feb0053e48ca8876c8ed93425297e094e0
+7c9b64533407d97b397cea65be6486acbf59ba6e3e9b707fcd673135bc04fa116caa13b21d5931f7
+3956bb600b7e8b5aab008f3468c0c0972254365a994e9900e782919d2890999826dce1d338fc864a
+a3d9b24989050ebd50f02dbcdd9e197ae077cc6978a7691ca7cadc5a2ffe5154ece26515bb41ed54
+ece23b55b19bf574c52e5ead8add5ba0a7f2f1edf56d20814430b8672d8bddfc51d50704cb9b6a4a
+6a6e497b6a84697a771801d61dccb457c0544ebf645fcd226ae7e6b23a99ce54dd66c395a2057afb
+f15a8aad6ae9c35163965e7a76aaa47564257f8b6beef958e76be3e6a03be2fa5ae3eb236c5c8cbd
+f591ce46e4166cbf99b904f59c1a2d24309396f5a11c46bbc34a24b7876a6f2b197b79774166353a
+a0d3a61f45c9665d1806375b141157f8ac115bea0efa6dadf1fdfeceae0ede1b908ea08f281a099b
+b926b3e6e143653b770b51fed6ec04e9870fbf59be2bf314baacd3a2c1a87bb1bd1944d9a8f55b35
+3045314d741156f03739f68e9261eb8b4f0c5b7f3c5bef30ce542666042530a0060fa0a57345b0be
+06ba2b4ec32f261062da7cf03467b95e25fe50694de5cb4b35e36802c9dd5bf712b21703e03d6260
+a7b17501cc4ae47bee3b08ff3696cfd45792b7bf2bbd7ac5b5b30f5bae5e76ed14fb4b4b4f8e521d
+26f0a10b4bd213f720780b9dc49f04e19e41d870a181dd4a550a1a5f9f073df80a068c8669f8d360
+d1746465b76491d04c039384d33dbd6e8daee80abfbf48231b28fe73a034d3e10b2e0c7fa105e994
+170c589eb02ed7a55cc765a77725aa46e713ebb6edde5651997a10ed4315f6db576e5f193f0b8d40
+98331e3fd2d61d0fd0263f15065f68d95141a662d33904f77a53a165f05ed185df11f4d141d76c4f
+ccab9e57fd6dd66034088db399b760de42ab69682c9a9c3cb7cca0cc60b7759557b0a136ee452d42
+0ee99b7633cde231f2f140e357238fa76ae3ebcbd569ce8715aa3e3bb2b9557381b4db650c072bd5
+ef76c9a16181d0f9344ffd86171f3a8e7c888a2b923581ec2905bae68f162873879504a35a6b2937
+0b298b78c7ae4f35878c6266ea1d6b7a57c051e5ed794f88402bfac1df3c59338deed668e8550313
+76c3e53fb793a83fa3a1a14113c21acf29e9555cfe74af62d3274dfdb8cb409d29fb0bdd41670c2b
+bece5918b52c6408d3b4858af92cde70bb7ea5de05cb1be82aba9479b8ea525df95fd27ed4352494
+bd8fe7e321f8dd61f8ebef74f93cbc9173c6ff5ab86800ea8fd6ee70809ef27d29cdf20dc29ce16f
+3d1f2652ea6a31cc39f1a34885d60368b6883d8c95cb9dfae031d20198cc6dc2008c7067fe84cbbb
+61428d46633f08e1c6626a8ae14768309a52a67fc3aad673cfa69f197e0be57ecfa56c75c5f29a6f
+73bf46a3d138dbd94bc7cd59f511c2dd18bc06dec2efc37c1802efde82af4fe936e5c1462e01fe55
+bbef0f741f6d334ac13da5e163a90496d7f05d241ab0a45e931f028d5cf6c9b0f09c10624d22319d
+b749e2859c9057a05780d7401cadfd0944fac56e8a45913a28212abc5078d552315d1218eeb5abdf
+43bc591b6be98116ee412989f5c001558329badbe32024c02c7cd5dc712fc5d906fe31ff1e071368
+f69ae2c6fdfd6d0730417ea8dd0efc178aba4ff2fa8bfc905aae73745c99e661a7f2806cea104a37
+93f75f749765043a2d23600d1a575ee376f1eb3049ed55c1d2d9b95d0d4203e35172c9475fedf85c
+7f98a1ee1ef4e6a993d2068daadffff84313baf377b9f50ee485490e595929e4850e3274b2b3235f
+4b71c8c84a235fb3235fc305f8f88b9e53514c1b9328329cf82addb3a10399da8f68177bab96eefd
+3f94bd6664f37040b9301c30501e6236e1eed2d69ff4c2438879f93b0e9ad5290df974e91ce95a29
+c3f285cf1687b945181ed011f4225bc94526626f27fa59f52bb5d864998425f30c1296246aad2460
+e0b10fbac877794cae878552fc1a0b0e1cf413f04bd10f65dad1e28e06b80e93db5901d295deb12b
+3caa0c5d4731ff0e1e138cbfb259b6d14e15787d788cdca1bef08611b09fcc71709ca72f6aa37d5a
+5023507147be0b07f385a62df545340b70ef1a7239892e7136a9261dab9d5e7c52edb48ddaaacbcc
+357acbed18e8a18745f46bd971807f7c66350759ed77cf8bdc0b3cb5137b815bb7b11e6ae801871b
+821e0435f4622fb7dfccfadbffa366d6cbcdcdac78130ce3d8634aefcb6165314510de3b2608efbd
+2ae2248362fecb5a0e7f0c16eac83d586f77297c41720fe207b4322ef0dadaabf97e04128fc07b26
+8a9cbc0efe27d090fb141bd3110466c3f53f69b6ae95ec695bb29552235458d6f3df71ec15f57953
+380a0f8e0862b056cd311adec053b49eaea2de5349dbfc1ceccd6d1d98eb7a7d1da0172d676eaf5b
+0610db3febf1a8c0baa0b806f28b343ac9b5c0ac89e202f53ce63baf789a61e99759dcf67fc0f0e3
+6ab8a6b154e8ed8c6b253b643c4b46d02a57e67c13fa6f72dfcca4e515216e26359b89346cde85d1
+57b81711eb601ebc49b30f9bed4828ebe0ff51ec2fed19207b5730c1cade6d14cf05549dd010511f
+4150b5be93bae77f7446f7bc5ea5eef91fcfaf7b1ec7ffac3ecf157a3f4a0ffd53fbae8ef23a6a2d
+177db92cf5b1be748afb9c6c1efe01ffc9036155345fcef1e7da882fb3066db475d97cc59c7b4d53
+04d532b56dc03fa45a98ae0f8ce94031857e79eb0ea4ac2605fafda0010f6f6be64010e78607fe85
+bb3c255350e987d689a65aad3dac864c81de92491fff32d7d4c66cc2a6790cac8139aae717a44cd5
+a1a648a1007f47c6543fb852f30dcd5e142a026dc8ea546682def9a677a9e714e6bfa392aaca1703
+b452f324f070eb810f617e3ee4121b5f89a867292fe2d8474a99d09f4a8fb3b260660d7c97a5a19a
+97424f1cc321f234a64e085e8b4cd21c4b9df3ddb7fb9633105ac3e1a8644a782c676ba6f48dd5ed
+f6b8a4f5f4d40ce1e93c0e4ee29604af0b9d735f7653dda437f5402bb247ee29527a4fa7350bf95f
+549283e0f91684bb4e6b1ec49a2f7057b4d22378499079ba5b123a8a24055948c15f0f48f9ab7bbb
+fc3542e0af7978f59376922ad8c96ac14e221576528f6a65aed86a71e7b024a7bcdd0d3dae9307ae
+2fdbded930016c84f59d7abb373c30f7d1960cc9fbb76c7be79156db3b1b3cdbaeef5cf7f4faceff
+7469bdbfb3c1137a269655090b3c17b65ee0d93041b6c173a4f542d1b78d294af19cfda58b5242ac
+07f38f81c1f34880984ae7a5640344e3eb21ba5ec0bb127e2877926a393e3110e26cd370b9bc3d9b
+2f5bd87952d0b76f1680b1e4e7b4d4aed878c258554f5959e2eb389a161613591436bea9e0b3107e
+5e137e77e3cc46746e917bf2de87a1b777eebfa0d30946db29cdc6fdb3af9bfc1ac008f356d9d6cd
+1357dba503669630f9e989abfe4a26ae18365e317435585a79c9d97b8884d959e0426e5dce92e65b
+37b865f0aa5973801dd42422df6c357c25a3d0476bd21405cb4732067d4fc13ace786cd9849631b3
+f48e6077ea999a101ea955f53c7abc66460cd54c9feda5691341d123f55389534dab17f26775942b
+ca9f45b9a255edcb01a0137936af235da1cd9a2683793a4c174ee3c1e0bcf9f105177ab1dbba8085
+37174cb1a73c1f85151c3dde1b5519d5e88732ec0f5db222cb0a6a7b9f9d51a574df404c97d60b07
+7ee8f2536a4ec1fe3ebb8a562f5a6e6024df3870cab37ad712bd09cb5c8c1718969cd617b9796bb1
+dbbba4ae2a1af9b3aff150e9b6ec335d422288f1f751cbf65bf1fea2060df84ea810bf06fe8f8ff3
+4bd424a3f03faf625825ac7a704fa96ae8b1955cf118e9be872b9e30255358f890d7eec287ab5de4
+1b1fc62adff870afcd13b8dae5564c4ee1893ebbca8c5bed7cb8e2295bfab0d1583492bfac1c714f
+28415c05896e9092e8c50df7ae8c2329c49f1df2e8df3ac5a3ff7cbef985814203c2d3f62efc4e37
+3aa8361d928d4d5f69bfd274efff51a5e94a73a5c902acd4551f6e7b22d8ba4edd8abd8f7b716783
+2d9c51e0fe04917810c83f7c4ae2a0973797b3a5242e27e309d18d4e650308bf7b76c84319b07426
+a23ec72e6bc2e59b5c2976a75a1bad1bef280c505f9e74096b5f145b709e8ff9ffa40ef397b2d463
+4f4b979d53a4746d946f4858ab7f70a1a1163466361c2197ba77c2cbd1bff198f07c0238f06ea3b7
+72601b5fad2aa3286dd0382b0d202f2ab1c04ef0bbba358a6ab7727eaaa0dda1c1bf775f132272b8
+516846cec433ceceda75df34ac90ca46d2bfde80f74f9801f59108fa408556d347940336d74aa722
+0e44e72464a714a527ee242f1b40910baf8381286a4af0509de04f469b1320eef6f81d84c021af6d
+3548904e90eec0bbd6c95a5043676a41d754d6821a9ebf16044e8d6ae92cb43d6184fff56c5d6556
+70f6d4177cd4286822b4d9b898aa1c593d3bb9f3957e416bb81a87290cc24010f422a99080425305
+bcab7fb6fedd9fd4a2ce5708f4c897631ea7e5e9d539597a25dbfc5c042b659b9fa57c3aa8a1f2b7
+550dc1e4e21c932113523979cf225bd657e996cd96c647f2fa312d9d8f55d2cec70245e72383bb5a
+705791b3acc772a5b4c7d252e8b10c6feeb1946e89ceefab3e37df02511cfb495fa510d4cf504936
+fb618bd2fe2e4263074b1b1dfc0173b87615eca70206587eb37485a1f1c28db3d093a8d0807e2939
+74ac6a7fce0d7407c11bc677a61e9ebd6f54ee68648096f92c7715fb893779a38dc835da2f9971a4
+bcb123c9c7138f49b2f2f24a4bf726ef4720423fe32ee1781c83b7f1abd5ed71086fbd43f384d008
+dee820e11456202656f043ac1f31019481881120654660d461d708634d30c2e8b85701c3def9ddc1
+7e2bc10864e318bc2ed821d92305e5a2e8940c9484fcf0073fb88db7170f698313400b409121058a
+8f3bb262ba6df789d0a55ccc7f90ab01211734614126b7001996e89f76f3d64e36d8fed50382b0ef
+961cbd546574505f7406d66ae11439e34efd29356e3f627ea6a6e3f95a3bb3853cc741ba5a8d00af
+5f5e9bb36aa8bf25080447c1650e4cd0ad31c1b87f3036d5f3b0325431c420820111bf8126823508
+46e00fcfe01ea9391905d592131d1d49b78ef69d391717b45c82131bdf48729636327135f03609fb
+95602c6840ca081e7be5098a87f01bf727404f5fe25735c0d0bb23b6a7e66532edd607d94ae574d2
+ccc6c8d1d08781cff4f0607a42b8de5161748b7792e3dd7802de250d1c9c3849b7390f69aed3c8f1
+ef642bfcbb4f2b017b258afb8fe17dae1d96bb18d73e87e2fe435a19ec0b62791685305d080f0203
+7438df8bbd0fa53d570f6ce6acec1db5586bfa312de89948b1f785a576e77aabb532f18978b2c03b
+13be131647ee6dd0d829a5429dd91f693875ac9edeb65a635d178f82c5e50b84fd91efde6bd91f39
+163e559b0c619b42de77ffaf522d33387c5e7c63ecfd5e2c0f47dc39f6cf479117cedfeb8d4eacbe
+f64d06c33e3a95977bf4586fb4d7798759eebaec55f186c80299f898b8b9f8b804782117e4191590
+4a904f4694e20ec666e4e61516ed1088d2e11dc68bf4fcf15bf863d1b2051514fb27e8a47e3d64c1
+b7faf346cdc8393351e4ec7c60dcaf2bff13a063fc55cbb3e0d5ac4bc816681faa79a50bb4f12190
+2806f85b649204d2d35d5628034b61fc1c16803d071f66ef1b8c308bf097d6562e6e2a71e76d9f2b
+37104c6480c3d4d5cf75d98b9ded08dca9fec936b9de20093f2cc94d48bef6d708ad93576034afc5
+11a8689f736d217f428399893537e9c488f8e818492bfaa53460b357dad23b4fb18b8ba33773546f
+1a6d1561931e5c44389e7499eb4f79b27263b39edf6442b6baa9cf1c9f7305a230a6ea50c83f1266
+548b7ed084efbcb9d2b0bcb4ec9dee51dab2d953a6799a5a8d417c5c43a16fd38d2a7c560fd00e23
+46bd5518a32b892326ede062be516ed2591e6982495f78c2a4e5ad4cc4a65f61335393187414262d
+eb32279fff2afbcc7128ac575c40f3016ce9a197d3647f5fbd5a0d9e5a02a227e256249ce49ab43b
+5461e6735e4c68a3657ca64b3958b6ba044f0eb3b4e20c5878bd5c031c7a104686352f62d1dc45b6
+e66b74614a3b1b3094fdac39bdb3e840fa3ec4d4d74d1f23923575f34db28e6ea83acb010525b2a6
+6e9d676bea9eae6c76abdb634b1935182e9f97916b9b9fe71f0bf3325be4f3323f3f3d2f73e24531
+8656df69e983ae794dbd394d3d8153280dca835b0379f09b094d087965f12d0c0ea99ba234cf5e68
+54f1535ed62085f054a47d3fada303dc59c9a93b91cc6bbda098d1b2aca94e56dcb80033b801b4e2
+905278b55c85b79e0ebe39326f255a89566db4b5621ada917454f2937fd1f124e3d8165418546a13
+64282f1adbd4c0c3440dd845fcdf495a3adf1b14ef83ec9097bf87b718ff1b3b6ae381b0c133ce2f
+5e6a99b191799bb7a0ad282a585600ac088c75fb037f04bdf022ed40dc450fbae0376934dccb6b88
+d0be7c3091fe6ab35b34ba40a8c7fd9afe51340c04c7ba5b1929555b741289210e9406e6b32d2d57
+c2728ff3fc3c7e28f73bf1cda79aa54ebca0b0dcfa3b8769f67c4278688cd0e38139f874637396d7
+8bcde6e7403ad7ba32db61fb404baab6b413a95a9bc2309bdd7cd82f864f656d0c3a2df1bba1c74f
+0fbd89dbf6621fbdb228fe1d08a7b36ad2ffc89653d445e43a174b4f515f4db05f06899d3847dd98
+c42f4e82454954ce9bd7dfca8978fbedeb096fbfd3a5cbff0127fb5d850a656e6473747265616d0a
+656e646f626a0a31342030206f626a0a33333936380a656e646f626a0a392030206f626a0a3c3c2f
+547970652f466f6e7444657363726970746f722f466f6e744e616d652f5851414a4b482b54696d65
+732d426f6c642f466f6e7442426f785b2d313638202d3334312031303933203936305d2f466c6167
+732033340a2f417363656e74203936300a2f436170486569676874203639320a2f44657363656e74
+202d3334310a2f4974616c6963416e676c6520300a2f5374656d56203136390a2f4d697373696e67
+5769647468203235300a2f58486569676874203437330a2f43686172536574282f73706163652f6f
+6e652f74776f2f412f4f2f522f622f632f652f692f6c2f732f742f77290a2f466f6e7446696c6533
+2038203020523e3e0a656e646f626a0a382030206f626a0a3c3c2f537562747970652f5479706531
+432f46696c7465722f466c6174654465636f64652f4c656e677468203135203020523e3e73747265
+616d0a789c65537b4c536714bf97c2bddf7c54a5b991466cefcc9412a6e2632ad9d04dc407883a82
+8a3a94d21628145a5b6879bf5ff209147988a0146da10a550ba8f89c3ae3127173eae26346b36c8b
+9b664bf670f1dcfaf1c76eb72cfb63f9929393737ee79773cef73b34151840d1341d9cfcf14771f1
+eb2392f4393acbfcd54683d61f0d1366d1426880305b423e202fdf7cf326296836b5f148d0d463a1
+ccb260189e01edd3a0663a25a1e98256678cd15468d66764e6f1aaad89dbc32322defd2fb2282a2a
+8a4f2bfc37c3afd159f419b9fc3cd1b1ea0c46538e2e37ef7d3e46441b0c7a0d9f612834655a78b5
+56abd3facbb6a90dba6c7eaddea037998c565e1513ce2f8e8c5c345f348b37e973d2f22d7ca23147
+9dcb6f3246f11bf9049d569f9ff3ff044551d28f34bacd96c43cbdcd90b668314f5173a835d45a2a
+924aa296505ba9382a994aa062a8604a46d1d43471375420554adda517d10d015cc040c07349a4e4
+ace445605c604be09f8100cd525f3a7699dd103d22ac7504cbbcbe581757cf687171df0e98442cc2
+b1102343cc13e7750bca4b7655c9652633ec61655e17bba525af13f7e3ae3657dff5ee9110c8674e
+461fccc0f94866c2d6b2cacc7d48e6adc3658da5a263328b25f0989968800aee25d4ff46ea83a4c2
+96d23b82fc048de16d0886e9122112682e5dbdb7340da3a549df43e81f43e3577bbaab2b5a95f62a
+8cb17affce23795e8ccef63b476eadbfb4848486bd4dde218ae72a98fef8c6e0839b4a3fe5d7b0d9
+0b4b0769611ecce0343b0d85a9588b738f584f150e557beaef22b033b5df965ccc1ece1a49712461
+44662c57917964deb30898fef4f2d08b2f94a41b5671cd30e5c8e865ecc6bdc56d067b4193b12919
+95b0525f6f81c717e2117b8e85d7102b1166fbd6714447c2898a688906c2481868c417062ad1a692
+70882029cac62c0e026e93a922449d4002084bd8040880dd601807046f897dcbcbfaac1e618527df
+11dcf42b287e9e29f3c00b78c2c942616e3e5b5b525b578e6b716553b11dc90c9d59792df9b32237
+242cdf7026e5b754e557396e33ce46da9cbdbb6353ce7f6f551819998744b9d8cebed603edd88edb
+f675d40f945fab7063f4e3f8ade7f7b5e7546795eb8e1b5df824f2b85dc3fd0315d6a38a3e5b6761
+f71ef4b720e0cc105c39697605ff00cb201e56cd943df5ed717185b8acb5b28ba4c070c8e7bdae2e
+b7ebf840cf283e8f64bf00ab1a27f10ad953f2d0cc3ca83b548263d0c42616afaeac8cae4266f8d1
+c546775476e2fb08920758d0902f8340cd4cc40bbf70b8b5a5bbb955e4e868edb1bb66fde44d9d13
+5fa2cdb62af716e96b563522297c577e1fde8cd1574129819b829a9b0fd16666d37b9add7149c874
+953c66e3ce69eede193df1ec8cc2dc69d315975ab1dc5871785409d75fb25218c47dc20ac7435848
+5ff333684506926461c6aadaab701a2217599c56539d52812c50ed6433ede587f0308a155e73a999
+99eadd9eacb1b1939eb173fa53a94a7135a57dc26a27eddbeee7986561bcf59dd5380f9797a51b3e
+28d1565bcbf595671a0e5a1fd8eed6b8713beee9b00f37232729b3b023f5fb1b7b37b41684ac23ab
+2cb7abfa6a7aeb0ec98df72a867097086b73b78830b385edaf6ba91dd800aa8949214e0666c0f8ef
+643ce818030b85b93ddeb6b67ebbdc3f8fd3879cf4a7fe61d27c2b389268614e35f414e274347180
+c5e945367dc33fc364ed2feec5a3482a5c13f53528ccbd0ef18ee0cf4009cb216ca6ec3264f8abb7
+59980bfe5568d0c4ab83ec931b17d24e175fc17290bf7805e1a058f93391ec4a2fd2a62b13030f9f
+73f47830ba35b89ecc54ca4a8822272e5e6d1abca4900a0d6253210e1aa6824a02f77c6b38622774
+d05eb6bdb9adb9b969a0c375a00b235767fe27ca098ec551b6225523b208939d6c645351377e8c84
+3bac9f04e4420230349c86508960860ccec2e4c694d7ce150f358211b5b8e0c9c35377f023f9eb95
+8f08b563972d2353a1d5daf4c60f919b19bce5755fc763d8537034e3a0b5cd287ecc9e82a4ec9dc9
+d1996af1c423519eb0549443b3d4e610d40ed8ee603c93809fecf14c9902fcb1295329ea2fd8bde9
+1d0a656e6473747265616d0a656e646f626a0a31352030206f626a0a313531380a656e646f626a0a
+31362030206f626a0a3c3c2f52340a34203020523e3e0a656e646f626a0a31372030206f626a0a3c
+3c2f5231300a3130203020522f5231330a3133203020523e3e0a656e646f626a0a31302030206f62
+6a0a3c3c2f537562747970652f54797065312f42617365466f6e742f5851414a4b482b54696d6573
+2d426f6c642f547970652f466f6e742f4e616d652f5231302f466f6e7444657363726970746f7220
+39203020522f4669727374436861722033322f4c61737443686172203235352f5769647468735b0a
+32353020333333203535352035303020353030203130303020383333203333332033333320333333
+2035303020353730203235302035373020323530203237380a353030203530302035303020353030
+20353030203530302035303020353030203530302035303020333333203333332035373020353730
+20353730203530300a39333020373232203636372037323220373232203636372036313120373738
+20373738203338392035303020373738203636372039343420373232203737380a36313120373738
+20373232203535362036363720373232203732322031303030203732322037323220363637203333
+33203237382033333320353831203530300a33333320353030203535362034343420353536203434
+34203333332035303020353536203237382033333320353536203237382038333320353536203530
+300a3535362035353620343434203338392033333320353536203530302037323220353030203530
+302034343420333934203232302033393420353230203235300a3333332033333320333333203333
+33203333332033333320333333203333332033333320333333203333332033333320333333203235
+3020323530203235300a323738203235302032353020323530203235302032353020323530203235
+302037323220313030302032353020323530203235302032353020323530203235300a3235302033
+33332035303020353030203530302035303020323230203530302033333320373437203330302035
+3030203537302033333320373437203333330a343030203537302033303020333030203333332035
+35362035343020323530203333332033303020333330203530302037353020373530203735302035
+30300a37323220373232203732322037323220373232203732322031303030203732322036363720
+3636372036363720363637203338392033383920333839203338390a373232203732322037373820
+37373820373738203737382037373820353730203737382037323220373232203732322037323220
+37323220363131203535360a35303020353030203530302035303020353030203530302037323220
+34343420343434203434342034343420343434203237382032373820323738203237380a35303020
+35353620353030203530302035303020353030203530302035373020353030203535362035353620
+353536203535362035303020353536203530305d0a3e3e0a656e646f626a0a31332030206f626a0a
+3c3c2f537562747970652f54797065312f42617365466f6e742f54696d65732d526f6d616e2f5479
+70652f466f6e742f4e616d652f5231332f466f6e7444657363726970746f72203132203020522f46
+69727374436861722033322f4c61737443686172203235352f5769647468735b0a32353020333333
+20343038203530302035303020383333203737382033333320333333203333332035303020353634
+203235302035363420323530203237380a3530302035303020353030203530302035303020353030
+20353030203530302035303020353030203237382032373820353634203536342035363420343434
+0a393231203732322036363720363637203732322036313120353536203732322037323220333333
+2033383920373232203631312038383920373232203732320a353536203732322036363720353536
+20363131203732322037323220393434203732322037323220363131203333332032373820333333
+20343639203530300a33333320343434203530302034343420353030203434342033333320353030
+20353030203237382032373820353030203237382037373820353030203530300a35303020353030
+20333333203338392032373820353030203530302037323220353030203530302034343420343830
+203230302034383020353431203235300a3333332033333320333333203333332033333320333333
+20333333203333332033333320333333203333332033333320333333203235302032353020323530
+0a323738203235302032353020323530203235302032353020323530203235302037323220383839
+2032353020323530203235302032353020323530203235300a323530203333332035303020353030
+20353030203530302032303020353030203333332037363020323736203530302035363420333333
+20373630203333330a34303020353634203330302033303020333333203530302034353320323530
+20333333203330302033313020353030203735302037353020373530203434340a37323220373232
+20373232203732322037323220373232203838392036363720363131203631312036313120363131
+203333332033333320333333203333330a3732322037323220373232203732322037323220373232
+20373232203536342037323220373232203732322037323220373232203732322035353620353030
+0a343434203434342034343420343434203434342034343420363637203434342034343420343434
+2034343420343434203237382032373820323738203237380a353030203530302035303020353030
+20353030203530302035303020353634203530302035303020353030203530302035303020353030
+20353030203530305d0a2f456e636f64696e67203138203020523e3e0a656e646f626a0a31382030
+206f626a0a3c3c2f547970652f456e636f64696e672f446966666572656e6365735b0a34352f6d69
+6e75735d3e3e0a656e646f626a0a322030206f626a0a3c3c2f50726f647563657228455350204768
+6f737473637269707420372e3037293e3e656e646f626a0a787265660a302031390a303030303030
+303030302036353533352066200a30303030303032313830203030303030206e200a303030303034
+30363934203030303030206e200a30303030303032313231203030303030206e200a303030303030
+32323238203030303030206e200a30303030303031393730203030303030206e200a303030303030
+30303135203030303030206e200a30303030303031393530203030303030206e200a303030303033
+36383536203030303030206e200a30303030303336353839203030303030206e200a303030303033
+38353533203030303030206e200a30303030303032353133203030303030206e200a303030303030
+32323937203030303030206e200a30303030303339353931203030303030206e200a303030303033
+36353637203030303030206e200a30303030303338343539203030303030206e200a303030303033
+38343830203030303030206e200a30303030303338353130203030303030206e200a303030303034
+30363336203030303030206e200a747261696c65720a3c3c202f53697a65203139202f526f6f7420
+3120302052202f496e666f2032203020520a3e3e0a7374617274787265660a34303734340a252545
+4f460a
Property changes on: tor/tags/debian_version_0_1_1_23-/debian/hexdump-interaction.pdf
___________________________________________________________________
Name: svn:keywords
+ Author Date Id Revision
Name: svn:eol-style
+ native
Added: tor/tags/debian_version_0_1_1_23-/debian/patches/00list
===================================================================
--- tor/tags/debian_version_0_1_1_23-/debian/patches/00list 2006-10-06 21:54:28 UTC (rev 8612)
+++ tor/tags/debian_version_0_1_1_23-/debian/patches/00list 2006-10-06 22:33:28 UTC (rev 8613)
@@ -0,0 +1,4 @@
+02_add_debian_files_in_manpage.dpatch
+03_tor_manpage_in_section_8.dpatch
+06_add_compile_time_defaults.dpatch
+07_log_to_file_by_default.dpatch
Property changes on: tor/tags/debian_version_0_1_1_23-/debian/patches/00list
___________________________________________________________________
Name: svn:keywords
+ Author Date Id Revision
Name: svn:eol-style
+ native
Added: tor/tags/debian_version_0_1_1_23-/debian/patches/02_add_debian_files_in_manpage.dpatch
===================================================================
--- tor/tags/debian_version_0_1_1_23-/debian/patches/02_add_debian_files_in_manpage.dpatch 2006-10-06 21:54:28 UTC (rev 8612)
+++ tor/tags/debian_version_0_1_1_23-/debian/patches/02_add_debian_files_in_manpage.dpatch 2006-10-06 22:33:28 UTC (rev 8613)
@@ -0,0 +1,45 @@
+#! /bin/sh -e
+## 02_add_debian_files_in_manpage.dpatch by <weasel@xxxxxxxxxx>
+##
+## All lines beginning with `## DP:' are a description of the patch.
+## DP: No description.
+
+if [ $# -lt 1 ]; then
+ echo "`basename $0`: script expects -patch|-unpatch as argument" >&2
+ exit 1
+fi
+
+[ -f debian/patches/00patch-opts ] && . debian/patches/00patch-opts
+patch_opts="${patch_opts:--f --no-backup-if-mismatch} ${2:+-d $2}"
+
+case "$1" in
+ -patch) patch -p1 ${patch_opts} < $0;;
+ -unpatch) patch -R -p1 ${patch_opts} < $0;;
+ *)
+ echo "`basename $0`: script expects -patch|-unpatch as argument" >&2
+ exit 1;;
+esac
+
+exit 0
+
+@DPATCH@
+diff -urNad tor-0.1.1.5/doc/tor.1.in /tmp/dpep.E9VjWB/tor-0.1.1.5/doc/tor.1.in
+--- tor-0.1.1.12/doc/tor.1.in
++++ /tmp/dpep.E9VjWB/tor-0.1.1.12/doc/tor.1.in
+@@ -700,9 +700,15 @@
+ .TP
+ .B @LOCALSTATEDIR@/lib/tor/
+ The tor process stores keys and other data here.
++.TP
++.B /var/log/tor/
++The tor server logs to this directory.
++.TP
++.B /var/run/tor/tor.pid
++The PID of the tor (master) process is stored in this file.
+ .LP
+ .TP
+-.B \fIDataDirectory\fP/approved-routers
++.B /var/lib/tor/approved-routers
+ Only for naming authoritative directory servers
+ (see \fBNamingAuthoritativeDirectory\fP).
+ This file lists nickname to identity bindings. Each line lists a
Property changes on: tor/tags/debian_version_0_1_1_23-/debian/patches/02_add_debian_files_in_manpage.dpatch
___________________________________________________________________
Name: svn:executable
+ *
Name: svn:keywords
+ Author Date Id Revision
Name: svn:eol-style
+ native
Added: tor/tags/debian_version_0_1_1_23-/debian/patches/03_tor_manpage_in_section_8.dpatch
===================================================================
--- tor/tags/debian_version_0_1_1_23-/debian/patches/03_tor_manpage_in_section_8.dpatch 2006-10-06 21:54:28 UTC (rev 8612)
+++ tor/tags/debian_version_0_1_1_23-/debian/patches/03_tor_manpage_in_section_8.dpatch 2006-10-06 22:33:28 UTC (rev 8613)
@@ -0,0 +1,45 @@
+#! /bin/sh -e
+## 03_tor_manpage_in_section_8.dpatch by <weasel@xxxxxxxxxx>
+##
+## All lines beginning with `## DP:' are a description of the patch.
+## DP: No description.
+
+if [ $# -lt 1 ]; then
+ echo "`basename $0`: script expects -patch|-unpatch as argument" >&2
+ exit 1
+fi
+
+[ -f debian/patches/00patch-opts ] && . debian/patches/00patch-opts
+patch_opts="${patch_opts:--f --no-backup-if-mismatch} ${2:+-d $2}"
+
+case "$1" in
+ -patch) patch -p1 ${patch_opts} < $0;;
+ -unpatch) patch -R -p1 ${patch_opts} < $0;;
+ *)
+ echo "`basename $0`: script expects -patch|-unpatch as argument" >&2
+ exit 1;;
+esac
+
+exit 0
+
+@DPATCH@
+diff -urNad tor-0.1.1.5/contrib/torify.1 /tmp/dpep.fOA3Mm/tor-0.1.1.5/contrib/torify.1
+--- tor-0.1.1.5/contrib/torify.1
++++ /tmp/dpep.fOA3Mm/tor-0.1.1.5/contrib/torify.1
+@@ -18,6 +18,6 @@
+ to suid binaries.
+
+ .SH SEE ALSO
+-.BR tor (1),
++.BR tor (8),
+ .BR tsocks (1),
+ .BR tsocks.conf (5).
+diff -urNad tor-0.1.1.5/doc/tor.1.in /tmp/dpep.fOA3Mm/tor-0.1.1.5/doc/tor.1.in
+--- tor-0.1.1.5/doc/tor.1.in
++++ /tmp/dpep.fOA3Mm/tor-0.1.1.5/doc/tor.1.in
+@@ -1,4 +1,4 @@
+-.TH TOR 1 "January 2006" "TOR"
++.TH TOR 8 "January 2006" "TOR"
+ .SH NAME
+ tor \- The second-generation onion router
+ .SH SYNOPSIS
Property changes on: tor/tags/debian_version_0_1_1_23-/debian/patches/03_tor_manpage_in_section_8.dpatch
___________________________________________________________________
Name: svn:executable
+ *
Name: svn:keywords
+ Author Date Id Revision
Name: svn:eol-style
+ native
Added: tor/tags/debian_version_0_1_1_23-/debian/patches/06_add_compile_time_defaults.dpatch
===================================================================
--- tor/tags/debian_version_0_1_1_23-/debian/patches/06_add_compile_time_defaults.dpatch 2006-10-06 21:54:28 UTC (rev 8612)
+++ tor/tags/debian_version_0_1_1_23-/debian/patches/06_add_compile_time_defaults.dpatch 2006-10-06 22:33:28 UTC (rev 8613)
@@ -0,0 +1,55 @@
+#! /bin/sh -e
+## 06_add_compile_time_defaults.dpatch by <weasel@xxxxxxxxxx>
+##
+## All lines beginning with `## DP:' are a description of the patch.
+## DP: No description.
+
+if [ $# -lt 1 ]; then
+ echo "`basename $0`: script expects -patch|-unpatch as argument" >&2
+ exit 1
+fi
+
+[ -f debian/patches/00patch-opts ] && . debian/patches/00patch-opts
+patch_opts="${patch_opts:--f --no-backup-if-mismatch} ${2:+-d $2}"
+
+case "$1" in
+ -patch) patch -p1 ${patch_opts} < $0;;
+ -unpatch) patch -R -p1 ${patch_opts} < $0;;
+ *)
+ echo "`basename $0`: script expects -patch|-unpatch as argument" >&2
+ exit 1;;
+esac
+
+exit 0
+
+@DPATCH@
+diff -urNad tor-0.1.1.5/src/or/config.c /tmp/dpep.Xv4cHn/tor-0.1.1.5/src/or/config.c
+--- tor-0.1.1.9/src/or/config.c 2005-10-17 03:54:24.917618642 +0200
++++ /tmp/foo/tor/src/or/config.c 2005-10-17 03:57:52.040022393 +0200
+@@ -111,7 +111,7 @@
+ VAR("ContactInfo", STRING, ContactInfo, NULL),
+ VAR("ControlPort", UINT, ControlPort, "0"),
+ VAR("CookieAuthentication",BOOL, CookieAuthentication, "0"),
+- VAR("DataDirectory", STRING, DataDirectory, NULL),
++ VAR("DataDirectory", STRING, DataDirectory, "/var/lib/tor"),
+ VAR("DebugLogFile", STRING, DebugLogFile, NULL),
+ VAR("DirAllowPrivateAddresses",BOOL, DirAllowPrivateAddresses, NULL),
+ VAR("DirBindAddress", LINELIST, DirBindAddress, NULL),
+@@ -162,7 +162,7 @@
+ VAR("ORPort", UINT, ORPort, "0"),
+ VAR("OutboundBindAddress", STRING, OutboundBindAddress, NULL),
+ VAR("PathlenCoinWeight", DOUBLE, PathlenCoinWeight, "0.3"),
+- VAR("PidFile", STRING, PidFile, NULL),
++ VAR("PidFile", STRING, PidFile, "/var/run/tor/tor.pid"),
+ VAR("ProtocolWarnings", BOOL, ProtocolWarnings, "0"),
+ VAR("ReachableAddresses", LINELIST, ReachableAddresses, NULL),
+ VAR("RecommendedVersions", LINELIST, RecommendedVersions, NULL),
+@@ -174,7 +174,7 @@
+ VAR("RendPostPeriod", INTERVAL, RendPostPeriod, "20 minutes"),
+ VAR("RephistTrackTime", INTERVAL, RephistTrackTime, "24 hours"),
+ OBSOLETE("RouterFile"),
+- VAR("RunAsDaemon", BOOL, RunAsDaemon, "0"),
++ VAR("RunAsDaemon", BOOL, RunAsDaemon, "1"),
+ VAR("RunTesting", BOOL, RunTesting, "0"),
+ VAR("SafeLogging", BOOL, SafeLogging, "1"),
+ VAR("ShutdownWaitLength", INTERVAL, ShutdownWaitLength, "30 seconds"),
Property changes on: tor/tags/debian_version_0_1_1_23-/debian/patches/06_add_compile_time_defaults.dpatch
___________________________________________________________________
Name: svn:executable
+ *
Name: svn:keywords
+ Author Date Id Revision
Name: svn:eol-style
+ native
Added: tor/tags/debian_version_0_1_1_23-/debian/patches/07_log_to_file_by_default.dpatch
===================================================================
--- tor/tags/debian_version_0_1_1_23-/debian/patches/07_log_to_file_by_default.dpatch 2006-10-06 21:54:28 UTC (rev 8612)
+++ tor/tags/debian_version_0_1_1_23-/debian/patches/07_log_to_file_by_default.dpatch 2006-10-06 22:33:28 UTC (rev 8613)
@@ -0,0 +1,37 @@
+#! /bin/sh -e
+## 07_log_to_file_by_default.dpatch by <weasel@xxxxxxxxxx>
+##
+## All lines beginning with `## DP:' are a description of the patch.
+## DP: No description.
+
+if [ $# -lt 1 ]; then
+ echo "`basename $0`: script expects -patch|-unpatch as argument" >&2
+ exit 1
+fi
+
+[ -f debian/patches/00patch-opts ] && . debian/patches/00patch-opts
+patch_opts="${patch_opts:--f --no-backup-if-mismatch} ${2:+-d $2}"
+
+case "$1" in
+ -patch) patch -p1 ${patch_opts} < $0;;
+ -unpatch) patch -R -p1 ${patch_opts} < $0;;
+ *)
+ echo "`basename $0`: script expects -patch|-unpatch as argument" >&2
+ exit 1;;
+esac
+
+exit 0
+
+@DPATCH@
+diff -urNad tor-0.1.1.17/src/or/config.c /tmp/dpep.YwfNhI/tor-0.1.1.17/src/or/config.c
+--- tor-0.1.1.17/src/or/config.c
++++ /tmp/dpep.YwfNhI/tor-0.1.1.17/src/or/config.c
+@@ -2079,7 +2079,7 @@
+
+ /* Special case on first boot if no Log options are given. */
+ if (!options->Logs && !from_setconf)
+- config_line_append(&options->Logs, "Log", "notice stdout");
++ config_line_append(&options->Logs, "Log", "notice file /var/log/tor/log");
+
+ if (options_init_logs(options, 1)<0) /* Validate the log(s) */
+ REJECT("Failed to validate Log options. See logs for details.");
Property changes on: tor/tags/debian_version_0_1_1_23-/debian/patches/07_log_to_file_by_default.dpatch
___________________________________________________________________
Name: svn:executable
+ *
Name: svn:keywords
+ Author Date Id Revision
Name: svn:eol-style
+ native
Added: tor/tags/debian_version_0_1_1_23-/debian/rules
===================================================================
--- tor/tags/debian_version_0_1_1_23-/debian/rules 2006-10-06 21:54:28 UTC (rev 8612)
+++ tor/tags/debian_version_0_1_1_23-/debian/rules 2006-10-06 22:33:28 UTC (rev 8613)
@@ -0,0 +1,181 @@
+#!/usr/bin/make -f
+# -*- makefile -*-
+# Sample debian/rules that uses debhelper.
+# GNU copyright 1997 to 1999 by Joey Hess.
+
+# Uncomment this to turn on verbose mode.
+#export DH_VERBOSE=1
+
+export PACKAGE=tor
+include /usr/share/dpatch/dpatch.make
+
+# These are used for cross-compiling and for saving the configure script
+# from having to guess our platform (since we know it already)
+export DEB_HOST_GNU_TYPE ?= $(shell dpkg-architecture -qDEB_HOST_GNU_TYPE)
+export DEB_BUILD_GNU_TYPE ?= $(shell dpkg-architecture -qDEB_BUILD_GNU_TYPE)
+CFLAGS ?= -Wall -g
+ifeq ($(DEB_BUILD_GNU_TYPE), $(DEB_HOST_GNU_TYPE))
+ confflags += --build $(DEB_HOST_GNU_TYPE)
+else
+ confflags += --build $(DEB_BUILD_GNU_TYPE) --host $(DEB_HOST_GNU_TYPE)
+endif
+
+
+LOCALHOST_IP ?= $(shell getent hosts localhost | awk '{print $$1}')
+
+# Do not optimize the build with "noopt"
+ifneq (,$(findstring noopt,$(DEB_BUILD_OPTIONS)))
+ CFLAGS += -O0
+else
+ CFLAGS += -O2
+endif
+
+# Do not strip the binary with "nostrip"
+#ifeq (,$(findstring nostrip,$(DEB_BUILD_OPTIONS)))
+# INSTALL_PROGRAM += -s
+#endif
+
+# Prevent the unit tests from being run with "nocheck"
+ifneq (,$(findstring nocheck,$(DEB_BUILD_OPTIONS)))
+ RUN_TEST = no
+endif
+ifneq (,$(findstring notest,$(DEB_BUILD_OPTIONS)))
+ RUN_TEST = no
+endif
+
+CONF_OPTIONS =
+# build against libdmalloc4 - it better be installed
+ifneq (,$(findstring with-dmalloc,$(DEB_BUILD_OPTIONS)))
+ CONF_OPTIONS += --with-dmalloc
+endif
+
+configure: patch-stamp
+config.status: configure
+ @if [ "$(LOCALHOST_IP)" != "127.0.0.1" ]; then echo; echo; echo; echo; echo; echo "######################################################################"; echo "WARNING: This system does not think localhost is 127.0.0.1. Will ignore result of testsuite. Please fix your system/chroot."; echo "######################################################################"; echo; echo; echo; echo; echo "Note: 'getent hosts localhost' should return '127.0.0.1 localhost'"; echo; fi
+ dh_testdir
+ CFLAGS="$(CFLAGS)" ./configure \
+ $(confflags) \
+ --prefix=/usr \
+ --mandir=\$${prefix}/share/man \
+ --infodir=\$${prefix}/share/info \
+ --localstatedir=/var \
+ --sysconfdir=/etc \
+ $(CONF_OPTIONS)
+
+
+build: build-stamp
+
+build-stamp: config.status
+ dh_testdir
+
+ $(MAKE)
+ @echo
+ @echo
+ # Running unit tests
+ @if [ "$(RUN_TEST)" != "no" ]; then \
+ if [ "$(LOCALHOST_IP)" != "127.0.0.1" ]; then \
+ echo; echo; echo "######################################################################"; echo "WARNING: This system does not think localhost is 127.0.0.1. Will ignore result of testsuite. Please fix your system/chroot."; echo "######################################################################"; echo; echo; \
+ echo "src/or/test || true"; \
+ src/or/test || true; \
+ else \
+ echo "src/or/test"; \
+ src/or/test; \
+ fi; \
+ else \
+ echo -e "\n\nSkipping unittests\n\n"; \
+ fi
+ @echo
+
+ # XXX
+ # So, gs-gpl on s390 is broken (#321435) and fails to properly build
+ # .pdf files from .fig files using fig2dev. Therefore we ship them
+ # until this bug is fixed.
+ #
+ # of course we can always give it a try
+ #
+ # the hexdumps were built using something like
+ # perl -e 'while (<>) { print unpack ("H*", $_); }' interaction.pdf | fold > hexdump-interaction.pdf
+ if [ "$(DEB_BUILD_GNU_TYPE)" = "s390-linux-gnu" ]; then \
+ cd doc/design-paper; \
+ fig2dev -L pdf cell-struct.fig cell-struct.pdf || \
+ ( echo "** Using shipped pdf file because fig2dev failed"; \
+ perl -e 'while (<>) { chomp; print pack ("H*", $$_); }' ../../debian/hexdump-cell-struct.pdf > cell-struct.pdf ); \
+ fig2dev -L pdf interaction.fig interaction.pdf || \
+ ( echo "** Using shipped pdf file because fig2dev failed"; \
+ perl -e 'while (<>) { chomp; print pack ("H*", $$_); }' ../../debian/hexdump-interaction.pdf > interaction.pdf ); \
+ fi
+ # XXX ends
+
+ make -C doc/design-paper tor-design.ps tor-design.pdf
+
+ touch build-stamp
+
+clean: unpatch
+ dh_testdir
+ dh_testroot
+ rm -f build-stamp
+
+ -$(MAKE) distclean
+
+ dh_clean
+
+install: build
+ dh_testdir
+ dh_testroot
+ dh_clean -k
+ dh_installdirs
+
+ $(MAKE) install DESTDIR=$(CURDIR)/debian/tor
+ # move tor to where it belongs
+ mv $(CURDIR)/debian/tor/etc/tor/torrc.sample $(CURDIR)/debian/tor/etc/tor/torrc
+ mv $(CURDIR)/debian/tor/usr/bin/tor $(CURDIR)/debian/tor/usr/sbin/tor
+ install -d $(CURDIR)/debian/tor/usr/share/man/man8
+ mv $(CURDIR)/debian/tor/usr/share/man/man1/tor.1 $(CURDIR)/debian/tor/usr/share/man/man8/tor.8
+
+ install -m 755 contrib/torify $(CURDIR)/debian/tor/usr/bin
+ install -m 644 contrib/torify.1 $(CURDIR)/debian/tor/usr/share/man/man1
+ install -m 644 contrib/tor-tsocks.conf $(CURDIR)/debian/tor/etc/tor
+
+ install -m 644 debian/tor.lintian-override $(CURDIR)/debian/tor/usr/share/lintian/overrides/tor
+
+ dh_link usr/share/man/man8/tor.8 usr/share/man/man5/torrc.5
+
+ rm -f $(CURDIR)/debian/tor/usr/bin/tor-control.py
+
+ install -d -m 755 $(CURDIR)/debian/tor-dbg/usr/share/doc
+ ln -s tor $(CURDIR)/debian/tor-dbg/usr/share/doc/tor-dbg
+
+
+# Build architecture-independent files here.
+binary-indep: build install
+# We have nothing to do by default.
+
+# Build architecture-dependent files here.
+binary-arch: build install
+ dh_testdir
+ dh_testroot
+ dh_installchangelogs ChangeLog
+ dh_installdocs
+ dh_installexamples
+# dh_install
+# dh_installdebconf
+ dh_installlogrotate
+# dh_installemacsen
+# dh_installmime
+ dh_installinit
+# dh_installcron
+ dh_installman
+ dh_link
+ # Change this for debhelper compatibility level 5 or later!
+ dh_strip --dbg-package=tor
+ dh_compress
+ dh_fixperms
+ dh_installdeb
+ dh_shlibdeps
+ dh_gencontrol
+ dh_md5sums
+ dh_builddeb
+ @if [ "$(LOCALHOST_IP)" != "127.0.0.1" ]; then echo; echo; echo; echo; echo; echo "######################################################################"; echo "WARNING: This system does not think localhost is 127.0.0.1. Result of testsuite has been ignored. Please fix your system/chroot."; echo "######################################################################"; echo; echo; echo; echo; echo "Note: 'getent hosts localhost' should return '127.0.0.1 localhost'"; echo; fi
+
+binary: binary-indep binary-arch
+.PHONY: build clean binary-indep binary-arch binary install
Property changes on: tor/tags/debian_version_0_1_1_23-/debian/rules
___________________________________________________________________
Name: svn:executable
+ *
Name: svn:keywords
+ Author Date Id Revision
Name: svn:eol-style
+ native
Added: tor/tags/debian_version_0_1_1_23-/debian/tor.default
===================================================================
--- tor/tags/debian_version_0_1_1_23-/debian/tor.default 2006-10-06 21:54:28 UTC (rev 8612)
+++ tor/tags/debian_version_0_1_1_23-/debian/tor.default 2006-10-06 22:33:28 UTC (rev 8613)
@@ -0,0 +1,34 @@
+# Defaults for tor initscript
+# sourced by /etc/init.d/tor
+# installed at /etc/default/tor by the maintainer scripts
+
+#
+# This is a bash shell fragment
+#
+RUN_DAEMON="yes"
+
+#
+# Servers sometimes may need more than the default 1024 file descriptors
+# if they are very busy and have many clients connected to them.
+# (ulimit -n)
+#
+MAX_FILEDESCRIPTORS=8192
+
+#
+# If tor is seriously hogging your CPU, taking away too much cycles from
+# other system resources, then you can renice tor. See nice(1) for a
+# bit more information. Another way to limit the CPU usage of an Onion
+# Router is to set a lower BandwidthRate, as CPU usage is mostly a function
+# of the amount of traffic flowing through your node. Consult the torrc(5)
+# manual page for more information on setting BandwidthRate.
+#
+# NICE="--nicelevel 5"
+
+# Additional arguments to pass on tor's command line.
+#
+# ARGS=""
+
+#
+# Uncomment this if you want to get coredumps
+#
+ulimit -c unlimited
Property changes on: tor/tags/debian_version_0_1_1_23-/debian/tor.default
___________________________________________________________________
Name: svn:keywords
+ Author Date Id Revision
Name: svn:eol-style
+ native
Added: tor/tags/debian_version_0_1_1_23-/debian/tor.dirs
===================================================================
--- tor/tags/debian_version_0_1_1_23-/debian/tor.dirs 2006-10-06 21:54:28 UTC (rev 8612)
+++ tor/tags/debian_version_0_1_1_23-/debian/tor.dirs 2006-10-06 22:33:28 UTC (rev 8613)
@@ -0,0 +1,7 @@
+etc/tor
+var/lib/tor
+var/log/tor
+var/run/tor
+usr/share/lintian/overrides
+usr/bin
+usr/sbin
Property changes on: tor/tags/debian_version_0_1_1_23-/debian/tor.dirs
___________________________________________________________________
Name: svn:keywords
+ Author Date Id Revision
Name: svn:eol-style
+ native
Added: tor/tags/debian_version_0_1_1_23-/debian/tor.docs
===================================================================
--- tor/tags/debian_version_0_1_1_23-/debian/tor.docs 2006-10-06 21:54:28 UTC (rev 8612)
+++ tor/tags/debian_version_0_1_1_23-/debian/tor.docs 2006-10-06 22:33:28 UTC (rev 8613)
@@ -0,0 +1,15 @@
+AUTHORS
+debian/README.Debian
+debian/README.privoxy
+doc/HACKING
+doc/TODO
+doc/control-spec.txt
+doc/design-paper/tor-design.pdf
+doc/design-paper/tor-design.ps
+doc/dir-spec.txt
+doc/rend-spec.txt
+doc/socks-extensions.txt
+doc/tor-spec.txt
+doc/version-spec.txt
+doc/website/stylesheet.css
+doc/website/tor-*
Property changes on: tor/tags/debian_version_0_1_1_23-/debian/tor.docs
___________________________________________________________________
Name: svn:keywords
+ Author Date Id Revision
Name: svn:eol-style
+ native
Added: tor/tags/debian_version_0_1_1_23-/debian/tor.init
===================================================================
--- tor/tags/debian_version_0_1_1_23-/debian/tor.init 2006-10-06 21:54:28 UTC (rev 8612)
+++ tor/tags/debian_version_0_1_1_23-/debian/tor.init 2006-10-06 22:33:28 UTC (rev 8613)
@@ -0,0 +1,141 @@
+#! /bin/bash
+
+### BEGIN INIT INFO
+# Provides: tor
+# Required-Start: $local_fs, $remote_fs, $network, $named, $time
+# Required-Stop: $local_fs, $remote_fs, $network, $named, $time
+# Should-Start: $syslog
+# Should-Stop: $syslog
+# Default-Start: 2 3 4 5
+# Default-Stop: 0 1 6
+# Short-Description: Starts The Onion Router daemon processes
+# Description: Start The Onion Router, a TCP overlay
+# network client that provides anonymous
+# transport.
+### END INIT INFO
+
+set -e
+
+PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
+DAEMON=/usr/sbin/tor
+NAME=tor
+DESC="tor daemon"
+TORPIDDIR=/var/run/tor
+TORPID=$TORPIDDIR/tor.pid
+DEFAULTSFILE=/etc/default/$NAME
+WAITFORDAEMON=60
+ARGS=""
+MAX_FILEDESCRIPTORS=8192
+NICE=""
+
+test -x $DAEMON || exit 0
+
+# Include tor defaults if available
+if [ -f $DEFAULTSFILE ] ; then
+ . $DEFAULTSFILE
+fi
+
+wait_for_deaddaemon () {
+ pid=$1
+ sleep 1
+ if test -n "$pid"
+ then
+ if kill -0 $pid 2>/dev/null
+ then
+ echo -n "."
+ cnt=0
+ while kill -0 $pid 2>/dev/null
+ do
+ cnt=`expr $cnt + 1`
+ if [ $cnt -gt $WAITFORDAEMON ]
+ then
+ echo " FAILED."
+ return 1
+ fi
+ sleep 1
+ echo -n "."
+ done
+ fi
+ fi
+ return 0
+}
+
+case "$1" in
+ start)
+ if [ "$RUN_DAEMON" != "yes" ]; then
+ echo "Not starting $DESC (Disabled in $DEFAULTSFILE)."
+ else
+ if test ! -d $TORPIDDIR; then
+ echo "There is no $TORPIDDIR directory. Creating one for you."
+ mkdir -m 02700 "$TORPIDDIR"
+ chown debian-tor:debian-tor "$TORPIDDIR"
+ fi
+ if test ! -x $TORPIDDIR; then echo "Cannot access $TORPIDDIR directory, are you root?" >&2; exit 1;
+ else
+ if [ -n "$MAX_FILEDESCRIPTORS" ]; then
+ echo -n "Raising maximum number of filedescriptors (ulimit -n) to $MAX_FILEDESCRIPTORS"
+ if ulimit -n "$MAX_FILEDESCRIPTORS" ; then
+ echo "."
+ else
+ echo ": FAILED."
+ fi
+ fi
+ echo "Starting $DESC: $NAME..."
+ start-stop-daemon --start --quiet --oknodo \
+ --chuid debian-tor:debian-tor \
+ --pidfile $TORPID \
+ $NICE \
+ --exec $DAEMON -- $ARGS
+ echo "done."
+ fi
+ fi
+ ;;
+ stop)
+ echo -n "Stopping $DESC: "
+ pid=`cat $TORPID 2>/dev/null` || true
+ if test ! -d $TORPIDDIR; then echo "There is no $TORPIDDIR directory." >&2; exit 1
+ elif test ! -x $TORPIDDIR; then echo "Cannot access $TORPIDDIR directory, are you root?" >&2; exit 1;
+ elif test ! -f $TORPID -o -z "$pid"
+ then
+ echo "not running (there is no $TORPID)."
+ elif start-stop-daemon --stop --signal INT --quiet --pidfile $TORPID --exec $DAEMON
+ then
+ wait_for_deaddaemon $pid
+ echo "$NAME."
+ elif kill -0 $pid 2>/dev/null
+ then
+ echo "FAILED (Is $pid not $NAME? Is $DAEMON a different binary now?)."
+ else
+ echo "FAILED ($DAEMON died: process $pid not running; or permission denied)."
+ fi
+ ;;
+ reload|force-reload)
+ echo -n "Reloading $DESC configuration: "
+ pid=`cat $TORPID 2>/dev/null` || true
+ if test ! -d $TORPIDDIR; then echo "There is no $TORPIDDIR directory." >&2; exit 1
+ elif test ! -x $TORPIDDIR; then echo "Cannot access $TORPIDDIR directory, are you root?" >&2; exit 1;
+ elif test ! -f $TORPID -o -z "$pid"
+ then
+ echo "not running (there is no $TORPID)."
+ elif start-stop-daemon --stop --signal 1 --quiet --pidfile $TORPID --exec $DAEMON
+ then
+ echo "$NAME."
+ elif kill -0 $pid 2>/dev/null
+ then
+ echo "FAILED (Is $pid not $NAME? Is $DAEMON a different binary now?)."
+ else
+ echo "FAILED ($DAEMON died: process $pid not running; or permission denied)."
+ fi
+ ;;
+ restart)
+ $0 stop
+ sleep 1
+ $0 start
+ ;;
+ *)
+ echo "Usage: $0 {start|stop|restart|reload|force-reload}" >&2
+ exit 1
+ ;;
+esac
+
+exit 0
Property changes on: tor/tags/debian_version_0_1_1_23-/debian/tor.init
___________________________________________________________________
Name: svn:keywords
+ Author Date Id Revision
Name: svn:eol-style
+ native
Added: tor/tags/debian_version_0_1_1_23-/debian/tor.lintian-override
===================================================================
--- tor/tags/debian_version_0_1_1_23-/debian/tor.lintian-override 2006-10-06 21:54:28 UTC (rev 8612)
+++ tor/tags/debian_version_0_1_1_23-/debian/tor.lintian-override 2006-10-06 22:33:28 UTC (rev 8613)
@@ -0,0 +1 @@
+tor: package-contains-upstream-install-documentation
Property changes on: tor/tags/debian_version_0_1_1_23-/debian/tor.lintian-override
___________________________________________________________________
Name: svn:keywords
+ Author Date Id Revision
Name: svn:eol-style
+ native
Added: tor/tags/debian_version_0_1_1_23-/debian/tor.logrotate
===================================================================
--- tor/tags/debian_version_0_1_1_23-/debian/tor.logrotate 2006-10-06 21:54:28 UTC (rev 8612)
+++ tor/tags/debian_version_0_1_1_23-/debian/tor.logrotate 2006-10-06 22:33:28 UTC (rev 8613)
@@ -0,0 +1,12 @@
+/var/log/tor/*log {
+ daily
+ rotate 5
+ compress
+ delaycompress
+ missingok
+ notifempty
+ sharedscripts
+ postrotate
+ /etc/init.d/tor reload > /dev/null
+ endscript
+}
Property changes on: tor/tags/debian_version_0_1_1_23-/debian/tor.logrotate
___________________________________________________________________
Name: svn:keywords
+ Author Date Id Revision
Name: svn:eol-style
+ native
Added: tor/tags/debian_version_0_1_1_23-/debian/tor.postinst
===================================================================
--- tor/tags/debian_version_0_1_1_23-/debian/tor.postinst 2006-10-06 21:54:28 UTC (rev 8612)
+++ tor/tags/debian_version_0_1_1_23-/debian/tor.postinst 2006-10-06 22:33:28 UTC (rev 8613)
@@ -0,0 +1,66 @@
+#!/bin/sh -e
+
+# checking debian-tor account
+
+uid=`getent passwd debian-tor | cut -d ":" -f 3`
+home=`getent passwd debian-tor | cut -d ":" -f 6`
+
+# if there is the uid the account is there and we can do
+# the sanit(ar)y checks otherwise we can safely create it.
+
+if [ "$uid" ]; then
+ # guess??? the checks!!!
+ if [ $uid -ge 100 ] && [ $uid -le 999 ]; then
+ echo "debian-tor uid check: ok"
+ else
+ echo "ERROR: debian-tor account has a non-system uid!"
+ echo "Please check /usr/share/doc/tor/README.Debian on how to"
+ echo "correct this problem"
+ exit 1
+ fi
+ if [ "$home" = "/var/lib/tor" ]; then
+ echo "debian-tor homedir check: ok"
+ else
+ echo "ERROR: debian-tor account has an invalid home directory!"
+ echo "Please check /usr/share/doc/tor/README.Debian on how to"
+ echo "correct this problem"
+ exit 1
+ fi
+else
+ # what this might mean?? oh creating a system l^Huser!
+ adduser --quiet \
+ --system \
+ --disabled-password \
+ --home /var/lib/tor \
+ --no-create-home \
+ --shell /bin/bash \
+ --group \
+ debian-tor
+fi
+
+# ch{owning,moding} things around
+# We will do nothing across upgrades.
+
+if [ "$2" = "" ]; then
+ for i in lib log run; do
+ chown -R debian-tor:debian-tor /var/$i/tor
+ chmod -R 700 /var/$i/tor
+ find /var/$i/tor -type f -exec chmod 600 '{}' ';'
+ done
+ chgrp -R adm /var/log/tor
+ chmod -R g+rX /var/log/tor
+ chmod g+s /var/log/tor
+else
+ # fix permissions of logs after 0.0.8+0.0.9pre5-1
+ if [ "$1" = "configure" ]; then
+ if dpkg --compare-versions "$2" le "0.0.8+0.0.9pre5-1" ; then
+ chgrp -R adm /var/log/tor
+ chmod -R g+rX /var/log/tor
+ chmod g+s /var/log/tor
+ fi
+ fi
+fi
+
+#DEBHELPER#
+
+exit 0
Property changes on: tor/tags/debian_version_0_1_1_23-/debian/tor.postinst
___________________________________________________________________
Name: svn:keywords
+ Author Date Id Revision
Name: svn:eol-style
+ native
Added: tor/tags/debian_version_0_1_1_23-/debian/tor.postrm
===================================================================
--- tor/tags/debian_version_0_1_1_23-/debian/tor.postrm 2006-10-06 21:54:28 UTC (rev 8612)
+++ tor/tags/debian_version_0_1_1_23-/debian/tor.postrm 2006-10-06 22:33:28 UTC (rev 8613)
@@ -0,0 +1,11 @@
+#!/bin/sh -e
+
+if [ "$1" = "purge" ]; then
+ # logs have to be removed according to policy.
+ rm -rf /var/log/tor/
+ rm -rf /var/lib/tor/
+fi
+
+#DEBHELPER#
+
+exit 0
Property changes on: tor/tags/debian_version_0_1_1_23-/debian/tor.postrm
___________________________________________________________________
Name: svn:keywords
+ Author Date Id Revision
Name: svn:eol-style
+ native
Added: tor/tags/debian_version_0_1_1_23-/debian/watch
===================================================================
--- tor/tags/debian_version_0_1_1_23-/debian/watch 2006-10-06 21:54:28 UTC (rev 8612)
+++ tor/tags/debian_version_0_1_1_23-/debian/watch 2006-10-06 22:33:28 UTC (rev 8613)
@@ -0,0 +1,2 @@
+version=2
+http://tor.eff.org/dist/tor-(.*)\.tar\.gz
Property changes on: tor/tags/debian_version_0_1_1_23-/debian/watch
___________________________________________________________________
Name: svn:keywords
+ Author Date Id Revision
Name: svn:eol-style
+ native