<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<!DOCTYPE bugzilla SYSTEM "https://bugs.webkit.org/page.cgi?id=bugzilla.dtd">

<bugzilla version="5.0.4.1"
          urlbase="https://bugs.webkit.org/"
          
          maintainer="admin@webkit.org"
>

    <bug>
          <bug_id>125115</bug_id>
          
          <creation_ts>2013-12-02 15:30:04 -0800</creation_ts>
          <short_desc>Split bundle page clients out into separate headers</short_desc>
          <delta_ts>2013-12-02 15:45:50 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Anders Carlsson">andersca</reporter>
          <assigned_to name="Anders Carlsson">andersca</assigned_to>
          
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>955642</commentid>
    <comment_count>0</comment_count>
    <who name="Anders Carlsson">andersca</who>
    <bug_when>2013-12-02 15:30:04 -0800</bug_when>
    <thetext>Split bundle page clients out into separate headers</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>955645</commentid>
    <comment_count>1</comment_count>
      <attachid>218228</attachid>
    <who name="Anders Carlsson">andersca</who>
    <bug_when>2013-12-02 15:33:45 -0800</bug_when>
    <thetext>Created attachment 218228
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>955648</commentid>
    <comment_count>2</comment_count>
      <attachid>218230</attachid>
    <who name="Anders Carlsson">andersca</who>
    <bug_when>2013-12-02 15:34:40 -0800</bug_when>
    <thetext>Created attachment 218230
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>955649</commentid>
    <comment_count>3</comment_count>
      <attachid>218230</attachid>
    <who name="Andreas Kling">kling</who>
    <bug_when>2013-12-02 15:35:35 -0800</bug_when>
    <thetext>Comment on attachment 218230
Patch

Oh wow. It&apos;s happening.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>955653</commentid>
    <comment_count>4</comment_count>
    <who name="Anders Carlsson">andersca</who>
    <bug_when>2013-12-02 15:45:50 -0800</bug_when>
    <thetext>Committed r159976: &lt;http://trac.webkit.org/changeset/159976&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>218228</attachid>
            <date>2013-12-02 15:33:45 -0800</date>
            <delta_ts>2013-12-02 15:34:39 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-125115-20131202153345.patch</filename>
            <type>text/plain</type>
            <size>90425</size>
            <attacher name="Anders Carlsson">andersca</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTU5OTY1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggMDg1YmM2NmM1NGY2ODNj
YTMwMDVjN2U3MWU1NDE3ZmU0N2I0MTcyYi4uNDI5MzQyMzk2NTIyOTY0ZTBmZjJiMGZlNWJkMzJm
Njk3NTJjMTE3ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDI0IEBACiAyMDEzLTEyLTAyICBBbmRl
cnMgQ2FybHNzb24gIDxhbmRlcnNjYUBhcHBsZS5jb20+CiAKKyAgICAgICAgU3BsaXQgYnVuZGxl
IHBhZ2UgY2xpZW50cyBvdXQgaW50byBzZXBhcmF0ZSBoZWFkZXJzCisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMjUxMTUKKworICAgICAgICBSZXZpZXdl
ZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIFdlYktpdDIueGNvZGVwcm9qL3Byb2pl
Y3QucGJ4cHJvajoKKyAgICAgICAgKiBXZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0FQSS9jL1dL
QnVuZGxlUGFnZS5oOgorICAgICAgICAqIFdlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvQVBJL2Mv
V0tCdW5kbGVQYWdlQ29udGV4dE1lbnVDbGllbnQuaDogQWRkZWQuCisgICAgICAgICogV2ViUHJv
Y2Vzcy9JbmplY3RlZEJ1bmRsZS9BUEkvYy9XS0J1bmRsZVBhZ2VEaWFnbm9zdGljTG9nZ2luZ0Ns
aWVudC5oOiBBZGRlZC4KKyAgICAgICAgKiBXZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0FQSS9j
L1dLQnVuZGxlUGFnZUVkaXRvckNsaWVudC5oOiBBZGRlZC4KKyAgICAgICAgKiBXZWJQcm9jZXNz
L0luamVjdGVkQnVuZGxlL0FQSS9jL1dLQnVuZGxlUGFnZUZvcm1DbGllbnQuaDogQWRkZWQuCisg
ICAgICAgICogV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9BUEkvYy9XS0J1bmRsZVBhZ2VGdWxs
U2NyZWVuQ2xpZW50Lmg6IEFkZGVkLgorICAgICAgICAqIFdlYlByb2Nlc3MvSW5qZWN0ZWRCdW5k
bGUvQVBJL2MvV0tCdW5kbGVQYWdlTG9hZGVyQ2xpZW50Lmg6IEFkZGVkLgorICAgICAgICAqIFdl
YlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvQVBJL2MvV0tCdW5kbGVQYWdlUG9saWN5Q2xpZW50Lmg6
IEFkZGVkLgorICAgICAgICAqIFdlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvQVBJL2MvV0tCdW5k
bGVQYWdlUmVzb3VyY2VMb2FkQ2xpZW50Lmg6IEFkZGVkLgorICAgICAgICAqIFdlYlByb2Nlc3Mv
SW5qZWN0ZWRCdW5kbGUvQVBJL2MvV0tCdW5kbGVQYWdlVUlDbGllbnQuaDogQWRkZWQuCisKKzIw
MTMtMTItMDIgIEFuZGVycyBDYXJsc3NvbiAgPGFuZGVyc2NhQGFwcGxlLmNvbT4KKwogICAgICAg
ICBXS1BhZ2VMb2FkZXJDbGllbnQgc2hvdWxkIGJlIHZlcnNpb25lZAogICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTI1MTA0CiAKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQyL1dlYktpdDIueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvaiBiL1NvdXJjZS9X
ZWJLaXQyL1dlYktpdDIueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagppbmRleCA2MjcwN2JkYTIz
MGMxZGMxMTcyOTQyZjVkNDUyZGQ3ZDJiMTE0Yzc1Li5lYTFmMzU5ZjBlNjA2ODRkODk2MTdlZDM1
YWRiZjRmMjNhMDliNjJmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJLaXQyLnhjb2Rl
cHJvai9wcm9qZWN0LnBieHByb2oKKysrIGIvU291cmNlL1dlYktpdDIvV2ViS2l0Mi54Y29kZXBy
b2ovcHJvamVjdC5wYnhwcm9qCkBAIC0yMzQsNiArMjM0LDE1IEBACiAJCTFBQjE2QUVBMTY0QjNB
ODgwMDI5MEQ2MiAvKiBSZW1vdGVMYXllclRyZWVDb250ZXh0LmggaW4gSGVhZGVycyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxQUIxNkFFODE2NEIzQTg4MDAyOTBENjIgLyog
UmVtb3RlTGF5ZXJUcmVlQ29udGV4dC5oICovOyB9OwogCQkxQUIzMUE5NjE2QkM2ODgxMDBGNkRC
QzkgLyogU3RvcmFnZU1hbmFnZXJNZXNzYWdlUmVjZWl2ZXIuY3BwIGluIFNvdXJjZXMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMUFCMzFBOTQxNkJDNjg4MTAwRjZEQkM5IC8q
IFN0b3JhZ2VNYW5hZ2VyTWVzc2FnZVJlY2VpdmVyLmNwcCAqLzsgfTsKIAkJMUFCMzFBOTcxNkJD
Njg4MTAwRjZEQkM5IC8qIFN0b3JhZ2VNYW5hZ2VyTWVzc2FnZXMuaCBpbiBIZWFkZXJzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDFBQjMxQTk1MTZCQzY4ODEwMEY2REJDOSAv
KiBTdG9yYWdlTWFuYWdlck1lc3NhZ2VzLmggKi87IH07CisJCTFBQjQ3NEQ4MTg0RDQzRkQwMDUx
QjYyMiAvKiBXS0J1bmRsZVBhZ2VMb2FkZXJDbGllbnQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDFBQjQ3NEQ3MTg0RDQzRkQwMDUxQjYyMiAvKiBXS0J1
bmRsZVBhZ2VMb2FkZXJDbGllbnQuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2
YXRlLCApOyB9OyB9OworCQkxQUI0NzREQTE4NEQ0NDI1MDA1MUI2MjIgLyogV0tCdW5kbGVQYWdl
UmVzb3VyY2VMb2FkQ2xpZW50LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSAxQUI0NzREOTE4NEQ0NDI1MDA1MUI2MjIgLyogV0tCdW5kbGVQYWdlUmVzb3Vy
Y2VMb2FkQ2xpZW50LmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsg
fTsgfTsKKwkJMUFCNDc0REUxODRENDQ1OTAwNTFCNjIyIC8qIFdLQnVuZGxlUGFnZVVJQ2xpZW50
LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxQUI0NzRE
RDE4NEQ0NDU5MDA1MUI2MjIgLyogV0tCdW5kbGVQYWdlVUlDbGllbnQuaCAqLzsgc2V0dGluZ3Mg
PSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OworCQkxQUI0NzRFMDE4NEQ0NDZBMDA1
MUI2MjIgLyogV0tCdW5kbGVQYWdlRWRpdG9yQ2xpZW50LmggaW4gSGVhZGVycyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxQUI0NzRERjE4NEQ0NDZBMDA1MUI2MjIgLyogV0tC
dW5kbGVQYWdlRWRpdG9yQ2xpZW50LmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJp
dmF0ZSwgKTsgfTsgfTsKKwkJMUFCNDc0RTIxODRENDQ4MDAwNTFCNjIyIC8qIFdLQnVuZGxlUGFn
ZUZvcm1DbGllbnQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IDFBQjQ3NEUxMTg0RDQ0ODAwMDUxQjYyMiAvKiBXS0J1bmRsZVBhZ2VGb3JtQ2xpZW50Lmgg
Ki87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJMUFCNDc0
RTQxODRENDQ5ODAwNTFCNjIyIC8qIFdLQnVuZGxlUGFnZUNvbnRleHRNZW51Q2xpZW50LmggaW4g
SGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxQUI0NzRFMzE4NEQ0
NDk4MDA1MUI2MjIgLyogV0tCdW5kbGVQYWdlQ29udGV4dE1lbnVDbGllbnQuaCAqLzsgc2V0dGlu
Z3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OworCQkxQUI0NzRFNjE4NEQ0NEI0
MDA1MUI2MjIgLyogV0tCdW5kbGVQYWdlRnVsbFNjcmVlbkNsaWVudC5oIGluIEhlYWRlcnMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMUFCNDc0RTUxODRENDRCNDAwNTFCNjIy
IC8qIFdLQnVuZGxlUGFnZUZ1bGxTY3JlZW5DbGllbnQuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklC
VVRFUyA9IChQcml2YXRlLCApOyB9OyB9OworCQkxQUI0NzRFODE4NEQ0NEQwMDA1MUI2MjIgLyog
V0tCdW5kbGVQYWdlRGlhZ25vc3RpY0xvZ2dpbmdDbGllbnQuaCBpbiBIZWFkZXJzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDFBQjQ3NEU3MTg0RDQ0RDAwMDUxQjYyMiAvKiBX
S0J1bmRsZVBhZ2VEaWFnbm9zdGljTG9nZ2luZ0NsaWVudC5oICovOyBzZXR0aW5ncyA9IHtBVFRS
SUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CisJCTFBQjQ3NEVBMTg0RDQ1MTMwMDUxQjYyMiAv
KiBXS0J1bmRsZVBhZ2VQb2xpY3lDbGllbnQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IDFBQjQ3NEU5MTg0RDQ1MTMwMDUxQjYyMiAvKiBXS0J1bmRsZVBh
Z2VQb2xpY3lDbGllbnQuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCAp
OyB9OyB9OwogCQkxQUI3RDRDQTEyODhBQUE3MDBDRkQwOEMgLyogRG93bmxvYWRQcm94eS5oIGlu
IEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMUFCN0Q0QzgxMjg4
QUFBNzAwQ0ZEMDhDIC8qIERvd25sb2FkUHJveHkuaCAqLzsgfTsKIAkJMUFCN0Q0Q0IxMjg4QUFB
NzAwQ0ZEMDhDIC8qIERvd25sb2FkUHJveHkuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gMUFCN0Q0QzkxMjg4QUFBNzAwQ0ZEMDhDIC8qIERvd25sb2Fk
UHJveHkuY3BwICovOyB9OwogCQkxQUI3RDYxOTEyODhCOUQ5MDBDRkQwOEMgLyogRG93bmxvYWRQ
cm94eU1lc3NhZ2VSZWNlaXZlci5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSAxQUI3RDYxNzEyODhCOUQ5MDBDRkQwOEMgLyogRG93bmxvYWRQcm94eU1l
c3NhZ2VSZWNlaXZlci5jcHAgKi87IH07CkBAIC0xNzM2LDYgKzE3NDUsMTUgQEAKIAkJMUFCMzFB
OTMxNkJDNjVBQjAwRjZEQkM5IC8qIFN0b3JhZ2VNYW5hZ2VyLm1lc3NhZ2VzLmluICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9IFN0
b3JhZ2VNYW5hZ2VyLm1lc3NhZ2VzLmluOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkx
QUIzMUE5NDE2QkM2ODgxMDBGNkRCQzkgLyogU3RvcmFnZU1hbmFnZXJNZXNzYWdlUmVjZWl2ZXIu
Y3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gU3RvcmFnZU1hbmFnZXJN
ZXNzYWdlUmVjZWl2ZXIuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkxQUIzMUE5
NTE2QkM2ODgxMDBGNkRCQzkgLyogU3RvcmFnZU1hbmFnZXJNZXNzYWdlcy5oICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jLmg7IHBhdGggPSBTdG9yYWdlTWFuYWdlck1lc3NhZ2VzLmg7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CisJCTFBQjQ3NEQ3MTg0RDQzRkQwMDUxQjYyMiAvKiBXS0J1bmRs
ZVBhZ2VMb2FkZXJDbGllbnQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gV0tC
dW5kbGVQYWdlTG9hZGVyQ2xpZW50Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTFB
QjQ3NEQ5MTg0RDQ0MjUwMDUxQjYyMiAvKiBXS0J1bmRsZVBhZ2VSZXNvdXJjZUxvYWRDbGllbnQu
aCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gV0tCdW5kbGVQYWdlUmVzb3VyY2VM
b2FkQ2xpZW50Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTFBQjQ3NEREMTg0RDQ0
NTkwMDUxQjYyMiAvKiBXS0J1bmRsZVBhZ2VVSUNsaWVudC5oICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jLmg7IHBhdGggPSBXS0J1bmRsZVBhZ2VVSUNsaWVudC5oOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OworCQkxQUI0NzRERjE4NEQ0NDZBMDA1MUI2MjIgLyogV0tCdW5kbGVQYWdlRWRpdG9y
Q2xpZW50LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFdLQnVuZGxlUGFnZUVk
aXRvckNsaWVudC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkxQUI0NzRFMTE4NEQ0
NDgwMDA1MUI2MjIgLyogV0tCdW5kbGVQYWdlRm9ybUNsaWVudC5oICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jLmg7IHBhdGggPSBXS0J1bmRsZVBhZ2VGb3JtQ2xpZW50Lmg7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CisJCTFBQjQ3NEUzMTg0RDQ0OTgwMDUxQjYyMiAvKiBXS0J1bmRsZVBhZ2VD
b250ZXh0TWVudUNsaWVudC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBXS0J1
bmRsZVBhZ2VDb250ZXh0TWVudUNsaWVudC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owor
CQkxQUI0NzRFNTE4NEQ0NEI0MDA1MUI2MjIgLyogV0tCdW5kbGVQYWdlRnVsbFNjcmVlbkNsaWVu
dC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBXS0J1bmRsZVBhZ2VGdWxsU2Ny
ZWVuQ2xpZW50Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTFBQjQ3NEU3MTg0RDQ0
RDAwMDUxQjYyMiAvKiBXS0J1bmRsZVBhZ2VEaWFnbm9zdGljTG9nZ2luZ0NsaWVudC5oICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBXS0J1bmRsZVBhZ2VEaWFnbm9zdGljTG9nZ2lu
Z0NsaWVudC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkxQUI0NzRFOTE4NEQ0NTEz
MDA1MUI2MjIgLyogV0tCdW5kbGVQYWdlUG9saWN5Q2xpZW50LmggKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmMuaDsgcGF0aCA9IFdLQnVuZGxlUGFnZVBvbGljeUNsaWVudC5oOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OwogCQkxQUI3RDRDODEyODhBQUE3MDBDRkQwOEMgLyogRG93bmxvYWRQcm94
eS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBEb3dubG9hZFByb3h5Lmg7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTFBQjdENEM5MTI4OEFBQTcwMENGRDA4QyAvKiBE
b3dubG9hZFByb3h5LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IERv
d25sb2FkUHJveHkuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkxQUI3RDVFOTEy
ODhCOEMwMDBDRkQwOEMgLyogRG93bmxvYWRQcm94eS5tZXNzYWdlcy5pbiAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHRl
eHQ7IHBhdGggPSBEb3dubG9hZFByb3h5Lm1lc3NhZ2VzLmluOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OwpAQCAtNDgyOSwxMSArNDg0NywyMCBAQAogCQkJCUJDMjA1MjdGMTFDOTQyODQwMDhG
MzM3NSAvKiBXS0J1bmRsZVBhZ2UuaCAqLywKIAkJCQk3Q0Y0N0ZGNDE3Mjc1QjcxMDA4QUNCOTEg
LyogV0tCdW5kbGVQYWdlQmFubmVyLmNwcCAqLywKIAkJCQk3Q0Y0N0ZGNTE3Mjc1QjcxMDA4QUNC
OTEgLyogV0tCdW5kbGVQYWdlQmFubmVyLmggKi8sCisJCQkJMUFCNDc0RTMxODRENDQ5ODAwNTFC
NjIyIC8qIFdLQnVuZGxlUGFnZUNvbnRleHRNZW51Q2xpZW50LmggKi8sCisJCQkJMUFCNDc0RTcx
ODRENDREMDAwNTFCNjIyIC8qIFdLQnVuZGxlUGFnZURpYWdub3N0aWNMb2dnaW5nQ2xpZW50Lmgg
Ki8sCisJCQkJMUFCNDc0REYxODRENDQ2QTAwNTFCNjIyIC8qIFdLQnVuZGxlUGFnZUVkaXRvckNs
aWVudC5oICovLAorCQkJCTFBQjQ3NEUxMTg0RDQ0ODAwMDUxQjYyMiAvKiBXS0J1bmRsZVBhZ2VG
b3JtQ2xpZW50LmggKi8sCisJCQkJMUFCNDc0RTUxODRENDRCNDAwNTFCNjIyIC8qIFdLQnVuZGxl
UGFnZUZ1bGxTY3JlZW5DbGllbnQuaCAqLywKIAkJCQlCQzdCNjMzQzEyQTQ1RDEyMDBEMTc0QTQg
LyogV0tCdW5kbGVQYWdlR3JvdXAuY3BwICovLAogCQkJCUJDN0I2MzNCMTJBNDVEMTIwMEQxNzRB
NCAvKiBXS0J1bmRsZVBhZ2VHcm91cC5oICovLAorCQkJCTFBQjQ3NEQ3MTg0RDQzRkQwMDUxQjYy
MiAvKiBXS0J1bmRsZVBhZ2VMb2FkZXJDbGllbnQuaCAqLywKIAkJCQkxQTIyRjEwMDEyODlGQ0Q5
MDA4NUU3NEYgLyogV0tCdW5kbGVQYWdlT3ZlcmxheS5jcHAgKi8sCiAJCQkJMUEyMkYwRkYxMjg5
RkNEOTAwODVFNzRGIC8qIFdLQnVuZGxlUGFnZU92ZXJsYXkuaCAqLywKKwkJCQkxQUI0NzRFOTE4
NEQ0NTEzMDA1MUI2MjIgLyogV0tCdW5kbGVQYWdlUG9saWN5Q2xpZW50LmggKi8sCiAJCQkJQkMx
QjQxOTcxMUQ0MUQ1NzAwMTFFOEREIC8qIFdLQnVuZGxlUGFnZVByaXZhdGUuaCAqLywKKwkJCQkx
QUI0NzREOTE4NEQ0NDI1MDA1MUI2MjIgLyogV0tCdW5kbGVQYWdlUmVzb3VyY2VMb2FkQ2xpZW50
LmggKi8sCisJCQkJMUFCNDc0REQxODRENDQ1OTAwNTFCNjIyIC8qIFdLQnVuZGxlUGFnZVVJQ2xp
ZW50LmggKi8sCiAJCQkJQkNGMDQ5RTUxMUZFMjBGNjAwRjg2QTU4IC8qIFdLQnVuZGxlUHJpdmF0
ZS5oICovLAogCQkJCUJDNjBDNTc4MTI0MEE1NDYwMDhDNUUyOSAvKiBXS0J1bmRsZVJhbmdlSGFu
ZGxlLmNwcCAqLywKIAkJCQlCQzYwQzU3NzEyNDBBNTQ2MDA4QzVFMjkgLyogV0tCdW5kbGVSYW5n
ZUhhbmRsZS5oICovLApAQCAtNTUzMiw2ICs1NTU5LDcgQEAKIAkJCQkxQTNERDIwNjEyNUU1QTJG
MDA0NTE1RTYgLyogQVBJQ2xpZW50LmggaW4gSGVhZGVycyAqLywKIAkJCQkxQUM3NTM4MDE4M0JF
NTBGMDA3MkNCMTUgLyogRGF0YVJlZmVyZW5jZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNUQ1MTg0
NTYxM0JDRjlDQzAwQzdGRjRBIC8qIEFQSUNsaWVudFRyYWl0cy5oIGluIEhlYWRlcnMgKi8sCisJ
CQkJMUFCNDc0RDgxODRENDNGRDAwNTFCNjIyIC8qIFdLQnVuZGxlUGFnZUxvYWRlckNsaWVudC5o
IGluIEhlYWRlcnMgKi8sCiAJCQkJMUFFRkQyNzkxMUQxNkM4MTAwODIxOUQzIC8qIEFyZ3VtZW50
Q29kZXIuaCBpbiBIZWFkZXJzICovLAogCQkJCTFBRUZEMkY3MTFEMTgwN0IwMDgyMTlEMyAvKiBB
cmd1bWVudENvZGVycy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMUFBRjBDNEExMkIxNjMzNDAwOEU0
OUUyIC8qIEFyZ3VtZW50Q29kZXJzQ0YuaCBpbiBIZWFkZXJzICovLApAQCAtNTY3MCw4ICs1Njk4
LDEwIEBACiAJCQkJMzFBMkVDNTYxNDg5OUMwOTAwODEwRDcxIC8qIE5vdGlmaWNhdGlvblBlcm1p
c3Npb25SZXF1ZXN0LmggaW4gSGVhZGVycyAqLywKIAkJCQkzMTMxMjYxRjE0OEZGODJDMDBCQTJB
MzkgLyogTm90aWZpY2F0aW9uUGVybWlzc2lvblJlcXVlc3RNYW5hZ2VyLmggaW4gSGVhZGVycyAq
LywKIAkJCQkzMUEyRUM1MjE0ODk5ODE5MDA4MTBENzEgLyogTm90aWZpY2F0aW9uUGVybWlzc2lv
blJlcXVlc3RNYW5hZ2VyUHJveHkuaCBpbiBIZWFkZXJzICovLAorCQkJCTFBQjQ3NEUwMTg0RDQ0
NkEwMDUxQjYyMiAvKiBXS0J1bmRsZVBhZ2VFZGl0b3JDbGllbnQuaCBpbiBIZWFkZXJzICovLAog
CQkJCTFBMkQ4NDhCMTI3RjZBNDkwMDFFQjk2MiAvKiBOUElkZW50aWZpZXJEYXRhLmggaW4gSGVh
ZGVycyAqLywKIAkJCQkxQUU0OTc2ODExRkY2NThFMDA0OEI0NjQgLyogTlBKU09iamVjdC5oIGlu
IEhlYWRlcnMgKi8sCisJCQkJMUFCNDc0RTIxODRENDQ4MDAwNTFCNjIyIC8qIFdLQnVuZGxlUGFn
ZUZvcm1DbGllbnQuaCBpbiBIZWFkZXJzICovLAogCQkJCTFBMkQ4MkE1MTI3RjRFQUIwMDFFQjk2
MiAvKiBOUE9iamVjdE1lc3NhZ2VSZWNlaXZlci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMUEyRDg0
M0ExMjdGNjVENTAwMUVCOTYyIC8qIE5QT2JqZWN0TWVzc2FnZVJlY2VpdmVyTWVzc2FnZXMuaCBp
biBIZWFkZXJzICovLAogCQkJCTFBMkQ4MkE3MTI3RjRFQUIwMDFFQjk2MiAvKiBOUE9iamVjdFBy
b3h5LmggaW4gSGVhZGVycyAqLywKQEAgLTU3NTgsOCArNTc4OCwxMCBAQAogCQkJCTFBQ0VDRDI1
MTcxNjJEQjEwMDFGQzlFRiAvKiBTdG9yYWdlQXJlYU1hcC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJ
MUEzMzRERUUxNkRFOEY4ODAwNkE4RTM4IC8qIFN0b3JhZ2VBcmVhTWFwTWVzc2FnZXMuaCBpbiBI
ZWFkZXJzICovLAogCQkJCTFBNDRCOTVDMTZCNzNGOUYwMEI3QkJEOCAvKiBTdG9yYWdlTWFuYWdl
ci5oIGluIEhlYWRlcnMgKi8sCisJCQkJMUFCNDc0RTYxODRENDRCNDAwNTFCNjIyIC8qIFdLQnVu
ZGxlUGFnZUZ1bGxTY3JlZW5DbGllbnQuaCBpbiBIZWFkZXJzICovLAogCQkJCTFBQjMxQTk3MTZC
QzY4ODEwMEY2REJDOSAvKiBTdG9yYWdlTWFuYWdlck1lc3NhZ2VzLmggaW4gSGVhZGVycyAqLywK
IAkJCQkyOTZCRDg1RDE1MDE5QkMzMDA3MUY0MjQgLyogU3RyaW5nVXRpbGl0aWVzLmggaW4gSGVh
ZGVycyAqLywKKwkJCQkxQUI0NzRFNDE4NEQ0NDk4MDA1MUI2MjIgLyogV0tCdW5kbGVQYWdlQ29u
dGV4dE1lbnVDbGllbnQuaCBpbiBIZWFkZXJzICovLAogCQkJCTFBQTQxN0NCMTJDMDBDQ0EwMDJC
RTY3QiAvKiBUZXh0Q2hlY2tlci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMVFRNDE3Q0IxMkMwMEND
QTAwMkJFNjdCIC8qIFRleHRDaGVja2VyQ29tcGxldGlvbi5oIGluIEhlYWRlcnMgKi8sCiAJCQkJ
MUE1RTREQTQxMkQzQkQzRDAwOTlBMkJCIC8qIFRleHRDaGVja2VyU3RhdGUuaCBpbiBIZWFkZXJz
ICovLApAQCAtNTc3MCw2ICs1ODAyLDcgQEAKIAkJCQlCQ0IwQjBFMDEyMzA1QUIxMDBCMTM0MUUg
LyogVXNlck1lc3NhZ2VDb2RlcnMuaCBpbiBIZWFkZXJzICovLAogCQkJCTFBMEYyOUU0MTIwQjQ0
NDIwMDUzRDFCOSAvKiBWaXNpdGVkTGlua1Byb3ZpZGVyLmggaW4gSGVhZGVycyAqLywKIAkJCQkx
QTBGMjlDQzEyMEIzNzE2MDA1M0QxQjkgLyogVmlzaXRlZExpbmtUYWJsZS5oIGluIEhlYWRlcnMg
Ki8sCisJCQkJMUFCNDc0REUxODRENDQ1OTAwNTFCNjIyIC8qIFdLQnVuZGxlUGFnZVVJQ2xpZW50
LmggaW4gSGVhZGVycyAqLywKIAkJCQlDRURBMTJFMzE1MkNEMUIzMDBEOUUwOEQgLyogV2ViQWx0
ZXJuYXRpdmVUZXh0Q2xpZW50LmggaW4gSGVhZGVycyAqLywKIAkJCQk1MTJFMzUyRjEzMEI1NUFG
MDBBQkQxOUEgLyogV2ViQXBwbGljYXRpb25DYWNoZU1hbmFnZXIuaCBpbiBIZWFkZXJzICovLAog
CQkJCTUxMkUzNTZCMTMwQjU3RjAwMEFCRDE5QSAvKiBXZWJBcHBsaWNhdGlvbkNhY2hlTWFuYWdl
ck1lc3NhZ2VzLmggaW4gSGVhZGVycyAqLywKQEAgLTU4NTcsNiArNTg5MCw3IEBACiAJCQkJNTE4
MzQ1OTMxMzQ1MzJFOTAwOTJCNjk2IC8qIFdlYkljb25EYXRhYmFzZUNsaWVudC5oIGluIEhlYWRl
cnMgKi8sCiAJCQkJNTFEMDJGNkExMzJFQzczNzAwQkVBQTk2IC8qIFdlYkljb25EYXRhYmFzZU1l
c3NhZ2VzLmggaW4gSGVhZGVycyAqLywKIAkJCQk1MTFCMjRBNzEzMkUwOTU3MDAwNjVBMEMgLyog
V2ViSWNvbkRhdGFiYXNlUHJveHkuaCBpbiBIZWFkZXJzICovLAorCQkJCTFBQjQ3NEVBMTg0RDQ1
MTMwMDUxQjYyMiAvKiBXS0J1bmRsZVBhZ2VQb2xpY3lDbGllbnQuaCBpbiBIZWFkZXJzICovLAog
CQkJCTUxRDAyRjZDMTMyRUM3MzcwMEJFQUE5NiAvKiBXZWJJY29uRGF0YWJhc2VQcm94eU1lc3Nh
Z2VzLmggaW4gSGVhZGVycyAqLywKIAkJCQlCQ0NGNkFCRDEyQzkxRUY5MDA4RjlDMzUgLyogV2Vi
SW1hZ2UuaCBpbiBIZWFkZXJzICovLAogCQkJCTFDOEUyODIwMTI3NUQxNTQwMEJDN0JEMCAvKiBX
ZWJJbnNwZWN0b3IuaCBpbiBIZWFkZXJzICovLApAQCAtNTkzNyw2ICs1OTcxLDcgQEAKIAkJCQlC
Q0M1NzE1QjExNUFEQUVGMDAxQ0NBRjkgLyogV2ViU3lzdGVtSW50ZXJmYWNlLmggaW4gSGVhZGVy
cyAqLywKIAkJCQkxQTU5NEFCQjExMkExRkI2MDA5REU3QzcgLyogV2ViVUlDbGllbnQuaCBpbiBI
ZWFkZXJzICovLAogCQkJCUJDQTBFRjdGMTIzMzFFNzgwMDdEM0NGQiAvKiBXZWJVbmRvU3RlcC5o
IGluIEhlYWRlcnMgKi8sCisJCQkJMUFCNDc0RTgxODRENDREMDAwNTFCNjIyIC8qIFdLQnVuZGxl
UGFnZURpYWdub3N0aWNMb2dnaW5nQ2xpZW50LmggaW4gSGVhZGVycyAqLywKIAkJCQkxQUM3NTM3
QzE4M0E5RkRCMDA3MkNCMTUgLyogUGFnZUxvYWRTdGF0ZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJ
QkNEQjg2QzExMjAwRkI5NzAwNzI1NEJFIC8qIFdlYlVSTC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJ
NTFDOTYxMTkxODNEMjk0NzAwRDIwMDJFIC8qIFdlYklEQlNlcnZlckNvbm5lY3Rpb25NZXNzYWdl
cy5oIGluIEhlYWRlcnMgKi8sCkBAIC01OTUzLDYgKzU5ODgsNyBAQAogCQkJCUJDNjQ2QzFCMTFE
RDM5OUYwMDY0NTVCMCAvKiBXS0JhY2tGb3J3YXJkTGlzdFJlZi5oIGluIEhlYWRlcnMgKi8sCiAJ
CQkJMzdDNEMwOTUxODE0QjlFNjAwMzY4OEI5IC8qIFdLQmFja0ZvcndhcmRMaXN0SW50ZXJuYWwu
aCBpbiBIZWFkZXJzICovLAogCQkJCUJDNjQ2QzFEMTFERDM5OUYwMDY0NTVCMCAvKiBXS0JhY2tG
b3J3YXJkTGlzdEl0ZW1SZWYuaCBpbiBIZWFkZXJzICovLAorCQkJCTFBQjQ3NERBMTg0RDQ0MjUw
MDUxQjYyMiAvKiBXS0J1bmRsZVBhZ2VSZXNvdXJjZUxvYWRDbGllbnQuaCBpbiBIZWFkZXJzICov
LAogCQkJCUJDRERCMzE3MTI0RUJEMTMwMDQ4RDEzQyAvKiBXS0Jhc2UuaCBpbiBIZWFkZXJzICov
LAogCQkJCTdDRDVFQkJCMTc0NkE4M0UwMDBDMUM0NSAvKiBXS0Jhc2VNYWMuaCBpbiBIZWFkZXJz
ICovLAogCQkJCUJDQkFBQzczMTQ0RTYxOUUwMDUzRjgyRiAvKiBXS0Jyb3dzaW5nQ29udGV4dENv
bnRyb2xsZXIuaCBpbiBIZWFkZXJzICovLApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2Vi
UHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9BUEkvYy9XS0J1bmRsZVBhZ2UuaCBiL1NvdXJjZS9XZWJL
aXQyL1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvQVBJL2MvV0tCdW5kbGVQYWdlLmgKaW5kZXgg
Y2Y1M2M3MDc5MTc0NWQ0YjU5NDg1MTQ3MWEwNjA1YmYwN2RjY2M1MS4uODlkMWUxNmRlNTkxNTVl
MDgyYTNkMDU2MzE0YjNjNjQxZWQ2ZDk3NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2Vi
UHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9BUEkvYy9XS0J1bmRsZVBhZ2UuaAorKysgYi9Tb3VyY2Uv
V2ViS2l0Mi9XZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0FQSS9jL1dLQnVuZGxlUGFnZS5oCkBA
IC0yOCw2ICsyOCwxNSBAQAogCiAjaW5jbHVkZSA8SmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdC5o
PgogI2luY2x1ZGUgPFdlYktpdDIvV0tCYXNlLmg+CisjaW5jbHVkZSA8V2ViS2l0Mi9XS0J1bmRs
ZVBhZ2VDb250ZXh0TWVudUNsaWVudC5oPgorI2luY2x1ZGUgPFdlYktpdDIvV0tCdW5kbGVQYWdl
RGlhZ25vc3RpY0xvZ2dpbmdDbGllbnQuaD4KKyNpbmNsdWRlIDxXZWJLaXQyL1dLQnVuZGxlUGFn
ZUVkaXRvckNsaWVudC5oPgorI2luY2x1ZGUgPFdlYktpdDIvV0tCdW5kbGVQYWdlRm9ybUNsaWVu
dC5oPgorI2luY2x1ZGUgPFdlYktpdDIvV0tCdW5kbGVQYWdlRnVsbFNjcmVlbkNsaWVudC5oPgor
I2luY2x1ZGUgPFdlYktpdDIvV0tCdW5kbGVQYWdlTG9hZGVyQ2xpZW50Lmg+CisjaW5jbHVkZSA8
V2ViS2l0Mi9XS0J1bmRsZVBhZ2VQb2xpY3lDbGllbnQuaD4KKyNpbmNsdWRlIDxXZWJLaXQyL1dL
QnVuZGxlUGFnZVJlc291cmNlTG9hZENsaWVudC5oPgorI2luY2x1ZGUgPFdlYktpdDIvV0tCdW5k
bGVQYWdlVUlDbGllbnQuaD4KICNpbmNsdWRlIDxXZWJLaXQyL1dLRXZlbnQuaD4KICNpbmNsdWRl
IDxXZWJLaXQyL1dLRmluZE9wdGlvbnMuaD4KICNpbmNsdWRlIDxXZWJLaXQyL1dLSW1hZ2UuaD4K
QEAgLTQzLDM3OSArNTIsNiBAQAogZXh0ZXJuICJDIiB7CiAjZW5kaWYKIAotZW51bSB7Ci0gICAg
a1dLSW5zZXJ0QWN0aW9uVHlwZWQgPSAwLAotICAgIGtXS0luc2VydEFjdGlvblBhc3RlZCA9IDEs
Ci0gICAga1dLSW5zZXJ0QWN0aW9uRHJvcHBlZCA9IDIKLX07Ci10eXBlZGVmIHVpbnQzMl90IFdL
SW5zZXJ0QWN0aW9uVHlwZTsKLQotZW51bSB7Ci0gICAga1dLQWZmaW5pdHlVcHN0cmVhbSwKLSAg
ICBrV0tBZmZpbml0eURvd25zdHJlYW0KLX07Ci10eXBlZGVmIHVpbnQzMl90IFdLQWZmaW5pdHlU
eXBlOwotCi1lbnVtIHsKLSAgICBXS0lucHV0RmllbGRBY3Rpb25UeXBlTW92ZVVwLAotICAgIFdL
SW5wdXRGaWVsZEFjdGlvblR5cGVNb3ZlRG93biwKLSAgICBXS0lucHV0RmllbGRBY3Rpb25UeXBl
Q2FuY2VsLAotICAgIFdLSW5wdXRGaWVsZEFjdGlvblR5cGVJbnNlcnRUYWIsCi0gICAgV0tJbnB1
dEZpZWxkQWN0aW9uVHlwZUluc2VydEJhY2t0YWIsCi0gICAgV0tJbnB1dEZpZWxkQWN0aW9uVHlw
ZUluc2VydE5ld2xpbmUsCi0gICAgV0tJbnB1dEZpZWxkQWN0aW9uVHlwZUluc2VydERlbGV0ZQot
fTsKLXR5cGVkZWYgdWludDMyX3QgV0tJbnB1dEZpZWxkQWN0aW9uVHlwZTsKLQotZW51bSB7Ci0g
ICAgV0tGdWxsU2NyZWVuTm9LZXlib2FyZCwKLSAgICBXS0Z1bGxTY3JlZW5LZXlib2FyZCwKLX07
Ci10eXBlZGVmIHVpbnQzMl90IFdLRnVsbFNjcmVlbktleWJvYXJkUmVxdWVzdFR5cGU7Ci0KLWVu
dW0gewotICAgIFdLU2Nyb2xsRGlyZWN0aW9uTGVmdCwKLSAgICBXS1Njcm9sbERpcmVjdGlvblJp
Z2h0Ci19OwotdHlwZWRlZiB1aW50MzJfdCBXS1Njcm9sbERpcmVjdGlvbjsKLQotLy8gTG9hZGVy
IENsaWVudAotdHlwZWRlZiB2b2lkICgqV0tCdW5kbGVQYWdlRGlkU3RhcnRQcm92aXNpb25hbExv
YWRGb3JGcmFtZUNhbGxiYWNrKShXS0J1bmRsZVBhZ2VSZWYgcGFnZSwgV0tCdW5kbGVGcmFtZVJl
ZiBmcmFtZSwgV0tUeXBlUmVmKiB1c2VyRGF0YSwgY29uc3Qgdm9pZCAqY2xpZW50SW5mbyk7Ci10
eXBlZGVmIHZvaWQgKCpXS0J1bmRsZVBhZ2VEaWRSZWNlaXZlU2VydmVyUmVkaXJlY3RGb3JQcm92
aXNpb25hbExvYWRGb3JGcmFtZUNhbGxiYWNrKShXS0J1bmRsZVBhZ2VSZWYgcGFnZSwgV0tCdW5k
bGVGcmFtZVJlZiBmcmFtZSwgV0tUeXBlUmVmKiB1c2VyRGF0YSwgY29uc3Qgdm9pZCAqY2xpZW50
SW5mbyk7Ci10eXBlZGVmIHZvaWQgKCpXS0J1bmRsZVBhZ2VEaWRGYWlsUHJvdmlzaW9uYWxMb2Fk
V2l0aEVycm9yRm9yRnJhbWVDYWxsYmFjaykoV0tCdW5kbGVQYWdlUmVmIHBhZ2UsIFdLQnVuZGxl
RnJhbWVSZWYgZnJhbWUsIFdLRXJyb3JSZWYgZXJyb3IsIFdLVHlwZVJlZiogdXNlckRhdGEsIGNv
bnN0IHZvaWQgKmNsaWVudEluZm8pOwotdHlwZWRlZiB2b2lkICgqV0tCdW5kbGVQYWdlRGlkQ29t
bWl0TG9hZEZvckZyYW1lQ2FsbGJhY2spKFdLQnVuZGxlUGFnZVJlZiBwYWdlLCBXS0J1bmRsZUZy
YW1lUmVmIGZyYW1lLCBXS1R5cGVSZWYqIHVzZXJEYXRhLCBjb25zdCB2b2lkICpjbGllbnRJbmZv
KTsKLXR5cGVkZWYgdm9pZCAoKldLQnVuZGxlUGFnZURpZERvY3VtZW50RmluaXNoTG9hZEZvckZy
YW1lQ2FsbGJhY2spKFdLQnVuZGxlUGFnZVJlZiBwYWdlLCBXS0J1bmRsZUZyYW1lUmVmIGZyYW1l
LCBXS1R5cGVSZWYqIHVzZXJEYXRhLCBjb25zdCB2b2lkICpjbGllbnRJbmZvKTsKLXR5cGVkZWYg
dm9pZCAoKldLQnVuZGxlUGFnZURpZEZpbmlzaExvYWRGb3JGcmFtZUNhbGxiYWNrKShXS0J1bmRs
ZVBhZ2VSZWYgcGFnZSwgV0tCdW5kbGVGcmFtZVJlZiBmcmFtZSwgV0tUeXBlUmVmKiB1c2VyRGF0
YSwgY29uc3Qgdm9pZCAqY2xpZW50SW5mbyk7Ci10eXBlZGVmIHZvaWQgKCpXS0J1bmRsZVBhZ2VE
aWRGaW5pc2hEb2N1bWVudExvYWRGb3JGcmFtZUNhbGxiYWNrKShXS0J1bmRsZVBhZ2VSZWYgcGFn
ZSwgV0tCdW5kbGVGcmFtZVJlZiBmcmFtZSwgV0tUeXBlUmVmKiB1c2VyRGF0YSwgY29uc3Qgdm9p
ZCAqY2xpZW50SW5mbyk7Ci10eXBlZGVmIHZvaWQgKCpXS0J1bmRsZVBhZ2VEaWRGaW5pc2hQcm9n
cmVzc0NhbGxiYWNrKShXS0J1bmRsZVBhZ2VSZWYgcGFnZSwgY29uc3Qgdm9pZCAqY2xpZW50SW5m
byk7Ci10eXBlZGVmIHZvaWQgKCpXS0J1bmRsZVBhZ2VEaWRGYWlsTG9hZFdpdGhFcnJvckZvckZy
YW1lQ2FsbGJhY2spKFdLQnVuZGxlUGFnZVJlZiBwYWdlLCBXS0J1bmRsZUZyYW1lUmVmIGZyYW1l
LCBXS0Vycm9yUmVmIGVycm9yLCBXS1R5cGVSZWYqIHVzZXJEYXRhLCBjb25zdCB2b2lkICpjbGll
bnRJbmZvKTsKLXR5cGVkZWYgdm9pZCAoKldLQnVuZGxlUGFnZURpZFNhbWVEb2N1bWVudE5hdmln
YXRpb25Gb3JGcmFtZUNhbGxiYWNrKShXS0J1bmRsZVBhZ2VSZWYgcGFnZSwgV0tCdW5kbGVGcmFt
ZVJlZiBmcmFtZSwgV0tTYW1lRG9jdW1lbnROYXZpZ2F0aW9uVHlwZSB0eXBlLCBXS1R5cGVSZWYq
IHVzZXJEYXRhLCBjb25zdCB2b2lkICpjbGllbnRJbmZvKTsKLXR5cGVkZWYgdm9pZCAoKldLQnVu
ZGxlUGFnZURpZFJlY2VpdmVUaXRsZUZvckZyYW1lQ2FsbGJhY2spKFdLQnVuZGxlUGFnZVJlZiBw
YWdlLCBXS1N0cmluZ1JlZiB0aXRsZSwgV0tCdW5kbGVGcmFtZVJlZiBmcmFtZSwgV0tUeXBlUmVm
KiB1c2VyRGF0YSwgY29uc3Qgdm9pZCAqY2xpZW50SW5mbyk7Ci10eXBlZGVmIHZvaWQgKCpXS0J1
bmRsZVBhZ2VEaWRSZW1vdmVGcmFtZUZyb21IaWVyYXJjaHlDYWxsYmFjaykoV0tCdW5kbGVQYWdl
UmVmIHBhZ2UsIFdLQnVuZGxlRnJhbWVSZWYgZnJhbWUsIFdLVHlwZVJlZiogdXNlckRhdGEsIGNv
bnN0IHZvaWQgKmNsaWVudEluZm8pOwotdHlwZWRlZiB2b2lkICgqV0tCdW5kbGVQYWdlRGlkRGlz
cGxheUluc2VjdXJlQ29udGVudEZvckZyYW1lQ2FsbGJhY2spKFdLQnVuZGxlUGFnZVJlZiBwYWdl
LCBXS0J1bmRsZUZyYW1lUmVmIGZyYW1lLCBXS1R5cGVSZWYqIHVzZXJEYXRhLCBjb25zdCB2b2lk
ICpjbGllbnRJbmZvKTsKLXR5cGVkZWYgdm9pZCAoKldLQnVuZGxlUGFnZURpZFJ1bkluc2VjdXJl
Q29udGVudEZvckZyYW1lQ2FsbGJhY2spKFdLQnVuZGxlUGFnZVJlZiBwYWdlLCBXS0J1bmRsZUZy
YW1lUmVmIGZyYW1lLCBXS1R5cGVSZWYqIHVzZXJEYXRhLCBjb25zdCB2b2lkICpjbGllbnRJbmZv
KTsKLXR5cGVkZWYgdm9pZCAoKldLQnVuZGxlUGFnZURpZERldGVjdFhTU0ZvckZyYW1lQ2FsbGJh
Y2spKFdLQnVuZGxlUGFnZVJlZiBwYWdlLCBXS0J1bmRsZUZyYW1lUmVmIGZyYW1lLCBXS1R5cGVS
ZWYqIHVzZXJEYXRhLCBjb25zdCB2b2lkICpjbGllbnRJbmZvKTsKLXR5cGVkZWYgdm9pZCAoKldL
QnVuZGxlUGFnZURpZEZpcnN0TGF5b3V0Rm9yRnJhbWVDYWxsYmFjaykoV0tCdW5kbGVQYWdlUmVm
IHBhZ2UsIFdLQnVuZGxlRnJhbWVSZWYgZnJhbWUsIFdLVHlwZVJlZiogdXNlckRhdGEsIGNvbnN0
IHZvaWQgKmNsaWVudEluZm8pOwotdHlwZWRlZiB2b2lkICgqV0tCdW5kbGVQYWdlRGlkRmlyc3RW
aXN1YWxseU5vbkVtcHR5TGF5b3V0Rm9yRnJhbWVDYWxsYmFjaykoV0tCdW5kbGVQYWdlUmVmIHBh
Z2UsIFdLQnVuZGxlRnJhbWVSZWYgZnJhbWUsIFdLVHlwZVJlZiogdXNlckRhdGEsIGNvbnN0IHZv
aWQgKmNsaWVudEluZm8pOwotdHlwZWRlZiB2b2lkICgqV0tCdW5kbGVQYWdlRGlkTGF5b3V0Rm9y
RnJhbWVDYWxsYmFjaykoV0tCdW5kbGVQYWdlUmVmIHBhZ2UsIFdLQnVuZGxlRnJhbWVSZWYgZnJh
bWUsIGNvbnN0IHZvaWQqIGNsaWVudEluZm8pOwotdHlwZWRlZiB2b2lkICgqV0tCdW5kbGVQYWdl
RGlkQ2xlYXJXaW5kb3dPYmplY3RGb3JGcmFtZUNhbGxiYWNrKShXS0J1bmRsZVBhZ2VSZWYgcGFn
ZSwgV0tCdW5kbGVGcmFtZVJlZiBmcmFtZSwgV0tCdW5kbGVTY3JpcHRXb3JsZFJlZiB3b3JsZCwg
Y29uc3Qgdm9pZCAqY2xpZW50SW5mbyk7Ci10eXBlZGVmIHZvaWQgKCpXS0J1bmRsZVBhZ2VEaWRD
YW5jZWxDbGllbnRSZWRpcmVjdEZvckZyYW1lQ2FsbGJhY2spKFdLQnVuZGxlUGFnZVJlZiBwYWdl
LCBXS0J1bmRsZUZyYW1lUmVmIGZyYW1lLCBjb25zdCB2b2lkICpjbGllbnRJbmZvKTsKLXR5cGVk
ZWYgdm9pZCAoKldLQnVuZGxlUGFnZVdpbGxQZXJmb3JtQ2xpZW50UmVkaXJlY3RGb3JGcmFtZUNh
bGxiYWNrKShXS0J1bmRsZVBhZ2VSZWYgcGFnZSwgV0tCdW5kbGVGcmFtZVJlZiBmcmFtZSwgV0tV
UkxSZWYgdXJsLCBkb3VibGUgZGVsYXksIGRvdWJsZSBkYXRlLCBjb25zdCB2b2lkICpjbGllbnRJ
bmZvKTsKLXR5cGVkZWYgdm9pZCAoKldLQnVuZGxlUGFnZURpZEhhbmRsZU9ubG9hZEV2ZW50c0Zv
ckZyYW1lQ2FsbGJhY2spKFdLQnVuZGxlUGFnZVJlZiBwYWdlLCBXS0J1bmRsZUZyYW1lUmVmIGZy
YW1lLCBjb25zdCB2b2lkICpjbGllbnRJbmZvKTsKLXR5cGVkZWYgYm9vbCAoKldLQnVuZGxlUGFn
ZVNob3VsZEdvVG9CYWNrRm9yd2FyZExpc3RJdGVtQ2FsbGJhY2spKFdLQnVuZGxlUGFnZVJlZiBw
YWdlLCBXS0J1bmRsZUJhY2tGb3J3YXJkTGlzdEl0ZW1SZWYgaXRlbSwgV0tUeXBlUmVmKiB1c2Vy
RGF0YSwgY29uc3Qgdm9pZCAqY2xpZW50SW5mbyk7Ci10eXBlZGVmIHZvaWQgKCpXS0J1bmRsZVBh
Z2VHbG9iYWxPYmplY3RJc0F2YWlsYWJsZUZvckZyYW1lQ2FsbGJhY2spKFdLQnVuZGxlUGFnZVJl
ZiBwYWdlLCBXS0J1bmRsZUZyYW1lUmVmLCBXS0J1bmRsZVNjcmlwdFdvcmxkUmVmLCBjb25zdCB2
b2lkKiBjbGllbnRJbmZvKTsKLXR5cGVkZWYgdm9pZCAoKldLQnVuZGxlUGFnZVdpbGxEaXNjb25u
ZWN0RE9NV2luZG93RXh0ZW5zaW9uRnJvbUdsb2JhbE9iamVjdENhbGxiYWNrKShXS0J1bmRsZVBh
Z2VSZWYgcGFnZSwgV0tCdW5kbGVET01XaW5kb3dFeHRlbnNpb25SZWYsIGNvbnN0IHZvaWQqIGNs
aWVudEluZm8pOwotdHlwZWRlZiB2b2lkICgqV0tCdW5kbGVQYWdlRGlkUmVjb25uZWN0RE9NV2lu
ZG93RXh0ZW5zaW9uVG9HbG9iYWxPYmplY3RDYWxsYmFjaykoV0tCdW5kbGVQYWdlUmVmIHBhZ2Us
IFdLQnVuZGxlRE9NV2luZG93RXh0ZW5zaW9uUmVmLCBjb25zdCB2b2lkKiBjbGllbnRJbmZvKTsK
LXR5cGVkZWYgdm9pZCAoKldLQnVuZGxlUGFnZVdpbGxEZXN0cm95R2xvYmFsT2JqZWN0Rm9yRE9N
V2luZG93RXh0ZW5zaW9uQ2FsbGJhY2spKFdLQnVuZGxlUGFnZVJlZiBwYWdlLCBXS0J1bmRsZURP
TVdpbmRvd0V4dGVuc2lvblJlZiwgY29uc3Qgdm9pZCogY2xpZW50SW5mbyk7Ci10eXBlZGVmIGJv
b2wgKCpXS0J1bmRsZVBhZ2VTaG91bGRGb3JjZVVuaXZlcnNhbEFjY2Vzc0Zyb21Mb2NhbFVSTENh
bGxiYWNrKShXS0J1bmRsZVBhZ2VSZWYsIFdLU3RyaW5nUmVmIHVybCwgY29uc3Qgdm9pZCogY2xp
ZW50SW5mbyk7Ci10eXBlZGVmIHZvaWQgKCpXS0J1bmRsZVBhZ2VEaWRMYXlvdXRDYWxsYmFjayko
V0tCdW5kbGVQYWdlUmVmIHBhZ2UsIFdLTGF5b3V0TWlsZXN0b25lcyBtaWxlc3RvbmVzLCBXS1R5
cGVSZWYqIHVzZXJEYXRhLCBjb25zdCB2b2lkICpjbGllbnRJbmZvKTsKLXR5cGVkZWYgdm9pZCAo
KldLQnVuZGxlUGFnZUZlYXR1cmVzVXNlZEluUGFnZUNhbGxiYWNrKShXS0J1bmRsZVBhZ2VSZWYg
cGFnZSwgV0tBcnJheVJlZiBmZWF0dXJlU3RyaW5ncywgY29uc3Qgdm9pZCAqY2xpZW50SW5mbyk7
Ci10eXBlZGVmIHZvaWQgKCpXS0J1bmRsZVBhZ2VXaWxsTG9hZFVSTFJlcXVlc3RDYWxsYmFjayko
V0tCdW5kbGVQYWdlUmVmIHBhZ2UsIFdLVVJMUmVxdWVzdFJlZiByZXF1ZXN0LCBXS1R5cGVSZWYg
dXNlckRhdGEsIGNvbnN0IHZvaWQgKmNsaWVudEluZm8pOwotdHlwZWRlZiB2b2lkICgqV0tCdW5k
bGVQYWdlV2lsbExvYWREYXRhUmVxdWVzdENhbGxiYWNrKShXS0J1bmRsZVBhZ2VSZWYgcGFnZSwg
V0tVUkxSZXF1ZXN0UmVmIHJlcXVlc3QsIFdLRGF0YVJlZiBkYXRhLCBXS1N0cmluZ1JlZiBNSU1F
VHlwZSwgV0tTdHJpbmdSZWYgZW5jb2RpbmdOYW1lLCBXS1VSTFJlZiB1bnJlYWNoYWJsZVVSTCwg
V0tUeXBlUmVmIHVzZXJEYXRhLCBjb25zdCB2b2lkICpjbGllbnRJbmZvKTsKLXR5cGVkZWYgdm9p
ZCAoKldLQnVuZGxlUGFnZVdpbGxEZXN0cm95RnJhbWUpKFdLQnVuZGxlUGFnZVJlZiBwYWdlLCBX
S0J1bmRsZUZyYW1lUmVmIGZyYW1lLCBjb25zdCB2b2lkICpjbGllbnRJbmZvKTsKLQotc3RydWN0
IFdLQnVuZGxlUGFnZUxvYWRlckNsaWVudCB7Ci0gICAgaW50ICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmVyc2lvbjsK
LSAgICBjb25zdCB2b2lkICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBjbGllbnRJbmZvOwotCi0gICAgLy8gVmVyc2lvbiAwLgotICAg
IFdLQnVuZGxlUGFnZURpZFN0YXJ0UHJvdmlzaW9uYWxMb2FkRm9yRnJhbWVDYWxsYmFjayAgICAg
ICAgICAgICAgICAgICAgIGRpZFN0YXJ0UHJvdmlzaW9uYWxMb2FkRm9yRnJhbWU7Ci0gICAgV0tC
dW5kbGVQYWdlRGlkUmVjZWl2ZVNlcnZlclJlZGlyZWN0Rm9yUHJvdmlzaW9uYWxMb2FkRm9yRnJh
bWVDYWxsYmFjayAgZGlkUmVjZWl2ZVNlcnZlclJlZGlyZWN0Rm9yUHJvdmlzaW9uYWxMb2FkRm9y
RnJhbWU7Ci0gICAgV0tCdW5kbGVQYWdlRGlkRmFpbFByb3Zpc2lvbmFsTG9hZFdpdGhFcnJvckZv
ckZyYW1lQ2FsbGJhY2sgICAgICAgICAgICAgZGlkRmFpbFByb3Zpc2lvbmFsTG9hZFdpdGhFcnJv
ckZvckZyYW1lOwotICAgIFdLQnVuZGxlUGFnZURpZENvbW1pdExvYWRGb3JGcmFtZUNhbGxiYWNr
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpZENvbW1pdExvYWRGb3JGcmFtZTsKLSAg
ICBXS0J1bmRsZVBhZ2VEaWRGaW5pc2hEb2N1bWVudExvYWRGb3JGcmFtZUNhbGxiYWNrICAgICAg
ICAgICAgICAgICAgICAgICBkaWRGaW5pc2hEb2N1bWVudExvYWRGb3JGcmFtZTsKLSAgICBXS0J1
bmRsZVBhZ2VEaWRGaW5pc2hMb2FkRm9yRnJhbWVDYWxsYmFjayAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBkaWRGaW5pc2hMb2FkRm9yRnJhbWU7Ci0gICAgV0tCdW5kbGVQYWdlRGlkRmFp
bExvYWRXaXRoRXJyb3JGb3JGcmFtZUNhbGxiYWNrICAgICAgICAgICAgICAgICAgICAgICAgZGlk
RmFpbExvYWRXaXRoRXJyb3JGb3JGcmFtZTsKLSAgICBXS0J1bmRsZVBhZ2VEaWRTYW1lRG9jdW1l
bnROYXZpZ2F0aW9uRm9yRnJhbWVDYWxsYmFjayAgICAgICAgICAgICAgICAgICBkaWRTYW1lRG9j
dW1lbnROYXZpZ2F0aW9uRm9yRnJhbWU7Ci0gICAgV0tCdW5kbGVQYWdlRGlkUmVjZWl2ZVRpdGxl
Rm9yRnJhbWVDYWxsYmFjayAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGlkUmVjZWl2ZVRp
dGxlRm9yRnJhbWU7Ci0gICAgV0tCdW5kbGVQYWdlRGlkRmlyc3RMYXlvdXRGb3JGcmFtZUNhbGxi
YWNrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGlkRmlyc3RMYXlvdXRGb3JGcmFtZTsK
LSAgICBXS0J1bmRsZVBhZ2VEaWRGaXJzdFZpc3VhbGx5Tm9uRW1wdHlMYXlvdXRGb3JGcmFtZUNh
bGxiYWNrICAgICAgICAgICAgICBkaWRGaXJzdFZpc3VhbGx5Tm9uRW1wdHlMYXlvdXRGb3JGcmFt
ZTsKLSAgICBXS0J1bmRsZVBhZ2VEaWRSZW1vdmVGcmFtZUZyb21IaWVyYXJjaHlDYWxsYmFjayAg
ICAgICAgICAgICAgICAgICAgICAgICBkaWRSZW1vdmVGcmFtZUZyb21IaWVyYXJjaHk7Ci0gICAg
V0tCdW5kbGVQYWdlRGlkRGlzcGxheUluc2VjdXJlQ29udGVudEZvckZyYW1lQ2FsbGJhY2sgICAg
ICAgICAgICAgICAgICAgZGlkRGlzcGxheUluc2VjdXJlQ29udGVudEZvckZyYW1lOwotICAgIFdL
QnVuZGxlUGFnZURpZFJ1bkluc2VjdXJlQ29udGVudEZvckZyYW1lQ2FsbGJhY2sgICAgICAgICAg
ICAgICAgICAgICAgIGRpZFJ1bkluc2VjdXJlQ29udGVudEZvckZyYW1lOwotICAgIFdLQnVuZGxl
UGFnZURpZENsZWFyV2luZG93T2JqZWN0Rm9yRnJhbWVDYWxsYmFjayAgICAgICAgICAgICAgICAg
ICAgICAgIGRpZENsZWFyV2luZG93T2JqZWN0Rm9yRnJhbWU7Ci0gICAgV0tCdW5kbGVQYWdlRGlk
Q2FuY2VsQ2xpZW50UmVkaXJlY3RGb3JGcmFtZUNhbGxiYWNrICAgICAgICAgICAgICAgICAgICAg
ZGlkQ2FuY2VsQ2xpZW50UmVkaXJlY3RGb3JGcmFtZTsKLSAgICBXS0J1bmRsZVBhZ2VXaWxsUGVy
Zm9ybUNsaWVudFJlZGlyZWN0Rm9yRnJhbWVDYWxsYmFjayAgICAgICAgICAgICAgICAgICB3aWxs
UGVyZm9ybUNsaWVudFJlZGlyZWN0Rm9yRnJhbWU7Ci0gICAgV0tCdW5kbGVQYWdlRGlkSGFuZGxl
T25sb2FkRXZlbnRzRm9yRnJhbWVDYWxsYmFjayAgICAgICAgICAgICAgICAgICAgICAgZGlkSGFu
ZGxlT25sb2FkRXZlbnRzRm9yRnJhbWU7Ci0KLSAgICAvLyBWZXJzaW9uIDEuCi0gICAgV0tCdW5k
bGVQYWdlRGlkTGF5b3V0Rm9yRnJhbWVDYWxsYmFjayAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgZGlkTGF5b3V0Rm9yRnJhbWU7Ci0gICAgdm9pZCAqICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGlkTmV3Rmly
c3RWaXN1YWxseU5vbkVtcHR5TGF5b3V0X3VuYXZhaWxhYmxlOwotICAgIFdLQnVuZGxlUGFnZURp
ZERldGVjdFhTU0ZvckZyYW1lQ2FsbGJhY2sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGRpZERldGVjdFhTU0ZvckZyYW1lOwotICAgIFdLQnVuZGxlUGFnZVNob3VsZEdvVG9CYWNrRm9y
d2FyZExpc3RJdGVtQ2FsbGJhY2sgICAgICAgICAgICAgICAgICAgICAgIHNob3VsZEdvVG9CYWNr
Rm9yd2FyZExpc3RJdGVtOwotICAgIFdLQnVuZGxlUGFnZUdsb2JhbE9iamVjdElzQXZhaWxhYmxl
Rm9yRnJhbWVDYWxsYmFjayAgICAgICAgICAgICAgICAgICAgIGdsb2JhbE9iamVjdElzQXZhaWxh
YmxlRm9yRnJhbWU7Ci0gICAgV0tCdW5kbGVQYWdlV2lsbERpc2Nvbm5lY3RET01XaW5kb3dFeHRl
bnNpb25Gcm9tR2xvYmFsT2JqZWN0Q2FsbGJhY2sgICAgd2lsbERpc2Nvbm5lY3RET01XaW5kb3dF
eHRlbnNpb25Gcm9tR2xvYmFsT2JqZWN0OwotICAgIFdLQnVuZGxlUGFnZURpZFJlY29ubmVjdERP
TVdpbmRvd0V4dGVuc2lvblRvR2xvYmFsT2JqZWN0Q2FsbGJhY2sgICAgICAgIGRpZFJlY29ubmVj
dERPTVdpbmRvd0V4dGVuc2lvblRvR2xvYmFsT2JqZWN0OwotICAgIFdLQnVuZGxlUGFnZVdpbGxE
ZXN0cm95R2xvYmFsT2JqZWN0Rm9yRE9NV2luZG93RXh0ZW5zaW9uQ2FsbGJhY2sgICAgICAgIHdp
bGxEZXN0cm95R2xvYmFsT2JqZWN0Rm9yRE9NV2luZG93RXh0ZW5zaW9uOwotICAgIAotICAgIC8v
IFZlcnNpb24gMgotICAgIFdLQnVuZGxlUGFnZURpZEZpbmlzaFByb2dyZXNzQ2FsbGJhY2sgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpZEZpbmlzaFByb2dyZXNzOwotICAgIFdL
QnVuZGxlUGFnZVNob3VsZEZvcmNlVW5pdmVyc2FsQWNjZXNzRnJvbUxvY2FsVVJMQ2FsbGJhY2sg
ICAgICAgICAgICAgIHNob3VsZEZvcmNlVW5pdmVyc2FsQWNjZXNzRnJvbUxvY2FsVVJMOwotCi0g
ICAgLy8gVmVyc2lvbiAzCi0gICAgdm9pZCAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGlkUmVjZWl2ZUludGVudEZvckZy
YW1lX3VuYXZhaWxhYmxlOwotICAgIHZvaWQgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlZ2lzdGVySW50ZW50U2Vydmlj
ZUZvckZyYW1lX3VuYXZhaWxhYmxlOwotCi0gICAgLy8gVmVyc2lvbiA0Ci0gICAgV0tCdW5kbGVQ
YWdlRGlkTGF5b3V0Q2FsbGJhY2sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgZGlkTGF5b3V0OwotCi0gICAgLy8gVmVyc2lvbiA1Ci0gICAgV0tCdW5kbGVQYWdlRmVh
dHVyZXNVc2VkSW5QYWdlQ2FsbGJhY2sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ZmVhdHVyZXNVc2VkSW5QYWdlOwotICAgIAotICAgIC8vIFZlcnNpb24gNgotICAgIFdLQnVuZGxl
UGFnZVdpbGxMb2FkVVJMUmVxdWVzdENhbGxiYWNrICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIHdpbGxMb2FkVVJMUmVxdWVzdDsKLSAgICBXS0J1bmRsZVBhZ2VXaWxsTG9hZERhdGFS
ZXF1ZXN0Q2FsbGJhY2sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aWxsTG9hZERh
dGFSZXF1ZXN0OwotCi0gICAgLy8gVmVyc2lvbiA3Ci0gICAgV0tCdW5kbGVQYWdlV2lsbERlc3Ry
b3lGcmFtZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgd2lsbERl
c3Ryb3lGcmFtZTsKLX07Ci10eXBlZGVmIHN0cnVjdCBXS0J1bmRsZVBhZ2VMb2FkZXJDbGllbnQg
V0tCdW5kbGVQYWdlTG9hZGVyQ2xpZW50OwotCi1lbnVtIHsga1dLQnVuZGxlUGFnZUxvYWRlckNs
aWVudEN1cnJlbnRWZXJzaW9uID0gNyB9OwotCi1lbnVtIHsKLSAgICBXS0J1bmRsZVBhZ2VQb2xp
Y3lBY3Rpb25QYXNzVGhyb3VnaCwKLSAgICBXS0J1bmRsZVBhZ2VQb2xpY3lBY3Rpb25Vc2UKLX07
Ci10eXBlZGVmIHVpbnQzMl90IFdLQnVuZGxlUGFnZVBvbGljeUFjdGlvbjsKLQotLy8gUG9saWN5
IENsaWVudAotdHlwZWRlZiBXS0J1bmRsZVBhZ2VQb2xpY3lBY3Rpb24gKCpXS0J1bmRsZVBhZ2VE
ZWNpZGVQb2xpY3lGb3JOYXZpZ2F0aW9uQWN0aW9uQ2FsbGJhY2spKFdLQnVuZGxlUGFnZVJlZiBw
YWdlLCBXS0J1bmRsZUZyYW1lUmVmIGZyYW1lLCBXS0J1bmRsZU5hdmlnYXRpb25BY3Rpb25SZWYg
bmF2aWdhdGlvbkFjdGlvbiwgV0tVUkxSZXF1ZXN0UmVmIHJlcXVlc3QsIFdLVHlwZVJlZiogdXNl
ckRhdGEsIGNvbnN0IHZvaWQqIGNsaWVudEluZm8pOwotdHlwZWRlZiBXS0J1bmRsZVBhZ2VQb2xp
Y3lBY3Rpb24gKCpXS0J1bmRsZVBhZ2VEZWNpZGVQb2xpY3lGb3JOZXdXaW5kb3dBY3Rpb25DYWxs
YmFjaykoV0tCdW5kbGVQYWdlUmVmIHBhZ2UsIFdLQnVuZGxlRnJhbWVSZWYgZnJhbWUsIFdLQnVu
ZGxlTmF2aWdhdGlvbkFjdGlvblJlZiBuYXZpZ2F0aW9uQWN0aW9uLCBXS1VSTFJlcXVlc3RSZWYg
cmVxdWVzdCwgV0tTdHJpbmdSZWYgZnJhbWVOYW1lLCBXS1R5cGVSZWYqIHVzZXJEYXRhLCBjb25z
dCB2b2lkKiBjbGllbnRJbmZvKTsKLXR5cGVkZWYgV0tCdW5kbGVQYWdlUG9saWN5QWN0aW9uICgq
V0tCdW5kbGVQYWdlRGVjaWRlUG9saWN5Rm9yUmVzcG9uc2VDYWxsYmFjaykoV0tCdW5kbGVQYWdl
UmVmIHBhZ2UsIFdLQnVuZGxlRnJhbWVSZWYgZnJhbWUsIFdLVVJMUmVzcG9uc2VSZWYgcmVzcG9u
c2UsIFdLVVJMUmVxdWVzdFJlZiByZXF1ZXN0LCBXS1R5cGVSZWYqIHVzZXJEYXRhLCBjb25zdCB2
b2lkKiBjbGllbnRJbmZvKTsKLXR5cGVkZWYgdm9pZCAoKldLQnVuZGxlUGFnZVVuYWJsZVRvSW1w
bGVtZW50UG9saWN5Q2FsbGJhY2spKFdLQnVuZGxlUGFnZVJlZiBwYWdlLCBXS0J1bmRsZUZyYW1l
UmVmIGZyYW1lLCBXS0Vycm9yUmVmIGVycm9yLCBXS1R5cGVSZWYqIHVzZXJEYXRhLCBjb25zdCB2
b2lkKiBjbGllbnRJbmZvKTsKLQotc3RydWN0IFdLQnVuZGxlUGFnZVBvbGljeUNsaWVudCB7Ci0g
ICAgaW50ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICB2ZXJzaW9uOwotICAgIGNvbnN0IHZvaWQgKiAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xpZW50SW5mbzsKLSAgICBX
S0J1bmRsZVBhZ2VEZWNpZGVQb2xpY3lGb3JOYXZpZ2F0aW9uQWN0aW9uQ2FsbGJhY2sgICAgICAg
ICAgICAgICAgIGRlY2lkZVBvbGljeUZvck5hdmlnYXRpb25BY3Rpb247Ci0gICAgV0tCdW5kbGVQ
YWdlRGVjaWRlUG9saWN5Rm9yTmV3V2luZG93QWN0aW9uQ2FsbGJhY2sgICAgICAgICAgICAgICAg
ICBkZWNpZGVQb2xpY3lGb3JOZXdXaW5kb3dBY3Rpb247Ci0gICAgV0tCdW5kbGVQYWdlRGVjaWRl
UG9saWN5Rm9yUmVzcG9uc2VDYWxsYmFjayAgICAgICAgICAgICAgICAgICAgICAgICBkZWNpZGVQ
b2xpY3lGb3JSZXNwb25zZTsKLSAgICBXS0J1bmRsZVBhZ2VVbmFibGVUb0ltcGxlbWVudFBvbGlj
eUNhbGxiYWNrICAgICAgICAgICAgICAgICAgICAgICAgIHVuYWJsZVRvSW1wbGVtZW50UG9saWN5
OwotfTsKLXR5cGVkZWYgc3RydWN0IFdLQnVuZGxlUGFnZVBvbGljeUNsaWVudCBXS0J1bmRsZVBh
Z2VQb2xpY3lDbGllbnQ7Ci0KLWVudW0geyBrV0tCdW5kbGVQYWdlUG9saWN5Q2xpZW50Q3VycmVu
dFZlcnNpb24gPSAwIH07Ci0KLS8vIFJlc291cmNlIExvYWQgQ2xpZW50Ci10eXBlZGVmIHZvaWQg
KCpXS0J1bmRsZVBhZ2VEaWRJbml0aWF0ZUxvYWRGb3JSZXNvdXJjZUNhbGxiYWNrKShXS0J1bmRs
ZVBhZ2VSZWYsIFdLQnVuZGxlRnJhbWVSZWYsIHVpbnQ2NF90IHJlc291cmNlSWRlbnRpZmllciwg
V0tVUkxSZXF1ZXN0UmVmLCBib29sIHBhZ2VJc1Byb3Zpc2lvbmFsbHlMb2FkaW5nLCBjb25zdCB2
b2lkKiBjbGllbnRJbmZvKTsKLXR5cGVkZWYgV0tVUkxSZXF1ZXN0UmVmICgqV0tCdW5kbGVQYWdl
V2lsbFNlbmRSZXF1ZXN0Rm9yRnJhbWVDYWxsYmFjaykoV0tCdW5kbGVQYWdlUmVmLCBXS0J1bmRs
ZUZyYW1lUmVmLCB1aW50NjRfdCByZXNvdXJjZUlkZW50aWZpZXIsIFdLVVJMUmVxdWVzdFJlZiwg
V0tVUkxSZXNwb25zZVJlZiByZWRpcmVjdFJlc3BvbnNlLCBjb25zdCB2b2lkICpjbGllbnRJbmZv
KTsKLXR5cGVkZWYgdm9pZCAoKldLQnVuZGxlUGFnZURpZFJlY2VpdmVSZXNwb25zZUZvclJlc291
cmNlQ2FsbGJhY2spKFdLQnVuZGxlUGFnZVJlZiwgV0tCdW5kbGVGcmFtZVJlZiwgdWludDY0X3Qg
cmVzb3VyY2VJZGVudGlmaWVyLCBXS1VSTFJlc3BvbnNlUmVmLCBjb25zdCB2b2lkKiBjbGllbnRJ
bmZvKTsKLXR5cGVkZWYgdm9pZCAoKldLQnVuZGxlUGFnZURpZFJlY2VpdmVDb250ZW50TGVuZ3Ro
Rm9yUmVzb3VyY2VDYWxsYmFjaykoV0tCdW5kbGVQYWdlUmVmLCBXS0J1bmRsZUZyYW1lUmVmLCB1
aW50NjRfdCByZXNvdXJjZUlkZW50aWZpZXIsIHVpbnQ2NF90IGNvbnRlbnRMZW5ndGgsIGNvbnN0
IHZvaWQqIGNsaWVudEluZm8pOwotdHlwZWRlZiB2b2lkICgqV0tCdW5kbGVQYWdlRGlkRmluaXNo
TG9hZEZvclJlc291cmNlQ2FsbGJhY2spKFdLQnVuZGxlUGFnZVJlZiwgV0tCdW5kbGVGcmFtZVJl
ZiwgdWludDY0X3QgcmVzb3VyY2VJZGVudGlmaWVyLCBjb25zdCB2b2lkKiBjbGllbnRJbmZvKTsK
LXR5cGVkZWYgdm9pZCAoKldLQnVuZGxlUGFnZURpZEZhaWxMb2FkRm9yUmVzb3VyY2VDYWxsYmFj
aykoV0tCdW5kbGVQYWdlUmVmLCBXS0J1bmRsZUZyYW1lUmVmLCB1aW50NjRfdCByZXNvdXJjZUlk
ZW50aWZpZXIsIFdLRXJyb3JSZWYsIGNvbnN0IHZvaWQqIGNsaWVudEluZm8pOwotdHlwZWRlZiBi
b29sICgqV0tCdW5kbGVQYWdlU2hvdWxkQ2FjaGVSZXNwb25zZUNhbGxiYWNrKShXS0J1bmRsZVBh
Z2VSZWYsIFdLQnVuZGxlRnJhbWVSZWYsIHVpbnQ2NF90IHJlc291cmNlSWRlbnRpZmllciwgY29u
c3Qgdm9pZCogY2xpZW50SW5mbyk7Ci10eXBlZGVmIGJvb2wgKCpXS0J1bmRsZVBhZ2VTaG91bGRV
c2VDcmVkZW50aWFsU3RvcmFnZUNhbGxiYWNrKShXS0J1bmRsZVBhZ2VSZWYsIFdLQnVuZGxlRnJh
bWVSZWYsIHVpbnQ2NF90IHJlc291cmNlSWRlbnRpZmllciwgY29uc3Qgdm9pZCogY2xpZW50SW5m
byk7Ci0KLXN0cnVjdCBXS0J1bmRsZVBhZ2VSZXNvdXJjZUxvYWRDbGllbnQgewotICAgIGludCAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgdmVyc2lvbjsKLSAgICBjb25zdCB2b2lkICogICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsaWVudEluZm87Ci0KLSAgICAvLyBWZXJz
aW9uIDAuCi0gICAgV0tCdW5kbGVQYWdlRGlkSW5pdGlhdGVMb2FkRm9yUmVzb3VyY2VDYWxsYmFj
ayAgICAgICAgICAgICAgICAgICAgICBkaWRJbml0aWF0ZUxvYWRGb3JSZXNvdXJjZTsKLQotICAg
IC8vIHdpbGxTZW5kUmVxdWVzdEZvckZyYW1lIGlzIHN1cHBvc2VkIHRvIHJldHVybiBhIHJldGFp
bmVkIHJlZmVyZW5jZSB0byB0aGUgVVJMIHJlcXVlc3QuCi0gICAgV0tCdW5kbGVQYWdlV2lsbFNl
bmRSZXF1ZXN0Rm9yRnJhbWVDYWxsYmFjayAgICAgICAgICAgICAgICAgICAgICAgICB3aWxsU2Vu
ZFJlcXVlc3RGb3JGcmFtZTsKLQotICAgIFdLQnVuZGxlUGFnZURpZFJlY2VpdmVSZXNwb25zZUZv
clJlc291cmNlQ2FsbGJhY2sgICAgICAgICAgICAgICAgICAgZGlkUmVjZWl2ZVJlc3BvbnNlRm9y
UmVzb3VyY2U7Ci0gICAgV0tCdW5kbGVQYWdlRGlkUmVjZWl2ZUNvbnRlbnRMZW5ndGhGb3JSZXNv
dXJjZUNhbGxiYWNrICAgICAgICAgICAgICBkaWRSZWNlaXZlQ29udGVudExlbmd0aEZvclJlc291
cmNlOwotICAgIFdLQnVuZGxlUGFnZURpZEZpbmlzaExvYWRGb3JSZXNvdXJjZUNhbGxiYWNrICAg
ICAgICAgICAgICAgICAgICAgICAgZGlkRmluaXNoTG9hZEZvclJlc291cmNlOwotICAgIFdLQnVu
ZGxlUGFnZURpZEZhaWxMb2FkRm9yUmVzb3VyY2VDYWxsYmFjayAgICAgICAgICAgICAgICAgICAg
ICAgICAgZGlkRmFpbExvYWRGb3JSZXNvdXJjZTsKLQotICAgIC8vIFZlcnNpb24gMS4KLSAgICBX
S0J1bmRsZVBhZ2VTaG91bGRDYWNoZVJlc3BvbnNlQ2FsbGJhY2sgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIHNob3VsZENhY2hlUmVzcG9uc2U7Ci0gICAgV0tCdW5kbGVQYWdlU2hvdWxkVXNl
Q3JlZGVudGlhbFN0b3JhZ2VDYWxsYmFjayAgICAgICAgICAgICAgICAgICAgICBzaG91bGRVc2VD
cmVkZW50aWFsU3RvcmFnZTsKLX07Ci10eXBlZGVmIHN0cnVjdCBXS0J1bmRsZVBhZ2VSZXNvdXJj
ZUxvYWRDbGllbnQgV0tCdW5kbGVQYWdlUmVzb3VyY2VMb2FkQ2xpZW50OwotCi1lbnVtIHsga1dL
QnVuZGxlUGFnZVJlc291cmNlTG9hZENsaWVudEN1cnJlbnRWZXJzaW9uID0gMSB9OwotCi1lbnVt
IHsKLSAgICBXS0J1bmRsZVBhZ2VVSUVsZW1lbnRWaXNpYmlsaXR5VW5rbm93biwKLSAgICBXS0J1
bmRsZVBhZ2VVSUVsZW1lbnRWaXNpYmxlLAotICAgIFdLQnVuZGxlUGFnZVVJRWxlbWVudEhpZGRl
bgotfTsKLXR5cGVkZWYgdWludDMyX3QgV0tCdW5kbGVQYWdlVUlFbGVtZW50VmlzaWJpbGl0eTsK
LQotZW51bSB7Ci0gICAgV0tCdW5kbGVQYWdlTGFiZWxTaXplU21hbGwsCi0gICAgV0tCdW5kbGVQ
YWdlTGFiZWxTaXplTGFyZ2UsCi19OwotdHlwZWRlZiB1aW50MzJfdCBXS0J1bmRsZVBhZ2VMYWJl
bFNpemU7Ci0KLS8vIFVJIENsaWVudAotdHlwZWRlZiB2b2lkICgqV0tCdW5kbGVQYWdlV2lsbEFk
ZE1lc3NhZ2VUb0NvbnNvbGVDYWxsYmFjaykoV0tCdW5kbGVQYWdlUmVmIHBhZ2UsIFdLU3RyaW5n
UmVmIG1lc3NhZ2UsIHVpbnQzMl90IGxpbmVOdW1iZXIsIGNvbnN0IHZvaWQgKmNsaWVudEluZm8p
OwotdHlwZWRlZiB2b2lkICgqV0tCdW5kbGVQYWdlV2lsbFNldFN0YXR1c2JhclRleHRDYWxsYmFj
aykoV0tCdW5kbGVQYWdlUmVmIHBhZ2UsIFdLU3RyaW5nUmVmIHN0YXR1c2JhclRleHQsIGNvbnN0
IHZvaWQgKmNsaWVudEluZm8pOwotdHlwZWRlZiB2b2lkICgqV0tCdW5kbGVQYWdlV2lsbFJ1bkph
dmFTY3JpcHRBbGVydENhbGxiYWNrKShXS0J1bmRsZVBhZ2VSZWYgcGFnZSwgV0tTdHJpbmdSZWYg
YWxlcnRUZXh0LCBXS0J1bmRsZUZyYW1lUmVmIGZyYW1lLCBjb25zdCB2b2lkICpjbGllbnRJbmZv
KTsKLXR5cGVkZWYgdm9pZCAoKldLQnVuZGxlUGFnZVdpbGxSdW5KYXZhU2NyaXB0Q29uZmlybUNh
bGxiYWNrKShXS0J1bmRsZVBhZ2VSZWYgcGFnZSwgV0tTdHJpbmdSZWYgbWVzc2FnZSwgV0tCdW5k
bGVGcmFtZVJlZiBmcmFtZSwgY29uc3Qgdm9pZCAqY2xpZW50SW5mbyk7Ci10eXBlZGVmIHZvaWQg
KCpXS0J1bmRsZVBhZ2VXaWxsUnVuSmF2YVNjcmlwdFByb21wdENhbGxiYWNrKShXS0J1bmRsZVBh
Z2VSZWYgcGFnZSwgV0tTdHJpbmdSZWYgbWVzc2FnZSwgV0tTdHJpbmdSZWYgZGVmYXVsdFZhbHVl
LCBXS0J1bmRsZUZyYW1lUmVmIGZyYW1lLCBjb25zdCB2b2lkICpjbGllbnRJbmZvKTsKLXR5cGVk
ZWYgdm9pZCAoKldLQnVuZGxlUGFnZU1vdXNlRGlkTW92ZU92ZXJFbGVtZW50Q2FsbGJhY2spKFdL
QnVuZGxlUGFnZVJlZiBwYWdlLCBXS0J1bmRsZUhpdFRlc3RSZXN1bHRSZWYgaGl0VGVzdFJlc3Vs
dCwgV0tFdmVudE1vZGlmaWVycyBtb2RpZmllcnMsIFdLVHlwZVJlZiogdXNlckRhdGEsIGNvbnN0
IHZvaWQgKmNsaWVudEluZm8pOwotdHlwZWRlZiB2b2lkICgqV0tCdW5kbGVQYWdlRGlkU2Nyb2xs
Q2FsbGJhY2spKFdLQnVuZGxlUGFnZVJlZiBwYWdlLCBjb25zdCB2b2lkICpjbGllbnRJbmZvKTsK
LXR5cGVkZWYgV0tTdHJpbmdSZWYgKCpXS0J1bmRsZVBhZ2VHZW5lcmF0ZUZpbGVGb3JVcGxvYWRD
YWxsYmFjaykoV0tCdW5kbGVQYWdlUmVmIHBhZ2UsIFdLU3RyaW5nUmVmIG9yaWdpbmFsRmlsZVBh
dGgsIGNvbnN0IHZvaWQqIGNsaWVudEluZm8pOwotdHlwZWRlZiBXS0J1bmRsZVBhZ2VVSUVsZW1l
bnRWaXNpYmlsaXR5ICgqV0tCdW5kbGVQYWdlU3RhdHVzQmFySXNWaXNpYmxlQ2FsbGJhY2spKFdL
QnVuZGxlUGFnZVJlZiBwYWdlLCBjb25zdCB2b2lkICpjbGllbnRJbmZvKTsKLXR5cGVkZWYgV0tC
dW5kbGVQYWdlVUlFbGVtZW50VmlzaWJpbGl0eSAoKldLQnVuZGxlUGFnZU1lbnVCYXJJc1Zpc2li
bGVDYWxsYmFjaykoV0tCdW5kbGVQYWdlUmVmIHBhZ2UsIGNvbnN0IHZvaWQgKmNsaWVudEluZm8p
OwotdHlwZWRlZiBXS0J1bmRsZVBhZ2VVSUVsZW1lbnRWaXNpYmlsaXR5ICgqV0tCdW5kbGVQYWdl
VG9vbGJhcnNBcmVWaXNpYmxlQ2FsbGJhY2spKFdLQnVuZGxlUGFnZVJlZiBwYWdlLCBjb25zdCB2
b2lkICpjbGllbnRJbmZvKTsKLXR5cGVkZWYgdm9pZCAoKldLQnVuZGxlUGFnZVJlYWNoZWRBcHBD
YWNoZU9yaWdpblF1b3RhQ2FsbGJhY2spKFdLQnVuZGxlUGFnZVJlZiBwYWdlLCBXS1NlY3VyaXR5
T3JpZ2luUmVmIG9yaWdpbiwgaW50NjRfdCB0b3RhbEJ5dGVzTmVlZGVkLCBjb25zdCB2b2lkICpj
bGllbnRJbmZvKTsKLXR5cGVkZWYgdWludDY0X3QgKCpXS0J1bmRsZVBhZ2VFeGNlZWRlZERhdGFi
YXNlUXVvdGFDYWxsYmFjaykoV0tCdW5kbGVQYWdlUmVmIHBhZ2UsIFdLU2VjdXJpdHlPcmlnaW5S
ZWYgb3JpZ2luLCBXS1N0cmluZ1JlZiBkYXRhYmFzZU5hbWUsIFdLU3RyaW5nUmVmIGRhdGFiYXNl
RGlzcGxheU5hbWUsIHVpbnQ2NF90IGN1cnJlbnRRdW90YUJ5dGVzLCB1aW50NjRfdCBjdXJyZW50
T3JpZ2luVXNhZ2VCeXRlcywgdWludDY0X3QgY3VycmVudERhdGFiYXNlVXNhZ2VCeXRlcywgdWlu
dDY0X3QgZXhwZWN0ZWRVc2FnZUJ5dGVzLCBjb25zdCB2b2lkICpjbGllbnRJbmZvKTsKLXR5cGVk
ZWYgV0tTdHJpbmdSZWYgKCpXS0J1bmRsZVBhZ2VQbHVnSW5DcmVhdGVTdGFydExhYmVsVGl0bGVD
YWxsYmFjaykoV0tTdHJpbmdSZWYgbWltZVR5cGUsIGNvbnN0IHZvaWQgKmNsaWVudEluZm8pOwot
dHlwZWRlZiBXS1N0cmluZ1JlZiAoKldLQnVuZGxlUGFnZVBsdWdJbkNyZWF0ZVN0YXJ0TGFiZWxT
dWJ0aXRsZUNhbGxiYWNrKShXS1N0cmluZ1JlZiBtaW1lVHlwZSwgY29uc3Qgdm9pZCAqY2xpZW50
SW5mbyk7Ci10eXBlZGVmIFdLU3RyaW5nUmVmICgqV0tCdW5kbGVQYWdlUGx1Z0luQ3JlYXRlRXh0
cmFTdHlsZVNoZWV0Q2FsbGJhY2spKGNvbnN0IHZvaWQgKmNsaWVudEluZm8pOwotdHlwZWRlZiBX
S1N0cmluZ1JlZiAoKldLQnVuZGxlUGFnZVBsdWdJbkNyZWF0ZUV4dHJhU2NyaXB0Q2FsbGJhY2sp
KGNvbnN0IHZvaWQgKmNsaWVudEluZm8pOwotCi1zdHJ1Y3QgV0tCdW5kbGVQYWdlVUlDbGllbnQg
ewotICAgIGludCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgdmVyc2lvbjsKLSAgICBjb25zdCB2b2lkICogICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsaWVudEluZm87Ci0g
ICAgV0tCdW5kbGVQYWdlV2lsbEFkZE1lc3NhZ2VUb0NvbnNvbGVDYWxsYmFjayAgICAgICAgICAg
ICAgICAgICAgICAgICB3aWxsQWRkTWVzc2FnZVRvQ29uc29sZTsKLSAgICBXS0J1bmRsZVBhZ2VX
aWxsU2V0U3RhdHVzYmFyVGV4dENhbGxiYWNrICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdp
bGxTZXRTdGF0dXNiYXJUZXh0OwotICAgIFdLQnVuZGxlUGFnZVdpbGxSdW5KYXZhU2NyaXB0QWxl
cnRDYWxsYmFjayAgICAgICAgICAgICAgICAgICAgICAgICAgd2lsbFJ1bkphdmFTY3JpcHRBbGVy
dDsKLSAgICBXS0J1bmRsZVBhZ2VXaWxsUnVuSmF2YVNjcmlwdENvbmZpcm1DYWxsYmFjayAgICAg
ICAgICAgICAgICAgICAgICAgIHdpbGxSdW5KYXZhU2NyaXB0Q29uZmlybTsKLSAgICBXS0J1bmRs
ZVBhZ2VXaWxsUnVuSmF2YVNjcmlwdFByb21wdENhbGxiYWNrICAgICAgICAgICAgICAgICAgICAg
ICAgIHdpbGxSdW5KYXZhU2NyaXB0UHJvbXB0OwotICAgIFdLQnVuZGxlUGFnZU1vdXNlRGlkTW92
ZU92ZXJFbGVtZW50Q2FsbGJhY2sgICAgICAgICAgICAgICAgICAgICAgICAgbW91c2VEaWRNb3Zl
T3ZlckVsZW1lbnQ7Ci0gICAgV0tCdW5kbGVQYWdlRGlkU2Nyb2xsQ2FsbGJhY2sgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYWdlRGlkU2Nyb2xsOwotICAgIHZvaWQqICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgdW51c2VkMTsKLSAgICBXS0J1bmRsZVBhZ2VHZW5lcmF0ZUZpbGVGb3JVcGxvYWRDYWxsYmFj
ayAgICAgICAgICAgICAgICAgICAgICAgICAgIHNob3VsZEdlbmVyYXRlRmlsZUZvclVwbG9hZDsK
LSAgICBXS0J1bmRsZVBhZ2VHZW5lcmF0ZUZpbGVGb3JVcGxvYWRDYWxsYmFjayAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGdlbmVyYXRlRmlsZUZvclVwbG9hZDsKLSAgICB2b2lkKiAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVu
dXNlZDI7Ci0gICAgV0tCdW5kbGVQYWdlU3RhdHVzQmFySXNWaXNpYmxlQ2FsbGJhY2sgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBzdGF0dXNCYXJJc1Zpc2libGU7Ci0gICAgV0tCdW5kbGVQ
YWdlTWVudUJhcklzVmlzaWJsZUNhbGxiYWNrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBtZW51QmFySXNWaXNpYmxlOwotICAgIFdLQnVuZGxlUGFnZVRvb2xiYXJzQXJlVmlzaWJsZUNh
bGxiYWNrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdG9vbGJhcnNBcmVWaXNpYmxlOwot
Ci0gICAgLy8gVmVyc2lvbiAxLgotICAgIFdLQnVuZGxlUGFnZVJlYWNoZWRBcHBDYWNoZU9yaWdp
blF1b3RhQ2FsbGJhY2sgICAgICAgICAgICAgICAgICAgICAgZGlkUmVhY2hBcHBsaWNhdGlvbkNh
Y2hlT3JpZ2luUXVvdGE7Ci0KLSAgICAvLyBWZXJzaW9uIDIuCi0gICAgV0tCdW5kbGVQYWdlRXhj
ZWVkZWREYXRhYmFzZVF1b3RhQ2FsbGJhY2sgICAgICAgICAgICAgICAgICAgICAgICAgICBkaWRF
eGNlZWREYXRhYmFzZVF1b3RhOwotICAgIFdLQnVuZGxlUGFnZVBsdWdJbkNyZWF0ZVN0YXJ0TGFi
ZWxUaXRsZUNhbGxiYWNrICAgICAgICAgICAgICAgICAgICAgY3JlYXRlUGx1Z0luU3RhcnRMYWJl
bFRpdGxlOwotICAgIFdLQnVuZGxlUGFnZVBsdWdJbkNyZWF0ZVN0YXJ0TGFiZWxTdWJ0aXRsZUNh
bGxiYWNrICAgICAgICAgICAgICAgICAgY3JlYXRlUGx1Z0luU3RhcnRMYWJlbFN1YnRpdGxlOwot
ICAgIFdLQnVuZGxlUGFnZVBsdWdJbkNyZWF0ZUV4dHJhU3R5bGVTaGVldENhbGxiYWNrICAgICAg
ICAgICAgICAgICAgICAgY3JlYXRlUGx1Z0luRXh0cmFTdHlsZVNoZWV0OwotICAgIFdLQnVuZGxl
UGFnZVBsdWdJbkNyZWF0ZUV4dHJhU2NyaXB0Q2FsbGJhY2sgICAgICAgICAgICAgICAgICAgICAg
ICAgY3JlYXRlUGx1Z0luRXh0cmFTY3JpcHQ7Ci19OwotdHlwZWRlZiBzdHJ1Y3QgV0tCdW5kbGVQ
YWdlVUlDbGllbnQgV0tCdW5kbGVQYWdlVUlDbGllbnQ7Ci0KLWVudW0geyBrV0tCdW5kbGVQYWdl
VUlDbGllbnRDdXJyZW50VmVyc2lvbiA9IDIgfTsKLQotLy8gRWRpdG9yIGNsaWVudAotdHlwZWRl
ZiBib29sICgqV0tCdW5kbGVQYWdlU2hvdWxkQmVnaW5FZGl0aW5nQ2FsbGJhY2spKFdLQnVuZGxl
UGFnZVJlZiBwYWdlLCBXS0J1bmRsZVJhbmdlSGFuZGxlUmVmIHJhbmdlLCBjb25zdCB2b2lkKiBj
bGllbnRJbmZvKTsKLXR5cGVkZWYgYm9vbCAoKldLQnVuZGxlUGFnZVNob3VsZEVuZEVkaXRpbmdD
YWxsYmFjaykoV0tCdW5kbGVQYWdlUmVmIHBhZ2UsIFdLQnVuZGxlUmFuZ2VIYW5kbGVSZWYgcmFu
Z2UsIGNvbnN0IHZvaWQqIGNsaWVudEluZm8pOwotdHlwZWRlZiBib29sICgqV0tCdW5kbGVQYWdl
U2hvdWxkSW5zZXJ0Tm9kZUNhbGxiYWNrKShXS0J1bmRsZVBhZ2VSZWYgcGFnZSwgV0tCdW5kbGVO
b2RlSGFuZGxlUmVmIG5vZGUsIFdLQnVuZGxlUmFuZ2VIYW5kbGVSZWYgcmFuZ2VUb1JlcGxhY2Us
IFdLSW5zZXJ0QWN0aW9uVHlwZSBhY3Rpb24sIGNvbnN0IHZvaWQqIGNsaWVudEluZm8pOwotdHlw
ZWRlZiBib29sICgqV0tCdW5kbGVQYWdlU2hvdWxkSW5zZXJ0VGV4dENhbGxiYWNrKShXS0J1bmRs
ZVBhZ2VSZWYgcGFnZSwgV0tTdHJpbmdSZWYgc3RyaW5nLCBXS0J1bmRsZVJhbmdlSGFuZGxlUmVm
IHJhbmdlVG9SZXBsYWNlLCBXS0luc2VydEFjdGlvblR5cGUgYWN0aW9uLCBjb25zdCB2b2lkKiBj
bGllbnRJbmZvKTsKLXR5cGVkZWYgYm9vbCAoKldLQnVuZGxlUGFnZVNob3VsZERlbGV0ZVJhbmdl
Q2FsbGJhY2spKFdLQnVuZGxlUGFnZVJlZiBwYWdlLCBXS0J1bmRsZVJhbmdlSGFuZGxlUmVmIHJh
bmdlLCBjb25zdCB2b2lkKiBjbGllbnRJbmZvKTsKLXR5cGVkZWYgYm9vbCAoKldLQnVuZGxlUGFn
ZVNob3VsZENoYW5nZVNlbGVjdGVkUmFuZ2UpKFdLQnVuZGxlUGFnZVJlZiBwYWdlLCBXS0J1bmRs
ZVJhbmdlSGFuZGxlUmVmIGZyb21SYW5nZSwgV0tCdW5kbGVSYW5nZUhhbmRsZVJlZiB0b1Jhbmdl
LCBXS0FmZmluaXR5VHlwZSBhZmZpbml0eSwgYm9vbCBzdGlsbFNlbGVjdGluZywgY29uc3Qgdm9p
ZCogY2xpZW50SW5mbyk7Ci10eXBlZGVmIGJvb2wgKCpXS0J1bmRsZVBhZ2VTaG91bGRBcHBseVN0
eWxlKShXS0J1bmRsZVBhZ2VSZWYgcGFnZSwgV0tCdW5kbGVDU1NTdHlsZURlY2xhcmF0aW9uUmVm
IHN0eWxlLCBXS0J1bmRsZVJhbmdlSGFuZGxlUmVmIHJhbmdlLCBjb25zdCB2b2lkKiBjbGllbnRJ
bmZvKTsKLXR5cGVkZWYgdm9pZCAoKldLQnVuZGxlUGFnZUVkaXRpbmdOb3RpZmljYXRpb24pKFdL
QnVuZGxlUGFnZVJlZiBwYWdlLCBXS1N0cmluZ1JlZiBub3RpZmljYXRpb25OYW1lLCBjb25zdCB2
b2lkKiBjbGllbnRJbmZvKTsKLXR5cGVkZWYgdm9pZCAoKldLQnVuZGxlUGFnZVdpbGxXcml0ZVRv
UGFzdGVib2FyZCkoV0tCdW5kbGVQYWdlUmVmIHBhZ2UsIFdLQnVuZGxlUmFuZ2VIYW5kbGVSZWYg
cmFuZ2UsICBjb25zdCB2b2lkKiBjbGllbnRJbmZvKTsKLXR5cGVkZWYgdm9pZCAoKldLQnVuZGxl
UGFnZUdldFBhc3RlYm9hcmREYXRhRm9yUmFuZ2UpKFdLQnVuZGxlUGFnZVJlZiBwYWdlLCBXS0J1
bmRsZVJhbmdlSGFuZGxlUmVmIHJhbmdlLCBXS0FycmF5UmVmKiBwYXN0ZWJvYXJkVHlwZXMsIFdL
QXJyYXlSZWYqIHBhc3RlYm9hcmREYXRhLCBjb25zdCB2b2lkKiBjbGllbnRJbmZvKTsKLXR5cGVk
ZWYgdm9pZCAoKldLQnVuZGxlUGFnZURpZFdyaXRlVG9QYXN0ZWJvYXJkKShXS0J1bmRsZVBhZ2VS
ZWYgcGFnZSwgY29uc3Qgdm9pZCogY2xpZW50SW5mbyk7Ci0KLXN0cnVjdCBXS0J1bmRsZVBhZ2VF
ZGl0b3JDbGllbnQgewotICAgIGludCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmVyc2lvbjsKLSAgICBjb25zdCB2b2lkICog
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNs
aWVudEluZm87Ci0gICAgV0tCdW5kbGVQYWdlU2hvdWxkQmVnaW5FZGl0aW5nQ2FsbGJhY2sgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBzaG91bGRCZWdpbkVkaXRpbmc7Ci0gICAgV0tCdW5k
bGVQYWdlU2hvdWxkRW5kRWRpdGluZ0NhbGxiYWNrICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBzaG91bGRFbmRFZGl0aW5nOwotICAgIFdLQnVuZGxlUGFnZVNob3VsZEluc2VydE5vZGVD
YWxsYmFjayAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2hvdWxkSW5zZXJ0Tm9kZTsK
LSAgICBXS0J1bmRsZVBhZ2VTaG91bGRJbnNlcnRUZXh0Q2FsbGJhY2sgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIHNob3VsZEluc2VydFRleHQ7Ci0gICAgV0tCdW5kbGVQYWdlU2hvdWxk
RGVsZXRlUmFuZ2VDYWxsYmFjayAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzaG91bGRE
ZWxldGVSYW5nZTsKLSAgICBXS0J1bmRsZVBhZ2VTaG91bGRDaGFuZ2VTZWxlY3RlZFJhbmdlICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNob3VsZENoYW5nZVNlbGVjdGVkUmFuZ2U7Ci0g
ICAgV0tCdW5kbGVQYWdlU2hvdWxkQXBwbHlTdHlsZSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBzaG91bGRBcHBseVN0eWxlOwotICAgIFdLQnVuZGxlUGFnZUVkaXRpbmdO
b3RpZmljYXRpb24gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGlkQmVnaW5F
ZGl0aW5nOwotICAgIFdLQnVuZGxlUGFnZUVkaXRpbmdOb3RpZmljYXRpb24gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgZGlkRW5kRWRpdGluZzsKLSAgICBXS0J1bmRsZVBhZ2VF
ZGl0aW5nTm90aWZpY2F0aW9uICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRp
ZENoYW5nZTsKLSAgICBXS0J1bmRsZVBhZ2VFZGl0aW5nTm90aWZpY2F0aW9uICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGRpZENoYW5nZVNlbGVjdGlvbjsKLSAgICAvLyBWZXJz
aW9uIDEuCi0gICAgV0tCdW5kbGVQYWdlV2lsbFdyaXRlVG9QYXN0ZWJvYXJkICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICB3aWxsV3JpdGVUb1Bhc3RlYm9hcmQ7Ci0gICAgV0tCdW5k
bGVQYWdlR2V0UGFzdGVib2FyZERhdGFGb3JSYW5nZSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBnZXRQYXN0ZWJvYXJkRGF0YUZvclJhbmdlOwotICAgIFdLQnVuZGxlUGFnZURpZFdyaXRl
VG9QYXN0ZWJvYXJkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGlkV3JpdGVU
b1Bhc3RlYm9hcmQ7Ci19OwotdHlwZWRlZiBzdHJ1Y3QgV0tCdW5kbGVQYWdlRWRpdG9yQ2xpZW50
IFdLQnVuZGxlUGFnZUVkaXRvckNsaWVudDsKLQotZW51bSB7IGtXS0J1bmRsZVBhZ2VFZGl0b3JD
bGllbnRDdXJyZW50VmVyc2lvbiA9IDEgfTsKLQotLy8gRm9ybSBjbGllbnQKLXR5cGVkZWYgdm9p
ZCAoKldLQnVuZGxlUGFnZVRleHRGaWVsZERpZEJlZ2luRWRpdGluZ0NhbGxiYWNrKShXS0J1bmRs
ZVBhZ2VSZWYgcGFnZSwgV0tCdW5kbGVOb2RlSGFuZGxlUmVmIGh0bWxJbnB1dEVsZW1lbnRIYW5k
bGUsIFdLQnVuZGxlRnJhbWVSZWYgZnJhbWUsIGNvbnN0IHZvaWQqIGNsaWVudEluZm8pOwotdHlw
ZWRlZiB2b2lkICgqV0tCdW5kbGVQYWdlVGV4dEZpZWxkRGlkRW5kRWRpdGluZ0NhbGxiYWNrKShX
S0J1bmRsZVBhZ2VSZWYgcGFnZSwgV0tCdW5kbGVOb2RlSGFuZGxlUmVmIGh0bWxJbnB1dEVsZW1l
bnRIYW5kbGUsIFdLQnVuZGxlRnJhbWVSZWYgZnJhbWUsIGNvbnN0IHZvaWQqIGNsaWVudEluZm8p
OwotdHlwZWRlZiB2b2lkICgqV0tCdW5kbGVQYWdlVGV4dERpZENoYW5nZUluVGV4dEZpZWxkQ2Fs
bGJhY2spKFdLQnVuZGxlUGFnZVJlZiBwYWdlLCBXS0J1bmRsZU5vZGVIYW5kbGVSZWYgaHRtbElu
cHV0RWxlbWVudEhhbmRsZSwgV0tCdW5kbGVGcmFtZVJlZiBmcmFtZSwgY29uc3Qgdm9pZCogY2xp
ZW50SW5mbyk7Ci10eXBlZGVmIHZvaWQgKCpXS0J1bmRsZVBhZ2VUZXh0RGlkQ2hhbmdlSW5UZXh0
QXJlYUNhbGxiYWNrKShXS0J1bmRsZVBhZ2VSZWYgcGFnZSwgV0tCdW5kbGVOb2RlSGFuZGxlUmVm
IGh0bWxUZXh0QXJlYUVsZW1lbnRIYW5kbGUsIFdLQnVuZGxlRnJhbWVSZWYgZnJhbWUsIGNvbnN0
IHZvaWQqIGNsaWVudEluZm8pOwotdHlwZWRlZiBib29sICgqV0tCdW5kbGVQYWdlU2hvdWxkUGVy
Zm9ybUFjdGlvbkluVGV4dEZpZWxkQ2FsbGJhY2spKFdLQnVuZGxlUGFnZVJlZiBwYWdlLCBXS0J1
bmRsZU5vZGVIYW5kbGVSZWYgaHRtbElucHV0RWxlbWVudEhhbmRsZSwgV0tJbnB1dEZpZWxkQWN0
aW9uVHlwZSBhY3Rpb25UeXBlLCBXS0J1bmRsZUZyYW1lUmVmIGZyYW1lLCBjb25zdCB2b2lkKiBj
bGllbnRJbmZvKTsKLXR5cGVkZWYgdm9pZCAoKldLQnVuZGxlUGFnZVdpbGxTdWJtaXRGb3JtQ2Fs
bGJhY2spKFdLQnVuZGxlUGFnZVJlZiBwYWdlLCBXS0J1bmRsZU5vZGVIYW5kbGVSZWYgaHRtbEZv
cm1FbGVtZW50SGFuZGxlLCBXS0J1bmRsZUZyYW1lUmVmIGZyYW1lLCBXS0J1bmRsZUZyYW1lUmVm
IHNvdXJjZUZyYW1lLCBXS0RpY3Rpb25hcnlSZWYgdmFsdWVzLCBXS1R5cGVSZWYqIHVzZXJEYXRh
LCBjb25zdCB2b2lkKiBjbGllbnRJbmZvKTsKLXR5cGVkZWYgdm9pZCAoKldLQnVuZGxlUGFnZVdp
bGxTZW5kU3VibWl0RXZlbnRDYWxsYmFjaykoV0tCdW5kbGVQYWdlUmVmIHBhZ2UsIFdLQnVuZGxl
Tm9kZUhhbmRsZVJlZiBodG1sRm9ybUVsZW1lbnRIYW5kbGUsIFdLQnVuZGxlRnJhbWVSZWYgZnJh
bWUsIFdLQnVuZGxlRnJhbWVSZWYgc291cmNlRnJhbWUsIFdLRGljdGlvbmFyeVJlZiB2YWx1ZXMs
IGNvbnN0IHZvaWQqIGNsaWVudEluZm8pOwotdHlwZWRlZiB2b2lkICgqV0tCdW5kbGVQYWdlRGlk
Rm9jdXNUZXh0RmllbGRDYWxsYmFjaykoV0tCdW5kbGVQYWdlUmVmIHBhZ2UsIFdLQnVuZGxlTm9k
ZUhhbmRsZVJlZiBodG1sSW5wdXRFbGVtZW50SGFuZGxlLCBXS0J1bmRsZUZyYW1lUmVmIGZyYW1l
LCBjb25zdCB2b2lkKiBjbGllbnRJbmZvKTsKLXR5cGVkZWYgYm9vbCAoKldLQnVuZGxlUGFnZVNo
b3VsZE5vdGlmeU9uRm9ybUNoYW5nZXNDYWxsYmFjaykoV0tCdW5kbGVQYWdlUmVmIHBhZ2UsIGNv
bnN0IHZvaWQqIGNsaWVudEluZm8pOwotdHlwZWRlZiB2b2lkICgqV0tCdW5kbGVQYWdlRGlkQXNz
b2NpYXRlRm9ybUNvbnRyb2xzQ2FsbGJhY2spKFdLQnVuZGxlUGFnZVJlZiBwYWdlLCBXS0FycmF5
UmVmIGVsZW1lbnRIYW5kbGVzLCBjb25zdCB2b2lkKiBjbGllbnRJbmZvKTsKLQotc3RydWN0IFdL
QnVuZGxlUGFnZUZvcm1DbGllbnQgewotICAgIGludCAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmVyc2lvbjsKLSAgICBjb25z
dCB2b2lkICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGNsaWVudEluZm87Ci0gICAgCi0gICAgLy8gVmVyc2lvbiAwLgotICAgIFdLQnVuZGxl
UGFnZVRleHRGaWVsZERpZEJlZ2luRWRpdGluZ0NhbGxiYWNrICAgICAgICAgICAgICAgICAgICAg
ICAgdGV4dEZpZWxkRGlkQmVnaW5FZGl0aW5nOwotICAgIFdLQnVuZGxlUGFnZVRleHRGaWVsZERp
ZEVuZEVkaXRpbmdDYWxsYmFjayAgICAgICAgICAgICAgICAgICAgICAgICAgdGV4dEZpZWxkRGlk
RW5kRWRpdGluZzsKLSAgICBXS0J1bmRsZVBhZ2VUZXh0RGlkQ2hhbmdlSW5UZXh0RmllbGRDYWxs
YmFjayAgICAgICAgICAgICAgICAgICAgICAgIHRleHREaWRDaGFuZ2VJblRleHRGaWVsZDsKLSAg
ICBXS0J1bmRsZVBhZ2VUZXh0RGlkQ2hhbmdlSW5UZXh0QXJlYUNhbGxiYWNrICAgICAgICAgICAg
ICAgICAgICAgICAgIHRleHREaWRDaGFuZ2VJblRleHRBcmVhOwotICAgIFdLQnVuZGxlUGFnZVNo
b3VsZFBlcmZvcm1BY3Rpb25JblRleHRGaWVsZENhbGxiYWNrICAgICAgICAgICAgICAgICAgc2hv
dWxkUGVyZm9ybUFjdGlvbkluVGV4dEZpZWxkOwotICAgIFdLQnVuZGxlUGFnZVdpbGxTdWJtaXRG
b3JtQ2FsbGJhY2sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgd2lsbFN1Ym1pdEZv
cm07Ci0gICAgCi0gICAgLy8gVmVyc2lvbiAxLgotICAgIFdLQnVuZGxlUGFnZVdpbGxTZW5kU3Vi
bWl0RXZlbnRDYWxsYmFjayAgICAgICAgICAgICAgICAgICAgICAgICAgICAgd2lsbFNlbmRTdWJt
aXRFdmVudDsKLQotICAgIC8vIHZlcnNpb24gMi4KLSAgICBXS0J1bmRsZVBhZ2VEaWRGb2N1c1Rl
eHRGaWVsZENhbGxiYWNrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpZEZvY3VzVGV4
dEZpZWxkOwotICAgIFdLQnVuZGxlUGFnZVNob3VsZE5vdGlmeU9uRm9ybUNoYW5nZXNDYWxsYmFj
ayAgICAgICAgICAgICAgICAgICAgICAgc2hvdWxkTm90aWZ5T25Gb3JtQ2hhbmdlczsKLSAgICBX
S0J1bmRsZVBhZ2VEaWRBc3NvY2lhdGVGb3JtQ29udHJvbHNDYWxsYmFjayAgICAgICAgICAgICAg
ICAgICAgICAgIGRpZEFzc29jaWF0ZUZvcm1Db250cm9sczsKLX07Ci10eXBlZGVmIHN0cnVjdCBX
S0J1bmRsZVBhZ2VGb3JtQ2xpZW50IFdLQnVuZGxlUGFnZUZvcm1DbGllbnQ7Ci0KLWVudW0geyBr
V0tCdW5kbGVQYWdlRm9ybUNsaWVudEN1cnJlbnRWZXJzaW9uID0gMiB9OwotCi0vLyBDb250ZXh0
TWVudSBjbGllbnQKLXR5cGVkZWYgdm9pZCAoKldLQnVuZGxlUGFnZUdldENvbnRleHRNZW51RnJv
bURlZmF1bHRDb250ZXh0TWVudUNhbGxiYWNrKShXS0J1bmRsZVBhZ2VSZWYgcGFnZSwgV0tCdW5k
bGVIaXRUZXN0UmVzdWx0UmVmIGhpdFRlc3RSZXN1bHQsIFdLQXJyYXlSZWYgZGVmYXVsdE1lbnUs
IFdLQXJyYXlSZWYqIG5ld01lbnUsIFdLVHlwZVJlZiogdXNlckRhdGEsIGNvbnN0IHZvaWQqIGNs
aWVudEluZm8pOwotCi1zdHJ1Y3QgV0tCdW5kbGVQYWdlQ29udGV4dE1lbnVDbGllbnQgewotICAg
IGludCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgdmVyc2lvbjsKLSAgICBjb25zdCB2b2lkICogICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsaWVudEluZm87Ci0gICAgV0tC
dW5kbGVQYWdlR2V0Q29udGV4dE1lbnVGcm9tRGVmYXVsdENvbnRleHRNZW51Q2FsbGJhY2sgICAg
ICAgICAgICBnZXRDb250ZXh0TWVudUZyb21EZWZhdWx0TWVudTsKLX07Ci10eXBlZGVmIHN0cnVj
dCBXS0J1bmRsZVBhZ2VDb250ZXh0TWVudUNsaWVudCBXS0J1bmRsZVBhZ2VDb250ZXh0TWVudUNs
aWVudDsKLQotZW51bSB7IGtXS0J1bmRsZVBhZ2VDb250ZXh0TWVudUNsaWVudEN1cnJlbnRWZXJz
aW9uID0gMCB9OwotCi0vLyBGdWxsIFNjcmVlbiBjbGllbnQKLXR5cGVkZWYgYm9vbCAoKldLQnVu
ZGxlUGFnZVN1cHBvcnRzRnVsbFNjcmVlbikoV0tCdW5kbGVQYWdlUmVmIHBhZ2UsIFdLRnVsbFNj
cmVlbktleWJvYXJkUmVxdWVzdFR5cGUgcmVxdWVzdFR5cGUpOwotdHlwZWRlZiB2b2lkICgqV0tC
dW5kbGVQYWdlRW50ZXJGdWxsU2NyZWVuRm9yRWxlbWVudCkoV0tCdW5kbGVQYWdlUmVmIHBhZ2Us
IFdLQnVuZGxlTm9kZUhhbmRsZVJlZiBlbGVtZW50KTsKLXR5cGVkZWYgdm9pZCAoKldLQnVuZGxl
UGFnZUV4aXRGdWxsU2NyZWVuRm9yRWxlbWVudCkoV0tCdW5kbGVQYWdlUmVmIHBhZ2UsIFdLQnVu
ZGxlTm9kZUhhbmRsZVJlZiBlbGVtZW50KTsKLXR5cGVkZWYgdm9pZCAoKldLQnVuZGxlUGFnZUJl
Z2FuRW50ZXJGdWxsU2NyZWVuKShXS0J1bmRsZVBhZ2VSZWYgcGFnZSwgV0tSZWN0IGluaXRpYWxG
cmFtZSwgV0tSZWN0IGZpbmFsRnJhbWUpOwotdHlwZWRlZiB2b2lkICgqV0tCdW5kbGVQYWdlQmVn
YW5FeGl0RnVsbFNjcmVlbikoV0tCdW5kbGVQYWdlUmVmIHBhZ2UsIFdLUmVjdCBpbml0aWFsRnJh
bWUsIFdLUmVjdCBmaW5hbEZyYW1lKTsKLXR5cGVkZWYgdm9pZCAoKldLQnVuZGxlUGFnZUNsb3Nl
RnVsbFNjcmVlbikoV0tCdW5kbGVQYWdlUmVmIHBhZ2UpOwotCi1zdHJ1Y3QgV0tCdW5kbGVQYWdl
RnVsbFNjcmVlbkNsaWVudCB7Ci0gICAgaW50ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2ZXJzaW9uOwotICAgIGNvbnN0IHZv
aWQgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgY2xpZW50SW5mbzsKLQotICAgIC8vIFZlcnNpb24gMDoKLSAgICBXS0J1bmRsZVBhZ2VTdXBw
b3J0c0Z1bGxTY3JlZW4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN1cHBv
cnRzRnVsbFNjcmVlbjsKLSAgICBXS0J1bmRsZVBhZ2VFbnRlckZ1bGxTY3JlZW5Gb3JFbGVtZW50
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVudGVyRnVsbFNjcmVlbkZvckVsZW1lbnQ7
Ci0gICAgV0tCdW5kbGVQYWdlRXhpdEZ1bGxTY3JlZW5Gb3JFbGVtZW50ICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBleGl0RnVsbFNjcmVlbkZvckVsZW1lbnQ7Ci0KLSAgICAvLyBWZXJz
aW9uIDE6Ci0gICAgV0tCdW5kbGVQYWdlQmVnYW5FbnRlckZ1bGxTY3JlZW4gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBiZWdhbkVudGVyRnVsbFNjcmVlbjsKLSAgICBXS0J1bmRs
ZVBhZ2VCZWdhbkV4aXRGdWxsU2NyZWVuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGJlZ2FuRXhpdEZ1bGxTY3JlZW47Ci0gICAgV0tCdW5kbGVQYWdlQ2xvc2VGdWxsU2NyZWVu
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbG9zZUZ1bGxTY3JlZW47
Ci19OwotdHlwZWRlZiBzdHJ1Y3QgV0tCdW5kbGVQYWdlRnVsbFNjcmVlbkNsaWVudCBXS0J1bmRs
ZVBhZ2VGdWxsU2NyZWVuQ2xpZW50OwotCi1lbnVtIHsga1dLQnVuZGxlUGFnZUZ1bGxTY3JlZW5D
bGllbnRDdXJyZW50VmVyc2lvbiA9IDEgfTsKLQotLy8gTWVzc2FnZVRyYWNlIGNsaWVudAotdHlw
ZWRlZiB2b2lkICgqV0tCdW5kbGVQYWdlRGlhZ25vc3RpY0xvZ2dpbmdDYWxsYmFjaykoV0tCdW5k
bGVQYWdlUmVmIHBhZ2UsIFdLU3RyaW5nUmVmIG1lc3NhZ2UsIFdLU3RyaW5nUmVmIGRlc2NyaXB0
aW9uLCBXS1N0cmluZ1JlZiBzdWNjZXNzLCBjb25zdCB2b2lkKiBjbGllbnRJbmZvKTsKLQotc3Ry
dWN0IFdLQnVuZGxlUGFnZURpYWdub3N0aWNMb2dnaW5nQ2xpZW50IHsKLSAgICBpbnQgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IHZlcnNpb247Ci0gICAgY29uc3Qgdm9pZCAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBjbGllbnRJbmZvOwotICAgIFdLQnVuZGxlUGFnZURp
YWdub3N0aWNMb2dnaW5nQ2FsbGJhY2sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbG9n
RGlhZ25vc3RpY01lc3NhZ2U7Ci19OwotdHlwZWRlZiBzdHJ1Y3QgV0tCdW5kbGVQYWdlRGlhZ25v
c3RpY0xvZ2dpbmdDbGllbnQgV0tCdW5kbGVQYWdlRGlhZ25vc3RpY0xvZ2dpbmdDbGllbnQ7Ci0K
LWVudW0geyBrV0tCdW5kbGVQYWdlRGlhZ25vc3RpY0xvZ2dpbmdDbGllbnRDdXJyZW50VmVyc2lv
biA9IDAgfTsKLQogV0tfRVhQT1JUIHZvaWQgV0tCdW5kbGVQYWdlV2lsbEVudGVyRnVsbFNjcmVl
bihXS0J1bmRsZVBhZ2VSZWYgcGFnZSk7CiBXS19FWFBPUlQgdm9pZCBXS0J1bmRsZVBhZ2VEaWRF
bnRlckZ1bGxTY3JlZW4oV0tCdW5kbGVQYWdlUmVmIHBhZ2UpOwogV0tfRVhQT1JUIHZvaWQgV0tC
dW5kbGVQYWdlV2lsbEV4aXRGdWxsU2NyZWVuKFdLQnVuZGxlUGFnZVJlZiBwYWdlKTsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvQVBJL2MvV0tC
dW5kbGVQYWdlQ29udGV4dE1lbnVDbGllbnQuaCBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3Mv
SW5qZWN0ZWRCdW5kbGUvQVBJL2MvV0tCdW5kbGVQYWdlQ29udGV4dE1lbnVDbGllbnQuaApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi5hZjdlMWE1ZmQxNzA3NzY2ZGNiZGI2NmQxMDEwODM2NGM3NjRlYWU2Ci0tLSAvZGV2
L251bGwKKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9BUEkv
Yy9XS0J1bmRsZVBhZ2VDb250ZXh0TWVudUNsaWVudC5oCkBAIC0wLDAgKzEsNDIgQEAKKy8qCisg
KiBDb3B5cmlnaHQgKEMpIDIwMTMgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoK
KyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdp
dGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRo
YXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmli
dXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAq
ICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlz
Y2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJv
ZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25k
aXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVu
dGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0
aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQg
SVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVE
IFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJ
RUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElD
VUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUg
SU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElO
RElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5U
SUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBP
RgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9S
IFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFO
RCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNU
UklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lT
RSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJF
LCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4K
KyAqLworCisjaWZuZGVmIFdLQnVuZGxlUGFnZUNvbnRleHRNZW51Q2xpZW50X2gKKyNkZWZpbmUg
V0tCdW5kbGVQYWdlQ29udGV4dE1lbnVDbGllbnRfaAorCisjaW5jbHVkZSA8V2ViS2l0Mi9XS0Jh
c2UuaD4KKwordHlwZWRlZiB2b2lkICgqV0tCdW5kbGVQYWdlR2V0Q29udGV4dE1lbnVGcm9tRGVm
YXVsdENvbnRleHRNZW51Q2FsbGJhY2spKFdLQnVuZGxlUGFnZVJlZiBwYWdlLCBXS0J1bmRsZUhp
dFRlc3RSZXN1bHRSZWYgaGl0VGVzdFJlc3VsdCwgV0tBcnJheVJlZiBkZWZhdWx0TWVudSwgV0tB
cnJheVJlZiogbmV3TWVudSwgV0tUeXBlUmVmKiB1c2VyRGF0YSwgY29uc3Qgdm9pZCogY2xpZW50
SW5mbyk7CisKK3N0cnVjdCBXS0J1bmRsZVBhZ2VDb250ZXh0TWVudUNsaWVudCB7CisgICAgaW50
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICB2ZXJzaW9uOworICAgIGNvbnN0IHZvaWQgKiAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xpZW50SW5mbzsKKyAgICBXS0J1bmRs
ZVBhZ2VHZXRDb250ZXh0TWVudUZyb21EZWZhdWx0Q29udGV4dE1lbnVDYWxsYmFjayAgICAgICAg
ICAgIGdldENvbnRleHRNZW51RnJvbURlZmF1bHRNZW51OworfTsKK3R5cGVkZWYgc3RydWN0IFdL
QnVuZGxlUGFnZUNvbnRleHRNZW51Q2xpZW50IFdLQnVuZGxlUGFnZUNvbnRleHRNZW51Q2xpZW50
OworCitlbnVtIHsga1dLQnVuZGxlUGFnZUNvbnRleHRNZW51Q2xpZW50Q3VycmVudFZlcnNpb24g
PSAwIH07CisKKyNlbmRpZiAvLyBXS0J1bmRsZVBhZ2VDb250ZXh0TWVudUNsaWVudF9oCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0FQSS9jL1dL
QnVuZGxlUGFnZURpYWdub3N0aWNMb2dnaW5nQ2xpZW50LmggYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQ
cm9jZXNzL0luamVjdGVkQnVuZGxlL0FQSS9jL1dLQnVuZGxlUGFnZURpYWdub3N0aWNMb2dnaW5n
Q2xpZW50LmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uNzlmZTliZjc1YTcyOThmMThmNDliNzFmOTI0MzMyMjUzOWQw
ZWYwOQotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvSW5qZWN0
ZWRCdW5kbGUvQVBJL2MvV0tCdW5kbGVQYWdlRGlhZ25vc3RpY0xvZ2dpbmdDbGllbnQuaApAQCAt
MCwwICsxLDQyIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDEzIEFwcGxlIEluYy4gQWxsIHJp
Z2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBh
bmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBl
cm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1l
dDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUg
YWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFu
ZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmlu
YXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNl
LCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGlu
IHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVk
IHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVE
IEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5Z
IEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRF
RCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBG
SVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5P
IEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxF
IEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZ
LCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRF
RCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExP
U1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9O
KSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIg
SU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVH
TElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBV
U0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJ
VFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2lmbmRlZiBXS0J1bmRsZVBhZ2VEaWFnbm9zdGlj
TG9nZ2luZ0NsaWVudF9oCisjZGVmaW5lIFdLQnVuZGxlUGFnZURpYWdub3N0aWNMb2dnaW5nQ2xp
ZW50X2gKKworI2luY2x1ZGUgPFdlYktpdDIvV0tCYXNlLmg+CisKK3R5cGVkZWYgdm9pZCAoKldL
QnVuZGxlUGFnZURpYWdub3N0aWNMb2dnaW5nQ2FsbGJhY2spKFdLQnVuZGxlUGFnZVJlZiBwYWdl
LCBXS1N0cmluZ1JlZiBtZXNzYWdlLCBXS1N0cmluZ1JlZiBkZXNjcmlwdGlvbiwgV0tTdHJpbmdS
ZWYgc3VjY2VzcywgY29uc3Qgdm9pZCogY2xpZW50SW5mbyk7CisKK3N0cnVjdCBXS0J1bmRsZVBh
Z2VEaWFnbm9zdGljTG9nZ2luZ0NsaWVudCB7CisgICAgaW50ICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2ZXJzaW9uOworICAg
IGNvbnN0IHZvaWQgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgY2xpZW50SW5mbzsKKyAgICBXS0J1bmRsZVBhZ2VEaWFnbm9zdGljTG9nZ2lu
Z0NhbGxiYWNrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxvZ0RpYWdub3N0aWNNZXNz
YWdlOworfTsKK3R5cGVkZWYgc3RydWN0IFdLQnVuZGxlUGFnZURpYWdub3N0aWNMb2dnaW5nQ2xp
ZW50IFdLQnVuZGxlUGFnZURpYWdub3N0aWNMb2dnaW5nQ2xpZW50OworCitlbnVtIHsga1dLQnVu
ZGxlUGFnZURpYWdub3N0aWNMb2dnaW5nQ2xpZW50Q3VycmVudFZlcnNpb24gPSAwIH07CisKKyNl
bmRpZiAvLyBXS0J1bmRsZVBhZ2VEaWFnbm9zdGljTG9nZ2luZ0NsaWVudF9oCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0FQSS9jL1dLQnVuZGxl
UGFnZUVkaXRvckNsaWVudC5oIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9JbmplY3RlZEJ1
bmRsZS9BUEkvYy9XS0J1bmRsZVBhZ2VFZGl0b3JDbGllbnQuaApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5iNGQ0NjFl
ZDdkYjNkODY2YjcxZDk4MGNmNjdkMTFhYmY1ODc0NGNhCi0tLSAvZGV2L251bGwKKysrIGIvU291
cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9BUEkvYy9XS0J1bmRsZVBhZ2VF
ZGl0b3JDbGllbnQuaApAQCAtMCwwICsxLDk2IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDEz
IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBh
bmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1v
ZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29u
ZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29k
ZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlz
dCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRp
c3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHly
aWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxv
d2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIg
bWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNP
RlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBB
UyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJ
TkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVS
Q0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJF
IERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJV
VE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwg
U1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJ
TkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09P
RFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVT
UworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBM
SUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBU
T1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFO
WSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9G
CisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2lmbmRlZiBXS0J1
bmRsZVBhZ2VFZGl0b3JDbGllbnRfaAorI2RlZmluZSBXS0J1bmRsZVBhZ2VFZGl0b3JDbGllbnRf
aAorCisjaW5jbHVkZSA8V2ViS2l0Mi9XS0Jhc2UuaD4KKworZW51bSB7CisgICAga1dLSW5zZXJ0
QWN0aW9uVHlwZWQgPSAwLAorICAgIGtXS0luc2VydEFjdGlvblBhc3RlZCA9IDEsCisgICAga1dL
SW5zZXJ0QWN0aW9uRHJvcHBlZCA9IDIKK307Cit0eXBlZGVmIHVpbnQzMl90IFdLSW5zZXJ0QWN0
aW9uVHlwZTsKKworZW51bSB7CisgICAga1dLQWZmaW5pdHlVcHN0cmVhbSwKKyAgICBrV0tBZmZp
bml0eURvd25zdHJlYW0KK307Cit0eXBlZGVmIHVpbnQzMl90IFdLQWZmaW5pdHlUeXBlOworCitl
bnVtIHsKKyAgICBXS0lucHV0RmllbGRBY3Rpb25UeXBlTW92ZVVwLAorICAgIFdLSW5wdXRGaWVs
ZEFjdGlvblR5cGVNb3ZlRG93biwKKyAgICBXS0lucHV0RmllbGRBY3Rpb25UeXBlQ2FuY2VsLAor
ICAgIFdLSW5wdXRGaWVsZEFjdGlvblR5cGVJbnNlcnRUYWIsCisgICAgV0tJbnB1dEZpZWxkQWN0
aW9uVHlwZUluc2VydEJhY2t0YWIsCisgICAgV0tJbnB1dEZpZWxkQWN0aW9uVHlwZUluc2VydE5l
d2xpbmUsCisgICAgV0tJbnB1dEZpZWxkQWN0aW9uVHlwZUluc2VydERlbGV0ZQorfTsKK3R5cGVk
ZWYgdWludDMyX3QgV0tJbnB1dEZpZWxkQWN0aW9uVHlwZTsKKworZW51bSB7CisgICAgV0tGdWxs
U2NyZWVuTm9LZXlib2FyZCwKKyAgICBXS0Z1bGxTY3JlZW5LZXlib2FyZCwKK307Cit0eXBlZGVm
IHVpbnQzMl90IFdLRnVsbFNjcmVlbktleWJvYXJkUmVxdWVzdFR5cGU7CisKK3R5cGVkZWYgYm9v
bCAoKldLQnVuZGxlUGFnZVNob3VsZEJlZ2luRWRpdGluZ0NhbGxiYWNrKShXS0J1bmRsZVBhZ2VS
ZWYgcGFnZSwgV0tCdW5kbGVSYW5nZUhhbmRsZVJlZiByYW5nZSwgY29uc3Qgdm9pZCogY2xpZW50
SW5mbyk7Cit0eXBlZGVmIGJvb2wgKCpXS0J1bmRsZVBhZ2VTaG91bGRFbmRFZGl0aW5nQ2FsbGJh
Y2spKFdLQnVuZGxlUGFnZVJlZiBwYWdlLCBXS0J1bmRsZVJhbmdlSGFuZGxlUmVmIHJhbmdlLCBj
b25zdCB2b2lkKiBjbGllbnRJbmZvKTsKK3R5cGVkZWYgYm9vbCAoKldLQnVuZGxlUGFnZVNob3Vs
ZEluc2VydE5vZGVDYWxsYmFjaykoV0tCdW5kbGVQYWdlUmVmIHBhZ2UsIFdLQnVuZGxlTm9kZUhh
bmRsZVJlZiBub2RlLCBXS0J1bmRsZVJhbmdlSGFuZGxlUmVmIHJhbmdlVG9SZXBsYWNlLCBXS0lu
c2VydEFjdGlvblR5cGUgYWN0aW9uLCBjb25zdCB2b2lkKiBjbGllbnRJbmZvKTsKK3R5cGVkZWYg
Ym9vbCAoKldLQnVuZGxlUGFnZVNob3VsZEluc2VydFRleHRDYWxsYmFjaykoV0tCdW5kbGVQYWdl
UmVmIHBhZ2UsIFdLU3RyaW5nUmVmIHN0cmluZywgV0tCdW5kbGVSYW5nZUhhbmRsZVJlZiByYW5n
ZVRvUmVwbGFjZSwgV0tJbnNlcnRBY3Rpb25UeXBlIGFjdGlvbiwgY29uc3Qgdm9pZCogY2xpZW50
SW5mbyk7Cit0eXBlZGVmIGJvb2wgKCpXS0J1bmRsZVBhZ2VTaG91bGREZWxldGVSYW5nZUNhbGxi
YWNrKShXS0J1bmRsZVBhZ2VSZWYgcGFnZSwgV0tCdW5kbGVSYW5nZUhhbmRsZVJlZiByYW5nZSwg
Y29uc3Qgdm9pZCogY2xpZW50SW5mbyk7Cit0eXBlZGVmIGJvb2wgKCpXS0J1bmRsZVBhZ2VTaG91
bGRDaGFuZ2VTZWxlY3RlZFJhbmdlKShXS0J1bmRsZVBhZ2VSZWYgcGFnZSwgV0tCdW5kbGVSYW5n
ZUhhbmRsZVJlZiBmcm9tUmFuZ2UsIFdLQnVuZGxlUmFuZ2VIYW5kbGVSZWYgdG9SYW5nZSwgV0tB
ZmZpbml0eVR5cGUgYWZmaW5pdHksIGJvb2wgc3RpbGxTZWxlY3RpbmcsIGNvbnN0IHZvaWQqIGNs
aWVudEluZm8pOwordHlwZWRlZiBib29sICgqV0tCdW5kbGVQYWdlU2hvdWxkQXBwbHlTdHlsZSko
V0tCdW5kbGVQYWdlUmVmIHBhZ2UsIFdLQnVuZGxlQ1NTU3R5bGVEZWNsYXJhdGlvblJlZiBzdHls
ZSwgV0tCdW5kbGVSYW5nZUhhbmRsZVJlZiByYW5nZSwgY29uc3Qgdm9pZCogY2xpZW50SW5mbyk7
Cit0eXBlZGVmIHZvaWQgKCpXS0J1bmRsZVBhZ2VFZGl0aW5nTm90aWZpY2F0aW9uKShXS0J1bmRs
ZVBhZ2VSZWYgcGFnZSwgV0tTdHJpbmdSZWYgbm90aWZpY2F0aW9uTmFtZSwgY29uc3Qgdm9pZCog
Y2xpZW50SW5mbyk7Cit0eXBlZGVmIHZvaWQgKCpXS0J1bmRsZVBhZ2VXaWxsV3JpdGVUb1Bhc3Rl
Ym9hcmQpKFdLQnVuZGxlUGFnZVJlZiBwYWdlLCBXS0J1bmRsZVJhbmdlSGFuZGxlUmVmIHJhbmdl
LCAgY29uc3Qgdm9pZCogY2xpZW50SW5mbyk7Cit0eXBlZGVmIHZvaWQgKCpXS0J1bmRsZVBhZ2VH
ZXRQYXN0ZWJvYXJkRGF0YUZvclJhbmdlKShXS0J1bmRsZVBhZ2VSZWYgcGFnZSwgV0tCdW5kbGVS
YW5nZUhhbmRsZVJlZiByYW5nZSwgV0tBcnJheVJlZiogcGFzdGVib2FyZFR5cGVzLCBXS0FycmF5
UmVmKiBwYXN0ZWJvYXJkRGF0YSwgY29uc3Qgdm9pZCogY2xpZW50SW5mbyk7Cit0eXBlZGVmIHZv
aWQgKCpXS0J1bmRsZVBhZ2VEaWRXcml0ZVRvUGFzdGVib2FyZCkoV0tCdW5kbGVQYWdlUmVmIHBh
Z2UsIGNvbnN0IHZvaWQqIGNsaWVudEluZm8pOworCitzdHJ1Y3QgV0tCdW5kbGVQYWdlRWRpdG9y
Q2xpZW50IHsKKyAgICBpbnQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIHZlcnNpb247CisgICAgY29uc3Qgdm9pZCAqICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGllbnRJ
bmZvOworICAgIFdLQnVuZGxlUGFnZVNob3VsZEJlZ2luRWRpdGluZ0NhbGxiYWNrICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVnaW5FZGl0aW5nOworICAgIFdLQnVuZGxlUGFn
ZVNob3VsZEVuZEVkaXRpbmdDYWxsYmFjayAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
c2hvdWxkRW5kRWRpdGluZzsKKyAgICBXS0J1bmRsZVBhZ2VTaG91bGRJbnNlcnROb2RlQ2FsbGJh
Y2sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNob3VsZEluc2VydE5vZGU7CisgICAg
V0tCdW5kbGVQYWdlU2hvdWxkSW5zZXJ0VGV4dENhbGxiYWNrICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBzaG91bGRJbnNlcnRUZXh0OworICAgIFdLQnVuZGxlUGFnZVNob3VsZERlbGV0
ZVJhbmdlQ2FsbGJhY2sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2hvdWxkRGVsZXRl
UmFuZ2U7CisgICAgV0tCdW5kbGVQYWdlU2hvdWxkQ2hhbmdlU2VsZWN0ZWRSYW5nZSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBzaG91bGRDaGFuZ2VTZWxlY3RlZFJhbmdlOworICAgIFdL
QnVuZGxlUGFnZVNob3VsZEFwcGx5U3R5bGUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgc2hvdWxkQXBwbHlTdHlsZTsKKyAgICBXS0J1bmRsZVBhZ2VFZGl0aW5nTm90aWZp
Y2F0aW9uICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpZEJlZ2luRWRpdGlu
ZzsKKyAgICBXS0J1bmRsZVBhZ2VFZGl0aW5nTm90aWZpY2F0aW9uICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGRpZEVuZEVkaXRpbmc7CisgICAgV0tCdW5kbGVQYWdlRWRpdGlu
Z05vdGlmaWNhdGlvbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkaWRDaGFu
Z2U7CisgICAgV0tCdW5kbGVQYWdlRWRpdGluZ05vdGlmaWNhdGlvbiAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBkaWRDaGFuZ2VTZWxlY3Rpb247CisgICAgLy8gVmVyc2lvbiAx
LgorICAgIFdLQnVuZGxlUGFnZVdpbGxXcml0ZVRvUGFzdGVib2FyZCAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgd2lsbFdyaXRlVG9QYXN0ZWJvYXJkOworICAgIFdLQnVuZGxlUGFn
ZUdldFBhc3RlYm9hcmREYXRhRm9yUmFuZ2UgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
Z2V0UGFzdGVib2FyZERhdGFGb3JSYW5nZTsKKyAgICBXS0J1bmRsZVBhZ2VEaWRXcml0ZVRvUGFz
dGVib2FyZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpZFdyaXRlVG9QYXN0
ZWJvYXJkOworfTsKK3R5cGVkZWYgc3RydWN0IFdLQnVuZGxlUGFnZUVkaXRvckNsaWVudCBXS0J1
bmRsZVBhZ2VFZGl0b3JDbGllbnQ7CisKK2VudW0geyBrV0tCdW5kbGVQYWdlRWRpdG9yQ2xpZW50
Q3VycmVudFZlcnNpb24gPSAxIH07CisKKyNlbmRpZiAvLyBXS0J1bmRsZVBhZ2VFZGl0b3JDbGll
bnRfaApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRs
ZS9BUEkvYy9XS0J1bmRsZVBhZ2VGb3JtQ2xpZW50LmggYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9j
ZXNzL0luamVjdGVkQnVuZGxlL0FQSS9jL1dLQnVuZGxlUGFnZUZvcm1DbGllbnQuaApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi4xNGI5YTA3YmZmZDQ1MWMyZTI0N2QwMDI0ZTZlNDU0Y2EyMDNmODYzCi0tLSAvZGV2L251
bGwKKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9BUEkvYy9X
S0J1bmRsZVBhZ2VGb3JtQ2xpZW50LmgKQEAgLTAsMCArMSw2NiBAQAorLyoKKyAqIENvcHlyaWdo
dCAoQykgMjAxMyBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0
cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRo
b3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9s
bG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Yg
c291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNl
LCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgor
ICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBh
Ym92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5k
IHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5k
L29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgor
ICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJ
QlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElF
UywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5U
SUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQ
VVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElU
UyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElO
Q0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdF
UyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJT
VElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsg
T1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBU
SEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJ
TElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJ
U0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYg
QURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNp
Zm5kZWYgV0tCdW5kbGVQYWdlRm9ybUNsaWVudF9oCisjZGVmaW5lIFdLQnVuZGxlUGFnZUZvcm1D
bGllbnRfaAorCisjaW5jbHVkZSA8V2ViS2l0Mi9XS0Jhc2UuaD4KKwordHlwZWRlZiB2b2lkICgq
V0tCdW5kbGVQYWdlVGV4dEZpZWxkRGlkQmVnaW5FZGl0aW5nQ2FsbGJhY2spKFdLQnVuZGxlUGFn
ZVJlZiBwYWdlLCBXS0J1bmRsZU5vZGVIYW5kbGVSZWYgaHRtbElucHV0RWxlbWVudEhhbmRsZSwg
V0tCdW5kbGVGcmFtZVJlZiBmcmFtZSwgY29uc3Qgdm9pZCogY2xpZW50SW5mbyk7Cit0eXBlZGVm
IHZvaWQgKCpXS0J1bmRsZVBhZ2VUZXh0RmllbGREaWRFbmRFZGl0aW5nQ2FsbGJhY2spKFdLQnVu
ZGxlUGFnZVJlZiBwYWdlLCBXS0J1bmRsZU5vZGVIYW5kbGVSZWYgaHRtbElucHV0RWxlbWVudEhh
bmRsZSwgV0tCdW5kbGVGcmFtZVJlZiBmcmFtZSwgY29uc3Qgdm9pZCogY2xpZW50SW5mbyk7Cit0
eXBlZGVmIHZvaWQgKCpXS0J1bmRsZVBhZ2VUZXh0RGlkQ2hhbmdlSW5UZXh0RmllbGRDYWxsYmFj
aykoV0tCdW5kbGVQYWdlUmVmIHBhZ2UsIFdLQnVuZGxlTm9kZUhhbmRsZVJlZiBodG1sSW5wdXRF
bGVtZW50SGFuZGxlLCBXS0J1bmRsZUZyYW1lUmVmIGZyYW1lLCBjb25zdCB2b2lkKiBjbGllbnRJ
bmZvKTsKK3R5cGVkZWYgdm9pZCAoKldLQnVuZGxlUGFnZVRleHREaWRDaGFuZ2VJblRleHRBcmVh
Q2FsbGJhY2spKFdLQnVuZGxlUGFnZVJlZiBwYWdlLCBXS0J1bmRsZU5vZGVIYW5kbGVSZWYgaHRt
bFRleHRBcmVhRWxlbWVudEhhbmRsZSwgV0tCdW5kbGVGcmFtZVJlZiBmcmFtZSwgY29uc3Qgdm9p
ZCogY2xpZW50SW5mbyk7Cit0eXBlZGVmIGJvb2wgKCpXS0J1bmRsZVBhZ2VTaG91bGRQZXJmb3Jt
QWN0aW9uSW5UZXh0RmllbGRDYWxsYmFjaykoV0tCdW5kbGVQYWdlUmVmIHBhZ2UsIFdLQnVuZGxl
Tm9kZUhhbmRsZVJlZiBodG1sSW5wdXRFbGVtZW50SGFuZGxlLCBXS0lucHV0RmllbGRBY3Rpb25U
eXBlIGFjdGlvblR5cGUsIFdLQnVuZGxlRnJhbWVSZWYgZnJhbWUsIGNvbnN0IHZvaWQqIGNsaWVu
dEluZm8pOwordHlwZWRlZiB2b2lkICgqV0tCdW5kbGVQYWdlV2lsbFN1Ym1pdEZvcm1DYWxsYmFj
aykoV0tCdW5kbGVQYWdlUmVmIHBhZ2UsIFdLQnVuZGxlTm9kZUhhbmRsZVJlZiBodG1sRm9ybUVs
ZW1lbnRIYW5kbGUsIFdLQnVuZGxlRnJhbWVSZWYgZnJhbWUsIFdLQnVuZGxlRnJhbWVSZWYgc291
cmNlRnJhbWUsIFdLRGljdGlvbmFyeVJlZiB2YWx1ZXMsIFdLVHlwZVJlZiogdXNlckRhdGEsIGNv
bnN0IHZvaWQqIGNsaWVudEluZm8pOwordHlwZWRlZiB2b2lkICgqV0tCdW5kbGVQYWdlV2lsbFNl
bmRTdWJtaXRFdmVudENhbGxiYWNrKShXS0J1bmRsZVBhZ2VSZWYgcGFnZSwgV0tCdW5kbGVOb2Rl
SGFuZGxlUmVmIGh0bWxGb3JtRWxlbWVudEhhbmRsZSwgV0tCdW5kbGVGcmFtZVJlZiBmcmFtZSwg
V0tCdW5kbGVGcmFtZVJlZiBzb3VyY2VGcmFtZSwgV0tEaWN0aW9uYXJ5UmVmIHZhbHVlcywgY29u
c3Qgdm9pZCogY2xpZW50SW5mbyk7Cit0eXBlZGVmIHZvaWQgKCpXS0J1bmRsZVBhZ2VEaWRGb2N1
c1RleHRGaWVsZENhbGxiYWNrKShXS0J1bmRsZVBhZ2VSZWYgcGFnZSwgV0tCdW5kbGVOb2RlSGFu
ZGxlUmVmIGh0bWxJbnB1dEVsZW1lbnRIYW5kbGUsIFdLQnVuZGxlRnJhbWVSZWYgZnJhbWUsIGNv
bnN0IHZvaWQqIGNsaWVudEluZm8pOwordHlwZWRlZiBib29sICgqV0tCdW5kbGVQYWdlU2hvdWxk
Tm90aWZ5T25Gb3JtQ2hhbmdlc0NhbGxiYWNrKShXS0J1bmRsZVBhZ2VSZWYgcGFnZSwgY29uc3Qg
dm9pZCogY2xpZW50SW5mbyk7Cit0eXBlZGVmIHZvaWQgKCpXS0J1bmRsZVBhZ2VEaWRBc3NvY2lh
dGVGb3JtQ29udHJvbHNDYWxsYmFjaykoV0tCdW5kbGVQYWdlUmVmIHBhZ2UsIFdLQXJyYXlSZWYg
ZWxlbWVudEhhbmRsZXMsIGNvbnN0IHZvaWQqIGNsaWVudEluZm8pOworCitzdHJ1Y3QgV0tCdW5k
bGVQYWdlRm9ybUNsaWVudCB7CisgICAgaW50ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2ZXJzaW9uOworICAgIGNvbnN0IHZv
aWQgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgY2xpZW50SW5mbzsKKyAgICAKKyAgICAvLyBWZXJzaW9uIDAuCisgICAgV0tCdW5kbGVQYWdl
VGV4dEZpZWxkRGlkQmVnaW5FZGl0aW5nQ2FsbGJhY2sgICAgICAgICAgICAgICAgICAgICAgICB0
ZXh0RmllbGREaWRCZWdpbkVkaXRpbmc7CisgICAgV0tCdW5kbGVQYWdlVGV4dEZpZWxkRGlkRW5k
RWRpdGluZ0NhbGxiYWNrICAgICAgICAgICAgICAgICAgICAgICAgICB0ZXh0RmllbGREaWRFbmRF
ZGl0aW5nOworICAgIFdLQnVuZGxlUGFnZVRleHREaWRDaGFuZ2VJblRleHRGaWVsZENhbGxiYWNr
ICAgICAgICAgICAgICAgICAgICAgICAgdGV4dERpZENoYW5nZUluVGV4dEZpZWxkOworICAgIFdL
QnVuZGxlUGFnZVRleHREaWRDaGFuZ2VJblRleHRBcmVhQ2FsbGJhY2sgICAgICAgICAgICAgICAg
ICAgICAgICAgdGV4dERpZENoYW5nZUluVGV4dEFyZWE7CisgICAgV0tCdW5kbGVQYWdlU2hvdWxk
UGVyZm9ybUFjdGlvbkluVGV4dEZpZWxkQ2FsbGJhY2sgICAgICAgICAgICAgICAgICBzaG91bGRQ
ZXJmb3JtQWN0aW9uSW5UZXh0RmllbGQ7CisgICAgV0tCdW5kbGVQYWdlV2lsbFN1Ym1pdEZvcm1D
YWxsYmFjayAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aWxsU3VibWl0Rm9ybTsK
KyAgICAKKyAgICAvLyBWZXJzaW9uIDEuCisgICAgV0tCdW5kbGVQYWdlV2lsbFNlbmRTdWJtaXRF
dmVudENhbGxiYWNrICAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aWxsU2VuZFN1Ym1pdEV2
ZW50OworCisgICAgLy8gdmVyc2lvbiAyLgorICAgIFdLQnVuZGxlUGFnZURpZEZvY3VzVGV4dEZp
ZWxkQ2FsbGJhY2sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGlkRm9jdXNUZXh0Rmll
bGQ7CisgICAgV0tCdW5kbGVQYWdlU2hvdWxkTm90aWZ5T25Gb3JtQ2hhbmdlc0NhbGxiYWNrICAg
ICAgICAgICAgICAgICAgICAgICBzaG91bGROb3RpZnlPbkZvcm1DaGFuZ2VzOworICAgIFdLQnVu
ZGxlUGFnZURpZEFzc29jaWF0ZUZvcm1Db250cm9sc0NhbGxiYWNrICAgICAgICAgICAgICAgICAg
ICAgICAgZGlkQXNzb2NpYXRlRm9ybUNvbnRyb2xzOworfTsKK3R5cGVkZWYgc3RydWN0IFdLQnVu
ZGxlUGFnZUZvcm1DbGllbnQgV0tCdW5kbGVQYWdlRm9ybUNsaWVudDsKKworZW51bSB7IGtXS0J1
bmRsZVBhZ2VGb3JtQ2xpZW50Q3VycmVudFZlcnNpb24gPSAyIH07CisKKyNlbmRpZiAvLyBXS0J1
bmRsZVBhZ2VGb3JtQ2xpZW50X2gKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nl
c3MvSW5qZWN0ZWRCdW5kbGUvQVBJL2MvV0tCdW5kbGVQYWdlRnVsbFNjcmVlbkNsaWVudC5oIGIv
U291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9BUEkvYy9XS0J1bmRsZVBh
Z2VGdWxsU2NyZWVuQ2xpZW50LmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uOTAwZjAyYTBkMjliZDM5ZmZjMWI5NzZm
NTYyMjMwOTAyM2Q3YmYzMwotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlBy
b2Nlc3MvSW5qZWN0ZWRCdW5kbGUvQVBJL2MvV0tCdW5kbGVQYWdlRnVsbFNjcmVlbkNsaWVudC5o
CkBAIC0wLDAgKzEsNTcgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTMgQXBwbGUgSW5jLiBB
bGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291
cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBh
cmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBh
cmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWlu
IHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlv
bnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBp
biBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBu
b3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWlt
ZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJv
dmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJP
VklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFO
RCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBM
SU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkg
QU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4g
SU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBM
SUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVN
UExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBM
SU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNF
UzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJV
UFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hF
VEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElO
RyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0Yg
VEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NT
SUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaWZuZGVmIFdLQnVuZGxlUGFnZUZ1bGxT
Y3JlZW5DbGllbnRfaAorI2RlZmluZSBXS0J1bmRsZVBhZ2VGdWxsU2NyZWVuQ2xpZW50X2gKKwor
I2luY2x1ZGUgPFdlYktpdDIvV0tCYXNlLmg+CisjaW5jbHVkZSA8V2ViS2l0Mi9XS0dlb21ldHJ5
Lmg+CisKK3R5cGVkZWYgYm9vbCAoKldLQnVuZGxlUGFnZVN1cHBvcnRzRnVsbFNjcmVlbikoV0tC
dW5kbGVQYWdlUmVmIHBhZ2UsIFdLRnVsbFNjcmVlbktleWJvYXJkUmVxdWVzdFR5cGUgcmVxdWVz
dFR5cGUpOwordHlwZWRlZiB2b2lkICgqV0tCdW5kbGVQYWdlRW50ZXJGdWxsU2NyZWVuRm9yRWxl
bWVudCkoV0tCdW5kbGVQYWdlUmVmIHBhZ2UsIFdLQnVuZGxlTm9kZUhhbmRsZVJlZiBlbGVtZW50
KTsKK3R5cGVkZWYgdm9pZCAoKldLQnVuZGxlUGFnZUV4aXRGdWxsU2NyZWVuRm9yRWxlbWVudCko
V0tCdW5kbGVQYWdlUmVmIHBhZ2UsIFdLQnVuZGxlTm9kZUhhbmRsZVJlZiBlbGVtZW50KTsKK3R5
cGVkZWYgdm9pZCAoKldLQnVuZGxlUGFnZUJlZ2FuRW50ZXJGdWxsU2NyZWVuKShXS0J1bmRsZVBh
Z2VSZWYgcGFnZSwgV0tSZWN0IGluaXRpYWxGcmFtZSwgV0tSZWN0IGZpbmFsRnJhbWUpOwordHlw
ZWRlZiB2b2lkICgqV0tCdW5kbGVQYWdlQmVnYW5FeGl0RnVsbFNjcmVlbikoV0tCdW5kbGVQYWdl
UmVmIHBhZ2UsIFdLUmVjdCBpbml0aWFsRnJhbWUsIFdLUmVjdCBmaW5hbEZyYW1lKTsKK3R5cGVk
ZWYgdm9pZCAoKldLQnVuZGxlUGFnZUNsb3NlRnVsbFNjcmVlbikoV0tCdW5kbGVQYWdlUmVmIHBh
Z2UpOworCitzdHJ1Y3QgV0tCdW5kbGVQYWdlRnVsbFNjcmVlbkNsaWVudCB7CisgICAgaW50ICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICB2ZXJzaW9uOworICAgIGNvbnN0IHZvaWQgKiAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xpZW50SW5mbzsKKworICAgIC8vIFZlcnNp
b24gMDoKKyAgICBXS0J1bmRsZVBhZ2VTdXBwb3J0c0Z1bGxTY3JlZW4gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIHN1cHBvcnRzRnVsbFNjcmVlbjsKKyAgICBXS0J1bmRsZVBh
Z2VFbnRlckZ1bGxTY3JlZW5Gb3JFbGVtZW50ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGVudGVyRnVsbFNjcmVlbkZvckVsZW1lbnQ7CisgICAgV0tCdW5kbGVQYWdlRXhpdEZ1bGxTY3Jl
ZW5Gb3JFbGVtZW50ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBleGl0RnVsbFNjcmVl
bkZvckVsZW1lbnQ7CisKKyAgICAvLyBWZXJzaW9uIDE6CisgICAgV0tCdW5kbGVQYWdlQmVnYW5F
bnRlckZ1bGxTY3JlZW4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBiZWdhbkVu
dGVyRnVsbFNjcmVlbjsKKyAgICBXS0J1bmRsZVBhZ2VCZWdhbkV4aXRGdWxsU2NyZWVuICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJlZ2FuRXhpdEZ1bGxTY3JlZW47CisgICAg
V0tCdW5kbGVQYWdlQ2xvc2VGdWxsU2NyZWVuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBjbG9zZUZ1bGxTY3JlZW47Cit9OwordHlwZWRlZiBzdHJ1Y3QgV0tCdW5kbGVQ
YWdlRnVsbFNjcmVlbkNsaWVudCBXS0J1bmRsZVBhZ2VGdWxsU2NyZWVuQ2xpZW50OworCitlbnVt
IHsga1dLQnVuZGxlUGFnZUZ1bGxTY3JlZW5DbGllbnRDdXJyZW50VmVyc2lvbiA9IDEgfTsKKwor
I2VuZGlmIC8vIFdLQnVuZGxlUGFnZUZ1bGxTY3JlZW5DbGllbnRfaApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9BUEkvYy9XS0J1bmRsZVBhZ2VM
b2FkZXJDbGllbnQuaCBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUv
QVBJL2MvV0tCdW5kbGVQYWdlTG9hZGVyQ2xpZW50LmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNzQ5MWUwMmFmYzUy
ZDgyODM3ZDkyNmY2YjYyNGMwZWIxYWE3ODlmOQotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9X
ZWJLaXQyL1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvQVBJL2MvV0tCdW5kbGVQYWdlTG9hZGVy
Q2xpZW50LmgKQEAgLTAsMCArMSwxMjUgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTMgQXBw
bGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1
c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZp
Y2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRp
b25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11
c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9m
IGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJp
YnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0
CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5n
IGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRl
cmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdB
UkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElT
JycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywg
QlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFO
VEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElT
Q0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JT
CisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVD
SUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywg
QlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBP
UiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisg
KiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJ
TElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQg
KElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdB
WSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAq
IFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaWZuZGVmIFdLQnVuZGxl
UGFnZUxvYWRlckNsaWVudF9oCisjZGVmaW5lIFdLQnVuZGxlUGFnZUxvYWRlckNsaWVudF9oCisK
KyNpbmNsdWRlIDxXZWJLaXQyL1dLQmFzZS5oPgorI2luY2x1ZGUgPFdlYktpdDIvV0tQYWdlTG9h
ZFR5cGVzLmg+CisKK3R5cGVkZWYgdm9pZCAoKldLQnVuZGxlUGFnZURpZFN0YXJ0UHJvdmlzaW9u
YWxMb2FkRm9yRnJhbWVDYWxsYmFjaykoV0tCdW5kbGVQYWdlUmVmIHBhZ2UsIFdLQnVuZGxlRnJh
bWVSZWYgZnJhbWUsIFdLVHlwZVJlZiogdXNlckRhdGEsIGNvbnN0IHZvaWQgKmNsaWVudEluZm8p
OwordHlwZWRlZiB2b2lkICgqV0tCdW5kbGVQYWdlRGlkUmVjZWl2ZVNlcnZlclJlZGlyZWN0Rm9y
UHJvdmlzaW9uYWxMb2FkRm9yRnJhbWVDYWxsYmFjaykoV0tCdW5kbGVQYWdlUmVmIHBhZ2UsIFdL
QnVuZGxlRnJhbWVSZWYgZnJhbWUsIFdLVHlwZVJlZiogdXNlckRhdGEsIGNvbnN0IHZvaWQgKmNs
aWVudEluZm8pOwordHlwZWRlZiB2b2lkICgqV0tCdW5kbGVQYWdlRGlkRmFpbFByb3Zpc2lvbmFs
TG9hZFdpdGhFcnJvckZvckZyYW1lQ2FsbGJhY2spKFdLQnVuZGxlUGFnZVJlZiBwYWdlLCBXS0J1
bmRsZUZyYW1lUmVmIGZyYW1lLCBXS0Vycm9yUmVmIGVycm9yLCBXS1R5cGVSZWYqIHVzZXJEYXRh
LCBjb25zdCB2b2lkICpjbGllbnRJbmZvKTsKK3R5cGVkZWYgdm9pZCAoKldLQnVuZGxlUGFnZURp
ZENvbW1pdExvYWRGb3JGcmFtZUNhbGxiYWNrKShXS0J1bmRsZVBhZ2VSZWYgcGFnZSwgV0tCdW5k
bGVGcmFtZVJlZiBmcmFtZSwgV0tUeXBlUmVmKiB1c2VyRGF0YSwgY29uc3Qgdm9pZCAqY2xpZW50
SW5mbyk7Cit0eXBlZGVmIHZvaWQgKCpXS0J1bmRsZVBhZ2VEaWREb2N1bWVudEZpbmlzaExvYWRG
b3JGcmFtZUNhbGxiYWNrKShXS0J1bmRsZVBhZ2VSZWYgcGFnZSwgV0tCdW5kbGVGcmFtZVJlZiBm
cmFtZSwgV0tUeXBlUmVmKiB1c2VyRGF0YSwgY29uc3Qgdm9pZCAqY2xpZW50SW5mbyk7Cit0eXBl
ZGVmIHZvaWQgKCpXS0J1bmRsZVBhZ2VEaWRGaW5pc2hMb2FkRm9yRnJhbWVDYWxsYmFjaykoV0tC
dW5kbGVQYWdlUmVmIHBhZ2UsIFdLQnVuZGxlRnJhbWVSZWYgZnJhbWUsIFdLVHlwZVJlZiogdXNl
ckRhdGEsIGNvbnN0IHZvaWQgKmNsaWVudEluZm8pOwordHlwZWRlZiB2b2lkICgqV0tCdW5kbGVQ
YWdlRGlkRmluaXNoRG9jdW1lbnRMb2FkRm9yRnJhbWVDYWxsYmFjaykoV0tCdW5kbGVQYWdlUmVm
IHBhZ2UsIFdLQnVuZGxlRnJhbWVSZWYgZnJhbWUsIFdLVHlwZVJlZiogdXNlckRhdGEsIGNvbnN0
IHZvaWQgKmNsaWVudEluZm8pOwordHlwZWRlZiB2b2lkICgqV0tCdW5kbGVQYWdlRGlkRmluaXNo
UHJvZ3Jlc3NDYWxsYmFjaykoV0tCdW5kbGVQYWdlUmVmIHBhZ2UsIGNvbnN0IHZvaWQgKmNsaWVu
dEluZm8pOwordHlwZWRlZiB2b2lkICgqV0tCdW5kbGVQYWdlRGlkRmFpbExvYWRXaXRoRXJyb3JG
b3JGcmFtZUNhbGxiYWNrKShXS0J1bmRsZVBhZ2VSZWYgcGFnZSwgV0tCdW5kbGVGcmFtZVJlZiBm
cmFtZSwgV0tFcnJvclJlZiBlcnJvciwgV0tUeXBlUmVmKiB1c2VyRGF0YSwgY29uc3Qgdm9pZCAq
Y2xpZW50SW5mbyk7Cit0eXBlZGVmIHZvaWQgKCpXS0J1bmRsZVBhZ2VEaWRTYW1lRG9jdW1lbnRO
YXZpZ2F0aW9uRm9yRnJhbWVDYWxsYmFjaykoV0tCdW5kbGVQYWdlUmVmIHBhZ2UsIFdLQnVuZGxl
RnJhbWVSZWYgZnJhbWUsIFdLU2FtZURvY3VtZW50TmF2aWdhdGlvblR5cGUgdHlwZSwgV0tUeXBl
UmVmKiB1c2VyRGF0YSwgY29uc3Qgdm9pZCAqY2xpZW50SW5mbyk7Cit0eXBlZGVmIHZvaWQgKCpX
S0J1bmRsZVBhZ2VEaWRSZWNlaXZlVGl0bGVGb3JGcmFtZUNhbGxiYWNrKShXS0J1bmRsZVBhZ2VS
ZWYgcGFnZSwgV0tTdHJpbmdSZWYgdGl0bGUsIFdLQnVuZGxlRnJhbWVSZWYgZnJhbWUsIFdLVHlw
ZVJlZiogdXNlckRhdGEsIGNvbnN0IHZvaWQgKmNsaWVudEluZm8pOwordHlwZWRlZiB2b2lkICgq
V0tCdW5kbGVQYWdlRGlkUmVtb3ZlRnJhbWVGcm9tSGllcmFyY2h5Q2FsbGJhY2spKFdLQnVuZGxl
UGFnZVJlZiBwYWdlLCBXS0J1bmRsZUZyYW1lUmVmIGZyYW1lLCBXS1R5cGVSZWYqIHVzZXJEYXRh
LCBjb25zdCB2b2lkICpjbGllbnRJbmZvKTsKK3R5cGVkZWYgdm9pZCAoKldLQnVuZGxlUGFnZURp
ZERpc3BsYXlJbnNlY3VyZUNvbnRlbnRGb3JGcmFtZUNhbGxiYWNrKShXS0J1bmRsZVBhZ2VSZWYg
cGFnZSwgV0tCdW5kbGVGcmFtZVJlZiBmcmFtZSwgV0tUeXBlUmVmKiB1c2VyRGF0YSwgY29uc3Qg
dm9pZCAqY2xpZW50SW5mbyk7Cit0eXBlZGVmIHZvaWQgKCpXS0J1bmRsZVBhZ2VEaWRSdW5JbnNl
Y3VyZUNvbnRlbnRGb3JGcmFtZUNhbGxiYWNrKShXS0J1bmRsZVBhZ2VSZWYgcGFnZSwgV0tCdW5k
bGVGcmFtZVJlZiBmcmFtZSwgV0tUeXBlUmVmKiB1c2VyRGF0YSwgY29uc3Qgdm9pZCAqY2xpZW50
SW5mbyk7Cit0eXBlZGVmIHZvaWQgKCpXS0J1bmRsZVBhZ2VEaWREZXRlY3RYU1NGb3JGcmFtZUNh
bGxiYWNrKShXS0J1bmRsZVBhZ2VSZWYgcGFnZSwgV0tCdW5kbGVGcmFtZVJlZiBmcmFtZSwgV0tU
eXBlUmVmKiB1c2VyRGF0YSwgY29uc3Qgdm9pZCAqY2xpZW50SW5mbyk7Cit0eXBlZGVmIHZvaWQg
KCpXS0J1bmRsZVBhZ2VEaWRGaXJzdExheW91dEZvckZyYW1lQ2FsbGJhY2spKFdLQnVuZGxlUGFn
ZVJlZiBwYWdlLCBXS0J1bmRsZUZyYW1lUmVmIGZyYW1lLCBXS1R5cGVSZWYqIHVzZXJEYXRhLCBj
b25zdCB2b2lkICpjbGllbnRJbmZvKTsKK3R5cGVkZWYgdm9pZCAoKldLQnVuZGxlUGFnZURpZEZp
cnN0VmlzdWFsbHlOb25FbXB0eUxheW91dEZvckZyYW1lQ2FsbGJhY2spKFdLQnVuZGxlUGFnZVJl
ZiBwYWdlLCBXS0J1bmRsZUZyYW1lUmVmIGZyYW1lLCBXS1R5cGVSZWYqIHVzZXJEYXRhLCBjb25z
dCB2b2lkICpjbGllbnRJbmZvKTsKK3R5cGVkZWYgdm9pZCAoKldLQnVuZGxlUGFnZURpZExheW91
dEZvckZyYW1lQ2FsbGJhY2spKFdLQnVuZGxlUGFnZVJlZiBwYWdlLCBXS0J1bmRsZUZyYW1lUmVm
IGZyYW1lLCBjb25zdCB2b2lkKiBjbGllbnRJbmZvKTsKK3R5cGVkZWYgdm9pZCAoKldLQnVuZGxl
UGFnZURpZENsZWFyV2luZG93T2JqZWN0Rm9yRnJhbWVDYWxsYmFjaykoV0tCdW5kbGVQYWdlUmVm
IHBhZ2UsIFdLQnVuZGxlRnJhbWVSZWYgZnJhbWUsIFdLQnVuZGxlU2NyaXB0V29ybGRSZWYgd29y
bGQsIGNvbnN0IHZvaWQgKmNsaWVudEluZm8pOwordHlwZWRlZiB2b2lkICgqV0tCdW5kbGVQYWdl
RGlkQ2FuY2VsQ2xpZW50UmVkaXJlY3RGb3JGcmFtZUNhbGxiYWNrKShXS0J1bmRsZVBhZ2VSZWYg
cGFnZSwgV0tCdW5kbGVGcmFtZVJlZiBmcmFtZSwgY29uc3Qgdm9pZCAqY2xpZW50SW5mbyk7Cit0
eXBlZGVmIHZvaWQgKCpXS0J1bmRsZVBhZ2VXaWxsUGVyZm9ybUNsaWVudFJlZGlyZWN0Rm9yRnJh
bWVDYWxsYmFjaykoV0tCdW5kbGVQYWdlUmVmIHBhZ2UsIFdLQnVuZGxlRnJhbWVSZWYgZnJhbWUs
IFdLVVJMUmVmIHVybCwgZG91YmxlIGRlbGF5LCBkb3VibGUgZGF0ZSwgY29uc3Qgdm9pZCAqY2xp
ZW50SW5mbyk7Cit0eXBlZGVmIHZvaWQgKCpXS0J1bmRsZVBhZ2VEaWRIYW5kbGVPbmxvYWRFdmVu
dHNGb3JGcmFtZUNhbGxiYWNrKShXS0J1bmRsZVBhZ2VSZWYgcGFnZSwgV0tCdW5kbGVGcmFtZVJl
ZiBmcmFtZSwgY29uc3Qgdm9pZCAqY2xpZW50SW5mbyk7Cit0eXBlZGVmIGJvb2wgKCpXS0J1bmRs
ZVBhZ2VTaG91bGRHb1RvQmFja0ZvcndhcmRMaXN0SXRlbUNhbGxiYWNrKShXS0J1bmRsZVBhZ2VS
ZWYgcGFnZSwgV0tCdW5kbGVCYWNrRm9yd2FyZExpc3RJdGVtUmVmIGl0ZW0sIFdLVHlwZVJlZiog
dXNlckRhdGEsIGNvbnN0IHZvaWQgKmNsaWVudEluZm8pOwordHlwZWRlZiB2b2lkICgqV0tCdW5k
bGVQYWdlR2xvYmFsT2JqZWN0SXNBdmFpbGFibGVGb3JGcmFtZUNhbGxiYWNrKShXS0J1bmRsZVBh
Z2VSZWYgcGFnZSwgV0tCdW5kbGVGcmFtZVJlZiwgV0tCdW5kbGVTY3JpcHRXb3JsZFJlZiwgY29u
c3Qgdm9pZCogY2xpZW50SW5mbyk7Cit0eXBlZGVmIHZvaWQgKCpXS0J1bmRsZVBhZ2VXaWxsRGlz
Y29ubmVjdERPTVdpbmRvd0V4dGVuc2lvbkZyb21HbG9iYWxPYmplY3RDYWxsYmFjaykoV0tCdW5k
bGVQYWdlUmVmIHBhZ2UsIFdLQnVuZGxlRE9NV2luZG93RXh0ZW5zaW9uUmVmLCBjb25zdCB2b2lk
KiBjbGllbnRJbmZvKTsKK3R5cGVkZWYgdm9pZCAoKldLQnVuZGxlUGFnZURpZFJlY29ubmVjdERP
TVdpbmRvd0V4dGVuc2lvblRvR2xvYmFsT2JqZWN0Q2FsbGJhY2spKFdLQnVuZGxlUGFnZVJlZiBw
YWdlLCBXS0J1bmRsZURPTVdpbmRvd0V4dGVuc2lvblJlZiwgY29uc3Qgdm9pZCogY2xpZW50SW5m
byk7Cit0eXBlZGVmIHZvaWQgKCpXS0J1bmRsZVBhZ2VXaWxsRGVzdHJveUdsb2JhbE9iamVjdEZv
ckRPTVdpbmRvd0V4dGVuc2lvbkNhbGxiYWNrKShXS0J1bmRsZVBhZ2VSZWYgcGFnZSwgV0tCdW5k
bGVET01XaW5kb3dFeHRlbnNpb25SZWYsIGNvbnN0IHZvaWQqIGNsaWVudEluZm8pOwordHlwZWRl
ZiBib29sICgqV0tCdW5kbGVQYWdlU2hvdWxkRm9yY2VVbml2ZXJzYWxBY2Nlc3NGcm9tTG9jYWxV
UkxDYWxsYmFjaykoV0tCdW5kbGVQYWdlUmVmLCBXS1N0cmluZ1JlZiB1cmwsIGNvbnN0IHZvaWQq
IGNsaWVudEluZm8pOwordHlwZWRlZiB2b2lkICgqV0tCdW5kbGVQYWdlRGlkTGF5b3V0Q2FsbGJh
Y2spKFdLQnVuZGxlUGFnZVJlZiBwYWdlLCBXS0xheW91dE1pbGVzdG9uZXMgbWlsZXN0b25lcywg
V0tUeXBlUmVmKiB1c2VyRGF0YSwgY29uc3Qgdm9pZCAqY2xpZW50SW5mbyk7Cit0eXBlZGVmIHZv
aWQgKCpXS0J1bmRsZVBhZ2VGZWF0dXJlc1VzZWRJblBhZ2VDYWxsYmFjaykoV0tCdW5kbGVQYWdl
UmVmIHBhZ2UsIFdLQXJyYXlSZWYgZmVhdHVyZVN0cmluZ3MsIGNvbnN0IHZvaWQgKmNsaWVudElu
Zm8pOwordHlwZWRlZiB2b2lkICgqV0tCdW5kbGVQYWdlV2lsbExvYWRVUkxSZXF1ZXN0Q2FsbGJh
Y2spKFdLQnVuZGxlUGFnZVJlZiBwYWdlLCBXS1VSTFJlcXVlc3RSZWYgcmVxdWVzdCwgV0tUeXBl
UmVmIHVzZXJEYXRhLCBjb25zdCB2b2lkICpjbGllbnRJbmZvKTsKK3R5cGVkZWYgdm9pZCAoKldL
QnVuZGxlUGFnZVdpbGxMb2FkRGF0YVJlcXVlc3RDYWxsYmFjaykoV0tCdW5kbGVQYWdlUmVmIHBh
Z2UsIFdLVVJMUmVxdWVzdFJlZiByZXF1ZXN0LCBXS0RhdGFSZWYgZGF0YSwgV0tTdHJpbmdSZWYg
TUlNRVR5cGUsIFdLU3RyaW5nUmVmIGVuY29kaW5nTmFtZSwgV0tVUkxSZWYgdW5yZWFjaGFibGVV
UkwsIFdLVHlwZVJlZiB1c2VyRGF0YSwgY29uc3Qgdm9pZCAqY2xpZW50SW5mbyk7Cit0eXBlZGVm
IHZvaWQgKCpXS0J1bmRsZVBhZ2VXaWxsRGVzdHJveUZyYW1lKShXS0J1bmRsZVBhZ2VSZWYgcGFn
ZSwgV0tCdW5kbGVGcmFtZVJlZiBmcmFtZSwgY29uc3Qgdm9pZCAqY2xpZW50SW5mbyk7CisKK3N0
cnVjdCBXS0J1bmRsZVBhZ2VMb2FkZXJDbGllbnQgeworICAgIGludCAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZlcnNp
b247CisgICAgY29uc3Qgdm9pZCAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgY2xpZW50SW5mbzsKKworICAgIC8vIFZlcnNpb24gMC4K
KyAgICBXS0J1bmRsZVBhZ2VEaWRTdGFydFByb3Zpc2lvbmFsTG9hZEZvckZyYW1lQ2FsbGJhY2sg
ICAgICAgICAgICAgICAgICAgICBkaWRTdGFydFByb3Zpc2lvbmFsTG9hZEZvckZyYW1lOworICAg
IFdLQnVuZGxlUGFnZURpZFJlY2VpdmVTZXJ2ZXJSZWRpcmVjdEZvclByb3Zpc2lvbmFsTG9hZEZv
ckZyYW1lQ2FsbGJhY2sgIGRpZFJlY2VpdmVTZXJ2ZXJSZWRpcmVjdEZvclByb3Zpc2lvbmFsTG9h
ZEZvckZyYW1lOworICAgIFdLQnVuZGxlUGFnZURpZEZhaWxQcm92aXNpb25hbExvYWRXaXRoRXJy
b3JGb3JGcmFtZUNhbGxiYWNrICAgICAgICAgICAgIGRpZEZhaWxQcm92aXNpb25hbExvYWRXaXRo
RXJyb3JGb3JGcmFtZTsKKyAgICBXS0J1bmRsZVBhZ2VEaWRDb21taXRMb2FkRm9yRnJhbWVDYWxs
YmFjayAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkaWRDb21taXRMb2FkRm9yRnJhbWU7
CisgICAgV0tCdW5kbGVQYWdlRGlkRmluaXNoRG9jdW1lbnRMb2FkRm9yRnJhbWVDYWxsYmFjayAg
ICAgICAgICAgICAgICAgICAgICAgZGlkRmluaXNoRG9jdW1lbnRMb2FkRm9yRnJhbWU7CisgICAg
V0tCdW5kbGVQYWdlRGlkRmluaXNoTG9hZEZvckZyYW1lQ2FsbGJhY2sgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgZGlkRmluaXNoTG9hZEZvckZyYW1lOworICAgIFdLQnVuZGxlUGFnZURp
ZEZhaWxMb2FkV2l0aEVycm9yRm9yRnJhbWVDYWxsYmFjayAgICAgICAgICAgICAgICAgICAgICAg
IGRpZEZhaWxMb2FkV2l0aEVycm9yRm9yRnJhbWU7CisgICAgV0tCdW5kbGVQYWdlRGlkU2FtZURv
Y3VtZW50TmF2aWdhdGlvbkZvckZyYW1lQ2FsbGJhY2sgICAgICAgICAgICAgICAgICAgZGlkU2Ft
ZURvY3VtZW50TmF2aWdhdGlvbkZvckZyYW1lOworICAgIFdLQnVuZGxlUGFnZURpZFJlY2VpdmVU
aXRsZUZvckZyYW1lQ2FsbGJhY2sgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpZFJlY2Vp
dmVUaXRsZUZvckZyYW1lOworICAgIFdLQnVuZGxlUGFnZURpZEZpcnN0TGF5b3V0Rm9yRnJhbWVD
YWxsYmFjayAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpZEZpcnN0TGF5b3V0Rm9yRnJh
bWU7CisgICAgV0tCdW5kbGVQYWdlRGlkRmlyc3RWaXN1YWxseU5vbkVtcHR5TGF5b3V0Rm9yRnJh
bWVDYWxsYmFjayAgICAgICAgICAgICAgZGlkRmlyc3RWaXN1YWxseU5vbkVtcHR5TGF5b3V0Rm9y
RnJhbWU7CisgICAgV0tCdW5kbGVQYWdlRGlkUmVtb3ZlRnJhbWVGcm9tSGllcmFyY2h5Q2FsbGJh
Y2sgICAgICAgICAgICAgICAgICAgICAgICAgZGlkUmVtb3ZlRnJhbWVGcm9tSGllcmFyY2h5Owor
ICAgIFdLQnVuZGxlUGFnZURpZERpc3BsYXlJbnNlY3VyZUNvbnRlbnRGb3JGcmFtZUNhbGxiYWNr
ICAgICAgICAgICAgICAgICAgIGRpZERpc3BsYXlJbnNlY3VyZUNvbnRlbnRGb3JGcmFtZTsKKyAg
ICBXS0J1bmRsZVBhZ2VEaWRSdW5JbnNlY3VyZUNvbnRlbnRGb3JGcmFtZUNhbGxiYWNrICAgICAg
ICAgICAgICAgICAgICAgICBkaWRSdW5JbnNlY3VyZUNvbnRlbnRGb3JGcmFtZTsKKyAgICBXS0J1
bmRsZVBhZ2VEaWRDbGVhcldpbmRvd09iamVjdEZvckZyYW1lQ2FsbGJhY2sgICAgICAgICAgICAg
ICAgICAgICAgICBkaWRDbGVhcldpbmRvd09iamVjdEZvckZyYW1lOworICAgIFdLQnVuZGxlUGFn
ZURpZENhbmNlbENsaWVudFJlZGlyZWN0Rm9yRnJhbWVDYWxsYmFjayAgICAgICAgICAgICAgICAg
ICAgIGRpZENhbmNlbENsaWVudFJlZGlyZWN0Rm9yRnJhbWU7CisgICAgV0tCdW5kbGVQYWdlV2ls
bFBlcmZvcm1DbGllbnRSZWRpcmVjdEZvckZyYW1lQ2FsbGJhY2sgICAgICAgICAgICAgICAgICAg
d2lsbFBlcmZvcm1DbGllbnRSZWRpcmVjdEZvckZyYW1lOworICAgIFdLQnVuZGxlUGFnZURpZEhh
bmRsZU9ubG9hZEV2ZW50c0ZvckZyYW1lQ2FsbGJhY2sgICAgICAgICAgICAgICAgICAgICAgIGRp
ZEhhbmRsZU9ubG9hZEV2ZW50c0ZvckZyYW1lOworCisgICAgLy8gVmVyc2lvbiAxLgorICAgIFdL
QnVuZGxlUGFnZURpZExheW91dEZvckZyYW1lQ2FsbGJhY2sgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGRpZExheW91dEZvckZyYW1lOworICAgIHZvaWQgKiAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpZE5l
d0ZpcnN0VmlzdWFsbHlOb25FbXB0eUxheW91dF91bmF2YWlsYWJsZTsKKyAgICBXS0J1bmRsZVBh
Z2VEaWREZXRlY3RYU1NGb3JGcmFtZUNhbGxiYWNrICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBkaWREZXRlY3RYU1NGb3JGcmFtZTsKKyAgICBXS0J1bmRsZVBhZ2VTaG91bGRHb1RvQmFj
a0ZvcndhcmRMaXN0SXRlbUNhbGxiYWNrICAgICAgICAgICAgICAgICAgICAgICBzaG91bGRHb1Rv
QmFja0ZvcndhcmRMaXN0SXRlbTsKKyAgICBXS0J1bmRsZVBhZ2VHbG9iYWxPYmplY3RJc0F2YWls
YWJsZUZvckZyYW1lQ2FsbGJhY2sgICAgICAgICAgICAgICAgICAgICBnbG9iYWxPYmplY3RJc0F2
YWlsYWJsZUZvckZyYW1lOworICAgIFdLQnVuZGxlUGFnZVdpbGxEaXNjb25uZWN0RE9NV2luZG93
RXh0ZW5zaW9uRnJvbUdsb2JhbE9iamVjdENhbGxiYWNrICAgIHdpbGxEaXNjb25uZWN0RE9NV2lu
ZG93RXh0ZW5zaW9uRnJvbUdsb2JhbE9iamVjdDsKKyAgICBXS0J1bmRsZVBhZ2VEaWRSZWNvbm5l
Y3RET01XaW5kb3dFeHRlbnNpb25Ub0dsb2JhbE9iamVjdENhbGxiYWNrICAgICAgICBkaWRSZWNv
bm5lY3RET01XaW5kb3dFeHRlbnNpb25Ub0dsb2JhbE9iamVjdDsKKyAgICBXS0J1bmRsZVBhZ2VX
aWxsRGVzdHJveUdsb2JhbE9iamVjdEZvckRPTVdpbmRvd0V4dGVuc2lvbkNhbGxiYWNrICAgICAg
ICB3aWxsRGVzdHJveUdsb2JhbE9iamVjdEZvckRPTVdpbmRvd0V4dGVuc2lvbjsKKyAgICAKKyAg
ICAvLyBWZXJzaW9uIDIKKyAgICBXS0J1bmRsZVBhZ2VEaWRGaW5pc2hQcm9ncmVzc0NhbGxiYWNr
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkaWRGaW5pc2hQcm9ncmVzczsKKyAg
ICBXS0J1bmRsZVBhZ2VTaG91bGRGb3JjZVVuaXZlcnNhbEFjY2Vzc0Zyb21Mb2NhbFVSTENhbGxi
YWNrICAgICAgICAgICAgICBzaG91bGRGb3JjZVVuaXZlcnNhbEFjY2Vzc0Zyb21Mb2NhbFVSTDsK
KworICAgIC8vIFZlcnNpb24gMworICAgIHZvaWQgKiAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpZFJlY2VpdmVJbnRlbnRG
b3JGcmFtZV91bmF2YWlsYWJsZTsKKyAgICB2b2lkICogICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZWdpc3RlckludGVudFNl
cnZpY2VGb3JGcmFtZV91bmF2YWlsYWJsZTsKKworICAgIC8vIFZlcnNpb24gNAorICAgIFdLQnVu
ZGxlUGFnZURpZExheW91dENhbGxiYWNrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGRpZExheW91dDsKKworICAgIC8vIFZlcnNpb24gNQorICAgIFdLQnVuZGxlUGFn
ZUZlYXR1cmVzVXNlZEluUGFnZUNhbGxiYWNrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGZlYXR1cmVzVXNlZEluUGFnZTsKKyAgICAKKyAgICAvLyBWZXJzaW9uIDYKKyAgICBXS0J1
bmRsZVBhZ2VXaWxsTG9hZFVSTFJlcXVlc3RDYWxsYmFjayAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICB3aWxsTG9hZFVSTFJlcXVlc3Q7CisgICAgV0tCdW5kbGVQYWdlV2lsbExvYWRE
YXRhUmVxdWVzdENhbGxiYWNrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgd2lsbExv
YWREYXRhUmVxdWVzdDsKKworICAgIC8vIFZlcnNpb24gNworICAgIFdLQnVuZGxlUGFnZVdpbGxE
ZXN0cm95RnJhbWUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdp
bGxEZXN0cm95RnJhbWU7Cit9OwordHlwZWRlZiBzdHJ1Y3QgV0tCdW5kbGVQYWdlTG9hZGVyQ2xp
ZW50IFdLQnVuZGxlUGFnZUxvYWRlckNsaWVudDsKKworZW51bSB7IGtXS0J1bmRsZVBhZ2VMb2Fk
ZXJDbGllbnRDdXJyZW50VmVyc2lvbiA9IDcgfTsKKworI2VuZGlmIC8vIFdLQnVuZGxlUGFnZUxv
YWRlckNsaWVudF9oCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL0luamVj
dGVkQnVuZGxlL0FQSS9jL1dLQnVuZGxlUGFnZVBvbGljeUNsaWVudC5oIGIvU291cmNlL1dlYktp
dDIvV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9BUEkvYy9XS0J1bmRsZVBhZ2VQb2xpY3lDbGll
bnQuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi5jMzJiNWVmYmYzOWI2MzEwMzE4N2FiOTI3MDNlNzFjNWUyOTgxMzQw
Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9JbmplY3RlZEJ1
bmRsZS9BUEkvYy9XS0J1bmRsZVBhZ2VQb2xpY3lDbGllbnQuaApAQCAtMCwwICsxLDU1IEBACisv
KgorICogQ29weXJpZ2h0IChDKSAyMDEzIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4K
KyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1z
LCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRl
ZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlz
dHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0
CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5n
IGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCBy
ZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2Yg
Y29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9j
dW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3Ry
aWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4g
QU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1Q
TElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJ
TVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBB
UlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQ
UExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNU
LCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VR
VUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1F
TlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRB
LCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNF
RCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNU
LCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhF
UldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZU
V0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1B
R0UuCisgKi8KKworI2lmbmRlZiBXS0J1bmRsZVBhZ2VQb2xpY3lDbGllbnRfaAorI2RlZmluZSBX
S0J1bmRsZVBhZ2VQb2xpY3lDbGllbnRfaAorCisjaW5jbHVkZSA8V2ViS2l0Mi9XS0Jhc2UuaD4K
KworZW51bSB7CisgICAgV0tCdW5kbGVQYWdlUG9saWN5QWN0aW9uUGFzc1Rocm91Z2gsCisgICAg
V0tCdW5kbGVQYWdlUG9saWN5QWN0aW9uVXNlCit9OwordHlwZWRlZiB1aW50MzJfdCBXS0J1bmRs
ZVBhZ2VQb2xpY3lBY3Rpb247CisKK3R5cGVkZWYgV0tCdW5kbGVQYWdlUG9saWN5QWN0aW9uICgq
V0tCdW5kbGVQYWdlRGVjaWRlUG9saWN5Rm9yTmF2aWdhdGlvbkFjdGlvbkNhbGxiYWNrKShXS0J1
bmRsZVBhZ2VSZWYgcGFnZSwgV0tCdW5kbGVGcmFtZVJlZiBmcmFtZSwgV0tCdW5kbGVOYXZpZ2F0
aW9uQWN0aW9uUmVmIG5hdmlnYXRpb25BY3Rpb24sIFdLVVJMUmVxdWVzdFJlZiByZXF1ZXN0LCBX
S1R5cGVSZWYqIHVzZXJEYXRhLCBjb25zdCB2b2lkKiBjbGllbnRJbmZvKTsKK3R5cGVkZWYgV0tC
dW5kbGVQYWdlUG9saWN5QWN0aW9uICgqV0tCdW5kbGVQYWdlRGVjaWRlUG9saWN5Rm9yTmV3V2lu
ZG93QWN0aW9uQ2FsbGJhY2spKFdLQnVuZGxlUGFnZVJlZiBwYWdlLCBXS0J1bmRsZUZyYW1lUmVm
IGZyYW1lLCBXS0J1bmRsZU5hdmlnYXRpb25BY3Rpb25SZWYgbmF2aWdhdGlvbkFjdGlvbiwgV0tV
UkxSZXF1ZXN0UmVmIHJlcXVlc3QsIFdLU3RyaW5nUmVmIGZyYW1lTmFtZSwgV0tUeXBlUmVmKiB1
c2VyRGF0YSwgY29uc3Qgdm9pZCogY2xpZW50SW5mbyk7Cit0eXBlZGVmIFdLQnVuZGxlUGFnZVBv
bGljeUFjdGlvbiAoKldLQnVuZGxlUGFnZURlY2lkZVBvbGljeUZvclJlc3BvbnNlQ2FsbGJhY2sp
KFdLQnVuZGxlUGFnZVJlZiBwYWdlLCBXS0J1bmRsZUZyYW1lUmVmIGZyYW1lLCBXS1VSTFJlc3Bv
bnNlUmVmIHJlc3BvbnNlLCBXS1VSTFJlcXVlc3RSZWYgcmVxdWVzdCwgV0tUeXBlUmVmKiB1c2Vy
RGF0YSwgY29uc3Qgdm9pZCogY2xpZW50SW5mbyk7Cit0eXBlZGVmIHZvaWQgKCpXS0J1bmRsZVBh
Z2VVbmFibGVUb0ltcGxlbWVudFBvbGljeUNhbGxiYWNrKShXS0J1bmRsZVBhZ2VSZWYgcGFnZSwg
V0tCdW5kbGVGcmFtZVJlZiBmcmFtZSwgV0tFcnJvclJlZiBlcnJvciwgV0tUeXBlUmVmKiB1c2Vy
RGF0YSwgY29uc3Qgdm9pZCogY2xpZW50SW5mbyk7CisKK3N0cnVjdCBXS0J1bmRsZVBhZ2VQb2xp
Y3lDbGllbnQgeworICAgIGludCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgdmVyc2lvbjsKKyAgICBjb25zdCB2b2lkICogICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsaWVu
dEluZm87CisgICAgV0tCdW5kbGVQYWdlRGVjaWRlUG9saWN5Rm9yTmF2aWdhdGlvbkFjdGlvbkNh
bGxiYWNrICAgICAgICAgICAgICAgICBkZWNpZGVQb2xpY3lGb3JOYXZpZ2F0aW9uQWN0aW9uOwor
ICAgIFdLQnVuZGxlUGFnZURlY2lkZVBvbGljeUZvck5ld1dpbmRvd0FjdGlvbkNhbGxiYWNrICAg
ICAgICAgICAgICAgICAgZGVjaWRlUG9saWN5Rm9yTmV3V2luZG93QWN0aW9uOworICAgIFdLQnVu
ZGxlUGFnZURlY2lkZVBvbGljeUZvclJlc3BvbnNlQ2FsbGJhY2sgICAgICAgICAgICAgICAgICAg
ICAgICAgZGVjaWRlUG9saWN5Rm9yUmVzcG9uc2U7CisgICAgV0tCdW5kbGVQYWdlVW5hYmxlVG9J
bXBsZW1lbnRQb2xpY3lDYWxsYmFjayAgICAgICAgICAgICAgICAgICAgICAgICB1bmFibGVUb0lt
cGxlbWVudFBvbGljeTsKK307Cit0eXBlZGVmIHN0cnVjdCBXS0J1bmRsZVBhZ2VQb2xpY3lDbGll
bnQgV0tCdW5kbGVQYWdlUG9saWN5Q2xpZW50OworCitlbnVtIHsga1dLQnVuZGxlUGFnZVBvbGlj
eUNsaWVudEN1cnJlbnRWZXJzaW9uID0gMCB9OworCisKKyNlbmRpZiAvLyBXS0J1bmRsZVBhZ2VQ
b2xpY3lDbGllbnRfaApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9Jbmpl
Y3RlZEJ1bmRsZS9BUEkvYy9XS0J1bmRsZVBhZ2VSZXNvdXJjZUxvYWRDbGllbnQuaCBiL1NvdXJj
ZS9XZWJLaXQyL1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvQVBJL2MvV0tCdW5kbGVQYWdlUmVz
b3VyY2VMb2FkQ2xpZW50LmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYjEwNWRhY2MxMDNmOGM0ZmVjNGExYjhhYjRj
NmJjMWU3NzU0MWNhZAotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nl
c3MvSW5qZWN0ZWRCdW5kbGUvQVBJL2MvV0tCdW5kbGVQYWdlUmVzb3VyY2VMb2FkQ2xpZW50LmgK
QEAgLTAsMCArMSw2MyBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMyBBcHBsZSBJbmMuIEFs
bCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3Vy
Y2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFy
ZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFy
ZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4g
dGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9u
cyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGlu
IGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5v
dGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1l
ciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92
aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9W
SURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5E
IEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJ
TUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBB
TkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJ
TiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJ
QUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1Q
TEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJ
TUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VT
OyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQ
VElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVU
SEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5H
IE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBU
SEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJ
QklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpZm5kZWYgV0tCdW5kbGVQYWdlUmVzb3Vy
Y2VMb2FkQ2xpZW50X2gKKyNkZWZpbmUgV0tCdW5kbGVQYWdlUmVzb3VyY2VMb2FkQ2xpZW50X2gK
KworI2luY2x1ZGUgPFdlYktpdDIvV0tCYXNlLmg+CisKK3R5cGVkZWYgdm9pZCAoKldLQnVuZGxl
UGFnZURpZEluaXRpYXRlTG9hZEZvclJlc291cmNlQ2FsbGJhY2spKFdLQnVuZGxlUGFnZVJlZiwg
V0tCdW5kbGVGcmFtZVJlZiwgdWludDY0X3QgcmVzb3VyY2VJZGVudGlmaWVyLCBXS1VSTFJlcXVl
c3RSZWYsIGJvb2wgcGFnZUlzUHJvdmlzaW9uYWxseUxvYWRpbmcsIGNvbnN0IHZvaWQqIGNsaWVu
dEluZm8pOwordHlwZWRlZiBXS1VSTFJlcXVlc3RSZWYgKCpXS0J1bmRsZVBhZ2VXaWxsU2VuZFJl
cXVlc3RGb3JGcmFtZUNhbGxiYWNrKShXS0J1bmRsZVBhZ2VSZWYsIFdLQnVuZGxlRnJhbWVSZWYs
IHVpbnQ2NF90IHJlc291cmNlSWRlbnRpZmllciwgV0tVUkxSZXF1ZXN0UmVmLCBXS1VSTFJlc3Bv
bnNlUmVmIHJlZGlyZWN0UmVzcG9uc2UsIGNvbnN0IHZvaWQgKmNsaWVudEluZm8pOwordHlwZWRl
ZiB2b2lkICgqV0tCdW5kbGVQYWdlRGlkUmVjZWl2ZVJlc3BvbnNlRm9yUmVzb3VyY2VDYWxsYmFj
aykoV0tCdW5kbGVQYWdlUmVmLCBXS0J1bmRsZUZyYW1lUmVmLCB1aW50NjRfdCByZXNvdXJjZUlk
ZW50aWZpZXIsIFdLVVJMUmVzcG9uc2VSZWYsIGNvbnN0IHZvaWQqIGNsaWVudEluZm8pOwordHlw
ZWRlZiB2b2lkICgqV0tCdW5kbGVQYWdlRGlkUmVjZWl2ZUNvbnRlbnRMZW5ndGhGb3JSZXNvdXJj
ZUNhbGxiYWNrKShXS0J1bmRsZVBhZ2VSZWYsIFdLQnVuZGxlRnJhbWVSZWYsIHVpbnQ2NF90IHJl
c291cmNlSWRlbnRpZmllciwgdWludDY0X3QgY29udGVudExlbmd0aCwgY29uc3Qgdm9pZCogY2xp
ZW50SW5mbyk7Cit0eXBlZGVmIHZvaWQgKCpXS0J1bmRsZVBhZ2VEaWRGaW5pc2hMb2FkRm9yUmVz
b3VyY2VDYWxsYmFjaykoV0tCdW5kbGVQYWdlUmVmLCBXS0J1bmRsZUZyYW1lUmVmLCB1aW50NjRf
dCByZXNvdXJjZUlkZW50aWZpZXIsIGNvbnN0IHZvaWQqIGNsaWVudEluZm8pOwordHlwZWRlZiB2
b2lkICgqV0tCdW5kbGVQYWdlRGlkRmFpbExvYWRGb3JSZXNvdXJjZUNhbGxiYWNrKShXS0J1bmRs
ZVBhZ2VSZWYsIFdLQnVuZGxlRnJhbWVSZWYsIHVpbnQ2NF90IHJlc291cmNlSWRlbnRpZmllciwg
V0tFcnJvclJlZiwgY29uc3Qgdm9pZCogY2xpZW50SW5mbyk7Cit0eXBlZGVmIGJvb2wgKCpXS0J1
bmRsZVBhZ2VTaG91bGRDYWNoZVJlc3BvbnNlQ2FsbGJhY2spKFdLQnVuZGxlUGFnZVJlZiwgV0tC
dW5kbGVGcmFtZVJlZiwgdWludDY0X3QgcmVzb3VyY2VJZGVudGlmaWVyLCBjb25zdCB2b2lkKiBj
bGllbnRJbmZvKTsKK3R5cGVkZWYgYm9vbCAoKldLQnVuZGxlUGFnZVNob3VsZFVzZUNyZWRlbnRp
YWxTdG9yYWdlQ2FsbGJhY2spKFdLQnVuZGxlUGFnZVJlZiwgV0tCdW5kbGVGcmFtZVJlZiwgdWlu
dDY0X3QgcmVzb3VyY2VJZGVudGlmaWVyLCBjb25zdCB2b2lkKiBjbGllbnRJbmZvKTsKKworc3Ry
dWN0IFdLQnVuZGxlUGFnZVJlc291cmNlTG9hZENsaWVudCB7CisgICAgaW50ICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2ZXJz
aW9uOworICAgIGNvbnN0IHZvaWQgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgY2xpZW50SW5mbzsKKworICAgIC8vIFZlcnNpb24gMC4KKyAg
ICBXS0J1bmRsZVBhZ2VEaWRJbml0aWF0ZUxvYWRGb3JSZXNvdXJjZUNhbGxiYWNrICAgICAgICAg
ICAgICAgICAgICAgIGRpZEluaXRpYXRlTG9hZEZvclJlc291cmNlOworCisgICAgLy8gd2lsbFNl
bmRSZXF1ZXN0Rm9yRnJhbWUgaXMgc3VwcG9zZWQgdG8gcmV0dXJuIGEgcmV0YWluZWQgcmVmZXJl
bmNlIHRvIHRoZSBVUkwgcmVxdWVzdC4KKyAgICBXS0J1bmRsZVBhZ2VXaWxsU2VuZFJlcXVlc3RG
b3JGcmFtZUNhbGxiYWNrICAgICAgICAgICAgICAgICAgICAgICAgIHdpbGxTZW5kUmVxdWVzdEZv
ckZyYW1lOworCisgICAgV0tCdW5kbGVQYWdlRGlkUmVjZWl2ZVJlc3BvbnNlRm9yUmVzb3VyY2VD
YWxsYmFjayAgICAgICAgICAgICAgICAgICBkaWRSZWNlaXZlUmVzcG9uc2VGb3JSZXNvdXJjZTsK
KyAgICBXS0J1bmRsZVBhZ2VEaWRSZWNlaXZlQ29udGVudExlbmd0aEZvclJlc291cmNlQ2FsbGJh
Y2sgICAgICAgICAgICAgIGRpZFJlY2VpdmVDb250ZW50TGVuZ3RoRm9yUmVzb3VyY2U7CisgICAg
V0tCdW5kbGVQYWdlRGlkRmluaXNoTG9hZEZvclJlc291cmNlQ2FsbGJhY2sgICAgICAgICAgICAg
ICAgICAgICAgICBkaWRGaW5pc2hMb2FkRm9yUmVzb3VyY2U7CisgICAgV0tCdW5kbGVQYWdlRGlk
RmFpbExvYWRGb3JSZXNvdXJjZUNhbGxiYWNrICAgICAgICAgICAgICAgICAgICAgICAgICBkaWRG
YWlsTG9hZEZvclJlc291cmNlOworCisgICAgLy8gVmVyc2lvbiAxLgorICAgIFdLQnVuZGxlUGFn
ZVNob3VsZENhY2hlUmVzcG9uc2VDYWxsYmFjayAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
c2hvdWxkQ2FjaGVSZXNwb25zZTsKKyAgICBXS0J1bmRsZVBhZ2VTaG91bGRVc2VDcmVkZW50aWFs
U3RvcmFnZUNhbGxiYWNrICAgICAgICAgICAgICAgICAgICAgIHNob3VsZFVzZUNyZWRlbnRpYWxT
dG9yYWdlOworfTsKK3R5cGVkZWYgc3RydWN0IFdLQnVuZGxlUGFnZVJlc291cmNlTG9hZENsaWVu
dCBXS0J1bmRsZVBhZ2VSZXNvdXJjZUxvYWRDbGllbnQ7CisKK2VudW0geyBrV0tCdW5kbGVQYWdl
UmVzb3VyY2VMb2FkQ2xpZW50Q3VycmVudFZlcnNpb24gPSAxIH07CisKKyNlbmRpZiAvLyBXS0J1
bmRsZVBhZ2VSZXNvdXJjZUxvYWRDbGllbnRfaApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIv
V2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9BUEkvYy9XS0J1bmRsZVBhZ2VVSUNsaWVudC5oIGIv
U291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9BUEkvYy9XS0J1bmRsZVBh
Z2VVSUNsaWVudC5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjVmODBkOWQ0MDYxOTE0NWFkZGMxYjhkNjcwNGE5ZWY4
M2Q0YWE0OGQKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL0lu
amVjdGVkQnVuZGxlL0FQSS9jL1dLQnVuZGxlUGFnZVVJQ2xpZW50LmgKQEAgLTAsMCArMSw5MCBA
QAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMyBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2
ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBm
b3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJv
dmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBS
ZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHly
aWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxv
d2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11
c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0
IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAg
IGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBk
aXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJ
TkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9S
IElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBU
SEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1Ig
QSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFM
TCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJ
UkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENP
TlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NV
UkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwg
REFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBD
QVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05U
UkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1Ig
T1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMg
U09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0gg
REFNQUdFLgorICovCisKKyNpZm5kZWYgV0tCdW5kbGVQYWdlVUlDbGllbnRfaAorI2RlZmluZSBX
S0J1bmRsZVBhZ2VVSUNsaWVudF9oCisKKyNpbmNsdWRlIDxXZWJLaXQyL1dLQmFzZS5oPgorI2lu
Y2x1ZGUgPFdlYktpdDIvV0tFdmVudC5oPgorCitlbnVtIHsKKyAgICBXS0J1bmRsZVBhZ2VVSUVs
ZW1lbnRWaXNpYmlsaXR5VW5rbm93biwKKyAgICBXS0J1bmRsZVBhZ2VVSUVsZW1lbnRWaXNpYmxl
LAorICAgIFdLQnVuZGxlUGFnZVVJRWxlbWVudEhpZGRlbgorfTsKK3R5cGVkZWYgdWludDMyX3Qg
V0tCdW5kbGVQYWdlVUlFbGVtZW50VmlzaWJpbGl0eTsKKworCit0eXBlZGVmIHZvaWQgKCpXS0J1
bmRsZVBhZ2VXaWxsQWRkTWVzc2FnZVRvQ29uc29sZUNhbGxiYWNrKShXS0J1bmRsZVBhZ2VSZWYg
cGFnZSwgV0tTdHJpbmdSZWYgbWVzc2FnZSwgdWludDMyX3QgbGluZU51bWJlciwgY29uc3Qgdm9p
ZCAqY2xpZW50SW5mbyk7Cit0eXBlZGVmIHZvaWQgKCpXS0J1bmRsZVBhZ2VXaWxsU2V0U3RhdHVz
YmFyVGV4dENhbGxiYWNrKShXS0J1bmRsZVBhZ2VSZWYgcGFnZSwgV0tTdHJpbmdSZWYgc3RhdHVz
YmFyVGV4dCwgY29uc3Qgdm9pZCAqY2xpZW50SW5mbyk7Cit0eXBlZGVmIHZvaWQgKCpXS0J1bmRs
ZVBhZ2VXaWxsUnVuSmF2YVNjcmlwdEFsZXJ0Q2FsbGJhY2spKFdLQnVuZGxlUGFnZVJlZiBwYWdl
LCBXS1N0cmluZ1JlZiBhbGVydFRleHQsIFdLQnVuZGxlRnJhbWVSZWYgZnJhbWUsIGNvbnN0IHZv
aWQgKmNsaWVudEluZm8pOwordHlwZWRlZiB2b2lkICgqV0tCdW5kbGVQYWdlV2lsbFJ1bkphdmFT
Y3JpcHRDb25maXJtQ2FsbGJhY2spKFdLQnVuZGxlUGFnZVJlZiBwYWdlLCBXS1N0cmluZ1JlZiBt
ZXNzYWdlLCBXS0J1bmRsZUZyYW1lUmVmIGZyYW1lLCBjb25zdCB2b2lkICpjbGllbnRJbmZvKTsK
K3R5cGVkZWYgdm9pZCAoKldLQnVuZGxlUGFnZVdpbGxSdW5KYXZhU2NyaXB0UHJvbXB0Q2FsbGJh
Y2spKFdLQnVuZGxlUGFnZVJlZiBwYWdlLCBXS1N0cmluZ1JlZiBtZXNzYWdlLCBXS1N0cmluZ1Jl
ZiBkZWZhdWx0VmFsdWUsIFdLQnVuZGxlRnJhbWVSZWYgZnJhbWUsIGNvbnN0IHZvaWQgKmNsaWVu
dEluZm8pOwordHlwZWRlZiB2b2lkICgqV0tCdW5kbGVQYWdlTW91c2VEaWRNb3ZlT3ZlckVsZW1l
bnRDYWxsYmFjaykoV0tCdW5kbGVQYWdlUmVmIHBhZ2UsIFdLQnVuZGxlSGl0VGVzdFJlc3VsdFJl
ZiBoaXRUZXN0UmVzdWx0LCBXS0V2ZW50TW9kaWZpZXJzIG1vZGlmaWVycywgV0tUeXBlUmVmKiB1
c2VyRGF0YSwgY29uc3Qgdm9pZCAqY2xpZW50SW5mbyk7Cit0eXBlZGVmIHZvaWQgKCpXS0J1bmRs
ZVBhZ2VEaWRTY3JvbGxDYWxsYmFjaykoV0tCdW5kbGVQYWdlUmVmIHBhZ2UsIGNvbnN0IHZvaWQg
KmNsaWVudEluZm8pOwordHlwZWRlZiBXS1N0cmluZ1JlZiAoKldLQnVuZGxlUGFnZUdlbmVyYXRl
RmlsZUZvclVwbG9hZENhbGxiYWNrKShXS0J1bmRsZVBhZ2VSZWYgcGFnZSwgV0tTdHJpbmdSZWYg
b3JpZ2luYWxGaWxlUGF0aCwgY29uc3Qgdm9pZCogY2xpZW50SW5mbyk7Cit0eXBlZGVmIFdLQnVu
ZGxlUGFnZVVJRWxlbWVudFZpc2liaWxpdHkgKCpXS0J1bmRsZVBhZ2VTdGF0dXNCYXJJc1Zpc2li
bGVDYWxsYmFjaykoV0tCdW5kbGVQYWdlUmVmIHBhZ2UsIGNvbnN0IHZvaWQgKmNsaWVudEluZm8p
OwordHlwZWRlZiBXS0J1bmRsZVBhZ2VVSUVsZW1lbnRWaXNpYmlsaXR5ICgqV0tCdW5kbGVQYWdl
TWVudUJhcklzVmlzaWJsZUNhbGxiYWNrKShXS0J1bmRsZVBhZ2VSZWYgcGFnZSwgY29uc3Qgdm9p
ZCAqY2xpZW50SW5mbyk7Cit0eXBlZGVmIFdLQnVuZGxlUGFnZVVJRWxlbWVudFZpc2liaWxpdHkg
KCpXS0J1bmRsZVBhZ2VUb29sYmFyc0FyZVZpc2libGVDYWxsYmFjaykoV0tCdW5kbGVQYWdlUmVm
IHBhZ2UsIGNvbnN0IHZvaWQgKmNsaWVudEluZm8pOwordHlwZWRlZiB2b2lkICgqV0tCdW5kbGVQ
YWdlUmVhY2hlZEFwcENhY2hlT3JpZ2luUXVvdGFDYWxsYmFjaykoV0tCdW5kbGVQYWdlUmVmIHBh
Z2UsIFdLU2VjdXJpdHlPcmlnaW5SZWYgb3JpZ2luLCBpbnQ2NF90IHRvdGFsQnl0ZXNOZWVkZWQs
IGNvbnN0IHZvaWQgKmNsaWVudEluZm8pOwordHlwZWRlZiB1aW50NjRfdCAoKldLQnVuZGxlUGFn
ZUV4Y2VlZGVkRGF0YWJhc2VRdW90YUNhbGxiYWNrKShXS0J1bmRsZVBhZ2VSZWYgcGFnZSwgV0tT
ZWN1cml0eU9yaWdpblJlZiBvcmlnaW4sIFdLU3RyaW5nUmVmIGRhdGFiYXNlTmFtZSwgV0tTdHJp
bmdSZWYgZGF0YWJhc2VEaXNwbGF5TmFtZSwgdWludDY0X3QgY3VycmVudFF1b3RhQnl0ZXMsIHVp
bnQ2NF90IGN1cnJlbnRPcmlnaW5Vc2FnZUJ5dGVzLCB1aW50NjRfdCBjdXJyZW50RGF0YWJhc2VV
c2FnZUJ5dGVzLCB1aW50NjRfdCBleHBlY3RlZFVzYWdlQnl0ZXMsIGNvbnN0IHZvaWQgKmNsaWVu
dEluZm8pOwordHlwZWRlZiBXS1N0cmluZ1JlZiAoKldLQnVuZGxlUGFnZVBsdWdJbkNyZWF0ZVN0
YXJ0TGFiZWxUaXRsZUNhbGxiYWNrKShXS1N0cmluZ1JlZiBtaW1lVHlwZSwgY29uc3Qgdm9pZCAq
Y2xpZW50SW5mbyk7Cit0eXBlZGVmIFdLU3RyaW5nUmVmICgqV0tCdW5kbGVQYWdlUGx1Z0luQ3Jl
YXRlU3RhcnRMYWJlbFN1YnRpdGxlQ2FsbGJhY2spKFdLU3RyaW5nUmVmIG1pbWVUeXBlLCBjb25z
dCB2b2lkICpjbGllbnRJbmZvKTsKK3R5cGVkZWYgV0tTdHJpbmdSZWYgKCpXS0J1bmRsZVBhZ2VQ
bHVnSW5DcmVhdGVFeHRyYVN0eWxlU2hlZXRDYWxsYmFjaykoY29uc3Qgdm9pZCAqY2xpZW50SW5m
byk7Cit0eXBlZGVmIFdLU3RyaW5nUmVmICgqV0tCdW5kbGVQYWdlUGx1Z0luQ3JlYXRlRXh0cmFT
Y3JpcHRDYWxsYmFjaykoY29uc3Qgdm9pZCAqY2xpZW50SW5mbyk7CisKK3N0cnVjdCBXS0J1bmRs
ZVBhZ2VVSUNsaWVudCB7CisgICAgaW50ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2ZXJzaW9uOworICAgIGNvbnN0IHZvaWQg
KiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
Y2xpZW50SW5mbzsKKyAgICBXS0J1bmRsZVBhZ2VXaWxsQWRkTWVzc2FnZVRvQ29uc29sZUNhbGxi
YWNrICAgICAgICAgICAgICAgICAgICAgICAgIHdpbGxBZGRNZXNzYWdlVG9Db25zb2xlOworICAg
IFdLQnVuZGxlUGFnZVdpbGxTZXRTdGF0dXNiYXJUZXh0Q2FsbGJhY2sgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgd2lsbFNldFN0YXR1c2JhclRleHQ7CisgICAgV0tCdW5kbGVQYWdlV2lsbFJ1
bkphdmFTY3JpcHRBbGVydENhbGxiYWNrICAgICAgICAgICAgICAgICAgICAgICAgICB3aWxsUnVu
SmF2YVNjcmlwdEFsZXJ0OworICAgIFdLQnVuZGxlUGFnZVdpbGxSdW5KYXZhU2NyaXB0Q29uZmly
bUNhbGxiYWNrICAgICAgICAgICAgICAgICAgICAgICAgd2lsbFJ1bkphdmFTY3JpcHRDb25maXJt
OworICAgIFdLQnVuZGxlUGFnZVdpbGxSdW5KYXZhU2NyaXB0UHJvbXB0Q2FsbGJhY2sgICAgICAg
ICAgICAgICAgICAgICAgICAgd2lsbFJ1bkphdmFTY3JpcHRQcm9tcHQ7CisgICAgV0tCdW5kbGVQ
YWdlTW91c2VEaWRNb3ZlT3ZlckVsZW1lbnRDYWxsYmFjayAgICAgICAgICAgICAgICAgICAgICAg
ICBtb3VzZURpZE1vdmVPdmVyRWxlbWVudDsKKyAgICBXS0J1bmRsZVBhZ2VEaWRTY3JvbGxDYWxs
YmFjayAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhZ2VEaWRTY3JvbGw7
CisgICAgdm9pZCogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICB1bnVzZWQxOworICAgIFdLQnVuZGxlUGFnZUdlbmVyYXRlRmlsZUZv
clVwbG9hZENhbGxiYWNrICAgICAgICAgICAgICAgICAgICAgICAgICAgc2hvdWxkR2VuZXJhdGVG
aWxlRm9yVXBsb2FkOworICAgIFdLQnVuZGxlUGFnZUdlbmVyYXRlRmlsZUZvclVwbG9hZENhbGxi
YWNrICAgICAgICAgICAgICAgICAgICAgICAgICAgZ2VuZXJhdGVGaWxlRm9yVXBsb2FkOworICAg
IHZvaWQqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgdW51c2VkMjsKKyAgICBXS0J1bmRsZVBhZ2VTdGF0dXNCYXJJc1Zpc2libGVD
YWxsYmFjayAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0YXR1c0JhcklzVmlzaWJsZTsK
KyAgICBXS0J1bmRsZVBhZ2VNZW51QmFySXNWaXNpYmxlQ2FsbGJhY2sgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIG1lbnVCYXJJc1Zpc2libGU7CisgICAgV0tCdW5kbGVQYWdlVG9vbGJh
cnNBcmVWaXNpYmxlQ2FsbGJhY2sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0b29sYmFy
c0FyZVZpc2libGU7CisKKyAgICAvLyBWZXJzaW9uIDEuCisgICAgV0tCdW5kbGVQYWdlUmVhY2hl
ZEFwcENhY2hlT3JpZ2luUXVvdGFDYWxsYmFjayAgICAgICAgICAgICAgICAgICAgICBkaWRSZWFj
aEFwcGxpY2F0aW9uQ2FjaGVPcmlnaW5RdW90YTsKKworICAgIC8vIFZlcnNpb24gMi4KKyAgICBX
S0J1bmRsZVBhZ2VFeGNlZWRlZERhdGFiYXNlUXVvdGFDYWxsYmFjayAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGRpZEV4Y2VlZERhdGFiYXNlUXVvdGE7CisgICAgV0tCdW5kbGVQYWdlUGx1Z0lu
Q3JlYXRlU3RhcnRMYWJlbFRpdGxlQ2FsbGJhY2sgICAgICAgICAgICAgICAgICAgICBjcmVhdGVQ
bHVnSW5TdGFydExhYmVsVGl0bGU7CisgICAgV0tCdW5kbGVQYWdlUGx1Z0luQ3JlYXRlU3RhcnRM
YWJlbFN1YnRpdGxlQ2FsbGJhY2sgICAgICAgICAgICAgICAgICBjcmVhdGVQbHVnSW5TdGFydExh
YmVsU3VidGl0bGU7CisgICAgV0tCdW5kbGVQYWdlUGx1Z0luQ3JlYXRlRXh0cmFTdHlsZVNoZWV0
Q2FsbGJhY2sgICAgICAgICAgICAgICAgICAgICBjcmVhdGVQbHVnSW5FeHRyYVN0eWxlU2hlZXQ7
CisgICAgV0tCdW5kbGVQYWdlUGx1Z0luQ3JlYXRlRXh0cmFTY3JpcHRDYWxsYmFjayAgICAgICAg
ICAgICAgICAgICAgICAgICBjcmVhdGVQbHVnSW5FeHRyYVNjcmlwdDsKK307Cit0eXBlZGVmIHN0
cnVjdCBXS0J1bmRsZVBhZ2VVSUNsaWVudCBXS0J1bmRsZVBhZ2VVSUNsaWVudDsKKworZW51bSB7
IGtXS0J1bmRsZVBhZ2VVSUNsaWVudEN1cnJlbnRWZXJzaW9uID0gMiB9OworCisjZW5kaWYgLy8g
V0tCdW5kbGVQYWdlVUlDbGllbnRfaAo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>218230</attachid>
            <date>2013-12-02 15:34:40 -0800</date>
            <delta_ts>2013-12-02 15:35:35 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-125115-20131202153440.patch</filename>
            <type>text/plain</type>
            <size>90509</size>
            <attacher name="Anders Carlsson">andersca</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTU5OTY1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggMDg1YmM2NmM1NGY2ODNj
YTMwMDVjN2U3MWU1NDE3ZmU0N2I0MTcyYi4uNDI5MzQyMzk2NTIyOTY0ZTBmZjJiMGZlNWJkMzJm
Njk3NTJjMTE3ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDI0IEBACiAyMDEzLTEyLTAyICBBbmRl
cnMgQ2FybHNzb24gIDxhbmRlcnNjYUBhcHBsZS5jb20+CiAKKyAgICAgICAgU3BsaXQgYnVuZGxl
IHBhZ2UgY2xpZW50cyBvdXQgaW50byBzZXBhcmF0ZSBoZWFkZXJzCisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMjUxMTUKKworICAgICAgICBSZXZpZXdl
ZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIFdlYktpdDIueGNvZGVwcm9qL3Byb2pl
Y3QucGJ4cHJvajoKKyAgICAgICAgKiBXZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0FQSS9jL1dL
QnVuZGxlUGFnZS5oOgorICAgICAgICAqIFdlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvQVBJL2Mv
V0tCdW5kbGVQYWdlQ29udGV4dE1lbnVDbGllbnQuaDogQWRkZWQuCisgICAgICAgICogV2ViUHJv
Y2Vzcy9JbmplY3RlZEJ1bmRsZS9BUEkvYy9XS0J1bmRsZVBhZ2VEaWFnbm9zdGljTG9nZ2luZ0Ns
aWVudC5oOiBBZGRlZC4KKyAgICAgICAgKiBXZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0FQSS9j
L1dLQnVuZGxlUGFnZUVkaXRvckNsaWVudC5oOiBBZGRlZC4KKyAgICAgICAgKiBXZWJQcm9jZXNz
L0luamVjdGVkQnVuZGxlL0FQSS9jL1dLQnVuZGxlUGFnZUZvcm1DbGllbnQuaDogQWRkZWQuCisg
ICAgICAgICogV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9BUEkvYy9XS0J1bmRsZVBhZ2VGdWxs
U2NyZWVuQ2xpZW50Lmg6IEFkZGVkLgorICAgICAgICAqIFdlYlByb2Nlc3MvSW5qZWN0ZWRCdW5k
bGUvQVBJL2MvV0tCdW5kbGVQYWdlTG9hZGVyQ2xpZW50Lmg6IEFkZGVkLgorICAgICAgICAqIFdl
YlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvQVBJL2MvV0tCdW5kbGVQYWdlUG9saWN5Q2xpZW50Lmg6
IEFkZGVkLgorICAgICAgICAqIFdlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvQVBJL2MvV0tCdW5k
bGVQYWdlUmVzb3VyY2VMb2FkQ2xpZW50Lmg6IEFkZGVkLgorICAgICAgICAqIFdlYlByb2Nlc3Mv
SW5qZWN0ZWRCdW5kbGUvQVBJL2MvV0tCdW5kbGVQYWdlVUlDbGllbnQuaDogQWRkZWQuCisKKzIw
MTMtMTItMDIgIEFuZGVycyBDYXJsc3NvbiAgPGFuZGVyc2NhQGFwcGxlLmNvbT4KKwogICAgICAg
ICBXS1BhZ2VMb2FkZXJDbGllbnQgc2hvdWxkIGJlIHZlcnNpb25lZAogICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTI1MTA0CiAKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQyL1dlYktpdDIueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvaiBiL1NvdXJjZS9X
ZWJLaXQyL1dlYktpdDIueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagppbmRleCA2MjcwN2JkYTIz
MGMxZGMxMTcyOTQyZjVkNDUyZGQ3ZDJiMTE0Yzc1Li5lYTFmMzU5ZjBlNjA2ODRkODk2MTdlZDM1
YWRiZjRmMjNhMDliNjJmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJLaXQyLnhjb2Rl
cHJvai9wcm9qZWN0LnBieHByb2oKKysrIGIvU291cmNlL1dlYktpdDIvV2ViS2l0Mi54Y29kZXBy
b2ovcHJvamVjdC5wYnhwcm9qCkBAIC0yMzQsNiArMjM0LDE1IEBACiAJCTFBQjE2QUVBMTY0QjNB
ODgwMDI5MEQ2MiAvKiBSZW1vdGVMYXllclRyZWVDb250ZXh0LmggaW4gSGVhZGVycyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxQUIxNkFFODE2NEIzQTg4MDAyOTBENjIgLyog
UmVtb3RlTGF5ZXJUcmVlQ29udGV4dC5oICovOyB9OwogCQkxQUIzMUE5NjE2QkM2ODgxMDBGNkRC
QzkgLyogU3RvcmFnZU1hbmFnZXJNZXNzYWdlUmVjZWl2ZXIuY3BwIGluIFNvdXJjZXMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMUFCMzFBOTQxNkJDNjg4MTAwRjZEQkM5IC8q
IFN0b3JhZ2VNYW5hZ2VyTWVzc2FnZVJlY2VpdmVyLmNwcCAqLzsgfTsKIAkJMUFCMzFBOTcxNkJD
Njg4MTAwRjZEQkM5IC8qIFN0b3JhZ2VNYW5hZ2VyTWVzc2FnZXMuaCBpbiBIZWFkZXJzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDFBQjMxQTk1MTZCQzY4ODEwMEY2REJDOSAv
KiBTdG9yYWdlTWFuYWdlck1lc3NhZ2VzLmggKi87IH07CisJCTFBQjQ3NEQ4MTg0RDQzRkQwMDUx
QjYyMiAvKiBXS0J1bmRsZVBhZ2VMb2FkZXJDbGllbnQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDFBQjQ3NEQ3MTg0RDQzRkQwMDUxQjYyMiAvKiBXS0J1
bmRsZVBhZ2VMb2FkZXJDbGllbnQuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2
YXRlLCApOyB9OyB9OworCQkxQUI0NzREQTE4NEQ0NDI1MDA1MUI2MjIgLyogV0tCdW5kbGVQYWdl
UmVzb3VyY2VMb2FkQ2xpZW50LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSAxQUI0NzREOTE4NEQ0NDI1MDA1MUI2MjIgLyogV0tCdW5kbGVQYWdlUmVzb3Vy
Y2VMb2FkQ2xpZW50LmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsg
fTsgfTsKKwkJMUFCNDc0REUxODRENDQ1OTAwNTFCNjIyIC8qIFdLQnVuZGxlUGFnZVVJQ2xpZW50
LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxQUI0NzRE
RDE4NEQ0NDU5MDA1MUI2MjIgLyogV0tCdW5kbGVQYWdlVUlDbGllbnQuaCAqLzsgc2V0dGluZ3Mg
PSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OworCQkxQUI0NzRFMDE4NEQ0NDZBMDA1
MUI2MjIgLyogV0tCdW5kbGVQYWdlRWRpdG9yQ2xpZW50LmggaW4gSGVhZGVycyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxQUI0NzRERjE4NEQ0NDZBMDA1MUI2MjIgLyogV0tC
dW5kbGVQYWdlRWRpdG9yQ2xpZW50LmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJp
dmF0ZSwgKTsgfTsgfTsKKwkJMUFCNDc0RTIxODRENDQ4MDAwNTFCNjIyIC8qIFdLQnVuZGxlUGFn
ZUZvcm1DbGllbnQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IDFBQjQ3NEUxMTg0RDQ0ODAwMDUxQjYyMiAvKiBXS0J1bmRsZVBhZ2VGb3JtQ2xpZW50Lmgg
Ki87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJMUFCNDc0
RTQxODRENDQ5ODAwNTFCNjIyIC8qIFdLQnVuZGxlUGFnZUNvbnRleHRNZW51Q2xpZW50LmggaW4g
SGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxQUI0NzRFMzE4NEQ0
NDk4MDA1MUI2MjIgLyogV0tCdW5kbGVQYWdlQ29udGV4dE1lbnVDbGllbnQuaCAqLzsgc2V0dGlu
Z3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OworCQkxQUI0NzRFNjE4NEQ0NEI0
MDA1MUI2MjIgLyogV0tCdW5kbGVQYWdlRnVsbFNjcmVlbkNsaWVudC5oIGluIEhlYWRlcnMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMUFCNDc0RTUxODRENDRCNDAwNTFCNjIy
IC8qIFdLQnVuZGxlUGFnZUZ1bGxTY3JlZW5DbGllbnQuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklC
VVRFUyA9IChQcml2YXRlLCApOyB9OyB9OworCQkxQUI0NzRFODE4NEQ0NEQwMDA1MUI2MjIgLyog
V0tCdW5kbGVQYWdlRGlhZ25vc3RpY0xvZ2dpbmdDbGllbnQuaCBpbiBIZWFkZXJzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDFBQjQ3NEU3MTg0RDQ0RDAwMDUxQjYyMiAvKiBX
S0J1bmRsZVBhZ2VEaWFnbm9zdGljTG9nZ2luZ0NsaWVudC5oICovOyBzZXR0aW5ncyA9IHtBVFRS
SUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CisJCTFBQjQ3NEVBMTg0RDQ1MTMwMDUxQjYyMiAv
KiBXS0J1bmRsZVBhZ2VQb2xpY3lDbGllbnQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IDFBQjQ3NEU5MTg0RDQ1MTMwMDUxQjYyMiAvKiBXS0J1bmRsZVBh
Z2VQb2xpY3lDbGllbnQuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCAp
OyB9OyB9OwogCQkxQUI3RDRDQTEyODhBQUE3MDBDRkQwOEMgLyogRG93bmxvYWRQcm94eS5oIGlu
IEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMUFCN0Q0QzgxMjg4
QUFBNzAwQ0ZEMDhDIC8qIERvd25sb2FkUHJveHkuaCAqLzsgfTsKIAkJMUFCN0Q0Q0IxMjg4QUFB
NzAwQ0ZEMDhDIC8qIERvd25sb2FkUHJveHkuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gMUFCN0Q0QzkxMjg4QUFBNzAwQ0ZEMDhDIC8qIERvd25sb2Fk
UHJveHkuY3BwICovOyB9OwogCQkxQUI3RDYxOTEyODhCOUQ5MDBDRkQwOEMgLyogRG93bmxvYWRQ
cm94eU1lc3NhZ2VSZWNlaXZlci5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSAxQUI3RDYxNzEyODhCOUQ5MDBDRkQwOEMgLyogRG93bmxvYWRQcm94eU1l
c3NhZ2VSZWNlaXZlci5jcHAgKi87IH07CkBAIC0xNzM2LDYgKzE3NDUsMTUgQEAKIAkJMUFCMzFB
OTMxNkJDNjVBQjAwRjZEQkM5IC8qIFN0b3JhZ2VNYW5hZ2VyLm1lc3NhZ2VzLmluICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9IFN0
b3JhZ2VNYW5hZ2VyLm1lc3NhZ2VzLmluOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkx
QUIzMUE5NDE2QkM2ODgxMDBGNkRCQzkgLyogU3RvcmFnZU1hbmFnZXJNZXNzYWdlUmVjZWl2ZXIu
Y3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gU3RvcmFnZU1hbmFnZXJN
ZXNzYWdlUmVjZWl2ZXIuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkxQUIzMUE5
NTE2QkM2ODgxMDBGNkRCQzkgLyogU3RvcmFnZU1hbmFnZXJNZXNzYWdlcy5oICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jLmg7IHBhdGggPSBTdG9yYWdlTWFuYWdlck1lc3NhZ2VzLmg7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CisJCTFBQjQ3NEQ3MTg0RDQzRkQwMDUxQjYyMiAvKiBXS0J1bmRs
ZVBhZ2VMb2FkZXJDbGllbnQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gV0tC
dW5kbGVQYWdlTG9hZGVyQ2xpZW50Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTFB
QjQ3NEQ5MTg0RDQ0MjUwMDUxQjYyMiAvKiBXS0J1bmRsZVBhZ2VSZXNvdXJjZUxvYWRDbGllbnQu
aCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gV0tCdW5kbGVQYWdlUmVzb3VyY2VM
b2FkQ2xpZW50Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTFBQjQ3NEREMTg0RDQ0
NTkwMDUxQjYyMiAvKiBXS0J1bmRsZVBhZ2VVSUNsaWVudC5oICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jLmg7IHBhdGggPSBXS0J1bmRsZVBhZ2VVSUNsaWVudC5oOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OworCQkxQUI0NzRERjE4NEQ0NDZBMDA1MUI2MjIgLyogV0tCdW5kbGVQYWdlRWRpdG9y
Q2xpZW50LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFdLQnVuZGxlUGFnZUVk
aXRvckNsaWVudC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkxQUI0NzRFMTE4NEQ0
NDgwMDA1MUI2MjIgLyogV0tCdW5kbGVQYWdlRm9ybUNsaWVudC5oICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jLmg7IHBhdGggPSBXS0J1bmRsZVBhZ2VGb3JtQ2xpZW50Lmg7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CisJCTFBQjQ3NEUzMTg0RDQ0OTgwMDUxQjYyMiAvKiBXS0J1bmRsZVBhZ2VD
b250ZXh0TWVudUNsaWVudC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBXS0J1
bmRsZVBhZ2VDb250ZXh0TWVudUNsaWVudC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owor
CQkxQUI0NzRFNTE4NEQ0NEI0MDA1MUI2MjIgLyogV0tCdW5kbGVQYWdlRnVsbFNjcmVlbkNsaWVu
dC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBXS0J1bmRsZVBhZ2VGdWxsU2Ny
ZWVuQ2xpZW50Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTFBQjQ3NEU3MTg0RDQ0
RDAwMDUxQjYyMiAvKiBXS0J1bmRsZVBhZ2VEaWFnbm9zdGljTG9nZ2luZ0NsaWVudC5oICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBXS0J1bmRsZVBhZ2VEaWFnbm9zdGljTG9nZ2lu
Z0NsaWVudC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkxQUI0NzRFOTE4NEQ0NTEz
MDA1MUI2MjIgLyogV0tCdW5kbGVQYWdlUG9saWN5Q2xpZW50LmggKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmMuaDsgcGF0aCA9IFdLQnVuZGxlUGFnZVBvbGljeUNsaWVudC5oOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OwogCQkxQUI3RDRDODEyODhBQUE3MDBDRkQwOEMgLyogRG93bmxvYWRQcm94
eS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBEb3dubG9hZFByb3h5Lmg7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTFBQjdENEM5MTI4OEFBQTcwMENGRDA4QyAvKiBE
b3dubG9hZFByb3h5LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IERv
d25sb2FkUHJveHkuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkxQUI3RDVFOTEy
ODhCOEMwMDBDRkQwOEMgLyogRG93bmxvYWRQcm94eS5tZXNzYWdlcy5pbiAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHRl
eHQ7IHBhdGggPSBEb3dubG9hZFByb3h5Lm1lc3NhZ2VzLmluOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OwpAQCAtNDgyOSwxMSArNDg0NywyMCBAQAogCQkJCUJDMjA1MjdGMTFDOTQyODQwMDhG
MzM3NSAvKiBXS0J1bmRsZVBhZ2UuaCAqLywKIAkJCQk3Q0Y0N0ZGNDE3Mjc1QjcxMDA4QUNCOTEg
LyogV0tCdW5kbGVQYWdlQmFubmVyLmNwcCAqLywKIAkJCQk3Q0Y0N0ZGNTE3Mjc1QjcxMDA4QUNC
OTEgLyogV0tCdW5kbGVQYWdlQmFubmVyLmggKi8sCisJCQkJMUFCNDc0RTMxODRENDQ5ODAwNTFC
NjIyIC8qIFdLQnVuZGxlUGFnZUNvbnRleHRNZW51Q2xpZW50LmggKi8sCisJCQkJMUFCNDc0RTcx
ODRENDREMDAwNTFCNjIyIC8qIFdLQnVuZGxlUGFnZURpYWdub3N0aWNMb2dnaW5nQ2xpZW50Lmgg
Ki8sCisJCQkJMUFCNDc0REYxODRENDQ2QTAwNTFCNjIyIC8qIFdLQnVuZGxlUGFnZUVkaXRvckNs
aWVudC5oICovLAorCQkJCTFBQjQ3NEUxMTg0RDQ0ODAwMDUxQjYyMiAvKiBXS0J1bmRsZVBhZ2VG
b3JtQ2xpZW50LmggKi8sCisJCQkJMUFCNDc0RTUxODRENDRCNDAwNTFCNjIyIC8qIFdLQnVuZGxl
UGFnZUZ1bGxTY3JlZW5DbGllbnQuaCAqLywKIAkJCQlCQzdCNjMzQzEyQTQ1RDEyMDBEMTc0QTQg
LyogV0tCdW5kbGVQYWdlR3JvdXAuY3BwICovLAogCQkJCUJDN0I2MzNCMTJBNDVEMTIwMEQxNzRB
NCAvKiBXS0J1bmRsZVBhZ2VHcm91cC5oICovLAorCQkJCTFBQjQ3NEQ3MTg0RDQzRkQwMDUxQjYy
MiAvKiBXS0J1bmRsZVBhZ2VMb2FkZXJDbGllbnQuaCAqLywKIAkJCQkxQTIyRjEwMDEyODlGQ0Q5
MDA4NUU3NEYgLyogV0tCdW5kbGVQYWdlT3ZlcmxheS5jcHAgKi8sCiAJCQkJMUEyMkYwRkYxMjg5
RkNEOTAwODVFNzRGIC8qIFdLQnVuZGxlUGFnZU92ZXJsYXkuaCAqLywKKwkJCQkxQUI0NzRFOTE4
NEQ0NTEzMDA1MUI2MjIgLyogV0tCdW5kbGVQYWdlUG9saWN5Q2xpZW50LmggKi8sCiAJCQkJQkMx
QjQxOTcxMUQ0MUQ1NzAwMTFFOEREIC8qIFdLQnVuZGxlUGFnZVByaXZhdGUuaCAqLywKKwkJCQkx
QUI0NzREOTE4NEQ0NDI1MDA1MUI2MjIgLyogV0tCdW5kbGVQYWdlUmVzb3VyY2VMb2FkQ2xpZW50
LmggKi8sCisJCQkJMUFCNDc0REQxODRENDQ1OTAwNTFCNjIyIC8qIFdLQnVuZGxlUGFnZVVJQ2xp
ZW50LmggKi8sCiAJCQkJQkNGMDQ5RTUxMUZFMjBGNjAwRjg2QTU4IC8qIFdLQnVuZGxlUHJpdmF0
ZS5oICovLAogCQkJCUJDNjBDNTc4MTI0MEE1NDYwMDhDNUUyOSAvKiBXS0J1bmRsZVJhbmdlSGFu
ZGxlLmNwcCAqLywKIAkJCQlCQzYwQzU3NzEyNDBBNTQ2MDA4QzVFMjkgLyogV0tCdW5kbGVSYW5n
ZUhhbmRsZS5oICovLApAQCAtNTUzMiw2ICs1NTU5LDcgQEAKIAkJCQkxQTNERDIwNjEyNUU1QTJG
MDA0NTE1RTYgLyogQVBJQ2xpZW50LmggaW4gSGVhZGVycyAqLywKIAkJCQkxQUM3NTM4MDE4M0JF
NTBGMDA3MkNCMTUgLyogRGF0YVJlZmVyZW5jZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNUQ1MTg0
NTYxM0JDRjlDQzAwQzdGRjRBIC8qIEFQSUNsaWVudFRyYWl0cy5oIGluIEhlYWRlcnMgKi8sCisJ
CQkJMUFCNDc0RDgxODRENDNGRDAwNTFCNjIyIC8qIFdLQnVuZGxlUGFnZUxvYWRlckNsaWVudC5o
IGluIEhlYWRlcnMgKi8sCiAJCQkJMUFFRkQyNzkxMUQxNkM4MTAwODIxOUQzIC8qIEFyZ3VtZW50
Q29kZXIuaCBpbiBIZWFkZXJzICovLAogCQkJCTFBRUZEMkY3MTFEMTgwN0IwMDgyMTlEMyAvKiBB
cmd1bWVudENvZGVycy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMUFBRjBDNEExMkIxNjMzNDAwOEU0
OUUyIC8qIEFyZ3VtZW50Q29kZXJzQ0YuaCBpbiBIZWFkZXJzICovLApAQCAtNTY3MCw4ICs1Njk4
LDEwIEBACiAJCQkJMzFBMkVDNTYxNDg5OUMwOTAwODEwRDcxIC8qIE5vdGlmaWNhdGlvblBlcm1p
c3Npb25SZXF1ZXN0LmggaW4gSGVhZGVycyAqLywKIAkJCQkzMTMxMjYxRjE0OEZGODJDMDBCQTJB
MzkgLyogTm90aWZpY2F0aW9uUGVybWlzc2lvblJlcXVlc3RNYW5hZ2VyLmggaW4gSGVhZGVycyAq
LywKIAkJCQkzMUEyRUM1MjE0ODk5ODE5MDA4MTBENzEgLyogTm90aWZpY2F0aW9uUGVybWlzc2lv
blJlcXVlc3RNYW5hZ2VyUHJveHkuaCBpbiBIZWFkZXJzICovLAorCQkJCTFBQjQ3NEUwMTg0RDQ0
NkEwMDUxQjYyMiAvKiBXS0J1bmRsZVBhZ2VFZGl0b3JDbGllbnQuaCBpbiBIZWFkZXJzICovLAog
CQkJCTFBMkQ4NDhCMTI3RjZBNDkwMDFFQjk2MiAvKiBOUElkZW50aWZpZXJEYXRhLmggaW4gSGVh
ZGVycyAqLywKIAkJCQkxQUU0OTc2ODExRkY2NThFMDA0OEI0NjQgLyogTlBKU09iamVjdC5oIGlu
IEhlYWRlcnMgKi8sCisJCQkJMUFCNDc0RTIxODRENDQ4MDAwNTFCNjIyIC8qIFdLQnVuZGxlUGFn
ZUZvcm1DbGllbnQuaCBpbiBIZWFkZXJzICovLAogCQkJCTFBMkQ4MkE1MTI3RjRFQUIwMDFFQjk2
MiAvKiBOUE9iamVjdE1lc3NhZ2VSZWNlaXZlci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMUEyRDg0
M0ExMjdGNjVENTAwMUVCOTYyIC8qIE5QT2JqZWN0TWVzc2FnZVJlY2VpdmVyTWVzc2FnZXMuaCBp
biBIZWFkZXJzICovLAogCQkJCTFBMkQ4MkE3MTI3RjRFQUIwMDFFQjk2MiAvKiBOUE9iamVjdFBy
b3h5LmggaW4gSGVhZGVycyAqLywKQEAgLTU3NTgsOCArNTc4OCwxMCBAQAogCQkJCTFBQ0VDRDI1
MTcxNjJEQjEwMDFGQzlFRiAvKiBTdG9yYWdlQXJlYU1hcC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJ
MUEzMzRERUUxNkRFOEY4ODAwNkE4RTM4IC8qIFN0b3JhZ2VBcmVhTWFwTWVzc2FnZXMuaCBpbiBI
ZWFkZXJzICovLAogCQkJCTFBNDRCOTVDMTZCNzNGOUYwMEI3QkJEOCAvKiBTdG9yYWdlTWFuYWdl
ci5oIGluIEhlYWRlcnMgKi8sCisJCQkJMUFCNDc0RTYxODRENDRCNDAwNTFCNjIyIC8qIFdLQnVu
ZGxlUGFnZUZ1bGxTY3JlZW5DbGllbnQuaCBpbiBIZWFkZXJzICovLAogCQkJCTFBQjMxQTk3MTZC
QzY4ODEwMEY2REJDOSAvKiBTdG9yYWdlTWFuYWdlck1lc3NhZ2VzLmggaW4gSGVhZGVycyAqLywK
IAkJCQkyOTZCRDg1RDE1MDE5QkMzMDA3MUY0MjQgLyogU3RyaW5nVXRpbGl0aWVzLmggaW4gSGVh
ZGVycyAqLywKKwkJCQkxQUI0NzRFNDE4NEQ0NDk4MDA1MUI2MjIgLyogV0tCdW5kbGVQYWdlQ29u
dGV4dE1lbnVDbGllbnQuaCBpbiBIZWFkZXJzICovLAogCQkJCTFBQTQxN0NCMTJDMDBDQ0EwMDJC
RTY3QiAvKiBUZXh0Q2hlY2tlci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMVFRNDE3Q0IxMkMwMEND
QTAwMkJFNjdCIC8qIFRleHRDaGVja2VyQ29tcGxldGlvbi5oIGluIEhlYWRlcnMgKi8sCiAJCQkJ
MUE1RTREQTQxMkQzQkQzRDAwOTlBMkJCIC8qIFRleHRDaGVja2VyU3RhdGUuaCBpbiBIZWFkZXJz
ICovLApAQCAtNTc3MCw2ICs1ODAyLDcgQEAKIAkJCQlCQ0IwQjBFMDEyMzA1QUIxMDBCMTM0MUUg
LyogVXNlck1lc3NhZ2VDb2RlcnMuaCBpbiBIZWFkZXJzICovLAogCQkJCTFBMEYyOUU0MTIwQjQ0
NDIwMDUzRDFCOSAvKiBWaXNpdGVkTGlua1Byb3ZpZGVyLmggaW4gSGVhZGVycyAqLywKIAkJCQkx
QTBGMjlDQzEyMEIzNzE2MDA1M0QxQjkgLyogVmlzaXRlZExpbmtUYWJsZS5oIGluIEhlYWRlcnMg
Ki8sCisJCQkJMUFCNDc0REUxODRENDQ1OTAwNTFCNjIyIC8qIFdLQnVuZGxlUGFnZVVJQ2xpZW50
LmggaW4gSGVhZGVycyAqLywKIAkJCQlDRURBMTJFMzE1MkNEMUIzMDBEOUUwOEQgLyogV2ViQWx0
ZXJuYXRpdmVUZXh0Q2xpZW50LmggaW4gSGVhZGVycyAqLywKIAkJCQk1MTJFMzUyRjEzMEI1NUFG
MDBBQkQxOUEgLyogV2ViQXBwbGljYXRpb25DYWNoZU1hbmFnZXIuaCBpbiBIZWFkZXJzICovLAog
CQkJCTUxMkUzNTZCMTMwQjU3RjAwMEFCRDE5QSAvKiBXZWJBcHBsaWNhdGlvbkNhY2hlTWFuYWdl
ck1lc3NhZ2VzLmggaW4gSGVhZGVycyAqLywKQEAgLTU4NTcsNiArNTg5MCw3IEBACiAJCQkJNTE4
MzQ1OTMxMzQ1MzJFOTAwOTJCNjk2IC8qIFdlYkljb25EYXRhYmFzZUNsaWVudC5oIGluIEhlYWRl
cnMgKi8sCiAJCQkJNTFEMDJGNkExMzJFQzczNzAwQkVBQTk2IC8qIFdlYkljb25EYXRhYmFzZU1l
c3NhZ2VzLmggaW4gSGVhZGVycyAqLywKIAkJCQk1MTFCMjRBNzEzMkUwOTU3MDAwNjVBMEMgLyog
V2ViSWNvbkRhdGFiYXNlUHJveHkuaCBpbiBIZWFkZXJzICovLAorCQkJCTFBQjQ3NEVBMTg0RDQ1
MTMwMDUxQjYyMiAvKiBXS0J1bmRsZVBhZ2VQb2xpY3lDbGllbnQuaCBpbiBIZWFkZXJzICovLAog
CQkJCTUxRDAyRjZDMTMyRUM3MzcwMEJFQUE5NiAvKiBXZWJJY29uRGF0YWJhc2VQcm94eU1lc3Nh
Z2VzLmggaW4gSGVhZGVycyAqLywKIAkJCQlCQ0NGNkFCRDEyQzkxRUY5MDA4RjlDMzUgLyogV2Vi
SW1hZ2UuaCBpbiBIZWFkZXJzICovLAogCQkJCTFDOEUyODIwMTI3NUQxNTQwMEJDN0JEMCAvKiBX
ZWJJbnNwZWN0b3IuaCBpbiBIZWFkZXJzICovLApAQCAtNTkzNyw2ICs1OTcxLDcgQEAKIAkJCQlC
Q0M1NzE1QjExNUFEQUVGMDAxQ0NBRjkgLyogV2ViU3lzdGVtSW50ZXJmYWNlLmggaW4gSGVhZGVy
cyAqLywKIAkJCQkxQTU5NEFCQjExMkExRkI2MDA5REU3QzcgLyogV2ViVUlDbGllbnQuaCBpbiBI
ZWFkZXJzICovLAogCQkJCUJDQTBFRjdGMTIzMzFFNzgwMDdEM0NGQiAvKiBXZWJVbmRvU3RlcC5o
IGluIEhlYWRlcnMgKi8sCisJCQkJMUFCNDc0RTgxODRENDREMDAwNTFCNjIyIC8qIFdLQnVuZGxl
UGFnZURpYWdub3N0aWNMb2dnaW5nQ2xpZW50LmggaW4gSGVhZGVycyAqLywKIAkJCQkxQUM3NTM3
QzE4M0E5RkRCMDA3MkNCMTUgLyogUGFnZUxvYWRTdGF0ZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJ
QkNEQjg2QzExMjAwRkI5NzAwNzI1NEJFIC8qIFdlYlVSTC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJ
NTFDOTYxMTkxODNEMjk0NzAwRDIwMDJFIC8qIFdlYklEQlNlcnZlckNvbm5lY3Rpb25NZXNzYWdl
cy5oIGluIEhlYWRlcnMgKi8sCkBAIC01OTUzLDYgKzU5ODgsNyBAQAogCQkJCUJDNjQ2QzFCMTFE
RDM5OUYwMDY0NTVCMCAvKiBXS0JhY2tGb3J3YXJkTGlzdFJlZi5oIGluIEhlYWRlcnMgKi8sCiAJ
CQkJMzdDNEMwOTUxODE0QjlFNjAwMzY4OEI5IC8qIFdLQmFja0ZvcndhcmRMaXN0SW50ZXJuYWwu
aCBpbiBIZWFkZXJzICovLAogCQkJCUJDNjQ2QzFEMTFERDM5OUYwMDY0NTVCMCAvKiBXS0JhY2tG
b3J3YXJkTGlzdEl0ZW1SZWYuaCBpbiBIZWFkZXJzICovLAorCQkJCTFBQjQ3NERBMTg0RDQ0MjUw
MDUxQjYyMiAvKiBXS0J1bmRsZVBhZ2VSZXNvdXJjZUxvYWRDbGllbnQuaCBpbiBIZWFkZXJzICov
LAogCQkJCUJDRERCMzE3MTI0RUJEMTMwMDQ4RDEzQyAvKiBXS0Jhc2UuaCBpbiBIZWFkZXJzICov
LAogCQkJCTdDRDVFQkJCMTc0NkE4M0UwMDBDMUM0NSAvKiBXS0Jhc2VNYWMuaCBpbiBIZWFkZXJz
ICovLAogCQkJCUJDQkFBQzczMTQ0RTYxOUUwMDUzRjgyRiAvKiBXS0Jyb3dzaW5nQ29udGV4dENv
bnRyb2xsZXIuaCBpbiBIZWFkZXJzICovLApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2Vi
UHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9BUEkvYy9XS0J1bmRsZVBhZ2UuaCBiL1NvdXJjZS9XZWJL
aXQyL1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvQVBJL2MvV0tCdW5kbGVQYWdlLmgKaW5kZXgg
Y2Y1M2M3MDc5MTc0NWQ0YjU5NDg1MTQ3MWEwNjA1YmYwN2RjY2M1MS4uYmFkN2E4OGVhNmU2ZWRj
MzUyNTJhNWQ0MWUxMDllZmNjOGE5YzIxMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2Vi
UHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9BUEkvYy9XS0J1bmRsZVBhZ2UuaAorKysgYi9Tb3VyY2Uv
V2ViS2l0Mi9XZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0FQSS9jL1dLQnVuZGxlUGFnZS5oCkBA
IC0yOCwxMCArMjgsMTcgQEAKIAogI2luY2x1ZGUgPEphdmFTY3JpcHRDb3JlL0phdmFTY3JpcHQu
aD4KICNpbmNsdWRlIDxXZWJLaXQyL1dLQmFzZS5oPgotI2luY2x1ZGUgPFdlYktpdDIvV0tFdmVu
dC5oPgorI2luY2x1ZGUgPFdlYktpdDIvV0tCdW5kbGVQYWdlQ29udGV4dE1lbnVDbGllbnQuaD4K
KyNpbmNsdWRlIDxXZWJLaXQyL1dLQnVuZGxlUGFnZURpYWdub3N0aWNMb2dnaW5nQ2xpZW50Lmg+
CisjaW5jbHVkZSA8V2ViS2l0Mi9XS0J1bmRsZVBhZ2VFZGl0b3JDbGllbnQuaD4KKyNpbmNsdWRl
IDxXZWJLaXQyL1dLQnVuZGxlUGFnZUZvcm1DbGllbnQuaD4KKyNpbmNsdWRlIDxXZWJLaXQyL1dL
QnVuZGxlUGFnZUZ1bGxTY3JlZW5DbGllbnQuaD4KKyNpbmNsdWRlIDxXZWJLaXQyL1dLQnVuZGxl
UGFnZUxvYWRlckNsaWVudC5oPgorI2luY2x1ZGUgPFdlYktpdDIvV0tCdW5kbGVQYWdlUG9saWN5
Q2xpZW50Lmg+CisjaW5jbHVkZSA8V2ViS2l0Mi9XS0J1bmRsZVBhZ2VSZXNvdXJjZUxvYWRDbGll
bnQuaD4KKyNpbmNsdWRlIDxXZWJLaXQyL1dLQnVuZGxlUGFnZVVJQ2xpZW50Lmg+CiAjaW5jbHVk
ZSA8V2ViS2l0Mi9XS0ZpbmRPcHRpb25zLmg+CiAjaW5jbHVkZSA8V2ViS2l0Mi9XS0ltYWdlLmg+
Ci0jaW5jbHVkZSA8V2ViS2l0Mi9XS1BhZ2VMb2FkVHlwZXMuaD4KIAogI2lmbmRlZiBfX2NwbHVz
cGx1cwogI2luY2x1ZGUgPHN0ZGJvb2wuaD4KQEAgLTQzLDM3OSArNTAsNiBAQAogZXh0ZXJuICJD
IiB7CiAjZW5kaWYKIAotZW51bSB7Ci0gICAga1dLSW5zZXJ0QWN0aW9uVHlwZWQgPSAwLAotICAg
IGtXS0luc2VydEFjdGlvblBhc3RlZCA9IDEsCi0gICAga1dLSW5zZXJ0QWN0aW9uRHJvcHBlZCA9
IDIKLX07Ci10eXBlZGVmIHVpbnQzMl90IFdLSW5zZXJ0QWN0aW9uVHlwZTsKLQotZW51bSB7Ci0g
ICAga1dLQWZmaW5pdHlVcHN0cmVhbSwKLSAgICBrV0tBZmZpbml0eURvd25zdHJlYW0KLX07Ci10
eXBlZGVmIHVpbnQzMl90IFdLQWZmaW5pdHlUeXBlOwotCi1lbnVtIHsKLSAgICBXS0lucHV0Rmll
bGRBY3Rpb25UeXBlTW92ZVVwLAotICAgIFdLSW5wdXRGaWVsZEFjdGlvblR5cGVNb3ZlRG93biwK
LSAgICBXS0lucHV0RmllbGRBY3Rpb25UeXBlQ2FuY2VsLAotICAgIFdLSW5wdXRGaWVsZEFjdGlv
blR5cGVJbnNlcnRUYWIsCi0gICAgV0tJbnB1dEZpZWxkQWN0aW9uVHlwZUluc2VydEJhY2t0YWIs
Ci0gICAgV0tJbnB1dEZpZWxkQWN0aW9uVHlwZUluc2VydE5ld2xpbmUsCi0gICAgV0tJbnB1dEZp
ZWxkQWN0aW9uVHlwZUluc2VydERlbGV0ZQotfTsKLXR5cGVkZWYgdWludDMyX3QgV0tJbnB1dEZp
ZWxkQWN0aW9uVHlwZTsKLQotZW51bSB7Ci0gICAgV0tGdWxsU2NyZWVuTm9LZXlib2FyZCwKLSAg
ICBXS0Z1bGxTY3JlZW5LZXlib2FyZCwKLX07Ci10eXBlZGVmIHVpbnQzMl90IFdLRnVsbFNjcmVl
bktleWJvYXJkUmVxdWVzdFR5cGU7Ci0KLWVudW0gewotICAgIFdLU2Nyb2xsRGlyZWN0aW9uTGVm
dCwKLSAgICBXS1Njcm9sbERpcmVjdGlvblJpZ2h0Ci19OwotdHlwZWRlZiB1aW50MzJfdCBXS1Nj
cm9sbERpcmVjdGlvbjsKLQotLy8gTG9hZGVyIENsaWVudAotdHlwZWRlZiB2b2lkICgqV0tCdW5k
bGVQYWdlRGlkU3RhcnRQcm92aXNpb25hbExvYWRGb3JGcmFtZUNhbGxiYWNrKShXS0J1bmRsZVBh
Z2VSZWYgcGFnZSwgV0tCdW5kbGVGcmFtZVJlZiBmcmFtZSwgV0tUeXBlUmVmKiB1c2VyRGF0YSwg
Y29uc3Qgdm9pZCAqY2xpZW50SW5mbyk7Ci10eXBlZGVmIHZvaWQgKCpXS0J1bmRsZVBhZ2VEaWRS
ZWNlaXZlU2VydmVyUmVkaXJlY3RGb3JQcm92aXNpb25hbExvYWRGb3JGcmFtZUNhbGxiYWNrKShX
S0J1bmRsZVBhZ2VSZWYgcGFnZSwgV0tCdW5kbGVGcmFtZVJlZiBmcmFtZSwgV0tUeXBlUmVmKiB1
c2VyRGF0YSwgY29uc3Qgdm9pZCAqY2xpZW50SW5mbyk7Ci10eXBlZGVmIHZvaWQgKCpXS0J1bmRs
ZVBhZ2VEaWRGYWlsUHJvdmlzaW9uYWxMb2FkV2l0aEVycm9yRm9yRnJhbWVDYWxsYmFjaykoV0tC
dW5kbGVQYWdlUmVmIHBhZ2UsIFdLQnVuZGxlRnJhbWVSZWYgZnJhbWUsIFdLRXJyb3JSZWYgZXJy
b3IsIFdLVHlwZVJlZiogdXNlckRhdGEsIGNvbnN0IHZvaWQgKmNsaWVudEluZm8pOwotdHlwZWRl
ZiB2b2lkICgqV0tCdW5kbGVQYWdlRGlkQ29tbWl0TG9hZEZvckZyYW1lQ2FsbGJhY2spKFdLQnVu
ZGxlUGFnZVJlZiBwYWdlLCBXS0J1bmRsZUZyYW1lUmVmIGZyYW1lLCBXS1R5cGVSZWYqIHVzZXJE
YXRhLCBjb25zdCB2b2lkICpjbGllbnRJbmZvKTsKLXR5cGVkZWYgdm9pZCAoKldLQnVuZGxlUGFn
ZURpZERvY3VtZW50RmluaXNoTG9hZEZvckZyYW1lQ2FsbGJhY2spKFdLQnVuZGxlUGFnZVJlZiBw
YWdlLCBXS0J1bmRsZUZyYW1lUmVmIGZyYW1lLCBXS1R5cGVSZWYqIHVzZXJEYXRhLCBjb25zdCB2
b2lkICpjbGllbnRJbmZvKTsKLXR5cGVkZWYgdm9pZCAoKldLQnVuZGxlUGFnZURpZEZpbmlzaExv
YWRGb3JGcmFtZUNhbGxiYWNrKShXS0J1bmRsZVBhZ2VSZWYgcGFnZSwgV0tCdW5kbGVGcmFtZVJl
ZiBmcmFtZSwgV0tUeXBlUmVmKiB1c2VyRGF0YSwgY29uc3Qgdm9pZCAqY2xpZW50SW5mbyk7Ci10
eXBlZGVmIHZvaWQgKCpXS0J1bmRsZVBhZ2VEaWRGaW5pc2hEb2N1bWVudExvYWRGb3JGcmFtZUNh
bGxiYWNrKShXS0J1bmRsZVBhZ2VSZWYgcGFnZSwgV0tCdW5kbGVGcmFtZVJlZiBmcmFtZSwgV0tU
eXBlUmVmKiB1c2VyRGF0YSwgY29uc3Qgdm9pZCAqY2xpZW50SW5mbyk7Ci10eXBlZGVmIHZvaWQg
KCpXS0J1bmRsZVBhZ2VEaWRGaW5pc2hQcm9ncmVzc0NhbGxiYWNrKShXS0J1bmRsZVBhZ2VSZWYg
cGFnZSwgY29uc3Qgdm9pZCAqY2xpZW50SW5mbyk7Ci10eXBlZGVmIHZvaWQgKCpXS0J1bmRsZVBh
Z2VEaWRGYWlsTG9hZFdpdGhFcnJvckZvckZyYW1lQ2FsbGJhY2spKFdLQnVuZGxlUGFnZVJlZiBw
YWdlLCBXS0J1bmRsZUZyYW1lUmVmIGZyYW1lLCBXS0Vycm9yUmVmIGVycm9yLCBXS1R5cGVSZWYq
IHVzZXJEYXRhLCBjb25zdCB2b2lkICpjbGllbnRJbmZvKTsKLXR5cGVkZWYgdm9pZCAoKldLQnVu
ZGxlUGFnZURpZFNhbWVEb2N1bWVudE5hdmlnYXRpb25Gb3JGcmFtZUNhbGxiYWNrKShXS0J1bmRs
ZVBhZ2VSZWYgcGFnZSwgV0tCdW5kbGVGcmFtZVJlZiBmcmFtZSwgV0tTYW1lRG9jdW1lbnROYXZp
Z2F0aW9uVHlwZSB0eXBlLCBXS1R5cGVSZWYqIHVzZXJEYXRhLCBjb25zdCB2b2lkICpjbGllbnRJ
bmZvKTsKLXR5cGVkZWYgdm9pZCAoKldLQnVuZGxlUGFnZURpZFJlY2VpdmVUaXRsZUZvckZyYW1l
Q2FsbGJhY2spKFdLQnVuZGxlUGFnZVJlZiBwYWdlLCBXS1N0cmluZ1JlZiB0aXRsZSwgV0tCdW5k
bGVGcmFtZVJlZiBmcmFtZSwgV0tUeXBlUmVmKiB1c2VyRGF0YSwgY29uc3Qgdm9pZCAqY2xpZW50
SW5mbyk7Ci10eXBlZGVmIHZvaWQgKCpXS0J1bmRsZVBhZ2VEaWRSZW1vdmVGcmFtZUZyb21IaWVy
YXJjaHlDYWxsYmFjaykoV0tCdW5kbGVQYWdlUmVmIHBhZ2UsIFdLQnVuZGxlRnJhbWVSZWYgZnJh
bWUsIFdLVHlwZVJlZiogdXNlckRhdGEsIGNvbnN0IHZvaWQgKmNsaWVudEluZm8pOwotdHlwZWRl
ZiB2b2lkICgqV0tCdW5kbGVQYWdlRGlkRGlzcGxheUluc2VjdXJlQ29udGVudEZvckZyYW1lQ2Fs
bGJhY2spKFdLQnVuZGxlUGFnZVJlZiBwYWdlLCBXS0J1bmRsZUZyYW1lUmVmIGZyYW1lLCBXS1R5
cGVSZWYqIHVzZXJEYXRhLCBjb25zdCB2b2lkICpjbGllbnRJbmZvKTsKLXR5cGVkZWYgdm9pZCAo
KldLQnVuZGxlUGFnZURpZFJ1bkluc2VjdXJlQ29udGVudEZvckZyYW1lQ2FsbGJhY2spKFdLQnVu
ZGxlUGFnZVJlZiBwYWdlLCBXS0J1bmRsZUZyYW1lUmVmIGZyYW1lLCBXS1R5cGVSZWYqIHVzZXJE
YXRhLCBjb25zdCB2b2lkICpjbGllbnRJbmZvKTsKLXR5cGVkZWYgdm9pZCAoKldLQnVuZGxlUGFn
ZURpZERldGVjdFhTU0ZvckZyYW1lQ2FsbGJhY2spKFdLQnVuZGxlUGFnZVJlZiBwYWdlLCBXS0J1
bmRsZUZyYW1lUmVmIGZyYW1lLCBXS1R5cGVSZWYqIHVzZXJEYXRhLCBjb25zdCB2b2lkICpjbGll
bnRJbmZvKTsKLXR5cGVkZWYgdm9pZCAoKldLQnVuZGxlUGFnZURpZEZpcnN0TGF5b3V0Rm9yRnJh
bWVDYWxsYmFjaykoV0tCdW5kbGVQYWdlUmVmIHBhZ2UsIFdLQnVuZGxlRnJhbWVSZWYgZnJhbWUs
IFdLVHlwZVJlZiogdXNlckRhdGEsIGNvbnN0IHZvaWQgKmNsaWVudEluZm8pOwotdHlwZWRlZiB2
b2lkICgqV0tCdW5kbGVQYWdlRGlkRmlyc3RWaXN1YWxseU5vbkVtcHR5TGF5b3V0Rm9yRnJhbWVD
YWxsYmFjaykoV0tCdW5kbGVQYWdlUmVmIHBhZ2UsIFdLQnVuZGxlRnJhbWVSZWYgZnJhbWUsIFdL
VHlwZVJlZiogdXNlckRhdGEsIGNvbnN0IHZvaWQgKmNsaWVudEluZm8pOwotdHlwZWRlZiB2b2lk
ICgqV0tCdW5kbGVQYWdlRGlkTGF5b3V0Rm9yRnJhbWVDYWxsYmFjaykoV0tCdW5kbGVQYWdlUmVm
IHBhZ2UsIFdLQnVuZGxlRnJhbWVSZWYgZnJhbWUsIGNvbnN0IHZvaWQqIGNsaWVudEluZm8pOwot
dHlwZWRlZiB2b2lkICgqV0tCdW5kbGVQYWdlRGlkQ2xlYXJXaW5kb3dPYmplY3RGb3JGcmFtZUNh
bGxiYWNrKShXS0J1bmRsZVBhZ2VSZWYgcGFnZSwgV0tCdW5kbGVGcmFtZVJlZiBmcmFtZSwgV0tC
dW5kbGVTY3JpcHRXb3JsZFJlZiB3b3JsZCwgY29uc3Qgdm9pZCAqY2xpZW50SW5mbyk7Ci10eXBl
ZGVmIHZvaWQgKCpXS0J1bmRsZVBhZ2VEaWRDYW5jZWxDbGllbnRSZWRpcmVjdEZvckZyYW1lQ2Fs
bGJhY2spKFdLQnVuZGxlUGFnZVJlZiBwYWdlLCBXS0J1bmRsZUZyYW1lUmVmIGZyYW1lLCBjb25z
dCB2b2lkICpjbGllbnRJbmZvKTsKLXR5cGVkZWYgdm9pZCAoKldLQnVuZGxlUGFnZVdpbGxQZXJm
b3JtQ2xpZW50UmVkaXJlY3RGb3JGcmFtZUNhbGxiYWNrKShXS0J1bmRsZVBhZ2VSZWYgcGFnZSwg
V0tCdW5kbGVGcmFtZVJlZiBmcmFtZSwgV0tVUkxSZWYgdXJsLCBkb3VibGUgZGVsYXksIGRvdWJs
ZSBkYXRlLCBjb25zdCB2b2lkICpjbGllbnRJbmZvKTsKLXR5cGVkZWYgdm9pZCAoKldLQnVuZGxl
UGFnZURpZEhhbmRsZU9ubG9hZEV2ZW50c0ZvckZyYW1lQ2FsbGJhY2spKFdLQnVuZGxlUGFnZVJl
ZiBwYWdlLCBXS0J1bmRsZUZyYW1lUmVmIGZyYW1lLCBjb25zdCB2b2lkICpjbGllbnRJbmZvKTsK
LXR5cGVkZWYgYm9vbCAoKldLQnVuZGxlUGFnZVNob3VsZEdvVG9CYWNrRm9yd2FyZExpc3RJdGVt
Q2FsbGJhY2spKFdLQnVuZGxlUGFnZVJlZiBwYWdlLCBXS0J1bmRsZUJhY2tGb3J3YXJkTGlzdEl0
ZW1SZWYgaXRlbSwgV0tUeXBlUmVmKiB1c2VyRGF0YSwgY29uc3Qgdm9pZCAqY2xpZW50SW5mbyk7
Ci10eXBlZGVmIHZvaWQgKCpXS0J1bmRsZVBhZ2VHbG9iYWxPYmplY3RJc0F2YWlsYWJsZUZvckZy
YW1lQ2FsbGJhY2spKFdLQnVuZGxlUGFnZVJlZiBwYWdlLCBXS0J1bmRsZUZyYW1lUmVmLCBXS0J1
bmRsZVNjcmlwdFdvcmxkUmVmLCBjb25zdCB2b2lkKiBjbGllbnRJbmZvKTsKLXR5cGVkZWYgdm9p
ZCAoKldLQnVuZGxlUGFnZVdpbGxEaXNjb25uZWN0RE9NV2luZG93RXh0ZW5zaW9uRnJvbUdsb2Jh
bE9iamVjdENhbGxiYWNrKShXS0J1bmRsZVBhZ2VSZWYgcGFnZSwgV0tCdW5kbGVET01XaW5kb3dF
eHRlbnNpb25SZWYsIGNvbnN0IHZvaWQqIGNsaWVudEluZm8pOwotdHlwZWRlZiB2b2lkICgqV0tC
dW5kbGVQYWdlRGlkUmVjb25uZWN0RE9NV2luZG93RXh0ZW5zaW9uVG9HbG9iYWxPYmplY3RDYWxs
YmFjaykoV0tCdW5kbGVQYWdlUmVmIHBhZ2UsIFdLQnVuZGxlRE9NV2luZG93RXh0ZW5zaW9uUmVm
LCBjb25zdCB2b2lkKiBjbGllbnRJbmZvKTsKLXR5cGVkZWYgdm9pZCAoKldLQnVuZGxlUGFnZVdp
bGxEZXN0cm95R2xvYmFsT2JqZWN0Rm9yRE9NV2luZG93RXh0ZW5zaW9uQ2FsbGJhY2spKFdLQnVu
ZGxlUGFnZVJlZiBwYWdlLCBXS0J1bmRsZURPTVdpbmRvd0V4dGVuc2lvblJlZiwgY29uc3Qgdm9p
ZCogY2xpZW50SW5mbyk7Ci10eXBlZGVmIGJvb2wgKCpXS0J1bmRsZVBhZ2VTaG91bGRGb3JjZVVu
aXZlcnNhbEFjY2Vzc0Zyb21Mb2NhbFVSTENhbGxiYWNrKShXS0J1bmRsZVBhZ2VSZWYsIFdLU3Ry
aW5nUmVmIHVybCwgY29uc3Qgdm9pZCogY2xpZW50SW5mbyk7Ci10eXBlZGVmIHZvaWQgKCpXS0J1
bmRsZVBhZ2VEaWRMYXlvdXRDYWxsYmFjaykoV0tCdW5kbGVQYWdlUmVmIHBhZ2UsIFdLTGF5b3V0
TWlsZXN0b25lcyBtaWxlc3RvbmVzLCBXS1R5cGVSZWYqIHVzZXJEYXRhLCBjb25zdCB2b2lkICpj
bGllbnRJbmZvKTsKLXR5cGVkZWYgdm9pZCAoKldLQnVuZGxlUGFnZUZlYXR1cmVzVXNlZEluUGFn
ZUNhbGxiYWNrKShXS0J1bmRsZVBhZ2VSZWYgcGFnZSwgV0tBcnJheVJlZiBmZWF0dXJlU3RyaW5n
cywgY29uc3Qgdm9pZCAqY2xpZW50SW5mbyk7Ci10eXBlZGVmIHZvaWQgKCpXS0J1bmRsZVBhZ2VX
aWxsTG9hZFVSTFJlcXVlc3RDYWxsYmFjaykoV0tCdW5kbGVQYWdlUmVmIHBhZ2UsIFdLVVJMUmVx
dWVzdFJlZiByZXF1ZXN0LCBXS1R5cGVSZWYgdXNlckRhdGEsIGNvbnN0IHZvaWQgKmNsaWVudElu
Zm8pOwotdHlwZWRlZiB2b2lkICgqV0tCdW5kbGVQYWdlV2lsbExvYWREYXRhUmVxdWVzdENhbGxi
YWNrKShXS0J1bmRsZVBhZ2VSZWYgcGFnZSwgV0tVUkxSZXF1ZXN0UmVmIHJlcXVlc3QsIFdLRGF0
YVJlZiBkYXRhLCBXS1N0cmluZ1JlZiBNSU1FVHlwZSwgV0tTdHJpbmdSZWYgZW5jb2RpbmdOYW1l
LCBXS1VSTFJlZiB1bnJlYWNoYWJsZVVSTCwgV0tUeXBlUmVmIHVzZXJEYXRhLCBjb25zdCB2b2lk
ICpjbGllbnRJbmZvKTsKLXR5cGVkZWYgdm9pZCAoKldLQnVuZGxlUGFnZVdpbGxEZXN0cm95RnJh
bWUpKFdLQnVuZGxlUGFnZVJlZiBwYWdlLCBXS0J1bmRsZUZyYW1lUmVmIGZyYW1lLCBjb25zdCB2
b2lkICpjbGllbnRJbmZvKTsKLQotc3RydWN0IFdLQnVuZGxlUGFnZUxvYWRlckNsaWVudCB7Ci0g
ICAgaW50ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgdmVyc2lvbjsKLSAgICBjb25zdCB2b2lkICogICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGllbnRJbmZv
OwotCi0gICAgLy8gVmVyc2lvbiAwLgotICAgIFdLQnVuZGxlUGFnZURpZFN0YXJ0UHJvdmlzaW9u
YWxMb2FkRm9yRnJhbWVDYWxsYmFjayAgICAgICAgICAgICAgICAgICAgIGRpZFN0YXJ0UHJvdmlz
aW9uYWxMb2FkRm9yRnJhbWU7Ci0gICAgV0tCdW5kbGVQYWdlRGlkUmVjZWl2ZVNlcnZlclJlZGly
ZWN0Rm9yUHJvdmlzaW9uYWxMb2FkRm9yRnJhbWVDYWxsYmFjayAgZGlkUmVjZWl2ZVNlcnZlclJl
ZGlyZWN0Rm9yUHJvdmlzaW9uYWxMb2FkRm9yRnJhbWU7Ci0gICAgV0tCdW5kbGVQYWdlRGlkRmFp
bFByb3Zpc2lvbmFsTG9hZFdpdGhFcnJvckZvckZyYW1lQ2FsbGJhY2sgICAgICAgICAgICAgZGlk
RmFpbFByb3Zpc2lvbmFsTG9hZFdpdGhFcnJvckZvckZyYW1lOwotICAgIFdLQnVuZGxlUGFnZURp
ZENvbW1pdExvYWRGb3JGcmFtZUNhbGxiYWNrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGRpZENvbW1pdExvYWRGb3JGcmFtZTsKLSAgICBXS0J1bmRsZVBhZ2VEaWRGaW5pc2hEb2N1bWVu
dExvYWRGb3JGcmFtZUNhbGxiYWNrICAgICAgICAgICAgICAgICAgICAgICBkaWRGaW5pc2hEb2N1
bWVudExvYWRGb3JGcmFtZTsKLSAgICBXS0J1bmRsZVBhZ2VEaWRGaW5pc2hMb2FkRm9yRnJhbWVD
YWxsYmFjayAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkaWRGaW5pc2hMb2FkRm9yRnJh
bWU7Ci0gICAgV0tCdW5kbGVQYWdlRGlkRmFpbExvYWRXaXRoRXJyb3JGb3JGcmFtZUNhbGxiYWNr
ICAgICAgICAgICAgICAgICAgICAgICAgZGlkRmFpbExvYWRXaXRoRXJyb3JGb3JGcmFtZTsKLSAg
ICBXS0J1bmRsZVBhZ2VEaWRTYW1lRG9jdW1lbnROYXZpZ2F0aW9uRm9yRnJhbWVDYWxsYmFjayAg
ICAgICAgICAgICAgICAgICBkaWRTYW1lRG9jdW1lbnROYXZpZ2F0aW9uRm9yRnJhbWU7Ci0gICAg
V0tCdW5kbGVQYWdlRGlkUmVjZWl2ZVRpdGxlRm9yRnJhbWVDYWxsYmFjayAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgZGlkUmVjZWl2ZVRpdGxlRm9yRnJhbWU7Ci0gICAgV0tCdW5kbGVQYWdl
RGlkRmlyc3RMYXlvdXRGb3JGcmFtZUNhbGxiYWNrICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgZGlkRmlyc3RMYXlvdXRGb3JGcmFtZTsKLSAgICBXS0J1bmRsZVBhZ2VEaWRGaXJzdFZpc3Vh
bGx5Tm9uRW1wdHlMYXlvdXRGb3JGcmFtZUNhbGxiYWNrICAgICAgICAgICAgICBkaWRGaXJzdFZp
c3VhbGx5Tm9uRW1wdHlMYXlvdXRGb3JGcmFtZTsKLSAgICBXS0J1bmRsZVBhZ2VEaWRSZW1vdmVG
cmFtZUZyb21IaWVyYXJjaHlDYWxsYmFjayAgICAgICAgICAgICAgICAgICAgICAgICBkaWRSZW1v
dmVGcmFtZUZyb21IaWVyYXJjaHk7Ci0gICAgV0tCdW5kbGVQYWdlRGlkRGlzcGxheUluc2VjdXJl
Q29udGVudEZvckZyYW1lQ2FsbGJhY2sgICAgICAgICAgICAgICAgICAgZGlkRGlzcGxheUluc2Vj
dXJlQ29udGVudEZvckZyYW1lOwotICAgIFdLQnVuZGxlUGFnZURpZFJ1bkluc2VjdXJlQ29udGVu
dEZvckZyYW1lQ2FsbGJhY2sgICAgICAgICAgICAgICAgICAgICAgIGRpZFJ1bkluc2VjdXJlQ29u
dGVudEZvckZyYW1lOwotICAgIFdLQnVuZGxlUGFnZURpZENsZWFyV2luZG93T2JqZWN0Rm9yRnJh
bWVDYWxsYmFjayAgICAgICAgICAgICAgICAgICAgICAgIGRpZENsZWFyV2luZG93T2JqZWN0Rm9y
RnJhbWU7Ci0gICAgV0tCdW5kbGVQYWdlRGlkQ2FuY2VsQ2xpZW50UmVkaXJlY3RGb3JGcmFtZUNh
bGxiYWNrICAgICAgICAgICAgICAgICAgICAgZGlkQ2FuY2VsQ2xpZW50UmVkaXJlY3RGb3JGcmFt
ZTsKLSAgICBXS0J1bmRsZVBhZ2VXaWxsUGVyZm9ybUNsaWVudFJlZGlyZWN0Rm9yRnJhbWVDYWxs
YmFjayAgICAgICAgICAgICAgICAgICB3aWxsUGVyZm9ybUNsaWVudFJlZGlyZWN0Rm9yRnJhbWU7
Ci0gICAgV0tCdW5kbGVQYWdlRGlkSGFuZGxlT25sb2FkRXZlbnRzRm9yRnJhbWVDYWxsYmFjayAg
ICAgICAgICAgICAgICAgICAgICAgZGlkSGFuZGxlT25sb2FkRXZlbnRzRm9yRnJhbWU7Ci0KLSAg
ICAvLyBWZXJzaW9uIDEuCi0gICAgV0tCdW5kbGVQYWdlRGlkTGF5b3V0Rm9yRnJhbWVDYWxsYmFj
ayAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGlkTGF5b3V0Rm9yRnJhbWU7Ci0g
ICAgdm9pZCAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgZGlkTmV3Rmlyc3RWaXN1YWxseU5vbkVtcHR5TGF5b3V0X3VuYXZh
aWxhYmxlOwotICAgIFdLQnVuZGxlUGFnZURpZERldGVjdFhTU0ZvckZyYW1lQ2FsbGJhY2sgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpZERldGVjdFhTU0ZvckZyYW1lOwotICAgIFdL
QnVuZGxlUGFnZVNob3VsZEdvVG9CYWNrRm9yd2FyZExpc3RJdGVtQ2FsbGJhY2sgICAgICAgICAg
ICAgICAgICAgICAgIHNob3VsZEdvVG9CYWNrRm9yd2FyZExpc3RJdGVtOwotICAgIFdLQnVuZGxl
UGFnZUdsb2JhbE9iamVjdElzQXZhaWxhYmxlRm9yRnJhbWVDYWxsYmFjayAgICAgICAgICAgICAg
ICAgICAgIGdsb2JhbE9iamVjdElzQXZhaWxhYmxlRm9yRnJhbWU7Ci0gICAgV0tCdW5kbGVQYWdl
V2lsbERpc2Nvbm5lY3RET01XaW5kb3dFeHRlbnNpb25Gcm9tR2xvYmFsT2JqZWN0Q2FsbGJhY2sg
ICAgd2lsbERpc2Nvbm5lY3RET01XaW5kb3dFeHRlbnNpb25Gcm9tR2xvYmFsT2JqZWN0OwotICAg
IFdLQnVuZGxlUGFnZURpZFJlY29ubmVjdERPTVdpbmRvd0V4dGVuc2lvblRvR2xvYmFsT2JqZWN0
Q2FsbGJhY2sgICAgICAgIGRpZFJlY29ubmVjdERPTVdpbmRvd0V4dGVuc2lvblRvR2xvYmFsT2Jq
ZWN0OwotICAgIFdLQnVuZGxlUGFnZVdpbGxEZXN0cm95R2xvYmFsT2JqZWN0Rm9yRE9NV2luZG93
RXh0ZW5zaW9uQ2FsbGJhY2sgICAgICAgIHdpbGxEZXN0cm95R2xvYmFsT2JqZWN0Rm9yRE9NV2lu
ZG93RXh0ZW5zaW9uOwotICAgIAotICAgIC8vIFZlcnNpb24gMgotICAgIFdLQnVuZGxlUGFnZURp
ZEZpbmlzaFByb2dyZXNzQ2FsbGJhY2sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGRpZEZpbmlzaFByb2dyZXNzOwotICAgIFdLQnVuZGxlUGFnZVNob3VsZEZvcmNlVW5pdmVyc2Fs
QWNjZXNzRnJvbUxvY2FsVVJMQ2FsbGJhY2sgICAgICAgICAgICAgIHNob3VsZEZvcmNlVW5pdmVy
c2FsQWNjZXNzRnJvbUxvY2FsVVJMOwotCi0gICAgLy8gVmVyc2lvbiAzCi0gICAgdm9pZCAqICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgZGlkUmVjZWl2ZUludGVudEZvckZyYW1lX3VuYXZhaWxhYmxlOwotICAgIHZvaWQgKiAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIHJlZ2lzdGVySW50ZW50U2VydmljZUZvckZyYW1lX3VuYXZhaWxhYmxlOwotCi0gICAg
Ly8gVmVyc2lvbiA0Ci0gICAgV0tCdW5kbGVQYWdlRGlkTGF5b3V0Q2FsbGJhY2sgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGlkTGF5b3V0OwotCi0gICAgLy8gVmVy
c2lvbiA1Ci0gICAgV0tCdW5kbGVQYWdlRmVhdHVyZXNVc2VkSW5QYWdlQ2FsbGJhY2sgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgZmVhdHVyZXNVc2VkSW5QYWdlOwotICAgIAotICAg
IC8vIFZlcnNpb24gNgotICAgIFdLQnVuZGxlUGFnZVdpbGxMb2FkVVJMUmVxdWVzdENhbGxiYWNr
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdpbGxMb2FkVVJMUmVxdWVzdDsKLSAg
ICBXS0J1bmRsZVBhZ2VXaWxsTG9hZERhdGFSZXF1ZXN0Q2FsbGJhY2sgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICB3aWxsTG9hZERhdGFSZXF1ZXN0OwotCi0gICAgLy8gVmVyc2lvbiA3
Ci0gICAgV0tCdW5kbGVQYWdlV2lsbERlc3Ryb3lGcmFtZSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgd2lsbERlc3Ryb3lGcmFtZTsKLX07Ci10eXBlZGVmIHN0cnVj
dCBXS0J1bmRsZVBhZ2VMb2FkZXJDbGllbnQgV0tCdW5kbGVQYWdlTG9hZGVyQ2xpZW50OwotCi1l
bnVtIHsga1dLQnVuZGxlUGFnZUxvYWRlckNsaWVudEN1cnJlbnRWZXJzaW9uID0gNyB9OwotCi1l
bnVtIHsKLSAgICBXS0J1bmRsZVBhZ2VQb2xpY3lBY3Rpb25QYXNzVGhyb3VnaCwKLSAgICBXS0J1
bmRsZVBhZ2VQb2xpY3lBY3Rpb25Vc2UKLX07Ci10eXBlZGVmIHVpbnQzMl90IFdLQnVuZGxlUGFn
ZVBvbGljeUFjdGlvbjsKLQotLy8gUG9saWN5IENsaWVudAotdHlwZWRlZiBXS0J1bmRsZVBhZ2VQ
b2xpY3lBY3Rpb24gKCpXS0J1bmRsZVBhZ2VEZWNpZGVQb2xpY3lGb3JOYXZpZ2F0aW9uQWN0aW9u
Q2FsbGJhY2spKFdLQnVuZGxlUGFnZVJlZiBwYWdlLCBXS0J1bmRsZUZyYW1lUmVmIGZyYW1lLCBX
S0J1bmRsZU5hdmlnYXRpb25BY3Rpb25SZWYgbmF2aWdhdGlvbkFjdGlvbiwgV0tVUkxSZXF1ZXN0
UmVmIHJlcXVlc3QsIFdLVHlwZVJlZiogdXNlckRhdGEsIGNvbnN0IHZvaWQqIGNsaWVudEluZm8p
OwotdHlwZWRlZiBXS0J1bmRsZVBhZ2VQb2xpY3lBY3Rpb24gKCpXS0J1bmRsZVBhZ2VEZWNpZGVQ
b2xpY3lGb3JOZXdXaW5kb3dBY3Rpb25DYWxsYmFjaykoV0tCdW5kbGVQYWdlUmVmIHBhZ2UsIFdL
QnVuZGxlRnJhbWVSZWYgZnJhbWUsIFdLQnVuZGxlTmF2aWdhdGlvbkFjdGlvblJlZiBuYXZpZ2F0
aW9uQWN0aW9uLCBXS1VSTFJlcXVlc3RSZWYgcmVxdWVzdCwgV0tTdHJpbmdSZWYgZnJhbWVOYW1l
LCBXS1R5cGVSZWYqIHVzZXJEYXRhLCBjb25zdCB2b2lkKiBjbGllbnRJbmZvKTsKLXR5cGVkZWYg
V0tCdW5kbGVQYWdlUG9saWN5QWN0aW9uICgqV0tCdW5kbGVQYWdlRGVjaWRlUG9saWN5Rm9yUmVz
cG9uc2VDYWxsYmFjaykoV0tCdW5kbGVQYWdlUmVmIHBhZ2UsIFdLQnVuZGxlRnJhbWVSZWYgZnJh
bWUsIFdLVVJMUmVzcG9uc2VSZWYgcmVzcG9uc2UsIFdLVVJMUmVxdWVzdFJlZiByZXF1ZXN0LCBX
S1R5cGVSZWYqIHVzZXJEYXRhLCBjb25zdCB2b2lkKiBjbGllbnRJbmZvKTsKLXR5cGVkZWYgdm9p
ZCAoKldLQnVuZGxlUGFnZVVuYWJsZVRvSW1wbGVtZW50UG9saWN5Q2FsbGJhY2spKFdLQnVuZGxl
UGFnZVJlZiBwYWdlLCBXS0J1bmRsZUZyYW1lUmVmIGZyYW1lLCBXS0Vycm9yUmVmIGVycm9yLCBX
S1R5cGVSZWYqIHVzZXJEYXRhLCBjb25zdCB2b2lkKiBjbGllbnRJbmZvKTsKLQotc3RydWN0IFdL
QnVuZGxlUGFnZVBvbGljeUNsaWVudCB7Ci0gICAgaW50ICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2ZXJzaW9uOwotICAgIGNv
bnN0IHZvaWQgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgY2xpZW50SW5mbzsKLSAgICBXS0J1bmRsZVBhZ2VEZWNpZGVQb2xpY3lGb3JOYXZp
Z2F0aW9uQWN0aW9uQ2FsbGJhY2sgICAgICAgICAgICAgICAgIGRlY2lkZVBvbGljeUZvck5hdmln
YXRpb25BY3Rpb247Ci0gICAgV0tCdW5kbGVQYWdlRGVjaWRlUG9saWN5Rm9yTmV3V2luZG93QWN0
aW9uQ2FsbGJhY2sgICAgICAgICAgICAgICAgICBkZWNpZGVQb2xpY3lGb3JOZXdXaW5kb3dBY3Rp
b247Ci0gICAgV0tCdW5kbGVQYWdlRGVjaWRlUG9saWN5Rm9yUmVzcG9uc2VDYWxsYmFjayAgICAg
ICAgICAgICAgICAgICAgICAgICBkZWNpZGVQb2xpY3lGb3JSZXNwb25zZTsKLSAgICBXS0J1bmRs
ZVBhZ2VVbmFibGVUb0ltcGxlbWVudFBvbGljeUNhbGxiYWNrICAgICAgICAgICAgICAgICAgICAg
ICAgIHVuYWJsZVRvSW1wbGVtZW50UG9saWN5OwotfTsKLXR5cGVkZWYgc3RydWN0IFdLQnVuZGxl
UGFnZVBvbGljeUNsaWVudCBXS0J1bmRsZVBhZ2VQb2xpY3lDbGllbnQ7Ci0KLWVudW0geyBrV0tC
dW5kbGVQYWdlUG9saWN5Q2xpZW50Q3VycmVudFZlcnNpb24gPSAwIH07Ci0KLS8vIFJlc291cmNl
IExvYWQgQ2xpZW50Ci10eXBlZGVmIHZvaWQgKCpXS0J1bmRsZVBhZ2VEaWRJbml0aWF0ZUxvYWRG
b3JSZXNvdXJjZUNhbGxiYWNrKShXS0J1bmRsZVBhZ2VSZWYsIFdLQnVuZGxlRnJhbWVSZWYsIHVp
bnQ2NF90IHJlc291cmNlSWRlbnRpZmllciwgV0tVUkxSZXF1ZXN0UmVmLCBib29sIHBhZ2VJc1By
b3Zpc2lvbmFsbHlMb2FkaW5nLCBjb25zdCB2b2lkKiBjbGllbnRJbmZvKTsKLXR5cGVkZWYgV0tV
UkxSZXF1ZXN0UmVmICgqV0tCdW5kbGVQYWdlV2lsbFNlbmRSZXF1ZXN0Rm9yRnJhbWVDYWxsYmFj
aykoV0tCdW5kbGVQYWdlUmVmLCBXS0J1bmRsZUZyYW1lUmVmLCB1aW50NjRfdCByZXNvdXJjZUlk
ZW50aWZpZXIsIFdLVVJMUmVxdWVzdFJlZiwgV0tVUkxSZXNwb25zZVJlZiByZWRpcmVjdFJlc3Bv
bnNlLCBjb25zdCB2b2lkICpjbGllbnRJbmZvKTsKLXR5cGVkZWYgdm9pZCAoKldLQnVuZGxlUGFn
ZURpZFJlY2VpdmVSZXNwb25zZUZvclJlc291cmNlQ2FsbGJhY2spKFdLQnVuZGxlUGFnZVJlZiwg
V0tCdW5kbGVGcmFtZVJlZiwgdWludDY0X3QgcmVzb3VyY2VJZGVudGlmaWVyLCBXS1VSTFJlc3Bv
bnNlUmVmLCBjb25zdCB2b2lkKiBjbGllbnRJbmZvKTsKLXR5cGVkZWYgdm9pZCAoKldLQnVuZGxl
UGFnZURpZFJlY2VpdmVDb250ZW50TGVuZ3RoRm9yUmVzb3VyY2VDYWxsYmFjaykoV0tCdW5kbGVQ
YWdlUmVmLCBXS0J1bmRsZUZyYW1lUmVmLCB1aW50NjRfdCByZXNvdXJjZUlkZW50aWZpZXIsIHVp
bnQ2NF90IGNvbnRlbnRMZW5ndGgsIGNvbnN0IHZvaWQqIGNsaWVudEluZm8pOwotdHlwZWRlZiB2
b2lkICgqV0tCdW5kbGVQYWdlRGlkRmluaXNoTG9hZEZvclJlc291cmNlQ2FsbGJhY2spKFdLQnVu
ZGxlUGFnZVJlZiwgV0tCdW5kbGVGcmFtZVJlZiwgdWludDY0X3QgcmVzb3VyY2VJZGVudGlmaWVy
LCBjb25zdCB2b2lkKiBjbGllbnRJbmZvKTsKLXR5cGVkZWYgdm9pZCAoKldLQnVuZGxlUGFnZURp
ZEZhaWxMb2FkRm9yUmVzb3VyY2VDYWxsYmFjaykoV0tCdW5kbGVQYWdlUmVmLCBXS0J1bmRsZUZy
YW1lUmVmLCB1aW50NjRfdCByZXNvdXJjZUlkZW50aWZpZXIsIFdLRXJyb3JSZWYsIGNvbnN0IHZv
aWQqIGNsaWVudEluZm8pOwotdHlwZWRlZiBib29sICgqV0tCdW5kbGVQYWdlU2hvdWxkQ2FjaGVS
ZXNwb25zZUNhbGxiYWNrKShXS0J1bmRsZVBhZ2VSZWYsIFdLQnVuZGxlRnJhbWVSZWYsIHVpbnQ2
NF90IHJlc291cmNlSWRlbnRpZmllciwgY29uc3Qgdm9pZCogY2xpZW50SW5mbyk7Ci10eXBlZGVm
IGJvb2wgKCpXS0J1bmRsZVBhZ2VTaG91bGRVc2VDcmVkZW50aWFsU3RvcmFnZUNhbGxiYWNrKShX
S0J1bmRsZVBhZ2VSZWYsIFdLQnVuZGxlRnJhbWVSZWYsIHVpbnQ2NF90IHJlc291cmNlSWRlbnRp
ZmllciwgY29uc3Qgdm9pZCogY2xpZW50SW5mbyk7Ci0KLXN0cnVjdCBXS0J1bmRsZVBhZ2VSZXNv
dXJjZUxvYWRDbGllbnQgewotICAgIGludCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmVyc2lvbjsKLSAgICBjb25zdCB2b2lk
ICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGNsaWVudEluZm87Ci0KLSAgICAvLyBWZXJzaW9uIDAuCi0gICAgV0tCdW5kbGVQYWdlRGlkSW5p
dGlhdGVMb2FkRm9yUmVzb3VyY2VDYWxsYmFjayAgICAgICAgICAgICAgICAgICAgICBkaWRJbml0
aWF0ZUxvYWRGb3JSZXNvdXJjZTsKLQotICAgIC8vIHdpbGxTZW5kUmVxdWVzdEZvckZyYW1lIGlz
IHN1cHBvc2VkIHRvIHJldHVybiBhIHJldGFpbmVkIHJlZmVyZW5jZSB0byB0aGUgVVJMIHJlcXVl
c3QuCi0gICAgV0tCdW5kbGVQYWdlV2lsbFNlbmRSZXF1ZXN0Rm9yRnJhbWVDYWxsYmFjayAgICAg
ICAgICAgICAgICAgICAgICAgICB3aWxsU2VuZFJlcXVlc3RGb3JGcmFtZTsKLQotICAgIFdLQnVu
ZGxlUGFnZURpZFJlY2VpdmVSZXNwb25zZUZvclJlc291cmNlQ2FsbGJhY2sgICAgICAgICAgICAg
ICAgICAgZGlkUmVjZWl2ZVJlc3BvbnNlRm9yUmVzb3VyY2U7Ci0gICAgV0tCdW5kbGVQYWdlRGlk
UmVjZWl2ZUNvbnRlbnRMZW5ndGhGb3JSZXNvdXJjZUNhbGxiYWNrICAgICAgICAgICAgICBkaWRS
ZWNlaXZlQ29udGVudExlbmd0aEZvclJlc291cmNlOwotICAgIFdLQnVuZGxlUGFnZURpZEZpbmlz
aExvYWRGb3JSZXNvdXJjZUNhbGxiYWNrICAgICAgICAgICAgICAgICAgICAgICAgZGlkRmluaXNo
TG9hZEZvclJlc291cmNlOwotICAgIFdLQnVuZGxlUGFnZURpZEZhaWxMb2FkRm9yUmVzb3VyY2VD
YWxsYmFjayAgICAgICAgICAgICAgICAgICAgICAgICAgZGlkRmFpbExvYWRGb3JSZXNvdXJjZTsK
LQotICAgIC8vIFZlcnNpb24gMS4KLSAgICBXS0J1bmRsZVBhZ2VTaG91bGRDYWNoZVJlc3BvbnNl
Q2FsbGJhY2sgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNob3VsZENhY2hlUmVzcG9uc2U7
Ci0gICAgV0tCdW5kbGVQYWdlU2hvdWxkVXNlQ3JlZGVudGlhbFN0b3JhZ2VDYWxsYmFjayAgICAg
ICAgICAgICAgICAgICAgICBzaG91bGRVc2VDcmVkZW50aWFsU3RvcmFnZTsKLX07Ci10eXBlZGVm
IHN0cnVjdCBXS0J1bmRsZVBhZ2VSZXNvdXJjZUxvYWRDbGllbnQgV0tCdW5kbGVQYWdlUmVzb3Vy
Y2VMb2FkQ2xpZW50OwotCi1lbnVtIHsga1dLQnVuZGxlUGFnZVJlc291cmNlTG9hZENsaWVudEN1
cnJlbnRWZXJzaW9uID0gMSB9OwotCi1lbnVtIHsKLSAgICBXS0J1bmRsZVBhZ2VVSUVsZW1lbnRW
aXNpYmlsaXR5VW5rbm93biwKLSAgICBXS0J1bmRsZVBhZ2VVSUVsZW1lbnRWaXNpYmxlLAotICAg
IFdLQnVuZGxlUGFnZVVJRWxlbWVudEhpZGRlbgotfTsKLXR5cGVkZWYgdWludDMyX3QgV0tCdW5k
bGVQYWdlVUlFbGVtZW50VmlzaWJpbGl0eTsKLQotZW51bSB7Ci0gICAgV0tCdW5kbGVQYWdlTGFi
ZWxTaXplU21hbGwsCi0gICAgV0tCdW5kbGVQYWdlTGFiZWxTaXplTGFyZ2UsCi19OwotdHlwZWRl
ZiB1aW50MzJfdCBXS0J1bmRsZVBhZ2VMYWJlbFNpemU7Ci0KLS8vIFVJIENsaWVudAotdHlwZWRl
ZiB2b2lkICgqV0tCdW5kbGVQYWdlV2lsbEFkZE1lc3NhZ2VUb0NvbnNvbGVDYWxsYmFjaykoV0tC
dW5kbGVQYWdlUmVmIHBhZ2UsIFdLU3RyaW5nUmVmIG1lc3NhZ2UsIHVpbnQzMl90IGxpbmVOdW1i
ZXIsIGNvbnN0IHZvaWQgKmNsaWVudEluZm8pOwotdHlwZWRlZiB2b2lkICgqV0tCdW5kbGVQYWdl
V2lsbFNldFN0YXR1c2JhclRleHRDYWxsYmFjaykoV0tCdW5kbGVQYWdlUmVmIHBhZ2UsIFdLU3Ry
aW5nUmVmIHN0YXR1c2JhclRleHQsIGNvbnN0IHZvaWQgKmNsaWVudEluZm8pOwotdHlwZWRlZiB2
b2lkICgqV0tCdW5kbGVQYWdlV2lsbFJ1bkphdmFTY3JpcHRBbGVydENhbGxiYWNrKShXS0J1bmRs
ZVBhZ2VSZWYgcGFnZSwgV0tTdHJpbmdSZWYgYWxlcnRUZXh0LCBXS0J1bmRsZUZyYW1lUmVmIGZy
YW1lLCBjb25zdCB2b2lkICpjbGllbnRJbmZvKTsKLXR5cGVkZWYgdm9pZCAoKldLQnVuZGxlUGFn
ZVdpbGxSdW5KYXZhU2NyaXB0Q29uZmlybUNhbGxiYWNrKShXS0J1bmRsZVBhZ2VSZWYgcGFnZSwg
V0tTdHJpbmdSZWYgbWVzc2FnZSwgV0tCdW5kbGVGcmFtZVJlZiBmcmFtZSwgY29uc3Qgdm9pZCAq
Y2xpZW50SW5mbyk7Ci10eXBlZGVmIHZvaWQgKCpXS0J1bmRsZVBhZ2VXaWxsUnVuSmF2YVNjcmlw
dFByb21wdENhbGxiYWNrKShXS0J1bmRsZVBhZ2VSZWYgcGFnZSwgV0tTdHJpbmdSZWYgbWVzc2Fn
ZSwgV0tTdHJpbmdSZWYgZGVmYXVsdFZhbHVlLCBXS0J1bmRsZUZyYW1lUmVmIGZyYW1lLCBjb25z
dCB2b2lkICpjbGllbnRJbmZvKTsKLXR5cGVkZWYgdm9pZCAoKldLQnVuZGxlUGFnZU1vdXNlRGlk
TW92ZU92ZXJFbGVtZW50Q2FsbGJhY2spKFdLQnVuZGxlUGFnZVJlZiBwYWdlLCBXS0J1bmRsZUhp
dFRlc3RSZXN1bHRSZWYgaGl0VGVzdFJlc3VsdCwgV0tFdmVudE1vZGlmaWVycyBtb2RpZmllcnMs
IFdLVHlwZVJlZiogdXNlckRhdGEsIGNvbnN0IHZvaWQgKmNsaWVudEluZm8pOwotdHlwZWRlZiB2
b2lkICgqV0tCdW5kbGVQYWdlRGlkU2Nyb2xsQ2FsbGJhY2spKFdLQnVuZGxlUGFnZVJlZiBwYWdl
LCBjb25zdCB2b2lkICpjbGllbnRJbmZvKTsKLXR5cGVkZWYgV0tTdHJpbmdSZWYgKCpXS0J1bmRs
ZVBhZ2VHZW5lcmF0ZUZpbGVGb3JVcGxvYWRDYWxsYmFjaykoV0tCdW5kbGVQYWdlUmVmIHBhZ2Us
IFdLU3RyaW5nUmVmIG9yaWdpbmFsRmlsZVBhdGgsIGNvbnN0IHZvaWQqIGNsaWVudEluZm8pOwot
dHlwZWRlZiBXS0J1bmRsZVBhZ2VVSUVsZW1lbnRWaXNpYmlsaXR5ICgqV0tCdW5kbGVQYWdlU3Rh
dHVzQmFySXNWaXNpYmxlQ2FsbGJhY2spKFdLQnVuZGxlUGFnZVJlZiBwYWdlLCBjb25zdCB2b2lk
ICpjbGllbnRJbmZvKTsKLXR5cGVkZWYgV0tCdW5kbGVQYWdlVUlFbGVtZW50VmlzaWJpbGl0eSAo
KldLQnVuZGxlUGFnZU1lbnVCYXJJc1Zpc2libGVDYWxsYmFjaykoV0tCdW5kbGVQYWdlUmVmIHBh
Z2UsIGNvbnN0IHZvaWQgKmNsaWVudEluZm8pOwotdHlwZWRlZiBXS0J1bmRsZVBhZ2VVSUVsZW1l
bnRWaXNpYmlsaXR5ICgqV0tCdW5kbGVQYWdlVG9vbGJhcnNBcmVWaXNpYmxlQ2FsbGJhY2spKFdL
QnVuZGxlUGFnZVJlZiBwYWdlLCBjb25zdCB2b2lkICpjbGllbnRJbmZvKTsKLXR5cGVkZWYgdm9p
ZCAoKldLQnVuZGxlUGFnZVJlYWNoZWRBcHBDYWNoZU9yaWdpblF1b3RhQ2FsbGJhY2spKFdLQnVu
ZGxlUGFnZVJlZiBwYWdlLCBXS1NlY3VyaXR5T3JpZ2luUmVmIG9yaWdpbiwgaW50NjRfdCB0b3Rh
bEJ5dGVzTmVlZGVkLCBjb25zdCB2b2lkICpjbGllbnRJbmZvKTsKLXR5cGVkZWYgdWludDY0X3Qg
KCpXS0J1bmRsZVBhZ2VFeGNlZWRlZERhdGFiYXNlUXVvdGFDYWxsYmFjaykoV0tCdW5kbGVQYWdl
UmVmIHBhZ2UsIFdLU2VjdXJpdHlPcmlnaW5SZWYgb3JpZ2luLCBXS1N0cmluZ1JlZiBkYXRhYmFz
ZU5hbWUsIFdLU3RyaW5nUmVmIGRhdGFiYXNlRGlzcGxheU5hbWUsIHVpbnQ2NF90IGN1cnJlbnRR
dW90YUJ5dGVzLCB1aW50NjRfdCBjdXJyZW50T3JpZ2luVXNhZ2VCeXRlcywgdWludDY0X3QgY3Vy
cmVudERhdGFiYXNlVXNhZ2VCeXRlcywgdWludDY0X3QgZXhwZWN0ZWRVc2FnZUJ5dGVzLCBjb25z
dCB2b2lkICpjbGllbnRJbmZvKTsKLXR5cGVkZWYgV0tTdHJpbmdSZWYgKCpXS0J1bmRsZVBhZ2VQ
bHVnSW5DcmVhdGVTdGFydExhYmVsVGl0bGVDYWxsYmFjaykoV0tTdHJpbmdSZWYgbWltZVR5cGUs
IGNvbnN0IHZvaWQgKmNsaWVudEluZm8pOwotdHlwZWRlZiBXS1N0cmluZ1JlZiAoKldLQnVuZGxl
UGFnZVBsdWdJbkNyZWF0ZVN0YXJ0TGFiZWxTdWJ0aXRsZUNhbGxiYWNrKShXS1N0cmluZ1JlZiBt
aW1lVHlwZSwgY29uc3Qgdm9pZCAqY2xpZW50SW5mbyk7Ci10eXBlZGVmIFdLU3RyaW5nUmVmICgq
V0tCdW5kbGVQYWdlUGx1Z0luQ3JlYXRlRXh0cmFTdHlsZVNoZWV0Q2FsbGJhY2spKGNvbnN0IHZv
aWQgKmNsaWVudEluZm8pOwotdHlwZWRlZiBXS1N0cmluZ1JlZiAoKldLQnVuZGxlUGFnZVBsdWdJ
bkNyZWF0ZUV4dHJhU2NyaXB0Q2FsbGJhY2spKGNvbnN0IHZvaWQgKmNsaWVudEluZm8pOwotCi1z
dHJ1Y3QgV0tCdW5kbGVQYWdlVUlDbGllbnQgewotICAgIGludCAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmVyc2lvbjsKLSAg
ICBjb25zdCB2b2lkICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGNsaWVudEluZm87Ci0gICAgV0tCdW5kbGVQYWdlV2lsbEFkZE1lc3NhZ2VU
b0NvbnNvbGVDYWxsYmFjayAgICAgICAgICAgICAgICAgICAgICAgICB3aWxsQWRkTWVzc2FnZVRv
Q29uc29sZTsKLSAgICBXS0J1bmRsZVBhZ2VXaWxsU2V0U3RhdHVzYmFyVGV4dENhbGxiYWNrICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIHdpbGxTZXRTdGF0dXNiYXJUZXh0OwotICAgIFdLQnVu
ZGxlUGFnZVdpbGxSdW5KYXZhU2NyaXB0QWxlcnRDYWxsYmFjayAgICAgICAgICAgICAgICAgICAg
ICAgICAgd2lsbFJ1bkphdmFTY3JpcHRBbGVydDsKLSAgICBXS0J1bmRsZVBhZ2VXaWxsUnVuSmF2
YVNjcmlwdENvbmZpcm1DYWxsYmFjayAgICAgICAgICAgICAgICAgICAgICAgIHdpbGxSdW5KYXZh
U2NyaXB0Q29uZmlybTsKLSAgICBXS0J1bmRsZVBhZ2VXaWxsUnVuSmF2YVNjcmlwdFByb21wdENh
bGxiYWNrICAgICAgICAgICAgICAgICAgICAgICAgIHdpbGxSdW5KYXZhU2NyaXB0UHJvbXB0Owot
ICAgIFdLQnVuZGxlUGFnZU1vdXNlRGlkTW92ZU92ZXJFbGVtZW50Q2FsbGJhY2sgICAgICAgICAg
ICAgICAgICAgICAgICAgbW91c2VEaWRNb3ZlT3ZlckVsZW1lbnQ7Ci0gICAgV0tCdW5kbGVQYWdl
RGlkU2Nyb2xsQ2FsbGJhY2sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBw
YWdlRGlkU2Nyb2xsOwotICAgIHZvaWQqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdW51c2VkMTsKLSAgICBXS0J1bmRsZVBhZ2VH
ZW5lcmF0ZUZpbGVGb3JVcGxvYWRDYWxsYmFjayAgICAgICAgICAgICAgICAgICAgICAgICAgIHNo
b3VsZEdlbmVyYXRlRmlsZUZvclVwbG9hZDsKLSAgICBXS0J1bmRsZVBhZ2VHZW5lcmF0ZUZpbGVG
b3JVcGxvYWRDYWxsYmFjayAgICAgICAgICAgICAgICAgICAgICAgICAgIGdlbmVyYXRlRmlsZUZv
clVwbG9hZDsKLSAgICB2b2lkKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIHVudXNlZDI7Ci0gICAgV0tCdW5kbGVQYWdlU3RhdHVz
QmFySXNWaXNpYmxlQ2FsbGJhY2sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdGF0dXNC
YXJJc1Zpc2libGU7Ci0gICAgV0tCdW5kbGVQYWdlTWVudUJhcklzVmlzaWJsZUNhbGxiYWNrICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtZW51QmFySXNWaXNpYmxlOwotICAgIFdLQnVu
ZGxlUGFnZVRvb2xiYXJzQXJlVmlzaWJsZUNhbGxiYWNrICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgdG9vbGJhcnNBcmVWaXNpYmxlOwotCi0gICAgLy8gVmVyc2lvbiAxLgotICAgIFdLQnVu
ZGxlUGFnZVJlYWNoZWRBcHBDYWNoZU9yaWdpblF1b3RhQ2FsbGJhY2sgICAgICAgICAgICAgICAg
ICAgICAgZGlkUmVhY2hBcHBsaWNhdGlvbkNhY2hlT3JpZ2luUXVvdGE7Ci0KLSAgICAvLyBWZXJz
aW9uIDIuCi0gICAgV0tCdW5kbGVQYWdlRXhjZWVkZWREYXRhYmFzZVF1b3RhQ2FsbGJhY2sgICAg
ICAgICAgICAgICAgICAgICAgICAgICBkaWRFeGNlZWREYXRhYmFzZVF1b3RhOwotICAgIFdLQnVu
ZGxlUGFnZVBsdWdJbkNyZWF0ZVN0YXJ0TGFiZWxUaXRsZUNhbGxiYWNrICAgICAgICAgICAgICAg
ICAgICAgY3JlYXRlUGx1Z0luU3RhcnRMYWJlbFRpdGxlOwotICAgIFdLQnVuZGxlUGFnZVBsdWdJ
bkNyZWF0ZVN0YXJ0TGFiZWxTdWJ0aXRsZUNhbGxiYWNrICAgICAgICAgICAgICAgICAgY3JlYXRl
UGx1Z0luU3RhcnRMYWJlbFN1YnRpdGxlOwotICAgIFdLQnVuZGxlUGFnZVBsdWdJbkNyZWF0ZUV4
dHJhU3R5bGVTaGVldENhbGxiYWNrICAgICAgICAgICAgICAgICAgICAgY3JlYXRlUGx1Z0luRXh0
cmFTdHlsZVNoZWV0OwotICAgIFdLQnVuZGxlUGFnZVBsdWdJbkNyZWF0ZUV4dHJhU2NyaXB0Q2Fs
bGJhY2sgICAgICAgICAgICAgICAgICAgICAgICAgY3JlYXRlUGx1Z0luRXh0cmFTY3JpcHQ7Ci19
OwotdHlwZWRlZiBzdHJ1Y3QgV0tCdW5kbGVQYWdlVUlDbGllbnQgV0tCdW5kbGVQYWdlVUlDbGll
bnQ7Ci0KLWVudW0geyBrV0tCdW5kbGVQYWdlVUlDbGllbnRDdXJyZW50VmVyc2lvbiA9IDIgfTsK
LQotLy8gRWRpdG9yIGNsaWVudAotdHlwZWRlZiBib29sICgqV0tCdW5kbGVQYWdlU2hvdWxkQmVn
aW5FZGl0aW5nQ2FsbGJhY2spKFdLQnVuZGxlUGFnZVJlZiBwYWdlLCBXS0J1bmRsZVJhbmdlSGFu
ZGxlUmVmIHJhbmdlLCBjb25zdCB2b2lkKiBjbGllbnRJbmZvKTsKLXR5cGVkZWYgYm9vbCAoKldL
QnVuZGxlUGFnZVNob3VsZEVuZEVkaXRpbmdDYWxsYmFjaykoV0tCdW5kbGVQYWdlUmVmIHBhZ2Us
IFdLQnVuZGxlUmFuZ2VIYW5kbGVSZWYgcmFuZ2UsIGNvbnN0IHZvaWQqIGNsaWVudEluZm8pOwot
dHlwZWRlZiBib29sICgqV0tCdW5kbGVQYWdlU2hvdWxkSW5zZXJ0Tm9kZUNhbGxiYWNrKShXS0J1
bmRsZVBhZ2VSZWYgcGFnZSwgV0tCdW5kbGVOb2RlSGFuZGxlUmVmIG5vZGUsIFdLQnVuZGxlUmFu
Z2VIYW5kbGVSZWYgcmFuZ2VUb1JlcGxhY2UsIFdLSW5zZXJ0QWN0aW9uVHlwZSBhY3Rpb24sIGNv
bnN0IHZvaWQqIGNsaWVudEluZm8pOwotdHlwZWRlZiBib29sICgqV0tCdW5kbGVQYWdlU2hvdWxk
SW5zZXJ0VGV4dENhbGxiYWNrKShXS0J1bmRsZVBhZ2VSZWYgcGFnZSwgV0tTdHJpbmdSZWYgc3Ry
aW5nLCBXS0J1bmRsZVJhbmdlSGFuZGxlUmVmIHJhbmdlVG9SZXBsYWNlLCBXS0luc2VydEFjdGlv
blR5cGUgYWN0aW9uLCBjb25zdCB2b2lkKiBjbGllbnRJbmZvKTsKLXR5cGVkZWYgYm9vbCAoKldL
QnVuZGxlUGFnZVNob3VsZERlbGV0ZVJhbmdlQ2FsbGJhY2spKFdLQnVuZGxlUGFnZVJlZiBwYWdl
LCBXS0J1bmRsZVJhbmdlSGFuZGxlUmVmIHJhbmdlLCBjb25zdCB2b2lkKiBjbGllbnRJbmZvKTsK
LXR5cGVkZWYgYm9vbCAoKldLQnVuZGxlUGFnZVNob3VsZENoYW5nZVNlbGVjdGVkUmFuZ2UpKFdL
QnVuZGxlUGFnZVJlZiBwYWdlLCBXS0J1bmRsZVJhbmdlSGFuZGxlUmVmIGZyb21SYW5nZSwgV0tC
dW5kbGVSYW5nZUhhbmRsZVJlZiB0b1JhbmdlLCBXS0FmZmluaXR5VHlwZSBhZmZpbml0eSwgYm9v
bCBzdGlsbFNlbGVjdGluZywgY29uc3Qgdm9pZCogY2xpZW50SW5mbyk7Ci10eXBlZGVmIGJvb2wg
KCpXS0J1bmRsZVBhZ2VTaG91bGRBcHBseVN0eWxlKShXS0J1bmRsZVBhZ2VSZWYgcGFnZSwgV0tC
dW5kbGVDU1NTdHlsZURlY2xhcmF0aW9uUmVmIHN0eWxlLCBXS0J1bmRsZVJhbmdlSGFuZGxlUmVm
IHJhbmdlLCBjb25zdCB2b2lkKiBjbGllbnRJbmZvKTsKLXR5cGVkZWYgdm9pZCAoKldLQnVuZGxl
UGFnZUVkaXRpbmdOb3RpZmljYXRpb24pKFdLQnVuZGxlUGFnZVJlZiBwYWdlLCBXS1N0cmluZ1Jl
ZiBub3RpZmljYXRpb25OYW1lLCBjb25zdCB2b2lkKiBjbGllbnRJbmZvKTsKLXR5cGVkZWYgdm9p
ZCAoKldLQnVuZGxlUGFnZVdpbGxXcml0ZVRvUGFzdGVib2FyZCkoV0tCdW5kbGVQYWdlUmVmIHBh
Z2UsIFdLQnVuZGxlUmFuZ2VIYW5kbGVSZWYgcmFuZ2UsICBjb25zdCB2b2lkKiBjbGllbnRJbmZv
KTsKLXR5cGVkZWYgdm9pZCAoKldLQnVuZGxlUGFnZUdldFBhc3RlYm9hcmREYXRhRm9yUmFuZ2Up
KFdLQnVuZGxlUGFnZVJlZiBwYWdlLCBXS0J1bmRsZVJhbmdlSGFuZGxlUmVmIHJhbmdlLCBXS0Fy
cmF5UmVmKiBwYXN0ZWJvYXJkVHlwZXMsIFdLQXJyYXlSZWYqIHBhc3RlYm9hcmREYXRhLCBjb25z
dCB2b2lkKiBjbGllbnRJbmZvKTsKLXR5cGVkZWYgdm9pZCAoKldLQnVuZGxlUGFnZURpZFdyaXRl
VG9QYXN0ZWJvYXJkKShXS0J1bmRsZVBhZ2VSZWYgcGFnZSwgY29uc3Qgdm9pZCogY2xpZW50SW5m
byk7Ci0KLXN0cnVjdCBXS0J1bmRsZVBhZ2VFZGl0b3JDbGllbnQgewotICAgIGludCAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
dmVyc2lvbjsKLSAgICBjb25zdCB2b2lkICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGNsaWVudEluZm87Ci0gICAgV0tCdW5kbGVQYWdlU2hv
dWxkQmVnaW5FZGl0aW5nQ2FsbGJhY2sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzaG91
bGRCZWdpbkVkaXRpbmc7Ci0gICAgV0tCdW5kbGVQYWdlU2hvdWxkRW5kRWRpdGluZ0NhbGxiYWNr
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzaG91bGRFbmRFZGl0aW5nOwotICAgIFdL
QnVuZGxlUGFnZVNob3VsZEluc2VydE5vZGVDYWxsYmFjayAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgc2hvdWxkSW5zZXJ0Tm9kZTsKLSAgICBXS0J1bmRsZVBhZ2VTaG91bGRJbnNlcnRU
ZXh0Q2FsbGJhY2sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNob3VsZEluc2VydFRl
eHQ7Ci0gICAgV0tCdW5kbGVQYWdlU2hvdWxkRGVsZXRlUmFuZ2VDYWxsYmFjayAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBzaG91bGREZWxldGVSYW5nZTsKLSAgICBXS0J1bmRsZVBhZ2VT
aG91bGRDaGFuZ2VTZWxlY3RlZFJhbmdlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNo
b3VsZENoYW5nZVNlbGVjdGVkUmFuZ2U7Ci0gICAgV0tCdW5kbGVQYWdlU2hvdWxkQXBwbHlTdHls
ZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzaG91bGRBcHBseVN0eWxl
OwotICAgIFdLQnVuZGxlUGFnZUVkaXRpbmdOb3RpZmljYXRpb24gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgZGlkQmVnaW5FZGl0aW5nOwotICAgIFdLQnVuZGxlUGFnZUVkaXRp
bmdOb3RpZmljYXRpb24gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGlkRW5k
RWRpdGluZzsKLSAgICBXS0J1bmRsZVBhZ2VFZGl0aW5nTm90aWZpY2F0aW9uICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGRpZENoYW5nZTsKLSAgICBXS0J1bmRsZVBhZ2VFZGl0
aW5nTm90aWZpY2F0aW9uICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpZENo
YW5nZVNlbGVjdGlvbjsKLSAgICAvLyBWZXJzaW9uIDEuCi0gICAgV0tCdW5kbGVQYWdlV2lsbFdy
aXRlVG9QYXN0ZWJvYXJkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aWxsV3Jp
dGVUb1Bhc3RlYm9hcmQ7Ci0gICAgV0tCdW5kbGVQYWdlR2V0UGFzdGVib2FyZERhdGFGb3JSYW5n
ZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBnZXRQYXN0ZWJvYXJkRGF0YUZvclJhbmdl
OwotICAgIFdLQnVuZGxlUGFnZURpZFdyaXRlVG9QYXN0ZWJvYXJkICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgZGlkV3JpdGVUb1Bhc3RlYm9hcmQ7Ci19OwotdHlwZWRlZiBzdHJ1
Y3QgV0tCdW5kbGVQYWdlRWRpdG9yQ2xpZW50IFdLQnVuZGxlUGFnZUVkaXRvckNsaWVudDsKLQot
ZW51bSB7IGtXS0J1bmRsZVBhZ2VFZGl0b3JDbGllbnRDdXJyZW50VmVyc2lvbiA9IDEgfTsKLQot
Ly8gRm9ybSBjbGllbnQKLXR5cGVkZWYgdm9pZCAoKldLQnVuZGxlUGFnZVRleHRGaWVsZERpZEJl
Z2luRWRpdGluZ0NhbGxiYWNrKShXS0J1bmRsZVBhZ2VSZWYgcGFnZSwgV0tCdW5kbGVOb2RlSGFu
ZGxlUmVmIGh0bWxJbnB1dEVsZW1lbnRIYW5kbGUsIFdLQnVuZGxlRnJhbWVSZWYgZnJhbWUsIGNv
bnN0IHZvaWQqIGNsaWVudEluZm8pOwotdHlwZWRlZiB2b2lkICgqV0tCdW5kbGVQYWdlVGV4dEZp
ZWxkRGlkRW5kRWRpdGluZ0NhbGxiYWNrKShXS0J1bmRsZVBhZ2VSZWYgcGFnZSwgV0tCdW5kbGVO
b2RlSGFuZGxlUmVmIGh0bWxJbnB1dEVsZW1lbnRIYW5kbGUsIFdLQnVuZGxlRnJhbWVSZWYgZnJh
bWUsIGNvbnN0IHZvaWQqIGNsaWVudEluZm8pOwotdHlwZWRlZiB2b2lkICgqV0tCdW5kbGVQYWdl
VGV4dERpZENoYW5nZUluVGV4dEZpZWxkQ2FsbGJhY2spKFdLQnVuZGxlUGFnZVJlZiBwYWdlLCBX
S0J1bmRsZU5vZGVIYW5kbGVSZWYgaHRtbElucHV0RWxlbWVudEhhbmRsZSwgV0tCdW5kbGVGcmFt
ZVJlZiBmcmFtZSwgY29uc3Qgdm9pZCogY2xpZW50SW5mbyk7Ci10eXBlZGVmIHZvaWQgKCpXS0J1
bmRsZVBhZ2VUZXh0RGlkQ2hhbmdlSW5UZXh0QXJlYUNhbGxiYWNrKShXS0J1bmRsZVBhZ2VSZWYg
cGFnZSwgV0tCdW5kbGVOb2RlSGFuZGxlUmVmIGh0bWxUZXh0QXJlYUVsZW1lbnRIYW5kbGUsIFdL
QnVuZGxlRnJhbWVSZWYgZnJhbWUsIGNvbnN0IHZvaWQqIGNsaWVudEluZm8pOwotdHlwZWRlZiBi
b29sICgqV0tCdW5kbGVQYWdlU2hvdWxkUGVyZm9ybUFjdGlvbkluVGV4dEZpZWxkQ2FsbGJhY2sp
KFdLQnVuZGxlUGFnZVJlZiBwYWdlLCBXS0J1bmRsZU5vZGVIYW5kbGVSZWYgaHRtbElucHV0RWxl
bWVudEhhbmRsZSwgV0tJbnB1dEZpZWxkQWN0aW9uVHlwZSBhY3Rpb25UeXBlLCBXS0J1bmRsZUZy
YW1lUmVmIGZyYW1lLCBjb25zdCB2b2lkKiBjbGllbnRJbmZvKTsKLXR5cGVkZWYgdm9pZCAoKldL
QnVuZGxlUGFnZVdpbGxTdWJtaXRGb3JtQ2FsbGJhY2spKFdLQnVuZGxlUGFnZVJlZiBwYWdlLCBX
S0J1bmRsZU5vZGVIYW5kbGVSZWYgaHRtbEZvcm1FbGVtZW50SGFuZGxlLCBXS0J1bmRsZUZyYW1l
UmVmIGZyYW1lLCBXS0J1bmRsZUZyYW1lUmVmIHNvdXJjZUZyYW1lLCBXS0RpY3Rpb25hcnlSZWYg
dmFsdWVzLCBXS1R5cGVSZWYqIHVzZXJEYXRhLCBjb25zdCB2b2lkKiBjbGllbnRJbmZvKTsKLXR5
cGVkZWYgdm9pZCAoKldLQnVuZGxlUGFnZVdpbGxTZW5kU3VibWl0RXZlbnRDYWxsYmFjaykoV0tC
dW5kbGVQYWdlUmVmIHBhZ2UsIFdLQnVuZGxlTm9kZUhhbmRsZVJlZiBodG1sRm9ybUVsZW1lbnRI
YW5kbGUsIFdLQnVuZGxlRnJhbWVSZWYgZnJhbWUsIFdLQnVuZGxlRnJhbWVSZWYgc291cmNlRnJh
bWUsIFdLRGljdGlvbmFyeVJlZiB2YWx1ZXMsIGNvbnN0IHZvaWQqIGNsaWVudEluZm8pOwotdHlw
ZWRlZiB2b2lkICgqV0tCdW5kbGVQYWdlRGlkRm9jdXNUZXh0RmllbGRDYWxsYmFjaykoV0tCdW5k
bGVQYWdlUmVmIHBhZ2UsIFdLQnVuZGxlTm9kZUhhbmRsZVJlZiBodG1sSW5wdXRFbGVtZW50SGFu
ZGxlLCBXS0J1bmRsZUZyYW1lUmVmIGZyYW1lLCBjb25zdCB2b2lkKiBjbGllbnRJbmZvKTsKLXR5
cGVkZWYgYm9vbCAoKldLQnVuZGxlUGFnZVNob3VsZE5vdGlmeU9uRm9ybUNoYW5nZXNDYWxsYmFj
aykoV0tCdW5kbGVQYWdlUmVmIHBhZ2UsIGNvbnN0IHZvaWQqIGNsaWVudEluZm8pOwotdHlwZWRl
ZiB2b2lkICgqV0tCdW5kbGVQYWdlRGlkQXNzb2NpYXRlRm9ybUNvbnRyb2xzQ2FsbGJhY2spKFdL
QnVuZGxlUGFnZVJlZiBwYWdlLCBXS0FycmF5UmVmIGVsZW1lbnRIYW5kbGVzLCBjb25zdCB2b2lk
KiBjbGllbnRJbmZvKTsKLQotc3RydWN0IFdLQnVuZGxlUGFnZUZvcm1DbGllbnQgewotICAgIGlu
dCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgdmVyc2lvbjsKLSAgICBjb25zdCB2b2lkICogICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsaWVudEluZm87Ci0gICAgCi0gICAg
Ly8gVmVyc2lvbiAwLgotICAgIFdLQnVuZGxlUGFnZVRleHRGaWVsZERpZEJlZ2luRWRpdGluZ0Nh
bGxiYWNrICAgICAgICAgICAgICAgICAgICAgICAgdGV4dEZpZWxkRGlkQmVnaW5FZGl0aW5nOwot
ICAgIFdLQnVuZGxlUGFnZVRleHRGaWVsZERpZEVuZEVkaXRpbmdDYWxsYmFjayAgICAgICAgICAg
ICAgICAgICAgICAgICAgdGV4dEZpZWxkRGlkRW5kRWRpdGluZzsKLSAgICBXS0J1bmRsZVBhZ2VU
ZXh0RGlkQ2hhbmdlSW5UZXh0RmllbGRDYWxsYmFjayAgICAgICAgICAgICAgICAgICAgICAgIHRl
eHREaWRDaGFuZ2VJblRleHRGaWVsZDsKLSAgICBXS0J1bmRsZVBhZ2VUZXh0RGlkQ2hhbmdlSW5U
ZXh0QXJlYUNhbGxiYWNrICAgICAgICAgICAgICAgICAgICAgICAgIHRleHREaWRDaGFuZ2VJblRl
eHRBcmVhOwotICAgIFdLQnVuZGxlUGFnZVNob3VsZFBlcmZvcm1BY3Rpb25JblRleHRGaWVsZENh
bGxiYWNrICAgICAgICAgICAgICAgICAgc2hvdWxkUGVyZm9ybUFjdGlvbkluVGV4dEZpZWxkOwot
ICAgIFdLQnVuZGxlUGFnZVdpbGxTdWJtaXRGb3JtQ2FsbGJhY2sgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgd2lsbFN1Ym1pdEZvcm07Ci0gICAgCi0gICAgLy8gVmVyc2lvbiAxLgot
ICAgIFdLQnVuZGxlUGFnZVdpbGxTZW5kU3VibWl0RXZlbnRDYWxsYmFjayAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgd2lsbFNlbmRTdWJtaXRFdmVudDsKLQotICAgIC8vIHZlcnNpb24gMi4K
LSAgICBXS0J1bmRsZVBhZ2VEaWRGb2N1c1RleHRGaWVsZENhbGxiYWNrICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGRpZEZvY3VzVGV4dEZpZWxkOwotICAgIFdLQnVuZGxlUGFnZVNob3Vs
ZE5vdGlmeU9uRm9ybUNoYW5nZXNDYWxsYmFjayAgICAgICAgICAgICAgICAgICAgICAgc2hvdWxk
Tm90aWZ5T25Gb3JtQ2hhbmdlczsKLSAgICBXS0J1bmRsZVBhZ2VEaWRBc3NvY2lhdGVGb3JtQ29u
dHJvbHNDYWxsYmFjayAgICAgICAgICAgICAgICAgICAgICAgIGRpZEFzc29jaWF0ZUZvcm1Db250
cm9sczsKLX07Ci10eXBlZGVmIHN0cnVjdCBXS0J1bmRsZVBhZ2VGb3JtQ2xpZW50IFdLQnVuZGxl
UGFnZUZvcm1DbGllbnQ7Ci0KLWVudW0geyBrV0tCdW5kbGVQYWdlRm9ybUNsaWVudEN1cnJlbnRW
ZXJzaW9uID0gMiB9OwotCi0vLyBDb250ZXh0TWVudSBjbGllbnQKLXR5cGVkZWYgdm9pZCAoKldL
QnVuZGxlUGFnZUdldENvbnRleHRNZW51RnJvbURlZmF1bHRDb250ZXh0TWVudUNhbGxiYWNrKShX
S0J1bmRsZVBhZ2VSZWYgcGFnZSwgV0tCdW5kbGVIaXRUZXN0UmVzdWx0UmVmIGhpdFRlc3RSZXN1
bHQsIFdLQXJyYXlSZWYgZGVmYXVsdE1lbnUsIFdLQXJyYXlSZWYqIG5ld01lbnUsIFdLVHlwZVJl
ZiogdXNlckRhdGEsIGNvbnN0IHZvaWQqIGNsaWVudEluZm8pOwotCi1zdHJ1Y3QgV0tCdW5kbGVQ
YWdlQ29udGV4dE1lbnVDbGllbnQgewotICAgIGludCAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmVyc2lvbjsKLSAgICBjb25z
dCB2b2lkICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGNsaWVudEluZm87Ci0gICAgV0tCdW5kbGVQYWdlR2V0Q29udGV4dE1lbnVGcm9tRGVm
YXVsdENvbnRleHRNZW51Q2FsbGJhY2sgICAgICAgICAgICBnZXRDb250ZXh0TWVudUZyb21EZWZh
dWx0TWVudTsKLX07Ci10eXBlZGVmIHN0cnVjdCBXS0J1bmRsZVBhZ2VDb250ZXh0TWVudUNsaWVu
dCBXS0J1bmRsZVBhZ2VDb250ZXh0TWVudUNsaWVudDsKLQotZW51bSB7IGtXS0J1bmRsZVBhZ2VD
b250ZXh0TWVudUNsaWVudEN1cnJlbnRWZXJzaW9uID0gMCB9OwotCi0vLyBGdWxsIFNjcmVlbiBj
bGllbnQKLXR5cGVkZWYgYm9vbCAoKldLQnVuZGxlUGFnZVN1cHBvcnRzRnVsbFNjcmVlbikoV0tC
dW5kbGVQYWdlUmVmIHBhZ2UsIFdLRnVsbFNjcmVlbktleWJvYXJkUmVxdWVzdFR5cGUgcmVxdWVz
dFR5cGUpOwotdHlwZWRlZiB2b2lkICgqV0tCdW5kbGVQYWdlRW50ZXJGdWxsU2NyZWVuRm9yRWxl
bWVudCkoV0tCdW5kbGVQYWdlUmVmIHBhZ2UsIFdLQnVuZGxlTm9kZUhhbmRsZVJlZiBlbGVtZW50
KTsKLXR5cGVkZWYgdm9pZCAoKldLQnVuZGxlUGFnZUV4aXRGdWxsU2NyZWVuRm9yRWxlbWVudCko
V0tCdW5kbGVQYWdlUmVmIHBhZ2UsIFdLQnVuZGxlTm9kZUhhbmRsZVJlZiBlbGVtZW50KTsKLXR5
cGVkZWYgdm9pZCAoKldLQnVuZGxlUGFnZUJlZ2FuRW50ZXJGdWxsU2NyZWVuKShXS0J1bmRsZVBh
Z2VSZWYgcGFnZSwgV0tSZWN0IGluaXRpYWxGcmFtZSwgV0tSZWN0IGZpbmFsRnJhbWUpOwotdHlw
ZWRlZiB2b2lkICgqV0tCdW5kbGVQYWdlQmVnYW5FeGl0RnVsbFNjcmVlbikoV0tCdW5kbGVQYWdl
UmVmIHBhZ2UsIFdLUmVjdCBpbml0aWFsRnJhbWUsIFdLUmVjdCBmaW5hbEZyYW1lKTsKLXR5cGVk
ZWYgdm9pZCAoKldLQnVuZGxlUGFnZUNsb3NlRnVsbFNjcmVlbikoV0tCdW5kbGVQYWdlUmVmIHBh
Z2UpOwotCi1zdHJ1Y3QgV0tCdW5kbGVQYWdlRnVsbFNjcmVlbkNsaWVudCB7Ci0gICAgaW50ICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICB2ZXJzaW9uOwotICAgIGNvbnN0IHZvaWQgKiAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xpZW50SW5mbzsKLQotICAgIC8vIFZlcnNp
b24gMDoKLSAgICBXS0J1bmRsZVBhZ2VTdXBwb3J0c0Z1bGxTY3JlZW4gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIHN1cHBvcnRzRnVsbFNjcmVlbjsKLSAgICBXS0J1bmRsZVBh
Z2VFbnRlckZ1bGxTY3JlZW5Gb3JFbGVtZW50ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGVudGVyRnVsbFNjcmVlbkZvckVsZW1lbnQ7Ci0gICAgV0tCdW5kbGVQYWdlRXhpdEZ1bGxTY3Jl
ZW5Gb3JFbGVtZW50ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBleGl0RnVsbFNjcmVl
bkZvckVsZW1lbnQ7Ci0KLSAgICAvLyBWZXJzaW9uIDE6Ci0gICAgV0tCdW5kbGVQYWdlQmVnYW5F
bnRlckZ1bGxTY3JlZW4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBiZWdhbkVu
dGVyRnVsbFNjcmVlbjsKLSAgICBXS0J1bmRsZVBhZ2VCZWdhbkV4aXRGdWxsU2NyZWVuICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJlZ2FuRXhpdEZ1bGxTY3JlZW47Ci0gICAg
V0tCdW5kbGVQYWdlQ2xvc2VGdWxsU2NyZWVuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBjbG9zZUZ1bGxTY3JlZW47Ci19OwotdHlwZWRlZiBzdHJ1Y3QgV0tCdW5kbGVQ
YWdlRnVsbFNjcmVlbkNsaWVudCBXS0J1bmRsZVBhZ2VGdWxsU2NyZWVuQ2xpZW50OwotCi1lbnVt
IHsga1dLQnVuZGxlUGFnZUZ1bGxTY3JlZW5DbGllbnRDdXJyZW50VmVyc2lvbiA9IDEgfTsKLQot
Ly8gTWVzc2FnZVRyYWNlIGNsaWVudAotdHlwZWRlZiB2b2lkICgqV0tCdW5kbGVQYWdlRGlhZ25v
c3RpY0xvZ2dpbmdDYWxsYmFjaykoV0tCdW5kbGVQYWdlUmVmIHBhZ2UsIFdLU3RyaW5nUmVmIG1l
c3NhZ2UsIFdLU3RyaW5nUmVmIGRlc2NyaXB0aW9uLCBXS1N0cmluZ1JlZiBzdWNjZXNzLCBjb25z
dCB2b2lkKiBjbGllbnRJbmZvKTsKLQotc3RydWN0IFdLQnVuZGxlUGFnZURpYWdub3N0aWNMb2dn
aW5nQ2xpZW50IHsKLSAgICBpbnQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZlcnNpb247Ci0gICAgY29uc3Qgdm9pZCAqICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGll
bnRJbmZvOwotICAgIFdLQnVuZGxlUGFnZURpYWdub3N0aWNMb2dnaW5nQ2FsbGJhY2sgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgbG9nRGlhZ25vc3RpY01lc3NhZ2U7Ci19OwotdHlwZWRl
ZiBzdHJ1Y3QgV0tCdW5kbGVQYWdlRGlhZ25vc3RpY0xvZ2dpbmdDbGllbnQgV0tCdW5kbGVQYWdl
RGlhZ25vc3RpY0xvZ2dpbmdDbGllbnQ7Ci0KLWVudW0geyBrV0tCdW5kbGVQYWdlRGlhZ25vc3Rp
Y0xvZ2dpbmdDbGllbnRDdXJyZW50VmVyc2lvbiA9IDAgfTsKLQogV0tfRVhQT1JUIHZvaWQgV0tC
dW5kbGVQYWdlV2lsbEVudGVyRnVsbFNjcmVlbihXS0J1bmRsZVBhZ2VSZWYgcGFnZSk7CiBXS19F
WFBPUlQgdm9pZCBXS0J1bmRsZVBhZ2VEaWRFbnRlckZ1bGxTY3JlZW4oV0tCdW5kbGVQYWdlUmVm
IHBhZ2UpOwogV0tfRVhQT1JUIHZvaWQgV0tCdW5kbGVQYWdlV2lsbEV4aXRGdWxsU2NyZWVuKFdL
QnVuZGxlUGFnZVJlZiBwYWdlKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nl
c3MvSW5qZWN0ZWRCdW5kbGUvQVBJL2MvV0tCdW5kbGVQYWdlQ29udGV4dE1lbnVDbGllbnQuaCBi
L1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvQVBJL2MvV0tCdW5kbGVQ
YWdlQ29udGV4dE1lbnVDbGllbnQuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5hZjdlMWE1ZmQxNzA3NzY2ZGNiZGI2
NmQxMDEwODM2NGM3NjRlYWU2Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYktpdDIvV2Vi
UHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9BUEkvYy9XS0J1bmRsZVBhZ2VDb250ZXh0TWVudUNsaWVu
dC5oCkBAIC0wLDAgKzEsNDIgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTMgQXBwbGUgSW5j
LiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4g
c291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9u
LCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisg
KiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0
YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRp
dGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9u
cyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAg
ICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2Ns
YWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMg
cHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMg
UFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAq
IEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5P
VCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJ
VFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1F
RC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBC
RSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBF
WEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5P
VCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJW
SUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRF
UlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwg
V0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xV
RElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQg
T0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQ
T1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaWZuZGVmIFdLQnVuZGxlUGFnZUNv
bnRleHRNZW51Q2xpZW50X2gKKyNkZWZpbmUgV0tCdW5kbGVQYWdlQ29udGV4dE1lbnVDbGllbnRf
aAorCisjaW5jbHVkZSA8V2ViS2l0Mi9XS0Jhc2UuaD4KKwordHlwZWRlZiB2b2lkICgqV0tCdW5k
bGVQYWdlR2V0Q29udGV4dE1lbnVGcm9tRGVmYXVsdENvbnRleHRNZW51Q2FsbGJhY2spKFdLQnVu
ZGxlUGFnZVJlZiBwYWdlLCBXS0J1bmRsZUhpdFRlc3RSZXN1bHRSZWYgaGl0VGVzdFJlc3VsdCwg
V0tBcnJheVJlZiBkZWZhdWx0TWVudSwgV0tBcnJheVJlZiogbmV3TWVudSwgV0tUeXBlUmVmKiB1
c2VyRGF0YSwgY29uc3Qgdm9pZCogY2xpZW50SW5mbyk7CisKK3N0cnVjdCBXS0J1bmRsZVBhZ2VD
b250ZXh0TWVudUNsaWVudCB7CisgICAgaW50ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2ZXJzaW9uOworICAgIGNvbnN0IHZv
aWQgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgY2xpZW50SW5mbzsKKyAgICBXS0J1bmRsZVBhZ2VHZXRDb250ZXh0TWVudUZyb21EZWZhdWx0
Q29udGV4dE1lbnVDYWxsYmFjayAgICAgICAgICAgIGdldENvbnRleHRNZW51RnJvbURlZmF1bHRN
ZW51OworfTsKK3R5cGVkZWYgc3RydWN0IFdLQnVuZGxlUGFnZUNvbnRleHRNZW51Q2xpZW50IFdL
QnVuZGxlUGFnZUNvbnRleHRNZW51Q2xpZW50OworCitlbnVtIHsga1dLQnVuZGxlUGFnZUNvbnRl
eHRNZW51Q2xpZW50Q3VycmVudFZlcnNpb24gPSAwIH07CisKKyNlbmRpZiAvLyBXS0J1bmRsZVBh
Z2VDb250ZXh0TWVudUNsaWVudF9oCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9j
ZXNzL0luamVjdGVkQnVuZGxlL0FQSS9jL1dLQnVuZGxlUGFnZURpYWdub3N0aWNMb2dnaW5nQ2xp
ZW50LmggYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0FQSS9jL1dL
QnVuZGxlUGFnZURpYWdub3N0aWNMb2dnaW5nQ2xpZW50LmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNzlmZTliZjc1
YTcyOThmMThmNDliNzFmOTI0MzMyMjUzOWQwZWYwOQotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJj
ZS9XZWJLaXQyL1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvQVBJL2MvV0tCdW5kbGVQYWdlRGlh
Z25vc3RpY0xvZ2dpbmdDbGllbnQuaApAQCAtMCwwICsxLDQyIEBACisvKgorICogQ29weXJpZ2h0
IChDKSAyMDEzIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3Ry
aWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhv
dXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xs
b3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBz
b3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2Us
IHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisg
KiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFi
b3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQg
dGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQv
b3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisg
KiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklC
VVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVT
LCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJ
RVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBV
UlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRT
IENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5D
SURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VT
IChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNU
SVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBP
UiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRI
RU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklM
SVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklT
SU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBB
RFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2lm
bmRlZiBXS0J1bmRsZVBhZ2VEaWFnbm9zdGljTG9nZ2luZ0NsaWVudF9oCisjZGVmaW5lIFdLQnVu
ZGxlUGFnZURpYWdub3N0aWNMb2dnaW5nQ2xpZW50X2gKKworI2luY2x1ZGUgPFdlYktpdDIvV0tC
YXNlLmg+CisKK3R5cGVkZWYgdm9pZCAoKldLQnVuZGxlUGFnZURpYWdub3N0aWNMb2dnaW5nQ2Fs
bGJhY2spKFdLQnVuZGxlUGFnZVJlZiBwYWdlLCBXS1N0cmluZ1JlZiBtZXNzYWdlLCBXS1N0cmlu
Z1JlZiBkZXNjcmlwdGlvbiwgV0tTdHJpbmdSZWYgc3VjY2VzcywgY29uc3Qgdm9pZCogY2xpZW50
SW5mbyk7CisKK3N0cnVjdCBXS0J1bmRsZVBhZ2VEaWFnbm9zdGljTG9nZ2luZ0NsaWVudCB7Cisg
ICAgaW50ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICB2ZXJzaW9uOworICAgIGNvbnN0IHZvaWQgKiAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xpZW50SW5mbzsKKyAgICBX
S0J1bmRsZVBhZ2VEaWFnbm9zdGljTG9nZ2luZ0NhbGxiYWNrICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGxvZ0RpYWdub3N0aWNNZXNzYWdlOworfTsKK3R5cGVkZWYgc3RydWN0IFdLQnVu
ZGxlUGFnZURpYWdub3N0aWNMb2dnaW5nQ2xpZW50IFdLQnVuZGxlUGFnZURpYWdub3N0aWNMb2dn
aW5nQ2xpZW50OworCitlbnVtIHsga1dLQnVuZGxlUGFnZURpYWdub3N0aWNMb2dnaW5nQ2xpZW50
Q3VycmVudFZlcnNpb24gPSAwIH07CisKKyNlbmRpZiAvLyBXS0J1bmRsZVBhZ2VEaWFnbm9zdGlj
TG9nZ2luZ0NsaWVudF9oCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL0lu
amVjdGVkQnVuZGxlL0FQSS9jL1dLQnVuZGxlUGFnZUVkaXRvckNsaWVudC5oIGIvU291cmNlL1dl
YktpdDIvV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9BUEkvYy9XS0J1bmRsZVBhZ2VFZGl0b3JD
bGllbnQuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi5iNGQ0NjFlZDdkYjNkODY2YjcxZDk4MGNmNjdkMTFhYmY1ODc0
NGNhCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9JbmplY3Rl
ZEJ1bmRsZS9BUEkvYy9XS0J1bmRsZVBhZ2VFZGl0b3JDbGllbnQuaApAQCAtMCwwICsxLDk2IEBA
CisvKgorICogQ29weXJpZ2h0IChDKSAyMDEzIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZl
ZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZv
cm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92
aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJl
ZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJp
Z2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93
aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVz
dCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qg
b2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAg
ZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRp
c3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElO
Qy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1Ig
SU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRI
RSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBB
IFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxM
IEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElS
RUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09O
U0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VS
RU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBE
QVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENB
VVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRS
QUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBP
VEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBT
T0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBE
QU1BR0UuCisgKi8KKworI2lmbmRlZiBXS0J1bmRsZVBhZ2VFZGl0b3JDbGllbnRfaAorI2RlZmlu
ZSBXS0J1bmRsZVBhZ2VFZGl0b3JDbGllbnRfaAorCisjaW5jbHVkZSA8V2ViS2l0Mi9XS0Jhc2Uu
aD4KKworZW51bSB7CisgICAga1dLSW5zZXJ0QWN0aW9uVHlwZWQgPSAwLAorICAgIGtXS0luc2Vy
dEFjdGlvblBhc3RlZCA9IDEsCisgICAga1dLSW5zZXJ0QWN0aW9uRHJvcHBlZCA9IDIKK307Cit0
eXBlZGVmIHVpbnQzMl90IFdLSW5zZXJ0QWN0aW9uVHlwZTsKKworZW51bSB7CisgICAga1dLQWZm
aW5pdHlVcHN0cmVhbSwKKyAgICBrV0tBZmZpbml0eURvd25zdHJlYW0KK307Cit0eXBlZGVmIHVp
bnQzMl90IFdLQWZmaW5pdHlUeXBlOworCitlbnVtIHsKKyAgICBXS0lucHV0RmllbGRBY3Rpb25U
eXBlTW92ZVVwLAorICAgIFdLSW5wdXRGaWVsZEFjdGlvblR5cGVNb3ZlRG93biwKKyAgICBXS0lu
cHV0RmllbGRBY3Rpb25UeXBlQ2FuY2VsLAorICAgIFdLSW5wdXRGaWVsZEFjdGlvblR5cGVJbnNl
cnRUYWIsCisgICAgV0tJbnB1dEZpZWxkQWN0aW9uVHlwZUluc2VydEJhY2t0YWIsCisgICAgV0tJ
bnB1dEZpZWxkQWN0aW9uVHlwZUluc2VydE5ld2xpbmUsCisgICAgV0tJbnB1dEZpZWxkQWN0aW9u
VHlwZUluc2VydERlbGV0ZQorfTsKK3R5cGVkZWYgdWludDMyX3QgV0tJbnB1dEZpZWxkQWN0aW9u
VHlwZTsKKworZW51bSB7CisgICAgV0tGdWxsU2NyZWVuTm9LZXlib2FyZCwKKyAgICBXS0Z1bGxT
Y3JlZW5LZXlib2FyZCwKK307Cit0eXBlZGVmIHVpbnQzMl90IFdLRnVsbFNjcmVlbktleWJvYXJk
UmVxdWVzdFR5cGU7CisKK3R5cGVkZWYgYm9vbCAoKldLQnVuZGxlUGFnZVNob3VsZEJlZ2luRWRp
dGluZ0NhbGxiYWNrKShXS0J1bmRsZVBhZ2VSZWYgcGFnZSwgV0tCdW5kbGVSYW5nZUhhbmRsZVJl
ZiByYW5nZSwgY29uc3Qgdm9pZCogY2xpZW50SW5mbyk7Cit0eXBlZGVmIGJvb2wgKCpXS0J1bmRs
ZVBhZ2VTaG91bGRFbmRFZGl0aW5nQ2FsbGJhY2spKFdLQnVuZGxlUGFnZVJlZiBwYWdlLCBXS0J1
bmRsZVJhbmdlSGFuZGxlUmVmIHJhbmdlLCBjb25zdCB2b2lkKiBjbGllbnRJbmZvKTsKK3R5cGVk
ZWYgYm9vbCAoKldLQnVuZGxlUGFnZVNob3VsZEluc2VydE5vZGVDYWxsYmFjaykoV0tCdW5kbGVQ
YWdlUmVmIHBhZ2UsIFdLQnVuZGxlTm9kZUhhbmRsZVJlZiBub2RlLCBXS0J1bmRsZVJhbmdlSGFu
ZGxlUmVmIHJhbmdlVG9SZXBsYWNlLCBXS0luc2VydEFjdGlvblR5cGUgYWN0aW9uLCBjb25zdCB2
b2lkKiBjbGllbnRJbmZvKTsKK3R5cGVkZWYgYm9vbCAoKldLQnVuZGxlUGFnZVNob3VsZEluc2Vy
dFRleHRDYWxsYmFjaykoV0tCdW5kbGVQYWdlUmVmIHBhZ2UsIFdLU3RyaW5nUmVmIHN0cmluZywg
V0tCdW5kbGVSYW5nZUhhbmRsZVJlZiByYW5nZVRvUmVwbGFjZSwgV0tJbnNlcnRBY3Rpb25UeXBl
IGFjdGlvbiwgY29uc3Qgdm9pZCogY2xpZW50SW5mbyk7Cit0eXBlZGVmIGJvb2wgKCpXS0J1bmRs
ZVBhZ2VTaG91bGREZWxldGVSYW5nZUNhbGxiYWNrKShXS0J1bmRsZVBhZ2VSZWYgcGFnZSwgV0tC
dW5kbGVSYW5nZUhhbmRsZVJlZiByYW5nZSwgY29uc3Qgdm9pZCogY2xpZW50SW5mbyk7Cit0eXBl
ZGVmIGJvb2wgKCpXS0J1bmRsZVBhZ2VTaG91bGRDaGFuZ2VTZWxlY3RlZFJhbmdlKShXS0J1bmRs
ZVBhZ2VSZWYgcGFnZSwgV0tCdW5kbGVSYW5nZUhhbmRsZVJlZiBmcm9tUmFuZ2UsIFdLQnVuZGxl
UmFuZ2VIYW5kbGVSZWYgdG9SYW5nZSwgV0tBZmZpbml0eVR5cGUgYWZmaW5pdHksIGJvb2wgc3Rp
bGxTZWxlY3RpbmcsIGNvbnN0IHZvaWQqIGNsaWVudEluZm8pOwordHlwZWRlZiBib29sICgqV0tC
dW5kbGVQYWdlU2hvdWxkQXBwbHlTdHlsZSkoV0tCdW5kbGVQYWdlUmVmIHBhZ2UsIFdLQnVuZGxl
Q1NTU3R5bGVEZWNsYXJhdGlvblJlZiBzdHlsZSwgV0tCdW5kbGVSYW5nZUhhbmRsZVJlZiByYW5n
ZSwgY29uc3Qgdm9pZCogY2xpZW50SW5mbyk7Cit0eXBlZGVmIHZvaWQgKCpXS0J1bmRsZVBhZ2VF
ZGl0aW5nTm90aWZpY2F0aW9uKShXS0J1bmRsZVBhZ2VSZWYgcGFnZSwgV0tTdHJpbmdSZWYgbm90
aWZpY2F0aW9uTmFtZSwgY29uc3Qgdm9pZCogY2xpZW50SW5mbyk7Cit0eXBlZGVmIHZvaWQgKCpX
S0J1bmRsZVBhZ2VXaWxsV3JpdGVUb1Bhc3RlYm9hcmQpKFdLQnVuZGxlUGFnZVJlZiBwYWdlLCBX
S0J1bmRsZVJhbmdlSGFuZGxlUmVmIHJhbmdlLCAgY29uc3Qgdm9pZCogY2xpZW50SW5mbyk7Cit0
eXBlZGVmIHZvaWQgKCpXS0J1bmRsZVBhZ2VHZXRQYXN0ZWJvYXJkRGF0YUZvclJhbmdlKShXS0J1
bmRsZVBhZ2VSZWYgcGFnZSwgV0tCdW5kbGVSYW5nZUhhbmRsZVJlZiByYW5nZSwgV0tBcnJheVJl
ZiogcGFzdGVib2FyZFR5cGVzLCBXS0FycmF5UmVmKiBwYXN0ZWJvYXJkRGF0YSwgY29uc3Qgdm9p
ZCogY2xpZW50SW5mbyk7Cit0eXBlZGVmIHZvaWQgKCpXS0J1bmRsZVBhZ2VEaWRXcml0ZVRvUGFz
dGVib2FyZCkoV0tCdW5kbGVQYWdlUmVmIHBhZ2UsIGNvbnN0IHZvaWQqIGNsaWVudEluZm8pOwor
CitzdHJ1Y3QgV0tCdW5kbGVQYWdlRWRpdG9yQ2xpZW50IHsKKyAgICBpbnQgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZlcnNp
b247CisgICAgY29uc3Qgdm9pZCAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBjbGllbnRJbmZvOworICAgIFdLQnVuZGxlUGFnZVNob3VsZEJl
Z2luRWRpdGluZ0NhbGxiYWNrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVn
aW5FZGl0aW5nOworICAgIFdLQnVuZGxlUGFnZVNob3VsZEVuZEVkaXRpbmdDYWxsYmFjayAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgc2hvdWxkRW5kRWRpdGluZzsKKyAgICBXS0J1bmRs
ZVBhZ2VTaG91bGRJbnNlcnROb2RlQ2FsbGJhY2sgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIHNob3VsZEluc2VydE5vZGU7CisgICAgV0tCdW5kbGVQYWdlU2hvdWxkSW5zZXJ0VGV4dENh
bGxiYWNrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzaG91bGRJbnNlcnRUZXh0Owor
ICAgIFdLQnVuZGxlUGFnZVNob3VsZERlbGV0ZVJhbmdlQ2FsbGJhY2sgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgc2hvdWxkRGVsZXRlUmFuZ2U7CisgICAgV0tCdW5kbGVQYWdlU2hvdWxk
Q2hhbmdlU2VsZWN0ZWRSYW5nZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzaG91bGRD
aGFuZ2VTZWxlY3RlZFJhbmdlOworICAgIFdLQnVuZGxlUGFnZVNob3VsZEFwcGx5U3R5bGUgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2hvdWxkQXBwbHlTdHlsZTsKKyAg
ICBXS0J1bmRsZVBhZ2VFZGl0aW5nTm90aWZpY2F0aW9uICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGRpZEJlZ2luRWRpdGluZzsKKyAgICBXS0J1bmRsZVBhZ2VFZGl0aW5nTm90
aWZpY2F0aW9uICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpZEVuZEVkaXRp
bmc7CisgICAgV0tCdW5kbGVQYWdlRWRpdGluZ05vdGlmaWNhdGlvbiAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBkaWRDaGFuZ2U7CisgICAgV0tCdW5kbGVQYWdlRWRpdGluZ05v
dGlmaWNhdGlvbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkaWRDaGFuZ2VT
ZWxlY3Rpb247CisgICAgLy8gVmVyc2lvbiAxLgorICAgIFdLQnVuZGxlUGFnZVdpbGxXcml0ZVRv
UGFzdGVib2FyZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgd2lsbFdyaXRlVG9Q
YXN0ZWJvYXJkOworICAgIFdLQnVuZGxlUGFnZUdldFBhc3RlYm9hcmREYXRhRm9yUmFuZ2UgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgZ2V0UGFzdGVib2FyZERhdGFGb3JSYW5nZTsKKyAg
ICBXS0J1bmRsZVBhZ2VEaWRXcml0ZVRvUGFzdGVib2FyZCAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGRpZFdyaXRlVG9QYXN0ZWJvYXJkOworfTsKK3R5cGVkZWYgc3RydWN0IFdL
QnVuZGxlUGFnZUVkaXRvckNsaWVudCBXS0J1bmRsZVBhZ2VFZGl0b3JDbGllbnQ7CisKK2VudW0g
eyBrV0tCdW5kbGVQYWdlRWRpdG9yQ2xpZW50Q3VycmVudFZlcnNpb24gPSAxIH07CisKKyNlbmRp
ZiAvLyBXS0J1bmRsZVBhZ2VFZGl0b3JDbGllbnRfaApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dDIvV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9BUEkvYy9XS0J1bmRsZVBhZ2VGb3JtQ2xpZW50
LmggYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0FQSS9jL1dLQnVu
ZGxlUGFnZUZvcm1DbGllbnQuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xNGI5YTA3YmZmZDQ1MWMyZTI0N2QwMDI0
ZTZlNDU0Y2EyMDNmODYzCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJv
Y2Vzcy9JbmplY3RlZEJ1bmRsZS9BUEkvYy9XS0J1bmRsZVBhZ2VGb3JtQ2xpZW50LmgKQEAgLTAs
MCArMSw2NiBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMyBBcHBsZSBJbmMuIEFsbCByaWdo
dHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5k
IGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJt
aXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6
CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFi
b3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQg
dGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFy
eSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwg
dGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0
aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3
aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBC
WSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBF
WFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQg
VE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklU
TkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBF
VkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBG
T1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwg
T1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQg
VE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NT
IE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikg
SE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElO
CisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJ
R0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNF
IE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZ
IE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpZm5kZWYgV0tCdW5kbGVQYWdlRm9ybUNsaWVudF9o
CisjZGVmaW5lIFdLQnVuZGxlUGFnZUZvcm1DbGllbnRfaAorCisjaW5jbHVkZSA8V2ViS2l0Mi9X
S0Jhc2UuaD4KKwordHlwZWRlZiB2b2lkICgqV0tCdW5kbGVQYWdlVGV4dEZpZWxkRGlkQmVnaW5F
ZGl0aW5nQ2FsbGJhY2spKFdLQnVuZGxlUGFnZVJlZiBwYWdlLCBXS0J1bmRsZU5vZGVIYW5kbGVS
ZWYgaHRtbElucHV0RWxlbWVudEhhbmRsZSwgV0tCdW5kbGVGcmFtZVJlZiBmcmFtZSwgY29uc3Qg
dm9pZCogY2xpZW50SW5mbyk7Cit0eXBlZGVmIHZvaWQgKCpXS0J1bmRsZVBhZ2VUZXh0RmllbGRE
aWRFbmRFZGl0aW5nQ2FsbGJhY2spKFdLQnVuZGxlUGFnZVJlZiBwYWdlLCBXS0J1bmRsZU5vZGVI
YW5kbGVSZWYgaHRtbElucHV0RWxlbWVudEhhbmRsZSwgV0tCdW5kbGVGcmFtZVJlZiBmcmFtZSwg
Y29uc3Qgdm9pZCogY2xpZW50SW5mbyk7Cit0eXBlZGVmIHZvaWQgKCpXS0J1bmRsZVBhZ2VUZXh0
RGlkQ2hhbmdlSW5UZXh0RmllbGRDYWxsYmFjaykoV0tCdW5kbGVQYWdlUmVmIHBhZ2UsIFdLQnVu
ZGxlTm9kZUhhbmRsZVJlZiBodG1sSW5wdXRFbGVtZW50SGFuZGxlLCBXS0J1bmRsZUZyYW1lUmVm
IGZyYW1lLCBjb25zdCB2b2lkKiBjbGllbnRJbmZvKTsKK3R5cGVkZWYgdm9pZCAoKldLQnVuZGxl
UGFnZVRleHREaWRDaGFuZ2VJblRleHRBcmVhQ2FsbGJhY2spKFdLQnVuZGxlUGFnZVJlZiBwYWdl
LCBXS0J1bmRsZU5vZGVIYW5kbGVSZWYgaHRtbFRleHRBcmVhRWxlbWVudEhhbmRsZSwgV0tCdW5k
bGVGcmFtZVJlZiBmcmFtZSwgY29uc3Qgdm9pZCogY2xpZW50SW5mbyk7Cit0eXBlZGVmIGJvb2wg
KCpXS0J1bmRsZVBhZ2VTaG91bGRQZXJmb3JtQWN0aW9uSW5UZXh0RmllbGRDYWxsYmFjaykoV0tC
dW5kbGVQYWdlUmVmIHBhZ2UsIFdLQnVuZGxlTm9kZUhhbmRsZVJlZiBodG1sSW5wdXRFbGVtZW50
SGFuZGxlLCBXS0lucHV0RmllbGRBY3Rpb25UeXBlIGFjdGlvblR5cGUsIFdLQnVuZGxlRnJhbWVS
ZWYgZnJhbWUsIGNvbnN0IHZvaWQqIGNsaWVudEluZm8pOwordHlwZWRlZiB2b2lkICgqV0tCdW5k
bGVQYWdlV2lsbFN1Ym1pdEZvcm1DYWxsYmFjaykoV0tCdW5kbGVQYWdlUmVmIHBhZ2UsIFdLQnVu
ZGxlTm9kZUhhbmRsZVJlZiBodG1sRm9ybUVsZW1lbnRIYW5kbGUsIFdLQnVuZGxlRnJhbWVSZWYg
ZnJhbWUsIFdLQnVuZGxlRnJhbWVSZWYgc291cmNlRnJhbWUsIFdLRGljdGlvbmFyeVJlZiB2YWx1
ZXMsIFdLVHlwZVJlZiogdXNlckRhdGEsIGNvbnN0IHZvaWQqIGNsaWVudEluZm8pOwordHlwZWRl
ZiB2b2lkICgqV0tCdW5kbGVQYWdlV2lsbFNlbmRTdWJtaXRFdmVudENhbGxiYWNrKShXS0J1bmRs
ZVBhZ2VSZWYgcGFnZSwgV0tCdW5kbGVOb2RlSGFuZGxlUmVmIGh0bWxGb3JtRWxlbWVudEhhbmRs
ZSwgV0tCdW5kbGVGcmFtZVJlZiBmcmFtZSwgV0tCdW5kbGVGcmFtZVJlZiBzb3VyY2VGcmFtZSwg
V0tEaWN0aW9uYXJ5UmVmIHZhbHVlcywgY29uc3Qgdm9pZCogY2xpZW50SW5mbyk7Cit0eXBlZGVm
IHZvaWQgKCpXS0J1bmRsZVBhZ2VEaWRGb2N1c1RleHRGaWVsZENhbGxiYWNrKShXS0J1bmRsZVBh
Z2VSZWYgcGFnZSwgV0tCdW5kbGVOb2RlSGFuZGxlUmVmIGh0bWxJbnB1dEVsZW1lbnRIYW5kbGUs
IFdLQnVuZGxlRnJhbWVSZWYgZnJhbWUsIGNvbnN0IHZvaWQqIGNsaWVudEluZm8pOwordHlwZWRl
ZiBib29sICgqV0tCdW5kbGVQYWdlU2hvdWxkTm90aWZ5T25Gb3JtQ2hhbmdlc0NhbGxiYWNrKShX
S0J1bmRsZVBhZ2VSZWYgcGFnZSwgY29uc3Qgdm9pZCogY2xpZW50SW5mbyk7Cit0eXBlZGVmIHZv
aWQgKCpXS0J1bmRsZVBhZ2VEaWRBc3NvY2lhdGVGb3JtQ29udHJvbHNDYWxsYmFjaykoV0tCdW5k
bGVQYWdlUmVmIHBhZ2UsIFdLQXJyYXlSZWYgZWxlbWVudEhhbmRsZXMsIGNvbnN0IHZvaWQqIGNs
aWVudEluZm8pOworCitzdHJ1Y3QgV0tCdW5kbGVQYWdlRm9ybUNsaWVudCB7CisgICAgaW50ICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICB2ZXJzaW9uOworICAgIGNvbnN0IHZvaWQgKiAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xpZW50SW5mbzsKKyAgICAKKyAgICAvLyBW
ZXJzaW9uIDAuCisgICAgV0tCdW5kbGVQYWdlVGV4dEZpZWxkRGlkQmVnaW5FZGl0aW5nQ2FsbGJh
Y2sgICAgICAgICAgICAgICAgICAgICAgICB0ZXh0RmllbGREaWRCZWdpbkVkaXRpbmc7CisgICAg
V0tCdW5kbGVQYWdlVGV4dEZpZWxkRGlkRW5kRWRpdGluZ0NhbGxiYWNrICAgICAgICAgICAgICAg
ICAgICAgICAgICB0ZXh0RmllbGREaWRFbmRFZGl0aW5nOworICAgIFdLQnVuZGxlUGFnZVRleHRE
aWRDaGFuZ2VJblRleHRGaWVsZENhbGxiYWNrICAgICAgICAgICAgICAgICAgICAgICAgdGV4dERp
ZENoYW5nZUluVGV4dEZpZWxkOworICAgIFdLQnVuZGxlUGFnZVRleHREaWRDaGFuZ2VJblRleHRB
cmVhQ2FsbGJhY2sgICAgICAgICAgICAgICAgICAgICAgICAgdGV4dERpZENoYW5nZUluVGV4dEFy
ZWE7CisgICAgV0tCdW5kbGVQYWdlU2hvdWxkUGVyZm9ybUFjdGlvbkluVGV4dEZpZWxkQ2FsbGJh
Y2sgICAgICAgICAgICAgICAgICBzaG91bGRQZXJmb3JtQWN0aW9uSW5UZXh0RmllbGQ7CisgICAg
V0tCdW5kbGVQYWdlV2lsbFN1Ym1pdEZvcm1DYWxsYmFjayAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICB3aWxsU3VibWl0Rm9ybTsKKyAgICAKKyAgICAvLyBWZXJzaW9uIDEuCisgICAg
V0tCdW5kbGVQYWdlV2lsbFNlbmRTdWJtaXRFdmVudENhbGxiYWNrICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICB3aWxsU2VuZFN1Ym1pdEV2ZW50OworCisgICAgLy8gdmVyc2lvbiAyLgorICAg
IFdLQnVuZGxlUGFnZURpZEZvY3VzVGV4dEZpZWxkQ2FsbGJhY2sgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgZGlkRm9jdXNUZXh0RmllbGQ7CisgICAgV0tCdW5kbGVQYWdlU2hvdWxkTm90
aWZ5T25Gb3JtQ2hhbmdlc0NhbGxiYWNrICAgICAgICAgICAgICAgICAgICAgICBzaG91bGROb3Rp
ZnlPbkZvcm1DaGFuZ2VzOworICAgIFdLQnVuZGxlUGFnZURpZEFzc29jaWF0ZUZvcm1Db250cm9s
c0NhbGxiYWNrICAgICAgICAgICAgICAgICAgICAgICAgZGlkQXNzb2NpYXRlRm9ybUNvbnRyb2xz
OworfTsKK3R5cGVkZWYgc3RydWN0IFdLQnVuZGxlUGFnZUZvcm1DbGllbnQgV0tCdW5kbGVQYWdl
Rm9ybUNsaWVudDsKKworZW51bSB7IGtXS0J1bmRsZVBhZ2VGb3JtQ2xpZW50Q3VycmVudFZlcnNp
b24gPSAyIH07CisKKyNlbmRpZiAvLyBXS0J1bmRsZVBhZ2VGb3JtQ2xpZW50X2gKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvQVBJL2MvV0tCdW5k
bGVQYWdlRnVsbFNjcmVlbkNsaWVudC5oIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9Jbmpl
Y3RlZEJ1bmRsZS9BUEkvYy9XS0J1bmRsZVBhZ2VGdWxsU2NyZWVuQ2xpZW50LmgKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uOTAwZjAyYTBkMjliZDM5ZmZjMWI5NzZmNTYyMjMwOTAyM2Q3YmYzMwotLS0gL2Rldi9udWxs
CisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvQVBJL2MvV0tC
dW5kbGVQYWdlRnVsbFNjcmVlbkNsaWVudC5oCkBAIC0wLDAgKzEsNTcgQEAKKy8qCisgKiBDb3B5
cmlnaHQgKEMpIDIwMTMgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJl
ZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Ig
d2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhl
IGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25z
IG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5v
dGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1l
ci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0
aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25z
IGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9u
IGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgor
ICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENP
TlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJB
TlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FS
UkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgor
ICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBP
UiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNU
LCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERB
TUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICog
U1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJ
VFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBB
TlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBM
SUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAq
IEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVO
IElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLwor
CisjaWZuZGVmIFdLQnVuZGxlUGFnZUZ1bGxTY3JlZW5DbGllbnRfaAorI2RlZmluZSBXS0J1bmRs
ZVBhZ2VGdWxsU2NyZWVuQ2xpZW50X2gKKworI2luY2x1ZGUgPFdlYktpdDIvV0tCYXNlLmg+Cisj
aW5jbHVkZSA8V2ViS2l0Mi9XS0dlb21ldHJ5Lmg+CisKK3R5cGVkZWYgYm9vbCAoKldLQnVuZGxl
UGFnZVN1cHBvcnRzRnVsbFNjcmVlbikoV0tCdW5kbGVQYWdlUmVmIHBhZ2UsIFdLRnVsbFNjcmVl
bktleWJvYXJkUmVxdWVzdFR5cGUgcmVxdWVzdFR5cGUpOwordHlwZWRlZiB2b2lkICgqV0tCdW5k
bGVQYWdlRW50ZXJGdWxsU2NyZWVuRm9yRWxlbWVudCkoV0tCdW5kbGVQYWdlUmVmIHBhZ2UsIFdL
QnVuZGxlTm9kZUhhbmRsZVJlZiBlbGVtZW50KTsKK3R5cGVkZWYgdm9pZCAoKldLQnVuZGxlUGFn
ZUV4aXRGdWxsU2NyZWVuRm9yRWxlbWVudCkoV0tCdW5kbGVQYWdlUmVmIHBhZ2UsIFdLQnVuZGxl
Tm9kZUhhbmRsZVJlZiBlbGVtZW50KTsKK3R5cGVkZWYgdm9pZCAoKldLQnVuZGxlUGFnZUJlZ2Fu
RW50ZXJGdWxsU2NyZWVuKShXS0J1bmRsZVBhZ2VSZWYgcGFnZSwgV0tSZWN0IGluaXRpYWxGcmFt
ZSwgV0tSZWN0IGZpbmFsRnJhbWUpOwordHlwZWRlZiB2b2lkICgqV0tCdW5kbGVQYWdlQmVnYW5F
eGl0RnVsbFNjcmVlbikoV0tCdW5kbGVQYWdlUmVmIHBhZ2UsIFdLUmVjdCBpbml0aWFsRnJhbWUs
IFdLUmVjdCBmaW5hbEZyYW1lKTsKK3R5cGVkZWYgdm9pZCAoKldLQnVuZGxlUGFnZUNsb3NlRnVs
bFNjcmVlbikoV0tCdW5kbGVQYWdlUmVmIHBhZ2UpOworCitzdHJ1Y3QgV0tCdW5kbGVQYWdlRnVs
bFNjcmVlbkNsaWVudCB7CisgICAgaW50ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2ZXJzaW9uOworICAgIGNvbnN0IHZvaWQg
KiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
Y2xpZW50SW5mbzsKKworICAgIC8vIFZlcnNpb24gMDoKKyAgICBXS0J1bmRsZVBhZ2VTdXBwb3J0
c0Z1bGxTY3JlZW4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN1cHBvcnRz
RnVsbFNjcmVlbjsKKyAgICBXS0J1bmRsZVBhZ2VFbnRlckZ1bGxTY3JlZW5Gb3JFbGVtZW50ICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVudGVyRnVsbFNjcmVlbkZvckVsZW1lbnQ7Cisg
ICAgV0tCdW5kbGVQYWdlRXhpdEZ1bGxTY3JlZW5Gb3JFbGVtZW50ICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBleGl0RnVsbFNjcmVlbkZvckVsZW1lbnQ7CisKKyAgICAvLyBWZXJzaW9u
IDE6CisgICAgV0tCdW5kbGVQYWdlQmVnYW5FbnRlckZ1bGxTY3JlZW4gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBiZWdhbkVudGVyRnVsbFNjcmVlbjsKKyAgICBXS0J1bmRsZVBh
Z2VCZWdhbkV4aXRGdWxsU2NyZWVuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGJlZ2FuRXhpdEZ1bGxTY3JlZW47CisgICAgV0tCdW5kbGVQYWdlQ2xvc2VGdWxsU2NyZWVuICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbG9zZUZ1bGxTY3JlZW47Cit9
OwordHlwZWRlZiBzdHJ1Y3QgV0tCdW5kbGVQYWdlRnVsbFNjcmVlbkNsaWVudCBXS0J1bmRsZVBh
Z2VGdWxsU2NyZWVuQ2xpZW50OworCitlbnVtIHsga1dLQnVuZGxlUGFnZUZ1bGxTY3JlZW5DbGll
bnRDdXJyZW50VmVyc2lvbiA9IDEgfTsKKworI2VuZGlmIC8vIFdLQnVuZGxlUGFnZUZ1bGxTY3Jl
ZW5DbGllbnRfaApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9JbmplY3Rl
ZEJ1bmRsZS9BUEkvYy9XS0J1bmRsZVBhZ2VMb2FkZXJDbGllbnQuaCBiL1NvdXJjZS9XZWJLaXQy
L1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvQVBJL2MvV0tCdW5kbGVQYWdlTG9hZGVyQ2xpZW50
LmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uNzQ5MWUwMmFmYzUyZDgyODM3ZDkyNmY2YjYyNGMwZWIxYWE3ODlmOQot
LS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5k
bGUvQVBJL2MvV0tCdW5kbGVQYWdlTG9hZGVyQ2xpZW50LmgKQEAgLTAsMCArMSwxMjUgQEAKKy8q
CisgKiBDb3B5cmlnaHQgKEMpIDIwMTMgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgor
ICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMs
IHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVk
IHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0
cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQK
KyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcg
ZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJl
cHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBj
b25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1
bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJp
YnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBB
TkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBM
SUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElN
UExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFS
VElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQ
TEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1Qs
IElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFV
RU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVO
VCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEs
IE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VE
IEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1Qs
IFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVS
V0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRX
QVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFH
RS4KKyAqLworCisjaWZuZGVmIFdLQnVuZGxlUGFnZUxvYWRlckNsaWVudF9oCisjZGVmaW5lIFdL
QnVuZGxlUGFnZUxvYWRlckNsaWVudF9oCisKKyNpbmNsdWRlIDxXZWJLaXQyL1dLQmFzZS5oPgor
I2luY2x1ZGUgPFdlYktpdDIvV0tQYWdlTG9hZFR5cGVzLmg+CisKK3R5cGVkZWYgdm9pZCAoKldL
QnVuZGxlUGFnZURpZFN0YXJ0UHJvdmlzaW9uYWxMb2FkRm9yRnJhbWVDYWxsYmFjaykoV0tCdW5k
bGVQYWdlUmVmIHBhZ2UsIFdLQnVuZGxlRnJhbWVSZWYgZnJhbWUsIFdLVHlwZVJlZiogdXNlckRh
dGEsIGNvbnN0IHZvaWQgKmNsaWVudEluZm8pOwordHlwZWRlZiB2b2lkICgqV0tCdW5kbGVQYWdl
RGlkUmVjZWl2ZVNlcnZlclJlZGlyZWN0Rm9yUHJvdmlzaW9uYWxMb2FkRm9yRnJhbWVDYWxsYmFj
aykoV0tCdW5kbGVQYWdlUmVmIHBhZ2UsIFdLQnVuZGxlRnJhbWVSZWYgZnJhbWUsIFdLVHlwZVJl
ZiogdXNlckRhdGEsIGNvbnN0IHZvaWQgKmNsaWVudEluZm8pOwordHlwZWRlZiB2b2lkICgqV0tC
dW5kbGVQYWdlRGlkRmFpbFByb3Zpc2lvbmFsTG9hZFdpdGhFcnJvckZvckZyYW1lQ2FsbGJhY2sp
KFdLQnVuZGxlUGFnZVJlZiBwYWdlLCBXS0J1bmRsZUZyYW1lUmVmIGZyYW1lLCBXS0Vycm9yUmVm
IGVycm9yLCBXS1R5cGVSZWYqIHVzZXJEYXRhLCBjb25zdCB2b2lkICpjbGllbnRJbmZvKTsKK3R5
cGVkZWYgdm9pZCAoKldLQnVuZGxlUGFnZURpZENvbW1pdExvYWRGb3JGcmFtZUNhbGxiYWNrKShX
S0J1bmRsZVBhZ2VSZWYgcGFnZSwgV0tCdW5kbGVGcmFtZVJlZiBmcmFtZSwgV0tUeXBlUmVmKiB1
c2VyRGF0YSwgY29uc3Qgdm9pZCAqY2xpZW50SW5mbyk7Cit0eXBlZGVmIHZvaWQgKCpXS0J1bmRs
ZVBhZ2VEaWREb2N1bWVudEZpbmlzaExvYWRGb3JGcmFtZUNhbGxiYWNrKShXS0J1bmRsZVBhZ2VS
ZWYgcGFnZSwgV0tCdW5kbGVGcmFtZVJlZiBmcmFtZSwgV0tUeXBlUmVmKiB1c2VyRGF0YSwgY29u
c3Qgdm9pZCAqY2xpZW50SW5mbyk7Cit0eXBlZGVmIHZvaWQgKCpXS0J1bmRsZVBhZ2VEaWRGaW5p
c2hMb2FkRm9yRnJhbWVDYWxsYmFjaykoV0tCdW5kbGVQYWdlUmVmIHBhZ2UsIFdLQnVuZGxlRnJh
bWVSZWYgZnJhbWUsIFdLVHlwZVJlZiogdXNlckRhdGEsIGNvbnN0IHZvaWQgKmNsaWVudEluZm8p
OwordHlwZWRlZiB2b2lkICgqV0tCdW5kbGVQYWdlRGlkRmluaXNoRG9jdW1lbnRMb2FkRm9yRnJh
bWVDYWxsYmFjaykoV0tCdW5kbGVQYWdlUmVmIHBhZ2UsIFdLQnVuZGxlRnJhbWVSZWYgZnJhbWUs
IFdLVHlwZVJlZiogdXNlckRhdGEsIGNvbnN0IHZvaWQgKmNsaWVudEluZm8pOwordHlwZWRlZiB2
b2lkICgqV0tCdW5kbGVQYWdlRGlkRmluaXNoUHJvZ3Jlc3NDYWxsYmFjaykoV0tCdW5kbGVQYWdl
UmVmIHBhZ2UsIGNvbnN0IHZvaWQgKmNsaWVudEluZm8pOwordHlwZWRlZiB2b2lkICgqV0tCdW5k
bGVQYWdlRGlkRmFpbExvYWRXaXRoRXJyb3JGb3JGcmFtZUNhbGxiYWNrKShXS0J1bmRsZVBhZ2VS
ZWYgcGFnZSwgV0tCdW5kbGVGcmFtZVJlZiBmcmFtZSwgV0tFcnJvclJlZiBlcnJvciwgV0tUeXBl
UmVmKiB1c2VyRGF0YSwgY29uc3Qgdm9pZCAqY2xpZW50SW5mbyk7Cit0eXBlZGVmIHZvaWQgKCpX
S0J1bmRsZVBhZ2VEaWRTYW1lRG9jdW1lbnROYXZpZ2F0aW9uRm9yRnJhbWVDYWxsYmFjaykoV0tC
dW5kbGVQYWdlUmVmIHBhZ2UsIFdLQnVuZGxlRnJhbWVSZWYgZnJhbWUsIFdLU2FtZURvY3VtZW50
TmF2aWdhdGlvblR5cGUgdHlwZSwgV0tUeXBlUmVmKiB1c2VyRGF0YSwgY29uc3Qgdm9pZCAqY2xp
ZW50SW5mbyk7Cit0eXBlZGVmIHZvaWQgKCpXS0J1bmRsZVBhZ2VEaWRSZWNlaXZlVGl0bGVGb3JG
cmFtZUNhbGxiYWNrKShXS0J1bmRsZVBhZ2VSZWYgcGFnZSwgV0tTdHJpbmdSZWYgdGl0bGUsIFdL
QnVuZGxlRnJhbWVSZWYgZnJhbWUsIFdLVHlwZVJlZiogdXNlckRhdGEsIGNvbnN0IHZvaWQgKmNs
aWVudEluZm8pOwordHlwZWRlZiB2b2lkICgqV0tCdW5kbGVQYWdlRGlkUmVtb3ZlRnJhbWVGcm9t
SGllcmFyY2h5Q2FsbGJhY2spKFdLQnVuZGxlUGFnZVJlZiBwYWdlLCBXS0J1bmRsZUZyYW1lUmVm
IGZyYW1lLCBXS1R5cGVSZWYqIHVzZXJEYXRhLCBjb25zdCB2b2lkICpjbGllbnRJbmZvKTsKK3R5
cGVkZWYgdm9pZCAoKldLQnVuZGxlUGFnZURpZERpc3BsYXlJbnNlY3VyZUNvbnRlbnRGb3JGcmFt
ZUNhbGxiYWNrKShXS0J1bmRsZVBhZ2VSZWYgcGFnZSwgV0tCdW5kbGVGcmFtZVJlZiBmcmFtZSwg
V0tUeXBlUmVmKiB1c2VyRGF0YSwgY29uc3Qgdm9pZCAqY2xpZW50SW5mbyk7Cit0eXBlZGVmIHZv
aWQgKCpXS0J1bmRsZVBhZ2VEaWRSdW5JbnNlY3VyZUNvbnRlbnRGb3JGcmFtZUNhbGxiYWNrKShX
S0J1bmRsZVBhZ2VSZWYgcGFnZSwgV0tCdW5kbGVGcmFtZVJlZiBmcmFtZSwgV0tUeXBlUmVmKiB1
c2VyRGF0YSwgY29uc3Qgdm9pZCAqY2xpZW50SW5mbyk7Cit0eXBlZGVmIHZvaWQgKCpXS0J1bmRs
ZVBhZ2VEaWREZXRlY3RYU1NGb3JGcmFtZUNhbGxiYWNrKShXS0J1bmRsZVBhZ2VSZWYgcGFnZSwg
V0tCdW5kbGVGcmFtZVJlZiBmcmFtZSwgV0tUeXBlUmVmKiB1c2VyRGF0YSwgY29uc3Qgdm9pZCAq
Y2xpZW50SW5mbyk7Cit0eXBlZGVmIHZvaWQgKCpXS0J1bmRsZVBhZ2VEaWRGaXJzdExheW91dEZv
ckZyYW1lQ2FsbGJhY2spKFdLQnVuZGxlUGFnZVJlZiBwYWdlLCBXS0J1bmRsZUZyYW1lUmVmIGZy
YW1lLCBXS1R5cGVSZWYqIHVzZXJEYXRhLCBjb25zdCB2b2lkICpjbGllbnRJbmZvKTsKK3R5cGVk
ZWYgdm9pZCAoKldLQnVuZGxlUGFnZURpZEZpcnN0VmlzdWFsbHlOb25FbXB0eUxheW91dEZvckZy
YW1lQ2FsbGJhY2spKFdLQnVuZGxlUGFnZVJlZiBwYWdlLCBXS0J1bmRsZUZyYW1lUmVmIGZyYW1l
LCBXS1R5cGVSZWYqIHVzZXJEYXRhLCBjb25zdCB2b2lkICpjbGllbnRJbmZvKTsKK3R5cGVkZWYg
dm9pZCAoKldLQnVuZGxlUGFnZURpZExheW91dEZvckZyYW1lQ2FsbGJhY2spKFdLQnVuZGxlUGFn
ZVJlZiBwYWdlLCBXS0J1bmRsZUZyYW1lUmVmIGZyYW1lLCBjb25zdCB2b2lkKiBjbGllbnRJbmZv
KTsKK3R5cGVkZWYgdm9pZCAoKldLQnVuZGxlUGFnZURpZENsZWFyV2luZG93T2JqZWN0Rm9yRnJh
bWVDYWxsYmFjaykoV0tCdW5kbGVQYWdlUmVmIHBhZ2UsIFdLQnVuZGxlRnJhbWVSZWYgZnJhbWUs
IFdLQnVuZGxlU2NyaXB0V29ybGRSZWYgd29ybGQsIGNvbnN0IHZvaWQgKmNsaWVudEluZm8pOwor
dHlwZWRlZiB2b2lkICgqV0tCdW5kbGVQYWdlRGlkQ2FuY2VsQ2xpZW50UmVkaXJlY3RGb3JGcmFt
ZUNhbGxiYWNrKShXS0J1bmRsZVBhZ2VSZWYgcGFnZSwgV0tCdW5kbGVGcmFtZVJlZiBmcmFtZSwg
Y29uc3Qgdm9pZCAqY2xpZW50SW5mbyk7Cit0eXBlZGVmIHZvaWQgKCpXS0J1bmRsZVBhZ2VXaWxs
UGVyZm9ybUNsaWVudFJlZGlyZWN0Rm9yRnJhbWVDYWxsYmFjaykoV0tCdW5kbGVQYWdlUmVmIHBh
Z2UsIFdLQnVuZGxlRnJhbWVSZWYgZnJhbWUsIFdLVVJMUmVmIHVybCwgZG91YmxlIGRlbGF5LCBk
b3VibGUgZGF0ZSwgY29uc3Qgdm9pZCAqY2xpZW50SW5mbyk7Cit0eXBlZGVmIHZvaWQgKCpXS0J1
bmRsZVBhZ2VEaWRIYW5kbGVPbmxvYWRFdmVudHNGb3JGcmFtZUNhbGxiYWNrKShXS0J1bmRsZVBh
Z2VSZWYgcGFnZSwgV0tCdW5kbGVGcmFtZVJlZiBmcmFtZSwgY29uc3Qgdm9pZCAqY2xpZW50SW5m
byk7Cit0eXBlZGVmIGJvb2wgKCpXS0J1bmRsZVBhZ2VTaG91bGRHb1RvQmFja0ZvcndhcmRMaXN0
SXRlbUNhbGxiYWNrKShXS0J1bmRsZVBhZ2VSZWYgcGFnZSwgV0tCdW5kbGVCYWNrRm9yd2FyZExp
c3RJdGVtUmVmIGl0ZW0sIFdLVHlwZVJlZiogdXNlckRhdGEsIGNvbnN0IHZvaWQgKmNsaWVudElu
Zm8pOwordHlwZWRlZiB2b2lkICgqV0tCdW5kbGVQYWdlR2xvYmFsT2JqZWN0SXNBdmFpbGFibGVG
b3JGcmFtZUNhbGxiYWNrKShXS0J1bmRsZVBhZ2VSZWYgcGFnZSwgV0tCdW5kbGVGcmFtZVJlZiwg
V0tCdW5kbGVTY3JpcHRXb3JsZFJlZiwgY29uc3Qgdm9pZCogY2xpZW50SW5mbyk7Cit0eXBlZGVm
IHZvaWQgKCpXS0J1bmRsZVBhZ2VXaWxsRGlzY29ubmVjdERPTVdpbmRvd0V4dGVuc2lvbkZyb21H
bG9iYWxPYmplY3RDYWxsYmFjaykoV0tCdW5kbGVQYWdlUmVmIHBhZ2UsIFdLQnVuZGxlRE9NV2lu
ZG93RXh0ZW5zaW9uUmVmLCBjb25zdCB2b2lkKiBjbGllbnRJbmZvKTsKK3R5cGVkZWYgdm9pZCAo
KldLQnVuZGxlUGFnZURpZFJlY29ubmVjdERPTVdpbmRvd0V4dGVuc2lvblRvR2xvYmFsT2JqZWN0
Q2FsbGJhY2spKFdLQnVuZGxlUGFnZVJlZiBwYWdlLCBXS0J1bmRsZURPTVdpbmRvd0V4dGVuc2lv
blJlZiwgY29uc3Qgdm9pZCogY2xpZW50SW5mbyk7Cit0eXBlZGVmIHZvaWQgKCpXS0J1bmRsZVBh
Z2VXaWxsRGVzdHJveUdsb2JhbE9iamVjdEZvckRPTVdpbmRvd0V4dGVuc2lvbkNhbGxiYWNrKShX
S0J1bmRsZVBhZ2VSZWYgcGFnZSwgV0tCdW5kbGVET01XaW5kb3dFeHRlbnNpb25SZWYsIGNvbnN0
IHZvaWQqIGNsaWVudEluZm8pOwordHlwZWRlZiBib29sICgqV0tCdW5kbGVQYWdlU2hvdWxkRm9y
Y2VVbml2ZXJzYWxBY2Nlc3NGcm9tTG9jYWxVUkxDYWxsYmFjaykoV0tCdW5kbGVQYWdlUmVmLCBX
S1N0cmluZ1JlZiB1cmwsIGNvbnN0IHZvaWQqIGNsaWVudEluZm8pOwordHlwZWRlZiB2b2lkICgq
V0tCdW5kbGVQYWdlRGlkTGF5b3V0Q2FsbGJhY2spKFdLQnVuZGxlUGFnZVJlZiBwYWdlLCBXS0xh
eW91dE1pbGVzdG9uZXMgbWlsZXN0b25lcywgV0tUeXBlUmVmKiB1c2VyRGF0YSwgY29uc3Qgdm9p
ZCAqY2xpZW50SW5mbyk7Cit0eXBlZGVmIHZvaWQgKCpXS0J1bmRsZVBhZ2VGZWF0dXJlc1VzZWRJ
blBhZ2VDYWxsYmFjaykoV0tCdW5kbGVQYWdlUmVmIHBhZ2UsIFdLQXJyYXlSZWYgZmVhdHVyZVN0
cmluZ3MsIGNvbnN0IHZvaWQgKmNsaWVudEluZm8pOwordHlwZWRlZiB2b2lkICgqV0tCdW5kbGVQ
YWdlV2lsbExvYWRVUkxSZXF1ZXN0Q2FsbGJhY2spKFdLQnVuZGxlUGFnZVJlZiBwYWdlLCBXS1VS
TFJlcXVlc3RSZWYgcmVxdWVzdCwgV0tUeXBlUmVmIHVzZXJEYXRhLCBjb25zdCB2b2lkICpjbGll
bnRJbmZvKTsKK3R5cGVkZWYgdm9pZCAoKldLQnVuZGxlUGFnZVdpbGxMb2FkRGF0YVJlcXVlc3RD
YWxsYmFjaykoV0tCdW5kbGVQYWdlUmVmIHBhZ2UsIFdLVVJMUmVxdWVzdFJlZiByZXF1ZXN0LCBX
S0RhdGFSZWYgZGF0YSwgV0tTdHJpbmdSZWYgTUlNRVR5cGUsIFdLU3RyaW5nUmVmIGVuY29kaW5n
TmFtZSwgV0tVUkxSZWYgdW5yZWFjaGFibGVVUkwsIFdLVHlwZVJlZiB1c2VyRGF0YSwgY29uc3Qg
dm9pZCAqY2xpZW50SW5mbyk7Cit0eXBlZGVmIHZvaWQgKCpXS0J1bmRsZVBhZ2VXaWxsRGVzdHJv
eUZyYW1lKShXS0J1bmRsZVBhZ2VSZWYgcGFnZSwgV0tCdW5kbGVGcmFtZVJlZiBmcmFtZSwgY29u
c3Qgdm9pZCAqY2xpZW50SW5mbyk7CisKK3N0cnVjdCBXS0J1bmRsZVBhZ2VMb2FkZXJDbGllbnQg
eworICAgIGludCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIHZlcnNpb247CisgICAgY29uc3Qgdm9pZCAqICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xpZW50
SW5mbzsKKworICAgIC8vIFZlcnNpb24gMC4KKyAgICBXS0J1bmRsZVBhZ2VEaWRTdGFydFByb3Zp
c2lvbmFsTG9hZEZvckZyYW1lQ2FsbGJhY2sgICAgICAgICAgICAgICAgICAgICBkaWRTdGFydFBy
b3Zpc2lvbmFsTG9hZEZvckZyYW1lOworICAgIFdLQnVuZGxlUGFnZURpZFJlY2VpdmVTZXJ2ZXJS
ZWRpcmVjdEZvclByb3Zpc2lvbmFsTG9hZEZvckZyYW1lQ2FsbGJhY2sgIGRpZFJlY2VpdmVTZXJ2
ZXJSZWRpcmVjdEZvclByb3Zpc2lvbmFsTG9hZEZvckZyYW1lOworICAgIFdLQnVuZGxlUGFnZURp
ZEZhaWxQcm92aXNpb25hbExvYWRXaXRoRXJyb3JGb3JGcmFtZUNhbGxiYWNrICAgICAgICAgICAg
IGRpZEZhaWxQcm92aXNpb25hbExvYWRXaXRoRXJyb3JGb3JGcmFtZTsKKyAgICBXS0J1bmRsZVBh
Z2VEaWRDb21taXRMb2FkRm9yRnJhbWVDYWxsYmFjayAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBkaWRDb21taXRMb2FkRm9yRnJhbWU7CisgICAgV0tCdW5kbGVQYWdlRGlkRmluaXNoRG9j
dW1lbnRMb2FkRm9yRnJhbWVDYWxsYmFjayAgICAgICAgICAgICAgICAgICAgICAgZGlkRmluaXNo
RG9jdW1lbnRMb2FkRm9yRnJhbWU7CisgICAgV0tCdW5kbGVQYWdlRGlkRmluaXNoTG9hZEZvckZy
YW1lQ2FsbGJhY2sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGlkRmluaXNoTG9hZEZv
ckZyYW1lOworICAgIFdLQnVuZGxlUGFnZURpZEZhaWxMb2FkV2l0aEVycm9yRm9yRnJhbWVDYWxs
YmFjayAgICAgICAgICAgICAgICAgICAgICAgIGRpZEZhaWxMb2FkV2l0aEVycm9yRm9yRnJhbWU7
CisgICAgV0tCdW5kbGVQYWdlRGlkU2FtZURvY3VtZW50TmF2aWdhdGlvbkZvckZyYW1lQ2FsbGJh
Y2sgICAgICAgICAgICAgICAgICAgZGlkU2FtZURvY3VtZW50TmF2aWdhdGlvbkZvckZyYW1lOwor
ICAgIFdLQnVuZGxlUGFnZURpZFJlY2VpdmVUaXRsZUZvckZyYW1lQ2FsbGJhY2sgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGRpZFJlY2VpdmVUaXRsZUZvckZyYW1lOworICAgIFdLQnVuZGxl
UGFnZURpZEZpcnN0TGF5b3V0Rm9yRnJhbWVDYWxsYmFjayAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGRpZEZpcnN0TGF5b3V0Rm9yRnJhbWU7CisgICAgV0tCdW5kbGVQYWdlRGlkRmlyc3RW
aXN1YWxseU5vbkVtcHR5TGF5b3V0Rm9yRnJhbWVDYWxsYmFjayAgICAgICAgICAgICAgZGlkRmly
c3RWaXN1YWxseU5vbkVtcHR5TGF5b3V0Rm9yRnJhbWU7CisgICAgV0tCdW5kbGVQYWdlRGlkUmVt
b3ZlRnJhbWVGcm9tSGllcmFyY2h5Q2FsbGJhY2sgICAgICAgICAgICAgICAgICAgICAgICAgZGlk
UmVtb3ZlRnJhbWVGcm9tSGllcmFyY2h5OworICAgIFdLQnVuZGxlUGFnZURpZERpc3BsYXlJbnNl
Y3VyZUNvbnRlbnRGb3JGcmFtZUNhbGxiYWNrICAgICAgICAgICAgICAgICAgIGRpZERpc3BsYXlJ
bnNlY3VyZUNvbnRlbnRGb3JGcmFtZTsKKyAgICBXS0J1bmRsZVBhZ2VEaWRSdW5JbnNlY3VyZUNv
bnRlbnRGb3JGcmFtZUNhbGxiYWNrICAgICAgICAgICAgICAgICAgICAgICBkaWRSdW5JbnNlY3Vy
ZUNvbnRlbnRGb3JGcmFtZTsKKyAgICBXS0J1bmRsZVBhZ2VEaWRDbGVhcldpbmRvd09iamVjdEZv
ckZyYW1lQ2FsbGJhY2sgICAgICAgICAgICAgICAgICAgICAgICBkaWRDbGVhcldpbmRvd09iamVj
dEZvckZyYW1lOworICAgIFdLQnVuZGxlUGFnZURpZENhbmNlbENsaWVudFJlZGlyZWN0Rm9yRnJh
bWVDYWxsYmFjayAgICAgICAgICAgICAgICAgICAgIGRpZENhbmNlbENsaWVudFJlZGlyZWN0Rm9y
RnJhbWU7CisgICAgV0tCdW5kbGVQYWdlV2lsbFBlcmZvcm1DbGllbnRSZWRpcmVjdEZvckZyYW1l
Q2FsbGJhY2sgICAgICAgICAgICAgICAgICAgd2lsbFBlcmZvcm1DbGllbnRSZWRpcmVjdEZvckZy
YW1lOworICAgIFdLQnVuZGxlUGFnZURpZEhhbmRsZU9ubG9hZEV2ZW50c0ZvckZyYW1lQ2FsbGJh
Y2sgICAgICAgICAgICAgICAgICAgICAgIGRpZEhhbmRsZU9ubG9hZEV2ZW50c0ZvckZyYW1lOwor
CisgICAgLy8gVmVyc2lvbiAxLgorICAgIFdLQnVuZGxlUGFnZURpZExheW91dEZvckZyYW1lQ2Fs
bGJhY2sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpZExheW91dEZvckZyYW1l
OworICAgIHZvaWQgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGRpZE5ld0ZpcnN0VmlzdWFsbHlOb25FbXB0eUxheW91dF91
bmF2YWlsYWJsZTsKKyAgICBXS0J1bmRsZVBhZ2VEaWREZXRlY3RYU1NGb3JGcmFtZUNhbGxiYWNr
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkaWREZXRlY3RYU1NGb3JGcmFtZTsKKyAg
ICBXS0J1bmRsZVBhZ2VTaG91bGRHb1RvQmFja0ZvcndhcmRMaXN0SXRlbUNhbGxiYWNrICAgICAg
ICAgICAgICAgICAgICAgICBzaG91bGRHb1RvQmFja0ZvcndhcmRMaXN0SXRlbTsKKyAgICBXS0J1
bmRsZVBhZ2VHbG9iYWxPYmplY3RJc0F2YWlsYWJsZUZvckZyYW1lQ2FsbGJhY2sgICAgICAgICAg
ICAgICAgICAgICBnbG9iYWxPYmplY3RJc0F2YWlsYWJsZUZvckZyYW1lOworICAgIFdLQnVuZGxl
UGFnZVdpbGxEaXNjb25uZWN0RE9NV2luZG93RXh0ZW5zaW9uRnJvbUdsb2JhbE9iamVjdENhbGxi
YWNrICAgIHdpbGxEaXNjb25uZWN0RE9NV2luZG93RXh0ZW5zaW9uRnJvbUdsb2JhbE9iamVjdDsK
KyAgICBXS0J1bmRsZVBhZ2VEaWRSZWNvbm5lY3RET01XaW5kb3dFeHRlbnNpb25Ub0dsb2JhbE9i
amVjdENhbGxiYWNrICAgICAgICBkaWRSZWNvbm5lY3RET01XaW5kb3dFeHRlbnNpb25Ub0dsb2Jh
bE9iamVjdDsKKyAgICBXS0J1bmRsZVBhZ2VXaWxsRGVzdHJveUdsb2JhbE9iamVjdEZvckRPTVdp
bmRvd0V4dGVuc2lvbkNhbGxiYWNrICAgICAgICB3aWxsRGVzdHJveUdsb2JhbE9iamVjdEZvckRP
TVdpbmRvd0V4dGVuc2lvbjsKKyAgICAKKyAgICAvLyBWZXJzaW9uIDIKKyAgICBXS0J1bmRsZVBh
Z2VEaWRGaW5pc2hQcm9ncmVzc0NhbGxiYWNrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBkaWRGaW5pc2hQcm9ncmVzczsKKyAgICBXS0J1bmRsZVBhZ2VTaG91bGRGb3JjZVVuaXZl
cnNhbEFjY2Vzc0Zyb21Mb2NhbFVSTENhbGxiYWNrICAgICAgICAgICAgICBzaG91bGRGb3JjZVVu
aXZlcnNhbEFjY2Vzc0Zyb21Mb2NhbFVSTDsKKworICAgIC8vIFZlcnNpb24gMworICAgIHZvaWQg
KiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGRpZFJlY2VpdmVJbnRlbnRGb3JGcmFtZV91bmF2YWlsYWJsZTsKKyAgICB2b2lk
ICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICByZWdpc3RlckludGVudFNlcnZpY2VGb3JGcmFtZV91bmF2YWlsYWJsZTsKKwor
ICAgIC8vIFZlcnNpb24gNAorICAgIFdLQnVuZGxlUGFnZURpZExheW91dENhbGxiYWNrICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpZExheW91dDsKKworICAgIC8v
IFZlcnNpb24gNQorICAgIFdLQnVuZGxlUGFnZUZlYXR1cmVzVXNlZEluUGFnZUNhbGxiYWNrICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZlYXR1cmVzVXNlZEluUGFnZTsKKyAgICAK
KyAgICAvLyBWZXJzaW9uIDYKKyAgICBXS0J1bmRsZVBhZ2VXaWxsTG9hZFVSTFJlcXVlc3RDYWxs
YmFjayAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aWxsTG9hZFVSTFJlcXVlc3Q7
CisgICAgV0tCdW5kbGVQYWdlV2lsbExvYWREYXRhUmVxdWVzdENhbGxiYWNrICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgd2lsbExvYWREYXRhUmVxdWVzdDsKKworICAgIC8vIFZlcnNp
b24gNworICAgIFdLQnVuZGxlUGFnZVdpbGxEZXN0cm95RnJhbWUgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIHdpbGxEZXN0cm95RnJhbWU7Cit9OwordHlwZWRlZiBz
dHJ1Y3QgV0tCdW5kbGVQYWdlTG9hZGVyQ2xpZW50IFdLQnVuZGxlUGFnZUxvYWRlckNsaWVudDsK
KworZW51bSB7IGtXS0J1bmRsZVBhZ2VMb2FkZXJDbGllbnRDdXJyZW50VmVyc2lvbiA9IDcgfTsK
KworI2VuZGlmIC8vIFdLQnVuZGxlUGFnZUxvYWRlckNsaWVudF9oCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0Mi9XZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0FQSS9jL1dLQnVuZGxlUGFnZVBv
bGljeUNsaWVudC5oIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9B
UEkvYy9XS0J1bmRsZVBhZ2VQb2xpY3lDbGllbnQuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5jMzJiNWVmYmYzOWI2
MzEwMzE4N2FiOTI3MDNlNzFjNWUyOTgxMzQwCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dl
YktpdDIvV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9BUEkvYy9XS0J1bmRsZVBhZ2VQb2xpY3lD
bGllbnQuaApAQCAtMCwwICsxLDU1IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDEzIEFwcGxl
IEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNl
IGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNh
dGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9u
cworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0
IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBj
b25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1
dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAor
ICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBk
aXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJp
YWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJF
IElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycn
CisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJV
VCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRB
QklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NM
QUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUwor
ICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lB
TCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJV
VCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1Ig
U0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICog
SU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJ
VFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJ
TkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkg
T1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBU
SEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2lmbmRlZiBXS0J1bmRsZVBh
Z2VQb2xpY3lDbGllbnRfaAorI2RlZmluZSBXS0J1bmRsZVBhZ2VQb2xpY3lDbGllbnRfaAorCisj
aW5jbHVkZSA8V2ViS2l0Mi9XS0Jhc2UuaD4KKworZW51bSB7CisgICAgV0tCdW5kbGVQYWdlUG9s
aWN5QWN0aW9uUGFzc1Rocm91Z2gsCisgICAgV0tCdW5kbGVQYWdlUG9saWN5QWN0aW9uVXNlCit9
OwordHlwZWRlZiB1aW50MzJfdCBXS0J1bmRsZVBhZ2VQb2xpY3lBY3Rpb247CisKK3R5cGVkZWYg
V0tCdW5kbGVQYWdlUG9saWN5QWN0aW9uICgqV0tCdW5kbGVQYWdlRGVjaWRlUG9saWN5Rm9yTmF2
aWdhdGlvbkFjdGlvbkNhbGxiYWNrKShXS0J1bmRsZVBhZ2VSZWYgcGFnZSwgV0tCdW5kbGVGcmFt
ZVJlZiBmcmFtZSwgV0tCdW5kbGVOYXZpZ2F0aW9uQWN0aW9uUmVmIG5hdmlnYXRpb25BY3Rpb24s
IFdLVVJMUmVxdWVzdFJlZiByZXF1ZXN0LCBXS1R5cGVSZWYqIHVzZXJEYXRhLCBjb25zdCB2b2lk
KiBjbGllbnRJbmZvKTsKK3R5cGVkZWYgV0tCdW5kbGVQYWdlUG9saWN5QWN0aW9uICgqV0tCdW5k
bGVQYWdlRGVjaWRlUG9saWN5Rm9yTmV3V2luZG93QWN0aW9uQ2FsbGJhY2spKFdLQnVuZGxlUGFn
ZVJlZiBwYWdlLCBXS0J1bmRsZUZyYW1lUmVmIGZyYW1lLCBXS0J1bmRsZU5hdmlnYXRpb25BY3Rp
b25SZWYgbmF2aWdhdGlvbkFjdGlvbiwgV0tVUkxSZXF1ZXN0UmVmIHJlcXVlc3QsIFdLU3RyaW5n
UmVmIGZyYW1lTmFtZSwgV0tUeXBlUmVmKiB1c2VyRGF0YSwgY29uc3Qgdm9pZCogY2xpZW50SW5m
byk7Cit0eXBlZGVmIFdLQnVuZGxlUGFnZVBvbGljeUFjdGlvbiAoKldLQnVuZGxlUGFnZURlY2lk
ZVBvbGljeUZvclJlc3BvbnNlQ2FsbGJhY2spKFdLQnVuZGxlUGFnZVJlZiBwYWdlLCBXS0J1bmRs
ZUZyYW1lUmVmIGZyYW1lLCBXS1VSTFJlc3BvbnNlUmVmIHJlc3BvbnNlLCBXS1VSTFJlcXVlc3RS
ZWYgcmVxdWVzdCwgV0tUeXBlUmVmKiB1c2VyRGF0YSwgY29uc3Qgdm9pZCogY2xpZW50SW5mbyk7
Cit0eXBlZGVmIHZvaWQgKCpXS0J1bmRsZVBhZ2VVbmFibGVUb0ltcGxlbWVudFBvbGljeUNhbGxi
YWNrKShXS0J1bmRsZVBhZ2VSZWYgcGFnZSwgV0tCdW5kbGVGcmFtZVJlZiBmcmFtZSwgV0tFcnJv
clJlZiBlcnJvciwgV0tUeXBlUmVmKiB1c2VyRGF0YSwgY29uc3Qgdm9pZCogY2xpZW50SW5mbyk7
CisKK3N0cnVjdCBXS0J1bmRsZVBhZ2VQb2xpY3lDbGllbnQgeworICAgIGludCAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmVy
c2lvbjsKKyAgICBjb25zdCB2b2lkICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGNsaWVudEluZm87CisgICAgV0tCdW5kbGVQYWdlRGVjaWRl
UG9saWN5Rm9yTmF2aWdhdGlvbkFjdGlvbkNhbGxiYWNrICAgICAgICAgICAgICAgICBkZWNpZGVQ
b2xpY3lGb3JOYXZpZ2F0aW9uQWN0aW9uOworICAgIFdLQnVuZGxlUGFnZURlY2lkZVBvbGljeUZv
ck5ld1dpbmRvd0FjdGlvbkNhbGxiYWNrICAgICAgICAgICAgICAgICAgZGVjaWRlUG9saWN5Rm9y
TmV3V2luZG93QWN0aW9uOworICAgIFdLQnVuZGxlUGFnZURlY2lkZVBvbGljeUZvclJlc3BvbnNl
Q2FsbGJhY2sgICAgICAgICAgICAgICAgICAgICAgICAgZGVjaWRlUG9saWN5Rm9yUmVzcG9uc2U7
CisgICAgV0tCdW5kbGVQYWdlVW5hYmxlVG9JbXBsZW1lbnRQb2xpY3lDYWxsYmFjayAgICAgICAg
ICAgICAgICAgICAgICAgICB1bmFibGVUb0ltcGxlbWVudFBvbGljeTsKK307Cit0eXBlZGVmIHN0
cnVjdCBXS0J1bmRsZVBhZ2VQb2xpY3lDbGllbnQgV0tCdW5kbGVQYWdlUG9saWN5Q2xpZW50Owor
CitlbnVtIHsga1dLQnVuZGxlUGFnZVBvbGljeUNsaWVudEN1cnJlbnRWZXJzaW9uID0gMCB9Owor
CisKKyNlbmRpZiAvLyBXS0J1bmRsZVBhZ2VQb2xpY3lDbGllbnRfaApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9BUEkvYy9XS0J1bmRsZVBhZ2VS
ZXNvdXJjZUxvYWRDbGllbnQuaCBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvSW5qZWN0ZWRC
dW5kbGUvQVBJL2MvV0tCdW5kbGVQYWdlUmVzb3VyY2VMb2FkQ2xpZW50LmgKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
YjEwNWRhY2MxMDNmOGM0ZmVjNGExYjhhYjRjNmJjMWU3NzU0MWNhZAotLS0gL2Rldi9udWxsCisr
KyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvQVBJL2MvV0tCdW5k
bGVQYWdlUmVzb3VyY2VMb2FkQ2xpZW50LmgKQEAgLTAsMCArMSw2MyBAQAorLyoKKyAqIENvcHly
aWdodCAoQykgMjAxMyBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVk
aXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3
aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUg
Zm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMg
b2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
LgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRo
ZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg
YW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24g
YW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisg
KgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09O
VFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFO
VElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJS
QU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisg
KiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9S
IElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1Qs
IElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFN
QUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBT
VUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklU
UzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFO
WSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJ
QUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICog
QVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4g
SUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisK
KyNpZm5kZWYgV0tCdW5kbGVQYWdlUmVzb3VyY2VMb2FkQ2xpZW50X2gKKyNkZWZpbmUgV0tCdW5k
bGVQYWdlUmVzb3VyY2VMb2FkQ2xpZW50X2gKKworI2luY2x1ZGUgPFdlYktpdDIvV0tCYXNlLmg+
CisKK3R5cGVkZWYgdm9pZCAoKldLQnVuZGxlUGFnZURpZEluaXRpYXRlTG9hZEZvclJlc291cmNl
Q2FsbGJhY2spKFdLQnVuZGxlUGFnZVJlZiwgV0tCdW5kbGVGcmFtZVJlZiwgdWludDY0X3QgcmVz
b3VyY2VJZGVudGlmaWVyLCBXS1VSTFJlcXVlc3RSZWYsIGJvb2wgcGFnZUlzUHJvdmlzaW9uYWxs
eUxvYWRpbmcsIGNvbnN0IHZvaWQqIGNsaWVudEluZm8pOwordHlwZWRlZiBXS1VSTFJlcXVlc3RS
ZWYgKCpXS0J1bmRsZVBhZ2VXaWxsU2VuZFJlcXVlc3RGb3JGcmFtZUNhbGxiYWNrKShXS0J1bmRs
ZVBhZ2VSZWYsIFdLQnVuZGxlRnJhbWVSZWYsIHVpbnQ2NF90IHJlc291cmNlSWRlbnRpZmllciwg
V0tVUkxSZXF1ZXN0UmVmLCBXS1VSTFJlc3BvbnNlUmVmIHJlZGlyZWN0UmVzcG9uc2UsIGNvbnN0
IHZvaWQgKmNsaWVudEluZm8pOwordHlwZWRlZiB2b2lkICgqV0tCdW5kbGVQYWdlRGlkUmVjZWl2
ZVJlc3BvbnNlRm9yUmVzb3VyY2VDYWxsYmFjaykoV0tCdW5kbGVQYWdlUmVmLCBXS0J1bmRsZUZy
YW1lUmVmLCB1aW50NjRfdCByZXNvdXJjZUlkZW50aWZpZXIsIFdLVVJMUmVzcG9uc2VSZWYsIGNv
bnN0IHZvaWQqIGNsaWVudEluZm8pOwordHlwZWRlZiB2b2lkICgqV0tCdW5kbGVQYWdlRGlkUmVj
ZWl2ZUNvbnRlbnRMZW5ndGhGb3JSZXNvdXJjZUNhbGxiYWNrKShXS0J1bmRsZVBhZ2VSZWYsIFdL
QnVuZGxlRnJhbWVSZWYsIHVpbnQ2NF90IHJlc291cmNlSWRlbnRpZmllciwgdWludDY0X3QgY29u
dGVudExlbmd0aCwgY29uc3Qgdm9pZCogY2xpZW50SW5mbyk7Cit0eXBlZGVmIHZvaWQgKCpXS0J1
bmRsZVBhZ2VEaWRGaW5pc2hMb2FkRm9yUmVzb3VyY2VDYWxsYmFjaykoV0tCdW5kbGVQYWdlUmVm
LCBXS0J1bmRsZUZyYW1lUmVmLCB1aW50NjRfdCByZXNvdXJjZUlkZW50aWZpZXIsIGNvbnN0IHZv
aWQqIGNsaWVudEluZm8pOwordHlwZWRlZiB2b2lkICgqV0tCdW5kbGVQYWdlRGlkRmFpbExvYWRG
b3JSZXNvdXJjZUNhbGxiYWNrKShXS0J1bmRsZVBhZ2VSZWYsIFdLQnVuZGxlRnJhbWVSZWYsIHVp
bnQ2NF90IHJlc291cmNlSWRlbnRpZmllciwgV0tFcnJvclJlZiwgY29uc3Qgdm9pZCogY2xpZW50
SW5mbyk7Cit0eXBlZGVmIGJvb2wgKCpXS0J1bmRsZVBhZ2VTaG91bGRDYWNoZVJlc3BvbnNlQ2Fs
bGJhY2spKFdLQnVuZGxlUGFnZVJlZiwgV0tCdW5kbGVGcmFtZVJlZiwgdWludDY0X3QgcmVzb3Vy
Y2VJZGVudGlmaWVyLCBjb25zdCB2b2lkKiBjbGllbnRJbmZvKTsKK3R5cGVkZWYgYm9vbCAoKldL
QnVuZGxlUGFnZVNob3VsZFVzZUNyZWRlbnRpYWxTdG9yYWdlQ2FsbGJhY2spKFdLQnVuZGxlUGFn
ZVJlZiwgV0tCdW5kbGVGcmFtZVJlZiwgdWludDY0X3QgcmVzb3VyY2VJZGVudGlmaWVyLCBjb25z
dCB2b2lkKiBjbGllbnRJbmZvKTsKKworc3RydWN0IFdLQnVuZGxlUGFnZVJlc291cmNlTG9hZENs
aWVudCB7CisgICAgaW50ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICB2ZXJzaW9uOworICAgIGNvbnN0IHZvaWQgKiAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xpZW50SW5m
bzsKKworICAgIC8vIFZlcnNpb24gMC4KKyAgICBXS0J1bmRsZVBhZ2VEaWRJbml0aWF0ZUxvYWRG
b3JSZXNvdXJjZUNhbGxiYWNrICAgICAgICAgICAgICAgICAgICAgIGRpZEluaXRpYXRlTG9hZEZv
clJlc291cmNlOworCisgICAgLy8gd2lsbFNlbmRSZXF1ZXN0Rm9yRnJhbWUgaXMgc3VwcG9zZWQg
dG8gcmV0dXJuIGEgcmV0YWluZWQgcmVmZXJlbmNlIHRvIHRoZSBVUkwgcmVxdWVzdC4KKyAgICBX
S0J1bmRsZVBhZ2VXaWxsU2VuZFJlcXVlc3RGb3JGcmFtZUNhbGxiYWNrICAgICAgICAgICAgICAg
ICAgICAgICAgIHdpbGxTZW5kUmVxdWVzdEZvckZyYW1lOworCisgICAgV0tCdW5kbGVQYWdlRGlk
UmVjZWl2ZVJlc3BvbnNlRm9yUmVzb3VyY2VDYWxsYmFjayAgICAgICAgICAgICAgICAgICBkaWRS
ZWNlaXZlUmVzcG9uc2VGb3JSZXNvdXJjZTsKKyAgICBXS0J1bmRsZVBhZ2VEaWRSZWNlaXZlQ29u
dGVudExlbmd0aEZvclJlc291cmNlQ2FsbGJhY2sgICAgICAgICAgICAgIGRpZFJlY2VpdmVDb250
ZW50TGVuZ3RoRm9yUmVzb3VyY2U7CisgICAgV0tCdW5kbGVQYWdlRGlkRmluaXNoTG9hZEZvclJl
c291cmNlQ2FsbGJhY2sgICAgICAgICAgICAgICAgICAgICAgICBkaWRGaW5pc2hMb2FkRm9yUmVz
b3VyY2U7CisgICAgV0tCdW5kbGVQYWdlRGlkRmFpbExvYWRGb3JSZXNvdXJjZUNhbGxiYWNrICAg
ICAgICAgICAgICAgICAgICAgICAgICBkaWRGYWlsTG9hZEZvclJlc291cmNlOworCisgICAgLy8g
VmVyc2lvbiAxLgorICAgIFdLQnVuZGxlUGFnZVNob3VsZENhY2hlUmVzcG9uc2VDYWxsYmFjayAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgc2hvdWxkQ2FjaGVSZXNwb25zZTsKKyAgICBXS0J1
bmRsZVBhZ2VTaG91bGRVc2VDcmVkZW50aWFsU3RvcmFnZUNhbGxiYWNrICAgICAgICAgICAgICAg
ICAgICAgIHNob3VsZFVzZUNyZWRlbnRpYWxTdG9yYWdlOworfTsKK3R5cGVkZWYgc3RydWN0IFdL
QnVuZGxlUGFnZVJlc291cmNlTG9hZENsaWVudCBXS0J1bmRsZVBhZ2VSZXNvdXJjZUxvYWRDbGll
bnQ7CisKK2VudW0geyBrV0tCdW5kbGVQYWdlUmVzb3VyY2VMb2FkQ2xpZW50Q3VycmVudFZlcnNp
b24gPSAxIH07CisKKyNlbmRpZiAvLyBXS0J1bmRsZVBhZ2VSZXNvdXJjZUxvYWRDbGllbnRfaApk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9BUEkv
Yy9XS0J1bmRsZVBhZ2VVSUNsaWVudC5oIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9Jbmpl
Y3RlZEJ1bmRsZS9BUEkvYy9XS0J1bmRsZVBhZ2VVSUNsaWVudC5oCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjVmODBk
OWQ0MDYxOTE0NWFkZGMxYjhkNjcwNGE5ZWY4M2Q0YWE0OGQKLS0tIC9kZXYvbnVsbAorKysgYi9T
b3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0FQSS9jL1dLQnVuZGxlUGFn
ZVVJQ2xpZW50LmgKQEAgLTAsMCArMSw5MCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMyBB
cHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5k
IHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2Rp
ZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRp
dGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUg
bXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qg
b2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0
cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmln
aHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dp
bmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1h
dGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZU
V0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMg
SVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5H
LCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNI
QU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBE
SVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRP
UlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQ
RUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5H
LCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RT
IE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MK
KyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElB
QklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9S
VCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkg
V0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgor
ICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpZm5kZWYgV0tCdW5k
bGVQYWdlVUlDbGllbnRfaAorI2RlZmluZSBXS0J1bmRsZVBhZ2VVSUNsaWVudF9oCisKKyNpbmNs
dWRlIDxXZWJLaXQyL1dLQmFzZS5oPgorI2luY2x1ZGUgPFdlYktpdDIvV0tFdmVudC5oPgorCitl
bnVtIHsKKyAgICBXS0J1bmRsZVBhZ2VVSUVsZW1lbnRWaXNpYmlsaXR5VW5rbm93biwKKyAgICBX
S0J1bmRsZVBhZ2VVSUVsZW1lbnRWaXNpYmxlLAorICAgIFdLQnVuZGxlUGFnZVVJRWxlbWVudEhp
ZGRlbgorfTsKK3R5cGVkZWYgdWludDMyX3QgV0tCdW5kbGVQYWdlVUlFbGVtZW50VmlzaWJpbGl0
eTsKKworCit0eXBlZGVmIHZvaWQgKCpXS0J1bmRsZVBhZ2VXaWxsQWRkTWVzc2FnZVRvQ29uc29s
ZUNhbGxiYWNrKShXS0J1bmRsZVBhZ2VSZWYgcGFnZSwgV0tTdHJpbmdSZWYgbWVzc2FnZSwgdWlu
dDMyX3QgbGluZU51bWJlciwgY29uc3Qgdm9pZCAqY2xpZW50SW5mbyk7Cit0eXBlZGVmIHZvaWQg
KCpXS0J1bmRsZVBhZ2VXaWxsU2V0U3RhdHVzYmFyVGV4dENhbGxiYWNrKShXS0J1bmRsZVBhZ2VS
ZWYgcGFnZSwgV0tTdHJpbmdSZWYgc3RhdHVzYmFyVGV4dCwgY29uc3Qgdm9pZCAqY2xpZW50SW5m
byk7Cit0eXBlZGVmIHZvaWQgKCpXS0J1bmRsZVBhZ2VXaWxsUnVuSmF2YVNjcmlwdEFsZXJ0Q2Fs
bGJhY2spKFdLQnVuZGxlUGFnZVJlZiBwYWdlLCBXS1N0cmluZ1JlZiBhbGVydFRleHQsIFdLQnVu
ZGxlRnJhbWVSZWYgZnJhbWUsIGNvbnN0IHZvaWQgKmNsaWVudEluZm8pOwordHlwZWRlZiB2b2lk
ICgqV0tCdW5kbGVQYWdlV2lsbFJ1bkphdmFTY3JpcHRDb25maXJtQ2FsbGJhY2spKFdLQnVuZGxl
UGFnZVJlZiBwYWdlLCBXS1N0cmluZ1JlZiBtZXNzYWdlLCBXS0J1bmRsZUZyYW1lUmVmIGZyYW1l
LCBjb25zdCB2b2lkICpjbGllbnRJbmZvKTsKK3R5cGVkZWYgdm9pZCAoKldLQnVuZGxlUGFnZVdp
bGxSdW5KYXZhU2NyaXB0UHJvbXB0Q2FsbGJhY2spKFdLQnVuZGxlUGFnZVJlZiBwYWdlLCBXS1N0
cmluZ1JlZiBtZXNzYWdlLCBXS1N0cmluZ1JlZiBkZWZhdWx0VmFsdWUsIFdLQnVuZGxlRnJhbWVS
ZWYgZnJhbWUsIGNvbnN0IHZvaWQgKmNsaWVudEluZm8pOwordHlwZWRlZiB2b2lkICgqV0tCdW5k
bGVQYWdlTW91c2VEaWRNb3ZlT3ZlckVsZW1lbnRDYWxsYmFjaykoV0tCdW5kbGVQYWdlUmVmIHBh
Z2UsIFdLQnVuZGxlSGl0VGVzdFJlc3VsdFJlZiBoaXRUZXN0UmVzdWx0LCBXS0V2ZW50TW9kaWZp
ZXJzIG1vZGlmaWVycywgV0tUeXBlUmVmKiB1c2VyRGF0YSwgY29uc3Qgdm9pZCAqY2xpZW50SW5m
byk7Cit0eXBlZGVmIHZvaWQgKCpXS0J1bmRsZVBhZ2VEaWRTY3JvbGxDYWxsYmFjaykoV0tCdW5k
bGVQYWdlUmVmIHBhZ2UsIGNvbnN0IHZvaWQgKmNsaWVudEluZm8pOwordHlwZWRlZiBXS1N0cmlu
Z1JlZiAoKldLQnVuZGxlUGFnZUdlbmVyYXRlRmlsZUZvclVwbG9hZENhbGxiYWNrKShXS0J1bmRs
ZVBhZ2VSZWYgcGFnZSwgV0tTdHJpbmdSZWYgb3JpZ2luYWxGaWxlUGF0aCwgY29uc3Qgdm9pZCog
Y2xpZW50SW5mbyk7Cit0eXBlZGVmIFdLQnVuZGxlUGFnZVVJRWxlbWVudFZpc2liaWxpdHkgKCpX
S0J1bmRsZVBhZ2VTdGF0dXNCYXJJc1Zpc2libGVDYWxsYmFjaykoV0tCdW5kbGVQYWdlUmVmIHBh
Z2UsIGNvbnN0IHZvaWQgKmNsaWVudEluZm8pOwordHlwZWRlZiBXS0J1bmRsZVBhZ2VVSUVsZW1l
bnRWaXNpYmlsaXR5ICgqV0tCdW5kbGVQYWdlTWVudUJhcklzVmlzaWJsZUNhbGxiYWNrKShXS0J1
bmRsZVBhZ2VSZWYgcGFnZSwgY29uc3Qgdm9pZCAqY2xpZW50SW5mbyk7Cit0eXBlZGVmIFdLQnVu
ZGxlUGFnZVVJRWxlbWVudFZpc2liaWxpdHkgKCpXS0J1bmRsZVBhZ2VUb29sYmFyc0FyZVZpc2li
bGVDYWxsYmFjaykoV0tCdW5kbGVQYWdlUmVmIHBhZ2UsIGNvbnN0IHZvaWQgKmNsaWVudEluZm8p
OwordHlwZWRlZiB2b2lkICgqV0tCdW5kbGVQYWdlUmVhY2hlZEFwcENhY2hlT3JpZ2luUXVvdGFD
YWxsYmFjaykoV0tCdW5kbGVQYWdlUmVmIHBhZ2UsIFdLU2VjdXJpdHlPcmlnaW5SZWYgb3JpZ2lu
LCBpbnQ2NF90IHRvdGFsQnl0ZXNOZWVkZWQsIGNvbnN0IHZvaWQgKmNsaWVudEluZm8pOwordHlw
ZWRlZiB1aW50NjRfdCAoKldLQnVuZGxlUGFnZUV4Y2VlZGVkRGF0YWJhc2VRdW90YUNhbGxiYWNr
KShXS0J1bmRsZVBhZ2VSZWYgcGFnZSwgV0tTZWN1cml0eU9yaWdpblJlZiBvcmlnaW4sIFdLU3Ry
aW5nUmVmIGRhdGFiYXNlTmFtZSwgV0tTdHJpbmdSZWYgZGF0YWJhc2VEaXNwbGF5TmFtZSwgdWlu
dDY0X3QgY3VycmVudFF1b3RhQnl0ZXMsIHVpbnQ2NF90IGN1cnJlbnRPcmlnaW5Vc2FnZUJ5dGVz
LCB1aW50NjRfdCBjdXJyZW50RGF0YWJhc2VVc2FnZUJ5dGVzLCB1aW50NjRfdCBleHBlY3RlZFVz
YWdlQnl0ZXMsIGNvbnN0IHZvaWQgKmNsaWVudEluZm8pOwordHlwZWRlZiBXS1N0cmluZ1JlZiAo
KldLQnVuZGxlUGFnZVBsdWdJbkNyZWF0ZVN0YXJ0TGFiZWxUaXRsZUNhbGxiYWNrKShXS1N0cmlu
Z1JlZiBtaW1lVHlwZSwgY29uc3Qgdm9pZCAqY2xpZW50SW5mbyk7Cit0eXBlZGVmIFdLU3RyaW5n
UmVmICgqV0tCdW5kbGVQYWdlUGx1Z0luQ3JlYXRlU3RhcnRMYWJlbFN1YnRpdGxlQ2FsbGJhY2sp
KFdLU3RyaW5nUmVmIG1pbWVUeXBlLCBjb25zdCB2b2lkICpjbGllbnRJbmZvKTsKK3R5cGVkZWYg
V0tTdHJpbmdSZWYgKCpXS0J1bmRsZVBhZ2VQbHVnSW5DcmVhdGVFeHRyYVN0eWxlU2hlZXRDYWxs
YmFjaykoY29uc3Qgdm9pZCAqY2xpZW50SW5mbyk7Cit0eXBlZGVmIFdLU3RyaW5nUmVmICgqV0tC
dW5kbGVQYWdlUGx1Z0luQ3JlYXRlRXh0cmFTY3JpcHRDYWxsYmFjaykoY29uc3Qgdm9pZCAqY2xp
ZW50SW5mbyk7CisKK3N0cnVjdCBXS0J1bmRsZVBhZ2VVSUNsaWVudCB7CisgICAgaW50ICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICB2ZXJzaW9uOworICAgIGNvbnN0IHZvaWQgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xpZW50SW5mbzsKKyAgICBXS0J1bmRsZVBhZ2VX
aWxsQWRkTWVzc2FnZVRvQ29uc29sZUNhbGxiYWNrICAgICAgICAgICAgICAgICAgICAgICAgIHdp
bGxBZGRNZXNzYWdlVG9Db25zb2xlOworICAgIFdLQnVuZGxlUGFnZVdpbGxTZXRTdGF0dXNiYXJU
ZXh0Q2FsbGJhY2sgICAgICAgICAgICAgICAgICAgICAgICAgICAgd2lsbFNldFN0YXR1c2JhclRl
eHQ7CisgICAgV0tCdW5kbGVQYWdlV2lsbFJ1bkphdmFTY3JpcHRBbGVydENhbGxiYWNrICAgICAg
ICAgICAgICAgICAgICAgICAgICB3aWxsUnVuSmF2YVNjcmlwdEFsZXJ0OworICAgIFdLQnVuZGxl
UGFnZVdpbGxSdW5KYXZhU2NyaXB0Q29uZmlybUNhbGxiYWNrICAgICAgICAgICAgICAgICAgICAg
ICAgd2lsbFJ1bkphdmFTY3JpcHRDb25maXJtOworICAgIFdLQnVuZGxlUGFnZVdpbGxSdW5KYXZh
U2NyaXB0UHJvbXB0Q2FsbGJhY2sgICAgICAgICAgICAgICAgICAgICAgICAgd2lsbFJ1bkphdmFT
Y3JpcHRQcm9tcHQ7CisgICAgV0tCdW5kbGVQYWdlTW91c2VEaWRNb3ZlT3ZlckVsZW1lbnRDYWxs
YmFjayAgICAgICAgICAgICAgICAgICAgICAgICBtb3VzZURpZE1vdmVPdmVyRWxlbWVudDsKKyAg
ICBXS0J1bmRsZVBhZ2VEaWRTY3JvbGxDYWxsYmFjayAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIHBhZ2VEaWRTY3JvbGw7CisgICAgdm9pZCogICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1bnVzZWQxOworICAg
IFdLQnVuZGxlUGFnZUdlbmVyYXRlRmlsZUZvclVwbG9hZENhbGxiYWNrICAgICAgICAgICAgICAg
ICAgICAgICAgICAgc2hvdWxkR2VuZXJhdGVGaWxlRm9yVXBsb2FkOworICAgIFdLQnVuZGxlUGFn
ZUdlbmVyYXRlRmlsZUZvclVwbG9hZENhbGxiYWNrICAgICAgICAgICAgICAgICAgICAgICAgICAg
Z2VuZXJhdGVGaWxlRm9yVXBsb2FkOworICAgIHZvaWQqICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdW51c2VkMjsKKyAgICBXS0J1
bmRsZVBhZ2VTdGF0dXNCYXJJc1Zpc2libGVDYWxsYmFjayAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIHN0YXR1c0JhcklzVmlzaWJsZTsKKyAgICBXS0J1bmRsZVBhZ2VNZW51QmFySXNWaXNp
YmxlQ2FsbGJhY2sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1lbnVCYXJJc1Zpc2li
bGU7CisgICAgV0tCdW5kbGVQYWdlVG9vbGJhcnNBcmVWaXNpYmxlQ2FsbGJhY2sgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICB0b29sYmFyc0FyZVZpc2libGU7CisKKyAgICAvLyBWZXJzaW9u
IDEuCisgICAgV0tCdW5kbGVQYWdlUmVhY2hlZEFwcENhY2hlT3JpZ2luUXVvdGFDYWxsYmFjayAg
ICAgICAgICAgICAgICAgICAgICBkaWRSZWFjaEFwcGxpY2F0aW9uQ2FjaGVPcmlnaW5RdW90YTsK
KworICAgIC8vIFZlcnNpb24gMi4KKyAgICBXS0J1bmRsZVBhZ2VFeGNlZWRlZERhdGFiYXNlUXVv
dGFDYWxsYmFjayAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpZEV4Y2VlZERhdGFiYXNlUXVv
dGE7CisgICAgV0tCdW5kbGVQYWdlUGx1Z0luQ3JlYXRlU3RhcnRMYWJlbFRpdGxlQ2FsbGJhY2sg
ICAgICAgICAgICAgICAgICAgICBjcmVhdGVQbHVnSW5TdGFydExhYmVsVGl0bGU7CisgICAgV0tC
dW5kbGVQYWdlUGx1Z0luQ3JlYXRlU3RhcnRMYWJlbFN1YnRpdGxlQ2FsbGJhY2sgICAgICAgICAg
ICAgICAgICBjcmVhdGVQbHVnSW5TdGFydExhYmVsU3VidGl0bGU7CisgICAgV0tCdW5kbGVQYWdl
UGx1Z0luQ3JlYXRlRXh0cmFTdHlsZVNoZWV0Q2FsbGJhY2sgICAgICAgICAgICAgICAgICAgICBj
cmVhdGVQbHVnSW5FeHRyYVN0eWxlU2hlZXQ7CisgICAgV0tCdW5kbGVQYWdlUGx1Z0luQ3JlYXRl
RXh0cmFTY3JpcHRDYWxsYmFjayAgICAgICAgICAgICAgICAgICAgICAgICBjcmVhdGVQbHVnSW5F
eHRyYVNjcmlwdDsKK307Cit0eXBlZGVmIHN0cnVjdCBXS0J1bmRsZVBhZ2VVSUNsaWVudCBXS0J1
bmRsZVBhZ2VVSUNsaWVudDsKKworZW51bSB7IGtXS0J1bmRsZVBhZ2VVSUNsaWVudEN1cnJlbnRW
ZXJzaW9uID0gMiB9OworCisjZW5kaWYgLy8gV0tCdW5kbGVQYWdlVUlDbGllbnRfaAo=
</data>
<flag name="review"
          id="241590"
          type_id="1"
          status="+"
          setter="kling"
    />
          </attachment>
      

    </bug>

</bugzilla>