aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGavin Andresen <gavinandresen@gmail.com>2011-11-10 07:27:46 -0800
committerGavin Andresen <gavinandresen@gmail.com>2011-11-10 07:27:46 -0800
commit145b2d078e411ab0e49e70e5c6cd7ceca2f4e3c6 (patch)
treeb3eba6846d2925bc555ab929637e7293561bb0de
parent3c0baa68faecbf450a90ddd5fdd333e5e23bc21c (diff)
parent38f33ce4a318c8dbff648154ea4978d3ccaf8495 (diff)
Merge pull request #608 from TheBlueMatt/debian-build
Debian build
-rwxr-xr-xcontrib/debian/bin/bitcoin-qt16
-rwxr-xr-xcontrib/debian/bin/bitcoind18
-rw-r--r--contrib/debian/bitcoin-qt.desktop11
-rw-r--r--contrib/debian/bitcoin-qt.install5
-rw-r--r--contrib/debian/bitcoin-qt.lintian-overrides2
-rw-r--r--contrib/debian/bitcoind.examples1
-rw-r--r--contrib/debian/bitcoind.install2
-rw-r--r--contrib/debian/bitcoind.lintian-overrides2
-rw-r--r--contrib/debian/bitcoind.manpages2
-rw-r--r--contrib/debian/changelog248
-rw-r--r--contrib/debian/compat1
-rw-r--r--contrib/debian/control57
-rw-r--r--contrib/debian/copyright205
-rw-r--r--contrib/debian/examples/bitcoin.conf88
-rw-r--r--contrib/debian/gbp.conf5
-rw-r--r--contrib/debian/manpages/bitcoin.conf.594
-rw-r--r--contrib/debian/manpages/bitcoind.1209
-rw-r--r--contrib/debian/patches/1001_use_system_json-spirit.patch26
-rw-r--r--contrib/debian/patches/README3
-rw-r--r--contrib/debian/patches/series1
-rwxr-xr-xcontrib/debian/rules33
-rw-r--r--contrib/debian/source/format1
-rw-r--r--contrib/debian/watch7
-rw-r--r--share/pixmaps/bitcoin32.xpm232
-rw-r--r--share/pixmaps/bitcoin80.xpm292
25 files changed, 1561 insertions, 0 deletions
diff --git a/contrib/debian/bin/bitcoin-qt b/contrib/debian/bin/bitcoin-qt
new file mode 100755
index 0000000000..f2eac1b1ab
--- /dev/null
+++ b/contrib/debian/bin/bitcoin-qt
@@ -0,0 +1,16 @@
+#!/bin/sh
+
+set -e
+
+umask 077
+
+basedir=~/.bitcoin
+dbfile="$basedir/DB_CONFIG"
+cfgfile="$basedir/bitcoin.conf"
+
+[ -e "$basedir" ] || mkdir "$basedir"
+
+# Bitcoin does not clean up DB log files by default
+[ -e "$dbfile" ] || echo 'set_flags DB_LOG_AUTOREMOVE' > "$dbfile"
+
+exec /usr/lib/bitcoin/bitcoin-qt "$@"
diff --git a/contrib/debian/bin/bitcoind b/contrib/debian/bin/bitcoind
new file mode 100755
index 0000000000..0904f76f7b
--- /dev/null
+++ b/contrib/debian/bin/bitcoind
@@ -0,0 +1,18 @@
+#!/bin/sh
+
+set -e
+
+umask 077
+
+basedir=~/.bitcoin
+dbfile="$basedir/DB_CONFIG"
+cfgfile="$basedir/bitcoin.conf"
+
+[ -e "$basedir" ] || mkdir "$basedir"
+
+[ -e "$cfgfile" ] || perl -le 'print"rpcpassword=",map{(a..z,A..Z,0..9)[rand 62]}0..9' > "$cfgfile"
+
+# Bitcoin does not clean up DB log files by default
+[ -e "$dbfile" ] || echo 'set_flags DB_LOG_AUTOREMOVE' > "$dbfile"
+
+exec /usr/lib/bitcoin/bitcoind "$@"
diff --git a/contrib/debian/bitcoin-qt.desktop b/contrib/debian/bitcoin-qt.desktop
new file mode 100644
index 0000000000..d65cc35a3b
--- /dev/null
+++ b/contrib/debian/bitcoin-qt.desktop
@@ -0,0 +1,11 @@
+[Desktop Entry]
+Encoding=UTF-8
+Name=Bitcoin
+Comment=Bitcoin P2P Cryptocurrency
+Exec=/usr/bin/bitcoin-qt
+Terminal=false
+Type=Application
+Icon=/usr/share/pixmaps/bitcoin80.xpm
+#For when bitcoin (finally) properly handles bitcoin: URLs
+#MimeType=x-scheme-handler/bitcoin;
+Categories=Office;
diff --git a/contrib/debian/bitcoin-qt.install b/contrib/debian/bitcoin-qt.install
new file mode 100644
index 0000000000..7ddc8c1d8f
--- /dev/null
+++ b/contrib/debian/bitcoin-qt.install
@@ -0,0 +1,5 @@
+debian/bin/bitcoin-qt usr/bin
+bitcoin-qt usr/lib/bitcoin
+share/pixmaps/bitcoin32.xpm usr/share/pixmaps
+share/pixmaps/bitcoin80.xpm usr/share/pixmaps
+debian/bitcoin-qt.desktop usr/share/applications
diff --git a/contrib/debian/bitcoin-qt.lintian-overrides b/contrib/debian/bitcoin-qt.lintian-overrides
new file mode 100644
index 0000000000..7fb230eca8
--- /dev/null
+++ b/contrib/debian/bitcoin-qt.lintian-overrides
@@ -0,0 +1,2 @@
+# Linked code is Expat - only Debian packaging is GPL-2+
+bitcoin-qt: possible-gpl-code-linked-with-openssl
diff --git a/contrib/debian/bitcoind.examples b/contrib/debian/bitcoind.examples
new file mode 100644
index 0000000000..4ded67d98e
--- /dev/null
+++ b/contrib/debian/bitcoind.examples
@@ -0,0 +1 @@
+debian/examples/bitcoin.conf
diff --git a/contrib/debian/bitcoind.install b/contrib/debian/bitcoind.install
new file mode 100644
index 0000000000..e978c44b3f
--- /dev/null
+++ b/contrib/debian/bitcoind.install
@@ -0,0 +1,2 @@
+debian/bin/bitcoind usr/bin
+src/bitcoind usr/lib/bitcoin
diff --git a/contrib/debian/bitcoind.lintian-overrides b/contrib/debian/bitcoind.lintian-overrides
new file mode 100644
index 0000000000..3f9f140bd8
--- /dev/null
+++ b/contrib/debian/bitcoind.lintian-overrides
@@ -0,0 +1,2 @@
+# Linked code is Expat - only Debian packaging is GPL-2+
+bitcoind: possible-gpl-code-linked-with-openssl
diff --git a/contrib/debian/bitcoind.manpages b/contrib/debian/bitcoind.manpages
new file mode 100644
index 0000000000..3e4ca63d4e
--- /dev/null
+++ b/contrib/debian/bitcoind.manpages
@@ -0,0 +1,2 @@
+debian/manpages/bitcoind.1
+debian/manpages/bitcoin.conf.5
diff --git a/contrib/debian/changelog b/contrib/debian/changelog
new file mode 100644
index 0000000000..ccde9776d8
--- /dev/null
+++ b/contrib/debian/changelog
@@ -0,0 +1,248 @@
+bitcoin (0.5.0~rc3-natty0) natty; urgency=low
+
+ * New upstream release candidate.
+ * Don't set rpcpassword for bitcoin-qt.
+
+ -- Matt Corallo <matt@bluematt.me> Tue, 8 Nov 2011 11:56:00 -0400
+
+bitcoin (0.5.0~rc1-natty1) natty; urgency=low
+
+ * Add test_bitcoin to build test
+ * Fix clean
+ * Remove uneccessary build-dependancies
+
+ -- Matt Corallo <matt@bluematt.me> Wed, 26 Oct 2011 14:37:18 -0400
+
+bitcoin (0.5.0~rc1-natty0) natty; urgency=low
+
+ * Mark for natty
+ * Fix broken build
+ * Fix copyright listing
+ * Remove bitcoin: URL handler until bitcoin actually has support for it (Oops)
+
+ -- Matt Corallo <matt@bluematt.me> Wed, 26 Oct 2011 14:37:18 -0400
+
+bitcoin (0.5.0~rc1-2) experimental; urgency=low
+
+ * Add bitcoin-qt
+
+ -- Matt Corallo <matt@bluematt.me> Tue, 25 Oct 2011 15:24:18 -0400
+
+bitcoin (0.5.0~rc1-1) experimental; urgency=low
+
+ * New upstream prerelease.
+ * Add Github as alternate upstream source in watch file.
+ * Stop build-depending on libcrypto++-dev, and drop patch 1000:
+ Upstream no longer use crypto++.
+ * Drop patch 1003: Upstream builds dynamic by default now.
+ * Update copyright file: Drop notes on longer included sources.
+
+ -- Jonas Smedegaard <dr@jones.dk> Fri, 14 Oct 2011 00:16:18 +0200
+
+bitcoin (0.4.0-1) unstable; urgency=low
+
+ * New upstream release.
+ * Stop repackaging source tarballs: No DFSG-violating stripping left.
+ * Update copyright file:
+ + Add Github URL to Source.
+ * Drop dpkg-source local-options hint: Declared options are default
+ since dpkg-source 1.16.1.
+ + Add irc URL to Upstream-Contact.
+ + Add comment on Bitcoin Developers to catch-all Files section.
+ + Add Files sections for newly readded src/cryptopp/* (new custom
+ BSD-like license), and newly added doc/build-osx.txt and
+ src/makefile.osx (Expat).
+ * Bump debhelper compatibility level to 7.
+ * Suppress binary icns and gpg files.
+ * Enable regression tests:
+ + Build-depend on libboost-test-dev.
+ + Extend patch 1003 to also dynamically link test binary.
+ + Build and invoke test binary unless tests are disabled.
+ * Tighten build-dependency on cdbs: Recent version needed to support
+ debhelper 7.
+ * Relax build-depend unversioned on debhelper: needed version
+ satisfied even in oldstable.
+ * Stop suppress optional build-dependencies: Satisfied in stable.
+ Build-depend on devscripts (enabling copyright-check).
+
+ -- Jonas Smedegaard <dr@jones.dk> Wed, 05 Oct 2011 01:48:53 +0200
+
+bitcoin (0.3.24~dfsg-1) unstable; urgency=low
+
+ * New upstream release.
+
+ [ Jonas Smedegaard ]
+ * Improve various usage hints:
+ + Explicitly mention in long description that bitcoind contains
+ daemon and command-line interface.
+ + Extend README.Debian with section on lack of GUI, and add primary
+ headline.
+ + Avoid installing upstream README: contains no parts relevant for
+ Debian usage.
+ Thanks to richard for suggestions (see bug#629443).
+ * Favor final releases over prereleases in rules and watch file.
+ Thanks to Jan Dittberner.
+ * Track -src (not -linux) tarballs in rules and watch file.
+ Thanks to Jan Dittberner.
+ * Drop patches 1004 and 1005 (integrated upstream) and simplify
+ CXXFLAGS in rules file.
+ * Stop stripping no longer included source-less binaries from upstream
+ tarballs.
+
+ [ Jan Dittberner ]
+ * refresh debian/patches/1000_use_system_crypto++.patch
+
+ -- Jonas Smedegaard <dr@jones.dk> Tue, 19 Jul 2011 15:08:54 +0200
+
+bitcoin (0.3.21~dfsg-2) unstable; urgency=low
+
+ * Enable UPNP support:
+ + Drop patch 1006.
+ + Build-depend on libminiupnpc-dev.
+ Thanks to Matt Corallo.
+
+ -- Jonas Smedegaard <dr@jones.dk> Sat, 28 May 2011 15:52:44 +0200
+
+bitcoin (0.3.21~dfsg-1) unstable; urgency=low
+
+ * New upstream release.
+ * Refresh patches.
+ * Drop patch 1002: no longer needed, as upstream use pkgconfig now.
+ * Add patch 1006 to really unset USE_UPNP as aparently intended.
+ * Adjust cleanup rule to preserve .gitignore files.
+ * Update copyright file:
+ + Bump format to draft 174 of DEP-5.
+ + Shorten comments.
+ * Bump policy compliance to standards-version 3.9.2.
+ * Shorten Vcs-Browser paragraph in control file.
+ * Fix mention daemon (not CLI tools) in short description.
+ * Stop conflicting with or replace bitcoin-cli: Only transitional, no
+ longer needed.
+ * Link against unversioned berkeleydb. Update NEWS and README.Debian
+ accordingly (and improve wording while at it).
+ Closes: Bug#621425. Thanks to Ondřej Surý.
+ * This release also implicitly updates linkage against libcrypto++,
+ which closes: bug#626953, #627024.
+ * Disable linkage against not yet Debian packaged MiniUPnP.
+ * Silence seemingly harmless noise about unused variables.
+
+ -- Jonas Smedegaard <dr@jones.dk> Tue, 17 May 2011 15:31:24 +0200
+
+bitcoin (0.3.20.2~dfsg-2) unstable; urgency=medium
+
+ * Fix have wrapper script execute real binary (not loop executing
+ itself).
+ Closes: bug#617290. Thanks to Philippe Gauthier and Etienne Laurin.
+ * Set urgency=medium as the only (user-exposed) binary is useless
+ without this fix and has been for some time.
+
+ -- Jonas Smedegaard <dr@jones.dk> Wed, 16 Mar 2011 09:11:06 +0100
+
+bitcoin (0.3.20.2~dfsg-1) unstable; urgency=low
+
+ * New upstream release.
+ * Fix provide and replace former package name bitcoin-cli.
+ Closes: bug#618439. Thanks to Shane Wegner.
+
+ -- Jonas Smedegaard <dr@jones.dk> Tue, 15 Mar 2011 11:41:43 +0100
+
+bitcoin (0.3.20.01~dfsg-1) unstable; urgency=low
+
+ * New upstream release.
+
+ [ Micah Anderson ]
+ * Add myself as uploader.
+
+ [ Jonas Smedegaard ]
+ * Add wrapper for bitcoind to ease initial startup.
+ * Update patches:
+ + Drop patch 2002: Applied upstream.
+ + Add patch 1005 to add phtread linker option.
+ Closes: bug#615619. Thanks to Shane Wegner.
+ + Refresh patches.
+ * Extend copyright years in rules file header.
+ * Rewrite copyright file using draft svn166 of DEP5 format.
+ * Rename binary package to bitcoind (from bincoin-cli).
+ Closes: bug#614025. Thanks to Luke-Jr.
+
+ -- Jonas Smedegaard <dr@jones.dk> Tue, 01 Mar 2011 15:55:04 +0100
+
+bitcoin (0.3.19~dfsg-6) unstable; urgency=low
+
+ * Fix override agressive optimizations.
+ * Fix tighten build-dependencies to really fit backporting to Lenny:
+ + Add fallback build-dependency on libdb4.6++-dev.
+ + Tighten unversioned Boost build-dependencies to recent versions,
+ To force use of versioned Boost when backporting to Lenny.
+ ...needs more love, though: actual build fails.
+
+ -- Jonas Smedegaard <dr@jones.dk> Mon, 17 Jan 2011 19:48:35 +0100
+
+bitcoin (0.3.19~dfsg-5) unstable; urgency=low
+
+ * Fix lower Boost fallback-build-dependencies to 1.35, really
+ available in Lenny.
+ * Correct comment in rules file regarding reason for versioned Boost
+ fallback-build-dependency.
+ * Add patch 2002 adding -mt decoration to Boost flags, to ease
+ backporting to Lenny.
+ * Respect DEB_BUILD_OPTIONS, and suppress arch-specific optimizations:
+ + Add patch 1004 to allow overriding optimization flags.
+ + Set optimization flags conditionally at build time.
+ + Drop patch 2002 unconditionally suppressing arch-optimizations.
+
+ -- Jonas Smedegaard <dr@jones.dk> Mon, 17 Jan 2011 16:04:48 +0100
+
+bitcoin (0.3.19~dfsg-4) unstable; urgency=low
+
+ [ Micah Anderson ]
+ * Provide example bitcoin.conf.
+ * Add bitcoind(1) and bitcoin.conf(5) man pages.
+
+ [ Jonas Smedegaard ]
+ * Ease backporting:
+ + Suppress optional build-dependencies.
+ + Add fallback build-dependencies on the most recent Boost libs
+ available in Lenny (where unversioned Boost libs are missing).
+ * Add Micah as copyright holder for manpages, licensed as GPL-3+.
+ * Bump copyright format to Subversion candidate draft 162 of DEP5.
+
+ -- Jonas Smedegaard <dr@jones.dk> Mon, 17 Jan 2011 14:00:48 +0100
+
+bitcoin (0.3.19~dfsg-3) unstable; urgency=low
+
+ * Document in copyright file files excluded from repackaged source.
+ * Update copyright file:
+ + Bump DEP5 format hint to Subversion draft rev. 153.
+ + Consistently wrap at 72 chars.
+ + Refer to GPL-2 file (not GPL symlink).
+ * Link against Berkeley DB 4.8 (not 4.7):
+ + Build-depend on libdb4.8++-dev (and on on libdb4.7++-dev).
+ + Suggest libdb4.8-util and db4.7-util.
+ + Add README.Debian note on (untested) upgrade routine.
+ + Add NEWS entry on changed db version, referring to README.Debian.
+
+ -- Jonas Smedegaard <dr@jones.dk> Fri, 07 Jan 2011 22:50:57 +0100
+
+bitcoin (0.3.19~dfsg-2) unstable; urgency=low
+
+ * Adjust build options to use optimized miner only for amd64. Fixes
+ FTBFS on i386 (and other archs, if compiling anywhere else at all).
+ * Avoid static linking.
+ * Adjust patch 2001 to avoid only arch-specific optimizations (keep
+ -O3).
+ * Extend long description to mention disk consumption and initial use
+ of IRC.
+ All of above changes thanks to Helmuth Grohne.
+ * Add lintian override regarding OpenSSL and GPL: Linked code is Expat
+ - only Debian packaging is GPL-2+.
+
+ -- Jonas Smedegaard <dr@jones.dk> Wed, 29 Dec 2010 00:27:54 +0100
+
+bitcoin (0.3.19~dfsg-1) unstable; urgency=low
+
+ [ Jonas Smedegaard ]
+ * Initial release.
+ Closes: bug#578157.
+
+ -- Jonas Smedegaard <dr@jones.dk> Tue, 28 Dec 2010 15:49:22 +0100
diff --git a/contrib/debian/compat b/contrib/debian/compat
new file mode 100644
index 0000000000..7f8f011eb7
--- /dev/null
+++ b/contrib/debian/compat
@@ -0,0 +1 @@
+7
diff --git a/contrib/debian/control b/contrib/debian/control
new file mode 100644
index 0000000000..13fde5948c
--- /dev/null
+++ b/contrib/debian/control
@@ -0,0 +1,57 @@
+Source: bitcoin
+Section: utils
+Priority: optional
+Maintainer: Jonas Smedegaard <dr@jones.dk>
+Uploaders: Micah Anderson <micah@debian.org>
+Build-Depends: debhelper,
+ devscripts,
+ libboost-system-dev (>> 1.35) | libboost-system1.35-dev,
+ libdb4.8++-dev,
+ libssl-dev,
+ pkg-config,
+ libminiupnpc8-dev,
+ libboost-filesystem-dev (>> 1.35) | libboost-filesystem1.35-dev,
+ libboost-program-options-dev (>> 1.35) | libboost-program-options1.35-dev,
+ libboost-thread-dev (>> 1.35) | libboost-thread1.35-dev,
+ libboost-test-dev (>> 1.35) | libboost-test1.35-dev,
+ qt4-qmake,
+ libqt4-dev
+Standards-Version: 3.9.2
+Homepage: http://www.bitcoin.org/
+Vcs-Git: git://github.com/bitcoin/bitcoin.git
+Vcs-Browser: http://github.com/bitcoin/bitcoin
+
+Package: bitcoind
+Architecture: any
+Depends: ${shlibs:Depends}, ${misc:Depends}
+Description: peer-to-peer network based anonymous digital currency - daemon
+ Bitcoin is a free open source peer-to-peer electronic cash system that
+ is completely decentralized, without the need for a central server or
+ trusted parties. Users hold the crypto keys to their own money and
+ transact directly with each other, with the help of a P2P network to
+ check for double-spending.
+ .
+ By default connects to an IRC network to discover other peers.
+ .
+ Full transaction history is stored locally at each client. This
+ requires 150+ MB of space, slowly growing.
+ .
+ This package provides bitcoind, a combined daemon and CLI tool to
+ interact with the daemon.
+
+Package: bitcoin-qt
+Architecture: any
+Depends: ${shlibs:Depends}, ${misc:Depends}
+Description: peer-to-peer network based anonymous digital currency - QT GUI
+ Bitcoin is a free open source peer-to-peer electronic cash system that
+ is completely decentralized, without the need for a central server or
+ trusted parties. Users hold the crypto keys to their own money and
+ transact directly with each other, with the help of a P2P network to
+ check for double-spending.
+ .
+ By default connects to an IRC network to discover other peers.
+ .
+ Full transaction history is stored locally at each client. This
+ requires 150+ MB of space, slowly growing.
+ .
+ This package provides bitcoin-qt, a GUI for Bitcoin based on QT.
diff --git a/contrib/debian/copyright b/contrib/debian/copyright
new file mode 100644
index 0000000000..546ffc6e1f
--- /dev/null
+++ b/contrib/debian/copyright
@@ -0,0 +1,205 @@
+Format: http://svn.debian.org/wsvn/dep/web/deps/dep5.mdwn?rev=174
+Upstream-Name: Bitcoin
+Upstream-Contact: Satoshi Nakamoto <satoshin@gmx.com>
+ irc://#bitcoin@freenode.net
+Source: http://sourceforge.net/projects/bitcoin/files/
+ https://github.com/bitcoin/bitcoin
+
+Files: *
+Copyright: 2009-2011, Bitcoin Developers
+License: Expat
+Comment: The Bitcoin Developers encompasses the current developers listed on bitcoin.org,
+ as well as the numerous contributors to the project.
+
+Files: src/json/*
+Copyright: 2007-2009, John W. Wilkinson
+License: Expat
+
+Files: src/strlcpy.h
+Copyright: 1998, Todd C. Miller <Todd.Miller@courtesan.com>
+License: ISC
+
+Files: debian/*
+Copyright: 2010-2011, Jonas Smedegaard <dr@jones.dk>
+ 2011, Matt Corallo <matt@bluematt.me>
+License: GPL-2+
+
+Files: debian/manpages/*
+Copyright: Micah Anderson <micah@debian.org>
+License: GPL-3+
+
+Files: src/qt/res/icons/clock*.png, src/qt/res/icons/tx*.png,
+ src/qt/res/src/*.svg
+Copyright: Wladimir van der Laan
+License: CC-BY-3
+
+Files: src/qt/res/icons/send.png
+Copyright: Icons Land
+License: Freeware Non-commercial
+Comment: Icon Pack: Vista Style Arrow
+ Site: http://findicons.com/icon/231371/right3green
+
+Files: src/qt/res/icons/address-book.png
+Copyright: FatCow Web Hosting
+License: CC-BY-3
+Comment: Icon Pack: Farm-Fresh Web
+ Site: http://findicons.com/icon/163938/book_open
+
+Files: src/qt/res/icons/connect*.png, src/qt/res/icons/synced.png, src/qt/res/icons/lock_*.png
+Copyright: schollidesign
+License: GPL-3+
+Comment: Icon Pack: Human-O2
+ Site: http://findicons.com/icon/93743/blocks_gnome_netstatus_0
+
+Files: src/qt/res/icons/transaction*.png
+Copyright: md2k7
+License: You are free to do with these icons as you wish, including selling,
+ copying, modifying etc.
+Comment: Site: https://forum.bitcoin.org/index.php?topic=15276.0
+
+Files: src/qt/res/icons/configure.png, src/qt/res/icons/quit.png,
+ src/qt/res/icons/editcopy.png, src/qt/res/icons/editpaste.png,
+ src/qt/res/icons/add.png, src/qt/res/icons/edit.png,
+ src/qt/res/icons/remove.png
+Copyright: http://www.everaldo.com
+License: LGPL
+Comment: Icon Pack: Crystal SVG
+
+Files: src/qt/res/icons/receive.png, src/qt/res/icons/history.png,
+ src/qt/res/icons/export.png
+Copyright: Oxygen team
+License: CC-BY-SA-3
+Comment: Icon Pack: Oxygen
+ Site: http://www.oxygen-icons.org/
+
+Files: src/qt/res/icons/bitcoin.png, src/qt/res/icons/toolbar.png
+Copyright: Bitboy (optimized for 16x16 by Wladimir van der Laan)
+License: PUB-DOM
+Comment: Site: http://forum.bitcoin.org/?topic=1756.0
+
+Files: src/qt/res/icons/overview.png
+Copyright: Jack Cai
+License: CC-BY-ND-3
+Comment: Icon Pack: Primo
+ Site: http://findicons.com/icon/175944/home?id=176221#
+
+Files: scripts/img/reload.xcf, src/qt/res/movies/update_spinner.mng
+Copyright: Everaldo (Everaldo Coelho)
+License: GPL-3+
+Comment: Icon Pack: Kids
+ Site: http://findicons.com/icon/17102/reload?id=17102
+
+Files: src/qt/res/images/splash2.jpg
+License: PUB-DOM
+Copyright: Crobbo (forum)
+Comment: Site: https://bitcointalk.org/index.php?topic=32273.0
+
+Files: src/qt/res/icons/key.png
+Copyright: VisualPharm (Ivan Boyko)
+License: CC-BY-3
+Comment: Icon Pack: Must Have
+ Site: http://findicons.com/icon/51009/key?id=51009
+
+
+License: Expat
+ Permission is hereby granted, free of charge, to any person obtaining a
+ copy of this software and associated documentation files (the
+ "Software"), to deal in the Software without restriction, including
+ without limitation the rights to use, copy, modify, merge, publish,
+ distribute, sublicense, and/or sell copies of the Software, and to
+ permit persons to whom the Software is furnished to do so, subject to
+ the following conditions:
+ .
+ The above copyright notice and this permission notice shall be included
+ in all copies or substantial portions of the Software.
+ .
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+ OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+ MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
+ IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
+ CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
+ TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
+ SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+License: ISC
+ Permission to use, copy, modify, and distribute this software for any
+ purpose with or without fee is hereby granted, provided that the above
+ copyright notice and this permission notice appear in all copies.
+ .
+ THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL
+ WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED
+ WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR
+ BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES
+ OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
+ WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION,
+ ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS
+ SOFTWARE.
+
+License: GPL-2+
+ This program is free software; you can redistribute it and/or modify it
+ under the terms of the GNU General Public License as published by the
+ Free Software Foundation; either version 2, or (at your option) any
+ later version.
+ .
+ This program is distributed in the hope that it will be useful, but
+ WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ General Public License for more details.
+Comment:
+ On Debian systems the GNU General Public License (GPL) version 2 is
+ located in '/usr/share/common-licenses/GPL-2'.
+ .
+ You should have received a copy of the GNU General Public License along
+ with this program. If not, see <http://www.gnu.org/licenses/>.
+
+License: GPL-3+
+ Permission is granted to copy, distribute and/or modify this document
+ under the terms of the GNU General Public License, Version 3 or any
+ later version published by the Free Software Foundation.
+Comment:
+ On Debian systems the GNU General Public License (GPL) version 3 is
+ located in '/usr/share/common-licenses/GPL-3'.
+ .
+ You should have received a copy of the GNU General Public License along
+ with this program. If not, see <http://www.gnu.org/licenses/>.
+
+License: CC-BY-3
+ This work is licensed under a Creative Commons Attribution 3.0 Unported
+ License.
+Comment:
+ You can get a full copy of the license at
+ <http://creativecommons.org/licenses/by/3.0/>.
+
+License: CC-BY-ND-3
+ This work is licensed under a Creative Commons Attribution-NoDerivs 3.0
+ Unported License.
+Comment:
+ You can get a full copy of the license at
+ <http://creativecommons.org/licenses/by-nd/3.0/>.
+
+License: CC-BY-ND-3
+ This work is licensed under a Creative Commons Attribution-ShareAlike
+ 3.0 Unported License.
+Comment:
+ You can get a full copy of the license at
+ <http://creativecommons.org/licenses/by-sa/3.0/>.
+
+License: LGPL
+ This program is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation, either version 3 of the License, or
+ (at your option) any later version.
+ .
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+Comment:
+ On Debian systems the GNU Lesser General Public License (LGPL) is
+ located in '/usr/share/common-licenses/LGPL'.
+ .
+ You should have received a copy of the GNU General Public License
+ along with this program. If not, see <http://www.gnu.org/licenses/>.
+
+License: PUB-DOM
+ This work is in the public domain.
diff --git a/contrib/debian/examples/bitcoin.conf b/contrib/debian/examples/bitcoin.conf
new file mode 100644
index 0000000000..e56c43cb50
--- /dev/null
+++ b/contrib/debian/examples/bitcoin.conf
@@ -0,0 +1,88 @@
+# bitcoin.conf configuration file. Lines beginning with # are comments.
+
+
+# Network-related settings:
+
+# Run on the test network instead of the real bitcoin network.
+#testnet=1
+
+# Connect via a socks4 proxy
+#proxy=127.0.0.1:9050
+
+# Use as many addnode= settings as you like to connect to specific peers
+#addnode=69.164.218.197
+#addnode=10.0.0.2:8333
+
+# ... or use as many connect= settings as you like to connect ONLY
+# to specific peers:
+#connect=69.164.218.197
+#connect=10.0.0.1:8333
+
+# Do not use Internet Relay Chat (irc.lfnet.org #bitcoin channel) to
+# find other peers.
+#noirc=1
+
+# Maximum number of inbound+outbound connections.
+#maxconnections=
+
+
+# JSON-RPC options (for controlling a running Bitcoin/bitcoind process)
+
+# server=1 tells Bitcoin to accept JSON-RPC commands.
+#server=1
+
+# You must set rpcuser and rpcpassword to secure the JSON-RPC api
+#rpcuser=Ulysseys
+#rpcpassword=YourSuperGreatPasswordNumber_385593
+
+# By default, only RPC connections from localhost are allowed. Specify
+# as many rpcallowip= settings as you like to allow connections from
+# other hosts (and you may use * as a wildcard character):
+#rpcallowip=10.1.1.34
+#rpcallowip=192.168.1.*
+
+# Listen for RPC connections on this TCP port:
+rpcport=8332
+
+# You can use Bitcoin or bitcoind to send commands to Bitcoin/bitcoind
+# running on another host using this option:
+rpcconnect=127.0.0.1
+
+# Use Secure Sockets Layer (also known as TLS or HTTPS) to communicate
+# with Bitcoin -server or bitcoind
+#rpcssl=1
+
+# OpenSSL settings used when rpcssl=1
+rpcsslciphers=TLSv1+HIGH:!SSLv2:!aNULL:!eNULL:!AH:!3DES:@STRENGTH
+rpcsslcertificatechainfile=server.cert
+rpcsslprivatekeyfile=server.pem
+
+
+# Miscellaneous options
+
+# Set gen=1 to attempt to generate bitcoins
+gen=0
+
+# Use SSE instructions to try to generate bitcoins faster.
+#4way=1
+
+# Pre-generate this many public/private key pairs, so wallet backups will be valid for
+# both prior transactions and several dozen future transactions.
+keypool=100
+
+# Pay an optional transaction fee every time you send bitcoins. Transactions with fees
+# are more likely than free transactions to be included in generated blocks, so may
+# be validated sooner.
+paytxfee=0.00
+
+# Allow direct connections for the 'pay via IP address' feature.
+#allowreceivebyip=1
+
+
+# User interface options
+
+# Start Bitcoin minimized
+#min=1
+
+# Minimize to the system tray
+#minimizetotray=1
diff --git a/contrib/debian/gbp.conf b/contrib/debian/gbp.conf
new file mode 100644
index 0000000000..a7281f94b2
--- /dev/null
+++ b/contrib/debian/gbp.conf
@@ -0,0 +1,5 @@
+# Configuration file for git-buildpackage and friends
+
+[DEFAULT]
+pristine-tar = True
+sign-tags = True
diff --git a/contrib/debian/manpages/bitcoin.conf.5 b/contrib/debian/manpages/bitcoin.conf.5
new file mode 100644
index 0000000000..1243253413
--- /dev/null
+++ b/contrib/debian/manpages/bitcoin.conf.5
@@ -0,0 +1,94 @@
+.TH BITCOIN.CONF "5" "January 2011" "bitcoin.conf 3.19"
+.SH NAME
+bitcoin.conf \- bitcoin configuration file
+.SH SYNOPSIS
+All command-line options (except for '-datadir' and '-conf') may be specified in a configuration file, and all configuration file options may also be specified on the command line. Command-line options override values set in the configuration file.
+.TP
+The configuration file is a list of 'setting=value' pairs, one per line, with optional comments starting with the '#' character.
+.TP
+The configuration file is not automatically created; you can create it using your favorite plain-text editor. By default, bitcoind(1) will look for a file named bitcoin.conf(5) in the bitcoin data directory, but both the data directory and the configuration file path may be changed using the '-datadir' and '-conf' command-line arguments.
+.SH LOCATION
+bitcoin.conf should be located in $HOME/.bitcoin
+.SH NETWORK-RELATED SETTINGS
+.TP
+.TP
+\fBtestnet=\fR[\fI'1'\fR|\fI'0'\fR]
+Enable or disable run on the test network instead of the real *bitcoin* network.
+.TP
+\fBproxy=\fR\fI'127.0.0.1:9050'\fR
+Connect via a socks4 proxy.
+.TP
+\fBaddnode=\fR\fI'10.0.0.2:8333'\fR
+Use as many *addnode=* settings as you like to connect to specific peers.
+.TP
+\fBconnect=\fR\fI'10.0.0.1:8333'\fR
+Use as many *connect=* settings as you like to connect ONLY to specific peers.
+.TP
+\fBnoirc=\fR[\fI'1'\fR|\fI'0'\fR]
+Use or Do not use Internet Relay Chat (irc.lfnet.org #bitcoin channel) to find other peers.
+.TP
+\fRmaxconnections=\fR\fI'value'\fR
+Maximum number of inbound+outbound connections.
+.SH JSON-RPC OPTIONS
+.TP
+\fBserver=\fR[\fI'1'\fR|\fI'0'\fR]
+Tells *bitcoin* to accept or not accept JSON-RPC commands.
+.TP
+\fBrpcuser=\fR\fI'username'\fR
+You must set *rpcuser* to secure the JSON-RPC api.
+.TP
+\fBrpcpassword=\fR\fI'password'\fR
+You must set *rpcpassword* to secure the JSON-RPC api.
+.TP
+\fBrpctimeout=\fR\fI'30'\fR
+How many seconds *bitcoin* will wait for a complete RPC HTTP request, after the HTTP connection is established.
+.TP
+\fBrpcallowip=\fR\fI'192.168.1.*'\fR
+By default, only RPC connections from localhost are allowed. Specify as many *rpcallowip=* settings as you like to allow connections from other hosts (and you may use * as a wildcard character).
+.TP
+\fBrpcport=\fR\fI'8332'\fR
+Listen for RPC connections on this TCP port.
+.TP
+\fBrpcconnect=\fR\fI'127.0.0.1'\fR
+You can use *bitcoin* or *bitcoind(1)* to send commands to *bitcoin*/*bitcoind(1)* running on another host using this option.
+.TP
+\fBrpcssl=\fR\fI'1'\fR
+Use Secure Sockets Layer (also known as TLS or HTTPS) to communicate with *bitcoin* '-server' or *bitcoind(1)*. Example of OpenSSL settings used when *rpcssl*='1':
+.TP
+\fBrpcsslciphers=\fR\fI'TLSv1+HIGH:!SSLv2:!aNULL:!eNULL:!AH:!3DES:@STRENGTH'\fR
+.TP
+\fBrpcsslcertificatechainfile=\fR\fI'server.cert'\fR
+.TP
+\fBrpcsslprivatekeyfile=\fR\fI'server.pem'\fR
+.TP
+.SH MISCELLANEOUS OPTIONS
+.TP
+\fBgen=\fR[\fI'0'\fR|\fI'1'\fR]
+Enable or disable attempt to generate bitcoins.
+.TP
+\fB4way=\fR[\fI'0'\fR|\fI'1'\fR]
+Enable or disable use SSE instructions to try to generate bitcoins faster.
+.TP
+\fBkeypool=\fR\fI'100'\fR
+Pre-generate this many public/private key pairs, so wallet backups will be valid for both prior transactions and several dozen future transactions.
+.TP
+\fBpaytxfee=\fR\fI'0.00'\fR
+Pay an optional transaction fee every time you send bitcoins. Transactions with fees are more likely than free transactions to be included in generated blocks, so may be validated sooner.
+.TP
+\fBallowreceivebyip=\fR\fI'1'\fR
+Allow direct connections for the 'pay via IP address' feature.
+.TP
+.SH USER INTERFACE OPTIONS
+.TP
+\fBmin=\fR[\fI'0'\fR|\fI'1'\fR]
+Enable or disable start bitcoind minimized.
+.TP
+\fBminimizetotray=\fR[\fI'0'\fR|\fI'1'\fR]
+Enable or disable minimize to the system tray.
+.SH "SEE ALSO"
+bitcoind(1)
+.SH AUTHOR
+This manual page was written by Micah Anderson <micah@debian.org> for the Debian system (but may be used by others). Permission is granted to copy, distribute and/or modify this document under the terms of the GNU General Public License, Version 3 or any later version published by the Free Software Foundation.
+
+On Debian systems, the complete text of the GNU General Public License can be found in /usr/share/common-licenses/GPL.
+
diff --git a/contrib/debian/manpages/bitcoind.1 b/contrib/debian/manpages/bitcoind.1
new file mode 100644
index 0000000000..0179406a16
--- /dev/null
+++ b/contrib/debian/manpages/bitcoind.1
@@ -0,0 +1,209 @@
+.TH BITCOIND "1" "January 2011" "bitcoind 3.19"
+.SH NAME
+bitcoind \- peer-to-peer network based anonymous digital currency
+.SH SYNOPSIS
+bitcoin [options] <command> [params]
+.TP
+bitcoin [options] help <command> - Get help for a command
+.SH DESCRIPTION
+This manual page documents the bitcoind program. Bitcoin is a peer-to-peer digital currency. Peer-to-peer (P2P) means that there is no central authority to issue new money or keep track of transactions. Instead, these tasks are managed collectively by the nodes of the network. Advantages:
+
+Bitcoins can be sent easily through the Internet, without having to trust middlemen. Transactions are designed to be irreversible. Be safe from instability caused by fractional reserve banking and central banks. The limited inflation of the Bitcoin system’s money supply is distributed evenly (by CPU power) throughout the network, not monopolized by banks.
+
+.SH OPTIONS
+.TP
+\fB\-conf=\fR<file>
+Specify configuration file (default: bitcoin.conf)
+.TP
+\fB\-gen\fR
+Generate coins
+.TP
+\fB\-gen\fR=\fI0\fR
+Don't generate coins
+.TP
+\fB\-min\fR
+Start minimized
+.TP
+\fB\-datadir=\fR<dir>
+Specify data directory
+.TP
+\fB\-proxy=\fR<ip:port>
+Connect through socks4 proxy
+.TP
+\fB\-addnode=\fR<ip>
+Add a node to connect to
+.TP
+\fB\-connect=\fR<ip>
+Connect only to the specified node
+.TP
+\fB\-paytxfee=\fR<amt>
+Fee per KB to add to transactions you send
+.TP
+\fB\-server\fR
+Accept command line and JSON\-RPC commands
+.TP
+\fB\-daemon\fR
+Run in the background as a daemon and accept commands
+.TP
+\fB\-testnet\fR
+Use the test network
+.TP
+\fB\-rpcuser=\fR<user>
+Username for JSON\-RPC connections
+.TP
+\fB\-rpcpassword=\fR<pw>
+Password for JSON\-RPC connections
+.TP
+\fB\-rpcport=\fR<port>
+Listen for JSON\-RPC connections on <port>
+.TP
+\fB\-rpcallowip=\fR<ip>
+Allow JSON\-RPC connections from specified IP address
+.TP
+\fB\-rpcconnect=\fR<ip>
+Send commands to node running on <ip>
+.PP
+SSL options: (see the Bitcoin Wiki for SSL setup instructions)
+.TP
+\fB\-rpcssl\fR=\fI1\fR
+Use OpenSSL (https) for JSON\-RPC connections
+.TP
+\fB\-rpcsslcertificatchainfile=\fR<file.cert>
+Server certificate file (default: server.cert)
+.TP
+\fB\-rpcsslprivatekeyfile=\fR<file.pem>
+Server private key (default: server.pem)
+.TP
+\fB\-rpcsslciphers=\fR<ciphers>
+Acceptable ciphers (default: TLSv1+HIGH:!SSLv2:!aNULL:!eNULL:!AH:!3DES:@STRENGTH)
+.TP
+\-?
+This help message
+.SH COMMANDS
+.TP
+\fBbackupwallet 'destination'\fR
+Safely copies *wallet.dat* to 'destination', which can be a directory or a path with filename.
+.TP
+\fBgetaccount 'bitcoinaddress'\fR
+Returns the account associated with the given address.
+.TP
+\fBsetaccount 'bitcoinaddress' ['account']\fR
+Sets the ['account'] associated with the given address. ['account'] may be omitted to remove an address from ['account'].
+.TP
+\fBgetaccountaddress 'account'\fR
+Returns a new bitcoin address for 'account'.
+.TP
+\fBgetaddressesbyaccount 'account'\fR
+Returns the list of addresses associated with the given 'account'.
+.TP
+\fBgetbalance 'account'\fR
+Returns the server's available balance, or the balance for 'account'.
+.TP
+\fBgetblockcount\fR
+Returns the number of blocks in the longest block chain.
+.TP
+\fBgetblocknumber\fR
+Returns the block number of the latest block in the longest block chain.
+.TP
+\fBgetconnectioncount\fR
+Returns the number of connections to other nodes.
+.TP
+\fBgetdifficulty\fR
+Returns the proof-of-work difficulty as a multiple of the minimum difficulty.
+.TP
+\fBgetgenerate\fR
+Returns boolean true if server is trying to generate bitcoins, false otherwise.
+.TP
+\fBsetgenerate 'generate' ['genproclimit']\fR
+Generation is limited to ['genproclimit'] processors, -1 is unlimited.
+.TP
+\fBgethashespersec\fR
+Returns a recent hashes per second performance measurement while generating.
+.TP
+\fBgetinfo\fR
+Returns an object containing server information.
+.TP
+\fBgetnewaddress 'account'\fR
+Returns a new bitcoin address for receiving payments. If 'account' is specified (recommended), it is added to the address book so payments received with the address will be credited to 'account'.
+.TP
+\fBgetreceivedbyaccount 'account' ['minconf=1']\fR
+Returns the total amount received by addresses associated with 'account' in transactions with at least ['minconf'] confirmations.
+.TP
+\fBgetreceivedbyaddress 'bitcoinaddress' ['minconf=1']\fR
+Returns the total amount received by 'bitcoinaddress' in transactions with at least ['minconf'] confirmations.
+.TP
+\fBgettransaction 'txid'\fR
+Returns information about a specific transaction, given hexadecimal transaction ID.
+.TP
+\fBgetwork 'data'\fR
+If 'data' is specified, tries to solve the block and returns true if it was successful. If 'data' is not specified, returns formatted hash 'data' to work on:
+
+ "midstate" : precomputed hash state after hashing the first half of the data.
+ "data" : block data.
+ "hash1" : formatted hash buffer for second hash.
+ "target" : little endian hash target.
+.TP
+\fBhelp 'command'\fR
+List commands, or get help for a command.
+.TP
+\fBlistaccounts ['minconf=1']\fR
+List accounts and their current balances.
+ *note: requires bitcoin 0.3.20 or later.
+.TP
+\fBlistreceivedbyaccount ['minconf=1'] ['includeempty=false']\fR
+['minconf'] is the minimum number of confirmations before payments are included. ['includeempty'] whether to include addresses that haven't received any payments. Returns an array of objects containing:
+
+ "account" : the account of the receiving address.
+ "amount" : total amount received by the address.
+ "confirmations" : number of confirmations of the most recent transaction included.
+.TP
+\fBlistreceivedbyaddress ['minconf=1'] ['includeempty=false']\fR
+['minconf'] is the minimum number of confirmations before payments are included. ['includeempty'] whether to include addresses that haven't received any payments. Returns an array of objects containing:
+
+ "address" : receiving address.
+ "account" : the account of the receiving address.
+ "amount" : total amount received by the address.
+ "confirmations" : number of confirmations of the most recent transaction included.
+.TP
+\fBlisttransactions 'account' ['count=10']\fR
+Returns a list of the last ['count'] transactions for 'account' - for all accounts if 'account' is not specified or is "*". Each entry in the list may contain:
+
+ "category" : will be generate, send, receive, or move.
+ "amount" : amount of transaction.
+ "fee" : Fee (if any) paid (only for send transactions).
+ "confirmations" : number of confirmations (only for generate/send/receive).
+ "txid" : transaction ID (only for generate/send/receive).
+ "otheraccount" : account funds were moved to or from (only for move).
+ "message" : message associated with transaction (only for send).
+ "to" : message-to associated with transaction (only for send).
+
+ *note: requires bitcoin 0.3.20 or later.
+.TP
+\fBmove <'fromaccount'> <'toaccount'> <'amount'> ['minconf=1'] ['comment']\fR
+Moves funds between accounts.
+.TP
+\fBsendfrom* <'account'> <'bitcoinaddress'> <'amount'> ['minconf=1'] ['comment'] ['comment-to']\fR
+Sends amount from account's balance to 'bitcoinaddress'. This method will fail if there is less than amount bitcoins with ['minconf'] confirmations in the account's balance (unless account is the empty-string-named default account; it behaves like the *sendtoaddress* method). Returns transaction ID on success.
+.TP
+\fBsendtoaddress 'bitcoinaddress' 'amount' ['comment'] ['comment-to']\fR
+Sends amount from the server's available balance to 'bitcoinaddress'. amount is a real and is rounded to the nearest 0.01. Returns transaction id on success.
+.TP
+\fBstop\fR
+Stops the bitcoin server.
+.TP
+\fBvalidateaddress 'bitcoinaddress'\fR
+Checks that 'bitcoinaddress' looks like a proper bitcoin address. Returns an object containing:
+
+ "isvalid" : true or false.
+ "ismine" : true if the address is in the server's wallet.
+ "address" : bitcoinaddress.
+
+ *note: ismine and address are only returned if the address is valid.
+
+.SH "SEE ALSO"
+bitcoin.conf(5)
+.SH AUTHOR
+This manual page was written by Micah Anderson <micah@debian.org> for the Debian system (but may be used by others). Permission is granted to copy, distribute and/or modify this document under the terms of the GNU General Public License, Version 3 or any later version published by the Free Software Foundation.
+
+On Debian systems, the complete text of the GNU General Public License can be found in /usr/share/common-licenses/GPL.
+
diff --git a/contrib/debian/patches/1001_use_system_json-spirit.patch b/contrib/debian/patches/1001_use_system_json-spirit.patch
new file mode 100644
index 0000000000..56a20af38c
--- /dev/null
+++ b/contrib/debian/patches/1001_use_system_json-spirit.patch
@@ -0,0 +1,26 @@
+Description: Use system JSON Spirit library
+Author: Jonas Smedegaard <dr@jones.dk>
+Last-Update: 2011-05-17
+--- a/src/rpc.cpp
++++ b/src/rpc.cpp
+@@ -12,9 +12,7 @@
+ #include <boost/asio/ssl.hpp>
+ typedef boost::asio::ssl::stream<boost::asio::ip::tcp::socket> SSLStream;
+ #endif
+-#include "json/json_spirit_reader_template.h"
+-#include "json/json_spirit_writer_template.h"
+-#include "json/json_spirit_utils.h"
++#include <json_spirit.h>
+ #define printf OutputDebugStringF
+ // MinGW 3.4.5 gets "fatal error: had to relocate PCH" if the json headers are
+ // precompiled in headers.h. The problem might be when the pch file goes over
+--- a/src/makefile.unix
++++ b/src/makefile.unix
+@@ -23,6 +23,7 @@
+ -l boost_thread \
+ -l db_cxx \
+ -l ssl \
++ -l json_spirit \
+ -l crypto
+
+ ifdef USE_UPNP
diff --git a/contrib/debian/patches/README b/contrib/debian/patches/README
new file mode 100644
index 0000000000..80c1584376
--- /dev/null
+++ b/contrib/debian/patches/README
@@ -0,0 +1,3 @@
+0xxx: Grabbed from upstream development.
+1xxx: Possibly relevant for upstream adoption.
+2xxx: Only relevant for official Debian release.
diff --git a/contrib/debian/patches/series b/contrib/debian/patches/series
new file mode 100644
index 0000000000..bbe3685ac2
--- /dev/null
+++ b/contrib/debian/patches/series
@@ -0,0 +1 @@
+#1001_use_system_json-spirit.patch
diff --git a/contrib/debian/rules b/contrib/debian/rules
new file mode 100755
index 0000000000..a1d65652e3
--- /dev/null
+++ b/contrib/debian/rules
@@ -0,0 +1,33 @@
+#!/usr/bin/make -f
+# -*- mode: makefile; coding: utf-8 -*-
+
+#DEB_MAKE_CHECK_TARGET = test_bitcoin
+#build/bitcoind::
+# $(if $(filter nocheck,$(DEB_BUILD_OPTIONS)),,src/test_bitcoin)
+
+DEB_INSTALL_EXAMPLES_bitcoind += debian/examples/*
+DEB_INSTALL_MANPAGES_bitcoind += debian/manpages/*
+
+%:
+ dh $@
+
+override_dh_auto_build:
+ cd src; $(MAKE) -f makefile.unix bitcoind
+ $(MAKE)
+
+override_dh_auto_clean:
+ if [ -f Makefile ]; then $(MAKE) clean; else rm -rf build/; rm -f bitcoin-qt; fi
+ cd src; $(MAKE) -f makefile.unix clean
+
+override_dh_auto_configure:
+ qmake bitcoin-qt.pro
+
+override_dh_auto_test:
+ cd src; $(MAKE) -f makefile.unix test_bitcoin
+ src/test_bitcoin
+
+# Ensure wrapper is set executable
+binary-post-install/bitcoind:
+ chmod +x $(cdbs_curdestdir)usr/bin/bitcoind
+binary-post-install/bitcoin-qt:
+ chmod +x $(cdbs_curdestdir)usr/bin/bitcoin-qt
diff --git a/contrib/debian/source/format b/contrib/debian/source/format
new file mode 100644
index 0000000000..163aaf8d82
--- /dev/null
+++ b/contrib/debian/source/format
@@ -0,0 +1 @@
+3.0 (quilt)
diff --git a/contrib/debian/watch b/contrib/debian/watch
new file mode 100644
index 0000000000..c96d2f8e75
--- /dev/null
+++ b/contrib/debian/watch
@@ -0,0 +1,7 @@
+# Run the "uscan" command to check for upstream updates and more.
+version=3
+# use qa.debian.org redirector; see man uscan
+opts=uversionmangle=s/(\d)(alpha|beta|rc)/$1~$2/;s/\-src//,dversionmangle=s/~dfsg\d*// \
+ http://sf.net/bitcoin/bitcoin-(\d.*)-linux\.tar\.gz debian
+opts=uversionmangle=s/(\d)(alpha|beta|rc)/$1~$2/,dversionmangle=s/~dfsg\d*// \
+ http://githubredir.debian.net/github/bitcoin/bitcoin v(.*).tar.gz
diff --git a/share/pixmaps/bitcoin32.xpm b/share/pixmaps/bitcoin32.xpm
new file mode 100644
index 0000000000..f538a44d2d
--- /dev/null
+++ b/share/pixmaps/bitcoin32.xpm
@@ -0,0 +1,232 @@
+/* XPM */
+static const char * bitcoin32_xpm[] = {
+/* columns rows colors chars-per-pixel */
+"32 32 194 2",
+" c #745305",
+". c #785704",
+"X c #7C5903",
+"o c #75560B",
+"O c #77590F",
+"+ c #7C5C0B",
+"@ c #795B12",
+"# c #7F631D",
+"$ c #825E07",
+"% c #825F0B",
+"& c #85610A",
+"* c #8C660C",
+"= c #8E680E",
+"- c #916B0F",
+"; c #856515",
+": c #8B6714",
+"> c #8F6A16",
+", c #816218",
+"< c #88691C",
+"1 c #926D12",
+"2 c #936F1C",
+"3 c #997417",
+"4 c #94721E",
+"5 c #9B761C",
+"6 c #9F781C",
+"7 c #A17B1E",
+"8 c #826622",
+"9 c #916E20",
+"0 c #967425",
+"q c #9D7420",
+"w c #9C7923",
+"e c #997728",
+"r c #99792C",
+"t c #A37D23",
+"y c #A37F2C",
+"u c #A68125",
+"i c #AB8225",
+"p c #A5832B",
+"a c #AA852C",
+"s c #B28A2C",
+"d c #A58233",
+"f c #AC8734",
+"g c #AE8C33",
+"h c #AC8C3C",
+"j c #B28C33",
+"k c #B98E34",
+"l c #B28D3D",
+"z c #B59136",
+"x c #BC9335",
+"c c #B3913E",
+"v c #BC933A",
+"b c #BF9A3D",
+"n c #C19235",
+"m c #C2953C",
+"M c #C39B3C",
+"N c #CA9C3D",
+"B c #B59343",
+"V c #BE9642",
+"C c #B69A44",
+"Z c #BD9A45",
+"A c #B49649",
+"S c #BB9A49",
+"D c #BB9F52",
+"F c #BFA256",
+"G c #C49C43",
+"H c #CA9D41",
+"J c #C59D4A",
+"K c #C99E4D",
+"L c #C3A144",
+"P c #CDA244",
+"I c #CFAA47",
+"U c #C3A14D",
+"Y c #CDA24A",
+"T c #CCAB49",
+"R c #D2A644",
+"E c #D2A54B",
+"W c #D6AA4C",
+"Q c #DAAE4E",
+"! c #DAB04F",
+"~ c #C7A656",
+"^ c #CDA452",
+"/ c #CFAC52",
+"( c #C0A65E",
+") c #CEA75A",
+"_ c #CCAC59",
+"` c #D2AB53",
+"' c #DCAF52",
+"] c #D6AD5A",
+"[ c #D9AE5B",
+"{ c #DCB556",
+"} c #DFB855",
+"| c #D6B25F",
+" . c #DCB35C",
+".. c #DEBE5E",
+"X. c #E2B656",
+"o. c #E1B55A",
+"O. c #E6BC5D",
+"+. c #E9BD5E",
+"@. c #C3AA63",
+"#. c #CCAD62",
+"$. c #D4AF62",
+"%. c #CDB565",
+"&. c #CEB46D",
+"*. c #D7B164",
+"=. c #DBB362",
+"-. c #D6BD64",
+";. c #DDBA64",
+":. c #D3B66C",
+">. c #DFB86B",
+",. c #CEB772",
+"<. c #D0B771",
+"1. c #D4BA73",
+"2. c #D9BE77",
+"3. c #D6BE79",
+"4. c #D8BF7A",
+"5. c #E4BB62",
+"6. c #E9BF64",
+"7. c #E4BC69",
+"8. c #E9BF69",
+"9. c #E0BB71",
+"0. c #E9C05E",
+"q. c #D2C279",
+"w. c #DBC27C",
+"e. c #E2C667",
+"r. c #EDC364",
+"t. c #E3C16E",
+"y. c #ECC46C",
+"u. c #EDCC6C",
+"i. c #F1C764",
+"p. c #F5CA66",
+"a. c #F9CD67",
+"s. c #F5CC6A",
+"d. c #F9CD6B",
+"f. c #FBD36F",
+"g. c #EDC572",
+"h. c #E5CF77",
+"j. c #ECCA74",
+"k. c #E0C67E",
+"l. c #EFCE78",
+"z. c #F6CE72",
+"x. c #FBCF71",
+"c. c #F4CE79",
+"v. c #F4D273",
+"b. c #FCD473",
+"n. c #F4DC75",
+"m. c #FEDA74",
+"M. c #F6D77C",
+"N. c #FBD47A",
+"B. c #F1DA7B",
+"V. c #FDDA7C",
+"C. c #FEE27D",
+"Z. c #DDC683",
+"A. c #DFC884",
+"S. c #E4CA84",
+"D. c #E3CC89",
+"F. c #E7D183",
+"G. c #EFD280",
+"H. c #EFDC82",
+"J. c #ECD48D",
+"K. c #EFDA8C",
+"L. c #F9D783",
+"P. c #F2DF83",
+"I. c #FCDB83",
+"U. c #F5DC8F",
+"Y. c #FADD8B",
+"T. c #EBD593",
+"R. c #EFDA99",
+"E. c #F3DD93",
+"W. c #F3DF9F",
+"Q. c #FFE385",
+"!. c #FEE986",
+"~. c #FDE48C",
+"^. c #FEEC8E",
+"/. c #ECE199",
+"(. c #F6E591",
+"). c #FEE494",
+"_. c #FEEB93",
+"`. c #FEE69A",
+"'. c #FFEB9B",
+"]. c #FFF197",
+"[. c #FFF39B",
+"{. c #FEF99B",
+"}. c #F6E2A2",
+"|. c #F9E5A5",
+" X c #F7E9A5",
+".X c #FEECA4",
+"XX c #FBE7A8",
+"oX c #FDEAAB",
+"OX c #F7F2AA",
+"+X c #FEF2AC",
+"@X c #FDF4B4",
+"#X c #FFFABA",
+"$X c #FFFEC2",
+"%X c None",
+/* pixels */
+"%X%X%X%X%X%X%X%X%X%X%X%Xp t 6 5 w t w %X%X%X%X%X%X%X%X%X%X%X%X%X",
+"%X%X%X%X%X%X%X%X%Xu u x I X.0.s.u.0.W x 7 4 %X%X%X%X%X%X%X%X%X%X",
+"%X%X%X%X%X%X%Xy i I i.a.f.m.m.b.f.s.a.s.i.W 7 > %X%X%X%X%X%X%X%X",
+"%X%X%X%X%X%Xt M 0.a.m.m.m.m.f.d.p.p.p.f.d.f.i.b 1 < %X%X%X%X%X%X",
+"%X%X%X%X%X7 ! d.f.f.m.f.+.W P R I Q 5.v.V.V.z.f.{ 5 + %X%X%X%X%X",
+"%X%X%X%Xu X.f.m.m.f.' H s ~ V y _ Z J o.g.L.L.Q.!.e.5 X %X%X%X%X",
+"%X%X%Xu X.b.C.m.+.N m n t }.3.> }.w.V 5.y.y.Y.[.^.^.-.1 + %X%X%X",
+"%X%Xt P m.N.m.X.v v v k 6 }.1.: /.4.c 7.N.N.v.!.{.{.^.L & %X%X%X",
+"%X%Xg Y.Y.V.+.m k a t t : }.1.% }.1.r | l.B.M.b.!.{.^.n.7 X %X%X",
+"%Xp -._.'.Y.' Y n D.}.}.|.oXXX|.oX XT.w.F _ j.v.v._.^.C.T & @ %X",
+"%Xa (.'.'.9.[ [ K S.}.oXoXoXoXXXoXoXoXoX XD / s.d.v.!.C.v.3 o %X",
+"%XU '.'.Y.[ [ [ [ J f <.oXoX( 2 f S J.oXoXT.j r.s.i.C.C.C.z X %X",
+"p e.'.'.F. .=.=.=.=.) 1.oXoX@.f . .F oXoX}.a +.i.i.b.C.m.I X O ",
+"u w.'.[.j.5.8.7.7.7.] 2.oXoX@.y W c &.oXoXZ.k r.s.i.s.V.m.} = o ",
+"u H.[.{.y.8.y.g.8.g.7.2.oXoXA.@.&.D.oXoXT.e G +.O.O.5.V.m.0.- o ",
+"u !.].[.r.8.y.g.g.g.7.4.oXoXoXoXoXoXoXoXoX<.y W X.o.o.m.m.0.- o ",
+"u B._._.5.5.8.y.g.c.g.w.oXoX,.h A F <..XoXoX1.k ' ' ' V.N.r.- ",
+"u u.Q.~.r.6.z.N.V.I.v.k.oXoX@.B | _ c 1.oXoX}.a ' ' O.I.b.O.= o ",
+"u ..Q.Q.v.i.s.c.N.L.l.Z.oXoX@.B t.=.S &.oXoXXXy Y R +.N.b.Q % o ",
+"t T C.I.I.6.u.z.z.5.S 1.oXoX@.e B h D |.oXoXS.f Y Y 6.d.d.n X O ",
+"%Xs m.V.Q.r.r.z.5.<.}.oXoXoXXXW.}.oXoXoXoXW.h G H R a.p.s.7 %X",
+"%X7 O.V.V.v.+.r.` 4.oXoXoXoXoXoXoXoXXXR.<.h v N N o.a.p.Q = %X",
+"%Xw x v.v.v.r.+. .Z l d e }.Z.r }.3.d l V G n n R a.s.a.s X O %X",
+"%X%X6 { v.l.v.+.O.5.=.^ d }.4.9 }.1.f J G m m G d.d.x.Q = %X%X",
+"%X%X%Xs u.v.v.v.r.6.o. .l }.4.9 W.4.l ^ ^ J ) c.N.N.y.7 X O %X%X",
+"%X%X%X5 z v.v.M.I.g.;. .J 1.#.B 1.#.) 7.$.S..X'.W.Y.j $ %X%X%X",
+"%X%X%X%X5 b N.Y.~.).Y.j.5.$.=.=.$.*.2.J.@X$X#X#XoXC $ %X%X%X%X",
+"%X%X%X%X%X3 z U.@X+X`.`.`.(.E.E.E.|.@X@X#X#X#X/.j % %X%X%X%X%X",
+"%X%X%X%X%X%Xw a q.OX|.).`._.'.'.XX.X.X+X+X X%.w X o %X%X%X%X%X%X",
+"%X%X%X%X%X%X%X%Xw a _ j.~.~.).).`.`.`.F._ t & . # %X%X%X%X%X%X%X",
+"%X%X%X%X%X%X%X%X%X%X4 3 t z L U Z z t 1 $ . 8 %X%X%X%X%X%X%X%X%X",
+"%X%X%X%X%X%X%X%X%X%X%X%X%X< ; & + + , 8 %X%X%X%X%X%X%X%X%X%X%X%X"
+};
diff --git a/share/pixmaps/bitcoin80.xpm b/share/pixmaps/bitcoin80.xpm
new file mode 100644
index 0000000000..c3c816e92d
--- /dev/null
+++ b/share/pixmaps/bitcoin80.xpm
@@ -0,0 +1,292 @@
+/* XPM */
+static const char * bitcoin80_xpm[] = {
+/* columns rows colors chars-per-pixel */
+"80 80 206 2",
+" c #725203",
+". c #785706",
+"X c #7B5907",
+"o c #7C5A09",
+"O c #7F5F10",
+"+ c #815E0B",
+"@ c #85620C",
+"# c #89650F",
+"$ c #856313",
+"% c #896614",
+"& c #8D6913",
+"* c #886718",
+"= c #8D6B1B",
+"- c #926D14",
+"; c #926E1B",
+": c #967116",
+"> c #997317",
+", c #95711E",
+"< c #9B7419",
+"1 c #9F781B",
+"2 c #A27B1D",
+"3 c #8F6F22",
+"4 c #926F21",
+"5 c #947323",
+"6 c #9A7623",
+"7 c #9D7925",
+"8 c #957628",
+"9 c #9A7729",
+"0 c #9D7B2B",
+"q c #9D7F33",
+"w c #A47D23",
+"e c #A97F27",
+"r c #A37E2B",
+"t c #9F8030",
+"y c #A78021",
+"u c #AC8425",
+"i c #A5802D",
+"p c #AC842B",
+"a c #AF8829",
+"s c #B2872C",
+"d c #B28B2D",
+"f c #A68333",
+"g c #AA8633",
+"h c #AD8A36",
+"j c #A4863A",
+"k c #A88638",
+"l c #A7893B",
+"z c #AC8B3B",
+"x c #B28732",
+"c c #B48C32",
+"v c #B98E34",
+"b c #B28D3B",
+"n c #B88F3C",
+"m c #B69033",
+"M c #BD9235",
+"N c #B4913D",
+"B c #BC943A",
+"V c #BE993C",
+"C c #C19336",
+"Z c #C1953B",
+"A c #C49A3C",
+"S c #C99C3D",
+"D c #CDA13F",
+"F c #D0A33F",
+"G c #A88B40",
+"H c #B08F40",
+"J c #AE9142",
+"K c #AE944C",
+"L c #B49443",
+"P c #BB9542",
+"I c #B49946",
+"U c #BD9846",
+"Y c #B3964C",
+"T c #BB974A",
+"R c #B6994A",
+"E c #BF9C4A",
+"W c #B69B53",
+"Q c #B99D53",
+"! c #BCA055",
+"~ c #BDA25A",
+"^ c #C49742",
+"/ c #C49C43",
+"( c #CB9E42",
+") c #C49D4B",
+"_ c #C99E4C",
+"` c #C29F52",
+"' c #C5A244",
+"] c #CDA245",
+"[ c #C5A34C",
+"{ c #CCA34B",
+"} c #CCA94D",
+"| c #D2A445",
+" . c #D1A54B",
+".. c #D5AA4E",
+"X. c #DBAF4F",
+"o. c #C6A352",
+"O. c #CBA554",
+"+. c #C5AA57",
+"@. c #CEAC54",
+"#. c #C4A65A",
+"$. c #CDA458",
+"%. c #C2A85F",
+"&. c #CEAA5B",
+"*. c #D0A550",
+"=. c #D4AB53",
+"-. c #DBAE53",
+";. c #D0A75B",
+":. c #D4AC5A",
+">. c #D9AE5C",
+",. c #CEB25E",
+"<. c #D4B156",
+"1. c #DDB156",
+"2. c #D4B25C",
+"3. c #DCB35D",
+"4. c #D7B85C",
+"5. c #DCBA5E",
+"6. c #E2B355",
+"7. c #E2B65B",
+"8. c #E4BA5D",
+"9. c #EABD5E",
+"0. c #C5AA62",
+"q. c #CCAE63",
+"w. c #C6AE69",
+"e. c #D5AF62",
+"r. c #CEB167",
+"t. c #CCB36C",
+"y. c #D5B162",
+"u. c #DCB462",
+"i. c #D7B964",
+"p. c #DCBC64",
+"a. c #D2B66B",
+"s. c #DCB669",
+"d. c #D7BE69",
+"f. c #DFB86A",
+"g. c #D0B771",
+"h. c #D2BA74",
+"j. c #D5BE78",
+"k. c #E1B766",
+"l. c #E4BB63",
+"z. c #E9BE63",
+"x. c #E3BB6A",
+"c. c #E9BF6A",
+"v. c #E1BE72",
+"b. c #DDC16B",
+"n. c #DAC27E",
+"m. c #E4C164",
+"M. c #ECC264",
+"N. c #E4C36B",
+"B. c #EBC36C",
+"V. c #E7C96F",
+"C. c #EECA6E",
+"Z. c #F1C564",
+"A. c #F1C76A",
+"S. c #F5CB6C",
+"D. c #FACE6D",
+"F. c #F4D06F",
+"G. c #FCD06E",
+"H. c #E5C371",
+"J. c #EDC573",
+"K. c #E4CA73",
+"L. c #ECCC74",
+"P. c #E7CF7A",
+"I. c #EBCD7A",
+"U. c #F3CD73",
+"Y. c #F8CE71",
+"T. c #F3CD7A",
+"R. c #EDD076",
+"E. c #EDD17B",
+"W. c #F4D274",
+"Q. c #FBD274",
+"!. c #FED977",
+"~. c #F3D47B",
+"^. c #FDD47A",
+"/. c #F5DA7C",
+"(. c #FDDA7C",
+"). c #FFE07F",
+"_. c #DBC481",
+"`. c #DFC885",
+"'. c #E1CA86",
+"]. c #EACC80",
+"[. c #E4CD8A",
+"{. c #EED383",
+"}. c #E7D18F",
+"|. c #EAD38C",
+" X c #F4D680",
+".X c #FDD780",
+"XX c #F5DA83",
+"oX c #FCDC84",
+"OX c #F5DB8A",
+"+X c #FADE89",
+"@X c #EAD492",
+"#X c #EED896",
+"$X c #EFDA9A",
+"%X c #F1DD9D",
+"&X c #FDE283",
+"*X c #F6E18D",
+"=X c #FEE48D",
+"-X c #FFE692",
+";X c #FFE894",
+":X c #FBE799",
+">X c #FFEA98",
+",X c #F6E2A3",
+"<X c #FAE6A6",
+"1X c #FAE7A8",
+"2X c #FDEAAB",
+"3X c None",
+/* pixels */
+"3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X",
+"3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X",
+"3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X",
+"3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X",
+"3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X",
+"3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3Xu u u u u u u y y u y 3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X",
+"3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3Xu u u u u u u u u a u u u u u u a u u 2 3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X",
+"3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3Xu u u u u u u u s m V D ' { ' D M d u u a u u u u 2 3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X",
+"3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3Xu u u u u u M } m.~.oX=X=X=X=X=X-X-X=X&X/.m.=.V u u a u u w 3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X",
+"3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3Xu u u u u M 4.~.=X=X=X=X=X=X=X=X=X=X=X=X=X=X=X=X=X=X/.5.Z u u u u u 3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X",
+"3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3Xu u u u ] V.&X=X=X&X=X=X=X=X=X=X=X=X=X&X=X=X=X=X=X=X=X=X=X=XW.} a u u u 2 3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X",
+"3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3Xu a u u ' W.=X=X=X=X=X=X=X=X=X=X=X=X=X=X=X=X=X=X=X=X+X=X=X=X&X=X=X=X~.} a u u u < 3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X",
+"3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3Xu u u M N.=X&X=X=X=X=X=X=X=X-X=X=X=X=X&X=X=X=XoX=X=X=X=X&X+X=X=X=X=X=X=X=XL.M u u u < 3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X",
+"3X3X3X3X3X3X3X3X3X3X3X3X3X3X3Xu u u u } XX=X=X=X&X=X=X=X=X=X=X=X=X=X=X=X=X=X=X=X*X=X=X=X=X=X=X=X=X=X=X=X=X=X=XoX<.a u u 2 3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X",
+"3X3X3X3X3X3X3X3X3X3X3X3X3X3Xu u u s m.&X=X=X=X=X=X=X=X=X=X=X=X=X=X/.L.M.m.9.m.9.m.C.~.&X*X=X=X=X=X=X=X=X=X=X=X=X=XV.m u u 2 o 3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X",
+"3X3X3X3X3X3X3X3X3X3X3X3X3Xu u u c R.=X=X=X=X=X=X=X=X=X=X=XoXC.1.| S S A S D D D D ] ] ..<.N./.=X-X=X-X=X=X=X=X=X=X=XXXZ u a 2 o 3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X",
+"3X3X3X3X3X3X3X3X3X3X3X3Xu u u m XX=X=X=X=X=X=X=X=X=X=XW.3.| ^ A C M M M C S S A A A / ( { =.<.l.I.=X-X-X=X=X=X=X=X=X=X=XV a u 2 . 3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X",
+"3X3X3X3X3X3X3X3X3X3X3X3Xu u m /.=X=X=X-X=X=X=X=X=X~.1.D ] S Z v x p s u s d d v c c v V { =.7.8.7.l.T.=X-X=X-X-X-X-X-X=X=XV u a 1 3X3X3X3X3X3X3X3X3X3X3X3X3X3X",
+"3X3X3X3X3X3X3X3X3X3X3Xu u d /.=X=X=X=X=X=X=X=X&X8.^ A ( S M v e $.r.e.r.u w i a.a.a.&.b ^ =.l.l.l.c.z.z.XX-X-X-X-X=X-X-X;X&XV u u : 3X3X3X3X3X3X3X3X3X3X3X3X3X",
+"3X3X3X3X3X3X3X3X3X3Xu u s R.=X=X=X=X=X=X=X=XU.{ ^ Z C ( A M u w [.2X2X2X0 - 7 2X2X1X@Xi P *.l.x.B.U.C.z.z.W.-X-X-X-X-X-X=X-X*Xd a u # . 3X3X3X3X3X3X3X3X3X3X3X3X",
+"3X3X3X3X3X3X3X3X3Xu u u l.=X=X=X=X-X=X=X=Xm.Z Z Z Z n Z Z v e , '.2X2X2X5 & ; 2X2X2X}.7 b { 3.x.^.^.^.Y.A.z.R.-X;X;X;X;X-X;X-XP.a u y . 3X3X3X3X3X3X3X3X3X3X3X3X",
+"3X3X3X3X3X3X3X3X3Xu u } -X-X=X-X=X=X=X=Xl.M M Z C C C C C x e ; '.2X2X2X, $ = 2X2X2X}.6 h ) >.J..X.X.X.X(.W.Z.C.&X;X;X;X;X-X-X-X<.u u < 3X3X3X3X3X3X3X3X3X3X3X",
+"3X3X3X3X3X3X3X3Xu u c oX=X=X=X=X=X=X=Xl.Z C M M C C v v v s w = '.2X2X2X5 $ = 2X2X2X}.5 g ) u./.+X+X=X=X=X&XW.Z.F.=X;X;X;X;X-X-X*XV u y @ X 3X3X3X3X3X3X3X3X3X3X",
+"3X3X3X3X3X3X3Xu u u N.-X-X-X-X=X=X=XB.Z M C v v s e e e e w > % `.2X2X2X= + % 2X2X2X}.= r L 4.E.OX+X-X=X=X&X).W.M.R.;X;X;X-X-X-X;XR.u u y 3X3X3X3X3X3X3X3X3X3X",
+"3X3X3X3X3X3X3Xu u U -X-X-X-X-X-X=XW.^ C C C x e e r 6 5 4 ; = $ `.2X2X2X= O = 2X2X2X}.O = t Q ,.b.P./.*X=X&X&X).F.M.W.;X;X;X;X&X-X&X} u u O 3X3X3X3X3X3X3X3X3X",
+"3X3X3X3X3X3Xu u u R.-X-X-X-X-X-X=X=.{ ^ Z C x n 2X2X<X<X1X2X<X<X2X2X2X2X1X1X<X2X2X2X<X$X[.b.~ J I ~ b.P.&X&X&X).!.F.m.).;X;X;X;X;X&X).u y y 3X3X3X3X3X3X3X3X3X",
+"3X3X3X3X3X3Xu u U -X-X-X-X-X-X-Xc.=.=. ._ ^ x z 2X2X1X2X2X2X2X2X2X2X2X2X2X2X2X2X2X2X2X2X2X2X2X<Xn.l I ,.K./.).).).F.Z.Z.&X;X;X=X-X-X&X} u u O 3X3X3X3X3X3X3X3X",
+"3X3X3X3X3X3Xu u V.-X;X-X-X-X-XOX>.>.>.=.=._ n b 2X2X2X2X2X2X2X2X2X2X2X2X2X2X2X2X2X2X2X2X2X2X2X2X2X:XI N +.V./.).).F.F.9.W.;X=X;X-X-X-XR.u u > 3X3X3X3X3X3X3X3X",
+"3X3X3X3X3Xu u d =X;X-X-X-X-X-Xx.>.>.>.>.>...^ P 2X2X2X2X2X2X2X2X2X2X2X2X2X2X2X2X2X2X2X2X2X2X2X2X2X2X,Xl N 4.R.!.!.!.G.Z.M.&X;X=X=X-X-X-XB a u 3X3X3X3X3X3X3X",
+"3X3X3X3X3Xu u @.;X;X-X;X;X;XXX>.:.>.>.>.>.>._ P ` Y Y W _.2X2X2X2X2X2X@XW W ~ 0.t.'.<X2X2X2X2X2X2X2X2X'.0 ' m./.!.!.Q.S.9.F.=X;X-X=X-X&X4.u u @ 3X3X3X3X3X3X3X",
+"3X3X3X3X3Xu u P.;X;X;X;X-X:XN.>.>.>.>.>.>.>.=._ P z r 4 8 2X2X2X2X2X2X_.. $ , 6 1 3 t ~ 1X2X2X2X2X2X2X2Xt B 5.G.!.!.G.G.M.9.&X;X=X-X-X=X/.u u > 3X3X3X3X3X3X3X",
+"3X3X3X3Xu u d =X;X;X=X;X;X=X3.>.>.>.e.>.3.3.>.:.*._ P r 9 2X2X2X2X2X1Xn.@ , c B N m h 8 ~ 2X2X2X2X2X2X2XI h <.F.!.G.G.F.M.9.W.;X=X-X-X=X=Xm u y . 3X3X3X3X3X3X",
+"3X3X3X3Xu u ' -X-X>X-X-X-X X>.>.>.>.>.>.>.u.u.u.u.3.$.P f 2X2X2X2X2X2X_.$ i / -.<.8.} h 8 1X2X2X2X2X2X2X! i <.S.G.G.G.G.Z.9.Z.=X-X=X-X&X-X} u u X 3X3X3X3X3X3X",
+"3X3X3X3Xu u 4.-X-X-X-X-X-XJ.3.>.>.k.k.k.k.k.u.k.u.u.:.U k 2X2X2X2X2X1X_.% f } 8.Z.F.8.U 8 ,X2X2X2X2X2X2XI g } Z.D.G.D.G.D.Z.9.&X-X=X=X=X-Xm.u u @ 3X3X3X3X3X3X",
+"3X3X3X3Xu u K.;X-X;X-X>X-Xk.3.k.k.k.k.k.k.k.k.k.k.u.e.U k 2X2X2X2X2X2X_.% f [ 8.F.M.<.b i 2X2X2X2X2X2X2Xt a X.Z.D.D.D.G.G.Z.9./.=X-X=X=X=XR.u u & 3X3X3X3X3X3X",
+"3X3X3X3Xu u E.;X-X;X-X-X=Xl.l.x.c.k.x.k.k.x.x.v.x.x.u.) z 2X2X2X2X2X2X_.$ 7 L <.<.} N 6 h.2X2X2X2X2X2X_.: V 1.S.D.D.G.D.S.M.6.W.-X=X-X=X=X&Xu u > X 3X3X3X3X3X",
+"3X3X3Xu a u =X;X;X;X;X;XoX7.z.c.c.c.c.c.c.c.c.c.x.k.u.) z 2X2X2X2X2X2Xn.o = i N h i l n.2X2X2X2X2X2X<Xt t D 7.M.Z.z.z.9.9.9.6.M.-X=X=X=X;X=Xm u 1 3X3X3X3X3X",
+"3X3X3Xy u a =X;X;X;X;X;XXXl.z.c.c.c.c.T.J.J.T.v.J.J.s.` z 2X2X2X2X2X2X#XW ~ ~ t.n.$X2X2X2X2X2X2X2X,Xt % t V X.8.9.8.9.9.9.6.6.M.-X=X=X=X=X&XM u 2 3X3X3X3X3X",
+"3X3X3Xu u m -X-X-X;X;X;X~.z.z.c.c.c.c..XJ.J.J.J.J.J.x.O.b 2X2X2X2X2X2X2X2X2X2X2X2X2X2X2X2X2X2X2X2Xw.$ * y V X.7.8.8.9.7.8.7.6.8.=X=X-X-X=X-XV a y 3X3X3X3X3X",
+"3X3X3Xu a m -X-X-X;X;X;X~.7.z.c.c.c.c.c.c.J.T.J.T.J.B.O.b 2X2X2X2X2X2X2X2X2X2X2X2X2X2X2X2X2X2X2X2X2X,X~ , c ' X.6.6.7.6.6.6.6.8.=X=X=X-X&X-XV u y 3X3X3X3X3X",
+"3X3X3Xu u m -X-X-X-X-X-X/.8.l.z.c.T.c.J.c.J.T.v.J.J.x.O.G 2X2X2X2X2X2X2X2X2X2X2X2X2X2X2X2X2X2X2X2X2X2X2Xn.r v { 6.6.6.6.6.6.-.7.&X-X=X=X=X-XD u y 3X3X3X3X3X",
+"3X3X3Xu u d =X-X-X-X-X-X~.7.z.z.c.c.c.c.c.J.c.T.T.^.T.y.R 2X2X2X2X2X2X@XK K W W W ~ h.#X1X2X2X2X2X2X2X2X2Xa.i Z ..X.6.6.-.-.6.7.-X-X-X-X-X-XD u 2 3X3X3X3X3X",
+"3X3X3Xw u a =X-X-X-X-X-X~.7.7.8.c.c.c.c.T..X.X+X+X+XXXi.R 2X2X2X2X2X2Xn.. * 5 8 5 3 = * q `.2X2X2X2X2X2X2X<Xk c | X.6.-.-.-.-.z.&X;X=X;X-X;XV u w 3X3X3X3X3X",
+"3X3X3Xu u u =X-X=X-X-X-X/.8.M.B.Y.T.^.^.^..X.XoXoX+XXXi.R 2X2X2X2X2X2X_.$ 0 b U U N l t 5 $ `.2X2X2X2X2X2X2X0.e Z .....-.-.6.c.;X=X;X=X;X-Xd u 1 3X3X3X3X3X",
+"3X3X3X3Xu a E.-X-X-X-X-X=Xz.S.D.Y.^.Q.^.^.^..XoX+X+XXXi.R 2X2X2X2X2X2X_.= l +.u.i.,.O.E h 5 G 2X2X2X2X2X2X2X_.0 n | . .*. .*.T.-X;X;X;X-X=Xa u : 3X3X3X3X3X",
+"3X3X3X3Xu u N.-X-X-X=X-X-XA.Z.S.Y.Q.Q.^.^..X.XoXoX&X.Xi.R 2X2X2X2X2X2X_.= N y.H.H.m.i.y.E f 8 2X2X2X2X2X2X2X'.6 n | . . . . ..X;X;X;X;X-X~.u u & 3X3X3X3X3X",
+"3X3X3X3Xu u <.-X-X=X=X-X-XW.Z.S.Y.Y.Q.^.^.^.(..XoX=XXXi.R 2X2X2X2X2X2X_.= L 4.H.J.H.x.i.o.k j 2X2X2X2X2X2X2X_.6 B . . . .{ =.-X;X-X;X-X-Xb.a u @ 3X3X3X3X3X",
+"3X3X3X3Xy a V =X=X-X-X=X-XXXZ.S.Y.Y.Y.Q.!.^..X.XoXoXE.y.I 2X2X2X2X2X2X_.= J y.b.H.N.p.&.P 0 g.2X2X2X2X2X2X2Xr.r B _ { .| ] l.-X;X;X-X-X;X..u u . . 3X3X3X3X3X",
+"3X3X3X3Xy u a =X=X=X=X-X=X-XM.Z.S.Y.Y.Q.Q.^.^.^.U.J.u.E l 2X2X2X2X2X2X_.* k o.e.e.$.` P q W 1X2X2X2X2X2X2X2XG i B ] | ] ] ( ~.=X;X;X;X;X;XM u y 3X3X3X3X3X3X",
+"3X3X3X3X3Xu u V.-X=X-X=X-X-XF.M.A.D.Y.Q.Y.Q.Y.B.2.[ N 0 j 2X2X2X2X2X2X_.O 5 l G z H H Q _.2X2X2X2X2X2X2X2X#X, g ^ ] ] | ] ..-X-X-X-X&X;X).u u : 3X3X3X3X3X3X",
+"3X3X3X3X3Xu u } =X=X=X=X-X=X&XM.Z.S.D.W.Q.Y.B.*.a.#X@X|.,X2X2X2X2X2X2X,X[.[.}.}.%X<X2X2X2X2X2X2X2X2X2X2X<Xj 6 b / ] ] ] ] M.-X-X-X-X-X-X4.u u O 3X3X3X3X3X3X",
+"3X3X3X3X3Xy u d =X=X=X=X=X=X-XS.M.A.S.S.U.A.u.) n.2X2X2X2X2X2X2X2X2X2X2X2X1X2X2X2X2X2X2X2X2X2X2X2X2X2X2XW ; i M ( S S S ] &X-X-X-X-X=X-Xm u y . X 3X3X3X3X3X3X",
+"3X3X3X3X3X3Xu u p.=X=X=X=X=X-X&X9.Z.C.S.S.M.:.b [.2X2X2X2X2X2X2X2X2X2X2X2X2X2X2X2X2X2X2X2X2X2X2X2X2X%XG = r x v C D D D m.-X-X-X-X-X-XR.u u : 3X3X3X3X3X3X3X",
+"3X3X3X3X3X3Xy u B =X=X=X=X=X=X=XF.9.M.A.C.M.=.h %X2X2X2X2X2X2X2X2X2X2X2X2X2X2X2X2X2X2X2X2X2X2X1X#X~ 4 ; r p v v M C A | &X-X-X-X-X-X-X] u u X 3X3X3X3X3X3X3X",
+"3X3X3X3X3X3Xy u u N.=X=X-X=X-X=X=XM.z.M.M.M.1.V #X%X%X%X%X$X%X%X<X2X2X2X%X$X%X2X2X2X<X[.n.t.W q = , r i x v C C C M C W.-X-X-X-X-X-X/.u u 1 X 3X3X3X3X3X3X3X",
+"3X3X3X3X3X3X3Xu u V *X=X=X*X=X=X=XoX8.M.M.M.5.{ m r , ; $ $ o o `.2X2X2X3 o $ 2X2X2X[.o $ 4 9 0 r g x v m C M C C C 8.&X-X-X-X-X-X-X[ u u @ 3X3X3X3X3X3X3X3X",
+"3X3X3X3X3X3X3X2 u u 5.=X=X=X=X=X=X=XI.8.M.M.z.3.O.) P b r 0 4 % `.2X2X2X3 $ * 2X2X2X[.$ 4 r e ^ n n Z Z Z C C C M | =X=X-X-X-X-X-XR.u u < 3X3X3X3X3X3X3X3X",
+"3X3X3X3X3X3X3X3Xy u d XX=X=X=X=X-X=X=XS.8.8.M.M.z.z.7.{ _ U g 5 `.2X2X2X8 = 3 2X2X2X}.3 0 x ^ _ ^ ^ ^ Z ^ B ^ C .&X-X-X-X-X-X-X=XB u u o 3X3X3X3X3X3X3X3X3X",
+"3X3X3X3X3X3X3X3X1 u u ' =X=X*X=X=X*X=X=XW.8.M.M.A.S.l.u.>.o.L r [.2X2X2X9 = 8 2X2X2X}.4 r ^ _ *.*._ ) ) ^ ^ ^ O.oX=X-X-X-X-X-X-X<.u u : . 3X3X3X3X3X3X3X3X3X",
+"3X3X3X3X3X3X3X3X3Xy u u i.=X=X=X=X=X-X*X=XW.9.M.A.B.3.5.5.;.U f [.2X2X2Xq 4 8 2X2X2X}.r q _ _ ;.;.*._ _ ` _ e.+X-X-X-X-X-X-X-XR.a u 2 3X3X3X3X3X3X3X3X3X3X",
+"3X3X3X3X3X3X3X3X3X3Xu u u K.=X=X=X-X=X=X=X=XXXz.M.8.5.8.u.:.) h }.2X2X2Xj r f 2X2X2X@Xq T _ e.e.u.e.;.$.$.b.-X-X-X=X;X=X;X-X&Xa a u + 3X3X3X3X3X3X3X3X3X3X3X",
+"3X3X3X3X3X3X3X3X3X3X3Xu u d ~.=X=X=X=X=X-X=X-X+XC.3.5.7.7.2.@.) q.r.q.q.H H L g.r.w.q.T ` e.k.v.k.k.s.s.{.-X-X;X-X;X;X;X;X*XV u u & . 3X3X3X3X3X3X3X3X3X3X3X",
+"3X3X3X3X3X3X3X3X3X3X3X2 u u c XX-X=X=X=X=X-X=X-X-X Xl.7.7.u.2.$.o.[ [ o.O.$.&.&.` ` ` q.s.k.v.k.k.x.{.%X>X>X>X;X>X;X>X>X*XV u u > 3X3X3X3X3X3X3X3X3X3X3X3X",
+"3X3X3X3X3X3X3X3X3X3X3X3X2 u u m ~.=X-X-X-X=X-X-X-X-X-X Xc.7.5.u.3.e.y.u.s.f.k.s.e.e.s.s.k.k.k.v. X:X>X>X>X>X>X>X;X>X>X*XV u u < 3X3X3X3X3X3X3X3X3X3X3X3X3X",
+"3X3X3X3X3X3X3X3X3X3X3X3X3X2 u u d R.-X=X-X=X-X-X-X-X-X-X-X+XI.v.u.s.l.k.k.x.x.x.s.s.s.s.j.].+X>X>X>X>X>X:X>X>X>X>X>XOXV u u 1 3X3X3X3X3X3X3X3X3X3X3X3X3X3X",
+"3X3X3X3X3X3X3X3X3X3X3X3X3X3X2 u u a p.-X-X-X;X;X;X-X-X-X:X-X-X-X-XOX XL.J.J.J.L.I.].OX:X>X-X>X>X-X>X>X>X>X>X>X>X>XK.a a u < 3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X",
+"3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X2 u u u @.=X;X;X>X;X-X-X>X-X-X-X-X;X-X-X-X-X-X>X>X-X>X-X>X>X>X>X;X>X>X>X-X>X-X-X:X<.u u u > 3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X",
+"3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X1 u u u m n.>X;X>X>X-X-X-X-X>X-X-X-X;X;X;X-X-X-X-X-X>X-X-X>X-X>X>X-X>X>X>X>XK.B u u u & 3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X",
+"3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3Xw u u u / {.>X>X-X-X-X-X-X-X-X-X-X-X;X-X-X;X:X-X-X>X-X:X>X;X;X>X;X;X{.[ u u u w + 3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X",
+"3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X2 u u u u ) K.-X-X-X-X:X-X-X-X-X-X-X-X-X-X-X-X-X>X-X-X-X-X-X-XE.[ u u u u - . 3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X",
+"3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X1 u u u u m 2.E.-X+X:X-X-X-X-X-X-X-X-X-X:X-X-X-X;X-XOXi.B u u u u 1 o 3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X",
+"3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X> u u u u u v [ l.I.OX-X-X-X-X-X-X-X-X+XI.f.@.m u u u u u 1 + o 3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X",
+"3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X& 2 u u u u u u u d B V V V V B d u u u u u u u y - . o 3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X",
+"3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X+ - 1 u u u u u u u a u u u u u u u u 2 - o o 3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X",
+"3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3Xo . X # - > 1 2 2 2 1 2 > - # o . o 3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X",
+"3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3Xo o . o 3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X",
+"3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X",
+"3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X",
+"3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X",
+"3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X3X"
+};