<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<!DOCTYPE bugzilla SYSTEM "http://bugs.gentoo.org/bugzilla.dtd">

<bugzilla version="2.22.7"
          urlbase="http://bugs.gentoo.org/"
          maintainer="bugzilla@gentoo.org"
>

    <bug>
          <bug_id>19192</bug_id>
          
          <creation_ts>2003-04-12 05:19 0000</creation_ts>
          <short_desc>spamprobe (new ebuild)</short_desc>
          <delta_ts>2004-09-14 07:24:12 0000</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>Gentoo Linux</product>
          <component>Ebuilds</component>
          <version>unspecified</version>
          <rep_platform>x86</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <keywords>EBUILD</keywords>
          <priority>P2</priority>
          <bug_severity>enhancement</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          
          <everconfirmed>1</everconfirmed>
          <reporter>A.Schneider@magicspace.de</reporter>
          <assigned_to>net-mail@gentoo.org</assigned_to>
          <cc>cummings@stingray.net</cc>
    
    <cc>rizzo@gentoo.org</cc>
    
    <cc>robbat2@gentoo.org</cc>

      

      
          <long_desc isprivate="0">
            <who>A.Schneider@magicspace.de</who>
            <bug_when>2003-04-12 05:19:19 0000</bug_when>
            <thetext>Fast, intelligent, automatic spam detector using Paul Graham style Bayesian 
analysis of word counts in spam and non-spam emails.

PS. I hope this ebuild is complete and correctly, because this is my first one..
.</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>A.Schneider@magicspace.de</who>
            <bug_when>2003-04-12 05:20:25 0000</bug_when>
            <thetext>Created an attachment (id=10542)
spamprobe ebuild
</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>cummings@stingray.net</who>
            <bug_when>2004-02-22 17:09:09 0000</bug_when>
            <thetext>Created an attachment (id=26133)
Updated ebuild and a patch to configure.in to allow db4 to work in the 0.9h
version.

I haven&apos;t tested this ebuild extensively, it&apos;s a modifed version of the one
posted earler, but it should compile with db4 now.  Others who know more about
autoconf can check out how I did the testing for db4 and improve on it.
</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>davin@wordpainter.net</who>
            <bug_when>2004-04-12 13:49:39 0000</bug_when>
            <thetext>Any progress on getting this into the stable tree?</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>A.Schneider@magicspace.de</who>
            <bug_when>2004-05-17 13:04:12 0000</bug_when>
            <thetext>no reaction from an real gentoo developer over a year....
not interested to get this into portage? its realy a good program and Matthew P. Cummings makes a real good update to the ebuild to make it db4 compatible</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>gentoo-bugzilla@fred.jolliton.com</who>
            <bug_when>2004-07-19 08:22:05 0000</bug_when>
            <thetext>Yes, please add this ebuild in stable tree.

I use SpamProbe on several email servers, and an &quot;official&quot; ebuild would be very interesting.

The ebuild work correctly with db 3.2 (not tested with 4.0, nor 4.1.)</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>ticho@gentoo.org</who>
            <bug_when>2004-09-02 13:09:21 0000</bug_when>
            <thetext>Could you please attach each file separately? I&apos;ll have a look at this, it looks interesting.

Sorry for late response by the way.</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>A.Schneider@magicspace.de</who>
            <bug_when>2004-09-04 03:41:50 0000</bug_when>
            <thetext>Here are coming my actual ebuild and the modified (only a bit) patch from Matthew P. Cummings.</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>A.Schneider@magicspace.de</who>
            <bug_when>2004-09-04 03:42:52 0000</bug_when>
            <thetext>Created an attachment (id=38889)
actual ebuild
</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>A.Schneider@magicspace.de</who>
            <bug_when>2004-09-04 03:44:11 0000</bug_when>
            <thetext>Created an attachment (id=38890)
modified (only a bit) patch from Matthew P. Cummings
</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>ticho@gentoo.org</who>
            <bug_when>2004-09-06 14:31:59 0000</bug_when>
            <thetext>Hm, I get this output during final linking, no matter if the patch gets applied or not:

g++  -march=pentium4 -Os -pipe -fomit-frame-pointer -funroll-loops -falign-functions=4   -o spamprobe  spamprobe.o LockFile.o File.o FrequencyDB.o FrequencyDBImpl_bdb.o FrequencyDBImpl_dbm.o FrequencyDBImpl_cache.o FrequencyDBImpl_dual.o Message.o MessageFactory.o SpamFilter.o MimeHeader.o MimeLineReader.o MimeMessageReader.o Tokenizer.o util.o RegularExpression.o md5.o LockFD.o FrequencyDBImpl_hash.o FrequencyDBImpl_split.o hash.o WordArray.o MD5Digester.o FrequencyDBImpl_pbl.o  -ldb-4.1
FrequencyDBImpl_bdb.o(.text+0x275): In function `FrequencyDBImpl_bdb::openDatabase(File const&amp;, bool, int)&apos;:
: undefined reference to `db_create_4002&apos;
FrequencyDBImpl_bdb.o(.text+0x2b6): In function `FrequencyDBImpl_bdb::openDatabase(File const&amp;, bool, int)&apos;:
: undefined reference to `db_strerror_4002&apos;
FrequencyDBImpl_bdb.o(.text+0x3c1): In function `FrequencyDBImpl_bdb::openDatabase(File const&amp;, bool, int)&apos;:
: undefined reference to `db_strerror_4002&apos;
FrequencyDBImpl_bdb.o(.text+0x4f5): In function `FrequencyDBImpl_bdb::closeCursor()&apos;:
: undefined reference to `db_strerror_4002&apos;
FrequencyDBImpl_bdb.o(.text+0x5be): In function `FrequencyDBImpl_bdb::closeDatabase()&apos;:
: undefined reference to `db_strerror_4002&apos;
FrequencyDBImpl_bdb.o(.text+0x66e): In function `FrequencyDBImpl_bdb::closeDatabase()&apos;:
: undefined reference to `db_strerror_4002&apos;
FrequencyDBImpl_bdb.o(.text+0x79c): more undefined references to `db_strerror_4002&apos; follow
collect2: ld returned 1 exit status
make: *** [spamprobe] Error 1

My sys-libs/db is 4.2.52_p2</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>A.Schneider@magicspace.de</who>
            <bug_when>2004-09-07 11:22:47 0000</bug_when>
            <thetext>Created an attachment (id=39137)
Updated Patch

Should now work with db-4.2.
But I only tested it with db-4.1 and db-4.2. Can anyone test it for the other?</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>ticho@gentoo.org</who>
            <bug_when>2004-09-07 14:53:45 0000</bug_when>
            <thetext>Again, linking error when using db-4.0:

g++  -march=pentium4 -Os -pipe -fomit-frame-pointer -funroll-loops -falign-functions=4   -o spamprobe  spamprobe.o LockFile.o File.o FrequencyDB.o FrequencyDBImpl_bdb.o FrequencyDBImpl_dbm.o FrequencyDBImpl_cache.o FrequencyDBImpl_dual.o Message.o MessageFactory.o SpamFilter.o MimeHeader.o MimeLineReader.o MimeMessageReader.o Tokenizer.o util.o RegularExpression.o md5.o LockFD.o FrequencyDBImpl_hash.o FrequencyDBImpl_split.o hash.o WordArray.o MD5Digester.o FrequencyDBImpl_pbl.o  -ldb-3
FrequencyDBImpl_bdb.o(.text+0x275): In function `FrequencyDBImpl_bdb::openDatabase(File const&amp;, bool, int)&apos;:
: undefined reference to `db_create_4000&apos;
FrequencyDBImpl_bdb.o(.text+0x2b6): In function `FrequencyDBImpl_bdb::openDatabase(File const&amp;, bool, int)&apos;:
: undefined reference to `db_strerror_4000&apos;
FrequencyDBImpl_bdb.o(.text+0x3bf): In function `FrequencyDBImpl_bdb::openDatabase(File const&amp;, bool, int)&apos;:
: undefined reference to `db_strerror_4000&apos;
FrequencyDBImpl_bdb.o(.text+0x4f5): In function `FrequencyDBImpl_bdb::closeCursor()&apos;:
: undefined reference to `db_strerror_4000&apos;
FrequencyDBImpl_bdb.o(.text+0x5be): In function `FrequencyDBImpl_bdb::closeDatabase()&apos;:
: undefined reference to `db_strerror_4000&apos;
FrequencyDBImpl_bdb.o(.text+0x66e): In function `FrequencyDBImpl_bdb::closeDatabase()&apos;:
: undefined reference to `db_strerror_4000&apos;
FrequencyDBImpl_bdb.o(.text+0x79c): more undefined references to `db_strerror_4000&apos; follow
collect2: ld returned 1 exit status
make: *** [spamprobe] Error 1
</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>ticho@gentoo.org</who>
            <bug_when>2004-09-07 14:54:53 0000</bug_when>
            <thetext>Actually, it tries to use db-3.2, as it doesn&apos;t even look for db-4.0 (according to configure output).</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>A.Schneider@magicspace.de</who>
            <bug_when>2004-09-08 08:05:40 0000</bug_when>
            <thetext>Created an attachment (id=39203)
Updated Ebuild

The new ebuild is required for the new patch i wrote</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>A.Schneider@magicspace.de</who>
            <bug_when>2004-09-08 08:08:27 0000</bug_when>
            <thetext>Created an attachment (id=39204)
Updated Patch (again)

Completly new patch from me, which is now using some makros from ac-archive, to
test installed db version.
I tested it now lokaly with this db versions:
sys-libs/db-4.2.52_p2
sys-libs/db-4.1.25_p1-r3
sys-libs/db-4.0.14-r3
sys-libs/db-3.2.9-r10

I hope it works also on other Systems well.
</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>ticho@gentoo.org</who>
            <bug_when>2004-09-08 14:28:35 0000</bug_when>
            <thetext>This is getting more and more fun:

# emerge spamprobe
Calculating dependencies ...done!
&gt;&gt;&gt; emerge (1 of 1) mail-filter/spamprobe-0.9h to /
&gt;&gt;&gt; md5 src_uri ;-) spamprobe-0.9h.tar.gz
&gt;&gt;&gt; Unpacking source...
&gt;&gt;&gt; Unpacking spamprobe-0.9h.tar.gz to /var/tmp/portage/spamprobe-0.9h/work
&gt;&gt;&gt; Source unpacked.
&gt;&gt;&gt; Unpacking spamprobe-0.9h.tar.gz to /var/tmp/portage/spamprobe-0.9h/work/spamprobe-0.9h
 * Applying spamprobe-0.9h-db4.patch...                                   [ ok ]
configure.in:124: warning: AC_ARG_PROGRAM invoked multiple times
configure.in:8: error: possibly undefined macro: AC_DEFINE
      If this token and others are legitimate, please use m4_pattern_allow.
      See the Autoconf documentation.
configure.in:9: error: possibly undefined macro: AC_MSG_ERROR
configure.in:46: error: possibly undefined macro: AC_TRY_LINK_FUNC

The above happens when I use the patch from your latest attachment (attachment 39204). I&apos;m using autoconf 2.59 for this (when using 2.13, it bails out with &quot;FATAL ERROR: Autoconf version 2.52 or higher is required for this script&quot;)</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>A.Schneider@magicspace.de</who>
            <bug_when>2004-09-14 06:29:29 0000</bug_when>
            <thetext>Created an attachment (id=39571)
newest ebuild
</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>A.Schneider@magicspace.de</who>
            <bug_when>2004-09-14 06:29:58 0000</bug_when>
            <thetext>Created an attachment (id=39572)
newest patch
</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>ticho@gentoo.org</who>
            <bug_when>2004-09-14 07:24:12 0000</bug_when>
            <thetext>As problems have been resolved by private email and ebuild is now fully functional, I have committed spamprobe to CVS. Should hit your local mirror in few hours. Thanks a lot for work on the patch, Alexander!

Btw, I&apos;ve included spamprobe into my spamfighting toolchain, we&apos;ll see how well it performs over time. :)</thetext>
          </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="0"
              isprivate="0"
          >
            <attachid>10542</attachid>
            <date>2003-04-12 05:20 0000</date>
            <desc>spamprobe ebuild</desc>
            <filename>spamprobe.tar.gz</filename>
            <type>application/x-gzip</type>
            <data encoding="base64">H4sICLfXlz4AA3NwYW1wcm9iZS50YXIA7VdtT+M4EOZr8ytGWT7AaQlJ27QLS7nrtT222gK9Ajqt
dBJyk2ljkcSV7QA9lv9+477QLveCTgvcndaP2iaxx8/YHs8zjZqwbCLFEHc3Xgy+X/XrYUjXGR5f
5/f1WjWsh5UwDDb8IAjrwQaELzelFQqlmQTYkELov7N7qv9/CvUQ/xFPUb3IKfgn8S9XyxT/cq3u
2/i/Bh7HP+ZjVHrnoXnH994Nv9KHH/h+rVr9y/gHfnke/7BK+U/nJKiFQX0D/GdZ4RP4xuN/3A6B
hXEclemnHAdBbVRB+lZrQ79cZ+hXqiP48jR4tGHe+DcIgr267zv/9gosvgar/G8lLB9jT4yf3ccT
+W+q/TL/y36F7oNKpWLz/1XwBh7iDiMh4aDVPO8cnQ4+He4e9Jutj82jzuVJ87hz6JClmEwlHyca
yhS2HfqpwBHmWgg4xyjJRSrGHNVb6OaR9x7aXGnJh4XGGIo8Rgk6QTjq9+C6TGybH5BR4z5sOs53
XyoMbAVVaE6k8VPZdhwgrXl4fg/NFG/ZjPCMvCI3dwds2eipZeMPGRvziKgj9GI8XFvpPlE245gm
xnOuOUvX+m4SHiWgElGkMQwRiknMzBJuEszxerEK4rxiYwSuiGlpwXNg+RRu2NSD84QriGaktCtk
B3TMxqiNnRZQKJRqYZUhy6k7YdpQE18ksoy2VS0ncYNpCng7SRnPaTitEm4kJ6rcuIxSGg+dfJxy
lRhKhBg146kCNhSFJkJjzfMxEUuJkV7Ni0wkrlETnVmdusLUWzsX9M9gsS1TUZgJksMRzx/sTW5A
zA23kFMQo/keCanNHkmcCMVNj2eLxX8NK/1/VORxWPA0fhYfT+l/JXz8/hdWA9/q/2tgXdWDvb29
J1SddPvPZV2jzNQy849OLgwFShLWfjFMeQQ9HmGu8I/S3+6ctQbd/nn39KTh/sSUfkuqoknx6EUk
pwdWaJExTRTmgBppm6kMKahRtD4rUjiSLKEupaekUz+yKSrOjBSzdKr4bFI3QsakfoURVdKsGZOR
0Vzks1cdwMwIpuc6H06PO30qeg030Xqyv7tKC0+JQkZIRXKMXo5613XOBq3Li0G34WZcSiGN9cpm
NXJ3865/v/jX7DpOr9vqnJyRh5/7PeLonZ43XN91PnY+/XI6aJ813Nt3NTLrXhibIcqreOjSNvU7
J+2Ge82lLli6m2nmlOad38MWHDbUVO2kfEhvcMOdileGbaJQMrqkYjIh/d7ahjunlIqIQpJNI5GP
HKeE5gq/OqXS5t288R4+fyYlR9OZsStcPIK7oAGzoBQz17mf0/Oc8idN5/SzERTQ83Z30Ni8a9/D
onvFGotYRDDoNNvHHU/f6rXCu9gX0+qUnNKbWSlbFhEqhVJHhTbF0xwxKm3XOKuUJo4UZcWzSTrd
p3H0wUd+723hsbCwsLCwsLCwsLCwsLCwsLCwsPjm8Dv4uSrIACgAAA==
</data>        

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>26133</attachid>
            <date>2004-02-22 17:09 0000</date>
            <desc>Updated ebuild and a patch to configure.in to allow db4 to work in the 0.9h version.</desc>
            <filename>spamprobe-0.9h.tgz</filename>
            <type>application/x-gzip </type>
            <data encoding="base64">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
Yv7T3VuVkD4aH2Twg6sYB4YQwh3v6GROdslK3bwfhUXXOP/2JTZEyY6U//Hjo7JoNnXUmtWi5g2O
cl5lElFEPbacZy1Py4b7dv9/4+HQ1Ly2vo/r1C23ViL467yaH6Z6WqOQB1YNjTw+EfzqwFqkT5fY
Tvo3LGnI1lMVYGrpO3J/V7hZUY25Ocr8cC2Sk/GkRLzUMKlx6T3R6ZQLTvuo+RJ//4FpsooVFLk0
uNfMyO3n0yq+4UfSjGgvr/LjJI+3lHqa4sPPPwTTtzCjrUezEoLr5NkxB+wJrv/YFgZZQ4GrERFR
smoLdhSSTKTYew613+XGzO6zjgpiE4Kdj0jzJhTeTkhcf760Zt4Yfu4iRJoXA/sur3Y6/kIbO5Hx
ejNYbefHSjKdGqFF5ZllmcSZ4jkLjK+z8zd19DOgUB5ajic2QK31I5L9TVjKnA5BVR5ib6k8bvWg
knVzvvBxNeEZemVv6szKOHHW52cVaVbKYuzkaDa04aR3QvsXq4U8ryFCeYidzcsyagqjUqyGAy0x
PazZweeCrnENQnTjullpGlLf9cYxwwUhkjByf1f1fuKCdTabAgB/cNbWYlRlHVt8NOeVcFPp6DSR
FgxvMFBdzWIbW+8fRO2NKNDRG2+dPW6/i2wCP3cm7ArcduvJPpSDvGmiwoc0O1tf6udMkCNxGybo
y3t9aXvlUQUbnxJnJl7h9Og6h+92bzd02pC3+IQoHuGUujYNXiqHkNkFM/2iCR67sp47fIpwFmT4
3N+sq/B9RmSlh1bJeVy5WpquiwVbikZ1IJ6XDaFXjPiBrAYmqOBtsU0mLKJOhLB5JZ49lQy8TzvO
2a0aM547cnDR6lhkqzo/V6kl1fg2ighYwOR+YgZYtBYqWDHT2IM6jIWelXe/Lb2mHpuK8n7PEOhE
qhOchx8Yk7MOJrPa9SRYMZi4sjKDhuOHRQaj4nipsPy55HAFV87TlXiKn3G6T2atwIpFC0WFdEby
+vbU02ejnmc2VpgZmTCjJgvCOYnlvyKSTG0Tmw/saetn9DPiFyWEfAnvy2yEaDSro5oG4lqQneVq
Ir3UrfhKArj6SK7Qp8bsjwkTOwNziIZZhWvYsKmS/GJuH0/DZnlkTLaky5ov31vpw8cU9KxtjfCj
43jtpJRc8Q7eKUzs2mD8yNi/vH75NjuNEmqUShB5sgYotznxRpLg5NJDJHAZ+yR5mfB+6xkJkdjS
dJsaF50Amu3Lweu3RBA2pdXKm4jIsG2wH6apXzA/ABUP0NGpv0LFRme4rRwEs/LCVo5wWu94f7ck
A816p5yIBnSjXlSjK38YAJyTLPeXrp7PN156VQlIwHryHJxKdvOEZTNfDEUSpyzzLgevYfeUxo5F
lniQ0fVXlC7HpmuZxGp+xS1uDyf1bfJ4Tw8ePzt4ZheVCs4o7TCQI6+DG+4ooiwRueNgRkhcLvVI
q7N8zQx/plBPOnUQF7DR+mloMUJG7n4evDNxsKx4j3Y33h1oTUTK8ufcJVx4IT2zmaW+/+64r1Lo
onhjbaUWMqAkZkpyeAQSPNqTIub50aTcUtdpXB5bO1tkdGzftl6npAMaVUFHfXb5cHfG9SJwpwMV
5HMQUT5/jjvt3S++/bY4SI3bcOx1g+iDqEKUOoiKzOGvm8l8sSfl1VOKznRR+WCyOdlK32ZYovPT
vTCIDv25u16NdVEcfZ21fOI8O55rbvQaFvGWfuqmY/zuPy2xTzJMeBndsrH91ZcIgEFdWSw3Ylpb
Sp+bwQPH5YVa01hkR6GZVBVapOtmmoAfvdcvOR37OoDjbBvA0VVMF9GvoN6QU0MNjeUdFa62b031
Jv857CnQZ94034drOS6lQ1FNAtVvcuEHUOgv7TitIbJviESFz+6UpGdp6rnlyXwB+gj5dyfB93V5
Qk5Xamk7086ow+oclYSjgaJCjqfl2+EV8vzJ67jd8fzOvEdp2VQfD5MZ2F16Jm6SECNBkjEeTa6Y
iWZDbSiRM7DT3ssum8kob7rsjf7tgxf4jU9VzkZHFPqvx53ZIZtAEsn4lmWg4H+Dm603r0CEpuW0
iu2K0WxUgxSD+DTIMUwDjxW941m1Lmy206VWr3OjA4VH7IvfwGQtUTucjmhtdF1UqUsVpOgUR4Kv
aP+dM9k88YOynDjJ2dIdmmnWp9Evlh3+WqmVBbo8SHZE7hPM0QGDOTmJ5Wx/vD4KLauxxdKGSi41
Fr/ZbgZpPczLv9x93X3dfd193X3dfd193X3dfd193X3dfd193X3dfd193X191tf/Ax6UJFsAyAAA
</data>        

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="0"
              isprivate="0"
          >
            <attachid>38889</attachid>
            <date>2004-09-04 03:42 0000</date>
            <desc>actual ebuild</desc>
            <filename>spamprobe-0.9h.ebuild</filename>
            <type>application/octet-stream</type>
            <data encoding="base64">IyBDb3B5cmlnaHQgMTk5OS0yMDAzIEdlbnRvbyBUZWNobm9sb2dpZXMsIEluYy4KIyBEaXN0cmli
dXRlZCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIHYy
CiMgJEhlYWRlcjogJAoKaW5oZXJpdCBldXRpbHMKCkRFU0NSSVBUSU9OPSJGYXN0LCBpbnRlbGxp
Z2VudCwgYXV0b21hdGljIHNwYW0gZGV0ZWN0b3IgdXNpbmcgUGF1bCBHcmFoYW0gc3R5bGUgQmF5
ZXNpYW4gYW5hbHlzaXMgb2Ygd29yZCBjb3VudHMgaW4gc3BhbSBhbmQgbm9uLXNwYW0gZW1haWxz
LiIKSE9NRVBBR0U9Imh0dHA6Ly9zcGFtcHJvYmUuc291cmNlZm9yZ2UubmV0LyIKU1JDX1VSST0i
bWlycm9yOi8vc291cmNlZm9yZ2Uvc3BhbXByb2JlLyR7UH0udGFyLmd6IgoKTElDRU5TRT0iUVBM
IgpTTE9UPSIwIgpLRVlXT1JEUz0ieDg2IgoKSVVTRT0iYmVya2RiIgpERVBFTkQ9ImJlcmtkYj8g
KCA+PXN5cy1saWJzL2RiLTMuMiApIgoKc3JjX2NvbXBpbGUoKSB7CiAgICB1bnBhY2sgJHtBfQog
ICAgY2QgJHtTfQogCiAgICAjIHBhdGNoIGZvciBkYjQgZGV0ZWN0aW9uIGFuZCB0aGVpciByZXNw
ZWN0aXZlIHZlcnNpb25lZCBzeW1ib2xzCiAgICBlcGF0Y2ggJHtGSUxFU0RJUn0vc3BhbXByb2Jl
LTAuOWgtZGI0LnBhdGNoCglhdXRvY29uZiB8fCBkaWUKCWVjb25mIHx8IGRpZQoKCWVtYWtlIHx8
IGRpZSAiY29tcGlsZSBwcm9ibGVtIgp9CgpzcmNfaW5zdGFsbCgpIHsKCWRvZG9jIFJFQURNRS50
eHQgQ2hhbmdlTG9nIExJQ0VOU0UudHh0CgkKCWVpbnN0YWxsIHx8IGRpZQp9Cg==
</data>        

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>38890</attachid>
            <date>2004-09-04 03:44 0000</date>
            <desc>modified (only a bit) patch from Matthew P. Cummings</desc>
            <filename>spamprobe-0.9h-db4.patch</filename>
            <type>text/plain</type>
            <data encoding="base64">LS0tIC4uL3NwYW1wcm9iZS0wLjloLm9sZC9jb25maWd1cmUuaW4JMjAwNC0wMi0wMiAxOTowOTo0
My4wMDAwMDAwMDAgKzAxMDAKKysrIGNvbmZpZ3VyZS5pbgkyMDA0LTA5LTA0IDEyOjIyOjQ5LjQ0
NDI2MTQ4MCArMDIwMApAQCAtNjgsMjUgKzY4LDM5IEBACiAgICAgWwogICAgICAgQUNfRUdSRVBf
SEVBREVSKFtEQl9WRVJTSU9OX01BSk9SICozfDRdLCBbZGIuaF0sLAogICAgICAgICBBQ19NU0df
RVJST1IoW05vIHN1aXRhYmxlIEJlcmtlbGV5REIgZGIuaCBoZWFkZXIgZmlsZSBmb3VuZC4KLSAg
VXNlIC0td2l0aC1kYj1QQVRIIHRvIHNwZWNpZnkgdGhlIHBhdGggdG8gYSB2ZXJzaW9uIDMgb3Ig
bGF0ZXIgaW5zdGFsbCBkaXJlY3RvcnkuCisgIFVzZSAtLXdpdGgtZGI9UEFUSCB0byBzcGVjaWZ5
IHRoZSBwYXRoIHRvIGEgdmVyc2lvbiAzIG9yIGxhdGVyIGluc3RhbGwgaGVhZGVyIGRpcmVjdG9y
eS4KICAgWW91IGNhbiBkb3dubG9hZCBCZXJrZWxleURCIGZyb20gaHR0cDovL3d3dy5zbGVlcHlj
YXQuY29tXSkKICAgICAgICkKICAgICBdCiAgICkKICAgQUNfVFJZX0xJTktfRlVOQyhkYl9jcmVh
dGUsLAogICAgIEFDX0NIRUNLX0xJQihkYi00LCBkYl9jcmVhdGUsIExJQlM9IiRMSUJTIC1sZGIt
NCIsCi0gICAgICBBQ19DSEVDS19MSUIoZGItMywgZGJfY3JlYXRlLCBMSUJTPSIkTElCUyAtbGRi
LTMiLAotICAgICAgICBBQ19DSEVDS19MSUIoZGItMiwgZGJfY3JlYXRlLCBMSUJTPSIkTElCUyAt
bGRiLTIiLAotICAgICAgICAgIEFDX0NIRUNLX0xJQihkYiwgZGJfY3JlYXRlLCBMSUJTPSIkTElC
UyAtbGRiIiwKLSAgICAgICAgICAgIEFDX0NIRUNLX0xJQihkYjMsIGRiX2NyZWF0ZSwgTElCUz0i
JExJQlMgLWxkYjMiLAotICAgICAgICAgICAgICBBQ19DSEVDS19MSUIoZGItMy4xLCBkYl9jcmVh
dGUsIExJQlM9IiRMSUJTIC1sZGItMy4xIiwKLSAgICAgICAgICAgICAgICBBQ19DSEVDS19MSUIo
ZGI0LCBkYl9jcmVhdGUsIExJQlM9IiRMSUJTIC1sZGI0IiwKKyAgICAgIEFDX0NIRUNLX0xJQihk
Yi00LCBkYl9jcmVhdGVfNDAwMCwgTElCUz0iJExJQlMgLWxkYi00IiwKKyAgICAgICAgQUNfQ0hF
Q0tfTElCKGRiLTQuMSwgZGJfY3JlYXRlXzQwMDEsIExJQlM9IiRMSUJTIC1sZGItNC4xIiwKKyAg
ICAgICAgICBBQ19DSEVDS19MSUIoZGItMywgZGJfY3JlYXRlLCBMSUJTPSIkTElCUyAtbGRiLTMi
LAorICAgICAgICAgICAgQUNfQ0hFQ0tfTElCKGRiLTIsIGRiX2NyZWF0ZSwgTElCUz0iJExJQlMg
LWxkYi0yIiwKKyAgICAgICAgICAgICAgQUNfQ0hFQ0tfTElCKGRiLCBkYl9jcmVhdGUsIExJQlM9
IiRMSUJTIC1sZGIiLAorICAgICAgICAgICAgICAgIEFDX0NIRUNLX0xJQihkYjMsIGRiX2NyZWF0
ZSwgTElCUz0iJExJQlMgLWxkYjMiLAogICAgICAgICAgICAgICAgICAgQUNfTVNHX0VSUk9SKFtO
byBzdWl0YWJsZSBCZXJrZWxleURCIGxpYnJhcnkgZm91bmQuCiAgIFVzZSAtLXdpdGgtZGI9UEFU
SCB0byBzcGVjaWZ5IHRoZSBwYXRoIHRvIGEgdmVyc2lvbiAzIG9yIGxhdGVyIGluc3RhbGwgZGly
ZWN0b3J5LgogICBZb3UgY2FuIGRvd25sb2FkIEJlcmtlbGV5REIgZnJvbSBodHRwOi8vd3d3LnNs
ZWVweWNhdC5jb21dKSkpKSkpKSkpCiAgIEFDX01TR19DSEVDS0lORyhCZXJrZWxleURCKQotICBB
Q19UUllfTElOS19GVU5DKGRiX2NyZWF0ZSwgQUNfREVGSU5FKFtVU0VfREJdKSBoYXZlX2RhdGFi
YXNlPTEpCi0gIEFDX01TR19SRVNVTFQob2spCisKKyAgaWYgdGVzdCAkTElCUyA9ICItbGRiNCI7
IHRoZW4gIAorICAgIEFDX1RSWV9MSU5LX0ZVTkMoZGJfY3JlYXRlXzQwMDAsIEFDX0RFRklORShb
VVNFX0RCXSkgaGF2ZV9kYXRhYmFzZT0xKQorICAgIEFDX01TR19DSEVDS0lORyhVc2luZyBkYl9j
cmVhdGVfNDAwMCkKKyAgICBBQ19NU0dfUkVTVUxUKG9rKQorICBlbHNlCisgICAgaWYgdGVzdCAk
TElCUyA9ICItbGRiLTQuMSI7IHRoZW4gIAorICAgICAgQUNfVFJZX0xJTktfRlVOQyhkYl9jcmVh
dGVfNDAwMSwgQUNfREVGSU5FKFtVU0VfREJdKSBoYXZlX2RhdGFiYXNlPTEpCisgICAgICBBQ19N
U0dfQ0hFQ0tJTkcoVXNpbmcgZGJfY3JlYXRlXzQwMDEpCisgICAgICBBQ19NU0dfUkVTVUxUKG9r
LCBVc2luZyBkYl9jcmVhdGVfNDAwMSkKKyAgICBlbHNlICAKKyAgICAgIEFDX1RSWV9MSU5LX0ZV
TkMoZGJfY3JlYXRlLCBBQ19ERUZJTkUoW1VTRV9EQl0pIGhhdmVfZGF0YWJhc2U9MSkKKyAgICAg
IEFDX01TR19DSEVDS0lORyhVc2luZyBkYl9jcmVhdGUpCisgICAgICBBQ19NU0dfUkVTVUxUKG9r
LCBVc2luZyBkYl9jcmVhdGUpCisgICAgZmkKKyAgZmkKIGZpCiAKIGlmIHRlc3QgJGhhdmVfZGF0
YWJhc2UgPSAwIDsgdGhlbgo=
</data>        

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>39137</attachid>
            <date>2004-09-07 11:22 0000</date>
            <desc>Updated Patch</desc>
            <filename>spamprobe-0.9h-db4.patch</filename>
            <type>text/plain</type>
            <data encoding="base64">LS0tIC4uL3NwYW1wcm9iZS0wLjloLm9yaWcvY29uZmlndXJlLmluCTIwMDQtMDItMDIgMTk6MDk6
NDMuMDAwMDAwMDAwICswMTAwCisrKyBjb25maWd1cmUuaW4JMjAwNC0wOS0wNyAxODoxNzoxNy42
NDk2MTMzNDQgKzAyMDAKQEAgLTY4LDI1ICs2OCw0NSBAQAogICAgIFsKICAgICAgIEFDX0VHUkVQ
X0hFQURFUihbREJfVkVSU0lPTl9NQUpPUiAqM3w0XSwgW2RiLmhdLCwKICAgICAgICAgQUNfTVNH
X0VSUk9SKFtObyBzdWl0YWJsZSBCZXJrZWxleURCIGRiLmggaGVhZGVyIGZpbGUgZm91bmQuCi0g
IFVzZSAtLXdpdGgtZGI9UEFUSCB0byBzcGVjaWZ5IHRoZSBwYXRoIHRvIGEgdmVyc2lvbiAzIG9y
IGxhdGVyIGluc3RhbGwgZGlyZWN0b3J5LgorICBVc2UgLS13aXRoLWRiPVBBVEggdG8gc3BlY2lm
eSB0aGUgcGF0aCB0byBhIHZlcnNpb24gMyBvciBsYXRlciBpbnN0YWxsIGhlYWRlciBkaXJlY3Rv
cnkuCiAgIFlvdSBjYW4gZG93bmxvYWQgQmVya2VsZXlEQiBmcm9tIGh0dHA6Ly93d3cuc2xlZXB5
Y2F0LmNvbV0pCiAgICAgICApCiAgICAgXQogICApCiAgIEFDX1RSWV9MSU5LX0ZVTkMoZGJfY3Jl
YXRlLCwKLSAgICBBQ19DSEVDS19MSUIoZGItNCwgZGJfY3JlYXRlLCBMSUJTPSIkTElCUyAtbGRi
LTQiLAotICAgICAgQUNfQ0hFQ0tfTElCKGRiLTMsIGRiX2NyZWF0ZSwgTElCUz0iJExJQlMgLWxk
Yi0zIiwKLSAgICAgICAgQUNfQ0hFQ0tfTElCKGRiLTIsIGRiX2NyZWF0ZSwgTElCUz0iJExJQlMg
LWxkYi0yIiwKLSAgICAgICAgICBBQ19DSEVDS19MSUIoZGIsIGRiX2NyZWF0ZSwgTElCUz0iJExJ
QlMgLWxkYiIsCi0gICAgICAgICAgICBBQ19DSEVDS19MSUIoZGIzLCBkYl9jcmVhdGUsIExJQlM9
IiRMSUJTIC1sZGIzIiwKLSAgICAgICAgICAgICAgQUNfQ0hFQ0tfTElCKGRiLTMuMSwgZGJfY3Jl
YXRlLCBMSUJTPSIkTElCUyAtbGRiLTMuMSIsCi0gICAgICAgICAgICAgICAgQUNfQ0hFQ0tfTElC
KGRiNCwgZGJfY3JlYXRlLCBMSUJTPSIkTElCUyAtbGRiNCIsCisgICAgQUNfQ0hFQ0tfTElCKGRi
LTQsIGRiX2NyZWF0ZV80MDAwLCBMSUJTPSIkTElCUyAtbGRiLTQiLAorICAgICAgQUNfQ0hFQ0tf
TElCKGRiLTQuMiwgZGJfY3JlYXRlXzQwMDIsIExJQlM9IiRMSUJTIC1sZGItNC4yIiwKKyAgICAg
ICAgQUNfQ0hFQ0tfTElCKGRiLTQuMSwgZGJfY3JlYXRlXzQwMDEsIExJQlM9IiRMSUJTIC1sZGIt
NC4xIiwKKyAgICAgICAgICBBQ19DSEVDS19MSUIoZGItMywgZGJfY3JlYXRlLCBMSUJTPSIkTElC
UyAtbGRiLTMiLAorICAgICAgICAgICAgQUNfQ0hFQ0tfTElCKGRiLTIsIGRiX2NyZWF0ZSwgTElC
Uz0iJExJQlMgLWxkYi0yIiwKKyAgICAgICAgICAgICAgQUNfQ0hFQ0tfTElCKGRiLCBkYl9jcmVh
dGUsIExJQlM9IiRMSUJTIC1sZGIiLAorICAgICAgICAgICAgICAgIEFDX0NIRUNLX0xJQihkYjMs
IGRiX2NyZWF0ZSwgTElCUz0iJExJQlMgLWxkYjMiLAogICAgICAgICAgICAgICAgICAgQUNfTVNH
X0VSUk9SKFtObyBzdWl0YWJsZSBCZXJrZWxleURCIGxpYnJhcnkgZm91bmQuCiAgIFVzZSAtLXdp
dGgtZGI9UEFUSCB0byBzcGVjaWZ5IHRoZSBwYXRoIHRvIGEgdmVyc2lvbiAzIG9yIGxhdGVyIGlu
c3RhbGwgZGlyZWN0b3J5LgogICBZb3UgY2FuIGRvd25sb2FkIEJlcmtlbGV5REIgZnJvbSBodHRw
Oi8vd3d3LnNsZWVweWNhdC5jb21dKSkpKSkpKSkpCiAgIEFDX01TR19DSEVDS0lORyhCZXJrZWxl
eURCKQotICBBQ19UUllfTElOS19GVU5DKGRiX2NyZWF0ZSwgQUNfREVGSU5FKFtVU0VfREJdKSBo
YXZlX2RhdGFiYXNlPTEpCi0gIEFDX01TR19SRVNVTFQob2spCisKKyAgaWYgdGVzdCAkTElCUyA9
ICItbGRiNCI7IHRoZW4gIAorICAgIEFDX1RSWV9MSU5LX0ZVTkMoZGJfY3JlYXRlXzQwMDAsIEFD
X0RFRklORShbVVNFX0RCXSkgaGF2ZV9kYXRhYmFzZT0xKQorICAgIEFDX01TR19DSEVDS0lORyhV
c2luZyBkYl9jcmVhdGVfNDAwMCkKKyAgICBBQ19NU0dfUkVTVUxUKG9rKQorICBlbHNlCisgICAg
aWYgdGVzdCAkTElCUyA9ICItbGRiLTQuMiI7IHRoZW4KKyAgICAgIEFDX1RSWV9MSU5LX0ZVTkMo
ZGJfY3JlYXRlXzQwMDIsIEFDX0RFRklORShbVVNFX0RCXSkgaGF2ZV9kYXRhYmFzZT0xKQorICAg
ICAgQUNfTVNHX0NIRUNLSU5HKFVzaW5nIGRiX2NyZWF0ZV80MDAyKQorICAgICAgQUNfTVNHX1JF
U1VMVChvaywgVXNpbmcgZGJfY3JlYXRlXzQwMDIpCisgICAgZWxzZSAKKyAgICAgICAgaWYgdGVz
dCAkTElCUyA9ICItbGRiLTQuMSI7IHRoZW4KKyAgICAgICAgICBBQ19UUllfTElOS19GVU5DKGRi
X2NyZWF0ZV80MDAxLCBBQ19ERUZJTkUoW1VTRV9EQl0pIGhhdmVfZGF0YWJhc2U9MSkKKyAgICAg
ICAgICBBQ19NU0dfQ0hFQ0tJTkcoVXNpbmcgZGJfY3JlYXRlXzQwMDEpCisgICAgICAgICAgQUNf
TVNHX1JFU1VMVChvaywgVXNpbmcgZGJfY3JlYXRlXzQwMDEpCisgICAgICAgIGVsc2UgIAorICAg
ICAgICAgIEFDX1RSWV9MSU5LX0ZVTkMoZGJfY3JlYXRlLCBBQ19ERUZJTkUoW1VTRV9EQl0pIGhh
dmVfZGF0YWJhc2U9MSkKKyAgICAgICAgICBBQ19NU0dfQ0hFQ0tJTkcoVXNpbmcgZGJfY3JlYXRl
KQorICAgICAgICAgIEFDX01TR19SRVNVTFQob2ssIFVzaW5nIGRiX2NyZWF0ZSkKKyAgICAgICAg
ZmkKKyAgICBmaQorICBmaQogZmkKIAogaWYgdGVzdCAkaGF2ZV9kYXRhYmFzZSA9IDAgOyB0aGVu
Cg==
</data>        

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="0"
              isprivate="0"
          >
            <attachid>39203</attachid>
            <date>2004-09-08 08:05 0000</date>
            <desc>Updated Ebuild</desc>
            <filename>spamprobe-0.9h.ebuild</filename>
            <type>application/octet-stream</type>
            <data encoding="base64">IyBDb3B5cmlnaHQgMTk5OS0yMDAzIEdlbnRvbyBUZWNobm9sb2dpZXMsIEluYy4KIyBEaXN0cmli
dXRlZCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIHYy
CiMgJEhlYWRlcjogJAoKaW5oZXJpdCBldXRpbHMKCkRFU0NSSVBUSU9OPSJGYXN0LCBpbnRlbGxp
Z2VudCwgYXV0b21hdGljIHNwYW0gZGV0ZWN0b3IgdXNpbmcgUGF1bCBHcmFoYW0gc3R5bGUgQmF5
ZXNpYW4gYW5hbHlzaXMgb2Ygd29yZCBjb3VudHMgaW4gc3BhbSBhbmQgbm9uLXNwYW0gZW1haWxz
LiIKSE9NRVBBR0U9Imh0dHA6Ly9zcGFtcHJvYmUuc291cmNlZm9yZ2UubmV0LyIKU1JDX1VSST0i
bWlycm9yOi8vc291cmNlZm9yZ2Uvc3BhbXByb2JlLyR7UH0udGFyLmd6IgoKTElDRU5TRT0iUVBM
IgpTTE9UPSIwIgpLRVlXT1JEUz0ieDg2IgoKSVVTRT0iYmVya2RiIgpERVBFTkQ9ImJlcmtkYj8g
KCA+PXN5cy1saWJzL2RiLTMuMiApCglzeXMtZGV2ZWwvYXV0b2NvbmYiCgpzcmNfY29tcGlsZSgp
IHsKICAgIHVucGFjayAke0F9CiAgICBjZCAke1N9CiAKICAgICMgcGF0Y2ggZm9yIGRiNCBkZXRl
Y3Rpb24gYW5kIHRoZWlyIHJlc3BlY3RpdmUgdmVyc2lvbmVkIHN5bWJvbHMKICAgIGVwYXRjaCAk
e0ZJTEVTRElSfS9zcGFtcHJvYmUtMC45aC1kYjQucGF0Y2gKCWFjbG9jYWw7IGF1dG9jb25mIHx8
IGRpZQoKCWVjb25mIHx8IGRpZQoKCWVtYWtlIHx8IGRpZSAiY29tcGlsZSBwcm9ibGVtIgp9Cgpz
cmNfaW5zdGFsbCgpIHsKCWRvZG9jIFJFQURNRS50eHQgQ2hhbmdlTG9nIExJQ0VOU0UudHh0CgkK
CWVpbnN0YWxsIHx8IGRpZQp9Cg==
</data>        

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>39204</attachid>
            <date>2004-09-08 08:08 0000</date>
            <desc>Updated Patch (again)</desc>
            <filename>spamprobe-0.9h-db4.patch</filename>
            <type>text/plain</type>
            <data encoding="base64">LS0tIC4uL3NwYW1wcm9iZS0wLjloLm9yaWcvY29uZmlndXJlLmluCTIwMDQtMDItMDIgMTk6MDk6
NDMuMDAwMDAwMDAwICswMTAwCisrKyBjb25maWd1cmUuaW4JMjAwNC0wOS0wOCAxNjoxNToxMC44
OTk2NTIxNTIgKzAyMDAKQEAgLTY4LDI1ICs2OCwyNSBAQAogICAgIFsKICAgICAgIEFDX0VHUkVQ
X0hFQURFUihbREJfVkVSU0lPTl9NQUpPUiAqM3w0XSwgW2RiLmhdLCwKICAgICAgICAgQUNfTVNH
X0VSUk9SKFtObyBzdWl0YWJsZSBCZXJrZWxleURCIGRiLmggaGVhZGVyIGZpbGUgZm91bmQuCi0g
IFVzZSAtLXdpdGgtZGI9UEFUSCB0byBzcGVjaWZ5IHRoZSBwYXRoIHRvIGEgdmVyc2lvbiAzIG9y
IGxhdGVyIGluc3RhbGwgZGlyZWN0b3J5LgorICBVc2UgLS13aXRoLWRiPVBBVEggdG8gc3BlY2lm
eSB0aGUgcGF0aCB0byBhIHZlcnNpb24gMyBvciBsYXRlciBpbnN0YWxsIGhlYWRlciBkaXJlY3Rv
cnkuCiAgIFlvdSBjYW4gZG93bmxvYWQgQmVya2VsZXlEQiBmcm9tIGh0dHA6Ly93d3cuc2xlZXB5
Y2F0LmNvbV0pCiAgICAgICApCiAgICAgXQogICApCi0gIEFDX1RSWV9MSU5LX0ZVTkMoZGJfY3Jl
YXRlLCwKLSAgICBBQ19DSEVDS19MSUIoZGItNCwgZGJfY3JlYXRlLCBMSUJTPSIkTElCUyAtbGRi
LTQiLAotICAgICAgQUNfQ0hFQ0tfTElCKGRiLTMsIGRiX2NyZWF0ZSwgTElCUz0iJExJQlMgLWxk
Yi0zIiwKLSAgICAgICAgQUNfQ0hFQ0tfTElCKGRiLTIsIGRiX2NyZWF0ZSwgTElCUz0iJExJQlMg
LWxkYi0yIiwKLSAgICAgICAgICBBQ19DSEVDS19MSUIoZGIsIGRiX2NyZWF0ZSwgTElCUz0iJExJ
QlMgLWxkYiIsCi0gICAgICAgICAgICBBQ19DSEVDS19MSUIoZGIzLCBkYl9jcmVhdGUsIExJQlM9
IiRMSUJTIC1sZGIzIiwKLSAgICAgICAgICAgICAgQUNfQ0hFQ0tfTElCKGRiLTMuMSwgZGJfY3Jl
YXRlLCBMSUJTPSIkTElCUyAtbGRiLTMuMSIsCi0gICAgICAgICAgICAgICAgQUNfQ0hFQ0tfTElC
KGRiNCwgZGJfY3JlYXRlLCBMSUJTPSIkTElCUyAtbGRiNCIsCi0gICAgICAgICAgICAgICAgICBB
Q19NU0dfRVJST1IoW05vIHN1aXRhYmxlIEJlcmtlbGV5REIgbGlicmFyeSBmb3VuZC4KLSAgVXNl
IC0td2l0aC1kYj1QQVRIIHRvIHNwZWNpZnkgdGhlIHBhdGggdG8gYSB2ZXJzaW9uIDMgb3IgbGF0
ZXIgaW5zdGFsbCBkaXJlY3RvcnkuCi0gIFlvdSBjYW4gZG93bmxvYWQgQmVya2VsZXlEQiBmcm9t
IGh0dHA6Ly93d3cuc2xlZXB5Y2F0LmNvbV0pKSkpKSkpKSkKLSAgQUNfTVNHX0NIRUNLSU5HKEJl
cmtlbGV5REIpCi0gIEFDX1RSWV9MSU5LX0ZVTkMoZGJfY3JlYXRlLCBBQ19ERUZJTkUoW1VTRV9E
Ql0pIGhhdmVfZGF0YWJhc2U9MSkKLSAgQUNfTVNHX1JFU1VMVChvaykKKworICBBWF9QQVRIX0JE
QihbM10sWworICAgIExJQlM9IiRCREJfTElCUyAkTElCUyIKKyAgICBMREZMQUdTPSIkQkRCX0xE
RkxBR1MgJExERkxBR1MiCisgICAgQ1BQRkxBR1M9IiRCREJfQ1BQRkxBR1MgJENQUEZMQUdTIgor
CSBBQ19UUllfTElOS19GVU5DKGRiX2NyZWF0ZSwgQUNfREVGSU5FKFtVU0VfREJdKSBoYXZlX2Rh
dGFiYXNlPTEpCisJIEFDX1RSWV9MSU5LX0ZVTkMoZGJfY3JlYXRlXzQwMDAsIEFDX0RFRklORShb
VVNFX0RCXSkgaGF2ZV9kYXRhYmFzZT0xKQorCSBBQ19UUllfTElOS19GVU5DKGRiX2NyZWF0ZV80
MDAxLCBBQ19ERUZJTkUoW1VTRV9EQl0pIGhhdmVfZGF0YWJhc2U9MSkKKwkgQUNfVFJZX0xJTktf
RlVOQyhkYl9jcmVhdGVfNDAwMiwgQUNfREVGSU5FKFtVU0VfREJdKSBoYXZlX2RhdGFiYXNlPTEp
CisgIF0sWworICAgIEFDX01TR19FUlJPUihbTm8gc3VpdGFibGUgQmVya2VsZXlEQiBkYi5oIGhl
YWRlciBmaWxlIGZvdW5kLgorICBVc2UgLS13aXRoLWRiPVBBVEggdG8gc3BlY2lmeSB0aGUgcGF0
aCB0byBhIHZlcnNpb24gMyBvciBsYXRlciBpbnN0YWxsIGhlYWRlciBkaXJlY3RvcnkuCisgIFlv
dSBjYW4gZG93bmxvYWQgQmVya2VsZXlEQiBmcm9tIGh0dHA6Ly93d3cuc2xlZXB5Y2F0LmNvbV0p
CisgIF0pCiBmaQogCiBpZiB0ZXN0ICRoYXZlX2RhdGFiYXNlID0gMCA7IHRoZW4KLS0tIC4uL3Nw
YW1wcm9iZS0wLjloLm9yaWcvYWNpbmNsdWRlLm00CTIwMDQtMDktMDggMTU6NTk6MDIuNDI4ODgy
MDg4ICswMjAwCisrKyBhY2luY2x1ZGUubTQJMjAwNC0wOS0wOCAxNjoyNDo1MC45NzA0Njc5ODQg
KzAyMDAKQEAgLTAsMCArMSw2NTggQEAKKyMKKyMgTWFrcm9zIGZyb20gaHR0cDovL2FjLWFyY2hp
dmUuc291cmNlZm9yZ2UubmV0CisjIFRoZXNlIG1ha3JvcyBzaG91bGQgYmUgdXNlZCB3aGlsZSB0
aGUgYWMtYXJjaGl2ZSBlYnVpbGQgaXMgc3RpbGwKKyMgbWFza2VkIGluIFBvcnRhZ2UKKyMKKyMg
VXNlZCBtYWtyb3M6CisjIC0gYXhfcGF0aF9iZGIgdjEuMQorIyAtIGF4X2NvbXBhcmVfdmVyc2lv
IHYxLjEKKyMKKyMgVGhlIE1ha3JvcyBhcmUgdW5kZXIgdGhpcyBMaWNlbnNlOgorIyBFdmVyeSBB
dXRvY29uZiBtYWNybyBwcmVzZW50ZWQgb24gdGhpcyB3ZWIgc2l0ZSBpcyBmcmVlIHNvZnR3YXJl
OyAKKyMgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeSBpdCB1bmRlciB0aGUg
dGVybXMgb2YgdGhlIAorIyBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQg
YnkgdGhlIEZyZWUgU29mdHdhcmUgCisjIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIsIG9y
IChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisjCisjIFRoZXkgYXJlIGRpc3Ry
aWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgdGhleSB3aWxsIGJlIHVzZWZ1bCwgYnV0IAorIyBXSVRI
T1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mIAor
IyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuIFNl
ZSB0aGUgCisjIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuIChZ
b3Ugc2hvdWxkIGhhdmUgCisjIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVi
bGljIExpY2Vuc2UgYWxvbmcgd2l0aCB0aGlzIAorIyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRv
IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4sIAorIyA1OSBUZW1wbGUgUGxhY2Ug
LS0gU3VpdGUgMzMwLCBCb3N0b24sIE1BIDAyMTExLTEzMDcsIFVTQS4pCisjCisjIEFzIGEgc3Bl
Y2lhbCBleGNlcHRpb24sIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24gZ2l2ZXMgCisjIHVu
bGltaXRlZCBwZXJtaXNzaW9uIHRvIGNvcHksIGRpc3RyaWJ1dGUgYW5kIG1vZGlmeSB0aGUgY29u
ZmlndXJlIAorIyBzY3JpcHRzIHRoYXQgYXJlIHRoZSBvdXRwdXQgb2YgQXV0b2NvbmYuIFlvdSBu
ZWVkIG5vdCBmb2xsb3cgdGhlIAorIyB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExp
Y2Vuc2Ugd2hlbiB1c2luZyBvciBkaXN0cmlidXRpbmcgCisjIHN1Y2ggc2NyaXB0cywgZXZlbiB0
aG91Z2ggcG9ydGlvbnMgb2YgdGhlIHRleHQgb2YgQXV0b2NvbmYgYXBwZWFyIAorIyBpbiB0aGVt
LiBUaGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgKEdQTCkgZG9lcyBnb3Zlcm4gYWxsIG90
aGVyIAorIyB1c2Ugb2YgdGhlIG1hdGVyaWFsIHRoYXQgY29uc3RpdHV0ZXMgdGhlIEF1dG9jb25m
IHByb2dyYW0uCisjCisjIENlcnRhaW4gcG9ydGlvbnMgb2YgdGhlIEF1dG9jb25mIHNvdXJjZSB0
ZXh0IGFyZSBkZXNpZ25lZCB0byBiZSAKKyMgY29waWVkIChpbiBjZXJ0YWluIGNhc2VzLCBkZXBl
bmRpbmcgb24gdGhlIGlucHV0KSBpbnRvIHRoZSBvdXRwdXQgCisjIG9mIEF1dG9jb25mLiBXZSBj
YWxsIHRoZXNlIHRoZSAiZGF0YSIgcG9ydGlvbnMuIFRoZSByZXN0IG9mIHRoZSAKKyMgQXV0b2Nv
bmYgc291cmNlIHRleHQgY29uc2lzdHMgb2YgY29tbWVudHMgcGx1cyBleGVjdXRhYmxlIGNvZGUg
dGhhdCAKKyMgZGVjaWRlcyB3aGljaCBvZiB0aGUgZGF0YSBwb3J0aW9ucyB0byBvdXRwdXQgaW4g
YW55IGdpdmVuIGNhc2UuIFdlIAorIyBjYWxsIHRoZXNlIGNvbW1lbnRzIGFuZCBleGVjdXRhYmxl
IGNvZGUgdGhlICJub24tZGF0YSIgcG9ydGlvbnMuIAorIyBBdXRvY29uZiBuZXZlciBjb3BpZXMg
YW55IG9mIHRoZSBub24tZGF0YSBwb3J0aW9ucyBpbnRvIGl0cyBvdXRwdXQuCisjCisjIFRoaXMg
c3BlY2lhbCBleGNlcHRpb24gdG8gdGhlIEdQTCBhcHBsaWVzIHRvIHZlcnNpb25zIG9mIEF1dG9j
b25mIAorIyByZWxlYXNlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLiBXaGVuIHlv
dSBtYWtlIGFuZCBkaXN0cmlidXRlIAorIyBhIG1vZGlmaWVkIHZlcnNpb24gb2YgQXV0b2NvbmYs
IHlvdSBtYXkgZXh0ZW5kIHRoaXMgc3BlY2lhbCBleGNlcHRpb24gCisjIHRvIHRoZSBHUEwgdG8g
YXBwbHkgdG8geW91ciBtb2RpZmllZCB2ZXJzaW9uIGFzIHdlbGwsICp1bmxlc3MqIHlvdXIgCisj
IG1vZGlmaWVkIHZlcnNpb24gaGFzIHRoZSBwb3RlbnRpYWwgdG8gY29weSBpbnRvIGl0cyBvdXRw
dXQgc29tZSBvZiB0aGUgCisjIHRleHQgdGhhdCB3YXMgdGhlIG5vbi1kYXRhIHBvcnRpb24gb2Yg
dGhlIHZlcnNpb24gdGhhdCB5b3Ugc3RhcnRlZCAKKyMgd2l0aC4gKEluIG90aGVyIHdvcmRzLCB1
bmxlc3MgeW91ciBjaGFuZ2UgbW92ZXMgb3IgY29waWVzIHRleHQgZnJvbSAKKyMgdGhlIG5vbi1k
YXRhIHBvcnRpb25zIHRvIHRoZSBkYXRhIHBvcnRpb25zLikgSWYgeW91ciBtb2RpZmljYXRpb24g
aGFzIAorIyBzdWNoIHBvdGVudGlhbCwgeW91IG11c3QgZGVsZXRlIGFueSBub3RpY2Ugb2YgdGhp
cyBzcGVjaWFsIGV4Y2VwdGlvbiAKKyMgdG8gdGhlIEdQTCBmcm9tIHlvdXIgbW9kaWZpZWQgdmVy
c2lvbi4KKyMKKyMKKworCitkbmwgIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIworQUNfREVGVU4oW0FYX0NPTVBB
UkVfVkVSU0lPTl0sIFsKKyAgIyBVc2VkIHRvIGluZGljYXRlIHRydWUgb3IgZmFsc2UgY29uZGl0
aW9uCisgIGF4X2NvbXBhcmVfdmVyc2lvbj1mYWxzZQorCisgICMgQ29udmVydCB0aGUgdHdvIHZl
cnNpb24gc3RyaW5ncyB0byBiZSBjb21wYXJlZCBpbnRvIGEgZm9ybWF0IHRoYXQKKyAgIyBhbGxv
d3MgYSBzaW1wbGUgc3RyaW5nIGNvbXBhcmlzb24uICBUaGUgZW5kIHJlc3VsdCBpcyB0aGF0IGEg
dmVyc2lvbiAKKyAgIyBzdHJpbmcgb2YgdGhlIGZvcm0gMS4xMi41LXI2MTcgd2lsbCBiZSBjb252
ZXJ0ZWQgdG8gdGhlIGZvcm0gCisgICMgMDAwMTAwMTIwMDA1MDYxNy4gIEluIG90aGVyIHdvcmRz
LCBlYWNoIG51bWJlciBpcyB6ZXJvIHBhZGRlZCB0byBmb3VyIAorICAjIGRpZ2l0cywgYW5kIG5v
biBkaWdpdHMgYXJlIHJlbW92ZWQuCisgIEFTX1ZBUl9QVVNIREVGKFtBXSxbYXhfY29tcGFyZV92
ZXJzaW9uX0FdKQorICBBPWBlY2hvICIkMSIgfCBzZWQgLWUgJ3MvXChbWzAtOV1dKlwpL1pcMVov
ZycgXAorICAgICAgICAgICAgICAgICAgICAgLWUgJ3MvWlwoW1swLTldXVwpWi9aMFwxWi9nJyBc
CisgICAgICAgICAgICAgICAgICAgICAtZSAncy9aXChbWzAtOV1dW1swLTldXVwpWi9aMFwxWi9n
JyBcCisgICAgICAgICAgICAgICAgICAgICAtZSAncy9aXChbWzAtOV1dW1swLTldXVtbMC05XV1c
KVovWjBcMVovZycgXAorICAgICAgICAgICAgICAgICAgICAgLWUgJ3MvW1teMC05XV0vL2cnYAor
CisgIEFTX1ZBUl9QVVNIREVGKFtCXSxbYXhfY29tcGFyZV92ZXJzaW9uX0JdKQorICBCPWBlY2hv
ICIkMyIgfCBzZWQgLWUgJ3MvXChbWzAtOV1dKlwpL1pcMVovZycgXAorICAgICAgICAgICAgICAg
ICAgICAgLWUgJ3MvWlwoW1swLTldXVwpWi9aMFwxWi9nJyBcCisgICAgICAgICAgICAgICAgICAg
ICAtZSAncy9aXChbWzAtOV1dW1swLTldXVwpWi9aMFwxWi9nJyBcCisgICAgICAgICAgICAgICAg
ICAgICAtZSAncy9aXChbWzAtOV1dW1swLTldXVtbMC05XV1cKVovWjBcMVovZycgXAorICAgICAg
ICAgICAgICAgICAgICAgLWUgJ3MvW1teMC05XV0vL2cnYAorCisgIGRubCAjIEluIHRoZSBjYXNl
IG9mIGxlLCBnZSwgbHQsIGFuZCBndCwgdGhlIHN0cmluZ3MgYXJlIHNvcnRlZCBhcyBuZWNlc3Nh
cnkgCisgIGRubCAjIHRoZW4gdGhlIGZpcnN0IGxpbmUgaXMgdXNlZCB0byBkZXRlcm1pbmUgaWYg
dGhlIGNvbmRpdGlvbiBpcyB0cnVlLiAKKyAgZG5sICMgVGhlIHNlZCByaWdodCBhZnRlciB0aGUg
ZWNobyBpcyB0byByZW1vdmUgYW55IGluZGVudGVkIHdoaXRlIHNwYWNlLgorICBtNF9jYXNlKG00
X3RvbG93ZXIoJDIpLAorICBbbHRdLFsKKyAgICBheF9jb21wYXJlX3ZlcnNpb249YGVjaG8gIngk
QQoreCRCIiB8IHNlZCAncy9eICovLycgfCBzb3J0IC1yIHwgc2VkICJzL3gke0F9L2ZhbHNlLztz
L3gke0J9L3RydWUvOzFxImAKKyAgXSwKKyAgW2d0XSxbCisgICAgYXhfY29tcGFyZV92ZXJzaW9u
PWBlY2hvICJ4JEEKK3gkQiIgfCBzZWQgJ3MvXiAqLy8nIHwgc29ydCB8IHNlZCAicy94JHtBfS9m
YWxzZS87cy94JHtCfS90cnVlLzsxcSJgCisgIF0sCisgIFtsZV0sWworICAgIGF4X2NvbXBhcmVf
dmVyc2lvbj1gZWNobyAieCRBCit4JEIiIHwgc2VkICdzL14gKi8vJyB8IHNvcnQgfCBzZWQgInMv
eCR7QX0vdHJ1ZS87cy94JHtCfS9mYWxzZS87MXEiYAorICBdLAorICBbZ2VdLFsKKyAgICBheF9j
b21wYXJlX3ZlcnNpb249YGVjaG8gIngkQQoreCRCIiB8IHNlZCAncy9eICovLycgfCBzb3J0IC1y
IHwgc2VkICJzL3gke0F9L3RydWUvO3MveCR7Qn0vZmFsc2UvOzFxImAKKyAgXSxbCisgICAgZG5s
IFNwbGl0IHRoZSBvcGVyYXRvciBmcm9tIHRoZSBzdWJ2ZXJzaW9uIGNvdW50IGlmIHByZXNlbnQu
CisgICAgbTRfYm1hdGNoKG00X3N1YnN0cigkMiwyKSwKKyAgICBbMF0sWworICAgICAgIyBBIGNv
dW50IG9mIHplcm8gbWVhbnMgdXNlIHRoZSBsZW5ndGggb2YgdGhlIHNob3J0ZXIgdmVyc2lvbi4K
KyAgICAgICMgRGV0ZXJtaW5lIHRoZSBudW1iZXIgb2YgY2hhcmFjdGVycyBpbiBBIGFuZCBCLgor
ICAgICAgYXhfY29tcGFyZV92ZXJzaW9uX2xlbl9BPWBlY2hvICIkQSIgfCBhd2sgJ3twcmludChs
ZW5ndGgpfSdgCisgICAgICBheF9jb21wYXJlX3ZlcnNpb25fbGVuX0I9YGVjaG8gIiRCIiB8IGF3
ayAne3ByaW50KGxlbmd0aCl9J2AKKyAKKyAgICAgICMgU2V0IEEgdG8gbm8gbW9yZSB0aGFuIEIn
cyBsZW5ndGggYW5kIEIgdG8gbm8gbW9yZSB0aGFuIEEncyBsZW5ndGguCisgICAgICBBPWBlY2hv
ICIkQSIgfCBzZWQgInMvXCguXHskYXhfY29tcGFyZV92ZXJzaW9uX2xlbl9CXH1cKS4qL1wxLyJg
CisgICAgICBCPWBlY2hvICIkQiIgfCBzZWQgInMvXCguXHskYXhfY29tcGFyZV92ZXJzaW9uX2xl
bl9BXH1cKS4qL1wxLyJgCisgICAgXSwKKyAgICBbWzAtOV0rXSxbCisgICAgICAjIEEgY291bnQg
Z3JlYXRlciB0aGFuIHplcm8gbWVhbnMgdXNlIG9ubHkgdGhhdCBtYW55IHN1YnZlcnNpb25zIAor
ICAgICAgQT1gZWNobyAiJEEiIHwgc2VkICJzL1woXChbWzAtOV1dXHs0XH1cKVx7bTRfc3Vic3Ry
KCQyLDIpXH1cKS4qL1wxLyJgCisgICAgICBCPWBlY2hvICIkQiIgfCBzZWQgInMvXChcKFtbMC05
XV1cezRcfVwpXHttNF9zdWJzdHIoJDIsMilcfVwpLiovXDEvImAKKyAgICBdLAorICAgIFsuK10s
WworICAgICAgQUNfV0FSTklORygKKyAgICAgICAgW2lsbGVnYWwgT1AgbnVtZXJpYyBwYXJhbWV0
ZXI6ICQyXSkKKyAgICBdLFtdKQorCisgICAgIyBQYWQgemVyb3MgYXQgZW5kIG9mIG51bWJlcnMg
dG8gbWFrZSBzYW1lIGxlbmd0aC4KKyAgICBheF9jb21wYXJlX3ZlcnNpb25fdG1wX0E9IiRBYGVj
aG8gJEIgfCBzZWQgJ3MvLi8wL2cnYCIKKyAgICBCPSIkQmBlY2hvICRBIHwgc2VkICdzLy4vMC9n
J2AiCisgICAgQT0iJGF4X2NvbXBhcmVfdmVyc2lvbl90bXBfQSIKKworICAgICMgQ2hlY2sgZm9y
IGVxdWFsaXR5IG9yIGluZXF1YWxpdHkgYXMgbmVjZXNzYXJ5LgorICAgIG00X2Nhc2UobTRfdG9s
b3dlcihtNF9zdWJzdHIoJDIsMCwyKSksCisgICAgW2VxXSxbCisgICAgICB0ZXN0ICJ4JEEiID0g
IngkQiIgJiYgYXhfY29tcGFyZV92ZXJzaW9uPXRydWUKKyAgICBdLAorICAgIFtuZV0sWworICAg
ICAgdGVzdCAieCRBIiAhPSAieCRCIiAmJiBheF9jb21wYXJlX3ZlcnNpb249dHJ1ZQorICAgIF0s
WworICAgICAgQUNfV0FSTklORyhbaWxsZWdhbCBPUCBwYXJhbWV0ZXI6ICQyXSkKKyAgICBdKQor
ICBdKQorCisgIEFTX1ZBUl9QT1BERUYoW0FdKWRubAorICBBU19WQVJfUE9QREVGKFtCXSlkbmwK
KworICBkbmwgIyBFeGVjdXRlIEFDVElPTi1JRi1UUlVFIC8gQUNUSU9OLUlGLUZBTFNFLgorICBp
ZiB0ZXN0ICIkYXhfY29tcGFyZV92ZXJzaW9uIiA9ICJ0cnVlIiA7IHRoZW4KKyAgICBtNF9pZnZh
bG4oWyQ0XSxbJDRdLFs6XSlkbmwKKyAgICBtNF9pZnZhbG4oWyQ1XSxbZWxzZSAkNV0pZG5sCisg
IGZpCitdKSBkbmwgQVhfQ09NUEFSRV9WRVJTSU9OCisKKworZG5sICMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMK
K0FDX0RFRlVOKFtBWF9QQVRIX0JEQl0sIFsKKyAgZG5sICMgVXNlZCB0byBpbmRpY2F0ZSBzdWNj
ZXNzIG9yIGZhaWx1cmUgb2YgdGhpcyBmdW5jdGlvbi4KKyAgYXhfcGF0aF9iZGJfb2s9bm8KKwor
ICAjIEFkZCAtLXdpdGgtYmRiLWRpciBvcHRpb24gdG8gY29uZmlndXJlLgorICBBQ19BUkdfV0lU
SChbYmRiLWRpcl0sCisgICAgW0FDX0hFTFBfU1RSSU5HKFstLXdpdGgtYmRiLWRpcj1ESVJdLAor
ICAgICAgICAgICAgICAgICAgICBbQmVya2VsZXkgREIgaW5zdGFsbGF0aW9uIGRpcmVjdG9yeV0p
XSkKKworICAjIENoZWNrIGlmIC0td2l0aC1iZGItZGlyIHdhcyBzcGVjaWZpZWQuCisgIGlmIHRl
c3QgIngkd2l0aF9iZGJfZGlyIiA9ICJ4IiA7IHRoZW4gCisgICAgIyBObyBvcHRpb24gc3BlY2lm
aWVkLCBzbyBqdXN0IHNlYXJjaCB0aGUgc3lzdGVtLgorICAgIEFYX1BBVEhfQkRCX05PX09QVElP
TlMoWyQxXSwgW0hJR0hFU1RdLCBbCisgICAgICBheF9wYXRoX2JkYl9vaz15ZXMKKyAgICBdKQor
ICAgZWxzZQorICAgICAjIFNldCAtLXdpdGgtYmRiLWRpciBvcHRpb24uCisgICAgIGF4X3BhdGhf
YmRiX0lOQz0iJHdpdGhfYmRiX2Rpci9pbmNsdWRlIgorICAgICBheF9wYXRoX2JkYl9MSUI9IiR3
aXRoX2JkYl9kaXIvbGliIgorIAorICAgICBkbmwgIyBTYXZlIHByZXZpb3VzIGVudmlyb25tZW50
LCBhbmQgbW9kaWZ5IHdpdGggbmV3IHN0dWZmLgorICAgICBheF9wYXRoX2JkYl9zYXZlX0NQUEZM
QUdTPSIkQ1BQRkxBR1MiCisgICAgIENQUEZMQUdTPSItSSRheF9wYXRoX2JkYl9JTkMgJENQUEZM
QUdTIgorIAorICAgICBheF9wYXRoX2JkYl9zYXZlX0xERkxBR1M9JExERkxBR1MKKyAgICAgTERG
TEFHUz0iLUwkYXhfcGF0aF9iZGJfTElCICRMREZMQUdTIgorIAorICAgICAjIENoZWNrIGZvciBz
cGVjaWZpYyBoZWFkZXIgZmlsZSBkYi5oCisgICAgIEFDX01TR19DSEVDS0lORyhbZGIuaCBwcmVz
ZW5jZSBpbiAkYXhfcGF0aF9iZGJfSU5DXSkKKyAgICAgaWYgdGVzdCAtZiAiJGF4X3BhdGhfYmRi
X0lOQy9kYi5oIiA7IHRoZW4KKyAgICAgICBBQ19NU0dfUkVTVUxUKFt5ZXNdKQorICAgICAgICMg
Q2hlY2sgZm9yIGxpYnJhcnkKKyAgICAgICBBWF9QQVRIX0JEQl9OT19PUFRJT05TKFskMV0sIFtF
TlZPTkxZXSwgWworICAgICAgICAgYXhfcGF0aF9iZGJfb2s9eWVzCisgICAgICAgICBCREJfQ1BQ
RkxBR1M9Ii1JJGF4X3BhdGhfYmRiX0lOQyIKKyAgICAgICAgIEJEQl9MREZMQUdTPSItTCRheF9w
YXRoX2JkYl9MSUIiCisgICAgICAgXSkKKyAgICAgZWxzZQorICAgICAgIEFDX01TR19SRVNVTFQo
W25vXSkKKyAgICAgICBBQ19NU0dfTk9USUNFKFtubyB1c2FibGUgQmVya2VsZXkgREIgbm90IGZv
dW5kXSkgCisgICAgIGZpCisgCisgICAgIGRubCAjIFJlc3RvcmUgdGhlIGVudmlyb25tZW50Lgor
ICAgICBDUFBGTEFHUz0iJGF4X3BhdGhfYmRiX3NhdmVfQ1BQRkxBR1MiCisgICAgIExERkxBR1M9
IiRheF9wYXRoX2JkYl9zYXZlX0xERkxBR1MiCisKKyAgZmkKKworICBkbmwgIyBFeGVjdXRlIEFD
VElPTi1JRi1GT1VORCAvIEFDVElPTi1JRi1OT1QtRk9VTkQuCisgIGlmIHRlc3QgIiRheF9wYXRo
X2JkYl9vayIgPSAieWVzIiA7IHRoZW4KKyAgICBtNF9pZnZhbG4oWyQyXSxbJDJdLFs6XSlkbmwK
KyAgICBtNF9pZnZhbG4oWyQzXSxbZWxzZSAkM10pZG5sCisgIGZpCisKK10pIGRubCBBWF9QQVRI
X0JEQgorCitkbmwgIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIworZG5sIENoZWNrIGZvciBiZXJrZWxleSBEQiBv
ZiBhdCBsZWFzdCBNSU5JTVVNLVZFUlNJT04gb24gc3lzdGVtLgorZG5sIAorZG5sIFRoZSBPUFRJ
T04gYXJndW1lbnQgZGV0ZXJtaW5lcyBob3cgdGhlIGNoZWNrcyBvY2N1ciwgYW5kIGNhbiBiZSBv
bmUgb2Y6CitkbmwKK2RubCAgIEhJR0hFU1QgLSAgQ2hlY2sgYm90aCB0aGUgZW52aXJvbm1lbnQg
YW5kIHRoZSBkZWZhdWx0IGluc3RhbGxhdGlvbiAKK2RubCAgICAgICAgICAgICAgZGlyZWN0b3Jp
ZXMgZm9yIEJlcmtlbGV5IERCIGFuZCBjaG9vc2UgdGhlIHZlcnNpb24gdGhhdAorZG5sICAgICAg
ICAgICAgICBpcyBoaWdoZXN0LiAoZGVmYXVsdCkKK2RubCAgIEVOVkZJUlNUIC0gQ2hlY2sgdGhl
IGVudmlyb25tZW50IGZpcnN0LCBhbmQgaWYgbm8gc2F0aXNmYWN0b3J5IAorZG5sICAgICAgICAg
ICAgICBsaWJyYXJ5IGlzIGZvdW5kIHRoZXJlIGNoZWNrIHRoZSBkZWZhdWx0IGluc3RhbGxhdGlv
biAKK2RubCAgICAgICAgICAgICAgZGlyZWN0b3JpZXMgZm9yIEJlcmtlbGV5IERCIHdoaWNoIGlz
IC91c3IvbG9jYWwvQmVya2VsZXlEQioKK2RubCAgIEVOVk9OTFkgLSAgQ2hlY2sgdGhlIGN1cnJl
bnQgZW52aXJvbm1lbnQgb25seS4KK2RubCAgIAorZG5sIFJlcXVpcmVzIEFYX1BBVEhfQkRCX1BB
VEhfR0VUX1ZFUlNJT04sIEFYX1BBVEhfQkRCX1BBVEhfRklORF9ISUdIRVNULAorZG5sICAgICAg
ICAgIEFYX1BBVEhfQkRCX0VOVl9DT05GSVJNX0xJQiwgQVhfUEFUSF9CREJfRU5WX0dFVF9WRVJT
SU9OLCBhbmQKK2RubCAgICAgICAgICBBWF9DT01QQVJFX1ZFUlNJT04gbWFjcm9zLgorZG5sCitk
bmwgUmVzdWx0OiBzZXRzIGF4X3BhdGhfYmRiX25vX29wdGlvbnNfb2sgdG8geWVzIG9yIG5vCitk
bmwgICAgICAgICBzZXRzIEJEQl9MSUJTLCBCREJfQ1BQRkxBR1MsIEJEQl9MREZMQUdTLCBCREJf
VkVSU0lPTgorZG5sCitkbmwgQVhfUEFUSF9CREJfTk9fT1BUSU9OUyhbTUlOSU1VTS1WRVJTSU9O
XSwgW09QVElPTl0sIFtBQ1RJT04tSUYtRk9VTkRdLCBbQUNUSU9OLUlGLU5PVC1GT1VORF0pCitB
Q19ERUZVTihbQVhfUEFUSF9CREJfTk9fT1BUSU9OU10sIFsKKyAgZG5sICMgVXNlZCB0byBpbmRp
Y2F0ZSBzdWNjZXNzIG9yIGZhaWx1cmUgb2YgdGhpcyBmdW5jdGlvbi4KKyAgYXhfcGF0aF9iZGJf
bm9fb3B0aW9uc19vaz1ubworCisgICMgVmFsdWVzIHRvIGFkZCB0byBlbnZpcm9ubWVudCB0byB1
c2UgQmVya2VsZXkgREIuCisgIEJEQl9WRVJTSU9OPScnCisgIEJEQl9MSUJTPScnCisgIEJEQl9D
UFBGTEFHUz0nJworICBCREJfTERGTEFHUz0nJworCisgICMgQ2hlY2sgY3Jvc3MgY29tcGlsYXRp
b24gaGVyZS4KKyAgaWYgdGVzdCAieCRjcm9zc19jb21waWxpbmciID0gInh5ZXMiIDsgdGhlbgor
ICAgICMgSWYgY3Jvc3MgY29tcGlsaW5nLCBjYW4ndCB1c2UgQUNfUlVOX0lGRUxTRSBzbyBkbyB0
aGVzZSB0ZXN0cy4KKyAgICAjIFRoZSBBQ19QUkVQUk9DX0lGRUxTRSBjb25maXJtcyB0aGF0IGRi
LmggaXMgcHJlcHJvY2Vzc2FibGUsCisgICAgIyBhbmQgZXh0cmFjdHMgdGhlIHZlcnNpb24gbnVt
YmVyIGZyb20gaXQuCisgICAgQUNfTVNHX0NIRUNLSU5HKFtmb3IgZGIuaF0pCisKKyAgICBBU19W
QVJfUFVTSERFRihbSEVBREVSX1ZFUlNJT05dLFtheF9wYXRoX2JkYl9ub19vcHRpb25zX0hFQURF
Ul9WRVJTSU9OXSlkbmwKKyAgICBIRUFERVJfVkVSU0lPTj0nJworICAgIEFDX1BSRVBST0NfSUZF
TFNFKFsKKyAgICAgIEFDX0xBTkdfU09VUkNFKFtbCisjaW5jbHVkZSA8ZGIuaD4KK0FYX1BBVEhf
QkRCX1NUVUZGIERCX1ZFUlNJT05fTUFKT1IsREJfVkVSU0lPTl9NSU5PUixEQl9WRVJTSU9OX1BB
VENICisgICAgICBdXSkKKyAgICBdLFsKKyAgICAgICMgRXh0cmFjdCB2ZXJzaW9uIGZyb20gcHJl
cHJvY2Vzc29yIG91dHB1dC4KKyAgICAgIEhFQURFUl9WRVJTSU9OPWBldmFsICIkYWNfY3BwIGNv
bmZ0ZXN0LiRhY19leHQiIDI+IC9kZXYvbnVsbCBcCisgICAgICAgIHwgZ3JlcCBBWF9QQVRIX0JE
Ql9TVFVGRiB8IHNlZCAncy9bW14wLTksXV0vL2c7cy8sLy4vZzsxcSdgCisgICAgXSxbXSkKKwor
ICAgIGlmIHRlc3QgIngkSEVBREVSX1ZFUlNJT04iID0gIngiIDsgdGhlbgorICAgICAgQUNfTVNH
X1JFU1VMVChbbm9dKQorICAgIGVsc2UKKyAgICAgIEFDX01TR19SRVNVTFQoWyRIRUFERVJfVkVS
U0lPTl0pCisKKyAgICAgICMgQ2hlY2sgdGhhdCB2ZXJzaW9uIGlzIGhpZ2ggZW5vdWdoLgorICAg
ICAgQVhfQ09NUEFSRV9WRVJTSU9OKFskSEVBREVSX1ZFUlNJT05dLFtnZV0sWyQxXSxbCisgICAg
ICAgICMgZ2V0IG1ham9yIGFuZCBtaW5vciB2ZXJzaW9uIG51bWJlcnMKKyAgICAgICAgQVNfVkFS
X1BVU0hERUYoW01BSl0sW2F4X3BhdGhfYmRiX25vX29wdGlvbnNfTUFKT1JdKWRubAorICAgICAg
ICBNQUo9YGVjaG8gJEhFQURFUl9WRVJTSU9OIHwgc2VkICdzLFwuLiosLCdgCisgICAgICAgIEFT
X1ZBUl9QVVNIREVGKFtNSU5dLFtheF9wYXRoX2JkYl9ub19vcHRpb25zX01JTk9SXSlkbmwKKyAg
ICAgICAgTUlOPWBlY2hvICRIRUFERVJfVkVSU0lPTiB8IHNlZCAncyxeW1swLTldXSpcLiwsO3Ms
XC5bWzAtOV1dKiQsLCdgCisKKwlkbmwgIyBTYXZlIExJQlMuCisJYXhfcGF0aF9iZGJfbm9fb3B0
aW9uc19zYXZlX0xJQlM9IiRMSUJTIgorCisgICAgICAgICMgQ2hlY2sgdGhhdCB3ZSBjYW4gbGlu
ayB3aXRoIHRoZSBsaWJyYXJ5LgorICAgICAgICBBQ19TRUFSQ0hfTElCUyhbZGJfdmVyc2lvbl0s
IAorICAgICAgICAgIFtkYiBkYi0kTUFKLiRNSU4gZGIkTUFKLiRNSU4gZGIkTUFKJE1JTiBkYi0k
TUFKIGRiJE1BSl0sWworICAgICAgICAgICAgIyBTdWNlc3NmdWxseSBmb3VuZCBsaWJyYXJ5Lgor
ICAgICAgICAgICAgYXhfcGF0aF9iZGJfbm9fb3B0aW9uc19vaz15ZXMKKyAgICAgICAgICAgIEJE
Ql9WRVJTSU9OPSRIRUFERVJfVkVSU0lPTgorCSAgICAKKwkgICAgIyBFeHRyYWN0IGxpYnJhcnkg
ZnJvbSBMSUJTCisJICAgIGF4X3BhdGhfYmRiX25vX29wdGlvbnNfTEVOPWAgXAorICAgICAgICAg
ICAgICBlY2hvICJ4JGF4X3BhdGhfYmRiX25vX29wdGlvbnNfc2F2ZV9MSUJTIiBcCisgICAgICAg
ICAgICAgIHwgYXdrICd7cHJpbnQobGVuZ3RoKX0nYAorICAgICAgICAgICAgQkRCX0xJQlM9YGVj
aG8gIngkTElCUyAiIFwKKyAgICAgICAgICAgICAgfCBzZWQgInMvLlx7JGF4X3BhdGhfYmRiX25v
X29wdGlvbnNfTEVOXH1cJC8vO3MvXngvLztzLyAvL2ciYAorICAgICAgICBdLFtdKQorCisgICAg
ICAgIGRubCAjIFJlc3RvcmUgTElCUworCUxJQlM9IiRheF9wYXRoX2JkYl9ub19vcHRpb25zX3Nh
dmVfTElCUyIKKworICAgICAgICBBU19WQVJfUE9QREVGKFtNQUpdKWRubAorICAgICAgICBBU19W
QVJfUE9QREVGKFtNSU5dKWRubAorICAgICAgXSkKKyAgICBmaQorCisgICAgQVNfVkFSX1BPUERF
RihbSEVBREVSX1ZFUlNJT05dKWRubAorICBlbHNlCisgICAgIyBOb3QgY3Jvc3MgY29tcGlsaW5n
LgorICAgICMgQ2hlY2sgdmVyc2lvbiBvZiBCZXJrZWxleSBEQiBpbiB0aGUgY3VycmVudCBlbnZp
cm9ubWVudC4KKyAgICBBWF9QQVRIX0JEQl9FTlZfR0VUX1ZFUlNJT04oWworICAgICAgQVhfQ09N
UEFSRV9WRVJTSU9OKFskYXhfcGF0aF9iZGJfZW52X2dldF92ZXJzaW9uX1ZFUlNJT05dLFtnZV0s
WyQxXSxbCisgICAgICAgICMgRm91bmQgYWNjZXB0YWJsZSB2ZXJzaW9uIGluIGN1cnJlbnQgZW52
aXJvbm1lbnQuCisgICAgICAgIGF4X3BhdGhfYmRiX25vX29wdGlvbnNfb2s9eWVzCisgICAgICAg
IEJEQl9WRVJTSU9OPSIkYXhfcGF0aF9iZGJfZW52X2dldF92ZXJzaW9uX1ZFUlNJT04iCisgICAg
ICAgIEJEQl9MSUJTPSIkYXhfcGF0aF9iZGJfZW52X2dldF92ZXJzaW9uX0xJQlMiCisgICAgICBd
KQorICAgIF0pCisKKyAgICAjIERldGVybWluZSBpZiB3ZSBuZWVkIHRvIHNlYXJjaCAvdXNyL2xv
Y2FsL0JlcmtlbGV5REIqCisgICAgYXhfcGF0aF9iZGJfbm9fb3B0aW9uc19ET05FPW5vCisgICAg
aWYgdGVzdCAieCQyIiA9ICJ4RU5WT05MWSIgOyB0aGVuCisgICAgICBheF9wYXRoX2JkYl9ub19v
cHRpb25zX0RPTkU9eWVzCisgICAgZWxpZiB0ZXN0ICJ4JDIiID0gInhFTlZGSVJTVCIgOyB0aGVu
CisgICAgICBheF9wYXRoX2JkYl9ub19vcHRpb25zX0RPTkU9JGF4X3BhdGhfYmRiX25vX29wdGlv
bnNfb2sKKyAgICBmaSAgCisKKyAgICBpZiB0ZXN0ICIkYXhfcGF0aF9iZGJfbm9fb3B0aW9uc19E
T05FIiA9ICJubyIgOyB0aGVuCisgICAgICAjIENoZWNrIGZvciBoaWdoZXN0IGluIC91c3IvbG9j
YWwvQmVya2VsZXlEQioKKyAgICAgIEFYX1BBVEhfQkRCX1BBVEhfRklORF9ISUdIRVNUKFsKKyAg
ICAgICAgaWYgdGVzdCAiJGF4X3BhdGhfYmRiX25vX29wdGlvbnNfb2siID0gInllcyIgOyB0aGVu
CisgICAgICAgICMgSWYgd2UgYWxyZWFkeSBoYXZlIGFuIGFjY2VwdGFibGUgdmVyc2lvbiB1c2Ug
dGhpcyBpZiBoaWdoZXIuCisgICAgICAgICAgQVhfQ09NUEFSRV9WRVJTSU9OKAorICAgICAgICAg
ICAgIFskYXhfcGF0aF9iZGJfcGF0aF9maW5kX2hpZ2hlc3RfVkVSU0lPTl0sW2d0XSxbJEJEQl9W
RVJTSU9OXSkKKyAgICAgICAgZWxzZQorICAgICAgICAgICMgU2luY2Ugd2UgZGlkbid0IGhhdmUg
YW4gYWNjZXB0YWJsZSB2ZXJzaW9uIGNoZWNrIGlmIHRoaXMgb25lIGlzLgorICAgICAgICAgIEFY
X0NPTVBBUkVfVkVSU0lPTigKKyAgICAgICAgICAgICBbJGF4X3BhdGhfYmRiX3BhdGhfZmluZF9o
aWdoZXN0X1ZFUlNJT05dLFtnZV0sWyQxXSkKKyAgICAgICAgZmkKKyAgICAgIF0pCisKKyAgICAg
IGRubCAjIElmIHJlc3VsdCBmcm9tIF9BWF9DT01QQVJFX1ZFUlNJT04gaXMgdHJ1ZSB3ZSB3YW50
IHRoaXMgdmVyc2lvbi4KKyAgICAgIGlmIHRlc3QgIiRheF9jb21wYXJlX3ZlcnNpb24iID0gInRy
dWUiIDsgdGhlbgorICAgICAgICBheF9wYXRoX2JkYl9ub19vcHRpb25zX29rPXllcworICAgICAg
ICBCREJfTElCUz0iLWxkYiIKKyAgICAgICAgQkRCX0NQUEZMQUdTPSItSSRheF9wYXRoX2JkYl9w
YXRoX2ZpbmRfaGlnaGVzdF9ESVIvaW5jbHVkZSIKKyAgICAgICAgQkRCX0xERkxBR1M9Ii1MJGF4
X3BhdGhfYmRiX3BhdGhfZmluZF9oaWdoZXN0X0RJUi9saWIiCisgICAgICAgIEJEQl9WRVJTSU9O
PSIkYXhfcGF0aF9iZGJfcGF0aF9maW5kX2hpZ2hlc3RfVkVSU0lPTiIKKyAgICAgIGZpCisgICAg
ZmkKKyAgZmkKKworICBkbmwgIyBFeGVjdXRlIEFDVElPTi1JRi1GT1VORCAvIEFDVElPTi1JRi1O
T1QtRk9VTkQuCisgIGlmIHRlc3QgIiRheF9wYXRoX2JkYl9ub19vcHRpb25zX29rIiA9ICJ5ZXMi
IDsgdGhlbgorICAgIEFDX01TR19OT1RJQ0UoW3VzaW5nIEJlcmtlbGV5IERCIHZlcnNpb24gJEJE
Ql9WRVJTSU9OXSkgCisgICAgQUNfREVGSU5FKFtIQVZFX0RCX0hdLFsxXSwKKyAgICAgICAgICAg
ICAgW0RlZmluZSB0byAxIGlmIHlvdSBoYXZlIHRoZSA8ZGIuaD4gaGVhZGVyIGZpbGUuXSkKKyAg
ICBtNF9pZnZhbG4oWyQzXSxbJDNdKWRubAorICBlbHNlCisgICAgQUNfTVNHX05PVElDRShbbm8g
QmVya2VsZXkgREIgdmVyc2lvbiAkMSBvciBoaWdoZXIgZm91bmRdKSAKKyAgICBtNF9pZnZhbG4o
WyQ0XSxbJDRdKWRubAorICBmaSAKK10pIGRubCBBWF9QQVRIX0JEQl9OT19PUFRJT05TCisKK2Ru
bCAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjCitkbmwgQ2hlY2sgdGhlIGRlZmF1bHQgaW5zdGFsbGF0aW9uIGRp
cmVjdG9yeSBmb3IgQmVya2VsZXkgREIgd2hpY2ggaXMKK2RubCBvZiB0aGUgZm9ybSAvdXNyL2xv
Y2FsL0JlcmtlbGV5REIqIGZvciB0aGUgaGlnaGVzdCB2ZXJzaW9uLgorZG5sCitkbmwgUmVzdWx0
OiBzZXRzIGF4X3BhdGhfYmRiX3BhdGhfZmluZF9oaWdoZXN0X29rIHRvIHllcyBvciBubywKK2Ru
bCAgICAgICAgIHNldHMgYXhfcGF0aF9iZGJfcGF0aF9maW5kX2hpZ2hlc3RfVkVSU0lPTiB0byB2
ZXJzaW9uLAorZG5sICAgICAgICAgc2V0cyBheF9wYXRoX2JkYl9wYXRoX2ZpbmRfaGlnaGVzdF9E
SVIgdG8gZGlyZWN0b3J5LgorZG5sCitkbmwgQVhfUEFUSF9CREJfUEFUSF9GSU5EX0hJR0hFU1Qo
W0FDVElPTi1JRi1GT1VORF0sIFtBQ1RJT04tSUYtTk9ULUZPVU5EXSkKK0FDX0RFRlVOKFtBWF9Q
QVRIX0JEQl9QQVRIX0ZJTkRfSElHSEVTVF0sIFsKKyAgZG5sICMgVXNlZCB0byBpbmRpY2F0ZSBz
dWNjZXNzIG9yIGZhaWx1cmUgb2YgdGhpcyBmdW5jdGlvbi4KKyAgYXhfcGF0aF9iZGJfcGF0aF9m
aW5kX2hpZ2hlc3Rfb2s9bm8KKworICBBU19WQVJfUFVTSERFRihbVkVSU0lPTl0sW2F4X3BhdGhf
YmRiX3BhdGhfZmluZF9oaWdoZXN0X1ZFUlNJT05dKWRubAorICBWRVJTSU9OPScnCisKKyAgYXhf
cGF0aF9iZGJfcGF0aF9maW5kX2hpZ2hlc3RfRElSPScnCisKKyAgIyBmaW5kIGhpZ2hlc3QgdmVy
aXNvbiBpbiBkZWZhdWx0IGluc3RhbGwgZGlyZWN0b3J5IGZvciBCZXJrZWxleSBEQiAKKyAgQVNf
VkFSX1BVU0hERUYoW0NVUkRJUl0sW2F4X3BhdGhfYmRiX3BhdGhfZmluZF9oaWdoZXN0X0NVUkRJ
Ul0pZG5sCisgIEFTX1ZBUl9QVVNIREVGKFtDVVJfVkVSU0lPTl0sW2F4X3BhdGhfYmRiX3BhdGhf
Z2V0X3ZlcnNpb25fVkVSU0lPTl0pZG5sCisKKyAgZm9yIENVUkRJUiBpbiBgbHMgLWQgL3Vzci9s
b2NhbC9CZXJrZWxleURCKiAyPiAvZGV2L251bGxgCisgIGRvCisgICAgQVhfUEFUSF9CREJfUEFU
SF9HRVRfVkVSU0lPTihbJENVUkRJUl0sWworICAgICAgQVhfQ09NUEFSRV9WRVJTSU9OKFskQ1VS
X1ZFUlNJT05dLFtndF0sWyRWRVJTSU9OXSxbCisgICAgICAgIGF4X3BhdGhfYmRiX3BhdGhfZmlu
ZF9oaWdoZXN0X29rPXllcworICAgICAgICBheF9wYXRoX2JkYl9wYXRoX2ZpbmRfaGlnaGVzdF9E
SVI9IiRDVVJESVIiCisgICAgICAgIFZFUlNJT049IiRDVVJfVkVSU0lPTiIKKyAgICAgIF0pCisg
ICAgXSkKKyAgZG9uZQorCisgIEFTX1ZBUl9QT1BERUYoW1ZFUlNJT05dKWRubAorICBBU19WQVJf
UE9QREVGKFtDVVJfVkVSU0lPTl0pZG5sCisgIEFTX1ZBUl9QT1BERUYoW0NVUkRJUl0pZG5sCisK
KyAgZG5sICMgRXhlY3V0ZSBBQ1RJT04tSUYtRk9VTkQgLyBBQ1RJT04tSUYtTk9ULUZPVU5ELgor
ICBpZiB0ZXN0ICIkYXhfcGF0aF9iZGJfcGF0aF9maW5kX2hpZ2hlc3Rfb2siID0gInllcyIgOyB0
aGVuCisgICAgbTRfaWZ2YWxuKFskMV0sWyQxXSxbOl0pZG5sCisgICAgbTRfaWZ2YWxuKFskMl0s
W2Vsc2UgJDJdKWRubAorICBmaQorCitdKSBkbmwgQVhfUEFUSF9CREJfUEFUSF9GSU5EX0hJR0hF
U1QKKworZG5sICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKK2RubCBDaGVja3MgZm9yIEJlcmtlbGV5IERCIGlu
IHNwZWNpZmllZCBkaXJlY3RvcnkncyBsaWIgYW5kIGluY2x1ZGUgCitkbmwgc3ViZGlyZWN0b3Jp
ZXMuICAKK2RubAorZG5sIFJlc3VsdDogc2V0cyBheF9wYXRoX2JkYl9wYXRoX2dldF92ZXJzaW9u
X29rIHRvIHllcyBvciBubywKK2RubCAgICAgICAgIHNldHMgYXhfcGF0aF9iZGJfcGF0aF9nZXRf
dmVyc2lvbl9WRVJTSU9OIHRvIHZlcnNpb24uCitkbmwKK2RubCBBWF9QQVRIX0JEQl9QQVRIX0dF
VF9WRVJTSU9OKEJEQi1ESVIsIFtBQ1RJT04tSUYtRk9VTkRdLCBbQUNUSU9OLUlGLU5PVC1GT1VO
RF0pCitBQ19ERUZVTihbQVhfUEFUSF9CREJfUEFUSF9HRVRfVkVSU0lPTl0sIFsKKyAgZG5sICMg
VXNlZCB0byBpbmRpY2F0ZSBzdWNjZXNzIG9yIGZhaWx1cmUgb2YgdGhpcyBmdW5jdGlvbi4KKyAg
YXhfcGF0aF9iZGJfcGF0aF9nZXRfdmVyc2lvbl9vaz1ubworCisgICMgSW5kaWNhdGUgc3RhdHVz
IG9mIGNoZWNraW5nIGZvciBCZXJrZWxleSBEQiBoZWFkZXIuCisgIEFDX01TR19DSEVDS0lORyhb
aW4gJDEvaW5jbHVkZSBmb3IgZGIuaF0pCisgIGF4X3BhdGhfYmRiX3BhdGhfZ2V0X3ZlcnNpb25f
Z290X2hlYWRlcj1ubworICB0ZXN0IC1mICIkMS9pbmNsdWRlL2RiLmgiICYmIGF4X3BhdGhfYmRi
X3BhdGhfZ2V0X3ZlcnNpb25fZ290X2hlYWRlcj15ZXMKKyAgQUNfTVNHX1JFU1VMVChbJGF4X3Bh
dGhfYmRiX3BhdGhfZ2V0X3ZlcnNpb25fZ290X2hlYWRlcl0pCisKKyAgIyBJbmRpY2F0ZSBzdGF0
dXMgb2YgY2hlY2tpbmcgZm9yIEJlcmtlbGV5IERCIGxpYnJhcnkuCisgIEFDX01TR19DSEVDS0lO
RyhbaW4gJDEvbGliIGZvciBsaWJyYXJ5IC1sZGJdKQorCisgIGF4X3BhdGhfYmRiX3BhdGhfZ2V0
X3ZlcnNpb25fVkVSU0lPTj0nJworCisgIGlmIHRlc3QgLWQgIiQxL2luY2x1ZGUiICYmIHRlc3Qg
LWQgIiQxL2xpYiIgJiYKKyAgICAgdGVzdCAiJGF4X3BhdGhfYmRiX3BhdGhfZ2V0X3ZlcnNpb25f
Z290X2hlYWRlciIgPSAieWVzIiA7IHRoZW4KKyAgICBkbmwgIyBzYXZlIGFuZCBtb2RpZnkgZW52
aXJvbm1lbnQKKyAgICBheF9wYXRoX2JkYl9wYXRoX2dldF92ZXJzaW9uX3NhdmVfQ1BQRkxBR1M9
IiRDUFBGTEFHUyIKKyAgICBDUFBGTEFHUz0iLUkkMS9pbmNsdWRlICRDUFBGTEFHUyIKKworICAg
IGF4X3BhdGhfYmRiX3BhdGhfZ2V0X3ZlcnNpb25fc2F2ZV9MSUJTPSIkTElCUyIKKyAgICBMSUJT
PSIkTElCUyAtbGRiIgorCisgICAgYXhfcGF0aF9iZGJfcGF0aF9nZXRfdmVyc2lvbl9zYXZlX0xE
RkxBR1M9IiRMREZMQUdTIgorICAgIExERkxBR1M9Ii1MJDEvbGliICRMREZMQUdTIgorCisgICAg
IyBDb21waWxlIGFuZCBydW4gYSBwcm9ncmFtIHRoYXQgY29tcGFyZXMgdGhlIHZlcnNpb24gZGVm
aW5lZCBpbgorICAgICMgdGhlIGhlYWRlciBmaWxlIHdpdGggYSB2ZXJzaW9uIGRlZmluZWQgaW4g
dGhlIGxpYnJhcnkgZnVuY3Rpb24KKyAgICAjIGRiX3ZlcnNpb24uCisgICAgQUNfUlVOX0lGRUxT
RShbCisgICAgICBBQ19MQU5HX1NPVVJDRShbWworI2luY2x1ZGUgPHN0ZGlvLmg+CisjaW5jbHVk
ZSA8ZGIuaD4KK2ludCBtYWluKGludCBhcmdjLGNoYXIgKiphcmd2KQoreworICBpbnQgbWFqb3Is
bWlub3IscGF0Y2g7CisgIGRiX3ZlcnNpb24oJm1ham9yLCZtaW5vciwmcGF0Y2gpOworICBpZiAo
YXJnYyA+IDEpCisgICAgcHJpbnRmKCIlZC4lZC4lZFxuIixEQl9WRVJTSU9OX01BSk9SLERCX1ZF
UlNJT05fTUlOT1IsREJfVkVSU0lPTl9QQVRDSCk7CisgIGlmIChEQl9WRVJTSU9OX01BSk9SID09
IG1ham9yICYmIERCX1ZFUlNJT05fTUlOT1IgPT0gbWlub3IgJiYKKyAgICAgIERCX1ZFUlNJT05f
UEFUQ0ggPT0gcGF0Y2gpCisgICAgcmV0dXJuIDA7ICAgICAgICAgIAorICBlbHNlCisgICAgcmV0
dXJuIDE7Cit9CisgICAgICBdXSkKKyAgICBdLFsKKyAgICAgICMgUHJvZ3JhbSBjb21waWxlZCBh
bmQgcmFuLCBzbyBnZXQgdmVyc2lvbiBieSBhZGRpbmcgYXJndW1lbnQuCisgICAgICBheF9wYXRo
X2JkYl9wYXRoX2dldF92ZXJzaW9uX1ZFUlNJT049YC4vY29uZnRlc3QkYWNfZXhlZXh0IHhgCisg
ICAgICBheF9wYXRoX2JkYl9wYXRoX2dldF92ZXJzaW9uX29rPXllcworICAgIF0sW10sW10pCisK
KyAgICBkbmwgIyByZXN0b3JlIGVudmlyb25tZW50CisgICAgQ1BQRkxBR1M9IiRheF9wYXRoX2Jk
Yl9wYXRoX2dldF92ZXJzaW9uX3NhdmVfQ1BQRkxBR1MiCisgICAgTElCUz0iJGF4X3BhdGhfYmRi
X3BhdGhfZ2V0X3ZlcnNpb25fc2F2ZV9MSUJTIgorICAgIExERkxBR1M9IiRheF9wYXRoX2JkYl9w
YXRoX2dldF92ZXJzaW9uX3NhdmVfTERGTEFHUyIKKyAgZmkKKworICBkbmwgIyBGaW5hbGx5LCBl
eGVjdXRlIEFDVElPTi1JRi1GT1VORCAvIEFDVElPTi1JRi1OT1QtRk9VTkQuCisgIGlmIHRlc3Qg
IiRheF9wYXRoX2JkYl9wYXRoX2dldF92ZXJzaW9uX29rIiA9ICJ5ZXMiIDsgdGhlbgorICAgIEFD
X01TR19SRVNVTFQoWyRheF9wYXRoX2JkYl9wYXRoX2dldF92ZXJzaW9uX1ZFUlNJT05dKQorICAg
IG00X2lmdmFsbihbJDJdLFskMl0pZG5sCisgIGVsc2UKKyAgICBBQ19NU0dfUkVTVUxUKFtub10p
CisgICAgbTRfaWZ2YWxuKFskM10sWyQzXSlkbmwKKyAgZmkgCitdKSBkbmwgQVhfUEFUSF9CREJf
UEFUSF9HRVRfVkVSU0lPTgorCisjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIworZG5sIENoZWNrcyBpZiB2
ZXJzaW9uIG9mIGxpYnJhcnkgYW5kIGhlYWRlciBtYXRjaCBzcGVjaWZpZWQgdmVyc2lvbi4gIAor
ZG5sIE9ubHkgbWVhbnQgdG8gYmUgdXNlZCBieSBBWF9QQVRIX0JEQl9FTlZfR0VUX1ZFUlNJT04g
bWFjcm8uCitkbmwgCitkbmwgUmVxdWlyZXMgQVhfQ09NUEFSRV9WRVJTSU9OIG1hY3JvLgorZG5s
IAorZG5sIFJlc3VsdDogc2V0cyBheF9wYXRoX2JkYl9lbnZfY29uZmlybV9saWJfb2sgdG8geWVz
IG9yIG5vLgorZG5sCitkbmwgQVhfUEFUSF9CREJfRU5WX0NPTkZJUk1fTElCKFZFUlNJT04sIFtM
SUJOQU1FXSkKK0FDX0RFRlVOKFtBWF9QQVRIX0JEQl9FTlZfQ09ORklSTV9MSUJdLCBbCisgIGRu
bCAjIFVzZWQgdG8gaW5kaWNhdGUgc3VjY2VzcyBvciBmYWlsdXJlIG9mIHRoaXMgZnVuY3Rpb24u
CisgIGF4X3BhdGhfYmRiX2Vudl9jb25maXJtX2xpYl9vaz1ubworCisgIGRubCAjIHNhdmUgYW5k
IG1vZGlmeSBlbnZpcm9ubWVudCB0byBsaW5rIHdpdGggbGlicmFyeSBMSUJOQU1FCisgIGF4X3Bh
dGhfYmRiX2Vudl9jb25maXJtX2xpYl9zYXZlX0xJQlM9IiRMSUJTIgorICBMSUJTPSIkTElCUyAk
MiIKKworICAjIENvbXBpbGUgYW5kIHJ1biBhIHByb2dyYW0gdGhhdCBjb21wYXJlcyB0aGUgdmVy
c2lvbiBkZWZpbmVkIGluCisgICMgdGhlIGhlYWRlciBmaWxlIHdpdGggYSB2ZXJzaW9uIGRlZmlu
ZWQgaW4gdGhlIGxpYnJhcnkgZnVuY3Rpb24KKyAgIyBkYl92ZXJzaW9uLgorICBBQ19SVU5fSUZF
TFNFKFsKKyAgICBBQ19MQU5HX1NPVVJDRShbWworI2luY2x1ZGUgPHN0ZGlvLmg+CisjaW5jbHVk
ZSA8ZGIuaD4KK2ludCBtYWluKGludCBhcmdjLGNoYXIgKiphcmd2KQoreworICBpbnQgbWFqb3Is
bWlub3IscGF0Y2g7CisgIGRiX3ZlcnNpb24oJm1ham9yLCZtaW5vciwmcGF0Y2gpOworICBpZiAo
YXJnYyA+IDEpCisgICAgcHJpbnRmKCIlZC4lZC4lZFxuIixEQl9WRVJTSU9OX01BSk9SLERCX1ZF
UlNJT05fTUlOT1IsREJfVkVSU0lPTl9QQVRDSCk7CisgIGlmIChEQl9WRVJTSU9OX01BSk9SID09
IG1ham9yICYmIERCX1ZFUlNJT05fTUlOT1IgPT0gbWlub3IgJiYKKyAgICAgIERCX1ZFUlNJT05f
UEFUQ0ggPT0gcGF0Y2gpCisgICAgcmV0dXJuIDA7ICAgICAgICAgIAorICBlbHNlCisgICAgcmV0
dXJuIDE7Cit9CisgICAgXV0pCisgIF0sWworICAgICMgUHJvZ3JhbSBjb21waWxlZCBhbmQgcmFu
LCBzbyBnZXQgdmVyc2lvbiBieSBnaXZpbmcgYW4gYXJndW1lbnQsCisgICAgIyB3aGljaCB3aWxs
IHRlbGwgdGhlIHByb2dyYW0gdG8gcHJpbnQgdGhlIG91dHB1dC4KKyAgICBheF9wYXRoX2JkYl9l
bnZfY29uZmlybV9saWJfVkVSU0lPTj1gLi9jb25mdGVzdCRhY19leGVleHQgeGAKKworICAgICMg
SWYgdGhlIHZlcnNpb25zIGFsbCBtYXRjaCB1cCwgaW5kaWNhdGUgc3VjY2Vzcy4KKyAgICBBWF9D
T01QQVJFX1ZFUlNJT04oWyRheF9wYXRoX2JkYl9lbnZfY29uZmlybV9saWJfVkVSU0lPTl0sW2Vx
XSxbJDFdLFsKKyAgICAgIGF4X3BhdGhfYmRiX2Vudl9jb25maXJtX2xpYl9vaz15ZXMKKyAgICBd
KQorICBdLFtdLFtdKQorCisgIGRubCAjIHJlc3RvcmUgZW52aXJvbm1lbnQKKyAgTElCUz0iJGF4
X3BhdGhfYmRiX2Vudl9jb25maXJtX2xpYl9zYXZlX0xJQlMiCisKK10pIGRubCBBWF9QQVRIX0JE
Ql9FTlZfQ09ORklSTV9MSUIKKworIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKK2RubCBGaW5kcyB0aGUg
dmVyc2lvbiBhbmQgbGlicmFyeSBuYW1lIGZvciBCZXJrZWxleSBEQiBpbiB0aGUKK2RubCBjdXJy
ZW50IGVudmlyb25tZW50LiAgVHJpZXMgbWFueSBkaWZmZXJlbnQgbmFtZXMgZm9yIGxpYnJhcnku
CitkbmwKK2RubCBSZXF1aXJlcyBBWF9QQVRIX0JEQl9FTlZfQ09ORklSTV9MSUIgbWFjcm8uCitk
bmwKK2RubCBSZXN1bHQ6IHNldCBheF9wYXRoX2JkYl9lbnZfZ2V0X3ZlcnNpb25fb2sgdG8geWVz
IG9yIG5vLAorZG5sICAgICAgICAgc2V0IGF4X3BhdGhfYmRiX2Vudl9nZXRfdmVyc2lvbl9WRVJT
SU9OIHRvIHRoZSB2ZXJzaW9uIGZvdW5kLAorZG5sICAgICAgICAgYW5kIGF4X3BhdGhfYmRiX2Vu
dl9nZXRfdmVyc2lvbl9MSUJOQU1FIHRvIHRoZSBsaWJyYXJ5IG5hbWUuCitkbmwKK2RubCBBWF9Q
QVRIX0JEQl9FTlZfR0VUX1ZFUlNJT04oW0FDVElPTi1JRi1GT1VORF0sIFtBQ1RJT04tSUYtTk9U
LUZPVU5EXSkKK0FDX0RFRlVOKFtBWF9QQVRIX0JEQl9FTlZfR0VUX1ZFUlNJT05dLCBbCisgIGRu
bCAjIFVzZWQgdG8gaW5kaWNhdGUgc3VjY2VzcyBvciBmYWlsdXJlIG9mIHRoaXMgZnVuY3Rpb24u
CisgIGF4X3BhdGhfYmRiX2Vudl9nZXRfdmVyc2lvbl9vaz1ubworCisgIGF4X3BhdGhfYmRiX2Vu
dl9nZXRfdmVyc2lvbl9WRVJTSU9OPScnCisgIGF4X3BhdGhfYmRiX2Vudl9nZXRfdmVyc2lvbl9M
SUJTPScnCisKKyAgQVNfVkFSX1BVU0hERUYoW0hFQURFUl9WRVJTSU9OXSxbYXhfcGF0aF9iZGJf
ZW52X2dldF92ZXJzaW9uX0hFQURFUl9WRVJTSU9OXSlkbmwKKyAgQVNfVkFSX1BVU0hERUYoW1RF
U1RfTElCTkFNRV0sW2F4X3BhdGhfYmRiX2Vudl9nZXRfdmVyc2lvbl9URVNUX0xJQk5BTUVdKWRu
bAorCisgICMgSW5kaWNhdGUgc3RhdHVzIG9mIGNoZWNraW5nIGZvciBCZXJrZWxleSBEQiBsaWJy
YXJ5LgorICBBQ19NU0dfQ0hFQ0tJTkcoW2ZvciBkYi5oXSkKKworICAjIENvbXBpbGUgYW5kIHJ1
biBhIHByb2dyYW0gdGhhdCBkZXRlcm1pbmVzIHRoZSBCZXJrZWxleSBEQiB2ZXJzaW9uCisgICMg
aW4gdGhlIGhlYWRlciBmaWxlIGRiLmguCisgIEhFQURFUl9WRVJTSU9OPScnCisgIEFDX1JVTl9J
RkVMU0UoWworICAgIEFDX0xBTkdfU09VUkNFKFtbCisjaW5jbHVkZSA8c3RkaW8uaD4KKyNpbmNs
dWRlIDxkYi5oPgoraW50IG1haW4oaW50IGFyZ2MsY2hhciAqKmFyZ3YpCit7CisgIGlmIChhcmdj
ID4gMSkKKyAgICBwcmludGYoIiVkLiVkLiVkXG4iLERCX1ZFUlNJT05fTUFKT1IsREJfVkVSU0lP
Tl9NSU5PUixEQl9WRVJTSU9OX1BBVENIKTsKKyAgcmV0dXJuIDA7ICAgICAgICAgICAgCit9Cisg
ICAgXV0pCisgIF0sWworICAgICMgUHJvZ3JhbSBjb21waWxlZCBhbmQgcmFuLCBzbyBnZXQgdmVy
c2lvbiBieSBhZGRpbmcgYW4gYXJndW1lbnQuCisgICAgSEVBREVSX1ZFUlNJT049YC4vY29uZnRl
c3QkYWNfZXhlZXh0IHhgCisgICAgQUNfTVNHX1JFU1VMVChbJEhFQURFUl9WRVJTSU9OXSkKKyAg
XSxbQUNfTVNHX1JFU1VMVChbbm9dKV0sW0FDX01TR19SRVNVTFQoW25vXSldKQorCisgICMgSGF2
ZSBoZWFkZXIgdmVyc2lvbiwgc28gdHJ5IHRvIGZpbmQgY29ycmVzcG9uZGluZyBsaWJyYXJ5Lgor
ICAjIExvb2tzIGZvciBsaWJyYXJ5IG5hbWVzIGluIHRoZSBvcmRlcjoKKyAgIyAgIG5vdGhpbmcs
IGRiLCBkYi1YLlksIGRiWC5ZLCBkYlhZLCBkYi1YLCBkYlgKKyAgIyBhbmQgc3RvcHMgd2hlbiBp
dCBmaW5kcyB0aGUgZmlyc3Qgb25lIHRoYXQgbWF0Y2hlcyB0aGUgdmVyc2lvbgorICAjIG9mIHRo
ZSBoZWFkZXIgZmlsZS4gIAorICBpZiB0ZXN0ICJ4JEhFQURFUl9WRVJTSU9OIiAhPSAieCIgOyB0
aGVuIAorICAgIEFDX01TR19DSEVDS0lORyhbZm9yIGxpYnJhcnkgY29udGFpbmluZyBCZXJrZWxl
eSBEQiAkSEVBREVSX1ZFUlNJT05dKQorCisgICAgQVNfVkFSX1BVU0hERUYoW01BSk9SXSxbYXhf
cGF0aF9iZGJfZW52X2dldF92ZXJzaW9uX01BSk9SXSlkbmwKKyAgICBBU19WQVJfUFVTSERFRihb
TUlOT1JdLFtheF9wYXRoX2JkYl9lbnZfZ2V0X3ZlcnNpb25fTUlOT1JdKWRubAorCisgICAgIyBn
ZXQgbWFqb3IgYW5kIG1pbm9yIHZlcnNpb24gbnVtYmVycworICAgIE1BSk9SPWBlY2hvICRIRUFE
RVJfVkVSU0lPTiB8IHNlZCAncyxcLi4qLCwnYAorICAgIE1JTk9SPWBlY2hvICRIRUFERVJfVkVS
U0lPTiB8IHNlZCAncyxeW1swLTldXSpcLiwsO3MsXC5bWzAtOV1dKiQsLCdgCisKKyAgICAjIHNl
ZSBpZiBpdCBpcyBhbHJlYWR5IHNwZWNpZmllZCBpbiBMSUJTCisgICAgVEVTVF9MSUJOQU1FPScn
CisgICAgQVhfUEFUSF9CREJfRU5WX0NPTkZJUk1fTElCKFskSEVBREVSX1ZFUlNJT05dLCBbJFRF
U1RfTElCTkFNRV0pCisKKyAgICBpZiB0ZXN0ICIkYXhfcGF0aF9iZGJfZW52X2NvbmZpcm1fbGli
X29rIiA9ICJubyIgOyB0aGVuCisgICAgICAjIHRyeSBmb3JtYXQgImRiIgorICAgICAgVEVTVF9M
SUJOQU1FPSctbGRiJworICAgICAgQVhfUEFUSF9CREJfRU5WX0NPTkZJUk1fTElCKFskSEVBREVS
X1ZFUlNJT05dLCBbJFRFU1RfTElCTkFNRV0pCisgICAgZmkKKworICAgIGlmIHRlc3QgIiRheF9w
YXRoX2JkYl9lbnZfY29uZmlybV9saWJfb2siID0gIm5vIiA7IHRoZW4KKyAgICAgICMgdHJ5IGZv
cm1hdCAiZGItWC5ZIgorICAgICAgVEVTVF9MSUJOQU1FPSItbGRiLSR7TUFKT1J9LiRNSU5PUiIK
KyAgICAgIEFYX1BBVEhfQkRCX0VOVl9DT05GSVJNX0xJQihbJEhFQURFUl9WRVJTSU9OXSwgWyRU
RVNUX0xJQk5BTUVdKQorICAgIGZpCisKKyAgICBpZiB0ZXN0ICIkYXhfcGF0aF9iZGJfZW52X2Nv
bmZpcm1fbGliX29rIiA9ICJubyIgOyB0aGVuCisgICAgICAjIHRyeSBmb3JtYXQgImRiWC5ZIgor
ICAgICAgVEVTVF9MSUJOQU1FPSItbGRiJHtNQUpPUn0uJE1JTk9SIgorICAgICAgQVhfUEFUSF9C
REJfRU5WX0NPTkZJUk1fTElCKFskSEVBREVSX1ZFUlNJT05dLCBbJFRFU1RfTElCTkFNRV0pCisg
ICAgZmkKKworICAgIGlmIHRlc3QgIiRheF9wYXRoX2JkYl9lbnZfY29uZmlybV9saWJfb2siID0g
Im5vIiA7IHRoZW4KKyAgICAgICMgdHJ5IGZvcm1hdCAiZGJYWSIKKyAgICAgIFRFU1RfTElCTkFN
RT0iLWxkYiRNQUpPUiRNSU5PUiIKKyAgICAgIEFYX1BBVEhfQkRCX0VOVl9DT05GSVJNX0xJQihb
JEhFQURFUl9WRVJTSU9OXSwgWyRURVNUX0xJQk5BTUVdKQorICAgIGZpCisKKyAgICBpZiB0ZXN0
ICIkYXhfcGF0aF9iZGJfZW52X2NvbmZpcm1fbGliX29rIiA9ICJubyIgOyB0aGVuCisgICAgICAj
IHRyeSBmb3JtYXQgImRiLVgiCisgICAgICBURVNUX0xJQk5BTUU9Ii1sZGItJE1BSk9SIgorICAg
ICAgQVhfUEFUSF9CREJfRU5WX0NPTkZJUk1fTElCKFskSEVBREVSX1ZFUlNJT05dLCBbJFRFU1Rf
TElCTkFNRV0pCisgICAgZmkKKworICAgIGlmIHRlc3QgIiRheF9wYXRoX2JkYl9lbnZfY29uZmly
bV9saWJfb2siID0gIm5vIiA7IHRoZW4KKyAgICAgICMgdHJ5IGZvcm1hdCAiZGJYIgorICAgICAg
VEVTVF9MSUJOQU1FPSItbGRiJE1BSk9SIgorICAgICAgQVhfUEFUSF9CREJfRU5WX0NPTkZJUk1f
TElCKFskSEVBREVSX1ZFUlNJT05dLCBbJFRFU1RfTElCTkFNRV0pCisgICAgZmkKKworICAgIGRu
bCAjIEZvdW5kIGEgdmFsaWQgbGlicmFyeS4KKyAgICBpZiB0ZXN0ICIkYXhfcGF0aF9iZGJfZW52
X2NvbmZpcm1fbGliX29rIiA9ICJ5ZXMiIDsgdGhlbgorICAgICAgaWYgdGVzdCAieCRURVNUX0xJ
Qk5BTUUiID0gIngiIDsgdGhlbgorICAgICAgICBBQ19NU0dfUkVTVUxUKFtub25lIHJlcXVpcmVk
XSkKKyAgICAgIGVsc2UKKyAgICAgICAgQUNfTVNHX1JFU1VMVChbJFRFU1RfTElCTkFNRV0pCisg
ICAgICBmaQorICAgICAgYXhfcGF0aF9iZGJfZW52X2dldF92ZXJzaW9uX1ZFUlNJT049IiRIRUFE
RVJfVkVSU0lPTiIKKyAgICAgIGF4X3BhdGhfYmRiX2Vudl9nZXRfdmVyc2lvbl9MSUJTPSIkVEVT
VF9MSUJOQU1FIgorICAgICAgYXhfcGF0aF9iZGJfZW52X2dldF92ZXJzaW9uX29rPXllcworICAg
IGVsc2UKKyAgICAgIEFDX01TR19SRVNVTFQoW25vXSkKKyAgICBmaQorCisgICAgQVNfVkFSX1BP
UERFRihbTUFKT1JdKWRubAorICAgIEFTX1ZBUl9QT1BERUYoW01JTk9SXSlkbmwKKyAgZmkKKwor
ICBBU19WQVJfUE9QREVGKFtIRUFERVJfVkVSU0lPTl0pZG5sCisgIEFTX1ZBUl9QT1BERUYoW1RF
U1RfTElCTkFNRV0pZG5sCisKKyAgZG5sICMgRXhlY3V0ZSBBQ1RJT04tSUYtRk9VTkQgLyBBQ1RJ
T04tSUYtTk9ULUZPVU5ELgorICBpZiB0ZXN0ICIkYXhfcGF0aF9iZGJfZW52X2NvbmZpcm1fbGli
X29rIiA9ICJ5ZXMiIDsgdGhlbgorICAgIG00X2lmdmFsbihbJDFdLFskMV0sWzpdKWRubAorICAg
IG00X2lmdmFsbihbJDJdLFtlbHNlICQyXSlkbmwKKyAgZmkKKworXSkgZG5sIEJEQl9FTlZfR0VU
X1ZFUlNJT04KKworIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKKworCg==
</data>        

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>39571</attachid>
            <date>2004-09-14 06:29 0000</date>
            <desc>newest ebuild</desc>
            <filename>spamprobe-0.9h.ebuild</filename>
            <type>application/octet-stream</type>
            <data encoding="base64">IyBDb3B5cmlnaHQgMTk5OS0yMDAzIEdlbnRvbyBUZWNobm9sb2dpZXMsIEluYy4KIyBEaXN0cmli
dXRlZCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIHYy
CiMgJEhlYWRlcjogJAoKaW5oZXJpdCBldXRpbHMKCkRFU0NSSVBUSU9OPSJGYXN0LCBpbnRlbGxp
Z2VudCwgYXV0b21hdGljIHNwYW0gZGV0ZWN0b3IgdXNpbmcgUGF1bCBHcmFoYW0gc3R5bGUgQmF5
ZXNpYW4gYW5hbHlzaXMgb2Ygd29yZCBjb3VudHMgaW4gc3BhbSBhbmQgbm9uLXNwYW0gZW1haWxz
LiIKSE9NRVBBR0U9Imh0dHA6Ly9zcGFtcHJvYmUuc291cmNlZm9yZ2UubmV0LyIKU1JDX1VSST0i
bWlycm9yOi8vc291cmNlZm9yZ2Uvc3BhbXByb2JlLyR7UH0udGFyLmd6IgoKTElDRU5TRT0iUVBM
IgpTTE9UPSIwIgpLRVlXT1JEUz0ieDg2IgoKSVVTRT0iYmVya2RiIgpERVBFTkQ9ImJlcmtkYj8g
KCA+PXN5cy1saWJzL2RiLTMuMiApCglzeXMtZGV2ZWwvYXV0b2NvbmYiCgpzcmNfY29tcGlsZSgp
IHsKCXVucGFjayAke0F9CgljZCAke1N9CgkKCSMgcGF0Y2ggZm9yIGRiNCBkZXRlY3Rpb24gYW5k
IHRoZWlyIHJlc3BlY3RpdmUgdmVyc2lvbmVkIHN5bWJvbHMKCWVwYXRjaCAke0ZJTEVTRElSfS9z
cGFtcHJvYmUtMC45aC1kYjQudjUucGF0Y2gKCWF1dG9jb25mIHx8IGRpZQoJCgllY29uZiB8fCBk
aWUKCQoJZW1ha2UgfHwgZGllICJjb21waWxlIHByb2JsZW0iCn0KCnNyY19pbnN0YWxsKCkgewoJ
ZG9kb2MgUkVBRE1FLnR4dCBDaGFuZ2VMb2cgTElDRU5TRS50eHQKCQoJZWluc3RhbGwgfHwgZGll
Cn0K
</data>        

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>39572</attachid>
            <date>2004-09-14 06:29 0000</date>
            <desc>newest patch</desc>
            <filename>spamprobe-0.9h-db4.v5.patch</filename>
            <type>text/plain</type>
            <data encoding="base64">LS0tIC4uL3NwYW1wcm9iZS0wLjloLm9yaWcvY29uZmlndXJlLmluCTIwMDQtMDItMDIgMTk6MDk6
NDMuMDAwMDAwMDAwICswMTAwCisrKyBjb25maWd1cmUuaW4JMjAwNC0wOS0wOCAxNjoxNToxMC4w
MDAwMDAwMDAgKzAyMDAKQEAgLTY4LDI1ICs2OCwyNSBAQAogICAgIFsKICAgICAgIEFDX0VHUkVQ
X0hFQURFUihbREJfVkVSU0lPTl9NQUpPUiAqM3w0XSwgW2RiLmhdLCwKICAgICAgICAgQUNfTVNH
X0VSUk9SKFtObyBzdWl0YWJsZSBCZXJrZWxleURCIGRiLmggaGVhZGVyIGZpbGUgZm91bmQuCi0g
IFVzZSAtLXdpdGgtZGI9UEFUSCB0byBzcGVjaWZ5IHRoZSBwYXRoIHRvIGEgdmVyc2lvbiAzIG9y
IGxhdGVyIGluc3RhbGwgZGlyZWN0b3J5LgorICBVc2UgLS13aXRoLWRiPVBBVEggdG8gc3BlY2lm
eSB0aGUgcGF0aCB0byBhIHZlcnNpb24gMyBvciBsYXRlciBpbnN0YWxsIGhlYWRlciBkaXJlY3Rv
cnkuCiAgIFlvdSBjYW4gZG93bmxvYWQgQmVya2VsZXlEQiBmcm9tIGh0dHA6Ly93d3cuc2xlZXB5
Y2F0LmNvbV0pCiAgICAgICApCiAgICAgXQogICApCi0gIEFDX1RSWV9MSU5LX0ZVTkMoZGJfY3Jl
YXRlLCwKLSAgICBBQ19DSEVDS19MSUIoZGItNCwgZGJfY3JlYXRlLCBMSUJTPSIkTElCUyAtbGRi
LTQiLAotICAgICAgQUNfQ0hFQ0tfTElCKGRiLTMsIGRiX2NyZWF0ZSwgTElCUz0iJExJQlMgLWxk
Yi0zIiwKLSAgICAgICAgQUNfQ0hFQ0tfTElCKGRiLTIsIGRiX2NyZWF0ZSwgTElCUz0iJExJQlMg
LWxkYi0yIiwKLSAgICAgICAgICBBQ19DSEVDS19MSUIoZGIsIGRiX2NyZWF0ZSwgTElCUz0iJExJ
QlMgLWxkYiIsCi0gICAgICAgICAgICBBQ19DSEVDS19MSUIoZGIzLCBkYl9jcmVhdGUsIExJQlM9
IiRMSUJTIC1sZGIzIiwKLSAgICAgICAgICAgICAgQUNfQ0hFQ0tfTElCKGRiLTMuMSwgZGJfY3Jl
YXRlLCBMSUJTPSIkTElCUyAtbGRiLTMuMSIsCi0gICAgICAgICAgICAgICAgQUNfQ0hFQ0tfTElC
KGRiNCwgZGJfY3JlYXRlLCBMSUJTPSIkTElCUyAtbGRiNCIsCi0gICAgICAgICAgICAgICAgICBB
Q19NU0dfRVJST1IoW05vIHN1aXRhYmxlIEJlcmtlbGV5REIgbGlicmFyeSBmb3VuZC4KLSAgVXNl
IC0td2l0aC1kYj1QQVRIIHRvIHNwZWNpZnkgdGhlIHBhdGggdG8gYSB2ZXJzaW9uIDMgb3IgbGF0
ZXIgaW5zdGFsbCBkaXJlY3RvcnkuCi0gIFlvdSBjYW4gZG93bmxvYWQgQmVya2VsZXlEQiBmcm9t
IGh0dHA6Ly93d3cuc2xlZXB5Y2F0LmNvbV0pKSkpKSkpKSkKLSAgQUNfTVNHX0NIRUNLSU5HKEJl
cmtlbGV5REIpCi0gIEFDX1RSWV9MSU5LX0ZVTkMoZGJfY3JlYXRlLCBBQ19ERUZJTkUoW1VTRV9E
Ql0pIGhhdmVfZGF0YWJhc2U9MSkKLSAgQUNfTVNHX1JFU1VMVChvaykKKworICBBWF9QQVRIX0JE
QihbM10sWworICAgICBMSUJTPSIkQkRCX0xJQlMgJExJQlMiCisgICAgIExERkxBR1M9IiRCREJf
TERGTEFHUyAkTERGTEFHUyIKKyAgICAgQ1BQRkxBR1M9IiRCREJfQ1BQRkxBR1MgJENQUEZMQUdT
IgorCSBBQ19UUllfTElOS19GVU5DKGRiX2NyZWF0ZSwgQUNfREVGSU5FKFtVU0VfREJdKSBoYXZl
X2RhdGFiYXNlPTEpCisJIEFDX1RSWV9MSU5LX0ZVTkMoZGJfY3JlYXRlXzQwMDAsIEFDX0RFRklO
RShbVVNFX0RCXSkgaGF2ZV9kYXRhYmFzZT0xKQorCSBBQ19UUllfTElOS19GVU5DKGRiX2NyZWF0
ZV80MDAxLCBBQ19ERUZJTkUoW1VTRV9EQl0pIGhhdmVfZGF0YWJhc2U9MSkKKwkgQUNfVFJZX0xJ
TktfRlVOQyhkYl9jcmVhdGVfNDAwMiwgQUNfREVGSU5FKFtVU0VfREJdKSBoYXZlX2RhdGFiYXNl
PTEpCisgIF0sWworICAgICBBQ19NU0dfRVJST1IoW05vIHN1aXRhYmxlIEJlcmtlbGV5REIgZGIu
aCBoZWFkZXIgZmlsZSBmb3VuZC4KKyAgVXNlIC0td2l0aC1kYj1QQVRIIHRvIHNwZWNpZnkgdGhl
IHBhdGggdG8gYSB2ZXJzaW9uIDMgb3IgbGF0ZXIgaW5zdGFsbCBoZWFkZXIgZGlyZWN0b3J5Lgor
ICBZb3UgY2FuIGRvd25sb2FkIEJlcmtlbGV5REIgZnJvbSBodHRwOi8vd3d3LnNsZWVweWNhdC5j
b21dKQorICBdKQogZmkKIAogaWYgdGVzdCAkaGF2ZV9kYXRhYmFzZSA9IDAgOyB0aGVuCi0tLSAu
Li9zcGFtcHJvYmUtMC45aC5vcmlnL2FjbG9jYWwubTQJMjAwNC0wMi0wMiAxOTowOTo0Ny4wMDAw
MDAwMDAgKzAxMDAKKysrIGFjbG9jYWwubTQJMjAwNC0wOS0wOSAyMDoxOToyMC4zNjY3OTgxNDQg
KzAyMDAKQEAgLTc1NiwzICs3NTYsNjYxIEBACiBVc3VhbGx5IHRoaXMgbWVhbnMgdGhlIG1hY3Jv
IHdhcyBvbmx5IGludm9rZWQgY29uZGl0aW9uYWxseS5dKQogZmldKV0pCiAKKyMKKyMgTWFrcm9z
IGZyb20gaHR0cDovL2FjLWFyY2hpdmUuc291cmNlZm9yZ2UubmV0CisjIFRoZXNlIG1ha3JvcyBz
aG91bGQgYmUgdXNlZCB3aGlsZSB0aGUgYWMtYXJjaGl2ZSBlYnVpbGQgaXMgc3RpbGwKKyMgbWFz
a2VkIGluIFBvcnRhZ2UKKyMKKyMgVXNlZCBtYWtyb3M6CisjIC0gYXhfcGF0aF9iZGIgdjEuMQor
IyAtIGF4X2NvbXBhcmVfdmVyc2lvIHYxLjEKKyMKKyMgVGhlIE1ha3JvcyBhcmUgdW5kZXIgdGhp
cyBMaWNlbnNlOgorIyBFdmVyeSBBdXRvY29uZiBtYWNybyBwcmVzZW50ZWQgb24gdGhpcyB3ZWIg
c2l0ZSBpcyBmcmVlIHNvZnR3YXJlOyAKKyMgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29y
IG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIAorIyBHTlUgR2VuZXJhbCBQdWJsaWMg
TGljZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgCisjIEZvdW5kYXRpb247
IGVpdGhlciB2ZXJzaW9uIDIsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24u
CisjCisjIFRoZXkgYXJlIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgdGhleSB3aWxsIGJl
IHVzZWZ1bCwgYnV0IAorIyBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBp
bXBsaWVkIHdhcnJhbnR5IG9mIAorIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQ
QVJUSUNVTEFSIFBVUlBPU0UuIFNlZSB0aGUgCisjIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNl
IGZvciBtb3JlIGRldGFpbHMuIChZb3Ugc2hvdWxkIGhhdmUgCisjIHJlY2VpdmVkIGEgY29weSBv
ZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYWxvbmcgd2l0aCB0aGlzIAorIyBwcm9n
cmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4s
IAorIyA1OSBUZW1wbGUgUGxhY2UgLS0gU3VpdGUgMzMwLCBCb3N0b24sIE1BIDAyMTExLTEzMDcs
IFVTQS4pCisjCisjIEFzIGEgc3BlY2lhbCBleGNlcHRpb24sIHRoZSBGcmVlIFNvZnR3YXJlIEZv
dW5kYXRpb24gZ2l2ZXMgCisjIHVubGltaXRlZCBwZXJtaXNzaW9uIHRvIGNvcHksIGRpc3RyaWJ1
dGUgYW5kIG1vZGlmeSB0aGUgY29uZmlndXJlIAorIyBzY3JpcHRzIHRoYXQgYXJlIHRoZSBvdXRw
dXQgb2YgQXV0b2NvbmYuIFlvdSBuZWVkIG5vdCBmb2xsb3cgdGhlIAorIyB0ZXJtcyBvZiB0aGUg
R05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2Ugd2hlbiB1c2luZyBvciBkaXN0cmlidXRpbmcgCisj
IHN1Y2ggc2NyaXB0cywgZXZlbiB0aG91Z2ggcG9ydGlvbnMgb2YgdGhlIHRleHQgb2YgQXV0b2Nv
bmYgYXBwZWFyIAorIyBpbiB0aGVtLiBUaGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgKEdQ
TCkgZG9lcyBnb3Zlcm4gYWxsIG90aGVyIAorIyB1c2Ugb2YgdGhlIG1hdGVyaWFsIHRoYXQgY29u
c3RpdHV0ZXMgdGhlIEF1dG9jb25mIHByb2dyYW0uCisjCisjIENlcnRhaW4gcG9ydGlvbnMgb2Yg
dGhlIEF1dG9jb25mIHNvdXJjZSB0ZXh0IGFyZSBkZXNpZ25lZCB0byBiZSAKKyMgY29waWVkIChp
biBjZXJ0YWluIGNhc2VzLCBkZXBlbmRpbmcgb24gdGhlIGlucHV0KSBpbnRvIHRoZSBvdXRwdXQg
CisjIG9mIEF1dG9jb25mLiBXZSBjYWxsIHRoZXNlIHRoZSAiZGF0YSIgcG9ydGlvbnMuIFRoZSBy
ZXN0IG9mIHRoZSAKKyMgQXV0b2NvbmYgc291cmNlIHRleHQgY29uc2lzdHMgb2YgY29tbWVudHMg
cGx1cyBleGVjdXRhYmxlIGNvZGUgdGhhdCAKKyMgZGVjaWRlcyB3aGljaCBvZiB0aGUgZGF0YSBw
b3J0aW9ucyB0byBvdXRwdXQgaW4gYW55IGdpdmVuIGNhc2UuIFdlIAorIyBjYWxsIHRoZXNlIGNv
bW1lbnRzIGFuZCBleGVjdXRhYmxlIGNvZGUgdGhlICJub24tZGF0YSIgcG9ydGlvbnMuIAorIyBB
dXRvY29uZiBuZXZlciBjb3BpZXMgYW55IG9mIHRoZSBub24tZGF0YSBwb3J0aW9ucyBpbnRvIGl0
cyBvdXRwdXQuCisjCisjIFRoaXMgc3BlY2lhbCBleGNlcHRpb24gdG8gdGhlIEdQTCBhcHBsaWVz
IHRvIHZlcnNpb25zIG9mIEF1dG9jb25mIAorIyByZWxlYXNlZCBieSB0aGUgRnJlZSBTb2Z0d2Fy
ZSBGb3VuZGF0aW9uLiBXaGVuIHlvdSBtYWtlIGFuZCBkaXN0cmlidXRlIAorIyBhIG1vZGlmaWVk
IHZlcnNpb24gb2YgQXV0b2NvbmYsIHlvdSBtYXkgZXh0ZW5kIHRoaXMgc3BlY2lhbCBleGNlcHRp
b24gCisjIHRvIHRoZSBHUEwgdG8gYXBwbHkgdG8geW91ciBtb2RpZmllZCB2ZXJzaW9uIGFzIHdl
bGwsICp1bmxlc3MqIHlvdXIgCisjIG1vZGlmaWVkIHZlcnNpb24gaGFzIHRoZSBwb3RlbnRpYWwg
dG8gY29weSBpbnRvIGl0cyBvdXRwdXQgc29tZSBvZiB0aGUgCisjIHRleHQgdGhhdCB3YXMgdGhl
IG5vbi1kYXRhIHBvcnRpb24gb2YgdGhlIHZlcnNpb24gdGhhdCB5b3Ugc3RhcnRlZCAKKyMgd2l0
aC4gKEluIG90aGVyIHdvcmRzLCB1bmxlc3MgeW91ciBjaGFuZ2UgbW92ZXMgb3IgY29waWVzIHRl
eHQgZnJvbSAKKyMgdGhlIG5vbi1kYXRhIHBvcnRpb25zIHRvIHRoZSBkYXRhIHBvcnRpb25zLikg
SWYgeW91ciBtb2RpZmljYXRpb24gaGFzIAorIyBzdWNoIHBvdGVudGlhbCwgeW91IG11c3QgZGVs
ZXRlIGFueSBub3RpY2Ugb2YgdGhpcyBzcGVjaWFsIGV4Y2VwdGlvbiAKKyMgdG8gdGhlIEdQTCBm
cm9tIHlvdXIgbW9kaWZpZWQgdmVyc2lvbi4KKyMKKyMKKworCitkbmwgIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IworQUNfREVGVU4oW0FYX0NPTVBBUkVfVkVSU0lPTl0sIFsKKyAgIyBVc2VkIHRvIGluZGljYXRl
IHRydWUgb3IgZmFsc2UgY29uZGl0aW9uCisgIGF4X2NvbXBhcmVfdmVyc2lvbj1mYWxzZQorCisg
ICMgQ29udmVydCB0aGUgdHdvIHZlcnNpb24gc3RyaW5ncyB0byBiZSBjb21wYXJlZCBpbnRvIGEg
Zm9ybWF0IHRoYXQKKyAgIyBhbGxvd3MgYSBzaW1wbGUgc3RyaW5nIGNvbXBhcmlzb24uICBUaGUg
ZW5kIHJlc3VsdCBpcyB0aGF0IGEgdmVyc2lvbiAKKyAgIyBzdHJpbmcgb2YgdGhlIGZvcm0gMS4x
Mi41LXI2MTcgd2lsbCBiZSBjb252ZXJ0ZWQgdG8gdGhlIGZvcm0gCisgICMgMDAwMTAwMTIwMDA1
MDYxNy4gIEluIG90aGVyIHdvcmRzLCBlYWNoIG51bWJlciBpcyB6ZXJvIHBhZGRlZCB0byBmb3Vy
IAorICAjIGRpZ2l0cywgYW5kIG5vbiBkaWdpdHMgYXJlIHJlbW92ZWQuCisgIEFTX1ZBUl9QVVNI
REVGKFtBXSxbYXhfY29tcGFyZV92ZXJzaW9uX0FdKQorICBBPWBlY2hvICIkMSIgfCBzZWQgLWUg
J3MvXChbWzAtOV1dKlwpL1pcMVovZycgXAorICAgICAgICAgICAgICAgICAgICAgLWUgJ3MvWlwo
W1swLTldXVwpWi9aMFwxWi9nJyBcCisgICAgICAgICAgICAgICAgICAgICAtZSAncy9aXChbWzAt
OV1dW1swLTldXVwpWi9aMFwxWi9nJyBcCisgICAgICAgICAgICAgICAgICAgICAtZSAncy9aXChb
WzAtOV1dW1swLTldXVtbMC05XV1cKVovWjBcMVovZycgXAorICAgICAgICAgICAgICAgICAgICAg
LWUgJ3MvW1teMC05XV0vL2cnYAorCisgIEFTX1ZBUl9QVVNIREVGKFtCXSxbYXhfY29tcGFyZV92
ZXJzaW9uX0JdKQorICBCPWBlY2hvICIkMyIgfCBzZWQgLWUgJ3MvXChbWzAtOV1dKlwpL1pcMVov
ZycgXAorICAgICAgICAgICAgICAgICAgICAgLWUgJ3MvWlwoW1swLTldXVwpWi9aMFwxWi9nJyBc
CisgICAgICAgICAgICAgICAgICAgICAtZSAncy9aXChbWzAtOV1dW1swLTldXVwpWi9aMFwxWi9n
JyBcCisgICAgICAgICAgICAgICAgICAgICAtZSAncy9aXChbWzAtOV1dW1swLTldXVtbMC05XV1c
KVovWjBcMVovZycgXAorICAgICAgICAgICAgICAgICAgICAgLWUgJ3MvW1teMC05XV0vL2cnYAor
CisgIGRubCAjIEluIHRoZSBjYXNlIG9mIGxlLCBnZSwgbHQsIGFuZCBndCwgdGhlIHN0cmluZ3Mg
YXJlIHNvcnRlZCBhcyBuZWNlc3NhcnkgCisgIGRubCAjIHRoZW4gdGhlIGZpcnN0IGxpbmUgaXMg
dXNlZCB0byBkZXRlcm1pbmUgaWYgdGhlIGNvbmRpdGlvbiBpcyB0cnVlLiAKKyAgZG5sICMgVGhl
IHNlZCByaWdodCBhZnRlciB0aGUgZWNobyBpcyB0byByZW1vdmUgYW55IGluZGVudGVkIHdoaXRl
IHNwYWNlLgorICBtNF9jYXNlKG00X3RvbG93ZXIoJDIpLAorICBbbHRdLFsKKyAgICBheF9jb21w
YXJlX3ZlcnNpb249YGVjaG8gIngkQQoreCRCIiB8IHNlZCAncy9eICovLycgfCBzb3J0IC1yIHwg
c2VkICJzL3gke0F9L2ZhbHNlLztzL3gke0J9L3RydWUvOzFxImAKKyAgXSwKKyAgW2d0XSxbCisg
ICAgYXhfY29tcGFyZV92ZXJzaW9uPWBlY2hvICJ4JEEKK3gkQiIgfCBzZWQgJ3MvXiAqLy8nIHwg
c29ydCB8IHNlZCAicy94JHtBfS9mYWxzZS87cy94JHtCfS90cnVlLzsxcSJgCisgIF0sCisgIFts
ZV0sWworICAgIGF4X2NvbXBhcmVfdmVyc2lvbj1gZWNobyAieCRBCit4JEIiIHwgc2VkICdzL14g
Ki8vJyB8IHNvcnQgfCBzZWQgInMveCR7QX0vdHJ1ZS87cy94JHtCfS9mYWxzZS87MXEiYAorICBd
LAorICBbZ2VdLFsKKyAgICBheF9jb21wYXJlX3ZlcnNpb249YGVjaG8gIngkQQoreCRCIiB8IHNl
ZCAncy9eICovLycgfCBzb3J0IC1yIHwgc2VkICJzL3gke0F9L3RydWUvO3MveCR7Qn0vZmFsc2Uv
OzFxImAKKyAgXSxbCisgICAgZG5sIFNwbGl0IHRoZSBvcGVyYXRvciBmcm9tIHRoZSBzdWJ2ZXJz
aW9uIGNvdW50IGlmIHByZXNlbnQuCisgICAgbTRfYm1hdGNoKG00X3N1YnN0cigkMiwyKSwKKyAg
ICBbMF0sWworICAgICAgIyBBIGNvdW50IG9mIHplcm8gbWVhbnMgdXNlIHRoZSBsZW5ndGggb2Yg
dGhlIHNob3J0ZXIgdmVyc2lvbi4KKyAgICAgICMgRGV0ZXJtaW5lIHRoZSBudW1iZXIgb2YgY2hh
cmFjdGVycyBpbiBBIGFuZCBCLgorICAgICAgYXhfY29tcGFyZV92ZXJzaW9uX2xlbl9BPWBlY2hv
ICIkQSIgfCBhd2sgJ3twcmludChsZW5ndGgpfSdgCisgICAgICBheF9jb21wYXJlX3ZlcnNpb25f
bGVuX0I9YGVjaG8gIiRCIiB8IGF3ayAne3ByaW50KGxlbmd0aCl9J2AKKyAKKyAgICAgICMgU2V0
IEEgdG8gbm8gbW9yZSB0aGFuIEIncyBsZW5ndGggYW5kIEIgdG8gbm8gbW9yZSB0aGFuIEEncyBs
ZW5ndGguCisgICAgICBBPWBlY2hvICIkQSIgfCBzZWQgInMvXCguXHskYXhfY29tcGFyZV92ZXJz
aW9uX2xlbl9CXH1cKS4qL1wxLyJgCisgICAgICBCPWBlY2hvICIkQiIgfCBzZWQgInMvXCguXHsk
YXhfY29tcGFyZV92ZXJzaW9uX2xlbl9BXH1cKS4qL1wxLyJgCisgICAgXSwKKyAgICBbWzAtOV0r
XSxbCisgICAgICAjIEEgY291bnQgZ3JlYXRlciB0aGFuIHplcm8gbWVhbnMgdXNlIG9ubHkgdGhh
dCBtYW55IHN1YnZlcnNpb25zIAorICAgICAgQT1gZWNobyAiJEEiIHwgc2VkICJzL1woXChbWzAt
OV1dXHs0XH1cKVx7bTRfc3Vic3RyKCQyLDIpXH1cKS4qL1wxLyJgCisgICAgICBCPWBlY2hvICIk
QiIgfCBzZWQgInMvXChcKFtbMC05XV1cezRcfVwpXHttNF9zdWJzdHIoJDIsMilcfVwpLiovXDEv
ImAKKyAgICBdLAorICAgIFsuK10sWworICAgICAgQUNfV0FSTklORygKKyAgICAgICAgW2lsbGVn
YWwgT1AgbnVtZXJpYyBwYXJhbWV0ZXI6ICQyXSkKKyAgICBdLFtdKQorCisgICAgIyBQYWQgemVy
b3MgYXQgZW5kIG9mIG51bWJlcnMgdG8gbWFrZSBzYW1lIGxlbmd0aC4KKyAgICBheF9jb21wYXJl
X3ZlcnNpb25fdG1wX0E9IiRBYGVjaG8gJEIgfCBzZWQgJ3MvLi8wL2cnYCIKKyAgICBCPSIkQmBl
Y2hvICRBIHwgc2VkICdzLy4vMC9nJ2AiCisgICAgQT0iJGF4X2NvbXBhcmVfdmVyc2lvbl90bXBf
QSIKKworICAgICMgQ2hlY2sgZm9yIGVxdWFsaXR5IG9yIGluZXF1YWxpdHkgYXMgbmVjZXNzYXJ5
LgorICAgIG00X2Nhc2UobTRfdG9sb3dlcihtNF9zdWJzdHIoJDIsMCwyKSksCisgICAgW2VxXSxb
CisgICAgICB0ZXN0ICJ4JEEiID0gIngkQiIgJiYgYXhfY29tcGFyZV92ZXJzaW9uPXRydWUKKyAg
ICBdLAorICAgIFtuZV0sWworICAgICAgdGVzdCAieCRBIiAhPSAieCRCIiAmJiBheF9jb21wYXJl
X3ZlcnNpb249dHJ1ZQorICAgIF0sWworICAgICAgQUNfV0FSTklORyhbaWxsZWdhbCBPUCBwYXJh
bWV0ZXI6ICQyXSkKKyAgICBdKQorICBdKQorCisgIEFTX1ZBUl9QT1BERUYoW0FdKWRubAorICBB
U19WQVJfUE9QREVGKFtCXSlkbmwKKworICBkbmwgIyBFeGVjdXRlIEFDVElPTi1JRi1UUlVFIC8g
QUNUSU9OLUlGLUZBTFNFLgorICBpZiB0ZXN0ICIkYXhfY29tcGFyZV92ZXJzaW9uIiA9ICJ0cnVl
IiA7IHRoZW4KKyAgICBtNF9pZnZhbG4oWyQ0XSxbJDRdLFs6XSlkbmwKKyAgICBtNF9pZnZhbG4o
WyQ1XSxbZWxzZSAkNV0pZG5sCisgIGZpCitdKSBkbmwgQVhfQ09NUEFSRV9WRVJTSU9OCisKKwor
ZG5sICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMKK0FDX0RFRlVOKFtBWF9QQVRIX0JEQl0sIFsKKyAgZG5sICMg
VXNlZCB0byBpbmRpY2F0ZSBzdWNjZXNzIG9yIGZhaWx1cmUgb2YgdGhpcyBmdW5jdGlvbi4KKyAg
YXhfcGF0aF9iZGJfb2s9bm8KKworICAjIEFkZCAtLXdpdGgtYmRiLWRpciBvcHRpb24gdG8gY29u
ZmlndXJlLgorICBBQ19BUkdfV0lUSChbYmRiLWRpcl0sCisgICAgW0FDX0hFTFBfU1RSSU5HKFst
LXdpdGgtYmRiLWRpcj1ESVJdLAorICAgICAgICAgICAgICAgICAgICBbQmVya2VsZXkgREIgaW5z
dGFsbGF0aW9uIGRpcmVjdG9yeV0pXSkKKworICAjIENoZWNrIGlmIC0td2l0aC1iZGItZGlyIHdh
cyBzcGVjaWZpZWQuCisgIGlmIHRlc3QgIngkd2l0aF9iZGJfZGlyIiA9ICJ4IiA7IHRoZW4gCisg
ICAgIyBObyBvcHRpb24gc3BlY2lmaWVkLCBzbyBqdXN0IHNlYXJjaCB0aGUgc3lzdGVtLgorICAg
IEFYX1BBVEhfQkRCX05PX09QVElPTlMoWyQxXSwgW0hJR0hFU1RdLCBbCisgICAgICBheF9wYXRo
X2JkYl9vaz15ZXMKKyAgICBdKQorICAgZWxzZQorICAgICAjIFNldCAtLXdpdGgtYmRiLWRpciBv
cHRpb24uCisgICAgIGF4X3BhdGhfYmRiX0lOQz0iJHdpdGhfYmRiX2Rpci9pbmNsdWRlIgorICAg
ICBheF9wYXRoX2JkYl9MSUI9IiR3aXRoX2JkYl9kaXIvbGliIgorIAorICAgICBkbmwgIyBTYXZl
IHByZXZpb3VzIGVudmlyb25tZW50LCBhbmQgbW9kaWZ5IHdpdGggbmV3IHN0dWZmLgorICAgICBh
eF9wYXRoX2JkYl9zYXZlX0NQUEZMQUdTPSIkQ1BQRkxBR1MiCisgICAgIENQUEZMQUdTPSItSSRh
eF9wYXRoX2JkYl9JTkMgJENQUEZMQUdTIgorIAorICAgICBheF9wYXRoX2JkYl9zYXZlX0xERkxB
R1M9JExERkxBR1MKKyAgICAgTERGTEFHUz0iLUwkYXhfcGF0aF9iZGJfTElCICRMREZMQUdTIgor
IAorICAgICAjIENoZWNrIGZvciBzcGVjaWZpYyBoZWFkZXIgZmlsZSBkYi5oCisgICAgIEFDX01T
R19DSEVDS0lORyhbZGIuaCBwcmVzZW5jZSBpbiAkYXhfcGF0aF9iZGJfSU5DXSkKKyAgICAgaWYg
dGVzdCAtZiAiJGF4X3BhdGhfYmRiX0lOQy9kYi5oIiA7IHRoZW4KKyAgICAgICBBQ19NU0dfUkVT
VUxUKFt5ZXNdKQorICAgICAgICMgQ2hlY2sgZm9yIGxpYnJhcnkKKyAgICAgICBBWF9QQVRIX0JE
Ql9OT19PUFRJT05TKFskMV0sIFtFTlZPTkxZXSwgWworICAgICAgICAgYXhfcGF0aF9iZGJfb2s9
eWVzCisgICAgICAgICBCREJfQ1BQRkxBR1M9Ii1JJGF4X3BhdGhfYmRiX0lOQyIKKyAgICAgICAg
IEJEQl9MREZMQUdTPSItTCRheF9wYXRoX2JkYl9MSUIiCisgICAgICAgXSkKKyAgICAgZWxzZQor
ICAgICAgIEFDX01TR19SRVNVTFQoW25vXSkKKyAgICAgICBBQ19NU0dfTk9USUNFKFtubyB1c2Fi
bGUgQmVya2VsZXkgREIgbm90IGZvdW5kXSkgCisgICAgIGZpCisgCisgICAgIGRubCAjIFJlc3Rv
cmUgdGhlIGVudmlyb25tZW50LgorICAgICBDUFBGTEFHUz0iJGF4X3BhdGhfYmRiX3NhdmVfQ1BQ
RkxBR1MiCisgICAgIExERkxBR1M9IiRheF9wYXRoX2JkYl9zYXZlX0xERkxBR1MiCisKKyAgZmkK
KworICBkbmwgIyBFeGVjdXRlIEFDVElPTi1JRi1GT1VORCAvIEFDVElPTi1JRi1OT1QtRk9VTkQu
CisgIGlmIHRlc3QgIiRheF9wYXRoX2JkYl9vayIgPSAieWVzIiA7IHRoZW4KKyAgICBtNF9pZnZh
bG4oWyQyXSxbJDJdLFs6XSlkbmwKKyAgICBtNF9pZnZhbG4oWyQzXSxbZWxzZSAkM10pZG5sCisg
IGZpCisKK10pIGRubCBBWF9QQVRIX0JEQgorCitkbmwgIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIworZG5sIENo
ZWNrIGZvciBiZXJrZWxleSBEQiBvZiBhdCBsZWFzdCBNSU5JTVVNLVZFUlNJT04gb24gc3lzdGVt
LgorZG5sIAorZG5sIFRoZSBPUFRJT04gYXJndW1lbnQgZGV0ZXJtaW5lcyBob3cgdGhlIGNoZWNr
cyBvY2N1ciwgYW5kIGNhbiBiZSBvbmUgb2Y6CitkbmwKK2RubCAgIEhJR0hFU1QgLSAgQ2hlY2sg
Ym90aCB0aGUgZW52aXJvbm1lbnQgYW5kIHRoZSBkZWZhdWx0IGluc3RhbGxhdGlvbiAKK2RubCAg
ICAgICAgICAgICAgZGlyZWN0b3JpZXMgZm9yIEJlcmtlbGV5IERCIGFuZCBjaG9vc2UgdGhlIHZl
cnNpb24gdGhhdAorZG5sICAgICAgICAgICAgICBpcyBoaWdoZXN0LiAoZGVmYXVsdCkKK2RubCAg
IEVOVkZJUlNUIC0gQ2hlY2sgdGhlIGVudmlyb25tZW50IGZpcnN0LCBhbmQgaWYgbm8gc2F0aXNm
YWN0b3J5IAorZG5sICAgICAgICAgICAgICBsaWJyYXJ5IGlzIGZvdW5kIHRoZXJlIGNoZWNrIHRo
ZSBkZWZhdWx0IGluc3RhbGxhdGlvbiAKK2RubCAgICAgICAgICAgICAgZGlyZWN0b3JpZXMgZm9y
IEJlcmtlbGV5IERCIHdoaWNoIGlzIC91c3IvbG9jYWwvQmVya2VsZXlEQioKK2RubCAgIEVOVk9O
TFkgLSAgQ2hlY2sgdGhlIGN1cnJlbnQgZW52aXJvbm1lbnQgb25seS4KK2RubCAgIAorZG5sIFJl
cXVpcmVzIEFYX1BBVEhfQkRCX1BBVEhfR0VUX1ZFUlNJT04sIEFYX1BBVEhfQkRCX1BBVEhfRklO
RF9ISUdIRVNULAorZG5sICAgICAgICAgIEFYX1BBVEhfQkRCX0VOVl9DT05GSVJNX0xJQiwgQVhf
UEFUSF9CREJfRU5WX0dFVF9WRVJTSU9OLCBhbmQKK2RubCAgICAgICAgICBBWF9DT01QQVJFX1ZF
UlNJT04gbWFjcm9zLgorZG5sCitkbmwgUmVzdWx0OiBzZXRzIGF4X3BhdGhfYmRiX25vX29wdGlv
bnNfb2sgdG8geWVzIG9yIG5vCitkbmwgICAgICAgICBzZXRzIEJEQl9MSUJTLCBCREJfQ1BQRkxB
R1MsIEJEQl9MREZMQUdTLCBCREJfVkVSU0lPTgorZG5sCitkbmwgQVhfUEFUSF9CREJfTk9fT1BU
SU9OUyhbTUlOSU1VTS1WRVJTSU9OXSwgW09QVElPTl0sIFtBQ1RJT04tSUYtRk9VTkRdLCBbQUNU
SU9OLUlGLU5PVC1GT1VORF0pCitBQ19ERUZVTihbQVhfUEFUSF9CREJfTk9fT1BUSU9OU10sIFsK
KyAgZG5sICMgVXNlZCB0byBpbmRpY2F0ZSBzdWNjZXNzIG9yIGZhaWx1cmUgb2YgdGhpcyBmdW5j
dGlvbi4KKyAgYXhfcGF0aF9iZGJfbm9fb3B0aW9uc19vaz1ubworCisgICMgVmFsdWVzIHRvIGFk
ZCB0byBlbnZpcm9ubWVudCB0byB1c2UgQmVya2VsZXkgREIuCisgIEJEQl9WRVJTSU9OPScnCisg
IEJEQl9MSUJTPScnCisgIEJEQl9DUFBGTEFHUz0nJworICBCREJfTERGTEFHUz0nJworCisgICMg
Q2hlY2sgY3Jvc3MgY29tcGlsYXRpb24gaGVyZS4KKyAgaWYgdGVzdCAieCRjcm9zc19jb21waWxp
bmciID0gInh5ZXMiIDsgdGhlbgorICAgICMgSWYgY3Jvc3MgY29tcGlsaW5nLCBjYW4ndCB1c2Ug
QUNfUlVOX0lGRUxTRSBzbyBkbyB0aGVzZSB0ZXN0cy4KKyAgICAjIFRoZSBBQ19QUkVQUk9DX0lG
RUxTRSBjb25maXJtcyB0aGF0IGRiLmggaXMgcHJlcHJvY2Vzc2FibGUsCisgICAgIyBhbmQgZXh0
cmFjdHMgdGhlIHZlcnNpb24gbnVtYmVyIGZyb20gaXQuCisgICAgQUNfTVNHX0NIRUNLSU5HKFtm
b3IgZGIuaF0pCisKKyAgICBBU19WQVJfUFVTSERFRihbSEVBREVSX1ZFUlNJT05dLFtheF9wYXRo
X2JkYl9ub19vcHRpb25zX0hFQURFUl9WRVJTSU9OXSlkbmwKKyAgICBIRUFERVJfVkVSU0lPTj0n
JworICAgIEFDX1BSRVBST0NfSUZFTFNFKFsKKyAgICAgIEFDX0xBTkdfU09VUkNFKFtbCisjaW5j
bHVkZSA8ZGIuaD4KK0FYX1BBVEhfQkRCX1NUVUZGIERCX1ZFUlNJT05fTUFKT1IsREJfVkVSU0lP
Tl9NSU5PUixEQl9WRVJTSU9OX1BBVENICisgICAgICBdXSkKKyAgICBdLFsKKyAgICAgICMgRXh0
cmFjdCB2ZXJzaW9uIGZyb20gcHJlcHJvY2Vzc29yIG91dHB1dC4KKyAgICAgIEhFQURFUl9WRVJT
SU9OPWBldmFsICIkYWNfY3BwIGNvbmZ0ZXN0LiRhY19leHQiIDI+IC9kZXYvbnVsbCBcCisgICAg
ICAgIHwgZ3JlcCBBWF9QQVRIX0JEQl9TVFVGRiB8IHNlZCAncy9bW14wLTksXV0vL2c7cy8sLy4v
ZzsxcSdgCisgICAgXSxbXSkKKworICAgIGlmIHRlc3QgIngkSEVBREVSX1ZFUlNJT04iID0gIngi
IDsgdGhlbgorICAgICAgQUNfTVNHX1JFU1VMVChbbm9dKQorICAgIGVsc2UKKyAgICAgIEFDX01T
R19SRVNVTFQoWyRIRUFERVJfVkVSU0lPTl0pCisKKyAgICAgICMgQ2hlY2sgdGhhdCB2ZXJzaW9u
IGlzIGhpZ2ggZW5vdWdoLgorICAgICAgQVhfQ09NUEFSRV9WRVJTSU9OKFskSEVBREVSX1ZFUlNJ
T05dLFtnZV0sWyQxXSxbCisgICAgICAgICMgZ2V0IG1ham9yIGFuZCBtaW5vciB2ZXJzaW9uIG51
bWJlcnMKKyAgICAgICAgQVNfVkFSX1BVU0hERUYoW01BSl0sW2F4X3BhdGhfYmRiX25vX29wdGlv
bnNfTUFKT1JdKWRubAorICAgICAgICBNQUo9YGVjaG8gJEhFQURFUl9WRVJTSU9OIHwgc2VkICdz
LFwuLiosLCdgCisgICAgICAgIEFTX1ZBUl9QVVNIREVGKFtNSU5dLFtheF9wYXRoX2JkYl9ub19v
cHRpb25zX01JTk9SXSlkbmwKKyAgICAgICAgTUlOPWBlY2hvICRIRUFERVJfVkVSU0lPTiB8IHNl
ZCAncyxeW1swLTldXSpcLiwsO3MsXC5bWzAtOV1dKiQsLCdgCisKKwlkbmwgIyBTYXZlIExJQlMu
CisJYXhfcGF0aF9iZGJfbm9fb3B0aW9uc19zYXZlX0xJQlM9IiRMSUJTIgorCisgICAgICAgICMg
Q2hlY2sgdGhhdCB3ZSBjYW4gbGluayB3aXRoIHRoZSBsaWJyYXJ5LgorICAgICAgICBBQ19TRUFS
Q0hfTElCUyhbZGJfdmVyc2lvbl0sIAorICAgICAgICAgIFtkYiBkYi0kTUFKLiRNSU4gZGIkTUFK
LiRNSU4gZGIkTUFKJE1JTiBkYi0kTUFKIGRiJE1BSl0sWworICAgICAgICAgICAgIyBTdWNlc3Nm
dWxseSBmb3VuZCBsaWJyYXJ5LgorICAgICAgICAgICAgYXhfcGF0aF9iZGJfbm9fb3B0aW9uc19v
az15ZXMKKyAgICAgICAgICAgIEJEQl9WRVJTSU9OPSRIRUFERVJfVkVSU0lPTgorCSAgICAKKwkg
ICAgIyBFeHRyYWN0IGxpYnJhcnkgZnJvbSBMSUJTCisJICAgIGF4X3BhdGhfYmRiX25vX29wdGlv
bnNfTEVOPWAgXAorICAgICAgICAgICAgICBlY2hvICJ4JGF4X3BhdGhfYmRiX25vX29wdGlvbnNf
c2F2ZV9MSUJTIiBcCisgICAgICAgICAgICAgIHwgYXdrICd7cHJpbnQobGVuZ3RoKX0nYAorICAg
ICAgICAgICAgQkRCX0xJQlM9YGVjaG8gIngkTElCUyAiIFwKKyAgICAgICAgICAgICAgfCBzZWQg
InMvLlx7JGF4X3BhdGhfYmRiX25vX29wdGlvbnNfTEVOXH1cJC8vO3MvXngvLztzLyAvL2ciYAor
ICAgICAgICBdLFtdKQorCisgICAgICAgIGRubCAjIFJlc3RvcmUgTElCUworCUxJQlM9IiRheF9w
YXRoX2JkYl9ub19vcHRpb25zX3NhdmVfTElCUyIKKworICAgICAgICBBU19WQVJfUE9QREVGKFtN
QUpdKWRubAorICAgICAgICBBU19WQVJfUE9QREVGKFtNSU5dKWRubAorICAgICAgXSkKKyAgICBm
aQorCisgICAgQVNfVkFSX1BPUERFRihbSEVBREVSX1ZFUlNJT05dKWRubAorICBlbHNlCisgICAg
IyBOb3QgY3Jvc3MgY29tcGlsaW5nLgorICAgICMgQ2hlY2sgdmVyc2lvbiBvZiBCZXJrZWxleSBE
QiBpbiB0aGUgY3VycmVudCBlbnZpcm9ubWVudC4KKyAgICBBWF9QQVRIX0JEQl9FTlZfR0VUX1ZF
UlNJT04oWworICAgICAgQVhfQ09NUEFSRV9WRVJTSU9OKFskYXhfcGF0aF9iZGJfZW52X2dldF92
ZXJzaW9uX1ZFUlNJT05dLFtnZV0sWyQxXSxbCisgICAgICAgICMgRm91bmQgYWNjZXB0YWJsZSB2
ZXJzaW9uIGluIGN1cnJlbnQgZW52aXJvbm1lbnQuCisgICAgICAgIGF4X3BhdGhfYmRiX25vX29w
dGlvbnNfb2s9eWVzCisgICAgICAgIEJEQl9WRVJTSU9OPSIkYXhfcGF0aF9iZGJfZW52X2dldF92
ZXJzaW9uX1ZFUlNJT04iCisgICAgICAgIEJEQl9MSUJTPSIkYXhfcGF0aF9iZGJfZW52X2dldF92
ZXJzaW9uX0xJQlMiCisgICAgICBdKQorICAgIF0pCisKKyAgICAjIERldGVybWluZSBpZiB3ZSBu
ZWVkIHRvIHNlYXJjaCAvdXNyL2xvY2FsL0JlcmtlbGV5REIqCisgICAgYXhfcGF0aF9iZGJfbm9f
b3B0aW9uc19ET05FPW5vCisgICAgaWYgdGVzdCAieCQyIiA9ICJ4RU5WT05MWSIgOyB0aGVuCisg
ICAgICBheF9wYXRoX2JkYl9ub19vcHRpb25zX0RPTkU9eWVzCisgICAgZWxpZiB0ZXN0ICJ4JDIi
ID0gInhFTlZGSVJTVCIgOyB0aGVuCisgICAgICBheF9wYXRoX2JkYl9ub19vcHRpb25zX0RPTkU9
JGF4X3BhdGhfYmRiX25vX29wdGlvbnNfb2sKKyAgICBmaSAgCisKKyAgICBpZiB0ZXN0ICIkYXhf
cGF0aF9iZGJfbm9fb3B0aW9uc19ET05FIiA9ICJubyIgOyB0aGVuCisgICAgICAjIENoZWNrIGZv
ciBoaWdoZXN0IGluIC91c3IvbG9jYWwvQmVya2VsZXlEQioKKyAgICAgIEFYX1BBVEhfQkRCX1BB
VEhfRklORF9ISUdIRVNUKFsKKyAgICAgICAgaWYgdGVzdCAiJGF4X3BhdGhfYmRiX25vX29wdGlv
bnNfb2siID0gInllcyIgOyB0aGVuCisgICAgICAgICMgSWYgd2UgYWxyZWFkeSBoYXZlIGFuIGFj
Y2VwdGFibGUgdmVyc2lvbiB1c2UgdGhpcyBpZiBoaWdoZXIuCisgICAgICAgICAgQVhfQ09NUEFS
RV9WRVJTSU9OKAorICAgICAgICAgICAgIFskYXhfcGF0aF9iZGJfcGF0aF9maW5kX2hpZ2hlc3Rf
VkVSU0lPTl0sW2d0XSxbJEJEQl9WRVJTSU9OXSkKKyAgICAgICAgZWxzZQorICAgICAgICAgICMg
U2luY2Ugd2UgZGlkbid0IGhhdmUgYW4gYWNjZXB0YWJsZSB2ZXJzaW9uIGNoZWNrIGlmIHRoaXMg
b25lIGlzLgorICAgICAgICAgIEFYX0NPTVBBUkVfVkVSU0lPTigKKyAgICAgICAgICAgICBbJGF4
X3BhdGhfYmRiX3BhdGhfZmluZF9oaWdoZXN0X1ZFUlNJT05dLFtnZV0sWyQxXSkKKyAgICAgICAg
ZmkKKyAgICAgIF0pCisKKyAgICAgIGRubCAjIElmIHJlc3VsdCBmcm9tIF9BWF9DT01QQVJFX1ZF
UlNJT04gaXMgdHJ1ZSB3ZSB3YW50IHRoaXMgdmVyc2lvbi4KKyAgICAgIGlmIHRlc3QgIiRheF9j
b21wYXJlX3ZlcnNpb24iID0gInRydWUiIDsgdGhlbgorICAgICAgICBheF9wYXRoX2JkYl9ub19v
cHRpb25zX29rPXllcworICAgICAgICBCREJfTElCUz0iLWxkYiIKKyAgICAgICAgQkRCX0NQUEZM
QUdTPSItSSRheF9wYXRoX2JkYl9wYXRoX2ZpbmRfaGlnaGVzdF9ESVIvaW5jbHVkZSIKKyAgICAg
ICAgQkRCX0xERkxBR1M9Ii1MJGF4X3BhdGhfYmRiX3BhdGhfZmluZF9oaWdoZXN0X0RJUi9saWIi
CisgICAgICAgIEJEQl9WRVJTSU9OPSIkYXhfcGF0aF9iZGJfcGF0aF9maW5kX2hpZ2hlc3RfVkVS
U0lPTiIKKyAgICAgIGZpCisgICAgZmkKKyAgZmkKKworICBkbmwgIyBFeGVjdXRlIEFDVElPTi1J
Ri1GT1VORCAvIEFDVElPTi1JRi1OT1QtRk9VTkQuCisgIGlmIHRlc3QgIiRheF9wYXRoX2JkYl9u
b19vcHRpb25zX29rIiA9ICJ5ZXMiIDsgdGhlbgorICAgIEFDX01TR19OT1RJQ0UoW3VzaW5nIEJl
cmtlbGV5IERCIHZlcnNpb24gJEJEQl9WRVJTSU9OXSkgCisgICAgQUNfREVGSU5FKFtIQVZFX0RC
X0hdLFsxXSwKKyAgICAgICAgICAgICAgW0RlZmluZSB0byAxIGlmIHlvdSBoYXZlIHRoZSA8ZGIu
aD4gaGVhZGVyIGZpbGUuXSkKKyAgICBtNF9pZnZhbG4oWyQzXSxbJDNdKWRubAorICBlbHNlCisg
ICAgQUNfTVNHX05PVElDRShbbm8gQmVya2VsZXkgREIgdmVyc2lvbiAkMSBvciBoaWdoZXIgZm91
bmRdKSAKKyAgICBtNF9pZnZhbG4oWyQ0XSxbJDRdKWRubAorICBmaSAKK10pIGRubCBBWF9QQVRI
X0JEQl9OT19PUFRJT05TCisKK2RubCAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCitkbmwgQ2hlY2sgdGhlIGRl
ZmF1bHQgaW5zdGFsbGF0aW9uIGRpcmVjdG9yeSBmb3IgQmVya2VsZXkgREIgd2hpY2ggaXMKK2Ru
bCBvZiB0aGUgZm9ybSAvdXNyL2xvY2FsL0JlcmtlbGV5REIqIGZvciB0aGUgaGlnaGVzdCB2ZXJz
aW9uLgorZG5sCitkbmwgUmVzdWx0OiBzZXRzIGF4X3BhdGhfYmRiX3BhdGhfZmluZF9oaWdoZXN0
X29rIHRvIHllcyBvciBubywKK2RubCAgICAgICAgIHNldHMgYXhfcGF0aF9iZGJfcGF0aF9maW5k
X2hpZ2hlc3RfVkVSU0lPTiB0byB2ZXJzaW9uLAorZG5sICAgICAgICAgc2V0cyBheF9wYXRoX2Jk
Yl9wYXRoX2ZpbmRfaGlnaGVzdF9ESVIgdG8gZGlyZWN0b3J5LgorZG5sCitkbmwgQVhfUEFUSF9C
REJfUEFUSF9GSU5EX0hJR0hFU1QoW0FDVElPTi1JRi1GT1VORF0sIFtBQ1RJT04tSUYtTk9ULUZP
VU5EXSkKK0FDX0RFRlVOKFtBWF9QQVRIX0JEQl9QQVRIX0ZJTkRfSElHSEVTVF0sIFsKKyAgZG5s
ICMgVXNlZCB0byBpbmRpY2F0ZSBzdWNjZXNzIG9yIGZhaWx1cmUgb2YgdGhpcyBmdW5jdGlvbi4K
KyAgYXhfcGF0aF9iZGJfcGF0aF9maW5kX2hpZ2hlc3Rfb2s9bm8KKworICBBU19WQVJfUFVTSERF
RihbVkVSU0lPTl0sW2F4X3BhdGhfYmRiX3BhdGhfZmluZF9oaWdoZXN0X1ZFUlNJT05dKWRubAor
ICBWRVJTSU9OPScnCisKKyAgYXhfcGF0aF9iZGJfcGF0aF9maW5kX2hpZ2hlc3RfRElSPScnCisK
KyAgIyBmaW5kIGhpZ2hlc3QgdmVyaXNvbiBpbiBkZWZhdWx0IGluc3RhbGwgZGlyZWN0b3J5IGZv
ciBCZXJrZWxleSBEQiAKKyAgQVNfVkFSX1BVU0hERUYoW0NVUkRJUl0sW2F4X3BhdGhfYmRiX3Bh
dGhfZmluZF9oaWdoZXN0X0NVUkRJUl0pZG5sCisgIEFTX1ZBUl9QVVNIREVGKFtDVVJfVkVSU0lP
Tl0sW2F4X3BhdGhfYmRiX3BhdGhfZ2V0X3ZlcnNpb25fVkVSU0lPTl0pZG5sCisKKyAgZm9yIENV
UkRJUiBpbiBgbHMgLWQgL3Vzci9sb2NhbC9CZXJrZWxleURCKiAyPiAvZGV2L251bGxgCisgIGRv
CisgICAgQVhfUEFUSF9CREJfUEFUSF9HRVRfVkVSU0lPTihbJENVUkRJUl0sWworICAgICAgQVhf
Q09NUEFSRV9WRVJTSU9OKFskQ1VSX1ZFUlNJT05dLFtndF0sWyRWRVJTSU9OXSxbCisgICAgICAg
IGF4X3BhdGhfYmRiX3BhdGhfZmluZF9oaWdoZXN0X29rPXllcworICAgICAgICBheF9wYXRoX2Jk
Yl9wYXRoX2ZpbmRfaGlnaGVzdF9ESVI9IiRDVVJESVIiCisgICAgICAgIFZFUlNJT049IiRDVVJf
VkVSU0lPTiIKKyAgICAgIF0pCisgICAgXSkKKyAgZG9uZQorCisgIEFTX1ZBUl9QT1BERUYoW1ZF
UlNJT05dKWRubAorICBBU19WQVJfUE9QREVGKFtDVVJfVkVSU0lPTl0pZG5sCisgIEFTX1ZBUl9Q
T1BERUYoW0NVUkRJUl0pZG5sCisKKyAgZG5sICMgRXhlY3V0ZSBBQ1RJT04tSUYtRk9VTkQgLyBB
Q1RJT04tSUYtTk9ULUZPVU5ELgorICBpZiB0ZXN0ICIkYXhfcGF0aF9iZGJfcGF0aF9maW5kX2hp
Z2hlc3Rfb2siID0gInllcyIgOyB0aGVuCisgICAgbTRfaWZ2YWxuKFskMV0sWyQxXSxbOl0pZG5s
CisgICAgbTRfaWZ2YWxuKFskMl0sW2Vsc2UgJDJdKWRubAorICBmaQorCitdKSBkbmwgQVhfUEFU
SF9CREJfUEFUSF9GSU5EX0hJR0hFU1QKKworZG5sICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKK2RubCBDaGVj
a3MgZm9yIEJlcmtlbGV5IERCIGluIHNwZWNpZmllZCBkaXJlY3RvcnkncyBsaWIgYW5kIGluY2x1
ZGUgCitkbmwgc3ViZGlyZWN0b3JpZXMuICAKK2RubAorZG5sIFJlc3VsdDogc2V0cyBheF9wYXRo
X2JkYl9wYXRoX2dldF92ZXJzaW9uX29rIHRvIHllcyBvciBubywKK2RubCAgICAgICAgIHNldHMg
YXhfcGF0aF9iZGJfcGF0aF9nZXRfdmVyc2lvbl9WRVJTSU9OIHRvIHZlcnNpb24uCitkbmwKK2Ru
bCBBWF9QQVRIX0JEQl9QQVRIX0dFVF9WRVJTSU9OKEJEQi1ESVIsIFtBQ1RJT04tSUYtRk9VTkRd
LCBbQUNUSU9OLUlGLU5PVC1GT1VORF0pCitBQ19ERUZVTihbQVhfUEFUSF9CREJfUEFUSF9HRVRf
VkVSU0lPTl0sIFsKKyAgZG5sICMgVXNlZCB0byBpbmRpY2F0ZSBzdWNjZXNzIG9yIGZhaWx1cmUg
b2YgdGhpcyBmdW5jdGlvbi4KKyAgYXhfcGF0aF9iZGJfcGF0aF9nZXRfdmVyc2lvbl9vaz1ubwor
CisgICMgSW5kaWNhdGUgc3RhdHVzIG9mIGNoZWNraW5nIGZvciBCZXJrZWxleSBEQiBoZWFkZXIu
CisgIEFDX01TR19DSEVDS0lORyhbaW4gJDEvaW5jbHVkZSBmb3IgZGIuaF0pCisgIGF4X3BhdGhf
YmRiX3BhdGhfZ2V0X3ZlcnNpb25fZ290X2hlYWRlcj1ubworICB0ZXN0IC1mICIkMS9pbmNsdWRl
L2RiLmgiICYmIGF4X3BhdGhfYmRiX3BhdGhfZ2V0X3ZlcnNpb25fZ290X2hlYWRlcj15ZXMKKyAg
QUNfTVNHX1JFU1VMVChbJGF4X3BhdGhfYmRiX3BhdGhfZ2V0X3ZlcnNpb25fZ290X2hlYWRlcl0p
CisKKyAgIyBJbmRpY2F0ZSBzdGF0dXMgb2YgY2hlY2tpbmcgZm9yIEJlcmtlbGV5IERCIGxpYnJh
cnkuCisgIEFDX01TR19DSEVDS0lORyhbaW4gJDEvbGliIGZvciBsaWJyYXJ5IC1sZGJdKQorCisg
IGF4X3BhdGhfYmRiX3BhdGhfZ2V0X3ZlcnNpb25fVkVSU0lPTj0nJworCisgIGlmIHRlc3QgLWQg
IiQxL2luY2x1ZGUiICYmIHRlc3QgLWQgIiQxL2xpYiIgJiYKKyAgICAgdGVzdCAiJGF4X3BhdGhf
YmRiX3BhdGhfZ2V0X3ZlcnNpb25fZ290X2hlYWRlciIgPSAieWVzIiA7IHRoZW4KKyAgICBkbmwg
IyBzYXZlIGFuZCBtb2RpZnkgZW52aXJvbm1lbnQKKyAgICBheF9wYXRoX2JkYl9wYXRoX2dldF92
ZXJzaW9uX3NhdmVfQ1BQRkxBR1M9IiRDUFBGTEFHUyIKKyAgICBDUFBGTEFHUz0iLUkkMS9pbmNs
dWRlICRDUFBGTEFHUyIKKworICAgIGF4X3BhdGhfYmRiX3BhdGhfZ2V0X3ZlcnNpb25fc2F2ZV9M
SUJTPSIkTElCUyIKKyAgICBMSUJTPSIkTElCUyAtbGRiIgorCisgICAgYXhfcGF0aF9iZGJfcGF0
aF9nZXRfdmVyc2lvbl9zYXZlX0xERkxBR1M9IiRMREZMQUdTIgorICAgIExERkxBR1M9Ii1MJDEv
bGliICRMREZMQUdTIgorCisgICAgIyBDb21waWxlIGFuZCBydW4gYSBwcm9ncmFtIHRoYXQgY29t
cGFyZXMgdGhlIHZlcnNpb24gZGVmaW5lZCBpbgorICAgICMgdGhlIGhlYWRlciBmaWxlIHdpdGgg
YSB2ZXJzaW9uIGRlZmluZWQgaW4gdGhlIGxpYnJhcnkgZnVuY3Rpb24KKyAgICAjIGRiX3ZlcnNp
b24uCisgICAgQUNfUlVOX0lGRUxTRShbCisgICAgICBBQ19MQU5HX1NPVVJDRShbWworI2luY2x1
ZGUgPHN0ZGlvLmg+CisjaW5jbHVkZSA8ZGIuaD4KK2ludCBtYWluKGludCBhcmdjLGNoYXIgKiph
cmd2KQoreworICBpbnQgbWFqb3IsbWlub3IscGF0Y2g7CisgIGRiX3ZlcnNpb24oJm1ham9yLCZt
aW5vciwmcGF0Y2gpOworICBpZiAoYXJnYyA+IDEpCisgICAgcHJpbnRmKCIlZC4lZC4lZFxuIixE
Ql9WRVJTSU9OX01BSk9SLERCX1ZFUlNJT05fTUlOT1IsREJfVkVSU0lPTl9QQVRDSCk7CisgIGlm
IChEQl9WRVJTSU9OX01BSk9SID09IG1ham9yICYmIERCX1ZFUlNJT05fTUlOT1IgPT0gbWlub3Ig
JiYKKyAgICAgIERCX1ZFUlNJT05fUEFUQ0ggPT0gcGF0Y2gpCisgICAgcmV0dXJuIDA7ICAgICAg
ICAgIAorICBlbHNlCisgICAgcmV0dXJuIDE7Cit9CisgICAgICBdXSkKKyAgICBdLFsKKyAgICAg
ICMgUHJvZ3JhbSBjb21waWxlZCBhbmQgcmFuLCBzbyBnZXQgdmVyc2lvbiBieSBhZGRpbmcgYXJn
dW1lbnQuCisgICAgICBheF9wYXRoX2JkYl9wYXRoX2dldF92ZXJzaW9uX1ZFUlNJT049YC4vY29u
ZnRlc3QkYWNfZXhlZXh0IHhgCisgICAgICBheF9wYXRoX2JkYl9wYXRoX2dldF92ZXJzaW9uX29r
PXllcworICAgIF0sW10sW10pCisKKyAgICBkbmwgIyByZXN0b3JlIGVudmlyb25tZW50CisgICAg
Q1BQRkxBR1M9IiRheF9wYXRoX2JkYl9wYXRoX2dldF92ZXJzaW9uX3NhdmVfQ1BQRkxBR1MiCisg
ICAgTElCUz0iJGF4X3BhdGhfYmRiX3BhdGhfZ2V0X3ZlcnNpb25fc2F2ZV9MSUJTIgorICAgIExE
RkxBR1M9IiRheF9wYXRoX2JkYl9wYXRoX2dldF92ZXJzaW9uX3NhdmVfTERGTEFHUyIKKyAgZmkK
KworICBkbmwgIyBGaW5hbGx5LCBleGVjdXRlIEFDVElPTi1JRi1GT1VORCAvIEFDVElPTi1JRi1O
T1QtRk9VTkQuCisgIGlmIHRlc3QgIiRheF9wYXRoX2JkYl9wYXRoX2dldF92ZXJzaW9uX29rIiA9
ICJ5ZXMiIDsgdGhlbgorICAgIEFDX01TR19SRVNVTFQoWyRheF9wYXRoX2JkYl9wYXRoX2dldF92
ZXJzaW9uX1ZFUlNJT05dKQorICAgIG00X2lmdmFsbihbJDJdLFskMl0pZG5sCisgIGVsc2UKKyAg
ICBBQ19NU0dfUkVTVUxUKFtub10pCisgICAgbTRfaWZ2YWxuKFskM10sWyQzXSlkbmwKKyAgZmkg
CitdKSBkbmwgQVhfUEFUSF9CREJfUEFUSF9HRVRfVkVSU0lPTgorCisjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIworZG5sIENoZWNrcyBpZiB2ZXJzaW9uIG9mIGxpYnJhcnkgYW5kIGhlYWRlciBtYXRjaCBz
cGVjaWZpZWQgdmVyc2lvbi4gIAorZG5sIE9ubHkgbWVhbnQgdG8gYmUgdXNlZCBieSBBWF9QQVRI
X0JEQl9FTlZfR0VUX1ZFUlNJT04gbWFjcm8uCitkbmwgCitkbmwgUmVxdWlyZXMgQVhfQ09NUEFS
RV9WRVJTSU9OIG1hY3JvLgorZG5sIAorZG5sIFJlc3VsdDogc2V0cyBheF9wYXRoX2JkYl9lbnZf
Y29uZmlybV9saWJfb2sgdG8geWVzIG9yIG5vLgorZG5sCitkbmwgQVhfUEFUSF9CREJfRU5WX0NP
TkZJUk1fTElCKFZFUlNJT04sIFtMSUJOQU1FXSkKK0FDX0RFRlVOKFtBWF9QQVRIX0JEQl9FTlZf
Q09ORklSTV9MSUJdLCBbCisgIGRubCAjIFVzZWQgdG8gaW5kaWNhdGUgc3VjY2VzcyBvciBmYWls
dXJlIG9mIHRoaXMgZnVuY3Rpb24uCisgIGF4X3BhdGhfYmRiX2Vudl9jb25maXJtX2xpYl9vaz1u
bworCisgIGRubCAjIHNhdmUgYW5kIG1vZGlmeSBlbnZpcm9ubWVudCB0byBsaW5rIHdpdGggbGli
cmFyeSBMSUJOQU1FCisgIGF4X3BhdGhfYmRiX2Vudl9jb25maXJtX2xpYl9zYXZlX0xJQlM9IiRM
SUJTIgorICBMSUJTPSIkTElCUyAkMiIKKworICAjIENvbXBpbGUgYW5kIHJ1biBhIHByb2dyYW0g
dGhhdCBjb21wYXJlcyB0aGUgdmVyc2lvbiBkZWZpbmVkIGluCisgICMgdGhlIGhlYWRlciBmaWxl
IHdpdGggYSB2ZXJzaW9uIGRlZmluZWQgaW4gdGhlIGxpYnJhcnkgZnVuY3Rpb24KKyAgIyBkYl92
ZXJzaW9uLgorICBBQ19SVU5fSUZFTFNFKFsKKyAgICBBQ19MQU5HX1NPVVJDRShbWworI2luY2x1
ZGUgPHN0ZGlvLmg+CisjaW5jbHVkZSA8ZGIuaD4KK2ludCBtYWluKGludCBhcmdjLGNoYXIgKiph
cmd2KQoreworICBpbnQgbWFqb3IsbWlub3IscGF0Y2g7CisgIGRiX3ZlcnNpb24oJm1ham9yLCZt
aW5vciwmcGF0Y2gpOworICBpZiAoYXJnYyA+IDEpCisgICAgcHJpbnRmKCIlZC4lZC4lZFxuIixE
Ql9WRVJTSU9OX01BSk9SLERCX1ZFUlNJT05fTUlOT1IsREJfVkVSU0lPTl9QQVRDSCk7CisgIGlm
IChEQl9WRVJTSU9OX01BSk9SID09IG1ham9yICYmIERCX1ZFUlNJT05fTUlOT1IgPT0gbWlub3Ig
JiYKKyAgICAgIERCX1ZFUlNJT05fUEFUQ0ggPT0gcGF0Y2gpCisgICAgcmV0dXJuIDA7ICAgICAg
ICAgIAorICBlbHNlCisgICAgcmV0dXJuIDE7Cit9CisgICAgXV0pCisgIF0sWworICAgICMgUHJv
Z3JhbSBjb21waWxlZCBhbmQgcmFuLCBzbyBnZXQgdmVyc2lvbiBieSBnaXZpbmcgYW4gYXJndW1l
bnQsCisgICAgIyB3aGljaCB3aWxsIHRlbGwgdGhlIHByb2dyYW0gdG8gcHJpbnQgdGhlIG91dHB1
dC4KKyAgICBheF9wYXRoX2JkYl9lbnZfY29uZmlybV9saWJfVkVSU0lPTj1gLi9jb25mdGVzdCRh
Y19leGVleHQgeGAKKworICAgICMgSWYgdGhlIHZlcnNpb25zIGFsbCBtYXRjaCB1cCwgaW5kaWNh
dGUgc3VjY2Vzcy4KKyAgICBBWF9DT01QQVJFX1ZFUlNJT04oWyRheF9wYXRoX2JkYl9lbnZfY29u
ZmlybV9saWJfVkVSU0lPTl0sW2VxXSxbJDFdLFsKKyAgICAgIGF4X3BhdGhfYmRiX2Vudl9jb25m
aXJtX2xpYl9vaz15ZXMKKyAgICBdKQorICBdLFtdLFtdKQorCisgIGRubCAjIHJlc3RvcmUgZW52
aXJvbm1lbnQKKyAgTElCUz0iJGF4X3BhdGhfYmRiX2Vudl9jb25maXJtX2xpYl9zYXZlX0xJQlMi
CisKK10pIGRubCBBWF9QQVRIX0JEQl9FTlZfQ09ORklSTV9MSUIKKworIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMKK2RubCBGaW5kcyB0aGUgdmVyc2lvbiBhbmQgbGlicmFyeSBuYW1lIGZvciBCZXJrZWxl
eSBEQiBpbiB0aGUKK2RubCBjdXJyZW50IGVudmlyb25tZW50LiAgVHJpZXMgbWFueSBkaWZmZXJl
bnQgbmFtZXMgZm9yIGxpYnJhcnkuCitkbmwKK2RubCBSZXF1aXJlcyBBWF9QQVRIX0JEQl9FTlZf
Q09ORklSTV9MSUIgbWFjcm8uCitkbmwKK2RubCBSZXN1bHQ6IHNldCBheF9wYXRoX2JkYl9lbnZf
Z2V0X3ZlcnNpb25fb2sgdG8geWVzIG9yIG5vLAorZG5sICAgICAgICAgc2V0IGF4X3BhdGhfYmRi
X2Vudl9nZXRfdmVyc2lvbl9WRVJTSU9OIHRvIHRoZSB2ZXJzaW9uIGZvdW5kLAorZG5sICAgICAg
ICAgYW5kIGF4X3BhdGhfYmRiX2Vudl9nZXRfdmVyc2lvbl9MSUJOQU1FIHRvIHRoZSBsaWJyYXJ5
IG5hbWUuCitkbmwKK2RubCBBWF9QQVRIX0JEQl9FTlZfR0VUX1ZFUlNJT04oW0FDVElPTi1JRi1G
T1VORF0sIFtBQ1RJT04tSUYtTk9ULUZPVU5EXSkKK0FDX0RFRlVOKFtBWF9QQVRIX0JEQl9FTlZf
R0VUX1ZFUlNJT05dLCBbCisgIGRubCAjIFVzZWQgdG8gaW5kaWNhdGUgc3VjY2VzcyBvciBmYWls
dXJlIG9mIHRoaXMgZnVuY3Rpb24uCisgIGF4X3BhdGhfYmRiX2Vudl9nZXRfdmVyc2lvbl9vaz1u
bworCisgIGF4X3BhdGhfYmRiX2Vudl9nZXRfdmVyc2lvbl9WRVJTSU9OPScnCisgIGF4X3BhdGhf
YmRiX2Vudl9nZXRfdmVyc2lvbl9MSUJTPScnCisKKyAgQVNfVkFSX1BVU0hERUYoW0hFQURFUl9W
RVJTSU9OXSxbYXhfcGF0aF9iZGJfZW52X2dldF92ZXJzaW9uX0hFQURFUl9WRVJTSU9OXSlkbmwK
KyAgQVNfVkFSX1BVU0hERUYoW1RFU1RfTElCTkFNRV0sW2F4X3BhdGhfYmRiX2Vudl9nZXRfdmVy
c2lvbl9URVNUX0xJQk5BTUVdKWRubAorCisgICMgSW5kaWNhdGUgc3RhdHVzIG9mIGNoZWNraW5n
IGZvciBCZXJrZWxleSBEQiBsaWJyYXJ5LgorICBBQ19NU0dfQ0hFQ0tJTkcoW2ZvciBkYi5oXSkK
KworICAjIENvbXBpbGUgYW5kIHJ1biBhIHByb2dyYW0gdGhhdCBkZXRlcm1pbmVzIHRoZSBCZXJr
ZWxleSBEQiB2ZXJzaW9uCisgICMgaW4gdGhlIGhlYWRlciBmaWxlIGRiLmguCisgIEhFQURFUl9W
RVJTSU9OPScnCisgIEFDX1JVTl9JRkVMU0UoWworICAgIEFDX0xBTkdfU09VUkNFKFtbCisjaW5j
bHVkZSA8c3RkaW8uaD4KKyNpbmNsdWRlIDxkYi5oPgoraW50IG1haW4oaW50IGFyZ2MsY2hhciAq
KmFyZ3YpCit7CisgIGlmIChhcmdjID4gMSkKKyAgICBwcmludGYoIiVkLiVkLiVkXG4iLERCX1ZF
UlNJT05fTUFKT1IsREJfVkVSU0lPTl9NSU5PUixEQl9WRVJTSU9OX1BBVENIKTsKKyAgcmV0dXJu
IDA7ICAgICAgICAgICAgCit9CisgICAgXV0pCisgIF0sWworICAgICMgUHJvZ3JhbSBjb21waWxl
ZCBhbmQgcmFuLCBzbyBnZXQgdmVyc2lvbiBieSBhZGRpbmcgYW4gYXJndW1lbnQuCisgICAgSEVB
REVSX1ZFUlNJT049YC4vY29uZnRlc3QkYWNfZXhlZXh0IHhgCisgICAgQUNfTVNHX1JFU1VMVChb
JEhFQURFUl9WRVJTSU9OXSkKKyAgXSxbQUNfTVNHX1JFU1VMVChbbm9dKV0sW0FDX01TR19SRVNV
TFQoW25vXSldKQorCisgICMgSGF2ZSBoZWFkZXIgdmVyc2lvbiwgc28gdHJ5IHRvIGZpbmQgY29y
cmVzcG9uZGluZyBsaWJyYXJ5LgorICAjIExvb2tzIGZvciBsaWJyYXJ5IG5hbWVzIGluIHRoZSBv
cmRlcjoKKyAgIyAgIG5vdGhpbmcsIGRiLCBkYi1YLlksIGRiWC5ZLCBkYlhZLCBkYi1YLCBkYlgK
KyAgIyBhbmQgc3RvcHMgd2hlbiBpdCBmaW5kcyB0aGUgZmlyc3Qgb25lIHRoYXQgbWF0Y2hlcyB0
aGUgdmVyc2lvbgorICAjIG9mIHRoZSBoZWFkZXIgZmlsZS4gIAorICBpZiB0ZXN0ICJ4JEhFQURF
Ul9WRVJTSU9OIiAhPSAieCIgOyB0aGVuIAorICAgIEFDX01TR19DSEVDS0lORyhbZm9yIGxpYnJh
cnkgY29udGFpbmluZyBCZXJrZWxleSBEQiAkSEVBREVSX1ZFUlNJT05dKQorCisgICAgQVNfVkFS
X1BVU0hERUYoW01BSk9SXSxbYXhfcGF0aF9iZGJfZW52X2dldF92ZXJzaW9uX01BSk9SXSlkbmwK
KyAgICBBU19WQVJfUFVTSERFRihbTUlOT1JdLFtheF9wYXRoX2JkYl9lbnZfZ2V0X3ZlcnNpb25f
TUlOT1JdKWRubAorCisgICAgIyBnZXQgbWFqb3IgYW5kIG1pbm9yIHZlcnNpb24gbnVtYmVycwor
ICAgIE1BSk9SPWBlY2hvICRIRUFERVJfVkVSU0lPTiB8IHNlZCAncyxcLi4qLCwnYAorICAgIE1J
Tk9SPWBlY2hvICRIRUFERVJfVkVSU0lPTiB8IHNlZCAncyxeW1swLTldXSpcLiwsO3MsXC5bWzAt
OV1dKiQsLCdgCisKKyAgICAjIHNlZSBpZiBpdCBpcyBhbHJlYWR5IHNwZWNpZmllZCBpbiBMSUJT
CisgICAgVEVTVF9MSUJOQU1FPScnCisgICAgQVhfUEFUSF9CREJfRU5WX0NPTkZJUk1fTElCKFsk
SEVBREVSX1ZFUlNJT05dLCBbJFRFU1RfTElCTkFNRV0pCisKKyAgICBpZiB0ZXN0ICIkYXhfcGF0
aF9iZGJfZW52X2NvbmZpcm1fbGliX29rIiA9ICJubyIgOyB0aGVuCisgICAgICAjIHRyeSBmb3Jt
YXQgImRiIgorICAgICAgVEVTVF9MSUJOQU1FPSctbGRiJworICAgICAgQVhfUEFUSF9CREJfRU5W
X0NPTkZJUk1fTElCKFskSEVBREVSX1ZFUlNJT05dLCBbJFRFU1RfTElCTkFNRV0pCisgICAgZmkK
KworICAgIGlmIHRlc3QgIiRheF9wYXRoX2JkYl9lbnZfY29uZmlybV9saWJfb2siID0gIm5vIiA7
IHRoZW4KKyAgICAgICMgdHJ5IGZvcm1hdCAiZGItWC5ZIgorICAgICAgVEVTVF9MSUJOQU1FPSIt
bGRiLSR7TUFKT1J9LiRNSU5PUiIKKyAgICAgIEFYX1BBVEhfQkRCX0VOVl9DT05GSVJNX0xJQihb
JEhFQURFUl9WRVJTSU9OXSwgWyRURVNUX0xJQk5BTUVdKQorICAgIGZpCisKKyAgICBpZiB0ZXN0
ICIkYXhfcGF0aF9iZGJfZW52X2NvbmZpcm1fbGliX29rIiA9ICJubyIgOyB0aGVuCisgICAgICAj
IHRyeSBmb3JtYXQgImRiWC5ZIgorICAgICAgVEVTVF9MSUJOQU1FPSItbGRiJHtNQUpPUn0uJE1J
Tk9SIgorICAgICAgQVhfUEFUSF9CREJfRU5WX0NPTkZJUk1fTElCKFskSEVBREVSX1ZFUlNJT05d
LCBbJFRFU1RfTElCTkFNRV0pCisgICAgZmkKKworICAgIGlmIHRlc3QgIiRheF9wYXRoX2JkYl9l
bnZfY29uZmlybV9saWJfb2siID0gIm5vIiA7IHRoZW4KKyAgICAgICMgdHJ5IGZvcm1hdCAiZGJY
WSIKKyAgICAgIFRFU1RfTElCTkFNRT0iLWxkYiRNQUpPUiRNSU5PUiIKKyAgICAgIEFYX1BBVEhf
QkRCX0VOVl9DT05GSVJNX0xJQihbJEhFQURFUl9WRVJTSU9OXSwgWyRURVNUX0xJQk5BTUVdKQor
ICAgIGZpCisKKyAgICBpZiB0ZXN0ICIkYXhfcGF0aF9iZGJfZW52X2NvbmZpcm1fbGliX29rIiA9
ICJubyIgOyB0aGVuCisgICAgICAjIHRyeSBmb3JtYXQgImRiLVgiCisgICAgICBURVNUX0xJQk5B
TUU9Ii1sZGItJE1BSk9SIgorICAgICAgQVhfUEFUSF9CREJfRU5WX0NPTkZJUk1fTElCKFskSEVB
REVSX1ZFUlNJT05dLCBbJFRFU1RfTElCTkFNRV0pCisgICAgZmkKKworICAgIGlmIHRlc3QgIiRh
eF9wYXRoX2JkYl9lbnZfY29uZmlybV9saWJfb2siID0gIm5vIiA7IHRoZW4KKyAgICAgICMgdHJ5
IGZvcm1hdCAiZGJYIgorICAgICAgVEVTVF9MSUJOQU1FPSItbGRiJE1BSk9SIgorICAgICAgQVhf
UEFUSF9CREJfRU5WX0NPTkZJUk1fTElCKFskSEVBREVSX1ZFUlNJT05dLCBbJFRFU1RfTElCTkFN
RV0pCisgICAgZmkKKworICAgIGRubCAjIEZvdW5kIGEgdmFsaWQgbGlicmFyeS4KKyAgICBpZiB0
ZXN0ICIkYXhfcGF0aF9iZGJfZW52X2NvbmZpcm1fbGliX29rIiA9ICJ5ZXMiIDsgdGhlbgorICAg
ICAgaWYgdGVzdCAieCRURVNUX0xJQk5BTUUiID0gIngiIDsgdGhlbgorICAgICAgICBBQ19NU0df
UkVTVUxUKFtub25lIHJlcXVpcmVkXSkKKyAgICAgIGVsc2UKKyAgICAgICAgQUNfTVNHX1JFU1VM
VChbJFRFU1RfTElCTkFNRV0pCisgICAgICBmaQorICAgICAgYXhfcGF0aF9iZGJfZW52X2dldF92
ZXJzaW9uX1ZFUlNJT049IiRIRUFERVJfVkVSU0lPTiIKKyAgICAgIGF4X3BhdGhfYmRiX2Vudl9n
ZXRfdmVyc2lvbl9MSUJTPSIkVEVTVF9MSUJOQU1FIgorICAgICAgYXhfcGF0aF9iZGJfZW52X2dl
dF92ZXJzaW9uX29rPXllcworICAgIGVsc2UKKyAgICAgIEFDX01TR19SRVNVTFQoW25vXSkKKyAg
ICBmaQorCisgICAgQVNfVkFSX1BPUERFRihbTUFKT1JdKWRubAorICAgIEFTX1ZBUl9QT1BERUYo
W01JTk9SXSlkbmwKKyAgZmkKKworICBBU19WQVJfUE9QREVGKFtIRUFERVJfVkVSU0lPTl0pZG5s
CisgIEFTX1ZBUl9QT1BERUYoW1RFU1RfTElCTkFNRV0pZG5sCisKKyAgZG5sICMgRXhlY3V0ZSBB
Q1RJT04tSUYtRk9VTkQgLyBBQ1RJT04tSUYtTk9ULUZPVU5ELgorICBpZiB0ZXN0ICIkYXhfcGF0
aF9iZGJfZW52X2NvbmZpcm1fbGliX29rIiA9ICJ5ZXMiIDsgdGhlbgorICAgIG00X2lmdmFsbihb
JDFdLFskMV0sWzpdKWRubAorICAgIG00X2lmdmFsbihbJDJdLFtlbHNlICQyXSlkbmwKKyAgZmkK
KworXSkgZG5sIEJEQl9FTlZfR0VUX1ZFUlNJT04KKworIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKKwor
Cg==
</data>        

          </attachment>
    </bug>

</bugzilla>