<?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>242174</bug_id>
          
          <creation_ts>2008-10-15 10:41 0000</creation_ts>
          <short_desc>emerge wireshark-1.0.3 fails because of missing liblua5.1</short_desc>
          <delta_ts>2008-10-17 20:07:07 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>Applications</component>
          <version>2007.0</version>
          <rep_platform>All</rep_platform>
          <op_sys>Linux</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          
          <priority>P2</priority>
          <bug_severity>normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          
          <everconfirmed>1</everconfirmed>
          <reporter>rose@rz.uni-potsdam.de</reporter>
          <assigned_to>pva@gentoo.org</assigned_to>
          <cc>netmon@gentoo.org</cc>
    
    <cc>tarpman@gmail.com</cc>

      

      
          <long_desc isprivate="0">
            <who>rose@rz.uni-potsdam.de</who>
            <bug_when>2008-10-15 10:41:47 0000</bug_when>
            <thetext>root@deer:/root(15)# emerge -vuD wireshark
...
[ebuild     U ] net-analyzer/wireshark-1.0.3 [1.0.2] USE=&quot;caps gnutls gtk ipv6 kerberos lua pcap pcre threads zlib -adns -gcrypt -port
...
checking for lauxlib.h... yes
checking for lua_call in -llua... no
checking for luaL_register in -llua5.1... no
configure: error: Linking with liblua failed.

!!! Please attach the following file when seeking support:
!!! /var/tmp/portage/net-analyzer/wireshark-1.0.3/work/wireshark-1.0.3/config.log
 * 
 * ERROR: net-analyzer/wireshark-1.0.3 failed.


Reproducible: Always




root@deer:/root(16)# emerge --info
Portage 2.2_rc12 (default/linux/amd64/2008.0, gcc-4.3.2, glibc-2.8_p20080602-r0, 2.6.26-gentoo-r2 x86_64)
=================================================================
System uname: Linux-2.6.26-gentoo-r2-x86_64-Intel-R-_Core-TM-2_Quad_CPU_Q9550_@_2.83GHz-with-glibc2.2.5
Timestamp of tree: Wed, 15 Oct 2008 09:00:01 +0000
app-shells/bash:     3.2_p39
dev-java/java-config: 1.3.7, 2.1.6-r1
dev-lang/python:     2.4.4-r13, 2.5.2-r8
dev-python/pycrypto: 2.0.1-r6
dev-util/cmake:      2.6.2
sys-apps/baselayout: 2.0.0
sys-apps/openrc:     0.3.0-r1
sys-apps/sandbox:    1.2.18.1-r3
sys-devel/autoconf:  2.13, 2.63
sys-devel/automake:  1.5, 1.7.9-r1, 1.8.5-r3, 1.9.6-r2, 1.10.1-r1
sys-devel/binutils:  2.18-r3
sys-devel/gcc-config: 1.4.0-r4
sys-devel/libtool:   2.2.6a
virtual/os-headers:  2.6.26
ACCEPT_KEYWORDS=&quot;amd64 ~amd64&quot;
CBUILD=&quot;x86_64-pc-linux-gnu&quot;
CFLAGS=&quot;-march=nocona -O2 -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/config /var/lib/hsqldb&quot;
CONFIG_PROTECT_MASK=&quot;/etc/ca-certificates.conf /etc/env.d /etc/env.d/java/ /etc/eselect/postgresql /etc/fonts/fonts.conf /etc/gconf /etc/gentoo-release /etc/php/apache2-php5/ext-active/ /etc/php/cgi-php5/ext-active/ /etc/php/cli-php5/ext-active/ /etc/revdep-rebuild /etc/terminfo /etc/texmf/web2c /etc/udev/rules.d&quot;
CXXFLAGS=&quot;-O2 -pipe&quot;
DISTDIR=&quot;/usr/portage/distfiles&quot;
FEATURES=&quot;distlocks fixpackages parallel-fetch preserve-libs protect-owned sandbox sfperms strict unmerge-orphans userfetch&quot;
FFLAGS=&quot;-march=nocona -O2 -pipe&quot;
GENTOO_MIRRORS=&quot;http://distfiles.gentoo.org http://distro.ibiblio.org/pub/linux/distributions/gentoo&quot;
LC_ALL=&quot;C&quot;
LDFLAGS=&quot;-Wl,-O1&quot;
LINGUAS=&quot;de fr&quot;
MAKEOPTS=&quot;-j1&quot;
PKGDIR=&quot;/usr/portage/packages&quot;
PORTAGE_RSYNC_OPTS=&quot;--recursive --links --safe-links --perms --times --compress --force --whole-file --delete --stats --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages&quot;
PORTAGE_TMPDIR=&quot;/var/tmp&quot;
PORTDIR=&quot;/usr/portage&quot;
PORTDIR_OVERLAY=&quot;/usr/local/portage/layman/science /usr/local/portage&quot;
SYNC=&quot;rsync://rsync.gentoo.org/gentoo-portage&quot;
USE=&quot;X Xaw3d a52 aac acl acpi administrator afs aiglx alsa amd64 amrr ao aotuv apache2 asf atlas auctex audacious audiofile automount bash-completion beagle berkdb bjam blas bluetooth bonobo boo boost bzip2 c++ cairo cdda cddb cdf cdio cdparanoia cdr cgi chm cli corba cracklib cran crypt cups curl cxx daap dbus device-mapper dga dia divx djvu dlloader dmi dri ds3490 dv dvb dvd dvdr dvi dxr3 dynagraph eds effects elf emacs emboss encode epiphany esd evo examples exif expat extra fam fame ffmpeg fftw firefox fits flac fltk foomaticdb fortran fpx galago gd gdal gdbm geos gif gimp gimpprint ginac glade glitz gml gmp gnokii gnome gnuplot gnutls gphoto2 gpm graphics graphviz gs gsl gsm gstreamer gtk guile hal hardened hddtemp hdf hdf5 hlapi http hvm iconv icq icu id3 imagemagick imap innodb ipv6 irda irmc isdnlog ithreads jabber java jbig john jpeg jpeg2k kerberos kexi keyring ladspa lame lapack latex lcms ldap libffi libgda libsamplerate lirc lm_sensors lua lzo lzw mad maildir math matroska midi mmx mmxext mng mod mono motif mozdevelop mozilla mozsvg mozxmlterm mp3 mp4 mp4live mpeg mpeg2 mplayer mudflap multilib musicbrainz mysql mysqli nautilus ncurses neXt netcdf netpbm network networkmanager nfs nls nntp nptl nptlonly nsplugin ntfs numarray numeric nvidia obex ocaml octave odbc ogdi ogg ole opengl openmp pae pam pcre pda pdf perl plotutils plugins png posix postgres postscript pppd preview-latex proj projectx pstricks python qhull quicktime readline reflection reiserfs rhythmbox rle rpc rrdcgi rrdtool samba sasl science sdl session slang slp smp sndfile snmp soup sox speex spell spl sqlite sse sse2 ssl stlport subtitles subversion suexec svg sysfs t1lib tcl tcpd tex theora threads thunderbird tidy tiff tk truetype unicode userlocales utempter v4l2 vorbis wmf wxwindows xattr xemacs xext xine xml xmlreader xmlrpc xorg xpm xulrunner xv xvid xvmc zlib zvbi&quot; ALSA_CARDS=&quot;intel8x0&quot; ALSA_PCM_PLUGINS=&quot;adpcm alaw asym copy dmix dshare dsnoop empty extplug file hooks iec958 ioplug ladspa lfloat linear meter mmap_emul mulaw multi null plug rate route share shm softvol&quot; APACHE2_MODULES=&quot;actions alias auth_basic auth_digest authn_anon authn_dbd authn_dbm authn_default authn_file authz_dbm authz_default authz_groupfile authz_host authz_owner authz_user autoindex cache dav dav_fs dav_lock dbd deflate dir disk_cache env expires ext_filter file_cache filter headers ident imagemap include info log_config logio mem_cache mime mime_magic negotiation proxy proxy_ajp proxy_balancer proxy_connect proxy_http rewrite setenvif so speling status unique_id userdir usertrack vhost_alias&quot; ELIBC=&quot;glibc&quot; INPUT_DEVICES=&quot;keyboard mouse               &quot; KERNEL=&quot;linux&quot; LCD_DEVICES=&quot;bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text&quot; LINGUAS=&quot;de fr&quot; USERLAND=&quot;GNU&quot; VIDEO_CARDS=&quot;nv nvidia vesa&quot;
Unset:  CPPFLAGS, CTARGET, EMERGE_DEFAULT_OPTS, INSTALL_MASK, LANG, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>rose@rz.uni-potsdam.de</who>
            <bug_when>2008-10-15 10:47:13 0000</bug_when>
            <thetext>Created an attachment (id=168558)
/var/tmp/portage/net-analyzer/wireshark-1.0.3/work/wireshark-1.0.3/config.log

</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>galtgendo@o2.pl</who>
            <bug_when>2008-10-15 19:07:12 0000</bug_when>
            <thetext>On a hunch (again): what is your version of lua (useflags included) ?</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>tarpman@gmail.com</who>
            <bug_when>2008-10-15 20:52:53 0000</bug_when>
            <thetext>As suggested by Rafał, if the user&apos;s lua is 5.1.4-r1 built with USE=&quot;cxx&quot;, this bug is likely to be related to bug 234622.</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>pva@gentoo.org</who>
            <bug_when>2008-10-16 12:49:32 0000</bug_when>
            <thetext>Juergen, please tell us about lua USE flags/version you have installed.</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>galtgendo@o2.pl</who>
            <bug_when>2008-10-16 17:54:31 0000</bug_when>
            <thetext>He&apos;s already told it in his other bug (bug 242170).</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>rose@rz.uni-potsdam.de</who>
            <bug_when>2008-10-17 12:52:36 0000</bug_when>
            <thetext>After reemerging lua with USE=-cxx I could also emerge wireshark. Thank you for the hint.

Juergen
</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>mabi@gentoo.org</who>
            <bug_when>2008-10-17 20:07:07 0000</bug_when>
            <thetext>I&apos;ve pulled the cxx useflag. If it still doesn&apos;t work with plain lua-5.1.4, please reopen this bug.

Thanks for reporting and all the others for pointing out the connections!</thetext>
          </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>168558</attachid>
            <date>2008-10-15 10:47 0000</date>
            <desc>/var/tmp/portage/net-analyzer/wireshark-1.0.3/work/wireshark-1.0.3/config.log</desc>
            <filename>wireshark-1.0.3_config.log</filename>
            <type>text/plain</type>
            <data encoding="base64">VGhpcyBmaWxlIGNvbnRhaW5zIGFueSBtZXNzYWdlcyBwcm9kdWNlZCBieSBjb21waWxlcnMgd2hp
bGUKcnVubmluZyBjb25maWd1cmUsIHRvIGFpZCBkZWJ1Z2dpbmcgaWYgY29uZmlndXJlIG1ha2Vz
IGEgbWlzdGFrZS4KCkl0IHdhcyBjcmVhdGVkIGJ5IGNvbmZpZ3VyZSwgd2hpY2ggd2FzCmdlbmVy
YXRlZCBieSBHTlUgQXV0b2NvbmYgMi42My4gIEludm9jYXRpb24gY29tbWFuZCBsaW5lIHdhcwoK
ICAkIC4vY29uZmlndXJlIC0tcHJlZml4PS91c3IgLS1ob3N0PXg4Nl82NC1wYy1saW51eC1nbnUg
LS1tYW5kaXI9L3Vzci9zaGFyZS9tYW4gLS1pbmZvZGlyPS91c3Ivc2hhcmUvaW5mbyAtLWRhdGFk
aXI9L3Vzci9zaGFyZSAtLXN5c2NvbmZkaXI9L2V0YyAtLWxvY2Fsc3RhdGVkaXI9L3Zhci9saWIg
LS1lbmFibGUtZ3RrMiAtLWRpc2FibGUtcHJvZmlsZS1idWlsZCAtLXdpdGgtZ251dGxzIC0td2l0
aG91dC1nY3J5cHQgLS1lbmFibGUtd2lyZXNoYXJrIC0tZW5hYmxlLWlwdjYgLS1lbmFibGUtdGhy
ZWFkcyAtLXdpdGgtbHVhIC0td2l0aG91dC1hZG5zIC0td2l0aC1rcmI1IC0td2l0aG91dC1saWJz
bWkgLS13aXRoLXBjYXAgLS13aXRoLXpsaWIgLS13aXRoLXBjcmUgLS13aXRob3V0LXBvcnRhdWRp
byAtLXdpdGgtbGliY2FwIC0tZW5hYmxlLXNldHVpZC1pbnN0YWxsIC0tc3lzY29uZmRpcj0vZXRj
L3dpcmVzaGFyayAtLWxpYmRpcj0vdXNyL2xpYjY0IC0tYnVpbGQ9eDg2XzY0LXBjLWxpbnV4LWdu
dQoKIyMgLS0tLS0tLS0tICMjCiMjIFBsYXRmb3JtLiAjIwojIyAtLS0tLS0tLS0gIyMKCmhvc3Ru
YW1lID0gZGVlcgp1bmFtZSAtbSA9IHg4Nl82NAp1bmFtZSAtciA9IDIuNi4yNi1nZW50b28tcjIK
dW5hbWUgLXMgPSBMaW51eAp1bmFtZSAtdiA9ICMxIFNNUCBNb24gT2N0IDEzIDE2OjA5OjMxIENF
U1QgMjAwOAoKL3Vzci9iaW4vdW5hbWUgLXAgPSBJbnRlbChSKSBDb3JlKFRNKTIgUXVhZCBDUFUg
UTk1NTAgQCAyLjgzR0h6Ci9iaW4vdW5hbWUgLVggICAgID0gdW5rbm93bgoKL2Jpbi9hcmNoICAg
ICAgICAgICAgICA9IHVua25vd24KL3Vzci9iaW4vYXJjaCAtayAgICAgICA9IHVua25vd24KL3Vz
ci9jb252ZXgvZ2V0c3lzaW5mbyA9IHVua25vd24KL3Vzci9iaW4vaG9zdGluZm8gICAgICA9IHVu
a25vd24KL2Jpbi9tYWNoaW5lICAgICAgICAgICA9IHVua25vd24KL3Vzci9iaW4vb3NsZXZlbCAg
ICAgICA9IHVua25vd24KL2Jpbi91bml2ZXJzZSAgICAgICAgICA9IHVua25vd24KClBBVEg6IC91
c3IvbG9jYWwvc2JpbgpQQVRIOiAvc2JpbgpQQVRIOiAvdXNyL3NiaW4KUEFUSDogL3Vzci9saWI2
NC9wb3J0YWdlL2JpbgpQQVRIOiAvdXNyL2xvY2FsL2JpbgpQQVRIOiAvYmluClBBVEg6IC91c3Iv
YmluClBBVEg6IC9vcHQvYmluClBBVEg6IC91c3IveDg2XzY0LXBjLWxpbnV4LWdudS9nY2MtYmlu
LzQuMy4yClBBVEg6IC91c3Iva2RlLzMuNS9zYmluClBBVEg6IC91c3Iva2RlLzMuNS9iaW4KUEFU
SDogL3Vzci9xdC8zL2JpbgoKCiMjIC0tLS0tLS0tLS0tICMjCiMjIENvcmUgdGVzdHMuICMjCiMj
IC0tLS0tLS0tLS0tICMjCgpjb25maWd1cmU6MjMxNTogY2hlY2tpbmcgYnVpbGQgc3lzdGVtIHR5
cGUKY29uZmlndXJlOjIzMzM6IHJlc3VsdDogeDg2XzY0LXBjLWxpbnV4LWdudQpjb25maWd1cmU6
MjM1NTogY2hlY2tpbmcgaG9zdCBzeXN0ZW0gdHlwZQpjb25maWd1cmU6MjM3MDogcmVzdWx0OiB4
ODZfNjQtcGMtbGludXgtZ251CmNvbmZpZ3VyZToyMzkyOiBjaGVja2luZyB0YXJnZXQgc3lzdGVt
IHR5cGUKY29uZmlndXJlOjI0MDc6IHJlc3VsdDogeDg2XzY0LXBjLWxpbnV4LWdudQpjb25maWd1
cmU6MjQ1MTogY2hlY2tpbmcgZm9yIGEgQlNELWNvbXBhdGlibGUgaW5zdGFsbApjb25maWd1cmU6
MjUxOTogcmVzdWx0OiAvdXNyL2Jpbi9pbnN0YWxsIC1jCmNvbmZpZ3VyZToyNTMwOiBjaGVja2lu
ZyB3aGV0aGVyIGJ1aWxkIGVudmlyb25tZW50IGlzIHNhbmUKY29uZmlndXJlOjI1NzM6IHJlc3Vs
dDogeWVzCmNvbmZpZ3VyZToyNjM1OiBjaGVja2luZyBmb3IgZ2F3awpjb25maWd1cmU6MjY1MTog
Zm91bmQgL2Jpbi9nYXdrCmNvbmZpZ3VyZToyNjYyOiByZXN1bHQ6IGdhd2sKY29uZmlndXJlOjI2
NzM6IGNoZWNraW5nIHdoZXRoZXIgbWFrZSBzZXRzICQoTUFLRSkKY29uZmlndXJlOjI2OTU6IHJl
c3VsdDogeWVzCmNvbmZpZ3VyZToyOTE2OiBjaGVja2luZyBmb3IgeDg2XzY0LXBjLWxpbnV4LWdu
dS1nY2MKY29uZmlndXJlOjI5MzI6IGZvdW5kIC91c3IvYmluL3g4Nl82NC1wYy1saW51eC1nbnUt
Z2NjCmNvbmZpZ3VyZToyOTQzOiByZXN1bHQ6IHg4Nl82NC1wYy1saW51eC1nbnUtZ2NjCmNvbmZp
Z3VyZTozMjE1OiBjaGVja2luZyBmb3IgQyBjb21waWxlciB2ZXJzaW9uCmNvbmZpZ3VyZTozMjIz
OiB4ODZfNjQtcGMtbGludXgtZ251LWdjYyAtLXZlcnNpb24gPiY1Cng4Nl82NC1wYy1saW51eC1n
bnUtZ2NjIChHZW50b28gNC4zLjIgcDEuMCkgNC4zLjIKQ29weXJpZ2h0IChDKSAyMDA4IEZyZWUg
U29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLgpUaGlzIGlzIGZyZWUgc29mdHdhcmU7IHNlZSB0aGUg
c291cmNlIGZvciBjb3B5aW5nIGNvbmRpdGlvbnMuICBUaGVyZSBpcyBOTwp3YXJyYW50eTsgbm90
IGV2ZW4gZm9yIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVS
UE9TRS4KCmNvbmZpZ3VyZTozMjI3OiAkPyA9IDAKY29uZmlndXJlOjMyMzQ6IHg4Nl82NC1wYy1s
aW51eC1nbnUtZ2NjIC12ID4mNQpVc2luZyBidWlsdC1pbiBzcGVjcy4KVGFyZ2V0OiB4ODZfNjQt
cGMtbGludXgtZ251CkNvbmZpZ3VyZWQgd2l0aDogL3Zhci90bXAvcG9ydGFnZS9zeXMtZGV2ZWwv
Z2NjLTQuMy4yL3dvcmsvZ2NjLTQuMy4yL2NvbmZpZ3VyZSAtLXByZWZpeD0vdXNyIC0tYmluZGly
PS91c3IveDg2XzY0LXBjLWxpbnV4LWdudS9nY2MtYmluLzQuMy4yIC0taW5jbHVkZWRpcj0vdXNy
L2xpYi9nY2MveDg2XzY0LXBjLWxpbnV4LWdudS80LjMuMi9pbmNsdWRlIC0tZGF0YWRpcj0vdXNy
L3NoYXJlL2djYy1kYXRhL3g4Nl82NC1wYy1saW51eC1nbnUvNC4zLjIgLS1tYW5kaXI9L3Vzci9z
aGFyZS9nY2MtZGF0YS94ODZfNjQtcGMtbGludXgtZ251LzQuMy4yL21hbiAtLWluZm9kaXI9L3Vz
ci9zaGFyZS9nY2MtZGF0YS94ODZfNjQtcGMtbGludXgtZ251LzQuMy4yL2luZm8gLS13aXRoLWd4
eC1pbmNsdWRlLWRpcj0vdXNyL2xpYi9nY2MveDg2XzY0LXBjLWxpbnV4LWdudS80LjMuMi9pbmNs
dWRlL2crKy12NCAtLWhvc3Q9eDg2XzY0LXBjLWxpbnV4LWdudSAtLWJ1aWxkPXg4Nl82NC1wYy1s
aW51eC1nbnUgLS1kaXNhYmxlLWFsdGl2ZWMgLS1lbmFibGUtbmxzIC0td2l0aG91dC1pbmNsdWRl
ZC1nZXR0ZXh0IC0td2l0aC1zeXN0ZW0temxpYiAtLWRpc2FibGUtY2hlY2tpbmcgLS1kaXNhYmxl
LXdlcnJvciAtLWVuYWJsZS1zZWN1cmVwbHQgLS1lbmFibGUtbXVsdGlsaWIgLS1lbmFibGUtbGli
bXVkZmxhcCAtLWRpc2FibGUtbGlic3NwIC0tZW5hYmxlLWNsZCAtLWVuYWJsZS1qYXZhLWF3dD1n
dGsgLS1lbmFibGUtbGFuZ3VhZ2VzPWMsYysrLGphdmEsdHJlZWxhbmcsZm9ydHJhbiAtLWVuYWJs
ZS1zaGFyZWQgLS1lbmFibGUtdGhyZWFkcz1wb3NpeCAtLWVuYWJsZS1fX2N4YV9hdGV4aXQgLS1l
bmFibGUtY2xvY2FsZT1nbnUgLS13aXRoLWJ1Z3VybD1odHRwOi8vYnVncy5nZW50b28ub3JnLyAt
LXdpdGgtcGtndmVyc2lvbj0nR2VudG9vIDQuMy4yIHAxLjAnClRocmVhZCBtb2RlbDogcG9zaXgK
Z2NjIHZlcnNpb24gNC4zLjIgKEdlbnRvbyA0LjMuMiBwMS4wKSAKY29uZmlndXJlOjMyMzg6ICQ/
ID0gMApjb25maWd1cmU6MzI0NTogeDg2XzY0LXBjLWxpbnV4LWdudS1nY2MgLVYgPiY1Cng4Nl82
NC1wYy1saW51eC1nbnUtZ2NjOiAnLVYnIG9wdGlvbiBtdXN0IGhhdmUgYXJndW1lbnQKY29uZmln
dXJlOjMyNDk6ICQ/ID0gMQpjb25maWd1cmU6MzI3MjogY2hlY2tpbmcgZm9yIEMgY29tcGlsZXIg
ZGVmYXVsdCBvdXRwdXQgZmlsZSBuYW1lCmNvbmZpZ3VyZTozMjk0OiB4ODZfNjQtcGMtbGludXgt
Z251LWdjYyAtbWFyY2g9bm9jb25hIC1PMiAtcGlwZSAgLVdsLC1PMSBjb25mdGVzdC5jICA+JjUK
Y29uZmlndXJlOjMyOTg6ICQ/ID0gMApjb25maWd1cmU6MzMzNjogcmVzdWx0OiBhLm91dApjb25m
aWd1cmU6MzM1NTogY2hlY2tpbmcgd2hldGhlciB0aGUgQyBjb21waWxlciB3b3Jrcwpjb25maWd1
cmU6MzM2NTogLi9hLm91dApjb25maWd1cmU6MzM2OTogJD8gPSAwCmNvbmZpZ3VyZTozMzg4OiBy
ZXN1bHQ6IHllcwpjb25maWd1cmU6MzM5NTogY2hlY2tpbmcgd2hldGhlciB3ZSBhcmUgY3Jvc3Mg
Y29tcGlsaW5nCmNvbmZpZ3VyZTozMzk3OiByZXN1bHQ6IG5vCmNvbmZpZ3VyZTozNDAwOiBjaGVj
a2luZyBmb3Igc3VmZml4IG9mIGV4ZWN1dGFibGVzCmNvbmZpZ3VyZTozNDA3OiB4ODZfNjQtcGMt
bGludXgtZ251LWdjYyAtbyBjb25mdGVzdCAtbWFyY2g9bm9jb25hIC1PMiAtcGlwZSAgLVdsLC1P
MSBjb25mdGVzdC5jICA+JjUKY29uZmlndXJlOjM0MTE6ICQ/ID0gMApjb25maWd1cmU6MzQzNzog
cmVzdWx0OiAKY29uZmlndXJlOjM0NDM6IGNoZWNraW5nIGZvciBzdWZmaXggb2Ygb2JqZWN0IGZp
bGVzCmNvbmZpZ3VyZTozNDY5OiB4ODZfNjQtcGMtbGludXgtZ251LWdjYyAtYyAtbWFyY2g9bm9j
b25hIC1PMiAtcGlwZSAgY29uZnRlc3QuYyA+JjUKY29uZmlndXJlOjM0NzM6ICQ/ID0gMApjb25m
aWd1cmU6MzQ5ODogcmVzdWx0OiBvCmNvbmZpZ3VyZTozNTAyOiBjaGVja2luZyB3aGV0aGVyIHdl
IGFyZSB1c2luZyB0aGUgR05VIEMgY29tcGlsZXIKY29uZmlndXJlOjM1MzE6IHg4Nl82NC1wYy1s
aW51eC1nbnUtZ2NjIC1jIC1tYXJjaD1ub2NvbmEgLU8yIC1waXBlICBjb25mdGVzdC5jID4mNQpj
b25maWd1cmU6MzUzODogJD8gPSAwCmNvbmZpZ3VyZTozNTU1OiByZXN1bHQ6IHllcwpjb25maWd1
cmU6MzU2NDogY2hlY2tpbmcgd2hldGhlciB4ODZfNjQtcGMtbGludXgtZ251LWdjYyBhY2NlcHRz
IC1nCmNvbmZpZ3VyZTozNTk0OiB4ODZfNjQtcGMtbGludXgtZ251LWdjYyAtYyAtZyAgY29uZnRl
c3QuYyA+JjUKY29uZmlndXJlOjM2MDE6ICQ/ID0gMApjb25maWd1cmU6MzcwMjogcmVzdWx0OiB5
ZXMKY29uZmlndXJlOjM3MTk6IGNoZWNraW5nIGZvciB4ODZfNjQtcGMtbGludXgtZ251LWdjYyBv
cHRpb24gdG8gYWNjZXB0IElTTyBDODkKY29uZmlndXJlOjM3OTM6IHg4Nl82NC1wYy1saW51eC1n
bnUtZ2NjICAtYyAtbWFyY2g9bm9jb25hIC1PMiAtcGlwZSAgY29uZnRlc3QuYyA+JjUKY29uZmln
dXJlOjM4MDA6ICQ/ID0gMApjb25maWd1cmU6MzgyMzogcmVzdWx0OiBub25lIG5lZWRlZApjb25m
aWd1cmU6Mzg1MjogY2hlY2tpbmcgZm9yIHN0eWxlIG9mIGluY2x1ZGUgdXNlZCBieSBtYWtlCmNv
bmZpZ3VyZTozODgwOiByZXN1bHQ6IEdOVQpjb25maWd1cmU6MzkwODogY2hlY2tpbmcgZGVwZW5k
ZW5jeSBzdHlsZSBvZiB4ODZfNjQtcGMtbGludXgtZ251LWdjYwpjb25maWd1cmU6Mzk5ODogcmVz
dWx0OiBnY2MzCmNvbmZpZ3VyZTo0MDIwOiBjaGVja2luZyBob3cgdG8gcnVuIHRoZSBDIHByZXBy
b2Nlc3Nvcgpjb25maWd1cmU6NDA2MDogeDg2XzY0LXBjLWxpbnV4LWdudS1nY2MgLUUgIGNvbmZ0
ZXN0LmMKY29uZmlndXJlOjQwNjc6ICQ/ID0gMApjb25maWd1cmU6NDA5ODogeDg2XzY0LXBjLWxp
bnV4LWdudS1nY2MgLUUgIGNvbmZ0ZXN0LmMKY29uZnRlc3QuYzoxMDoyODogZXJyb3I6IGFjX25v
bmV4aXN0ZW50Lmg6IE5vIHN1Y2ggZmlsZSBvciBkaXJlY3RvcnkKY29uZmlndXJlOjQxMDU6ICQ/
ID0gMQpjb25maWd1cmU6IGZhaWxlZCBwcm9ncmFtIHdhczoKfCAvKiBjb25mZGVmcy5oLiAgKi8K
fCAjZGVmaW5lIFBBQ0tBR0VfTkFNRSAiIgp8ICNkZWZpbmUgUEFDS0FHRV9UQVJOQU1FICIiCnwg
I2RlZmluZSBQQUNLQUdFX1ZFUlNJT04gIiIKfCAjZGVmaW5lIFBBQ0tBR0VfU1RSSU5HICIiCnwg
I2RlZmluZSBQQUNLQUdFX0JVR1JFUE9SVCAiIgp8ICNkZWZpbmUgUEFDS0FHRSAid2lyZXNoYXJr
Igp8ICNkZWZpbmUgVkVSU0lPTiAiMS4wLjMiCnwgLyogZW5kIGNvbmZkZWZzLmguICAqLwp8ICNp
bmNsdWRlIDxhY19ub25leGlzdGVudC5oPgpjb25maWd1cmU6NDEzODogcmVzdWx0OiB4ODZfNjQt
cGMtbGludXgtZ251LWdjYyAtRQpjb25maWd1cmU6NDE2NzogeDg2XzY0LXBjLWxpbnV4LWdudS1n
Y2MgLUUgIGNvbmZ0ZXN0LmMKY29uZmlndXJlOjQxNzQ6ICQ/ID0gMApjb25maWd1cmU6NDIwNTog
eDg2XzY0LXBjLWxpbnV4LWdudS1nY2MgLUUgIGNvbmZ0ZXN0LmMKY29uZnRlc3QuYzoxMDoyODog
ZXJyb3I6IGFjX25vbmV4aXN0ZW50Lmg6IE5vIHN1Y2ggZmlsZSBvciBkaXJlY3RvcnkKY29uZmln
dXJlOjQyMTI6ICQ/ID0gMQpjb25maWd1cmU6IGZhaWxlZCBwcm9ncmFtIHdhczoKfCAvKiBjb25m
ZGVmcy5oLiAgKi8KfCAjZGVmaW5lIFBBQ0tBR0VfTkFNRSAiIgp8ICNkZWZpbmUgUEFDS0FHRV9U
QVJOQU1FICIiCnwgI2RlZmluZSBQQUNLQUdFX1ZFUlNJT04gIiIKfCAjZGVmaW5lIFBBQ0tBR0Vf
U1RSSU5HICIiCnwgI2RlZmluZSBQQUNLQUdFX0JVR1JFUE9SVCAiIgp8ICNkZWZpbmUgUEFDS0FH
RSAid2lyZXNoYXJrIgp8ICNkZWZpbmUgVkVSU0lPTiAiMS4wLjMiCnwgLyogZW5kIGNvbmZkZWZz
LmguICAqLwp8ICNpbmNsdWRlIDxhY19ub25leGlzdGVudC5oPgpjb25maWd1cmU6NDI4MTogY2hl
Y2tpbmcgZm9yIGEgc2VkIHRoYXQgZG9lcyBub3QgdHJ1bmNhdGUgb3V0cHV0CmNvbmZpZ3VyZTo0
MzQ3OiByZXN1bHQ6IC9iaW4vc2VkCmNvbmZpZ3VyZTo0MzY1OiBjaGVja2luZyBmb3IgZ3JlcCB0
aGF0IGhhbmRsZXMgbG9uZyBsaW5lcyBhbmQgLWUKY29uZmlndXJlOjQ0MjU6IHJlc3VsdDogL2Jp
bi9ncmVwCmNvbmZpZ3VyZTo0NDMwOiBjaGVja2luZyBmb3IgZWdyZXAKY29uZmlndXJlOjQ0OTQ6
IHJlc3VsdDogL2Jpbi9ncmVwIC1FCmNvbmZpZ3VyZTo0NDk5OiBjaGVja2luZyBmb3IgZmdyZXAK
Y29uZmlndXJlOjQ1NjM6IHJlc3VsdDogL2Jpbi9ncmVwIC1GCmNvbmZpZ3VyZTo0NTk4OiBjaGVj
a2luZyBmb3IgbGQgdXNlZCBieSB4ODZfNjQtcGMtbGludXgtZ251LWdjYwpjb25maWd1cmU6NDY2
NTogcmVzdWx0OiAvdXNyL3g4Nl82NC1wYy1saW51eC1nbnUvYmluL2xkCmNvbmZpZ3VyZTo0Njc0
OiBjaGVja2luZyBpZiB0aGUgbGlua2VyICgvdXNyL3g4Nl82NC1wYy1saW51eC1nbnUvYmluL2xk
KSBpcyBHTlUgbGQKY29uZmlndXJlOjQ2ODk6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZTo0NzAxOiBj
aGVja2luZyBmb3IgQlNELSBvciBNUy1jb21wYXRpYmxlIG5hbWUgbGlzdGVyIChubSkKY29uZmln
dXJlOjQ3NTA6IHJlc3VsdDogL3Vzci9iaW4vbm0gLUIKY29uZmlndXJlOjQ4Njg6IGNoZWNraW5n
IHRoZSBuYW1lIGxpc3RlciAoL3Vzci9iaW4vbm0gLUIpIGludGVyZmFjZQpjb25maWd1cmU6NDg3
NTogeDg2XzY0LXBjLWxpbnV4LWdudS1nY2MgLWMgLW1hcmNoPW5vY29uYSAtTzIgLXBpcGUgIGNv
bmZ0ZXN0LmMgPiY1CmNvbmZpZ3VyZTo0ODc4OiAvdXNyL2Jpbi9ubSAtQiAiY29uZnRlc3QubyIK
Y29uZmlndXJlOjQ4ODE6IG91dHB1dAowMDAwMDAwMDAwMDAwMDAwIEIgc29tZV92YXJpYWJsZQpj
b25maWd1cmU6NDg4ODogcmVzdWx0OiBCU0Qgbm0KY29uZmlndXJlOjQ4OTE6IGNoZWNraW5nIHdo
ZXRoZXIgbG4gLXMgd29ya3MKY29uZmlndXJlOjQ4OTU6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZTo0
OTAzOiBjaGVja2luZyB0aGUgbWF4aW11bSBsZW5ndGggb2YgY29tbWFuZCBsaW5lIGFyZ3VtZW50
cwpjb25maWd1cmU6NTAyMzogcmVzdWx0OiAxNTcyODY0CmNvbmZpZ3VyZTo1MDQwOiBjaGVja2lu
ZyB3aGV0aGVyIHRoZSBzaGVsbCB1bmRlcnN0YW5kcyBzb21lIFhTSSBjb25zdHJ1Y3RzCmNvbmZp
Z3VyZTo1MDUwOiByZXN1bHQ6IHllcwpjb25maWd1cmU6NTA1NDogY2hlY2tpbmcgd2hldGhlciB0
aGUgc2hlbGwgdW5kZXJzdGFuZHMgIis9Igpjb25maWd1cmU6NTA2MDogcmVzdWx0OiB5ZXMKY29u
ZmlndXJlOjUwOTU6IGNoZWNraW5nIGZvciAvdXNyL3g4Nl82NC1wYy1saW51eC1nbnUvYmluL2xk
IG9wdGlvbiB0byByZWxvYWQgb2JqZWN0IGZpbGVzCmNvbmZpZ3VyZTo1MTAyOiByZXN1bHQ6IC1y
CmNvbmZpZ3VyZTo1MTMxOiBjaGVja2luZyBmb3IgeDg2XzY0LXBjLWxpbnV4LWdudS1vYmpkdW1w
CmNvbmZpZ3VyZTo1MTQ3OiBmb3VuZCAvdXNyL2Jpbi94ODZfNjQtcGMtbGludXgtZ251LW9iamR1
bXAKY29uZmlndXJlOjUxNTg6IHJlc3VsdDogeDg2XzY0LXBjLWxpbnV4LWdudS1vYmpkdW1wCmNv
bmZpZ3VyZTo1MjMwOiBjaGVja2luZyBob3cgdG8gcmVjb2duaXplIGRlcGVuZGVudCBsaWJyYXJp
ZXMKY29uZmlndXJlOjU0MjY6IHJlc3VsdDogcGFzc19hbGwKY29uZmlndXJlOjU0NDY6IGNoZWNr
aW5nIGZvciB4ODZfNjQtcGMtbGludXgtZ251LWFyCmNvbmZpZ3VyZTo1NDYyOiBmb3VuZCAvdXNy
L2Jpbi94ODZfNjQtcGMtbGludXgtZ251LWFyCmNvbmZpZ3VyZTo1NDczOiByZXN1bHQ6IHg4Nl82
NC1wYy1saW51eC1nbnUtYXIKY29uZmlndXJlOjU1NTE6IGNoZWNraW5nIGZvciB4ODZfNjQtcGMt
bGludXgtZ251LXN0cmlwCmNvbmZpZ3VyZTo1NTY3OiBmb3VuZCAvdXNyL2Jpbi94ODZfNjQtcGMt
bGludXgtZ251LXN0cmlwCmNvbmZpZ3VyZTo1NTc4OiByZXN1bHQ6IHg4Nl82NC1wYy1saW51eC1n
bnUtc3RyaXAKY29uZmlndXJlOjU2NTA6IGNoZWNraW5nIGZvciB4ODZfNjQtcGMtbGludXgtZ251
LXJhbmxpYgpjb25maWd1cmU6NTY2NjogZm91bmQgL3Vzci9iaW4veDg2XzY0LXBjLWxpbnV4LWdu
dS1yYW5saWIKY29uZmlndXJlOjU2Nzc6IHJlc3VsdDogeDg2XzY0LXBjLWxpbnV4LWdudS1yYW5s
aWIKY29uZmlndXJlOjU4MDc6IGNoZWNraW5nIGNvbW1hbmQgdG8gcGFyc2UgL3Vzci9iaW4vbm0g
LUIgb3V0cHV0IGZyb20geDg2XzY0LXBjLWxpbnV4LWdudS1nY2Mgb2JqZWN0CmNvbmZpZ3VyZTo1
OTI1OiB4ODZfNjQtcGMtbGludXgtZ251LWdjYyAtYyAtbWFyY2g9bm9jb25hIC1PMiAtcGlwZSAg
Y29uZnRlc3QuYyA+JjUKY29uZmlndXJlOjU5Mjg6ICQ/ID0gMApjb25maWd1cmU6NTkzMjogL3Vz
ci9iaW4vbm0gLUIgY29uZnRlc3QubyBcfCBzZWQgLW4gLWUgJ3MvXi4qWwkgXVwoW0FCQ0RHSVJT
VFddW0FCQ0RHSVJTVFddKlwpWwkgXVsJIF0qXChbX0EtWmEtel1bX0EtWmEtejAtOV0qXCkkL1wx
IFwyIFwyL3AnIFw+IGNvbmZ0ZXN0Lm5tCmNvbmZpZ3VyZTo1OTM1OiAkPyA9IDAKY29uZmlndXJl
OjU5ODk6IHg4Nl82NC1wYy1saW51eC1nbnUtZ2NjIC1vIGNvbmZ0ZXN0IC1tYXJjaD1ub2NvbmEg
LU8yIC1waXBlICAtV2wsLU8xIGNvbmZ0ZXN0LmMgY29uZnRzdG0ubyA+JjUKY29uZmlndXJlOjU5
OTI6ICQ/ID0gMApjb25maWd1cmU6NjAzMDogcmVzdWx0OiBvawpjb25maWd1cmU6NjEyNjogeDg2
XzY0LXBjLWxpbnV4LWdudS1nY2MgLWMgLW1hcmNoPW5vY29uYSAtTzIgLXBpcGUgIGNvbmZ0ZXN0
LmMgPiY1CmNvbmZpZ3VyZTo2MTI5OiAkPyA9IDAKY29uZmlndXJlOjY4OTM6IGNoZWNraW5nIGZv
ciBBTlNJIEMgaGVhZGVyIGZpbGVzCmNvbmZpZ3VyZTo2OTIzOiB4ODZfNjQtcGMtbGludXgtZ251
LWdjYyAtYyAtbWFyY2g9bm9jb25hIC1PMiAtcGlwZSAgY29uZnRlc3QuYyA+JjUKY29uZmlndXJl
OjY5MzA6ICQ/ID0gMApjb25maWd1cmU6NzAyOTogeDg2XzY0LXBjLWxpbnV4LWdudS1nY2MgLW8g
Y29uZnRlc3QgLW1hcmNoPW5vY29uYSAtTzIgLXBpcGUgIC1XbCwtTzEgY29uZnRlc3QuYyAgPiY1
CmNvbmZpZ3VyZTo3MDMzOiAkPyA9IDAKY29uZmlndXJlOjcwMzk6IC4vY29uZnRlc3QKY29uZmln
dXJlOjcwNDM6ICQ/ID0gMApjb25maWd1cmU6NzA2MTogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjcw
ODU6IGNoZWNraW5nIGZvciBzeXMvdHlwZXMuaApjb25maWd1cmU6NzEwNjogeDg2XzY0LXBjLWxp
bnV4LWdudS1nY2MgLWMgLW1hcmNoPW5vY29uYSAtTzIgLXBpcGUgIGNvbmZ0ZXN0LmMgPiY1CmNv
bmZpZ3VyZTo3MTEzOiAkPyA9IDAKY29uZmlndXJlOjcxMzA6IHJlc3VsdDogeWVzCmNvbmZpZ3Vy
ZTo3MDg1OiBjaGVja2luZyBmb3Igc3lzL3N0YXQuaApjb25maWd1cmU6NzEwNjogeDg2XzY0LXBj
LWxpbnV4LWdudS1nY2MgLWMgLW1hcmNoPW5vY29uYSAtTzIgLXBpcGUgIGNvbmZ0ZXN0LmMgPiY1
CmNvbmZpZ3VyZTo3MTEzOiAkPyA9IDAKY29uZmlndXJlOjcxMzA6IHJlc3VsdDogeWVzCmNvbmZp
Z3VyZTo3MDg1OiBjaGVja2luZyBmb3Igc3RkbGliLmgKY29uZmlndXJlOjcxMDY6IHg4Nl82NC1w
Yy1saW51eC1nbnUtZ2NjIC1jIC1tYXJjaD1ub2NvbmEgLU8yIC1waXBlICBjb25mdGVzdC5jID4m
NQpjb25maWd1cmU6NzExMzogJD8gPSAwCmNvbmZpZ3VyZTo3MTMwOiByZXN1bHQ6IHllcwpjb25m
aWd1cmU6NzA4NTogY2hlY2tpbmcgZm9yIHN0cmluZy5oCmNvbmZpZ3VyZTo3MTA2OiB4ODZfNjQt
cGMtbGludXgtZ251LWdjYyAtYyAtbWFyY2g9bm9jb25hIC1PMiAtcGlwZSAgY29uZnRlc3QuYyA+
JjUKY29uZmlndXJlOjcxMTM6ICQ/ID0gMApjb25maWd1cmU6NzEzMDogcmVzdWx0OiB5ZXMKY29u
ZmlndXJlOjcwODU6IGNoZWNraW5nIGZvciBtZW1vcnkuaApjb25maWd1cmU6NzEwNjogeDg2XzY0
LXBjLWxpbnV4LWdudS1nY2MgLWMgLW1hcmNoPW5vY29uYSAtTzIgLXBpcGUgIGNvbmZ0ZXN0LmMg
PiY1CmNvbmZpZ3VyZTo3MTEzOiAkPyA9IDAKY29uZmlndXJlOjcxMzA6IHJlc3VsdDogeWVzCmNv
bmZpZ3VyZTo3MDg1OiBjaGVja2luZyBmb3Igc3RyaW5ncy5oCmNvbmZpZ3VyZTo3MTA2OiB4ODZf
NjQtcGMtbGludXgtZ251LWdjYyAtYyAtbWFyY2g9bm9jb25hIC1PMiAtcGlwZSAgY29uZnRlc3Qu
YyA+JjUKY29uZmlndXJlOjcxMTM6ICQ/ID0gMApjb25maWd1cmU6NzEzMDogcmVzdWx0OiB5ZXMK
Y29uZmlndXJlOjcwODU6IGNoZWNraW5nIGZvciBpbnR0eXBlcy5oCmNvbmZpZ3VyZTo3MTA2OiB4
ODZfNjQtcGMtbGludXgtZ251LWdjYyAtYyAtbWFyY2g9bm9jb25hIC1PMiAtcGlwZSAgY29uZnRl
c3QuYyA+JjUKY29uZmlndXJlOjcxMTM6ICQ/ID0gMApjb25maWd1cmU6NzEzMDogcmVzdWx0OiB5
ZXMKY29uZmlndXJlOjcwODU6IGNoZWNraW5nIGZvciBzdGRpbnQuaApjb25maWd1cmU6NzEwNjog
eDg2XzY0LXBjLWxpbnV4LWdudS1nY2MgLWMgLW1hcmNoPW5vY29uYSAtTzIgLXBpcGUgIGNvbmZ0
ZXN0LmMgPiY1CmNvbmZpZ3VyZTo3MTEzOiAkPyA9IDAKY29uZmlndXJlOjcxMzA6IHJlc3VsdDog
eWVzCmNvbmZpZ3VyZTo3MDg1OiBjaGVja2luZyBmb3IgdW5pc3RkLmgKY29uZmlndXJlOjcxMDY6
IHg4Nl82NC1wYy1saW51eC1nbnUtZ2NjIC1jIC1tYXJjaD1ub2NvbmEgLU8yIC1waXBlICBjb25m
dGVzdC5jID4mNQpjb25maWd1cmU6NzExMzogJD8gPSAwCmNvbmZpZ3VyZTo3MTMwOiByZXN1bHQ6
IHllcwpjb25maWd1cmU6NzE0ODogY2hlY2tpbmcgZm9yIGRsZmNuLmgKY29uZmlndXJlOjcxNjk6
IHg4Nl82NC1wYy1saW51eC1nbnUtZ2NjIC1jIC1tYXJjaD1ub2NvbmEgLU8yIC1waXBlICBjb25m
dGVzdC5jID4mNQpjb25maWd1cmU6NzE3NjogJD8gPSAwCmNvbmZpZ3VyZTo3MTkzOiByZXN1bHQ6
IHllcwpjb25maWd1cmU6NzM0NzogY2hlY2tpbmcgZm9yIG9iamRpcgpjb25maWd1cmU6NzM2Mjog
cmVzdWx0OiAubGlicwpjb25maWd1cmU6NzY1NDogY2hlY2tpbmcgaWYgeDg2XzY0LXBjLWxpbnV4
LWdudS1nY2Mgc3VwcG9ydHMgLWZuby1ydHRpIC1mbm8tZXhjZXB0aW9ucwpjb25maWd1cmU6NzY3
MjogeDg2XzY0LXBjLWxpbnV4LWdudS1nY2MgLWMgLW1hcmNoPW5vY29uYSAtTzIgLXBpcGUgIC1m
bm8tcnR0aSAtZm5vLWV4Y2VwdGlvbnMgY29uZnRlc3QuYyA+JjUKY2MxOiB3YXJuaW5nOiBjb21t
YW5kIGxpbmUgb3B0aW9uICItZm5vLXJ0dGkiIGlzIHZhbGlkIGZvciBDKysvT2JqQysrIGJ1dCBu
b3QgZm9yIEMKY29uZmlndXJlOjc2NzY6ICQ/ID0gMApjb25maWd1cmU6NzY4OTogcmVzdWx0OiBu
bwpjb25maWd1cmU6NzcwOTogY2hlY2tpbmcgZm9yIHg4Nl82NC1wYy1saW51eC1nbnUtZ2NjIG9w
dGlvbiB0byBwcm9kdWNlIFBJQwpjb25maWd1cmU6Nzk4MTogcmVzdWx0OiAtZlBJQyAtRFBJQwpj
b25maWd1cmU6Nzk5MzogY2hlY2tpbmcgaWYgeDg2XzY0LXBjLWxpbnV4LWdudS1nY2MgUElDIGZs
YWcgLWZQSUMgLURQSUMgd29ya3MKY29uZmlndXJlOjgwMTE6IHg4Nl82NC1wYy1saW51eC1nbnUt
Z2NjIC1jIC1tYXJjaD1ub2NvbmEgLU8yIC1waXBlICAtZlBJQyAtRFBJQyAtRFBJQyBjb25mdGVz
dC5jID4mNQpjb25maWd1cmU6ODAxNTogJD8gPSAwCmNvbmZpZ3VyZTo4MDI4OiByZXN1bHQ6IHll
cwpjb25maWd1cmU6ODA1MjogY2hlY2tpbmcgaWYgeDg2XzY0LXBjLWxpbnV4LWdudS1nY2Mgc3Rh
dGljIGZsYWcgLXN0YXRpYyB3b3Jrcwpjb25maWd1cmU6ODA4MDogcmVzdWx0OiB5ZXMKY29uZmln
dXJlOjgwOTU6IGNoZWNraW5nIGlmIHg4Nl82NC1wYy1saW51eC1nbnUtZ2NjIHN1cHBvcnRzIC1j
IC1vIGZpbGUubwpjb25maWd1cmU6ODExNjogeDg2XzY0LXBjLWxpbnV4LWdudS1nY2MgLWMgLW1h
cmNoPW5vY29uYSAtTzIgLXBpcGUgIC1vIG91dC9jb25mdGVzdDIubyBjb25mdGVzdC5jID4mNQpj
b25maWd1cmU6ODEyMDogJD8gPSAwCmNvbmZpZ3VyZTo4MTQyOiByZXN1bHQ6IHllcwpjb25maWd1
cmU6ODE1MDogY2hlY2tpbmcgaWYgeDg2XzY0LXBjLWxpbnV4LWdudS1nY2Mgc3VwcG9ydHMgLWMg
LW8gZmlsZS5vCmNvbmZpZ3VyZTo4MTk3OiByZXN1bHQ6IHllcwpjb25maWd1cmU6ODIzMDogY2hl
Y2tpbmcgd2hldGhlciB0aGUgeDg2XzY0LXBjLWxpbnV4LWdudS1nY2MgbGlua2VyICgvdXNyL3g4
Nl82NC1wYy1saW51eC1nbnUvYmluL2xkIC1tIGVsZl94ODZfNjQpIHN1cHBvcnRzIHNoYXJlZCBs
aWJyYXJpZXMKY29uZmlndXJlOjkzMDQ6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZTo5MzQxOiBjaGVj
a2luZyB3aGV0aGVyIC1sYyBzaG91bGQgYmUgZXhwbGljaXRseSBsaW5rZWQgaW4KY29uZmlndXJl
OjkzNDY6IHg4Nl82NC1wYy1saW51eC1nbnUtZ2NjIC1jIC1tYXJjaD1ub2NvbmEgLU8yIC1waXBl
ICBjb25mdGVzdC5jID4mNQpjb25maWd1cmU6OTM0OTogJD8gPSAwCmNvbmZpZ3VyZTo5MzY0OiB4
ODZfNjQtcGMtbGludXgtZ251LWdjYyAtc2hhcmVkIGNvbmZ0ZXN0Lm8gIC12IC1XbCwtc29uYW1l
IC1XbCxjb25mdGVzdCAtbyBjb25mdGVzdCAyXD5cJjEgXHwgL2Jpbi9ncmVwICAtbGMgIFw+L2Rl
di9udWxsIDJcPlwmMQpjb25maWd1cmU6OTM2NzogJD8gPSAwCmNvbmZpZ3VyZTo5Mzc5OiByZXN1
bHQ6IG5vCmNvbmZpZ3VyZTo5NTQzOiBjaGVja2luZyBkeW5hbWljIGxpbmtlciBjaGFyYWN0ZXJp
c3RpY3MKY29uZmlndXJlOjk5OTk6IHg4Nl82NC1wYy1saW51eC1nbnUtZ2NjIC1vIGNvbmZ0ZXN0
IC1tYXJjaD1ub2NvbmEgLU8yIC1waXBlICAtV2wsLU8xIC1XbCwtcnBhdGggLVdsLC9mb28gY29u
ZnRlc3QuYyAgPiY1CmNvbmZpZ3VyZToxMDAwNjogJD8gPSAwCmNvbmZpZ3VyZToxMDIzOTogcmVz
dWx0OiBHTlUvTGludXggbGQuc28KY29uZmlndXJlOjEwMzQxOiBjaGVja2luZyBob3cgdG8gaGFy
ZGNvZGUgbGlicmFyeSBwYXRocyBpbnRvIHByb2dyYW1zCmNvbmZpZ3VyZToxMDM2NjogcmVzdWx0
OiBpbW1lZGlhdGUKY29uZmlndXJlOjEwNDg5OiBjaGVja2luZyBmb3Igc2hsX2xvYWQKY29uZmln
dXJlOjEwNTQ1OiB4ODZfNjQtcGMtbGludXgtZ251LWdjYyAtbyBjb25mdGVzdCAtbWFyY2g9bm9j
b25hIC1PMiAtcGlwZSAgLVdsLC1PMSBjb25mdGVzdC5jICA+JjUKL3Zhci90bXAvcG9ydGFnZS9u
ZXQtYW5hbHl6ZXIvd2lyZXNoYXJrLTEuMC4zL3RlbXAvY2NQTVV0eTYubzogSW4gZnVuY3Rpb24g
YG1haW4nOgpjb25mdGVzdC5jOigudGV4dCsweDcpOiB1bmRlZmluZWQgcmVmZXJlbmNlIHRvIGBz
aGxfbG9hZCcKY29sbGVjdDI6IGxkIHJldHVybmVkIDEgZXhpdCBzdGF0dXMKY29uZmlndXJlOjEw
NTUyOiAkPyA9IDEKY29uZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6CnwgLyogY29uZmRlZnMu
aC4gICovCnwgI2RlZmluZSBQQUNLQUdFX05BTUUgIiIKfCAjZGVmaW5lIFBBQ0tBR0VfVEFSTkFN
RSAiIgp8ICNkZWZpbmUgUEFDS0FHRV9WRVJTSU9OICIiCnwgI2RlZmluZSBQQUNLQUdFX1NUUklO
RyAiIgp8ICNkZWZpbmUgUEFDS0FHRV9CVUdSRVBPUlQgIiIKfCAjZGVmaW5lIFBBQ0tBR0UgIndp
cmVzaGFyayIKfCAjZGVmaW5lIFZFUlNJT04gIjEuMC4zIgp8ICNkZWZpbmUgU1REQ19IRUFERVJT
IDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVF9I
IDEKfCAjZGVmaW5lIEhBVkVfU1RETElCX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdfSCAxCnwg
I2RlZmluZSBIQVZFX01FTU9SWV9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HU19IIDEKfCAjZGVm
aW5lIEhBVkVfSU5UVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NURElOVF9IIDEKfCAjZGVmaW5l
IEhBVkVfVU5JU1REX0ggMQp8ICNkZWZpbmUgSEFWRV9ETEZDTl9IIDEKfCAjZGVmaW5lIExUX09C
SkRJUiAiLmxpYnMvIgp8IC8qIGVuZCBjb25mZGVmcy5oLiAgKi8KfCAvKiBEZWZpbmUgc2hsX2xv
YWQgdG8gYW4gaW5ub2N1b3VzIHZhcmlhbnQsIGluIGNhc2UgPGxpbWl0cy5oPiBkZWNsYXJlcyBz
aGxfbG9hZC4KfCAgICBGb3IgZXhhbXBsZSwgSFAtVVggMTFpIDxsaW1pdHMuaD4gZGVjbGFyZXMg
Z2V0dGltZW9mZGF5LiAgKi8KfCAjZGVmaW5lIHNobF9sb2FkIGlubm9jdW91c19zaGxfbG9hZAp8
IAp8IC8qIFN5c3RlbSBoZWFkZXIgdG8gZGVmaW5lIF9fc3R1YiBtYWNyb3MgYW5kIGhvcGVmdWxs
eSBmZXcgcHJvdG90eXBlcywKfCAgICAgd2hpY2ggY2FuIGNvbmZsaWN0IHdpdGggY2hhciBzaGxf
bG9hZCAoKTsgYmVsb3cuCnwgICAgIFByZWZlciA8bGltaXRzLmg+IHRvIDxhc3NlcnQuaD4gaWYg
X19TVERDX18gaXMgZGVmaW5lZCwgc2luY2UKfCAgICAgPGxpbWl0cy5oPiBleGlzdHMgZXZlbiBv
biBmcmVlc3RhbmRpbmcgY29tcGlsZXJzLiAgKi8KfCAKfCAjaWZkZWYgX19TVERDX18KfCAjIGlu
Y2x1ZGUgPGxpbWl0cy5oPgp8ICNlbHNlCnwgIyBpbmNsdWRlIDxhc3NlcnQuaD4KfCAjZW5kaWYK
fCAKfCAjdW5kZWYgc2hsX2xvYWQKfCAKfCAvKiBPdmVycmlkZSBhbnkgR0NDIGludGVybmFsIHBy
b3RvdHlwZSB0byBhdm9pZCBhbiBlcnJvci4KfCAgICBVc2UgY2hhciBiZWNhdXNlIGludCBtaWdo
dCBtYXRjaCB0aGUgcmV0dXJuIHR5cGUgb2YgYSBHQ0MKfCAgICBidWlsdGluIGFuZCB0aGVuIGl0
cyBhcmd1bWVudCBwcm90b3R5cGUgd291bGQgc3RpbGwgYXBwbHkuICAqLwp8ICNpZmRlZiBfX2Nw
bHVzcGx1cwp8IGV4dGVybiAiQyIKfCAjZW5kaWYKfCBjaGFyIHNobF9sb2FkICgpOwp8IC8qIFRo
ZSBHTlUgQyBsaWJyYXJ5IGRlZmluZXMgdGhpcyBmb3IgZnVuY3Rpb25zIHdoaWNoIGl0IGltcGxl
bWVudHMKfCAgICAgdG8gYWx3YXlzIGZhaWwgd2l0aCBFTk9TWVMuICBTb21lIGZ1bmN0aW9ucyBh
cmUgYWN0dWFsbHkgbmFtZWQKfCAgICAgc29tZXRoaW5nIHN0YXJ0aW5nIHdpdGggX18gYW5kIHRo
ZSBub3JtYWwgbmFtZSBpcyBhbiBhbGlhcy4gICovCnwgI2lmIGRlZmluZWQgX19zdHViX3NobF9s
b2FkIHx8IGRlZmluZWQgX19zdHViX19fc2hsX2xvYWQKfCBjaG9rZSBtZQp8ICNlbmRpZgp8IAp8
IGludAp8IG1haW4gKCkKfCB7CnwgcmV0dXJuIHNobF9sb2FkICgpOwp8ICAgOwp8ICAgcmV0dXJu
IDA7CnwgfQpjb25maWd1cmU6MTA1NzI6IHJlc3VsdDogbm8KY29uZmlndXJlOjEwNTc3OiBjaGVj
a2luZyBmb3Igc2hsX2xvYWQgaW4gLWxkbGQKY29uZmlndXJlOjEwNjEyOiB4ODZfNjQtcGMtbGlu
dXgtZ251LWdjYyAtbyBjb25mdGVzdCAtbWFyY2g9bm9jb25hIC1PMiAtcGlwZSAgLVdsLC1PMSBj
b25mdGVzdC5jIC1sZGxkICAgPiY1Ci91c3IvbGliL2djYy94ODZfNjQtcGMtbGludXgtZ251LzQu
My4yLy4uLy4uLy4uLy4uL3g4Nl82NC1wYy1saW51eC1nbnUvYmluL2xkOiBjYW5ub3QgZmluZCAt
bGRsZApjb2xsZWN0MjogbGQgcmV0dXJuZWQgMSBleGl0IHN0YXR1cwpjb25maWd1cmU6MTA2MTk6
ICQ/ID0gMQpjb25maWd1cmU6IGZhaWxlZCBwcm9ncmFtIHdhczoKfCAvKiBjb25mZGVmcy5oLiAg
Ki8KfCAjZGVmaW5lIFBBQ0tBR0VfTkFNRSAiIgp8ICNkZWZpbmUgUEFDS0FHRV9UQVJOQU1FICIi
CnwgI2RlZmluZSBQQUNLQUdFX1ZFUlNJT04gIiIKfCAjZGVmaW5lIFBBQ0tBR0VfU1RSSU5HICIi
CnwgI2RlZmluZSBQQUNLQUdFX0JVR1JFUE9SVCAiIgp8ICNkZWZpbmUgUEFDS0FHRSAid2lyZXNo
YXJrIgp8ICNkZWZpbmUgVkVSU0lPTiAiMS4wLjMiCnwgI2RlZmluZSBTVERDX0hFQURFUlMgMQp8
ICNkZWZpbmUgSEFWRV9TWVNfVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TVEFUX0ggMQp8
ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR19IIDEKfCAjZGVm
aW5lIEhBVkVfTUVNT1JZX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdTX0ggMQp8ICNkZWZpbmUg
SEFWRV9JTlRUWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1RESU5UX0ggMQp8ICNkZWZpbmUgSEFW
RV9VTklTVERfSCAxCnwgI2RlZmluZSBIQVZFX0RMRkNOX0ggMQp8ICNkZWZpbmUgTFRfT0JKRElS
ICIubGlicy8iCnwgLyogZW5kIGNvbmZkZWZzLmguICAqLwp8IAp8IC8qIE92ZXJyaWRlIGFueSBH
Q0MgaW50ZXJuYWwgcHJvdG90eXBlIHRvIGF2b2lkIGFuIGVycm9yLgp8ICAgIFVzZSBjaGFyIGJl
Y2F1c2UgaW50IG1pZ2h0IG1hdGNoIHRoZSByZXR1cm4gdHlwZSBvZiBhIEdDQwp8ICAgIGJ1aWx0
aW4gYW5kIHRoZW4gaXRzIGFyZ3VtZW50IHByb3RvdHlwZSB3b3VsZCBzdGlsbCBhcHBseS4gICov
CnwgI2lmZGVmIF9fY3BsdXNwbHVzCnwgZXh0ZXJuICJDIgp8ICNlbmRpZgp8IGNoYXIgc2hsX2xv
YWQgKCk7CnwgaW50CnwgbWFpbiAoKQp8IHsKfCByZXR1cm4gc2hsX2xvYWQgKCk7CnwgICA7Cnwg
ICByZXR1cm4gMDsKfCB9CmNvbmZpZ3VyZToxMDY0MDogcmVzdWx0OiBubwpjb25maWd1cmU6MTA2
NDU6IGNoZWNraW5nIGZvciBkbG9wZW4KY29uZmlndXJlOjEwNzAxOiB4ODZfNjQtcGMtbGludXgt
Z251LWdjYyAtbyBjb25mdGVzdCAtbWFyY2g9bm9jb25hIC1PMiAtcGlwZSAgLVdsLC1PMSBjb25m
dGVzdC5jICA+JjUKL3Zhci90bXAvcG9ydGFnZS9uZXQtYW5hbHl6ZXIvd2lyZXNoYXJrLTEuMC4z
L3RlbXAvY2N6cTJtZWIubzogSW4gZnVuY3Rpb24gYG1haW4nOgpjb25mdGVzdC5jOigudGV4dCsw
eDcpOiB1bmRlZmluZWQgcmVmZXJlbmNlIHRvIGBkbG9wZW4nCmNvbGxlY3QyOiBsZCByZXR1cm5l
ZCAxIGV4aXQgc3RhdHVzCmNvbmZpZ3VyZToxMDcwODogJD8gPSAxCmNvbmZpZ3VyZTogZmFpbGVk
IHByb2dyYW0gd2FzOgp8IC8qIGNvbmZkZWZzLmguICAqLwp8ICNkZWZpbmUgUEFDS0FHRV9OQU1F
ICIiCnwgI2RlZmluZSBQQUNLQUdFX1RBUk5BTUUgIiIKfCAjZGVmaW5lIFBBQ0tBR0VfVkVSU0lP
TiAiIgp8ICNkZWZpbmUgUEFDS0FHRV9TVFJJTkcgIiIKfCAjZGVmaW5lIFBBQ0tBR0VfQlVHUkVQ
T1JUICIiCnwgI2RlZmluZSBQQUNLQUdFICJ3aXJlc2hhcmsiCnwgI2RlZmluZSBWRVJTSU9OICIx
LjAuMyIKfCAjZGVmaW5lIFNURENfSEVBREVSUyAxCnwgI2RlZmluZSBIQVZFX1NZU19UWVBFU19I
IDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRfSCAxCnwgI2RlZmluZSBIQVZFX1NURExJQl9IIDEK
fCAjZGVmaW5lIEhBVkVfU1RSSU5HX0ggMQp8ICNkZWZpbmUgSEFWRV9NRU1PUllfSCAxCnwgI2Rl
ZmluZSBIQVZFX1NUUklOR1NfSCAxCnwgI2RlZmluZSBIQVZFX0lOVFRZUEVTX0ggMQp8ICNkZWZp
bmUgSEFWRV9TVERJTlRfSCAxCnwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDEKfCAjZGVmaW5lIEhB
VkVfRExGQ05fSCAxCnwgI2RlZmluZSBMVF9PQkpESVIgIi5saWJzLyIKfCAvKiBlbmQgY29uZmRl
ZnMuaC4gICovCnwgLyogRGVmaW5lIGRsb3BlbiB0byBhbiBpbm5vY3VvdXMgdmFyaWFudCwgaW4g
Y2FzZSA8bGltaXRzLmg+IGRlY2xhcmVzIGRsb3Blbi4KfCAgICBGb3IgZXhhbXBsZSwgSFAtVVgg
MTFpIDxsaW1pdHMuaD4gZGVjbGFyZXMgZ2V0dGltZW9mZGF5LiAgKi8KfCAjZGVmaW5lIGRsb3Bl
biBpbm5vY3VvdXNfZGxvcGVuCnwgCnwgLyogU3lzdGVtIGhlYWRlciB0byBkZWZpbmUgX19zdHVi
IG1hY3JvcyBhbmQgaG9wZWZ1bGx5IGZldyBwcm90b3R5cGVzLAp8ICAgICB3aGljaCBjYW4gY29u
ZmxpY3Qgd2l0aCBjaGFyIGRsb3BlbiAoKTsgYmVsb3cuCnwgICAgIFByZWZlciA8bGltaXRzLmg+
IHRvIDxhc3NlcnQuaD4gaWYgX19TVERDX18gaXMgZGVmaW5lZCwgc2luY2UKfCAgICAgPGxpbWl0
cy5oPiBleGlzdHMgZXZlbiBvbiBmcmVlc3RhbmRpbmcgY29tcGlsZXJzLiAgKi8KfCAKfCAjaWZk
ZWYgX19TVERDX18KfCAjIGluY2x1ZGUgPGxpbWl0cy5oPgp8ICNlbHNlCnwgIyBpbmNsdWRlIDxh
c3NlcnQuaD4KfCAjZW5kaWYKfCAKfCAjdW5kZWYgZGxvcGVuCnwgCnwgLyogT3ZlcnJpZGUgYW55
IEdDQyBpbnRlcm5hbCBwcm90b3R5cGUgdG8gYXZvaWQgYW4gZXJyb3IuCnwgICAgVXNlIGNoYXIg
YmVjYXVzZSBpbnQgbWlnaHQgbWF0Y2ggdGhlIHJldHVybiB0eXBlIG9mIGEgR0NDCnwgICAgYnVp
bHRpbiBhbmQgdGhlbiBpdHMgYXJndW1lbnQgcHJvdG90eXBlIHdvdWxkIHN0aWxsIGFwcGx5LiAg
Ki8KfCAjaWZkZWYgX19jcGx1c3BsdXMKfCBleHRlcm4gIkMiCnwgI2VuZGlmCnwgY2hhciBkbG9w
ZW4gKCk7CnwgLyogVGhlIEdOVSBDIGxpYnJhcnkgZGVmaW5lcyB0aGlzIGZvciBmdW5jdGlvbnMg
d2hpY2ggaXQgaW1wbGVtZW50cwp8ICAgICB0byBhbHdheXMgZmFpbCB3aXRoIEVOT1NZUy4gIFNv
bWUgZnVuY3Rpb25zIGFyZSBhY3R1YWxseSBuYW1lZAp8ICAgICBzb21ldGhpbmcgc3RhcnRpbmcg
d2l0aCBfXyBhbmQgdGhlIG5vcm1hbCBuYW1lIGlzIGFuIGFsaWFzLiAgKi8KfCAjaWYgZGVmaW5l
ZCBfX3N0dWJfZGxvcGVuIHx8IGRlZmluZWQgX19zdHViX19fZGxvcGVuCnwgY2hva2UgbWUKfCAj
ZW5kaWYKfCAKfCBpbnQKfCBtYWluICgpCnwgewp8IHJldHVybiBkbG9wZW4gKCk7CnwgICA7Cnwg
ICByZXR1cm4gMDsKfCB9CmNvbmZpZ3VyZToxMDcyODogcmVzdWx0OiBubwpjb25maWd1cmU6MTA3
MzM6IGNoZWNraW5nIGZvciBkbG9wZW4gaW4gLWxkbApjb25maWd1cmU6MTA3Njg6IHg4Nl82NC1w
Yy1saW51eC1nbnUtZ2NjIC1vIGNvbmZ0ZXN0IC1tYXJjaD1ub2NvbmEgLU8yIC1waXBlICAtV2ws
LU8xIGNvbmZ0ZXN0LmMgLWxkbCAgID4mNQpjb25maWd1cmU6MTA3NzU6ICQ/ID0gMApjb25maWd1
cmU6MTA3OTY6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZToxMDk3MzogY2hlY2tpbmcgd2hldGhlciBh
IHByb2dyYW0gY2FuIGRsb3BlbiBpdHNlbGYKY29uZmlndXJlOjExMDQzOiB4ODZfNjQtcGMtbGlu
dXgtZ251LWdjYyAtbyBjb25mdGVzdCAtbWFyY2g9bm9jb25hIC1PMiAtcGlwZSAgLURIQVZFX0RM
RkNOX0ggLVdsLC1PMSAtV2wsLS1leHBvcnQtZHluYW1pYyBjb25mdGVzdC5jIC1sZGwgID4mNQpj
b25maWd1cmU6MTEwNDY6ICQ/ID0gMApjb25maWd1cmU6MTEwNjQ6IHJlc3VsdDogeWVzCmNvbmZp
Z3VyZToxMTA2OTogY2hlY2tpbmcgd2hldGhlciBhIHN0YXRpY2FsbHkgbGlua2VkIHByb2dyYW0g
Y2FuIGRsb3BlbiBpdHNlbGYKY29uZmlndXJlOjExMTM5OiB4ODZfNjQtcGMtbGludXgtZ251LWdj
YyAtbyBjb25mdGVzdCAtbWFyY2g9bm9jb25hIC1PMiAtcGlwZSAgLURIQVZFX0RMRkNOX0ggLVds
LC1PMSAtV2wsLS1leHBvcnQtZHluYW1pYyAtc3RhdGljIGNvbmZ0ZXN0LmMgLWxkbCAgPiY1Ci92
YXIvdG1wL3BvcnRhZ2UvbmV0LWFuYWx5emVyL3dpcmVzaGFyay0xLjAuMy90ZW1wL2NjVmhUN1Rn
Lm86IEluIGZ1bmN0aW9uIGBtYWluJzoKY29uZnRlc3QuYzooLnRleHQrMHhhKTogd2FybmluZzog
VXNpbmcgJ2Rsb3BlbicgaW4gc3RhdGljYWxseSBsaW5rZWQgYXBwbGljYXRpb25zIHJlcXVpcmVz
IGF0IHJ1bnRpbWUgdGhlIHNoYXJlZCBsaWJyYXJpZXMgZnJvbSB0aGUgZ2xpYmMgdmVyc2lvbiB1
c2VkIGZvciBsaW5raW5nCmNvbmZpZ3VyZToxMTE0MjogJD8gPSAwCi9saWI2NC86IGNhbm5vdCBy
ZWFkIGZpbGUgZGF0YTogSXMgYSBkaXJlY3RvcnkKY29uZmlndXJlOjExMTYwOiByZXN1bHQ6IG5v
CmNvbmZpZ3VyZToxMTE5OTogY2hlY2tpbmcgd2hldGhlciBzdHJpcHBpbmcgbGlicmFyaWVzIGlz
IHBvc3NpYmxlCmNvbmZpZ3VyZToxMTIwNDogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjExMjM5OiBj
aGVja2luZyBpZiBsaWJ0b29sIHN1cHBvcnRzIHNoYXJlZCBsaWJyYXJpZXMKY29uZmlndXJlOjEx
MjQxOiByZXN1bHQ6IHllcwpjb25maWd1cmU6MTEyNDQ6IGNoZWNraW5nIHdoZXRoZXIgdG8gYnVp
bGQgc2hhcmVkIGxpYnJhcmllcwpjb25maWd1cmU6MTEyNjU6IHJlc3VsdDogeWVzCmNvbmZpZ3Vy
ZToxMTI2ODogY2hlY2tpbmcgd2hldGhlciB0byBidWlsZCBzdGF0aWMgbGlicmFyaWVzCmNvbmZp
Z3VyZToxMTI3MjogcmVzdWx0OiBubwpjb25maWd1cmU6MTEzMDk6IGNoZWNraW5nIGZvciBwZXJs
CmNvbmZpZ3VyZToxMTMyNzogZm91bmQgL3Vzci9iaW4vcGVybApjb25maWd1cmU6MTEzMzk6IHJl
c3VsdDogL3Vzci9iaW4vcGVybApjb25maWd1cmU6MTEzNTE6IGNoZWNraW5nIGZvciBiaXNvbgpj
b25maWd1cmU6MTEzNjc6IGZvdW5kIC91c3IvYmluL2Jpc29uCmNvbmZpZ3VyZToxMTM3ODogcmVz
dWx0OiBiaXNvbiAteQpjb25maWd1cmU6MTEzOTI6IGNoZWNraW5nIGZvciBiaXNvbgpjb25maWd1
cmU6MTE0MTA6IGZvdW5kIC91c3IvYmluL2Jpc29uCmNvbmZpZ3VyZToxMTQyMjogcmVzdWx0OiAv
dXNyL2Jpbi9iaXNvbgpjb25maWd1cmU6MTE0NDA6IGNoZWNraW5nIGZvciBmbGV4CmNvbmZpZ3Vy
ZToxMTQ1NjogZm91bmQgL3Vzci9iaW4vZmxleApjb25maWd1cmU6MTE0Njc6IHJlc3VsdDogZmxl
eApjb25maWd1cmU6MTE1MDQ6IGZsZXggY29uZnRlc3QubApjb25maWd1cmU6MTE1MDg6ICQ/ID0g
MApjb25maWd1cmU6MTE1MTA6IGNoZWNraW5nIGxleCBvdXRwdXQgZmlsZSByb290CmNvbmZpZ3Vy
ZToxMTUyNjogcmVzdWx0OiBsZXgueXkKY29uZmlndXJlOjExNTMxOiBjaGVja2luZyBsZXggbGli
cmFyeQpjb25maWd1cmU6MTE1NTA6IHg4Nl82NC1wYy1saW51eC1nbnUtZ2NjIC1vIGNvbmZ0ZXN0
IC1tYXJjaD1ub2NvbmEgLU8yIC1waXBlICAtV2wsLU8xIGNvbmZ0ZXN0LmMgICA+JjUKL3Zhci90
bXAvcG9ydGFnZS9uZXQtYW5hbHl6ZXIvd2lyZXNoYXJrLTEuMC4zL3RlbXAvY2NPVmpad2Qubzog
SW4gZnVuY3Rpb24gYHl5bGV4JzoKY29uZnRlc3QuYzooLnRleHQrMHhlZjApOiB1bmRlZmluZWQg
cmVmZXJlbmNlIHRvIGB5eXdyYXAnCmNvbmZ0ZXN0LmM6KC50ZXh0KzB4MTI5NSk6IHVuZGVmaW5l
ZCByZWZlcmVuY2UgdG8gYHl5d3JhcCcKL3Zhci90bXAvcG9ydGFnZS9uZXQtYW5hbHl6ZXIvd2ly
ZXNoYXJrLTEuMC4zL3RlbXAvY2NPVmpad2QubzogSW4gZnVuY3Rpb24gYG1haW4nOgpjb25mdGVz
dC5jOigudGV4dCsweDE0YjkpOiB1bmRlZmluZWQgcmVmZXJlbmNlIHRvIGB5eXdyYXAnCmNvbGxl
Y3QyOiBsZCByZXR1cm5lZCAxIGV4aXQgc3RhdHVzCmNvbmZpZ3VyZToxMTU1NzogJD8gPSAxCmNv
bmZpZ3VyZTogZmFpbGVkIHByb2dyYW0gd2FzOgp8IAp8ICNsaW5lIDMgImxleC55eS5jIgp8IAp8
ICNkZWZpbmUgIFlZX0lOVF9BTElHTkVEIHNob3J0IGludAp8IAp8IC8qIEEgbGV4aWNhbCBzY2Fu
bmVyIGdlbmVyYXRlZCBieSBmbGV4ICovCnwgCnwgI2RlZmluZSBGTEVYX1NDQU5ORVIKfCAjZGVm
aW5lIFlZX0ZMRVhfTUFKT1JfVkVSU0lPTiAyCnwgI2RlZmluZSBZWV9GTEVYX01JTk9SX1ZFUlNJ
T04gNQp8ICNkZWZpbmUgWVlfRkxFWF9TVUJNSU5PUl9WRVJTSU9OIDM1CnwgI2lmIFlZX0ZMRVhf
U1VCTUlOT1JfVkVSU0lPTiA+IDAKfCAjZGVmaW5lIEZMRVhfQkVUQQp8ICNlbmRpZgp8IAp8IC8q
IEZpcnN0LCB3ZSBkZWFsIHdpdGggIHBsYXRmb3JtLXNwZWNpZmljIG9yIGNvbXBpbGVyLXNwZWNp
ZmljIGlzc3Vlcy4gKi8KfCAKfCAvKiBiZWdpbiBzdGFuZGFyZCBDIGhlYWRlcnMuICovCnwgI2lu
Y2x1ZGUgPHN0ZGlvLmg+CnwgI2luY2x1ZGUgPHN0cmluZy5oPgp8ICNpbmNsdWRlIDxlcnJuby5o
Pgp8ICNpbmNsdWRlIDxzdGRsaWIuaD4KfCAKfCAvKiBlbmQgc3RhbmRhcmQgQyBoZWFkZXJzLiAq
Lwp8IAp8IC8qIGZsZXggaW50ZWdlciB0eXBlIGRlZmluaXRpb25zICovCnwgCnwgI2lmbmRlZiBG
TEVYSU5UX0gKfCAjZGVmaW5lIEZMRVhJTlRfSAp8IAp8IC8qIEM5OSBzeXN0ZW1zIGhhdmUgPGlu
dHR5cGVzLmg+LiBOb24tQzk5IHN5c3RlbXMgbWF5IG9yIG1heSBub3QuICovCnwgCnwgI2lmIGRl
ZmluZWQgKF9fU1REQ19WRVJTSU9OX18pICYmIF9fU1REQ19WRVJTSU9OX18gPj0gMTk5OTAxTAp8
IAp8IC8qIEM5OSBzYXlzIHRvIGRlZmluZSBfX1NURENfTElNSVRfTUFDUk9TIGJlZm9yZSBpbmNs
dWRpbmcgc3RkaW50LmgsCnwgICogaWYgeW91IHdhbnQgdGhlIGxpbWl0IChtYXgvbWluKSBtYWNy
b3MgZm9yIGludCB0eXBlcy4gCnwgICovCnwgI2lmbmRlZiBfX1NURENfTElNSVRfTUFDUk9TCnwg
I2RlZmluZSBfX1NURENfTElNSVRfTUFDUk9TIDEKfCAjZW5kaWYKfCAKfCAjaW5jbHVkZSA8aW50
dHlwZXMuaD4KfCB0eXBlZGVmIGludDhfdCBmbGV4X2ludDhfdDsKfCB0eXBlZGVmIHVpbnQ4X3Qg
ZmxleF91aW50OF90Owp8IHR5cGVkZWYgaW50MTZfdCBmbGV4X2ludDE2X3Q7CnwgdHlwZWRlZiB1
aW50MTZfdCBmbGV4X3VpbnQxNl90Owp8IHR5cGVkZWYgaW50MzJfdCBmbGV4X2ludDMyX3Q7Cnwg
dHlwZWRlZiB1aW50MzJfdCBmbGV4X3VpbnQzMl90Owp8ICNlbHNlCnwgdHlwZWRlZiBzaWduZWQg
Y2hhciBmbGV4X2ludDhfdDsKfCB0eXBlZGVmIHNob3J0IGludCBmbGV4X2ludDE2X3Q7CnwgdHlw
ZWRlZiBpbnQgZmxleF9pbnQzMl90Owp8IHR5cGVkZWYgdW5zaWduZWQgY2hhciBmbGV4X3VpbnQ4
X3Q7IAp8IHR5cGVkZWYgdW5zaWduZWQgc2hvcnQgaW50IGZsZXhfdWludDE2X3Q7CnwgdHlwZWRl
ZiB1bnNpZ25lZCBpbnQgZmxleF91aW50MzJfdDsKfCAjZW5kaWYgLyogISBDOTkgKi8KfCAKfCAv
KiBMaW1pdHMgb2YgaW50ZWdyYWwgdHlwZXMuICovCnwgI2lmbmRlZiBJTlQ4X01JTgp8ICNkZWZp
bmUgSU5UOF9NSU4gICAgICAgICAgICAgICAoLTEyOCkKfCAjZW5kaWYKfCAjaWZuZGVmIElOVDE2
X01JTgp8ICNkZWZpbmUgSU5UMTZfTUlOICAgICAgICAgICAgICAoLTMyNzY3LTEpCnwgI2VuZGlm
CnwgI2lmbmRlZiBJTlQzMl9NSU4KfCAjZGVmaW5lIElOVDMyX01JTiAgICAgICAgICAgICAgKC0y
MTQ3NDgzNjQ3LTEpCnwgI2VuZGlmCnwgI2lmbmRlZiBJTlQ4X01BWAp8ICNkZWZpbmUgSU5UOF9N
QVggICAgICAgICAgICAgICAoMTI3KQp8ICNlbmRpZgp8ICNpZm5kZWYgSU5UMTZfTUFYCnwgI2Rl
ZmluZSBJTlQxNl9NQVggICAgICAgICAgICAgICgzMjc2NykKfCAjZW5kaWYKfCAjaWZuZGVmIElO
VDMyX01BWAp8ICNkZWZpbmUgSU5UMzJfTUFYICAgICAgICAgICAgICAoMjE0NzQ4MzY0NykKfCAj
ZW5kaWYKfCAjaWZuZGVmIFVJTlQ4X01BWAp8ICNkZWZpbmUgVUlOVDhfTUFYICAgICAgICAgICAg
ICAoMjU1VSkKfCAjZW5kaWYKfCAjaWZuZGVmIFVJTlQxNl9NQVgKfCAjZGVmaW5lIFVJTlQxNl9N
QVggICAgICAgICAgICAgKDY1NTM1VSkKfCAjZW5kaWYKfCAjaWZuZGVmIFVJTlQzMl9NQVgKfCAj
ZGVmaW5lIFVJTlQzMl9NQVggICAgICAgICAgICAgKDQyOTQ5NjcyOTVVKQp8ICNlbmRpZgp8IAp8
ICNlbmRpZiAvKiAhIEZMRVhJTlRfSCAqLwp8IAp8ICNpZmRlZiBfX2NwbHVzcGx1cwp8IAp8IC8q
IFRoZSAiY29uc3QiIHN0b3JhZ2UtY2xhc3MtbW9kaWZpZXIgaXMgdmFsaWQuICovCnwgI2RlZmlu
ZSBZWV9VU0VfQ09OU1QKfCAKfCAjZWxzZQkvKiAhIF9fY3BsdXNwbHVzICovCnwgCnwgLyogQzk5
IHJlcXVpcmVzIF9fU1REQ19fIHRvIGJlIGRlZmluZWQgYXMgMS4gKi8KfCAjaWYgZGVmaW5lZCAo
X19TVERDX18pCnwgCnwgI2RlZmluZSBZWV9VU0VfQ09OU1QKfCAKfCAjZW5kaWYJLyogZGVmaW5l
ZCAoX19TVERDX18pICovCnwgI2VuZGlmCS8qICEgX19jcGx1c3BsdXMgKi8KfCAKfCAjaWZkZWYg
WVlfVVNFX0NPTlNUCnwgI2RlZmluZSB5eWNvbnN0IGNvbnN0CnwgI2Vsc2UKfCAjZGVmaW5lIHl5
Y29uc3QKfCAjZW5kaWYKfCAKfCAvKiBSZXR1cm5lZCB1cG9uIGVuZC1vZi1maWxlLiAqLwp8ICNk
ZWZpbmUgWVlfTlVMTCAwCnwgCnwgLyogUHJvbW90ZXMgYSBwb3NzaWJseSBuZWdhdGl2ZSwgcG9z
c2libHkgc2lnbmVkIGNoYXIgdG8gYW4gdW5zaWduZWQKfCAgKiBpbnRlZ2VyIGZvciB1c2UgYXMg
YW4gYXJyYXkgaW5kZXguICBJZiB0aGUgc2lnbmVkIGNoYXIgaXMgbmVnYXRpdmUsCnwgICogd2Ug
d2FudCB0byBpbnN0ZWFkIHRyZWF0IGl0IGFzIGFuIDgtYml0IHVuc2lnbmVkIGNoYXIsIGhlbmNl
IHRoZQp8ICAqIGRvdWJsZSBjYXN0Lgp8ICAqLwp8ICNkZWZpbmUgWVlfU0NfVE9fVUkoYykgKCh1
bnNpZ25lZCBpbnQpICh1bnNpZ25lZCBjaGFyKSBjKQp8IAp8IC8qIEVudGVyIGEgc3RhcnQgY29u
ZGl0aW9uLiAgVGhpcyBtYWNybyByZWFsbHkgb3VnaHQgdG8gdGFrZSBhIHBhcmFtZXRlciwKfCAg
KiBidXQgd2UgZG8gaXQgdGhlIGRpc2d1c3RpbmcgY3J1ZnR5IHdheSBmb3JjZWQgb24gdXMgYnkg
dGhlICgpLWxlc3MKfCAgKiBkZWZpbml0aW9uIG9mIEJFR0lOLgp8ICAqLwp8ICNkZWZpbmUgQkVH
SU4gKHl5X3N0YXJ0KSA9IDEgKyAyICoKfCAKfCAvKiBUcmFuc2xhdGUgdGhlIGN1cnJlbnQgc3Rh
cnQgc3RhdGUgaW50byBhIHZhbHVlIHRoYXQgY2FuIGJlIGxhdGVyIGhhbmRlZAp8ICAqIHRvIEJF
R0lOIHRvIHJldHVybiB0byB0aGUgc3RhdGUuICBUaGUgWVlTVEFURSBhbGlhcyBpcyBmb3IgbGV4
CnwgICogY29tcGF0aWJpbGl0eS4KfCAgKi8KfCAjZGVmaW5lIFlZX1NUQVJUICgoKHl5X3N0YXJ0
KSAtIDEpIC8gMikKfCAjZGVmaW5lIFlZU1RBVEUgWVlfU1RBUlQKfCAKfCAvKiBBY3Rpb24gbnVt
YmVyIGZvciBFT0YgcnVsZSBvZiBhIGdpdmVuIHN0YXJ0IHN0YXRlLiAqLwp8ICNkZWZpbmUgWVlf
U1RBVEVfRU9GKHN0YXRlKSAoWVlfRU5EX09GX0JVRkZFUiArIHN0YXRlICsgMSkKfCAKfCAvKiBT
cGVjaWFsIGFjdGlvbiBtZWFuaW5nICJzdGFydCBwcm9jZXNzaW5nIGEgbmV3IGZpbGUiLiAqLwp8
ICNkZWZpbmUgWVlfTkVXX0ZJTEUgeXlyZXN0YXJ0KHl5aW4gICkKfCAKfCAjZGVmaW5lIFlZX0VO
RF9PRl9CVUZGRVJfQ0hBUiAwCnwgCnwgLyogU2l6ZSBvZiBkZWZhdWx0IGlucHV0IGJ1ZmZlci4g
Ki8KfCAjaWZuZGVmIFlZX0JVRl9TSVpFCnwgI2RlZmluZSBZWV9CVUZfU0laRSAxNjM4NAp8ICNl
bmRpZgp8IAp8IC8qIFRoZSBzdGF0ZSBidWYgbXVzdCBiZSBsYXJnZSBlbm91Z2ggdG8gaG9sZCBv
bmUgc3RhdGUgcGVyIGNoYXJhY3RlciBpbiB0aGUgbWFpbiBidWZmZXIuCnwgICovCnwgI2RlZmlu
ZSBZWV9TVEFURV9CVUZfU0laRSAgICgoWVlfQlVGX1NJWkUgKyAyKSAqIHNpemVvZih5eV9zdGF0
ZV90eXBlKSkKfCAKfCAjaWZuZGVmIFlZX1RZUEVERUZfWVlfQlVGRkVSX1NUQVRFCnwgI2RlZmlu
ZSBZWV9UWVBFREVGX1lZX0JVRkZFUl9TVEFURQp8IHR5cGVkZWYgc3RydWN0IHl5X2J1ZmZlcl9z
dGF0ZSAqWVlfQlVGRkVSX1NUQVRFOwp8ICNlbmRpZgp8IAp8IGV4dGVybiBpbnQgeXlsZW5nOwp8
IAp8IGV4dGVybiBGSUxFICp5eWluLCAqeXlvdXQ7CnwgCnwgI2RlZmluZSBFT0JfQUNUX0NPTlRJ
TlVFX1NDQU4gMAp8ICNkZWZpbmUgRU9CX0FDVF9FTkRfT0ZfRklMRSAxCnwgI2RlZmluZSBFT0Jf
QUNUX0xBU1RfTUFUQ0ggMgp8IAp8ICAgICAjZGVmaW5lIFlZX0xFU1NfTElORU5PKG4pCnwgICAg
IAp8IC8qIFJldHVybiBhbGwgYnV0IHRoZSBmaXJzdCAibiIgbWF0Y2hlZCBjaGFyYWN0ZXJzIGJh
Y2sgdG8gdGhlIGlucHV0IHN0cmVhbS4gKi8KfCAjZGVmaW5lIHl5bGVzcyhuKSBcCnwgCWRvIFwK
fCAJCXsgXAp8IAkJLyogVW5kbyBlZmZlY3RzIG9mIHNldHRpbmcgdXAgeXl0ZXh0LiAqLyBcCnwg
ICAgICAgICBpbnQgeXlsZXNzX21hY3JvX2FyZyA9IChuKTsgXAp8ICAgICAgICAgWVlfTEVTU19M
SU5FTk8oeXlsZXNzX21hY3JvX2FyZyk7XAp8IAkJKnl5X2NwID0gKHl5X2hvbGRfY2hhcik7IFwK
fCAJCVlZX1JFU1RPUkVfWVlfTU9SRV9PRkZTRVQgXAp8IAkJKHl5X2NfYnVmX3ApID0geXlfY3Ag
PSB5eV9icCArIHl5bGVzc19tYWNyb19hcmcgLSBZWV9NT1JFX0FESjsgXAp8IAkJWVlfRE9fQkVG
T1JFX0FDVElPTjsgLyogc2V0IHVwIHl5dGV4dCBhZ2FpbiAqLyBcCnwgCQl9IFwKfCAJd2hpbGUg
KCAwICkKfCAKfCAjZGVmaW5lIHVucHV0KGMpIHl5dW5wdXQoIGMsICh5eXRleHRfcHRyKSAgKQp8
IAp8ICNpZm5kZWYgWVlfVFlQRURFRl9ZWV9TSVpFX1QKfCAjZGVmaW5lIFlZX1RZUEVERUZfWVlf
U0laRV9UCnwgdHlwZWRlZiBzaXplX3QgeXlfc2l6ZV90Owp8ICNlbmRpZgp8IAp8ICNpZm5kZWYg
WVlfU1RSVUNUX1lZX0JVRkZFUl9TVEFURQp8ICNkZWZpbmUgWVlfU1RSVUNUX1lZX0JVRkZFUl9T
VEFURQp8IHN0cnVjdCB5eV9idWZmZXJfc3RhdGUKfCAJewp8IAlGSUxFICp5eV9pbnB1dF9maWxl
Owp8IAp8IAljaGFyICp5eV9jaF9idWY7CQkvKiBpbnB1dCBidWZmZXIgKi8KfCAJY2hhciAqeXlf
YnVmX3BvczsJCS8qIGN1cnJlbnQgcG9zaXRpb24gaW4gaW5wdXQgYnVmZmVyICovCnwgCnwgCS8q
IFNpemUgb2YgaW5wdXQgYnVmZmVyIGluIGJ5dGVzLCBub3QgaW5jbHVkaW5nIHJvb20gZm9yIEVP
Qgp8IAkgKiBjaGFyYWN0ZXJzLgp8IAkgKi8KfCAJeXlfc2l6ZV90IHl5X2J1Zl9zaXplOwp8IAp8
IAkvKiBOdW1iZXIgb2YgY2hhcmFjdGVycyByZWFkIGludG8geXlfY2hfYnVmLCBub3QgaW5jbHVk
aW5nIEVPQgp8IAkgKiBjaGFyYWN0ZXJzLgp8IAkgKi8KfCAJaW50IHl5X25fY2hhcnM7CnwgCnwg
CS8qIFdoZXRoZXIgd2UgIm93biIgdGhlIGJ1ZmZlciAtIGkuZS4sIHdlIGtub3cgd2UgY3JlYXRl
ZCBpdCwKfCAJICogYW5kIGNhbiByZWFsbG9jKCkgaXQgdG8gZ3JvdyBpdCwgYW5kIHNob3VsZCBm
cmVlKCkgaXQgdG8KfCAJICogZGVsZXRlIGl0Lgp8IAkgKi8KfCAJaW50IHl5X2lzX291cl9idWZm
ZXI7CnwgCnwgCS8qIFdoZXRoZXIgdGhpcyBpcyBhbiAiaW50ZXJhY3RpdmUiIGlucHV0IHNvdXJj
ZTsgaWYgc28sIGFuZAp8IAkgKiBpZiB3ZSdyZSB1c2luZyBzdGRpbyBmb3IgaW5wdXQsIHRoZW4g
d2Ugd2FudCB0byB1c2UgZ2V0YygpCnwgCSAqIGluc3RlYWQgb2YgZnJlYWQoKSwgdG8gbWFrZSBz
dXJlIHdlIHN0b3AgZmV0Y2hpbmcgaW5wdXQgYWZ0ZXIKfCAJICogZWFjaCBuZXdsaW5lLgp8IAkg
Ki8KfCAJaW50IHl5X2lzX2ludGVyYWN0aXZlOwp8IAp8IAkvKiBXaGV0aGVyIHdlJ3JlIGNvbnNp
ZGVyZWQgdG8gYmUgYXQgdGhlIGJlZ2lubmluZyBvZiBhIGxpbmUuCnwgCSAqIElmIHNvLCAnXicg
cnVsZXMgd2lsbCBiZSBhY3RpdmUgb24gdGhlIG5leHQgbWF0Y2gsIG90aGVyd2lzZQp8IAkgKiBu
b3QuCnwgCSAqLwp8IAlpbnQgeXlfYXRfYm9sOwp8IAp8ICAgICBpbnQgeXlfYnNfbGluZW5vOyAv
Kio8IFRoZSBsaW5lIGNvdW50LiAqLwp8ICAgICBpbnQgeXlfYnNfY29sdW1uOyAvKio8IFRoZSBj
b2x1bW4gY291bnQuICovCnwgICAgIAp8IAkvKiBXaGV0aGVyIHRvIHRyeSB0byBmaWxsIHRoZSBp
bnB1dCBidWZmZXIgd2hlbiB3ZSByZWFjaCB0aGUKfCAJICogZW5kIG9mIGl0Lgp8IAkgKi8KfCAJ
aW50IHl5X2ZpbGxfYnVmZmVyOwp8IAp8IAlpbnQgeXlfYnVmZmVyX3N0YXR1czsKfCAKfCAjZGVm
aW5lIFlZX0JVRkZFUl9ORVcgMAp8ICNkZWZpbmUgWVlfQlVGRkVSX05PUk1BTCAxCnwgCS8qIFdo
ZW4gYW4gRU9GJ3MgYmVlbiBzZWVuIGJ1dCB0aGVyZSdzIHN0aWxsIHNvbWUgdGV4dCB0byBwcm9j
ZXNzCnwgCSAqIHRoZW4gd2UgbWFyayB0aGUgYnVmZmVyIGFzIFlZX0VPRl9QRU5ESU5HLCB0byBp
bmRpY2F0ZSB0aGF0IHdlCnwgCSAqIHNob3VsZG4ndCB0cnkgcmVhZGluZyBmcm9tIHRoZSBpbnB1
dCBzb3VyY2UgYW55IG1vcmUuICBXZSBtaWdodAp8IAkgKiBzdGlsbCBoYXZlIGEgYnVuY2ggb2Yg
dG9rZW5zIHRvIG1hdGNoLCB0aG91Z2gsIGJlY2F1c2Ugb2YKfCAJICogcG9zc2libGUgYmFja2lu
Zy11cC4KfCAJICoKfCAJICogV2hlbiB3ZSBhY3R1YWxseSBzZWUgdGhlIEVPRiwgd2UgY2hhbmdl
IHRoZSBzdGF0dXMgdG8gIm5ldyIKfCAJICogKHZpYSB5eXJlc3RhcnQoKSksIHNvIHRoYXQgdGhl
IHVzZXIgY2FuIGNvbnRpbnVlIHNjYW5uaW5nIGJ5CnwgCSAqIGp1c3QgcG9pbnRpbmcgeXlpbiBh
dCBhIG5ldyBpbnB1dCBmaWxlLgp8IAkgKi8KfCAjZGVmaW5lIFlZX0JVRkZFUl9FT0ZfUEVORElO
RyAyCnwgCnwgCX07CnwgI2VuZGlmIC8qICFZWV9TVFJVQ1RfWVlfQlVGRkVSX1NUQVRFICovCnwg
CnwgLyogU3RhY2sgb2YgaW5wdXQgYnVmZmVycy4gKi8KfCBzdGF0aWMgc2l6ZV90IHl5X2J1ZmZl
cl9zdGFja190b3AgPSAwOyAvKio8IGluZGV4IG9mIHRvcCBvZiBzdGFjay4gKi8KfCBzdGF0aWMg
c2l6ZV90IHl5X2J1ZmZlcl9zdGFja19tYXggPSAwOyAvKio8IGNhcGFjaXR5IG9mIHN0YWNrLiAq
Lwp8IHN0YXRpYyBZWV9CVUZGRVJfU1RBVEUgKiB5eV9idWZmZXJfc3RhY2sgPSAwOyAvKio8IFN0
YWNrIGFzIGFuIGFycmF5LiAqLwp8IAp8IC8qIFdlIHByb3ZpZGUgbWFjcm9zIGZvciBhY2Nlc3Np
bmcgYnVmZmVyIHN0YXRlcyBpbiBjYXNlIGluIHRoZQp8ICAqIGZ1dHVyZSB3ZSB3YW50IHRvIHB1
dCB0aGUgYnVmZmVyIHN0YXRlcyBpbiBhIG1vcmUgZ2VuZXJhbAp8ICAqICJzY2FubmVyIHN0YXRl
Ii4KfCAgKgp8ICAqIFJldHVybnMgdGhlIHRvcCBvZiB0aGUgc3RhY2ssIG9yIE5VTEwuCnwgICov
CnwgI2RlZmluZSBZWV9DVVJSRU5UX0JVRkZFUiAoICh5eV9idWZmZXJfc3RhY2spIFwKfCAgICAg
ICAgICAgICAgICAgICAgICAgICAgID8gKHl5X2J1ZmZlcl9zdGFjaylbKHl5X2J1ZmZlcl9zdGFj
a190b3ApXSBcCnwgICAgICAgICAgICAgICAgICAgICAgICAgICA6IE5VTEwpCnwgCnwgLyogU2Ft
ZSBhcyBwcmV2aW91cyBtYWNybywgYnV0IHVzZWZ1bCB3aGVuIHdlIGtub3cgdGhhdCB0aGUgYnVm
ZmVyIHN0YWNrIGlzIG5vdAp8ICAqIE5VTEwgb3Igd2hlbiB3ZSBuZWVkIGFuIGx2YWx1ZS4gRm9y
IGludGVybmFsIHVzZSBvbmx5Lgp8ICAqLwp8ICNkZWZpbmUgWVlfQ1VSUkVOVF9CVUZGRVJfTFZB
TFVFICh5eV9idWZmZXJfc3RhY2spWyh5eV9idWZmZXJfc3RhY2tfdG9wKV0KfCAKfCAvKiB5eV9o
b2xkX2NoYXIgaG9sZHMgdGhlIGNoYXJhY3RlciBsb3N0IHdoZW4geXl0ZXh0IGlzIGZvcm1lZC4g
Ki8KfCBzdGF0aWMgY2hhciB5eV9ob2xkX2NoYXI7Cnwgc3RhdGljIGludCB5eV9uX2NoYXJzOwkJ
LyogbnVtYmVyIG9mIGNoYXJhY3RlcnMgcmVhZCBpbnRvIHl5X2NoX2J1ZiAqLwp8IGludCB5eWxl
bmc7CnwgCnwgLyogUG9pbnRzIHRvIGN1cnJlbnQgY2hhcmFjdGVyIGluIGJ1ZmZlci4gKi8KfCBz
dGF0aWMgY2hhciAqeXlfY19idWZfcCA9IChjaGFyICopIDA7Cnwgc3RhdGljIGludCB5eV9pbml0
ID0gMDsJCS8qIHdoZXRoZXIgd2UgbmVlZCB0byBpbml0aWFsaXplICovCnwgc3RhdGljIGludCB5
eV9zdGFydCA9IDA7CS8qIHN0YXJ0IHN0YXRlIG51bWJlciAqLwp8IAp8IC8qIEZsYWcgd2hpY2gg
aXMgdXNlZCB0byBhbGxvdyB5eXdyYXAoKSdzIHRvIGRvIGJ1ZmZlciBzd2l0Y2hlcwp8ICAqIGlu
c3RlYWQgb2Ygc2V0dGluZyB1cCBhIGZyZXNoIHl5aW4uICBBIGJpdCBvZiBhIGhhY2sgLi4uCnwg
ICovCnwgc3RhdGljIGludCB5eV9kaWRfYnVmZmVyX3N3aXRjaF9vbl9lb2Y7CnwgCnwgdm9pZCB5
eXJlc3RhcnQgKEZJTEUgKmlucHV0X2ZpbGUgICk7Cnwgdm9pZCB5eV9zd2l0Y2hfdG9fYnVmZmVy
IChZWV9CVUZGRVJfU1RBVEUgbmV3X2J1ZmZlciAgKTsKfCBZWV9CVUZGRVJfU1RBVEUgeXlfY3Jl
YXRlX2J1ZmZlciAoRklMRSAqZmlsZSxpbnQgc2l6ZSAgKTsKfCB2b2lkIHl5X2RlbGV0ZV9idWZm
ZXIgKFlZX0JVRkZFUl9TVEFURSBiICApOwp8IHZvaWQgeXlfZmx1c2hfYnVmZmVyIChZWV9CVUZG
RVJfU1RBVEUgYiAgKTsKfCB2b2lkIHl5cHVzaF9idWZmZXJfc3RhdGUgKFlZX0JVRkZFUl9TVEFU
RSBuZXdfYnVmZmVyICApOwp8IHZvaWQgeXlwb3BfYnVmZmVyX3N0YXRlICh2b2lkICk7CnwgCnwg
c3RhdGljIHZvaWQgeXllbnN1cmVfYnVmZmVyX3N0YWNrICh2b2lkICk7Cnwgc3RhdGljIHZvaWQg
eXlfbG9hZF9idWZmZXJfc3RhdGUgKHZvaWQgKTsKfCBzdGF0aWMgdm9pZCB5eV9pbml0X2J1ZmZl
ciAoWVlfQlVGRkVSX1NUQVRFIGIsRklMRSAqZmlsZSAgKTsKfCAKfCAjZGVmaW5lIFlZX0ZMVVNI
X0JVRkZFUiB5eV9mbHVzaF9idWZmZXIoWVlfQ1VSUkVOVF9CVUZGRVIgKQp8IAp8IFlZX0JVRkZF
Ul9TVEFURSB5eV9zY2FuX2J1ZmZlciAoY2hhciAqYmFzZSx5eV9zaXplX3Qgc2l6ZSAgKTsKfCBZ
WV9CVUZGRVJfU1RBVEUgeXlfc2Nhbl9zdHJpbmcgKHl5Y29uc3QgY2hhciAqeXlfc3RyICApOwp8
IFlZX0JVRkZFUl9TVEFURSB5eV9zY2FuX2J5dGVzICh5eWNvbnN0IGNoYXIgKmJ5dGVzLGludCBs
ZW4gICk7CnwgCnwgdm9pZCAqeXlhbGxvYyAoeXlfc2l6ZV90ICApOwp8IHZvaWQgKnl5cmVhbGxv
YyAodm9pZCAqLHl5X3NpemVfdCAgKTsKfCB2b2lkIHl5ZnJlZSAodm9pZCAqICApOwp8IAp8ICNk
ZWZpbmUgeXlfbmV3X2J1ZmZlciB5eV9jcmVhdGVfYnVmZmVyCnwgCnwgI2RlZmluZSB5eV9zZXRf
aW50ZXJhY3RpdmUoaXNfaW50ZXJhY3RpdmUpIFwKfCAJeyBcCnwgCWlmICggISBZWV9DVVJSRU5U
X0JVRkZFUiApeyBcCnwgICAgICAgICB5eWVuc3VyZV9idWZmZXJfc3RhY2sgKCk7IFwKfCAJCVlZ
X0NVUlJFTlRfQlVGRkVSX0xWQUxVRSA9ICAgIFwKfCAgICAgICAgICAgICB5eV9jcmVhdGVfYnVm
ZmVyKHl5aW4sWVlfQlVGX1NJWkUgKTsgXAp8IAl9IFwKfCAJWVlfQ1VSUkVOVF9CVUZGRVJfTFZB
TFVFLT55eV9pc19pbnRlcmFjdGl2ZSA9IGlzX2ludGVyYWN0aXZlOyBcCnwgCX0KfCAKfCAjZGVm
aW5lIHl5X3NldF9ib2woYXRfYm9sKSBcCnwgCXsgXAp8IAlpZiAoICEgWVlfQ1VSUkVOVF9CVUZG
RVIgKXtcCnwgICAgICAgICB5eWVuc3VyZV9idWZmZXJfc3RhY2sgKCk7IFwKfCAJCVlZX0NVUlJF
TlRfQlVGRkVSX0xWQUxVRSA9ICAgIFwKfCAgICAgICAgICAgICB5eV9jcmVhdGVfYnVmZmVyKHl5
aW4sWVlfQlVGX1NJWkUgKTsgXAp8IAl9IFwKfCAJWVlfQ1VSUkVOVF9CVUZGRVJfTFZBTFVFLT55
eV9hdF9ib2wgPSBhdF9ib2w7IFwKfCAJfQp8IAp8ICNkZWZpbmUgWVlfQVRfQk9MKCkgKFlZX0NV
UlJFTlRfQlVGRkVSX0xWQUxVRS0+eXlfYXRfYm9sKQp8IAp8IC8qIEJlZ2luIHVzZXIgc2VjdDMg
Ki8KfCAKfCB0eXBlZGVmIHVuc2lnbmVkIGNoYXIgWVlfQ0hBUjsKfCAKfCBGSUxFICp5eWluID0g
KEZJTEUgKikgMCwgKnl5b3V0ID0gKEZJTEUgKikgMDsKfCAKfCB0eXBlZGVmIGludCB5eV9zdGF0
ZV90eXBlOwp8IAp8IGV4dGVybiBpbnQgeXlsaW5lbm87CnwgCnwgaW50IHl5bGluZW5vID0gMTsK
fCAKfCBleHRlcm4gY2hhciAqeXl0ZXh0Owp8ICNkZWZpbmUgeXl0ZXh0X3B0ciB5eXRleHQKfCAK
fCBzdGF0aWMgeXlfc3RhdGVfdHlwZSB5eV9nZXRfcHJldmlvdXNfc3RhdGUgKHZvaWQgKTsKfCBz
dGF0aWMgeXlfc3RhdGVfdHlwZSB5eV90cnlfTlVMX3RyYW5zICh5eV9zdGF0ZV90eXBlIGN1cnJl
bnRfc3RhdGUgICk7Cnwgc3RhdGljIGludCB5eV9nZXRfbmV4dF9idWZmZXIgKHZvaWQgKTsKfCBz
dGF0aWMgdm9pZCB5eV9mYXRhbF9lcnJvciAoeXljb25zdCBjaGFyIG1zZ1tdICApOwp8IAp8IC8q
IERvbmUgYWZ0ZXIgdGhlIGN1cnJlbnQgcGF0dGVybiBoYXMgYmVlbiBtYXRjaGVkIGFuZCBiZWZv
cmUgdGhlCnwgICogY29ycmVzcG9uZGluZyBhY3Rpb24gLSBzZXRzIHVwIHl5dGV4dC4KfCAgKi8K
fCAjZGVmaW5lIFlZX0RPX0JFRk9SRV9BQ1RJT04gXAp8IAkoeXl0ZXh0X3B0cikgPSB5eV9icDsg
XAp8IAkoeXl0ZXh0X3B0cikgLT0gKHl5X21vcmVfbGVuKTsgXAp8IAl5eWxlbmcgPSAoc2l6ZV90
KSAoeXlfY3AgLSAoeXl0ZXh0X3B0cikpOyBcCnwgCSh5eV9ob2xkX2NoYXIpID0gKnl5X2NwOyBc
CnwgCSp5eV9jcCA9ICdcMCc7IFwKfCAJKHl5X2NfYnVmX3ApID0geXlfY3A7CnwgCnwgI2RlZmlu
ZSBZWV9OVU1fUlVMRVMgOAp8ICNkZWZpbmUgWVlfRU5EX09GX0JVRkZFUiA5CnwgLyogVGhpcyBz
dHJ1Y3QgaXMgbm90IHVzZWQgaW4gdGhpcyBzY2FubmVyLAp8ICAgIGJ1dCBpdHMgcHJlc2VuY2Ug
aXMgbmVjZXNzYXJ5LiAqLwp8IHN0cnVjdCB5eV90cmFuc19pbmZvCnwgCXsKfCAJZmxleF9pbnQz
Ml90IHl5X3ZlcmlmeTsKfCAJZmxleF9pbnQzMl90IHl5X254dDsKfCAJfTsKfCBzdGF0aWMgeXlj
b25zdCBmbGV4X2ludDE2X3QgeXlfYWNjbGlzdFsyM10gPQp8ICAgICB7ICAgMCwKfCAgICAgICAg
IDksICAgIDcsICAgIDgsICAgIDgsICAgIDEsICAgIDcsICAgIDgsICAgIDIsICAgIDcsICAgIDgs
CnwgICAgICAgICAzLCAgICA3LCAgICA4LCAgICA0LCAgICA3LCAgICA4LCAgICA1LCAgICA3LCAg
ICA4LCAgICA2LAp8ICAgICAgICAgNywgICAgOAp8ICAgICB9IDsKfCAKfCBzdGF0aWMgeXljb25z
dCBmbGV4X2ludDE2X3QgeXlfYWNjZXB0WzE0XSA9CnwgICAgIHsgICAwLAp8ICAgICAgICAgMSwg
ICAgMSwgICAgMSwgICAgMiwgICAgNCwgICAgNSwgICAgOCwgICAxMSwgICAxNCwgICAxNywKfCAg
ICAgICAgMjAsICAgMjMsICAgMjMKfCAgICAgfSA7CnwgCnwgc3RhdGljIHl5Y29uc3QgZmxleF9p
bnQzMl90IHl5X2VjWzI1Nl0gPQp8ICAgICB7ICAgMCwKfCAgICAgICAgIDEsICAgIDEsICAgIDEs
ICAgIDEsICAgIDEsICAgIDEsICAgIDEsICAgIDEsICAgIDEsICAgIDIsCnwgICAgICAgICAxLCAg
ICAxLCAgICAxLCAgICAxLCAgICAxLCAgICAxLCAgICAxLCAgICAxLCAgICAxLCAgICAxLAp8ICAg
ICAgICAgMSwgICAgMSwgICAgMSwgICAgMSwgICAgMSwgICAgMSwgICAgMSwgICAgMSwgICAgMSwg
ICAgMSwKfCAgICAgICAgIDEsICAgIDEsICAgIDEsICAgIDEsICAgIDEsICAgIDEsICAgIDEsICAg
IDEsICAgIDEsICAgIDEsCnwgICAgICAgICAxLCAgICAxLCAgICAxLCAgICAxLCAgICAxLCAgICAx
LCAgICAxLCAgICAxLCAgICAxLCAgICAxLAp8ICAgICAgICAgMSwgICAgMSwgICAgMSwgICAgMSwg
ICAgMSwgICAgMSwgICAgMSwgICAgMSwgICAgMSwgICAgMSwKfCAgICAgICAgIDEsICAgIDEsICAg
IDEsICAgIDEsICAgIDEsICAgIDEsICAgIDEsICAgIDEsICAgIDEsICAgIDEsCnwgICAgICAgICAx
LCAgICAxLCAgICAxLCAgICAxLCAgICAxLCAgICAxLCAgICAxLCAgICAxLCAgICAxLCAgICAxLAp8
ICAgICAgICAgMSwgICAgMSwgICAgMSwgICAgMSwgICAgMSwgICAgMSwgICAgMSwgICAgMSwgICAg
MSwgICAgMSwKfCAgICAgICAgIDEsICAgIDEsICAgIDEsICAgIDEsICAgIDEsICAgIDEsICAgIDMs
ICAgIDQsICAgIDUsICAgIDYsCnwgCnwgICAgICAgICA3LCAgICA4LCAgICAxLCAgICAxLCAgICAx
LCAgICAxLCAgICAxLCAgICAxLCAgICAxLCAgICAxLAp8ICAgICAgICAgMSwgICAgMSwgICAgMSwg
ICAgMSwgICAgMSwgICAgMSwgICAgMSwgICAgMSwgICAgMSwgICAgMSwKfCAgICAgICAgIDEsICAg
IDEsICAgIDEsICAgIDEsICAgIDEsICAgIDEsICAgIDEsICAgIDEsICAgIDEsICAgIDEsCnwgICAg
ICAgICAxLCAgICAxLCAgICAxLCAgICAxLCAgICAxLCAgICAxLCAgICAxLCAgICAxLCAgICAxLCAg
ICAxLAp8ICAgICAgICAgMSwgICAgMSwgICAgMSwgICAgMSwgICAgMSwgICAgMSwgICAgMSwgICAg
MSwgICAgMSwgICAgMSwKfCAgICAgICAgIDEsICAgIDEsICAgIDEsICAgIDEsICAgIDEsICAgIDEs
ICAgIDEsICAgIDEsICAgIDEsICAgIDEsCnwgICAgICAgICAxLCAgICAxLCAgICAxLCAgICAxLCAg
ICAxLCAgICAxLCAgICAxLCAgICAxLCAgICAxLCAgICAxLAp8ICAgICAgICAgMSwgICAgMSwgICAg
MSwgICAgMSwgICAgMSwgICAgMSwgICAgMSwgICAgMSwgICAgMSwgICAgMSwKfCAgICAgICAgIDEs
ICAgIDEsICAgIDEsICAgIDEsICAgIDEsICAgIDEsICAgIDEsICAgIDEsICAgIDEsICAgIDEsCnwg
ICAgICAgICAxLCAgICAxLCAgICAxLCAgICAxLCAgICAxLCAgICAxLCAgICAxLCAgICAxLCAgICAx
LCAgICAxLAp8IAp8ICAgICAgICAgMSwgICAgMSwgICAgMSwgICAgMSwgICAgMSwgICAgMSwgICAg
MSwgICAgMSwgICAgMSwgICAgMSwKfCAgICAgICAgIDEsICAgIDEsICAgIDEsICAgIDEsICAgIDEs
ICAgIDEsICAgIDEsICAgIDEsICAgIDEsICAgIDEsCnwgICAgICAgICAxLCAgICAxLCAgICAxLCAg
ICAxLCAgICAxLCAgICAxLCAgICAxLCAgICAxLCAgICAxLCAgICAxLAp8ICAgICAgICAgMSwgICAg
MSwgICAgMSwgICAgMSwgICAgMSwgICAgMSwgICAgMSwgICAgMSwgICAgMSwgICAgMSwKfCAgICAg
ICAgIDEsICAgIDEsICAgIDEsICAgIDEsICAgIDEsICAgIDEsICAgIDEsICAgIDEsICAgIDEsICAg
IDEsCnwgICAgICAgICAxLCAgICAxLCAgICAxLCAgICAxLCAgICAxCnwgICAgIH0gOwp8IAp8IHN0
YXRpYyB5eWNvbnN0IGZsZXhfaW50MzJfdCB5eV9tZXRhWzldID0KfCAgICAgeyAgIDAsCnwgICAg
ICAgICAxLCAgICAxLCAgICAxLCAgICAxLCAgICAxLCAgICAxLCAgICAxLCAgICAxCnwgICAgIH0g
Owp8IAp8IHN0YXRpYyB5eWNvbnN0IGZsZXhfaW50MTZfdCB5eV9iYXNlWzEzXSA9CnwgICAgIHsg
ICAwLAp8ICAgICAgICAgMCwgICAgMCwgICAgOSwgICAxMCwgICAxMCwgICAxMCwgICAxMCwgICAx
MCwgICAxMCwgICAxMCwKfCAgICAgICAgMTAsICAgMTAKfCAgICAgfSA7CnwgCnwgc3RhdGljIHl5
Y29uc3QgZmxleF9pbnQxNl90IHl5X2RlZlsxM10gPQp8ICAgICB7ICAgMCwKfCAgICAgICAgMTIs
ICAgIDEsICAgMTIsICAgMTIsICAgMTIsICAgMTIsICAgMTIsICAgMTIsICAgMTIsICAgMTIsCnwg
ICAgICAgIDEyLCAgICAwCnwgICAgIH0gOwp8IAp8IHN0YXRpYyB5eWNvbnN0IGZsZXhfaW50MTZf
dCB5eV9ueHRbMTldID0KfCAgICAgeyAgIDAsCnwgICAgICAgICA0LCAgICA1LCAgICA2LCAgICA3
LCAgICA4LCAgICA5LCAgIDEwLCAgIDExLCAgIDEyLCAgICAzLAp8ICAgICAgICAxMiwgICAxMiwg
ICAxMiwgICAxMiwgICAxMiwgICAxMiwgICAxMiwgICAxMgp8ICAgICB9IDsKfCAKfCBzdGF0aWMg
eXljb25zdCBmbGV4X2ludDE2X3QgeXlfY2hrWzE5XSA9CnwgICAgIHsgICAwLAp8ICAgICAgICAg
MSwgICAgMSwgICAgMSwgICAgMSwgICAgMSwgICAgMSwgICAgMSwgICAgMSwgICAgMywgICAxMiwK
fCAgICAgICAgMTIsICAgMTIsICAgMTIsICAgMTIsICAgMTIsICAgMTIsICAgMTIsICAgMTIKfCAg
ICAgfSA7CnwgCnwgZXh0ZXJuIGludCB5eV9mbGV4X2RlYnVnOwp8IGludCB5eV9mbGV4X2RlYnVn
ID0gMDsKfCAKfCBzdGF0aWMgeXlfc3RhdGVfdHlwZSAqeXlfc3RhdGVfYnVmPTAsICp5eV9zdGF0
ZV9wdHI9MDsKfCBzdGF0aWMgY2hhciAqeXlfZnVsbF9tYXRjaDsKfCBzdGF0aWMgaW50IHl5X2xw
Owp8ICNkZWZpbmUgUkVKRUNUIFwKfCB7IFwKfCAqeXlfY3AgPSAoeXlfaG9sZF9jaGFyKTsgLyog
dW5kbyBlZmZlY3RzIG9mIHNldHRpbmcgdXAgeXl0ZXh0ICovIFwKfCB5eV9jcCA9ICh5eV9mdWxs
X21hdGNoKTsgLyogcmVzdG9yZSBwb3NzLiBiYWNrZWQtb3ZlciB0ZXh0ICovIFwKfCArKyh5eV9s
cCk7IFwKfCBnb3RvIGZpbmRfcnVsZTsgXAp8IH0KfCAKfCBzdGF0aWMgaW50IHl5X21vcmVfZmxh
ZyA9IDA7Cnwgc3RhdGljIGludCB5eV9tb3JlX2xlbiA9IDA7CnwgI2RlZmluZSB5eW1vcmUoKSAo
KHl5X21vcmVfZmxhZykgPSAxKQp8ICNkZWZpbmUgWVlfTU9SRV9BREogKHl5X21vcmVfbGVuKQp8
ICNkZWZpbmUgWVlfUkVTVE9SRV9ZWV9NT1JFX09GRlNFVAp8IGNoYXIgKnl5dGV4dDsKfCAjbGlu
ZSAxICJjb25mdGVzdC5sIgp8ICNsaW5lIDQ2OCAibGV4Lnl5LmMiCnwgCnwgI2RlZmluZSBJTklU
SUFMIDAKfCAKfCAjaWZuZGVmIFlZX05PX1VOSVNURF9ICnwgLyogU3BlY2lhbCBjYXNlIGZvciAi
dW5pc3RkLmgiLCBzaW5jZSBpdCBpcyBub24tQU5TSS4gV2UgaW5jbHVkZSBpdCB3YXkKfCAgKiBk
b3duIGhlcmUgYmVjYXVzZSB3ZSB3YW50IHRoZSB1c2VyJ3Mgc2VjdGlvbiAxIHRvIGhhdmUgYmVl
biBzY2FubmVkIGZpcnN0Lgp8ICAqIFRoZSB1c2VyIGhhcyBhIGNoYW5jZSB0byBvdmVycmlkZSBp
dCB3aXRoIGFuIG9wdGlvbi4KfCAgKi8KfCAjaW5jbHVkZSA8dW5pc3RkLmg+CnwgI2VuZGlmCnwg
CnwgI2lmbmRlZiBZWV9FWFRSQV9UWVBFCnwgI2RlZmluZSBZWV9FWFRSQV9UWVBFIHZvaWQgKgp8
ICNlbmRpZgp8IAp8IHN0YXRpYyBpbnQgeXlfaW5pdF9nbG9iYWxzICh2b2lkICk7CnwgCnwgLyog
QWNjZXNzb3IgbWV0aG9kcyB0byBnbG9iYWxzLgp8ICAgIFRoZXNlIGFyZSBtYWRlIHZpc2libGUg
dG8gbm9uLXJlZW50cmFudCBzY2FubmVycyBmb3IgY29udmVuaWVuY2UuICovCnwgCnwgaW50IHl5
bGV4X2Rlc3Ryb3kgKHZvaWQgKTsKfCAKfCBpbnQgeXlnZXRfZGVidWcgKHZvaWQgKTsKfCAKfCB2
b2lkIHl5c2V0X2RlYnVnIChpbnQgZGVidWdfZmxhZyAgKTsKfCAKfCBZWV9FWFRSQV9UWVBFIHl5
Z2V0X2V4dHJhICh2b2lkICk7CnwgCnwgdm9pZCB5eXNldF9leHRyYSAoWVlfRVhUUkFfVFlQRSB1
c2VyX2RlZmluZWQgICk7CnwgCnwgRklMRSAqeXlnZXRfaW4gKHZvaWQgKTsKfCAKfCB2b2lkIHl5
c2V0X2luICAoRklMRSAqIGluX3N0ciAgKTsKfCAKfCBGSUxFICp5eWdldF9vdXQgKHZvaWQgKTsK
fCAKfCB2b2lkIHl5c2V0X291dCAgKEZJTEUgKiBvdXRfc3RyICApOwp8IAp8IGludCB5eWdldF9s
ZW5nICh2b2lkICk7CnwgCnwgY2hhciAqeXlnZXRfdGV4dCAodm9pZCApOwp8IAp8IGludCB5eWdl
dF9saW5lbm8gKHZvaWQgKTsKfCAKfCB2b2lkIHl5c2V0X2xpbmVubyAoaW50IGxpbmVfbnVtYmVy
ICApOwp8IAp8IC8qIE1hY3JvcyBhZnRlciB0aGlzIHBvaW50IGNhbiBhbGwgYmUgb3ZlcnJpZGRl
biBieSB1c2VyIGRlZmluaXRpb25zIGluCnwgICogc2VjdGlvbiAxLgp8ICAqLwp8IAp8ICNpZm5k
ZWYgWVlfU0tJUF9ZWVdSQVAKfCAjaWZkZWYgX19jcGx1c3BsdXMKfCBleHRlcm4gIkMiIGludCB5
eXdyYXAgKHZvaWQgKTsKfCAjZWxzZQp8IGV4dGVybiBpbnQgeXl3cmFwICh2b2lkICk7CnwgI2Vu
ZGlmCnwgI2VuZGlmCnwgCnwgICAgIHN0YXRpYyB2b2lkIHl5dW5wdXQgKGludCBjLGNoYXIgKmJ1
Zl9wdHIgICk7CnwgICAgIAp8ICNpZm5kZWYgeXl0ZXh0X3B0cgp8IHN0YXRpYyB2b2lkIHl5X2Zs
ZXhfc3RybmNweSAoY2hhciAqLHl5Y29uc3QgY2hhciAqLGludCApOwp8ICNlbmRpZgp8IAp8ICNp
ZmRlZiBZWV9ORUVEX1NUUkxFTgp8IHN0YXRpYyBpbnQgeXlfZmxleF9zdHJsZW4gKHl5Y29uc3Qg
Y2hhciAqICk7CnwgI2VuZGlmCnwgCnwgI2lmbmRlZiBZWV9OT19JTlBVVAp8IAp8ICNpZmRlZiBf
X2NwbHVzcGx1cwp8IHN0YXRpYyBpbnQgeXlpbnB1dCAodm9pZCApOwp8ICNlbHNlCnwgc3RhdGlj
IGludCBpbnB1dCAodm9pZCApOwp8ICNlbmRpZgp8IAp8ICNlbmRpZgp8IAp8IC8qIEFtb3VudCBv
ZiBzdHVmZiB0byBzbHVycCB1cCB3aXRoIGVhY2ggcmVhZC4gKi8KfCAjaWZuZGVmIFlZX1JFQURf
QlVGX1NJWkUKfCAjZGVmaW5lIFlZX1JFQURfQlVGX1NJWkUgODE5Mgp8ICNlbmRpZgp8IAp8IC8q
IENvcHkgd2hhdGV2ZXIgdGhlIGxhc3QgcnVsZSBtYXRjaGVkIHRvIHRoZSBzdGFuZGFyZCBvdXRw
dXQuICovCnwgI2lmbmRlZiBFQ0hPCnwgLyogVGhpcyB1c2VkIHRvIGJlIGFuIGZwdXRzKCksIGJ1
dCBzaW5jZSB0aGUgc3RyaW5nIG1pZ2h0IGNvbnRhaW4gTlVMJ3MsCnwgICogd2Ugbm93IHVzZSBm
d3JpdGUoKS4KfCAgKi8KfCAjZGVmaW5lIEVDSE8gZndyaXRlKCB5eXRleHQsIHl5bGVuZywgMSwg
eXlvdXQgKQp8ICNlbmRpZgp8IAp8IC8qIEdldHMgaW5wdXQgYW5kIHN0dWZmcyBpdCBpbnRvICJi
dWYiLiAgbnVtYmVyIG9mIGNoYXJhY3RlcnMgcmVhZCwgb3IgWVlfTlVMTCwKfCAgKiBpcyByZXR1
cm5lZCBpbiAicmVzdWx0Ii4KfCAgKi8KfCAjaWZuZGVmIFlZX0lOUFVUCnwgI2RlZmluZSBZWV9J
TlBVVChidWYscmVzdWx0LG1heF9zaXplKSBcCnwgCWlmICggWVlfQ1VSUkVOVF9CVUZGRVJfTFZB
TFVFLT55eV9pc19pbnRlcmFjdGl2ZSApIFwKfCAJCXsgXAp8IAkJaW50IGMgPSAnKic7IFwKfCAJ
CWludCBuOyBcCnwgCQlmb3IgKCBuID0gMDsgbiA8IG1heF9zaXplICYmIFwKfCAJCQkgICAgIChj
ID0gZ2V0YyggeXlpbiApKSAhPSBFT0YgJiYgYyAhPSAnXG4nOyArK24gKSBcCnwgCQkJYnVmW25d
ID0gKGNoYXIpIGM7IFwKfCAJCWlmICggYyA9PSAnXG4nICkgXAp8IAkJCWJ1ZltuKytdID0gKGNo
YXIpIGM7IFwKfCAJCWlmICggYyA9PSBFT0YgJiYgZmVycm9yKCB5eWluICkgKSBcCnwgCQkJWVlf
RkFUQUxfRVJST1IoICJpbnB1dCBpbiBmbGV4IHNjYW5uZXIgZmFpbGVkIiApOyBcCnwgCQlyZXN1
bHQgPSBuOyBcCnwgCQl9IFwKfCAJZWxzZSBcCnwgCQl7IFwKfCAJCWVycm5vPTA7IFwKfCAJCXdo
aWxlICggKHJlc3VsdCA9IGZyZWFkKGJ1ZiwgMSwgbWF4X3NpemUsIHl5aW4pKT09MCAmJiBmZXJy
b3IoeXlpbikpIFwKfCAJCQl7IFwKfCAJCQlpZiggZXJybm8gIT0gRUlOVFIpIFwKfCAJCQkJeyBc
CnwgCQkJCVlZX0ZBVEFMX0VSUk9SKCAiaW5wdXQgaW4gZmxleCBzY2FubmVyIGZhaWxlZCIgKTsg
XAp8IAkJCQlicmVhazsgXAp8IAkJCQl9IFwKfCAJCQllcnJubz0wOyBcCnwgCQkJY2xlYXJlcnIo
eXlpbik7IFwKfCAJCQl9IFwKfCAJCX1cCnwgXAp8IAp8ICNlbmRpZgp8IAp8IC8qIE5vIHNlbWkt
Y29sb24gYWZ0ZXIgcmV0dXJuOyBjb3JyZWN0IHVzYWdlIGlzIHRvIHdyaXRlICJ5eXRlcm1pbmF0
ZSgpOyIgLQp8ICAqIHdlIGRvbid0IHdhbnQgYW4gZXh0cmEgJzsnIGFmdGVyIHRoZSAicmV0dXJu
IiBiZWNhdXNlIHRoYXQgd2lsbCBjYXVzZQp8ICAqIHNvbWUgY29tcGlsZXJzIHRvIGNvbXBsYWlu
IGFib3V0IHVucmVhY2hhYmxlIHN0YXRlbWVudHMuCnwgICovCnwgI2lmbmRlZiB5eXRlcm1pbmF0
ZQp8ICNkZWZpbmUgeXl0ZXJtaW5hdGUoKSByZXR1cm4gWVlfTlVMTAp8ICNlbmRpZgp8IAp8IC8q
IE51bWJlciBvZiBlbnRyaWVzIGJ5IHdoaWNoIHN0YXJ0LWNvbmRpdGlvbiBzdGFjayBncm93cy4g
Ki8KfCAjaWZuZGVmIFlZX1NUQVJUX1NUQUNLX0lOQ1IKfCAjZGVmaW5lIFlZX1NUQVJUX1NUQUNL
X0lOQ1IgMjUKfCAjZW5kaWYKfCAKfCAvKiBSZXBvcnQgYSBmYXRhbCBlcnJvci4gKi8KfCAjaWZu
ZGVmIFlZX0ZBVEFMX0VSUk9SCnwgI2RlZmluZSBZWV9GQVRBTF9FUlJPUihtc2cpIHl5X2ZhdGFs
X2Vycm9yKCBtc2cgKQp8ICNlbmRpZgp8IAp8IC8qIGVuZCB0YWJsZXMgc2VyaWFsaXphdGlvbiBz
dHJ1Y3R1cmVzIGFuZCBwcm90b3R5cGVzICovCnwgCnwgLyogRGVmYXVsdCBkZWNsYXJhdGlvbiBv
ZiBnZW5lcmF0ZWQgc2Nhbm5lciAtIGEgZGVmaW5lIHNvIHRoZSB1c2VyIGNhbgp8ICAqIGVhc2ls
eSBhZGQgcGFyYW1ldGVycy4KfCAgKi8KfCAjaWZuZGVmIFlZX0RFQ0wKfCAjZGVmaW5lIFlZX0RF
Q0xfSVNfT1VSUyAxCnwgCnwgZXh0ZXJuIGludCB5eWxleCAodm9pZCk7CnwgCnwgI2RlZmluZSBZ
WV9ERUNMIGludCB5eWxleCAodm9pZCkKfCAjZW5kaWYgLyogIVlZX0RFQ0wgKi8KfCAKfCAvKiBD
b2RlIGV4ZWN1dGVkIGF0IHRoZSBiZWdpbm5pbmcgb2YgZWFjaCBydWxlLCBhZnRlciB5eXRleHQg
YW5kIHl5bGVuZwp8ICAqIGhhdmUgYmVlbiBzZXQgdXAuCnwgICovCnwgI2lmbmRlZiBZWV9VU0VS
X0FDVElPTgp8ICNkZWZpbmUgWVlfVVNFUl9BQ1RJT04KfCAjZW5kaWYKfCAKfCAvKiBDb2RlIGV4
ZWN1dGVkIGF0IHRoZSBlbmQgb2YgZWFjaCBydWxlLiAqLwp8ICNpZm5kZWYgWVlfQlJFQUsKfCAj
ZGVmaW5lIFlZX0JSRUFLIGJyZWFrOwp8ICNlbmRpZgp8IAp8ICNkZWZpbmUgWVlfUlVMRV9TRVRV
UCBcCnwgCVlZX1VTRVJfQUNUSU9OCnwgCnwgLyoqIFRoZSBtYWluIHNjYW5uZXIgZnVuY3Rpb24g
d2hpY2ggZG9lcyBhbGwgdGhlIHdvcmsuCnwgICovCnwgWVlfREVDTAp8IHsKfCAJcmVnaXN0ZXIg
eXlfc3RhdGVfdHlwZSB5eV9jdXJyZW50X3N0YXRlOwp8IAlyZWdpc3RlciBjaGFyICp5eV9jcCwg
Knl5X2JwOwp8IAlyZWdpc3RlciBpbnQgeXlfYWN0Owp8ICAgICAKfCAjbGluZSAxICJjb25mdGVz
dC5sIgp8IAp8ICNsaW5lIDY1MiAibGV4Lnl5LmMiCnwgCnwgCWlmICggISh5eV9pbml0KSApCnwg
CQl7CnwgCQkoeXlfaW5pdCkgPSAxOwp8IAp8ICNpZmRlZiBZWV9VU0VSX0lOSVQKfCAJCVlZX1VT
RVJfSU5JVDsKfCAjZW5kaWYKfCAKfCAgICAgICAgIC8qIENyZWF0ZSB0aGUgcmVqZWN0IGJ1ZmZl
ciBsYXJnZSBlbm91Z2ggdG8gc2F2ZSBvbmUgc3RhdGUgcGVyIGFsbG93ZWQgY2hhcmFjdGVyLiAq
Lwp8ICAgICAgICAgaWYgKCAhICh5eV9zdGF0ZV9idWYpICkKfCAgICAgICAgICAgICAoeXlfc3Rh
dGVfYnVmKSA9ICh5eV9zdGF0ZV90eXBlICopeXlhbGxvYyhZWV9TVEFURV9CVUZfU0laRSAgKTsK
fCAgICAgICAgICAgICBpZiAoICEgKHl5X3N0YXRlX2J1ZikgKQp8ICAgICAgICAgICAgICAgICBZ
WV9GQVRBTF9FUlJPUiggIm91dCBvZiBkeW5hbWljIG1lbW9yeSBpbiB5eWxleCgpIiApOwp8IAp8
IAkJaWYgKCAhICh5eV9zdGFydCkgKQp8IAkJCSh5eV9zdGFydCkgPSAxOwkvKiBmaXJzdCBzdGFy
dCBzdGF0ZSAqLwp8IAp8IAkJaWYgKCAhIHl5aW4gKQp8IAkJCXl5aW4gPSBzdGRpbjsKfCAKfCAJ
CWlmICggISB5eW91dCApCnwgCQkJeXlvdXQgPSBzdGRvdXQ7CnwgCnwgCQlpZiAoICEgWVlfQ1VS
UkVOVF9CVUZGRVIgKSB7CnwgCQkJeXllbnN1cmVfYnVmZmVyX3N0YWNrICgpOwp8IAkJCVlZX0NV
UlJFTlRfQlVGRkVSX0xWQUxVRSA9CnwgCQkJCXl5X2NyZWF0ZV9idWZmZXIoeXlpbixZWV9CVUZf
U0laRSApOwp8IAkJfQp8IAp8IAkJeXlfbG9hZF9idWZmZXJfc3RhdGUoICk7CnwgCQl9CnwgCnwg
CXdoaWxlICggMSApCQkvKiBsb29wcyB1bnRpbCBlbmQtb2YtZmlsZSBpcyByZWFjaGVkICovCnwg
CQl7CnwgCQkoeXlfbW9yZV9sZW4pID0gMDsKfCAJCWlmICggKHl5X21vcmVfZmxhZykgKQp8IAkJ
CXsKfCAJCQkoeXlfbW9yZV9sZW4pID0gKHl5X2NfYnVmX3ApIC0gKHl5dGV4dF9wdHIpOwp8IAkJ
CSh5eV9tb3JlX2ZsYWcpID0gMDsKfCAJCQl9CnwgCQl5eV9jcCA9ICh5eV9jX2J1Zl9wKTsKfCAK
fCAJCS8qIFN1cHBvcnQgb2YgeXl0ZXh0LiAqLwp8IAkJKnl5X2NwID0gKHl5X2hvbGRfY2hhcik7
CnwgCnwgCQkvKiB5eV9icCBwb2ludHMgdG8gdGhlIHBvc2l0aW9uIGluIHl5X2NoX2J1ZiBvZiB0
aGUgc3RhcnQgb2YKfCAJCSAqIHRoZSBjdXJyZW50IHJ1bi4KfCAJCSAqLwp8IAkJeXlfYnAgPSB5
eV9jcDsKfCAKfCAJCXl5X2N1cnJlbnRfc3RhdGUgPSAoeXlfc3RhcnQpOwp8IAp8IAkJKHl5X3N0
YXRlX3B0cikgPSAoeXlfc3RhdGVfYnVmKTsKfCAJCSooeXlfc3RhdGVfcHRyKSsrID0geXlfY3Vy
cmVudF9zdGF0ZTsKfCAKfCB5eV9tYXRjaDoKfCAJCWRvCnwgCQkJewp8IAkJCXJlZ2lzdGVyIFlZ
X0NIQVIgeXlfYyA9IHl5X2VjW1lZX1NDX1RPX1VJKCp5eV9jcCldOwp8IAkJCXdoaWxlICggeXlf
Y2hrW3l5X2Jhc2VbeXlfY3VycmVudF9zdGF0ZV0gKyB5eV9jXSAhPSB5eV9jdXJyZW50X3N0YXRl
ICkKfCAJCQkJewp8IAkJCQl5eV9jdXJyZW50X3N0YXRlID0gKGludCkgeXlfZGVmW3l5X2N1cnJl
bnRfc3RhdGVdOwp8IAkJCQlpZiAoIHl5X2N1cnJlbnRfc3RhdGUgPj0gMTMgKQp8IAkJCQkJeXlf
YyA9IHl5X21ldGFbKHVuc2lnbmVkIGludCkgeXlfY107CnwgCQkJCX0KfCAJCQl5eV9jdXJyZW50
X3N0YXRlID0geXlfbnh0W3l5X2Jhc2VbeXlfY3VycmVudF9zdGF0ZV0gKyAodW5zaWduZWQgaW50
KSB5eV9jXTsKfCAJCQkqKHl5X3N0YXRlX3B0cikrKyA9IHl5X2N1cnJlbnRfc3RhdGU7CnwgCQkJ
Kyt5eV9jcDsKfCAJCQl9CnwgCQl3aGlsZSAoIHl5X2Jhc2VbeXlfY3VycmVudF9zdGF0ZV0gIT0g
MTAgKTsKfCAKfCB5eV9maW5kX2FjdGlvbjoKfCAJCXl5X2N1cnJlbnRfc3RhdGUgPSAqLS0oeXlf
c3RhdGVfcHRyKTsKfCAJCSh5eV9scCkgPSB5eV9hY2NlcHRbeXlfY3VycmVudF9zdGF0ZV07Cnwg
ZmluZF9ydWxlOiAvKiB3ZSBicmFuY2ggdG8gdGhpcyBsYWJlbCB3aGVuIGJhY2tpbmcgdXAgKi8K
fCAJCWZvciAoIDsgOyApIC8qIHVudGlsIHdlIGZpbmQgd2hhdCBydWxlIHdlIG1hdGNoZWQgKi8K
fCAJCQl7CnwgCQkJaWYgKCAoeXlfbHApICYmICh5eV9scCkgPCB5eV9hY2NlcHRbeXlfY3VycmVu
dF9zdGF0ZSArIDFdICkKfCAJCQkJewp8IAkJCQl5eV9hY3QgPSB5eV9hY2NsaXN0Wyh5eV9scCld
Owp8IAkJCQkJewp8IAkJCQkJKHl5X2Z1bGxfbWF0Y2gpID0geXlfY3A7CnwgCQkJCQlicmVhazsK
fCAJCQkJCX0KfCAJCQkJfQp8IAkJCS0teXlfY3A7CnwgCQkJeXlfY3VycmVudF9zdGF0ZSA9ICot
LSh5eV9zdGF0ZV9wdHIpOwp8IAkJCSh5eV9scCkgPSB5eV9hY2NlcHRbeXlfY3VycmVudF9zdGF0
ZV07CnwgCQkJfQp8IAp8IAkJWVlfRE9fQkVGT1JFX0FDVElPTjsKfCAKfCBkb19hY3Rpb246CS8q
IFRoaXMgbGFiZWwgaXMgdXNlZCBvbmx5IHRvIGFjY2VzcyBFT0YgYWN0aW9ucy4gKi8KfCAKfCAJ
CXN3aXRjaCAoIHl5X2FjdCApCnwgCXsgLyogYmVnaW5uaW5nIG9mIGFjdGlvbiBzd2l0Y2ggKi8K
fCBjYXNlIDE6CnwgWVlfUlVMRV9TRVRVUAp8ICNsaW5lIDIgImNvbmZ0ZXN0LmwiCnwgeyBFQ0hP
OyB9CnwgCVlZX0JSRUFLCnwgY2FzZSAyOgp8IFlZX1JVTEVfU0VUVVAKfCAjbGluZSAzICJjb25m
dGVzdC5sIgp8IHsgUkVKRUNUOyB9CnwgCVlZX0JSRUFLCnwgY2FzZSAzOgp8IFlZX1JVTEVfU0VU
VVAKfCAjbGluZSA0ICJjb25mdGVzdC5sIgp8IHsgeXltb3JlICgpOyB9CnwgCVlZX0JSRUFLCnwg
Y2FzZSA0Ogp8IFlZX1JVTEVfU0VUVVAKfCAjbGluZSA1ICJjb25mdGVzdC5sIgp8IHsgeXlsZXNz
ICgxKTsgfQp8IAlZWV9CUkVBSwp8IGNhc2UgNToKfCBZWV9SVUxFX1NFVFVQCnwgI2xpbmUgNiAi
Y29uZnRlc3QubCIKfCB7IHl5bGVzcyAoaW5wdXQgKCkgIT0gMCk7IH0KfCAJWVlfQlJFQUsKfCBj
YXNlIDY6CnwgWVlfUlVMRV9TRVRVUAp8ICNsaW5lIDcgImNvbmZ0ZXN0LmwiCnwgeyB1bnB1dCAo
eXl0ZXh0WzBdKTsgfQp8IAlZWV9CUkVBSwp8IGNhc2UgNzoKfCBZWV9SVUxFX1NFVFVQCnwgI2xp
bmUgOCAiY29uZnRlc3QubCIKfCB7IEJFR0lOIElOSVRJQUw7IH0KfCAJWVlfQlJFQUsKfCBjYXNl
IDg6CnwgWVlfUlVMRV9TRVRVUAp8ICNsaW5lIDkgImNvbmZ0ZXN0LmwiCnwgRUNITzsKfCAJWVlf
QlJFQUsKfCAjbGluZSA3OTAgImxleC55eS5jIgp8IAkJCWNhc2UgWVlfU1RBVEVfRU9GKElOSVRJ
QUwpOgp8IAkJCQl5eXRlcm1pbmF0ZSgpOwp8IAp8IAljYXNlIFlZX0VORF9PRl9CVUZGRVI6Cnwg
CQl7CnwgCQkvKiBBbW91bnQgb2YgdGV4dCBtYXRjaGVkIG5vdCBpbmNsdWRpbmcgdGhlIEVPQiBj
aGFyLiAqLwp8IAkJaW50IHl5X2Ftb3VudF9vZl9tYXRjaGVkX3RleHQgPSAoaW50KSAoeXlfY3Ag
LSAoeXl0ZXh0X3B0cikpIC0gMTsKfCAKfCAJCS8qIFVuZG8gdGhlIGVmZmVjdHMgb2YgWVlfRE9f
QkVGT1JFX0FDVElPTi4gKi8KfCAJCSp5eV9jcCA9ICh5eV9ob2xkX2NoYXIpOwp8IAkJWVlfUkVT
VE9SRV9ZWV9NT1JFX09GRlNFVAp8IAp8IAkJaWYgKCBZWV9DVVJSRU5UX0JVRkZFUl9MVkFMVUUt
Pnl5X2J1ZmZlcl9zdGF0dXMgPT0gWVlfQlVGRkVSX05FVyApCnwgCQkJewp8IAkJCS8qIFdlJ3Jl
IHNjYW5uaW5nIGEgbmV3IGZpbGUgb3IgaW5wdXQgc291cmNlLiAgSXQncwp8IAkJCSAqIHBvc3Np
YmxlIHRoYXQgdGhpcyBoYXBwZW5lZCBiZWNhdXNlIHRoZSB1c2VyCnwgCQkJICoganVzdCBwb2lu
dGVkIHl5aW4gYXQgYSBuZXcgc291cmNlIGFuZCBjYWxsZWQKfCAJCQkgKiB5eWxleCgpLiAgSWYg
c28sIHRoZW4gd2UgaGF2ZSB0byBhc3N1cmUKfCAJCQkgKiBjb25zaXN0ZW5jeSBiZXR3ZWVuIFlZ
X0NVUlJFTlRfQlVGRkVSIGFuZCBvdXIKfCAJCQkgKiBnbG9iYWxzLiAgSGVyZSBpcyB0aGUgcmln
aHQgcGxhY2UgdG8gZG8gc28sIGJlY2F1c2UKfCAJCQkgKiB0aGlzIGlzIHRoZSBmaXJzdCBhY3Rp
b24gKG90aGVyIHRoYW4gcG9zc2libHkgYQp8IAkJCSAqIGJhY2stdXApIHRoYXQgd2lsbCBtYXRj
aCBmb3IgdGhlIG5ldyBpbnB1dCBzb3VyY2UuCnwgCQkJICovCnwgCQkJKHl5X25fY2hhcnMpID0g
WVlfQ1VSUkVOVF9CVUZGRVJfTFZBTFVFLT55eV9uX2NoYXJzOwp8IAkJCVlZX0NVUlJFTlRfQlVG
RkVSX0xWQUxVRS0+eXlfaW5wdXRfZmlsZSA9IHl5aW47CnwgCQkJWVlfQ1VSUkVOVF9CVUZGRVJf
TFZBTFVFLT55eV9idWZmZXJfc3RhdHVzID0gWVlfQlVGRkVSX05PUk1BTDsKfCAJCQl9CnwgCnwg
CQkvKiBOb3RlIHRoYXQgaGVyZSB3ZSB0ZXN0IGZvciB5eV9jX2J1Zl9wICI8PSIgdG8gdGhlIHBv
c2l0aW9uCnwgCQkgKiBvZiB0aGUgZmlyc3QgRU9CIGluIHRoZSBidWZmZXIsIHNpbmNlIHl5X2Nf
YnVmX3Agd2lsbAp8IAkJICogYWxyZWFkeSBoYXZlIGJlZW4gaW5jcmVtZW50ZWQgcGFzdCB0aGUg
TlVMIGNoYXJhY3Rlcgp8IAkJICogKHNpbmNlIGFsbCBzdGF0ZXMgbWFrZSB0cmFuc2l0aW9ucyBv
biBFT0IgdG8gdGhlCnwgCQkgKiBlbmQtb2YtYnVmZmVyIHN0YXRlKS4gIENvbnRyYXN0IHRoaXMg
d2l0aCB0aGUgdGVzdAp8IAkJICogaW4gaW5wdXQoKS4KfCAJCSAqLwp8IAkJaWYgKCAoeXlfY19i
dWZfcCkgPD0gJllZX0NVUlJFTlRfQlVGRkVSX0xWQUxVRS0+eXlfY2hfYnVmWyh5eV9uX2NoYXJz
KV0gKQp8IAkJCXsgLyogVGhpcyB3YXMgcmVhbGx5IGEgTlVMLiAqLwp8IAkJCXl5X3N0YXRlX3R5
cGUgeXlfbmV4dF9zdGF0ZTsKfCAKfCAJCQkoeXlfY19idWZfcCkgPSAoeXl0ZXh0X3B0cikgKyB5
eV9hbW91bnRfb2ZfbWF0Y2hlZF90ZXh0Owp8IAp8IAkJCXl5X2N1cnJlbnRfc3RhdGUgPSB5eV9n
ZXRfcHJldmlvdXNfc3RhdGUoICApOwp8IAp8IAkJCS8qIE9rYXksIHdlJ3JlIG5vdyBwb3NpdGlv
bmVkIHRvIG1ha2UgdGhlIE5VTAp8IAkJCSAqIHRyYW5zaXRpb24uICBXZSBjb3VsZG4ndCBoYXZl
CnwgCQkJICogeXlfZ2V0X3ByZXZpb3VzX3N0YXRlKCkgZ28gYWhlYWQgYW5kIGRvIGl0CnwgCQkJ
ICogZm9yIHVzIGJlY2F1c2UgaXQgZG9lc24ndCBrbm93IGhvdyB0byBkZWFsCnwgCQkJICogd2l0
aCB0aGUgcG9zc2liaWxpdHkgb2YgamFtbWluZyAoYW5kIHdlIGRvbid0CnwgCQkJICogd2FudCB0
byBidWlsZCBqYW1taW5nIGludG8gaXQgYmVjYXVzZSB0aGVuIGl0CnwgCQkJICogd2lsbCBydW4g
bW9yZSBzbG93bHkpLgp8IAkJCSAqLwp8IAp8IAkJCXl5X25leHRfc3RhdGUgPSB5eV90cnlfTlVM
X3RyYW5zKCB5eV9jdXJyZW50X3N0YXRlICk7CnwgCnwgCQkJeXlfYnAgPSAoeXl0ZXh0X3B0cikg
KyBZWV9NT1JFX0FESjsKfCAKfCAJCQlpZiAoIHl5X25leHRfc3RhdGUgKQp8IAkJCQl7CnwgCQkJ
CS8qIENvbnN1bWUgdGhlIE5VTC4gKi8KfCAJCQkJeXlfY3AgPSArKyh5eV9jX2J1Zl9wKTsKfCAJ
CQkJeXlfY3VycmVudF9zdGF0ZSA9IHl5X25leHRfc3RhdGU7CnwgCQkJCWdvdG8geXlfbWF0Y2g7
CnwgCQkJCX0KfCAKfCAJCQllbHNlCnwgCQkJCXsKfCAJCQkJeXlfY3AgPSAoeXlfY19idWZfcCk7
CnwgCQkJCWdvdG8geXlfZmluZF9hY3Rpb247CnwgCQkJCX0KfCAJCQl9CnwgCnwgCQllbHNlIHN3
aXRjaCAoIHl5X2dldF9uZXh0X2J1ZmZlciggICkgKQp8IAkJCXsKfCAJCQljYXNlIEVPQl9BQ1Rf
RU5EX09GX0ZJTEU6CnwgCQkJCXsKfCAJCQkJKHl5X2RpZF9idWZmZXJfc3dpdGNoX29uX2VvZikg
PSAwOwp8IAp8IAkJCQlpZiAoIHl5d3JhcCggKSApCnwgCQkJCQl7CnwgCQkJCQkvKiBOb3RlOiBi
ZWNhdXNlIHdlJ3ZlIHRha2VuIGNhcmUgaW4KfCAJCQkJCSAqIHl5X2dldF9uZXh0X2J1ZmZlcigp
IHRvIGhhdmUgc2V0IHVwCnwgCQkJCQkgKiB5eXRleHQsIHdlIGNhbiBub3cgc2V0IHVwCnwgCQkJ
CQkgKiB5eV9jX2J1Zl9wIHNvIHRoYXQgaWYgc29tZSB0b3RhbAp8IAkJCQkJICogaG9zZXIgKGxp
a2UgZmxleCBpdHNlbGYpIHdhbnRzIHRvCnwgCQkJCQkgKiBjYWxsIHRoZSBzY2FubmVyIGFmdGVy
IHdlIHJldHVybiB0aGUKfCAJCQkJCSAqIFlZX05VTEwsIGl0J2xsIHN0aWxsIHdvcmsgLSBhbm90
aGVyCnwgCQkJCQkgKiBZWV9OVUxMIHdpbGwgZ2V0IHJldHVybmVkLgp8IAkJCQkJICovCnwgCQkJ
CQkoeXlfY19idWZfcCkgPSAoeXl0ZXh0X3B0cikgKyBZWV9NT1JFX0FESjsKfCAKfCAJCQkJCXl5
X2FjdCA9IFlZX1NUQVRFX0VPRihZWV9TVEFSVCk7CnwgCQkJCQlnb3RvIGRvX2FjdGlvbjsKfCAJ
CQkJCX0KfCAKfCAJCQkJZWxzZQp8IAkJCQkJewp8IAkJCQkJaWYgKCAhICh5eV9kaWRfYnVmZmVy
X3N3aXRjaF9vbl9lb2YpICkKfCAJCQkJCQlZWV9ORVdfRklMRTsKfCAJCQkJCX0KfCAJCQkJYnJl
YWs7CnwgCQkJCX0KfCAKfCAJCQljYXNlIEVPQl9BQ1RfQ09OVElOVUVfU0NBTjoKfCAJCQkJKHl5
X2NfYnVmX3ApID0KfCAJCQkJCSh5eXRleHRfcHRyKSArIHl5X2Ftb3VudF9vZl9tYXRjaGVkX3Rl
eHQ7CnwgCnwgCQkJCXl5X2N1cnJlbnRfc3RhdGUgPSB5eV9nZXRfcHJldmlvdXNfc3RhdGUoICAp
Owp8IAp8IAkJCQl5eV9jcCA9ICh5eV9jX2J1Zl9wKTsKfCAJCQkJeXlfYnAgPSAoeXl0ZXh0X3B0
cikgKyBZWV9NT1JFX0FESjsKfCAJCQkJZ290byB5eV9tYXRjaDsKfCAKfCAJCQljYXNlIEVPQl9B
Q1RfTEFTVF9NQVRDSDoKfCAJCQkJKHl5X2NfYnVmX3ApID0KfCAJCQkJJllZX0NVUlJFTlRfQlVG
RkVSX0xWQUxVRS0+eXlfY2hfYnVmWyh5eV9uX2NoYXJzKV07CnwgCnwgCQkJCXl5X2N1cnJlbnRf
c3RhdGUgPSB5eV9nZXRfcHJldmlvdXNfc3RhdGUoICApOwp8IAp8IAkJCQl5eV9jcCA9ICh5eV9j
X2J1Zl9wKTsKfCAJCQkJeXlfYnAgPSAoeXl0ZXh0X3B0cikgKyBZWV9NT1JFX0FESjsKfCAJCQkJ
Z290byB5eV9maW5kX2FjdGlvbjsKfCAJCQl9CnwgCQlicmVhazsKfCAJCX0KfCAKfCAJZGVmYXVs
dDoKfCAJCVlZX0ZBVEFMX0VSUk9SKAp8IAkJCSJmYXRhbCBmbGV4IHNjYW5uZXIgaW50ZXJuYWwg
ZXJyb3ItLW5vIGFjdGlvbiBmb3VuZCIgKTsKfCAJfSAvKiBlbmQgb2YgYWN0aW9uIHN3aXRjaCAq
Lwp8IAkJfSAvKiBlbmQgb2Ygc2Nhbm5pbmcgb25lIHRva2VuICovCnwgfSAvKiBlbmQgb2YgeXls
ZXggKi8KfCAKfCAvKiB5eV9nZXRfbmV4dF9idWZmZXIgLSB0cnkgdG8gcmVhZCBpbiBhIG5ldyBi
dWZmZXIKfCAgKgp8ICAqIFJldHVybnMgYSBjb2RlIHJlcHJlc2VudGluZyBhbiBhY3Rpb246Cnwg
ICoJRU9CX0FDVF9MQVNUX01BVENIIC0KfCAgKglFT0JfQUNUX0NPTlRJTlVFX1NDQU4gLSBjb250
aW51ZSBzY2FubmluZyBmcm9tIGN1cnJlbnQgcG9zaXRpb24KfCAgKglFT0JfQUNUX0VORF9PRl9G
SUxFIC0gZW5kIG9mIGZpbGUKfCAgKi8KfCBzdGF0aWMgaW50IHl5X2dldF9uZXh0X2J1ZmZlciAo
dm9pZCkKfCB7CnwgICAgIAlyZWdpc3RlciBjaGFyICpkZXN0ID0gWVlfQ1VSUkVOVF9CVUZGRVJf
TFZBTFVFLT55eV9jaF9idWY7CnwgCXJlZ2lzdGVyIGNoYXIgKnNvdXJjZSA9ICh5eXRleHRfcHRy
KTsKfCAJcmVnaXN0ZXIgaW50IG51bWJlcl90b19tb3ZlLCBpOwp8IAlpbnQgcmV0X3ZhbDsKfCAK
fCAJaWYgKCAoeXlfY19idWZfcCkgPiAmWVlfQ1VSUkVOVF9CVUZGRVJfTFZBTFVFLT55eV9jaF9i
dWZbKHl5X25fY2hhcnMpICsgMV0gKQp8IAkJWVlfRkFUQUxfRVJST1IoCnwgCQkiZmF0YWwgZmxl
eCBzY2FubmVyIGludGVybmFsIGVycm9yLS1lbmQgb2YgYnVmZmVyIG1pc3NlZCIgKTsKfCAKfCAJ
aWYgKCBZWV9DVVJSRU5UX0JVRkZFUl9MVkFMVUUtPnl5X2ZpbGxfYnVmZmVyID09IDAgKQp8IAkJ
eyAvKiBEb24ndCB0cnkgdG8gZmlsbCB0aGUgYnVmZmVyLCBzbyB0aGlzIGlzIGFuIEVPRi4gKi8K
fCAJCWlmICggKHl5X2NfYnVmX3ApIC0gKHl5dGV4dF9wdHIpIC0gWVlfTU9SRV9BREogPT0gMSAp
CnwgCQkJewp8IAkJCS8qIFdlIG1hdGNoZWQgYSBzaW5nbGUgY2hhcmFjdGVyLCB0aGUgRU9CLCBz
bwp8IAkJCSAqIHRyZWF0IHRoaXMgYXMgYSBmaW5hbCBFT0YuCnwgCQkJICovCnwgCQkJcmV0dXJu
IEVPQl9BQ1RfRU5EX09GX0ZJTEU7CnwgCQkJfQp8IAp8IAkJZWxzZQp8IAkJCXsKfCAJCQkvKiBX
ZSBtYXRjaGVkIHNvbWUgdGV4dCBwcmlvciB0byB0aGUgRU9CLCBmaXJzdAp8IAkJCSAqIHByb2Nl
c3MgaXQuCnwgCQkJICovCnwgCQkJcmV0dXJuIEVPQl9BQ1RfTEFTVF9NQVRDSDsKfCAJCQl9Cnwg
CQl9CnwgCnwgCS8qIFRyeSB0byByZWFkIG1vcmUgZGF0YS4gKi8KfCAKfCAJLyogRmlyc3QgbW92
ZSBsYXN0IGNoYXJzIHRvIHN0YXJ0IG9mIGJ1ZmZlci4gKi8KfCAJbnVtYmVyX3RvX21vdmUgPSAo
aW50KSAoKHl5X2NfYnVmX3ApIC0gKHl5dGV4dF9wdHIpKSAtIDE7CnwgCnwgCWZvciAoIGkgPSAw
OyBpIDwgbnVtYmVyX3RvX21vdmU7ICsraSApCnwgCQkqKGRlc3QrKykgPSAqKHNvdXJjZSsrKTsK
fCAKfCAJaWYgKCBZWV9DVVJSRU5UX0JVRkZFUl9MVkFMVUUtPnl5X2J1ZmZlcl9zdGF0dXMgPT0g
WVlfQlVGRkVSX0VPRl9QRU5ESU5HICkKfCAJCS8qIGRvbid0IGRvIHRoZSByZWFkLCBpdCdzIG5v
dCBndWFyYW50ZWVkIHRvIHJldHVybiBhbiBFT0YsCnwgCQkgKiBqdXN0IGZvcmNlIGFuIEVPRgp8
IAkJICovCnwgCQlZWV9DVVJSRU5UX0JVRkZFUl9MVkFMVUUtPnl5X25fY2hhcnMgPSAoeXlfbl9j
aGFycykgPSAwOwp8IAp8IAllbHNlCnwgCQl7CnwgCQkJaW50IG51bV90b19yZWFkID0KfCAJCQlZ
WV9DVVJSRU5UX0JVRkZFUl9MVkFMVUUtPnl5X2J1Zl9zaXplIC0gbnVtYmVyX3RvX21vdmUgLSAx
Owp8IAp8IAkJd2hpbGUgKCBudW1fdG9fcmVhZCA8PSAwICkKfCAJCQl7IC8qIE5vdCBlbm91Z2gg
cm9vbSBpbiB0aGUgYnVmZmVyIC0gZ3JvdyBpdC4gKi8KfCAKfCAJCQlZWV9GQVRBTF9FUlJPUigK
fCAiaW5wdXQgYnVmZmVyIG92ZXJmbG93LCBjYW4ndCBlbmxhcmdlIGJ1ZmZlciBiZWNhdXNlIHNj
YW5uZXIgdXNlcyBSRUpFQ1QiICk7CnwgCnwgCQkJfQp8IAp8IAkJaWYgKCBudW1fdG9fcmVhZCA+
IFlZX1JFQURfQlVGX1NJWkUgKQp8IAkJCW51bV90b19yZWFkID0gWVlfUkVBRF9CVUZfU0laRTsK
fCAKfCAJCS8qIFJlYWQgaW4gbW9yZSBkYXRhLiAqLwp8IAkJWVlfSU5QVVQoICgmWVlfQ1VSUkVO
VF9CVUZGRVJfTFZBTFVFLT55eV9jaF9idWZbbnVtYmVyX3RvX21vdmVdKSwKfCAJCQkoeXlfbl9j
aGFycyksIChzaXplX3QpIG51bV90b19yZWFkICk7CnwgCnwgCQlZWV9DVVJSRU5UX0JVRkZFUl9M
VkFMVUUtPnl5X25fY2hhcnMgPSAoeXlfbl9jaGFycyk7CnwgCQl9CnwgCnwgCWlmICggKHl5X25f
Y2hhcnMpID09IDAgKQp8IAkJewp8IAkJaWYgKCBudW1iZXJfdG9fbW92ZSA9PSBZWV9NT1JFX0FE
SiApCnwgCQkJewp8IAkJCXJldF92YWwgPSBFT0JfQUNUX0VORF9PRl9GSUxFOwp8IAkJCXl5cmVz
dGFydCh5eWluICApOwp8IAkJCX0KfCAKfCAJCWVsc2UKfCAJCQl7CnwgCQkJcmV0X3ZhbCA9IEVP
Ql9BQ1RfTEFTVF9NQVRDSDsKfCAJCQlZWV9DVVJSRU5UX0JVRkZFUl9MVkFMVUUtPnl5X2J1ZmZl
cl9zdGF0dXMgPQp8IAkJCQlZWV9CVUZGRVJfRU9GX1BFTkRJTkc7CnwgCQkJfQp8IAkJfQp8IAp8
IAllbHNlCnwgCQlyZXRfdmFsID0gRU9CX0FDVF9DT05USU5VRV9TQ0FOOwp8IAp8IAlpZiAoKHl5
X3NpemVfdCkgKCh5eV9uX2NoYXJzKSArIG51bWJlcl90b19tb3ZlKSA+IFlZX0NVUlJFTlRfQlVG
RkVSX0xWQUxVRS0+eXlfYnVmX3NpemUpIHsKfCAJCS8qIEV4dGVuZCB0aGUgYXJyYXkgYnkgNTAl
LCBwbHVzIHRoZSBudW1iZXIgd2UgcmVhbGx5IG5lZWQuICovCnwgCQl5eV9zaXplX3QgbmV3X3Np
emUgPSAoeXlfbl9jaGFycykgKyBudW1iZXJfdG9fbW92ZSArICgoeXlfbl9jaGFycykgPj4gMSk7
CnwgCQlZWV9DVVJSRU5UX0JVRkZFUl9MVkFMVUUtPnl5X2NoX2J1ZiA9IChjaGFyICopIHl5cmVh
bGxvYygodm9pZCAqKSBZWV9DVVJSRU5UX0JVRkZFUl9MVkFMVUUtPnl5X2NoX2J1ZixuZXdfc2l6
ZSAgKTsKfCAJCWlmICggISBZWV9DVVJSRU5UX0JVRkZFUl9MVkFMVUUtPnl5X2NoX2J1ZiApCnwg
CQkJWVlfRkFUQUxfRVJST1IoICJvdXQgb2YgZHluYW1pYyBtZW1vcnkgaW4geXlfZ2V0X25leHRf
YnVmZmVyKCkiICk7CnwgCX0KfCAKfCAJKHl5X25fY2hhcnMpICs9IG51bWJlcl90b19tb3ZlOwp8
IAlZWV9DVVJSRU5UX0JVRkZFUl9MVkFMVUUtPnl5X2NoX2J1ZlsoeXlfbl9jaGFycyldID0gWVlf
RU5EX09GX0JVRkZFUl9DSEFSOwp8IAlZWV9DVVJSRU5UX0JVRkZFUl9MVkFMVUUtPnl5X2NoX2J1
ZlsoeXlfbl9jaGFycykgKyAxXSA9IFlZX0VORF9PRl9CVUZGRVJfQ0hBUjsKfCAKfCAJKHl5dGV4
dF9wdHIpID0gJllZX0NVUlJFTlRfQlVGRkVSX0xWQUxVRS0+eXlfY2hfYnVmWzBdOwp8IAp8IAly
ZXR1cm4gcmV0X3ZhbDsKfCB9CnwgCnwgLyogeXlfZ2V0X3ByZXZpb3VzX3N0YXRlIC0gZ2V0IHRo
ZSBzdGF0ZSBqdXN0IGJlZm9yZSB0aGUgRU9CIGNoYXIgd2FzIHJlYWNoZWQgKi8KfCAKfCAgICAg
c3RhdGljIHl5X3N0YXRlX3R5cGUgeXlfZ2V0X3ByZXZpb3VzX3N0YXRlICh2b2lkKQp8IHsKfCAJ
cmVnaXN0ZXIgeXlfc3RhdGVfdHlwZSB5eV9jdXJyZW50X3N0YXRlOwp8IAlyZWdpc3RlciBjaGFy
ICp5eV9jcDsKfCAgICAgCnwgCXl5X2N1cnJlbnRfc3RhdGUgPSAoeXlfc3RhcnQpOwp8IAp8IAko
eXlfc3RhdGVfcHRyKSA9ICh5eV9zdGF0ZV9idWYpOwp8IAkqKHl5X3N0YXRlX3B0cikrKyA9IHl5
X2N1cnJlbnRfc3RhdGU7CnwgCnwgCWZvciAoIHl5X2NwID0gKHl5dGV4dF9wdHIpICsgWVlfTU9S
RV9BREo7IHl5X2NwIDwgKHl5X2NfYnVmX3ApOyArK3l5X2NwICkKfCAJCXsKfCAJCXJlZ2lzdGVy
IFlZX0NIQVIgeXlfYyA9ICgqeXlfY3AgPyB5eV9lY1tZWV9TQ19UT19VSSgqeXlfY3ApXSA6IDEp
Owp8IAkJd2hpbGUgKCB5eV9jaGtbeXlfYmFzZVt5eV9jdXJyZW50X3N0YXRlXSArIHl5X2NdICE9
IHl5X2N1cnJlbnRfc3RhdGUgKQp8IAkJCXsKfCAJCQl5eV9jdXJyZW50X3N0YXRlID0gKGludCkg
eXlfZGVmW3l5X2N1cnJlbnRfc3RhdGVdOwp8IAkJCWlmICggeXlfY3VycmVudF9zdGF0ZSA+PSAx
MyApCnwgCQkJCXl5X2MgPSB5eV9tZXRhWyh1bnNpZ25lZCBpbnQpIHl5X2NdOwp8IAkJCX0KfCAJ
CXl5X2N1cnJlbnRfc3RhdGUgPSB5eV9ueHRbeXlfYmFzZVt5eV9jdXJyZW50X3N0YXRlXSArICh1
bnNpZ25lZCBpbnQpIHl5X2NdOwp8IAkJKih5eV9zdGF0ZV9wdHIpKysgPSB5eV9jdXJyZW50X3N0
YXRlOwp8IAkJfQp8IAp8IAlyZXR1cm4geXlfY3VycmVudF9zdGF0ZTsKfCB9CnwgCnwgLyogeXlf
dHJ5X05VTF90cmFucyAtIHRyeSB0byBtYWtlIGEgdHJhbnNpdGlvbiBvbiB0aGUgTlVMIGNoYXJh
Y3Rlcgp8ICAqCnwgICogc3lub3BzaXMKfCAgKgluZXh0X3N0YXRlID0geXlfdHJ5X05VTF90cmFu
cyggY3VycmVudF9zdGF0ZSApOwp8ICAqLwp8ICAgICBzdGF0aWMgeXlfc3RhdGVfdHlwZSB5eV90
cnlfTlVMX3RyYW5zICAoeXlfc3RhdGVfdHlwZSB5eV9jdXJyZW50X3N0YXRlICkKfCB7CnwgCXJl
Z2lzdGVyIGludCB5eV9pc19qYW07CnwgICAgIAp8IAlyZWdpc3RlciBZWV9DSEFSIHl5X2MgPSAx
Owp8IAl3aGlsZSAoIHl5X2Noa1t5eV9iYXNlW3l5X2N1cnJlbnRfc3RhdGVdICsgeXlfY10gIT0g
eXlfY3VycmVudF9zdGF0ZSApCnwgCQl7CnwgCQl5eV9jdXJyZW50X3N0YXRlID0gKGludCkgeXlf
ZGVmW3l5X2N1cnJlbnRfc3RhdGVdOwp8IAkJaWYgKCB5eV9jdXJyZW50X3N0YXRlID49IDEzICkK
fCAJCQl5eV9jID0geXlfbWV0YVsodW5zaWduZWQgaW50KSB5eV9jXTsKfCAJCX0KfCAJeXlfY3Vy
cmVudF9zdGF0ZSA9IHl5X254dFt5eV9iYXNlW3l5X2N1cnJlbnRfc3RhdGVdICsgKHVuc2lnbmVk
IGludCkgeXlfY107CnwgCXl5X2lzX2phbSA9ICh5eV9jdXJyZW50X3N0YXRlID09IDEyKTsKfCAJ
aWYgKCAhIHl5X2lzX2phbSApCnwgCQkqKHl5X3N0YXRlX3B0cikrKyA9IHl5X2N1cnJlbnRfc3Rh
dGU7CnwgCnwgCXJldHVybiB5eV9pc19qYW0gPyAwIDogeXlfY3VycmVudF9zdGF0ZTsKfCB9Cnwg
CnwgICAgIHN0YXRpYyB2b2lkIHl5dW5wdXQgKGludCBjLCByZWdpc3RlciBjaGFyICogeXlfYnAg
KQp8IHsKfCAJcmVnaXN0ZXIgY2hhciAqeXlfY3A7CnwgICAgIAp8ICAgICB5eV9jcCA9ICh5eV9j
X2J1Zl9wKTsKfCAKfCAJLyogdW5kbyBlZmZlY3RzIG9mIHNldHRpbmcgdXAgeXl0ZXh0ICovCnwg
CSp5eV9jcCA9ICh5eV9ob2xkX2NoYXIpOwp8IAp8IAlpZiAoIHl5X2NwIDwgWVlfQ1VSUkVOVF9C
VUZGRVJfTFZBTFVFLT55eV9jaF9idWYgKyAyICkKfCAJCXsgLyogbmVlZCB0byBzaGlmdCB0aGlu
Z3MgdXAgdG8gbWFrZSByb29tICovCnwgCQkvKiArMiBmb3IgRU9CIGNoYXJzLiAqLwp8IAkJcmVn
aXN0ZXIgaW50IG51bWJlcl90b19tb3ZlID0gKHl5X25fY2hhcnMpICsgMjsKfCAJCXJlZ2lzdGVy
IGNoYXIgKmRlc3QgPSAmWVlfQ1VSUkVOVF9CVUZGRVJfTFZBTFVFLT55eV9jaF9idWZbCnwgCQkJ
CQlZWV9DVVJSRU5UX0JVRkZFUl9MVkFMVUUtPnl5X2J1Zl9zaXplICsgMl07CnwgCQlyZWdpc3Rl
ciBjaGFyICpzb3VyY2UgPQp8IAkJCQkmWVlfQ1VSUkVOVF9CVUZGRVJfTFZBTFVFLT55eV9jaF9i
dWZbbnVtYmVyX3RvX21vdmVdOwp8IAp8IAkJd2hpbGUgKCBzb3VyY2UgPiBZWV9DVVJSRU5UX0JV
RkZFUl9MVkFMVUUtPnl5X2NoX2J1ZiApCnwgCQkJKi0tZGVzdCA9ICotLXNvdXJjZTsKfCAKfCAJ
CXl5X2NwICs9IChpbnQpIChkZXN0IC0gc291cmNlKTsKfCAJCXl5X2JwICs9IChpbnQpIChkZXN0
IC0gc291cmNlKTsKfCAJCVlZX0NVUlJFTlRfQlVGRkVSX0xWQUxVRS0+eXlfbl9jaGFycyA9Cnwg
CQkJKHl5X25fY2hhcnMpID0gWVlfQ1VSUkVOVF9CVUZGRVJfTFZBTFVFLT55eV9idWZfc2l6ZTsK
fCAKfCAJCWlmICggeXlfY3AgPCBZWV9DVVJSRU5UX0JVRkZFUl9MVkFMVUUtPnl5X2NoX2J1ZiAr
IDIgKQp8IAkJCVlZX0ZBVEFMX0VSUk9SKCAiZmxleCBzY2FubmVyIHB1c2gtYmFjayBvdmVyZmxv
dyIgKTsKfCAJCX0KfCAKfCAJKi0teXlfY3AgPSAoY2hhcikgYzsKfCAKfCAJKHl5dGV4dF9wdHIp
ID0geXlfYnA7CnwgCSh5eV9ob2xkX2NoYXIpID0gKnl5X2NwOwp8IAkoeXlfY19idWZfcCkgPSB5
eV9jcDsKfCB9CnwgCnwgI2lmbmRlZiBZWV9OT19JTlBVVAp8ICNpZmRlZiBfX2NwbHVzcGx1cwp8
ICAgICBzdGF0aWMgaW50IHl5aW5wdXQgKHZvaWQpCnwgI2Vsc2UKfCAgICAgc3RhdGljIGludCBp
bnB1dCAgKHZvaWQpCnwgI2VuZGlmCnwgCnwgewp8IAlpbnQgYzsKfCAgICAgCnwgCSooeXlfY19i
dWZfcCkgPSAoeXlfaG9sZF9jaGFyKTsKfCAKfCAJaWYgKCAqKHl5X2NfYnVmX3ApID09IFlZX0VO
RF9PRl9CVUZGRVJfQ0hBUiApCnwgCQl7CnwgCQkvKiB5eV9jX2J1Zl9wIG5vdyBwb2ludHMgdG8g
dGhlIGNoYXJhY3RlciB3ZSB3YW50IHRvIHJldHVybi4KfCAJCSAqIElmIHRoaXMgb2NjdXJzICpi
ZWZvcmUqIHRoZSBFT0IgY2hhcmFjdGVycywgdGhlbiBpdCdzIGEKfCAJCSAqIHZhbGlkIE5VTDsg
aWYgbm90LCB0aGVuIHdlJ3ZlIGhpdCB0aGUgZW5kIG9mIHRoZSBidWZmZXIuCnwgCQkgKi8KfCAJ
CWlmICggKHl5X2NfYnVmX3ApIDwgJllZX0NVUlJFTlRfQlVGRkVSX0xWQUxVRS0+eXlfY2hfYnVm
Wyh5eV9uX2NoYXJzKV0gKQp8IAkJCS8qIFRoaXMgd2FzIHJlYWxseSBhIE5VTC4gKi8KfCAJCQkq
KHl5X2NfYnVmX3ApID0gJ1wwJzsKfCAKfCAJCWVsc2UKfCAJCQl7IC8qIG5lZWQgbW9yZSBpbnB1
dCAqLwp8IAkJCWludCBvZmZzZXQgPSAoeXlfY19idWZfcCkgLSAoeXl0ZXh0X3B0cik7CnwgCQkJ
KysoeXlfY19idWZfcCk7CnwgCnwgCQkJc3dpdGNoICggeXlfZ2V0X25leHRfYnVmZmVyKCAgKSAp
CnwgCQkJCXsKfCAJCQkJY2FzZSBFT0JfQUNUX0xBU1RfTUFUQ0g6CnwgCQkJCQkvKiBUaGlzIGhh
cHBlbnMgYmVjYXVzZSB5eV9nX25fYigpCnwgCQkJCQkgKiBzZWVzIHRoYXQgd2UndmUgYWNjdW11
bGF0ZWQgYQp8IAkJCQkJICogdG9rZW4gYW5kIGZsYWdzIHRoYXQgd2UgbmVlZCB0bwp8IAkJCQkJ
ICogdHJ5IG1hdGNoaW5nIHRoZSB0b2tlbiBiZWZvcmUKfCAJCQkJCSAqIHByb2NlZWRpbmcuICBC
dXQgZm9yIGlucHV0KCksCnwgCQkJCQkgKiB0aGVyZSdzIG5vIG1hdGNoaW5nIHRvIGNvbnNpZGVy
Lgp8IAkJCQkJICogU28gY29udmVydCB0aGUgRU9CX0FDVF9MQVNUX01BVENICnwgCQkJCQkgKiB0
byBFT0JfQUNUX0VORF9PRl9GSUxFLgp8IAkJCQkJICovCnwgCnwgCQkJCQkvKiBSZXNldCBidWZm
ZXIgc3RhdHVzLiAqLwp8IAkJCQkJeXlyZXN0YXJ0KHl5aW4gKTsKfCAKfCAJCQkJCS8qRkFMTFRI
Uk9VR0gqLwp8IAp8IAkJCQljYXNlIEVPQl9BQ1RfRU5EX09GX0ZJTEU6CnwgCQkJCQl7CnwgCQkJ
CQlpZiAoIHl5d3JhcCggKSApCnwgCQkJCQkJcmV0dXJuIEVPRjsKfCAKfCAJCQkJCWlmICggISAo
eXlfZGlkX2J1ZmZlcl9zd2l0Y2hfb25fZW9mKSApCnwgCQkJCQkJWVlfTkVXX0ZJTEU7CnwgI2lm
ZGVmIF9fY3BsdXNwbHVzCnwgCQkJCQlyZXR1cm4geXlpbnB1dCgpOwp8ICNlbHNlCnwgCQkJCQly
ZXR1cm4gaW5wdXQoKTsKfCAjZW5kaWYKfCAJCQkJCX0KfCAKfCAJCQkJY2FzZSBFT0JfQUNUX0NP
TlRJTlVFX1NDQU46CnwgCQkJCQkoeXlfY19idWZfcCkgPSAoeXl0ZXh0X3B0cikgKyBvZmZzZXQ7
CnwgCQkJCQlicmVhazsKfCAJCQkJfQp8IAkJCX0KfCAJCX0KfCAKfCAJYyA9ICoodW5zaWduZWQg
Y2hhciAqKSAoeXlfY19idWZfcCk7CS8qIGNhc3QgZm9yIDgtYml0IGNoYXIncyAqLwp8IAkqKHl5
X2NfYnVmX3ApID0gJ1wwJzsJLyogcHJlc2VydmUgeXl0ZXh0ICovCnwgCSh5eV9ob2xkX2NoYXIp
ID0gKisrKHl5X2NfYnVmX3ApOwp8IAp8IAlyZXR1cm4gYzsKfCB9CnwgI2VuZGlmCS8qIGlmbmRl
ZiBZWV9OT19JTlBVVCAqLwp8IAp8IC8qKiBJbW1lZGlhdGVseSBzd2l0Y2ggdG8gYSBkaWZmZXJl
bnQgaW5wdXQgc3RyZWFtLgp8ICAqIEBwYXJhbSBpbnB1dF9maWxlIEEgcmVhZGFibGUgc3RyZWFt
Lgp8ICAqIAp8ICAqIEBub3RlIFRoaXMgZnVuY3Rpb24gZG9lcyBub3QgcmVzZXQgdGhlIHN0YXJ0
IGNvbmRpdGlvbiB0byBAYyBJTklUSUFMIC4KfCAgKi8KfCAgICAgdm9pZCB5eXJlc3RhcnQgIChG
SUxFICogaW5wdXRfZmlsZSApCnwgewp8ICAgICAKfCAJaWYgKCAhIFlZX0NVUlJFTlRfQlVGRkVS
ICl7CnwgICAgICAgICB5eWVuc3VyZV9idWZmZXJfc3RhY2sgKCk7CnwgCQlZWV9DVVJSRU5UX0JV
RkZFUl9MVkFMVUUgPQp8ICAgICAgICAgICAgIHl5X2NyZWF0ZV9idWZmZXIoeXlpbixZWV9CVUZf
U0laRSApOwp8IAl9CnwgCnwgCXl5X2luaXRfYnVmZmVyKFlZX0NVUlJFTlRfQlVGRkVSLGlucHV0
X2ZpbGUgKTsKfCAJeXlfbG9hZF9idWZmZXJfc3RhdGUoICk7CnwgfQp8IAp8IC8qKiBTd2l0Y2gg
dG8gYSBkaWZmZXJlbnQgaW5wdXQgYnVmZmVyLgp8ICAqIEBwYXJhbSBuZXdfYnVmZmVyIFRoZSBu
ZXcgaW5wdXQgYnVmZmVyLgp8ICAqIAp8ICAqLwp8ICAgICB2b2lkIHl5X3N3aXRjaF90b19idWZm
ZXIgIChZWV9CVUZGRVJfU1RBVEUgIG5ld19idWZmZXIgKQp8IHsKfCAgICAgCnwgCS8qIFRPRE8u
IFdlIHNob3VsZCBiZSBhYmxlIHRvIHJlcGxhY2UgdGhpcyBlbnRpcmUgZnVuY3Rpb24gYm9keQp8
IAkgKiB3aXRoCnwgCSAqCQl5eXBvcF9idWZmZXJfc3RhdGUoKTsKfCAJICoJCXl5cHVzaF9idWZm
ZXJfc3RhdGUobmV3X2J1ZmZlcik7CnwgICAgICAqLwp8IAl5eWVuc3VyZV9idWZmZXJfc3RhY2sg
KCk7CnwgCWlmICggWVlfQ1VSUkVOVF9CVUZGRVIgPT0gbmV3X2J1ZmZlciApCnwgCQlyZXR1cm47
CnwgCnwgCWlmICggWVlfQ1VSUkVOVF9CVUZGRVIgKQp8IAkJewp8IAkJLyogRmx1c2ggb3V0IGlu
Zm9ybWF0aW9uIGZvciBvbGQgYnVmZmVyLiAqLwp8IAkJKih5eV9jX2J1Zl9wKSA9ICh5eV9ob2xk
X2NoYXIpOwp8IAkJWVlfQ1VSUkVOVF9CVUZGRVJfTFZBTFVFLT55eV9idWZfcG9zID0gKHl5X2Nf
YnVmX3ApOwp8IAkJWVlfQ1VSUkVOVF9CVUZGRVJfTFZBTFVFLT55eV9uX2NoYXJzID0gKHl5X25f
Y2hhcnMpOwp8IAkJfQp8IAp8IAlZWV9DVVJSRU5UX0JVRkZFUl9MVkFMVUUgPSBuZXdfYnVmZmVy
Owp8IAl5eV9sb2FkX2J1ZmZlcl9zdGF0ZSggKTsKfCAKfCAJLyogV2UgZG9uJ3QgYWN0dWFsbHkg
a25vdyB3aGV0aGVyIHdlIGRpZCB0aGlzIHN3aXRjaCBkdXJpbmcKfCAJICogRU9GICh5eXdyYXAo
KSkgcHJvY2Vzc2luZywgYnV0IHRoZSBvbmx5IHRpbWUgdGhpcyBmbGFnCnwgCSAqIGlzIGxvb2tl
ZCBhdCBpcyBhZnRlciB5eXdyYXAoKSBpcyBjYWxsZWQsIHNvIGl0J3Mgc2FmZQp8IAkgKiB0byBn
byBhaGVhZCBhbmQgYWx3YXlzIHNldCBpdC4KfCAJICovCnwgCSh5eV9kaWRfYnVmZmVyX3N3aXRj
aF9vbl9lb2YpID0gMTsKfCB9CnwgCnwgc3RhdGljIHZvaWQgeXlfbG9hZF9idWZmZXJfc3RhdGUg
ICh2b2lkKQp8IHsKfCAgICAgCSh5eV9uX2NoYXJzKSA9IFlZX0NVUlJFTlRfQlVGRkVSX0xWQUxV
RS0+eXlfbl9jaGFyczsKfCAJKHl5dGV4dF9wdHIpID0gKHl5X2NfYnVmX3ApID0gWVlfQ1VSUkVO
VF9CVUZGRVJfTFZBTFVFLT55eV9idWZfcG9zOwp8IAl5eWluID0gWVlfQ1VSUkVOVF9CVUZGRVJf
TFZBTFVFLT55eV9pbnB1dF9maWxlOwp8IAkoeXlfaG9sZF9jaGFyKSA9ICooeXlfY19idWZfcCk7
CnwgfQp8IAp8IC8qKiBBbGxvY2F0ZSBhbmQgaW5pdGlhbGl6ZSBhbiBpbnB1dCBidWZmZXIgc3Rh
dGUuCnwgICogQHBhcmFtIGZpbGUgQSByZWFkYWJsZSBzdHJlYW0uCnwgICogQHBhcmFtIHNpemUg
VGhlIGNoYXJhY3RlciBidWZmZXIgc2l6ZSBpbiBieXRlcy4gV2hlbiBpbiBkb3VidCwgdXNlIEBj
IFlZX0JVRl9TSVpFLgp8ICAqIAp8ICAqIEByZXR1cm4gdGhlIGFsbG9jYXRlZCBidWZmZXIgc3Rh
dGUuCnwgICovCnwgICAgIFlZX0JVRkZFUl9TVEFURSB5eV9jcmVhdGVfYnVmZmVyICAoRklMRSAq
IGZpbGUsIGludCAgc2l6ZSApCnwgewp8IAlZWV9CVUZGRVJfU1RBVEUgYjsKfCAgICAgCnwgCWIg
PSAoWVlfQlVGRkVSX1NUQVRFKSB5eWFsbG9jKHNpemVvZiggc3RydWN0IHl5X2J1ZmZlcl9zdGF0
ZSApICApOwp8IAlpZiAoICEgYiApCnwgCQlZWV9GQVRBTF9FUlJPUiggIm91dCBvZiBkeW5hbWlj
IG1lbW9yeSBpbiB5eV9jcmVhdGVfYnVmZmVyKCkiICk7CnwgCnwgCWItPnl5X2J1Zl9zaXplID0g
c2l6ZTsKfCAKfCAJLyogeXlfY2hfYnVmIGhhcyB0byBiZSAyIGNoYXJhY3RlcnMgbG9uZ2VyIHRo
YW4gdGhlIHNpemUgZ2l2ZW4gYmVjYXVzZQp8IAkgKiB3ZSBuZWVkIHRvIHB1dCBpbiAyIGVuZC1v
Zi1idWZmZXIgY2hhcmFjdGVycy4KfCAJICovCnwgCWItPnl5X2NoX2J1ZiA9IChjaGFyICopIHl5
YWxsb2MoYi0+eXlfYnVmX3NpemUgKyAyICApOwp8IAlpZiAoICEgYi0+eXlfY2hfYnVmICkKfCAJ
CVlZX0ZBVEFMX0VSUk9SKCAib3V0IG9mIGR5bmFtaWMgbWVtb3J5IGluIHl5X2NyZWF0ZV9idWZm
ZXIoKSIgKTsKfCAKfCAJYi0+eXlfaXNfb3VyX2J1ZmZlciA9IDE7CnwgCnwgCXl5X2luaXRfYnVm
ZmVyKGIsZmlsZSApOwp8IAp8IAlyZXR1cm4gYjsKfCB9CnwgCnwgLyoqIERlc3Ryb3kgdGhlIGJ1
ZmZlci4KfCAgKiBAcGFyYW0gYiBhIGJ1ZmZlciBjcmVhdGVkIHdpdGggeXlfY3JlYXRlX2J1ZmZl
cigpCnwgICogCnwgICovCnwgICAgIHZvaWQgeXlfZGVsZXRlX2J1ZmZlciAoWVlfQlVGRkVSX1NU
QVRFICBiICkKfCB7CnwgICAgIAp8IAlpZiAoICEgYiApCnwgCQlyZXR1cm47CnwgCnwgCWlmICgg
YiA9PSBZWV9DVVJSRU5UX0JVRkZFUiApIC8qIE5vdCBzdXJlIGlmIHdlIHNob3VsZCBwb3AgaGVy
ZS4gKi8KfCAJCVlZX0NVUlJFTlRfQlVGRkVSX0xWQUxVRSA9IChZWV9CVUZGRVJfU1RBVEUpIDA7
CnwgCnwgCWlmICggYi0+eXlfaXNfb3VyX2J1ZmZlciApCnwgCQl5eWZyZWUoKHZvaWQgKikgYi0+
eXlfY2hfYnVmICApOwp8IAp8IAl5eWZyZWUoKHZvaWQgKikgYiAgKTsKfCB9CnwgCnwgI2lmbmRl
ZiBfVU5JU1REX0ggLyogYXNzdW1lIHVuaXN0ZC5oIGhhcyBpc2F0dHkoKSBmb3IgdXMgKi8KfCAj
aWZkZWYgX19jcGx1c3BsdXMKfCBleHRlcm4gIkMiIHsKfCAjZW5kaWYKfCAjaWZkZWYgX19USFJP
VyAvKiB0aGlzIGlzIGEgZ251aXNtICovCnwgZXh0ZXJuIGludCBpc2F0dHkgKGludCApIF9fVEhS
T1c7CnwgI2Vsc2UKfCBleHRlcm4gaW50IGlzYXR0eSAoaW50ICk7CnwgI2VuZGlmCnwgI2lmZGVm
IF9fY3BsdXNwbHVzCnwgfQp8ICNlbmRpZgp8ICNlbmRpZgp8ICAgICAKfCAvKiBJbml0aWFsaXpl
cyBvciByZWluaXRpYWxpemVzIGEgYnVmZmVyLgp8ICAqIFRoaXMgZnVuY3Rpb24gaXMgc29tZXRp
bWVzIGNhbGxlZCBtb3JlIHRoYW4gb25jZSBvbiB0aGUgc2FtZSBidWZmZXIsCnwgICogc3VjaCBh
cyBkdXJpbmcgYSB5eXJlc3RhcnQoKSBvciBhdCBFT0YuCnwgICovCnwgICAgIHN0YXRpYyB2b2lk
IHl5X2luaXRfYnVmZmVyICAoWVlfQlVGRkVSX1NUQVRFICBiLCBGSUxFICogZmlsZSApCnwgCnwg
ewp8IAlpbnQgb2Vycm5vID0gZXJybm87CnwgICAgIAp8IAl5eV9mbHVzaF9idWZmZXIoYiApOwp8
IAp8IAliLT55eV9pbnB1dF9maWxlID0gZmlsZTsKfCAJYi0+eXlfZmlsbF9idWZmZXIgPSAxOwp8
IAp8ICAgICAvKiBJZiBiIGlzIHRoZSBjdXJyZW50IGJ1ZmZlciwgdGhlbiB5eV9pbml0X2J1ZmZl
ciB3YXMgX3Byb2JhYmx5Xwp8ICAgICAgKiBjYWxsZWQgZnJvbSB5eXJlc3RhcnQoKSBvciB0aHJv
dWdoIHl5X2dldF9uZXh0X2J1ZmZlci4KfCAgICAgICogSW4gdGhhdCBjYXNlLCB3ZSBkb24ndCB3
YW50IHRvIHJlc2V0IHRoZSBsaW5lbm8gb3IgY29sdW1uLgp8ICAgICAgKi8KfCAgICAgaWYgKGIg
IT0gWVlfQ1VSUkVOVF9CVUZGRVIpewp8ICAgICAgICAgYi0+eXlfYnNfbGluZW5vID0gMTsKfCAg
ICAgICAgIGItPnl5X2JzX2NvbHVtbiA9IDA7CnwgICAgIH0KfCAKfCAgICAgICAgIGItPnl5X2lz
X2ludGVyYWN0aXZlID0gZmlsZSA/IChpc2F0dHkoIGZpbGVubyhmaWxlKSApID4gMCkgOiAwOwp8
ICAgICAKfCAJZXJybm8gPSBvZXJybm87CnwgfQp8IAp8IC8qKiBEaXNjYXJkIGFsbCBidWZmZXJl
ZCBjaGFyYWN0ZXJzLiBPbiB0aGUgbmV4dCBzY2FuLCBZWV9JTlBVVCB3aWxsIGJlIGNhbGxlZC4K
fCAgKiBAcGFyYW0gYiB0aGUgYnVmZmVyIHN0YXRlIHRvIGJlIGZsdXNoZWQsIHVzdWFsbHkgQGMg
WVlfQ1VSUkVOVF9CVUZGRVIuCnwgICogCnwgICovCnwgICAgIHZvaWQgeXlfZmx1c2hfYnVmZmVy
IChZWV9CVUZGRVJfU1RBVEUgIGIgKQp8IHsKfCAgICAgCWlmICggISBiICkKfCAJCXJldHVybjsK
fCAKfCAJYi0+eXlfbl9jaGFycyA9IDA7CnwgCnwgCS8qIFdlIGFsd2F5cyBuZWVkIHR3byBlbmQt
b2YtYnVmZmVyIGNoYXJhY3RlcnMuICBUaGUgZmlyc3QgY2F1c2VzCnwgCSAqIGEgdHJhbnNpdGlv
biB0byB0aGUgZW5kLW9mLWJ1ZmZlciBzdGF0ZS4gIFRoZSBzZWNvbmQgY2F1c2VzCnwgCSAqIGEg
amFtIGluIHRoYXQgc3RhdGUuCnwgCSAqLwp8IAliLT55eV9jaF9idWZbMF0gPSBZWV9FTkRfT0Zf
QlVGRkVSX0NIQVI7CnwgCWItPnl5X2NoX2J1ZlsxXSA9IFlZX0VORF9PRl9CVUZGRVJfQ0hBUjsK
fCAKfCAJYi0+eXlfYnVmX3BvcyA9ICZiLT55eV9jaF9idWZbMF07CnwgCnwgCWItPnl5X2F0X2Jv
bCA9IDE7CnwgCWItPnl5X2J1ZmZlcl9zdGF0dXMgPSBZWV9CVUZGRVJfTkVXOwp8IAp8IAlpZiAo
IGIgPT0gWVlfQ1VSUkVOVF9CVUZGRVIgKQp8IAkJeXlfbG9hZF9idWZmZXJfc3RhdGUoICk7Cnwg
fQp8IAp8IC8qKiBQdXNoZXMgdGhlIG5ldyBzdGF0ZSBvbnRvIHRoZSBzdGFjay4gVGhlIG5ldyBz
dGF0ZSBiZWNvbWVzCnwgICogIHRoZSBjdXJyZW50IHN0YXRlLiBUaGlzIGZ1bmN0aW9uIHdpbGwg
YWxsb2NhdGUgdGhlIHN0YWNrCnwgICogIGlmIG5lY2Vzc2FyeS4KfCAgKiAgQHBhcmFtIG5ld19i
dWZmZXIgVGhlIG5ldyBzdGF0ZS4KfCAgKiAgCnwgICovCnwgdm9pZCB5eXB1c2hfYnVmZmVyX3N0
YXRlIChZWV9CVUZGRVJfU1RBVEUgbmV3X2J1ZmZlciApCnwgewp8ICAgICAJaWYgKG5ld19idWZm
ZXIgPT0gTlVMTCkKfCAJCXJldHVybjsKfCAKfCAJeXllbnN1cmVfYnVmZmVyX3N0YWNrKCk7Cnwg
CnwgCS8qIFRoaXMgYmxvY2sgaXMgY29waWVkIGZyb20geXlfc3dpdGNoX3RvX2J1ZmZlci4gKi8K
fCAJaWYgKCBZWV9DVVJSRU5UX0JVRkZFUiApCnwgCQl7CnwgCQkvKiBGbHVzaCBvdXQgaW5mb3Jt
YXRpb24gZm9yIG9sZCBidWZmZXIuICovCnwgCQkqKHl5X2NfYnVmX3ApID0gKHl5X2hvbGRfY2hh
cik7CnwgCQlZWV9DVVJSRU5UX0JVRkZFUl9MVkFMVUUtPnl5X2J1Zl9wb3MgPSAoeXlfY19idWZf
cCk7CnwgCQlZWV9DVVJSRU5UX0JVRkZFUl9MVkFMVUUtPnl5X25fY2hhcnMgPSAoeXlfbl9jaGFy
cyk7CnwgCQl9CnwgCnwgCS8qIE9ubHkgcHVzaCBpZiB0b3AgZXhpc3RzLiBPdGhlcndpc2UsIHJl
cGxhY2UgdG9wLiAqLwp8IAlpZiAoWVlfQ1VSUkVOVF9CVUZGRVIpCnwgCQkoeXlfYnVmZmVyX3N0
YWNrX3RvcCkrKzsKfCAJWVlfQ1VSUkVOVF9CVUZGRVJfTFZBTFVFID0gbmV3X2J1ZmZlcjsKfCAK
fCAJLyogY29waWVkIGZyb20geXlfc3dpdGNoX3RvX2J1ZmZlci4gKi8KfCAJeXlfbG9hZF9idWZm
ZXJfc3RhdGUoICk7CnwgCSh5eV9kaWRfYnVmZmVyX3N3aXRjaF9vbl9lb2YpID0gMTsKfCB9Cnwg
CnwgLyoqIFJlbW92ZXMgYW5kIGRlbGV0ZXMgdGhlIHRvcCBvZiB0aGUgc3RhY2ssIGlmIHByZXNl
bnQuCnwgICogIFRoZSBuZXh0IGVsZW1lbnQgYmVjb21lcyB0aGUgbmV3IHRvcC4KfCAgKiAgCnwg
ICovCnwgdm9pZCB5eXBvcF9idWZmZXJfc3RhdGUgKHZvaWQpCnwgewp8ICAgICAJaWYgKCFZWV9D
VVJSRU5UX0JVRkZFUikKfCAJCXJldHVybjsKfCAKfCAJeXlfZGVsZXRlX2J1ZmZlcihZWV9DVVJS
RU5UX0JVRkZFUiApOwp8IAlZWV9DVVJSRU5UX0JVRkZFUl9MVkFMVUUgPSBOVUxMOwp8IAlpZiAo
KHl5X2J1ZmZlcl9zdGFja190b3ApID4gMCkKfCAJCS0tKHl5X2J1ZmZlcl9zdGFja190b3ApOwp8
IAp8IAlpZiAoWVlfQ1VSUkVOVF9CVUZGRVIpIHsKfCAJCXl5X2xvYWRfYnVmZmVyX3N0YXRlKCAp
Owp8IAkJKHl5X2RpZF9idWZmZXJfc3dpdGNoX29uX2VvZikgPSAxOwp8IAl9CnwgfQp8IAp8IC8q
IEFsbG9jYXRlcyB0aGUgc3RhY2sgaWYgaXQgZG9lcyBub3QgZXhpc3QuCnwgICogIEd1YXJhbnRl
ZXMgc3BhY2UgZm9yIGF0IGxlYXN0IG9uZSBwdXNoLgp8ICAqLwp8IHN0YXRpYyB2b2lkIHl5ZW5z
dXJlX2J1ZmZlcl9zdGFjayAodm9pZCkKfCB7CnwgCWludCBudW1fdG9fYWxsb2M7CnwgICAgIAp8
IAlpZiAoISh5eV9idWZmZXJfc3RhY2spKSB7CnwgCnwgCQkvKiBGaXJzdCBhbGxvY2F0aW9uIGlz
IGp1c3QgZm9yIDIgZWxlbWVudHMsIHNpbmNlIHdlIGRvbid0IGtub3cgaWYgdGhpcwp8IAkJICog
c2Nhbm5lciB3aWxsIGV2ZW4gbmVlZCBhIHN0YWNrLiBXZSB1c2UgMiBpbnN0ZWFkIG9mIDEgdG8g
YXZvaWQgYW4KfCAJCSAqIGltbWVkaWF0ZSByZWFsbG9jIG9uIHRoZSBuZXh0IGNhbGwuCnwgICAg
ICAgICAgKi8KfCAJCW51bV90b19hbGxvYyA9IDE7CnwgCQkoeXlfYnVmZmVyX3N0YWNrKSA9IChz
dHJ1Y3QgeXlfYnVmZmVyX3N0YXRlKiopeXlhbGxvYwp8IAkJCQkJCQkJKG51bV90b19hbGxvYyAq
IHNpemVvZihzdHJ1Y3QgeXlfYnVmZmVyX3N0YXRlKikKfCAJCQkJCQkJCSk7CnwgCQlpZiAoICEg
KHl5X2J1ZmZlcl9zdGFjaykgKQp8IAkJCVlZX0ZBVEFMX0VSUk9SKCAib3V0IG9mIGR5bmFtaWMg
bWVtb3J5IGluIHl5ZW5zdXJlX2J1ZmZlcl9zdGFjaygpIiApOwp8IAkJCQkJCQkJICAKfCAJCW1l
bXNldCgoeXlfYnVmZmVyX3N0YWNrKSwgMCwgbnVtX3RvX2FsbG9jICogc2l6ZW9mKHN0cnVjdCB5
eV9idWZmZXJfc3RhdGUqKSk7CnwgCQkJCQp8IAkJKHl5X2J1ZmZlcl9zdGFja19tYXgpID0gbnVt
X3RvX2FsbG9jOwp8IAkJKHl5X2J1ZmZlcl9zdGFja190b3ApID0gMDsKfCAJCXJldHVybjsKfCAJ
fQp8IAp8IAlpZiAoKHl5X2J1ZmZlcl9zdGFja190b3ApID49ICgoeXlfYnVmZmVyX3N0YWNrX21h
eCkpIC0gMSl7CnwgCnwgCQkvKiBJbmNyZWFzZSB0aGUgYnVmZmVyIHRvIHByZXBhcmUgZm9yIGEg
cG9zc2libGUgcHVzaC4gKi8KfCAJCWludCBncm93X3NpemUgPSA4IC8qIGFyYml0cmFyeSBncm93
IHNpemUgKi87CnwgCnwgCQludW1fdG9fYWxsb2MgPSAoeXlfYnVmZmVyX3N0YWNrX21heCkgKyBn
cm93X3NpemU7CnwgCQkoeXlfYnVmZmVyX3N0YWNrKSA9IChzdHJ1Y3QgeXlfYnVmZmVyX3N0YXRl
KiopeXlyZWFsbG9jCnwgCQkJCQkJCQkoKHl5X2J1ZmZlcl9zdGFjayksCnwgCQkJCQkJCQludW1f
dG9fYWxsb2MgKiBzaXplb2Yoc3RydWN0IHl5X2J1ZmZlcl9zdGF0ZSopCnwgCQkJCQkJCQkpOwp8
IAkJaWYgKCAhICh5eV9idWZmZXJfc3RhY2spICkKfCAJCQlZWV9GQVRBTF9FUlJPUiggIm91dCBv
ZiBkeW5hbWljIG1lbW9yeSBpbiB5eWVuc3VyZV9idWZmZXJfc3RhY2soKSIgKTsKfCAKfCAJCS8q
IHplcm8gb25seSB0aGUgbmV3IHNsb3RzLiovCnwgCQltZW1zZXQoKHl5X2J1ZmZlcl9zdGFjaykg
KyAoeXlfYnVmZmVyX3N0YWNrX21heCksIDAsIGdyb3dfc2l6ZSAqIHNpemVvZihzdHJ1Y3QgeXlf
YnVmZmVyX3N0YXRlKikpOwp8IAkJKHl5X2J1ZmZlcl9zdGFja19tYXgpID0gbnVtX3RvX2FsbG9j
Owp8IAl9CnwgfQp8IAp8IC8qKiBTZXR1cCB0aGUgaW5wdXQgYnVmZmVyIHN0YXRlIHRvIHNjYW4g
ZGlyZWN0bHkgZnJvbSBhIHVzZXItc3BlY2lmaWVkIGNoYXJhY3RlciBidWZmZXIuCnwgICogQHBh
cmFtIGJhc2UgdGhlIGNoYXJhY3RlciBidWZmZXIKfCAgKiBAcGFyYW0gc2l6ZSB0aGUgc2l6ZSBp
biBieXRlcyBvZiB0aGUgY2hhcmFjdGVyIGJ1ZmZlcgp8ICAqIAp8ICAqIEByZXR1cm4gdGhlIG5l
d2x5IGFsbG9jYXRlZCBidWZmZXIgc3RhdGUgb2JqZWN0LiAKfCAgKi8KfCBZWV9CVUZGRVJfU1RB
VEUgeXlfc2Nhbl9idWZmZXIgIChjaGFyICogYmFzZSwgeXlfc2l6ZV90ICBzaXplICkKfCB7Cnwg
CVlZX0JVRkZFUl9TVEFURSBiOwp8ICAgICAKfCAJaWYgKCBzaXplIDwgMiB8fAp8IAkgICAgIGJh
c2Vbc2l6ZS0yXSAhPSBZWV9FTkRfT0ZfQlVGRkVSX0NIQVIgfHwKfCAJICAgICBiYXNlW3NpemUt
MV0gIT0gWVlfRU5EX09GX0JVRkZFUl9DSEFSICkKfCAJCS8qIFRoZXkgZm9yZ290IHRvIGxlYXZl
IHJvb20gZm9yIHRoZSBFT0Incy4gKi8KfCAJCXJldHVybiAwOwp8IAp8IAliID0gKFlZX0JVRkZF
Ul9TVEFURSkgeXlhbGxvYyhzaXplb2YoIHN0cnVjdCB5eV9idWZmZXJfc3RhdGUgKSAgKTsKfCAJ
aWYgKCAhIGIgKQp8IAkJWVlfRkFUQUxfRVJST1IoICJvdXQgb2YgZHluYW1pYyBtZW1vcnkgaW4g
eXlfc2Nhbl9idWZmZXIoKSIgKTsKfCAKfCAJYi0+eXlfYnVmX3NpemUgPSBzaXplIC0gMjsJLyog
Ii0gMiIgdG8gdGFrZSBjYXJlIG9mIEVPQidzICovCnwgCWItPnl5X2J1Zl9wb3MgPSBiLT55eV9j
aF9idWYgPSBiYXNlOwp8IAliLT55eV9pc19vdXJfYnVmZmVyID0gMDsKfCAJYi0+eXlfaW5wdXRf
ZmlsZSA9IDA7CnwgCWItPnl5X25fY2hhcnMgPSBiLT55eV9idWZfc2l6ZTsKfCAJYi0+eXlfaXNf
aW50ZXJhY3RpdmUgPSAwOwp8IAliLT55eV9hdF9ib2wgPSAxOwp8IAliLT55eV9maWxsX2J1ZmZl
ciA9IDA7CnwgCWItPnl5X2J1ZmZlcl9zdGF0dXMgPSBZWV9CVUZGRVJfTkVXOwp8IAp8IAl5eV9z
d2l0Y2hfdG9fYnVmZmVyKGIgICk7CnwgCnwgCXJldHVybiBiOwp8IH0KfCAKfCAvKiogU2V0dXAg
dGhlIGlucHV0IGJ1ZmZlciBzdGF0ZSB0byBzY2FuIGEgc3RyaW5nLiBUaGUgbmV4dCBjYWxsIHRv
IHl5bGV4KCkgd2lsbAp8ICAqIHNjYW4gZnJvbSBhIEBlIGNvcHkgb2YgQGEgc3RyLgp8ICAqIEBw
YXJhbSB5eXN0ciBhIE5VTC10ZXJtaW5hdGVkIHN0cmluZyB0byBzY2FuCnwgICogCnwgICogQHJl
dHVybiB0aGUgbmV3bHkgYWxsb2NhdGVkIGJ1ZmZlciBzdGF0ZSBvYmplY3QuCnwgICogQG5vdGUg
SWYgeW91IHdhbnQgdG8gc2NhbiBieXRlcyB0aGF0IG1heSBjb250YWluIE5VTCB2YWx1ZXMsIHRo
ZW4gdXNlCnwgICogICAgICAgeXlfc2Nhbl9ieXRlcygpIGluc3RlYWQuCnwgICovCnwgWVlfQlVG
RkVSX1NUQVRFIHl5X3NjYW5fc3RyaW5nICh5eWNvbnN0IGNoYXIgKiB5eXN0ciApCnwgewp8ICAg
ICAKfCAJcmV0dXJuIHl5X3NjYW5fYnl0ZXMoeXlzdHIsc3RybGVuKHl5c3RyKSApOwp8IH0KfCAK
fCAvKiogU2V0dXAgdGhlIGlucHV0IGJ1ZmZlciBzdGF0ZSB0byBzY2FuIHRoZSBnaXZlbiBieXRl
cy4gVGhlIG5leHQgY2FsbCB0byB5eWxleCgpIHdpbGwKfCAgKiBzY2FuIGZyb20gYSBAZSBjb3B5
IG9mIEBhIGJ5dGVzLgp8ICAqIEBwYXJhbSBieXRlcyB0aGUgYnl0ZSBidWZmZXIgdG8gc2Nhbgp8
ICAqIEBwYXJhbSBsZW4gdGhlIG51bWJlciBvZiBieXRlcyBpbiB0aGUgYnVmZmVyIHBvaW50ZWQg
dG8gYnkgQGEgYnl0ZXMuCnwgICogCnwgICogQHJldHVybiB0aGUgbmV3bHkgYWxsb2NhdGVkIGJ1
ZmZlciBzdGF0ZSBvYmplY3QuCnwgICovCnwgWVlfQlVGRkVSX1NUQVRFIHl5X3NjYW5fYnl0ZXMg
ICh5eWNvbnN0IGNoYXIgKiB5eWJ5dGVzLCBpbnQgIF95eWJ5dGVzX2xlbiApCnwgewp8IAlZWV9C
VUZGRVJfU1RBVEUgYjsKfCAJY2hhciAqYnVmOwp8IAl5eV9zaXplX3QgbjsKfCAJaW50IGk7Cnwg
ICAgIAp8IAkvKiBHZXQgbWVtb3J5IGZvciBmdWxsIGJ1ZmZlciwgaW5jbHVkaW5nIHNwYWNlIGZv
ciB0cmFpbGluZyBFT0Incy4gKi8KfCAJbiA9IF95eWJ5dGVzX2xlbiArIDI7CnwgCWJ1ZiA9IChj
aGFyICopIHl5YWxsb2MobiAgKTsKfCAJaWYgKCAhIGJ1ZiApCnwgCQlZWV9GQVRBTF9FUlJPUigg
Im91dCBvZiBkeW5hbWljIG1lbW9yeSBpbiB5eV9zY2FuX2J5dGVzKCkiICk7CnwgCnwgCWZvciAo
IGkgPSAwOyBpIDwgX3l5Ynl0ZXNfbGVuOyArK2kgKQp8IAkJYnVmW2ldID0geXlieXRlc1tpXTsK
fCAKfCAJYnVmW195eWJ5dGVzX2xlbl0gPSBidWZbX3l5Ynl0ZXNfbGVuKzFdID0gWVlfRU5EX09G
X0JVRkZFUl9DSEFSOwp8IAp8IAliID0geXlfc2Nhbl9idWZmZXIoYnVmLG4gKTsKfCAJaWYgKCAh
IGIgKQp8IAkJWVlfRkFUQUxfRVJST1IoICJiYWQgYnVmZmVyIGluIHl5X3NjYW5fYnl0ZXMoKSIg
KTsKfCAKfCAJLyogSXQncyBva2F5IHRvIGdyb3cgZXRjLiB0aGlzIGJ1ZmZlciwgYW5kIHdlIHNo
b3VsZCB0aHJvdyBpdAp8IAkgKiBhd2F5IHdoZW4gd2UncmUgZG9uZS4KfCAJICovCnwgCWItPnl5
X2lzX291cl9idWZmZXIgPSAxOwp8IAp8IAlyZXR1cm4gYjsKfCB9CnwgCnwgI2lmbmRlZiBZWV9F
WElUX0ZBSUxVUkUKfCAjZGVmaW5lIFlZX0VYSVRfRkFJTFVSRSAyCnwgI2VuZGlmCnwgCnwgc3Rh
dGljIHZvaWQgeXlfZmF0YWxfZXJyb3IgKHl5Y29uc3QgY2hhciogbXNnICkKfCB7CnwgICAgIAko
dm9pZCkgZnByaW50Ziggc3RkZXJyLCAiJXNcbiIsIG1zZyApOwp8IAlleGl0KCBZWV9FWElUX0ZB
SUxVUkUgKTsKfCB9CnwgCnwgLyogUmVkZWZpbmUgeXlsZXNzKCkgc28gaXQgd29ya3MgaW4gc2Vj
dGlvbiAzIGNvZGUuICovCnwgCnwgI3VuZGVmIHl5bGVzcwp8ICNkZWZpbmUgeXlsZXNzKG4pIFwK
fCAJZG8gXAp8IAkJeyBcCnwgCQkvKiBVbmRvIGVmZmVjdHMgb2Ygc2V0dGluZyB1cCB5eXRleHQu
ICovIFwKfCAgICAgICAgIGludCB5eWxlc3NfbWFjcm9fYXJnID0gKG4pOyBcCnwgICAgICAgICBZ
WV9MRVNTX0xJTkVOTyh5eWxlc3NfbWFjcm9fYXJnKTtcCnwgCQl5eXRleHRbeXlsZW5nXSA9ICh5
eV9ob2xkX2NoYXIpOyBcCnwgCQkoeXlfY19idWZfcCkgPSB5eXRleHQgKyB5eWxlc3NfbWFjcm9f
YXJnOyBcCnwgCQkoeXlfaG9sZF9jaGFyKSA9ICooeXlfY19idWZfcCk7IFwKfCAJCSooeXlfY19i
dWZfcCkgPSAnXDAnOyBcCnwgCQl5eWxlbmcgPSB5eWxlc3NfbWFjcm9fYXJnOyBcCnwgCQl9IFwK
fCAJd2hpbGUgKCAwICkKfCAKfCAvKiBBY2Nlc3NvciAgbWV0aG9kcyAoZ2V0L3NldCBmdW5jdGlv
bnMpIHRvIHN0cnVjdCBtZW1iZXJzLiAqLwp8IAp8IC8qKiBHZXQgdGhlIGN1cnJlbnQgbGluZSBu
dW1iZXIuCnwgICogCnwgICovCnwgaW50IHl5Z2V0X2xpbmVubyAgKHZvaWQpCnwgewp8ICAgICAg
ICAgCnwgICAgIHJldHVybiB5eWxpbmVubzsKfCB9CnwgCnwgLyoqIEdldCB0aGUgaW5wdXQgc3Ry
ZWFtLgp8ICAqIAp8ICAqLwp8IEZJTEUgKnl5Z2V0X2luICAodm9pZCkKfCB7CnwgICAgICAgICBy
ZXR1cm4geXlpbjsKfCB9CnwgCnwgLyoqIEdldCB0aGUgb3V0cHV0IHN0cmVhbS4KfCAgKiAKfCAg
Ki8KfCBGSUxFICp5eWdldF9vdXQgICh2b2lkKQp8IHsKfCAgICAgICAgIHJldHVybiB5eW91dDsK
fCB9CnwgCnwgLyoqIEdldCB0aGUgbGVuZ3RoIG9mIHRoZSBjdXJyZW50IHRva2VuLgp8ICAqIAp8
ICAqLwp8IGludCB5eWdldF9sZW5nICAodm9pZCkKfCB7CnwgICAgICAgICByZXR1cm4geXlsZW5n
Owp8IH0KfCAKfCAvKiogR2V0IHRoZSBjdXJyZW50IHRva2VuLgp8ICAqIAp8ICAqLwp8IAp8IGNo
YXIgKnl5Z2V0X3RleHQgICh2b2lkKQp8IHsKfCAgICAgICAgIHJldHVybiB5eXRleHQ7CnwgfQp8
IAp8IC8qKiBTZXQgdGhlIGN1cnJlbnQgbGluZSBudW1iZXIuCnwgICogQHBhcmFtIGxpbmVfbnVt
YmVyCnwgICogCnwgICovCnwgdm9pZCB5eXNldF9saW5lbm8gKGludCAgbGluZV9udW1iZXIgKQp8
IHsKfCAgICAgCnwgICAgIHl5bGluZW5vID0gbGluZV9udW1iZXI7CnwgfQp8IAp8IC8qKiBTZXQg
dGhlIGlucHV0IHN0cmVhbS4gVGhpcyBkb2VzIG5vdCBkaXNjYXJkIHRoZSBjdXJyZW50CnwgICog
aW5wdXQgYnVmZmVyLgp8ICAqIEBwYXJhbSBpbl9zdHIgQSByZWFkYWJsZSBzdHJlYW0uCnwgICog
CnwgICogQHNlZSB5eV9zd2l0Y2hfdG9fYnVmZmVyCnwgICovCnwgdm9pZCB5eXNldF9pbiAoRklM
RSAqICBpbl9zdHIgKQp8IHsKfCAgICAgICAgIHl5aW4gPSBpbl9zdHIgOwp8IH0KfCAKfCB2b2lk
IHl5c2V0X291dCAoRklMRSAqICBvdXRfc3RyICkKfCB7CnwgICAgICAgICB5eW91dCA9IG91dF9z
dHIgOwp8IH0KfCAKfCBpbnQgeXlnZXRfZGVidWcgICh2b2lkKQp8IHsKfCAgICAgICAgIHJldHVy
biB5eV9mbGV4X2RlYnVnOwp8IH0KfCAKfCB2b2lkIHl5c2V0X2RlYnVnIChpbnQgIGJkZWJ1ZyAp
Cnwgewp8ICAgICAgICAgeXlfZmxleF9kZWJ1ZyA9IGJkZWJ1ZyA7CnwgfQp8IAp8IHN0YXRpYyBp
bnQgeXlfaW5pdF9nbG9iYWxzICh2b2lkKQp8IHsKfCAgICAgICAgIC8qIEluaXRpYWxpemF0aW9u
IGlzIHRoZSBzYW1lIGFzIGZvciB0aGUgbm9uLXJlZW50cmFudCBzY2FubmVyLgp8ICAgICAgKiBU
aGlzIGZ1bmN0aW9uIGlzIGNhbGxlZCBmcm9tIHl5bGV4X2Rlc3Ryb3koKSwgc28gZG9uJ3QgYWxs
b2NhdGUgaGVyZS4KfCAgICAgICovCnwgCnwgICAgICh5eV9idWZmZXJfc3RhY2spID0gMDsKfCAg
ICAgKHl5X2J1ZmZlcl9zdGFja190b3ApID0gMDsKfCAgICAgKHl5X2J1ZmZlcl9zdGFja19tYXgp
ID0gMDsKfCAgICAgKHl5X2NfYnVmX3ApID0gKGNoYXIgKikgMDsKfCAgICAgKHl5X2luaXQpID0g
MDsKfCAgICAgKHl5X3N0YXJ0KSA9IDA7CnwgCnwgICAgICh5eV9zdGF0ZV9idWYpID0gMDsKfCAg
ICAgKHl5X3N0YXRlX3B0cikgPSAwOwp8ICAgICAoeXlfZnVsbF9tYXRjaCkgPSAwOwp8ICAgICAo
eXlfbHApID0gMDsKfCAKfCAvKiBEZWZpbmVkIGluIG1haW4uYyAqLwp8ICNpZmRlZiBZWV9TVERJ
TklUCnwgICAgIHl5aW4gPSBzdGRpbjsKfCAgICAgeXlvdXQgPSBzdGRvdXQ7CnwgI2Vsc2UKfCAg
ICAgeXlpbiA9IChGSUxFICopIDA7CnwgICAgIHl5b3V0ID0gKEZJTEUgKikgMDsKfCAjZW5kaWYK
fCAKfCAgICAgLyogRm9yIGZ1dHVyZSByZWZlcmVuY2U6IFNldCBlcnJubyBvbiBlcnJvciwgc2lu
Y2Ugd2UgYXJlIGNhbGxlZCBieQp8ICAgICAgKiB5eWxleF9pbml0KCkKfCAgICAgICovCnwgICAg
IHJldHVybiAwOwp8IH0KfCAKfCAvKiB5eWxleF9kZXN0cm95IGlzIGZvciBib3RoIHJlZW50cmFu
dCBhbmQgbm9uLXJlZW50cmFudCBzY2FubmVycy4gKi8KfCBpbnQgeXlsZXhfZGVzdHJveSAgKHZv
aWQpCnwgewp8ICAgICAKfCAgICAgLyogUG9wIHRoZSBidWZmZXIgc3RhY2ssIGRlc3Ryb3lpbmcg
ZWFjaCBlbGVtZW50LiAqLwp8IAl3aGlsZShZWV9DVVJSRU5UX0JVRkZFUil7CnwgCQl5eV9kZWxl
dGVfYnVmZmVyKFlZX0NVUlJFTlRfQlVGRkVSICApOwp8IAkJWVlfQ1VSUkVOVF9CVUZGRVJfTFZB
TFVFID0gTlVMTDsKfCAJCXl5cG9wX2J1ZmZlcl9zdGF0ZSgpOwp8IAl9CnwgCnwgCS8qIERlc3Ry
b3kgdGhlIHN0YWNrIGl0c2VsZi4gKi8KfCAJeXlmcmVlKCh5eV9idWZmZXJfc3RhY2spICk7Cnwg
CSh5eV9idWZmZXJfc3RhY2spID0gTlVMTDsKfCAKfCAgICAgeXlmcmVlICggKHl5X3N0YXRlX2J1
ZikgKTsKfCAgICAgKHl5X3N0YXRlX2J1ZikgID0gTlVMTDsKfCAKfCAgICAgLyogUmVzZXQgdGhl
IGdsb2JhbHMuIFRoaXMgaXMgaW1wb3J0YW50IGluIGEgbm9uLXJlZW50cmFudCBzY2FubmVyIHNv
IHRoZSBuZXh0IHRpbWUKfCAgICAgICogeXlsZXgoKSBpcyBjYWxsZWQsIGluaXRpYWxpemF0aW9u
IHdpbGwgb2NjdXIuICovCnwgICAgIHl5X2luaXRfZ2xvYmFscyggKTsKfCAKfCAgICAgcmV0dXJu
IDA7CnwgfQp8IAp8IC8qCnwgICogSW50ZXJuYWwgdXRpbGl0eSByb3V0aW5lcy4KfCAgKi8KfCAK
fCAjaWZuZGVmIHl5dGV4dF9wdHIKfCBzdGF0aWMgdm9pZCB5eV9mbGV4X3N0cm5jcHkgKGNoYXIq
IHMxLCB5eWNvbnN0IGNoYXIgKiBzMiwgaW50IG4gKQp8IHsKfCAJcmVnaXN0ZXIgaW50IGk7Cnwg
CWZvciAoIGkgPSAwOyBpIDwgbjsgKytpICkKfCAJCXMxW2ldID0gczJbaV07CnwgfQp8ICNlbmRp
Zgp8IAp8ICNpZmRlZiBZWV9ORUVEX1NUUkxFTgp8IHN0YXRpYyBpbnQgeXlfZmxleF9zdHJsZW4g
KHl5Y29uc3QgY2hhciAqIHMgKQp8IHsKfCAJcmVnaXN0ZXIgaW50IG47CnwgCWZvciAoIG4gPSAw
OyBzW25dOyArK24gKQp8IAkJOwp8IAp8IAlyZXR1cm4gbjsKfCB9CnwgI2VuZGlmCnwgCnwgdm9p
ZCAqeXlhbGxvYyAoeXlfc2l6ZV90ICBzaXplICkKfCB7CnwgCXJldHVybiAodm9pZCAqKSBtYWxs
b2MoIHNpemUgKTsKfCB9CnwgCnwgdm9pZCAqeXlyZWFsbG9jICAodm9pZCAqIHB0ciwgeXlfc2l6
ZV90ICBzaXplICkKfCB7CnwgCS8qIFRoZSBjYXN0IHRvIChjaGFyICopIGluIHRoZSBmb2xsb3dp
bmcgYWNjb21tb2RhdGVzIGJvdGgKfCAJICogaW1wbGVtZW50YXRpb25zIHRoYXQgdXNlIGNoYXIq
IGdlbmVyaWMgcG9pbnRlcnMsIGFuZCB0aG9zZQp8IAkgKiB0aGF0IHVzZSB2b2lkKiBnZW5lcmlj
IHBvaW50ZXJzLiAgSXQgd29ya3Mgd2l0aCB0aGUgbGF0dGVyCnwgCSAqIGJlY2F1c2UgYm90aCBB
TlNJIEMgYW5kIEMrKyBhbGxvdyBjYXN0bGVzcyBhc3NpZ25tZW50IGZyb20KfCAJICogYW55IHBv
aW50ZXIgdHlwZSB0byB2b2lkKiwgYW5kIGRlYWwgd2l0aCBhcmd1bWVudCBjb252ZXJzaW9ucwp8
IAkgKiBhcyB0aG91Z2ggZG9pbmcgYW4gYXNzaWdubWVudC4KfCAJICovCnwgCXJldHVybiAodm9p
ZCAqKSByZWFsbG9jKCAoY2hhciAqKSBwdHIsIHNpemUgKTsKfCB9CnwgCnwgdm9pZCB5eWZyZWUg
KHZvaWQgKiBwdHIgKQp8IHsKfCAJZnJlZSggKGNoYXIgKikgcHRyICk7CS8qIHNlZSB5eXJlYWxs
b2MoKSBmb3IgKGNoYXIgKikgY2FzdCAqLwp8IH0KfCAKfCAjZGVmaW5lIFlZVEFCTEVTX05BTUUg
Inl5dGFibGVzIgp8IAp8ICNsaW5lIDkgImNvbmZ0ZXN0LmwiCnwgCnwgCnwgI2lmZGVmIFlZVEVY
VF9QT0lOVEVSCnwgZXh0ZXJuIGNoYXIgKnl5dGV4dDsKfCAjZW5kaWYKfCBpbnQKfCBtYWluICh2
b2lkKQp8IHsKfCAgIHJldHVybiAhIHl5bGV4ICgpICsgISB5eXdyYXAgKCk7CnwgfQpjb25maWd1
cmU6MTE1NTA6IHg4Nl82NC1wYy1saW51eC1nbnUtZ2NjIC1vIGNvbmZ0ZXN0IC1tYXJjaD1ub2Nv
bmEgLU8yIC1waXBlICAtV2wsLU8xIGNvbmZ0ZXN0LmMgLWxmbCAgPiY1CmNvbmZpZ3VyZToxMTU1
NzogJD8gPSAwCmNvbmZpZ3VyZToxMTU4MTogcmVzdWx0OiAtbGZsCmNvbmZpZ3VyZToxMTU4Nzog
Y2hlY2tpbmcgd2hldGhlciB5eXRleHQgaXMgYSBwb2ludGVyCmNvbmZpZ3VyZToxMTYwODogeDg2
XzY0LXBjLWxpbnV4LWdudS1nY2MgLW8gY29uZnRlc3QgLW1hcmNoPW5vY29uYSAtTzIgLXBpcGUg
IC1XbCwtTzEgY29uZnRlc3QuYyAtbGZsICA+JjUKY29uZmlndXJlOjExNjE1OiAkPyA9IDAKY29u
ZmlndXJlOjExNjM3OiByZXN1bHQ6IHllcwpjb25maWd1cmU6MTE2NTQ6IGNoZWNraW5nIGZvciBm
bGV4CmNvbmZpZ3VyZToxMTY3MjogZm91bmQgL3Vzci9iaW4vZmxleApjb25maWd1cmU6MTE2ODQ6
IHJlc3VsdDogL3Vzci9iaW4vZmxleApjb25maWd1cmU6MTE3MDA6IGNoZWNraW5nIGZvciBwb2Qy
bWFuCmNvbmZpZ3VyZToxMTcxODogZm91bmQgL3Vzci9iaW4vcG9kMm1hbgpjb25maWd1cmU6MTE3
MzA6IHJlc3VsdDogL3Vzci9iaW4vcG9kMm1hbgpjb25maWd1cmU6MTE3NDk6IGNoZWNraW5nIGZv
ciBwb2QyaHRtbApjb25maWd1cmU6MTE3Njc6IGZvdW5kIC91c3IvYmluL3BvZDJodG1sCmNvbmZp
Z3VyZToxMTc3OTogcmVzdWx0OiAvdXNyL2Jpbi9wb2QyaHRtbApjb25maWd1cmU6MTE3OTg6IGNo
ZWNraW5nIGZvciB4ZGctb3Blbgpjb25maWd1cmU6MTE4MTY6IGZvdW5kIC91c3IvYmluL3hkZy1v
cGVuCmNvbmZpZ3VyZToxMTgyODogcmVzdWx0OiAvdXNyL2Jpbi94ZGctb3Blbgpjb25maWd1cmU6
MTE5MDI6IGNoZWNraW5nIGZvciBmbGV4CmNvbmZpZ3VyZToxMTkyMDogZm91bmQgL3Vzci9iaW4v
ZmxleApjb25maWd1cmU6MTE5MzI6IHJlc3VsdDogL3Vzci9iaW4vZmxleApjb25maWd1cmU6MTE5
NDI6IGNoZWNraW5nIGZvciBweXRob24KY29uZmlndXJlOjExOTYwOiBmb3VuZCAvdXNyL2Jpbi9w
eXRob24KY29uZmlndXJlOjExOTcyOiByZXN1bHQ6IC91c3IvYmluL3B5dGhvbgpjb25maWd1cmU6
MTE5OTk6IGNoZWNraW5nIGZvciBkb3h5Z2VuCmNvbmZpZ3VyZToxMjAxNzogZm91bmQgL3Vzci9i
aW4vZG94eWdlbgpjb25maWd1cmU6MTIwMjk6IHJlc3VsdDogL3Vzci9iaW4vZG94eWdlbgpjb25m
aWd1cmU6MTIwMzk6IGNoZWNraW5nIGZvciBkb3h5Z2VuCmNvbmZpZ3VyZToxMjA1NTogZm91bmQg
L3Vzci9iaW4vZG94eWdlbgpjb25maWd1cmU6MTIwNjc6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZTox
MjExNDogY2hlY2tpbmcgZm9yIGxpYmdudXRscy1jb25maWcKY29uZmlndXJlOjEyMTMyOiBmb3Vu
ZCAvdXNyL2Jpbi9saWJnbnV0bHMtY29uZmlnCmNvbmZpZ3VyZToxMjE0NTogcmVzdWx0OiAvdXNy
L2Jpbi9saWJnbnV0bHMtY29uZmlnCmNvbmZpZ3VyZToxMjE1NDogY2hlY2tpbmcgZm9yIGxpYmdu
dXRscyAtIHZlcnNpb24gPj0gMS4yLjAKY29uZmlndXJlOjEyMjQxOiB4ODZfNjQtcGMtbGludXgt
Z251LWdjYyAtbyBjb25mdGVzdCAtbWFyY2g9bm9jb25hIC1PMiAtcGlwZSAtSS91c3IvaW5jbHVk
ZSAtSS91c3IvaW5jbHVkZSAgLVdsLC1PMSBjb25mdGVzdC5jICAtTC91c3IvbGliNjQgLWxnbnV0
bHMgLUwvdXNyL2xpYjY0IC1sdGFzbjEgLUwvdXNyL2xpYjY0IC1sZ2NyeXB0IC1sZ3BnLWVycm9y
ID4mNQpjb25maWd1cmU6MTIyNDU6ICQ/ID0gMApjb25maWd1cmU6MTIyNTE6IC4vY29uZnRlc3QK
Y29uZmlndXJlOjEyMjU1OiAkPyA9IDAKY29uZmlndXJlOjEyMjc2OiByZXN1bHQ6IHllcwpjb25m
aWd1cmU6MTI3MzQ6IGNoZWNraW5nIGZvciB4c2x0cHJvYwpjb25maWd1cmU6MTI3NTI6IGZvdW5k
IC91c3IvYmluL3hzbHRwcm9jCmNvbmZpZ3VyZToxMjc2NDogcmVzdWx0OiAvdXNyL2Jpbi94c2x0
cHJvYwpjb25maWd1cmU6MTI3NzQ6IGNoZWNraW5nIGZvciB4c2x0cHJvYwpjb25maWd1cmU6MTI3
OTA6IGZvdW5kIC91c3IvYmluL3hzbHRwcm9jCmNvbmZpZ3VyZToxMjgwMjogcmVzdWx0OiB5ZXMK
Y29uZmlndXJlOjEyODI0OiBjaGVja2luZyBmb3IgeG1sbGludApjb25maWd1cmU6MTI4NDI6IGZv
dW5kIC91c3IvYmluL3htbGxpbnQKY29uZmlndXJlOjEyODU0OiByZXN1bHQ6IC91c3IvYmluL3ht
bGxpbnQKY29uZmlndXJlOjEyODY0OiBjaGVja2luZyBmb3IgeG1sbGludApjb25maWd1cmU6MTI4
ODA6IGZvdW5kIC91c3IvYmluL3htbGxpbnQKY29uZmlndXJlOjEyODkyOiByZXN1bHQ6IHllcwpj
b25maWd1cmU6MTI5MTQ6IGNoZWNraW5nIGZvciBmb3AKY29uZmlndXJlOjEyOTQ3OiByZXN1bHQ6
IG5vCmNvbmZpZ3VyZToxMjk1NDogY2hlY2tpbmcgZm9yIGZvcApjb25maWd1cmU6MTI5ODI6IHJl
c3VsdDogbm8KY29uZmlndXJlOjEzMDA0OiBjaGVja2luZyBmb3IgaGhjLmV4ZQpjb25maWd1cmU6
MTMwMzc6IHJlc3VsdDogbm8KY29uZmlndXJlOjEzMDQ0OiBjaGVja2luZyBmb3IgaGhjLmV4ZQpj
b25maWd1cmU6MTMwNzI6IHJlc3VsdDogbm8KY29uZmlndXJlOjEzMDk4OiBjaGVja2luZyBmb3Ig
cGtncHJvdG8KY29uZmlndXJlOjEzMTI2OiByZXN1bHQ6IG5vCmNvbmZpZ3VyZToxMzEzNjogY2hl
Y2tpbmcgZm9yIHBrZ21rCmNvbmZpZ3VyZToxMzE2NDogcmVzdWx0OiBubwpjb25maWd1cmU6MTMx
NzQ6IGNoZWNraW5nIGZvciBwa2d0cmFucwpjb25maWd1cmU6MTMyMDI6IHJlc3VsdDogbm8KY29u
ZmlndXJlOjEzMjIzOiBjaGVja2luZyBmb3IgcnBtCmNvbmZpZ3VyZToxMzIzOTogZm91bmQgL3Vz
ci9iaW4vcnBtCmNvbmZpZ3VyZToxMzI1MTogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjEzMjYxOiBj
aGVja2luZyB0byBzZWUgaWYgd2UgY2FuIHJlZGVmaW5lIF90b3BkaXIKY29uZmlndXJlOjEzMjY0
OiByZXN1bHQ6IHllcwpjb25maWd1cmU6MTMyNzk6IGNoZWNraW5nIGZvciBkcGtnLWJ1aWxkcGFj
a2FnZQpjb25maWd1cmU6MTMyOTU6IGZvdW5kIC91c3IvYmluL2Rwa2ctYnVpbGRwYWNrYWdlCmNv
bmZpZ3VyZToxMzMwNzogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjEzMzE5OiBjaGVja2luZyBmb3Ig
eGNvZGVidWlsZApjb25maWd1cmU6MTMzNDc6IHJlc3VsdDogbm8KY29uZmlndXJlOjEzMzU3OiBj
aGVja2luZyBmb3IgaGRpdXRpbApjb25maWd1cmU6MTMzODU6IHJlc3VsdDogbm8KY29uZmlndXJl
OjEzMzk1OiBjaGVja2luZyBmb3IgYmxlc3MKY29uZmlndXJlOjEzNDIzOiByZXN1bHQ6IG5vCmNv
bmZpZ3VyZToxNDA3MzogY2hlY2tpbmcgd2hldGhlciB3ZSBjYW4gYWRkIC1XYWxsIC1XIHRvIENG
TEFHUwpjb25maWd1cmU6MTQwOTU6IHg4Nl82NC1wYy1saW51eC1nbnUtZ2NjIC1jIC1tYXJjaD1u
b2NvbmEgLU8yIC1waXBlIC1XYWxsIC1XICBjb25mdGVzdC5jID4mNQpjb25maWd1cmU6MTQxMDI6
ICQ/ID0gMApjb25maWd1cmU6MTQxMDg6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZToxNDEyOTogY2hl
Y2tpbmcgd2hldGhlciB3ZSBjYW4gYWRkIC1XZGVjbGFyYXRpb24tYWZ0ZXItc3RhdGVtZW50IHRv
IENGTEFHUwpjb25maWd1cmU6MTQxNTE6IHg4Nl82NC1wYy1saW51eC1nbnUtZ2NjIC1jIC1tYXJj
aD1ub2NvbmEgLU8yIC1waXBlIC1XYWxsIC1XIC1XZGVjbGFyYXRpb24tYWZ0ZXItc3RhdGVtZW50
ICBjb25mdGVzdC5jID4mNQpjb25maWd1cmU6MTQxNTg6ICQ/ID0gMApjb25maWd1cmU6MTQxNjQ6
IHJlc3VsdDogeWVzCmNvbmZpZ3VyZToxNDE4NTogY2hlY2tpbmcgd2hldGhlciB3ZSBjYW4gYWRk
IC1XZW5kaWYtbGFiZWxzIHRvIENGTEFHUwpjb25maWd1cmU6MTQyMDc6IHg4Nl82NC1wYy1saW51
eC1nbnUtZ2NjIC1jIC1tYXJjaD1ub2NvbmEgLU8yIC1waXBlIC1XYWxsIC1XIC1XZGVjbGFyYXRp
b24tYWZ0ZXItc3RhdGVtZW50IC1XZW5kaWYtbGFiZWxzICBjb25mdGVzdC5jID4mNQpjb25maWd1
cmU6MTQyMTQ6ICQ/ID0gMApjb25maWd1cmU6MTQyMjA6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZTox
NDI0MTogY2hlY2tpbmcgd2hldGhlciB3ZSBjYW4gYWRkIC1XcG9pbnRlci1hcml0aCB0byBDRkxB
R1MKY29uZmlndXJlOjE0MjYzOiB4ODZfNjQtcGMtbGludXgtZ251LWdjYyAtYyAtbWFyY2g9bm9j
b25hIC1PMiAtcGlwZSAtV2FsbCAtVyAtV2RlY2xhcmF0aW9uLWFmdGVyLXN0YXRlbWVudCAtV2Vu
ZGlmLWxhYmVscyAtV3BvaW50ZXItYXJpdGggIGNvbmZ0ZXN0LmMgPiY1CmNvbmZpZ3VyZToxNDI3
MDogJD8gPSAwCmNvbmZpZ3VyZToxNDI3NjogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjE0Mjk3OiBj
aGVja2luZyB3aGV0aGVyIHdlIGNhbiBhZGQgLVduby1wb2ludGVyLXNpZ24gdG8gQ0ZMQUdTCmNv
bmZpZ3VyZToxNDMxOTogeDg2XzY0LXBjLWxpbnV4LWdudS1nY2MgLWMgLW1hcmNoPW5vY29uYSAt
TzIgLXBpcGUgLVdhbGwgLVcgLVdkZWNsYXJhdGlvbi1hZnRlci1zdGF0ZW1lbnQgLVdlbmRpZi1s
YWJlbHMgLVdwb2ludGVyLWFyaXRoIC1Xbm8tcG9pbnRlci1zaWduICBjb25mdGVzdC5jID4mNQpj
b25maWd1cmU6MTQzMjY6ICQ/ID0gMApjb25maWd1cmU6MTQzMzI6IHJlc3VsdDogeWVzCmNvbmZp
Z3VyZToxNDM1MzogY2hlY2tpbmcgd2hldGhlciB3ZSBjYW4gYWRkIC1XYXJyYXktYm91bmRzIHRv
IENGTEFHUwpjb25maWd1cmU6MTQzNzU6IHg4Nl82NC1wYy1saW51eC1nbnUtZ2NjIC1jIC1tYXJj
aD1ub2NvbmEgLU8yIC1waXBlIC1XYWxsIC1XIC1XZGVjbGFyYXRpb24tYWZ0ZXItc3RhdGVtZW50
IC1XZW5kaWYtbGFiZWxzIC1XcG9pbnRlci1hcml0aCAtV25vLXBvaW50ZXItc2lnbiAtV2FycmF5
LWJvdW5kcyAgY29uZnRlc3QuYyA+JjUKY29uZmlndXJlOjE0MzgyOiAkPyA9IDAKY29uZmlndXJl
OjE0Mzg4OiByZXN1bHQ6IHllcwpjb25maWd1cmU6MTQ0Mjc6IGNoZWNraW5nIHdoZXRoZXIgd2Ug
c2hvdWxkIHRyZWF0IGNvbXBpbGVyIHdhcm5pbmdzIGFzIGVycm9ycwpjb25maWd1cmU6MTQ0NDk6
IHJlc3VsdDogbm8KY29uZmlndXJlOjE0NDY5OiBjaGVja2luZyBmb3IgcGxhdGZvcm0tc3BlY2lm
aWMgY29tcGlsZXIgZmxhZ3MKY29uZmlndXJlOjE0NDkyOiByZXN1bHQ6IG5vbmUgbmVlZGVkCmNv
bmZpZ3VyZToxNDUzMzogY2hlY2tpbmcgZm9yIHBsYXRmb3JtLXNwZWNpZmljIGxpbmtlciBmbGFn
cwpjb25maWd1cmU6MTQ1Njc6IHJlc3VsdDogbm9uZSBuZWVkZWQKY29uZmlndXJlOjE0Njc5OiBj
aGVja2luZyB3aGV0aGVyIHRvIHVzZSAvdXNyL2xvY2FsIGZvciBoZWFkZXJzIGFuZCBsaWJyYXJp
ZXMKY29uZmlndXJlOjE0NjgyOiByZXN1bHQ6IHllcwpjb25maWd1cmU6MTQ3NDA6IGNoZWNraW5n
IGZvciBHTlUgc2VkIGFzIGZpcnN0IHNlZCBpbiBQQVRICmNvbmZpZ3VyZToxNDc0MzogcmVzdWx0
OiB5ZXMKY29uZmlndXJlOjE0ODQyOiBjaGVja2luZyBpZiBwcm9maWxlIGJ1aWxkcyBtdXN0IGJl
IGdlbmVyYXRlZApjb25maWd1cmU6MTQ4NTU6IHJlc3VsdDogbm8KY29uZmlndXJlOjE0OTAzOiBj
aGVja2luZyBmb3IgcGtnLWNvbmZpZwpjb25maWd1cmU6MTQ5MjE6IGZvdW5kIC91c3IvYmluL3Br
Zy1jb25maWcKY29uZmlndXJlOjE0OTM0OiByZXN1bHQ6IC91c3IvYmluL3BrZy1jb25maWcKY29u
ZmlndXJlOjE0OTU2OiBjaGVja2luZyBmb3IgR1RLKyAtIHZlcnNpb24gPj0gMi4wLjAKY29uZmln
dXJlOjE1MDc2OiB4ODZfNjQtcGMtbGludXgtZ251LWdjYyAtbyBjb25mdGVzdCAtRF9VXz0iX19h
dHRyaWJ1dGVfXygodW51c2VkKSkiIC1tYXJjaD1ub2NvbmEgLU8yIC1waXBlIC1XYWxsIC1XIC1X
ZGVjbGFyYXRpb24tYWZ0ZXItc3RhdGVtZW50IC1XZW5kaWYtbGFiZWxzIC1XcG9pbnRlci1hcml0
aCAtV25vLXBvaW50ZXItc2lnbiAtV2FycmF5LWJvdW5kcyAtSS91c3IvbG9jYWwvaW5jbHVkZSAt
cHRocmVhZCAtSS91c3IvaW5jbHVkZS9ndGstMi4wIC1JL3Vzci9saWI2NC9ndGstMi4wL2luY2x1
ZGUgLUkvdXNyL2luY2x1ZGUvYXRrLTEuMCAtSS91c3IvaW5jbHVkZS9jYWlybyAtSS91c3IvaW5j
bHVkZS9wYW5nby0xLjAgLUkvdXNyL2luY2x1ZGUvZ2xpYi0yLjAgLUkvdXNyL2xpYjY0L2dsaWIt
Mi4wL2luY2x1ZGUgLUkvdXNyL2luY2x1ZGUvcGl4bWFuLTEgLUkvdXNyL2luY2x1ZGUvZnJlZXR5
cGUyIC1JL3Vzci9pbmNsdWRlL2xpYnBuZzEyICAgIC1JL3Vzci9sb2NhbC9pbmNsdWRlIC1XbCwt
TzEgLUwvdXNyL2xvY2FsL2xpYiBjb25mdGVzdC5jIC1wdGhyZWFkIC1sZ3RrLXgxMS0yLjAgLWxn
ZGsteDExLTIuMCAtbGF0ay0xLjAgLWxnaW8tMi4wIC1scGFuZ29mdDItMS4wIC1sZ2RrX3BpeGJ1
Zi0yLjAgLWxwYW5nb2NhaXJvLTEuMCAtbGNhaXJvIC1scGFuZ28tMS4wIC1sZnJlZXR5cGUgLWx6
IC1sZm9udGNvbmZpZyAtbGdvYmplY3QtMi4wIC1sZ21vZHVsZS0yLjAgLWxndGhyZWFkLTIuMCAt
bHJ0IC1sZ2xpYi0yLjAgICAgPiY1CmNvbmZ0ZXN0LmM6IEluIGZ1bmN0aW9uICdtYWluJzoKY29u
ZnRlc3QuYzo3Mjogd2FybmluZzogY29tcGFyaXNvbiBiZXR3ZWVuIHNpZ25lZCBhbmQgdW5zaWdu
ZWQKY29uZnRlc3QuYzo3Mzogd2FybmluZzogY29tcGFyaXNvbiBiZXR3ZWVuIHNpZ25lZCBhbmQg
dW5zaWduZWQKY29uZnRlc3QuYzo3Mzogd2FybmluZzogY29tcGFyaXNvbiBiZXR3ZWVuIHNpZ25l
ZCBhbmQgdW5zaWduZWQKY29uZnRlc3QuYzo3NDogd2FybmluZzogY29tcGFyaXNvbiBiZXR3ZWVu
IHNpZ25lZCBhbmQgdW5zaWduZWQKY29uZnRlc3QuYzo3NDogd2FybmluZzogY29tcGFyaXNvbiBi
ZXR3ZWVuIHNpZ25lZCBhbmQgdW5zaWduZWQKY29uZnRlc3QuYzo3NDogd2FybmluZzogY29tcGFy
aXNvbiBiZXR3ZWVuIHNpZ25lZCBhbmQgdW5zaWduZWQKY29uZmlndXJlOjE1MDgwOiAkPyA9IDAK
Y29uZmlndXJlOjE1MDg2OiAuL2NvbmZ0ZXN0CmNvbmZpZ3VyZToxNTA5MDogJD8gPSAwCmNvbmZp
Z3VyZToxNTExMTogcmVzdWx0OiB5ZXMgKHZlcnNpb24gMi4xNC4zKQpjb25maWd1cmU6MTYyNjc6
IGNoZWNraW5nIGZvciBwa2ctY29uZmlnCmNvbmZpZ3VyZToxNjI5ODogcmVzdWx0OiAvdXNyL2Jp
bi9wa2ctY29uZmlnCmNvbmZpZ3VyZToxNjMyMjogY2hlY2tpbmcgZm9yIEdMSUIgLSB2ZXJzaW9u
ID49IDIuMC4wCmNvbmZpZ3VyZToxNjQ0NjogeDg2XzY0LXBjLWxpbnV4LWdudS1nY2MgLW8gY29u
ZnRlc3QgLURfVV89Il9fYXR0cmlidXRlX18oKHVudXNlZCkpIiAtbWFyY2g9bm9jb25hIC1PMiAt
cGlwZSAtV2FsbCAtVyAtV2RlY2xhcmF0aW9uLWFmdGVyLXN0YXRlbWVudCAtV2VuZGlmLWxhYmVs
cyAtV3BvaW50ZXItYXJpdGggLVduby1wb2ludGVyLXNpZ24gLVdhcnJheS1ib3VuZHMgLUkvdXNy
L2xvY2FsL2luY2x1ZGUgLXB0aHJlYWQgLUkvdXNyL2luY2x1ZGUvZ3RrLTIuMCAtSS91c3IvbGli
NjQvZ3RrLTIuMC9pbmNsdWRlIC1JL3Vzci9pbmNsdWRlL2F0ay0xLjAgLUkvdXNyL2luY2x1ZGUv
Y2Fpcm8gLUkvdXNyL2luY2x1ZGUvcGFuZ28tMS4wIC1JL3Vzci9pbmNsdWRlL2dsaWItMi4wIC1J
L3Vzci9saWI2NC9nbGliLTIuMC9pbmNsdWRlIC1JL3Vzci9pbmNsdWRlL3BpeG1hbi0xIC1JL3Vz
ci9pbmNsdWRlL2ZyZWV0eXBlMiAtSS91c3IvaW5jbHVkZS9saWJwbmcxMiAgIC1JL3Vzci9pbmNs
dWRlL2dsaWItMi4wIC1JL3Vzci9saWI2NC9nbGliLTIuMC9pbmNsdWRlICAgIC1JL3Vzci9sb2Nh
bC9pbmNsdWRlIC1XbCwtTzEgLUwvdXNyL2xvY2FsL2xpYiBjb25mdGVzdC5jIC1XbCwtLWV4cG9y
dC1keW5hbWljIC1sZ21vZHVsZS0yLjAgLWxnbGliLTIuMCAgICA+JjUKY29uZnRlc3QuYzogSW4g
ZnVuY3Rpb24gJ21haW4nOgpjb25mdGVzdC5jOjcyOiB3YXJuaW5nOiBjb21wYXJpc29uIGJldHdl
ZW4gc2lnbmVkIGFuZCB1bnNpZ25lZApjb25mdGVzdC5jOjczOiB3YXJuaW5nOiBjb21wYXJpc29u
IGJldHdlZW4gc2lnbmVkIGFuZCB1bnNpZ25lZApjb25mdGVzdC5jOjczOiB3YXJuaW5nOiBjb21w
YXJpc29uIGJldHdlZW4gc2lnbmVkIGFuZCB1bnNpZ25lZApjb25mdGVzdC5jOjc0OiB3YXJuaW5n
OiBjb21wYXJpc29uIGJldHdlZW4gc2lnbmVkIGFuZCB1bnNpZ25lZApjb25mdGVzdC5jOjc0OiB3
YXJuaW5nOiBjb21wYXJpc29uIGJldHdlZW4gc2lnbmVkIGFuZCB1bnNpZ25lZApjb25mdGVzdC5j
Ojc0OiB3YXJuaW5nOiBjb21wYXJpc29uIGJldHdlZW4gc2lnbmVkIGFuZCB1bnNpZ25lZApjb25m
aWd1cmU6MTY0NTA6ICQ/ID0gMApjb25maWd1cmU6MTY0NTY6IC4vY29uZnRlc3QKY29uZmlndXJl
OjE2NDYwOiAkPyA9IDAKY29uZmlndXJlOjE2NDgxOiByZXN1bHQ6IHllcyAodmVyc2lvbiAyLjE4
LjEpCmNvbmZpZ3VyZToxNjkxOTogY2hlY2tpbmcgd2hldGhlciBHTGliIHN1cHBvcnRzIGxvYWRh
YmxlIG1vZHVsZXMKY29uZmlndXJlOjE2OTU3OiB4ODZfNjQtcGMtbGludXgtZ251LWdjYyAtbyBj
b25mdGVzdCAtRF9VXz0iX19hdHRyaWJ1dGVfXygodW51c2VkKSkiIC1tYXJjaD1ub2NvbmEgLU8y
IC1waXBlIC1XYWxsIC1XIC1XZGVjbGFyYXRpb24tYWZ0ZXItc3RhdGVtZW50IC1XZW5kaWYtbGFi
ZWxzIC1XcG9pbnRlci1hcml0aCAtV25vLXBvaW50ZXItc2lnbiAtV2FycmF5LWJvdW5kcyAtSS91
c3IvbG9jYWwvaW5jbHVkZSAtcHRocmVhZCAtSS91c3IvaW5jbHVkZS9ndGstMi4wIC1JL3Vzci9s
aWI2NC9ndGstMi4wL2luY2x1ZGUgLUkvdXNyL2luY2x1ZGUvYXRrLTEuMCAtSS91c3IvaW5jbHVk
ZS9jYWlybyAtSS91c3IvaW5jbHVkZS9wYW5nby0xLjAgLUkvdXNyL2luY2x1ZGUvZ2xpYi0yLjAg
LUkvdXNyL2xpYjY0L2dsaWItMi4wL2luY2x1ZGUgLUkvdXNyL2luY2x1ZGUvcGl4bWFuLTEgLUkv
dXNyL2luY2x1ZGUvZnJlZXR5cGUyIC1JL3Vzci9pbmNsdWRlL2xpYnBuZzEyICAgLUkvdXNyL2lu
Y2x1ZGUvZ2xpYi0yLjAgLUkvdXNyL2xpYjY0L2dsaWItMi4wL2luY2x1ZGUgICAgLUkvdXNyL2xv
Y2FsL2luY2x1ZGUgLVdsLC1PMSAtTC91c3IvbG9jYWwvbGliIGNvbmZ0ZXN0LmMgLVdsLC0tZXhw
b3J0LWR5bmFtaWMgLWxnbW9kdWxlLTIuMCAtbGdsaWItMi4wICAgID4mNQpjb25maWd1cmU6MTY5
NjE6ICQ/ID0gMApjb25maWd1cmU6MTY5Njc6IC4vY29uZnRlc3QKY29uZmlndXJlOjE2OTcxOiAk
PyA9IDAKY29uZmlndXJlOjE2OTkwOiByZXN1bHQ6IHllcwpjb25maWd1cmU6MTcwMDg6IGNoZWNr
aW5nIGZvciBpbnR0eXBlcy5oCmNvbmZpZ3VyZToxNzAxNTogcmVzdWx0OiB5ZXMKY29uZmlndXJl
OjE3MTQ4OiBjaGVja2luZyB3aGV0aGVyIGludHR5cGVzLmggZGVmaW5lcyB0aGUgUFJJW2RveHVd
NjQgbWFjcm9zCmNvbmZpZ3VyZToxNzE4MDogeDg2XzY0LXBjLWxpbnV4LWdudS1nY2MgLWMgLURf
VV89Il9fYXR0cmlidXRlX18oKHVudXNlZCkpIiAtbWFyY2g9bm9jb25hIC1PMiAtcGlwZSAtV2Fs
bCAtVyAtV2RlY2xhcmF0aW9uLWFmdGVyLXN0YXRlbWVudCAtV2VuZGlmLWxhYmVscyAtV3BvaW50
ZXItYXJpdGggLVduby1wb2ludGVyLXNpZ24gLVdhcnJheS1ib3VuZHMgLUkvdXNyL2xvY2FsL2lu
Y2x1ZGUgLXB0aHJlYWQgLUkvdXNyL2luY2x1ZGUvZ3RrLTIuMCAtSS91c3IvbGliNjQvZ3RrLTIu
MC9pbmNsdWRlIC1JL3Vzci9pbmNsdWRlL2F0ay0xLjAgLUkvdXNyL2luY2x1ZGUvY2Fpcm8gLUkv
dXNyL2luY2x1ZGUvcGFuZ28tMS4wIC1JL3Vzci9pbmNsdWRlL2dsaWItMi4wIC1JL3Vzci9saWI2
NC9nbGliLTIuMC9pbmNsdWRlIC1JL3Vzci9pbmNsdWRlL3BpeG1hbi0xIC1JL3Vzci9pbmNsdWRl
L2ZyZWV0eXBlMiAtSS91c3IvaW5jbHVkZS9saWJwbmcxMiAgICAtSS91c3IvbG9jYWwvaW5jbHVk
ZSBjb25mdGVzdC5jID4mNQpjb25mdGVzdC5jOjM1OiB3YXJuaW5nOiByZXR1cm4gdHlwZSBkZWZh
dWx0cyB0byAnaW50Jwpjb25mdGVzdC5jOiBJbiBmdW5jdGlvbiAnbWFpbic6CmNvbmZ0ZXN0LmM6
NDE6IHdhcm5pbmc6IGNvbnRyb2wgcmVhY2hlcyBlbmQgb2Ygbm9uLXZvaWQgZnVuY3Rpb24KY29u
ZmlndXJlOjE3MTg3OiAkPyA9IDAKY29uZmlndXJlOjE3MTkzOiByZXN1bHQ6IHllcwpjb25maWd1
cmU6MTc2OTQ6IGNoZWNraW5nIGZvciBnZXRob3N0YnluYW1lCmNvbmZpZ3VyZToxNzc1MDogeDg2
XzY0LXBjLWxpbnV4LWdudS1nY2MgLW8gY29uZnRlc3QgLURfVV89Il9fYXR0cmlidXRlX18oKHVu
dXNlZCkpIiAtbWFyY2g9bm9jb25hIC1PMiAtcGlwZSAtV2FsbCAtVyAtV2RlY2xhcmF0aW9uLWFm
dGVyLXN0YXRlbWVudCAtV2VuZGlmLWxhYmVscyAtV3BvaW50ZXItYXJpdGggLVduby1wb2ludGVy
LXNpZ24gLVdhcnJheS1ib3VuZHMgLUkvdXNyL2xvY2FsL2luY2x1ZGUgLXB0aHJlYWQgLUkvdXNy
L2luY2x1ZGUvZ3RrLTIuMCAtSS91c3IvbGliNjQvZ3RrLTIuMC9pbmNsdWRlIC1JL3Vzci9pbmNs
dWRlL2F0ay0xLjAgLUkvdXNyL2luY2x1ZGUvY2Fpcm8gLUkvdXNyL2luY2x1ZGUvcGFuZ28tMS4w
IC1JL3Vzci9pbmNsdWRlL2dsaWItMi4wIC1JL3Vzci9saWI2NC9nbGliLTIuMC9pbmNsdWRlIC1J
L3Vzci9pbmNsdWRlL3BpeG1hbi0xIC1JL3Vzci9pbmNsdWRlL2ZyZWV0eXBlMiAtSS91c3IvaW5j
bHVkZS9saWJwbmcxMiAgICAtSS91c3IvbG9jYWwvaW5jbHVkZSAtV2wsLU8xIC1ML3Vzci9sb2Nh
bC9saWIgY29uZnRlc3QuYyAgPiY1CmNvbmZpZ3VyZToxNzc1NzogJD8gPSAwCmNvbmZpZ3VyZTox
Nzc3NzogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjE3ODY0OiBjaGVja2luZyBmb3IgY29ubmVjdApj
b25maWd1cmU6MTc5MjA6IHg4Nl82NC1wYy1saW51eC1nbnUtZ2NjIC1vIGNvbmZ0ZXN0IC1EX1Vf
PSJfX2F0dHJpYnV0ZV9fKCh1bnVzZWQpKSIgLW1hcmNoPW5vY29uYSAtTzIgLXBpcGUgLVdhbGwg
LVcgLVdkZWNsYXJhdGlvbi1hZnRlci1zdGF0ZW1lbnQgLVdlbmRpZi1sYWJlbHMgLVdwb2ludGVy
LWFyaXRoIC1Xbm8tcG9pbnRlci1zaWduIC1XYXJyYXktYm91bmRzIC1JL3Vzci9sb2NhbC9pbmNs
dWRlIC1wdGhyZWFkIC1JL3Vzci9pbmNsdWRlL2d0ay0yLjAgLUkvdXNyL2xpYjY0L2d0ay0yLjAv
aW5jbHVkZSAtSS91c3IvaW5jbHVkZS9hdGstMS4wIC1JL3Vzci9pbmNsdWRlL2NhaXJvIC1JL3Vz
ci9pbmNsdWRlL3BhbmdvLTEuMCAtSS91c3IvaW5jbHVkZS9nbGliLTIuMCAtSS91c3IvbGliNjQv
Z2xpYi0yLjAvaW5jbHVkZSAtSS91c3IvaW5jbHVkZS9waXhtYW4tMSAtSS91c3IvaW5jbHVkZS9m
cmVldHlwZTIgLUkvdXNyL2luY2x1ZGUvbGlicG5nMTIgICAgLUkvdXNyL2xvY2FsL2luY2x1ZGUg
LVdsLC1PMSAtTC91c3IvbG9jYWwvbGliIGNvbmZ0ZXN0LmMgID4mNQpjb25maWd1cmU6MTc5Mjc6
ICQ/ID0gMApjb25maWd1cmU6MTc5NDc6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZToxODAzMDogY2hl
Y2tpbmcgd2hldGhlciB0byB1c2UgbGlicGNhcCBmb3IgcGFja2V0IGNhcHR1cmUKY29uZmlndXJl
OjE4MDU5OiByZXN1bHQ6IHllcwpjb25maWd1cmU6MTgwODA6IGNoZWNraW5nIGZvciBleHRyYW5l
b3VzIHBjYXAgaGVhZGVyIGRpcmVjdG9yaWVzCmNvbmZpZ3VyZToxODEwMDogcmVzdWx0OiBmb3Vu
ZCAtLSAgLUkvdXNyL2luY2x1ZGUgYWRkZWQgdG8gQ0ZMQUdTCmNvbmZpZ3VyZToxODE0MTogY2hl
Y2tpbmcgcGNhcC5oIHVzYWJpbGl0eQpjb25maWd1cmU6MTgxNTg6IHg4Nl82NC1wYy1saW51eC1n
bnUtZ2NjIC1jIC1EX1VfPSJfX2F0dHJpYnV0ZV9fKCh1bnVzZWQpKSIgLW1hcmNoPW5vY29uYSAt
TzIgLXBpcGUgLVdhbGwgLVcgLVdkZWNsYXJhdGlvbi1hZnRlci1zdGF0ZW1lbnQgLVdlbmRpZi1s
YWJlbHMgLVdwb2ludGVyLWFyaXRoIC1Xbm8tcG9pbnRlci1zaWduIC1XYXJyYXktYm91bmRzIC1J
L3Vzci9sb2NhbC9pbmNsdWRlIC1wdGhyZWFkIC1JL3Vzci9pbmNsdWRlL2d0ay0yLjAgLUkvdXNy
L2xpYjY0L2d0ay0yLjAvaW5jbHVkZSAtSS91c3IvaW5jbHVkZS9hdGstMS4wIC1JL3Vzci9pbmNs
dWRlL2NhaXJvIC1JL3Vzci9pbmNsdWRlL3BhbmdvLTEuMCAtSS91c3IvaW5jbHVkZS9nbGliLTIu
MCAtSS91c3IvbGliNjQvZ2xpYi0yLjAvaW5jbHVkZSAtSS91c3IvaW5jbHVkZS9waXhtYW4tMSAt
SS91c3IvaW5jbHVkZS9mcmVldHlwZTIgLUkvdXNyL2luY2x1ZGUvbGlicG5nMTIgICAgLUkvdXNy
L2xvY2FsL2luY2x1ZGUgY29uZnRlc3QuYyA+JjUKY29uZmlndXJlOjE4MTY1OiAkPyA9IDAKY29u
ZmlndXJlOjE4MTc5OiByZXN1bHQ6IHllcwpjb25maWd1cmU6MTgxODM6IGNoZWNraW5nIHBjYXAu
aCBwcmVzZW5jZQpjb25maWd1cmU6MTgxOTg6IHg4Nl82NC1wYy1saW51eC1nbnUtZ2NjIC1FICAt
SS91c3IvbG9jYWwvaW5jbHVkZSBjb25mdGVzdC5jCmNvbmZpZ3VyZToxODIwNTogJD8gPSAwCmNv
bmZpZ3VyZToxODIxOTogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjE4MjQ3OiBjaGVja2luZyBmb3Ig
cGNhcC5oCmNvbmZpZ3VyZToxODI1NDogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjE4Mjc5OiBjaGVj
a2luZyBmb3IgcGNhcF9vcGVuX2xpdmUgaW4gLWxwY2FwCmNvbmZpZ3VyZToxODMxNDogeDg2XzY0
LXBjLWxpbnV4LWdudS1nY2MgLW8gY29uZnRlc3QgLURfVV89Il9fYXR0cmlidXRlX18oKHVudXNl
ZCkpIiAtbWFyY2g9bm9jb25hIC1PMiAtcGlwZSAtV2FsbCAtVyAtV2RlY2xhcmF0aW9uLWFmdGVy
LXN0YXRlbWVudCAtV2VuZGlmLWxhYmVscyAtV3BvaW50ZXItYXJpdGggLVduby1wb2ludGVyLXNp
Z24gLVdhcnJheS1ib3VuZHMgLUkvdXNyL2xvY2FsL2luY2x1ZGUgLXB0aHJlYWQgLUkvdXNyL2lu
Y2x1ZGUvZ3RrLTIuMCAtSS91c3IvbGliNjQvZ3RrLTIuMC9pbmNsdWRlIC1JL3Vzci9pbmNsdWRl
L2F0ay0xLjAgLUkvdXNyL2luY2x1ZGUvY2Fpcm8gLUkvdXNyL2luY2x1ZGUvcGFuZ28tMS4wIC1J
L3Vzci9pbmNsdWRlL2dsaWItMi4wIC1JL3Vzci9saWI2NC9nbGliLTIuMC9pbmNsdWRlIC1JL3Vz
ci9pbmNsdWRlL3BpeG1hbi0xIC1JL3Vzci9pbmNsdWRlL2ZyZWV0eXBlMiAtSS91c3IvaW5jbHVk
ZS9saWJwbmcxMiAgICAtSS91c3IvbG9jYWwvaW5jbHVkZSAtV2wsLU8xIC1ML3Vzci9sb2NhbC9s
aWIgY29uZnRlc3QuYyAtbHBjYXAgICAgPiY1CmNvbmZpZ3VyZToxODMyMTogJD8gPSAwCmNvbmZp
Z3VyZToxODM0MjogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjE4NDUxOiBjaGVja2luZyB3aGV0aGVy
IHBjYXBfdmVyc2lvbiBpcyBkZWZpbmVkIGJ5IGxpYnBjYXAKY29uZmlndXJlOjE4NDgwOiB4ODZf
NjQtcGMtbGludXgtZ251LWdjYyAtbyBjb25mdGVzdCAtRF9VXz0iX19hdHRyaWJ1dGVfXygodW51
c2VkKSkiIC1tYXJjaD1ub2NvbmEgLU8yIC1waXBlIC1XYWxsIC1XIC1XZGVjbGFyYXRpb24tYWZ0
ZXItc3RhdGVtZW50IC1XZW5kaWYtbGFiZWxzIC1XcG9pbnRlci1hcml0aCAtV25vLXBvaW50ZXIt
c2lnbiAtV2FycmF5LWJvdW5kcyAtSS91c3IvbG9jYWwvaW5jbHVkZSAtcHRocmVhZCAtSS91c3Iv
aW5jbHVkZS9ndGstMi4wIC1JL3Vzci9saWI2NC9ndGstMi4wL2luY2x1ZGUgLUkvdXNyL2luY2x1
ZGUvYXRrLTEuMCAtSS91c3IvaW5jbHVkZS9jYWlybyAtSS91c3IvaW5jbHVkZS9wYW5nby0xLjAg
LUkvdXNyL2luY2x1ZGUvZ2xpYi0yLjAgLUkvdXNyL2xpYjY0L2dsaWItMi4wL2luY2x1ZGUgLUkv
dXNyL2luY2x1ZGUvcGl4bWFuLTEgLUkvdXNyL2luY2x1ZGUvZnJlZXR5cGUyIC1JL3Vzci9pbmNs
dWRlL2xpYnBuZzEyICAgIC1JL3Vzci9sb2NhbC9pbmNsdWRlIC1XbCwtTzEgLUwvdXNyL2xvY2Fs
L2xpYiBjb25mdGVzdC5jIC1scGNhcCAgICA+JjUKY29uZmlndXJlOjE4NDg3OiAkPyA9IDAKY29u
ZmlndXJlOjE4NTA3OiByZXN1bHQ6IHllcwpjb25maWd1cmU6MTg1MjM6IGNoZWNraW5nIGZvciBw
Y2FwX29wZW5fZGVhZApjb25maWd1cmU6MTg1Nzk6IHg4Nl82NC1wYy1saW51eC1nbnUtZ2NjIC1v
IGNvbmZ0ZXN0IC1EX1VfPSJfX2F0dHJpYnV0ZV9fKCh1bnVzZWQpKSIgLW1hcmNoPW5vY29uYSAt
TzIgLXBpcGUgLVdhbGwgLVcgLVdkZWNsYXJhdGlvbi1hZnRlci1zdGF0ZW1lbnQgLVdlbmRpZi1s
YWJlbHMgLVdwb2ludGVyLWFyaXRoIC1Xbm8tcG9pbnRlci1zaWduIC1XYXJyYXktYm91bmRzIC1J
L3Vzci9sb2NhbC9pbmNsdWRlIC1wdGhyZWFkIC1JL3Vzci9pbmNsdWRlL2d0ay0yLjAgLUkvdXNy
L2xpYjY0L2d0ay0yLjAvaW5jbHVkZSAtSS91c3IvaW5jbHVkZS9hdGstMS4wIC1JL3Vzci9pbmNs
dWRlL2NhaXJvIC1JL3Vzci9pbmNsdWRlL3BhbmdvLTEuMCAtSS91c3IvaW5jbHVkZS9nbGliLTIu
MCAtSS91c3IvbGliNjQvZ2xpYi0yLjAvaW5jbHVkZSAtSS91c3IvaW5jbHVkZS9waXhtYW4tMSAt
SS91c3IvaW5jbHVkZS9mcmVldHlwZTIgLUkvdXNyL2luY2x1ZGUvbGlicG5nMTIgICAgLUkvdXNy
L2xvY2FsL2luY2x1ZGUgLVdsLC1PMSAtTC91c3IvbG9jYWwvbGliIGNvbmZ0ZXN0LmMgLWxwY2Fw
ICAgID4mNQpjb25maWd1cmU6MTg1ODY6ICQ/ID0gMApjb25maWd1cmU6MTg2MDg6IHJlc3VsdDog
eWVzCmNvbmZpZ3VyZToxODUyMzogY2hlY2tpbmcgZm9yIHBjYXBfZnJlZWNvZGUKY29uZmlndXJl
OjE4NTc5OiB4ODZfNjQtcGMtbGludXgtZ251LWdjYyAtbyBjb25mdGVzdCAtRF9VXz0iX19hdHRy
aWJ1dGVfXygodW51c2VkKSkiIC1tYXJjaD1ub2NvbmEgLU8yIC1waXBlIC1XYWxsIC1XIC1XZGVj
bGFyYXRpb24tYWZ0ZXItc3RhdGVtZW50IC1XZW5kaWYtbGFiZWxzIC1XcG9pbnRlci1hcml0aCAt
V25vLXBvaW50ZXItc2lnbiAtV2FycmF5LWJvdW5kcyAtSS91c3IvbG9jYWwvaW5jbHVkZSAtcHRo
cmVhZCAtSS91c3IvaW5jbHVkZS9ndGstMi4wIC1JL3Vzci9saWI2NC9ndGstMi4wL2luY2x1ZGUg
LUkvdXNyL2luY2x1ZGUvYXRrLTEuMCAtSS91c3IvaW5jbHVkZS9jYWlybyAtSS91c3IvaW5jbHVk
ZS9wYW5nby0xLjAgLUkvdXNyL2luY2x1ZGUvZ2xpYi0yLjAgLUkvdXNyL2xpYjY0L2dsaWItMi4w
L2luY2x1ZGUgLUkvdXNyL2luY2x1ZGUvcGl4bWFuLTEgLUkvdXNyL2luY2x1ZGUvZnJlZXR5cGUy
IC1JL3Vzci9pbmNsdWRlL2xpYnBuZzEyICAgIC1JL3Vzci9sb2NhbC9pbmNsdWRlIC1XbCwtTzEg
LUwvdXNyL2xvY2FsL2xpYiBjb25mdGVzdC5jIC1scGNhcCAgICA+JjUKY29uZmlndXJlOjE4NTg2
OiAkPyA9IDAKY29uZmlndXJlOjE4NjA4OiByZXN1bHQ6IHllcwpjb25maWd1cmU6MTg2NDM6IGNo
ZWNraW5nIHdoZXRoZXIgcGNhcF9icmVha2xvb3AgaXMgcHJlc2VudApjb25maWd1cmU6MTg2NzE6
IHg4Nl82NC1wYy1saW51eC1nbnUtZ2NjIC1vIGNvbmZ0ZXN0IC1EX1VfPSJfX2F0dHJpYnV0ZV9f
KCh1bnVzZWQpKSIgLW1hcmNoPW5vY29uYSAtTzIgLXBpcGUgLVdhbGwgLVcgLVdkZWNsYXJhdGlv
bi1hZnRlci1zdGF0ZW1lbnQgLVdlbmRpZi1sYWJlbHMgLVdwb2ludGVyLWFyaXRoIC1Xbm8tcG9p
bnRlci1zaWduIC1XYXJyYXktYm91bmRzIC1JL3Vzci9sb2NhbC9pbmNsdWRlIC1wdGhyZWFkIC1J
L3Vzci9pbmNsdWRlL2d0ay0yLjAgLUkvdXNyL2xpYjY0L2d0ay0yLjAvaW5jbHVkZSAtSS91c3Iv
aW5jbHVkZS9hdGstMS4wIC1JL3Vzci9pbmNsdWRlL2NhaXJvIC1JL3Vzci9pbmNsdWRlL3Bhbmdv
LTEuMCAtSS91c3IvaW5jbHVkZS9nbGliLTIuMCAtSS91c3IvbGliNjQvZ2xpYi0yLjAvaW5jbHVk
ZSAtSS91c3IvaW5jbHVkZS9waXhtYW4tMSAtSS91c3IvaW5jbHVkZS9mcmVldHlwZTIgLUkvdXNy
L2luY2x1ZGUvbGlicG5nMTIgICAgLUkvdXNyL2xvY2FsL2luY2x1ZGUgLVdsLC1PMSAtTC91c3Iv
bG9jYWwvbGliIGNvbmZ0ZXN0LmMgLWxwY2FwICAgID4mNQpjb25maWd1cmU6MTg2Nzg6ICQ/ID0g
MApjb25maWd1cmU6MTg3MDM6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZToxODgwOTogY2hlY2tpbmcg
d2hldGhlciBwY2FwX2ZpbmRhbGxkZXZzIGlzIHByZXNlbnQgYW5kIHVzYWJsZQpjb25maWd1cmU6
MTg4NDA6IHg4Nl82NC1wYy1saW51eC1nbnUtZ2NjIC1vIGNvbmZ0ZXN0IC1EX1VfPSJfX2F0dHJp
YnV0ZV9fKCh1bnVzZWQpKSIgLW1hcmNoPW5vY29uYSAtTzIgLXBpcGUgLVdhbGwgLVcgLVdkZWNs
YXJhdGlvbi1hZnRlci1zdGF0ZW1lbnQgLVdlbmRpZi1sYWJlbHMgLVdwb2ludGVyLWFyaXRoIC1X
bm8tcG9pbnRlci1zaWduIC1XYXJyYXktYm91bmRzIC1JL3Vzci9sb2NhbC9pbmNsdWRlIC1wdGhy
ZWFkIC1JL3Vzci9pbmNsdWRlL2d0ay0yLjAgLUkvdXNyL2xpYjY0L2d0ay0yLjAvaW5jbHVkZSAt
SS91c3IvaW5jbHVkZS9hdGstMS4wIC1JL3Vzci9pbmNsdWRlL2NhaXJvIC1JL3Vzci9pbmNsdWRl
L3BhbmdvLTEuMCAtSS91c3IvaW5jbHVkZS9nbGliLTIuMCAtSS91c3IvbGliNjQvZ2xpYi0yLjAv
aW5jbHVkZSAtSS91c3IvaW5jbHVkZS9waXhtYW4tMSAtSS91c3IvaW5jbHVkZS9mcmVldHlwZTIg
LUkvdXNyL2luY2x1ZGUvbGlicG5nMTIgICAgLUkvdXNyL2xvY2FsL2luY2x1ZGUgLVdsLC1PMSAt
TC91c3IvbG9jYWwvbGliIGNvbmZ0ZXN0LmMgLWxwY2FwICAgID4mNQpjb25mdGVzdC5jOjM3OiB3
YXJuaW5nOiByZXR1cm4gdHlwZSBkZWZhdWx0cyB0byAnaW50Jwpjb25mdGVzdC5jOiBJbiBmdW5j
dGlvbiAnbWFpbic6CmNvbmZ0ZXN0LmM6NDI6IHdhcm5pbmc6IGNvbnRyb2wgcmVhY2hlcyBlbmQg
b2Ygbm9uLXZvaWQgZnVuY3Rpb24KY29uZmlndXJlOjE4ODQ3OiAkPyA9IDAKY29uZmlndXJlOjE4
ODcyOiByZXN1bHQ6IHllcwpjb25maWd1cmU6MTg4OTE6IGNoZWNraW5nIGZvciBwY2FwX2RhdGFs
aW5rX3ZhbF90b19uYW1lCmNvbmZpZ3VyZToxODk0NzogeDg2XzY0LXBjLWxpbnV4LWdudS1nY2Mg
LW8gY29uZnRlc3QgLURfVV89Il9fYXR0cmlidXRlX18oKHVudXNlZCkpIiAtbWFyY2g9bm9jb25h
IC1PMiAtcGlwZSAtV2FsbCAtVyAtV2RlY2xhcmF0aW9uLWFmdGVyLXN0YXRlbWVudCAtV2VuZGlm
LWxhYmVscyAtV3BvaW50ZXItYXJpdGggLVduby1wb2ludGVyLXNpZ24gLVdhcnJheS1ib3VuZHMg
LUkvdXNyL2xvY2FsL2luY2x1ZGUgLXB0aHJlYWQgLUkvdXNyL2luY2x1ZGUvZ3RrLTIuMCAtSS91
c3IvbGliNjQvZ3RrLTIuMC9pbmNsdWRlIC1JL3Vzci9pbmNsdWRlL2F0ay0xLjAgLUkvdXNyL2lu
Y2x1ZGUvY2Fpcm8gLUkvdXNyL2luY2x1ZGUvcGFuZ28tMS4wIC1JL3Vzci9pbmNsdWRlL2dsaWIt
Mi4wIC1JL3Vzci9saWI2NC9nbGliLTIuMC9pbmNsdWRlIC1JL3Vzci9pbmNsdWRlL3BpeG1hbi0x
IC1JL3Vzci9pbmNsdWRlL2ZyZWV0eXBlMiAtSS91c3IvaW5jbHVkZS9saWJwbmcxMiAgICAtSS91
c3IvbG9jYWwvaW5jbHVkZSAtV2wsLU8xIC1ML3Vzci9sb2NhbC9saWIgY29uZnRlc3QuYyAtbHBj
YXAgICAgPiY1CmNvbmZpZ3VyZToxODk1NDogJD8gPSAwCmNvbmZpZ3VyZToxODk3NjogcmVzdWx0
OiB5ZXMKY29uZmlndXJlOjE4ODkxOiBjaGVja2luZyBmb3IgcGNhcF9kYXRhbGlua19uYW1lX3Rv
X3ZhbApjb25maWd1cmU6MTg5NDc6IHg4Nl82NC1wYy1saW51eC1nbnUtZ2NjIC1vIGNvbmZ0ZXN0
IC1EX1VfPSJfX2F0dHJpYnV0ZV9fKCh1bnVzZWQpKSIgLW1hcmNoPW5vY29uYSAtTzIgLXBpcGUg
LVdhbGwgLVcgLVdkZWNsYXJhdGlvbi1hZnRlci1zdGF0ZW1lbnQgLVdlbmRpZi1sYWJlbHMgLVdw
b2ludGVyLWFyaXRoIC1Xbm8tcG9pbnRlci1zaWduIC1XYXJyYXktYm91bmRzIC1JL3Vzci9sb2Nh
bC9pbmNsdWRlIC1wdGhyZWFkIC1JL3Vzci9pbmNsdWRlL2d0ay0yLjAgLUkvdXNyL2xpYjY0L2d0
ay0yLjAvaW5jbHVkZSAtSS91c3IvaW5jbHVkZS9hdGstMS4wIC1JL3Vzci9pbmNsdWRlL2NhaXJv
IC1JL3Vzci9pbmNsdWRlL3BhbmdvLTEuMCAtSS91c3IvaW5jbHVkZS9nbGliLTIuMCAtSS91c3Iv
bGliNjQvZ2xpYi0yLjAvaW5jbHVkZSAtSS91c3IvaW5jbHVkZS9waXhtYW4tMSAtSS91c3IvaW5j
bHVkZS9mcmVldHlwZTIgLUkvdXNyL2luY2x1ZGUvbGlicG5nMTIgICAgLUkvdXNyL2xvY2FsL2lu
Y2x1ZGUgLVdsLC1PMSAtTC91c3IvbG9jYWwvbGliIGNvbmZ0ZXN0LmMgLWxwY2FwICAgID4mNQpj
b25maWd1cmU6MTg5NTQ6ICQ/ID0gMApjb25maWd1cmU6MTg5NzY6IHJlc3VsdDogeWVzCmNvbmZp
Z3VyZToxODk5NDogY2hlY2tpbmcgZm9yIHBjYXBfbGlzdF9kYXRhbGlua3MKY29uZmlndXJlOjE5
MDUwOiB4ODZfNjQtcGMtbGludXgtZ251LWdjYyAtbyBjb25mdGVzdCAtRF9VXz0iX19hdHRyaWJ1
dGVfXygodW51c2VkKSkiIC1tYXJjaD1ub2NvbmEgLU8yIC1waXBlIC1XYWxsIC1XIC1XZGVjbGFy
YXRpb24tYWZ0ZXItc3RhdGVtZW50IC1XZW5kaWYtbGFiZWxzIC1XcG9pbnRlci1hcml0aCAtV25v
LXBvaW50ZXItc2lnbiAtV2FycmF5LWJvdW5kcyAtSS91c3IvbG9jYWwvaW5jbHVkZSAtcHRocmVh
ZCAtSS91c3IvaW5jbHVkZS9ndGstMi4wIC1JL3Vzci9saWI2NC9ndGstMi4wL2luY2x1ZGUgLUkv
dXNyL2luY2x1ZGUvYXRrLTEuMCAtSS91c3IvaW5jbHVkZS9jYWlybyAtSS91c3IvaW5jbHVkZS9w
YW5nby0xLjAgLUkvdXNyL2luY2x1ZGUvZ2xpYi0yLjAgLUkvdXNyL2xpYjY0L2dsaWItMi4wL2lu
Y2x1ZGUgLUkvdXNyL2luY2x1ZGUvcGl4bWFuLTEgLUkvdXNyL2luY2x1ZGUvZnJlZXR5cGUyIC1J
L3Vzci9pbmNsdWRlL2xpYnBuZzEyICAgIC1JL3Vzci9sb2NhbC9pbmNsdWRlIC1XbCwtTzEgLUwv
dXNyL2xvY2FsL2xpYiBjb25mdGVzdC5jIC1scGNhcCAgICA+JjUKY29uZmlndXJlOjE5MDU3OiAk
PyA9IDAKY29uZmlndXJlOjE5MDc5OiByZXN1bHQ6IHllcwpjb25maWd1cmU6MTg5OTQ6IGNoZWNr
aW5nIGZvciBwY2FwX3NldF9kYXRhbGluawpjb25maWd1cmU6MTkwNTA6IHg4Nl82NC1wYy1saW51
eC1nbnUtZ2NjIC1vIGNvbmZ0ZXN0IC1EX1VfPSJfX2F0dHJpYnV0ZV9fKCh1bnVzZWQpKSIgLW1h
cmNoPW5vY29uYSAtTzIgLXBpcGUgLVdhbGwgLVcgLVdkZWNsYXJhdGlvbi1hZnRlci1zdGF0ZW1l
bnQgLVdlbmRpZi1sYWJlbHMgLVdwb2ludGVyLWFyaXRoIC1Xbm8tcG9pbnRlci1zaWduIC1XYXJy
YXktYm91bmRzIC1JL3Vzci9sb2NhbC9pbmNsdWRlIC1wdGhyZWFkIC1JL3Vzci9pbmNsdWRlL2d0
ay0yLjAgLUkvdXNyL2xpYjY0L2d0ay0yLjAvaW5jbHVkZSAtSS91c3IvaW5jbHVkZS9hdGstMS4w
IC1JL3Vzci9pbmNsdWRlL2NhaXJvIC1JL3Vzci9pbmNsdWRlL3BhbmdvLTEuMCAtSS91c3IvaW5j
bHVkZS9nbGliLTIuMCAtSS91c3IvbGliNjQvZ2xpYi0yLjAvaW5jbHVkZSAtSS91c3IvaW5jbHVk
ZS9waXhtYW4tMSAtSS91c3IvaW5jbHVkZS9mcmVldHlwZTIgLUkvdXNyL2luY2x1ZGUvbGlicG5n
MTIgICAgLUkvdXNyL2xvY2FsL2luY2x1ZGUgLVdsLC1PMSAtTC91c3IvbG9jYWwvbGliIGNvbmZ0
ZXN0LmMgLWxwY2FwICAgID4mNQpjb25maWd1cmU6MTkwNTc6ICQ/ID0gMApjb25maWd1cmU6MTkw
Nzk6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZToxODk5NDogY2hlY2tpbmcgZm9yIHBjYXBfbGliX3Zl
cnNpb24KY29uZmlndXJlOjE5MDUwOiB4ODZfNjQtcGMtbGludXgtZ251LWdjYyAtbyBjb25mdGVz
dCAtRF9VXz0iX19hdHRyaWJ1dGVfXygodW51c2VkKSkiIC1tYXJjaD1ub2NvbmEgLU8yIC1waXBl
IC1XYWxsIC1XIC1XZGVjbGFyYXRpb24tYWZ0ZXItc3RhdGVtZW50IC1XZW5kaWYtbGFiZWxzIC1X
cG9pbnRlci1hcml0aCAtV25vLXBvaW50ZXItc2lnbiAtV2FycmF5LWJvdW5kcyAtSS91c3IvbG9j
YWwvaW5jbHVkZSAtcHRocmVhZCAtSS91c3IvaW5jbHVkZS9ndGstMi4wIC1JL3Vzci9saWI2NC9n
dGstMi4wL2luY2x1ZGUgLUkvdXNyL2luY2x1ZGUvYXRrLTEuMCAtSS91c3IvaW5jbHVkZS9jYWly
byAtSS91c3IvaW5jbHVkZS9wYW5nby0xLjAgLUkvdXNyL2luY2x1ZGUvZ2xpYi0yLjAgLUkvdXNy
L2xpYjY0L2dsaWItMi4wL2luY2x1ZGUgLUkvdXNyL2luY2x1ZGUvcGl4bWFuLTEgLUkvdXNyL2lu
Y2x1ZGUvZnJlZXR5cGUyIC1JL3Vzci9pbmNsdWRlL2xpYnBuZzEyICAgIC1JL3Vzci9sb2NhbC9p
bmNsdWRlIC1XbCwtTzEgLUwvdXNyL2xvY2FsL2xpYiBjb25mdGVzdC5jIC1scGNhcCAgICA+JjUK
Y29uZmlndXJlOjE5MDU3OiAkPyA9IDAKY29uZmlndXJlOjE5MDc5OiByZXN1bHQ6IHllcwpjb25m
aWd1cmU6MTkwOTY6IGNoZWNraW5nIGZvciBwY2FwX2dldF9zZWxlY3RhYmxlX2ZkCmNvbmZpZ3Vy
ZToxOTE1MjogeDg2XzY0LXBjLWxpbnV4LWdudS1nY2MgLW8gY29uZnRlc3QgLURfVV89Il9fYXR0
cmlidXRlX18oKHVudXNlZCkpIiAtbWFyY2g9bm9jb25hIC1PMiAtcGlwZSAtV2FsbCAtVyAtV2Rl
Y2xhcmF0aW9uLWFmdGVyLXN0YXRlbWVudCAtV2VuZGlmLWxhYmVscyAtV3BvaW50ZXItYXJpdGgg
LVduby1wb2ludGVyLXNpZ24gLVdhcnJheS1ib3VuZHMgLUkvdXNyL2xvY2FsL2luY2x1ZGUgLXB0
aHJlYWQgLUkvdXNyL2luY2x1ZGUvZ3RrLTIuMCAtSS91c3IvbGliNjQvZ3RrLTIuMC9pbmNsdWRl
IC1JL3Vzci9pbmNsdWRlL2F0ay0xLjAgLUkvdXNyL2luY2x1ZGUvY2Fpcm8gLUkvdXNyL2luY2x1
ZGUvcGFuZ28tMS4wIC1JL3Vzci9pbmNsdWRlL2dsaWItMi4wIC1JL3Vzci9saWI2NC9nbGliLTIu
MC9pbmNsdWRlIC1JL3Vzci9pbmNsdWRlL3BpeG1hbi0xIC1JL3Vzci9pbmNsdWRlL2ZyZWV0eXBl
MiAtSS91c3IvaW5jbHVkZS9saWJwbmcxMiAgICAtSS91c3IvbG9jYWwvaW5jbHVkZSAtV2wsLU8x
IC1ML3Vzci9sb2NhbC9saWIgY29uZnRlc3QuYyAtbHBjYXAgICAgPiY1CmNvbmZpZ3VyZToxOTE1
OTogJD8gPSAwCmNvbmZpZ3VyZToxOTE4MTogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjE5MDk2OiBj
aGVja2luZyBmb3IgcGNhcF9mcmVlX2RhdGFsaW5rcwpjb25maWd1cmU6MTkxNTI6IHg4Nl82NC1w
Yy1saW51eC1nbnUtZ2NjIC1vIGNvbmZ0ZXN0IC1EX1VfPSJfX2F0dHJpYnV0ZV9fKCh1bnVzZWQp
KSIgLW1hcmNoPW5vY29uYSAtTzIgLXBpcGUgLVdhbGwgLVcgLVdkZWNsYXJhdGlvbi1hZnRlci1z
dGF0ZW1lbnQgLVdlbmRpZi1sYWJlbHMgLVdwb2ludGVyLWFyaXRoIC1Xbm8tcG9pbnRlci1zaWdu
IC1XYXJyYXktYm91bmRzIC1JL3Vzci9sb2NhbC9pbmNsdWRlIC1wdGhyZWFkIC1JL3Vzci9pbmNs
dWRlL2d0ay0yLjAgLUkvdXNyL2xpYjY0L2d0ay0yLjAvaW5jbHVkZSAtSS91c3IvaW5jbHVkZS9h
dGstMS4wIC1JL3Vzci9pbmNsdWRlL2NhaXJvIC1JL3Vzci9pbmNsdWRlL3BhbmdvLTEuMCAtSS91
c3IvaW5jbHVkZS9nbGliLTIuMCAtSS91c3IvbGliNjQvZ2xpYi0yLjAvaW5jbHVkZSAtSS91c3Iv
aW5jbHVkZS9waXhtYW4tMSAtSS91c3IvaW5jbHVkZS9mcmVldHlwZTIgLUkvdXNyL2luY2x1ZGUv
bGlicG5nMTIgICAgLUkvdXNyL2xvY2FsL2luY2x1ZGUgLVdsLC1PMSAtTC91c3IvbG9jYWwvbGli
IGNvbmZ0ZXN0LmMgLWxwY2FwICAgID4mNQovdmFyL3RtcC9wb3J0YWdlL25ldC1hbmFseXplci93
aXJlc2hhcmstMS4wLjMvdGVtcC9jY0YyblA3Yi5vOiBJbiBmdW5jdGlvbiBgbWFpbic6CmNvbmZ0
ZXN0LmM6KC50ZXh0KzB4Nyk6IHVuZGVmaW5lZCByZWZlcmVuY2UgdG8gYHBjYXBfZnJlZV9kYXRh
bGlua3MnCmNvbGxlY3QyOiBsZCByZXR1cm5lZCAxIGV4aXQgc3RhdHVzCmNvbmZpZ3VyZToxOTE1
OTogJD8gPSAxCmNvbmZpZ3VyZTogZmFpbGVkIHByb2dyYW0gd2FzOgp8IC8qIGNvbmZkZWZzLmgu
ICAqLwp8ICNkZWZpbmUgUEFDS0FHRV9OQU1FICIiCnwgI2RlZmluZSBQQUNLQUdFX1RBUk5BTUUg
IiIKfCAjZGVmaW5lIFBBQ0tBR0VfVkVSU0lPTiAiIgp8ICNkZWZpbmUgUEFDS0FHRV9TVFJJTkcg
IiIKfCAjZGVmaW5lIFBBQ0tBR0VfQlVHUkVQT1JUICIiCnwgI2RlZmluZSBQQUNLQUdFICJ3aXJl
c2hhcmsiCnwgI2RlZmluZSBWRVJTSU9OICIxLjAuMyIKfCAjZGVmaW5lIFNURENfSEVBREVSUyAx
CnwgI2RlZmluZSBIQVZFX1NZU19UWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRfSCAx
CnwgI2RlZmluZSBIQVZFX1NURExJQl9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HX0ggMQp8ICNk
ZWZpbmUgSEFWRV9NRU1PUllfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR1NfSCAxCnwgI2RlZmlu
ZSBIQVZFX0lOVFRZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJTlRfSCAxCnwgI2RlZmluZSBI
QVZFX1VOSVNURF9IIDEKfCAjZGVmaW5lIEhBVkVfRExGQ05fSCAxCnwgI2RlZmluZSBMVF9PQkpE
SVIgIi5saWJzLyIKfCAjZGVmaW5lIFlZVEVYVF9QT0lOVEVSIDEKfCAjZGVmaW5lIEhUTUxfVklF
V0VSICJ4ZGctb3BlbiIKfCAjZGVmaW5lIEhBVkVfTElCR05VVExTIDEKfCAjZGVmaW5lIERBVEFG
SUxFX0RJUiAiL3Vzci9zaGFyZS93aXJlc2hhcmsiCnwgI2RlZmluZSBIQVZFX0lOVFRZUEVTX0gg
MQp8ICNkZWZpbmUgSU5UVFlQRVNfSF9ERUZJTkVTX0ZPUk1BVFMgLyoqLwp8ICNkZWZpbmUgSEFW
RV9MSUJQQ0FQIDEKfCAjZGVmaW5lIEhBVkVfUENBUF9WRVJTSU9OIDEKfCAjZGVmaW5lIEhBVkVf
UENBUF9PUEVOX0RFQUQgMQp8ICNkZWZpbmUgSEFWRV9QQ0FQX0ZSRUVDT0RFIDEKfCAjZGVmaW5l
IEhBVkVfUENBUF9CUkVBS0xPT1AgMQp8ICNkZWZpbmUgSEFWRV9QQ0FQX0ZJTkRBTExERVZTIDEK
fCAjZGVmaW5lIEhBVkVfUENBUF9EQVRBTElOS19WQUxfVE9fTkFNRSAxCnwgI2RlZmluZSBIQVZF
X1BDQVBfREFUQUxJTktfTkFNRV9UT19WQUwgMQp8ICNkZWZpbmUgSEFWRV9QQ0FQX0xJU1RfREFU
QUxJTktTIDEKfCAjZGVmaW5lIEhBVkVfUENBUF9TRVRfREFUQUxJTksgMQp8ICNkZWZpbmUgSEFW
RV9QQ0FQX0xJQl9WRVJTSU9OIDEKfCAjZGVmaW5lIEhBVkVfUENBUF9HRVRfU0VMRUNUQUJMRV9G
RCAxCnwgLyogZW5kIGNvbmZkZWZzLmguICAqLwp8IC8qIERlZmluZSBwY2FwX2ZyZWVfZGF0YWxp
bmtzIHRvIGFuIGlubm9jdW91cyB2YXJpYW50LCBpbiBjYXNlIDxsaW1pdHMuaD4gZGVjbGFyZXMg
cGNhcF9mcmVlX2RhdGFsaW5rcy4KfCAgICBGb3IgZXhhbXBsZSwgSFAtVVggMTFpIDxsaW1pdHMu
aD4gZGVjbGFyZXMgZ2V0dGltZW9mZGF5LiAgKi8KfCAjZGVmaW5lIHBjYXBfZnJlZV9kYXRhbGlu
a3MgaW5ub2N1b3VzX3BjYXBfZnJlZV9kYXRhbGlua3MKfCAKfCAvKiBTeXN0ZW0gaGVhZGVyIHRv
IGRlZmluZSBfX3N0dWIgbWFjcm9zIGFuZCBob3BlZnVsbHkgZmV3IHByb3RvdHlwZXMsCnwgICAg
IHdoaWNoIGNhbiBjb25mbGljdCB3aXRoIGNoYXIgcGNhcF9mcmVlX2RhdGFsaW5rcyAoKTsgYmVs
b3cuCnwgICAgIFByZWZlciA8bGltaXRzLmg+IHRvIDxhc3NlcnQuaD4gaWYgX19TVERDX18gaXMg
ZGVmaW5lZCwgc2luY2UKfCAgICAgPGxpbWl0cy5oPiBleGlzdHMgZXZlbiBvbiBmcmVlc3RhbmRp
bmcgY29tcGlsZXJzLiAgKi8KfCAKfCAjaWZkZWYgX19TVERDX18KfCAjIGluY2x1ZGUgPGxpbWl0
cy5oPgp8ICNlbHNlCnwgIyBpbmNsdWRlIDxhc3NlcnQuaD4KfCAjZW5kaWYKfCAKfCAjdW5kZWYg
cGNhcF9mcmVlX2RhdGFsaW5rcwp8IAp8IC8qIE92ZXJyaWRlIGFueSBHQ0MgaW50ZXJuYWwgcHJv
dG90eXBlIHRvIGF2b2lkIGFuIGVycm9yLgp8ICAgIFVzZSBjaGFyIGJlY2F1c2UgaW50IG1pZ2h0
IG1hdGNoIHRoZSByZXR1cm4gdHlwZSBvZiBhIEdDQwp8ICAgIGJ1aWx0aW4gYW5kIHRoZW4gaXRz
IGFyZ3VtZW50IHByb3RvdHlwZSB3b3VsZCBzdGlsbCBhcHBseS4gICovCnwgI2lmZGVmIF9fY3Bs
dXNwbHVzCnwgZXh0ZXJuICJDIgp8ICNlbmRpZgp8IGNoYXIgcGNhcF9mcmVlX2RhdGFsaW5rcyAo
KTsKfCAvKiBUaGUgR05VIEMgbGlicmFyeSBkZWZpbmVzIHRoaXMgZm9yIGZ1bmN0aW9ucyB3aGlj
aCBpdCBpbXBsZW1lbnRzCnwgICAgIHRvIGFsd2F5cyBmYWlsIHdpdGggRU5PU1lTLiAgU29tZSBm
dW5jdGlvbnMgYXJlIGFjdHVhbGx5IG5hbWVkCnwgICAgIHNvbWV0aGluZyBzdGFydGluZyB3aXRo
IF9fIGFuZCB0aGUgbm9ybWFsIG5hbWUgaXMgYW4gYWxpYXMuICAqLwp8ICNpZiBkZWZpbmVkIF9f
c3R1Yl9wY2FwX2ZyZWVfZGF0YWxpbmtzIHx8IGRlZmluZWQgX19zdHViX19fcGNhcF9mcmVlX2Rh
dGFsaW5rcwp8IGNob2tlIG1lCnwgI2VuZGlmCnwgCnwgaW50CnwgbWFpbiAoKQp8IHsKfCByZXR1
cm4gcGNhcF9mcmVlX2RhdGFsaW5rcyAoKTsKfCAgIDsKfCAgIHJldHVybiAwOwp8IH0KY29uZmln
dXJlOjE5MTgxOiByZXN1bHQ6IG5vCmNvbmZpZ3VyZToxOTIwMDogY2hlY2tpbmcgd2hldGhlciB0
byBidWlsZCBkdW1wY2FwCmNvbmZpZ3VyZToxOTIxNzogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjE5
MjM3OiBjaGVja2luZyB3aGV0aGVyIHRvIGJ1aWxkIHJhd3NoYXJrCmNvbmZpZ3VyZToxOTI1NDog
cmVzdWx0OiB5ZXMKY29uZmlndXJlOjE5MjczOiBjaGVja2luZyB3aGV0aGVyIHRvIHVzZSBsaWJw
Y2FwIHJlbW90ZSBjYXB0dXJpbmcgZmVhdHVyZQpjb25maWd1cmU6MTkyOTQ6IHJlc3VsdDogbm8K
Y29uZmlndXJlOjE5NTI0OiBjaGVja2luZyB3aGV0aGVyIHRvIHVzZSB6bGliIGZvciByZWFkaW5n
IGNvbXByZXNzZWQgY2FwdHVyZSBmaWxlcwpjb25maWd1cmU6MTk1NTY6IHJlc3VsdDogeWVzCmNv
bmZpZ3VyZToxOTYwMTogY2hlY2tpbmcgemxpYi5oIHVzYWJpbGl0eQpjb25maWd1cmU6MTk2MTg6
IHg4Nl82NC1wYy1saW51eC1nbnUtZ2NjIC1jIC1EX1VfPSJfX2F0dHJpYnV0ZV9fKCh1bnVzZWQp
KSIgLW1hcmNoPW5vY29uYSAtTzIgLXBpcGUgLVdhbGwgLVcgLVdkZWNsYXJhdGlvbi1hZnRlci1z
dGF0ZW1lbnQgLVdlbmRpZi1sYWJlbHMgLVdwb2ludGVyLWFyaXRoIC1Xbm8tcG9pbnRlci1zaWdu
IC1XYXJyYXktYm91bmRzIC1JL3Vzci9sb2NhbC9pbmNsdWRlIC1wdGhyZWFkIC1JL3Vzci9pbmNs
dWRlL2d0ay0yLjAgLUkvdXNyL2xpYjY0L2d0ay0yLjAvaW5jbHVkZSAtSS91c3IvaW5jbHVkZS9h
dGstMS4wIC1JL3Vzci9pbmNsdWRlL2NhaXJvIC1JL3Vzci9pbmNsdWRlL3BhbmdvLTEuMCAtSS91
c3IvaW5jbHVkZS9nbGliLTIuMCAtSS91c3IvbGliNjQvZ2xpYi0yLjAvaW5jbHVkZSAtSS91c3Iv
aW5jbHVkZS9waXhtYW4tMSAtSS91c3IvaW5jbHVkZS9mcmVldHlwZTIgLUkvdXNyL2luY2x1ZGUv
bGlicG5nMTIgICAgLUkvdXNyL2xvY2FsL2luY2x1ZGUgY29uZnRlc3QuYyA+JjUKY29uZmlndXJl
OjE5NjI1OiAkPyA9IDAKY29uZmlndXJlOjE5NjM5OiByZXN1bHQ6IHllcwpjb25maWd1cmU6MTk2
NDM6IGNoZWNraW5nIHpsaWIuaCBwcmVzZW5jZQpjb25maWd1cmU6MTk2NTg6IHg4Nl82NC1wYy1s
aW51eC1nbnUtZ2NjIC1FICAtSS91c3IvbG9jYWwvaW5jbHVkZSBjb25mdGVzdC5jCmNvbmZpZ3Vy
ZToxOTY2NTogJD8gPSAwCmNvbmZpZ3VyZToxOTY3OTogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjE5
NzA3OiBjaGVja2luZyBmb3IgemxpYi5oCmNvbmZpZ3VyZToxOTcxNDogcmVzdWx0OiB5ZXMKY29u
ZmlndXJlOjE5NzgzOiBjaGVja2luZyBmb3IgZ3pnZXRzIGluIC1segpjb25maWd1cmU6MTk4MTg6
IHg4Nl82NC1wYy1saW51eC1nbnUtZ2NjIC1vIGNvbmZ0ZXN0IC1EX1VfPSJfX2F0dHJpYnV0ZV9f
KCh1bnVzZWQpKSIgLW1hcmNoPW5vY29uYSAtTzIgLXBpcGUgLVdhbGwgLVcgLVdkZWNsYXJhdGlv
bi1hZnRlci1zdGF0ZW1lbnQgLVdlbmRpZi1sYWJlbHMgLVdwb2ludGVyLWFyaXRoIC1Xbm8tcG9p
bnRlci1zaWduIC1XYXJyYXktYm91bmRzIC1JL3Vzci9sb2NhbC9pbmNsdWRlIC1wdGhyZWFkIC1J
L3Vzci9pbmNsdWRlL2d0ay0yLjAgLUkvdXNyL2xpYjY0L2d0ay0yLjAvaW5jbHVkZSAtSS91c3Iv
aW5jbHVkZS9hdGstMS4wIC1JL3Vzci9pbmNsdWRlL2NhaXJvIC1JL3Vzci9pbmNsdWRlL3Bhbmdv
LTEuMCAtSS91c3IvaW5jbHVkZS9nbGliLTIuMCAtSS91c3IvbGliNjQvZ2xpYi0yLjAvaW5jbHVk
ZSAtSS91c3IvaW5jbHVkZS9waXhtYW4tMSAtSS91c3IvaW5jbHVkZS9mcmVldHlwZTIgLUkvdXNy
L2luY2x1ZGUvbGlicG5nMTIgICAgLUkvdXNyL2xvY2FsL2luY2x1ZGUgLVdsLC1PMSAtTC91c3Iv
bG9jYWwvbGliIGNvbmZ0ZXN0LmMgLWx6ICAgPiY1CmNvbmZpZ3VyZToxOTgyNTogJD8gPSAwCmNv
bmZpZ3VyZToxOTg0NjogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjE5OTE4OiBjaGVja2luZyBmb3Ig
Z3pnZXRzIG1pc3Npbmcgd2hlbiBsaW5raW5nIHdpdGggWDExCmNvbmZpZ3VyZToxOTk0ODogeDg2
XzY0LXBjLWxpbnV4LWdudS1nY2MgLW8gY29uZnRlc3QgLURfVV89Il9fYXR0cmlidXRlX18oKHVu
dXNlZCkpIiAtbWFyY2g9bm9jb25hIC1PMiAtcGlwZSAtV2FsbCAtVyAtV2RlY2xhcmF0aW9uLWFm
dGVyLXN0YXRlbWVudCAtV2VuZGlmLWxhYmVscyAtV3BvaW50ZXItYXJpdGggLVduby1wb2ludGVy
LXNpZ24gLVdhcnJheS1ib3VuZHMgLUkvdXNyL2xvY2FsL2luY2x1ZGUgLXB0aHJlYWQgLUkvdXNy
L2luY2x1ZGUvZ3RrLTIuMCAtSS91c3IvbGliNjQvZ3RrLTIuMC9pbmNsdWRlIC1JL3Vzci9pbmNs
dWRlL2F0ay0xLjAgLUkvdXNyL2luY2x1ZGUvY2Fpcm8gLUkvdXNyL2luY2x1ZGUvcGFuZ28tMS4w
IC1JL3Vzci9pbmNsdWRlL2dsaWItMi4wIC1JL3Vzci9saWI2NC9nbGliLTIuMC9pbmNsdWRlIC1J
L3Vzci9pbmNsdWRlL3BpeG1hbi0xIC1JL3Vzci9pbmNsdWRlL2ZyZWV0eXBlMiAtSS91c3IvaW5j
bHVkZS9saWJwbmcxMiAgIC1wdGhyZWFkIC1JL3Vzci9pbmNsdWRlL2d0ay0yLjAgLUkvdXNyL2xp
YjY0L2d0ay0yLjAvaW5jbHVkZSAtSS91c3IvaW5jbHVkZS9hdGstMS4wIC1JL3Vzci9pbmNsdWRl
L2NhaXJvIC1JL3Vzci9pbmNsdWRlL3BhbmdvLTEuMCAtSS91c3IvaW5jbHVkZS9nbGliLTIuMCAt
SS91c3IvbGliNjQvZ2xpYi0yLjAvaW5jbHVkZSAtSS91c3IvaW5jbHVkZS9waXhtYW4tMSAtSS91
c3IvaW5jbHVkZS9mcmVldHlwZTIgLUkvdXNyL2luY2x1ZGUvbGlicG5nMTIgICAgLUkvdXNyL2xv
Y2FsL2luY2x1ZGUgLVdsLC1PMSAtTC91c3IvbG9jYWwvbGliIGNvbmZ0ZXN0LmMgLXB0aHJlYWQg
LWxndGsteDExLTIuMCAtbGdkay14MTEtMi4wIC1sYXRrLTEuMCAtbGdpby0yLjAgLWxwYW5nb2Z0
Mi0xLjAgLWxnZGtfcGl4YnVmLTIuMCAtbHBhbmdvY2Fpcm8tMS4wIC1sY2Fpcm8gLWxwYW5nby0x
LjAgLWxmcmVldHlwZSAtbHogLWxmb250Y29uZmlnIC1sZ29iamVjdC0yLjAgLWxnbW9kdWxlLTIu
MCAtbGd0aHJlYWQtMi4wIC1scnQgLWxnbGliLTIuMCAgIC1seiAtbHogID4mNQpjb25maWd1cmU6
MTk5NTU6ICQ/ID0gMApjb25maWd1cmU6MTk5NjM6IHJlc3VsdDogbm8KY29uZmlndXJlOjE5OTky
OiBjaGVja2luZyB3aGV0aGVyIHRvIHVzZSBsaWJwY3JlIGZvciByZWd1bGFyIGV4cHJlc3Npb25z
IGluIGRmaWx0ZXJzCmNvbmZpZ3VyZToyMDAyNDogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjIwMDY1
OiBjaGVja2luZyBwY3JlLmggdXNhYmlsaXR5CmNvbmZpZ3VyZToyMDA4MjogeDg2XzY0LXBjLWxp
bnV4LWdudS1nY2MgLWMgLURfVV89Il9fYXR0cmlidXRlX18oKHVudXNlZCkpIiAtbWFyY2g9bm9j
b25hIC1PMiAtcGlwZSAtV2FsbCAtVyAtV2RlY2xhcmF0aW9uLWFmdGVyLXN0YXRlbWVudCAtV2Vu
ZGlmLWxhYmVscyAtV3BvaW50ZXItYXJpdGggLVduby1wb2ludGVyLXNpZ24gLVdhcnJheS1ib3Vu
ZHMgLUkvdXNyL2xvY2FsL2luY2x1ZGUgLXB0aHJlYWQgLUkvdXNyL2luY2x1ZGUvZ3RrLTIuMCAt
SS91c3IvbGliNjQvZ3RrLTIuMC9pbmNsdWRlIC1JL3Vzci9pbmNsdWRlL2F0ay0xLjAgLUkvdXNy
L2luY2x1ZGUvY2Fpcm8gLUkvdXNyL2luY2x1ZGUvcGFuZ28tMS4wIC1JL3Vzci9pbmNsdWRlL2ds
aWItMi4wIC1JL3Vzci9saWI2NC9nbGliLTIuMC9pbmNsdWRlIC1JL3Vzci9pbmNsdWRlL3BpeG1h
bi0xIC1JL3Vzci9pbmNsdWRlL2ZyZWV0eXBlMiAtSS91c3IvaW5jbHVkZS9saWJwbmcxMiAgICAt
SS91c3IvbG9jYWwvaW5jbHVkZSBjb25mdGVzdC5jID4mNQpjb25maWd1cmU6MjAwODk6ICQ/ID0g
MApjb25maWd1cmU6MjAxMDM6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZToyMDEwNzogY2hlY2tpbmcg
cGNyZS5oIHByZXNlbmNlCmNvbmZpZ3VyZToyMDEyMjogeDg2XzY0LXBjLWxpbnV4LWdudS1nY2Mg
LUUgIC1JL3Vzci9sb2NhbC9pbmNsdWRlIGNvbmZ0ZXN0LmMKY29uZmlndXJlOjIwMTI5OiAkPyA9
IDAKY29uZmlndXJlOjIwMTQzOiByZXN1bHQ6IHllcwpjb25maWd1cmU6MjAxNzE6IGNoZWNraW5n
IGZvciBwY3JlLmgKY29uZmlndXJlOjIwMTc4OiByZXN1bHQ6IHllcwpjb25maWd1cmU6MjAyMjk6
IGNoZWNraW5nIGZvciBwY3JlX2NvbXBpbGUgaW4gLWxwY3JlCmNvbmZpZ3VyZToyMDI2NDogeDg2
XzY0LXBjLWxpbnV4LWdudS1nY2MgLW8gY29uZnRlc3QgLURfVV89Il9fYXR0cmlidXRlX18oKHVu
dXNlZCkpIiAtbWFyY2g9bm9jb25hIC1PMiAtcGlwZSAtV2FsbCAtVyAtV2RlY2xhcmF0aW9uLWFm
dGVyLXN0YXRlbWVudCAtV2VuZGlmLWxhYmVscyAtV3BvaW50ZXItYXJpdGggLVduby1wb2ludGVy
LXNpZ24gLVdhcnJheS1ib3VuZHMgLUkvdXNyL2xvY2FsL2luY2x1ZGUgLXB0aHJlYWQgLUkvdXNy
L2luY2x1ZGUvZ3RrLTIuMCAtSS91c3IvbGliNjQvZ3RrLTIuMC9pbmNsdWRlIC1JL3Vzci9pbmNs
dWRlL2F0ay0xLjAgLUkvdXNyL2luY2x1ZGUvY2Fpcm8gLUkvdXNyL2luY2x1ZGUvcGFuZ28tMS4w
IC1JL3Vzci9pbmNsdWRlL2dsaWItMi4wIC1JL3Vzci9saWI2NC9nbGliLTIuMC9pbmNsdWRlIC1J
L3Vzci9pbmNsdWRlL3BpeG1hbi0xIC1JL3Vzci9pbmNsdWRlL2ZyZWV0eXBlMiAtSS91c3IvaW5j
bHVkZS9saWJwbmcxMiAgICAtSS91c3IvbG9jYWwvaW5jbHVkZSAtV2wsLU8xIC1ML3Vzci9sb2Nh
bC9saWIgY29uZnRlc3QuYyAtbHBjcmUgIC1seiAgPiY1CmNvbmZpZ3VyZToyMDI3MTogJD8gPSAw
CmNvbmZpZ3VyZToyMDI5MjogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjIwMzQzOiBjaGVja2luZyB3
aGV0aGVyIHRvIHVzZSBsaWJsdWEgZm9yIHRoZSBsdWEgc2NyaXB0aW5nIHBsdWdpbgpjb25maWd1
cmU6MjAzNzU6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZToyMDQzNTogY2hlY2tpbmcgbHVhLmggdXNh
YmlsaXR5CmNvbmZpZ3VyZToyMDQ1MjogeDg2XzY0LXBjLWxpbnV4LWdudS1nY2MgLWMgLURfVV89
Il9fYXR0cmlidXRlX18oKHVudXNlZCkpIiAtbWFyY2g9bm9jb25hIC1PMiAtcGlwZSAtV2FsbCAt
VyAtV2RlY2xhcmF0aW9uLWFmdGVyLXN0YXRlbWVudCAtV2VuZGlmLWxhYmVscyAtV3BvaW50ZXIt
YXJpdGggLVduby1wb2ludGVyLXNpZ24gLVdhcnJheS1ib3VuZHMgLUkvdXNyL2xvY2FsL2luY2x1
ZGUgLXB0aHJlYWQgLUkvdXNyL2luY2x1ZGUvZ3RrLTIuMCAtSS91c3IvbGliNjQvZ3RrLTIuMC9p
bmNsdWRlIC1JL3Vzci9pbmNsdWRlL2F0ay0xLjAgLUkvdXNyL2luY2x1ZGUvY2Fpcm8gLUkvdXNy
L2luY2x1ZGUvcGFuZ28tMS4wIC1JL3Vzci9pbmNsdWRlL2dsaWItMi4wIC1JL3Vzci9saWI2NC9n
bGliLTIuMC9pbmNsdWRlIC1JL3Vzci9pbmNsdWRlL3BpeG1hbi0xIC1JL3Vzci9pbmNsdWRlL2Zy
ZWV0eXBlMiAtSS91c3IvaW5jbHVkZS9saWJwbmcxMiAgICAtSS91c3IvbG9jYWwvaW5jbHVkZSBj
b25mdGVzdC5jID4mNQpjb25maWd1cmU6MjA0NTk6ICQ/ID0gMApjb25maWd1cmU6MjA0NzM6IHJl
c3VsdDogeWVzCmNvbmZpZ3VyZToyMDQ3NzogY2hlY2tpbmcgbHVhLmggcHJlc2VuY2UKY29uZmln
dXJlOjIwNDkyOiB4ODZfNjQtcGMtbGludXgtZ251LWdjYyAtRSAgLUkvdXNyL2xvY2FsL2luY2x1
ZGUgY29uZnRlc3QuYwpjb25maWd1cmU6MjA0OTk6ICQ/ID0gMApjb25maWd1cmU6MjA1MTM6IHJl
c3VsdDogeWVzCmNvbmZpZ3VyZToyMDU0MTogY2hlY2tpbmcgZm9yIGx1YS5oCmNvbmZpZ3VyZToy
MDU1MDogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjIwNDM1OiBjaGVja2luZyBsdWFsaWIuaCB1c2Fi
aWxpdHkKY29uZmlndXJlOjIwNDUyOiB4ODZfNjQtcGMtbGludXgtZ251LWdjYyAtYyAtRF9VXz0i
X19hdHRyaWJ1dGVfXygodW51c2VkKSkiIC1tYXJjaD1ub2NvbmEgLU8yIC1waXBlIC1XYWxsIC1X
IC1XZGVjbGFyYXRpb24tYWZ0ZXItc3RhdGVtZW50IC1XZW5kaWYtbGFiZWxzIC1XcG9pbnRlci1h
cml0aCAtV25vLXBvaW50ZXItc2lnbiAtV2FycmF5LWJvdW5kcyAtSS91c3IvbG9jYWwvaW5jbHVk
ZSAtcHRocmVhZCAtSS91c3IvaW5jbHVkZS9ndGstMi4wIC1JL3Vzci9saWI2NC9ndGstMi4wL2lu
Y2x1ZGUgLUkvdXNyL2luY2x1ZGUvYXRrLTEuMCAtSS91c3IvaW5jbHVkZS9jYWlybyAtSS91c3Iv
aW5jbHVkZS9wYW5nby0xLjAgLUkvdXNyL2luY2x1ZGUvZ2xpYi0yLjAgLUkvdXNyL2xpYjY0L2ds
aWItMi4wL2luY2x1ZGUgLUkvdXNyL2luY2x1ZGUvcGl4bWFuLTEgLUkvdXNyL2luY2x1ZGUvZnJl
ZXR5cGUyIC1JL3Vzci9pbmNsdWRlL2xpYnBuZzEyICAgIC1JL3Vzci9sb2NhbC9pbmNsdWRlIGNv
bmZ0ZXN0LmMgPiY1CmNvbmZpZ3VyZToyMDQ1OTogJD8gPSAwCmNvbmZpZ3VyZToyMDQ3MzogcmVz
dWx0OiB5ZXMKY29uZmlndXJlOjIwNDc3OiBjaGVja2luZyBsdWFsaWIuaCBwcmVzZW5jZQpjb25m
aWd1cmU6MjA0OTI6IHg4Nl82NC1wYy1saW51eC1nbnUtZ2NjIC1FICAtSS91c3IvbG9jYWwvaW5j
bHVkZSBjb25mdGVzdC5jCmNvbmZpZ3VyZToyMDQ5OTogJD8gPSAwCmNvbmZpZ3VyZToyMDUxMzog
cmVzdWx0OiB5ZXMKY29uZmlndXJlOjIwNTQxOiBjaGVja2luZyBmb3IgbHVhbGliLmgKY29uZmln
dXJlOjIwNTUwOiByZXN1bHQ6IHllcwpjb25maWd1cmU6MjA0MzU6IGNoZWNraW5nIGxhdXhsaWIu
aCB1c2FiaWxpdHkKY29uZmlndXJlOjIwNDUyOiB4ODZfNjQtcGMtbGludXgtZ251LWdjYyAtYyAt
RF9VXz0iX19hdHRyaWJ1dGVfXygodW51c2VkKSkiIC1tYXJjaD1ub2NvbmEgLU8yIC1waXBlIC1X
YWxsIC1XIC1XZGVjbGFyYXRpb24tYWZ0ZXItc3RhdGVtZW50IC1XZW5kaWYtbGFiZWxzIC1XcG9p
bnRlci1hcml0aCAtV25vLXBvaW50ZXItc2lnbiAtV2FycmF5LWJvdW5kcyAtSS91c3IvbG9jYWwv
aW5jbHVkZSAtcHRocmVhZCAtSS91c3IvaW5jbHVkZS9ndGstMi4wIC1JL3Vzci9saWI2NC9ndGst
Mi4wL2luY2x1ZGUgLUkvdXNyL2luY2x1ZGUvYXRrLTEuMCAtSS91c3IvaW5jbHVkZS9jYWlybyAt
SS91c3IvaW5jbHVkZS9wYW5nby0xLjAgLUkvdXNyL2luY2x1ZGUvZ2xpYi0yLjAgLUkvdXNyL2xp
YjY0L2dsaWItMi4wL2luY2x1ZGUgLUkvdXNyL2luY2x1ZGUvcGl4bWFuLTEgLUkvdXNyL2luY2x1
ZGUvZnJlZXR5cGUyIC1JL3Vzci9pbmNsdWRlL2xpYnBuZzEyICAgIC1JL3Vzci9sb2NhbC9pbmNs
dWRlIGNvbmZ0ZXN0LmMgPiY1CmNvbmZpZ3VyZToyMDQ1OTogJD8gPSAwCmNvbmZpZ3VyZToyMDQ3
MzogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjIwNDc3OiBjaGVja2luZyBsYXV4bGliLmggcHJlc2Vu
Y2UKY29uZmlndXJlOjIwNDkyOiB4ODZfNjQtcGMtbGludXgtZ251LWdjYyAtRSAgLUkvdXNyL2xv
Y2FsL2luY2x1ZGUgY29uZnRlc3QuYwpjb25maWd1cmU6MjA0OTk6ICQ/ID0gMApjb25maWd1cmU6
MjA1MTM6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZToyMDU0MTogY2hlY2tpbmcgZm9yIGxhdXhsaWIu
aApjb25maWd1cmU6MjA1NTA6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZToyMDc3MzogY2hlY2tpbmcg
Zm9yIGx1YV9jYWxsIGluIC1sbHVhCmNvbmZpZ3VyZToyMDgwODogeDg2XzY0LXBjLWxpbnV4LWdu
dS1nY2MgLW8gY29uZnRlc3QgLURfVV89Il9fYXR0cmlidXRlX18oKHVudXNlZCkpIiAtbWFyY2g9
bm9jb25hIC1PMiAtcGlwZSAtV2FsbCAtVyAtV2RlY2xhcmF0aW9uLWFmdGVyLXN0YXRlbWVudCAt
V2VuZGlmLWxhYmVscyAtV3BvaW50ZXItYXJpdGggLVduby1wb2ludGVyLXNpZ24gLVdhcnJheS1i
b3VuZHMgLUkvdXNyL2xvY2FsL2luY2x1ZGUgLXB0aHJlYWQgLUkvdXNyL2luY2x1ZGUvZ3RrLTIu
MCAtSS91c3IvbGliNjQvZ3RrLTIuMC9pbmNsdWRlIC1JL3Vzci9pbmNsdWRlL2F0ay0xLjAgLUkv
dXNyL2luY2x1ZGUvY2Fpcm8gLUkvdXNyL2luY2x1ZGUvcGFuZ28tMS4wIC1JL3Vzci9pbmNsdWRl
L2dsaWItMi4wIC1JL3Vzci9saWI2NC9nbGliLTIuMC9pbmNsdWRlIC1JL3Vzci9pbmNsdWRlL3Bp
eG1hbi0xIC1JL3Vzci9pbmNsdWRlL2ZyZWV0eXBlMiAtSS91c3IvaW5jbHVkZS9saWJwbmcxMiAg
ICAtSS91c3IvbG9jYWwvaW5jbHVkZSAtV2wsLU8xIC1ML3Vzci9sb2NhbC9saWIgY29uZnRlc3Qu
YyAtbGx1YSAgLWx6ICAtbGx1YSAtbG0gIC1sbSA+JjUKL3Zhci90bXAvcG9ydGFnZS9uZXQtYW5h
bHl6ZXIvd2lyZXNoYXJrLTEuMC4zL3RlbXAvY2NOb2dnWkgubzogSW4gZnVuY3Rpb24gYG1haW4n
Ogpjb25mdGVzdC5jOigudGV4dCsweDcpOiB1bmRlZmluZWQgcmVmZXJlbmNlIHRvIGBsdWFfY2Fs
bCcKL3Vzci9saWIvZ2NjL3g4Nl82NC1wYy1saW51eC1nbnUvNC4zLjIvLi4vLi4vLi4vLi4vbGli
NjQvbGlibHVhLnNvOiB1bmRlZmluZWQgcmVmZXJlbmNlIHRvIGBfX2N4YV9iZWdpbl9jYXRjaCcK
L3Vzci9saWIvZ2NjL3g4Nl82NC1wYy1saW51eC1nbnUvNC4zLjIvLi4vLi4vLi4vLi4vbGliNjQv
bGlibHVhLnNvOiB1bmRlZmluZWQgcmVmZXJlbmNlIHRvIGBfX2N4YV9hbGxvY2F0ZV9leGNlcHRp
b24nCi91c3IvbGliL2djYy94ODZfNjQtcGMtbGludXgtZ251LzQuMy4yLy4uLy4uLy4uLy4uL2xp
YjY0L2xpYmx1YS5zbzogdW5kZWZpbmVkIHJlZmVyZW5jZSB0byBgX19neHhfcGVyc29uYWxpdHlf
djAnCi91c3IvbGliL2djYy94ODZfNjQtcGMtbGludXgtZ251LzQuMy4yLy4uLy4uLy4uLy4uL2xp
YjY0L2xpYmx1YS5zbzogdW5kZWZpbmVkIHJlZmVyZW5jZSB0byBgX19jeGFfdGhyb3cnCi91c3Iv
bGliL2djYy94ODZfNjQtcGMtbGludXgtZ251LzQuMy4yLy4uLy4uLy4uLy4uL2xpYjY0L2xpYmx1
YS5zbzogdW5kZWZpbmVkIHJlZmVyZW5jZSB0byBgX19jeGFfZW5kX2NhdGNoJwovdXNyL2xpYi9n
Y2MveDg2XzY0LXBjLWxpbnV4LWdudS80LjMuMi8uLi8uLi8uLi8uLi9saWI2NC9saWJsdWEuc286
IHVuZGVmaW5lZCByZWZlcmVuY2UgdG8gYHZ0YWJsZSBmb3IgX19jeHhhYml2MTo6X19jbGFzc190
eXBlX2luZm8nCi91c3IvbGliL2djYy94ODZfNjQtcGMtbGludXgtZ251LzQuMy4yLy4uLy4uLy4u
Ly4uL2xpYjY0L2xpYmx1YS5zbzogdW5kZWZpbmVkIHJlZmVyZW5jZSB0byBgdnRhYmxlIGZvciBf
X2N4eGFiaXYxOjpfX3BvaW50ZXJfdHlwZV9pbmZvJwpjb2xsZWN0MjogbGQgcmV0dXJuZWQgMSBl
eGl0IHN0YXR1cwpjb25maWd1cmU6MjA4MTU6ICQ/ID0gMQpjb25maWd1cmU6IGZhaWxlZCBwcm9n
cmFtIHdhczoKfCAvKiBjb25mZGVmcy5oLiAgKi8KfCAjZGVmaW5lIFBBQ0tBR0VfTkFNRSAiIgp8
ICNkZWZpbmUgUEFDS0FHRV9UQVJOQU1FICIiCnwgI2RlZmluZSBQQUNLQUdFX1ZFUlNJT04gIiIK
fCAjZGVmaW5lIFBBQ0tBR0VfU1RSSU5HICIiCnwgI2RlZmluZSBQQUNLQUdFX0JVR1JFUE9SVCAi
Igp8ICNkZWZpbmUgUEFDS0FHRSAid2lyZXNoYXJrIgp8ICNkZWZpbmUgVkVSU0lPTiAiMS4wLjMi
CnwgI2RlZmluZSBTVERDX0hFQURFUlMgMQp8ICNkZWZpbmUgSEFWRV9TWVNfVFlQRVNfSCAxCnwg
I2RlZmluZSBIQVZFX1NZU19TVEFUX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwgI2Rl
ZmluZSBIQVZFX1NUUklOR19IIDEKfCAjZGVmaW5lIEhBVkVfTUVNT1JZX0ggMQp8ICNkZWZpbmUg
SEFWRV9TVFJJTkdTX0ggMQp8ICNkZWZpbmUgSEFWRV9JTlRUWVBFU19IIDEKfCAjZGVmaW5lIEhB
VkVfU1RESU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9VTklTVERfSCAxCnwgI2RlZmluZSBIQVZFX0RM
RkNOX0ggMQp8ICNkZWZpbmUgTFRfT0JKRElSICIubGlicy8iCnwgI2RlZmluZSBZWVRFWFRfUE9J
TlRFUiAxCnwgI2RlZmluZSBIVE1MX1ZJRVdFUiAieGRnLW9wZW4iCnwgI2RlZmluZSBIQVZFX0xJ
QkdOVVRMUyAxCnwgI2RlZmluZSBEQVRBRklMRV9ESVIgIi91c3Ivc2hhcmUvd2lyZXNoYXJrIgp8
ICNkZWZpbmUgSEFWRV9JTlRUWVBFU19IIDEKfCAjZGVmaW5lIElOVFRZUEVTX0hfREVGSU5FU19G
T1JNQVRTIC8qKi8KfCAjZGVmaW5lIEhBVkVfTElCUENBUCAxCnwgI2RlZmluZSBIQVZFX1BDQVBf
VkVSU0lPTiAxCnwgI2RlZmluZSBIQVZFX1BDQVBfT1BFTl9ERUFEIDEKfCAjZGVmaW5lIEhBVkVf
UENBUF9GUkVFQ09ERSAxCnwgI2RlZmluZSBIQVZFX1BDQVBfQlJFQUtMT09QIDEKfCAjZGVmaW5l
IEhBVkVfUENBUF9GSU5EQUxMREVWUyAxCnwgI2RlZmluZSBIQVZFX1BDQVBfREFUQUxJTktfVkFM
X1RPX05BTUUgMQp8ICNkZWZpbmUgSEFWRV9QQ0FQX0RBVEFMSU5LX05BTUVfVE9fVkFMIDEKfCAj
ZGVmaW5lIEhBVkVfUENBUF9MSVNUX0RBVEFMSU5LUyAxCnwgI2RlZmluZSBIQVZFX1BDQVBfU0VU
X0RBVEFMSU5LIDEKfCAjZGVmaW5lIEhBVkVfUENBUF9MSUJfVkVSU0lPTiAxCnwgI2RlZmluZSBI
QVZFX1BDQVBfR0VUX1NFTEVDVEFCTEVfRkQgMQp8ICNkZWZpbmUgSEFWRV9MSUJaIDEKfCAjZGVm
aW5lIEhBVkVfTElCUENSRSAxCnwgI2RlZmluZSBIQVZFX0xVQV9IIDEKfCAjZGVmaW5lIEhBVkVf
TFVBTElCX0ggMQp8ICNkZWZpbmUgSEFWRV9MQVVYTElCX0ggMQp8IC8qIGVuZCBjb25mZGVmcy5o
LiAgKi8KfCAKfCAvKiBPdmVycmlkZSBhbnkgR0NDIGludGVybmFsIHByb3RvdHlwZSB0byBhdm9p
ZCBhbiBlcnJvci4KfCAgICBVc2UgY2hhciBiZWNhdXNlIGludCBtaWdodCBtYXRjaCB0aGUgcmV0
dXJuIHR5cGUgb2YgYSBHQ0MKfCAgICBidWlsdGluIGFuZCB0aGVuIGl0cyBhcmd1bWVudCBwcm90
b3R5cGUgd291bGQgc3RpbGwgYXBwbHkuICAqLwp8ICNpZmRlZiBfX2NwbHVzcGx1cwp8IGV4dGVy
biAiQyIKfCAjZW5kaWYKfCBjaGFyIGx1YV9jYWxsICgpOwp8IGludAp8IG1haW4gKCkKfCB7Cnwg
cmV0dXJuIGx1YV9jYWxsICgpOwp8ICAgOwp8ICAgcmV0dXJuIDA7CnwgfQpjb25maWd1cmU6MjA4
MzY6IHJlc3VsdDogbm8KY29uZmlndXJlOjIxMDU2OiBjaGVja2luZyBmb3IgbHVhTF9yZWdpc3Rl
ciBpbiAtbGx1YTUuMQpjb25maWd1cmU6MjEwOTE6IHg4Nl82NC1wYy1saW51eC1nbnUtZ2NjIC1v
IGNvbmZ0ZXN0IC1EX1VfPSJfX2F0dHJpYnV0ZV9fKCh1bnVzZWQpKSIgLW1hcmNoPW5vY29uYSAt
TzIgLXBpcGUgLVdhbGwgLVcgLVdkZWNsYXJhdGlvbi1hZnRlci1zdGF0ZW1lbnQgLVdlbmRpZi1s
YWJlbHMgLVdwb2ludGVyLWFyaXRoIC1Xbm8tcG9pbnRlci1zaWduIC1XYXJyYXktYm91bmRzIC1J
L3Vzci9sb2NhbC9pbmNsdWRlIC1wdGhyZWFkIC1JL3Vzci9pbmNsdWRlL2d0ay0yLjAgLUkvdXNy
L2xpYjY0L2d0ay0yLjAvaW5jbHVkZSAtSS91c3IvaW5jbHVkZS9hdGstMS4wIC1JL3Vzci9pbmNs
dWRlL2NhaXJvIC1JL3Vzci9pbmNsdWRlL3BhbmdvLTEuMCAtSS91c3IvaW5jbHVkZS9nbGliLTIu
MCAtSS91c3IvbGliNjQvZ2xpYi0yLjAvaW5jbHVkZSAtSS91c3IvaW5jbHVkZS9waXhtYW4tMSAt
SS91c3IvaW5jbHVkZS9mcmVldHlwZTIgLUkvdXNyL2luY2x1ZGUvbGlicG5nMTIgICAgLUkvdXNy
L2xvY2FsL2luY2x1ZGUgLVdsLC1PMSAtTC91c3IvbG9jYWwvbGliIGNvbmZ0ZXN0LmMgLWxsdWE1
LjEgIC1seiAgLWxsdWE1LjEgLWxtID4mNQovdXNyL2xpYi9nY2MveDg2XzY0LXBjLWxpbnV4LWdu
dS80LjMuMi8uLi8uLi8uLi8uLi94ODZfNjQtcGMtbGludXgtZ251L2Jpbi9sZDogY2Fubm90IGZp
bmQgLWxsdWE1LjEKY29sbGVjdDI6IGxkIHJldHVybmVkIDEgZXhpdCBzdGF0dXMKY29uZmlndXJl
OjIxMDk4OiAkPyA9IDEKY29uZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6CnwgLyogY29uZmRl
ZnMuaC4gICovCnwgI2RlZmluZSBQQUNLQUdFX05BTUUgIiIKfCAjZGVmaW5lIFBBQ0tBR0VfVEFS
TkFNRSAiIgp8ICNkZWZpbmUgUEFDS0FHRV9WRVJTSU9OICIiCnwgI2RlZmluZSBQQUNLQUdFX1NU
UklORyAiIgp8ICNkZWZpbmUgUEFDS0FHRV9CVUdSRVBPUlQgIiIKfCAjZGVmaW5lIFBBQ0tBR0Ug
IndpcmVzaGFyayIKfCAjZGVmaW5lIFZFUlNJT04gIjEuMC4zIgp8ICNkZWZpbmUgU1REQ19IRUFE
RVJTIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RB
VF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RETElCX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdfSCAx
CnwgI2RlZmluZSBIQVZFX01FTU9SWV9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HU19IIDEKfCAj
ZGVmaW5lIEhBVkVfSU5UVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NURElOVF9IIDEKfCAjZGVm
aW5lIEhBVkVfVU5JU1REX0ggMQp8ICNkZWZpbmUgSEFWRV9ETEZDTl9IIDEKfCAjZGVmaW5lIExU
X09CSkRJUiAiLmxpYnMvIgp8ICNkZWZpbmUgWVlURVhUX1BPSU5URVIgMQp8ICNkZWZpbmUgSFRN
TF9WSUVXRVIgInhkZy1vcGVuIgp8ICNkZWZpbmUgSEFWRV9MSUJHTlVUTFMgMQp8ICNkZWZpbmUg
REFUQUZJTEVfRElSICIvdXNyL3NoYXJlL3dpcmVzaGFyayIKfCAjZGVmaW5lIEhBVkVfSU5UVFlQ
RVNfSCAxCnwgI2RlZmluZSBJTlRUWVBFU19IX0RFRklORVNfRk9STUFUUyAvKiovCnwgI2RlZmlu
ZSBIQVZFX0xJQlBDQVAgMQp8ICNkZWZpbmUgSEFWRV9QQ0FQX1ZFUlNJT04gMQp8ICNkZWZpbmUg
SEFWRV9QQ0FQX09QRU5fREVBRCAxCnwgI2RlZmluZSBIQVZFX1BDQVBfRlJFRUNPREUgMQp8ICNk
ZWZpbmUgSEFWRV9QQ0FQX0JSRUFLTE9PUCAxCnwgI2RlZmluZSBIQVZFX1BDQVBfRklOREFMTERF
VlMgMQp8ICNkZWZpbmUgSEFWRV9QQ0FQX0RBVEFMSU5LX1ZBTF9UT19OQU1FIDEKfCAjZGVmaW5l
IEhBVkVfUENBUF9EQVRBTElOS19OQU1FX1RPX1ZBTCAxCnwgI2RlZmluZSBIQVZFX1BDQVBfTElT
VF9EQVRBTElOS1MgMQp8ICNkZWZpbmUgSEFWRV9QQ0FQX1NFVF9EQVRBTElOSyAxCnwgI2RlZmlu
ZSBIQVZFX1BDQVBfTElCX1ZFUlNJT04gMQp8ICNkZWZpbmUgSEFWRV9QQ0FQX0dFVF9TRUxFQ1RB
QkxFX0ZEIDEKfCAjZGVmaW5lIEhBVkVfTElCWiAxCnwgI2RlZmluZSBIQVZFX0xJQlBDUkUgMQp8
ICNkZWZpbmUgSEFWRV9MVUFfSCAxCnwgI2RlZmluZSBIQVZFX0xVQUxJQl9IIDEKfCAjZGVmaW5l
IEhBVkVfTEFVWExJQl9IIDEKfCAvKiBlbmQgY29uZmRlZnMuaC4gICovCnwgCnwgLyogT3ZlcnJp
ZGUgYW55IEdDQyBpbnRlcm5hbCBwcm90b3R5cGUgdG8gYXZvaWQgYW4gZXJyb3IuCnwgICAgVXNl
IGNoYXIgYmVjYXVzZSBpbnQgbWlnaHQgbWF0Y2ggdGhlIHJldHVybiB0eXBlIG9mIGEgR0NDCnwg
ICAgYnVpbHRpbiBhbmQgdGhlbiBpdHMgYXJndW1lbnQgcHJvdG90eXBlIHdvdWxkIHN0aWxsIGFw
cGx5LiAgKi8KfCAjaWZkZWYgX19jcGx1c3BsdXMKfCBleHRlcm4gIkMiCnwgI2VuZGlmCnwgY2hh
ciBsdWFMX3JlZ2lzdGVyICgpOwp8IGludAp8IG1haW4gKCkKfCB7CnwgcmV0dXJuIGx1YUxfcmVn
aXN0ZXIgKCk7CnwgICA7CnwgICByZXR1cm4gMDsKfCB9CmNvbmZpZ3VyZToyMTExOTogcmVzdWx0
OiBubwpjb25maWd1cmU6MjExNDk6IGVycm9yOiBMaW5raW5nIHdpdGggbGlibHVhIGZhaWxlZC4K
CiMjIC0tLS0tLS0tLS0tLS0tLS0gIyMKIyMgQ2FjaGUgdmFyaWFibGVzLiAjIwojIyAtLS0tLS0t
LS0tLS0tLS0tICMjCgphY19jdl9idWlsZD14ODZfNjQtcGMtbGludXgtZ251CmFjX2N2X2NfY29t
cGlsZXJfZ251PXllcwphY19jdl9lbmFibGVfdXNyX2xvY2FsPXllcwphY19jdl9lbnZfQ0Nfc2V0
PQphY19jdl9lbnZfQ0NfdmFsdWU9CmFjX2N2X2Vudl9DRkxBR1Nfc2V0PXNldAphY19jdl9lbnZf
Q0ZMQUdTX3ZhbHVlPSctbWFyY2g9bm9jb25hIC1PMiAtcGlwZScKYWNfY3ZfZW52X0NQUEZMQUdT
X3NldD1zZXQKYWNfY3ZfZW52X0NQUEZMQUdTX3ZhbHVlPQphY19jdl9lbnZfQ1BQX3NldD0KYWNf
Y3ZfZW52X0NQUF92YWx1ZT0KYWNfY3ZfZW52X0xERkxBR1Nfc2V0PXNldAphY19jdl9lbnZfTERG
TEFHU192YWx1ZT0tV2wsLU8xCmFjX2N2X2Vudl9MSUJTX3NldD0KYWNfY3ZfZW52X0xJQlNfdmFs
dWU9CmFjX2N2X2Vudl9ZQUNDX3NldD0KYWNfY3ZfZW52X1lBQ0NfdmFsdWU9CmFjX2N2X2Vudl9Z
RkxBR1Nfc2V0PQphY19jdl9lbnZfWUZMQUdTX3ZhbHVlPQphY19jdl9lbnZfYnVpbGRfYWxpYXNf
c2V0PXNldAphY19jdl9lbnZfYnVpbGRfYWxpYXNfdmFsdWU9eDg2XzY0LXBjLWxpbnV4LWdudQph
Y19jdl9lbnZfaG9zdF9hbGlhc19zZXQ9c2V0CmFjX2N2X2Vudl9ob3N0X2FsaWFzX3ZhbHVlPXg4
Nl82NC1wYy1saW51eC1nbnUKYWNfY3ZfZW52X3RhcmdldF9hbGlhc19zZXQ9CmFjX2N2X2Vudl90
YXJnZXRfYWxpYXNfdmFsdWU9CmFjX2N2X2Z1bmNfY29ubmVjdD15ZXMKYWNfY3ZfZnVuY19kbG9w
ZW49bm8KYWNfY3ZfZnVuY19nZXRob3N0YnluYW1lPXllcwphY19jdl9mdW5jX3BjYXBfZGF0YWxp
bmtfbmFtZV90b192YWw9eWVzCmFjX2N2X2Z1bmNfcGNhcF9kYXRhbGlua192YWxfdG9fbmFtZT15
ZXMKYWNfY3ZfZnVuY19wY2FwX2ZpbmRhbGxkZXZzPXllcwphY19jdl9mdW5jX3BjYXBfZnJlZV9k
YXRhbGlua3M9bm8KYWNfY3ZfZnVuY19wY2FwX2ZyZWVjb2RlPXllcwphY19jdl9mdW5jX3BjYXBf
Z2V0X3NlbGVjdGFibGVfZmQ9eWVzCmFjX2N2X2Z1bmNfcGNhcF9saWJfdmVyc2lvbj15ZXMKYWNf
Y3ZfZnVuY19wY2FwX2xpc3RfZGF0YWxpbmtzPXllcwphY19jdl9mdW5jX3BjYXBfb3Blbl9kZWFk
PXllcwphY19jdl9mdW5jX3BjYXBfc2V0X2RhdGFsaW5rPXllcwphY19jdl9mdW5jX3NobF9sb2Fk
PW5vCmFjX2N2X2dsaWJfc3VwcG9ydHNfbW9kdWxlcz15ZXMKYWNfY3ZfaGVhZGVyX2RsZmNuX2g9
eWVzCmFjX2N2X2hlYWRlcl9pbnR0eXBlc19oPXllcwphY19jdl9oZWFkZXJfbGF1eGxpYl9oPXll
cwphY19jdl9oZWFkZXJfbHVhX2g9eWVzCmFjX2N2X2hlYWRlcl9sdWFsaWJfaD15ZXMKYWNfY3Zf
aGVhZGVyX21lbW9yeV9oPXllcwphY19jdl9oZWFkZXJfcGNhcF9oPXllcwphY19jdl9oZWFkZXJf
cGNyZV9oPXllcwphY19jdl9oZWFkZXJfc3RkYz15ZXMKYWNfY3ZfaGVhZGVyX3N0ZGludF9oPXll
cwphY19jdl9oZWFkZXJfc3RkbGliX2g9eWVzCmFjX2N2X2hlYWRlcl9zdHJpbmdfaD15ZXMKYWNf
Y3ZfaGVhZGVyX3N0cmluZ3NfaD15ZXMKYWNfY3ZfaGVhZGVyX3N5c19zdGF0X2g9eWVzCmFjX2N2
X2hlYWRlcl9zeXNfdHlwZXNfaD15ZXMKYWNfY3ZfaGVhZGVyX3VuaXN0ZF9oPXllcwphY19jdl9o
ZWFkZXJfemxpYl9oPXllcwphY19jdl9ob3N0PXg4Nl82NC1wYy1saW51eC1nbnUKYWNfY3ZfbGli
X2RsX2Rsb3Blbj15ZXMKYWNfY3ZfbGliX2RsZF9zaGxfbG9hZD1ubwphY19jdl9saWJfbGV4PS1s
ZmwKYWNfY3ZfbGliX2x1YTVfMV9sdWFMX3JlZ2lzdGVyPW5vCmFjX2N2X2xpYl9sdWFfbHVhX2Nh
bGw9bm8KYWNfY3ZfbGliX3BjYXBfcGNhcF9vcGVuX2xpdmU9eWVzCmFjX2N2X2xpYl9wY3JlX3Bj
cmVfY29tcGlsZT15ZXMKYWNfY3ZfbGliX3pfZ3pnZXRzPXllcwphY19jdl9vYmpleHQ9bwphY19j
dl9wYXRoX0RPWFlHRU49L3Vzci9iaW4vZG94eWdlbgphY19jdl9wYXRoX0VHUkVQPScvYmluL2dy
ZXAgLUUnCmFjX2N2X3BhdGhfRkdSRVA9Jy9iaW4vZ3JlcCAtRicKYWNfY3ZfcGF0aF9HUkVQPS9i
aW4vZ3JlcAphY19jdl9wYXRoX0hUTUxfVklFV0VSPS91c3IvYmluL3hkZy1vcGVuCmFjX2N2X3Bh
dGhfTEVYPS91c3IvYmluL2ZsZXgKYWNfY3ZfcGF0aF9MRVhEVU1NWT0vdXNyL2Jpbi9mbGV4CmFj
X2N2X3BhdGhfTElCR05VVExTX0NPTkZJRz0vdXNyL2Jpbi9saWJnbnV0bHMtY29uZmlnCmFjX2N2
X3BhdGhfUEVSTD0vdXNyL2Jpbi9wZXJsCmFjX2N2X3BhdGhfUEtHX0NPTkZJRz0vdXNyL2Jpbi9w
a2ctY29uZmlnCmFjX2N2X3BhdGhfUE9EMkhUTUw9L3Vzci9iaW4vcG9kMmh0bWwKYWNfY3ZfcGF0
aF9QT0QyTUFOPS91c3IvYmluL3BvZDJtYW4KYWNfY3ZfcGF0aF9QWVRIT049L3Vzci9iaW4vcHl0
aG9uCmFjX2N2X3BhdGhfU0VEPS9iaW4vc2VkCmFjX2N2X3BhdGhfWE1MTElOVD0vdXNyL2Jpbi94
bWxsaW50CmFjX2N2X3BhdGhfWFNMVFBST0M9L3Vzci9iaW4veHNsdHByb2MKYWNfY3ZfcGF0aF9Z
QUNDRFVNTVk9L3Vzci9iaW4vYmlzb24KYWNfY3ZfcGF0aF9pbnN0YWxsPScvdXNyL2Jpbi9pbnN0
YWxsIC1jJwphY19jdl9wY2FwX3ZlcnNpb25fZGVmaW5lZD15ZXMKYWNfY3ZfcHJvZ19BUj14ODZf
NjQtcGMtbGludXgtZ251LWFyCmFjX2N2X3Byb2dfQVdLPWdhd2sKYWNfY3ZfcHJvZ19DQz14ODZf
NjQtcGMtbGludXgtZ251LWdjYwphY19jdl9wcm9nX0NQUD0neDg2XzY0LXBjLWxpbnV4LWdudS1n
Y2MgLUUnCmFjX2N2X3Byb2dfSEFWRV9CTEVTUz1ubwphY19jdl9wcm9nX0hBVkVfRE9YWUdFTj15
ZXMKYWNfY3ZfcHJvZ19IQVZFX0RQS0dfQlVJTERQQUNLQUdFPXllcwphY19jdl9wcm9nX0hBVkVf
Rk9QPW5vCmFjX2N2X3Byb2dfSEFWRV9IRElVVElMPW5vCmFjX2N2X3Byb2dfSEFWRV9ISEM9bm8K
YWNfY3ZfcHJvZ19IQVZFX1BLR01LPW5vCmFjX2N2X3Byb2dfSEFWRV9QS0dQUk9UTz1ubwphY19j
dl9wcm9nX0hBVkVfUEtHVFJBTlM9bm8KYWNfY3ZfcHJvZ19IQVZFX1hDT0RFQlVJTEQ9bm8KYWNf
Y3ZfcHJvZ19IQVZFX1hNTExJTlQ9eWVzCmFjX2N2X3Byb2dfSEFWRV9YU0xUUFJPQz15ZXMKYWNf
Y3ZfcHJvZ19MRVg9ZmxleAphY19jdl9wcm9nX09CSkRVTVA9eDg2XzY0LXBjLWxpbnV4LWdudS1v
YmpkdW1wCmFjX2N2X3Byb2dfUkFOTElCPXg4Nl82NC1wYy1saW51eC1nbnUtcmFubGliCmFjX2N2
X3Byb2dfU1RSSVA9eDg2XzY0LXBjLWxpbnV4LWdudS1zdHJpcAphY19jdl9wcm9nX1lBQ0M9J2Jp
c29uIC15JwphY19jdl9wcm9nX2FjX2N2X3dpcmVzaGFya19oYXZlX3JwbT15ZXMKYWNfY3ZfcHJv
Z19jY19jODk9CmFjX2N2X3Byb2dfY2NfZz15ZXMKYWNfY3ZfcHJvZ19sZXhfcm9vdD1sZXgueXkK
YWNfY3ZfcHJvZ19sZXhfeXl0ZXh0X3BvaW50ZXI9eWVzCmFjX2N2X3Byb2dfbWFrZV9tYWtlX3Nl
dD15ZXMKYWNfY3ZfdGFyZ2V0PXg4Nl82NC1wYy1saW51eC1nbnUKYWNfY3Zfd2lyZXNoYXJrX2hh
dmVfcnBtPXllcwphbV9jdl9DQ19kZXBlbmRlbmNpZXNfY29tcGlsZXJfdHlwZT1nY2MzCmx0X2N2
X2RlcGxpYnNfY2hlY2tfbWV0aG9kPXBhc3NfYWxsCmx0X2N2X2Rsb3Blbj1kbG9wZW4KbHRfY3Zf
ZGxvcGVuX2xpYnM9LWxkbApsdF9jdl9kbG9wZW5fc2VsZj15ZXMKbHRfY3ZfZGxvcGVuX3NlbGZf
c3RhdGljPW5vCmx0X2N2X2ZpbGVfbWFnaWNfY21kPSckTUFHSUNfQ01EJwpsdF9jdl9maWxlX21h
Z2ljX3Rlc3RfZmlsZT0KbHRfY3ZfbGRfcmVsb2FkX2ZsYWc9LXIKbHRfY3Zfbm1faW50ZXJmYWNl
PSdCU0Qgbm0nCmx0X2N2X29iamRpcj0ubGlicwpsdF9jdl9wYXRoX0xEPS91c3IveDg2XzY0LXBj
LWxpbnV4LWdudS9iaW4vbGQKbHRfY3ZfcGF0aF9OTT0nL3Vzci9iaW4vbm0gLUInCmx0X2N2X3By
b2dfY29tcGlsZXJfY19vPXllcwpsdF9jdl9wcm9nX2NvbXBpbGVyX3BpY193b3Jrcz15ZXMKbHRf
Y3ZfcHJvZ19jb21waWxlcl9ydHRpX2V4Y2VwdGlvbnM9bm8KbHRfY3ZfcHJvZ19jb21waWxlcl9z
dGF0aWNfd29ya3M9eWVzCmx0X2N2X3Byb2dfZ251X2xkPXllcwpsdF9jdl9zeXNfZ2xvYmFsX3N5
bWJvbF9waXBlPSdzZWQgLW4gLWUgJ1wnJ3MvXi4qWwkgXVwoW0FCQ0RHSVJTVFddW0FCQ0RHSVJT
VFddKlwpWwkgXVsJIF0qXChbX0EtWmEtel1bX0EtWmEtejAtOV0qXCkkL1wxIFwyIFwyL3AnXCcn
JwpsdF9jdl9zeXNfZ2xvYmFsX3N5bWJvbF90b19jX25hbWVfYWRkcmVzcz0nc2VkIC1uIC1lICdc
JydzL146IFwoW14gXSpcKSAkLyAge1wiXDFcIiwgKHZvaWQgKikgMH0sL3AnXCcnIC1lICdcJydz
L15bQUJDREdJUlNUV10qIFwoW14gXSpcKSBcKFteIF0qXCkkLyAgeyJcMiIsICh2b2lkICopIFwm
XDJ9LC9wJ1wnJycKbHRfY3Zfc3lzX2dsb2JhbF9zeW1ib2xfdG9fY19uYW1lX2FkZHJlc3NfbGli
X3ByZWZpeD0nc2VkIC1uIC1lICdcJydzL146IFwoW14gXSpcKSAkLyAge1wiXDFcIiwgKHZvaWQg
KikgMH0sL3AnXCcnIC1lICdcJydzL15bQUJDREdJUlNUV10qIFwoW14gXSpcKSBcKGxpYlteIF0q
XCkkLyAgeyJcMiIsICh2b2lkICopIFwmXDJ9LC9wJ1wnJyAtZSAnXCcncy9eW0FCQ0RHSVJTVFdd
KiBcKFteIF0qXCkgXChbXiBdKlwpJC8gIHsibGliXDIiLCAodm9pZCAqKSBcJlwyfSwvcCdcJycn
Cmx0X2N2X3N5c19nbG9iYWxfc3ltYm9sX3RvX2NkZWNsPSdzZWQgLW4gLWUgJ1wnJ3MvXlQgLiog
XCguKlwpJC9leHRlcm4gaW50IFwxKCk7L3AnXCcnIC1lICdcJydzL15bQUJDREdJUlNUV10qIC4q
IFwoLipcKSQvZXh0ZXJuIGNoYXIgXDE7L3AnXCcnJwpsdF9jdl9zeXNfbWF4X2NtZF9sZW49MTU3
Mjg2NAoKIyMgLS0tLS0tLS0tLS0tLS0tLS0gIyMKIyMgT3V0cHV0IHZhcmlhYmxlcy4gIyMKIyMg
LS0tLS0tLS0tLS0tLS0tLS0gIyMKCkFDTE9DQUw9JyR7U0hFTEx9IC92YXIvdG1wL3BvcnRhZ2Uv
bmV0LWFuYWx5emVyL3dpcmVzaGFyay0xLjAuMy93b3JrL3dpcmVzaGFyay0xLjAuMy9taXNzaW5n
IC0tcnVuIGFjbG9jYWwtMS45JwpBRE5TX0xJQlM9JycKQU1ERVBCQUNLU0xBU0g9J1wnCkFNREVQ
X0ZBTFNFPScjJwpBTURFUF9UUlVFPScnCkFNVEFSPScke1NIRUxMfSAvdmFyL3RtcC9wb3J0YWdl
L25ldC1hbmFseXplci93aXJlc2hhcmstMS4wLjMvd29yay93aXJlc2hhcmstMS4wLjMvbWlzc2lu
ZyAtLXJ1biB0YXInCkFSPSd4ODZfNjQtcGMtbGludXgtZ251LWFyJwpBVVRPQ09ORj0nJHtTSEVM
TH0gL3Zhci90bXAvcG9ydGFnZS9uZXQtYW5hbHl6ZXIvd2lyZXNoYXJrLTEuMC4zL3dvcmsvd2ly
ZXNoYXJrLTEuMC4zL21pc3NpbmcgLS1ydW4gYXV0b2NvbmYnCkFVVE9IRUFERVI9JyR7U0hFTEx9
IC92YXIvdG1wL3BvcnRhZ2UvbmV0LWFuYWx5emVyL3dpcmVzaGFyay0xLjAuMy93b3JrL3dpcmVz
aGFyay0xLjAuMy9taXNzaW5nIC0tcnVuIGF1dG9oZWFkZXInCkFVVE9NQUtFPScke1NIRUxMfSAv
dmFyL3RtcC9wb3J0YWdlL25ldC1hbmFseXplci93aXJlc2hhcmstMS4wLjMvd29yay93aXJlc2hh
cmstMS4wLjMvbWlzc2luZyAtLXJ1biBhdXRvbWFrZS0xLjknCkFXSz0nZ2F3aycKQ0M9J3g4Nl82
NC1wYy1saW51eC1nbnUtZ2NjJwpDQ0RFUE1PREU9J2RlcG1vZGU9Z2NjMycKQ0NfRk9SX0JVSUxE
PSd4ODZfNjQtcGMtbGludXgtZ251LWdjYycKQ0ZMQUdTPSctRF9VXz0iX19hdHRyaWJ1dGVfXygo
dW51c2VkKSkiIC1tYXJjaD1ub2NvbmEgLU8yIC1waXBlIC1XYWxsIC1XIC1XZGVjbGFyYXRpb24t
YWZ0ZXItc3RhdGVtZW50IC1XZW5kaWYtbGFiZWxzIC1XcG9pbnRlci1hcml0aCAtV25vLXBvaW50
ZXItc2lnbiAtV2FycmF5LWJvdW5kcyAtSS91c3IvbG9jYWwvaW5jbHVkZSAtcHRocmVhZCAtSS91
c3IvaW5jbHVkZS9ndGstMi4wIC1JL3Vzci9saWI2NC9ndGstMi4wL2luY2x1ZGUgLUkvdXNyL2lu
Y2x1ZGUvYXRrLTEuMCAtSS91c3IvaW5jbHVkZS9jYWlybyAtSS91c3IvaW5jbHVkZS9wYW5nby0x
LjAgLUkvdXNyL2luY2x1ZGUvZ2xpYi0yLjAgLUkvdXNyL2xpYjY0L2dsaWItMi4wL2luY2x1ZGUg
LUkvdXNyL2luY2x1ZGUvcGl4bWFuLTEgLUkvdXNyL2luY2x1ZGUvZnJlZXR5cGUyIC1JL3Vzci9p
bmNsdWRlL2xpYnBuZzEyICAnCkNQUD0neDg2XzY0LXBjLWxpbnV4LWdudS1nY2MgLUUnCkNQUEZM
QUdTPScgLUkvdXNyL2xvY2FsL2luY2x1ZGUnCkNZR1BBVEhfVz0nZWNobycKREVGUz0nJwpERVBE
SVI9Jy5kZXBzJwpET1hZR0VOPScvdXNyL2Jpbi9kb3h5Z2VuJwpEU1lNVVRJTD0nJwpEVU1QQklO
PScnCkVDSE9fQz0nJwpFQ0hPX049Jy1uJwpFQ0hPX1Q9JycKRUdSRVA9Jy9iaW4vZ3JlcCAtRScK
RU5BQkxFX1NUQVRJQz0nJwpFTkFCTEVfU1RBVElDX0ZBTFNFPScnCkVOQUJMRV9TVEFUSUNfVFJV
RT0nJwpFWEVFWFQ9JycKRkdSRVA9Jy9iaW4vZ3JlcCAtRicKRkxFWF9QQVRIPScnCkZPUD0nJwpG
UkFNRVdPUktTPScnCkdFVE9QVF9DPScnCkdFVE9QVF9PPScnCkdMSUJfQ0ZMQUdTPSctSS91c3Iv
aW5jbHVkZS9nbGliLTIuMCAtSS91c3IvbGliNjQvZ2xpYi0yLjAvaW5jbHVkZSAgJwpHTElCX0NP
TkZJRz0nJwpHTElCX0dFTk1BUlNIQUw9J2dsaWItZ2VubWFyc2hhbCcKR0xJQl9MSUJTPSctV2ws
LS1leHBvcnQtZHluYW1pYyAtbGdtb2R1bGUtMi4wIC1sZ2xpYi0yLjAgICcKR0xJQl9NS0VOVU1T
PSdnbGliLW1rZW51bXMnCkdPQkpFQ1RfUVVFUlk9J2dvYmplY3QtcXVlcnknCkdSRVA9Jy9iaW4v
Z3JlcCcKR1RLX0NGTEFHUz0nLXB0aHJlYWQgLUkvdXNyL2luY2x1ZGUvZ3RrLTIuMCAtSS91c3Iv
bGliNjQvZ3RrLTIuMC9pbmNsdWRlIC1JL3Vzci9pbmNsdWRlL2F0ay0xLjAgLUkvdXNyL2luY2x1
ZGUvY2Fpcm8gLUkvdXNyL2luY2x1ZGUvcGFuZ28tMS4wIC1JL3Vzci9pbmNsdWRlL2dsaWItMi4w
IC1JL3Vzci9saWI2NC9nbGliLTIuMC9pbmNsdWRlIC1JL3Vzci9pbmNsdWRlL3BpeG1hbi0xIC1J
L3Vzci9pbmNsdWRlL2ZyZWV0eXBlMiAtSS91c3IvaW5jbHVkZS9saWJwbmcxMiAgJwpHVEtfQ09O
RklHPScnCkdUS19MSUJTPSctcHRocmVhZCAtbGd0ay14MTEtMi4wIC1sZ2RrLXgxMS0yLjAgLWxh
dGstMS4wIC1sZ2lvLTIuMCAtbHBhbmdvZnQyLTEuMCAtbGdka19waXhidWYtMi4wIC1scGFuZ29j
YWlyby0xLjAgLWxjYWlybyAtbHBhbmdvLTEuMCAtbGZyZWV0eXBlIC1seiAtbGZvbnRjb25maWcg
LWxnb2JqZWN0LTIuMCAtbGdtb2R1bGUtMi4wIC1sZ3RocmVhZC0yLjAgLWxydCAtbGdsaWItMi4w
ICAnCkdfQVNDSUlfU1RSQ0FTRUNNUF9DPScnCkdfQVNDSUlfU1RSQ0FTRUNNUF9MTz0nJwpHX0FT
Q0lJX1NUUkNBU0VDTVBfTz0nJwpHX0FTQ0lJX1NUUlRPVUxMX0M9JycKR19BU0NJSV9TVFJUT1VM
TF9MTz0nJwpHX0FTQ0lJX1NUUlRPVUxMX089JycKSEFWRV9CTEVTUz0nbm8nCkhBVkVfRE9YWUdF
Tj0neWVzJwpIQVZFX0RPWFlHRU5fRkFMU0U9JyMnCkhBVkVfRE9YWUdFTl9UUlVFPScnCkhBVkVf
RFBLR19CVUlMRFBBQ0tBR0U9J3llcycKSEFWRV9GT1A9J25vJwpIQVZFX0ZPUF9GQUxTRT0nJwpI
QVZFX0ZPUF9UUlVFPScjJwpIQVZFX0hESVVUSUw9J25vJwpIQVZFX0hIQz0nbm8nCkhBVkVfSEhD
X0ZBTFNFPScnCkhBVkVfSEhDX1RSVUU9JyMnCkhBVkVfTElCTFVBX0ZBTFNFPScnCkhBVkVfTElC
TFVBX1RSVUU9JycKSEFWRV9MSUJQT1JUQVVESU9fRkFMU0U9JycKSEFWRV9MSUJQT1JUQVVESU9f
VFJVRT0nJwpIQVZFX09TWF9QQUNLQUdJTkc9J25vJwpIQVZFX1BLR01LPSdubycKSEFWRV9QS0dQ
Uk9UTz0nbm8nCkhBVkVfUEtHVFJBTlM9J25vJwpIQVZFX1BMVUdJTlNfRkFMU0U9JycKSEFWRV9Q
TFVHSU5TX1RSVUU9JycKSEFWRV9SUE09J3llcycKSEFWRV9TVlI0X1BBQ0tBR0lORz0nbm8nCkhB
VkVfV0FSTklOR1NfQVNfRVJST1JTX0ZBTFNFPScnCkhBVkVfV0FSTklOR1NfQVNfRVJST1JTX1RS
VUU9JyMnCkhBVkVfWENPREVCVUlMRD0nbm8nCkhBVkVfWE1MTElOVD0neWVzJwpIQVZFX1hNTExJ
TlRfRkFMU0U9JyMnCkhBVkVfWE1MTElOVF9UUlVFPScnCkhBVkVfWFNMVFBST0M9J3llcycKSEFW
RV9YU0xUUFJPQ19GQUxTRT0nIycKSEFWRV9YU0xUUFJPQ19UUlVFPScnCkhIQz0nJwpIVE1MX1ZJ
RVdFUj0nL3Vzci9iaW4veGRnLW9wZW4nCklORVRfQVRPTl9DPScnCklORVRfQVRPTl9MTz0nJwpJ
TkVUX0FUT05fTz0nJwpJTkVUX05UT1BfQz0nJwpJTkVUX05UT1BfTE89JycKSU5FVF9OVE9QX089
JycKSU5FVF9QVE9OX0M9JycKSU5FVF9QVE9OX0xPPScnCklORVRfUFRPTl9PPScnCklOU1RBTExf
REFUQT0nJHtJTlNUQUxMfSAtbSA2NDQnCklOU1RBTExfUFJPR1JBTT0nJHtJTlNUQUxMfScKSU5T
VEFMTF9TQ1JJUFQ9JyR7SU5TVEFMTH0nCklOU1RBTExfU1RSSVBfUFJPR1JBTT0nJHtTSEVMTH0g
JChpbnN0YWxsX3NoKSAtYyAtcycKS1JCNV9DT05GSUc9JycKS1JCNV9MSUJTPScnCkxEPScvdXNy
L3g4Nl82NC1wYy1saW51eC1nbnUvYmluL2xkIC1tIGVsZl94ODZfNjQnCkxERkxBR1M9Jy1XbCwt
TzEgLUwvdXNyL2xvY2FsL2xpYicKTERGTEFHU19TSEFSRURMSUI9JycKTEVYPScvdXNyL2Jpbi9m
bGV4JwpMRVhEVU1NWT0nL3Vzci9iaW4vZmxleCcKTEVYTElCPSctbGZsJwpMRVhfT1VUUFVUX1JP
T1Q9J2xleC55eScKTElCQ0FQX0xJQlM9JycKTElCR0NSWVBUX0NGTEFHUz0nJwpMSUJHQ1JZUFRf
Q09ORklHPScnCkxJQkdDUllQVF9MSUJTPScnCkxJQkdOVVRMU19DRkxBR1M9Jy1JL3Vzci9pbmNs
dWRlIC1JL3Vzci9pbmNsdWRlJwpMSUJHTlVUTFNfQ09ORklHPScvdXNyL2Jpbi9saWJnbnV0bHMt
Y29uZmlnJwpMSUJHTlVUTFNfTElCUz0nLUwvdXNyL2xpYjY0IC1sZ251dGxzIC1ML3Vzci9saWI2
NCAtbHRhc24xIC1ML3Vzci9saWI2NCAtbGdjcnlwdCAtbGdwZy1lcnJvcicKTElCSUNPTlY9JycK
TElCT0JKUz0nJwpMSUJTPSctbHogJwpMSUJTTUlfQ0ZMQUdTPScnCkxJQlNNSV9MREZMQUdTPScn
CkxJQlNNSV9WRVJTSU9OPScnCkxJQlRPT0w9JyQoU0hFTEwpICQodG9wX2J1aWxkZGlyKS9saWJ0
b29sJwpMSUJUT09MX0RFUFM9Jy4vbHRtYWluLnNoJwpMSVBPPScnCkxOX1M9J2xuIC1zJwpMVExJ
Qk9CSlM9JycKTFVBX0lOQ0xVREVTPScnCkxVQV9MSUJTPScnCk1BS0VJTkZPPScke1NIRUxMfSAv
dmFyL3RtcC9wb3J0YWdlL25ldC1hbmFseXplci93aXJlc2hhcmstMS4wLjMvd29yay93aXJlc2hh
cmstMS4wLjMvbWlzc2luZyAtLXJ1biBtYWtlaW5mbycKTUtTVEVNUF9DPScnCk1LU1RFTVBfTz0n
JwpOTT0nL3Vzci9iaW4vbm0gLUInCk5NRURJVD0nJwpOU0xfTElCUz0nJwpPQkpEVU1QPSd4ODZf
NjQtcGMtbGludXgtZ251LW9iamR1bXAnCk9CSkVYVD0nbycKT1RPT0w2ND0nJwpPVE9PTD0nJwpQ
QUNLQUdFPSd3aXJlc2hhcmsnClBBQ0tBR0VfQlVHUkVQT1JUPScnClBBQ0tBR0VfTkFNRT0nJwpQ
QUNLQUdFX1NUUklORz0nJwpQQUNLQUdFX1RBUk5BTUU9JycKUEFDS0FHRV9WRVJTSU9OPScnClBB
VEhfU0VQQVJBVE9SPSc6JwpQQ0FQX0xJQlM9Jy1scGNhcCcKUENSRV9MSUJTPSctbHBjcmUnClBF
Ukw9Jy91c3IvYmluL3BlcmwnClBLR19DT05GSUc9Jy91c3IvYmluL3BrZy1jb25maWcnClBMVUdJ
Tl9MSUJTPScnClBPRDJIVE1MPScvdXNyL2Jpbi9wb2QyaHRtbCcKUE9EMk1BTj0nL3Vzci9iaW4v
cG9kMm1hbicKUE9SVEFVRElPX0lOQ0xVREVTPScnClBPUlRBVURJT19MSUJTPScnClBZVEhPTj0n
L3Vzci9iaW4vcHl0aG9uJwpSQU5MSUI9J3g4Nl82NC1wYy1saW51eC1nbnUtcmFubGliJwpTRUQ9
Jy9iaW4vc2VkJwpTRVRVSURfSU5TVEFMTF9GQUxTRT0nJwpTRVRVSURfSU5TVEFMTF9UUlVFPScn
ClNFVF9NQUtFPScnClNIRUxMPScvYmluL3NoJwpTT0NLRVRfTElCUz0nJwpTU0xfTElCUz0nJwpT
VFJDQVNFQ01QX0M9JycKU1RSQ0FTRUNNUF9PPScnClNUUkVSUk9SX0M9JycKU1RSRVJST1JfTz0n
JwpTVFJJUD0neDg2XzY0LXBjLWxpbnV4LWdudS1zdHJpcCcKU1RSTkNBU0VDTVBfQz0nJwpTVFJO
Q0FTRUNNUF9PPScnClNUUlBUSU1FX0M9JycKU1RSUFRJTUVfTz0nJwpVU0VfR1RLMl9GQUxTRT0n
IycKVVNFX0dUSzJfVFJVRT0nJwpVU0VfUFJPRklMRV9CVUlMRF9GQUxTRT0nJwpVU0VfUFJPRklM
RV9CVUlMRF9UUlVFPScjJwpVU0VfVEhSRUFEU19GQUxTRT0nIycKVVNFX1RIUkVBRFNfVFJVRT0n
JwpWRVJTSU9OPScxLjAuMycKWE1MTElOVD0nL3Vzci9iaW4veG1sbGludCcKWFNMVFBST0M9Jy91
c3IvYmluL3hzbHRwcm9jJwpZQUNDPSdiaXNvbiAteScKWUFDQ0RVTU1ZPScvdXNyL2Jpbi9iaXNv
bicKWUZMQUdTPScnCmFjX2N0X0NDPScnCmFjX2N0X0RVTVBCSU49JycKYWNfY3Zfd2lyZXNoYXJr
X2hhdmVfcnBtPSd5ZXMnCmFtX19mYXN0ZGVwQ0NfRkFMU0U9JyMnCmFtX19mYXN0ZGVwQ0NfVFJV
RT0nJwphbV9faW5jbHVkZT0naW5jbHVkZScKYW1fX2xlYWRpbmdfZG90PScuJwphbV9fcXVvdGU9
JycKYW1fX3Rhcj0nJHtBTVRBUn0gY2hvZiAtICIkJHRhcmRpciInCmFtX191bnRhcj0nJHtBTVRB
Un0geGYgLScKYmluZGlyPScke2V4ZWNfcHJlZml4fS9iaW4nCmJ1aWxkPSd4ODZfNjQtcGMtbGlu
dXgtZ251JwpidWlsZF9hbGlhcz0neDg2XzY0LXBjLWxpbnV4LWdudScKYnVpbGRfY3B1PSd4ODZf
NjQnCmJ1aWxkX29zPSdsaW51eC1nbnUnCmJ1aWxkX3ZlbmRvcj0ncGMnCmNhcGluZm9zX2Jpbj0n
Y2FwaW5mb3MkKEVYRUVYVCknCmNhcGluZm9zX21hbj0nY2FwaW5mb3MuMScKZGF0YWRpcj0nL3Vz
ci9zaGFyZScKZGF0YXJvb3RkaXI9JyR7cHJlZml4fS9zaGFyZScKZGZ0ZXN0X2Jpbj0nZGZ0ZXN0
JChFWEVFWFQpJwpkb2NkaXI9JyR7ZGF0YXJvb3RkaXJ9L2RvYy8ke1BBQ0tBR0V9JwpkdW1wY2Fw
X2Jpbj0nZHVtcGNhcCQoRVhFRVhUKScKZHVtcGNhcF9tYW49J2R1bXBjYXAuMScKZHZpZGlyPSck
e2RvY2Rpcn0nCmVkaXRjYXBfYmluPSdlZGl0Y2FwJChFWEVFWFQpJwplZGl0Y2FwX21hbj0nZWRp
dGNhcC4xJwpleGVjX3ByZWZpeD0nTk9ORScKaG9zdD0neDg2XzY0LXBjLWxpbnV4LWdudScKaG9z
dF9hbGlhcz0neDg2XzY0LXBjLWxpbnV4LWdudScKaG9zdF9jcHU9J3g4Nl82NCcKaG9zdF9vcz0n
bGludXgtZ251Jwpob3N0X3ZlbmRvcj0ncGMnCmh0bWxkaXI9JyR7ZG9jZGlyfScKaWRsMndyc19i
aW49J2lkbDJ3cnMnCmlkbDJ3cnNfbWFuPSdpZGwyd3JzLjEnCmluY2x1ZGVkaXI9JyR7cHJlZml4
fS9pbmNsdWRlJwppbmZvZGlyPScvdXNyL3NoYXJlL2luZm8nCmluc3RhbGxfc2g9Jy92YXIvdG1w
L3BvcnRhZ2UvbmV0LWFuYWx5emVyL3dpcmVzaGFyay0xLjAuMy93b3JrL3dpcmVzaGFyay0xLjAu
My9pbnN0YWxsLXNoJwpsaWJkaXI9Jy91c3IvbGliNjQnCmxpYmV4ZWNkaXI9JyR7ZXhlY19wcmVm
aXh9L2xpYmV4ZWMnCmxvY2FsZWRpcj0nJHtkYXRhcm9vdGRpcn0vbG9jYWxlJwpsb2NhbHN0YXRl
ZGlyPScvdmFyL2xpYicKbHRfRUNITz0nZWNobycKbWFuZGlyPScvdXNyL3NoYXJlL21hbicKbWVy
Z2VjYXBfYmluPSdtZXJnZWNhcCQoRVhFRVhUKScKbWVyZ2VjYXBfbWFuPSdtZXJnZWNhcC4xJwpt
a2Rpcl9wPSdta2RpciAtcCAtLScKb2xkaW5jbHVkZWRpcj0nL3Vzci9pbmNsdWRlJwpwZGZkaXI9
JyR7ZG9jZGlyfScKcGx1Z2luZGlyPScnCnByZWZpeD0nL3VzcicKcHJvZ3JhbV90cmFuc2Zvcm1f
bmFtZT0ncyx4LHgsJwpwc2Rpcj0nJHtkb2NkaXJ9JwpyYW5kcGt0X2Jpbj0ncmFuZHBrdCQoRVhF
RVhUKScKcmF3c2hhcmtfYmluPSdyYXdzaGFyayQoRVhFRVhUKScKcmF3c2hhcmtfbWFuPSdyYXdz
aGFyay4xJwpyZHBzX2Jpbj0ncmRwcyQoRVhFRVhUKScKc2JpbmRpcj0nJHtleGVjX3ByZWZpeH0v
c2JpbicKc2hhcmVkc3RhdGVkaXI9JyR7cHJlZml4fS9jb20nCnN5c2NvbmZkaXI9Jy9ldGMvd2ly
ZXNoYXJrJwp0YXJnZXQ9J3g4Nl82NC1wYy1saW51eC1nbnUnCnRhcmdldF9hbGlhcz0nJwp0YXJn
ZXRfY3B1PSd4ODZfNjQnCnRhcmdldF9vcz0nbGludXgtZ251Jwp0YXJnZXRfdmVuZG9yPSdwYycK
dGV4dDJwY2FwX2Jpbj0ndGV4dDJwY2FwJChFWEVFWFQpJwp0ZXh0MnBjYXBfbWFuPSd0ZXh0MnBj
YXAuMScKdHNoYXJrX2Jpbj0ndHNoYXJrJChFWEVFWFQpJwp0c2hhcmtfbWFuPSd0c2hhcmsuMScK
d2lyZXNoYXJrX1NVQkRJUlM9J2NvZGVjcyBndGsnCndpcmVzaGFya19iaW49J3dpcmVzaGFyayQo
RVhFRVhUKScKd2lyZXNoYXJrX21hbj0nd2lyZXNoYXJrLjEnCndpcmVzaGFya2ZpbHRlcl9tYW49
J3dpcmVzaGFyay1maWx0ZXIuNCcKCiMjIC0tLS0tLS0tLS0tICMjCiMjIGNvbmZkZWZzLmguICMj
CiMjIC0tLS0tLS0tLS0tICMjCgojZGVmaW5lIFBBQ0tBR0VfTkFNRSAiIgojZGVmaW5lIFBBQ0tB
R0VfVEFSTkFNRSAiIgojZGVmaW5lIFBBQ0tBR0VfVkVSU0lPTiAiIgojZGVmaW5lIFBBQ0tBR0Vf
U1RSSU5HICIiCiNkZWZpbmUgUEFDS0FHRV9CVUdSRVBPUlQgIiIKI2RlZmluZSBQQUNLQUdFICJ3
aXJlc2hhcmsiCiNkZWZpbmUgVkVSU0lPTiAiMS4wLjMiCiNkZWZpbmUgU1REQ19IRUFERVJTIDEK
I2RlZmluZSBIQVZFX1NZU19UWVBFU19IIDEKI2RlZmluZSBIQVZFX1NZU19TVEFUX0ggMQojZGVm
aW5lIEhBVkVfU1RETElCX0ggMQojZGVmaW5lIEhBVkVfU1RSSU5HX0ggMQojZGVmaW5lIEhBVkVf
TUVNT1JZX0ggMQojZGVmaW5lIEhBVkVfU1RSSU5HU19IIDEKI2RlZmluZSBIQVZFX0lOVFRZUEVT
X0ggMQojZGVmaW5lIEhBVkVfU1RESU5UX0ggMQojZGVmaW5lIEhBVkVfVU5JU1REX0ggMQojZGVm
aW5lIEhBVkVfRExGQ05fSCAxCiNkZWZpbmUgTFRfT0JKRElSICIubGlicy8iCiNkZWZpbmUgWVlU
RVhUX1BPSU5URVIgMQojZGVmaW5lIEhUTUxfVklFV0VSICJ4ZGctb3BlbiIKI2RlZmluZSBIQVZF
X0xJQkdOVVRMUyAxCiNkZWZpbmUgREFUQUZJTEVfRElSICIvdXNyL3NoYXJlL3dpcmVzaGFyayIK
I2RlZmluZSBIQVZFX0lOVFRZUEVTX0ggMQojZGVmaW5lIElOVFRZUEVTX0hfREVGSU5FU19GT1JN
QVRTIC8qKi8KI2RlZmluZSBIQVZFX0xJQlBDQVAgMQojZGVmaW5lIEhBVkVfUENBUF9WRVJTSU9O
IDEKI2RlZmluZSBIQVZFX1BDQVBfT1BFTl9ERUFEIDEKI2RlZmluZSBIQVZFX1BDQVBfRlJFRUNP
REUgMQojZGVmaW5lIEhBVkVfUENBUF9CUkVBS0xPT1AgMQojZGVmaW5lIEhBVkVfUENBUF9GSU5E
QUxMREVWUyAxCiNkZWZpbmUgSEFWRV9QQ0FQX0RBVEFMSU5LX1ZBTF9UT19OQU1FIDEKI2RlZmlu
ZSBIQVZFX1BDQVBfREFUQUxJTktfTkFNRV9UT19WQUwgMQojZGVmaW5lIEhBVkVfUENBUF9MSVNU
X0RBVEFMSU5LUyAxCiNkZWZpbmUgSEFWRV9QQ0FQX1NFVF9EQVRBTElOSyAxCiNkZWZpbmUgSEFW
RV9QQ0FQX0xJQl9WRVJTSU9OIDEKI2RlZmluZSBIQVZFX1BDQVBfR0VUX1NFTEVDVEFCTEVfRkQg
MQojZGVmaW5lIEhBVkVfTElCWiAxCiNkZWZpbmUgSEFWRV9MSUJQQ1JFIDEKI2RlZmluZSBIQVZF
X0xVQV9IIDEKI2RlZmluZSBIQVZFX0xVQUxJQl9IIDEKI2RlZmluZSBIQVZFX0xBVVhMSUJfSCAx
Cgpjb25maWd1cmU6IGV4aXQgMQo=
</data>        

          </attachment>
    </bug>

</bugzilla>