PKGBUILDs/extra/thunderbird/PKGBUILD
2024-05-19 19:33:45 +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=115.11.0
pkgrel=4
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 lld
gawk perl findutils libotr
)
options=(!emptydirs !makeflags !lto)
source=(https://archive.mozilla.org/pub/thunderbird/releases/$pkgver/source/thunderbird-$pkgver.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() {
# packed_simd no longer builds with 1.78.0
#rustup toolchain update --profile minimal 1.77.2
#rustup default 1.77.2
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
# 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}"
CXXFLAGS="${CXXFLAGS/_FORTIFY_SOURCE=3/_FORTIFY_SOURCE=2}"
./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/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=('002f783cff7f2b50d9a29f20061fe55a1f64487b38a18dcb49217c3d7b99c2852af842decbd0347939aaf4c4c73ae66a8b04527ccd1b6db7f87aab402cb84ca1'
'SKIP'
'6918c0de63deeddc6f53b9ba331390556c12e0d649cf54587dfaabb98b32d6a597b63cf02809c7c58b15501720455a724d527375a8fb9d757ccca57460320734'
'5cd3ac4c94ef6dcce72fba02bc18b771a2f67906ff795e0e3d71ce7db6d8a41165bd5443908470915bdbdb98dddd9cf3f837c4ba3a36413f55ec570e6efdbb9f'
'a34dd97954f415a5ffe956ca1f10718bd164950566ceba328805c2ccbb54ed9081df07f2e063479bf932c4a443bb5b7443cca2f82eea3914465ed6e4863e0c0e'
'7e43b1f25827ddae615ad43fc1e11c6ba439d6c2049477dfe60e00188a70c0a76160c59a97cc01d1fd99c476f261c7cecb57628b5be48874be7cf991c22db290'
'fffeb73e2055408c5598439b0214b3cb3bb4e53dac3090b880a55f64afcbc56ba5d32d1187829a08ef06d592513d158ced1fde2f20e2f01e967b5fbd3b2fafd4'
'9897cb0ababc8e1a0001c4e1f70e0b39f5cdb9c08c69e3afd42088dfd001aa1fc6996cd83df0db1fb57ee0a80686c35c8df783108408dbe9191602cddd1e3c65'
'5e7dab8b00e1d93ef599db039bb1fbfee7d44ff92cb1424068734bc175c36ec0be43eaebe7df86cf9e9fa9a76d48c3c7b192ccf1f9e87380519c53d276f2e474'
'48430a143464a435c8b4e402fe93c9d3bcecd92c83af2c702e317cb7ff302d45a42ed97b98c61e130f332d15d18852a7f6f41398a8ef5139cd4fd81a73e2132c'
'6376cdc3483b0fb29ebd59af1c777df92f516c27123d18176bf998bb3f3643da50ca6b648c612ce4b4746acd365e9a8fd389390ffef3bc92b8c67f49cc3fb867'
'545b9fe88f2850ec459dabc55917c27f63a82b2abd95e20f8a7b7a480ca61b502d181f7ea8e7345f53929544695ce23c7da087f97c786972a3126b877566ab71'
'87980c88ef0dfe50aefee45fcd717793e946f637a5763b9384de08a0192135096dc63e442ad2732dd0e48e78caf5e0ea8c7698dcdaae368c649de0f470642234'
'757d7bc595858d1aec4e933b25521b5c83aa3da47b54e5ffb4d71b7a55c8df245a3a938719c8695eb787e956ea70f1138b1b74a619419758bd480d458f744555'
'b35ba673533b3ec55f4b10854a05674cddbfcf4575e23293ac301e71ed78f8b4a4a213ddf163c916b55bafac94bbe8b244ae411fa4b517ece3a25102b0b3d87b'
'e684b318ffc07d4367419dc3645643619da3db6cb134d0dc422f6cee1c5d08a96e21e9d68b4f5da8d19575a4915095ae9eca02b457024669e6dc9583bde9574d'
'424cffdcd139e93cfe582324d3a0ca7c495a8bb2778be20481d6aa05b62c011b57aea5c9e35c6bd140bc4fba9c22b6e5e32d02f32bb272344847122d9d638eee'
'fd8167527860be1cb82427dfb8d9f28ff168ecded6a1471889088f82b20fee6a48ee24a67b45950f67efa84fa3190bee7b50b54da2e28bed85b340b738e21362'
'6624efef40d01ee7385e691eda6f6f16cfa60737977a11db85ca0163fb22c61470c215257f4c6f994d1189c45db7a3e1f80c67bc383a644e6df4eafd876a972f'
'8d2cfb3276d1e5067e0c154c08fbd6d97c4e17b4fb02f31682f46056bb80f2a22473943e9ac93f4f7bdaf9c192147615c57dbc7b9a87269511337f406cd44ba1'
'db9ed044fd7aaf913fdd02ad17eed92e762cf9ad7d29df588f5fbdd8a00722afba26b640acb6bdabcb23009f330dc5b3d0e9064578c0828a050536f340ff023b'
'a544d87225d82d3ddb5ba1c923a41914cebe84b9df7a6f169b5c1083e367ccfca82c191f7a5574fd00be4b653b922c1b5b67e151bfe48a68bb0aaf08c6959096'
'83a30497121e8920d3af1b7967a87aa0b7572e3728b1f357e1400c9ad2e29d83ec0d85089bb51ffb72a1783e1c5867ddeb0f173e609ed7fddf1b938d1bbacf3d'
'aa4b0e4e315ffea9a23a0b774c4965fdd747c7d6cc8921209f81cc5e771d32edaef647fd9e5c842b5034dfcbaacf8e3c0bf04ed7985c6de036ba6159c79740d5'
'd66790bff02dea7e0cb66a7f90db562bb4d8c9879582f595d50a49b364d2ec518446915564c5ee91b73bdd1d8af52f4f11c1cc7a5f873dcb07774eb610eb5f5d'
'd7d049eac9edde56ba965ffdce90fcc1a9d077637782d1192632eb183ef62ccd4448e1006051d481f4759ec55d02a36b5d4be7e4e40a474227bca3c419f4d777'
'8ff3650d9431e4c8ee7a666a26cf89eee825644cf20f12616a946dedfdc6cd07e97ffb8fc26985bddf775b0ca4c4abe9778683a09baef7ec7121072806f5b0d4'
'd2cccb1ce5a734e77b70c828119886390ee9d509a1ecd932b29d098344e433c8b548f57948734067556df64fb6785db85b1af45c569958957406a71465a726ba'
'5696e3d3e491776bda2a3f46badc7a2971e73d84ae42b77c35a7554dd834704e520fb92ce8078705c6d765bd2396d0951ce0ca155e34e3475eb6325d638eea14'
'7b25046fd80d329a1688a94e3bf62f458c81771941da09935134533d2ebef12930ec31bca4a5c82a8d68c8669fac8c7e4156b7325346b6c6876ceba39929fbee'
'2c48247d761fdc3019f79da1348d577ffe3bdcc82193c49643a330a81b2c85be5b95a6ff62f7bd07eae355573421c7086ff8ae11acaabde67d5bd0a51f2b5941'
'8ac0f593f1a38206188a4b854486e83a478e705caac4442dbaf307fb4b828ebe0a723ef38ba9b3bec97a76b4f2e6ee833747c8f7c91236a019cee4eac8bc5909'
'901f83ea0177ef72ce54c782d53ec1ceecaad71a61d3336a28d180d91b9e391200b0aec5baf90e2d814c35cf18d43af9a1b893f0425b21d1f3ab802c61e55a6e'
'b245e41f0574cd072d0881d3015380ef7390031b8cfa9506e98b15309fd8bc2f35a7e54ccd9ff0b21e1ab4fcb8649d470a163cd4f898f51e6a1b4880f9bdbd0e'
'8cba7e3e494276bd09147a56b8cea6f67ff4bf54d568d242f46fcc6e65d7bd9d86664f3bd80f8ea84598deabc1fd6324c2215b32b99c9ee932842b2258c936e3'
'cdaf5ee4825b27e9231e546713b863e4dc5d50a5e1e6774d62d716bdcd9a489ee6a1c561873316562fcc70cca8e74a2263f675aecc451951b8fe1cbfbc497f98'
'0ee916bbdf3fdf6aac3c39156086a7fb3d0ea8d624ef889dc068cc99130d5bcf5d59355cc53662c05c397b7af7fa313d046d1c60a1ac523cda9e01afe772d082'
'c356d69f608205c164f48aaed441bc41dac7a835a410552bb970012ad5f47557d66fdf5790467b95a7e07aba62adbbee1802e03078bd2d12810b4564752da151'
'c28a2ca175ec3a4073b5b0a7b796e265f79b7e8f5d3235ed13005aa2f639225281da321b3e9c6e99f144fb5f775744b46406bf266984657e3b95e60788086a51'
'30f56aadbb2f3573e9ec23a52d17e2e409578f5b90a8b43cab038a19e2727c9d38798da66f650b214e65d520364907ae4072fd1721a8129dba3d1d98f2f2d209'
'e1bf0e5fd43326bb6e8c54cd44fd779dc96cf10f8d43211ca525223351dbd69e215fb355a1b52dbcbc0efb977383d0ff49a0612cec468929caaf2b23ea063422'
'b9c810ec5074815efb9e1988da3ea56bbd1b2d5155f5a1742580f06062447b10d39865472f9516983ca966005796ecad6e4c1a027d13f5d4e2d8278470d3ea8f'
'0874ef26cb95bf875a267ab6ad40d4893719f6796d0d939d62f50b0c1a2be7bc32d36382df6a532ff68950f38caf7927fa6cca5b456c4ba4e07a4b11787ed1cb'
'97b1069e6f0e90423e74da3dbeb955baa8c884c7aeb860575fb494056318ed2f599c95a5832d1cab262fb3f1672c667db902810571b1a007ec48b273853d1caf'
'7d5a292ef57fff8c2328414cfd7cb94ea3df90cb69cc732250d852a6ffb97ddd17c6e3ffcbe2651b92807067c4223fde6e3dd8fb7ba31f6a1dd15be64ef72be0'
'824bf5d85b1bdc4d9b4b74cac43065c8c57484184cfddd39ef057780485aa515931b91a8af9a5839a866c908bea669b4d32886bca9bb3e2a5f4de3740a2180f1'
'2ad86ab8d8434b71b36a440d86a157ad81d8d018141d1187001dcb96a5f4d809d1655b247b584858ed8a3f914cdf26927c34157313cbef1c9e34c354bbe94778'
'c14f2cd7d6a36117d440ce7033f2340bbe8a606bdff3911de970f6391ef454ff8a8375a21c34186c2babfee39343ce1f9524f5ae2c91debb3b26d023a4dc6f1e'
'9441f44a8c29dab54c44db6ee52aa453a1bf484556fbac6771f5c6d80c0b5a095d5e333c8c0d87ba89bc8055010547c7857057d727ae56542f476ffac8220c25'
'f08290b3f9f24b12c64b02acb56cc898caac5d70a100edefd26229ddd9bd755764ee7f040ed48829b51f8c0b7c0317b0c3403c93035eab0a292d2ddd4d25c394'
'b6652df5016a2e771e2a9ec730d753147cc4ad0f8727e37b8902492d5a977a654c8bccec0bc095beacbc62b46f15aa988b1b9d1c6b72cfa3307e43584fecf2c7'
'8f724376fdabce1a87c0f9e65ec630cce5f91f74ea4a2ffce130cbbaf41d05b620bf0d11229a8e60d83d1dccfabc356843bc0e43ffcfb5c36d0a2bf8987c65a7'
'fded24a530baf2865f7035d3a9e2fa433a1928a8ecf6449ef50f17e87815c16091bd43368ab1d9de5eae719a802ce10a7d5f92a3aeb4d5a68c2a261c17e01882'
'4359711e3f4d1b35b80424422b50b2f34bfe003f2c9bb8114814e28eafa67bbfa3722877a2dd9a2668e1298c7c82aa055eee40363635e3c3fc28915947ab9e17'
'7ab445b0c6c03aa2111c777255430b4e027ac21462ccd928034f3eaf15f46552d802cc270adf99b5c319d7c60b0ae49f1738d28fa89e64dce0b030ac0c6204fc'
'65543e864d6909724eadadf0707f48774b825623535c5e95a3fafcf7b19646ef5f15c801b91bdd6a293954fbc0c16614bf1fb1f545248973b39478a4f887bccc'
'93a184b1114ed716534b814c3fcf4a25b772e081779e753d2b5b5b351d279c1bdfb8b3715d8285d861c1fb46d477c8d87e78c38ccd27cecdf28eeb53aee1e31b'
'02a1c4cc48ca85624980cc76449d75935e8e3300f6c75111d351336fb14d5ed2f7df8d76bb2f8dae2c3a9e2b25d57373b2db90214f45560f7c504fed09a29504'
'c44d82448364921b3ede1c5a66689936070893e662b93ba29d072efb1bcba291402e4defa1dfe2f80bd303124a08830fdc128468aa97018d7a16ac9dcac3d59f'
'2f343fa9e626756caf9d54788d9ca1c855458032fd24e9af136854de398e6b27ab72df6630b0f85a1c48d38d9d7afe3bf7fb392454a50b4460f18d5efd03f555'
'a372a2137579b6916debd25bd6200541c9245e7305b2f9bdaad397393644c61e98706242d02f3c0dc5bf54de785c9299e157d9769a4e99221b2f673b40168141'
'76200e8d9b87e59b162c1195a353fd7e80cebe9d623393816f25303fa8e7fcca49ec4477ee2802e162891a70aa44c3455b47e4a73c9bba7aa72a7638dfa49931'
'8762de7b2545f0070484f885960c11cc8c47032f4d9c1acc4e71479d8233be53fd5341a694b0867375a5d25cc57521f3fb663c243485765f06c863d2b19fdc0d'
'841213c48b60f0c113af821b7d14911eba3455cb984f04f291889a9a83c231ff96ff8d0e04476e867eaafebe5fa92f5b5d8a8aa38143ae4d42d4b915e1b77400'
'84a1a1bff35773b365f7bdef480f0dcbef0e8ddd9e72611b899beb3c361e9a1d2a36717b8994224972805f2d602dc560d82f21e12fef7e61393d3757419ed83a'
'efc3fe623e76f2ac9a178d96818115b55090aca2091afbe8e15719bb895d9f1510dd8bb38b388586a42a28c75de982522462910cd9459f8ca0dffe92db050661'
'6336a9cc4e53bf4fb319a192fc7bf179fc19c413251036ee82dd9b14e1a847df38a0c399aff20aced259152f416f1095f68e65aa06b744e55b477acf6312622f'
'aa4e41f1ac5707d6909b5688f37e5919e247f9d23075148cbdcdf4dcae9f1189717200d9aae7c520cf1398aff2164267723de2f83e52beb32d03bc6286275923'
'06156a5de0e2294b5038151d743788a09427ab69825f009150949030561a445d571858f2555379dd93886c955a5cc1a9b8240285adf06a7801befa731e2b454b'
'075f922b324cb22ef6adefec2173093495139eff0fde93e4cf4861c7d054aa53c082938268cc4488ff5059ae13a8b9ee31adc1094c8e2ee606f703294e4402b0'
'3f9b7c909c232b3ed6a989546bc90cf62443e348b628b39b97d3d0a5425fb1950b8bfc805495a1cb69adec1358b21b0838f9343e452129f4ab3bb8d101724659')
# vim:set sw=2 et: