PKGBUILDs/extra/thunderbird/PKGBUILD
2024-10-12 21:20:47 +00:00

365 lines
18 KiB
Bash

# Maintainer: Levente Polyak <anthraxx[at]archlinux[dot]org>
# Contributor: Jan Alexander Steffens (heftig) <jan.steffens@gmail.com>
# Contributor: Ionut Biru <ibiru@archlinux.org>
# Contributor: Alexander Baldeck <alexander@archlinux.org>
# Contributor: Dale Blount <dale@archlinux.org>
# Contributor: Anders Bostrom <anders.bostrom@home.se>
# ALARM: Kevin Mihelich <kevin@archlinuxarm.org>
# - mozconfig changes for ARM
# - disable rust lto for v7
highmem=1
pkgbase=thunderbird
pkgname=(thunderbird)
pkgver=128.3.1
pkgrel=1
pkgdesc='Standalone mail and news reader from mozilla.org'
url='https://www.thunderbird.net/'
arch=(x86_64)
license=('MPL-2.0' 'GPL-2.0-only' 'LGPL-2.1-only')
depends=(
glibc
gtk3 libgdk-3.so libgtk-3.so
mime-types
dbus libdbus-1.so
dbus-glib
alsa-lib
nss
hunspell
sqlite
ttf-font
libvpx libvpx.so
zlib
bzip2 libbz2.so
botan2
libwebp libwebp.so libwebpdemux.so
libevent
libjpeg-turbo
libffi libffi.so
nspr
gcc-libs
libx11
libxrender
libxfixes
libxext
libxcomposite
libxdamage
pango libpango-1.0.so
cairo
gdk-pixbuf2
freetype2 libfreetype.so
fontconfig libfontconfig.so
glib2 libglib-2.0.so
pixman libpixman-1.so
gnupg
json-c
libcanberra
ffmpeg
icu libicui18n.so libicuuc.so
)
makedepends=(
unzip zip diffutils python nasm mesa libpulse libice libsm
rust clang llvm cbindgen nodejs-lts-iron lld
gawk perl findutils libotr
)
options=(!emptydirs !makeflags !lto)
source=(https://archive.mozilla.org/pub/thunderbird/releases/${pkgver}esr/source/thunderbird-${pkgver}esr.source.tar.xz{,.asc}
vendor-prefs.js
distribution.ini
mozconfig.cfg
metainfo.patch
org.mozilla.Thunderbird.desktop
thunderbird-system-icu-74.patch # https://bugzilla.mozilla.org/show_bug.cgi?id=1862601
)
validpgpkeys=(
14F26682D0916CDD81E37B6D61B7B526D98F0353 # Mozilla Software Releases <release@mozilla.com>
4360FE2109C49763186F8E21EBE41E90F6F12F6D # Mozilla Software Releases <release@mozilla.com>
)
# Google API keys (see http://www.chromium.org/developers/how-tos/api-keys)
# Note: These are for Arch Linux use ONLY. For your own distribution, please
# get your own set of keys. Feel free to contact foutrelis@archlinux.org for
# more information.
_google_api_key=AIzaSyDwr302FpOSkGRpLlUpPThNTDPbXcIn_FM
# Mozilla API keys (see https://location.services.mozilla.com/api)
# Note: These are for Arch Linux use ONLY. For your own distribution, please
# get your own set of keys. Feel free to contact heftig@archlinux.org for
# more information.
_mozilla_api_key=16674381-f021-49de-8622-3021c5942aff
prepare() {
cd $pkgname-$pkgver
echo "${noextract[@]}"
local src
for src in "${source[@]}"; do
src="${src%%::*}"
src="${src##*/}"
[[ $src = *.patch ]] || continue
echo "Applying patch $src..."
patch -Np1 < "../$src"
done
sed -e 's|73114a5c28472e77082ad259113ffafb418ed602c1741f26da3e10278b0bf93e|a88d6cc10ec1322b53a8f4c782b5133135ace0fdfcf03d1624b768788e17be0f|' \
-i third_party/rust/mp4parse/.cargo-checksum.json
sed -e 's|880c982df0843cbdff38b9f9c3829a2d863a224e4de2260c41c3ac69e9148ad4|239b3e4d20498f69ed5f94481ed932340bd58cb485b26c35b09517f249d20d11|' \
-i third_party/rust/bindgen/.cargo-checksum.json
# Make icon transparent
sed -i '/^<rect/d' comm/mail/branding/thunderbird/TB-symbolic.svg
printf "%s" "$_google_api_key" >google-api-key
printf "%s" "$_mozilla_api_key" >mozilla-api-key
cp ../mozconfig.cfg .mozconfig
sed "s|@PWD@|${PWD@Q}|g" -i .mozconfig
if [[ $CARCH == "armv7h" ]]; then
echo "ac_add_options --disable-elf-hack" >> .mozconfig
MAKEFLAGS="-j4"
# disable hard-coded LTO
sed -i '/cargo_rustc_flags += -Clto/d' config/makefiles/rust.mk
sed -i '/RUSTFLAGS += -Cembed-bitcode=yes/d' config/makefiles/rust.mk
# increase codegen-units due to RAM constraints
sed -i 's/codegen-units=1/codegen-units=16/' config/makefiles/rust.mk
fi
echo 'ac_add_options --enable-optimize="-g0 -O2"' >> .mozconfig
echo "mk_add_options MOZ_MAKE_FLAGS=\"${MAKEFLAGS}\"" >> .mozconfig
export MOZ_DEBUG_FLAGS=" "
export CFLAGS+=" -g0"
export CXXFLAGS+=" -g0"
#export LDFLAGS+=" -Wl,--no-keep-memory -Wl,--reduce-memory-overheads"
export LDFLAGS+=" -Wl,--no-keep-memory"
export RUSTFLAGS="-Cdebuginfo=0"
CFLAGS=${CFLAGS/-fstack-clash-protection}
CXXFLAGS=${CXXFLAGS/-fstack-clash-protection}
}
build() {
cd $pkgname-$pkgver
if [[ -n "${SOURCE_DATE_EPOCH}" ]]; then
export MOZ_BUILD_DATE=$(date --date "@${SOURCE_DATE_EPOCH}" "+%Y%m%d%H%M%S")
fi
export MACH_BUILD_PYTHON_NATIVE_PACKAGE_SOURCE=none
export MOZBUILD_STATE_PATH="${srcdir}/mozbuild"
# malloc_usable_size is used in various parts of the codebase
CFLAGS="${CFLAGS/_FORTIFY_SOURCE=3/_FORTIFY_SOURCE=2}"
CFLAGS="${CFLAGS/-fexceptions/}"
CXXFLAGS="${CXXFLAGS/_FORTIFY_SOURCE=3/_FORTIFY_SOURCE=2}"
CXXFLAGS="${CXXFLAGS/-fexceptions/}"
./mach configure
./mach build
./mach buildsymbols
}
package_thunderbird() {
optdepends=(
'hunspell-en_us: Spell checking, American English'
'libotr: OTR support for active one-to-one chats'
'libnotify: Notification integration'
)
cd $pkgname-$pkgver
DESTDIR="$pkgdir" ./mach install
install -Dm 644 ../vendor-prefs.js -t "$pkgdir/usr/lib/$pkgname/defaults/pref"
install -Dm 644 ../distribution.ini -t "$pkgdir/usr/lib/$pkgname/distribution"
install -Dm 644 ../org.mozilla.Thunderbird.desktop -t "$pkgdir/usr/share/applications"
install -Dm 644 comm/mail/branding/thunderbird/net.thunderbird.Thunderbird.appdata.xml \
"$pkgdir/usr/share/metainfo/net.thunderbird.Thunderbird.appdata.xml"
for i in 16 22 24 32 48 64 128 256; do
install -Dm644 comm/mail/branding/thunderbird/default${i}.png \
"$pkgdir/usr/share/icons/hicolor/${i}x${i}/apps/org.mozilla.Thunderbird.png"
done
install -Dm644 comm/mail/branding/thunderbird/TB-symbolic.svg \
"$pkgdir/usr/share/icons/hicolor/symbolic/apps/thunderbird-symbolic.svg"
# Use system-provided dictionaries
ln -Ts /usr/share/hunspell "$pkgdir/usr/lib/$pkgname/dictionaries"
ln -Ts /usr/share/hyphen "$pkgdir/usr/lib/$pkgname/hyphenation"
# Install a wrapper to avoid confusion about binary path
install -Dm755 /dev/stdin "$pkgdir/usr/bin/$pkgname" <<END
#!/bin/sh
exec /usr/lib/$pkgname/thunderbird "\$@"
END
# Replace duplicate binary with wrapper
# https://bugzilla.mozilla.org/show_bug.cgi?id=658850
ln -srf "$pkgdir/usr/bin/$pkgname" \
"$pkgdir/usr/lib/$pkgname/thunderbird-bin"
}
_package_i18n() {
pkgdesc="$2 language pack for Thunderbird"
depends=("thunderbird>=$pkgver")
install -Dm644 thunderbird-i18n-$pkgver-$1.xpi \
"$pkgdir/usr/lib/thunderbird/extensions/langpack-$1@thunderbird.mozilla.org.xpi"
}
_languages=(
'af "Afrikaans"'
'ar "Arabic"'
'ast "Asturian"'
'be "Belarusian"'
'bg "Bulgarian"'
'br "Breton"'
'ca "Catalan"'
'cak "Kaqchikel"'
'cs "Czech"'
'cy "Welsh"'
'da "Danish"'
'de "German"'
'dsb "Lower Sorbian"'
'el "Greek"'
'en-GB "English (British)"'
'en-US "English (US)"'
'es-AR "Spanish (Argentina)"'
'es-ES "Spanish (Spain)"'
'et "Estonian"'
'eu "Basque"'
'fi "Finnish"'
'fr "French"'
'fy-NL "Frisian"'
'ga-IE "Irish"'
'gd "Gaelic (Scotland)"'
'gl "Galician"'
'he "Hebrew"'
'hr "Croatian"'
'hsb "Upper Sorbian"'
'hu "Hungarian"'
'hy-AM "Armenian"'
'id "Indonesian"'
'is "Icelandic"'
'it "Italian"'
'ja "Japanese"'
'ka "Georgian"'
'kab "Kabyle"'
'kk "Kazakh"'
'ko "Korean"'
'lt "Lithuanian"'
'ms "Malay"'
'nb-NO "Norwegian (Bokmål)"'
'nl "Dutch"'
'nn-NO "Norwegian (Nynorsk)"'
'pa-IN "Punjabi (India)"'
'pl "Polish"'
'pt-BR "Portuguese (Brazilian)"'
'pt-PT "Portuguese (Portugal)"'
'rm "Romansh"'
'ro "Romanian"'
'ru "Russian"'
'sk "Slovak"'
'sl "Slovenian"'
'sq "Albanian"'
'sr "Serbian"'
'sv-SE "Swedish"'
'th "Thai"'
'tr "Turkish"'
'uk "Ukrainian"'
'uz "Uzbek"'
'vi "Vietnamese"'
'zh-CN "Chinese (Simplified)"'
'zh-TW "Chinese (Traditional)"'
)
_url=https://archive.mozilla.org/pub/thunderbird/releases/${pkgver}esr/linux-x86_64/xpi
for _lang in "${_languages[@]}"; do
_locale=${_lang%% *}
_pkgname=thunderbird-i18n-${_locale,,}
pkgname+=($_pkgname)
source+=("thunderbird-i18n-$pkgver-$_locale.xpi::$_url/$_locale.xpi")
eval "package_$_pkgname() {
_package_i18n $_lang
}"
done
# Don't extract languages
noextract=()
for _src in "${source[@]%%::*}"; do
case "$_src" in
*.xpi) noextract+=("$_src") ;;
esac
done
sha512sums=('9fef04a0c498eb16688c141cb7d45e803ecc75ea6fc6117ff8ad1e6b049716f49b435f3e5a1baa703fa937e25483137e22256e58572eeacf317de264b961ba6a'
'SKIP'
'6918c0de63deeddc6f53b9ba331390556c12e0d649cf54587dfaabb98b32d6a597b63cf02809c7c58b15501720455a724d527375a8fb9d757ccca57460320734'
'5cd3ac4c94ef6dcce72fba02bc18b771a2f67906ff795e0e3d71ce7db6d8a41165bd5443908470915bdbdb98dddd9cf3f837c4ba3a36413f55ec570e6efdbb9f'
'a34dd97954f415a5ffe956ca1f10718bd164950566ceba328805c2ccbb54ed9081df07f2e063479bf932c4a443bb5b7443cca2f82eea3914465ed6e4863e0c0e'
'7e43b1f25827ddae615ad43fc1e11c6ba439d6c2049477dfe60e00188a70c0a76160c59a97cc01d1fd99c476f261c7cecb57628b5be48874be7cf991c22db290'
'fffeb73e2055408c5598439b0214b3cb3bb4e53dac3090b880a55f64afcbc56ba5d32d1187829a08ef06d592513d158ced1fde2f20e2f01e967b5fbd3b2fafd4'
'9897cb0ababc8e1a0001c4e1f70e0b39f5cdb9c08c69e3afd42088dfd001aa1fc6996cd83df0db1fb57ee0a80686c35c8df783108408dbe9191602cddd1e3c65'
'94fc0d5210f0cb39fb4e7c8b97b467c6a8cb6d6fbebf813cec3c59c9b485bc343f04f47c7ce8c85debae1d75c9fed4c6bf0b79ea901014b401ecfa947627e602'
'51ddb27f1411b867ab83c0dc92449a223a4fc5597fa1041f7a477859cb149f128ae0d7a5d25b178bb5b15a6384145eb9a20a5b60945778d11ca6db3280508c2d'
'6c7b68f2ed1e346c294890868710b8ed60226df6f147aa78a1a5ce28b5bccd20456d85bca59d02917bf954ea4eee10d1a9b1265e1cd773c99959661f0b9ef39f'
'6e1060ce382273be3b0a9560cc8fa70b76d1da0db8bb922122911d54f58ec49f1e1607067a2e441e1a9cdebdf5bb02916dd6fba11981a4d4e73ce14c2bbd8ba3'
'7e1a9a81faaed5fd49e2fe6e5edb1776a2d88d07c304ca33701a1c08c869889b46024496ab83a9da1b23aa33953841de871753d739c297d43df59194af880838'
'd9e6d831a67c35320104c8ceaf2404bec39dd9aca0ac310d01867e05a2561fb84221f7776706cdd1c75a862f6f30088278d677ea82467972650a1275436e6d0a'
'48d511bfd3b2b9df0295dc821101cdd1f92f4e2190b73db8c4dfa37ac4d450f635d057db074fda17dd20356662b67618d711e615a721af303ba9d0418a318493'
'1391a3d002a504aba580b0f16d4b415156bfa26ba6af882e35f8db297f19aff8819fa613b5d15a27a41d16c9d5ee98aa821b99abbab45784741f673cce1a43f4'
'4fa1f1a42f38569216f0d342505cccaf42e3e30d616b660ad01101a9087e75874434479663dadfb4e5823af1bece4a1576e5a994db01bff81c02bc21eb6eddcc'
'2a63630545ce9b202e2f2cf22e99d9ade7c22d4d0de7c18d2c277b1a2b7e6a476c57070876968440c044e29c20d0e41ad1c948594d74691696de6aee266496b7'
'9d4f21c2d0d80432b0557bc51a5c53cde8173d656dc010a8af51f67d89225937ef0de718c25b9ecf7cf7fb680a9497dcd6373ab4deacc73c0e86057c4f72a625'
'aff87c60c328fb91527dac870daf83c2a2382c99fa0b7666e2e38a75ef0b2bcf6c51337db66c5f0bc3d511c8dcd932cae6a25e8cbd34429ea797e3aaca7a6c74'
'f19b2f6c1e7c1f8a9e47a971c1846f85faf054650c8dfbff920c4c596bb9650fe0967b7298daf4bdf1be38f2aba1dc60ec004a16b56f92de22d7435c64bdaff4'
'ac6c5869e33b5c1664788b49e737798a14477619a376487d4ec97d78b330fc3ee41b15f2ffd85f4b8b99d684b12d6f5e7faac6bdc25a99a8cf0bca9a80034580'
'86d7248ae9993667e02a17db562450c46087347de97c11baf05319627b464f3a2703ad42cb6fb1c440d100ffb5edf92a5f85f71cbc5219ea3b5eea74acef4f2a'
'4b4fa9f23fd714527b0177370bd3fe3f56a8b8e4fd01e725492bbab92323c547dc403a043beb9fac2b0ccd3ee6b7e3cdd6a86cbfdcbc8a9b5112c3411b6b7a52'
'23a150e7a5d2332ef16fba319845ba93e7f2d3bdd21cfeb0e1190583ac14e059c6247fd855a849a50f5de745f2ef2a0adf13d857a0c5ec761d47bbd0a8009dfb'
'734e9c959fa35c888683f31231a67307bf2d7a0c32391386ad6eed14fbe89b3fa128f471d309de5afdafb19abea17637ac81746f96e30942111197459258c183'
'b42308e119a99c01ba655c1f57c6303ddc9ae484efeb717e07577fbdaeb0071f4c57997df878bccc0879d912e3c494ccc1ee55acf2174601b1fcd667fd5ae8db'
'24fd87a84be40efad77f3b008f28824d3bf3dd4bf54693050acc645be6efe3d7bf3b9bc83ff293335967e62435127119ba5c92368eb4c8d6283b5a846c40bdb1'
'f49b869c8809506ebec38f59845fa8812116e8dc4d2d97e65230b1d6c67b1214ff7e9eadf68ddfbd3cb8fff8588d6632d1870cd6e2fd7a86ef84e07b908a56c7'
'0a67096cf314c57747bcb5d84fe868b52f8c4a4ee96a6d202decca2adf878c24c296abce34a37ee8b11a57c2fac501f2c3bcd79e13cad9a7b0895a88dba4ee2f'
'84956ffb9f8e120a697c8f99a19e80b26e1fe3f4e406acdd162c9a166d8b61e5361563271b83bd85bb83e4e902d77b911543c9384330e209763f4e9fd45ca176'
'c8ad24864c0f68e26f19e0bc4e4912b5acc76d6ee7bdc662d6e025d9d0fd9e12dce0984901c5c1a224a4ea28b3567e8881d0e5e1e529141f71f0aed35c2e2dac'
'a8dd8c77f290fc884e4af607fe339603a8d540edd5a591949d5208c8346d4c70b47f89fb57e0961af0489525fd141ade67e8970930bda9b48e9467ce55f112e7'
'41a14cb55016fc157ac8cde8baaa0f7161657591be64e29a2b4e2e33dacc095de599f00800e6d3bebddd1d2ee844f5609b68cd1e90431dcacbc86c607624e577'
'2ac67ec9ab2096f2509a9fbdd05a14eb68aeb1c9c5aff2ce65cd6bffa12c2d54c4d4323f12ef3b3a515ea1acf38cb6417368cd9591f2d9ce7bf6705a715a79f6'
'40662e692263d3f2730dbdbe15ea03de8b0ebb5ac410adf9bff1310bac78a971f5ded08eb3ca68785983b1d9362528cb88869a42754050fae380e5159f959deb'
'0b726134b4dcce386aa37e6738b1a36ed5bad93128b8894222a284a5237cd2352bd217937080f39183d5b13d68a0c952b7e53cf53497b5bce306f60cfbfa72f4'
'd9536d8e34b08a44d7863b98c989bdece5eb4829b80f0b29f66cf60baeed0f9fa7af342841d8f71e032a128d5d56b904a7ea9457e0e8b24fdd70906a69824241'
'64d9e6b637b546aa65688ca32493631e3ea9e0b8b18be81343e8633a4805382f329b694f7b8ff6880440a25a8eebd117466a2c03c416a2910b4f49c8c9ae7ec8'
'd412dcafc272ea401f531977cf09544ee2f9dd4e878e8797f0878f1b646b53894ff80d690b867219160c01663c9ca8faf7c88ce851148dd700b8e7933605c501'
'f67cafcf3f84e8d3fc52963f13ea58511d068bbbc6a0be04f738b883d669742c5f48232e764be9ee9399686bd7bbe357e36d47da111e962d2a2f3d1ecfe9df1e'
'7c03bdb593ba110f23bda0c9561c61b81788a5c821cd5bd2fa97bf1f85f78688ad029dbeff4d9bafd36b9e433b6f8a1308bce01512a1f8b3cffb6c756eaa1d21'
'1a03036cb2ec2db8c61c407940064e6998755480fa9c2bf61d39c9f4fae735b0dafd2c9b935af10b478737170da18087e1b0a7820b0bc4289b044fb5c96e4b2b'
'38a8c26e917f2bf4d0035653d2871da5d7e5d5c4f0f0f14836d5553683a088c267e954398134d8fa2a668167bb2bd36539fa34e132b46c417071caa9160a7188'
'ba53e8f5c5ad17486473200eaab2ceea7d663d7b178b6fa0a1a9e8e7ade4faa2ff1948b4d05741dd804a5d93b0797f13ada29dd0a6d704a7226400c295448f53'
'57d069ce098dcdfc0044d375766eae416bd0ccc3d997d183cb5efdbcce412f4f6cd64454c84cd9d7b769b77a448094d749f5395735d73f02574ad27349fdf9b8'
'a5672fd652e1af511556ea9612a16bd8ddbc33e23facfc40871eec90669dd0c9754f38d1eba15c32f9ae9e23354dac19f7f166db95a715248517a3d0565be2a8'
'c272309e0fc1eaecebd20627df109e678d3de7223bb9d845d6086fc4e756a26c4569e52250b9ea026d1e609fb0d014675f6a67c27766d2c0aee33e8f8acadc44'
'440a179b153a316b880ccce8ac35686bd06510d793f0aa863062a1b72c269551cffa27c430c72eebd9aed04a3b356fc15fcaf81d65edd2fa62ede97e1bbac75f'
'5e5c72d839d05b15415941bf23ddcb78e0c9286b191e85ec479a793c897afbba7f124225c532c02aa677858984d2744c9dbe47fc98ebfa29b206f491ed59df9f'
'd22459abdd5570f0dc65ae97c2437eb9e14e76a29387819d7f54052f201ba94ea1c2ffcb480126f07e344daafa703eb85849a68ee6af2b5cced92c33637ecc78'
'5586e31179704ea048d6eac06fd5383d27fc6795d07579c8e13b96d9e4cd06c61f80c58ef028772f05822f2b18548499e847656090d55ff09b9ed06f60fdb9de'
'59636cdb78d3e56f026cd1df46afdd6ad800a2f2ef05cde186aca784856a06b0315cda9f3cb01f85437fcceffd75d1a8483a229bbbc828391fe122861d4a55ab'
'7910af4ba77f85ca85af23fb03ceb34ad283dbd014d80161194307dc90e2f1446ed48c83aa11ee6e76b798d73172eb89443750f3c17a54a85bbf2c5cad77efc8'
'b7ad7f6e6922b1a07e9e7bffd7bae1caa13e9399a7eb66ad8baea7ec1b971059877abe93e908178c371c52efef341534d2aa08112aaab03cf1e5edb17c1e74ab'
'32eb8d741b94bbb31d493445fb6235d3c884c3a15af3f833882271182a89f68599b6784b60a69b5197365c40d424bac21d983f57a07ebc7d20f6f92a174db963'
'd83f819b11035b6d8519b497c2224dffdc5b857674202608129023201b15c1fe4c0f7e8630c08899f2cd6d7d70a04c1a69b4b69ec23b70abdfd20249b545ed43'
'0220f7cd61e0b0ab036f62d28d3cd904ff29679836614083c9fb454116630f9d0ef61bbf2f12cfce91a1095f5537a944cf0d987d66acb8f82802f622f950d2ea'
'327d56d0b579d26b0c22cde24761ec98a22cb39a0b189e42b4487dcd99e70c458db41f06ec5d7fbc094cbc4fc5baccc5da184b1abfe65e95b27a36bb5a64d76c'
'1e8593929128d8be4cd417b6e91f5242146462f814d5146d36788d71230eb8c0e5b926f13fc4b8686f7b3a40b74ce394a071398ca2d55f0883eeb5dc7d7b9037'
'0d2c667e165fc363328871f32e3d82b5059e478620a99487aa2b2de08028559f2ea67bfd9ee6f436e858a2d4fb28043cb0e4eca8004870a89119e2bc76f534be'
'2c014749df0a224257ed8fb467d2b4c92391bb5db5e7512de852b0bce8adde532e85787a2cb0e2796b357f24d7a94a6664db33c1911ec0b83b9fc5d26d6eeabb'
'c763f23147b123b973a61a00fd1404318ddc8c23d754b52fe8f071f23e048c7c7ecdf7e05abab03563549cd6c19805ec8eca5698921471c9786095c945bc7ff0'
'0bee1d979458d06f98fa342334c919068b7c34f565200f9b29106b922ca8740c915a46bdb97e1106101c70ffe0450e325d394b313b732fb296d3ede97901e782'
'402056f29f90bc9a17b9d86c149e01753ea0dd8be1047cb76f8fbd2cbb7bed6bc47ecb1d10aaa60fe864ad168bbc8f62083e7fd251f8aeeed52d88841f2c25a8'
'631cdc5859dd36575bac096e6656f5bc6d381f98d593ec058b029a1372ff0efaa4dfbfd71fcde5c2c78168020616335b944ddd07d37ddf4474460417c646f97e'
'5f76e3fecff40c4dc6d5a8cedbefd43fd4f44400edf4286ef1b71daae9ff719c53cd4a02b76fcdcd571c315bbcdd7b5de6f5df5e176b747340298fc932a4876c'
'd2efce20c5a25163871d8f3ea053dfb6ca03287e8dbca2f272a2e91f806751c5df749eec5ad70a78fb60dd3f8c8f1850de3dad61a7fe3d734c5d74255270c137'
'4da9cf2ec26efeca4b574fc175431d683fca20b262ecb4784f25c9d441deaae14024847b89688a6e2cba19bef715750c0e588aeeb6ef76d558f84a648be03d73'
'3f5f828588d56b76f14ed128baa6e681f8eb07d71898faf65a1acbe6bf5d83d04d2c4ad0b5a785c561b30d6dee338b2e72235a1411f87b1527928e0d26f7e35e'
'd1537ba6e1e27a63d60f290795bf6d689fc56b09e34fbeae8a7327be5fbe294aa569379d40c60130c26471b5e141f4f79ca53fad36151cc286ddd990a0800ec4')
# vim:set sw=2 et: