Compare commits

...

No commits in common. 'c9' and 'i10cs' have entirely different histories.
c9 ... i10cs

@ -1 +1 @@
b702a37d3a33038102659777ba1fe99835bb19fe SOURCES/findutils-4.8.0.tar.xz
aa0646445da9aba2ab7823d7298f3a9a40a6b6ad SOURCES/findutils-4.10.0.tar.xz

2
.gitignore vendored

@ -1 +1 @@
SOURCES/findutils-4.8.0.tar.xz
SOURCES/findutils-4.10.0.tar.xz

@ -0,0 +1,11 @@
-----BEGIN PGP SIGNATURE-----
iQEzBAABCAAdFiEEpRidtpwRZNMwApNmRlAu95aRcZUFAmZbTRsACgkQRlAu95aR
cZUm4Af/YJ8V4GDk9vgO25IqBEYbfPUzQJ4W1pKYjVUkMMGNlWrnz4+6fXdGY/AS
JP4dsAwqWpj1Bx2Mn+XL4LANAYcxhOcqx8zd9SSaHnzV4XznD28lhNnQeepkJFFx
qHBAlwrKDHaq7ogZEtBrBxoVPVrke85UnJjpAg8opA23Ctm4Th6Jbpdw5FrYs3N0
70ZVkyIttTrnvX5DTeewJV0AYB72RerGTMXhQTl6H7i6gMp9//4L4vaQ61E58ggv
+lA0ubqLbS6l89hITV0lJ2063tR8BzQZTaNWSfqlNad+tURMrHYEOKaCbjJE8GPd
u6C03WriEO70xH3vAVrkm8wigDJGrQ==
=o2ag
-----END PGP SIGNATURE-----

@ -1,22 +1,22 @@
From 17e470dc1acca4824b70328d733d5f99c12d0d65 Mon Sep 17 00:00:00 2001
From cd653102f401f91748c3f038be4d38ddacc2d7db Mon Sep 17 00:00:00 2001
From: Kamil Dudka <kdudka@redhat.com>
Date: Wed, 11 May 2011 16:46:45 +0200
Date: Wed, 3 Jul 2024 10:22:49 +0200
Subject: [PATCH] findutils-4.4.2-xautofs.patch
---
doc/find.texi | 4 ++++
find/defs.h | 3 +++
find/find.1 | 3 +++
find/ftsfind.c | 6 ++++++
find/parser.c | 9 +++++++++
find/util.c | 3 ++-
6 files changed, 27 insertions(+), 1 deletions(-)
doc/find.texi | 4 ++++
find/defs.h | 3 +++
find/find.1 | 3 +++
find/ftsfind.c | 11 +++++++++--
find/parser.c | 9 +++++++++
find/util.c | 3 ++-
6 files changed, 30 insertions(+), 3 deletions(-)
diff --git a/doc/find.texi b/doc/find.texi
index c584298..9731b71 100644
index f58c060..21b4bf5 100644
--- a/doc/find.texi
+++ b/doc/find.texi
@@ -1474,6 +1474,10 @@ them.
@@ -1605,6 +1605,10 @@ them.
There are two ways to avoid searching certain filesystems. One way is
to tell @code{find} to only search one filesystem:
@ -28,10 +28,10 @@ index c584298..9731b71 100644
@deffnx Option -mount
Don't descend directories on other filesystems. These options are
diff --git a/find/defs.h b/find/defs.h
index 11d1d00..f95ce72 100644
index 453dc27..9424168 100644
--- a/find/defs.h
+++ b/find/defs.h
@@ -574,6 +574,9 @@ struct options
@@ -557,6 +557,9 @@ struct options
/* If true, don't cross filesystem boundaries. */
bool stay_on_filesystem;
@ -42,10 +42,10 @@ index 11d1d00..f95ce72 100644
* no longer exists by the time we get around to processing it.
*/
diff --git a/find/find.1 b/find/find.1
index e851f82..a4799ff 100644
index 319aa63..002fb16 100644
--- a/find/find.1
+++ b/find/find.1
@@ -567,6 +567,9 @@ to stat them; this gives a significant increase in search speed.
@@ -654,6 +654,9 @@ to stat them; this gives a significant increase in search speed.
.IP "\-version, \-\-version"
Print the \fBfind\fR version number and exit.
@ -56,15 +56,27 @@ index e851f82..a4799ff 100644
Don't descend directories on other filesystems.
diff --git a/find/ftsfind.c b/find/ftsfind.c
index 9fdb8ef..bd7cc37 100644
index b7f69a0..aca856c 100644
--- a/find/ftsfind.c
+++ b/find/ftsfind.c
@@ -479,6 +479,12 @@ consider_visiting (FTS *p, FTSENT *ent)
@@ -268,8 +268,8 @@ symlink_loop (const char *name)
static void
consider_visiting (FTS *p, FTSENT *ent)
{
- struct stat statbuf;
- mode_t mode;
+ struct stat statbuf = {0};
+ mode_t mode = 0;
int ignore, isdir;
if (options.debug_options & DebugSearch)
@@ -433,6 +433,13 @@ consider_visiting (FTS *p, FTSENT *ent)
}
}
+ if (options.bypass_autofs &&
+ 0 == strcmp ("autofs", filesystem_type (&statbuf, ent->fts_name)))
+ if (options.bypass_autofs
+ && 0 == get_statinfo (ent->fts_path, ent->fts_name, &statbuf)
+ && 0 == strcmp ("autofs", filesystem_type (&statbuf, ent->fts_name)))
+ {
+ fts_set(p, ent, FTS_SKIP); /* descend no further */
+ }
@ -73,10 +85,10 @@ index 9fdb8ef..bd7cc37 100644
{
/* this is the preorder visit, but user said -depth */
diff --git a/find/parser.c b/find/parser.c
index 52a1ef6..995aec3 100644
index b86e685..6d74d1e 100644
--- a/find/parser.c
+++ b/find/parser.c
@@ -138,6 +138,7 @@ static bool parse_used (const struct parser_table*, char *argv[], int *
@@ -150,6 +150,7 @@ static bool parse_used (const struct parser_table*, char *argv[], int *
static bool parse_user (const struct parser_table*, char *argv[], int *arg_ptr);
static bool parse_wholename (const struct parser_table*, char *argv[], int *arg_ptr);
static bool parse_xdev (const struct parser_table*, char *argv[], int *arg_ptr);
@ -84,7 +96,7 @@ index 52a1ef6..995aec3 100644
static bool parse_ignore_race (const struct parser_table*, char *argv[], int *arg_ptr);
static bool parse_noignore_race (const struct parser_table*, char *argv[], int *arg_ptr);
static bool parse_warn (const struct parser_table*, char *argv[], int *arg_ptr);
@@ -302,6 +303,7 @@ static struct parser_table const parse_table[] =
@@ -309,6 +310,7 @@ static struct parser_table const parse_table[] =
PARSE_TEST_NP ("wholename", wholename), /* GNU, replaced -path, but now -path is standardized since POSIX 2008 */
{ARG_TEST, "writable", parse_accesscheck, pred_writable}, /* GNU, 4.3.0+ */
PARSE_OPTION ("xdev", xdev), /* POSIX */
@ -92,7 +104,7 @@ index 52a1ef6..995aec3 100644
PARSE_TEST ("xtype", xtype), /* GNU */
#ifdef UNIMPLEMENTED_UNIX
/* It's pretty ugly for find to know about archive formats.
@@ -2603,6 +2605,13 @@ parse_xdev (const struct parser_table* entry, char **argv, int *arg_ptr)
@@ -2489,6 +2491,13 @@ parse_xdev (const struct parser_table* entry, char **argv, int *arg_ptr)
return parse_noop (entry, argv, arg_ptr);
}
@ -107,19 +119,19 @@ index 52a1ef6..995aec3 100644
parse_ignore_race (const struct parser_table* entry, char **argv, int *arg_ptr)
{
diff --git a/find/util.c b/find/util.c
index 8577396..4d45f84 100644
index 88dafd7..a592055 100644
--- a/find/util.c
+++ b/find/util.c
@@ -181,7 +181,7 @@ operators (decreasing precedence; -and is implicit where no others are given):\n
positional options (always true): -daystart -follow -regextype\n\n\
normal options (always true, specified before other expressions):\n\
-depth --help -maxdepth LEVELS -mindepth LEVELS -mount -noleaf\n\
- --version -xdev -ignore_readdir_race -noignore_readdir_race\n"));
+ --version -xautofs -xdev -ignore_readdir_race -noignore_readdir_race\n"));
HTL (_("\
tests (N can be +N or -N or N): -amin N -anewer FILE -atime N -cmin N\n\
-cnewer FILE -ctime N -empty -false -fstype TYPE -gid N -group NAME\n\
@@ -1044,6 +1044,7 @@ set_option_defaults (struct options *p)
@@ -181,7 +181,7 @@ Positional options (always true):\n\
HTL (_("\n\
Normal options (always true, specified before other expressions):\n\
-depth -files0-from FILE -maxdepth LEVELS -mindepth LEVELS\n\
- -mount -noleaf -xdev -ignore_readdir_race -noignore_readdir_race\n"));
+ -mount -noleaf -xautofs -xdev -ignore_readdir_race -noignore_readdir_race\n"));
HTL (_("\n\
Tests (N can be +N or -N or N):\n\
-amin N -anewer FILE -atime N -cmin N -cnewer FILE -context CONTEXT\n\
@@ -1027,6 +1027,7 @@ set_option_defaults (struct options *p)
p->full_days = false;
p->stay_on_filesystem = false;
@ -128,5 +140,5 @@ index 8577396..4d45f84 100644
if (p->posixly_correct)
--
1.7.4.4
2.45.2

@ -11,7 +11,7 @@ diff --git a/xargs/xargs.c b/xargs/xargs.c
index 5e373f2..c0a8676 100644
--- a/xargs/xargs.c
+++ b/xargs/xargs.c
@@ -1299,7 +1299,8 @@ xargs_do_exec (struct buildcmd_control *ctl, void *usercontext, int argc, char *
@@ -1346,7 +1346,8 @@ xargs_do_exec (struct buildcmd_control *ctl, void *usercontext, int argc, char *
* utility if we run it, for POSIX compliance on the
* handling of exit values.
*/

@ -90,7 +90,7 @@ index c2714dd..01367a4 100644
@iftex
@finalout
@@ -572,8 +571,7 @@ the databases are updated, and the directories for which they contain
@@ -661,8 +660,7 @@ the databases are updated, and the directories for which they contain
entries.
Here is how to select which file name databases @code{locate}
@ -100,7 +100,7 @@ index c2714dd..01367a4 100644
@table @code
@item --database=@var{path}
@@ -2993,13 +2991,9 @@ thrashing the network.
@@ -3112,13 +3110,9 @@ thrashing the network.
directories are indexed by each database file.
The default location for the locate database depends on how findutils
@ -109,7 +109,7 @@ index c2714dd..01367a4 100644
-
-If no database exists at @file{@value{LOCATE_DB}} but the user did not
-specify where to look (by using @samp{-d} or setting
-@code{LOCATE_PATH}), then @code{locate} will also check for a
-@env{LOCATE_PATH}), then @code{locate} will also check for a
-``secure'' database in @file{/var/lib/slocate/slocate.db}.
+is built. If user did not specify where to look (by using @samp{-d}
+or setting @code{LOCATE_PATH}), then @code{locate} will also check for
@ -117,7 +117,7 @@ index c2714dd..01367a4 100644
@node Database Formats
@section Database Formats
@@ -3508,8 +3502,7 @@ present.
@@ -3627,8 +3621,7 @@ present.
@item --database=@var{path}
@itemx -d @var{path}
@ -126,8 +126,8 @@ index c2714dd..01367a4 100644
+@code{locate} searches the file
name databases in @var{path}, which is a colon-separated list of
database file names. You can also use the environment variable
@code{LOCATE_PATH} to set the list of database files to search. The
@@ -3684,8 +3677,7 @@ The environment variable @code{PRUNEFS} also sets this value. Default
@env{LOCATE_PATH} to set the list of database files to search. The
@@ -3803,8 +3796,7 @@ The environment variable @env{PRUNEFS} also sets this value. Default
is @file{nfs NFS proc}.
@item --output=@var{dbfile}
@ -137,7 +137,7 @@ index c2714dd..01367a4 100644
@item --localuser=@var{user}
The user to search the non-network directories as, using @code{su}.
@@ -5709,7 +5701,7 @@ See the manual of the system call @code{dup2(2)}.
@@ -5828,7 +5820,7 @@ See the manual of the system call @code{dup2(2)}.
@section Error Messages From @code{locate}
@table @samp
@ -146,7 +146,7 @@ index c2714dd..01367a4 100644
The @code{locate} program relies on a database which is periodically
built by the @code{updatedb} program. That hasn't happened in a long
time. To fix this problem, run @code{updatedb} manually. This can
@@ -5717,7 +5709,7 @@ often happen on systems that are generally not left on, so the
@@ -5836,7 +5828,7 @@ often happen on systems that are generally not left on, so the
periodic ``cron'' task which normally does this doesn't get a chance
to run.
@ -163,8 +163,8 @@ index 7e52a04..ae08a56 100644
## You should have received a copy of the GNU General Public License
## along with this program. If not, see <https://www.gnu.org/licenses/>.
-built_programs = find oldfind xargs frcode locate updatedb
+built_programs = find oldfind xargs
-built_programs = find xargs frcode locate updatedb
+built_programs = find xargs
# Indirections required so that we'll still be able to know the
# complete list of our tests even if the user overrides TESTS

@ -54,7 +54,7 @@ diff --git a/gl/lib/fts.c b/gl/lib/fts.c
index d2d404f..808466f 100644
--- a/gl/lib/fts.c
+++ b/gl/lib/fts.c
@@ -713,6 +713,10 @@ filesystem_type (FTSENT const *p, int fd)
@@ -706,6 +706,10 @@ filesystem_type (FTSENT const *p, int fd)
struct dev_type *ent;
struct statfs fs_buf;
@ -107,7 +107,7 @@ diff --git a/find/ftsfind.c b/find/ftsfind.c
index 5159470..e34b672 100644
--- a/find/ftsfind.c
+++ b/find/ftsfind.c
@@ -553,6 +553,9 @@ find (char *arg)
@@ -509,6 +509,9 @@ find (char *arg)
if (options.stay_on_filesystem)
ftsoptions |= FTS_XDEV;

@ -0,0 +1,620 @@
Release GPG keyring of findutils group.
GPG keys of James Youngman <jay>
-----BEGIN PGP PUBLIC KEY BLOCK-----
Version: GnuPG v1
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
iJpHld5wbiXhNA18Lr5bV56Z+9IXwQ==
=Svgf
-----END PGP PUBLIC KEY BLOCK-----
GPG keys of Bob Proulx <rwp>
-----BEGIN PGP PUBLIC KEY BLOCK-----
mQINBFdggy0BEADFA8M0PxYhQdI9LlkkP3jfkDDsKmyofklaJouGHc3h+IjoXkdJ
A1C/UaEjaVLxb4aBm7znZrk44Je88MxidwCTeZwgJje2R397IKW3WtRtIfUz5sH3
uEoO1AWB9U/SzbO/V7CueXO8S+UT9/kOWFAtRGceDzBEzXdnMobuBlUbKzs86QW4
0kJEWc8I6dzdiLojabFYXWVYD+5VeiIsY0P4g7RZQ0pkurb2+py8XgsXTyuoljah
bHTp5Q7Ioyxeb25fIQ0rea9kCWbm9DNtyoFlmNj04+NPgYiHAtHnLrQSWWu87Oy9
saVmKd+dJqvY48h15rYnm+A5llbqgZlq+dNsj6V6MPgToGBYcQtWJ2BjpGwJ7gfe
hgi1rAFNhDF/TbtlMBhumxW3YD/INVaI213u+21mMkOgRz5Q/iB9I+JtxO7SNWg0
es0+7vTGWb6S5BAlWuMq0t8Zfx+s0qdPeeMhm4Qsgw62LoFlWeSN22/m5fWhtQOU
KhBt17q9XdI68Ixx+NqPxJefG6PVR2bobnYWpHBn5CTu8R3cfFvPHl5MDbcJVAOE
CYYaEq6ltGJ+k+Rytb9HEudBSdzDxad0udTk7FUMcnJXbgfOO+6FcgY9pwvcktqZ
uBCmkIOxUQGkmtYN5o+qO0ybkIXigZdCCmT1oIcC6n2c/RrhJhwimTZBuwARAQAB
tBtCb2IgUHJvdWx4IDxib2JAcHJvdWx4LmNvbT6JAlQEEwEIAD4CGwMFCwkIBwMF
FQoJCAsFFgIDAQACHgECF4AWIQRjsWaDhBzj3CXTxutCGvomOH+ajgUCX10iQwUJ
Cd3SlgAKCRBCGvomOH+ajp/5D/9jk3BxnXREMoYtmQLW4Ks7qAy0GencA8zmyfmS
jMuUKWnl4L8fyFDXA2aheVeIoeMVzq3+nx2nudGEfNIA4cwuh0bULl//JbdKkFZK
zQXoEIPadLdvuUaxxuhcnhSfdow9Rw380OS/1wNN9sbUuoRKIyzz4dVh++U4K/d3
VPMt1jRVT2cV+DITUskRctWaXtC9IOBJvBhWeQJAIcMygHRnVAI8fyxXqYEuN0r2
JoiTVz/HyAkbaaBKTJZaMpRlYMVkFFYaI8OqZDIwpy5RopyeAbGPl5w4rC0AgUqk
VFnTQim6yG5WrWTZwecUW0sLn/jp/oG6JK0BbJUa62fR4/pRUai+K00ovlJgukYO
0tJa5AySbimfPDj87dYO4cfN0uoUiCfEbf6LIWa/2grIZ1t+OEprwtzewhkrJEo0
boP1c+PGiaskNVxoO9yFSxVzw7oP6APHfNvV0GWKFaimOLEDAch6j6qEc1Awifdr
3On7FIjVfxUSxzy3edL0dDAGsF55PhifBy9qf0M6XgymnXoCe+iGQikbiGiSo0J8
ywFE7NvXP84kF+na+MNE5QbexKA8d+M0dBIfPcImLyx7LwN0aDgd4iMRcoyJJMqc
sbgcT28f8XL5AilJcdH0L8fkD0mI1FiP2tkWxv2LQt22r5E2Wqdgod+jVSgbfwD0
jnBihIhGBBMRCAAGBQJXYJESAAoJENKUXDvBNlC27esAnRDOPvu2SJ2l4YvLpl6j
qzf4r4sKAJ9GFzeofvcY/mZNrSb3jGE6SqVxg4kBHAQQAQgABgUCV2CuWwAKCRBE
jjgzAFuz8zEJB/4yZ4dX5AL5Ty4DGdfn8TnB4tP/FdO9573Jz1Toj7eXclNHuiUI
IkkHY8B1FWp9iWeJcmGQcjoPCgTIDFdAVQRqHNnq+LZvzONPIB/61MvD0bb9GC2a
J8uPxe6aDnTaStL07uy7S6dNY2MxnQWi0hhX2PVm838ClOv+dvPiKfzzFyjcsoDT
Jqxtlr6WwUOyAae9HDU1vkG8KkWVaXdERPYUNIfz/Zoqc36HFjc+PtMDP2toIJ2r
7kezmaNbanHzcS9AWYICjLFL0OgSfSM6Mdh8yuqB8kGTjH+ZOhtAL6OSdiLjf6AM
VfelVv7VrKK7swOMzE1ihH72ukWcTP2n96YTiQIcBBMBCAAGBQJXYLfwAAoJEEVX
DF7IPmq8vZsQAKHdWQ2Hdwd+500HfKd7hskTx9balcULi//sAam3hJPBcffgD7cl
Rd/Dn3CQwY3PYmKYUHIWXCkNCZG2g8jAUqu2SRdN7rsxbXHw4vvGAHCWZREAFowH
iMki1vL4+moB3vvCl0sA8svFcHMvXdzENXC45G/J/ew6cSWBY+vLrijal5YagoZt
oJ5D0WNDek/V1SDgsSO2Tv6IuQmojwTCpQ6XNH7FDYbhRRAmFf+qEr/JnVkcT/6Z
DkPj1X5Ufi4U8YPd/SMe9q2KJ7az0EZTvoDgjXxmjwAENeRvbdG+Cd3wjLaFqOlJ
WvQJYabiANlspRg+uhwghZUkuGk+eUkFpObyBXVmbM7zvYFy/6BTvOEE/m9w8nEq
2MgTOXuTvlMXL8IqPcsNnREd+bBpVXgiOw1fNB7DcxLL1Qgt78SOOrgzMLg7j3jt
Q5bL4Ag9ssLKsf1VRbJvHLg/fW5kQpAWaQJrwef3VwUMpYApC2Co/07YcNED8nub
3sBNcnzQL0seJqqPxMgeBNntnfguypfuzjA59REf8XvNeWVX41h94l8nKhQ/7a00
UZD5c9zDoo1JYWKn7fQ8At/vplBMOhLM8H9dJD+D3I/pu0gKmFw6oi/n0ki+kj/z
84+JBtwILhN2maEg2FtAjFEUUcBg2m3c4mhgcCZJMBCI8BZa5U33XmLZiQIcBBAB
CgAGBQJXZJOHAAoJEPSVSpCAqyrSw8kP/Rm8+K/e0rJvwnvqEg/FazByux8nHc+c
oecpcgjZ3bchHpUuZ06JG3vFRgToasppinYv3AHFB6mtF01/eXKW/0wli7rvb3gC
g9f8H8NfM5jJzDJjNRjR+3oWWzEVzpQLIlpeQS31dRwBLHl7TWwkuTN1/llsA6mf
+OLvNXd4ks+K9o+nFWegRSD/owFzH4tg59cgAfERxTeEgwKGJV5GNbjotXJIS10J
quH4jfSoc48Yo73t6ALgaC4yr9V1ZhrTKoBU+l6bwDg7vIfMNDeH1FenrMvFGQUO
JM5VcP1VUS2eLz13L2DIXd3hmBUD3ua537dSDua+d4p9rDpibHTHKrJbs+WdPLJi
Fm2ARmjbCjGCXB7MMRa+PI0jyjZ784TqwHjCwOP+2AcL1DvnSDU0upKub6qtqU6w
2LIcLJilIxw27+Exr1ecflUcKLq3o2hJSzTUj+8nT0wQ3ie6lmfCl26RUQZRtGI8
QtDQFxJ6D1GULC6njabPXpd5EeeRWizgFi5p9k5WuSm+lSeWbE8tRzLmY+Qfx0mf
TLdn2TnGweYJwiwLQRshzA9fLMvch8yHxGrGZUJ58zynsPKG1Mop1wnvytzBN6cD
ptYAS6Fy+d4B8S1h4rmio2wa5+M9lk6fNwmMBqfDNuHKlcuPzo0y2wTd6Uo/0iPr
FfO5ZVpJM2S8iQIcBBABCgAGBQJX6US3AAoJEPCV97sBj+KzLN8QAKeEVz0twtuT
eUD6fJWaus3vyViBlfzePvr8TAvhEsdXUkYQ/RwmSHVVZHRfuRYeEqgbm0PWWRkd
Drw37HcZd8AXE9SseRaWi3yUPbxTjqu1FzDXnUNvjnb3e/zNqTv54yd4NJrSB+6M
mFa/NnNTKls95O8H8jgL7oPL/SKO6ZjxdZiACFhLSsRwzx2Xmu+tsal3FGsUS0Qe
gxUX6Bu1ADs3Oih2Z8iJvFUy44YJkllMl6JhrhvgWnqjo2bG2535qAgMfOlkl29D
rF4PRLAe0MVKA9RhemKj0tfzJR95CWrKLR35ZOa9Au5i766LbzEItseap//APV++
3QuGobV16rDGXOSTGgZ+xv7L3sideZZao8JQF9fK8LtNpxGz7Wfq8Vg0HWgJdSNJ
fM33Nt8VeAXbqYdpPto5dfZrfjA8c46ulrVGTqgTx1aWpV9EdyaIMLmYG1snMLGQ
1HrAw0owkQGIiF3AtWXgKRDGuJ3ouXasLBIAWyvVg25XknHift3O7cnWLMwSGnA2
MRvp1DOIvzFriJ5mlzl/E5MBx2sVZBEqzc7I+K5MGfpkrFjyrmHy4PzPOgYAb6Hv
VBx8SSEWUhlL/HJG5Fp/nbm+FQZunhdZ/eHn3IVSUCj8Ags+pCE4hhMa9djfmR1k
46HwVqc4hc/HGWGexfpb61/hD0zH9zZfiQIcBBABCAAGBQJX7ABZAAoJENVHlGMn
ADo/FZIP/Ak2YNa8R15HqG5QRKrtiKC0+PDbjoB0/M/IGEjHEDxGd8xmZMzicxjy
3i2oMy7v+FlahdbgIJwrnNLzp+pE0BnSBL8x/cpsW3vPmefOc8kF3StCpEBKxCYm
y8eR8zkkqDE1fDrmkoFW+OnZzrJ2zOshn2mXeSTeAFvVZHqabZ29j7z+rI+LKfM/
nhGICBzyPr6t7E1s9tu/XUUmQrwg5UAaqaRQkwNbWYXMLmlY6bEfa0X1I/6FLMNp
kIRc6FHDTEHL2ebgcEGzRrkPd6Pvz0Zr0pMT8WdptliVxMcdVG109VRQlbe9GyAo
zsERBixySox/Kq+ztongfFrpqh7lTsZ4hYlE0RklJBKUVHjSx88r/xBGV0Ga/Q5d
pT/zXhWH8HZ1CGm3IBcli8QgZpwXCrGr97BHzi52fsPO2kefRGDiwjLAPLyoogWV
hDBVxNIp4qvCrsqyJ02X381ZimxDo7gJxhXF0U/CLhKgoiS/Ksjz3VAzsPiyf/Kf
pFJ4CYBTRcGuuqaU41+Pepvk+HLxSFW2zTrWIFruGcchh2fLMSSBqbri3pn7Q9lO
GJnbNJYIUBKFYamXyfT2G8+jnyrfX9QX2PGeWrn5dpmWn7SW7AVZfTIxlbuEHpw9
+kBDT2ZD9PfDJn3MGdZh5QgKeja/66nvH4R2GSLXLQeDwpP23DeoiQIcBBMBAgAG
BQJX9TnzAAoJEBv4PF5U/IZAqLgP/0sTdI4GltFzFV36LXKuSHn3y/mavky+rXui
ouAhVYtXXJyQoANUmPun66GzlV9M4RWJJJfIlhrNisWKJ7Xim1q0knmO7FF4G1Fu
HuAxQIEtXxs8XStXVdHLN6wgdAEseNozywJqqXdq6A9EMvfg6oo2otNyHp9bjPy/
J9xb8vc5Pr+C+fTTNiG1YmXzuqQO6eYVioJ4OIPOmWA+hD9Tp7LfE6/O+HfK/iRD
KEhf2tdEwf9As3V+K1p9q/9kX35cKrt498V7uOaPjhkq1eRbu9p7i3TP1Jy8lf0W
DEdiDX+FmlJD8dtPB9xpY/E9PxZWT54s7mP4x6JmLKOg3iFBN0lHPD3jl79eJMkJ
7DvLTT7nORyy9Pyre97ZWPEhs4y63DNjEtwgP1I2D9qLprwQy5vv+FUu/CnwZVBX
1ggltabJ5RafVF0fkRSNFhwq3Z4zN77rKhdpkjlGqbY4AQffqMcgtScQHvQDH2th
JYn0XkCGqjWhjFs8XXcIFUTuDg+o9Vz5N6LsZUzby4CSaUSue9/m3USB7X4f27KR
yIO/kQSa0AEZTiDoaN3NzEp9o12UXMEbxk/K9Qj2IO+tfE9ToshQ4baFprsqZV7O
6pzqUKvgUaJVkb1Qq16WkXfYqoFOJZBAn8FzyH95BcMLpNbAw0a9cXRT29zO47Bj
jFWf1cL1iQIcBBMBCgAGBQJY4qiWAAoJEE3gooj4qgph85QP/1Ane4eUF6Laz0t8
AVGXW9PNDQ10K4F0+o6cKsjCjifUoAtcFB4KWpO3dEkujfYWOurnEXTDR3Ez0+ga
dtf/jgEsAdG38r18uyJLmGaHspcKARNCE4JXKXNEY0oqdvpBPh7jWOKP2Hy181G0
xRTc1DQfeiwwwa+8szzOTtMNCY6HRzM345IS8vQRFDWhpN1Ugdmkmd7iVnjrVbCm
wb16kDG99BDyAVzWiJy//xPpPR0pJI0Gsl3jem3CejwdxH3MUzlTMcRIZrOpZPut
XYiE41kg3qOFktSa6gXtjIVaJw0CePaoDO7ttqGpx+D4L8lMLut8Mjlz52WZ3c1t
mBSSy/0Dy8ERy0GNOgP5LZ6nLCXvht2nc0EpWw3t//SN+nKKG3S/9CwIc+FJ433D
gkJmbOHowjvuRAHUXQehu8S09lpKiU6ajnub6Ib9x2p59u2UVIrIzjG5Q0QK/KNT
aicLoCXATIFhnkdkUQDNWrm8aODORSorQ+F/1gr/1lvvgf1rs4a4DCpN+foHd7Wi
82xZxLyeH5hBqFop5Y6t4hnG0nqmhnfj47/AvyxnPiHUojhkgMT4DqSig3WTET36
Ln3TQc4cwttReNCDd5wHB9RyGGu9DOCRYBckZE/dY77RAykM7raviSVX6R19ElYz
G6pM+Dix93UMovpn9OSZuuHIIQrFiQIzBBIBCAAdFiEE6FpfY7MdJMHr8NgcyRDZ
IiUS48cFAljj8OUACgkQyRDZIiUS48doLg//WAsI1RtnR0J+MHccBy/3I5BdfHON
bsNnpOcMrROv8+at4McukNo6spiR1ltxlfAcFO0PPM3neFyxYTBB6ZU8g5J8CRSa
BckeQ+bdvycByh6MBbt5vgjtAGO+/Bp9xaIBlOFXjtkUvhbLTr8ybMjhhkoH4qRk
nJ1bgIwbAhQqHRmYRFI6U1zlpF089uU5ontUMcYMfH9gf48oX5tKnwXkkobmw3qE
lPXMC7YRnBMQmbbEEN2JVgPMD+NXrqXRYtK0P/Oe2lhu5onZmFba1sPNmU2EMUqK
Os4I2MOlkIRmLKnnf41BUeVu/Dec0rPDhAvfEW2CB4Ad4F7dBCQztTlncLMrtYSI
c4iR8qoYmDZ1IOswodXmTgZQJlkwa7TrJjvfScqH79/Ny21H4YWz9GNm6Jg1l1yA
Tnbk9BmCixr8eFk8dZR7Ttl9bH3ntsqu1XvF6CKFQCVgR2YS/OGDnhX7S+9wQewX
pKSQG9HU/nPnxcl0odDU3YpIApOGxbRoDqVeofnyMISgpEMCec4T5yP6BOPPClRh
DQITYMfhpJ7FjM5/kIAWLksbLX4gmZzfqKliGvrrvtd4fC26UU1ZZtq/qx72yOBb
3Oh4JmZKd6P9qJF3wBOFeFDwIc1hrjRtNTH41cMBEGh6wA4TjYsGOz4uWFYpZmLQ
q9/bgxiHvOZXqR2JAhwEEAEIAAYFAlonYkUACgkQfiz/2w+KINpvsA//fliK4oAk
AwCTx4jmZ9l35ZgpFKzd3pGeL+yP1k1O2laSnqobK80I0SnF0azNJDkAkCgz81aO
eMcDVbrJWS9vbRN3+O3HRLEXte2QWWErnmm9JoDm7MHG3gVMGfO26MVCKFbhc15Y
lRkJLYkHLC2L5HL08+5DPLPNNvycZFovjJK5l5ofUazZV/1ddiRIqFtTwTmkGWQS
iXLpfLieSBdWyWu3X4oh0Ajt+Kx3d+v+oBER8llhseCpIzgXrMhkgksfpkrtrPlg
RpwhykVmVE17G/LKVPPw7g5xLbjKhSY9Gh7X3gt1HO5vHZTtbM+34goYZGTt8z0M
i119fx6fHHjl3Vg62TFoPWwPmczJOINMuSI1F/Wfqfgg9w1oKd6j5LA20znCkCNL
fLR5vm5LVBA4gjsNdFSCiUw1FRjWIiIGKV4fEXCFgG7VfwcpW0giRjkP3BoTm/59
ib2t8jxPyEWr/uZptOUt1ImCd7vMSBM491RC+Rn/Ixto8EFlZzeOugFUJQBgGMWL
W680ClMvIPGStn09xep4lAsrt3rlm6+WEVsxF5IdZxhEvolaifyw2vGNvHds3JXd
U9ed6/F6AMgKtEPJX0l+CKrIxk+JU4anLkCp+tzWlY/r1RSf9PTxsqEdtlB2/QYy
4RZYOQJj9LrQKBo7DcfJQDaALZB2fXC94+aJAhwEEAEIAAYFAlq79QAACgkQFwrw
4pVCld8zYw/+ODPwxvvpzd85zFSnFCKyfQ8+vn3+GhAQXBivarcpWCi12Vr17u3+
7b0oNvsXjCsNUygfhwB/LBz5OyIG2818W5BxtV7GlbcI+15AiT/SUGBbhs9D+UC7
P7cq+0U/cI9iRxmXVDp347N85abjtSU2eoTL6iiZN22RPrCGY+OquuI7YnJd5pdP
JG5UGB0LvdnhDjcYnLA+sSgPxYf/wzSyplgjdBLyPY02CZ/7Z2v998k8Nqu8tpOU
UUrJm+EyUa9dxdIGMupMSE4FL6ffUaA48Sd/Y+yBM4DUqXvzH93VIjwhzAqDfZV8
ZtLR9IGIM0Xfd/fDNBOxRIk6H/rnmDpa+DvDRNsClcoN2StLSnpM0LfA4DDcpjZx
GKKUsZI7wqGzwtHanRpShzka4B4liLFSWRmGOQhkJa1eoAugeaUP/Iw/VotBfpuo
kFZD8XeC+/BQ8P14xdvgYd/8KRM0kt39O45+1aiHjBowYczf2vHaQm2v+JBMkmPG
OtIcfFp2K1i5M6T/ZJfzmxRT4Cbw5FGDexWOHYqF1juGdYxs2w+K4qAsUVcttICX
E6w7nR45TIbRH/8ug+AzZSe5z0aDGS5vSLHfj3n4BbBN++meUfNr4cus+8lCsDML
oQDicfi4mQZgGpbPPE+jgFRWCDSnk7P1Ka/NZNWEUoX+2ZjsGh3yOQaJAjkEEAEI
ACMWIQSrQcHGiv1mjKBF6/hnOgPkwduSHwUCWrw0EwWDA8JnAAAKCRBnOgPkwduS
H9nXD/9YtfO6iPE/PT88Pny//hlmDwQBU6uqUOraIduxKx7tsEPIjKqAg10o3JUR
gjswL5OTsvGkjQ0iJyF52VLkDwS0f3UzVPI6GdU/HcLl+XJbFIFid9qVA+9cyL8/
1ftgI/2cwWe9iassEcOPzVrGisFKJTKixP4uERDQkpOFZN1hnAIfKs+gFozFo+ir
25u6aL9joGkahWBVitcYAuaI52L1PPFjP4V6Enmtt7r7GyHNZq39e7ah9omwMOjQ
QtYZ5PfyP419wgCnVCTEX2fS/VEnZbVdlLzRrEtSHacdXQNPCE+JuHmuWcqvmH3u
27aivOQk6HqvwcPfRcl7615EDKMu/iDSNGfX7Uaw6Hio7xGXlE4DUSAG6gpWFdZ5
afZmKxK74fxXK/Ft3IEJDCSnw5mEX98HnFa4BECmnPQtOPZ6JlzkK9J2INDZrBFT
z6EQbLBFHKuNk4KhUxiXYH1N1dheMATa4I9uljwnijaNn+93ojXGfnGxtR5vF8/7
SUgTAqT2JgYRSaPsYXBnkni3mpv7o1Pfss5OWI3NUShCzwIcaJiimp9Unu5HzwE3
IqpF96una5MUR3kmDbF2792grnsI2aDfweIhKR9p+mcM/KzAI9P9PQUpd4kDex2z
0giGhEuBcdvlOgI2rGa7J3V+sn7YYyDNfxkmyq7ic6pAIpiIP4kCVAQTAQgAPgIb
AwULCQgHAwUVCgkICwUWAgMBAAIeAQIXgBYhBGOxZoOEHOPcJdPG60Ia+iY4f5qO
BQJc2ecEBQkHh2pXAAoJEEIa+iY4f5qOdcAQAJMNi5d0JCqr1Q9KXiakz7b5GBjK
nRdDCQzv4kfM+ACFUIvPZiY3C87xnOeg/uPc/GMa9gDNAC/nLsgyM7WLhnpjYvzR
x+nkBtVeZO9TNgxTL5DAWR9AjSHeUOJl0ztHLeKTPQkkU5i4ONtkQiHaElbushxS
2xqgviSqiM7WMhGz0oNwwL57KITNAdSBHTu379s8qrtj4rs4o1poHVDan34iTTbv
UKNBZivZSsald/1eHL40NyFkeoWNj1IguiCgg6lwG61/7LOpGYtxw2ltGugyke+5
vQWtmGDm5zU8e0ff1iOg0bpYe8f2WxGrvTsmSqmKF5iHOdVZHPfJK+KNrDleQE6N
YCMeVz8PO/7OaqCcpOlrvWD6/3h9xYWRtiRxlG3w9yDqzE1VLd5uJNAXloU8cb16
wbqKtsypm0uhWxjtgNeMhUHmzleUxZifEGjO/f1O/8CE8v3KGLHOHeC+bA/rDqO1
BuCc1Ze4Y+6qHofGJAW1UFXWMVLL36UHUX3bwQGe/aeWYzMnumDhXw8GiiqU+09v
W/NSyaxGowU/wRplJ9ltFh5/mhoMdsvMujl24hhtVqx62XaSRDgApBbL1jSAXCVL
GQFbgv3oKcK8/teGt8L9VC50T2857OTEHmKWxbpjSVdMisoAW01es8Z893kKznCl
n81WEtBCVzeRPTqyiQI9BBMBCAAnBQJXYIMtAhsDBQkFo5qABQsJCAcDBRUKCQgL
BRYCAwEAAh4BAheAAAoJEEIa+iY4f5qO7D4P/iLkTPeUIbKWDtTKKDwCezY3y17q
mCXu1WexsHhzfONilYTuZ32PR4SgEz+40/HuPaFH+dZdm+bMvrIpyoYJwbrBm5j7
4H10GxqaYHbG+Gw/YRT6cckVrI6n5u5JAh6mTcaci/RsVysfDYua52A1g4+FX34H
lo8+RKNtExh+HLV4eU0EzA3Rw4R0au9tbO/DGwQzKswxnYLRyVXq51GVco0TFWAC
+ITQoLHrLt3u1skRjFEOuxlfoWknppD4bdWb4sjozcaNCA32hODOc7p+oX9MOcF8
WXB5kQv/WFHvZ0sh6a9cZ3RsZTUFSJEN/DO9/GYefGy83w2odhJvgmKOkta+Qxnr
wQfTvksSAY+eykeThOJ3+VJortK/FxPQ+xQqWylE2T1HCWda1Ym923v6PrG+ZmH4
+YhCZGodSbLN4wcvRJqoxefGRfyv9wDYYeDq9rmfwOdd01i3o7poXdSEKCRC/IjE
l8BUlEk3/LrORiIWxFMHU5jIZNgdwwOrtzROGoo7i2+WH3EpygLVfdi5OrrDbUXt
iJYH2hWyN12v1nH2iPJJ4LKpz6IsbeZhd15AQj+n2H8vU8LCJ2ki74gKM4znG9UT
2e5zrzfs8LsxH9f5c7VkuxP10n+w8ARb8+sYEzMrxElSubIqbamPVVlIUqYbLEyf
fAJA15FDH5QFUk/riQGzBBABCgAdFiEEc7/Nj/faCETeAwgOqtCvQ36ckk4FAlyi
2SYACgkQqtCvQ36ckk4D5gv/UZpPvL0znniFqBKfTzA0FH2ZO9wxRijEH4Rf5dl/
mCesGrCzdX6amOURkCOnopzScqKEhTRAnA56zioyydIZqXnQFMNC44X0WyWUDnSw
x8eL+gKIm5VTtARODsAsKJB4Ce0qTP5C34EQKXnd6gEbXBWQdbfo3QvLsenIuKyx
lqcBZ1PCL8zC8fUVM6GkXd37uoOygQDV3CnN2NRpClAHVrWK3NJ0vyp/GiP2x2vT
EJcC02BskEtu4F3UkYyUXHxVBgWw5nKmpLQNoV28VkFoL0qzIxNg7K7xYQ0UK6rR
GB96eJpfw1/evEj2GHuTOxz1tEpn5PnBDuOQPM0xYWfwuteZ07cNghhck0Q1wtkA
6uDK15IL+BkuHLEIu1VTOuGUxv5A/yS265oYLS62J5eexYVPNHrYhSi2hVcuhRPG
bPBG3SvbcNcAWKMv/RqvzwOe+hEpGmYxH3AtomzQ1qWKzNndPSWHybrVT1zlYOIT
YqAMnoh0cbc0PlGLAgkVLltxiQGcBBABCgAGBQJcyiCvAAoJEPV9PyZefnCSf0kL
/RDFOk2RDH33+M0HEGqgRXZQu/ZaCbd7MlhmI3eziDOfK7acZNOfC2Z2SAI0jxs2
nGACRbusgCayDLAFP7ivTMGkajNCf2AYNTM9cF34WV30JcBL9DjUGhro2LyEhSJW
I1UzS6rTMVj179wkpRh5RPIWtsmF5Hh5cXpQN1cC7Ve9HAyt/s48zebLYUyEkYl9
qhaFZSfotiNnnKDeMck+gv64wgzg7uLa/PYyfBXF/dyWlU5SjrZFh9Cgl8wQsrbv
+Jn8EeGx/xCpe37nR2nr61N0DHj/yluKnqQhrBiqv7tJiWBgoQD0PP18d4ZdjJsg
YcwJygBsmoFEIwlstnITuGHw2aDpRjptm81OSvitRk0s6un3U2Zpx5fd5tP0KnYy
Y4f2v+r4UA21rERr1uGig+8ahG1d0d7d3u3g41LBg1sAxw0t59Yk8jMNhW+Ht91R
E8vhrDlvaA/Tk/6zZvsDsL22G8l/+KIlERJtE5WT1giS0y5+PZ6y2GvwYctrnLz7
uIkCMwQQAQoAHRYhBIRf1V3aaw/ODACEUkInKVcmiz/KBQJecqOwAAoJEEInKVcm
iz/KaloP+wco5vmBB8/HLInGuGZqRyWytVbWzGdSFJWgLCMdpNBmH9LRaAQx0/Zi
hbTL67n1mkn9a3UYCY7N8flaTmI4BzjjxDopRx7ttck/exTJ55v01m1l6iLpUMdE
JpyJgBEHCIqrnSFqCFrXwUYD1DZwN2DqLBQH7rm0sMvaDsOi6vaCQ1hkv2+pD/4V
2pRl6zWDUtK7wxFVhQs/0hW+Y0SqUQRnsySWw7qeBeL8PC85rk49meawK37yMfmA
WhmPXcrHTbs2BDISdap+ignB2MreVG7kHg12Nsr7ijvYzK5mfCVb513QvAQ5CTTf
Cji/86OFFsGWIkJAFvl9O2ncx74SGLzklzd9sWLF3APwQee4pbksrvUZ4WPUEHKM
B/1nd5brHPK2QlEg+iV6cuX5cav8W6L85eQtzEY9WyBQP6B2C4TtDqvYXSwEPykO
8SbjuCqZBjSQwRjt05NLzWq6p3I7H4kDlUPBqUdcO8c/WERt7HsrqhJ6vc074cXj
HI5T33WWSCnA2w/CoqlAflpk2zw1tuPXr1EK3+B9M9JE1b1AR60UwUr1Byk0yhH3
cxnxunOYVct8z3tJYIL9XZAU6ujZDpcGELmYVYRmcspXj20ZMCuBssEa27ZpzeWt
VhGb9jJMrIPPaXQC1d4QRfSeEwnxXYugMwYoQLn4Qg/HiDr9dCXIuQINBFdggy0B
EACdzNbf4pM94IzRCyk/6lOzudY517Zii+hKReXDs0YqYhRwC7WVcbI4CRXJCg3Z
ZvGTCPYo5mXtx0Lb1x7GMP5tf8ytbfATENk7Q7ZHg/AnBWyBA4DxjDcMPQdKBA6d
bhmaFawfRVZWyx+wZRlVJzjX/YcJ0X5L9me54GqejgBnW39lyEHsLmONbZbsC3sA
eqpisMZgQ06jX+2ShSzVDTvkyhWWPkATRaddsGhem5lKWSOeIL3lzSwhlcidD9sa
UhBbZsnFrpBVKVK8G2DcwWeIrQg4u1cvSeP66OjVvH10khfwO3M5bZMHjW02jbfw
8wB8Ad3o9GetxGblnOG7MMwdpNY/lbcJ3IpkIAsEPptRqNG+26V8AQSADDk5iJmv
vzMy/u3uNJrxTVtcy2m2seRoeF1oAMJMt3suKYyaBBNNKqnKbQSd/K44r31vB6/K
45ecpoZo2ZFRV5eCwTuOUMynV0p2Aq8AQlkKyDwfuzdZmUyqioYXy/ZzqqkppBI6
bsiTU4CpdS8lHWPO7oIQOzvLlWrwjtE5800NBw4AE7g9+IxgFPZdbFWaGkyAL/kC
6zWMlEROogNOiDHsWmMZrSXVAGJtVOOLlkxI/o0jBFKNK5hDqVzV5S9xRTakZVUc
Q7Bed75/bz8MnK3NFEOKMHvx32vItsd/chXK5XjU0g2psQARAQABiQI8BBgBCAAm
AhsMFiEEY7Fmg4Qc49wl08brQhr6Jjh/mo4FAl9dIoAFCQnd0tMACgkQQhr6Jjh/
mo6BAQ/9GJ3MQnuwwMVSTmNRxXRHO0kpESWKlEEGgyUDAo3Sl4ee4dHq/2cBuP9+
8X3Lk0EA1Ziid3nkuWy9btXoOdvQ5QA+YzlVG2cavEST0EMpcblafZPnrSyF+S3C
kU28kkG3CK2GZIsCAKTGV2gvZWwlfA8B0MaOMhLYZ7cwBG2a86QoB/6iiKyIIv7H
c/USNda3qTCSW7szOrB/6PM0ljxZN0X/j5LA13gtbmNBMVBuGJOA/kkQCe6djbeW
oggmU0fwl6Sw1+g81zgkMTQK177Hrs5kDKL1Fs1As+egDKXj2LMPceH4OcfL4pl8
Oiz55eA+E2LBhqiQ18zFh2jnqOyGLQqGJSDXF5rGEmtRD06K/NVjCQSCCQ55KZid
uMzi7+tcKeWliYQLhq4UCXl+Tf2ju54YcspIi4TS1sV5absOd+dInuw0e2+lt/xC
Bel4mt/psVRp0mHymyrYVSnA45KQBZUvgdR0C9e+Lgz9w1xYMpUk1KgqjIzkcbjy
7KKuUgU3S8cgAhzjKwBuZf4eFB2JxxfDJ8q4RNeIOm/z3ue/In37rf88zBPqZ3OZ
VImxDMd/Nxw48hEF5AEi/i8P1xV3L8Fcz1jpczfy/pdi/6vPFME+QBAkDdX6iX+v
jIcrIKo/OUeeR81r1se/OX9j1fWonr9MDbhR0DvoYSJpXzjbLx8=
=MuTV
-----END PGP PUBLIC KEY BLOCK-----
GPG keys of Eric Blake <ericb>
-----BEGIN PGP PUBLIC KEY BLOCK-----
Version: GnuPG v1.4.10 (GNU/Linux)
Comment: Public key at http://people.redhat.com/eblake/eblake.gpg
mQGiBEHEwRMRBACm9AFr7XGQ9pFLX4wcuWh+mW6UxFARa47ewVNwW8gxr5nsC7TE
skokjSnlcPuuLGO/UQMmjO8HhCHsq4JkZy5u9QNlno+nQDwCr4mJydoa2YGZ6nPU
aVTdSZ3CYXCrsYiHmtVvjqMMyLrLT8cq/vNQhhOZ1EftbQ6lBHMJ2Kn8SwCg2ccu
zM0E/3bPCMhxgcTWgOA2NP8D/RNUWxKKqc3G8rVea7hi01fSqrqX1ppuK/hnLn8e
spzXC6Qlp38k/ibKpRXrzuMNJu+SjUBevm5ZpBHer/1FDWfh8NGgRrKkCmvk1zH7
dTBOvq+VN82QnvuyDFsvFfsoDHn+YPCHP/4gCDeKAqvBdCBp6LZXX/FQTVKZp6RK
lmi0A/9mN0aAIpHeu7BBKPxRh+ePzDtrmj3MeQlUna39ExKd0b55poHgeuyXRWsF
F9d8DMkLDuzZJ1OHkI3l3xNyEHWzizYQGkvDg9Atikn3JRIv/So5BK4ZJXRNGgni
zcXyu+xJdrerPbArzCIRHnKcGzyninNzubrMYot1PkNr4szuRrQeRXJpYyBCbGFr
ZSA8ZWJsYWtlQHJlZGhhdC5jb20+iGQEExECACQCGwMCHgECF4ACGQEFAkvHx2oF
CwkIBwMFFQoJCAsFFgIDAQAACgkQ84KuGfSFAYBGmQCgnNA3IpPx4Qg220aPzejj
4c7izRYAoLChcJ6/B68OjpiJKgrCkR9tbFR5iQEcBBABCAAGBQJLx8vDAAoJEKeh
a0olJ0NqvzsH/03u0mScWEJcIddK/ZsgxDhSJE8jwz/XfDaBTZzk3/BQl2aLTPpG
ja+izujJ+eZzTANExjIQU0EqIcN+F1kTEEOO+COb2CvBgwpVJ76k+Lm6TN6Kq1LG
vEVlEtJTbITzDWXquGZ05xjXdgaIqHaMONcKlP60Iwmm5YdcUpXfck6KT09Nn3Jt
Corl7ruVZHAMUyd42ei0k1vajDuiG9XmM8ylxVgxyeahOATxuFi81k9LMqjlyFQf
oyPOfWG/9bS/pzomos+ImMSKx8eZlzNkUf4tVnIhjEQKWKC9ZKB41UfKUBknzD5D
yYoRDzYRlpxDEyk+aVK2TjQr8K9r1RriAL60NEVyaWMgQmxha2UgKGZyZWUgc29m
dHdhcmUgcHJvZ3JhbW1lcikgPGViYjlAYnl1Lm5ldD6IYQQTEQIAIQIbAwIeAQIX
gAUCS8fHcQULCQgHAwUVCgkICwUWAgMBAAAKCRDzgq4Z9IUBgMSBAJ91r/hZGGnh
2tNywUkG4kObgRLjfACg06z8bIPYK9bwTIZL05cYvfwQs/eIRgQSEQIABgUCSXk3
eAAKCRDp1n4q3kFyFriCAKC2P+pdTGDxzCWpcfKCZBaj8dmwywCfTkELJzEf3Xyj
ZaMhQQcyzjr8iKuIRgQQEQgABgUCS3lcdgAKCRD90t6s0zPLoa5WAKCO+kfvJK6Q
FVEvPwpm2cTUcLLahQCdHir4KiMVq5JDJ57APA9SuKjFYiKIXgQTEQIAHgUCQcTB
EwIbAwYLCQgHAwIDFQIDAxYCAQIeAQIXgAAKCRDzgq4Z9IUBgBBjAJ4pryQ6lfyg
AP/A+ALRYS0GbLqllACfbo5spXIP0juZJzLf+5ybojZvDxWJARwEEAEIAAYFAkvH
y8MACgkQp6FrSiUnQ2rYbwf8CrFH3nGxo3gDYGPzD6fvBrM8V7fLTH1dFiJqxc1J
Su0pm51ebaieSHg8mf18zHCWq9q2VbRWHX3MNWx6/+KYg5BVc4nMvGDQLiFA3Ofs
61AeGfzKztP587wUlKYO+J8eTrwYRGFKjURyZOxdMzKBw1LOt9JC87tO2+Fmp7v0
VN2he87tZdgvSk4VhTKXvyMO9Yb/Dhbzz/0T/sRPcOLcUBh0Wt4K4pu4k9h8EJHN
tgvw4Tu6H3jBeXqv0O8st5zvQixI5YxQhtwEaok3CdeXrqz9Bkt85nQ8xnIlkWvV
fVj53hJem27ItdIT+4ZomC/4U/zZgT3wW874bBquKm7ra7kBDQRBxMEbEAQAhJ5F
6B/9bPxiVdshRiouAWc+FbvlvnzEaudFIUHzxGz3olbMnsKgzVsm4yVbieP9R0Rt
E3orYxt132pqjSfW6MFjTMAiMhwoc12vyDzZKuxsgYvmNxaKdj3B1rV7rCJlLQYy
a69qoWaDMqxphmDiip0cndy+jKNvH1DJPY3iZCcAAwUD/2fjAwgEZ6ROpsYacJ2Y
6y33A58CswWQB2PyhzJJiG0W8pQdCAgUFqI9XMjUBAp0at9+uObSwMUKeB3y4ksD
d7x1TIkBKmAMYiTSxd3JewSyRbDq624BJ1almvY3X2ID0mMmfe9P5Se3eeT12KRK
ne2ZYb8heW6M1ze3QU967SaHiE8EGBECAA8CGwwFAkuCo/8FCQm/NFQACgkQ84Ku
GfSFAYCyCwCfZcKAbjpX5zBFhgi8iC0Mo12LG+gAn2a/bQIsofmXOKtwSmUlx9NA
7VxiuQQNBEuCoRYQEACrYaSSlYEgZJoxltoR07R8quoDkIrR7WnWB5ogrevzEM38
+NIXYsPI41Wbp7sIURQTbt6b9KBJEyh6KNS1AjmhwGehmkmngLXNqmVeEppEbOX+
Snj4R+GdxlHfCnBF0TjcfOZBKeI/diQgSSuycLKCRIkzezNDPhX1npOfh8U7c90T
1y1fgrl8rYd105WIWWV/RgC15TqjekalzBbw97Cqn05Wfe7ohIl5zUbliItSW1HJ
fAUxTFk+ZRElQ1ENZc2ns19tuCRVegYeM3a1FognQEMbzyVSNwzBTvS7Q5/1ZVEL
ZKRIxvaB1BZbScMOtgBYkrhpJyClE98r9YH9FW4EpRO8If8Y1A/WPSgT8z0ShZ5T
HVMSHoBi0uD1qd9bgqb3p661BNcnoWPR1OFs4YubwfTB62rNNWt18IliHCnFjDB4
O9QCJhkKaHF+6EGK95j96KKuxt2ro9FmEbii6BtXFUN3lSdukE5no3d+Fa0LtlrQ
BiAguAc1+VJzJ4Ay6LOmj+gaFd8jKJt/dcjUBKB88XJByVRXtYMKSlQNbp0NszIc
OpcT0PeOkMa4pML+JrEYcm74vJDVs33dccpu7AMzYWOPzC7pO8JyUZGVyrbYD6df
MBwOflO51wGqxTUKukSyqZbtQ1AweH3aLi6EUe9QhfukOs92DcdcyY92608QmwAD
BQ//QqQ+4KO6gR/xMk6oARwLaNmmJzGFq4BfwdUeg8BFXtx5qwAnBi1+72BQuo4L
PcUpF1JwDj72Tj+cL/t0G/1dw868cIgNGUuCrKS1TjSV1GZUatXtVCL5Nu8VtHJ7
o2fm+OFxXK2615a+wohbFhUGf65/9oFgetcLBZm+93Ha77X2pvTVMyex+eWGI2AA
572xZBE8b/F3cXE4lmZthrHgXXgI5IghpuLgyCA2jU5CgrW8p8kb7dpA7apHHBrB
FBlP4yWwy6dmfVUrO02OOQJouxP8ht4ehhrUOgU919K6edrzCWHshx14qVzE8Xlj
pRDn8Xf2fw/fCHbJwtgJ6BVpu3HfpLJSffakJ2HmsxmK3aZ1rscckyPPCaKE1yjL
L+tbWWHAChuyD9DfvH8bmrMWpTU53fytpfCDCkRg82wBwnOo64e9MsrdH4+9JFFH
bdBPnXnlzBTrlSeU9VpdbHVi0KZqAIuZ8ah8Wrn0Hb8MnjR9USNlOTA2Se5bq9Ec
rp/1FiIIefUmsM1HNQ8S7ayyCTBb2gIPjqjIT7B0qq6YJj3VJvnM6sxPLFhe0HcU
yODiBoJg9/RTphAHjoYYSr5EGD8B1J3hzYOqerlieDSlwOFRCaZbAA+WdCRQnP6T
XJFKAkuYfBUic/XU0IxuZ0tLrdrnobdcqYbngsD0CcGK9d2ISQQYEQIACQUCS4Kh
FgIbDAAKCRDzgq4Z9IUBgNIcAKDNXKZpZ1Wi50/47SiMGTLdLCpOsACgpEUd28qs
7uxYuJ6v1GM4HgANNFSZAQ0ES8fJbAEIALDsPCxAiHSQBtRfKqF+IoAo5NW7o6Iw
Z9/DbD3QaCunht1UqYJoReWtUtTGmEEzyZv7CwWRT6mr1hHrbVZej1ERhUiXQXEp
5Cj13JAFn9e+ZQyRrg06Ye0WDvie+SkkUINNQ3Oap9yN0qF8VXR3s/+LEpB5mvZY
/XExyOYBBjli9DaVSgc/jebxO2kHUuSPJgEKh134uRUaYLHYGinUtJuVu9us6bZs
qll0E+OdxE2hvvd5OkhcS628RocfvYvOnOSx9woz4zXxzJEf6c+wB33zEhtWObcm
biTh3mhDITYfA66v62uTYRzFOB2nXtBqm5Y/Ax+Fo2reu6dpfvHfjOEAEQEAAbQe
RXJpYyBCbGFrZSA8ZWJsYWtlQHJlZGhhdC5jb20+iQE6BBMBCAAkAhsDBQsJCAcD
BRUKCQgLBRYCAwEAAh4BAheABQJLx8v1AhkBAAoJEKeha0olJ0NqEEcIAJuX/kUa
RSonz0YCN5dGOkB4m10qG6OKvSJLgIxIieDt8KIZnR80kKkvlGlWJKjTdDuXfuyz
42j50kjwq0CnogP48zPBMl7kSC2/8oZQpIO84tgn1Yght+0Q5t6Q/4YGlY/b4puk
AOxzsSw13vSxjETEPeWLBUliotxHDuyjU8QgWn42L0DUOsFHk1okGeejY8fMc9NL
2eZlVib/gjfaqQtc5x1fRcSU7xU8OhWhsbqAQt/i/+8giZ2bEuH/DlZy1SkGFZYh
9AO9I5bZVkM6KGbunOFCh2vdA/8YMt+krrAjt7F67c+l8+2rBrTqzWlp7dp3XeZk
bOQF00qzUcSbzHqIRgQQEQgABgUCS8fLXwAKCRDzgq4Z9IUBgNl3AKCk3CkPlJnC
JtAhYmimwJ8hilKz5wCg1NApn2traDJlUGhJrVGyChksJpm0NEVyaWMgQmxha2Ug
KEZyZWUgU29mdHdhcmUgUHJvZ3JhbW1lcikgPGViYjlAYnl1Lm5ldD6JATcEEwEI
ACEFAkvHylYCGwMFCwkIBwMFFQoJCAsFFgIDAQACHgECF4AACgkQp6FrSiUnQ2oK
5wf9GyVdcjI2OY0yRi5WsLb9qgUFQPEd5mWq5VZfLWegknT8nTMFZLCSLHw5WLH4
yvtAgrtPeugovYYUi9NEMq/WrTWtIKG1DLx8C1V3h8NXmuOPxvCJOi2Ucqq8mrqs
CR93v2NvghS+sJh8DVbXLsTTOkgYSKgxidfsvdJUVa7Ah/V5xZEGeShOGdr2nRCh
4angL4KHFnKA8BCwypJwx0sc+1mIm74ejfF9YhoNfunY88eybTQaIa8BcCMVa5cd
Pbc6ExEIvbdbrlrs/m/Sr8TvRVMqh1URYSCJ6JzLYA2+gJ7+QKUjiK56y0LcrH58
Xbmu9pbUnFc05sXprO74mS3FGohGBBARCAAGBQJLx8tfAAoJEPOCrhn0hQGACmEA
oNbpsjWyjPq0xSzk7VKrnjVnteLUAJ98iUuupMrW9OxQNMGKO2aeB2D/+NHaLdor
ARAAAQEAAAAAAAAAAAAAAAD/2P/gABBKRklGAAEBAQBIAEgAAP/bAEMACwgICggH
CwoJCg0MCw0RHBIRDw8RIhkaFBwpJCsqKCQnJy0yQDctMD0wJyc4TDk9Q0VISUgr
Nk9VTkZUQEdIRf/bAEMBDA0NEQ8RIRISIUUuJy5FRUVFRUVFRUVFRUVFRUVFRUVF
RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRf/AABEIAQUA8AMBIgACEQED
EQH/xAAbAAABBQEBAAAAAAAAAAAAAAADAAECBAUGB//EAD8QAAEEAQIDBQQIBQIG
AwAAAAEAAgMRBBIhBTFBEyJRYXEGFDJCM1JicoGRkrEjJEOhwVNzBzSC0fDxRFTh
/8QAGQEAAwEBAQAAAAAAAAAAAAAAAQIDAAQF/8QAJREBAQACAwEAAQQCAwAAAAAA
AAECEQMhMRJBEyIyYQRRQmJx/9oADAMBAAIRAxEAPwDFycuf3yYdvJ9I75z4oYy8
gj6eX9ZSyh/Nzf7jv3QgdvJcO1NDNysj/Xk/WVIZWR/9iX9RVcbm1IEdVmWBlZH+
vL+spe9ZF/TyfqKCnB8UKOh/esgf/Ik/WVL3qcH6eX9RQf28Eh5obYcZc9X20n6y
pDJn6TS/qKr8gnL2taS40B1R3WWRlzn+vJ+opOzJo2an5EgaPtlYObxyGG2w99/j
0XP5mdlZbjredHQDkqY8dyC11s/tOyJ1NnlfX2iq7/ayQ1okeP8AqK44v8EhI4ci
q/pRvqO0Z7VZOrYyEfeKsN9pZzyLwfN5XC9vIBQeQmM0h+d35pf0f7H7n+nqODxh
uU3TLkyMd1710teTDy+y7TFyHTx/YduvG4pJmuDmvf8Amus4JxviOJToMgamig0u
5qGfHlh3KpLMvw6x02SwnXJJ52SkMqU/13/qRYs1/F4S6a8eYt71cnrOhycftiwy
gG6q0mOe2uGvFsZMzf60n6inOVON+1kPnqRW4wLdbRqb4+CHpgL9Mmph+sOQTTMn
yb3qb/Vkv7x2UTlzV9NJ+pDyYnQPokEHkRyKDqH/AIE07DSz71OeUz/1FN73MP6r
/wBRVbURzTarRoLHvU537aT9SiMmf/Wf+pAJHU7KJde37rRlk5U1/TSH/qUDlTn+
tJ+Diq4OnlaYOA2RLVLL2yp/9x37oTf/AAomT/zk333fuhgVyS+HOpc7FKNUnWbS
Y3qwkK/NMACnAWFIJ/JRAoKGRkNx4y934LSdt5EMrOjw47e7veC5bP4pPmSEai1l
7NCjxHKdkTOc48+QVFdOGEidy2lq0/Ddp3TOcKOwQ0RsL3N1VTfEqpQ0k7qvZMsx
JJJLMIJXjkaTtmkDgQ42EJODRvmhqDuuj4X7R5eM5jHN7VgOwJ3Cu5EUfEXveyN0
UpGqidly8Mxif2jW0r8fEpDJrMh0xi9J+Zc2fF3vF0Y5LeB7QcU4RMS2YvHLQ7cF
ddwv2l4fx2o5mNxcroej1wGaytTon6mj4gPlKpRyaHA7j0TXimc2X6kr1fIidD3X
Du+Kpat1hcE9p5NAx8s628gSVuupwDxu13IhQmNxuqNmzagfxS1EpjsOf4KJNpyJ
XXNRux1UdVlMTSxT6k2vdMDajY9FmBy698n/ANx37oQ5BEyj/OTbf1HfuhjYLHiX
I+qdordNQu06DHG6kmab6KVrCYubGwudsAuc4hmdvLsb+r4DzWhxXJpnYR7vdzro
s7GxbOmxQ+kP+Ffjw/KedZ/uz5LeQfU9UKaPQ7SAt+SGodTaA6IMOLrIcGW0b6j4
q2k/pnMxo8dofkDU7mGBV8jIdO6yA1o5NHRaGVA57zq2/wAqjNCGk2Q0eHVFpVZJ
OR4ckyAkknolFZjSP5BYZLQUqVyPBkkPcFjxRTw1+m6/NDZphVSGQxPBG48D1RJJ
WPJc1mk+R2CL7k9g3CE6Ijml62rMLoDWbJBO6iiGNDIpNEbLPUmPLHWF2PAuKOli
ED9/BcWtng8tGgacDaly49bPhd9Ove5urlRTFwUGS9pGCfW0r2UYNiWpIkKFgdEr
sUmKkarYKJNhPabmfJDbC5Ubfe5rbZ1u/dC93aeiuZI/mpfHW791KOFpFlamih7s
LsOIS91d0cCrzoqcn7OuizRR7CQDYWPJQcHRi3AhaIYqHE3kaY28yjjju6DK9MKS
S3veK1E0p45ZEwN2JJtyBkSxwucNqYNvNZbs1wJr02XX5NI+t9xZKRqOmMf3Qszi
kMTA2ADSOiwJMuaYBrnGhyARsTGdO8DS5yP1oZhsR0080vc1ElSbw5xBdM6338I3
XQQ8IeyMVHpvkK5rVxPZ1zmgzD8E3d9H5jjTw58u3hyAVrG9nnyVbTuu8h4PjxfI
CjMx2R3TaR+RjkYvZhoALm/gjHgjA8RN+EfEf8Lp5ALqvRBdGGNPnzKFkPusccNh
ibTByVV+O1wPdpaz9ifNU5nsaCL3SmjKlgY0G1lzY+p2lo38P+62pC6Ruw0jxVcw
BjTpH5qVUjIkx6FfuqUsRDtlsTN21DoqUga6Unok8GzcZnJWsGURzC+SDO3TIQos
NOVLPqOaftydthTdrGO8rTuaxOCz6otBK19S5ZNdKVIkDwTWo3vuldJiHDhzUrv1
QwUmuulgauRtlS/fP7pRuLeinOwnKl++f3SERPqgc7XaijNjDmn0QtFJ22wc6Qow
7Gj4VhcdnbjZLpHG6Zst0ClxXtjIRxBkYNN0WQqcX8iZ+MafKdLZPzOJVdkbpDTQ
pRxOke0AEgrp8Pghi4ZLI9v8QsPPoV0elkZ/CODPzA0gEukO1dAu54b7Pw4YjOiy
3c7cyj8C4U3Bw4tTe/pFreiY0C63VccZ+TX/AEqQYLRJrcLP7K1oANUjhoB5KDmg
DZUhFZ8YpCfGD0R5DXPkhaibsIDNqlN1Uhyhv5dUd4Djsq8mx3CSmilKGkAoL4mu
bYViVoQi6h6dEujs6ZtEjTsqj222wr85v/Kpv29Emjs+bfalR7M6HOWjkR6tggys
0sqlKwWRnNt9gKlyK18tnd5fKslwpyfFDOdtXg02iZrfE0um5DmuQ4XvmsB5XyXX
6XVy3Us5rIfwRdf/AOprTEnqE2qkuintNdc0if8A0mJW0DpJWgZUv3z+6k1hKnMw
nJl++VNpLWc9vFJaoHVP0p3QXaK1ocbpE5DdKKjoorz/ANqXF/G5GnpQH5L0Z1Od
svPfakBnHnmtqH7K3H6XJe4Lw+OfsmkX2e/4rtG4TXwRx9NQtct7MmxRXbwigOS6
sITtYYwNGyIAOiTBTfJK9KrBEaKUHmlLkEKSxQHVNsNIPbq67IEgoKw4ah+6G8AN
8kGvSlffoppRYUnDvqL7AobpBUZNrCqvPc53SvSNB581VkZpYeSWqYqEo3tVX7FX
pAfBUZUlOAWjoeSrSCwVZeKKDJRBSWMz5hqYQsmRtOefBbzmWKWVlsId2YG7nJcb
2TKbgvAomyZ7NRquWy6+qWRwHCZG4PNGQDfyW24JLl9UlmgC2lFwRtJcaCaWPQdP
90dgr6RdKJaB8KKRvumLUwOkllrIlH2z+6gZNfoqOPwyScSS+8ytc6R/X7RRhwvM
Z8GZf3mqN+d+qaq82YAbBMZS7ZVPc+Js+aF/9k9cRZ8WKx33XIdMtabC4L2wbXGL
+yF2fveSz6TBlHmN1ge0sbcyJswilY9vxamVsqYdVgfZh2qURtPmu8hB0BcH7KQG
LiW533FL0Fg7u3iuvAosZJBF7Kdb+qHGyijtq1QKQFqEkdope0cz+SbVY33R0G1Y
gt5qtIT1tW5ias0q8jaFrCru2cmqhYPNM69SINOkWsyq5oPXdBkjVx4F7KrIQLSW
GlZ87QNis+ZgN+C0Jnc9lUNczukuJvpnyd0oBN7K1NXiqrq6KdmjSoMFLM4nGW50
enmapajBXVElxmT5WOXD4RZ/wo2/N21m17h0DY9WnfxPmrjhuliMDMVobW9kkDmp
uHghh1O08vUGlTcO1AF8kzGgFEI71go7KqSRljqKhVrpsiCN0LO42vBZ0vDYj8Nt
QnJPyHy1cZumOvtH90dreqZjdNiuRRQFzrwwDbpFa3/0gSRML7I3UhCBVF4/FCis
hgO6DnYnvOI6ItB1kAp2seOUjvxU7maC4SB1eIQkFyMzI+H+0Jc0Bsb5NJPQLp2/
D5LlPaoOZjCWqa6Vmo+Ctx8TlZEzH1CXU3U2Txb4r1uOakQy6bUvEGRjY2ht4zGw
1d2sGftN3ao69SVly5UtkNkaTy+FVR3b47dvFcd7fjAPmpDOjPJ4IXnEkfEJTqa+
Nt+LqQ9HFYndyWN3kHpg+nprslhG5DkJ84fyXAwcW4jjbTQO9Wbrd4bxaLLkEZcW
yfUdsVv7NttyPAPkomUclF4fuS0/iqGRO6JnWkorck4ZfeAWdLnMF24LEzuOmy2I
Oe7lsFjyjiGWbjiLR60sFrfyuLwjuh+/WisuXi9OoX6qjHwnLfJ33NDz0L1YbwGe
U958A08wXla4ZX8E/Vxn5DfmufIXO1NHiExklDu66wVHIYzFcI+1ikI51exTtje8
cmOHqo5xbHJYilJ3dzCLHPJO57tNaAA3/ugMgPzDTfJSwHl+Rm6TqjY1qhlirjXU
YcbjhxV9W1J3O1PhzT7lCfsqeTprzSeUuX8lXmmLzRCclQJ28k+iOkB14Ubh9UFA
cKU8N2vhsf3VF3JctnZp40XipH/eKTdkpBUz/vFO3cpVTSC3t9QrQ5KpI4CQWaFh
HZIw8nN/NAVgBDk7rH+ifVyoppd43oCx+LcNj4jAcWWwx1Gx5bqticKBysmHuDs2
sDdLNIArwW5mN09g7qU73Bjo5BttpK9Thz+sdockcvncJlumk6fJc3Jw7NOZ2cdx
Mvn1Xo8z9X4rJysYSOsjdVpJ/bjeIez88De2ilfM0jveIPooYHDZTKZZg5rG9CKs
+i6aWCYfDJyHVVHRSk2ZPyV5nNJXj73tSLWucWkkDxKhkMdAyJ8e8msdket2rbWa
X6juq+XivyOI4VOIc6QAADoClv8As003pp+OaKOHAKH1lmZ2RxZuM/tMaAN08wu2
ySOy3G4XMccJMDw01Y3U8sv6NMNuFizZJGCPvOa3k1W8LKcJBbHUOe6x2RSxOLm3
bTRV7EmErqkbuOqbDLYXBq8Qj97qbHl0vrdpVfHZLjkvnmvwAKO2KORoLXOFeCHJ
i+f90+XLYTHhxrInxRJk6ozuTddFqY0AbW6eLF0vs7kq6yGlyV0dTwHNiLsUiN1O
BGn1tS4Zjy4vCsyLQxzpHN3DdwfX8Ubs7YS5tj0Wlwph93mdtzU+S9Gx6ux4P4cM
bT8rQEp3h7hQSKG5TLe0DsFHSTyTnYosTTRPRG9Fa/DCXcPA8LCmRQQeEOuCRvg5
Hrdc+Xpp4uyH+NJ94pDZNKP40g+0U9+CWqFoDzuE4gaUmm0VqBkRjt6HdS7JzYnN
G6I3dFZshawGY3Vih31SlEwSx6Xb2EeVuqB7fsqvjmmhdv8Ai3rRczS4b2tPZuvy
KzJRNG46o79FuB9bFQexrmmhuu3qpfLn5JA/myj5hVJIA4jw6rbEetzg5gFHoiR4
rOehGFuFc+MS3Dax4BaOHw8B/vErac3Zg8FqSQtYO60BQIBYGgpbRxxPMdUO/Nc3
xXdrl0cjO6PGlg8UYXMukmW9K449uLlga2RxrZ3NM3h2s62GnK1NQcdXK1YwmAnu
mwkwrZ4/kCKKaMUWfiEYsc7otZmLdbfgj+5NA3AVbtKRhsiJPe5I1hp3Wm7HaBsN
wqWRFXRJejzECV9s0jl0V7hIccaWh13WUXDla2eEOEWM4n5iocl6HzpN26g4qbzv
shuvdTlJQ3JmzOY2q2TuQneqYGvwOftHTtArkVfIp9eaxeBGsyVp+Zv+Vtu+IqHJ
6OPizIbmk+8U5BI22UJTU0lfWKm1ySqoD3kWKY5OH5A5xtP4pNcRId/wR2u2Woot
mmHOD+6mzKcTT4XN9U90me62j1SitXYVJh0ir5bUrNqo62zPA8bXV/i3WWi5eLUd
k7q2ANFHms9rj0tFExDbXpQiT2tahiZrOZVbIyqG5Wcct0s3ZsF78kS1o5OT2o0t
6poGE81ExmFgkeOm6lj5kT3bHryU7DS9LMsREW6xc+MujK6J72SRgLIzwwMcbCNn
QTLtw2dBchaAo8PLoJtJ68ldypYzMSfyQQGvksbAKWM7UuW424ZWmrKua2ub5LAZ
OYzfRXYcku2BVvUVqQAWfBZ2TR3ViWTbmqEziUmUPKqPbqeAtfGbpx27rNA079fN
akY0xNHkuTP0bTu3CG7elZbFrbaFNFobYO6WUmldyEUR390FxsJitHhVMzGVzLSF
sv8AjXMcPkLOIwfepdM8kvUeQ2I8h/jSb/Mf3Ts3UJHfzEn3ik0qdViTT/E9UYGy
qzPjcUYOQ0IoNqJ20eqV0ExNaPVYVgFV5W1Lq+sihyhLuz0VOLL5ylDKbhAFqFNN
oHoiRvA2Qc9mqM6ea9WOZm5GQ55oKxgRthbqI75VTHx5C7VIbN8grjpmxUH931TB
ctrjsjV3Rv5Kq9rRY5b8vBOzQ892Qc75pSteWctR8kD/AFro0uXIyLu9Fi5/EJJI
y3qrWRiTyd0FyhNwl3Z3YJW/Bbe3OOBLtzukJCB5q9kYZjdsqWTJBjM1TSNF9FPW
lPrZ2SOKIwvabB3WbBxD3mcQ4cTnXze5buPjaeY1FNCZFFI6VtFvJQkYWkrVx8bs
2OcQLKzc5w10NglybHsCIa5Gt891pk/3UOFcOkyY3yxjvXTR4o00E0Dqkjc31C5M
7qnPDJp7pKjO9tEXzQCoOKWQEHHYoTj6fgpuPNCJ2TFNG/s8mJ3g8Lq3ndcg/Y6l
1odqY0+ItT5Rx9GmdWRJ94pgd1GZ38xJ94pNPNSsWibDZJRQ6gq8Z5+qMNkKKZOy
RNOYFHVQS1XIxYRwU7ioWiRRSTvDY2Fx8lpLb025IBpLXagDXipE3suimxYMThHZ
SgaiLJ81zjXdGr1uOWYzbjmcyyukIoqlNjZFkxI5mGORocCpM8VMG/8Aun2fTieK
ezOTBmCfDme0g3pvYrYwcvHMTm5rHwy+Nlbr2iRu/NV3wNO7mNcE0ayZehCDHfA2
SLiBbYvS6iqb9L4C6TiDWtBPw0iT8Px3vvTpVV/D8dvykoj+n/2YOTxDFZqaO0lc
TQcd1jOwMri0jXzBrI27CgurysXHaGmKMX6KuG6edBSyh/jGdg8N4dFhRnQ3fxWr
CwEtQYmhwsggI8cgb15LJ3tay5GsgpvOlzWZMGMfI7fSCVpZuV2ndCwOIuuCRoN7
FTzpsZ+HReyXE/fcIONB7HbgLrHSWOQLT4rzn/h68mbJj6bFd8x4b3UvNx/UmSWG
WsrClwsSfd8DQfLZUMjgkcguB+kjo5aOrx5hPr62uf4sP9OXyuF5UAJMWpv1m7rO
ftsRS7oO3QMjAxMz6eIX9ZuxW3Y3/jhpdwunxn68OF1/KFGf2VY+/d8j/peP8qxD
w7IxsRkbm6iwV3TaXOywZ6eYXky/eKQI0bJpzc8u/wAx/dLYN3UVYlEe7+KIOfNB
jNhW4MPIyXfwo3O8+iaY23pt6Q5okcUk8zWxtLj5LZxPZ7cOyHavshbmPhxQMDY2
BvorY8F/5JZcsjFw+BOfTsh1DwC2oMaLHAZEwNViqCiPiJPgujHDHHxy58uWTmfa
bO7MlvysbZXC8K4hkyZ75Hu/hyH4PqhbvtZkES5HTali8GiBfqXVepo3FOtujjfv
5Iu3Nu3qqDXkOKtQvDhz3CR0Y0Ugud5Ji8gclOrFJiAQjBsVJhIeQCqyiRoHdtaD
h4k0gSv1CuaIfNZs0ZLfXyVIw6n78loTE3V7IEZ1yafNA0haQyJU5ZgBY5q5nSBg
DfzWNI8vfz2SUPDPk89ys3NA7B4vor9XzP5LN4g7TC/0SWbHHrtr/wDDmDbKmr5g
0Lr3nvlZPsVh+6cBY8inS99a7RZJXRcf2yOK391qQOoeaRJCk1tEbKZYNPJL+m32
gDfVSDr5dU4j3pLsz0CS8RpyJB2yI2SkIDxCkCPyUrxQ05GVN/zMv3ireDwyfO+j
bTfrHkr/AA/gpnyXzZAIj1Gm+O66iDGbGwNa0Nb4BSw4d95K58uvGVhez+Pjgdpc
r/PkthkDWAAADyCJpAFBOBa6JJPHNlyWk1oCkkKT3sgQxCbx9FKtlH5vwWZ5l7YA
xzyA/M4KvwZg7K+qv+3MdTB32gqnAqMYtdOXbo4/4LrmaTyTEFrtTTuP7qzNHtYQ
OSGj72swTgt3Ri3VazXHQdQ2R4cxtCzv5IaPKO7Ybqm9tkkKw6YHmVVklGva0dG2
rzxECyqjB2Ly7wV2WUabO5WPm5QLtLNktjfQOZkGZ5VRo5pbu3UgKFUlkL6g41ss
6eB2bmwYbLuVw1eQWhIA1urkAtL2O4acnLl4jK3b4Y78E3Hhul5MvnF1UULcbCjh
btQpOxlNU5e9JQ5BTaxW9ri2g1tOCLoTtZu1GbHsjIW0AM3S7OuSPo80iKrdYAtJ
9VHswTypEITcil+YO3URxgOKOGqIq1NctpyApJOmQY6SVJLCcjZDJ/iBEJ2Qn7EH
wWgVxHt3BqZqHqsLgj6FFdl7X45lxdXTkuC4Y/s36Sd+S6p3Irx3qx1TwHNtVHXa
sQPD40OSOijo0oThY3VGVhabbYKvH8kGRl7n+yU6gciVooglD96e02SQizQknuml
VfA7q4lAdhT5L3tpuyq6C4b2bVz3fZTZj9Sl021Jsbr3CmYtO9LQEFBVZz2MJL3W
UdDtnSQOzcmLChHfldR8l6Ji4cfDeHxwxgDS2gsn2O4EWB/FMptOf9ED0atnKeZJ
duQVceo5eXL6uoExpdurEcdpo41dig8k0RtV3Np7Qphloz47yPQJ3M6dVgArdQIR
yGs6qs5+t3dWZB259UzW7ojYXVaK2OufNbQOkPM+qmkkuFUxT8wkksxugSpJJFvy
kQhyckkkIbJmcfjEnDnAry8js+ISNHLVaSS6cP4H4vXQ4ryGBWntsc0kk56qu5qD
xaSSxorPFWhadykklvrG0AkhHZE0gJJIF/JnsAsdFV4fhs4nxyHGmJ7K7IHWkklo
pfK7/OrHxxHGA1oFCllRN1GyUkk+PjgXoIxQV6NgASSWyBXr+YkKeTusukkkWZzn
GSTSTQtWWQNaPNJJMXIRzQKACYAeCSSDP//ZiQE3BBMBCAAhBQJLx9gdAhsDBQsJ
CAcDBRUKCQgLBRYCAwEAAh4BAheAAAoJEKeha0olJ0NqedoH/2McrxGkPgq988QQ
rBbST5Pz5WjsvNpRksocimHaRDvzop1tzvyTRQt1QHlHmIt3FEgzioNmfT0yovC0
F/VXjZrMczWnYjCCFATJWhQMgoH/fTUTJVTLMjnlsXOOr+33JGzD0nsQIn3jCCsX
fe7VIMyOiwX/ngron1YluGOvqiNZ0vEeJXuB3mimCe9wEwlLVgmu5PO7hitg31eK
N8PJZuExGqv3VyYYYuwAOydDw8JbEZB59fE2W3EcOaFcMz2GlPEz+VyGfARaGrQD
VDQyr7kQ1kX4OA+yAx2dWmzM8enEw/OjgWDiSkpm6hhIW7q+E1Ip2rTiU9lWHY1B
9P/e/pu5AQ0ES8fJbAEIAMaQwXMWOabKoASfkP4y3g/M907w1q2wPDxCK3dGbO76
RTKDHJhvPnZk7jRZS7sSBDmQNM55E+dM53trBYNByXWAYFeCuRGkCVDSXRF47ntD
R6CUXJ0syLluTBiF9j5PAM8yHdo4/moFeSbiohhKzFvwD6LTQ/vYCoVv1DvfB4b9
+XFI8CkthATmpYZJeM6Rcm/jY0ZLqjqB3hGYPoCnl7wAKjWVIw99OkbNeW3hpGQF
+9s0J82xCKQtnMVgMttCAoEDfcEN5Xq80n0KPRKAQY6RjJ53gjoBtTSQjLWEcCbW
vr6wCcR0gqNweLfFYf9Q+tlbl+UzwqqjXg5MOQj0S2UAEQEAAYkBHwQYAQgACQUC
S8fJbAIbDAAKCRCnoWtKJSdDarTfCACZEUYN5fNznw1fQ2sOKNS7TPHcuez+pn1W
uRJZs1kEWOlYpp4vV91V4ThMMaYjmZFEixK2NDNzZH1v7ZUFSGUCpjWcCIEO/RCe
371wuK4QgJ5TCXKXjZh3CmZjQQtzLn67rDOYr+PGtg6nNcoPAurmThf6GYa5I1ZY
A3eAeImqYlk+SEU9QijNlQJ4RzvqlL8hQ3vY1+mtmYUOnr9AOMMW19Lf1sdJZcpV
lRupow+qWP/PpSCTTbv/cZSMcevxaR4vV7NZ6lgNjtZKhfB+gAvZRdiwwCv+5Sdx
IqV+O8CuGx6PRLjNuqKbZljpLxpFbD3gndtK8lH43BuzfgY9MPg+
=FC1k
-----END PGP PUBLIC KEY BLOCK-----
GPG keys of Bernhard Voelker <berny>
-----BEGIN PGP PUBLIC KEY BLOCK-----
Version: GnuPG v2
mQENBFPirzMBCACyzYldTjQ4ufFOkByY5Nn5USb5GFoL48nWBwNHjd9KUbtRRNlQ
iPNKd6hKGvd3BGi5aoFKA4ytfRk6jbAbW3jVb3R8wYaV08mOy4KVEKxqN4bxsXlM
jNChXVR+rtKDmfI+oPTL+cPH2X6gW4W02IRbVw0uUhNm6zEedC/gNrY/mTlf1enZ
46jxZ7BTUZaG+kx38UMISIMBzSzLRtdkwgmHj4jS3p1fF2cwRqLclIfMjKGpbNFP
EXeXKWrCLcqHw78795eAR9q0YvrDkfInGdDBwfb3VM4NdulwIFzvYZMSXvSbbyPL
B5YkHU5aAWQHUse4WlfT5ccDpbzUYldRAvF9ABEBAAG0K0Jlcm5oYXJkIFZvZWxr
ZXIgPG1haWxAYmVybmhhcmQtdm9lbGtlci5kZT6JATkEEwECACMFAlPirzMCGwMH
CwkIBwMCAQYVCAIJCgsEFgIDAQIeAQIXgAAKCRBGUC73lpFxle5wCACCdbs0QaJ0
vR3Sff2cKdTk41rUq3YfWngsR///IOU0C5DdkePmCnJE/lUsUy0LRTxcUDLxQR+x
QHU8ssRT0JUO9726dI3miy36UdsgmBYaOtLvQcidGmW1R7o0PYYf04+TFtyqKgng
OUBPpMgR6o4UsQxy/OD4bN1WDqOgIjL+D/qJpkKmgp6L6+hhaBCpiOFKRmmV7YyQ
3SqVlfQNiHs5ZtkRnXpIjgZARV+GllKucI17bO0CGmTJZ1tstVy0+W3DQT1lbBkT
Tc++5LONM99D3jjn23l1ocOpfolR53F7I4cb2RNfT23v1I59RH37lB9wMOqrKj0U
jYAC2YoPGQ3BuQENBFPirzMBCADXLWWpQihBldY6reca8ZKdc3T9qXEOa3akE3DW
KztIBmNJhtYOjmpLYajQTkGa7UoJTnbmZE2Rn6ZEoNnvb0gcFNAIcY95KOI+bjOR
8HEgh4cx2REXh6L6olIgyXqt/KFusE4wtVZAFxZl+30HzN6nD+1HvrjXxPJRX6Ms
IYOYyyX9/6OofwJK6QHODYGp8WL2olHDnmsXg4AT6Wlr7qKpKrQELlcFR4xkvdmg
L/Ghw/tK0yJTxMIcewCCZWLPOXRmFRbvAadZWPAgVsJ63siNyUlVnVMSzDgTJl+s
l/DMabXpqrJQx3/1Yy6mTaDs3XZT/wmBKaTLXx/LByaPxQQ7ABEBAAGJAR8EGAEC
AAkFAlPirzMCGwwACgkQRlAu95aRcZWVPwgAqZT6iTXkoP37wYb41323RzhBcJ8J
Sk4cyBDBUXX0lMrM3qhiClKG7phpxVdu817Gwc6Hsecg7FfjQAV8MHQ0ZFeEFdk3
b2rKBqfsStc+h49/xF3Fb+ifCzR9qeQF82fMSxkg18++7hMcHCMO/hPZ/Q0xRi+l
rSr2QKDJQuLzSyVU14TxrCkevZjEhtmaVNvcJlJzCbiBXee9Fpc5jITUXPFG8E8d
xqo1n+duOyIMgozrAnzP7X5V/Ob/Ozf/aGGX9+JdinyfCX18nWcHALKMU/36Eua/
ylalf/2c2YkBp9KCLVmGgPkUgW52EeRPgroIsiwu+rwCSV6ZUyCJ+OymCg==
=d/K6
-----END PGP PUBLIC KEY BLOCK-----

@ -1,11 +1,16 @@
Summary: The GNU versions of find utilities (find and xargs)
Name: findutils
Version: 4.8.0
Release: 6%{?dist}
Version: 4.10.0
Release: 5%{?dist}
Epoch: 1
License: GPLv3+
License: GPL-3.0-or-later
URL: https://www.gnu.org/software/findutils/
Source0: https://ftp.gnu.org/pub/gnu/%{name}/%{name}-%{version}.tar.xz
Source0: https://ftp.gnu.org/gnu/%{name}/%{name}-%{version}.tar.xz
Source1: https://ftp.gnu.org/gnu/%{name}/%{name}-%{version}.tar.xz.sig
# From https://savannah.gnu.org/project/release-gpgkeys.php?group=findutils&download=1
# which is linked as project keyring on https://savannah.gnu.org/projects/findutils
Source2: findutils-keyring.gpg
# do not build locate
Patch1: findutils-4.5.15-no-locate.patch
@ -22,8 +27,8 @@ Patch4: findutils-4.6.0-test-lock.patch
# implement the -noleaf option of find (#1252549)
Patch5: findutils-4.6.0-leaf-opt.patch
# fix find not obeying option -ignore_readdir_race in symlink_loop (#2232519)
Patch6: findutils-4.6.0-ignore_readdir_race-symlink_loop.patch
# fix find not obeying -ignore_readdir_race in symlink_loop (#2232278)
Patch6: findutils-4.9.0-ignore_readdir_race-symlink_loop.patch
Conflicts: filesystem < 3
Provides: /bin/find
@ -38,6 +43,9 @@ BuildRequires: libselinux-devel
BuildRequires: make
BuildRequires: texinfo
# For gpg verification of source tarball
BuildRequires: gnupg2
%description
The findutils package contains programs which will help you locate
files on your system. The find utility searches through a hierarchy
@ -50,6 +58,7 @@ You should install findutils because it includes tools that are very
useful for finding things on your system.
%prep
%{gpgverify} --keyring='%{SOURCE2}' --signature='%{SOURCE1}' --data='%{SOURCE0}'
%autosetup -N -S git
# drop the source code of locate
@ -81,11 +90,6 @@ git add --all .
git commit -q -m "after invocation of autoreconf"
%build
# disable -flto on ppc64le to make test-float pass (#1789115)
%ifarch ppc64le
export CFLAGS="$RPM_OPT_FLAGS -fno-lto"
%endif
mkdir build
cd build
%global _configure ../configure
@ -114,18 +118,61 @@ rm -f %{buildroot}%{_infodir}/dir
%{_infodir}/find-maint.info.*
%changelog
* Thu Aug 17 2023 Lukáš Zaoral <lzaoral@redhat.com> - 1:4.8.0-6
- fix find not obeying option -ignore_readdir_race in symlink_loop (#2232519)
* Tue Oct 29 2024 Troy Dawson <tdawson@redhat.com> - 1:4.10.0-5
- Bump release for October 2024 mass rebuild:
Resolves: RHEL-64018
* Fri Oct 25 2024 MSVSphere Packaging Team <packager@msvsphere-os.ru> - 1:4.10.0-4
- Rebuilt for MSVSphere 10
* Tue Jul 02 2024 Lukáš Zaoral <lzaoral@redhat.com> - 1:4.10.0-4
- fix autofs patch when stat was not performed (RHEL-43285)
* Mon Jun 24 2024 Troy Dawson <tdawson@redhat.com> - 1:4.10.0-3
- Bump release for June 2024 mass rebuild
* Tue Jun 04 2024 Lukáš Zaoral <lzaoral@redhat.com> - 1:4.10.0-2
- enable LTO on ppc64le to fix rpminspect warnings
* Mon Jun 03 2024 Lukáš Zaoral <lzaoral@redhat.com> - 1:4.10.0-1
- rebase to latest upstream version (RHEL-39698)
- add GPG tarball verification
* Wed Jan 24 2024 Fedora Release Engineering <releng@fedoraproject.org> - 1:4.9.0-8
- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild
* Fri Jan 19 2024 Fedora Release Engineering <releng@fedoraproject.org> - 1:4.9.0-7
- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild
* Tue Sep 12 2023 Lukáš Zaoral <lzaoral@redhat.com> - 1:4.9.0-6
- fix find not obeying -ignore_readdir_race in symlink_loop (rhbz#2232278)
* Wed Jul 19 2023 Fedora Release Engineering <releng@fedoraproject.org> - 1:4.9.0-5
- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild
* Wed Apr 12 2023 Lukáš Zaoral <lzaoral@redhat.com> - 1:4.9.0-4
- migrate to SPDX license format
* Thu Jan 19 2023 Fedora Release Engineering <releng@fedoraproject.org> - 1:4.9.0-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild
* Thu Jul 21 2022 Fedora Release Engineering <releng@fedoraproject.org> - 1:4.9.0-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild
* Wed Feb 02 2022 Kamil Dudka <kdudka@redhat.com> - 1:4.9.0-1
- new upstream release
* Mon Jan 24 2022 Kamil Dudka <kdudka@redhat.com> - 1:4.8.0-6
- make findutils build on 32bit x86
* Mon Aug 09 2021 Mohan Boddu <mboddu@redhat.com> - 1:4.8.0-5
- Rebuilt for IMA sigs, glibc 2.34, aarch64 flags
Related: rhbz#1991688
* Thu Jan 20 2022 Fedora Release Engineering <releng@fedoraproject.org> - 1:4.8.0-5
- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild
* Thu Jun 10 2021 Florian Weimer <fweimer@redhat.com> - 1:4.8.0-4
- Rebuild with updated binutils (#1960667)
* Wed Jul 21 2021 Fedora Release Engineering <releng@fedoraproject.org> - 1:4.8.0-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild
* Thu Apr 15 2021 Mohan Boddu <mboddu@redhat.com> - 1:4.8.0-3
- Rebuilt for RHEL 9 BETA on Apr 15th 2021. Related: rhbz#1947937
* Tue May 25 2021 Florian Weimer <fweimer@redhat.com> - 1:4.8.0-3
- Rebuild with new binutils to fix ppc64le corruption (#1960730)
* Tue Jan 26 2021 Fedora Release Engineering <releng@fedoraproject.org> - 1:4.8.0-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild

Loading…
Cancel
Save