<?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>146101</bug_id>
          
          <creation_ts>2006-09-03 02:24 0000</creation_ts>
          <short_desc>app-cdr/cuetools-1.3.1 stabilization request</short_desc>
          <delta_ts>2006-12-02 23:37: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>2006.1</version>
          <rep_platform>AMD64</rep_platform>
          <op_sys>Linux</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          
          <priority>P2</priority>
          <bug_severity>enhancement</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          
          <everconfirmed>1</everconfirmed>
          <reporter>tiagosousa@gmail.com</reporter>
          <assigned_to>media-optical@gentoo.org</assigned_to>
          

      

      
          <long_desc isprivate="0">
            <who>tiagosousa@gmail.com</who>
            <bug_when>2006-09-03 02:24:25 0000</bug_when>
            <thetext>there&apos;s no version of cuetools in stable, and this one is the lastest, and the ebuild is from february, so why not? :)</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>daniel@thewatkins.org.uk</who>
            <bug_when>2006-09-21 04:49:04 0000</bug_when>
            <thetext>Created an attachment (id=97629)
emerge --info

I can confirm that this package compiles safely on amd64 but, lacking any suitable test files, I can&apos;t vouch for it&apos;s usability.</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>pylon@gentoo.org</who>
            <bug_when>2006-10-28 04:53:44 0000</bug_when>
            <thetext>You are right.  It works for me on x86.

Adding these arches who have app-cdr/cuetools-1.3.1 in ~arch.  Please stabilize.</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>maekke@gentoo.org</who>
            <bug_when>2006-10-29 02:07:14 0000</bug_when>
            <thetext>1. emerges on x86
2. passes collision test
3. works

app-cdr/cuetools-1.3.1

Portage 2.1.1 (default-linux/x86/2006.1/desktop, gcc-4.1.1, glibc-2.4-r3, 2.6.18.1 i686)
=================================================================
System uname: 2.6.18.1 i686 Genuine Intel(R) CPU           T2300  @ 1.66GHz
Gentoo Base System version 1.12.5
Last Sync: Sun, 29 Oct 2006 08:50:01 +0000
ccache version 2.3 [disabled]
app-admin/eselect-compiler: [Not Present]
dev-java/java-config: 1.3.7, 2.0.30
dev-lang/python:     2.3.5-r3, 2.4.3-r4
dev-python/pycrypto: 2.0.1-r5
dev-util/ccache:     2.3
dev-util/confcache:  [Not Present]
sys-apps/sandbox:    1.2.17
sys-devel/autoconf:  2.13, 2.59-r7
sys-devel/automake:  1.4_p6, 1.5, 1.6.3, 1.7.9-r1, 1.8.5-r3, 1.9.6-r2
sys-devel/binutils:  2.16.1-r3
sys-devel/gcc-config: 1.3.13-r4
sys-devel/libtool:   1.5.22
virtual/os-headers:  2.6.17-r1
ACCEPT_KEYWORDS=&quot;x86&quot;
AUTOCLEAN=&quot;yes&quot;
CBUILD=&quot;i686-pc-linux-gnu&quot;
CFLAGS=&quot;-O2 -march=prescott -pipe -fomit-frame-pointer&quot;
CHOST=&quot;i686-pc-linux-gnu&quot;
CONFIG_PROTECT=&quot;/etc /usr/kde/3.5/env /usr/kde/3.5/share/config /usr/kde/3.5/shutdown /usr/share/X11/xkb /usr/share/config /usr/share/texmf/dvipdfm/config/ /usr/share/texmf/dvips/config/ /usr/share/texmf/tex/generic/config/ /usr/share/texmf/tex/platex/config/ /usr/share/texmf/xdvi/&quot;
CONFIG_PROTECT_MASK=&quot;/etc/env.d /etc/env.d/java/ /etc/gconf /etc/java-config/vms/ /etc/revdep-rebuild /etc/terminfo&quot;
CXXFLAGS=&quot;-O2 -march=prescott -pipe -fomit-frame-pointer&quot;
DISTDIR=&quot;/usr/portage/distfiles&quot;
EMERGE_DEFAULT_OPTS=&quot;--nospinner&quot;
FEATURES=&quot;autoconfig collision-protect distlocks metadata-transfer parallel-fetch sandbox sfperms strict test userfetch userpriv usersandbox&quot;
GENTOO_MIRRORS=&quot;http://distfiles.gentoo.org http://distro.ibiblio.org/pub/linux/distributions/gentoo&quot;
LINGUAS=&quot;en de en_GB de_CH&quot;
MAKEOPTS=&quot;-j3&quot;
PKGDIR=&quot;/usr/portage/packages&quot;
PORTAGE_RSYNC_OPTS=&quot;--recursive --links --safe-links --perms --times --compress --force --whole-file --delete --delete-after --stats --timeout=180 --exclude=&apos;/distfiles&apos; --exclude=&apos;/local&apos; --exclude=&apos;/packages&apos;&quot;
PORTAGE_TMPDIR=&quot;/var/tmp&quot;
PORTDIR=&quot;/usr/portage&quot;
SYNC=&quot;rsync://rsync.europe.gentoo.org/gentoo-portage&quot;
USE=&quot;x86 X a52 aac acpi alsa apache2 asf berkdb bitmap-fonts cairo cdr cdrom cli cracklib crypt cups dbus divx dlloader dri dts dvd dvdr dvdread eds elibc_glibc emboss encode fam ffmpeg firefox flac fortran gdbm gif gnome gpm gstreamer gtk hal iconv input_devices_keyboard input_devices_mouse ipv6 isdnlog java jpeg kde kernel_linux ldap libg++ linguas_de linguas_de_CH linguas_en linguas_en_GB mad mikmod mmx mono mp3 mpeg ncurses nls nptl nptlonly ogg opengl oss pam pcre perl png ppds pppd python qt3 qt4 quicktime readline reflection rtsp samba sdl session smp spell spl sse sse2 sse3 ssl svg tcpd test tetex theora threads truetype truetype-fonts type1-fonts udev unicode userland_GNU vcd video_cards_fbdev video_cards_i810 video_cards_vesa vorbis win32codecs wxwindows x264 xine xml xorg xprint xv xvid zlib&quot;
Unset:  CTARGET, INSTALL_MASK, LANG, LC_ALL, LDFLAGS, PORTAGE_RSYNC_EXTRA_OPTS, PORTDIR_OVERLAY</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>tove@gentoo.org</who>
            <bug_when>2006-10-29 13:11:49 0000</bug_when>
            <thetext>Stable on x86.
Thanks Markus for testing.</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>thedude0001@gmx.de</who>
            <bug_when>2006-11-02 17:28:06 0000</bug_when>
            <thetext>Emerges and wors on amd64.

Portage 2.1.1-r1 (default-linux/amd64/2006.1/desktop, gcc-4.1.1, glibc-2.4-r3, 2.6.18-suspend2-Dudebox-Edition x86_64)
=================================================================
System uname: 2.6.18-suspend2-Dudebox-Edition x86_64 AMD Athlon(tm) 64 Processor 3200+
Gentoo Base System version 1.12.5
Last Sync: Wed, 01 Nov 2006 13:30:01 +0000
distcc 2.18.3 x86_64-pc-linux-gnu (protocols 1 and 2) (default port 3632) [enabled]
ccache version 2.3 [enabled]
app-admin/eselect-compiler: [Not Present]
dev-java/java-config: [Not Present]
dev-lang/python:     2.4.3-r4
dev-python/pycrypto: 2.0.1-r5
dev-util/ccache:     2.3
dev-util/confcache:  [Not Present]
sys-apps/sandbox:    1.2.17
sys-devel/autoconf:  2.13, 2.60
sys-devel/automake:  1.4_p6, 1.5, 1.6.3, 1.7.9-r1, 1.8.5-r3, 1.9.6-r2
sys-devel/binutils:  2.16.1-r3
sys-devel/gcc-config: 1.3.13-r3
sys-devel/libtool:   1.5.22
virtual/os-headers:  2.6.11-r2
ACCEPT_KEYWORDS=&quot;amd64&quot;
AUTOCLEAN=&quot;yes&quot;
CBUILD=&quot;x86_64-pc-linux-gnu&quot;
CFLAGS=&quot;-march=k8 -msse3 -Os -pipe&quot;
CHOST=&quot;x86_64-pc-linux-gnu&quot;
CONFIG_PROTECT=&quot;/etc /usr/kde/3.5/env /usr/kde/3.5/share/config /usr/kde/3.5/shutdown /usr/share/X11/xkb /usr/share/config /var/qmail/control&quot;
CONFIG_PROTECT_MASK=&quot;/etc/env.d /etc/gconf /etc/revdep-rebuild /etc/terminfo&quot;
CXXFLAGS=&quot;-march=k8 -msse3 -Os -pipe&quot;
DISTDIR=&quot;/usr/portage/distfiles&quot;
FEATURES=&quot;autoconfig buildpkg ccache collision-protect distcc distlocks metadata-transfer multilib-strict parallel-fetch sandbox sfperms strict test&quot;
GENTOO_MIRRORS=&quot;ftp://linux.rz.ruhr-uni-bochum.de/gentoo-mirror/ ftp:///ftp-stud.fht-esslingen.de/pub/Mirrors/gentoo/&quot;
LDFLAGS=&quot;-Wl,-O1&quot;
MAKEOPTS=&quot;-j4&quot;
PKGDIR=&quot;/usr/portage/packages&quot;
PORTAGE_RSYNC_OPTS=&quot;--recursive --links --safe-links --perms --times --compress --force --whole-file --delete --delete-after --stats --timeout=180 --exclude=&apos;/distfiles&apos; --exclude=&apos;/local&apos; --exclude=&apos;/packages&apos;&quot;
PORTAGE_TMPDIR=&quot;/var/tmp&quot;
PORTDIR=&quot;/usr/portage&quot;
PORTDIR_OVERLAY=&quot;/usr/local/portage_overlay&quot;
SYNC=&quot;rsync://server/gentoo-portage&quot;
USE=&quot;amd64 X alsa apache2 berkdb bitmap-fonts cairo cdr cli cracklib crypt cups dbus dlloader dri dvd dvdr eds elibc_glibc emboss encode esd fam firefox fortran gcj gdbm gif gpm gstreamer gtk gtk2 hal iconv imap input_devices_keyboard input_devices_mouse isdnlog jpeg kde kdeenablefinal kdehiddenvisibility kernel_linux libg++ mad mikmod mp3 mpeg mysql ncurses nls nptl nptlonly objc objc++ ogg oss pam pcre perl png ppds pppd python qt3 qt4 quicktime readline reflection sdl session spell spl sqlite ssl tcpd test truetype truetype-fonts type1-fonts udev unicode userland_GNU video_cards_radeon vorbis xml xorg xv zlib&quot;
Unset:  CTARGET, EMERGE_DEFAULT_OPTS, INSTALL_MASK, LANG, LC_ALL, LINGUAS, PORTAGE_RSYNC_EXTRA_OPTS</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>drizzt@gentoo.org</who>
            <bug_when>2006-11-03 05:39:48 0000</bug_when>
            <thetext>Created an attachment (id=101137)
debian.patch

It doesn`t works on ppc, it need a patch from debian</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>blubb@gentoo.org</who>
            <bug_when>2006-11-03 12:29:47 0000</bug_when>
            <thetext>package infiltrated, amd64 agents have done their job.</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>pylon@gentoo.org</who>
            <bug_when>2006-12-02 23:37:12 0000</bug_when>
            <thetext>(In reply to comment #6)
&gt; It doesn`t works on ppc, it need a patch from debian

Confirmed, added and tested.  I never used it on ppc before ;-)

Anyways, this bug can be closed now.</thetext>
          </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>97629</attachid>
            <date>2006-09-21 04:49 0000</date>
            <desc>emerge --info</desc>
            <filename>emerge.info</filename>
            <type>text/plain</type>
            <data encoding="base64">R2VudG9vIEJhc2UgU3lzdGVtIHZlcnNpb24gMS4xMi4xClBvcnRhZ2UgMi4xLXIyIChkZWZhdWx0
LWxpbnV4L2FtZDY0LzIwMDYuMSwgZ2NjLTQuMS4xLCBnbGliYy0yLjQtcjMsIDIuNi4xNy1nZW50
b28tcjQgeDg2XzY0KQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQpTeXN0ZW0gdW5hbWU6IDIuNi4xNy1nZW50b28tcjQgeDg2
XzY0IEFNRCBBdGhsb24odG0pIDY0IFByb2Nlc3NvciAzMDAwKwphcHAtYWRtaW4vZXNlbGVjdC1j
b21waWxlcjogW05vdCBQcmVzZW50XQpkZXYtamF2YS9qYXZhLWNvbmZpZzogW05vdCBQcmVzZW50
XQpkZXYtbGFuZy9weXRob246ICAgICAyLjQuMy1yMQpkZXYtcHl0aG9uL3B5Y3J5cHRvOiAyLjAu
MS1yNQpkZXYtdXRpbC9jY2FjaGU6ICAgICBbTm90IFByZXNlbnRdCmRldi11dGlsL2NvbmZjYWNo
ZTogIFtOb3QgUHJlc2VudF0Kc3lzLWFwcHMvc2FuZGJveDogICAgMS4yLjE3CnN5cy1kZXZlbC9h
dXRvY29uZjogIDIuMTMsIDIuNTktcjcKc3lzLWRldmVsL2F1dG9tYWtlOiAgMS40X3A2LCAxLjUs
IDEuNi4zLCAxLjcuOS1yMSwgMS44LjUtcjMsIDEuOS42LXIyCnN5cy1kZXZlbC9iaW51dGlsczog
IDIuMTYuMS1yMwpzeXMtZGV2ZWwvZ2NjLWNvbmZpZzogMS4zLjEzLXIzCnN5cy1kZXZlbC9saWJ0
b29sOiAgIDEuNS4yMgp2aXJ0dWFsL29zLWhlYWRlcnM6ICAyLjYuMTEtcjIKQUNDRVBUX0tFWVdP
UkRTPSJhbWQ2NCIKQVVUT0NMRUFOPSJ5ZXMiCkNCVUlMRD0ieDg2XzY0LXBjLWxpbnV4LWdudSIK
Q0ZMQUdTPSItTzIgLXBpcGUgLW1hcmNoPWs4IgpDSE9TVD0ieDg2XzY0LXBjLWxpbnV4LWdudSIK
Q09ORklHX1BST1RFQ1Q9Ii9ldGMgL3Vzci9rZGUvMy41L2VudiAvdXNyL2tkZS8zLjUvc2hhcmUv
Y29uZmlnIC91c3Iva2RlLzMuNS9zaHV0ZG93biAvdXNyL3NoYXJlL1gxMS94a2IgL3Vzci9zaGFy
ZS9jb25maWcgL3Vzci9zaGFyZS90ZXhtZi9kdmlwZGZtL2NvbmZpZy8gL3Vzci9zaGFyZS90ZXht
Zi9kdmlwcy9jb25maWcvIC91c3Ivc2hhcmUvdGV4bWYvdGV4L2dlbmVyaWMvY29uZmlnLyAvdXNy
L3NoYXJlL3RleG1mL3RleC9wbGF0ZXgvY29uZmlnLyAvdXNyL3NoYXJlL3RleG1mL3hkdmkvIgpD
T05GSUdfUFJPVEVDVF9NQVNLPSIvZXRjL2Vudi5kIC9ldGMvZ2NvbmYgL2V0Yy90ZXJtaW5mbyIK
Q1hYRkxBR1M9Ii1PMiAtcGlwZSAtbWFyY2g9azgiCkRJU1RESVI9Ii91c3IvcG9ydGFnZS9kaXN0
ZmlsZXMiCkZFQVRVUkVTPSJhdXRvY29uZmlnIGNvbGxpc2lvbi1wcm90ZWN0IGRpc3Rsb2NrcyBt
ZXRhZGF0YS10cmFuc2ZlciBwYXJhbGxlbC1mZXRjaCBzYW5kYm94IHNmcGVybXMgc3RyaWN0IHRl
c3QiCkdFTlRPT19NSVJST1JTPSJodHRwOi8vZGlzdGZpbGVzLmdlbnRvby5vcmcgaHR0cDovL2Rp
c3Ryby5pYmlibGlvLm9yZy9wdWIvbGludXgvZGlzdHJpYnV0aW9ucy9nZW50b28iCk1BS0VPUFRT
PSItajIiClBLR0RJUj0iL3Vzci9wb3J0YWdlL3BhY2thZ2VzIgpQT1JUQUdFX1JTWU5DX09QVFM9
Ii0tcmVjdXJzaXZlIC0tbGlua3MgLS1zYWZlLWxpbmtzIC0tcGVybXMgLS10aW1lcyAtLWNvbXBy
ZXNzIC0tZm9yY2UgLS13aG9sZS1maWxlIC0tZGVsZXRlIC0tZGVsZXRlLWFmdGVyIC0tc3RhdHMg
LS10aW1lb3V0PTE4MCAtLWV4Y2x1ZGU9Jy9kaXN0ZmlsZXMnIC0tZXhjbHVkZT0nL2xvY2FsJyAt
LWV4Y2x1ZGU9Jy9wYWNrYWdlcyciClBPUlRBR0VfVE1QRElSPSIvdmFyL3RtcCIKUE9SVERJUj0i
L3Vzci9wb3J0YWdlIgpTWU5DPSJyc3luYzovLzEwLjAuMC4yMS9nZW50b28tcG9ydGFnZSIKVVNF
PSJhbWQ2NCBiZXJrZGIgYml0bWFwLWZvbnRzIGNsaSBjcnlwdCBjdXBzIGRsbG9hZGVyIGRyaSBm
b3J0cmFuIGdkYm0gZ3BtIGlwdjYgaXNkbmxvZyBsaWJnKysgbmN1cnNlcyBubHMgbnB0bCBucHRs
b25seSBwYW0gcGNyZSBwZXJsIHBwZHMgcHBwZCBweXRob24gcmVhZGxpbmUgcmVmbGVjdGlvbiBz
ZXNzaW9uIHNwbCBzc2wgdGNwZCB0cnVldHlwZS1mb250cyB0eXBlMS1mb250cyB1ZGV2IHVuaWNv
ZGUgeG9yZyB6bGliIGVsaWJjX2dsaWJjIGlucHV0X2RldmljZXNfa2V5Ym9hcmQgaW5wdXRfZGV2
aWNlc19tb3VzZSBpbnB1dF9kZXZpY2VzX2V2ZGV2IGtlcm5lbF9saW51eCB1c2VybGFuZF9HTlUg
dmlkZW9fY2FyZHNfYXBtIHZpZGVvX2NhcmRzX2FyayB2aWRlb19jYXJkc19hdGkgdmlkZW9fY2Fy
ZHNfY2hpcHMgdmlkZW9fY2FyZHNfY2lycnVzIHZpZGVvX2NhcmRzX2N5cml4IHZpZGVvX2NhcmRz
X2R1bW15IHZpZGVvX2NhcmRzX2ZiZGV2IHZpZGVvX2NhcmRzX2dsaW50IHZpZGVvX2NhcmRzX2kx
MjggdmlkZW9fY2FyZHNfaTgxMCB2aWRlb19jYXJkc19tZ2EgdmlkZW9fY2FyZHNfbmVvbWFnaWMg
dmlkZW9fY2FyZHNfbnYgdmlkZW9fY2FyZHNfcmVuZGl0aW9uIHZpZGVvX2NhcmRzX3MzIHZpZGVv
X2NhcmRzX3MzdmlyZ2UgdmlkZW9fY2FyZHNfc2F2YWdlIHZpZGVvX2NhcmRzX3NpbGljb25tb3Rp
b24gdmlkZW9fY2FyZHNfc2lzIHZpZGVvX2NhcmRzX3Npc3VzYiB2aWRlb19jYXJkc190ZGZ4IHZp
ZGVvX2NhcmRzX3RnYSB2aWRlb19jYXJkc190cmlkZW50IHZpZGVvX2NhcmRzX3RzZW5nIHZpZGVv
X2NhcmRzX3Y0bCB2aWRlb19jYXJkc192ZXNhIHZpZGVvX2NhcmRzX3ZnYSB2aWRlb19jYXJkc192
aWEgdmlkZW9fY2FyZHNfdm13YXJlIHZpZGVvX2NhcmRzX3Zvb2RvbyIKVW5zZXQ6ICBDVEFSR0VU
LCBFTUVSR0VfREVGQVVMVF9PUFRTLCBJTlNUQUxMX01BU0ssIExBTkcsIExDX0FMTCwgTERGTEFH
UywgTElOR1VBUywgUE9SVEFHRV9SU1lOQ19FWFRSQV9PUFRTLCBQT1JURElSX09WRVJMQVkKCg==
</data>        

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>101137</attachid>
            <date>2006-11-03 05:39 0000</date>
            <desc>debian.patch</desc>
            <filename>01_overfiend.dpatch</filename>
            <type>text/plain</type>
            <data encoding="base64">IyEgL2Jpbi9zaCAvdXNyL3NoYXJlL2RwYXRjaC9kcGF0Y2gtcnVuCiMjIDAxX292ZXJmaWVuZC5k
cGF0Y2ggYnkgQnJhbmRlbiBSb2JpbnNvbiA8YnJhbmRlbkBkZWJpYW4ub3JnPgojIwojIyBBbGwg
bGluZXMgYmVnaW5uaW5nIHdpdGggYCMjIERQOicgYXJlIGEgZGVzY3JpcHRpb24gb2YgdGhlIHBh
dGNoLgojIyBEUDogT3ZlcmZpZW5kJ3MgZ2lhbnQgcGF0Y2ggdG8gcHVyZ2UgYWxsIHVuaG9saW5l
c3MgZnJvbSBjdWV0b29scwoKZGlmZiAtdXJOIGN1ZXRvb2xzLTEuMy1PRkZJQ0lBTC9kb2MvY3Vl
YnJlYWtwb2ludHMuMSBjdWV0b29scy0xLjMvZG9jL2N1ZWJyZWFrcG9pbnRzLjEKLS0tIGN1ZXRv
b2xzLTEuMy1PRkZJQ0lBTC9kb2MvY3VlYnJlYWtwb2ludHMuMQkyMDA1LTAzLTIyIDAzOjE1OjI1
LjAwMDAwMDAwMCAtMDUwMAorKysgY3VldG9vbHMtMS4zL2RvYy9jdWVicmVha3BvaW50cy4xCTIw
MDUtMDgtMjMgMTk6MjY6MzIuMDAwMDAwMDAwIC0wNTAwCkBAIC0xLDQ2ICsxLDk0IEBACi0uVEgg
Y3VldG9vbHMgMQotLgorLlRIIGN1ZWJyZWFrcG9pbnRzIDEgMjAwNS0wOC0yMyAiQ3VldG9vbHMg
MS4zIgogLlNIIE5BTUUKLWN1ZWJyZWFrcG9pbnRzCi0uCi0uU0ggREVTQ1JJUFRJT04KLWN1ZWJy
ZWFrcG9pbnRzIFwtIHByaW50IHRoZSBicmVha3BvaW50cyBmcm9tIGEgY3VlIG9yIHRvYyBmaWxl
Ci0uCitjdWVicmVha3BvaW50cyBcLSByZXBvcnQgdHJhY2sgYnJlYWtwb2ludHMgZnJvbSBhIENV
RSBvciBUT0MgZmlsZQogLlNIIFNZTk9QU0lTCiAuQiBjdWVicmVha3BvaW50cwotW29wdGlvbi4u
Ll0gW2ZpbGUuLi5dCi0uCitbIHsKKy5CIFwtaQorLkkgZm9ybWF0Cit8CisuQlIgXC1cLWlucHV0
XC1mb3JtYXQgPVxmSWZvcm1hdFxmUAorfSB7CisuQiBcLVwtYXBwZW5kXC1nYXBzCit8CisuQiBc
LVwtcHJlcGVuZFwtZ2FwcworfAorLkIgXC1cLXNwbGl0XC1nYXBzCit9IF0KK1sKKy5JIGZpbGUK
K1wmLi4uIF0KKy5icgorLkIgY3VlYnJlYWtwb2ludHMgXC1cLWhlbHAKKy5TSCBERVNDUklQVElP
TgorLkIgY3VlYnJlYWtwb2ludHMKK3JlcG9ydHMgdGhlIHRyYWNrIGJyZWFrcG9pbnRzIGZvdW5k
IGluIENVRSBhbmQgVE9DIGZpbGVzLCB3aGljaCBhcmUKK3R5cGljYWxseSBjcmVhdGVkIGJ5IGNv
bXBhY3QgZGlzYyByaXBwaW5nIHNvZnR3YXJlLgorVGhlIGJyZWFrcG9pbnRzIGFyZSBpbiBhIGZv
cm1hdCB1c2FibGUgYnkKKy5CIHNobnNwbGl0CisocGFydCBvZiB0aGUgc2hudG9vbCBwYWNrYWdl
KS4KKy5QUAorVGhyZWUgYXBwcm9hY2hlcyB0byB0cmFjayBwcmVnYXBzIGFyZSBhdmFpbGFiZTog
YXBwZW5kICh0byBwcmV2aW91cyB0cmFjayksCitwcmVwZW5kICh0byBzdWNjZWVkaW5nIHRyYWNr
KSwgYW5kIHNwbGl0IChmcm9tIGJvdGggcHJlY2VkaW5nIGFuZAorc3VjY2VlZGluZyB0cmFja3Mp
LgorVGhlIHNwbGl0IGFwcHJvYWNoIGNhbiByZXN1bHQgaW4gdXAgdG8gdHdpY2UgYXMgbWFueSBi
cmVha3BvaW50cyBiZWluZworcmVwb3J0ZWQgYXMgdGhlcmUgYXJlIHRyYWNrcyBvbiB0aGUgZGlz
Yy4KKy5QUAorVGhlIGZpcnN0IHRyYWNrJ3MgcHJlZ2FwIGNhbm5vdCBiZSBhcHBlbmRlZCB0byB0
aGUgcHJldmlvdXMgdHJhY2ssIHNvIGl0IGlzCitwcmVmaXhlZCB0byB0aGUgdHJhY2sgaW4gYm90
aCBhcHBlbmQgYW5kIHByZXBlbmQgbW9kZXMuCitJZiB5b3Ugd2FudCB0aGUgdHJhY2sgd2l0aG91
dCBpdCwgdXNlIHRoZQorLkIgXC1cLXNwbGl0XC1nYXBzCitvcHRpb24uCisuUFAKK0lmIG5vIGZp
bGVuYW1lcyBhcmUgc3BlY2lmaWVkLAorLkIgY3VlYnJlYWtwb2ludHMKK3JlYWRzIGZyb20gc3Rh
bmRhcmQgaW5wdXQsIGFuZCBhbiBpbnB1dCBmb3JtYXQgb3B0aW9uCisuSSBtdXN0CitiZSBzcGVj
aWZpZWQuCitJZiBvbmUgb3IgbW9yZSBmaWxlbmFtZXMgaXMgcHJvdmlkZWQsIGJ1dCB0aGUgaW5w
dXQgZm9ybWF0IG9wdGlvbiBpcyBub3QKK3NwZWNpZmllZCwgdGhlIGlucHV0IGZvcm1hdCB3aWxs
IGJlIGd1ZXNzZWQgYmFzZWQgb24gZWFjaCBmaWxlJ3Mgc3VmZml4CisoZS5nLiwKKy5JIC5jdWUK
K29yCisuSVIgLnRvYyApLgorVGhpcyBoZXVyaXN0aWMgaXMgY2FzZS1pbnNlbnNpdGl2ZS4KIC5T
SCBPUFRJT05TCiAuVFAKLS5CIFwtaCwgXC0taGVscAotcHJpbnQgdXNhZ2UgaW5mb3JtYXRpb24K
LS4KKy5CUiBcLWggIiwgIiBcLVwtaGVscAorZGlzcGxheXMgYSB1c2FnZSBtZXNzYWdlIGFuZCBl
eGl0cy4KIC5UUAotLkIgXC1pLCBcLS1pbnB1dC1mb3JtYXQgY3VlfHRvYwotc2V0IGZvcm1hdCBv
ZiBmaWxlKHMpCi0uCisuQlIgXC1pICIgXGZJZm9ybWF0XGZQLCAiIFwtXC1pbnB1dFwtZm9ybWF0
PVxmSWZvcm1hdFxmUAorc2V0cyB0aGUgZXhwZWN0ZWQgZm9ybWF0IG9mIHRoZSBpbnB1dCBmaWxl
KHMpIHRvCisuSVIgZm9ybWF0ICwKK3doaWNoIG11c3QgYmUgZWl0aGVyCisuQiBjdWUKK29yCisu
QlIgdG9jIC4KIC5UUAotLkIgXC0tYXBwZW5kLWdhcHMKLWFwcGVuZCBwcmVnYXBzIHRvIHByZXZp
b3VzIHRyYWNrIChkZWZhdWx0KQotLgorLkIgXC1cLWFwcGVuZFwtZ2FwcworYXBwZW5kcyBwcmVn
YXBzIHRvIHRoZSBlbmQgb2YgdGhlIHByZXZpb3VzIHRyYWNrLgorVGhpcyBpcyB0aGUgZGVmYXVs
dC4KIC5UUAotLkIgXC0tcHJlcGVuZC1nYXBzCi1wcmVmaXggcHJlZ2FwcyB0byB0cmFjawotLgor
LkIgXC1cLXByZXBlbmRcLWdhcHMKK3ByZWZpeGVzIHByZWdhcHMgdG8gdGhlIGJlZ2lubmluZyBv
ZiBlYWNoIHN1YnNlcXVlbnQgdHJhY2suCiAuVFAKLS5CIFwtLXNwbGl0LWdhcHMKLXNwbGl0IGF0
IGJlZ2lubmluZyBhbmQgZW5kIG9mIHByZWdhcHMKLS4KLS5TSCBOT1RFUwotVGhlIGJyZWFrcG9p
bnRzIGFyZSBpbiBhIGZvcm1hdCB1c2FibGUgYnkgc2huc3BsaXQgKHBhcnQgb2YgdGhlIHNobnRv
b2wgcGFja2FnZSkuCisuQiBcLVwtc3BsaXRcLWdhcHMKK3NlcGFyYXRlcyBwcmVnYXBzIGZyb20g
Ym90aCB0aGUgcHJlY2VkaW5nIGFuZCBzdWNjZWVkaW5nIHRyYWNrcy4KIC5QUAotVGhlIGZpcnN0
IHRyYWNrJ3MgcHJlZ2FwIGNhbm5vdCBiZSBhcHBlbmRlZCB0byB0aGUgcHJldmlvdXMgdHJhY2ss
IHNvIGl0IGlzIHByZWZpeGVkIHRvIHRoZSB0cmFjayBpbiBib3RoIGFwcGVuZCBhbmQgcHJlcGVu
ZCBtb2Rlcy4gIElmIHlvdSB3YW50IHRoZSB0cmFjayB3aXRob3V0IGl0LCB1c2UgdGhlIHNwbGl0
IG1vZGUuCi0uUFAKLUlmIG5vIGZpbGVzIGFyZSBzcGVjaWZpZWQsIHN0ZGluIGlzIHVzZWQuICBJ
ZiBhIGZpbGVuYW1lIGlzIHNwZWNpZmllZCBhbmQgdGhlIGZvcm1hdCBpcyBub3Qgc3BlY2lmaWVk
LCB0aGUgZm9ybWF0IHdpbGwgYmUgc2V0IGJhc2VkIG9uIGEgIi5jdWUiIG9yICIudG9jIiBzdWZm
aXguCi0uCitJZiBtb3JlIHRoYW4gb25lIG9mCisuQlIgXC1cLWFwcGVuZFwtZ2FwcyAsCisuQlIg
XC1cLXByZXBlbmRcLWdhcHMgLAorYW5kCisuQiBcLVwtc3BsaXRcLWdhcHMKK2FyZSBzcGVjaWZp
ZWQsIGFsbCBleGNlcHQgdGhlIGxhc3QgZW5jb3VudGVyZWQgYXJlIGlnbm9yZWQuCisuU0ggIkVY
SVQgU1RBVFVTIgorLkIgY3VlYnJlYWtwb2ludHMKK2V4aXRzIHdpdGggc3RhdHVzIHplcm8gaWYg
aXQgc3VjY2Vzc2Z1bGx5IGdlbmVyYXRlcyBhIHJlcG9ydCBmb3IgZWFjaAoraW5wdXQgZmlsZSwg
YW5kIG5vbnplcm8gaWYgdGhlcmUgd2VyZSBwcm9ibGVtcy4KIC5TSCBBVVRIT1IKLVN2ZW5kIFNv
cmVuc2VuCi0uCitDdWV0b29scyB3YXMgd3JpdHRlbiBieSBTdmVuZCBTb3JlbnNlbi4KK0JyYW5k
ZW4gUm9iaW5zb24gY29udHJpYnV0ZWQgZml4ZXMgYW5kIGVuaGFuY2VtZW50cyB0byB0aGUgdXRp
bGl0aWVzIGFuZAorZG9jdW1lbnRhdGlvbi4KIC5TSCAiU0VFIEFMU08iCi1jdWVjb252ZXJ0KDEp
LAotY3VlcHJpbnQoMSkKKy5CUiBjdWVjb252ZXJ0ICgxKSwKKy5CUiBjdWVwcmludCAoMSkKZGlm
ZiAtdXJOIGN1ZXRvb2xzLTEuMy1PRkZJQ0lBTC9kb2MvY3VlY29udmVydC4xIGN1ZXRvb2xzLTEu
My9kb2MvY3VlY29udmVydC4xCi0tLSBjdWV0b29scy0xLjMtT0ZGSUNJQUwvZG9jL2N1ZWNvbnZl
cnQuMQkyMDA1LTAzLTIyIDAzOjE1OjI1LjAwMDAwMDAwMCAtMDUwMAorKysgY3VldG9vbHMtMS4z
L2RvYy9jdWVjb252ZXJ0LjEJMjAwNS0wOC0yMyAxODoyMzoyMy4wMDAwMDAwMDAgLTA1MDAKQEAg
LTEsMzQgKzEsNzkgQEAKLS5USCBjdWV0b29scyAxCi0uCisuVEggY3VlY29udmVydCAxIDIwMDUt
MDgtMjMgIkN1ZXRvb2xzIDEuMyIKIC5TSCBOQU1FCi1jdWVjb252ZXJ0Ci0uCi0uU0ggREVTQ1JJ
UFRJT04KLWN1ZWNvbnZlcnQgXC0gY29udmVydCBiZXR3ZWVuIHRoZSBjdWUgYW5kIHRvYyBmb3Jt
YXRzCi0uCitjdWVjb252ZXJ0IFwtIGNvbnZlcnQgZmlsZXMgYmV0d2VlbiBDVUUgYW5kIFRPQyBm
b3JtYXRzCiAuU0ggU1lOT1BTSVMKIC5CIGN1ZWNvbnZlcnQKLVtvcHRpb24uLi5dIFtpbmZpbGUg
W291dGZpbGVdXQotLgorWworLkIgXC1pCisuSSBmb3JtYXQKK3wKKy5CUiBcLVwtaW5wdXRcLWZv
cm1hdCA9XGZJZm9ybWF0XGZQCitdIFsKKy5CIFwtbworLkkgZm9ybWF0Cit8CisuQlIgXC1cLW91
dHB1dFwtZm9ybWF0ID1cZklmb3JtYXRcZlAKK10gWworLkkgaW5maWxlCitbCisuSSBvdXRmaWxl
CitdIF0KKy5icgorLkIgY3VlY29udmVydCBcLVwtaGVscAorLlNIIERFU0NSSVBUSU9OCisuQiBj
dWVjb252ZXJ0Citjb3ZlcnRzIGZpbGVzIGJldHdlZW4gdGhlIENVRSBhbmQgVE9DIGZvcm1hdHMs
IGVhY2ggb2Ygd2hpY2ggYXJlIGNvbW1vbmx5Cit1c2VkIGJ5IGNvbXBhY3QgZGlzYyByaXBwaW5n
IHNvZnR3YXJlIHRvIGRlbm90ZSB0cmFjayBicmVha3BvaW50cyBhbmQgb3RoZXIKK2RhdGEuCisu
UFAKK1RoZSBvcGVyYW5kcyBhcmUgb3B0aW9uYWw7IGlmCisuSSBpbmZpbGUKK2lzIG5vdCBzcGVj
aWZpZWQsCisuQiBjdWVjb252ZXJ0CityZWFkcyBmcm9tIHN0YW5kYXJkIGlucHV0LCBhbmQgaWYK
Ky5JIG91dGZpbGUKK2lzIG5vdCBzcGVjaWZpZWQsIGl0IHdyaXRlcyB0byBzdGFuZGFyZCBvdXRw
dXQuCisuUFAKK0lmIG5vIGZpbGVuYW1lc3MgYXJlIHNwZWNpZmllZCwgc3RhbmRhcmQgaW5wdXQg
aXMgdXNlZCwgYW5kIGFuIGlucHV0IGZvcm1hdAorb3B0aW9uCisuSSBtdXN0CitiZSBzcGVjaWZp
ZWQuCitUaGUgY29tcGxlbWVudGFyeSBmb3JtYXQgaXMgdXNlZCBmb3Igb3V0cHV0LgorLlBQCitJ
ZiBmaWxlbmFtZXMgYXJlIHByb3ZpZGVkLCBidXQgZm9ybWF0IG9wdGlvbnMgYXJlIG5vdCBzcGVj
aWZpZWQsCit0aGUgaW5wdXQgYW5kIG91dHB1dCBmb3JtYXRzIHdpbGwgYmUgZ3Vlc3NlZCBiYXNl
ZCBvbiBlYWNoIGZpbGVuYW1lJ3MKK3N1ZmZpeCAoZS5nLiwKKy5JIC5jdWUKK29yCisuSVIgLnRv
YyApLgorVGhpcyBoZXVyaXN0aWMgaXMgY2FzZS1pbnNlbnNpdGl2ZS4KIC5TSCBPUFRJT05TCiAu
VFAKLS5CIFwtaCwgXC0taGVscAotcHJpbnQgdXNhZ2UgaW5mb3JtYXRpb24KLS4KKy5CUiBcLWgg
IiwgIiBcLVwtaGVscAorZGlzcGxheXMgYSB1c2FnZSBtZXNzYWdlIGFuZCBleGl0cy4KIC5UUAot
LkIgXC1pLCBcLS1pbnB1dC1mb3JtYXQgY3VlfHRvYwotc2V0IGZvcm1hdCBvZiBpbnB1dCBmaWxl
Ci0uCisuQlIgXC1pICIgXGZJZm9ybWF0XGZQLCAiIFwtXC1pbnB1dFwtZm9ybWF0PVxmSWZvcm1h
dFxmUAorc2V0cyB0aGUgZXhwZWN0ZWQgZm9ybWF0IG9mIHRoZSBpbnB1dCBmaWxlIHRvCisuSVIg
Zm9ybWF0IC4KIC5UUAotLkIgXC1vLCBcLS1vdXRwdXQtZm9ybWF0IGN1ZXx0b2MKLXNldCBmb3Jt
YXQgb2Ygb3V0cHV0IGZpbGUKLS4KLS5TSCBOT1RFUwotSWYgaW5maWxlIG9yIG91dGZpbGUgaXMg
bm90IHNwZWNpZmllZCwgc3RkaW4gYW5kIHN0ZG91dCBhcmUgdXNlZCwgcmVzcGVjdGl2ZWx5LiAg
SWYgYSBmaWxlbmFtZSBpcyBzcGVjaWZpZWQgYW5kIHRoZSBmb3JtYXQgaXMgbm90IHNwZWNpZmll
ZCwgdGhlIGZvcm1hdCB3aWxsIGJlIHNldCBiYXNlZCBvbiBhICIuY3VlIiBvciAiLnRvYyIgc3Vm
Zml4LiAgSWYgdGhlIG91dHB1dCBmaWxlIGZvcm1hdCBpcyBub3Qgc3BlY2lmaWVkLCBhbmQgaXQg
Y2Fubm90IGJlIGRldGVybWluZWQgZnJvbSB0aGUgc3VmZml4LCBpdCB3aWxsIGJlIHNldCB0byB0
aGUgb3Bwb3NpdGUgb2YgdGhlIGlucHV0IGZvcm1hdC4KLS4KKy5CUiBcLW8gIiBcZklmb3JtYXRc
ZlAsICIgXC1cLW91dHB1dFwtZm9ybWF0PVxmSWZvcm1hdFxmUAorc2V0cyB0aGUgZm9ybWF0IG9m
IHRoZSBnZW5lcmF0ZWQgb3V0cHV0IGZpbGUgdG8KKy5JUiBmb3JtYXQgLgorLlBQCitUaGUgb3B0
aW9uIGFyZ3VtZW50CisuSSBmb3JtYXQKK211c3QgYmUgZWl0aGVyCisuQiBjdWUKK29yCisuQlIg
dG9jIC4KKy5TSCAiRVhJVCBTVEFUVVMiCisuQiBjdWVjb252ZXJ0CitleGl0cyB3aXRoIHN0YXR1
cyB6ZXJvIGlmIGl0IHN1Y2Nlc3NmdWxseSBjb3ZlcnRzIHRoZSBpbnB1dCBmaWxlLCBhbmQKK25v
bnplcm8gaWYgdGhlcmUgd2VyZSBwcm9ibGVtcy4KIC5TSCBBVVRIT1IKLVN2ZW5kIFNvcmVuc2Vu
Ci0uCitDdWV0b29scyB3YXMgd3JpdHRlbiBieSBTdmVuZCBTb3JlbnNlbi4KK0JyYW5kZW4gUm9i
aW5zb24gY29udHJpYnV0ZWQgZml4ZXMgYW5kIGVuaGFuY2VtZW50cyB0byB0aGUgdXRpbGl0aWVz
IGFuZAorZG9jdW1lbnRhdGlvbi4KIC5TSCAiU0VFIEFMU08iCi1jdWVicmVha3BvaW50cygxKSwK
LWN1ZXByaW50KDEpCisuQlIgY3VlYnJlYWtwb2ludHMgKDEpLAorLkJSIGN1ZXByaW50ICgxKQpk
aWZmIC11ck4gY3VldG9vbHMtMS4zLU9GRklDSUFML2RvYy9jdWVwcmludC4xIGN1ZXRvb2xzLTEu
My9kb2MvY3VlcHJpbnQuMQotLS0gY3VldG9vbHMtMS4zLU9GRklDSUFML2RvYy9jdWVwcmludC4x
CTIwMDUtMDMtMjIgMDM6MTU6MjUuMDAwMDAwMDAwIC0wNTAwCisrKyBjdWV0b29scy0xLjMvZG9j
L2N1ZXByaW50LjEJMjAwNS0wOC0yMyAxOToyODowOS4wMDAwMDAwMDAgLTA1MDAKQEAgLTEsMTk4
ICsxLDE4NiBAQAotLlRIIGN1ZXRvb2xzIDEKLS4KKy5USCBjdWVwcmludCAxIDIwMDUtMDgtMjMg
IkN1ZXRvb2xzIDEuMyIKIC5TSCBOQU1FCi1jdWVwcmludAotLgotLlNIIERFU0NSSVBUSU9OCi1j
dWVwcmludCBcLSBwcmludCBkaXNjIGFuZCB0cmFjayBpbmZvbWF0aW9uIGZvciBhIGN1ZSBvciB0
b2MgZmlsZQotLgorY3VlcHJpbnQgXC0gcmVwb3J0IGRpc2MgYW5kIHRyYWNrIGluZm9tYXRpb24g
ZnJvbSBhIENVRSBvciBUT0MgZmlsZQogLlNIIFNZTk9QU0lTCiAuQiBjdWVwcmludAotW29wdGlv
bi4uLl0gW2ZpbGUuLi5dCi0uCi0uU0ggT1BUSU9OUwotLlRQCi0uQiBcLWgsIFwtLWhlbHAKLXBy
aW50IHVzYWdlIGluZm9ybWF0aW9uCi0uCi0uVFAKLS5CIFwtaSwgXC0taW5wdXQtZm9ybWF0IGN1
ZXx0b2MKLXNldCBmb3JtYXQgb2YgZmlsZShzKQotLgotLlRQCi0uQiBcLW4sIFwtLXRyYWNrLW51
bWJlciA8bnVtYmVyPgotb25seSBwcmludCB0cmFjayBpbmZvcm1hdGlvbiBmb3Igc2luZ2xlIHRy
YWNrLiAgVGhlIGRlZmF1bHQgaXMgdG8gcHJpbnQgaW5mb3JtYXRpb24gZm9yIGFsbCB0cmFja3Mu
Ci0uCi0uVFAKLS5CIFwtZCwgXC0tZGlzYy10ZW1wbGF0ZSA8dGVtcGxhdGU+Ci1zZXQgZGlzYyB0
ZW1wbGF0ZSAoc2VlIFRFTVBMQVRFIEVYUEFOU0lPTikKLS4KLS5UUAotLkIgXC10LCBcLS10cmFj
ay10ZW1wbGF0ZSA8dGVtcGxhdGU+Ci1zZXQgdHJhY2sgdGVtcGxhdGUgKHNlZSBURU1QTEFURSBF
WFBBTlNJT04pCi0uCi0uU0ggVEVNUExBVEUgRVhQQU5TSU9OCi1BbGwgY2hhcmFjdGVycyBpbiB0
aGUgdGVtcGxhdGUgYXJlIHJlcHJvZHVjZWQgaW4gdGhlIG91dHB1dCBleGNlcHQgZm9yIGNvbnZl
cnNpb25zLCB3aGljaCBiZWdpbiB3aXRoIGAlJy4KLS5QUAotQSBjb252ZXJzaW9uIGhhcyB0aGUg
Zm9ybSBgJVtmbGFnc11bd2lkdGhdWy5wcmVjaXNpb25dPGNvbnZlcnNpb25cLWNoYXI+Jy4KLS5Q
UAotVGhlcmUgbWF5IGJlIHplcm8gb3IgbW9yZSBvZiB0aGUgZm9sbG93aW5nIGZsYWdzOgotLgot
LlRQCi0uQiBcLQotbGVmdCBqdXN0aWZpY2F0aW9uCi0uCi0uVFAKLS5CICsKLXBsYWNlIHNpZ24g
YmVmb3JlIG51bWJlcnMKLS4KLS5UUAotLkIgYCAnCi0oc3BhY2UpIHBsYWNlIGEgc3BhY2UgYmVm
b3JlIGEgcG9zaXRpdmUgbnVtYmVyCi0uCi0uVFAKLS5CIDAKLXBhZCB3aXRoIHplcm9zCi0uCi0u
VFAKLS5CICMKLSh1bnVzZWQpCi0uCi0uUFAKLXdpZHRoIGlzIHRoZSBtaW5pbXVtIGZpZWxkIHdp
ZHRoLiAgcHJlY2lzaW9uIGlzIHRoZSBtYXhpbXVtIHdpZHRoIGZvciBzdHJpbmdzLgotLlBQCi1E
aXNjIHRlbXBsYXRlIGV4cGFuc2lvbiBjaGFyYWN0ZXJzIGFyZSB2YWxpZCBmb3IgYm90aCB0aGUg
ZGlzYyBhbmQgdHJhY2sgdGVtcGxhdGVzLgorWyB7CisuQiBcLWkKKy5JIGZvcm1hdAorfAorLkJS
IFwtXC1pbnB1dFwtZm9ybWF0ID1cZklmb3JtYXRcZlAKK30geworLkIgXC1uCisuSSBudW1iZXIK
K3wKKy5CUiBcLVwtdHJhY2tcLW51bWJlciA9XGZJbnVtYmVyXGZQCit9IHsKKy5CIFwtZAorLkkg
dGVtcGxhdGUKK3wKKy5CUiBcLVwtZGlzY1wtdGVtcGxhdGUgPVxmSXRlbXBsYXRlXGZQCit9IHsK
Ky5CIFwtdAorLkkgdGVtcGxhdGUKK3wKKy5CUiBcLVwtdHJhY2tcLXRlbXBsYXRlID1cZkl0ZW1w
bGF0ZVxmUAorfSBdCitbCisuSSBmaWxlCitcJi4uLiBdCisuYnIKKy5CIGN1ZXByaW50IFwtXC1o
ZWxwCisuU0ggREVTQ1JJUFRJT04KKy5CIGN1ZXByaW50CityZXBvcnRzIGRpc2MgYW5kIHRyYWNr
IGluZm9ybWF0aW9uIGZyb20gQ1VFIGFuZCBUT0MgZmlsZXMsIHdoaWNoIGFyZQordHlwaWNhbGx5
IGNyZWF0ZWQgYnkgY29tcGFjdCBkaXNjIHJpcHBpbmcgc29mdHdhcmUuCiAuUFAKLS5CIERpc2Mg
Q29udmVyc2lvbiBTcGVjaWZpZXJzCi0uCi0uVFAKLS5CIEEKLWFsYnVtIGFycmFuZ2VyCi0uCi0u
VFAKLS5CIEMKLWFsYnVtIGNvbXBvc2VyCi0uCi0uVFAKLS5CIEcKLWFsYnVtIGdlbnJlCi0uCi0u
VFAKLS5CIE0KLWFsYnVtIG1lc3NhZ2UKLS4KLS5UUAotLkIgTgotbnVtYmVyIG9mIHRyYWNrcwot
LgotLlRQCi0uQiBQCi1hbGJ1bSBwZXJmb3JtZXIKLS4KLS5UUAotLkIgUwotYWxidW0gc29uZ3dy
aXRlcgotLgotLlRQCi0uQiBUCi1hbGJ1bSB0aXRsZQotLgotLlRQCi0uQiBVCi1hbGJ1bSBVUEMv
RUFOCi0uCitCeSBkZWZhdWx0LAorLkIgY3VlcHJpbnQKK3JlcG9ydHMgYSBkZWZhdWx0IHNldCBv
ZiBkaXNjIGluZm9ybWF0aW9uLCBhbmQgYSBkZWZhdWx0IHNldCBvZiBpbmZvcm1hdGlvbgorZm9y
IGVhY2ggdHJhY2sgb24gdGhlIGRpc2MuCitXaXRoIG9wdGlvbnMsIHRoZSByZXBvcnQgY2FuIGJl
IHJlc3RyaWN0ZWQgdG8gYSBzcGVjaWZpYyB0cmFjaywgYW5kIHRoZQorcHJlc2VudGF0aW9uIG9m
IHRoZSBkaXNjIGFuZCB0cmFjayBpbmZvcm1hdGlvbiBjYW4gYmUgZXh0ZW5zaXZlbHkKK2N1c3Rv
bWl6ZWQgdXNpbmcKKy5CUiBwcmludGYgKDMpLXN0eWxlCitmb3JtYXQgc3RyaW5ncyAocmVmZXJy
ZWQgdG8gaGVyZSBhcyBcKG9xdGVtcGxhdGVzXChjcSB0byBhdm9pZCBjb25mdXNpb24KK3dpdGgg
dGhlIGNvbmNlcHQgb2YgZmlsZSBmb3JtYXQpLgorQWxsIGNoYXJhY3RlcnMgaW4gYSB0ZW1wbGF0
ZSBhcmUgcmVwcm9kdWNlZCBhcy1pcyBpbiB0aGUgb3V0cHV0IGV4Y2VwdCBmb3IKK2NvbnZlcnNp
b25zICh3aGljaCBiZWdpbiB3aXRoCisuUkIgXChvcSAlIFwoY3EpCithbmQgZXNjYXBlcyAod2hp
Y2ggYmVnaW4gd2l0aAorLlJCIFwob3EgXGUgXChjcSkuCiAuUFAKLS5CIFRyYWNrIENvbnZlcnNp
b24gU3BlY2lmaWVycwotLgotLlRQCi0uQiBhCi10cmFjayBhcnJhbmdlcgotLgotLlRQCi0uQiBj
Ci10cmFjayBjb21wb3NlcgotLgotLlRQCi0uQiBnCi10cmFjayBnZW5yZQotLgotLlRQCi0uQiBp
Ci10cmFjayBJU1JDCi0uCi0uVFAKLS5CIG0KLXRyYWNrIG1lc3NhZ2UKLS4KLS5UUAotLkIgbgot
dHJhY2sgbnVtYmVyCi0uCi0uVFAKLS5CIHAKLXRyYWNrIHBlcmZvbWVyCi0uCi0uVFAKLS5CIHQK
LXRyYWNrIHRpdGxlCi0uCi0uVFAKLS5CIHUKLXRyYWNrIElTUkMgKENELVRFWFQpCi0uCi0uUFAK
LUFueSBvdGhlciBjaGFyYWN0ZXIgaXMgZXhwYW5kZWQgdG8gdGhhdCBjaGFyYWN0ZXIuICBGb3Ig
ZXhhbXBsZSwgYSAlIGV4cGFuZHMgdG8gYSBsaXRlcmFsIGAlJy4KLS4KLS5TSCBFU0NBUEVTCi1U
aGUgZm9sbG93aW5nIHNpbmdsZS1jaGFyYWN0ZXIgZXNjYXBlcyBhcmUgcmVjb2duaXplZDoKLS4K
LS5UUAotLkIgXGVhCi1hbGVydCAoYmVsbCkKLS4KLS5UUAotLkIgXGViCi1iYWNrc3BhY2UKLS4K
LS5UUAotLkIgXGVmCi1mb3JtZmVlZAotLgotLlRQCi0uQiBcZW4KLW5ld2xpbmUKLS4KK0lmIG5v
IGZpbGVuYW1lcyBhcmUgc3BlY2lmaWVkLAorLkIgY3VlcHJpbnQKK3JlYWRzIGZyb20gc3RhbmRh
cmQgaW5wdXQsIGFuZCBhbiBpbnB1dCBmb3JtYXQgb3B0aW9uCisuSSBtdXN0CitiZSBzcGVjaWZp
ZWQuCitJZiBvbmUgb3IgbW9yZSBmaWxlbmFtZXMgaXMgcHJvdmlkZWQsIGJ1dCB0aGUgaW5wdXQg
Zm9ybWF0IG9wdGlvbiBpcyBub3QKK3NwZWNpZmllZCwgdGhlIGlucHV0IGZvcm1hdCB3aWxsIGJl
IGd1ZXNzZWQgYmFzZWQgb24gZWFjaCBmaWxlJ3Mgc3VmZml4CisoZS5nLiwKKy5JIC5jdWUKK29y
CisuSVIgLnRvYyApLgorVGhpcyBoZXVyaXN0aWMgaXMgY2FzZS1pbnNlbnNpdGl2ZS4KKy5TUyBD
b252ZXJzaW9ucworQSBjb252ZXJzaW9uIGhhcyB0aGUgZm9ybQorLlJCIFwob3EgJSBbIFxmSWZs
YWdzXGZQIF1bIFxmSXdpZHRoXGZQIF1bIC5cZklwcmVjaXNpb25cZlAgXSBcZkl0eXBlXGZQIFwo
Y3EuCisuUFAKKy5JIGZsYWdzCittYXkgYmUgemVybyBvciBtb3JlIG9mIHRoZSBmb2xsb3dpbmc6
CisuVFMKK25va2VlcDsKK2wJbC4KK0NoYXJhY3RlcglNZWFuaW5nCitfCitcLQlsZWZ0LWp1c3Rp
ZnkgZXhwYW5zaW9uCisrCXBsYWNlIHNpZ24gYmVmb3JlIG51bWJlcnMKK1wob3EgXChjcSAoc3Bh
Y2UpCXBsYWNlIGEgYmxhbmsgc3BhY2UgYmVmb3JlIGEgcG9zaXRpdmUgbnVtYmVyCiswCXBhZCBu
dW1iZXJzIHdpdGggemVyb2VzCisuVEUKKy5cIiMJKHVudXNlZCkKKy5QUAorLkkgd2lkdGgKK2lz
IHRoZSBtaW5pbXVtIGZpZWxkIHdpZHRoLgorLkkgcHJlY2lzaW9uCitpcyB0aGUgbWF4aW11bSB3
aWR0aCBmb3Igc3RyaW5ncy4KKy5JIHR5cGUKK2lzIGEgc2luZ2xlIGNoYXJhY3RlciB3aGljaCBz
cGVjaWZpZXMgdGhlIGNvbnZlcnNpb24gdHlwZSBcKGVtIGFwYXJ0IGZyb20KKy5CUiAlICwKK2l0
IGlzIHRoZSBvbmx5IG1hbmRhdG9yeSBwYXJ0IG9mIHRoZSBjb252ZXJzaW9uLgorLlBQCitUaGUg
YXZhaWxhYmxlIGNvbnZlcnNpb24gdHlwZXMgYXJlIHByZXNlbnRlZCBpbiB0aGUgdGFibGUgYmVs
b3c7IGRpc2MKK2NvbnZlcnNpb24gdHlwZXMgYXJlIHByZXNlbnRlZCBpbiB0aGUgbGVmdCBoYWxm
IG9mIHRoZSB0YWJsZSwgYW5kIHRyYWNrCitjb252ZXJzaW9uIHR5cGVzIGluIHRoZSByaWdodCBo
YWxmLgorRGlzYyB0ZW1wbGF0ZSBleHBhbnNpb24gY2hhcmFjdGVycyBhcmUgdmFsaWQgZm9yIGJv
dGggZGlzYyBhbmQgdHJhY2sKK3RlbXBsYXRlcy4KKy5UUworbm9rZWVwOworbAlsCWwJbC4KK0No
YXJhY3RlcglDb252ZXJzaW9uCUNoYXJhY3RlcglDb252ZXJzaW9uCitfCitBCWFsYnVtIGFycmFu
Z2VyCWEJdHJhY2sgYXJyYW5nZXIKK0MJYWxidW0gY29tcG9zZXIJYwl0cmFjayBjb21wb3Nlcgor
RwlhbGJ1bSBnZW5yZQlnCXRyYWNrIGdlbnJlCisJCWkJdHJhY2sgSVNSQworTQlhbGJ1bSBtZXNz
YWdlCW0JdHJhY2sgbWVzc2FnZQorTgludW1iZXIgb2YgdHJhY2tzCW4JdHJhY2sgbnVtYmVyCitQ
CWFsYnVtIHBlcmZvcm1lcglwCXRyYWNrIHBlcmZvcm1lcgorUwlhbGJ1bSBzb25nd3JpdGVyCitU
CWFsYnVtIHRpdGxlCXQJdHJhY2sgdGl0bGUKK1UJYWxidW0gVVBDL0VBTgl1CXRyYWNrIElTUkMg
KENELVRFWFQpCisuVEUKKy5QUAorQW55IG90aGVyIGNoYXJhY3RlciB1c2VkIGFzIGEgY29udmVy
c2lvbiB0eXBlIGV4cGFuZHMgdG8gaXRzZWxmLgorVGhpcyBpcyBob3cgYSBsaXRlcmFsIHBlcmNl
bnQgc2lnbiBpcyBwbGFjZWQgaW4gdGhlIHRlbXBsYXRlOyBpLmUuLAorLlJCIFwob3EgJSUgXChj
cQorZXhwYW5kcyB0bworLlJCIFwob3EgJSBcKGNxLgorLlNTIEVzY2FwZXMKK1RoZSByZWNvZ25p
emVkIGVzY2FwZXMgYXJlIGFsbCBzaW5nbGUgY2hhcmFjdGVycywgYW5kIGxpc3RlZCBpbiB0aGUg
dGFibGUKK2JlbG93LgorLlRTCitub2tlZXA7CitsCWwuCitFc2NhcGUgU2VxdWVuY2UJRXhwYW5z
aW9uCitfCitcZWEJYWxlcnQgKGJlbGwpCitcZWIJYmFja3NwYWNlCitcZWYJZm9ybWZlZWQKK1xl
bgluZXdsaW5lCitcZXIJY2FycmlhZ2UgcmV0dXJuCitcZXQJaG9yaXpvbnRhbCB0YWIKK1xldgl2
ZXJ0aWNhbCB0YWIKK1xlMAludWxsCisuVEUKKy5QUAorQW55IG90aGVyIGNoYXJhY3RlciB1c2Vk
IGFmdGVyIHRoZQorLlJCIFwob3EgXGUgXChjcQoraW4gYW4gZXNjYXBlIHNlcXVlbmNlIGV4cGFu
ZHMgdG8gaXRzZWxmLgorVGhpcyBpcyBob3cgYSBsaXRlcmFsIGVzY2FwZSBjaGFyYWN0ZXIgaXMg
cGxhY2VkIGluIHRoZSB0ZW1wbGF0ZTsgaS5lLiwKKy5SQiBcKG9xIFxlXGUgXChjcQorZXhwYW5k
cyB0bworLlJCIFwob3EgXGUgXChjcS4KKy5TSCBPUFRJT05TCiAuVFAKLS5CIFxlcgotY2Fycmlh
Z2UgcmV0dXJuCi0uCisuQlIgXC1kICIgXGZJdGVtcGxhdGVcZlAsICIgXC1cLWRpc2NcLXRlbXBs
YXRlPVxmSXRlbXBsYXRlXGZQCitzZXQgZGlzYyB0ZW1wbGF0ZSAoc2VlIFRFTVBMQVRFIEVYUEFO
U0lPTikKIC5UUAotLkIgXGV0Ci1ob3Jpem9udGFsIHRhYgotLgorLkJSIFwtaCAiLCAiIFwtXC1o
ZWxwCitkaXNwbGF5cyBhIHVzYWdlIG1lc3NhZ2UgYW5kIGV4aXRzLgogLlRQCi0uQiBcZXYKLXZl
cnRpYWwgdGFiCi0uCisuQlIgXC1pICIgXGZJZm9ybWF0XGZQLCAiIFwtXC1pbnB1dFwtZm9ybWF0
PVxmSWZvcm1hdFxmUAorc2V0cyB0aGUgZXhwZWN0ZWQgZm9ybWF0IG9mIHRoZSBpbnB1dCBmaWxl
KHMpIHRvCisuSVIgZm9ybWF0ICwKK3doaWNoIG11c3QgYmUgZWl0aGVyCisuQiBjdWUKK29yCisu
QlIgdG9jIC4KKy5UUAorLkJSIFwtbiAiIFxmSW51bWJlclxmUCwgIiBcLVwtdHJhY2tcLW51bWJl
cj1cZkludW1iZXJcZlAKK29ubHkgcHJpbnQgdHJhY2sgaW5mb3JtYXRpb24gZm9yIGEgc2luZ2xl
IHRyYWNrLgorVGhlIGRlZmF1bHQgaXMgdG8gcHJpbnQgaW5mb3JtYXRpb24gZm9yIGFsbCB0cmFj
a3MuCiAuVFAKLS5CIFxlMAotTlVMTAotLgotLlNIIE5PVEVTCi1JZiBubyBmaWxlcyBhcmUgc3Bl
Y2lmaWVkLCBzdGRpbiBpcyB1c2VkLiAgSWYgYSBmaWxlbmFtZSBpcyBzcGVjaWZpZWQgYW5kIHRo
ZSBmb3JtYXQgaXMgbm90IHNwZWNpZmllZCwgdGhlIGZvcm1hdCB3aWxsIGJlIHNldCBiYXNlZCBv
biBhICIuY3VlIiBvciAiLnRvYyIgc3VmZml4LgotLgorLkJSIFwtdCAiIFxmSXRlbXBsYXRlXGZQ
LCAiIFwtXC10cmFja1wtdGVtcGxhdGU9XGZJdGVtcGxhdGVcZlAKK3NldCB0cmFjayB0ZW1wbGF0
ZSAoc2VlIFRFTVBMQVRFIEVYUEFOU0lPTikKKy5TSCAiRVhJVCBTVEFUVVMiCisuQiBjdWVwcmlu
dAorZXhpdHMgd2l0aCBzdGF0dXMgemVybyBpZiBpdCBzdWNjZXNzZnVsbHkgcmVwb3J0cyBpbmZv
cm1hdGlvbiBmcm9tIGVhY2gKK2lucHV0IGZpbGUsIGFuZCBub256ZXJvIGlmIHRoZXJlIHdlcmUg
cHJvYmxlbXMuCiAuU0ggRVhBTVBMRVMKLVRvIGRpc3BsYXkgZGlzYyBhbmQgdHJhY2sgaW5mb3Jt
YXRpb24gKHVzaW5nIHRoZSBkZWZhdWx0IHRlbXBsYXRlIGZvciBib3RoKSwgcnVuOgorVG8gZGlz
cGxheSBkaXNjIGFuZCB0cmFjayBpbmZvcm1hdGlvbiAodXNpbmcgdGhlIGRlZmF1bHQgdGVtcGxh
dGUgZm9yCitib3RoKToKIC5QUAotJSBjdWVwcmludCBhbGJ1bS5jdWUKKy5SQiAiJSAiICJjdWVw
cmludCBhbGJ1bS5jdWUiCiAuUFAKLVRvIHByaW50IHRoZSBudW1iZXIgb2YgdHJhY2tzIGluIGEg
Y3VlIGZpbGUsIHJ1bjoKK1RvIHByaW50IHRoZSBudW1iZXIgb2YgdHJhY2tzIGluIGEgQ1VFIGZp
bGU6CiAuUFAKLSUgY3VlcHJpbnQgLWQgJyVOXGVuJyBhbGJ1bS5jdWUKLS4KKy5SQiAiJSAiICJj
dWVwcmludCAtZCBcKGFxJU5cZW5cKGFxIGFsYnVtLmN1ZSIKIC5TSCBBVVRIT1IKLVN2ZW5kIFNv
cmVuc2VuCi0uCitDdWV0b29scyB3YXMgd3JpdHRlbiBieSBTdmVuZCBTb3JlbnNlbi4KK0JyYW5k
ZW4gUm9iaW5zb24gY29udHJpYnV0ZWQgZml4ZXMgYW5kIGVuaGFuY2VtZW50cyB0byB0aGUgdXRp
bGl0aWVzIGFuZAorZG9jdW1lbnRhdGlvbi4KIC5TSCAiU0VFIEFMU08iCi1jdWVjb252ZXJ0KDEp
LAotY3VlYnJlYWtwb2ludHMoMSkKKy5CUiBjdWVicmVha3BvaW50cyAoMSksCisuQlIgY3VlY29u
dmVydCAoMSksCisuQlIgcHJpbnRmKDMpCmRpZmYgLXVyTiBjdWV0b29scy0xLjMtT0ZGSUNJQUwv
c3JjL3Rvb2xzL2N1ZWJyZWFrcG9pbnRzLmMgY3VldG9vbHMtMS4zL3NyYy90b29scy9jdWVicmVh
a3BvaW50cy5jCi0tLSBjdWV0b29scy0xLjMtT0ZGSUNJQUwvc3JjL3Rvb2xzL2N1ZWJyZWFrcG9p
bnRzLmMJMjAwNS0wMy0yMiAwMzoxNToyNS4wMDAwMDAwMDAgLTA1MDAKKysrIGN1ZXRvb2xzLTEu
My9zcmMvdG9vbHMvY3VlYnJlYWtwb2ludHMuYwkyMDA1LTA4LTIzIDE1OjU3OjIxLjAwMDAwMDAw
MCAtMDUwMApAQCAtMywxOCArMywyMSBAQAogICoKICAqIENvcHlyaWdodCAoQykgMjAwNCBTdmVu
ZCBTb3JlbnNlbgogICogRm9yIGxpY2Vuc2UgdGVybXMsIHNlZSB0aGUgZmlsZSBDT1BZSU5HIGlu
IHRoaXMgZGlzdHJpYnV0aW9uLgorICoKKyAqIE1vZGlmaWVkIDIwMDUtMDgtMjMgYnkgQnJhbmRl
biBSb2JpbnNvbi4KICAqLwogCi0jaW5jbHVkZSA8c3RkaW8uaD4KLSNpbmNsdWRlIDxzdGRsaWIu
aD4KLSNpbmNsdWRlIDxzdHJpbmcuaD4KLSNpbmNsdWRlIDxnZXRvcHQuaD4KKyNpbmNsdWRlIDxn
ZXRvcHQuaD4JLyogZ2V0b3B0X2xvbmcoKSAqLworI2luY2x1ZGUgPHN0ZGlvLmg+CS8qIGZwcmlu
dGYoKSwgcHJpbnRmKCksIHNucHJpbnRmKCksIHN0ZGVyciAqLworI2luY2x1ZGUgPHN0ZGxpYi5o
PgkvKiBleGl0KCkgKi8KKyNpbmNsdWRlIDxzdHJpbmcuaD4JLyogc3RyY2FzZWNtcCgpICovCiAj
aW5jbHVkZSAiY3VlZmlsZS5oIgogI2luY2x1ZGUgInRpbWUuaCIKIAogY2hhciAqcHJvZ25hbWU7
CiAKLS8qIHByZWdhcCBjb3JyZWN0aW9uIG1vZGVzCisvKgorICogcHJlZ2FwIGNvcnJlY3Rpb24g
bW9kZXM6CiAgKiBBUFBFTkQgLSBhcHBlbmQgcHJlZ2FwIHRvIHByZXZpb3VzIHRyYWNrIChleGNl
cHQgZm9yIGZpcnN0IHRyYWNrKQogICogUFJFUEVORCAtIHByZWZpeCBwcmVnYXAgdG8gY3VycmVu
dCB0cmFjawogICogU1BMSVQgLSBwcmludCBicmVha3BvaW50cyBmb3IgYmVnaW5uaW5nIGFuZCBl
bmQgb2YgcHJlZ2FwCkBAIC0yMywyMiArMjYsMzYgQEAKIAogdm9pZCB1c2FnZSAoaW50IHN0YXR1
cykKIHsKKwljaGFyIHN5bm9wc2lzWzEwMjRdOworCisJLyogVE9ETzogV2UgY291bGQgdXNlIGFz
cHJpbnRmKCkgaWYgd2Uga25vdyB3ZSdyZSB1c2luZyBHTlUgbGliYy4gKi8KKwlzbnByaW50Zihz
eW5vcHNpcywgMTAyMywgInVzYWdlOiAlcyBbb3B0aW9uIC4uLl0gW2ZpbGUgLi4uXVxuIiwKKwkJ
IHByb2duYW1lKTsKKwogCWlmICgwID09IHN0YXR1cykgewotCQlmcHJpbnRmKHN0ZG91dCwgIiVz
OiB1c2FnZTogY3VlYnJlYWtwb2ludHMgW29wdGlvbi4uLl0gW2ZpbGUuLi5dXG4iLCBwcm9nbmFt
ZSk7Ci0JCWZwdXRzKCJcCi1cblwKLU9QVElPTlNcblwKLS1oLCAtLWhlbHAJCQlwcmludCB1c2Fn
ZVxuXAotLWksIC0taW5wdXQtZm9ybWF0IGN1ZXx0b2MJc2V0IGZvcm1hdCBvZiBmaWxlKHMpXG5c
Ci0tLWFwcGVuZC1nYXBzCQkJYXBwZW5kIHByZWdhcHMgdG8gcHJldmlvdXMgdHJhY2sgKGRlZmF1
bHQpXG5cCi0tLXByZXBlbmQtZ2FwcwkJCXByZWZpeCBwcmVnYXBzIHRvIHRyYWNrXG5cCi0tLXNw
bGl0LWdhcHMJCQlzcGxpdCBhdCBiZWdpbm5pbmcgYW5kIGVuZCBvZiBwcmVnYXBzXG5cCi0iLCBz
dGRvdXQpOworCQlwcmludGYoIiVzIiwgc3lub3BzaXMpOworCQlwcmludGYoIlJlcG9ydCB0cmFj
ayBicmVha3BvaW50cyBmcm9tIGEgQ1VFIG9yIFRPQyBmaWxlLlxuIgorCQkgICAgICAgIlxuIgor
CQkgICAgICAgIk9wdGlvbnM6XG4iCisJCSAgICAgICAiLWgsIC0taGVscFx0XHRcdFx0ZGlzcGxh
eSB0aGlzIG1lc3NhZ2UgYW5kIGV4aXRcbiIKKwkJICAgICAgICItaSB7Y3VlfHRvY30sIC0taW5w
dXQtZm9ybWF0PXtjdWV8dG9jfVx0c2V0IGZvcm1hdCBvZiIKKwkJICAgICAgICIgaW5wdXQgZmls
ZShzKVxuIgorCQkgICAgICAgIi0tYXBwZW5kLWdhcHNcdFx0XHRcdGFwcGVuZCBwcmVnYXBzIHRv
IHByZXZpb3VzIHRyYWNrXG4iCisJCSAgICAgICAiLS1wcmVwZW5kLWdhcHNcdFx0XHRcdHByZWZp
eCBwcmVnYXBzIHRvIHRyYWNrXG4iCisJCSAgICAgICAiLS1zcGxpdC1nYXBzXHRcdFx0XHRzcGxp
dCBhdCBiZWdpbm5pbmcgYW5kIGVuZCBvZiIKKwkJICAgICAgICIgcHJlZ2Fwc1xuIgorCQkgICAg
ICAgIlxuIgorCQkgICAgICAgIlRoZSBkZWZhdWx0IGhhbmRsaW5nIG9mIGdhcHMgaXMgYXMgaWYg
LS1hcHBlbmQtZ2FwcyIKKwkJICAgICAgICIgd2VyZSBzcGVjaWZpZWQuXG4iCisJCSAgICAgICAi
XG4iCisJCSAgICAgICAiU2VlIHRoZSAlcygxKSBtYW51YWwgcGFnZSBmb3IgbW9yZSBpbmZvcm1h
dGlvbi5cbiIsCisJCSAgICAgICBwcm9nbmFtZSk7CiAJfSBlbHNlIHsKLQkJZnByaW50ZihzdGRl
cnIsICJydW4gYCVzIC0taGVscCcgZm9yIHVzYWdlXG4iLCBwcm9nbmFtZSk7CisJCWZwcmludGYo
c3RkZXJyLCAiJXNSdW4gXCIlcyAtLWhlbHBcIiBmb3IgbW9yZSBpbmZvcm1hdGlvbi5cbiIsCisJ
CQlzeW5vcHNpcywgcHJvZ25hbWUpOwogCX0KIAotCWV4aXQgKHN0YXR1cyk7CisJZXhpdChzdGF0
dXMpOwogfQogCiB2b2lkIHByaW50X21fc3NfZmYgKGxvbmcgZnJhbWUpCkBAIC00Niw3ICs2Myw3
IEBACiAJaW50IG0sIHMsIGY7CiAKIAl0aW1lX2ZyYW1lX3RvX21zZihmcmFtZSwgJm0sICZzLCAm
Zik7Ci0JcHJpbnRmICgiJWQ6JTAyZC4lMDJkXG4iLCBtLCBzLCBmKTsKKwlwcmludGYoIiVkOiUw
MmQuJTAyZFxuIiwgbSwgcywgZik7CiB9CiAKIHZvaWQgcHJpbnRfYnJlYWtwb2ludCAobG9uZyBi
KQpAQCAtNjQsNyArODEsOCBAQAogCiAJZm9yIChpID0gMTsgaSA8PSBjZF9nZXRfbnRyYWNrKGNk
KTsgaSsrKSB7CiAJCXRyYWNrID0gY2RfZ2V0X3RyYWNrKGNkLCBpKTsKLQkJLyogd2hlbiBicmVh
a3BvaW50IGlzIGF0OgorCQkvKgorCQkgKiB3aGVuIGJyZWFrcG9pbnQgaXMgYXQ6CiAJCSAqIGlu
ZGV4IDA6IGdhcCBpcyBwcmVwZW5kZWQgdG8gdHJhY2sKIAkJICogaW5kZXggMTogZ2FwIGlzIGFw
cGVuZGVkIHRvIHByZXZpb3VzIHRyYWNrCiAJCSAqLwpAQCAtOTIsNyArMTEwLDggQEAKIAlDZCAq
Y2QgPSBOVUxMOwogCiAJaWYgKE5VTEwgPT0gKGNkID0gY2ZfcGFyc2UobmFtZSwgJmZvcm1hdCkp
KSB7Ci0JCWZwcmludGYoc3RkZXJyLCAiJXM6IGlucHV0IGZpbGUgZXJyb3JcbiIsIG5hbWUpOwor
CQlmcHJpbnRmKHN0ZGVyciwgIiVzOiBlcnJvcjogdW5hYmxlIHRvIHBhcnNlIGlucHV0IGZpbGUi
CisJCQkiIFwiJXNcIlxuIiwgcHJvZ25hbWUsIG5hbWUpOwogCQlyZXR1cm4gLTE7CiAJfQogCkBA
IC0xMDUsOSArMTI0LDEwIEBACiB7CiAJaW50IGZvcm1hdCA9IFVOS05PV047CiAJaW50IGdhcHMg
PSBBUFBFTkQ7CisJaW50IHJldCA9IDA7CQkvKiByZXR1cm4gdmFsdWUgb2YgYnJlYWtzKCkgKi8K
IAogCS8qIG9wdGlvbiB2YXJpYWJsZXMgKi8KLQljaGFyIGM7CisJaW50IGM7CiAJLyogZ2V0b3B0
X2xvbmcoKSB2YXJpYWJsZXMgKi8KIAlleHRlcm4gY2hhciAqb3B0YXJnOwogCWV4dGVybiBpbnQg
b3B0aW5kOwpAQCAtMTIxLDcgKzE0MSw3IEBACiAJCXtOVUxMLCAwLCBOVUxMLCAwfQogCX07CiAK
LQlwcm9nbmFtZSA9ICphcmd2OworCXByb2duYW1lID0gYXJndlswXTsKIAogCXdoaWxlICgtMSAh
PSAoYyA9IGdldG9wdF9sb25nKGFyZ2MsIGFyZ3YsICJoaToiLCBsb25nb3B0cywgTlVMTCkpKSB7
CiAJCXN3aXRjaCAoYykgewpAQCAtMTI5LDE0ICsxNDksMTUgQEAKIAkJCXVzYWdlKDApOwogCQkJ
YnJlYWs7CiAJCWNhc2UgJ2knOgotCQkJaWYgKDAgPT0gc3RyY21wKCJjdWUiLCBvcHRhcmcpKSB7
CisJCQlpZiAoMCA9PSBzdHJjYXNlY21wKCJjdWUiLCBvcHRhcmcpKSB7CiAJCQkJZm9ybWF0ID0g
Q1VFOwotCQkJfSBlbHNlIGlmICgwID09IHN0cmNtcCgidG9jIiwgb3B0YXJnKSkgeworCQkJfSBl
bHNlIGlmICgwID09IHN0cmNhc2VjbXAoInRvYyIsIG9wdGFyZykpIHsKIAkJCQlmb3JtYXQgPSBU
T0M7CiAJCQl9IGVsc2UgewotCQkJCWZwcmludGYoc3RkZXJyLCAiJXM6IGlsbGVnYWwgZm9ybWF0
IGAlcydcbiIsIHByb2duYW1lLCBvcHRhcmcpOworCQkJCWZwcmludGYoc3RkZXJyLCAiJXM6IGVy
cm9yOiB1bmtub3duIGlucHV0IGZpbGUiCisJCQkJCSIgZm9ybWF0IFwiJXNcIlxuIiwgcHJvZ25h
bWUsIG9wdGFyZyk7CiAJCQkJdXNhZ2UoMSk7CiAJCQl9CiAJCQlicmVhazsKIAkJY2FzZSAnYSc6
CiAJCQlnYXBzID0gQVBQRU5EOwpAQCAtMTUyLDEyICsxNzMsMTkgQEAKIAkJfQogCX0KIAorCS8q
IFdoYXQgd2UgZG8gZGVwZW5kcyBvbiB0aGUgbnVtYmVyIG9mIG9wZXJhbmRzLiAqLwogCWlmIChv
cHRpbmQgPT0gYXJnYykgewotCQlicmVha3MoIi0iLCBmb3JtYXQsIGdhcHMpOworCQkvKiBObyBv
cGVyYW5kczogcmVwb3J0IGJyZWFrcG9pbnRzIG9mIHN0ZGluLiAqLworCQlyZXQgPSBicmVha3Mo
Ii0iLCBmb3JtYXQsIGdhcHMpOwogCX0gZWxzZSB7Ci0JCWZvciAoOyBvcHRpbmQgPCBhcmdjOyBv
cHRpbmQrKykKLQkJCWJyZWFrcyhhcmd2W29wdGluZF0sIGZvcm1hdCwgZ2Fwcyk7CisJCS8qIFJl
cG9ydCB0cmFjayBicmVha3BvaW50cyBmb3IgZWFjaCBvcGVyYW5kLiAqLworCQlmb3IgKDsgb3B0
aW5kIDwgYXJnYzsgb3B0aW5kKyspIHsKKwkJCXJldCA9IGJyZWFrcyhhcmd2W29wdGluZF0sIGZv
cm1hdCwgZ2Fwcyk7CisJCQkvKiBCYWlsIG91dCBpZiBicmVha3MoKSByZXR1cm5zIG5vbnplcm8u
ICovCisJCQlpZiAoIXJldCkKKwkJCQlicmVhazsKKwkJfQogCX0KIAotCXJldHVybiAwOworCXJl
dHVybiByZXQ7CiB9CmRpZmYgLXVyTiBjdWV0b29scy0xLjMtT0ZGSUNJQUwvc3JjL3Rvb2xzL2N1
ZWNvbnZlcnQuYyBjdWV0b29scy0xLjMvc3JjL3Rvb2xzL2N1ZWNvbnZlcnQuYwotLS0gY3VldG9v
bHMtMS4zLU9GRklDSUFML3NyYy90b29scy9jdWVjb252ZXJ0LmMJMjAwNS0wMy0yMiAwMzoxNToy
NS4wMDAwMDAwMDAgLTA1MDAKKysrIGN1ZXRvb2xzLTEuMy9zcmMvdG9vbHMvY3VlY29udmVydC5j
CTIwMDUtMDgtMjMgMTU6NTM6MDMuMDAwMDAwMDAwIC0wNTAwCkBAIC0zLDMyICszLDQ1IEBACiAg
KgogICogQ29weXJpZ2h0IChDKSAyMDA0IFN2ZW5kIFNvcmVuc2VuCiAgKiBGb3IgbGljZW5zZSB0
ZXJtcywgc2VlIHRoZSBmaWxlIENPUFlJTkcgaW4gdGhpcyBkaXN0cmlidXRpb24uCisgKgorICog
TW9kaWZpZWQgMjAwNS0wOC0yMyBieSBCcmFuZGVuIFJvYmluc29uLgogICovCiAKLSNpbmNsdWRl
IDxzdGRpby5oPgotI2luY2x1ZGUgPHN0ZGxpYi5oPgotI2luY2x1ZGUgPHN0cmluZy5oPgotI2lu
Y2x1ZGUgPGdldG9wdC5oPgorI2luY2x1ZGUgPGdldG9wdC5oPgkvKiBnZXRvcHRfbG9uZygpICov
CisjaW5jbHVkZSA8c3RkaW8uaD4JLyogZnByaW50ZigpLCBwcmludGYoKSwgc25wcmludGYoKSwg
c3RkZXJyICovCisjaW5jbHVkZSA8c3RkbGliLmg+CS8qIGV4aXQoKSAqLworI2luY2x1ZGUgPHN0
cmluZy5oPgkvKiBzdHJjYXNlY21wKCkgKi8KICNpbmNsdWRlICJjdWVmaWxlLmgiCiAKIGNoYXIg
KnByb2duYW1lOwogCiB2b2lkIHVzYWdlIChpbnQgc3RhdHVzKQogeworCWNoYXIgc3lub3BzaXNb
MTAyNF07CisKKwkvKiBUT0RPOiBXZSBjb3VsZCB1c2UgYXNwcmludGYoKSBpZiB3ZSBrbm93IHdl
J3JlIHVzaW5nIEdOVSBsaWJjLiAqLworCXNucHJpbnRmKHN5bm9wc2lzLCAxMDIzLCAidXNhZ2U6
ICVzIFtvcHRpb24gLi4uXSBbaW5maWxlIFtvdXRmaWxlXV1cbiIsCisJCSBwcm9nbmFtZSk7CisK
IAlpZiAoMCA9PSBzdGF0dXMpIHsKLQkJZnByaW50ZihzdGRvdXQsICIlczogdXNhZ2U6IGN1ZWNv
bnZlcnQgW29wdGlvbi4uLl0gW2luZmlsZSBbb3V0ZmlsZV1dXG4iLCBwcm9nbmFtZSk7Ci0JCWZw
dXRzKCJcCi1cblwKLU9QVElPTlNcblwKLS1oLCAtLWhlbHAgCQkJcHJpbnQgdXNhZ2VcblwKLS1p
LCAtLWlucHV0LWZvcm1hdCBjdWV8dG9jCXNldCBmb3JtYXQgb2YgaW5wdXQgZmlsZVxuXAotLW8s
IC0tb3V0cHV0LWZvcm1hdCBjdWV8dG9jCXNldCBmb3JtYXQgb2Ygb3V0cHV0IGZpbGVcblwKLSIs
IHN0ZG91dCk7CisJCXByaW50ZigiJXMiLCBzeW5vcHNpcyk7CisJCXByaW50ZigiQ29udmVydCBm
aWxlcyBiZXR3ZWVuIENVRSBhbmQgVE9DIGZvcm1hdHMuXG4iCisJCSAgICAgICAiXG4iCisJCSAg
ICAgICAiT3B0aW9uczpcbiIKKwkJICAgICAgICItaCwgLS1oZWxwXHRcdFx0XHRkaXNwbGF5IHRo
aXMgbWVzc2FnZSBhbmQgZXhpdFxuIgorCQkgICAgICAgIi1pIHtjdWV8dG9jfSwgLS1pbnB1dC1m
b3JtYXQ9e2N1ZXx0b2N9XHRzZXQgZm9ybWF0IG9mIgorCQkgICAgICAgIiBpbnB1dCBmaWxlXG4i
CisJCSAgICAgICAiLW8ge2N1ZXx0b2N9LCAtLW91dHB1dC1mb3JtYXQ9e2N1ZXx0b2N9XHRzZXQg
Zm9ybWF0IG9mIgorCQkgICAgICAgIiBvdXRwdXQgZmlsZVxuIgorCQkgICAgICAgIlxuIgorCQkg
ICAgICAgIlNlZSB0aGUgJXMoMSkgbWFudWFsIHBhZ2UgZm9yIG1vcmUgaW5mb3JtYXRpb24uXG4i
LAorCQkgICAgICAgcHJvZ25hbWUpOwogCX0gZWxzZSB7Ci0JCWZwcmludGYoc3RkZXJyLCAicnVu
IGAlcyAtLWhlbHAnIGZvciB1c2FnZVxuIiwgcHJvZ25hbWUpOworCQlmcHJpbnRmKHN0ZGVyciwg
IiVzUnVuIFwiJXMgLS1oZWxwXCIgZm9yIG1vcmUgaW5mb3JtYXRpb24uXG4iLAorCQkJCXN5bm9w
c2lzLCBwcm9nbmFtZSk7CiAJfQogCi0JZXhpdCAoc3RhdHVzKTsKKwlleGl0KHN0YXR1cyk7CiB9
CiAKIGludCBjb252ZXJ0IChjaGFyICppbmFtZSwgaW50IGlmb3JtYXQsIGNoYXIgKm9uYW1lLCBp
bnQgb2Zvcm1hdCkKQEAgLTM2LDcgKzQ5LDggQEAKIAlDZCAqY2QgPSBOVUxMOwogCiAJaWYgKE5V
TEwgPT0gKGNkID0gY2ZfcGFyc2UoaW5hbWUsICZpZm9ybWF0KSkpIHsKLQkJZnByaW50ZihzdGRl
cnIsICJpbnB1dCBmaWxlIGVycm9yXG4iKTsKKwkJZnByaW50ZihzdGRlcnIsICIlczogZXJyb3I6
IHVuYWJsZSB0byBwYXJzZSBpbnB1dCBmaWxlXG4iLAorCQkJcHJvZ25hbWUpOwogCQlyZXR1cm4g
LTE7CiAJfQogCkBAIC02Miw5ICs3Niw5IEBACiB7CiAJaW50IGlmb3JtYXQgPSBVTktOT1dOOwog
CWludCBvZm9ybWF0ID0gVU5LTk9XTjsKLQkvKiBvcHRpb24gdmFyaWFibGVzICovCi0JY2hhciBj
OworCWludCByZXQgPSAwOwkJLyogcmV0dXJuIHZhbHVlIG9mIGNvbnZlcnQoKSAqLwogCS8qIGdl
dG9wdF9sb25nKCkgdmFyaWFibGVzICovCisJaW50IGM7CiAJZXh0ZXJuIGNoYXIgKm9wdGFyZzsK
IAlleHRlcm4gaW50IG9wdGluZDsKIApAQCAtNzUsNyArODksNyBAQAogCQl7TlVMTCwgMCwgTlVM
TCwgMH0KIAl9OwogCi0JcHJvZ25hbWUgPSAqYXJndjsKKwlwcm9nbmFtZSA9IGFyZ3ZbMF07CiAK
IAl3aGlsZSAoLTEgIT0gKGMgPSBnZXRvcHRfbG9uZyhhcmdjLCBhcmd2LCAiaGk6bzoiLCBsb25n
b3B0cywgTlVMTCkpKSB7CiAJCXN3aXRjaCAoYykgewpAQCAtODMsMjQgKzk3LDI2IEBACiAJCQl1
c2FnZSgwKTsKIAkJCWJyZWFrOwogCQljYXNlICdpJzoKLQkJCWlmICgwID09IHN0cmNtcCgiY3Vl
Iiwgb3B0YXJnKSkgeworCQkJaWYgKDAgPT0gc3RyY2FzZWNtcCgiY3VlIiwgb3B0YXJnKSkgewog
CQkJCWlmb3JtYXQgPSBDVUU7Ci0JCQl9IGVsc2UgaWYgKDAgPT0gc3RyY21wKCJ0b2MiLCBvcHRh
cmcpKSB7CisJCQl9IGVsc2UgaWYgKDAgPT0gc3RyY2FzZWNtcCgidG9jIiwgb3B0YXJnKSkgewog
CQkJCWlmb3JtYXQgPSBUT0M7CiAJCQl9IGVsc2UgewotCQkJCWZwcmludGYoc3RkZXJyLCAiJXM6
IGlsbGVnYWwgZm9ybWF0IGAlcydcbiIsIHByb2duYW1lLCBvcHRhcmcpOworCQkJCWZwcmludGYo
c3RkZXJyLCAiJXM6IHVua25vd24gaW5wdXQgZmlsZSBmb3JtYXQiCisJCQkJCSIgXCIlc1wiXG4i
LCBwcm9nbmFtZSwgb3B0YXJnKTsKIAkJCQl1c2FnZSgxKTsKIAkJCX0KIAkJCWJyZWFrOwogCQlj
YXNlICdvJzoKLQkJCWlmICgwID09IHN0cmNtcCgiY3VlIiwgb3B0YXJnKSkgeworCQkJaWYgKDAg
PT0gc3RyY2FzZWNtcCgiY3VlIiwgb3B0YXJnKSkgewogCQkJCW9mb3JtYXQgPSBDVUU7Ci0JCQl9
IGVsc2UgaWYgKDAgPT0gc3RyY21wKCJ0b2MiLCBvcHRhcmcpKSB7CisJCQl9IGVsc2UgaWYgKDAg
PT0gc3RyY2FzZWNtcCgidG9jIiwgb3B0YXJnKSkgewogCQkJCW9mb3JtYXQgPSBUT0M7CiAJCQl9
IGVsc2UgewotCQkJCWZwcmludGYoc3RkZXJyLCAiJXM6IGlsbGVnYWwgZm9ybWF0IGAlcydcbiIs
IHByb2duYW1lLCBvcHRhcmcpOworCQkJCWZwcmludGYoc3RkZXJyLCAiJXM6IHVua25vd24gb3V0
cHV0IGZpbGUgZm9ybWF0IgorCQkJCQkiIFwiJXNcIlxuIiwgcHJvZ25hbWUsIG9wdGFyZyk7CiAJ
CQkJdXNhZ2UoMSk7CiAJCQl9CiAJCQlicmVhazsKIAkJZGVmYXVsdDoKIAkJCXVzYWdlKDEpOwpA
QCAtMTA2LDE1ICsxMjIsMjMgQEAKIAkJfQogCX0KIAorCS8qIFdoYXQgd2UgZG8gZGVwZW5kcyBv
biB0aGUgbnVtYmVyIG9mIG9wZXJhbmRzLiAqLwogCWlmIChvcHRpbmQgPT0gYXJnYykgewotCQlj
b252ZXJ0KCItIiwgaWZvcm1hdCwgIi0iLCBvZm9ybWF0KTsKKwkJLyogTm8gb3BlcmFuZHM6IGNv
bnZlcnQgc3RkaW4gdG8gc3Rkb3V0LiAqLworCQlyZXQgPSBjb252ZXJ0KCItIiwgaWZvcm1hdCwg
Ii0iLCBvZm9ybWF0KTsKIAl9IGVsc2UgaWYgKG9wdGluZCA9PSBhcmdjIC0gMSkgewotCQljb252
ZXJ0KGFyZ3Zbb3B0aW5kXSwgaWZvcm1hdCwgIi0iLCBvZm9ybWF0KTsKKwkJLyogT25lIG9wZXJh
bmQ6IGNvbnZlcnQgb3BlcmFuZCBmaWxlIHRvIHN0ZG91dC4gKi8KKwkJcmV0ID0gY29udmVydChh
cmd2W29wdGluZF0sIGlmb3JtYXQsICItIiwgb2Zvcm1hdCk7CiAJfSBlbHNlIGlmIChvcHRpbmQg
PT0gYXJnYyAtIDIpIHsKLQkJY29udmVydChhcmd2W29wdGluZF0sIGlmb3JtYXQsIGFyZ3Zbb3B0
aW5kICsgMV0sIG9mb3JtYXQpOworCQkvKiBUd28gb3BlcmFuZHM6IGNvbnZlcnQgaW5wdXQgZmls
ZSB0byBvdXRwdXQgZmlsZS4gKi8KKwkJcmV0ID0gY29udmVydChhcmd2W29wdGluZF0sIGlmb3Jt
YXQsIGFyZ3Zbb3B0aW5kICsgMV0sIG9mb3JtYXQpOwogCX0gZWxzZSB7CiAJCXVzYWdlKDEpOwog
CX0KIAotCXJldHVybiAwOworCWlmICgwICE9IHJldCkgeworCQlmcHJpbnRmKHN0ZGVyciwgIiVz
OiBjb252ZXJzaW9uIGZhaWxlZFxuIiwgcHJvZ25hbWUpOworCX0KKworCXJldHVybiByZXQ7CiB9
CmRpZmYgLXVyTiBjdWV0b29scy0xLjMtT0ZGSUNJQUwvc3JjL3Rvb2xzL2N1ZXByaW50LmMgY3Vl
dG9vbHMtMS4zL3NyYy90b29scy9jdWVwcmludC5jCi0tLSBjdWV0b29scy0xLjMtT0ZGSUNJQUwv
c3JjL3Rvb2xzL2N1ZXByaW50LmMJMjAwNS0wMy0yMiAwMzoxNToyNS4wMDAwMDAwMDAgLTA1MDAK
KysrIGN1ZXRvb2xzLTEuMy9zcmMvdG9vbHMvY3VlcHJpbnQuYwkyMDA1LTA4LTIzIDE2OjAwOjU3
LjAwMDAwMDAwMCAtMDUwMApAQCAtMywxMyArMywxNSBAQAogICoKICAqIENvcHlyaWdodCAoQykg
MjAwNCBTdmVuZCBTb3JlbnNlbgogICogRm9yIGxpY2Vuc2UgdGVybXMsIHNlZSB0aGUgZmlsZSBD
T1BZSU5HIGluIHRoaXMgZGlzdHJpYnV0aW9uLgorICoKKyAqIE1vZGlmaWVkIDIwMDUtMDgtMjMg
YnkgQnJhbmRlbiBSb2JpbnNvbi4KICAqLwogCi0jaW5jbHVkZSA8c3RkaW8uaD4KLSNpbmNsdWRl
IDxzdGRsaWIuaD4JCS8qIGV4aXQoKSAqLwotI2luY2x1ZGUgPHN0cmluZy5oPgkJLyogc3RyY21w
KCkgKi8KLSNpbmNsdWRlIDxnZXRvcHQuaD4KLSNpbmNsdWRlIDxjdHlwZS5oPgkJLyogaXNkaWdp
dCgpICovCisjaW5jbHVkZSA8Y3R5cGUuaD4JLyogaXNkaWdpdCgpICovCisjaW5jbHVkZSA8Z2V0
b3B0Lmg+CS8qIGdldG9wdF9sb25nKCkgKi8KKyNpbmNsdWRlIDxzdGRpby5oPgkvKiBmcHJpbnRm
KCksIHByaW50ZigpLCBzbnByaW50ZigpLCBzdGRlcnIgKi8KKyNpbmNsdWRlIDxzdGRsaWIuaD4J
LyogZXhpdCgpICovCisjaW5jbHVkZSA8c3RyaW5nLmg+CS8qIHN0cmNhc2VjbXAoKSAqLwogI2lu
Y2x1ZGUgImN1ZWZpbGUuaCIKIAogLyogZGVmYXVsdCB0ZW1wbGF0ZXMgKi8KQEAgLTU3LDUyICs1
OSw0NCBAQAogCiB2b2lkIHVzYWdlIChpbnQgc3RhdHVzKQogeworCWNoYXIgc3lub3BzaXNbMTAy
NF07CisKKwkvKiBUT0RPOiBXZSBjb3VsZCB1c2UgYXNwcmludGYoKSBpZiB3ZSBrbm93IHdlJ3Jl
IHVzaW5nIEdOVSBsaWJjLiAqLworCXNucHJpbnRmKHN5bm9wc2lzLCAxMDIzLCAidXNhZ2U6ICVz
IFtvcHRpb24gLi4uXSBbZmlsZSAuLi5dXG4iLAorCQkgcHJvZ25hbWUpOworCiAJaWYgKDAgPT0g
c3RhdHVzKSB7Ci0JCWZwcmludGYoc3Rkb3V0LCAiJXM6IHVzYWdlOiBjdWVwcmludCBbb3B0aW9u
Li4uXSBbZmlsZS4uLl1cbiIsIHByb2duYW1lKTsKLQkJZnB1dHMoIlwKLVxuXAotT1BUSU9OU1xu
XAotLWgsIC0taGVscCAJCQlwcmludCB1c2FnZVxuXAotLWksIC0taW5wdXQtZm9ybWF0IGN1ZXx0
b2MJc2V0IGZvcm1hdCBvZiBmaWxlKHMpXG5cCi0tbiwgLS10cmFjay1udW1iZXIgPG51bWJlcj4J
b25seSBwcmludCB0cmFjayBpbmZvcm1hdGlvbiBmb3Igc2luZ2xlIHRyYWNrXG5cCi0tZCwgLS1k
aXNjLXRlbXBsYXRlIDx0ZW1wbGF0ZT4Jc2V0IGRpc2MgdGVtcGxhdGUgKHNlZSBURU1QTEFURSBF
WFBBTlNJT04pXG5cCi0tdCwgLS10cmFjay10ZW1wbGF0ZSA8dGVtcGxhdGU+CXNldCB0cmFjayB0
ZW1wbGF0ZSAoc2VlIFRFTVBMQVRFIEVYUEFOU0lPTilcblwKLVxuXAotVGVtcGxhdGUgRXhwYW5z
aW9uXG5cCi1EaXNjOlxuXAotJUEgLSBhbGJ1bSBhcnJhbmdlclxuXAotJUMgLSBhbGJ1bSBjb21w
b3NlclxuXAotJUcgLSBhbGJ1bSBnZW5yZVxuXAotJU0gLSBhbGJ1bSBtZXNzYWdlXG5cCi0lTiAt
IG51bWJlciBvZiB0cmFja3NcblwKLSVQIC0gYWxidW0gcGVyZm9ybWVyXG5cCi0lUyAtIGFsYnVt
IHNvbmd3cml0ZXJcblwKLSVUIC0gYWxidW0gdGl0bGVcblwKLSVVIC0gYWxidW0gVVBDL0VBTlxu
XAotVHJhY2s6XG5cCi0lYSAtIHRyYWNrIGFycmFuZ2VyXG5cCi0lYyAtIHRyYWNrIGNvbXBvc2Vy
XG5cCi0lZyAtIHRyYWNrIGdlbnJlXG5cCi0laSAtIHRyYWNrIElTUkNcblwKLSVtIC0gdHJhY2sg
bWVzc2FnZVxuXAotJW4gLSB0cmFjayBudW1iZXJcblwKLSVwIC0gdHJhY2sgcGVyZm9tZXJcblwK
LSV0IC0gdHJhY2sgdGl0bGVcblwKLSV1IC0gdHJhY2sgSVNSQyAoQ0QtVEVYVClcblwKLVxuXAot
QW55IG90aGVyICU8Y2hhcmFjdGVyPiBpcyBleHBhbmRlZCB0byB0aGF0IGNoYXJhY3Rlci4gIEZv
ciBleGFtcGxlLCB0byBnZXQgYVxuXAotJyUnLCB1c2UgJSUuXG5cCi1cblwKLSIsIHN0ZG91dCk7
Ci0JCWZwcmludGYoc3Rkb3V0LCAiZGVmYXVsdCBkaXNjIHRlbXBsYXRlIGlzOlxuJXNcbiIsIERf
VEVNUExBVEUpOwotCQlmcHJpbnRmKHN0ZG91dCwgImRlZmF1bHQgdHJhY2sgdGVtcGxhdGUgaXM6
XG4lc1xuIiwgVF9URU1QTEFURSk7CisJCXByaW50ZigiJXMiLCBzeW5vcHNpcyk7CisJCXByaW50
ZigiUmVwb3J0IGRpc2MgYW5kIHRyYWNrIGluZm9ybWF0aW9uIGZyb20gYSBDVUUgb3IgVE9DIgor
CQkgICAgICAgIiBmaWxlLlxuIgorCQkgICAgICAgIlxuIgorCQkgICAgICAgIk9wdGlvbnM6XG4i
CisJCSAgICAgICAiLWQgVEVNUExBVEUsIC0tZGlzYy10ZW1wbGF0ZT1URU1QTEFURVx0c2V0IGRp
c2MiCisJCSAgICAgICAiIHRlbXBsYXRlXG4iCisJCSAgICAgICAiLWgsIC0taGVscFx0XHRcdFx0
ZGlzcGxheSB0aGlzIG1lc3NhZ2UgYW5kIGV4aXRcbiIKKwkJICAgICAgICItaSB7Y3VlfHRvY30s
IC0taW5wdXQtZm9ybWF0PXtjdWV8dG9jfVx0c2V0IGZvcm1hdCBvZiIKKwkJICAgICAgICIgaW5w
dXQgZmlsZShzKVxuIgorCQkgICAgICAgIi1uIE4sIC0tdHJhY2stbnVtYmVyPU5cdFx0XHRyZXBv
cnQgaW5mb3JtYXRpb24gZm9yIgorCQkgICAgICAgIiB0cmFjayBOIG9ubHlcbiIKKwkJICAgICAg
ICItdCBURU1QTEFURSwgLS10cmFjay10ZW1wbGF0ZT1URU1QTEFURVx0c2V0IHRyYWNrIgorCQkg
ICAgICAgIiB0ZW1wbGF0ZVxuIgorCQkgICAgICAgIlxuIgorCQkgICAgICAgIlRFTVBMQVRFIGlz
IGEgcHJpbnRmKDMpLXN0eWxlIGZvcm1hdCBzdHJpbmcuXG4iCisJCSAgICAgICAiXG4iCisJCSAg
ICAgICAiRGVmYXVsdCBkaXNjIHRlbXBsYXRlOiAlc1xuIgorCQkgICAgICAgIkRlZmF1bHQgdHJh
Y2sgdGVtcGxhdGU6ICVzXG4iCisJCSAgICAgICAiU2VlIHRoZSAlcygxKSBtYW51YWwgcGFnZSBm
b3IgbW9yZSBpbmZvcm1hdGlvbi5cbiIsCisJCSAgICAgICBEX1RFTVBMQVRFLCBUX1RFTVBMQVRF
LCBwcm9nbmFtZSk7CiAJfSBlbHNlIHsKLQkJZnByaW50ZihzdGRlcnIsICJydW4gYCVzIC0taGVs
cCcgZm9yIHVzYWdlXG4iLCBwcm9nbmFtZSk7CisJCWZwcmludGYoc3RkZXJyLCAiJXNSdW4gXCIl
cyAtLWhlbHBcIiBmb3IgbW9yZSBpbmZvcm1hdGlvbi5cbiIsCisJCQlzeW5vcHNpcywgcHJvZ25h
bWUpOwogCX0KIAotCWV4aXQgKHN0YXR1cyk7CisJZXhpdChzdGF0dXMpOwogfQogCisvKiBUT0RP
OiBTaG91bGRuJ3Qgd2UgYmUgdXNpbmcgdnByaW50ZigpIHRvIGhlbHAgdXMgb3V0IHdpdGggdGhp
cyBzdHVmZj8gKi8KKwogdm9pZCBkaXNjX2ZpZWxkIChjaGFyICpjb252LCBpbnQgbGVuZ3RoLCBD
ZCAqY2QsIFZhbHVlICp2YWx1ZSkKIHsKIAljaGFyICpjOwkvKiBwb2ludGVyIHRvIGNvbnZlcnNp
b24gY2hhcmFjdGVyICovCkBAIC0yMzAsOCArMjI0LDkgQEAKIAogfQogCi0vKiBwcmludCBhICUg
Y29udmVyc2lvbiBzcGVjaWZpY2F0aW9uCi0gKiAlW2ZsYWcocyldW3dpZHRoXVsucHJlY2lzaW9u
XTxjb252ZXJzaW9uLWNoYXI+CisvKgorICogUHJpbnQgYSBjb252ZXJzaW9uIHNwZWNpZmljYXRp
b24uCisgKiBbZmxhZyhzKV1bd2lkdGhdWy5wcmVjaXNpb25dPGNvbnZlcnNpb24tY2hhcj4KICAq
Lwogdm9pZCBwcmludF9jb252IChjaGFyICpzdGFydCwgaW50IGxlbmd0aCwgQ2QgKmNkLCBpbnQg
dHJhY2tubykKIHsKQEAgLTI0MCw3ICsyMzUsNyBAQAogCWNoYXIgKmM7CS8qIHBvaW50ZXIgdG8g
Y29udmVyc2lvbi1jaGFyICovCiAKIAkvKiBUT0RPOiB1c2Ugc3RybmR1cD8gKi8KLQljb252ID0g
bWFsbG9jICgodW5zaWduZWQpIChsZW5ndGggKyAxKSk7CisJY29udiA9IG1hbGxvYygodW5zaWdu
ZWQpIChsZW5ndGggKyAxKSk7CiAJc3RybmNweShjb252LCBzdGFydCwgbGVuZ3RoKTsKIAljb252
W2xlbmd0aF0gPSAnXDAnOwogCkBAIC0zMDMsNyArMjk4LDcgQEAKIAkJCQljb252X2xlbmd0aCsr
OwogCQkJCWMrKzsKIAkJCX0KLQkJCQorCiAJCQkvKiBwcmVjaXNpb24gKi8KIAkJCS8qICcqJyBu
b3QgcmVjb2duaXplZCAqLwogCQkJaWYgKCcuJyA9PSAqYykgewpAQCAtMzI5LDcgKzMyNCw4IEBA
CiAJfQogfQogCi1pbnQgaW5mbyAoY2hhciAqbmFtZSwgaW50IGZvcm1hdCwgaW50IHRyYWNrbm8s
IGNoYXIgKmRfdGVtcGxhdGUsIGNoYXIgKnRfdGVtcGxhdGUpCitpbnQgaW5mbyAoY2hhciAqbmFt
ZSwgaW50IGZvcm1hdCwgaW50IHRyYWNrbm8sIGNoYXIgKmRfdGVtcGxhdGUsCisJICBjaGFyICp0
X3RlbXBsYXRlKQogewogCUNkICpjZCA9IE5VTEw7CiAJaW50IG50cmFjazsKQEAgLTM1OSw4ICsz
NTUsOSBAQAogCXJldHVybiAwOwogfQogCi0vKiB0cmFuc2xhdGUgZXNjYXBlIHNlcXVlbmNlcyBp
biBhIHN0cmluZwotICogc3RyaW5nIGlzIG92ZXJ3cml0dGVuIGFuZCB0ZXJtaW5hdGVkCisvKgor
ICogVHJhbnNsYXRlIGVzY2FwZSBzZXF1ZW5jZXMgaW4gYSBzdHJpbmcuCisgKiBUaGUgc3RyaW5n
IGlzIG92ZXJ3cml0dGVuIGFuZCB0ZXJtaW5hdGVkLgogICogVE9ETzogdGhpcyBkb2VzIG5vdCBo
YW5kbGUgb2N0YWwgYW5kIGhleGlkZWNpbWFsIGVzY2FwZXMKICAqICAgICAgIGV4Y2VwdCBmb3Ig
XDAKICAqLwpAQCAtNDIwLDExICs0MTcsMTMgQEAKIGludCBtYWluIChpbnQgYXJnYywgY2hhciAq
KmFyZ3YpCiB7CiAJaW50IGZvcm1hdCA9IFVOS05PV047Ci0JaW50IHRyYWNrbm8gPSAtMTsJCS8q
IHRyYWNrIG51bWJlciAoLTEgPSB1bnNwZWNpZmllZCwgMCA9IGRpc2MgaW5mbykgKi8KKwlpbnQg
dHJhY2tubyA9IC0xOwkJLyogdHJhY2sgbnVtYmVyICgtMSA9IHVuc3BlY2lmaWVkLAorCQkJCQkJ
CSAgMCA9IGRpc2MgaW5mbykgKi8KIAljaGFyICpkX3RlbXBsYXRlID0gTlVMTDsJLyogZGlzYyB0
ZW1wbGF0ZSAqLwogCWNoYXIgKnRfdGVtcGxhdGUgPSBOVUxMOwkvKiB0cmFjayB0ZW1wbGF0ZSAq
LworCWludCByZXQgPSAwOwkJCS8qIHJldHVybiB2YWx1ZSBvZiBpbmZvKCkgKi8KIAkvKiBnZXRv
cHRfbG9uZygpIHZhcmlhYmxlcyAqLwotCWNoYXIgYzsKKwlpbnQgYzsKIAlleHRlcm4gY2hhciAq
b3B0YXJnOwogCWV4dGVybiBpbnQgb3B0aW5kOwogCkBAIC00MzcsMjIgKzQzNiwyNCBAQAogCQl7
TlVMTCwgMCwgTlVMTCwgMH0KIAl9OwogCi0JcHJvZ25hbWUgPSAqYXJndjsKKwlwcm9nbmFtZSA9
IGFyZ3ZbMF07CiAKLQl3aGlsZSAoLTEgIT0gKGMgPSBnZXRvcHRfbG9uZyhhcmdjLCBhcmd2LCAi
aGk6bjpkOnQ6IiwgbG9uZ29wdHMsIE5VTEwpKSkgeworCXdoaWxlICgtMSAhPSAoYyA9IGdldG9w
dF9sb25nKGFyZ2MsIGFyZ3YsICJoaTpuOmQ6dDoiLCBsb25nb3B0cywgTlVMTCkpKQorCXsKIAkJ
c3dpdGNoIChjKSB7CiAJCWNhc2UgJ2gnOgogCQkJdXNhZ2UoMCk7CiAJCQlicmVhazsKIAkJY2Fz
ZSAnaSc6Ci0JCQlpZiAoMCA9PSBzdHJjbXAoImN1ZSIsIG9wdGFyZykpIHsKKwkJCWlmICgwID09
IHN0cmNhc2VjbXAoImN1ZSIsIG9wdGFyZykpIHsKIAkJCQlmb3JtYXQgPSBDVUU7Ci0JCQl9IGVs
c2UgaWYgKDAgPT0gc3RyY21wKCJ0b2MiLCBvcHRhcmcpKSB7CisJCQl9IGVsc2UgaWYgKDAgPT0g
c3RyY2FzZWNtcCgidG9jIiwgb3B0YXJnKSkgewogCQkJCWZvcm1hdCA9IFRPQzsKIAkJCX0gZWxz
ZSB7Ci0JCQkJZnByaW50ZihzdGRlcnIsICIlczogaWxsZWdhbCBmb3JtYXQgYCVzJ1xuIiwgcHJv
Z25hbWUsIG9wdGFyZyk7CisJCQkJZnByaW50ZihzdGRlcnIsICIlczogZXJyb3I6IHVua25vd24g
aW5wdXQgZmlsZSIKKwkJCQkJIiBmb3JtYXQgXCIlc1wiXG4iLCBwcm9nbmFtZSwgb3B0YXJnKTsK
IAkJCQl1c2FnZSgxKTsKIAkJCX0KIAkJCWJyZWFrOwogCQljYXNlICduJzoKIAkJCXRyYWNrbm8g
PSBhdG9pKG9wdGFyZyk7CkBAIC00NjgsNyArNDY5LDcgQEAKIAkJfQogCX0KIAotCS8qIGlmIG5v
IGRpc2Mgb3IgdHJhY2sgdGVtcGxhdGUgaXMgc2V0LCB1c2UgdGhlIGRlZmF1bHRzIGZvciBib3Ro
ICovCisJLyogSWYgbm8gZGlzYyBvciB0cmFjayB0ZW1wbGF0ZSBpcyBzZXQsIHVzZSB0aGUgZGVm
YXVsdHMgZm9yIGJvdGguICovCiAJLyogVE9ETzogYWx0ZXJuYXRpdmUgdG8gc3RyZHVwIHRvIGdl
dCB2YXJpYWJsZSBzdHJpbmdzPyAqLwogCWlmIChOVUxMID09IGRfdGVtcGxhdGUgJiYgTlVMTCA9
PSB0X3RlbXBsYXRlKSB7CiAJCWRfdGVtcGxhdGUgPSBzdHJkdXAoRF9URU1QTEFURSk7CkBAIC00
ODEsMTYgKzQ4MiwyNCBAQAogCQkJdF90ZW1wbGF0ZSA9IHN0cmR1cCgiIik7CiAJfQogCi0JLyog
dHJhbnNsYXRlIGVzY2FwZSBzZXF1ZW5jZXMgKi8KKwkvKiBUcmFuc2xhdGUgZXNjYXBlIHNlcXVl
bmNlcy4gKi8KIAl0cmFuc2xhdGVfZXNjYXBlcyhkX3RlbXBsYXRlKTsKIAl0cmFuc2xhdGVfZXNj
YXBlcyh0X3RlbXBsYXRlKTsKIAorCS8qIFdoYXQgd2UgZG8gZGVwZW5kcyBvbiB0aGUgbnVtYmVy
IG9mIG9wZXJhbmRzLiAqLwogCWlmIChvcHRpbmQgPT0gYXJnYykgewotCQlpbmZvKCItIiwgZm9y
bWF0LCB0cmFja25vLCBkX3RlbXBsYXRlLCB0X3RlbXBsYXRlKTsKKwkJLyogTm8gb3BlcmFuZHM6
IHJlcG9ydCBpbmZvcm1hdGlvbiBhYm91dCBzdGRpbi4gKi8KKwkJcmV0ID0gaW5mbygiLSIsIGZv
cm1hdCwgdHJhY2tubywgZF90ZW1wbGF0ZSwgdF90ZW1wbGF0ZSk7CiAJfSBlbHNlIHsKLQkJZm9y
ICg7IG9wdGluZCA8IGFyZ2M7IG9wdGluZCsrKQotCQkJaW5mbyhhcmd2W29wdGluZF0sIGZvcm1h
dCwgdHJhY2tubywgZF90ZW1wbGF0ZSwgdF90ZW1wbGF0ZSk7CisJCS8qIFJlcG9ydCBpbmZvcm1h
dGlvbiBmb3IgZWFjaCBvcGVyYW5kLiAqLworCQlmb3IgKDsgb3B0aW5kIDwgYXJnYzsgb3B0aW5k
KyspIHsKKwkJCXJldCA9IGluZm8oYXJndltvcHRpbmRdLCBmb3JtYXQsIHRyYWNrbm8sIGRfdGVt
cGxhdGUsCisJCQkJICAgdF90ZW1wbGF0ZSk7CisJCQkvKiBCYWlsIG91dCBpZiBpbmZvKCkgcmV0
dXJucyBub256ZXJvLiAqLworCQkJaWYgKCFyZXQpCisJCQkJYnJlYWs7CisJCX0KIAl9CiAKLQly
ZXR1cm4gMDsKKwlyZXR1cm4gcmV0OwogfQo=
</data>        

          </attachment>
    </bug>

</bugzilla>