--- tor-0.2.1.30.orig/debian/README.Debian +++ tor-0.2.1.30/debian/README.Debian @@ -0,0 +1,16 @@ +This is the Debian package for Tor, The Onion Router. + +Some changes have been made to the Tor source to integrate it better into +Debian. If Tor is started as root or the 'debian-tor' user, then: + +- RunAsDaemon is enabled, +- 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 (uses $HOME/.tor upstream), +- User is set to "debian-tor". + +If Tor is started as any other user it behaves just like upstream's. + +-- +Peter Palfrader, Mon, 24 Jul 2006 05:20:30 +0200 + Sat, 23 Feb 2008 13:44:40 +0100 --- tor-0.2.1.30.orig/debian/README.privoxy +++ tor-0.2.1.30/debian/README.privoxy @@ -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 , Tue, 17 Feb 2004 02:15:36 +0100 --- tor-0.2.1.30.orig/debian/TODO +++ tor-0.2.1.30/debian/TODO @@ -0,0 +1,10 @@ +Legend: + - Not done + * Top priority + . Partially done + o Done + D Deferred + X Abandoned + +- don't enable coredumps by default +- fix shipped html docs to refer to local stylesheet --- tor-0.2.1.30.orig/debian/changelog +++ tor-0.2.1.30/debian/changelog @@ -0,0 +1,1492 @@ +tor (0.2.1.30-1) unstable; urgency=low + + * New upstream version. + * The tor specification files are no longer shipped in the tarball, + so /usr/share/doc/tor/spec is no more. They can be found online + at . + + -- Peter Palfrader Sat, 26 Feb 2011 10:57:43 +0100 + +tor (0.2.1.29-1) unstable; urgency=high + + * New upstream version, including several security related fixes. See + upstream changelog for details. Addresses CVE-2011-0427. + + -- Peter Palfrader Sun, 16 Jan 2011 18:51:03 +0100 + +tor (0.2.1.28-1) unstable; urgency=high + + * New upstream version. + - Fix a remotely exploitable bug that could be used to crash instances + of Tor remotely by overflowing on the heap. Remote-code execution + hasn't been confirmed, but can't be ruled out (CVE-2010-1676). + * Since the dawn of time (0.0.2pre19-1, January 2004, initial release + of the debian package), the postinst script has changed ownership and + permissions of various trees like /var/lib/tor, /var/run/tor, and + /var/log/tor, sometimes recursively. + . + It turns out this actually is a security issue, so try to be more + conservative when fixing up modes and only chown/chgrp + /var/{lib,log,run}/tor directly, never recursively. + * Remove /var/run/tor, recursively, on purge. We already do this + for /var/lib/tor and /var/log/tor. + + -- Peter Palfrader Fri, 17 Dec 2010 23:50:38 +0100 + +tor (0.2.1.27-1) unstable; urgency=low + + * New upstream version. + - remove debian/patches/15_tlsext_host_name (already included in new + upstream version). + - remove debian/patches/16_add_maatuska (ditto). + * debian/tor.docs: Remove doc/website/stylesheet.css and doc/website/tor-* + since upstream has stopped shipping them in their tarball. + + -- Peter Palfrader Mon, 29 Nov 2010 16:49:53 +0100 + +tor (0.2.1.26-4) unstable; urgency=high + + * Add debian/patches/15_tlsext_host_name: Work around change in libssl0.9.8 + (0.9.8g-15+lenny9 and 0.9.8o-3), taken from 0.2.1.27 (closes: #604198): + . + Do not set the tlsext_host_name extension on server SSL objects; only on + client SSL objects. We set it to immitate a browser, not a vhosting + server. This resolves an incompatibility with openssl 0.9.8p and openssl + 1.0.0b. Fixes bug 2204; bugfix on 0.2.1.1-alpha. + * Also from 0.2.1.27: Add maatuska as eighth v3 directory authority. + The directory authority servers are the trusted nodes that sign the + directory of all Tor servers. This adds an 8th authority to the + existing list, improving robustness. + * Change section from comm to net. This change was done in the + 0.2.2.x tree in experimental during 0.2.2.9 (April 2010) in response + to bug #482801. + * If we have a debian/micro-revision.i, replace the one in src/or + with our copy so that this will be the revision that ends up in + the binary. This is an informational only version string, but + it'd be kinda nice if it was (more) accurate nonetheless. + (Backported from 0.2.2.2-alpha-1 from September 2009.) + + -- Peter Palfrader Sun, 21 Nov 2010 20:58:08 +0100 + +tor (0.2.1.26-3) unstable; urgency=low + + * Make sure the cronjob does not try to access a /var/lib/tor + that has already been removed (due to for instance package removal). + Thanks to Holger and piuparts for catching this. + + -- Peter Palfrader Sat, 20 Nov 2010 15:15:10 +0100 + +tor (0.2.1.26-2) unstable; urgency=medium + + * No longer set ulimit -c to unlimited: + Up until now the init script (or actually /etc/default/tor) raised + the ulimit for coredumps to unlimited, so that Tor would produce + coredumps on assert errors or segfaults. Coredumps however can + leak sensitive information, like cryptographic session keys and + clients' data should the core files get into the wrong hands. As + such it seems prudent to only enable coredumps if the user or + operator explicitly asks for them, and knows what to do with them. + * Also include a cron.weekly job that removes old coredumps from + /var/lib/tor. This action can be disabled in /etc/default/tor. + + -- Peter Palfrader Thu, 18 Nov 2010 12:11:33 +0100 + +tor (0.2.1.26-1) unstable; urgency=low + + * New upstream version. + * Remove debian/patches/15_testuite-thread-fixes (merged upstream). + * tor.postinst: Stop calling stat(1) with its full path. + * Add ${misc:Depends} for all three binary packages because debhelper + might want to add stuff. + + -- Peter Palfrader Mon, 03 May 2010 19:04:40 +0200 + +tor (0.2.1.25-3) unstable; urgency=low + + * Minor bugfixes to make the testsuite work on our new Octeon machines: + (taken from upstream's maint-0.2.1 branch) + - Testsuite: In the util/threads test no longer free the test_mutex + before all worker threads have finished. + - Testsuite: The master thread could starve the worker threads quite + badly on certain systems, causing them to run only partially in + the allowed window. This resulted in test failures. Now the master + thread sleeps occasionally for a few microseconds while the two + worker-threads compete for the mutex. + (both in debian/patches/15_testuite-thread-fixes) + + -- Peter Palfrader Tue, 13 Apr 2010 00:44:39 +0200 + +tor (0.2.1.25-2) unstable; urgency=low + + * In /etc/default/tor also source /etc/default/tor.vidalia if it exists + and if vidalia is installed. We do this so that the vidalia package + can override some of our settings: People who have vidalia installed might + not want to run Tor as a system service. The vidalia .deb can ask them + that and then set run-daemon to no. + + -- Peter Palfrader Sat, 03 Apr 2010 13:29:17 +0200 + +tor (0.2.1.25-1) unstable; urgency=low + + * New upstream version. + - Obsoletes patches/15_enable_renegotiation_on_098k. + * Change order of recommends from privoxy | polipo to polipo | privoxy. + [change done in experimental (0.2.2.x) long ago). + + -- Peter Palfrader Wed, 17 Mar 2010 23:20:32 +0100 + +tor (0.2.1.23-2) unstable; urgency=low + + * Enable ssl renegotiation also on 0.9.8k (closes: #570197). + + -- Peter Palfrader Wed, 17 Feb 2010 10:50:12 +0100 + +tor (0.2.1.23-1) unstable; urgency=low + + * New upstream version. + - We no longer need to build-depend on a recent libssl-dev because + Tor now detects whether we need to explicitly turn on + autonegotiation at run-time rather than compile time. Good. + (This also means we no longer need to conflict with newer + libssls when we built against an old one on backports.) + + -- Peter Palfrader Sun, 14 Feb 2010 09:50:41 +0100 + +tor (0.2.1.22-1) unstable; urgency=medium + + * New upstream version. + - Rotate keys (both v3 identity and relay identity) for moria1 + and gabelmoo. + [and more] + + -- Peter Palfrader Wed, 20 Jan 2010 18:58:12 +0100 + +tor (0.2.1.21-1) unstable; urgency=low + + * New upstream version. + * Drop patches/ce0a89e2-work-with-reneg-ssl.dpatch (already in + upstream). + + -- Peter Palfrader Tue, 29 Dec 2009 14:55:32 +0100 + +tor (0.2.1.20-2) unstable; urgency=low + + * Pick ce0a89e2624471272ffc4950c5069d9b81a7f0b9 from maint-0.2.1 git tree: + - work with libssl that has renegotiation disabled by default. + (debian/patches/ce0a89e2-work-with-reneg-ssl.dpatch) + * Therefore build-depend on libssl-dev >= 0.9.8k-6. If we build against + earlier versions we will not work once libssl gets upgraded to a version + that disabled renegotiations. + + -- Peter Palfrader Sat, 14 Nov 2009 15:18:32 +0100 + +tor (0.2.1.20-1) unstable; urgency=low + + * New upstream version. + + -- Peter Palfrader Fri, 13 Nov 2009 19:02:47 +0100 + +tor (0.2.1.19-1) unstable; urgency=low + + * New upstream version. + - Make accessing hidden services on 0.2.1.x work right (closes: #538960). + [More items are in the upstream changelog.] + + -- Peter Palfrader Wed, 29 Jul 2009 12:49:03 +0200 + +tor (0.2.1.18-1) unstable; urgency=low + + * New upstream version. + + -- Peter Palfrader Sat, 25 Jul 2009 11:15:11 +0200 + +tor (0.2.1.17-rc-1) experimental; urgency=low + + * New upstream version. + * Update upstream URL in debian/copyright. + + -- Peter Palfrader Mon, 13 Jul 2009 23:37:37 +0200 + +tor (0.2.1.16-rc-1) experimental; urgency=low + + * New upstream version. + * No longer inform the user if/when we re-create the /var/run/tor + directory in the init script. With /var/run on tmpfs this is + completely normal now so our message was just noise. + * Stop shipping /var/run/tor in the package. + * Only clean up permissions of /var/run/tor in postinst if the + directory actually exists. + * Update Standards-Version from 3.8.0 to 3.8.1. No real changes + required, we already support nocheck in DEB_BUILD_OPTIONS since + August 2004, and we already create our var/run directory in the + init script (tho we now no longer ship it either - see above). + * Change debhelper compatibility version from 4 to 5: + - Change dh_strip call from --dbg-package=tor + to --dbg-package=tor-dbg. + - Update versioned build time dependency on debhelper. + * Forward port 06_add_compile_time_defaults. + + -- Peter Palfrader Sat, 20 Jun 2009 13:16:02 +0200 + +tor (0.2.1.15-rc-1) experimental; urgency=low + + * New upstream version. + * Change build time dependency on gs to ghostscript. + + -- Peter Palfrader Sat, 30 May 2009 21:10:03 +0200 + +tor (0.2.1.14-rc-1) experimental; urgency=low + + * New upstream version. + * Change Section of tor-dbg to debug. + + -- Peter Palfrader Thu, 16 Apr 2009 19:54:19 +0200 + +tor (0.2.1.13-alpha-1) experimental; urgency=low + + * New upstream version. + + -- Peter Palfrader Sun, 15 Mar 2009 00:58:07 +0100 + +tor (0.2.1.12-alpha-1) experimental; urgency=low + + * New upstream version, fixing several security relevant bugs: + - Avoid a potential crash on exit nodes when processing malformed + input. Remote DoS opportunity (closes: #514579). + - Fix a temporary DoS vulnerability that could be performed by + a directory mirror (closes: #514580). + * patches/06_add_compile_time_defaults: Only set the User option in + the config if we run as root. Do not set it when run as debian-tor + as Tor then always insists on changing users which will fail. (If + we run as any other user we don't set our debian defaults anyway.) + + -- Peter Palfrader Tue, 10 Feb 2009 00:19:53 +0100 + +tor (0.2.1.11-alpha-1) experimental; urgency=high + + * New upstream version: + - Fixes a possible remote heap buffer overflow bug. + - torify(1) manpage mentions DNS leaks now (closes: #495829). + * README.Debian: No longer claim we change the default 'Group' setting + when run as debian-user. That setting no longer exists. + * Forward port 03_tor_manpage_in_section_8.dpatch. + + -- Peter Palfrader Wed, 21 Jan 2009 01:00:15 +0100 + +tor (0.2.1.10-alpha-1) experimental; urgency=low + + * New alpha release. + * Forward port 03_tor_manpage_in_section_8.dpatch. + + -- Peter Palfrader Sun, 11 Jan 2009 12:06:28 +0100 + +tor (0.2.1.9-alpha-1) experimental; urgency=low + + * New alpha release. + + -- Peter Palfrader Fri, 26 Dec 2008 20:51:53 +0100 + +tor (0.2.1.8-alpha-1) experimental; urgency=low + + * New alpha release. + + -- Peter Palfrader Mon, 15 Dec 2008 23:00:32 +0100 + +tor (0.2.1.7-alpha-2) experimental; urgency=low + + * No longer set now obsolete Group setting in built-in debian config. + + -- Peter Palfrader Mon, 10 Nov 2008 16:28:31 +0100 + +tor (0.2.1.7-alpha-1) experimental; urgency=low + + * New alpha release. + + -- Peter Palfrader Mon, 10 Nov 2008 09:39:30 +0100 + +tor (0.2.1.6-alpha-1) experimental; urgency=low + + * New alpha release. + * Forward port 14_fix_geoip_warning.dpatch. + + -- Peter Palfrader Tue, 30 Sep 2008 14:37:26 +0200 + +tor (0.2.1.5-alpha-1) experimental; urgency=low + + * New alpha release. + + -- Peter Palfrader Tue, 02 Sep 2008 00:18:55 +0200 + +tor (0.2.1.4-alpha-1) experimental; urgency=low + + * New alpha release. + * Do not build with openbsd's malloc unless enable-openbsd-malloc is in + DEB_BUILD_OPTIONS. + + -- Peter Palfrader Tue, 05 Aug 2008 12:33:23 +0200 + +tor (0.2.1.2-alpha-1) experimental; urgency=low + + * New alpha release. + + -- Peter Palfrader Wed, 16 Jul 2008 13:05:45 +0200 + +tor (0.2.0.30-1) unstable; urgency=low + + * New upstream version. + + -- Peter Palfrader Wed, 16 Jul 2008 02:19:08 +0200 + +tor (0.2.0.29-rc-2) unstable; urgency=low + + * Upload to unstable. + + -- Peter Palfrader Tue, 15 Jul 2008 22:16:08 +0200 + +tor (0.2.0.29-rc-1) experimental; urgency=low + + * New upstream version. + * Warn the admin if the number of file descriptors on his system is + tiny. + + -- Peter Palfrader Wed, 09 Jul 2008 14:02:06 +0200 + +tor (0.2.0.28-rc-1) experimental; urgency=low + + * New upstream version. + * Remove debian/patches/11_tor_as_root_more_helpful.dpatch as + it is no longer needed: We now setuid() to the Tor user + when run as root and it all just works. + * Add comments to the dpatch headers so lintian shuts up. + * Add patches/14_fix_geoip_warning: Change geoipdb open failed message. + * Require unit tests to pass again. + + -- Peter Palfrader Fri, 13 Jun 2008 10:28:36 +0200 + +tor (0.2.0.27-rc-1) experimental; urgency=low + + * New upstream version. + * Add tor-geoipdb arch: all package for the geoip database. + * Update debian/rules so that there now is a binary-common target + and the binary-indep and binary-arch targets call make with + proper DH_OPTIONS options. This is taken from the template + that dh_make nowadays uses for multi-binary packages. + * Unit tests are broken, yay. + * Use ${binary:Version} to depend on the right tor binary package from + the tor-dbg package instead of ${Source-Version}. Some guy on the + internet said the latter was deprecated. + * Add Homepage: https://www.torproject.org/ field to control file. + * And mention www.tp.o instead of the old tor.eff.org in the long + description. + * No longer ignore failure of make clean in the clean target. + * Support passing of parallel= in build options. + * Change declared Standards-Version to 3.8.0. + + -- Peter Palfrader Fri, 06 Jun 2008 01:11:33 +0200 + +tor (0.2.0.26-rc-1) experimental; urgency=critical + + * New upstream version. + * Conflict with old libssls. + * On upgrading from versions prior to, including, 0.1.2.19-2, or + from versions later than 0.2.0 and prior to 0.2.0.26-rc do the + following, and if we are a server (we have a /var/lib/tor/keys + directory) + - move /var/lib/tor/keys/secret_onion_key out of the way. + - move /var/lib/tor/keys/secret_onion_key.old out of the way. + - move /var/lib/tor/keys/secret_id_key out of the way if it was + created on or after 2006-09-17, which is the day the bad + libssl was uploaded to Debian unstable. + * Add a NEWS file explaining this change. + + -- Peter Palfrader Tue, 13 May 2008 16:11:21 +0200 + +tor (0.2.0.24-rc-1) experimental; urgency=low + + * New upstream version. + + -- Peter Palfrader Wed, 23 Apr 2008 02:25:22 +0200 + +tor (0.2.0.23-rc-1) experimental; urgency=low + + * New upstream version. + * Mention OpenBSD_malloc_Linux.c in debian/copyright. + * Add a recommends on logrotate. + + -- Peter Palfrader Tue, 25 Mar 2008 09:34:37 +0100 + +tor (0.2.0.22-rc-1) experimental; urgency=low + + * New upstream version. + * Work around fig2dev failing to build the images on all archs + (re #457568). + * Build with --enable-openbsd-malloc, unless no-enable-openbsd-malloc is + found in DEB_BUILD_OPTIONS. Hopefully this deals with some of the + horrible memory fragmentation that glibc's malloc causes. + + -- Peter Palfrader Wed, 19 Mar 2008 08:03:47 +0100 + +tor (0.2.0.21-rc-1) experimental; urgency=low + + * New upstream version. + * Run --verify-config before start/reload/restart as root. No longer + su - to debian-tor tor run it. Given that we now even start Tor as + root (it setuids later on) this should be fine (closes: #468566). + + -- Peter Palfrader Mon, 3 Mar 2008 13:36:59 +0100 + +tor (0.2.0.20-rc-1) experimental; urgency=low + + * New upstream version. + * Change the default for MAX_FILEDESCRIPTORS in our init script to depend + on the number of system-wide available file descriptors: + /proc/sys/fs/file-max is bigger than 80k, set ulimit -n to 32k, if it's + greater than 40k set the limit to 16k, and when greater than 10k our limit + shall be 8k descriptors. If there are less than 20k FDs in the entire + system default to a limit of only 1024. + + Big servers at the moment regularly use more than 10k FDs, so our old + default of 8k no longer is sufficient. On the other hand we don't want + lower end systems to run out of FDs on Tor's account. + * If we run as root also apply debian defaults. + * Add User=debian-tor and Group=debian-tor to debian defaults. That allows + us to start Tor as root and have it setuid/setgid to the target user. + * Change the init script to start Tor as root. Now we should be able to + bind to low port. + + -- Peter Palfrader Mon, 25 Feb 2008 13:54:58 +0100 + +tor (0.2.0.19-alpha-1) experimental; urgency=low + + * New upstream version. + * It's 2008. Now is the time to add copyright statements for 2007. + * Forward port 03_tor_manpage_in_section_8.dpatch. + + -- Peter Palfrader Sun, 10 Feb 2008 01:12:04 +0100 + +tor (0.2.0.18-alpha-2) experimental; urgency=low + + * Work around fig2dev failing to build the images on mipsel like we do on + sparc and s390 (re #457568) + * Fix postinst find command that chowns stuff to the right user. Find + does weird things in the presence of !. + + -- Peter Palfrader Sun, 3 Feb 2008 18:17:16 +0100 + +tor (0.2.0.18-alpha-1) experimental; urgency=low + + * New upstream version. + * postinst: Remove the check that requires the debian-tor user + to have a uid between 100 and 999. There is no good reason + to require this. If the local admin moves the system users/uid-space + to some other range then they probably have a good reason for that. + * postinst: change wording if debian-tor's homedir is wrong, do not + print anything if it is ok. + * postinst: We were only fixing the permissions of /var/{lib,run,log}/tor + when we were not upgrading. Unfortunately the check doesn't work all + that well usually in cases where the package was removed (not purged) + and then later re-installed again. Now we ensure proper ownership + and modes for all the directories and files below /var/{lib,run,log}/tor + (the dirs themselves included) every time we run postinst. + * postinst: if we reboot between unpacking and configuring on some smart + systems this will mean that we just lost /var/run/tor - creating it + in the maintainer script if it doesn't exist. + * Create logfiles in logrotate so that they come into the world with the + correct mode (o-r). + + -- Peter Palfrader Thu, 24 Jan 2008 15:15:32 +0100 + +tor (0.2.0.17-alpha-1) experimental; urgency=low + + * New upstream version. + + -- Peter Palfrader Thu, 17 Jan 2008 21:42:25 +0100 + +tor (0.2.0.15-alpha-1) experimental; urgency=low + + * New upstream version. + + -- Peter Palfrader Tue, 25 Dec 2007 08:53:25 +0100 + +tor (0.2.0.14-alpha-1) experimental; urgency=low + + * New upstream version. + * Remove 13_r12907-fix-unit-tests.dpatch (Fix unit tests from HEAD) again - + it's included upstream. + * Work around fig2dev failing to build the images on sparc like we do on + s390. + + -- Peter Palfrader Sun, 23 Dec 2007 13:45:41 +0100 + +tor (0.2.0.13-alpha-1) experimental; urgency=low + + * New upstream version. + * Fix unit tests from HEAD (13_r12907-fix-unit-tests.dpatch). + + -- Peter Palfrader Fri, 21 Dec 2007 11:52:43 +0100 + +tor (0.2.0.12-alpha-1) experimental; urgency=low + + * New upstream version. + + -- Peter Palfrader Sun, 18 Nov 2007 11:49:06 +0100 + +tor (0.2.0.11-alpha-1) experimental; urgency=low + + * New upstream version. + * remove 12_r12235_do_not_crash_when_myfamily_is_set again, it's + now part of upstream. + + -- Peter Palfrader Thu, 15 Nov 2007 11:07:06 +0100 + +tor (0.2.0.9-alpha-2) experimental; urgency=low + + * Do not separate required lsb facilities with commas in the + init script (closes: #448001). + * Add 12_r12235_do_not_crash_when_myfamily_is_set.dpatch, + from trunk/head. + + -- Peter Palfrader Sun, 28 Oct 2007 00:03:21 +0200 + +tor (0.2.0.9-alpha-1) experimental; urgency=low + + * New upstream version. + * Only create pid dir if we are about to start Tor (Luca Capello, + closes: #447508). + + -- Peter Palfrader Fri, 26 Oct 2007 14:29:56 +0200 + +tor (0.2.0.8-alpha-1) experimental; urgency=low + + * New upstream version. + + -- Peter Palfrader Sat, 13 Oct 2007 16:27:04 +0200 + +tor (0.2.0.7-alpha-1) experimental; urgency=low + + * New upstream version. + + -- Peter Palfrader Mon, 24 Sep 2007 23:50:14 +0200 + +tor (0.2.0.6-alpha-1) experimental; urgency=low + + * New upstream version. + + -- Peter Palfrader Mon, 27 Aug 2007 15:41:31 +0200 + +tor (0.2.0.5-alpha-1) experimental; urgency=low + + * New upstream version. + + -- Peter Palfrader Sun, 19 Aug 2007 15:10:49 +0200 + +tor (0.2.0.4-alpha-1) experimental; urgency=high + + * New upstream version. + + -- Peter Palfrader Thu, 2 Aug 2007 07:09:36 +0200 + +tor (0.2.0.3-alpha-1) experimental; urgency=low + + * New upstream version. + + -- Peter Palfrader Tue, 31 Jul 2007 07:03:00 +0200 + +tor (0.2.0.2-alpha-1) experimental; urgency=low + + * New upstream version. + + -- Peter Palfrader Sun, 3 Jun 2007 02:31:29 +0200 + +tor (0.2.0.1-alpha-1) experimental; urgency=low + + * New upstream version. + * Forward port 06_add_compile_time_defaults. + * teTeX is no more, long live TeX Live: + - remove build depends on tetex-bin, tetex-extra, + - add build depends on texlive-base-bin for dvips and bibtex, + texlive-latex-base for latex, and texlive-fonts-recommended for fonts + like ptmr7t. + + -- Peter Palfrader Sat, 2 Jun 2007 14:31:15 +0200 + +tor (0.1.2.19-1) unstable; urgency=low + + * New upstream version. + + -- Peter Palfrader Thu, 17 Jan 2008 20:57:42 +0100 + +tor (0.1.2.18-1) unstable; urgency=low + + * New upstream version. + + -- Peter Palfrader Mon, 29 Oct 2007 20:36:38 +0100 + +tor (0.1.2.17-1) unstable; urgency=low + + * New upstream version. + + -- Peter Palfrader Fri, 31 Aug 2007 03:14:33 +0200 + +tor (0.1.2.16-1) unstable; urgency=high + + * New upstream version. + + -- Peter Palfrader Thu, 2 Aug 2007 06:43:09 +0200 + +tor (0.1.2.15-1) unstable; urgency=low + + * New upstream version. + * Change build-depends from tetex to texlive suite. + + -- Peter Palfrader Thu, 19 Jul 2007 22:33:43 +0200 + +tor (0.1.2.14-1) unstable; urgency=low + + * New upstream version. + + -- Peter Palfrader Fri, 25 May 2007 21:49:20 +0200 + +tor (0.1.2.13-3) unstable; urgency=low + + * Always give a shell (/bin/sh) when we use su(1) in our init script + (closes: #421465). + + -- Peter Palfrader Sun, 6 May 2007 14:44:11 +0200 + +tor (0.1.2.13-2) unstable; urgency=low + + * In options_init_from_torrc()'s error path only config_free() options + if they already have been initialized (closes: #421235). + + -- Peter Palfrader Fri, 27 Apr 2007 13:06:37 +0200 + +tor (0.1.2.13-1) unstable; urgency=low + + * New upstream version. + + -- Peter Palfrader Tue, 24 Apr 2007 21:21:10 +0200 + +tor (0.1.2.12-rc-1) experimental; urgency=low + + * New upstream version. + + -- Peter Palfrader Sat, 17 Mar 2007 11:35:31 +0100 + +tor (0.1.2.10-rc-1) experimental; urgency=low + + * New upstream version. + * Change recommends on privoxy to privoxy | polipo (>= 1) (closes: #413728). + + -- Peter Palfrader Fri, 9 Mar 2007 10:57:40 +0100 + +tor (0.1.2.8-beta-1) experimental; urgency=low + + * New upstream version. + + -- Peter Palfrader Mon, 26 Feb 2007 11:50:49 +0100 + +tor (0.1.2.7-alpha-1) experimental; urgency=low + + * New upstream version. + * Install all the spec files into usr/share/doc/tor/spec now. + They moved to doc/spec/* from just doc/* in the source too. + + -- Peter Palfrader Tue, 13 Feb 2007 18:51:14 +0100 + +tor (0.1.2.6-alpha-1) experimental; urgency=low + + * New upstream version. + + -- Peter Palfrader Tue, 9 Jan 2007 17:39:15 +0100 + +tor (0.1.2.5-alpha-1) experimental; urgency=low + + * New upstream version. + * Disable 02_add_debian_files_in_manpage.dpatch for now. + + -- Peter Palfrader Sun, 7 Jan 2007 13:57:37 +0100 + +tor (0.1.2.4-alpha-1) experimental; urgency=low + + * New upstream version. + + -- Peter Palfrader Mon, 4 Dec 2006 00:13:37 +0100 + +tor (0.1.2.3-alpha-1) experimental; urgency=low + + * New upstream version. + + -- Peter Palfrader Mon, 30 Oct 2006 11:06:52 +0100 + +tor (0.1.2.2-alpha-1) experimental; urgency=low + + [ Peter Palfrader ] + * New upstream version. + + [ Roger Dingledine ] + * Minor update of debian/copyright. + + -- Peter Palfrader Tue, 10 Oct 2006 03:26:00 +0200 + +tor (0.1.2.1-alpha-1) experimental; urgency=low + + * Forward port 07_log_to_file_by_default.dpatch. + * Previously our defaults for DataDirectory, PidFile, RunAsDaemon, and + Log differed from upstreams. Now Tor behaves just like before (with + our own DataDirectory and all) only when run as the debian-tor user. + If invoked as any other user, Tor will behave just like the pristine + upstream version. + * Tell users about the init script when they try to run Tor as root. + Should we also do this when they try to run their Tor as any other + (non root, non debian-tor) user? - add 11_tor_as_root_more_helpful + * Use tor --verify-config before start and reload. Abort init script + with exit 1 if config does not verify. + * Change Standards-Version to 3.7.2. No changes required. + + -- Peter Palfrader Tue, 29 Aug 2006 22:38:29 +0200 + +tor (0.1.1.26-1) unstable; urgency=high + + * New upstream version (Stop sending the HttpProxyAuthenticator string to + directory servers when directory connections are tunnelled through Tor). + + -- Peter Palfrader Fri, 15 Dec 2006 20:24:07 +0100 + +tor (0.1.1.25-1) unstable; urgency=low + + * New upstream version. + + -- Peter Palfrader Sat, 4 Nov 2006 17:16:08 +0100 + +tor (0.1.1.24-1) unstable; urgency=low + + * New upstream version. + * Update debian/copyright: + - tree.h has vanished somewhere along the current branch + - ht.h is new and credits Christopher Clark + - We didn't mention Matej Pfajfar's copyright before. + * Forward port 07_log_to_file_by_default. + + -- Peter Palfrader Fri, 6 Oct 2006 23:32:45 +0200 + +tor (0.1.1.23-1) unstable; urgency=medium + + * New upstream version. + + -- Peter Palfrader Thu, 3 Aug 2006 03:13:24 +0200 + +tor (0.1.1.22-1) unstable; urgency=low + + * New upstream version. + + -- Peter Palfrader Thu, 6 Jul 2006 02:55:37 +0200 + +tor (0.1.1.21-1) unstable; urgency=low + + * New upstream version. + + -- Peter Palfrader 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 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 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 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 Tue, 28 Mar 2006 09:48:04 +0200 + +tor (0.1.1.16-rc-1) experimental; urgency=low + + * New upstream version. + + -- Peter Palfrader 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 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 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 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 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 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 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 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@moria.seul.org> + + -- Peter Palfrader 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 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 Wed, 14 Sep 2005 15:05:16 +0200 + +tor (0.1.1.6-alpha-1) experimental; urgency=low + + * Experimental upstream version. + + -- Peter Palfrader 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 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 Fri, 12 Aug 2005 17:02:23 +0200 + +tor (0.1.0.17-1) unstable; urgency=low + + * New upstream version. + + -- Peter Palfrader 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 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 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 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 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 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 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 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 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 Thu, 16 Jun 2005 22:56:11 +0200 + +tor (0.0.9.9-1) unstable; urgency=low + + * New upstream version. + + -- Peter Palfrader Sat, 23 Apr 2005 23:58:47 +0200 + +tor (0.0.9.8-1) unstable; urgency=low + + * New upstream version. + + -- Peter Palfrader Fri, 8 Apr 2005 09:11:34 +0200 + +tor (0.0.9.7-1) unstable; urgency=low + + * New upstream version. + + -- Peter Palfrader 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 Fri, 25 Mar 2005 01:34:28 +0100 + +tor (0.0.9.5-1) unstable; urgency=low + + * New upstream version. + + -- Peter Palfrader 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 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 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 Tue, 4 Jan 2005 11:14:03 +0100 + +tor (0.0.9.1-1) unstable; urgency=low + + * New upstream version. + + -- Peter Palfrader 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 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 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 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 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 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 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 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 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 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 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 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 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 Fri, 1 Oct 2004 21:28:49 +0200 + +tor (0.0.8-1) unstable; urgency=low + + * New upstream release. + + -- Peter Palfrader 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 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 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 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 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 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 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 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 Fri, 7 May 2004 00:24:49 +0200 + +tor (0.0.6-1) unstable; urgency=low + + * New upstream release (breaks backwards compatibility). + + -- Peter Palfrader 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 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 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 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 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 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 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 Fri, 19 Mar 2004 12:37:17 +0100 + +tor (0.0.1+0.0.2pre27-1) unstable; urgency=low + + * New upstream release. + + -- Peter Palfrader 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 Mon, 15 Mar 2004 02:21:29 +0100 + +tor (0.0.1+0.0.2pre25-1) unstable; urgency=low + + * New upstream release. + + -- Peter Palfrader 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 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 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 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 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 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 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 Sat, 10 Jan 2004 11:20:06 +0100 + --- tor-0.2.1.30.orig/debian/compat +++ tor-0.2.1.30/debian/compat @@ -0,0 +1 @@ +5 --- tor-0.2.1.30.orig/debian/control +++ tor-0.2.1.30/debian/control @@ -0,0 +1,74 @@ +Source: tor +Section: net +Priority: optional +Maintainer: Peter Palfrader +Build-Depends: debhelper (>= 5), libssl-dev, dpatch, zlib1g-dev, libevent-dev (>= 1.1), texlive-base-bin, texlive-latex-base, texlive-fonts-recommended, transfig, ghostscript, binutils (>= 2.14.90.0.7) +Standards-Version: 3.8.1 +Homepage: https://www.torproject.org/ + +Package: tor +Architecture: any +Depends: ${shlibs:Depends}, adduser, tsocks, ${misc:Depends} +Conflicts: libssl0.9.8 (<< 0.9.8g-9) +Recommends: polipo (>= 1) | privoxy, socat, logrotate, tor-geoipdb +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 https://www.torproject.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 (= ${binary:Version}), ${misc:Depends} +Suggests: gdb +Priority: extra +Section: debug +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. + +Package: tor-geoipdb +Architecture: all +Priority: extra +Depends: tor (>= ${source:Version}), ${misc:Depends} +Description: geoIP database for Tor + This package provides a geoIP database for Tor, i.e. it maps IPv4 addresses + to countries. + . + Bridges (special Tor relays that aren't listed in the main Tor directory) use + this information to report which countries they get access from. This allows + the Tor network operators to learn if certain countries started blocking + access to bridges. --- tor-0.2.1.30.orig/debian/copyright +++ tor-0.2.1.30/debian/copyright @@ -0,0 +1,124 @@ +This package was debianized by Peter Palfrader on +Sat, 10 Jan 2004 11:20:06 +0100. + +It was downloaded from https://www.torproject.org/ + +Upstream Authors: Roger Dingledine + Nick Mathewson + +Copyright (c) 2001 Matej Pfajfar +Copyright (c) 2001-2004, Roger Dingledine +Copyright (c) 2004-2006, Roger Dingledine, Nick Mathewson +Copyright (c) 2007-2008, The Tor Project, Inc. +strlcat, strlcpy: Copyright (c) 1998 Todd C. Miller +ht.h: Copyright (c) 2002, Christopher Clark, 2006 Nick Mathewson +OpenBSD_malloc_Linux.c: phk@FreeBSD.ORG +Modifications for Debian: Copyright (c) 2004, 2005, 2006, 2007, 2008 Peter Palfrader + +Tor is distributed under this license: +=============================================================================== +Copyright (c) 2001-2004, Roger Dingledine +Copyright (c) 2004-2006, Roger Dingledine, Nick Mathewson +Copyright (c) 2007-2008, The Tor Project, Inc. + +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. + +=============================================================================== +strlcat and strlcpy by Todd C. Miller are licensed under the following license: + + * Copyright (c) 1998 Todd C. Miller + * 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. +=============================================================================== +ht.h by Nick Mathewson is licensed as follows: +/* + * Copyright 2005, Nick Mathewson. Implementation logic is adapted from code + * by Cristopher Clark, retrofit to allow drop-in memory management, and to + * use the same interface as Niels Provos's HT_H. I'm not sure whether this + * is a derived work any more, but whether it is or not, the license below + * applies. + * + * Copyright (c) 2002, Christopher Clark + * All rights reserved. + * + * 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 name of the original author; nor the names of any 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. +*/ +=============================================================================== +OpenBSD_malloc_Linux.c: + * "THE BEER-WARE LICENSE" (Revision 42): + * wrote this file. As long as you retain this notice you + * can do whatever you want with this stuff. If we meet some day, and you think + * this stuff is worth it, you can buy me a beer in return. Poul-Henning Kamp --- tor-0.2.1.30.orig/debian/hexdump-cell-struct.pdf +++ tor-0.2.1.30/debian/hexdump-cell-struct.pdf @@ -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 --- tor-0.2.1.30.orig/debian/hexdump-interaction.pdf +++ tor-0.2.1.30/debian/hexdump-interaction.pdf @@ -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 --- tor-0.2.1.30.orig/debian/rules +++ tor-0.2.1.30/debian/rules @@ -0,0 +1,209 @@ +#!/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) +# +# See /usr/share/doc/autotools-dev/README.Debian.gz which suggests +# this way of passing --build and --host. Also see the thread on +# debian-devel './configure in debian/rules' from February/March 2006, +# starting with <43FF212C.5020800@xs4all.nl> by Pjotr Kourzanov. +export DEB_HOST_GNU_TYPE ?= $(shell dpkg-architecture -qDEB_HOST_GNU_TYPE) +export DEB_BUILD_GNU_TYPE ?= $(shell dpkg-architecture -qDEB_BUILD_GNU_TYPE) +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 + +CFLAGS ?= -Wall -g + +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 + +# Support passing of parallel= in build options +ifneq (,$(filter parallel=%,$(DEB_BUILD_OPTIONS))) + NUMJOBS = $(patsubst parallel=%,%,$(filter parallel=%,$(DEB_BUILD_OPTIONS))) + MAKEFLAGS += -j$(NUMJOBS) +endif + +CONF_OPTIONS = +# build against libdmalloc4 - it better be installed +ifneq (,$(findstring with-dmalloc,$(DEB_BUILD_OPTIONS))) + CONF_OPTIONS += --with-dmalloc +endif +# allow building with --enable-openbsd-malloc +ifneq (,$(findstring enable-openbsd-malloc,$(DEB_BUILD_OPTIONS))) + CONF_OPTIONS += --enable-openbsd-malloc +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 + ! [ -e debian/micro-revision.i ] || cp debian/micro-revision.i src/or/micro-revision.i + + $(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 (#457568) 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 + # + # And it fails on a bunch of other archs too. + 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 ); \ + # 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 + + [ ! -f Makefile ] || $(MAKE) distclean + ! [ -e debian/micro-revision.i ] || rm -f src/or/micro-revision.i + + 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 + + # tor-dbg doc dir + install -d -m 755 $(CURDIR)/debian/tor-dbg/usr/share/doc + ln -s tor $(CURDIR)/debian/tor-dbg/usr/share/doc/tor-dbg + + # tor-geoip + mv $(CURDIR)/debian/tor/usr/share/tor/geoip $(CURDIR)/debian/tor-geoipdb/usr/share/tor + rmdir $(CURDIR)/debian/tor/usr/share/tor || true + + install -d -m 755 $(CURDIR)/debian/tor-geoipdb/usr/share/doc/tor-geoipdb + ln -s ../tor/changelog.gz $(CURDIR)/debian/tor-geoipdb/usr/share/doc/tor-geoipdb + ln -s ../tor/changelog.Debian.gz $(CURDIR)/debian/tor-geoipdb/usr/share/doc/tor-geoipdb + + install -m 644 debian/tor-geoipdb.lintian-override $(CURDIR)/debian/tor-geoipdb/usr/share/lintian/overrides/tor-geoipdb + +# Must not depend on anything. This is to be called by +# binary-arch/binary-indep +# in another 'make' thread. +binary-common: + dh_testdir + dh_testroot + dh_installchangelogs --package=tor ChangeLog + dh_installdocs + dh_installexamples + dh_installlogrotate + dh_installinit + dh_installcron + dh_installman + dh_link + dh_strip --dbg-package=tor-dbg + dh_compress + dh_fixperms + dh_installdeb + dh_shlibdeps + dh_gencontrol + dh_md5sums + dh_builddeb + +# Build architecture independant packages using the common target. +binary-indep: install + $(MAKE) -f debian/rules DH_OPTIONS=-i binary-common + +# Build architecture dependant packages using the common target. +binary-arch: install + $(MAKE) -f debian/rules DH_OPTIONS=-s binary-common + @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-common binary-indep binary-arch binary install --- tor-0.2.1.30.orig/debian/tor-geoipdb.copyright +++ tor-0.2.1.30/debian/tor-geoipdb.copyright @@ -0,0 +1,35 @@ +This geo-ip database was downloaded as part of the Tor distribution +from . + + +It is the IP-to-Country Database provided by WebHosting.Info +(http://www.webhosting.info), available from +http://ip-to-country.webhosting.info. + + +Copyright (c) 2003 Direct Information Pvt. Ltd. All Rights Reserved. + +All usage, reproduction, modification and derivative works created from, and +distribution and publication of the IP-to-Country Database and your derivative +works thereof must keep intact all copyright notices and give credit by +displaying the following acknowledgment by replacing 'work' with one of the +following: script, product, page, service or application: + +"This 'work' uses the IP-to-Country Database + provided by WebHosting.Info (http://www.webhosting.info), + available from http://ip-to-country.webhosting.info." + +BECAUSE THE DATABASE IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY FOR THE +DATABASE, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN OTHERWISE +STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES PROVIDE THE +DATABASE "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, +INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE OR ANY WARRANTIES REGARDING THE CONTENTS OR +ACCURACY OF THE WORK. + +IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING WILL ANY +COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR REDISTRIBUTE THE +DATABASE AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY +GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR +INABILITY TO USE THE DATABASE, EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN +ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. --- tor-0.2.1.30.orig/debian/tor-geoipdb.dirs +++ tor-0.2.1.30/debian/tor-geoipdb.dirs @@ -0,0 +1,2 @@ +usr/share/tor +usr/share/lintian/overrides --- tor-0.2.1.30.orig/debian/tor-geoipdb.lintian-override +++ tor-0.2.1.30/debian/tor-geoipdb.lintian-override @@ -0,0 +1 @@ +tor-geoipdb: debian-changelog-file-is-a-symlink --- tor-0.2.1.30.orig/debian/tor.NEWS +++ tor-0.2.1.30/debian/tor.NEWS @@ -0,0 +1,16 @@ +tor (0.2.0.26-rc-1) experimental; urgency=critical + + * weak cryptographic keys + + It has been discovered that the random number generator in Debian's + openssl package is predictable. This is caused by an incorrect + Debian-specific change to the openssl package (CVE-2008-0166). As a + result, cryptographic key material may be guessable. + + See Debian Security Advisory number 1571 (DSA-1571) for more information: + http://lists.debian.org/debian-security-announce/2008/msg00152.html + + If you run a Tor server using this package please see + /var/lib/tor/keys/moved-away-by-tor-package/README.REALLY + + -- Peter Palfrader Tue, 13 May 2008 12:49:05 +0200 --- tor-0.2.1.30.orig/debian/tor.cron.weekly +++ tor-0.2.1.30/debian/tor.cron.weekly @@ -0,0 +1,16 @@ +#!/bin/sh + +set -e +set -u + +DEFAULTSFILE=/etc/default/tor + +if [ -f $DEFAULTSFILE ] ; then + . $DEFAULTSFILE +fi + +if [ "${CLEANUP_OLD_COREFILES:-}" = "y" ] ; then + if [ -d /var/lib/tor ] ; then + find /var/lib/tor -mindepth 1 -maxdepth 1 -type f -mtime +21 -user debian-tor -regex '.*/core\(\.[0-9]+\)?' -exec rm '{}' + + fi +fi --- tor-0.2.1.30.orig/debian/tor.default +++ tor-0.2.1.30/debian/tor.default @@ -0,0 +1,62 @@ +# 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. The top +# servers as of early 2008 regularly have more than 10000 connected +# clients. +# (ulimit -n) +# +# (the default varies as it depends on the number of available system-wide file +# descriptors. See the init script in /etc/init.d/tor for details.) +# +# MAX_FILEDESCRIPTORS= + +# +# 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 the ulimit call below if you want tor to produce coredumps on +# segfaults and assert errors. +# +# Keeping coredumps around is some sort of security issue since they +# may leak session keys, sensitive client data and more, should such +# files fall into the wrong hands. Therefore coredumps are not enabled +# by default. +# +# ulimit -c unlimited + +# +# Config option for the weekly cron file: Whether or not to remove old +# coredumps in /var/lib/tor. Coredumps can hold sensitive data, as such +# they probably should not be kept lying around if nobody will ever look +# at them. This option makes /etc/cron.weekly/tor clean out files older +# then three weeks. +# +CLEANUP_OLD_COREFILES=y + + +# Let the vidalia package override some of our settings. +# People who have vidalia installed might not want to run Tor as a system +# service. The vidalia .deb can ask them that and then set run-daemon to no. +if [ -e /etc/default/tor.vidalia ] && [ -x /usr/bin/vidalia ]; then + . /etc/default/tor.vidalia +fi --- tor-0.2.1.30.orig/debian/tor.dirs +++ tor-0.2.1.30/debian/tor.dirs @@ -0,0 +1,6 @@ +etc/tor +var/lib/tor +var/log/tor +usr/share/lintian/overrides +usr/bin +usr/sbin --- tor-0.2.1.30.orig/debian/tor.docs +++ tor-0.2.1.30/debian/tor.docs @@ -0,0 +1,7 @@ +AUTHORS +debian/README.Debian +debian/README.privoxy +doc/HACKING +doc/TODO +doc/design-paper/tor-design.pdf +doc/design-paper/tor-design.ps --- tor-0.2.1.30.orig/debian/tor.init +++ tor-0.2.1.30/debian/tor.init @@ -0,0 +1,191 @@ +#! /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="" +# Let's try to figure our some sane defaults: +if [ -r /proc/sys/fs/file-max ]; then + system_max=`cat /proc/sys/fs/file-max` + if [ "$system_max" -gt "80000" ] ; then + MAX_FILEDESCRIPTORS=32768 + elif [ "$system_max" -gt "40000" ] ; then + MAX_FILEDESCRIPTORS=16384 + elif [ "$system_max" -gt "10000" ] ; then + MAX_FILEDESCRIPTORS=8192 + else + MAX_FILEDESCRIPTORS=1024 + cat << EOF + +Warning: Your system has very few filedescriptors available in total. + +Maybe you should try raising that by adding 'fs.file-max=100000' to your +/etc/sysctl.conf file. Feel free to pick any number that you deem appropriate. +Then run 'sysctl -p'. See /proc/sys/fs/file-max for the current value, and +file-nr in the same directory for how many of those are used at the moment. + +EOF + fi +else + MAX_FILEDESCRIPTORS=8192 +fi + +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 +} + + +check_torpiddir () { + 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 + fi +} + +check_config () { + if ! $DAEMON --verify-config > /dev/null; then + echo "ABORTED: Tor configuration invalid:" >&2 + $DAEMON --verify-config >&2 + exit 1 + fi +} + + +case "$1" in + start) + if [ "$RUN_DAEMON" != "yes" ]; then + echo "Not starting $DESC (Disabled in $DEFAULTSFILE)." + exit 0 + fi + + 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 + + check_torpiddir + + echo "Starting $DESC: $NAME..." + check_config + + start-stop-daemon --start --quiet --oknodo \ + --pidfile $TORPID \ + $NICE \ + --exec $DAEMON -- $ARGS + echo "done." + ;; + stop) + echo -n "Stopping $DESC: " + pid=`cat $TORPID 2>/dev/null` || true + + if test ! -f $TORPID -o -z "$pid"; then + echo "not running (there is no $TORPID)." + exit 0 + fi + + if 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 ! -f $TORPID -o -z "$pid"; then + echo "not running (there is no $TORPID)." + exit 0 + fi + + check_config + + if 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) + check_config + + $0 stop + sleep 1 + $0 start + ;; + *) + echo "Usage: $0 {start|stop|restart|reload|force-reload}" >&2 + exit 1 + ;; +esac + +exit 0 --- tor-0.2.1.30.orig/debian/tor.lintian-override +++ tor-0.2.1.30/debian/tor.lintian-override @@ -0,0 +1 @@ +tor: package-contains-upstream-install-documentation --- tor-0.2.1.30.orig/debian/tor.logrotate +++ tor-0.2.1.30/debian/tor.logrotate @@ -0,0 +1,13 @@ +/var/log/tor/*log { + daily + rotate 5 + compress + delaycompress + missingok + notifempty + create 0640 debian-tor adm + sharedscripts + postrotate + /etc/init.d/tor reload > /dev/null + endscript +} --- tor-0.2.1.30.orig/debian/tor.postinst +++ tor-0.2.1.30/debian/tor.postinst @@ -0,0 +1,121 @@ +#!/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 + if [ "$home" = "/var/lib/tor" ]; then + : + #echo "debian-tor homedir check: ok" + else + echo "ERROR: debian-tor account has an unexpected home directory!" + echo "It should be '/var/lib/tor', but it is '$home'." + echo "Removing the debian-tor user might fix this, but the question" + echo "remains how you got into this mess to begin with." + exit 1 + fi +else + adduser --quiet \ + --system \ + --disabled-password \ + --home /var/lib/tor \ + --no-create-home \ + --shell /bin/bash \ + --group \ + debian-tor +fi + + +for i in lib run log; do + if ! [ -d "/var/$i/tor" ]; then + echo "Something or somebody made /var/$i/tor disappear." + echo "Creating one for you again." + mkdir "/var/$i/tor" + fi +done + +chown debian-tor:debian-tor /var/lib/tor +chmod 02700 /var/lib/tor + +if [ -e /var/run/tor ]; then + chown debian-tor:debian-tor /var/run/tor + chmod 02750 /var/run/tor +fi + +chown debian-tor:adm /var/log/tor +chmod 02750 /var/log/tor + + + +move_away_keys=0 + +if [ "$1" = "configure" ] && + [ -e /var/lib/tor/keys ] && + [ ! -z "$2" ]; then + if dpkg --compare-versions "$2" lt 0.1.2.19-2; then + move_away_keys=1 + elif dpkg --compare-versions "$2" gt 0.2.0 && + dpkg --compare-versions "$2" lt 0.2.0.26-rc; then + move_away_keys=1 + fi +fi +if [ "$move_away_keys" = "1" ]; then + echo "Retiring possibly compromised keys. See /usr/share/doc/tor/NEWS.Debian.gz" + echo "and /var/lib/tor/keys/moved-away-by-tor-package/README.REALLY for" + echo "further information." + if ! [ -d /var/lib/tor/keys/moved-away-by-tor-package ]; then + mkdir /var/lib/tor/keys/moved-away-by-tor-package + cat > /var/lib/tor/keys/moved-away-by-tor-package/README.REALLY << EOF +It has been discovered that the random number generator in Debian's +openssl package is predictable. This is caused by an incorrect +Debian-specific change to the openssl package (CVE-2008-0166). As a +result, cryptographic key material may be guessable. + +See Debian Security Advisory number 1571 (DSA-1571) for more information: +http://lists.debian.org/debian-security-announce/2008/msg00152.html + +The Debian package for Tor has moved away the onion keys upon package +upgrade, and it will have moved away your identity key if it was created +in the affected timeframe. There is no sure way to automatically tell +if your key was created with an affected openssl library, so this move +is done unconditionally. + +If you have restarted Tor since this change (and the package probably +did that for you already unless you configured your system differently) +then the Tor daemon already created new keys for itself and in all +likelyhood is already working just fine with new keys. + +If you are absolutely certain that your identity key was created with +a non-affected version of openssl and for some reason you have to retain +the old identity, then you can move back the copy of secret_id_key to +/var/lib/tor/keys. Do not move back the onion keys, they were created +only recently since they are temporary keys with a lifetime of only a few +days anyway. + +Sincerely, +Peter Palfrader, Tue, 13 May 2008 13:32:23 +0200 +EOF + fi + for f in secret_onion_key secret_onion_key.old; do + if [ -e /var/lib/tor/keys/"$f" ]; then + mv -v /var/lib/tor/keys/"$f" /var/lib/tor/keys/moved-away-by-tor-package/"$f" + fi + done + if [ -e /var/lib/tor/keys/secret_id_key ]; then + id_mtime=`stat -c %Y /var/lib/tor/keys/secret_id_key` + sept=`date -d '2006-09-10' +%s` + if [ "$id_mtime" -gt "$sept" ] ; then + mv -v /var/lib/tor/keys/secret_id_key /var/lib/tor/keys/moved-away-by-tor-package/secret_id_key + fi + fi +fi + + +#DEBHELPER# + +exit 0 --- tor-0.2.1.30.orig/debian/tor.postrm +++ tor-0.2.1.30/debian/tor.postrm @@ -0,0 +1,12 @@ +#!/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/ + rm -rf /var/run/tor/ +fi + +#DEBHELPER# + +exit 0 --- tor-0.2.1.30.orig/debian/watch +++ tor-0.2.1.30/debian/watch @@ -0,0 +1,2 @@ +version=2 +http://tor.eff.org/dist/tor-(.*)\.tar\.gz --- tor-0.2.1.30.orig/debian/micro-revision.i +++ tor-0.2.1.30/debian/micro-revision.i @@ -0,0 +1 @@ +"bfd289902a471d86" --- tor-0.2.1.30.orig/debian/patches/00list +++ tor-0.2.1.30/debian/patches/00list @@ -0,0 +1,5 @@ +# 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 +14_fix_geoip_warning --- tor-0.2.1.30.orig/debian/patches/02_add_debian_files_in_manpage.dpatch +++ tor-0.2.1.30/debian/patches/02_add_debian_files_in_manpage.dpatch @@ -0,0 +1,45 @@ +#! /bin/sh -e +## 02_add_debian_files_in_manpage.dpatch by +## +## All lines beginning with `## DP:' are a description of the patch. +## DP: Change the FILES section of the manpage to properly describe the situation on Debian systems. + +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 --- tor-0.2.1.30.orig/debian/patches/03_tor_manpage_in_section_8.dpatch +++ tor-0.2.1.30/debian/patches/03_tor_manpage_in_section_8.dpatch @@ -0,0 +1,45 @@ +#! /bin/sh -e +## 03_tor_manpage_in_section_8.dpatch by +## +## All lines beginning with `## DP:' are a description of the patch. +## DP: Move the Tor manpage from section 1 to section 8. + +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 tor-resolve (1), + .BR tsocks (1), +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 2009" "TOR" ++.TH TOR 8 "January 2009" "TOR" + .SH NAME + tor \- The second-generation onion router + .SH SYNOPSIS --- tor-0.2.1.30.orig/debian/patches/06_add_compile_time_defaults.dpatch +++ tor-0.2.1.30/debian/patches/06_add_compile_time_defaults.dpatch @@ -0,0 +1,118 @@ +#! /bin/sh -e +## 06_add_compile_time_defaults.dpatch by +## +## All lines beginning with `## DP:' are a description of the patch. +## DP: Change a few compile time defaults so that Tor is better integrated on a Debian system + +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-trunk~/src/or/config.c tor-trunk/src/or/config.c +--- tor-trunk~/src/or/config.c 2009-01-18 01:47:33.000000000 +0100 ++++ tor-trunk/src/or/config.c 2009-02-05 00:25:17.614844812 +0100 +@@ -12,6 +12,7 @@ + #define CONFIG_PRIVATE + + #include "or.h" ++#include + #ifdef MS_WINDOWS + #include + #endif +@@ -711,6 +712,8 @@ + #if defined(HAVE_EVENT_GET_VERSION) && defined(HAVE_EVENT_GET_METHOD) + static void check_libevent_version(const char *m, int server); + #endif ++static int debian_running_as_debiantor(); ++static int debian_config_fix_defaults(); + + /** Magic value for or_options_t. */ + #define OR_OPTIONS_MAGIC 9090909 +@@ -3917,6 +3920,9 @@ + char *command_arg = NULL; + char *errmsg=NULL; + ++ if (debian_config_fix_defaults() < 0) ++ goto err; ++ + if (argv) { /* first time we're called. save command line args */ + backup_argv = argv; + backup_argc = argc; +@@ -5307,3 +5313,62 @@ + return 0; + } + ++/* Checks whether we are running as the debian-tor user. ++ * Returns -1 on error, 2 if we are root, 1 if we are debian-tor, 0 if we are any normal user */ ++static int ++debian_running_as_debiantor() ++{ ++ struct passwd *pw = NULL; ++ int uid; ++ ++ uid = getuid(); ++ /* If we run as root we also apply our debian defaults. */ ++ if (uid == 0) ++ return 2; ++ ++ pw = getpwuid(uid); ++ if (!pw) { ++ log(LOG_WARN, LD_GENERAL, "Could not get passwd information for uid %d.", uid); ++ return -1; ++ } ++ assert(pw->pw_name); ++ if (strcmp(pw->pw_name, "debian-tor") == 0) ++ return 1; ++ else ++ return 0; ++} ++ ++static int ++debian_config_fix_defaults() ++{ ++ config_var_t *var; ++ static int fixed = 0; ++ int running_as_debian; ++ ++ if (fixed) return 0; ++ fixed = 1; ++ ++ running_as_debian = debian_running_as_debiantor(); ++ if (running_as_debian < 0) return -1; ++ if (!running_as_debian) return 0; ++ ++ var = config_find_option(&options_format, "DataDirectory"); ++ tor_assert(var); ++ var->initvalue = tor_strdup("/var/lib/tor"); ++ ++ var = config_find_option(&options_format, "PidFile"); ++ tor_assert(var); ++ var->initvalue = tor_strdup("/var/run/tor/tor.pid"); ++ ++ var = config_find_option(&options_format, "RunAsDaemon"); ++ tor_assert(var); ++ var->initvalue = tor_strdup("1"); ++ ++ if (running_as_debian == 2) { ++ var = config_find_option(&options_format, "User"); ++ tor_assert(var); ++ var->initvalue = tor_strdup("debian-tor"); ++ }; ++ ++ return 0; ++} --- tor-0.2.1.30.orig/debian/patches/07_log_to_file_by_default.dpatch +++ tor-0.2.1.30/debian/patches/07_log_to_file_by_default.dpatch @@ -0,0 +1,44 @@ +#! /bin/sh -e +## 07_log_to_file_by_default.dpatch by +## +## All lines beginning with `## DP:' are a description of the patch. +## DP: Change default logging target from stdout to a logfile + +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~/src/or/config.c tor/src/or/config.c +--- tor~/src/or/config.c 2006-07-24 05:15:02.576170550 +0200 ++++ tor/src/or/config.c 2006-07-24 05:18:45.286651501 +0200 +@@ -2118,8 +2118,13 @@ + REJECT("Failed to normalize old Log options. See logs for details."); + + /* Special case on first boot if no Log options are given. */ +- if (!options->Logs && !options->RunAsDaemon && !from_setconf) +- config_line_append(&options->Logs, "Log", "notice stdout"); ++ if (debian_running_as_debiantor()) { ++ if (!options->Logs && !from_setconf) ++ config_line_append(&options->Logs, "Log", "notice file /var/log/tor/log"); ++ } else { ++ if (!options->Logs && !options->RunAsDaemon && !from_setconf) ++ config_line_append(&options->Logs, "Log", "notice stdout"); ++ } + + if (options_init_logs(options, 1)<0) /* Validate the log(s) */ + REJECT("Failed to validate Log options. See logs for details."); --- tor-0.2.1.30.orig/debian/patches/14_fix_geoip_warning.dpatch +++ tor-0.2.1.30/debian/patches/14_fix_geoip_warning.dpatch @@ -0,0 +1,38 @@ +#! /bin/sh -e +## 14_fix_geoip_warning.dpatch by +## +## All lines beginning with `## DP:' are a description of the patch. +## DP: Change geoipdb open failed message + +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 git-stable~/src/or/geoip.c git-stable/src/or/geoip.c +--- git-stable~/src/or/geoip.c 2008-06-06 01:00:41.000000000 +0200 ++++ git-stable/src/or/geoip.c 2008-06-11 12:54:17.605150644 +0200 +@@ -182,7 +182,8 @@ + int severity = options_need_geoip_info(options, &msg) ? LOG_WARN : LOG_INFO; + clear_geoip_db(); + if (!(f = fopen(filename, "r"))) { +- log_fn(severity, LD_GENERAL, "Failed to open GEOIP file %s. %s", ++ log_fn(severity, LD_GENERAL, "Failed to open GEOIP file %s. %s" ++ " Do you have the tor-geoipdb package installed?", + filename, msg); + return -1; + }