<?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>189447</bug_id>
          
          <creation_ts>2018-09-07 21:12:11 -0700</creation_ts>
          <short_desc>Unify most of the WebKit Objective-C API sources</short_desc>
          <delta_ts>2018-09-08 11:01:05 -0700</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>WebKit 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>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Tim Horton">thorton</reporter>
          <assigned_to name="Tim Horton">thorton</assigned_to>
          <cc>achristensen</cc>
    
    <cc>aestes</cc>
    
    <cc>bdakin</cc>
    
    <cc>commit-queue</cc>
    
    <cc>ggaren</cc>
    
    <cc>keith_miller</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1457851</commentid>
    <comment_count>0</comment_count>
    <who name="Tim Horton">thorton</who>
    <bug_when>2018-09-07 21:12:11 -0700</bug_when>
    <thetext>Unify most of the WebKit Objective-C API sources</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1457852</commentid>
    <comment_count>1</comment_count>
      <attachid>349238</attachid>
    <who name="Tim Horton">thorton</who>
    <bug_when>2018-09-07 21:12:38 -0700</bug_when>
    <thetext>Created attachment 349238
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1457853</commentid>
    <comment_count>2</comment_count>
    <who name="Tim Horton">thorton</who>
    <bug_when>2018-09-07 21:17:24 -0700</bug_when>
    <thetext>I haven&apos;t tested iOS yet, but for once, a unified sources patch that won&apos;t have any GTK or WPE problems!!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1457856</commentid>
    <comment_count>3</comment_count>
      <attachid>349239</attachid>
    <who name="Tim Horton">thorton</who>
    <bug_when>2018-09-07 21:56:33 -0700</bug_when>
    <thetext>Created attachment 349239
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1457865</commentid>
    <comment_count>4</comment_count>
      <attachid>349243</attachid>
    <who name="Tim Horton">thorton</who>
    <bug_when>2018-09-07 22:25:56 -0700</bug_when>
    <thetext>Created attachment 349243
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1457889</commentid>
    <comment_count>5</comment_count>
      <attachid>349254</attachid>
    <who name="Tim Horton">thorton</who>
    <bug_when>2018-09-08 02:38:21 -0700</bug_when>
    <thetext>Created attachment 349254
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1457897</commentid>
    <comment_count>6</comment_count>
      <attachid>349254</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2018-09-08 10:59:50 -0700</bug_when>
    <thetext>Comment on attachment 349254
Patch

Clearing flags on attachment: 349254

Committed r235828: &lt;https://trac.webkit.org/changeset/235828&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1457898</commentid>
    <comment_count>7</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2018-09-08 10:59:52 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1457899</commentid>
    <comment_count>8</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2018-09-08 11:01:05 -0700</bug_when>
    <thetext>&lt;rdar://problem/44260646&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>349238</attachid>
            <date>2018-09-07 21:12:38 -0700</date>
            <delta_ts>2018-09-07 21:56:31 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-189447-20180907211237.patch</filename>
            <type>text/plain</type>
            <size>136405</size>
            <attacher name="Tim Horton">thorton</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjM1ODI2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IGYxMzkzYjI5ZmJmYjkwZGQ4
NTU0YTA1OGViNzI2ZWYyNjlkZmNmMDguLjRlMDdjMWU3ODMwNzgxMTIxMmQ0OWVmZWEyNmEyZTli
NjU1YzI3NGYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNTIgQEAKKzIwMTgtMDktMDcgIFRpbSBIb3J0
b24gIDx0aW1vdGh5X2hvcnRvbkBhcHBsZS5jb20+CisKKyAgICAgICAgVW5pZnkgbW9zdCBvZiB0
aGUgV2ViS2l0IE9iamVjdGl2ZS1DIEFQSSBzb3VyY2VzCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xODk0NDcKKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKworICAgICAgICBVbmlmeSBhbmQgZml4IGVycm9ycy4KKworICAgICAg
ICAqIFNvdXJjZXNDb2NvYS50eHQ6CisgICAgICAgICogVUlQcm9jZXNzL0FQSS9Db2NvYS9BUElD
b250ZW50UnVsZUxpc3RTdG9yZUNvY29hLm1tOgorICAgICAgICAoQVBJOjpDb250ZW50UnVsZUxp
c3RTdG9yZTo6ZGVmYXVsdFN0b3JlUGF0aCk6CisgICAgICAgICogV2ViS2l0Lnhjb2RlcHJvai9w
cm9qZWN0LnBieHByb2o6CisgICAgICAgICogV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9BUEkv
bWFjL1dLV2ViUHJvY2Vzc1BsdWdJbi5tbToKKyAgICAgICAgKGRpZENyZWF0ZVBhZ2UpOgorICAg
ICAgICAod2lsbERlc3Ryb3lQYWdlKToKKyAgICAgICAgKHNldFVwQnVuZGxlQ2xpZW50KToKKyAg
ICAgICAgKGNyZWF0ZVdLQXJyYXkpOgorICAgICAgICAqIFdlYlByb2Nlc3MvSW5qZWN0ZWRCdW5k
bGUvQVBJL21hYy9XS1dlYlByb2Nlc3NQbHVnSW5Ccm93c2VyQ29udGV4dENvbnRyb2xsZXIubW06
CisgICAgICAgIChkaWRTdGFydFByb3Zpc2lvbmFsTG9hZEZvckZyYW1lKToKKyAgICAgICAgKGRp
ZFJlY2VpdmVTZXJ2ZXJSZWRpcmVjdEZvclByb3Zpc2lvbmFsTG9hZEZvckZyYW1lKToKKyAgICAg
ICAgKGRpZEZpbmlzaExvYWRGb3JGcmFtZSk6CisgICAgICAgIChnbG9iYWxPYmplY3RJc0F2YWls
YWJsZUZvckZyYW1lKToKKyAgICAgICAgKGRpZFJlbW92ZUZyYW1lRnJvbUhpZXJhcmNoeSk6Cisg
ICAgICAgIChkaWRDb21taXRMb2FkRm9yRnJhbWUpOgorICAgICAgICAoZGlkRmluaXNoRG9jdW1l
bnRMb2FkRm9yRnJhbWUpOgorICAgICAgICAoZGlkRmFpbFByb3Zpc2lvbmFsTG9hZFdpdGhFcnJv
ckZvckZyYW1lKToKKyAgICAgICAgKGRpZEZhaWxMb2FkV2l0aEVycm9yRm9yRnJhbWUpOgorICAg
ICAgICAoZGlkU2FtZURvY3VtZW50TmF2aWdhdGlvbkZvckZyYW1lKToKKyAgICAgICAgKGRpZExh
eW91dEZvckZyYW1lKToKKyAgICAgICAgKGRpZFJlYWNoTGF5b3V0TWlsZXN0b25lKToKKyAgICAg
ICAgKGRpZEZpcnN0VmlzdWFsbHlOb25FbXB0eUxheW91dEZvckZyYW1lKToKKyAgICAgICAgKGRp
ZEhhbmRsZU9ubG9hZEV2ZW50c0ZvckZyYW1lKToKKyAgICAgICAgKHVzZXJBZ2VudEZvclVSTCk6
CisgICAgICAgIChzZXRVcFBhZ2VMb2FkZXJDbGllbnQpOgorICAgICAgICAod2lsbFNlbmRSZXF1
ZXN0Rm9yRnJhbWUpOgorICAgICAgICAoZGlkSW5pdGlhdGVMb2FkRm9yUmVzb3VyY2UpOgorICAg
ICAgICAoZGlkRmluaXNoTG9hZEZvclJlc291cmNlKToKKyAgICAgICAgKGRpZEZhaWxMb2FkRm9y
UmVzb3VyY2UpOgorICAgICAgICAoc2V0VXBSZXNvdXJjZUxvYWRDbGllbnQpOgorICAgICAgICAo
LVtXS1dlYlByb2Nlc3NQbHVnSW5Ccm93c2VyQ29udGV4dENvbnRyb2xsZXIgZGVhbGxvY10pOgor
ICAgICAgICAoLVtXS1dlYlByb2Nlc3NQbHVnSW5Ccm93c2VyQ29udGV4dENvbnRyb2xsZXIgbWFp
bkZyYW1lRG9jdW1lbnRdKToKKyAgICAgICAgKC1bV0tXZWJQcm9jZXNzUGx1Z0luQnJvd3NlckNv
bnRleHRDb250cm9sbGVyIHNlbGVjdGVkUmFuZ2VdKToKKyAgICAgICAgKCtbV0tXZWJQcm9jZXNz
UGx1Z0luQnJvd3NlckNvbnRleHRDb250cm9sbGVyIGxvb2tVcEJyb3dzaW5nQ29udGV4dEZyb21I
YW5kbGU6XSk6CisgICAgICAgICgtW1dLV2ViUHJvY2Vzc1BsdWdJbkJyb3dzZXJDb250ZXh0Q29u
dHJvbGxlciBfcmVtb3RlT2JqZWN0UmVnaXN0cnldKToKKyAgICAgICAgKC1bV0tXZWJQcm9jZXNz
UGx1Z0luQnJvd3NlckNvbnRleHRDb250cm9sbGVyIF9zZXRGb3JtRGVsZWdhdGU6XSk6CisgICAg
ICAgICh0b1dLKToKKyAgICAgICAgKC1bV0tXZWJQcm9jZXNzUGx1Z0luQnJvd3NlckNvbnRleHRD
b250cm9sbGVyIF9zZXRFZGl0aW5nRGVsZWdhdGU6XSk6CisKIDIwMTgtMDktMDcgIFRpbSBIb3J0
b24gIDx0aW1vdGh5X2hvcnRvbkBhcHBsZS5jb20+CiAKICAgICAgICAgVHJ5IHRvIGZpeCB0aGUg
YnVpbGQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvU291cmNlc0NvY29hLnR4dCBiL1NvdXJj
ZS9XZWJLaXQvU291cmNlc0NvY29hLnR4dAppbmRleCA1OGI0Y2ExZmVkOWQ4MmU5MzMzNmMyN2Jj
MzNhODVhOTNmNGYxNWI4Li4wMjZkYTUyZTllZDgzYzRhOGRiZDRhOGNlMjE3ZjM4OGQzMTI5OThi
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1NvdXJjZXNDb2NvYS50eHQKKysrIGIvU291cmNl
L1dlYktpdC9Tb3VyY2VzQ29jb2EudHh0CkBAIC05NiwxNyArOTYsMTcgQEAgU2hhcmVkL0FQSS9j
L21hYy9XS1VSTFJlc3BvbnNlTlMubW0KIFNoYXJlZC9BUEkvYy9tYWMvV0tXZWJBcmNoaXZlLmNw
cAogU2hhcmVkL0FQSS9jL21hYy9XS1dlYkFyY2hpdmVSZXNvdXJjZS5jcHAKIAotU2hhcmVkL0FQ
SS9Db2NvYS9fV0tGcmFtZUhhbmRsZS5tbSBAbm8tdW5pZnkKLVNoYXJlZC9BUEkvQ29jb2EvX1dL
SGl0VGVzdFJlc3VsdC5tbSBAbm8tdW5pZnkKLVNoYXJlZC9BUEkvQ29jb2EvX1dLTlNGaWxlTWFu
YWdlckV4dHJhcy5tbSBAbm8tdW5pZnkKLVNoYXJlZC9BUEkvQ29jb2EvX1dLTlNXaW5kb3dFeHRy
YXMubW0gQG5vLXVuaWZ5Ci1TaGFyZWQvQVBJL0NvY29hL19XS1JlbW90ZU9iamVjdEludGVyZmFj
ZS5tbSBAbm8tdW5pZnkKLVNoYXJlZC9BUEkvQ29jb2EvX1dLUmVtb3RlT2JqZWN0UmVnaXN0cnku
bW0gQG5vLXVuaWZ5Ci1TaGFyZWQvQVBJL0NvY29hL1JlbW90ZU9iamVjdEludm9jYXRpb24ubW0g
QG5vLXVuaWZ5Ci1TaGFyZWQvQVBJL0NvY29hL1JlbW90ZU9iamVjdFJlZ2lzdHJ5Lm1tIEBuby11
bmlmeQotU2hhcmVkL0FQSS9Db2NvYS9XS0Jyb3dzaW5nQ29udGV4dEhhbmRsZS5tbSBAbm8tdW5p
ZnkKLVNoYXJlZC9BUEkvQ29jb2EvV0tSZW1vdGVPYmplY3QubW0gQG5vLXVuaWZ5Ci1TaGFyZWQv
QVBJL0NvY29hL1dLUmVtb3RlT2JqZWN0Q29kZXIubW0gQG5vLXVuaWZ5CitTaGFyZWQvQVBJL0Nv
Y29hL19XS0ZyYW1lSGFuZGxlLm1tCitTaGFyZWQvQVBJL0NvY29hL19XS0hpdFRlc3RSZXN1bHQu
bW0KK1NoYXJlZC9BUEkvQ29jb2EvX1dLTlNGaWxlTWFuYWdlckV4dHJhcy5tbQorU2hhcmVkL0FQ
SS9Db2NvYS9fV0tOU1dpbmRvd0V4dHJhcy5tbQorU2hhcmVkL0FQSS9Db2NvYS9fV0tSZW1vdGVP
YmplY3RJbnRlcmZhY2UubW0KK1NoYXJlZC9BUEkvQ29jb2EvX1dLUmVtb3RlT2JqZWN0UmVnaXN0
cnkubW0KK1NoYXJlZC9BUEkvQ29jb2EvUmVtb3RlT2JqZWN0SW52b2NhdGlvbi5tbQorU2hhcmVk
L0FQSS9Db2NvYS9SZW1vdGVPYmplY3RSZWdpc3RyeS5tbQorU2hhcmVkL0FQSS9Db2NvYS9XS0Jy
b3dzaW5nQ29udGV4dEhhbmRsZS5tbQorU2hhcmVkL0FQSS9Db2NvYS9XS1JlbW90ZU9iamVjdC5t
bQorU2hhcmVkL0FQSS9Db2NvYS9XS1JlbW90ZU9iamVjdENvZGVyLm1tCiAKIFNoYXJlZC9BUElX
ZWJBcmNoaXZlLm1tCiBTaGFyZWQvQVBJV2ViQXJjaGl2ZVJlc291cmNlLm1tCkBAIC0yMjgsNzMg
KzIyOCw3NSBAQCBVSVByb2Nlc3MvQVBJL0MvbWFjL1dLQ29udGV4dFByaXZhdGVNYWMubW0KIFVJ
UHJvY2Vzcy9BUEkvQy9tYWMvV0tQYWdlUHJpdmF0ZU1hYy5tbQogVUlQcm9jZXNzL0FQSS9DL21h
Yy9XS1Byb3RlY3Rpb25TcGFjZU5TLm1tCiAKLVVJUHJvY2Vzcy9BUEkvQ29jb2EvX1dLQWN0aXZh
dGVkRWxlbWVudEluZm8ubW0gQG5vLXVuaWZ5Ci1VSVByb2Nlc3MvQVBJL0NvY29hL19XS0FwcGxp
Y2F0aW9uTWFuaWZlc3QubW0gQG5vLXVuaWZ5Ci1VSVByb2Nlc3MvQVBJL0NvY29hL19XS0F0dGFj
aG1lbnQubW0gQG5vLXVuaWZ5Ci1VSVByb2Nlc3MvQVBJL0NvY29hL19XS0F1dG9tYXRpb25TZXNz
aW9uLm1tIEBuby11bmlmeQotVUlQcm9jZXNzL0FQSS9Db2NvYS9fV0tBdXRvbWF0aW9uU2Vzc2lv
bkNvbmZpZ3VyYXRpb24ubW0gQG5vLXVuaWZ5Ci1VSVByb2Nlc3MvQVBJL0NvY29hL19XS0NvbnRl
eHRNZW51RWxlbWVudEluZm8ubW0gQG5vLXVuaWZ5Ci1VSVByb2Nlc3MvQVBJL0NvY29hL19XS0Rv
d25sb2FkLm1tIEBuby11bmlmeQotVUlQcm9jZXNzL0FQSS9Db2NvYS9fV0tFbGVtZW50QWN0aW9u
Lm1tIEBuby11bmlmeQotVUlQcm9jZXNzL0FQSS9Db2NvYS9fV0tFcnJvclJlY292ZXJ5QXR0ZW1w
dGluZy5tbSBAbm8tdW5pZnkKLVVJUHJvY2Vzcy9BUEkvQ29jb2EvX1dLRXhwZXJpbWVudGFsRmVh
dHVyZS5tbSBAbm8tdW5pZnkKLVVJUHJvY2Vzcy9BUEkvQ29jb2EvX1dLR2VvbG9jYXRpb25Qb3Np
dGlvbi5tbSBAbm8tdW5pZnkKLVVJUHJvY2Vzcy9BUEkvQ29jb2EvX1dLTGlua0ljb25QYXJhbWV0
ZXJzLm1tIEBuby11bmlmeQotVUlQcm9jZXNzL0FQSS9Db2NvYS9fV0tQcm9jZXNzUG9vbENvbmZp
Z3VyYXRpb24ubW0gQG5vLXVuaWZ5Ci1VSVByb2Nlc3MvQVBJL0NvY29hL19XS1JlbW90ZVdlYklu
c3BlY3RvclZpZXdDb250cm9sbGVyLm1tIEBuby11bmlmeQotVUlQcm9jZXNzL0FQSS9Db2NvYS9f
V0tTZXNzaW9uU3RhdGUubW0gQG5vLXVuaWZ5Ci1VSVByb2Nlc3MvQVBJL0NvY29hL19XS1RodW1i
bmFpbFZpZXcubW0gQG5vLXVuaWZ5Ci1VSVByb2Nlc3MvQVBJL0NvY29hL19XS1VzZXJDb250ZW50
RXh0ZW5zaW9uU3RvcmUubW0gQG5vLXVuaWZ5Ci1VSVByb2Nlc3MvQVBJL0NvY29hL19XS1VzZXJD
b250ZW50RmlsdGVyLm1tIEBuby11bmlmeQotVUlQcm9jZXNzL0FQSS9Db2NvYS9fV0tVc2VyQ29u
dGVudFdvcmxkLm1tIEBuby11bmlmeQotVUlQcm9jZXNzL0FQSS9Db2NvYS9fV0tVc2VySW5pdGlh
dGVkQWN0aW9uLm1tIEBuby11bmlmeQotVUlQcm9jZXNzL0FQSS9Db2NvYS9fV0tVc2VyU3R5bGVT
aGVldC5tbSBAbm8tdW5pZnkKLVVJUHJvY2Vzcy9BUEkvQ29jb2EvX1dLVmlzaXRlZExpbmtTdG9y
ZS5tbSBAbm8tdW5pZnkKLVVJUHJvY2Vzcy9BUEkvQ29jb2EvX1dLV2Vic2l0ZURhdGFTaXplLm1t
IEBuby11bmlmeQotVUlQcm9jZXNzL0FQSS9Db2NvYS9fV0tXZWJzaXRlRGF0YVN0b3JlLm1tIEBu
by11bmlmeQotVUlQcm9jZXNzL0FQSS9Db2NvYS9fV0tXZWJzaXRlRGF0YVN0b3JlQ29uZmlndXJh
dGlvbi5tbSBAbm8tdW5pZnkKLVVJUHJvY2Vzcy9BUEkvQ29jb2EvX1dLV2Vic2l0ZVBvbGljaWVz
Lm1tIEBuby11bmlmeQotVUlQcm9jZXNzL0FQSS9Db2NvYS9BUElDb250ZW50UnVsZUxpc3RTdG9y
ZUNvY29hLm1tIEBuby11bmlmeQotVUlQcm9jZXNzL0FQSS9Db2NvYS9BUElTZXJpYWxpemVkU2Ny
aXB0VmFsdWVDb2NvYS5tbSBAbm8tdW5pZnkKLVVJUHJvY2Vzcy9BUEkvQ29jb2EvQVBJV2Vic2l0
ZURhdGFTdG9yZUNvY29hLm1tIEBuby11bmlmeQotVUlQcm9jZXNzL0FQSS9Db2NvYS9MZWdhY3lC
dW5kbGVGb3JDbGFzcy5tbSBAbm8tdW5pZnkKLVVJUHJvY2Vzcy9BUEkvQ29jb2EvV0tCYWNrRm9y
d2FyZExpc3QubW0gQG5vLXVuaWZ5Ci1VSVByb2Nlc3MvQVBJL0NvY29hL1dLQmFja0ZvcndhcmRM
aXN0SXRlbS5tbSBAbm8tdW5pZnkKLVVJUHJvY2Vzcy9BUEkvQ29jb2EvV0tCcm93c2luZ0NvbnRl
eHRDb250cm9sbGVyLm1tIEBuby11bmlmeQotVUlQcm9jZXNzL0FQSS9Db2NvYS9XS0Jyb3dzaW5n
Q29udGV4dEdyb3VwLm1tIEBuby11bmlmeQotVUlQcm9jZXNzL0FQSS9Db2NvYS9XS0Nvbm5lY3Rp
b24ubW0gQG5vLXVuaWZ5Ci1VSVByb2Nlc3MvQVBJL0NvY29hL1dLQ29udGVudFJ1bGVMaXN0Lm1t
IEBuby11bmlmeQotVUlQcm9jZXNzL0FQSS9Db2NvYS9XS0NvbnRlbnRSdWxlTGlzdFN0b3JlLm1t
IEBuby11bmlmeQotVUlQcm9jZXNzL0FQSS9Db2NvYS9XS0Vycm9yLm1tIEBuby11bmlmeQotVUlQ
cm9jZXNzL0FQSS9Db2NvYS9XS0ZyYW1lSW5mby5tbSBAbm8tdW5pZnkKLVVJUHJvY2Vzcy9BUEkv
Q29jb2EvV0tIVFRQQ29va2llU3RvcmUubW0gQG5vLXVuaWZ5Ci1VSVByb2Nlc3MvQVBJL0NvY29h
L1dLTWVudUl0ZW1JZGVudGlmaWVycy5tbSBAbm8tdW5pZnkKLVVJUHJvY2Vzcy9BUEkvQ29jb2Ev
V0tOYXZpZ2F0aW9uLm1tIEBuby11bmlmeQotVUlQcm9jZXNzL0FQSS9Db2NvYS9XS05hdmlnYXRp
b25BY3Rpb24ubW0gQG5vLXVuaWZ5Ci1VSVByb2Nlc3MvQVBJL0NvY29hL1dLTmF2aWdhdGlvbkRh
dGEubW0gQG5vLXVuaWZ5Ci1VSVByb2Nlc3MvQVBJL0NvY29hL1dLTmF2aWdhdGlvblJlc3BvbnNl
Lm1tIEBuby11bmlmeQotVUlQcm9jZXNzL0FQSS9Db2NvYS9XS05TVVJMQXV0aGVudGljYXRpb25D
aGFsbGVuZ2UubW0gQG5vLXVuaWZ5Ci1VSVByb2Nlc3MvQVBJL0NvY29hL1dLT3BlblBhbmVsUGFy
YW1ldGVycy5tbSBAbm8tdW5pZnkKLVVJUHJvY2Vzcy9BUEkvQ29jb2EvV0tQcmVmZXJlbmNlcy5t
bSBAbm8tdW5pZnkKLVVJUHJvY2Vzcy9BUEkvQ29jb2EvV0tQcmV2aWV3QWN0aW9uSXRlbS5tbSBA
bm8tdW5pZnkKLVVJUHJvY2Vzcy9BUEkvQ29jb2EvV0tQcmV2aWV3QWN0aW9uSXRlbUlkZW50aWZp
ZXJzLm1tIEBuby11bmlmeQotVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1ByZXZpZXdFbGVtZW50SW5m
by5tbSBAbm8tdW5pZnkKLVVJUHJvY2Vzcy9BUEkvQ29jb2EvV0tQcm9jZXNzR3JvdXAubW0gQG5v
LXVuaWZ5Ci1VSVByb2Nlc3MvQVBJL0NvY29hL1dLUHJvY2Vzc1Bvb2wubW0gQG5vLXVuaWZ5Ci1V
SVByb2Nlc3MvQVBJL0NvY29hL1dLU2NyaXB0TWVzc2FnZS5tbSBAbm8tdW5pZnkKLVVJUHJvY2Vz
cy9BUEkvQ29jb2EvV0tTZWN1cml0eU9yaWdpbi5tbSBAbm8tdW5pZnkKLVVJUHJvY2Vzcy9BUEkv
Q29jb2EvV0tTbmFwc2hvdENvbmZpZ3VyYXRpb24ubW0gQG5vLXVuaWZ5Ci1VSVByb2Nlc3MvQVBJ
L0NvY29hL1dLVHlwZVJlZldyYXBwZXIubW0gQG5vLXVuaWZ5Ci1VSVByb2Nlc3MvQVBJL0NvY29h
L1dLVVJMU2NoZW1lVGFzay5tbSBAbm8tdW5pZnkKLVVJUHJvY2Vzcy9BUEkvQ29jb2EvV0tVc2Vy
Q29udGVudENvbnRyb2xsZXIubW0gQG5vLXVuaWZ5Ci1VSVByb2Nlc3MvQVBJL0NvY29hL1dLVXNl
clNjcmlwdC5tbSBAbm8tdW5pZnkKLVVJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJzaXRlRGF0YVJl
Y29yZC5tbSBAbm8tdW5pZnkKLVVJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJzaXRlRGF0YVN0b3Jl
Lm1tIEBuby11bmlmeQotVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXcubW0gQG5vLXVuaWZ5
Ci1VSVByb2Nlc3MvQVBJL0NvY29hL1dLV2ViVmlld0NvbmZpZ3VyYXRpb24ubW0gQG5vLXVuaWZ5
Ci1VSVByb2Nlc3MvQVBJL0NvY29hL1dLV2luZG93RmVhdHVyZXMubW0gQG5vLXVuaWZ5Ci0KLVVJ
UHJvY2Vzcy9BUEkvbWFjL1dLVmlldy5tbSBAbm8tdW5pZnkKK1VJUHJvY2Vzcy9BUEkvQ29jb2Ev
X1dLQWN0aXZhdGVkRWxlbWVudEluZm8ubW0KK1VJUHJvY2Vzcy9BUEkvQ29jb2EvX1dLQXBwbGlj
YXRpb25NYW5pZmVzdC5tbQorVUlQcm9jZXNzL0FQSS9Db2NvYS9fV0tBdHRhY2htZW50Lm1tCitV
SVByb2Nlc3MvQVBJL0NvY29hL19XS0F1dG9tYXRpb25TZXNzaW9uLm1tCitVSVByb2Nlc3MvQVBJ
L0NvY29hL19XS0F1dG9tYXRpb25TZXNzaW9uQ29uZmlndXJhdGlvbi5tbQorVUlQcm9jZXNzL0FQ
SS9Db2NvYS9fV0tDb250ZXh0TWVudUVsZW1lbnRJbmZvLm1tCitVSVByb2Nlc3MvQVBJL0NvY29h
L19XS0Rvd25sb2FkLm1tCitVSVByb2Nlc3MvQVBJL0NvY29hL19XS0VsZW1lbnRBY3Rpb24ubW0K
K1VJUHJvY2Vzcy9BUEkvQ29jb2EvX1dLRXJyb3JSZWNvdmVyeUF0dGVtcHRpbmcubW0KK1VJUHJv
Y2Vzcy9BUEkvQ29jb2EvX1dLRXhwZXJpbWVudGFsRmVhdHVyZS5tbQorVUlQcm9jZXNzL0FQSS9D
b2NvYS9fV0tHZW9sb2NhdGlvblBvc2l0aW9uLm1tCitVSVByb2Nlc3MvQVBJL0NvY29hL19XS0lu
c3BlY3Rvci5tbQorVUlQcm9jZXNzL0FQSS9Db2NvYS9fV0tMaW5rSWNvblBhcmFtZXRlcnMubW0K
K1VJUHJvY2Vzcy9BUEkvQ29jb2EvX1dLUHJvY2Vzc1Bvb2xDb25maWd1cmF0aW9uLm1tCitVSVBy
b2Nlc3MvQVBJL0NvY29hL19XS1JlbW90ZVdlYkluc3BlY3RvclZpZXdDb250cm9sbGVyLm1tCitV
SVByb2Nlc3MvQVBJL0NvY29hL19XS1Nlc3Npb25TdGF0ZS5tbQorVUlQcm9jZXNzL0FQSS9Db2Nv
YS9fV0tUaHVtYm5haWxWaWV3Lm1tCitVSVByb2Nlc3MvQVBJL0NvY29hL19XS1VzZXJDb250ZW50
RXh0ZW5zaW9uU3RvcmUubW0KK1VJUHJvY2Vzcy9BUEkvQ29jb2EvX1dLVXNlckNvbnRlbnRGaWx0
ZXIubW0KK1VJUHJvY2Vzcy9BUEkvQ29jb2EvX1dLVXNlckNvbnRlbnRXb3JsZC5tbQorVUlQcm9j
ZXNzL0FQSS9Db2NvYS9fV0tVc2VySW5pdGlhdGVkQWN0aW9uLm1tCitVSVByb2Nlc3MvQVBJL0Nv
Y29hL19XS1VzZXJTdHlsZVNoZWV0Lm1tCitVSVByb2Nlc3MvQVBJL0NvY29hL19XS1Zpc2l0ZWRM
aW5rU3RvcmUubW0KK1VJUHJvY2Vzcy9BUEkvQ29jb2EvX1dLV2Vic2l0ZURhdGFTaXplLm1tCitV
SVByb2Nlc3MvQVBJL0NvY29hL19XS1dlYnNpdGVEYXRhU3RvcmUubW0KK1VJUHJvY2Vzcy9BUEkv
Q29jb2EvX1dLV2Vic2l0ZURhdGFTdG9yZUNvbmZpZ3VyYXRpb24ubW0KK1VJUHJvY2Vzcy9BUEkv
Q29jb2EvX1dLV2Vic2l0ZVBvbGljaWVzLm1tCitVSVByb2Nlc3MvQVBJL0NvY29hL0FQSUF0dGFj
aG1lbnRDb2NvYS5tbQorVUlQcm9jZXNzL0FQSS9Db2NvYS9BUElDb250ZW50UnVsZUxpc3RTdG9y
ZUNvY29hLm1tCitVSVByb2Nlc3MvQVBJL0NvY29hL0FQSVNlcmlhbGl6ZWRTY3JpcHRWYWx1ZUNv
Y29hLm1tCitVSVByb2Nlc3MvQVBJL0NvY29hL0FQSVdlYnNpdGVEYXRhU3RvcmVDb2NvYS5tbQor
VUlQcm9jZXNzL0FQSS9Db2NvYS9MZWdhY3lCdW5kbGVGb3JDbGFzcy5tbQorVUlQcm9jZXNzL0FQ
SS9Db2NvYS9XS0JhY2tGb3J3YXJkTGlzdC5tbQorVUlQcm9jZXNzL0FQSS9Db2NvYS9XS0JhY2tG
b3J3YXJkTGlzdEl0ZW0ubW0KK1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tCcm93c2luZ0NvbnRleHRD
b250cm9sbGVyLm1tCitVSVByb2Nlc3MvQVBJL0NvY29hL1dLQnJvd3NpbmdDb250ZXh0R3JvdXAu
bW0KK1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tDb25uZWN0aW9uLm1tCitVSVByb2Nlc3MvQVBJL0Nv
Y29hL1dLQ29udGVudFJ1bGVMaXN0Lm1tCitVSVByb2Nlc3MvQVBJL0NvY29hL1dLQ29udGVudFJ1
bGVMaXN0U3RvcmUubW0KK1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tFcnJvci5tbQorVUlQcm9jZXNz
L0FQSS9Db2NvYS9XS0ZyYW1lSW5mby5tbQorVUlQcm9jZXNzL0FQSS9Db2NvYS9XS0hUVFBDb29r
aWVTdG9yZS5tbQorVUlQcm9jZXNzL0FQSS9Db2NvYS9XS01lbnVJdGVtSWRlbnRpZmllcnMubW0K
K1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tOYXZpZ2F0aW9uLm1tCitVSVByb2Nlc3MvQVBJL0NvY29h
L1dLTmF2aWdhdGlvbkFjdGlvbi5tbQorVUlQcm9jZXNzL0FQSS9Db2NvYS9XS05hdmlnYXRpb25E
YXRhLm1tCitVSVByb2Nlc3MvQVBJL0NvY29hL1dLTmF2aWdhdGlvblJlc3BvbnNlLm1tCitVSVBy
b2Nlc3MvQVBJL0NvY29hL1dLTlNVUkxBdXRoZW50aWNhdGlvbkNoYWxsZW5nZS5tbQorVUlQcm9j
ZXNzL0FQSS9Db2NvYS9XS09wZW5QYW5lbFBhcmFtZXRlcnMubW0KK1VJUHJvY2Vzcy9BUEkvQ29j
b2EvV0tQcmVmZXJlbmNlcy5tbQorVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1ByZXZpZXdBY3Rpb25J
dGVtLm1tCitVSVByb2Nlc3MvQVBJL0NvY29hL1dLUHJldmlld0FjdGlvbkl0ZW1JZGVudGlmaWVy
cy5tbQorVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1ByZXZpZXdFbGVtZW50SW5mby5tbQorVUlQcm9j
ZXNzL0FQSS9Db2NvYS9XS1Byb2Nlc3NHcm91cC5tbQorVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1By
b2Nlc3NQb29sLm1tCitVSVByb2Nlc3MvQVBJL0NvY29hL1dLU2NyaXB0TWVzc2FnZS5tbQorVUlQ
cm9jZXNzL0FQSS9Db2NvYS9XS1NlY3VyaXR5T3JpZ2luLm1tCitVSVByb2Nlc3MvQVBJL0NvY29h
L1dLU25hcHNob3RDb25maWd1cmF0aW9uLm1tCitVSVByb2Nlc3MvQVBJL0NvY29hL1dLVHlwZVJl
ZldyYXBwZXIubW0KK1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tVUkxTY2hlbWVUYXNrLm1tCitVSVBy
b2Nlc3MvQVBJL0NvY29hL1dLVXNlckNvbnRlbnRDb250cm9sbGVyLm1tCitVSVByb2Nlc3MvQVBJ
L0NvY29hL1dLVXNlclNjcmlwdC5tbQorVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYnNpdGVEYXRh
UmVjb3JkLm1tCitVSVByb2Nlc3MvQVBJL0NvY29hL1dLV2Vic2l0ZURhdGFTdG9yZS5tbQorVUlQ
cm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXcubW0KK1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJW
aWV3Q29uZmlndXJhdGlvbi5tbQorVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dpbmRvd0ZlYXR1cmVz
Lm1tCisKK1VJUHJvY2Vzcy9BUEkvbWFjL1dLVmlldy5tbQogCiBVSVByb2Nlc3MvQXBwbGVQYXkv
Y29jb2EvV2ViUGF5bWVudENvb3JkaW5hdG9yUHJveHlDb2NvYS5tbQogCkBAIC00NzcsMjMgKzQ3
OSwyMyBAQCBXZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0FQSS9jL1dLQnVuZGxlUGFnZUJhbm5l
ci5jcHAKIFdlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvQVBJL2MvbWFjL1dLQnVuZGxlTWFjLm1t
CiBXZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0FQSS9jL21hYy9XS0J1bmRsZVBhZ2VCYW5uZXJN
YWMubW0KIAotV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9BUEkvQ29jb2EvV0tXZWJQcm9jZXNz
QnVuZGxlUGFyYW1ldGVycy5tbSBAbm8tdW5pZnkKLVdlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUv
QVBJL0NvY29hL1dLV2ViUHJvY2Vzc1BsdWdJbkZyYW1lLm1tIEBuby11bmlmeQotV2ViUHJvY2Vz
cy9JbmplY3RlZEJ1bmRsZS9BUEkvQ29jb2EvV0tXZWJQcm9jZXNzUGx1Z0luSGl0VGVzdFJlc3Vs
dC5tbSBAbm8tdW5pZnkKLVdlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvQVBJL0NvY29hL1dLV2Vi
UHJvY2Vzc1BsdWdJbk5vZGVIYW5kbGUubW0gQG5vLXVuaWZ5Ci1XZWJQcm9jZXNzL0luamVjdGVk
QnVuZGxlL0FQSS9Db2NvYS9XS1dlYlByb2Nlc3NQbHVnSW5QYWdlR3JvdXAubW0gQG5vLXVuaWZ5
Ci1XZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0FQSS9Db2NvYS9XS1dlYlByb2Nlc3NQbHVnSW5S
YW5nZUhhbmRsZS5tbSBAbm8tdW5pZnkKLVdlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvQVBJL0Nv
Y29hL1dLV2ViUHJvY2Vzc1BsdWdJblNjcmlwdFdvcmxkLm1tIEBuby11bmlmeQotCi1XZWJQcm9j
ZXNzL0luamVjdGVkQnVuZGxlL0FQSS9tYWMvV0tET01Eb2N1bWVudC5tbSBAbm8tdW5pZnkKLVdl
YlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvQVBJL21hYy9XS0RPTUVsZW1lbnQubW0gQG5vLXVuaWZ5
Ci1XZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0FQSS9tYWMvV0tET01JbnRlcm5hbHMubW0gQG5v
LXVuaWZ5Ci1XZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0FQSS9tYWMvV0tET01Ob2RlLm1tIEBu
by11bmlmeQotV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9BUEkvbWFjL1dLRE9NUmFuZ2UubW0g
QG5vLXVuaWZ5Ci1XZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0FQSS9tYWMvV0tET01UZXh0Lm1t
IEBuby11bmlmeQotV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9BUEkvbWFjL1dLRE9NVGV4dEl0
ZXJhdG9yLm1tIEBuby11bmlmeQotV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9BUEkvbWFjL1dL
V2ViUHJvY2Vzc1BsdWdJbi5tbSBAbm8tdW5pZnkKLVdlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUv
QVBJL21hYy9XS1dlYlByb2Nlc3NQbHVnSW5Ccm93c2VyQ29udGV4dENvbnRyb2xsZXIubW0gQG5v
LXVuaWZ5CitXZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0FQSS9Db2NvYS9XS1dlYlByb2Nlc3NC
dW5kbGVQYXJhbWV0ZXJzLm1tCitXZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0FQSS9Db2NvYS9X
S1dlYlByb2Nlc3NQbHVnSW5GcmFtZS5tbQorV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9BUEkv
Q29jb2EvV0tXZWJQcm9jZXNzUGx1Z0luSGl0VGVzdFJlc3VsdC5tbQorV2ViUHJvY2Vzcy9Jbmpl
Y3RlZEJ1bmRsZS9BUEkvQ29jb2EvV0tXZWJQcm9jZXNzUGx1Z0luTm9kZUhhbmRsZS5tbQorV2Vi
UHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9BUEkvQ29jb2EvV0tXZWJQcm9jZXNzUGx1Z0luUGFnZUdy
b3VwLm1tCitXZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0FQSS9Db2NvYS9XS1dlYlByb2Nlc3NQ
bHVnSW5SYW5nZUhhbmRsZS5tbQorV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9BUEkvQ29jb2Ev
V0tXZWJQcm9jZXNzUGx1Z0luU2NyaXB0V29ybGQubW0KKworV2ViUHJvY2Vzcy9JbmplY3RlZEJ1
bmRsZS9BUEkvbWFjL1dLRE9NRG9jdW1lbnQubW0KK1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUv
QVBJL21hYy9XS0RPTUVsZW1lbnQubW0KK1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvQVBJL21h
Yy9XS0RPTUludGVybmFscy5tbQorV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9BUEkvbWFjL1dL
RE9NTm9kZS5tbQorV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9BUEkvbWFjL1dLRE9NUmFuZ2Uu
bW0KK1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvQVBJL21hYy9XS0RPTVRleHQubW0KK1dlYlBy
b2Nlc3MvSW5qZWN0ZWRCdW5kbGUvQVBJL21hYy9XS0RPTVRleHRJdGVyYXRvci5tbQorV2ViUHJv
Y2Vzcy9JbmplY3RlZEJ1bmRsZS9BUEkvbWFjL1dLV2ViUHJvY2Vzc1BsdWdJbi5tbQorV2ViUHJv
Y2Vzcy9JbmplY3RlZEJ1bmRsZS9BUEkvbWFjL1dLV2ViUHJvY2Vzc1BsdWdJbkJyb3dzZXJDb250
ZXh0Q29udHJvbGxlci5tbQogCiBXZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL21hYy9JbmplY3Rl
ZEJ1bmRsZU1hYy5tbQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkv
Q29jb2EvQVBJQ29udGVudFJ1bGVMaXN0U3RvcmVDb2NvYS5tbSBiL1NvdXJjZS9XZWJLaXQvVUlQ
cm9jZXNzL0FQSS9Db2NvYS9BUElDb250ZW50UnVsZUxpc3RTdG9yZUNvY29hLm1tCmluZGV4IGQ1
MThmMDUzM2QyZTQwNjgxODZlMmQ5OWU4YmYxNWU2NjBmM2VmZWEuLjA2MjVmMjMyZDNkMDBhNTE1
OTNmYzE1ODRmZDVlMGVkZWRmOTlkYzIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9j
ZXNzL0FQSS9Db2NvYS9BUElDb250ZW50UnVsZUxpc3RTdG9yZUNvY29hLm1tCisrKyBiL1NvdXJj
ZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9BUElDb250ZW50UnVsZUxpc3RTdG9yZUNvY29h
Lm1tCkBAIC0zMiw3ICszMiw3IEBACiAKIG5hbWVzcGFjZSBBUEkgewogCi1TdHJpbmcgQ29udGVu
dFJ1bGVMaXN0U3RvcmU6OmRlZmF1bHRTdG9yZVBhdGgoYm9vbCBsZWdhY3lGaWxlbmFtZSkKK1dU
Rjo6U3RyaW5nIENvbnRlbnRSdWxlTGlzdFN0b3JlOjpkZWZhdWx0U3RvcmVQYXRoKGJvb2wgbGVn
YWN5RmlsZW5hbWUpCiB7CiAgICAgc3RhdGljIGRpc3BhdGNoX29uY2VfdCBvbmNlVG9rZW47CiAg
ICAgc3RhdGljIE5TVVJMICpjb250ZW50UnVsZUxpc3RTdG9yZVVSTDsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQvV2ViS2l0Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2ogYi9Tb3VyY2UvV2Vi
S2l0L1dlYktpdC54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCmluZGV4IDQxYTU2OWRjYzkxMjY4
YzUyM2I1YWIwNmFkN2FiYWMxMWMxZjJmMWEuLjdiZGFjNjBmYzMyYjYwNzM3ZTZlZDExZjYxNzc5
NDEwNTBmNzU3MGEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViS2l0Lnhjb2RlcHJvai9w
cm9qZWN0LnBieHByb2oKKysrIGIvU291cmNlL1dlYktpdC9XZWJLaXQueGNvZGVwcm9qL3Byb2pl
Y3QucGJ4cHJvagpAQCAtMTE3LDcgKzExNyw2IEBACiAJCTE1NzM5QkJEMUI0MjA0MkQwMEQyNThD
MSAvKiBXZWJVc2VyTWVkaWFDbGllbnQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IDRBNDEwRjQ5MTlBRjdCODAwMDJFQkFCNSAvKiBXZWJVc2VyTWVkaWFD
bGllbnQuaCAqLzsgfTsKIAkJMUEwMDJENDMxOTZCMzM3MDAwQjlBRDQ0IC8qIF9XS1Nlc3Npb25T
dGF0ZUludGVybmFsLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSAxQTAwMkQ0MjE5NkIzMzcwMDBCOUFENDQgLyogX1dLU2Vzc2lvblN0YXRlSW50ZXJuYWwu
aCAqLzsgfTsKIAkJMUEwMDJENDQxOTZCMzM4OTAwQjlBRDQ0IC8qIF9XS1Nlc3Npb25TdGF0ZS5o
IGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMUEwMDJEM0Yx
OTZCMzI5NDAwQjlBRDQ0IC8qIF9XS1Nlc3Npb25TdGF0ZS5oICovOyBzZXR0aW5ncyA9IHtBVFRS
SUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07Ci0JCTFBMDAyRDQ1MTk2QjMzOEUwMEI5QUQ0NCAv
KiBfV0tTZXNzaW9uU3RhdGUubW0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSAxQTAwMkQzRTE5NkIzMjk0MDBCOUFENDQgLyogX1dLU2Vzc2lvblN0YXRlLm1t
ICovOyB9OwogCQkxQTAwMkQ0OTE5NkIzNDVEMDBCOUFENDQgLyogU2Vzc2lvblN0YXRlQ29kaW5n
LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxQTAwMkQ0
NzE5NkIzNDVEMDBCOUFENDQgLyogU2Vzc2lvblN0YXRlQ29kaW5nLmggKi87IH07CiAJCTFBMDQz
OTc2MTI0RDAzNDgwMEZGQkZCNSAvKiBQbHVnaW5Qcm9jZXNzLmggaW4gSGVhZGVycyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxQTA0Mzk3NDEyNEQwMzQ4MDBGRkJGQjUgLyog
UGx1Z2luUHJvY2Vzcy5oICovOyB9OwogCQkxQTA0Mzk3NzEyNEQwMzQ4MDBGRkJGQjUgLyogUGx1
Z2luUHJvY2Vzcy5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSAxQTA0Mzk3NTEyNEQwMzQ4MDBGRkJGQjUgLyogUGx1Z2luUHJvY2Vzcy5jcHAgKi87IH07
CkBAIC0xNDAsMTEgKzEzOSw5IEBACiAJCTFBMEVDOTBGMTI0QzBBRjUwMDdFRjRBNSAvKiBQbHVn
aW5Qcm9jZXNzQ29ubmVjdGlvbk1hbmFnZXIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IDFBMEVDOTBEMTI0QzBBRjUwMDdFRjRBNSAvKiBQbHVnaW5Qcm9j
ZXNzQ29ubmVjdGlvbk1hbmFnZXIuaCAqLzsgfTsKIAkJMUEwRjI5RTQxMjBCNDQ0MjAwNTNEMUI5
IC8qIFZpc2l0ZWRMaW5rU3RvcmUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IDFBMEYyOUUyMTIwQjQ0NDIwMDUzRDFCOSAvKiBWaXNpdGVkTGlua1N0b3Jl
LmggKi87IH07CiAJCTFBMTRGOEUyMUQ3NEM4MzQwMDZDQkVDNiAvKiBGcmFtZUluZm9EYXRhLmgg
aW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxQTE0RjhFMDFE
NzRDODM0MDA2Q0JFQzYgLyogRnJhbWVJbmZvRGF0YS5oICovOyB9OwotCQkxQTE1ODQxOTE4OTA0
NEY1MDAxNzYxNkMgLyogV0tQcm9jZXNzUG9vbC5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDFBMTU4NDE3MTg5MDQ0RjUwMDE3NjE2QyAvKiBXS1Byb2Nl
c3NQb29sLm1tICovOyB9OwogCQkxQTE1ODQxQTE4OTA0NEY1MDAxNzYxNkMgLyogV0tQcm9jZXNz
UG9vbC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMUEx
NTg0MTgxODkwNDRGNTAwMTc2MTZDIC8qIFdLUHJvY2Vzc1Bvb2wuaCAqLzsgc2V0dGluZ3MgPSB7
QVRUUklCVVRFUyA9IChQdWJsaWMsICk7IH07IH07CiAJCTFBMTc5NzdGMTM3RUU4MkMwMEY5N0Q0
NSAvKiBQbHVnaW5DcmVhdGlvblBhcmFtZXRlcnMuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMUExNzk3N0QxMzdFRTgyQzAwRjk3RDQ1IC8qIFBsdWdp
bkNyZWF0aW9uUGFyYW1ldGVycy5jcHAgKi87IH07CiAJCTFBMTc5NzgwMTM3RUU4MkMwMEY5N0Q0
NSAvKiBQbHVnaW5DcmVhdGlvblBhcmFtZXRlcnMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDFBMTc5NzdFMTM3RUU4MkMwMEY5N0Q0NSAvKiBQbHVnaW5D
cmVhdGlvblBhcmFtZXRlcnMuaCAqLzsgfTsKLQkJMUExQjBFQjUxOEE0MjQ5NTAwMzg0ODFBIC8q
IFdLTmF2aWdhdGlvblJlc3BvbnNlLm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gMUExQjBFQjMxOEE0MjQ5NTAwMzg0ODFBIC8qIFdLTmF2aWdhdGlvblJl
c3BvbnNlLm1tICovOyB9OwogCQkxQTFCMEVCNjE4QTQyNDk1MDAzODQ4MUEgLyogV0tOYXZpZ2F0
aW9uUmVzcG9uc2UuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IDFBMUIwRUI0MThBNDI0OTUwMDM4NDgxQSAvKiBXS05hdmlnYXRpb25SZXNwb25zZS5oICov
OyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFB1YmxpYywgKTsgfTsgfTsKIAkJMUExQjBFQjgx
OEE0MjRDRDAwMzg0ODFBIC8qIFdLTmF2aWdhdGlvblJlc3BvbnNlSW50ZXJuYWwuaCBpbiBIZWFk
ZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDFBMUIwRUI3MThBNDI0Q0Qw
MDM4NDgxQSAvKiBXS05hdmlnYXRpb25SZXNwb25zZUludGVybmFsLmggKi87IH07CiAJCTFBMUQ4
QkEyMTczMUEzNjMwMDE0MURBNCAvKiBMb2NhbFN0b3JhZ2VEYXRhYmFzZS5oIGluIEhlYWRlcnMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMUExRDhCQTAxNzMxQTM2MzAwMTQx
REE0IC8qIExvY2FsU3RvcmFnZURhdGFiYXNlLmggKi87IH07CkBAIC0xNTgsNyArMTU1LDYgQEAK
IAkJMUEyNDY0RjMxODkxRTQ1MTAwMjM0QzVCIC8qIEFQSUxvYWRlckNsaWVudC5oIGluIEhlYWRl
cnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMUEyNDY0RjIxODkxRTQ1MTAw
MjM0QzVCIC8qIEFQSUxvYWRlckNsaWVudC5oICovOyB9OwogCQkxQTI0QjVGMzExRjUzMUU4MDBD
MzgyNjkgLyogTWFjaFV0aWxpdGllcy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gMUEyNEI1RjExMUY1MzFFODAwQzM4MjY5IC8qIE1hY2hVdGlsaXRpZXMu
aCAqLzsgfTsKIAkJMUEyNEJFRDUxMjA4OTREMTAwRkJCMDU5IC8qIFNoYXJlZE1lbW9yeS5oIGlu
IEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMUEyNEJFRDMxMjA4
OTREMTAwRkJCMDU5IC8qIFNoYXJlZE1lbW9yeS5oICovOyB9OwotCQkxQTI1NkUzNzE4QTFBNzg4
MDA2RkI5MjIgLyogV0tOYXZpZ2F0aW9uQWN0aW9uLm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMUEyNTZFMzUxOEExQTc4ODAwNkZCOTIyIC8qIFdLTmF2
aWdhdGlvbkFjdGlvbi5tbSAqLzsgfTsKIAkJMUEyNTZFMzgxOEExQTc4ODAwNkZCOTIyIC8qIFdL
TmF2aWdhdGlvbkFjdGlvbi5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gMUEyNTZFMzYxOEExQTc4ODAwNkZCOTIyIC8qIFdLTmF2aWdhdGlvbkFjdGlvbi5o
ICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFB1YmxpYywgKTsgfTsgfTsKIAkJMUEyNTZF
M0ExOEExQTdERjAwNkZCOTIyIC8qIFdLTmF2aWdhdGlvbkFjdGlvbkludGVybmFsLmggaW4gSGVh
ZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxQTI1NkUzOTE4QTFBN0RG
MDA2RkI5MjIgLyogV0tOYXZpZ2F0aW9uQWN0aW9uSW50ZXJuYWwuaCAqLzsgfTsKIAkJMUEyQkI2
RDAxNDExN0I0RDAwMEYzNUQ0IC8qIFBsdWdpblByb2Nlc3NDb25uZWN0aW9uTWVzc2FnZVJlY2Vp
dmVyLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDFB
MkJCNkNFMTQxMTdCNEQwMDBGMzVENCAvKiBQbHVnaW5Qcm9jZXNzQ29ubmVjdGlvbk1lc3NhZ2VS
ZWNlaXZlci5jcHAgKi87IH07CkBAIC0xNzcsOSArMTczLDcgQEAKIAkJMUEzMzRERUQxNkRFOEY4
ODAwNkE4RTM4IC8qIFN0b3JhZ2VBcmVhTWFwTWVzc2FnZVJlY2VpdmVyLmNwcCBpbiBTb3VyY2Vz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDFBMzM0REVCMTZERThGODgwMDZB
OEUzOCAvKiBTdG9yYWdlQXJlYU1hcE1lc3NhZ2VSZWNlaXZlci5jcHAgKi87IH07CiAJCTFBMzM0
REVFMTZERThGODgwMDZBOEUzOCAvKiBTdG9yYWdlQXJlYU1hcE1lc3NhZ2VzLmggaW4gSGVhZGVy
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxQTMzNERFQzE2REU4Rjg4MDA2
QThFMzggLyogU3RvcmFnZUFyZWFNYXBNZXNzYWdlcy5oICovOyB9OwogCQkxQTM2MzVBQTFBMzE0
NEEzMDBFRDYxOTcgLyogQVBJV2Vic2l0ZURhdGFTdG9yZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMUEzNjM1QTgxQTMxNDRBMzAwRUQ2MTk3IC8qIEFQ
SVdlYnNpdGVEYXRhU3RvcmUuaCAqLzsgfTsKLQkJMUEzNjM1QUQxQTMxNDVFNTAwRUQ2MTk3IC8q
IEFQSVdlYnNpdGVEYXRhU3RvcmVDb2NvYS5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IDFBMzYzNUFCMUEzMTQ1RTUwMEVENjE5NyAvKiBBUElXZWJzaXRl
RGF0YVN0b3JlQ29jb2EubW0gKi87IH07CiAJCTFBM0M4ODgwMThBNUFCQUUwMEM0Qzk2MiAvKiBX
S1ByZWZlcmVuY2VzSW50ZXJuYWwuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IDFBM0M4ODdGMThBNUFCQUUwMEM0Qzk2MiAvKiBXS1ByZWZlcmVuY2VzSW50
ZXJuYWwuaCAqLzsgfTsKLQkJMUEzQ0MxNjYxODkwNkFDRjAwMUU2RUQ4IC8qIFdLV2ViVmlldy5t
bSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDFBM0NDMTY0
MTg5MDZBQ0YwMDFFNkVEOCAvKiBXS1dlYlZpZXcubW0gKi87IH07CiAJCTFBM0NDMTY3MTg5MDZB
Q0YwMDFFNkVEOCAvKiBXS1dlYlZpZXcuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IDFBM0NDMTY1MTg5MDZBQ0YwMDFFNkVEOCAvKiBXS1dlYlZpZXcuaCAq
Lzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQdWJsaWMsICk7IH07IH07CiAJCTFBM0NDMTY5
MTg5MDdFQjAwMDFFNkVEOCAvKiBXS1Byb2Nlc3NQb29sSW50ZXJuYWwuaCBpbiBIZWFkZXJzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDFBM0NDMTY4MTg5MDdFQjAwMDFFNkVE
OCAvKiBXS1Byb2Nlc3NQb29sSW50ZXJuYWwuaCAqLzsgfTsKIAkJMUEzRDYxMDIxM0E3Q0MyQTAw
Rjk1RDRFIC8qIFBsdWdpbk1vZHVsZUluZm8uaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IDFBM0Q2MTAwMTNBN0NDMkEwMEY5NUQ0RSAvKiBQbHVnaW5Nb2R1
bGVJbmZvLmggKi87IH07CkBAIC0xODgsMTQgKzE4MiwxMiBAQAogCQkxQTNFRUQwRjE2MUE1MzU0
MDBBRUI0RjUgLyogTWVzc2FnZVJlY2VpdmVyTWFwLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxQTNFRUQwRDE2MUE1MzUzMDBBRUI0RjUgLyogTWVzc2Fn
ZVJlY2VpdmVyTWFwLmggKi87IH07CiAJCTFBM0VFRDEyMTYxQTUzRDYwMEFFQjRGNSAvKiBNZXNz
YWdlUmVjZWl2ZXIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IDFBM0VFRDExMTYxQTUzRDYwMEFFQjRGNSAvKiBNZXNzYWdlUmVjZWl2ZXIuaCAqLzsgfTsK
IAkJMUE0MjJGOEIxOEIyOUI1NDAwRDhDRDk2IC8qIFdLSGlzdG9yeURlbGVnYXRlUHJpdmF0ZS5o
IGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMUE0MjJGOEEx
OEIyOUI1NDAwRDhDRDk2IC8qIFdLSGlzdG9yeURlbGVnYXRlUHJpdmF0ZS5oICovOyBzZXR0aW5n
cyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07Ci0JCTFBNDNFODI5MTg4RjNDREMw
MDlFNEQzMCAvKiBfV0tQcm9jZXNzUG9vbENvbmZpZ3VyYXRpb24ubW0gaW4gU291cmNlcyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxQTQzRTgyNzE4OEYzQ0RDMDA5RTREMzAg
LyogX1dLUHJvY2Vzc1Bvb2xDb25maWd1cmF0aW9uLm1tICovOyB9OwogCQkxQTQzRTgyQTE4OEYz
Q0RDMDA5RTREMzAgLyogX1dLUHJvY2Vzc1Bvb2xDb25maWd1cmF0aW9uLmggaW4gSGVhZGVycyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxQTQzRTgyODE4OEYzQ0RDMDA5RTRE
MzAgLyogX1dLUHJvY2Vzc1Bvb2xDb25maWd1cmF0aW9uLmggKi87IHNldHRpbmdzID0ge0FUVFJJ
QlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJMUE0NDVCOUYxODRENUZCNTAwNEIzNDE0IC8q
IFdLQ29udGV4dEluamVjdGVkQnVuZGxlQ2xpZW50LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxQTQ0NUI5RTE4NEQ1RkI1MDA0QjM0MTQgLyogV0tDb250
ZXh0SW5qZWN0ZWRCdW5kbGVDbGllbnQuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQ
cml2YXRlLCApOyB9OyB9OwogCQkxQTQ0NUJBMTE4NEQ1RkMxMDA0QjM0MTQgLyogV0tDb250ZXh0
SGlzdG9yeUNsaWVudC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gMUE0NDVCQTAxODRENUZDMTAwNEIzNDE0IC8qIFdLQ29udGV4dEhpc3RvcnlDbGllbnQu
aCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQkxQTQ0
NUJBMzE4NEQ1RkNGMDA0QjM0MTQgLyogV0tDb250ZXh0RG93bmxvYWRDbGllbnQuaCBpbiBIZWFk
ZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDFBNDQ1QkEyMTg0RDVGQ0Yw
MDRCMzQxNCAvKiBXS0NvbnRleHREb3dubG9hZENsaWVudC5oICovOyBzZXR0aW5ncyA9IHtBVFRS
SUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTFBNDQ1QkE1MTg0RDVGREEwMDRCMzQxNCAv
KiBXS0NvbnRleHRDb25uZWN0aW9uQ2xpZW50LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSAxQTQ0NUJBNDE4NEQ1RkRBMDA0QjM0MTQgLyogV0tDb250ZXh0
Q29ubmVjdGlvbkNsaWVudC5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUs
ICk7IH07IH07CiAJCTFBNDRCOTVDMTZCNzNGOUYwMEI3QkJEOCAvKiBTdG9yYWdlTWFuYWdlci5o
IGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMUE0NEI5NUEx
NkI3M0Y5RjAwQjdCQkQ4IC8qIFN0b3JhZ2VNYW5hZ2VyLmggKi87IH07Ci0JCTFBNDgzMkNCMUE5
QkM0NjUwMDhCNERGRSAvKiBXS1dlYnNpdGVEYXRhUmVjb3JkLm1tIGluIFNvdXJjZXMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMUE0ODMyQzkxQTlCQzQ2NTAwOEI0REZFIC8q
IFdLV2Vic2l0ZURhdGFSZWNvcmQubW0gKi87IH07CiAJCTFBNDgzMkNDMUE5QkM0NjUwMDhCNERG
RSAvKiBXS1dlYnNpdGVEYXRhUmVjb3JkLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSAxQTQ4MzJDQTFBOUJDNDY1MDA4QjRERkUgLyogV0tXZWJzaXRlRGF0
YVJlY29yZC5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFB1YmxpYywgKTsgfTsgfTsK
IAkJMUE0ODMyQ0UxQTlCQzQ4NDAwOEI0REZFIC8qIFdLV2Vic2l0ZURhdGFSZWNvcmRJbnRlcm5h
bC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMUE0ODMy
Q0QxQTlCQzQ4NDAwOEI0REZFIC8qIFdLV2Vic2l0ZURhdGFSZWNvcmRJbnRlcm5hbC5oICovOyB9
OwogCQkxQTQ4MzJEMTFBOUJEQzJGMDA4QjRERkUgLyogV2Vic2l0ZURhdGFSZWNvcmQuaCBpbiBI
ZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDFBNDgzMkNGMUE5QkQ4
MjEwMDhCNERGRSAvKiBXZWJzaXRlRGF0YVJlY29yZC5oICovOyB9OwpAQCAtMjA0LDE3ICsxOTYs
MTMgQEAKIAkJMUE0QTlDNTYxMkI4MTZDRjAwOEZFOTg0IC8qIE5ldHNjYXBlUGx1Z2luTW9kdWxl
LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxQTRBOUM1
NDEyQjgxNkNGMDA4RkU5ODQgLyogTmV0c2NhcGVQbHVnaW5Nb2R1bGUuaCAqLzsgfTsKIAkJMUE0
QTlGMzMxMkI4NDRFMjAwOEZFOTg0IC8qIFBsdWdpblF1aXJrcy5oIGluIEhlYWRlcnMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMUE0QTlGMzExMkI4NDRFMjAwOEZFOTg0IC8q
IFBsdWdpblF1aXJrcy5oICovOyB9OwogCQkxQTRENjY0ODE4QTJEOTFBMDBEODJFMjEgLyogQVBJ
VUlDbGllbnQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IDFBNEQ2NjQ3MThBMkQ5MUEwMEQ4MkUyMSAvKiBBUElVSUNsaWVudC5oICovOyB9OwotCQkxQTRE
NjY0QjE4QTMwMzBFMDBEODJFMjEgLyogV0tGcmFtZUluZm8ubW0gaW4gU291cmNlcyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxQTRENjY0OTE4QTMwMzBFMDBEODJFMjEgLyog
V0tGcmFtZUluZm8ubW0gKi87IH07CiAJCTFBNEQ2NjRDMThBMzAzMEUwMEQ4MkUyMSAvKiBXS0Zy
YW1lSW5mby5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
MUE0RDY2NEExOEEzMDMwRTAwRDgyRTIxIC8qIFdLRnJhbWVJbmZvLmggKi87IHNldHRpbmdzID0g
e0FUVFJJQlVURVMgPSAoUHVibGljLCApOyB9OyB9OwogCQkxQTUyQzBGODFBMzhDREM3MDAxNjE2
MEEgLyogV2ViU3RvcmFnZU5hbWVzcGFjZVByb3ZpZGVyLmggaW4gSGVhZGVycyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxQTUyQzBGNjFBMzhDREM3MDAxNjE2MEEgLyogV2Vi
U3RvcmFnZU5hbWVzcGFjZVByb3ZpZGVyLmggKi87IH07CiAJCTFBNTNDMkFBMUEzMjU3MzAwMDRF
OEM3MCAvKiBXZWJzaXRlRGF0YVN0b3JlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSAxQTUzQzJBNTFBMzI1NjlGMDA0RThDNzAgLyogV2Vic2l0ZURhdGFT
dG9yZS5oICovOyB9OwotCQkxQTU3MDRGNzFCRTAxRkY0MDA4NzRBRjEgLyogX1dLQ29udGV4dE1l
bnVFbGVtZW50SW5mby5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IDFBNTcwNEY1MUJFMDFGRjQwMDg3NEFGMSAvKiBfV0tDb250ZXh0TWVudUVsZW1lbnRJ
bmZvLm1tICovOyB9OwogCQkxQTU3MDRGODFCRTAxRkY0MDA4NzRBRjEgLyogX1dLQ29udGV4dE1l
bnVFbGVtZW50SW5mby5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gMUE1NzA0RjYxQkUwMUZGNDAwODc0QUYxIC8qIF9XS0NvbnRleHRNZW51RWxlbWVudElu
Zm8uaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwotCQkx
QTU3MDRGQjFCRTE3NTExMDA4NzRBRjEgLyogUmVtb3RlT2JqZWN0SW52b2NhdGlvbi5tbSBpbiBT
b3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDFBNTcwNEY5MUJFMTc1
MTEwMDg3NEFGMSAvKiBSZW1vdGVPYmplY3RJbnZvY2F0aW9uLm1tICovOyB9OwogCQkxQTU3MDRG
QzFCRTE3NTExMDA4NzRBRjEgLyogUmVtb3RlT2JqZWN0SW52b2NhdGlvbi5oIGluIEhlYWRlcnMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMUE1NzA0RkExQkUxNzUxMTAwODc0
QUYxIC8qIFJlbW90ZU9iamVjdEludm9jYXRpb24uaCAqLzsgfTsKIAkJMUE1NzA1MTExQkU0MTBF
NjAwODc0QUYxIC8qIEJsb2NrU1BJLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSAxQTU3MDUxMDFCRTQxMEU1MDA4NzRBRjEgLyogQmxvY2tTUEkuaCAqLzsg
fTsKIAkJMUE1NzEwOUYxQUJBMDAyNzAwMkZBQkJFIC8qIFdLV2Vic2l0ZURhdGFTdG9yZVJlZi5o
IGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMUE1NzEwOUQx
QUJBMDAyNzAwMkZBQkJFIC8qIFdLV2Vic2l0ZURhdGFTdG9yZVJlZi5oICovOyBzZXR0aW5ncyA9
IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07Ci0JCTFBNUIxQzUwMTg5ODYwNkYwMDRG
Q0Y5QiAvKiBXS05hdmlnYXRpb24ubW0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSAxQTVCMUM0RTE4OTg2MDZGMDA0RkNGOUIgLyogV0tOYXZpZ2F0aW9uLm1t
ICovOyB9OwogCQkxQTVCMUM1MTE4OTg2MDZGMDA0RkNGOUIgLyogV0tOYXZpZ2F0aW9uLmggaW4g
SGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxQTVCMUM0RjE4OTg2
MDZGMDA0RkNGOUIgLyogV0tOYXZpZ2F0aW9uLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMg
PSAoUHVibGljLCApOyB9OyB9OwogCQkxQTVCMUM1NTE4OTg3RURGMDA0RkNGOUIgLyogV2ViRG9j
dW1lbnRMb2FkZXIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IDFBNUIxQzUzMTg5ODdFREYwMDRGQ0Y5QiAvKiBXZWJEb2N1bWVudExvYWRlci5oICovOyB9
OwogCQkxQTVFNERBNDEyRDNCRDNEMDA5OUEyQkIgLyogVGV4dENoZWNrZXJTdGF0ZS5oIGluIEhl
YWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMUE1RTREQTMxMkQzQkQz
RDAwOTlBMkJCIC8qIFRleHRDaGVja2VyU3RhdGUuaCAqLzsgfTsKQEAgLTI0Myw5ICsyMzEsNyBA
QAogCQkxQTc4NjVCQTE2Q0FDNzE1MDBBQ0U4M0EgLyogUGx1Z2luUHJvY2Vzc0Nvbm5lY3Rpb25N
YW5hZ2VyTWVzc2FnZXMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IDFBNzg2NUI4MTZDQUM3MTUwMEFDRTgzQSAvKiBQbHVnaW5Qcm9jZXNzQ29ubmVjdGlv
bk1hbmFnZXJNZXNzYWdlcy5oICovOyB9OwogCQkxQTdDMERGNzFCN0QxRjEwMDBBOUI4NDggLyog
V0tXaW5kb3dGZWF0dXJlc1JlZi5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gMUE3QzBERjUxQjdEMUYxMDAwQTlCODQ4IC8qIFdLV2luZG93RmVhdHVyZXNS
ZWYuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQkx
QTdFMzc3NTE4RTRBMzNBMDAzRDBGRkYgLyogV0tTY3JpcHRNZXNzYWdlSGFuZGxlci5oIGluIEhl
YWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMUE3RTM3NzQxOEU0QTMz
QTAwM0QwRkZGIC8qIFdLU2NyaXB0TWVzc2FnZUhhbmRsZXIuaCAqLzsgc2V0dGluZ3MgPSB7QVRU
UklCVVRFUyA9IChQdWJsaWMsICk7IH07IH07Ci0JCTFBN0UzNzc4MThFNEE0RkUwMDNEMEZGRiAv
KiBXS1NjcmlwdE1lc3NhZ2UubW0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSAxQTdFMzc3NjE4RTRBNEZFMDAzRDBGRkYgLyogV0tTY3JpcHRNZXNzYWdlLm1t
ICovOyB9OwogCQkxQTdFMzc3OTE4RTRBNEZFMDAzRDBGRkYgLyogV0tTY3JpcHRNZXNzYWdlLmgg
aW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxQTdFMzc3NzE4
RTRBNEZFMDAzRDBGRkYgLyogV0tTY3JpcHRNZXNzYWdlLmggKi87IHNldHRpbmdzID0ge0FUVFJJ
QlVURVMgPSAoUHVibGljLCApOyB9OyB9OwotCQkxQTgxQjM4MDE4QkQ2NkFEMDAwN0ZEQUMgLyog
X1dLVmlzaXRlZExpbmtTdG9yZS5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IDFBODFCMzdFMThCRDY2QUQwMDA3RkRBQyAvKiBfV0tWaXNpdGVkTGlua1N0
b3JlLm1tICovOyB9OwogCQkxQTgxQjM4MTE4QkQ2NkFEMDAwN0ZEQUMgLyogX1dLVmlzaXRlZExp
bmtTdG9yZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
MUE4MUIzN0YxOEJENjZBRDAwMDdGREFDIC8qIF9XS1Zpc2l0ZWRMaW5rU3RvcmUuaCAqLzsgc2V0
dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQkxQTgxQjM4NTE4QkQ2
NzNBMDAwN0ZEQUMgLyogX1dLVmlzaXRlZExpbmtTdG9yZUludGVybmFsLmggaW4gSGVhZGVycyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxQTgxQjM4NDE4QkQ2NzNBMDAwN0ZE
QUMgLyogX1dLVmlzaXRlZExpbmtTdG9yZUludGVybmFsLmggKi87IH07CiAJCTFBODVFNDcyMUUz
MDNGMzcwMDkxNDU5OSAvKiBXZWJLaXQuYXBpbm90ZXMgaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxQTg1RTQ3MDFFMzAzRjI0MDA5MTQ1OTkgLyogV2ViS2l0
LmFwaW5vdGVzICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFB1YmxpYywgKTsgfTsgfTsK
QEAgLTI2NCwxMiArMjUwLDggQEAKIAkJMUE5MEMxRjQxMjY0RkQ3MTAwM0U0NEQ0IC8qIEZpbmRD
b250cm9sbGVyLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSAxQTkwQzFGMjEyNjRGRDcxMDAzRTQ0RDQgLyogRmluZENvbnRyb2xsZXIuaCAqLzsgfTsKIAkJ
MUE5MkRDMTExMkY4QkE0NjAwMTdBRjY1IC8qIExheWVyVHJlZUNvbnRleHQuaCBpbiBIZWFkZXJz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDFBOTJEQzEwMTJGOEJBNDYwMDE3
QUY2NSAvKiBMYXllclRyZWVDb250ZXh0LmggKi87IH07CiAJCTFBOUUzMjg5MTgyMTYzNjkwMEY1
RDA0QyAvKiBfV0tSZW1vdGVPYmplY3RSZWdpc3RyeS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMUE5RTMyODcxODIxNjM2OTAwRjVEMDRDIC8qIF9XS1Jl
bW90ZU9iamVjdFJlZ2lzdHJ5LmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0
ZSwgKTsgfTsgfTsKLQkJMUE5RTMyOEExODIxNjM2OTAwRjVEMDRDIC8qIF9XS1JlbW90ZU9iamVj
dFJlZ2lzdHJ5Lm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gMUE5RTMyODgxODIxNjM2OTAwRjVEMDRDIC8qIF9XS1JlbW90ZU9iamVjdFJlZ2lzdHJ5Lm1t
ICovOyB9OwogCQkxQTlFMzI4RDE4MjE2NUE5MDBGNUQwNEMgLyogX1dLUmVtb3RlT2JqZWN0SW50
ZXJmYWNlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAx
QTlFMzI4QjE4MjE2NUE5MDBGNUQwNEMgLyogX1dLUmVtb3RlT2JqZWN0SW50ZXJmYWNlLmggKi87
IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKLQkJMUE5RTMyOEUx
ODIxNjVBOTAwRjVEMDRDIC8qIF9XS1JlbW90ZU9iamVjdEludGVyZmFjZS5tbSBpbiBTb3VyY2Vz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDFBOUUzMjhDMTgyMTY1QTkwMEY1
RDA0QyAvKiBfV0tSZW1vdGVPYmplY3RJbnRlcmZhY2UubW0gKi87IH07Ci0JCTFBOUUzMjlBMTgy
MkUxQ0MwMEY1RDA0QyAvKiBXS1JlbW90ZU9iamVjdC5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDFBOUUzMjk4MTgyMkUxQ0MwMEY1RDA0QyAvKiBXS1Jl
bW90ZU9iamVjdC5tbSAqLzsgfTsKIAkJMUE5RTMyOUIxODIyRTFDQzAwRjVEMDRDIC8qIFdLUmVt
b3RlT2JqZWN0LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSAxQTlFMzI5OTE4MjJFMUNDMDBGNUQwNEMgLyogV0tSZW1vdGVPYmplY3QuaCAqLzsgfTsKLQkJ
MUE5RTMyOUUxODIyRkVERDAwRjVEMDRDIC8qIFdLUmVtb3RlT2JqZWN0Q29kZXIubW0gaW4gU291
cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxQTlFMzI5QzE4MjJGRURE
MDBGNUQwNEMgLyogV0tSZW1vdGVPYmplY3RDb2Rlci5tbSAqLzsgfTsKIAkJMUE5RTMyOUYxODIy
RkVERDAwRjVEMDRDIC8qIFdLUmVtb3RlT2JqZWN0Q29kZXIuaCBpbiBIZWFkZXJzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDFBOUUzMjlEMTgyMkZFREQwMEY1RDA0QyAvKiBX
S1JlbW90ZU9iamVjdENvZGVyLmggKi87IH07CiAJCTFBOUUzMkExMTgyMzAxODkwMEY1RDA0QyAv
KiBfV0tSZW1vdGVPYmplY3RSZWdpc3RyeUludGVybmFsLmggaW4gSGVhZGVycyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxQTlFMzJBMDE4MjMwMTg5MDBGNUQwNEMgLyogX1dL
UmVtb3RlT2JqZWN0UmVnaXN0cnlJbnRlcm5hbC5oICovOyB9OwogCQkxQTlGQkE4RDEzRkYwNEU2
MDBERUVENjcgLyogUGx1Z2luQ29tcGxleFRleHRJbnB1dFN0YXRlLmggaW4gSGVhZGVycyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxQTlGQkE4QzEzRkYwNEU2MDBERUVENjcg
LyogUGx1Z2luQ29tcGxleFRleHRJbnB1dFN0YXRlLmggKi87IH07CkBAIC0yOTAsNyArMjcyLDYg
QEAKIAkJMUFBQjAzN0ExODVBN0M2QTAwRURGNTAxIC8qIE1lc3NhZ2VTZW5kZXIuaCBpbiBIZWFk
ZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDFBQUIwMzc4MTg1QTdDNkEw
MEVERjUwMSAvKiBNZXNzYWdlU2VuZGVyLmggKi87IH07CiAJCTFBQUI0QThEMTI5NkYwQTIwMDIz
OTUyRiAvKiBTYW5kYm94RXh0ZW5zaW9uLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSAxQUFCNEE4QzEyOTZGMEEyMDAyMzk1MkYgLyogU2FuZGJveEV4dGVu
c2lvbi5oICovOyB9OwogCQkxQUFCRkUzQTE4MjlDMUVEMDA1QjA3MEUgLyogX1dLUmVtb3RlT2Jq
ZWN0SW50ZXJmYWNlSW50ZXJuYWwuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IDFBQUJGRTM5MTgyOUMxRUQwMDVCMDcwRSAvKiBfV0tSZW1vdGVPYmplY3RJ
bnRlcmZhY2VJbnRlcm5hbC5oICovOyB9OwotCQkxQUFGMDg5QTE5MjY3RUU1MDBCNjM5MEMgLyog
V0tVc2VyU2NyaXB0Lm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gMUFBRjA4OTgxOTI2N0VFNTAwQjYzOTBDIC8qIFdLVXNlclNjcmlwdC5tbSAqLzsgfTsK
IAkJMUFBRjA4OUIxOTI2N0VFNTAwQjYzOTBDIC8qIFdLVXNlclNjcmlwdC5oIGluIEhlYWRlcnMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMUFBRjA4OTkxOTI2N0VFNTAwQjYz
OTBDIC8qIFdLVXNlclNjcmlwdC5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFB1Ymxp
YywgKTsgfTsgfTsKIAkJMUFBRjA4OUQxOTI2N0ZDODAwQjYzOTBDIC8qIFdLVXNlclNjcmlwdElu
dGVybmFsLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAx
QUFGMDg5QzE5MjY3RkM4MDBCNjM5MEMgLyogV0tVc2VyU2NyaXB0SW50ZXJuYWwuaCAqLzsgfTsK
IAkJMUFBRjA4QTIxOTI2ODFEMTAwQjYzOTBDIC8qIFdlYlVzZXJDb250ZW50Q29udHJvbGxlclBy
b3h5LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxQUFG
MDhBMDE5MjY4MUQxMDBCNjM5MEMgLyogV2ViVXNlckNvbnRlbnRDb250cm9sbGVyUHJveHkuaCAq
LzsgfTsKQEAgLTMxMSw3ICsyOTIsNiBAQAogCQkxQUIxRjc5OTFEMUIzNjEzMDA3QzlCRDEgLyog
V2ViUGF5bWVudENvb3JkaW5hdG9yUHJveHlNZXNzYWdlcy5oIGluIEhlYWRlcnMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMUFCMUY3OTUxRDFCMzYxMzAwN0M5QkQxIC8qIFdl
YlBheW1lbnRDb29yZGluYXRvclByb3h5TWVzc2FnZXMuaCAqLzsgfTsKIAkJMUFCMzFBOTYxNkJD
Njg4MTAwRjZEQkM5IC8qIFN0b3JhZ2VNYW5hZ2VyTWVzc2FnZVJlY2VpdmVyLmNwcCBpbiBTb3Vy
Y2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDFBQjMxQTk0MTZCQzY4ODEw
MEY2REJDOSAvKiBTdG9yYWdlTWFuYWdlck1lc3NhZ2VSZWNlaXZlci5jcHAgKi87IH07CiAJCTFB
QjMxQTk3MTZCQzY4ODEwMEY2REJDOSAvKiBTdG9yYWdlTWFuYWdlck1lc3NhZ2VzLmggaW4gSGVh
ZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxQUIzMUE5NTE2QkM2ODgx
MDBGNkRCQzkgLyogU3RvcmFnZU1hbmFnZXJNZXNzYWdlcy5oICovOyB9OwotCQkxQUI0MEVFNTFC
RjY3N0UzMDBCQTgxQkUgLyogV0tNZW51SXRlbUlkZW50aWZpZXJzLm1tIGluIFNvdXJjZXMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMUFCNDBFRTMxQkY2NzdFMzAwQkE4MUJF
IC8qIFdLTWVudUl0ZW1JZGVudGlmaWVycy5tbSAqLzsgfTsKIAkJMUFCNDBFRTYxQkY2NzdFMzAw
QkE4MUJFIC8qIFdLTWVudUl0ZW1JZGVudGlmaWVyc1ByaXZhdGUuaCBpbiBIZWFkZXJzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDFBQjQwRUU0MUJGNjc3RTMwMEJBODFCRSAv
KiBXS01lbnVJdGVtSWRlbnRpZmllcnNQcml2YXRlLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVU
RVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJMUFCNDc0RDgxODRENDNGRDAwNTFCNjIyIC8qIFdL
QnVuZGxlUGFnZUxvYWRlckNsaWVudC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gMUFCNDc0RDcxODRENDNGRDAwNTFCNjIyIC8qIFdLQnVuZGxlUGFnZUxv
YWRlckNsaWVudC5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07
IH07CiAJCTFBQjQ3NERBMTg0RDQ0MjUwMDUxQjYyMiAvKiBXS0J1bmRsZVBhZ2VSZXNvdXJjZUxv
YWRDbGllbnQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IDFBQjQ3NEQ5MTg0RDQ0MjUwMDUxQjYyMiAvKiBXS0J1bmRsZVBhZ2VSZXNvdXJjZUxvYWRDbGll
bnQuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwpAQCAt
MzM4LDcgKzMxOCw2IEBACiAJCTFBQzEzMzY4MTg1NjVCNTcwMEYzRUMwNSAvKiBVc2VyRGF0YS5o
IGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMUFDMTMzNjYx
ODU2NUI1NzAwRjNFQzA1IC8qIFVzZXJEYXRhLmggKi87IH07CiAJCTFBQzEzMzZDMTg1NjVDN0Ew
MEYzRUMwNSAvKiBBUElQYWdlSGFuZGxlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSAxQUMxMzM2QjE4NTY1QzdBMDBGM0VDMDUgLyogQVBJUGFnZUhhbmRs
ZS5oICovOyB9OwogCQkxQUMxMzM3MjE4NTY2QzdDMDBGM0VDMDUgLyogQVBJRnJhbWVIYW5kbGUu
aCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDFBQzEzMzcw
MTg1NjZDN0MwMEYzRUMwNSAvKiBBUElGcmFtZUhhbmRsZS5oICovOyB9OwotCQkxQUMxMzM3RjE4
NTkwQUU0MDBGM0VDMDUgLyogUmVtb3RlT2JqZWN0UmVnaXN0cnkubW0gaW4gU291cmNlcyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxQUMxMzM3RDE4NTkwQUU0MDBGM0VDMDUg
LyogUmVtb3RlT2JqZWN0UmVnaXN0cnkubW0gKi87IH07CiAJCTFBQzEzMzgwMTg1OTBBRTQwMEYz
RUMwNSAvKiBSZW1vdGVPYmplY3RSZWdpc3RyeS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gMUFDMTMzN0UxODU5MEFFNDAwRjNFQzA1IC8qIFJlbW90ZU9i
amVjdFJlZ2lzdHJ5LmggKi87IH07CiAJCTFBQzEzMzg1MTg1OTBDNDYwMEYzRUMwNSAvKiBSZW1v
dGVPYmplY3RSZWdpc3RyeU1lc3NhZ2VSZWNlaXZlci5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxQUMxMzM4MzE4NTkwQzQ2MDBGM0VDMDUgLyogUmVt
b3RlT2JqZWN0UmVnaXN0cnlNZXNzYWdlUmVjZWl2ZXIuY3BwICovOyB9OwogCQkxQUMxMzM4NjE4
NTkwQzQ2MDBGM0VDMDUgLyogUmVtb3RlT2JqZWN0UmVnaXN0cnlNZXNzYWdlcy5oIGluIEhlYWRl
cnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMUFDMTMzODQxODU5MEM0NjAw
RjNFQzA1IC8qIFJlbW90ZU9iamVjdFJlZ2lzdHJ5TWVzc2FnZXMuaCAqLzsgfTsKQEAgLTM0OSwz
MCArMzI4LDI0IEBACiAJCTFBQzc1MzdDMTgzQTlGREIwMDcyQ0IxNSAvKiBQYWdlTG9hZFN0YXRl
LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxQUM3NTM3
QTE4M0E5RkRCMDA3MkNCMTUgLyogUGFnZUxvYWRTdGF0ZS5oICovOyB9OwogCQkxQUM3NTM4MDE4
M0JFNTBGMDA3MkNCMTUgLyogRGF0YVJlZmVyZW5jZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMUFDNzUzN0UxODNCRTUwRjAwNzJDQjE1IC8qIERhdGFS
ZWZlcmVuY2UuaCAqLzsgfTsKIAkJMUFDNzVBMUIxQjMzNjgyNzAwNTY3NDVCIC8qIEhhbmdEZXRl
Y3Rpb25EaXNhYmxlci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gMUFDNzVBMUExQjMzNjgyNzAwNTY3NDVCIC8qIEhhbmdEZXRlY3Rpb25EaXNhYmxlci5o
ICovOyB9OwotCQkxQUNDNTBGMTFDQkMzODFEMDAzQzdEMDMgLyogV0tPcGVuUGFuZWxQYXJhbWV0
ZXJzLm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMUFD
QzUwRUYxQ0JDMzgxRDAwM0M3RDAzIC8qIFdLT3BlblBhbmVsUGFyYW1ldGVycy5tbSAqLzsgfTsK
IAkJMUFDQzUwRjIxQ0JDMzgxRDAwM0M3RDAzIC8qIFdLT3BlblBhbmVsUGFyYW1ldGVycy5oIGlu
IEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMUFDQzUwRjAxQ0JD
MzgxRDAwM0M3RDAzIC8qIFdLT3BlblBhbmVsUGFyYW1ldGVycy5oICovOyBzZXR0aW5ncyA9IHtB
VFRSSUJVVEVTID0gKFB1YmxpYywgKTsgfTsgfTsKIAkJMUFDQzg3QkExOTgxQzM0MTAwM0QxQUY0
IC8qIFdLTmF2aWdhdGlvblByaXZhdGUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IDFBQ0M4N0I5MTk4MUMzNDEwMDNEMUFGNCAvKiBXS05hdmlnYXRpb25Q
cml2YXRlLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsK
IAkJMUFDRUNEMjUxNzE2MkRCMTAwMUZDOUVGIC8qIFN0b3JhZ2VBcmVhTWFwLmggaW4gSGVhZGVy
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxQUNFQ0QyMzE3MTYyREIxMDAx
RkM5RUYgLyogU3RvcmFnZUFyZWFNYXAuaCAqLzsgfTsKLQkJMUFEMDFCQzgxOTA1RDM3RTAwQzlD
NDVGIC8qIF9XS0Vycm9yUmVjb3ZlcnlBdHRlbXB0aW5nLm1tIGluIFNvdXJjZXMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMUFEMDFCQzYxOTA1RDM3RTAwQzlDNDVGIC8qIF9X
S0Vycm9yUmVjb3ZlcnlBdHRlbXB0aW5nLm1tICovOyB9OwogCQkxQUQwMUJDOTE5MDVEMzdFMDBD
OUM0NUYgLyogX1dLRXJyb3JSZWNvdmVyeUF0dGVtcHRpbmcuaCBpbiBIZWFkZXJzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDFBRDAxQkM3MTkwNUQzN0UwMEM5QzQ1RiAvKiBf
V0tFcnJvclJlY292ZXJ5QXR0ZW1wdGluZy5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0g
KFByaXZhdGUsICk7IH07IH07CiAJCTFBRDAxQkNEMTkwNUQ1NDkwMEM5QzQ1RiAvKiBXS1JlbG9h
ZEZyYW1lRXJyb3JSZWNvdmVyeUF0dGVtcHRlci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gMUFEMDFCQ0IxOTA1RDU0OTAwQzlDNDVGIC8qIFdLUmVsb2Fk
RnJhbWVFcnJvclJlY292ZXJ5QXR0ZW1wdGVyLmggKi87IH07CiAJCTFBRDI1RTk2MTY3QUIwODEw
MEVBOUJDRCAvKiBEb3dubG9hZFByb3h5TWFwLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSAxQUQyNUU5NDE2N0FCMDgxMDBFQTlCQ0QgLyogRG93bmxvYWRQ
cm94eU1hcC5oICovOyB9OwogCQkxQUQzMzA2RjE2QjFEOTkxMDA0RjYwRTcgLyogU3RvcmFnZUFy
ZWFJbXBsLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAx
QUQzMzA2RDE2QjFEOTkxMDA0RjYwRTcgLyogU3RvcmFnZUFyZWFJbXBsLmggKi87IH07CiAJCTFB
RDRDMTkzMUIzOUYzMzIwMEFCQzI4RSAvKiBBcHBsaWNhdGlvblN0YXRlVHJhY2tlci5oIGluIEhl
YWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMUFENEMxOTExQjM5RjMz
MjAwQUJDMjhFIC8qIEFwcGxpY2F0aW9uU3RhdGVUcmFja2VyLmggKi87IH07Ci0JCTFBRDYwRjVE
MThFMjBGNEMwMDIwQzAzNCAvKiBXS1dpbmRvd0ZlYXR1cmVzLm1tIGluIFNvdXJjZXMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMUFENjBGNUIxOEUyMEY0QzAwMjBDMDM0IC8q
IFdLV2luZG93RmVhdHVyZXMubW0gKi87IH07CiAJCTFBRDYwRjVFMThFMjBGNEMwMDIwQzAzNCAv
KiBXS1dpbmRvd0ZlYXR1cmVzLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSAxQUQ2MEY1QzE4RTIwRjRDMDAyMEMwMzQgLyogV0tXaW5kb3dGZWF0dXJlcy5o
ICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFB1YmxpYywgKTsgfTsgfTsKIAkJMUFENjBG
NjAxOEUyMEY3NDAwMjBDMDM0IC8qIFdLV2luZG93RmVhdHVyZXNJbnRlcm5hbC5oIGluIEhlYWRl
cnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMUFENjBGNUYxOEUyMEY3NDAw
MjBDMDM0IC8qIFdLV2luZG93RmVhdHVyZXNJbnRlcm5hbC5oICovOyB9OwogCQkxQUQ4NzkwQTE4
QjZDMzhBMDA2Q0FGRDcgLyogV0tVSURlbGVnYXRlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxQUQ4NzkwOTE4QjZDMzhBMDA2Q0FGRDcgLyogV0tVSURl
bGVnYXRlLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHVibGljLCApOyB9OyB9Owog
CQkxQURDQjg2QjE4OTgzMUIzMDAyMkVFNUEgLyogTmF2aWdhdGlvbkFjdGlvbkRhdGEuaCBpbiBI
ZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDFBRENCODY5MTg5ODMx
QjMwMDIyRUU1QSAvKiBOYXZpZ2F0aW9uQWN0aW9uRGF0YS5oICovOyB9OwogCQkxQURFNDZCMzE5
NTRFQzYxMDAwRjc5ODUgLyogV0tTZXNzaW9uU3RhdGVSZWYuaCBpbiBIZWFkZXJzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDFBREU0NkIxMTk1NEVDNjEwMDBGNzk4NSAvKiBX
S1Nlc3Npb25TdGF0ZVJlZi5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUs
ICk7IH07IH07Ci0JCTFBREY1OTFBMTg5MDUyOEUwMDQzQzE0NSAvKiBXS1dlYlZpZXdDb25maWd1
cmF0aW9uLm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
MUFERjU5MTgxODkwNTI4RTAwNDNDMTQ1IC8qIFdLV2ViVmlld0NvbmZpZ3VyYXRpb24ubW0gKi87
IH07CiAJCTFBREY1OTFCMTg5MDUyOEUwMDQzQzE0NSAvKiBXS1dlYlZpZXdDb25maWd1cmF0aW9u
LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxQURGNTkx
OTE4OTA1MjhFMDA0M0MxNDUgLyogV0tXZWJWaWV3Q29uZmlndXJhdGlvbi5oICovOyBzZXR0aW5n
cyA9IHtBVFRSSUJVVEVTID0gKFB1YmxpYywgKTsgfTsgfTsKLQkJMUFFMDBENEMxODJENkVCMDAw
MDg3REQ3IC8qIFdLQnJvd3NpbmdDb250ZXh0SGFuZGxlLm1tIGluIFNvdXJjZXMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMUFFMDBENEExODJENkVCMDAwMDg3REQ3IC8qIFdL
QnJvd3NpbmdDb250ZXh0SGFuZGxlLm1tICovOyB9OwogCQkxQUUwMEQ0RDE4MkQ2RUIwMDAwODdE
RDcgLyogV0tCcm93c2luZ0NvbnRleHRIYW5kbGUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDFBRTAwRDRCMTgyRDZFQjAwMDA4N0RENyAvKiBXS0Jyb3dz
aW5nQ29udGV4dEhhbmRsZS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUs
ICk7IH07IH07CiAJCTFBRTAwRDRGMTgyRDZGNTAwMDA4N0RENyAvKiBXS0Jyb3dzaW5nQ29udGV4
dEhhbmRsZUludGVybmFsLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSAxQUUwMEQ0RTE4MkQ2RjUwMDAwODdERDcgLyogV0tCcm93c2luZ0NvbnRleHRIYW5k
bGVJbnRlcm5hbC5oICovOyB9OwogCQkxQUUwMEQ2MTE4MzE3OTIxMDAwODdERDcgLyogRnJhbWVM
b2FkU3RhdGUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IDFBRTAwRDVGMTgzMTc5MjEwMDA4N0RENyAvKiBGcmFtZUxvYWRTdGF0ZS5oICovOyB9OwogCQkx
QUUwMEQ2QzE4MzI3QzEyMDAwODdERDcgLyogU3RyaW5nUmVmZXJlbmNlLmggaW4gSGVhZGVycyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxQUUwMEQ2QTE4MzI3QzEyMDAwODdE
RDcgLyogU3RyaW5nUmVmZXJlbmNlLmggKi87IH07Ci0JCTFBRTI4Njc3MUM3RTc2NTEwMDY5QUM0
RiAvKiBfV0tXZWJzaXRlRGF0YVNpemUubW0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSAxQUUyODY3NTFDN0U3NjUxMDA2OUFDNEYgLyogX1dLV2Vic2l0ZURh
dGFTaXplLm1tICovOyB9OwogCQkxQUUyODY3ODFDN0U3NjUxMDA2OUFDNEYgLyogX1dLV2Vic2l0
ZURhdGFTaXplLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSAxQUUyODY3NjFDN0U3NjUxMDA2OUFDNEYgLyogX1dLV2Vic2l0ZURhdGFTaXplLmggKi87IHNl
dHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJMUFFMjg2N0ExQzdG
N0JBNjAwNjlBQzRGIC8qIFdLV2Vic2l0ZURhdGFTdG9yZVByaXZhdGUuaCBpbiBIZWFkZXJzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDFBRTI4Njc5MUM3RjdCQTYwMDY5QUM0
RiAvKiBXS1dlYnNpdGVEYXRhU3RvcmVQcml2YXRlLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVU
RVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJMUFFMjg2ODAxQzdGOTJDMDAwNjlBQzRGIC8qIF9X
S1dlYnNpdGVEYXRhU2l6ZUludGVybmFsLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSAxQUUyODY3RjFDN0Y5MkJGMDA2OUFDNEYgLyogX1dLV2Vic2l0ZURh
dGFTaXplSW50ZXJuYWwuaCAqLzsgfTsKQEAgLTM4NywxOSArMzYwLDE0IEBACiAJCTFBRjA1RDg3
MTQ2ODgzNDgwMDhCMUU4MSAvKiBUaWxlZENvcmVBbmltYXRpb25EcmF3aW5nQXJlYVByb3h5Lmgg
aW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxQUYwNUQ4NTE0
Njg4MzQ4MDA4QjFFODEgLyogVGlsZWRDb3JlQW5pbWF0aW9uRHJhd2luZ0FyZWFQcm94eS5oICov
OyB9OwogCQkxQUYxQUM2QzE2NTE3NTlFMDBDMTdEN0YgLyogUmVtb3RlTGF5ZXJUcmVlVHJhbnNh
Y3Rpb24uaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDFB
RjFBQzZBMTY1MTc1OUUwMEMxN0Q3RiAvKiBSZW1vdGVMYXllclRyZWVUcmFuc2FjdGlvbi5oICov
OyB9OwogCQkxQUY0MTI5QjE4QjQwRkNEMDA1NDZGREMgLyogV0tOYXZpZ2F0aW9uQWN0aW9uUHJp
dmF0ZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMUFG
NDEyOUExOEI0MEZDRDAwNTQ2RkRDIC8qIFdLTmF2aWdhdGlvbkFjdGlvblByaXZhdGUuaCAqLzsg
c2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwotCQkxQUY0NTkyRTE5
NDY0QjIwMDBGOUQ0QTIgLyogV0tFcnJvci5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IDFBRjQ1OTJDMTk0NjRCMjAwMEY5RDRBMiAvKiBXS0Vycm9yLm1t
ICovOyB9OwogCQkxQUY0NTkyRjE5NDY0QjIwMDBGOUQ0QTIgLyogV0tFcnJvci5oIGluIEhlYWRl
cnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMUFGNDU5MkQxOTQ2NEIyMDAw
RjlENEEyIC8qIFdLRXJyb3IuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQdWJsaWMs
ICk7IH07IH07CiAJCTFBRjRDRUYwMThCQzQ4MTgwMEJDMkQzNCAvKiBWaXNpdGVkTGlua1RhYmxl
Q29udHJvbGxlci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gMUFGNENFRUUxOEJDNDgxODAwQkMyRDM0IC8qIFZpc2l0ZWRMaW5rVGFibGVDb250cm9sbGVy
LmggKi87IH07Ci0JCTFBRkEzQUM4MThFNjFDNjEwMDNDQ0JBRSAvKiBXS1VzZXJDb250ZW50Q29u
dHJvbGxlci5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IDFBRkEzQUM2MThFNjFDNjEwMDNDQ0JBRSAvKiBXS1VzZXJDb250ZW50Q29udHJvbGxlci5tbSAq
LzsgfTsKIAkJMUFGQTNBQzkxOEU2MUM2MTAwM0NDQkFFIC8qIFdLVXNlckNvbnRlbnRDb250cm9s
bGVyLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxQUZB
M0FDNzE4RTYxQzYxMDAzQ0NCQUUgLyogV0tVc2VyQ29udGVudENvbnRyb2xsZXIuaCAqLzsgc2V0
dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQdWJsaWMsICk7IH07IH07CiAJCTFBRkE0QjhDMUE2NUEx
RDAwMDZDNEFCNCAvKiBXZWJQcm9jZXNzTGlmZXRpbWVUcmFja2VyLmggaW4gSGVhZGVycyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxQUZBNEI4QTFBNjVBMUQwMDA2QzRBQjQg
LyogV2ViUHJvY2Vzc0xpZmV0aW1lVHJhY2tlci5oICovOyB9OwogCQkxQUZBNEI5MDFBNjVBOUUy
MDA2QzRBQjQgLyogV2ViUHJvY2Vzc0xpZmV0aW1lT2JzZXJ2ZXIuaCBpbiBIZWFkZXJzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDFBRkE0QjhFMUE2NUE5RTIwMDZDNEFCNCAv
KiBXZWJQcm9jZXNzTGlmZXRpbWVPYnNlcnZlci5oICovOyB9OwotCQkxQUZCNEM3MTFBREYxNTVE
MDBCMzMzMzkgLyogX1dLV2Vic2l0ZURhdGFTdG9yZS5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDFBRkI0QzZGMUFERjE1NUQwMEIzMzMzOSAvKiBfV0tX
ZWJzaXRlRGF0YVN0b3JlLm1tICovOyB9OwogCQkxQUZCNEM3MjFBREYxNTVEMDBCMzMzMzkgLyog
X1dLV2Vic2l0ZURhdGFTdG9yZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gMUFGQjRDNzAxQURGMTU1RDAwQjMzMzM5IC8qIF9XS1dlYnNpdGVEYXRhU3Rv
cmUuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQkx
QUZERDMxNTE4OTFCNTQwMDAxNTM5NzAgLyogQVBJUG9saWN5Q2xpZW50LmggaW4gSGVhZGVycyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxQUZERDMxNDE4OTFCNTQwMDAxNTM5
NzAgLyogQVBJUG9saWN5Q2xpZW50LmggKi87IH07CiAJCTFBRkREMzE3MTg5MUM5NDcwMDE1Mzk3
MCAvKiBXS1ByZWZlcmVuY2VzLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSAxQUZERDMxNjE4OTFDOTQ3MDAxNTM5NzAgLyogV0tQcmVmZXJlbmNlcy5oICov
OyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFB1YmxpYywgKTsgfTsgfTsKLQkJMUFGREQzMTkx
ODkxQ0ExMjAwMTUzOTcwIC8qIFdLUHJlZmVyZW5jZXMubW0gaW4gU291cmNlcyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxQUZERDMxODE4OTFDQTEyMDAxNTM5NzAgLyogV0tQ
cmVmZXJlbmNlcy5tbSAqLzsgfTsKLQkJMUFGREU2NDUxOTUxMEI1NTAwQzQ4RkZBIC8qIExlZ2Fj
eUJ1bmRsZUZvckNsYXNzLm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gMUFGREU2NDMxOTUxMEI1NTAwQzQ4RkZBIC8qIExlZ2FjeUJ1bmRsZUZvckNsYXNz
Lm1tICovOyB9OwogCQkxQUZERTY1QTE5NTRBNDJCMDBDNDhGRkEgLyogU2Vzc2lvblN0YXRlLmgg
aW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxQUZERTY1ODE5
NTRBNDJCMDBDNDhGRkEgLyogU2Vzc2lvblN0YXRlLmggKi87IH07CiAJCTFBRkRFNjYyMTk1NEU5
QjEwMEM0OEZGQSAvKiBBUElTZXNzaW9uU3RhdGUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDFBRkRFNjYwMTk1NEU5QjEwMEM0OEZGQSAvKiBBUElTZXNz
aW9uU3RhdGUuaCAqLzsgfTsKIAkJMUFGRTQzNjYxOEI2QzA4MTAwOUM3QTQ4IC8qIFVJRGVsZWdh
dGUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDFBRkU0
MzY0MThCNkMwODEwMDlDN0E0OCAvKiBVSURlbGVnYXRlLmggKi87IH07CkBAIC02MzYsNyArNjA0
LDYgQEAKIAkJMkQ1QzlEMDYxOUM4MUQ4RjAwQjNDNUMxIC8qIFdlYlBhZ2VPdmVybGF5LmggaW4g
SGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAyRDVDOUQwNDE5Qzgx
RDhGMDBCM0M1QzEgLyogV2ViUGFnZU92ZXJsYXkuaCAqLzsgfTsKIAkJMkQ2QUI1NDExOTJCMUM0
QTAwM0E5RkQxIC8qIFdLUERGUGFnZU51bWJlckluZGljYXRvci5oIGluIEhlYWRlcnMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMkQ2QUI1M0YxOTJCMUM0QTAwM0E5RkQxIC8q
IFdLUERGUGFnZU51bWJlckluZGljYXRvci5oICovOyB9OwogCQkyRDZCMzcxQjE4QTk2N0FEMDA0
MkFFODAgLyogX1dLVGh1bWJuYWlsVmlldy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gMkQ2QjM3MTkxOEE5NjdBRDAwNDJBRTgwIC8qIF9XS1RodW1ibmFp
bFZpZXcuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9Owot
CQkyRDZCMzcxQzE4QTk2N0FEMDA0MkFFODAgLyogX1dLVGh1bWJuYWlsVmlldy5tbSBpbiBTb3Vy
Y2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDJENkIzNzFBMThBOTY3QUQw
MDQyQUU4MCAvKiBfV0tUaHVtYm5haWxWaWV3Lm1tICovOyB9OwogCQkyRDZDRDExOTE4OTA1OEE1
MDBFNUE0QTAgLyogVmlld1NuYXBzaG90U3RvcmUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDJENkNEMTE3MTg5MDU4QTUwMEU1QTRBMCAvKiBWaWV3U25h
cHNob3RTdG9yZS5oICovOyB9OwogCQkyRDcyQTFGQTIxMkJGNDZFMDA1MTdBMjAgLyogUmVtb3Rl
TGF5ZXJUcmVlRHJhd2luZ0FyZWEubW0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSAxQUIxNkFEQjE2NDg1OTg0MDAyOTBENjIgLyogUmVtb3RlTGF5ZXJUcmVl
RHJhd2luZ0FyZWEubW0gKi87IH07CiAJCTJENzMwMzc5MUE3QzJCNzUwMEY4RjQ4NyAvKiBXS1Bh
Z2VOYXZpZ2F0aW9uQ2xpZW50LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSAyRDczMDM3ODFBN0MyQjc1MDBGOEY0ODcgLyogV0tQYWdlTmF2aWdhdGlvbkNs
aWVudC5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CkBA
IC02NjgsMjYgKzYzNSw5IEBACiAJCTJEODUwOEQ4MjEyRTMzRUQwMDBFRjQ2QyAvKiBVbmlmaWVk
U291cmNlOTguY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gMkQ4NTA4QzQyMTJFMzNFQzAwMEVGNDZDIC8qIFVuaWZpZWRTb3VyY2U5OC5jcHAgKi87IH07
CiAJCTJEODcxMDE3MTgyODQxNUQwMDE4RkEwMSAvKiBQbGF0Zm9ybUNBTGF5ZXJSZW1vdGVDdXN0
b20uaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDJEODcx
MDE1MTgyODQxNUQwMDE4RkEwMSAvKiBQbGF0Zm9ybUNBTGF5ZXJSZW1vdGVDdXN0b20uaCAqLzsg
fTsKIAkJMkQ4Nzg2MUQxQkRCNTRCRjAwRDAyQUJCIC8qIF9XS1VzZXJTdHlsZVNoZWV0LmggaW4g
SGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAyRDg3ODYxQjFCREI1
NEJGMDBEMDJBQkIgLyogX1dLVXNlclN0eWxlU2hlZXQuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklC
VVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwotCQkyRDg3ODYxRTFCREI1NEJGMDBEMDJBQkIgLyog
X1dLVXNlclN0eWxlU2hlZXQubW0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSAyRDg3ODYxQzFCREI1NEJGMDBEMDJBQkIgLyogX1dLVXNlclN0eWxlU2hlZXQu
bW0gKi87IH07CiAJCTJEODc4NjIwMUJEQjU3RjUwMEQwMkFCQiAvKiBfV0tVc2VyU3R5bGVTaGVl
dEludGVybmFsLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSAyRDg3ODYxRjFCREI1N0Y1MDBEMDJBQkIgLyogX1dLVXNlclN0eWxlU2hlZXRJbnRlcm5hbC5o
ICovOyB9OwogCQkyRDg3ODYyNDFCREI1OEZGMDBEMDJBQkIgLyogQVBJVXNlclN0eWxlU2hlZXQu
aCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDJEODc4NjIy
MUJEQjU4RkYwMEQwMkFCQiAvKiBBUElVc2VyU3R5bGVTaGVldC5oICovOyB9OwogCQkyRDg5NDlG
MTE4MjA0NEY2MDBFODk4QUEgLyogUGxhdGZvcm1DQUxheWVyUmVtb3RlVGlsZWRCYWNraW5nLmgg
aW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAyRDg5NDlFRjE4
MjA0NEY2MDBFODk4QUEgLyogUGxhdGZvcm1DQUxheWVyUmVtb3RlVGlsZWRCYWNraW5nLmggKi87
IH07Ci0JCTJEOTEzNDI4MjEyQzg0RjUwMDEyOEFGRCAvKiBXS1dlYlByb2Nlc3NCdW5kbGVQYXJh
bWV0ZXJzLm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
MUFBMkU1NjQxOEQ3NzUwODAwMzgxNEJEIC8qIFdLV2ViUHJvY2Vzc0J1bmRsZVBhcmFtZXRlcnMu
bW0gKi87IH07Ci0JCTJEOTEzNDI5MjEyQzg0RjUwMDEyOEFGRCAvKiBXS1dlYlByb2Nlc3NQbHVn
SW5GcmFtZS5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IDFGMDE4MTZBMTg1OERDMTUwMEY5Mjg4NCAvKiBXS1dlYlByb2Nlc3NQbHVnSW5GcmFtZS5tbSAq
LzsgfTsKLQkJMkQ5MTM0MkEyMTJDODRGNTAwMTI4QUZEIC8qIFdLV2ViUHJvY2Vzc1BsdWdJbkhp
dFRlc3RSZXN1bHQubW0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSAxRjAxODE2RDE4NThEQzE2MDBGOTI4ODQgLyogV0tXZWJQcm9jZXNzUGx1Z0luSGl0VGVz
dFJlc3VsdC5tbSAqLzsgfTsKLQkJMkQ5MTM0MkIyMTJDODRGNTAwMTI4QUZEIC8qIFdLV2ViUHJv
Y2Vzc1BsdWdJbk5vZGVIYW5kbGUubW0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSAxRjAxODE3MDE4NThEQzE2MDBGOTI4ODQgLyogV0tXZWJQcm9jZXNzUGx1
Z0luTm9kZUhhbmRsZS5tbSAqLzsgfTsKLQkJMkQ5MTM0MkMyMTJDODRGNTAwMTI4QUZEIC8qIFdL
V2ViUHJvY2Vzc1BsdWdJblBhZ2VHcm91cC5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IDFGQjAwQUM1MTg1Rjc2NDYwMDE5MTQyRSAvKiBXS1dlYlByb2Nl
c3NQbHVnSW5QYWdlR3JvdXAubW0gKi87IH07Ci0JCTJEOTEzNDJEMjEyQzg0RjUwMDEyOEFGRCAv
KiBXS1dlYlByb2Nlc3NQbHVnSW5SYW5nZUhhbmRsZS5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDM3NDk0MjE4MURGMUY5RkYwMDMzQzE5RiAvKiBXS1dl
YlByb2Nlc3NQbHVnSW5SYW5nZUhhbmRsZS5tbSAqLzsgfTsKLQkJMkQ5MTM0MkUyMTJDODRGNTAw
MTI4QUZEIC8qIFdLV2ViUHJvY2Vzc1BsdWdJblNjcmlwdFdvcmxkLm1tIGluIFNvdXJjZXMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMUYwMTgxNzMxODU4REMxNjAwRjkyODg0
IC8qIFdLV2ViUHJvY2Vzc1BsdWdJblNjcmlwdFdvcmxkLm1tICovOyB9OwotCQkyRDkxMzQyRjIx
MkM4NTAxMDAxMjhBRkQgLyogV0tXZWJQcm9jZXNzUGx1Z0luLm1tIGluIFNvdXJjZXMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQkM5ODlEN0YxNjFBN0U1QjAwMEQ0NkQzIC8q
IFdLV2ViUHJvY2Vzc1BsdWdJbi5tbSAqLzsgfTsKLQkJMkQ5MTM0MzAyMTJDODUwMTAwMTI4QUZE
IC8qIFdLV2ViUHJvY2Vzc1BsdWdJbkJyb3dzZXJDb250ZXh0Q29udHJvbGxlci5tbSBpbiBTb3Vy
Y2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEJDOEYyRjI4MTYyNzNBMkIw
MDVGQUNCNSAvKiBXS1dlYlByb2Nlc3NQbHVnSW5Ccm93c2VyQ29udGV4dENvbnRyb2xsZXIubW0g
Ki87IH07Ci0JCTJEOTEzNDMxMjEyQzg1M0QwMDEyOEFGRCAvKiBXS0RPTURvY3VtZW50Lm1tIGlu
IFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQkMwMTdEMDAxNjI2
MEZGNDAwNzA1NEY1IC8qIFdLRE9NRG9jdW1lbnQubW0gKi87IH07Ci0JCTJEOTEzNDMyMjEyQzg1
M0QwMDEyOEFGRCAvKiBXS0RPTUVsZW1lbnQubW0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSBCQzAxN0QwMjE2MjYwRkY0MDA3MDU0RjUgLyogV0tET01FbGVt
ZW50Lm1tICovOyB9OwotCQkyRDkxMzQzMzIxMkM4NTNEMDAxMjhBRkQgLyogV0tET01JbnRlcm5h
bHMubW0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBCQzAx
N0QwNDE2MjYwRkY0MDA3MDU0RjUgLyogV0tET01JbnRlcm5hbHMubW0gKi87IH07Ci0JCTJEOTEz
NDM0MjEyQzg1M0QwMDEyOEFGRCAvKiBXS0RPTU5vZGUubW0gaW4gU291cmNlcyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBCQzAxN0QwNjE2MjYwRkY0MDA3MDU0RjUgLyogV0tE
T01Ob2RlLm1tICovOyB9OwotCQkyRDkxMzQzNTIxMkM4NTNEMDAxMjhBRkQgLyogV0tET01SYW5n
ZS5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEJDMzlD
NDMzMTYyNjM2NkYwMDhCQzY4OSAvKiBXS0RPTVJhbmdlLm1tICovOyB9OwotCQkyRDkxMzQzNjIx
MkM4NTNEMDAxMjhBRkQgLyogV0tET01UZXh0Lm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gMjkzRUJFQUExNjI3RDlDOTAwNUY4OUYxIC8qIFdLRE9NVGV4
dC5tbSAqLzsgfTsKLQkJMkQ5MTM0MzcyMTJDODUzRDAwMTI4QUZEIC8qIFdLRE9NVGV4dEl0ZXJh
dG9yLm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQkMw
MTdEMUUxNjI2MzMwODAwNzA1NEY1IC8qIFdLRE9NVGV4dEl0ZXJhdG9yLm1tICovOyB9OwogCQky
RDkxMzQ0MTIxMkNGOUYwMDAxMjhBRkQgLyogSlNOUE1ldGhvZC5jcHAgaW4gU291cmNlcyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxQUU0OUE0ODExRkZBOENFMDA0OEI0NjQg
LyogSlNOUE1ldGhvZC5jcHAgKi87IH07CiAJCTJEOTEzNDQyMjEyQ0Y5RjAwMDEyOEFGRCAvKiBK
U05QT2JqZWN0LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IDFBRTQ5ODc3MTFGRjdGQUEwMDQ4QjQ2NCAvKiBKU05QT2JqZWN0LmNwcCAqLzsgfTsKIAkJ
MkQ5MTM0NDMyMTJDRjlGMDAwMTI4QUZEIC8qIE5ldHNjYXBlQnJvd3NlckZ1bmNzLmNwcCBpbiBT
b3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDFBNkZCQTI5MTFFNjg2
MjcwMERCMTM3MSAvKiBOZXRzY2FwZUJyb3dzZXJGdW5jcy5jcHAgKi87IH07CkBAIC03ODgsNyAr
NzM4LDYgQEAKIAkJMzE2QjhCNjQyMDU0QjU1ODAwQkQ0QTYyIC8qIFdLU3lzdGVtUHJldmlld1Zp
ZXcuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDMxNkI4
QjYyMjA1NEI1NTgwMEJENEE2MiAvKiBXS1N5c3RlbVByZXZpZXdWaWV3LmggKi87IH07CiAJCTMx
N0ZFN0M1MUM0ODdBNkMwMEEwQ0E4OSAvKiBBUElFeHBlcmltZW50YWxGZWF0dXJlLmggaW4gSGVh
ZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAzMTdGRTdDMjFDNDg3QTY2
MDBBMENBODkgLyogQVBJRXhwZXJpbWVudGFsRmVhdHVyZS5oICovOyB9OwogCQkzMTdGRTdDRDFD
NDg3REFFMDBBMENBODkgLyogX1dLRXhwZXJpbWVudGFsRmVhdHVyZUludGVybmFsLmggaW4gSGVh
ZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAzMTdGRTdDOTFDNDg3RDlE
MDBBMENBODkgLyogX1dLRXhwZXJpbWVudGFsRmVhdHVyZUludGVybmFsLmggKi87IH07Ci0JCTMx
N0ZFN0NFMUM0ODdEQjgwMEEwQ0E4OSAvKiBfV0tFeHBlcmltZW50YWxGZWF0dXJlLm1tIGluIFNv
dXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMzE3RkU3QzgxQzQ4N0Q5
RDAwQTBDQTg5IC8qIF9XS0V4cGVyaW1lbnRhbEZlYXR1cmUubW0gKi87IH07CiAJCTMxN0ZFN0NG
MUM0ODdEQkQwMEEwQ0E4OSAvKiBfV0tFeHBlcmltZW50YWxGZWF0dXJlLmggaW4gSGVhZGVycyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAzMTdGRTdDNzFDNDg3RDlEMDBBMENB
ODkgLyogX1dLRXhwZXJpbWVudGFsRmVhdHVyZS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVT
ID0gKFByaXZhdGUsICk7IH07IH07CiAJCTMxOEJFMTcxMTQ3NDNEQjEwMEE4RkJCMiAvKiBXS05v
dGlmaWNhdGlvbk1hbmFnZXIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IDMxOEJFMTcwMTQ3NDNEQjEwMEE4RkJCMiAvKiBXS05vdGlmaWNhdGlvbk1hbmFn
ZXIuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQkz
MThCRTE3OTE0NzQzRTZGMDBBOEZCQjIgLyogV0tOb3RpZmljYXRpb24uaCBpbiBIZWFkZXJzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDMxOEJFMTc4MTQ3NDNFNkEwMEE4RkJC
MiAvKiBXS05vdGlmaWNhdGlvbi5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZh
dGUsICk7IH07IH07CkBAIC04MTMsNyArNzYyLDYgQEAKIAkJMzMwOTM0NUIxMzE1Qjk5ODAwOTdB
N0JDIC8qIFdLQ29va2llTWFuYWdlci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gMzMwOTM0NTkxMzE1Qjk5ODAwOTdBN0JDIC8qIFdLQ29va2llTWFuYWdl
ci5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTMz
MzY3NjNCMTMwQzk5REMwMDZDOURFMiAvKiBXS1Jlc291cmNlQ2FjaGVNYW5hZ2VyLmggaW4gSGVh
ZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAzMzM2NzYzOTEzMEM5OURD
MDA2QzlERTIgLyogV0tSZXNvdXJjZUNhY2hlTWFuYWdlci5oICovOyBzZXR0aW5ncyA9IHtBVFRS
SUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTMzQUExMDY3MTMxRjA2MDAwMEQ0QTU3NSAv
KiBXZWJDb29raWVNYW5hZ2VyUHJveHlDbGllbnQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDMzQUExMDY1MTMxRjA2MDAwMEQ0QTU3NSAvKiBXZWJDb29r
aWVNYW5hZ2VyUHJveHlDbGllbnQuaCAqLzsgfTsKLQkJMzcwRjM0QTIxODI5QkUxRTAwOTAyN0M4
IC8qIFdLTmF2aWdhdGlvbkRhdGEubW0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSAzNzBGMzRBMDE4MjlCRTFFMDA5MDI3QzggLyogV0tOYXZpZ2F0aW9uRGF0
YS5tbSAqLzsgfTsKIAkJMzcwRjM0QTMxODI5QkUxRTAwOTAyN0M4IC8qIFdLTmF2aWdhdGlvbkRh
dGEuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDM3MEYz
NEExMTgyOUJFMUUwMDkwMjdDOCAvKiBXS05hdmlnYXRpb25EYXRhLmggKi87IHNldHRpbmdzID0g
e0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJMzcwRjM0QTUxODI5QkVBMzAwOTAy
N0M4IC8qIFdLTmF2aWdhdGlvbkRhdGFJbnRlcm5hbC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMzcwRjM0QTQxODI5QkVBMzAwOTAyN0M4IC8qIFdLTmF2
aWdhdGlvbkRhdGFJbnRlcm5hbC5oICovOyB9OwogCQkzNzBGMzRBNzE4MjlDRkYzMDA5MDI3Qzgg
LyogV0tCcm93c2luZ0NvbnRleHRIaXN0b3J5RGVsZWdhdGUuaCBpbiBIZWFkZXJzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDM3MEYzNEE2MTgyOUNGRjMwMDkwMjdDOCAvKiBX
S0Jyb3dzaW5nQ29udGV4dEhpc3RvcnlEZWxlZ2F0ZS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJV
VEVTID0gKFByaXZhdGUsICk7IH07IH07CkBAIC04MjksNyArNzc3LDYgQEAKIAkJMzcyRUJCNDEy
MDE3RTY0MzAwMDg1MDY0IC8qIFdlYkNvbnRlbnRQcm9jZXNzLnhpYiBpbiBSZXNvdXJjZXMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRTFEMjZBNEMxNzU5NjM0RTAwOTVCRkQx
IC8qIFdlYkNvbnRlbnRQcm9jZXNzLnhpYiAqLzsgfTsKIAkJMzczQ0VBRDYxODU0MTdBRTAwOEMz
NjNEIC8qIFdLTlNEYXRhLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSAzNzNDRUFENDE4NTQxN0FFMDA4QzM2M0QgLyogV0tOU0RhdGEuaCAqLzsgfTsKIAkJ
MzczQ0VBRDgxODU5NTUzRjAwOEMzNjNEIC8qIFdLUGFnZVBvbGljeUNsaWVudEludGVybmFsLmgg
aW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAzNzNDRUFENzE4
NTk1NTNGMDA4QzM2M0QgLyogV0tQYWdlUG9saWN5Q2xpZW50SW50ZXJuYWwuaCAqLzsgfTsKLQkJ
MzczRDEyMjIxOEE0NzMwMTAwNjZEOUNDIC8qIF9XS0ZyYW1lSGFuZGxlLm1tIGluIFNvdXJjZXMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMzczRDEyMjAxOEE0NzMwMTAwNjZE
OUNDIC8qIF9XS0ZyYW1lSGFuZGxlLm1tICovOyB9OwogCQkzNzNEMTIyMzE4QTQ3MzAxMDA2NkQ5
Q0MgLyogX1dLRnJhbWVIYW5kbGUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IDM3M0QxMjIxMThBNDczMDEwMDY2RDlDQyAvKiBfV0tGcmFtZUhhbmRsZS5o
ICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTM3M0Qx
MjI3MThBNDczRjYwMDY2RDlDQyAvKiBfV0tGcmFtZUhhbmRsZUludGVybmFsLmggaW4gSGVhZGVy
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAzNzNEMTIyNjE4QTQ3M0Y2MDA2
NkQ5Q0MgLyogX1dLRnJhbWVIYW5kbGVJbnRlcm5hbC5oICovOyB9OwogCQkzNzNEMTIyRDE4QTRC
NkVCMDA2NkQ5Q0MgLyogV0tXZWJQcm9jZXNzUGx1Z0luRnJhbWVQcml2YXRlLmggaW4gSGVhZGVy
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAzNzNEMTIyQzE4QTRCNkE4MDA2
NkQ5Q0MgLyogV0tXZWJQcm9jZXNzUGx1Z0luRnJhbWVQcml2YXRlLmggKi87IHNldHRpbmdzID0g
e0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKQEAgLTg2MiwxMCArODA5LDggQEAKIAkJ
Mzc5NDg0MDkxNTBDNEI5NzAwRTUyQ0U5IC8qIFdLUmVuZGVyTGF5ZXIuaCBpbiBIZWFkZXJzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDM3OTQ4NDA3MTUwQzRCOTYwMEU1MkNF
OSAvKiBXS1JlbmRlckxheWVyLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0
ZSwgKTsgfTsgfTsKIAkJMzc5NTc4OUMxOEFENEYxOTAwQjlFRDJFIC8qIFdLV2ViUHJvY2Vzc1Bs
dWdJbkZvcm1EZWxlZ2F0ZVByaXZhdGUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IDM3OTU3ODlCMThBRDRGMTEwMEI5RUQyRSAvKiBXS1dlYlByb2Nlc3NQ
bHVnSW5Gb3JtRGVsZWdhdGVQcml2YXRlLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAo
UHJpdmF0ZSwgKTsgfTsgfTsKIAkJMzc5QTg3MzYxOEJCRkE0MzAwNTg4QUYyIC8qIF9XS0FjdGl2
YXRlZEVsZW1lbnRJbmZvSW50ZXJuYWwuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IDM3OUE4NzM1MThCQkZBNDMwMDU4OEFGMiAvKiBfV0tBY3RpdmF0ZWRF
bGVtZW50SW5mb0ludGVybmFsLmggKi87IH07Ci0JCTM3OUE4NzM5MThCQkZFMEYwMDU4OEFGMiAv
KiBfV0tFbGVtZW50QWN0aW9uLm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gMzc5QTg3MzcxOEJCRkUwRjAwNTg4QUYyIC8qIF9XS0VsZW1lbnRBY3Rpb24u
bW0gKi87IH07CiAJCTM3OUE4NzNBMThCQkZFMEYwMDU4OEFGMiAvKiBfV0tFbGVtZW50QWN0aW9u
LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAzNzlBODcz
ODE4QkJGRTBGMDA1ODhBRjIgLyogX1dLRWxlbWVudEFjdGlvbi5oICovOyBzZXR0aW5ncyA9IHtB
VFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTM3OUE4NzNDMThCQkZGMDcwMDU4OEFG
MiAvKiBfV0tFbGVtZW50QWN0aW9uSW50ZXJuYWwuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDM3OUE4NzNCMThCQkZGMDcwMDU4OEFGMiAvKiBfV0tFbGVt
ZW50QWN0aW9uSW50ZXJuYWwuaCAqLzsgfTsKLQkJMzdBNUUwMTMxOEJCRjkzNzAwMEEwODFFIC8q
IF9XS0FjdGl2YXRlZEVsZW1lbnRJbmZvLm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gMzdBNUUwMTExOEJCRjkzNzAwMEEwODFFIC8qIF9XS0FjdGl2YXRl
ZEVsZW1lbnRJbmZvLm1tICovOyB9OwogCQkzN0E1RTAxNDE4QkJGOTNGMDAwQTA4MUUgLyogX1dL
QWN0aXZhdGVkRWxlbWVudEluZm8uaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IDM3QTVFMDEyMThCQkY5MzcwMDBBMDgxRSAvKiBfV0tBY3RpdmF0ZWRFbGVt
ZW50SW5mby5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07
CiAJCTM3QTY0RTU1MThGMzhFM0MwMEVCMzBGMSAvKiBfV0tJbnB1dERlbGVnYXRlLmggaW4gSGVh
ZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAzN0E2NEU1NDE4RjM4RTND
MDBFQjMwRjEgLyogX1dLSW5wdXREZWxlZ2F0ZS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVT
ID0gKFByaXZhdGUsICk7IH07IH07CiAJCTM3QTY0RTU3MThGMzhGNDYwMEVCMzBGMSAvKiBfV0tG
b3JtSW5wdXRTZXNzaW9uLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSAzN0E2NEU1NjE4RjM4RjQ2MDBFQjMwRjEgLyogX1dLRm9ybUlucHV0U2Vzc2lvbi5o
ICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CkBAIC04Nzks
MTAgKzgyNCw4IEBACiAJCTM3QkVDNEUxMTk0OTE0ODYwMDhCNDI4NiAvKiBDb21wbGV0aW9uSGFu
ZGxlckNhbGxDaGVja2VyLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSAzN0JFQzRERjE5NDkxNDg2MDA4QjQyODYgLyogQ29tcGxldGlvbkhhbmRsZXJDYWxs
Q2hlY2tlci5oICovOyB9OwogCQkzN0JGMkYwNjE5NDdERUI0MDA3MjNDNDggLyogV0tOU1VSTFJl
cXVlc3QuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDM3
QkYyRjA0MTk0N0RFQjQwMDcyM0M0OCAvKiBXS05TVVJMUmVxdWVzdC5oICovOyB9OwogCQkzN0My
MUNBRTFFOTk0QzBDMDAyOUQ1RjkgLyogQ29yZVByZWRpY3Rpb25TUEkuaCBpbiBIZWFkZXJzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDM3QzIxQ0FEMUU5OTRDMEMwMDI5RDVG
OSAvKiBDb3JlUHJlZGljdGlvblNQSS5oICovOyB9OwotCQkzN0M0QzA4NjE4MTQ5QzVCMDAzNjg4
QjkgLyogV0tCYWNrRm9yd2FyZExpc3RJdGVtLm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gMzdDNEMwODQxODE0OUM1QjAwMzY4OEI5IC8qIFdLQmFja0Zv
cndhcmRMaXN0SXRlbS5tbSAqLzsgfTsKIAkJMzdDNEMwODcxODE0OUM1QjAwMzY4OEI5IC8qIFdL
QmFja0ZvcndhcmRMaXN0SXRlbS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gMzdDNEMwODUxODE0OUM1QjAwMzY4OEI5IC8qIFdLQmFja0ZvcndhcmRMaXN0
SXRlbS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFB1YmxpYywgKTsgfTsgfTsKIAkJ
MzdDNEMwODkxODE0OUYyMzAwMzY4OEI5IC8qIFdLQmFja0ZvcndhcmRMaXN0SXRlbUludGVybmFs
LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAzN0M0QzA4
ODE4MTQ5RjIzMDAzNjg4QjkgLyogV0tCYWNrRm9yd2FyZExpc3RJdGVtSW50ZXJuYWwuaCAqLzsg
fTsKLQkJMzdDNEMwOEMxODE0QUM1QzAwMzY4OEI5IC8qIFdLQmFja0ZvcndhcmRMaXN0Lm1tIGlu
IFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMzdDNEMwOEExODE0
QUM1QzAwMzY4OEI5IC8qIFdLQmFja0ZvcndhcmRMaXN0Lm1tICovOyB9OwogCQkzN0M0QzA4RDE4
MTRBQzVDMDAzNjg4QjkgLyogV0tCYWNrRm9yd2FyZExpc3QuaCBpbiBIZWFkZXJzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDM3QzRDMDhCMTgxNEFDNUMwMDM2ODhCOSAvKiBX
S0JhY2tGb3J3YXJkTGlzdC5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFB1YmxpYywg
KTsgfTsgfTsKIAkJMzdDNEMwOTQxODE0QjNBRjAwMzY4OEI5IC8qIFdLTlNBcnJheS5oIGluIEhl
YWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMzdDNEMwOTIxODE0QjNB
RjAwMzY4OEI5IC8qIFdLTlNBcnJheS5oICovOyB9OwogCQkzN0M0QzA5NTE4MTRCOUU2MDAzNjg4
QjkgLyogV0tCYWNrRm9yd2FyZExpc3RJbnRlcm5hbC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMzdDNEMwOEUxODE0QUYzQTAwMzY4OEI5IC8qIFdLQmFj
a0ZvcndhcmRMaXN0SW50ZXJuYWwuaCAqLzsgfTsKQEAgLTg5Miw3ICs4MzUsNiBAQAogCQkzN0Y2
MjNCODEyQTU3QjYyMDBFM0ZERjYgLyogV0tGaW5kT3B0aW9ucy5oIGluIEhlYWRlcnMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMzdGNjIzQjcxMkE1N0I2MjAwRTNGREY2IC8q
IFdLRmluZE9wdGlvbnMuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCAp
OyB9OyB9OwogCQkzN0Y5MERFMzEzNzY1NjBFMDA1MUNGNjggLyogSFRUUENvb2tpZUFjY2VwdFBv
bGljeS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRjYz
ODk1NEYxMzNCRUYzODAwODk0MUQ1IC8qIEhUVFBDb29raWVBY2NlcHRQb2xpY3kuaCAqLzsgfTsK
IAkJMzdGQzE5NDcxODUwRkJGMjAwOENGQTQ3IC8qIFdLQnJvd3NpbmdDb250ZXh0TG9hZERlbGVn
YXRlUHJpdmF0ZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gMzdGQzE5NDYxODUwRkJGMjAwOENGQTQ3IC8qIFdLQnJvd3NpbmdDb250ZXh0TG9hZERlbGVn
YXRlUHJpdmF0ZS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07
IH07Ci0JCTM3RkMxOTRBMTg1MTBENkEwMDhDRkE0NyAvKiBXS05TVVJMQXV0aGVudGljYXRpb25D
aGFsbGVuZ2UubW0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSAzN0ZDMTk0ODE4NTEwRDZBMDA4Q0ZBNDcgLyogV0tOU1VSTEF1dGhlbnRpY2F0aW9uQ2hhbGxl
bmdlLm1tICovOyB9OwogCQkzN0ZDMTk0QjE4NTEwRDZBMDA4Q0ZBNDcgLyogV0tOU1VSTEF1dGhl
bnRpY2F0aW9uQ2hhbGxlbmdlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSAzN0ZDMTk0OTE4NTEwRDZBMDA4Q0ZBNDcgLyogV0tOU1VSTEF1dGhlbnRpY2F0
aW9uQ2hhbGxlbmdlLmggKi87IH07CiAJCTNGNDE4RUY5MTg4N0JEOTcwMDI3OTVGRCAvKiBWaWRl
b0Z1bGxzY3JlZW5NYW5hZ2VyTWVzc2FnZVJlY2VpdmVyLmNwcCBpbiBTb3VyY2VzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDNGNDE4RUY1MTg4N0JEOTcwMDI3OTVGRCAvKiBW
aWRlb0Z1bGxzY3JlZW5NYW5hZ2VyTWVzc2FnZVJlY2VpdmVyLmNwcCAqLzsgfTsKIAkJM0Y0MThF
RkIxODg3QkQ5NzAwMjc5NUZEIC8qIFZpZGVvRnVsbHNjcmVlbk1hbmFnZXJQcm94eU1lc3NhZ2VS
ZWNlaXZlci5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSAzRjQxOEVGNzE4ODdCRDk3MDAyNzk1RkQgLyogVmlkZW9GdWxsc2NyZWVuTWFuYWdlclByb3h5
TWVzc2FnZVJlY2VpdmVyLmNwcCAqLzsgfTsKQEAgLTk1Miw3ICs4OTQsNiBAQAogCQk1MTBBRkZC
QTE2NTQyMDQ4MDAxQkEwNUUgLyogV2ViUmVzb3VyY2VMb2FkZXIuaCBpbiBIZWFkZXJzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDUxMEFGRkI4MTY1NDIwNDgwMDFCQTA1RSAv
KiBXZWJSZXNvdXJjZUxvYWRlci5oICovOyB9OwogCQk1MTBGNTkxMDFEREUyOTY5MDA0MTJGRjUg
LyogX1dLSWNvbkxvYWRpbmdEZWxlZ2F0ZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gNTE0M0IyNUUxRERDREZEMTAwMTRGQUM2IC8qIF9XS0ljb25Mb2Fk
aW5nRGVsZWdhdGUuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9
OyB9OwogCQk1MTBGNTkxMTFEREUyOTcwMDA0MTJGRjUgLyogX1dLTGlua0ljb25QYXJhbWV0ZXJz
LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1MUMwQzk3
OTFEREQ3ODU0MDAzMkNBRDMgLyogX1dLTGlua0ljb25QYXJhbWV0ZXJzLmggKi87IHNldHRpbmdz
ID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKLQkJNTEwRjU5MTIxRERFMjk3NzAw
NDEyRkY1IC8qIF9XS0xpbmtJY29uUGFyYW1ldGVycy5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDUxQzBDOTdBMURERDc4NTQwMDMyQ0FEMyAvKiBfV0tM
aW5rSWNvblBhcmFtZXRlcnMubW0gKi87IH07CiAJCTUxMEZCQjlCMTI4OEM5NUUwMEFGRkRGNCAv
KiBXZWJDb250ZXh0TWVudUl0ZW1EYXRhLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSA1MTBGQkI5OTEyODhDOTVFMDBBRkZERjQgLyogV2ViQ29udGV4dE1l
bnVJdGVtRGF0YS5oICovOyB9OwogCQk1MTEwQUUwRDEzM0MxNkNCMDA3MjcxN0EgLyogV0tJY29u
RGF0YWJhc2UuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IDUxMTBBRTBCMTMzQzE2Q0IwMDcyNzE3QSAvKiBXS0ljb25EYXRhYmFzZS5oICovOyBzZXR0aW5n
cyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTUxMThFOTlDMUYyOTUyNjYw
MDNFRjlGNSAvKiBXZWJUb1N0b3JhZ2VQcm9jZXNzQ29ubmVjdGlvbi5oIGluIEhlYWRlcnMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNTExOEU5OUExRjI5NTI1OTAwM0VGOUY1
IC8qIFdlYlRvU3RvcmFnZVByb2Nlc3NDb25uZWN0aW9uLmggKi87IH07CkBAIC05NjcsNyArOTA4
LDYgQEAKIAkJNTExRjhBN0IxMzhCNDYwOTAwQTk1RjQ0IC8qIFNlY0l0ZW1TaGltTGlicmFyeS5o
IGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNTExRjhBNzcx
MzhCNDYwOTAwQTk1RjQ0IC8qIFNlY0l0ZW1TaGltTGlicmFyeS5oICovOyB9OwogCQk1MTFGOEE4
MTEzOEI0ODVEMDBBOTVGNDQgLyogU2VjSXRlbVNoaW1MaWJyYXJ5Lm1tIGluIFNvdXJjZXMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNTExRjhBNzgxMzhCNDYwOTAwQTk1RjQ0
IC8qIFNlY0l0ZW1TaGltTGlicmFyeS5tbSAqLzsgfTsKIAkJNTEyMEM4MzUxRTVCNzRCOTAwMjVC
MjUwIC8qIF9XS1dlYnNpdGVEYXRhU3RvcmVDb25maWd1cmF0aW9uLmggaW4gSGVhZGVycyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1MTIwQzgzMzFFNUI3MTU3MDAyNUIyNTAg
LyogX1dLV2Vic2l0ZURhdGFTdG9yZUNvbmZpZ3VyYXRpb24uaCAqLzsgc2V0dGluZ3MgPSB7QVRU
UklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwotCQk1MTIwQzgzNjFFNUI3NEJFMDAyNUIyNTAg
LyogX1dLV2Vic2l0ZURhdGFTdG9yZUNvbmZpZ3VyYXRpb24ubW0gaW4gU291cmNlcyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1MTIwQzgzNDFFNUI3MTU3MDAyNUIyNTAgLyog
X1dLV2Vic2l0ZURhdGFTdG9yZUNvbmZpZ3VyYXRpb24ubW0gKi87IH07CiAJCTUxMjEyN0M0MTkw
ODIzOUEwMERBRjM1QyAvKiBXZWJQYXN0ZWJvYXJkT3ZlcnJpZGVzLmggaW4gSGVhZGVycyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1MTIxMjdDMjE5MDgyMzlBMDBEQUYzNUMg
LyogV2ViUGFzdGVib2FyZE92ZXJyaWRlcy5oICovOyB9OwogCQk1MTIxNzQ2MTE2NEMyMEUzMDAz
N0E1QzEgLyogU2hhcmVhYmxlUmVzb3VyY2UuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IDUxMjE3NDVGMTY0QzIwRTMwMDM3QTVDMSAvKiBTaGFyZWFibGVS
ZXNvdXJjZS5oICovOyB9OwogCQk1MTIzQ0YxQzEzM0QyNjBBMDA1NkY4MDAgLyogV0tJY29uRGF0
YWJhc2VDRy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
NTEyM0NGMUExMzNEMjYwQTAwNTZGODAwIC8qIFdLSWNvbkRhdGFiYXNlQ0cuaCAqLzsgc2V0dGlu
Z3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwpAQCAtMTAzOCwxMiArOTc4LDkg
QEAKIAkJNTFDMEM5NzQxRERENzYwMDAwMzJDQUQzIC8qIEljb25Mb2FkaW5nRGVsZWdhdGUuaCBp
biBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDUxQzBDOTcyMURE
RDc0RjAwMDMyQ0FEMyAvKiBJY29uTG9hZGluZ0RlbGVnYXRlLmggKi87IH07CiAJCTUxQ0QxQzVF
MUIzNDkzQjQwMDE0MkNBNSAvKiBXS1NlY3VyaXR5T3JpZ2luUmVmLmggaW4gSGVhZGVycyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1MUNEMUM1QTFCMzQ5M0E5MDAxNDJDQTUg
LyogV0tTZWN1cml0eU9yaWdpblJlZi5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFBy
aXZhdGUsICk7IH07IH07CiAJCTUxQ0QxQzY1MUIzNEI5RDQwMDE0MkNBNSAvKiBXS1NlY3VyaXR5
T3JpZ2luLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1
MUNEMUM1RjFCMzRCOUM5MDAxNDJDQTUgLyogV0tTZWN1cml0eU9yaWdpbi5oICovOyBzZXR0aW5n
cyA9IHtBVFRSSUJVVEVTID0gKFB1YmxpYywgKTsgfTsgfTsKLQkJNTFDRDFDNjYxQjM0QjlEQzAw
MTQyQ0E1IC8qIFdLU2VjdXJpdHlPcmlnaW4ubW0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSA1MUNEMUM2MDFCMzRCOUM5MDAxNDJDQTUgLyogV0tTZWN1cml0
eU9yaWdpbi5tbSAqLzsgfTsKIAkJNTFDRDFDNjcxQjM0QjlERjAwMTQyQ0E1IC8qIFdLU2VjdXJp
dHlPcmlnaW5JbnRlcm5hbC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gNTFDRDFDNjExQjM0QjlDOTAwMTQyQ0E1IC8qIFdLU2VjdXJpdHlPcmlnaW5JbnRl
cm5hbC5oICovOyB9OwogCQk1MUQxMjQzNDFFNkRGNjQzMDAyQjI4MjAgLyogV0tVUkxTY2hlbWVI
YW5kbGVyLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1
MUQxMjQyRDFFNkREREQ3MDAyQjI4MjAgLyogV0tVUkxTY2hlbWVIYW5kbGVyLmggKi87IHNldHRp
bmdzID0ge0FUVFJJQlVURVMgPSAoUHVibGljLCApOyB9OyB9OwogCQk1MUQxMjQzNTFFNkRGNjUy
MDAyQjI4MjAgLyogV0tVUkxTY2hlbWVUYXNrLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSA1MUQxMjQyRjFFNkREREQ3MDAyQjI4MjAgLyogV0tVUkxTY2hl
bWVUYXNrLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHVibGljLCApOyB9OyB9Owot
CQk1MUQxMjQzNjFFNkRGQjM5MDAyQjI4MjAgLyogV0tVUkxTY2hlbWVUYXNrLm1tIGluIFNvdXJj
ZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNTFEMTI0MzAxRTZERERENzAw
MkIyODIwIC8qIFdLVVJMU2NoZW1lVGFzay5tbSAqLzsgfTsKLQkJNTFEMTI0OTIxRTc0QkY0ODAw
MkIyODIwIC8qIFdLSFRUUENvb2tpZVN0b3JlLm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gNTFEMTI0ODUxRTczNEFFMzAwMkIyODIwIC8qIFdLSFRUUENv
b2tpZVN0b3JlLm1tICovOyB9OwogCQk1MUQxMjQ5OTFFNzYzQzAxMDAyQjI4MjAgLyogV0tIVFRQ
Q29va2llU3RvcmUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IDUxRDEyNDg0MUU3MzRBRTMwMDJCMjgyMCAvKiBXS0hUVFBDb29raWVTdG9yZS5oICovOyBz
ZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFB1YmxpYywgKTsgfTsgfTsKIAkJNTFEMTMwNTQxMzgy
RUFDMDAwMzUxRUREIC8qIFNlY0l0ZW1SZXF1ZXN0RGF0YS5oIGluIEhlYWRlcnMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNTFEMTMwNTAxMzgyRUFDMDAwMzUxRUREIC8qIFNl
Y0l0ZW1SZXF1ZXN0RGF0YS5oICovOyB9OwogCQk1MUQxMzA1NjEzODJFQUMwMDAzNTFFREQgLyog
U2VjSXRlbVJlc3BvbnNlRGF0YS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gNTFEMTMwNTIxMzgyRUFDMDAwMzUxRUREIC8qIFNlY0l0ZW1SZXNwb25zZURh
dGEuaCAqLzsgfTsKQEAgLTExMTUsMjggKzEwNTIsMjIgQEAKIAkJNUM5RTU2ODMxREY3RjFCMzAw
QzlFRTMzIC8qIFdLV2Vic2l0ZVBvbGljaWVzLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSA1QzlFNTY4MTFERjdGMDU1MDBDOUVFMzMgLyogV0tXZWJzaXRl
UG9saWNpZXMuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9
OwogCQk1Q0E5ODU0QTIxMEJFQjY0MDA1N0VCNkIgLyogU2FmZUJyb3dzaW5nUmVzdWx0LmggaW4g
SGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1Q0E5ODU0OTIxMEJF
QjVBMDA1N0VCNkIgLyogU2FmZUJyb3dzaW5nUmVzdWx0LmggKi87IH07CiAJCTVDQUZERTQ1MjEz
MDg0NjMwMEIxRjdFMSAvKiBfV0tJbnNwZWN0b3IuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDVDQUZERTQyMjEzMDg0MzUwMEIxRjdFMSAvKiBfV0tJbnNw
ZWN0b3IuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9Owot
CQk1Q0FGREU0NjIxMzA4NDY4MDBCMUY3RTEgLyogX1dLSW5zcGVjdG9yLm1tIGluIFNvdXJjZXMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNUNBRkRFNDMyMTMwODQzNjAwQjFG
N0UxIC8qIF9XS0luc3BlY3Rvci5tbSAqLzsgfTsKIAkJNUNBRkRFNDcyMTMwODQ2QTAwQjFGN0Ux
IC8qIF9XS0luc3BlY3RvckludGVybmFsLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSA1Q0FGREU0NDIxMzA4NDM2MDBCMUY3RTEgLyogX1dLSW5zcGVjdG9y
SW50ZXJuYWwuaCAqLzsgfTsKLQkJNUNCMjM3OEIxREYwREU1MzAwMTE3QUEzIC8qIF9XS1dlYnNp
dGVQb2xpY2llcy5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IDVDQjIzNzhBMURGMERENDMwMDExN0FBMyAvKiBfV0tXZWJzaXRlUG9saWNpZXMubW0gKi87
IH07CiAJCTVDQjIzNzhDMURGMERFNkUwMDExN0FBMyAvKiBfV0tXZWJzaXRlUG9saWNpZXMuaCBp
biBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDVDQjIzNzg5MURG
MERENDMwMDExN0FBMyAvKiBfV0tXZWJzaXRlUG9saWNpZXMuaCAqLzsgc2V0dGluZ3MgPSB7QVRU
UklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQk1Q0IyMzc4RTFERjBFMEQzMDAxMTdBQTMg
LyogX1dLV2Vic2l0ZVBvbGljaWVzSW50ZXJuYWwuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDVDQjIzNzhEMURGMEUwQzIwMDExN0FBMyAvKiBfV0tXZWJz
aXRlUG9saWNpZXNJbnRlcm5hbC5oICovOyB9OwogCQk1Q0JDOUI4RTFDNjUyQ0EwMDBBOEZEQ0Yg
LyogTmV0d29ya0RhdGFUYXNrLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSA1Q0JDOUI4OTFDNjUyNEE1MDBBOEZEQ0YgLyogTmV0d29ya0RhdGFUYXNrLmgg
Ki87IH07CiAJCTVDRDI4NjUxMUU3MjM1OTkwMDk0RkRDOCAvKiBXS0NvbnRlbnRSdWxlTGlzdFN0
b3JlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1Q0Qy
ODY0RDFFNzIyRjQ0MDA5NEZEQzggLyogV0tDb250ZW50UnVsZUxpc3RTdG9yZS5oICovOyBzZXR0
aW5ncyA9IHtBVFRSSUJVVEVTID0gKFB1YmxpYywgKTsgfTsgfTsKLQkJNUNEMjg2NTIxRTcyMzVB
NjAwOTRGREM4IC8qIFdLQ29udGVudFJ1bGVMaXN0Lm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNUNEMjg2NEIxRTcyMkY0NDAwOTRGREM4IC8qIFdLQ29u
dGVudFJ1bGVMaXN0Lm1tICovOyB9OwogCQk1Q0QyODY1MzFFNzIzNUFBMDA5NEZEQzggLyogX1dL
VXNlckNvbnRlbnRGaWx0ZXJQcml2YXRlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSA1Q0QyODY0OTFFNzIyRjQ0MDA5NEZEQzggLyogX1dLVXNlckNvbnRl
bnRGaWx0ZXJQcml2YXRlLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwg
KTsgfTsgfTsKIAkJNUNEMjg2NTQxRTcyMzVCMTAwOTRGREM4IC8qIFdLQ29udGVudFJ1bGVMaXN0
LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1Q0QyODY0
QTFFNzIyRjQ0MDA5NEZEQzggLyogV0tDb250ZW50UnVsZUxpc3QuaCAqLzsgc2V0dGluZ3MgPSB7
QVRUUklCVVRFUyA9IChQdWJsaWMsICk7IH07IH07CiAJCTVDRDI4NjU1MUU3MjM1QjgwMDk0RkRD
OCAvKiBXS0NvbnRlbnRSdWxlTGlzdEludGVybmFsLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1Q0QyODY0QzFFNzIyRjQ0MDA5NEZEQzggLyogV0tDb250
ZW50UnVsZUxpc3RJbnRlcm5hbC5oICovOyB9OwotCQk1Q0QyODY1NjFFNzIzNUM2MDA5NEZEQzgg
LyogV0tDb250ZW50UnVsZUxpc3RTdG9yZS5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IDVDRDI4NjRFMUU3MjJGNDQwMDk0RkRDOCAvKiBXS0NvbnRlbnRS
dWxlTGlzdFN0b3JlLm1tICovOyB9OwogCQk1Q0QyODY1NzFFNzIzNUM5MDA5NEZEQzggLyogV0tD
b250ZW50UnVsZUxpc3RTdG9yZUludGVybmFsLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSA1Q0QyODY0RjFFNzIyRjQ0MDA5NEZEQzggLyogV0tDb250ZW50
UnVsZUxpc3RTdG9yZUludGVybmFsLmggKi87IH07CiAJCTVDRDI4NjU4MUU3MjM1RDEwMDk0RkRD
OCAvKiBXS0NvbnRlbnRSdWxlTGlzdFN0b3JlUHJpdmF0ZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNUNEMjg2NTAxRTcyMkY0NDAwOTRGREM4IC8qIFdL
Q29udGVudFJ1bGVMaXN0U3RvcmVQcml2YXRlLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMg
PSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJNUNFODVCMjAxQzg4RTY0QjAwNzBCRkNFIC8qIFBpbmdM
b2FkLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1Q0U4
NUIxRjFDODhFNjQzMDA3MEJGQ0UgLyogUGluZ0xvYWQuaCAqLzsgfTsKIAkJNjE3QTUyRDgxRjQz
QTlEQTAwRENEQzBBIC8qIFNlcnZpY2VXb3JrZXJDbGllbnRGZXRjaE1lc3NhZ2VSZWNlaXZlci5j
cHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA2MTdBNTJE
NzFGNDNBOUI2MDBEQ0RDMEEgLyogU2VydmljZVdvcmtlckNsaWVudEZldGNoTWVzc2FnZVJlY2Vp
dmVyLmNwcCAqLzsgfTsKIAkJNjMxMDhGOTYxRjk2NzE5QzAwQTBEQjg0IC8qIF9XS0FwcGxpY2F0
aW9uTWFuaWZlc3QuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IDYzMTA4Rjk0MUY5NjcxOUMwMEEwREI4NCAvKiBfV0tBcHBsaWNhdGlvbk1hbmlmZXN0Lmgg
Ki87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKLQkJNjMxMDhG
OTcxRjk2NzE5QzAwQTBEQjg0IC8qIF9XS0FwcGxpY2F0aW9uTWFuaWZlc3QubW0gaW4gU291cmNl
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA2MzEwOEY5NTFGOTY3MTlDMDBB
MERCODQgLyogX1dLQXBwbGljYXRpb25NYW5pZmVzdC5tbSAqLzsgfTsKIAkJNjMxMDhGOTkxRjk2
NzFGNzAwQTBEQjg0IC8qIF9XS0FwcGxpY2F0aW9uTWFuaWZlc3RJbnRlcm5hbC5oIGluIEhlYWRl
cnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNjMxMDhGOTgxRjk2NzFGNzAw
QTBEQjg0IC8qIF9XS0FwcGxpY2F0aW9uTWFuaWZlc3RJbnRlcm5hbC5oICovOyB9OwogCQk2MzQ4
NDI1MTFGQjI2RTcxMDA5NDZFM0MgLyogQVBJQXBwbGljYXRpb25NYW5pZmVzdC5oIGluIEhlYWRl
cnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNjM0ODQyNEYxRkIyNkU3MTAw
OTQ2RTNDIC8qIEFQSUFwcGxpY2F0aW9uTWFuaWZlc3QuaCAqLzsgfTsKIAkJNjM2MzUzQTUxRTk4
NThERjAwMDlGOEFGIC8qIF9XS0dlb2xvY2F0aW9uQ29yZUxvY2F0aW9uUHJvdmlkZXIuaCBpbiBI
ZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDYzRkFCRTE5MUU5NzBE
NjUwMDMwMTFENSAvKiBfV0tHZW9sb2NhdGlvbkNvcmVMb2NhdGlvblByb3ZpZGVyLmggKi87IHNl
dHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKLQkJNjNDMzJDMjUxRTk4
MTBEOTAwNjk5QkQwIC8qIF9XS0dlb2xvY2F0aW9uUG9zaXRpb24ubW0gaW4gU291cmNlcyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA2M0MzMkMyMzFFOTgxMEQ5MDA2OTlCRDAg
LyogX1dLR2VvbG9jYXRpb25Qb3NpdGlvbi5tbSAqLzsgfTsKIAkJNjNDMzJDMjYxRTk4MTBEOTAw
Njk5QkQwIC8qIF9XS0dlb2xvY2F0aW9uUG9zaXRpb24uaCBpbiBIZWFkZXJzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDYzQzMyQzI0MUU5ODEwRDkwMDY5OUJEMCAvKiBfV0tH
ZW9sb2NhdGlvblBvc2l0aW9uLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0
ZSwgKTsgfTsgfTsKIAkJNjNDMzJDMjgxRTk4MTE5MDAwNjk5QkQwIC8qIF9XS0dlb2xvY2F0aW9u
UG9zaXRpb25JbnRlcm5hbC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gNjNDMzJDMjcxRTk4MTE5MDAwNjk5QkQwIC8qIF9XS0dlb2xvY2F0aW9uUG9zaXRp
b25JbnRlcm5hbC5oICovOyB9OwogCQk2NUI4NkYxRTEyRjExREUzMDBCN0REOEEgLyogV0tCdW5k
bGVJbnNwZWN0b3IuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IDY1Qjg2RjE4MTJGMTFEN0IwMEI3REQ4QSAvKiBXS0J1bmRsZUluc3BlY3Rvci5oICovOyBz
ZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CkBAIC0xMTQ5LDcgKzEw
ODAsNiBAQAogCQk3MjhFODZGMTE3OTUxODhDMDA4Nzg3OUUgLyogV2ViQ29sb3JQaWNrZXJNYWMu
aCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDcyOEU4NkVG
MTc5NTE4OEMwMDg3ODc5RSAvKiBXZWJDb2xvclBpY2tlck1hYy5oICovOyB9OwogCQk3NTNFM0Uw
RTE4ODczOTg5MDAxODg0OTYgLyogU2Vzc2lvblRyYWNrZXIuaCBpbiBIZWFkZXJzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDc1M0UzRTA5MTg4NzM5NEIwMDE4ODQ5NiAvKiBT
ZXNzaW9uVHJhY2tlci5oICovOyB9OwogCQk3NUE4RDJDODE4N0NDRkFCMDBDMzlDOUUgLyogV0tX
ZWJzaXRlRGF0YVN0b3JlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSA3NUE4RDJDNDE4N0NDRjlGMDBDMzlDOUUgLyogV0tXZWJzaXRlRGF0YVN0b3JlLmgg
Ki87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHVibGljLCApOyB9OyB9OwotCQk3NUE4RDJD
OTE4N0NDRkFGMDBDMzlDOUUgLyogV0tXZWJzaXRlRGF0YVN0b3JlLm1tIGluIFNvdXJjZXMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNzVBOEQyQzUxODdDQ0Y5RjAwQzM5QzlF
IC8qIFdLV2Vic2l0ZURhdGFTdG9yZS5tbSAqLzsgfTsKIAkJNzVBOEQyRDYxODdEMUMwRTAwQzM5
QzlFIC8qIFdLV2Vic2l0ZURhdGFTdG9yZUludGVybmFsLmggaW4gSGVhZGVycyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA3NUE4RDJENDE4N0QxQzAxMDBDMzlDOUUgLyogV0tX
ZWJzaXRlRGF0YVN0b3JlSW50ZXJuYWwuaCAqLzsgfTsKIAkJNzYyQjc0OEQxMjBCQzc1QzAwODE5
MzM5IC8qIFdLUHJlZmVyZW5jZXNSZWZQcml2YXRlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA3NjJCNzQ4NDEyMEJCQTJEMDA4MTkzMzkgLyogV0tQcmVm
ZXJlbmNlc1JlZlByaXZhdGUuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRl
LCApOyB9OyB9OwogCQk3QTFFMkE4NTFFRUZFODkyMDAzN0EwRTAgLyogQVBJTm90aWZpY2F0aW9u
UHJvdmlkZXIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IDdBMUUyQTg0MUVFRkU4OEEwMDM3QTBFMCAvKiBBUElOb3RpZmljYXRpb25Qcm92aWRlci5oICov
OyB9OwpAQCAtMTE2OCw3ICsxMDk4LDYgQEAKIAkJN0MwNjVGMkMxQzhDRDk1RjAwQzJEOTUwIC8q
IFdlYlVzZXJDb250ZW50Q29udHJvbGxlckRhdGFUeXBlcy5oIGluIEhlYWRlcnMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gN0MwNjVGMkExQzhDRDk1RjAwQzJEOTUwIC8qIFdl
YlVzZXJDb250ZW50Q29udHJvbGxlckRhdGFUeXBlcy5oICovOyB9OwogCQk3QzEzNUFBOTE3M0Iw
QkNBMDA1ODZBRTIgLyogV0tQbHVnaW5JbmZvcm1hdGlvbi5oIGluIEhlYWRlcnMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gN0MxMzVBQTcxNzNCMEJDQTAwNTg2QUUyIC8qIFdL
UGx1Z2luSW5mb3JtYXRpb24uaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRl
LCApOyB9OyB9OwogCQk3QzFCQTMzRTFBNEEwRTYwMDA0M0UyNDkgLyogQVBJRGljdGlvbmFyeS5o
IGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gN0MxQkEzM0Mx
QTRBMEU2MDAwNDNFMjQ5IC8qIEFQSURpY3Rpb25hcnkuaCAqLzsgfTsKLQkJN0MyNDEzMDIxQUFD
RkE3NTAwQTU4QzE1IC8qIF9XS1VzZXJDb250ZW50RXh0ZW5zaW9uU3RvcmUubW0gaW4gU291cmNl
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA3QzI0MTMwMDFBQUNGQTc1MDBB
NThDMTUgLyogX1dLVXNlckNvbnRlbnRFeHRlbnNpb25TdG9yZS5tbSAqLzsgfTsKIAkJN0MyNDEz
MDMxQUFDRkE3NTAwQTU4QzE1IC8qIF9XS1VzZXJDb250ZW50RXh0ZW5zaW9uU3RvcmUuaCBpbiBI
ZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDdDMjQxMzAxMUFBQ0ZB
NzUwMEE1OEMxNSAvKiBfV0tVc2VyQ29udGVudEV4dGVuc2lvblN0b3JlLmggKi87IHNldHRpbmdz
ID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJN0MyNDEzMDUxQUFDRkE5QzAw
QTU4QzE1IC8qIF9XS1VzZXJDb250ZW50RXh0ZW5zaW9uU3RvcmVJbnRlcm5hbC5oIGluIEhlYWRl
cnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gN0MyNDEzMDQxQUFDRkE5QzAw
QTU4QzE1IC8qIF9XS1VzZXJDb250ZW50RXh0ZW5zaW9uU3RvcmVJbnRlcm5hbC5oICovOyB9Owog
CQk3QzI0MTMwOTFBQUNGQ0I0MDBBNThDMTUgLyogV0tVc2VyQ29udGVudEV4dGVuc2lvblN0b3Jl
UmVmLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA3QzI0
MTMwNzFBQUNGQ0I0MDBBNThDMTUgLyogV0tVc2VyQ29udGVudEV4dGVuc2lvblN0b3JlUmVmLmgg
Ki87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKQEAgLTExODMs
NyArMTExMiw2IEBACiAJCTdDNEFCRUQxMUFBOEU5RjAwMDg4QUEzNyAvKiBXZWJDb21waWxlZENv
bnRlbnRSdWxlTGlzdC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gN0M0QUJFQ0YxQUE4RTlGMDAwODhBQTM3IC8qIFdlYkNvbXBpbGVkQ29udGVudFJ1bGVM
aXN0LmggKi87IH07CiAJCTdDNEFCRUQ1MUFBOEZDQjgwMDg4QUEzNyAvKiBXZWJDb21waWxlZENv
bnRlbnRSdWxlTGlzdERhdGEuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IDdDNEFCRUQzMUFBOEZDQjgwMDg4QUEzNyAvKiBXZWJDb21waWxlZENvbnRlbnRS
dWxlTGlzdERhdGEuaCAqLzsgfTsKIAkJN0M4ODJERjcxQzdFOTk2NTAwNkJGNzMxIC8qIF9XS1Vz
ZXJDb250ZW50V29ybGQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IDdDODgyREYzMUM3RTk5NUUwMDZCRjczMSAvKiBfV0tVc2VyQ29udGVudFdvcmxkLmgg
Ki87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKLQkJN0M4ODJE
RjgxQzdFOTk2QzAwNkJGNzMxIC8qIF9XS1VzZXJDb250ZW50V29ybGQubW0gaW4gU291cmNlcyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA3Qzg4MkRGNDFDN0U5OTVFMDA2QkY3
MzEgLyogX1dLVXNlckNvbnRlbnRXb3JsZC5tbSAqLzsgfTsKIAkJN0M4ODJERjkxQzdFOTk2RjAw
NkJGNzMxIC8qIF9XS1VzZXJDb250ZW50V29ybGRJbnRlcm5hbC5oIGluIEhlYWRlcnMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gN0M4ODJERjUxQzdFOTk1RTAwNkJGNzMxIC8q
IF9XS1VzZXJDb250ZW50V29ybGRJbnRlcm5hbC5oICovOyB9OwogCQk3Qzg4MkRGQTFDN0U5OTcz
MDA2QkY3MzEgLyogV0tVc2VyU2NyaXB0UHJpdmF0ZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gN0M4ODJERjYxQzdFOTk1RTAwNkJGNzMxIC8qIFdLVXNl
clNjcmlwdFByaXZhdGUuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCAp
OyB9OyB9OwogCQk3Qzg4MkRGRDFDN0U5OUE4MDA2QkY3MzEgLyogQVBJVXNlckNvbnRlbnRXb3Js
ZC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gN0M4ODJE
RkMxQzdFOTlBNjAwNkJGNzMxIC8qIEFQSVVzZXJDb250ZW50V29ybGQuaCAqLzsgfTsKQEAgLTEx
OTQsNyArMTEyMiw2IEBACiAJCTdDODlEMkE0MUE2Nzg4NzUwMDNBNUZERSAvKiBXS1VzZXJTY3Jp
cHRSZWYuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDdD
ODlEMkEyMUE2Nzg4NzUwMDNBNUZERSAvKiBXS1VzZXJTY3JpcHRSZWYuaCAqLzsgc2V0dGluZ3Mg
PSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQk3Qzg5RDJCNDFBNkIwNjhDMDAz
QTVGREUgLyogQVBJQ29udGVudFJ1bGVMaXN0LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSA3Qzg5RDJCMjFBNkIwNjhDMDAzQTVGREUgLyogQVBJQ29udGVu
dFJ1bGVMaXN0LmggKi87IH07CiAJCTdDODlEMkI2MUE2QjBERDkwMDNBNUZERSAvKiBXS1VzZXJD
b250ZW50Q29udHJvbGxlclByaXZhdGUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IDdDODlEMkI1MUE2QjBERDkwMDNBNUZERSAvKiBXS1VzZXJDb250ZW50
Q29udHJvbGxlclByaXZhdGUuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRl
LCApOyB9OyB9OwotCQk3Qzg5RDJCOTFBNkIwRjJDMDAzQTVGREUgLyogX1dLVXNlckNvbnRlbnRG
aWx0ZXIubW0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA3
Qzg5RDJCNzFBNkIwRjJDMDAzQTVGREUgLyogX1dLVXNlckNvbnRlbnRGaWx0ZXIubW0gKi87IH07
CiAJCTdDODlEMkJBMUE2QjBGMkMwMDNBNUZERSAvKiBfV0tVc2VyQ29udGVudEZpbHRlci5oIGlu
IEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gN0M4OUQyQjgxQTZC
MEYyQzAwM0E1RkRFIC8qIF9XS1VzZXJDb250ZW50RmlsdGVyLmggKi87IHNldHRpbmdzID0ge0FU
VFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJN0M4OUQyQkMxQTZCMEY1QjAwM0E1RkRF
IC8qIF9XS1VzZXJDb250ZW50RmlsdGVySW50ZXJuYWwuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDdDODlEMkJCMUE2QjBGNUIwMDNBNUZERSAvKiBfV0tV
c2VyQ29udGVudEZpbHRlckludGVybmFsLmggKi87IH07CiAJCTdDODlEMkQ3MUE2QzZCRTYwMDNB
NUZERSAvKiBfV0tQcm9jZXNzUG9vbENvbmZpZ3VyYXRpb25JbnRlcm5hbC5oIGluIEhlYWRlcnMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gN0M4OUQyRDYxQTZDNkJFNjAwM0E1
RkRFIC8qIF9XS1Byb2Nlc3NQb29sQ29uZmlndXJhdGlvbkludGVybmFsLmggKi87IH07CkBAIC0x
MjEyLDcgKzExMzksNiBAQAogCQk3Q0IxNkZGMzE3MjRCQTJGMDA3QTBBOTUgLyogY29tLm1pY3Jv
c29mdC5TaWx2ZXJsaWdodFBsdWdpbi5zYiBpbiBDb3B5IFBsdWctaW4gU2FuZGJveCBQcm9maWxl
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA3Q0IxNkZFNjE3MjRCOUI1MDA3
QTBBOTUgLyogY29tLm1pY3Jvc29mdC5TaWx2ZXJsaWdodFBsdWdpbi5zYiAqLzsgfTsKIAkJN0NC
MTZGRjQxNzI0QkEzMDAwN0EwQTk1IC8qIGNvbS5vcmFjbGUuamF2YS5KYXZhQXBwbGV0UGx1Z2lu
LnNiIGluIENvcHkgUGx1Zy1pbiBTYW5kYm94IFByb2ZpbGVzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IDdDQjE2RkU3MTcyNEI5QjUwMDdBMEE5NSAvKiBjb20ub3JhY2xlLmph
dmEuSmF2YUFwcGxldFBsdWdpbi5zYiAqLzsgfTsKIAkJN0NCMzY1QUExRDMxREI3MDAwNzE1OENB
IC8qIF9XS1VzZXJJbml0aWF0ZWRBY3Rpb24uaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IDdDQjM2NUE4MUQzMURCNzAwMDcxNThDQSAvKiBfV0tVc2VySW5p
dGlhdGVkQWN0aW9uLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsg
fTsgfTsKLQkJN0NCMzY1QUIxRDMxREI3MDAwNzE1OENBIC8qIF9XS1VzZXJJbml0aWF0ZWRBY3Rp
b24ubW0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA3Q0Iz
NjVBOTFEMzFEQjcwMDA3MTU4Q0EgLyogX1dLVXNlckluaXRpYXRlZEFjdGlvbi5tbSAqLzsgfTsK
IAkJN0NCMzY1QUQxRDMxREMxMDAwNzE1OENBIC8qIF9XS1VzZXJJbml0aWF0ZWRBY3Rpb25JbnRl
cm5hbC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gN0NC
MzY1QUMxRDMxREMxMDAwNzE1OENBIC8qIF9XS1VzZXJJbml0aWF0ZWRBY3Rpb25JbnRlcm5hbC5o
ICovOyB9OwogCQk3Q0IzNjVCMTFEMzFERDFFMDA3MTU4Q0EgLyogQVBJVXNlckluaXRpYXRlZEFj
dGlvbi5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gN0NC
MzY1QUYxRDMxREQxRTAwNzE1OENBIC8qIEFQSVVzZXJJbml0aWF0ZWRBY3Rpb24uaCAqLzsgfTsK
IAkJN0NCQjgxMUQxQUEwRjhCMTAwNkIxOTQyIC8qIEluamVjdGVkQnVuZGxlRmlsZUhhbmRsZS5o
IGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gN0NCQjgxMUIx
QUEwRjhCMTAwNkIxOTQyIC8qIEluamVjdGVkQnVuZGxlRmlsZUhhbmRsZS5oICovOyB9OwpAQCAt
MTIyMyw3ICsxMTQ5LDYgQEAKIAkJN0NEM0E0ODMxQTVEMDJGQTAwOTYyM0I4IC8qIEFQSU5hdmln
YXRpb24uaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDdD
RDNBNDgxMUE1RDAyRkEwMDk2MjNCOCAvKiBBUElOYXZpZ2F0aW9uLmggKi87IH07CiAJCTdDRDVF
QkI5MTc0NkExNUIwMDBDMUM0NSAvKiBXS09iakNUeXBlV3JhcHBlclJlZi5oIGluIEhlYWRlcnMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gN0NENUVCQjcxNzQ2QTE1QjAwMEMx
QzQ1IC8qIFdLT2JqQ1R5cGVXcmFwcGVyUmVmLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMg
PSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJN0NENUVCQkIxNzQ2QTgzRTAwMEMxQzQ1IC8qIFdLQmFz
ZU1hYy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gN0NE
NUVCQkExNzQ2QTgzRTAwMEMxQzQ1IC8qIFdLQmFzZU1hYy5oICovOyBzZXR0aW5ncyA9IHtBVFRS
SUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07Ci0JCTdDRDVFQkJFMTc0NkIwNEMwMDBDMUM0NSAv
KiBXS1R5cGVSZWZXcmFwcGVyLm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gN0NENUVCQkMxNzQ2QjA0QzAwMEMxQzQ1IC8qIFdLVHlwZVJlZldyYXBwZXIu
bW0gKi87IH07CiAJCTdDRDVFQkJGMTc0NkIwNEMwMDBDMUM0NSAvKiBXS1R5cGVSZWZXcmFwcGVy
LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA3Q0Q1RUJC
RDE3NDZCMDRDMDAwQzFDNDUgLyogV0tUeXBlUmVmV3JhcHBlci5oICovOyBzZXR0aW5ncyA9IHtB
VFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTdDRDYyMjc4MTczOUQ4NjMwMDVCRDdG
RiAvKiBQbHVnaW5TYW5kYm94UHJvZmlsZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gN0NENjIyNzYxNzM5RDg2MzAwNUJEN0ZGIC8qIFBsdWdpblNhbmRi
b3hQcm9maWxlLmggKi87IH07CiAJCTdDRTREMjA3MUE0Njc3NjEwMEM3RjE1MiAvKiBBUElMZWdh
Y3lDb250ZXh0SGlzdG9yeUNsaWVudC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gN0NFNEQyMDYxQTQ2Nzc1NzAwQzdGMTUyIC8qIEFQSUxlZ2FjeUNvbnRl
eHRIaXN0b3J5Q2xpZW50LmggKi87IH07CkBAIC0xMjMzLDcgKzExNTgsNiBAQAogCQk3Q0U0RDIy
ODFBNDkxNkMyMDBDN0YxNTIgLyogV2ViUHJvY2Vzc1Bvb2xNZXNzYWdlcy5oIGluIEhlYWRlcnMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gN0NFNEQyMjYxQTQ5MTZDMjAwQzdG
MTUyIC8qIFdlYlByb2Nlc3NQb29sTWVzc2FnZXMuaCAqLzsgfTsKIAkJN0NFOUNFMTAxRkEwNzY3
QTAwMDE3N0RFIC8qIFdlYlBhZ2VVcGRhdGVQcmVmZXJlbmNlcy5jcHAgaW4gU291cmNlcyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA3Q0U5Q0UwRjFGQTA3NjREMDAwMTc3REUg
LyogV2ViUGFnZVVwZGF0ZVByZWZlcmVuY2VzLmNwcCAqLzsgfTsKIAkJN0NFQjAwREQxRkE2OUFC
RTAwNjU0NzNCIC8qIFdlYlByZWZlcmVuY2VzRXhwZXJpbWVudGFsRmVhdHVyZXMuY3BwIGluIFNv
dXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gN0NFQjAwREMxRkE2OUE4
OTAwNjU0NzNCIC8qIFdlYlByZWZlcmVuY2VzRXhwZXJpbWVudGFsRmVhdHVyZXMuY3BwICovOyB9
OwotCQk3Q0VGQTk2MjFBQzA5OTkzMDBCOTEwRkQgLyogQVBJQ29udGVudFJ1bGVMaXN0U3RvcmVD
b2NvYS5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDdD
RUZBOTYwMUFDMDk5OTMwMEI5MTBGRCAvKiBBUElDb250ZW50UnVsZUxpc3RTdG9yZUNvY29hLm1t
ICovOyB9OwogCQk3Q0Y0N0ZGNzE3Mjc1QjcxMDA4QUNCOTEgLyogV0tCdW5kbGVQYWdlQmFubmVy
LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA3Q0Y0N0ZG
NTE3Mjc1QjcxMDA4QUNCOTEgLyogV0tCdW5kbGVQYWdlQmFubmVyLmggKi87IHNldHRpbmdzID0g
e0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJN0NGNDdGRkIxNzI3NUM1NzAwOEFD
QjkxIC8qIFBhZ2VCYW5uZXIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IDdDRjQ3RkY5MTcyNzVDNTcwMDhBQ0I5MSAvKiBQYWdlQmFubmVyLmggKi87IH07
CiAJCTdDRjQ3RkZGMTcyNzZBRTMwMDhBQ0I5MSAvKiBXS0J1bmRsZVBhZ2VCYW5uZXJNYWMuaCBp
biBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDdDRjQ3RkZEMTcy
NzZBRTMwMDhBQ0I5MSAvKiBXS0J1bmRsZVBhZ2VCYW5uZXJNYWMuaCAqLzsgc2V0dGluZ3MgPSB7
QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwpAQCAtMTI4MiwyNSArMTIwNiwxOSBAQAog
CQk5MzkxMDc0RjFCRjZCQzY1MDA4QzE3QUQgLyogV0tQcmV2aWV3RWxlbWVudEluZm9JbnRlcm5h
bC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gOTM5MTA3
NEUxQkY2QkM2NTAwOEMxN0FEIC8qIFdLUHJldmlld0VsZW1lbnRJbmZvSW50ZXJuYWwuaCAqLzsg
fTsKIAkJOTM5MUYyQ0IxMjFCNjdBRDAwRUJGN0U4IC8qIFdlYkZyYW1lTmV0d29ya2luZ0NvbnRl
eHQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDkzOTFG
MjgzMTIxQjM4RjUwMEVCRjdFOCAvKiBXZWJGcmFtZU5ldHdvcmtpbmdDb250ZXh0LmggKi87IH07
CiAJCTkzOTVFNjhBMUJGMkMzMzIwMEY0OUJDRSAvKiBXS1ByZXZpZXdFbGVtZW50SW5mby5oIGlu
IEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gOTM5NUU2ODkxQkYy
QzMzMjAwRjQ5QkNFIC8qIFdLUHJldmlld0VsZW1lbnRJbmZvLmggKi87IHNldHRpbmdzID0ge0FU
VFJJQlVURVMgPSAoUHVibGljLCApOyB9OyB9OwotCQk5Mzk1RTY4QzFCRjJDMzUyMDBGNDlCQ0Ug
LyogV0tQcmV2aWV3RWxlbWVudEluZm8ubW0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSA5Mzk1RTY4QjFCRjJDMzUyMDBGNDlCQ0UgLyogV0tQcmV2aWV3RWxl
bWVudEluZm8ubW0gKi87IH07CiAJCTkzOUY0MDFDMTlGQjBCQkMwMDJCMkI0MiAvKiBXS0FjdGlv
bk1lbnVUeXBlcy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gOTM5RjQwMUIxOUZCMEJCQzAwMkIyQjQyIC8qIFdLQWN0aW9uTWVudVR5cGVzLmggKi87IHNl
dHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJOTNBMjUzRUQxQzky
MkUxRTAwRjlGNjhEIC8qIFdLUHJldmlld0FjdGlvbkl0ZW0uaCBpbiBIZWFkZXJzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDkzQTI1M0VDMUM5MjJFMUUwMEY5RjY4RCAvKiBX
S1ByZXZpZXdBY3Rpb25JdGVtLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHVibGlj
LCApOyB9OyB9OwotCQk5M0EyNTNFRjFDOTIyRThFMDBGOUY2OEQgLyogV0tQcmV2aWV3QWN0aW9u
SXRlbS5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDkz
QTI1M0VFMUM5MjJFOEUwMEY5RjY4RCAvKiBXS1ByZXZpZXdBY3Rpb25JdGVtLm1tICovOyB9Owog
CQk5M0EyNTNGMzFDOTI0MTEyMDBGOUY2OEQgLyogV0tQcmV2aWV3QWN0aW9uSXRlbUlkZW50aWZp
ZXJzLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA5M0Ey
NTNGMjFDOTI0MTEyMDBGOUY2OEQgLyogV0tQcmV2aWV3QWN0aW9uSXRlbUlkZW50aWZpZXJzLmgg
Ki87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHVibGljLCApOyB9OyB9OwotCQk5M0EyNTNG
NTFDOTI0MTMyMDBGOUY2OEQgLyogV0tQcmV2aWV3QWN0aW9uSXRlbUlkZW50aWZpZXJzLm1tIGlu
IFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gOTNBMjUzRjQxQzky
NDEzMjAwRjlGNjhEIC8qIFdLUHJldmlld0FjdGlvbkl0ZW1JZGVudGlmaWVycy5tbSAqLzsgfTsK
IAkJOTNBMkEzNDYxRDI0NjEyNTAwMkI1OUQzIC8qIG1lZGlhSWNvbi5wZGYgaW4gUmVzb3VyY2Vz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDkzQTJBMzQ1MUQyNDYxMjUwMDJC
NTlEMyAvKiBtZWRpYUljb24ucGRmICovOyB9OwogCQk5M0E4OEIzMzFCQzZFOUNEMDBBQkE1QzIg
LyogV2ViSGl0VGVzdFJlc3VsdERhdGEuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IDkzQTg4QjMxMUJDNkU5QzAwMEFCQTVDMiAvKiBXZWJIaXRUZXN0UmVz
dWx0RGF0YS5oICovOyB9OwotCQk5M0E4OEIzOTFCQzcwRjNGMDBBQkE1QzIgLyogX1dLSGl0VGVz
dFJlc3VsdC5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IDkzQTg4QjM3MUJDNzBGMkUwMEFCQTVDMiAvKiBfV0tIaXRUZXN0UmVzdWx0Lm1tICovOyB9Owog
CQk5M0E4OEIzQjFCQzcxMEQ5MDBBQkE1QzIgLyogX1dLSGl0VGVzdFJlc3VsdEludGVybmFsLmgg
aW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA5M0E4OEIzQTFC
QzcxMEQ5MDBBQkE1QzIgLyogX1dLSGl0VGVzdFJlc3VsdEludGVybmFsLmggKi87IH07CiAJCTkz
QTg4QjQ2MUJDODgyOTMwMEFCQTVDMiAvKiBBUElIaXRUZXN0UmVzdWx0LmggaW4gSGVhZGVycyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA5M0E4OEI0MzFCQzg4MjhDMDBBQkE1
QzIgLyogQVBJSGl0VGVzdFJlc3VsdC5oICovOyB9OwogCQk5M0JERUIwMTE3MUREN0FGMDBCRkVF
MUIgLyogV0tQYWdlTG9hZFR5cGVzUHJpdmF0ZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gOTNCREVCMDAxNzFERDdBRjAwQkZFRTFCIC8qIFdLUGFnZUxv
YWRUeXBlc1ByaXZhdGUuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCAp
OyB9OyB9OwogCQk5M0U2QTRFRTFCQzVERDM5MDBGOEEwRTcgLyogX1dLSGl0VGVzdFJlc3VsdC5o
IGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gOTNFNkE0RUQx
QkM1REQzOTAwRjhBMEU3IC8qIF9XS0hpdFRlc3RSZXN1bHQuaCAqLzsgc2V0dGluZ3MgPSB7QVRU
UklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQk5M0Y1NDlCNDFFMzE3NEI3MDAwRTcyMzkg
LyogV0tTbmFwc2hvdENvbmZpZ3VyYXRpb24uaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IDkzRjU0OUIzMUUzMTc0QjcwMDBFNzIzOSAvKiBXS1NuYXBzaG90
Q29uZmlndXJhdGlvbi5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFB1YmxpYywgKTsg
fTsgfTsKLQkJOTNGNTQ5QjYxRTMxNzREQTAwMEU3MjM5IC8qIFdLU25hcHNob3RDb25maWd1cmF0
aW9uLm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gOTNG
NTQ5QjUxRTMxNzREQTAwMEU3MjM5IC8qIFdLU25hcHNob3RDb25maWd1cmF0aW9uLm1tICovOyB9
OwogCQk5OTBEMjhBQjFDNjQyMEM2MDA5ODY5NzcgLyogX1dLQXV0b21hdGlvblNlc3Npb24uaCBp
biBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDk5MEQyOEE3MUM2
NDA0QjAwMDk4Njk3NyAvKiBfV0tBdXRvbWF0aW9uU2Vzc2lvbi5oICovOyBzZXR0aW5ncyA9IHtB
VFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTk5MEQyOEFDMUM2NDIwQ0YwMDk4Njk3
NyAvKiBfV0tBdXRvbWF0aW9uU2Vzc2lvbkRlbGVnYXRlLmggaW4gSGVhZGVycyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA5OTBEMjhBODFDNjQwNEIwMDA5ODY5NzcgLyogX1dL
QXV0b21hdGlvblNlc3Npb25EZWxlZ2F0ZS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0g
KFByaXZhdGUsICk7IH07IH07CiAJCTk5MEQyOEIxMUM2NTIwOEQwMDk4Njk3NyAvKiBfV0tBdXRv
bWF0aW9uU2Vzc2lvbkludGVybmFsLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSA5OTBEMjhBRjFDNjUyMDM5MDA5ODY5NzcgLyogX1dLQXV0b21hdGlvblNl
c3Npb25JbnRlcm5hbC5oICovOyB9OwotCQk5OTBEMjhCMjFDNjUyMDk0MDA5ODY5NzcgLyogX1dL
QXV0b21hdGlvblNlc3Npb24ubW0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSA5OTBEMjhBRDFDNjUxOTA0MDA5ODY5NzcgLyogX1dLQXV0b21hdGlvblNlc3Np
b24ubW0gKi87IH07CiAJCTk5MEQyOEJCMUM2NTM5RDMwMDk4Njk3NyAvKiBBdXRvbWF0aW9uU2Vz
c2lvbkNsaWVudC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gOTkwRDI4QjcxQzY1MzlBMDAwOTg2OTc3IC8qIEF1dG9tYXRpb25TZXNzaW9uQ2xpZW50Lmgg
Ki87IH07CiAJCTk5MEQyOEMwMUM2NTUzRjEwMDk4Njk3NyAvKiBBUElBdXRvbWF0aW9uU2Vzc2lv
bkNsaWVudC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
OTkwRDI4QjMxQzY1MjZENDAwOTg2OTc3IC8qIEFQSUF1dG9tYXRpb25TZXNzaW9uQ2xpZW50Lmgg
Ki87IH07CiAJCTk5MjQ5QUQ1MUYxRjFFNTYwMEI2MkZCQiAvKiBBdXRvbWF0aW9uRnJvbnRlbmRE
aXNwYXRjaGVycy5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSA5OTI0OUFEMzFGMUYxRTMzMDBCNjJGQkIgLyogQXV0b21hdGlvbkZyb250ZW5kRGlzcGF0
Y2hlcnMuY3BwICovOyB9OwpAQCAtMTMxNCw3ICsxMjMyLDYgQEAKIAkJOTk1NUE2RjYxQzc5ODZF
MzAwRUI2QTkzIC8qIEF1dG9tYXRpb25Qcm90b2NvbE9iamVjdHMuY3BwIGluIFNvdXJjZXMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gOTk1NUE2RjIxQzc5ODY2NDAwRUI2QTkz
IC8qIEF1dG9tYXRpb25Qcm90b2NvbE9iamVjdHMuY3BwICovOyB9OwogCQk5OTU1QTZGNzFDNzk4
NkU1MDBFQjZBOTMgLyogQXV0b21hdGlvblByb3RvY29sT2JqZWN0cy5oIGluIEhlYWRlcnMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gOTk1NUE2RjMxQzc5ODY2NDAwRUI2QTkz
IC8qIEF1dG9tYXRpb25Qcm90b2NvbE9iamVjdHMuaCAqLzsgfTsKIAkJOTk3ODhBQ0IxRjQyMURE
QTAwQzA4MDAwIC8qIF9XS0F1dG9tYXRpb25TZXNzaW9uQ29uZmlndXJhdGlvbi5oIGluIEhlYWRl
cnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gOTk3ODhBQzkxRjQyMURDQTAw
QzA4MDAwIC8qIF9XS0F1dG9tYXRpb25TZXNzaW9uQ29uZmlndXJhdGlvbi5oICovOyBzZXR0aW5n
cyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07Ci0JCTk5Nzg4QUNDMUY0MjFERTIw
MEMwODAwMCAvKiBfV0tBdXRvbWF0aW9uU2Vzc2lvbkNvbmZpZ3VyYXRpb24ubW0gaW4gU291cmNl
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA5OTc4OEFDQTFGNDIxRENBMDBD
MDgwMDAgLyogX1dLQXV0b21hdGlvblNlc3Npb25Db25maWd1cmF0aW9uLm1tICovOyB9OwogCQk5
OUMzQUUyRDFEQURBNkFEMDBBRjVDMTYgLyogV2ViQXV0b21hdGlvblNlc3Npb25NYWNyb3MuaCBp
biBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDk5QzNBRTJDMURB
REE2QTcwMEFGNUMxNiAvKiBXZWJBdXRvbWF0aW9uU2Vzc2lvbk1hY3Jvcy5oICovOyB9OwogCQk5
OUM4MUQ1QTFDMjBFN0UyMDA1QzRDODIgLyogQXV0b21hdGlvbkNsaWVudC5oIGluIEhlYWRlcnMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gOTlDODFENTUxQzIwREZCRTAwNUM0
QzgyIC8qIEF1dG9tYXRpb25DbGllbnQuaCAqLzsgfTsKIAkJOTlDODFENUQxQzIxRjM4QjAwNUM0
QzgyIC8qIEFQSUF1dG9tYXRpb25DbGllbnQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IDk5QzgxRDVCMUMyMEU4MTcwMDVDNEM4MiAvKiBBUElBdXRvbWF0
aW9uQ2xpZW50LmggKi87IH07CkBAIC0xMzI3LDcgKzEyNDQsNiBAQAogCQlBMTE0NTVCMDIxMUZE
MjUyMDBDQTkzNUIgLyogTmV0d29ya1Byb3hpbWl0eU1hbmFnZXIuaCBpbiBIZWFkZXJzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEExMTQ1NUFFMjExRkQyNTIwMENBOTM1QiAv
KiBOZXR3b3JrUHJveGltaXR5TWFuYWdlci5oICovOyB9OwogCQlBMTE1REM3MjE5MUQ4MkRBMDBE
QTgwNzIgLyogX1dLV2ViVmlld1ByaW50Rm9ybWF0dGVyLmggaW4gSGVhZGVycyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBMTE1REM2RTE5MUQ4MkFCMDBEQTgwNzIgLyogX1dL
V2ViVmlld1ByaW50Rm9ybWF0dGVyLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJp
dmF0ZSwgKTsgfTsgfTsKIAkJQTExOEE5RUYxOTA3QUQ2RjAwRjdDOTJCIC8qIFF1aWNrTG9va0Rv
Y3VtZW50RGF0YS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gQTExOEE5RUQxOTA3QUQ2RjAwRjdDOTJCIC8qIFF1aWNrTG9va0RvY3VtZW50RGF0YS5oICov
OyB9OwotCQlBMTE4QTlGMjE5MDhCOEVBMDBGN0M5MkIgLyogX1dLTlNGaWxlTWFuYWdlckV4dHJh
cy5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEExMThB
OUYwMTkwOEI4RUEwMEY3QzkyQiAvKiBfV0tOU0ZpbGVNYW5hZ2VyRXh0cmFzLm1tICovOyB9Owog
CQlBMTE4QTlGMzE5MDhCOEVBMDBGN0M5MkIgLyogX1dLTlNGaWxlTWFuYWdlckV4dHJhcy5oIGlu
IEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQTExOEE5RjExOTA4
QjhFQTAwRjdDOTJCIC8qIF9XS05TRmlsZU1hbmFnZXJFeHRyYXMuaCAqLzsgc2V0dGluZ3MgPSB7
QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQlBMTNCM0RBMjIwN0YzOURFMDA5MEM1
OEQgLyogTW9iaWxlV2lGaVNQSS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gQTEzQjNEQTEyMDdGMzlERTAwOTBDNThEIC8qIE1vYmlsZVdpRmlTUEkuaCAq
LzsgfTsKIAkJQTEzREM2ODIyMDdBQTZCMjAwNjZFRjcyIC8qIFdLQXBwbGljYXRpb25TdGF0ZVRy
YWNraW5nVmlldy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gQTEzREM2ODAyMDdBQTZCMjAwNjZFRjcyIC8qIFdLQXBwbGljYXRpb25TdGF0ZVRyYWNraW5n
Vmlldy5oICovOyB9OwpAQCAtMTMzNSw3ICsxMjUxLDYgQEAKIAkJQTE4MkQ1QjUxQkU2QkQyNTAw
ODdBN0NDIC8qIEFjY2Vzc2liaWxpdHlJT1MuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IEExODJENUIzMUJFNkJEMjUwMDg3QTdDQyAvKiBBY2Nlc3NpYmls
aXR5SU9TLmggKi87IH07CiAJCUExOUREM0MwMUQwN0QxNjgwMEFDODIzQiAvKiBfV0tXZWJWaWV3
UHJpbnRGb3JtYXR0ZXJJbnRlcm5hbC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gQTE5REQzQkYxRDA3RDE2ODAwQUM4MjNCIC8qIF9XS1dlYlZpZXdQcmlu
dEZvcm1hdHRlckludGVybmFsLmggKi87IH07CiAJCUExQTRGRTVBMThEQ0U5RkEwMEI1RUE4QSAv
KiBfV0tEb3dubG9hZC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gQTFBNEZFNTcxOERDRTlGQTAwQjVFQThBIC8qIF9XS0Rvd25sb2FkLmggKi87IHNldHRp
bmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKLQkJQTFBNEZFNUIxOERDRTlG
QTAwQjVFQThBIC8qIF9XS0Rvd25sb2FkLm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gQTFBNEZFNTgxOERDRTlGQTAwQjVFQThBIC8qIF9XS0Rvd25sb2Fk
Lm1tICovOyB9OwogCQlBMUE0RkU1QzE4RENFOUZBMDBCNUVBOEEgLyogX1dLRG93bmxvYWRJbnRl
cm5hbC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQTFB
NEZFNTkxOERDRTlGQTAwQjVFQThBIC8qIF9XS0Rvd25sb2FkSW50ZXJuYWwuaCAqLzsgfTsKIAkJ
QTFBNEZFNjExOERENTRBNDAwQjVFQThBIC8qIF9XS0Rvd25sb2FkRGVsZWdhdGUuaCBpbiBIZWFk
ZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEExQTRGRTYwMThERDU0QTQw
MEI1RUE4QSAvKiBfV0tEb3dubG9hZERlbGVnYXRlLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVU
RVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJQTFDNTEyQzkxOTA2NTZFNTAwNDQ4OTE0IC8qIFdl
YlByZXZpZXdMb2FkZXJDbGllbnQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IEExQzUxMkM3MTkwNjU2RTUwMDQ0ODkxNCAvKiBXZWJQcmV2aWV3TG9hZGVy
Q2xpZW50LmggKi87IH07CkBAIC0xMzQ4LDcgKzEyNjMsNiBAQAogCQlBNTE4QjVEMjFGRTFENTVC
MDBGOUZBMjggLyogV0tJbnNwZWN0b3JXS1dlYlZpZXcuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEE1MThCNUQwMUZFMUQ1NUIwMEY5RkEyOCAvKiBXS0lu
c3BlY3RvcldLV2ViVmlldy5oICovOyB9OwogCQlBNTQyOTNBNDE5NUE0M0RBMDAyNzgyQzcgLyog
V0tJbnNwZWN0b3JOb2RlU2VhcmNoR2VzdHVyZVJlY29nbml6ZXIuaCBpbiBIZWFkZXJzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEE1NDI5M0EyMTk1QTQzQzYwMDI3ODJDNyAv
KiBXS0luc3BlY3Rvck5vZGVTZWFyY2hHZXN0dXJlUmVjb2duaXplci5oICovOyB9OwogCQlBNTVC
QTgxMDFCQTEzMTdFMDA3Q0QzM0QgLyogX1dLUmVtb3RlV2ViSW5zcGVjdG9yVmlld0NvbnRyb2xs
ZXIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEE1NUJB
ODBDMUJBMTJCRTEwMDdDRDMzRCAvKiBfV0tSZW1vdGVXZWJJbnNwZWN0b3JWaWV3Q29udHJvbGxl
ci5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07Ci0JCUE1
NUJBODExMUJBMTMxODEwMDdDRDMzRCAvKiBfV0tSZW1vdGVXZWJJbnNwZWN0b3JWaWV3Q29udHJv
bGxlci5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEE1
NUJBODBEMUJBMTJCRTEwMDdDRDMzRCAvKiBfV0tSZW1vdGVXZWJJbnNwZWN0b3JWaWV3Q29udHJv
bGxlci5tbSAqLzsgfTsKIAkJQTU1QkE4MTcxQkEyM0UxMjAwN0NEMzNEIC8qIFJlbW90ZVdlYklu
c3BlY3RvclVJLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSBBNTVCQTgxMzFCQTIzRTA1MDA3Q0QzM0QgLyogUmVtb3RlV2ViSW5zcGVjdG9yVUkuaCAqLzsg
fTsKIAkJQTU1QkE4MUYxQkEyNUIyNzAwN0NEMzNEIC8qIFJlbW90ZVdlYkluc3BlY3RvclByb3h5
LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBNTVCQTgx
OTFCQTI1QjFFMDA3Q0QzM0QgLyogUmVtb3RlV2ViSW5zcGVjdG9yUHJveHkuaCAqLzsgfTsKIAkJ
QTU1QkE4MjUxQkEyNUNGQjAwN0NEMzNEIC8qIFJlbW90ZVdlYkluc3BlY3RvclByb3h5TWVzc2Fn
ZXMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEE1NUJB
ODIyMUJBMjVCQjgwMDdDRDMzRCAvKiBSZW1vdGVXZWJJbnNwZWN0b3JQcm94eU1lc3NhZ2VzLmgg
Ki87IH07CkBAIC0xMzU3LDcgKzEyNzEsNiBAQAogCQlBNTVCQTgzNTFCQTNFNzBBMDA3Q0QzM0Qg
LyogV2ViSW5zcGVjdG9yRnJvbnRlbmRBUElEaXNwYXRjaGVyLmggaW4gSGVhZGVycyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBNTVCQTgzMzFCQTNFNkZBMDA3Q0QzM0QgLyog
V2ViSW5zcGVjdG9yRnJvbnRlbmRBUElEaXNwYXRjaGVyLmggKi87IH07CiAJCUE1OEI2RjA4MThG
Q0E3MzMwMDhDQkE1MyAvKiBXS0ZpbGVVcGxvYWRQYW5lbC5oIGluIEhlYWRlcnMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQTU4QjZGMDYxOEZDQTczMzAwOENCQTUzIC8qIFdL
RmlsZVVwbG9hZFBhbmVsLmggKi87IH07CiAJCUE1QzBGMEE3MjAwMDY1NEQwMDUzNjUzNiAvKiBf
V0tOU1dpbmRvd0V4dHJhcy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gQTVDMEYwQTYyMDAwNjU0NDAwNTM2NTM2IC8qIF9XS05TV2luZG93RXh0cmFzLmgg
Ki87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKLQkJQTVDMEYw
QTgyMDAwNjU1MTAwNTM2NTM2IC8qIF9XS05TV2luZG93RXh0cmFzLm1tIGluIFNvdXJjZXMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQTVDMEYwQTUyMDAwNjU0NDAwNTM2NTM2
IC8qIF9XS05TV2luZG93RXh0cmFzLm1tICovOyB9OwogCQlBNUMwRjBBQjIwMDA2NTgyMDA1MzY1
MzYgLyogV0tJbnNwZWN0b3JXaW5kb3cuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IEE1QzBGMEFBMjAwMDY1NkUwMDUzNjUzNiAvKiBXS0luc3BlY3Rvcldp
bmRvdy5oICovOyB9OwogCQlBNUVGRDM4QzE2QjBFODhDMDBCMkYwRTggLyogV0tQYWdlVmlzaWJp
bGl0eVR5cGVzLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSBBNUVGRDM4QjE2QjBFODhDMDBCMkYwRTggLyogV0tQYWdlVmlzaWJpbGl0eVR5cGVzLmggKi87
IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJQTc4Q0NEREEx
OTNBQzlGNDAwNUVDQzI1IC8qIGNvbS5hcHBsZS5XZWJLaXQuU3RvcmFnZS5zYiBpbiBDb3B5Rmls
ZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQTc4Q0NERDcxOTNBQzlFMzAw
NUVDQzI1IC8qIGNvbS5hcHBsZS5XZWJLaXQuU3RvcmFnZS5zYiAqLzsgfTsKQEAgLTE0OTIsNyAr
MTQwNSw2IEBACiAJCUJDODU3RkI1MTJCODMwRTYwMEVERUIyRSAvKiBBUElPcGVuUGFuZWxQYXJh
bWV0ZXJzLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBC
Qzg1N0ZCMzEyQjgzMEU2MDBFREVCMkUgLyogQVBJT3BlblBhbmVsUGFyYW1ldGVycy5oICovOyB9
OwogCQlCQzg1N0ZFNjEyQjg0M0Q4MDBFREVCMkUgLyogV0tPcGVuUGFuZWxQYXJhbWV0ZXJzUmVm
LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBCQzg1N0ZF
NDEyQjg0M0Q4MDBFREVCMkUgLyogV0tPcGVuUGFuZWxQYXJhbWV0ZXJzUmVmLmggKi87IHNldHRp
bmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJQkM4Njk5QjUxMTZBQURB
QTAwMkE5MjVCIC8qIFdLVmlldy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gQkM4Njk5QjIxMTZBQURBQTAwMkE5MjVCIC8qIFdLVmlldy5oICovOyBzZXR0
aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07Ci0JCUJDODY5OUI2MTE2QUFE
QUEwMDJBOTI1QiAvKiBXS1ZpZXcubW0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSBCQzg2OTlCMzExNkFBREFBMDAyQTkyNUIgLyogV0tWaWV3Lm1tICovOyB9
OwogCQlCQzg2OTlCNzExNkFBREFBMDAyQTkyNUIgLyogV0tWaWV3SW50ZXJuYWwuaCBpbiBIZWFk
ZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEJDODY5OUI0MTE2QUFEQUEw
MDJBOTI1QiAvKiBXS1ZpZXdJbnRlcm5hbC5oICovOyB9OwogCQlCQzhBNTAxNTExNzY1RjU2MDA3
NTc1NzMgLyogV0tSZXRhaW5QdHIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IEJDOEE1MDE0MTE3NjVGNTYwMDc1NzU3MyAvKiBXS1JldGFpblB0ci5oICov
OyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCUJDOEFDQTEz
MTY2NzBEODkwMDRDMTk0MSAvKiBPYmpDT2JqZWN0R3JhcGguaCBpbiBIZWFkZXJzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEJDOEFDQTBGMTY2NzBEN0EwMDRDMTk0MSAvKiBP
YmpDT2JqZWN0R3JhcGguaCAqLzsgfTsKQEAgLTE1MDcsNyArMTQxOSw2IEBACiAJCUJDOUZBNTIw
MTYwRDNCNDMwMDU0REY5QSAvKiBGb3VuZGF0aW9uLmZyYW1ld29yayBpbiBGcmFtZXdvcmtzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEJDM0RFNDY4MTVBOTE3NjMwMDhEMjZG
QyAvKiBGb3VuZGF0aW9uLmZyYW1ld29yayAqLzsgfTsKIAkJQkNBMEVGN0YxMjMzMUU3ODAwN0Qz
Q0ZCIC8qIFdlYlVuZG9TdGVwLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSBCQ0EwRUY3RDEyMzMxRTc4MDA3RDNDRkIgLyogV2ViVW5kb1N0ZXAuaCAqLzsg
fTsKIAkJQkNBMEVGOUYxMjMzMjY0MjAwN0QzQ0ZCIC8qIFdlYkVkaXRDb21tYW5kUHJveHkuaCBp
biBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEJDQTBFRjlEMTIz
MzI2NDIwMDdEM0NGQiAvKiBXZWJFZGl0Q29tbWFuZFByb3h5LmggKi87IH07Ci0JCUJDQTI4NEQ2
MTQ5MkYyQzcwMDFGOTA0MiAvKiBXS0Nvbm5lY3Rpb24ubW0gaW4gU291cmNlcyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBCQ0EyODRENDE0OTJGMkM3MDAxRjkwNDIgLyogV0tD
b25uZWN0aW9uLm1tICovOyB9OwogCQlCQ0EyODRENzE0OTJGMkM3MDAxRjkwNDIgLyogV0tDb25u
ZWN0aW9uLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBC
Q0EyODRENTE0OTJGMkM3MDAxRjkwNDIgLyogV0tDb25uZWN0aW9uLmggKi87IHNldHRpbmdzID0g
e0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJQkNBOEM2QTkxMUUzQkE1RjAwODEy
RkI3IC8qIEluamVjdGVkQnVuZGxlUGFnZUxvYWRlckNsaWVudC5oIGluIEhlYWRlcnMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQkNBOEM2QTcxMUUzQkE1RjAwODEyRkI3IC8q
IEluamVjdGVkQnVuZGxlUGFnZUxvYWRlckNsaWVudC5oICovOyB9OwogCQlCQ0E4QzZCMDExRTND
MDg3MDA4MTJGQjcgLyogSW5qZWN0ZWRCdW5kbGVQYWdlVUlDbGllbnQuaCBpbiBIZWFkZXJzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEJDQThDNkFFMTFFM0MwODcwMDgxMkZC
NyAvKiBJbmplY3RlZEJ1bmRsZVBhZ2VVSUNsaWVudC5oICovOyB9OwpAQCAtMTUxNywxNCArMTQy
OCwxMSBAQAogCQlCQ0I5RTI0QjExMjBFMTVDMDBBMTM3RTAgLyogV0tDb250ZXh0LmggaW4gSGVh
ZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBCQ0I5RTI0OTExMjBFMTVD
MDBBMTM3RTAgLyogV0tDb250ZXh0LmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJp
dmF0ZSwgKTsgfTsgfTsKIAkJQkNCOUY2QTAxMTIzQTg0QjAwQTEzN0UwIC8qIFdlYkZyYW1lUG9s
aWN5TGlzdGVuZXJQcm94eS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gQkNCOUY2OUUxMTIzQTg0QjAwQTEzN0UwIC8qIFdlYkZyYW1lUG9saWN5TGlzdGVu
ZXJQcm94eS5oICovOyB9OwogCQlCQ0I5RjZBNTExMjNERDBEMDBBMTM3RTAgLyogV0tGcmFtZVBv
bGljeUxpc3RlbmVyLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSBCQ0I5RjZBMzExMjNERDBEMDBBMTM3RTAgLyogV0tGcmFtZVBvbGljeUxpc3RlbmVyLmgg
Ki87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKLQkJQkNCQUFD
NzIxNDRFNjE5OTAwNTNGODJGIC8qIFdLQnJvd3NpbmdDb250ZXh0Q29udHJvbGxlci5tbSBpbiBT
b3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEJDQkFBQzZEMTQ0RTYx
OTIwMDUzRjgyRiAvKiBXS0Jyb3dzaW5nQ29udGV4dENvbnRyb2xsZXIubW0gKi87IH07CiAJCUJD
QkFBQzczMTQ0RTYxOUUwMDUzRjgyRiAvKiBXS0Jyb3dzaW5nQ29udGV4dENvbnRyb2xsZXIuaCBp
biBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEJDQkFBQzZDMTQ0
RTYxOTEwMDUzRjgyRiAvKiBXS0Jyb3dzaW5nQ29udGV4dENvbnRyb2xsZXIuaCAqLzsgc2V0dGlu
Z3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQlCQ0JBQUM3NDE0NEU2MUE1
MDA1M0Y4MkYgLyogV0tCcm93c2luZ0NvbnRleHRDb250cm9sbGVySW50ZXJuYWwuaCBpbiBIZWFk
ZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEJDQkFBQzZFMTQ0RTYxOTIw
MDUzRjgyRiAvKiBXS0Jyb3dzaW5nQ29udGV4dENvbnRyb2xsZXJJbnRlcm5hbC5oICovOyBzZXR0
aW5ncyA9IHtBVFRSSUJVVEVTID0gKCk7IH07IH07CiAJCUJDQkFBQ0VCMTQ1MjI1RTMwMDUzRjgy
RiAvKiBXS1Byb2Nlc3NHcm91cC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gQkNCQUFDRTUxNDUyMjVDOTAwNTNGODJGIC8qIFdLUHJvY2Vzc0dyb3VwLmgg
Ki87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKLQkJQkNCQUFD
RUMxNDUyMjVFMzAwNTNGODJGIC8qIFdLUHJvY2Vzc0dyb3VwLm1tIGluIFNvdXJjZXMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQkNCQUFDRTYxNDUyMjVDQTAwNTNGODJGIC8q
IFdLUHJvY2Vzc0dyb3VwLm1tICovOyB9OwogCQlCQ0JBQUNFRDE0NTIyNUUzMDA1M0Y4MkYgLyog
V0tQcm9jZXNzR3JvdXBQcml2YXRlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSBCQ0JBQUNFNzE0NTIyNUNCMDA1M0Y4MkYgLyogV0tQcm9jZXNzR3JvdXBQ
cml2YXRlLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsK
IAkJQkNCQUFDRjQxNDUyMzI0RjAwNTNGODJGIC8qIFdLQnJvd3NpbmdDb250ZXh0R3JvdXAuaCBp
biBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEJDQkFBQ0VFMTQ1
MjMyNDMwMDUzRjgyRiAvKiBXS0Jyb3dzaW5nQ29udGV4dEdyb3VwLmggKi87IHNldHRpbmdzID0g
e0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKLQkJQkNCQUFDRjUxNDUyMzI0RjAwNTNG
ODJGIC8qIFdLQnJvd3NpbmdDb250ZXh0R3JvdXAubW0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBCQ0JBQUNFRjE0NTIzMjQ0MDA1M0Y4MkYgLyogV0tCcm93
c2luZ0NvbnRleHRHcm91cC5tbSAqLzsgfTsKIAkJQkNCQUFDRjYxNDUyMzI0RjAwNTNGODJGIC8q
IFdLQnJvd3NpbmdDb250ZXh0R3JvdXBQcml2YXRlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBCQ0JBQUNGMDE0NTIzMjQ4MDA1M0Y4MkYgLyogV0tCcm93
c2luZ0NvbnRleHRHcm91cFByaXZhdGUuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQ
cml2YXRlLCApOyB9OyB9OwogCQlCQ0JBQUQwQjE0NTYwQTQzMDA1M0Y4MkYgLyogV0tCcm93c2lu
Z0NvbnRleHRMb2FkRGVsZWdhdGUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IEJDQkFBRDBBMTQ1NjBBNDMwMDUzRjgyRiAvKiBXS0Jyb3dzaW5nQ29udGV4
dExvYWREZWxlZ2F0ZS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7
IH07IH07CiAJCUJDQkQzOTE0MTI1QkIxQTgwMEQyQzI5RiAvKiBXZWJQYWdlUHJveHlNZXNzYWdl
UmVjZWl2ZXIuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gQkNCRDM5MTIxMjVCQjFBODAwRDJDMjlGIC8qIFdlYlBhZ2VQcm94eU1lc3NhZ2VSZWNlaXZl
ci5jcHAgKi87IH07CkBAIC0xNjc3LDkgKzE1ODUsNyBAQAogCQlFQ0E2ODBEODFFNjkwRTI1MDA3
MzFEMjAgLyogV2ViUHJvY2Vzc0NvY29hLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSBFQ0E2ODBENzFFNjkwREY4MDA3MzFEMjAgLyogV2ViUHJvY2Vzc0Nv
Y29hLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJ
RUQ4MkE3RjIxMjhDNkZBRjAwNDQ3N0IzIC8qIFdLQnVuZGxlUGFnZU92ZXJsYXkuaCBpbiBIZWFk
ZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDFBMjJGMEZGMTI4OUZDRDkw
MDg1RTc0RiAvKiBXS0J1bmRsZVBhZ2VPdmVybGF5LmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVU
RVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJRjQwOUJBMTgxRTZFNjRCQzAwOURBMjhFIC8qIFdL
RHJhZ0Rlc3RpbmF0aW9uQWN0aW9uLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSBGNDA5QkExNzFFNkU2NEIzMDA5REEyOEUgLyogV0tEcmFnRGVzdGluYXRp
b25BY3Rpb24uaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9
OwotCQlGNDEwNTY2MzIxMzA2OTlBMDA5MjI4MUQgLyogQVBJQXR0YWNobWVudENvY29hLm1tIGlu
IFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRjQxMDU2NjEyMTMw
Njk5QTAwOTIyODFEIC8qIEFQSUF0dGFjaG1lbnRDb2NvYS5tbSAqLzsgfTsKIAkJRjQ0MjkxOTIx
RkE1OTFDOTAwMkNDOTNFIC8qIF9XS0F0dGFjaG1lbnQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEY0NDI5MTkxMUZBNTkxMDcwMDJDQzkzRSAvKiBfV0tB
dHRhY2htZW50LmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsg
fTsKLQkJRjQ0MjkxOTQxRkE1OTMxMTAwMkNDOTNFIC8qIF9XS0F0dGFjaG1lbnQubW0gaW4gU291
cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBGNDQyOTE5MzFGQTU5MzEx
MDAyQ0M5M0UgLyogX1dLQXR0YWNobWVudC5tbSAqLzsgfTsKIAkJRjQ0MjkxOTYxRkE1OTQyQTAw
MkNDOTNFIC8qIF9XS0F0dGFjaG1lbnRJbnRlcm5hbC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRjQ0MjkxOTUxRkE1OTQyQTAwMkNDOTNFIC8qIF9XS0F0
dGFjaG1lbnRJbnRlcm5hbC5oICovOyB9OwogCQlGNDRERkVCMjFFOUU3NTJGMDAzOEQxOTYgLyog
V2ViSWNvblV0aWxpdGllcy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gRjQ0REZFQjAxRTlFNzUyRjAwMzhEMTk2IC8qIFdlYkljb25VdGlsaXRpZXMuaCAq
LzsgfTsKIAkJRjQ5NkE0MzExRjU4QTI3MjAwNEMxNzU3IC8qIERyYWdEcm9wSW50ZXJhY3Rpb25T
dGF0ZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRjQ5
NkE0MkYxRjU4QTI3MjAwNEMxNzU3IC8qIERyYWdEcm9wSW50ZXJhY3Rpb25TdGF0ZS5oICovOyB9
OwpAQCAtMTY4OCw3ICsxNTk0LDYgQEAKIAkJRjYxMTNFMjUxMjZDRTE4MjAwNTdEMEE3IC8qIEFQ
SVVzZXJDb250ZW50VVJMUGF0dGVybi5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gRjYxMTNFMjQxMjZDRTE4MjAwNTdEMEE3IC8qIEFQSVVzZXJDb250ZW50
VVJMUGF0dGVybi5oICovOyB9OwogCQlGNjExM0UyOTEyNkNFMTlCMDA1N0QwQTcgLyogV0tVc2Vy
Q29udGVudFVSTFBhdHRlcm4uaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IEY2MTEzRTI3MTI2Q0UxOUIwMDU3RDBBNyAvKiBXS1VzZXJDb250ZW50VVJMUGF0
dGVybi5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJ
CUY2MzQ0NDU2MTJBODg1QzgwMDA2MTJEOCAvKiBBUElTZWN1cml0eU9yaWdpbi5oIGluIEhlYWRl
cnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRjYzNDQ0NTUxMkE4ODVDODAw
MDYxMkQ4IC8qIEFQSVNlY3VyaXR5T3JpZ2luLmggKi87IH07Ci0JCUZFRDNDMURDMUI0NDdFQUMw
MEUwRUI3RiAvKiBBUElTZXJpYWxpemVkU2NyaXB0VmFsdWVDb2NvYS5tbSBpbiBTb3VyY2VzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEZFRDNDMURBMUI0NDdBRTgwMEUwRUI3
RiAvKiBBUElTZXJpYWxpemVkU2NyaXB0VmFsdWVDb2NvYS5tbSAqLzsgfTsKIAkJRkVEQkRDRDYx
RTY4RDIwMDAwQTU5RjhGIC8qIFdlYkluc3BlY3RvckludGVycnVwdERpc3BhdGNoZXJNZXNzYWdl
UmVjZWl2ZXIuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gRkVEQkRDRDQxRTY4RDE5QzAwQTU5RjhGIC8qIFdlYkluc3BlY3RvckludGVycnVwdERpc3Bh
dGNoZXJNZXNzYWdlUmVjZWl2ZXIuY3BwICovOyB9OwogCQlGRURCRENENzFFNjhEMjA1MDBBNTlG
OEYgLyogV2ViSW5zcGVjdG9ySW50ZXJydXB0RGlzcGF0Y2hlck1lc3NhZ2VzLmggaW4gSGVhZGVy
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBGRURCRENENTFFNjhEMTlDMDBB
NTlGOEYgLyogV2ViSW5zcGVjdG9ySW50ZXJydXB0RGlzcGF0Y2hlck1lc3NhZ2VzLmggKi87IH07
CiAJCUZFRTQzRkQzMUU2N0IwMTgwMDc3RDZEMSAvKiBXZWJJbnNwZWN0b3JJbnRlcnJ1cHREaXNw
YXRjaGVyLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBG
RUU0M0ZEMTFFNjdBRkM2MDA3N0Q2RDEgLyogV2ViSW5zcGVjdG9ySW50ZXJydXB0RGlzcGF0Y2hl
ci5oICovOyB9OwpAQCAtMTA3MTEsNDQgKzEwNjE2LDcgQEAKIAkJCWlzYSA9IFBCWFNvdXJjZXNC
dWlsZFBoYXNlOwogCQkJYnVpbGRBY3Rpb25NYXNrID0gMjE0NzQ4MzY0NzsKIAkJCWZpbGVzID0g
KAotCQkJCTM3QTVFMDEzMThCQkY5MzcwMDBBMDgxRSAvKiBfV0tBY3RpdmF0ZWRFbGVtZW50SW5m
by5tbSBpbiBTb3VyY2VzICovLAotCQkJCTYzMTA4Rjk3MUY5NjcxOUMwMEEwREI4NCAvKiBfV0tB
cHBsaWNhdGlvbk1hbmlmZXN0Lm1tIGluIFNvdXJjZXMgKi8sCi0JCQkJRjQ0MjkxOTQxRkE1OTMx
MTAwMkNDOTNFIC8qIF9XS0F0dGFjaG1lbnQubW0gaW4gU291cmNlcyAqLywKLQkJCQk5OTBEMjhC
MjFDNjUyMDk0MDA5ODY5NzcgLyogX1dLQXV0b21hdGlvblNlc3Npb24ubW0gaW4gU291cmNlcyAq
LywKLQkJCQk5OTc4OEFDQzFGNDIxREUyMDBDMDgwMDAgLyogX1dLQXV0b21hdGlvblNlc3Npb25D
b25maWd1cmF0aW9uLm1tIGluIFNvdXJjZXMgKi8sCi0JCQkJMUE1NzA0RjcxQkUwMUZGNDAwODc0
QUYxIC8qIF9XS0NvbnRleHRNZW51RWxlbWVudEluZm8ubW0gaW4gU291cmNlcyAqLywKLQkJCQlB
MUE0RkU1QjE4RENFOUZBMDBCNUVBOEEgLyogX1dLRG93bmxvYWQubW0gaW4gU291cmNlcyAqLywK
LQkJCQkzNzlBODczOTE4QkJGRTBGMDA1ODhBRjIgLyogX1dLRWxlbWVudEFjdGlvbi5tbSBpbiBT
b3VyY2VzICovLAotCQkJCTFBRDAxQkM4MTkwNUQzN0UwMEM5QzQ1RiAvKiBfV0tFcnJvclJlY292
ZXJ5QXR0ZW1wdGluZy5tbSBpbiBTb3VyY2VzICovLAotCQkJCTMxN0ZFN0NFMUM0ODdEQjgwMEEw
Q0E4OSAvKiBfV0tFeHBlcmltZW50YWxGZWF0dXJlLm1tIGluIFNvdXJjZXMgKi8sCi0JCQkJMzcz
RDEyMjIxOEE0NzMwMTAwNjZEOUNDIC8qIF9XS0ZyYW1lSGFuZGxlLm1tIGluIFNvdXJjZXMgKi8s
Ci0JCQkJNjNDMzJDMjUxRTk4MTBEOTAwNjk5QkQwIC8qIF9XS0dlb2xvY2F0aW9uUG9zaXRpb24u
bW0gaW4gU291cmNlcyAqLywKLQkJCQk5M0E4OEIzOTFCQzcwRjNGMDBBQkE1QzIgLyogX1dLSGl0
VGVzdFJlc3VsdC5tbSBpbiBTb3VyY2VzICovLAotCQkJCTVDQUZERTQ2MjEzMDg0NjgwMEIxRjdF
MSAvKiBfV0tJbnNwZWN0b3IubW0gaW4gU291cmNlcyAqLywKLQkJCQk1MTBGNTkxMjFEREUyOTc3
MDA0MTJGRjUgLyogX1dLTGlua0ljb25QYXJhbWV0ZXJzLm1tIGluIFNvdXJjZXMgKi8sCi0JCQkJ
QTExOEE5RjIxOTA4QjhFQTAwRjdDOTJCIC8qIF9XS05TRmlsZU1hbmFnZXJFeHRyYXMubW0gaW4g
U291cmNlcyAqLywKLQkJCQlBNUMwRjBBODIwMDA2NTUxMDA1MzY1MzYgLyogX1dLTlNXaW5kb3dF
eHRyYXMubW0gaW4gU291cmNlcyAqLywKLQkJCQkxQTQzRTgyOTE4OEYzQ0RDMDA5RTREMzAgLyog
X1dLUHJvY2Vzc1Bvb2xDb25maWd1cmF0aW9uLm1tIGluIFNvdXJjZXMgKi8sCi0JCQkJMUE5RTMy
OEUxODIxNjVBOTAwRjVEMDRDIC8qIF9XS1JlbW90ZU9iamVjdEludGVyZmFjZS5tbSBpbiBTb3Vy
Y2VzICovLAotCQkJCTFBOUUzMjhBMTgyMTYzNjkwMEY1RDA0QyAvKiBfV0tSZW1vdGVPYmplY3RS
ZWdpc3RyeS5tbSBpbiBTb3VyY2VzICovLAotCQkJCUE1NUJBODExMUJBMTMxODEwMDdDRDMzRCAv
KiBfV0tSZW1vdGVXZWJJbnNwZWN0b3JWaWV3Q29udHJvbGxlci5tbSBpbiBTb3VyY2VzICovLAot
CQkJCTFBMDAyRDQ1MTk2QjMzOEUwMEI5QUQ0NCAvKiBfV0tTZXNzaW9uU3RhdGUubW0gaW4gU291
cmNlcyAqLywKLQkJCQkyRDZCMzcxQzE4QTk2N0FEMDA0MkFFODAgLyogX1dLVGh1bWJuYWlsVmll
dy5tbSBpbiBTb3VyY2VzICovLAotCQkJCTdDMjQxMzAyMUFBQ0ZBNzUwMEE1OEMxNSAvKiBfV0tV
c2VyQ29udGVudEV4dGVuc2lvblN0b3JlLm1tIGluIFNvdXJjZXMgKi8sCi0JCQkJN0M4OUQyQjkx
QTZCMEYyQzAwM0E1RkRFIC8qIF9XS1VzZXJDb250ZW50RmlsdGVyLm1tIGluIFNvdXJjZXMgKi8s
Ci0JCQkJN0M4ODJERjgxQzdFOTk2QzAwNkJGNzMxIC8qIF9XS1VzZXJDb250ZW50V29ybGQubW0g
aW4gU291cmNlcyAqLywKLQkJCQk3Q0IzNjVBQjFEMzFEQjcwMDA3MTU4Q0EgLyogX1dLVXNlcklu
aXRpYXRlZEFjdGlvbi5tbSBpbiBTb3VyY2VzICovLAotCQkJCTJEODc4NjFFMUJEQjU0QkYwMEQw
MkFCQiAvKiBfV0tVc2VyU3R5bGVTaGVldC5tbSBpbiBTb3VyY2VzICovLAotCQkJCTFBODFCMzgw
MThCRDY2QUQwMDA3RkRBQyAvKiBfV0tWaXNpdGVkTGlua1N0b3JlLm1tIGluIFNvdXJjZXMgKi8s
Ci0JCQkJMUFFMjg2NzcxQzdFNzY1MTAwNjlBQzRGIC8qIF9XS1dlYnNpdGVEYXRhU2l6ZS5tbSBp
biBTb3VyY2VzICovLAotCQkJCTFBRkI0QzcxMUFERjE1NUQwMEIzMzMzOSAvKiBfV0tXZWJzaXRl
RGF0YVN0b3JlLm1tIGluIFNvdXJjZXMgKi8sCi0JCQkJNTEyMEM4MzYxRTVCNzRCRTAwMjVCMjUw
IC8qIF9XS1dlYnNpdGVEYXRhU3RvcmVDb25maWd1cmF0aW9uLm1tIGluIFNvdXJjZXMgKi8sCi0J
CQkJNUNCMjM3OEIxREYwREU1MzAwMTE3QUEzIC8qIF9XS1dlYnNpdGVQb2xpY2llcy5tbSBpbiBT
b3VyY2VzICovLAogCQkJCTJEOTJBNzg0MjEyQjZBQjEwMEY0OTNGRCAvKiBBY3Rpdml0eUFzc2Vy
dGlvbi5jcHAgaW4gU291cmNlcyAqLywKLQkJCQlGNDEwNTY2MzIxMzA2OTlBMDA5MjI4MUQgLyog
QVBJQXR0YWNobWVudENvY29hLm1tIGluIFNvdXJjZXMgKi8sCi0JCQkJN0NFRkE5NjIxQUMwOTk5
MzAwQjkxMEZEIC8qIEFQSUNvbnRlbnRSdWxlTGlzdFN0b3JlQ29jb2EubW0gaW4gU291cmNlcyAq
LywKLQkJCQlGRUQzQzFEQzFCNDQ3RUFDMDBFMEVCN0YgLyogQVBJU2VyaWFsaXplZFNjcmlwdFZh
bHVlQ29jb2EubW0gaW4gU291cmNlcyAqLywKLQkJCQkxQTM2MzVBRDFBMzE0NUU1MDBFRDYxOTcg
LyogQVBJV2Vic2l0ZURhdGFTdG9yZUNvY29hLm1tIGluIFNvdXJjZXMgKi8sCiAJCQkJMkQ5MkE3
N0IyMTJCNkE3MTAwRjQ5M0ZEIC8qIEFyZ3VtZW50Q29kZXJzLmNwcCBpbiBTb3VyY2VzICovLAog
CQkJCTJERUIxRDJFMjEyNzQ3MzYwMDkzMzkwNiAvKiBBcmd1bWVudENvZGVyc0NGLmNwcCBpbiBT
b3VyY2VzICovLAogCQkJCTJEOTJBNzdDMjEyQjZBNzEwMEY0OTNGRCAvKiBBdHRhY2htZW50LmNw
cCBpbiBTb3VyY2VzICovLApAQCAtMTA3NzAsNyArMTA2MzgsNiBAQAogCQkJCTFBQTU3NjAyMTQ5
NkI5NzkwMEE0RUUwNiAvKiBFdmVudERpc3BhdGNoZXJNZXNzYWdlUmVjZWl2ZXIuY3BwIGluIFNv
dXJjZXMgKi8sCiAJCQkJMkQ5MTM0NDEyMTJDRjlGMDAwMTI4QUZEIC8qIEpTTlBNZXRob2QuY3Bw
IGluIFNvdXJjZXMgKi8sCiAJCQkJMkQ5MTM0NDIyMTJDRjlGMDAwMTI4QUZEIC8qIEpTTlBPYmpl
Y3QuY3BwIGluIFNvdXJjZXMgKi8sCi0JCQkJMUFGREU2NDUxOTUxMEI1NTAwQzQ4RkZBIC8qIExl
Z2FjeUJ1bmRsZUZvckNsYXNzLm1tIGluIFNvdXJjZXMgKi8sCiAJCQkJMjk4NEY1ODgxNjRCQTA5
NTAwNEJDMEM2IC8qIExlZ2FjeUN1c3RvbVByb3RvY29sTWFuYWdlck1lc3NhZ2VSZWNlaXZlci5j
cHAgaW4gU291cmNlcyAqLywKIAkJCQkyOTg0RjU3QzE2NEI5MTVGMDA0QkMwQzYgLyogTGVnYWN5
Q3VzdG9tUHJvdG9jb2xNYW5hZ2VyUHJveHlNZXNzYWdlUmVjZWl2ZXIuY3BwIGluIFNvdXJjZXMg
Ki8sCiAJCQkJMkQ5MkE3NzkyMTJCNkE2MTAwRjQ5M0ZEIC8qIExvZ2dpbmcuY3BwIGluIFNvdXJj
ZXMgKi8sCkBAIC0xMDgyNSw4ICsxMDY5Miw2IEBACiAJCQkJMkQ1NEMzMUIyMTJGNERBNjAwNDlD
MTc0IC8qIFByb2Nlc3NMYXVuY2hlci5jcHAgaW4gU291cmNlcyAqLywKIAkJCQkyRDcyQTFGQTIx
MkJGNDZFMDA1MTdBMjAgLyogUmVtb3RlTGF5ZXJUcmVlRHJhd2luZ0FyZWEubW0gaW4gU291cmNl
cyAqLywKIAkJCQkwRkYyNEEyRDE4NzlFNEJDMDAzQUJGMEMgLyogUmVtb3RlTGF5ZXJUcmVlRHJh
d2luZ0FyZWFQcm94eU1lc3NhZ2VSZWNlaXZlci5jcHAgaW4gU291cmNlcyAqLywKLQkJCQkxQTU3
MDRGQjFCRTE3NTExMDA4NzRBRjEgLyogUmVtb3RlT2JqZWN0SW52b2NhdGlvbi5tbSBpbiBTb3Vy
Y2VzICovLAotCQkJCTFBQzEzMzdGMTg1OTBBRTQwMEYzRUMwNSAvKiBSZW1vdGVPYmplY3RSZWdp
c3RyeS5tbSBpbiBTb3VyY2VzICovLAogCQkJCTFBQzEzMzg1MTg1OTBDNDYwMEYzRUMwNSAvKiBS
ZW1vdGVPYmplY3RSZWdpc3RyeU1lc3NhZ2VSZWNlaXZlci5jcHAgaW4gU291cmNlcyAqLywKIAkJ
CQkwRjU5NDdBNzE4N0I1MTc2MDA0Mzc4NTcgLyogUmVtb3RlU2Nyb2xsaW5nQ29vcmRpbmF0b3JN
ZXNzYWdlUmVjZWl2ZXIuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJQTU1QkE4MjYxQkEyNUNGRDAw
N0NEMzNEIC8qIFJlbW90ZVdlYkluc3BlY3RvclByb3h5TWVzc2FnZVJlY2VpdmVyLmNwcCBpbiBT
b3VyY2VzICovLApAQCAtMTEwOTgsNjUgKzEwOTYzLDEwIEBACiAJCQkJMUFBRjA4QjcxOTI2OUU2
RDAwQjYzOTBDIC8qIFdlYlVzZXJDb250ZW50Q29udHJvbGxlck1lc3NhZ2VSZWNlaXZlci5jcHAg
aW4gU291cmNlcyAqLywKIAkJCQk3QzM2MUQ3ODE5MjgwM0JEMDAzNkE1OUQgLyogV2ViVXNlckNv
bnRlbnRDb250cm9sbGVyUHJveHlNZXNzYWdlUmVjZWl2ZXIuY3BwIGluIFNvdXJjZXMgKi8sCiAJ
CQkJMkQ5MkE3OEYyMTJCNkFCMTAwRjQ5M0ZEIC8qIFdlYldoZWVsRXZlbnQuY3BwIGluIFNvdXJj
ZXMgKi8sCi0JCQkJMzdDNEMwOEMxODE0QUM1QzAwMzY4OEI5IC8qIFdLQmFja0ZvcndhcmRMaXN0
Lm1tIGluIFNvdXJjZXMgKi8sCi0JCQkJMzdDNEMwODYxODE0OUM1QjAwMzY4OEI5IC8qIFdLQmFj
a0ZvcndhcmRMaXN0SXRlbS5tbSBpbiBTb3VyY2VzICovLAotCQkJCUJDQkFBQzcyMTQ0RTYxOTkw
MDUzRjgyRiAvKiBXS0Jyb3dzaW5nQ29udGV4dENvbnRyb2xsZXIubW0gaW4gU291cmNlcyAqLywK
LQkJCQlCQ0JBQUNGNTE0NTIzMjRGMDA1M0Y4MkYgLyogV0tCcm93c2luZ0NvbnRleHRHcm91cC5t
bSBpbiBTb3VyY2VzICovLAotCQkJCTFBRTAwRDRDMTgyRDZFQjAwMDA4N0RENyAvKiBXS0Jyb3dz
aW5nQ29udGV4dEhhbmRsZS5tbSBpbiBTb3VyY2VzICovLAotCQkJCUJDQTI4NEQ2MTQ5MkYyQzcw
MDFGOTA0MiAvKiBXS0Nvbm5lY3Rpb24ubW0gaW4gU291cmNlcyAqLywKLQkJCQk1Q0QyODY1MjFF
NzIzNUE2MDA5NEZEQzggLyogV0tDb250ZW50UnVsZUxpc3QubW0gaW4gU291cmNlcyAqLywKLQkJ
CQk1Q0QyODY1NjFFNzIzNUM2MDA5NEZEQzggLyogV0tDb250ZW50UnVsZUxpc3RTdG9yZS5tbSBp
biBTb3VyY2VzICovLAogCQkJCTJEOTMxMTY5MjEyRjYxQjIwMDA0NEJGRSAvKiBXS0NvbnRlbnRW
aWV3Lm1tIGluIFNvdXJjZXMgKi8sCiAJCQkJMkQ5MzExNkEyMTJGNjFCNTAwMDQ0QkZFIC8qIFdL
Q29udGVudFZpZXdJbnRlcmFjdGlvbi5tbSBpbiBTb3VyY2VzICovLAotCQkJCTJEOTEzNDMxMjEy
Qzg1M0QwMDEyOEFGRCAvKiBXS0RPTURvY3VtZW50Lm1tIGluIFNvdXJjZXMgKi8sCi0JCQkJMkQ5
MTM0MzIyMTJDODUzRDAwMTI4QUZEIC8qIFdLRE9NRWxlbWVudC5tbSBpbiBTb3VyY2VzICovLAot
CQkJCTJEOTEzNDMzMjEyQzg1M0QwMDEyOEFGRCAvKiBXS0RPTUludGVybmFscy5tbSBpbiBTb3Vy
Y2VzICovLAotCQkJCTJEOTEzNDM0MjEyQzg1M0QwMDEyOEFGRCAvKiBXS0RPTU5vZGUubW0gaW4g
U291cmNlcyAqLywKLQkJCQkyRDkxMzQzNTIxMkM4NTNEMDAxMjhBRkQgLyogV0tET01SYW5nZS5t
bSBpbiBTb3VyY2VzICovLAotCQkJCTJEOTEzNDM2MjEyQzg1M0QwMDEyOEFGRCAvKiBXS0RPTVRl
eHQubW0gaW4gU291cmNlcyAqLywKLQkJCQkyRDkxMzQzNzIxMkM4NTNEMDAxMjhBRkQgLyogV0tE
T01UZXh0SXRlcmF0b3IubW0gaW4gU291cmNlcyAqLywKLQkJCQkxQUY0NTkyRTE5NDY0QjIwMDBG
OUQ0QTIgLyogV0tFcnJvci5tbSBpbiBTb3VyY2VzICovLAotCQkJCTFBNEQ2NjRCMThBMzAzMEUw
MEQ4MkUyMSAvKiBXS0ZyYW1lSW5mby5tbSBpbiBTb3VyY2VzICovLAotCQkJCTUxRDEyNDkyMUU3
NEJGNDgwMDJCMjgyMCAvKiBXS0hUVFBDb29raWVTdG9yZS5tbSBpbiBTb3VyY2VzICovLAotCQkJ
CTFBQjQwRUU1MUJGNjc3RTMwMEJBODFCRSAvKiBXS01lbnVJdGVtSWRlbnRpZmllcnMubW0gaW4g
U291cmNlcyAqLywKLQkJCQkxQTVCMUM1MDE4OTg2MDZGMDA0RkNGOUIgLyogV0tOYXZpZ2F0aW9u
Lm1tIGluIFNvdXJjZXMgKi8sCi0JCQkJMUEyNTZFMzcxOEExQTc4ODAwNkZCOTIyIC8qIFdLTmF2
aWdhdGlvbkFjdGlvbi5tbSBpbiBTb3VyY2VzICovLAotCQkJCTM3MEYzNEEyMTgyOUJFMUUwMDkw
MjdDOCAvKiBXS05hdmlnYXRpb25EYXRhLm1tIGluIFNvdXJjZXMgKi8sCi0JCQkJMUExQjBFQjUx
OEE0MjQ5NTAwMzg0ODFBIC8qIFdLTmF2aWdhdGlvblJlc3BvbnNlLm1tIGluIFNvdXJjZXMgKi8s
Ci0JCQkJMzdGQzE5NEExODUxMEQ2QTAwOENGQTQ3IC8qIFdLTlNVUkxBdXRoZW50aWNhdGlvbkNo
YWxsZW5nZS5tbSBpbiBTb3VyY2VzICovLAotCQkJCTFBQ0M1MEYxMUNCQzM4MUQwMDNDN0QwMyAv
KiBXS09wZW5QYW5lbFBhcmFtZXRlcnMubW0gaW4gU291cmNlcyAqLywKLQkJCQkxQUZERDMxOTE4
OTFDQTEyMDAxNTM5NzAgLyogV0tQcmVmZXJlbmNlcy5tbSBpbiBTb3VyY2VzICovLAotCQkJCTkz
QTI1M0VGMUM5MjJFOEUwMEY5RjY4RCAvKiBXS1ByZXZpZXdBY3Rpb25JdGVtLm1tIGluIFNvdXJj
ZXMgKi8sCi0JCQkJOTNBMjUzRjUxQzkyNDEzMjAwRjlGNjhEIC8qIFdLUHJldmlld0FjdGlvbkl0
ZW1JZGVudGlmaWVycy5tbSBpbiBTb3VyY2VzICovLAotCQkJCTkzOTVFNjhDMUJGMkMzNTIwMEY0
OUJDRSAvKiBXS1ByZXZpZXdFbGVtZW50SW5mby5tbSBpbiBTb3VyY2VzICovLAotCQkJCUJDQkFB
Q0VDMTQ1MjI1RTMwMDUzRjgyRiAvKiBXS1Byb2Nlc3NHcm91cC5tbSBpbiBTb3VyY2VzICovLAot
CQkJCTFBMTU4NDE5MTg5MDQ0RjUwMDE3NjE2QyAvKiBXS1Byb2Nlc3NQb29sLm1tIGluIFNvdXJj
ZXMgKi8sCi0JCQkJMUE5RTMyOUExODIyRTFDQzAwRjVEMDRDIC8qIFdLUmVtb3RlT2JqZWN0Lm1t
IGluIFNvdXJjZXMgKi8sCi0JCQkJMUE5RTMyOUUxODIyRkVERDAwRjVEMDRDIC8qIFdLUmVtb3Rl
T2JqZWN0Q29kZXIubW0gaW4gU291cmNlcyAqLywKLQkJCQkxQTdFMzc3ODE4RTRBNEZFMDAzRDBG
RkYgLyogV0tTY3JpcHRNZXNzYWdlLm1tIGluIFNvdXJjZXMgKi8sCi0JCQkJNTFDRDFDNjYxQjM0
QjlEQzAwMTQyQ0E1IC8qIFdLU2VjdXJpdHlPcmlnaW4ubW0gaW4gU291cmNlcyAqLywKIAkJCQkx
REIwMTk0NDIxMUNGMDA1MDA5RkIzRTggLyogV0tTaGFyZVNoZWV0Lm1tIGluIFNvdXJjZXMgKi8s
Ci0JCQkJOTNGNTQ5QjYxRTMxNzREQTAwMEU3MjM5IC8qIFdLU25hcHNob3RDb25maWd1cmF0aW9u
Lm1tIGluIFNvdXJjZXMgKi8sCiAJCQkJMjZGMTBCRTkxOTE4N0UyRTAwMUQwRTY4IC8qIFdLU3lu
dGhldGljQ2xpY2tUYXBHZXN0dXJlUmVjb2duaXplci5tIGluIFNvdXJjZXMgKi8sCi0JCQkJN0NE
NUVCQkUxNzQ2QjA0QzAwMEMxQzQ1IC8qIFdLVHlwZVJlZldyYXBwZXIubW0gaW4gU291cmNlcyAq
LywKLQkJCQk1MUQxMjQzNjFFNkRGQjM5MDAyQjI4MjAgLyogV0tVUkxTY2hlbWVUYXNrLm1tIGlu
IFNvdXJjZXMgKi8sCi0JCQkJMUFGQTNBQzgxOEU2MUM2MTAwM0NDQkFFIC8qIFdLVXNlckNvbnRl
bnRDb250cm9sbGVyLm1tIGluIFNvdXJjZXMgKi8sCi0JCQkJMUFBRjA4OUExOTI2N0VFNTAwQjYz
OTBDIC8qIFdLVXNlclNjcmlwdC5tbSBpbiBTb3VyY2VzICovLAotCQkJCUJDODY5OUI2MTE2QUFE
QUEwMDJBOTI1QiAvKiBXS1ZpZXcubW0gaW4gU291cmNlcyAqLywKLQkJCQkyRDkxMzQyODIxMkM4
NEY1MDAxMjhBRkQgLyogV0tXZWJQcm9jZXNzQnVuZGxlUGFyYW1ldGVycy5tbSBpbiBTb3VyY2Vz
ICovLAotCQkJCTJEOTEzNDJGMjEyQzg1MDEwMDEyOEFGRCAvKiBXS1dlYlByb2Nlc3NQbHVnSW4u
bW0gaW4gU291cmNlcyAqLywKLQkJCQkyRDkxMzQzMDIxMkM4NTAxMDAxMjhBRkQgLyogV0tXZWJQ
cm9jZXNzUGx1Z0luQnJvd3NlckNvbnRleHRDb250cm9sbGVyLm1tIGluIFNvdXJjZXMgKi8sCi0J
CQkJMkQ5MTM0MjkyMTJDODRGNTAwMTI4QUZEIC8qIFdLV2ViUHJvY2Vzc1BsdWdJbkZyYW1lLm1t
IGluIFNvdXJjZXMgKi8sCi0JCQkJMkQ5MTM0MkEyMTJDODRGNTAwMTI4QUZEIC8qIFdLV2ViUHJv
Y2Vzc1BsdWdJbkhpdFRlc3RSZXN1bHQubW0gaW4gU291cmNlcyAqLywKLQkJCQkyRDkxMzQyQjIx
MkM4NEY1MDAxMjhBRkQgLyogV0tXZWJQcm9jZXNzUGx1Z0luTm9kZUhhbmRsZS5tbSBpbiBTb3Vy
Y2VzICovLAotCQkJCTJEOTEzNDJDMjEyQzg0RjUwMDEyOEFGRCAvKiBXS1dlYlByb2Nlc3NQbHVn
SW5QYWdlR3JvdXAubW0gaW4gU291cmNlcyAqLywKLQkJCQkyRDkxMzQyRDIxMkM4NEY1MDAxMjhB
RkQgLyogV0tXZWJQcm9jZXNzUGx1Z0luUmFuZ2VIYW5kbGUubW0gaW4gU291cmNlcyAqLywKLQkJ
CQkyRDkxMzQyRTIxMkM4NEY1MDAxMjhBRkQgLyogV0tXZWJQcm9jZXNzUGx1Z0luU2NyaXB0V29y
bGQubW0gaW4gU291cmNlcyAqLywKLQkJCQkxQTQ4MzJDQjFBOUJDNDY1MDA4QjRERkUgLyogV0tX
ZWJzaXRlRGF0YVJlY29yZC5tbSBpbiBTb3VyY2VzICovLAotCQkJCTc1QThEMkM5MTg3Q0NGQUYw
MEMzOUM5RSAvKiBXS1dlYnNpdGVEYXRhU3RvcmUubW0gaW4gU291cmNlcyAqLywKLQkJCQkxQTND
QzE2NjE4OTA2QUNGMDAxRTZFRDggLyogV0tXZWJWaWV3Lm1tIGluIFNvdXJjZXMgKi8sCi0JCQkJ
MUFERjU5MUExODkwNTI4RTAwNDNDMTQ1IC8qIFdLV2ViVmlld0NvbmZpZ3VyYXRpb24ubW0gaW4g
U291cmNlcyAqLywKLQkJCQkxQUQ2MEY1RDE4RTIwRjRDMDAyMEMwMzQgLyogV0tXaW5kb3dGZWF0
dXJlcy5tbSBpbiBTb3VyY2VzICovLAogCQkJKTsKIAkJCXJ1bk9ubHlGb3JEZXBsb3ltZW50UG9z
dHByb2Nlc3NpbmcgPSAwOwogCQl9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9j
ZXNzL0luamVjdGVkQnVuZGxlL0FQSS9tYWMvV0tXZWJQcm9jZXNzUGx1Z0luLm1tIGIvU291cmNl
L1dlYktpdC9XZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0FQSS9tYWMvV0tXZWJQcm9jZXNzUGx1
Z0luLm1tCmluZGV4IDQwNTczNDljMzdhMGE2MDI4MGY1NjUwOTBiZDllMTllN2QwNGFmYWYuLjkx
ZDZiOTY1ZTEwM2RjYWFhZjMzZmNlZTdkOGE5NWI1Mzg0NWIxOTIgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQvV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9BUEkvbWFjL1dLV2ViUHJvY2Vzc1Bs
dWdJbi5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvQVBJ
L21hYy9XS1dlYlByb2Nlc3NQbHVnSW4ubW0KQEAgLTM3LDEwICszNyw4IEBACiAjaW1wb3J0ICJX
S1dlYlByb2Nlc3NQbHVnSW5Ccm93c2VyQ29udGV4dENvbnRyb2xsZXJJbnRlcm5hbC5oIgogI2lt
cG9ydCA8d3RmL1JldGFpblB0ci5oPgogCi11c2luZyBuYW1lc3BhY2UgV2ViS2l0OwotCiBAaW50
ZXJmYWNlIFdLV2ViUHJvY2Vzc1BsdWdJbkNvbnRyb2xsZXIgKCkgewotICAgIEFQSTo6T2JqZWN0
U3RvcmFnZTxJbmplY3RlZEJ1bmRsZT4gX2J1bmRsZTsKKyAgICBBUEk6Ok9iamVjdFN0b3JhZ2U8
V2ViS2l0OjpJbmplY3RlZEJ1bmRsZT4gX2J1bmRsZTsKICAgICBSZXRhaW5QdHI8aWQgPFdLV2Vi
UHJvY2Vzc1BsdWdJbj4+IF9wcmluY2lwYWxDbGFzc0luc3RhbmNlOwogfQogQGVuZApAQCAtNjAs
NyArNTgsNyBAQCBzdGF0aWMgdm9pZCBkaWRDcmVhdGVQYWdlKFdLQnVuZGxlUmVmIGJ1bmRsZSwg
V0tCdW5kbGVQYWdlUmVmIHBhZ2UsIGNvbnN0IHZvaWQqCiAgICAgaWQgPFdLV2ViUHJvY2Vzc1Bs
dWdJbj4gcHJpbmNpcGFsQ2xhc3NJbnN0YW5jZSA9IHBsdWdJbkNvbnRyb2xsZXItPl9wcmluY2lw
YWxDbGFzc0luc3RhbmNlLmdldCgpOwogCiAgICAgaWYgKFtwcmluY2lwYWxDbGFzc0luc3RhbmNl
IHJlc3BvbmRzVG9TZWxlY3RvcjpAc2VsZWN0b3Iod2ViUHJvY2Vzc1BsdWdJbjpkaWRDcmVhdGVC
cm93c2VyQ29udGV4dENvbnRyb2xsZXI6KV0pCi0gICAgICAgIFtwcmluY2lwYWxDbGFzc0luc3Rh
bmNlIHdlYlByb2Nlc3NQbHVnSW46cGx1Z0luQ29udHJvbGxlciBkaWRDcmVhdGVCcm93c2VyQ29u
dGV4dENvbnRyb2xsZXI6d3JhcHBlcigqdG9JbXBsKHBhZ2UpKV07CisgICAgICAgIFtwcmluY2lw
YWxDbGFzc0luc3RhbmNlIHdlYlByb2Nlc3NQbHVnSW46cGx1Z0luQ29udHJvbGxlciBkaWRDcmVh
dGVCcm93c2VyQ29udGV4dENvbnRyb2xsZXI6d3JhcHBlcigqV2ViS2l0Ojp0b0ltcGwocGFnZSkp
XTsKIH0KIAogc3RhdGljIHZvaWQgd2lsbERlc3Ryb3lQYWdlKFdLQnVuZGxlUmVmIGJ1bmRsZSwg
V0tCdW5kbGVQYWdlUmVmIHBhZ2UsIGNvbnN0IHZvaWQqIGNsaWVudEluZm8pCkBAIC02OSwxMCAr
NjcsMTAgQEAgc3RhdGljIHZvaWQgd2lsbERlc3Ryb3lQYWdlKFdLQnVuZGxlUmVmIGJ1bmRsZSwg
V0tCdW5kbGVQYWdlUmVmIHBhZ2UsIGNvbnN0IHZvaWQKICAgICBpZCA8V0tXZWJQcm9jZXNzUGx1
Z0luPiBwcmluY2lwYWxDbGFzc0luc3RhbmNlID0gcGx1Z0luQ29udHJvbGxlci0+X3ByaW5jaXBh
bENsYXNzSW5zdGFuY2UuZ2V0KCk7CiAKICAgICBpZiAoW3ByaW5jaXBhbENsYXNzSW5zdGFuY2Ug
cmVzcG9uZHNUb1NlbGVjdG9yOkBzZWxlY3Rvcih3ZWJQcm9jZXNzUGx1Z0luOndpbGxEZXN0cm95
QnJvd3NlckNvbnRleHRDb250cm9sbGVyOildKQotICAgICAgICBbcHJpbmNpcGFsQ2xhc3NJbnN0
YW5jZSB3ZWJQcm9jZXNzUGx1Z0luOnBsdWdJbkNvbnRyb2xsZXIgd2lsbERlc3Ryb3lCcm93c2Vy
Q29udGV4dENvbnRyb2xsZXI6d3JhcHBlcigqdG9JbXBsKHBhZ2UpKV07CisgICAgICAgIFtwcmlu
Y2lwYWxDbGFzc0luc3RhbmNlIHdlYlByb2Nlc3NQbHVnSW46cGx1Z0luQ29udHJvbGxlciB3aWxs
RGVzdHJveUJyb3dzZXJDb250ZXh0Q29udHJvbGxlcjp3cmFwcGVyKCpXZWJLaXQ6OnRvSW1wbChw
YWdlKSldOwogfQogCi1zdGF0aWMgdm9pZCBzZXRVcEJ1bmRsZUNsaWVudChXS1dlYlByb2Nlc3NQ
bHVnSW5Db250cm9sbGVyICpwbHVnSW5Db250cm9sbGVyLCBJbmplY3RlZEJ1bmRsZSYgYnVuZGxl
KQorc3RhdGljIHZvaWQgc2V0VXBCdW5kbGVDbGllbnQoV0tXZWJQcm9jZXNzUGx1Z0luQ29udHJv
bGxlciAqcGx1Z0luQ29udHJvbGxlciwgV2ViS2l0OjpJbmplY3RlZEJ1bmRsZSYgYnVuZGxlKQog
ewogICAgIFdLQnVuZGxlQ2xpZW50VjEgYnVuZGxlQ2xpZW50OwogICAgIG1lbXNldCgmYnVuZGxl
Q2xpZW50LCAwLCBzaXplb2YoYnVuZGxlQ2xpZW50KSk7CkBAIC0xMTEsNyArMTA5LDcgQEAgc3Rh
dGljIFJlZjxBUEk6OkFycmF5PiBjcmVhdGVXS0FycmF5KE5TQXJyYXkgKmFycmF5KQogICAgIAog
ICAgIGZvciAoaWQgZW50cnkgaW4gYXJyYXkpIHsKICAgICAgICAgaWYgKFtlbnRyeSBpc0tpbmRP
ZkNsYXNzOltOU1N0cmluZyBjbGFzc11dKQotICAgICAgICAgICAgc3RyaW5ncy51bmNoZWNrZWRB
cHBlbmQoYWRvcHRSZWYodG9JbXBsKFdLU3RyaW5nQ3JlYXRlV2l0aENGU3RyaW5nKChfX2JyaWRn
ZSBDRlN0cmluZ1JlZillbnRyeSkpKSk7CisgICAgICAgICAgICBzdHJpbmdzLnVuY2hlY2tlZEFw
cGVuZChhZG9wdFJlZihXZWJLaXQ6OnRvSW1wbChXS1N0cmluZ0NyZWF0ZVdpdGhDRlN0cmluZygo
X19icmlkZ2UgQ0ZTdHJpbmdSZWYpZW50cnkpKSkpOwogICAgIH0KICAgICAKICAgICByZXR1cm4g
QVBJOjpBcnJheTo6Y3JlYXRlKFdURk1vdmUoc3RyaW5ncykpOwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdC9XZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0FQSS9tYWMvV0tXZWJQcm9jZXNzUGx1
Z0luQnJvd3NlckNvbnRleHRDb250cm9sbGVyLm1tIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNz
L0luamVjdGVkQnVuZGxlL0FQSS9tYWMvV0tXZWJQcm9jZXNzUGx1Z0luQnJvd3NlckNvbnRleHRD
b250cm9sbGVyLm1tCmluZGV4IDI4ZGMwNjY5ZGY1ZGQyMGUwYmMxZTA2NjdlY2U5ZjdlNTM5NGM0
OTIuLmJjN2EyNGFjOTExNWRiM2JkZGUxMzFmZWU0MzU3Y2I1ZjExMGQwZjUgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9BUEkvbWFjL1dLV2ViUHJv
Y2Vzc1BsdWdJbkJyb3dzZXJDb250ZXh0Q29udHJvbGxlci5tbQorKysgYi9Tb3VyY2UvV2ViS2l0
L1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvQVBJL21hYy9XS1dlYlByb2Nlc3NQbHVnSW5Ccm93
c2VyQ29udGV4dENvbnRyb2xsZXIubW0KQEAgLTY2LDE1ICs2NiwxMiBAQAogI2ltcG9ydCA8cGFs
L3NwaS9jb2NvYS9OU0tleWVkQXJjaGl2ZXJTUEkuaD4KICNpbXBvcnQgPHd0Zi9XZWFrT2JqQ1B0
ci5oPgogCi11c2luZyBuYW1lc3BhY2UgV2ViQ29yZTsKLXVzaW5nIG5hbWVzcGFjZSBXZWJLaXQ7
Ci0KIEBpbnRlcmZhY2UgTlNPYmplY3QgKFdLRGVwcmVjYXRlZERlbGVnYXRlTWV0aG9kcykKIC0g
KHZvaWQpd2ViUHJvY2Vzc1BsdWdJbkJyb3dzZXJDb250ZXh0Q29udHJvbGxlcjooV0tXZWJQcm9j
ZXNzUGx1Z0luQnJvd3NlckNvbnRleHRDb250cm9sbGVyICopY29udHJvbGxlciBkaWRTYW1lRG9j
dW1lbnROYXZpZ2F0aW9uRm9yRnJhbWU6KFdLV2ViUHJvY2Vzc1BsdWdJbkZyYW1lICopZnJhbWU7
CiBAZW5kCiAKIEBpbXBsZW1lbnRhdGlvbiBXS1dlYlByb2Nlc3NQbHVnSW5Ccm93c2VyQ29udGV4
dENvbnRyb2xsZXIgewotICAgIEFQSTo6T2JqZWN0U3RvcmFnZTxXZWJQYWdlPiBfcGFnZTsKKyAg
ICBBUEk6Ok9iamVjdFN0b3JhZ2U8V2ViS2l0OjpXZWJQYWdlPiBfcGFnZTsKICAgICBXZWFrT2Jq
Q1B0cjxpZCA8V0tXZWJQcm9jZXNzUGx1Z0luTG9hZERlbGVnYXRlPj4gX2xvYWREZWxlZ2F0ZTsK
ICAgICBXZWFrT2JqQ1B0cjxpZCA8V0tXZWJQcm9jZXNzUGx1Z0luRm9ybURlbGVnYXRlUHJpdmF0
ZT4+IF9mb3JtRGVsZWdhdGU7CiAgICAgV2Vha09iakNQdHI8aWQgPFdLV2ViUHJvY2Vzc1BsdWdJ
bkVkaXRpbmdEZWxlZ2F0ZT4+IF9lZGl0aW5nRGVsZWdhdGU7CkBAIC04OCw3ICs4NSw3IEBAIHN0
YXRpYyB2b2lkIGRpZFN0YXJ0UHJvdmlzaW9uYWxMb2FkRm9yRnJhbWUoV0tCdW5kbGVQYWdlUmVm
IHBhZ2UsIFdLQnVuZGxlRnJhbWVSCiAgICAgYXV0byBsb2FkRGVsZWdhdGUgPSBwbHVnaW5Db250
ZXh0Q29udHJvbGxlci0+X2xvYWREZWxlZ2F0ZS5nZXQoKTsKIAogICAgIGlmIChbbG9hZERlbGVn
YXRlIHJlc3BvbmRzVG9TZWxlY3RvcjpAc2VsZWN0b3Iod2ViUHJvY2Vzc1BsdWdJbkJyb3dzZXJD
b250ZXh0Q29udHJvbGxlcjpkaWRTdGFydFByb3Zpc2lvbmFsTG9hZEZvckZyYW1lOildKQotICAg
ICAgICBbbG9hZERlbGVnYXRlIHdlYlByb2Nlc3NQbHVnSW5Ccm93c2VyQ29udGV4dENvbnRyb2xs
ZXI6cGx1Z2luQ29udGV4dENvbnRyb2xsZXIgZGlkU3RhcnRQcm92aXNpb25hbExvYWRGb3JGcmFt
ZTp3cmFwcGVyKCp0b0ltcGwoZnJhbWUpKV07CisgICAgICAgIFtsb2FkRGVsZWdhdGUgd2ViUHJv
Y2Vzc1BsdWdJbkJyb3dzZXJDb250ZXh0Q29udHJvbGxlcjpwbHVnaW5Db250ZXh0Q29udHJvbGxl
ciBkaWRTdGFydFByb3Zpc2lvbmFsTG9hZEZvckZyYW1lOndyYXBwZXIoKldlYktpdDo6dG9JbXBs
KGZyYW1lKSldOwogfQogCiBzdGF0aWMgdm9pZCBkaWRSZWNlaXZlU2VydmVyUmVkaXJlY3RGb3JQ
cm92aXNpb25hbExvYWRGb3JGcmFtZShXS0J1bmRsZVBhZ2VSZWYgcGFnZSwgV0tCdW5kbGVGcmFt
ZVJlZiBmcmFtZSwgV0tUeXBlUmVmICp1c2VyRGF0YVJlZiwgY29uc3Qgdm9pZCAqY2xpZW50SW5m
bykKQEAgLTk3LDcgKzk0LDcgQEAgc3RhdGljIHZvaWQgZGlkUmVjZWl2ZVNlcnZlclJlZGlyZWN0
Rm9yUHJvdmlzaW9uYWxMb2FkRm9yRnJhbWUoV0tCdW5kbGVQYWdlUmVmIHAKICAgICBhdXRvIGxv
YWREZWxlZ2F0ZSA9IHBsdWdpbkNvbnRleHRDb250cm9sbGVyLT5fbG9hZERlbGVnYXRlLmdldCgp
OwogCiAgICAgaWYgKFtsb2FkRGVsZWdhdGUgcmVzcG9uZHNUb1NlbGVjdG9yOkBzZWxlY3Rvcih3
ZWJQcm9jZXNzUGx1Z0luQnJvd3NlckNvbnRleHRDb250cm9sbGVyOmRpZFJlY2VpdmVTZXJ2ZXJS
ZWRpcmVjdEZvclByb3Zpc2lvbmFsTG9hZEZvckZyYW1lOildKQotICAgICAgICBbbG9hZERlbGVn
YXRlIHdlYlByb2Nlc3NQbHVnSW5Ccm93c2VyQ29udGV4dENvbnRyb2xsZXI6cGx1Z2luQ29udGV4
dENvbnRyb2xsZXIgZGlkUmVjZWl2ZVNlcnZlclJlZGlyZWN0Rm9yUHJvdmlzaW9uYWxMb2FkRm9y
RnJhbWU6d3JhcHBlcigqdG9JbXBsKGZyYW1lKSldOworICAgICAgICBbbG9hZERlbGVnYXRlIHdl
YlByb2Nlc3NQbHVnSW5Ccm93c2VyQ29udGV4dENvbnRyb2xsZXI6cGx1Z2luQ29udGV4dENvbnRy
b2xsZXIgZGlkUmVjZWl2ZVNlcnZlclJlZGlyZWN0Rm9yUHJvdmlzaW9uYWxMb2FkRm9yRnJhbWU6
d3JhcHBlcigqV2ViS2l0Ojp0b0ltcGwoZnJhbWUpKV07CiB9CiAKIHN0YXRpYyB2b2lkIGRpZEZp
bmlzaExvYWRGb3JGcmFtZShXS0J1bmRsZVBhZ2VSZWYgcGFnZSwgV0tCdW5kbGVGcmFtZVJlZiBm
cmFtZSwgV0tUeXBlUmVmKiB1c2VyRGF0YSwgY29uc3Qgdm9pZCAqY2xpZW50SW5mbykKQEAgLTEw
Niw3ICsxMDMsNyBAQCBzdGF0aWMgdm9pZCBkaWRGaW5pc2hMb2FkRm9yRnJhbWUoV0tCdW5kbGVQ
YWdlUmVmIHBhZ2UsIFdLQnVuZGxlRnJhbWVSZWYgZnJhbWUsCiAgICAgYXV0byBsb2FkRGVsZWdh
dGUgPSBwbHVnaW5Db250ZXh0Q29udHJvbGxlci0+X2xvYWREZWxlZ2F0ZS5nZXQoKTsKIAogICAg
IGlmIChbbG9hZERlbGVnYXRlIHJlc3BvbmRzVG9TZWxlY3RvcjpAc2VsZWN0b3Iod2ViUHJvY2Vz
c1BsdWdJbkJyb3dzZXJDb250ZXh0Q29udHJvbGxlcjpkaWRGaW5pc2hMb2FkRm9yRnJhbWU6KV0p
Ci0gICAgICAgIFtsb2FkRGVsZWdhdGUgd2ViUHJvY2Vzc1BsdWdJbkJyb3dzZXJDb250ZXh0Q29u
dHJvbGxlcjpwbHVnaW5Db250ZXh0Q29udHJvbGxlciBkaWRGaW5pc2hMb2FkRm9yRnJhbWU6d3Jh
cHBlcigqdG9JbXBsKGZyYW1lKSldOworICAgICAgICBbbG9hZERlbGVnYXRlIHdlYlByb2Nlc3NQ
bHVnSW5Ccm93c2VyQ29udGV4dENvbnRyb2xsZXI6cGx1Z2luQ29udGV4dENvbnRyb2xsZXIgZGlk
RmluaXNoTG9hZEZvckZyYW1lOndyYXBwZXIoKldlYktpdDo6dG9JbXBsKGZyYW1lKSldOwogfQog
CiBzdGF0aWMgdm9pZCBnbG9iYWxPYmplY3RJc0F2YWlsYWJsZUZvckZyYW1lKFdLQnVuZGxlUGFn
ZVJlZiBwYWdlLCBXS0J1bmRsZUZyYW1lUmVmIGZyYW1lLCBXS0J1bmRsZVNjcmlwdFdvcmxkUmVm
IHNjcmlwdFdvcmxkLCBjb25zdCB2b2lkKiBjbGllbnRJbmZvKQpAQCAtMTE1LDcgKzExMiw3IEBA
IHN0YXRpYyB2b2lkIGdsb2JhbE9iamVjdElzQXZhaWxhYmxlRm9yRnJhbWUoV0tCdW5kbGVQYWdl
UmVmIHBhZ2UsIFdLQnVuZGxlRnJhbWVSCiAgICAgYXV0byBsb2FkRGVsZWdhdGUgPSBwbHVnaW5D
b250ZXh0Q29udHJvbGxlci0+X2xvYWREZWxlZ2F0ZS5nZXQoKTsKIAogICAgIGlmIChbbG9hZERl
bGVnYXRlIHJlc3BvbmRzVG9TZWxlY3RvcjpAc2VsZWN0b3Iod2ViUHJvY2Vzc1BsdWdJbkJyb3dz
ZXJDb250ZXh0Q29udHJvbGxlcjpnbG9iYWxPYmplY3RJc0F2YWlsYWJsZUZvckZyYW1lOmluU2Ny
aXB0V29ybGQ6KV0pCi0gICAgICAgIFtsb2FkRGVsZWdhdGUgd2ViUHJvY2Vzc1BsdWdJbkJyb3dz
ZXJDb250ZXh0Q29udHJvbGxlcjpwbHVnaW5Db250ZXh0Q29udHJvbGxlciBnbG9iYWxPYmplY3RJ
c0F2YWlsYWJsZUZvckZyYW1lOndyYXBwZXIoKnRvSW1wbChmcmFtZSkpIGluU2NyaXB0V29ybGQ6
d3JhcHBlcigqdG9JbXBsKHNjcmlwdFdvcmxkKSldOworICAgICAgICBbbG9hZERlbGVnYXRlIHdl
YlByb2Nlc3NQbHVnSW5Ccm93c2VyQ29udGV4dENvbnRyb2xsZXI6cGx1Z2luQ29udGV4dENvbnRy
b2xsZXIgZ2xvYmFsT2JqZWN0SXNBdmFpbGFibGVGb3JGcmFtZTp3cmFwcGVyKCpXZWJLaXQ6OnRv
SW1wbChmcmFtZSkpIGluU2NyaXB0V29ybGQ6d3JhcHBlcigqV2ViS2l0Ojp0b0ltcGwoc2NyaXB0
V29ybGQpKV07CiB9CiAKIHN0YXRpYyB2b2lkIGRpZFJlbW92ZUZyYW1lRnJvbUhpZXJhcmNoeShX
S0J1bmRsZVBhZ2VSZWYgcGFnZSwgV0tCdW5kbGVGcmFtZVJlZiBmcmFtZSwgV0tUeXBlUmVmKiB1
c2VyRGF0YSwgY29uc3Qgdm9pZCogY2xpZW50SW5mbykKQEAgLTEyNCw3ICsxMjEsNyBAQCBzdGF0
aWMgdm9pZCBkaWRSZW1vdmVGcmFtZUZyb21IaWVyYXJjaHkoV0tCdW5kbGVQYWdlUmVmIHBhZ2Us
IFdLQnVuZGxlRnJhbWVSZWYgZgogICAgIGF1dG8gbG9hZERlbGVnYXRlID0gcGx1Z2luQ29udGV4
dENvbnRyb2xsZXItPl9sb2FkRGVsZWdhdGUuZ2V0KCk7CiAKICAgICBpZiAoW2xvYWREZWxlZ2F0
ZSByZXNwb25kc1RvU2VsZWN0b3I6QHNlbGVjdG9yKHdlYlByb2Nlc3NQbHVnSW5Ccm93c2VyQ29u
dGV4dENvbnRyb2xsZXI6ZGlkUmVtb3ZlRnJhbWVGcm9tSGllcmFyY2h5OildKQotICAgICAgICBb
bG9hZERlbGVnYXRlIHdlYlByb2Nlc3NQbHVnSW5Ccm93c2VyQ29udGV4dENvbnRyb2xsZXI6cGx1
Z2luQ29udGV4dENvbnRyb2xsZXIgZGlkUmVtb3ZlRnJhbWVGcm9tSGllcmFyY2h5OndyYXBwZXIo
KnRvSW1wbChmcmFtZSkpXTsKKyAgICAgICAgW2xvYWREZWxlZ2F0ZSB3ZWJQcm9jZXNzUGx1Z0lu
QnJvd3NlckNvbnRleHRDb250cm9sbGVyOnBsdWdpbkNvbnRleHRDb250cm9sbGVyIGRpZFJlbW92
ZUZyYW1lRnJvbUhpZXJhcmNoeTp3cmFwcGVyKCpXZWJLaXQ6OnRvSW1wbChmcmFtZSkpXTsKIH0K
IAogc3RhdGljIHZvaWQgZGlkQ29tbWl0TG9hZEZvckZyYW1lKFdLQnVuZGxlUGFnZVJlZiBwYWdl
LCBXS0J1bmRsZUZyYW1lUmVmIGZyYW1lLCBXS1R5cGVSZWYqIHVzZXJEYXRhLCBjb25zdCB2b2lk
ICpjbGllbnRJbmZvKQpAQCAtMTMzLDcgKzEzMCw3IEBAIHN0YXRpYyB2b2lkIGRpZENvbW1pdExv
YWRGb3JGcmFtZShXS0J1bmRsZVBhZ2VSZWYgcGFnZSwgV0tCdW5kbGVGcmFtZVJlZiBmcmFtZSwK
ICAgICBhdXRvIGxvYWREZWxlZ2F0ZSA9IHBsdWdpbkNvbnRleHRDb250cm9sbGVyLT5fbG9hZERl
bGVnYXRlLmdldCgpOwogCiAgICAgaWYgKFtsb2FkRGVsZWdhdGUgcmVzcG9uZHNUb1NlbGVjdG9y
OkBzZWxlY3Rvcih3ZWJQcm9jZXNzUGx1Z0luQnJvd3NlckNvbnRleHRDb250cm9sbGVyOmRpZENv
bW1pdExvYWRGb3JGcmFtZTopXSkKLSAgICAgICAgW2xvYWREZWxlZ2F0ZSB3ZWJQcm9jZXNzUGx1
Z0luQnJvd3NlckNvbnRleHRDb250cm9sbGVyOnBsdWdpbkNvbnRleHRDb250cm9sbGVyIGRpZENv
bW1pdExvYWRGb3JGcmFtZTp3cmFwcGVyKCp0b0ltcGwoZnJhbWUpKV07CisgICAgICAgIFtsb2Fk
RGVsZWdhdGUgd2ViUHJvY2Vzc1BsdWdJbkJyb3dzZXJDb250ZXh0Q29udHJvbGxlcjpwbHVnaW5D
b250ZXh0Q29udHJvbGxlciBkaWRDb21taXRMb2FkRm9yRnJhbWU6d3JhcHBlcigqV2ViS2l0Ojp0
b0ltcGwoZnJhbWUpKV07CiB9CiAKIHN0YXRpYyB2b2lkIGRpZEZpbmlzaERvY3VtZW50TG9hZEZv
ckZyYW1lKFdLQnVuZGxlUGFnZVJlZiBwYWdlLCBXS0J1bmRsZUZyYW1lUmVmIGZyYW1lLCBXS1R5
cGVSZWYqIHVzZXJEYXRhLCBjb25zdCB2b2lkICpjbGllbnRJbmZvKQpAQCAtMTQyLDcgKzEzOSw3
IEBAIHN0YXRpYyB2b2lkIGRpZEZpbmlzaERvY3VtZW50TG9hZEZvckZyYW1lKFdLQnVuZGxlUGFn
ZVJlZiBwYWdlLCBXS0J1bmRsZUZyYW1lUmVmCiAgICAgYXV0byBsb2FkRGVsZWdhdGUgPSBwbHVn
aW5Db250ZXh0Q29udHJvbGxlci0+X2xvYWREZWxlZ2F0ZS5nZXQoKTsKIAogICAgIGlmIChbbG9h
ZERlbGVnYXRlIHJlc3BvbmRzVG9TZWxlY3RvcjpAc2VsZWN0b3Iod2ViUHJvY2Vzc1BsdWdJbkJy
b3dzZXJDb250ZXh0Q29udHJvbGxlcjpkaWRGaW5pc2hEb2N1bWVudExvYWRGb3JGcmFtZTopXSkK
LSAgICAgICAgW2xvYWREZWxlZ2F0ZSB3ZWJQcm9jZXNzUGx1Z0luQnJvd3NlckNvbnRleHRDb250
cm9sbGVyOnBsdWdpbkNvbnRleHRDb250cm9sbGVyIGRpZEZpbmlzaERvY3VtZW50TG9hZEZvckZy
YW1lOndyYXBwZXIoKnRvSW1wbChmcmFtZSkpXTsKKyAgICAgICAgW2xvYWREZWxlZ2F0ZSB3ZWJQ
cm9jZXNzUGx1Z0luQnJvd3NlckNvbnRleHRDb250cm9sbGVyOnBsdWdpbkNvbnRleHRDb250cm9s
bGVyIGRpZEZpbmlzaERvY3VtZW50TG9hZEZvckZyYW1lOndyYXBwZXIoKldlYktpdDo6dG9JbXBs
KGZyYW1lKSldOwogfQogCiBzdGF0aWMgdm9pZCBkaWRGYWlsUHJvdmlzaW9uYWxMb2FkV2l0aEVy
cm9yRm9yRnJhbWUoV0tCdW5kbGVQYWdlUmVmIHBhZ2UsIFdLQnVuZGxlRnJhbWVSZWYgZnJhbWUs
IFdLRXJyb3JSZWYgd2tFcnJvciwgV0tUeXBlUmVmKiB1c2VyRGF0YSwgY29uc3Qgdm9pZCAqY2xp
ZW50SW5mbykKQEAgLTE1MSw3ICsxNDgsNyBAQCBzdGF0aWMgdm9pZCBkaWRGYWlsUHJvdmlzaW9u
YWxMb2FkV2l0aEVycm9yRm9yRnJhbWUoV0tCdW5kbGVQYWdlUmVmIHBhZ2UsIFdLQnVuZAogICAg
IGF1dG8gbG9hZERlbGVnYXRlID0gcGx1Z2luQ29udGV4dENvbnRyb2xsZXItPl9sb2FkRGVsZWdh
dGUuZ2V0KCk7CiAKICAgICBpZiAoW2xvYWREZWxlZ2F0ZSByZXNwb25kc1RvU2VsZWN0b3I6QHNl
bGVjdG9yKHdlYlByb2Nlc3NQbHVnSW5Ccm93c2VyQ29udGV4dENvbnRyb2xsZXI6ZGlkRmFpbFBy
b3Zpc2lvbmFsTG9hZFdpdGhFcnJvckZvckZyYW1lOmVycm9yOildKQotICAgICAgICBbbG9hZERl
bGVnYXRlIHdlYlByb2Nlc3NQbHVnSW5Ccm93c2VyQ29udGV4dENvbnRyb2xsZXI6cGx1Z2luQ29u
dGV4dENvbnRyb2xsZXIgZGlkRmFpbFByb3Zpc2lvbmFsTG9hZFdpdGhFcnJvckZvckZyYW1lOndy
YXBwZXIoKnRvSW1wbChmcmFtZSkpIGVycm9yOndyYXBwZXIoKnRvSW1wbCh3a0Vycm9yKSldOwor
ICAgICAgICBbbG9hZERlbGVnYXRlIHdlYlByb2Nlc3NQbHVnSW5Ccm93c2VyQ29udGV4dENvbnRy
b2xsZXI6cGx1Z2luQ29udGV4dENvbnRyb2xsZXIgZGlkRmFpbFByb3Zpc2lvbmFsTG9hZFdpdGhF
cnJvckZvckZyYW1lOndyYXBwZXIoKldlYktpdDo6dG9JbXBsKGZyYW1lKSkgZXJyb3I6d3JhcHBl
cigqV2ViS2l0Ojp0b0ltcGwod2tFcnJvcikpXTsKIH0KIAogc3RhdGljIHZvaWQgZGlkRmFpbExv
YWRXaXRoRXJyb3JGb3JGcmFtZShXS0J1bmRsZVBhZ2VSZWYgcGFnZSwgV0tCdW5kbGVGcmFtZVJl
ZiBmcmFtZSwgV0tFcnJvclJlZiB3a0Vycm9yLCBXS1R5cGVSZWYqIHVzZXJEYXRhLCBjb25zdCB2
b2lkICpjbGllbnRJbmZvKQpAQCAtMTYwLDcgKzE1Nyw3IEBAIHN0YXRpYyB2b2lkIGRpZEZhaWxM
b2FkV2l0aEVycm9yRm9yRnJhbWUoV0tCdW5kbGVQYWdlUmVmIHBhZ2UsIFdLQnVuZGxlRnJhbWVS
ZWYKICAgICBhdXRvIGxvYWREZWxlZ2F0ZSA9IHBsdWdpbkNvbnRleHRDb250cm9sbGVyLT5fbG9h
ZERlbGVnYXRlLmdldCgpOwogCiAgICAgaWYgKFtsb2FkRGVsZWdhdGUgcmVzcG9uZHNUb1NlbGVj
dG9yOkBzZWxlY3Rvcih3ZWJQcm9jZXNzUGx1Z0luQnJvd3NlckNvbnRleHRDb250cm9sbGVyOmRp
ZEZhaWxMb2FkV2l0aEVycm9yRm9yRnJhbWU6ZXJyb3I6KV0pCi0gICAgICAgIFtsb2FkRGVsZWdh
dGUgd2ViUHJvY2Vzc1BsdWdJbkJyb3dzZXJDb250ZXh0Q29udHJvbGxlcjpwbHVnaW5Db250ZXh0
Q29udHJvbGxlciBkaWRGYWlsTG9hZFdpdGhFcnJvckZvckZyYW1lOndyYXBwZXIoKnRvSW1wbChm
cmFtZSkpIGVycm9yOndyYXBwZXIoKnRvSW1wbCh3a0Vycm9yKSldOworICAgICAgICBbbG9hZERl
bGVnYXRlIHdlYlByb2Nlc3NQbHVnSW5Ccm93c2VyQ29udGV4dENvbnRyb2xsZXI6cGx1Z2luQ29u
dGV4dENvbnRyb2xsZXIgZGlkRmFpbExvYWRXaXRoRXJyb3JGb3JGcmFtZTp3cmFwcGVyKCpXZWJL
aXQ6OnRvSW1wbChmcmFtZSkpIGVycm9yOndyYXBwZXIoKldlYktpdDo6dG9JbXBsKHdrRXJyb3Ip
KV07CiB9CiAKIHN0YXRpYyB2b2lkIGRpZFNhbWVEb2N1bWVudE5hdmlnYXRpb25Gb3JGcmFtZShX
S0J1bmRsZVBhZ2VSZWYgcGFnZSwgV0tCdW5kbGVGcmFtZVJlZiBmcmFtZSwgV0tTYW1lRG9jdW1l
bnROYXZpZ2F0aW9uVHlwZSB0eXBlLCBXS1R5cGVSZWYqIHVzZXJEYXRhLCBjb25zdCB2b2lkICpj
bGllbnRJbmZvKQpAQCAtMTY5LDExICsxNjYsMTEgQEAgc3RhdGljIHZvaWQgZGlkU2FtZURvY3Vt
ZW50TmF2aWdhdGlvbkZvckZyYW1lKFdLQnVuZGxlUGFnZVJlZiBwYWdlLCBXS0J1bmRsZUZyYW0K
ICAgICBhdXRvIGxvYWREZWxlZ2F0ZSA9IHBsdWdpbkNvbnRleHRDb250cm9sbGVyLT5fbG9hZERl
bGVnYXRlLmdldCgpOwogCiAgICAgaWYgKFtsb2FkRGVsZWdhdGUgcmVzcG9uZHNUb1NlbGVjdG9y
OkBzZWxlY3Rvcih3ZWJQcm9jZXNzUGx1Z0luQnJvd3NlckNvbnRleHRDb250cm9sbGVyOmRpZFNh
bWVEb2N1bWVudE5hdmlnYXRpb246Zm9yRnJhbWU6KV0pCi0gICAgICAgIFtsb2FkRGVsZWdhdGUg
d2ViUHJvY2Vzc1BsdWdJbkJyb3dzZXJDb250ZXh0Q29udHJvbGxlcjpwbHVnaW5Db250ZXh0Q29u
dHJvbGxlciBkaWRTYW1lRG9jdW1lbnROYXZpZ2F0aW9uOnRvV0tTYW1lRG9jdW1lbnROYXZpZ2F0
aW9uVHlwZSh0b1NhbWVEb2N1bWVudE5hdmlnYXRpb25UeXBlKHR5cGUpKSBmb3JGcmFtZTp3cmFw
cGVyKCp0b0ltcGwoZnJhbWUpKV07CisgICAgICAgIFtsb2FkRGVsZWdhdGUgd2ViUHJvY2Vzc1Bs
dWdJbkJyb3dzZXJDb250ZXh0Q29udHJvbGxlcjpwbHVnaW5Db250ZXh0Q29udHJvbGxlciBkaWRT
YW1lRG9jdW1lbnROYXZpZ2F0aW9uOnRvV0tTYW1lRG9jdW1lbnROYXZpZ2F0aW9uVHlwZShXZWJL
aXQ6OnRvU2FtZURvY3VtZW50TmF2aWdhdGlvblR5cGUodHlwZSkpIGZvckZyYW1lOndyYXBwZXIo
KldlYktpdDo6dG9JbXBsKGZyYW1lKSldOwogICAgIGVsc2UgewogICAgICAgICAvLyBGSVhNRTog
UmVtb3ZlIHRoaXMgb25jZSBjbGllbnRzIHN3aXRjaCB0byBpbXBsZW1lbnRpbmcgdGhlIGFib3Zl
IGRlbGVnYXRlIG1ldGhvZC4KICAgICAgICAgaWYgKFtsb2FkRGVsZWdhdGUgcmVzcG9uZHNUb1Nl
bGVjdG9yOkBzZWxlY3Rvcih3ZWJQcm9jZXNzUGx1Z0luQnJvd3NlckNvbnRleHRDb250cm9sbGVy
OmRpZFNhbWVEb2N1bWVudE5hdmlnYXRpb25Gb3JGcmFtZTopXSkKLSAgICAgICAgICAgIFsoTlNP
YmplY3QgKilsb2FkRGVsZWdhdGUgd2ViUHJvY2Vzc1BsdWdJbkJyb3dzZXJDb250ZXh0Q29udHJv
bGxlcjpwbHVnaW5Db250ZXh0Q29udHJvbGxlciBkaWRTYW1lRG9jdW1lbnROYXZpZ2F0aW9uRm9y
RnJhbWU6d3JhcHBlcigqdG9JbXBsKGZyYW1lKSldOworICAgICAgICAgICAgWyhOU09iamVjdCAq
KWxvYWREZWxlZ2F0ZSB3ZWJQcm9jZXNzUGx1Z0luQnJvd3NlckNvbnRleHRDb250cm9sbGVyOnBs
dWdpbkNvbnRleHRDb250cm9sbGVyIGRpZFNhbWVEb2N1bWVudE5hdmlnYXRpb25Gb3JGcmFtZTp3
cmFwcGVyKCpXZWJLaXQ6OnRvSW1wbChmcmFtZSkpXTsKICAgICB9CiB9CiAKQEAgLTE4Myw3ICsx
ODAsNyBAQCBzdGF0aWMgdm9pZCBkaWRMYXlvdXRGb3JGcmFtZShXS0J1bmRsZVBhZ2VSZWYgcGFn
ZSwgV0tCdW5kbGVGcmFtZVJlZiBmcmFtZSwgY29ucwogICAgIGF1dG8gbG9hZERlbGVnYXRlID0g
cGx1Z2luQ29udGV4dENvbnRyb2xsZXItPl9sb2FkRGVsZWdhdGUuZ2V0KCk7CiAKICAgICBpZiAo
W2xvYWREZWxlZ2F0ZSByZXNwb25kc1RvU2VsZWN0b3I6QHNlbGVjdG9yKHdlYlByb2Nlc3NQbHVn
SW5Ccm93c2VyQ29udGV4dENvbnRyb2xsZXI6ZGlkTGF5b3V0Rm9yRnJhbWU6KV0pCi0gICAgICAg
IFtsb2FkRGVsZWdhdGUgd2ViUHJvY2Vzc1BsdWdJbkJyb3dzZXJDb250ZXh0Q29udHJvbGxlcjpw
bHVnaW5Db250ZXh0Q29udHJvbGxlciBkaWRMYXlvdXRGb3JGcmFtZTp3cmFwcGVyKCp0b0ltcGwo
ZnJhbWUpKV07CisgICAgICAgIFtsb2FkRGVsZWdhdGUgd2ViUHJvY2Vzc1BsdWdJbkJyb3dzZXJD
b250ZXh0Q29udHJvbGxlcjpwbHVnaW5Db250ZXh0Q29udHJvbGxlciBkaWRMYXlvdXRGb3JGcmFt
ZTp3cmFwcGVyKCpXZWJLaXQ6OnRvSW1wbChmcmFtZSkpXTsKIH0KIAogc3RhdGljIHZvaWQgZGlk
UmVhY2hMYXlvdXRNaWxlc3RvbmUoV0tCdW5kbGVQYWdlUmVmIHBhZ2UsIFdLTGF5b3V0TWlsZXN0
b25lcyBtaWxlc3RvbmVzLCBXS1R5cGVSZWYqIHVzZXJEYXRhLCBjb25zdCB2b2lkICpjbGllbnRJ
bmZvKQpAQCAtMTkyLDcgKzE4OSw3IEBAIHN0YXRpYyB2b2lkIGRpZFJlYWNoTGF5b3V0TWlsZXN0
b25lKFdLQnVuZGxlUGFnZVJlZiBwYWdlLCBXS0xheW91dE1pbGVzdG9uZXMgbWlsCiAgICAgYXV0
byBsb2FkRGVsZWdhdGUgPSBwbHVnaW5Db250ZXh0Q29udHJvbGxlci0+X2xvYWREZWxlZ2F0ZS5n
ZXQoKTsKIAogICAgIGlmIChbbG9hZERlbGVnYXRlIHJlc3BvbmRzVG9TZWxlY3RvcjpAc2VsZWN0
b3Iod2ViUHJvY2Vzc1BsdWdJbkJyb3dzZXJDb250ZXh0Q29udHJvbGxlcjpyZW5kZXJpbmdQcm9n
cmVzc0RpZENoYW5nZTopXSkKLSAgICAgICAgW2xvYWREZWxlZ2F0ZSB3ZWJQcm9jZXNzUGx1Z0lu
QnJvd3NlckNvbnRleHRDb250cm9sbGVyOnBsdWdpbkNvbnRleHRDb250cm9sbGVyIHJlbmRlcmlu
Z1Byb2dyZXNzRGlkQ2hhbmdlOnJlbmRlcmluZ1Byb2dyZXNzRXZlbnRzKHRvTGF5b3V0TWlsZXN0
b25lcyhtaWxlc3RvbmVzKSldOworICAgICAgICBbbG9hZERlbGVnYXRlIHdlYlByb2Nlc3NQbHVn
SW5Ccm93c2VyQ29udGV4dENvbnRyb2xsZXI6cGx1Z2luQ29udGV4dENvbnRyb2xsZXIgcmVuZGVy
aW5nUHJvZ3Jlc3NEaWRDaGFuZ2U6cmVuZGVyaW5nUHJvZ3Jlc3NFdmVudHMoV2ViS2l0Ojp0b0xh
eW91dE1pbGVzdG9uZXMobWlsZXN0b25lcykpXTsKIH0KIAogc3RhdGljIHZvaWQgZGlkRmlyc3RW
aXN1YWxseU5vbkVtcHR5TGF5b3V0Rm9yRnJhbWUoV0tCdW5kbGVQYWdlUmVmIHBhZ2UsIFdLQnVu
ZGxlRnJhbWVSZWYgZnJhbWUsIFdLVHlwZVJlZiogdXNlckRhdGEsIGNvbnN0IHZvaWQgKmNsaWVu
dEluZm8pCkBAIC0yMDEsNyArMTk4LDcgQEAgc3RhdGljIHZvaWQgZGlkRmlyc3RWaXN1YWxseU5v
bkVtcHR5TGF5b3V0Rm9yRnJhbWUoV0tCdW5kbGVQYWdlUmVmIHBhZ2UsIFdLQnVuZGwKICAgICBh
dXRvIGxvYWREZWxlZ2F0ZSA9IHBsdWdpbkNvbnRleHRDb250cm9sbGVyLT5fbG9hZERlbGVnYXRl
LmdldCgpOwogCiAgICAgaWYgKFtsb2FkRGVsZWdhdGUgcmVzcG9uZHNUb1NlbGVjdG9yOkBzZWxl
Y3Rvcih3ZWJQcm9jZXNzUGx1Z0luQnJvd3NlckNvbnRleHRDb250cm9sbGVyOmRpZEZpcnN0Vmlz
dWFsbHlOb25FbXB0eUxheW91dEZvckZyYW1lOildKQotICAgICAgICBbbG9hZERlbGVnYXRlIHdl
YlByb2Nlc3NQbHVnSW5Ccm93c2VyQ29udGV4dENvbnRyb2xsZXI6cGx1Z2luQ29udGV4dENvbnRy
b2xsZXIgZGlkRmlyc3RWaXN1YWxseU5vbkVtcHR5TGF5b3V0Rm9yRnJhbWU6d3JhcHBlcigqdG9J
bXBsKGZyYW1lKSldOworICAgICAgICBbbG9hZERlbGVnYXRlIHdlYlByb2Nlc3NQbHVnSW5Ccm93
c2VyQ29udGV4dENvbnRyb2xsZXI6cGx1Z2luQ29udGV4dENvbnRyb2xsZXIgZGlkRmlyc3RWaXN1
YWxseU5vbkVtcHR5TGF5b3V0Rm9yRnJhbWU6d3JhcHBlcigqV2ViS2l0Ojp0b0ltcGwoZnJhbWUp
KV07CiB9CiAKIHN0YXRpYyB2b2lkIGRpZEhhbmRsZU9ubG9hZEV2ZW50c0ZvckZyYW1lKFdLQnVu
ZGxlUGFnZVJlZiBwYWdlLCBXS0J1bmRsZUZyYW1lUmVmIGZyYW1lLCBjb25zdCB2b2lkKiBjbGll
bnRJbmZvKQpAQCAtMjEwLDcgKzIwNyw3IEBAIHN0YXRpYyB2b2lkIGRpZEhhbmRsZU9ubG9hZEV2
ZW50c0ZvckZyYW1lKFdLQnVuZGxlUGFnZVJlZiBwYWdlLCBXS0J1bmRsZUZyYW1lUmVmCiAgICAg
YXV0byBsb2FkRGVsZWdhdGUgPSBwbHVnaW5Db250ZXh0Q29udHJvbGxlci0+X2xvYWREZWxlZ2F0
ZS5nZXQoKTsKIAogICAgIGlmIChbbG9hZERlbGVnYXRlIHJlc3BvbmRzVG9TZWxlY3RvcjpAc2Vs
ZWN0b3Iod2ViUHJvY2Vzc1BsdWdJbkJyb3dzZXJDb250ZXh0Q29udHJvbGxlcjpkaWRIYW5kbGVP
bmxvYWRFdmVudHNGb3JGcmFtZTopXSkKLSAgICAgICAgW2xvYWREZWxlZ2F0ZSB3ZWJQcm9jZXNz
UGx1Z0luQnJvd3NlckNvbnRleHRDb250cm9sbGVyOnBsdWdpbkNvbnRleHRDb250cm9sbGVyIGRp
ZEhhbmRsZU9ubG9hZEV2ZW50c0ZvckZyYW1lOndyYXBwZXIoKnRvSW1wbChmcmFtZSkpXTsKKyAg
ICAgICAgW2xvYWREZWxlZ2F0ZSB3ZWJQcm9jZXNzUGx1Z0luQnJvd3NlckNvbnRleHRDb250cm9s
bGVyOnBsdWdpbkNvbnRleHRDb250cm9sbGVyIGRpZEhhbmRsZU9ubG9hZEV2ZW50c0ZvckZyYW1l
OndyYXBwZXIoKldlYktpdDo6dG9JbXBsKGZyYW1lKSldOwogfQogCiBzdGF0aWMgV0tTdHJpbmdS
ZWYgdXNlckFnZW50Rm9yVVJMKFdLQnVuZGxlRnJhbWVSZWYgZnJhbWUsIFdLVVJMUmVmIHVybCwg
Y29uc3Qgdm9pZCogY2xpZW50SW5mbykKQEAgLTIxOSw4ICsyMTYsOCBAQCBzdGF0aWMgV0tTdHJp
bmdSZWYgdXNlckFnZW50Rm9yVVJMKFdLQnVuZGxlRnJhbWVSZWYgZnJhbWUsIFdLVVJMUmVmIHVy
bCwgY29uc3QgdgogICAgIGF1dG8gbG9hZERlbGVnYXRlID0gcGx1Z2luQ29udGV4dENvbnRyb2xs
ZXItPl9sb2FkRGVsZWdhdGUuZ2V0KCk7CiAgICAgCiAgICAgaWYgKFtsb2FkRGVsZWdhdGUgcmVz
cG9uZHNUb1NlbGVjdG9yOkBzZWxlY3Rvcih3ZWJQcm9jZXNzUGx1Z0luQnJvd3NlckNvbnRleHRD
b250cm9sbGVyOmZyYW1lOnVzZXJBZ2VudEZvclVSTDopXSkgewotICAgICAgICBXS1dlYlByb2Nl
c3NQbHVnSW5GcmFtZSAqbmV3RnJhbWUgPSB3cmFwcGVyKCp0b0ltcGwoZnJhbWUpKTsKLSAgICAg
ICAgTlNTdHJpbmcgKnN0cmluZyA9IFtsb2FkRGVsZWdhdGUgd2ViUHJvY2Vzc1BsdWdJbkJyb3dz
ZXJDb250ZXh0Q29udHJvbGxlcjpwbHVnaW5Db250ZXh0Q29udHJvbGxlciBmcmFtZTpuZXdGcmFt
ZSB1c2VyQWdlbnRGb3JVUkw6d3JhcHBlcigqdG9JbXBsKHVybCkpXTsKKyAgICAgICAgV0tXZWJQ
cm9jZXNzUGx1Z0luRnJhbWUgKm5ld0ZyYW1lID0gd3JhcHBlcigqV2ViS2l0Ojp0b0ltcGwoZnJh
bWUpKTsKKyAgICAgICAgTlNTdHJpbmcgKnN0cmluZyA9IFtsb2FkRGVsZWdhdGUgd2ViUHJvY2Vz
c1BsdWdJbkJyb3dzZXJDb250ZXh0Q29udHJvbGxlcjpwbHVnaW5Db250ZXh0Q29udHJvbGxlciBm
cmFtZTpuZXdGcmFtZSB1c2VyQWdlbnRGb3JVUkw6d3JhcHBlcigqV2ViS2l0Ojp0b0ltcGwodXJs
KSldOwogICAgICAgICBpZiAoIXN0cmluZykKICAgICAgICAgICAgIHJldHVybiBudWxscHRyOwog
CkBAIC0yMzAsNyArMjI3LDcgQEAgc3RhdGljIFdLU3RyaW5nUmVmIHVzZXJBZ2VudEZvclVSTChX
S0J1bmRsZUZyYW1lUmVmIGZyYW1lLCBXS1VSTFJlZiB1cmwsIGNvbnN0IHYKICAgICByZXR1cm4g
bnVsbHB0cjsKIH0KIAotc3RhdGljIHZvaWQgc2V0VXBQYWdlTG9hZGVyQ2xpZW50KFdLV2ViUHJv
Y2Vzc1BsdWdJbkJyb3dzZXJDb250ZXh0Q29udHJvbGxlciAqY29udGV4dENvbnRyb2xsZXIsIFdl
YlBhZ2UmIHBhZ2UpCitzdGF0aWMgdm9pZCBzZXRVcFBhZ2VMb2FkZXJDbGllbnQoV0tXZWJQcm9j
ZXNzUGx1Z0luQnJvd3NlckNvbnRleHRDb250cm9sbGVyICpjb250ZXh0Q29udHJvbGxlciwgV2Vi
S2l0OjpXZWJQYWdlJiBwYWdlKQogewogICAgIFdLQnVuZGxlUGFnZUxvYWRlckNsaWVudFY5IGNs
aWVudDsKICAgICBtZW1zZXQoJmNsaWVudCwgMCwgc2l6ZW9mKGNsaWVudCkpOwpAQCAtMjYzLDE2
ICsyNjAsMTYgQEAgc3RhdGljIFdLVVJMUmVxdWVzdFJlZiB3aWxsU2VuZFJlcXVlc3RGb3JGcmFt
ZShXS0J1bmRsZVBhZ2VSZWYsIFdLQnVuZGxlRnJhbWVSZWYKICAgICBhdXRvIGxvYWREZWxlZ2F0
ZSA9IHBsdWdpbkNvbnRleHRDb250cm9sbGVyLT5fbG9hZERlbGVnYXRlLmdldCgpOwogCiAgICAg
aWYgKFtsb2FkRGVsZWdhdGUgcmVzcG9uZHNUb1NlbGVjdG9yOkBzZWxlY3Rvcih3ZWJQcm9jZXNz
UGx1Z0luQnJvd3NlckNvbnRleHRDb250cm9sbGVyOmZyYW1lOndpbGxTZW5kUmVxdWVzdEZvclJl
c291cmNlOnJlcXVlc3Q6cmVkaXJlY3RSZXNwb25zZTopXSkgewotICAgICAgICBOU1VSTFJlcXVl
c3QgKm9yaWdpbmFsUmVxdWVzdCA9IHdyYXBwZXIoKnRvSW1wbChyZXF1ZXN0KSk7Ci0gICAgICAg
IFJldGFpblB0cjxOU1VSTFJlcXVlc3Q+IHN1YnN0aXR1dGVSZXF1ZXN0ID0gW2xvYWREZWxlZ2F0
ZSB3ZWJQcm9jZXNzUGx1Z0luQnJvd3NlckNvbnRleHRDb250cm9sbGVyOnBsdWdpbkNvbnRleHRD
b250cm9sbGVyIGZyYW1lOndyYXBwZXIoKnRvSW1wbChmcmFtZSkpIHdpbGxTZW5kUmVxdWVzdEZv
clJlc291cmNlOnJlc291cmNlSWRlbnRpZmllcgotICAgICAgICAgICAgcmVxdWVzdDpvcmlnaW5h
bFJlcXVlc3QgcmVkaXJlY3RSZXNwb25zZTp0b0ltcGwocmVkaXJlY3RSZXNwb25zZSktPnJlc291
cmNlUmVzcG9uc2UoKS5uc1VSTFJlc3BvbnNlKCldOworICAgICAgICBOU1VSTFJlcXVlc3QgKm9y
aWdpbmFsUmVxdWVzdCA9IHdyYXBwZXIoKldlYktpdDo6dG9JbXBsKHJlcXVlc3QpKTsKKyAgICAg
ICAgUmV0YWluUHRyPE5TVVJMUmVxdWVzdD4gc3Vic3RpdHV0ZVJlcXVlc3QgPSBbbG9hZERlbGVn
YXRlIHdlYlByb2Nlc3NQbHVnSW5Ccm93c2VyQ29udGV4dENvbnRyb2xsZXI6cGx1Z2luQ29udGV4
dENvbnRyb2xsZXIgZnJhbWU6d3JhcHBlcigqV2ViS2l0Ojp0b0ltcGwoZnJhbWUpKSB3aWxsU2Vu
ZFJlcXVlc3RGb3JSZXNvdXJjZTpyZXNvdXJjZUlkZW50aWZpZXIKKyAgICAgICAgICAgIHJlcXVl
c3Q6b3JpZ2luYWxSZXF1ZXN0IHJlZGlyZWN0UmVzcG9uc2U6V2ViS2l0Ojp0b0ltcGwocmVkaXJl
Y3RSZXNwb25zZSktPnJlc291cmNlUmVzcG9uc2UoKS5uc1VSTFJlc3BvbnNlKCldOwogCiAgICAg
ICAgIGlmIChzdWJzdGl0dXRlUmVxdWVzdCAhPSBvcmlnaW5hbFJlcXVlc3QpCiAgICAgICAgICAg
ICByZXR1cm4gc3Vic3RpdHV0ZVJlcXVlc3QgPyBXS1VSTFJlcXVlc3RDcmVhdGVXaXRoTlNVUkxS
ZXF1ZXN0KHN1YnN0aXR1dGVSZXF1ZXN0LmdldCgpKSA6IG51bGxwdHI7CiAgICAgfSBlbHNlIGlm
IChbbG9hZERlbGVnYXRlIHJlc3BvbmRzVG9TZWxlY3RvcjpAc2VsZWN0b3Iod2ViUHJvY2Vzc1Bs
dWdJbkJyb3dzZXJDb250ZXh0Q29udHJvbGxlcjpmcmFtZTp3aWxsU2VuZFJlcXVlc3Q6cmVkaXJl
Y3RSZXNwb25zZTopXSkgewotICAgICAgICBOU1VSTFJlcXVlc3QgKm9yaWdpbmFsUmVxdWVzdCA9
IHdyYXBwZXIoKnRvSW1wbChyZXF1ZXN0KSk7Ci0gICAgICAgIFJldGFpblB0cjxOU1VSTFJlcXVl
c3Q+IHN1YnN0aXR1dGVSZXF1ZXN0ID0gW2xvYWREZWxlZ2F0ZSB3ZWJQcm9jZXNzUGx1Z0luQnJv
d3NlckNvbnRleHRDb250cm9sbGVyOnBsdWdpbkNvbnRleHRDb250cm9sbGVyIGZyYW1lOndyYXBw
ZXIoKnRvSW1wbChmcmFtZSkpIHdpbGxTZW5kUmVxdWVzdDpvcmlnaW5hbFJlcXVlc3QKLSAgICAg
ICAgICAgIHJlZGlyZWN0UmVzcG9uc2U6dG9JbXBsKHJlZGlyZWN0UmVzcG9uc2UpLT5yZXNvdXJj
ZVJlc3BvbnNlKCkubnNVUkxSZXNwb25zZSgpXTsKKyAgICAgICAgTlNVUkxSZXF1ZXN0ICpvcmln
aW5hbFJlcXVlc3QgPSB3cmFwcGVyKCpXZWJLaXQ6OnRvSW1wbChyZXF1ZXN0KSk7CisgICAgICAg
IFJldGFpblB0cjxOU1VSTFJlcXVlc3Q+IHN1YnN0aXR1dGVSZXF1ZXN0ID0gW2xvYWREZWxlZ2F0
ZSB3ZWJQcm9jZXNzUGx1Z0luQnJvd3NlckNvbnRleHRDb250cm9sbGVyOnBsdWdpbkNvbnRleHRD
b250cm9sbGVyIGZyYW1lOndyYXBwZXIoKldlYktpdDo6dG9JbXBsKGZyYW1lKSkgd2lsbFNlbmRS
ZXF1ZXN0Om9yaWdpbmFsUmVxdWVzdAorICAgICAgICAgICAgcmVkaXJlY3RSZXNwb25zZTpXZWJL
aXQ6OnRvSW1wbChyZWRpcmVjdFJlc3BvbnNlKS0+cmVzb3VyY2VSZXNwb25zZSgpLm5zVVJMUmVz
cG9uc2UoKV07CiAKICAgICAgICAgaWYgKHN1YnN0aXR1dGVSZXF1ZXN0ICE9IG9yaWdpbmFsUmVx
dWVzdCkKICAgICAgICAgICAgIHJldHVybiBzdWJzdGl0dXRlUmVxdWVzdCA/IFdLVVJMUmVxdWVz
dENyZWF0ZVdpdGhOU1VSTFJlcXVlc3Qoc3Vic3RpdHV0ZVJlcXVlc3QuZ2V0KCkpIDogbnVsbHB0
cjsKQEAgLTI4OCwxMCArMjg1LDEwIEBAIHN0YXRpYyB2b2lkIGRpZEluaXRpYXRlTG9hZEZvclJl
c291cmNlKFdLQnVuZGxlUGFnZVJlZiwgV0tCdW5kbGVGcmFtZVJlZiBmcmFtZSwKICAgICBhdXRv
IGxvYWREZWxlZ2F0ZSA9IHBsdWdpbkNvbnRleHRDb250cm9sbGVyLT5fbG9hZERlbGVnYXRlLmdl
dCgpOwogCiAgICAgaWYgKFtsb2FkRGVsZWdhdGUgcmVzcG9uZHNUb1NlbGVjdG9yOkBzZWxlY3Rv
cih3ZWJQcm9jZXNzUGx1Z0luQnJvd3NlckNvbnRleHRDb250cm9sbGVyOmZyYW1lOmRpZEluaXRp
YXRlTG9hZEZvclJlc291cmNlOnJlcXVlc3Q6cGFnZUlzUHJvdmlzaW9uYWxseUxvYWRpbmc6KV0p
IHsKLSAgICAgICAgW2xvYWREZWxlZ2F0ZSB3ZWJQcm9jZXNzUGx1Z0luQnJvd3NlckNvbnRleHRD
b250cm9sbGVyOnBsdWdpbkNvbnRleHRDb250cm9sbGVyIGZyYW1lOndyYXBwZXIoKnRvSW1wbChm
cmFtZSkpIGRpZEluaXRpYXRlTG9hZEZvclJlc291cmNlOnJlc291cmNlSWRlbnRpZmllciByZXF1
ZXN0OndyYXBwZXIoKnRvSW1wbChyZXF1ZXN0KSkKKyAgICAgICAgW2xvYWREZWxlZ2F0ZSB3ZWJQ
cm9jZXNzUGx1Z0luQnJvd3NlckNvbnRleHRDb250cm9sbGVyOnBsdWdpbkNvbnRleHRDb250cm9s
bGVyIGZyYW1lOndyYXBwZXIoKldlYktpdDo6dG9JbXBsKGZyYW1lKSkgZGlkSW5pdGlhdGVMb2Fk
Rm9yUmVzb3VyY2U6cmVzb3VyY2VJZGVudGlmaWVyIHJlcXVlc3Q6d3JhcHBlcigqV2ViS2l0Ojp0
b0ltcGwocmVxdWVzdCkpCiAgICAgICAgICAgICBwYWdlSXNQcm92aXNpb25hbGx5TG9hZGluZzpw
YWdlSXNQcm92aXNpb25hbGx5TG9hZGluZ107CiAgICAgfSBlbHNlIGlmIChbbG9hZERlbGVnYXRl
IHJlc3BvbmRzVG9TZWxlY3RvcjpAc2VsZWN0b3Iod2ViUHJvY2Vzc1BsdWdJbkJyb3dzZXJDb250
ZXh0Q29udHJvbGxlcjpmcmFtZTpkaWRJbml0aWF0ZUxvYWRGb3JSZXNvdXJjZTpyZXF1ZXN0Oild
KSB7Ci0gICAgICAgIFtsb2FkRGVsZWdhdGUgd2ViUHJvY2Vzc1BsdWdJbkJyb3dzZXJDb250ZXh0
Q29udHJvbGxlcjpwbHVnaW5Db250ZXh0Q29udHJvbGxlciBmcmFtZTp3cmFwcGVyKCp0b0ltcGwo
ZnJhbWUpKSBkaWRJbml0aWF0ZUxvYWRGb3JSZXNvdXJjZTpyZXNvdXJjZUlkZW50aWZpZXIgcmVx
dWVzdDp3cmFwcGVyKCp0b0ltcGwocmVxdWVzdCkpXTsKKyAgICAgICAgW2xvYWREZWxlZ2F0ZSB3
ZWJQcm9jZXNzUGx1Z0luQnJvd3NlckNvbnRleHRDb250cm9sbGVyOnBsdWdpbkNvbnRleHRDb250
cm9sbGVyIGZyYW1lOndyYXBwZXIoKldlYktpdDo6dG9JbXBsKGZyYW1lKSkgZGlkSW5pdGlhdGVM
b2FkRm9yUmVzb3VyY2U6cmVzb3VyY2VJZGVudGlmaWVyIHJlcXVlc3Q6d3JhcHBlcigqV2ViS2l0
Ojp0b0ltcGwocmVxdWVzdCkpXTsKICAgICB9CiB9CiAKQEAgLTMwMSw5ICsyOTgsNyBAQCBzdGF0
aWMgdm9pZCBkaWRGaW5pc2hMb2FkRm9yUmVzb3VyY2UoV0tCdW5kbGVQYWdlUmVmLCBXS0J1bmRs
ZUZyYW1lUmVmIGZyYW1lLCB1aQogICAgIGF1dG8gbG9hZERlbGVnYXRlID0gcGx1Z2luQ29udGV4
dENvbnRyb2xsZXItPl9sb2FkRGVsZWdhdGUuZ2V0KCk7CiAKICAgICBpZiAoW2xvYWREZWxlZ2F0
ZSByZXNwb25kc1RvU2VsZWN0b3I6QHNlbGVjdG9yKHdlYlByb2Nlc3NQbHVnSW5Ccm93c2VyQ29u
dGV4dENvbnRyb2xsZXI6ZnJhbWU6ZGlkRmluaXNoTG9hZEZvclJlc291cmNlOildKSB7Ci0gICAg
ICAgIFtsb2FkRGVsZWdhdGUgd2ViUHJvY2Vzc1BsdWdJbkJyb3dzZXJDb250ZXh0Q29udHJvbGxl
cjpwbHVnaW5Db250ZXh0Q29udHJvbGxlcgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgZnJhbWU6d3JhcHBlcigqdG9JbXBsKGZyYW1lKSkK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGlkRmluaXNoTG9hZEZvclJl
c291cmNlOnJlc291cmNlSWRlbnRpZmllcl07CisgICAgICAgIFtsb2FkRGVsZWdhdGUgd2ViUHJv
Y2Vzc1BsdWdJbkJyb3dzZXJDb250ZXh0Q29udHJvbGxlcjpwbHVnaW5Db250ZXh0Q29udHJvbGxl
ciBmcmFtZTp3cmFwcGVyKCpXZWJLaXQ6OnRvSW1wbChmcmFtZSkpIGRpZEZpbmlzaExvYWRGb3JS
ZXNvdXJjZTpyZXNvdXJjZUlkZW50aWZpZXJdOwogICAgIH0KIH0KIApAQCAtMzEzLDE0ICszMDgs
MTEgQEAgc3RhdGljIHZvaWQgZGlkRmFpbExvYWRGb3JSZXNvdXJjZShXS0J1bmRsZVBhZ2VSZWYs
IFdLQnVuZGxlRnJhbWVSZWYgZnJhbWUsIHVpbnQKICAgICBhdXRvIGxvYWREZWxlZ2F0ZSA9IHBs
dWdpbkNvbnRleHRDb250cm9sbGVyLT5fbG9hZERlbGVnYXRlLmdldCgpOwogCiAgICAgaWYgKFts
b2FkRGVsZWdhdGUgcmVzcG9uZHNUb1NlbGVjdG9yOkBzZWxlY3Rvcih3ZWJQcm9jZXNzUGx1Z0lu
QnJvd3NlckNvbnRleHRDb250cm9sbGVyOmZyYW1lOmRpZEZhaWxMb2FkRm9yUmVzb3VyY2U6ZXJy
b3I6KV0pIHsKLSAgICAgICAgW2xvYWREZWxlZ2F0ZSB3ZWJQcm9jZXNzUGx1Z0luQnJvd3NlckNv
bnRleHRDb250cm9sbGVyOnBsdWdpbkNvbnRleHRDb250cm9sbGVyCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmcmFtZTp3cmFwcGVyKCp0
b0ltcGwoZnJhbWUpKQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRp
ZEZhaWxMb2FkRm9yUmVzb3VyY2U6cmVzb3VyY2VJZGVudGlmaWVyCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlcnJvcjp3cmFwcGVyKCp0
b0ltcGwoZXJyb3IpKV07CisgICAgICAgIFtsb2FkRGVsZWdhdGUgd2ViUHJvY2Vzc1BsdWdJbkJy
b3dzZXJDb250ZXh0Q29udHJvbGxlcjpwbHVnaW5Db250ZXh0Q29udHJvbGxlciBmcmFtZTp3cmFw
cGVyKCpXZWJLaXQ6OnRvSW1wbChmcmFtZSkpIGRpZEZhaWxMb2FkRm9yUmVzb3VyY2U6cmVzb3Vy
Y2VJZGVudGlmaWVyIGVycm9yOndyYXBwZXIoKldlYktpdDo6dG9JbXBsKGVycm9yKSldOwogICAg
IH0KIH0KIAotc3RhdGljIHZvaWQgc2V0VXBSZXNvdXJjZUxvYWRDbGllbnQoV0tXZWJQcm9jZXNz
UGx1Z0luQnJvd3NlckNvbnRleHRDb250cm9sbGVyICpjb250ZXh0Q29udHJvbGxlciwgV2ViUGFn
ZSYgcGFnZSkKK3N0YXRpYyB2b2lkIHNldFVwUmVzb3VyY2VMb2FkQ2xpZW50KFdLV2ViUHJvY2Vz
c1BsdWdJbkJyb3dzZXJDb250ZXh0Q29udHJvbGxlciAqY29udGV4dENvbnRyb2xsZXIsIFdlYktp
dDo6V2ViUGFnZSYgcGFnZSkKIHsKICAgICBXS0J1bmRsZVBhZ2VSZXNvdXJjZUxvYWRDbGllbnRW
MSBjbGllbnQ7CiAgICAgbWVtc2V0KCZjbGllbnQsIDAsIHNpemVvZihjbGllbnQpKTsKQEAgLTM1
Niw3ICszNDgsNyBAQCBzdGF0aWMgdm9pZCBzZXRVcFJlc291cmNlTG9hZENsaWVudChXS1dlYlBy
b2Nlc3NQbHVnSW5Ccm93c2VyQ29udGV4dENvbnRyb2xsZXIgKgogLSAodm9pZClkZWFsbG9jCiB7
CiAgICAgaWYgKF9yZW1vdGVPYmplY3RSZWdpc3RyeSkgewotICAgICAgICBXZWJQcm9jZXNzOjpz
aW5nbGV0b24oKS5yZW1vdmVNZXNzYWdlUmVjZWl2ZXIoTWVzc2FnZXM6OlJlbW90ZU9iamVjdFJl
Z2lzdHJ5OjptZXNzYWdlUmVjZWl2ZXJOYW1lKCksIF9wYWdlLT5wYWdlSUQoKSk7CisgICAgICAg
IFdlYktpdDo6V2ViUHJvY2Vzczo6c2luZ2xldG9uKCkucmVtb3ZlTWVzc2FnZVJlY2VpdmVyKE1l
c3NhZ2VzOjpSZW1vdGVPYmplY3RSZWdpc3RyeTo6bWVzc2FnZVJlY2VpdmVyTmFtZSgpLCBfcGFn
ZS0+cGFnZUlEKCkpOwogICAgICAgICBbX3JlbW90ZU9iamVjdFJlZ2lzdHJ5IF9pbnZhbGlkYXRl
XTsKICAgICB9CiAKQEAgLTM2NywyMCArMzU5LDIwIEBAIHN0YXRpYyB2b2lkIHNldFVwUmVzb3Vy
Y2VMb2FkQ2xpZW50KFdLV2ViUHJvY2Vzc1BsdWdJbkJyb3dzZXJDb250ZXh0Q29udHJvbGxlciAq
CiAKIC0gKFdLRE9NRG9jdW1lbnQgKiltYWluRnJhbWVEb2N1bWVudAogewotICAgIEZyYW1lKiB3
ZWJDb3JlTWFpbkZyYW1lID0gX3BhZ2UtPm1haW5GcmFtZSgpOworICAgIFdlYkNvcmU6OkZyYW1l
KiB3ZWJDb3JlTWFpbkZyYW1lID0gX3BhZ2UtPm1haW5GcmFtZSgpOwogICAgIGlmICghd2ViQ29y
ZU1haW5GcmFtZSkKICAgICAgICAgcmV0dXJuIG5pbDsKIAotICAgIHJldHVybiB0b1dLRE9NRG9j
dW1lbnQod2ViQ29yZU1haW5GcmFtZS0+ZG9jdW1lbnQoKSk7CisgICAgcmV0dXJuIFdlYktpdDo6
dG9XS0RPTURvY3VtZW50KHdlYkNvcmVNYWluRnJhbWUtPmRvY3VtZW50KCkpOwogfQogCiAtIChX
S0RPTVJhbmdlICopc2VsZWN0ZWRSYW5nZQogewotICAgIFJlZlB0cjxSYW5nZT4gcmFuZ2UgPSBf
cGFnZS0+Y3VycmVudFNlbGVjdGlvbkFzUmFuZ2UoKTsKKyAgICBSZWZQdHI8V2ViQ29yZTo6UmFu
Z2U+IHJhbmdlID0gX3BhZ2UtPmN1cnJlbnRTZWxlY3Rpb25Bc1JhbmdlKCk7CiAgICAgaWYgKCFy
YW5nZSkKICAgICAgICAgcmV0dXJuIG5pbDsKIAotICAgIHJldHVybiB0b1dLRE9NUmFuZ2UocmFu
Z2UuZ2V0KCkpOworICAgIHJldHVybiBXZWJLaXQ6OnRvV0tET01SYW5nZShyYW5nZS5nZXQoKSk7
CiB9CiAKIC0gKFdLV2ViUHJvY2Vzc1BsdWdJbkZyYW1lICopbWFpbkZyYW1lCkBAIC00MTYsMTQg
KzQwOCwxNCBAQCBzdGF0aWMgdm9pZCBzZXRVcFJlc291cmNlTG9hZENsaWVudChXS1dlYlByb2Nl
c3NQbHVnSW5Ccm93c2VyQ29udGV4dENvbnRyb2xsZXIgKgogCiArIChpbnN0YW5jZXR5cGUpbG9v
a1VwQnJvd3NpbmdDb250ZXh0RnJvbUhhbmRsZTooV0tCcm93c2luZ0NvbnRleHRIYW5kbGUgKilo
YW5kbGUKIHsKLSAgICByZXR1cm4gd3JhcHBlcihXZWJQcm9jZXNzOjpzaW5nbGV0b24oKS53ZWJQ
YWdlKGhhbmRsZS5wYWdlSUQpKTsKKyAgICByZXR1cm4gd3JhcHBlcihXZWJLaXQ6OldlYlByb2Nl
c3M6OnNpbmdsZXRvbigpLndlYlBhZ2UoaGFuZGxlLnBhZ2VJRCkpOwogfQogCiAtIChfV0tSZW1v
dGVPYmplY3RSZWdpc3RyeSAqKV9yZW1vdGVPYmplY3RSZWdpc3RyeQogewogICAgIGlmICghX3Jl
bW90ZU9iamVjdFJlZ2lzdHJ5KSB7CiAgICAgICAgIF9yZW1vdGVPYmplY3RSZWdpc3RyeSA9IGFk
b3B0TlMoW1tfV0tSZW1vdGVPYmplY3RSZWdpc3RyeSBhbGxvY10gX2luaXRXaXRoV2ViUGFnZToq
X3BhZ2VdKTsKLSAgICAgICAgV2ViUHJvY2Vzczo6c2luZ2xldG9uKCkuYWRkTWVzc2FnZVJlY2Vp
dmVyKE1lc3NhZ2VzOjpSZW1vdGVPYmplY3RSZWdpc3RyeTo6bWVzc2FnZVJlY2VpdmVyTmFtZSgp
LCBfcGFnZS0+cGFnZUlEKCksIFtfcmVtb3RlT2JqZWN0UmVnaXN0cnkgcmVtb3RlT2JqZWN0UmVn
aXN0cnldKTsKKyAgICAgICAgV2ViS2l0OjpXZWJQcm9jZXNzOjpzaW5nbGV0b24oKS5hZGRNZXNz
YWdlUmVjZWl2ZXIoTWVzc2FnZXM6OlJlbW90ZU9iamVjdFJlZ2lzdHJ5OjptZXNzYWdlUmVjZWl2
ZXJOYW1lKCksIF9wYWdlLT5wYWdlSUQoKSwgW19yZW1vdGVPYmplY3RSZWdpc3RyeSByZW1vdGVP
YmplY3RSZWdpc3RyeV0pOwogICAgIH0KIAogICAgIHJldHVybiBfcmVtb3RlT2JqZWN0UmVnaXN0
cnkuZ2V0KCk7CkBAIC00NDcsMTUgKzQzOSwxNSBAQCBzdGF0aWMgdm9pZCBzZXRVcFJlc291cmNl
TG9hZENsaWVudChXS1dlYlByb2Nlc3NQbHVnSW5Ccm93c2VyQ29udGV4dENvbnRyb2xsZXIgKgog
CiAgICAgICAgIHZpcnR1YWwgfkZvcm1DbGllbnQoKSB7IH0KIAotICAgICAgICB2b2lkIGRpZEZv
Y3VzVGV4dEZpZWxkKFdlYlBhZ2UqLCBIVE1MSW5wdXRFbGVtZW50KiBpbnB1dEVsZW1lbnQsIFdl
YkZyYW1lKiBmcmFtZSkgb3ZlcnJpZGUKKyAgICAgICAgdm9pZCBkaWRGb2N1c1RleHRGaWVsZChX
ZWJLaXQ6OldlYlBhZ2UqLCBXZWJDb3JlOjpIVE1MSW5wdXRFbGVtZW50KiBpbnB1dEVsZW1lbnQs
IFdlYktpdDo6V2ViRnJhbWUqIGZyYW1lKSBvdmVycmlkZQogICAgICAgICB7CiAgICAgICAgICAg
ICBhdXRvIGZvcm1EZWxlZ2F0ZSA9IG1fY29udHJvbGxlci0+X2Zvcm1EZWxlZ2F0ZS5nZXQoKTsK
IAogICAgICAgICAgICAgaWYgKFtmb3JtRGVsZWdhdGUgcmVzcG9uZHNUb1NlbGVjdG9yOkBzZWxl
Y3Rvcihfd2ViUHJvY2Vzc1BsdWdJbkJyb3dzZXJDb250ZXh0Q29udHJvbGxlcjpkaWRGb2N1c1Rl
eHRGaWVsZDppbkZyYW1lOildKQotICAgICAgICAgICAgICAgIFtmb3JtRGVsZWdhdGUgX3dlYlBy
b2Nlc3NQbHVnSW5Ccm93c2VyQ29udGV4dENvbnRyb2xsZXI6bV9jb250cm9sbGVyIGRpZEZvY3Vz
VGV4dEZpZWxkOndyYXBwZXIoKkluamVjdGVkQnVuZGxlTm9kZUhhbmRsZTo6Z2V0T3JDcmVhdGUo
aW5wdXRFbGVtZW50KS5nZXQoKSkgaW5GcmFtZTp3cmFwcGVyKCpmcmFtZSldOworICAgICAgICAg
ICAgICAgIFtmb3JtRGVsZWdhdGUgX3dlYlByb2Nlc3NQbHVnSW5Ccm93c2VyQ29udGV4dENvbnRy
b2xsZXI6bV9jb250cm9sbGVyIGRpZEZvY3VzVGV4dEZpZWxkOndyYXBwZXIoKldlYktpdDo6SW5q
ZWN0ZWRCdW5kbGVOb2RlSGFuZGxlOjpnZXRPckNyZWF0ZShpbnB1dEVsZW1lbnQpLmdldCgpKSBp
bkZyYW1lOndyYXBwZXIoKmZyYW1lKV07CiAgICAgICAgIH0KIAotICAgICAgICB2b2lkIHdpbGxT
ZW5kU3VibWl0RXZlbnQoV2ViUGFnZSosIEhUTUxGb3JtRWxlbWVudCogZm9ybUVsZW1lbnQsIFdl
YkZyYW1lKiB0YXJnZXRGcmFtZSwgV2ViRnJhbWUqIHNvdXJjZUZyYW1lLCBjb25zdCBWZWN0b3I8
c3RkOjpwYWlyPFN0cmluZywgU3RyaW5nPj4mIHZhbHVlcykgb3ZlcnJpZGUKKyAgICAgICAgdm9p
ZCB3aWxsU2VuZFN1Ym1pdEV2ZW50KFdlYktpdDo6V2ViUGFnZSosIFdlYkNvcmU6OkhUTUxGb3Jt
RWxlbWVudCogZm9ybUVsZW1lbnQsIFdlYktpdDo6V2ViRnJhbWUqIHRhcmdldEZyYW1lLCBXZWJL
aXQ6OldlYkZyYW1lKiBzb3VyY2VGcmFtZSwgY29uc3QgVmVjdG9yPHN0ZDo6cGFpcjxTdHJpbmcs
IFN0cmluZz4+JiB2YWx1ZXMpIG92ZXJyaWRlCiAgICAgICAgIHsKICAgICAgICAgICAgIGF1dG8g
Zm9ybURlbGVnYXRlID0gbV9jb250cm9sbGVyLT5fZm9ybURlbGVnYXRlLmdldCgpOwogCkBAIC00
NjQsNyArNDU2LDcgQEAgc3RhdGljIHZvaWQgc2V0VXBSZXNvdXJjZUxvYWRDbGllbnQoV0tXZWJQ
cm9jZXNzUGx1Z0luQnJvd3NlckNvbnRleHRDb250cm9sbGVyICoKICAgICAgICAgICAgICAgICBm
b3IgKGNvbnN0IGF1dG8mIHBhaXIgOiB2YWx1ZXMpCiAgICAgICAgICAgICAgICAgICAgIFt2YWx1
ZU1hcCBzZXRPYmplY3Q6cGFpci5zZWNvbmQgZm9yS2V5OnBhaXIuZmlyc3RdOwogCi0gICAgICAg
ICAgICAgICAgW2Zvcm1EZWxlZ2F0ZSBfd2ViUHJvY2Vzc1BsdWdJbkJyb3dzZXJDb250ZXh0Q29u
dHJvbGxlcjptX2NvbnRyb2xsZXIgd2lsbFNlbmRTdWJtaXRFdmVudFRvRm9ybTp3cmFwcGVyKCpJ
bmplY3RlZEJ1bmRsZU5vZGVIYW5kbGU6OmdldE9yQ3JlYXRlKGZvcm1FbGVtZW50KS5nZXQoKSkK
KyAgICAgICAgICAgICAgICBbZm9ybURlbGVnYXRlIF93ZWJQcm9jZXNzUGx1Z0luQnJvd3NlckNv
bnRleHRDb250cm9sbGVyOm1fY29udHJvbGxlciB3aWxsU2VuZFN1Ym1pdEV2ZW50VG9Gb3JtOndy
YXBwZXIoKldlYktpdDo6SW5qZWN0ZWRCdW5kbGVOb2RlSGFuZGxlOjpnZXRPckNyZWF0ZShmb3Jt
RWxlbWVudCkuZ2V0KCkpCiAgICAgICAgICAgICAgICAgICAgIGluRnJhbWU6d3JhcHBlcigqc291
cmNlRnJhbWUpIHRhcmdldEZyYW1lOndyYXBwZXIoKnRhcmdldEZyYW1lKSB2YWx1ZXM6dmFsdWVN
YXAuZ2V0KCldOwogICAgICAgICAgICAgfQogICAgICAgICB9CkBAIC00ODYsNyArNDc4LDcgQEAg
c3RhdGljIHZvaWQgc2V0VXBSZXNvdXJjZUxvYWRDbGllbnQoV0tXZWJQcm9jZXNzUGx1Z0luQnJv
d3NlckNvbnRleHRDb250cm9sbGVyICoKICAgICAgICAgICAgIHVzZXJEYXRhID0gQVBJOjpEYXRh
OjpjcmVhdGVXaXRob3V0Q29weWluZyhhcmNoaXZlci5nZXQoKS5lbmNvZGVkRGF0YSk7CiAgICAg
ICAgIH0KIAotICAgICAgICB2b2lkIHdpbGxTdWJtaXRGb3JtKFdlYlBhZ2UqLCBIVE1MRm9ybUVs
ZW1lbnQqIGZvcm1FbGVtZW50LCBXZWJGcmFtZSogZnJhbWUsIFdlYkZyYW1lKiBzb3VyY2VGcmFt
ZSwgY29uc3QgVmVjdG9yPHN0ZDo6cGFpcjxXVEY6OlN0cmluZywgV1RGOjpTdHJpbmc+PiYgdmFs
dWVzLCBSZWZQdHI8QVBJOjpPYmplY3Q+JiB1c2VyRGF0YSkgb3ZlcnJpZGUKKyAgICAgICAgdm9p
ZCB3aWxsU3VibWl0Rm9ybShXZWJLaXQ6OldlYlBhZ2UqLCBXZWJDb3JlOjpIVE1MRm9ybUVsZW1l
bnQqIGZvcm1FbGVtZW50LCBXZWJLaXQ6OldlYkZyYW1lKiBmcmFtZSwgV2ViS2l0OjpXZWJGcmFt
ZSogc291cmNlRnJhbWUsIGNvbnN0IFZlY3RvcjxzdGQ6OnBhaXI8V1RGOjpTdHJpbmcsIFdURjo6
U3RyaW5nPj4mIHZhbHVlcywgUmVmUHRyPEFQSTo6T2JqZWN0PiYgdXNlckRhdGEpIG92ZXJyaWRl
CiAgICAgICAgIHsKICAgICAgICAgICAgIGF1dG8gZm9ybURlbGVnYXRlID0gbV9jb250cm9sbGVy
LT5fZm9ybURlbGVnYXRlLmdldCgpOwogCkBAIC00OTUsMTIgKzQ4NywxMiBAQCBzdGF0aWMgdm9p
ZCBzZXRVcFJlc291cmNlTG9hZENsaWVudChXS1dlYlByb2Nlc3NQbHVnSW5Ccm93c2VyQ29udGV4
dENvbnRyb2xsZXIgKgogICAgICAgICAgICAgICAgIGZvciAoY29uc3QgYXV0byYgcGFpciA6IHZh
bHVlcykKICAgICAgICAgICAgICAgICAgICAgW3ZhbHVlTWFwIHNldE9iamVjdDpwYWlyLnNlY29u
ZCBmb3JLZXk6cGFpci5maXJzdF07CiAKLSAgICAgICAgICAgICAgICBOU09iamVjdCA8TlNTZWN1
cmVDb2Rpbmc+ICp1c2VyT2JqZWN0ID0gW2Zvcm1EZWxlZ2F0ZSBfd2ViUHJvY2Vzc1BsdWdJbkJy
b3dzZXJDb250ZXh0Q29udHJvbGxlcjptX2NvbnRyb2xsZXIgd2lsbFN1Ym1pdEZvcm06d3JhcHBl
cigqSW5qZWN0ZWRCdW5kbGVOb2RlSGFuZGxlOjpnZXRPckNyZWF0ZShmb3JtRWxlbWVudCkuZ2V0
KCkpIHRvRnJhbWU6d3JhcHBlcigqZnJhbWUpIGZyb21GcmFtZTp3cmFwcGVyKCpzb3VyY2VGcmFt
ZSkgd2l0aFZhbHVlczp2YWx1ZU1hcC5nZXQoKV07CisgICAgICAgICAgICAgICAgTlNPYmplY3Qg
PE5TU2VjdXJlQ29kaW5nPiAqdXNlck9iamVjdCA9IFtmb3JtRGVsZWdhdGUgX3dlYlByb2Nlc3NQ
bHVnSW5Ccm93c2VyQ29udGV4dENvbnRyb2xsZXI6bV9jb250cm9sbGVyIHdpbGxTdWJtaXRGb3Jt
OndyYXBwZXIoKldlYktpdDo6SW5qZWN0ZWRCdW5kbGVOb2RlSGFuZGxlOjpnZXRPckNyZWF0ZShm
b3JtRWxlbWVudCkuZ2V0KCkpIHRvRnJhbWU6d3JhcHBlcigqZnJhbWUpIGZyb21GcmFtZTp3cmFw
cGVyKCpzb3VyY2VGcmFtZSkgd2l0aFZhbHVlczp2YWx1ZU1hcC5nZXQoKV07CiAgICAgICAgICAg
ICAgICAgZW5jb2RlVXNlck9iamVjdCh1c2VyT2JqZWN0LCB1c2VyRGF0YSk7CiAgICAgICAgICAg
ICB9CiAgICAgICAgIH0KIAotICAgICAgICB2b2lkIHRleHREaWRDaGFuZ2VJblRleHRGaWVsZChX
ZWJQYWdlKiwgSFRNTElucHV0RWxlbWVudCogaW5wdXRFbGVtZW50LCBXZWJGcmFtZSogZnJhbWUs
IGJvb2wgaW5pdGlhdGVkQnlVc2VyVHlwaW5nKSBvdmVycmlkZQorICAgICAgICB2b2lkIHRleHRE
aWRDaGFuZ2VJblRleHRGaWVsZChXZWJLaXQ6OldlYlBhZ2UqLCBXZWJDb3JlOjpIVE1MSW5wdXRF
bGVtZW50KiBpbnB1dEVsZW1lbnQsIFdlYktpdDo6V2ViRnJhbWUqIGZyYW1lLCBib29sIGluaXRp
YXRlZEJ5VXNlclR5cGluZykgb3ZlcnJpZGUKICAgICAgICAgewogICAgICAgICAgICAgYXV0byBm
b3JtRGVsZWdhdGUgPSBtX2NvbnRyb2xsZXItPl9mb3JtRGVsZWdhdGUuZ2V0KCk7CiAKQEAgLTUw
OCw3ICs1MDAsNyBAQCBzdGF0aWMgdm9pZCBzZXRVcFJlc291cmNlTG9hZENsaWVudChXS1dlYlBy
b2Nlc3NQbHVnSW5Ccm93c2VyQ29udGV4dENvbnRyb2xsZXIgKgogICAgICAgICAgICAgICAgIFtm
b3JtRGVsZWdhdGUgX3dlYlByb2Nlc3NQbHVnSW5Ccm93c2VyQ29udGV4dENvbnRyb2xsZXI6bV9j
b250cm9sbGVyIHRleHREaWRDaGFuZ2VJblRleHRGaWVsZDp3cmFwcGVyKCpXZWJLaXQ6OkluamVj
dGVkQnVuZGxlTm9kZUhhbmRsZTo6Z2V0T3JDcmVhdGUoaW5wdXRFbGVtZW50KSkgaW5GcmFtZTp3
cmFwcGVyKCpmcmFtZSkgaW5pdGlhdGVkQnlVc2VyVHlwaW5nOmluaXRpYXRlZEJ5VXNlclR5cGlu
Z107CiAgICAgICAgIH0KIAotICAgICAgICB2b2lkIHdpbGxCZWdpbklucHV0U2Vzc2lvbihXZWJQ
YWdlKiwgRWxlbWVudCogZWxlbWVudCwgV2ViRnJhbWUqIGZyYW1lLCBib29sIHVzZXJJc0ludGVy
YWN0aW5nLCBSZWZQdHI8QVBJOjpPYmplY3Q+JiB1c2VyRGF0YSkgb3ZlcnJpZGUKKyAgICAgICAg
dm9pZCB3aWxsQmVnaW5JbnB1dFNlc3Npb24oV2ViS2l0OjpXZWJQYWdlKiwgV2ViQ29yZTo6RWxl
bWVudCogZWxlbWVudCwgV2ViS2l0OjpXZWJGcmFtZSogZnJhbWUsIGJvb2wgdXNlcklzSW50ZXJh
Y3RpbmcsIFJlZlB0cjxBUEk6Ok9iamVjdD4mIHVzZXJEYXRhKSBvdmVycmlkZQogICAgICAgICB7
CiAgICAgICAgICAgICBhdXRvIGZvcm1EZWxlZ2F0ZSA9IG1fY29udHJvbGxlci0+X2Zvcm1EZWxl
Z2F0ZS5nZXQoKTsKIApAQCAtNTYzLDE0ICs1NTUsMTQgQEAgc3RhdGljIHZvaWQgc2V0VXBSZXNv
dXJjZUxvYWRDbGllbnQoV0tXZWJQcm9jZXNzUGx1Z0luQnJvd3NlckNvbnRleHRDb250cm9sbGVy
ICoKICAgICByZXR1cm4gX2VkaXRpbmdEZWxlZ2F0ZS5nZXRBdXRvcmVsZWFzZWQoKTsKIH0KIAot
c3RhdGljIGlubGluZSBXS0VkaXRvckluc2VydEFjdGlvbiB0b1dLKEVkaXRvckluc2VydEFjdGlv
biBhY3Rpb24pCitzdGF0aWMgaW5saW5lIFdLRWRpdG9ySW5zZXJ0QWN0aW9uIHRvV0soV2ViQ29y
ZTo6RWRpdG9ySW5zZXJ0QWN0aW9uIGFjdGlvbikKIHsKICAgICBzd2l0Y2ggKGFjdGlvbikgewot
ICAgIGNhc2UgRWRpdG9ySW5zZXJ0QWN0aW9uOjpUeXBlZDoKKyAgICBjYXNlIFdlYkNvcmU6OkVk
aXRvckluc2VydEFjdGlvbjo6VHlwZWQ6CiAgICAgICAgIHJldHVybiBXS0VkaXRvckluc2VydEFj
dGlvblR5cGVkOwotICAgIGNhc2UgRWRpdG9ySW5zZXJ0QWN0aW9uOjpQYXN0ZWQ6CisgICAgY2Fz
ZSBXZWJDb3JlOjpFZGl0b3JJbnNlcnRBY3Rpb246OlBhc3RlZDoKICAgICAgICAgcmV0dXJuIFdL
RWRpdG9ySW5zZXJ0QWN0aW9uUGFzdGVkOwotICAgIGNhc2UgRWRpdG9ySW5zZXJ0QWN0aW9uOjpE
cm9wcGVkOgorICAgIGNhc2UgV2ViQ29yZTo6RWRpdG9ySW5zZXJ0QWN0aW9uOjpEcm9wcGVkOgog
ICAgICAgICByZXR1cm4gV0tFZGl0b3JJbnNlcnRBY3Rpb25Ecm9wcGVkOwogICAgIH0KIH0KQEAg
LTU4OCwxNSArNTgwLDE1IEBAIHN0YXRpYyBpbmxpbmUgV0tFZGl0b3JJbnNlcnRBY3Rpb24gdG9X
SyhFZGl0b3JJbnNlcnRBY3Rpb24gYWN0aW9uKQogICAgICAgICB9CiAKICAgICBwcml2YXRlOgot
ICAgICAgICBib29sIHNob3VsZEluc2VydFRleHQoV2ViUGFnZSYsIFN0cmluZ0ltcGwqIHRleHQs
IFJhbmdlKiByYW5nZVRvUmVwbGFjZSwgRWRpdG9ySW5zZXJ0QWN0aW9uIGFjdGlvbikgZmluYWwK
KyAgICAgICAgYm9vbCBzaG91bGRJbnNlcnRUZXh0KFdlYktpdDo6V2ViUGFnZSYsIFN0cmluZ0lt
cGwqIHRleHQsIFdlYkNvcmU6OlJhbmdlKiByYW5nZVRvUmVwbGFjZSwgV2ViQ29yZTo6RWRpdG9y
SW5zZXJ0QWN0aW9uIGFjdGlvbikgZmluYWwKICAgICAgICAgewogICAgICAgICAgICAgaWYgKCFt
X2RlbGVnYXRlTWV0aG9kcy5zaG91bGRJbnNlcnRUZXh0KQogICAgICAgICAgICAgICAgIHJldHVy
biB0cnVlOwogCi0gICAgICAgICAgICByZXR1cm4gW21fY29udHJvbGxlci0+X2VkaXRpbmdEZWxl
Z2F0ZS5nZXQoKSBfd2ViUHJvY2Vzc1BsdWdJbkJyb3dzZXJDb250ZXh0Q29udHJvbGxlcjptX2Nv
bnRyb2xsZXIgc2hvdWxkSW5zZXJ0VGV4dDpTdHJpbmcodGV4dCkgcmVwbGFjaW5nUmFuZ2U6d3Jh
cHBlcigqSW5qZWN0ZWRCdW5kbGVSYW5nZUhhbmRsZTo6Z2V0T3JDcmVhdGUocmFuZ2VUb1JlcGxh
Y2UpKSBnaXZlbkFjdGlvbjp0b1dLKGFjdGlvbildOworICAgICAgICAgICAgcmV0dXJuIFttX2Nv
bnRyb2xsZXItPl9lZGl0aW5nRGVsZWdhdGUuZ2V0KCkgX3dlYlByb2Nlc3NQbHVnSW5Ccm93c2Vy
Q29udGV4dENvbnRyb2xsZXI6bV9jb250cm9sbGVyIHNob3VsZEluc2VydFRleHQ6U3RyaW5nKHRl
eHQpIHJlcGxhY2luZ1JhbmdlOndyYXBwZXIoKldlYktpdDo6SW5qZWN0ZWRCdW5kbGVSYW5nZUhh
bmRsZTo6Z2V0T3JDcmVhdGUocmFuZ2VUb1JlcGxhY2UpKSBnaXZlbkFjdGlvbjp0b1dLKGFjdGlv
bildOwogICAgICAgICB9CiAKLSAgICAgICAgYm9vbCBzaG91bGRDaGFuZ2VTZWxlY3RlZFJhbmdl
KFdlYlBhZ2UmLCBSYW5nZSogZnJvbVJhbmdlLCBSYW5nZSogdG9SYW5nZSwgRUFmZmluaXR5IGFm
ZmluaXR5LCBib29sIHN0aWxsU2VsZWN0aW5nKSBmaW5hbAorICAgICAgICBib29sIHNob3VsZENo
YW5nZVNlbGVjdGVkUmFuZ2UoV2ViS2l0OjpXZWJQYWdlJiwgV2ViQ29yZTo6UmFuZ2UqIGZyb21S
YW5nZSwgV2ViQ29yZTo6UmFuZ2UqIHRvUmFuZ2UsIFdlYkNvcmU6OkVBZmZpbml0eSBhZmZpbml0
eSwgYm9vbCBzdGlsbFNlbGVjdGluZykgZmluYWwKICAgICAgICAgewogICAgICAgICAgICAgaWYg
KCFtX2RlbGVnYXRlTWV0aG9kcy5zaG91bGRDaGFuZ2VTZWxlY3RlZFJhbmdlKQogICAgICAgICAg
ICAgICAgIHJldHVybiB0cnVlOwpAQCAtNjA0LDkgKzU5Niw5IEBAIHN0YXRpYyBpbmxpbmUgV0tF
ZGl0b3JJbnNlcnRBY3Rpb24gdG9XSyhFZGl0b3JJbnNlcnRBY3Rpb24gYWN0aW9uKQogICAgICAg
ICAgICAgYXV0byBhcGlGcm9tUmFuZ2UgPSBmcm9tUmFuZ2UgPyBhZG9wdE5TKFtbV0tET01SYW5n
ZSBhbGxvY10gX2luaXRXaXRoSW1wbDpmcm9tUmFuZ2VdKSA6IG5pbDsKICAgICAgICAgICAgIGF1
dG8gYXBpVG9SYW5nZSA9IHRvUmFuZ2UgPyBhZG9wdE5TKFtbV0tET01SYW5nZSBhbGxvY10gX2lu
aXRXaXRoSW1wbDp0b1JhbmdlXSkgOiBuaWw7CiAjaWYgUExBVEZPUk0oSU9TKQotICAgICAgICAg
ICAgVUlUZXh0U3RvcmFnZURpcmVjdGlvbiBhcGlBZmZpbml0eSA9IGFmZmluaXR5ID09IFVQU1RS
RUFNID8gVUlUZXh0U3RvcmFnZURpcmVjdGlvbkJhY2t3YXJkIDogVUlUZXh0U3RvcmFnZURpcmVj
dGlvbkZvcndhcmQ7CisgICAgICAgICAgICBVSVRleHRTdG9yYWdlRGlyZWN0aW9uIGFwaUFmZmlu
aXR5ID0gYWZmaW5pdHkgPT0gV2ViQ29yZTo6VVBTVFJFQU0gPyBVSVRleHRTdG9yYWdlRGlyZWN0
aW9uQmFja3dhcmQgOiBVSVRleHRTdG9yYWdlRGlyZWN0aW9uRm9yd2FyZDsKICNlbHNlCi0gICAg
ICAgICAgICBOU1NlbGVjdGlvbkFmZmluaXR5IGFwaUFmZmluaXR5ID0gYWZmaW5pdHkgPT0gVVBT
VFJFQU0gPyBOU1NlbGVjdGlvbkFmZmluaXR5VXBzdHJlYW0gOiBOU1NlbGVjdGlvbkFmZmluaXR5
RG93bnN0cmVhbTsKKyAgICAgICAgICAgIE5TU2VsZWN0aW9uQWZmaW5pdHkgYXBpQWZmaW5pdHkg
PSBhZmZpbml0eSA9PSBXZWJDb3JlOjpVUFNUUkVBTSA/IE5TU2VsZWN0aW9uQWZmaW5pdHlVcHN0
cmVhbSA6IE5TU2VsZWN0aW9uQWZmaW5pdHlEb3duc3RyZWFtOwogI2VuZGlmCiAKICAgICAgICAg
ICAgIHJldHVybiBbbV9jb250cm9sbGVyLT5fZWRpdGluZ0RlbGVnYXRlLmdldCgpIF93ZWJQcm9j
ZXNzUGx1Z0luQnJvd3NlckNvbnRleHRDb250cm9sbGVyOm1fY29udHJvbGxlciBzaG91bGRDaGFu
Z2VTZWxlY3RlZFJhbmdlOmFwaUZyb21SYW5nZS5nZXQoKSB0b1JhbmdlOmFwaVRvUmFuZ2UuZ2V0
KCkgYWZmaW5pdHk6YXBpQWZmaW5pdHkgc3RpbGxTZWxlY3Rpbmc6c3RpbGxTZWxlY3RpbmddOwpA
QCAtNjI1LDcgKzYxNyw3IEBAIHN0YXRpYyBpbmxpbmUgV0tFZGl0b3JJbnNlcnRBY3Rpb24gdG9X
SyhFZGl0b3JJbnNlcnRBY3Rpb24gYWN0aW9uKQogICAgICAgICAgICAgaWYgKCFtX2RlbGVnYXRl
TWV0aG9kcy53aWxsV3JpdGVUb1Bhc3RlYm9hcmQpCiAgICAgICAgICAgICAgICAgcmV0dXJuOwog
Ci0gICAgICAgICAgICBbbV9jb250cm9sbGVyLT5fZWRpdGluZ0RlbGVnYXRlLmdldCgpIF93ZWJQ
cm9jZXNzUGx1Z0luQnJvd3NlckNvbnRleHRDb250cm9sbGVyOm1fY29udHJvbGxlciB3aWxsV3Jp
dGVSYW5nZVRvUGFzdGVib2FyZDp3cmFwcGVyKCpJbmplY3RlZEJ1bmRsZVJhbmdlSGFuZGxlOjpn
ZXRPckNyZWF0ZShyYW5nZSkuZ2V0KCkpXTsKKyAgICAgICAgICAgIFttX2NvbnRyb2xsZXItPl9l
ZGl0aW5nRGVsZWdhdGUuZ2V0KCkgX3dlYlByb2Nlc3NQbHVnSW5Ccm93c2VyQ29udGV4dENvbnRy
b2xsZXI6bV9jb250cm9sbGVyIHdpbGxXcml0ZVJhbmdlVG9QYXN0ZWJvYXJkOndyYXBwZXIoKldl
YktpdDo6SW5qZWN0ZWRCdW5kbGVSYW5nZUhhbmRsZTo6Z2V0T3JDcmVhdGUocmFuZ2UpLmdldCgp
KV07CiAgICAgICAgIH0KIAogICAgICAgICB2b2lkIGdldFBhc3RlYm9hcmREYXRhRm9yUmFuZ2Uo
V2ViS2l0OjpXZWJQYWdlJiwgV2ViQ29yZTo6UmFuZ2UqIHJhbmdlLCBWZWN0b3I8U3RyaW5nPiYg
cGFzdGVib2FyZFR5cGVzLCBWZWN0b3I8UmVmUHRyPFdlYkNvcmU6OlNoYXJlZEJ1ZmZlcj4+JiBw
YXN0ZWJvYXJkRGF0YSkgZmluYWwKQEAgLTYzMywxMCArNjI1LDEwIEBAIHN0YXRpYyBpbmxpbmUg
V0tFZGl0b3JJbnNlcnRBY3Rpb24gdG9XSyhFZGl0b3JJbnNlcnRBY3Rpb24gYWN0aW9uKQogICAg
ICAgICAgICAgaWYgKCFtX2RlbGVnYXRlTWV0aG9kcy5nZXRQYXN0ZWJvYXJkRGF0YUZvclJhbmdl
KQogICAgICAgICAgICAgICAgIHJldHVybjsKIAotICAgICAgICAgICAgYXV0byBkYXRhQnlUeXBl
ID0gW21fY29udHJvbGxlci0+X2VkaXRpbmdEZWxlZ2F0ZS5nZXQoKSBfd2ViUHJvY2Vzc1BsdWdJ
bkJyb3dzZXJDb250ZXh0Q29udHJvbGxlcjptX2NvbnRyb2xsZXIgcGFzdGVib2FyZERhdGFGb3JS
YW5nZTp3cmFwcGVyKCpJbmplY3RlZEJ1bmRsZVJhbmdlSGFuZGxlOjpnZXRPckNyZWF0ZShyYW5n
ZSkuZ2V0KCkpXTsKKyAgICAgICAgICAgIGF1dG8gZGF0YUJ5VHlwZSA9IFttX2NvbnRyb2xsZXIt
Pl9lZGl0aW5nRGVsZWdhdGUuZ2V0KCkgX3dlYlByb2Nlc3NQbHVnSW5Ccm93c2VyQ29udGV4dENv
bnRyb2xsZXI6bV9jb250cm9sbGVyIHBhc3RlYm9hcmREYXRhRm9yUmFuZ2U6d3JhcHBlcigqV2Vi
S2l0OjpJbmplY3RlZEJ1bmRsZVJhbmdlSGFuZGxlOjpnZXRPckNyZWF0ZShyYW5nZSkuZ2V0KCkp
XTsKICAgICAgICAgICAgIGZvciAoTlNTdHJpbmcgKnR5cGUgaW4gZGF0YUJ5VHlwZSkgewogICAg
ICAgICAgICAgICAgIHBhc3RlYm9hcmRUeXBlcy5hcHBlbmQodHlwZSk7Ci0gICAgICAgICAgICAg
ICAgcGFzdGVib2FyZERhdGEuYXBwZW5kKFNoYXJlZEJ1ZmZlcjo6Y3JlYXRlKGRhdGFCeVR5cGVb
dHlwZV0pKTsKKyAgICAgICAgICAgICAgICBwYXN0ZWJvYXJkRGF0YS5hcHBlbmQoV2ViQ29yZTo6
U2hhcmVkQnVmZmVyOjpjcmVhdGUoZGF0YUJ5VHlwZVt0eXBlXSkpOwogICAgICAgICAgICAgfTsK
ICAgICAgICAgfQogCkBAIC02NTMsOCArNjQ1LDggQEAgc3RhdGljIGlubGluZSBXS0VkaXRvcklu
c2VydEFjdGlvbiB0b1dLKEVkaXRvckluc2VydEFjdGlvbiBhY3Rpb24pCiAgICAgICAgICAgICBp
ZiAoIW1fZGVsZWdhdGVNZXRob2RzLnBlcmZvcm1Ud29TdGVwRHJvcCkKICAgICAgICAgICAgICAg
ICByZXR1cm4gZmFsc2U7CiAKLSAgICAgICAgICAgIGF1dG8gcmFuZ2VIYW5kbGUgPSBJbmplY3Rl
ZEJ1bmRsZVJhbmdlSGFuZGxlOjpnZXRPckNyZWF0ZSgmcmFuZ2UpOwotICAgICAgICAgICAgYXV0
byBub2RlSGFuZGxlID0gSW5qZWN0ZWRCdW5kbGVOb2RlSGFuZGxlOjpnZXRPckNyZWF0ZSgmZnJh
Z21lbnQpOworICAgICAgICAgICAgYXV0byByYW5nZUhhbmRsZSA9IFdlYktpdDo6SW5qZWN0ZWRC
dW5kbGVSYW5nZUhhbmRsZTo6Z2V0T3JDcmVhdGUoJnJhbmdlKTsKKyAgICAgICAgICAgIGF1dG8g
bm9kZUhhbmRsZSA9IFdlYktpdDo6SW5qZWN0ZWRCdW5kbGVOb2RlSGFuZGxlOjpnZXRPckNyZWF0
ZSgmZnJhZ21lbnQpOwogICAgICAgICAgICAgcmV0dXJuIFttX2NvbnRyb2xsZXItPl9lZGl0aW5n
RGVsZWdhdGUuZ2V0KCkgX3dlYlByb2Nlc3NQbHVnSW5Ccm93c2VyQ29udGV4dENvbnRyb2xsZXI6
bV9jb250cm9sbGVyIHBlcmZvcm1Ud29TdGVwRHJvcDp3cmFwcGVyKCpub2RlSGFuZGxlKSBhdERl
c3RpbmF0aW9uOndyYXBwZXIoKnJhbmdlSGFuZGxlKSBpc01vdmU6aXNNb3ZlXTsKICAgICAgICAg
fQogCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>349239</attachid>
            <date>2018-09-07 21:56:33 -0700</date>
            <delta_ts>2018-09-07 22:25:54 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-189447-20180907215632.patch</filename>
            <type>text/plain</type>
            <size>200956</size>
            <attacher name="Tim Horton">thorton</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjM1ODI2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IGYxMzkzYjI5ZmJmYjkwZGQ4
NTU0YTA1OGViNzI2ZWYyNjlkZmNmMDguLjEzZjU1MTEwMzBjODljZDJkYTg4MDQyY2Q3YzI0NGM2
MzBhYmYzYjAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNDIgQEAKKzIwMTgtMDktMDcgIFRpbSBIb3J0
b24gIDx0aW1vdGh5X2hvcnRvbkBhcHBsZS5jb20+CisKKyAgICAgICAgVW5pZnkgbW9zdCBvZiB0
aGUgV2ViS2l0IE9iamVjdGl2ZS1DIEFQSSBzb3VyY2VzCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xODk0NDcKKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKworICAgICAgICBVbmlmeSBhbmQgZml4IGVycm9ycy4KKworICAgICAg
ICAqIFNoYXJlZC9BUEkvQ29jb2EvX1dLRnJhbWVIYW5kbGUubW06CisgICAgICAgICogU2hhcmVk
L0FQSS9Db2NvYS9fV0tSZW1vdGVPYmplY3RSZWdpc3RyeS5tbToKKyAgICAgICAgKiBTb3VyY2Vz
Q29jb2EudHh0OgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvQ29jb2EvQVBJQ29udGVudFJ1bGVM
aXN0U3RvcmVDb2NvYS5tbToKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL0NvY29hL1dLQmFja0Zv
cndhcmRMaXN0Lm1tOgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvQ29jb2EvV0tCYWNrRm9yd2Fy
ZExpc3RJdGVtLm1tOgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvQ29jb2EvV0tCcm93c2luZ0Nv
bnRleHRDb250cm9sbGVyLm1tOgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvQ29jb2EvV0tCcm93
c2luZ0NvbnRleHRHcm91cC5tbToKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL0NvY29hL1dLQ29u
bmVjdGlvbi5tbToKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL0NvY29hL1dLTlNVUkxBdXRoZW50
aWNhdGlvbkNoYWxsZW5nZS5tbToKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL0NvY29hL1dLTmF2
aWdhdGlvbkRhdGEubW06CisgICAgICAgICogVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1Byb2Nlc3NH
cm91cC5tbToKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL0NvY29hL1dLVVJMU2NoZW1lVGFzay5t
bToKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL0NvY29hL1dLV2ViVmlld0NvbmZpZ3VyYXRpb24u
bW06CisgICAgICAgICogVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYnNpdGVEYXRhU3RvcmUubW06
CisgICAgICAgICogVUlQcm9jZXNzL0FQSS9Db2NvYS9fV0tBdHRhY2htZW50Lm1tOgorICAgICAg
ICAqIFVJUHJvY2Vzcy9BUEkvQ29jb2EvX1dLR2VvbG9jYXRpb25Qb3NpdGlvbi5tbToKKyAgICAg
ICAgKiBVSVByb2Nlc3MvQVBJL0NvY29hL19XS1JlbW90ZVdlYkluc3BlY3RvclZpZXdDb250cm9s
bGVyLm1tOgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvQ29jb2EvX1dLVGh1bWJuYWlsVmlldy5t
bToKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL21hYy9XS1ZpZXcubW06CisgICAgICAgICogV2Vi
S2l0Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6CisgICAgICAgICogV2ViUHJvY2Vzcy9Jbmpl
Y3RlZEJ1bmRsZS9BUEkvQ29jb2EvV0tXZWJQcm9jZXNzUGx1Z0luRnJhbWUubW06CisgICAgICAg
ICogV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9BUEkvQ29jb2EvV0tXZWJQcm9jZXNzUGx1Z0lu
SGl0VGVzdFJlc3VsdC5tbToKKyAgICAgICAgKiBXZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0FQ
SS9Db2NvYS9XS1dlYlByb2Nlc3NQbHVnSW5Ob2RlSGFuZGxlLm1tOgorICAgICAgICAqIFdlYlBy
b2Nlc3MvSW5qZWN0ZWRCdW5kbGUvQVBJL0NvY29hL1dLV2ViUHJvY2Vzc1BsdWdJblBhZ2VHcm91
cC5tbToKKyAgICAgICAgKiBXZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0FQSS9Db2NvYS9XS1dl
YlByb2Nlc3NQbHVnSW5SYW5nZUhhbmRsZS5tbToKKyAgICAgICAgKiBXZWJQcm9jZXNzL0luamVj
dGVkQnVuZGxlL0FQSS9Db2NvYS9XS1dlYlByb2Nlc3NQbHVnSW5TY3JpcHRXb3JsZC5tbToKKyAg
ICAgICAgKiBXZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0FQSS9tYWMvV0tXZWJQcm9jZXNzUGx1
Z0luLm1tOgorICAgICAgICAqIFdlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvQVBJL21hYy9XS1dl
YlByb2Nlc3NQbHVnSW5Ccm93c2VyQ29udGV4dENvbnRyb2xsZXIubW06CisKIDIwMTgtMDktMDcg
IFRpbSBIb3J0b24gIDx0aW1vdGh5X2hvcnRvbkBhcHBsZS5jb20+CiAKICAgICAgICAgVHJ5IHRv
IGZpeCB0aGUgYnVpbGQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL0FQSS9Db2Nv
YS9fV0tGcmFtZUhhbmRsZS5tbSBiL1NvdXJjZS9XZWJLaXQvU2hhcmVkL0FQSS9Db2NvYS9fV0tG
cmFtZUhhbmRsZS5tbQppbmRleCAwYTcyZmVmMjgxMDcyMWY4MzIxYWQ5NjY3YTVkYjBkOGY4OTFh
ZGE1Li5jNDgwMzFjZWI4OTFmNzk4ZmI0OTc1NzNhN2JkM2FiYjgyYTEwMTZhIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9BUEkvQ29jb2EvX1dLRnJhbWVIYW5kbGUubW0KKysrIGIv
U291cmNlL1dlYktpdC9TaGFyZWQvQVBJL0NvY29hL19XS0ZyYW1lSGFuZGxlLm1tCkBAIC0yOCw4
ICsyOCw2IEBACiAKICNpZiBXS19BUElfRU5BQkxFRAogCi11c2luZyBuYW1lc3BhY2UgV2ViS2l0
OwotCiBAaW1wbGVtZW50YXRpb24gX1dLRnJhbWVIYW5kbGUgewogICAgIEFQSTo6T2JqZWN0U3Rv
cmFnZTxBUEk6OkZyYW1lSGFuZGxlPiBfZnJhbWVIYW5kbGU7CiB9CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0L1NoYXJlZC9BUEkvQ29jb2EvX1dLUmVtb3RlT2JqZWN0UmVnaXN0cnkubW0gYi9T
b3VyY2UvV2ViS2l0L1NoYXJlZC9BUEkvQ29jb2EvX1dLUmVtb3RlT2JqZWN0UmVnaXN0cnkubW0K
aW5kZXggYjY0YTMzYmQxYmQxNmEzN2M4NjEwZWEyMjk1NWQ1NmZmYjQzOWNkOC4uYmE2NWY3OTA1
MTE5MzI0Mjg2OGNmNDMyYTgzOGEzOTVjZGU1MWNmZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dC9TaGFyZWQvQVBJL0NvY29hL19XS1JlbW90ZU9iamVjdFJlZ2lzdHJ5Lm1tCisrKyBiL1NvdXJj
ZS9XZWJLaXQvU2hhcmVkL0FQSS9Db2NvYS9fV0tSZW1vdGVPYmplY3RSZWdpc3RyeS5tbQpAQCAt
NTEsOCArNTEsNiBAQCBzdGF0aWMgY29uc3Qgdm9pZCogcmVwbHlCbG9ja0tleSA9ICZyZXBseUJs
b2NrS2V5OwogCiBOU1N0cmluZyAqIGNvbnN0IGludm9jYXRpb25LZXkgPSBAImludm9jYXRpb24i
OwogCi11c2luZyBuYW1lc3BhY2UgV2ViS2l0OwotCiBzdHJ1Y3QgUGVuZGluZ1JlcGx5IHsKICAg
ICBQZW5kaW5nUmVwbHkoKSA9IGRlZmF1bHQ7CiAKQEAgLTY5LDcgKzY3LDcgQEAgc3RydWN0IFBl
bmRpbmdSZXBseSB7CiB9OwogCiBAaW1wbGVtZW50YXRpb24gX1dLUmVtb3RlT2JqZWN0UmVnaXN0
cnkgewotICAgIHN0ZDo6dW5pcXVlX3B0cjxSZW1vdGVPYmplY3RSZWdpc3RyeT4gX3JlbW90ZU9i
amVjdFJlZ2lzdHJ5OworICAgIHN0ZDo6dW5pcXVlX3B0cjxXZWJLaXQ6OlJlbW90ZU9iamVjdFJl
Z2lzdHJ5PiBfcmVtb3RlT2JqZWN0UmVnaXN0cnk7CiAKICAgICBSZXRhaW5QdHI8TlNNYXBUYWJs
ZT4gX3JlbW90ZU9iamVjdFByb3hpZXM7CiAgICAgSGFzaE1hcDxTdHJpbmcsIHN0ZDo6cGFpcjxS
ZXRhaW5QdHI8aWQ+LCBSZXRhaW5QdHI8X1dLUmVtb3RlT2JqZWN0SW50ZXJmYWNlPj4+IF9leHBv
cnRlZE9iamVjdHM7CkBAIC0xMTEsNyArMTA5LDcgQEAgc3RydWN0IFBlbmRpbmdSZXBseSB7CiAg
ICAgaWYgKCEoc2VsZiA9IFtzdXBlciBpbml0XSkpCiAgICAgICAgIHJldHVybiBuaWw7CiAKLSAg
ICBfcmVtb3RlT2JqZWN0UmVnaXN0cnkgPSBzdGQ6Om1ha2VfdW5pcXVlPFJlbW90ZU9iamVjdFJl
Z2lzdHJ5PihzZWxmLCBwYWdlKTsKKyAgICBfcmVtb3RlT2JqZWN0UmVnaXN0cnkgPSBzdGQ6Om1h
a2VfdW5pcXVlPFdlYktpdDo6UmVtb3RlT2JqZWN0UmVnaXN0cnk+KHNlbGYsIHBhZ2UpOwogCiAg
ICAgcmV0dXJuIHNlbGY7CiB9CkBAIC0xMjEsNyArMTE5LDcgQEAgc3RydWN0IFBlbmRpbmdSZXBs
eSB7CiAgICAgaWYgKCEoc2VsZiA9IFtzdXBlciBpbml0XSkpCiAgICAgICAgIHJldHVybiBuaWw7
CiAKLSAgICBfcmVtb3RlT2JqZWN0UmVnaXN0cnkgPSBzdGQ6Om1ha2VfdW5pcXVlPFJlbW90ZU9i
amVjdFJlZ2lzdHJ5PihzZWxmLCBwYWdlKTsKKyAgICBfcmVtb3RlT2JqZWN0UmVnaXN0cnkgPSBz
dGQ6Om1ha2VfdW5pcXVlPFdlYktpdDo6UmVtb3RlT2JqZWN0UmVnaXN0cnk+KHNlbGYsIHBhZ2Up
OwogCiAgICAgcmV0dXJuIHNlbGY7CiB9CkBAIC0xNDAsNyArMTM4LDcgQEAgc3RhdGljIHVpbnQ2
NF90IGdlbmVyYXRlUmVwbHlJZGVudGlmaWVyKCkKIAogLSAodm9pZClfc2VuZEludm9jYXRpb246
KE5TSW52b2NhdGlvbiAqKWludm9jYXRpb24gaW50ZXJmYWNlOihfV0tSZW1vdGVPYmplY3RJbnRl
cmZhY2UgKilpbnRlcmZhY2UKIHsKLSAgICBzdGQ6OnVuaXF1ZV9wdHI8UmVtb3RlT2JqZWN0SW52
b2NhdGlvbjo6UmVwbHlJbmZvPiByZXBseUluZm87CisgICAgc3RkOjp1bmlxdWVfcHRyPFdlYktp
dDo6UmVtb3RlT2JqZWN0SW52b2NhdGlvbjo6UmVwbHlJbmZvPiByZXBseUluZm87CiAKICAgICBO
U01ldGhvZFNpZ25hdHVyZSAqbWV0aG9kU2lnbmF0dXJlID0gaW52b2NhdGlvbi5tZXRob2RTaWdu
YXR1cmU7CiAgICAgZm9yIChOU1VJbnRlZ2VyIGkgPSAwLCBjb3VudCA9IG1ldGhvZFNpZ25hdHVy
ZS5udW1iZXJPZkFyZ3VtZW50czsgaSA8IGNvdW50OyArK2kpIHsKQEAgLTE2Miw3ICsxNjAsNyBA
QCBzdGF0aWMgdWludDY0X3QgZ2VuZXJhdGVSZXBseUlkZW50aWZpZXIoKQogICAgICAgICBpZiAo
c3RyY21wKFtOU01ldGhvZFNpZ25hdHVyZSBzaWduYXR1cmVXaXRoT2JqQ1R5cGVzOnJlcGx5Qmxv
Y2tTaWduYXR1cmVdLm1ldGhvZFJldHVyblR5cGUsICJ2IikpCiAgICAgICAgICAgICBbTlNFeGNl
cHRpb24gcmFpc2U6TlNJbnZhbGlkQXJndW1lbnRFeGNlcHRpb24gZm9ybWF0OkAiUmV0dXJuIHZh
bHVlIG9mIGJsb2NrIGFyZ3VtZW50IG11c3QgYmUgJ3ZvaWQnLiAoJXMpIiwgc2VsX2dldE5hbWUo
aW52b2NhdGlvbi5zZWxlY3RvcildOwogCi0gICAgICAgIHJlcGx5SW5mbyA9IHN0ZDo6bWFrZV91
bmlxdWU8UmVtb3RlT2JqZWN0SW52b2NhdGlvbjo6UmVwbHlJbmZvPihnZW5lcmF0ZVJlcGx5SWRl
bnRpZmllcigpLCByZXBseUJsb2NrU2lnbmF0dXJlKTsKKyAgICAgICAgcmVwbHlJbmZvID0gc3Rk
OjptYWtlX3VuaXF1ZTxXZWJLaXQ6OlJlbW90ZU9iamVjdEludm9jYXRpb246OlJlcGx5SW5mbz4o
Z2VuZXJhdGVSZXBseUlkZW50aWZpZXIoKSwgcmVwbHlCbG9ja1NpZ25hdHVyZSk7CiAKICAgICAg
ICAgLy8gUmVwbGFjZSB0aGUgYmxvY2sgb2JqZWN0IHNvIHdlIHdvbid0IHRyeSB0byBlbmNvZGUg
aXQuCiAgICAgICAgIGlkIG51bGwgPSBudWxscHRyOwpAQCAtMTc5LDcgKzE3Nyw3IEBAIHN0YXRp
YyB1aW50NjRfdCBnZW5lcmF0ZVJlcGx5SWRlbnRpZmllcigpCiAgICAgaWYgKCFfcmVtb3RlT2Jq
ZWN0UmVnaXN0cnkpCiAgICAgICAgIHJldHVybjsKIAotICAgIF9yZW1vdGVPYmplY3RSZWdpc3Ry
eS0+c2VuZEludm9jYXRpb24oUmVtb3RlT2JqZWN0SW52b2NhdGlvbihpbnRlcmZhY2UuaWRlbnRp
ZmllciwgW2VuY29kZXIgcm9vdE9iamVjdERpY3Rpb25hcnldLCBXVEZNb3ZlKHJlcGx5SW5mbykp
KTsKKyAgICBfcmVtb3RlT2JqZWN0UmVnaXN0cnktPnNlbmRJbnZvY2F0aW9uKFdlYktpdDo6UmVt
b3RlT2JqZWN0SW52b2NhdGlvbihpbnRlcmZhY2UuaWRlbnRpZmllciwgW2VuY29kZXIgcm9vdE9i
amVjdERpY3Rpb25hcnldLCBXVEZNb3ZlKHJlcGx5SW5mbykpKTsKIH0KIAogLSAoV2ViS2l0OjpS
ZW1vdGVPYmplY3RSZWdpc3RyeSYpcmVtb3RlT2JqZWN0UmVnaXN0cnkKQEAgLTE4Nyw3ICsxODUs
NyBAQCBzdGF0aWMgdWludDY0X3QgZ2VuZXJhdGVSZXBseUlkZW50aWZpZXIoKQogICAgIHJldHVy
biAqX3JlbW90ZU9iamVjdFJlZ2lzdHJ5OwogfQogCi0tICh2b2lkKV9pbnZva2VNZXRob2Q6KGNv
bnN0IFJlbW90ZU9iamVjdEludm9jYXRpb24mKXJlbW90ZU9iamVjdEludm9jYXRpb24KKy0gKHZv
aWQpX2ludm9rZU1ldGhvZDooY29uc3QgV2ViS2l0OjpSZW1vdGVPYmplY3RJbnZvY2F0aW9uJily
ZW1vdGVPYmplY3RJbnZvY2F0aW9uCiB7CiAgICAgYXV0byYgaW50ZXJmYWNlSWRlbnRpZmllciA9
IHJlbW90ZU9iamVjdEludm9jYXRpb24uaW50ZXJmYWNlSWRlbnRpZmllcigpOwogICAgIGF1dG8q
IGVuY29kZWRJbnZvY2F0aW9uID0gcmVtb3RlT2JqZWN0SW52b2NhdGlvbi5lbmNvZGVkSW52b2Nh
dGlvbigpOwpAQCAtMjY0LDcgKzI2Miw3IEBAIHN0YXRpYyB1aW50NjRfdCBnZW5lcmF0ZVJlcGx5
SWRlbnRpZmllcigpCiAgICAgICAgICAgICAgICAgYXV0byBlbmNvZGVyID0gYWRvcHROUyhbW1dL
UmVtb3RlT2JqZWN0RW5jb2RlciBhbGxvY10gaW5pdF0pOwogICAgICAgICAgICAgICAgIFtlbmNv
ZGVyIGVuY29kZU9iamVjdDppbnZvY2F0aW9uIGZvcktleTppbnZvY2F0aW9uS2V5XTsKIAotICAg
ICAgICAgICAgICAgIHJlbW90ZU9iamVjdFJlZ2lzdHJ5LT5fcmVtb3RlT2JqZWN0UmVnaXN0cnkt
PnNlbmRSZXBseUJsb2NrKHJlcGx5SUQsIFVzZXJEYXRhKFtlbmNvZGVyIHJvb3RPYmplY3REaWN0
aW9uYXJ5XSkpOworICAgICAgICAgICAgICAgIHJlbW90ZU9iamVjdFJlZ2lzdHJ5LT5fcmVtb3Rl
T2JqZWN0UmVnaXN0cnktPnNlbmRSZXBseUJsb2NrKHJlcGx5SUQsIFdlYktpdDo6VXNlckRhdGEo
W2VuY29kZXIgcm9vdE9iamVjdERpY3Rpb25hcnldKSk7CiAgICAgICAgICAgICAgICAgY2hlY2tl
ci0+ZGlkQ2FsbFJlcGx5QmxvY2soKTsKICAgICAgICAgICAgIH0pOwogCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0L1NvdXJjZXNDb2NvYS50eHQgYi9Tb3VyY2UvV2ViS2l0L1NvdXJjZXNDb2Nv
YS50eHQKaW5kZXggNThiNGNhMWZlZDlkODJlOTMzMzZjMjdiYzMzYTg1YTkzZjRmMTViOC4uMDI2
ZGE1MmU5ZWQ4M2M0YThkYmQ0YThjZTIxN2YzODhkMzEyOTk4YiAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdC9Tb3VyY2VzQ29jb2EudHh0CisrKyBiL1NvdXJjZS9XZWJLaXQvU291cmNlc0NvY29h
LnR4dApAQCAtOTYsMTcgKzk2LDE3IEBAIFNoYXJlZC9BUEkvYy9tYWMvV0tVUkxSZXNwb25zZU5T
Lm1tCiBTaGFyZWQvQVBJL2MvbWFjL1dLV2ViQXJjaGl2ZS5jcHAKIFNoYXJlZC9BUEkvYy9tYWMv
V0tXZWJBcmNoaXZlUmVzb3VyY2UuY3BwCiAKLVNoYXJlZC9BUEkvQ29jb2EvX1dLRnJhbWVIYW5k
bGUubW0gQG5vLXVuaWZ5Ci1TaGFyZWQvQVBJL0NvY29hL19XS0hpdFRlc3RSZXN1bHQubW0gQG5v
LXVuaWZ5Ci1TaGFyZWQvQVBJL0NvY29hL19XS05TRmlsZU1hbmFnZXJFeHRyYXMubW0gQG5vLXVu
aWZ5Ci1TaGFyZWQvQVBJL0NvY29hL19XS05TV2luZG93RXh0cmFzLm1tIEBuby11bmlmeQotU2hh
cmVkL0FQSS9Db2NvYS9fV0tSZW1vdGVPYmplY3RJbnRlcmZhY2UubW0gQG5vLXVuaWZ5Ci1TaGFy
ZWQvQVBJL0NvY29hL19XS1JlbW90ZU9iamVjdFJlZ2lzdHJ5Lm1tIEBuby11bmlmeQotU2hhcmVk
L0FQSS9Db2NvYS9SZW1vdGVPYmplY3RJbnZvY2F0aW9uLm1tIEBuby11bmlmeQotU2hhcmVkL0FQ
SS9Db2NvYS9SZW1vdGVPYmplY3RSZWdpc3RyeS5tbSBAbm8tdW5pZnkKLVNoYXJlZC9BUEkvQ29j
b2EvV0tCcm93c2luZ0NvbnRleHRIYW5kbGUubW0gQG5vLXVuaWZ5Ci1TaGFyZWQvQVBJL0NvY29h
L1dLUmVtb3RlT2JqZWN0Lm1tIEBuby11bmlmeQotU2hhcmVkL0FQSS9Db2NvYS9XS1JlbW90ZU9i
amVjdENvZGVyLm1tIEBuby11bmlmeQorU2hhcmVkL0FQSS9Db2NvYS9fV0tGcmFtZUhhbmRsZS5t
bQorU2hhcmVkL0FQSS9Db2NvYS9fV0tIaXRUZXN0UmVzdWx0Lm1tCitTaGFyZWQvQVBJL0NvY29h
L19XS05TRmlsZU1hbmFnZXJFeHRyYXMubW0KK1NoYXJlZC9BUEkvQ29jb2EvX1dLTlNXaW5kb3dF
eHRyYXMubW0KK1NoYXJlZC9BUEkvQ29jb2EvX1dLUmVtb3RlT2JqZWN0SW50ZXJmYWNlLm1tCitT
aGFyZWQvQVBJL0NvY29hL19XS1JlbW90ZU9iamVjdFJlZ2lzdHJ5Lm1tCitTaGFyZWQvQVBJL0Nv
Y29hL1JlbW90ZU9iamVjdEludm9jYXRpb24ubW0KK1NoYXJlZC9BUEkvQ29jb2EvUmVtb3RlT2Jq
ZWN0UmVnaXN0cnkubW0KK1NoYXJlZC9BUEkvQ29jb2EvV0tCcm93c2luZ0NvbnRleHRIYW5kbGUu
bW0KK1NoYXJlZC9BUEkvQ29jb2EvV0tSZW1vdGVPYmplY3QubW0KK1NoYXJlZC9BUEkvQ29jb2Ev
V0tSZW1vdGVPYmplY3RDb2Rlci5tbQogCiBTaGFyZWQvQVBJV2ViQXJjaGl2ZS5tbQogU2hhcmVk
L0FQSVdlYkFyY2hpdmVSZXNvdXJjZS5tbQpAQCAtMjI4LDczICsyMjgsNzUgQEAgVUlQcm9jZXNz
L0FQSS9DL21hYy9XS0NvbnRleHRQcml2YXRlTWFjLm1tCiBVSVByb2Nlc3MvQVBJL0MvbWFjL1dL
UGFnZVByaXZhdGVNYWMubW0KIFVJUHJvY2Vzcy9BUEkvQy9tYWMvV0tQcm90ZWN0aW9uU3BhY2VO
Uy5tbQogCi1VSVByb2Nlc3MvQVBJL0NvY29hL19XS0FjdGl2YXRlZEVsZW1lbnRJbmZvLm1tIEBu
by11bmlmeQotVUlQcm9jZXNzL0FQSS9Db2NvYS9fV0tBcHBsaWNhdGlvbk1hbmlmZXN0Lm1tIEBu
by11bmlmeQotVUlQcm9jZXNzL0FQSS9Db2NvYS9fV0tBdHRhY2htZW50Lm1tIEBuby11bmlmeQot
VUlQcm9jZXNzL0FQSS9Db2NvYS9fV0tBdXRvbWF0aW9uU2Vzc2lvbi5tbSBAbm8tdW5pZnkKLVVJ
UHJvY2Vzcy9BUEkvQ29jb2EvX1dLQXV0b21hdGlvblNlc3Npb25Db25maWd1cmF0aW9uLm1tIEBu
by11bmlmeQotVUlQcm9jZXNzL0FQSS9Db2NvYS9fV0tDb250ZXh0TWVudUVsZW1lbnRJbmZvLm1t
IEBuby11bmlmeQotVUlQcm9jZXNzL0FQSS9Db2NvYS9fV0tEb3dubG9hZC5tbSBAbm8tdW5pZnkK
LVVJUHJvY2Vzcy9BUEkvQ29jb2EvX1dLRWxlbWVudEFjdGlvbi5tbSBAbm8tdW5pZnkKLVVJUHJv
Y2Vzcy9BUEkvQ29jb2EvX1dLRXJyb3JSZWNvdmVyeUF0dGVtcHRpbmcubW0gQG5vLXVuaWZ5Ci1V
SVByb2Nlc3MvQVBJL0NvY29hL19XS0V4cGVyaW1lbnRhbEZlYXR1cmUubW0gQG5vLXVuaWZ5Ci1V
SVByb2Nlc3MvQVBJL0NvY29hL19XS0dlb2xvY2F0aW9uUG9zaXRpb24ubW0gQG5vLXVuaWZ5Ci1V
SVByb2Nlc3MvQVBJL0NvY29hL19XS0xpbmtJY29uUGFyYW1ldGVycy5tbSBAbm8tdW5pZnkKLVVJ
UHJvY2Vzcy9BUEkvQ29jb2EvX1dLUHJvY2Vzc1Bvb2xDb25maWd1cmF0aW9uLm1tIEBuby11bmlm
eQotVUlQcm9jZXNzL0FQSS9Db2NvYS9fV0tSZW1vdGVXZWJJbnNwZWN0b3JWaWV3Q29udHJvbGxl
ci5tbSBAbm8tdW5pZnkKLVVJUHJvY2Vzcy9BUEkvQ29jb2EvX1dLU2Vzc2lvblN0YXRlLm1tIEBu
by11bmlmeQotVUlQcm9jZXNzL0FQSS9Db2NvYS9fV0tUaHVtYm5haWxWaWV3Lm1tIEBuby11bmlm
eQotVUlQcm9jZXNzL0FQSS9Db2NvYS9fV0tVc2VyQ29udGVudEV4dGVuc2lvblN0b3JlLm1tIEBu
by11bmlmeQotVUlQcm9jZXNzL0FQSS9Db2NvYS9fV0tVc2VyQ29udGVudEZpbHRlci5tbSBAbm8t
dW5pZnkKLVVJUHJvY2Vzcy9BUEkvQ29jb2EvX1dLVXNlckNvbnRlbnRXb3JsZC5tbSBAbm8tdW5p
ZnkKLVVJUHJvY2Vzcy9BUEkvQ29jb2EvX1dLVXNlckluaXRpYXRlZEFjdGlvbi5tbSBAbm8tdW5p
ZnkKLVVJUHJvY2Vzcy9BUEkvQ29jb2EvX1dLVXNlclN0eWxlU2hlZXQubW0gQG5vLXVuaWZ5Ci1V
SVByb2Nlc3MvQVBJL0NvY29hL19XS1Zpc2l0ZWRMaW5rU3RvcmUubW0gQG5vLXVuaWZ5Ci1VSVBy
b2Nlc3MvQVBJL0NvY29hL19XS1dlYnNpdGVEYXRhU2l6ZS5tbSBAbm8tdW5pZnkKLVVJUHJvY2Vz
cy9BUEkvQ29jb2EvX1dLV2Vic2l0ZURhdGFTdG9yZS5tbSBAbm8tdW5pZnkKLVVJUHJvY2Vzcy9B
UEkvQ29jb2EvX1dLV2Vic2l0ZURhdGFTdG9yZUNvbmZpZ3VyYXRpb24ubW0gQG5vLXVuaWZ5Ci1V
SVByb2Nlc3MvQVBJL0NvY29hL19XS1dlYnNpdGVQb2xpY2llcy5tbSBAbm8tdW5pZnkKLVVJUHJv
Y2Vzcy9BUEkvQ29jb2EvQVBJQ29udGVudFJ1bGVMaXN0U3RvcmVDb2NvYS5tbSBAbm8tdW5pZnkK
LVVJUHJvY2Vzcy9BUEkvQ29jb2EvQVBJU2VyaWFsaXplZFNjcmlwdFZhbHVlQ29jb2EubW0gQG5v
LXVuaWZ5Ci1VSVByb2Nlc3MvQVBJL0NvY29hL0FQSVdlYnNpdGVEYXRhU3RvcmVDb2NvYS5tbSBA
bm8tdW5pZnkKLVVJUHJvY2Vzcy9BUEkvQ29jb2EvTGVnYWN5QnVuZGxlRm9yQ2xhc3MubW0gQG5v
LXVuaWZ5Ci1VSVByb2Nlc3MvQVBJL0NvY29hL1dLQmFja0ZvcndhcmRMaXN0Lm1tIEBuby11bmlm
eQotVUlQcm9jZXNzL0FQSS9Db2NvYS9XS0JhY2tGb3J3YXJkTGlzdEl0ZW0ubW0gQG5vLXVuaWZ5
Ci1VSVByb2Nlc3MvQVBJL0NvY29hL1dLQnJvd3NpbmdDb250ZXh0Q29udHJvbGxlci5tbSBAbm8t
dW5pZnkKLVVJUHJvY2Vzcy9BUEkvQ29jb2EvV0tCcm93c2luZ0NvbnRleHRHcm91cC5tbSBAbm8t
dW5pZnkKLVVJUHJvY2Vzcy9BUEkvQ29jb2EvV0tDb25uZWN0aW9uLm1tIEBuby11bmlmeQotVUlQ
cm9jZXNzL0FQSS9Db2NvYS9XS0NvbnRlbnRSdWxlTGlzdC5tbSBAbm8tdW5pZnkKLVVJUHJvY2Vz
cy9BUEkvQ29jb2EvV0tDb250ZW50UnVsZUxpc3RTdG9yZS5tbSBAbm8tdW5pZnkKLVVJUHJvY2Vz
cy9BUEkvQ29jb2EvV0tFcnJvci5tbSBAbm8tdW5pZnkKLVVJUHJvY2Vzcy9BUEkvQ29jb2EvV0tG
cmFtZUluZm8ubW0gQG5vLXVuaWZ5Ci1VSVByb2Nlc3MvQVBJL0NvY29hL1dLSFRUUENvb2tpZVN0
b3JlLm1tIEBuby11bmlmeQotVUlQcm9jZXNzL0FQSS9Db2NvYS9XS01lbnVJdGVtSWRlbnRpZmll
cnMubW0gQG5vLXVuaWZ5Ci1VSVByb2Nlc3MvQVBJL0NvY29hL1dLTmF2aWdhdGlvbi5tbSBAbm8t
dW5pZnkKLVVJUHJvY2Vzcy9BUEkvQ29jb2EvV0tOYXZpZ2F0aW9uQWN0aW9uLm1tIEBuby11bmlm
eQotVUlQcm9jZXNzL0FQSS9Db2NvYS9XS05hdmlnYXRpb25EYXRhLm1tIEBuby11bmlmeQotVUlQ
cm9jZXNzL0FQSS9Db2NvYS9XS05hdmlnYXRpb25SZXNwb25zZS5tbSBAbm8tdW5pZnkKLVVJUHJv
Y2Vzcy9BUEkvQ29jb2EvV0tOU1VSTEF1dGhlbnRpY2F0aW9uQ2hhbGxlbmdlLm1tIEBuby11bmlm
eQotVUlQcm9jZXNzL0FQSS9Db2NvYS9XS09wZW5QYW5lbFBhcmFtZXRlcnMubW0gQG5vLXVuaWZ5
Ci1VSVByb2Nlc3MvQVBJL0NvY29hL1dLUHJlZmVyZW5jZXMubW0gQG5vLXVuaWZ5Ci1VSVByb2Nl
c3MvQVBJL0NvY29hL1dLUHJldmlld0FjdGlvbkl0ZW0ubW0gQG5vLXVuaWZ5Ci1VSVByb2Nlc3Mv
QVBJL0NvY29hL1dLUHJldmlld0FjdGlvbkl0ZW1JZGVudGlmaWVycy5tbSBAbm8tdW5pZnkKLVVJ
UHJvY2Vzcy9BUEkvQ29jb2EvV0tQcmV2aWV3RWxlbWVudEluZm8ubW0gQG5vLXVuaWZ5Ci1VSVBy
b2Nlc3MvQVBJL0NvY29hL1dLUHJvY2Vzc0dyb3VwLm1tIEBuby11bmlmeQotVUlQcm9jZXNzL0FQ
SS9Db2NvYS9XS1Byb2Nlc3NQb29sLm1tIEBuby11bmlmeQotVUlQcm9jZXNzL0FQSS9Db2NvYS9X
S1NjcmlwdE1lc3NhZ2UubW0gQG5vLXVuaWZ5Ci1VSVByb2Nlc3MvQVBJL0NvY29hL1dLU2VjdXJp
dHlPcmlnaW4ubW0gQG5vLXVuaWZ5Ci1VSVByb2Nlc3MvQVBJL0NvY29hL1dLU25hcHNob3RDb25m
aWd1cmF0aW9uLm1tIEBuby11bmlmeQotVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1R5cGVSZWZXcmFw
cGVyLm1tIEBuby11bmlmeQotVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1VSTFNjaGVtZVRhc2subW0g
QG5vLXVuaWZ5Ci1VSVByb2Nlc3MvQVBJL0NvY29hL1dLVXNlckNvbnRlbnRDb250cm9sbGVyLm1t
IEBuby11bmlmeQotVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1VzZXJTY3JpcHQubW0gQG5vLXVuaWZ5
Ci1VSVByb2Nlc3MvQVBJL0NvY29hL1dLV2Vic2l0ZURhdGFSZWNvcmQubW0gQG5vLXVuaWZ5Ci1V
SVByb2Nlc3MvQVBJL0NvY29hL1dLV2Vic2l0ZURhdGFTdG9yZS5tbSBAbm8tdW5pZnkKLVVJUHJv
Y2Vzcy9BUEkvQ29jb2EvV0tXZWJWaWV3Lm1tIEBuby11bmlmeQotVUlQcm9jZXNzL0FQSS9Db2Nv
YS9XS1dlYlZpZXdDb25maWd1cmF0aW9uLm1tIEBuby11bmlmeQotVUlQcm9jZXNzL0FQSS9Db2Nv
YS9XS1dpbmRvd0ZlYXR1cmVzLm1tIEBuby11bmlmeQotCi1VSVByb2Nlc3MvQVBJL21hYy9XS1Zp
ZXcubW0gQG5vLXVuaWZ5CitVSVByb2Nlc3MvQVBJL0NvY29hL19XS0FjdGl2YXRlZEVsZW1lbnRJ
bmZvLm1tCitVSVByb2Nlc3MvQVBJL0NvY29hL19XS0FwcGxpY2F0aW9uTWFuaWZlc3QubW0KK1VJ
UHJvY2Vzcy9BUEkvQ29jb2EvX1dLQXR0YWNobWVudC5tbQorVUlQcm9jZXNzL0FQSS9Db2NvYS9f
V0tBdXRvbWF0aW9uU2Vzc2lvbi5tbQorVUlQcm9jZXNzL0FQSS9Db2NvYS9fV0tBdXRvbWF0aW9u
U2Vzc2lvbkNvbmZpZ3VyYXRpb24ubW0KK1VJUHJvY2Vzcy9BUEkvQ29jb2EvX1dLQ29udGV4dE1l
bnVFbGVtZW50SW5mby5tbQorVUlQcm9jZXNzL0FQSS9Db2NvYS9fV0tEb3dubG9hZC5tbQorVUlQ
cm9jZXNzL0FQSS9Db2NvYS9fV0tFbGVtZW50QWN0aW9uLm1tCitVSVByb2Nlc3MvQVBJL0NvY29h
L19XS0Vycm9yUmVjb3ZlcnlBdHRlbXB0aW5nLm1tCitVSVByb2Nlc3MvQVBJL0NvY29hL19XS0V4
cGVyaW1lbnRhbEZlYXR1cmUubW0KK1VJUHJvY2Vzcy9BUEkvQ29jb2EvX1dLR2VvbG9jYXRpb25Q
b3NpdGlvbi5tbQorVUlQcm9jZXNzL0FQSS9Db2NvYS9fV0tJbnNwZWN0b3IubW0KK1VJUHJvY2Vz
cy9BUEkvQ29jb2EvX1dLTGlua0ljb25QYXJhbWV0ZXJzLm1tCitVSVByb2Nlc3MvQVBJL0NvY29h
L19XS1Byb2Nlc3NQb29sQ29uZmlndXJhdGlvbi5tbQorVUlQcm9jZXNzL0FQSS9Db2NvYS9fV0tS
ZW1vdGVXZWJJbnNwZWN0b3JWaWV3Q29udHJvbGxlci5tbQorVUlQcm9jZXNzL0FQSS9Db2NvYS9f
V0tTZXNzaW9uU3RhdGUubW0KK1VJUHJvY2Vzcy9BUEkvQ29jb2EvX1dLVGh1bWJuYWlsVmlldy5t
bQorVUlQcm9jZXNzL0FQSS9Db2NvYS9fV0tVc2VyQ29udGVudEV4dGVuc2lvblN0b3JlLm1tCitV
SVByb2Nlc3MvQVBJL0NvY29hL19XS1VzZXJDb250ZW50RmlsdGVyLm1tCitVSVByb2Nlc3MvQVBJ
L0NvY29hL19XS1VzZXJDb250ZW50V29ybGQubW0KK1VJUHJvY2Vzcy9BUEkvQ29jb2EvX1dLVXNl
ckluaXRpYXRlZEFjdGlvbi5tbQorVUlQcm9jZXNzL0FQSS9Db2NvYS9fV0tVc2VyU3R5bGVTaGVl
dC5tbQorVUlQcm9jZXNzL0FQSS9Db2NvYS9fV0tWaXNpdGVkTGlua1N0b3JlLm1tCitVSVByb2Nl
c3MvQVBJL0NvY29hL19XS1dlYnNpdGVEYXRhU2l6ZS5tbQorVUlQcm9jZXNzL0FQSS9Db2NvYS9f
V0tXZWJzaXRlRGF0YVN0b3JlLm1tCitVSVByb2Nlc3MvQVBJL0NvY29hL19XS1dlYnNpdGVEYXRh
U3RvcmVDb25maWd1cmF0aW9uLm1tCitVSVByb2Nlc3MvQVBJL0NvY29hL19XS1dlYnNpdGVQb2xp
Y2llcy5tbQorVUlQcm9jZXNzL0FQSS9Db2NvYS9BUElBdHRhY2htZW50Q29jb2EubW0KK1VJUHJv
Y2Vzcy9BUEkvQ29jb2EvQVBJQ29udGVudFJ1bGVMaXN0U3RvcmVDb2NvYS5tbQorVUlQcm9jZXNz
L0FQSS9Db2NvYS9BUElTZXJpYWxpemVkU2NyaXB0VmFsdWVDb2NvYS5tbQorVUlQcm9jZXNzL0FQ
SS9Db2NvYS9BUElXZWJzaXRlRGF0YVN0b3JlQ29jb2EubW0KK1VJUHJvY2Vzcy9BUEkvQ29jb2Ev
TGVnYWN5QnVuZGxlRm9yQ2xhc3MubW0KK1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tCYWNrRm9yd2Fy
ZExpc3QubW0KK1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tCYWNrRm9yd2FyZExpc3RJdGVtLm1tCitV
SVByb2Nlc3MvQVBJL0NvY29hL1dLQnJvd3NpbmdDb250ZXh0Q29udHJvbGxlci5tbQorVUlQcm9j
ZXNzL0FQSS9Db2NvYS9XS0Jyb3dzaW5nQ29udGV4dEdyb3VwLm1tCitVSVByb2Nlc3MvQVBJL0Nv
Y29hL1dLQ29ubmVjdGlvbi5tbQorVUlQcm9jZXNzL0FQSS9Db2NvYS9XS0NvbnRlbnRSdWxlTGlz
dC5tbQorVUlQcm9jZXNzL0FQSS9Db2NvYS9XS0NvbnRlbnRSdWxlTGlzdFN0b3JlLm1tCitVSVBy
b2Nlc3MvQVBJL0NvY29hL1dLRXJyb3IubW0KK1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tGcmFtZUlu
Zm8ubW0KK1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tIVFRQQ29va2llU3RvcmUubW0KK1VJUHJvY2Vz
cy9BUEkvQ29jb2EvV0tNZW51SXRlbUlkZW50aWZpZXJzLm1tCitVSVByb2Nlc3MvQVBJL0NvY29h
L1dLTmF2aWdhdGlvbi5tbQorVUlQcm9jZXNzL0FQSS9Db2NvYS9XS05hdmlnYXRpb25BY3Rpb24u
bW0KK1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tOYXZpZ2F0aW9uRGF0YS5tbQorVUlQcm9jZXNzL0FQ
SS9Db2NvYS9XS05hdmlnYXRpb25SZXNwb25zZS5tbQorVUlQcm9jZXNzL0FQSS9Db2NvYS9XS05T
VVJMQXV0aGVudGljYXRpb25DaGFsbGVuZ2UubW0KK1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tPcGVu
UGFuZWxQYXJhbWV0ZXJzLm1tCitVSVByb2Nlc3MvQVBJL0NvY29hL1dLUHJlZmVyZW5jZXMubW0K
K1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tQcmV2aWV3QWN0aW9uSXRlbS5tbQorVUlQcm9jZXNzL0FQ
SS9Db2NvYS9XS1ByZXZpZXdBY3Rpb25JdGVtSWRlbnRpZmllcnMubW0KK1VJUHJvY2Vzcy9BUEkv
Q29jb2EvV0tQcmV2aWV3RWxlbWVudEluZm8ubW0KK1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tQcm9j
ZXNzR3JvdXAubW0KK1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tQcm9jZXNzUG9vbC5tbQorVUlQcm9j
ZXNzL0FQSS9Db2NvYS9XS1NjcmlwdE1lc3NhZ2UubW0KK1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tT
ZWN1cml0eU9yaWdpbi5tbQorVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1NuYXBzaG90Q29uZmlndXJh
dGlvbi5tbQorVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1R5cGVSZWZXcmFwcGVyLm1tCitVSVByb2Nl
c3MvQVBJL0NvY29hL1dLVVJMU2NoZW1lVGFzay5tbQorVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1Vz
ZXJDb250ZW50Q29udHJvbGxlci5tbQorVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1VzZXJTY3JpcHQu
bW0KK1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJzaXRlRGF0YVJlY29yZC5tbQorVUlQcm9jZXNz
L0FQSS9Db2NvYS9XS1dlYnNpdGVEYXRhU3RvcmUubW0KK1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tX
ZWJWaWV3Lm1tCitVSVByb2Nlc3MvQVBJL0NvY29hL1dLV2ViVmlld0NvbmZpZ3VyYXRpb24ubW0K
K1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXaW5kb3dGZWF0dXJlcy5tbQorCitVSVByb2Nlc3MvQVBJ
L21hYy9XS1ZpZXcubW0KIAogVUlQcm9jZXNzL0FwcGxlUGF5L2NvY29hL1dlYlBheW1lbnRDb29y
ZGluYXRvclByb3h5Q29jb2EubW0KIApAQCAtNDc3LDIzICs0NzksMjMgQEAgV2ViUHJvY2Vzcy9J
bmplY3RlZEJ1bmRsZS9BUEkvYy9XS0J1bmRsZVBhZ2VCYW5uZXIuY3BwCiBXZWJQcm9jZXNzL0lu
amVjdGVkQnVuZGxlL0FQSS9jL21hYy9XS0J1bmRsZU1hYy5tbQogV2ViUHJvY2Vzcy9JbmplY3Rl
ZEJ1bmRsZS9BUEkvYy9tYWMvV0tCdW5kbGVQYWdlQmFubmVyTWFjLm1tCiAKLVdlYlByb2Nlc3Mv
SW5qZWN0ZWRCdW5kbGUvQVBJL0NvY29hL1dLV2ViUHJvY2Vzc0J1bmRsZVBhcmFtZXRlcnMubW0g
QG5vLXVuaWZ5Ci1XZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0FQSS9Db2NvYS9XS1dlYlByb2Nl
c3NQbHVnSW5GcmFtZS5tbSBAbm8tdW5pZnkKLVdlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvQVBJ
L0NvY29hL1dLV2ViUHJvY2Vzc1BsdWdJbkhpdFRlc3RSZXN1bHQubW0gQG5vLXVuaWZ5Ci1XZWJQ
cm9jZXNzL0luamVjdGVkQnVuZGxlL0FQSS9Db2NvYS9XS1dlYlByb2Nlc3NQbHVnSW5Ob2RlSGFu
ZGxlLm1tIEBuby11bmlmeQotV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9BUEkvQ29jb2EvV0tX
ZWJQcm9jZXNzUGx1Z0luUGFnZUdyb3VwLm1tIEBuby11bmlmeQotV2ViUHJvY2Vzcy9JbmplY3Rl
ZEJ1bmRsZS9BUEkvQ29jb2EvV0tXZWJQcm9jZXNzUGx1Z0luUmFuZ2VIYW5kbGUubW0gQG5vLXVu
aWZ5Ci1XZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0FQSS9Db2NvYS9XS1dlYlByb2Nlc3NQbHVn
SW5TY3JpcHRXb3JsZC5tbSBAbm8tdW5pZnkKLQotV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9B
UEkvbWFjL1dLRE9NRG9jdW1lbnQubW0gQG5vLXVuaWZ5Ci1XZWJQcm9jZXNzL0luamVjdGVkQnVu
ZGxlL0FQSS9tYWMvV0tET01FbGVtZW50Lm1tIEBuby11bmlmeQotV2ViUHJvY2Vzcy9JbmplY3Rl
ZEJ1bmRsZS9BUEkvbWFjL1dLRE9NSW50ZXJuYWxzLm1tIEBuby11bmlmeQotV2ViUHJvY2Vzcy9J
bmplY3RlZEJ1bmRsZS9BUEkvbWFjL1dLRE9NTm9kZS5tbSBAbm8tdW5pZnkKLVdlYlByb2Nlc3Mv
SW5qZWN0ZWRCdW5kbGUvQVBJL21hYy9XS0RPTVJhbmdlLm1tIEBuby11bmlmeQotV2ViUHJvY2Vz
cy9JbmplY3RlZEJ1bmRsZS9BUEkvbWFjL1dLRE9NVGV4dC5tbSBAbm8tdW5pZnkKLVdlYlByb2Nl
c3MvSW5qZWN0ZWRCdW5kbGUvQVBJL21hYy9XS0RPTVRleHRJdGVyYXRvci5tbSBAbm8tdW5pZnkK
LVdlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvQVBJL21hYy9XS1dlYlByb2Nlc3NQbHVnSW4ubW0g
QG5vLXVuaWZ5Ci1XZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0FQSS9tYWMvV0tXZWJQcm9jZXNz
UGx1Z0luQnJvd3NlckNvbnRleHRDb250cm9sbGVyLm1tIEBuby11bmlmeQorV2ViUHJvY2Vzcy9J
bmplY3RlZEJ1bmRsZS9BUEkvQ29jb2EvV0tXZWJQcm9jZXNzQnVuZGxlUGFyYW1ldGVycy5tbQor
V2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9BUEkvQ29jb2EvV0tXZWJQcm9jZXNzUGx1Z0luRnJh
bWUubW0KK1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvQVBJL0NvY29hL1dLV2ViUHJvY2Vzc1Bs
dWdJbkhpdFRlc3RSZXN1bHQubW0KK1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvQVBJL0NvY29h
L1dLV2ViUHJvY2Vzc1BsdWdJbk5vZGVIYW5kbGUubW0KK1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5k
bGUvQVBJL0NvY29hL1dLV2ViUHJvY2Vzc1BsdWdJblBhZ2VHcm91cC5tbQorV2ViUHJvY2Vzcy9J
bmplY3RlZEJ1bmRsZS9BUEkvQ29jb2EvV0tXZWJQcm9jZXNzUGx1Z0luUmFuZ2VIYW5kbGUubW0K
K1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvQVBJL0NvY29hL1dLV2ViUHJvY2Vzc1BsdWdJblNj
cmlwdFdvcmxkLm1tCisKK1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvQVBJL21hYy9XS0RPTURv
Y3VtZW50Lm1tCitXZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0FQSS9tYWMvV0tET01FbGVtZW50
Lm1tCitXZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0FQSS9tYWMvV0tET01JbnRlcm5hbHMubW0K
K1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvQVBJL21hYy9XS0RPTU5vZGUubW0KK1dlYlByb2Nl
c3MvSW5qZWN0ZWRCdW5kbGUvQVBJL21hYy9XS0RPTVJhbmdlLm1tCitXZWJQcm9jZXNzL0luamVj
dGVkQnVuZGxlL0FQSS9tYWMvV0tET01UZXh0Lm1tCitXZWJQcm9jZXNzL0luamVjdGVkQnVuZGxl
L0FQSS9tYWMvV0tET01UZXh0SXRlcmF0b3IubW0KK1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUv
QVBJL21hYy9XS1dlYlByb2Nlc3NQbHVnSW4ubW0KK1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUv
QVBJL21hYy9XS1dlYlByb2Nlc3NQbHVnSW5Ccm93c2VyQ29udGV4dENvbnRyb2xsZXIubW0KIAog
V2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9tYWMvSW5qZWN0ZWRCdW5kbGVNYWMubW0KIApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL0FQSUNvbnRlbnRSdWxl
TGlzdFN0b3JlQ29jb2EubW0gYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvQVBJ
Q29udGVudFJ1bGVMaXN0U3RvcmVDb2NvYS5tbQppbmRleCBkNTE4ZjA1MzNkMmU0MDY4MTg2ZTJk
OTllOGJmMTVlNjYwZjNlZmVhLi4wNjI1ZjIzMmQzZDAwYTUxNTkzZmMxNTg0ZmQ1ZTBlZGVkZjk5
ZGMyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvQVBJQ29u
dGVudFJ1bGVMaXN0U3RvcmVDb2NvYS5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9B
UEkvQ29jb2EvQVBJQ29udGVudFJ1bGVMaXN0U3RvcmVDb2NvYS5tbQpAQCAtMzIsNyArMzIsNyBA
QAogCiBuYW1lc3BhY2UgQVBJIHsKIAotU3RyaW5nIENvbnRlbnRSdWxlTGlzdFN0b3JlOjpkZWZh
dWx0U3RvcmVQYXRoKGJvb2wgbGVnYWN5RmlsZW5hbWUpCitXVEY6OlN0cmluZyBDb250ZW50UnVs
ZUxpc3RTdG9yZTo6ZGVmYXVsdFN0b3JlUGF0aChib29sIGxlZ2FjeUZpbGVuYW1lKQogewogICAg
IHN0YXRpYyBkaXNwYXRjaF9vbmNlX3Qgb25jZVRva2VuOwogICAgIHN0YXRpYyBOU1VSTCAqY29u
dGVudFJ1bGVMaXN0U3RvcmVVUkw7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vz
cy9BUEkvQ29jb2EvV0tCYWNrRm9yd2FyZExpc3QubW0gYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vz
cy9BUEkvQ29jb2EvV0tCYWNrRm9yd2FyZExpc3QubW0KaW5kZXggNzllNWQyMzliOWI4MGNmNjc0
MTdlOTNmODg4Yzk5OTYyMDA0ZDdmOS4uZTZjZjcwZGEzZDI2NWE5ZWVkYzQxOTg0M2RlNzFiNGEy
Y2VlNzQwNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL1dL
QmFja0ZvcndhcmRMaXN0Lm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2Nv
YS9XS0JhY2tGb3J3YXJkTGlzdC5tbQpAQCAtMzEsMTAgKzMxLDggQEAKICNpbXBvcnQgIldLQmFj
a0ZvcndhcmRMaXN0SXRlbUludGVybmFsLmgiCiAjaW1wb3J0ICJXS05TQXJyYXkuaCIKIAotdXNp
bmcgbmFtZXNwYWNlIFdlYktpdDsKLQogQGltcGxlbWVudGF0aW9uIFdLQmFja0ZvcndhcmRMaXN0
IHsKLSAgICBBUEk6Ok9iamVjdFN0b3JhZ2U8V2ViQmFja0ZvcndhcmRMaXN0PiBfbGlzdDsKKyAg
ICBBUEk6Ok9iamVjdFN0b3JhZ2U8V2ViS2l0OjpXZWJCYWNrRm9yd2FyZExpc3Q+IF9saXN0Owog
fQogCiAtICh2b2lkKWRlYWxsb2MKQEAgLTQ2LDMyICs0NCwzMiBAQCB1c2luZyBuYW1lc3BhY2Ug
V2ViS2l0OwogCiAtIChXS0JhY2tGb3J3YXJkTGlzdEl0ZW0gKiljdXJyZW50SXRlbQogewotICAg
IHJldHVybiB3cmFwcGVyKF9saXN0LT5jdXJyZW50SXRlbSgpKTsKKyAgICByZXR1cm4gV2ViS2l0
Ojp3cmFwcGVyKF9saXN0LT5jdXJyZW50SXRlbSgpKTsKIH0KIAogLSAoV0tCYWNrRm9yd2FyZExp
c3RJdGVtICopYmFja0l0ZW0KIHsKLSAgICByZXR1cm4gd3JhcHBlcihfbGlzdC0+YmFja0l0ZW0o
KSk7CisgICAgcmV0dXJuIFdlYktpdDo6d3JhcHBlcihfbGlzdC0+YmFja0l0ZW0oKSk7CiB9CiAK
IC0gKFdLQmFja0ZvcndhcmRMaXN0SXRlbSAqKWZvcndhcmRJdGVtCiB7Ci0gICAgcmV0dXJuIHdy
YXBwZXIoX2xpc3QtPmZvcndhcmRJdGVtKCkpOworICAgIHJldHVybiBXZWJLaXQ6OndyYXBwZXIo
X2xpc3QtPmZvcndhcmRJdGVtKCkpOwogfQogCiAtIChXS0JhY2tGb3J3YXJkTGlzdEl0ZW0gKilp
dGVtQXRJbmRleDooTlNJbnRlZ2VyKWluZGV4CiB7Ci0gICAgcmV0dXJuIHdyYXBwZXIoX2xpc3Qt
Pml0ZW1BdEluZGV4KGluZGV4KSk7CisgICAgcmV0dXJuIFdlYktpdDo6d3JhcHBlcihfbGlzdC0+
aXRlbUF0SW5kZXgoaW5kZXgpKTsKIH0KIAogLSAoTlNBcnJheSAqKWJhY2tMaXN0CiB7Ci0gICAg
cmV0dXJuIHdyYXBwZXIoX2xpc3QtPmJhY2tMaXN0KCkpOworICAgIHJldHVybiBXZWJLaXQ6Ondy
YXBwZXIoX2xpc3QtPmJhY2tMaXN0KCkpOwogfQogCiAtIChOU0FycmF5ICopZm9yd2FyZExpc3QK
IHsKLSAgICByZXR1cm4gd3JhcHBlcihfbGlzdC0+Zm9yd2FyZExpc3QoKSk7CisgICAgcmV0dXJu
IFdlYktpdDo6d3JhcHBlcihfbGlzdC0+Zm9yd2FyZExpc3QoKSk7CiB9CiAKICNwcmFnbWEgbWFy
ayBXS09iamVjdCBwcm90b2NvbCBpbXBsZW1lbnRhdGlvbgpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL1dLQmFja0ZvcndhcmRMaXN0SXRlbS5tbSBiL1NvdXJj
ZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS0JhY2tGb3J3YXJkTGlzdEl0ZW0ubW0KaW5k
ZXggNjAxMzI4NzAxOWQ5MWRjM2JhZmViNDYxZmQwNmM2ZGM1MDUzZmZhZS4uY2Q4MThlZmQ1ZTZk
MjlhOTQyNmQxODhmNmVhOGUxMTc5MjU3ZDgyMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9V
SVByb2Nlc3MvQVBJL0NvY29hL1dLQmFja0ZvcndhcmRMaXN0SXRlbS5tbQorKysgYi9Tb3VyY2Uv
V2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tCYWNrRm9yd2FyZExpc3RJdGVtLm1tCkBAIC0z
MCwxMCArMzAsOCBAQAogCiAjaW1wb3J0ICJXS05TVVJMRXh0cmFzLmgiCiAKLXVzaW5nIG5hbWVz
cGFjZSBXZWJLaXQ7Ci0KIEBpbXBsZW1lbnRhdGlvbiBXS0JhY2tGb3J3YXJkTGlzdEl0ZW0gewot
ICAgIEFQSTo6T2JqZWN0U3RvcmFnZTxXZWJCYWNrRm9yd2FyZExpc3RJdGVtPiBfaXRlbTsKKyAg
ICBBUEk6Ok9iamVjdFN0b3JhZ2U8V2ViS2l0OjpXZWJCYWNrRm9yd2FyZExpc3RJdGVtPiBfaXRl
bTsKIH0KIAogLSAodm9pZClkZWFsbG9jCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJv
Y2Vzcy9BUEkvQ29jb2EvV0tCcm93c2luZ0NvbnRleHRDb250cm9sbGVyLm1tIGIvU291cmNlL1dl
YktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL1dLQnJvd3NpbmdDb250ZXh0Q29udHJvbGxlci5tbQpp
bmRleCBlZDQyODZlMTQ4ZWIzNjQxOGE0M2MwMDY5NzFiMDU4NzBmYzQ4ZWUzLi4zOTExMjdhMTlm
OWI3YTM0OWI3MjU1YThjMjMxOTA2ZDk4ZjJmZjg5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
L1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tCcm93c2luZ0NvbnRleHRDb250cm9sbGVyLm1tCisrKyBi
L1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS0Jyb3dzaW5nQ29udGV4dENvbnRy
b2xsZXIubW0KQEAgLTYxLDkgKzYxLDYgQEAKICNpbXBvcnQgPHd0Zi9OZXZlckRlc3Ryb3llZC5o
PgogI2ltcG9ydCA8d3RmL1dlYWtPYmpDUHRyLmg+CiAKLXVzaW5nIG5hbWVzcGFjZSBXZWJDb3Jl
OwotdXNpbmcgbmFtZXNwYWNlIFdlYktpdDsKLQogTlNTdHJpbmcgKiBjb25zdCBXS0FjdGlvbklz
TWFpbkZyYW1lS2V5ID0gQCJXS0FjdGlvbklzTWFpbkZyYW1lS2V5IjsKIE5TU3RyaW5nICogY29u
c3QgV0tBY3Rpb25OYXZpZ2F0aW9uVHlwZUtleSA9IEAiV0tBY3Rpb25OYXZpZ2F0aW9uVHlwZUtl
eSI7CiBOU1N0cmluZyAqIGNvbnN0IFdLQWN0aW9uTW91c2VCdXR0b25LZXkgPSBAIldLQWN0aW9u
TW91c2VCdXR0b25LZXkiOwpAQCAtNzYsMTYgKzczLDE2IEBAIE5TU3RyaW5nICogY29uc3QgV0tB
Y3Rpb25PcmlnaW5hdGluZ0ZyYW1lVVJMS2V5ID0gQCJXS0FjdGlvbk9yaWdpbmF0aW5nRnJhbWVV
UkxLCiBOU1N0cmluZyAqIGNvbnN0IFdLQWN0aW9uQ2FuU2hvd01JTUVUeXBlS2V5ID0gQCJXS0Fj
dGlvbkNhblNob3dNSU1FVHlwZUtleSI7CiAKIEBpbXBsZW1lbnRhdGlvbiBXS0Jyb3dzaW5nQ29u
dGV4dENvbnRyb2xsZXIgewotICAgIFJlZlB0cjxXZWJQYWdlUHJveHk+IF9wYWdlOwotICAgIHN0
ZDo6dW5pcXVlX3B0cjxQYWdlTG9hZFN0YXRlT2JzZXJ2ZXI+IF9wYWdlTG9hZFN0YXRlT2JzZXJ2
ZXI7CisgICAgUmVmUHRyPFdlYktpdDo6V2ViUGFnZVByb3h5PiBfcGFnZTsKKyAgICBzdGQ6OnVu
aXF1ZV9wdHI8V2ViS2l0OjpQYWdlTG9hZFN0YXRlT2JzZXJ2ZXI+IF9wYWdlTG9hZFN0YXRlT2Jz
ZXJ2ZXI7CiAKICAgICBXZWFrT2JqQ1B0cjxpZCA8V0tCcm93c2luZ0NvbnRleHRMb2FkRGVsZWdh
dGU+PiBfbG9hZERlbGVnYXRlOwogICAgIFdlYWtPYmpDUHRyPGlkIDxXS0Jyb3dzaW5nQ29udGV4
dFBvbGljeURlbGVnYXRlPj4gX3BvbGljeURlbGVnYXRlOwogfQogCi1zdGF0aWMgSGFzaE1hcDxX
ZWJQYWdlUHJveHkqLCBfX3Vuc2FmZV91bnJldGFpbmVkIFdLQnJvd3NpbmdDb250ZXh0Q29udHJv
bGxlciAqPiYgYnJvd3NpbmdDb250ZXh0Q29udHJvbGxlck1hcCgpCitzdGF0aWMgSGFzaE1hcDxX
ZWJLaXQ6OldlYlBhZ2VQcm94eSosIF9fdW5zYWZlX3VucmV0YWluZWQgV0tCcm93c2luZ0NvbnRl
eHRDb250cm9sbGVyICo+JiBicm93c2luZ0NvbnRleHRDb250cm9sbGVyTWFwKCkKIHsKLSAgICBz
dGF0aWMgTmV2ZXJEZXN0cm95ZWQ8SGFzaE1hcDxXZWJQYWdlUHJveHkqLCBfX3Vuc2FmZV91bnJl
dGFpbmVkIFdLQnJvd3NpbmdDb250ZXh0Q29udHJvbGxlciAqPj4gYnJvd3NpbmdDb250ZXh0Q29u
dHJvbGxlck1hcDsKKyAgICBzdGF0aWMgTmV2ZXJEZXN0cm95ZWQ8SGFzaE1hcDxXZWJLaXQ6Oldl
YlBhZ2VQcm94eSosIF9fdW5zYWZlX3VucmV0YWluZWQgV0tCcm93c2luZ0NvbnRleHRDb250cm9s
bGVyICo+PiBicm93c2luZ0NvbnRleHRDb250cm9sbGVyTWFwOwogICAgIHJldHVybiBicm93c2lu
Z0NvbnRleHRDb250cm9sbGVyTWFwOwogfQogCkBAIC0xMDMsMTIgKzEwMCwxMiBAQCBzdGF0aWMg
SGFzaE1hcDxXZWJQYWdlUHJveHkqLCBfX3Vuc2FmZV91bnJldGFpbmVkIFdLQnJvd3NpbmdDb250
ZXh0Q29udHJvbGxlciAqPgogCiArICh2b2lkKXJlZ2lzdGVyU2NoZW1lRm9yQ3VzdG9tUHJvdG9j
b2w6KE5TU3RyaW5nICopc2NoZW1lCiB7Ci0gICAgV2ViUHJvY2Vzc1Bvb2w6OnJlZ2lzdGVyR2xv
YmFsVVJMU2NoZW1lQXNIYXZpbmdDdXN0b21Qcm90b2NvbEhhbmRsZXJzKHNjaGVtZSk7CisgICAg
V2ViS2l0OjpXZWJQcm9jZXNzUG9vbDo6cmVnaXN0ZXJHbG9iYWxVUkxTY2hlbWVBc0hhdmluZ0N1
c3RvbVByb3RvY29sSGFuZGxlcnMoc2NoZW1lKTsKIH0KIAogKyAodm9pZCl1bnJlZ2lzdGVyU2No
ZW1lRm9yQ3VzdG9tUHJvdG9jb2w6KE5TU3RyaW5nICopc2NoZW1lCiB7Ci0gICAgV2ViUHJvY2Vz
c1Bvb2w6OnVucmVnaXN0ZXJHbG9iYWxVUkxTY2hlbWVBc0hhdmluZ0N1c3RvbVByb3RvY29sSGFu
ZGxlcnMoc2NoZW1lKTsKKyAgICBXZWJLaXQ6OldlYlByb2Nlc3NQb29sOjp1bnJlZ2lzdGVyR2xv
YmFsVVJMU2NoZW1lQXNIYXZpbmdDdXN0b21Qcm90b2NvbEhhbmRsZXJzKHNjaGVtZSk7CiB9CiAK
IC0gKHZvaWQpbG9hZFJlcXVlc3Q6KE5TVVJMUmVxdWVzdCAqKXJlcXVlc3QKQEAgLTExOCwxMSAr
MTE1LDExIEBAIHN0YXRpYyBIYXNoTWFwPFdlYlBhZ2VQcm94eSosIF9fdW5zYWZlX3VucmV0YWlu
ZWQgV0tCcm93c2luZ0NvbnRleHRDb250cm9sbGVyICo+CiAKIC0gKHZvaWQpbG9hZFJlcXVlc3Q6
KE5TVVJMUmVxdWVzdCAqKXJlcXVlc3QgdXNlckRhdGE6KGlkKXVzZXJEYXRhCiB7Ci0gICAgUmVm
UHRyPE9iakNPYmplY3RHcmFwaD4gd2tVc2VyRGF0YTsKKyAgICBSZWZQdHI8V2ViS2l0OjpPYmpD
T2JqZWN0R3JhcGg+IHdrVXNlckRhdGE7CiAgICAgaWYgKHVzZXJEYXRhKQotICAgICAgICB3a1Vz
ZXJEYXRhID0gT2JqQ09iamVjdEdyYXBoOjpjcmVhdGUodXNlckRhdGEpOworICAgICAgICB3a1Vz
ZXJEYXRhID0gV2ViS2l0OjpPYmpDT2JqZWN0R3JhcGg6OmNyZWF0ZSh1c2VyRGF0YSk7CiAKLSAg
ICBfcGFnZS0+bG9hZFJlcXVlc3QocmVxdWVzdCwgU2hvdWxkT3BlbkV4dGVybmFsVVJMc1BvbGlj
eTo6U2hvdWxkTm90QWxsb3csIHdrVXNlckRhdGEuZ2V0KCkpOworICAgIF9wYWdlLT5sb2FkUmVx
dWVzdChyZXF1ZXN0LCBXZWJDb3JlOjpTaG91bGRPcGVuRXh0ZXJuYWxVUkxzUG9saWN5OjpTaG91
bGROb3RBbGxvdywgd2tVc2VyRGF0YS5nZXQoKSk7CiB9CiAKIC0gKHZvaWQpbG9hZEZpbGVVUkw6
KE5TVVJMICopVVJMIHJlc3RyaWN0VG9GaWxlc1dpdGhpbjooTlNVUkwgKilhbGxvd2VkRGlyZWN0
b3J5CkBAIC0xMzUsOSArMTMyLDkgQEAgc3RhdGljIEhhc2hNYXA8V2ViUGFnZVByb3h5KiwgX191
bnNhZmVfdW5yZXRhaW5lZCBXS0Jyb3dzaW5nQ29udGV4dENvbnRyb2xsZXIgKj4KICAgICBpZiAo
IVtVUkwgaXNGaWxlVVJMXSB8fCAoYWxsb3dlZERpcmVjdG9yeSAmJiAhW2FsbG93ZWREaXJlY3Rv
cnkgaXNGaWxlVVJMXSkpCiAgICAgICAgIFtOU0V4Y2VwdGlvbiByYWlzZTpOU0ludmFsaWRBcmd1
bWVudEV4Y2VwdGlvbiBmb3JtYXQ6QCJBdHRlbXB0ZWQgdG8gbG9hZCBhIG5vbi1maWxlIFVSTCJd
OwogCi0gICAgUmVmUHRyPE9iakNPYmplY3RHcmFwaD4gd2tVc2VyRGF0YTsKKyAgICBSZWZQdHI8
V2ViS2l0OjpPYmpDT2JqZWN0R3JhcGg+IHdrVXNlckRhdGE7CiAgICAgaWYgKHVzZXJEYXRhKQot
ICAgICAgICB3a1VzZXJEYXRhID0gT2JqQ09iamVjdEdyYXBoOjpjcmVhdGUodXNlckRhdGEpOwor
ICAgICAgICB3a1VzZXJEYXRhID0gV2ViS2l0OjpPYmpDT2JqZWN0R3JhcGg6OmNyZWF0ZSh1c2Vy
RGF0YSk7CiAKICAgICBfcGFnZS0+bG9hZEZpbGUoW1VSTCBfd2ViX29yaWdpbmFsRGF0YUFzV1RG
U3RyaW5nXSwgW2FsbG93ZWREaXJlY3RvcnkgX3dlYl9vcmlnaW5hbERhdGFBc1dURlN0cmluZ10s
IHdrVXNlckRhdGEuZ2V0KCkpOwogfQpAQCAtMTQ5LDkgKzE0Niw5IEBAIHN0YXRpYyBIYXNoTWFw
PFdlYlBhZ2VQcm94eSosIF9fdW5zYWZlX3VucmV0YWluZWQgV0tCcm93c2luZ0NvbnRleHRDb250
cm9sbGVyICo+CiAKIC0gKHZvaWQpbG9hZEhUTUxTdHJpbmc6KE5TU3RyaW5nICopSFRNTFN0cmlu
ZyBiYXNlVVJMOihOU1VSTCAqKWJhc2VVUkwgdXNlckRhdGE6KGlkKXVzZXJEYXRhCiB7Ci0gICAg
UmVmUHRyPE9iakNPYmplY3RHcmFwaD4gd2tVc2VyRGF0YTsKKyAgICBSZWZQdHI8V2ViS2l0OjpP
YmpDT2JqZWN0R3JhcGg+IHdrVXNlckRhdGE7CiAgICAgaWYgKHVzZXJEYXRhKQotICAgICAgICB3
a1VzZXJEYXRhID0gT2JqQ09iamVjdEdyYXBoOjpjcmVhdGUodXNlckRhdGEpOworICAgICAgICB3
a1VzZXJEYXRhID0gV2ViS2l0OjpPYmpDT2JqZWN0R3JhcGg6OmNyZWF0ZSh1c2VyRGF0YSk7CiAK
ICAgICBOU0RhdGEgKmRhdGEgPSBbSFRNTFN0cmluZyBkYXRhVXNpbmdFbmNvZGluZzpOU1VURjhT
dHJpbmdFbmNvZGluZ107CiAgICAgX3BhZ2UtPmxvYWREYXRhKHsgc3RhdGljX2Nhc3Q8Y29uc3Qg
dWludDhfdCo+KGRhdGEuYnl0ZXMpLCBkYXRhLmxlbmd0aCB9LCAidGV4dC9odG1sIl9zLCAiVVRG
LTgiX3MsIFtiYXNlVVJMIF93ZWJfb3JpZ2luYWxEYXRhQXNXVEZTdHJpbmddLCB3a1VzZXJEYXRh
LmdldCgpKTsKQEAgLTE3MCw5ICsxNjcsOSBAQCBzdGF0aWMgSGFzaE1hcDxXZWJQYWdlUHJveHkq
LCBfX3Vuc2FmZV91bnJldGFpbmVkIFdLQnJvd3NpbmdDb250ZXh0Q29udHJvbGxlciAqPgogCiAt
ICh2b2lkKWxvYWREYXRhOihOU0RhdGEgKilkYXRhIE1JTUVUeXBlOihOU1N0cmluZyAqKU1JTUVU
eXBlIHRleHRFbmNvZGluZ05hbWU6KE5TU3RyaW5nICopZW5jb2RpbmdOYW1lIGJhc2VVUkw6KE5T
VVJMICopYmFzZVVSTCB1c2VyRGF0YTooaWQpdXNlckRhdGEKIHsKLSAgICBSZWZQdHI8T2JqQ09i
amVjdEdyYXBoPiB3a1VzZXJEYXRhOworICAgIFJlZlB0cjxXZWJLaXQ6Ok9iakNPYmplY3RHcmFw
aD4gd2tVc2VyRGF0YTsKICAgICBpZiAodXNlckRhdGEpCi0gICAgICAgIHdrVXNlckRhdGEgPSBP
YmpDT2JqZWN0R3JhcGg6OmNyZWF0ZSh1c2VyRGF0YSk7CisgICAgICAgIHdrVXNlckRhdGEgPSBX
ZWJLaXQ6Ok9iakNPYmplY3RHcmFwaDo6Y3JlYXRlKHVzZXJEYXRhKTsKIAogICAgIF9wYWdlLT5s
b2FkRGF0YSh7IHN0YXRpY19jYXN0PGNvbnN0IHVpbnQ4X3QqPihkYXRhLmJ5dGVzKSwgZGF0YS5s
ZW5ndGggfSwgTUlNRVR5cGUsIGVuY29kaW5nTmFtZSwgW2Jhc2VVUkwgX3dlYl9vcmlnaW5hbERh
dGFBc1dURlN0cmluZ10sIHdrVXNlckRhdGEuZ2V0KCkpOwogfQpAQCAtMjkyLDcgKzI4OSw3IEBA
IHN0YXRpYyBIYXNoTWFwPFdlYlBhZ2VQcm94eSosIF9fdW5zYWZlX3VucmV0YWluZWQgV0tCcm93
c2luZ0NvbnRleHRDb250cm9sbGVyICo+CiAKIC0gKE5TQXJyYXkgKiljZXJ0aWZpY2F0ZUNoYWlu
CiB7Ci0gICAgaWYgKFdlYkZyYW1lUHJveHkqIG1haW5GcmFtZSA9IF9wYWdlLT5tYWluRnJhbWUo
KSkKKyAgICBpZiAoV2ViS2l0OjpXZWJGcmFtZVByb3h5KiBtYWluRnJhbWUgPSBfcGFnZS0+bWFp
bkZyYW1lKCkpCiAgICAgICAgIHJldHVybiBtYWluRnJhbWUtPmNlcnRpZmljYXRlSW5mbygpID8g
KF9fYnJpZGdlIE5TQXJyYXkgKiltYWluRnJhbWUtPmNlcnRpZmljYXRlSW5mbygpLT5jZXJ0aWZp
Y2F0ZUluZm8oKS5jZXJ0aWZpY2F0ZUNoYWluKCkgOiBuaWw7CiAKICAgICByZXR1cm4gbmlsOwpA
QCAtMzQ0LDcgKzM0MSw3IEBAIHN0YXRpYyB2b2lkIGRpZEZhaWxQcm92aXNpb25hbE5hdmlnYXRp
b24oV0tQYWdlUmVmIHBhZ2UsIFdLTmF2aWdhdGlvblJlZiwgV0tFcnJvCiAgICAgYXV0byBsb2Fk
RGVsZWdhdGUgPSBicm93c2luZ0NvbnRleHQtPl9sb2FkRGVsZWdhdGUuZ2V0KCk7CiAKICAgICBp
ZiAoW2xvYWREZWxlZ2F0ZSByZXNwb25kc1RvU2VsZWN0b3I6QHNlbGVjdG9yKGJyb3dzaW5nQ29u
dGV4dENvbnRyb2xsZXI6ZGlkRmFpbFByb3Zpc2lvbmFsTG9hZFdpdGhFcnJvcjopXSkKLSAgICAg
ICAgW2xvYWREZWxlZ2F0ZSBicm93c2luZ0NvbnRleHRDb250cm9sbGVyOmJyb3dzaW5nQ29udGV4
dCBkaWRGYWlsUHJvdmlzaW9uYWxMb2FkV2l0aEVycm9yOndyYXBwZXIoKnRvSW1wbChlcnJvcikp
XTsKKyAgICAgICAgW2xvYWREZWxlZ2F0ZSBicm93c2luZ0NvbnRleHRDb250cm9sbGVyOmJyb3dz
aW5nQ29udGV4dCBkaWRGYWlsUHJvdmlzaW9uYWxMb2FkV2l0aEVycm9yOndyYXBwZXIoKldlYktp
dDo6dG9JbXBsKGVycm9yKSldOwogfQogCiBzdGF0aWMgdm9pZCBkaWRDb21taXROYXZpZ2F0aW9u
KFdLUGFnZVJlZiBwYWdlLCBXS05hdmlnYXRpb25SZWYsIFdLVHlwZVJlZiB1c2VyRGF0YSwgY29u
c3Qgdm9pZCogY2xpZW50SW5mbykKQEAgLTM3MSw3ICszNjgsNyBAQCBzdGF0aWMgdm9pZCBkaWRG
YWlsTmF2aWdhdGlvbihXS1BhZ2VSZWYgcGFnZSwgV0tOYXZpZ2F0aW9uUmVmLCBXS0Vycm9yUmVm
IGVycm9yLAogICAgIGF1dG8gbG9hZERlbGVnYXRlID0gYnJvd3NpbmdDb250ZXh0LT5fbG9hZERl
bGVnYXRlLmdldCgpOwogCiAgICAgaWYgKFtsb2FkRGVsZWdhdGUgcmVzcG9uZHNUb1NlbGVjdG9y
OkBzZWxlY3Rvcihicm93c2luZ0NvbnRleHRDb250cm9sbGVyOmRpZEZhaWxMb2FkV2l0aEVycm9y
OildKQotICAgICAgICBbbG9hZERlbGVnYXRlIGJyb3dzaW5nQ29udGV4dENvbnRyb2xsZXI6YnJv
d3NpbmdDb250ZXh0IGRpZEZhaWxMb2FkV2l0aEVycm9yOndyYXBwZXIoKnRvSW1wbChlcnJvcikp
XTsKKyAgICAgICAgW2xvYWREZWxlZ2F0ZSBicm93c2luZ0NvbnRleHRDb250cm9sbGVyOmJyb3dz
aW5nQ29udGV4dCBkaWRGYWlsTG9hZFdpdGhFcnJvcjp3cmFwcGVyKCpXZWJLaXQ6OnRvSW1wbChl
cnJvcikpXTsKIH0KIAogc3RhdGljIGJvb2wgY2FuQXV0aGVudGljYXRlQWdhaW5zdFByb3RlY3Rp
b25TcGFjZShXS1BhZ2VSZWYgcGFnZSwgV0tQcm90ZWN0aW9uU3BhY2VSZWYgcHJvdGVjdGlvblNw
YWNlLCBjb25zdCB2b2lkICpjbGllbnRJbmZvKQpAQCAtMzgwLDcgKzM3Nyw3IEBAIHN0YXRpYyBi
b29sIGNhbkF1dGhlbnRpY2F0ZUFnYWluc3RQcm90ZWN0aW9uU3BhY2UoV0tQYWdlUmVmIHBhZ2Us
IFdLUHJvdGVjdGlvblNwCiAgICAgYXV0byBsb2FkRGVsZWdhdGUgPSBicm93c2luZ0NvbnRleHQt
Pl9sb2FkRGVsZWdhdGUuZ2V0KCk7CiAKICAgICBpZiAoW2xvYWREZWxlZ2F0ZSByZXNwb25kc1Rv
U2VsZWN0b3I6QHNlbGVjdG9yKGJyb3dzaW5nQ29udGV4dENvbnRyb2xsZXI6Y2FuQXV0aGVudGlj
YXRlQWdhaW5zdFByb3RlY3Rpb25TcGFjZTopXSkKLSAgICAgICAgcmV0dXJuIFsoaWQgPFdLQnJv
d3NpbmdDb250ZXh0TG9hZERlbGVnYXRlUHJpdmF0ZT4pbG9hZERlbGVnYXRlIGJyb3dzaW5nQ29u
dGV4dENvbnRyb2xsZXI6YnJvd3NpbmdDb250ZXh0IGNhbkF1dGhlbnRpY2F0ZUFnYWluc3RQcm90
ZWN0aW9uU3BhY2U6dG9JbXBsKHByb3RlY3Rpb25TcGFjZSktPnByb3RlY3Rpb25TcGFjZSgpLm5z
U3BhY2UoKV07CisgICAgICAgIHJldHVybiBbKGlkIDxXS0Jyb3dzaW5nQ29udGV4dExvYWREZWxl
Z2F0ZVByaXZhdGU+KWxvYWREZWxlZ2F0ZSBicm93c2luZ0NvbnRleHRDb250cm9sbGVyOmJyb3dz
aW5nQ29udGV4dCBjYW5BdXRoZW50aWNhdGVBZ2FpbnN0UHJvdGVjdGlvblNwYWNlOldlYktpdDo6
dG9JbXBsKHByb3RlY3Rpb25TcGFjZSktPnByb3RlY3Rpb25TcGFjZSgpLm5zU3BhY2UoKV07CiAK
ICAgICByZXR1cm4gZmFsc2U7CiB9CkBAIC0zOTEsNyArMzg4LDcgQEAgc3RhdGljIHZvaWQgZGlk
UmVjZWl2ZUF1dGhlbnRpY2F0aW9uQ2hhbGxlbmdlKFdLUGFnZVJlZiBwYWdlLCBXS0F1dGhlbnRp
Y2F0aW9uQ2gKICAgICBhdXRvIGxvYWREZWxlZ2F0ZSA9IGJyb3dzaW5nQ29udGV4dC0+X2xvYWRE
ZWxlZ2F0ZS5nZXQoKTsKIAogICAgIGlmIChbbG9hZERlbGVnYXRlIHJlc3BvbmRzVG9TZWxlY3Rv
cjpAc2VsZWN0b3IoYnJvd3NpbmdDb250ZXh0Q29udHJvbGxlcjpkaWRSZWNlaXZlQXV0aGVudGlj
YXRpb25DaGFsbGVuZ2U6KV0pCi0gICAgICAgIFsoaWQgPFdLQnJvd3NpbmdDb250ZXh0TG9hZERl
bGVnYXRlUHJpdmF0ZT4pbG9hZERlbGVnYXRlIGJyb3dzaW5nQ29udGV4dENvbnRyb2xsZXI6YnJv
d3NpbmdDb250ZXh0IGRpZFJlY2VpdmVBdXRoZW50aWNhdGlvbkNoYWxsZW5nZTp3cmFwcGVyKCp0
b0ltcGwoYXV0aGVudGljYXRpb25DaGFsbGVuZ2UpKV07CisgICAgICAgIFsoaWQgPFdLQnJvd3Np
bmdDb250ZXh0TG9hZERlbGVnYXRlUHJpdmF0ZT4pbG9hZERlbGVnYXRlIGJyb3dzaW5nQ29udGV4
dENvbnRyb2xsZXI6YnJvd3NpbmdDb250ZXh0IGRpZFJlY2VpdmVBdXRoZW50aWNhdGlvbkNoYWxs
ZW5nZTp3cmFwcGVyKCpXZWJLaXQ6OnRvSW1wbChhdXRoZW50aWNhdGlvbkNoYWxsZW5nZSkpXTsK
IH0KIAogc3RhdGljIHZvaWQgcHJvY2Vzc0RpZENyYXNoKFdLUGFnZVJlZiBwYWdlLCBjb25zdCB2
b2lkKiBjbGllbnRJbmZvKQpAQCAtNDAzLDcgKzQwMCw3IEBAIHN0YXRpYyB2b2lkIHByb2Nlc3NE
aWRDcmFzaChXS1BhZ2VSZWYgcGFnZSwgY29uc3Qgdm9pZCogY2xpZW50SW5mbykKICAgICAgICAg
WyhpZCA8V0tCcm93c2luZ0NvbnRleHRMb2FkRGVsZWdhdGVQcml2YXRlPilsb2FkRGVsZWdhdGUg
YnJvd3NpbmdDb250ZXh0Q29udHJvbGxlcldlYlByb2Nlc3NEaWRDcmFzaDpicm93c2luZ0NvbnRl
eHRdOwogfQogCi1zdGF0aWMgdm9pZCBzZXRVcFBhZ2VMb2FkZXJDbGllbnQoV0tCcm93c2luZ0Nv
bnRleHRDb250cm9sbGVyICpicm93c2luZ0NvbnRleHQsIFdlYlBhZ2VQcm94eSYgcGFnZSkKK3N0
YXRpYyB2b2lkIHNldFVwUGFnZUxvYWRlckNsaWVudChXS0Jyb3dzaW5nQ29udGV4dENvbnRyb2xs
ZXIgKmJyb3dzaW5nQ29udGV4dCwgV2ViS2l0OjpXZWJQYWdlUHJveHkmIHBhZ2UpCiB7CiAgICAg
V0tQYWdlTmF2aWdhdGlvbkNsaWVudFYwIGxvYWRlckNsaWVudDsKICAgICBtZW1zZXQoJmxvYWRl
ckNsaWVudCwgMCwgc2l6ZW9mKGxvYWRlckNsaWVudCkpOwpAQCAtNDQ2LDcgKzQ0Myw3IEBAIHN0
YXRpYyBXS1BvbGljeURlY2lzaW9uSGFuZGxlciBtYWtlUG9saWN5RGVjaXNpb25CbG9jayhXS0Zy
YW1lUG9saWN5TGlzdGVuZXJSZWYKICAgICB9IGNvcHldIGF1dG9yZWxlYXNlXTsKIH0KIAotc3Rh
dGljIHZvaWQgc2V0VXBQYWdlUG9saWN5Q2xpZW50KFdLQnJvd3NpbmdDb250ZXh0Q29udHJvbGxl
ciAqYnJvd3NpbmdDb250ZXh0LCBXZWJQYWdlUHJveHkmIHBhZ2UpCitzdGF0aWMgdm9pZCBzZXRV
cFBhZ2VQb2xpY3lDbGllbnQoV0tCcm93c2luZ0NvbnRleHRDb250cm9sbGVyICpicm93c2luZ0Nv
bnRleHQsIFdlYktpdDo6V2ViUGFnZVByb3h5JiBwYWdlKQogewogICAgIFdLUGFnZVBvbGljeUNs
aWVudEludGVybmFsIHBvbGljeUNsaWVudDsKICAgICBtZW1zZXQoJnBvbGljeUNsaWVudCwgMCwg
c2l6ZW9mKHBvbGljeUNsaWVudCkpOwpAQCAtNDcxLDcgKzQ2OCw3IEBAIHN0YXRpYyB2b2lkIHNl
dFVwUGFnZVBvbGljeUNsaWVudChXS0Jyb3dzaW5nQ29udGV4dENvbnRyb2xsZXIgKmJyb3dzaW5n
Q29udGV4dCwKIAogICAgICAgICAgICAgaWYgKG9yaWdpbmF0aW5nRnJhbWUpIHsKICAgICAgICAg
ICAgICAgICBhY3Rpb25EaWN0aW9uYXJ5ID0gW1thY3Rpb25EaWN0aW9uYXJ5IG11dGFibGVDb3B5
XSBhdXRvcmVsZWFzZV07Ci0gICAgICAgICAgICAgICAgWyhOU011dGFibGVEaWN0aW9uYXJ5ICop
YWN0aW9uRGljdGlvbmFyeSBzZXRPYmplY3Q6W05TVVJMIF93ZWJfVVJMV2l0aFdURlN0cmluZzp0
b0ltcGwob3JpZ2luYXRpbmdGcmFtZSktPnVybCgpXSBmb3JLZXk6V0tBY3Rpb25PcmlnaW5hdGlu
Z0ZyYW1lVVJMS2V5XTsKKyAgICAgICAgICAgICAgICBbKE5TTXV0YWJsZURpY3Rpb25hcnkgKilh
Y3Rpb25EaWN0aW9uYXJ5IHNldE9iamVjdDpbTlNVUkwgX3dlYl9VUkxXaXRoV1RGU3RyaW5nOldl
YktpdDo6dG9JbXBsKG9yaWdpbmF0aW5nRnJhbWUpLT51cmwoKV0gZm9yS2V5OldLQWN0aW9uT3Jp
Z2luYXRpbmdGcmFtZVVSTEtleV07CiAgICAgICAgICAgICB9CiAgICAgICAgICAgICAKICAgICAg
ICAgICAgIFtwb2xpY3lEZWxlZ2F0ZSBicm93c2luZ0NvbnRleHRDb250cm9sbGVyOmJyb3dzaW5n
Q29udGV4dCBkZWNpZGVQb2xpY3lGb3JOYXZpZ2F0aW9uQWN0aW9uOmFjdGlvbkRpY3Rpb25hcnkg
ZGVjaXNpb25IYW5kbGVyOm1ha2VQb2xpY3lEZWNpc2lvbkJsb2NrKGxpc3RlbmVyKV07CkBAIC00
OTEsNyArNDg4LDcgQEAgc3RhdGljIHZvaWQgc2V0VXBQYWdlUG9saWN5Q2xpZW50KFdLQnJvd3Np
bmdDb250ZXh0Q29udHJvbGxlciAqYnJvd3NpbmdDb250ZXh0LAogICAgICAgICAgICAgICAgIFdL
QWN0aW9uTW9kaWZpZXJGbGFnc0tleTogQChtb2RpZmllcnMpLAogICAgICAgICAgICAgICAgIFdL
QWN0aW9uTW91c2VCdXR0b25LZXk6IEAobW91c2VCdXR0b24pLAogICAgICAgICAgICAgICAgIFdL
QWN0aW9uVVJMUmVxdWVzdEtleTogYWRvcHROUyhXS1VSTFJlcXVlc3RDb3B5TlNVUkxSZXF1ZXN0
KHJlcXVlc3QpKS5nZXQoKSwKLSAgICAgICAgICAgICAgICBXS0FjdGlvbkZyYW1lTmFtZUtleTog
dG9JbXBsKGZyYW1lTmFtZSktPndyYXBwZXIoKQorICAgICAgICAgICAgICAgIFdLQWN0aW9uRnJh
bWVOYW1lS2V5OiBXZWJLaXQ6OnRvSW1wbChmcmFtZU5hbWUpLT53cmFwcGVyKCkKICAgICAgICAg
ICAgIH07CiAgICAgICAgICAgICAKICAgICAgICAgICAgIFtwb2xpY3lEZWxlZ2F0ZSBicm93c2lu
Z0NvbnRleHRDb250cm9sbGVyOmJyb3dzaW5nQ29udGV4dCBkZWNpZGVQb2xpY3lGb3JOZXdXaW5k
b3dBY3Rpb246YWN0aW9uRGljdGlvbmFyeSBkZWNpc2lvbkhhbmRsZXI6bWFrZVBvbGljeURlY2lz
aW9uQmxvY2sobGlzdGVuZXIpXTsKQEAgLTU3MSw5ICs1NjgsOSBAQCBzdGF0aWMgdm9pZCBzZXRV
cFBhZ2VQb2xpY3lDbGllbnQoV0tCcm93c2luZ0NvbnRleHRDb250cm9sbGVyICpicm93c2luZ0Nv
bnRleHQsCiAgICAgaWYgKCEoc2VsZiA9IFtzdXBlciBpbml0XSkpCiAgICAgICAgIHJldHVybiBu
aWw7CiAKLSAgICBfcGFnZSA9IHRvSW1wbChwYWdlUmVmKTsKKyAgICBfcGFnZSA9IFdlYktpdDo6
dG9JbXBsKHBhZ2VSZWYpOwogCi0gICAgX3BhZ2VMb2FkU3RhdGVPYnNlcnZlciA9IHN0ZDo6bWFr
ZV91bmlxdWU8UGFnZUxvYWRTdGF0ZU9ic2VydmVyPihzZWxmKTsKKyAgICBfcGFnZUxvYWRTdGF0
ZU9ic2VydmVyID0gc3RkOjptYWtlX3VuaXF1ZTxXZWJLaXQ6OlBhZ2VMb2FkU3RhdGVPYnNlcnZl
cj4oc2VsZik7CiAgICAgX3BhZ2UtPnBhZ2VMb2FkU3RhdGUoKS5hZGRPYnNlcnZlcigqX3BhZ2VM
b2FkU3RhdGVPYnNlcnZlcik7CiAKICAgICBBU1NFUlQoIWJyb3dzaW5nQ29udGV4dENvbnRyb2xs
ZXJNYXAoKS5jb250YWlucyhfcGFnZS5nZXQoKSkpOwpAQCAtNTg0LDcgKzU4MSw3IEBAIHN0YXRp
YyB2b2lkIHNldFVwUGFnZVBvbGljeUNsaWVudChXS0Jyb3dzaW5nQ29udGV4dENvbnRyb2xsZXIg
KmJyb3dzaW5nQ29udGV4dCwKIAogKyAoV0tCcm93c2luZ0NvbnRleHRDb250cm9sbGVyICopX2Jy
b3dzaW5nQ29udGV4dENvbnRyb2xsZXJGb3JQYWdlUmVmOihXS1BhZ2VSZWYpcGFnZVJlZgogewot
ICAgIHJldHVybiBicm93c2luZ0NvbnRleHRDb250cm9sbGVyTWFwKCkuZ2V0KHRvSW1wbChwYWdl
UmVmKSk7CisgICAgcmV0dXJuIGJyb3dzaW5nQ29udGV4dENvbnRyb2xsZXJNYXAoKS5nZXQoV2Vi
S2l0Ojp0b0ltcGwocGFnZVJlZikpOwogfQogCiBAZW5kCkBAIC01OTMsMjcgKzU5MCwyNyBAQCBz
dGF0aWMgdm9pZCBzZXRVcFBhZ2VQb2xpY3lDbGllbnQoV0tCcm93c2luZ0NvbnRleHRDb250cm9s
bGVyICpicm93c2luZ0NvbnRleHQsCiAKIC0gKFdLUGFnZVJlZilfcGFnZVJlZgogewotICAgIHJl
dHVybiB0b0FQSShfcGFnZS5nZXQoKSk7CisgICAgcmV0dXJuIFdlYktpdDo6dG9BUEkoX3BhZ2Uu
Z2V0KCkpOwogfQogCiAtICh2b2lkKXNldFBhZ2luYXRpb25Nb2RlOihXS0Jyb3dzaW5nQ29udGV4
dFBhZ2luYXRpb25Nb2RlKXBhZ2luYXRpb25Nb2RlCiB7Ci0gICAgUGFnaW5hdGlvbjo6TW9kZSBt
b2RlOworICAgIFdlYkNvcmU6OlBhZ2luYXRpb246Ok1vZGUgbW9kZTsKICAgICBzd2l0Y2ggKHBh
Z2luYXRpb25Nb2RlKSB7CiAgICAgY2FzZSBXS1BhZ2luYXRpb25Nb2RlVW5wYWdpbmF0ZWQ6Ci0g
ICAgICAgIG1vZGUgPSBQYWdpbmF0aW9uOjpVbnBhZ2luYXRlZDsKKyAgICAgICAgbW9kZSA9IFdl
YkNvcmU6OlBhZ2luYXRpb246OlVucGFnaW5hdGVkOwogICAgICAgICBicmVhazsKICAgICBjYXNl
IFdLUGFnaW5hdGlvbk1vZGVMZWZ0VG9SaWdodDoKLSAgICAgICAgbW9kZSA9IFBhZ2luYXRpb246
OkxlZnRUb1JpZ2h0UGFnaW5hdGVkOworICAgICAgICBtb2RlID0gV2ViQ29yZTo6UGFnaW5hdGlv
bjo6TGVmdFRvUmlnaHRQYWdpbmF0ZWQ7CiAgICAgICAgIGJyZWFrOwogICAgIGNhc2UgV0tQYWdp
bmF0aW9uTW9kZVJpZ2h0VG9MZWZ0OgotICAgICAgICBtb2RlID0gUGFnaW5hdGlvbjo6UmlnaHRU
b0xlZnRQYWdpbmF0ZWQ7CisgICAgICAgIG1vZGUgPSBXZWJDb3JlOjpQYWdpbmF0aW9uOjpSaWdo
dFRvTGVmdFBhZ2luYXRlZDsKICAgICAgICAgYnJlYWs7CiAgICAgY2FzZSBXS1BhZ2luYXRpb25N
b2RlVG9wVG9Cb3R0b206Ci0gICAgICAgIG1vZGUgPSBQYWdpbmF0aW9uOjpUb3BUb0JvdHRvbVBh
Z2luYXRlZDsKKyAgICAgICAgbW9kZSA9IFdlYkNvcmU6OlBhZ2luYXRpb246OlRvcFRvQm90dG9t
UGFnaW5hdGVkOwogICAgICAgICBicmVhazsKICAgICBjYXNlIFdLUGFnaW5hdGlvbk1vZGVCb3R0
b21Ub1RvcDoKLSAgICAgICAgbW9kZSA9IFBhZ2luYXRpb246OkJvdHRvbVRvVG9wUGFnaW5hdGVk
OworICAgICAgICBtb2RlID0gV2ViQ29yZTo6UGFnaW5hdGlvbjo6Qm90dG9tVG9Ub3BQYWdpbmF0
ZWQ7CiAgICAgICAgIGJyZWFrOwogICAgIGRlZmF1bHQ6CiAgICAgICAgIHJldHVybjsKQEAgLTYy
NSwxNSArNjIyLDE1IEBAIHN0YXRpYyB2b2lkIHNldFVwUGFnZVBvbGljeUNsaWVudChXS0Jyb3dz
aW5nQ29udGV4dENvbnRyb2xsZXIgKmJyb3dzaW5nQ29udGV4dCwKIC0gKFdLQnJvd3NpbmdDb250
ZXh0UGFnaW5hdGlvbk1vZGUpcGFnaW5hdGlvbk1vZGUKIHsKICAgICBzd2l0Y2ggKF9wYWdlLT5w
YWdpbmF0aW9uTW9kZSgpKSB7Ci0gICAgY2FzZSBQYWdpbmF0aW9uOjpVbnBhZ2luYXRlZDoKKyAg
ICBjYXNlIFdlYkNvcmU6OlBhZ2luYXRpb246OlVucGFnaW5hdGVkOgogICAgICAgICByZXR1cm4g
V0tQYWdpbmF0aW9uTW9kZVVucGFnaW5hdGVkOwotICAgIGNhc2UgUGFnaW5hdGlvbjo6TGVmdFRv
UmlnaHRQYWdpbmF0ZWQ6CisgICAgY2FzZSBXZWJDb3JlOjpQYWdpbmF0aW9uOjpMZWZ0VG9SaWdo
dFBhZ2luYXRlZDoKICAgICAgICAgcmV0dXJuIFdLUGFnaW5hdGlvbk1vZGVMZWZ0VG9SaWdodDsK
LSAgICBjYXNlIFBhZ2luYXRpb246OlJpZ2h0VG9MZWZ0UGFnaW5hdGVkOgorICAgIGNhc2UgV2Vi
Q29yZTo6UGFnaW5hdGlvbjo6UmlnaHRUb0xlZnRQYWdpbmF0ZWQ6CiAgICAgICAgIHJldHVybiBX
S1BhZ2luYXRpb25Nb2RlUmlnaHRUb0xlZnQ7Ci0gICAgY2FzZSBQYWdpbmF0aW9uOjpUb3BUb0Jv
dHRvbVBhZ2luYXRlZDoKKyAgICBjYXNlIFdlYkNvcmU6OlBhZ2luYXRpb246OlRvcFRvQm90dG9t
UGFnaW5hdGVkOgogICAgICAgICByZXR1cm4gV0tQYWdpbmF0aW9uTW9kZVRvcFRvQm90dG9tOwot
ICAgIGNhc2UgUGFnaW5hdGlvbjo6Qm90dG9tVG9Ub3BQYWdpbmF0ZWQ6CisgICAgY2FzZSBXZWJD
b3JlOjpQYWdpbmF0aW9uOjpCb3R0b21Ub1RvcFBhZ2luYXRlZDoKICAgICAgICAgcmV0dXJuIFdL
UGFnaW5hdGlvbk1vZGVCb3R0b21Ub1RvcDsKICAgICB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS0Jyb3dzaW5nQ29udGV4dEdyb3VwLm1tIGIvU291
cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL1dLQnJvd3NpbmdDb250ZXh0R3JvdXAubW0K
aW5kZXggOTZkZjBkNmIxZGQzNzJkZGMyMWI1MzQyNjVkMGEzY2MzYzBmYTc1OS4uYTI4YTgxZTcw
NTU3MDZhNjVhNmRmOTE1MWQ4MGZkOTQyZTU4NWYzMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dC9VSVByb2Nlc3MvQVBJL0NvY29hL1dLQnJvd3NpbmdDb250ZXh0R3JvdXAubW0KKysrIGIvU291
cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL1dLQnJvd3NpbmdDb250ZXh0R3JvdXAubW0K
QEAgLTQyLDEwICs0Miw4IEBACiAjaW1wb3J0ICJXS1VSTENGLmgiCiAjaW1wb3J0IDx3dGYvVmVj
dG9yLmg+CiAKLXVzaW5nIG5hbWVzcGFjZSBXZWJLaXQ7Ci0KIEBpbXBsZW1lbnRhdGlvbiBXS0Jy
b3dzaW5nQ29udGV4dEdyb3VwIHsKLSAgICBBUEk6Ok9iamVjdFN0b3JhZ2U8V2ViUGFnZUdyb3Vw
PiBfcGFnZUdyb3VwOworICAgIEFQSTo6T2JqZWN0U3RvcmFnZTxXZWJLaXQ6OldlYlBhZ2VHcm91
cD4gX3BhZ2VHcm91cDsKIH0KIAogLSAodm9pZClkZWFsbG9jCkBAIC02MSw1NSArNTksNTUgQEAg
dXNpbmcgbmFtZXNwYWNlIFdlYktpdDsKICAgICBpZiAoIXNlbGYpCiAgICAgICAgIHJldHVybiBu
aWw7CiAKLSAgICBBUEk6Ok9iamVjdDo6Y29uc3RydWN0SW5XcmFwcGVyPFdlYlBhZ2VHcm91cD4o
c2VsZiwgaWRlbnRpZmllcik7CisgICAgQVBJOjpPYmplY3Q6OmNvbnN0cnVjdEluV3JhcHBlcjxX
ZWJLaXQ6OldlYlBhZ2VHcm91cD4oc2VsZiwgaWRlbnRpZmllcik7CiAKICAgICAvLyBHaXZlIHRo
ZSBXS0Jyb3dzaW5nQ29udGV4dEdyb3VwIGEgaWRlbnRpZmllci1sZXNzIHByZWZlcmVuY2VzLCBz
byB0aGF0IHRoZXkKICAgICAvLyBkb24ndCBnZXQgYXV0b21hdGljYWxseSB3cml0dGVuIHRvIHRo
ZSBkaXNrLiBUaGUgYXV0b21hdGljIHdyaXRpbmcgaGFzIHByb3ZlbgogICAgIC8vIGNvbmZ1c2lu
ZyB0byB1c2VycyBvZiB0aGUgQVBJLgogICAgIFdLUmV0YWluUHRyPFdLUHJlZmVyZW5jZXNSZWY+
IHByZWZlcmVuY2VzID0gYWRvcHRXSyhXS1ByZWZlcmVuY2VzQ3JlYXRlKCkpOwotICAgIFdLUGFn
ZUdyb3VwU2V0UHJlZmVyZW5jZXModG9BUEkoX3BhZ2VHcm91cC5nZXQoKSksIHByZWZlcmVuY2Vz
LmdldCgpKTsKKyAgICBXS1BhZ2VHcm91cFNldFByZWZlcmVuY2VzKFdlYktpdDo6dG9BUEkoX3Bh
Z2VHcm91cC5nZXQoKSksIHByZWZlcmVuY2VzLmdldCgpKTsKIAogICAgIHJldHVybiBzZWxmOwog
fQogCiAtIChCT09MKWFsbG93c0phdmFTY3JpcHQKIHsKLSAgICByZXR1cm4gV0tQcmVmZXJlbmNl
c0dldEphdmFTY3JpcHRFbmFibGVkKFdLUGFnZUdyb3VwR2V0UHJlZmVyZW5jZXModG9BUEkoX3Bh
Z2VHcm91cC5nZXQoKSkpKTsKKyAgICByZXR1cm4gV0tQcmVmZXJlbmNlc0dldEphdmFTY3JpcHRF
bmFibGVkKFdLUGFnZUdyb3VwR2V0UHJlZmVyZW5jZXMoV2ViS2l0Ojp0b0FQSShfcGFnZUdyb3Vw
LmdldCgpKSkpOwogfQogCiAtICh2b2lkKXNldEFsbG93c0phdmFTY3JpcHQ6KEJPT0wpYWxsb3dz
SmF2YVNjcmlwdAogewotICAgIFdLUHJlZmVyZW5jZXNTZXRKYXZhU2NyaXB0RW5hYmxlZChXS1Bh
Z2VHcm91cEdldFByZWZlcmVuY2VzKHRvQVBJKF9wYWdlR3JvdXAuZ2V0KCkpKSwgYWxsb3dzSmF2
YVNjcmlwdCk7CisgICAgV0tQcmVmZXJlbmNlc1NldEphdmFTY3JpcHRFbmFibGVkKFdLUGFnZUdy
b3VwR2V0UHJlZmVyZW5jZXMoV2ViS2l0Ojp0b0FQSShfcGFnZUdyb3VwLmdldCgpKSksIGFsbG93
c0phdmFTY3JpcHQpOwogfQogCiAtIChCT09MKWFsbG93c0phdmFTY3JpcHRNYXJrdXAKIHsKLSAg
ICByZXR1cm4gV0tQcmVmZXJlbmNlc0dldEphdmFTY3JpcHRNYXJrdXBFbmFibGVkKFdLUGFnZUdy
b3VwR2V0UHJlZmVyZW5jZXModG9BUEkoX3BhZ2VHcm91cC5nZXQoKSkpKTsKKyAgICByZXR1cm4g
V0tQcmVmZXJlbmNlc0dldEphdmFTY3JpcHRNYXJrdXBFbmFibGVkKFdLUGFnZUdyb3VwR2V0UHJl
ZmVyZW5jZXMoV2ViS2l0Ojp0b0FQSShfcGFnZUdyb3VwLmdldCgpKSkpOwogfQogCiAtICh2b2lk
KXNldEFsbG93c0phdmFTY3JpcHRNYXJrdXA6KEJPT0wpYWxsb3dzSmF2YVNjcmlwdE1hcmt1cAog
ewotICAgIFdLUHJlZmVyZW5jZXNTZXRKYXZhU2NyaXB0TWFya3VwRW5hYmxlZChXS1BhZ2VHcm91
cEdldFByZWZlcmVuY2VzKHRvQVBJKF9wYWdlR3JvdXAuZ2V0KCkpKSwgYWxsb3dzSmF2YVNjcmlw
dE1hcmt1cCk7CisgICAgV0tQcmVmZXJlbmNlc1NldEphdmFTY3JpcHRNYXJrdXBFbmFibGVkKFdL
UGFnZUdyb3VwR2V0UHJlZmVyZW5jZXMoV2ViS2l0Ojp0b0FQSShfcGFnZUdyb3VwLmdldCgpKSks
IGFsbG93c0phdmFTY3JpcHRNYXJrdXApOwogfQogCiAtIChCT09MKWFsbG93c1BsdWdJbnMKIHsK
LSAgICByZXR1cm4gV0tQcmVmZXJlbmNlc0dldFBsdWdpbnNFbmFibGVkKFdLUGFnZUdyb3VwR2V0
UHJlZmVyZW5jZXModG9BUEkoX3BhZ2VHcm91cC5nZXQoKSkpKTsKKyAgICByZXR1cm4gV0tQcmVm
ZXJlbmNlc0dldFBsdWdpbnNFbmFibGVkKFdLUGFnZUdyb3VwR2V0UHJlZmVyZW5jZXMoV2ViS2l0
Ojp0b0FQSShfcGFnZUdyb3VwLmdldCgpKSkpOwogfQogCiAtICh2b2lkKXNldEFsbG93c1BsdWdJ
bnM6KEJPT0wpYWxsb3dzUGx1Z0lucwogewotICAgIFdLUHJlZmVyZW5jZXNTZXRQbHVnaW5zRW5h
YmxlZChXS1BhZ2VHcm91cEdldFByZWZlcmVuY2VzKHRvQVBJKF9wYWdlR3JvdXAuZ2V0KCkpKSwg
YWxsb3dzUGx1Z0lucyk7CisgICAgV0tQcmVmZXJlbmNlc1NldFBsdWdpbnNFbmFibGVkKFdLUGFn
ZUdyb3VwR2V0UHJlZmVyZW5jZXMoV2ViS2l0Ojp0b0FQSShfcGFnZUdyb3VwLmdldCgpKSksIGFs
bG93c1BsdWdJbnMpOwogfQogCiAtIChCT09MKXByaXZhdGVCcm93c2luZ0VuYWJsZWQKIHsKLSAg
ICByZXR1cm4gV0tQcmVmZXJlbmNlc0dldFByaXZhdGVCcm93c2luZ0VuYWJsZWQoV0tQYWdlR3Jv
dXBHZXRQcmVmZXJlbmNlcyh0b0FQSShfcGFnZUdyb3VwLmdldCgpKSkpOworICAgIHJldHVybiBX
S1ByZWZlcmVuY2VzR2V0UHJpdmF0ZUJyb3dzaW5nRW5hYmxlZChXS1BhZ2VHcm91cEdldFByZWZl
cmVuY2VzKFdlYktpdDo6dG9BUEkoX3BhZ2VHcm91cC5nZXQoKSkpKTsKIH0KIAogLSAodm9pZClz
ZXRQcml2YXRlQnJvd3NpbmdFbmFibGVkOihCT09MKWVuYWJsZVByaXZhdGVCcm93c2luZwogewot
ICAgIFdLUHJlZmVyZW5jZXNTZXRQcml2YXRlQnJvd3NpbmdFbmFibGVkKFdLUGFnZUdyb3VwR2V0
UHJlZmVyZW5jZXModG9BUEkoX3BhZ2VHcm91cC5nZXQoKSkpLCBlbmFibGVQcml2YXRlQnJvd3Np
bmcpOworICAgIFdLUHJlZmVyZW5jZXNTZXRQcml2YXRlQnJvd3NpbmdFbmFibGVkKFdLUGFnZUdy
b3VwR2V0UHJlZmVyZW5jZXMoV2ViS2l0Ojp0b0FQSShfcGFnZUdyb3VwLmdldCgpKSksIGVuYWJs
ZVByaXZhdGVCcm93c2luZyk7CiB9CiAKIHN0YXRpYyBXS1JldGFpblB0cjxXS0FycmF5UmVmPiBj
cmVhdGVXS0FycmF5KE5TQXJyYXkgKmFycmF5KQpAQCAtMTI0LDEwICsxMjIsMTAgQEAgc3RhdGlj
IFdLUmV0YWluUHRyPFdLQXJyYXlSZWY+IGNyZWF0ZVdLQXJyYXkoTlNBcnJheSAqYXJyYXkpCiAK
ICAgICBmb3IgKGlkIGVudHJ5IGluIGFycmF5KSB7CiAgICAgICAgIGlmIChbZW50cnkgaXNLaW5k
T2ZDbGFzczpbTlNTdHJpbmcgY2xhc3NdXSkKLSAgICAgICAgICAgIHN0cmluZ3MudW5jaGVja2Vk
QXBwZW5kKGFkb3B0UmVmKHRvSW1wbChXS1N0cmluZ0NyZWF0ZVdpdGhDRlN0cmluZygoX19icmlk
Z2UgQ0ZTdHJpbmdSZWYpZW50cnkpKSkpOworICAgICAgICAgICAgc3RyaW5ncy51bmNoZWNrZWRB
cHBlbmQoYWRvcHRSZWYoV2ViS2l0Ojp0b0ltcGwoV0tTdHJpbmdDcmVhdGVXaXRoQ0ZTdHJpbmco
KF9fYnJpZGdlIENGU3RyaW5nUmVmKWVudHJ5KSkpKTsKICAgICB9CiAKLSAgICByZXR1cm4gdG9B
UEkoJkFQSTo6QXJyYXk6OmNyZWF0ZShXVEZNb3ZlKHN0cmluZ3MpKS5sZWFrUmVmKCkpOworICAg
IHJldHVybiBXZWJLaXQ6OnRvQVBJKCZBUEk6OkFycmF5OjpjcmVhdGUoV1RGTW92ZShzdHJpbmdz
KSkubGVha1JlZigpKTsKIH0KIAogLSh2b2lkKWFkZFVzZXJTdHlsZVNoZWV0OihOU1N0cmluZyAq
KXNvdXJjZSBiYXNlVVJMOihOU1VSTCAqKWJhc2VVUkwgd2hpdGVsaXN0ZWRVUkxQYXR0ZXJuczoo
TlNBcnJheSAqKXdoaXRlbGlzdCBibGFja2xpc3RlZFVSTFBhdHRlcm5zOihOU0FycmF5ICopYmxh
Y2tsaXN0IG1haW5GcmFtZU9ubHk6KEJPT0wpbWFpbkZyYW1lT25seQpAQCAtMTQxLDEyICsxMzks
MTIgQEAgc3RhdGljIFdLUmV0YWluUHRyPFdLQXJyYXlSZWY+IGNyZWF0ZVdLQXJyYXkoTlNBcnJh
eSAqYXJyYXkpCiAgICAgYXV0byB3a0JsYWNrbGlzdCA9IGNyZWF0ZVdLQXJyYXkoYmxhY2tsaXN0
KTsKICAgICBXS1VzZXJDb250ZW50SW5qZWN0ZWRGcmFtZXMgaW5qZWN0ZWRGcmFtZXMgPSBtYWlu
RnJhbWVPbmx5ID8ga1dLSW5qZWN0SW5Ub3BGcmFtZU9ubHkgOiBrV0tJbmplY3RJbkFsbEZyYW1l
czsKIAotICAgIFdLUGFnZUdyb3VwQWRkVXNlclN0eWxlU2hlZXQodG9BUEkoX3BhZ2VHcm91cC5n
ZXQoKSksIHdrU291cmNlLmdldCgpLCB3a0Jhc2VVUkwuZ2V0KCksIHdrV2hpdGVsaXN0LmdldCgp
LCB3a0JsYWNrbGlzdC5nZXQoKSwgaW5qZWN0ZWRGcmFtZXMpOworICAgIFdLUGFnZUdyb3VwQWRk
VXNlclN0eWxlU2hlZXQoV2ViS2l0Ojp0b0FQSShfcGFnZUdyb3VwLmdldCgpKSwgd2tTb3VyY2Uu
Z2V0KCksIHdrQmFzZVVSTC5nZXQoKSwgd2tXaGl0ZWxpc3QuZ2V0KCksIHdrQmxhY2tsaXN0Lmdl
dCgpLCBpbmplY3RlZEZyYW1lcyk7CiB9CiAKIC0gKHZvaWQpcmVtb3ZlQWxsVXNlclN0eWxlU2hl
ZXRzCiB7Ci0gICAgV0tQYWdlR3JvdXBSZW1vdmVBbGxVc2VyU3R5bGVTaGVldHModG9BUEkoX3Bh
Z2VHcm91cC5nZXQoKSkpOworICAgIFdLUGFnZUdyb3VwUmVtb3ZlQWxsVXNlclN0eWxlU2hlZXRz
KFdlYktpdDo6dG9BUEkoX3BhZ2VHcm91cC5nZXQoKSkpOwogfQogCiAtICh2b2lkKWFkZFVzZXJT
Y3JpcHQ6KE5TU3RyaW5nICopc291cmNlIGJhc2VVUkw6KE5TVVJMICopYmFzZVVSTCB3aGl0ZWxp
c3RlZFVSTFBhdHRlcm5zOihOU0FycmF5ICopd2hpdGVsaXN0IGJsYWNrbGlzdGVkVVJMUGF0dGVy
bnM6KE5TQXJyYXkgKilibGFja2xpc3QgaW5qZWN0aW9uVGltZTooX1dLVXNlclNjcmlwdEluamVj
dGlvblRpbWUpaW5qZWN0aW9uVGltZSBtYWluRnJhbWVPbmx5OihCT09MKW1haW5GcmFtZU9ubHkK
QEAgLTE2MCwxMiArMTU4LDEyIEBAIHN0YXRpYyBXS1JldGFpblB0cjxXS0FycmF5UmVmPiBjcmVh
dGVXS0FycmF5KE5TQXJyYXkgKmFycmF5KQogICAgIGF1dG8gd2tCbGFja2xpc3QgPSBjcmVhdGVX
S0FycmF5KGJsYWNrbGlzdCk7CiAgICAgV0tVc2VyQ29udGVudEluamVjdGVkRnJhbWVzIGluamVj
dGVkRnJhbWVzID0gbWFpbkZyYW1lT25seSA/IGtXS0luamVjdEluVG9wRnJhbWVPbmx5IDoga1dL
SW5qZWN0SW5BbGxGcmFtZXM7CiAKLSAgICBXS1BhZ2VHcm91cEFkZFVzZXJTY3JpcHQodG9BUEko
X3BhZ2VHcm91cC5nZXQoKSksIHdrU291cmNlLmdldCgpLCB3a0Jhc2VVUkwuZ2V0KCksIHdrV2hp
dGVsaXN0LmdldCgpLCB3a0JsYWNrbGlzdC5nZXQoKSwgaW5qZWN0ZWRGcmFtZXMsIGluamVjdGlv
blRpbWUpOworICAgIFdLUGFnZUdyb3VwQWRkVXNlclNjcmlwdChXZWJLaXQ6OnRvQVBJKF9wYWdl
R3JvdXAuZ2V0KCkpLCB3a1NvdXJjZS5nZXQoKSwgd2tCYXNlVVJMLmdldCgpLCB3a1doaXRlbGlz
dC5nZXQoKSwgd2tCbGFja2xpc3QuZ2V0KCksIGluamVjdGVkRnJhbWVzLCBpbmplY3Rpb25UaW1l
KTsKIH0KIAogLSAodm9pZClyZW1vdmVBbGxVc2VyU2NyaXB0cwogewotICAgIFdLUGFnZUdyb3Vw
UmVtb3ZlQWxsVXNlclNjcmlwdHModG9BUEkoX3BhZ2VHcm91cC5nZXQoKSkpOworICAgIFdLUGFn
ZUdyb3VwUmVtb3ZlQWxsVXNlclNjcmlwdHMoV2ViS2l0Ojp0b0FQSShfcGFnZUdyb3VwLmdldCgp
KSk7CiB9CiAKICNwcmFnbWEgbWFyayBXS09iamVjdCBwcm90b2NvbCBpbXBsZW1lbnRhdGlvbgpA
QCAtMTgxLDcgKzE3OSw3IEBAIHN0YXRpYyBXS1JldGFpblB0cjxXS0FycmF5UmVmPiBjcmVhdGVX
S0FycmF5KE5TQXJyYXkgKmFycmF5KQogCiAtIChXS1BhZ2VHcm91cFJlZilfcGFnZUdyb3VwUmVm
CiB7Ci0gICAgcmV0dXJuIHRvQVBJKF9wYWdlR3JvdXAuZ2V0KCkpOworICAgIHJldHVybiBXZWJL
aXQ6OnRvQVBJKF9wYWdlR3JvdXAuZ2V0KCkpOwogfQogCiBAZW5kCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tDb25uZWN0aW9uLm1tIGIvU291cmNlL1dl
YktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL1dLQ29ubmVjdGlvbi5tbQppbmRleCBhYmU0MzQ4M2Nl
OWZlYjZkMWRjM2VjMjNkMTA3NTAwYzI0NjMzN2M3Li4zZjc1Yzg1YzUzN2MwYWE1NDM0MWFhMGY2
ZDI0YTBkNjA3OTVlMTgxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkv
Q29jb2EvV0tDb25uZWN0aW9uLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9D
b2NvYS9XS0Nvbm5lY3Rpb24ubW0KQEAgLTM2LDggKzM2LDYgQEAKICNpbXBvcnQgPHd0Zi9XZWFr
T2JqQ1B0ci5oPgogI2ltcG9ydCA8d3RmL3RleHQvV1RGU3RyaW5nLmg+CiAKLXVzaW5nIG5hbWVz
cGFjZSBXZWJLaXQ7Ci0KIEBpbXBsZW1lbnRhdGlvbiBXS0Nvbm5lY3Rpb24gewogICAgIFdlYWtP
YmpDUHRyPGlkIDxXS0Nvbm5lY3Rpb25EZWxlZ2F0ZT4+IF9kZWxlZ2F0ZTsKIH0KQEAgLTU2LDcg
KzU0LDcgQEAgc3RhdGljIHZvaWQgZGlkUmVjZWl2ZU1lc3NhZ2UoV0tDb25uZWN0aW9uUmVmLCBX
S1N0cmluZ1JlZiBtZXNzYWdlTmFtZSwgV0tUeXBlUmUKIAogICAgIGlmIChbZGVsZWdhdGUgcmVz
cG9uZHNUb1NlbGVjdG9yOkBzZWxlY3Rvcihjb25uZWN0aW9uOmRpZFJlY2VpdmVNZXNzYWdlV2l0
aE5hbWU6Ym9keTopXSkgewogICAgICAgICBSZXRhaW5QdHI8Q0ZTdHJpbmdSZWY+IG5zTWVzc2Fn
ZU5hbWUgPSBhZG9wdENGKFdLU3RyaW5nQ29weUNGU3RyaW5nKGtDRkFsbG9jYXRvckRlZmF1bHQs
IG1lc3NhZ2VOYW1lKSk7Ci0gICAgICAgIFJldGFpblB0cjxpZD4gbnNNZXNzYWdlQm9keSA9IHN0
YXRpY19jYXN0PE9iakNPYmplY3RHcmFwaCo+KHRvSW1wbChtZXNzYWdlQm9keSkpLT5yb290T2Jq
ZWN0KCk7CisgICAgICAgIFJldGFpblB0cjxpZD4gbnNNZXNzYWdlQm9keSA9IHN0YXRpY19jYXN0
PFdlYktpdDo6T2JqQ09iamVjdEdyYXBoKj4oV2ViS2l0Ojp0b0ltcGwobWVzc2FnZUJvZHkpKS0+
cm9vdE9iamVjdCgpOwogICAgICAgICBbZGVsZWdhdGUgY29ubmVjdGlvbjpjb25uZWN0aW9uIGRp
ZFJlY2VpdmVNZXNzYWdlV2l0aE5hbWU6KF9fYnJpZGdlIE5TU3RyaW5nICopbnNNZXNzYWdlTmFt
ZS5nZXQoKSBib2R5Om5zTWVzc2FnZUJvZHkuZ2V0KCldOwogICAgIH0KIH0KQEAgLTcwLDcgKzY4
LDcgQEAgc3RhdGljIHZvaWQgZGlkQ2xvc2UoV0tDb25uZWN0aW9uUmVmLCBjb25zdCB2b2lkKiBj
bGllbnRJbmZvKQogICAgICAgICBbZGVsZWdhdGUgY29ubmVjdGlvbkRpZENsb3NlOmNvbm5lY3Rp
b25dOwogfQogCi1zdGF0aWMgdm9pZCBzZXRVcENsaWVudChXS0Nvbm5lY3Rpb24gKndyYXBwZXIs
IFdlYkNvbm5lY3Rpb24mIGNvbm5lY3Rpb24pCitzdGF0aWMgdm9pZCBzZXRVcENsaWVudChXS0Nv
bm5lY3Rpb24gKndyYXBwZXIsIFdlYktpdDo6V2ViQ29ubmVjdGlvbiYgY29ubmVjdGlvbikKIHsK
ICAgICBXS0Nvbm5lY3Rpb25DbGllbnRWMCBjbGllbnQ7CiAgICAgbWVtc2V0KCZjbGllbnQsIDAs
IHNpemVvZihjbGllbnQpKTsKQEAgLTk5LDEzICs5NywxMyBAQCBzdGF0aWMgdm9pZCBzZXRVcENs
aWVudChXS0Nvbm5lY3Rpb24gKndyYXBwZXIsIFdlYkNvbm5lY3Rpb24mIGNvbm5lY3Rpb24pCiAK
IC0gKHZvaWQpc2VuZE1lc3NhZ2VXaXRoTmFtZTooTlNTdHJpbmcgKiltZXNzYWdlTmFtZSBib2R5
OihpZCltZXNzYWdlQm9keQogewotICAgIFJlZlB0cjxPYmpDT2JqZWN0R3JhcGg+IHdrTWVzc2Fn
ZUJvZHkgPSBPYmpDT2JqZWN0R3JhcGg6OmNyZWF0ZShtZXNzYWdlQm9keSk7CisgICAgUmVmUHRy
PFdlYktpdDo6T2JqQ09iamVjdEdyYXBoPiB3a01lc3NhZ2VCb2R5ID0gV2ViS2l0OjpPYmpDT2Jq
ZWN0R3JhcGg6OmNyZWF0ZShtZXNzYWdlQm9keSk7CiAgICAgc2VsZi5fY29ubmVjdGlvbi5wb3N0
TWVzc2FnZShtZXNzYWdlTmFtZSwgd2tNZXNzYWdlQm9keS5nZXQoKSk7CiB9CiAKLS0gKFdlYkNv
bm5lY3Rpb24mKV9jb25uZWN0aW9uCistIChXZWJLaXQ6OldlYkNvbm5lY3Rpb24mKV9jb25uZWN0
aW9uCiB7Ci0gICAgcmV0dXJuIHN0YXRpY19jYXN0PFdlYkNvbm5lY3Rpb24mPihBUEk6Ok9iamVj
dDo6ZnJvbVdLT2JqZWN0RXh0cmFTcGFjZShzZWxmKSk7CisgICAgcmV0dXJuIHN0YXRpY19jYXN0
PFdlYktpdDo6V2ViQ29ubmVjdGlvbiY+KEFQSTo6T2JqZWN0Ojpmcm9tV0tPYmplY3RFeHRyYVNw
YWNlKHNlbGYpKTsKIH0KIAogI3ByYWdtYSBtYXJrIFdLT2JqZWN0IHByb3RvY29sIGltcGxlbWVu
dGF0aW9uCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tO
U1VSTEF1dGhlbnRpY2F0aW9uQ2hhbGxlbmdlLm1tIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3Mv
QVBJL0NvY29hL1dLTlNVUkxBdXRoZW50aWNhdGlvbkNoYWxsZW5nZS5tbQppbmRleCBlMzMxZmUy
MTU2ZTI3OTkwNmUxNGU4MTI0NTVlNDNjMzU2ZTdlYWI5Li44ZmQ4NDMwNGI3MTA3MzIyYzFlN2Rh
ZmVkNjkzMmNhZGQ4YjE2ZjMwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9B
UEkvQ29jb2EvV0tOU1VSTEF1dGhlbnRpY2F0aW9uQ2hhbGxlbmdlLm1tCisrKyBiL1NvdXJjZS9X
ZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS05TVVJMQXV0aGVudGljYXRpb25DaGFsbGVuZ2Uu
bW0KQEAgLTMzLDkgKzMzLDYgQEAKICNpbXBvcnQgIldlYkNyZWRlbnRpYWwuaCIKICNpbXBvcnQg
PFdlYkNvcmUvQXV0aGVudGljYXRpb25NYWMuaD4KIAotdXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU7
Ci11c2luZyBuYW1lc3BhY2UgV2ViS2l0OwotCiBAaW50ZXJmYWNlIFdLTlNVUkxBdXRoZW50aWNh
dGlvbkNoYWxsZW5nZVNlbmRlciA6IE5TT2JqZWN0IDxOU1VSTEF1dGhlbnRpY2F0aW9uQ2hhbGxl
bmdlU2VuZGVyPgogQGVuZAogCkBAIC00Myw3ICs0MCw3IEBAIHVzaW5nIG5hbWVzcGFjZSBXZWJL
aXQ7CiAKIC0gKE5TT2JqZWN0ICopX3dlYl9jcmVhdGVUYXJnZXQKIHsKLSAgICBBdXRoZW50aWNh
dGlvbkNoYWxsZW5nZVByb3h5JiBjaGFsbGVuZ2UgPSAqcmVpbnRlcnByZXRfY2FzdDxBdXRoZW50
aWNhdGlvbkNoYWxsZW5nZVByb3h5Kj4oJnNlbGYuX2FwaU9iamVjdCk7CisgICAgV2ViS2l0OjpB
dXRoZW50aWNhdGlvbkNoYWxsZW5nZVByb3h5JiBjaGFsbGVuZ2UgPSAqcmVpbnRlcnByZXRfY2Fz
dDxXZWJLaXQ6OkF1dGhlbnRpY2F0aW9uQ2hhbGxlbmdlUHJveHkqPigmc2VsZi5fYXBpT2JqZWN0
KTsKIAogICAgIHN0YXRpYyBkaXNwYXRjaF9vbmNlX3QgdG9rZW47CiAgICAgc3RhdGljIFdLTlNV
UkxBdXRoZW50aWNhdGlvbkNoYWxsZW5nZVNlbmRlciAqc2VuZGVyOwpAQCAtNTQsOSArNTEsOSBA
QCB1c2luZyBuYW1lc3BhY2UgV2ViS2l0OwogICAgIHJldHVybiBbW05TVVJMQXV0aGVudGljYXRp
b25DaGFsbGVuZ2UgYWxsb2NdIGluaXRXaXRoQXV0aGVudGljYXRpb25DaGFsbGVuZ2U6bWFjKGNo
YWxsZW5nZS5jb3JlKCkpIHNlbmRlcjpzZW5kZXJdOwogfQogCi0tIChBdXRoZW50aWNhdGlvbkNo
YWxsZW5nZVByb3h5Jilfd2ViX2F1dGhlbnRpY2F0aW9uQ2hhbGxlbmdlUHJveHkKKy0gKFdlYktp
dDo6QXV0aGVudGljYXRpb25DaGFsbGVuZ2VQcm94eSYpX3dlYl9hdXRoZW50aWNhdGlvbkNoYWxs
ZW5nZVByb3h5CiB7Ci0gICAgcmV0dXJuICpyZWludGVycHJldF9jYXN0PEF1dGhlbnRpY2F0aW9u
Q2hhbGxlbmdlUHJveHkqPigmc2VsZi5fYXBpT2JqZWN0KTsKKyAgICByZXR1cm4gKnJlaW50ZXJw
cmV0X2Nhc3Q8V2ViS2l0OjpBdXRoZW50aWNhdGlvbkNoYWxsZW5nZVByb3h5Kj4oJnNlbGYuX2Fw
aU9iamVjdCk7CiB9CiAKIEBlbmQKQEAgLTcyLDM1ICs2OSwzNSBAQCBzdGF0aWMgdm9pZCBjaGVj
a0NoYWxsZW5nZShOU1VSTEF1dGhlbnRpY2F0aW9uQ2hhbGxlbmdlICpjaGFsbGVuZ2UpCiAtICh2
b2lkKWNhbmNlbEF1dGhlbnRpY2F0aW9uQ2hhbGxlbmdlOihOU1VSTEF1dGhlbnRpY2F0aW9uQ2hh
bGxlbmdlICopY2hhbGxlbmdlCiB7CiAgICAgY2hlY2tDaGFsbGVuZ2UoY2hhbGxlbmdlKTsKLSAg
ICBBdXRoZW50aWNhdGlvbkNoYWxsZW5nZVByb3h5JiB3ZWJDaGFsbGVuZ2UgPSAoKFdLTlNVUkxB
dXRoZW50aWNhdGlvbkNoYWxsZW5nZSAqKWNoYWxsZW5nZSkuX3dlYl9hdXRoZW50aWNhdGlvbkNo
YWxsZW5nZVByb3h5OworICAgIFdlYktpdDo6QXV0aGVudGljYXRpb25DaGFsbGVuZ2VQcm94eSYg
d2ViQ2hhbGxlbmdlID0gKChXS05TVVJMQXV0aGVudGljYXRpb25DaGFsbGVuZ2UgKiljaGFsbGVu
Z2UpLl93ZWJfYXV0aGVudGljYXRpb25DaGFsbGVuZ2VQcm94eTsKICAgICB3ZWJDaGFsbGVuZ2Uu
bGlzdGVuZXIoKS0+Y2FuY2VsKCk7CiB9CiAKIC0gKHZvaWQpY29udGludWVXaXRob3V0Q3JlZGVu
dGlhbEZvckF1dGhlbnRpY2F0aW9uQ2hhbGxlbmdlOihOU1VSTEF1dGhlbnRpY2F0aW9uQ2hhbGxl
bmdlICopY2hhbGxlbmdlCiB7CiAgICAgY2hlY2tDaGFsbGVuZ2UoY2hhbGxlbmdlKTsKLSAgICBB
dXRoZW50aWNhdGlvbkNoYWxsZW5nZVByb3h5JiB3ZWJDaGFsbGVuZ2UgPSAoKFdLTlNVUkxBdXRo
ZW50aWNhdGlvbkNoYWxsZW5nZSAqKWNoYWxsZW5nZSkuX3dlYl9hdXRoZW50aWNhdGlvbkNoYWxs
ZW5nZVByb3h5OworICAgIFdlYktpdDo6QXV0aGVudGljYXRpb25DaGFsbGVuZ2VQcm94eSYgd2Vi
Q2hhbGxlbmdlID0gKChXS05TVVJMQXV0aGVudGljYXRpb25DaGFsbGVuZ2UgKiljaGFsbGVuZ2Up
Ll93ZWJfYXV0aGVudGljYXRpb25DaGFsbGVuZ2VQcm94eTsKICAgICB3ZWJDaGFsbGVuZ2UubGlz
dGVuZXIoKS0+dXNlQ3JlZGVudGlhbChudWxscHRyKTsKIH0KIAogLSAodm9pZCl1c2VDcmVkZW50
aWFsOihOU1VSTENyZWRlbnRpYWwgKiljcmVkZW50aWFsIGZvckF1dGhlbnRpY2F0aW9uQ2hhbGxl
bmdlOihOU1VSTEF1dGhlbnRpY2F0aW9uQ2hhbGxlbmdlICopY2hhbGxlbmdlCiB7CiAgICAgY2hl
Y2tDaGFsbGVuZ2UoY2hhbGxlbmdlKTsKLSAgICBBdXRoZW50aWNhdGlvbkNoYWxsZW5nZVByb3h5
JiB3ZWJDaGFsbGVuZ2UgPSAoKFdLTlNVUkxBdXRoZW50aWNhdGlvbkNoYWxsZW5nZSAqKWNoYWxs
ZW5nZSkuX3dlYl9hdXRoZW50aWNhdGlvbkNoYWxsZW5nZVByb3h5OwotICAgIHdlYkNoYWxsZW5n
ZS5saXN0ZW5lcigpLT51c2VDcmVkZW50aWFsKFdlYkNyZWRlbnRpYWw6OmNyZWF0ZShDcmVkZW50
aWFsKGNyZWRlbnRpYWwpKS5wdHIoKSk7CisgICAgV2ViS2l0OjpBdXRoZW50aWNhdGlvbkNoYWxs
ZW5nZVByb3h5JiB3ZWJDaGFsbGVuZ2UgPSAoKFdLTlNVUkxBdXRoZW50aWNhdGlvbkNoYWxsZW5n
ZSAqKWNoYWxsZW5nZSkuX3dlYl9hdXRoZW50aWNhdGlvbkNoYWxsZW5nZVByb3h5OworICAgIHdl
YkNoYWxsZW5nZS5saXN0ZW5lcigpLT51c2VDcmVkZW50aWFsKFdlYktpdDo6V2ViQ3JlZGVudGlh
bDo6Y3JlYXRlKFdlYkNvcmU6OkNyZWRlbnRpYWwoY3JlZGVudGlhbCkpLnB0cigpKTsKIH0KIAog
LSAodm9pZClwZXJmb3JtRGVmYXVsdEhhbmRsaW5nRm9yQXV0aGVudGljYXRpb25DaGFsbGVuZ2U6
KE5TVVJMQXV0aGVudGljYXRpb25DaGFsbGVuZ2UgKiljaGFsbGVuZ2UKIHsKICAgICBjaGVja0No
YWxsZW5nZShjaGFsbGVuZ2UpOwotICAgIEF1dGhlbnRpY2F0aW9uQ2hhbGxlbmdlUHJveHkmIHdl
YkNoYWxsZW5nZSA9ICgoV0tOU1VSTEF1dGhlbnRpY2F0aW9uQ2hhbGxlbmdlICopY2hhbGxlbmdl
KS5fd2ViX2F1dGhlbnRpY2F0aW9uQ2hhbGxlbmdlUHJveHk7CisgICAgV2ViS2l0OjpBdXRoZW50
aWNhdGlvbkNoYWxsZW5nZVByb3h5JiB3ZWJDaGFsbGVuZ2UgPSAoKFdLTlNVUkxBdXRoZW50aWNh
dGlvbkNoYWxsZW5nZSAqKWNoYWxsZW5nZSkuX3dlYl9hdXRoZW50aWNhdGlvbkNoYWxsZW5nZVBy
b3h5OwogICAgIHdlYkNoYWxsZW5nZS5saXN0ZW5lcigpLT5wZXJmb3JtRGVmYXVsdEhhbmRsaW5n
KCk7CiB9CiAKIC0gKHZvaWQpcmVqZWN0UHJvdGVjdGlvblNwYWNlQW5kQ29udGludWVXaXRoQ2hh
bGxlbmdlOihOU1VSTEF1dGhlbnRpY2F0aW9uQ2hhbGxlbmdlICopY2hhbGxlbmdlCiB7CiAgICAg
Y2hlY2tDaGFsbGVuZ2UoY2hhbGxlbmdlKTsKLSAgICBBdXRoZW50aWNhdGlvbkNoYWxsZW5nZVBy
b3h5JiB3ZWJDaGFsbGVuZ2UgPSAoKFdLTlNVUkxBdXRoZW50aWNhdGlvbkNoYWxsZW5nZSAqKWNo
YWxsZW5nZSkuX3dlYl9hdXRoZW50aWNhdGlvbkNoYWxsZW5nZVByb3h5OworICAgIFdlYktpdDo6
QXV0aGVudGljYXRpb25DaGFsbGVuZ2VQcm94eSYgd2ViQ2hhbGxlbmdlID0gKChXS05TVVJMQXV0
aGVudGljYXRpb25DaGFsbGVuZ2UgKiljaGFsbGVuZ2UpLl93ZWJfYXV0aGVudGljYXRpb25DaGFs
bGVuZ2VQcm94eTsKICAgICB3ZWJDaGFsbGVuZ2UubGlzdGVuZXIoKS0+cmVqZWN0UHJvdGVjdGlv
blNwYWNlQW5kQ29udGludWUoKTsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVBy
b2Nlc3MvQVBJL0NvY29hL1dLTmF2aWdhdGlvbkRhdGEubW0gYi9Tb3VyY2UvV2ViS2l0L1VJUHJv
Y2Vzcy9BUEkvQ29jb2EvV0tOYXZpZ2F0aW9uRGF0YS5tbQppbmRleCAzZDRiNTE4YmZjOTM0MDAx
YzUyYjFkNjUxNDQyNDhkOTMyZTYwMzZjLi4wY2Q1MGViZGQxYjhiNzZiMzIxMjQzZjhiZDYzYjM2
NDkxMTMxNWViIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2Ev
V0tOYXZpZ2F0aW9uRGF0YS5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29j
b2EvV0tOYXZpZ2F0aW9uRGF0YS5tbQpAQCAtMzIsOCArMzIsNiBAQAogI2ltcG9ydCA8V2ViQ29y
ZS9SZXNvdXJjZVJlcXVlc3QuaD4KICNpbXBvcnQgPFdlYkNvcmUvUmVzb3VyY2VSZXNwb25zZS5o
PgogCi11c2luZyBuYW1lc3BhY2UgV2ViS2l0OwotCiBAaW1wbGVtZW50YXRpb24gV0tOYXZpZ2F0
aW9uRGF0YSB7CiAgICAgQVBJOjpPYmplY3RTdG9yYWdlPEFQSTo6TmF2aWdhdGlvbkRhdGE+IF9k
YXRhOwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL1dL
UHJvY2Vzc0dyb3VwLm1tIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL1dLUHJv
Y2Vzc0dyb3VwLm1tCmluZGV4IDRkNDE3YjU0M2MwZWQ4NjIyOTk0MjIyMjZiYTBmYTU3MzMxZjU5
ZGQuLjg5ZjJkODg0ZmFlNjNiZDdjM2M0YTI5YzcxMjM5OGZkYTQxOWY0ZDMgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1Byb2Nlc3NHcm91cC5tbQorKysg
Yi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tQcm9jZXNzR3JvdXAubW0KQEAg
LTUyLDEwICs1Miw4IEBACiAjaW1wb3J0IDxXZWJDb3JlL1dlYkNvcmVUaHJlYWRTeXN0ZW1JbnRl
cmZhY2UuaD4KICNlbmRpZgogCi11c2luZyBuYW1lc3BhY2UgV2ViS2l0OwotCiBAaW1wbGVtZW50
YXRpb24gV0tQcm9jZXNzR3JvdXAgewotICAgIFJlZlB0cjxXZWJQcm9jZXNzUG9vbD4gX3Byb2Nl
c3NQb29sOworICAgIFJlZlB0cjxXZWJLaXQ6OldlYlByb2Nlc3NQb29sPiBfcHJvY2Vzc1Bvb2w7
CiAKICAgICBXZWFrT2JqQ1B0cjxpZCA8V0tQcm9jZXNzR3JvdXBEZWxlZ2F0ZT4+IF9kZWxlZ2F0
ZTsKIApAQCAtNzAsNyArNjgsNyBAQCBzdGF0aWMgdm9pZCBkaWRDcmVhdGVDb25uZWN0aW9uKFdL
Q29udGV4dFJlZiwgV0tDb25uZWN0aW9uUmVmIGNvbm5lY3Rpb25SZWYsIGNvbgogICAgIGF1dG8g
ZGVsZWdhdGUgPSBwcm9jZXNzR3JvdXAtPl9kZWxlZ2F0ZS5nZXQoKTsKIAogICAgIGlmIChbZGVs
ZWdhdGUgcmVzcG9uZHNUb1NlbGVjdG9yOkBzZWxlY3Rvcihwcm9jZXNzR3JvdXA6ZGlkQ3JlYXRl
Q29ubmVjdGlvblRvV2ViUHJvY2Vzc1BsdWdJbjopXSkKLSAgICAgICAgW2RlbGVnYXRlIHByb2Nl
c3NHcm91cDpwcm9jZXNzR3JvdXAgZGlkQ3JlYXRlQ29ubmVjdGlvblRvV2ViUHJvY2Vzc1BsdWdJ
bjp3cmFwcGVyKCp0b0ltcGwoY29ubmVjdGlvblJlZikpXTsKKyAgICAgICAgW2RlbGVnYXRlIHBy
b2Nlc3NHcm91cDpwcm9jZXNzR3JvdXAgZGlkQ3JlYXRlQ29ubmVjdGlvblRvV2ViUHJvY2Vzc1Bs
dWdJbjp3cmFwcGVyKCpXZWJLaXQ6OnRvSW1wbChjb25uZWN0aW9uUmVmKSldOwogfQogCiBzdGF0
aWMgdm9pZCBzZXRVcENvbm5lY3Rpb25DbGllbnQoV0tQcm9jZXNzR3JvdXAgKnByb2Nlc3NHcm91
cCwgV0tDb250ZXh0UmVmIGNvbnRleHRSZWYpCkBAIC0xMTMsNTAgKzExMSw1MCBAQCBzdGF0aWMg
dm9pZCBzZXRVcEluamVjdGVkQnVuZGxlQ2xpZW50KFdLUHJvY2Vzc0dyb3VwICpwcm9jZXNzR3Jv
dXAsIFdLQ29udGV4dFJlZgogCiBzdGF0aWMgdm9pZCBkaWROYXZpZ2F0ZVdpdGhOYXZpZ2F0aW9u
RGF0YShXS0NvbnRleHRSZWYsIFdLUGFnZVJlZiBwYWdlUmVmLCBXS05hdmlnYXRpb25EYXRhUmVm
IG5hdmlnYXRpb25EYXRhUmVmLCBXS0ZyYW1lUmVmIGZyYW1lUmVmLCBjb25zdCB2b2lkKikKIHsK
LSAgICBpZiAoIXRvSW1wbChmcmFtZVJlZiktPmlzTWFpbkZyYW1lKCkpCisgICAgaWYgKCFXZWJL
aXQ6OnRvSW1wbChmcmFtZVJlZiktPmlzTWFpbkZyYW1lKCkpCiAgICAgICAgIHJldHVybjsKIAog
ICAgIFdLQnJvd3NpbmdDb250ZXh0Q29udHJvbGxlciAqY29udHJvbGxlciA9IFtXS0Jyb3dzaW5n
Q29udGV4dENvbnRyb2xsZXIgX2Jyb3dzaW5nQ29udGV4dENvbnRyb2xsZXJGb3JQYWdlUmVmOnBh
Z2VSZWZdOwogICAgIGF1dG8gaGlzdG9yeURlbGVnYXRlID0gY29udHJvbGxlci0+X2hpc3RvcnlE
ZWxlZ2F0ZS5nZXQoKTsKIAogICAgIGlmIChbaGlzdG9yeURlbGVnYXRlIHJlc3BvbmRzVG9TZWxl
Y3RvcjpAc2VsZWN0b3IoYnJvd3NpbmdDb250ZXh0Q29udHJvbGxlcjpkaWROYXZpZ2F0ZVdpdGhO
YXZpZ2F0aW9uRGF0YTopXSkKLSAgICAgICAgW2hpc3RvcnlEZWxlZ2F0ZSBicm93c2luZ0NvbnRl
eHRDb250cm9sbGVyOmNvbnRyb2xsZXIgZGlkTmF2aWdhdGVXaXRoTmF2aWdhdGlvbkRhdGE6d3Jh
cHBlcigqdG9JbXBsKG5hdmlnYXRpb25EYXRhUmVmKSldOworICAgICAgICBbaGlzdG9yeURlbGVn
YXRlIGJyb3dzaW5nQ29udGV4dENvbnRyb2xsZXI6Y29udHJvbGxlciBkaWROYXZpZ2F0ZVdpdGhO
YXZpZ2F0aW9uRGF0YTp3cmFwcGVyKCpXZWJLaXQ6OnRvSW1wbChuYXZpZ2F0aW9uRGF0YVJlZikp
XTsKIH0KIAogc3RhdGljIHZvaWQgZGlkUGVyZm9ybUNsaWVudFJlZGlyZWN0KFdLQ29udGV4dFJl
ZiwgV0tQYWdlUmVmIHBhZ2VSZWYsIFdLVVJMUmVmIHNvdXJjZVVSTFJlZiwgV0tVUkxSZWYgZGVz
dGluYXRpb25VUkxSZWYsIFdLRnJhbWVSZWYgZnJhbWVSZWYsIGNvbnN0IHZvaWQqKQogewotICAg
IGlmICghdG9JbXBsKGZyYW1lUmVmKS0+aXNNYWluRnJhbWUoKSkKKyAgICBpZiAoIVdlYktpdDo6
dG9JbXBsKGZyYW1lUmVmKS0+aXNNYWluRnJhbWUoKSkKICAgICAgICAgcmV0dXJuOwogCiAgICAg
V0tCcm93c2luZ0NvbnRleHRDb250cm9sbGVyICpjb250cm9sbGVyID0gW1dLQnJvd3NpbmdDb250
ZXh0Q29udHJvbGxlciBfYnJvd3NpbmdDb250ZXh0Q29udHJvbGxlckZvclBhZ2VSZWY6cGFnZVJl
Zl07CiAgICAgYXV0byBoaXN0b3J5RGVsZWdhdGUgPSBjb250cm9sbGVyLT5faGlzdG9yeURlbGVn
YXRlLmdldCgpOwogCiAgICAgaWYgKFtoaXN0b3J5RGVsZWdhdGUgcmVzcG9uZHNUb1NlbGVjdG9y
OkBzZWxlY3Rvcihicm93c2luZ0NvbnRleHRDb250cm9sbGVyOmRpZFBlcmZvcm1DbGllbnRSZWRp
cmVjdEZyb21VUkw6dG9VUkw6KV0pCi0gICAgICAgIFtoaXN0b3J5RGVsZWdhdGUgYnJvd3NpbmdD
b250ZXh0Q29udHJvbGxlcjpjb250cm9sbGVyIGRpZFBlcmZvcm1DbGllbnRSZWRpcmVjdEZyb21V
Ukw6d3JhcHBlcigqdG9JbXBsKHNvdXJjZVVSTFJlZikpIHRvVVJMOndyYXBwZXIoKnRvSW1wbChk
ZXN0aW5hdGlvblVSTFJlZikpXTsKKyAgICAgICAgW2hpc3RvcnlEZWxlZ2F0ZSBicm93c2luZ0Nv
bnRleHRDb250cm9sbGVyOmNvbnRyb2xsZXIgZGlkUGVyZm9ybUNsaWVudFJlZGlyZWN0RnJvbVVS
TDp3cmFwcGVyKCpXZWJLaXQ6OnRvSW1wbChzb3VyY2VVUkxSZWYpKSB0b1VSTDp3cmFwcGVyKCpX
ZWJLaXQ6OnRvSW1wbChkZXN0aW5hdGlvblVSTFJlZikpXTsKIH0KIAogc3RhdGljIHZvaWQgZGlk
UGVyZm9ybVNlcnZlclJlZGlyZWN0KFdLQ29udGV4dFJlZiwgV0tQYWdlUmVmIHBhZ2VSZWYsIFdL
VVJMUmVmIHNvdXJjZVVSTFJlZiwgV0tVUkxSZWYgZGVzdGluYXRpb25VUkxSZWYsIFdLRnJhbWVS
ZWYgZnJhbWVSZWYsIGNvbnN0IHZvaWQqKQogewotICAgIGlmICghdG9JbXBsKGZyYW1lUmVmKS0+
aXNNYWluRnJhbWUoKSkKKyAgICBpZiAoIVdlYktpdDo6dG9JbXBsKGZyYW1lUmVmKS0+aXNNYWlu
RnJhbWUoKSkKICAgICAgICAgcmV0dXJuOwogCiAgICAgV0tCcm93c2luZ0NvbnRleHRDb250cm9s
bGVyICpjb250cm9sbGVyID0gW1dLQnJvd3NpbmdDb250ZXh0Q29udHJvbGxlciBfYnJvd3NpbmdD
b250ZXh0Q29udHJvbGxlckZvclBhZ2VSZWY6cGFnZVJlZl07CiAgICAgYXV0byBoaXN0b3J5RGVs
ZWdhdGUgPSBjb250cm9sbGVyLT5faGlzdG9yeURlbGVnYXRlLmdldCgpOwogCiAgICAgaWYgKFto
aXN0b3J5RGVsZWdhdGUgcmVzcG9uZHNUb1NlbGVjdG9yOkBzZWxlY3Rvcihicm93c2luZ0NvbnRl
eHRDb250cm9sbGVyOmRpZFBlcmZvcm1TZXJ2ZXJSZWRpcmVjdEZyb21VUkw6dG9VUkw6KV0pCi0g
ICAgICAgIFtoaXN0b3J5RGVsZWdhdGUgYnJvd3NpbmdDb250ZXh0Q29udHJvbGxlcjpjb250cm9s
bGVyIGRpZFBlcmZvcm1TZXJ2ZXJSZWRpcmVjdEZyb21VUkw6d3JhcHBlcigqdG9JbXBsKHNvdXJj
ZVVSTFJlZikpIHRvVVJMOndyYXBwZXIoKnRvSW1wbChkZXN0aW5hdGlvblVSTFJlZikpXTsKKyAg
ICAgICAgW2hpc3RvcnlEZWxlZ2F0ZSBicm93c2luZ0NvbnRleHRDb250cm9sbGVyOmNvbnRyb2xs
ZXIgZGlkUGVyZm9ybVNlcnZlclJlZGlyZWN0RnJvbVVSTDp3cmFwcGVyKCpXZWJLaXQ6OnRvSW1w
bChzb3VyY2VVUkxSZWYpKSB0b1VSTDp3cmFwcGVyKCpXZWJLaXQ6OnRvSW1wbChkZXN0aW5hdGlv
blVSTFJlZikpXTsKIH0KIAogc3RhdGljIHZvaWQgZGlkVXBkYXRlSGlzdG9yeVRpdGxlKFdLQ29u
dGV4dFJlZiwgV0tQYWdlUmVmIHBhZ2VSZWYsIFdLU3RyaW5nUmVmIHRpdGxlUmVmLCBXS1VSTFJl
ZiB1cmxSZWYsIFdLRnJhbWVSZWYgZnJhbWVSZWYsIGNvbnN0IHZvaWQqKQogewotICAgIGlmICgh
dG9JbXBsKGZyYW1lUmVmKS0+aXNNYWluRnJhbWUoKSkKKyAgICBpZiAoIVdlYktpdDo6dG9JbXBs
KGZyYW1lUmVmKS0+aXNNYWluRnJhbWUoKSkKICAgICAgICAgcmV0dXJuOwogCiAgICAgV0tCcm93
c2luZ0NvbnRleHRDb250cm9sbGVyICpjb250cm9sbGVyID0gW1dLQnJvd3NpbmdDb250ZXh0Q29u
dHJvbGxlciBfYnJvd3NpbmdDb250ZXh0Q29udHJvbGxlckZvclBhZ2VSZWY6cGFnZVJlZl07CiAg
ICAgYXV0byBoaXN0b3J5RGVsZWdhdGUgPSBjb250cm9sbGVyLT5faGlzdG9yeURlbGVnYXRlLmdl
dCgpOwogCiAgICAgaWYgKFtoaXN0b3J5RGVsZWdhdGUgcmVzcG9uZHNUb1NlbGVjdG9yOkBzZWxl
Y3Rvcihicm93c2luZ0NvbnRleHRDb250cm9sbGVyOmRpZFVwZGF0ZUhpc3RvcnlUaXRsZTpmb3JV
Ukw6KV0pCi0gICAgICAgIFtoaXN0b3J5RGVsZWdhdGUgYnJvd3NpbmdDb250ZXh0Q29udHJvbGxl
cjpjb250cm9sbGVyIGRpZFVwZGF0ZUhpc3RvcnlUaXRsZTp3cmFwcGVyKCp0b0ltcGwodGl0bGVS
ZWYpKSBmb3JVUkw6d3JhcHBlcigqdG9JbXBsKHVybFJlZikpXTsKKyAgICAgICAgW2hpc3RvcnlE
ZWxlZ2F0ZSBicm93c2luZ0NvbnRleHRDb250cm9sbGVyOmNvbnRyb2xsZXIgZGlkVXBkYXRlSGlz
dG9yeVRpdGxlOndyYXBwZXIoKldlYktpdDo6dG9JbXBsKHRpdGxlUmVmKSkgZm9yVVJMOndyYXBw
ZXIoKldlYktpdDo6dG9JbXBsKHVybFJlZikpXTsKIH0KIAogc3RhdGljIHZvaWQgc2V0VXBIaXN0
b3J5Q2xpZW50KFdLUHJvY2Vzc0dyb3VwICpwcm9jZXNzR3JvdXAsIFdLQ29udGV4dFJlZiBjb250
ZXh0UmVmKQpAQCAtMTg4LDcgKzE4Niw3IEBAIHN0YXRpYyB2b2lkIHNldFVwSGlzdG9yeUNsaWVu
dChXS1Byb2Nlc3NHcm91cCAqcHJvY2Vzc0dyb3VwLCBXS0NvbnRleHRSZWYgY29udGV4CiAgICAg
YXV0byBjb25maWd1cmF0aW9uID0gQVBJOjpQcm9jZXNzUG9vbENvbmZpZ3VyYXRpb246OmNyZWF0
ZVdpdGhMZWdhY3lPcHRpb25zKCk7CiAgICAgY29uZmlndXJhdGlvbi0+c2V0SW5qZWN0ZWRCdW5k
bGVQYXRoKGJ1bmRsZVVSTCA/IFN0cmluZyhidW5kbGVVUkwucGF0aCkgOiBTdHJpbmcoKSk7CiAK
LSAgICBfcHJvY2Vzc1Bvb2wgPSBXZWJQcm9jZXNzUG9vbDo6Y3JlYXRlKGNvbmZpZ3VyYXRpb24p
OworICAgIF9wcm9jZXNzUG9vbCA9IFdlYktpdDo6V2ViUHJvY2Vzc1Bvb2w6OmNyZWF0ZShjb25m
aWd1cmF0aW9uKTsKIAogICAgIHNldFVwQ29ubmVjdGlvbkNsaWVudChzZWxmLCB0b0FQSShfcHJv
Y2Vzc1Bvb2wuZ2V0KCkpKTsKICAgICBzZXRVcEluamVjdGVkQnVuZGxlQ2xpZW50KHNlbGYsIHRv
QVBJKF9wcm9jZXNzUG9vbC5nZXQoKSkpOwpAQCAtMjE4LDcgKzIxNiw3IEBAIHN0YXRpYyB2b2lk
IHNldFVwSGlzdG9yeUNsaWVudChXS1Byb2Nlc3NHcm91cCAqcHJvY2Vzc0dyb3VwLCBXS0NvbnRl
eHRSZWYgY29udGV4CiAKIC0gKHZvaWQpX3NldEFsbG93c1NwZWNpZmljSFRUUFNDZXJ0aWZpY2F0
ZTooTlNBcnJheSAqKWNlcnRpZmljYXRlQ2hhaW4gZm9ySG9zdDooTlNTdHJpbmcgKilob3N0CiB7
Ci0gICAgX3Byb2Nlc3NQb29sLT5hbGxvd1NwZWNpZmljSFRUUFNDZXJ0aWZpY2F0ZUZvckhvc3Qo
V2ViQ2VydGlmaWNhdGVJbmZvOjpjcmVhdGUoV2ViQ29yZTo6Q2VydGlmaWNhdGVJbmZvKChfX2Jy
aWRnZSBDRkFycmF5UmVmKWNlcnRpZmljYXRlQ2hhaW4pKS5wdHIoKSwgaG9zdCk7CisgICAgX3By
b2Nlc3NQb29sLT5hbGxvd1NwZWNpZmljSFRUUFNDZXJ0aWZpY2F0ZUZvckhvc3QoV2ViS2l0OjpX
ZWJDZXJ0aWZpY2F0ZUluZm86OmNyZWF0ZShXZWJDb3JlOjpDZXJ0aWZpY2F0ZUluZm8oKF9fYnJp
ZGdlIENGQXJyYXlSZWYpY2VydGlmaWNhdGVDaGFpbikpLnB0cigpLCBob3N0KTsKIH0KIAogI2lm
IFBMQVRGT1JNKElPUykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9D
b2NvYS9XS1VSTFNjaGVtZVRhc2subW0gYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29j
b2EvV0tVUkxTY2hlbWVUYXNrLm1tCmluZGV4IGZhZDg4NzU0NjM4OTY2Y2E1YzFlMjQ1M2RmMWYz
M2U2ZGMzMzg2OTUuLmM1OGMxM2M1YzBhNDZkMjY4Njc3NmY3Zjg4MDA5NDY5YzEyNDk4MDYgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1VSTFNjaGVtZVRh
c2subW0KKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL1dLVVJMU2NoZW1l
VGFzay5tbQpAQCAtMzUsOCArMzUsNiBAQAogI2ltcG9ydCA8V2ViQ29yZS9TaGFyZWRCdWZmZXIu
aD4KICNpbXBvcnQgPHd0Zi9CbG9ja1B0ci5oPgogCi11c2luZyBuYW1lc3BhY2UgV2ViQ29yZTsK
LQogc3RhdGljIHZvaWQgcmFpc2VFeGNlcHRpb25JZk5lY2Vzc2FyeShXZWJLaXQ6OldlYlVSTFNj
aGVtZVRhc2s6OkV4Y2VwdGlvblR5cGUgZXhjZXB0aW9uVHlwZSkKIHsKICAgICBzd2l0Y2ggKGV4
Y2VwdGlvblR5cGUpIHsKQEAgLTcxLDcgKzY5LDcgQEAgc3RhdGljIHZvaWQgcmFpc2VFeGNlcHRp
b25JZk5lY2Vzc2FyeShXZWJLaXQ6OldlYlVSTFNjaGVtZVRhc2s6OkV4Y2VwdGlvblR5cGUgZXgK
IAogLSAoTlNVUkxSZXF1ZXN0ICopcmVxdWVzdAogewotICAgIHJldHVybiBfdXJsU2NoZW1lVGFz
ay0+dGFzaygpLnJlcXVlc3QoKS5uc1VSTFJlcXVlc3QoSFRUUEJvZHlVcGRhdGVQb2xpY3k6OlVw
ZGF0ZUhUVFBCb2R5KTsKKyAgICByZXR1cm4gX3VybFNjaGVtZVRhc2stPnRhc2soKS5yZXF1ZXN0
KCkubnNVUkxSZXF1ZXN0KFdlYkNvcmU6OkhUVFBCb2R5VXBkYXRlUG9saWN5OjpVcGRhdGVIVFRQ
Qm9keSk7CiB9CiAKIC0gKHZvaWQpZGlkUmVjZWl2ZVJlc3BvbnNlOihOU1VSTFJlc3BvbnNlICop
cmVzcG9uc2UKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9X
S1dlYlZpZXdDb25maWd1cmF0aW9uLm1tIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0Nv
Y29hL1dLV2ViVmlld0NvbmZpZ3VyYXRpb24ubW0KaW5kZXggODQ3OGRiMmNlM2M2N2VlNTA3N2Vj
NTBiMGU1MDQxYmU5NGFlZjU5Mi4uMmQ4NTNjNzY5YjIwOGQzM2QyYWM4MmYzYzFiYmYyMDQ5Y2Fj
MGE1MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL1dLV2Vi
Vmlld0NvbmZpZ3VyYXRpb24ubW0KKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0Nv
Y29hL1dLV2ViVmlld0NvbmZpZ3VyYXRpb24ubW0KQEAgLTUzLDggKzUzLDYgQEAKICNpbXBvcnQg
PFdlYkNvcmUvRGV2aWNlLmg+CiAjZW5kaWYKIAotdXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU7Ci0K
IHRlbXBsYXRlPHR5cGVuYW1lIFQ+IGNsYXNzIExhenlJbml0aWFsaXplZCB7CiBwdWJsaWM6CiAg
ICAgdHlwZWRlZiB0eXBlbmFtZSBXVEY6OkdldFB0ckhlbHBlcjxUPjo6UHRyVHlwZSBQdHJUeXBl
OwpAQCAtMjM4LDcgKzIzNiw3IEBAIHN0YXRpYyBfV0tEcmFnTGlmdERlbGF5IHRvRHJhZ0xpZnRE
ZWxheShOU1VJbnRlZ2VyIHZhbHVlKQogICAgIF9zeXN0ZW1QcmV2aWV3RW5hYmxlZCA9IE5POwog
I2VuZGlmIC8vIFBMQVRGT1JNKElPUykKIAotICAgIF9tZWRpYUNvbnRlbnRUeXBlc1JlcXVpcmlu
Z0hhcmR3YXJlU3VwcG9ydCA9IFNldHRpbmdzOjpkZWZhdWx0TWVkaWFDb250ZW50VHlwZXNSZXF1
aXJpbmdIYXJkd2FyZVN1cHBvcnQoKTsKKyAgICBfbWVkaWFDb250ZW50VHlwZXNSZXF1aXJpbmdI
YXJkd2FyZVN1cHBvcnQgPSBXZWJDb3JlOjpTZXR0aW5nczo6ZGVmYXVsdE1lZGlhQ29udGVudFR5
cGVzUmVxdWlyaW5nSGFyZHdhcmVTdXBwb3J0KCk7CiAgICAgX2FsbG93TWVkaWFDb250ZW50VHlw
ZXNSZXF1aXJpbmdIYXJkd2FyZVN1cHBvcnRBc0ZhbGxiYWNrID0gWUVTOwogCiAgICAgX2NvbG9y
RmlsdGVyRW5hYmxlZCA9IE5POwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3Mv
QVBJL0NvY29hL1dLV2Vic2l0ZURhdGFTdG9yZS5tbSBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNz
L0FQSS9Db2NvYS9XS1dlYnNpdGVEYXRhU3RvcmUubW0KaW5kZXggZmQ4NWVmNmZlZDlmMDBjNzQ0
MjhkYmQ3NDk4ZmNkYjk5NWM2M2Q5MS4uYzY0OWZmNmNiY2VhNWExZGE0NWYzNjBiZTUzOWM3ZGJj
NDkyODMyNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL1dL
V2Vic2l0ZURhdGFTdG9yZS5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29j
b2EvV0tXZWJzaXRlRGF0YVN0b3JlLm1tCkBAIC00Miw4ICs0Miw2IEBACiAjaW1wb3J0IDxXZWJL
aXQvU2VydmljZVdvcmtlclByb2Nlc3NQcm94eS5oPgogI2ltcG9ydCA8d3RmL0Jsb2NrUHRyLmg+
CiAKLXVzaW5nIG5hbWVzcGFjZSBXZWJDb3JlOwotCiBAaW1wbGVtZW50YXRpb24gV0tXZWJzaXRl
RGF0YVN0b3JlCiAKICsgKFdLV2Vic2l0ZURhdGFTdG9yZSAqKWRlZmF1bHREYXRhU3RvcmUKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9fV0tBdHRhY2htZW50
Lm1tIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL19XS0F0dGFjaG1lbnQubW0K
aW5kZXggODExMjQwZDI4NDJmNTBlN2I5MjRmZDg1MmEwZjJiNjgwZmQxNTNjZS4uNjlhYTc4MDQw
YjYzZDNhMjc3YmU0YjA3ODAyZWVhNThlYzI3OTc5MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dC9VSVByb2Nlc3MvQVBJL0NvY29hL19XS0F0dGFjaG1lbnQubW0KKysrIGIvU291cmNlL1dlYktp
dC9VSVByb2Nlc3MvQVBJL0NvY29hL19XS0F0dGFjaG1lbnQubW0KQEAgLTM5LDggKzM5LDYgQEAK
ICNpbXBvcnQgPE1vYmlsZUNvcmVTZXJ2aWNlcy9Nb2JpbGVDb3JlU2VydmljZXMuaD4KICNlbmRp
ZgogCi11c2luZyBuYW1lc3BhY2UgV2ViS2l0OwotCiBzdGF0aWMgY29uc3QgTlNJbnRlZ2VyIFVu
c3BlY2lmaWVkQXR0YWNobWVudEVycm9yQ29kZSA9IDE7CiBzdGF0aWMgY29uc3QgTlNJbnRlZ2Vy
IEludmFsaWRBdHRhY2htZW50RXJyb3JDb2RlID0gMjsKIApAQCAtMTM5LDcgKzEzNyw3IEBAIHN0
YXRpYyBjb25zdCBOU0ludGVnZXIgSW52YWxpZEF0dGFjaG1lbnRFcnJvckNvZGUgPSAyOwogICAg
ICAgICBpZiAoIWNhcHR1cmVkQmxvY2spCiAgICAgICAgICAgICByZXR1cm47CiAKLSAgICAgICAg
aWYgKGVycm9yID09IENhbGxiYWNrQmFzZTo6RXJyb3I6Ok5vbmUpCisgICAgICAgIGlmIChlcnJv
ciA9PSBXZWJLaXQ6OkNhbGxiYWNrQmFzZTo6RXJyb3I6Ok5vbmUpCiAgICAgICAgICAgICBjYXB0
dXJlZEJsb2NrKG5pbCk7CiAgICAgICAgIGVsc2UKICAgICAgICAgICAgIGNhcHR1cmVkQmxvY2so
W05TRXJyb3IgZXJyb3JXaXRoRG9tYWluOldLRXJyb3JEb21haW4gY29kZTpVbnNwZWNpZmllZEF0
dGFjaG1lbnRFcnJvckNvZGUgdXNlckluZm86bmlsXSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvX1dLR2VvbG9jYXRpb25Qb3NpdGlvbi5tbSBiL1NvdXJj
ZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9fV0tHZW9sb2NhdGlvblBvc2l0aW9uLm1tCmlu
ZGV4IGU4NDI2MDI0YzhiMTUzODk5NjhlMWY5Mzc1OGE5MWZhNWUzNGUxYzcuLmZlNDg3NTBjNDli
NTg0MmUyMTA5OWViMGQxODYyMzdiODFmOWMwNTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQv
VUlQcm9jZXNzL0FQSS9Db2NvYS9fV0tHZW9sb2NhdGlvblBvc2l0aW9uLm1tCisrKyBiL1NvdXJj
ZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9fV0tHZW9sb2NhdGlvblBvc2l0aW9uLm1tCkBA
IC0zMCw4ICszMCw2IEBACiAKICNpbXBvcnQgPENvcmVMb2NhdGlvbi9DTExvY2F0aW9uLmg+CiAK
LXVzaW5nIG5hbWVzcGFjZSBXZWJLaXQ7Ci0KIEBpbXBsZW1lbnRhdGlvbiBfV0tHZW9sb2NhdGlv
blBvc2l0aW9uCiAKICsgKGluc3RhbmNldHlwZSlwb3NpdGlvbldpdGhMb2NhdGlvbjooQ0xMb2Nh
dGlvbiAqKWxvY2F0aW9uCkBAIC0zOSw3ICszNyw3IEBAIHVzaW5nIG5hbWVzcGFjZSBXZWJLaXQ7
CiAgICAgaWYgKCFsb2NhdGlvbikKICAgICAgICAgcmV0dXJuIG5pbDsKIAotICAgIHJldHVybiB3
cmFwcGVyKFdlYkdlb2xvY2F0aW9uUG9zaXRpb246OmNyZWF0ZShXZWJDb3JlOjpHZW9sb2NhdGlv
blBvc2l0aW9uIHsgbG9jYXRpb24gfSkpOworICAgIHJldHVybiB3cmFwcGVyKFdlYktpdDo6V2Vi
R2VvbG9jYXRpb25Qb3NpdGlvbjo6Y3JlYXRlKFdlYkNvcmU6Okdlb2xvY2F0aW9uUG9zaXRpb24g
eyBsb2NhdGlvbiB9KSk7CiB9CiAKIC0gKHZvaWQpZGVhbGxvYwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL19XS1JlbW90ZVdlYkluc3BlY3RvclZpZXdDb250
cm9sbGVyLm1tIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL19XS1JlbW90ZVdl
Ykluc3BlY3RvclZpZXdDb250cm9sbGVyLm1tCmluZGV4IDY5YmQzNmQ4NGRiZjlkNDkxMDYwOTc2
MmYwZGY1MTk4N2NhYWUxMWEuLmIxZTE3NWEyZjdjNzEzMTJjZDU1MzMzYWY1NDI0NTE1N2ZlMDky
NzEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9fV0tSZW1v
dGVXZWJJbnNwZWN0b3JWaWV3Q29udHJvbGxlci5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJv
Y2Vzcy9BUEkvQ29jb2EvX1dLUmVtb3RlV2ViSW5zcGVjdG9yVmlld0NvbnRyb2xsZXIubW0KQEAg
LTMwLDggKzMwLDYgQEAKIAogI2ltcG9ydCAiUmVtb3RlV2ViSW5zcGVjdG9yUHJveHkuaCIKIAot
dXNpbmcgbmFtZXNwYWNlIFdlYktpdDsKLQogQGludGVyZmFjZSBfV0tSZW1vdGVXZWJJbnNwZWN0
b3JWaWV3Q29udHJvbGxlciAoKQogLSAodm9pZClzZW5kTWVzc2FnZVRvQmFja2VuZDooTlNTdHJp
bmcgKiltZXNzYWdlOwogLSAodm9pZCljbG9zZUZyb21Gcm9udGVuZDsKQEAgLTY3LDggKzY1LDgg
QEAgcHJpdmF0ZToKIH0gLy8gbmFtZXNwYWNlIFdlYktpdAogCiBAaW1wbGVtZW50YXRpb24gX1dL
UmVtb3RlV2ViSW5zcGVjdG9yVmlld0NvbnRyb2xsZXIgewotICAgIFJlZlB0cjxSZW1vdGVXZWJJ
bnNwZWN0b3JQcm94eT4gbV9yZW1vdGVJbnNwZWN0b3JQcm94eTsKLSAgICBzdGQ6OnVuaXF1ZV9w
dHI8X1dLUmVtb3RlV2ViSW5zcGVjdG9yUHJveHlDbGllbnQ+IG1fcmVtb3RlSW5zcGVjdG9yQ2xp
ZW50OworICAgIFJlZlB0cjxXZWJLaXQ6OlJlbW90ZVdlYkluc3BlY3RvclByb3h5PiBtX3JlbW90
ZUluc3BlY3RvclByb3h5OworICAgIHN0ZDo6dW5pcXVlX3B0cjxXZWJLaXQ6Ol9XS1JlbW90ZVdl
Ykluc3BlY3RvclByb3h5Q2xpZW50PiBtX3JlbW90ZUluc3BlY3RvckNsaWVudDsKIH0KIAogLSAo
aW5zdGFuY2V0eXBlKWluaXQKQEAgLTc2LDggKzc0LDggQEAgcHJpdmF0ZToKICAgICBpZiAoIShz
ZWxmID0gW3N1cGVyIGluaXRdKSkKICAgICAgICAgcmV0dXJuIG5pbDsKIAotICAgIG1fcmVtb3Rl
SW5zcGVjdG9yUHJveHkgPSBSZW1vdGVXZWJJbnNwZWN0b3JQcm94eTo6Y3JlYXRlKCk7Ci0gICAg
bV9yZW1vdGVJbnNwZWN0b3JDbGllbnQgPSBzdGQ6Om1ha2VfdW5pcXVlPF9XS1JlbW90ZVdlYklu
c3BlY3RvclByb3h5Q2xpZW50PihzZWxmKTsKKyAgICBtX3JlbW90ZUluc3BlY3RvclByb3h5ID0g
V2ViS2l0OjpSZW1vdGVXZWJJbnNwZWN0b3JQcm94eTo6Y3JlYXRlKCk7CisgICAgbV9yZW1vdGVJ
bnNwZWN0b3JDbGllbnQgPSBzdGQ6Om1ha2VfdW5pcXVlPFdlYktpdDo6X1dLUmVtb3RlV2ViSW5z
cGVjdG9yUHJveHlDbGllbnQ+KHNlbGYpOwogICAgIG1fcmVtb3RlSW5zcGVjdG9yUHJveHktPnNl
dENsaWVudChtX3JlbW90ZUluc3BlY3RvckNsaWVudC5nZXQoKSk7CiAKICAgICByZXR1cm4gc2Vs
ZjsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9fV0tUaHVt
Ym5haWxWaWV3Lm1tIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL19XS1RodW1i
bmFpbFZpZXcubW0KaW5kZXggNWQ3NjcyMzI0MzVkYjFkYTNjM2EzM2E0OWE1MjkzYmQ2YzJkMjJk
OC4uMzRiMTBmMGIzNWZjYWNjNTZmYTQ4ZTU0MzQwNDE0YjMzNmEwZTM0NSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL19XS1RodW1ibmFpbFZpZXcubW0KKysr
IGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL19XS1RodW1ibmFpbFZpZXcubW0K
QEAgLTQzLDEzICs0MywxMCBAQAogLy8gRklYTUU6IFdlIHNob3VsZCByZS11c2UgZXhpc3Rpbmcg
dGlsZXMgZm9yIHVucGFyZW50ZWQgdmlld3MsIGlmIHdlIGhhdmUgdGhlbSAod2UgbmVlZCB0byBr
bm93IGlmIHRoZXkndmUgYmVlbiBwdXJnZWQ7IGlmIHNvLCByZXBhaW50IGF0IHNjYWxlZC1kb3du
IHNpemUpLgogLy8gRklYTUU6IFdlIHNob3VsZCBzd2l0Y2ggdG8gdGhlIGxvdy1yZXNvbHV0aW9u
IHNjYWxlIGlmIGEgdmlldyB3ZSBoYXZlIGhpZ2gtcmVzb2x1dGlvbiB0aWxlcyBmb3IgcmVwYWlu
dHMuCiAKLXVzaW5nIG5hbWVzcGFjZSBXZWJDb3JlOwotdXNpbmcgbmFtZXNwYWNlIFdlYktpdDsK
LQogQGltcGxlbWVudGF0aW9uIF9XS1RodW1ibmFpbFZpZXcgewogICAgIFJldGFpblB0cjxXS1Zp
ZXc+IF93a1ZpZXc7CiAgICAgUmV0YWluUHRyPFdLV2ViVmlldz4gX3drV2ViVmlldzsKLSAgICBX
ZWJQYWdlUHJveHkqIF93ZWJQYWdlUHJveHk7CisgICAgV2ViS2l0OjpXZWJQYWdlUHJveHkqIF93
ZWJQYWdlUHJveHk7CiAKICAgICBCT09MIF9vcmlnaW5hbE1heVN0YXJ0TWVkaWFXaGVuSW5XaW5k
b3c7CiAgICAgQk9PTCBfb3JpZ2luYWxTb3VyY2VWaWV3SXNJbldpbmRvdzsKQEAgLTg0LDcgKzgx
LDcgQEAgdXNpbmcgbmFtZXNwYWNlIFdlYktpdDsKICAgICAgICAgcmV0dXJuIG5pbDsKIAogICAg
IF93a1ZpZXcgPSB3a1ZpZXc7Ci0gICAgX3dlYlBhZ2VQcm94eSA9IHRvSW1wbChbX3drVmlldyBw
YWdlUmVmXSk7CisgICAgX3dlYlBhZ2VQcm94eSA9IFdlYktpdDo6dG9JbXBsKFtfd2tWaWV3IHBh
Z2VSZWZdKTsKICAgICBfb3JpZ2luYWxNYXlTdGFydE1lZGlhV2hlbkluV2luZG93ID0gX3dlYlBh
Z2VQcm94eS0+bWF5U3RhcnRNZWRpYVdoZW5JbldpbmRvdygpOwogICAgIF9vcmlnaW5hbFNvdXJj
ZVZpZXdJc0luV2luZG93ID0gISFbX3drVmlldyB3aW5kb3ddOwogCkBAIC0xMjcsOSArMTI0LDkg
QEAgdXNpbmcgbmFtZXNwYWNlIFdlYktpdDsKICAgICBfd2FpdGluZ0ZvclNuYXBzaG90ID0gWUVT
OwogCiAgICAgUmV0YWluUHRyPF9XS1RodW1ibmFpbFZpZXc+IHRodW1ibmFpbFZpZXcgPSBzZWxm
OwotICAgIEludFJlY3Qgc25hcHNob3RSZWN0KEludFBvaW50KCksIF93ZWJQYWdlUHJveHktPnZp
ZXdTaXplKCkgLSBJbnRTaXplKDAsIF93ZWJQYWdlUHJveHktPnRvcENvbnRlbnRJbnNldCgpKSk7
Ci0gICAgU25hcHNob3RPcHRpb25zIG9wdGlvbnMgPSBTbmFwc2hvdE9wdGlvbnNJblZpZXdDb29y
ZGluYXRlcyB8IFNuYXBzaG90T3B0aW9uc1VzZVNjcmVlbkNvbG9yU3BhY2U7Ci0gICAgSW50U2l6
ZSBiaXRtYXBTaXplID0gc25hcHNob3RSZWN0LnNpemUoKTsKKyAgICBXZWJDb3JlOjpJbnRSZWN0
IHNuYXBzaG90UmVjdChXZWJDb3JlOjpJbnRQb2ludCgpLCBfd2ViUGFnZVByb3h5LT52aWV3U2l6
ZSgpIC0gV2ViQ29yZTo6SW50U2l6ZSgwLCBfd2ViUGFnZVByb3h5LT50b3BDb250ZW50SW5zZXQo
KSkpOworICAgIFdlYktpdDo6U25hcHNob3RPcHRpb25zIG9wdGlvbnMgPSBXZWJLaXQ6OlNuYXBz
aG90T3B0aW9uc0luVmlld0Nvb3JkaW5hdGVzIHwgV2ViS2l0OjpTbmFwc2hvdE9wdGlvbnNVc2VT
Y3JlZW5Db2xvclNwYWNlOworICAgIFdlYkNvcmU6OkludFNpemUgYml0bWFwU2l6ZSA9IHNuYXBz
aG90UmVjdC5zaXplKCk7CiAgICAgYml0bWFwU2l6ZS5zY2FsZShfc2NhbGUgKiBfd2ViUGFnZVBy
b3h5LT5kZXZpY2VTY2FsZUZhY3RvcigpKTsKIAogICAgIGlmICghQ0dTaXplRXF1YWxUb1NpemUo
X21heGltdW1TbmFwc2hvdFNpemUsIENHU2l6ZVplcm8pKSB7CkBAIC0xMzgsMTMgKzEzNSwxMyBA
QCB1c2luZyBuYW1lc3BhY2UgV2ViS2l0OwogICAgICAgICAgICAgc2l6ZUNvbnN0cmFpbnRTY2Fs
ZSA9IENHRmxvYXRNaW4oc2l6ZUNvbnN0cmFpbnRTY2FsZSwgX21heGltdW1TbmFwc2hvdFNpemUu
d2lkdGggLyBiaXRtYXBTaXplLndpZHRoKCkpOwogICAgICAgICBpZiAoX21heGltdW1TbmFwc2hv
dFNpemUuaGVpZ2h0KQogICAgICAgICAgICAgc2l6ZUNvbnN0cmFpbnRTY2FsZSA9IENHRmxvYXRN
aW4oc2l6ZUNvbnN0cmFpbnRTY2FsZSwgX21heGltdW1TbmFwc2hvdFNpemUuaGVpZ2h0IC8gYml0
bWFwU2l6ZS5oZWlnaHQoKSk7Ci0gICAgICAgIGJpdG1hcFNpemUgPSBJbnRTaXplKENHQ2VpbGlu
ZyhiaXRtYXBTaXplLndpZHRoKCkgKiBzaXplQ29uc3RyYWludFNjYWxlKSwgQ0dDZWlsaW5nKGJp
dG1hcFNpemUuaGVpZ2h0KCkgKiBzaXplQ29uc3RyYWludFNjYWxlKSk7CisgICAgICAgIGJpdG1h
cFNpemUgPSBXZWJDb3JlOjpJbnRTaXplKENHQ2VpbGluZyhiaXRtYXBTaXplLndpZHRoKCkgKiBz
aXplQ29uc3RyYWludFNjYWxlKSwgQ0dDZWlsaW5nKGJpdG1hcFNpemUuaGVpZ2h0KCkgKiBzaXpl
Q29uc3RyYWludFNjYWxlKSk7CiAgICAgfQogCiAgICAgX2xhc3RTbmFwc2hvdFNjYWxlID0gX3Nj
YWxlOwogICAgIF9sYXN0U25hcHNob3RNYXhpbXVtU2l6ZSA9IF9tYXhpbXVtU25hcHNob3RTaXpl
OwotICAgIF93ZWJQYWdlUHJveHktPnRha2VTbmFwc2hvdChzbmFwc2hvdFJlY3QsIGJpdG1hcFNp
emUsIG9wdGlvbnMsIFt0aHVtYm5haWxWaWV3XShjb25zdCBTaGFyZWFibGVCaXRtYXA6OkhhbmRs
ZSYgaW1hZ2VIYW5kbGUsIFdlYktpdDo6Q2FsbGJhY2tCYXNlOjpFcnJvcikgewotICAgICAgICBS
ZWZQdHI8U2hhcmVhYmxlQml0bWFwPiBiaXRtYXAgPSBTaGFyZWFibGVCaXRtYXA6OmNyZWF0ZShp
bWFnZUhhbmRsZSwgU2hhcmVkTWVtb3J5OjpQcm90ZWN0aW9uOjpSZWFkT25seSk7CisgICAgX3dl
YlBhZ2VQcm94eS0+dGFrZVNuYXBzaG90KHNuYXBzaG90UmVjdCwgYml0bWFwU2l6ZSwgb3B0aW9u
cywgW3RodW1ibmFpbFZpZXddKGNvbnN0IFdlYktpdDo6U2hhcmVhYmxlQml0bWFwOjpIYW5kbGUm
IGltYWdlSGFuZGxlLCBXZWJLaXQ6OkNhbGxiYWNrQmFzZTo6RXJyb3IpIHsKKyAgICAgICAgYXV0
byBiaXRtYXAgPSBXZWJLaXQ6OlNoYXJlYWJsZUJpdG1hcDo6Y3JlYXRlKGltYWdlSGFuZGxlLCBX
ZWJLaXQ6OlNoYXJlZE1lbW9yeTo6UHJvdGVjdGlvbjo6UmVhZE9ubHkpOwogICAgICAgICBSZXRh
aW5QdHI8Q0dJbWFnZVJlZj4gY2dJbWFnZSA9IGJpdG1hcCA/IGJpdG1hcC0+bWFrZUNHSW1hZ2Uo
KSA6IG51bGxwdHI7CiAgICAgICAgIFt0aHVtYm5haWxWaWV3IF9kaWRUYWtlU25hcHNob3Q6Y2dJ
bWFnZS5nZXQoKV07CiAgICAgfSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vz
cy9BUEkvbWFjL1dLVmlldy5tbSBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9tYWMvV0tW
aWV3Lm1tCmluZGV4IGZlOTcwMTAzNzU1MDdiN2Q3MTExOWE0ZGFmYjBkNTI4YTcyZTQ5NzYuLmZl
OGQ5Y2E1ZjRjNWVhYzYxZDNjMTBkNjBiOWU5NDg2NmEyZTBiZjUgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9tYWMvV0tWaWV3Lm1tCisrKyBiL1NvdXJjZS9XZWJLaXQv
VUlQcm9jZXNzL0FQSS9tYWMvV0tWaWV3Lm1tCkBAIC00NSwxMiArNDUsOSBAQAogI2ltcG9ydCA8
cGFsL3NwaS9jb2NvYS9BVktpdFNQSS5oPgogI2ltcG9ydCA8d3RmL0Jsb2NrUHRyLmg+CiAKLXVz
aW5nIG5hbWVzcGFjZSBXZWJLaXQ7Ci11c2luZyBuYW1lc3BhY2UgV2ViQ29yZTsKLQogQGludGVy
ZmFjZSBXS1ZpZXdEYXRhIDogTlNPYmplY3QgewogQHB1YmxpYwotICAgIHN0ZDo6dW5pcXVlX3B0
cjxXZWJWaWV3SW1wbD4gX2ltcGw7CisgICAgc3RkOjp1bmlxdWVfcHRyPFdlYktpdDo6V2ViVmll
d0ltcGw+IF9pbXBsOwogfQogCiBAZW5kCkBAIC03NTksNyArNzU2LDcgQEAgU29tZSBvdGhlciBl
ZGl0aW5nLXJlbGF0ZWQgbWV0aG9kcyBzdGlsbCB1bmltcGxlbWVudGVkOgogCiAtIChCT09MKW1v
dXNlRG93bkNhbk1vdmVXaW5kb3cKIHsKLSAgICByZXR1cm4gV2ViVmlld0ltcGw6Om1vdXNlRG93
bkNhbk1vdmVXaW5kb3coKTsKKyAgICByZXR1cm4gV2ViS2l0OjpXZWJWaWV3SW1wbDo6bW91c2VE
b3duQ2FuTW92ZVdpbmRvdygpOwogfQogCiAtICh2b2lkKXZpZXdEaWRIaWRlCkBAIC04OTgsNyAr
ODk1LDcgQEAgU29tZSBvdGhlciBlZGl0aW5nLXJlbGF0ZWQgbWV0aG9kcyBzdGlsbCB1bmltcGxl
bWVudGVkOgogICAgICAgICAgICAgICAgIEFTU0VSVChSdW5Mb29wOjppc01haW4oKSk7CiAgICAg
ICAgICAgICAgICAgaWYgKGxvYWRDb21wbGV0aW9uSGFuZGxlcikgewogICAgICAgICAgICAgICAg
ICAgICBjb21wbGV0aW9uSGFuZGxlcihbbG9hZENvbXBsZXRpb25IYW5kbGVyID0gQmxvY2tQdHI8
dm9pZCAoTlNEYXRhICopPihsb2FkQ29tcGxldGlvbkhhbmRsZXIpXShBUEk6OkRhdGEqIGRhdGEs
IFdlYktpdDo6Q2FsbGJhY2tCYXNlOjpFcnJvciBlcnJvcikgewotICAgICAgICAgICAgICAgICAg
ICAgICAgaWYgKGVycm9yICE9IENhbGxiYWNrQmFzZTo6RXJyb3I6Ok5vbmUgfHwgIWRhdGEpCisg
ICAgICAgICAgICAgICAgICAgICAgICBpZiAoZXJyb3IgIT0gV2ViS2l0OjpDYWxsYmFja0Jhc2U6
OkVycm9yOjpOb25lIHx8ICFkYXRhKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxvYWRD
b21wbGV0aW9uSGFuZGxlcihuaWwpOwogICAgICAgICAgICAgICAgICAgICAgICAgZWxzZQogICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGxvYWRDb21wbGV0aW9uSGFuZGxlcih3cmFwcGVyKCpk
YXRhKSk7CkBAIC05MTYsMTYgKzkxMywxNiBAQCBTb21lIG90aGVyIGVkaXRpbmctcmVsYXRlZCBt
ZXRob2RzIHN0aWxsIHVuaW1wbGVtZW50ZWQ6CiAjZW5kaWYgLy8gV0tfQVBJX0VOQUJMRUQKIH0K
IAotLSAoaW5zdGFuY2V0eXBlKWluaXRXaXRoRnJhbWU6KE5TUmVjdClmcmFtZSBwcm9jZXNzUG9v
bDooV2ViUHJvY2Vzc1Bvb2wmKXByb2Nlc3NQb29sIGNvbmZpZ3VyYXRpb246KFJlZjxBUEk6OlBh
Z2VDb25maWd1cmF0aW9uPiYmKWNvbmZpZ3VyYXRpb24KKy0gKGluc3RhbmNldHlwZSlpbml0V2l0
aEZyYW1lOihOU1JlY3QpZnJhbWUgcHJvY2Vzc1Bvb2w6KFdlYktpdDo6V2ViUHJvY2Vzc1Bvb2wm
KXByb2Nlc3NQb29sIGNvbmZpZ3VyYXRpb246KFJlZjxBUEk6OlBhZ2VDb25maWd1cmF0aW9uPiYm
KWNvbmZpZ3VyYXRpb24KIHsKICAgICBzZWxmID0gW3N1cGVyIGluaXRXaXRoRnJhbWU6ZnJhbWVd
OwogICAgIGlmICghc2VsZikKICAgICAgICAgcmV0dXJuIG5pbDsKIAotICAgIEluaXRpYWxpemVX
ZWJLaXQyKCk7CisgICAgV2ViS2l0OjpJbml0aWFsaXplV2ViS2l0MigpOwogCiAgICAgX2RhdGEg
PSBbW1dLVmlld0RhdGEgYWxsb2NdIGluaXRdOwotICAgIF9kYXRhLT5faW1wbCA9IHN0ZDo6bWFr
ZV91bmlxdWU8V2ViVmlld0ltcGw+KHNlbGYsIG51bGxwdHIsIHByb2Nlc3NQb29sLCBXVEZNb3Zl
KGNvbmZpZ3VyYXRpb24pKTsKKyAgICBfZGF0YS0+X2ltcGwgPSBzdGQ6Om1ha2VfdW5pcXVlPFdl
YktpdDo6V2ViVmlld0ltcGw+KHNlbGYsIG51bGxwdHIsIHByb2Nlc3NQb29sLCBXVEZNb3ZlKGNv
bmZpZ3VyYXRpb24pKTsKIAogICAgIFtzZWxmIG1heWJlSW5zdGFsbEljb25Mb2FkaW5nQ2xpZW50
XTsKIApAQCAtMTAwNiw3ICsxMDAzLDcgQEAgU29tZSBvdGhlciBlZGl0aW5nLXJlbGF0ZWQgbWV0
aG9kcyBzdGlsbCB1bmltcGxlbWVudGVkOgogCiAtIChpZClfd2ViX2ltbWVkaWF0ZUFjdGlvbkFu
aW1hdGlvbkNvbnRyb2xsZXJGb3JIaXRUZXN0UmVzdWx0SW50ZXJuYWw6KEFQSTo6SGl0VGVzdFJl
c3VsdCopaGl0VGVzdFJlc3VsdCB3aXRoVHlwZToodWludDMyX3QpdHlwZSB1c2VyRGF0YTooQVBJ
OjpPYmplY3QqKXVzZXJEYXRhCiB7Ci0gICAgcmV0dXJuIFtzZWxmIF9pbW1lZGlhdGVBY3Rpb25B
bmltYXRpb25Db250cm9sbGVyRm9ySGl0VGVzdFJlc3VsdDp0b0FQSShoaXRUZXN0UmVzdWx0KSB3
aXRoVHlwZTp0eXBlIHVzZXJEYXRhOnRvQVBJKHVzZXJEYXRhKV07CisgICAgcmV0dXJuIFtzZWxm
IF9pbW1lZGlhdGVBY3Rpb25BbmltYXRpb25Db250cm9sbGVyRm9ySGl0VGVzdFJlc3VsdDpXZWJL
aXQ6OnRvQVBJKGhpdFRlc3RSZXN1bHQpIHdpdGhUeXBlOnR5cGUgdXNlckRhdGE6V2ViS2l0Ojp0
b0FQSSh1c2VyRGF0YSldOwogfQogCiAtICh2b2lkKV93ZWJfcHJlcGFyZUZvckltbWVkaWF0ZUFj
dGlvbkFuaW1hdGlvbgpAQCAtMTEzMSw3ICsxMTI4LDcgQEAgU29tZSBvdGhlciBlZGl0aW5nLXJl
bGF0ZWQgbWV0aG9kcyBzdGlsbCB1bmltcGxlbWVudGVkOgogCiAtICh2b2lkKXNhdmVCYWNrRm9y
d2FyZFNuYXBzaG90Rm9ySXRlbTooV0tCYWNrRm9yd2FyZExpc3RJdGVtUmVmKWl0ZW0KIHsKLSAg
ICBfZGF0YS0+X2ltcGwtPnNhdmVCYWNrRm9yd2FyZFNuYXBzaG90Rm9ySXRlbSgqdG9JbXBsKGl0
ZW0pKTsKKyAgICBfZGF0YS0+X2ltcGwtPnNhdmVCYWNrRm9yd2FyZFNuYXBzaG90Rm9ySXRlbSgq
V2ViS2l0Ojp0b0ltcGwoaXRlbSkpOwogfQogCiAtIChpZClpbml0V2l0aEZyYW1lOihOU1JlY3Qp
ZnJhbWUgY29udGV4dFJlZjooV0tDb250ZXh0UmVmKWNvbnRleHRSZWYgcGFnZUdyb3VwUmVmOihX
S1BhZ2VHcm91cFJlZilwYWdlR3JvdXBSZWYKQEAgLTExNTUsMTkgKzExNTIsMTkgQEAgc3RhdGlj
IFdlYkNvcmU6OlVzZXJJbnRlcmZhY2VMYXlvdXREaXJlY3Rpb24gdG9Vc2VySW50ZXJmYWNlTGF5
b3V0RGlyZWN0aW9uKE5TVXMKIC0gKGlkKWluaXRXaXRoRnJhbWU6KE5TUmVjdClmcmFtZSBjb250
ZXh0UmVmOihXS0NvbnRleHRSZWYpY29udGV4dFJlZiBwYWdlR3JvdXBSZWY6KFdLUGFnZUdyb3Vw
UmVmKXBhZ2VHcm91cFJlZiByZWxhdGVkVG9QYWdlOihXS1BhZ2VSZWYpcmVsYXRlZFBhZ2UKIHsK
ICAgICBhdXRvIGNvbmZpZ3VyYXRpb24gPSBBUEk6OlBhZ2VDb25maWd1cmF0aW9uOjpjcmVhdGUo
KTsKLSAgICBjb25maWd1cmF0aW9uLT5zZXRQcm9jZXNzUG9vbCh0b0ltcGwoY29udGV4dFJlZikp
OwotICAgIGNvbmZpZ3VyYXRpb24tPnNldFBhZ2VHcm91cCh0b0ltcGwocGFnZUdyb3VwUmVmKSk7
Ci0gICAgY29uZmlndXJhdGlvbi0+c2V0UmVsYXRlZFBhZ2UodG9JbXBsKHJlbGF0ZWRQYWdlKSk7
CisgICAgY29uZmlndXJhdGlvbi0+c2V0UHJvY2Vzc1Bvb2woV2ViS2l0Ojp0b0ltcGwoY29udGV4
dFJlZikpOworICAgIGNvbmZpZ3VyYXRpb24tPnNldFBhZ2VHcm91cChXZWJLaXQ6OnRvSW1wbChw
YWdlR3JvdXBSZWYpKTsKKyAgICBjb25maWd1cmF0aW9uLT5zZXRSZWxhdGVkUGFnZShXZWJLaXQ6
OnRvSW1wbChyZWxhdGVkUGFnZSkpOwogI2lmIFBMQVRGT1JNKE1BQykKICAgICBjb25maWd1cmF0
aW9uLT5wcmVmZXJlbmNlVmFsdWVzKCkuc2V0KFdlYktpdDo6V2ViUHJlZmVyZW5jZXNLZXk6OnN5
c3RlbUxheW91dERpcmVjdGlvbktleSgpLCBXZWJLaXQ6OldlYlByZWZlcmVuY2VzU3RvcmU6OlZh
bHVlKHN0YXRpY19jYXN0PHVpbnQzMl90Pih0b1VzZXJJbnRlcmZhY2VMYXlvdXREaXJlY3Rpb24o
c2VsZi51c2VySW50ZXJmYWNlTGF5b3V0RGlyZWN0aW9uKSkpKTsKICNlbmRpZgogCi0gICAgcmV0
dXJuIFtzZWxmIGluaXRXaXRoRnJhbWU6ZnJhbWUgcHJvY2Vzc1Bvb2w6KnRvSW1wbChjb250ZXh0
UmVmKSBjb25maWd1cmF0aW9uOldURk1vdmUoY29uZmlndXJhdGlvbildOworICAgIHJldHVybiBb
c2VsZiBpbml0V2l0aEZyYW1lOmZyYW1lIHByb2Nlc3NQb29sOipXZWJLaXQ6OnRvSW1wbChjb250
ZXh0UmVmKSBjb25maWd1cmF0aW9uOldURk1vdmUoY29uZmlndXJhdGlvbildOwogfQogCiAtIChp
ZClpbml0V2l0aEZyYW1lOihOU1JlY3QpZnJhbWUgY29uZmlndXJhdGlvblJlZjooV0tQYWdlQ29u
ZmlndXJhdGlvblJlZiljb25maWd1cmF0aW9uUmVmCiB7Ci0gICAgUmVmPEFQSTo6UGFnZUNvbmZp
Z3VyYXRpb24+IGNvbmZpZ3VyYXRpb24gPSB0b0ltcGwoY29uZmlndXJhdGlvblJlZiktPmNvcHko
KTsKKyAgICBSZWY8QVBJOjpQYWdlQ29uZmlndXJhdGlvbj4gY29uZmlndXJhdGlvbiA9IFdlYktp
dDo6dG9JbXBsKGNvbmZpZ3VyYXRpb25SZWYpLT5jb3B5KCk7CiAgICAgYXV0byYgcHJvY2Vzc1Bv
b2wgPSAqY29uZmlndXJhdGlvbi0+cHJvY2Vzc1Bvb2woKTsKIAogICAgIHJldHVybiBbc2VsZiBp
bml0V2l0aEZyYW1lOmZyYW1lIHByb2Nlc3NQb29sOnByb2Nlc3NQb29sIGNvbmZpZ3VyYXRpb246
V1RGTW92ZShjb25maWd1cmF0aW9uKV07CkBAIC0xMTc1LDcgKzExNzIsNyBAQCBzdGF0aWMgV2Vi
Q29yZTo6VXNlckludGVyZmFjZUxheW91dERpcmVjdGlvbiB0b1VzZXJJbnRlcmZhY2VMYXlvdXRE
aXJlY3Rpb24oTlNVcwogCiAtIChCT09MKXdhbnRzVXBkYXRlTGF5ZXIKIHsKLSAgICByZXR1cm4g
V2ViVmlld0ltcGw6OndhbnRzVXBkYXRlTGF5ZXIoKTsKKyAgICByZXR1cm4gV2ViS2l0OjpXZWJW
aWV3SW1wbDo6d2FudHNVcGRhdGVMYXllcigpOwogfQogCiAtICh2b2lkKXVwZGF0ZUxheWVyCkBA
IC0xMTg1LDE3ICsxMTgyLDE3IEBAIHN0YXRpYyBXZWJDb3JlOjpVc2VySW50ZXJmYWNlTGF5b3V0
RGlyZWN0aW9uIHRvVXNlckludGVyZmFjZUxheW91dERpcmVjdGlvbihOU1VzCiAKIC0gKFdLUGFn
ZVJlZilwYWdlUmVmCiB7Ci0gICAgcmV0dXJuIHRvQVBJKCZfZGF0YS0+X2ltcGwtPnBhZ2UoKSk7
CisgICAgcmV0dXJuIFdlYktpdDo6dG9BUEkoJl9kYXRhLT5faW1wbC0+cGFnZSgpKTsKIH0KIAog
LSAoQk9PTCljYW5DaGFuZ2VGcmFtZUxheW91dDooV0tGcmFtZVJlZilmcmFtZVJlZgogewotICAg
IHJldHVybiBfZGF0YS0+X2ltcGwtPmNhbkNoYW5nZUZyYW1lTGF5b3V0KCp0b0ltcGwoZnJhbWVS
ZWYpKTsKKyAgICByZXR1cm4gX2RhdGEtPl9pbXBsLT5jYW5DaGFuZ2VGcmFtZUxheW91dCgqV2Vi
S2l0Ojp0b0ltcGwoZnJhbWVSZWYpKTsKIH0KIAogLSAoTlNQcmludE9wZXJhdGlvbiAqKXByaW50
T3BlcmF0aW9uV2l0aFByaW50SW5mbzooTlNQcmludEluZm8gKilwcmludEluZm8gZm9yRnJhbWU6
KFdLRnJhbWVSZWYpZnJhbWVSZWYKIHsKLSAgICByZXR1cm4gX2RhdGEtPl9pbXBsLT5wcmludE9w
ZXJhdGlvbldpdGhQcmludEluZm8ocHJpbnRJbmZvLCAqdG9JbXBsKGZyYW1lUmVmKSk7CisgICAg
cmV0dXJuIF9kYXRhLT5faW1wbC0+cHJpbnRPcGVyYXRpb25XaXRoUHJpbnRJbmZvKHByaW50SW5m
bywgKldlYktpdDo6dG9JbXBsKGZyYW1lUmVmKSk7CiB9CiAKIC0gKHZvaWQpc2V0RnJhbWU6KE5T
UmVjdClyZWN0IGFuZFNjcm9sbEJ5OihOU1NpemUpb2Zmc2V0CkBAIC0xMjIwLDcgKzEyMTcsNyBA
QCBzdGF0aWMgV2ViQ29yZTo6VXNlckludGVyZmFjZUxheW91dERpcmVjdGlvbiB0b1VzZXJJbnRl
cmZhY2VMYXlvdXREaXJlY3Rpb24oTlNVcwogCiArICh2b2lkKWhpZGVXb3JkRGVmaW5pdGlvbldp
bmRvdwogewotICAgIFdlYlZpZXdJbXBsOjpoaWRlV29yZERlZmluaXRpb25XaW5kb3coKTsKKyAg
ICBXZWJLaXQ6OldlYlZpZXdJbXBsOjpoaWRlV29yZERlZmluaXRpb25XaW5kb3coKTsKIH0KIAog
LSAoTlNTaXplKW1pbmltdW1TaXplRm9yQXV0b0xheW91dApkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdC9XZWJLaXQueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvaiBiL1NvdXJjZS9XZWJLaXQvV2Vi
S2l0Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKaW5kZXggNDFhNTY5ZGNjOTEyNjhjNTIzYjVh
YjA2YWQ3YWJhYzExYzFmMmYxYS4uN2JkYWM2MGZjMzJiNjA3MzdlNmVkMTFmNjE3Nzk0MTA1MGY3
NTcwYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJLaXQueGNvZGVwcm9qL3Byb2plY3Qu
cGJ4cHJvagorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYktpdC54Y29kZXByb2ovcHJvamVjdC5wYnhw
cm9qCkBAIC0xMTcsNyArMTE3LDYgQEAKIAkJMTU3MzlCQkQxQjQyMDQyRDAwRDI1OEMxIC8qIFdl
YlVzZXJNZWRpYUNsaWVudC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gNEE0MTBGNDkxOUFGN0I4MDAwMkVCQUI1IC8qIFdlYlVzZXJNZWRpYUNsaWVudC5o
ICovOyB9OwogCQkxQTAwMkQ0MzE5NkIzMzcwMDBCOUFENDQgLyogX1dLU2Vzc2lvblN0YXRlSW50
ZXJuYWwuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDFB
MDAyRDQyMTk2QjMzNzAwMEI5QUQ0NCAvKiBfV0tTZXNzaW9uU3RhdGVJbnRlcm5hbC5oICovOyB9
OwogCQkxQTAwMkQ0NDE5NkIzMzg5MDBCOUFENDQgLyogX1dLU2Vzc2lvblN0YXRlLmggaW4gSGVh
ZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxQTAwMkQzRjE5NkIzMjk0
MDBCOUFENDQgLyogX1dLU2Vzc2lvblN0YXRlLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMg
PSAoUHJpdmF0ZSwgKTsgfTsgfTsKLQkJMUEwMDJENDUxOTZCMzM4RTAwQjlBRDQ0IC8qIF9XS1Nl
c3Npb25TdGF0ZS5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IDFBMDAyRDNFMTk2QjMyOTQwMEI5QUQ0NCAvKiBfV0tTZXNzaW9uU3RhdGUubW0gKi87IH07
CiAJCTFBMDAyRDQ5MTk2QjM0NUQwMEI5QUQ0NCAvKiBTZXNzaW9uU3RhdGVDb2RpbmcuaCBpbiBI
ZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDFBMDAyRDQ3MTk2QjM0
NUQwMEI5QUQ0NCAvKiBTZXNzaW9uU3RhdGVDb2RpbmcuaCAqLzsgfTsKIAkJMUEwNDM5NzYxMjRE
MDM0ODAwRkZCRkI1IC8qIFBsdWdpblByb2Nlc3MuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDFBMDQzOTc0MTI0RDAzNDgwMEZGQkZCNSAvKiBQbHVnaW5Q
cm9jZXNzLmggKi87IH07CiAJCTFBMDQzOTc3MTI0RDAzNDgwMEZGQkZCNSAvKiBQbHVnaW5Qcm9j
ZXNzLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDFB
MDQzOTc1MTI0RDAzNDgwMEZGQkZCNSAvKiBQbHVnaW5Qcm9jZXNzLmNwcCAqLzsgfTsKQEAgLTE0
MCwxMSArMTM5LDkgQEAKIAkJMUEwRUM5MEYxMjRDMEFGNTAwN0VGNEE1IC8qIFBsdWdpblByb2Nl
c3NDb25uZWN0aW9uTWFuYWdlci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gMUEwRUM5MEQxMjRDMEFGNTAwN0VGNEE1IC8qIFBsdWdpblByb2Nlc3NDb25u
ZWN0aW9uTWFuYWdlci5oICovOyB9OwogCQkxQTBGMjlFNDEyMEI0NDQyMDA1M0QxQjkgLyogVmlz
aXRlZExpbmtTdG9yZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gMUEwRjI5RTIxMjBCNDQ0MjAwNTNEMUI5IC8qIFZpc2l0ZWRMaW5rU3RvcmUuaCAqLzsg
fTsKIAkJMUExNEY4RTIxRDc0QzgzNDAwNkNCRUM2IC8qIEZyYW1lSW5mb0RhdGEuaCBpbiBIZWFk
ZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDFBMTRGOEUwMUQ3NEM4MzQw
MDZDQkVDNiAvKiBGcmFtZUluZm9EYXRhLmggKi87IH07Ci0JCTFBMTU4NDE5MTg5MDQ0RjUwMDE3
NjE2QyAvKiBXS1Byb2Nlc3NQb29sLm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gMUExNTg0MTcxODkwNDRGNTAwMTc2MTZDIC8qIFdLUHJvY2Vzc1Bvb2wu
bW0gKi87IH07CiAJCTFBMTU4NDFBMTg5MDQ0RjUwMDE3NjE2QyAvKiBXS1Byb2Nlc3NQb29sLmgg
aW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxQTE1ODQxODE4
OTA0NEY1MDAxNzYxNkMgLyogV0tQcm9jZXNzUG9vbC5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJV
VEVTID0gKFB1YmxpYywgKTsgfTsgfTsKIAkJMUExNzk3N0YxMzdFRTgyQzAwRjk3RDQ1IC8qIFBs
dWdpbkNyZWF0aW9uUGFyYW1ldGVycy5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSAxQTE3OTc3RDEzN0VFODJDMDBGOTdENDUgLyogUGx1Z2luQ3JlYXRp
b25QYXJhbWV0ZXJzLmNwcCAqLzsgfTsKIAkJMUExNzk3ODAxMzdFRTgyQzAwRjk3RDQ1IC8qIFBs
dWdpbkNyZWF0aW9uUGFyYW1ldGVycy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gMUExNzk3N0UxMzdFRTgyQzAwRjk3RDQ1IC8qIFBsdWdpbkNyZWF0aW9u
UGFyYW1ldGVycy5oICovOyB9OwotCQkxQTFCMEVCNTE4QTQyNDk1MDAzODQ4MUEgLyogV0tOYXZp
Z2F0aW9uUmVzcG9uc2UubW0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSAxQTFCMEVCMzE4QTQyNDk1MDAzODQ4MUEgLyogV0tOYXZpZ2F0aW9uUmVzcG9uc2Uu
bW0gKi87IH07CiAJCTFBMUIwRUI2MThBNDI0OTUwMDM4NDgxQSAvKiBXS05hdmlnYXRpb25SZXNw
b25zZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMUEx
QjBFQjQxOEE0MjQ5NTAwMzg0ODFBIC8qIFdLTmF2aWdhdGlvblJlc3BvbnNlLmggKi87IHNldHRp
bmdzID0ge0FUVFJJQlVURVMgPSAoUHVibGljLCApOyB9OyB9OwogCQkxQTFCMEVCODE4QTQyNENE
MDAzODQ4MUEgLyogV0tOYXZpZ2F0aW9uUmVzcG9uc2VJbnRlcm5hbC5oIGluIEhlYWRlcnMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMUExQjBFQjcxOEE0MjRDRDAwMzg0ODFB
IC8qIFdLTmF2aWdhdGlvblJlc3BvbnNlSW50ZXJuYWwuaCAqLzsgfTsKIAkJMUExRDhCQTIxNzMx
QTM2MzAwMTQxREE0IC8qIExvY2FsU3RvcmFnZURhdGFiYXNlLmggaW4gSGVhZGVycyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxQTFEOEJBMDE3MzFBMzYzMDAxNDFEQTQgLyog
TG9jYWxTdG9yYWdlRGF0YWJhc2UuaCAqLzsgfTsKQEAgLTE1OCw3ICsxNTUsNiBAQAogCQkxQTI0
NjRGMzE4OTFFNDUxMDAyMzRDNUIgLyogQVBJTG9hZGVyQ2xpZW50LmggaW4gSGVhZGVycyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxQTI0NjRGMjE4OTFFNDUxMDAyMzRDNUIg
LyogQVBJTG9hZGVyQ2xpZW50LmggKi87IH07CiAJCTFBMjRCNUYzMTFGNTMxRTgwMEMzODI2OSAv
KiBNYWNoVXRpbGl0aWVzLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSAxQTI0QjVGMTExRjUzMUU4MDBDMzgyNjkgLyogTWFjaFV0aWxpdGllcy5oICovOyB9
OwogCQkxQTI0QkVENTEyMDg5NEQxMDBGQkIwNTkgLyogU2hhcmVkTWVtb3J5LmggaW4gSGVhZGVy
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxQTI0QkVEMzEyMDg5NEQxMDBG
QkIwNTkgLyogU2hhcmVkTWVtb3J5LmggKi87IH07Ci0JCTFBMjU2RTM3MThBMUE3ODgwMDZGQjky
MiAvKiBXS05hdmlnYXRpb25BY3Rpb24ubW0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSAxQTI1NkUzNTE4QTFBNzg4MDA2RkI5MjIgLyogV0tOYXZpZ2F0aW9u
QWN0aW9uLm1tICovOyB9OwogCQkxQTI1NkUzODE4QTFBNzg4MDA2RkI5MjIgLyogV0tOYXZpZ2F0
aW9uQWN0aW9uLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSAxQTI1NkUzNjE4QTFBNzg4MDA2RkI5MjIgLyogV0tOYXZpZ2F0aW9uQWN0aW9uLmggKi87IHNl
dHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHVibGljLCApOyB9OyB9OwogCQkxQTI1NkUzQTE4QTFB
N0RGMDA2RkI5MjIgLyogV0tOYXZpZ2F0aW9uQWN0aW9uSW50ZXJuYWwuaCBpbiBIZWFkZXJzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDFBMjU2RTM5MThBMUE3REYwMDZGQjky
MiAvKiBXS05hdmlnYXRpb25BY3Rpb25JbnRlcm5hbC5oICovOyB9OwogCQkxQTJCQjZEMDE0MTE3
QjREMDAwRjM1RDQgLyogUGx1Z2luUHJvY2Vzc0Nvbm5lY3Rpb25NZXNzYWdlUmVjZWl2ZXIuY3Bw
IGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMUEyQkI2Q0Ux
NDExN0I0RDAwMEYzNUQ0IC8qIFBsdWdpblByb2Nlc3NDb25uZWN0aW9uTWVzc2FnZVJlY2VpdmVy
LmNwcCAqLzsgfTsKQEAgLTE3Nyw5ICsxNzMsNyBAQAogCQkxQTMzNERFRDE2REU4Rjg4MDA2QThF
MzggLyogU3RvcmFnZUFyZWFNYXBNZXNzYWdlUmVjZWl2ZXIuY3BwIGluIFNvdXJjZXMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMUEzMzRERUIxNkRFOEY4ODAwNkE4RTM4IC8q
IFN0b3JhZ2VBcmVhTWFwTWVzc2FnZVJlY2VpdmVyLmNwcCAqLzsgfTsKIAkJMUEzMzRERUUxNkRF
OEY4ODAwNkE4RTM4IC8qIFN0b3JhZ2VBcmVhTWFwTWVzc2FnZXMuaCBpbiBIZWFkZXJzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDFBMzM0REVDMTZERThGODgwMDZBOEUzOCAv
KiBTdG9yYWdlQXJlYU1hcE1lc3NhZ2VzLmggKi87IH07CiAJCTFBMzYzNUFBMUEzMTQ0QTMwMEVE
NjE5NyAvKiBBUElXZWJzaXRlRGF0YVN0b3JlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSAxQTM2MzVBODFBMzE0NEEzMDBFRDYxOTcgLyogQVBJV2Vic2l0
ZURhdGFTdG9yZS5oICovOyB9OwotCQkxQTM2MzVBRDFBMzE0NUU1MDBFRDYxOTcgLyogQVBJV2Vi
c2l0ZURhdGFTdG9yZUNvY29hLm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gMUEzNjM1QUIxQTMxNDVFNTAwRUQ2MTk3IC8qIEFQSVdlYnNpdGVEYXRhU3Rv
cmVDb2NvYS5tbSAqLzsgfTsKIAkJMUEzQzg4ODAxOEE1QUJBRTAwQzRDOTYyIC8qIFdLUHJlZmVy
ZW5jZXNJbnRlcm5hbC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gMUEzQzg4N0YxOEE1QUJBRTAwQzRDOTYyIC8qIFdLUHJlZmVyZW5jZXNJbnRlcm5hbC5o
ICovOyB9OwotCQkxQTNDQzE2NjE4OTA2QUNGMDAxRTZFRDggLyogV0tXZWJWaWV3Lm1tIGluIFNv
dXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMUEzQ0MxNjQxODkwNkFD
RjAwMUU2RUQ4IC8qIFdLV2ViVmlldy5tbSAqLzsgfTsKIAkJMUEzQ0MxNjcxODkwNkFDRjAwMUU2
RUQ4IC8qIFdLV2ViVmlldy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gMUEzQ0MxNjUxODkwNkFDRjAwMUU2RUQ4IC8qIFdLV2ViVmlldy5oICovOyBzZXR0
aW5ncyA9IHtBVFRSSUJVVEVTID0gKFB1YmxpYywgKTsgfTsgfTsKIAkJMUEzQ0MxNjkxODkwN0VC
MDAwMUU2RUQ4IC8qIFdLUHJvY2Vzc1Bvb2xJbnRlcm5hbC5oIGluIEhlYWRlcnMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMUEzQ0MxNjgxODkwN0VCMDAwMUU2RUQ4IC8qIFdL
UHJvY2Vzc1Bvb2xJbnRlcm5hbC5oICovOyB9OwogCQkxQTNENjEwMjEzQTdDQzJBMDBGOTVENEUg
LyogUGx1Z2luTW9kdWxlSW5mby5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gMUEzRDYxMDAxM0E3Q0MyQTAwRjk1RDRFIC8qIFBsdWdpbk1vZHVsZUluZm8u
aCAqLzsgfTsKQEAgLTE4OCwxNCArMTgyLDEyIEBACiAJCTFBM0VFRDBGMTYxQTUzNTQwMEFFQjRG
NSAvKiBNZXNzYWdlUmVjZWl2ZXJNYXAuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IDFBM0VFRDBEMTYxQTUzNTMwMEFFQjRGNSAvKiBNZXNzYWdlUmVjZWl2
ZXJNYXAuaCAqLzsgfTsKIAkJMUEzRUVEMTIxNjFBNTNENjAwQUVCNEY1IC8qIE1lc3NhZ2VSZWNl
aXZlci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMUEz
RUVEMTExNjFBNTNENjAwQUVCNEY1IC8qIE1lc3NhZ2VSZWNlaXZlci5oICovOyB9OwogCQkxQTQy
MkY4QjE4QjI5QjU0MDBEOENEOTYgLyogV0tIaXN0b3J5RGVsZWdhdGVQcml2YXRlLmggaW4gSGVh
ZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxQTQyMkY4QTE4QjI5QjU0
MDBEOENEOTYgLyogV0tIaXN0b3J5RGVsZWdhdGVQcml2YXRlLmggKi87IHNldHRpbmdzID0ge0FU
VFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKLQkJMUE0M0U4MjkxODhGM0NEQzAwOUU0RDMw
IC8qIF9XS1Byb2Nlc3NQb29sQ29uZmlndXJhdGlvbi5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDFBNDNFODI3MTg4RjNDREMwMDlFNEQzMCAvKiBfV0tQ
cm9jZXNzUG9vbENvbmZpZ3VyYXRpb24ubW0gKi87IH07CiAJCTFBNDNFODJBMTg4RjNDREMwMDlF
NEQzMCAvKiBfV0tQcm9jZXNzUG9vbENvbmZpZ3VyYXRpb24uaCBpbiBIZWFkZXJzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDFBNDNFODI4MTg4RjNDREMwMDlFNEQzMCAvKiBf
V0tQcm9jZXNzUG9vbENvbmZpZ3VyYXRpb24uaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9
IChQcml2YXRlLCApOyB9OyB9OwogCQkxQTQ0NUI5RjE4NEQ1RkI1MDA0QjM0MTQgLyogV0tDb250
ZXh0SW5qZWN0ZWRCdW5kbGVDbGllbnQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IDFBNDQ1QjlFMTg0RDVGQjUwMDRCMzQxNCAvKiBXS0NvbnRleHRJbmpl
Y3RlZEJ1bmRsZUNsaWVudC5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUs
ICk7IH07IH07CiAJCTFBNDQ1QkExMTg0RDVGQzEwMDRCMzQxNCAvKiBXS0NvbnRleHRIaXN0b3J5
Q2xpZW50LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAx
QTQ0NUJBMDE4NEQ1RkMxMDA0QjM0MTQgLyogV0tDb250ZXh0SGlzdG9yeUNsaWVudC5oICovOyBz
ZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTFBNDQ1QkEzMTg0
RDVGQ0YwMDRCMzQxNCAvKiBXS0NvbnRleHREb3dubG9hZENsaWVudC5oIGluIEhlYWRlcnMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMUE0NDVCQTIxODRENUZDRjAwNEIzNDE0
IC8qIFdLQ29udGV4dERvd25sb2FkQ2xpZW50LmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMg
PSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJMUE0NDVCQTUxODRENUZEQTAwNEIzNDE0IC8qIFdLQ29u
dGV4dENvbm5lY3Rpb25DbGllbnQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IDFBNDQ1QkE0MTg0RDVGREEwMDRCMzQxNCAvKiBXS0NvbnRleHRDb25uZWN0
aW9uQ2xpZW50LmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsg
fTsKIAkJMUE0NEI5NUMxNkI3M0Y5RjAwQjdCQkQ4IC8qIFN0b3JhZ2VNYW5hZ2VyLmggaW4gSGVh
ZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxQTQ0Qjk1QTE2QjczRjlG
MDBCN0JCRDggLyogU3RvcmFnZU1hbmFnZXIuaCAqLzsgfTsKLQkJMUE0ODMyQ0IxQTlCQzQ2NTAw
OEI0REZFIC8qIFdLV2Vic2l0ZURhdGFSZWNvcmQubW0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxQTQ4MzJDOTFBOUJDNDY1MDA4QjRERkUgLyogV0tXZWJz
aXRlRGF0YVJlY29yZC5tbSAqLzsgfTsKIAkJMUE0ODMyQ0MxQTlCQzQ2NTAwOEI0REZFIC8qIFdL
V2Vic2l0ZURhdGFSZWNvcmQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IDFBNDgzMkNBMUE5QkM0NjUwMDhCNERGRSAvKiBXS1dlYnNpdGVEYXRhUmVjb3Jk
LmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHVibGljLCApOyB9OyB9OwogCQkxQTQ4
MzJDRTFBOUJDNDg0MDA4QjRERkUgLyogV0tXZWJzaXRlRGF0YVJlY29yZEludGVybmFsLmggaW4g
SGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxQTQ4MzJDRDFBOUJD
NDg0MDA4QjRERkUgLyogV0tXZWJzaXRlRGF0YVJlY29yZEludGVybmFsLmggKi87IH07CiAJCTFB
NDgzMkQxMUE5QkRDMkYwMDhCNERGRSAvKiBXZWJzaXRlRGF0YVJlY29yZC5oIGluIEhlYWRlcnMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMUE0ODMyQ0YxQTlCRDgyMTAwOEI0
REZFIC8qIFdlYnNpdGVEYXRhUmVjb3JkLmggKi87IH07CkBAIC0yMDQsMTcgKzE5NiwxMyBAQAog
CQkxQTRBOUM1NjEyQjgxNkNGMDA4RkU5ODQgLyogTmV0c2NhcGVQbHVnaW5Nb2R1bGUuaCBpbiBI
ZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDFBNEE5QzU0MTJCODE2
Q0YwMDhGRTk4NCAvKiBOZXRzY2FwZVBsdWdpbk1vZHVsZS5oICovOyB9OwogCQkxQTRBOUYzMzEy
Qjg0NEUyMDA4RkU5ODQgLyogUGx1Z2luUXVpcmtzLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxQTRBOUYzMTEyQjg0NEUyMDA4RkU5ODQgLyogUGx1Z2lu
UXVpcmtzLmggKi87IH07CiAJCTFBNEQ2NjQ4MThBMkQ5MUEwMEQ4MkUyMSAvKiBBUElVSUNsaWVu
dC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMUE0RDY2
NDcxOEEyRDkxQTAwRDgyRTIxIC8qIEFQSVVJQ2xpZW50LmggKi87IH07Ci0JCTFBNEQ2NjRCMThB
MzAzMEUwMEQ4MkUyMSAvKiBXS0ZyYW1lSW5mby5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDFBNEQ2NjQ5MThBMzAzMEUwMEQ4MkUyMSAvKiBXS0ZyYW1l
SW5mby5tbSAqLzsgfTsKIAkJMUE0RDY2NEMxOEEzMDMwRTAwRDgyRTIxIC8qIFdLRnJhbWVJbmZv
LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxQTRENjY0
QTE4QTMwMzBFMDBEODJFMjEgLyogV0tGcmFtZUluZm8uaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklC
VVRFUyA9IChQdWJsaWMsICk7IH07IH07CiAJCTFBNTJDMEY4MUEzOENEQzcwMDE2MTYwQSAvKiBX
ZWJTdG9yYWdlTmFtZXNwYWNlUHJvdmlkZXIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IDFBNTJDMEY2MUEzOENEQzcwMDE2MTYwQSAvKiBXZWJTdG9yYWdl
TmFtZXNwYWNlUHJvdmlkZXIuaCAqLzsgfTsKIAkJMUE1M0MyQUExQTMyNTczMDAwNEU4QzcwIC8q
IFdlYnNpdGVEYXRhU3RvcmUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IDFBNTNDMkE1MUEzMjU2OUYwMDRFOEM3MCAvKiBXZWJzaXRlRGF0YVN0b3JlLmgg
Ki87IH07Ci0JCTFBNTcwNEY3MUJFMDFGRjQwMDg3NEFGMSAvKiBfV0tDb250ZXh0TWVudUVsZW1l
bnRJbmZvLm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
MUE1NzA0RjUxQkUwMUZGNDAwODc0QUYxIC8qIF9XS0NvbnRleHRNZW51RWxlbWVudEluZm8ubW0g
Ki87IH07CiAJCTFBNTcwNEY4MUJFMDFGRjQwMDg3NEFGMSAvKiBfV0tDb250ZXh0TWVudUVsZW1l
bnRJbmZvLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAx
QTU3MDRGNjFCRTAxRkY0MDA4NzRBRjEgLyogX1dLQ29udGV4dE1lbnVFbGVtZW50SW5mby5oICov
OyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07Ci0JCTFBNTcwNEZC
MUJFMTc1MTEwMDg3NEFGMSAvKiBSZW1vdGVPYmplY3RJbnZvY2F0aW9uLm1tIGluIFNvdXJjZXMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMUE1NzA0RjkxQkUxNzUxMTAwODc0
QUYxIC8qIFJlbW90ZU9iamVjdEludm9jYXRpb24ubW0gKi87IH07CiAJCTFBNTcwNEZDMUJFMTc1
MTEwMDg3NEFGMSAvKiBSZW1vdGVPYmplY3RJbnZvY2F0aW9uLmggaW4gSGVhZGVycyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxQTU3MDRGQTFCRTE3NTExMDA4NzRBRjEgLyog
UmVtb3RlT2JqZWN0SW52b2NhdGlvbi5oICovOyB9OwogCQkxQTU3MDUxMTFCRTQxMEU2MDA4NzRB
RjEgLyogQmxvY2tTUEkuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IDFBNTcwNTEwMUJFNDEwRTUwMDg3NEFGMSAvKiBCbG9ja1NQSS5oICovOyB9OwogCQkx
QTU3MTA5RjFBQkEwMDI3MDAyRkFCQkUgLyogV0tXZWJzaXRlRGF0YVN0b3JlUmVmLmggaW4gSGVh
ZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxQTU3MTA5RDFBQkEwMDI3
MDAyRkFCQkUgLyogV0tXZWJzaXRlRGF0YVN0b3JlUmVmLmggKi87IHNldHRpbmdzID0ge0FUVFJJ
QlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKLQkJMUE1QjFDNTAxODk4NjA2RjAwNEZDRjlCIC8q
IFdLTmF2aWdhdGlvbi5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IDFBNUIxQzRFMTg5ODYwNkYwMDRGQ0Y5QiAvKiBXS05hdmlnYXRpb24ubW0gKi87IH07
CiAJCTFBNUIxQzUxMTg5ODYwNkYwMDRGQ0Y5QiAvKiBXS05hdmlnYXRpb24uaCBpbiBIZWFkZXJz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDFBNUIxQzRGMTg5ODYwNkYwMDRG
Q0Y5QiAvKiBXS05hdmlnYXRpb24uaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQdWJs
aWMsICk7IH07IH07CiAJCTFBNUIxQzU1MTg5ODdFREYwMDRGQ0Y5QiAvKiBXZWJEb2N1bWVudExv
YWRlci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMUE1
QjFDNTMxODk4N0VERjAwNEZDRjlCIC8qIFdlYkRvY3VtZW50TG9hZGVyLmggKi87IH07CiAJCTFB
NUU0REE0MTJEM0JEM0QwMDk5QTJCQiAvKiBUZXh0Q2hlY2tlclN0YXRlLmggaW4gSGVhZGVycyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxQTVFNERBMzEyRDNCRDNEMDA5OUEy
QkIgLyogVGV4dENoZWNrZXJTdGF0ZS5oICovOyB9OwpAQCAtMjQzLDkgKzIzMSw3IEBACiAJCTFB
Nzg2NUJBMTZDQUM3MTUwMEFDRTgzQSAvKiBQbHVnaW5Qcm9jZXNzQ29ubmVjdGlvbk1hbmFnZXJN
ZXNzYWdlcy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
MUE3ODY1QjgxNkNBQzcxNTAwQUNFODNBIC8qIFBsdWdpblByb2Nlc3NDb25uZWN0aW9uTWFuYWdl
ck1lc3NhZ2VzLmggKi87IH07CiAJCTFBN0MwREY3MUI3RDFGMTAwMEE5Qjg0OCAvKiBXS1dpbmRv
d0ZlYXR1cmVzUmVmLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSAxQTdDMERGNTFCN0QxRjEwMDBBOUI4NDggLyogV0tXaW5kb3dGZWF0dXJlc1JlZi5oICov
OyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTFBN0UzNzc1
MThFNEEzM0EwMDNEMEZGRiAvKiBXS1NjcmlwdE1lc3NhZ2VIYW5kbGVyLmggaW4gSGVhZGVycyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxQTdFMzc3NDE4RTRBMzNBMDAzRDBG
RkYgLyogV0tTY3JpcHRNZXNzYWdlSGFuZGxlci5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVT
ID0gKFB1YmxpYywgKTsgfTsgfTsKLQkJMUE3RTM3NzgxOEU0QTRGRTAwM0QwRkZGIC8qIFdLU2Ny
aXB0TWVzc2FnZS5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IDFBN0UzNzc2MThFNEE0RkUwMDNEMEZGRiAvKiBXS1NjcmlwdE1lc3NhZ2UubW0gKi87IH07
CiAJCTFBN0UzNzc5MThFNEE0RkUwMDNEMEZGRiAvKiBXS1NjcmlwdE1lc3NhZ2UuaCBpbiBIZWFk
ZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDFBN0UzNzc3MThFNEE0RkUw
MDNEMEZGRiAvKiBXS1NjcmlwdE1lc3NhZ2UuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9
IChQdWJsaWMsICk7IH07IH07Ci0JCTFBODFCMzgwMThCRDY2QUQwMDA3RkRBQyAvKiBfV0tWaXNp
dGVkTGlua1N0b3JlLm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gMUE4MUIzN0UxOEJENjZBRDAwMDdGREFDIC8qIF9XS1Zpc2l0ZWRMaW5rU3RvcmUubW0g
Ki87IH07CiAJCTFBODFCMzgxMThCRDY2QUQwMDA3RkRBQyAvKiBfV0tWaXNpdGVkTGlua1N0b3Jl
LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxQTgxQjM3
RjE4QkQ2NkFEMDAwN0ZEQUMgLyogX1dLVmlzaXRlZExpbmtTdG9yZS5oICovOyBzZXR0aW5ncyA9
IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTFBODFCMzg1MThCRDY3M0EwMDA3
RkRBQyAvKiBfV0tWaXNpdGVkTGlua1N0b3JlSW50ZXJuYWwuaCBpbiBIZWFkZXJzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDFBODFCMzg0MThCRDY3M0EwMDA3RkRBQyAvKiBf
V0tWaXNpdGVkTGlua1N0b3JlSW50ZXJuYWwuaCAqLzsgfTsKIAkJMUE4NUU0NzIxRTMwM0YzNzAw
OTE0NTk5IC8qIFdlYktpdC5hcGlub3RlcyBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IDFBODVFNDcwMUUzMDNGMjQwMDkxNDU5OSAvKiBXZWJLaXQuYXBpbm90
ZXMgKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHVibGljLCApOyB9OyB9OwpAQCAtMjY0
LDEyICsyNTAsOCBAQAogCQkxQTkwQzFGNDEyNjRGRDcxMDAzRTQ0RDQgLyogRmluZENvbnRyb2xs
ZXIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDFBOTBD
MUYyMTI2NEZENzEwMDNFNDRENCAvKiBGaW5kQ29udHJvbGxlci5oICovOyB9OwogCQkxQTkyREMx
MTEyRjhCQTQ2MDAxN0FGNjUgLyogTGF5ZXJUcmVlQ29udGV4dC5oIGluIEhlYWRlcnMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMUE5MkRDMTAxMkY4QkE0NjAwMTdBRjY1IC8q
IExheWVyVHJlZUNvbnRleHQuaCAqLzsgfTsKIAkJMUE5RTMyODkxODIxNjM2OTAwRjVEMDRDIC8q
IF9XS1JlbW90ZU9iamVjdFJlZ2lzdHJ5LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSAxQTlFMzI4NzE4MjE2MzY5MDBGNUQwNEMgLyogX1dLUmVtb3RlT2Jq
ZWN0UmVnaXN0cnkuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9
OyB9OwotCQkxQTlFMzI4QTE4MjE2MzY5MDBGNUQwNEMgLyogX1dLUmVtb3RlT2JqZWN0UmVnaXN0
cnkubW0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxQTlF
MzI4ODE4MjE2MzY5MDBGNUQwNEMgLyogX1dLUmVtb3RlT2JqZWN0UmVnaXN0cnkubW0gKi87IH07
CiAJCTFBOUUzMjhEMTgyMTY1QTkwMEY1RDA0QyAvKiBfV0tSZW1vdGVPYmplY3RJbnRlcmZhY2Uu
aCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDFBOUUzMjhC
MTgyMTY1QTkwMEY1RDA0QyAvKiBfV0tSZW1vdGVPYmplY3RJbnRlcmZhY2UuaCAqLzsgc2V0dGlu
Z3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwotCQkxQTlFMzI4RTE4MjE2NUE5
MDBGNUQwNEMgLyogX1dLUmVtb3RlT2JqZWN0SW50ZXJmYWNlLm1tIGluIFNvdXJjZXMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMUE5RTMyOEMxODIxNjVBOTAwRjVEMDRDIC8q
IF9XS1JlbW90ZU9iamVjdEludGVyZmFjZS5tbSAqLzsgfTsKLQkJMUE5RTMyOUExODIyRTFDQzAw
RjVEMDRDIC8qIFdLUmVtb3RlT2JqZWN0Lm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gMUE5RTMyOTgxODIyRTFDQzAwRjVEMDRDIC8qIFdLUmVtb3RlT2Jq
ZWN0Lm1tICovOyB9OwogCQkxQTlFMzI5QjE4MjJFMUNDMDBGNUQwNEMgLyogV0tSZW1vdGVPYmpl
Y3QuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDFBOUUz
Mjk5MTgyMkUxQ0MwMEY1RDA0QyAvKiBXS1JlbW90ZU9iamVjdC5oICovOyB9OwotCQkxQTlFMzI5
RTE4MjJGRUREMDBGNUQwNEMgLyogV0tSZW1vdGVPYmplY3RDb2Rlci5tbSBpbiBTb3VyY2VzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDFBOUUzMjlDMTgyMkZFREQwMEY1RDA0
QyAvKiBXS1JlbW90ZU9iamVjdENvZGVyLm1tICovOyB9OwogCQkxQTlFMzI5RjE4MjJGRUREMDBG
NUQwNEMgLyogV0tSZW1vdGVPYmplY3RDb2Rlci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gMUE5RTMyOUQxODIyRkVERDAwRjVEMDRDIC8qIFdLUmVtb3Rl
T2JqZWN0Q29kZXIuaCAqLzsgfTsKIAkJMUE5RTMyQTExODIzMDE4OTAwRjVEMDRDIC8qIF9XS1Jl
bW90ZU9iamVjdFJlZ2lzdHJ5SW50ZXJuYWwuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IDFBOUUzMkEwMTgyMzAxODkwMEY1RDA0QyAvKiBfV0tSZW1vdGVP
YmplY3RSZWdpc3RyeUludGVybmFsLmggKi87IH07CiAJCTFBOUZCQThEMTNGRjA0RTYwMERFRUQ2
NyAvKiBQbHVnaW5Db21wbGV4VGV4dElucHV0U3RhdGUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDFBOUZCQThDMTNGRjA0RTYwMERFRUQ2NyAvKiBQbHVn
aW5Db21wbGV4VGV4dElucHV0U3RhdGUuaCAqLzsgfTsKQEAgLTI5MCw3ICsyNzIsNiBAQAogCQkx
QUFCMDM3QTE4NUE3QzZBMDBFREY1MDEgLyogTWVzc2FnZVNlbmRlci5oIGluIEhlYWRlcnMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMUFBQjAzNzgxODVBN0M2QTAwRURGNTAx
IC8qIE1lc3NhZ2VTZW5kZXIuaCAqLzsgfTsKIAkJMUFBQjRBOEQxMjk2RjBBMjAwMjM5NTJGIC8q
IFNhbmRib3hFeHRlbnNpb24uaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IDFBQUI0QThDMTI5NkYwQTIwMDIzOTUyRiAvKiBTYW5kYm94RXh0ZW5zaW9uLmgg
Ki87IH07CiAJCTFBQUJGRTNBMTgyOUMxRUQwMDVCMDcwRSAvKiBfV0tSZW1vdGVPYmplY3RJbnRl
cmZhY2VJbnRlcm5hbC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gMUFBQkZFMzkxODI5QzFFRDAwNUIwNzBFIC8qIF9XS1JlbW90ZU9iamVjdEludGVyZmFj
ZUludGVybmFsLmggKi87IH07Ci0JCTFBQUYwODlBMTkyNjdFRTUwMEI2MzkwQyAvKiBXS1VzZXJT
Y3JpcHQubW0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAx
QUFGMDg5ODE5MjY3RUU1MDBCNjM5MEMgLyogV0tVc2VyU2NyaXB0Lm1tICovOyB9OwogCQkxQUFG
MDg5QjE5MjY3RUU1MDBCNjM5MEMgLyogV0tVc2VyU2NyaXB0LmggaW4gSGVhZGVycyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxQUFGMDg5OTE5MjY3RUU1MDBCNjM5MEMgLyog
V0tVc2VyU2NyaXB0LmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHVibGljLCApOyB9
OyB9OwogCQkxQUFGMDg5RDE5MjY3RkM4MDBCNjM5MEMgLyogV0tVc2VyU2NyaXB0SW50ZXJuYWwu
aCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDFBQUYwODlD
MTkyNjdGQzgwMEI2MzkwQyAvKiBXS1VzZXJTY3JpcHRJbnRlcm5hbC5oICovOyB9OwogCQkxQUFG
MDhBMjE5MjY4MUQxMDBCNjM5MEMgLyogV2ViVXNlckNvbnRlbnRDb250cm9sbGVyUHJveHkuaCBp
biBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDFBQUYwOEEwMTky
NjgxRDEwMEI2MzkwQyAvKiBXZWJVc2VyQ29udGVudENvbnRyb2xsZXJQcm94eS5oICovOyB9OwpA
QCAtMzExLDcgKzI5Miw2IEBACiAJCTFBQjFGNzk5MUQxQjM2MTMwMDdDOUJEMSAvKiBXZWJQYXlt
ZW50Q29vcmRpbmF0b3JQcm94eU1lc3NhZ2VzLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSAxQUIxRjc5NTFEMUIzNjEzMDA3QzlCRDEgLyogV2ViUGF5bWVu
dENvb3JkaW5hdG9yUHJveHlNZXNzYWdlcy5oICovOyB9OwogCQkxQUIzMUE5NjE2QkM2ODgxMDBG
NkRCQzkgLyogU3RvcmFnZU1hbmFnZXJNZXNzYWdlUmVjZWl2ZXIuY3BwIGluIFNvdXJjZXMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMUFCMzFBOTQxNkJDNjg4MTAwRjZEQkM5
IC8qIFN0b3JhZ2VNYW5hZ2VyTWVzc2FnZVJlY2VpdmVyLmNwcCAqLzsgfTsKIAkJMUFCMzFBOTcx
NkJDNjg4MTAwRjZEQkM5IC8qIFN0b3JhZ2VNYW5hZ2VyTWVzc2FnZXMuaCBpbiBIZWFkZXJzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDFBQjMxQTk1MTZCQzY4ODEwMEY2REJD
OSAvKiBTdG9yYWdlTWFuYWdlck1lc3NhZ2VzLmggKi87IH07Ci0JCTFBQjQwRUU1MUJGNjc3RTMw
MEJBODFCRSAvKiBXS01lbnVJdGVtSWRlbnRpZmllcnMubW0gaW4gU291cmNlcyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxQUI0MEVFMzFCRjY3N0UzMDBCQTgxQkUgLyogV0tN
ZW51SXRlbUlkZW50aWZpZXJzLm1tICovOyB9OwogCQkxQUI0MEVFNjFCRjY3N0UzMDBCQTgxQkUg
LyogV0tNZW51SXRlbUlkZW50aWZpZXJzUHJpdmF0ZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMUFCNDBFRTQxQkY2NzdFMzAwQkE4MUJFIC8qIFdLTWVu
dUl0ZW1JZGVudGlmaWVyc1ByaXZhdGUuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQ
cml2YXRlLCApOyB9OyB9OwogCQkxQUI0NzREODE4NEQ0M0ZEMDA1MUI2MjIgLyogV0tCdW5kbGVQ
YWdlTG9hZGVyQ2xpZW50LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSAxQUI0NzRENzE4NEQ0M0ZEMDA1MUI2MjIgLyogV0tCdW5kbGVQYWdlTG9hZGVyQ2xp
ZW50LmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJ
MUFCNDc0REExODRENDQyNTAwNTFCNjIyIC8qIFdLQnVuZGxlUGFnZVJlc291cmNlTG9hZENsaWVu
dC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMUFCNDc0
RDkxODRENDQyNTAwNTFCNjIyIC8qIFdLQnVuZGxlUGFnZVJlc291cmNlTG9hZENsaWVudC5oICov
OyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CkBAIC0zMzgsNyAr
MzE4LDYgQEAKIAkJMUFDMTMzNjgxODU2NUI1NzAwRjNFQzA1IC8qIFVzZXJEYXRhLmggaW4gSGVh
ZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxQUMxMzM2NjE4NTY1QjU3
MDBGM0VDMDUgLyogVXNlckRhdGEuaCAqLzsgfTsKIAkJMUFDMTMzNkMxODU2NUM3QTAwRjNFQzA1
IC8qIEFQSVBhZ2VIYW5kbGUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IDFBQzEzMzZCMTg1NjVDN0EwMEYzRUMwNSAvKiBBUElQYWdlSGFuZGxlLmggKi87
IH07CiAJCTFBQzEzMzcyMTg1NjZDN0MwMEYzRUMwNSAvKiBBUElGcmFtZUhhbmRsZS5oIGluIEhl
YWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMUFDMTMzNzAxODU2NkM3
QzAwRjNFQzA1IC8qIEFQSUZyYW1lSGFuZGxlLmggKi87IH07Ci0JCTFBQzEzMzdGMTg1OTBBRTQw
MEYzRUMwNSAvKiBSZW1vdGVPYmplY3RSZWdpc3RyeS5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDFBQzEzMzdEMTg1OTBBRTQwMEYzRUMwNSAvKiBSZW1v
dGVPYmplY3RSZWdpc3RyeS5tbSAqLzsgfTsKIAkJMUFDMTMzODAxODU5MEFFNDAwRjNFQzA1IC8q
IFJlbW90ZU9iamVjdFJlZ2lzdHJ5LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSAxQUMxMzM3RTE4NTkwQUU0MDBGM0VDMDUgLyogUmVtb3RlT2JqZWN0UmVn
aXN0cnkuaCAqLzsgfTsKIAkJMUFDMTMzODUxODU5MEM0NjAwRjNFQzA1IC8qIFJlbW90ZU9iamVj
dFJlZ2lzdHJ5TWVzc2FnZVJlY2VpdmVyLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IDFBQzEzMzgzMTg1OTBDNDYwMEYzRUMwNSAvKiBSZW1vdGVPYmpl
Y3RSZWdpc3RyeU1lc3NhZ2VSZWNlaXZlci5jcHAgKi87IH07CiAJCTFBQzEzMzg2MTg1OTBDNDYw
MEYzRUMwNSAvKiBSZW1vdGVPYmplY3RSZWdpc3RyeU1lc3NhZ2VzLmggaW4gSGVhZGVycyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxQUMxMzM4NDE4NTkwQzQ2MDBGM0VDMDUg
LyogUmVtb3RlT2JqZWN0UmVnaXN0cnlNZXNzYWdlcy5oICovOyB9OwpAQCAtMzQ5LDMwICszMjgs
MjQgQEAKIAkJMUFDNzUzN0MxODNBOUZEQjAwNzJDQjE1IC8qIFBhZ2VMb2FkU3RhdGUuaCBpbiBI
ZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDFBQzc1MzdBMTgzQTlG
REIwMDcyQ0IxNSAvKiBQYWdlTG9hZFN0YXRlLmggKi87IH07CiAJCTFBQzc1MzgwMTgzQkU1MEYw
MDcyQ0IxNSAvKiBEYXRhUmVmZXJlbmNlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSAxQUM3NTM3RTE4M0JFNTBGMDA3MkNCMTUgLyogRGF0YVJlZmVyZW5j
ZS5oICovOyB9OwogCQkxQUM3NUExQjFCMzM2ODI3MDA1Njc0NUIgLyogSGFuZ0RldGVjdGlvbkRp
c2FibGVyLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAx
QUM3NUExQTFCMzM2ODI3MDA1Njc0NUIgLyogSGFuZ0RldGVjdGlvbkRpc2FibGVyLmggKi87IH07
Ci0JCTFBQ0M1MEYxMUNCQzM4MUQwMDNDN0QwMyAvKiBXS09wZW5QYW5lbFBhcmFtZXRlcnMubW0g
aW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxQUNDNTBFRjFD
QkMzODFEMDAzQzdEMDMgLyogV0tPcGVuUGFuZWxQYXJhbWV0ZXJzLm1tICovOyB9OwogCQkxQUND
NTBGMjFDQkMzODFEMDAzQzdEMDMgLyogV0tPcGVuUGFuZWxQYXJhbWV0ZXJzLmggaW4gSGVhZGVy
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxQUNDNTBGMDFDQkMzODFEMDAz
QzdEMDMgLyogV0tPcGVuUGFuZWxQYXJhbWV0ZXJzLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVU
RVMgPSAoUHVibGljLCApOyB9OyB9OwogCQkxQUNDODdCQTE5ODFDMzQxMDAzRDFBRjQgLyogV0tO
YXZpZ2F0aW9uUHJpdmF0ZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gMUFDQzg3QjkxOTgxQzM0MTAwM0QxQUY0IC8qIFdLTmF2aWdhdGlvblByaXZhdGUu
aCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQkxQUNF
Q0QyNTE3MTYyREIxMDAxRkM5RUYgLyogU3RvcmFnZUFyZWFNYXAuaCBpbiBIZWFkZXJzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDFBQ0VDRDIzMTcxNjJEQjEwMDFGQzlFRiAv
KiBTdG9yYWdlQXJlYU1hcC5oICovOyB9OwotCQkxQUQwMUJDODE5MDVEMzdFMDBDOUM0NUYgLyog
X1dLRXJyb3JSZWNvdmVyeUF0dGVtcHRpbmcubW0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSAxQUQwMUJDNjE5MDVEMzdFMDBDOUM0NUYgLyogX1dLRXJyb3JS
ZWNvdmVyeUF0dGVtcHRpbmcubW0gKi87IH07CiAJCTFBRDAxQkM5MTkwNUQzN0UwMEM5QzQ1RiAv
KiBfV0tFcnJvclJlY292ZXJ5QXR0ZW1wdGluZy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gMUFEMDFCQzcxOTA1RDM3RTAwQzlDNDVGIC8qIF9XS0Vycm9y
UmVjb3ZlcnlBdHRlbXB0aW5nLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0
ZSwgKTsgfTsgfTsKIAkJMUFEMDFCQ0QxOTA1RDU0OTAwQzlDNDVGIC8qIFdLUmVsb2FkRnJhbWVF
cnJvclJlY292ZXJ5QXR0ZW1wdGVyLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSAxQUQwMUJDQjE5MDVENTQ5MDBDOUM0NUYgLyogV0tSZWxvYWRGcmFtZUVy
cm9yUmVjb3ZlcnlBdHRlbXB0ZXIuaCAqLzsgfTsKIAkJMUFEMjVFOTYxNjdBQjA4MTAwRUE5QkNE
IC8qIERvd25sb2FkUHJveHlNYXAuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IDFBRDI1RTk0MTY3QUIwODEwMEVBOUJDRCAvKiBEb3dubG9hZFByb3h5TWFw
LmggKi87IH07CiAJCTFBRDMzMDZGMTZCMUQ5OTEwMDRGNjBFNyAvKiBTdG9yYWdlQXJlYUltcGwu
aCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDFBRDMzMDZE
MTZCMUQ5OTEwMDRGNjBFNyAvKiBTdG9yYWdlQXJlYUltcGwuaCAqLzsgfTsKIAkJMUFENEMxOTMx
QjM5RjMzMjAwQUJDMjhFIC8qIEFwcGxpY2F0aW9uU3RhdGVUcmFja2VyLmggaW4gSGVhZGVycyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxQUQ0QzE5MTFCMzlGMzMyMDBBQkMy
OEUgLyogQXBwbGljYXRpb25TdGF0ZVRyYWNrZXIuaCAqLzsgfTsKLQkJMUFENjBGNUQxOEUyMEY0
QzAwMjBDMDM0IC8qIFdLV2luZG93RmVhdHVyZXMubW0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxQUQ2MEY1QjE4RTIwRjRDMDAyMEMwMzQgLyogV0tXaW5k
b3dGZWF0dXJlcy5tbSAqLzsgfTsKIAkJMUFENjBGNUUxOEUyMEY0QzAwMjBDMDM0IC8qIFdLV2lu
ZG93RmVhdHVyZXMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IDFBRDYwRjVDMThFMjBGNEMwMDIwQzAzNCAvKiBXS1dpbmRvd0ZlYXR1cmVzLmggKi87IHNl
dHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHVibGljLCApOyB9OyB9OwogCQkxQUQ2MEY2MDE4RTIw
Rjc0MDAyMEMwMzQgLyogV0tXaW5kb3dGZWF0dXJlc0ludGVybmFsLmggaW4gSGVhZGVycyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxQUQ2MEY1RjE4RTIwRjc0MDAyMEMwMzQg
LyogV0tXaW5kb3dGZWF0dXJlc0ludGVybmFsLmggKi87IH07CiAJCTFBRDg3OTBBMThCNkMzOEEw
MDZDQUZENyAvKiBXS1VJRGVsZWdhdGUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IDFBRDg3OTA5MThCNkMzOEEwMDZDQUZENyAvKiBXS1VJRGVsZWdhdGUu
aCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQdWJsaWMsICk7IH07IH07CiAJCTFBRENC
ODZCMTg5ODMxQjMwMDIyRUU1QSAvKiBOYXZpZ2F0aW9uQWN0aW9uRGF0YS5oIGluIEhlYWRlcnMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMUFEQ0I4NjkxODk4MzFCMzAwMjJF
RTVBIC8qIE5hdmlnYXRpb25BY3Rpb25EYXRhLmggKi87IH07CiAJCTFBREU0NkIzMTk1NEVDNjEw
MDBGNzk4NSAvKiBXS1Nlc3Npb25TdGF0ZVJlZi5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gMUFERTQ2QjExOTU0RUM2MTAwMEY3OTg1IC8qIFdLU2Vzc2lv
blN0YXRlUmVmLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsg
fTsKLQkJMUFERjU5MUExODkwNTI4RTAwNDNDMTQ1IC8qIFdLV2ViVmlld0NvbmZpZ3VyYXRpb24u
bW0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxQURGNTkx
ODE4OTA1MjhFMDA0M0MxNDUgLyogV0tXZWJWaWV3Q29uZmlndXJhdGlvbi5tbSAqLzsgfTsKIAkJ
MUFERjU5MUIxODkwNTI4RTAwNDNDMTQ1IC8qIFdLV2ViVmlld0NvbmZpZ3VyYXRpb24uaCBpbiBI
ZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDFBREY1OTE5MTg5MDUy
OEUwMDQzQzE0NSAvKiBXS1dlYlZpZXdDb25maWd1cmF0aW9uLmggKi87IHNldHRpbmdzID0ge0FU
VFJJQlVURVMgPSAoUHVibGljLCApOyB9OyB9OwotCQkxQUUwMEQ0QzE4MkQ2RUIwMDAwODdERDcg
LyogV0tCcm93c2luZ0NvbnRleHRIYW5kbGUubW0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSAxQUUwMEQ0QTE4MkQ2RUIwMDAwODdERDcgLyogV0tCcm93c2lu
Z0NvbnRleHRIYW5kbGUubW0gKi87IH07CiAJCTFBRTAwRDREMTgyRDZFQjAwMDA4N0RENyAvKiBX
S0Jyb3dzaW5nQ29udGV4dEhhbmRsZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gMUFFMDBENEIxODJENkVCMDAwMDg3REQ3IC8qIFdLQnJvd3NpbmdDb250
ZXh0SGFuZGxlLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsg
fTsKIAkJMUFFMDBENEYxODJENkY1MDAwMDg3REQ3IC8qIFdLQnJvd3NpbmdDb250ZXh0SGFuZGxl
SW50ZXJuYWwuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IDFBRTAwRDRFMTgyRDZGNTAwMDA4N0RENyAvKiBXS0Jyb3dzaW5nQ29udGV4dEhhbmRsZUludGVy
bmFsLmggKi87IH07CiAJCTFBRTAwRDYxMTgzMTc5MjEwMDA4N0RENyAvKiBGcmFtZUxvYWRTdGF0
ZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMUFFMDBE
NUYxODMxNzkyMTAwMDg3REQ3IC8qIEZyYW1lTG9hZFN0YXRlLmggKi87IH07CiAJCTFBRTAwRDZD
MTgzMjdDMTIwMDA4N0RENyAvKiBTdHJpbmdSZWZlcmVuY2UuaCBpbiBIZWFkZXJzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDFBRTAwRDZBMTgzMjdDMTIwMDA4N0RENyAvKiBT
dHJpbmdSZWZlcmVuY2UuaCAqLzsgfTsKLQkJMUFFMjg2NzcxQzdFNzY1MTAwNjlBQzRGIC8qIF9X
S1dlYnNpdGVEYXRhU2l6ZS5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IDFBRTI4Njc1MUM3RTc2NTEwMDY5QUM0RiAvKiBfV0tXZWJzaXRlRGF0YVNpemUu
bW0gKi87IH07CiAJCTFBRTI4Njc4MUM3RTc2NTEwMDY5QUM0RiAvKiBfV0tXZWJzaXRlRGF0YVNp
emUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDFBRTI4
Njc2MUM3RTc2NTEwMDY5QUM0RiAvKiBfV0tXZWJzaXRlRGF0YVNpemUuaCAqLzsgc2V0dGluZ3Mg
PSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQkxQUUyODY3QTFDN0Y3QkE2MDA2
OUFDNEYgLyogV0tXZWJzaXRlRGF0YVN0b3JlUHJpdmF0ZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMUFFMjg2NzkxQzdGN0JBNjAwNjlBQzRGIC8qIFdL
V2Vic2l0ZURhdGFTdG9yZVByaXZhdGUuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQ
cml2YXRlLCApOyB9OyB9OwogCQkxQUUyODY4MDFDN0Y5MkMwMDA2OUFDNEYgLyogX1dLV2Vic2l0
ZURhdGFTaXplSW50ZXJuYWwuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IDFBRTI4NjdGMUM3RjkyQkYwMDY5QUM0RiAvKiBfV0tXZWJzaXRlRGF0YVNpemVJ
bnRlcm5hbC5oICovOyB9OwpAQCAtMzg3LDE5ICszNjAsMTQgQEAKIAkJMUFGMDVEODcxNDY4ODM0
ODAwOEIxRTgxIC8qIFRpbGVkQ29yZUFuaW1hdGlvbkRyYXdpbmdBcmVhUHJveHkuaCBpbiBIZWFk
ZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDFBRjA1RDg1MTQ2ODgzNDgw
MDhCMUU4MSAvKiBUaWxlZENvcmVBbmltYXRpb25EcmF3aW5nQXJlYVByb3h5LmggKi87IH07CiAJ
CTFBRjFBQzZDMTY1MTc1OUUwMEMxN0Q3RiAvKiBSZW1vdGVMYXllclRyZWVUcmFuc2FjdGlvbi5o
IGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMUFGMUFDNkEx
NjUxNzU5RTAwQzE3RDdGIC8qIFJlbW90ZUxheWVyVHJlZVRyYW5zYWN0aW9uLmggKi87IH07CiAJ
CTFBRjQxMjlCMThCNDBGQ0QwMDU0NkZEQyAvKiBXS05hdmlnYXRpb25BY3Rpb25Qcml2YXRlLmgg
aW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxQUY0MTI5QTE4
QjQwRkNEMDA1NDZGREMgLyogV0tOYXZpZ2F0aW9uQWN0aW9uUHJpdmF0ZS5oICovOyBzZXR0aW5n
cyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07Ci0JCTFBRjQ1OTJFMTk0NjRCMjAw
MEY5RDRBMiAvKiBXS0Vycm9yLm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gMUFGNDU5MkMxOTQ2NEIyMDAwRjlENEEyIC8qIFdLRXJyb3IubW0gKi87IH07
CiAJCTFBRjQ1OTJGMTk0NjRCMjAwMEY5RDRBMiAvKiBXS0Vycm9yLmggaW4gSGVhZGVycyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxQUY0NTkyRDE5NDY0QjIwMDBGOUQ0QTIg
LyogV0tFcnJvci5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFB1YmxpYywgKTsgfTsg
fTsKIAkJMUFGNENFRjAxOEJDNDgxODAwQkMyRDM0IC8qIFZpc2l0ZWRMaW5rVGFibGVDb250cm9s
bGVyLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxQUY0
Q0VFRTE4QkM0ODE4MDBCQzJEMzQgLyogVmlzaXRlZExpbmtUYWJsZUNvbnRyb2xsZXIuaCAqLzsg
fTsKLQkJMUFGQTNBQzgxOEU2MUM2MTAwM0NDQkFFIC8qIFdLVXNlckNvbnRlbnRDb250cm9sbGVy
Lm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMUFGQTNB
QzYxOEU2MUM2MTAwM0NDQkFFIC8qIFdLVXNlckNvbnRlbnRDb250cm9sbGVyLm1tICovOyB9Owog
CQkxQUZBM0FDOTE4RTYxQzYxMDAzQ0NCQUUgLyogV0tVc2VyQ29udGVudENvbnRyb2xsZXIuaCBp
biBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDFBRkEzQUM3MThF
NjFDNjEwMDNDQ0JBRSAvKiBXS1VzZXJDb250ZW50Q29udHJvbGxlci5oICovOyBzZXR0aW5ncyA9
IHtBVFRSSUJVVEVTID0gKFB1YmxpYywgKTsgfTsgfTsKIAkJMUFGQTRCOEMxQTY1QTFEMDAwNkM0
QUI0IC8qIFdlYlByb2Nlc3NMaWZldGltZVRyYWNrZXIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDFBRkE0QjhBMUE2NUExRDAwMDZDNEFCNCAvKiBXZWJQ
cm9jZXNzTGlmZXRpbWVUcmFja2VyLmggKi87IH07CiAJCTFBRkE0QjkwMUE2NUE5RTIwMDZDNEFC
NCAvKiBXZWJQcm9jZXNzTGlmZXRpbWVPYnNlcnZlci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMUFGQTRCOEUxQTY1QTlFMjAwNkM0QUI0IC8qIFdlYlBy
b2Nlc3NMaWZldGltZU9ic2VydmVyLmggKi87IH07Ci0JCTFBRkI0QzcxMUFERjE1NUQwMEIzMzMz
OSAvKiBfV0tXZWJzaXRlRGF0YVN0b3JlLm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gMUFGQjRDNkYxQURGMTU1RDAwQjMzMzM5IC8qIF9XS1dlYnNpdGVE
YXRhU3RvcmUubW0gKi87IH07CiAJCTFBRkI0QzcyMUFERjE1NUQwMEIzMzMzOSAvKiBfV0tXZWJz
aXRlRGF0YVN0b3JlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSAxQUZCNEM3MDFBREYxNTVEMDBCMzMzMzkgLyogX1dLV2Vic2l0ZURhdGFTdG9yZS5oICov
OyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTFBRkREMzE1
MTg5MUI1NDAwMDE1Mzk3MCAvKiBBUElQb2xpY3lDbGllbnQuaCBpbiBIZWFkZXJzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDFBRkREMzE0MTg5MUI1NDAwMDE1Mzk3MCAvKiBB
UElQb2xpY3lDbGllbnQuaCAqLzsgfTsKIAkJMUFGREQzMTcxODkxQzk0NzAwMTUzOTcwIC8qIFdL
UHJlZmVyZW5jZXMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IDFBRkREMzE2MTg5MUM5NDcwMDE1Mzk3MCAvKiBXS1ByZWZlcmVuY2VzLmggKi87IHNldHRp
bmdzID0ge0FUVFJJQlVURVMgPSAoUHVibGljLCApOyB9OyB9OwotCQkxQUZERDMxOTE4OTFDQTEy
MDAxNTM5NzAgLyogV0tQcmVmZXJlbmNlcy5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IDFBRkREMzE4MTg5MUNBMTIwMDE1Mzk3MCAvKiBXS1ByZWZlcmVu
Y2VzLm1tICovOyB9OwotCQkxQUZERTY0NTE5NTEwQjU1MDBDNDhGRkEgLyogTGVnYWN5QnVuZGxl
Rm9yQ2xhc3MubW0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSAxQUZERTY0MzE5NTEwQjU1MDBDNDhGRkEgLyogTGVnYWN5QnVuZGxlRm9yQ2xhc3MubW0gKi87
IH07CiAJCTFBRkRFNjVBMTk1NEE0MkIwMEM0OEZGQSAvKiBTZXNzaW9uU3RhdGUuaCBpbiBIZWFk
ZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDFBRkRFNjU4MTk1NEE0MkIw
MEM0OEZGQSAvKiBTZXNzaW9uU3RhdGUuaCAqLzsgfTsKIAkJMUFGREU2NjIxOTU0RTlCMTAwQzQ4
RkZBIC8qIEFQSVNlc3Npb25TdGF0ZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gMUFGREU2NjAxOTU0RTlCMTAwQzQ4RkZBIC8qIEFQSVNlc3Npb25TdGF0
ZS5oICovOyB9OwogCQkxQUZFNDM2NjE4QjZDMDgxMDA5QzdBNDggLyogVUlEZWxlZ2F0ZS5oIGlu
IEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMUFGRTQzNjQxOEI2
QzA4MTAwOUM3QTQ4IC8qIFVJRGVsZWdhdGUuaCAqLzsgfTsKQEAgLTYzNiw3ICs2MDQsNiBAQAog
CQkyRDVDOUQwNjE5QzgxRDhGMDBCM0M1QzEgLyogV2ViUGFnZU92ZXJsYXkuaCBpbiBIZWFkZXJz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDJENUM5RDA0MTlDODFEOEYwMEIz
QzVDMSAvKiBXZWJQYWdlT3ZlcmxheS5oICovOyB9OwogCQkyRDZBQjU0MTE5MkIxQzRBMDAzQTlG
RDEgLyogV0tQREZQYWdlTnVtYmVySW5kaWNhdG9yLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAyRDZBQjUzRjE5MkIxQzRBMDAzQTlGRDEgLyogV0tQREZQ
YWdlTnVtYmVySW5kaWNhdG9yLmggKi87IH07CiAJCTJENkIzNzFCMThBOTY3QUQwMDQyQUU4MCAv
KiBfV0tUaHVtYm5haWxWaWV3LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSAyRDZCMzcxOTE4QTk2N0FEMDA0MkFFODAgLyogX1dLVGh1bWJuYWlsVmlldy5o
ICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07Ci0JCTJENkIz
NzFDMThBOTY3QUQwMDQyQUU4MCAvKiBfV0tUaHVtYm5haWxWaWV3Lm1tIGluIFNvdXJjZXMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMkQ2QjM3MUExOEE5NjdBRDAwNDJBRTgw
IC8qIF9XS1RodW1ibmFpbFZpZXcubW0gKi87IH07CiAJCTJENkNEMTE5MTg5MDU4QTUwMEU1QTRB
MCAvKiBWaWV3U25hcHNob3RTdG9yZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gMkQ2Q0QxMTcxODkwNThBNTAwRTVBNEEwIC8qIFZpZXdTbmFwc2hvdFN0
b3JlLmggKi87IH07CiAJCTJENzJBMUZBMjEyQkY0NkUwMDUxN0EyMCAvKiBSZW1vdGVMYXllclRy
ZWVEcmF3aW5nQXJlYS5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IDFBQjE2QURCMTY0ODU5ODQwMDI5MEQ2MiAvKiBSZW1vdGVMYXllclRyZWVEcmF3aW5n
QXJlYS5tbSAqLzsgfTsKIAkJMkQ3MzAzNzkxQTdDMkI3NTAwRjhGNDg3IC8qIFdLUGFnZU5hdmln
YXRpb25DbGllbnQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IDJENzMwMzc4MUE3QzJCNzUwMEY4RjQ4NyAvKiBXS1BhZ2VOYXZpZ2F0aW9uQ2xpZW50Lmgg
Ki87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKQEAgLTY2OCwy
NiArNjM1LDkgQEAKIAkJMkQ4NTA4RDgyMTJFMzNFRDAwMEVGNDZDIC8qIFVuaWZpZWRTb3VyY2U5
OC5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAyRDg1
MDhDNDIxMkUzM0VDMDAwRUY0NkMgLyogVW5pZmllZFNvdXJjZTk4LmNwcCAqLzsgfTsKIAkJMkQ4
NzEwMTcxODI4NDE1RDAwMThGQTAxIC8qIFBsYXRmb3JtQ0FMYXllclJlbW90ZUN1c3RvbS5oIGlu
IEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMkQ4NzEwMTUxODI4
NDE1RDAwMThGQTAxIC8qIFBsYXRmb3JtQ0FMYXllclJlbW90ZUN1c3RvbS5oICovOyB9OwogCQky
RDg3ODYxRDFCREI1NEJGMDBEMDJBQkIgLyogX1dLVXNlclN0eWxlU2hlZXQuaCBpbiBIZWFkZXJz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDJEODc4NjFCMUJEQjU0QkYwMEQw
MkFCQiAvKiBfV0tVc2VyU3R5bGVTaGVldC5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0g
KFByaXZhdGUsICk7IH07IH07Ci0JCTJEODc4NjFFMUJEQjU0QkYwMEQwMkFCQiAvKiBfV0tVc2Vy
U3R5bGVTaGVldC5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IDJEODc4NjFDMUJEQjU0QkYwMEQwMkFCQiAvKiBfV0tVc2VyU3R5bGVTaGVldC5tbSAqLzsg
fTsKIAkJMkQ4Nzg2MjAxQkRCNTdGNTAwRDAyQUJCIC8qIF9XS1VzZXJTdHlsZVNoZWV0SW50ZXJu
YWwuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDJEODc4
NjFGMUJEQjU3RjUwMEQwMkFCQiAvKiBfV0tVc2VyU3R5bGVTaGVldEludGVybmFsLmggKi87IH07
CiAJCTJEODc4NjI0MUJEQjU4RkYwMEQwMkFCQiAvKiBBUElVc2VyU3R5bGVTaGVldC5oIGluIEhl
YWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMkQ4Nzg2MjIxQkRCNThG
RjAwRDAyQUJCIC8qIEFQSVVzZXJTdHlsZVNoZWV0LmggKi87IH07CiAJCTJEODk0OUYxMTgyMDQ0
RjYwMEU4OThBQSAvKiBQbGF0Zm9ybUNBTGF5ZXJSZW1vdGVUaWxlZEJhY2tpbmcuaCBpbiBIZWFk
ZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDJEODk0OUVGMTgyMDQ0RjYw
MEU4OThBQSAvKiBQbGF0Zm9ybUNBTGF5ZXJSZW1vdGVUaWxlZEJhY2tpbmcuaCAqLzsgfTsKLQkJ
MkQ5MTM0MjgyMTJDODRGNTAwMTI4QUZEIC8qIFdLV2ViUHJvY2Vzc0J1bmRsZVBhcmFtZXRlcnMu
bW0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxQUEyRTU2
NDE4RDc3NTA4MDAzODE0QkQgLyogV0tXZWJQcm9jZXNzQnVuZGxlUGFyYW1ldGVycy5tbSAqLzsg
fTsKLQkJMkQ5MTM0MjkyMTJDODRGNTAwMTI4QUZEIC8qIFdLV2ViUHJvY2Vzc1BsdWdJbkZyYW1l
Lm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMUYwMTgx
NkExODU4REMxNTAwRjkyODg0IC8qIFdLV2ViUHJvY2Vzc1BsdWdJbkZyYW1lLm1tICovOyB9Owot
CQkyRDkxMzQyQTIxMkM4NEY1MDAxMjhBRkQgLyogV0tXZWJQcm9jZXNzUGx1Z0luSGl0VGVzdFJl
c3VsdC5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDFG
MDE4MTZEMTg1OERDMTYwMEY5Mjg4NCAvKiBXS1dlYlByb2Nlc3NQbHVnSW5IaXRUZXN0UmVzdWx0
Lm1tICovOyB9OwotCQkyRDkxMzQyQjIxMkM4NEY1MDAxMjhBRkQgLyogV0tXZWJQcm9jZXNzUGx1
Z0luTm9kZUhhbmRsZS5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IDFGMDE4MTcwMTg1OERDMTYwMEY5Mjg4NCAvKiBXS1dlYlByb2Nlc3NQbHVnSW5Ob2Rl
SGFuZGxlLm1tICovOyB9OwotCQkyRDkxMzQyQzIxMkM4NEY1MDAxMjhBRkQgLyogV0tXZWJQcm9j
ZXNzUGx1Z0luUGFnZUdyb3VwLm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gMUZCMDBBQzUxODVGNzY0NjAwMTkxNDJFIC8qIFdLV2ViUHJvY2Vzc1BsdWdJ
blBhZ2VHcm91cC5tbSAqLzsgfTsKLQkJMkQ5MTM0MkQyMTJDODRGNTAwMTI4QUZEIC8qIFdLV2Vi
UHJvY2Vzc1BsdWdJblJhbmdlSGFuZGxlLm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gMzc0OTQyMTgxREYxRjlGRjAwMzNDMTlGIC8qIFdLV2ViUHJvY2Vz
c1BsdWdJblJhbmdlSGFuZGxlLm1tICovOyB9OwotCQkyRDkxMzQyRTIxMkM4NEY1MDAxMjhBRkQg
LyogV0tXZWJQcm9jZXNzUGx1Z0luU2NyaXB0V29ybGQubW0gaW4gU291cmNlcyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxRjAxODE3MzE4NThEQzE2MDBGOTI4ODQgLyogV0tX
ZWJQcm9jZXNzUGx1Z0luU2NyaXB0V29ybGQubW0gKi87IH07Ci0JCTJEOTEzNDJGMjEyQzg1MDEw
MDEyOEFGRCAvKiBXS1dlYlByb2Nlc3NQbHVnSW4ubW0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBCQzk4OUQ3RjE2MUE3RTVCMDAwRDQ2RDMgLyogV0tXZWJQ
cm9jZXNzUGx1Z0luLm1tICovOyB9OwotCQkyRDkxMzQzMDIxMkM4NTAxMDAxMjhBRkQgLyogV0tX
ZWJQcm9jZXNzUGx1Z0luQnJvd3NlckNvbnRleHRDb250cm9sbGVyLm1tIGluIFNvdXJjZXMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQkM4RjJGMjgxNjI3M0EyQjAwNUZBQ0I1
IC8qIFdLV2ViUHJvY2Vzc1BsdWdJbkJyb3dzZXJDb250ZXh0Q29udHJvbGxlci5tbSAqLzsgfTsK
LQkJMkQ5MTM0MzEyMTJDODUzRDAwMTI4QUZEIC8qIFdLRE9NRG9jdW1lbnQubW0gaW4gU291cmNl
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBCQzAxN0QwMDE2MjYwRkY0MDA3
MDU0RjUgLyogV0tET01Eb2N1bWVudC5tbSAqLzsgfTsKLQkJMkQ5MTM0MzIyMTJDODUzRDAwMTI4
QUZEIC8qIFdLRE9NRWxlbWVudC5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IEJDMDE3RDAyMTYyNjBGRjQwMDcwNTRGNSAvKiBXS0RPTUVsZW1lbnQubW0g
Ki87IH07Ci0JCTJEOTEzNDMzMjEyQzg1M0QwMDEyOEFGRCAvKiBXS0RPTUludGVybmFscy5tbSBp
biBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEJDMDE3RDA0MTYy
NjBGRjQwMDcwNTRGNSAvKiBXS0RPTUludGVybmFscy5tbSAqLzsgfTsKLQkJMkQ5MTM0MzQyMTJD
ODUzRDAwMTI4QUZEIC8qIFdLRE9NTm9kZS5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IEJDMDE3RDA2MTYyNjBGRjQwMDcwNTRGNSAvKiBXS0RPTU5vZGUu
bW0gKi87IH07Ci0JCTJEOTEzNDM1MjEyQzg1M0QwMDEyOEFGRCAvKiBXS0RPTVJhbmdlLm1tIGlu
IFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQkMzOUM0MzMxNjI2
MzY2RjAwOEJDNjg5IC8qIFdLRE9NUmFuZ2UubW0gKi87IH07Ci0JCTJEOTEzNDM2MjEyQzg1M0Qw
MDEyOEFGRCAvKiBXS0RPTVRleHQubW0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSAyOTNFQkVBQTE2MjdEOUM5MDA1Rjg5RjEgLyogV0tET01UZXh0Lm1tICov
OyB9OwotCQkyRDkxMzQzNzIxMkM4NTNEMDAxMjhBRkQgLyogV0tET01UZXh0SXRlcmF0b3IubW0g
aW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBCQzAxN0QxRTE2
MjYzMzA4MDA3MDU0RjUgLyogV0tET01UZXh0SXRlcmF0b3IubW0gKi87IH07CiAJCTJEOTEzNDQx
MjEyQ0Y5RjAwMDEyOEFGRCAvKiBKU05QTWV0aG9kLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDFBRTQ5QTQ4MTFGRkE4Q0UwMDQ4QjQ2NCAvKiBKU05Q
TWV0aG9kLmNwcCAqLzsgfTsKIAkJMkQ5MTM0NDIyMTJDRjlGMDAwMTI4QUZEIC8qIEpTTlBPYmpl
Y3QuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMUFF
NDk4NzcxMUZGN0ZBQTAwNDhCNDY0IC8qIEpTTlBPYmplY3QuY3BwICovOyB9OwogCQkyRDkxMzQ0
MzIxMkNGOUYwMDAxMjhBRkQgLyogTmV0c2NhcGVCcm93c2VyRnVuY3MuY3BwIGluIFNvdXJjZXMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMUE2RkJBMjkxMUU2ODYyNzAwREIx
MzcxIC8qIE5ldHNjYXBlQnJvd3NlckZ1bmNzLmNwcCAqLzsgfTsKQEAgLTc4OCw3ICs3MzgsNiBA
QAogCQkzMTZCOEI2NDIwNTRCNTU4MDBCRDRBNjIgLyogV0tTeXN0ZW1QcmV2aWV3Vmlldy5oIGlu
IEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMzE2QjhCNjIyMDU0
QjU1ODAwQkQ0QTYyIC8qIFdLU3lzdGVtUHJldmlld1ZpZXcuaCAqLzsgfTsKIAkJMzE3RkU3QzUx
QzQ4N0E2QzAwQTBDQTg5IC8qIEFQSUV4cGVyaW1lbnRhbEZlYXR1cmUuaCBpbiBIZWFkZXJzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDMxN0ZFN0MyMUM0ODdBNjYwMEEwQ0E4
OSAvKiBBUElFeHBlcmltZW50YWxGZWF0dXJlLmggKi87IH07CiAJCTMxN0ZFN0NEMUM0ODdEQUUw
MEEwQ0E4OSAvKiBfV0tFeHBlcmltZW50YWxGZWF0dXJlSW50ZXJuYWwuaCBpbiBIZWFkZXJzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDMxN0ZFN0M5MUM0ODdEOUQwMEEwQ0E4
OSAvKiBfV0tFeHBlcmltZW50YWxGZWF0dXJlSW50ZXJuYWwuaCAqLzsgfTsKLQkJMzE3RkU3Q0Ux
QzQ4N0RCODAwQTBDQTg5IC8qIF9XS0V4cGVyaW1lbnRhbEZlYXR1cmUubW0gaW4gU291cmNlcyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAzMTdGRTdDODFDNDg3RDlEMDBBMENB
ODkgLyogX1dLRXhwZXJpbWVudGFsRmVhdHVyZS5tbSAqLzsgfTsKIAkJMzE3RkU3Q0YxQzQ4N0RC
RDAwQTBDQTg5IC8qIF9XS0V4cGVyaW1lbnRhbEZlYXR1cmUuaCBpbiBIZWFkZXJzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDMxN0ZFN0M3MUM0ODdEOUQwMEEwQ0E4OSAvKiBf
V0tFeHBlcmltZW50YWxGZWF0dXJlLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJp
dmF0ZSwgKTsgfTsgfTsKIAkJMzE4QkUxNzExNDc0M0RCMTAwQThGQkIyIC8qIFdLTm90aWZpY2F0
aW9uTWFuYWdlci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gMzE4QkUxNzAxNDc0M0RCMTAwQThGQkIyIC8qIFdLTm90aWZpY2F0aW9uTWFuYWdlci5oICov
OyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTMxOEJFMTc5
MTQ3NDNFNkYwMEE4RkJCMiAvKiBXS05vdGlmaWNhdGlvbi5oIGluIEhlYWRlcnMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMzE4QkUxNzgxNDc0M0U2QTAwQThGQkIyIC8qIFdL
Tm90aWZpY2F0aW9uLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsg
fTsgfTsKQEAgLTgxMyw3ICs3NjIsNiBAQAogCQkzMzA5MzQ1QjEzMTVCOTk4MDA5N0E3QkMgLyog
V0tDb29raWVNYW5hZ2VyLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSAzMzA5MzQ1OTEzMTVCOTk4MDA5N0E3QkMgLyogV0tDb29raWVNYW5hZ2VyLmggKi87
IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJMzMzNjc2M0Ix
MzBDOTlEQzAwNkM5REUyIC8qIFdLUmVzb3VyY2VDYWNoZU1hbmFnZXIuaCBpbiBIZWFkZXJzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDMzMzY3NjM5MTMwQzk5REMwMDZDOURF
MiAvKiBXS1Jlc291cmNlQ2FjaGVNYW5hZ2VyLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMg
PSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJMzNBQTEwNjcxMzFGMDYwMDAwRDRBNTc1IC8qIFdlYkNv
b2tpZU1hbmFnZXJQcm94eUNsaWVudC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gMzNBQTEwNjUxMzFGMDYwMDAwRDRBNTc1IC8qIFdlYkNvb2tpZU1hbmFn
ZXJQcm94eUNsaWVudC5oICovOyB9OwotCQkzNzBGMzRBMjE4MjlCRTFFMDA5MDI3QzggLyogV0tO
YXZpZ2F0aW9uRGF0YS5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IDM3MEYzNEEwMTgyOUJFMUUwMDkwMjdDOCAvKiBXS05hdmlnYXRpb25EYXRhLm1tICov
OyB9OwogCQkzNzBGMzRBMzE4MjlCRTFFMDA5MDI3QzggLyogV0tOYXZpZ2F0aW9uRGF0YS5oIGlu
IEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMzcwRjM0QTExODI5
QkUxRTAwOTAyN0M4IC8qIFdLTmF2aWdhdGlvbkRhdGEuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklC
VVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQkzNzBGMzRBNTE4MjlCRUEzMDA5MDI3QzggLyog
V0tOYXZpZ2F0aW9uRGF0YUludGVybmFsLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSAzNzBGMzRBNDE4MjlCRUEzMDA5MDI3QzggLyogV0tOYXZpZ2F0aW9u
RGF0YUludGVybmFsLmggKi87IH07CiAJCTM3MEYzNEE3MTgyOUNGRjMwMDkwMjdDOCAvKiBXS0Jy
b3dzaW5nQ29udGV4dEhpc3RvcnlEZWxlZ2F0ZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gMzcwRjM0QTYxODI5Q0ZGMzAwOTAyN0M4IC8qIFdLQnJvd3Np
bmdDb250ZXh0SGlzdG9yeURlbGVnYXRlLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAo
UHJpdmF0ZSwgKTsgfTsgfTsKQEAgLTgyOSw3ICs3NzcsNiBAQAogCQkzNzJFQkI0MTIwMTdFNjQz
MDAwODUwNjQgLyogV2ViQ29udGVudFByb2Nlc3MueGliIGluIFJlc291cmNlcyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBFMUQyNkE0QzE3NTk2MzRFMDA5NUJGRDEgLyogV2Vi
Q29udGVudFByb2Nlc3MueGliICovOyB9OwogCQkzNzNDRUFENjE4NTQxN0FFMDA4QzM2M0QgLyog
V0tOU0RhdGEuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IDM3M0NFQUQ0MTg1NDE3QUUwMDhDMzYzRCAvKiBXS05TRGF0YS5oICovOyB9OwogCQkzNzNDRUFE
ODE4NTk1NTNGMDA4QzM2M0QgLyogV0tQYWdlUG9saWN5Q2xpZW50SW50ZXJuYWwuaCBpbiBIZWFk
ZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDM3M0NFQUQ3MTg1OTU1M0Yw
MDhDMzYzRCAvKiBXS1BhZ2VQb2xpY3lDbGllbnRJbnRlcm5hbC5oICovOyB9OwotCQkzNzNEMTIy
MjE4QTQ3MzAxMDA2NkQ5Q0MgLyogX1dLRnJhbWVIYW5kbGUubW0gaW4gU291cmNlcyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAzNzNEMTIyMDE4QTQ3MzAxMDA2NkQ5Q0MgLyog
X1dLRnJhbWVIYW5kbGUubW0gKi87IH07CiAJCTM3M0QxMjIzMThBNDczMDEwMDY2RDlDQyAvKiBf
V0tGcmFtZUhhbmRsZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gMzczRDEyMjExOEE0NzMwMTAwNjZEOUNDIC8qIF9XS0ZyYW1lSGFuZGxlLmggKi87IHNl
dHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJMzczRDEyMjcxOEE0
NzNGNjAwNjZEOUNDIC8qIF9XS0ZyYW1lSGFuZGxlSW50ZXJuYWwuaCBpbiBIZWFkZXJzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDM3M0QxMjI2MThBNDczRjYwMDY2RDlDQyAv
KiBfV0tGcmFtZUhhbmRsZUludGVybmFsLmggKi87IH07CiAJCTM3M0QxMjJEMThBNEI2RUIwMDY2
RDlDQyAvKiBXS1dlYlByb2Nlc3NQbHVnSW5GcmFtZVByaXZhdGUuaCBpbiBIZWFkZXJzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDM3M0QxMjJDMThBNEI2QTgwMDY2RDlDQyAv
KiBXS1dlYlByb2Nlc3NQbHVnSW5GcmFtZVByaXZhdGUuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklC
VVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwpAQCAtODYyLDEwICs4MDksOCBAQAogCQkzNzk0ODQw
OTE1MEM0Qjk3MDBFNTJDRTkgLyogV0tSZW5kZXJMYXllci5oIGluIEhlYWRlcnMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMzc5NDg0MDcxNTBDNEI5NjAwRTUyQ0U5IC8qIFdL
UmVuZGVyTGF5ZXIuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9
OyB9OwogCQkzNzk1Nzg5QzE4QUQ0RjE5MDBCOUVEMkUgLyogV0tXZWJQcm9jZXNzUGx1Z0luRm9y
bURlbGVnYXRlUHJpdmF0ZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gMzc5NTc4OUIxOEFENEYxMTAwQjlFRDJFIC8qIFdLV2ViUHJvY2Vzc1BsdWdJbkZv
cm1EZWxlZ2F0ZVByaXZhdGUuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRl
LCApOyB9OyB9OwogCQkzNzlBODczNjE4QkJGQTQzMDA1ODhBRjIgLyogX1dLQWN0aXZhdGVkRWxl
bWVudEluZm9JbnRlcm5hbC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gMzc5QTg3MzUxOEJCRkE0MzAwNTg4QUYyIC8qIF9XS0FjdGl2YXRlZEVsZW1lbnRJ
bmZvSW50ZXJuYWwuaCAqLzsgfTsKLQkJMzc5QTg3MzkxOEJCRkUwRjAwNTg4QUYyIC8qIF9XS0Vs
ZW1lbnRBY3Rpb24ubW0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSAzNzlBODczNzE4QkJGRTBGMDA1ODhBRjIgLyogX1dLRWxlbWVudEFjdGlvbi5tbSAqLzsg
fTsKIAkJMzc5QTg3M0ExOEJCRkUwRjAwNTg4QUYyIC8qIF9XS0VsZW1lbnRBY3Rpb24uaCBpbiBI
ZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDM3OUE4NzM4MThCQkZF
MEYwMDU4OEFGMiAvKiBfV0tFbGVtZW50QWN0aW9uLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVU
RVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJMzc5QTg3M0MxOEJCRkYwNzAwNTg4QUYyIC8qIF9X
S0VsZW1lbnRBY3Rpb25JbnRlcm5hbC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gMzc5QTg3M0IxOEJCRkYwNzAwNTg4QUYyIC8qIF9XS0VsZW1lbnRBY3Rp
b25JbnRlcm5hbC5oICovOyB9OwotCQkzN0E1RTAxMzE4QkJGOTM3MDAwQTA4MUUgLyogX1dLQWN0
aXZhdGVkRWxlbWVudEluZm8ubW0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSAzN0E1RTAxMTE4QkJGOTM3MDAwQTA4MUUgLyogX1dLQWN0aXZhdGVkRWxlbWVu
dEluZm8ubW0gKi87IH07CiAJCTM3QTVFMDE0MThCQkY5M0YwMDBBMDgxRSAvKiBfV0tBY3RpdmF0
ZWRFbGVtZW50SW5mby5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gMzdBNUUwMTIxOEJCRjkzNzAwMEEwODFFIC8qIF9XS0FjdGl2YXRlZEVsZW1lbnRJbmZv
LmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJMzdB
NjRFNTUxOEYzOEUzQzAwRUIzMEYxIC8qIF9XS0lucHV0RGVsZWdhdGUuaCBpbiBIZWFkZXJzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDM3QTY0RTU0MThGMzhFM0MwMEVCMzBG
MSAvKiBfV0tJbnB1dERlbGVnYXRlLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJp
dmF0ZSwgKTsgfTsgfTsKIAkJMzdBNjRFNTcxOEYzOEY0NjAwRUIzMEYxIC8qIF9XS0Zvcm1JbnB1
dFNlc3Npb24uaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IDM3QTY0RTU2MThGMzhGNDYwMEVCMzBGMSAvKiBfV0tGb3JtSW5wdXRTZXNzaW9uLmggKi87IHNl
dHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKQEAgLTg3OSwxMCArODI0
LDggQEAKIAkJMzdCRUM0RTExOTQ5MTQ4NjAwOEI0Mjg2IC8qIENvbXBsZXRpb25IYW5kbGVyQ2Fs
bENoZWNrZXIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IDM3QkVDNERGMTk0OTE0ODYwMDhCNDI4NiAvKiBDb21wbGV0aW9uSGFuZGxlckNhbGxDaGVja2Vy
LmggKi87IH07CiAJCTM3QkYyRjA2MTk0N0RFQjQwMDcyM0M0OCAvKiBXS05TVVJMUmVxdWVzdC5o
IGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMzdCRjJGMDQx
OTQ3REVCNDAwNzIzQzQ4IC8qIFdLTlNVUkxSZXF1ZXN0LmggKi87IH07CiAJCTM3QzIxQ0FFMUU5
OTRDMEMwMDI5RDVGOSAvKiBDb3JlUHJlZGljdGlvblNQSS5oIGluIEhlYWRlcnMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMzdDMjFDQUQxRTk5NEMwQzAwMjlENUY5IC8qIENv
cmVQcmVkaWN0aW9uU1BJLmggKi87IH07Ci0JCTM3QzRDMDg2MTgxNDlDNUIwMDM2ODhCOSAvKiBX
S0JhY2tGb3J3YXJkTGlzdEl0ZW0ubW0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSAzN0M0QzA4NDE4MTQ5QzVCMDAzNjg4QjkgLyogV0tCYWNrRm9yd2FyZExp
c3RJdGVtLm1tICovOyB9OwogCQkzN0M0QzA4NzE4MTQ5QzVCMDAzNjg4QjkgLyogV0tCYWNrRm9y
d2FyZExpc3RJdGVtLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSAzN0M0QzA4NTE4MTQ5QzVCMDAzNjg4QjkgLyogV0tCYWNrRm9yd2FyZExpc3RJdGVtLmgg
Ki87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHVibGljLCApOyB9OyB9OwogCQkzN0M0QzA4
OTE4MTQ5RjIzMDAzNjg4QjkgLyogV0tCYWNrRm9yd2FyZExpc3RJdGVtSW50ZXJuYWwuaCBpbiBI
ZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDM3QzRDMDg4MTgxNDlG
MjMwMDM2ODhCOSAvKiBXS0JhY2tGb3J3YXJkTGlzdEl0ZW1JbnRlcm5hbC5oICovOyB9OwotCQkz
N0M0QzA4QzE4MTRBQzVDMDAzNjg4QjkgLyogV0tCYWNrRm9yd2FyZExpc3QubW0gaW4gU291cmNl
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAzN0M0QzA4QTE4MTRBQzVDMDAz
Njg4QjkgLyogV0tCYWNrRm9yd2FyZExpc3QubW0gKi87IH07CiAJCTM3QzRDMDhEMTgxNEFDNUMw
MDM2ODhCOSAvKiBXS0JhY2tGb3J3YXJkTGlzdC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gMzdDNEMwOEIxODE0QUM1QzAwMzY4OEI5IC8qIFdLQmFja0Zv
cndhcmRMaXN0LmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHVibGljLCApOyB9OyB9
OwogCQkzN0M0QzA5NDE4MTRCM0FGMDAzNjg4QjkgLyogV0tOU0FycmF5LmggaW4gSGVhZGVycyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAzN0M0QzA5MjE4MTRCM0FGMDAzNjg4
QjkgLyogV0tOU0FycmF5LmggKi87IH07CiAJCTM3QzRDMDk1MTgxNEI5RTYwMDM2ODhCOSAvKiBX
S0JhY2tGb3J3YXJkTGlzdEludGVybmFsLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSAzN0M0QzA4RTE4MTRBRjNBMDAzNjg4QjkgLyogV0tCYWNrRm9yd2Fy
ZExpc3RJbnRlcm5hbC5oICovOyB9OwpAQCAtODkyLDcgKzgzNSw2IEBACiAJCTM3RjYyM0I4MTJB
NTdCNjIwMEUzRkRGNiAvKiBXS0ZpbmRPcHRpb25zLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAzN0Y2MjNCNzEyQTU3QjYyMDBFM0ZERjYgLyogV0tGaW5k
T3B0aW9ucy5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07
CiAJCTM3RjkwREUzMTM3NjU2MEUwMDUxQ0Y2OCAvKiBIVFRQQ29va2llQWNjZXB0UG9saWN5Lmgg
aW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBGNjM4OTU0RjEz
M0JFRjM4MDA4OTQxRDUgLyogSFRUUENvb2tpZUFjY2VwdFBvbGljeS5oICovOyB9OwogCQkzN0ZD
MTk0NzE4NTBGQkYyMDA4Q0ZBNDcgLyogV0tCcm93c2luZ0NvbnRleHRMb2FkRGVsZWdhdGVQcml2
YXRlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAzN0ZD
MTk0NjE4NTBGQkYyMDA4Q0ZBNDcgLyogV0tCcm93c2luZ0NvbnRleHRMb2FkRGVsZWdhdGVQcml2
YXRlLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKLQkJ
MzdGQzE5NEExODUxMEQ2QTAwOENGQTQ3IC8qIFdLTlNVUkxBdXRoZW50aWNhdGlvbkNoYWxsZW5n
ZS5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDM3RkMx
OTQ4MTg1MTBENkEwMDhDRkE0NyAvKiBXS05TVVJMQXV0aGVudGljYXRpb25DaGFsbGVuZ2UubW0g
Ki87IH07CiAJCTM3RkMxOTRCMTg1MTBENkEwMDhDRkE0NyAvKiBXS05TVVJMQXV0aGVudGljYXRp
b25DaGFsbGVuZ2UuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IDM3RkMxOTQ5MTg1MTBENkEwMDhDRkE0NyAvKiBXS05TVVJMQXV0aGVudGljYXRpb25DaGFs
bGVuZ2UuaCAqLzsgfTsKIAkJM0Y0MThFRjkxODg3QkQ5NzAwMjc5NUZEIC8qIFZpZGVvRnVsbHNj
cmVlbk1hbmFnZXJNZXNzYWdlUmVjZWl2ZXIuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gM0Y0MThFRjUxODg3QkQ5NzAwMjc5NUZEIC8qIFZpZGVvRnVs
bHNjcmVlbk1hbmFnZXJNZXNzYWdlUmVjZWl2ZXIuY3BwICovOyB9OwogCQkzRjQxOEVGQjE4ODdC
RDk3MDAyNzk1RkQgLyogVmlkZW9GdWxsc2NyZWVuTWFuYWdlclByb3h5TWVzc2FnZVJlY2VpdmVy
LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDNGNDE4
RUY3MTg4N0JEOTcwMDI3OTVGRCAvKiBWaWRlb0Z1bGxzY3JlZW5NYW5hZ2VyUHJveHlNZXNzYWdl
UmVjZWl2ZXIuY3BwICovOyB9OwpAQCAtOTUyLDcgKzg5NCw2IEBACiAJCTUxMEFGRkJBMTY1NDIw
NDgwMDFCQTA1RSAvKiBXZWJSZXNvdXJjZUxvYWRlci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNTEwQUZGQjgxNjU0MjA0ODAwMUJBMDVFIC8qIFdlYlJl
c291cmNlTG9hZGVyLmggKi87IH07CiAJCTUxMEY1OTEwMURERTI5NjkwMDQxMkZGNSAvKiBfV0tJ
Y29uTG9hZGluZ0RlbGVnYXRlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSA1MTQzQjI1RTFERENERkQxMDAxNEZBQzYgLyogX1dLSWNvbkxvYWRpbmdEZWxl
Z2F0ZS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJ
CTUxMEY1OTExMURERTI5NzAwMDQxMkZGNSAvKiBfV0tMaW5rSWNvblBhcmFtZXRlcnMuaCBpbiBI
ZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDUxQzBDOTc5MURERDc4
NTQwMDMyQ0FEMyAvKiBfV0tMaW5rSWNvblBhcmFtZXRlcnMuaCAqLzsgc2V0dGluZ3MgPSB7QVRU
UklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwotCQk1MTBGNTkxMjFEREUyOTc3MDA0MTJGRjUg
LyogX1dLTGlua0ljb25QYXJhbWV0ZXJzLm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gNTFDMEM5N0ExRERENzg1NDAwMzJDQUQzIC8qIF9XS0xpbmtJY29u
UGFyYW1ldGVycy5tbSAqLzsgfTsKIAkJNTEwRkJCOUIxMjg4Qzk1RTAwQUZGREY0IC8qIFdlYkNv
bnRleHRNZW51SXRlbURhdGEuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IDUxMEZCQjk5MTI4OEM5NUUwMEFGRkRGNCAvKiBXZWJDb250ZXh0TWVudUl0ZW1E
YXRhLmggKi87IH07CiAJCTUxMTBBRTBEMTMzQzE2Q0IwMDcyNzE3QSAvKiBXS0ljb25EYXRhYmFz
ZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNTExMEFF
MEIxMzNDMTZDQjAwNzI3MTdBIC8qIFdLSWNvbkRhdGFiYXNlLmggKi87IHNldHRpbmdzID0ge0FU
VFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJNTExOEU5OUMxRjI5NTI2NjAwM0VGOUY1
IC8qIFdlYlRvU3RvcmFnZVByb2Nlc3NDb25uZWN0aW9uLmggaW4gSGVhZGVycyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1MTE4RTk5QTFGMjk1MjU5MDAzRUY5RjUgLyogV2Vi
VG9TdG9yYWdlUHJvY2Vzc0Nvbm5lY3Rpb24uaCAqLzsgfTsKQEAgLTk2Nyw3ICs5MDgsNiBAQAog
CQk1MTFGOEE3QjEzOEI0NjA5MDBBOTVGNDQgLyogU2VjSXRlbVNoaW1MaWJyYXJ5LmggaW4gSGVh
ZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1MTFGOEE3NzEzOEI0NjA5
MDBBOTVGNDQgLyogU2VjSXRlbVNoaW1MaWJyYXJ5LmggKi87IH07CiAJCTUxMUY4QTgxMTM4QjQ4
NUQwMEE5NUY0NCAvKiBTZWNJdGVtU2hpbUxpYnJhcnkubW0gaW4gU291cmNlcyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1MTFGOEE3ODEzOEI0NjA5MDBBOTVGNDQgLyogU2Vj
SXRlbVNoaW1MaWJyYXJ5Lm1tICovOyB9OwogCQk1MTIwQzgzNTFFNUI3NEI5MDAyNUIyNTAgLyog
X1dLV2Vic2l0ZURhdGFTdG9yZUNvbmZpZ3VyYXRpb24uaCBpbiBIZWFkZXJzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDUxMjBDODMzMUU1QjcxNTcwMDI1QjI1MCAvKiBfV0tX
ZWJzaXRlRGF0YVN0b3JlQ29uZmlndXJhdGlvbi5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVT
ID0gKFByaXZhdGUsICk7IH07IH07Ci0JCTUxMjBDODM2MUU1Qjc0QkUwMDI1QjI1MCAvKiBfV0tX
ZWJzaXRlRGF0YVN0b3JlQ29uZmlndXJhdGlvbi5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDUxMjBDODM0MUU1QjcxNTcwMDI1QjI1MCAvKiBfV0tXZWJz
aXRlRGF0YVN0b3JlQ29uZmlndXJhdGlvbi5tbSAqLzsgfTsKIAkJNTEyMTI3QzQxOTA4MjM5QTAw
REFGMzVDIC8qIFdlYlBhc3RlYm9hcmRPdmVycmlkZXMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDUxMjEyN0MyMTkwODIzOUEwMERBRjM1QyAvKiBXZWJQ
YXN0ZWJvYXJkT3ZlcnJpZGVzLmggKi87IH07CiAJCTUxMjE3NDYxMTY0QzIwRTMwMDM3QTVDMSAv
KiBTaGFyZWFibGVSZXNvdXJjZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gNTEyMTc0NUYxNjRDMjBFMzAwMzdBNUMxIC8qIFNoYXJlYWJsZVJlc291cmNl
LmggKi87IH07CiAJCTUxMjNDRjFDMTMzRDI2MEEwMDU2RjgwMCAvKiBXS0ljb25EYXRhYmFzZUNH
LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1MTIzQ0Yx
QTEzM0QyNjBBMDA1NkY4MDAgLyogV0tJY29uRGF0YWJhc2VDRy5oICovOyBzZXR0aW5ncyA9IHtB
VFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CkBAIC0xMDM4LDEyICs5NzgsOSBAQAogCQk1
MUMwQzk3NDFEREQ3NjAwMDAzMkNBRDMgLyogSWNvbkxvYWRpbmdEZWxlZ2F0ZS5oIGluIEhlYWRl
cnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNTFDMEM5NzIxRERENzRGMDAw
MzJDQUQzIC8qIEljb25Mb2FkaW5nRGVsZWdhdGUuaCAqLzsgfTsKIAkJNTFDRDFDNUUxQjM0OTNC
NDAwMTQyQ0E1IC8qIFdLU2VjdXJpdHlPcmlnaW5SZWYuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDUxQ0QxQzVBMUIzNDkzQTkwMDE0MkNBNSAvKiBXS1Nl
Y3VyaXR5T3JpZ2luUmVmLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwg
KTsgfTsgfTsKIAkJNTFDRDFDNjUxQjM0QjlENDAwMTQyQ0E1IC8qIFdLU2VjdXJpdHlPcmlnaW4u
aCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDUxQ0QxQzVG
MUIzNEI5QzkwMDE0MkNBNSAvKiBXS1NlY3VyaXR5T3JpZ2luLmggKi87IHNldHRpbmdzID0ge0FU
VFJJQlVURVMgPSAoUHVibGljLCApOyB9OyB9OwotCQk1MUNEMUM2NjFCMzRCOURDMDAxNDJDQTUg
LyogV0tTZWN1cml0eU9yaWdpbi5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IDUxQ0QxQzYwMUIzNEI5QzkwMDE0MkNBNSAvKiBXS1NlY3VyaXR5T3JpZ2lu
Lm1tICovOyB9OwogCQk1MUNEMUM2NzFCMzRCOURGMDAxNDJDQTUgLyogV0tTZWN1cml0eU9yaWdp
bkludGVybmFsLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSA1MUNEMUM2MTFCMzRCOUM5MDAxNDJDQTUgLyogV0tTZWN1cml0eU9yaWdpbkludGVybmFsLmgg
Ki87IH07CiAJCTUxRDEyNDM0MUU2REY2NDMwMDJCMjgyMCAvKiBXS1VSTFNjaGVtZUhhbmRsZXIu
aCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDUxRDEyNDJE
MUU2RERERDcwMDJCMjgyMCAvKiBXS1VSTFNjaGVtZUhhbmRsZXIuaCAqLzsgc2V0dGluZ3MgPSB7
QVRUUklCVVRFUyA9IChQdWJsaWMsICk7IH07IH07CiAJCTUxRDEyNDM1MUU2REY2NTIwMDJCMjgy
MCAvKiBXS1VSTFNjaGVtZVRhc2suaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IDUxRDEyNDJGMUU2RERERDcwMDJCMjgyMCAvKiBXS1VSTFNjaGVtZVRhc2su
aCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQdWJsaWMsICk7IH07IH07Ci0JCTUxRDEy
NDM2MUU2REZCMzkwMDJCMjgyMCAvKiBXS1VSTFNjaGVtZVRhc2subW0gaW4gU291cmNlcyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1MUQxMjQzMDFFNkREREQ3MDAyQjI4MjAg
LyogV0tVUkxTY2hlbWVUYXNrLm1tICovOyB9OwotCQk1MUQxMjQ5MjFFNzRCRjQ4MDAyQjI4MjAg
LyogV0tIVFRQQ29va2llU3RvcmUubW0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSA1MUQxMjQ4NTFFNzM0QUUzMDAyQjI4MjAgLyogV0tIVFRQQ29va2llU3Rv
cmUubW0gKi87IH07CiAJCTUxRDEyNDk5MUU3NjNDMDEwMDJCMjgyMCAvKiBXS0hUVFBDb29raWVT
dG9yZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNTFE
MTI0ODQxRTczNEFFMzAwMkIyODIwIC8qIFdLSFRUUENvb2tpZVN0b3JlLmggKi87IHNldHRpbmdz
ID0ge0FUVFJJQlVURVMgPSAoUHVibGljLCApOyB9OyB9OwogCQk1MUQxMzA1NDEzODJFQUMwMDAz
NTFFREQgLyogU2VjSXRlbVJlcXVlc3REYXRhLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSA1MUQxMzA1MDEzODJFQUMwMDAzNTFFREQgLyogU2VjSXRlbVJl
cXVlc3REYXRhLmggKi87IH07CiAJCTUxRDEzMDU2MTM4MkVBQzAwMDM1MUVERCAvKiBTZWNJdGVt
UmVzcG9uc2VEYXRhLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSA1MUQxMzA1MjEzODJFQUMwMDAzNTFFREQgLyogU2VjSXRlbVJlc3BvbnNlRGF0YS5oICov
OyB9OwpAQCAtMTExNSwyOCArMTA1MiwyMiBAQAogCQk1QzlFNTY4MzFERjdGMUIzMDBDOUVFMzMg
LyogV0tXZWJzaXRlUG9saWNpZXMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IDVDOUU1NjgxMURGN0YwNTUwMEM5RUUzMyAvKiBXS1dlYnNpdGVQb2xpY2ll
cy5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTVD
QTk4NTRBMjEwQkVCNjQwMDU3RUI2QiAvKiBTYWZlQnJvd3NpbmdSZXN1bHQuaCBpbiBIZWFkZXJz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDVDQTk4NTQ5MjEwQkVCNUEwMDU3
RUI2QiAvKiBTYWZlQnJvd3NpbmdSZXN1bHQuaCAqLzsgfTsKIAkJNUNBRkRFNDUyMTMwODQ2MzAw
QjFGN0UxIC8qIF9XS0luc3BlY3Rvci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gNUNBRkRFNDIyMTMwODQzNTAwQjFGN0UxIC8qIF9XS0luc3BlY3Rvci5o
ICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07Ci0JCTVDQUZE
RTQ2MjEzMDg0NjgwMEIxRjdFMSAvKiBfV0tJbnNwZWN0b3IubW0gaW4gU291cmNlcyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1Q0FGREU0MzIxMzA4NDM2MDBCMUY3RTEgLyog
X1dLSW5zcGVjdG9yLm1tICovOyB9OwogCQk1Q0FGREU0NzIxMzA4NDZBMDBCMUY3RTEgLyogX1dL
SW5zcGVjdG9ySW50ZXJuYWwuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IDVDQUZERTQ0MjEzMDg0MzYwMEIxRjdFMSAvKiBfV0tJbnNwZWN0b3JJbnRlcm5h
bC5oICovOyB9OwotCQk1Q0IyMzc4QjFERjBERTUzMDAxMTdBQTMgLyogX1dLV2Vic2l0ZVBvbGlj
aWVzLm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNUNC
MjM3OEExREYwREQ0MzAwMTE3QUEzIC8qIF9XS1dlYnNpdGVQb2xpY2llcy5tbSAqLzsgfTsKIAkJ
NUNCMjM3OEMxREYwREU2RTAwMTE3QUEzIC8qIF9XS1dlYnNpdGVQb2xpY2llcy5oIGluIEhlYWRl
cnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNUNCMjM3ODkxREYwREQ0MzAw
MTE3QUEzIC8qIF9XS1dlYnNpdGVQb2xpY2llcy5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVT
ID0gKFByaXZhdGUsICk7IH07IH07CiAJCTVDQjIzNzhFMURGMEUwRDMwMDExN0FBMyAvKiBfV0tX
ZWJzaXRlUG9saWNpZXNJbnRlcm5hbC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gNUNCMjM3OEQxREYwRTBDMjAwMTE3QUEzIC8qIF9XS1dlYnNpdGVQb2xp
Y2llc0ludGVybmFsLmggKi87IH07CiAJCTVDQkM5QjhFMUM2NTJDQTAwMEE4RkRDRiAvKiBOZXR3
b3JrRGF0YVRhc2suaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IDVDQkM5Qjg5MUM2NTI0QTUwMEE4RkRDRiAvKiBOZXR3b3JrRGF0YVRhc2suaCAqLzsgfTsK
IAkJNUNEMjg2NTExRTcyMzU5OTAwOTRGREM4IC8qIFdLQ29udGVudFJ1bGVMaXN0U3RvcmUuaCBp
biBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDVDRDI4NjREMUU3
MjJGNDQwMDk0RkRDOCAvKiBXS0NvbnRlbnRSdWxlTGlzdFN0b3JlLmggKi87IHNldHRpbmdzID0g
e0FUVFJJQlVURVMgPSAoUHVibGljLCApOyB9OyB9OwotCQk1Q0QyODY1MjFFNzIzNUE2MDA5NEZE
QzggLyogV0tDb250ZW50UnVsZUxpc3QubW0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSA1Q0QyODY0QjFFNzIyRjQ0MDA5NEZEQzggLyogV0tDb250ZW50UnVs
ZUxpc3QubW0gKi87IH07CiAJCTVDRDI4NjUzMUU3MjM1QUEwMDk0RkRDOCAvKiBfV0tVc2VyQ29u
dGVudEZpbHRlclByaXZhdGUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IDVDRDI4NjQ5MUU3MjJGNDQwMDk0RkRDOCAvKiBfV0tVc2VyQ29udGVudEZpbHRl
clByaXZhdGUuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9
OwogCQk1Q0QyODY1NDFFNzIzNUIxMDA5NEZEQzggLyogV0tDb250ZW50UnVsZUxpc3QuaCBpbiBI
ZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDVDRDI4NjRBMUU3MjJG
NDQwMDk0RkRDOCAvKiBXS0NvbnRlbnRSdWxlTGlzdC5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJV
VEVTID0gKFB1YmxpYywgKTsgfTsgfTsKIAkJNUNEMjg2NTUxRTcyMzVCODAwOTRGREM4IC8qIFdL
Q29udGVudFJ1bGVMaXN0SW50ZXJuYWwuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IDVDRDI4NjRDMUU3MjJGNDQwMDk0RkRDOCAvKiBXS0NvbnRlbnRSdWxl
TGlzdEludGVybmFsLmggKi87IH07Ci0JCTVDRDI4NjU2MUU3MjM1QzYwMDk0RkRDOCAvKiBXS0Nv
bnRlbnRSdWxlTGlzdFN0b3JlLm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gNUNEMjg2NEUxRTcyMkY0NDAwOTRGREM4IC8qIFdLQ29udGVudFJ1bGVMaXN0
U3RvcmUubW0gKi87IH07CiAJCTVDRDI4NjU3MUU3MjM1QzkwMDk0RkRDOCAvKiBXS0NvbnRlbnRS
dWxlTGlzdFN0b3JlSW50ZXJuYWwuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IDVDRDI4NjRGMUU3MjJGNDQwMDk0RkRDOCAvKiBXS0NvbnRlbnRSdWxlTGlz
dFN0b3JlSW50ZXJuYWwuaCAqLzsgfTsKIAkJNUNEMjg2NTgxRTcyMzVEMTAwOTRGREM4IC8qIFdL
Q29udGVudFJ1bGVMaXN0U3RvcmVQcml2YXRlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSA1Q0QyODY1MDFFNzIyRjQ0MDA5NEZEQzggLyogV0tDb250ZW50
UnVsZUxpc3RTdG9yZVByaXZhdGUuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2
YXRlLCApOyB9OyB9OwogCQk1Q0U4NUIyMDFDODhFNjRCMDA3MEJGQ0UgLyogUGluZ0xvYWQuaCBp
biBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDVDRTg1QjFGMUM4
OEU2NDMwMDcwQkZDRSAvKiBQaW5nTG9hZC5oICovOyB9OwogCQk2MTdBNTJEODFGNDNBOURBMDBE
Q0RDMEEgLyogU2VydmljZVdvcmtlckNsaWVudEZldGNoTWVzc2FnZVJlY2VpdmVyLmNwcCBpbiBT
b3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDYxN0E1MkQ3MUY0M0E5
QjYwMERDREMwQSAvKiBTZXJ2aWNlV29ya2VyQ2xpZW50RmV0Y2hNZXNzYWdlUmVjZWl2ZXIuY3Bw
ICovOyB9OwogCQk2MzEwOEY5NjFGOTY3MTlDMDBBMERCODQgLyogX1dLQXBwbGljYXRpb25NYW5p
ZmVzdC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNjMx
MDhGOTQxRjk2NzE5QzAwQTBEQjg0IC8qIF9XS0FwcGxpY2F0aW9uTWFuaWZlc3QuaCAqLzsgc2V0
dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwotCQk2MzEwOEY5NzFGOTY3
MTlDMDBBMERCODQgLyogX1dLQXBwbGljYXRpb25NYW5pZmVzdC5tbSBpbiBTb3VyY2VzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDYzMTA4Rjk1MUY5NjcxOUMwMEEwREI4NCAv
KiBfV0tBcHBsaWNhdGlvbk1hbmlmZXN0Lm1tICovOyB9OwogCQk2MzEwOEY5OTFGOTY3MUY3MDBB
MERCODQgLyogX1dLQXBwbGljYXRpb25NYW5pZmVzdEludGVybmFsLmggaW4gSGVhZGVycyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA2MzEwOEY5ODFGOTY3MUY3MDBBMERCODQg
LyogX1dLQXBwbGljYXRpb25NYW5pZmVzdEludGVybmFsLmggKi87IH07CiAJCTYzNDg0MjUxMUZC
MjZFNzEwMDk0NkUzQyAvKiBBUElBcHBsaWNhdGlvbk1hbmlmZXN0LmggaW4gSGVhZGVycyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA2MzQ4NDI0RjFGQjI2RTcxMDA5NDZFM0Mg
LyogQVBJQXBwbGljYXRpb25NYW5pZmVzdC5oICovOyB9OwogCQk2MzYzNTNBNTFFOTg1OERGMDAw
OUY4QUYgLyogX1dLR2VvbG9jYXRpb25Db3JlTG9jYXRpb25Qcm92aWRlci5oIGluIEhlYWRlcnMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNjNGQUJFMTkxRTk3MEQ2NTAwMzAx
MUQ1IC8qIF9XS0dlb2xvY2F0aW9uQ29yZUxvY2F0aW9uUHJvdmlkZXIuaCAqLzsgc2V0dGluZ3Mg
PSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwotCQk2M0MzMkMyNTFFOTgxMEQ5MDA2
OTlCRDAgLyogX1dLR2VvbG9jYXRpb25Qb3NpdGlvbi5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDYzQzMyQzIzMUU5ODEwRDkwMDY5OUJEMCAvKiBfV0tH
ZW9sb2NhdGlvblBvc2l0aW9uLm1tICovOyB9OwogCQk2M0MzMkMyNjFFOTgxMEQ5MDA2OTlCRDAg
LyogX1dLR2VvbG9jYXRpb25Qb3NpdGlvbi5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gNjNDMzJDMjQxRTk4MTBEOTAwNjk5QkQwIC8qIF9XS0dlb2xvY2F0
aW9uUG9zaXRpb24uaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9
OyB9OwogCQk2M0MzMkMyODFFOTgxMTkwMDA2OTlCRDAgLyogX1dLR2VvbG9jYXRpb25Qb3NpdGlv
bkludGVybmFsLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSA2M0MzMkMyNzFFOTgxMTkwMDA2OTlCRDAgLyogX1dLR2VvbG9jYXRpb25Qb3NpdGlvbkludGVy
bmFsLmggKi87IH07CiAJCTY1Qjg2RjFFMTJGMTFERTMwMEI3REQ4QSAvKiBXS0J1bmRsZUluc3Bl
Y3Rvci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNjVC
ODZGMTgxMkYxMUQ3QjAwQjdERDhBIC8qIFdLQnVuZGxlSW5zcGVjdG9yLmggKi87IHNldHRpbmdz
ID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKQEAgLTExNDksNyArMTA4MCw2IEBA
CiAJCTcyOEU4NkYxMTc5NTE4OEMwMDg3ODc5RSAvKiBXZWJDb2xvclBpY2tlck1hYy5oIGluIEhl
YWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNzI4RTg2RUYxNzk1MTg4
QzAwODc4NzlFIC8qIFdlYkNvbG9yUGlja2VyTWFjLmggKi87IH07CiAJCTc1M0UzRTBFMTg4NzM5
ODkwMDE4ODQ5NiAvKiBTZXNzaW9uVHJhY2tlci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gNzUzRTNFMDkxODg3Mzk0QjAwMTg4NDk2IC8qIFNlc3Npb25U
cmFja2VyLmggKi87IH07CiAJCTc1QThEMkM4MTg3Q0NGQUIwMEMzOUM5RSAvKiBXS1dlYnNpdGVE
YXRhU3RvcmUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IDc1QThEMkM0MTg3Q0NGOUYwMEMzOUM5RSAvKiBXS1dlYnNpdGVEYXRhU3RvcmUuaCAqLzsgc2V0
dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQdWJsaWMsICk7IH07IH07Ci0JCTc1QThEMkM5MTg3Q0NG
QUYwMEMzOUM5RSAvKiBXS1dlYnNpdGVEYXRhU3RvcmUubW0gaW4gU291cmNlcyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA3NUE4RDJDNTE4N0NDRjlGMDBDMzlDOUUgLyogV0tX
ZWJzaXRlRGF0YVN0b3JlLm1tICovOyB9OwogCQk3NUE4RDJENjE4N0QxQzBFMDBDMzlDOUUgLyog
V0tXZWJzaXRlRGF0YVN0b3JlSW50ZXJuYWwuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IDc1QThEMkQ0MTg3RDFDMDEwMEMzOUM5RSAvKiBXS1dlYnNpdGVE
YXRhU3RvcmVJbnRlcm5hbC5oICovOyB9OwogCQk3NjJCNzQ4RDEyMEJDNzVDMDA4MTkzMzkgLyog
V0tQcmVmZXJlbmNlc1JlZlByaXZhdGUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IDc2MkI3NDg0MTIwQkJBMkQwMDgxOTMzOSAvKiBXS1ByZWZlcmVuY2Vz
UmVmUHJpdmF0ZS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07
IH07CiAJCTdBMUUyQTg1MUVFRkU4OTIwMDM3QTBFMCAvKiBBUElOb3RpZmljYXRpb25Qcm92aWRl
ci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gN0ExRTJB
ODQxRUVGRTg4QTAwMzdBMEUwIC8qIEFQSU5vdGlmaWNhdGlvblByb3ZpZGVyLmggKi87IH07CkBA
IC0xMTY4LDcgKzEwOTgsNiBAQAogCQk3QzA2NUYyQzFDOENEOTVGMDBDMkQ5NTAgLyogV2ViVXNl
ckNvbnRlbnRDb250cm9sbGVyRGF0YVR5cGVzLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSA3QzA2NUYyQTFDOENEOTVGMDBDMkQ5NTAgLyogV2ViVXNlckNv
bnRlbnRDb250cm9sbGVyRGF0YVR5cGVzLmggKi87IH07CiAJCTdDMTM1QUE5MTczQjBCQ0EwMDU4
NkFFMiAvKiBXS1BsdWdpbkluZm9ybWF0aW9uLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSA3QzEzNUFBNzE3M0IwQkNBMDA1ODZBRTIgLyogV0tQbHVnaW5J
bmZvcm1hdGlvbi5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07
IH07CiAJCTdDMUJBMzNFMUE0QTBFNjAwMDQzRTI0OSAvKiBBUElEaWN0aW9uYXJ5LmggaW4gSGVh
ZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA3QzFCQTMzQzFBNEEwRTYw
MDA0M0UyNDkgLyogQVBJRGljdGlvbmFyeS5oICovOyB9OwotCQk3QzI0MTMwMjFBQUNGQTc1MDBB
NThDMTUgLyogX1dLVXNlckNvbnRlbnRFeHRlbnNpb25TdG9yZS5tbSBpbiBTb3VyY2VzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDdDMjQxMzAwMUFBQ0ZBNzUwMEE1OEMxNSAv
KiBfV0tVc2VyQ29udGVudEV4dGVuc2lvblN0b3JlLm1tICovOyB9OwogCQk3QzI0MTMwMzFBQUNG
QTc1MDBBNThDMTUgLyogX1dLVXNlckNvbnRlbnRFeHRlbnNpb25TdG9yZS5oIGluIEhlYWRlcnMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gN0MyNDEzMDExQUFDRkE3NTAwQTU4
QzE1IC8qIF9XS1VzZXJDb250ZW50RXh0ZW5zaW9uU3RvcmUuaCAqLzsgc2V0dGluZ3MgPSB7QVRU
UklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQk3QzI0MTMwNTFBQUNGQTlDMDBBNThDMTUg
LyogX1dLVXNlckNvbnRlbnRFeHRlbnNpb25TdG9yZUludGVybmFsLmggaW4gSGVhZGVycyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA3QzI0MTMwNDFBQUNGQTlDMDBBNThDMTUg
LyogX1dLVXNlckNvbnRlbnRFeHRlbnNpb25TdG9yZUludGVybmFsLmggKi87IH07CiAJCTdDMjQx
MzA5MUFBQ0ZDQjQwMEE1OEMxNSAvKiBXS1VzZXJDb250ZW50RXh0ZW5zaW9uU3RvcmVSZWYuaCBp
biBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDdDMjQxMzA3MUFB
Q0ZDQjQwMEE1OEMxNSAvKiBXS1VzZXJDb250ZW50RXh0ZW5zaW9uU3RvcmVSZWYuaCAqLzsgc2V0
dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwpAQCAtMTE4Myw3ICsxMTEy
LDYgQEAKIAkJN0M0QUJFRDExQUE4RTlGMDAwODhBQTM3IC8qIFdlYkNvbXBpbGVkQ29udGVudFJ1
bGVMaXN0LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA3
QzRBQkVDRjFBQThFOUYwMDA4OEFBMzcgLyogV2ViQ29tcGlsZWRDb250ZW50UnVsZUxpc3QuaCAq
LzsgfTsKIAkJN0M0QUJFRDUxQUE4RkNCODAwODhBQTM3IC8qIFdlYkNvbXBpbGVkQ29udGVudFJ1
bGVMaXN0RGF0YS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gN0M0QUJFRDMxQUE4RkNCODAwODhBQTM3IC8qIFdlYkNvbXBpbGVkQ29udGVudFJ1bGVMaXN0
RGF0YS5oICovOyB9OwogCQk3Qzg4MkRGNzFDN0U5OTY1MDA2QkY3MzEgLyogX1dLVXNlckNvbnRl
bnRXb3JsZC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
N0M4ODJERjMxQzdFOTk1RTAwNkJGNzMxIC8qIF9XS1VzZXJDb250ZW50V29ybGQuaCAqLzsgc2V0
dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwotCQk3Qzg4MkRGODFDN0U5
OTZDMDA2QkY3MzEgLyogX1dLVXNlckNvbnRlbnRXb3JsZC5tbSBpbiBTb3VyY2VzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDdDODgyREY0MUM3RTk5NUUwMDZCRjczMSAvKiBf
V0tVc2VyQ29udGVudFdvcmxkLm1tICovOyB9OwogCQk3Qzg4MkRGOTFDN0U5OTZGMDA2QkY3MzEg
LyogX1dLVXNlckNvbnRlbnRXb3JsZEludGVybmFsLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA3Qzg4MkRGNTFDN0U5OTVFMDA2QkY3MzEgLyogX1dLVXNl
ckNvbnRlbnRXb3JsZEludGVybmFsLmggKi87IH07CiAJCTdDODgyREZBMUM3RTk5NzMwMDZCRjcz
MSAvKiBXS1VzZXJTY3JpcHRQcml2YXRlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSA3Qzg4MkRGNjFDN0U5OTVFMDA2QkY3MzEgLyogV0tVc2VyU2NyaXB0
UHJpdmF0ZS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07
CiAJCTdDODgyREZEMUM3RTk5QTgwMDZCRjczMSAvKiBBUElVc2VyQ29udGVudFdvcmxkLmggaW4g
SGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA3Qzg4MkRGQzFDN0U5
OUE2MDA2QkY3MzEgLyogQVBJVXNlckNvbnRlbnRXb3JsZC5oICovOyB9OwpAQCAtMTE5NCw3ICsx
MTIyLDYgQEAKIAkJN0M4OUQyQTQxQTY3ODg3NTAwM0E1RkRFIC8qIFdLVXNlclNjcmlwdFJlZi5o
IGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gN0M4OUQyQTIx
QTY3ODg3NTAwM0E1RkRFIC8qIFdLVXNlclNjcmlwdFJlZi5oICovOyBzZXR0aW5ncyA9IHtBVFRS
SUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTdDODlEMkI0MUE2QjA2OEMwMDNBNUZERSAv
KiBBUElDb250ZW50UnVsZUxpc3QuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IDdDODlEMkIyMUE2QjA2OEMwMDNBNUZERSAvKiBBUElDb250ZW50UnVsZUxp
c3QuaCAqLzsgfTsKIAkJN0M4OUQyQjYxQTZCMEREOTAwM0E1RkRFIC8qIFdLVXNlckNvbnRlbnRD
b250cm9sbGVyUHJpdmF0ZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gN0M4OUQyQjUxQTZCMEREOTAwM0E1RkRFIC8qIFdLVXNlckNvbnRlbnRDb250cm9s
bGVyUHJpdmF0ZS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07
IH07Ci0JCTdDODlEMkI5MUE2QjBGMkMwMDNBNUZERSAvKiBfV0tVc2VyQ29udGVudEZpbHRlci5t
bSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDdDODlEMkI3
MUE2QjBGMkMwMDNBNUZERSAvKiBfV0tVc2VyQ29udGVudEZpbHRlci5tbSAqLzsgfTsKIAkJN0M4
OUQyQkExQTZCMEYyQzAwM0E1RkRFIC8qIF9XS1VzZXJDb250ZW50RmlsdGVyLmggaW4gSGVhZGVy
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA3Qzg5RDJCODFBNkIwRjJDMDAz
QTVGREUgLyogX1dLVXNlckNvbnRlbnRGaWx0ZXIuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRF
UyA9IChQcml2YXRlLCApOyB9OyB9OwogCQk3Qzg5RDJCQzFBNkIwRjVCMDAzQTVGREUgLyogX1dL
VXNlckNvbnRlbnRGaWx0ZXJJbnRlcm5hbC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gN0M4OUQyQkIxQTZCMEY1QjAwM0E1RkRFIC8qIF9XS1VzZXJDb250
ZW50RmlsdGVySW50ZXJuYWwuaCAqLzsgfTsKIAkJN0M4OUQyRDcxQTZDNkJFNjAwM0E1RkRFIC8q
IF9XS1Byb2Nlc3NQb29sQ29uZmlndXJhdGlvbkludGVybmFsLmggaW4gSGVhZGVycyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA3Qzg5RDJENjFBNkM2QkU2MDAzQTVGREUgLyog
X1dLUHJvY2Vzc1Bvb2xDb25maWd1cmF0aW9uSW50ZXJuYWwuaCAqLzsgfTsKQEAgLTEyMTIsNyAr
MTEzOSw2IEBACiAJCTdDQjE2RkYzMTcyNEJBMkYwMDdBMEE5NSAvKiBjb20ubWljcm9zb2Z0LlNp
bHZlcmxpZ2h0UGx1Z2luLnNiIGluIENvcHkgUGx1Zy1pbiBTYW5kYm94IFByb2ZpbGVzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDdDQjE2RkU2MTcyNEI5QjUwMDdBMEE5NSAv
KiBjb20ubWljcm9zb2Z0LlNpbHZlcmxpZ2h0UGx1Z2luLnNiICovOyB9OwogCQk3Q0IxNkZGNDE3
MjRCQTMwMDA3QTBBOTUgLyogY29tLm9yYWNsZS5qYXZhLkphdmFBcHBsZXRQbHVnaW4uc2IgaW4g
Q29weSBQbHVnLWluIFNhbmRib3ggUHJvZmlsZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gN0NCMTZGRTcxNzI0QjlCNTAwN0EwQTk1IC8qIGNvbS5vcmFjbGUuamF2YS5KYXZh
QXBwbGV0UGx1Z2luLnNiICovOyB9OwogCQk3Q0IzNjVBQTFEMzFEQjcwMDA3MTU4Q0EgLyogX1dL
VXNlckluaXRpYXRlZEFjdGlvbi5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gN0NCMzY1QTgxRDMxREI3MDAwNzE1OENBIC8qIF9XS1VzZXJJbml0aWF0ZWRB
Y3Rpb24uaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9Owot
CQk3Q0IzNjVBQjFEMzFEQjcwMDA3MTU4Q0EgLyogX1dLVXNlckluaXRpYXRlZEFjdGlvbi5tbSBp
biBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDdDQjM2NUE5MUQz
MURCNzAwMDcxNThDQSAvKiBfV0tVc2VySW5pdGlhdGVkQWN0aW9uLm1tICovOyB9OwogCQk3Q0Iz
NjVBRDFEMzFEQzEwMDA3MTU4Q0EgLyogX1dLVXNlckluaXRpYXRlZEFjdGlvbkludGVybmFsLmgg
aW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA3Q0IzNjVBQzFE
MzFEQzEwMDA3MTU4Q0EgLyogX1dLVXNlckluaXRpYXRlZEFjdGlvbkludGVybmFsLmggKi87IH07
CiAJCTdDQjM2NUIxMUQzMUREMUUwMDcxNThDQSAvKiBBUElVc2VySW5pdGlhdGVkQWN0aW9uLmgg
aW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA3Q0IzNjVBRjFE
MzFERDFFMDA3MTU4Q0EgLyogQVBJVXNlckluaXRpYXRlZEFjdGlvbi5oICovOyB9OwogCQk3Q0JC
ODExRDFBQTBGOEIxMDA2QjE5NDIgLyogSW5qZWN0ZWRCdW5kbGVGaWxlSGFuZGxlLmggaW4gSGVh
ZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA3Q0JCODExQjFBQTBGOEIx
MDA2QjE5NDIgLyogSW5qZWN0ZWRCdW5kbGVGaWxlSGFuZGxlLmggKi87IH07CkBAIC0xMjIzLDcg
KzExNDksNiBAQAogCQk3Q0QzQTQ4MzFBNUQwMkZBMDA5NjIzQjggLyogQVBJTmF2aWdhdGlvbi5o
IGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gN0NEM0E0ODEx
QTVEMDJGQTAwOTYyM0I4IC8qIEFQSU5hdmlnYXRpb24uaCAqLzsgfTsKIAkJN0NENUVCQjkxNzQ2
QTE1QjAwMEMxQzQ1IC8qIFdLT2JqQ1R5cGVXcmFwcGVyUmVmLmggaW4gSGVhZGVycyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA3Q0Q1RUJCNzE3NDZBMTVCMDAwQzFDNDUgLyog
V0tPYmpDVHlwZVdyYXBwZXJSZWYuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2
YXRlLCApOyB9OyB9OwogCQk3Q0Q1RUJCQjE3NDZBODNFMDAwQzFDNDUgLyogV0tCYXNlTWFjLmgg
aW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA3Q0Q1RUJCQTE3
NDZBODNFMDAwQzFDNDUgLyogV0tCYXNlTWFjLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMg
PSAoUHJpdmF0ZSwgKTsgfTsgfTsKLQkJN0NENUVCQkUxNzQ2QjA0QzAwMEMxQzQ1IC8qIFdLVHlw
ZVJlZldyYXBwZXIubW0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSA3Q0Q1RUJCQzE3NDZCMDRDMDAwQzFDNDUgLyogV0tUeXBlUmVmV3JhcHBlci5tbSAqLzsg
fTsKIAkJN0NENUVCQkYxNzQ2QjA0QzAwMEMxQzQ1IC8qIFdLVHlwZVJlZldyYXBwZXIuaCBpbiBI
ZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDdDRDVFQkJEMTc0NkIw
NEMwMDBDMUM0NSAvKiBXS1R5cGVSZWZXcmFwcGVyLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVU
RVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJN0NENjIyNzgxNzM5RDg2MzAwNUJEN0ZGIC8qIFBs
dWdpblNhbmRib3hQcm9maWxlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSA3Q0Q2MjI3NjE3MzlEODYzMDA1QkQ3RkYgLyogUGx1Z2luU2FuZGJveFByb2Zp
bGUuaCAqLzsgfTsKIAkJN0NFNEQyMDcxQTQ2Nzc2MTAwQzdGMTUyIC8qIEFQSUxlZ2FjeUNvbnRl
eHRIaXN0b3J5Q2xpZW50LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSA3Q0U0RDIwNjFBNDY3NzU3MDBDN0YxNTIgLyogQVBJTGVnYWN5Q29udGV4dEhpc3Rv
cnlDbGllbnQuaCAqLzsgfTsKQEAgLTEyMzMsNyArMTE1OCw2IEBACiAJCTdDRTREMjI4MUE0OTE2
QzIwMEM3RjE1MiAvKiBXZWJQcm9jZXNzUG9vbE1lc3NhZ2VzLmggaW4gSGVhZGVycyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA3Q0U0RDIyNjFBNDkxNkMyMDBDN0YxNTIgLyog
V2ViUHJvY2Vzc1Bvb2xNZXNzYWdlcy5oICovOyB9OwogCQk3Q0U5Q0UxMDFGQTA3NjdBMDAwMTc3
REUgLyogV2ViUGFnZVVwZGF0ZVByZWZlcmVuY2VzLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDdDRTlDRTBGMUZBMDc2NEQwMDAxNzdERSAvKiBXZWJQ
YWdlVXBkYXRlUHJlZmVyZW5jZXMuY3BwICovOyB9OwogCQk3Q0VCMDBERDFGQTY5QUJFMDA2NTQ3
M0IgLyogV2ViUHJlZmVyZW5jZXNFeHBlcmltZW50YWxGZWF0dXJlcy5jcHAgaW4gU291cmNlcyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA3Q0VCMDBEQzFGQTY5QTg5MDA2NTQ3
M0IgLyogV2ViUHJlZmVyZW5jZXNFeHBlcmltZW50YWxGZWF0dXJlcy5jcHAgKi87IH07Ci0JCTdD
RUZBOTYyMUFDMDk5OTMwMEI5MTBGRCAvKiBBUElDb250ZW50UnVsZUxpc3RTdG9yZUNvY29hLm1t
IGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gN0NFRkE5NjAx
QUMwOTk5MzAwQjkxMEZEIC8qIEFQSUNvbnRlbnRSdWxlTGlzdFN0b3JlQ29jb2EubW0gKi87IH07
CiAJCTdDRjQ3RkY3MTcyNzVCNzEwMDhBQ0I5MSAvKiBXS0J1bmRsZVBhZ2VCYW5uZXIuaCBpbiBI
ZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDdDRjQ3RkY1MTcyNzVC
NzEwMDhBQ0I5MSAvKiBXS0J1bmRsZVBhZ2VCYW5uZXIuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklC
VVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQk3Q0Y0N0ZGQjE3Mjc1QzU3MDA4QUNCOTEgLyog
UGFnZUJhbm5lci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gN0NGNDdGRjkxNzI3NUM1NzAwOEFDQjkxIC8qIFBhZ2VCYW5uZXIuaCAqLzsgfTsKIAkJN0NG
NDdGRkYxNzI3NkFFMzAwOEFDQjkxIC8qIFdLQnVuZGxlUGFnZUJhbm5lck1hYy5oIGluIEhlYWRl
cnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gN0NGNDdGRkQxNzI3NkFFMzAw
OEFDQjkxIC8qIFdLQnVuZGxlUGFnZUJhbm5lck1hYy5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJV
VEVTID0gKFByaXZhdGUsICk7IH07IH07CkBAIC0xMjgyLDI1ICsxMjA2LDE5IEBACiAJCTkzOTEw
NzRGMUJGNkJDNjUwMDhDMTdBRCAvKiBXS1ByZXZpZXdFbGVtZW50SW5mb0ludGVybmFsLmggaW4g
SGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA5MzkxMDc0RTFCRjZC
QzY1MDA4QzE3QUQgLyogV0tQcmV2aWV3RWxlbWVudEluZm9JbnRlcm5hbC5oICovOyB9OwogCQk5
MzkxRjJDQjEyMUI2N0FEMDBFQkY3RTggLyogV2ViRnJhbWVOZXR3b3JraW5nQ29udGV4dC5oIGlu
IEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gOTM5MUYyODMxMjFC
MzhGNTAwRUJGN0U4IC8qIFdlYkZyYW1lTmV0d29ya2luZ0NvbnRleHQuaCAqLzsgfTsKIAkJOTM5
NUU2OEExQkYyQzMzMjAwRjQ5QkNFIC8qIFdLUHJldmlld0VsZW1lbnRJbmZvLmggaW4gSGVhZGVy
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA5Mzk1RTY4OTFCRjJDMzMyMDBG
NDlCQ0UgLyogV0tQcmV2aWV3RWxlbWVudEluZm8uaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRF
UyA9IChQdWJsaWMsICk7IH07IH07Ci0JCTkzOTVFNjhDMUJGMkMzNTIwMEY0OUJDRSAvKiBXS1By
ZXZpZXdFbGVtZW50SW5mby5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IDkzOTVFNjhCMUJGMkMzNTIwMEY0OUJDRSAvKiBXS1ByZXZpZXdFbGVtZW50SW5m
by5tbSAqLzsgfTsKIAkJOTM5RjQwMUMxOUZCMEJCQzAwMkIyQjQyIC8qIFdLQWN0aW9uTWVudVR5
cGVzLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA5MzlG
NDAxQjE5RkIwQkJDMDAyQjJCNDIgLyogV0tBY3Rpb25NZW51VHlwZXMuaCAqLzsgc2V0dGluZ3Mg
PSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQk5M0EyNTNFRDFDOTIyRTFFMDBG
OUY2OEQgLyogV0tQcmV2aWV3QWN0aW9uSXRlbS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gOTNBMjUzRUMxQzkyMkUxRTAwRjlGNjhEIC8qIFdLUHJldmll
d0FjdGlvbkl0ZW0uaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQdWJsaWMsICk7IH07
IH07Ci0JCTkzQTI1M0VGMUM5MjJFOEUwMEY5RjY4RCAvKiBXS1ByZXZpZXdBY3Rpb25JdGVtLm1t
IGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gOTNBMjUzRUUx
QzkyMkU4RTAwRjlGNjhEIC8qIFdLUHJldmlld0FjdGlvbkl0ZW0ubW0gKi87IH07CiAJCTkzQTI1
M0YzMUM5MjQxMTIwMEY5RjY4RCAvKiBXS1ByZXZpZXdBY3Rpb25JdGVtSWRlbnRpZmllcnMuaCBp
biBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDkzQTI1M0YyMUM5
MjQxMTIwMEY5RjY4RCAvKiBXS1ByZXZpZXdBY3Rpb25JdGVtSWRlbnRpZmllcnMuaCAqLzsgc2V0
dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQdWJsaWMsICk7IH07IH07Ci0JCTkzQTI1M0Y1MUM5MjQx
MzIwMEY5RjY4RCAvKiBXS1ByZXZpZXdBY3Rpb25JdGVtSWRlbnRpZmllcnMubW0gaW4gU291cmNl
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA5M0EyNTNGNDFDOTI0MTMyMDBG
OUY2OEQgLyogV0tQcmV2aWV3QWN0aW9uSXRlbUlkZW50aWZpZXJzLm1tICovOyB9OwogCQk5M0Ey
QTM0NjFEMjQ2MTI1MDAyQjU5RDMgLyogbWVkaWFJY29uLnBkZiBpbiBSZXNvdXJjZXMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gOTNBMkEzNDUxRDI0NjEyNTAwMkI1OUQzIC8q
IG1lZGlhSWNvbi5wZGYgKi87IH07CiAJCTkzQTg4QjMzMUJDNkU5Q0QwMEFCQTVDMiAvKiBXZWJI
aXRUZXN0UmVzdWx0RGF0YS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gOTNBODhCMzExQkM2RTlDMDAwQUJBNUMyIC8qIFdlYkhpdFRlc3RSZXN1bHREYXRh
LmggKi87IH07Ci0JCTkzQTg4QjM5MUJDNzBGM0YwMEFCQTVDMiAvKiBfV0tIaXRUZXN0UmVzdWx0
Lm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gOTNBODhC
MzcxQkM3MEYyRTAwQUJBNUMyIC8qIF9XS0hpdFRlc3RSZXN1bHQubW0gKi87IH07CiAJCTkzQTg4
QjNCMUJDNzEwRDkwMEFCQTVDMiAvKiBfV0tIaXRUZXN0UmVzdWx0SW50ZXJuYWwuaCBpbiBIZWFk
ZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDkzQTg4QjNBMUJDNzEwRDkw
MEFCQTVDMiAvKiBfV0tIaXRUZXN0UmVzdWx0SW50ZXJuYWwuaCAqLzsgfTsKIAkJOTNBODhCNDYx
QkM4ODI5MzAwQUJBNUMyIC8qIEFQSUhpdFRlc3RSZXN1bHQuaCBpbiBIZWFkZXJzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDkzQTg4QjQzMUJDODgyOEMwMEFCQTVDMiAvKiBB
UElIaXRUZXN0UmVzdWx0LmggKi87IH07CiAJCTkzQkRFQjAxMTcxREQ3QUYwMEJGRUUxQiAvKiBX
S1BhZ2VMb2FkVHlwZXNQcml2YXRlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSA5M0JERUIwMDE3MUREN0FGMDBCRkVFMUIgLyogV0tQYWdlTG9hZFR5cGVz
UHJpdmF0ZS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07
CiAJCTkzRTZBNEVFMUJDNUREMzkwMEY4QTBFNyAvKiBfV0tIaXRUZXN0UmVzdWx0LmggaW4gSGVh
ZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA5M0U2QTRFRDFCQzVERDM5
MDBGOEEwRTcgLyogX1dLSGl0VGVzdFJlc3VsdC5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVT
ID0gKFByaXZhdGUsICk7IH07IH07CiAJCTkzRjU0OUI0MUUzMTc0QjcwMDBFNzIzOSAvKiBXS1Nu
YXBzaG90Q29uZmlndXJhdGlvbi5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gOTNGNTQ5QjMxRTMxNzRCNzAwMEU3MjM5IC8qIFdLU25hcHNob3RDb25maWd1
cmF0aW9uLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHVibGljLCApOyB9OyB9Owot
CQk5M0Y1NDlCNjFFMzE3NERBMDAwRTcyMzkgLyogV0tTbmFwc2hvdENvbmZpZ3VyYXRpb24ubW0g
aW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA5M0Y1NDlCNTFF
MzE3NERBMDAwRTcyMzkgLyogV0tTbmFwc2hvdENvbmZpZ3VyYXRpb24ubW0gKi87IH07CiAJCTk5
MEQyOEFCMUM2NDIwQzYwMDk4Njk3NyAvKiBfV0tBdXRvbWF0aW9uU2Vzc2lvbi5oIGluIEhlYWRl
cnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gOTkwRDI4QTcxQzY0MDRCMDAw
OTg2OTc3IC8qIF9XS0F1dG9tYXRpb25TZXNzaW9uLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVU
RVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJOTkwRDI4QUMxQzY0MjBDRjAwOTg2OTc3IC8qIF9X
S0F1dG9tYXRpb25TZXNzaW9uRGVsZWdhdGUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IDk5MEQyOEE4MUM2NDA0QjAwMDk4Njk3NyAvKiBfV0tBdXRvbWF0
aW9uU2Vzc2lvbkRlbGVnYXRlLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0
ZSwgKTsgfTsgfTsKIAkJOTkwRDI4QjExQzY1MjA4RDAwOTg2OTc3IC8qIF9XS0F1dG9tYXRpb25T
ZXNzaW9uSW50ZXJuYWwuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IDk5MEQyOEFGMUM2NTIwMzkwMDk4Njk3NyAvKiBfV0tBdXRvbWF0aW9uU2Vzc2lvbklu
dGVybmFsLmggKi87IH07Ci0JCTk5MEQyOEIyMUM2NTIwOTQwMDk4Njk3NyAvKiBfV0tBdXRvbWF0
aW9uU2Vzc2lvbi5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IDk5MEQyOEFEMUM2NTE5MDQwMDk4Njk3NyAvKiBfV0tBdXRvbWF0aW9uU2Vzc2lvbi5tbSAq
LzsgfTsKIAkJOTkwRDI4QkIxQzY1MzlEMzAwOTg2OTc3IC8qIEF1dG9tYXRpb25TZXNzaW9uQ2xp
ZW50LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA5OTBE
MjhCNzFDNjUzOUEwMDA5ODY5NzcgLyogQXV0b21hdGlvblNlc3Npb25DbGllbnQuaCAqLzsgfTsK
IAkJOTkwRDI4QzAxQzY1NTNGMTAwOTg2OTc3IC8qIEFQSUF1dG9tYXRpb25TZXNzaW9uQ2xpZW50
LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA5OTBEMjhC
MzFDNjUyNkQ0MDA5ODY5NzcgLyogQVBJQXV0b21hdGlvblNlc3Npb25DbGllbnQuaCAqLzsgfTsK
IAkJOTkyNDlBRDUxRjFGMUU1NjAwQjYyRkJCIC8qIEF1dG9tYXRpb25Gcm9udGVuZERpc3BhdGNo
ZXJzLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDk5
MjQ5QUQzMUYxRjFFMzMwMEI2MkZCQiAvKiBBdXRvbWF0aW9uRnJvbnRlbmREaXNwYXRjaGVycy5j
cHAgKi87IH07CkBAIC0xMzE0LDcgKzEyMzIsNiBAQAogCQk5OTU1QTZGNjFDNzk4NkUzMDBFQjZB
OTMgLyogQXV0b21hdGlvblByb3RvY29sT2JqZWN0cy5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA5OTU1QTZGMjFDNzk4NjY0MDBFQjZBOTMgLyogQXV0
b21hdGlvblByb3RvY29sT2JqZWN0cy5jcHAgKi87IH07CiAJCTk5NTVBNkY3MUM3OTg2RTUwMEVC
NkE5MyAvKiBBdXRvbWF0aW9uUHJvdG9jb2xPYmplY3RzLmggaW4gSGVhZGVycyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA5OTU1QTZGMzFDNzk4NjY0MDBFQjZBOTMgLyogQXV0
b21hdGlvblByb3RvY29sT2JqZWN0cy5oICovOyB9OwogCQk5OTc4OEFDQjFGNDIxRERBMDBDMDgw
MDAgLyogX1dLQXV0b21hdGlvblNlc3Npb25Db25maWd1cmF0aW9uLmggaW4gSGVhZGVycyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA5OTc4OEFDOTFGNDIxRENBMDBDMDgwMDAg
LyogX1dLQXV0b21hdGlvblNlc3Npb25Db25maWd1cmF0aW9uLmggKi87IHNldHRpbmdzID0ge0FU
VFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKLQkJOTk3ODhBQ0MxRjQyMURFMjAwQzA4MDAw
IC8qIF9XS0F1dG9tYXRpb25TZXNzaW9uQ29uZmlndXJhdGlvbi5tbSBpbiBTb3VyY2VzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDk5Nzg4QUNBMUY0MjFEQ0EwMEMwODAwMCAv
KiBfV0tBdXRvbWF0aW9uU2Vzc2lvbkNvbmZpZ3VyYXRpb24ubW0gKi87IH07CiAJCTk5QzNBRTJE
MURBREE2QUQwMEFGNUMxNiAvKiBXZWJBdXRvbWF0aW9uU2Vzc2lvbk1hY3Jvcy5oIGluIEhlYWRl
cnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gOTlDM0FFMkMxREFEQTZBNzAw
QUY1QzE2IC8qIFdlYkF1dG9tYXRpb25TZXNzaW9uTWFjcm9zLmggKi87IH07CiAJCTk5QzgxRDVB
MUMyMEU3RTIwMDVDNEM4MiAvKiBBdXRvbWF0aW9uQ2xpZW50LmggaW4gSGVhZGVycyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA5OUM4MUQ1NTFDMjBERkJFMDA1QzRDODIgLyog
QXV0b21hdGlvbkNsaWVudC5oICovOyB9OwogCQk5OUM4MUQ1RDFDMjFGMzhCMDA1QzRDODIgLyog
QVBJQXV0b21hdGlvbkNsaWVudC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gOTlDODFENUIxQzIwRTgxNzAwNUM0QzgyIC8qIEFQSUF1dG9tYXRpb25DbGll
bnQuaCAqLzsgfTsKQEAgLTEzMjcsNyArMTI0NCw2IEBACiAJCUExMTQ1NUIwMjExRkQyNTIwMENB
OTM1QiAvKiBOZXR3b3JrUHJveGltaXR5TWFuYWdlci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQTExNDU1QUUyMTFGRDI1MjAwQ0E5MzVCIC8qIE5ldHdv
cmtQcm94aW1pdHlNYW5hZ2VyLmggKi87IH07CiAJCUExMTVEQzcyMTkxRDgyREEwMERBODA3MiAv
KiBfV0tXZWJWaWV3UHJpbnRGb3JtYXR0ZXIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IEExMTVEQzZFMTkxRDgyQUIwMERBODA3MiAvKiBfV0tXZWJWaWV3
UHJpbnRGb3JtYXR0ZXIuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCAp
OyB9OyB9OwogCQlBMTE4QTlFRjE5MDdBRDZGMDBGN0M5MkIgLyogUXVpY2tMb29rRG9jdW1lbnRE
YXRhLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBMTE4
QTlFRDE5MDdBRDZGMDBGN0M5MkIgLyogUXVpY2tMb29rRG9jdW1lbnREYXRhLmggKi87IH07Ci0J
CUExMThBOUYyMTkwOEI4RUEwMEY3QzkyQiAvKiBfV0tOU0ZpbGVNYW5hZ2VyRXh0cmFzLm1tIGlu
IFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQTExOEE5RjAxOTA4
QjhFQTAwRjdDOTJCIC8qIF9XS05TRmlsZU1hbmFnZXJFeHRyYXMubW0gKi87IH07CiAJCUExMThB
OUYzMTkwOEI4RUEwMEY3QzkyQiAvKiBfV0tOU0ZpbGVNYW5hZ2VyRXh0cmFzLmggaW4gSGVhZGVy
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBMTE4QTlGMTE5MDhCOEVBMDBG
N0M5MkIgLyogX1dLTlNGaWxlTWFuYWdlckV4dHJhcy5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJV
VEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCUExM0IzREEyMjA3RjM5REUwMDkwQzU4RCAvKiBN
b2JpbGVXaUZpU1BJLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSBBMTNCM0RBMTIwN0YzOURFMDA5MEM1OEQgLyogTW9iaWxlV2lGaVNQSS5oICovOyB9Owog
CQlBMTNEQzY4MjIwN0FBNkIyMDA2NkVGNzIgLyogV0tBcHBsaWNhdGlvblN0YXRlVHJhY2tpbmdW
aWV3LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBMTNE
QzY4MDIwN0FBNkIyMDA2NkVGNzIgLyogV0tBcHBsaWNhdGlvblN0YXRlVHJhY2tpbmdWaWV3Lmgg
Ki87IH07CkBAIC0xMzM1LDcgKzEyNTEsNiBAQAogCQlBMTgyRDVCNTFCRTZCRDI1MDA4N0E3Q0Mg
LyogQWNjZXNzaWJpbGl0eUlPUy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gQTE4MkQ1QjMxQkU2QkQyNTAwODdBN0NDIC8qIEFjY2Vzc2liaWxpdHlJT1Mu
aCAqLzsgfTsKIAkJQTE5REQzQzAxRDA3RDE2ODAwQUM4MjNCIC8qIF9XS1dlYlZpZXdQcmludEZv
cm1hdHRlckludGVybmFsLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSBBMTlERDNCRjFEMDdEMTY4MDBBQzgyM0IgLyogX1dLV2ViVmlld1ByaW50Rm9ybWF0
dGVySW50ZXJuYWwuaCAqLzsgfTsKIAkJQTFBNEZFNUExOERDRTlGQTAwQjVFQThBIC8qIF9XS0Rv
d25sb2FkLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBB
MUE0RkU1NzE4RENFOUZBMDBCNUVBOEEgLyogX1dLRG93bmxvYWQuaCAqLzsgc2V0dGluZ3MgPSB7
QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwotCQlBMUE0RkU1QjE4RENFOUZBMDBCNUVB
OEEgLyogX1dLRG93bmxvYWQubW0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSBBMUE0RkU1ODE4RENFOUZBMDBCNUVBOEEgLyogX1dLRG93bmxvYWQubW0gKi87
IH07CiAJCUExQTRGRTVDMThEQ0U5RkEwMEI1RUE4QSAvKiBfV0tEb3dubG9hZEludGVybmFsLmgg
aW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBMUE0RkU1OTE4
RENFOUZBMDBCNUVBOEEgLyogX1dLRG93bmxvYWRJbnRlcm5hbC5oICovOyB9OwogCQlBMUE0RkU2
MTE4REQ1NEE0MDBCNUVBOEEgLyogX1dLRG93bmxvYWREZWxlZ2F0ZS5oIGluIEhlYWRlcnMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQTFBNEZFNjAxOERENTRBNDAwQjVFQThB
IC8qIF9XS0Rvd25sb2FkRGVsZWdhdGUuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQ
cml2YXRlLCApOyB9OyB9OwogCQlBMUM1MTJDOTE5MDY1NkU1MDA0NDg5MTQgLyogV2ViUHJldmll
d0xvYWRlckNsaWVudC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gQTFDNTEyQzcxOTA2NTZFNTAwNDQ4OTE0IC8qIFdlYlByZXZpZXdMb2FkZXJDbGllbnQu
aCAqLzsgfTsKQEAgLTEzNDgsNyArMTI2Myw2IEBACiAJCUE1MThCNUQyMUZFMUQ1NUIwMEY5RkEy
OCAvKiBXS0luc3BlY3RvcldLV2ViVmlldy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gQTUxOEI1RDAxRkUxRDU1QjAwRjlGQTI4IC8qIFdLSW5zcGVjdG9y
V0tXZWJWaWV3LmggKi87IH07CiAJCUE1NDI5M0E0MTk1QTQzREEwMDI3ODJDNyAvKiBXS0luc3Bl
Y3Rvck5vZGVTZWFyY2hHZXN0dXJlUmVjb2duaXplci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQTU0MjkzQTIxOTVBNDNDNjAwMjc4MkM3IC8qIFdLSW5z
cGVjdG9yTm9kZVNlYXJjaEdlc3R1cmVSZWNvZ25pemVyLmggKi87IH07CiAJCUE1NUJBODEwMUJB
MTMxN0UwMDdDRDMzRCAvKiBfV0tSZW1vdGVXZWJJbnNwZWN0b3JWaWV3Q29udHJvbGxlci5oIGlu
IEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQTU1QkE4MEMxQkEx
MkJFMTAwN0NEMzNEIC8qIF9XS1JlbW90ZVdlYkluc3BlY3RvclZpZXdDb250cm9sbGVyLmggKi87
IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKLQkJQTU1QkE4MTEx
QkExMzE4MTAwN0NEMzNEIC8qIF9XS1JlbW90ZVdlYkluc3BlY3RvclZpZXdDb250cm9sbGVyLm1t
IGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQTU1QkE4MEQx
QkExMkJFMTAwN0NEMzNEIC8qIF9XS1JlbW90ZVdlYkluc3BlY3RvclZpZXdDb250cm9sbGVyLm1t
ICovOyB9OwogCQlBNTVCQTgxNzFCQTIzRTEyMDA3Q0QzM0QgLyogUmVtb3RlV2ViSW5zcGVjdG9y
VUkuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEE1NUJB
ODEzMUJBMjNFMDUwMDdDRDMzRCAvKiBSZW1vdGVXZWJJbnNwZWN0b3JVSS5oICovOyB9OwogCQlB
NTVCQTgxRjFCQTI1QjI3MDA3Q0QzM0QgLyogUmVtb3RlV2ViSW5zcGVjdG9yUHJveHkuaCBpbiBI
ZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEE1NUJBODE5MUJBMjVC
MUUwMDdDRDMzRCAvKiBSZW1vdGVXZWJJbnNwZWN0b3JQcm94eS5oICovOyB9OwogCQlBNTVCQTgy
NTFCQTI1Q0ZCMDA3Q0QzM0QgLyogUmVtb3RlV2ViSW5zcGVjdG9yUHJveHlNZXNzYWdlcy5oIGlu
IEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQTU1QkE4MjIxQkEy
NUJCODAwN0NEMzNEIC8qIFJlbW90ZVdlYkluc3BlY3RvclByb3h5TWVzc2FnZXMuaCAqLzsgfTsK
QEAgLTEzNTcsNyArMTI3MSw2IEBACiAJCUE1NUJBODM1MUJBM0U3MEEwMDdDRDMzRCAvKiBXZWJJ
bnNwZWN0b3JGcm9udGVuZEFQSURpc3BhdGNoZXIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEE1NUJBODMzMUJBM0U2RkEwMDdDRDMzRCAvKiBXZWJJbnNw
ZWN0b3JGcm9udGVuZEFQSURpc3BhdGNoZXIuaCAqLzsgfTsKIAkJQTU4QjZGMDgxOEZDQTczMzAw
OENCQTUzIC8qIFdLRmlsZVVwbG9hZFBhbmVsLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSBBNThCNkYwNjE4RkNBNzMzMDA4Q0JBNTMgLyogV0tGaWxlVXBs
b2FkUGFuZWwuaCAqLzsgfTsKIAkJQTVDMEYwQTcyMDAwNjU0RDAwNTM2NTM2IC8qIF9XS05TV2lu
ZG93RXh0cmFzLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSBBNUMwRjBBNjIwMDA2NTQ0MDA1MzY1MzYgLyogX1dLTlNXaW5kb3dFeHRyYXMuaCAqLzsgc2V0
dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwotCQlBNUMwRjBBODIwMDA2
NTUxMDA1MzY1MzYgLyogX1dLTlNXaW5kb3dFeHRyYXMubW0gaW4gU291cmNlcyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBNUMwRjBBNTIwMDA2NTQ0MDA1MzY1MzYgLyogX1dL
TlNXaW5kb3dFeHRyYXMubW0gKi87IH07CiAJCUE1QzBGMEFCMjAwMDY1ODIwMDUzNjUzNiAvKiBX
S0luc3BlY3RvcldpbmRvdy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gQTVDMEYwQUEyMDAwNjU2RTAwNTM2NTM2IC8qIFdLSW5zcGVjdG9yV2luZG93Lmgg
Ki87IH07CiAJCUE1RUZEMzhDMTZCMEU4OEMwMEIyRjBFOCAvKiBXS1BhZ2VWaXNpYmlsaXR5VHlw
ZXMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEE1RUZE
MzhCMTZCMEU4OEMwMEIyRjBFOCAvKiBXS1BhZ2VWaXNpYmlsaXR5VHlwZXMuaCAqLzsgc2V0dGlu
Z3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQlBNzhDQ0REQTE5M0FDOUY0
MDA1RUNDMjUgLyogY29tLmFwcGxlLldlYktpdC5TdG9yYWdlLnNiIGluIENvcHlGaWxlcyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBNzhDQ0RENzE5M0FDOUUzMDA1RUNDMjUg
LyogY29tLmFwcGxlLldlYktpdC5TdG9yYWdlLnNiICovOyB9OwpAQCAtMTQ5Miw3ICsxNDA1LDYg
QEAKIAkJQkM4NTdGQjUxMkI4MzBFNjAwRURFQjJFIC8qIEFQSU9wZW5QYW5lbFBhcmFtZXRlcnMu
aCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEJDODU3RkIz
MTJCODMwRTYwMEVERUIyRSAvKiBBUElPcGVuUGFuZWxQYXJhbWV0ZXJzLmggKi87IH07CiAJCUJD
ODU3RkU2MTJCODQzRDgwMEVERUIyRSAvKiBXS09wZW5QYW5lbFBhcmFtZXRlcnNSZWYuaCBpbiBI
ZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEJDODU3RkU0MTJCODQz
RDgwMEVERUIyRSAvKiBXS09wZW5QYW5lbFBhcmFtZXRlcnNSZWYuaCAqLzsgc2V0dGluZ3MgPSB7
QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQlCQzg2OTlCNTExNkFBREFBMDAyQTky
NUIgLyogV0tWaWV3LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSBCQzg2OTlCMjExNkFBREFBMDAyQTkyNUIgLyogV0tWaWV3LmggKi87IHNldHRpbmdzID0g
e0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKLQkJQkM4Njk5QjYxMTZBQURBQTAwMkE5
MjVCIC8qIFdLVmlldy5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IEJDODY5OUIzMTE2QUFEQUEwMDJBOTI1QiAvKiBXS1ZpZXcubW0gKi87IH07CiAJCUJD
ODY5OUI3MTE2QUFEQUEwMDJBOTI1QiAvKiBXS1ZpZXdJbnRlcm5hbC5oIGluIEhlYWRlcnMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQkM4Njk5QjQxMTZBQURBQTAwMkE5MjVC
IC8qIFdLVmlld0ludGVybmFsLmggKi87IH07CiAJCUJDOEE1MDE1MTE3NjVGNTYwMDc1NzU3MyAv
KiBXS1JldGFpblB0ci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gQkM4QTUwMTQxMTc2NUY1NjAwNzU3NTczIC8qIFdLUmV0YWluUHRyLmggKi87IHNldHRp
bmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJQkM4QUNBMTMxNjY3MEQ4
OTAwNEMxOTQxIC8qIE9iakNPYmplY3RHcmFwaC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gQkM4QUNBMEYxNjY3MEQ3QTAwNEMxOTQxIC8qIE9iakNPYmpl
Y3RHcmFwaC5oICovOyB9OwpAQCAtMTUwNyw3ICsxNDE5LDYgQEAKIAkJQkM5RkE1MjAxNjBEM0I0
MzAwNTRERjlBIC8qIEZvdW5kYXRpb24uZnJhbWV3b3JrIGluIEZyYW1ld29ya3MgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQkMzREU0NjgxNUE5MTc2MzAwOEQyNkZDIC8qIEZv
dW5kYXRpb24uZnJhbWV3b3JrICovOyB9OwogCQlCQ0EwRUY3RjEyMzMxRTc4MDA3RDNDRkIgLyog
V2ViVW5kb1N0ZXAuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IEJDQTBFRjdEMTIzMzFFNzgwMDdEM0NGQiAvKiBXZWJVbmRvU3RlcC5oICovOyB9OwogCQlC
Q0EwRUY5RjEyMzMyNjQyMDA3RDNDRkIgLyogV2ViRWRpdENvbW1hbmRQcm94eS5oIGluIEhlYWRl
cnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQkNBMEVGOUQxMjMzMjY0MjAw
N0QzQ0ZCIC8qIFdlYkVkaXRDb21tYW5kUHJveHkuaCAqLzsgfTsKLQkJQkNBMjg0RDYxNDkyRjJD
NzAwMUY5MDQyIC8qIFdLQ29ubmVjdGlvbi5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IEJDQTI4NEQ0MTQ5MkYyQzcwMDFGOTA0MiAvKiBXS0Nvbm5lY3Rp
b24ubW0gKi87IH07CiAJCUJDQTI4NEQ3MTQ5MkYyQzcwMDFGOTA0MiAvKiBXS0Nvbm5lY3Rpb24u
aCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEJDQTI4NEQ1
MTQ5MkYyQzcwMDFGOTA0MiAvKiBXS0Nvbm5lY3Rpb24uaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklC
VVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQlCQ0E4QzZBOTExRTNCQTVGMDA4MTJGQjcgLyog
SW5qZWN0ZWRCdW5kbGVQYWdlTG9hZGVyQ2xpZW50LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBCQ0E4QzZBNzExRTNCQTVGMDA4MTJGQjcgLyogSW5qZWN0
ZWRCdW5kbGVQYWdlTG9hZGVyQ2xpZW50LmggKi87IH07CiAJCUJDQThDNkIwMTFFM0MwODcwMDgx
MkZCNyAvKiBJbmplY3RlZEJ1bmRsZVBhZ2VVSUNsaWVudC5oIGluIEhlYWRlcnMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQkNBOEM2QUUxMUUzQzA4NzAwODEyRkI3IC8qIElu
amVjdGVkQnVuZGxlUGFnZVVJQ2xpZW50LmggKi87IH07CkBAIC0xNTE3LDE0ICsxNDI4LDExIEBA
CiAJCUJDQjlFMjRCMTEyMEUxNUMwMEExMzdFMCAvKiBXS0NvbnRleHQuaCBpbiBIZWFkZXJzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEJDQjlFMjQ5MTEyMEUxNUMwMEExMzdF
MCAvKiBXS0NvbnRleHQuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCAp
OyB9OyB9OwogCQlCQ0I5RjZBMDExMjNBODRCMDBBMTM3RTAgLyogV2ViRnJhbWVQb2xpY3lMaXN0
ZW5lclByb3h5LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSBCQ0I5RjY5RTExMjNBODRCMDBBMTM3RTAgLyogV2ViRnJhbWVQb2xpY3lMaXN0ZW5lclByb3h5
LmggKi87IH07CiAJCUJDQjlGNkE1MTEyM0REMEQwMEExMzdFMCAvKiBXS0ZyYW1lUG9saWN5TGlz
dGVuZXIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEJD
QjlGNkEzMTEyM0REMEQwMEExMzdFMCAvKiBXS0ZyYW1lUG9saWN5TGlzdGVuZXIuaCAqLzsgc2V0
dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwotCQlCQ0JBQUM3MjE0NEU2
MTk5MDA1M0Y4MkYgLyogV0tCcm93c2luZ0NvbnRleHRDb250cm9sbGVyLm1tIGluIFNvdXJjZXMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQkNCQUFDNkQxNDRFNjE5MjAwNTNG
ODJGIC8qIFdLQnJvd3NpbmdDb250ZXh0Q29udHJvbGxlci5tbSAqLzsgfTsKIAkJQkNCQUFDNzMx
NDRFNjE5RTAwNTNGODJGIC8qIFdLQnJvd3NpbmdDb250ZXh0Q29udHJvbGxlci5oIGluIEhlYWRl
cnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQkNCQUFDNkMxNDRFNjE5MTAw
NTNGODJGIC8qIFdLQnJvd3NpbmdDb250ZXh0Q29udHJvbGxlci5oICovOyBzZXR0aW5ncyA9IHtB
VFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCUJDQkFBQzc0MTQ0RTYxQTUwMDUzRjgy
RiAvKiBXS0Jyb3dzaW5nQ29udGV4dENvbnRyb2xsZXJJbnRlcm5hbC5oIGluIEhlYWRlcnMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQkNCQUFDNkUxNDRFNjE5MjAwNTNGODJG
IC8qIFdLQnJvd3NpbmdDb250ZXh0Q29udHJvbGxlckludGVybmFsLmggKi87IHNldHRpbmdzID0g
e0FUVFJJQlVURVMgPSAoKTsgfTsgfTsKIAkJQkNCQUFDRUIxNDUyMjVFMzAwNTNGODJGIC8qIFdL
UHJvY2Vzc0dyb3VwLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSBCQ0JBQUNFNTE0NTIyNUM5MDA1M0Y4MkYgLyogV0tQcm9jZXNzR3JvdXAuaCAqLzsgc2V0
dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwotCQlCQ0JBQUNFQzE0NTIy
NUUzMDA1M0Y4MkYgLyogV0tQcm9jZXNzR3JvdXAubW0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBCQ0JBQUNFNjE0NTIyNUNBMDA1M0Y4MkYgLyogV0tQcm9j
ZXNzR3JvdXAubW0gKi87IH07CiAJCUJDQkFBQ0VEMTQ1MjI1RTMwMDUzRjgyRiAvKiBXS1Byb2Nl
c3NHcm91cFByaXZhdGUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IEJDQkFBQ0U3MTQ1MjI1Q0IwMDUzRjgyRiAvKiBXS1Byb2Nlc3NHcm91cFByaXZhdGUu
aCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQlCQ0JB
QUNGNDE0NTIzMjRGMDA1M0Y4MkYgLyogV0tCcm93c2luZ0NvbnRleHRHcm91cC5oIGluIEhlYWRl
cnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQkNCQUFDRUUxNDUyMzI0MzAw
NTNGODJGIC8qIFdLQnJvd3NpbmdDb250ZXh0R3JvdXAuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklC
VVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwotCQlCQ0JBQUNGNTE0NTIzMjRGMDA1M0Y4MkYgLyog
V0tCcm93c2luZ0NvbnRleHRHcm91cC5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IEJDQkFBQ0VGMTQ1MjMyNDQwMDUzRjgyRiAvKiBXS0Jyb3dzaW5nQ29u
dGV4dEdyb3VwLm1tICovOyB9OwogCQlCQ0JBQUNGNjE0NTIzMjRGMDA1M0Y4MkYgLyogV0tCcm93
c2luZ0NvbnRleHRHcm91cFByaXZhdGUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IEJDQkFBQ0YwMTQ1MjMyNDgwMDUzRjgyRiAvKiBXS0Jyb3dzaW5nQ29u
dGV4dEdyb3VwUHJpdmF0ZS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUs
ICk7IH07IH07CiAJCUJDQkFBRDBCMTQ1NjBBNDMwMDUzRjgyRiAvKiBXS0Jyb3dzaW5nQ29udGV4
dExvYWREZWxlZ2F0ZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gQkNCQUFEMEExNDU2MEE0MzAwNTNGODJGIC8qIFdLQnJvd3NpbmdDb250ZXh0TG9hZERl
bGVnYXRlLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsK
IAkJQkNCRDM5MTQxMjVCQjFBODAwRDJDMjlGIC8qIFdlYlBhZ2VQcm94eU1lc3NhZ2VSZWNlaXZl
ci5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBCQ0JE
MzkxMjEyNUJCMUE4MDBEMkMyOUYgLyogV2ViUGFnZVByb3h5TWVzc2FnZVJlY2VpdmVyLmNwcCAq
LzsgfTsKQEAgLTE2NzcsOSArMTU4NSw3IEBACiAJCUVDQTY4MEQ4MUU2OTBFMjUwMDczMUQyMCAv
KiBXZWJQcm9jZXNzQ29jb2EuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IEVDQTY4MEQ3MUU2OTBERjgwMDczMUQyMCAvKiBXZWJQcm9jZXNzQ29jb2EuaCAq
Lzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQlFRDgyQTdG
MjEyOEM2RkFGMDA0NDc3QjMgLyogV0tCdW5kbGVQYWdlT3ZlcmxheS5oIGluIEhlYWRlcnMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMUEyMkYwRkYxMjg5RkNEOTAwODVFNzRG
IC8qIFdLQnVuZGxlUGFnZU92ZXJsYXkuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQ
cml2YXRlLCApOyB9OyB9OwogCQlGNDA5QkExODFFNkU2NEJDMDA5REEyOEUgLyogV0tEcmFnRGVz
dGluYXRpb25BY3Rpb24uaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IEY0MDlCQTE3MUU2RTY0QjMwMDlEQTI4RSAvKiBXS0RyYWdEZXN0aW5hdGlvbkFjdGlv
bi5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07Ci0JCUY0
MTA1NjYzMjEzMDY5OUEwMDkyMjgxRCAvKiBBUElBdHRhY2htZW50Q29jb2EubW0gaW4gU291cmNl
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBGNDEwNTY2MTIxMzA2OTlBMDA5
MjI4MUQgLyogQVBJQXR0YWNobWVudENvY29hLm1tICovOyB9OwogCQlGNDQyOTE5MjFGQTU5MUM5
MDAyQ0M5M0UgLyogX1dLQXR0YWNobWVudC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gRjQ0MjkxOTExRkE1OTEwNzAwMkNDOTNFIC8qIF9XS0F0dGFjaG1l
bnQuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwotCQlG
NDQyOTE5NDFGQTU5MzExMDAyQ0M5M0UgLyogX1dLQXR0YWNobWVudC5tbSBpbiBTb3VyY2VzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEY0NDI5MTkzMUZBNTkzMTEwMDJDQzkz
RSAvKiBfV0tBdHRhY2htZW50Lm1tICovOyB9OwogCQlGNDQyOTE5NjFGQTU5NDJBMDAyQ0M5M0Ug
LyogX1dLQXR0YWNobWVudEludGVybmFsLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSBGNDQyOTE5NTFGQTU5NDJBMDAyQ0M5M0UgLyogX1dLQXR0YWNobWVu
dEludGVybmFsLmggKi87IH07CiAJCUY0NERGRUIyMUU5RTc1MkYwMDM4RDE5NiAvKiBXZWJJY29u
VXRpbGl0aWVzLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSBGNDRERkVCMDFFOUU3NTJGMDAzOEQxOTYgLyogV2ViSWNvblV0aWxpdGllcy5oICovOyB9Owog
CQlGNDk2QTQzMTFGNThBMjcyMDA0QzE3NTcgLyogRHJhZ0Ryb3BJbnRlcmFjdGlvblN0YXRlLmgg
aW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBGNDk2QTQyRjFG
NThBMjcyMDA0QzE3NTcgLyogRHJhZ0Ryb3BJbnRlcmFjdGlvblN0YXRlLmggKi87IH07CkBAIC0x
Njg4LDcgKzE1OTQsNiBAQAogCQlGNjExM0UyNTEyNkNFMTgyMDA1N0QwQTcgLyogQVBJVXNlckNv
bnRlbnRVUkxQYXR0ZXJuLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSBGNjExM0UyNDEyNkNFMTgyMDA1N0QwQTcgLyogQVBJVXNlckNvbnRlbnRVUkxQYXR0
ZXJuLmggKi87IH07CiAJCUY2MTEzRTI5MTI2Q0UxOUIwMDU3RDBBNyAvKiBXS1VzZXJDb250ZW50
VVJMUGF0dGVybi5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gRjYxMTNFMjcxMjZDRTE5QjAwNTdEMEE3IC8qIFdLVXNlckNvbnRlbnRVUkxQYXR0ZXJuLmgg
Ki87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJRjYzNDQ0
NTYxMkE4ODVDODAwMDYxMkQ4IC8qIEFQSVNlY3VyaXR5T3JpZ2luLmggaW4gSGVhZGVycyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBGNjM0NDQ1NTEyQTg4NUM4MDAwNjEyRDgg
LyogQVBJU2VjdXJpdHlPcmlnaW4uaCAqLzsgfTsKLQkJRkVEM0MxREMxQjQ0N0VBQzAwRTBFQjdG
IC8qIEFQSVNlcmlhbGl6ZWRTY3JpcHRWYWx1ZUNvY29hLm1tIGluIFNvdXJjZXMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRkVEM0MxREExQjQ0N0FFODAwRTBFQjdGIC8qIEFQ
SVNlcmlhbGl6ZWRTY3JpcHRWYWx1ZUNvY29hLm1tICovOyB9OwogCQlGRURCRENENjFFNjhEMjAw
MDBBNTlGOEYgLyogV2ViSW5zcGVjdG9ySW50ZXJydXB0RGlzcGF0Y2hlck1lc3NhZ2VSZWNlaXZl
ci5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBGRURC
RENENDFFNjhEMTlDMDBBNTlGOEYgLyogV2ViSW5zcGVjdG9ySW50ZXJydXB0RGlzcGF0Y2hlck1l
c3NhZ2VSZWNlaXZlci5jcHAgKi87IH07CiAJCUZFREJEQ0Q3MUU2OEQyMDUwMEE1OUY4RiAvKiBX
ZWJJbnNwZWN0b3JJbnRlcnJ1cHREaXNwYXRjaGVyTWVzc2FnZXMuaCBpbiBIZWFkZXJzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEZFREJEQ0Q1MUU2OEQxOUMwMEE1OUY4RiAv
KiBXZWJJbnNwZWN0b3JJbnRlcnJ1cHREaXNwYXRjaGVyTWVzc2FnZXMuaCAqLzsgfTsKIAkJRkVF
NDNGRDMxRTY3QjAxODAwNzdENkQxIC8qIFdlYkluc3BlY3RvckludGVycnVwdERpc3BhdGNoZXIu
aCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEZFRTQzRkQx
MUU2N0FGQzYwMDc3RDZEMSAvKiBXZWJJbnNwZWN0b3JJbnRlcnJ1cHREaXNwYXRjaGVyLmggKi87
IH07CkBAIC0xMDcxMSw0NCArMTA2MTYsNyBAQAogCQkJaXNhID0gUEJYU291cmNlc0J1aWxkUGhh
c2U7CiAJCQlidWlsZEFjdGlvbk1hc2sgPSAyMTQ3NDgzNjQ3OwogCQkJZmlsZXMgPSAoCi0JCQkJ
MzdBNUUwMTMxOEJCRjkzNzAwMEEwODFFIC8qIF9XS0FjdGl2YXRlZEVsZW1lbnRJbmZvLm1tIGlu
IFNvdXJjZXMgKi8sCi0JCQkJNjMxMDhGOTcxRjk2NzE5QzAwQTBEQjg0IC8qIF9XS0FwcGxpY2F0
aW9uTWFuaWZlc3QubW0gaW4gU291cmNlcyAqLywKLQkJCQlGNDQyOTE5NDFGQTU5MzExMDAyQ0M5
M0UgLyogX1dLQXR0YWNobWVudC5tbSBpbiBTb3VyY2VzICovLAotCQkJCTk5MEQyOEIyMUM2NTIw
OTQwMDk4Njk3NyAvKiBfV0tBdXRvbWF0aW9uU2Vzc2lvbi5tbSBpbiBTb3VyY2VzICovLAotCQkJ
CTk5Nzg4QUNDMUY0MjFERTIwMEMwODAwMCAvKiBfV0tBdXRvbWF0aW9uU2Vzc2lvbkNvbmZpZ3Vy
YXRpb24ubW0gaW4gU291cmNlcyAqLywKLQkJCQkxQTU3MDRGNzFCRTAxRkY0MDA4NzRBRjEgLyog
X1dLQ29udGV4dE1lbnVFbGVtZW50SW5mby5tbSBpbiBTb3VyY2VzICovLAotCQkJCUExQTRGRTVC
MThEQ0U5RkEwMEI1RUE4QSAvKiBfV0tEb3dubG9hZC5tbSBpbiBTb3VyY2VzICovLAotCQkJCTM3
OUE4NzM5MThCQkZFMEYwMDU4OEFGMiAvKiBfV0tFbGVtZW50QWN0aW9uLm1tIGluIFNvdXJjZXMg
Ki8sCi0JCQkJMUFEMDFCQzgxOTA1RDM3RTAwQzlDNDVGIC8qIF9XS0Vycm9yUmVjb3ZlcnlBdHRl
bXB0aW5nLm1tIGluIFNvdXJjZXMgKi8sCi0JCQkJMzE3RkU3Q0UxQzQ4N0RCODAwQTBDQTg5IC8q
IF9XS0V4cGVyaW1lbnRhbEZlYXR1cmUubW0gaW4gU291cmNlcyAqLywKLQkJCQkzNzNEMTIyMjE4
QTQ3MzAxMDA2NkQ5Q0MgLyogX1dLRnJhbWVIYW5kbGUubW0gaW4gU291cmNlcyAqLywKLQkJCQk2
M0MzMkMyNTFFOTgxMEQ5MDA2OTlCRDAgLyogX1dLR2VvbG9jYXRpb25Qb3NpdGlvbi5tbSBpbiBT
b3VyY2VzICovLAotCQkJCTkzQTg4QjM5MUJDNzBGM0YwMEFCQTVDMiAvKiBfV0tIaXRUZXN0UmVz
dWx0Lm1tIGluIFNvdXJjZXMgKi8sCi0JCQkJNUNBRkRFNDYyMTMwODQ2ODAwQjFGN0UxIC8qIF9X
S0luc3BlY3Rvci5tbSBpbiBTb3VyY2VzICovLAotCQkJCTUxMEY1OTEyMURERTI5NzcwMDQxMkZG
NSAvKiBfV0tMaW5rSWNvblBhcmFtZXRlcnMubW0gaW4gU291cmNlcyAqLywKLQkJCQlBMTE4QTlG
MjE5MDhCOEVBMDBGN0M5MkIgLyogX1dLTlNGaWxlTWFuYWdlckV4dHJhcy5tbSBpbiBTb3VyY2Vz
ICovLAotCQkJCUE1QzBGMEE4MjAwMDY1NTEwMDUzNjUzNiAvKiBfV0tOU1dpbmRvd0V4dHJhcy5t
bSBpbiBTb3VyY2VzICovLAotCQkJCTFBNDNFODI5MTg4RjNDREMwMDlFNEQzMCAvKiBfV0tQcm9j
ZXNzUG9vbENvbmZpZ3VyYXRpb24ubW0gaW4gU291cmNlcyAqLywKLQkJCQkxQTlFMzI4RTE4MjE2
NUE5MDBGNUQwNEMgLyogX1dLUmVtb3RlT2JqZWN0SW50ZXJmYWNlLm1tIGluIFNvdXJjZXMgKi8s
Ci0JCQkJMUE5RTMyOEExODIxNjM2OTAwRjVEMDRDIC8qIF9XS1JlbW90ZU9iamVjdFJlZ2lzdHJ5
Lm1tIGluIFNvdXJjZXMgKi8sCi0JCQkJQTU1QkE4MTExQkExMzE4MTAwN0NEMzNEIC8qIF9XS1Jl
bW90ZVdlYkluc3BlY3RvclZpZXdDb250cm9sbGVyLm1tIGluIFNvdXJjZXMgKi8sCi0JCQkJMUEw
MDJENDUxOTZCMzM4RTAwQjlBRDQ0IC8qIF9XS1Nlc3Npb25TdGF0ZS5tbSBpbiBTb3VyY2VzICov
LAotCQkJCTJENkIzNzFDMThBOTY3QUQwMDQyQUU4MCAvKiBfV0tUaHVtYm5haWxWaWV3Lm1tIGlu
IFNvdXJjZXMgKi8sCi0JCQkJN0MyNDEzMDIxQUFDRkE3NTAwQTU4QzE1IC8qIF9XS1VzZXJDb250
ZW50RXh0ZW5zaW9uU3RvcmUubW0gaW4gU291cmNlcyAqLywKLQkJCQk3Qzg5RDJCOTFBNkIwRjJD
MDAzQTVGREUgLyogX1dLVXNlckNvbnRlbnRGaWx0ZXIubW0gaW4gU291cmNlcyAqLywKLQkJCQk3
Qzg4MkRGODFDN0U5OTZDMDA2QkY3MzEgLyogX1dLVXNlckNvbnRlbnRXb3JsZC5tbSBpbiBTb3Vy
Y2VzICovLAotCQkJCTdDQjM2NUFCMUQzMURCNzAwMDcxNThDQSAvKiBfV0tVc2VySW5pdGlhdGVk
QWN0aW9uLm1tIGluIFNvdXJjZXMgKi8sCi0JCQkJMkQ4Nzg2MUUxQkRCNTRCRjAwRDAyQUJCIC8q
IF9XS1VzZXJTdHlsZVNoZWV0Lm1tIGluIFNvdXJjZXMgKi8sCi0JCQkJMUE4MUIzODAxOEJENjZB
RDAwMDdGREFDIC8qIF9XS1Zpc2l0ZWRMaW5rU3RvcmUubW0gaW4gU291cmNlcyAqLywKLQkJCQkx
QUUyODY3NzFDN0U3NjUxMDA2OUFDNEYgLyogX1dLV2Vic2l0ZURhdGFTaXplLm1tIGluIFNvdXJj
ZXMgKi8sCi0JCQkJMUFGQjRDNzExQURGMTU1RDAwQjMzMzM5IC8qIF9XS1dlYnNpdGVEYXRhU3Rv
cmUubW0gaW4gU291cmNlcyAqLywKLQkJCQk1MTIwQzgzNjFFNUI3NEJFMDAyNUIyNTAgLyogX1dL
V2Vic2l0ZURhdGFTdG9yZUNvbmZpZ3VyYXRpb24ubW0gaW4gU291cmNlcyAqLywKLQkJCQk1Q0Iy
Mzc4QjFERjBERTUzMDAxMTdBQTMgLyogX1dLV2Vic2l0ZVBvbGljaWVzLm1tIGluIFNvdXJjZXMg
Ki8sCiAJCQkJMkQ5MkE3ODQyMTJCNkFCMTAwRjQ5M0ZEIC8qIEFjdGl2aXR5QXNzZXJ0aW9uLmNw
cCBpbiBTb3VyY2VzICovLAotCQkJCUY0MTA1NjYzMjEzMDY5OUEwMDkyMjgxRCAvKiBBUElBdHRh
Y2htZW50Q29jb2EubW0gaW4gU291cmNlcyAqLywKLQkJCQk3Q0VGQTk2MjFBQzA5OTkzMDBCOTEw
RkQgLyogQVBJQ29udGVudFJ1bGVMaXN0U3RvcmVDb2NvYS5tbSBpbiBTb3VyY2VzICovLAotCQkJ
CUZFRDNDMURDMUI0NDdFQUMwMEUwRUI3RiAvKiBBUElTZXJpYWxpemVkU2NyaXB0VmFsdWVDb2Nv
YS5tbSBpbiBTb3VyY2VzICovLAotCQkJCTFBMzYzNUFEMUEzMTQ1RTUwMEVENjE5NyAvKiBBUElX
ZWJzaXRlRGF0YVN0b3JlQ29jb2EubW0gaW4gU291cmNlcyAqLywKIAkJCQkyRDkyQTc3QjIxMkI2
QTcxMDBGNDkzRkQgLyogQXJndW1lbnRDb2RlcnMuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMkRF
QjFEMkUyMTI3NDczNjAwOTMzOTA2IC8qIEFyZ3VtZW50Q29kZXJzQ0YuY3BwIGluIFNvdXJjZXMg
Ki8sCiAJCQkJMkQ5MkE3N0MyMTJCNkE3MTAwRjQ5M0ZEIC8qIEF0dGFjaG1lbnQuY3BwIGluIFNv
dXJjZXMgKi8sCkBAIC0xMDc3MCw3ICsxMDYzOCw2IEBACiAJCQkJMUFBNTc2MDIxNDk2Qjk3OTAw
QTRFRTA2IC8qIEV2ZW50RGlzcGF0Y2hlck1lc3NhZ2VSZWNlaXZlci5jcHAgaW4gU291cmNlcyAq
LywKIAkJCQkyRDkxMzQ0MTIxMkNGOUYwMDAxMjhBRkQgLyogSlNOUE1ldGhvZC5jcHAgaW4gU291
cmNlcyAqLywKIAkJCQkyRDkxMzQ0MjIxMkNGOUYwMDAxMjhBRkQgLyogSlNOUE9iamVjdC5jcHAg
aW4gU291cmNlcyAqLywKLQkJCQkxQUZERTY0NTE5NTEwQjU1MDBDNDhGRkEgLyogTGVnYWN5QnVu
ZGxlRm9yQ2xhc3MubW0gaW4gU291cmNlcyAqLywKIAkJCQkyOTg0RjU4ODE2NEJBMDk1MDA0QkMw
QzYgLyogTGVnYWN5Q3VzdG9tUHJvdG9jb2xNYW5hZ2VyTWVzc2FnZVJlY2VpdmVyLmNwcCBpbiBT
b3VyY2VzICovLAogCQkJCTI5ODRGNTdDMTY0QjkxNUYwMDRCQzBDNiAvKiBMZWdhY3lDdXN0b21Q
cm90b2NvbE1hbmFnZXJQcm94eU1lc3NhZ2VSZWNlaXZlci5jcHAgaW4gU291cmNlcyAqLywKIAkJ
CQkyRDkyQTc3OTIxMkI2QTYxMDBGNDkzRkQgLyogTG9nZ2luZy5jcHAgaW4gU291cmNlcyAqLywK
QEAgLTEwODI1LDggKzEwNjkyLDYgQEAKIAkJCQkyRDU0QzMxQjIxMkY0REE2MDA0OUMxNzQgLyog
UHJvY2Vzc0xhdW5jaGVyLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTJENzJBMUZBMjEyQkY0NkUw
MDUxN0EyMCAvKiBSZW1vdGVMYXllclRyZWVEcmF3aW5nQXJlYS5tbSBpbiBTb3VyY2VzICovLAog
CQkJCTBGRjI0QTJEMTg3OUU0QkMwMDNBQkYwQyAvKiBSZW1vdGVMYXllclRyZWVEcmF3aW5nQXJl
YVByb3h5TWVzc2FnZVJlY2VpdmVyLmNwcCBpbiBTb3VyY2VzICovLAotCQkJCTFBNTcwNEZCMUJF
MTc1MTEwMDg3NEFGMSAvKiBSZW1vdGVPYmplY3RJbnZvY2F0aW9uLm1tIGluIFNvdXJjZXMgKi8s
Ci0JCQkJMUFDMTMzN0YxODU5MEFFNDAwRjNFQzA1IC8qIFJlbW90ZU9iamVjdFJlZ2lzdHJ5Lm1t
IGluIFNvdXJjZXMgKi8sCiAJCQkJMUFDMTMzODUxODU5MEM0NjAwRjNFQzA1IC8qIFJlbW90ZU9i
amVjdFJlZ2lzdHJ5TWVzc2FnZVJlY2VpdmVyLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTBGNTk0
N0E3MTg3QjUxNzYwMDQzNzg1NyAvKiBSZW1vdGVTY3JvbGxpbmdDb29yZGluYXRvck1lc3NhZ2VS
ZWNlaXZlci5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlBNTVCQTgyNjFCQTI1Q0ZEMDA3Q0QzM0Qg
LyogUmVtb3RlV2ViSW5zcGVjdG9yUHJveHlNZXNzYWdlUmVjZWl2ZXIuY3BwIGluIFNvdXJjZXMg
Ki8sCkBAIC0xMTA5OCw2NSArMTA5NjMsMTAgQEAKIAkJCQkxQUFGMDhCNzE5MjY5RTZEMDBCNjM5
MEMgLyogV2ViVXNlckNvbnRlbnRDb250cm9sbGVyTWVzc2FnZVJlY2VpdmVyLmNwcCBpbiBTb3Vy
Y2VzICovLAogCQkJCTdDMzYxRDc4MTkyODAzQkQwMDM2QTU5RCAvKiBXZWJVc2VyQ29udGVudENv
bnRyb2xsZXJQcm94eU1lc3NhZ2VSZWNlaXZlci5jcHAgaW4gU291cmNlcyAqLywKIAkJCQkyRDky
QTc4RjIxMkI2QUIxMDBGNDkzRkQgLyogV2ViV2hlZWxFdmVudC5jcHAgaW4gU291cmNlcyAqLywK
LQkJCQkzN0M0QzA4QzE4MTRBQzVDMDAzNjg4QjkgLyogV0tCYWNrRm9yd2FyZExpc3QubW0gaW4g
U291cmNlcyAqLywKLQkJCQkzN0M0QzA4NjE4MTQ5QzVCMDAzNjg4QjkgLyogV0tCYWNrRm9yd2Fy
ZExpc3RJdGVtLm1tIGluIFNvdXJjZXMgKi8sCi0JCQkJQkNCQUFDNzIxNDRFNjE5OTAwNTNGODJG
IC8qIFdLQnJvd3NpbmdDb250ZXh0Q29udHJvbGxlci5tbSBpbiBTb3VyY2VzICovLAotCQkJCUJD
QkFBQ0Y1MTQ1MjMyNEYwMDUzRjgyRiAvKiBXS0Jyb3dzaW5nQ29udGV4dEdyb3VwLm1tIGluIFNv
dXJjZXMgKi8sCi0JCQkJMUFFMDBENEMxODJENkVCMDAwMDg3REQ3IC8qIFdLQnJvd3NpbmdDb250
ZXh0SGFuZGxlLm1tIGluIFNvdXJjZXMgKi8sCi0JCQkJQkNBMjg0RDYxNDkyRjJDNzAwMUY5MDQy
IC8qIFdLQ29ubmVjdGlvbi5tbSBpbiBTb3VyY2VzICovLAotCQkJCTVDRDI4NjUyMUU3MjM1QTYw
MDk0RkRDOCAvKiBXS0NvbnRlbnRSdWxlTGlzdC5tbSBpbiBTb3VyY2VzICovLAotCQkJCTVDRDI4
NjU2MUU3MjM1QzYwMDk0RkRDOCAvKiBXS0NvbnRlbnRSdWxlTGlzdFN0b3JlLm1tIGluIFNvdXJj
ZXMgKi8sCiAJCQkJMkQ5MzExNjkyMTJGNjFCMjAwMDQ0QkZFIC8qIFdLQ29udGVudFZpZXcubW0g
aW4gU291cmNlcyAqLywKIAkJCQkyRDkzMTE2QTIxMkY2MUI1MDAwNDRCRkUgLyogV0tDb250ZW50
Vmlld0ludGVyYWN0aW9uLm1tIGluIFNvdXJjZXMgKi8sCi0JCQkJMkQ5MTM0MzEyMTJDODUzRDAw
MTI4QUZEIC8qIFdLRE9NRG9jdW1lbnQubW0gaW4gU291cmNlcyAqLywKLQkJCQkyRDkxMzQzMjIx
MkM4NTNEMDAxMjhBRkQgLyogV0tET01FbGVtZW50Lm1tIGluIFNvdXJjZXMgKi8sCi0JCQkJMkQ5
MTM0MzMyMTJDODUzRDAwMTI4QUZEIC8qIFdLRE9NSW50ZXJuYWxzLm1tIGluIFNvdXJjZXMgKi8s
Ci0JCQkJMkQ5MTM0MzQyMTJDODUzRDAwMTI4QUZEIC8qIFdLRE9NTm9kZS5tbSBpbiBTb3VyY2Vz
ICovLAotCQkJCTJEOTEzNDM1MjEyQzg1M0QwMDEyOEFGRCAvKiBXS0RPTVJhbmdlLm1tIGluIFNv
dXJjZXMgKi8sCi0JCQkJMkQ5MTM0MzYyMTJDODUzRDAwMTI4QUZEIC8qIFdLRE9NVGV4dC5tbSBp
biBTb3VyY2VzICovLAotCQkJCTJEOTEzNDM3MjEyQzg1M0QwMDEyOEFGRCAvKiBXS0RPTVRleHRJ
dGVyYXRvci5tbSBpbiBTb3VyY2VzICovLAotCQkJCTFBRjQ1OTJFMTk0NjRCMjAwMEY5RDRBMiAv
KiBXS0Vycm9yLm1tIGluIFNvdXJjZXMgKi8sCi0JCQkJMUE0RDY2NEIxOEEzMDMwRTAwRDgyRTIx
IC8qIFdLRnJhbWVJbmZvLm1tIGluIFNvdXJjZXMgKi8sCi0JCQkJNTFEMTI0OTIxRTc0QkY0ODAw
MkIyODIwIC8qIFdLSFRUUENvb2tpZVN0b3JlLm1tIGluIFNvdXJjZXMgKi8sCi0JCQkJMUFCNDBF
RTUxQkY2NzdFMzAwQkE4MUJFIC8qIFdLTWVudUl0ZW1JZGVudGlmaWVycy5tbSBpbiBTb3VyY2Vz
ICovLAotCQkJCTFBNUIxQzUwMTg5ODYwNkYwMDRGQ0Y5QiAvKiBXS05hdmlnYXRpb24ubW0gaW4g
U291cmNlcyAqLywKLQkJCQkxQTI1NkUzNzE4QTFBNzg4MDA2RkI5MjIgLyogV0tOYXZpZ2F0aW9u
QWN0aW9uLm1tIGluIFNvdXJjZXMgKi8sCi0JCQkJMzcwRjM0QTIxODI5QkUxRTAwOTAyN0M4IC8q
IFdLTmF2aWdhdGlvbkRhdGEubW0gaW4gU291cmNlcyAqLywKLQkJCQkxQTFCMEVCNTE4QTQyNDk1
MDAzODQ4MUEgLyogV0tOYXZpZ2F0aW9uUmVzcG9uc2UubW0gaW4gU291cmNlcyAqLywKLQkJCQkz
N0ZDMTk0QTE4NTEwRDZBMDA4Q0ZBNDcgLyogV0tOU1VSTEF1dGhlbnRpY2F0aW9uQ2hhbGxlbmdl
Lm1tIGluIFNvdXJjZXMgKi8sCi0JCQkJMUFDQzUwRjExQ0JDMzgxRDAwM0M3RDAzIC8qIFdLT3Bl
blBhbmVsUGFyYW1ldGVycy5tbSBpbiBTb3VyY2VzICovLAotCQkJCTFBRkREMzE5MTg5MUNBMTIw
MDE1Mzk3MCAvKiBXS1ByZWZlcmVuY2VzLm1tIGluIFNvdXJjZXMgKi8sCi0JCQkJOTNBMjUzRUYx
QzkyMkU4RTAwRjlGNjhEIC8qIFdLUHJldmlld0FjdGlvbkl0ZW0ubW0gaW4gU291cmNlcyAqLywK
LQkJCQk5M0EyNTNGNTFDOTI0MTMyMDBGOUY2OEQgLyogV0tQcmV2aWV3QWN0aW9uSXRlbUlkZW50
aWZpZXJzLm1tIGluIFNvdXJjZXMgKi8sCi0JCQkJOTM5NUU2OEMxQkYyQzM1MjAwRjQ5QkNFIC8q
IFdLUHJldmlld0VsZW1lbnRJbmZvLm1tIGluIFNvdXJjZXMgKi8sCi0JCQkJQkNCQUFDRUMxNDUy
MjVFMzAwNTNGODJGIC8qIFdLUHJvY2Vzc0dyb3VwLm1tIGluIFNvdXJjZXMgKi8sCi0JCQkJMUEx
NTg0MTkxODkwNDRGNTAwMTc2MTZDIC8qIFdLUHJvY2Vzc1Bvb2wubW0gaW4gU291cmNlcyAqLywK
LQkJCQkxQTlFMzI5QTE4MjJFMUNDMDBGNUQwNEMgLyogV0tSZW1vdGVPYmplY3QubW0gaW4gU291
cmNlcyAqLywKLQkJCQkxQTlFMzI5RTE4MjJGRUREMDBGNUQwNEMgLyogV0tSZW1vdGVPYmplY3RD
b2Rlci5tbSBpbiBTb3VyY2VzICovLAotCQkJCTFBN0UzNzc4MThFNEE0RkUwMDNEMEZGRiAvKiBX
S1NjcmlwdE1lc3NhZ2UubW0gaW4gU291cmNlcyAqLywKLQkJCQk1MUNEMUM2NjFCMzRCOURDMDAx
NDJDQTUgLyogV0tTZWN1cml0eU9yaWdpbi5tbSBpbiBTb3VyY2VzICovLAogCQkJCTFEQjAxOTQ0
MjExQ0YwMDUwMDlGQjNFOCAvKiBXS1NoYXJlU2hlZXQubW0gaW4gU291cmNlcyAqLywKLQkJCQk5
M0Y1NDlCNjFFMzE3NERBMDAwRTcyMzkgLyogV0tTbmFwc2hvdENvbmZpZ3VyYXRpb24ubW0gaW4g
U291cmNlcyAqLywKIAkJCQkyNkYxMEJFOTE5MTg3RTJFMDAxRDBFNjggLyogV0tTeW50aGV0aWND
bGlja1RhcEdlc3R1cmVSZWNvZ25pemVyLm0gaW4gU291cmNlcyAqLywKLQkJCQk3Q0Q1RUJCRTE3
NDZCMDRDMDAwQzFDNDUgLyogV0tUeXBlUmVmV3JhcHBlci5tbSBpbiBTb3VyY2VzICovLAotCQkJ
CTUxRDEyNDM2MUU2REZCMzkwMDJCMjgyMCAvKiBXS1VSTFNjaGVtZVRhc2subW0gaW4gU291cmNl
cyAqLywKLQkJCQkxQUZBM0FDODE4RTYxQzYxMDAzQ0NCQUUgLyogV0tVc2VyQ29udGVudENvbnRy
b2xsZXIubW0gaW4gU291cmNlcyAqLywKLQkJCQkxQUFGMDg5QTE5MjY3RUU1MDBCNjM5MEMgLyog
V0tVc2VyU2NyaXB0Lm1tIGluIFNvdXJjZXMgKi8sCi0JCQkJQkM4Njk5QjYxMTZBQURBQTAwMkE5
MjVCIC8qIFdLVmlldy5tbSBpbiBTb3VyY2VzICovLAotCQkJCTJEOTEzNDI4MjEyQzg0RjUwMDEy
OEFGRCAvKiBXS1dlYlByb2Nlc3NCdW5kbGVQYXJhbWV0ZXJzLm1tIGluIFNvdXJjZXMgKi8sCi0J
CQkJMkQ5MTM0MkYyMTJDODUwMTAwMTI4QUZEIC8qIFdLV2ViUHJvY2Vzc1BsdWdJbi5tbSBpbiBT
b3VyY2VzICovLAotCQkJCTJEOTEzNDMwMjEyQzg1MDEwMDEyOEFGRCAvKiBXS1dlYlByb2Nlc3NQ
bHVnSW5Ccm93c2VyQ29udGV4dENvbnRyb2xsZXIubW0gaW4gU291cmNlcyAqLywKLQkJCQkyRDkx
MzQyOTIxMkM4NEY1MDAxMjhBRkQgLyogV0tXZWJQcm9jZXNzUGx1Z0luRnJhbWUubW0gaW4gU291
cmNlcyAqLywKLQkJCQkyRDkxMzQyQTIxMkM4NEY1MDAxMjhBRkQgLyogV0tXZWJQcm9jZXNzUGx1
Z0luSGl0VGVzdFJlc3VsdC5tbSBpbiBTb3VyY2VzICovLAotCQkJCTJEOTEzNDJCMjEyQzg0RjUw
MDEyOEFGRCAvKiBXS1dlYlByb2Nlc3NQbHVnSW5Ob2RlSGFuZGxlLm1tIGluIFNvdXJjZXMgKi8s
Ci0JCQkJMkQ5MTM0MkMyMTJDODRGNTAwMTI4QUZEIC8qIFdLV2ViUHJvY2Vzc1BsdWdJblBhZ2VH
cm91cC5tbSBpbiBTb3VyY2VzICovLAotCQkJCTJEOTEzNDJEMjEyQzg0RjUwMDEyOEFGRCAvKiBX
S1dlYlByb2Nlc3NQbHVnSW5SYW5nZUhhbmRsZS5tbSBpbiBTb3VyY2VzICovLAotCQkJCTJEOTEz
NDJFMjEyQzg0RjUwMDEyOEFGRCAvKiBXS1dlYlByb2Nlc3NQbHVnSW5TY3JpcHRXb3JsZC5tbSBp
biBTb3VyY2VzICovLAotCQkJCTFBNDgzMkNCMUE5QkM0NjUwMDhCNERGRSAvKiBXS1dlYnNpdGVE
YXRhUmVjb3JkLm1tIGluIFNvdXJjZXMgKi8sCi0JCQkJNzVBOEQyQzkxODdDQ0ZBRjAwQzM5QzlF
IC8qIFdLV2Vic2l0ZURhdGFTdG9yZS5tbSBpbiBTb3VyY2VzICovLAotCQkJCTFBM0NDMTY2MTg5
MDZBQ0YwMDFFNkVEOCAvKiBXS1dlYlZpZXcubW0gaW4gU291cmNlcyAqLywKLQkJCQkxQURGNTkx
QTE4OTA1MjhFMDA0M0MxNDUgLyogV0tXZWJWaWV3Q29uZmlndXJhdGlvbi5tbSBpbiBTb3VyY2Vz
ICovLAotCQkJCTFBRDYwRjVEMThFMjBGNEMwMDIwQzAzNCAvKiBXS1dpbmRvd0ZlYXR1cmVzLm1t
IGluIFNvdXJjZXMgKi8sCiAJCQkpOwogCQkJcnVuT25seUZvckRlcGxveW1lbnRQb3N0cHJvY2Vz
c2luZyA9IDA7CiAJCX07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvSW5q
ZWN0ZWRCdW5kbGUvQVBJL0NvY29hL1dLV2ViUHJvY2Vzc1BsdWdJbkZyYW1lLm1tIGIvU291cmNl
L1dlYktpdC9XZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0FQSS9Db2NvYS9XS1dlYlByb2Nlc3NQ
bHVnSW5GcmFtZS5tbQppbmRleCA5NmFkYWE5NDA5OGZhMTZlZWM0OWNmN2RiYWY0OGU4YTY3MWQx
ZDQ2Li5kZGRlMTIzNmFjOWI4ZWY4YWY3YzM0YzVmNTA4ZjAxNjU4ZTliZDlhIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvQVBJL0NvY29hL1dLV2Vi
UHJvY2Vzc1BsdWdJbkZyYW1lLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9Jbmpl
Y3RlZEJ1bmRsZS9BUEkvQ29jb2EvV0tXZWJQcm9jZXNzUGx1Z0luRnJhbWUubW0KQEAgLTQ0LDE1
ICs0NCwxMyBAQAogI2ltcG9ydCA8V2ViQ29yZS9MaW5rSWNvbkNvbGxlY3Rvci5oPgogI2ltcG9y
dCA8V2ViQ29yZS9MaW5rSWNvblR5cGUuaD4KIAotdXNpbmcgbmFtZXNwYWNlIFdlYktpdDsKLQog
QGltcGxlbWVudGF0aW9uIFdLV2ViUHJvY2Vzc1BsdWdJbkZyYW1lIHsKLSAgICBBUEk6Ok9iamVj
dFN0b3JhZ2U8V2ViRnJhbWU+IF9mcmFtZTsKKyAgICBBUEk6Ok9iamVjdFN0b3JhZ2U8V2ViS2l0
OjpXZWJGcmFtZT4gX2ZyYW1lOwogfQogCiArIChpbnN0YW5jZXR5cGUpbG9va1VwRnJhbWVGcm9t
SGFuZGxlOihfV0tGcmFtZUhhbmRsZSAqKWhhbmRsZQogewotICAgIHJldHVybiB3cmFwcGVyKFdl
YlByb2Nlc3M6OnNpbmdsZXRvbigpLndlYkZyYW1lKGhhbmRsZS5fZnJhbWVJRCkpOworICAgIHJl
dHVybiB3cmFwcGVyKFdlYktpdDo6V2ViUHJvY2Vzczo6c2luZ2xldG9uKCkud2ViRnJhbWUoaGFu
ZGxlLl9mcmFtZUlEKSk7CiB9CiAKIC0gKHZvaWQpZGVhbGxvYwpAQCAtODUsNyArODMsNyBAQCB1
c2luZyBuYW1lc3BhY2UgV2ViS2l0OwogCiAtIChXS1dlYlByb2Nlc3NQbHVnSW5Ccm93c2VyQ29u
dGV4dENvbnRyb2xsZXIgKilfYnJvd3NlckNvbnRleHRDb250cm9sbGVyCiB7Ci0gICAgcmV0dXJu
IHdyYXBwZXIoKl9mcmFtZS0+cGFnZSgpKTsKKyAgICByZXR1cm4gV2ViS2l0Ojp3cmFwcGVyKCpf
ZnJhbWUtPnBhZ2UoKSk7CiB9CiAKIC0gKE5TVVJMICopVVJMCkBAIC05NSw3ICs5Myw3IEBAIHVz
aW5nIG5hbWVzcGFjZSBXZWJLaXQ7CiAKIC0gKE5TQXJyYXkgKiljaGlsZEZyYW1lcwogewotICAg
IHJldHVybiB3cmFwcGVyKF9mcmFtZS0+Y2hpbGRGcmFtZXMoKSk7CisgICAgcmV0dXJuIFdlYktp
dDo6d3JhcHBlcihfZnJhbWUtPmNoaWxkRnJhbWVzKCkpOwogfQogCiAtIChCT09MKWNvbnRhaW5z
QW55Rm9ybUVsZW1lbnRzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvSW5q
ZWN0ZWRCdW5kbGUvQVBJL0NvY29hL1dLV2ViUHJvY2Vzc1BsdWdJbkhpdFRlc3RSZXN1bHQubW0g
Yi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvQVBJL0NvY29hL1dLV2Vi
UHJvY2Vzc1BsdWdJbkhpdFRlc3RSZXN1bHQubW0KaW5kZXggMDIwOTQ3Y2ZiZDBiODBkMzdjOWFm
N2M2MzQ2YTgwYzJjNzI1NGNmOC4uZGZmODRhMjU3ZGY5ZTM4ZjJlNDIxMjVjMGViMDM4YjUwOWI5
NDNhMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0luamVjdGVkQnVuZGxl
L0FQSS9Db2NvYS9XS1dlYlByb2Nlc3NQbHVnSW5IaXRUZXN0UmVzdWx0Lm1tCisrKyBiL1NvdXJj
ZS9XZWJLaXQvV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9BUEkvQ29jb2EvV0tXZWJQcm9jZXNz
UGx1Z0luSGl0VGVzdFJlc3VsdC5tbQpAQCAtMzAsMTAgKzMwLDggQEAKIAogI2ltcG9ydCAiV0tX
ZWJQcm9jZXNzUGx1Z0luTm9kZUhhbmRsZUludGVybmFsLmgiCiAKLXVzaW5nIG5hbWVzcGFjZSBX
ZWJLaXQ7Ci0KIEBpbXBsZW1lbnRhdGlvbiBXS1dlYlByb2Nlc3NQbHVnSW5IaXRUZXN0UmVzdWx0
IHsKLSAgICBBUEk6Ok9iamVjdFN0b3JhZ2U8SW5qZWN0ZWRCdW5kbGVIaXRUZXN0UmVzdWx0PiBf
aGl0VGVzdFJlc3VsdDsKKyAgICBBUEk6Ok9iamVjdFN0b3JhZ2U8V2ViS2l0OjpJbmplY3RlZEJ1
bmRsZUhpdFRlc3RSZXN1bHQ+IF9oaXRUZXN0UmVzdWx0OwogfQogCiAtICh2b2lkKWRlYWxsb2MK
QEAgLTQ0LDcgKzQyLDcgQEAgdXNpbmcgbmFtZXNwYWNlIFdlYktpdDsKIAogLSAoV0tXZWJQcm9j
ZXNzUGx1Z0luTm9kZUhhbmRsZSAqKW5vZGVIYW5kbGUKIHsKLSAgICByZXR1cm4gd3JhcHBlcihf
aGl0VGVzdFJlc3VsdC0+bm9kZUhhbmRsZSgpKTsKKyAgICByZXR1cm4gV2ViS2l0Ojp3cmFwcGVy
KF9oaXRUZXN0UmVzdWx0LT5ub2RlSGFuZGxlKCkpOwogfQogCiAjcHJhZ21hIG1hcmsgV0tPYmpl
Y3QgcHJvdG9jb2wgaW1wbGVtZW50YXRpb24KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2Vi
UHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9BUEkvQ29jb2EvV0tXZWJQcm9jZXNzUGx1Z0luTm9kZUhh
bmRsZS5tbSBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9BUEkvQ29j
b2EvV0tXZWJQcm9jZXNzUGx1Z0luTm9kZUhhbmRsZS5tbQppbmRleCA5MWNkMGM0MGU0Y2ViYzVj
YmI2N2UxYTdmNTNhYmQwMGI1NGFhNzI0Li41MDIyOTIwMGM3M2UwOGE2ZjRlZTg5MTliZTIwNGNl
OTI4YmU4MjBlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvSW5qZWN0ZWRC
dW5kbGUvQVBJL0NvY29hL1dLV2ViUHJvY2Vzc1BsdWdJbk5vZGVIYW5kbGUubW0KKysrIGIvU291
cmNlL1dlYktpdC9XZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0FQSS9Db2NvYS9XS1dlYlByb2Nl
c3NQbHVnSW5Ob2RlSGFuZGxlLm1tCkBAIC0zNCwxMCArMzQsOCBAQAogCiAjaWYgV0tfQVBJX0VO
QUJMRUQKIAotdXNpbmcgbmFtZXNwYWNlIFdlYktpdDsKLQogQGltcGxlbWVudGF0aW9uIFdLV2Vi
UHJvY2Vzc1BsdWdJbk5vZGVIYW5kbGUgewotICAgIEFQSTo6T2JqZWN0U3RvcmFnZTxJbmplY3Rl
ZEJ1bmRsZU5vZGVIYW5kbGU+IF9ub2RlSGFuZGxlOworICAgIEFQSTo6T2JqZWN0U3RvcmFnZTxX
ZWJLaXQ6OkluamVjdGVkQnVuZGxlTm9kZUhhbmRsZT4gX25vZGVIYW5kbGU7CiB9CiAKIC0gKHZv
aWQpZGVhbGxvYwpAQCAtNTAsMTIgKzQ4LDEyIEBAIHVzaW5nIG5hbWVzcGFjZSBXZWJLaXQ7CiB7
CiAgICAgSlNDb250ZXh0UmVmIGNvbnRleHRSZWYgPSBbY29udGV4dCBKU0dsb2JhbENvbnRleHRS
ZWZdOwogICAgIEpTT2JqZWN0UmVmIG9iamVjdFJlZiA9IEpTVmFsdWVUb09iamVjdChjb250ZXh0
UmVmLCBbdmFsdWUgSlNWYWx1ZVJlZl0sIG51bGxwdHIpOwotICAgIHJldHVybiB3cmFwcGVyKElu
amVjdGVkQnVuZGxlTm9kZUhhbmRsZTo6Z2V0T3JDcmVhdGUoY29udGV4dFJlZiwgb2JqZWN0UmVm
KSk7CisgICAgcmV0dXJuIFdlYktpdDo6d3JhcHBlcihXZWJLaXQ6OkluamVjdGVkQnVuZGxlTm9k
ZUhhbmRsZTo6Z2V0T3JDcmVhdGUoY29udGV4dFJlZiwgb2JqZWN0UmVmKSk7CiB9CiAKIC0gKFdL
V2ViUHJvY2Vzc1BsdWdJbkZyYW1lICopaHRtbElGcmFtZUVsZW1lbnRDb250ZW50RnJhbWUKIHsK
LSAgICByZXR1cm4gd3JhcHBlcihfbm9kZUhhbmRsZS0+aHRtbElGcmFtZUVsZW1lbnRDb250ZW50
RnJhbWUoKSk7CisgICAgcmV0dXJuIFdlYktpdDo6d3JhcHBlcihfbm9kZUhhbmRsZS0+aHRtbElG
cmFtZUVsZW1lbnRDb250ZW50RnJhbWUoKSk7CiB9CiAKICNpZiBQTEFURk9STShJT1MpCkBAIC03
MCw3ICs2OCw3IEBAIHVzaW5nIG5hbWVzcGFjZSBXZWJLaXQ7CiAgICAgaWYgKHdpZHRoKQogICAg
ICAgICBvcHRpb25hbFdpZHRoID0gd2lkdGguZmxvYXRWYWx1ZTsKIAotICAgIFJlZlB0cjxXZWJJ
bWFnZT4gaW1hZ2UgPSBfbm9kZUhhbmRsZS0+cmVuZGVyZWRJbWFnZSh0b1NuYXBzaG90T3B0aW9u
cyhvcHRpb25zKSwgb3B0aW9ucyAmIGtXS1NuYXBzaG90T3B0aW9uc0V4Y2x1ZGVPdmVyZmxvdywg
b3B0aW9uYWxXaWR0aCk7CisgICAgUmVmUHRyPFdlYktpdDo6V2ViSW1hZ2U+IGltYWdlID0gX25v
ZGVIYW5kbGUtPnJlbmRlcmVkSW1hZ2UoV2ViS2l0Ojp0b1NuYXBzaG90T3B0aW9ucyhvcHRpb25z
KSwgb3B0aW9ucyAmIGtXS1NuYXBzaG90T3B0aW9uc0V4Y2x1ZGVPdmVyZmxvdywgb3B0aW9uYWxX
aWR0aCk7CiAgICAgaWYgKCFpbWFnZSkKICAgICAgICAgcmV0dXJuIG5pbDsKIApAQCAtOTAsNyAr
ODgsNyBAQCB1c2luZyBuYW1lc3BhY2UgV2ViS2l0OwogICAgIGlmICh3aWR0aCkKICAgICAgICAg
b3B0aW9uYWxXaWR0aCA9IHdpZHRoLmZsb2F0VmFsdWU7CiAKLSAgICBSZWZQdHI8V2ViSW1hZ2U+
IGltYWdlID0gX25vZGVIYW5kbGUtPnJlbmRlcmVkSW1hZ2UodG9TbmFwc2hvdE9wdGlvbnMob3B0
aW9ucyksIG9wdGlvbnMgJiBrV0tTbmFwc2hvdE9wdGlvbnNFeGNsdWRlT3ZlcmZsb3csIG9wdGlv
bmFsV2lkdGgpOworICAgIFJlZlB0cjxXZWJLaXQ6OldlYkltYWdlPiBpbWFnZSA9IF9ub2RlSGFu
ZGxlLT5yZW5kZXJlZEltYWdlKFdlYktpdDo6dG9TbmFwc2hvdE9wdGlvbnMob3B0aW9ucyksIG9w
dGlvbnMgJiBrV0tTbmFwc2hvdE9wdGlvbnNFeGNsdWRlT3ZlcmZsb3csIG9wdGlvbmFsV2lkdGgp
OwogICAgIGlmICghaW1hZ2UpCiAgICAgICAgIHJldHVybiBuaWw7CiAKQEAgLTE4MywxNSArMTgx
LDE1IEBAIHN0YXRpYyBfV0tBdXRvRmlsbEJ1dHRvblR5cGUgdG9XS0F1dG9GaWxsQnV0dG9uVHlw
ZShXZWJDb3JlOjpBdXRvRmlsbEJ1dHRvblR5cGUKIAogLSAoV0tXZWJQcm9jZXNzUGx1Z0luTm9k
ZUhhbmRsZSAqKUhUTUxUYWJsZUNlbGxFbGVtZW50Q2VsbEFib3ZlCiB7Ci0gICAgcmV0dXJuIHdy
YXBwZXIoX25vZGVIYW5kbGUtPmh0bWxUYWJsZUNlbGxFbGVtZW50Q2VsbEFib3ZlKCkpOworICAg
IHJldHVybiBXZWJLaXQ6OndyYXBwZXIoX25vZGVIYW5kbGUtPmh0bWxUYWJsZUNlbGxFbGVtZW50
Q2VsbEFib3ZlKCkpOwogfQogCiAtIChXS1dlYlByb2Nlc3NQbHVnSW5GcmFtZSAqKWZyYW1lCiB7
Ci0gICAgcmV0dXJuIHdyYXBwZXIoX25vZGVIYW5kbGUtPmRvY3VtZW50KCktPmRvY3VtZW50RnJh
bWUoKSk7CisgICAgcmV0dXJuIFdlYktpdDo6d3JhcHBlcihfbm9kZUhhbmRsZS0+ZG9jdW1lbnQo
KS0+ZG9jdW1lbnRGcmFtZSgpKTsKIH0KIAotLSAoSW5qZWN0ZWRCdW5kbGVOb2RlSGFuZGxlJilf
bm9kZUhhbmRsZQorLSAoV2ViS2l0OjpJbmplY3RlZEJ1bmRsZU5vZGVIYW5kbGUmKV9ub2RlSGFu
ZGxlCiB7CiAgICAgcmV0dXJuICpfbm9kZUhhbmRsZTsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQvV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9BUEkvQ29jb2EvV0tXZWJQcm9jZXNzUGx1
Z0luUGFnZUdyb3VwLm1tIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0luamVjdGVkQnVuZGxl
L0FQSS9Db2NvYS9XS1dlYlByb2Nlc3NQbHVnSW5QYWdlR3JvdXAubW0KaW5kZXggNjNjYWQ4ODM4
ZDNjNTFlN2Q1MDdhZWM3OTYxYjM4NDNlN2IwYTNlMC4uMDIzOWI2MTYwY2U5YmM1MTJhZGRhZmVj
NDI4ODFmZDNiNGRlYTIzZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0lu
amVjdGVkQnVuZGxlL0FQSS9Db2NvYS9XS1dlYlByb2Nlc3NQbHVnSW5QYWdlR3JvdXAubW0KKysr
IGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0FQSS9Db2NvYS9XS1dl
YlByb2Nlc3NQbHVnSW5QYWdlR3JvdXAubW0KQEAgLTM0LDEwICszNCw4IEBACiAjaW1wb3J0ICJX
S1JldGFpblB0ci5oIgogI2ltcG9ydCAiV2ViUGFnZUdyb3VwUHJveHkuaCIKIAotdXNpbmcgbmFt
ZXNwYWNlIFdlYktpdDsKLQogQGltcGxlbWVudGF0aW9uIFdLV2ViUHJvY2Vzc1BsdWdJblBhZ2VH
cm91cCB7Ci0gICAgQVBJOjpPYmplY3RTdG9yYWdlPFdlYlBhZ2VHcm91cFByb3h5PiBfYnVuZGxl
UGFnZUdyb3VwOworICAgIEFQSTo6T2JqZWN0U3RvcmFnZTxXZWJLaXQ6OldlYlBhZ2VHcm91cFBy
b3h5PiBfYnVuZGxlUGFnZUdyb3VwOwogfQogCiAtIChOU1N0cmluZyAqKWlkZW50aWZpZXIKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9BUEkvQ29j
b2EvV0tXZWJQcm9jZXNzUGx1Z0luUmFuZ2VIYW5kbGUubW0gYi9Tb3VyY2UvV2ViS2l0L1dlYlBy
b2Nlc3MvSW5qZWN0ZWRCdW5kbGUvQVBJL0NvY29hL1dLV2ViUHJvY2Vzc1BsdWdJblJhbmdlSGFu
ZGxlLm1tCmluZGV4IDRhOGRkMzQzNTk1MjNkNzM5ZGExZjc5ZTQ5YzQ2YjY1ZTI1OTZjNWQuLjk1
NTcyMGU4MDZlYjM1NTU0YzJmNDI1ZDE2MTkzMzk3NDQzMTJhNDEgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQvV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9BUEkvQ29jb2EvV0tXZWJQcm9jZXNz
UGx1Z0luUmFuZ2VIYW5kbGUubW0KKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0luamVj
dGVkQnVuZGxlL0FQSS9Db2NvYS9XS1dlYlByb2Nlc3NQbHVnSW5SYW5nZUhhbmRsZS5tbQpAQCAt
MzcsMTAgKzM3LDggQEAKICNpbXBvcnQgIldLRGF0YURldGVjdG9yVHlwZXNJbnRlcm5hbC5oIgog
I2VuZGlmCiAKLXVzaW5nIG5hbWVzcGFjZSBXZWJLaXQ7Ci0KIEBpbXBsZW1lbnRhdGlvbiBXS1dl
YlByb2Nlc3NQbHVnSW5SYW5nZUhhbmRsZSB7Ci0gICAgQVBJOjpPYmplY3RTdG9yYWdlPEluamVj
dGVkQnVuZGxlUmFuZ2VIYW5kbGU+IF9yYW5nZUhhbmRsZTsKKyAgICBBUEk6Ok9iamVjdFN0b3Jh
Z2U8V2ViS2l0OjpJbmplY3RlZEJ1bmRsZVJhbmdlSGFuZGxlPiBfcmFuZ2VIYW5kbGU7CiB9CiAK
IC0gKHZvaWQpZGVhbGxvYwpAQCAtNTMsNyArNTEsNyBAQCB1c2luZyBuYW1lc3BhY2UgV2ViS2l0
OwogewogICAgIEpTQ29udGV4dFJlZiBjb250ZXh0UmVmID0gW2NvbnRleHQgSlNHbG9iYWxDb250
ZXh0UmVmXTsKICAgICBKU09iamVjdFJlZiBvYmplY3RSZWYgPSBKU1ZhbHVlVG9PYmplY3QoY29u
dGV4dFJlZiwgW3ZhbHVlIEpTVmFsdWVSZWZdLCBudWxscHRyKTsKLSAgICByZXR1cm4gd3JhcHBl
cihJbmplY3RlZEJ1bmRsZVJhbmdlSGFuZGxlOjpnZXRPckNyZWF0ZShjb250ZXh0UmVmLCBvYmpl
Y3RSZWYpKTsKKyAgICByZXR1cm4gd3JhcHBlcihXZWJLaXQ6OkluamVjdGVkQnVuZGxlUmFuZ2VI
YW5kbGU6OmdldE9yQ3JlYXRlKGNvbnRleHRSZWYsIG9iamVjdFJlZikpOwogfQogCiAtIChXS1dl
YlByb2Nlc3NQbHVnSW5GcmFtZSAqKWZyYW1lCkBAIC03MSwxNCArNjksMTQgQEAgdXNpbmcgbmFt
ZXNwYWNlIFdlYktpdDsKIHsKICNpZiBFTkFCTEUoREFUQV9ERVRFQ1RJT04pCiAgICAgUmVmUHRy
PFdlYkNvcmU6OlJhbmdlPiBjb3JlUmFuZ2UgPSAmX3JhbmdlSGFuZGxlLT5jb3JlUmFuZ2UoKTsK
LSAgICByZXR1cm4gV2ViQ29yZTo6RGF0YURldGVjdGlvbjo6ZGV0ZWN0Q29udGVudEluUmFuZ2Uo
Y29yZVJhbmdlLCBmcm9tV0tEYXRhRGV0ZWN0b3JUeXBlcyh0eXBlcyksIGNvbnRleHQpOworICAg
IHJldHVybiBXZWJDb3JlOjpEYXRhRGV0ZWN0aW9uOjpkZXRlY3RDb250ZW50SW5SYW5nZShjb3Jl
UmFuZ2UsIFdlYktpdDo6ZnJvbVdLRGF0YURldGVjdG9yVHlwZXModHlwZXMpLCBjb250ZXh0KTsK
ICNlbHNlCiAgICAgcmV0dXJuIG5pbDsKICNlbmRpZgogfQogI2VuZGlmCiAKLS0gKEluamVjdGVk
QnVuZGxlUmFuZ2VIYW5kbGUmKV9yYW5nZUhhbmRsZQorLSAoV2ViS2l0OjpJbmplY3RlZEJ1bmRs
ZVJhbmdlSGFuZGxlJilfcmFuZ2VIYW5kbGUKIHsKICAgICByZXR1cm4gKl9yYW5nZUhhbmRsZTsK
IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9B
UEkvQ29jb2EvV0tXZWJQcm9jZXNzUGx1Z0luU2NyaXB0V29ybGQubW0gYi9Tb3VyY2UvV2ViS2l0
L1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvQVBJL0NvY29hL1dLV2ViUHJvY2Vzc1BsdWdJblNj
cmlwdFdvcmxkLm1tCmluZGV4IGFlOGQ5MDYxZjQ0MzBiMmFmYzk4YTBhNzVhMzE1MWM3MDYyOWRk
N2QuLmUwNDJkZmUyZTNmMDk2YjdlY2Q0YTE2YWRmOGVjOTJlMzRiNzI3YmUgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9BUEkvQ29jb2EvV0tXZWJQ
cm9jZXNzUGx1Z0luU2NyaXB0V29ybGQubW0KKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNz
L0luamVjdGVkQnVuZGxlL0FQSS9Db2NvYS9XS1dlYlByb2Nlc3NQbHVnSW5TY3JpcHRXb3JsZC5t
bQpAQCAtMjgsMjAgKzI4LDE4IEBACiAKICNpZiBXS19BUElfRU5BQkxFRAogCi11c2luZyBuYW1l
c3BhY2UgV2ViS2l0OwotCiBAaW1wbGVtZW50YXRpb24gV0tXZWJQcm9jZXNzUGx1Z0luU2NyaXB0
V29ybGQgewotICAgIEFQSTo6T2JqZWN0U3RvcmFnZTxJbmplY3RlZEJ1bmRsZVNjcmlwdFdvcmxk
PiBfd29ybGQ7CisgICAgQVBJOjpPYmplY3RTdG9yYWdlPFdlYktpdDo6SW5qZWN0ZWRCdW5kbGVT
Y3JpcHRXb3JsZD4gX3dvcmxkOwogfQogCiArIChXS1dlYlByb2Nlc3NQbHVnSW5TY3JpcHRXb3Js
ZCAqKXdvcmxkCiB7Ci0gICAgcmV0dXJuIHdyYXBwZXIoSW5qZWN0ZWRCdW5kbGVTY3JpcHRXb3Js
ZDo6Y3JlYXRlKCkpOworICAgIHJldHVybiBXZWJLaXQ6OndyYXBwZXIoV2ViS2l0OjpJbmplY3Rl
ZEJ1bmRsZVNjcmlwdFdvcmxkOjpjcmVhdGUoKSk7CiB9CiAKICsgKFdLV2ViUHJvY2Vzc1BsdWdJ
blNjcmlwdFdvcmxkICopbm9ybWFsV29ybGQKIHsKLSAgICByZXR1cm4gd3JhcHBlcihJbmplY3Rl
ZEJ1bmRsZVNjcmlwdFdvcmxkOjpub3JtYWxXb3JsZCgpKTsKKyAgICByZXR1cm4gV2ViS2l0Ojp3
cmFwcGVyKFdlYktpdDo6SW5qZWN0ZWRCdW5kbGVTY3JpcHRXb3JsZDo6bm9ybWFsV29ybGQoKSk7
CiB9CiAKIC0gKHZvaWQpZGVhbGxvYwpAQCAtNzAsNyArNjgsNyBAQCB1c2luZyBuYW1lc3BhY2Ug
V2ViS2l0OwogICAgIHJldHVybiBfd29ybGQtPm5hbWUoKTsKIH0KIAotLSAoSW5qZWN0ZWRCdW5k
bGVTY3JpcHRXb3JsZCYpX3NjcmlwdFdvcmxkCistIChXZWJLaXQ6OkluamVjdGVkQnVuZGxlU2Ny
aXB0V29ybGQmKV9zY3JpcHRXb3JsZAogewogICAgIHJldHVybiAqX3dvcmxkOwogfQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0FQSS9tYWMvV0tX
ZWJQcm9jZXNzUGx1Z0luLm1tIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0luamVjdGVkQnVu
ZGxlL0FQSS9tYWMvV0tXZWJQcm9jZXNzUGx1Z0luLm1tCmluZGV4IDQwNTczNDljMzdhMGE2MDI4
MGY1NjUwOTBiZDllMTllN2QwNGFmYWYuLjkxZDZiOTY1ZTEwM2RjYWFhZjMzZmNlZTdkOGE5NWI1
Mzg0NWIxOTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9JbmplY3RlZEJ1
bmRsZS9BUEkvbWFjL1dLV2ViUHJvY2Vzc1BsdWdJbi5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L1dl
YlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvQVBJL21hYy9XS1dlYlByb2Nlc3NQbHVnSW4ubW0KQEAg
LTM3LDEwICszNyw4IEBACiAjaW1wb3J0ICJXS1dlYlByb2Nlc3NQbHVnSW5Ccm93c2VyQ29udGV4
dENvbnRyb2xsZXJJbnRlcm5hbC5oIgogI2ltcG9ydCA8d3RmL1JldGFpblB0ci5oPgogCi11c2lu
ZyBuYW1lc3BhY2UgV2ViS2l0OwotCiBAaW50ZXJmYWNlIFdLV2ViUHJvY2Vzc1BsdWdJbkNvbnRy
b2xsZXIgKCkgewotICAgIEFQSTo6T2JqZWN0U3RvcmFnZTxJbmplY3RlZEJ1bmRsZT4gX2J1bmRs
ZTsKKyAgICBBUEk6Ok9iamVjdFN0b3JhZ2U8V2ViS2l0OjpJbmplY3RlZEJ1bmRsZT4gX2J1bmRs
ZTsKICAgICBSZXRhaW5QdHI8aWQgPFdLV2ViUHJvY2Vzc1BsdWdJbj4+IF9wcmluY2lwYWxDbGFz
c0luc3RhbmNlOwogfQogQGVuZApAQCAtNjAsNyArNTgsNyBAQCBzdGF0aWMgdm9pZCBkaWRDcmVh
dGVQYWdlKFdLQnVuZGxlUmVmIGJ1bmRsZSwgV0tCdW5kbGVQYWdlUmVmIHBhZ2UsIGNvbnN0IHZv
aWQqCiAgICAgaWQgPFdLV2ViUHJvY2Vzc1BsdWdJbj4gcHJpbmNpcGFsQ2xhc3NJbnN0YW5jZSA9
IHBsdWdJbkNvbnRyb2xsZXItPl9wcmluY2lwYWxDbGFzc0luc3RhbmNlLmdldCgpOwogCiAgICAg
aWYgKFtwcmluY2lwYWxDbGFzc0luc3RhbmNlIHJlc3BvbmRzVG9TZWxlY3RvcjpAc2VsZWN0b3Io
d2ViUHJvY2Vzc1BsdWdJbjpkaWRDcmVhdGVCcm93c2VyQ29udGV4dENvbnRyb2xsZXI6KV0pCi0g
ICAgICAgIFtwcmluY2lwYWxDbGFzc0luc3RhbmNlIHdlYlByb2Nlc3NQbHVnSW46cGx1Z0luQ29u
dHJvbGxlciBkaWRDcmVhdGVCcm93c2VyQ29udGV4dENvbnRyb2xsZXI6d3JhcHBlcigqdG9JbXBs
KHBhZ2UpKV07CisgICAgICAgIFtwcmluY2lwYWxDbGFzc0luc3RhbmNlIHdlYlByb2Nlc3NQbHVn
SW46cGx1Z0luQ29udHJvbGxlciBkaWRDcmVhdGVCcm93c2VyQ29udGV4dENvbnRyb2xsZXI6d3Jh
cHBlcigqV2ViS2l0Ojp0b0ltcGwocGFnZSkpXTsKIH0KIAogc3RhdGljIHZvaWQgd2lsbERlc3Ry
b3lQYWdlKFdLQnVuZGxlUmVmIGJ1bmRsZSwgV0tCdW5kbGVQYWdlUmVmIHBhZ2UsIGNvbnN0IHZv
aWQqIGNsaWVudEluZm8pCkBAIC02OSwxMCArNjcsMTAgQEAgc3RhdGljIHZvaWQgd2lsbERlc3Ry
b3lQYWdlKFdLQnVuZGxlUmVmIGJ1bmRsZSwgV0tCdW5kbGVQYWdlUmVmIHBhZ2UsIGNvbnN0IHZv
aWQKICAgICBpZCA8V0tXZWJQcm9jZXNzUGx1Z0luPiBwcmluY2lwYWxDbGFzc0luc3RhbmNlID0g
cGx1Z0luQ29udHJvbGxlci0+X3ByaW5jaXBhbENsYXNzSW5zdGFuY2UuZ2V0KCk7CiAKICAgICBp
ZiAoW3ByaW5jaXBhbENsYXNzSW5zdGFuY2UgcmVzcG9uZHNUb1NlbGVjdG9yOkBzZWxlY3Rvcih3
ZWJQcm9jZXNzUGx1Z0luOndpbGxEZXN0cm95QnJvd3NlckNvbnRleHRDb250cm9sbGVyOildKQot
ICAgICAgICBbcHJpbmNpcGFsQ2xhc3NJbnN0YW5jZSB3ZWJQcm9jZXNzUGx1Z0luOnBsdWdJbkNv
bnRyb2xsZXIgd2lsbERlc3Ryb3lCcm93c2VyQ29udGV4dENvbnRyb2xsZXI6d3JhcHBlcigqdG9J
bXBsKHBhZ2UpKV07CisgICAgICAgIFtwcmluY2lwYWxDbGFzc0luc3RhbmNlIHdlYlByb2Nlc3NQ
bHVnSW46cGx1Z0luQ29udHJvbGxlciB3aWxsRGVzdHJveUJyb3dzZXJDb250ZXh0Q29udHJvbGxl
cjp3cmFwcGVyKCpXZWJLaXQ6OnRvSW1wbChwYWdlKSldOwogfQogCi1zdGF0aWMgdm9pZCBzZXRV
cEJ1bmRsZUNsaWVudChXS1dlYlByb2Nlc3NQbHVnSW5Db250cm9sbGVyICpwbHVnSW5Db250cm9s
bGVyLCBJbmplY3RlZEJ1bmRsZSYgYnVuZGxlKQorc3RhdGljIHZvaWQgc2V0VXBCdW5kbGVDbGll
bnQoV0tXZWJQcm9jZXNzUGx1Z0luQ29udHJvbGxlciAqcGx1Z0luQ29udHJvbGxlciwgV2ViS2l0
OjpJbmplY3RlZEJ1bmRsZSYgYnVuZGxlKQogewogICAgIFdLQnVuZGxlQ2xpZW50VjEgYnVuZGxl
Q2xpZW50OwogICAgIG1lbXNldCgmYnVuZGxlQ2xpZW50LCAwLCBzaXplb2YoYnVuZGxlQ2xpZW50
KSk7CkBAIC0xMTEsNyArMTA5LDcgQEAgc3RhdGljIFJlZjxBUEk6OkFycmF5PiBjcmVhdGVXS0Fy
cmF5KE5TQXJyYXkgKmFycmF5KQogICAgIAogICAgIGZvciAoaWQgZW50cnkgaW4gYXJyYXkpIHsK
ICAgICAgICAgaWYgKFtlbnRyeSBpc0tpbmRPZkNsYXNzOltOU1N0cmluZyBjbGFzc11dKQotICAg
ICAgICAgICAgc3RyaW5ncy51bmNoZWNrZWRBcHBlbmQoYWRvcHRSZWYodG9JbXBsKFdLU3RyaW5n
Q3JlYXRlV2l0aENGU3RyaW5nKChfX2JyaWRnZSBDRlN0cmluZ1JlZillbnRyeSkpKSk7CisgICAg
ICAgICAgICBzdHJpbmdzLnVuY2hlY2tlZEFwcGVuZChhZG9wdFJlZihXZWJLaXQ6OnRvSW1wbChX
S1N0cmluZ0NyZWF0ZVdpdGhDRlN0cmluZygoX19icmlkZ2UgQ0ZTdHJpbmdSZWYpZW50cnkpKSkp
OwogICAgIH0KICAgICAKICAgICByZXR1cm4gQVBJOjpBcnJheTo6Y3JlYXRlKFdURk1vdmUoc3Ry
aW5ncykpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0luamVjdGVkQnVu
ZGxlL0FQSS9tYWMvV0tXZWJQcm9jZXNzUGx1Z0luQnJvd3NlckNvbnRleHRDb250cm9sbGVyLm1t
IGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0FQSS9tYWMvV0tXZWJQ
cm9jZXNzUGx1Z0luQnJvd3NlckNvbnRleHRDb250cm9sbGVyLm1tCmluZGV4IDI4ZGMwNjY5ZGY1
ZGQyMGUwYmMxZTA2NjdlY2U5ZjdlNTM5NGM0OTIuLmJjN2EyNGFjOTExNWRiM2JkZGUxMzFmZWU0
MzU3Y2I1ZjExMGQwZjUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9Jbmpl
Y3RlZEJ1bmRsZS9BUEkvbWFjL1dLV2ViUHJvY2Vzc1BsdWdJbkJyb3dzZXJDb250ZXh0Q29udHJv
bGxlci5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvQVBJ
L21hYy9XS1dlYlByb2Nlc3NQbHVnSW5Ccm93c2VyQ29udGV4dENvbnRyb2xsZXIubW0KQEAgLTY2
LDE1ICs2NiwxMiBAQAogI2ltcG9ydCA8cGFsL3NwaS9jb2NvYS9OU0tleWVkQXJjaGl2ZXJTUEku
aD4KICNpbXBvcnQgPHd0Zi9XZWFrT2JqQ1B0ci5oPgogCi11c2luZyBuYW1lc3BhY2UgV2ViQ29y
ZTsKLXVzaW5nIG5hbWVzcGFjZSBXZWJLaXQ7Ci0KIEBpbnRlcmZhY2UgTlNPYmplY3QgKFdLRGVw
cmVjYXRlZERlbGVnYXRlTWV0aG9kcykKIC0gKHZvaWQpd2ViUHJvY2Vzc1BsdWdJbkJyb3dzZXJD
b250ZXh0Q29udHJvbGxlcjooV0tXZWJQcm9jZXNzUGx1Z0luQnJvd3NlckNvbnRleHRDb250cm9s
bGVyICopY29udHJvbGxlciBkaWRTYW1lRG9jdW1lbnROYXZpZ2F0aW9uRm9yRnJhbWU6KFdLV2Vi
UHJvY2Vzc1BsdWdJbkZyYW1lICopZnJhbWU7CiBAZW5kCiAKIEBpbXBsZW1lbnRhdGlvbiBXS1dl
YlByb2Nlc3NQbHVnSW5Ccm93c2VyQ29udGV4dENvbnRyb2xsZXIgewotICAgIEFQSTo6T2JqZWN0
U3RvcmFnZTxXZWJQYWdlPiBfcGFnZTsKKyAgICBBUEk6Ok9iamVjdFN0b3JhZ2U8V2ViS2l0OjpX
ZWJQYWdlPiBfcGFnZTsKICAgICBXZWFrT2JqQ1B0cjxpZCA8V0tXZWJQcm9jZXNzUGx1Z0luTG9h
ZERlbGVnYXRlPj4gX2xvYWREZWxlZ2F0ZTsKICAgICBXZWFrT2JqQ1B0cjxpZCA8V0tXZWJQcm9j
ZXNzUGx1Z0luRm9ybURlbGVnYXRlUHJpdmF0ZT4+IF9mb3JtRGVsZWdhdGU7CiAgICAgV2Vha09i
akNQdHI8aWQgPFdLV2ViUHJvY2Vzc1BsdWdJbkVkaXRpbmdEZWxlZ2F0ZT4+IF9lZGl0aW5nRGVs
ZWdhdGU7CkBAIC04OCw3ICs4NSw3IEBAIHN0YXRpYyB2b2lkIGRpZFN0YXJ0UHJvdmlzaW9uYWxM
b2FkRm9yRnJhbWUoV0tCdW5kbGVQYWdlUmVmIHBhZ2UsIFdLQnVuZGxlRnJhbWVSCiAgICAgYXV0
byBsb2FkRGVsZWdhdGUgPSBwbHVnaW5Db250ZXh0Q29udHJvbGxlci0+X2xvYWREZWxlZ2F0ZS5n
ZXQoKTsKIAogICAgIGlmIChbbG9hZERlbGVnYXRlIHJlc3BvbmRzVG9TZWxlY3RvcjpAc2VsZWN0
b3Iod2ViUHJvY2Vzc1BsdWdJbkJyb3dzZXJDb250ZXh0Q29udHJvbGxlcjpkaWRTdGFydFByb3Zp
c2lvbmFsTG9hZEZvckZyYW1lOildKQotICAgICAgICBbbG9hZERlbGVnYXRlIHdlYlByb2Nlc3NQ
bHVnSW5Ccm93c2VyQ29udGV4dENvbnRyb2xsZXI6cGx1Z2luQ29udGV4dENvbnRyb2xsZXIgZGlk
U3RhcnRQcm92aXNpb25hbExvYWRGb3JGcmFtZTp3cmFwcGVyKCp0b0ltcGwoZnJhbWUpKV07Cisg
ICAgICAgIFtsb2FkRGVsZWdhdGUgd2ViUHJvY2Vzc1BsdWdJbkJyb3dzZXJDb250ZXh0Q29udHJv
bGxlcjpwbHVnaW5Db250ZXh0Q29udHJvbGxlciBkaWRTdGFydFByb3Zpc2lvbmFsTG9hZEZvckZy
YW1lOndyYXBwZXIoKldlYktpdDo6dG9JbXBsKGZyYW1lKSldOwogfQogCiBzdGF0aWMgdm9pZCBk
aWRSZWNlaXZlU2VydmVyUmVkaXJlY3RGb3JQcm92aXNpb25hbExvYWRGb3JGcmFtZShXS0J1bmRs
ZVBhZ2VSZWYgcGFnZSwgV0tCdW5kbGVGcmFtZVJlZiBmcmFtZSwgV0tUeXBlUmVmICp1c2VyRGF0
YVJlZiwgY29uc3Qgdm9pZCAqY2xpZW50SW5mbykKQEAgLTk3LDcgKzk0LDcgQEAgc3RhdGljIHZv
aWQgZGlkUmVjZWl2ZVNlcnZlclJlZGlyZWN0Rm9yUHJvdmlzaW9uYWxMb2FkRm9yRnJhbWUoV0tC
dW5kbGVQYWdlUmVmIHAKICAgICBhdXRvIGxvYWREZWxlZ2F0ZSA9IHBsdWdpbkNvbnRleHRDb250
cm9sbGVyLT5fbG9hZERlbGVnYXRlLmdldCgpOwogCiAgICAgaWYgKFtsb2FkRGVsZWdhdGUgcmVz
cG9uZHNUb1NlbGVjdG9yOkBzZWxlY3Rvcih3ZWJQcm9jZXNzUGx1Z0luQnJvd3NlckNvbnRleHRD
b250cm9sbGVyOmRpZFJlY2VpdmVTZXJ2ZXJSZWRpcmVjdEZvclByb3Zpc2lvbmFsTG9hZEZvckZy
YW1lOildKQotICAgICAgICBbbG9hZERlbGVnYXRlIHdlYlByb2Nlc3NQbHVnSW5Ccm93c2VyQ29u
dGV4dENvbnRyb2xsZXI6cGx1Z2luQ29udGV4dENvbnRyb2xsZXIgZGlkUmVjZWl2ZVNlcnZlclJl
ZGlyZWN0Rm9yUHJvdmlzaW9uYWxMb2FkRm9yRnJhbWU6d3JhcHBlcigqdG9JbXBsKGZyYW1lKSld
OworICAgICAgICBbbG9hZERlbGVnYXRlIHdlYlByb2Nlc3NQbHVnSW5Ccm93c2VyQ29udGV4dENv
bnRyb2xsZXI6cGx1Z2luQ29udGV4dENvbnRyb2xsZXIgZGlkUmVjZWl2ZVNlcnZlclJlZGlyZWN0
Rm9yUHJvdmlzaW9uYWxMb2FkRm9yRnJhbWU6d3JhcHBlcigqV2ViS2l0Ojp0b0ltcGwoZnJhbWUp
KV07CiB9CiAKIHN0YXRpYyB2b2lkIGRpZEZpbmlzaExvYWRGb3JGcmFtZShXS0J1bmRsZVBhZ2VS
ZWYgcGFnZSwgV0tCdW5kbGVGcmFtZVJlZiBmcmFtZSwgV0tUeXBlUmVmKiB1c2VyRGF0YSwgY29u
c3Qgdm9pZCAqY2xpZW50SW5mbykKQEAgLTEwNiw3ICsxMDMsNyBAQCBzdGF0aWMgdm9pZCBkaWRG
aW5pc2hMb2FkRm9yRnJhbWUoV0tCdW5kbGVQYWdlUmVmIHBhZ2UsIFdLQnVuZGxlRnJhbWVSZWYg
ZnJhbWUsCiAgICAgYXV0byBsb2FkRGVsZWdhdGUgPSBwbHVnaW5Db250ZXh0Q29udHJvbGxlci0+
X2xvYWREZWxlZ2F0ZS5nZXQoKTsKIAogICAgIGlmIChbbG9hZERlbGVnYXRlIHJlc3BvbmRzVG9T
ZWxlY3RvcjpAc2VsZWN0b3Iod2ViUHJvY2Vzc1BsdWdJbkJyb3dzZXJDb250ZXh0Q29udHJvbGxl
cjpkaWRGaW5pc2hMb2FkRm9yRnJhbWU6KV0pCi0gICAgICAgIFtsb2FkRGVsZWdhdGUgd2ViUHJv
Y2Vzc1BsdWdJbkJyb3dzZXJDb250ZXh0Q29udHJvbGxlcjpwbHVnaW5Db250ZXh0Q29udHJvbGxl
ciBkaWRGaW5pc2hMb2FkRm9yRnJhbWU6d3JhcHBlcigqdG9JbXBsKGZyYW1lKSldOworICAgICAg
ICBbbG9hZERlbGVnYXRlIHdlYlByb2Nlc3NQbHVnSW5Ccm93c2VyQ29udGV4dENvbnRyb2xsZXI6
cGx1Z2luQ29udGV4dENvbnRyb2xsZXIgZGlkRmluaXNoTG9hZEZvckZyYW1lOndyYXBwZXIoKldl
YktpdDo6dG9JbXBsKGZyYW1lKSldOwogfQogCiBzdGF0aWMgdm9pZCBnbG9iYWxPYmplY3RJc0F2
YWlsYWJsZUZvckZyYW1lKFdLQnVuZGxlUGFnZVJlZiBwYWdlLCBXS0J1bmRsZUZyYW1lUmVmIGZy
YW1lLCBXS0J1bmRsZVNjcmlwdFdvcmxkUmVmIHNjcmlwdFdvcmxkLCBjb25zdCB2b2lkKiBjbGll
bnRJbmZvKQpAQCAtMTE1LDcgKzExMiw3IEBAIHN0YXRpYyB2b2lkIGdsb2JhbE9iamVjdElzQXZh
aWxhYmxlRm9yRnJhbWUoV0tCdW5kbGVQYWdlUmVmIHBhZ2UsIFdLQnVuZGxlRnJhbWVSCiAgICAg
YXV0byBsb2FkRGVsZWdhdGUgPSBwbHVnaW5Db250ZXh0Q29udHJvbGxlci0+X2xvYWREZWxlZ2F0
ZS5nZXQoKTsKIAogICAgIGlmIChbbG9hZERlbGVnYXRlIHJlc3BvbmRzVG9TZWxlY3RvcjpAc2Vs
ZWN0b3Iod2ViUHJvY2Vzc1BsdWdJbkJyb3dzZXJDb250ZXh0Q29udHJvbGxlcjpnbG9iYWxPYmpl
Y3RJc0F2YWlsYWJsZUZvckZyYW1lOmluU2NyaXB0V29ybGQ6KV0pCi0gICAgICAgIFtsb2FkRGVs
ZWdhdGUgd2ViUHJvY2Vzc1BsdWdJbkJyb3dzZXJDb250ZXh0Q29udHJvbGxlcjpwbHVnaW5Db250
ZXh0Q29udHJvbGxlciBnbG9iYWxPYmplY3RJc0F2YWlsYWJsZUZvckZyYW1lOndyYXBwZXIoKnRv
SW1wbChmcmFtZSkpIGluU2NyaXB0V29ybGQ6d3JhcHBlcigqdG9JbXBsKHNjcmlwdFdvcmxkKSld
OworICAgICAgICBbbG9hZERlbGVnYXRlIHdlYlByb2Nlc3NQbHVnSW5Ccm93c2VyQ29udGV4dENv
bnRyb2xsZXI6cGx1Z2luQ29udGV4dENvbnRyb2xsZXIgZ2xvYmFsT2JqZWN0SXNBdmFpbGFibGVG
b3JGcmFtZTp3cmFwcGVyKCpXZWJLaXQ6OnRvSW1wbChmcmFtZSkpIGluU2NyaXB0V29ybGQ6d3Jh
cHBlcigqV2ViS2l0Ojp0b0ltcGwoc2NyaXB0V29ybGQpKV07CiB9CiAKIHN0YXRpYyB2b2lkIGRp
ZFJlbW92ZUZyYW1lRnJvbUhpZXJhcmNoeShXS0J1bmRsZVBhZ2VSZWYgcGFnZSwgV0tCdW5kbGVG
cmFtZVJlZiBmcmFtZSwgV0tUeXBlUmVmKiB1c2VyRGF0YSwgY29uc3Qgdm9pZCogY2xpZW50SW5m
bykKQEAgLTEyNCw3ICsxMjEsNyBAQCBzdGF0aWMgdm9pZCBkaWRSZW1vdmVGcmFtZUZyb21IaWVy
YXJjaHkoV0tCdW5kbGVQYWdlUmVmIHBhZ2UsIFdLQnVuZGxlRnJhbWVSZWYgZgogICAgIGF1dG8g
bG9hZERlbGVnYXRlID0gcGx1Z2luQ29udGV4dENvbnRyb2xsZXItPl9sb2FkRGVsZWdhdGUuZ2V0
KCk7CiAKICAgICBpZiAoW2xvYWREZWxlZ2F0ZSByZXNwb25kc1RvU2VsZWN0b3I6QHNlbGVjdG9y
KHdlYlByb2Nlc3NQbHVnSW5Ccm93c2VyQ29udGV4dENvbnRyb2xsZXI6ZGlkUmVtb3ZlRnJhbWVG
cm9tSGllcmFyY2h5OildKQotICAgICAgICBbbG9hZERlbGVnYXRlIHdlYlByb2Nlc3NQbHVnSW5C
cm93c2VyQ29udGV4dENvbnRyb2xsZXI6cGx1Z2luQ29udGV4dENvbnRyb2xsZXIgZGlkUmVtb3Zl
RnJhbWVGcm9tSGllcmFyY2h5OndyYXBwZXIoKnRvSW1wbChmcmFtZSkpXTsKKyAgICAgICAgW2xv
YWREZWxlZ2F0ZSB3ZWJQcm9jZXNzUGx1Z0luQnJvd3NlckNvbnRleHRDb250cm9sbGVyOnBsdWdp
bkNvbnRleHRDb250cm9sbGVyIGRpZFJlbW92ZUZyYW1lRnJvbUhpZXJhcmNoeTp3cmFwcGVyKCpX
ZWJLaXQ6OnRvSW1wbChmcmFtZSkpXTsKIH0KIAogc3RhdGljIHZvaWQgZGlkQ29tbWl0TG9hZEZv
ckZyYW1lKFdLQnVuZGxlUGFnZVJlZiBwYWdlLCBXS0J1bmRsZUZyYW1lUmVmIGZyYW1lLCBXS1R5
cGVSZWYqIHVzZXJEYXRhLCBjb25zdCB2b2lkICpjbGllbnRJbmZvKQpAQCAtMTMzLDcgKzEzMCw3
IEBAIHN0YXRpYyB2b2lkIGRpZENvbW1pdExvYWRGb3JGcmFtZShXS0J1bmRsZVBhZ2VSZWYgcGFn
ZSwgV0tCdW5kbGVGcmFtZVJlZiBmcmFtZSwKICAgICBhdXRvIGxvYWREZWxlZ2F0ZSA9IHBsdWdp
bkNvbnRleHRDb250cm9sbGVyLT5fbG9hZERlbGVnYXRlLmdldCgpOwogCiAgICAgaWYgKFtsb2Fk
RGVsZWdhdGUgcmVzcG9uZHNUb1NlbGVjdG9yOkBzZWxlY3Rvcih3ZWJQcm9jZXNzUGx1Z0luQnJv
d3NlckNvbnRleHRDb250cm9sbGVyOmRpZENvbW1pdExvYWRGb3JGcmFtZTopXSkKLSAgICAgICAg
W2xvYWREZWxlZ2F0ZSB3ZWJQcm9jZXNzUGx1Z0luQnJvd3NlckNvbnRleHRDb250cm9sbGVyOnBs
dWdpbkNvbnRleHRDb250cm9sbGVyIGRpZENvbW1pdExvYWRGb3JGcmFtZTp3cmFwcGVyKCp0b0lt
cGwoZnJhbWUpKV07CisgICAgICAgIFtsb2FkRGVsZWdhdGUgd2ViUHJvY2Vzc1BsdWdJbkJyb3dz
ZXJDb250ZXh0Q29udHJvbGxlcjpwbHVnaW5Db250ZXh0Q29udHJvbGxlciBkaWRDb21taXRMb2Fk
Rm9yRnJhbWU6d3JhcHBlcigqV2ViS2l0Ojp0b0ltcGwoZnJhbWUpKV07CiB9CiAKIHN0YXRpYyB2
b2lkIGRpZEZpbmlzaERvY3VtZW50TG9hZEZvckZyYW1lKFdLQnVuZGxlUGFnZVJlZiBwYWdlLCBX
S0J1bmRsZUZyYW1lUmVmIGZyYW1lLCBXS1R5cGVSZWYqIHVzZXJEYXRhLCBjb25zdCB2b2lkICpj
bGllbnRJbmZvKQpAQCAtMTQyLDcgKzEzOSw3IEBAIHN0YXRpYyB2b2lkIGRpZEZpbmlzaERvY3Vt
ZW50TG9hZEZvckZyYW1lKFdLQnVuZGxlUGFnZVJlZiBwYWdlLCBXS0J1bmRsZUZyYW1lUmVmCiAg
ICAgYXV0byBsb2FkRGVsZWdhdGUgPSBwbHVnaW5Db250ZXh0Q29udHJvbGxlci0+X2xvYWREZWxl
Z2F0ZS5nZXQoKTsKIAogICAgIGlmIChbbG9hZERlbGVnYXRlIHJlc3BvbmRzVG9TZWxlY3RvcjpA
c2VsZWN0b3Iod2ViUHJvY2Vzc1BsdWdJbkJyb3dzZXJDb250ZXh0Q29udHJvbGxlcjpkaWRGaW5p
c2hEb2N1bWVudExvYWRGb3JGcmFtZTopXSkKLSAgICAgICAgW2xvYWREZWxlZ2F0ZSB3ZWJQcm9j
ZXNzUGx1Z0luQnJvd3NlckNvbnRleHRDb250cm9sbGVyOnBsdWdpbkNvbnRleHRDb250cm9sbGVy
IGRpZEZpbmlzaERvY3VtZW50TG9hZEZvckZyYW1lOndyYXBwZXIoKnRvSW1wbChmcmFtZSkpXTsK
KyAgICAgICAgW2xvYWREZWxlZ2F0ZSB3ZWJQcm9jZXNzUGx1Z0luQnJvd3NlckNvbnRleHRDb250
cm9sbGVyOnBsdWdpbkNvbnRleHRDb250cm9sbGVyIGRpZEZpbmlzaERvY3VtZW50TG9hZEZvckZy
YW1lOndyYXBwZXIoKldlYktpdDo6dG9JbXBsKGZyYW1lKSldOwogfQogCiBzdGF0aWMgdm9pZCBk
aWRGYWlsUHJvdmlzaW9uYWxMb2FkV2l0aEVycm9yRm9yRnJhbWUoV0tCdW5kbGVQYWdlUmVmIHBh
Z2UsIFdLQnVuZGxlRnJhbWVSZWYgZnJhbWUsIFdLRXJyb3JSZWYgd2tFcnJvciwgV0tUeXBlUmVm
KiB1c2VyRGF0YSwgY29uc3Qgdm9pZCAqY2xpZW50SW5mbykKQEAgLTE1MSw3ICsxNDgsNyBAQCBz
dGF0aWMgdm9pZCBkaWRGYWlsUHJvdmlzaW9uYWxMb2FkV2l0aEVycm9yRm9yRnJhbWUoV0tCdW5k
bGVQYWdlUmVmIHBhZ2UsIFdLQnVuZAogICAgIGF1dG8gbG9hZERlbGVnYXRlID0gcGx1Z2luQ29u
dGV4dENvbnRyb2xsZXItPl9sb2FkRGVsZWdhdGUuZ2V0KCk7CiAKICAgICBpZiAoW2xvYWREZWxl
Z2F0ZSByZXNwb25kc1RvU2VsZWN0b3I6QHNlbGVjdG9yKHdlYlByb2Nlc3NQbHVnSW5Ccm93c2Vy
Q29udGV4dENvbnRyb2xsZXI6ZGlkRmFpbFByb3Zpc2lvbmFsTG9hZFdpdGhFcnJvckZvckZyYW1l
OmVycm9yOildKQotICAgICAgICBbbG9hZERlbGVnYXRlIHdlYlByb2Nlc3NQbHVnSW5Ccm93c2Vy
Q29udGV4dENvbnRyb2xsZXI6cGx1Z2luQ29udGV4dENvbnRyb2xsZXIgZGlkRmFpbFByb3Zpc2lv
bmFsTG9hZFdpdGhFcnJvckZvckZyYW1lOndyYXBwZXIoKnRvSW1wbChmcmFtZSkpIGVycm9yOndy
YXBwZXIoKnRvSW1wbCh3a0Vycm9yKSldOworICAgICAgICBbbG9hZERlbGVnYXRlIHdlYlByb2Nl
c3NQbHVnSW5Ccm93c2VyQ29udGV4dENvbnRyb2xsZXI6cGx1Z2luQ29udGV4dENvbnRyb2xsZXIg
ZGlkRmFpbFByb3Zpc2lvbmFsTG9hZFdpdGhFcnJvckZvckZyYW1lOndyYXBwZXIoKldlYktpdDo6
dG9JbXBsKGZyYW1lKSkgZXJyb3I6d3JhcHBlcigqV2ViS2l0Ojp0b0ltcGwod2tFcnJvcikpXTsK
IH0KIAogc3RhdGljIHZvaWQgZGlkRmFpbExvYWRXaXRoRXJyb3JGb3JGcmFtZShXS0J1bmRsZVBh
Z2VSZWYgcGFnZSwgV0tCdW5kbGVGcmFtZVJlZiBmcmFtZSwgV0tFcnJvclJlZiB3a0Vycm9yLCBX
S1R5cGVSZWYqIHVzZXJEYXRhLCBjb25zdCB2b2lkICpjbGllbnRJbmZvKQpAQCAtMTYwLDcgKzE1
Nyw3IEBAIHN0YXRpYyB2b2lkIGRpZEZhaWxMb2FkV2l0aEVycm9yRm9yRnJhbWUoV0tCdW5kbGVQ
YWdlUmVmIHBhZ2UsIFdLQnVuZGxlRnJhbWVSZWYKICAgICBhdXRvIGxvYWREZWxlZ2F0ZSA9IHBs
dWdpbkNvbnRleHRDb250cm9sbGVyLT5fbG9hZERlbGVnYXRlLmdldCgpOwogCiAgICAgaWYgKFts
b2FkRGVsZWdhdGUgcmVzcG9uZHNUb1NlbGVjdG9yOkBzZWxlY3Rvcih3ZWJQcm9jZXNzUGx1Z0lu
QnJvd3NlckNvbnRleHRDb250cm9sbGVyOmRpZEZhaWxMb2FkV2l0aEVycm9yRm9yRnJhbWU6ZXJy
b3I6KV0pCi0gICAgICAgIFtsb2FkRGVsZWdhdGUgd2ViUHJvY2Vzc1BsdWdJbkJyb3dzZXJDb250
ZXh0Q29udHJvbGxlcjpwbHVnaW5Db250ZXh0Q29udHJvbGxlciBkaWRGYWlsTG9hZFdpdGhFcnJv
ckZvckZyYW1lOndyYXBwZXIoKnRvSW1wbChmcmFtZSkpIGVycm9yOndyYXBwZXIoKnRvSW1wbCh3
a0Vycm9yKSldOworICAgICAgICBbbG9hZERlbGVnYXRlIHdlYlByb2Nlc3NQbHVnSW5Ccm93c2Vy
Q29udGV4dENvbnRyb2xsZXI6cGx1Z2luQ29udGV4dENvbnRyb2xsZXIgZGlkRmFpbExvYWRXaXRo
RXJyb3JGb3JGcmFtZTp3cmFwcGVyKCpXZWJLaXQ6OnRvSW1wbChmcmFtZSkpIGVycm9yOndyYXBw
ZXIoKldlYktpdDo6dG9JbXBsKHdrRXJyb3IpKV07CiB9CiAKIHN0YXRpYyB2b2lkIGRpZFNhbWVE
b2N1bWVudE5hdmlnYXRpb25Gb3JGcmFtZShXS0J1bmRsZVBhZ2VSZWYgcGFnZSwgV0tCdW5kbGVG
cmFtZVJlZiBmcmFtZSwgV0tTYW1lRG9jdW1lbnROYXZpZ2F0aW9uVHlwZSB0eXBlLCBXS1R5cGVS
ZWYqIHVzZXJEYXRhLCBjb25zdCB2b2lkICpjbGllbnRJbmZvKQpAQCAtMTY5LDExICsxNjYsMTEg
QEAgc3RhdGljIHZvaWQgZGlkU2FtZURvY3VtZW50TmF2aWdhdGlvbkZvckZyYW1lKFdLQnVuZGxl
UGFnZVJlZiBwYWdlLCBXS0J1bmRsZUZyYW0KICAgICBhdXRvIGxvYWREZWxlZ2F0ZSA9IHBsdWdp
bkNvbnRleHRDb250cm9sbGVyLT5fbG9hZERlbGVnYXRlLmdldCgpOwogCiAgICAgaWYgKFtsb2Fk
RGVsZWdhdGUgcmVzcG9uZHNUb1NlbGVjdG9yOkBzZWxlY3Rvcih3ZWJQcm9jZXNzUGx1Z0luQnJv
d3NlckNvbnRleHRDb250cm9sbGVyOmRpZFNhbWVEb2N1bWVudE5hdmlnYXRpb246Zm9yRnJhbWU6
KV0pCi0gICAgICAgIFtsb2FkRGVsZWdhdGUgd2ViUHJvY2Vzc1BsdWdJbkJyb3dzZXJDb250ZXh0
Q29udHJvbGxlcjpwbHVnaW5Db250ZXh0Q29udHJvbGxlciBkaWRTYW1lRG9jdW1lbnROYXZpZ2F0
aW9uOnRvV0tTYW1lRG9jdW1lbnROYXZpZ2F0aW9uVHlwZSh0b1NhbWVEb2N1bWVudE5hdmlnYXRp
b25UeXBlKHR5cGUpKSBmb3JGcmFtZTp3cmFwcGVyKCp0b0ltcGwoZnJhbWUpKV07CisgICAgICAg
IFtsb2FkRGVsZWdhdGUgd2ViUHJvY2Vzc1BsdWdJbkJyb3dzZXJDb250ZXh0Q29udHJvbGxlcjpw
bHVnaW5Db250ZXh0Q29udHJvbGxlciBkaWRTYW1lRG9jdW1lbnROYXZpZ2F0aW9uOnRvV0tTYW1l
RG9jdW1lbnROYXZpZ2F0aW9uVHlwZShXZWJLaXQ6OnRvU2FtZURvY3VtZW50TmF2aWdhdGlvblR5
cGUodHlwZSkpIGZvckZyYW1lOndyYXBwZXIoKldlYktpdDo6dG9JbXBsKGZyYW1lKSldOwogICAg
IGVsc2UgewogICAgICAgICAvLyBGSVhNRTogUmVtb3ZlIHRoaXMgb25jZSBjbGllbnRzIHN3aXRj
aCB0byBpbXBsZW1lbnRpbmcgdGhlIGFib3ZlIGRlbGVnYXRlIG1ldGhvZC4KICAgICAgICAgaWYg
KFtsb2FkRGVsZWdhdGUgcmVzcG9uZHNUb1NlbGVjdG9yOkBzZWxlY3Rvcih3ZWJQcm9jZXNzUGx1
Z0luQnJvd3NlckNvbnRleHRDb250cm9sbGVyOmRpZFNhbWVEb2N1bWVudE5hdmlnYXRpb25Gb3JG
cmFtZTopXSkKLSAgICAgICAgICAgIFsoTlNPYmplY3QgKilsb2FkRGVsZWdhdGUgd2ViUHJvY2Vz
c1BsdWdJbkJyb3dzZXJDb250ZXh0Q29udHJvbGxlcjpwbHVnaW5Db250ZXh0Q29udHJvbGxlciBk
aWRTYW1lRG9jdW1lbnROYXZpZ2F0aW9uRm9yRnJhbWU6d3JhcHBlcigqdG9JbXBsKGZyYW1lKSld
OworICAgICAgICAgICAgWyhOU09iamVjdCAqKWxvYWREZWxlZ2F0ZSB3ZWJQcm9jZXNzUGx1Z0lu
QnJvd3NlckNvbnRleHRDb250cm9sbGVyOnBsdWdpbkNvbnRleHRDb250cm9sbGVyIGRpZFNhbWVE
b2N1bWVudE5hdmlnYXRpb25Gb3JGcmFtZTp3cmFwcGVyKCpXZWJLaXQ6OnRvSW1wbChmcmFtZSkp
XTsKICAgICB9CiB9CiAKQEAgLTE4Myw3ICsxODAsNyBAQCBzdGF0aWMgdm9pZCBkaWRMYXlvdXRG
b3JGcmFtZShXS0J1bmRsZVBhZ2VSZWYgcGFnZSwgV0tCdW5kbGVGcmFtZVJlZiBmcmFtZSwgY29u
cwogICAgIGF1dG8gbG9hZERlbGVnYXRlID0gcGx1Z2luQ29udGV4dENvbnRyb2xsZXItPl9sb2Fk
RGVsZWdhdGUuZ2V0KCk7CiAKICAgICBpZiAoW2xvYWREZWxlZ2F0ZSByZXNwb25kc1RvU2VsZWN0
b3I6QHNlbGVjdG9yKHdlYlByb2Nlc3NQbHVnSW5Ccm93c2VyQ29udGV4dENvbnRyb2xsZXI6ZGlk
TGF5b3V0Rm9yRnJhbWU6KV0pCi0gICAgICAgIFtsb2FkRGVsZWdhdGUgd2ViUHJvY2Vzc1BsdWdJ
bkJyb3dzZXJDb250ZXh0Q29udHJvbGxlcjpwbHVnaW5Db250ZXh0Q29udHJvbGxlciBkaWRMYXlv
dXRGb3JGcmFtZTp3cmFwcGVyKCp0b0ltcGwoZnJhbWUpKV07CisgICAgICAgIFtsb2FkRGVsZWdh
dGUgd2ViUHJvY2Vzc1BsdWdJbkJyb3dzZXJDb250ZXh0Q29udHJvbGxlcjpwbHVnaW5Db250ZXh0
Q29udHJvbGxlciBkaWRMYXlvdXRGb3JGcmFtZTp3cmFwcGVyKCpXZWJLaXQ6OnRvSW1wbChmcmFt
ZSkpXTsKIH0KIAogc3RhdGljIHZvaWQgZGlkUmVhY2hMYXlvdXRNaWxlc3RvbmUoV0tCdW5kbGVQ
YWdlUmVmIHBhZ2UsIFdLTGF5b3V0TWlsZXN0b25lcyBtaWxlc3RvbmVzLCBXS1R5cGVSZWYqIHVz
ZXJEYXRhLCBjb25zdCB2b2lkICpjbGllbnRJbmZvKQpAQCAtMTkyLDcgKzE4OSw3IEBAIHN0YXRp
YyB2b2lkIGRpZFJlYWNoTGF5b3V0TWlsZXN0b25lKFdLQnVuZGxlUGFnZVJlZiBwYWdlLCBXS0xh
eW91dE1pbGVzdG9uZXMgbWlsCiAgICAgYXV0byBsb2FkRGVsZWdhdGUgPSBwbHVnaW5Db250ZXh0
Q29udHJvbGxlci0+X2xvYWREZWxlZ2F0ZS5nZXQoKTsKIAogICAgIGlmIChbbG9hZERlbGVnYXRl
IHJlc3BvbmRzVG9TZWxlY3RvcjpAc2VsZWN0b3Iod2ViUHJvY2Vzc1BsdWdJbkJyb3dzZXJDb250
ZXh0Q29udHJvbGxlcjpyZW5kZXJpbmdQcm9ncmVzc0RpZENoYW5nZTopXSkKLSAgICAgICAgW2xv
YWREZWxlZ2F0ZSB3ZWJQcm9jZXNzUGx1Z0luQnJvd3NlckNvbnRleHRDb250cm9sbGVyOnBsdWdp
bkNvbnRleHRDb250cm9sbGVyIHJlbmRlcmluZ1Byb2dyZXNzRGlkQ2hhbmdlOnJlbmRlcmluZ1By
b2dyZXNzRXZlbnRzKHRvTGF5b3V0TWlsZXN0b25lcyhtaWxlc3RvbmVzKSldOworICAgICAgICBb
bG9hZERlbGVnYXRlIHdlYlByb2Nlc3NQbHVnSW5Ccm93c2VyQ29udGV4dENvbnRyb2xsZXI6cGx1
Z2luQ29udGV4dENvbnRyb2xsZXIgcmVuZGVyaW5nUHJvZ3Jlc3NEaWRDaGFuZ2U6cmVuZGVyaW5n
UHJvZ3Jlc3NFdmVudHMoV2ViS2l0Ojp0b0xheW91dE1pbGVzdG9uZXMobWlsZXN0b25lcykpXTsK
IH0KIAogc3RhdGljIHZvaWQgZGlkRmlyc3RWaXN1YWxseU5vbkVtcHR5TGF5b3V0Rm9yRnJhbWUo
V0tCdW5kbGVQYWdlUmVmIHBhZ2UsIFdLQnVuZGxlRnJhbWVSZWYgZnJhbWUsIFdLVHlwZVJlZiog
dXNlckRhdGEsIGNvbnN0IHZvaWQgKmNsaWVudEluZm8pCkBAIC0yMDEsNyArMTk4LDcgQEAgc3Rh
dGljIHZvaWQgZGlkRmlyc3RWaXN1YWxseU5vbkVtcHR5TGF5b3V0Rm9yRnJhbWUoV0tCdW5kbGVQ
YWdlUmVmIHBhZ2UsIFdLQnVuZGwKICAgICBhdXRvIGxvYWREZWxlZ2F0ZSA9IHBsdWdpbkNvbnRl
eHRDb250cm9sbGVyLT5fbG9hZERlbGVnYXRlLmdldCgpOwogCiAgICAgaWYgKFtsb2FkRGVsZWdh
dGUgcmVzcG9uZHNUb1NlbGVjdG9yOkBzZWxlY3Rvcih3ZWJQcm9jZXNzUGx1Z0luQnJvd3NlckNv
bnRleHRDb250cm9sbGVyOmRpZEZpcnN0VmlzdWFsbHlOb25FbXB0eUxheW91dEZvckZyYW1lOild
KQotICAgICAgICBbbG9hZERlbGVnYXRlIHdlYlByb2Nlc3NQbHVnSW5Ccm93c2VyQ29udGV4dENv
bnRyb2xsZXI6cGx1Z2luQ29udGV4dENvbnRyb2xsZXIgZGlkRmlyc3RWaXN1YWxseU5vbkVtcHR5
TGF5b3V0Rm9yRnJhbWU6d3JhcHBlcigqdG9JbXBsKGZyYW1lKSldOworICAgICAgICBbbG9hZERl
bGVnYXRlIHdlYlByb2Nlc3NQbHVnSW5Ccm93c2VyQ29udGV4dENvbnRyb2xsZXI6cGx1Z2luQ29u
dGV4dENvbnRyb2xsZXIgZGlkRmlyc3RWaXN1YWxseU5vbkVtcHR5TGF5b3V0Rm9yRnJhbWU6d3Jh
cHBlcigqV2ViS2l0Ojp0b0ltcGwoZnJhbWUpKV07CiB9CiAKIHN0YXRpYyB2b2lkIGRpZEhhbmRs
ZU9ubG9hZEV2ZW50c0ZvckZyYW1lKFdLQnVuZGxlUGFnZVJlZiBwYWdlLCBXS0J1bmRsZUZyYW1l
UmVmIGZyYW1lLCBjb25zdCB2b2lkKiBjbGllbnRJbmZvKQpAQCAtMjEwLDcgKzIwNyw3IEBAIHN0
YXRpYyB2b2lkIGRpZEhhbmRsZU9ubG9hZEV2ZW50c0ZvckZyYW1lKFdLQnVuZGxlUGFnZVJlZiBw
YWdlLCBXS0J1bmRsZUZyYW1lUmVmCiAgICAgYXV0byBsb2FkRGVsZWdhdGUgPSBwbHVnaW5Db250
ZXh0Q29udHJvbGxlci0+X2xvYWREZWxlZ2F0ZS5nZXQoKTsKIAogICAgIGlmIChbbG9hZERlbGVn
YXRlIHJlc3BvbmRzVG9TZWxlY3RvcjpAc2VsZWN0b3Iod2ViUHJvY2Vzc1BsdWdJbkJyb3dzZXJD
b250ZXh0Q29udHJvbGxlcjpkaWRIYW5kbGVPbmxvYWRFdmVudHNGb3JGcmFtZTopXSkKLSAgICAg
ICAgW2xvYWREZWxlZ2F0ZSB3ZWJQcm9jZXNzUGx1Z0luQnJvd3NlckNvbnRleHRDb250cm9sbGVy
OnBsdWdpbkNvbnRleHRDb250cm9sbGVyIGRpZEhhbmRsZU9ubG9hZEV2ZW50c0ZvckZyYW1lOndy
YXBwZXIoKnRvSW1wbChmcmFtZSkpXTsKKyAgICAgICAgW2xvYWREZWxlZ2F0ZSB3ZWJQcm9jZXNz
UGx1Z0luQnJvd3NlckNvbnRleHRDb250cm9sbGVyOnBsdWdpbkNvbnRleHRDb250cm9sbGVyIGRp
ZEhhbmRsZU9ubG9hZEV2ZW50c0ZvckZyYW1lOndyYXBwZXIoKldlYktpdDo6dG9JbXBsKGZyYW1l
KSldOwogfQogCiBzdGF0aWMgV0tTdHJpbmdSZWYgdXNlckFnZW50Rm9yVVJMKFdLQnVuZGxlRnJh
bWVSZWYgZnJhbWUsIFdLVVJMUmVmIHVybCwgY29uc3Qgdm9pZCogY2xpZW50SW5mbykKQEAgLTIx
OSw4ICsyMTYsOCBAQCBzdGF0aWMgV0tTdHJpbmdSZWYgdXNlckFnZW50Rm9yVVJMKFdLQnVuZGxl
RnJhbWVSZWYgZnJhbWUsIFdLVVJMUmVmIHVybCwgY29uc3QgdgogICAgIGF1dG8gbG9hZERlbGVn
YXRlID0gcGx1Z2luQ29udGV4dENvbnRyb2xsZXItPl9sb2FkRGVsZWdhdGUuZ2V0KCk7CiAgICAg
CiAgICAgaWYgKFtsb2FkRGVsZWdhdGUgcmVzcG9uZHNUb1NlbGVjdG9yOkBzZWxlY3Rvcih3ZWJQ
cm9jZXNzUGx1Z0luQnJvd3NlckNvbnRleHRDb250cm9sbGVyOmZyYW1lOnVzZXJBZ2VudEZvclVS
TDopXSkgewotICAgICAgICBXS1dlYlByb2Nlc3NQbHVnSW5GcmFtZSAqbmV3RnJhbWUgPSB3cmFw
cGVyKCp0b0ltcGwoZnJhbWUpKTsKLSAgICAgICAgTlNTdHJpbmcgKnN0cmluZyA9IFtsb2FkRGVs
ZWdhdGUgd2ViUHJvY2Vzc1BsdWdJbkJyb3dzZXJDb250ZXh0Q29udHJvbGxlcjpwbHVnaW5Db250
ZXh0Q29udHJvbGxlciBmcmFtZTpuZXdGcmFtZSB1c2VyQWdlbnRGb3JVUkw6d3JhcHBlcigqdG9J
bXBsKHVybCkpXTsKKyAgICAgICAgV0tXZWJQcm9jZXNzUGx1Z0luRnJhbWUgKm5ld0ZyYW1lID0g
d3JhcHBlcigqV2ViS2l0Ojp0b0ltcGwoZnJhbWUpKTsKKyAgICAgICAgTlNTdHJpbmcgKnN0cmlu
ZyA9IFtsb2FkRGVsZWdhdGUgd2ViUHJvY2Vzc1BsdWdJbkJyb3dzZXJDb250ZXh0Q29udHJvbGxl
cjpwbHVnaW5Db250ZXh0Q29udHJvbGxlciBmcmFtZTpuZXdGcmFtZSB1c2VyQWdlbnRGb3JVUkw6
d3JhcHBlcigqV2ViS2l0Ojp0b0ltcGwodXJsKSldOwogICAgICAgICBpZiAoIXN0cmluZykKICAg
ICAgICAgICAgIHJldHVybiBudWxscHRyOwogCkBAIC0yMzAsNyArMjI3LDcgQEAgc3RhdGljIFdL
U3RyaW5nUmVmIHVzZXJBZ2VudEZvclVSTChXS0J1bmRsZUZyYW1lUmVmIGZyYW1lLCBXS1VSTFJl
ZiB1cmwsIGNvbnN0IHYKICAgICByZXR1cm4gbnVsbHB0cjsKIH0KIAotc3RhdGljIHZvaWQgc2V0
VXBQYWdlTG9hZGVyQ2xpZW50KFdLV2ViUHJvY2Vzc1BsdWdJbkJyb3dzZXJDb250ZXh0Q29udHJv
bGxlciAqY29udGV4dENvbnRyb2xsZXIsIFdlYlBhZ2UmIHBhZ2UpCitzdGF0aWMgdm9pZCBzZXRV
cFBhZ2VMb2FkZXJDbGllbnQoV0tXZWJQcm9jZXNzUGx1Z0luQnJvd3NlckNvbnRleHRDb250cm9s
bGVyICpjb250ZXh0Q29udHJvbGxlciwgV2ViS2l0OjpXZWJQYWdlJiBwYWdlKQogewogICAgIFdL
QnVuZGxlUGFnZUxvYWRlckNsaWVudFY5IGNsaWVudDsKICAgICBtZW1zZXQoJmNsaWVudCwgMCwg
c2l6ZW9mKGNsaWVudCkpOwpAQCAtMjYzLDE2ICsyNjAsMTYgQEAgc3RhdGljIFdLVVJMUmVxdWVz
dFJlZiB3aWxsU2VuZFJlcXVlc3RGb3JGcmFtZShXS0J1bmRsZVBhZ2VSZWYsIFdLQnVuZGxlRnJh
bWVSZWYKICAgICBhdXRvIGxvYWREZWxlZ2F0ZSA9IHBsdWdpbkNvbnRleHRDb250cm9sbGVyLT5f
bG9hZERlbGVnYXRlLmdldCgpOwogCiAgICAgaWYgKFtsb2FkRGVsZWdhdGUgcmVzcG9uZHNUb1Nl
bGVjdG9yOkBzZWxlY3Rvcih3ZWJQcm9jZXNzUGx1Z0luQnJvd3NlckNvbnRleHRDb250cm9sbGVy
OmZyYW1lOndpbGxTZW5kUmVxdWVzdEZvclJlc291cmNlOnJlcXVlc3Q6cmVkaXJlY3RSZXNwb25z
ZTopXSkgewotICAgICAgICBOU1VSTFJlcXVlc3QgKm9yaWdpbmFsUmVxdWVzdCA9IHdyYXBwZXIo
KnRvSW1wbChyZXF1ZXN0KSk7Ci0gICAgICAgIFJldGFpblB0cjxOU1VSTFJlcXVlc3Q+IHN1YnN0
aXR1dGVSZXF1ZXN0ID0gW2xvYWREZWxlZ2F0ZSB3ZWJQcm9jZXNzUGx1Z0luQnJvd3NlckNvbnRl
eHRDb250cm9sbGVyOnBsdWdpbkNvbnRleHRDb250cm9sbGVyIGZyYW1lOndyYXBwZXIoKnRvSW1w
bChmcmFtZSkpIHdpbGxTZW5kUmVxdWVzdEZvclJlc291cmNlOnJlc291cmNlSWRlbnRpZmllcgot
ICAgICAgICAgICAgcmVxdWVzdDpvcmlnaW5hbFJlcXVlc3QgcmVkaXJlY3RSZXNwb25zZTp0b0lt
cGwocmVkaXJlY3RSZXNwb25zZSktPnJlc291cmNlUmVzcG9uc2UoKS5uc1VSTFJlc3BvbnNlKCld
OworICAgICAgICBOU1VSTFJlcXVlc3QgKm9yaWdpbmFsUmVxdWVzdCA9IHdyYXBwZXIoKldlYktp
dDo6dG9JbXBsKHJlcXVlc3QpKTsKKyAgICAgICAgUmV0YWluUHRyPE5TVVJMUmVxdWVzdD4gc3Vi
c3RpdHV0ZVJlcXVlc3QgPSBbbG9hZERlbGVnYXRlIHdlYlByb2Nlc3NQbHVnSW5Ccm93c2VyQ29u
dGV4dENvbnRyb2xsZXI6cGx1Z2luQ29udGV4dENvbnRyb2xsZXIgZnJhbWU6d3JhcHBlcigqV2Vi
S2l0Ojp0b0ltcGwoZnJhbWUpKSB3aWxsU2VuZFJlcXVlc3RGb3JSZXNvdXJjZTpyZXNvdXJjZUlk
ZW50aWZpZXIKKyAgICAgICAgICAgIHJlcXVlc3Q6b3JpZ2luYWxSZXF1ZXN0IHJlZGlyZWN0UmVz
cG9uc2U6V2ViS2l0Ojp0b0ltcGwocmVkaXJlY3RSZXNwb25zZSktPnJlc291cmNlUmVzcG9uc2Uo
KS5uc1VSTFJlc3BvbnNlKCldOwogCiAgICAgICAgIGlmIChzdWJzdGl0dXRlUmVxdWVzdCAhPSBv
cmlnaW5hbFJlcXVlc3QpCiAgICAgICAgICAgICByZXR1cm4gc3Vic3RpdHV0ZVJlcXVlc3QgPyBX
S1VSTFJlcXVlc3RDcmVhdGVXaXRoTlNVUkxSZXF1ZXN0KHN1YnN0aXR1dGVSZXF1ZXN0LmdldCgp
KSA6IG51bGxwdHI7CiAgICAgfSBlbHNlIGlmIChbbG9hZERlbGVnYXRlIHJlc3BvbmRzVG9TZWxl
Y3RvcjpAc2VsZWN0b3Iod2ViUHJvY2Vzc1BsdWdJbkJyb3dzZXJDb250ZXh0Q29udHJvbGxlcjpm
cmFtZTp3aWxsU2VuZFJlcXVlc3Q6cmVkaXJlY3RSZXNwb25zZTopXSkgewotICAgICAgICBOU1VS
TFJlcXVlc3QgKm9yaWdpbmFsUmVxdWVzdCA9IHdyYXBwZXIoKnRvSW1wbChyZXF1ZXN0KSk7Ci0g
ICAgICAgIFJldGFpblB0cjxOU1VSTFJlcXVlc3Q+IHN1YnN0aXR1dGVSZXF1ZXN0ID0gW2xvYWRE
ZWxlZ2F0ZSB3ZWJQcm9jZXNzUGx1Z0luQnJvd3NlckNvbnRleHRDb250cm9sbGVyOnBsdWdpbkNv
bnRleHRDb250cm9sbGVyIGZyYW1lOndyYXBwZXIoKnRvSW1wbChmcmFtZSkpIHdpbGxTZW5kUmVx
dWVzdDpvcmlnaW5hbFJlcXVlc3QKLSAgICAgICAgICAgIHJlZGlyZWN0UmVzcG9uc2U6dG9JbXBs
KHJlZGlyZWN0UmVzcG9uc2UpLT5yZXNvdXJjZVJlc3BvbnNlKCkubnNVUkxSZXNwb25zZSgpXTsK
KyAgICAgICAgTlNVUkxSZXF1ZXN0ICpvcmlnaW5hbFJlcXVlc3QgPSB3cmFwcGVyKCpXZWJLaXQ6
OnRvSW1wbChyZXF1ZXN0KSk7CisgICAgICAgIFJldGFpblB0cjxOU1VSTFJlcXVlc3Q+IHN1YnN0
aXR1dGVSZXF1ZXN0ID0gW2xvYWREZWxlZ2F0ZSB3ZWJQcm9jZXNzUGx1Z0luQnJvd3NlckNvbnRl
eHRDb250cm9sbGVyOnBsdWdpbkNvbnRleHRDb250cm9sbGVyIGZyYW1lOndyYXBwZXIoKldlYktp
dDo6dG9JbXBsKGZyYW1lKSkgd2lsbFNlbmRSZXF1ZXN0Om9yaWdpbmFsUmVxdWVzdAorICAgICAg
ICAgICAgcmVkaXJlY3RSZXNwb25zZTpXZWJLaXQ6OnRvSW1wbChyZWRpcmVjdFJlc3BvbnNlKS0+
cmVzb3VyY2VSZXNwb25zZSgpLm5zVVJMUmVzcG9uc2UoKV07CiAKICAgICAgICAgaWYgKHN1YnN0
aXR1dGVSZXF1ZXN0ICE9IG9yaWdpbmFsUmVxdWVzdCkKICAgICAgICAgICAgIHJldHVybiBzdWJz
dGl0dXRlUmVxdWVzdCA/IFdLVVJMUmVxdWVzdENyZWF0ZVdpdGhOU1VSTFJlcXVlc3Qoc3Vic3Rp
dHV0ZVJlcXVlc3QuZ2V0KCkpIDogbnVsbHB0cjsKQEAgLTI4OCwxMCArMjg1LDEwIEBAIHN0YXRp
YyB2b2lkIGRpZEluaXRpYXRlTG9hZEZvclJlc291cmNlKFdLQnVuZGxlUGFnZVJlZiwgV0tCdW5k
bGVGcmFtZVJlZiBmcmFtZSwKICAgICBhdXRvIGxvYWREZWxlZ2F0ZSA9IHBsdWdpbkNvbnRleHRD
b250cm9sbGVyLT5fbG9hZERlbGVnYXRlLmdldCgpOwogCiAgICAgaWYgKFtsb2FkRGVsZWdhdGUg
cmVzcG9uZHNUb1NlbGVjdG9yOkBzZWxlY3Rvcih3ZWJQcm9jZXNzUGx1Z0luQnJvd3NlckNvbnRl
eHRDb250cm9sbGVyOmZyYW1lOmRpZEluaXRpYXRlTG9hZEZvclJlc291cmNlOnJlcXVlc3Q6cGFn
ZUlzUHJvdmlzaW9uYWxseUxvYWRpbmc6KV0pIHsKLSAgICAgICAgW2xvYWREZWxlZ2F0ZSB3ZWJQ
cm9jZXNzUGx1Z0luQnJvd3NlckNvbnRleHRDb250cm9sbGVyOnBsdWdpbkNvbnRleHRDb250cm9s
bGVyIGZyYW1lOndyYXBwZXIoKnRvSW1wbChmcmFtZSkpIGRpZEluaXRpYXRlTG9hZEZvclJlc291
cmNlOnJlc291cmNlSWRlbnRpZmllciByZXF1ZXN0OndyYXBwZXIoKnRvSW1wbChyZXF1ZXN0KSkK
KyAgICAgICAgW2xvYWREZWxlZ2F0ZSB3ZWJQcm9jZXNzUGx1Z0luQnJvd3NlckNvbnRleHRDb250
cm9sbGVyOnBsdWdpbkNvbnRleHRDb250cm9sbGVyIGZyYW1lOndyYXBwZXIoKldlYktpdDo6dG9J
bXBsKGZyYW1lKSkgZGlkSW5pdGlhdGVMb2FkRm9yUmVzb3VyY2U6cmVzb3VyY2VJZGVudGlmaWVy
IHJlcXVlc3Q6d3JhcHBlcigqV2ViS2l0Ojp0b0ltcGwocmVxdWVzdCkpCiAgICAgICAgICAgICBw
YWdlSXNQcm92aXNpb25hbGx5TG9hZGluZzpwYWdlSXNQcm92aXNpb25hbGx5TG9hZGluZ107CiAg
ICAgfSBlbHNlIGlmIChbbG9hZERlbGVnYXRlIHJlc3BvbmRzVG9TZWxlY3RvcjpAc2VsZWN0b3Io
d2ViUHJvY2Vzc1BsdWdJbkJyb3dzZXJDb250ZXh0Q29udHJvbGxlcjpmcmFtZTpkaWRJbml0aWF0
ZUxvYWRGb3JSZXNvdXJjZTpyZXF1ZXN0OildKSB7Ci0gICAgICAgIFtsb2FkRGVsZWdhdGUgd2Vi
UHJvY2Vzc1BsdWdJbkJyb3dzZXJDb250ZXh0Q29udHJvbGxlcjpwbHVnaW5Db250ZXh0Q29udHJv
bGxlciBmcmFtZTp3cmFwcGVyKCp0b0ltcGwoZnJhbWUpKSBkaWRJbml0aWF0ZUxvYWRGb3JSZXNv
dXJjZTpyZXNvdXJjZUlkZW50aWZpZXIgcmVxdWVzdDp3cmFwcGVyKCp0b0ltcGwocmVxdWVzdCkp
XTsKKyAgICAgICAgW2xvYWREZWxlZ2F0ZSB3ZWJQcm9jZXNzUGx1Z0luQnJvd3NlckNvbnRleHRD
b250cm9sbGVyOnBsdWdpbkNvbnRleHRDb250cm9sbGVyIGZyYW1lOndyYXBwZXIoKldlYktpdDo6
dG9JbXBsKGZyYW1lKSkgZGlkSW5pdGlhdGVMb2FkRm9yUmVzb3VyY2U6cmVzb3VyY2VJZGVudGlm
aWVyIHJlcXVlc3Q6d3JhcHBlcigqV2ViS2l0Ojp0b0ltcGwocmVxdWVzdCkpXTsKICAgICB9CiB9
CiAKQEAgLTMwMSw5ICsyOTgsNyBAQCBzdGF0aWMgdm9pZCBkaWRGaW5pc2hMb2FkRm9yUmVzb3Vy
Y2UoV0tCdW5kbGVQYWdlUmVmLCBXS0J1bmRsZUZyYW1lUmVmIGZyYW1lLCB1aQogICAgIGF1dG8g
bG9hZERlbGVnYXRlID0gcGx1Z2luQ29udGV4dENvbnRyb2xsZXItPl9sb2FkRGVsZWdhdGUuZ2V0
KCk7CiAKICAgICBpZiAoW2xvYWREZWxlZ2F0ZSByZXNwb25kc1RvU2VsZWN0b3I6QHNlbGVjdG9y
KHdlYlByb2Nlc3NQbHVnSW5Ccm93c2VyQ29udGV4dENvbnRyb2xsZXI6ZnJhbWU6ZGlkRmluaXNo
TG9hZEZvclJlc291cmNlOildKSB7Ci0gICAgICAgIFtsb2FkRGVsZWdhdGUgd2ViUHJvY2Vzc1Bs
dWdJbkJyb3dzZXJDb250ZXh0Q29udHJvbGxlcjpwbHVnaW5Db250ZXh0Q29udHJvbGxlcgotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZnJh
bWU6d3JhcHBlcigqdG9JbXBsKGZyYW1lKSkKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgZGlkRmluaXNoTG9hZEZvclJlc291cmNlOnJlc291cmNlSWRlbnRpZmllcl07Cisg
ICAgICAgIFtsb2FkRGVsZWdhdGUgd2ViUHJvY2Vzc1BsdWdJbkJyb3dzZXJDb250ZXh0Q29udHJv
bGxlcjpwbHVnaW5Db250ZXh0Q29udHJvbGxlciBmcmFtZTp3cmFwcGVyKCpXZWJLaXQ6OnRvSW1w
bChmcmFtZSkpIGRpZEZpbmlzaExvYWRGb3JSZXNvdXJjZTpyZXNvdXJjZUlkZW50aWZpZXJdOwog
ICAgIH0KIH0KIApAQCAtMzEzLDE0ICszMDgsMTEgQEAgc3RhdGljIHZvaWQgZGlkRmFpbExvYWRG
b3JSZXNvdXJjZShXS0J1bmRsZVBhZ2VSZWYsIFdLQnVuZGxlRnJhbWVSZWYgZnJhbWUsIHVpbnQK
ICAgICBhdXRvIGxvYWREZWxlZ2F0ZSA9IHBsdWdpbkNvbnRleHRDb250cm9sbGVyLT5fbG9hZERl
bGVnYXRlLmdldCgpOwogCiAgICAgaWYgKFtsb2FkRGVsZWdhdGUgcmVzcG9uZHNUb1NlbGVjdG9y
OkBzZWxlY3Rvcih3ZWJQcm9jZXNzUGx1Z0luQnJvd3NlckNvbnRleHRDb250cm9sbGVyOmZyYW1l
OmRpZEZhaWxMb2FkRm9yUmVzb3VyY2U6ZXJyb3I6KV0pIHsKLSAgICAgICAgW2xvYWREZWxlZ2F0
ZSB3ZWJQcm9jZXNzUGx1Z0luQnJvd3NlckNvbnRleHRDb250cm9sbGVyOnBsdWdpbkNvbnRleHRD
b250cm9sbGVyCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBmcmFtZTp3cmFwcGVyKCp0b0ltcGwoZnJhbWUpKQotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGRpZEZhaWxMb2FkRm9yUmVzb3VyY2U6cmVzb3VyY2VJ
ZGVudGlmaWVyCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBlcnJvcjp3cmFwcGVyKCp0b0ltcGwoZXJyb3IpKV07CisgICAgICAgIFtsb2Fk
RGVsZWdhdGUgd2ViUHJvY2Vzc1BsdWdJbkJyb3dzZXJDb250ZXh0Q29udHJvbGxlcjpwbHVnaW5D
b250ZXh0Q29udHJvbGxlciBmcmFtZTp3cmFwcGVyKCpXZWJLaXQ6OnRvSW1wbChmcmFtZSkpIGRp
ZEZhaWxMb2FkRm9yUmVzb3VyY2U6cmVzb3VyY2VJZGVudGlmaWVyIGVycm9yOndyYXBwZXIoKldl
YktpdDo6dG9JbXBsKGVycm9yKSldOwogICAgIH0KIH0KIAotc3RhdGljIHZvaWQgc2V0VXBSZXNv
dXJjZUxvYWRDbGllbnQoV0tXZWJQcm9jZXNzUGx1Z0luQnJvd3NlckNvbnRleHRDb250cm9sbGVy
ICpjb250ZXh0Q29udHJvbGxlciwgV2ViUGFnZSYgcGFnZSkKK3N0YXRpYyB2b2lkIHNldFVwUmVz
b3VyY2VMb2FkQ2xpZW50KFdLV2ViUHJvY2Vzc1BsdWdJbkJyb3dzZXJDb250ZXh0Q29udHJvbGxl
ciAqY29udGV4dENvbnRyb2xsZXIsIFdlYktpdDo6V2ViUGFnZSYgcGFnZSkKIHsKICAgICBXS0J1
bmRsZVBhZ2VSZXNvdXJjZUxvYWRDbGllbnRWMSBjbGllbnQ7CiAgICAgbWVtc2V0KCZjbGllbnQs
IDAsIHNpemVvZihjbGllbnQpKTsKQEAgLTM1Niw3ICszNDgsNyBAQCBzdGF0aWMgdm9pZCBzZXRV
cFJlc291cmNlTG9hZENsaWVudChXS1dlYlByb2Nlc3NQbHVnSW5Ccm93c2VyQ29udGV4dENvbnRy
b2xsZXIgKgogLSAodm9pZClkZWFsbG9jCiB7CiAgICAgaWYgKF9yZW1vdGVPYmplY3RSZWdpc3Ry
eSkgewotICAgICAgICBXZWJQcm9jZXNzOjpzaW5nbGV0b24oKS5yZW1vdmVNZXNzYWdlUmVjZWl2
ZXIoTWVzc2FnZXM6OlJlbW90ZU9iamVjdFJlZ2lzdHJ5OjptZXNzYWdlUmVjZWl2ZXJOYW1lKCks
IF9wYWdlLT5wYWdlSUQoKSk7CisgICAgICAgIFdlYktpdDo6V2ViUHJvY2Vzczo6c2luZ2xldG9u
KCkucmVtb3ZlTWVzc2FnZVJlY2VpdmVyKE1lc3NhZ2VzOjpSZW1vdGVPYmplY3RSZWdpc3RyeTo6
bWVzc2FnZVJlY2VpdmVyTmFtZSgpLCBfcGFnZS0+cGFnZUlEKCkpOwogICAgICAgICBbX3JlbW90
ZU9iamVjdFJlZ2lzdHJ5IF9pbnZhbGlkYXRlXTsKICAgICB9CiAKQEAgLTM2NywyMCArMzU5LDIw
IEBAIHN0YXRpYyB2b2lkIHNldFVwUmVzb3VyY2VMb2FkQ2xpZW50KFdLV2ViUHJvY2Vzc1BsdWdJ
bkJyb3dzZXJDb250ZXh0Q29udHJvbGxlciAqCiAKIC0gKFdLRE9NRG9jdW1lbnQgKiltYWluRnJh
bWVEb2N1bWVudAogewotICAgIEZyYW1lKiB3ZWJDb3JlTWFpbkZyYW1lID0gX3BhZ2UtPm1haW5G
cmFtZSgpOworICAgIFdlYkNvcmU6OkZyYW1lKiB3ZWJDb3JlTWFpbkZyYW1lID0gX3BhZ2UtPm1h
aW5GcmFtZSgpOwogICAgIGlmICghd2ViQ29yZU1haW5GcmFtZSkKICAgICAgICAgcmV0dXJuIG5p
bDsKIAotICAgIHJldHVybiB0b1dLRE9NRG9jdW1lbnQod2ViQ29yZU1haW5GcmFtZS0+ZG9jdW1l
bnQoKSk7CisgICAgcmV0dXJuIFdlYktpdDo6dG9XS0RPTURvY3VtZW50KHdlYkNvcmVNYWluRnJh
bWUtPmRvY3VtZW50KCkpOwogfQogCiAtIChXS0RPTVJhbmdlICopc2VsZWN0ZWRSYW5nZQogewot
ICAgIFJlZlB0cjxSYW5nZT4gcmFuZ2UgPSBfcGFnZS0+Y3VycmVudFNlbGVjdGlvbkFzUmFuZ2Uo
KTsKKyAgICBSZWZQdHI8V2ViQ29yZTo6UmFuZ2U+IHJhbmdlID0gX3BhZ2UtPmN1cnJlbnRTZWxl
Y3Rpb25Bc1JhbmdlKCk7CiAgICAgaWYgKCFyYW5nZSkKICAgICAgICAgcmV0dXJuIG5pbDsKIAot
ICAgIHJldHVybiB0b1dLRE9NUmFuZ2UocmFuZ2UuZ2V0KCkpOworICAgIHJldHVybiBXZWJLaXQ6
OnRvV0tET01SYW5nZShyYW5nZS5nZXQoKSk7CiB9CiAKIC0gKFdLV2ViUHJvY2Vzc1BsdWdJbkZy
YW1lICopbWFpbkZyYW1lCkBAIC00MTYsMTQgKzQwOCwxNCBAQCBzdGF0aWMgdm9pZCBzZXRVcFJl
c291cmNlTG9hZENsaWVudChXS1dlYlByb2Nlc3NQbHVnSW5Ccm93c2VyQ29udGV4dENvbnRyb2xs
ZXIgKgogCiArIChpbnN0YW5jZXR5cGUpbG9va1VwQnJvd3NpbmdDb250ZXh0RnJvbUhhbmRsZToo
V0tCcm93c2luZ0NvbnRleHRIYW5kbGUgKiloYW5kbGUKIHsKLSAgICByZXR1cm4gd3JhcHBlcihX
ZWJQcm9jZXNzOjpzaW5nbGV0b24oKS53ZWJQYWdlKGhhbmRsZS5wYWdlSUQpKTsKKyAgICByZXR1
cm4gd3JhcHBlcihXZWJLaXQ6OldlYlByb2Nlc3M6OnNpbmdsZXRvbigpLndlYlBhZ2UoaGFuZGxl
LnBhZ2VJRCkpOwogfQogCiAtIChfV0tSZW1vdGVPYmplY3RSZWdpc3RyeSAqKV9yZW1vdGVPYmpl
Y3RSZWdpc3RyeQogewogICAgIGlmICghX3JlbW90ZU9iamVjdFJlZ2lzdHJ5KSB7CiAgICAgICAg
IF9yZW1vdGVPYmplY3RSZWdpc3RyeSA9IGFkb3B0TlMoW1tfV0tSZW1vdGVPYmplY3RSZWdpc3Ry
eSBhbGxvY10gX2luaXRXaXRoV2ViUGFnZToqX3BhZ2VdKTsKLSAgICAgICAgV2ViUHJvY2Vzczo6
c2luZ2xldG9uKCkuYWRkTWVzc2FnZVJlY2VpdmVyKE1lc3NhZ2VzOjpSZW1vdGVPYmplY3RSZWdp
c3RyeTo6bWVzc2FnZVJlY2VpdmVyTmFtZSgpLCBfcGFnZS0+cGFnZUlEKCksIFtfcmVtb3RlT2Jq
ZWN0UmVnaXN0cnkgcmVtb3RlT2JqZWN0UmVnaXN0cnldKTsKKyAgICAgICAgV2ViS2l0OjpXZWJQ
cm9jZXNzOjpzaW5nbGV0b24oKS5hZGRNZXNzYWdlUmVjZWl2ZXIoTWVzc2FnZXM6OlJlbW90ZU9i
amVjdFJlZ2lzdHJ5OjptZXNzYWdlUmVjZWl2ZXJOYW1lKCksIF9wYWdlLT5wYWdlSUQoKSwgW19y
ZW1vdGVPYmplY3RSZWdpc3RyeSByZW1vdGVPYmplY3RSZWdpc3RyeV0pOwogICAgIH0KIAogICAg
IHJldHVybiBfcmVtb3RlT2JqZWN0UmVnaXN0cnkuZ2V0KCk7CkBAIC00NDcsMTUgKzQzOSwxNSBA
QCBzdGF0aWMgdm9pZCBzZXRVcFJlc291cmNlTG9hZENsaWVudChXS1dlYlByb2Nlc3NQbHVnSW5C
cm93c2VyQ29udGV4dENvbnRyb2xsZXIgKgogCiAgICAgICAgIHZpcnR1YWwgfkZvcm1DbGllbnQo
KSB7IH0KIAotICAgICAgICB2b2lkIGRpZEZvY3VzVGV4dEZpZWxkKFdlYlBhZ2UqLCBIVE1MSW5w
dXRFbGVtZW50KiBpbnB1dEVsZW1lbnQsIFdlYkZyYW1lKiBmcmFtZSkgb3ZlcnJpZGUKKyAgICAg
ICAgdm9pZCBkaWRGb2N1c1RleHRGaWVsZChXZWJLaXQ6OldlYlBhZ2UqLCBXZWJDb3JlOjpIVE1M
SW5wdXRFbGVtZW50KiBpbnB1dEVsZW1lbnQsIFdlYktpdDo6V2ViRnJhbWUqIGZyYW1lKSBvdmVy
cmlkZQogICAgICAgICB7CiAgICAgICAgICAgICBhdXRvIGZvcm1EZWxlZ2F0ZSA9IG1fY29udHJv
bGxlci0+X2Zvcm1EZWxlZ2F0ZS5nZXQoKTsKIAogICAgICAgICAgICAgaWYgKFtmb3JtRGVsZWdh
dGUgcmVzcG9uZHNUb1NlbGVjdG9yOkBzZWxlY3Rvcihfd2ViUHJvY2Vzc1BsdWdJbkJyb3dzZXJD
b250ZXh0Q29udHJvbGxlcjpkaWRGb2N1c1RleHRGaWVsZDppbkZyYW1lOildKQotICAgICAgICAg
ICAgICAgIFtmb3JtRGVsZWdhdGUgX3dlYlByb2Nlc3NQbHVnSW5Ccm93c2VyQ29udGV4dENvbnRy
b2xsZXI6bV9jb250cm9sbGVyIGRpZEZvY3VzVGV4dEZpZWxkOndyYXBwZXIoKkluamVjdGVkQnVu
ZGxlTm9kZUhhbmRsZTo6Z2V0T3JDcmVhdGUoaW5wdXRFbGVtZW50KS5nZXQoKSkgaW5GcmFtZTp3
cmFwcGVyKCpmcmFtZSldOworICAgICAgICAgICAgICAgIFtmb3JtRGVsZWdhdGUgX3dlYlByb2Nl
c3NQbHVnSW5Ccm93c2VyQ29udGV4dENvbnRyb2xsZXI6bV9jb250cm9sbGVyIGRpZEZvY3VzVGV4
dEZpZWxkOndyYXBwZXIoKldlYktpdDo6SW5qZWN0ZWRCdW5kbGVOb2RlSGFuZGxlOjpnZXRPckNy
ZWF0ZShpbnB1dEVsZW1lbnQpLmdldCgpKSBpbkZyYW1lOndyYXBwZXIoKmZyYW1lKV07CiAgICAg
ICAgIH0KIAotICAgICAgICB2b2lkIHdpbGxTZW5kU3VibWl0RXZlbnQoV2ViUGFnZSosIEhUTUxG
b3JtRWxlbWVudCogZm9ybUVsZW1lbnQsIFdlYkZyYW1lKiB0YXJnZXRGcmFtZSwgV2ViRnJhbWUq
IHNvdXJjZUZyYW1lLCBjb25zdCBWZWN0b3I8c3RkOjpwYWlyPFN0cmluZywgU3RyaW5nPj4mIHZh
bHVlcykgb3ZlcnJpZGUKKyAgICAgICAgdm9pZCB3aWxsU2VuZFN1Ym1pdEV2ZW50KFdlYktpdDo6
V2ViUGFnZSosIFdlYkNvcmU6OkhUTUxGb3JtRWxlbWVudCogZm9ybUVsZW1lbnQsIFdlYktpdDo6
V2ViRnJhbWUqIHRhcmdldEZyYW1lLCBXZWJLaXQ6OldlYkZyYW1lKiBzb3VyY2VGcmFtZSwgY29u
c3QgVmVjdG9yPHN0ZDo6cGFpcjxTdHJpbmcsIFN0cmluZz4+JiB2YWx1ZXMpIG92ZXJyaWRlCiAg
ICAgICAgIHsKICAgICAgICAgICAgIGF1dG8gZm9ybURlbGVnYXRlID0gbV9jb250cm9sbGVyLT5f
Zm9ybURlbGVnYXRlLmdldCgpOwogCkBAIC00NjQsNyArNDU2LDcgQEAgc3RhdGljIHZvaWQgc2V0
VXBSZXNvdXJjZUxvYWRDbGllbnQoV0tXZWJQcm9jZXNzUGx1Z0luQnJvd3NlckNvbnRleHRDb250
cm9sbGVyICoKICAgICAgICAgICAgICAgICBmb3IgKGNvbnN0IGF1dG8mIHBhaXIgOiB2YWx1ZXMp
CiAgICAgICAgICAgICAgICAgICAgIFt2YWx1ZU1hcCBzZXRPYmplY3Q6cGFpci5zZWNvbmQgZm9y
S2V5OnBhaXIuZmlyc3RdOwogCi0gICAgICAgICAgICAgICAgW2Zvcm1EZWxlZ2F0ZSBfd2ViUHJv
Y2Vzc1BsdWdJbkJyb3dzZXJDb250ZXh0Q29udHJvbGxlcjptX2NvbnRyb2xsZXIgd2lsbFNlbmRT
dWJtaXRFdmVudFRvRm9ybTp3cmFwcGVyKCpJbmplY3RlZEJ1bmRsZU5vZGVIYW5kbGU6OmdldE9y
Q3JlYXRlKGZvcm1FbGVtZW50KS5nZXQoKSkKKyAgICAgICAgICAgICAgICBbZm9ybURlbGVnYXRl
IF93ZWJQcm9jZXNzUGx1Z0luQnJvd3NlckNvbnRleHRDb250cm9sbGVyOm1fY29udHJvbGxlciB3
aWxsU2VuZFN1Ym1pdEV2ZW50VG9Gb3JtOndyYXBwZXIoKldlYktpdDo6SW5qZWN0ZWRCdW5kbGVO
b2RlSGFuZGxlOjpnZXRPckNyZWF0ZShmb3JtRWxlbWVudCkuZ2V0KCkpCiAgICAgICAgICAgICAg
ICAgICAgIGluRnJhbWU6d3JhcHBlcigqc291cmNlRnJhbWUpIHRhcmdldEZyYW1lOndyYXBwZXIo
KnRhcmdldEZyYW1lKSB2YWx1ZXM6dmFsdWVNYXAuZ2V0KCldOwogICAgICAgICAgICAgfQogICAg
ICAgICB9CkBAIC00ODYsNyArNDc4LDcgQEAgc3RhdGljIHZvaWQgc2V0VXBSZXNvdXJjZUxvYWRD
bGllbnQoV0tXZWJQcm9jZXNzUGx1Z0luQnJvd3NlckNvbnRleHRDb250cm9sbGVyICoKICAgICAg
ICAgICAgIHVzZXJEYXRhID0gQVBJOjpEYXRhOjpjcmVhdGVXaXRob3V0Q29weWluZyhhcmNoaXZl
ci5nZXQoKS5lbmNvZGVkRGF0YSk7CiAgICAgICAgIH0KIAotICAgICAgICB2b2lkIHdpbGxTdWJt
aXRGb3JtKFdlYlBhZ2UqLCBIVE1MRm9ybUVsZW1lbnQqIGZvcm1FbGVtZW50LCBXZWJGcmFtZSog
ZnJhbWUsIFdlYkZyYW1lKiBzb3VyY2VGcmFtZSwgY29uc3QgVmVjdG9yPHN0ZDo6cGFpcjxXVEY6
OlN0cmluZywgV1RGOjpTdHJpbmc+PiYgdmFsdWVzLCBSZWZQdHI8QVBJOjpPYmplY3Q+JiB1c2Vy
RGF0YSkgb3ZlcnJpZGUKKyAgICAgICAgdm9pZCB3aWxsU3VibWl0Rm9ybShXZWJLaXQ6OldlYlBh
Z2UqLCBXZWJDb3JlOjpIVE1MRm9ybUVsZW1lbnQqIGZvcm1FbGVtZW50LCBXZWJLaXQ6OldlYkZy
YW1lKiBmcmFtZSwgV2ViS2l0OjpXZWJGcmFtZSogc291cmNlRnJhbWUsIGNvbnN0IFZlY3Rvcjxz
dGQ6OnBhaXI8V1RGOjpTdHJpbmcsIFdURjo6U3RyaW5nPj4mIHZhbHVlcywgUmVmUHRyPEFQSTo6
T2JqZWN0PiYgdXNlckRhdGEpIG92ZXJyaWRlCiAgICAgICAgIHsKICAgICAgICAgICAgIGF1dG8g
Zm9ybURlbGVnYXRlID0gbV9jb250cm9sbGVyLT5fZm9ybURlbGVnYXRlLmdldCgpOwogCkBAIC00
OTUsMTIgKzQ4NywxMiBAQCBzdGF0aWMgdm9pZCBzZXRVcFJlc291cmNlTG9hZENsaWVudChXS1dl
YlByb2Nlc3NQbHVnSW5Ccm93c2VyQ29udGV4dENvbnRyb2xsZXIgKgogICAgICAgICAgICAgICAg
IGZvciAoY29uc3QgYXV0byYgcGFpciA6IHZhbHVlcykKICAgICAgICAgICAgICAgICAgICAgW3Zh
bHVlTWFwIHNldE9iamVjdDpwYWlyLnNlY29uZCBmb3JLZXk6cGFpci5maXJzdF07CiAKLSAgICAg
ICAgICAgICAgICBOU09iamVjdCA8TlNTZWN1cmVDb2Rpbmc+ICp1c2VyT2JqZWN0ID0gW2Zvcm1E
ZWxlZ2F0ZSBfd2ViUHJvY2Vzc1BsdWdJbkJyb3dzZXJDb250ZXh0Q29udHJvbGxlcjptX2NvbnRy
b2xsZXIgd2lsbFN1Ym1pdEZvcm06d3JhcHBlcigqSW5qZWN0ZWRCdW5kbGVOb2RlSGFuZGxlOjpn
ZXRPckNyZWF0ZShmb3JtRWxlbWVudCkuZ2V0KCkpIHRvRnJhbWU6d3JhcHBlcigqZnJhbWUpIGZy
b21GcmFtZTp3cmFwcGVyKCpzb3VyY2VGcmFtZSkgd2l0aFZhbHVlczp2YWx1ZU1hcC5nZXQoKV07
CisgICAgICAgICAgICAgICAgTlNPYmplY3QgPE5TU2VjdXJlQ29kaW5nPiAqdXNlck9iamVjdCA9
IFtmb3JtRGVsZWdhdGUgX3dlYlByb2Nlc3NQbHVnSW5Ccm93c2VyQ29udGV4dENvbnRyb2xsZXI6
bV9jb250cm9sbGVyIHdpbGxTdWJtaXRGb3JtOndyYXBwZXIoKldlYktpdDo6SW5qZWN0ZWRCdW5k
bGVOb2RlSGFuZGxlOjpnZXRPckNyZWF0ZShmb3JtRWxlbWVudCkuZ2V0KCkpIHRvRnJhbWU6d3Jh
cHBlcigqZnJhbWUpIGZyb21GcmFtZTp3cmFwcGVyKCpzb3VyY2VGcmFtZSkgd2l0aFZhbHVlczp2
YWx1ZU1hcC5nZXQoKV07CiAgICAgICAgICAgICAgICAgZW5jb2RlVXNlck9iamVjdCh1c2VyT2Jq
ZWN0LCB1c2VyRGF0YSk7CiAgICAgICAgICAgICB9CiAgICAgICAgIH0KIAotICAgICAgICB2b2lk
IHRleHREaWRDaGFuZ2VJblRleHRGaWVsZChXZWJQYWdlKiwgSFRNTElucHV0RWxlbWVudCogaW5w
dXRFbGVtZW50LCBXZWJGcmFtZSogZnJhbWUsIGJvb2wgaW5pdGlhdGVkQnlVc2VyVHlwaW5nKSBv
dmVycmlkZQorICAgICAgICB2b2lkIHRleHREaWRDaGFuZ2VJblRleHRGaWVsZChXZWJLaXQ6Oldl
YlBhZ2UqLCBXZWJDb3JlOjpIVE1MSW5wdXRFbGVtZW50KiBpbnB1dEVsZW1lbnQsIFdlYktpdDo6
V2ViRnJhbWUqIGZyYW1lLCBib29sIGluaXRpYXRlZEJ5VXNlclR5cGluZykgb3ZlcnJpZGUKICAg
ICAgICAgewogICAgICAgICAgICAgYXV0byBmb3JtRGVsZWdhdGUgPSBtX2NvbnRyb2xsZXItPl9m
b3JtRGVsZWdhdGUuZ2V0KCk7CiAKQEAgLTUwOCw3ICs1MDAsNyBAQCBzdGF0aWMgdm9pZCBzZXRV
cFJlc291cmNlTG9hZENsaWVudChXS1dlYlByb2Nlc3NQbHVnSW5Ccm93c2VyQ29udGV4dENvbnRy
b2xsZXIgKgogICAgICAgICAgICAgICAgIFtmb3JtRGVsZWdhdGUgX3dlYlByb2Nlc3NQbHVnSW5C
cm93c2VyQ29udGV4dENvbnRyb2xsZXI6bV9jb250cm9sbGVyIHRleHREaWRDaGFuZ2VJblRleHRG
aWVsZDp3cmFwcGVyKCpXZWJLaXQ6OkluamVjdGVkQnVuZGxlTm9kZUhhbmRsZTo6Z2V0T3JDcmVh
dGUoaW5wdXRFbGVtZW50KSkgaW5GcmFtZTp3cmFwcGVyKCpmcmFtZSkgaW5pdGlhdGVkQnlVc2Vy
VHlwaW5nOmluaXRpYXRlZEJ5VXNlclR5cGluZ107CiAgICAgICAgIH0KIAotICAgICAgICB2b2lk
IHdpbGxCZWdpbklucHV0U2Vzc2lvbihXZWJQYWdlKiwgRWxlbWVudCogZWxlbWVudCwgV2ViRnJh
bWUqIGZyYW1lLCBib29sIHVzZXJJc0ludGVyYWN0aW5nLCBSZWZQdHI8QVBJOjpPYmplY3Q+JiB1
c2VyRGF0YSkgb3ZlcnJpZGUKKyAgICAgICAgdm9pZCB3aWxsQmVnaW5JbnB1dFNlc3Npb24oV2Vi
S2l0OjpXZWJQYWdlKiwgV2ViQ29yZTo6RWxlbWVudCogZWxlbWVudCwgV2ViS2l0OjpXZWJGcmFt
ZSogZnJhbWUsIGJvb2wgdXNlcklzSW50ZXJhY3RpbmcsIFJlZlB0cjxBUEk6Ok9iamVjdD4mIHVz
ZXJEYXRhKSBvdmVycmlkZQogICAgICAgICB7CiAgICAgICAgICAgICBhdXRvIGZvcm1EZWxlZ2F0
ZSA9IG1fY29udHJvbGxlci0+X2Zvcm1EZWxlZ2F0ZS5nZXQoKTsKIApAQCAtNTYzLDE0ICs1NTUs
MTQgQEAgc3RhdGljIHZvaWQgc2V0VXBSZXNvdXJjZUxvYWRDbGllbnQoV0tXZWJQcm9jZXNzUGx1
Z0luQnJvd3NlckNvbnRleHRDb250cm9sbGVyICoKICAgICByZXR1cm4gX2VkaXRpbmdEZWxlZ2F0
ZS5nZXRBdXRvcmVsZWFzZWQoKTsKIH0KIAotc3RhdGljIGlubGluZSBXS0VkaXRvckluc2VydEFj
dGlvbiB0b1dLKEVkaXRvckluc2VydEFjdGlvbiBhY3Rpb24pCitzdGF0aWMgaW5saW5lIFdLRWRp
dG9ySW5zZXJ0QWN0aW9uIHRvV0soV2ViQ29yZTo6RWRpdG9ySW5zZXJ0QWN0aW9uIGFjdGlvbikK
IHsKICAgICBzd2l0Y2ggKGFjdGlvbikgewotICAgIGNhc2UgRWRpdG9ySW5zZXJ0QWN0aW9uOjpU
eXBlZDoKKyAgICBjYXNlIFdlYkNvcmU6OkVkaXRvckluc2VydEFjdGlvbjo6VHlwZWQ6CiAgICAg
ICAgIHJldHVybiBXS0VkaXRvckluc2VydEFjdGlvblR5cGVkOwotICAgIGNhc2UgRWRpdG9ySW5z
ZXJ0QWN0aW9uOjpQYXN0ZWQ6CisgICAgY2FzZSBXZWJDb3JlOjpFZGl0b3JJbnNlcnRBY3Rpb246
OlBhc3RlZDoKICAgICAgICAgcmV0dXJuIFdLRWRpdG9ySW5zZXJ0QWN0aW9uUGFzdGVkOwotICAg
IGNhc2UgRWRpdG9ySW5zZXJ0QWN0aW9uOjpEcm9wcGVkOgorICAgIGNhc2UgV2ViQ29yZTo6RWRp
dG9ySW5zZXJ0QWN0aW9uOjpEcm9wcGVkOgogICAgICAgICByZXR1cm4gV0tFZGl0b3JJbnNlcnRB
Y3Rpb25Ecm9wcGVkOwogICAgIH0KIH0KQEAgLTU4OCwxNSArNTgwLDE1IEBAIHN0YXRpYyBpbmxp
bmUgV0tFZGl0b3JJbnNlcnRBY3Rpb24gdG9XSyhFZGl0b3JJbnNlcnRBY3Rpb24gYWN0aW9uKQog
ICAgICAgICB9CiAKICAgICBwcml2YXRlOgotICAgICAgICBib29sIHNob3VsZEluc2VydFRleHQo
V2ViUGFnZSYsIFN0cmluZ0ltcGwqIHRleHQsIFJhbmdlKiByYW5nZVRvUmVwbGFjZSwgRWRpdG9y
SW5zZXJ0QWN0aW9uIGFjdGlvbikgZmluYWwKKyAgICAgICAgYm9vbCBzaG91bGRJbnNlcnRUZXh0
KFdlYktpdDo6V2ViUGFnZSYsIFN0cmluZ0ltcGwqIHRleHQsIFdlYkNvcmU6OlJhbmdlKiByYW5n
ZVRvUmVwbGFjZSwgV2ViQ29yZTo6RWRpdG9ySW5zZXJ0QWN0aW9uIGFjdGlvbikgZmluYWwKICAg
ICAgICAgewogICAgICAgICAgICAgaWYgKCFtX2RlbGVnYXRlTWV0aG9kcy5zaG91bGRJbnNlcnRU
ZXh0KQogICAgICAgICAgICAgICAgIHJldHVybiB0cnVlOwogCi0gICAgICAgICAgICByZXR1cm4g
W21fY29udHJvbGxlci0+X2VkaXRpbmdEZWxlZ2F0ZS5nZXQoKSBfd2ViUHJvY2Vzc1BsdWdJbkJy
b3dzZXJDb250ZXh0Q29udHJvbGxlcjptX2NvbnRyb2xsZXIgc2hvdWxkSW5zZXJ0VGV4dDpTdHJp
bmcodGV4dCkgcmVwbGFjaW5nUmFuZ2U6d3JhcHBlcigqSW5qZWN0ZWRCdW5kbGVSYW5nZUhhbmRs
ZTo6Z2V0T3JDcmVhdGUocmFuZ2VUb1JlcGxhY2UpKSBnaXZlbkFjdGlvbjp0b1dLKGFjdGlvbild
OworICAgICAgICAgICAgcmV0dXJuIFttX2NvbnRyb2xsZXItPl9lZGl0aW5nRGVsZWdhdGUuZ2V0
KCkgX3dlYlByb2Nlc3NQbHVnSW5Ccm93c2VyQ29udGV4dENvbnRyb2xsZXI6bV9jb250cm9sbGVy
IHNob3VsZEluc2VydFRleHQ6U3RyaW5nKHRleHQpIHJlcGxhY2luZ1JhbmdlOndyYXBwZXIoKldl
YktpdDo6SW5qZWN0ZWRCdW5kbGVSYW5nZUhhbmRsZTo6Z2V0T3JDcmVhdGUocmFuZ2VUb1JlcGxh
Y2UpKSBnaXZlbkFjdGlvbjp0b1dLKGFjdGlvbildOwogICAgICAgICB9CiAKLSAgICAgICAgYm9v
bCBzaG91bGRDaGFuZ2VTZWxlY3RlZFJhbmdlKFdlYlBhZ2UmLCBSYW5nZSogZnJvbVJhbmdlLCBS
YW5nZSogdG9SYW5nZSwgRUFmZmluaXR5IGFmZmluaXR5LCBib29sIHN0aWxsU2VsZWN0aW5nKSBm
aW5hbAorICAgICAgICBib29sIHNob3VsZENoYW5nZVNlbGVjdGVkUmFuZ2UoV2ViS2l0OjpXZWJQ
YWdlJiwgV2ViQ29yZTo6UmFuZ2UqIGZyb21SYW5nZSwgV2ViQ29yZTo6UmFuZ2UqIHRvUmFuZ2Us
IFdlYkNvcmU6OkVBZmZpbml0eSBhZmZpbml0eSwgYm9vbCBzdGlsbFNlbGVjdGluZykgZmluYWwK
ICAgICAgICAgewogICAgICAgICAgICAgaWYgKCFtX2RlbGVnYXRlTWV0aG9kcy5zaG91bGRDaGFu
Z2VTZWxlY3RlZFJhbmdlKQogICAgICAgICAgICAgICAgIHJldHVybiB0cnVlOwpAQCAtNjA0LDkg
KzU5Niw5IEBAIHN0YXRpYyBpbmxpbmUgV0tFZGl0b3JJbnNlcnRBY3Rpb24gdG9XSyhFZGl0b3JJ
bnNlcnRBY3Rpb24gYWN0aW9uKQogICAgICAgICAgICAgYXV0byBhcGlGcm9tUmFuZ2UgPSBmcm9t
UmFuZ2UgPyBhZG9wdE5TKFtbV0tET01SYW5nZSBhbGxvY10gX2luaXRXaXRoSW1wbDpmcm9tUmFu
Z2VdKSA6IG5pbDsKICAgICAgICAgICAgIGF1dG8gYXBpVG9SYW5nZSA9IHRvUmFuZ2UgPyBhZG9w
dE5TKFtbV0tET01SYW5nZSBhbGxvY10gX2luaXRXaXRoSW1wbDp0b1JhbmdlXSkgOiBuaWw7CiAj
aWYgUExBVEZPUk0oSU9TKQotICAgICAgICAgICAgVUlUZXh0U3RvcmFnZURpcmVjdGlvbiBhcGlB
ZmZpbml0eSA9IGFmZmluaXR5ID09IFVQU1RSRUFNID8gVUlUZXh0U3RvcmFnZURpcmVjdGlvbkJh
Y2t3YXJkIDogVUlUZXh0U3RvcmFnZURpcmVjdGlvbkZvcndhcmQ7CisgICAgICAgICAgICBVSVRl
eHRTdG9yYWdlRGlyZWN0aW9uIGFwaUFmZmluaXR5ID0gYWZmaW5pdHkgPT0gV2ViQ29yZTo6VVBT
VFJFQU0gPyBVSVRleHRTdG9yYWdlRGlyZWN0aW9uQmFja3dhcmQgOiBVSVRleHRTdG9yYWdlRGly
ZWN0aW9uRm9yd2FyZDsKICNlbHNlCi0gICAgICAgICAgICBOU1NlbGVjdGlvbkFmZmluaXR5IGFw
aUFmZmluaXR5ID0gYWZmaW5pdHkgPT0gVVBTVFJFQU0gPyBOU1NlbGVjdGlvbkFmZmluaXR5VXBz
dHJlYW0gOiBOU1NlbGVjdGlvbkFmZmluaXR5RG93bnN0cmVhbTsKKyAgICAgICAgICAgIE5TU2Vs
ZWN0aW9uQWZmaW5pdHkgYXBpQWZmaW5pdHkgPSBhZmZpbml0eSA9PSBXZWJDb3JlOjpVUFNUUkVB
TSA/IE5TU2VsZWN0aW9uQWZmaW5pdHlVcHN0cmVhbSA6IE5TU2VsZWN0aW9uQWZmaW5pdHlEb3du
c3RyZWFtOwogI2VuZGlmCiAKICAgICAgICAgICAgIHJldHVybiBbbV9jb250cm9sbGVyLT5fZWRp
dGluZ0RlbGVnYXRlLmdldCgpIF93ZWJQcm9jZXNzUGx1Z0luQnJvd3NlckNvbnRleHRDb250cm9s
bGVyOm1fY29udHJvbGxlciBzaG91bGRDaGFuZ2VTZWxlY3RlZFJhbmdlOmFwaUZyb21SYW5nZS5n
ZXQoKSB0b1JhbmdlOmFwaVRvUmFuZ2UuZ2V0KCkgYWZmaW5pdHk6YXBpQWZmaW5pdHkgc3RpbGxT
ZWxlY3Rpbmc6c3RpbGxTZWxlY3RpbmddOwpAQCAtNjI1LDcgKzYxNyw3IEBAIHN0YXRpYyBpbmxp
bmUgV0tFZGl0b3JJbnNlcnRBY3Rpb24gdG9XSyhFZGl0b3JJbnNlcnRBY3Rpb24gYWN0aW9uKQog
ICAgICAgICAgICAgaWYgKCFtX2RlbGVnYXRlTWV0aG9kcy53aWxsV3JpdGVUb1Bhc3RlYm9hcmQp
CiAgICAgICAgICAgICAgICAgcmV0dXJuOwogCi0gICAgICAgICAgICBbbV9jb250cm9sbGVyLT5f
ZWRpdGluZ0RlbGVnYXRlLmdldCgpIF93ZWJQcm9jZXNzUGx1Z0luQnJvd3NlckNvbnRleHRDb250
cm9sbGVyOm1fY29udHJvbGxlciB3aWxsV3JpdGVSYW5nZVRvUGFzdGVib2FyZDp3cmFwcGVyKCpJ
bmplY3RlZEJ1bmRsZVJhbmdlSGFuZGxlOjpnZXRPckNyZWF0ZShyYW5nZSkuZ2V0KCkpXTsKKyAg
ICAgICAgICAgIFttX2NvbnRyb2xsZXItPl9lZGl0aW5nRGVsZWdhdGUuZ2V0KCkgX3dlYlByb2Nl
c3NQbHVnSW5Ccm93c2VyQ29udGV4dENvbnRyb2xsZXI6bV9jb250cm9sbGVyIHdpbGxXcml0ZVJh
bmdlVG9QYXN0ZWJvYXJkOndyYXBwZXIoKldlYktpdDo6SW5qZWN0ZWRCdW5kbGVSYW5nZUhhbmRs
ZTo6Z2V0T3JDcmVhdGUocmFuZ2UpLmdldCgpKV07CiAgICAgICAgIH0KIAogICAgICAgICB2b2lk
IGdldFBhc3RlYm9hcmREYXRhRm9yUmFuZ2UoV2ViS2l0OjpXZWJQYWdlJiwgV2ViQ29yZTo6UmFu
Z2UqIHJhbmdlLCBWZWN0b3I8U3RyaW5nPiYgcGFzdGVib2FyZFR5cGVzLCBWZWN0b3I8UmVmUHRy
PFdlYkNvcmU6OlNoYXJlZEJ1ZmZlcj4+JiBwYXN0ZWJvYXJkRGF0YSkgZmluYWwKQEAgLTYzMywx
MCArNjI1LDEwIEBAIHN0YXRpYyBpbmxpbmUgV0tFZGl0b3JJbnNlcnRBY3Rpb24gdG9XSyhFZGl0
b3JJbnNlcnRBY3Rpb24gYWN0aW9uKQogICAgICAgICAgICAgaWYgKCFtX2RlbGVnYXRlTWV0aG9k
cy5nZXRQYXN0ZWJvYXJkRGF0YUZvclJhbmdlKQogICAgICAgICAgICAgICAgIHJldHVybjsKIAot
ICAgICAgICAgICAgYXV0byBkYXRhQnlUeXBlID0gW21fY29udHJvbGxlci0+X2VkaXRpbmdEZWxl
Z2F0ZS5nZXQoKSBfd2ViUHJvY2Vzc1BsdWdJbkJyb3dzZXJDb250ZXh0Q29udHJvbGxlcjptX2Nv
bnRyb2xsZXIgcGFzdGVib2FyZERhdGFGb3JSYW5nZTp3cmFwcGVyKCpJbmplY3RlZEJ1bmRsZVJh
bmdlSGFuZGxlOjpnZXRPckNyZWF0ZShyYW5nZSkuZ2V0KCkpXTsKKyAgICAgICAgICAgIGF1dG8g
ZGF0YUJ5VHlwZSA9IFttX2NvbnRyb2xsZXItPl9lZGl0aW5nRGVsZWdhdGUuZ2V0KCkgX3dlYlBy
b2Nlc3NQbHVnSW5Ccm93c2VyQ29udGV4dENvbnRyb2xsZXI6bV9jb250cm9sbGVyIHBhc3RlYm9h
cmREYXRhRm9yUmFuZ2U6d3JhcHBlcigqV2ViS2l0OjpJbmplY3RlZEJ1bmRsZVJhbmdlSGFuZGxl
OjpnZXRPckNyZWF0ZShyYW5nZSkuZ2V0KCkpXTsKICAgICAgICAgICAgIGZvciAoTlNTdHJpbmcg
KnR5cGUgaW4gZGF0YUJ5VHlwZSkgewogICAgICAgICAgICAgICAgIHBhc3RlYm9hcmRUeXBlcy5h
cHBlbmQodHlwZSk7Ci0gICAgICAgICAgICAgICAgcGFzdGVib2FyZERhdGEuYXBwZW5kKFNoYXJl
ZEJ1ZmZlcjo6Y3JlYXRlKGRhdGFCeVR5cGVbdHlwZV0pKTsKKyAgICAgICAgICAgICAgICBwYXN0
ZWJvYXJkRGF0YS5hcHBlbmQoV2ViQ29yZTo6U2hhcmVkQnVmZmVyOjpjcmVhdGUoZGF0YUJ5VHlw
ZVt0eXBlXSkpOwogICAgICAgICAgICAgfTsKICAgICAgICAgfQogCkBAIC02NTMsOCArNjQ1LDgg
QEAgc3RhdGljIGlubGluZSBXS0VkaXRvckluc2VydEFjdGlvbiB0b1dLKEVkaXRvckluc2VydEFj
dGlvbiBhY3Rpb24pCiAgICAgICAgICAgICBpZiAoIW1fZGVsZWdhdGVNZXRob2RzLnBlcmZvcm1U
d29TdGVwRHJvcCkKICAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CiAKLSAgICAgICAgICAg
IGF1dG8gcmFuZ2VIYW5kbGUgPSBJbmplY3RlZEJ1bmRsZVJhbmdlSGFuZGxlOjpnZXRPckNyZWF0
ZSgmcmFuZ2UpOwotICAgICAgICAgICAgYXV0byBub2RlSGFuZGxlID0gSW5qZWN0ZWRCdW5kbGVO
b2RlSGFuZGxlOjpnZXRPckNyZWF0ZSgmZnJhZ21lbnQpOworICAgICAgICAgICAgYXV0byByYW5n
ZUhhbmRsZSA9IFdlYktpdDo6SW5qZWN0ZWRCdW5kbGVSYW5nZUhhbmRsZTo6Z2V0T3JDcmVhdGUo
JnJhbmdlKTsKKyAgICAgICAgICAgIGF1dG8gbm9kZUhhbmRsZSA9IFdlYktpdDo6SW5qZWN0ZWRC
dW5kbGVOb2RlSGFuZGxlOjpnZXRPckNyZWF0ZSgmZnJhZ21lbnQpOwogICAgICAgICAgICAgcmV0
dXJuIFttX2NvbnRyb2xsZXItPl9lZGl0aW5nRGVsZWdhdGUuZ2V0KCkgX3dlYlByb2Nlc3NQbHVn
SW5Ccm93c2VyQ29udGV4dENvbnRyb2xsZXI6bV9jb250cm9sbGVyIHBlcmZvcm1Ud29TdGVwRHJv
cDp3cmFwcGVyKCpub2RlSGFuZGxlKSBhdERlc3RpbmF0aW9uOndyYXBwZXIoKnJhbmdlSGFuZGxl
KSBpc01vdmU6aXNNb3ZlXTsKICAgICAgICAgfQogCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>349243</attachid>
            <date>2018-09-07 22:25:56 -0700</date>
            <delta_ts>2018-09-08 02:38:19 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-189447-20180907222555.patch</filename>
            <type>text/plain</type>
            <size>201751</size>
            <attacher name="Tim Horton">thorton</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjM1ODI2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IGYxMzkzYjI5ZmJmYjkwZGQ4
NTU0YTA1OGViNzI2ZWYyNjlkZmNmMDguLjEzZjU1MTEwMzBjODljZDJkYTg4MDQyY2Q3YzI0NGM2
MzBhYmYzYjAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNDIgQEAKKzIwMTgtMDktMDcgIFRpbSBIb3J0
b24gIDx0aW1vdGh5X2hvcnRvbkBhcHBsZS5jb20+CisKKyAgICAgICAgVW5pZnkgbW9zdCBvZiB0
aGUgV2ViS2l0IE9iamVjdGl2ZS1DIEFQSSBzb3VyY2VzCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xODk0NDcKKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKworICAgICAgICBVbmlmeSBhbmQgZml4IGVycm9ycy4KKworICAgICAg
ICAqIFNoYXJlZC9BUEkvQ29jb2EvX1dLRnJhbWVIYW5kbGUubW06CisgICAgICAgICogU2hhcmVk
L0FQSS9Db2NvYS9fV0tSZW1vdGVPYmplY3RSZWdpc3RyeS5tbToKKyAgICAgICAgKiBTb3VyY2Vz
Q29jb2EudHh0OgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvQ29jb2EvQVBJQ29udGVudFJ1bGVM
aXN0U3RvcmVDb2NvYS5tbToKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL0NvY29hL1dLQmFja0Zv
cndhcmRMaXN0Lm1tOgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvQ29jb2EvV0tCYWNrRm9yd2Fy
ZExpc3RJdGVtLm1tOgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvQ29jb2EvV0tCcm93c2luZ0Nv
bnRleHRDb250cm9sbGVyLm1tOgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvQ29jb2EvV0tCcm93
c2luZ0NvbnRleHRHcm91cC5tbToKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL0NvY29hL1dLQ29u
bmVjdGlvbi5tbToKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL0NvY29hL1dLTlNVUkxBdXRoZW50
aWNhdGlvbkNoYWxsZW5nZS5tbToKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL0NvY29hL1dLTmF2
aWdhdGlvbkRhdGEubW06CisgICAgICAgICogVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1Byb2Nlc3NH
cm91cC5tbToKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL0NvY29hL1dLVVJMU2NoZW1lVGFzay5t
bToKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL0NvY29hL1dLV2ViVmlld0NvbmZpZ3VyYXRpb24u
bW06CisgICAgICAgICogVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYnNpdGVEYXRhU3RvcmUubW06
CisgICAgICAgICogVUlQcm9jZXNzL0FQSS9Db2NvYS9fV0tBdHRhY2htZW50Lm1tOgorICAgICAg
ICAqIFVJUHJvY2Vzcy9BUEkvQ29jb2EvX1dLR2VvbG9jYXRpb25Qb3NpdGlvbi5tbToKKyAgICAg
ICAgKiBVSVByb2Nlc3MvQVBJL0NvY29hL19XS1JlbW90ZVdlYkluc3BlY3RvclZpZXdDb250cm9s
bGVyLm1tOgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvQ29jb2EvX1dLVGh1bWJuYWlsVmlldy5t
bToKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL21hYy9XS1ZpZXcubW06CisgICAgICAgICogV2Vi
S2l0Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6CisgICAgICAgICogV2ViUHJvY2Vzcy9Jbmpl
Y3RlZEJ1bmRsZS9BUEkvQ29jb2EvV0tXZWJQcm9jZXNzUGx1Z0luRnJhbWUubW06CisgICAgICAg
ICogV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9BUEkvQ29jb2EvV0tXZWJQcm9jZXNzUGx1Z0lu
SGl0VGVzdFJlc3VsdC5tbToKKyAgICAgICAgKiBXZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0FQ
SS9Db2NvYS9XS1dlYlByb2Nlc3NQbHVnSW5Ob2RlSGFuZGxlLm1tOgorICAgICAgICAqIFdlYlBy
b2Nlc3MvSW5qZWN0ZWRCdW5kbGUvQVBJL0NvY29hL1dLV2ViUHJvY2Vzc1BsdWdJblBhZ2VHcm91
cC5tbToKKyAgICAgICAgKiBXZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0FQSS9Db2NvYS9XS1dl
YlByb2Nlc3NQbHVnSW5SYW5nZUhhbmRsZS5tbToKKyAgICAgICAgKiBXZWJQcm9jZXNzL0luamVj
dGVkQnVuZGxlL0FQSS9Db2NvYS9XS1dlYlByb2Nlc3NQbHVnSW5TY3JpcHRXb3JsZC5tbToKKyAg
ICAgICAgKiBXZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0FQSS9tYWMvV0tXZWJQcm9jZXNzUGx1
Z0luLm1tOgorICAgICAgICAqIFdlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvQVBJL21hYy9XS1dl
YlByb2Nlc3NQbHVnSW5Ccm93c2VyQ29udGV4dENvbnRyb2xsZXIubW06CisKIDIwMTgtMDktMDcg
IFRpbSBIb3J0b24gIDx0aW1vdGh5X2hvcnRvbkBhcHBsZS5jb20+CiAKICAgICAgICAgVHJ5IHRv
IGZpeCB0aGUgYnVpbGQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL0FQSS9Db2Nv
YS9fV0tGcmFtZUhhbmRsZS5tbSBiL1NvdXJjZS9XZWJLaXQvU2hhcmVkL0FQSS9Db2NvYS9fV0tG
cmFtZUhhbmRsZS5tbQppbmRleCAwYTcyZmVmMjgxMDcyMWY4MzIxYWQ5NjY3YTVkYjBkOGY4OTFh
ZGE1Li5jNDgwMzFjZWI4OTFmNzk4ZmI0OTc1NzNhN2JkM2FiYjgyYTEwMTZhIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9BUEkvQ29jb2EvX1dLRnJhbWVIYW5kbGUubW0KKysrIGIv
U291cmNlL1dlYktpdC9TaGFyZWQvQVBJL0NvY29hL19XS0ZyYW1lSGFuZGxlLm1tCkBAIC0yOCw4
ICsyOCw2IEBACiAKICNpZiBXS19BUElfRU5BQkxFRAogCi11c2luZyBuYW1lc3BhY2UgV2ViS2l0
OwotCiBAaW1wbGVtZW50YXRpb24gX1dLRnJhbWVIYW5kbGUgewogICAgIEFQSTo6T2JqZWN0U3Rv
cmFnZTxBUEk6OkZyYW1lSGFuZGxlPiBfZnJhbWVIYW5kbGU7CiB9CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0L1NoYXJlZC9BUEkvQ29jb2EvX1dLUmVtb3RlT2JqZWN0UmVnaXN0cnkubW0gYi9T
b3VyY2UvV2ViS2l0L1NoYXJlZC9BUEkvQ29jb2EvX1dLUmVtb3RlT2JqZWN0UmVnaXN0cnkubW0K
aW5kZXggYjY0YTMzYmQxYmQxNmEzN2M4NjEwZWEyMjk1NWQ1NmZmYjQzOWNkOC4uYmE2NWY3OTA1
MTE5MzI0Mjg2OGNmNDMyYTgzOGEzOTVjZGU1MWNmZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dC9TaGFyZWQvQVBJL0NvY29hL19XS1JlbW90ZU9iamVjdFJlZ2lzdHJ5Lm1tCisrKyBiL1NvdXJj
ZS9XZWJLaXQvU2hhcmVkL0FQSS9Db2NvYS9fV0tSZW1vdGVPYmplY3RSZWdpc3RyeS5tbQpAQCAt
NTEsOCArNTEsNiBAQCBzdGF0aWMgY29uc3Qgdm9pZCogcmVwbHlCbG9ja0tleSA9ICZyZXBseUJs
b2NrS2V5OwogCiBOU1N0cmluZyAqIGNvbnN0IGludm9jYXRpb25LZXkgPSBAImludm9jYXRpb24i
OwogCi11c2luZyBuYW1lc3BhY2UgV2ViS2l0OwotCiBzdHJ1Y3QgUGVuZGluZ1JlcGx5IHsKICAg
ICBQZW5kaW5nUmVwbHkoKSA9IGRlZmF1bHQ7CiAKQEAgLTY5LDcgKzY3LDcgQEAgc3RydWN0IFBl
bmRpbmdSZXBseSB7CiB9OwogCiBAaW1wbGVtZW50YXRpb24gX1dLUmVtb3RlT2JqZWN0UmVnaXN0
cnkgewotICAgIHN0ZDo6dW5pcXVlX3B0cjxSZW1vdGVPYmplY3RSZWdpc3RyeT4gX3JlbW90ZU9i
amVjdFJlZ2lzdHJ5OworICAgIHN0ZDo6dW5pcXVlX3B0cjxXZWJLaXQ6OlJlbW90ZU9iamVjdFJl
Z2lzdHJ5PiBfcmVtb3RlT2JqZWN0UmVnaXN0cnk7CiAKICAgICBSZXRhaW5QdHI8TlNNYXBUYWJs
ZT4gX3JlbW90ZU9iamVjdFByb3hpZXM7CiAgICAgSGFzaE1hcDxTdHJpbmcsIHN0ZDo6cGFpcjxS
ZXRhaW5QdHI8aWQ+LCBSZXRhaW5QdHI8X1dLUmVtb3RlT2JqZWN0SW50ZXJmYWNlPj4+IF9leHBv
cnRlZE9iamVjdHM7CkBAIC0xMTEsNyArMTA5LDcgQEAgc3RydWN0IFBlbmRpbmdSZXBseSB7CiAg
ICAgaWYgKCEoc2VsZiA9IFtzdXBlciBpbml0XSkpCiAgICAgICAgIHJldHVybiBuaWw7CiAKLSAg
ICBfcmVtb3RlT2JqZWN0UmVnaXN0cnkgPSBzdGQ6Om1ha2VfdW5pcXVlPFJlbW90ZU9iamVjdFJl
Z2lzdHJ5PihzZWxmLCBwYWdlKTsKKyAgICBfcmVtb3RlT2JqZWN0UmVnaXN0cnkgPSBzdGQ6Om1h
a2VfdW5pcXVlPFdlYktpdDo6UmVtb3RlT2JqZWN0UmVnaXN0cnk+KHNlbGYsIHBhZ2UpOwogCiAg
ICAgcmV0dXJuIHNlbGY7CiB9CkBAIC0xMjEsNyArMTE5LDcgQEAgc3RydWN0IFBlbmRpbmdSZXBs
eSB7CiAgICAgaWYgKCEoc2VsZiA9IFtzdXBlciBpbml0XSkpCiAgICAgICAgIHJldHVybiBuaWw7
CiAKLSAgICBfcmVtb3RlT2JqZWN0UmVnaXN0cnkgPSBzdGQ6Om1ha2VfdW5pcXVlPFJlbW90ZU9i
amVjdFJlZ2lzdHJ5PihzZWxmLCBwYWdlKTsKKyAgICBfcmVtb3RlT2JqZWN0UmVnaXN0cnkgPSBz
dGQ6Om1ha2VfdW5pcXVlPFdlYktpdDo6UmVtb3RlT2JqZWN0UmVnaXN0cnk+KHNlbGYsIHBhZ2Up
OwogCiAgICAgcmV0dXJuIHNlbGY7CiB9CkBAIC0xNDAsNyArMTM4LDcgQEAgc3RhdGljIHVpbnQ2
NF90IGdlbmVyYXRlUmVwbHlJZGVudGlmaWVyKCkKIAogLSAodm9pZClfc2VuZEludm9jYXRpb246
KE5TSW52b2NhdGlvbiAqKWludm9jYXRpb24gaW50ZXJmYWNlOihfV0tSZW1vdGVPYmplY3RJbnRl
cmZhY2UgKilpbnRlcmZhY2UKIHsKLSAgICBzdGQ6OnVuaXF1ZV9wdHI8UmVtb3RlT2JqZWN0SW52
b2NhdGlvbjo6UmVwbHlJbmZvPiByZXBseUluZm87CisgICAgc3RkOjp1bmlxdWVfcHRyPFdlYktp
dDo6UmVtb3RlT2JqZWN0SW52b2NhdGlvbjo6UmVwbHlJbmZvPiByZXBseUluZm87CiAKICAgICBO
U01ldGhvZFNpZ25hdHVyZSAqbWV0aG9kU2lnbmF0dXJlID0gaW52b2NhdGlvbi5tZXRob2RTaWdu
YXR1cmU7CiAgICAgZm9yIChOU1VJbnRlZ2VyIGkgPSAwLCBjb3VudCA9IG1ldGhvZFNpZ25hdHVy
ZS5udW1iZXJPZkFyZ3VtZW50czsgaSA8IGNvdW50OyArK2kpIHsKQEAgLTE2Miw3ICsxNjAsNyBA
QCBzdGF0aWMgdWludDY0X3QgZ2VuZXJhdGVSZXBseUlkZW50aWZpZXIoKQogICAgICAgICBpZiAo
c3RyY21wKFtOU01ldGhvZFNpZ25hdHVyZSBzaWduYXR1cmVXaXRoT2JqQ1R5cGVzOnJlcGx5Qmxv
Y2tTaWduYXR1cmVdLm1ldGhvZFJldHVyblR5cGUsICJ2IikpCiAgICAgICAgICAgICBbTlNFeGNl
cHRpb24gcmFpc2U6TlNJbnZhbGlkQXJndW1lbnRFeGNlcHRpb24gZm9ybWF0OkAiUmV0dXJuIHZh
bHVlIG9mIGJsb2NrIGFyZ3VtZW50IG11c3QgYmUgJ3ZvaWQnLiAoJXMpIiwgc2VsX2dldE5hbWUo
aW52b2NhdGlvbi5zZWxlY3RvcildOwogCi0gICAgICAgIHJlcGx5SW5mbyA9IHN0ZDo6bWFrZV91
bmlxdWU8UmVtb3RlT2JqZWN0SW52b2NhdGlvbjo6UmVwbHlJbmZvPihnZW5lcmF0ZVJlcGx5SWRl
bnRpZmllcigpLCByZXBseUJsb2NrU2lnbmF0dXJlKTsKKyAgICAgICAgcmVwbHlJbmZvID0gc3Rk
OjptYWtlX3VuaXF1ZTxXZWJLaXQ6OlJlbW90ZU9iamVjdEludm9jYXRpb246OlJlcGx5SW5mbz4o
Z2VuZXJhdGVSZXBseUlkZW50aWZpZXIoKSwgcmVwbHlCbG9ja1NpZ25hdHVyZSk7CiAKICAgICAg
ICAgLy8gUmVwbGFjZSB0aGUgYmxvY2sgb2JqZWN0IHNvIHdlIHdvbid0IHRyeSB0byBlbmNvZGUg
aXQuCiAgICAgICAgIGlkIG51bGwgPSBudWxscHRyOwpAQCAtMTc5LDcgKzE3Nyw3IEBAIHN0YXRp
YyB1aW50NjRfdCBnZW5lcmF0ZVJlcGx5SWRlbnRpZmllcigpCiAgICAgaWYgKCFfcmVtb3RlT2Jq
ZWN0UmVnaXN0cnkpCiAgICAgICAgIHJldHVybjsKIAotICAgIF9yZW1vdGVPYmplY3RSZWdpc3Ry
eS0+c2VuZEludm9jYXRpb24oUmVtb3RlT2JqZWN0SW52b2NhdGlvbihpbnRlcmZhY2UuaWRlbnRp
ZmllciwgW2VuY29kZXIgcm9vdE9iamVjdERpY3Rpb25hcnldLCBXVEZNb3ZlKHJlcGx5SW5mbykp
KTsKKyAgICBfcmVtb3RlT2JqZWN0UmVnaXN0cnktPnNlbmRJbnZvY2F0aW9uKFdlYktpdDo6UmVt
b3RlT2JqZWN0SW52b2NhdGlvbihpbnRlcmZhY2UuaWRlbnRpZmllciwgW2VuY29kZXIgcm9vdE9i
amVjdERpY3Rpb25hcnldLCBXVEZNb3ZlKHJlcGx5SW5mbykpKTsKIH0KIAogLSAoV2ViS2l0OjpS
ZW1vdGVPYmplY3RSZWdpc3RyeSYpcmVtb3RlT2JqZWN0UmVnaXN0cnkKQEAgLTE4Nyw3ICsxODUs
NyBAQCBzdGF0aWMgdWludDY0X3QgZ2VuZXJhdGVSZXBseUlkZW50aWZpZXIoKQogICAgIHJldHVy
biAqX3JlbW90ZU9iamVjdFJlZ2lzdHJ5OwogfQogCi0tICh2b2lkKV9pbnZva2VNZXRob2Q6KGNv
bnN0IFJlbW90ZU9iamVjdEludm9jYXRpb24mKXJlbW90ZU9iamVjdEludm9jYXRpb24KKy0gKHZv
aWQpX2ludm9rZU1ldGhvZDooY29uc3QgV2ViS2l0OjpSZW1vdGVPYmplY3RJbnZvY2F0aW9uJily
ZW1vdGVPYmplY3RJbnZvY2F0aW9uCiB7CiAgICAgYXV0byYgaW50ZXJmYWNlSWRlbnRpZmllciA9
IHJlbW90ZU9iamVjdEludm9jYXRpb24uaW50ZXJmYWNlSWRlbnRpZmllcigpOwogICAgIGF1dG8q
IGVuY29kZWRJbnZvY2F0aW9uID0gcmVtb3RlT2JqZWN0SW52b2NhdGlvbi5lbmNvZGVkSW52b2Nh
dGlvbigpOwpAQCAtMjY0LDcgKzI2Miw3IEBAIHN0YXRpYyB1aW50NjRfdCBnZW5lcmF0ZVJlcGx5
SWRlbnRpZmllcigpCiAgICAgICAgICAgICAgICAgYXV0byBlbmNvZGVyID0gYWRvcHROUyhbW1dL
UmVtb3RlT2JqZWN0RW5jb2RlciBhbGxvY10gaW5pdF0pOwogICAgICAgICAgICAgICAgIFtlbmNv
ZGVyIGVuY29kZU9iamVjdDppbnZvY2F0aW9uIGZvcktleTppbnZvY2F0aW9uS2V5XTsKIAotICAg
ICAgICAgICAgICAgIHJlbW90ZU9iamVjdFJlZ2lzdHJ5LT5fcmVtb3RlT2JqZWN0UmVnaXN0cnkt
PnNlbmRSZXBseUJsb2NrKHJlcGx5SUQsIFVzZXJEYXRhKFtlbmNvZGVyIHJvb3RPYmplY3REaWN0
aW9uYXJ5XSkpOworICAgICAgICAgICAgICAgIHJlbW90ZU9iamVjdFJlZ2lzdHJ5LT5fcmVtb3Rl
T2JqZWN0UmVnaXN0cnktPnNlbmRSZXBseUJsb2NrKHJlcGx5SUQsIFdlYktpdDo6VXNlckRhdGEo
W2VuY29kZXIgcm9vdE9iamVjdERpY3Rpb25hcnldKSk7CiAgICAgICAgICAgICAgICAgY2hlY2tl
ci0+ZGlkQ2FsbFJlcGx5QmxvY2soKTsKICAgICAgICAgICAgIH0pOwogCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0L1NoYXJlZC9BdXRoZW50aWNhdGlvbi9BdXRoZW50aWNhdGlvbk1hbmFnZXIu
Y3BwIGIvU291cmNlL1dlYktpdC9TaGFyZWQvQXV0aGVudGljYXRpb24vQXV0aGVudGljYXRpb25N
YW5hZ2VyLmNwcAppbmRleCBiMjg4MWIyOWU1MmJjZWFjYTIxMDg5MzEzZTBlYTQ0YjdkZTc4NzFk
Li45NzA3MmIwM2NjYmUxNjhlM2Y0ODFjMzk4MWU4MWRkMTJkMWFjYWUyIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0L1NoYXJlZC9BdXRoZW50aWNhdGlvbi9BdXRoZW50aWNhdGlvbk1hbmFnZXIu
Y3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvU2hhcmVkL0F1dGhlbnRpY2F0aW9uL0F1dGhlbnRpY2F0
aW9uTWFuYWdlci5jcHAKQEAgLTM4LDkgKzM4LDggQEAKICNpbmNsdWRlICJXZWJQYWdlUHJveHlN
ZXNzYWdlcy5oIgogI2luY2x1ZGUgPFdlYkNvcmUvQXV0aGVudGljYXRpb25DaGFsbGVuZ2UuaD4K
IAotdXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU7Ci0KIG5hbWVzcGFjZSBXZWJLaXQgewordXNpbmcg
bmFtZXNwYWNlIFdlYkNvcmU7CiAKIHN0YXRpYyB1aW50NjRfdCBnZW5lcmF0ZUF1dGhlbnRpY2F0
aW9uQ2hhbGxlbmdlSUQoKQogewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9TaGFyZWQvY2cv
U2hhcmVhYmxlQml0bWFwQ0cuY3BwIGIvU291cmNlL1dlYktpdC9TaGFyZWQvY2cvU2hhcmVhYmxl
Qml0bWFwQ0cuY3BwCmluZGV4IDQxYjJmZWEzMmIxNTNmM2JmNGZlZjY1OTJlMjllMjM1NDJlNjU0
NWYuLjg2MjYxNTdmNDA3NTk4NzU1NmFkNTI3OTQ3M2Y2Y2FlMGExZTZlOWEgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQvU2hhcmVkL2NnL1NoYXJlYWJsZUJpdG1hcENHLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViS2l0L1NoYXJlZC9jZy9TaGFyZWFibGVCaXRtYXBDRy5jcHAKQEAgLTM0LDkgKzM0LDgg
QEAKICNpbmNsdWRlIDx3dGYvUmV0YWluUHRyLmg+CiAjaW5jbHVkZSAiQ0dVdGlsaXRpZXMuaCIK
IAotdXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU7Ci0KIG5hbWVzcGFjZSBXZWJLaXQgewordXNpbmcg
bmFtZXNwYWNlIFdlYkNvcmU7CiAgICAgCiBzdGF0aWMgQ0dDb2xvclNwYWNlUmVmIGNvbG9yU3Bh
Y2UoY29uc3QgU2hhcmVhYmxlQml0bWFwOjpDb25maWd1cmF0aW9uJiBjb25maWd1cmF0aW9uKQog
ewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9Tb3VyY2VzQ29jb2EudHh0IGIvU291cmNlL1dl
YktpdC9Tb3VyY2VzQ29jb2EudHh0CmluZGV4IDU4YjRjYTFmZWQ5ZDgyZTkzMzM2YzI3YmMzM2E4
NWE5M2Y0ZjE1YjguLjAyNmRhNTJlOWVkODNjNGE4ZGJkNGE4Y2UyMTdmMzg4ZDMxMjk5OGIgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvU291cmNlc0NvY29hLnR4dAorKysgYi9Tb3VyY2UvV2Vi
S2l0L1NvdXJjZXNDb2NvYS50eHQKQEAgLTk2LDE3ICs5NiwxNyBAQCBTaGFyZWQvQVBJL2MvbWFj
L1dLVVJMUmVzcG9uc2VOUy5tbQogU2hhcmVkL0FQSS9jL21hYy9XS1dlYkFyY2hpdmUuY3BwCiBT
aGFyZWQvQVBJL2MvbWFjL1dLV2ViQXJjaGl2ZVJlc291cmNlLmNwcAogCi1TaGFyZWQvQVBJL0Nv
Y29hL19XS0ZyYW1lSGFuZGxlLm1tIEBuby11bmlmeQotU2hhcmVkL0FQSS9Db2NvYS9fV0tIaXRU
ZXN0UmVzdWx0Lm1tIEBuby11bmlmeQotU2hhcmVkL0FQSS9Db2NvYS9fV0tOU0ZpbGVNYW5hZ2Vy
RXh0cmFzLm1tIEBuby11bmlmeQotU2hhcmVkL0FQSS9Db2NvYS9fV0tOU1dpbmRvd0V4dHJhcy5t
bSBAbm8tdW5pZnkKLVNoYXJlZC9BUEkvQ29jb2EvX1dLUmVtb3RlT2JqZWN0SW50ZXJmYWNlLm1t
IEBuby11bmlmeQotU2hhcmVkL0FQSS9Db2NvYS9fV0tSZW1vdGVPYmplY3RSZWdpc3RyeS5tbSBA
bm8tdW5pZnkKLVNoYXJlZC9BUEkvQ29jb2EvUmVtb3RlT2JqZWN0SW52b2NhdGlvbi5tbSBAbm8t
dW5pZnkKLVNoYXJlZC9BUEkvQ29jb2EvUmVtb3RlT2JqZWN0UmVnaXN0cnkubW0gQG5vLXVuaWZ5
Ci1TaGFyZWQvQVBJL0NvY29hL1dLQnJvd3NpbmdDb250ZXh0SGFuZGxlLm1tIEBuby11bmlmeQot
U2hhcmVkL0FQSS9Db2NvYS9XS1JlbW90ZU9iamVjdC5tbSBAbm8tdW5pZnkKLVNoYXJlZC9BUEkv
Q29jb2EvV0tSZW1vdGVPYmplY3RDb2Rlci5tbSBAbm8tdW5pZnkKK1NoYXJlZC9BUEkvQ29jb2Ev
X1dLRnJhbWVIYW5kbGUubW0KK1NoYXJlZC9BUEkvQ29jb2EvX1dLSGl0VGVzdFJlc3VsdC5tbQor
U2hhcmVkL0FQSS9Db2NvYS9fV0tOU0ZpbGVNYW5hZ2VyRXh0cmFzLm1tCitTaGFyZWQvQVBJL0Nv
Y29hL19XS05TV2luZG93RXh0cmFzLm1tCitTaGFyZWQvQVBJL0NvY29hL19XS1JlbW90ZU9iamVj
dEludGVyZmFjZS5tbQorU2hhcmVkL0FQSS9Db2NvYS9fV0tSZW1vdGVPYmplY3RSZWdpc3RyeS5t
bQorU2hhcmVkL0FQSS9Db2NvYS9SZW1vdGVPYmplY3RJbnZvY2F0aW9uLm1tCitTaGFyZWQvQVBJ
L0NvY29hL1JlbW90ZU9iamVjdFJlZ2lzdHJ5Lm1tCitTaGFyZWQvQVBJL0NvY29hL1dLQnJvd3Np
bmdDb250ZXh0SGFuZGxlLm1tCitTaGFyZWQvQVBJL0NvY29hL1dLUmVtb3RlT2JqZWN0Lm1tCitT
aGFyZWQvQVBJL0NvY29hL1dLUmVtb3RlT2JqZWN0Q29kZXIubW0KIAogU2hhcmVkL0FQSVdlYkFy
Y2hpdmUubW0KIFNoYXJlZC9BUElXZWJBcmNoaXZlUmVzb3VyY2UubW0KQEAgLTIyOCw3MyArMjI4
LDc1IEBAIFVJUHJvY2Vzcy9BUEkvQy9tYWMvV0tDb250ZXh0UHJpdmF0ZU1hYy5tbQogVUlQcm9j
ZXNzL0FQSS9DL21hYy9XS1BhZ2VQcml2YXRlTWFjLm1tCiBVSVByb2Nlc3MvQVBJL0MvbWFjL1dL
UHJvdGVjdGlvblNwYWNlTlMubW0KIAotVUlQcm9jZXNzL0FQSS9Db2NvYS9fV0tBY3RpdmF0ZWRF
bGVtZW50SW5mby5tbSBAbm8tdW5pZnkKLVVJUHJvY2Vzcy9BUEkvQ29jb2EvX1dLQXBwbGljYXRp
b25NYW5pZmVzdC5tbSBAbm8tdW5pZnkKLVVJUHJvY2Vzcy9BUEkvQ29jb2EvX1dLQXR0YWNobWVu
dC5tbSBAbm8tdW5pZnkKLVVJUHJvY2Vzcy9BUEkvQ29jb2EvX1dLQXV0b21hdGlvblNlc3Npb24u
bW0gQG5vLXVuaWZ5Ci1VSVByb2Nlc3MvQVBJL0NvY29hL19XS0F1dG9tYXRpb25TZXNzaW9uQ29u
ZmlndXJhdGlvbi5tbSBAbm8tdW5pZnkKLVVJUHJvY2Vzcy9BUEkvQ29jb2EvX1dLQ29udGV4dE1l
bnVFbGVtZW50SW5mby5tbSBAbm8tdW5pZnkKLVVJUHJvY2Vzcy9BUEkvQ29jb2EvX1dLRG93bmxv
YWQubW0gQG5vLXVuaWZ5Ci1VSVByb2Nlc3MvQVBJL0NvY29hL19XS0VsZW1lbnRBY3Rpb24ubW0g
QG5vLXVuaWZ5Ci1VSVByb2Nlc3MvQVBJL0NvY29hL19XS0Vycm9yUmVjb3ZlcnlBdHRlbXB0aW5n
Lm1tIEBuby11bmlmeQotVUlQcm9jZXNzL0FQSS9Db2NvYS9fV0tFeHBlcmltZW50YWxGZWF0dXJl
Lm1tIEBuby11bmlmeQotVUlQcm9jZXNzL0FQSS9Db2NvYS9fV0tHZW9sb2NhdGlvblBvc2l0aW9u
Lm1tIEBuby11bmlmeQotVUlQcm9jZXNzL0FQSS9Db2NvYS9fV0tMaW5rSWNvblBhcmFtZXRlcnMu
bW0gQG5vLXVuaWZ5Ci1VSVByb2Nlc3MvQVBJL0NvY29hL19XS1Byb2Nlc3NQb29sQ29uZmlndXJh
dGlvbi5tbSBAbm8tdW5pZnkKLVVJUHJvY2Vzcy9BUEkvQ29jb2EvX1dLUmVtb3RlV2ViSW5zcGVj
dG9yVmlld0NvbnRyb2xsZXIubW0gQG5vLXVuaWZ5Ci1VSVByb2Nlc3MvQVBJL0NvY29hL19XS1Nl
c3Npb25TdGF0ZS5tbSBAbm8tdW5pZnkKLVVJUHJvY2Vzcy9BUEkvQ29jb2EvX1dLVGh1bWJuYWls
Vmlldy5tbSBAbm8tdW5pZnkKLVVJUHJvY2Vzcy9BUEkvQ29jb2EvX1dLVXNlckNvbnRlbnRFeHRl
bnNpb25TdG9yZS5tbSBAbm8tdW5pZnkKLVVJUHJvY2Vzcy9BUEkvQ29jb2EvX1dLVXNlckNvbnRl
bnRGaWx0ZXIubW0gQG5vLXVuaWZ5Ci1VSVByb2Nlc3MvQVBJL0NvY29hL19XS1VzZXJDb250ZW50
V29ybGQubW0gQG5vLXVuaWZ5Ci1VSVByb2Nlc3MvQVBJL0NvY29hL19XS1VzZXJJbml0aWF0ZWRB
Y3Rpb24ubW0gQG5vLXVuaWZ5Ci1VSVByb2Nlc3MvQVBJL0NvY29hL19XS1VzZXJTdHlsZVNoZWV0
Lm1tIEBuby11bmlmeQotVUlQcm9jZXNzL0FQSS9Db2NvYS9fV0tWaXNpdGVkTGlua1N0b3JlLm1t
IEBuby11bmlmeQotVUlQcm9jZXNzL0FQSS9Db2NvYS9fV0tXZWJzaXRlRGF0YVNpemUubW0gQG5v
LXVuaWZ5Ci1VSVByb2Nlc3MvQVBJL0NvY29hL19XS1dlYnNpdGVEYXRhU3RvcmUubW0gQG5vLXVu
aWZ5Ci1VSVByb2Nlc3MvQVBJL0NvY29hL19XS1dlYnNpdGVEYXRhU3RvcmVDb25maWd1cmF0aW9u
Lm1tIEBuby11bmlmeQotVUlQcm9jZXNzL0FQSS9Db2NvYS9fV0tXZWJzaXRlUG9saWNpZXMubW0g
QG5vLXVuaWZ5Ci1VSVByb2Nlc3MvQVBJL0NvY29hL0FQSUNvbnRlbnRSdWxlTGlzdFN0b3JlQ29j
b2EubW0gQG5vLXVuaWZ5Ci1VSVByb2Nlc3MvQVBJL0NvY29hL0FQSVNlcmlhbGl6ZWRTY3JpcHRW
YWx1ZUNvY29hLm1tIEBuby11bmlmeQotVUlQcm9jZXNzL0FQSS9Db2NvYS9BUElXZWJzaXRlRGF0
YVN0b3JlQ29jb2EubW0gQG5vLXVuaWZ5Ci1VSVByb2Nlc3MvQVBJL0NvY29hL0xlZ2FjeUJ1bmRs
ZUZvckNsYXNzLm1tIEBuby11bmlmeQotVUlQcm9jZXNzL0FQSS9Db2NvYS9XS0JhY2tGb3J3YXJk
TGlzdC5tbSBAbm8tdW5pZnkKLVVJUHJvY2Vzcy9BUEkvQ29jb2EvV0tCYWNrRm9yd2FyZExpc3RJ
dGVtLm1tIEBuby11bmlmeQotVUlQcm9jZXNzL0FQSS9Db2NvYS9XS0Jyb3dzaW5nQ29udGV4dENv
bnRyb2xsZXIubW0gQG5vLXVuaWZ5Ci1VSVByb2Nlc3MvQVBJL0NvY29hL1dLQnJvd3NpbmdDb250
ZXh0R3JvdXAubW0gQG5vLXVuaWZ5Ci1VSVByb2Nlc3MvQVBJL0NvY29hL1dLQ29ubmVjdGlvbi5t
bSBAbm8tdW5pZnkKLVVJUHJvY2Vzcy9BUEkvQ29jb2EvV0tDb250ZW50UnVsZUxpc3QubW0gQG5v
LXVuaWZ5Ci1VSVByb2Nlc3MvQVBJL0NvY29hL1dLQ29udGVudFJ1bGVMaXN0U3RvcmUubW0gQG5v
LXVuaWZ5Ci1VSVByb2Nlc3MvQVBJL0NvY29hL1dLRXJyb3IubW0gQG5vLXVuaWZ5Ci1VSVByb2Nl
c3MvQVBJL0NvY29hL1dLRnJhbWVJbmZvLm1tIEBuby11bmlmeQotVUlQcm9jZXNzL0FQSS9Db2Nv
YS9XS0hUVFBDb29raWVTdG9yZS5tbSBAbm8tdW5pZnkKLVVJUHJvY2Vzcy9BUEkvQ29jb2EvV0tN
ZW51SXRlbUlkZW50aWZpZXJzLm1tIEBuby11bmlmeQotVUlQcm9jZXNzL0FQSS9Db2NvYS9XS05h
dmlnYXRpb24ubW0gQG5vLXVuaWZ5Ci1VSVByb2Nlc3MvQVBJL0NvY29hL1dLTmF2aWdhdGlvbkFj
dGlvbi5tbSBAbm8tdW5pZnkKLVVJUHJvY2Vzcy9BUEkvQ29jb2EvV0tOYXZpZ2F0aW9uRGF0YS5t
bSBAbm8tdW5pZnkKLVVJUHJvY2Vzcy9BUEkvQ29jb2EvV0tOYXZpZ2F0aW9uUmVzcG9uc2UubW0g
QG5vLXVuaWZ5Ci1VSVByb2Nlc3MvQVBJL0NvY29hL1dLTlNVUkxBdXRoZW50aWNhdGlvbkNoYWxs
ZW5nZS5tbSBAbm8tdW5pZnkKLVVJUHJvY2Vzcy9BUEkvQ29jb2EvV0tPcGVuUGFuZWxQYXJhbWV0
ZXJzLm1tIEBuby11bmlmeQotVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1ByZWZlcmVuY2VzLm1tIEBu
by11bmlmeQotVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1ByZXZpZXdBY3Rpb25JdGVtLm1tIEBuby11
bmlmeQotVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1ByZXZpZXdBY3Rpb25JdGVtSWRlbnRpZmllcnMu
bW0gQG5vLXVuaWZ5Ci1VSVByb2Nlc3MvQVBJL0NvY29hL1dLUHJldmlld0VsZW1lbnRJbmZvLm1t
IEBuby11bmlmeQotVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1Byb2Nlc3NHcm91cC5tbSBAbm8tdW5p
ZnkKLVVJUHJvY2Vzcy9BUEkvQ29jb2EvV0tQcm9jZXNzUG9vbC5tbSBAbm8tdW5pZnkKLVVJUHJv
Y2Vzcy9BUEkvQ29jb2EvV0tTY3JpcHRNZXNzYWdlLm1tIEBuby11bmlmeQotVUlQcm9jZXNzL0FQ
SS9Db2NvYS9XS1NlY3VyaXR5T3JpZ2luLm1tIEBuby11bmlmeQotVUlQcm9jZXNzL0FQSS9Db2Nv
YS9XS1NuYXBzaG90Q29uZmlndXJhdGlvbi5tbSBAbm8tdW5pZnkKLVVJUHJvY2Vzcy9BUEkvQ29j
b2EvV0tUeXBlUmVmV3JhcHBlci5tbSBAbm8tdW5pZnkKLVVJUHJvY2Vzcy9BUEkvQ29jb2EvV0tV
UkxTY2hlbWVUYXNrLm1tIEBuby11bmlmeQotVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1VzZXJDb250
ZW50Q29udHJvbGxlci5tbSBAbm8tdW5pZnkKLVVJUHJvY2Vzcy9BUEkvQ29jb2EvV0tVc2VyU2Ny
aXB0Lm1tIEBuby11bmlmeQotVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYnNpdGVEYXRhUmVjb3Jk
Lm1tIEBuby11bmlmeQotVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYnNpdGVEYXRhU3RvcmUubW0g
QG5vLXVuaWZ5Ci1VSVByb2Nlc3MvQVBJL0NvY29hL1dLV2ViVmlldy5tbSBAbm8tdW5pZnkKLVVJ
UHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJWaWV3Q29uZmlndXJhdGlvbi5tbSBAbm8tdW5pZnkKLVVJ
UHJvY2Vzcy9BUEkvQ29jb2EvV0tXaW5kb3dGZWF0dXJlcy5tbSBAbm8tdW5pZnkKLQotVUlQcm9j
ZXNzL0FQSS9tYWMvV0tWaWV3Lm1tIEBuby11bmlmeQorVUlQcm9jZXNzL0FQSS9Db2NvYS9fV0tB
Y3RpdmF0ZWRFbGVtZW50SW5mby5tbQorVUlQcm9jZXNzL0FQSS9Db2NvYS9fV0tBcHBsaWNhdGlv
bk1hbmlmZXN0Lm1tCitVSVByb2Nlc3MvQVBJL0NvY29hL19XS0F0dGFjaG1lbnQubW0KK1VJUHJv
Y2Vzcy9BUEkvQ29jb2EvX1dLQXV0b21hdGlvblNlc3Npb24ubW0KK1VJUHJvY2Vzcy9BUEkvQ29j
b2EvX1dLQXV0b21hdGlvblNlc3Npb25Db25maWd1cmF0aW9uLm1tCitVSVByb2Nlc3MvQVBJL0Nv
Y29hL19XS0NvbnRleHRNZW51RWxlbWVudEluZm8ubW0KK1VJUHJvY2Vzcy9BUEkvQ29jb2EvX1dL
RG93bmxvYWQubW0KK1VJUHJvY2Vzcy9BUEkvQ29jb2EvX1dLRWxlbWVudEFjdGlvbi5tbQorVUlQ
cm9jZXNzL0FQSS9Db2NvYS9fV0tFcnJvclJlY292ZXJ5QXR0ZW1wdGluZy5tbQorVUlQcm9jZXNz
L0FQSS9Db2NvYS9fV0tFeHBlcmltZW50YWxGZWF0dXJlLm1tCitVSVByb2Nlc3MvQVBJL0NvY29h
L19XS0dlb2xvY2F0aW9uUG9zaXRpb24ubW0KK1VJUHJvY2Vzcy9BUEkvQ29jb2EvX1dLSW5zcGVj
dG9yLm1tCitVSVByb2Nlc3MvQVBJL0NvY29hL19XS0xpbmtJY29uUGFyYW1ldGVycy5tbQorVUlQ
cm9jZXNzL0FQSS9Db2NvYS9fV0tQcm9jZXNzUG9vbENvbmZpZ3VyYXRpb24ubW0KK1VJUHJvY2Vz
cy9BUEkvQ29jb2EvX1dLUmVtb3RlV2ViSW5zcGVjdG9yVmlld0NvbnRyb2xsZXIubW0KK1VJUHJv
Y2Vzcy9BUEkvQ29jb2EvX1dLU2Vzc2lvblN0YXRlLm1tCitVSVByb2Nlc3MvQVBJL0NvY29hL19X
S1RodW1ibmFpbFZpZXcubW0KK1VJUHJvY2Vzcy9BUEkvQ29jb2EvX1dLVXNlckNvbnRlbnRFeHRl
bnNpb25TdG9yZS5tbQorVUlQcm9jZXNzL0FQSS9Db2NvYS9fV0tVc2VyQ29udGVudEZpbHRlci5t
bQorVUlQcm9jZXNzL0FQSS9Db2NvYS9fV0tVc2VyQ29udGVudFdvcmxkLm1tCitVSVByb2Nlc3Mv
QVBJL0NvY29hL19XS1VzZXJJbml0aWF0ZWRBY3Rpb24ubW0KK1VJUHJvY2Vzcy9BUEkvQ29jb2Ev
X1dLVXNlclN0eWxlU2hlZXQubW0KK1VJUHJvY2Vzcy9BUEkvQ29jb2EvX1dLVmlzaXRlZExpbmtT
dG9yZS5tbQorVUlQcm9jZXNzL0FQSS9Db2NvYS9fV0tXZWJzaXRlRGF0YVNpemUubW0KK1VJUHJv
Y2Vzcy9BUEkvQ29jb2EvX1dLV2Vic2l0ZURhdGFTdG9yZS5tbQorVUlQcm9jZXNzL0FQSS9Db2Nv
YS9fV0tXZWJzaXRlRGF0YVN0b3JlQ29uZmlndXJhdGlvbi5tbQorVUlQcm9jZXNzL0FQSS9Db2Nv
YS9fV0tXZWJzaXRlUG9saWNpZXMubW0KK1VJUHJvY2Vzcy9BUEkvQ29jb2EvQVBJQXR0YWNobWVu
dENvY29hLm1tCitVSVByb2Nlc3MvQVBJL0NvY29hL0FQSUNvbnRlbnRSdWxlTGlzdFN0b3JlQ29j
b2EubW0KK1VJUHJvY2Vzcy9BUEkvQ29jb2EvQVBJU2VyaWFsaXplZFNjcmlwdFZhbHVlQ29jb2Eu
bW0KK1VJUHJvY2Vzcy9BUEkvQ29jb2EvQVBJV2Vic2l0ZURhdGFTdG9yZUNvY29hLm1tCitVSVBy
b2Nlc3MvQVBJL0NvY29hL0xlZ2FjeUJ1bmRsZUZvckNsYXNzLm1tCitVSVByb2Nlc3MvQVBJL0Nv
Y29hL1dLQmFja0ZvcndhcmRMaXN0Lm1tCitVSVByb2Nlc3MvQVBJL0NvY29hL1dLQmFja0Zvcndh
cmRMaXN0SXRlbS5tbQorVUlQcm9jZXNzL0FQSS9Db2NvYS9XS0Jyb3dzaW5nQ29udGV4dENvbnRy
b2xsZXIubW0KK1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tCcm93c2luZ0NvbnRleHRHcm91cC5tbQor
VUlQcm9jZXNzL0FQSS9Db2NvYS9XS0Nvbm5lY3Rpb24ubW0KK1VJUHJvY2Vzcy9BUEkvQ29jb2Ev
V0tDb250ZW50UnVsZUxpc3QubW0KK1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tDb250ZW50UnVsZUxp
c3RTdG9yZS5tbQorVUlQcm9jZXNzL0FQSS9Db2NvYS9XS0Vycm9yLm1tCitVSVByb2Nlc3MvQVBJ
L0NvY29hL1dLRnJhbWVJbmZvLm1tCitVSVByb2Nlc3MvQVBJL0NvY29hL1dLSFRUUENvb2tpZVN0
b3JlLm1tCitVSVByb2Nlc3MvQVBJL0NvY29hL1dLTWVudUl0ZW1JZGVudGlmaWVycy5tbQorVUlQ
cm9jZXNzL0FQSS9Db2NvYS9XS05hdmlnYXRpb24ubW0KK1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tO
YXZpZ2F0aW9uQWN0aW9uLm1tCitVSVByb2Nlc3MvQVBJL0NvY29hL1dLTmF2aWdhdGlvbkRhdGEu
bW0KK1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tOYXZpZ2F0aW9uUmVzcG9uc2UubW0KK1VJUHJvY2Vz
cy9BUEkvQ29jb2EvV0tOU1VSTEF1dGhlbnRpY2F0aW9uQ2hhbGxlbmdlLm1tCitVSVByb2Nlc3Mv
QVBJL0NvY29hL1dLT3BlblBhbmVsUGFyYW1ldGVycy5tbQorVUlQcm9jZXNzL0FQSS9Db2NvYS9X
S1ByZWZlcmVuY2VzLm1tCitVSVByb2Nlc3MvQVBJL0NvY29hL1dLUHJldmlld0FjdGlvbkl0ZW0u
bW0KK1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tQcmV2aWV3QWN0aW9uSXRlbUlkZW50aWZpZXJzLm1t
CitVSVByb2Nlc3MvQVBJL0NvY29hL1dLUHJldmlld0VsZW1lbnRJbmZvLm1tCitVSVByb2Nlc3Mv
QVBJL0NvY29hL1dLUHJvY2Vzc0dyb3VwLm1tCitVSVByb2Nlc3MvQVBJL0NvY29hL1dLUHJvY2Vz
c1Bvb2wubW0KK1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tTY3JpcHRNZXNzYWdlLm1tCitVSVByb2Nl
c3MvQVBJL0NvY29hL1dLU2VjdXJpdHlPcmlnaW4ubW0KK1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tT
bmFwc2hvdENvbmZpZ3VyYXRpb24ubW0KK1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tUeXBlUmVmV3Jh
cHBlci5tbQorVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1VSTFNjaGVtZVRhc2subW0KK1VJUHJvY2Vz
cy9BUEkvQ29jb2EvV0tVc2VyQ29udGVudENvbnRyb2xsZXIubW0KK1VJUHJvY2Vzcy9BUEkvQ29j
b2EvV0tVc2VyU2NyaXB0Lm1tCitVSVByb2Nlc3MvQVBJL0NvY29hL1dLV2Vic2l0ZURhdGFSZWNv
cmQubW0KK1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJzaXRlRGF0YVN0b3JlLm1tCitVSVByb2Nl
c3MvQVBJL0NvY29hL1dLV2ViVmlldy5tbQorVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXdD
b25maWd1cmF0aW9uLm1tCitVSVByb2Nlc3MvQVBJL0NvY29hL1dLV2luZG93RmVhdHVyZXMubW0K
KworVUlQcm9jZXNzL0FQSS9tYWMvV0tWaWV3Lm1tCiAKIFVJUHJvY2Vzcy9BcHBsZVBheS9jb2Nv
YS9XZWJQYXltZW50Q29vcmRpbmF0b3JQcm94eUNvY29hLm1tCiAKQEAgLTQ3NywyMyArNDc5LDIz
IEBAIFdlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvQVBJL2MvV0tCdW5kbGVQYWdlQmFubmVyLmNw
cAogV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9BUEkvYy9tYWMvV0tCdW5kbGVNYWMubW0KIFdl
YlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvQVBJL2MvbWFjL1dLQnVuZGxlUGFnZUJhbm5lck1hYy5t
bQogCi1XZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0FQSS9Db2NvYS9XS1dlYlByb2Nlc3NCdW5k
bGVQYXJhbWV0ZXJzLm1tIEBuby11bmlmeQotV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9BUEkv
Q29jb2EvV0tXZWJQcm9jZXNzUGx1Z0luRnJhbWUubW0gQG5vLXVuaWZ5Ci1XZWJQcm9jZXNzL0lu
amVjdGVkQnVuZGxlL0FQSS9Db2NvYS9XS1dlYlByb2Nlc3NQbHVnSW5IaXRUZXN0UmVzdWx0Lm1t
IEBuby11bmlmeQotV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9BUEkvQ29jb2EvV0tXZWJQcm9j
ZXNzUGx1Z0luTm9kZUhhbmRsZS5tbSBAbm8tdW5pZnkKLVdlYlByb2Nlc3MvSW5qZWN0ZWRCdW5k
bGUvQVBJL0NvY29hL1dLV2ViUHJvY2Vzc1BsdWdJblBhZ2VHcm91cC5tbSBAbm8tdW5pZnkKLVdl
YlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvQVBJL0NvY29hL1dLV2ViUHJvY2Vzc1BsdWdJblJhbmdl
SGFuZGxlLm1tIEBuby11bmlmeQotV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9BUEkvQ29jb2Ev
V0tXZWJQcm9jZXNzUGx1Z0luU2NyaXB0V29ybGQubW0gQG5vLXVuaWZ5Ci0KLVdlYlByb2Nlc3Mv
SW5qZWN0ZWRCdW5kbGUvQVBJL21hYy9XS0RPTURvY3VtZW50Lm1tIEBuby11bmlmeQotV2ViUHJv
Y2Vzcy9JbmplY3RlZEJ1bmRsZS9BUEkvbWFjL1dLRE9NRWxlbWVudC5tbSBAbm8tdW5pZnkKLVdl
YlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvQVBJL21hYy9XS0RPTUludGVybmFscy5tbSBAbm8tdW5p
ZnkKLVdlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvQVBJL21hYy9XS0RPTU5vZGUubW0gQG5vLXVu
aWZ5Ci1XZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0FQSS9tYWMvV0tET01SYW5nZS5tbSBAbm8t
dW5pZnkKLVdlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvQVBJL21hYy9XS0RPTVRleHQubW0gQG5v
LXVuaWZ5Ci1XZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0FQSS9tYWMvV0tET01UZXh0SXRlcmF0
b3IubW0gQG5vLXVuaWZ5Ci1XZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0FQSS9tYWMvV0tXZWJQ
cm9jZXNzUGx1Z0luLm1tIEBuby11bmlmeQotV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9BUEkv
bWFjL1dLV2ViUHJvY2Vzc1BsdWdJbkJyb3dzZXJDb250ZXh0Q29udHJvbGxlci5tbSBAbm8tdW5p
ZnkKK1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvQVBJL0NvY29hL1dLV2ViUHJvY2Vzc0J1bmRs
ZVBhcmFtZXRlcnMubW0KK1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvQVBJL0NvY29hL1dLV2Vi
UHJvY2Vzc1BsdWdJbkZyYW1lLm1tCitXZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0FQSS9Db2Nv
YS9XS1dlYlByb2Nlc3NQbHVnSW5IaXRUZXN0UmVzdWx0Lm1tCitXZWJQcm9jZXNzL0luamVjdGVk
QnVuZGxlL0FQSS9Db2NvYS9XS1dlYlByb2Nlc3NQbHVnSW5Ob2RlSGFuZGxlLm1tCitXZWJQcm9j
ZXNzL0luamVjdGVkQnVuZGxlL0FQSS9Db2NvYS9XS1dlYlByb2Nlc3NQbHVnSW5QYWdlR3JvdXAu
bW0KK1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvQVBJL0NvY29hL1dLV2ViUHJvY2Vzc1BsdWdJ
blJhbmdlSGFuZGxlLm1tCitXZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0FQSS9Db2NvYS9XS1dl
YlByb2Nlc3NQbHVnSW5TY3JpcHRXb3JsZC5tbQorCitXZWJQcm9jZXNzL0luamVjdGVkQnVuZGxl
L0FQSS9tYWMvV0tET01Eb2N1bWVudC5tbQorV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9BUEkv
bWFjL1dLRE9NRWxlbWVudC5tbQorV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9BUEkvbWFjL1dL
RE9NSW50ZXJuYWxzLm1tCitXZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0FQSS9tYWMvV0tET01O
b2RlLm1tCitXZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0FQSS9tYWMvV0tET01SYW5nZS5tbQor
V2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9BUEkvbWFjL1dLRE9NVGV4dC5tbQorV2ViUHJvY2Vz
cy9JbmplY3RlZEJ1bmRsZS9BUEkvbWFjL1dLRE9NVGV4dEl0ZXJhdG9yLm1tCitXZWJQcm9jZXNz
L0luamVjdGVkQnVuZGxlL0FQSS9tYWMvV0tXZWJQcm9jZXNzUGx1Z0luLm1tCitXZWJQcm9jZXNz
L0luamVjdGVkQnVuZGxlL0FQSS9tYWMvV0tXZWJQcm9jZXNzUGx1Z0luQnJvd3NlckNvbnRleHRD
b250cm9sbGVyLm1tCiAKIFdlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvbWFjL0luamVjdGVkQnVu
ZGxlTWFjLm1tCiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2Nv
YS9BUElDb250ZW50UnVsZUxpc3RTdG9yZUNvY29hLm1tIGIvU291cmNlL1dlYktpdC9VSVByb2Nl
c3MvQVBJL0NvY29hL0FQSUNvbnRlbnRSdWxlTGlzdFN0b3JlQ29jb2EubW0KaW5kZXggZDUxOGYw
NTMzZDJlNDA2ODE4NmUyZDk5ZThiZjE1ZTY2MGYzZWZlYS4uMDYyNWYyMzJkM2QwMGE1MTU5M2Zj
MTU4NGZkNWUwZWRlZGY5OWRjMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3Mv
QVBJL0NvY29hL0FQSUNvbnRlbnRSdWxlTGlzdFN0b3JlQ29jb2EubW0KKysrIGIvU291cmNlL1dl
YktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL0FQSUNvbnRlbnRSdWxlTGlzdFN0b3JlQ29jb2EubW0K
QEAgLTMyLDcgKzMyLDcgQEAKIAogbmFtZXNwYWNlIEFQSSB7CiAKLVN0cmluZyBDb250ZW50UnVs
ZUxpc3RTdG9yZTo6ZGVmYXVsdFN0b3JlUGF0aChib29sIGxlZ2FjeUZpbGVuYW1lKQorV1RGOjpT
dHJpbmcgQ29udGVudFJ1bGVMaXN0U3RvcmU6OmRlZmF1bHRTdG9yZVBhdGgoYm9vbCBsZWdhY3lG
aWxlbmFtZSkKIHsKICAgICBzdGF0aWMgZGlzcGF0Y2hfb25jZV90IG9uY2VUb2tlbjsKICAgICBz
dGF0aWMgTlNVUkwgKmNvbnRlbnRSdWxlTGlzdFN0b3JlVVJMOwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL1dLQmFja0ZvcndhcmRMaXN0Lm1tIGIvU291cmNl
L1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL1dLQmFja0ZvcndhcmRMaXN0Lm1tCmluZGV4IDc5
ZTVkMjM5YjliODBjZjY3NDE3ZTkzZjg4OGM5OTk2MjAwNGQ3ZjkuLmU2Y2Y3MGRhM2QyNjVhOWVl
ZGM0MTk4NDNkZTcxYjRhMmNlZTc0MDYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9j
ZXNzL0FQSS9Db2NvYS9XS0JhY2tGb3J3YXJkTGlzdC5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L1VJ
UHJvY2Vzcy9BUEkvQ29jb2EvV0tCYWNrRm9yd2FyZExpc3QubW0KQEAgLTMxLDEwICszMSw4IEBA
CiAjaW1wb3J0ICJXS0JhY2tGb3J3YXJkTGlzdEl0ZW1JbnRlcm5hbC5oIgogI2ltcG9ydCAiV0tO
U0FycmF5LmgiCiAKLXVzaW5nIG5hbWVzcGFjZSBXZWJLaXQ7Ci0KIEBpbXBsZW1lbnRhdGlvbiBX
S0JhY2tGb3J3YXJkTGlzdCB7Ci0gICAgQVBJOjpPYmplY3RTdG9yYWdlPFdlYkJhY2tGb3J3YXJk
TGlzdD4gX2xpc3Q7CisgICAgQVBJOjpPYmplY3RTdG9yYWdlPFdlYktpdDo6V2ViQmFja0Zvcndh
cmRMaXN0PiBfbGlzdDsKIH0KIAogLSAodm9pZClkZWFsbG9jCkBAIC00NiwzMiArNDQsMzIgQEAg
dXNpbmcgbmFtZXNwYWNlIFdlYktpdDsKIAogLSAoV0tCYWNrRm9yd2FyZExpc3RJdGVtICopY3Vy
cmVudEl0ZW0KIHsKLSAgICByZXR1cm4gd3JhcHBlcihfbGlzdC0+Y3VycmVudEl0ZW0oKSk7Cisg
ICAgcmV0dXJuIFdlYktpdDo6d3JhcHBlcihfbGlzdC0+Y3VycmVudEl0ZW0oKSk7CiB9CiAKIC0g
KFdLQmFja0ZvcndhcmRMaXN0SXRlbSAqKWJhY2tJdGVtCiB7Ci0gICAgcmV0dXJuIHdyYXBwZXIo
X2xpc3QtPmJhY2tJdGVtKCkpOworICAgIHJldHVybiBXZWJLaXQ6OndyYXBwZXIoX2xpc3QtPmJh
Y2tJdGVtKCkpOwogfQogCiAtIChXS0JhY2tGb3J3YXJkTGlzdEl0ZW0gKilmb3J3YXJkSXRlbQog
ewotICAgIHJldHVybiB3cmFwcGVyKF9saXN0LT5mb3J3YXJkSXRlbSgpKTsKKyAgICByZXR1cm4g
V2ViS2l0Ojp3cmFwcGVyKF9saXN0LT5mb3J3YXJkSXRlbSgpKTsKIH0KIAogLSAoV0tCYWNrRm9y
d2FyZExpc3RJdGVtICopaXRlbUF0SW5kZXg6KE5TSW50ZWdlcilpbmRleAogewotICAgIHJldHVy
biB3cmFwcGVyKF9saXN0LT5pdGVtQXRJbmRleChpbmRleCkpOworICAgIHJldHVybiBXZWJLaXQ6
OndyYXBwZXIoX2xpc3QtPml0ZW1BdEluZGV4KGluZGV4KSk7CiB9CiAKIC0gKE5TQXJyYXkgKili
YWNrTGlzdAogewotICAgIHJldHVybiB3cmFwcGVyKF9saXN0LT5iYWNrTGlzdCgpKTsKKyAgICBy
ZXR1cm4gV2ViS2l0Ojp3cmFwcGVyKF9saXN0LT5iYWNrTGlzdCgpKTsKIH0KIAogLSAoTlNBcnJh
eSAqKWZvcndhcmRMaXN0CiB7Ci0gICAgcmV0dXJuIHdyYXBwZXIoX2xpc3QtPmZvcndhcmRMaXN0
KCkpOworICAgIHJldHVybiBXZWJLaXQ6OndyYXBwZXIoX2xpc3QtPmZvcndhcmRMaXN0KCkpOwog
fQogCiAjcHJhZ21hIG1hcmsgV0tPYmplY3QgcHJvdG9jb2wgaW1wbGVtZW50YXRpb24KZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS0JhY2tGb3J3YXJkTGlz
dEl0ZW0ubW0gYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tCYWNrRm9yd2Fy
ZExpc3RJdGVtLm1tCmluZGV4IDYwMTMyODcwMTlkOTFkYzNiYWZlYjQ2MWZkMDZjNmRjNTA1M2Zm
YWUuLmNkODE4ZWZkNWU2ZDI5YTk0MjZkMTg4ZjZlYThlMTE3OTI1N2Q4MjIgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS0JhY2tGb3J3YXJkTGlzdEl0ZW0u
bW0KKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL1dLQmFja0ZvcndhcmRM
aXN0SXRlbS5tbQpAQCAtMzAsMTAgKzMwLDggQEAKIAogI2ltcG9ydCAiV0tOU1VSTEV4dHJhcy5o
IgogCi11c2luZyBuYW1lc3BhY2UgV2ViS2l0OwotCiBAaW1wbGVtZW50YXRpb24gV0tCYWNrRm9y
d2FyZExpc3RJdGVtIHsKLSAgICBBUEk6Ok9iamVjdFN0b3JhZ2U8V2ViQmFja0ZvcndhcmRMaXN0
SXRlbT4gX2l0ZW07CisgICAgQVBJOjpPYmplY3RTdG9yYWdlPFdlYktpdDo6V2ViQmFja0Zvcndh
cmRMaXN0SXRlbT4gX2l0ZW07CiB9CiAKIC0gKHZvaWQpZGVhbGxvYwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL1dLQnJvd3NpbmdDb250ZXh0Q29udHJvbGxl
ci5tbSBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS0Jyb3dzaW5nQ29udGV4
dENvbnRyb2xsZXIubW0KaW5kZXggZWQ0Mjg2ZTE0OGViMzY0MThhNDNjMDA2OTcxYjA1ODcwZmM0
OGVlMy4uMzkxMTI3YTE5ZjliN2EzNDliNzI1NWE4YzIzMTkwNmQ5OGYyZmY4OSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL1dLQnJvd3NpbmdDb250ZXh0Q29u
dHJvbGxlci5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tCcm93
c2luZ0NvbnRleHRDb250cm9sbGVyLm1tCkBAIC02MSw5ICs2MSw2IEBACiAjaW1wb3J0IDx3dGYv
TmV2ZXJEZXN0cm95ZWQuaD4KICNpbXBvcnQgPHd0Zi9XZWFrT2JqQ1B0ci5oPgogCi11c2luZyBu
YW1lc3BhY2UgV2ViQ29yZTsKLXVzaW5nIG5hbWVzcGFjZSBXZWJLaXQ7Ci0KIE5TU3RyaW5nICog
Y29uc3QgV0tBY3Rpb25Jc01haW5GcmFtZUtleSA9IEAiV0tBY3Rpb25Jc01haW5GcmFtZUtleSI7
CiBOU1N0cmluZyAqIGNvbnN0IFdLQWN0aW9uTmF2aWdhdGlvblR5cGVLZXkgPSBAIldLQWN0aW9u
TmF2aWdhdGlvblR5cGVLZXkiOwogTlNTdHJpbmcgKiBjb25zdCBXS0FjdGlvbk1vdXNlQnV0dG9u
S2V5ID0gQCJXS0FjdGlvbk1vdXNlQnV0dG9uS2V5IjsKQEAgLTc2LDE2ICs3MywxNiBAQCBOU1N0
cmluZyAqIGNvbnN0IFdLQWN0aW9uT3JpZ2luYXRpbmdGcmFtZVVSTEtleSA9IEAiV0tBY3Rpb25P
cmlnaW5hdGluZ0ZyYW1lVVJMSwogTlNTdHJpbmcgKiBjb25zdCBXS0FjdGlvbkNhblNob3dNSU1F
VHlwZUtleSA9IEAiV0tBY3Rpb25DYW5TaG93TUlNRVR5cGVLZXkiOwogCiBAaW1wbGVtZW50YXRp
b24gV0tCcm93c2luZ0NvbnRleHRDb250cm9sbGVyIHsKLSAgICBSZWZQdHI8V2ViUGFnZVByb3h5
PiBfcGFnZTsKLSAgICBzdGQ6OnVuaXF1ZV9wdHI8UGFnZUxvYWRTdGF0ZU9ic2VydmVyPiBfcGFn
ZUxvYWRTdGF0ZU9ic2VydmVyOworICAgIFJlZlB0cjxXZWJLaXQ6OldlYlBhZ2VQcm94eT4gX3Bh
Z2U7CisgICAgc3RkOjp1bmlxdWVfcHRyPFdlYktpdDo6UGFnZUxvYWRTdGF0ZU9ic2VydmVyPiBf
cGFnZUxvYWRTdGF0ZU9ic2VydmVyOwogCiAgICAgV2Vha09iakNQdHI8aWQgPFdLQnJvd3NpbmdD
b250ZXh0TG9hZERlbGVnYXRlPj4gX2xvYWREZWxlZ2F0ZTsKICAgICBXZWFrT2JqQ1B0cjxpZCA8
V0tCcm93c2luZ0NvbnRleHRQb2xpY3lEZWxlZ2F0ZT4+IF9wb2xpY3lEZWxlZ2F0ZTsKIH0KIAot
c3RhdGljIEhhc2hNYXA8V2ViUGFnZVByb3h5KiwgX191bnNhZmVfdW5yZXRhaW5lZCBXS0Jyb3dz
aW5nQ29udGV4dENvbnRyb2xsZXIgKj4mIGJyb3dzaW5nQ29udGV4dENvbnRyb2xsZXJNYXAoKQor
c3RhdGljIEhhc2hNYXA8V2ViS2l0OjpXZWJQYWdlUHJveHkqLCBfX3Vuc2FmZV91bnJldGFpbmVk
IFdLQnJvd3NpbmdDb250ZXh0Q29udHJvbGxlciAqPiYgYnJvd3NpbmdDb250ZXh0Q29udHJvbGxl
ck1hcCgpCiB7Ci0gICAgc3RhdGljIE5ldmVyRGVzdHJveWVkPEhhc2hNYXA8V2ViUGFnZVByb3h5
KiwgX191bnNhZmVfdW5yZXRhaW5lZCBXS0Jyb3dzaW5nQ29udGV4dENvbnRyb2xsZXIgKj4+IGJy
b3dzaW5nQ29udGV4dENvbnRyb2xsZXJNYXA7CisgICAgc3RhdGljIE5ldmVyRGVzdHJveWVkPEhh
c2hNYXA8V2ViS2l0OjpXZWJQYWdlUHJveHkqLCBfX3Vuc2FmZV91bnJldGFpbmVkIFdLQnJvd3Np
bmdDb250ZXh0Q29udHJvbGxlciAqPj4gYnJvd3NpbmdDb250ZXh0Q29udHJvbGxlck1hcDsKICAg
ICByZXR1cm4gYnJvd3NpbmdDb250ZXh0Q29udHJvbGxlck1hcDsKIH0KIApAQCAtMTAzLDEyICsx
MDAsMTIgQEAgc3RhdGljIEhhc2hNYXA8V2ViUGFnZVByb3h5KiwgX191bnNhZmVfdW5yZXRhaW5l
ZCBXS0Jyb3dzaW5nQ29udGV4dENvbnRyb2xsZXIgKj4KIAogKyAodm9pZClyZWdpc3RlclNjaGVt
ZUZvckN1c3RvbVByb3RvY29sOihOU1N0cmluZyAqKXNjaGVtZQogewotICAgIFdlYlByb2Nlc3NQ
b29sOjpyZWdpc3Rlckdsb2JhbFVSTFNjaGVtZUFzSGF2aW5nQ3VzdG9tUHJvdG9jb2xIYW5kbGVy
cyhzY2hlbWUpOworICAgIFdlYktpdDo6V2ViUHJvY2Vzc1Bvb2w6OnJlZ2lzdGVyR2xvYmFsVVJM
U2NoZW1lQXNIYXZpbmdDdXN0b21Qcm90b2NvbEhhbmRsZXJzKHNjaGVtZSk7CiB9CiAKICsgKHZv
aWQpdW5yZWdpc3RlclNjaGVtZUZvckN1c3RvbVByb3RvY29sOihOU1N0cmluZyAqKXNjaGVtZQog
ewotICAgIFdlYlByb2Nlc3NQb29sOjp1bnJlZ2lzdGVyR2xvYmFsVVJMU2NoZW1lQXNIYXZpbmdD
dXN0b21Qcm90b2NvbEhhbmRsZXJzKHNjaGVtZSk7CisgICAgV2ViS2l0OjpXZWJQcm9jZXNzUG9v
bDo6dW5yZWdpc3Rlckdsb2JhbFVSTFNjaGVtZUFzSGF2aW5nQ3VzdG9tUHJvdG9jb2xIYW5kbGVy
cyhzY2hlbWUpOwogfQogCiAtICh2b2lkKWxvYWRSZXF1ZXN0OihOU1VSTFJlcXVlc3QgKilyZXF1
ZXN0CkBAIC0xMTgsMTEgKzExNSwxMSBAQCBzdGF0aWMgSGFzaE1hcDxXZWJQYWdlUHJveHkqLCBf
X3Vuc2FmZV91bnJldGFpbmVkIFdLQnJvd3NpbmdDb250ZXh0Q29udHJvbGxlciAqPgogCiAtICh2
b2lkKWxvYWRSZXF1ZXN0OihOU1VSTFJlcXVlc3QgKilyZXF1ZXN0IHVzZXJEYXRhOihpZCl1c2Vy
RGF0YQogewotICAgIFJlZlB0cjxPYmpDT2JqZWN0R3JhcGg+IHdrVXNlckRhdGE7CisgICAgUmVm
UHRyPFdlYktpdDo6T2JqQ09iamVjdEdyYXBoPiB3a1VzZXJEYXRhOwogICAgIGlmICh1c2VyRGF0
YSkKLSAgICAgICAgd2tVc2VyRGF0YSA9IE9iakNPYmplY3RHcmFwaDo6Y3JlYXRlKHVzZXJEYXRh
KTsKKyAgICAgICAgd2tVc2VyRGF0YSA9IFdlYktpdDo6T2JqQ09iamVjdEdyYXBoOjpjcmVhdGUo
dXNlckRhdGEpOwogCi0gICAgX3BhZ2UtPmxvYWRSZXF1ZXN0KHJlcXVlc3QsIFNob3VsZE9wZW5F
eHRlcm5hbFVSTHNQb2xpY3k6OlNob3VsZE5vdEFsbG93LCB3a1VzZXJEYXRhLmdldCgpKTsKKyAg
ICBfcGFnZS0+bG9hZFJlcXVlc3QocmVxdWVzdCwgV2ViQ29yZTo6U2hvdWxkT3BlbkV4dGVybmFs
VVJMc1BvbGljeTo6U2hvdWxkTm90QWxsb3csIHdrVXNlckRhdGEuZ2V0KCkpOwogfQogCiAtICh2
b2lkKWxvYWRGaWxlVVJMOihOU1VSTCAqKVVSTCByZXN0cmljdFRvRmlsZXNXaXRoaW46KE5TVVJM
ICopYWxsb3dlZERpcmVjdG9yeQpAQCAtMTM1LDkgKzEzMiw5IEBAIHN0YXRpYyBIYXNoTWFwPFdl
YlBhZ2VQcm94eSosIF9fdW5zYWZlX3VucmV0YWluZWQgV0tCcm93c2luZ0NvbnRleHRDb250cm9s
bGVyICo+CiAgICAgaWYgKCFbVVJMIGlzRmlsZVVSTF0gfHwgKGFsbG93ZWREaXJlY3RvcnkgJiYg
IVthbGxvd2VkRGlyZWN0b3J5IGlzRmlsZVVSTF0pKQogICAgICAgICBbTlNFeGNlcHRpb24gcmFp
c2U6TlNJbnZhbGlkQXJndW1lbnRFeGNlcHRpb24gZm9ybWF0OkAiQXR0ZW1wdGVkIHRvIGxvYWQg
YSBub24tZmlsZSBVUkwiXTsKIAotICAgIFJlZlB0cjxPYmpDT2JqZWN0R3JhcGg+IHdrVXNlckRh
dGE7CisgICAgUmVmUHRyPFdlYktpdDo6T2JqQ09iamVjdEdyYXBoPiB3a1VzZXJEYXRhOwogICAg
IGlmICh1c2VyRGF0YSkKLSAgICAgICAgd2tVc2VyRGF0YSA9IE9iakNPYmplY3RHcmFwaDo6Y3Jl
YXRlKHVzZXJEYXRhKTsKKyAgICAgICAgd2tVc2VyRGF0YSA9IFdlYktpdDo6T2JqQ09iamVjdEdy
YXBoOjpjcmVhdGUodXNlckRhdGEpOwogCiAgICAgX3BhZ2UtPmxvYWRGaWxlKFtVUkwgX3dlYl9v
cmlnaW5hbERhdGFBc1dURlN0cmluZ10sIFthbGxvd2VkRGlyZWN0b3J5IF93ZWJfb3JpZ2luYWxE
YXRhQXNXVEZTdHJpbmddLCB3a1VzZXJEYXRhLmdldCgpKTsKIH0KQEAgLTE0OSw5ICsxNDYsOSBA
QCBzdGF0aWMgSGFzaE1hcDxXZWJQYWdlUHJveHkqLCBfX3Vuc2FmZV91bnJldGFpbmVkIFdLQnJv
d3NpbmdDb250ZXh0Q29udHJvbGxlciAqPgogCiAtICh2b2lkKWxvYWRIVE1MU3RyaW5nOihOU1N0
cmluZyAqKUhUTUxTdHJpbmcgYmFzZVVSTDooTlNVUkwgKiliYXNlVVJMIHVzZXJEYXRhOihpZCl1
c2VyRGF0YQogewotICAgIFJlZlB0cjxPYmpDT2JqZWN0R3JhcGg+IHdrVXNlckRhdGE7CisgICAg
UmVmUHRyPFdlYktpdDo6T2JqQ09iamVjdEdyYXBoPiB3a1VzZXJEYXRhOwogICAgIGlmICh1c2Vy
RGF0YSkKLSAgICAgICAgd2tVc2VyRGF0YSA9IE9iakNPYmplY3RHcmFwaDo6Y3JlYXRlKHVzZXJE
YXRhKTsKKyAgICAgICAgd2tVc2VyRGF0YSA9IFdlYktpdDo6T2JqQ09iamVjdEdyYXBoOjpjcmVh
dGUodXNlckRhdGEpOwogCiAgICAgTlNEYXRhICpkYXRhID0gW0hUTUxTdHJpbmcgZGF0YVVzaW5n
RW5jb2Rpbmc6TlNVVEY4U3RyaW5nRW5jb2RpbmddOwogICAgIF9wYWdlLT5sb2FkRGF0YSh7IHN0
YXRpY19jYXN0PGNvbnN0IHVpbnQ4X3QqPihkYXRhLmJ5dGVzKSwgZGF0YS5sZW5ndGggfSwgInRl
eHQvaHRtbCJfcywgIlVURi04Il9zLCBbYmFzZVVSTCBfd2ViX29yaWdpbmFsRGF0YUFzV1RGU3Ry
aW5nXSwgd2tVc2VyRGF0YS5nZXQoKSk7CkBAIC0xNzAsOSArMTY3LDkgQEAgc3RhdGljIEhhc2hN
YXA8V2ViUGFnZVByb3h5KiwgX191bnNhZmVfdW5yZXRhaW5lZCBXS0Jyb3dzaW5nQ29udGV4dENv
bnRyb2xsZXIgKj4KIAogLSAodm9pZClsb2FkRGF0YTooTlNEYXRhICopZGF0YSBNSU1FVHlwZToo
TlNTdHJpbmcgKilNSU1FVHlwZSB0ZXh0RW5jb2RpbmdOYW1lOihOU1N0cmluZyAqKWVuY29kaW5n
TmFtZSBiYXNlVVJMOihOU1VSTCAqKWJhc2VVUkwgdXNlckRhdGE6KGlkKXVzZXJEYXRhCiB7Ci0g
ICAgUmVmUHRyPE9iakNPYmplY3RHcmFwaD4gd2tVc2VyRGF0YTsKKyAgICBSZWZQdHI8V2ViS2l0
OjpPYmpDT2JqZWN0R3JhcGg+IHdrVXNlckRhdGE7CiAgICAgaWYgKHVzZXJEYXRhKQotICAgICAg
ICB3a1VzZXJEYXRhID0gT2JqQ09iamVjdEdyYXBoOjpjcmVhdGUodXNlckRhdGEpOworICAgICAg
ICB3a1VzZXJEYXRhID0gV2ViS2l0OjpPYmpDT2JqZWN0R3JhcGg6OmNyZWF0ZSh1c2VyRGF0YSk7
CiAKICAgICBfcGFnZS0+bG9hZERhdGEoeyBzdGF0aWNfY2FzdDxjb25zdCB1aW50OF90Kj4oZGF0
YS5ieXRlcyksIGRhdGEubGVuZ3RoIH0sIE1JTUVUeXBlLCBlbmNvZGluZ05hbWUsIFtiYXNlVVJM
IF93ZWJfb3JpZ2luYWxEYXRhQXNXVEZTdHJpbmddLCB3a1VzZXJEYXRhLmdldCgpKTsKIH0KQEAg
LTI5Miw3ICsyODksNyBAQCBzdGF0aWMgSGFzaE1hcDxXZWJQYWdlUHJveHkqLCBfX3Vuc2FmZV91
bnJldGFpbmVkIFdLQnJvd3NpbmdDb250ZXh0Q29udHJvbGxlciAqPgogCiAtIChOU0FycmF5ICop
Y2VydGlmaWNhdGVDaGFpbgogewotICAgIGlmIChXZWJGcmFtZVByb3h5KiBtYWluRnJhbWUgPSBf
cGFnZS0+bWFpbkZyYW1lKCkpCisgICAgaWYgKFdlYktpdDo6V2ViRnJhbWVQcm94eSogbWFpbkZy
YW1lID0gX3BhZ2UtPm1haW5GcmFtZSgpKQogICAgICAgICByZXR1cm4gbWFpbkZyYW1lLT5jZXJ0
aWZpY2F0ZUluZm8oKSA/IChfX2JyaWRnZSBOU0FycmF5ICopbWFpbkZyYW1lLT5jZXJ0aWZpY2F0
ZUluZm8oKS0+Y2VydGlmaWNhdGVJbmZvKCkuY2VydGlmaWNhdGVDaGFpbigpIDogbmlsOwogCiAg
ICAgcmV0dXJuIG5pbDsKQEAgLTM0NCw3ICszNDEsNyBAQCBzdGF0aWMgdm9pZCBkaWRGYWlsUHJv
dmlzaW9uYWxOYXZpZ2F0aW9uKFdLUGFnZVJlZiBwYWdlLCBXS05hdmlnYXRpb25SZWYsIFdLRXJy
bwogICAgIGF1dG8gbG9hZERlbGVnYXRlID0gYnJvd3NpbmdDb250ZXh0LT5fbG9hZERlbGVnYXRl
LmdldCgpOwogCiAgICAgaWYgKFtsb2FkRGVsZWdhdGUgcmVzcG9uZHNUb1NlbGVjdG9yOkBzZWxl
Y3Rvcihicm93c2luZ0NvbnRleHRDb250cm9sbGVyOmRpZEZhaWxQcm92aXNpb25hbExvYWRXaXRo
RXJyb3I6KV0pCi0gICAgICAgIFtsb2FkRGVsZWdhdGUgYnJvd3NpbmdDb250ZXh0Q29udHJvbGxl
cjpicm93c2luZ0NvbnRleHQgZGlkRmFpbFByb3Zpc2lvbmFsTG9hZFdpdGhFcnJvcjp3cmFwcGVy
KCp0b0ltcGwoZXJyb3IpKV07CisgICAgICAgIFtsb2FkRGVsZWdhdGUgYnJvd3NpbmdDb250ZXh0
Q29udHJvbGxlcjpicm93c2luZ0NvbnRleHQgZGlkRmFpbFByb3Zpc2lvbmFsTG9hZFdpdGhFcnJv
cjp3cmFwcGVyKCpXZWJLaXQ6OnRvSW1wbChlcnJvcikpXTsKIH0KIAogc3RhdGljIHZvaWQgZGlk
Q29tbWl0TmF2aWdhdGlvbihXS1BhZ2VSZWYgcGFnZSwgV0tOYXZpZ2F0aW9uUmVmLCBXS1R5cGVS
ZWYgdXNlckRhdGEsIGNvbnN0IHZvaWQqIGNsaWVudEluZm8pCkBAIC0zNzEsNyArMzY4LDcgQEAg
c3RhdGljIHZvaWQgZGlkRmFpbE5hdmlnYXRpb24oV0tQYWdlUmVmIHBhZ2UsIFdLTmF2aWdhdGlv
blJlZiwgV0tFcnJvclJlZiBlcnJvciwKICAgICBhdXRvIGxvYWREZWxlZ2F0ZSA9IGJyb3dzaW5n
Q29udGV4dC0+X2xvYWREZWxlZ2F0ZS5nZXQoKTsKIAogICAgIGlmIChbbG9hZERlbGVnYXRlIHJl
c3BvbmRzVG9TZWxlY3RvcjpAc2VsZWN0b3IoYnJvd3NpbmdDb250ZXh0Q29udHJvbGxlcjpkaWRG
YWlsTG9hZFdpdGhFcnJvcjopXSkKLSAgICAgICAgW2xvYWREZWxlZ2F0ZSBicm93c2luZ0NvbnRl
eHRDb250cm9sbGVyOmJyb3dzaW5nQ29udGV4dCBkaWRGYWlsTG9hZFdpdGhFcnJvcjp3cmFwcGVy
KCp0b0ltcGwoZXJyb3IpKV07CisgICAgICAgIFtsb2FkRGVsZWdhdGUgYnJvd3NpbmdDb250ZXh0
Q29udHJvbGxlcjpicm93c2luZ0NvbnRleHQgZGlkRmFpbExvYWRXaXRoRXJyb3I6d3JhcHBlcigq
V2ViS2l0Ojp0b0ltcGwoZXJyb3IpKV07CiB9CiAKIHN0YXRpYyBib29sIGNhbkF1dGhlbnRpY2F0
ZUFnYWluc3RQcm90ZWN0aW9uU3BhY2UoV0tQYWdlUmVmIHBhZ2UsIFdLUHJvdGVjdGlvblNwYWNl
UmVmIHByb3RlY3Rpb25TcGFjZSwgY29uc3Qgdm9pZCAqY2xpZW50SW5mbykKQEAgLTM4MCw3ICsz
NzcsNyBAQCBzdGF0aWMgYm9vbCBjYW5BdXRoZW50aWNhdGVBZ2FpbnN0UHJvdGVjdGlvblNwYWNl
KFdLUGFnZVJlZiBwYWdlLCBXS1Byb3RlY3Rpb25TcAogICAgIGF1dG8gbG9hZERlbGVnYXRlID0g
YnJvd3NpbmdDb250ZXh0LT5fbG9hZERlbGVnYXRlLmdldCgpOwogCiAgICAgaWYgKFtsb2FkRGVs
ZWdhdGUgcmVzcG9uZHNUb1NlbGVjdG9yOkBzZWxlY3Rvcihicm93c2luZ0NvbnRleHRDb250cm9s
bGVyOmNhbkF1dGhlbnRpY2F0ZUFnYWluc3RQcm90ZWN0aW9uU3BhY2U6KV0pCi0gICAgICAgIHJl
dHVybiBbKGlkIDxXS0Jyb3dzaW5nQ29udGV4dExvYWREZWxlZ2F0ZVByaXZhdGU+KWxvYWREZWxl
Z2F0ZSBicm93c2luZ0NvbnRleHRDb250cm9sbGVyOmJyb3dzaW5nQ29udGV4dCBjYW5BdXRoZW50
aWNhdGVBZ2FpbnN0UHJvdGVjdGlvblNwYWNlOnRvSW1wbChwcm90ZWN0aW9uU3BhY2UpLT5wcm90
ZWN0aW9uU3BhY2UoKS5uc1NwYWNlKCldOworICAgICAgICByZXR1cm4gWyhpZCA8V0tCcm93c2lu
Z0NvbnRleHRMb2FkRGVsZWdhdGVQcml2YXRlPilsb2FkRGVsZWdhdGUgYnJvd3NpbmdDb250ZXh0
Q29udHJvbGxlcjpicm93c2luZ0NvbnRleHQgY2FuQXV0aGVudGljYXRlQWdhaW5zdFByb3RlY3Rp
b25TcGFjZTpXZWJLaXQ6OnRvSW1wbChwcm90ZWN0aW9uU3BhY2UpLT5wcm90ZWN0aW9uU3BhY2Uo
KS5uc1NwYWNlKCldOwogCiAgICAgcmV0dXJuIGZhbHNlOwogfQpAQCAtMzkxLDcgKzM4OCw3IEBA
IHN0YXRpYyB2b2lkIGRpZFJlY2VpdmVBdXRoZW50aWNhdGlvbkNoYWxsZW5nZShXS1BhZ2VSZWYg
cGFnZSwgV0tBdXRoZW50aWNhdGlvbkNoCiAgICAgYXV0byBsb2FkRGVsZWdhdGUgPSBicm93c2lu
Z0NvbnRleHQtPl9sb2FkRGVsZWdhdGUuZ2V0KCk7CiAKICAgICBpZiAoW2xvYWREZWxlZ2F0ZSBy
ZXNwb25kc1RvU2VsZWN0b3I6QHNlbGVjdG9yKGJyb3dzaW5nQ29udGV4dENvbnRyb2xsZXI6ZGlk
UmVjZWl2ZUF1dGhlbnRpY2F0aW9uQ2hhbGxlbmdlOildKQotICAgICAgICBbKGlkIDxXS0Jyb3dz
aW5nQ29udGV4dExvYWREZWxlZ2F0ZVByaXZhdGU+KWxvYWREZWxlZ2F0ZSBicm93c2luZ0NvbnRl
eHRDb250cm9sbGVyOmJyb3dzaW5nQ29udGV4dCBkaWRSZWNlaXZlQXV0aGVudGljYXRpb25DaGFs
bGVuZ2U6d3JhcHBlcigqdG9JbXBsKGF1dGhlbnRpY2F0aW9uQ2hhbGxlbmdlKSldOworICAgICAg
ICBbKGlkIDxXS0Jyb3dzaW5nQ29udGV4dExvYWREZWxlZ2F0ZVByaXZhdGU+KWxvYWREZWxlZ2F0
ZSBicm93c2luZ0NvbnRleHRDb250cm9sbGVyOmJyb3dzaW5nQ29udGV4dCBkaWRSZWNlaXZlQXV0
aGVudGljYXRpb25DaGFsbGVuZ2U6d3JhcHBlcigqV2ViS2l0Ojp0b0ltcGwoYXV0aGVudGljYXRp
b25DaGFsbGVuZ2UpKV07CiB9CiAKIHN0YXRpYyB2b2lkIHByb2Nlc3NEaWRDcmFzaChXS1BhZ2VS
ZWYgcGFnZSwgY29uc3Qgdm9pZCogY2xpZW50SW5mbykKQEAgLTQwMyw3ICs0MDAsNyBAQCBzdGF0
aWMgdm9pZCBwcm9jZXNzRGlkQ3Jhc2goV0tQYWdlUmVmIHBhZ2UsIGNvbnN0IHZvaWQqIGNsaWVu
dEluZm8pCiAgICAgICAgIFsoaWQgPFdLQnJvd3NpbmdDb250ZXh0TG9hZERlbGVnYXRlUHJpdmF0
ZT4pbG9hZERlbGVnYXRlIGJyb3dzaW5nQ29udGV4dENvbnRyb2xsZXJXZWJQcm9jZXNzRGlkQ3Jh
c2g6YnJvd3NpbmdDb250ZXh0XTsKIH0KIAotc3RhdGljIHZvaWQgc2V0VXBQYWdlTG9hZGVyQ2xp
ZW50KFdLQnJvd3NpbmdDb250ZXh0Q29udHJvbGxlciAqYnJvd3NpbmdDb250ZXh0LCBXZWJQYWdl
UHJveHkmIHBhZ2UpCitzdGF0aWMgdm9pZCBzZXRVcFBhZ2VMb2FkZXJDbGllbnQoV0tCcm93c2lu
Z0NvbnRleHRDb250cm9sbGVyICpicm93c2luZ0NvbnRleHQsIFdlYktpdDo6V2ViUGFnZVByb3h5
JiBwYWdlKQogewogICAgIFdLUGFnZU5hdmlnYXRpb25DbGllbnRWMCBsb2FkZXJDbGllbnQ7CiAg
ICAgbWVtc2V0KCZsb2FkZXJDbGllbnQsIDAsIHNpemVvZihsb2FkZXJDbGllbnQpKTsKQEAgLTQ0
Niw3ICs0NDMsNyBAQCBzdGF0aWMgV0tQb2xpY3lEZWNpc2lvbkhhbmRsZXIgbWFrZVBvbGljeURl
Y2lzaW9uQmxvY2soV0tGcmFtZVBvbGljeUxpc3RlbmVyUmVmCiAgICAgfSBjb3B5XSBhdXRvcmVs
ZWFzZV07CiB9CiAKLXN0YXRpYyB2b2lkIHNldFVwUGFnZVBvbGljeUNsaWVudChXS0Jyb3dzaW5n
Q29udGV4dENvbnRyb2xsZXIgKmJyb3dzaW5nQ29udGV4dCwgV2ViUGFnZVByb3h5JiBwYWdlKQor
c3RhdGljIHZvaWQgc2V0VXBQYWdlUG9saWN5Q2xpZW50KFdLQnJvd3NpbmdDb250ZXh0Q29udHJv
bGxlciAqYnJvd3NpbmdDb250ZXh0LCBXZWJLaXQ6OldlYlBhZ2VQcm94eSYgcGFnZSkKIHsKICAg
ICBXS1BhZ2VQb2xpY3lDbGllbnRJbnRlcm5hbCBwb2xpY3lDbGllbnQ7CiAgICAgbWVtc2V0KCZw
b2xpY3lDbGllbnQsIDAsIHNpemVvZihwb2xpY3lDbGllbnQpKTsKQEAgLTQ3MSw3ICs0NjgsNyBA
QCBzdGF0aWMgdm9pZCBzZXRVcFBhZ2VQb2xpY3lDbGllbnQoV0tCcm93c2luZ0NvbnRleHRDb250
cm9sbGVyICpicm93c2luZ0NvbnRleHQsCiAKICAgICAgICAgICAgIGlmIChvcmlnaW5hdGluZ0Zy
YW1lKSB7CiAgICAgICAgICAgICAgICAgYWN0aW9uRGljdGlvbmFyeSA9IFtbYWN0aW9uRGljdGlv
bmFyeSBtdXRhYmxlQ29weV0gYXV0b3JlbGVhc2VdOwotICAgICAgICAgICAgICAgIFsoTlNNdXRh
YmxlRGljdGlvbmFyeSAqKWFjdGlvbkRpY3Rpb25hcnkgc2V0T2JqZWN0OltOU1VSTCBfd2ViX1VS
TFdpdGhXVEZTdHJpbmc6dG9JbXBsKG9yaWdpbmF0aW5nRnJhbWUpLT51cmwoKV0gZm9yS2V5OldL
QWN0aW9uT3JpZ2luYXRpbmdGcmFtZVVSTEtleV07CisgICAgICAgICAgICAgICAgWyhOU011dGFi
bGVEaWN0aW9uYXJ5ICopYWN0aW9uRGljdGlvbmFyeSBzZXRPYmplY3Q6W05TVVJMIF93ZWJfVVJM
V2l0aFdURlN0cmluZzpXZWJLaXQ6OnRvSW1wbChvcmlnaW5hdGluZ0ZyYW1lKS0+dXJsKCldIGZv
cktleTpXS0FjdGlvbk9yaWdpbmF0aW5nRnJhbWVVUkxLZXldOwogICAgICAgICAgICAgfQogICAg
ICAgICAgICAgCiAgICAgICAgICAgICBbcG9saWN5RGVsZWdhdGUgYnJvd3NpbmdDb250ZXh0Q29u
dHJvbGxlcjpicm93c2luZ0NvbnRleHQgZGVjaWRlUG9saWN5Rm9yTmF2aWdhdGlvbkFjdGlvbjph
Y3Rpb25EaWN0aW9uYXJ5IGRlY2lzaW9uSGFuZGxlcjptYWtlUG9saWN5RGVjaXNpb25CbG9jayhs
aXN0ZW5lcildOwpAQCAtNDkxLDcgKzQ4OCw3IEBAIHN0YXRpYyB2b2lkIHNldFVwUGFnZVBvbGlj
eUNsaWVudChXS0Jyb3dzaW5nQ29udGV4dENvbnRyb2xsZXIgKmJyb3dzaW5nQ29udGV4dCwKICAg
ICAgICAgICAgICAgICBXS0FjdGlvbk1vZGlmaWVyRmxhZ3NLZXk6IEAobW9kaWZpZXJzKSwKICAg
ICAgICAgICAgICAgICBXS0FjdGlvbk1vdXNlQnV0dG9uS2V5OiBAKG1vdXNlQnV0dG9uKSwKICAg
ICAgICAgICAgICAgICBXS0FjdGlvblVSTFJlcXVlc3RLZXk6IGFkb3B0TlMoV0tVUkxSZXF1ZXN0
Q29weU5TVVJMUmVxdWVzdChyZXF1ZXN0KSkuZ2V0KCksCi0gICAgICAgICAgICAgICAgV0tBY3Rp
b25GcmFtZU5hbWVLZXk6IHRvSW1wbChmcmFtZU5hbWUpLT53cmFwcGVyKCkKKyAgICAgICAgICAg
ICAgICBXS0FjdGlvbkZyYW1lTmFtZUtleTogV2ViS2l0Ojp0b0ltcGwoZnJhbWVOYW1lKS0+d3Jh
cHBlcigpCiAgICAgICAgICAgICB9OwogICAgICAgICAgICAgCiAgICAgICAgICAgICBbcG9saWN5
RGVsZWdhdGUgYnJvd3NpbmdDb250ZXh0Q29udHJvbGxlcjpicm93c2luZ0NvbnRleHQgZGVjaWRl
UG9saWN5Rm9yTmV3V2luZG93QWN0aW9uOmFjdGlvbkRpY3Rpb25hcnkgZGVjaXNpb25IYW5kbGVy
Om1ha2VQb2xpY3lEZWNpc2lvbkJsb2NrKGxpc3RlbmVyKV07CkBAIC01NzEsOSArNTY4LDkgQEAg
c3RhdGljIHZvaWQgc2V0VXBQYWdlUG9saWN5Q2xpZW50KFdLQnJvd3NpbmdDb250ZXh0Q29udHJv
bGxlciAqYnJvd3NpbmdDb250ZXh0LAogICAgIGlmICghKHNlbGYgPSBbc3VwZXIgaW5pdF0pKQog
ICAgICAgICByZXR1cm4gbmlsOwogCi0gICAgX3BhZ2UgPSB0b0ltcGwocGFnZVJlZik7CisgICAg
X3BhZ2UgPSBXZWJLaXQ6OnRvSW1wbChwYWdlUmVmKTsKIAotICAgIF9wYWdlTG9hZFN0YXRlT2Jz
ZXJ2ZXIgPSBzdGQ6Om1ha2VfdW5pcXVlPFBhZ2VMb2FkU3RhdGVPYnNlcnZlcj4oc2VsZik7Cisg
ICAgX3BhZ2VMb2FkU3RhdGVPYnNlcnZlciA9IHN0ZDo6bWFrZV91bmlxdWU8V2ViS2l0OjpQYWdl
TG9hZFN0YXRlT2JzZXJ2ZXI+KHNlbGYpOwogICAgIF9wYWdlLT5wYWdlTG9hZFN0YXRlKCkuYWRk
T2JzZXJ2ZXIoKl9wYWdlTG9hZFN0YXRlT2JzZXJ2ZXIpOwogCiAgICAgQVNTRVJUKCFicm93c2lu
Z0NvbnRleHRDb250cm9sbGVyTWFwKCkuY29udGFpbnMoX3BhZ2UuZ2V0KCkpKTsKQEAgLTU4NCw3
ICs1ODEsNyBAQCBzdGF0aWMgdm9pZCBzZXRVcFBhZ2VQb2xpY3lDbGllbnQoV0tCcm93c2luZ0Nv
bnRleHRDb250cm9sbGVyICpicm93c2luZ0NvbnRleHQsCiAKICsgKFdLQnJvd3NpbmdDb250ZXh0
Q29udHJvbGxlciAqKV9icm93c2luZ0NvbnRleHRDb250cm9sbGVyRm9yUGFnZVJlZjooV0tQYWdl
UmVmKXBhZ2VSZWYKIHsKLSAgICByZXR1cm4gYnJvd3NpbmdDb250ZXh0Q29udHJvbGxlck1hcCgp
LmdldCh0b0ltcGwocGFnZVJlZikpOworICAgIHJldHVybiBicm93c2luZ0NvbnRleHRDb250cm9s
bGVyTWFwKCkuZ2V0KFdlYktpdDo6dG9JbXBsKHBhZ2VSZWYpKTsKIH0KIAogQGVuZApAQCAtNTkz
LDI3ICs1OTAsMjcgQEAgc3RhdGljIHZvaWQgc2V0VXBQYWdlUG9saWN5Q2xpZW50KFdLQnJvd3Np
bmdDb250ZXh0Q29udHJvbGxlciAqYnJvd3NpbmdDb250ZXh0LAogCiAtIChXS1BhZ2VSZWYpX3Bh
Z2VSZWYKIHsKLSAgICByZXR1cm4gdG9BUEkoX3BhZ2UuZ2V0KCkpOworICAgIHJldHVybiBXZWJL
aXQ6OnRvQVBJKF9wYWdlLmdldCgpKTsKIH0KIAogLSAodm9pZClzZXRQYWdpbmF0aW9uTW9kZToo
V0tCcm93c2luZ0NvbnRleHRQYWdpbmF0aW9uTW9kZSlwYWdpbmF0aW9uTW9kZQogewotICAgIFBh
Z2luYXRpb246Ok1vZGUgbW9kZTsKKyAgICBXZWJDb3JlOjpQYWdpbmF0aW9uOjpNb2RlIG1vZGU7
CiAgICAgc3dpdGNoIChwYWdpbmF0aW9uTW9kZSkgewogICAgIGNhc2UgV0tQYWdpbmF0aW9uTW9k
ZVVucGFnaW5hdGVkOgotICAgICAgICBtb2RlID0gUGFnaW5hdGlvbjo6VW5wYWdpbmF0ZWQ7Cisg
ICAgICAgIG1vZGUgPSBXZWJDb3JlOjpQYWdpbmF0aW9uOjpVbnBhZ2luYXRlZDsKICAgICAgICAg
YnJlYWs7CiAgICAgY2FzZSBXS1BhZ2luYXRpb25Nb2RlTGVmdFRvUmlnaHQ6Ci0gICAgICAgIG1v
ZGUgPSBQYWdpbmF0aW9uOjpMZWZ0VG9SaWdodFBhZ2luYXRlZDsKKyAgICAgICAgbW9kZSA9IFdl
YkNvcmU6OlBhZ2luYXRpb246OkxlZnRUb1JpZ2h0UGFnaW5hdGVkOwogICAgICAgICBicmVhazsK
ICAgICBjYXNlIFdLUGFnaW5hdGlvbk1vZGVSaWdodFRvTGVmdDoKLSAgICAgICAgbW9kZSA9IFBh
Z2luYXRpb246OlJpZ2h0VG9MZWZ0UGFnaW5hdGVkOworICAgICAgICBtb2RlID0gV2ViQ29yZTo6
UGFnaW5hdGlvbjo6UmlnaHRUb0xlZnRQYWdpbmF0ZWQ7CiAgICAgICAgIGJyZWFrOwogICAgIGNh
c2UgV0tQYWdpbmF0aW9uTW9kZVRvcFRvQm90dG9tOgotICAgICAgICBtb2RlID0gUGFnaW5hdGlv
bjo6VG9wVG9Cb3R0b21QYWdpbmF0ZWQ7CisgICAgICAgIG1vZGUgPSBXZWJDb3JlOjpQYWdpbmF0
aW9uOjpUb3BUb0JvdHRvbVBhZ2luYXRlZDsKICAgICAgICAgYnJlYWs7CiAgICAgY2FzZSBXS1Bh
Z2luYXRpb25Nb2RlQm90dG9tVG9Ub3A6Ci0gICAgICAgIG1vZGUgPSBQYWdpbmF0aW9uOjpCb3R0
b21Ub1RvcFBhZ2luYXRlZDsKKyAgICAgICAgbW9kZSA9IFdlYkNvcmU6OlBhZ2luYXRpb246OkJv
dHRvbVRvVG9wUGFnaW5hdGVkOwogICAgICAgICBicmVhazsKICAgICBkZWZhdWx0OgogICAgICAg
ICByZXR1cm47CkBAIC02MjUsMTUgKzYyMiwxNSBAQCBzdGF0aWMgdm9pZCBzZXRVcFBhZ2VQb2xp
Y3lDbGllbnQoV0tCcm93c2luZ0NvbnRleHRDb250cm9sbGVyICpicm93c2luZ0NvbnRleHQsCiAt
IChXS0Jyb3dzaW5nQ29udGV4dFBhZ2luYXRpb25Nb2RlKXBhZ2luYXRpb25Nb2RlCiB7CiAgICAg
c3dpdGNoIChfcGFnZS0+cGFnaW5hdGlvbk1vZGUoKSkgewotICAgIGNhc2UgUGFnaW5hdGlvbjo6
VW5wYWdpbmF0ZWQ6CisgICAgY2FzZSBXZWJDb3JlOjpQYWdpbmF0aW9uOjpVbnBhZ2luYXRlZDoK
ICAgICAgICAgcmV0dXJuIFdLUGFnaW5hdGlvbk1vZGVVbnBhZ2luYXRlZDsKLSAgICBjYXNlIFBh
Z2luYXRpb246OkxlZnRUb1JpZ2h0UGFnaW5hdGVkOgorICAgIGNhc2UgV2ViQ29yZTo6UGFnaW5h
dGlvbjo6TGVmdFRvUmlnaHRQYWdpbmF0ZWQ6CiAgICAgICAgIHJldHVybiBXS1BhZ2luYXRpb25N
b2RlTGVmdFRvUmlnaHQ7Ci0gICAgY2FzZSBQYWdpbmF0aW9uOjpSaWdodFRvTGVmdFBhZ2luYXRl
ZDoKKyAgICBjYXNlIFdlYkNvcmU6OlBhZ2luYXRpb246OlJpZ2h0VG9MZWZ0UGFnaW5hdGVkOgog
ICAgICAgICByZXR1cm4gV0tQYWdpbmF0aW9uTW9kZVJpZ2h0VG9MZWZ0OwotICAgIGNhc2UgUGFn
aW5hdGlvbjo6VG9wVG9Cb3R0b21QYWdpbmF0ZWQ6CisgICAgY2FzZSBXZWJDb3JlOjpQYWdpbmF0
aW9uOjpUb3BUb0JvdHRvbVBhZ2luYXRlZDoKICAgICAgICAgcmV0dXJuIFdLUGFnaW5hdGlvbk1v
ZGVUb3BUb0JvdHRvbTsKLSAgICBjYXNlIFBhZ2luYXRpb246OkJvdHRvbVRvVG9wUGFnaW5hdGVk
OgorICAgIGNhc2UgV2ViQ29yZTo6UGFnaW5hdGlvbjo6Qm90dG9tVG9Ub3BQYWdpbmF0ZWQ6CiAg
ICAgICAgIHJldHVybiBXS1BhZ2luYXRpb25Nb2RlQm90dG9tVG9Ub3A7CiAgICAgfQogCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tCcm93c2luZ0NvbnRl
eHRHcm91cC5tbSBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS0Jyb3dzaW5n
Q29udGV4dEdyb3VwLm1tCmluZGV4IDk2ZGYwZDZiMWRkMzcyZGRjMjFiNTM0MjY1ZDBhM2NjM2Mw
ZmE3NTkuLmEyOGE4MWU3MDU1NzA2YTY1YTZkZjkxNTFkODBmZDk0MmU1ODVmMzEgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS0Jyb3dzaW5nQ29udGV4dEdy
b3VwLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS0Jyb3dzaW5n
Q29udGV4dEdyb3VwLm1tCkBAIC00MiwxMCArNDIsOCBAQAogI2ltcG9ydCAiV0tVUkxDRi5oIgog
I2ltcG9ydCA8d3RmL1ZlY3Rvci5oPgogCi11c2luZyBuYW1lc3BhY2UgV2ViS2l0OwotCiBAaW1w
bGVtZW50YXRpb24gV0tCcm93c2luZ0NvbnRleHRHcm91cCB7Ci0gICAgQVBJOjpPYmplY3RTdG9y
YWdlPFdlYlBhZ2VHcm91cD4gX3BhZ2VHcm91cDsKKyAgICBBUEk6Ok9iamVjdFN0b3JhZ2U8V2Vi
S2l0OjpXZWJQYWdlR3JvdXA+IF9wYWdlR3JvdXA7CiB9CiAKIC0gKHZvaWQpZGVhbGxvYwpAQCAt
NjEsNTUgKzU5LDU1IEBAIHVzaW5nIG5hbWVzcGFjZSBXZWJLaXQ7CiAgICAgaWYgKCFzZWxmKQog
ICAgICAgICByZXR1cm4gbmlsOwogCi0gICAgQVBJOjpPYmplY3Q6OmNvbnN0cnVjdEluV3JhcHBl
cjxXZWJQYWdlR3JvdXA+KHNlbGYsIGlkZW50aWZpZXIpOworICAgIEFQSTo6T2JqZWN0Ojpjb25z
dHJ1Y3RJbldyYXBwZXI8V2ViS2l0OjpXZWJQYWdlR3JvdXA+KHNlbGYsIGlkZW50aWZpZXIpOwog
CiAgICAgLy8gR2l2ZSB0aGUgV0tCcm93c2luZ0NvbnRleHRHcm91cCBhIGlkZW50aWZpZXItbGVz
cyBwcmVmZXJlbmNlcywgc28gdGhhdCB0aGV5CiAgICAgLy8gZG9uJ3QgZ2V0IGF1dG9tYXRpY2Fs
bHkgd3JpdHRlbiB0byB0aGUgZGlzay4gVGhlIGF1dG9tYXRpYyB3cml0aW5nIGhhcyBwcm92ZW4K
ICAgICAvLyBjb25mdXNpbmcgdG8gdXNlcnMgb2YgdGhlIEFQSS4KICAgICBXS1JldGFpblB0cjxX
S1ByZWZlcmVuY2VzUmVmPiBwcmVmZXJlbmNlcyA9IGFkb3B0V0soV0tQcmVmZXJlbmNlc0NyZWF0
ZSgpKTsKLSAgICBXS1BhZ2VHcm91cFNldFByZWZlcmVuY2VzKHRvQVBJKF9wYWdlR3JvdXAuZ2V0
KCkpLCBwcmVmZXJlbmNlcy5nZXQoKSk7CisgICAgV0tQYWdlR3JvdXBTZXRQcmVmZXJlbmNlcyhX
ZWJLaXQ6OnRvQVBJKF9wYWdlR3JvdXAuZ2V0KCkpLCBwcmVmZXJlbmNlcy5nZXQoKSk7CiAKICAg
ICByZXR1cm4gc2VsZjsKIH0KIAogLSAoQk9PTClhbGxvd3NKYXZhU2NyaXB0CiB7Ci0gICAgcmV0
dXJuIFdLUHJlZmVyZW5jZXNHZXRKYXZhU2NyaXB0RW5hYmxlZChXS1BhZ2VHcm91cEdldFByZWZl
cmVuY2VzKHRvQVBJKF9wYWdlR3JvdXAuZ2V0KCkpKSk7CisgICAgcmV0dXJuIFdLUHJlZmVyZW5j
ZXNHZXRKYXZhU2NyaXB0RW5hYmxlZChXS1BhZ2VHcm91cEdldFByZWZlcmVuY2VzKFdlYktpdDo6
dG9BUEkoX3BhZ2VHcm91cC5nZXQoKSkpKTsKIH0KIAogLSAodm9pZClzZXRBbGxvd3NKYXZhU2Ny
aXB0OihCT09MKWFsbG93c0phdmFTY3JpcHQKIHsKLSAgICBXS1ByZWZlcmVuY2VzU2V0SmF2YVNj
cmlwdEVuYWJsZWQoV0tQYWdlR3JvdXBHZXRQcmVmZXJlbmNlcyh0b0FQSShfcGFnZUdyb3VwLmdl
dCgpKSksIGFsbG93c0phdmFTY3JpcHQpOworICAgIFdLUHJlZmVyZW5jZXNTZXRKYXZhU2NyaXB0
RW5hYmxlZChXS1BhZ2VHcm91cEdldFByZWZlcmVuY2VzKFdlYktpdDo6dG9BUEkoX3BhZ2VHcm91
cC5nZXQoKSkpLCBhbGxvd3NKYXZhU2NyaXB0KTsKIH0KIAogLSAoQk9PTClhbGxvd3NKYXZhU2Ny
aXB0TWFya3VwCiB7Ci0gICAgcmV0dXJuIFdLUHJlZmVyZW5jZXNHZXRKYXZhU2NyaXB0TWFya3Vw
RW5hYmxlZChXS1BhZ2VHcm91cEdldFByZWZlcmVuY2VzKHRvQVBJKF9wYWdlR3JvdXAuZ2V0KCkp
KSk7CisgICAgcmV0dXJuIFdLUHJlZmVyZW5jZXNHZXRKYXZhU2NyaXB0TWFya3VwRW5hYmxlZChX
S1BhZ2VHcm91cEdldFByZWZlcmVuY2VzKFdlYktpdDo6dG9BUEkoX3BhZ2VHcm91cC5nZXQoKSkp
KTsKIH0KIAogLSAodm9pZClzZXRBbGxvd3NKYXZhU2NyaXB0TWFya3VwOihCT09MKWFsbG93c0ph
dmFTY3JpcHRNYXJrdXAKIHsKLSAgICBXS1ByZWZlcmVuY2VzU2V0SmF2YVNjcmlwdE1hcmt1cEVu
YWJsZWQoV0tQYWdlR3JvdXBHZXRQcmVmZXJlbmNlcyh0b0FQSShfcGFnZUdyb3VwLmdldCgpKSks
IGFsbG93c0phdmFTY3JpcHRNYXJrdXApOworICAgIFdLUHJlZmVyZW5jZXNTZXRKYXZhU2NyaXB0
TWFya3VwRW5hYmxlZChXS1BhZ2VHcm91cEdldFByZWZlcmVuY2VzKFdlYktpdDo6dG9BUEkoX3Bh
Z2VHcm91cC5nZXQoKSkpLCBhbGxvd3NKYXZhU2NyaXB0TWFya3VwKTsKIH0KIAogLSAoQk9PTClh
bGxvd3NQbHVnSW5zCiB7Ci0gICAgcmV0dXJuIFdLUHJlZmVyZW5jZXNHZXRQbHVnaW5zRW5hYmxl
ZChXS1BhZ2VHcm91cEdldFByZWZlcmVuY2VzKHRvQVBJKF9wYWdlR3JvdXAuZ2V0KCkpKSk7Cisg
ICAgcmV0dXJuIFdLUHJlZmVyZW5jZXNHZXRQbHVnaW5zRW5hYmxlZChXS1BhZ2VHcm91cEdldFBy
ZWZlcmVuY2VzKFdlYktpdDo6dG9BUEkoX3BhZ2VHcm91cC5nZXQoKSkpKTsKIH0KIAogLSAodm9p
ZClzZXRBbGxvd3NQbHVnSW5zOihCT09MKWFsbG93c1BsdWdJbnMKIHsKLSAgICBXS1ByZWZlcmVu
Y2VzU2V0UGx1Z2luc0VuYWJsZWQoV0tQYWdlR3JvdXBHZXRQcmVmZXJlbmNlcyh0b0FQSShfcGFn
ZUdyb3VwLmdldCgpKSksIGFsbG93c1BsdWdJbnMpOworICAgIFdLUHJlZmVyZW5jZXNTZXRQbHVn
aW5zRW5hYmxlZChXS1BhZ2VHcm91cEdldFByZWZlcmVuY2VzKFdlYktpdDo6dG9BUEkoX3BhZ2VH
cm91cC5nZXQoKSkpLCBhbGxvd3NQbHVnSW5zKTsKIH0KIAogLSAoQk9PTClwcml2YXRlQnJvd3Np
bmdFbmFibGVkCiB7Ci0gICAgcmV0dXJuIFdLUHJlZmVyZW5jZXNHZXRQcml2YXRlQnJvd3NpbmdF
bmFibGVkKFdLUGFnZUdyb3VwR2V0UHJlZmVyZW5jZXModG9BUEkoX3BhZ2VHcm91cC5nZXQoKSkp
KTsKKyAgICByZXR1cm4gV0tQcmVmZXJlbmNlc0dldFByaXZhdGVCcm93c2luZ0VuYWJsZWQoV0tQ
YWdlR3JvdXBHZXRQcmVmZXJlbmNlcyhXZWJLaXQ6OnRvQVBJKF9wYWdlR3JvdXAuZ2V0KCkpKSk7
CiB9CiAKIC0gKHZvaWQpc2V0UHJpdmF0ZUJyb3dzaW5nRW5hYmxlZDooQk9PTCllbmFibGVQcml2
YXRlQnJvd3NpbmcKIHsKLSAgICBXS1ByZWZlcmVuY2VzU2V0UHJpdmF0ZUJyb3dzaW5nRW5hYmxl
ZChXS1BhZ2VHcm91cEdldFByZWZlcmVuY2VzKHRvQVBJKF9wYWdlR3JvdXAuZ2V0KCkpKSwgZW5h
YmxlUHJpdmF0ZUJyb3dzaW5nKTsKKyAgICBXS1ByZWZlcmVuY2VzU2V0UHJpdmF0ZUJyb3dzaW5n
RW5hYmxlZChXS1BhZ2VHcm91cEdldFByZWZlcmVuY2VzKFdlYktpdDo6dG9BUEkoX3BhZ2VHcm91
cC5nZXQoKSkpLCBlbmFibGVQcml2YXRlQnJvd3NpbmcpOwogfQogCiBzdGF0aWMgV0tSZXRhaW5Q
dHI8V0tBcnJheVJlZj4gY3JlYXRlV0tBcnJheShOU0FycmF5ICphcnJheSkKQEAgLTEyNCwxMCAr
MTIyLDEwIEBAIHN0YXRpYyBXS1JldGFpblB0cjxXS0FycmF5UmVmPiBjcmVhdGVXS0FycmF5KE5T
QXJyYXkgKmFycmF5KQogCiAgICAgZm9yIChpZCBlbnRyeSBpbiBhcnJheSkgewogICAgICAgICBp
ZiAoW2VudHJ5IGlzS2luZE9mQ2xhc3M6W05TU3RyaW5nIGNsYXNzXV0pCi0gICAgICAgICAgICBz
dHJpbmdzLnVuY2hlY2tlZEFwcGVuZChhZG9wdFJlZih0b0ltcGwoV0tTdHJpbmdDcmVhdGVXaXRo
Q0ZTdHJpbmcoKF9fYnJpZGdlIENGU3RyaW5nUmVmKWVudHJ5KSkpKTsKKyAgICAgICAgICAgIHN0
cmluZ3MudW5jaGVja2VkQXBwZW5kKGFkb3B0UmVmKFdlYktpdDo6dG9JbXBsKFdLU3RyaW5nQ3Jl
YXRlV2l0aENGU3RyaW5nKChfX2JyaWRnZSBDRlN0cmluZ1JlZillbnRyeSkpKSk7CiAgICAgfQog
Ci0gICAgcmV0dXJuIHRvQVBJKCZBUEk6OkFycmF5OjpjcmVhdGUoV1RGTW92ZShzdHJpbmdzKSku
bGVha1JlZigpKTsKKyAgICByZXR1cm4gV2ViS2l0Ojp0b0FQSSgmQVBJOjpBcnJheTo6Y3JlYXRl
KFdURk1vdmUoc3RyaW5ncykpLmxlYWtSZWYoKSk7CiB9CiAKIC0odm9pZClhZGRVc2VyU3R5bGVT
aGVldDooTlNTdHJpbmcgKilzb3VyY2UgYmFzZVVSTDooTlNVUkwgKiliYXNlVVJMIHdoaXRlbGlz
dGVkVVJMUGF0dGVybnM6KE5TQXJyYXkgKil3aGl0ZWxpc3QgYmxhY2tsaXN0ZWRVUkxQYXR0ZXJu
czooTlNBcnJheSAqKWJsYWNrbGlzdCBtYWluRnJhbWVPbmx5OihCT09MKW1haW5GcmFtZU9ubHkK
QEAgLTE0MSwxMiArMTM5LDEyIEBAIHN0YXRpYyBXS1JldGFpblB0cjxXS0FycmF5UmVmPiBjcmVh
dGVXS0FycmF5KE5TQXJyYXkgKmFycmF5KQogICAgIGF1dG8gd2tCbGFja2xpc3QgPSBjcmVhdGVX
S0FycmF5KGJsYWNrbGlzdCk7CiAgICAgV0tVc2VyQ29udGVudEluamVjdGVkRnJhbWVzIGluamVj
dGVkRnJhbWVzID0gbWFpbkZyYW1lT25seSA/IGtXS0luamVjdEluVG9wRnJhbWVPbmx5IDoga1dL
SW5qZWN0SW5BbGxGcmFtZXM7CiAKLSAgICBXS1BhZ2VHcm91cEFkZFVzZXJTdHlsZVNoZWV0KHRv
QVBJKF9wYWdlR3JvdXAuZ2V0KCkpLCB3a1NvdXJjZS5nZXQoKSwgd2tCYXNlVVJMLmdldCgpLCB3
a1doaXRlbGlzdC5nZXQoKSwgd2tCbGFja2xpc3QuZ2V0KCksIGluamVjdGVkRnJhbWVzKTsKKyAg
ICBXS1BhZ2VHcm91cEFkZFVzZXJTdHlsZVNoZWV0KFdlYktpdDo6dG9BUEkoX3BhZ2VHcm91cC5n
ZXQoKSksIHdrU291cmNlLmdldCgpLCB3a0Jhc2VVUkwuZ2V0KCksIHdrV2hpdGVsaXN0LmdldCgp
LCB3a0JsYWNrbGlzdC5nZXQoKSwgaW5qZWN0ZWRGcmFtZXMpOwogfQogCiAtICh2b2lkKXJlbW92
ZUFsbFVzZXJTdHlsZVNoZWV0cwogewotICAgIFdLUGFnZUdyb3VwUmVtb3ZlQWxsVXNlclN0eWxl
U2hlZXRzKHRvQVBJKF9wYWdlR3JvdXAuZ2V0KCkpKTsKKyAgICBXS1BhZ2VHcm91cFJlbW92ZUFs
bFVzZXJTdHlsZVNoZWV0cyhXZWJLaXQ6OnRvQVBJKF9wYWdlR3JvdXAuZ2V0KCkpKTsKIH0KIAog
LSAodm9pZClhZGRVc2VyU2NyaXB0OihOU1N0cmluZyAqKXNvdXJjZSBiYXNlVVJMOihOU1VSTCAq
KWJhc2VVUkwgd2hpdGVsaXN0ZWRVUkxQYXR0ZXJuczooTlNBcnJheSAqKXdoaXRlbGlzdCBibGFj
a2xpc3RlZFVSTFBhdHRlcm5zOihOU0FycmF5ICopYmxhY2tsaXN0IGluamVjdGlvblRpbWU6KF9X
S1VzZXJTY3JpcHRJbmplY3Rpb25UaW1lKWluamVjdGlvblRpbWUgbWFpbkZyYW1lT25seTooQk9P
TCltYWluRnJhbWVPbmx5CkBAIC0xNjAsMTIgKzE1OCwxMiBAQCBzdGF0aWMgV0tSZXRhaW5QdHI8
V0tBcnJheVJlZj4gY3JlYXRlV0tBcnJheShOU0FycmF5ICphcnJheSkKICAgICBhdXRvIHdrQmxh
Y2tsaXN0ID0gY3JlYXRlV0tBcnJheShibGFja2xpc3QpOwogICAgIFdLVXNlckNvbnRlbnRJbmpl
Y3RlZEZyYW1lcyBpbmplY3RlZEZyYW1lcyA9IG1haW5GcmFtZU9ubHkgPyBrV0tJbmplY3RJblRv
cEZyYW1lT25seSA6IGtXS0luamVjdEluQWxsRnJhbWVzOwogCi0gICAgV0tQYWdlR3JvdXBBZGRV
c2VyU2NyaXB0KHRvQVBJKF9wYWdlR3JvdXAuZ2V0KCkpLCB3a1NvdXJjZS5nZXQoKSwgd2tCYXNl
VVJMLmdldCgpLCB3a1doaXRlbGlzdC5nZXQoKSwgd2tCbGFja2xpc3QuZ2V0KCksIGluamVjdGVk
RnJhbWVzLCBpbmplY3Rpb25UaW1lKTsKKyAgICBXS1BhZ2VHcm91cEFkZFVzZXJTY3JpcHQoV2Vi
S2l0Ojp0b0FQSShfcGFnZUdyb3VwLmdldCgpKSwgd2tTb3VyY2UuZ2V0KCksIHdrQmFzZVVSTC5n
ZXQoKSwgd2tXaGl0ZWxpc3QuZ2V0KCksIHdrQmxhY2tsaXN0LmdldCgpLCBpbmplY3RlZEZyYW1l
cywgaW5qZWN0aW9uVGltZSk7CiB9CiAKIC0gKHZvaWQpcmVtb3ZlQWxsVXNlclNjcmlwdHMKIHsK
LSAgICBXS1BhZ2VHcm91cFJlbW92ZUFsbFVzZXJTY3JpcHRzKHRvQVBJKF9wYWdlR3JvdXAuZ2V0
KCkpKTsKKyAgICBXS1BhZ2VHcm91cFJlbW92ZUFsbFVzZXJTY3JpcHRzKFdlYktpdDo6dG9BUEko
X3BhZ2VHcm91cC5nZXQoKSkpOwogfQogCiAjcHJhZ21hIG1hcmsgV0tPYmplY3QgcHJvdG9jb2wg
aW1wbGVtZW50YXRpb24KQEAgLTE4MSw3ICsxNzksNyBAQCBzdGF0aWMgV0tSZXRhaW5QdHI8V0tB
cnJheVJlZj4gY3JlYXRlV0tBcnJheShOU0FycmF5ICphcnJheSkKIAogLSAoV0tQYWdlR3JvdXBS
ZWYpX3BhZ2VHcm91cFJlZgogewotICAgIHJldHVybiB0b0FQSShfcGFnZUdyb3VwLmdldCgpKTsK
KyAgICByZXR1cm4gV2ViS2l0Ojp0b0FQSShfcGFnZUdyb3VwLmdldCgpKTsKIH0KIAogQGVuZApk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL1dLQ29ubmVjdGlv
bi5tbSBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS0Nvbm5lY3Rpb24ubW0K
aW5kZXggYWJlNDM0ODNjZTlmZWI2ZDFkYzNlYzIzZDEwNzUwMGMyNDYzMzdjNy4uM2Y3NWM4NWM1
MzdjMGFhNTQzNDFhYTBmNmQyNGEwZDYwNzk1ZTE4MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dC9VSVByb2Nlc3MvQVBJL0NvY29hL1dLQ29ubmVjdGlvbi5tbQorKysgYi9Tb3VyY2UvV2ViS2l0
L1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tDb25uZWN0aW9uLm1tCkBAIC0zNiw4ICszNiw2IEBACiAj
aW1wb3J0IDx3dGYvV2Vha09iakNQdHIuaD4KICNpbXBvcnQgPHd0Zi90ZXh0L1dURlN0cmluZy5o
PgogCi11c2luZyBuYW1lc3BhY2UgV2ViS2l0OwotCiBAaW1wbGVtZW50YXRpb24gV0tDb25uZWN0
aW9uIHsKICAgICBXZWFrT2JqQ1B0cjxpZCA8V0tDb25uZWN0aW9uRGVsZWdhdGU+PiBfZGVsZWdh
dGU7CiB9CkBAIC01Niw3ICs1NCw3IEBAIHN0YXRpYyB2b2lkIGRpZFJlY2VpdmVNZXNzYWdlKFdL
Q29ubmVjdGlvblJlZiwgV0tTdHJpbmdSZWYgbWVzc2FnZU5hbWUsIFdLVHlwZVJlCiAKICAgICBp
ZiAoW2RlbGVnYXRlIHJlc3BvbmRzVG9TZWxlY3RvcjpAc2VsZWN0b3IoY29ubmVjdGlvbjpkaWRS
ZWNlaXZlTWVzc2FnZVdpdGhOYW1lOmJvZHk6KV0pIHsKICAgICAgICAgUmV0YWluUHRyPENGU3Ry
aW5nUmVmPiBuc01lc3NhZ2VOYW1lID0gYWRvcHRDRihXS1N0cmluZ0NvcHlDRlN0cmluZyhrQ0ZB
bGxvY2F0b3JEZWZhdWx0LCBtZXNzYWdlTmFtZSkpOwotICAgICAgICBSZXRhaW5QdHI8aWQ+IG5z
TWVzc2FnZUJvZHkgPSBzdGF0aWNfY2FzdDxPYmpDT2JqZWN0R3JhcGgqPih0b0ltcGwobWVzc2Fn
ZUJvZHkpKS0+cm9vdE9iamVjdCgpOworICAgICAgICBSZXRhaW5QdHI8aWQ+IG5zTWVzc2FnZUJv
ZHkgPSBzdGF0aWNfY2FzdDxXZWJLaXQ6Ok9iakNPYmplY3RHcmFwaCo+KFdlYktpdDo6dG9JbXBs
KG1lc3NhZ2VCb2R5KSktPnJvb3RPYmplY3QoKTsKICAgICAgICAgW2RlbGVnYXRlIGNvbm5lY3Rp
b246Y29ubmVjdGlvbiBkaWRSZWNlaXZlTWVzc2FnZVdpdGhOYW1lOihfX2JyaWRnZSBOU1N0cmlu
ZyAqKW5zTWVzc2FnZU5hbWUuZ2V0KCkgYm9keTpuc01lc3NhZ2VCb2R5LmdldCgpXTsKICAgICB9
CiB9CkBAIC03MCw3ICs2OCw3IEBAIHN0YXRpYyB2b2lkIGRpZENsb3NlKFdLQ29ubmVjdGlvblJl
ZiwgY29uc3Qgdm9pZCogY2xpZW50SW5mbykKICAgICAgICAgW2RlbGVnYXRlIGNvbm5lY3Rpb25E
aWRDbG9zZTpjb25uZWN0aW9uXTsKIH0KIAotc3RhdGljIHZvaWQgc2V0VXBDbGllbnQoV0tDb25u
ZWN0aW9uICp3cmFwcGVyLCBXZWJDb25uZWN0aW9uJiBjb25uZWN0aW9uKQorc3RhdGljIHZvaWQg
c2V0VXBDbGllbnQoV0tDb25uZWN0aW9uICp3cmFwcGVyLCBXZWJLaXQ6OldlYkNvbm5lY3Rpb24m
IGNvbm5lY3Rpb24pCiB7CiAgICAgV0tDb25uZWN0aW9uQ2xpZW50VjAgY2xpZW50OwogICAgIG1l
bXNldCgmY2xpZW50LCAwLCBzaXplb2YoY2xpZW50KSk7CkBAIC05OSwxMyArOTcsMTMgQEAgc3Rh
dGljIHZvaWQgc2V0VXBDbGllbnQoV0tDb25uZWN0aW9uICp3cmFwcGVyLCBXZWJDb25uZWN0aW9u
JiBjb25uZWN0aW9uKQogCiAtICh2b2lkKXNlbmRNZXNzYWdlV2l0aE5hbWU6KE5TU3RyaW5nICop
bWVzc2FnZU5hbWUgYm9keTooaWQpbWVzc2FnZUJvZHkKIHsKLSAgICBSZWZQdHI8T2JqQ09iamVj
dEdyYXBoPiB3a01lc3NhZ2VCb2R5ID0gT2JqQ09iamVjdEdyYXBoOjpjcmVhdGUobWVzc2FnZUJv
ZHkpOworICAgIFJlZlB0cjxXZWJLaXQ6Ok9iakNPYmplY3RHcmFwaD4gd2tNZXNzYWdlQm9keSA9
IFdlYktpdDo6T2JqQ09iamVjdEdyYXBoOjpjcmVhdGUobWVzc2FnZUJvZHkpOwogICAgIHNlbGYu
X2Nvbm5lY3Rpb24ucG9zdE1lc3NhZ2UobWVzc2FnZU5hbWUsIHdrTWVzc2FnZUJvZHkuZ2V0KCkp
OwogfQogCi0tIChXZWJDb25uZWN0aW9uJilfY29ubmVjdGlvbgorLSAoV2ViS2l0OjpXZWJDb25u
ZWN0aW9uJilfY29ubmVjdGlvbgogewotICAgIHJldHVybiBzdGF0aWNfY2FzdDxXZWJDb25uZWN0
aW9uJj4oQVBJOjpPYmplY3Q6OmZyb21XS09iamVjdEV4dHJhU3BhY2Uoc2VsZikpOworICAgIHJl
dHVybiBzdGF0aWNfY2FzdDxXZWJLaXQ6OldlYkNvbm5lY3Rpb24mPihBUEk6Ok9iamVjdDo6ZnJv
bVdLT2JqZWN0RXh0cmFTcGFjZShzZWxmKSk7CiB9CiAKICNwcmFnbWEgbWFyayBXS09iamVjdCBw
cm90b2NvbCBpbXBsZW1lbnRhdGlvbgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nl
c3MvQVBJL0NvY29hL1dLTlNVUkxBdXRoZW50aWNhdGlvbkNoYWxsZW5nZS5tbSBiL1NvdXJjZS9X
ZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS05TVVJMQXV0aGVudGljYXRpb25DaGFsbGVuZ2Uu
bW0KaW5kZXggZTMzMWZlMjE1NmUyNzk5MDZlMTRlODEyNDU1ZTQzYzM1NmU3ZWFiOS4uOGZkODQz
MDRiNzEwNzMyMmMxZTdkYWZlZDY5MzJjYWRkOGIxNmYzMCAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL1dLTlNVUkxBdXRoZW50aWNhdGlvbkNoYWxsZW5nZS5t
bQorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tOU1VSTEF1dGhlbnRp
Y2F0aW9uQ2hhbGxlbmdlLm1tCkBAIC0zMyw5ICszMyw2IEBACiAjaW1wb3J0ICJXZWJDcmVkZW50
aWFsLmgiCiAjaW1wb3J0IDxXZWJDb3JlL0F1dGhlbnRpY2F0aW9uTWFjLmg+CiAKLXVzaW5nIG5h
bWVzcGFjZSBXZWJDb3JlOwotdXNpbmcgbmFtZXNwYWNlIFdlYktpdDsKLQogQGludGVyZmFjZSBX
S05TVVJMQXV0aGVudGljYXRpb25DaGFsbGVuZ2VTZW5kZXIgOiBOU09iamVjdCA8TlNVUkxBdXRo
ZW50aWNhdGlvbkNoYWxsZW5nZVNlbmRlcj4KIEBlbmQKIApAQCAtNDMsNyArNDAsNyBAQCB1c2lu
ZyBuYW1lc3BhY2UgV2ViS2l0OwogCiAtIChOU09iamVjdCAqKV93ZWJfY3JlYXRlVGFyZ2V0CiB7
Ci0gICAgQXV0aGVudGljYXRpb25DaGFsbGVuZ2VQcm94eSYgY2hhbGxlbmdlID0gKnJlaW50ZXJw
cmV0X2Nhc3Q8QXV0aGVudGljYXRpb25DaGFsbGVuZ2VQcm94eSo+KCZzZWxmLl9hcGlPYmplY3Qp
OworICAgIFdlYktpdDo6QXV0aGVudGljYXRpb25DaGFsbGVuZ2VQcm94eSYgY2hhbGxlbmdlID0g
KnJlaW50ZXJwcmV0X2Nhc3Q8V2ViS2l0OjpBdXRoZW50aWNhdGlvbkNoYWxsZW5nZVByb3h5Kj4o
JnNlbGYuX2FwaU9iamVjdCk7CiAKICAgICBzdGF0aWMgZGlzcGF0Y2hfb25jZV90IHRva2VuOwog
ICAgIHN0YXRpYyBXS05TVVJMQXV0aGVudGljYXRpb25DaGFsbGVuZ2VTZW5kZXIgKnNlbmRlcjsK
QEAgLTU0LDkgKzUxLDkgQEAgdXNpbmcgbmFtZXNwYWNlIFdlYktpdDsKICAgICByZXR1cm4gW1tO
U1VSTEF1dGhlbnRpY2F0aW9uQ2hhbGxlbmdlIGFsbG9jXSBpbml0V2l0aEF1dGhlbnRpY2F0aW9u
Q2hhbGxlbmdlOm1hYyhjaGFsbGVuZ2UuY29yZSgpKSBzZW5kZXI6c2VuZGVyXTsKIH0KIAotLSAo
QXV0aGVudGljYXRpb25DaGFsbGVuZ2VQcm94eSYpX3dlYl9hdXRoZW50aWNhdGlvbkNoYWxsZW5n
ZVByb3h5CistIChXZWJLaXQ6OkF1dGhlbnRpY2F0aW9uQ2hhbGxlbmdlUHJveHkmKV93ZWJfYXV0
aGVudGljYXRpb25DaGFsbGVuZ2VQcm94eQogewotICAgIHJldHVybiAqcmVpbnRlcnByZXRfY2Fz
dDxBdXRoZW50aWNhdGlvbkNoYWxsZW5nZVByb3h5Kj4oJnNlbGYuX2FwaU9iamVjdCk7CisgICAg
cmV0dXJuICpyZWludGVycHJldF9jYXN0PFdlYktpdDo6QXV0aGVudGljYXRpb25DaGFsbGVuZ2VQ
cm94eSo+KCZzZWxmLl9hcGlPYmplY3QpOwogfQogCiBAZW5kCkBAIC03MiwzNSArNjksMzUgQEAg
c3RhdGljIHZvaWQgY2hlY2tDaGFsbGVuZ2UoTlNVUkxBdXRoZW50aWNhdGlvbkNoYWxsZW5nZSAq
Y2hhbGxlbmdlKQogLSAodm9pZCljYW5jZWxBdXRoZW50aWNhdGlvbkNoYWxsZW5nZTooTlNVUkxB
dXRoZW50aWNhdGlvbkNoYWxsZW5nZSAqKWNoYWxsZW5nZQogewogICAgIGNoZWNrQ2hhbGxlbmdl
KGNoYWxsZW5nZSk7Ci0gICAgQXV0aGVudGljYXRpb25DaGFsbGVuZ2VQcm94eSYgd2ViQ2hhbGxl
bmdlID0gKChXS05TVVJMQXV0aGVudGljYXRpb25DaGFsbGVuZ2UgKiljaGFsbGVuZ2UpLl93ZWJf
YXV0aGVudGljYXRpb25DaGFsbGVuZ2VQcm94eTsKKyAgICBXZWJLaXQ6OkF1dGhlbnRpY2F0aW9u
Q2hhbGxlbmdlUHJveHkmIHdlYkNoYWxsZW5nZSA9ICgoV0tOU1VSTEF1dGhlbnRpY2F0aW9uQ2hh
bGxlbmdlICopY2hhbGxlbmdlKS5fd2ViX2F1dGhlbnRpY2F0aW9uQ2hhbGxlbmdlUHJveHk7CiAg
ICAgd2ViQ2hhbGxlbmdlLmxpc3RlbmVyKCktPmNhbmNlbCgpOwogfQogCiAtICh2b2lkKWNvbnRp
bnVlV2l0aG91dENyZWRlbnRpYWxGb3JBdXRoZW50aWNhdGlvbkNoYWxsZW5nZTooTlNVUkxBdXRo
ZW50aWNhdGlvbkNoYWxsZW5nZSAqKWNoYWxsZW5nZQogewogICAgIGNoZWNrQ2hhbGxlbmdlKGNo
YWxsZW5nZSk7Ci0gICAgQXV0aGVudGljYXRpb25DaGFsbGVuZ2VQcm94eSYgd2ViQ2hhbGxlbmdl
ID0gKChXS05TVVJMQXV0aGVudGljYXRpb25DaGFsbGVuZ2UgKiljaGFsbGVuZ2UpLl93ZWJfYXV0
aGVudGljYXRpb25DaGFsbGVuZ2VQcm94eTsKKyAgICBXZWJLaXQ6OkF1dGhlbnRpY2F0aW9uQ2hh
bGxlbmdlUHJveHkmIHdlYkNoYWxsZW5nZSA9ICgoV0tOU1VSTEF1dGhlbnRpY2F0aW9uQ2hhbGxl
bmdlICopY2hhbGxlbmdlKS5fd2ViX2F1dGhlbnRpY2F0aW9uQ2hhbGxlbmdlUHJveHk7CiAgICAg
d2ViQ2hhbGxlbmdlLmxpc3RlbmVyKCktPnVzZUNyZWRlbnRpYWwobnVsbHB0cik7CiB9CiAKIC0g
KHZvaWQpdXNlQ3JlZGVudGlhbDooTlNVUkxDcmVkZW50aWFsICopY3JlZGVudGlhbCBmb3JBdXRo
ZW50aWNhdGlvbkNoYWxsZW5nZTooTlNVUkxBdXRoZW50aWNhdGlvbkNoYWxsZW5nZSAqKWNoYWxs
ZW5nZQogewogICAgIGNoZWNrQ2hhbGxlbmdlKGNoYWxsZW5nZSk7Ci0gICAgQXV0aGVudGljYXRp
b25DaGFsbGVuZ2VQcm94eSYgd2ViQ2hhbGxlbmdlID0gKChXS05TVVJMQXV0aGVudGljYXRpb25D
aGFsbGVuZ2UgKiljaGFsbGVuZ2UpLl93ZWJfYXV0aGVudGljYXRpb25DaGFsbGVuZ2VQcm94eTsK
LSAgICB3ZWJDaGFsbGVuZ2UubGlzdGVuZXIoKS0+dXNlQ3JlZGVudGlhbChXZWJDcmVkZW50aWFs
OjpjcmVhdGUoQ3JlZGVudGlhbChjcmVkZW50aWFsKSkucHRyKCkpOworICAgIFdlYktpdDo6QXV0
aGVudGljYXRpb25DaGFsbGVuZ2VQcm94eSYgd2ViQ2hhbGxlbmdlID0gKChXS05TVVJMQXV0aGVu
dGljYXRpb25DaGFsbGVuZ2UgKiljaGFsbGVuZ2UpLl93ZWJfYXV0aGVudGljYXRpb25DaGFsbGVu
Z2VQcm94eTsKKyAgICB3ZWJDaGFsbGVuZ2UubGlzdGVuZXIoKS0+dXNlQ3JlZGVudGlhbChXZWJL
aXQ6OldlYkNyZWRlbnRpYWw6OmNyZWF0ZShXZWJDb3JlOjpDcmVkZW50aWFsKGNyZWRlbnRpYWwp
KS5wdHIoKSk7CiB9CiAKIC0gKHZvaWQpcGVyZm9ybURlZmF1bHRIYW5kbGluZ0ZvckF1dGhlbnRp
Y2F0aW9uQ2hhbGxlbmdlOihOU1VSTEF1dGhlbnRpY2F0aW9uQ2hhbGxlbmdlICopY2hhbGxlbmdl
CiB7CiAgICAgY2hlY2tDaGFsbGVuZ2UoY2hhbGxlbmdlKTsKLSAgICBBdXRoZW50aWNhdGlvbkNo
YWxsZW5nZVByb3h5JiB3ZWJDaGFsbGVuZ2UgPSAoKFdLTlNVUkxBdXRoZW50aWNhdGlvbkNoYWxs
ZW5nZSAqKWNoYWxsZW5nZSkuX3dlYl9hdXRoZW50aWNhdGlvbkNoYWxsZW5nZVByb3h5OworICAg
IFdlYktpdDo6QXV0aGVudGljYXRpb25DaGFsbGVuZ2VQcm94eSYgd2ViQ2hhbGxlbmdlID0gKChX
S05TVVJMQXV0aGVudGljYXRpb25DaGFsbGVuZ2UgKiljaGFsbGVuZ2UpLl93ZWJfYXV0aGVudGlj
YXRpb25DaGFsbGVuZ2VQcm94eTsKICAgICB3ZWJDaGFsbGVuZ2UubGlzdGVuZXIoKS0+cGVyZm9y
bURlZmF1bHRIYW5kbGluZygpOwogfQogCiAtICh2b2lkKXJlamVjdFByb3RlY3Rpb25TcGFjZUFu
ZENvbnRpbnVlV2l0aENoYWxsZW5nZTooTlNVUkxBdXRoZW50aWNhdGlvbkNoYWxsZW5nZSAqKWNo
YWxsZW5nZQogewogICAgIGNoZWNrQ2hhbGxlbmdlKGNoYWxsZW5nZSk7Ci0gICAgQXV0aGVudGlj
YXRpb25DaGFsbGVuZ2VQcm94eSYgd2ViQ2hhbGxlbmdlID0gKChXS05TVVJMQXV0aGVudGljYXRp
b25DaGFsbGVuZ2UgKiljaGFsbGVuZ2UpLl93ZWJfYXV0aGVudGljYXRpb25DaGFsbGVuZ2VQcm94
eTsKKyAgICBXZWJLaXQ6OkF1dGhlbnRpY2F0aW9uQ2hhbGxlbmdlUHJveHkmIHdlYkNoYWxsZW5n
ZSA9ICgoV0tOU1VSTEF1dGhlbnRpY2F0aW9uQ2hhbGxlbmdlICopY2hhbGxlbmdlKS5fd2ViX2F1
dGhlbnRpY2F0aW9uQ2hhbGxlbmdlUHJveHk7CiAgICAgd2ViQ2hhbGxlbmdlLmxpc3RlbmVyKCkt
PnJlamVjdFByb3RlY3Rpb25TcGFjZUFuZENvbnRpbnVlKCk7CiB9CiAKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS05hdmlnYXRpb25EYXRhLm1tIGIvU291
cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL1dLTmF2aWdhdGlvbkRhdGEubW0KaW5kZXgg
M2Q0YjUxOGJmYzkzNDAwMWM1MmIxZDY1MTQ0MjQ4ZDkzMmU2MDM2Yy4uMGNkNTBlYmRkMWI4Yjc2
YjMyMTI0M2Y4YmQ2M2IzNjQ5MTEzMTVlYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVBy
b2Nlc3MvQVBJL0NvY29hL1dLTmF2aWdhdGlvbkRhdGEubW0KKysrIGIvU291cmNlL1dlYktpdC9V
SVByb2Nlc3MvQVBJL0NvY29hL1dLTmF2aWdhdGlvbkRhdGEubW0KQEAgLTMyLDggKzMyLDYgQEAK
ICNpbXBvcnQgPFdlYkNvcmUvUmVzb3VyY2VSZXF1ZXN0Lmg+CiAjaW1wb3J0IDxXZWJDb3JlL1Jl
c291cmNlUmVzcG9uc2UuaD4KIAotdXNpbmcgbmFtZXNwYWNlIFdlYktpdDsKLQogQGltcGxlbWVu
dGF0aW9uIFdLTmF2aWdhdGlvbkRhdGEgewogICAgIEFQSTo6T2JqZWN0U3RvcmFnZTxBUEk6Ok5h
dmlnYXRpb25EYXRhPiBfZGF0YTsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9j
ZXNzL0FQSS9Db2NvYS9XS1Byb2Nlc3NHcm91cC5tbSBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNz
L0FQSS9Db2NvYS9XS1Byb2Nlc3NHcm91cC5tbQppbmRleCA0ZDQxN2I1NDNjMGVkODYyMjk5NDIy
MjI2YmEwZmE1NzMzMWY1OWRkLi44OWYyZDg4NGZhZTYzYmQ3YzNjNGEyOWM3MTIzOThmZGE0MTlm
NGQzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tQcm9j
ZXNzR3JvdXAubW0KKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL1dLUHJv
Y2Vzc0dyb3VwLm1tCkBAIC01MiwxMCArNTIsOCBAQAogI2ltcG9ydCA8V2ViQ29yZS9XZWJDb3Jl
VGhyZWFkU3lzdGVtSW50ZXJmYWNlLmg+CiAjZW5kaWYKIAotdXNpbmcgbmFtZXNwYWNlIFdlYktp
dDsKLQogQGltcGxlbWVudGF0aW9uIFdLUHJvY2Vzc0dyb3VwIHsKLSAgICBSZWZQdHI8V2ViUHJv
Y2Vzc1Bvb2w+IF9wcm9jZXNzUG9vbDsKKyAgICBSZWZQdHI8V2ViS2l0OjpXZWJQcm9jZXNzUG9v
bD4gX3Byb2Nlc3NQb29sOwogCiAgICAgV2Vha09iakNQdHI8aWQgPFdLUHJvY2Vzc0dyb3VwRGVs
ZWdhdGU+PiBfZGVsZWdhdGU7CiAKQEAgLTcwLDcgKzY4LDcgQEAgc3RhdGljIHZvaWQgZGlkQ3Jl
YXRlQ29ubmVjdGlvbihXS0NvbnRleHRSZWYsIFdLQ29ubmVjdGlvblJlZiBjb25uZWN0aW9uUmVm
LCBjb24KICAgICBhdXRvIGRlbGVnYXRlID0gcHJvY2Vzc0dyb3VwLT5fZGVsZWdhdGUuZ2V0KCk7
CiAKICAgICBpZiAoW2RlbGVnYXRlIHJlc3BvbmRzVG9TZWxlY3RvcjpAc2VsZWN0b3IocHJvY2Vz
c0dyb3VwOmRpZENyZWF0ZUNvbm5lY3Rpb25Ub1dlYlByb2Nlc3NQbHVnSW46KV0pCi0gICAgICAg
IFtkZWxlZ2F0ZSBwcm9jZXNzR3JvdXA6cHJvY2Vzc0dyb3VwIGRpZENyZWF0ZUNvbm5lY3Rpb25U
b1dlYlByb2Nlc3NQbHVnSW46d3JhcHBlcigqdG9JbXBsKGNvbm5lY3Rpb25SZWYpKV07CisgICAg
ICAgIFtkZWxlZ2F0ZSBwcm9jZXNzR3JvdXA6cHJvY2Vzc0dyb3VwIGRpZENyZWF0ZUNvbm5lY3Rp
b25Ub1dlYlByb2Nlc3NQbHVnSW46d3JhcHBlcigqV2ViS2l0Ojp0b0ltcGwoY29ubmVjdGlvblJl
ZikpXTsKIH0KIAogc3RhdGljIHZvaWQgc2V0VXBDb25uZWN0aW9uQ2xpZW50KFdLUHJvY2Vzc0dy
b3VwICpwcm9jZXNzR3JvdXAsIFdLQ29udGV4dFJlZiBjb250ZXh0UmVmKQpAQCAtMTEzLDUwICsx
MTEsNTAgQEAgc3RhdGljIHZvaWQgc2V0VXBJbmplY3RlZEJ1bmRsZUNsaWVudChXS1Byb2Nlc3NH
cm91cCAqcHJvY2Vzc0dyb3VwLCBXS0NvbnRleHRSZWYKIAogc3RhdGljIHZvaWQgZGlkTmF2aWdh
dGVXaXRoTmF2aWdhdGlvbkRhdGEoV0tDb250ZXh0UmVmLCBXS1BhZ2VSZWYgcGFnZVJlZiwgV0tO
YXZpZ2F0aW9uRGF0YVJlZiBuYXZpZ2F0aW9uRGF0YVJlZiwgV0tGcmFtZVJlZiBmcmFtZVJlZiwg
Y29uc3Qgdm9pZCopCiB7Ci0gICAgaWYgKCF0b0ltcGwoZnJhbWVSZWYpLT5pc01haW5GcmFtZSgp
KQorICAgIGlmICghV2ViS2l0Ojp0b0ltcGwoZnJhbWVSZWYpLT5pc01haW5GcmFtZSgpKQogICAg
ICAgICByZXR1cm47CiAKICAgICBXS0Jyb3dzaW5nQ29udGV4dENvbnRyb2xsZXIgKmNvbnRyb2xs
ZXIgPSBbV0tCcm93c2luZ0NvbnRleHRDb250cm9sbGVyIF9icm93c2luZ0NvbnRleHRDb250cm9s
bGVyRm9yUGFnZVJlZjpwYWdlUmVmXTsKICAgICBhdXRvIGhpc3RvcnlEZWxlZ2F0ZSA9IGNvbnRy
b2xsZXItPl9oaXN0b3J5RGVsZWdhdGUuZ2V0KCk7CiAKICAgICBpZiAoW2hpc3RvcnlEZWxlZ2F0
ZSByZXNwb25kc1RvU2VsZWN0b3I6QHNlbGVjdG9yKGJyb3dzaW5nQ29udGV4dENvbnRyb2xsZXI6
ZGlkTmF2aWdhdGVXaXRoTmF2aWdhdGlvbkRhdGE6KV0pCi0gICAgICAgIFtoaXN0b3J5RGVsZWdh
dGUgYnJvd3NpbmdDb250ZXh0Q29udHJvbGxlcjpjb250cm9sbGVyIGRpZE5hdmlnYXRlV2l0aE5h
dmlnYXRpb25EYXRhOndyYXBwZXIoKnRvSW1wbChuYXZpZ2F0aW9uRGF0YVJlZikpXTsKKyAgICAg
ICAgW2hpc3RvcnlEZWxlZ2F0ZSBicm93c2luZ0NvbnRleHRDb250cm9sbGVyOmNvbnRyb2xsZXIg
ZGlkTmF2aWdhdGVXaXRoTmF2aWdhdGlvbkRhdGE6d3JhcHBlcigqV2ViS2l0Ojp0b0ltcGwobmF2
aWdhdGlvbkRhdGFSZWYpKV07CiB9CiAKIHN0YXRpYyB2b2lkIGRpZFBlcmZvcm1DbGllbnRSZWRp
cmVjdChXS0NvbnRleHRSZWYsIFdLUGFnZVJlZiBwYWdlUmVmLCBXS1VSTFJlZiBzb3VyY2VVUkxS
ZWYsIFdLVVJMUmVmIGRlc3RpbmF0aW9uVVJMUmVmLCBXS0ZyYW1lUmVmIGZyYW1lUmVmLCBjb25z
dCB2b2lkKikKIHsKLSAgICBpZiAoIXRvSW1wbChmcmFtZVJlZiktPmlzTWFpbkZyYW1lKCkpCisg
ICAgaWYgKCFXZWJLaXQ6OnRvSW1wbChmcmFtZVJlZiktPmlzTWFpbkZyYW1lKCkpCiAgICAgICAg
IHJldHVybjsKIAogICAgIFdLQnJvd3NpbmdDb250ZXh0Q29udHJvbGxlciAqY29udHJvbGxlciA9
IFtXS0Jyb3dzaW5nQ29udGV4dENvbnRyb2xsZXIgX2Jyb3dzaW5nQ29udGV4dENvbnRyb2xsZXJG
b3JQYWdlUmVmOnBhZ2VSZWZdOwogICAgIGF1dG8gaGlzdG9yeURlbGVnYXRlID0gY29udHJvbGxl
ci0+X2hpc3RvcnlEZWxlZ2F0ZS5nZXQoKTsKIAogICAgIGlmIChbaGlzdG9yeURlbGVnYXRlIHJl
c3BvbmRzVG9TZWxlY3RvcjpAc2VsZWN0b3IoYnJvd3NpbmdDb250ZXh0Q29udHJvbGxlcjpkaWRQ
ZXJmb3JtQ2xpZW50UmVkaXJlY3RGcm9tVVJMOnRvVVJMOildKQotICAgICAgICBbaGlzdG9yeURl
bGVnYXRlIGJyb3dzaW5nQ29udGV4dENvbnRyb2xsZXI6Y29udHJvbGxlciBkaWRQZXJmb3JtQ2xp
ZW50UmVkaXJlY3RGcm9tVVJMOndyYXBwZXIoKnRvSW1wbChzb3VyY2VVUkxSZWYpKSB0b1VSTDp3
cmFwcGVyKCp0b0ltcGwoZGVzdGluYXRpb25VUkxSZWYpKV07CisgICAgICAgIFtoaXN0b3J5RGVs
ZWdhdGUgYnJvd3NpbmdDb250ZXh0Q29udHJvbGxlcjpjb250cm9sbGVyIGRpZFBlcmZvcm1DbGll
bnRSZWRpcmVjdEZyb21VUkw6d3JhcHBlcigqV2ViS2l0Ojp0b0ltcGwoc291cmNlVVJMUmVmKSkg
dG9VUkw6d3JhcHBlcigqV2ViS2l0Ojp0b0ltcGwoZGVzdGluYXRpb25VUkxSZWYpKV07CiB9CiAK
IHN0YXRpYyB2b2lkIGRpZFBlcmZvcm1TZXJ2ZXJSZWRpcmVjdChXS0NvbnRleHRSZWYsIFdLUGFn
ZVJlZiBwYWdlUmVmLCBXS1VSTFJlZiBzb3VyY2VVUkxSZWYsIFdLVVJMUmVmIGRlc3RpbmF0aW9u
VVJMUmVmLCBXS0ZyYW1lUmVmIGZyYW1lUmVmLCBjb25zdCB2b2lkKikKIHsKLSAgICBpZiAoIXRv
SW1wbChmcmFtZVJlZiktPmlzTWFpbkZyYW1lKCkpCisgICAgaWYgKCFXZWJLaXQ6OnRvSW1wbChm
cmFtZVJlZiktPmlzTWFpbkZyYW1lKCkpCiAgICAgICAgIHJldHVybjsKIAogICAgIFdLQnJvd3Np
bmdDb250ZXh0Q29udHJvbGxlciAqY29udHJvbGxlciA9IFtXS0Jyb3dzaW5nQ29udGV4dENvbnRy
b2xsZXIgX2Jyb3dzaW5nQ29udGV4dENvbnRyb2xsZXJGb3JQYWdlUmVmOnBhZ2VSZWZdOwogICAg
IGF1dG8gaGlzdG9yeURlbGVnYXRlID0gY29udHJvbGxlci0+X2hpc3RvcnlEZWxlZ2F0ZS5nZXQo
KTsKIAogICAgIGlmIChbaGlzdG9yeURlbGVnYXRlIHJlc3BvbmRzVG9TZWxlY3RvcjpAc2VsZWN0
b3IoYnJvd3NpbmdDb250ZXh0Q29udHJvbGxlcjpkaWRQZXJmb3JtU2VydmVyUmVkaXJlY3RGcm9t
VVJMOnRvVVJMOildKQotICAgICAgICBbaGlzdG9yeURlbGVnYXRlIGJyb3dzaW5nQ29udGV4dENv
bnRyb2xsZXI6Y29udHJvbGxlciBkaWRQZXJmb3JtU2VydmVyUmVkaXJlY3RGcm9tVVJMOndyYXBw
ZXIoKnRvSW1wbChzb3VyY2VVUkxSZWYpKSB0b1VSTDp3cmFwcGVyKCp0b0ltcGwoZGVzdGluYXRp
b25VUkxSZWYpKV07CisgICAgICAgIFtoaXN0b3J5RGVsZWdhdGUgYnJvd3NpbmdDb250ZXh0Q29u
dHJvbGxlcjpjb250cm9sbGVyIGRpZFBlcmZvcm1TZXJ2ZXJSZWRpcmVjdEZyb21VUkw6d3JhcHBl
cigqV2ViS2l0Ojp0b0ltcGwoc291cmNlVVJMUmVmKSkgdG9VUkw6d3JhcHBlcigqV2ViS2l0Ojp0
b0ltcGwoZGVzdGluYXRpb25VUkxSZWYpKV07CiB9CiAKIHN0YXRpYyB2b2lkIGRpZFVwZGF0ZUhp
c3RvcnlUaXRsZShXS0NvbnRleHRSZWYsIFdLUGFnZVJlZiBwYWdlUmVmLCBXS1N0cmluZ1JlZiB0
aXRsZVJlZiwgV0tVUkxSZWYgdXJsUmVmLCBXS0ZyYW1lUmVmIGZyYW1lUmVmLCBjb25zdCB2b2lk
KikKIHsKLSAgICBpZiAoIXRvSW1wbChmcmFtZVJlZiktPmlzTWFpbkZyYW1lKCkpCisgICAgaWYg
KCFXZWJLaXQ6OnRvSW1wbChmcmFtZVJlZiktPmlzTWFpbkZyYW1lKCkpCiAgICAgICAgIHJldHVy
bjsKIAogICAgIFdLQnJvd3NpbmdDb250ZXh0Q29udHJvbGxlciAqY29udHJvbGxlciA9IFtXS0Jy
b3dzaW5nQ29udGV4dENvbnRyb2xsZXIgX2Jyb3dzaW5nQ29udGV4dENvbnRyb2xsZXJGb3JQYWdl
UmVmOnBhZ2VSZWZdOwogICAgIGF1dG8gaGlzdG9yeURlbGVnYXRlID0gY29udHJvbGxlci0+X2hp
c3RvcnlEZWxlZ2F0ZS5nZXQoKTsKIAogICAgIGlmIChbaGlzdG9yeURlbGVnYXRlIHJlc3BvbmRz
VG9TZWxlY3RvcjpAc2VsZWN0b3IoYnJvd3NpbmdDb250ZXh0Q29udHJvbGxlcjpkaWRVcGRhdGVI
aXN0b3J5VGl0bGU6Zm9yVVJMOildKQotICAgICAgICBbaGlzdG9yeURlbGVnYXRlIGJyb3dzaW5n
Q29udGV4dENvbnRyb2xsZXI6Y29udHJvbGxlciBkaWRVcGRhdGVIaXN0b3J5VGl0bGU6d3JhcHBl
cigqdG9JbXBsKHRpdGxlUmVmKSkgZm9yVVJMOndyYXBwZXIoKnRvSW1wbCh1cmxSZWYpKV07Cisg
ICAgICAgIFtoaXN0b3J5RGVsZWdhdGUgYnJvd3NpbmdDb250ZXh0Q29udHJvbGxlcjpjb250cm9s
bGVyIGRpZFVwZGF0ZUhpc3RvcnlUaXRsZTp3cmFwcGVyKCpXZWJLaXQ6OnRvSW1wbCh0aXRsZVJl
ZikpIGZvclVSTDp3cmFwcGVyKCpXZWJLaXQ6OnRvSW1wbCh1cmxSZWYpKV07CiB9CiAKIHN0YXRp
YyB2b2lkIHNldFVwSGlzdG9yeUNsaWVudChXS1Byb2Nlc3NHcm91cCAqcHJvY2Vzc0dyb3VwLCBX
S0NvbnRleHRSZWYgY29udGV4dFJlZikKQEAgLTE4OCw3ICsxODYsNyBAQCBzdGF0aWMgdm9pZCBz
ZXRVcEhpc3RvcnlDbGllbnQoV0tQcm9jZXNzR3JvdXAgKnByb2Nlc3NHcm91cCwgV0tDb250ZXh0
UmVmIGNvbnRleAogICAgIGF1dG8gY29uZmlndXJhdGlvbiA9IEFQSTo6UHJvY2Vzc1Bvb2xDb25m
aWd1cmF0aW9uOjpjcmVhdGVXaXRoTGVnYWN5T3B0aW9ucygpOwogICAgIGNvbmZpZ3VyYXRpb24t
PnNldEluamVjdGVkQnVuZGxlUGF0aChidW5kbGVVUkwgPyBTdHJpbmcoYnVuZGxlVVJMLnBhdGgp
IDogU3RyaW5nKCkpOwogCi0gICAgX3Byb2Nlc3NQb29sID0gV2ViUHJvY2Vzc1Bvb2w6OmNyZWF0
ZShjb25maWd1cmF0aW9uKTsKKyAgICBfcHJvY2Vzc1Bvb2wgPSBXZWJLaXQ6OldlYlByb2Nlc3NQ
b29sOjpjcmVhdGUoY29uZmlndXJhdGlvbik7CiAKICAgICBzZXRVcENvbm5lY3Rpb25DbGllbnQo
c2VsZiwgdG9BUEkoX3Byb2Nlc3NQb29sLmdldCgpKSk7CiAgICAgc2V0VXBJbmplY3RlZEJ1bmRs
ZUNsaWVudChzZWxmLCB0b0FQSShfcHJvY2Vzc1Bvb2wuZ2V0KCkpKTsKQEAgLTIxOCw3ICsyMTYs
NyBAQCBzdGF0aWMgdm9pZCBzZXRVcEhpc3RvcnlDbGllbnQoV0tQcm9jZXNzR3JvdXAgKnByb2Nl
c3NHcm91cCwgV0tDb250ZXh0UmVmIGNvbnRleAogCiAtICh2b2lkKV9zZXRBbGxvd3NTcGVjaWZp
Y0hUVFBTQ2VydGlmaWNhdGU6KE5TQXJyYXkgKiljZXJ0aWZpY2F0ZUNoYWluIGZvckhvc3Q6KE5T
U3RyaW5nICopaG9zdAogewotICAgIF9wcm9jZXNzUG9vbC0+YWxsb3dTcGVjaWZpY0hUVFBTQ2Vy
dGlmaWNhdGVGb3JIb3N0KFdlYkNlcnRpZmljYXRlSW5mbzo6Y3JlYXRlKFdlYkNvcmU6OkNlcnRp
ZmljYXRlSW5mbygoX19icmlkZ2UgQ0ZBcnJheVJlZiljZXJ0aWZpY2F0ZUNoYWluKSkucHRyKCks
IGhvc3QpOworICAgIF9wcm9jZXNzUG9vbC0+YWxsb3dTcGVjaWZpY0hUVFBTQ2VydGlmaWNhdGVG
b3JIb3N0KFdlYktpdDo6V2ViQ2VydGlmaWNhdGVJbmZvOjpjcmVhdGUoV2ViQ29yZTo6Q2VydGlm
aWNhdGVJbmZvKChfX2JyaWRnZSBDRkFycmF5UmVmKWNlcnRpZmljYXRlQ2hhaW4pKS5wdHIoKSwg
aG9zdCk7CiB9CiAKICNpZiBQTEFURk9STShJT1MpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
L1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tVUkxTY2hlbWVUYXNrLm1tIGIvU291cmNlL1dlYktpdC9V
SVByb2Nlc3MvQVBJL0NvY29hL1dLVVJMU2NoZW1lVGFzay5tbQppbmRleCBmYWQ4ODc1NDYzODk2
NmNhNWMxZTI0NTNkZjFmMzNlNmRjMzM4Njk1Li5jNThjMTNjNWMwYTQ2ZDI2ODY3NzZmN2Y4ODAw
OTQ2OWMxMjQ5ODA2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29j
b2EvV0tVUkxTY2hlbWVUYXNrLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9D
b2NvYS9XS1VSTFNjaGVtZVRhc2subW0KQEAgLTM1LDggKzM1LDYgQEAKICNpbXBvcnQgPFdlYkNv
cmUvU2hhcmVkQnVmZmVyLmg+CiAjaW1wb3J0IDx3dGYvQmxvY2tQdHIuaD4KIAotdXNpbmcgbmFt
ZXNwYWNlIFdlYkNvcmU7Ci0KIHN0YXRpYyB2b2lkIHJhaXNlRXhjZXB0aW9uSWZOZWNlc3Nhcnko
V2ViS2l0OjpXZWJVUkxTY2hlbWVUYXNrOjpFeGNlcHRpb25UeXBlIGV4Y2VwdGlvblR5cGUpCiB7
CiAgICAgc3dpdGNoIChleGNlcHRpb25UeXBlKSB7CkBAIC03MSw3ICs2OSw3IEBAIHN0YXRpYyB2
b2lkIHJhaXNlRXhjZXB0aW9uSWZOZWNlc3NhcnkoV2ViS2l0OjpXZWJVUkxTY2hlbWVUYXNrOjpF
eGNlcHRpb25UeXBlIGV4CiAKIC0gKE5TVVJMUmVxdWVzdCAqKXJlcXVlc3QKIHsKLSAgICByZXR1
cm4gX3VybFNjaGVtZVRhc2stPnRhc2soKS5yZXF1ZXN0KCkubnNVUkxSZXF1ZXN0KEhUVFBCb2R5
VXBkYXRlUG9saWN5OjpVcGRhdGVIVFRQQm9keSk7CisgICAgcmV0dXJuIF91cmxTY2hlbWVUYXNr
LT50YXNrKCkucmVxdWVzdCgpLm5zVVJMUmVxdWVzdChXZWJDb3JlOjpIVFRQQm9keVVwZGF0ZVBv
bGljeTo6VXBkYXRlSFRUUEJvZHkpOwogfQogCiAtICh2b2lkKWRpZFJlY2VpdmVSZXNwb25zZToo
TlNVUkxSZXNwb25zZSAqKXJlc3BvbnNlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJv
Y2Vzcy9BUEkvQ29jb2EvV0tXZWJWaWV3Q29uZmlndXJhdGlvbi5tbSBiL1NvdXJjZS9XZWJLaXQv
VUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXdDb25maWd1cmF0aW9uLm1tCmluZGV4IDg0Nzhk
YjJjZTNjNjdlZTUwNzdlYzUwYjBlNTA0MWJlOTRhZWY1OTIuLjJkODUzYzc2OWIyMDhkMzNkMmFj
ODJmM2MxYmJmMjA0OWNhYzBhNTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNz
L0FQSS9Db2NvYS9XS1dlYlZpZXdDb25maWd1cmF0aW9uLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQv
VUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXdDb25maWd1cmF0aW9uLm1tCkBAIC01Myw4ICs1
Myw2IEBACiAjaW1wb3J0IDxXZWJDb3JlL0RldmljZS5oPgogI2VuZGlmCiAKLXVzaW5nIG5hbWVz
cGFjZSBXZWJDb3JlOwotCiB0ZW1wbGF0ZTx0eXBlbmFtZSBUPiBjbGFzcyBMYXp5SW5pdGlhbGl6
ZWQgewogcHVibGljOgogICAgIHR5cGVkZWYgdHlwZW5hbWUgV1RGOjpHZXRQdHJIZWxwZXI8VD46
OlB0clR5cGUgUHRyVHlwZTsKQEAgLTIzOCw3ICsyMzYsNyBAQCBzdGF0aWMgX1dLRHJhZ0xpZnRE
ZWxheSB0b0RyYWdMaWZ0RGVsYXkoTlNVSW50ZWdlciB2YWx1ZSkKICAgICBfc3lzdGVtUHJldmll
d0VuYWJsZWQgPSBOTzsKICNlbmRpZiAvLyBQTEFURk9STShJT1MpCiAKLSAgICBfbWVkaWFDb250
ZW50VHlwZXNSZXF1aXJpbmdIYXJkd2FyZVN1cHBvcnQgPSBTZXR0aW5nczo6ZGVmYXVsdE1lZGlh
Q29udGVudFR5cGVzUmVxdWlyaW5nSGFyZHdhcmVTdXBwb3J0KCk7CisgICAgX21lZGlhQ29udGVu
dFR5cGVzUmVxdWlyaW5nSGFyZHdhcmVTdXBwb3J0ID0gV2ViQ29yZTo6U2V0dGluZ3M6OmRlZmF1
bHRNZWRpYUNvbnRlbnRUeXBlc1JlcXVpcmluZ0hhcmR3YXJlU3VwcG9ydCgpOwogICAgIF9hbGxv
d01lZGlhQ29udGVudFR5cGVzUmVxdWlyaW5nSGFyZHdhcmVTdXBwb3J0QXNGYWxsYmFjayA9IFlF
UzsKIAogICAgIF9jb2xvckZpbHRlckVuYWJsZWQgPSBOTzsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYnNpdGVEYXRhU3RvcmUubW0gYi9Tb3VyY2Uv
V2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJzaXRlRGF0YVN0b3JlLm1tCmluZGV4IGZk
ODVlZjZmZWQ5ZjAwYzc0NDI4ZGJkNzQ5OGZjZGI5OTVjNjNkOTEuLmM2NDlmZjZjYmNlYTVhMWRh
NDVmMzYwYmU1MzljN2RiYzQ5MjgzMjYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9j
ZXNzL0FQSS9Db2NvYS9XS1dlYnNpdGVEYXRhU3RvcmUubW0KKysrIGIvU291cmNlL1dlYktpdC9V
SVByb2Nlc3MvQVBJL0NvY29hL1dLV2Vic2l0ZURhdGFTdG9yZS5tbQpAQCAtNDIsOCArNDIsNiBA
QAogI2ltcG9ydCA8V2ViS2l0L1NlcnZpY2VXb3JrZXJQcm9jZXNzUHJveHkuaD4KICNpbXBvcnQg
PHd0Zi9CbG9ja1B0ci5oPgogCi11c2luZyBuYW1lc3BhY2UgV2ViQ29yZTsKLQogQGltcGxlbWVu
dGF0aW9uIFdLV2Vic2l0ZURhdGFTdG9yZQogCiArIChXS1dlYnNpdGVEYXRhU3RvcmUgKilkZWZh
dWx0RGF0YVN0b3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29j
b2EvX1dLQXR0YWNobWVudC5tbSBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9f
V0tBdHRhY2htZW50Lm1tCmluZGV4IDgxMTI0MGQyODQyZjUwZTdiOTI0ZmQ4NTJhMGYyYjY4MGZk
MTUzY2UuLjY5YWE3ODA0MGI2M2QzYTI3N2JlNGIwNzgwMmVlYTU4ZWMyNzk3OTEgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9fV0tBdHRhY2htZW50Lm1tCisr
KyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9fV0tBdHRhY2htZW50Lm1tCkBA
IC0zOSw4ICszOSw2IEBACiAjaW1wb3J0IDxNb2JpbGVDb3JlU2VydmljZXMvTW9iaWxlQ29yZVNl
cnZpY2VzLmg+CiAjZW5kaWYKIAotdXNpbmcgbmFtZXNwYWNlIFdlYktpdDsKLQogc3RhdGljIGNv
bnN0IE5TSW50ZWdlciBVbnNwZWNpZmllZEF0dGFjaG1lbnRFcnJvckNvZGUgPSAxOwogc3RhdGlj
IGNvbnN0IE5TSW50ZWdlciBJbnZhbGlkQXR0YWNobWVudEVycm9yQ29kZSA9IDI7CiAKQEAgLTEz
OSw3ICsxMzcsNyBAQCBzdGF0aWMgY29uc3QgTlNJbnRlZ2VyIEludmFsaWRBdHRhY2htZW50RXJy
b3JDb2RlID0gMjsKICAgICAgICAgaWYgKCFjYXB0dXJlZEJsb2NrKQogICAgICAgICAgICAgcmV0
dXJuOwogCi0gICAgICAgIGlmIChlcnJvciA9PSBDYWxsYmFja0Jhc2U6OkVycm9yOjpOb25lKQor
ICAgICAgICBpZiAoZXJyb3IgPT0gV2ViS2l0OjpDYWxsYmFja0Jhc2U6OkVycm9yOjpOb25lKQog
ICAgICAgICAgICAgY2FwdHVyZWRCbG9jayhuaWwpOwogICAgICAgICBlbHNlCiAgICAgICAgICAg
ICBjYXB0dXJlZEJsb2NrKFtOU0Vycm9yIGVycm9yV2l0aERvbWFpbjpXS0Vycm9yRG9tYWluIGNv
ZGU6VW5zcGVjaWZpZWRBdHRhY2htZW50RXJyb3JDb2RlIHVzZXJJbmZvOm5pbF0pOwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL19XS0dlb2xvY2F0aW9uUG9z
aXRpb24ubW0gYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvX1dLR2VvbG9jYXRp
b25Qb3NpdGlvbi5tbQppbmRleCBlODQyNjAyNGM4YjE1Mzg5OTY4ZTFmOTM3NThhOTFmYTVlMzRl
MWM3Li5mZTQ4NzUwYzQ5YjU4NDJlMjEwOTllYjBkMTg2MjM3YjgxZjljMDUyIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvX1dLR2VvbG9jYXRpb25Qb3NpdGlv
bi5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvX1dLR2VvbG9jYXRp
b25Qb3NpdGlvbi5tbQpAQCAtMzAsOCArMzAsNiBAQAogCiAjaW1wb3J0IDxDb3JlTG9jYXRpb24v
Q0xMb2NhdGlvbi5oPgogCi11c2luZyBuYW1lc3BhY2UgV2ViS2l0OwotCiBAaW1wbGVtZW50YXRp
b24gX1dLR2VvbG9jYXRpb25Qb3NpdGlvbgogCiArIChpbnN0YW5jZXR5cGUpcG9zaXRpb25XaXRo
TG9jYXRpb246KENMTG9jYXRpb24gKilsb2NhdGlvbgpAQCAtMzksNyArMzcsNyBAQCB1c2luZyBu
YW1lc3BhY2UgV2ViS2l0OwogICAgIGlmICghbG9jYXRpb24pCiAgICAgICAgIHJldHVybiBuaWw7
CiAKLSAgICByZXR1cm4gd3JhcHBlcihXZWJHZW9sb2NhdGlvblBvc2l0aW9uOjpjcmVhdGUoV2Vi
Q29yZTo6R2VvbG9jYXRpb25Qb3NpdGlvbiB7IGxvY2F0aW9uIH0pKTsKKyAgICByZXR1cm4gd3Jh
cHBlcihXZWJLaXQ6OldlYkdlb2xvY2F0aW9uUG9zaXRpb246OmNyZWF0ZShXZWJDb3JlOjpHZW9s
b2NhdGlvblBvc2l0aW9uIHsgbG9jYXRpb24gfSkpOwogfQogCiAtICh2b2lkKWRlYWxsb2MKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9fV0tSZW1vdGVXZWJJ
bnNwZWN0b3JWaWV3Q29udHJvbGxlci5tbSBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9D
b2NvYS9fV0tSZW1vdGVXZWJJbnNwZWN0b3JWaWV3Q29udHJvbGxlci5tbQppbmRleCA2OWJkMzZk
ODRkYmY5ZDQ5MTA2MDk3NjJmMGRmNTE5ODdjYWFlMTFhLi5iMWUxNzVhMmY3YzcxMzEyY2Q1NTMz
M2FmNTQyNDUxNTdmZTA5MjcxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9B
UEkvQ29jb2EvX1dLUmVtb3RlV2ViSW5zcGVjdG9yVmlld0NvbnRyb2xsZXIubW0KKysrIGIvU291
cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL19XS1JlbW90ZVdlYkluc3BlY3RvclZpZXdD
b250cm9sbGVyLm1tCkBAIC0zMCw4ICszMCw2IEBACiAKICNpbXBvcnQgIlJlbW90ZVdlYkluc3Bl
Y3RvclByb3h5LmgiCiAKLXVzaW5nIG5hbWVzcGFjZSBXZWJLaXQ7Ci0KIEBpbnRlcmZhY2UgX1dL
UmVtb3RlV2ViSW5zcGVjdG9yVmlld0NvbnRyb2xsZXIgKCkKIC0gKHZvaWQpc2VuZE1lc3NhZ2VU
b0JhY2tlbmQ6KE5TU3RyaW5nICopbWVzc2FnZTsKIC0gKHZvaWQpY2xvc2VGcm9tRnJvbnRlbmQ7
CkBAIC02Nyw4ICs2NSw4IEBAIHByaXZhdGU6CiB9IC8vIG5hbWVzcGFjZSBXZWJLaXQKIAogQGlt
cGxlbWVudGF0aW9uIF9XS1JlbW90ZVdlYkluc3BlY3RvclZpZXdDb250cm9sbGVyIHsKLSAgICBS
ZWZQdHI8UmVtb3RlV2ViSW5zcGVjdG9yUHJveHk+IG1fcmVtb3RlSW5zcGVjdG9yUHJveHk7Ci0g
ICAgc3RkOjp1bmlxdWVfcHRyPF9XS1JlbW90ZVdlYkluc3BlY3RvclByb3h5Q2xpZW50PiBtX3Jl
bW90ZUluc3BlY3RvckNsaWVudDsKKyAgICBSZWZQdHI8V2ViS2l0OjpSZW1vdGVXZWJJbnNwZWN0
b3JQcm94eT4gbV9yZW1vdGVJbnNwZWN0b3JQcm94eTsKKyAgICBzdGQ6OnVuaXF1ZV9wdHI8V2Vi
S2l0OjpfV0tSZW1vdGVXZWJJbnNwZWN0b3JQcm94eUNsaWVudD4gbV9yZW1vdGVJbnNwZWN0b3JD
bGllbnQ7CiB9CiAKIC0gKGluc3RhbmNldHlwZSlpbml0CkBAIC03Niw4ICs3NCw4IEBAIHByaXZh
dGU6CiAgICAgaWYgKCEoc2VsZiA9IFtzdXBlciBpbml0XSkpCiAgICAgICAgIHJldHVybiBuaWw7
CiAKLSAgICBtX3JlbW90ZUluc3BlY3RvclByb3h5ID0gUmVtb3RlV2ViSW5zcGVjdG9yUHJveHk6
OmNyZWF0ZSgpOwotICAgIG1fcmVtb3RlSW5zcGVjdG9yQ2xpZW50ID0gc3RkOjptYWtlX3VuaXF1
ZTxfV0tSZW1vdGVXZWJJbnNwZWN0b3JQcm94eUNsaWVudD4oc2VsZik7CisgICAgbV9yZW1vdGVJ
bnNwZWN0b3JQcm94eSA9IFdlYktpdDo6UmVtb3RlV2ViSW5zcGVjdG9yUHJveHk6OmNyZWF0ZSgp
OworICAgIG1fcmVtb3RlSW5zcGVjdG9yQ2xpZW50ID0gc3RkOjptYWtlX3VuaXF1ZTxXZWJLaXQ6
Ol9XS1JlbW90ZVdlYkluc3BlY3RvclByb3h5Q2xpZW50PihzZWxmKTsKICAgICBtX3JlbW90ZUlu
c3BlY3RvclByb3h5LT5zZXRDbGllbnQobV9yZW1vdGVJbnNwZWN0b3JDbGllbnQuZ2V0KCkpOwog
CiAgICAgcmV0dXJuIHNlbGY7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9B
UEkvQ29jb2EvX1dLVGh1bWJuYWlsVmlldy5tbSBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQ
SS9Db2NvYS9fV0tUaHVtYm5haWxWaWV3Lm1tCmluZGV4IDVkNzY3MjMyNDM1ZGIxZGEzYzNhMzNh
NDlhNTI5M2JkNmMyZDIyZDguLjM0YjEwZjBiMzVmY2FjYzU2ZmE0OGU1NDM0MDQxNGIzMzZhMGUz
NDUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9fV0tUaHVt
Ym5haWxWaWV3Lm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9fV0tU
aHVtYm5haWxWaWV3Lm1tCkBAIC00MywxMyArNDMsMTAgQEAKIC8vIEZJWE1FOiBXZSBzaG91bGQg
cmUtdXNlIGV4aXN0aW5nIHRpbGVzIGZvciB1bnBhcmVudGVkIHZpZXdzLCBpZiB3ZSBoYXZlIHRo
ZW0gKHdlIG5lZWQgdG8ga25vdyBpZiB0aGV5J3ZlIGJlZW4gcHVyZ2VkOyBpZiBzbywgcmVwYWlu
dCBhdCBzY2FsZWQtZG93biBzaXplKS4KIC8vIEZJWE1FOiBXZSBzaG91bGQgc3dpdGNoIHRvIHRo
ZSBsb3ctcmVzb2x1dGlvbiBzY2FsZSBpZiBhIHZpZXcgd2UgaGF2ZSBoaWdoLXJlc29sdXRpb24g
dGlsZXMgZm9yIHJlcGFpbnRzLgogCi11c2luZyBuYW1lc3BhY2UgV2ViQ29yZTsKLXVzaW5nIG5h
bWVzcGFjZSBXZWJLaXQ7Ci0KIEBpbXBsZW1lbnRhdGlvbiBfV0tUaHVtYm5haWxWaWV3IHsKICAg
ICBSZXRhaW5QdHI8V0tWaWV3PiBfd2tWaWV3OwogICAgIFJldGFpblB0cjxXS1dlYlZpZXc+IF93
a1dlYlZpZXc7Ci0gICAgV2ViUGFnZVByb3h5KiBfd2ViUGFnZVByb3h5OworICAgIFdlYktpdDo6
V2ViUGFnZVByb3h5KiBfd2ViUGFnZVByb3h5OwogCiAgICAgQk9PTCBfb3JpZ2luYWxNYXlTdGFy
dE1lZGlhV2hlbkluV2luZG93OwogICAgIEJPT0wgX29yaWdpbmFsU291cmNlVmlld0lzSW5XaW5k
b3c7CkBAIC04NCw3ICs4MSw3IEBAIHVzaW5nIG5hbWVzcGFjZSBXZWJLaXQ7CiAgICAgICAgIHJl
dHVybiBuaWw7CiAKICAgICBfd2tWaWV3ID0gd2tWaWV3OwotICAgIF93ZWJQYWdlUHJveHkgPSB0
b0ltcGwoW193a1ZpZXcgcGFnZVJlZl0pOworICAgIF93ZWJQYWdlUHJveHkgPSBXZWJLaXQ6OnRv
SW1wbChbX3drVmlldyBwYWdlUmVmXSk7CiAgICAgX29yaWdpbmFsTWF5U3RhcnRNZWRpYVdoZW5J
bldpbmRvdyA9IF93ZWJQYWdlUHJveHktPm1heVN0YXJ0TWVkaWFXaGVuSW5XaW5kb3coKTsKICAg
ICBfb3JpZ2luYWxTb3VyY2VWaWV3SXNJbldpbmRvdyA9ICEhW193a1ZpZXcgd2luZG93XTsKIApA
QCAtMTI3LDkgKzEyNCw5IEBAIHVzaW5nIG5hbWVzcGFjZSBXZWJLaXQ7CiAgICAgX3dhaXRpbmdG
b3JTbmFwc2hvdCA9IFlFUzsKIAogICAgIFJldGFpblB0cjxfV0tUaHVtYm5haWxWaWV3PiB0aHVt
Ym5haWxWaWV3ID0gc2VsZjsKLSAgICBJbnRSZWN0IHNuYXBzaG90UmVjdChJbnRQb2ludCgpLCBf
d2ViUGFnZVByb3h5LT52aWV3U2l6ZSgpIC0gSW50U2l6ZSgwLCBfd2ViUGFnZVByb3h5LT50b3BD
b250ZW50SW5zZXQoKSkpOwotICAgIFNuYXBzaG90T3B0aW9ucyBvcHRpb25zID0gU25hcHNob3RP
cHRpb25zSW5WaWV3Q29vcmRpbmF0ZXMgfCBTbmFwc2hvdE9wdGlvbnNVc2VTY3JlZW5Db2xvclNw
YWNlOwotICAgIEludFNpemUgYml0bWFwU2l6ZSA9IHNuYXBzaG90UmVjdC5zaXplKCk7CisgICAg
V2ViQ29yZTo6SW50UmVjdCBzbmFwc2hvdFJlY3QoV2ViQ29yZTo6SW50UG9pbnQoKSwgX3dlYlBh
Z2VQcm94eS0+dmlld1NpemUoKSAtIFdlYkNvcmU6OkludFNpemUoMCwgX3dlYlBhZ2VQcm94eS0+
dG9wQ29udGVudEluc2V0KCkpKTsKKyAgICBXZWJLaXQ6OlNuYXBzaG90T3B0aW9ucyBvcHRpb25z
ID0gV2ViS2l0OjpTbmFwc2hvdE9wdGlvbnNJblZpZXdDb29yZGluYXRlcyB8IFdlYktpdDo6U25h
cHNob3RPcHRpb25zVXNlU2NyZWVuQ29sb3JTcGFjZTsKKyAgICBXZWJDb3JlOjpJbnRTaXplIGJp
dG1hcFNpemUgPSBzbmFwc2hvdFJlY3Quc2l6ZSgpOwogICAgIGJpdG1hcFNpemUuc2NhbGUoX3Nj
YWxlICogX3dlYlBhZ2VQcm94eS0+ZGV2aWNlU2NhbGVGYWN0b3IoKSk7CiAKICAgICBpZiAoIUNH
U2l6ZUVxdWFsVG9TaXplKF9tYXhpbXVtU25hcHNob3RTaXplLCBDR1NpemVaZXJvKSkgewpAQCAt
MTM4LDEzICsxMzUsMTMgQEAgdXNpbmcgbmFtZXNwYWNlIFdlYktpdDsKICAgICAgICAgICAgIHNp
emVDb25zdHJhaW50U2NhbGUgPSBDR0Zsb2F0TWluKHNpemVDb25zdHJhaW50U2NhbGUsIF9tYXhp
bXVtU25hcHNob3RTaXplLndpZHRoIC8gYml0bWFwU2l6ZS53aWR0aCgpKTsKICAgICAgICAgaWYg
KF9tYXhpbXVtU25hcHNob3RTaXplLmhlaWdodCkKICAgICAgICAgICAgIHNpemVDb25zdHJhaW50
U2NhbGUgPSBDR0Zsb2F0TWluKHNpemVDb25zdHJhaW50U2NhbGUsIF9tYXhpbXVtU25hcHNob3RT
aXplLmhlaWdodCAvIGJpdG1hcFNpemUuaGVpZ2h0KCkpOwotICAgICAgICBiaXRtYXBTaXplID0g
SW50U2l6ZShDR0NlaWxpbmcoYml0bWFwU2l6ZS53aWR0aCgpICogc2l6ZUNvbnN0cmFpbnRTY2Fs
ZSksIENHQ2VpbGluZyhiaXRtYXBTaXplLmhlaWdodCgpICogc2l6ZUNvbnN0cmFpbnRTY2FsZSkp
OworICAgICAgICBiaXRtYXBTaXplID0gV2ViQ29yZTo6SW50U2l6ZShDR0NlaWxpbmcoYml0bWFw
U2l6ZS53aWR0aCgpICogc2l6ZUNvbnN0cmFpbnRTY2FsZSksIENHQ2VpbGluZyhiaXRtYXBTaXpl
LmhlaWdodCgpICogc2l6ZUNvbnN0cmFpbnRTY2FsZSkpOwogICAgIH0KIAogICAgIF9sYXN0U25h
cHNob3RTY2FsZSA9IF9zY2FsZTsKICAgICBfbGFzdFNuYXBzaG90TWF4aW11bVNpemUgPSBfbWF4
aW11bVNuYXBzaG90U2l6ZTsKLSAgICBfd2ViUGFnZVByb3h5LT50YWtlU25hcHNob3Qoc25hcHNo
b3RSZWN0LCBiaXRtYXBTaXplLCBvcHRpb25zLCBbdGh1bWJuYWlsVmlld10oY29uc3QgU2hhcmVh
YmxlQml0bWFwOjpIYW5kbGUmIGltYWdlSGFuZGxlLCBXZWJLaXQ6OkNhbGxiYWNrQmFzZTo6RXJy
b3IpIHsKLSAgICAgICAgUmVmUHRyPFNoYXJlYWJsZUJpdG1hcD4gYml0bWFwID0gU2hhcmVhYmxl
Qml0bWFwOjpjcmVhdGUoaW1hZ2VIYW5kbGUsIFNoYXJlZE1lbW9yeTo6UHJvdGVjdGlvbjo6UmVh
ZE9ubHkpOworICAgIF93ZWJQYWdlUHJveHktPnRha2VTbmFwc2hvdChzbmFwc2hvdFJlY3QsIGJp
dG1hcFNpemUsIG9wdGlvbnMsIFt0aHVtYm5haWxWaWV3XShjb25zdCBXZWJLaXQ6OlNoYXJlYWJs
ZUJpdG1hcDo6SGFuZGxlJiBpbWFnZUhhbmRsZSwgV2ViS2l0OjpDYWxsYmFja0Jhc2U6OkVycm9y
KSB7CisgICAgICAgIGF1dG8gYml0bWFwID0gV2ViS2l0OjpTaGFyZWFibGVCaXRtYXA6OmNyZWF0
ZShpbWFnZUhhbmRsZSwgV2ViS2l0OjpTaGFyZWRNZW1vcnk6OlByb3RlY3Rpb246OlJlYWRPbmx5
KTsKICAgICAgICAgUmV0YWluUHRyPENHSW1hZ2VSZWY+IGNnSW1hZ2UgPSBiaXRtYXAgPyBiaXRt
YXAtPm1ha2VDR0ltYWdlKCkgOiBudWxscHRyOwogICAgICAgICBbdGh1bWJuYWlsVmlldyBfZGlk
VGFrZVNuYXBzaG90OmNnSW1hZ2UuZ2V0KCldOwogICAgIH0pOwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdC9VSVByb2Nlc3MvQVBJL21hYy9XS1ZpZXcubW0gYi9Tb3VyY2UvV2ViS2l0L1VJUHJv
Y2Vzcy9BUEkvbWFjL1dLVmlldy5tbQppbmRleCBmZTk3MDEwMzc1NTA3YjdkNzExMTlhNGRhZmIw
ZDUyOGE3MmU0OTc2Li5mZThkOWNhNWY0YzVlYWM2MWQzYzEwZDYwYjllOTQ4NjZhMmUwYmY1IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvbWFjL1dLVmlldy5tbQorKysg
Yi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvbWFjL1dLVmlldy5tbQpAQCAtNDUsMTIgKzQ1
LDkgQEAKICNpbXBvcnQgPHBhbC9zcGkvY29jb2EvQVZLaXRTUEkuaD4KICNpbXBvcnQgPHd0Zi9C
bG9ja1B0ci5oPgogCi11c2luZyBuYW1lc3BhY2UgV2ViS2l0OwotdXNpbmcgbmFtZXNwYWNlIFdl
YkNvcmU7Ci0KIEBpbnRlcmZhY2UgV0tWaWV3RGF0YSA6IE5TT2JqZWN0IHsKIEBwdWJsaWMKLSAg
ICBzdGQ6OnVuaXF1ZV9wdHI8V2ViVmlld0ltcGw+IF9pbXBsOworICAgIHN0ZDo6dW5pcXVlX3B0
cjxXZWJLaXQ6OldlYlZpZXdJbXBsPiBfaW1wbDsKIH0KIAogQGVuZApAQCAtNzU5LDcgKzc1Niw3
IEBAIFNvbWUgb3RoZXIgZWRpdGluZy1yZWxhdGVkIG1ldGhvZHMgc3RpbGwgdW5pbXBsZW1lbnRl
ZDoKIAogLSAoQk9PTCltb3VzZURvd25DYW5Nb3ZlV2luZG93CiB7Ci0gICAgcmV0dXJuIFdlYlZp
ZXdJbXBsOjptb3VzZURvd25DYW5Nb3ZlV2luZG93KCk7CisgICAgcmV0dXJuIFdlYktpdDo6V2Vi
Vmlld0ltcGw6Om1vdXNlRG93bkNhbk1vdmVXaW5kb3coKTsKIH0KIAogLSAodm9pZCl2aWV3RGlk
SGlkZQpAQCAtODk4LDcgKzg5NSw3IEBAIFNvbWUgb3RoZXIgZWRpdGluZy1yZWxhdGVkIG1ldGhv
ZHMgc3RpbGwgdW5pbXBsZW1lbnRlZDoKICAgICAgICAgICAgICAgICBBU1NFUlQoUnVuTG9vcDo6
aXNNYWluKCkpOwogICAgICAgICAgICAgICAgIGlmIChsb2FkQ29tcGxldGlvbkhhbmRsZXIpIHsK
ICAgICAgICAgICAgICAgICAgICAgY29tcGxldGlvbkhhbmRsZXIoW2xvYWRDb21wbGV0aW9uSGFu
ZGxlciA9IEJsb2NrUHRyPHZvaWQgKE5TRGF0YSAqKT4obG9hZENvbXBsZXRpb25IYW5kbGVyKV0o
QVBJOjpEYXRhKiBkYXRhLCBXZWJLaXQ6OkNhbGxiYWNrQmFzZTo6RXJyb3IgZXJyb3IpIHsKLSAg
ICAgICAgICAgICAgICAgICAgICAgIGlmIChlcnJvciAhPSBDYWxsYmFja0Jhc2U6OkVycm9yOjpO
b25lIHx8ICFkYXRhKQorICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGVycm9yICE9IFdlYktp
dDo6Q2FsbGJhY2tCYXNlOjpFcnJvcjo6Tm9uZSB8fCAhZGF0YSkKICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBsb2FkQ29tcGxldGlvbkhhbmRsZXIobmlsKTsKICAgICAgICAgICAgICAgICAg
ICAgICAgIGVsc2UKICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsb2FkQ29tcGxldGlvbkhh
bmRsZXIod3JhcHBlcigqZGF0YSkpOwpAQCAtOTE2LDE2ICs5MTMsMTYgQEAgU29tZSBvdGhlciBl
ZGl0aW5nLXJlbGF0ZWQgbWV0aG9kcyBzdGlsbCB1bmltcGxlbWVudGVkOgogI2VuZGlmIC8vIFdL
X0FQSV9FTkFCTEVECiB9CiAKLS0gKGluc3RhbmNldHlwZSlpbml0V2l0aEZyYW1lOihOU1JlY3Qp
ZnJhbWUgcHJvY2Vzc1Bvb2w6KFdlYlByb2Nlc3NQb29sJilwcm9jZXNzUG9vbCBjb25maWd1cmF0
aW9uOihSZWY8QVBJOjpQYWdlQ29uZmlndXJhdGlvbj4mJiljb25maWd1cmF0aW9uCistIChpbnN0
YW5jZXR5cGUpaW5pdFdpdGhGcmFtZTooTlNSZWN0KWZyYW1lIHByb2Nlc3NQb29sOihXZWJLaXQ6
OldlYlByb2Nlc3NQb29sJilwcm9jZXNzUG9vbCBjb25maWd1cmF0aW9uOihSZWY8QVBJOjpQYWdl
Q29uZmlndXJhdGlvbj4mJiljb25maWd1cmF0aW9uCiB7CiAgICAgc2VsZiA9IFtzdXBlciBpbml0
V2l0aEZyYW1lOmZyYW1lXTsKICAgICBpZiAoIXNlbGYpCiAgICAgICAgIHJldHVybiBuaWw7CiAK
LSAgICBJbml0aWFsaXplV2ViS2l0MigpOworICAgIFdlYktpdDo6SW5pdGlhbGl6ZVdlYktpdDIo
KTsKIAogICAgIF9kYXRhID0gW1tXS1ZpZXdEYXRhIGFsbG9jXSBpbml0XTsKLSAgICBfZGF0YS0+
X2ltcGwgPSBzdGQ6Om1ha2VfdW5pcXVlPFdlYlZpZXdJbXBsPihzZWxmLCBudWxscHRyLCBwcm9j
ZXNzUG9vbCwgV1RGTW92ZShjb25maWd1cmF0aW9uKSk7CisgICAgX2RhdGEtPl9pbXBsID0gc3Rk
OjptYWtlX3VuaXF1ZTxXZWJLaXQ6OldlYlZpZXdJbXBsPihzZWxmLCBudWxscHRyLCBwcm9jZXNz
UG9vbCwgV1RGTW92ZShjb25maWd1cmF0aW9uKSk7CiAKICAgICBbc2VsZiBtYXliZUluc3RhbGxJ
Y29uTG9hZGluZ0NsaWVudF07CiAKQEAgLTEwMDYsNyArMTAwMyw3IEBAIFNvbWUgb3RoZXIgZWRp
dGluZy1yZWxhdGVkIG1ldGhvZHMgc3RpbGwgdW5pbXBsZW1lbnRlZDoKIAogLSAoaWQpX3dlYl9p
bW1lZGlhdGVBY3Rpb25BbmltYXRpb25Db250cm9sbGVyRm9ySGl0VGVzdFJlc3VsdEludGVybmFs
OihBUEk6OkhpdFRlc3RSZXN1bHQqKWhpdFRlc3RSZXN1bHQgd2l0aFR5cGU6KHVpbnQzMl90KXR5
cGUgdXNlckRhdGE6KEFQSTo6T2JqZWN0Kil1c2VyRGF0YQogewotICAgIHJldHVybiBbc2VsZiBf
aW1tZWRpYXRlQWN0aW9uQW5pbWF0aW9uQ29udHJvbGxlckZvckhpdFRlc3RSZXN1bHQ6dG9BUEko
aGl0VGVzdFJlc3VsdCkgd2l0aFR5cGU6dHlwZSB1c2VyRGF0YTp0b0FQSSh1c2VyRGF0YSldOwor
ICAgIHJldHVybiBbc2VsZiBfaW1tZWRpYXRlQWN0aW9uQW5pbWF0aW9uQ29udHJvbGxlckZvckhp
dFRlc3RSZXN1bHQ6V2ViS2l0Ojp0b0FQSShoaXRUZXN0UmVzdWx0KSB3aXRoVHlwZTp0eXBlIHVz
ZXJEYXRhOldlYktpdDo6dG9BUEkodXNlckRhdGEpXTsKIH0KIAogLSAodm9pZClfd2ViX3ByZXBh
cmVGb3JJbW1lZGlhdGVBY3Rpb25BbmltYXRpb24KQEAgLTExMzEsNyArMTEyOCw3IEBAIFNvbWUg
b3RoZXIgZWRpdGluZy1yZWxhdGVkIG1ldGhvZHMgc3RpbGwgdW5pbXBsZW1lbnRlZDoKIAogLSAo
dm9pZClzYXZlQmFja0ZvcndhcmRTbmFwc2hvdEZvckl0ZW06KFdLQmFja0ZvcndhcmRMaXN0SXRl
bVJlZilpdGVtCiB7Ci0gICAgX2RhdGEtPl9pbXBsLT5zYXZlQmFja0ZvcndhcmRTbmFwc2hvdEZv
ckl0ZW0oKnRvSW1wbChpdGVtKSk7CisgICAgX2RhdGEtPl9pbXBsLT5zYXZlQmFja0ZvcndhcmRT
bmFwc2hvdEZvckl0ZW0oKldlYktpdDo6dG9JbXBsKGl0ZW0pKTsKIH0KIAogLSAoaWQpaW5pdFdp
dGhGcmFtZTooTlNSZWN0KWZyYW1lIGNvbnRleHRSZWY6KFdLQ29udGV4dFJlZiljb250ZXh0UmVm
IHBhZ2VHcm91cFJlZjooV0tQYWdlR3JvdXBSZWYpcGFnZUdyb3VwUmVmCkBAIC0xMTU1LDE5ICsx
MTUyLDE5IEBAIHN0YXRpYyBXZWJDb3JlOjpVc2VySW50ZXJmYWNlTGF5b3V0RGlyZWN0aW9uIHRv
VXNlckludGVyZmFjZUxheW91dERpcmVjdGlvbihOU1VzCiAtIChpZClpbml0V2l0aEZyYW1lOihO
U1JlY3QpZnJhbWUgY29udGV4dFJlZjooV0tDb250ZXh0UmVmKWNvbnRleHRSZWYgcGFnZUdyb3Vw
UmVmOihXS1BhZ2VHcm91cFJlZilwYWdlR3JvdXBSZWYgcmVsYXRlZFRvUGFnZTooV0tQYWdlUmVm
KXJlbGF0ZWRQYWdlCiB7CiAgICAgYXV0byBjb25maWd1cmF0aW9uID0gQVBJOjpQYWdlQ29uZmln
dXJhdGlvbjo6Y3JlYXRlKCk7Ci0gICAgY29uZmlndXJhdGlvbi0+c2V0UHJvY2Vzc1Bvb2wodG9J
bXBsKGNvbnRleHRSZWYpKTsKLSAgICBjb25maWd1cmF0aW9uLT5zZXRQYWdlR3JvdXAodG9JbXBs
KHBhZ2VHcm91cFJlZikpOwotICAgIGNvbmZpZ3VyYXRpb24tPnNldFJlbGF0ZWRQYWdlKHRvSW1w
bChyZWxhdGVkUGFnZSkpOworICAgIGNvbmZpZ3VyYXRpb24tPnNldFByb2Nlc3NQb29sKFdlYktp
dDo6dG9JbXBsKGNvbnRleHRSZWYpKTsKKyAgICBjb25maWd1cmF0aW9uLT5zZXRQYWdlR3JvdXAo
V2ViS2l0Ojp0b0ltcGwocGFnZUdyb3VwUmVmKSk7CisgICAgY29uZmlndXJhdGlvbi0+c2V0UmVs
YXRlZFBhZ2UoV2ViS2l0Ojp0b0ltcGwocmVsYXRlZFBhZ2UpKTsKICNpZiBQTEFURk9STShNQUMp
CiAgICAgY29uZmlndXJhdGlvbi0+cHJlZmVyZW5jZVZhbHVlcygpLnNldChXZWJLaXQ6OldlYlBy
ZWZlcmVuY2VzS2V5OjpzeXN0ZW1MYXlvdXREaXJlY3Rpb25LZXkoKSwgV2ViS2l0OjpXZWJQcmVm
ZXJlbmNlc1N0b3JlOjpWYWx1ZShzdGF0aWNfY2FzdDx1aW50MzJfdD4odG9Vc2VySW50ZXJmYWNl
TGF5b3V0RGlyZWN0aW9uKHNlbGYudXNlckludGVyZmFjZUxheW91dERpcmVjdGlvbikpKSk7CiAj
ZW5kaWYKIAotICAgIHJldHVybiBbc2VsZiBpbml0V2l0aEZyYW1lOmZyYW1lIHByb2Nlc3NQb29s
Oip0b0ltcGwoY29udGV4dFJlZikgY29uZmlndXJhdGlvbjpXVEZNb3ZlKGNvbmZpZ3VyYXRpb24p
XTsKKyAgICByZXR1cm4gW3NlbGYgaW5pdFdpdGhGcmFtZTpmcmFtZSBwcm9jZXNzUG9vbDoqV2Vi
S2l0Ojp0b0ltcGwoY29udGV4dFJlZikgY29uZmlndXJhdGlvbjpXVEZNb3ZlKGNvbmZpZ3VyYXRp
b24pXTsKIH0KIAogLSAoaWQpaW5pdFdpdGhGcmFtZTooTlNSZWN0KWZyYW1lIGNvbmZpZ3VyYXRp
b25SZWY6KFdLUGFnZUNvbmZpZ3VyYXRpb25SZWYpY29uZmlndXJhdGlvblJlZgogewotICAgIFJl
ZjxBUEk6OlBhZ2VDb25maWd1cmF0aW9uPiBjb25maWd1cmF0aW9uID0gdG9JbXBsKGNvbmZpZ3Vy
YXRpb25SZWYpLT5jb3B5KCk7CisgICAgUmVmPEFQSTo6UGFnZUNvbmZpZ3VyYXRpb24+IGNvbmZp
Z3VyYXRpb24gPSBXZWJLaXQ6OnRvSW1wbChjb25maWd1cmF0aW9uUmVmKS0+Y29weSgpOwogICAg
IGF1dG8mIHByb2Nlc3NQb29sID0gKmNvbmZpZ3VyYXRpb24tPnByb2Nlc3NQb29sKCk7CiAKICAg
ICByZXR1cm4gW3NlbGYgaW5pdFdpdGhGcmFtZTpmcmFtZSBwcm9jZXNzUG9vbDpwcm9jZXNzUG9v
bCBjb25maWd1cmF0aW9uOldURk1vdmUoY29uZmlndXJhdGlvbildOwpAQCAtMTE3NSw3ICsxMTcy
LDcgQEAgc3RhdGljIFdlYkNvcmU6OlVzZXJJbnRlcmZhY2VMYXlvdXREaXJlY3Rpb24gdG9Vc2Vy
SW50ZXJmYWNlTGF5b3V0RGlyZWN0aW9uKE5TVXMKIAogLSAoQk9PTCl3YW50c1VwZGF0ZUxheWVy
CiB7Ci0gICAgcmV0dXJuIFdlYlZpZXdJbXBsOjp3YW50c1VwZGF0ZUxheWVyKCk7CisgICAgcmV0
dXJuIFdlYktpdDo6V2ViVmlld0ltcGw6OndhbnRzVXBkYXRlTGF5ZXIoKTsKIH0KIAogLSAodm9p
ZCl1cGRhdGVMYXllcgpAQCAtMTE4NSwxNyArMTE4MiwxNyBAQCBzdGF0aWMgV2ViQ29yZTo6VXNl
ckludGVyZmFjZUxheW91dERpcmVjdGlvbiB0b1VzZXJJbnRlcmZhY2VMYXlvdXREaXJlY3Rpb24o
TlNVcwogCiAtIChXS1BhZ2VSZWYpcGFnZVJlZgogewotICAgIHJldHVybiB0b0FQSSgmX2RhdGEt
Pl9pbXBsLT5wYWdlKCkpOworICAgIHJldHVybiBXZWJLaXQ6OnRvQVBJKCZfZGF0YS0+X2ltcGwt
PnBhZ2UoKSk7CiB9CiAKIC0gKEJPT0wpY2FuQ2hhbmdlRnJhbWVMYXlvdXQ6KFdLRnJhbWVSZWYp
ZnJhbWVSZWYKIHsKLSAgICByZXR1cm4gX2RhdGEtPl9pbXBsLT5jYW5DaGFuZ2VGcmFtZUxheW91
dCgqdG9JbXBsKGZyYW1lUmVmKSk7CisgICAgcmV0dXJuIF9kYXRhLT5faW1wbC0+Y2FuQ2hhbmdl
RnJhbWVMYXlvdXQoKldlYktpdDo6dG9JbXBsKGZyYW1lUmVmKSk7CiB9CiAKIC0gKE5TUHJpbnRP
cGVyYXRpb24gKilwcmludE9wZXJhdGlvbldpdGhQcmludEluZm86KE5TUHJpbnRJbmZvICopcHJp
bnRJbmZvIGZvckZyYW1lOihXS0ZyYW1lUmVmKWZyYW1lUmVmCiB7Ci0gICAgcmV0dXJuIF9kYXRh
LT5faW1wbC0+cHJpbnRPcGVyYXRpb25XaXRoUHJpbnRJbmZvKHByaW50SW5mbywgKnRvSW1wbChm
cmFtZVJlZikpOworICAgIHJldHVybiBfZGF0YS0+X2ltcGwtPnByaW50T3BlcmF0aW9uV2l0aFBy
aW50SW5mbyhwcmludEluZm8sICpXZWJLaXQ6OnRvSW1wbChmcmFtZVJlZikpOwogfQogCiAtICh2
b2lkKXNldEZyYW1lOihOU1JlY3QpcmVjdCBhbmRTY3JvbGxCeTooTlNTaXplKW9mZnNldApAQCAt
MTIyMCw3ICsxMjE3LDcgQEAgc3RhdGljIFdlYkNvcmU6OlVzZXJJbnRlcmZhY2VMYXlvdXREaXJl
Y3Rpb24gdG9Vc2VySW50ZXJmYWNlTGF5b3V0RGlyZWN0aW9uKE5TVXMKIAogKyAodm9pZCloaWRl
V29yZERlZmluaXRpb25XaW5kb3cKIHsKLSAgICBXZWJWaWV3SW1wbDo6aGlkZVdvcmREZWZpbml0
aW9uV2luZG93KCk7CisgICAgV2ViS2l0OjpXZWJWaWV3SW1wbDo6aGlkZVdvcmREZWZpbml0aW9u
V2luZG93KCk7CiB9CiAKIC0gKE5TU2l6ZSltaW5pbXVtU2l6ZUZvckF1dG9MYXlvdXQKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViS2l0Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2ogYi9T
b3VyY2UvV2ViS2l0L1dlYktpdC54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCmluZGV4IDQxYTU2
OWRjYzkxMjY4YzUyM2I1YWIwNmFkN2FiYWMxMWMxZjJmMWEuLjdiZGFjNjBmYzMyYjYwNzM3ZTZl
ZDExZjYxNzc5NDEwNTBmNzU3MGEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViS2l0Lnhj
b2RlcHJvai9wcm9qZWN0LnBieHByb2oKKysrIGIvU291cmNlL1dlYktpdC9XZWJLaXQueGNvZGVw
cm9qL3Byb2plY3QucGJ4cHJvagpAQCAtMTE3LDcgKzExNyw2IEBACiAJCTE1NzM5QkJEMUI0MjA0
MkQwMEQyNThDMSAvKiBXZWJVc2VyTWVkaWFDbGllbnQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDRBNDEwRjQ5MTlBRjdCODAwMDJFQkFCNSAvKiBXZWJV
c2VyTWVkaWFDbGllbnQuaCAqLzsgfTsKIAkJMUEwMDJENDMxOTZCMzM3MDAwQjlBRDQ0IC8qIF9X
S1Nlc3Npb25TdGF0ZUludGVybmFsLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSAxQTAwMkQ0MjE5NkIzMzcwMDBCOUFENDQgLyogX1dLU2Vzc2lvblN0YXRl
SW50ZXJuYWwuaCAqLzsgfTsKIAkJMUEwMDJENDQxOTZCMzM4OTAwQjlBRDQ0IC8qIF9XS1Nlc3Np
b25TdGF0ZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
MUEwMDJEM0YxOTZCMzI5NDAwQjlBRDQ0IC8qIF9XS1Nlc3Npb25TdGF0ZS5oICovOyBzZXR0aW5n
cyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07Ci0JCTFBMDAyRDQ1MTk2QjMzOEUw
MEI5QUQ0NCAvKiBfV0tTZXNzaW9uU3RhdGUubW0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSAxQTAwMkQzRTE5NkIzMjk0MDBCOUFENDQgLyogX1dLU2Vzc2lv
blN0YXRlLm1tICovOyB9OwogCQkxQTAwMkQ0OTE5NkIzNDVEMDBCOUFENDQgLyogU2Vzc2lvblN0
YXRlQ29kaW5nLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSAxQTAwMkQ0NzE5NkIzNDVEMDBCOUFENDQgLyogU2Vzc2lvblN0YXRlQ29kaW5nLmggKi87IH07
CiAJCTFBMDQzOTc2MTI0RDAzNDgwMEZGQkZCNSAvKiBQbHVnaW5Qcm9jZXNzLmggaW4gSGVhZGVy
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxQTA0Mzk3NDEyNEQwMzQ4MDBG
RkJGQjUgLyogUGx1Z2luUHJvY2Vzcy5oICovOyB9OwogCQkxQTA0Mzk3NzEyNEQwMzQ4MDBGRkJG
QjUgLyogUGx1Z2luUHJvY2Vzcy5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSAxQTA0Mzk3NTEyNEQwMzQ4MDBGRkJGQjUgLyogUGx1Z2luUHJvY2Vzcy5j
cHAgKi87IH07CkBAIC0xNDAsMTEgKzEzOSw5IEBACiAJCTFBMEVDOTBGMTI0QzBBRjUwMDdFRjRB
NSAvKiBQbHVnaW5Qcm9jZXNzQ29ubmVjdGlvbk1hbmFnZXIuaCBpbiBIZWFkZXJzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDFBMEVDOTBEMTI0QzBBRjUwMDdFRjRBNSAvKiBQ
bHVnaW5Qcm9jZXNzQ29ubmVjdGlvbk1hbmFnZXIuaCAqLzsgfTsKIAkJMUEwRjI5RTQxMjBCNDQ0
MjAwNTNEMUI5IC8qIFZpc2l0ZWRMaW5rU3RvcmUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDFBMEYyOUUyMTIwQjQ0NDIwMDUzRDFCOSAvKiBWaXNpdGVk
TGlua1N0b3JlLmggKi87IH07CiAJCTFBMTRGOEUyMUQ3NEM4MzQwMDZDQkVDNiAvKiBGcmFtZUlu
Zm9EYXRhLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAx
QTE0RjhFMDFENzRDODM0MDA2Q0JFQzYgLyogRnJhbWVJbmZvRGF0YS5oICovOyB9OwotCQkxQTE1
ODQxOTE4OTA0NEY1MDAxNzYxNkMgLyogV0tQcm9jZXNzUG9vbC5tbSBpbiBTb3VyY2VzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDFBMTU4NDE3MTg5MDQ0RjUwMDE3NjE2QyAv
KiBXS1Byb2Nlc3NQb29sLm1tICovOyB9OwogCQkxQTE1ODQxQTE4OTA0NEY1MDAxNzYxNkMgLyog
V0tQcm9jZXNzUG9vbC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gMUExNTg0MTgxODkwNDRGNTAwMTc2MTZDIC8qIFdLUHJvY2Vzc1Bvb2wuaCAqLzsgc2V0
dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQdWJsaWMsICk7IH07IH07CiAJCTFBMTc5NzdGMTM3RUU4
MkMwMEY5N0Q0NSAvKiBQbHVnaW5DcmVhdGlvblBhcmFtZXRlcnMuY3BwIGluIFNvdXJjZXMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMUExNzk3N0QxMzdFRTgyQzAwRjk3RDQ1
IC8qIFBsdWdpbkNyZWF0aW9uUGFyYW1ldGVycy5jcHAgKi87IH07CiAJCTFBMTc5NzgwMTM3RUU4
MkMwMEY5N0Q0NSAvKiBQbHVnaW5DcmVhdGlvblBhcmFtZXRlcnMuaCBpbiBIZWFkZXJzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDFBMTc5NzdFMTM3RUU4MkMwMEY5N0Q0NSAv
KiBQbHVnaW5DcmVhdGlvblBhcmFtZXRlcnMuaCAqLzsgfTsKLQkJMUExQjBFQjUxOEE0MjQ5NTAw
Mzg0ODFBIC8qIFdLTmF2aWdhdGlvblJlc3BvbnNlLm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMUExQjBFQjMxOEE0MjQ5NTAwMzg0ODFBIC8qIFdLTmF2
aWdhdGlvblJlc3BvbnNlLm1tICovOyB9OwogCQkxQTFCMEVCNjE4QTQyNDk1MDAzODQ4MUEgLyog
V0tOYXZpZ2F0aW9uUmVzcG9uc2UuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IDFBMUIwRUI0MThBNDI0OTUwMDM4NDgxQSAvKiBXS05hdmlnYXRpb25SZXNw
b25zZS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFB1YmxpYywgKTsgfTsgfTsKIAkJ
MUExQjBFQjgxOEE0MjRDRDAwMzg0ODFBIC8qIFdLTmF2aWdhdGlvblJlc3BvbnNlSW50ZXJuYWwu
aCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDFBMUIwRUI3
MThBNDI0Q0QwMDM4NDgxQSAvKiBXS05hdmlnYXRpb25SZXNwb25zZUludGVybmFsLmggKi87IH07
CiAJCTFBMUQ4QkEyMTczMUEzNjMwMDE0MURBNCAvKiBMb2NhbFN0b3JhZ2VEYXRhYmFzZS5oIGlu
IEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMUExRDhCQTAxNzMx
QTM2MzAwMTQxREE0IC8qIExvY2FsU3RvcmFnZURhdGFiYXNlLmggKi87IH07CkBAIC0xNTgsNyAr
MTU1LDYgQEAKIAkJMUEyNDY0RjMxODkxRTQ1MTAwMjM0QzVCIC8qIEFQSUxvYWRlckNsaWVudC5o
IGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMUEyNDY0RjIx
ODkxRTQ1MTAwMjM0QzVCIC8qIEFQSUxvYWRlckNsaWVudC5oICovOyB9OwogCQkxQTI0QjVGMzEx
RjUzMUU4MDBDMzgyNjkgLyogTWFjaFV0aWxpdGllcy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMUEyNEI1RjExMUY1MzFFODAwQzM4MjY5IC8qIE1hY2hV
dGlsaXRpZXMuaCAqLzsgfTsKIAkJMUEyNEJFRDUxMjA4OTREMTAwRkJCMDU5IC8qIFNoYXJlZE1l
bW9yeS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMUEy
NEJFRDMxMjA4OTREMTAwRkJCMDU5IC8qIFNoYXJlZE1lbW9yeS5oICovOyB9OwotCQkxQTI1NkUz
NzE4QTFBNzg4MDA2RkI5MjIgLyogV0tOYXZpZ2F0aW9uQWN0aW9uLm1tIGluIFNvdXJjZXMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMUEyNTZFMzUxOEExQTc4ODAwNkZCOTIy
IC8qIFdLTmF2aWdhdGlvbkFjdGlvbi5tbSAqLzsgfTsKIAkJMUEyNTZFMzgxOEExQTc4ODAwNkZC
OTIyIC8qIFdLTmF2aWdhdGlvbkFjdGlvbi5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gMUEyNTZFMzYxOEExQTc4ODAwNkZCOTIyIC8qIFdLTmF2aWdhdGlv
bkFjdGlvbi5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFB1YmxpYywgKTsgfTsgfTsK
IAkJMUEyNTZFM0ExOEExQTdERjAwNkZCOTIyIC8qIFdLTmF2aWdhdGlvbkFjdGlvbkludGVybmFs
LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxQTI1NkUz
OTE4QTFBN0RGMDA2RkI5MjIgLyogV0tOYXZpZ2F0aW9uQWN0aW9uSW50ZXJuYWwuaCAqLzsgfTsK
IAkJMUEyQkI2RDAxNDExN0I0RDAwMEYzNUQ0IC8qIFBsdWdpblByb2Nlc3NDb25uZWN0aW9uTWVz
c2FnZVJlY2VpdmVyLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IDFBMkJCNkNFMTQxMTdCNEQwMDBGMzVENCAvKiBQbHVnaW5Qcm9jZXNzQ29ubmVjdGlv
bk1lc3NhZ2VSZWNlaXZlci5jcHAgKi87IH07CkBAIC0xNzcsOSArMTczLDcgQEAKIAkJMUEzMzRE
RUQxNkRFOEY4ODAwNkE4RTM4IC8qIFN0b3JhZ2VBcmVhTWFwTWVzc2FnZVJlY2VpdmVyLmNwcCBp
biBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDFBMzM0REVCMTZE
RThGODgwMDZBOEUzOCAvKiBTdG9yYWdlQXJlYU1hcE1lc3NhZ2VSZWNlaXZlci5jcHAgKi87IH07
CiAJCTFBMzM0REVFMTZERThGODgwMDZBOEUzOCAvKiBTdG9yYWdlQXJlYU1hcE1lc3NhZ2VzLmgg
aW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxQTMzNERFQzE2
REU4Rjg4MDA2QThFMzggLyogU3RvcmFnZUFyZWFNYXBNZXNzYWdlcy5oICovOyB9OwogCQkxQTM2
MzVBQTFBMzE0NEEzMDBFRDYxOTcgLyogQVBJV2Vic2l0ZURhdGFTdG9yZS5oIGluIEhlYWRlcnMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMUEzNjM1QTgxQTMxNDRBMzAwRUQ2
MTk3IC8qIEFQSVdlYnNpdGVEYXRhU3RvcmUuaCAqLzsgfTsKLQkJMUEzNjM1QUQxQTMxNDVFNTAw
RUQ2MTk3IC8qIEFQSVdlYnNpdGVEYXRhU3RvcmVDb2NvYS5tbSBpbiBTb3VyY2VzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDFBMzYzNUFCMUEzMTQ1RTUwMEVENjE5NyAvKiBB
UElXZWJzaXRlRGF0YVN0b3JlQ29jb2EubW0gKi87IH07CiAJCTFBM0M4ODgwMThBNUFCQUUwMEM0
Qzk2MiAvKiBXS1ByZWZlcmVuY2VzSW50ZXJuYWwuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDFBM0M4ODdGMThBNUFCQUUwMEM0Qzk2MiAvKiBXS1ByZWZl
cmVuY2VzSW50ZXJuYWwuaCAqLzsgfTsKLQkJMUEzQ0MxNjYxODkwNkFDRjAwMUU2RUQ4IC8qIFdL
V2ViVmlldy5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IDFBM0NDMTY0MTg5MDZBQ0YwMDFFNkVEOCAvKiBXS1dlYlZpZXcubW0gKi87IH07CiAJCTFBM0ND
MTY3MTg5MDZBQ0YwMDFFNkVEOCAvKiBXS1dlYlZpZXcuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDFBM0NDMTY1MTg5MDZBQ0YwMDFFNkVEOCAvKiBXS1dl
YlZpZXcuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQdWJsaWMsICk7IH07IH07CiAJ
CTFBM0NDMTY5MTg5MDdFQjAwMDFFNkVEOCAvKiBXS1Byb2Nlc3NQb29sSW50ZXJuYWwuaCBpbiBI
ZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDFBM0NDMTY4MTg5MDdF
QjAwMDFFNkVEOCAvKiBXS1Byb2Nlc3NQb29sSW50ZXJuYWwuaCAqLzsgfTsKIAkJMUEzRDYxMDIx
M0E3Q0MyQTAwRjk1RDRFIC8qIFBsdWdpbk1vZHVsZUluZm8uaCBpbiBIZWFkZXJzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDFBM0Q2MTAwMTNBN0NDMkEwMEY5NUQ0RSAvKiBQ
bHVnaW5Nb2R1bGVJbmZvLmggKi87IH07CkBAIC0xODgsMTQgKzE4MiwxMiBAQAogCQkxQTNFRUQw
RjE2MUE1MzU0MDBBRUI0RjUgLyogTWVzc2FnZVJlY2VpdmVyTWFwLmggaW4gSGVhZGVycyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxQTNFRUQwRDE2MUE1MzUzMDBBRUI0RjUg
LyogTWVzc2FnZVJlY2VpdmVyTWFwLmggKi87IH07CiAJCTFBM0VFRDEyMTYxQTUzRDYwMEFFQjRG
NSAvKiBNZXNzYWdlUmVjZWl2ZXIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IDFBM0VFRDExMTYxQTUzRDYwMEFFQjRGNSAvKiBNZXNzYWdlUmVjZWl2ZXIu
aCAqLzsgfTsKIAkJMUE0MjJGOEIxOEIyOUI1NDAwRDhDRDk2IC8qIFdLSGlzdG9yeURlbGVnYXRl
UHJpdmF0ZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
MUE0MjJGOEExOEIyOUI1NDAwRDhDRDk2IC8qIFdLSGlzdG9yeURlbGVnYXRlUHJpdmF0ZS5oICov
OyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07Ci0JCTFBNDNFODI5
MTg4RjNDREMwMDlFNEQzMCAvKiBfV0tQcm9jZXNzUG9vbENvbmZpZ3VyYXRpb24ubW0gaW4gU291
cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxQTQzRTgyNzE4OEYzQ0RD
MDA5RTREMzAgLyogX1dLUHJvY2Vzc1Bvb2xDb25maWd1cmF0aW9uLm1tICovOyB9OwogCQkxQTQz
RTgyQTE4OEYzQ0RDMDA5RTREMzAgLyogX1dLUHJvY2Vzc1Bvb2xDb25maWd1cmF0aW9uLmggaW4g
SGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxQTQzRTgyODE4OEYz
Q0RDMDA5RTREMzAgLyogX1dLUHJvY2Vzc1Bvb2xDb25maWd1cmF0aW9uLmggKi87IHNldHRpbmdz
ID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJMUE0NDVCOUYxODRENUZCNTAw
NEIzNDE0IC8qIFdLQ29udGV4dEluamVjdGVkQnVuZGxlQ2xpZW50LmggaW4gSGVhZGVycyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxQTQ0NUI5RTE4NEQ1RkI1MDA0QjM0MTQg
LyogV0tDb250ZXh0SW5qZWN0ZWRCdW5kbGVDbGllbnQuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklC
VVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQkxQTQ0NUJBMTE4NEQ1RkMxMDA0QjM0MTQgLyog
V0tDb250ZXh0SGlzdG9yeUNsaWVudC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gMUE0NDVCQTAxODRENUZDMTAwNEIzNDE0IC8qIFdLQ29udGV4dEhpc3Rv
cnlDbGllbnQuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9
OwogCQkxQTQ0NUJBMzE4NEQ1RkNGMDA0QjM0MTQgLyogV0tDb250ZXh0RG93bmxvYWRDbGllbnQu
aCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDFBNDQ1QkEy
MTg0RDVGQ0YwMDRCMzQxNCAvKiBXS0NvbnRleHREb3dubG9hZENsaWVudC5oICovOyBzZXR0aW5n
cyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTFBNDQ1QkE1MTg0RDVGREEw
MDRCMzQxNCAvKiBXS0NvbnRleHRDb25uZWN0aW9uQ2xpZW50LmggaW4gSGVhZGVycyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxQTQ0NUJBNDE4NEQ1RkRBMDA0QjM0MTQgLyog
V0tDb250ZXh0Q29ubmVjdGlvbkNsaWVudC5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0g
KFByaXZhdGUsICk7IH07IH07CiAJCTFBNDRCOTVDMTZCNzNGOUYwMEI3QkJEOCAvKiBTdG9yYWdl
TWFuYWdlci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
MUE0NEI5NUExNkI3M0Y5RjAwQjdCQkQ4IC8qIFN0b3JhZ2VNYW5hZ2VyLmggKi87IH07Ci0JCTFB
NDgzMkNCMUE5QkM0NjUwMDhCNERGRSAvKiBXS1dlYnNpdGVEYXRhUmVjb3JkLm1tIGluIFNvdXJj
ZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMUE0ODMyQzkxQTlCQzQ2NTAw
OEI0REZFIC8qIFdLV2Vic2l0ZURhdGFSZWNvcmQubW0gKi87IH07CiAJCTFBNDgzMkNDMUE5QkM0
NjUwMDhCNERGRSAvKiBXS1dlYnNpdGVEYXRhUmVjb3JkLmggaW4gSGVhZGVycyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxQTQ4MzJDQTFBOUJDNDY1MDA4QjRERkUgLyogV0tX
ZWJzaXRlRGF0YVJlY29yZC5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFB1YmxpYywg
KTsgfTsgfTsKIAkJMUE0ODMyQ0UxQTlCQzQ4NDAwOEI0REZFIC8qIFdLV2Vic2l0ZURhdGFSZWNv
cmRJbnRlcm5hbC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gMUE0ODMyQ0QxQTlCQzQ4NDAwOEI0REZFIC8qIFdLV2Vic2l0ZURhdGFSZWNvcmRJbnRlcm5h
bC5oICovOyB9OwogCQkxQTQ4MzJEMTFBOUJEQzJGMDA4QjRERkUgLyogV2Vic2l0ZURhdGFSZWNv
cmQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDFBNDgz
MkNGMUE5QkQ4MjEwMDhCNERGRSAvKiBXZWJzaXRlRGF0YVJlY29yZC5oICovOyB9OwpAQCAtMjA0
LDE3ICsxOTYsMTMgQEAKIAkJMUE0QTlDNTYxMkI4MTZDRjAwOEZFOTg0IC8qIE5ldHNjYXBlUGx1
Z2luTW9kdWxlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSAxQTRBOUM1NDEyQjgxNkNGMDA4RkU5ODQgLyogTmV0c2NhcGVQbHVnaW5Nb2R1bGUuaCAqLzsg
fTsKIAkJMUE0QTlGMzMxMkI4NDRFMjAwOEZFOTg0IC8qIFBsdWdpblF1aXJrcy5oIGluIEhlYWRl
cnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMUE0QTlGMzExMkI4NDRFMjAw
OEZFOTg0IC8qIFBsdWdpblF1aXJrcy5oICovOyB9OwogCQkxQTRENjY0ODE4QTJEOTFBMDBEODJF
MjEgLyogQVBJVUlDbGllbnQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IDFBNEQ2NjQ3MThBMkQ5MUEwMEQ4MkUyMSAvKiBBUElVSUNsaWVudC5oICovOyB9
OwotCQkxQTRENjY0QjE4QTMwMzBFMDBEODJFMjEgLyogV0tGcmFtZUluZm8ubW0gaW4gU291cmNl
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxQTRENjY0OTE4QTMwMzBFMDBE
ODJFMjEgLyogV0tGcmFtZUluZm8ubW0gKi87IH07CiAJCTFBNEQ2NjRDMThBMzAzMEUwMEQ4MkUy
MSAvKiBXS0ZyYW1lSW5mby5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gMUE0RDY2NEExOEEzMDMwRTAwRDgyRTIxIC8qIFdLRnJhbWVJbmZvLmggKi87IHNl
dHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHVibGljLCApOyB9OyB9OwogCQkxQTUyQzBGODFBMzhD
REM3MDAxNjE2MEEgLyogV2ViU3RvcmFnZU5hbWVzcGFjZVByb3ZpZGVyLmggaW4gSGVhZGVycyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxQTUyQzBGNjFBMzhDREM3MDAxNjE2
MEEgLyogV2ViU3RvcmFnZU5hbWVzcGFjZVByb3ZpZGVyLmggKi87IH07CiAJCTFBNTNDMkFBMUEz
MjU3MzAwMDRFOEM3MCAvKiBXZWJzaXRlRGF0YVN0b3JlLmggaW4gSGVhZGVycyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxQTUzQzJBNTFBMzI1NjlGMDA0RThDNzAgLyogV2Vi
c2l0ZURhdGFTdG9yZS5oICovOyB9OwotCQkxQTU3MDRGNzFCRTAxRkY0MDA4NzRBRjEgLyogX1dL
Q29udGV4dE1lbnVFbGVtZW50SW5mby5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IDFBNTcwNEY1MUJFMDFGRjQwMDg3NEFGMSAvKiBfV0tDb250ZXh0TWVu
dUVsZW1lbnRJbmZvLm1tICovOyB9OwogCQkxQTU3MDRGODFCRTAxRkY0MDA4NzRBRjEgLyogX1dL
Q29udGV4dE1lbnVFbGVtZW50SW5mby5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gMUE1NzA0RjYxQkUwMUZGNDAwODc0QUYxIC8qIF9XS0NvbnRleHRNZW51
RWxlbWVudEluZm8uaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9
OyB9OwotCQkxQTU3MDRGQjFCRTE3NTExMDA4NzRBRjEgLyogUmVtb3RlT2JqZWN0SW52b2NhdGlv
bi5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDFBNTcw
NEY5MUJFMTc1MTEwMDg3NEFGMSAvKiBSZW1vdGVPYmplY3RJbnZvY2F0aW9uLm1tICovOyB9Owog
CQkxQTU3MDRGQzFCRTE3NTExMDA4NzRBRjEgLyogUmVtb3RlT2JqZWN0SW52b2NhdGlvbi5oIGlu
IEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMUE1NzA0RkExQkUx
NzUxMTAwODc0QUYxIC8qIFJlbW90ZU9iamVjdEludm9jYXRpb24uaCAqLzsgfTsKIAkJMUE1NzA1
MTExQkU0MTBFNjAwODc0QUYxIC8qIEJsb2NrU1BJLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxQTU3MDUxMDFCRTQxMEU1MDA4NzRBRjEgLyogQmxvY2tT
UEkuaCAqLzsgfTsKIAkJMUE1NzEwOUYxQUJBMDAyNzAwMkZBQkJFIC8qIFdLV2Vic2l0ZURhdGFT
dG9yZVJlZi5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
MUE1NzEwOUQxQUJBMDAyNzAwMkZBQkJFIC8qIFdLV2Vic2l0ZURhdGFTdG9yZVJlZi5oICovOyBz
ZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07Ci0JCTFBNUIxQzUwMTg5
ODYwNkYwMDRGQ0Y5QiAvKiBXS05hdmlnYXRpb24ubW0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxQTVCMUM0RTE4OTg2MDZGMDA0RkNGOUIgLyogV0tOYXZp
Z2F0aW9uLm1tICovOyB9OwogCQkxQTVCMUM1MTE4OTg2MDZGMDA0RkNGOUIgLyogV0tOYXZpZ2F0
aW9uLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxQTVC
MUM0RjE4OTg2MDZGMDA0RkNGOUIgLyogV0tOYXZpZ2F0aW9uLmggKi87IHNldHRpbmdzID0ge0FU
VFJJQlVURVMgPSAoUHVibGljLCApOyB9OyB9OwogCQkxQTVCMUM1NTE4OTg3RURGMDA0RkNGOUIg
LyogV2ViRG9jdW1lbnRMb2FkZXIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IDFBNUIxQzUzMTg5ODdFREYwMDRGQ0Y5QiAvKiBXZWJEb2N1bWVudExvYWRl
ci5oICovOyB9OwogCQkxQTVFNERBNDEyRDNCRDNEMDA5OUEyQkIgLyogVGV4dENoZWNrZXJTdGF0
ZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMUE1RTRE
QTMxMkQzQkQzRDAwOTlBMkJCIC8qIFRleHRDaGVja2VyU3RhdGUuaCAqLzsgfTsKQEAgLTI0Myw5
ICsyMzEsNyBAQAogCQkxQTc4NjVCQTE2Q0FDNzE1MDBBQ0U4M0EgLyogUGx1Z2luUHJvY2Vzc0Nv
bm5lY3Rpb25NYW5hZ2VyTWVzc2FnZXMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IDFBNzg2NUI4MTZDQUM3MTUwMEFDRTgzQSAvKiBQbHVnaW5Qcm9jZXNz
Q29ubmVjdGlvbk1hbmFnZXJNZXNzYWdlcy5oICovOyB9OwogCQkxQTdDMERGNzFCN0QxRjEwMDBB
OUI4NDggLyogV0tXaW5kb3dGZWF0dXJlc1JlZi5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gMUE3QzBERjUxQjdEMUYxMDAwQTlCODQ4IC8qIFdLV2luZG93
RmVhdHVyZXNSZWYuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9
OyB9OwogCQkxQTdFMzc3NTE4RTRBMzNBMDAzRDBGRkYgLyogV0tTY3JpcHRNZXNzYWdlSGFuZGxl
ci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMUE3RTM3
NzQxOEU0QTMzQTAwM0QwRkZGIC8qIFdLU2NyaXB0TWVzc2FnZUhhbmRsZXIuaCAqLzsgc2V0dGlu
Z3MgPSB7QVRUUklCVVRFUyA9IChQdWJsaWMsICk7IH07IH07Ci0JCTFBN0UzNzc4MThFNEE0RkUw
MDNEMEZGRiAvKiBXS1NjcmlwdE1lc3NhZ2UubW0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSAxQTdFMzc3NjE4RTRBNEZFMDAzRDBGRkYgLyogV0tTY3JpcHRN
ZXNzYWdlLm1tICovOyB9OwogCQkxQTdFMzc3OTE4RTRBNEZFMDAzRDBGRkYgLyogV0tTY3JpcHRN
ZXNzYWdlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAx
QTdFMzc3NzE4RTRBNEZFMDAzRDBGRkYgLyogV0tTY3JpcHRNZXNzYWdlLmggKi87IHNldHRpbmdz
ID0ge0FUVFJJQlVURVMgPSAoUHVibGljLCApOyB9OyB9OwotCQkxQTgxQjM4MDE4QkQ2NkFEMDAw
N0ZEQUMgLyogX1dLVmlzaXRlZExpbmtTdG9yZS5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDFBODFCMzdFMThCRDY2QUQwMDA3RkRBQyAvKiBfV0tWaXNp
dGVkTGlua1N0b3JlLm1tICovOyB9OwogCQkxQTgxQjM4MTE4QkQ2NkFEMDAwN0ZEQUMgLyogX1dL
VmlzaXRlZExpbmtTdG9yZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gMUE4MUIzN0YxOEJENjZBRDAwMDdGREFDIC8qIF9XS1Zpc2l0ZWRMaW5rU3RvcmUu
aCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQkxQTgx
QjM4NTE4QkQ2NzNBMDAwN0ZEQUMgLyogX1dLVmlzaXRlZExpbmtTdG9yZUludGVybmFsLmggaW4g
SGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxQTgxQjM4NDE4QkQ2
NzNBMDAwN0ZEQUMgLyogX1dLVmlzaXRlZExpbmtTdG9yZUludGVybmFsLmggKi87IH07CiAJCTFB
ODVFNDcyMUUzMDNGMzcwMDkxNDU5OSAvKiBXZWJLaXQuYXBpbm90ZXMgaW4gSGVhZGVycyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxQTg1RTQ3MDFFMzAzRjI0MDA5MTQ1OTkg
LyogV2ViS2l0LmFwaW5vdGVzICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFB1YmxpYywg
KTsgfTsgfTsKQEAgLTI2NCwxMiArMjUwLDggQEAKIAkJMUE5MEMxRjQxMjY0RkQ3MTAwM0U0NEQ0
IC8qIEZpbmRDb250cm9sbGVyLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSAxQTkwQzFGMjEyNjRGRDcxMDAzRTQ0RDQgLyogRmluZENvbnRyb2xsZXIuaCAq
LzsgfTsKIAkJMUE5MkRDMTExMkY4QkE0NjAwMTdBRjY1IC8qIExheWVyVHJlZUNvbnRleHQuaCBp
biBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDFBOTJEQzEwMTJG
OEJBNDYwMDE3QUY2NSAvKiBMYXllclRyZWVDb250ZXh0LmggKi87IH07CiAJCTFBOUUzMjg5MTgy
MTYzNjkwMEY1RDA0QyAvKiBfV0tSZW1vdGVPYmplY3RSZWdpc3RyeS5oIGluIEhlYWRlcnMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMUE5RTMyODcxODIxNjM2OTAwRjVEMDRD
IC8qIF9XS1JlbW90ZU9iamVjdFJlZ2lzdHJ5LmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMg
PSAoUHJpdmF0ZSwgKTsgfTsgfTsKLQkJMUE5RTMyOEExODIxNjM2OTAwRjVEMDRDIC8qIF9XS1Jl
bW90ZU9iamVjdFJlZ2lzdHJ5Lm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gMUE5RTMyODgxODIxNjM2OTAwRjVEMDRDIC8qIF9XS1JlbW90ZU9iamVjdFJl
Z2lzdHJ5Lm1tICovOyB9OwogCQkxQTlFMzI4RDE4MjE2NUE5MDBGNUQwNEMgLyogX1dLUmVtb3Rl
T2JqZWN0SW50ZXJmYWNlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSAxQTlFMzI4QjE4MjE2NUE5MDBGNUQwNEMgLyogX1dLUmVtb3RlT2JqZWN0SW50ZXJm
YWNlLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKLQkJ
MUE5RTMyOEUxODIxNjVBOTAwRjVEMDRDIC8qIF9XS1JlbW90ZU9iamVjdEludGVyZmFjZS5tbSBp
biBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDFBOUUzMjhDMTgy
MTY1QTkwMEY1RDA0QyAvKiBfV0tSZW1vdGVPYmplY3RJbnRlcmZhY2UubW0gKi87IH07Ci0JCTFB
OUUzMjlBMTgyMkUxQ0MwMEY1RDA0QyAvKiBXS1JlbW90ZU9iamVjdC5tbSBpbiBTb3VyY2VzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDFBOUUzMjk4MTgyMkUxQ0MwMEY1RDA0
QyAvKiBXS1JlbW90ZU9iamVjdC5tbSAqLzsgfTsKIAkJMUE5RTMyOUIxODIyRTFDQzAwRjVEMDRD
IC8qIFdLUmVtb3RlT2JqZWN0LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSAxQTlFMzI5OTE4MjJFMUNDMDBGNUQwNEMgLyogV0tSZW1vdGVPYmplY3QuaCAq
LzsgfTsKLQkJMUE5RTMyOUUxODIyRkVERDAwRjVEMDRDIC8qIFdLUmVtb3RlT2JqZWN0Q29kZXIu
bW0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxQTlFMzI5
QzE4MjJGRUREMDBGNUQwNEMgLyogV0tSZW1vdGVPYmplY3RDb2Rlci5tbSAqLzsgfTsKIAkJMUE5
RTMyOUYxODIyRkVERDAwRjVEMDRDIC8qIFdLUmVtb3RlT2JqZWN0Q29kZXIuaCBpbiBIZWFkZXJz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDFBOUUzMjlEMTgyMkZFREQwMEY1
RDA0QyAvKiBXS1JlbW90ZU9iamVjdENvZGVyLmggKi87IH07CiAJCTFBOUUzMkExMTgyMzAxODkw
MEY1RDA0QyAvKiBfV0tSZW1vdGVPYmplY3RSZWdpc3RyeUludGVybmFsLmggaW4gSGVhZGVycyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxQTlFMzJBMDE4MjMwMTg5MDBGNUQw
NEMgLyogX1dLUmVtb3RlT2JqZWN0UmVnaXN0cnlJbnRlcm5hbC5oICovOyB9OwogCQkxQTlGQkE4
RDEzRkYwNEU2MDBERUVENjcgLyogUGx1Z2luQ29tcGxleFRleHRJbnB1dFN0YXRlLmggaW4gSGVh
ZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxQTlGQkE4QzEzRkYwNEU2
MDBERUVENjcgLyogUGx1Z2luQ29tcGxleFRleHRJbnB1dFN0YXRlLmggKi87IH07CkBAIC0yOTAs
NyArMjcyLDYgQEAKIAkJMUFBQjAzN0ExODVBN0M2QTAwRURGNTAxIC8qIE1lc3NhZ2VTZW5kZXIu
aCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDFBQUIwMzc4
MTg1QTdDNkEwMEVERjUwMSAvKiBNZXNzYWdlU2VuZGVyLmggKi87IH07CiAJCTFBQUI0QThEMTI5
NkYwQTIwMDIzOTUyRiAvKiBTYW5kYm94RXh0ZW5zaW9uLmggaW4gSGVhZGVycyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxQUFCNEE4QzEyOTZGMEEyMDAyMzk1MkYgLyogU2Fu
ZGJveEV4dGVuc2lvbi5oICovOyB9OwogCQkxQUFCRkUzQTE4MjlDMUVEMDA1QjA3MEUgLyogX1dL
UmVtb3RlT2JqZWN0SW50ZXJmYWNlSW50ZXJuYWwuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDFBQUJGRTM5MTgyOUMxRUQwMDVCMDcwRSAvKiBfV0tSZW1v
dGVPYmplY3RJbnRlcmZhY2VJbnRlcm5hbC5oICovOyB9OwotCQkxQUFGMDg5QTE5MjY3RUU1MDBC
NjM5MEMgLyogV0tVc2VyU2NyaXB0Lm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gMUFBRjA4OTgxOTI2N0VFNTAwQjYzOTBDIC8qIFdLVXNlclNjcmlwdC5t
bSAqLzsgfTsKIAkJMUFBRjA4OUIxOTI2N0VFNTAwQjYzOTBDIC8qIFdLVXNlclNjcmlwdC5oIGlu
IEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMUFBRjA4OTkxOTI2
N0VFNTAwQjYzOTBDIC8qIFdLVXNlclNjcmlwdC5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVT
ID0gKFB1YmxpYywgKTsgfTsgfTsKIAkJMUFBRjA4OUQxOTI2N0ZDODAwQjYzOTBDIC8qIFdLVXNl
clNjcmlwdEludGVybmFsLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSAxQUFGMDg5QzE5MjY3RkM4MDBCNjM5MEMgLyogV0tVc2VyU2NyaXB0SW50ZXJuYWwu
aCAqLzsgfTsKIAkJMUFBRjA4QTIxOTI2ODFEMTAwQjYzOTBDIC8qIFdlYlVzZXJDb250ZW50Q29u
dHJvbGxlclByb3h5LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSAxQUFGMDhBMDE5MjY4MUQxMDBCNjM5MEMgLyogV2ViVXNlckNvbnRlbnRDb250cm9sbGVy
UHJveHkuaCAqLzsgfTsKQEAgLTMxMSw3ICsyOTIsNiBAQAogCQkxQUIxRjc5OTFEMUIzNjEzMDA3
QzlCRDEgLyogV2ViUGF5bWVudENvb3JkaW5hdG9yUHJveHlNZXNzYWdlcy5oIGluIEhlYWRlcnMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMUFCMUY3OTUxRDFCMzYxMzAwN0M5
QkQxIC8qIFdlYlBheW1lbnRDb29yZGluYXRvclByb3h5TWVzc2FnZXMuaCAqLzsgfTsKIAkJMUFC
MzFBOTYxNkJDNjg4MTAwRjZEQkM5IC8qIFN0b3JhZ2VNYW5hZ2VyTWVzc2FnZVJlY2VpdmVyLmNw
cCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDFBQjMxQTk0
MTZCQzY4ODEwMEY2REJDOSAvKiBTdG9yYWdlTWFuYWdlck1lc3NhZ2VSZWNlaXZlci5jcHAgKi87
IH07CiAJCTFBQjMxQTk3MTZCQzY4ODEwMEY2REJDOSAvKiBTdG9yYWdlTWFuYWdlck1lc3NhZ2Vz
LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxQUIzMUE5
NTE2QkM2ODgxMDBGNkRCQzkgLyogU3RvcmFnZU1hbmFnZXJNZXNzYWdlcy5oICovOyB9OwotCQkx
QUI0MEVFNTFCRjY3N0UzMDBCQTgxQkUgLyogV0tNZW51SXRlbUlkZW50aWZpZXJzLm1tIGluIFNv
dXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMUFCNDBFRTMxQkY2NzdF
MzAwQkE4MUJFIC8qIFdLTWVudUl0ZW1JZGVudGlmaWVycy5tbSAqLzsgfTsKIAkJMUFCNDBFRTYx
QkY2NzdFMzAwQkE4MUJFIC8qIFdLTWVudUl0ZW1JZGVudGlmaWVyc1ByaXZhdGUuaCBpbiBIZWFk
ZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDFBQjQwRUU0MUJGNjc3RTMw
MEJBODFCRSAvKiBXS01lbnVJdGVtSWRlbnRpZmllcnNQcml2YXRlLmggKi87IHNldHRpbmdzID0g
e0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJMUFCNDc0RDgxODRENDNGRDAwNTFC
NjIyIC8qIFdLQnVuZGxlUGFnZUxvYWRlckNsaWVudC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMUFCNDc0RDcxODRENDNGRDAwNTFCNjIyIC8qIFdLQnVu
ZGxlUGFnZUxvYWRlckNsaWVudC5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZh
dGUsICk7IH07IH07CiAJCTFBQjQ3NERBMTg0RDQ0MjUwMDUxQjYyMiAvKiBXS0J1bmRsZVBhZ2VS
ZXNvdXJjZUxvYWRDbGllbnQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IDFBQjQ3NEQ5MTg0RDQ0MjUwMDUxQjYyMiAvKiBXS0J1bmRsZVBhZ2VSZXNvdXJj
ZUxvYWRDbGllbnQuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9
OyB9OwpAQCAtMzM4LDcgKzMxOCw2IEBACiAJCTFBQzEzMzY4MTg1NjVCNTcwMEYzRUMwNSAvKiBV
c2VyRGF0YS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
MUFDMTMzNjYxODU2NUI1NzAwRjNFQzA1IC8qIFVzZXJEYXRhLmggKi87IH07CiAJCTFBQzEzMzZD
MTg1NjVDN0EwMEYzRUMwNSAvKiBBUElQYWdlSGFuZGxlLmggaW4gSGVhZGVycyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxQUMxMzM2QjE4NTY1QzdBMDBGM0VDMDUgLyogQVBJ
UGFnZUhhbmRsZS5oICovOyB9OwogCQkxQUMxMzM3MjE4NTY2QzdDMDBGM0VDMDUgLyogQVBJRnJh
bWVIYW5kbGUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IDFBQzEzMzcwMTg1NjZDN0MwMEYzRUMwNSAvKiBBUElGcmFtZUhhbmRsZS5oICovOyB9OwotCQkx
QUMxMzM3RjE4NTkwQUU0MDBGM0VDMDUgLyogUmVtb3RlT2JqZWN0UmVnaXN0cnkubW0gaW4gU291
cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxQUMxMzM3RDE4NTkwQUU0
MDBGM0VDMDUgLyogUmVtb3RlT2JqZWN0UmVnaXN0cnkubW0gKi87IH07CiAJCTFBQzEzMzgwMTg1
OTBBRTQwMEYzRUMwNSAvKiBSZW1vdGVPYmplY3RSZWdpc3RyeS5oIGluIEhlYWRlcnMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMUFDMTMzN0UxODU5MEFFNDAwRjNFQzA1IC8q
IFJlbW90ZU9iamVjdFJlZ2lzdHJ5LmggKi87IH07CiAJCTFBQzEzMzg1MTg1OTBDNDYwMEYzRUMw
NSAvKiBSZW1vdGVPYmplY3RSZWdpc3RyeU1lc3NhZ2VSZWNlaXZlci5jcHAgaW4gU291cmNlcyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxQUMxMzM4MzE4NTkwQzQ2MDBGM0VD
MDUgLyogUmVtb3RlT2JqZWN0UmVnaXN0cnlNZXNzYWdlUmVjZWl2ZXIuY3BwICovOyB9OwogCQkx
QUMxMzM4NjE4NTkwQzQ2MDBGM0VDMDUgLyogUmVtb3RlT2JqZWN0UmVnaXN0cnlNZXNzYWdlcy5o
IGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMUFDMTMzODQx
ODU5MEM0NjAwRjNFQzA1IC8qIFJlbW90ZU9iamVjdFJlZ2lzdHJ5TWVzc2FnZXMuaCAqLzsgfTsK
QEAgLTM0OSwzMCArMzI4LDI0IEBACiAJCTFBQzc1MzdDMTgzQTlGREIwMDcyQ0IxNSAvKiBQYWdl
TG9hZFN0YXRlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSAxQUM3NTM3QTE4M0E5RkRCMDA3MkNCMTUgLyogUGFnZUxvYWRTdGF0ZS5oICovOyB9OwogCQkx
QUM3NTM4MDE4M0JFNTBGMDA3MkNCMTUgLyogRGF0YVJlZmVyZW5jZS5oIGluIEhlYWRlcnMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMUFDNzUzN0UxODNCRTUwRjAwNzJDQjE1
IC8qIERhdGFSZWZlcmVuY2UuaCAqLzsgfTsKIAkJMUFDNzVBMUIxQjMzNjgyNzAwNTY3NDVCIC8q
IEhhbmdEZXRlY3Rpb25EaXNhYmxlci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gMUFDNzVBMUExQjMzNjgyNzAwNTY3NDVCIC8qIEhhbmdEZXRlY3Rpb25E
aXNhYmxlci5oICovOyB9OwotCQkxQUNDNTBGMTFDQkMzODFEMDAzQzdEMDMgLyogV0tPcGVuUGFu
ZWxQYXJhbWV0ZXJzLm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gMUFDQzUwRUYxQ0JDMzgxRDAwM0M3RDAzIC8qIFdLT3BlblBhbmVsUGFyYW1ldGVycy5t
bSAqLzsgfTsKIAkJMUFDQzUwRjIxQ0JDMzgxRDAwM0M3RDAzIC8qIFdLT3BlblBhbmVsUGFyYW1l
dGVycy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMUFD
QzUwRjAxQ0JDMzgxRDAwM0M3RDAzIC8qIFdLT3BlblBhbmVsUGFyYW1ldGVycy5oICovOyBzZXR0
aW5ncyA9IHtBVFRSSUJVVEVTID0gKFB1YmxpYywgKTsgfTsgfTsKIAkJMUFDQzg3QkExOTgxQzM0
MTAwM0QxQUY0IC8qIFdLTmF2aWdhdGlvblByaXZhdGUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDFBQ0M4N0I5MTk4MUMzNDEwMDNEMUFGNCAvKiBXS05h
dmlnYXRpb25Qcml2YXRlLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwg
KTsgfTsgfTsKIAkJMUFDRUNEMjUxNzE2MkRCMTAwMUZDOUVGIC8qIFN0b3JhZ2VBcmVhTWFwLmgg
aW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxQUNFQ0QyMzE3
MTYyREIxMDAxRkM5RUYgLyogU3RvcmFnZUFyZWFNYXAuaCAqLzsgfTsKLQkJMUFEMDFCQzgxOTA1
RDM3RTAwQzlDNDVGIC8qIF9XS0Vycm9yUmVjb3ZlcnlBdHRlbXB0aW5nLm1tIGluIFNvdXJjZXMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMUFEMDFCQzYxOTA1RDM3RTAwQzlD
NDVGIC8qIF9XS0Vycm9yUmVjb3ZlcnlBdHRlbXB0aW5nLm1tICovOyB9OwogCQkxQUQwMUJDOTE5
MDVEMzdFMDBDOUM0NUYgLyogX1dLRXJyb3JSZWNvdmVyeUF0dGVtcHRpbmcuaCBpbiBIZWFkZXJz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDFBRDAxQkM3MTkwNUQzN0UwMEM5
QzQ1RiAvKiBfV0tFcnJvclJlY292ZXJ5QXR0ZW1wdGluZy5oICovOyBzZXR0aW5ncyA9IHtBVFRS
SUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTFBRDAxQkNEMTkwNUQ1NDkwMEM5QzQ1RiAv
KiBXS1JlbG9hZEZyYW1lRXJyb3JSZWNvdmVyeUF0dGVtcHRlci5oIGluIEhlYWRlcnMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMUFEMDFCQ0IxOTA1RDU0OTAwQzlDNDVGIC8q
IFdLUmVsb2FkRnJhbWVFcnJvclJlY292ZXJ5QXR0ZW1wdGVyLmggKi87IH07CiAJCTFBRDI1RTk2
MTY3QUIwODEwMEVBOUJDRCAvKiBEb3dubG9hZFByb3h5TWFwLmggaW4gSGVhZGVycyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxQUQyNUU5NDE2N0FCMDgxMDBFQTlCQ0QgLyog
RG93bmxvYWRQcm94eU1hcC5oICovOyB9OwogCQkxQUQzMzA2RjE2QjFEOTkxMDA0RjYwRTcgLyog
U3RvcmFnZUFyZWFJbXBsLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSAxQUQzMzA2RDE2QjFEOTkxMDA0RjYwRTcgLyogU3RvcmFnZUFyZWFJbXBsLmggKi87
IH07CiAJCTFBRDRDMTkzMUIzOUYzMzIwMEFCQzI4RSAvKiBBcHBsaWNhdGlvblN0YXRlVHJhY2tl
ci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMUFENEMx
OTExQjM5RjMzMjAwQUJDMjhFIC8qIEFwcGxpY2F0aW9uU3RhdGVUcmFja2VyLmggKi87IH07Ci0J
CTFBRDYwRjVEMThFMjBGNEMwMDIwQzAzNCAvKiBXS1dpbmRvd0ZlYXR1cmVzLm1tIGluIFNvdXJj
ZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMUFENjBGNUIxOEUyMEY0QzAw
MjBDMDM0IC8qIFdLV2luZG93RmVhdHVyZXMubW0gKi87IH07CiAJCTFBRDYwRjVFMThFMjBGNEMw
MDIwQzAzNCAvKiBXS1dpbmRvd0ZlYXR1cmVzLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSAxQUQ2MEY1QzE4RTIwRjRDMDAyMEMwMzQgLyogV0tXaW5kb3dG
ZWF0dXJlcy5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFB1YmxpYywgKTsgfTsgfTsK
IAkJMUFENjBGNjAxOEUyMEY3NDAwMjBDMDM0IC8qIFdLV2luZG93RmVhdHVyZXNJbnRlcm5hbC5o
IGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMUFENjBGNUYx
OEUyMEY3NDAwMjBDMDM0IC8qIFdLV2luZG93RmVhdHVyZXNJbnRlcm5hbC5oICovOyB9OwogCQkx
QUQ4NzkwQTE4QjZDMzhBMDA2Q0FGRDcgLyogV0tVSURlbGVnYXRlLmggaW4gSGVhZGVycyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxQUQ4NzkwOTE4QjZDMzhBMDA2Q0FGRDcg
LyogV0tVSURlbGVnYXRlLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHVibGljLCAp
OyB9OyB9OwogCQkxQURDQjg2QjE4OTgzMUIzMDAyMkVFNUEgLyogTmF2aWdhdGlvbkFjdGlvbkRh
dGEuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDFBRENC
ODY5MTg5ODMxQjMwMDIyRUU1QSAvKiBOYXZpZ2F0aW9uQWN0aW9uRGF0YS5oICovOyB9OwogCQkx
QURFNDZCMzE5NTRFQzYxMDAwRjc5ODUgLyogV0tTZXNzaW9uU3RhdGVSZWYuaCBpbiBIZWFkZXJz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDFBREU0NkIxMTk1NEVDNjEwMDBG
Nzk4NSAvKiBXS1Nlc3Npb25TdGF0ZVJlZi5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0g
KFByaXZhdGUsICk7IH07IH07Ci0JCTFBREY1OTFBMTg5MDUyOEUwMDQzQzE0NSAvKiBXS1dlYlZp
ZXdDb25maWd1cmF0aW9uLm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gMUFERjU5MTgxODkwNTI4RTAwNDNDMTQ1IC8qIFdLV2ViVmlld0NvbmZpZ3VyYXRp
b24ubW0gKi87IH07CiAJCTFBREY1OTFCMTg5MDUyOEUwMDQzQzE0NSAvKiBXS1dlYlZpZXdDb25m
aWd1cmF0aW9uLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSAxQURGNTkxOTE4OTA1MjhFMDA0M0MxNDUgLyogV0tXZWJWaWV3Q29uZmlndXJhdGlvbi5oICov
OyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFB1YmxpYywgKTsgfTsgfTsKLQkJMUFFMDBENEMx
ODJENkVCMDAwMDg3REQ3IC8qIFdLQnJvd3NpbmdDb250ZXh0SGFuZGxlLm1tIGluIFNvdXJjZXMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMUFFMDBENEExODJENkVCMDAwMDg3
REQ3IC8qIFdLQnJvd3NpbmdDb250ZXh0SGFuZGxlLm1tICovOyB9OwogCQkxQUUwMEQ0RDE4MkQ2
RUIwMDAwODdERDcgLyogV0tCcm93c2luZ0NvbnRleHRIYW5kbGUuaCBpbiBIZWFkZXJzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDFBRTAwRDRCMTgyRDZFQjAwMDA4N0RENyAv
KiBXS0Jyb3dzaW5nQ29udGV4dEhhbmRsZS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0g
KFByaXZhdGUsICk7IH07IH07CiAJCTFBRTAwRDRGMTgyRDZGNTAwMDA4N0RENyAvKiBXS0Jyb3dz
aW5nQ29udGV4dEhhbmRsZUludGVybmFsLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSAxQUUwMEQ0RTE4MkQ2RjUwMDAwODdERDcgLyogV0tCcm93c2luZ0Nv
bnRleHRIYW5kbGVJbnRlcm5hbC5oICovOyB9OwogCQkxQUUwMEQ2MTE4MzE3OTIxMDAwODdERDcg
LyogRnJhbWVMb2FkU3RhdGUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IDFBRTAwRDVGMTgzMTc5MjEwMDA4N0RENyAvKiBGcmFtZUxvYWRTdGF0ZS5oICov
OyB9OwogCQkxQUUwMEQ2QzE4MzI3QzEyMDAwODdERDcgLyogU3RyaW5nUmVmZXJlbmNlLmggaW4g
SGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxQUUwMEQ2QTE4MzI3
QzEyMDAwODdERDcgLyogU3RyaW5nUmVmZXJlbmNlLmggKi87IH07Ci0JCTFBRTI4Njc3MUM3RTc2
NTEwMDY5QUM0RiAvKiBfV0tXZWJzaXRlRGF0YVNpemUubW0gaW4gU291cmNlcyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxQUUyODY3NTFDN0U3NjUxMDA2OUFDNEYgLyogX1dL
V2Vic2l0ZURhdGFTaXplLm1tICovOyB9OwogCQkxQUUyODY3ODFDN0U3NjUxMDA2OUFDNEYgLyog
X1dLV2Vic2l0ZURhdGFTaXplLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSAxQUUyODY3NjFDN0U3NjUxMDA2OUFDNEYgLyogX1dLV2Vic2l0ZURhdGFTaXpl
LmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJMUFF
Mjg2N0ExQzdGN0JBNjAwNjlBQzRGIC8qIFdLV2Vic2l0ZURhdGFTdG9yZVByaXZhdGUuaCBpbiBI
ZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDFBRTI4Njc5MUM3RjdC
QTYwMDY5QUM0RiAvKiBXS1dlYnNpdGVEYXRhU3RvcmVQcml2YXRlLmggKi87IHNldHRpbmdzID0g
e0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJMUFFMjg2ODAxQzdGOTJDMDAwNjlB
QzRGIC8qIF9XS1dlYnNpdGVEYXRhU2l6ZUludGVybmFsLmggaW4gSGVhZGVycyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxQUUyODY3RjFDN0Y5MkJGMDA2OUFDNEYgLyogX1dL
V2Vic2l0ZURhdGFTaXplSW50ZXJuYWwuaCAqLzsgfTsKQEAgLTM4NywxOSArMzYwLDE0IEBACiAJ
CTFBRjA1RDg3MTQ2ODgzNDgwMDhCMUU4MSAvKiBUaWxlZENvcmVBbmltYXRpb25EcmF3aW5nQXJl
YVByb3h5LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAx
QUYwNUQ4NTE0Njg4MzQ4MDA4QjFFODEgLyogVGlsZWRDb3JlQW5pbWF0aW9uRHJhd2luZ0FyZWFQ
cm94eS5oICovOyB9OwogCQkxQUYxQUM2QzE2NTE3NTlFMDBDMTdEN0YgLyogUmVtb3RlTGF5ZXJU
cmVlVHJhbnNhY3Rpb24uaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IDFBRjFBQzZBMTY1MTc1OUUwMEMxN0Q3RiAvKiBSZW1vdGVMYXllclRyZWVUcmFuc2Fj
dGlvbi5oICovOyB9OwogCQkxQUY0MTI5QjE4QjQwRkNEMDA1NDZGREMgLyogV0tOYXZpZ2F0aW9u
QWN0aW9uUHJpdmF0ZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gMUFGNDEyOUExOEI0MEZDRDAwNTQ2RkRDIC8qIFdLTmF2aWdhdGlvbkFjdGlvblByaXZh
dGUuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwotCQkx
QUY0NTkyRTE5NDY0QjIwMDBGOUQ0QTIgLyogV0tFcnJvci5tbSBpbiBTb3VyY2VzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDFBRjQ1OTJDMTk0NjRCMjAwMEY5RDRBMiAvKiBX
S0Vycm9yLm1tICovOyB9OwogCQkxQUY0NTkyRjE5NDY0QjIwMDBGOUQ0QTIgLyogV0tFcnJvci5o
IGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMUFGNDU5MkQx
OTQ2NEIyMDAwRjlENEEyIC8qIFdLRXJyb3IuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9
IChQdWJsaWMsICk7IH07IH07CiAJCTFBRjRDRUYwMThCQzQ4MTgwMEJDMkQzNCAvKiBWaXNpdGVk
TGlua1RhYmxlQ29udHJvbGxlci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gMUFGNENFRUUxOEJDNDgxODAwQkMyRDM0IC8qIFZpc2l0ZWRMaW5rVGFibGVD
b250cm9sbGVyLmggKi87IH07Ci0JCTFBRkEzQUM4MThFNjFDNjEwMDNDQ0JBRSAvKiBXS1VzZXJD
b250ZW50Q29udHJvbGxlci5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IDFBRkEzQUM2MThFNjFDNjEwMDNDQ0JBRSAvKiBXS1VzZXJDb250ZW50Q29udHJv
bGxlci5tbSAqLzsgfTsKIAkJMUFGQTNBQzkxOEU2MUM2MTAwM0NDQkFFIC8qIFdLVXNlckNvbnRl
bnRDb250cm9sbGVyLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSAxQUZBM0FDNzE4RTYxQzYxMDAzQ0NCQUUgLyogV0tVc2VyQ29udGVudENvbnRyb2xsZXIu
aCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQdWJsaWMsICk7IH07IH07CiAJCTFBRkE0
QjhDMUE2NUExRDAwMDZDNEFCNCAvKiBXZWJQcm9jZXNzTGlmZXRpbWVUcmFja2VyLmggaW4gSGVh
ZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxQUZBNEI4QTFBNjVBMUQw
MDA2QzRBQjQgLyogV2ViUHJvY2Vzc0xpZmV0aW1lVHJhY2tlci5oICovOyB9OwogCQkxQUZBNEI5
MDFBNjVBOUUyMDA2QzRBQjQgLyogV2ViUHJvY2Vzc0xpZmV0aW1lT2JzZXJ2ZXIuaCBpbiBIZWFk
ZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDFBRkE0QjhFMUE2NUE5RTIw
MDZDNEFCNCAvKiBXZWJQcm9jZXNzTGlmZXRpbWVPYnNlcnZlci5oICovOyB9OwotCQkxQUZCNEM3
MTFBREYxNTVEMDBCMzMzMzkgLyogX1dLV2Vic2l0ZURhdGFTdG9yZS5tbSBpbiBTb3VyY2VzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDFBRkI0QzZGMUFERjE1NUQwMEIzMzMz
OSAvKiBfV0tXZWJzaXRlRGF0YVN0b3JlLm1tICovOyB9OwogCQkxQUZCNEM3MjFBREYxNTVEMDBC
MzMzMzkgLyogX1dLV2Vic2l0ZURhdGFTdG9yZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gMUFGQjRDNzAxQURGMTU1RDAwQjMzMzM5IC8qIF9XS1dlYnNp
dGVEYXRhU3RvcmUuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9
OyB9OwogCQkxQUZERDMxNTE4OTFCNTQwMDAxNTM5NzAgLyogQVBJUG9saWN5Q2xpZW50LmggaW4g
SGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxQUZERDMxNDE4OTFC
NTQwMDAxNTM5NzAgLyogQVBJUG9saWN5Q2xpZW50LmggKi87IH07CiAJCTFBRkREMzE3MTg5MUM5
NDcwMDE1Mzk3MCAvKiBXS1ByZWZlcmVuY2VzLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSAxQUZERDMxNjE4OTFDOTQ3MDAxNTM5NzAgLyogV0tQcmVmZXJl
bmNlcy5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFB1YmxpYywgKTsgfTsgfTsKLQkJ
MUFGREQzMTkxODkxQ0ExMjAwMTUzOTcwIC8qIFdLUHJlZmVyZW5jZXMubW0gaW4gU291cmNlcyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxQUZERDMxODE4OTFDQTEyMDAxNTM5
NzAgLyogV0tQcmVmZXJlbmNlcy5tbSAqLzsgfTsKLQkJMUFGREU2NDUxOTUxMEI1NTAwQzQ4RkZB
IC8qIExlZ2FjeUJ1bmRsZUZvckNsYXNzLm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gMUFGREU2NDMxOTUxMEI1NTAwQzQ4RkZBIC8qIExlZ2FjeUJ1bmRs
ZUZvckNsYXNzLm1tICovOyB9OwogCQkxQUZERTY1QTE5NTRBNDJCMDBDNDhGRkEgLyogU2Vzc2lv
blN0YXRlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAx
QUZERTY1ODE5NTRBNDJCMDBDNDhGRkEgLyogU2Vzc2lvblN0YXRlLmggKi87IH07CiAJCTFBRkRF
NjYyMTk1NEU5QjEwMEM0OEZGQSAvKiBBUElTZXNzaW9uU3RhdGUuaCBpbiBIZWFkZXJzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDFBRkRFNjYwMTk1NEU5QjEwMEM0OEZGQSAv
KiBBUElTZXNzaW9uU3RhdGUuaCAqLzsgfTsKIAkJMUFGRTQzNjYxOEI2QzA4MTAwOUM3QTQ4IC8q
IFVJRGVsZWdhdGUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IDFBRkU0MzY0MThCNkMwODEwMDlDN0E0OCAvKiBVSURlbGVnYXRlLmggKi87IH07CkBAIC02
MzYsNyArNjA0LDYgQEAKIAkJMkQ1QzlEMDYxOUM4MUQ4RjAwQjNDNUMxIC8qIFdlYlBhZ2VPdmVy
bGF5LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAyRDVD
OUQwNDE5QzgxRDhGMDBCM0M1QzEgLyogV2ViUGFnZU92ZXJsYXkuaCAqLzsgfTsKIAkJMkQ2QUI1
NDExOTJCMUM0QTAwM0E5RkQxIC8qIFdLUERGUGFnZU51bWJlckluZGljYXRvci5oIGluIEhlYWRl
cnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMkQ2QUI1M0YxOTJCMUM0QTAw
M0E5RkQxIC8qIFdLUERGUGFnZU51bWJlckluZGljYXRvci5oICovOyB9OwogCQkyRDZCMzcxQjE4
QTk2N0FEMDA0MkFFODAgLyogX1dLVGh1bWJuYWlsVmlldy5oIGluIEhlYWRlcnMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMkQ2QjM3MTkxOEE5NjdBRDAwNDJBRTgwIC8qIF9X
S1RodW1ibmFpbFZpZXcuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCAp
OyB9OyB9OwotCQkyRDZCMzcxQzE4QTk2N0FEMDA0MkFFODAgLyogX1dLVGh1bWJuYWlsVmlldy5t
bSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDJENkIzNzFB
MThBOTY3QUQwMDQyQUU4MCAvKiBfV0tUaHVtYm5haWxWaWV3Lm1tICovOyB9OwogCQkyRDZDRDEx
OTE4OTA1OEE1MDBFNUE0QTAgLyogVmlld1NuYXBzaG90U3RvcmUuaCBpbiBIZWFkZXJzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDJENkNEMTE3MTg5MDU4QTUwMEU1QTRBMCAv
KiBWaWV3U25hcHNob3RTdG9yZS5oICovOyB9OwogCQkyRDcyQTFGQTIxMkJGNDZFMDA1MTdBMjAg
LyogUmVtb3RlTGF5ZXJUcmVlRHJhd2luZ0FyZWEubW0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxQUIxNkFEQjE2NDg1OTg0MDAyOTBENjIgLyogUmVtb3Rl
TGF5ZXJUcmVlRHJhd2luZ0FyZWEubW0gKi87IH07CiAJCTJENzMwMzc5MUE3QzJCNzUwMEY4RjQ4
NyAvKiBXS1BhZ2VOYXZpZ2F0aW9uQ2xpZW50LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSAyRDczMDM3ODFBN0MyQjc1MDBGOEY0ODcgLyogV0tQYWdlTmF2
aWdhdGlvbkNsaWVudC5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7
IH07IH07CkBAIC02NjgsMjYgKzYzNSw5IEBACiAJCTJEODUwOEQ4MjEyRTMzRUQwMDBFRjQ2QyAv
KiBVbmlmaWVkU291cmNlOTguY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gMkQ4NTA4QzQyMTJFMzNFQzAwMEVGNDZDIC8qIFVuaWZpZWRTb3VyY2U5OC5j
cHAgKi87IH07CiAJCTJEODcxMDE3MTgyODQxNUQwMDE4RkEwMSAvKiBQbGF0Zm9ybUNBTGF5ZXJS
ZW1vdGVDdXN0b20uaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IDJEODcxMDE1MTgyODQxNUQwMDE4RkEwMSAvKiBQbGF0Zm9ybUNBTGF5ZXJSZW1vdGVDdXN0
b20uaCAqLzsgfTsKIAkJMkQ4Nzg2MUQxQkRCNTRCRjAwRDAyQUJCIC8qIF9XS1VzZXJTdHlsZVNo
ZWV0LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAyRDg3
ODYxQjFCREI1NEJGMDBEMDJBQkIgLyogX1dLVXNlclN0eWxlU2hlZXQuaCAqLzsgc2V0dGluZ3Mg
PSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwotCQkyRDg3ODYxRTFCREI1NEJGMDBE
MDJBQkIgLyogX1dLVXNlclN0eWxlU2hlZXQubW0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSAyRDg3ODYxQzFCREI1NEJGMDBEMDJBQkIgLyogX1dLVXNlclN0
eWxlU2hlZXQubW0gKi87IH07CiAJCTJEODc4NjIwMUJEQjU3RjUwMEQwMkFCQiAvKiBfV0tVc2Vy
U3R5bGVTaGVldEludGVybmFsLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSAyRDg3ODYxRjFCREI1N0Y1MDBEMDJBQkIgLyogX1dLVXNlclN0eWxlU2hlZXRJ
bnRlcm5hbC5oICovOyB9OwogCQkyRDg3ODYyNDFCREI1OEZGMDBEMDJBQkIgLyogQVBJVXNlclN0
eWxlU2hlZXQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IDJEODc4NjIyMUJEQjU4RkYwMEQwMkFCQiAvKiBBUElVc2VyU3R5bGVTaGVldC5oICovOyB9Owog
CQkyRDg5NDlGMTE4MjA0NEY2MDBFODk4QUEgLyogUGxhdGZvcm1DQUxheWVyUmVtb3RlVGlsZWRC
YWNraW5nLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAy
RDg5NDlFRjE4MjA0NEY2MDBFODk4QUEgLyogUGxhdGZvcm1DQUxheWVyUmVtb3RlVGlsZWRCYWNr
aW5nLmggKi87IH07Ci0JCTJEOTEzNDI4MjEyQzg0RjUwMDEyOEFGRCAvKiBXS1dlYlByb2Nlc3NC
dW5kbGVQYXJhbWV0ZXJzLm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gMUFBMkU1NjQxOEQ3NzUwODAwMzgxNEJEIC8qIFdLV2ViUHJvY2Vzc0J1bmRsZVBh
cmFtZXRlcnMubW0gKi87IH07Ci0JCTJEOTEzNDI5MjEyQzg0RjUwMDEyOEFGRCAvKiBXS1dlYlBy
b2Nlc3NQbHVnSW5GcmFtZS5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IDFGMDE4MTZBMTg1OERDMTUwMEY5Mjg4NCAvKiBXS1dlYlByb2Nlc3NQbHVnSW5G
cmFtZS5tbSAqLzsgfTsKLQkJMkQ5MTM0MkEyMTJDODRGNTAwMTI4QUZEIC8qIFdLV2ViUHJvY2Vz
c1BsdWdJbkhpdFRlc3RSZXN1bHQubW0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSAxRjAxODE2RDE4NThEQzE2MDBGOTI4ODQgLyogV0tXZWJQcm9jZXNzUGx1
Z0luSGl0VGVzdFJlc3VsdC5tbSAqLzsgfTsKLQkJMkQ5MTM0MkIyMTJDODRGNTAwMTI4QUZEIC8q
IFdLV2ViUHJvY2Vzc1BsdWdJbk5vZGVIYW5kbGUubW0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxRjAxODE3MDE4NThEQzE2MDBGOTI4ODQgLyogV0tXZWJQ
cm9jZXNzUGx1Z0luTm9kZUhhbmRsZS5tbSAqLzsgfTsKLQkJMkQ5MTM0MkMyMTJDODRGNTAwMTI4
QUZEIC8qIFdLV2ViUHJvY2Vzc1BsdWdJblBhZ2VHcm91cC5tbSBpbiBTb3VyY2VzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDFGQjAwQUM1MTg1Rjc2NDYwMDE5MTQyRSAvKiBX
S1dlYlByb2Nlc3NQbHVnSW5QYWdlR3JvdXAubW0gKi87IH07Ci0JCTJEOTEzNDJEMjEyQzg0RjUw
MDEyOEFGRCAvKiBXS1dlYlByb2Nlc3NQbHVnSW5SYW5nZUhhbmRsZS5tbSBpbiBTb3VyY2VzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDM3NDk0MjE4MURGMUY5RkYwMDMzQzE5
RiAvKiBXS1dlYlByb2Nlc3NQbHVnSW5SYW5nZUhhbmRsZS5tbSAqLzsgfTsKLQkJMkQ5MTM0MkUy
MTJDODRGNTAwMTI4QUZEIC8qIFdLV2ViUHJvY2Vzc1BsdWdJblNjcmlwdFdvcmxkLm1tIGluIFNv
dXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMUYwMTgxNzMxODU4REMx
NjAwRjkyODg0IC8qIFdLV2ViUHJvY2Vzc1BsdWdJblNjcmlwdFdvcmxkLm1tICovOyB9OwotCQky
RDkxMzQyRjIxMkM4NTAxMDAxMjhBRkQgLyogV0tXZWJQcm9jZXNzUGx1Z0luLm1tIGluIFNvdXJj
ZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQkM5ODlEN0YxNjFBN0U1QjAw
MEQ0NkQzIC8qIFdLV2ViUHJvY2Vzc1BsdWdJbi5tbSAqLzsgfTsKLQkJMkQ5MTM0MzAyMTJDODUw
MTAwMTI4QUZEIC8qIFdLV2ViUHJvY2Vzc1BsdWdJbkJyb3dzZXJDb250ZXh0Q29udHJvbGxlci5t
bSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEJDOEYyRjI4
MTYyNzNBMkIwMDVGQUNCNSAvKiBXS1dlYlByb2Nlc3NQbHVnSW5Ccm93c2VyQ29udGV4dENvbnRy
b2xsZXIubW0gKi87IH07Ci0JCTJEOTEzNDMxMjEyQzg1M0QwMDEyOEFGRCAvKiBXS0RPTURvY3Vt
ZW50Lm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQkMw
MTdEMDAxNjI2MEZGNDAwNzA1NEY1IC8qIFdLRE9NRG9jdW1lbnQubW0gKi87IH07Ci0JCTJEOTEz
NDMyMjEyQzg1M0QwMDEyOEFGRCAvKiBXS0RPTUVsZW1lbnQubW0gaW4gU291cmNlcyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBCQzAxN0QwMjE2MjYwRkY0MDA3MDU0RjUgLyog
V0tET01FbGVtZW50Lm1tICovOyB9OwotCQkyRDkxMzQzMzIxMkM4NTNEMDAxMjhBRkQgLyogV0tE
T01JbnRlcm5hbHMubW0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSBCQzAxN0QwNDE2MjYwRkY0MDA3MDU0RjUgLyogV0tET01JbnRlcm5hbHMubW0gKi87IH07
Ci0JCTJEOTEzNDM0MjEyQzg1M0QwMDEyOEFGRCAvKiBXS0RPTU5vZGUubW0gaW4gU291cmNlcyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBCQzAxN0QwNjE2MjYwRkY0MDA3MDU0
RjUgLyogV0tET01Ob2RlLm1tICovOyB9OwotCQkyRDkxMzQzNTIxMkM4NTNEMDAxMjhBRkQgLyog
V0tET01SYW5nZS5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IEJDMzlDNDMzMTYyNjM2NkYwMDhCQzY4OSAvKiBXS0RPTVJhbmdlLm1tICovOyB9OwotCQky
RDkxMzQzNjIxMkM4NTNEMDAxMjhBRkQgLyogV0tET01UZXh0Lm1tIGluIFNvdXJjZXMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMjkzRUJFQUExNjI3RDlDOTAwNUY4OUYxIC8q
IFdLRE9NVGV4dC5tbSAqLzsgfTsKLQkJMkQ5MTM0MzcyMTJDODUzRDAwMTI4QUZEIC8qIFdLRE9N
VGV4dEl0ZXJhdG9yLm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gQkMwMTdEMUUxNjI2MzMwODAwNzA1NEY1IC8qIFdLRE9NVGV4dEl0ZXJhdG9yLm1tICov
OyB9OwogCQkyRDkxMzQ0MTIxMkNGOUYwMDAxMjhBRkQgLyogSlNOUE1ldGhvZC5jcHAgaW4gU291
cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxQUU0OUE0ODExRkZBOENF
MDA0OEI0NjQgLyogSlNOUE1ldGhvZC5jcHAgKi87IH07CiAJCTJEOTEzNDQyMjEyQ0Y5RjAwMDEy
OEFGRCAvKiBKU05QT2JqZWN0LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IDFBRTQ5ODc3MTFGRjdGQUEwMDQ4QjQ2NCAvKiBKU05QT2JqZWN0LmNwcCAq
LzsgfTsKIAkJMkQ5MTM0NDMyMTJDRjlGMDAwMTI4QUZEIC8qIE5ldHNjYXBlQnJvd3NlckZ1bmNz
LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDFBNkZC
QTI5MTFFNjg2MjcwMERCMTM3MSAvKiBOZXRzY2FwZUJyb3dzZXJGdW5jcy5jcHAgKi87IH07CkBA
IC03ODgsNyArNzM4LDYgQEAKIAkJMzE2QjhCNjQyMDU0QjU1ODAwQkQ0QTYyIC8qIFdLU3lzdGVt
UHJldmlld1ZpZXcuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IDMxNkI4QjYyMjA1NEI1NTgwMEJENEE2MiAvKiBXS1N5c3RlbVByZXZpZXdWaWV3LmggKi87
IH07CiAJCTMxN0ZFN0M1MUM0ODdBNkMwMEEwQ0E4OSAvKiBBUElFeHBlcmltZW50YWxGZWF0dXJl
LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAzMTdGRTdD
MjFDNDg3QTY2MDBBMENBODkgLyogQVBJRXhwZXJpbWVudGFsRmVhdHVyZS5oICovOyB9OwogCQkz
MTdGRTdDRDFDNDg3REFFMDBBMENBODkgLyogX1dLRXhwZXJpbWVudGFsRmVhdHVyZUludGVybmFs
LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAzMTdGRTdD
OTFDNDg3RDlEMDBBMENBODkgLyogX1dLRXhwZXJpbWVudGFsRmVhdHVyZUludGVybmFsLmggKi87
IH07Ci0JCTMxN0ZFN0NFMUM0ODdEQjgwMEEwQ0E4OSAvKiBfV0tFeHBlcmltZW50YWxGZWF0dXJl
Lm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMzE3RkU3
QzgxQzQ4N0Q5RDAwQTBDQTg5IC8qIF9XS0V4cGVyaW1lbnRhbEZlYXR1cmUubW0gKi87IH07CiAJ
CTMxN0ZFN0NGMUM0ODdEQkQwMEEwQ0E4OSAvKiBfV0tFeHBlcmltZW50YWxGZWF0dXJlLmggaW4g
SGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAzMTdGRTdDNzFDNDg3
RDlEMDBBMENBODkgLyogX1dLRXhwZXJpbWVudGFsRmVhdHVyZS5oICovOyBzZXR0aW5ncyA9IHtB
VFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTMxOEJFMTcxMTQ3NDNEQjEwMEE4RkJC
MiAvKiBXS05vdGlmaWNhdGlvbk1hbmFnZXIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IDMxOEJFMTcwMTQ3NDNEQjEwMEE4RkJCMiAvKiBXS05vdGlmaWNh
dGlvbk1hbmFnZXIuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9
OyB9OwogCQkzMThCRTE3OTE0NzQzRTZGMDBBOEZCQjIgLyogV0tOb3RpZmljYXRpb24uaCBpbiBI
ZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDMxOEJFMTc4MTQ3NDNF
NkEwMEE4RkJCMiAvKiBXS05vdGlmaWNhdGlvbi5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVT
ID0gKFByaXZhdGUsICk7IH07IH07CkBAIC04MTMsNyArNzYyLDYgQEAKIAkJMzMwOTM0NUIxMzE1
Qjk5ODAwOTdBN0JDIC8qIFdLQ29va2llTWFuYWdlci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMzMwOTM0NTkxMzE1Qjk5ODAwOTdBN0JDIC8qIFdLQ29v
a2llTWFuYWdlci5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07
IH07CiAJCTMzMzY3NjNCMTMwQzk5REMwMDZDOURFMiAvKiBXS1Jlc291cmNlQ2FjaGVNYW5hZ2Vy
LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAzMzM2NzYz
OTEzMEM5OURDMDA2QzlERTIgLyogV0tSZXNvdXJjZUNhY2hlTWFuYWdlci5oICovOyBzZXR0aW5n
cyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTMzQUExMDY3MTMxRjA2MDAw
MEQ0QTU3NSAvKiBXZWJDb29raWVNYW5hZ2VyUHJveHlDbGllbnQuaCBpbiBIZWFkZXJzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDMzQUExMDY1MTMxRjA2MDAwMEQ0QTU3NSAv
KiBXZWJDb29raWVNYW5hZ2VyUHJveHlDbGllbnQuaCAqLzsgfTsKLQkJMzcwRjM0QTIxODI5QkUx
RTAwOTAyN0M4IC8qIFdLTmF2aWdhdGlvbkRhdGEubW0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAzNzBGMzRBMDE4MjlCRTFFMDA5MDI3QzggLyogV0tOYXZp
Z2F0aW9uRGF0YS5tbSAqLzsgfTsKIAkJMzcwRjM0QTMxODI5QkUxRTAwOTAyN0M4IC8qIFdLTmF2
aWdhdGlvbkRhdGEuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IDM3MEYzNEExMTgyOUJFMUUwMDkwMjdDOCAvKiBXS05hdmlnYXRpb25EYXRhLmggKi87IHNl
dHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJMzcwRjM0QTUxODI5
QkVBMzAwOTAyN0M4IC8qIFdLTmF2aWdhdGlvbkRhdGFJbnRlcm5hbC5oIGluIEhlYWRlcnMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMzcwRjM0QTQxODI5QkVBMzAwOTAyN0M4
IC8qIFdLTmF2aWdhdGlvbkRhdGFJbnRlcm5hbC5oICovOyB9OwogCQkzNzBGMzRBNzE4MjlDRkYz
MDA5MDI3QzggLyogV0tCcm93c2luZ0NvbnRleHRIaXN0b3J5RGVsZWdhdGUuaCBpbiBIZWFkZXJz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDM3MEYzNEE2MTgyOUNGRjMwMDkw
MjdDOCAvKiBXS0Jyb3dzaW5nQ29udGV4dEhpc3RvcnlEZWxlZ2F0ZS5oICovOyBzZXR0aW5ncyA9
IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CkBAIC04MjksNyArNzc3LDYgQEAKIAkJ
MzcyRUJCNDEyMDE3RTY0MzAwMDg1MDY0IC8qIFdlYkNvbnRlbnRQcm9jZXNzLnhpYiBpbiBSZXNv
dXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRTFEMjZBNEMxNzU5NjM0
RTAwOTVCRkQxIC8qIFdlYkNvbnRlbnRQcm9jZXNzLnhpYiAqLzsgfTsKIAkJMzczQ0VBRDYxODU0
MTdBRTAwOEMzNjNEIC8qIFdLTlNEYXRhLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSAzNzNDRUFENDE4NTQxN0FFMDA4QzM2M0QgLyogV0tOU0RhdGEuaCAq
LzsgfTsKIAkJMzczQ0VBRDgxODU5NTUzRjAwOEMzNjNEIC8qIFdLUGFnZVBvbGljeUNsaWVudElu
dGVybmFsLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAz
NzNDRUFENzE4NTk1NTNGMDA4QzM2M0QgLyogV0tQYWdlUG9saWN5Q2xpZW50SW50ZXJuYWwuaCAq
LzsgfTsKLQkJMzczRDEyMjIxOEE0NzMwMTAwNjZEOUNDIC8qIF9XS0ZyYW1lSGFuZGxlLm1tIGlu
IFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMzczRDEyMjAxOEE0
NzMwMTAwNjZEOUNDIC8qIF9XS0ZyYW1lSGFuZGxlLm1tICovOyB9OwogCQkzNzNEMTIyMzE4QTQ3
MzAxMDA2NkQ5Q0MgLyogX1dLRnJhbWVIYW5kbGUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDM3M0QxMjIxMThBNDczMDEwMDY2RDlDQyAvKiBfV0tGcmFt
ZUhhbmRsZS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07
CiAJCTM3M0QxMjI3MThBNDczRjYwMDY2RDlDQyAvKiBfV0tGcmFtZUhhbmRsZUludGVybmFsLmgg
aW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAzNzNEMTIyNjE4
QTQ3M0Y2MDA2NkQ5Q0MgLyogX1dLRnJhbWVIYW5kbGVJbnRlcm5hbC5oICovOyB9OwogCQkzNzNE
MTIyRDE4QTRCNkVCMDA2NkQ5Q0MgLyogV0tXZWJQcm9jZXNzUGx1Z0luRnJhbWVQcml2YXRlLmgg
aW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAzNzNEMTIyQzE4
QTRCNkE4MDA2NkQ5Q0MgLyogV0tXZWJQcm9jZXNzUGx1Z0luRnJhbWVQcml2YXRlLmggKi87IHNl
dHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKQEAgLTg2MiwxMCArODA5
LDggQEAKIAkJMzc5NDg0MDkxNTBDNEI5NzAwRTUyQ0U5IC8qIFdLUmVuZGVyTGF5ZXIuaCBpbiBI
ZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDM3OTQ4NDA3MTUwQzRC
OTYwMEU1MkNFOSAvKiBXS1JlbmRlckxheWVyLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMg
PSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJMzc5NTc4OUMxOEFENEYxOTAwQjlFRDJFIC8qIFdLV2Vi
UHJvY2Vzc1BsdWdJbkZvcm1EZWxlZ2F0ZVByaXZhdGUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDM3OTU3ODlCMThBRDRGMTEwMEI5RUQyRSAvKiBXS1dl
YlByb2Nlc3NQbHVnSW5Gb3JtRGVsZWdhdGVQcml2YXRlLmggKi87IHNldHRpbmdzID0ge0FUVFJJ
QlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJMzc5QTg3MzYxOEJCRkE0MzAwNTg4QUYyIC8q
IF9XS0FjdGl2YXRlZEVsZW1lbnRJbmZvSW50ZXJuYWwuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDM3OUE4NzM1MThCQkZBNDMwMDU4OEFGMiAvKiBfV0tB
Y3RpdmF0ZWRFbGVtZW50SW5mb0ludGVybmFsLmggKi87IH07Ci0JCTM3OUE4NzM5MThCQkZFMEYw
MDU4OEFGMiAvKiBfV0tFbGVtZW50QWN0aW9uLm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gMzc5QTg3MzcxOEJCRkUwRjAwNTg4QUYyIC8qIF9XS0VsZW1l
bnRBY3Rpb24ubW0gKi87IH07CiAJCTM3OUE4NzNBMThCQkZFMEYwMDU4OEFGMiAvKiBfV0tFbGVt
ZW50QWN0aW9uLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSAzNzlBODczODE4QkJGRTBGMDA1ODhBRjIgLyogX1dLRWxlbWVudEFjdGlvbi5oICovOyBzZXR0
aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTM3OUE4NzNDMThCQkZG
MDcwMDU4OEFGMiAvKiBfV0tFbGVtZW50QWN0aW9uSW50ZXJuYWwuaCBpbiBIZWFkZXJzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDM3OUE4NzNCMThCQkZGMDcwMDU4OEFGMiAv
KiBfV0tFbGVtZW50QWN0aW9uSW50ZXJuYWwuaCAqLzsgfTsKLQkJMzdBNUUwMTMxOEJCRjkzNzAw
MEEwODFFIC8qIF9XS0FjdGl2YXRlZEVsZW1lbnRJbmZvLm1tIGluIFNvdXJjZXMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMzdBNUUwMTExOEJCRjkzNzAwMEEwODFFIC8qIF9X
S0FjdGl2YXRlZEVsZW1lbnRJbmZvLm1tICovOyB9OwogCQkzN0E1RTAxNDE4QkJGOTNGMDAwQTA4
MUUgLyogX1dLQWN0aXZhdGVkRWxlbWVudEluZm8uaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDM3QTVFMDEyMThCQkY5MzcwMDBBMDgxRSAvKiBfV0tBY3Rp
dmF0ZWRFbGVtZW50SW5mby5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUs
ICk7IH07IH07CiAJCTM3QTY0RTU1MThGMzhFM0MwMEVCMzBGMSAvKiBfV0tJbnB1dERlbGVnYXRl
LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAzN0E2NEU1
NDE4RjM4RTNDMDBFQjMwRjEgLyogX1dLSW5wdXREZWxlZ2F0ZS5oICovOyBzZXR0aW5ncyA9IHtB
VFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTM3QTY0RTU3MThGMzhGNDYwMEVCMzBG
MSAvKiBfV0tGb3JtSW5wdXRTZXNzaW9uLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSAzN0E2NEU1NjE4RjM4RjQ2MDBFQjMwRjEgLyogX1dLRm9ybUlucHV0
U2Vzc2lvbi5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07
CkBAIC04NzksMTAgKzgyNCw4IEBACiAJCTM3QkVDNEUxMTk0OTE0ODYwMDhCNDI4NiAvKiBDb21w
bGV0aW9uSGFuZGxlckNhbGxDaGVja2VyLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSAzN0JFQzRERjE5NDkxNDg2MDA4QjQyODYgLyogQ29tcGxldGlvbkhh
bmRsZXJDYWxsQ2hlY2tlci5oICovOyB9OwogCQkzN0JGMkYwNjE5NDdERUI0MDA3MjNDNDggLyog
V0tOU1VSTFJlcXVlc3QuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IDM3QkYyRjA0MTk0N0RFQjQwMDcyM0M0OCAvKiBXS05TVVJMUmVxdWVzdC5oICovOyB9
OwogCQkzN0MyMUNBRTFFOTk0QzBDMDAyOUQ1RjkgLyogQ29yZVByZWRpY3Rpb25TUEkuaCBpbiBI
ZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDM3QzIxQ0FEMUU5OTRD
MEMwMDI5RDVGOSAvKiBDb3JlUHJlZGljdGlvblNQSS5oICovOyB9OwotCQkzN0M0QzA4NjE4MTQ5
QzVCMDAzNjg4QjkgLyogV0tCYWNrRm9yd2FyZExpc3RJdGVtLm1tIGluIFNvdXJjZXMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMzdDNEMwODQxODE0OUM1QjAwMzY4OEI5IC8q
IFdLQmFja0ZvcndhcmRMaXN0SXRlbS5tbSAqLzsgfTsKIAkJMzdDNEMwODcxODE0OUM1QjAwMzY4
OEI5IC8qIFdLQmFja0ZvcndhcmRMaXN0SXRlbS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gMzdDNEMwODUxODE0OUM1QjAwMzY4OEI5IC8qIFdLQmFja0Zv
cndhcmRMaXN0SXRlbS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFB1YmxpYywgKTsg
fTsgfTsKIAkJMzdDNEMwODkxODE0OUYyMzAwMzY4OEI5IC8qIFdLQmFja0ZvcndhcmRMaXN0SXRl
bUludGVybmFsLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSAzN0M0QzA4ODE4MTQ5RjIzMDAzNjg4QjkgLyogV0tCYWNrRm9yd2FyZExpc3RJdGVtSW50ZXJu
YWwuaCAqLzsgfTsKLQkJMzdDNEMwOEMxODE0QUM1QzAwMzY4OEI5IC8qIFdLQmFja0ZvcndhcmRM
aXN0Lm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMzdD
NEMwOEExODE0QUM1QzAwMzY4OEI5IC8qIFdLQmFja0ZvcndhcmRMaXN0Lm1tICovOyB9OwogCQkz
N0M0QzA4RDE4MTRBQzVDMDAzNjg4QjkgLyogV0tCYWNrRm9yd2FyZExpc3QuaCBpbiBIZWFkZXJz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDM3QzRDMDhCMTgxNEFDNUMwMDM2
ODhCOSAvKiBXS0JhY2tGb3J3YXJkTGlzdC5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0g
KFB1YmxpYywgKTsgfTsgfTsKIAkJMzdDNEMwOTQxODE0QjNBRjAwMzY4OEI5IC8qIFdLTlNBcnJh
eS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMzdDNEMw
OTIxODE0QjNBRjAwMzY4OEI5IC8qIFdLTlNBcnJheS5oICovOyB9OwogCQkzN0M0QzA5NTE4MTRC
OUU2MDAzNjg4QjkgLyogV0tCYWNrRm9yd2FyZExpc3RJbnRlcm5hbC5oIGluIEhlYWRlcnMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMzdDNEMwOEUxODE0QUYzQTAwMzY4OEI5
IC8qIFdLQmFja0ZvcndhcmRMaXN0SW50ZXJuYWwuaCAqLzsgfTsKQEAgLTg5Miw3ICs4MzUsNiBA
QAogCQkzN0Y2MjNCODEyQTU3QjYyMDBFM0ZERjYgLyogV0tGaW5kT3B0aW9ucy5oIGluIEhlYWRl
cnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMzdGNjIzQjcxMkE1N0I2MjAw
RTNGREY2IC8qIFdLRmluZE9wdGlvbnMuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQ
cml2YXRlLCApOyB9OyB9OwogCQkzN0Y5MERFMzEzNzY1NjBFMDA1MUNGNjggLyogSFRUUENvb2tp
ZUFjY2VwdFBvbGljeS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gRjYzODk1NEYxMzNCRUYzODAwODk0MUQ1IC8qIEhUVFBDb29raWVBY2NlcHRQb2xpY3ku
aCAqLzsgfTsKIAkJMzdGQzE5NDcxODUwRkJGMjAwOENGQTQ3IC8qIFdLQnJvd3NpbmdDb250ZXh0
TG9hZERlbGVnYXRlUHJpdmF0ZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gMzdGQzE5NDYxODUwRkJGMjAwOENGQTQ3IC8qIFdLQnJvd3NpbmdDb250ZXh0
TG9hZERlbGVnYXRlUHJpdmF0ZS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZh
dGUsICk7IH07IH07Ci0JCTM3RkMxOTRBMTg1MTBENkEwMDhDRkE0NyAvKiBXS05TVVJMQXV0aGVu
dGljYXRpb25DaGFsbGVuZ2UubW0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSAzN0ZDMTk0ODE4NTEwRDZBMDA4Q0ZBNDcgLyogV0tOU1VSTEF1dGhlbnRpY2F0
aW9uQ2hhbGxlbmdlLm1tICovOyB9OwogCQkzN0ZDMTk0QjE4NTEwRDZBMDA4Q0ZBNDcgLyogV0tO
U1VSTEF1dGhlbnRpY2F0aW9uQ2hhbGxlbmdlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSAzN0ZDMTk0OTE4NTEwRDZBMDA4Q0ZBNDcgLyogV0tOU1VSTEF1
dGhlbnRpY2F0aW9uQ2hhbGxlbmdlLmggKi87IH07CiAJCTNGNDE4RUY5MTg4N0JEOTcwMDI3OTVG
RCAvKiBWaWRlb0Z1bGxzY3JlZW5NYW5hZ2VyTWVzc2FnZVJlY2VpdmVyLmNwcCBpbiBTb3VyY2Vz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDNGNDE4RUY1MTg4N0JEOTcwMDI3
OTVGRCAvKiBWaWRlb0Z1bGxzY3JlZW5NYW5hZ2VyTWVzc2FnZVJlY2VpdmVyLmNwcCAqLzsgfTsK
IAkJM0Y0MThFRkIxODg3QkQ5NzAwMjc5NUZEIC8qIFZpZGVvRnVsbHNjcmVlbk1hbmFnZXJQcm94
eU1lc3NhZ2VSZWNlaXZlci5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSAzRjQxOEVGNzE4ODdCRDk3MDAyNzk1RkQgLyogVmlkZW9GdWxsc2NyZWVuTWFu
YWdlclByb3h5TWVzc2FnZVJlY2VpdmVyLmNwcCAqLzsgfTsKQEAgLTk1Miw3ICs4OTQsNiBAQAog
CQk1MTBBRkZCQTE2NTQyMDQ4MDAxQkEwNUUgLyogV2ViUmVzb3VyY2VMb2FkZXIuaCBpbiBIZWFk
ZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDUxMEFGRkI4MTY1NDIwNDgw
MDFCQTA1RSAvKiBXZWJSZXNvdXJjZUxvYWRlci5oICovOyB9OwogCQk1MTBGNTkxMDFEREUyOTY5
MDA0MTJGRjUgLyogX1dLSWNvbkxvYWRpbmdEZWxlZ2F0ZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNTE0M0IyNUUxRERDREZEMTAwMTRGQUM2IC8qIF9X
S0ljb25Mb2FkaW5nRGVsZWdhdGUuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2
YXRlLCApOyB9OyB9OwogCQk1MTBGNTkxMTFEREUyOTcwMDA0MTJGRjUgLyogX1dLTGlua0ljb25Q
YXJhbWV0ZXJzLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSA1MUMwQzk3OTFEREQ3ODU0MDAzMkNBRDMgLyogX1dLTGlua0ljb25QYXJhbWV0ZXJzLmggKi87
IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKLQkJNTEwRjU5MTIx
RERFMjk3NzAwNDEyRkY1IC8qIF9XS0xpbmtJY29uUGFyYW1ldGVycy5tbSBpbiBTb3VyY2VzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDUxQzBDOTdBMURERDc4NTQwMDMyQ0FE
MyAvKiBfV0tMaW5rSWNvblBhcmFtZXRlcnMubW0gKi87IH07CiAJCTUxMEZCQjlCMTI4OEM5NUUw
MEFGRkRGNCAvKiBXZWJDb250ZXh0TWVudUl0ZW1EYXRhLmggaW4gSGVhZGVycyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1MTBGQkI5OTEyODhDOTVFMDBBRkZERjQgLyogV2Vi
Q29udGV4dE1lbnVJdGVtRGF0YS5oICovOyB9OwogCQk1MTEwQUUwRDEzM0MxNkNCMDA3MjcxN0Eg
LyogV0tJY29uRGF0YWJhc2UuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IDUxMTBBRTBCMTMzQzE2Q0IwMDcyNzE3QSAvKiBXS0ljb25EYXRhYmFzZS5oICov
OyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTUxMThFOTlD
MUYyOTUyNjYwMDNFRjlGNSAvKiBXZWJUb1N0b3JhZ2VQcm9jZXNzQ29ubmVjdGlvbi5oIGluIEhl
YWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNTExOEU5OUExRjI5NTI1
OTAwM0VGOUY1IC8qIFdlYlRvU3RvcmFnZVByb2Nlc3NDb25uZWN0aW9uLmggKi87IH07CkBAIC05
NjcsNyArOTA4LDYgQEAKIAkJNTExRjhBN0IxMzhCNDYwOTAwQTk1RjQ0IC8qIFNlY0l0ZW1TaGlt
TGlicmFyeS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
NTExRjhBNzcxMzhCNDYwOTAwQTk1RjQ0IC8qIFNlY0l0ZW1TaGltTGlicmFyeS5oICovOyB9Owog
CQk1MTFGOEE4MTEzOEI0ODVEMDBBOTVGNDQgLyogU2VjSXRlbVNoaW1MaWJyYXJ5Lm1tIGluIFNv
dXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNTExRjhBNzgxMzhCNDYw
OTAwQTk1RjQ0IC8qIFNlY0l0ZW1TaGltTGlicmFyeS5tbSAqLzsgfTsKIAkJNTEyMEM4MzUxRTVC
NzRCOTAwMjVCMjUwIC8qIF9XS1dlYnNpdGVEYXRhU3RvcmVDb25maWd1cmF0aW9uLmggaW4gSGVh
ZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1MTIwQzgzMzFFNUI3MTU3
MDAyNUIyNTAgLyogX1dLV2Vic2l0ZURhdGFTdG9yZUNvbmZpZ3VyYXRpb24uaCAqLzsgc2V0dGlu
Z3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwotCQk1MTIwQzgzNjFFNUI3NEJF
MDAyNUIyNTAgLyogX1dLV2Vic2l0ZURhdGFTdG9yZUNvbmZpZ3VyYXRpb24ubW0gaW4gU291cmNl
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1MTIwQzgzNDFFNUI3MTU3MDAy
NUIyNTAgLyogX1dLV2Vic2l0ZURhdGFTdG9yZUNvbmZpZ3VyYXRpb24ubW0gKi87IH07CiAJCTUx
MjEyN0M0MTkwODIzOUEwMERBRjM1QyAvKiBXZWJQYXN0ZWJvYXJkT3ZlcnJpZGVzLmggaW4gSGVh
ZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1MTIxMjdDMjE5MDgyMzlB
MDBEQUYzNUMgLyogV2ViUGFzdGVib2FyZE92ZXJyaWRlcy5oICovOyB9OwogCQk1MTIxNzQ2MTE2
NEMyMEUzMDAzN0E1QzEgLyogU2hhcmVhYmxlUmVzb3VyY2UuaCBpbiBIZWFkZXJzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDUxMjE3NDVGMTY0QzIwRTMwMDM3QTVDMSAvKiBT
aGFyZWFibGVSZXNvdXJjZS5oICovOyB9OwogCQk1MTIzQ0YxQzEzM0QyNjBBMDA1NkY4MDAgLyog
V0tJY29uRGF0YWJhc2VDRy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gNTEyM0NGMUExMzNEMjYwQTAwNTZGODAwIC8qIFdLSWNvbkRhdGFiYXNlQ0cuaCAq
Lzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwpAQCAtMTAzOCwx
MiArOTc4LDkgQEAKIAkJNTFDMEM5NzQxRERENzYwMDAwMzJDQUQzIC8qIEljb25Mb2FkaW5nRGVs
ZWdhdGUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDUx
QzBDOTcyMURERDc0RjAwMDMyQ0FEMyAvKiBJY29uTG9hZGluZ0RlbGVnYXRlLmggKi87IH07CiAJ
CTUxQ0QxQzVFMUIzNDkzQjQwMDE0MkNBNSAvKiBXS1NlY3VyaXR5T3JpZ2luUmVmLmggaW4gSGVh
ZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1MUNEMUM1QTFCMzQ5M0E5
MDAxNDJDQTUgLyogV0tTZWN1cml0eU9yaWdpblJlZi5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJV
VEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTUxQ0QxQzY1MUIzNEI5RDQwMDE0MkNBNSAvKiBX
S1NlY3VyaXR5T3JpZ2luLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSA1MUNEMUM1RjFCMzRCOUM5MDAxNDJDQTUgLyogV0tTZWN1cml0eU9yaWdpbi5oICov
OyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFB1YmxpYywgKTsgfTsgfTsKLQkJNTFDRDFDNjYx
QjM0QjlEQzAwMTQyQ0E1IC8qIFdLU2VjdXJpdHlPcmlnaW4ubW0gaW4gU291cmNlcyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1MUNEMUM2MDFCMzRCOUM5MDAxNDJDQTUgLyog
V0tTZWN1cml0eU9yaWdpbi5tbSAqLzsgfTsKIAkJNTFDRDFDNjcxQjM0QjlERjAwMTQyQ0E1IC8q
IFdLU2VjdXJpdHlPcmlnaW5JbnRlcm5hbC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gNTFDRDFDNjExQjM0QjlDOTAwMTQyQ0E1IC8qIFdLU2VjdXJpdHlP
cmlnaW5JbnRlcm5hbC5oICovOyB9OwogCQk1MUQxMjQzNDFFNkRGNjQzMDAyQjI4MjAgLyogV0tV
UkxTY2hlbWVIYW5kbGVyLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSA1MUQxMjQyRDFFNkREREQ3MDAyQjI4MjAgLyogV0tVUkxTY2hlbWVIYW5kbGVyLmgg
Ki87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHVibGljLCApOyB9OyB9OwogCQk1MUQxMjQz
NTFFNkRGNjUyMDAyQjI4MjAgLyogV0tVUkxTY2hlbWVUYXNrLmggaW4gSGVhZGVycyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1MUQxMjQyRjFFNkREREQ3MDAyQjI4MjAgLyog
V0tVUkxTY2hlbWVUYXNrLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHVibGljLCAp
OyB9OyB9OwotCQk1MUQxMjQzNjFFNkRGQjM5MDAyQjI4MjAgLyogV0tVUkxTY2hlbWVUYXNrLm1t
IGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNTFEMTI0MzAx
RTZERERENzAwMkIyODIwIC8qIFdLVVJMU2NoZW1lVGFzay5tbSAqLzsgfTsKLQkJNTFEMTI0OTIx
RTc0QkY0ODAwMkIyODIwIC8qIFdLSFRUUENvb2tpZVN0b3JlLm1tIGluIFNvdXJjZXMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNTFEMTI0ODUxRTczNEFFMzAwMkIyODIwIC8q
IFdLSFRUUENvb2tpZVN0b3JlLm1tICovOyB9OwogCQk1MUQxMjQ5OTFFNzYzQzAxMDAyQjI4MjAg
LyogV0tIVFRQQ29va2llU3RvcmUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IDUxRDEyNDg0MUU3MzRBRTMwMDJCMjgyMCAvKiBXS0hUVFBDb29raWVTdG9y
ZS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFB1YmxpYywgKTsgfTsgfTsKIAkJNTFE
MTMwNTQxMzgyRUFDMDAwMzUxRUREIC8qIFNlY0l0ZW1SZXF1ZXN0RGF0YS5oIGluIEhlYWRlcnMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNTFEMTMwNTAxMzgyRUFDMDAwMzUx
RUREIC8qIFNlY0l0ZW1SZXF1ZXN0RGF0YS5oICovOyB9OwogCQk1MUQxMzA1NjEzODJFQUMwMDAz
NTFFREQgLyogU2VjSXRlbVJlc3BvbnNlRGF0YS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gNTFEMTMwNTIxMzgyRUFDMDAwMzUxRUREIC8qIFNlY0l0ZW1S
ZXNwb25zZURhdGEuaCAqLzsgfTsKQEAgLTExMTUsMjggKzEwNTIsMjIgQEAKIAkJNUM5RTU2ODMx
REY3RjFCMzAwQzlFRTMzIC8qIFdLV2Vic2l0ZVBvbGljaWVzLmggaW4gSGVhZGVycyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1QzlFNTY4MTFERjdGMDU1MDBDOUVFMzMgLyog
V0tXZWJzaXRlUG9saWNpZXMuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRl
LCApOyB9OyB9OwogCQk1Q0E5ODU0QTIxMEJFQjY0MDA1N0VCNkIgLyogU2FmZUJyb3dzaW5nUmVz
dWx0LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1Q0E5
ODU0OTIxMEJFQjVBMDA1N0VCNkIgLyogU2FmZUJyb3dzaW5nUmVzdWx0LmggKi87IH07CiAJCTVD
QUZERTQ1MjEzMDg0NjMwMEIxRjdFMSAvKiBfV0tJbnNwZWN0b3IuaCBpbiBIZWFkZXJzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDVDQUZERTQyMjEzMDg0MzUwMEIxRjdFMSAv
KiBfV0tJbnNwZWN0b3IuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCAp
OyB9OyB9OwotCQk1Q0FGREU0NjIxMzA4NDY4MDBCMUY3RTEgLyogX1dLSW5zcGVjdG9yLm1tIGlu
IFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNUNBRkRFNDMyMTMw
ODQzNjAwQjFGN0UxIC8qIF9XS0luc3BlY3Rvci5tbSAqLzsgfTsKIAkJNUNBRkRFNDcyMTMwODQ2
QTAwQjFGN0UxIC8qIF9XS0luc3BlY3RvckludGVybmFsLmggaW4gSGVhZGVycyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1Q0FGREU0NDIxMzA4NDM2MDBCMUY3RTEgLyogX1dL
SW5zcGVjdG9ySW50ZXJuYWwuaCAqLzsgfTsKLQkJNUNCMjM3OEIxREYwREU1MzAwMTE3QUEzIC8q
IF9XS1dlYnNpdGVQb2xpY2llcy5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IDVDQjIzNzhBMURGMERENDMwMDExN0FBMyAvKiBfV0tXZWJzaXRlUG9saWNp
ZXMubW0gKi87IH07CiAJCTVDQjIzNzhDMURGMERFNkUwMDExN0FBMyAvKiBfV0tXZWJzaXRlUG9s
aWNpZXMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDVD
QjIzNzg5MURGMERENDMwMDExN0FBMyAvKiBfV0tXZWJzaXRlUG9saWNpZXMuaCAqLzsgc2V0dGlu
Z3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQk1Q0IyMzc4RTFERjBFMEQz
MDAxMTdBQTMgLyogX1dLV2Vic2l0ZVBvbGljaWVzSW50ZXJuYWwuaCBpbiBIZWFkZXJzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDVDQjIzNzhEMURGMEUwQzIwMDExN0FBMyAv
KiBfV0tXZWJzaXRlUG9saWNpZXNJbnRlcm5hbC5oICovOyB9OwogCQk1Q0JDOUI4RTFDNjUyQ0Ew
MDBBOEZEQ0YgLyogTmV0d29ya0RhdGFUYXNrLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSA1Q0JDOUI4OTFDNjUyNEE1MDBBOEZEQ0YgLyogTmV0d29ya0Rh
dGFUYXNrLmggKi87IH07CiAJCTVDRDI4NjUxMUU3MjM1OTkwMDk0RkRDOCAvKiBXS0NvbnRlbnRS
dWxlTGlzdFN0b3JlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSA1Q0QyODY0RDFFNzIyRjQ0MDA5NEZEQzggLyogV0tDb250ZW50UnVsZUxpc3RTdG9yZS5o
ICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFB1YmxpYywgKTsgfTsgfTsKLQkJNUNEMjg2
NTIxRTcyMzVBNjAwOTRGREM4IC8qIFdLQ29udGVudFJ1bGVMaXN0Lm1tIGluIFNvdXJjZXMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNUNEMjg2NEIxRTcyMkY0NDAwOTRGREM4
IC8qIFdLQ29udGVudFJ1bGVMaXN0Lm1tICovOyB9OwogCQk1Q0QyODY1MzFFNzIzNUFBMDA5NEZE
QzggLyogX1dLVXNlckNvbnRlbnRGaWx0ZXJQcml2YXRlLmggaW4gSGVhZGVycyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1Q0QyODY0OTFFNzIyRjQ0MDA5NEZEQzggLyogX1dL
VXNlckNvbnRlbnRGaWx0ZXJQcml2YXRlLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAo
UHJpdmF0ZSwgKTsgfTsgfTsKIAkJNUNEMjg2NTQxRTcyMzVCMTAwOTRGREM4IC8qIFdLQ29udGVu
dFJ1bGVMaXN0LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSA1Q0QyODY0QTFFNzIyRjQ0MDA5NEZEQzggLyogV0tDb250ZW50UnVsZUxpc3QuaCAqLzsgc2V0
dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQdWJsaWMsICk7IH07IH07CiAJCTVDRDI4NjU1MUU3MjM1
QjgwMDk0RkRDOCAvKiBXS0NvbnRlbnRSdWxlTGlzdEludGVybmFsLmggaW4gSGVhZGVycyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1Q0QyODY0QzFFNzIyRjQ0MDA5NEZEQzgg
LyogV0tDb250ZW50UnVsZUxpc3RJbnRlcm5hbC5oICovOyB9OwotCQk1Q0QyODY1NjFFNzIzNUM2
MDA5NEZEQzggLyogV0tDb250ZW50UnVsZUxpc3RTdG9yZS5tbSBpbiBTb3VyY2VzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDVDRDI4NjRFMUU3MjJGNDQwMDk0RkRDOCAvKiBX
S0NvbnRlbnRSdWxlTGlzdFN0b3JlLm1tICovOyB9OwogCQk1Q0QyODY1NzFFNzIzNUM5MDA5NEZE
QzggLyogV0tDb250ZW50UnVsZUxpc3RTdG9yZUludGVybmFsLmggaW4gSGVhZGVycyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1Q0QyODY0RjFFNzIyRjQ0MDA5NEZEQzggLyog
V0tDb250ZW50UnVsZUxpc3RTdG9yZUludGVybmFsLmggKi87IH07CiAJCTVDRDI4NjU4MUU3MjM1
RDEwMDk0RkRDOCAvKiBXS0NvbnRlbnRSdWxlTGlzdFN0b3JlUHJpdmF0ZS5oIGluIEhlYWRlcnMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNUNEMjg2NTAxRTcyMkY0NDAwOTRG
REM4IC8qIFdLQ29udGVudFJ1bGVMaXN0U3RvcmVQcml2YXRlLmggKi87IHNldHRpbmdzID0ge0FU
VFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJNUNFODVCMjAxQzg4RTY0QjAwNzBCRkNF
IC8qIFBpbmdMb2FkLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSA1Q0U4NUIxRjFDODhFNjQzMDA3MEJGQ0UgLyogUGluZ0xvYWQuaCAqLzsgfTsKIAkJNjE3
QTUyRDgxRjQzQTlEQTAwRENEQzBBIC8qIFNlcnZpY2VXb3JrZXJDbGllbnRGZXRjaE1lc3NhZ2VS
ZWNlaXZlci5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSA2MTdBNTJENzFGNDNBOUI2MDBEQ0RDMEEgLyogU2VydmljZVdvcmtlckNsaWVudEZldGNoTWVz
c2FnZVJlY2VpdmVyLmNwcCAqLzsgfTsKIAkJNjMxMDhGOTYxRjk2NzE5QzAwQTBEQjg0IC8qIF9X
S0FwcGxpY2F0aW9uTWFuaWZlc3QuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IDYzMTA4Rjk0MUY5NjcxOUMwMEEwREI4NCAvKiBfV0tBcHBsaWNhdGlvbk1h
bmlmZXN0LmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsK
LQkJNjMxMDhGOTcxRjk2NzE5QzAwQTBEQjg0IC8qIF9XS0FwcGxpY2F0aW9uTWFuaWZlc3QubW0g
aW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA2MzEwOEY5NTFG
OTY3MTlDMDBBMERCODQgLyogX1dLQXBwbGljYXRpb25NYW5pZmVzdC5tbSAqLzsgfTsKIAkJNjMx
MDhGOTkxRjk2NzFGNzAwQTBEQjg0IC8qIF9XS0FwcGxpY2F0aW9uTWFuaWZlc3RJbnRlcm5hbC5o
IGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNjMxMDhGOTgx
Rjk2NzFGNzAwQTBEQjg0IC8qIF9XS0FwcGxpY2F0aW9uTWFuaWZlc3RJbnRlcm5hbC5oICovOyB9
OwogCQk2MzQ4NDI1MTFGQjI2RTcxMDA5NDZFM0MgLyogQVBJQXBwbGljYXRpb25NYW5pZmVzdC5o
IGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNjM0ODQyNEYx
RkIyNkU3MTAwOTQ2RTNDIC8qIEFQSUFwcGxpY2F0aW9uTWFuaWZlc3QuaCAqLzsgfTsKIAkJNjM2
MzUzQTUxRTk4NThERjAwMDlGOEFGIC8qIF9XS0dlb2xvY2F0aW9uQ29yZUxvY2F0aW9uUHJvdmlk
ZXIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDYzRkFC
RTE5MUU5NzBENjUwMDMwMTFENSAvKiBfV0tHZW9sb2NhdGlvbkNvcmVMb2NhdGlvblByb3ZpZGVy
LmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKLQkJNjND
MzJDMjUxRTk4MTBEOTAwNjk5QkQwIC8qIF9XS0dlb2xvY2F0aW9uUG9zaXRpb24ubW0gaW4gU291
cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA2M0MzMkMyMzFFOTgxMEQ5
MDA2OTlCRDAgLyogX1dLR2VvbG9jYXRpb25Qb3NpdGlvbi5tbSAqLzsgfTsKIAkJNjNDMzJDMjYx
RTk4MTBEOTAwNjk5QkQwIC8qIF9XS0dlb2xvY2F0aW9uUG9zaXRpb24uaCBpbiBIZWFkZXJzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDYzQzMyQzI0MUU5ODEwRDkwMDY5OUJE
MCAvKiBfV0tHZW9sb2NhdGlvblBvc2l0aW9uLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMg
PSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJNjNDMzJDMjgxRTk4MTE5MDAwNjk5QkQwIC8qIF9XS0dl
b2xvY2F0aW9uUG9zaXRpb25JbnRlcm5hbC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gNjNDMzJDMjcxRTk4MTE5MDAwNjk5QkQwIC8qIF9XS0dlb2xvY2F0
aW9uUG9zaXRpb25JbnRlcm5hbC5oICovOyB9OwogCQk2NUI4NkYxRTEyRjExREUzMDBCN0REOEEg
LyogV0tCdW5kbGVJbnNwZWN0b3IuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IDY1Qjg2RjE4MTJGMTFEN0IwMEI3REQ4QSAvKiBXS0J1bmRsZUluc3BlY3Rv
ci5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CkBAIC0x
MTQ5LDcgKzEwODAsNiBAQAogCQk3MjhFODZGMTE3OTUxODhDMDA4Nzg3OUUgLyogV2ViQ29sb3JQ
aWNrZXJNYWMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IDcyOEU4NkVGMTc5NTE4OEMwMDg3ODc5RSAvKiBXZWJDb2xvclBpY2tlck1hYy5oICovOyB9Owog
CQk3NTNFM0UwRTE4ODczOTg5MDAxODg0OTYgLyogU2Vzc2lvblRyYWNrZXIuaCBpbiBIZWFkZXJz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDc1M0UzRTA5MTg4NzM5NEIwMDE4
ODQ5NiAvKiBTZXNzaW9uVHJhY2tlci5oICovOyB9OwogCQk3NUE4RDJDODE4N0NDRkFCMDBDMzlD
OUUgLyogV0tXZWJzaXRlRGF0YVN0b3JlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSA3NUE4RDJDNDE4N0NDRjlGMDBDMzlDOUUgLyogV0tXZWJzaXRlRGF0
YVN0b3JlLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHVibGljLCApOyB9OyB9Owot
CQk3NUE4RDJDOTE4N0NDRkFGMDBDMzlDOUUgLyogV0tXZWJzaXRlRGF0YVN0b3JlLm1tIGluIFNv
dXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNzVBOEQyQzUxODdDQ0Y5
RjAwQzM5QzlFIC8qIFdLV2Vic2l0ZURhdGFTdG9yZS5tbSAqLzsgfTsKIAkJNzVBOEQyRDYxODdE
MUMwRTAwQzM5QzlFIC8qIFdLV2Vic2l0ZURhdGFTdG9yZUludGVybmFsLmggaW4gSGVhZGVycyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA3NUE4RDJENDE4N0QxQzAxMDBDMzlD
OUUgLyogV0tXZWJzaXRlRGF0YVN0b3JlSW50ZXJuYWwuaCAqLzsgfTsKIAkJNzYyQjc0OEQxMjBC
Qzc1QzAwODE5MzM5IC8qIFdLUHJlZmVyZW5jZXNSZWZQcml2YXRlLmggaW4gSGVhZGVycyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA3NjJCNzQ4NDEyMEJCQTJEMDA4MTkzMzkg
LyogV0tQcmVmZXJlbmNlc1JlZlByaXZhdGUuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9
IChQcml2YXRlLCApOyB9OyB9OwogCQk3QTFFMkE4NTFFRUZFODkyMDAzN0EwRTAgLyogQVBJTm90
aWZpY2F0aW9uUHJvdmlkZXIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IDdBMUUyQTg0MUVFRkU4OEEwMDM3QTBFMCAvKiBBUElOb3RpZmljYXRpb25Qcm92
aWRlci5oICovOyB9OwpAQCAtMTE2OCw3ICsxMDk4LDYgQEAKIAkJN0MwNjVGMkMxQzhDRDk1RjAw
QzJEOTUwIC8qIFdlYlVzZXJDb250ZW50Q29udHJvbGxlckRhdGFUeXBlcy5oIGluIEhlYWRlcnMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gN0MwNjVGMkExQzhDRDk1RjAwQzJE
OTUwIC8qIFdlYlVzZXJDb250ZW50Q29udHJvbGxlckRhdGFUeXBlcy5oICovOyB9OwogCQk3QzEz
NUFBOTE3M0IwQkNBMDA1ODZBRTIgLyogV0tQbHVnaW5JbmZvcm1hdGlvbi5oIGluIEhlYWRlcnMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gN0MxMzVBQTcxNzNCMEJDQTAwNTg2
QUUyIC8qIFdLUGx1Z2luSW5mb3JtYXRpb24uaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9
IChQcml2YXRlLCApOyB9OyB9OwogCQk3QzFCQTMzRTFBNEEwRTYwMDA0M0UyNDkgLyogQVBJRGlj
dGlvbmFyeS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
N0MxQkEzM0MxQTRBMEU2MDAwNDNFMjQ5IC8qIEFQSURpY3Rpb25hcnkuaCAqLzsgfTsKLQkJN0My
NDEzMDIxQUFDRkE3NTAwQTU4QzE1IC8qIF9XS1VzZXJDb250ZW50RXh0ZW5zaW9uU3RvcmUubW0g
aW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA3QzI0MTMwMDFB
QUNGQTc1MDBBNThDMTUgLyogX1dLVXNlckNvbnRlbnRFeHRlbnNpb25TdG9yZS5tbSAqLzsgfTsK
IAkJN0MyNDEzMDMxQUFDRkE3NTAwQTU4QzE1IC8qIF9XS1VzZXJDb250ZW50RXh0ZW5zaW9uU3Rv
cmUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDdDMjQx
MzAxMUFBQ0ZBNzUwMEE1OEMxNSAvKiBfV0tVc2VyQ29udGVudEV4dGVuc2lvblN0b3JlLmggKi87
IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJN0MyNDEzMDUx
QUFDRkE5QzAwQTU4QzE1IC8qIF9XS1VzZXJDb250ZW50RXh0ZW5zaW9uU3RvcmVJbnRlcm5hbC5o
IGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gN0MyNDEzMDQx
QUFDRkE5QzAwQTU4QzE1IC8qIF9XS1VzZXJDb250ZW50RXh0ZW5zaW9uU3RvcmVJbnRlcm5hbC5o
ICovOyB9OwogCQk3QzI0MTMwOTFBQUNGQ0I0MDBBNThDMTUgLyogV0tVc2VyQ29udGVudEV4dGVu
c2lvblN0b3JlUmVmLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSA3QzI0MTMwNzFBQUNGQ0I0MDBBNThDMTUgLyogV0tVc2VyQ29udGVudEV4dGVuc2lvblN0
b3JlUmVmLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsK
QEAgLTExODMsNyArMTExMiw2IEBACiAJCTdDNEFCRUQxMUFBOEU5RjAwMDg4QUEzNyAvKiBXZWJD
b21waWxlZENvbnRlbnRSdWxlTGlzdC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gN0M0QUJFQ0YxQUE4RTlGMDAwODhBQTM3IC8qIFdlYkNvbXBpbGVkQ29u
dGVudFJ1bGVMaXN0LmggKi87IH07CiAJCTdDNEFCRUQ1MUFBOEZDQjgwMDg4QUEzNyAvKiBXZWJD
b21waWxlZENvbnRlbnRSdWxlTGlzdERhdGEuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IDdDNEFCRUQzMUFBOEZDQjgwMDg4QUEzNyAvKiBXZWJDb21waWxl
ZENvbnRlbnRSdWxlTGlzdERhdGEuaCAqLzsgfTsKIAkJN0M4ODJERjcxQzdFOTk2NTAwNkJGNzMx
IC8qIF9XS1VzZXJDb250ZW50V29ybGQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IDdDODgyREYzMUM3RTk5NUUwMDZCRjczMSAvKiBfV0tVc2VyQ29udGVu
dFdvcmxkLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsK
LQkJN0M4ODJERjgxQzdFOTk2QzAwNkJGNzMxIC8qIF9XS1VzZXJDb250ZW50V29ybGQubW0gaW4g
U291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA3Qzg4MkRGNDFDN0U5
OTVFMDA2QkY3MzEgLyogX1dLVXNlckNvbnRlbnRXb3JsZC5tbSAqLzsgfTsKIAkJN0M4ODJERjkx
QzdFOTk2RjAwNkJGNzMxIC8qIF9XS1VzZXJDb250ZW50V29ybGRJbnRlcm5hbC5oIGluIEhlYWRl
cnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gN0M4ODJERjUxQzdFOTk1RTAw
NkJGNzMxIC8qIF9XS1VzZXJDb250ZW50V29ybGRJbnRlcm5hbC5oICovOyB9OwogCQk3Qzg4MkRG
QTFDN0U5OTczMDA2QkY3MzEgLyogV0tVc2VyU2NyaXB0UHJpdmF0ZS5oIGluIEhlYWRlcnMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gN0M4ODJERjYxQzdFOTk1RTAwNkJGNzMx
IC8qIFdLVXNlclNjcmlwdFByaXZhdGUuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQ
cml2YXRlLCApOyB9OyB9OwogCQk3Qzg4MkRGRDFDN0U5OUE4MDA2QkY3MzEgLyogQVBJVXNlckNv
bnRlbnRXb3JsZC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gN0M4ODJERkMxQzdFOTlBNjAwNkJGNzMxIC8qIEFQSVVzZXJDb250ZW50V29ybGQuaCAqLzsg
fTsKQEAgLTExOTQsNyArMTEyMiw2IEBACiAJCTdDODlEMkE0MUE2Nzg4NzUwMDNBNUZERSAvKiBX
S1VzZXJTY3JpcHRSZWYuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IDdDODlEMkEyMUE2Nzg4NzUwMDNBNUZERSAvKiBXS1VzZXJTY3JpcHRSZWYuaCAqLzsg
c2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQk3Qzg5RDJCNDFB
NkIwNjhDMDAzQTVGREUgLyogQVBJQ29udGVudFJ1bGVMaXN0LmggaW4gSGVhZGVycyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA3Qzg5RDJCMjFBNkIwNjhDMDAzQTVGREUgLyog
QVBJQ29udGVudFJ1bGVMaXN0LmggKi87IH07CiAJCTdDODlEMkI2MUE2QjBERDkwMDNBNUZERSAv
KiBXS1VzZXJDb250ZW50Q29udHJvbGxlclByaXZhdGUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDdDODlEMkI1MUE2QjBERDkwMDNBNUZERSAvKiBXS1Vz
ZXJDb250ZW50Q29udHJvbGxlclByaXZhdGUuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9
IChQcml2YXRlLCApOyB9OyB9OwotCQk3Qzg5RDJCOTFBNkIwRjJDMDAzQTVGREUgLyogX1dLVXNl
ckNvbnRlbnRGaWx0ZXIubW0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSA3Qzg5RDJCNzFBNkIwRjJDMDAzQTVGREUgLyogX1dLVXNlckNvbnRlbnRGaWx0ZXIu
bW0gKi87IH07CiAJCTdDODlEMkJBMUE2QjBGMkMwMDNBNUZERSAvKiBfV0tVc2VyQ29udGVudEZp
bHRlci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gN0M4
OUQyQjgxQTZCMEYyQzAwM0E1RkRFIC8qIF9XS1VzZXJDb250ZW50RmlsdGVyLmggKi87IHNldHRp
bmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJN0M4OUQyQkMxQTZCMEY1
QjAwM0E1RkRFIC8qIF9XS1VzZXJDb250ZW50RmlsdGVySW50ZXJuYWwuaCBpbiBIZWFkZXJzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDdDODlEMkJCMUE2QjBGNUIwMDNBNUZE
RSAvKiBfV0tVc2VyQ29udGVudEZpbHRlckludGVybmFsLmggKi87IH07CiAJCTdDODlEMkQ3MUE2
QzZCRTYwMDNBNUZERSAvKiBfV0tQcm9jZXNzUG9vbENvbmZpZ3VyYXRpb25JbnRlcm5hbC5oIGlu
IEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gN0M4OUQyRDYxQTZD
NkJFNjAwM0E1RkRFIC8qIF9XS1Byb2Nlc3NQb29sQ29uZmlndXJhdGlvbkludGVybmFsLmggKi87
IH07CkBAIC0xMjEyLDcgKzExMzksNiBAQAogCQk3Q0IxNkZGMzE3MjRCQTJGMDA3QTBBOTUgLyog
Y29tLm1pY3Jvc29mdC5TaWx2ZXJsaWdodFBsdWdpbi5zYiBpbiBDb3B5IFBsdWctaW4gU2FuZGJv
eCBQcm9maWxlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA3Q0IxNkZFNjE3
MjRCOUI1MDA3QTBBOTUgLyogY29tLm1pY3Jvc29mdC5TaWx2ZXJsaWdodFBsdWdpbi5zYiAqLzsg
fTsKIAkJN0NCMTZGRjQxNzI0QkEzMDAwN0EwQTk1IC8qIGNvbS5vcmFjbGUuamF2YS5KYXZhQXBw
bGV0UGx1Z2luLnNiIGluIENvcHkgUGx1Zy1pbiBTYW5kYm94IFByb2ZpbGVzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDdDQjE2RkU3MTcyNEI5QjUwMDdBMEE5NSAvKiBjb20u
b3JhY2xlLmphdmEuSmF2YUFwcGxldFBsdWdpbi5zYiAqLzsgfTsKIAkJN0NCMzY1QUExRDMxREI3
MDAwNzE1OENBIC8qIF9XS1VzZXJJbml0aWF0ZWRBY3Rpb24uaCBpbiBIZWFkZXJzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDdDQjM2NUE4MUQzMURCNzAwMDcxNThDQSAvKiBf
V0tVc2VySW5pdGlhdGVkQWN0aW9uLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJp
dmF0ZSwgKTsgfTsgfTsKLQkJN0NCMzY1QUIxRDMxREI3MDAwNzE1OENBIC8qIF9XS1VzZXJJbml0
aWF0ZWRBY3Rpb24ubW0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSA3Q0IzNjVBOTFEMzFEQjcwMDA3MTU4Q0EgLyogX1dLVXNlckluaXRpYXRlZEFjdGlvbi5t
bSAqLzsgfTsKIAkJN0NCMzY1QUQxRDMxREMxMDAwNzE1OENBIC8qIF9XS1VzZXJJbml0aWF0ZWRB
Y3Rpb25JbnRlcm5hbC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gN0NCMzY1QUMxRDMxREMxMDAwNzE1OENBIC8qIF9XS1VzZXJJbml0aWF0ZWRBY3Rpb25J
bnRlcm5hbC5oICovOyB9OwogCQk3Q0IzNjVCMTFEMzFERDFFMDA3MTU4Q0EgLyogQVBJVXNlcklu
aXRpYXRlZEFjdGlvbi5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gN0NCMzY1QUYxRDMxREQxRTAwNzE1OENBIC8qIEFQSVVzZXJJbml0aWF0ZWRBY3Rpb24u
aCAqLzsgfTsKIAkJN0NCQjgxMUQxQUEwRjhCMTAwNkIxOTQyIC8qIEluamVjdGVkQnVuZGxlRmls
ZUhhbmRsZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
N0NCQjgxMUIxQUEwRjhCMTAwNkIxOTQyIC8qIEluamVjdGVkQnVuZGxlRmlsZUhhbmRsZS5oICov
OyB9OwpAQCAtMTIyMyw3ICsxMTQ5LDYgQEAKIAkJN0NEM0E0ODMxQTVEMDJGQTAwOTYyM0I4IC8q
IEFQSU5hdmlnYXRpb24uaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IDdDRDNBNDgxMUE1RDAyRkEwMDk2MjNCOCAvKiBBUElOYXZpZ2F0aW9uLmggKi87IH07
CiAJCTdDRDVFQkI5MTc0NkExNUIwMDBDMUM0NSAvKiBXS09iakNUeXBlV3JhcHBlclJlZi5oIGlu
IEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gN0NENUVCQjcxNzQ2
QTE1QjAwMEMxQzQ1IC8qIFdLT2JqQ1R5cGVXcmFwcGVyUmVmLmggKi87IHNldHRpbmdzID0ge0FU
VFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJN0NENUVCQkIxNzQ2QTgzRTAwMEMxQzQ1
IC8qIFdLQmFzZU1hYy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gN0NENUVCQkExNzQ2QTgzRTAwMEMxQzQ1IC8qIFdLQmFzZU1hYy5oICovOyBzZXR0aW5n
cyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07Ci0JCTdDRDVFQkJFMTc0NkIwNEMw
MDBDMUM0NSAvKiBXS1R5cGVSZWZXcmFwcGVyLm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gN0NENUVCQkMxNzQ2QjA0QzAwMEMxQzQ1IC8qIFdLVHlwZVJl
ZldyYXBwZXIubW0gKi87IH07CiAJCTdDRDVFQkJGMTc0NkIwNEMwMDBDMUM0NSAvKiBXS1R5cGVS
ZWZXcmFwcGVyLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSA3Q0Q1RUJCRDE3NDZCMDRDMDAwQzFDNDUgLyogV0tUeXBlUmVmV3JhcHBlci5oICovOyBzZXR0
aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTdDRDYyMjc4MTczOUQ4
NjMwMDVCRDdGRiAvKiBQbHVnaW5TYW5kYm94UHJvZmlsZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gN0NENjIyNzYxNzM5RDg2MzAwNUJEN0ZGIC8qIFBs
dWdpblNhbmRib3hQcm9maWxlLmggKi87IH07CiAJCTdDRTREMjA3MUE0Njc3NjEwMEM3RjE1MiAv
KiBBUElMZWdhY3lDb250ZXh0SGlzdG9yeUNsaWVudC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gN0NFNEQyMDYxQTQ2Nzc1NzAwQzdGMTUyIC8qIEFQSUxl
Z2FjeUNvbnRleHRIaXN0b3J5Q2xpZW50LmggKi87IH07CkBAIC0xMjMzLDcgKzExNTgsNiBAQAog
CQk3Q0U0RDIyODFBNDkxNkMyMDBDN0YxNTIgLyogV2ViUHJvY2Vzc1Bvb2xNZXNzYWdlcy5oIGlu
IEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gN0NFNEQyMjYxQTQ5
MTZDMjAwQzdGMTUyIC8qIFdlYlByb2Nlc3NQb29sTWVzc2FnZXMuaCAqLzsgfTsKIAkJN0NFOUNF
MTAxRkEwNzY3QTAwMDE3N0RFIC8qIFdlYlBhZ2VVcGRhdGVQcmVmZXJlbmNlcy5jcHAgaW4gU291
cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA3Q0U5Q0UwRjFGQTA3NjRE
MDAwMTc3REUgLyogV2ViUGFnZVVwZGF0ZVByZWZlcmVuY2VzLmNwcCAqLzsgfTsKIAkJN0NFQjAw
REQxRkE2OUFCRTAwNjU0NzNCIC8qIFdlYlByZWZlcmVuY2VzRXhwZXJpbWVudGFsRmVhdHVyZXMu
Y3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gN0NFQjAw
REMxRkE2OUE4OTAwNjU0NzNCIC8qIFdlYlByZWZlcmVuY2VzRXhwZXJpbWVudGFsRmVhdHVyZXMu
Y3BwICovOyB9OwotCQk3Q0VGQTk2MjFBQzA5OTkzMDBCOTEwRkQgLyogQVBJQ29udGVudFJ1bGVM
aXN0U3RvcmVDb2NvYS5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IDdDRUZBOTYwMUFDMDk5OTMwMEI5MTBGRCAvKiBBUElDb250ZW50UnVsZUxpc3RTdG9y
ZUNvY29hLm1tICovOyB9OwogCQk3Q0Y0N0ZGNzE3Mjc1QjcxMDA4QUNCOTEgLyogV0tCdW5kbGVQ
YWdlQmFubmVyLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSA3Q0Y0N0ZGNTE3Mjc1QjcxMDA4QUNCOTEgLyogV0tCdW5kbGVQYWdlQmFubmVyLmggKi87IHNl
dHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJN0NGNDdGRkIxNzI3
NUM1NzAwOEFDQjkxIC8qIFBhZ2VCYW5uZXIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IDdDRjQ3RkY5MTcyNzVDNTcwMDhBQ0I5MSAvKiBQYWdlQmFubmVy
LmggKi87IH07CiAJCTdDRjQ3RkZGMTcyNzZBRTMwMDhBQ0I5MSAvKiBXS0J1bmRsZVBhZ2VCYW5u
ZXJNYWMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDdD
RjQ3RkZEMTcyNzZBRTMwMDhBQ0I5MSAvKiBXS0J1bmRsZVBhZ2VCYW5uZXJNYWMuaCAqLzsgc2V0
dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwpAQCAtMTI4MiwyNSArMTIw
NiwxOSBAQAogCQk5MzkxMDc0RjFCRjZCQzY1MDA4QzE3QUQgLyogV0tQcmV2aWV3RWxlbWVudElu
Zm9JbnRlcm5hbC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gOTM5MTA3NEUxQkY2QkM2NTAwOEMxN0FEIC8qIFdLUHJldmlld0VsZW1lbnRJbmZvSW50ZXJu
YWwuaCAqLzsgfTsKIAkJOTM5MUYyQ0IxMjFCNjdBRDAwRUJGN0U4IC8qIFdlYkZyYW1lTmV0d29y
a2luZ0NvbnRleHQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IDkzOTFGMjgzMTIxQjM4RjUwMEVCRjdFOCAvKiBXZWJGcmFtZU5ldHdvcmtpbmdDb250ZXh0
LmggKi87IH07CiAJCTkzOTVFNjhBMUJGMkMzMzIwMEY0OUJDRSAvKiBXS1ByZXZpZXdFbGVtZW50
SW5mby5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gOTM5
NUU2ODkxQkYyQzMzMjAwRjQ5QkNFIC8qIFdLUHJldmlld0VsZW1lbnRJbmZvLmggKi87IHNldHRp
bmdzID0ge0FUVFJJQlVURVMgPSAoUHVibGljLCApOyB9OyB9OwotCQk5Mzk1RTY4QzFCRjJDMzUy
MDBGNDlCQ0UgLyogV0tQcmV2aWV3RWxlbWVudEluZm8ubW0gaW4gU291cmNlcyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA5Mzk1RTY4QjFCRjJDMzUyMDBGNDlCQ0UgLyogV0tQ
cmV2aWV3RWxlbWVudEluZm8ubW0gKi87IH07CiAJCTkzOUY0MDFDMTlGQjBCQkMwMDJCMkI0MiAv
KiBXS0FjdGlvbk1lbnVUeXBlcy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gOTM5RjQwMUIxOUZCMEJCQzAwMkIyQjQyIC8qIFdLQWN0aW9uTWVudVR5cGVz
LmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJOTNB
MjUzRUQxQzkyMkUxRTAwRjlGNjhEIC8qIFdLUHJldmlld0FjdGlvbkl0ZW0uaCBpbiBIZWFkZXJz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDkzQTI1M0VDMUM5MjJFMUUwMEY5
RjY4RCAvKiBXS1ByZXZpZXdBY3Rpb25JdGVtLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMg
PSAoUHVibGljLCApOyB9OyB9OwotCQk5M0EyNTNFRjFDOTIyRThFMDBGOUY2OEQgLyogV0tQcmV2
aWV3QWN0aW9uSXRlbS5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IDkzQTI1M0VFMUM5MjJFOEUwMEY5RjY4RCAvKiBXS1ByZXZpZXdBY3Rpb25JdGVtLm1t
ICovOyB9OwogCQk5M0EyNTNGMzFDOTI0MTEyMDBGOUY2OEQgLyogV0tQcmV2aWV3QWN0aW9uSXRl
bUlkZW50aWZpZXJzLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSA5M0EyNTNGMjFDOTI0MTEyMDBGOUY2OEQgLyogV0tQcmV2aWV3QWN0aW9uSXRlbUlkZW50
aWZpZXJzLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHVibGljLCApOyB9OyB9Owot
CQk5M0EyNTNGNTFDOTI0MTMyMDBGOUY2OEQgLyogV0tQcmV2aWV3QWN0aW9uSXRlbUlkZW50aWZp
ZXJzLm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gOTNB
MjUzRjQxQzkyNDEzMjAwRjlGNjhEIC8qIFdLUHJldmlld0FjdGlvbkl0ZW1JZGVudGlmaWVycy5t
bSAqLzsgfTsKIAkJOTNBMkEzNDYxRDI0NjEyNTAwMkI1OUQzIC8qIG1lZGlhSWNvbi5wZGYgaW4g
UmVzb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDkzQTJBMzQ1MUQy
NDYxMjUwMDJCNTlEMyAvKiBtZWRpYUljb24ucGRmICovOyB9OwogCQk5M0E4OEIzMzFCQzZFOUNE
MDBBQkE1QzIgLyogV2ViSGl0VGVzdFJlc3VsdERhdGEuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDkzQTg4QjMxMUJDNkU5QzAwMEFCQTVDMiAvKiBXZWJI
aXRUZXN0UmVzdWx0RGF0YS5oICovOyB9OwotCQk5M0E4OEIzOTFCQzcwRjNGMDBBQkE1QzIgLyog
X1dLSGl0VGVzdFJlc3VsdC5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IDkzQTg4QjM3MUJDNzBGMkUwMEFCQTVDMiAvKiBfV0tIaXRUZXN0UmVzdWx0Lm1t
ICovOyB9OwogCQk5M0E4OEIzQjFCQzcxMEQ5MDBBQkE1QzIgLyogX1dLSGl0VGVzdFJlc3VsdElu
dGVybmFsLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA5
M0E4OEIzQTFCQzcxMEQ5MDBBQkE1QzIgLyogX1dLSGl0VGVzdFJlc3VsdEludGVybmFsLmggKi87
IH07CiAJCTkzQTg4QjQ2MUJDODgyOTMwMEFCQTVDMiAvKiBBUElIaXRUZXN0UmVzdWx0LmggaW4g
SGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA5M0E4OEI0MzFCQzg4
MjhDMDBBQkE1QzIgLyogQVBJSGl0VGVzdFJlc3VsdC5oICovOyB9OwogCQk5M0JERUIwMTE3MURE
N0FGMDBCRkVFMUIgLyogV0tQYWdlTG9hZFR5cGVzUHJpdmF0ZS5oIGluIEhlYWRlcnMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gOTNCREVCMDAxNzFERDdBRjAwQkZFRTFCIC8q
IFdLUGFnZUxvYWRUeXBlc1ByaXZhdGUuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQ
cml2YXRlLCApOyB9OyB9OwogCQk5M0U2QTRFRTFCQzVERDM5MDBGOEEwRTcgLyogX1dLSGl0VGVz
dFJlc3VsdC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
OTNFNkE0RUQxQkM1REQzOTAwRjhBMEU3IC8qIF9XS0hpdFRlc3RSZXN1bHQuaCAqLzsgc2V0dGlu
Z3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQk5M0Y1NDlCNDFFMzE3NEI3
MDAwRTcyMzkgLyogV0tTbmFwc2hvdENvbmZpZ3VyYXRpb24uaCBpbiBIZWFkZXJzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDkzRjU0OUIzMUUzMTc0QjcwMDBFNzIzOSAvKiBX
S1NuYXBzaG90Q29uZmlndXJhdGlvbi5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFB1
YmxpYywgKTsgfTsgfTsKLQkJOTNGNTQ5QjYxRTMxNzREQTAwMEU3MjM5IC8qIFdLU25hcHNob3RD
b25maWd1cmF0aW9uLm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gOTNGNTQ5QjUxRTMxNzREQTAwMEU3MjM5IC8qIFdLU25hcHNob3RDb25maWd1cmF0aW9u
Lm1tICovOyB9OwogCQk5OTBEMjhBQjFDNjQyMEM2MDA5ODY5NzcgLyogX1dLQXV0b21hdGlvblNl
c3Npb24uaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDk5
MEQyOEE3MUM2NDA0QjAwMDk4Njk3NyAvKiBfV0tBdXRvbWF0aW9uU2Vzc2lvbi5oICovOyBzZXR0
aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTk5MEQyOEFDMUM2NDIw
Q0YwMDk4Njk3NyAvKiBfV0tBdXRvbWF0aW9uU2Vzc2lvbkRlbGVnYXRlLmggaW4gSGVhZGVycyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA5OTBEMjhBODFDNjQwNEIwMDA5ODY5
NzcgLyogX1dLQXV0b21hdGlvblNlc3Npb25EZWxlZ2F0ZS5oICovOyBzZXR0aW5ncyA9IHtBVFRS
SUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTk5MEQyOEIxMUM2NTIwOEQwMDk4Njk3NyAv
KiBfV0tBdXRvbWF0aW9uU2Vzc2lvbkludGVybmFsLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA5OTBEMjhBRjFDNjUyMDM5MDA5ODY5NzcgLyogX1dLQXV0
b21hdGlvblNlc3Npb25JbnRlcm5hbC5oICovOyB9OwotCQk5OTBEMjhCMjFDNjUyMDk0MDA5ODY5
NzcgLyogX1dLQXV0b21hdGlvblNlc3Npb24ubW0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSA5OTBEMjhBRDFDNjUxOTA0MDA5ODY5NzcgLyogX1dLQXV0b21h
dGlvblNlc3Npb24ubW0gKi87IH07CiAJCTk5MEQyOEJCMUM2NTM5RDMwMDk4Njk3NyAvKiBBdXRv
bWF0aW9uU2Vzc2lvbkNsaWVudC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gOTkwRDI4QjcxQzY1MzlBMDAwOTg2OTc3IC8qIEF1dG9tYXRpb25TZXNzaW9u
Q2xpZW50LmggKi87IH07CiAJCTk5MEQyOEMwMUM2NTUzRjEwMDk4Njk3NyAvKiBBUElBdXRvbWF0
aW9uU2Vzc2lvbkNsaWVudC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gOTkwRDI4QjMxQzY1MjZENDAwOTg2OTc3IC8qIEFQSUF1dG9tYXRpb25TZXNzaW9u
Q2xpZW50LmggKi87IH07CiAJCTk5MjQ5QUQ1MUYxRjFFNTYwMEI2MkZCQiAvKiBBdXRvbWF0aW9u
RnJvbnRlbmREaXNwYXRjaGVycy5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSA5OTI0OUFEMzFGMUYxRTMzMDBCNjJGQkIgLyogQXV0b21hdGlvbkZyb250
ZW5kRGlzcGF0Y2hlcnMuY3BwICovOyB9OwpAQCAtMTMxNCw3ICsxMjMyLDYgQEAKIAkJOTk1NUE2
RjYxQzc5ODZFMzAwRUI2QTkzIC8qIEF1dG9tYXRpb25Qcm90b2NvbE9iamVjdHMuY3BwIGluIFNv
dXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gOTk1NUE2RjIxQzc5ODY2
NDAwRUI2QTkzIC8qIEF1dG9tYXRpb25Qcm90b2NvbE9iamVjdHMuY3BwICovOyB9OwogCQk5OTU1
QTZGNzFDNzk4NkU1MDBFQjZBOTMgLyogQXV0b21hdGlvblByb3RvY29sT2JqZWN0cy5oIGluIEhl
YWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gOTk1NUE2RjMxQzc5ODY2
NDAwRUI2QTkzIC8qIEF1dG9tYXRpb25Qcm90b2NvbE9iamVjdHMuaCAqLzsgfTsKIAkJOTk3ODhB
Q0IxRjQyMUREQTAwQzA4MDAwIC8qIF9XS0F1dG9tYXRpb25TZXNzaW9uQ29uZmlndXJhdGlvbi5o
IGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gOTk3ODhBQzkx
RjQyMURDQTAwQzA4MDAwIC8qIF9XS0F1dG9tYXRpb25TZXNzaW9uQ29uZmlndXJhdGlvbi5oICov
OyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07Ci0JCTk5Nzg4QUND
MUY0MjFERTIwMEMwODAwMCAvKiBfV0tBdXRvbWF0aW9uU2Vzc2lvbkNvbmZpZ3VyYXRpb24ubW0g
aW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA5OTc4OEFDQTFG
NDIxRENBMDBDMDgwMDAgLyogX1dLQXV0b21hdGlvblNlc3Npb25Db25maWd1cmF0aW9uLm1tICov
OyB9OwogCQk5OUMzQUUyRDFEQURBNkFEMDBBRjVDMTYgLyogV2ViQXV0b21hdGlvblNlc3Npb25N
YWNyb3MuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDk5
QzNBRTJDMURBREE2QTcwMEFGNUMxNiAvKiBXZWJBdXRvbWF0aW9uU2Vzc2lvbk1hY3Jvcy5oICov
OyB9OwogCQk5OUM4MUQ1QTFDMjBFN0UyMDA1QzRDODIgLyogQXV0b21hdGlvbkNsaWVudC5oIGlu
IEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gOTlDODFENTUxQzIw
REZCRTAwNUM0QzgyIC8qIEF1dG9tYXRpb25DbGllbnQuaCAqLzsgfTsKIAkJOTlDODFENUQxQzIx
RjM4QjAwNUM0QzgyIC8qIEFQSUF1dG9tYXRpb25DbGllbnQuaCBpbiBIZWFkZXJzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDk5QzgxRDVCMUMyMEU4MTcwMDVDNEM4MiAvKiBB
UElBdXRvbWF0aW9uQ2xpZW50LmggKi87IH07CkBAIC0xMzI3LDcgKzEyNDQsNiBAQAogCQlBMTE0
NTVCMDIxMUZEMjUyMDBDQTkzNUIgLyogTmV0d29ya1Byb3hpbWl0eU1hbmFnZXIuaCBpbiBIZWFk
ZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEExMTQ1NUFFMjExRkQyNTIw
MENBOTM1QiAvKiBOZXR3b3JrUHJveGltaXR5TWFuYWdlci5oICovOyB9OwogCQlBMTE1REM3MjE5
MUQ4MkRBMDBEQTgwNzIgLyogX1dLV2ViVmlld1ByaW50Rm9ybWF0dGVyLmggaW4gSGVhZGVycyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBMTE1REM2RTE5MUQ4MkFCMDBEQTgw
NzIgLyogX1dLV2ViVmlld1ByaW50Rm9ybWF0dGVyLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVU
RVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJQTExOEE5RUYxOTA3QUQ2RjAwRjdDOTJCIC8qIFF1
aWNrTG9va0RvY3VtZW50RGF0YS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gQTExOEE5RUQxOTA3QUQ2RjAwRjdDOTJCIC8qIFF1aWNrTG9va0RvY3VtZW50
RGF0YS5oICovOyB9OwotCQlBMTE4QTlGMjE5MDhCOEVBMDBGN0M5MkIgLyogX1dLTlNGaWxlTWFu
YWdlckV4dHJhcy5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IEExMThBOUYwMTkwOEI4RUEwMEY3QzkyQiAvKiBfV0tOU0ZpbGVNYW5hZ2VyRXh0cmFzLm1t
ICovOyB9OwogCQlBMTE4QTlGMzE5MDhCOEVBMDBGN0M5MkIgLyogX1dLTlNGaWxlTWFuYWdlckV4
dHJhcy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQTEx
OEE5RjExOTA4QjhFQTAwRjdDOTJCIC8qIF9XS05TRmlsZU1hbmFnZXJFeHRyYXMuaCAqLzsgc2V0
dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQlBMTNCM0RBMjIwN0Yz
OURFMDA5MEM1OEQgLyogTW9iaWxlV2lGaVNQSS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gQTEzQjNEQTEyMDdGMzlERTAwOTBDNThEIC8qIE1vYmlsZVdp
RmlTUEkuaCAqLzsgfTsKIAkJQTEzREM2ODIyMDdBQTZCMjAwNjZFRjcyIC8qIFdLQXBwbGljYXRp
b25TdGF0ZVRyYWNraW5nVmlldy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gQTEzREM2ODAyMDdBQTZCMjAwNjZFRjcyIC8qIFdLQXBwbGljYXRpb25TdGF0
ZVRyYWNraW5nVmlldy5oICovOyB9OwpAQCAtMTMzNSw3ICsxMjUxLDYgQEAKIAkJQTE4MkQ1QjUx
QkU2QkQyNTAwODdBN0NDIC8qIEFjY2Vzc2liaWxpdHlJT1MuaCBpbiBIZWFkZXJzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEExODJENUIzMUJFNkJEMjUwMDg3QTdDQyAvKiBB
Y2Nlc3NpYmlsaXR5SU9TLmggKi87IH07CiAJCUExOUREM0MwMUQwN0QxNjgwMEFDODIzQiAvKiBf
V0tXZWJWaWV3UHJpbnRGb3JtYXR0ZXJJbnRlcm5hbC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQTE5REQzQkYxRDA3RDE2ODAwQUM4MjNCIC8qIF9XS1dl
YlZpZXdQcmludEZvcm1hdHRlckludGVybmFsLmggKi87IH07CiAJCUExQTRGRTVBMThEQ0U5RkEw
MEI1RUE4QSAvKiBfV0tEb3dubG9hZC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gQTFBNEZFNTcxOERDRTlGQTAwQjVFQThBIC8qIF9XS0Rvd25sb2FkLmgg
Ki87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKLQkJQTFBNEZF
NUIxOERDRTlGQTAwQjVFQThBIC8qIF9XS0Rvd25sb2FkLm1tIGluIFNvdXJjZXMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQTFBNEZFNTgxOERDRTlGQTAwQjVFQThBIC8qIF9X
S0Rvd25sb2FkLm1tICovOyB9OwogCQlBMUE0RkU1QzE4RENFOUZBMDBCNUVBOEEgLyogX1dLRG93
bmxvYWRJbnRlcm5hbC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gQTFBNEZFNTkxOERDRTlGQTAwQjVFQThBIC8qIF9XS0Rvd25sb2FkSW50ZXJuYWwuaCAq
LzsgfTsKIAkJQTFBNEZFNjExOERENTRBNDAwQjVFQThBIC8qIF9XS0Rvd25sb2FkRGVsZWdhdGUu
aCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEExQTRGRTYw
MThERDU0QTQwMEI1RUE4QSAvKiBfV0tEb3dubG9hZERlbGVnYXRlLmggKi87IHNldHRpbmdzID0g
e0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJQTFDNTEyQzkxOTA2NTZFNTAwNDQ4
OTE0IC8qIFdlYlByZXZpZXdMb2FkZXJDbGllbnQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEExQzUxMkM3MTkwNjU2RTUwMDQ0ODkxNCAvKiBXZWJQcmV2
aWV3TG9hZGVyQ2xpZW50LmggKi87IH07CkBAIC0xMzQ4LDcgKzEyNjMsNiBAQAogCQlBNTE4QjVE
MjFGRTFENTVCMDBGOUZBMjggLyogV0tJbnNwZWN0b3JXS1dlYlZpZXcuaCBpbiBIZWFkZXJzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEE1MThCNUQwMUZFMUQ1NUIwMEY5RkEy
OCAvKiBXS0luc3BlY3RvcldLV2ViVmlldy5oICovOyB9OwogCQlBNTQyOTNBNDE5NUE0M0RBMDAy
NzgyQzcgLyogV0tJbnNwZWN0b3JOb2RlU2VhcmNoR2VzdHVyZVJlY29nbml6ZXIuaCBpbiBIZWFk
ZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEE1NDI5M0EyMTk1QTQzQzYw
MDI3ODJDNyAvKiBXS0luc3BlY3Rvck5vZGVTZWFyY2hHZXN0dXJlUmVjb2duaXplci5oICovOyB9
OwogCQlBNTVCQTgxMDFCQTEzMTdFMDA3Q0QzM0QgLyogX1dLUmVtb3RlV2ViSW5zcGVjdG9yVmll
d0NvbnRyb2xsZXIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IEE1NUJBODBDMUJBMTJCRTEwMDdDRDMzRCAvKiBfV0tSZW1vdGVXZWJJbnNwZWN0b3JWaWV3
Q29udHJvbGxlci5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07
IH07Ci0JCUE1NUJBODExMUJBMTMxODEwMDdDRDMzRCAvKiBfV0tSZW1vdGVXZWJJbnNwZWN0b3JW
aWV3Q29udHJvbGxlci5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IEE1NUJBODBEMUJBMTJCRTEwMDdDRDMzRCAvKiBfV0tSZW1vdGVXZWJJbnNwZWN0b3JW
aWV3Q29udHJvbGxlci5tbSAqLzsgfTsKIAkJQTU1QkE4MTcxQkEyM0UxMjAwN0NEMzNEIC8qIFJl
bW90ZVdlYkluc3BlY3RvclVJLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSBBNTVCQTgxMzFCQTIzRTA1MDA3Q0QzM0QgLyogUmVtb3RlV2ViSW5zcGVjdG9y
VUkuaCAqLzsgfTsKIAkJQTU1QkE4MUYxQkEyNUIyNzAwN0NEMzNEIC8qIFJlbW90ZVdlYkluc3Bl
Y3RvclByb3h5LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSBBNTVCQTgxOTFCQTI1QjFFMDA3Q0QzM0QgLyogUmVtb3RlV2ViSW5zcGVjdG9yUHJveHkuaCAq
LzsgfTsKIAkJQTU1QkE4MjUxQkEyNUNGQjAwN0NEMzNEIC8qIFJlbW90ZVdlYkluc3BlY3RvclBy
b3h5TWVzc2FnZXMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IEE1NUJBODIyMUJBMjVCQjgwMDdDRDMzRCAvKiBSZW1vdGVXZWJJbnNwZWN0b3JQcm94eU1l
c3NhZ2VzLmggKi87IH07CkBAIC0xMzU3LDcgKzEyNzEsNiBAQAogCQlBNTVCQTgzNTFCQTNFNzBB
MDA3Q0QzM0QgLyogV2ViSW5zcGVjdG9yRnJvbnRlbmRBUElEaXNwYXRjaGVyLmggaW4gSGVhZGVy
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBNTVCQTgzMzFCQTNFNkZBMDA3
Q0QzM0QgLyogV2ViSW5zcGVjdG9yRnJvbnRlbmRBUElEaXNwYXRjaGVyLmggKi87IH07CiAJCUE1
OEI2RjA4MThGQ0E3MzMwMDhDQkE1MyAvKiBXS0ZpbGVVcGxvYWRQYW5lbC5oIGluIEhlYWRlcnMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQTU4QjZGMDYxOEZDQTczMzAwOENC
QTUzIC8qIFdLRmlsZVVwbG9hZFBhbmVsLmggKi87IH07CiAJCUE1QzBGMEE3MjAwMDY1NEQwMDUz
NjUzNiAvKiBfV0tOU1dpbmRvd0V4dHJhcy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gQTVDMEYwQTYyMDAwNjU0NDAwNTM2NTM2IC8qIF9XS05TV2luZG93
RXh0cmFzLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsK
LQkJQTVDMEYwQTgyMDAwNjU1MTAwNTM2NTM2IC8qIF9XS05TV2luZG93RXh0cmFzLm1tIGluIFNv
dXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQTVDMEYwQTUyMDAwNjU0
NDAwNTM2NTM2IC8qIF9XS05TV2luZG93RXh0cmFzLm1tICovOyB9OwogCQlBNUMwRjBBQjIwMDA2
NTgyMDA1MzY1MzYgLyogV0tJbnNwZWN0b3JXaW5kb3cuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEE1QzBGMEFBMjAwMDY1NkUwMDUzNjUzNiAvKiBXS0lu
c3BlY3RvcldpbmRvdy5oICovOyB9OwogCQlBNUVGRDM4QzE2QjBFODhDMDBCMkYwRTggLyogV0tQ
YWdlVmlzaWJpbGl0eVR5cGVzLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSBBNUVGRDM4QjE2QjBFODhDMDBCMkYwRTggLyogV0tQYWdlVmlzaWJpbGl0eVR5
cGVzLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJ
QTc4Q0NEREExOTNBQzlGNDAwNUVDQzI1IC8qIGNvbS5hcHBsZS5XZWJLaXQuU3RvcmFnZS5zYiBp
biBDb3B5RmlsZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQTc4Q0NERDcx
OTNBQzlFMzAwNUVDQzI1IC8qIGNvbS5hcHBsZS5XZWJLaXQuU3RvcmFnZS5zYiAqLzsgfTsKQEAg
LTE0OTIsNyArMTQwNSw2IEBACiAJCUJDODU3RkI1MTJCODMwRTYwMEVERUIyRSAvKiBBUElPcGVu
UGFuZWxQYXJhbWV0ZXJzLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSBCQzg1N0ZCMzEyQjgzMEU2MDBFREVCMkUgLyogQVBJT3BlblBhbmVsUGFyYW1ldGVy
cy5oICovOyB9OwogCQlCQzg1N0ZFNjEyQjg0M0Q4MDBFREVCMkUgLyogV0tPcGVuUGFuZWxQYXJh
bWV0ZXJzUmVmLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSBCQzg1N0ZFNDEyQjg0M0Q4MDBFREVCMkUgLyogV0tPcGVuUGFuZWxQYXJhbWV0ZXJzUmVmLmgg
Ki87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJQkM4Njk5
QjUxMTZBQURBQTAwMkE5MjVCIC8qIFdLVmlldy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gQkM4Njk5QjIxMTZBQURBQTAwMkE5MjVCIC8qIFdLVmlldy5o
ICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07Ci0JCUJDODY5
OUI2MTE2QUFEQUEwMDJBOTI1QiAvKiBXS1ZpZXcubW0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBCQzg2OTlCMzExNkFBREFBMDAyQTkyNUIgLyogV0tWaWV3
Lm1tICovOyB9OwogCQlCQzg2OTlCNzExNkFBREFBMDAyQTkyNUIgLyogV0tWaWV3SW50ZXJuYWwu
aCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEJDODY5OUI0
MTE2QUFEQUEwMDJBOTI1QiAvKiBXS1ZpZXdJbnRlcm5hbC5oICovOyB9OwogCQlCQzhBNTAxNTEx
NzY1RjU2MDA3NTc1NzMgLyogV0tSZXRhaW5QdHIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEJDOEE1MDE0MTE3NjVGNTYwMDc1NzU3MyAvKiBXS1JldGFp
blB0ci5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJ
CUJDOEFDQTEzMTY2NzBEODkwMDRDMTk0MSAvKiBPYmpDT2JqZWN0R3JhcGguaCBpbiBIZWFkZXJz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEJDOEFDQTBGMTY2NzBEN0EwMDRD
MTk0MSAvKiBPYmpDT2JqZWN0R3JhcGguaCAqLzsgfTsKQEAgLTE1MDcsNyArMTQxOSw2IEBACiAJ
CUJDOUZBNTIwMTYwRDNCNDMwMDU0REY5QSAvKiBGb3VuZGF0aW9uLmZyYW1ld29yayBpbiBGcmFt
ZXdvcmtzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEJDM0RFNDY4MTVBOTE3
NjMwMDhEMjZGQyAvKiBGb3VuZGF0aW9uLmZyYW1ld29yayAqLzsgfTsKIAkJQkNBMEVGN0YxMjMz
MUU3ODAwN0QzQ0ZCIC8qIFdlYlVuZG9TdGVwLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSBCQ0EwRUY3RDEyMzMxRTc4MDA3RDNDRkIgLyogV2ViVW5kb1N0
ZXAuaCAqLzsgfTsKIAkJQkNBMEVGOUYxMjMzMjY0MjAwN0QzQ0ZCIC8qIFdlYkVkaXRDb21tYW5k
UHJveHkuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEJD
QTBFRjlEMTIzMzI2NDIwMDdEM0NGQiAvKiBXZWJFZGl0Q29tbWFuZFByb3h5LmggKi87IH07Ci0J
CUJDQTI4NEQ2MTQ5MkYyQzcwMDFGOTA0MiAvKiBXS0Nvbm5lY3Rpb24ubW0gaW4gU291cmNlcyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBCQ0EyODRENDE0OTJGMkM3MDAxRjkw
NDIgLyogV0tDb25uZWN0aW9uLm1tICovOyB9OwogCQlCQ0EyODRENzE0OTJGMkM3MDAxRjkwNDIg
LyogV0tDb25uZWN0aW9uLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSBCQ0EyODRENTE0OTJGMkM3MDAxRjkwNDIgLyogV0tDb25uZWN0aW9uLmggKi87IHNl
dHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJQkNBOEM2QTkxMUUz
QkE1RjAwODEyRkI3IC8qIEluamVjdGVkQnVuZGxlUGFnZUxvYWRlckNsaWVudC5oIGluIEhlYWRl
cnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQkNBOEM2QTcxMUUzQkE1RjAw
ODEyRkI3IC8qIEluamVjdGVkQnVuZGxlUGFnZUxvYWRlckNsaWVudC5oICovOyB9OwogCQlCQ0E4
QzZCMDExRTNDMDg3MDA4MTJGQjcgLyogSW5qZWN0ZWRCdW5kbGVQYWdlVUlDbGllbnQuaCBpbiBI
ZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEJDQThDNkFFMTFFM0Mw
ODcwMDgxMkZCNyAvKiBJbmplY3RlZEJ1bmRsZVBhZ2VVSUNsaWVudC5oICovOyB9OwpAQCAtMTUx
NywxNCArMTQyOCwxMSBAQAogCQlCQ0I5RTI0QjExMjBFMTVDMDBBMTM3RTAgLyogV0tDb250ZXh0
LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBCQ0I5RTI0
OTExMjBFMTVDMDBBMTM3RTAgLyogV0tDb250ZXh0LmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVU
RVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJQkNCOUY2QTAxMTIzQTg0QjAwQTEzN0UwIC8qIFdl
YkZyYW1lUG9saWN5TGlzdGVuZXJQcm94eS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gQkNCOUY2OUUxMTIzQTg0QjAwQTEzN0UwIC8qIFdlYkZyYW1lUG9s
aWN5TGlzdGVuZXJQcm94eS5oICovOyB9OwogCQlCQ0I5RjZBNTExMjNERDBEMDBBMTM3RTAgLyog
V0tGcmFtZVBvbGljeUxpc3RlbmVyLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSBCQ0I5RjZBMzExMjNERDBEMDBBMTM3RTAgLyogV0tGcmFtZVBvbGljeUxp
c3RlbmVyLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsK
LQkJQkNCQUFDNzIxNDRFNjE5OTAwNTNGODJGIC8qIFdLQnJvd3NpbmdDb250ZXh0Q29udHJvbGxl
ci5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEJDQkFB
QzZEMTQ0RTYxOTIwMDUzRjgyRiAvKiBXS0Jyb3dzaW5nQ29udGV4dENvbnRyb2xsZXIubW0gKi87
IH07CiAJCUJDQkFBQzczMTQ0RTYxOUUwMDUzRjgyRiAvKiBXS0Jyb3dzaW5nQ29udGV4dENvbnRy
b2xsZXIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEJD
QkFBQzZDMTQ0RTYxOTEwMDUzRjgyRiAvKiBXS0Jyb3dzaW5nQ29udGV4dENvbnRyb2xsZXIuaCAq
Lzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQlCQ0JBQUM3
NDE0NEU2MUE1MDA1M0Y4MkYgLyogV0tCcm93c2luZ0NvbnRleHRDb250cm9sbGVySW50ZXJuYWwu
aCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEJDQkFBQzZF
MTQ0RTYxOTIwMDUzRjgyRiAvKiBXS0Jyb3dzaW5nQ29udGV4dENvbnRyb2xsZXJJbnRlcm5hbC5o
ICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKCk7IH07IH07CiAJCUJDQkFBQ0VCMTQ1MjI1
RTMwMDUzRjgyRiAvKiBXS1Byb2Nlc3NHcm91cC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gQkNCQUFDRTUxNDUyMjVDOTAwNTNGODJGIC8qIFdLUHJvY2Vz
c0dyb3VwLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsK
LQkJQkNCQUFDRUMxNDUyMjVFMzAwNTNGODJGIC8qIFdLUHJvY2Vzc0dyb3VwLm1tIGluIFNvdXJj
ZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQkNCQUFDRTYxNDUyMjVDQTAw
NTNGODJGIC8qIFdLUHJvY2Vzc0dyb3VwLm1tICovOyB9OwogCQlCQ0JBQUNFRDE0NTIyNUUzMDA1
M0Y4MkYgLyogV0tQcm9jZXNzR3JvdXBQcml2YXRlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBCQ0JBQUNFNzE0NTIyNUNCMDA1M0Y4MkYgLyogV0tQcm9j
ZXNzR3JvdXBQcml2YXRlLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwg
KTsgfTsgfTsKIAkJQkNCQUFDRjQxNDUyMzI0RjAwNTNGODJGIC8qIFdLQnJvd3NpbmdDb250ZXh0
R3JvdXAuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEJD
QkFBQ0VFMTQ1MjMyNDMwMDUzRjgyRiAvKiBXS0Jyb3dzaW5nQ29udGV4dEdyb3VwLmggKi87IHNl
dHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKLQkJQkNCQUFDRjUxNDUy
MzI0RjAwNTNGODJGIC8qIFdLQnJvd3NpbmdDb250ZXh0R3JvdXAubW0gaW4gU291cmNlcyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBCQ0JBQUNFRjE0NTIzMjQ0MDA1M0Y4MkYg
LyogV0tCcm93c2luZ0NvbnRleHRHcm91cC5tbSAqLzsgfTsKIAkJQkNCQUFDRjYxNDUyMzI0RjAw
NTNGODJGIC8qIFdLQnJvd3NpbmdDb250ZXh0R3JvdXBQcml2YXRlLmggaW4gSGVhZGVycyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBCQ0JBQUNGMDE0NTIzMjQ4MDA1M0Y4MkYg
LyogV0tCcm93c2luZ0NvbnRleHRHcm91cFByaXZhdGUuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklC
VVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQlCQ0JBQUQwQjE0NTYwQTQzMDA1M0Y4MkYgLyog
V0tCcm93c2luZ0NvbnRleHRMb2FkRGVsZWdhdGUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEJDQkFBRDBBMTQ1NjBBNDMwMDUzRjgyRiAvKiBXS0Jyb3dz
aW5nQ29udGV4dExvYWREZWxlZ2F0ZS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFBy
aXZhdGUsICk7IH07IH07CiAJCUJDQkQzOTE0MTI1QkIxQTgwMEQyQzI5RiAvKiBXZWJQYWdlUHJv
eHlNZXNzYWdlUmVjZWl2ZXIuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gQkNCRDM5MTIxMjVCQjFBODAwRDJDMjlGIC8qIFdlYlBhZ2VQcm94eU1lc3Nh
Z2VSZWNlaXZlci5jcHAgKi87IH07CkBAIC0xNjc3LDkgKzE1ODUsNyBAQAogCQlFQ0E2ODBEODFF
NjkwRTI1MDA3MzFEMjAgLyogV2ViUHJvY2Vzc0NvY29hLmggaW4gSGVhZGVycyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBFQ0E2ODBENzFFNjkwREY4MDA3MzFEMjAgLyogV2Vi
UHJvY2Vzc0NvY29hLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsg
fTsgfTsKIAkJRUQ4MkE3RjIxMjhDNkZBRjAwNDQ3N0IzIC8qIFdLQnVuZGxlUGFnZU92ZXJsYXku
aCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDFBMjJGMEZG
MTI4OUZDRDkwMDg1RTc0RiAvKiBXS0J1bmRsZVBhZ2VPdmVybGF5LmggKi87IHNldHRpbmdzID0g
e0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJRjQwOUJBMTgxRTZFNjRCQzAwOURB
MjhFIC8qIFdLRHJhZ0Rlc3RpbmF0aW9uQWN0aW9uLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBGNDA5QkExNzFFNkU2NEIzMDA5REEyOEUgLyogV0tEcmFn
RGVzdGluYXRpb25BY3Rpb24uaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRl
LCApOyB9OyB9OwotCQlGNDEwNTY2MzIxMzA2OTlBMDA5MjI4MUQgLyogQVBJQXR0YWNobWVudENv
Y29hLm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRjQx
MDU2NjEyMTMwNjk5QTAwOTIyODFEIC8qIEFQSUF0dGFjaG1lbnRDb2NvYS5tbSAqLzsgfTsKIAkJ
RjQ0MjkxOTIxRkE1OTFDOTAwMkNDOTNFIC8qIF9XS0F0dGFjaG1lbnQuaCBpbiBIZWFkZXJzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEY0NDI5MTkxMUZBNTkxMDcwMDJDQzkz
RSAvKiBfV0tBdHRhY2htZW50LmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0
ZSwgKTsgfTsgfTsKLQkJRjQ0MjkxOTQxRkE1OTMxMTAwMkNDOTNFIC8qIF9XS0F0dGFjaG1lbnQu
bW0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBGNDQyOTE5
MzFGQTU5MzExMDAyQ0M5M0UgLyogX1dLQXR0YWNobWVudC5tbSAqLzsgfTsKIAkJRjQ0MjkxOTYx
RkE1OTQyQTAwMkNDOTNFIC8qIF9XS0F0dGFjaG1lbnRJbnRlcm5hbC5oIGluIEhlYWRlcnMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRjQ0MjkxOTUxRkE1OTQyQTAwMkNDOTNF
IC8qIF9XS0F0dGFjaG1lbnRJbnRlcm5hbC5oICovOyB9OwogCQlGNDRERkVCMjFFOUU3NTJGMDAz
OEQxOTYgLyogV2ViSWNvblV0aWxpdGllcy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gRjQ0REZFQjAxRTlFNzUyRjAwMzhEMTk2IC8qIFdlYkljb25VdGls
aXRpZXMuaCAqLzsgfTsKIAkJRjQ5NkE0MzExRjU4QTI3MjAwNEMxNzU3IC8qIERyYWdEcm9wSW50
ZXJhY3Rpb25TdGF0ZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gRjQ5NkE0MkYxRjU4QTI3MjAwNEMxNzU3IC8qIERyYWdEcm9wSW50ZXJhY3Rpb25TdGF0
ZS5oICovOyB9OwpAQCAtMTY4OCw3ICsxNTk0LDYgQEAKIAkJRjYxMTNFMjUxMjZDRTE4MjAwNTdE
MEE3IC8qIEFQSVVzZXJDb250ZW50VVJMUGF0dGVybi5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRjYxMTNFMjQxMjZDRTE4MjAwNTdEMEE3IC8qIEFQSVVz
ZXJDb250ZW50VVJMUGF0dGVybi5oICovOyB9OwogCQlGNjExM0UyOTEyNkNFMTlCMDA1N0QwQTcg
LyogV0tVc2VyQ29udGVudFVSTFBhdHRlcm4uaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IEY2MTEzRTI3MTI2Q0UxOUIwMDU3RDBBNyAvKiBXS1VzZXJDb250
ZW50VVJMUGF0dGVybi5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7
IH07IH07CiAJCUY2MzQ0NDU2MTJBODg1QzgwMDA2MTJEOCAvKiBBUElTZWN1cml0eU9yaWdpbi5o
IGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRjYzNDQ0NTUx
MkE4ODVDODAwMDYxMkQ4IC8qIEFQSVNlY3VyaXR5T3JpZ2luLmggKi87IH07Ci0JCUZFRDNDMURD
MUI0NDdFQUMwMEUwRUI3RiAvKiBBUElTZXJpYWxpemVkU2NyaXB0VmFsdWVDb2NvYS5tbSBpbiBT
b3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEZFRDNDMURBMUI0NDdB
RTgwMEUwRUI3RiAvKiBBUElTZXJpYWxpemVkU2NyaXB0VmFsdWVDb2NvYS5tbSAqLzsgfTsKIAkJ
RkVEQkRDRDYxRTY4RDIwMDAwQTU5RjhGIC8qIFdlYkluc3BlY3RvckludGVycnVwdERpc3BhdGNo
ZXJNZXNzYWdlUmVjZWl2ZXIuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gRkVEQkRDRDQxRTY4RDE5QzAwQTU5RjhGIC8qIFdlYkluc3BlY3RvckludGVy
cnVwdERpc3BhdGNoZXJNZXNzYWdlUmVjZWl2ZXIuY3BwICovOyB9OwogCQlGRURCRENENzFFNjhE
MjA1MDBBNTlGOEYgLyogV2ViSW5zcGVjdG9ySW50ZXJydXB0RGlzcGF0Y2hlck1lc3NhZ2VzLmgg
aW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBGRURCRENENTFF
NjhEMTlDMDBBNTlGOEYgLyogV2ViSW5zcGVjdG9ySW50ZXJydXB0RGlzcGF0Y2hlck1lc3NhZ2Vz
LmggKi87IH07CiAJCUZFRTQzRkQzMUU2N0IwMTgwMDc3RDZEMSAvKiBXZWJJbnNwZWN0b3JJbnRl
cnJ1cHREaXNwYXRjaGVyLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSBGRUU0M0ZEMTFFNjdBRkM2MDA3N0Q2RDEgLyogV2ViSW5zcGVjdG9ySW50ZXJydXB0
RGlzcGF0Y2hlci5oICovOyB9OwpAQCAtMTA3MTEsNDQgKzEwNjE2LDcgQEAKIAkJCWlzYSA9IFBC
WFNvdXJjZXNCdWlsZFBoYXNlOwogCQkJYnVpbGRBY3Rpb25NYXNrID0gMjE0NzQ4MzY0NzsKIAkJ
CWZpbGVzID0gKAotCQkJCTM3QTVFMDEzMThCQkY5MzcwMDBBMDgxRSAvKiBfV0tBY3RpdmF0ZWRF
bGVtZW50SW5mby5tbSBpbiBTb3VyY2VzICovLAotCQkJCTYzMTA4Rjk3MUY5NjcxOUMwMEEwREI4
NCAvKiBfV0tBcHBsaWNhdGlvbk1hbmlmZXN0Lm1tIGluIFNvdXJjZXMgKi8sCi0JCQkJRjQ0Mjkx
OTQxRkE1OTMxMTAwMkNDOTNFIC8qIF9XS0F0dGFjaG1lbnQubW0gaW4gU291cmNlcyAqLywKLQkJ
CQk5OTBEMjhCMjFDNjUyMDk0MDA5ODY5NzcgLyogX1dLQXV0b21hdGlvblNlc3Npb24ubW0gaW4g
U291cmNlcyAqLywKLQkJCQk5OTc4OEFDQzFGNDIxREUyMDBDMDgwMDAgLyogX1dLQXV0b21hdGlv
blNlc3Npb25Db25maWd1cmF0aW9uLm1tIGluIFNvdXJjZXMgKi8sCi0JCQkJMUE1NzA0RjcxQkUw
MUZGNDAwODc0QUYxIC8qIF9XS0NvbnRleHRNZW51RWxlbWVudEluZm8ubW0gaW4gU291cmNlcyAq
LywKLQkJCQlBMUE0RkU1QjE4RENFOUZBMDBCNUVBOEEgLyogX1dLRG93bmxvYWQubW0gaW4gU291
cmNlcyAqLywKLQkJCQkzNzlBODczOTE4QkJGRTBGMDA1ODhBRjIgLyogX1dLRWxlbWVudEFjdGlv
bi5tbSBpbiBTb3VyY2VzICovLAotCQkJCTFBRDAxQkM4MTkwNUQzN0UwMEM5QzQ1RiAvKiBfV0tF
cnJvclJlY292ZXJ5QXR0ZW1wdGluZy5tbSBpbiBTb3VyY2VzICovLAotCQkJCTMxN0ZFN0NFMUM0
ODdEQjgwMEEwQ0E4OSAvKiBfV0tFeHBlcmltZW50YWxGZWF0dXJlLm1tIGluIFNvdXJjZXMgKi8s
Ci0JCQkJMzczRDEyMjIxOEE0NzMwMTAwNjZEOUNDIC8qIF9XS0ZyYW1lSGFuZGxlLm1tIGluIFNv
dXJjZXMgKi8sCi0JCQkJNjNDMzJDMjUxRTk4MTBEOTAwNjk5QkQwIC8qIF9XS0dlb2xvY2F0aW9u
UG9zaXRpb24ubW0gaW4gU291cmNlcyAqLywKLQkJCQk5M0E4OEIzOTFCQzcwRjNGMDBBQkE1QzIg
LyogX1dLSGl0VGVzdFJlc3VsdC5tbSBpbiBTb3VyY2VzICovLAotCQkJCTVDQUZERTQ2MjEzMDg0
NjgwMEIxRjdFMSAvKiBfV0tJbnNwZWN0b3IubW0gaW4gU291cmNlcyAqLywKLQkJCQk1MTBGNTkx
MjFEREUyOTc3MDA0MTJGRjUgLyogX1dLTGlua0ljb25QYXJhbWV0ZXJzLm1tIGluIFNvdXJjZXMg
Ki8sCi0JCQkJQTExOEE5RjIxOTA4QjhFQTAwRjdDOTJCIC8qIF9XS05TRmlsZU1hbmFnZXJFeHRy
YXMubW0gaW4gU291cmNlcyAqLywKLQkJCQlBNUMwRjBBODIwMDA2NTUxMDA1MzY1MzYgLyogX1dL
TlNXaW5kb3dFeHRyYXMubW0gaW4gU291cmNlcyAqLywKLQkJCQkxQTQzRTgyOTE4OEYzQ0RDMDA5
RTREMzAgLyogX1dLUHJvY2Vzc1Bvb2xDb25maWd1cmF0aW9uLm1tIGluIFNvdXJjZXMgKi8sCi0J
CQkJMUE5RTMyOEUxODIxNjVBOTAwRjVEMDRDIC8qIF9XS1JlbW90ZU9iamVjdEludGVyZmFjZS5t
bSBpbiBTb3VyY2VzICovLAotCQkJCTFBOUUzMjhBMTgyMTYzNjkwMEY1RDA0QyAvKiBfV0tSZW1v
dGVPYmplY3RSZWdpc3RyeS5tbSBpbiBTb3VyY2VzICovLAotCQkJCUE1NUJBODExMUJBMTMxODEw
MDdDRDMzRCAvKiBfV0tSZW1vdGVXZWJJbnNwZWN0b3JWaWV3Q29udHJvbGxlci5tbSBpbiBTb3Vy
Y2VzICovLAotCQkJCTFBMDAyRDQ1MTk2QjMzOEUwMEI5QUQ0NCAvKiBfV0tTZXNzaW9uU3RhdGUu
bW0gaW4gU291cmNlcyAqLywKLQkJCQkyRDZCMzcxQzE4QTk2N0FEMDA0MkFFODAgLyogX1dLVGh1
bWJuYWlsVmlldy5tbSBpbiBTb3VyY2VzICovLAotCQkJCTdDMjQxMzAyMUFBQ0ZBNzUwMEE1OEMx
NSAvKiBfV0tVc2VyQ29udGVudEV4dGVuc2lvblN0b3JlLm1tIGluIFNvdXJjZXMgKi8sCi0JCQkJ
N0M4OUQyQjkxQTZCMEYyQzAwM0E1RkRFIC8qIF9XS1VzZXJDb250ZW50RmlsdGVyLm1tIGluIFNv
dXJjZXMgKi8sCi0JCQkJN0M4ODJERjgxQzdFOTk2QzAwNkJGNzMxIC8qIF9XS1VzZXJDb250ZW50
V29ybGQubW0gaW4gU291cmNlcyAqLywKLQkJCQk3Q0IzNjVBQjFEMzFEQjcwMDA3MTU4Q0EgLyog
X1dLVXNlckluaXRpYXRlZEFjdGlvbi5tbSBpbiBTb3VyY2VzICovLAotCQkJCTJEODc4NjFFMUJE
QjU0QkYwMEQwMkFCQiAvKiBfV0tVc2VyU3R5bGVTaGVldC5tbSBpbiBTb3VyY2VzICovLAotCQkJ
CTFBODFCMzgwMThCRDY2QUQwMDA3RkRBQyAvKiBfV0tWaXNpdGVkTGlua1N0b3JlLm1tIGluIFNv
dXJjZXMgKi8sCi0JCQkJMUFFMjg2NzcxQzdFNzY1MTAwNjlBQzRGIC8qIF9XS1dlYnNpdGVEYXRh
U2l6ZS5tbSBpbiBTb3VyY2VzICovLAotCQkJCTFBRkI0QzcxMUFERjE1NUQwMEIzMzMzOSAvKiBf
V0tXZWJzaXRlRGF0YVN0b3JlLm1tIGluIFNvdXJjZXMgKi8sCi0JCQkJNTEyMEM4MzYxRTVCNzRC
RTAwMjVCMjUwIC8qIF9XS1dlYnNpdGVEYXRhU3RvcmVDb25maWd1cmF0aW9uLm1tIGluIFNvdXJj
ZXMgKi8sCi0JCQkJNUNCMjM3OEIxREYwREU1MzAwMTE3QUEzIC8qIF9XS1dlYnNpdGVQb2xpY2ll
cy5tbSBpbiBTb3VyY2VzICovLAogCQkJCTJEOTJBNzg0MjEyQjZBQjEwMEY0OTNGRCAvKiBBY3Rp
dml0eUFzc2VydGlvbi5jcHAgaW4gU291cmNlcyAqLywKLQkJCQlGNDEwNTY2MzIxMzA2OTlBMDA5
MjI4MUQgLyogQVBJQXR0YWNobWVudENvY29hLm1tIGluIFNvdXJjZXMgKi8sCi0JCQkJN0NFRkE5
NjIxQUMwOTk5MzAwQjkxMEZEIC8qIEFQSUNvbnRlbnRSdWxlTGlzdFN0b3JlQ29jb2EubW0gaW4g
U291cmNlcyAqLywKLQkJCQlGRUQzQzFEQzFCNDQ3RUFDMDBFMEVCN0YgLyogQVBJU2VyaWFsaXpl
ZFNjcmlwdFZhbHVlQ29jb2EubW0gaW4gU291cmNlcyAqLywKLQkJCQkxQTM2MzVBRDFBMzE0NUU1
MDBFRDYxOTcgLyogQVBJV2Vic2l0ZURhdGFTdG9yZUNvY29hLm1tIGluIFNvdXJjZXMgKi8sCiAJ
CQkJMkQ5MkE3N0IyMTJCNkE3MTAwRjQ5M0ZEIC8qIEFyZ3VtZW50Q29kZXJzLmNwcCBpbiBTb3Vy
Y2VzICovLAogCQkJCTJERUIxRDJFMjEyNzQ3MzYwMDkzMzkwNiAvKiBBcmd1bWVudENvZGVyc0NG
LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTJEOTJBNzdDMjEyQjZBNzEwMEY0OTNGRCAvKiBBdHRh
Y2htZW50LmNwcCBpbiBTb3VyY2VzICovLApAQCAtMTA3NzAsNyArMTA2MzgsNiBAQAogCQkJCTFB
QTU3NjAyMTQ5NkI5NzkwMEE0RUUwNiAvKiBFdmVudERpc3BhdGNoZXJNZXNzYWdlUmVjZWl2ZXIu
Y3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMkQ5MTM0NDEyMTJDRjlGMDAwMTI4QUZEIC8qIEpTTlBN
ZXRob2QuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMkQ5MTM0NDIyMTJDRjlGMDAwMTI4QUZEIC8q
IEpTTlBPYmplY3QuY3BwIGluIFNvdXJjZXMgKi8sCi0JCQkJMUFGREU2NDUxOTUxMEI1NTAwQzQ4
RkZBIC8qIExlZ2FjeUJ1bmRsZUZvckNsYXNzLm1tIGluIFNvdXJjZXMgKi8sCiAJCQkJMjk4NEY1
ODgxNjRCQTA5NTAwNEJDMEM2IC8qIExlZ2FjeUN1c3RvbVByb3RvY29sTWFuYWdlck1lc3NhZ2VS
ZWNlaXZlci5jcHAgaW4gU291cmNlcyAqLywKIAkJCQkyOTg0RjU3QzE2NEI5MTVGMDA0QkMwQzYg
LyogTGVnYWN5Q3VzdG9tUHJvdG9jb2xNYW5hZ2VyUHJveHlNZXNzYWdlUmVjZWl2ZXIuY3BwIGlu
IFNvdXJjZXMgKi8sCiAJCQkJMkQ5MkE3NzkyMTJCNkE2MTAwRjQ5M0ZEIC8qIExvZ2dpbmcuY3Bw
IGluIFNvdXJjZXMgKi8sCkBAIC0xMDgyNSw4ICsxMDY5Miw2IEBACiAJCQkJMkQ1NEMzMUIyMTJG
NERBNjAwNDlDMTc0IC8qIFByb2Nlc3NMYXVuY2hlci5jcHAgaW4gU291cmNlcyAqLywKIAkJCQky
RDcyQTFGQTIxMkJGNDZFMDA1MTdBMjAgLyogUmVtb3RlTGF5ZXJUcmVlRHJhd2luZ0FyZWEubW0g
aW4gU291cmNlcyAqLywKIAkJCQkwRkYyNEEyRDE4NzlFNEJDMDAzQUJGMEMgLyogUmVtb3RlTGF5
ZXJUcmVlRHJhd2luZ0FyZWFQcm94eU1lc3NhZ2VSZWNlaXZlci5jcHAgaW4gU291cmNlcyAqLywK
LQkJCQkxQTU3MDRGQjFCRTE3NTExMDA4NzRBRjEgLyogUmVtb3RlT2JqZWN0SW52b2NhdGlvbi5t
bSBpbiBTb3VyY2VzICovLAotCQkJCTFBQzEzMzdGMTg1OTBBRTQwMEYzRUMwNSAvKiBSZW1vdGVP
YmplY3RSZWdpc3RyeS5tbSBpbiBTb3VyY2VzICovLAogCQkJCTFBQzEzMzg1MTg1OTBDNDYwMEYz
RUMwNSAvKiBSZW1vdGVPYmplY3RSZWdpc3RyeU1lc3NhZ2VSZWNlaXZlci5jcHAgaW4gU291cmNl
cyAqLywKIAkJCQkwRjU5NDdBNzE4N0I1MTc2MDA0Mzc4NTcgLyogUmVtb3RlU2Nyb2xsaW5nQ29v
cmRpbmF0b3JNZXNzYWdlUmVjZWl2ZXIuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJQTU1QkE4MjYx
QkEyNUNGRDAwN0NEMzNEIC8qIFJlbW90ZVdlYkluc3BlY3RvclByb3h5TWVzc2FnZVJlY2VpdmVy
LmNwcCBpbiBTb3VyY2VzICovLApAQCAtMTEwOTgsNjUgKzEwOTYzLDEwIEBACiAJCQkJMUFBRjA4
QjcxOTI2OUU2RDAwQjYzOTBDIC8qIFdlYlVzZXJDb250ZW50Q29udHJvbGxlck1lc3NhZ2VSZWNl
aXZlci5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk3QzM2MUQ3ODE5MjgwM0JEMDAzNkE1OUQgLyog
V2ViVXNlckNvbnRlbnRDb250cm9sbGVyUHJveHlNZXNzYWdlUmVjZWl2ZXIuY3BwIGluIFNvdXJj
ZXMgKi8sCiAJCQkJMkQ5MkE3OEYyMTJCNkFCMTAwRjQ5M0ZEIC8qIFdlYldoZWVsRXZlbnQuY3Bw
IGluIFNvdXJjZXMgKi8sCi0JCQkJMzdDNEMwOEMxODE0QUM1QzAwMzY4OEI5IC8qIFdLQmFja0Zv
cndhcmRMaXN0Lm1tIGluIFNvdXJjZXMgKi8sCi0JCQkJMzdDNEMwODYxODE0OUM1QjAwMzY4OEI5
IC8qIFdLQmFja0ZvcndhcmRMaXN0SXRlbS5tbSBpbiBTb3VyY2VzICovLAotCQkJCUJDQkFBQzcy
MTQ0RTYxOTkwMDUzRjgyRiAvKiBXS0Jyb3dzaW5nQ29udGV4dENvbnRyb2xsZXIubW0gaW4gU291
cmNlcyAqLywKLQkJCQlCQ0JBQUNGNTE0NTIzMjRGMDA1M0Y4MkYgLyogV0tCcm93c2luZ0NvbnRl
eHRHcm91cC5tbSBpbiBTb3VyY2VzICovLAotCQkJCTFBRTAwRDRDMTgyRDZFQjAwMDA4N0RENyAv
KiBXS0Jyb3dzaW5nQ29udGV4dEhhbmRsZS5tbSBpbiBTb3VyY2VzICovLAotCQkJCUJDQTI4NEQ2
MTQ5MkYyQzcwMDFGOTA0MiAvKiBXS0Nvbm5lY3Rpb24ubW0gaW4gU291cmNlcyAqLywKLQkJCQk1
Q0QyODY1MjFFNzIzNUE2MDA5NEZEQzggLyogV0tDb250ZW50UnVsZUxpc3QubW0gaW4gU291cmNl
cyAqLywKLQkJCQk1Q0QyODY1NjFFNzIzNUM2MDA5NEZEQzggLyogV0tDb250ZW50UnVsZUxpc3RT
dG9yZS5tbSBpbiBTb3VyY2VzICovLAogCQkJCTJEOTMxMTY5MjEyRjYxQjIwMDA0NEJGRSAvKiBX
S0NvbnRlbnRWaWV3Lm1tIGluIFNvdXJjZXMgKi8sCiAJCQkJMkQ5MzExNkEyMTJGNjFCNTAwMDQ0
QkZFIC8qIFdLQ29udGVudFZpZXdJbnRlcmFjdGlvbi5tbSBpbiBTb3VyY2VzICovLAotCQkJCTJE
OTEzNDMxMjEyQzg1M0QwMDEyOEFGRCAvKiBXS0RPTURvY3VtZW50Lm1tIGluIFNvdXJjZXMgKi8s
Ci0JCQkJMkQ5MTM0MzIyMTJDODUzRDAwMTI4QUZEIC8qIFdLRE9NRWxlbWVudC5tbSBpbiBTb3Vy
Y2VzICovLAotCQkJCTJEOTEzNDMzMjEyQzg1M0QwMDEyOEFGRCAvKiBXS0RPTUludGVybmFscy5t
bSBpbiBTb3VyY2VzICovLAotCQkJCTJEOTEzNDM0MjEyQzg1M0QwMDEyOEFGRCAvKiBXS0RPTU5v
ZGUubW0gaW4gU291cmNlcyAqLywKLQkJCQkyRDkxMzQzNTIxMkM4NTNEMDAxMjhBRkQgLyogV0tE
T01SYW5nZS5tbSBpbiBTb3VyY2VzICovLAotCQkJCTJEOTEzNDM2MjEyQzg1M0QwMDEyOEFGRCAv
KiBXS0RPTVRleHQubW0gaW4gU291cmNlcyAqLywKLQkJCQkyRDkxMzQzNzIxMkM4NTNEMDAxMjhB
RkQgLyogV0tET01UZXh0SXRlcmF0b3IubW0gaW4gU291cmNlcyAqLywKLQkJCQkxQUY0NTkyRTE5
NDY0QjIwMDBGOUQ0QTIgLyogV0tFcnJvci5tbSBpbiBTb3VyY2VzICovLAotCQkJCTFBNEQ2NjRC
MThBMzAzMEUwMEQ4MkUyMSAvKiBXS0ZyYW1lSW5mby5tbSBpbiBTb3VyY2VzICovLAotCQkJCTUx
RDEyNDkyMUU3NEJGNDgwMDJCMjgyMCAvKiBXS0hUVFBDb29raWVTdG9yZS5tbSBpbiBTb3VyY2Vz
ICovLAotCQkJCTFBQjQwRUU1MUJGNjc3RTMwMEJBODFCRSAvKiBXS01lbnVJdGVtSWRlbnRpZmll
cnMubW0gaW4gU291cmNlcyAqLywKLQkJCQkxQTVCMUM1MDE4OTg2MDZGMDA0RkNGOUIgLyogV0tO
YXZpZ2F0aW9uLm1tIGluIFNvdXJjZXMgKi8sCi0JCQkJMUEyNTZFMzcxOEExQTc4ODAwNkZCOTIy
IC8qIFdLTmF2aWdhdGlvbkFjdGlvbi5tbSBpbiBTb3VyY2VzICovLAotCQkJCTM3MEYzNEEyMTgy
OUJFMUUwMDkwMjdDOCAvKiBXS05hdmlnYXRpb25EYXRhLm1tIGluIFNvdXJjZXMgKi8sCi0JCQkJ
MUExQjBFQjUxOEE0MjQ5NTAwMzg0ODFBIC8qIFdLTmF2aWdhdGlvblJlc3BvbnNlLm1tIGluIFNv
dXJjZXMgKi8sCi0JCQkJMzdGQzE5NEExODUxMEQ2QTAwOENGQTQ3IC8qIFdLTlNVUkxBdXRoZW50
aWNhdGlvbkNoYWxsZW5nZS5tbSBpbiBTb3VyY2VzICovLAotCQkJCTFBQ0M1MEYxMUNCQzM4MUQw
MDNDN0QwMyAvKiBXS09wZW5QYW5lbFBhcmFtZXRlcnMubW0gaW4gU291cmNlcyAqLywKLQkJCQkx
QUZERDMxOTE4OTFDQTEyMDAxNTM5NzAgLyogV0tQcmVmZXJlbmNlcy5tbSBpbiBTb3VyY2VzICov
LAotCQkJCTkzQTI1M0VGMUM5MjJFOEUwMEY5RjY4RCAvKiBXS1ByZXZpZXdBY3Rpb25JdGVtLm1t
IGluIFNvdXJjZXMgKi8sCi0JCQkJOTNBMjUzRjUxQzkyNDEzMjAwRjlGNjhEIC8qIFdLUHJldmll
d0FjdGlvbkl0ZW1JZGVudGlmaWVycy5tbSBpbiBTb3VyY2VzICovLAotCQkJCTkzOTVFNjhDMUJG
MkMzNTIwMEY0OUJDRSAvKiBXS1ByZXZpZXdFbGVtZW50SW5mby5tbSBpbiBTb3VyY2VzICovLAot
CQkJCUJDQkFBQ0VDMTQ1MjI1RTMwMDUzRjgyRiAvKiBXS1Byb2Nlc3NHcm91cC5tbSBpbiBTb3Vy
Y2VzICovLAotCQkJCTFBMTU4NDE5MTg5MDQ0RjUwMDE3NjE2QyAvKiBXS1Byb2Nlc3NQb29sLm1t
IGluIFNvdXJjZXMgKi8sCi0JCQkJMUE5RTMyOUExODIyRTFDQzAwRjVEMDRDIC8qIFdLUmVtb3Rl
T2JqZWN0Lm1tIGluIFNvdXJjZXMgKi8sCi0JCQkJMUE5RTMyOUUxODIyRkVERDAwRjVEMDRDIC8q
IFdLUmVtb3RlT2JqZWN0Q29kZXIubW0gaW4gU291cmNlcyAqLywKLQkJCQkxQTdFMzc3ODE4RTRB
NEZFMDAzRDBGRkYgLyogV0tTY3JpcHRNZXNzYWdlLm1tIGluIFNvdXJjZXMgKi8sCi0JCQkJNTFD
RDFDNjYxQjM0QjlEQzAwMTQyQ0E1IC8qIFdLU2VjdXJpdHlPcmlnaW4ubW0gaW4gU291cmNlcyAq
LywKIAkJCQkxREIwMTk0NDIxMUNGMDA1MDA5RkIzRTggLyogV0tTaGFyZVNoZWV0Lm1tIGluIFNv
dXJjZXMgKi8sCi0JCQkJOTNGNTQ5QjYxRTMxNzREQTAwMEU3MjM5IC8qIFdLU25hcHNob3RDb25m
aWd1cmF0aW9uLm1tIGluIFNvdXJjZXMgKi8sCiAJCQkJMjZGMTBCRTkxOTE4N0UyRTAwMUQwRTY4
IC8qIFdLU3ludGhldGljQ2xpY2tUYXBHZXN0dXJlUmVjb2duaXplci5tIGluIFNvdXJjZXMgKi8s
Ci0JCQkJN0NENUVCQkUxNzQ2QjA0QzAwMEMxQzQ1IC8qIFdLVHlwZVJlZldyYXBwZXIubW0gaW4g
U291cmNlcyAqLywKLQkJCQk1MUQxMjQzNjFFNkRGQjM5MDAyQjI4MjAgLyogV0tVUkxTY2hlbWVU
YXNrLm1tIGluIFNvdXJjZXMgKi8sCi0JCQkJMUFGQTNBQzgxOEU2MUM2MTAwM0NDQkFFIC8qIFdL
VXNlckNvbnRlbnRDb250cm9sbGVyLm1tIGluIFNvdXJjZXMgKi8sCi0JCQkJMUFBRjA4OUExOTI2
N0VFNTAwQjYzOTBDIC8qIFdLVXNlclNjcmlwdC5tbSBpbiBTb3VyY2VzICovLAotCQkJCUJDODY5
OUI2MTE2QUFEQUEwMDJBOTI1QiAvKiBXS1ZpZXcubW0gaW4gU291cmNlcyAqLywKLQkJCQkyRDkx
MzQyODIxMkM4NEY1MDAxMjhBRkQgLyogV0tXZWJQcm9jZXNzQnVuZGxlUGFyYW1ldGVycy5tbSBp
biBTb3VyY2VzICovLAotCQkJCTJEOTEzNDJGMjEyQzg1MDEwMDEyOEFGRCAvKiBXS1dlYlByb2Nl
c3NQbHVnSW4ubW0gaW4gU291cmNlcyAqLywKLQkJCQkyRDkxMzQzMDIxMkM4NTAxMDAxMjhBRkQg
LyogV0tXZWJQcm9jZXNzUGx1Z0luQnJvd3NlckNvbnRleHRDb250cm9sbGVyLm1tIGluIFNvdXJj
ZXMgKi8sCi0JCQkJMkQ5MTM0MjkyMTJDODRGNTAwMTI4QUZEIC8qIFdLV2ViUHJvY2Vzc1BsdWdJ
bkZyYW1lLm1tIGluIFNvdXJjZXMgKi8sCi0JCQkJMkQ5MTM0MkEyMTJDODRGNTAwMTI4QUZEIC8q
IFdLV2ViUHJvY2Vzc1BsdWdJbkhpdFRlc3RSZXN1bHQubW0gaW4gU291cmNlcyAqLywKLQkJCQky
RDkxMzQyQjIxMkM4NEY1MDAxMjhBRkQgLyogV0tXZWJQcm9jZXNzUGx1Z0luTm9kZUhhbmRsZS5t
bSBpbiBTb3VyY2VzICovLAotCQkJCTJEOTEzNDJDMjEyQzg0RjUwMDEyOEFGRCAvKiBXS1dlYlBy
b2Nlc3NQbHVnSW5QYWdlR3JvdXAubW0gaW4gU291cmNlcyAqLywKLQkJCQkyRDkxMzQyRDIxMkM4
NEY1MDAxMjhBRkQgLyogV0tXZWJQcm9jZXNzUGx1Z0luUmFuZ2VIYW5kbGUubW0gaW4gU291cmNl
cyAqLywKLQkJCQkyRDkxMzQyRTIxMkM4NEY1MDAxMjhBRkQgLyogV0tXZWJQcm9jZXNzUGx1Z0lu
U2NyaXB0V29ybGQubW0gaW4gU291cmNlcyAqLywKLQkJCQkxQTQ4MzJDQjFBOUJDNDY1MDA4QjRE
RkUgLyogV0tXZWJzaXRlRGF0YVJlY29yZC5tbSBpbiBTb3VyY2VzICovLAotCQkJCTc1QThEMkM5
MTg3Q0NGQUYwMEMzOUM5RSAvKiBXS1dlYnNpdGVEYXRhU3RvcmUubW0gaW4gU291cmNlcyAqLywK
LQkJCQkxQTNDQzE2NjE4OTA2QUNGMDAxRTZFRDggLyogV0tXZWJWaWV3Lm1tIGluIFNvdXJjZXMg
Ki8sCi0JCQkJMUFERjU5MUExODkwNTI4RTAwNDNDMTQ1IC8qIFdLV2ViVmlld0NvbmZpZ3VyYXRp
b24ubW0gaW4gU291cmNlcyAqLywKLQkJCQkxQUQ2MEY1RDE4RTIwRjRDMDAyMEMwMzQgLyogV0tX
aW5kb3dGZWF0dXJlcy5tbSBpbiBTb3VyY2VzICovLAogCQkJKTsKIAkJCXJ1bk9ubHlGb3JEZXBs
b3ltZW50UG9zdHByb2Nlc3NpbmcgPSAwOwogCQl9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dC9XZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0FQSS9Db2NvYS9XS1dlYlByb2Nlc3NQbHVnSW5G
cmFtZS5tbSBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9BUEkvQ29j
b2EvV0tXZWJQcm9jZXNzUGx1Z0luRnJhbWUubW0KaW5kZXggOTZhZGFhOTQwOThmYTE2ZWVjNDlj
ZjdkYmFmNDhlOGE2NzFkMWQ0Ni4uZGRkZTEyMzZhYzliOGVmOGFmN2MzNGM1ZjUwOGYwMTY1OGU5
YmQ5YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0luamVjdGVkQnVuZGxl
L0FQSS9Db2NvYS9XS1dlYlByb2Nlc3NQbHVnSW5GcmFtZS5tbQorKysgYi9Tb3VyY2UvV2ViS2l0
L1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvQVBJL0NvY29hL1dLV2ViUHJvY2Vzc1BsdWdJbkZy
YW1lLm1tCkBAIC00NCwxNSArNDQsMTMgQEAKICNpbXBvcnQgPFdlYkNvcmUvTGlua0ljb25Db2xs
ZWN0b3IuaD4KICNpbXBvcnQgPFdlYkNvcmUvTGlua0ljb25UeXBlLmg+CiAKLXVzaW5nIG5hbWVz
cGFjZSBXZWJLaXQ7Ci0KIEBpbXBsZW1lbnRhdGlvbiBXS1dlYlByb2Nlc3NQbHVnSW5GcmFtZSB7
Ci0gICAgQVBJOjpPYmplY3RTdG9yYWdlPFdlYkZyYW1lPiBfZnJhbWU7CisgICAgQVBJOjpPYmpl
Y3RTdG9yYWdlPFdlYktpdDo6V2ViRnJhbWU+IF9mcmFtZTsKIH0KIAogKyAoaW5zdGFuY2V0eXBl
KWxvb2tVcEZyYW1lRnJvbUhhbmRsZTooX1dLRnJhbWVIYW5kbGUgKiloYW5kbGUKIHsKLSAgICBy
ZXR1cm4gd3JhcHBlcihXZWJQcm9jZXNzOjpzaW5nbGV0b24oKS53ZWJGcmFtZShoYW5kbGUuX2Zy
YW1lSUQpKTsKKyAgICByZXR1cm4gd3JhcHBlcihXZWJLaXQ6OldlYlByb2Nlc3M6OnNpbmdsZXRv
bigpLndlYkZyYW1lKGhhbmRsZS5fZnJhbWVJRCkpOwogfQogCiAtICh2b2lkKWRlYWxsb2MKQEAg
LTg1LDcgKzgzLDcgQEAgdXNpbmcgbmFtZXNwYWNlIFdlYktpdDsKIAogLSAoV0tXZWJQcm9jZXNz
UGx1Z0luQnJvd3NlckNvbnRleHRDb250cm9sbGVyICopX2Jyb3dzZXJDb250ZXh0Q29udHJvbGxl
cgogewotICAgIHJldHVybiB3cmFwcGVyKCpfZnJhbWUtPnBhZ2UoKSk7CisgICAgcmV0dXJuIFdl
YktpdDo6d3JhcHBlcigqX2ZyYW1lLT5wYWdlKCkpOwogfQogCiAtIChOU1VSTCAqKVVSTApAQCAt
OTUsNyArOTMsNyBAQCB1c2luZyBuYW1lc3BhY2UgV2ViS2l0OwogCiAtIChOU0FycmF5ICopY2hp
bGRGcmFtZXMKIHsKLSAgICByZXR1cm4gd3JhcHBlcihfZnJhbWUtPmNoaWxkRnJhbWVzKCkpOwor
ICAgIHJldHVybiBXZWJLaXQ6OndyYXBwZXIoX2ZyYW1lLT5jaGlsZEZyYW1lcygpKTsKIH0KIAog
LSAoQk9PTCljb250YWluc0FueUZvcm1FbGVtZW50cwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dC9XZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0FQSS9Db2NvYS9XS1dlYlByb2Nlc3NQbHVnSW5I
aXRUZXN0UmVzdWx0Lm1tIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0luamVjdGVkQnVuZGxl
L0FQSS9Db2NvYS9XS1dlYlByb2Nlc3NQbHVnSW5IaXRUZXN0UmVzdWx0Lm1tCmluZGV4IDAyMDk0
N2NmYmQwYjgwZDM3YzlhZjdjNjM0NmE4MGMyYzcyNTRjZjguLmRmZjg0YTI1N2RmOWUzOGYyZTQy
MTI1YzBlYjAzOGI1MDliOTQzYTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vz
cy9JbmplY3RlZEJ1bmRsZS9BUEkvQ29jb2EvV0tXZWJQcm9jZXNzUGx1Z0luSGl0VGVzdFJlc3Vs
dC5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvQVBJL0Nv
Y29hL1dLV2ViUHJvY2Vzc1BsdWdJbkhpdFRlc3RSZXN1bHQubW0KQEAgLTMwLDEwICszMCw4IEBA
CiAKICNpbXBvcnQgIldLV2ViUHJvY2Vzc1BsdWdJbk5vZGVIYW5kbGVJbnRlcm5hbC5oIgogCi11
c2luZyBuYW1lc3BhY2UgV2ViS2l0OwotCiBAaW1wbGVtZW50YXRpb24gV0tXZWJQcm9jZXNzUGx1
Z0luSGl0VGVzdFJlc3VsdCB7Ci0gICAgQVBJOjpPYmplY3RTdG9yYWdlPEluamVjdGVkQnVuZGxl
SGl0VGVzdFJlc3VsdD4gX2hpdFRlc3RSZXN1bHQ7CisgICAgQVBJOjpPYmplY3RTdG9yYWdlPFdl
YktpdDo6SW5qZWN0ZWRCdW5kbGVIaXRUZXN0UmVzdWx0PiBfaGl0VGVzdFJlc3VsdDsKIH0KIAog
LSAodm9pZClkZWFsbG9jCkBAIC00NCw3ICs0Miw3IEBAIHVzaW5nIG5hbWVzcGFjZSBXZWJLaXQ7
CiAKIC0gKFdLV2ViUHJvY2Vzc1BsdWdJbk5vZGVIYW5kbGUgKilub2RlSGFuZGxlCiB7Ci0gICAg
cmV0dXJuIHdyYXBwZXIoX2hpdFRlc3RSZXN1bHQtPm5vZGVIYW5kbGUoKSk7CisgICAgcmV0dXJu
IFdlYktpdDo6d3JhcHBlcihfaGl0VGVzdFJlc3VsdC0+bm9kZUhhbmRsZSgpKTsKIH0KIAogI3By
YWdtYSBtYXJrIFdLT2JqZWN0IHByb3RvY29sIGltcGxlbWVudGF0aW9uCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvQVBJL0NvY29hL1dLV2ViUHJv
Y2Vzc1BsdWdJbk5vZGVIYW5kbGUubW0gYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvSW5qZWN0
ZWRCdW5kbGUvQVBJL0NvY29hL1dLV2ViUHJvY2Vzc1BsdWdJbk5vZGVIYW5kbGUubW0KaW5kZXgg
OTFjZDBjNDBlNGNlYmM1Y2JiNjdlMWE3ZjUzYWJkMDBiNTRhYTcyNC4uNTAyMjkyMDBjNzNlMDhh
NmY0ZWU4OTE5YmUyMDRjZTkyOGJlODIwZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQ
cm9jZXNzL0luamVjdGVkQnVuZGxlL0FQSS9Db2NvYS9XS1dlYlByb2Nlc3NQbHVnSW5Ob2RlSGFu
ZGxlLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9BUEkv
Q29jb2EvV0tXZWJQcm9jZXNzUGx1Z0luTm9kZUhhbmRsZS5tbQpAQCAtMzQsMTAgKzM0LDggQEAK
IAogI2lmIFdLX0FQSV9FTkFCTEVECiAKLXVzaW5nIG5hbWVzcGFjZSBXZWJLaXQ7Ci0KIEBpbXBs
ZW1lbnRhdGlvbiBXS1dlYlByb2Nlc3NQbHVnSW5Ob2RlSGFuZGxlIHsKLSAgICBBUEk6Ok9iamVj
dFN0b3JhZ2U8SW5qZWN0ZWRCdW5kbGVOb2RlSGFuZGxlPiBfbm9kZUhhbmRsZTsKKyAgICBBUEk6
Ok9iamVjdFN0b3JhZ2U8V2ViS2l0OjpJbmplY3RlZEJ1bmRsZU5vZGVIYW5kbGU+IF9ub2RlSGFu
ZGxlOwogfQogCiAtICh2b2lkKWRlYWxsb2MKQEAgLTUwLDEyICs0OCwxMiBAQCB1c2luZyBuYW1l
c3BhY2UgV2ViS2l0OwogewogICAgIEpTQ29udGV4dFJlZiBjb250ZXh0UmVmID0gW2NvbnRleHQg
SlNHbG9iYWxDb250ZXh0UmVmXTsKICAgICBKU09iamVjdFJlZiBvYmplY3RSZWYgPSBKU1ZhbHVl
VG9PYmplY3QoY29udGV4dFJlZiwgW3ZhbHVlIEpTVmFsdWVSZWZdLCBudWxscHRyKTsKLSAgICBy
ZXR1cm4gd3JhcHBlcihJbmplY3RlZEJ1bmRsZU5vZGVIYW5kbGU6OmdldE9yQ3JlYXRlKGNvbnRl
eHRSZWYsIG9iamVjdFJlZikpOworICAgIHJldHVybiBXZWJLaXQ6OndyYXBwZXIoV2ViS2l0OjpJ
bmplY3RlZEJ1bmRsZU5vZGVIYW5kbGU6OmdldE9yQ3JlYXRlKGNvbnRleHRSZWYsIG9iamVjdFJl
ZikpOwogfQogCiAtIChXS1dlYlByb2Nlc3NQbHVnSW5GcmFtZSAqKWh0bWxJRnJhbWVFbGVtZW50
Q29udGVudEZyYW1lCiB7Ci0gICAgcmV0dXJuIHdyYXBwZXIoX25vZGVIYW5kbGUtPmh0bWxJRnJh
bWVFbGVtZW50Q29udGVudEZyYW1lKCkpOworICAgIHJldHVybiBXZWJLaXQ6OndyYXBwZXIoX25v
ZGVIYW5kbGUtPmh0bWxJRnJhbWVFbGVtZW50Q29udGVudEZyYW1lKCkpOwogfQogCiAjaWYgUExB
VEZPUk0oSU9TKQpAQCAtNzAsNyArNjgsNyBAQCB1c2luZyBuYW1lc3BhY2UgV2ViS2l0OwogICAg
IGlmICh3aWR0aCkKICAgICAgICAgb3B0aW9uYWxXaWR0aCA9IHdpZHRoLmZsb2F0VmFsdWU7CiAK
LSAgICBSZWZQdHI8V2ViSW1hZ2U+IGltYWdlID0gX25vZGVIYW5kbGUtPnJlbmRlcmVkSW1hZ2Uo
dG9TbmFwc2hvdE9wdGlvbnMob3B0aW9ucyksIG9wdGlvbnMgJiBrV0tTbmFwc2hvdE9wdGlvbnNF
eGNsdWRlT3ZlcmZsb3csIG9wdGlvbmFsV2lkdGgpOworICAgIFJlZlB0cjxXZWJLaXQ6OldlYklt
YWdlPiBpbWFnZSA9IF9ub2RlSGFuZGxlLT5yZW5kZXJlZEltYWdlKFdlYktpdDo6dG9TbmFwc2hv
dE9wdGlvbnMob3B0aW9ucyksIG9wdGlvbnMgJiBrV0tTbmFwc2hvdE9wdGlvbnNFeGNsdWRlT3Zl
cmZsb3csIG9wdGlvbmFsV2lkdGgpOwogICAgIGlmICghaW1hZ2UpCiAgICAgICAgIHJldHVybiBu
aWw7CiAKQEAgLTkwLDcgKzg4LDcgQEAgdXNpbmcgbmFtZXNwYWNlIFdlYktpdDsKICAgICBpZiAo
d2lkdGgpCiAgICAgICAgIG9wdGlvbmFsV2lkdGggPSB3aWR0aC5mbG9hdFZhbHVlOwogCi0gICAg
UmVmUHRyPFdlYkltYWdlPiBpbWFnZSA9IF9ub2RlSGFuZGxlLT5yZW5kZXJlZEltYWdlKHRvU25h
cHNob3RPcHRpb25zKG9wdGlvbnMpLCBvcHRpb25zICYga1dLU25hcHNob3RPcHRpb25zRXhjbHVk
ZU92ZXJmbG93LCBvcHRpb25hbFdpZHRoKTsKKyAgICBSZWZQdHI8V2ViS2l0OjpXZWJJbWFnZT4g
aW1hZ2UgPSBfbm9kZUhhbmRsZS0+cmVuZGVyZWRJbWFnZShXZWJLaXQ6OnRvU25hcHNob3RPcHRp
b25zKG9wdGlvbnMpLCBvcHRpb25zICYga1dLU25hcHNob3RPcHRpb25zRXhjbHVkZU92ZXJmbG93
LCBvcHRpb25hbFdpZHRoKTsKICAgICBpZiAoIWltYWdlKQogICAgICAgICByZXR1cm4gbmlsOwog
CkBAIC0xODMsMTUgKzE4MSwxNSBAQCBzdGF0aWMgX1dLQXV0b0ZpbGxCdXR0b25UeXBlIHRvV0tB
dXRvRmlsbEJ1dHRvblR5cGUoV2ViQ29yZTo6QXV0b0ZpbGxCdXR0b25UeXBlCiAKIC0gKFdLV2Vi
UHJvY2Vzc1BsdWdJbk5vZGVIYW5kbGUgKilIVE1MVGFibGVDZWxsRWxlbWVudENlbGxBYm92ZQog
ewotICAgIHJldHVybiB3cmFwcGVyKF9ub2RlSGFuZGxlLT5odG1sVGFibGVDZWxsRWxlbWVudENl
bGxBYm92ZSgpKTsKKyAgICByZXR1cm4gV2ViS2l0Ojp3cmFwcGVyKF9ub2RlSGFuZGxlLT5odG1s
VGFibGVDZWxsRWxlbWVudENlbGxBYm92ZSgpKTsKIH0KIAogLSAoV0tXZWJQcm9jZXNzUGx1Z0lu
RnJhbWUgKilmcmFtZQogewotICAgIHJldHVybiB3cmFwcGVyKF9ub2RlSGFuZGxlLT5kb2N1bWVu
dCgpLT5kb2N1bWVudEZyYW1lKCkpOworICAgIHJldHVybiBXZWJLaXQ6OndyYXBwZXIoX25vZGVI
YW5kbGUtPmRvY3VtZW50KCktPmRvY3VtZW50RnJhbWUoKSk7CiB9CiAKLS0gKEluamVjdGVkQnVu
ZGxlTm9kZUhhbmRsZSYpX25vZGVIYW5kbGUKKy0gKFdlYktpdDo6SW5qZWN0ZWRCdW5kbGVOb2Rl
SGFuZGxlJilfbm9kZUhhbmRsZQogewogICAgIHJldHVybiAqX25vZGVIYW5kbGU7CiB9CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvQVBJL0NvY29h
L1dLV2ViUHJvY2Vzc1BsdWdJblBhZ2VHcm91cC5tbSBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vz
cy9JbmplY3RlZEJ1bmRsZS9BUEkvQ29jb2EvV0tXZWJQcm9jZXNzUGx1Z0luUGFnZUdyb3VwLm1t
CmluZGV4IDYzY2FkODgzOGQzYzUxZTdkNTA3YWVjNzk2MWIzODQzZTdiMGEzZTAuLjAyMzliNjE2
MGNlOWJjNTEyYWRkYWZlYzQyODgxZmQzYjRkZWEyM2YgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQvV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9BUEkvQ29jb2EvV0tXZWJQcm9jZXNzUGx1Z0lu
UGFnZUdyb3VwLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRs
ZS9BUEkvQ29jb2EvV0tXZWJQcm9jZXNzUGx1Z0luUGFnZUdyb3VwLm1tCkBAIC0zNCwxMCArMzQs
OCBAQAogI2ltcG9ydCAiV0tSZXRhaW5QdHIuaCIKICNpbXBvcnQgIldlYlBhZ2VHcm91cFByb3h5
LmgiCiAKLXVzaW5nIG5hbWVzcGFjZSBXZWJLaXQ7Ci0KIEBpbXBsZW1lbnRhdGlvbiBXS1dlYlBy
b2Nlc3NQbHVnSW5QYWdlR3JvdXAgewotICAgIEFQSTo6T2JqZWN0U3RvcmFnZTxXZWJQYWdlR3Jv
dXBQcm94eT4gX2J1bmRsZVBhZ2VHcm91cDsKKyAgICBBUEk6Ok9iamVjdFN0b3JhZ2U8V2ViS2l0
OjpXZWJQYWdlR3JvdXBQcm94eT4gX2J1bmRsZVBhZ2VHcm91cDsKIH0KIAogLSAoTlNTdHJpbmcg
KilpZGVudGlmaWVyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvSW5qZWN0
ZWRCdW5kbGUvQVBJL0NvY29hL1dLV2ViUHJvY2Vzc1BsdWdJblJhbmdlSGFuZGxlLm1tIGIvU291
cmNlL1dlYktpdC9XZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0FQSS9Db2NvYS9XS1dlYlByb2Nl
c3NQbHVnSW5SYW5nZUhhbmRsZS5tbQppbmRleCA0YThkZDM0MzU5NTIzZDczOWRhMWY3OWU0OWM0
NmI2NWUyNTk2YzVkLi5lMjE1M2Q1ZDI1MjZhYzc3NTEzYTNiMDdjZGNlNWZlOTY0N2Y5ZjMzIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvQVBJL0Nv
Y29hL1dLV2ViUHJvY2Vzc1BsdWdJblJhbmdlSGFuZGxlLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQv
V2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9BUEkvQ29jb2EvV0tXZWJQcm9jZXNzUGx1Z0luUmFu
Z2VIYW5kbGUubW0KQEAgLTM3LDEwICszNyw4IEBACiAjaW1wb3J0ICJXS0RhdGFEZXRlY3RvclR5
cGVzSW50ZXJuYWwuaCIKICNlbmRpZgogCi11c2luZyBuYW1lc3BhY2UgV2ViS2l0OwotCiBAaW1w
bGVtZW50YXRpb24gV0tXZWJQcm9jZXNzUGx1Z0luUmFuZ2VIYW5kbGUgewotICAgIEFQSTo6T2Jq
ZWN0U3RvcmFnZTxJbmplY3RlZEJ1bmRsZVJhbmdlSGFuZGxlPiBfcmFuZ2VIYW5kbGU7CisgICAg
QVBJOjpPYmplY3RTdG9yYWdlPFdlYktpdDo6SW5qZWN0ZWRCdW5kbGVSYW5nZUhhbmRsZT4gX3Jh
bmdlSGFuZGxlOwogfQogCiAtICh2b2lkKWRlYWxsb2MKQEAgLTUzLDcgKzUxLDcgQEAgdXNpbmcg
bmFtZXNwYWNlIFdlYktpdDsKIHsKICAgICBKU0NvbnRleHRSZWYgY29udGV4dFJlZiA9IFtjb250
ZXh0IEpTR2xvYmFsQ29udGV4dFJlZl07CiAgICAgSlNPYmplY3RSZWYgb2JqZWN0UmVmID0gSlNW
YWx1ZVRvT2JqZWN0KGNvbnRleHRSZWYsIFt2YWx1ZSBKU1ZhbHVlUmVmXSwgbnVsbHB0cik7Ci0g
ICAgcmV0dXJuIHdyYXBwZXIoSW5qZWN0ZWRCdW5kbGVSYW5nZUhhbmRsZTo6Z2V0T3JDcmVhdGUo
Y29udGV4dFJlZiwgb2JqZWN0UmVmKSk7CisgICAgcmV0dXJuIHdyYXBwZXIoV2ViS2l0OjpJbmpl
Y3RlZEJ1bmRsZVJhbmdlSGFuZGxlOjpnZXRPckNyZWF0ZShjb250ZXh0UmVmLCBvYmplY3RSZWYp
KTsKIH0KIAogLSAoV0tXZWJQcm9jZXNzUGx1Z0luRnJhbWUgKilmcmFtZQpAQCAtNzgsNyArNzYs
NyBAQCB1c2luZyBuYW1lc3BhY2UgV2ViS2l0OwogfQogI2VuZGlmCiAKLS0gKEluamVjdGVkQnVu
ZGxlUmFuZ2VIYW5kbGUmKV9yYW5nZUhhbmRsZQorLSAoV2ViS2l0OjpJbmplY3RlZEJ1bmRsZVJh
bmdlSGFuZGxlJilfcmFuZ2VIYW5kbGUKIHsKICAgICByZXR1cm4gKl9yYW5nZUhhbmRsZTsKIH0K
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9BUEkv
Q29jb2EvV0tXZWJQcm9jZXNzUGx1Z0luU2NyaXB0V29ybGQubW0gYi9Tb3VyY2UvV2ViS2l0L1dl
YlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvQVBJL0NvY29hL1dLV2ViUHJvY2Vzc1BsdWdJblNjcmlw
dFdvcmxkLm1tCmluZGV4IGFlOGQ5MDYxZjQ0MzBiMmFmYzk4YTBhNzVhMzE1MWM3MDYyOWRkN2Qu
LmUwNDJkZmUyZTNmMDk2YjdlY2Q0YTE2YWRmOGVjOTJlMzRiNzI3YmUgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9BUEkvQ29jb2EvV0tXZWJQcm9j
ZXNzUGx1Z0luU2NyaXB0V29ybGQubW0KKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0lu
amVjdGVkQnVuZGxlL0FQSS9Db2NvYS9XS1dlYlByb2Nlc3NQbHVnSW5TY3JpcHRXb3JsZC5tbQpA
QCAtMjgsMjAgKzI4LDE4IEBACiAKICNpZiBXS19BUElfRU5BQkxFRAogCi11c2luZyBuYW1lc3Bh
Y2UgV2ViS2l0OwotCiBAaW1wbGVtZW50YXRpb24gV0tXZWJQcm9jZXNzUGx1Z0luU2NyaXB0V29y
bGQgewotICAgIEFQSTo6T2JqZWN0U3RvcmFnZTxJbmplY3RlZEJ1bmRsZVNjcmlwdFdvcmxkPiBf
d29ybGQ7CisgICAgQVBJOjpPYmplY3RTdG9yYWdlPFdlYktpdDo6SW5qZWN0ZWRCdW5kbGVTY3Jp
cHRXb3JsZD4gX3dvcmxkOwogfQogCiArIChXS1dlYlByb2Nlc3NQbHVnSW5TY3JpcHRXb3JsZCAq
KXdvcmxkCiB7Ci0gICAgcmV0dXJuIHdyYXBwZXIoSW5qZWN0ZWRCdW5kbGVTY3JpcHRXb3JsZDo6
Y3JlYXRlKCkpOworICAgIHJldHVybiBXZWJLaXQ6OndyYXBwZXIoV2ViS2l0OjpJbmplY3RlZEJ1
bmRsZVNjcmlwdFdvcmxkOjpjcmVhdGUoKSk7CiB9CiAKICsgKFdLV2ViUHJvY2Vzc1BsdWdJblNj
cmlwdFdvcmxkICopbm9ybWFsV29ybGQKIHsKLSAgICByZXR1cm4gd3JhcHBlcihJbmplY3RlZEJ1
bmRsZVNjcmlwdFdvcmxkOjpub3JtYWxXb3JsZCgpKTsKKyAgICByZXR1cm4gV2ViS2l0Ojp3cmFw
cGVyKFdlYktpdDo6SW5qZWN0ZWRCdW5kbGVTY3JpcHRXb3JsZDo6bm9ybWFsV29ybGQoKSk7CiB9
CiAKIC0gKHZvaWQpZGVhbGxvYwpAQCAtNzAsNyArNjgsNyBAQCB1c2luZyBuYW1lc3BhY2UgV2Vi
S2l0OwogICAgIHJldHVybiBfd29ybGQtPm5hbWUoKTsKIH0KIAotLSAoSW5qZWN0ZWRCdW5kbGVT
Y3JpcHRXb3JsZCYpX3NjcmlwdFdvcmxkCistIChXZWJLaXQ6OkluamVjdGVkQnVuZGxlU2NyaXB0
V29ybGQmKV9zY3JpcHRXb3JsZAogewogICAgIHJldHVybiAqX3dvcmxkOwogfQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0FQSS9tYWMvV0tXZWJQ
cm9jZXNzUGx1Z0luLm1tIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0luamVjdGVkQnVuZGxl
L0FQSS9tYWMvV0tXZWJQcm9jZXNzUGx1Z0luLm1tCmluZGV4IDQwNTczNDljMzdhMGE2MDI4MGY1
NjUwOTBiZDllMTllN2QwNGFmYWYuLjkxZDZiOTY1ZTEwM2RjYWFhZjMzZmNlZTdkOGE5NWI1Mzg0
NWIxOTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRs
ZS9BUEkvbWFjL1dLV2ViUHJvY2Vzc1BsdWdJbi5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlBy
b2Nlc3MvSW5qZWN0ZWRCdW5kbGUvQVBJL21hYy9XS1dlYlByb2Nlc3NQbHVnSW4ubW0KQEAgLTM3
LDEwICszNyw4IEBACiAjaW1wb3J0ICJXS1dlYlByb2Nlc3NQbHVnSW5Ccm93c2VyQ29udGV4dENv
bnRyb2xsZXJJbnRlcm5hbC5oIgogI2ltcG9ydCA8d3RmL1JldGFpblB0ci5oPgogCi11c2luZyBu
YW1lc3BhY2UgV2ViS2l0OwotCiBAaW50ZXJmYWNlIFdLV2ViUHJvY2Vzc1BsdWdJbkNvbnRyb2xs
ZXIgKCkgewotICAgIEFQSTo6T2JqZWN0U3RvcmFnZTxJbmplY3RlZEJ1bmRsZT4gX2J1bmRsZTsK
KyAgICBBUEk6Ok9iamVjdFN0b3JhZ2U8V2ViS2l0OjpJbmplY3RlZEJ1bmRsZT4gX2J1bmRsZTsK
ICAgICBSZXRhaW5QdHI8aWQgPFdLV2ViUHJvY2Vzc1BsdWdJbj4+IF9wcmluY2lwYWxDbGFzc0lu
c3RhbmNlOwogfQogQGVuZApAQCAtNjAsNyArNTgsNyBAQCBzdGF0aWMgdm9pZCBkaWRDcmVhdGVQ
YWdlKFdLQnVuZGxlUmVmIGJ1bmRsZSwgV0tCdW5kbGVQYWdlUmVmIHBhZ2UsIGNvbnN0IHZvaWQq
CiAgICAgaWQgPFdLV2ViUHJvY2Vzc1BsdWdJbj4gcHJpbmNpcGFsQ2xhc3NJbnN0YW5jZSA9IHBs
dWdJbkNvbnRyb2xsZXItPl9wcmluY2lwYWxDbGFzc0luc3RhbmNlLmdldCgpOwogCiAgICAgaWYg
KFtwcmluY2lwYWxDbGFzc0luc3RhbmNlIHJlc3BvbmRzVG9TZWxlY3RvcjpAc2VsZWN0b3Iod2Vi
UHJvY2Vzc1BsdWdJbjpkaWRDcmVhdGVCcm93c2VyQ29udGV4dENvbnRyb2xsZXI6KV0pCi0gICAg
ICAgIFtwcmluY2lwYWxDbGFzc0luc3RhbmNlIHdlYlByb2Nlc3NQbHVnSW46cGx1Z0luQ29udHJv
bGxlciBkaWRDcmVhdGVCcm93c2VyQ29udGV4dENvbnRyb2xsZXI6d3JhcHBlcigqdG9JbXBsKHBh
Z2UpKV07CisgICAgICAgIFtwcmluY2lwYWxDbGFzc0luc3RhbmNlIHdlYlByb2Nlc3NQbHVnSW46
cGx1Z0luQ29udHJvbGxlciBkaWRDcmVhdGVCcm93c2VyQ29udGV4dENvbnRyb2xsZXI6d3JhcHBl
cigqV2ViS2l0Ojp0b0ltcGwocGFnZSkpXTsKIH0KIAogc3RhdGljIHZvaWQgd2lsbERlc3Ryb3lQ
YWdlKFdLQnVuZGxlUmVmIGJ1bmRsZSwgV0tCdW5kbGVQYWdlUmVmIHBhZ2UsIGNvbnN0IHZvaWQq
IGNsaWVudEluZm8pCkBAIC02OSwxMCArNjcsMTAgQEAgc3RhdGljIHZvaWQgd2lsbERlc3Ryb3lQ
YWdlKFdLQnVuZGxlUmVmIGJ1bmRsZSwgV0tCdW5kbGVQYWdlUmVmIHBhZ2UsIGNvbnN0IHZvaWQK
ICAgICBpZCA8V0tXZWJQcm9jZXNzUGx1Z0luPiBwcmluY2lwYWxDbGFzc0luc3RhbmNlID0gcGx1
Z0luQ29udHJvbGxlci0+X3ByaW5jaXBhbENsYXNzSW5zdGFuY2UuZ2V0KCk7CiAKICAgICBpZiAo
W3ByaW5jaXBhbENsYXNzSW5zdGFuY2UgcmVzcG9uZHNUb1NlbGVjdG9yOkBzZWxlY3Rvcih3ZWJQ
cm9jZXNzUGx1Z0luOndpbGxEZXN0cm95QnJvd3NlckNvbnRleHRDb250cm9sbGVyOildKQotICAg
ICAgICBbcHJpbmNpcGFsQ2xhc3NJbnN0YW5jZSB3ZWJQcm9jZXNzUGx1Z0luOnBsdWdJbkNvbnRy
b2xsZXIgd2lsbERlc3Ryb3lCcm93c2VyQ29udGV4dENvbnRyb2xsZXI6d3JhcHBlcigqdG9JbXBs
KHBhZ2UpKV07CisgICAgICAgIFtwcmluY2lwYWxDbGFzc0luc3RhbmNlIHdlYlByb2Nlc3NQbHVn
SW46cGx1Z0luQ29udHJvbGxlciB3aWxsRGVzdHJveUJyb3dzZXJDb250ZXh0Q29udHJvbGxlcjp3
cmFwcGVyKCpXZWJLaXQ6OnRvSW1wbChwYWdlKSldOwogfQogCi1zdGF0aWMgdm9pZCBzZXRVcEJ1
bmRsZUNsaWVudChXS1dlYlByb2Nlc3NQbHVnSW5Db250cm9sbGVyICpwbHVnSW5Db250cm9sbGVy
LCBJbmplY3RlZEJ1bmRsZSYgYnVuZGxlKQorc3RhdGljIHZvaWQgc2V0VXBCdW5kbGVDbGllbnQo
V0tXZWJQcm9jZXNzUGx1Z0luQ29udHJvbGxlciAqcGx1Z0luQ29udHJvbGxlciwgV2ViS2l0OjpJ
bmplY3RlZEJ1bmRsZSYgYnVuZGxlKQogewogICAgIFdLQnVuZGxlQ2xpZW50VjEgYnVuZGxlQ2xp
ZW50OwogICAgIG1lbXNldCgmYnVuZGxlQ2xpZW50LCAwLCBzaXplb2YoYnVuZGxlQ2xpZW50KSk7
CkBAIC0xMTEsNyArMTA5LDcgQEAgc3RhdGljIFJlZjxBUEk6OkFycmF5PiBjcmVhdGVXS0FycmF5
KE5TQXJyYXkgKmFycmF5KQogICAgIAogICAgIGZvciAoaWQgZW50cnkgaW4gYXJyYXkpIHsKICAg
ICAgICAgaWYgKFtlbnRyeSBpc0tpbmRPZkNsYXNzOltOU1N0cmluZyBjbGFzc11dKQotICAgICAg
ICAgICAgc3RyaW5ncy51bmNoZWNrZWRBcHBlbmQoYWRvcHRSZWYodG9JbXBsKFdLU3RyaW5nQ3Jl
YXRlV2l0aENGU3RyaW5nKChfX2JyaWRnZSBDRlN0cmluZ1JlZillbnRyeSkpKSk7CisgICAgICAg
ICAgICBzdHJpbmdzLnVuY2hlY2tlZEFwcGVuZChhZG9wdFJlZihXZWJLaXQ6OnRvSW1wbChXS1N0
cmluZ0NyZWF0ZVdpdGhDRlN0cmluZygoX19icmlkZ2UgQ0ZTdHJpbmdSZWYpZW50cnkpKSkpOwog
ICAgIH0KICAgICAKICAgICByZXR1cm4gQVBJOjpBcnJheTo6Y3JlYXRlKFdURk1vdmUoc3RyaW5n
cykpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0luamVjdGVkQnVuZGxl
L0FQSS9tYWMvV0tXZWJQcm9jZXNzUGx1Z0luQnJvd3NlckNvbnRleHRDb250cm9sbGVyLm1tIGIv
U291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0FQSS9tYWMvV0tXZWJQcm9j
ZXNzUGx1Z0luQnJvd3NlckNvbnRleHRDb250cm9sbGVyLm1tCmluZGV4IDI4ZGMwNjY5ZGY1ZGQy
MGUwYmMxZTA2NjdlY2U5ZjdlNTM5NGM0OTIuLmJjN2EyNGFjOTExNWRiM2JkZGUxMzFmZWU0MzU3
Y2I1ZjExMGQwZjUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9JbmplY3Rl
ZEJ1bmRsZS9BUEkvbWFjL1dLV2ViUHJvY2Vzc1BsdWdJbkJyb3dzZXJDb250ZXh0Q29udHJvbGxl
ci5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvQVBJL21h
Yy9XS1dlYlByb2Nlc3NQbHVnSW5Ccm93c2VyQ29udGV4dENvbnRyb2xsZXIubW0KQEAgLTY2LDE1
ICs2NiwxMiBAQAogI2ltcG9ydCA8cGFsL3NwaS9jb2NvYS9OU0tleWVkQXJjaGl2ZXJTUEkuaD4K
ICNpbXBvcnQgPHd0Zi9XZWFrT2JqQ1B0ci5oPgogCi11c2luZyBuYW1lc3BhY2UgV2ViQ29yZTsK
LXVzaW5nIG5hbWVzcGFjZSBXZWJLaXQ7Ci0KIEBpbnRlcmZhY2UgTlNPYmplY3QgKFdLRGVwcmVj
YXRlZERlbGVnYXRlTWV0aG9kcykKIC0gKHZvaWQpd2ViUHJvY2Vzc1BsdWdJbkJyb3dzZXJDb250
ZXh0Q29udHJvbGxlcjooV0tXZWJQcm9jZXNzUGx1Z0luQnJvd3NlckNvbnRleHRDb250cm9sbGVy
ICopY29udHJvbGxlciBkaWRTYW1lRG9jdW1lbnROYXZpZ2F0aW9uRm9yRnJhbWU6KFdLV2ViUHJv
Y2Vzc1BsdWdJbkZyYW1lICopZnJhbWU7CiBAZW5kCiAKIEBpbXBsZW1lbnRhdGlvbiBXS1dlYlBy
b2Nlc3NQbHVnSW5Ccm93c2VyQ29udGV4dENvbnRyb2xsZXIgewotICAgIEFQSTo6T2JqZWN0U3Rv
cmFnZTxXZWJQYWdlPiBfcGFnZTsKKyAgICBBUEk6Ok9iamVjdFN0b3JhZ2U8V2ViS2l0OjpXZWJQ
YWdlPiBfcGFnZTsKICAgICBXZWFrT2JqQ1B0cjxpZCA8V0tXZWJQcm9jZXNzUGx1Z0luTG9hZERl
bGVnYXRlPj4gX2xvYWREZWxlZ2F0ZTsKICAgICBXZWFrT2JqQ1B0cjxpZCA8V0tXZWJQcm9jZXNz
UGx1Z0luRm9ybURlbGVnYXRlUHJpdmF0ZT4+IF9mb3JtRGVsZWdhdGU7CiAgICAgV2Vha09iakNQ
dHI8aWQgPFdLV2ViUHJvY2Vzc1BsdWdJbkVkaXRpbmdEZWxlZ2F0ZT4+IF9lZGl0aW5nRGVsZWdh
dGU7CkBAIC04OCw3ICs4NSw3IEBAIHN0YXRpYyB2b2lkIGRpZFN0YXJ0UHJvdmlzaW9uYWxMb2Fk
Rm9yRnJhbWUoV0tCdW5kbGVQYWdlUmVmIHBhZ2UsIFdLQnVuZGxlRnJhbWVSCiAgICAgYXV0byBs
b2FkRGVsZWdhdGUgPSBwbHVnaW5Db250ZXh0Q29udHJvbGxlci0+X2xvYWREZWxlZ2F0ZS5nZXQo
KTsKIAogICAgIGlmIChbbG9hZERlbGVnYXRlIHJlc3BvbmRzVG9TZWxlY3RvcjpAc2VsZWN0b3Io
d2ViUHJvY2Vzc1BsdWdJbkJyb3dzZXJDb250ZXh0Q29udHJvbGxlcjpkaWRTdGFydFByb3Zpc2lv
bmFsTG9hZEZvckZyYW1lOildKQotICAgICAgICBbbG9hZERlbGVnYXRlIHdlYlByb2Nlc3NQbHVn
SW5Ccm93c2VyQ29udGV4dENvbnRyb2xsZXI6cGx1Z2luQ29udGV4dENvbnRyb2xsZXIgZGlkU3Rh
cnRQcm92aXNpb25hbExvYWRGb3JGcmFtZTp3cmFwcGVyKCp0b0ltcGwoZnJhbWUpKV07CisgICAg
ICAgIFtsb2FkRGVsZWdhdGUgd2ViUHJvY2Vzc1BsdWdJbkJyb3dzZXJDb250ZXh0Q29udHJvbGxl
cjpwbHVnaW5Db250ZXh0Q29udHJvbGxlciBkaWRTdGFydFByb3Zpc2lvbmFsTG9hZEZvckZyYW1l
OndyYXBwZXIoKldlYktpdDo6dG9JbXBsKGZyYW1lKSldOwogfQogCiBzdGF0aWMgdm9pZCBkaWRS
ZWNlaXZlU2VydmVyUmVkaXJlY3RGb3JQcm92aXNpb25hbExvYWRGb3JGcmFtZShXS0J1bmRsZVBh
Z2VSZWYgcGFnZSwgV0tCdW5kbGVGcmFtZVJlZiBmcmFtZSwgV0tUeXBlUmVmICp1c2VyRGF0YVJl
ZiwgY29uc3Qgdm9pZCAqY2xpZW50SW5mbykKQEAgLTk3LDcgKzk0LDcgQEAgc3RhdGljIHZvaWQg
ZGlkUmVjZWl2ZVNlcnZlclJlZGlyZWN0Rm9yUHJvdmlzaW9uYWxMb2FkRm9yRnJhbWUoV0tCdW5k
bGVQYWdlUmVmIHAKICAgICBhdXRvIGxvYWREZWxlZ2F0ZSA9IHBsdWdpbkNvbnRleHRDb250cm9s
bGVyLT5fbG9hZERlbGVnYXRlLmdldCgpOwogCiAgICAgaWYgKFtsb2FkRGVsZWdhdGUgcmVzcG9u
ZHNUb1NlbGVjdG9yOkBzZWxlY3Rvcih3ZWJQcm9jZXNzUGx1Z0luQnJvd3NlckNvbnRleHRDb250
cm9sbGVyOmRpZFJlY2VpdmVTZXJ2ZXJSZWRpcmVjdEZvclByb3Zpc2lvbmFsTG9hZEZvckZyYW1l
OildKQotICAgICAgICBbbG9hZERlbGVnYXRlIHdlYlByb2Nlc3NQbHVnSW5Ccm93c2VyQ29udGV4
dENvbnRyb2xsZXI6cGx1Z2luQ29udGV4dENvbnRyb2xsZXIgZGlkUmVjZWl2ZVNlcnZlclJlZGly
ZWN0Rm9yUHJvdmlzaW9uYWxMb2FkRm9yRnJhbWU6d3JhcHBlcigqdG9JbXBsKGZyYW1lKSldOwor
ICAgICAgICBbbG9hZERlbGVnYXRlIHdlYlByb2Nlc3NQbHVnSW5Ccm93c2VyQ29udGV4dENvbnRy
b2xsZXI6cGx1Z2luQ29udGV4dENvbnRyb2xsZXIgZGlkUmVjZWl2ZVNlcnZlclJlZGlyZWN0Rm9y
UHJvdmlzaW9uYWxMb2FkRm9yRnJhbWU6d3JhcHBlcigqV2ViS2l0Ojp0b0ltcGwoZnJhbWUpKV07
CiB9CiAKIHN0YXRpYyB2b2lkIGRpZEZpbmlzaExvYWRGb3JGcmFtZShXS0J1bmRsZVBhZ2VSZWYg
cGFnZSwgV0tCdW5kbGVGcmFtZVJlZiBmcmFtZSwgV0tUeXBlUmVmKiB1c2VyRGF0YSwgY29uc3Qg
dm9pZCAqY2xpZW50SW5mbykKQEAgLTEwNiw3ICsxMDMsNyBAQCBzdGF0aWMgdm9pZCBkaWRGaW5p
c2hMb2FkRm9yRnJhbWUoV0tCdW5kbGVQYWdlUmVmIHBhZ2UsIFdLQnVuZGxlRnJhbWVSZWYgZnJh
bWUsCiAgICAgYXV0byBsb2FkRGVsZWdhdGUgPSBwbHVnaW5Db250ZXh0Q29udHJvbGxlci0+X2xv
YWREZWxlZ2F0ZS5nZXQoKTsKIAogICAgIGlmIChbbG9hZERlbGVnYXRlIHJlc3BvbmRzVG9TZWxl
Y3RvcjpAc2VsZWN0b3Iod2ViUHJvY2Vzc1BsdWdJbkJyb3dzZXJDb250ZXh0Q29udHJvbGxlcjpk
aWRGaW5pc2hMb2FkRm9yRnJhbWU6KV0pCi0gICAgICAgIFtsb2FkRGVsZWdhdGUgd2ViUHJvY2Vz
c1BsdWdJbkJyb3dzZXJDb250ZXh0Q29udHJvbGxlcjpwbHVnaW5Db250ZXh0Q29udHJvbGxlciBk
aWRGaW5pc2hMb2FkRm9yRnJhbWU6d3JhcHBlcigqdG9JbXBsKGZyYW1lKSldOworICAgICAgICBb
bG9hZERlbGVnYXRlIHdlYlByb2Nlc3NQbHVnSW5Ccm93c2VyQ29udGV4dENvbnRyb2xsZXI6cGx1
Z2luQ29udGV4dENvbnRyb2xsZXIgZGlkRmluaXNoTG9hZEZvckZyYW1lOndyYXBwZXIoKldlYktp
dDo6dG9JbXBsKGZyYW1lKSldOwogfQogCiBzdGF0aWMgdm9pZCBnbG9iYWxPYmplY3RJc0F2YWls
YWJsZUZvckZyYW1lKFdLQnVuZGxlUGFnZVJlZiBwYWdlLCBXS0J1bmRsZUZyYW1lUmVmIGZyYW1l
LCBXS0J1bmRsZVNjcmlwdFdvcmxkUmVmIHNjcmlwdFdvcmxkLCBjb25zdCB2b2lkKiBjbGllbnRJ
bmZvKQpAQCAtMTE1LDcgKzExMiw3IEBAIHN0YXRpYyB2b2lkIGdsb2JhbE9iamVjdElzQXZhaWxh
YmxlRm9yRnJhbWUoV0tCdW5kbGVQYWdlUmVmIHBhZ2UsIFdLQnVuZGxlRnJhbWVSCiAgICAgYXV0
byBsb2FkRGVsZWdhdGUgPSBwbHVnaW5Db250ZXh0Q29udHJvbGxlci0+X2xvYWREZWxlZ2F0ZS5n
ZXQoKTsKIAogICAgIGlmIChbbG9hZERlbGVnYXRlIHJlc3BvbmRzVG9TZWxlY3RvcjpAc2VsZWN0
b3Iod2ViUHJvY2Vzc1BsdWdJbkJyb3dzZXJDb250ZXh0Q29udHJvbGxlcjpnbG9iYWxPYmplY3RJ
c0F2YWlsYWJsZUZvckZyYW1lOmluU2NyaXB0V29ybGQ6KV0pCi0gICAgICAgIFtsb2FkRGVsZWdh
dGUgd2ViUHJvY2Vzc1BsdWdJbkJyb3dzZXJDb250ZXh0Q29udHJvbGxlcjpwbHVnaW5Db250ZXh0
Q29udHJvbGxlciBnbG9iYWxPYmplY3RJc0F2YWlsYWJsZUZvckZyYW1lOndyYXBwZXIoKnRvSW1w
bChmcmFtZSkpIGluU2NyaXB0V29ybGQ6d3JhcHBlcigqdG9JbXBsKHNjcmlwdFdvcmxkKSldOwor
ICAgICAgICBbbG9hZERlbGVnYXRlIHdlYlByb2Nlc3NQbHVnSW5Ccm93c2VyQ29udGV4dENvbnRy
b2xsZXI6cGx1Z2luQ29udGV4dENvbnRyb2xsZXIgZ2xvYmFsT2JqZWN0SXNBdmFpbGFibGVGb3JG
cmFtZTp3cmFwcGVyKCpXZWJLaXQ6OnRvSW1wbChmcmFtZSkpIGluU2NyaXB0V29ybGQ6d3JhcHBl
cigqV2ViS2l0Ojp0b0ltcGwoc2NyaXB0V29ybGQpKV07CiB9CiAKIHN0YXRpYyB2b2lkIGRpZFJl
bW92ZUZyYW1lRnJvbUhpZXJhcmNoeShXS0J1bmRsZVBhZ2VSZWYgcGFnZSwgV0tCdW5kbGVGcmFt
ZVJlZiBmcmFtZSwgV0tUeXBlUmVmKiB1c2VyRGF0YSwgY29uc3Qgdm9pZCogY2xpZW50SW5mbykK
QEAgLTEyNCw3ICsxMjEsNyBAQCBzdGF0aWMgdm9pZCBkaWRSZW1vdmVGcmFtZUZyb21IaWVyYXJj
aHkoV0tCdW5kbGVQYWdlUmVmIHBhZ2UsIFdLQnVuZGxlRnJhbWVSZWYgZgogICAgIGF1dG8gbG9h
ZERlbGVnYXRlID0gcGx1Z2luQ29udGV4dENvbnRyb2xsZXItPl9sb2FkRGVsZWdhdGUuZ2V0KCk7
CiAKICAgICBpZiAoW2xvYWREZWxlZ2F0ZSByZXNwb25kc1RvU2VsZWN0b3I6QHNlbGVjdG9yKHdl
YlByb2Nlc3NQbHVnSW5Ccm93c2VyQ29udGV4dENvbnRyb2xsZXI6ZGlkUmVtb3ZlRnJhbWVGcm9t
SGllcmFyY2h5OildKQotICAgICAgICBbbG9hZERlbGVnYXRlIHdlYlByb2Nlc3NQbHVnSW5Ccm93
c2VyQ29udGV4dENvbnRyb2xsZXI6cGx1Z2luQ29udGV4dENvbnRyb2xsZXIgZGlkUmVtb3ZlRnJh
bWVGcm9tSGllcmFyY2h5OndyYXBwZXIoKnRvSW1wbChmcmFtZSkpXTsKKyAgICAgICAgW2xvYWRE
ZWxlZ2F0ZSB3ZWJQcm9jZXNzUGx1Z0luQnJvd3NlckNvbnRleHRDb250cm9sbGVyOnBsdWdpbkNv
bnRleHRDb250cm9sbGVyIGRpZFJlbW92ZUZyYW1lRnJvbUhpZXJhcmNoeTp3cmFwcGVyKCpXZWJL
aXQ6OnRvSW1wbChmcmFtZSkpXTsKIH0KIAogc3RhdGljIHZvaWQgZGlkQ29tbWl0TG9hZEZvckZy
YW1lKFdLQnVuZGxlUGFnZVJlZiBwYWdlLCBXS0J1bmRsZUZyYW1lUmVmIGZyYW1lLCBXS1R5cGVS
ZWYqIHVzZXJEYXRhLCBjb25zdCB2b2lkICpjbGllbnRJbmZvKQpAQCAtMTMzLDcgKzEzMCw3IEBA
IHN0YXRpYyB2b2lkIGRpZENvbW1pdExvYWRGb3JGcmFtZShXS0J1bmRsZVBhZ2VSZWYgcGFnZSwg
V0tCdW5kbGVGcmFtZVJlZiBmcmFtZSwKICAgICBhdXRvIGxvYWREZWxlZ2F0ZSA9IHBsdWdpbkNv
bnRleHRDb250cm9sbGVyLT5fbG9hZERlbGVnYXRlLmdldCgpOwogCiAgICAgaWYgKFtsb2FkRGVs
ZWdhdGUgcmVzcG9uZHNUb1NlbGVjdG9yOkBzZWxlY3Rvcih3ZWJQcm9jZXNzUGx1Z0luQnJvd3Nl
ckNvbnRleHRDb250cm9sbGVyOmRpZENvbW1pdExvYWRGb3JGcmFtZTopXSkKLSAgICAgICAgW2xv
YWREZWxlZ2F0ZSB3ZWJQcm9jZXNzUGx1Z0luQnJvd3NlckNvbnRleHRDb250cm9sbGVyOnBsdWdp
bkNvbnRleHRDb250cm9sbGVyIGRpZENvbW1pdExvYWRGb3JGcmFtZTp3cmFwcGVyKCp0b0ltcGwo
ZnJhbWUpKV07CisgICAgICAgIFtsb2FkRGVsZWdhdGUgd2ViUHJvY2Vzc1BsdWdJbkJyb3dzZXJD
b250ZXh0Q29udHJvbGxlcjpwbHVnaW5Db250ZXh0Q29udHJvbGxlciBkaWRDb21taXRMb2FkRm9y
RnJhbWU6d3JhcHBlcigqV2ViS2l0Ojp0b0ltcGwoZnJhbWUpKV07CiB9CiAKIHN0YXRpYyB2b2lk
IGRpZEZpbmlzaERvY3VtZW50TG9hZEZvckZyYW1lKFdLQnVuZGxlUGFnZVJlZiBwYWdlLCBXS0J1
bmRsZUZyYW1lUmVmIGZyYW1lLCBXS1R5cGVSZWYqIHVzZXJEYXRhLCBjb25zdCB2b2lkICpjbGll
bnRJbmZvKQpAQCAtMTQyLDcgKzEzOSw3IEBAIHN0YXRpYyB2b2lkIGRpZEZpbmlzaERvY3VtZW50
TG9hZEZvckZyYW1lKFdLQnVuZGxlUGFnZVJlZiBwYWdlLCBXS0J1bmRsZUZyYW1lUmVmCiAgICAg
YXV0byBsb2FkRGVsZWdhdGUgPSBwbHVnaW5Db250ZXh0Q29udHJvbGxlci0+X2xvYWREZWxlZ2F0
ZS5nZXQoKTsKIAogICAgIGlmIChbbG9hZERlbGVnYXRlIHJlc3BvbmRzVG9TZWxlY3RvcjpAc2Vs
ZWN0b3Iod2ViUHJvY2Vzc1BsdWdJbkJyb3dzZXJDb250ZXh0Q29udHJvbGxlcjpkaWRGaW5pc2hE
b2N1bWVudExvYWRGb3JGcmFtZTopXSkKLSAgICAgICAgW2xvYWREZWxlZ2F0ZSB3ZWJQcm9jZXNz
UGx1Z0luQnJvd3NlckNvbnRleHRDb250cm9sbGVyOnBsdWdpbkNvbnRleHRDb250cm9sbGVyIGRp
ZEZpbmlzaERvY3VtZW50TG9hZEZvckZyYW1lOndyYXBwZXIoKnRvSW1wbChmcmFtZSkpXTsKKyAg
ICAgICAgW2xvYWREZWxlZ2F0ZSB3ZWJQcm9jZXNzUGx1Z0luQnJvd3NlckNvbnRleHRDb250cm9s
bGVyOnBsdWdpbkNvbnRleHRDb250cm9sbGVyIGRpZEZpbmlzaERvY3VtZW50TG9hZEZvckZyYW1l
OndyYXBwZXIoKldlYktpdDo6dG9JbXBsKGZyYW1lKSldOwogfQogCiBzdGF0aWMgdm9pZCBkaWRG
YWlsUHJvdmlzaW9uYWxMb2FkV2l0aEVycm9yRm9yRnJhbWUoV0tCdW5kbGVQYWdlUmVmIHBhZ2Us
IFdLQnVuZGxlRnJhbWVSZWYgZnJhbWUsIFdLRXJyb3JSZWYgd2tFcnJvciwgV0tUeXBlUmVmKiB1
c2VyRGF0YSwgY29uc3Qgdm9pZCAqY2xpZW50SW5mbykKQEAgLTE1MSw3ICsxNDgsNyBAQCBzdGF0
aWMgdm9pZCBkaWRGYWlsUHJvdmlzaW9uYWxMb2FkV2l0aEVycm9yRm9yRnJhbWUoV0tCdW5kbGVQ
YWdlUmVmIHBhZ2UsIFdLQnVuZAogICAgIGF1dG8gbG9hZERlbGVnYXRlID0gcGx1Z2luQ29udGV4
dENvbnRyb2xsZXItPl9sb2FkRGVsZWdhdGUuZ2V0KCk7CiAKICAgICBpZiAoW2xvYWREZWxlZ2F0
ZSByZXNwb25kc1RvU2VsZWN0b3I6QHNlbGVjdG9yKHdlYlByb2Nlc3NQbHVnSW5Ccm93c2VyQ29u
dGV4dENvbnRyb2xsZXI6ZGlkRmFpbFByb3Zpc2lvbmFsTG9hZFdpdGhFcnJvckZvckZyYW1lOmVy
cm9yOildKQotICAgICAgICBbbG9hZERlbGVnYXRlIHdlYlByb2Nlc3NQbHVnSW5Ccm93c2VyQ29u
dGV4dENvbnRyb2xsZXI6cGx1Z2luQ29udGV4dENvbnRyb2xsZXIgZGlkRmFpbFByb3Zpc2lvbmFs
TG9hZFdpdGhFcnJvckZvckZyYW1lOndyYXBwZXIoKnRvSW1wbChmcmFtZSkpIGVycm9yOndyYXBw
ZXIoKnRvSW1wbCh3a0Vycm9yKSldOworICAgICAgICBbbG9hZERlbGVnYXRlIHdlYlByb2Nlc3NQ
bHVnSW5Ccm93c2VyQ29udGV4dENvbnRyb2xsZXI6cGx1Z2luQ29udGV4dENvbnRyb2xsZXIgZGlk
RmFpbFByb3Zpc2lvbmFsTG9hZFdpdGhFcnJvckZvckZyYW1lOndyYXBwZXIoKldlYktpdDo6dG9J
bXBsKGZyYW1lKSkgZXJyb3I6d3JhcHBlcigqV2ViS2l0Ojp0b0ltcGwod2tFcnJvcikpXTsKIH0K
IAogc3RhdGljIHZvaWQgZGlkRmFpbExvYWRXaXRoRXJyb3JGb3JGcmFtZShXS0J1bmRsZVBhZ2VS
ZWYgcGFnZSwgV0tCdW5kbGVGcmFtZVJlZiBmcmFtZSwgV0tFcnJvclJlZiB3a0Vycm9yLCBXS1R5
cGVSZWYqIHVzZXJEYXRhLCBjb25zdCB2b2lkICpjbGllbnRJbmZvKQpAQCAtMTYwLDcgKzE1Nyw3
IEBAIHN0YXRpYyB2b2lkIGRpZEZhaWxMb2FkV2l0aEVycm9yRm9yRnJhbWUoV0tCdW5kbGVQYWdl
UmVmIHBhZ2UsIFdLQnVuZGxlRnJhbWVSZWYKICAgICBhdXRvIGxvYWREZWxlZ2F0ZSA9IHBsdWdp
bkNvbnRleHRDb250cm9sbGVyLT5fbG9hZERlbGVnYXRlLmdldCgpOwogCiAgICAgaWYgKFtsb2Fk
RGVsZWdhdGUgcmVzcG9uZHNUb1NlbGVjdG9yOkBzZWxlY3Rvcih3ZWJQcm9jZXNzUGx1Z0luQnJv
d3NlckNvbnRleHRDb250cm9sbGVyOmRpZEZhaWxMb2FkV2l0aEVycm9yRm9yRnJhbWU6ZXJyb3I6
KV0pCi0gICAgICAgIFtsb2FkRGVsZWdhdGUgd2ViUHJvY2Vzc1BsdWdJbkJyb3dzZXJDb250ZXh0
Q29udHJvbGxlcjpwbHVnaW5Db250ZXh0Q29udHJvbGxlciBkaWRGYWlsTG9hZFdpdGhFcnJvckZv
ckZyYW1lOndyYXBwZXIoKnRvSW1wbChmcmFtZSkpIGVycm9yOndyYXBwZXIoKnRvSW1wbCh3a0Vy
cm9yKSldOworICAgICAgICBbbG9hZERlbGVnYXRlIHdlYlByb2Nlc3NQbHVnSW5Ccm93c2VyQ29u
dGV4dENvbnRyb2xsZXI6cGx1Z2luQ29udGV4dENvbnRyb2xsZXIgZGlkRmFpbExvYWRXaXRoRXJy
b3JGb3JGcmFtZTp3cmFwcGVyKCpXZWJLaXQ6OnRvSW1wbChmcmFtZSkpIGVycm9yOndyYXBwZXIo
KldlYktpdDo6dG9JbXBsKHdrRXJyb3IpKV07CiB9CiAKIHN0YXRpYyB2b2lkIGRpZFNhbWVEb2N1
bWVudE5hdmlnYXRpb25Gb3JGcmFtZShXS0J1bmRsZVBhZ2VSZWYgcGFnZSwgV0tCdW5kbGVGcmFt
ZVJlZiBmcmFtZSwgV0tTYW1lRG9jdW1lbnROYXZpZ2F0aW9uVHlwZSB0eXBlLCBXS1R5cGVSZWYq
IHVzZXJEYXRhLCBjb25zdCB2b2lkICpjbGllbnRJbmZvKQpAQCAtMTY5LDExICsxNjYsMTEgQEAg
c3RhdGljIHZvaWQgZGlkU2FtZURvY3VtZW50TmF2aWdhdGlvbkZvckZyYW1lKFdLQnVuZGxlUGFn
ZVJlZiBwYWdlLCBXS0J1bmRsZUZyYW0KICAgICBhdXRvIGxvYWREZWxlZ2F0ZSA9IHBsdWdpbkNv
bnRleHRDb250cm9sbGVyLT5fbG9hZERlbGVnYXRlLmdldCgpOwogCiAgICAgaWYgKFtsb2FkRGVs
ZWdhdGUgcmVzcG9uZHNUb1NlbGVjdG9yOkBzZWxlY3Rvcih3ZWJQcm9jZXNzUGx1Z0luQnJvd3Nl
ckNvbnRleHRDb250cm9sbGVyOmRpZFNhbWVEb2N1bWVudE5hdmlnYXRpb246Zm9yRnJhbWU6KV0p
Ci0gICAgICAgIFtsb2FkRGVsZWdhdGUgd2ViUHJvY2Vzc1BsdWdJbkJyb3dzZXJDb250ZXh0Q29u
dHJvbGxlcjpwbHVnaW5Db250ZXh0Q29udHJvbGxlciBkaWRTYW1lRG9jdW1lbnROYXZpZ2F0aW9u
OnRvV0tTYW1lRG9jdW1lbnROYXZpZ2F0aW9uVHlwZSh0b1NhbWVEb2N1bWVudE5hdmlnYXRpb25U
eXBlKHR5cGUpKSBmb3JGcmFtZTp3cmFwcGVyKCp0b0ltcGwoZnJhbWUpKV07CisgICAgICAgIFts
b2FkRGVsZWdhdGUgd2ViUHJvY2Vzc1BsdWdJbkJyb3dzZXJDb250ZXh0Q29udHJvbGxlcjpwbHVn
aW5Db250ZXh0Q29udHJvbGxlciBkaWRTYW1lRG9jdW1lbnROYXZpZ2F0aW9uOnRvV0tTYW1lRG9j
dW1lbnROYXZpZ2F0aW9uVHlwZShXZWJLaXQ6OnRvU2FtZURvY3VtZW50TmF2aWdhdGlvblR5cGUo
dHlwZSkpIGZvckZyYW1lOndyYXBwZXIoKldlYktpdDo6dG9JbXBsKGZyYW1lKSldOwogICAgIGVs
c2UgewogICAgICAgICAvLyBGSVhNRTogUmVtb3ZlIHRoaXMgb25jZSBjbGllbnRzIHN3aXRjaCB0
byBpbXBsZW1lbnRpbmcgdGhlIGFib3ZlIGRlbGVnYXRlIG1ldGhvZC4KICAgICAgICAgaWYgKFts
b2FkRGVsZWdhdGUgcmVzcG9uZHNUb1NlbGVjdG9yOkBzZWxlY3Rvcih3ZWJQcm9jZXNzUGx1Z0lu
QnJvd3NlckNvbnRleHRDb250cm9sbGVyOmRpZFNhbWVEb2N1bWVudE5hdmlnYXRpb25Gb3JGcmFt
ZTopXSkKLSAgICAgICAgICAgIFsoTlNPYmplY3QgKilsb2FkRGVsZWdhdGUgd2ViUHJvY2Vzc1Bs
dWdJbkJyb3dzZXJDb250ZXh0Q29udHJvbGxlcjpwbHVnaW5Db250ZXh0Q29udHJvbGxlciBkaWRT
YW1lRG9jdW1lbnROYXZpZ2F0aW9uRm9yRnJhbWU6d3JhcHBlcigqdG9JbXBsKGZyYW1lKSldOwor
ICAgICAgICAgICAgWyhOU09iamVjdCAqKWxvYWREZWxlZ2F0ZSB3ZWJQcm9jZXNzUGx1Z0luQnJv
d3NlckNvbnRleHRDb250cm9sbGVyOnBsdWdpbkNvbnRleHRDb250cm9sbGVyIGRpZFNhbWVEb2N1
bWVudE5hdmlnYXRpb25Gb3JGcmFtZTp3cmFwcGVyKCpXZWJLaXQ6OnRvSW1wbChmcmFtZSkpXTsK
ICAgICB9CiB9CiAKQEAgLTE4Myw3ICsxODAsNyBAQCBzdGF0aWMgdm9pZCBkaWRMYXlvdXRGb3JG
cmFtZShXS0J1bmRsZVBhZ2VSZWYgcGFnZSwgV0tCdW5kbGVGcmFtZVJlZiBmcmFtZSwgY29ucwog
ICAgIGF1dG8gbG9hZERlbGVnYXRlID0gcGx1Z2luQ29udGV4dENvbnRyb2xsZXItPl9sb2FkRGVs
ZWdhdGUuZ2V0KCk7CiAKICAgICBpZiAoW2xvYWREZWxlZ2F0ZSByZXNwb25kc1RvU2VsZWN0b3I6
QHNlbGVjdG9yKHdlYlByb2Nlc3NQbHVnSW5Ccm93c2VyQ29udGV4dENvbnRyb2xsZXI6ZGlkTGF5
b3V0Rm9yRnJhbWU6KV0pCi0gICAgICAgIFtsb2FkRGVsZWdhdGUgd2ViUHJvY2Vzc1BsdWdJbkJy
b3dzZXJDb250ZXh0Q29udHJvbGxlcjpwbHVnaW5Db250ZXh0Q29udHJvbGxlciBkaWRMYXlvdXRG
b3JGcmFtZTp3cmFwcGVyKCp0b0ltcGwoZnJhbWUpKV07CisgICAgICAgIFtsb2FkRGVsZWdhdGUg
d2ViUHJvY2Vzc1BsdWdJbkJyb3dzZXJDb250ZXh0Q29udHJvbGxlcjpwbHVnaW5Db250ZXh0Q29u
dHJvbGxlciBkaWRMYXlvdXRGb3JGcmFtZTp3cmFwcGVyKCpXZWJLaXQ6OnRvSW1wbChmcmFtZSkp
XTsKIH0KIAogc3RhdGljIHZvaWQgZGlkUmVhY2hMYXlvdXRNaWxlc3RvbmUoV0tCdW5kbGVQYWdl
UmVmIHBhZ2UsIFdLTGF5b3V0TWlsZXN0b25lcyBtaWxlc3RvbmVzLCBXS1R5cGVSZWYqIHVzZXJE
YXRhLCBjb25zdCB2b2lkICpjbGllbnRJbmZvKQpAQCAtMTkyLDcgKzE4OSw3IEBAIHN0YXRpYyB2
b2lkIGRpZFJlYWNoTGF5b3V0TWlsZXN0b25lKFdLQnVuZGxlUGFnZVJlZiBwYWdlLCBXS0xheW91
dE1pbGVzdG9uZXMgbWlsCiAgICAgYXV0byBsb2FkRGVsZWdhdGUgPSBwbHVnaW5Db250ZXh0Q29u
dHJvbGxlci0+X2xvYWREZWxlZ2F0ZS5nZXQoKTsKIAogICAgIGlmIChbbG9hZERlbGVnYXRlIHJl
c3BvbmRzVG9TZWxlY3RvcjpAc2VsZWN0b3Iod2ViUHJvY2Vzc1BsdWdJbkJyb3dzZXJDb250ZXh0
Q29udHJvbGxlcjpyZW5kZXJpbmdQcm9ncmVzc0RpZENoYW5nZTopXSkKLSAgICAgICAgW2xvYWRE
ZWxlZ2F0ZSB3ZWJQcm9jZXNzUGx1Z0luQnJvd3NlckNvbnRleHRDb250cm9sbGVyOnBsdWdpbkNv
bnRleHRDb250cm9sbGVyIHJlbmRlcmluZ1Byb2dyZXNzRGlkQ2hhbmdlOnJlbmRlcmluZ1Byb2dy
ZXNzRXZlbnRzKHRvTGF5b3V0TWlsZXN0b25lcyhtaWxlc3RvbmVzKSldOworICAgICAgICBbbG9h
ZERlbGVnYXRlIHdlYlByb2Nlc3NQbHVnSW5Ccm93c2VyQ29udGV4dENvbnRyb2xsZXI6cGx1Z2lu
Q29udGV4dENvbnRyb2xsZXIgcmVuZGVyaW5nUHJvZ3Jlc3NEaWRDaGFuZ2U6cmVuZGVyaW5nUHJv
Z3Jlc3NFdmVudHMoV2ViS2l0Ojp0b0xheW91dE1pbGVzdG9uZXMobWlsZXN0b25lcykpXTsKIH0K
IAogc3RhdGljIHZvaWQgZGlkRmlyc3RWaXN1YWxseU5vbkVtcHR5TGF5b3V0Rm9yRnJhbWUoV0tC
dW5kbGVQYWdlUmVmIHBhZ2UsIFdLQnVuZGxlRnJhbWVSZWYgZnJhbWUsIFdLVHlwZVJlZiogdXNl
ckRhdGEsIGNvbnN0IHZvaWQgKmNsaWVudEluZm8pCkBAIC0yMDEsNyArMTk4LDcgQEAgc3RhdGlj
IHZvaWQgZGlkRmlyc3RWaXN1YWxseU5vbkVtcHR5TGF5b3V0Rm9yRnJhbWUoV0tCdW5kbGVQYWdl
UmVmIHBhZ2UsIFdLQnVuZGwKICAgICBhdXRvIGxvYWREZWxlZ2F0ZSA9IHBsdWdpbkNvbnRleHRD
b250cm9sbGVyLT5fbG9hZERlbGVnYXRlLmdldCgpOwogCiAgICAgaWYgKFtsb2FkRGVsZWdhdGUg
cmVzcG9uZHNUb1NlbGVjdG9yOkBzZWxlY3Rvcih3ZWJQcm9jZXNzUGx1Z0luQnJvd3NlckNvbnRl
eHRDb250cm9sbGVyOmRpZEZpcnN0VmlzdWFsbHlOb25FbXB0eUxheW91dEZvckZyYW1lOildKQot
ICAgICAgICBbbG9hZERlbGVnYXRlIHdlYlByb2Nlc3NQbHVnSW5Ccm93c2VyQ29udGV4dENvbnRy
b2xsZXI6cGx1Z2luQ29udGV4dENvbnRyb2xsZXIgZGlkRmlyc3RWaXN1YWxseU5vbkVtcHR5TGF5
b3V0Rm9yRnJhbWU6d3JhcHBlcigqdG9JbXBsKGZyYW1lKSldOworICAgICAgICBbbG9hZERlbGVn
YXRlIHdlYlByb2Nlc3NQbHVnSW5Ccm93c2VyQ29udGV4dENvbnRyb2xsZXI6cGx1Z2luQ29udGV4
dENvbnRyb2xsZXIgZGlkRmlyc3RWaXN1YWxseU5vbkVtcHR5TGF5b3V0Rm9yRnJhbWU6d3JhcHBl
cigqV2ViS2l0Ojp0b0ltcGwoZnJhbWUpKV07CiB9CiAKIHN0YXRpYyB2b2lkIGRpZEhhbmRsZU9u
bG9hZEV2ZW50c0ZvckZyYW1lKFdLQnVuZGxlUGFnZVJlZiBwYWdlLCBXS0J1bmRsZUZyYW1lUmVm
IGZyYW1lLCBjb25zdCB2b2lkKiBjbGllbnRJbmZvKQpAQCAtMjEwLDcgKzIwNyw3IEBAIHN0YXRp
YyB2b2lkIGRpZEhhbmRsZU9ubG9hZEV2ZW50c0ZvckZyYW1lKFdLQnVuZGxlUGFnZVJlZiBwYWdl
LCBXS0J1bmRsZUZyYW1lUmVmCiAgICAgYXV0byBsb2FkRGVsZWdhdGUgPSBwbHVnaW5Db250ZXh0
Q29udHJvbGxlci0+X2xvYWREZWxlZ2F0ZS5nZXQoKTsKIAogICAgIGlmIChbbG9hZERlbGVnYXRl
IHJlc3BvbmRzVG9TZWxlY3RvcjpAc2VsZWN0b3Iod2ViUHJvY2Vzc1BsdWdJbkJyb3dzZXJDb250
ZXh0Q29udHJvbGxlcjpkaWRIYW5kbGVPbmxvYWRFdmVudHNGb3JGcmFtZTopXSkKLSAgICAgICAg
W2xvYWREZWxlZ2F0ZSB3ZWJQcm9jZXNzUGx1Z0luQnJvd3NlckNvbnRleHRDb250cm9sbGVyOnBs
dWdpbkNvbnRleHRDb250cm9sbGVyIGRpZEhhbmRsZU9ubG9hZEV2ZW50c0ZvckZyYW1lOndyYXBw
ZXIoKnRvSW1wbChmcmFtZSkpXTsKKyAgICAgICAgW2xvYWREZWxlZ2F0ZSB3ZWJQcm9jZXNzUGx1
Z0luQnJvd3NlckNvbnRleHRDb250cm9sbGVyOnBsdWdpbkNvbnRleHRDb250cm9sbGVyIGRpZEhh
bmRsZU9ubG9hZEV2ZW50c0ZvckZyYW1lOndyYXBwZXIoKldlYktpdDo6dG9JbXBsKGZyYW1lKSld
OwogfQogCiBzdGF0aWMgV0tTdHJpbmdSZWYgdXNlckFnZW50Rm9yVVJMKFdLQnVuZGxlRnJhbWVS
ZWYgZnJhbWUsIFdLVVJMUmVmIHVybCwgY29uc3Qgdm9pZCogY2xpZW50SW5mbykKQEAgLTIxOSw4
ICsyMTYsOCBAQCBzdGF0aWMgV0tTdHJpbmdSZWYgdXNlckFnZW50Rm9yVVJMKFdLQnVuZGxlRnJh
bWVSZWYgZnJhbWUsIFdLVVJMUmVmIHVybCwgY29uc3QgdgogICAgIGF1dG8gbG9hZERlbGVnYXRl
ID0gcGx1Z2luQ29udGV4dENvbnRyb2xsZXItPl9sb2FkRGVsZWdhdGUuZ2V0KCk7CiAgICAgCiAg
ICAgaWYgKFtsb2FkRGVsZWdhdGUgcmVzcG9uZHNUb1NlbGVjdG9yOkBzZWxlY3Rvcih3ZWJQcm9j
ZXNzUGx1Z0luQnJvd3NlckNvbnRleHRDb250cm9sbGVyOmZyYW1lOnVzZXJBZ2VudEZvclVSTDop
XSkgewotICAgICAgICBXS1dlYlByb2Nlc3NQbHVnSW5GcmFtZSAqbmV3RnJhbWUgPSB3cmFwcGVy
KCp0b0ltcGwoZnJhbWUpKTsKLSAgICAgICAgTlNTdHJpbmcgKnN0cmluZyA9IFtsb2FkRGVsZWdh
dGUgd2ViUHJvY2Vzc1BsdWdJbkJyb3dzZXJDb250ZXh0Q29udHJvbGxlcjpwbHVnaW5Db250ZXh0
Q29udHJvbGxlciBmcmFtZTpuZXdGcmFtZSB1c2VyQWdlbnRGb3JVUkw6d3JhcHBlcigqdG9JbXBs
KHVybCkpXTsKKyAgICAgICAgV0tXZWJQcm9jZXNzUGx1Z0luRnJhbWUgKm5ld0ZyYW1lID0gd3Jh
cHBlcigqV2ViS2l0Ojp0b0ltcGwoZnJhbWUpKTsKKyAgICAgICAgTlNTdHJpbmcgKnN0cmluZyA9
IFtsb2FkRGVsZWdhdGUgd2ViUHJvY2Vzc1BsdWdJbkJyb3dzZXJDb250ZXh0Q29udHJvbGxlcjpw
bHVnaW5Db250ZXh0Q29udHJvbGxlciBmcmFtZTpuZXdGcmFtZSB1c2VyQWdlbnRGb3JVUkw6d3Jh
cHBlcigqV2ViS2l0Ojp0b0ltcGwodXJsKSldOwogICAgICAgICBpZiAoIXN0cmluZykKICAgICAg
ICAgICAgIHJldHVybiBudWxscHRyOwogCkBAIC0yMzAsNyArMjI3LDcgQEAgc3RhdGljIFdLU3Ry
aW5nUmVmIHVzZXJBZ2VudEZvclVSTChXS0J1bmRsZUZyYW1lUmVmIGZyYW1lLCBXS1VSTFJlZiB1
cmwsIGNvbnN0IHYKICAgICByZXR1cm4gbnVsbHB0cjsKIH0KIAotc3RhdGljIHZvaWQgc2V0VXBQ
YWdlTG9hZGVyQ2xpZW50KFdLV2ViUHJvY2Vzc1BsdWdJbkJyb3dzZXJDb250ZXh0Q29udHJvbGxl
ciAqY29udGV4dENvbnRyb2xsZXIsIFdlYlBhZ2UmIHBhZ2UpCitzdGF0aWMgdm9pZCBzZXRVcFBh
Z2VMb2FkZXJDbGllbnQoV0tXZWJQcm9jZXNzUGx1Z0luQnJvd3NlckNvbnRleHRDb250cm9sbGVy
ICpjb250ZXh0Q29udHJvbGxlciwgV2ViS2l0OjpXZWJQYWdlJiBwYWdlKQogewogICAgIFdLQnVu
ZGxlUGFnZUxvYWRlckNsaWVudFY5IGNsaWVudDsKICAgICBtZW1zZXQoJmNsaWVudCwgMCwgc2l6
ZW9mKGNsaWVudCkpOwpAQCAtMjYzLDE2ICsyNjAsMTYgQEAgc3RhdGljIFdLVVJMUmVxdWVzdFJl
ZiB3aWxsU2VuZFJlcXVlc3RGb3JGcmFtZShXS0J1bmRsZVBhZ2VSZWYsIFdLQnVuZGxlRnJhbWVS
ZWYKICAgICBhdXRvIGxvYWREZWxlZ2F0ZSA9IHBsdWdpbkNvbnRleHRDb250cm9sbGVyLT5fbG9h
ZERlbGVnYXRlLmdldCgpOwogCiAgICAgaWYgKFtsb2FkRGVsZWdhdGUgcmVzcG9uZHNUb1NlbGVj
dG9yOkBzZWxlY3Rvcih3ZWJQcm9jZXNzUGx1Z0luQnJvd3NlckNvbnRleHRDb250cm9sbGVyOmZy
YW1lOndpbGxTZW5kUmVxdWVzdEZvclJlc291cmNlOnJlcXVlc3Q6cmVkaXJlY3RSZXNwb25zZTop
XSkgewotICAgICAgICBOU1VSTFJlcXVlc3QgKm9yaWdpbmFsUmVxdWVzdCA9IHdyYXBwZXIoKnRv
SW1wbChyZXF1ZXN0KSk7Ci0gICAgICAgIFJldGFpblB0cjxOU1VSTFJlcXVlc3Q+IHN1YnN0aXR1
dGVSZXF1ZXN0ID0gW2xvYWREZWxlZ2F0ZSB3ZWJQcm9jZXNzUGx1Z0luQnJvd3NlckNvbnRleHRD
b250cm9sbGVyOnBsdWdpbkNvbnRleHRDb250cm9sbGVyIGZyYW1lOndyYXBwZXIoKnRvSW1wbChm
cmFtZSkpIHdpbGxTZW5kUmVxdWVzdEZvclJlc291cmNlOnJlc291cmNlSWRlbnRpZmllcgotICAg
ICAgICAgICAgcmVxdWVzdDpvcmlnaW5hbFJlcXVlc3QgcmVkaXJlY3RSZXNwb25zZTp0b0ltcGwo
cmVkaXJlY3RSZXNwb25zZSktPnJlc291cmNlUmVzcG9uc2UoKS5uc1VSTFJlc3BvbnNlKCldOwor
ICAgICAgICBOU1VSTFJlcXVlc3QgKm9yaWdpbmFsUmVxdWVzdCA9IHdyYXBwZXIoKldlYktpdDo6
dG9JbXBsKHJlcXVlc3QpKTsKKyAgICAgICAgUmV0YWluUHRyPE5TVVJMUmVxdWVzdD4gc3Vic3Rp
dHV0ZVJlcXVlc3QgPSBbbG9hZERlbGVnYXRlIHdlYlByb2Nlc3NQbHVnSW5Ccm93c2VyQ29udGV4
dENvbnRyb2xsZXI6cGx1Z2luQ29udGV4dENvbnRyb2xsZXIgZnJhbWU6d3JhcHBlcigqV2ViS2l0
Ojp0b0ltcGwoZnJhbWUpKSB3aWxsU2VuZFJlcXVlc3RGb3JSZXNvdXJjZTpyZXNvdXJjZUlkZW50
aWZpZXIKKyAgICAgICAgICAgIHJlcXVlc3Q6b3JpZ2luYWxSZXF1ZXN0IHJlZGlyZWN0UmVzcG9u
c2U6V2ViS2l0Ojp0b0ltcGwocmVkaXJlY3RSZXNwb25zZSktPnJlc291cmNlUmVzcG9uc2UoKS5u
c1VSTFJlc3BvbnNlKCldOwogCiAgICAgICAgIGlmIChzdWJzdGl0dXRlUmVxdWVzdCAhPSBvcmln
aW5hbFJlcXVlc3QpCiAgICAgICAgICAgICByZXR1cm4gc3Vic3RpdHV0ZVJlcXVlc3QgPyBXS1VS
TFJlcXVlc3RDcmVhdGVXaXRoTlNVUkxSZXF1ZXN0KHN1YnN0aXR1dGVSZXF1ZXN0LmdldCgpKSA6
IG51bGxwdHI7CiAgICAgfSBlbHNlIGlmIChbbG9hZERlbGVnYXRlIHJlc3BvbmRzVG9TZWxlY3Rv
cjpAc2VsZWN0b3Iod2ViUHJvY2Vzc1BsdWdJbkJyb3dzZXJDb250ZXh0Q29udHJvbGxlcjpmcmFt
ZTp3aWxsU2VuZFJlcXVlc3Q6cmVkaXJlY3RSZXNwb25zZTopXSkgewotICAgICAgICBOU1VSTFJl
cXVlc3QgKm9yaWdpbmFsUmVxdWVzdCA9IHdyYXBwZXIoKnRvSW1wbChyZXF1ZXN0KSk7Ci0gICAg
ICAgIFJldGFpblB0cjxOU1VSTFJlcXVlc3Q+IHN1YnN0aXR1dGVSZXF1ZXN0ID0gW2xvYWREZWxl
Z2F0ZSB3ZWJQcm9jZXNzUGx1Z0luQnJvd3NlckNvbnRleHRDb250cm9sbGVyOnBsdWdpbkNvbnRl
eHRDb250cm9sbGVyIGZyYW1lOndyYXBwZXIoKnRvSW1wbChmcmFtZSkpIHdpbGxTZW5kUmVxdWVz
dDpvcmlnaW5hbFJlcXVlc3QKLSAgICAgICAgICAgIHJlZGlyZWN0UmVzcG9uc2U6dG9JbXBsKHJl
ZGlyZWN0UmVzcG9uc2UpLT5yZXNvdXJjZVJlc3BvbnNlKCkubnNVUkxSZXNwb25zZSgpXTsKKyAg
ICAgICAgTlNVUkxSZXF1ZXN0ICpvcmlnaW5hbFJlcXVlc3QgPSB3cmFwcGVyKCpXZWJLaXQ6OnRv
SW1wbChyZXF1ZXN0KSk7CisgICAgICAgIFJldGFpblB0cjxOU1VSTFJlcXVlc3Q+IHN1YnN0aXR1
dGVSZXF1ZXN0ID0gW2xvYWREZWxlZ2F0ZSB3ZWJQcm9jZXNzUGx1Z0luQnJvd3NlckNvbnRleHRD
b250cm9sbGVyOnBsdWdpbkNvbnRleHRDb250cm9sbGVyIGZyYW1lOndyYXBwZXIoKldlYktpdDo6
dG9JbXBsKGZyYW1lKSkgd2lsbFNlbmRSZXF1ZXN0Om9yaWdpbmFsUmVxdWVzdAorICAgICAgICAg
ICAgcmVkaXJlY3RSZXNwb25zZTpXZWJLaXQ6OnRvSW1wbChyZWRpcmVjdFJlc3BvbnNlKS0+cmVz
b3VyY2VSZXNwb25zZSgpLm5zVVJMUmVzcG9uc2UoKV07CiAKICAgICAgICAgaWYgKHN1YnN0aXR1
dGVSZXF1ZXN0ICE9IG9yaWdpbmFsUmVxdWVzdCkKICAgICAgICAgICAgIHJldHVybiBzdWJzdGl0
dXRlUmVxdWVzdCA/IFdLVVJMUmVxdWVzdENyZWF0ZVdpdGhOU1VSTFJlcXVlc3Qoc3Vic3RpdHV0
ZVJlcXVlc3QuZ2V0KCkpIDogbnVsbHB0cjsKQEAgLTI4OCwxMCArMjg1LDEwIEBAIHN0YXRpYyB2
b2lkIGRpZEluaXRpYXRlTG9hZEZvclJlc291cmNlKFdLQnVuZGxlUGFnZVJlZiwgV0tCdW5kbGVG
cmFtZVJlZiBmcmFtZSwKICAgICBhdXRvIGxvYWREZWxlZ2F0ZSA9IHBsdWdpbkNvbnRleHRDb250
cm9sbGVyLT5fbG9hZERlbGVnYXRlLmdldCgpOwogCiAgICAgaWYgKFtsb2FkRGVsZWdhdGUgcmVz
cG9uZHNUb1NlbGVjdG9yOkBzZWxlY3Rvcih3ZWJQcm9jZXNzUGx1Z0luQnJvd3NlckNvbnRleHRD
b250cm9sbGVyOmZyYW1lOmRpZEluaXRpYXRlTG9hZEZvclJlc291cmNlOnJlcXVlc3Q6cGFnZUlz
UHJvdmlzaW9uYWxseUxvYWRpbmc6KV0pIHsKLSAgICAgICAgW2xvYWREZWxlZ2F0ZSB3ZWJQcm9j
ZXNzUGx1Z0luQnJvd3NlckNvbnRleHRDb250cm9sbGVyOnBsdWdpbkNvbnRleHRDb250cm9sbGVy
IGZyYW1lOndyYXBwZXIoKnRvSW1wbChmcmFtZSkpIGRpZEluaXRpYXRlTG9hZEZvclJlc291cmNl
OnJlc291cmNlSWRlbnRpZmllciByZXF1ZXN0OndyYXBwZXIoKnRvSW1wbChyZXF1ZXN0KSkKKyAg
ICAgICAgW2xvYWREZWxlZ2F0ZSB3ZWJQcm9jZXNzUGx1Z0luQnJvd3NlckNvbnRleHRDb250cm9s
bGVyOnBsdWdpbkNvbnRleHRDb250cm9sbGVyIGZyYW1lOndyYXBwZXIoKldlYktpdDo6dG9JbXBs
KGZyYW1lKSkgZGlkSW5pdGlhdGVMb2FkRm9yUmVzb3VyY2U6cmVzb3VyY2VJZGVudGlmaWVyIHJl
cXVlc3Q6d3JhcHBlcigqV2ViS2l0Ojp0b0ltcGwocmVxdWVzdCkpCiAgICAgICAgICAgICBwYWdl
SXNQcm92aXNpb25hbGx5TG9hZGluZzpwYWdlSXNQcm92aXNpb25hbGx5TG9hZGluZ107CiAgICAg
fSBlbHNlIGlmIChbbG9hZERlbGVnYXRlIHJlc3BvbmRzVG9TZWxlY3RvcjpAc2VsZWN0b3Iod2Vi
UHJvY2Vzc1BsdWdJbkJyb3dzZXJDb250ZXh0Q29udHJvbGxlcjpmcmFtZTpkaWRJbml0aWF0ZUxv
YWRGb3JSZXNvdXJjZTpyZXF1ZXN0OildKSB7Ci0gICAgICAgIFtsb2FkRGVsZWdhdGUgd2ViUHJv
Y2Vzc1BsdWdJbkJyb3dzZXJDb250ZXh0Q29udHJvbGxlcjpwbHVnaW5Db250ZXh0Q29udHJvbGxl
ciBmcmFtZTp3cmFwcGVyKCp0b0ltcGwoZnJhbWUpKSBkaWRJbml0aWF0ZUxvYWRGb3JSZXNvdXJj
ZTpyZXNvdXJjZUlkZW50aWZpZXIgcmVxdWVzdDp3cmFwcGVyKCp0b0ltcGwocmVxdWVzdCkpXTsK
KyAgICAgICAgW2xvYWREZWxlZ2F0ZSB3ZWJQcm9jZXNzUGx1Z0luQnJvd3NlckNvbnRleHRDb250
cm9sbGVyOnBsdWdpbkNvbnRleHRDb250cm9sbGVyIGZyYW1lOndyYXBwZXIoKldlYktpdDo6dG9J
bXBsKGZyYW1lKSkgZGlkSW5pdGlhdGVMb2FkRm9yUmVzb3VyY2U6cmVzb3VyY2VJZGVudGlmaWVy
IHJlcXVlc3Q6d3JhcHBlcigqV2ViS2l0Ojp0b0ltcGwocmVxdWVzdCkpXTsKICAgICB9CiB9CiAK
QEAgLTMwMSw5ICsyOTgsNyBAQCBzdGF0aWMgdm9pZCBkaWRGaW5pc2hMb2FkRm9yUmVzb3VyY2Uo
V0tCdW5kbGVQYWdlUmVmLCBXS0J1bmRsZUZyYW1lUmVmIGZyYW1lLCB1aQogICAgIGF1dG8gbG9h
ZERlbGVnYXRlID0gcGx1Z2luQ29udGV4dENvbnRyb2xsZXItPl9sb2FkRGVsZWdhdGUuZ2V0KCk7
CiAKICAgICBpZiAoW2xvYWREZWxlZ2F0ZSByZXNwb25kc1RvU2VsZWN0b3I6QHNlbGVjdG9yKHdl
YlByb2Nlc3NQbHVnSW5Ccm93c2VyQ29udGV4dENvbnRyb2xsZXI6ZnJhbWU6ZGlkRmluaXNoTG9h
ZEZvclJlc291cmNlOildKSB7Ci0gICAgICAgIFtsb2FkRGVsZWdhdGUgd2ViUHJvY2Vzc1BsdWdJ
bkJyb3dzZXJDb250ZXh0Q29udHJvbGxlcjpwbHVnaW5Db250ZXh0Q29udHJvbGxlcgotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZnJhbWU6
d3JhcHBlcigqdG9JbXBsKGZyYW1lKSkKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgZGlkRmluaXNoTG9hZEZvclJlc291cmNlOnJlc291cmNlSWRlbnRpZmllcl07CisgICAg
ICAgIFtsb2FkRGVsZWdhdGUgd2ViUHJvY2Vzc1BsdWdJbkJyb3dzZXJDb250ZXh0Q29udHJvbGxl
cjpwbHVnaW5Db250ZXh0Q29udHJvbGxlciBmcmFtZTp3cmFwcGVyKCpXZWJLaXQ6OnRvSW1wbChm
cmFtZSkpIGRpZEZpbmlzaExvYWRGb3JSZXNvdXJjZTpyZXNvdXJjZUlkZW50aWZpZXJdOwogICAg
IH0KIH0KIApAQCAtMzEzLDE0ICszMDgsMTEgQEAgc3RhdGljIHZvaWQgZGlkRmFpbExvYWRGb3JS
ZXNvdXJjZShXS0J1bmRsZVBhZ2VSZWYsIFdLQnVuZGxlRnJhbWVSZWYgZnJhbWUsIHVpbnQKICAg
ICBhdXRvIGxvYWREZWxlZ2F0ZSA9IHBsdWdpbkNvbnRleHRDb250cm9sbGVyLT5fbG9hZERlbGVn
YXRlLmdldCgpOwogCiAgICAgaWYgKFtsb2FkRGVsZWdhdGUgcmVzcG9uZHNUb1NlbGVjdG9yOkBz
ZWxlY3Rvcih3ZWJQcm9jZXNzUGx1Z0luQnJvd3NlckNvbnRleHRDb250cm9sbGVyOmZyYW1lOmRp
ZEZhaWxMb2FkRm9yUmVzb3VyY2U6ZXJyb3I6KV0pIHsKLSAgICAgICAgW2xvYWREZWxlZ2F0ZSB3
ZWJQcm9jZXNzUGx1Z0luQnJvd3NlckNvbnRleHRDb250cm9sbGVyOnBsdWdpbkNvbnRleHRDb250
cm9sbGVyCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBmcmFtZTp3cmFwcGVyKCp0b0ltcGwoZnJhbWUpKQotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGRpZEZhaWxMb2FkRm9yUmVzb3VyY2U6cmVzb3VyY2VJZGVu
dGlmaWVyCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBlcnJvcjp3cmFwcGVyKCp0b0ltcGwoZXJyb3IpKV07CisgICAgICAgIFtsb2FkRGVs
ZWdhdGUgd2ViUHJvY2Vzc1BsdWdJbkJyb3dzZXJDb250ZXh0Q29udHJvbGxlcjpwbHVnaW5Db250
ZXh0Q29udHJvbGxlciBmcmFtZTp3cmFwcGVyKCpXZWJLaXQ6OnRvSW1wbChmcmFtZSkpIGRpZEZh
aWxMb2FkRm9yUmVzb3VyY2U6cmVzb3VyY2VJZGVudGlmaWVyIGVycm9yOndyYXBwZXIoKldlYktp
dDo6dG9JbXBsKGVycm9yKSldOwogICAgIH0KIH0KIAotc3RhdGljIHZvaWQgc2V0VXBSZXNvdXJj
ZUxvYWRDbGllbnQoV0tXZWJQcm9jZXNzUGx1Z0luQnJvd3NlckNvbnRleHRDb250cm9sbGVyICpj
b250ZXh0Q29udHJvbGxlciwgV2ViUGFnZSYgcGFnZSkKK3N0YXRpYyB2b2lkIHNldFVwUmVzb3Vy
Y2VMb2FkQ2xpZW50KFdLV2ViUHJvY2Vzc1BsdWdJbkJyb3dzZXJDb250ZXh0Q29udHJvbGxlciAq
Y29udGV4dENvbnRyb2xsZXIsIFdlYktpdDo6V2ViUGFnZSYgcGFnZSkKIHsKICAgICBXS0J1bmRs
ZVBhZ2VSZXNvdXJjZUxvYWRDbGllbnRWMSBjbGllbnQ7CiAgICAgbWVtc2V0KCZjbGllbnQsIDAs
IHNpemVvZihjbGllbnQpKTsKQEAgLTM1Niw3ICszNDgsNyBAQCBzdGF0aWMgdm9pZCBzZXRVcFJl
c291cmNlTG9hZENsaWVudChXS1dlYlByb2Nlc3NQbHVnSW5Ccm93c2VyQ29udGV4dENvbnRyb2xs
ZXIgKgogLSAodm9pZClkZWFsbG9jCiB7CiAgICAgaWYgKF9yZW1vdGVPYmplY3RSZWdpc3RyeSkg
ewotICAgICAgICBXZWJQcm9jZXNzOjpzaW5nbGV0b24oKS5yZW1vdmVNZXNzYWdlUmVjZWl2ZXIo
TWVzc2FnZXM6OlJlbW90ZU9iamVjdFJlZ2lzdHJ5OjptZXNzYWdlUmVjZWl2ZXJOYW1lKCksIF9w
YWdlLT5wYWdlSUQoKSk7CisgICAgICAgIFdlYktpdDo6V2ViUHJvY2Vzczo6c2luZ2xldG9uKCku
cmVtb3ZlTWVzc2FnZVJlY2VpdmVyKE1lc3NhZ2VzOjpSZW1vdGVPYmplY3RSZWdpc3RyeTo6bWVz
c2FnZVJlY2VpdmVyTmFtZSgpLCBfcGFnZS0+cGFnZUlEKCkpOwogICAgICAgICBbX3JlbW90ZU9i
amVjdFJlZ2lzdHJ5IF9pbnZhbGlkYXRlXTsKICAgICB9CiAKQEAgLTM2NywyMCArMzU5LDIwIEBA
IHN0YXRpYyB2b2lkIHNldFVwUmVzb3VyY2VMb2FkQ2xpZW50KFdLV2ViUHJvY2Vzc1BsdWdJbkJy
b3dzZXJDb250ZXh0Q29udHJvbGxlciAqCiAKIC0gKFdLRE9NRG9jdW1lbnQgKiltYWluRnJhbWVE
b2N1bWVudAogewotICAgIEZyYW1lKiB3ZWJDb3JlTWFpbkZyYW1lID0gX3BhZ2UtPm1haW5GcmFt
ZSgpOworICAgIFdlYkNvcmU6OkZyYW1lKiB3ZWJDb3JlTWFpbkZyYW1lID0gX3BhZ2UtPm1haW5G
cmFtZSgpOwogICAgIGlmICghd2ViQ29yZU1haW5GcmFtZSkKICAgICAgICAgcmV0dXJuIG5pbDsK
IAotICAgIHJldHVybiB0b1dLRE9NRG9jdW1lbnQod2ViQ29yZU1haW5GcmFtZS0+ZG9jdW1lbnQo
KSk7CisgICAgcmV0dXJuIFdlYktpdDo6dG9XS0RPTURvY3VtZW50KHdlYkNvcmVNYWluRnJhbWUt
PmRvY3VtZW50KCkpOwogfQogCiAtIChXS0RPTVJhbmdlICopc2VsZWN0ZWRSYW5nZQogewotICAg
IFJlZlB0cjxSYW5nZT4gcmFuZ2UgPSBfcGFnZS0+Y3VycmVudFNlbGVjdGlvbkFzUmFuZ2UoKTsK
KyAgICBSZWZQdHI8V2ViQ29yZTo6UmFuZ2U+IHJhbmdlID0gX3BhZ2UtPmN1cnJlbnRTZWxlY3Rp
b25Bc1JhbmdlKCk7CiAgICAgaWYgKCFyYW5nZSkKICAgICAgICAgcmV0dXJuIG5pbDsKIAotICAg
IHJldHVybiB0b1dLRE9NUmFuZ2UocmFuZ2UuZ2V0KCkpOworICAgIHJldHVybiBXZWJLaXQ6OnRv
V0tET01SYW5nZShyYW5nZS5nZXQoKSk7CiB9CiAKIC0gKFdLV2ViUHJvY2Vzc1BsdWdJbkZyYW1l
ICopbWFpbkZyYW1lCkBAIC00MTYsMTQgKzQwOCwxNCBAQCBzdGF0aWMgdm9pZCBzZXRVcFJlc291
cmNlTG9hZENsaWVudChXS1dlYlByb2Nlc3NQbHVnSW5Ccm93c2VyQ29udGV4dENvbnRyb2xsZXIg
KgogCiArIChpbnN0YW5jZXR5cGUpbG9va1VwQnJvd3NpbmdDb250ZXh0RnJvbUhhbmRsZTooV0tC
cm93c2luZ0NvbnRleHRIYW5kbGUgKiloYW5kbGUKIHsKLSAgICByZXR1cm4gd3JhcHBlcihXZWJQ
cm9jZXNzOjpzaW5nbGV0b24oKS53ZWJQYWdlKGhhbmRsZS5wYWdlSUQpKTsKKyAgICByZXR1cm4g
d3JhcHBlcihXZWJLaXQ6OldlYlByb2Nlc3M6OnNpbmdsZXRvbigpLndlYlBhZ2UoaGFuZGxlLnBh
Z2VJRCkpOwogfQogCiAtIChfV0tSZW1vdGVPYmplY3RSZWdpc3RyeSAqKV9yZW1vdGVPYmplY3RS
ZWdpc3RyeQogewogICAgIGlmICghX3JlbW90ZU9iamVjdFJlZ2lzdHJ5KSB7CiAgICAgICAgIF9y
ZW1vdGVPYmplY3RSZWdpc3RyeSA9IGFkb3B0TlMoW1tfV0tSZW1vdGVPYmplY3RSZWdpc3RyeSBh
bGxvY10gX2luaXRXaXRoV2ViUGFnZToqX3BhZ2VdKTsKLSAgICAgICAgV2ViUHJvY2Vzczo6c2lu
Z2xldG9uKCkuYWRkTWVzc2FnZVJlY2VpdmVyKE1lc3NhZ2VzOjpSZW1vdGVPYmplY3RSZWdpc3Ry
eTo6bWVzc2FnZVJlY2VpdmVyTmFtZSgpLCBfcGFnZS0+cGFnZUlEKCksIFtfcmVtb3RlT2JqZWN0
UmVnaXN0cnkgcmVtb3RlT2JqZWN0UmVnaXN0cnldKTsKKyAgICAgICAgV2ViS2l0OjpXZWJQcm9j
ZXNzOjpzaW5nbGV0b24oKS5hZGRNZXNzYWdlUmVjZWl2ZXIoTWVzc2FnZXM6OlJlbW90ZU9iamVj
dFJlZ2lzdHJ5OjptZXNzYWdlUmVjZWl2ZXJOYW1lKCksIF9wYWdlLT5wYWdlSUQoKSwgW19yZW1v
dGVPYmplY3RSZWdpc3RyeSByZW1vdGVPYmplY3RSZWdpc3RyeV0pOwogICAgIH0KIAogICAgIHJl
dHVybiBfcmVtb3RlT2JqZWN0UmVnaXN0cnkuZ2V0KCk7CkBAIC00NDcsMTUgKzQzOSwxNSBAQCBz
dGF0aWMgdm9pZCBzZXRVcFJlc291cmNlTG9hZENsaWVudChXS1dlYlByb2Nlc3NQbHVnSW5Ccm93
c2VyQ29udGV4dENvbnRyb2xsZXIgKgogCiAgICAgICAgIHZpcnR1YWwgfkZvcm1DbGllbnQoKSB7
IH0KIAotICAgICAgICB2b2lkIGRpZEZvY3VzVGV4dEZpZWxkKFdlYlBhZ2UqLCBIVE1MSW5wdXRF
bGVtZW50KiBpbnB1dEVsZW1lbnQsIFdlYkZyYW1lKiBmcmFtZSkgb3ZlcnJpZGUKKyAgICAgICAg
dm9pZCBkaWRGb2N1c1RleHRGaWVsZChXZWJLaXQ6OldlYlBhZ2UqLCBXZWJDb3JlOjpIVE1MSW5w
dXRFbGVtZW50KiBpbnB1dEVsZW1lbnQsIFdlYktpdDo6V2ViRnJhbWUqIGZyYW1lKSBvdmVycmlk
ZQogICAgICAgICB7CiAgICAgICAgICAgICBhdXRvIGZvcm1EZWxlZ2F0ZSA9IG1fY29udHJvbGxl
ci0+X2Zvcm1EZWxlZ2F0ZS5nZXQoKTsKIAogICAgICAgICAgICAgaWYgKFtmb3JtRGVsZWdhdGUg
cmVzcG9uZHNUb1NlbGVjdG9yOkBzZWxlY3Rvcihfd2ViUHJvY2Vzc1BsdWdJbkJyb3dzZXJDb250
ZXh0Q29udHJvbGxlcjpkaWRGb2N1c1RleHRGaWVsZDppbkZyYW1lOildKQotICAgICAgICAgICAg
ICAgIFtmb3JtRGVsZWdhdGUgX3dlYlByb2Nlc3NQbHVnSW5Ccm93c2VyQ29udGV4dENvbnRyb2xs
ZXI6bV9jb250cm9sbGVyIGRpZEZvY3VzVGV4dEZpZWxkOndyYXBwZXIoKkluamVjdGVkQnVuZGxl
Tm9kZUhhbmRsZTo6Z2V0T3JDcmVhdGUoaW5wdXRFbGVtZW50KS5nZXQoKSkgaW5GcmFtZTp3cmFw
cGVyKCpmcmFtZSldOworICAgICAgICAgICAgICAgIFtmb3JtRGVsZWdhdGUgX3dlYlByb2Nlc3NQ
bHVnSW5Ccm93c2VyQ29udGV4dENvbnRyb2xsZXI6bV9jb250cm9sbGVyIGRpZEZvY3VzVGV4dEZp
ZWxkOndyYXBwZXIoKldlYktpdDo6SW5qZWN0ZWRCdW5kbGVOb2RlSGFuZGxlOjpnZXRPckNyZWF0
ZShpbnB1dEVsZW1lbnQpLmdldCgpKSBpbkZyYW1lOndyYXBwZXIoKmZyYW1lKV07CiAgICAgICAg
IH0KIAotICAgICAgICB2b2lkIHdpbGxTZW5kU3VibWl0RXZlbnQoV2ViUGFnZSosIEhUTUxGb3Jt
RWxlbWVudCogZm9ybUVsZW1lbnQsIFdlYkZyYW1lKiB0YXJnZXRGcmFtZSwgV2ViRnJhbWUqIHNv
dXJjZUZyYW1lLCBjb25zdCBWZWN0b3I8c3RkOjpwYWlyPFN0cmluZywgU3RyaW5nPj4mIHZhbHVl
cykgb3ZlcnJpZGUKKyAgICAgICAgdm9pZCB3aWxsU2VuZFN1Ym1pdEV2ZW50KFdlYktpdDo6V2Vi
UGFnZSosIFdlYkNvcmU6OkhUTUxGb3JtRWxlbWVudCogZm9ybUVsZW1lbnQsIFdlYktpdDo6V2Vi
RnJhbWUqIHRhcmdldEZyYW1lLCBXZWJLaXQ6OldlYkZyYW1lKiBzb3VyY2VGcmFtZSwgY29uc3Qg
VmVjdG9yPHN0ZDo6cGFpcjxTdHJpbmcsIFN0cmluZz4+JiB2YWx1ZXMpIG92ZXJyaWRlCiAgICAg
ICAgIHsKICAgICAgICAgICAgIGF1dG8gZm9ybURlbGVnYXRlID0gbV9jb250cm9sbGVyLT5fZm9y
bURlbGVnYXRlLmdldCgpOwogCkBAIC00NjQsNyArNDU2LDcgQEAgc3RhdGljIHZvaWQgc2V0VXBS
ZXNvdXJjZUxvYWRDbGllbnQoV0tXZWJQcm9jZXNzUGx1Z0luQnJvd3NlckNvbnRleHRDb250cm9s
bGVyICoKICAgICAgICAgICAgICAgICBmb3IgKGNvbnN0IGF1dG8mIHBhaXIgOiB2YWx1ZXMpCiAg
ICAgICAgICAgICAgICAgICAgIFt2YWx1ZU1hcCBzZXRPYmplY3Q6cGFpci5zZWNvbmQgZm9yS2V5
OnBhaXIuZmlyc3RdOwogCi0gICAgICAgICAgICAgICAgW2Zvcm1EZWxlZ2F0ZSBfd2ViUHJvY2Vz
c1BsdWdJbkJyb3dzZXJDb250ZXh0Q29udHJvbGxlcjptX2NvbnRyb2xsZXIgd2lsbFNlbmRTdWJt
aXRFdmVudFRvRm9ybTp3cmFwcGVyKCpJbmplY3RlZEJ1bmRsZU5vZGVIYW5kbGU6OmdldE9yQ3Jl
YXRlKGZvcm1FbGVtZW50KS5nZXQoKSkKKyAgICAgICAgICAgICAgICBbZm9ybURlbGVnYXRlIF93
ZWJQcm9jZXNzUGx1Z0luQnJvd3NlckNvbnRleHRDb250cm9sbGVyOm1fY29udHJvbGxlciB3aWxs
U2VuZFN1Ym1pdEV2ZW50VG9Gb3JtOndyYXBwZXIoKldlYktpdDo6SW5qZWN0ZWRCdW5kbGVOb2Rl
SGFuZGxlOjpnZXRPckNyZWF0ZShmb3JtRWxlbWVudCkuZ2V0KCkpCiAgICAgICAgICAgICAgICAg
ICAgIGluRnJhbWU6d3JhcHBlcigqc291cmNlRnJhbWUpIHRhcmdldEZyYW1lOndyYXBwZXIoKnRh
cmdldEZyYW1lKSB2YWx1ZXM6dmFsdWVNYXAuZ2V0KCldOwogICAgICAgICAgICAgfQogICAgICAg
ICB9CkBAIC00ODYsNyArNDc4LDcgQEAgc3RhdGljIHZvaWQgc2V0VXBSZXNvdXJjZUxvYWRDbGll
bnQoV0tXZWJQcm9jZXNzUGx1Z0luQnJvd3NlckNvbnRleHRDb250cm9sbGVyICoKICAgICAgICAg
ICAgIHVzZXJEYXRhID0gQVBJOjpEYXRhOjpjcmVhdGVXaXRob3V0Q29weWluZyhhcmNoaXZlci5n
ZXQoKS5lbmNvZGVkRGF0YSk7CiAgICAgICAgIH0KIAotICAgICAgICB2b2lkIHdpbGxTdWJtaXRG
b3JtKFdlYlBhZ2UqLCBIVE1MRm9ybUVsZW1lbnQqIGZvcm1FbGVtZW50LCBXZWJGcmFtZSogZnJh
bWUsIFdlYkZyYW1lKiBzb3VyY2VGcmFtZSwgY29uc3QgVmVjdG9yPHN0ZDo6cGFpcjxXVEY6OlN0
cmluZywgV1RGOjpTdHJpbmc+PiYgdmFsdWVzLCBSZWZQdHI8QVBJOjpPYmplY3Q+JiB1c2VyRGF0
YSkgb3ZlcnJpZGUKKyAgICAgICAgdm9pZCB3aWxsU3VibWl0Rm9ybShXZWJLaXQ6OldlYlBhZ2Uq
LCBXZWJDb3JlOjpIVE1MRm9ybUVsZW1lbnQqIGZvcm1FbGVtZW50LCBXZWJLaXQ6OldlYkZyYW1l
KiBmcmFtZSwgV2ViS2l0OjpXZWJGcmFtZSogc291cmNlRnJhbWUsIGNvbnN0IFZlY3RvcjxzdGQ6
OnBhaXI8V1RGOjpTdHJpbmcsIFdURjo6U3RyaW5nPj4mIHZhbHVlcywgUmVmUHRyPEFQSTo6T2Jq
ZWN0PiYgdXNlckRhdGEpIG92ZXJyaWRlCiAgICAgICAgIHsKICAgICAgICAgICAgIGF1dG8gZm9y
bURlbGVnYXRlID0gbV9jb250cm9sbGVyLT5fZm9ybURlbGVnYXRlLmdldCgpOwogCkBAIC00OTUs
MTIgKzQ4NywxMiBAQCBzdGF0aWMgdm9pZCBzZXRVcFJlc291cmNlTG9hZENsaWVudChXS1dlYlBy
b2Nlc3NQbHVnSW5Ccm93c2VyQ29udGV4dENvbnRyb2xsZXIgKgogICAgICAgICAgICAgICAgIGZv
ciAoY29uc3QgYXV0byYgcGFpciA6IHZhbHVlcykKICAgICAgICAgICAgICAgICAgICAgW3ZhbHVl
TWFwIHNldE9iamVjdDpwYWlyLnNlY29uZCBmb3JLZXk6cGFpci5maXJzdF07CiAKLSAgICAgICAg
ICAgICAgICBOU09iamVjdCA8TlNTZWN1cmVDb2Rpbmc+ICp1c2VyT2JqZWN0ID0gW2Zvcm1EZWxl
Z2F0ZSBfd2ViUHJvY2Vzc1BsdWdJbkJyb3dzZXJDb250ZXh0Q29udHJvbGxlcjptX2NvbnRyb2xs
ZXIgd2lsbFN1Ym1pdEZvcm06d3JhcHBlcigqSW5qZWN0ZWRCdW5kbGVOb2RlSGFuZGxlOjpnZXRP
ckNyZWF0ZShmb3JtRWxlbWVudCkuZ2V0KCkpIHRvRnJhbWU6d3JhcHBlcigqZnJhbWUpIGZyb21G
cmFtZTp3cmFwcGVyKCpzb3VyY2VGcmFtZSkgd2l0aFZhbHVlczp2YWx1ZU1hcC5nZXQoKV07Cisg
ICAgICAgICAgICAgICAgTlNPYmplY3QgPE5TU2VjdXJlQ29kaW5nPiAqdXNlck9iamVjdCA9IFtm
b3JtRGVsZWdhdGUgX3dlYlByb2Nlc3NQbHVnSW5Ccm93c2VyQ29udGV4dENvbnRyb2xsZXI6bV9j
b250cm9sbGVyIHdpbGxTdWJtaXRGb3JtOndyYXBwZXIoKldlYktpdDo6SW5qZWN0ZWRCdW5kbGVO
b2RlSGFuZGxlOjpnZXRPckNyZWF0ZShmb3JtRWxlbWVudCkuZ2V0KCkpIHRvRnJhbWU6d3JhcHBl
cigqZnJhbWUpIGZyb21GcmFtZTp3cmFwcGVyKCpzb3VyY2VGcmFtZSkgd2l0aFZhbHVlczp2YWx1
ZU1hcC5nZXQoKV07CiAgICAgICAgICAgICAgICAgZW5jb2RlVXNlck9iamVjdCh1c2VyT2JqZWN0
LCB1c2VyRGF0YSk7CiAgICAgICAgICAgICB9CiAgICAgICAgIH0KIAotICAgICAgICB2b2lkIHRl
eHREaWRDaGFuZ2VJblRleHRGaWVsZChXZWJQYWdlKiwgSFRNTElucHV0RWxlbWVudCogaW5wdXRF
bGVtZW50LCBXZWJGcmFtZSogZnJhbWUsIGJvb2wgaW5pdGlhdGVkQnlVc2VyVHlwaW5nKSBvdmVy
cmlkZQorICAgICAgICB2b2lkIHRleHREaWRDaGFuZ2VJblRleHRGaWVsZChXZWJLaXQ6OldlYlBh
Z2UqLCBXZWJDb3JlOjpIVE1MSW5wdXRFbGVtZW50KiBpbnB1dEVsZW1lbnQsIFdlYktpdDo6V2Vi
RnJhbWUqIGZyYW1lLCBib29sIGluaXRpYXRlZEJ5VXNlclR5cGluZykgb3ZlcnJpZGUKICAgICAg
ICAgewogICAgICAgICAgICAgYXV0byBmb3JtRGVsZWdhdGUgPSBtX2NvbnRyb2xsZXItPl9mb3Jt
RGVsZWdhdGUuZ2V0KCk7CiAKQEAgLTUwOCw3ICs1MDAsNyBAQCBzdGF0aWMgdm9pZCBzZXRVcFJl
c291cmNlTG9hZENsaWVudChXS1dlYlByb2Nlc3NQbHVnSW5Ccm93c2VyQ29udGV4dENvbnRyb2xs
ZXIgKgogICAgICAgICAgICAgICAgIFtmb3JtRGVsZWdhdGUgX3dlYlByb2Nlc3NQbHVnSW5Ccm93
c2VyQ29udGV4dENvbnRyb2xsZXI6bV9jb250cm9sbGVyIHRleHREaWRDaGFuZ2VJblRleHRGaWVs
ZDp3cmFwcGVyKCpXZWJLaXQ6OkluamVjdGVkQnVuZGxlTm9kZUhhbmRsZTo6Z2V0T3JDcmVhdGUo
aW5wdXRFbGVtZW50KSkgaW5GcmFtZTp3cmFwcGVyKCpmcmFtZSkgaW5pdGlhdGVkQnlVc2VyVHlw
aW5nOmluaXRpYXRlZEJ5VXNlclR5cGluZ107CiAgICAgICAgIH0KIAotICAgICAgICB2b2lkIHdp
bGxCZWdpbklucHV0U2Vzc2lvbihXZWJQYWdlKiwgRWxlbWVudCogZWxlbWVudCwgV2ViRnJhbWUq
IGZyYW1lLCBib29sIHVzZXJJc0ludGVyYWN0aW5nLCBSZWZQdHI8QVBJOjpPYmplY3Q+JiB1c2Vy
RGF0YSkgb3ZlcnJpZGUKKyAgICAgICAgdm9pZCB3aWxsQmVnaW5JbnB1dFNlc3Npb24oV2ViS2l0
OjpXZWJQYWdlKiwgV2ViQ29yZTo6RWxlbWVudCogZWxlbWVudCwgV2ViS2l0OjpXZWJGcmFtZSog
ZnJhbWUsIGJvb2wgdXNlcklzSW50ZXJhY3RpbmcsIFJlZlB0cjxBUEk6Ok9iamVjdD4mIHVzZXJE
YXRhKSBvdmVycmlkZQogICAgICAgICB7CiAgICAgICAgICAgICBhdXRvIGZvcm1EZWxlZ2F0ZSA9
IG1fY29udHJvbGxlci0+X2Zvcm1EZWxlZ2F0ZS5nZXQoKTsKIApAQCAtNTYzLDE0ICs1NTUsMTQg
QEAgc3RhdGljIHZvaWQgc2V0VXBSZXNvdXJjZUxvYWRDbGllbnQoV0tXZWJQcm9jZXNzUGx1Z0lu
QnJvd3NlckNvbnRleHRDb250cm9sbGVyICoKICAgICByZXR1cm4gX2VkaXRpbmdEZWxlZ2F0ZS5n
ZXRBdXRvcmVsZWFzZWQoKTsKIH0KIAotc3RhdGljIGlubGluZSBXS0VkaXRvckluc2VydEFjdGlv
biB0b1dLKEVkaXRvckluc2VydEFjdGlvbiBhY3Rpb24pCitzdGF0aWMgaW5saW5lIFdLRWRpdG9y
SW5zZXJ0QWN0aW9uIHRvV0soV2ViQ29yZTo6RWRpdG9ySW5zZXJ0QWN0aW9uIGFjdGlvbikKIHsK
ICAgICBzd2l0Y2ggKGFjdGlvbikgewotICAgIGNhc2UgRWRpdG9ySW5zZXJ0QWN0aW9uOjpUeXBl
ZDoKKyAgICBjYXNlIFdlYkNvcmU6OkVkaXRvckluc2VydEFjdGlvbjo6VHlwZWQ6CiAgICAgICAg
IHJldHVybiBXS0VkaXRvckluc2VydEFjdGlvblR5cGVkOwotICAgIGNhc2UgRWRpdG9ySW5zZXJ0
QWN0aW9uOjpQYXN0ZWQ6CisgICAgY2FzZSBXZWJDb3JlOjpFZGl0b3JJbnNlcnRBY3Rpb246OlBh
c3RlZDoKICAgICAgICAgcmV0dXJuIFdLRWRpdG9ySW5zZXJ0QWN0aW9uUGFzdGVkOwotICAgIGNh
c2UgRWRpdG9ySW5zZXJ0QWN0aW9uOjpEcm9wcGVkOgorICAgIGNhc2UgV2ViQ29yZTo6RWRpdG9y
SW5zZXJ0QWN0aW9uOjpEcm9wcGVkOgogICAgICAgICByZXR1cm4gV0tFZGl0b3JJbnNlcnRBY3Rp
b25Ecm9wcGVkOwogICAgIH0KIH0KQEAgLTU4OCwxNSArNTgwLDE1IEBAIHN0YXRpYyBpbmxpbmUg
V0tFZGl0b3JJbnNlcnRBY3Rpb24gdG9XSyhFZGl0b3JJbnNlcnRBY3Rpb24gYWN0aW9uKQogICAg
ICAgICB9CiAKICAgICBwcml2YXRlOgotICAgICAgICBib29sIHNob3VsZEluc2VydFRleHQoV2Vi
UGFnZSYsIFN0cmluZ0ltcGwqIHRleHQsIFJhbmdlKiByYW5nZVRvUmVwbGFjZSwgRWRpdG9ySW5z
ZXJ0QWN0aW9uIGFjdGlvbikgZmluYWwKKyAgICAgICAgYm9vbCBzaG91bGRJbnNlcnRUZXh0KFdl
YktpdDo6V2ViUGFnZSYsIFN0cmluZ0ltcGwqIHRleHQsIFdlYkNvcmU6OlJhbmdlKiByYW5nZVRv
UmVwbGFjZSwgV2ViQ29yZTo6RWRpdG9ySW5zZXJ0QWN0aW9uIGFjdGlvbikgZmluYWwKICAgICAg
ICAgewogICAgICAgICAgICAgaWYgKCFtX2RlbGVnYXRlTWV0aG9kcy5zaG91bGRJbnNlcnRUZXh0
KQogICAgICAgICAgICAgICAgIHJldHVybiB0cnVlOwogCi0gICAgICAgICAgICByZXR1cm4gW21f
Y29udHJvbGxlci0+X2VkaXRpbmdEZWxlZ2F0ZS5nZXQoKSBfd2ViUHJvY2Vzc1BsdWdJbkJyb3dz
ZXJDb250ZXh0Q29udHJvbGxlcjptX2NvbnRyb2xsZXIgc2hvdWxkSW5zZXJ0VGV4dDpTdHJpbmco
dGV4dCkgcmVwbGFjaW5nUmFuZ2U6d3JhcHBlcigqSW5qZWN0ZWRCdW5kbGVSYW5nZUhhbmRsZTo6
Z2V0T3JDcmVhdGUocmFuZ2VUb1JlcGxhY2UpKSBnaXZlbkFjdGlvbjp0b1dLKGFjdGlvbildOwor
ICAgICAgICAgICAgcmV0dXJuIFttX2NvbnRyb2xsZXItPl9lZGl0aW5nRGVsZWdhdGUuZ2V0KCkg
X3dlYlByb2Nlc3NQbHVnSW5Ccm93c2VyQ29udGV4dENvbnRyb2xsZXI6bV9jb250cm9sbGVyIHNo
b3VsZEluc2VydFRleHQ6U3RyaW5nKHRleHQpIHJlcGxhY2luZ1JhbmdlOndyYXBwZXIoKldlYktp
dDo6SW5qZWN0ZWRCdW5kbGVSYW5nZUhhbmRsZTo6Z2V0T3JDcmVhdGUocmFuZ2VUb1JlcGxhY2Up
KSBnaXZlbkFjdGlvbjp0b1dLKGFjdGlvbildOwogICAgICAgICB9CiAKLSAgICAgICAgYm9vbCBz
aG91bGRDaGFuZ2VTZWxlY3RlZFJhbmdlKFdlYlBhZ2UmLCBSYW5nZSogZnJvbVJhbmdlLCBSYW5n
ZSogdG9SYW5nZSwgRUFmZmluaXR5IGFmZmluaXR5LCBib29sIHN0aWxsU2VsZWN0aW5nKSBmaW5h
bAorICAgICAgICBib29sIHNob3VsZENoYW5nZVNlbGVjdGVkUmFuZ2UoV2ViS2l0OjpXZWJQYWdl
JiwgV2ViQ29yZTo6UmFuZ2UqIGZyb21SYW5nZSwgV2ViQ29yZTo6UmFuZ2UqIHRvUmFuZ2UsIFdl
YkNvcmU6OkVBZmZpbml0eSBhZmZpbml0eSwgYm9vbCBzdGlsbFNlbGVjdGluZykgZmluYWwKICAg
ICAgICAgewogICAgICAgICAgICAgaWYgKCFtX2RlbGVnYXRlTWV0aG9kcy5zaG91bGRDaGFuZ2VT
ZWxlY3RlZFJhbmdlKQogICAgICAgICAgICAgICAgIHJldHVybiB0cnVlOwpAQCAtNjA0LDkgKzU5
Niw5IEBAIHN0YXRpYyBpbmxpbmUgV0tFZGl0b3JJbnNlcnRBY3Rpb24gdG9XSyhFZGl0b3JJbnNl
cnRBY3Rpb24gYWN0aW9uKQogICAgICAgICAgICAgYXV0byBhcGlGcm9tUmFuZ2UgPSBmcm9tUmFu
Z2UgPyBhZG9wdE5TKFtbV0tET01SYW5nZSBhbGxvY10gX2luaXRXaXRoSW1wbDpmcm9tUmFuZ2Vd
KSA6IG5pbDsKICAgICAgICAgICAgIGF1dG8gYXBpVG9SYW5nZSA9IHRvUmFuZ2UgPyBhZG9wdE5T
KFtbV0tET01SYW5nZSBhbGxvY10gX2luaXRXaXRoSW1wbDp0b1JhbmdlXSkgOiBuaWw7CiAjaWYg
UExBVEZPUk0oSU9TKQotICAgICAgICAgICAgVUlUZXh0U3RvcmFnZURpcmVjdGlvbiBhcGlBZmZp
bml0eSA9IGFmZmluaXR5ID09IFVQU1RSRUFNID8gVUlUZXh0U3RvcmFnZURpcmVjdGlvbkJhY2t3
YXJkIDogVUlUZXh0U3RvcmFnZURpcmVjdGlvbkZvcndhcmQ7CisgICAgICAgICAgICBVSVRleHRT
dG9yYWdlRGlyZWN0aW9uIGFwaUFmZmluaXR5ID0gYWZmaW5pdHkgPT0gV2ViQ29yZTo6VVBTVFJF
QU0gPyBVSVRleHRTdG9yYWdlRGlyZWN0aW9uQmFja3dhcmQgOiBVSVRleHRTdG9yYWdlRGlyZWN0
aW9uRm9yd2FyZDsKICNlbHNlCi0gICAgICAgICAgICBOU1NlbGVjdGlvbkFmZmluaXR5IGFwaUFm
ZmluaXR5ID0gYWZmaW5pdHkgPT0gVVBTVFJFQU0gPyBOU1NlbGVjdGlvbkFmZmluaXR5VXBzdHJl
YW0gOiBOU1NlbGVjdGlvbkFmZmluaXR5RG93bnN0cmVhbTsKKyAgICAgICAgICAgIE5TU2VsZWN0
aW9uQWZmaW5pdHkgYXBpQWZmaW5pdHkgPSBhZmZpbml0eSA9PSBXZWJDb3JlOjpVUFNUUkVBTSA/
IE5TU2VsZWN0aW9uQWZmaW5pdHlVcHN0cmVhbSA6IE5TU2VsZWN0aW9uQWZmaW5pdHlEb3duc3Ry
ZWFtOwogI2VuZGlmCiAKICAgICAgICAgICAgIHJldHVybiBbbV9jb250cm9sbGVyLT5fZWRpdGlu
Z0RlbGVnYXRlLmdldCgpIF93ZWJQcm9jZXNzUGx1Z0luQnJvd3NlckNvbnRleHRDb250cm9sbGVy
Om1fY29udHJvbGxlciBzaG91bGRDaGFuZ2VTZWxlY3RlZFJhbmdlOmFwaUZyb21SYW5nZS5nZXQo
KSB0b1JhbmdlOmFwaVRvUmFuZ2UuZ2V0KCkgYWZmaW5pdHk6YXBpQWZmaW5pdHkgc3RpbGxTZWxl
Y3Rpbmc6c3RpbGxTZWxlY3RpbmddOwpAQCAtNjI1LDcgKzYxNyw3IEBAIHN0YXRpYyBpbmxpbmUg
V0tFZGl0b3JJbnNlcnRBY3Rpb24gdG9XSyhFZGl0b3JJbnNlcnRBY3Rpb24gYWN0aW9uKQogICAg
ICAgICAgICAgaWYgKCFtX2RlbGVnYXRlTWV0aG9kcy53aWxsV3JpdGVUb1Bhc3RlYm9hcmQpCiAg
ICAgICAgICAgICAgICAgcmV0dXJuOwogCi0gICAgICAgICAgICBbbV9jb250cm9sbGVyLT5fZWRp
dGluZ0RlbGVnYXRlLmdldCgpIF93ZWJQcm9jZXNzUGx1Z0luQnJvd3NlckNvbnRleHRDb250cm9s
bGVyOm1fY29udHJvbGxlciB3aWxsV3JpdGVSYW5nZVRvUGFzdGVib2FyZDp3cmFwcGVyKCpJbmpl
Y3RlZEJ1bmRsZVJhbmdlSGFuZGxlOjpnZXRPckNyZWF0ZShyYW5nZSkuZ2V0KCkpXTsKKyAgICAg
ICAgICAgIFttX2NvbnRyb2xsZXItPl9lZGl0aW5nRGVsZWdhdGUuZ2V0KCkgX3dlYlByb2Nlc3NQ
bHVnSW5Ccm93c2VyQ29udGV4dENvbnRyb2xsZXI6bV9jb250cm9sbGVyIHdpbGxXcml0ZVJhbmdl
VG9QYXN0ZWJvYXJkOndyYXBwZXIoKldlYktpdDo6SW5qZWN0ZWRCdW5kbGVSYW5nZUhhbmRsZTo6
Z2V0T3JDcmVhdGUocmFuZ2UpLmdldCgpKV07CiAgICAgICAgIH0KIAogICAgICAgICB2b2lkIGdl
dFBhc3RlYm9hcmREYXRhRm9yUmFuZ2UoV2ViS2l0OjpXZWJQYWdlJiwgV2ViQ29yZTo6UmFuZ2Uq
IHJhbmdlLCBWZWN0b3I8U3RyaW5nPiYgcGFzdGVib2FyZFR5cGVzLCBWZWN0b3I8UmVmUHRyPFdl
YkNvcmU6OlNoYXJlZEJ1ZmZlcj4+JiBwYXN0ZWJvYXJkRGF0YSkgZmluYWwKQEAgLTYzMywxMCAr
NjI1LDEwIEBAIHN0YXRpYyBpbmxpbmUgV0tFZGl0b3JJbnNlcnRBY3Rpb24gdG9XSyhFZGl0b3JJ
bnNlcnRBY3Rpb24gYWN0aW9uKQogICAgICAgICAgICAgaWYgKCFtX2RlbGVnYXRlTWV0aG9kcy5n
ZXRQYXN0ZWJvYXJkRGF0YUZvclJhbmdlKQogICAgICAgICAgICAgICAgIHJldHVybjsKIAotICAg
ICAgICAgICAgYXV0byBkYXRhQnlUeXBlID0gW21fY29udHJvbGxlci0+X2VkaXRpbmdEZWxlZ2F0
ZS5nZXQoKSBfd2ViUHJvY2Vzc1BsdWdJbkJyb3dzZXJDb250ZXh0Q29udHJvbGxlcjptX2NvbnRy
b2xsZXIgcGFzdGVib2FyZERhdGFGb3JSYW5nZTp3cmFwcGVyKCpJbmplY3RlZEJ1bmRsZVJhbmdl
SGFuZGxlOjpnZXRPckNyZWF0ZShyYW5nZSkuZ2V0KCkpXTsKKyAgICAgICAgICAgIGF1dG8gZGF0
YUJ5VHlwZSA9IFttX2NvbnRyb2xsZXItPl9lZGl0aW5nRGVsZWdhdGUuZ2V0KCkgX3dlYlByb2Nl
c3NQbHVnSW5Ccm93c2VyQ29udGV4dENvbnRyb2xsZXI6bV9jb250cm9sbGVyIHBhc3RlYm9hcmRE
YXRhRm9yUmFuZ2U6d3JhcHBlcigqV2ViS2l0OjpJbmplY3RlZEJ1bmRsZVJhbmdlSGFuZGxlOjpn
ZXRPckNyZWF0ZShyYW5nZSkuZ2V0KCkpXTsKICAgICAgICAgICAgIGZvciAoTlNTdHJpbmcgKnR5
cGUgaW4gZGF0YUJ5VHlwZSkgewogICAgICAgICAgICAgICAgIHBhc3RlYm9hcmRUeXBlcy5hcHBl
bmQodHlwZSk7Ci0gICAgICAgICAgICAgICAgcGFzdGVib2FyZERhdGEuYXBwZW5kKFNoYXJlZEJ1
ZmZlcjo6Y3JlYXRlKGRhdGFCeVR5cGVbdHlwZV0pKTsKKyAgICAgICAgICAgICAgICBwYXN0ZWJv
YXJkRGF0YS5hcHBlbmQoV2ViQ29yZTo6U2hhcmVkQnVmZmVyOjpjcmVhdGUoZGF0YUJ5VHlwZVt0
eXBlXSkpOwogICAgICAgICAgICAgfTsKICAgICAgICAgfQogCkBAIC02NTMsOCArNjQ1LDggQEAg
c3RhdGljIGlubGluZSBXS0VkaXRvckluc2VydEFjdGlvbiB0b1dLKEVkaXRvckluc2VydEFjdGlv
biBhY3Rpb24pCiAgICAgICAgICAgICBpZiAoIW1fZGVsZWdhdGVNZXRob2RzLnBlcmZvcm1Ud29T
dGVwRHJvcCkKICAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CiAKLSAgICAgICAgICAgIGF1
dG8gcmFuZ2VIYW5kbGUgPSBJbmplY3RlZEJ1bmRsZVJhbmdlSGFuZGxlOjpnZXRPckNyZWF0ZSgm
cmFuZ2UpOwotICAgICAgICAgICAgYXV0byBub2RlSGFuZGxlID0gSW5qZWN0ZWRCdW5kbGVOb2Rl
SGFuZGxlOjpnZXRPckNyZWF0ZSgmZnJhZ21lbnQpOworICAgICAgICAgICAgYXV0byByYW5nZUhh
bmRsZSA9IFdlYktpdDo6SW5qZWN0ZWRCdW5kbGVSYW5nZUhhbmRsZTo6Z2V0T3JDcmVhdGUoJnJh
bmdlKTsKKyAgICAgICAgICAgIGF1dG8gbm9kZUhhbmRsZSA9IFdlYktpdDo6SW5qZWN0ZWRCdW5k
bGVOb2RlSGFuZGxlOjpnZXRPckNyZWF0ZSgmZnJhZ21lbnQpOwogICAgICAgICAgICAgcmV0dXJu
IFttX2NvbnRyb2xsZXItPl9lZGl0aW5nRGVsZWdhdGUuZ2V0KCkgX3dlYlByb2Nlc3NQbHVnSW5C
cm93c2VyQ29udGV4dENvbnRyb2xsZXI6bV9jb250cm9sbGVyIHBlcmZvcm1Ud29TdGVwRHJvcDp3
cmFwcGVyKCpub2RlSGFuZGxlKSBhdERlc3RpbmF0aW9uOndyYXBwZXIoKnJhbmdlSGFuZGxlKSBp
c01vdmU6aXNNb3ZlXTsKICAgICAgICAgfQogCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>349254</attachid>
            <date>2018-09-08 02:38:21 -0700</date>
            <delta_ts>2018-09-08 10:59:50 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-189447-20180908023820.patch</filename>
            <type>text/plain</type>
            <size>211433</size>
            <attacher name="Tim Horton">thorton</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjM1ODI3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IGYxMzkzYjI5ZmJmYjkwZGQ4
NTU0YTA1OGViNzI2ZWYyNjlkZmNmMDguLjk3ZjU4NDA0NGQ4NDUyMGRiZDYwMzg2NWRiNDFiYzMy
ZGI0NDBkODIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNDIgQEAKKzIwMTgtMDktMDggIFRpbSBIb3J0
b24gIDx0aW1vdGh5X2hvcnRvbkBhcHBsZS5jb20+CisKKyAgICAgICAgVW5pZnkgbW9zdCBvZiB0
aGUgV2ViS2l0IE9iamVjdGl2ZS1DIEFQSSBzb3VyY2VzCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xODk0NDcKKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKworICAgICAgICBVbmlmeSBhbmQgZml4IGVycm9ycy4KKworICAgICAg
ICAqIFNoYXJlZC9BUEkvQ29jb2EvX1dLRnJhbWVIYW5kbGUubW06CisgICAgICAgICogU2hhcmVk
L0FQSS9Db2NvYS9fV0tSZW1vdGVPYmplY3RSZWdpc3RyeS5tbToKKyAgICAgICAgKiBTb3VyY2Vz
Q29jb2EudHh0OgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvQ29jb2EvQVBJQ29udGVudFJ1bGVM
aXN0U3RvcmVDb2NvYS5tbToKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL0NvY29hL1dLQmFja0Zv
cndhcmRMaXN0Lm1tOgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvQ29jb2EvV0tCYWNrRm9yd2Fy
ZExpc3RJdGVtLm1tOgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvQ29jb2EvV0tCcm93c2luZ0Nv
bnRleHRDb250cm9sbGVyLm1tOgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvQ29jb2EvV0tCcm93
c2luZ0NvbnRleHRHcm91cC5tbToKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL0NvY29hL1dLQ29u
bmVjdGlvbi5tbToKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL0NvY29hL1dLTlNVUkxBdXRoZW50
aWNhdGlvbkNoYWxsZW5nZS5tbToKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL0NvY29hL1dLTmF2
aWdhdGlvbkRhdGEubW06CisgICAgICAgICogVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1Byb2Nlc3NH
cm91cC5tbToKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL0NvY29hL1dLVVJMU2NoZW1lVGFzay5t
bToKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL0NvY29hL1dLV2ViVmlld0NvbmZpZ3VyYXRpb24u
bW06CisgICAgICAgICogVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYnNpdGVEYXRhU3RvcmUubW06
CisgICAgICAgICogVUlQcm9jZXNzL0FQSS9Db2NvYS9fV0tBdHRhY2htZW50Lm1tOgorICAgICAg
ICAqIFVJUHJvY2Vzcy9BUEkvQ29jb2EvX1dLR2VvbG9jYXRpb25Qb3NpdGlvbi5tbToKKyAgICAg
ICAgKiBVSVByb2Nlc3MvQVBJL0NvY29hL19XS1JlbW90ZVdlYkluc3BlY3RvclZpZXdDb250cm9s
bGVyLm1tOgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvQ29jb2EvX1dLVGh1bWJuYWlsVmlldy5t
bToKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL21hYy9XS1ZpZXcubW06CisgICAgICAgICogV2Vi
S2l0Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6CisgICAgICAgICogV2ViUHJvY2Vzcy9Jbmpl
Y3RlZEJ1bmRsZS9BUEkvQ29jb2EvV0tXZWJQcm9jZXNzUGx1Z0luRnJhbWUubW06CisgICAgICAg
ICogV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9BUEkvQ29jb2EvV0tXZWJQcm9jZXNzUGx1Z0lu
SGl0VGVzdFJlc3VsdC5tbToKKyAgICAgICAgKiBXZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0FQ
SS9Db2NvYS9XS1dlYlByb2Nlc3NQbHVnSW5Ob2RlSGFuZGxlLm1tOgorICAgICAgICAqIFdlYlBy
b2Nlc3MvSW5qZWN0ZWRCdW5kbGUvQVBJL0NvY29hL1dLV2ViUHJvY2Vzc1BsdWdJblBhZ2VHcm91
cC5tbToKKyAgICAgICAgKiBXZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0FQSS9Db2NvYS9XS1dl
YlByb2Nlc3NQbHVnSW5SYW5nZUhhbmRsZS5tbToKKyAgICAgICAgKiBXZWJQcm9jZXNzL0luamVj
dGVkQnVuZGxlL0FQSS9Db2NvYS9XS1dlYlByb2Nlc3NQbHVnSW5TY3JpcHRXb3JsZC5tbToKKyAg
ICAgICAgKiBXZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0FQSS9tYWMvV0tXZWJQcm9jZXNzUGx1
Z0luLm1tOgorICAgICAgICAqIFdlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvQVBJL21hYy9XS1dl
YlByb2Nlc3NQbHVnSW5Ccm93c2VyQ29udGV4dENvbnRyb2xsZXIubW06CisKIDIwMTgtMDktMDcg
IFRpbSBIb3J0b24gIDx0aW1vdGh5X2hvcnRvbkBhcHBsZS5jb20+CiAKICAgICAgICAgVHJ5IHRv
IGZpeCB0aGUgYnVpbGQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL0FQSS9Db2Nv
YS9fV0tGcmFtZUhhbmRsZS5tbSBiL1NvdXJjZS9XZWJLaXQvU2hhcmVkL0FQSS9Db2NvYS9fV0tG
cmFtZUhhbmRsZS5tbQppbmRleCAwYTcyZmVmMjgxMDcyMWY4MzIxYWQ5NjY3YTVkYjBkOGY4OTFh
ZGE1Li5jNDgwMzFjZWI4OTFmNzk4ZmI0OTc1NzNhN2JkM2FiYjgyYTEwMTZhIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9BUEkvQ29jb2EvX1dLRnJhbWVIYW5kbGUubW0KKysrIGIv
U291cmNlL1dlYktpdC9TaGFyZWQvQVBJL0NvY29hL19XS0ZyYW1lSGFuZGxlLm1tCkBAIC0yOCw4
ICsyOCw2IEBACiAKICNpZiBXS19BUElfRU5BQkxFRAogCi11c2luZyBuYW1lc3BhY2UgV2ViS2l0
OwotCiBAaW1wbGVtZW50YXRpb24gX1dLRnJhbWVIYW5kbGUgewogICAgIEFQSTo6T2JqZWN0U3Rv
cmFnZTxBUEk6OkZyYW1lSGFuZGxlPiBfZnJhbWVIYW5kbGU7CiB9CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0L1NoYXJlZC9BUEkvQ29jb2EvX1dLUmVtb3RlT2JqZWN0UmVnaXN0cnkubW0gYi9T
b3VyY2UvV2ViS2l0L1NoYXJlZC9BUEkvQ29jb2EvX1dLUmVtb3RlT2JqZWN0UmVnaXN0cnkubW0K
aW5kZXggYjY0YTMzYmQxYmQxNmEzN2M4NjEwZWEyMjk1NWQ1NmZmYjQzOWNkOC4uYmE2NWY3OTA1
MTE5MzI0Mjg2OGNmNDMyYTgzOGEzOTVjZGU1MWNmZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dC9TaGFyZWQvQVBJL0NvY29hL19XS1JlbW90ZU9iamVjdFJlZ2lzdHJ5Lm1tCisrKyBiL1NvdXJj
ZS9XZWJLaXQvU2hhcmVkL0FQSS9Db2NvYS9fV0tSZW1vdGVPYmplY3RSZWdpc3RyeS5tbQpAQCAt
NTEsOCArNTEsNiBAQCBAZW5kCiAKIE5TU3RyaW5nICogY29uc3QgaW52b2NhdGlvbktleSA9IEAi
aW52b2NhdGlvbiI7CiAKLXVzaW5nIG5hbWVzcGFjZSBXZWJLaXQ7Ci0KIHN0cnVjdCBQZW5kaW5n
UmVwbHkgewogICAgIFBlbmRpbmdSZXBseSgpID0gZGVmYXVsdDsKIApAQCAtNjksNyArNjcsNyBA
QCBzdHJ1Y3QgUGVuZGluZ1JlcGx5IHsKIH07CiAKIEBpbXBsZW1lbnRhdGlvbiBfV0tSZW1vdGVP
YmplY3RSZWdpc3RyeSB7Ci0gICAgc3RkOjp1bmlxdWVfcHRyPFJlbW90ZU9iamVjdFJlZ2lzdHJ5
PiBfcmVtb3RlT2JqZWN0UmVnaXN0cnk7CisgICAgc3RkOjp1bmlxdWVfcHRyPFdlYktpdDo6UmVt
b3RlT2JqZWN0UmVnaXN0cnk+IF9yZW1vdGVPYmplY3RSZWdpc3RyeTsKIAogICAgIFJldGFpblB0
cjxOU01hcFRhYmxlPiBfcmVtb3RlT2JqZWN0UHJveGllczsKICAgICBIYXNoTWFwPFN0cmluZywg
c3RkOjpwYWlyPFJldGFpblB0cjxpZD4sIFJldGFpblB0cjxfV0tSZW1vdGVPYmplY3RJbnRlcmZh
Y2U+Pj4gX2V4cG9ydGVkT2JqZWN0czsKQEAgLTExMSw3ICsxMDksNyBAQCAtIChpZClfaW5pdFdp
dGhXZWJQYWdlOihXZWJLaXQ6OldlYlBhZ2UmKXBhZ2UKICAgICBpZiAoIShzZWxmID0gW3N1cGVy
IGluaXRdKSkKICAgICAgICAgcmV0dXJuIG5pbDsKIAotICAgIF9yZW1vdGVPYmplY3RSZWdpc3Ry
eSA9IHN0ZDo6bWFrZV91bmlxdWU8UmVtb3RlT2JqZWN0UmVnaXN0cnk+KHNlbGYsIHBhZ2UpOwor
ICAgIF9yZW1vdGVPYmplY3RSZWdpc3RyeSA9IHN0ZDo6bWFrZV91bmlxdWU8V2ViS2l0OjpSZW1v
dGVPYmplY3RSZWdpc3RyeT4oc2VsZiwgcGFnZSk7CiAKICAgICByZXR1cm4gc2VsZjsKIH0KQEAg
LTEyMSw3ICsxMTksNyBAQCAtIChpZClfaW5pdFdpdGhXZWJQYWdlUHJveHk6KFdlYktpdDo6V2Vi
UGFnZVByb3h5JilwYWdlCiAgICAgaWYgKCEoc2VsZiA9IFtzdXBlciBpbml0XSkpCiAgICAgICAg
IHJldHVybiBuaWw7CiAKLSAgICBfcmVtb3RlT2JqZWN0UmVnaXN0cnkgPSBzdGQ6Om1ha2VfdW5p
cXVlPFJlbW90ZU9iamVjdFJlZ2lzdHJ5PihzZWxmLCBwYWdlKTsKKyAgICBfcmVtb3RlT2JqZWN0
UmVnaXN0cnkgPSBzdGQ6Om1ha2VfdW5pcXVlPFdlYktpdDo6UmVtb3RlT2JqZWN0UmVnaXN0cnk+
KHNlbGYsIHBhZ2UpOwogCiAgICAgcmV0dXJuIHNlbGY7CiB9CkBAIC0xNDAsNyArMTM4LDcgQEAg
c3RhdGljIHVpbnQ2NF90IGdlbmVyYXRlUmVwbHlJZGVudGlmaWVyKCkKIAogLSAodm9pZClfc2Vu
ZEludm9jYXRpb246KE5TSW52b2NhdGlvbiAqKWludm9jYXRpb24gaW50ZXJmYWNlOihfV0tSZW1v
dGVPYmplY3RJbnRlcmZhY2UgKilpbnRlcmZhY2UKIHsKLSAgICBzdGQ6OnVuaXF1ZV9wdHI8UmVt
b3RlT2JqZWN0SW52b2NhdGlvbjo6UmVwbHlJbmZvPiByZXBseUluZm87CisgICAgc3RkOjp1bmlx
dWVfcHRyPFdlYktpdDo6UmVtb3RlT2JqZWN0SW52b2NhdGlvbjo6UmVwbHlJbmZvPiByZXBseUlu
Zm87CiAKICAgICBOU01ldGhvZFNpZ25hdHVyZSAqbWV0aG9kU2lnbmF0dXJlID0gaW52b2NhdGlv
bi5tZXRob2RTaWduYXR1cmU7CiAgICAgZm9yIChOU1VJbnRlZ2VyIGkgPSAwLCBjb3VudCA9IG1l
dGhvZFNpZ25hdHVyZS5udW1iZXJPZkFyZ3VtZW50czsgaSA8IGNvdW50OyArK2kpIHsKQEAgLTE2
Miw3ICsxNjAsNyBAQCAtICh2b2lkKV9zZW5kSW52b2NhdGlvbjooTlNJbnZvY2F0aW9uICopaW52
b2NhdGlvbiBpbnRlcmZhY2U6KF9XS1JlbW90ZU9iamVjdEludAogICAgICAgICBpZiAoc3RyY21w
KFtOU01ldGhvZFNpZ25hdHVyZSBzaWduYXR1cmVXaXRoT2JqQ1R5cGVzOnJlcGx5QmxvY2tTaWdu
YXR1cmVdLm1ldGhvZFJldHVyblR5cGUsICJ2IikpCiAgICAgICAgICAgICBbTlNFeGNlcHRpb24g
cmFpc2U6TlNJbnZhbGlkQXJndW1lbnRFeGNlcHRpb24gZm9ybWF0OkAiUmV0dXJuIHZhbHVlIG9m
IGJsb2NrIGFyZ3VtZW50IG11c3QgYmUgJ3ZvaWQnLiAoJXMpIiwgc2VsX2dldE5hbWUoaW52b2Nh
dGlvbi5zZWxlY3RvcildOwogCi0gICAgICAgIHJlcGx5SW5mbyA9IHN0ZDo6bWFrZV91bmlxdWU8
UmVtb3RlT2JqZWN0SW52b2NhdGlvbjo6UmVwbHlJbmZvPihnZW5lcmF0ZVJlcGx5SWRlbnRpZmll
cigpLCByZXBseUJsb2NrU2lnbmF0dXJlKTsKKyAgICAgICAgcmVwbHlJbmZvID0gc3RkOjptYWtl
X3VuaXF1ZTxXZWJLaXQ6OlJlbW90ZU9iamVjdEludm9jYXRpb246OlJlcGx5SW5mbz4oZ2VuZXJh
dGVSZXBseUlkZW50aWZpZXIoKSwgcmVwbHlCbG9ja1NpZ25hdHVyZSk7CiAKICAgICAgICAgLy8g
UmVwbGFjZSB0aGUgYmxvY2sgb2JqZWN0IHNvIHdlIHdvbid0IHRyeSB0byBlbmNvZGUgaXQuCiAg
ICAgICAgIGlkIG51bGwgPSBudWxscHRyOwpAQCAtMTc5LDcgKzE3Nyw3IEBAIC0gKHZvaWQpX3Nl
bmRJbnZvY2F0aW9uOihOU0ludm9jYXRpb24gKilpbnZvY2F0aW9uIGludGVyZmFjZTooX1dLUmVt
b3RlT2JqZWN0SW50CiAgICAgaWYgKCFfcmVtb3RlT2JqZWN0UmVnaXN0cnkpCiAgICAgICAgIHJl
dHVybjsKIAotICAgIF9yZW1vdGVPYmplY3RSZWdpc3RyeS0+c2VuZEludm9jYXRpb24oUmVtb3Rl
T2JqZWN0SW52b2NhdGlvbihpbnRlcmZhY2UuaWRlbnRpZmllciwgW2VuY29kZXIgcm9vdE9iamVj
dERpY3Rpb25hcnldLCBXVEZNb3ZlKHJlcGx5SW5mbykpKTsKKyAgICBfcmVtb3RlT2JqZWN0UmVn
aXN0cnktPnNlbmRJbnZvY2F0aW9uKFdlYktpdDo6UmVtb3RlT2JqZWN0SW52b2NhdGlvbihpbnRl
cmZhY2UuaWRlbnRpZmllciwgW2VuY29kZXIgcm9vdE9iamVjdERpY3Rpb25hcnldLCBXVEZNb3Zl
KHJlcGx5SW5mbykpKTsKIH0KIAogLSAoV2ViS2l0OjpSZW1vdGVPYmplY3RSZWdpc3RyeSYpcmVt
b3RlT2JqZWN0UmVnaXN0cnkKQEAgLTE4Nyw3ICsxODUsNyBAQCAtIChXZWJLaXQ6OlJlbW90ZU9i
amVjdFJlZ2lzdHJ5JilyZW1vdGVPYmplY3RSZWdpc3RyeQogICAgIHJldHVybiAqX3JlbW90ZU9i
amVjdFJlZ2lzdHJ5OwogfQogCi0tICh2b2lkKV9pbnZva2VNZXRob2Q6KGNvbnN0IFJlbW90ZU9i
amVjdEludm9jYXRpb24mKXJlbW90ZU9iamVjdEludm9jYXRpb24KKy0gKHZvaWQpX2ludm9rZU1l
dGhvZDooY29uc3QgV2ViS2l0OjpSZW1vdGVPYmplY3RJbnZvY2F0aW9uJilyZW1vdGVPYmplY3RJ
bnZvY2F0aW9uCiB7CiAgICAgYXV0byYgaW50ZXJmYWNlSWRlbnRpZmllciA9IHJlbW90ZU9iamVj
dEludm9jYXRpb24uaW50ZXJmYWNlSWRlbnRpZmllcigpOwogICAgIGF1dG8qIGVuY29kZWRJbnZv
Y2F0aW9uID0gcmVtb3RlT2JqZWN0SW52b2NhdGlvbi5lbmNvZGVkSW52b2NhdGlvbigpOwpAQCAt
MjY0LDcgKzI2Miw3IEBAIC0gKHZvaWQpX2ludm9rZU1ldGhvZDooY29uc3QgUmVtb3RlT2JqZWN0
SW52b2NhdGlvbiYpcmVtb3RlT2JqZWN0SW52b2NhdGlvbgogICAgICAgICAgICAgICAgIGF1dG8g
ZW5jb2RlciA9IGFkb3B0TlMoW1tXS1JlbW90ZU9iamVjdEVuY29kZXIgYWxsb2NdIGluaXRdKTsK
ICAgICAgICAgICAgICAgICBbZW5jb2RlciBlbmNvZGVPYmplY3Q6aW52b2NhdGlvbiBmb3JLZXk6
aW52b2NhdGlvbktleV07CiAKLSAgICAgICAgICAgICAgICByZW1vdGVPYmplY3RSZWdpc3RyeS0+
X3JlbW90ZU9iamVjdFJlZ2lzdHJ5LT5zZW5kUmVwbHlCbG9jayhyZXBseUlELCBVc2VyRGF0YShb
ZW5jb2RlciByb290T2JqZWN0RGljdGlvbmFyeV0pKTsKKyAgICAgICAgICAgICAgICByZW1vdGVP
YmplY3RSZWdpc3RyeS0+X3JlbW90ZU9iamVjdFJlZ2lzdHJ5LT5zZW5kUmVwbHlCbG9jayhyZXBs
eUlELCBXZWJLaXQ6OlVzZXJEYXRhKFtlbmNvZGVyIHJvb3RPYmplY3REaWN0aW9uYXJ5XSkpOwog
ICAgICAgICAgICAgICAgIGNoZWNrZXItPmRpZENhbGxSZXBseUJsb2NrKCk7CiAgICAgICAgICAg
ICB9KTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9TaGFyZWQvQVBJL2MvY2YvV0tTdHJp
bmdDRi5tbSBiL1NvdXJjZS9XZWJLaXQvU2hhcmVkL0FQSS9jL2NmL1dLU3RyaW5nQ0YubW0KaW5k
ZXggMmM0MzkzNmY3YWQ0MTU4ZGUyNzIzMzQ1YWFlNDZjYWJjYmM3NzZjYi4uMzAyOGUxZTYwOGJm
ODI3OTA1MmNhMjJlMDU2ZDEyMDE4Zjg4NjUzNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9T
aGFyZWQvQVBJL2MvY2YvV0tTdHJpbmdDRi5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9B
UEkvYy9jZi9XS1N0cmluZ0NGLm1tCkBAIC0zMSw5ICszMSw2IEBACiAjaW1wb3J0IDxvYmpjL3J1
bnRpbWUuaD4KICNpbXBvcnQgPHd0Zi90ZXh0L1dURlN0cmluZy5oPgogCi11c2luZyBuYW1lc3Bh
Y2UgV2ViQ29yZTsKLXVzaW5nIG5hbWVzcGFjZSBXZWJLaXQ7Ci0KICNpZiBXS19BUElfRU5BQkxF
RAogc3RhdGljIGlubGluZSBDbGFzcyB3a05TU3RyaW5nQ2xhc3MoKQogewpAQCAtNTEsMTkgKzQ4
LDE5IEBAIFdLU3RyaW5nUmVmIFdLU3RyaW5nQ3JlYXRlV2l0aENGU3RyaW5nKENGU3RyaW5nUmVm
IGNmU3RyaW5nKQogI2lmIFdLX0FQSV9FTkFCTEVECiAgICAgLy8gU2luY2UgV0tOU1N0cmluZyBp
cyBhbiBpbnRlcm5hbCBjbGFzcyB3aXRoIG5vIHN1YmNsYXNzZXMsIHdlIGNhbiBkbyBhIHNpbXBs
ZSBlcXVhbGl0eSBjaGVjay4KICAgICBpZiAob2JqZWN0X2dldENsYXNzKChfX2JyaWRnZSBOU1N0
cmluZyAqKWNmU3RyaW5nKSA9PSB3a05TU3RyaW5nQ2xhc3MoKSkKLSAgICAgICAgcmV0dXJuIHRv
QVBJKHN0YXRpY19jYXN0PEFQSTo6U3RyaW5nKj4oJlsoV0tOU1N0cmluZyAqKShfX2JyaWRnZSBO
U1N0cmluZyAqKUNGUmV0YWluKGNmU3RyaW5nKSBfYXBpT2JqZWN0XSkpOworICAgICAgICByZXR1
cm4gV2ViS2l0Ojp0b0FQSShzdGF0aWNfY2FzdDxBUEk6OlN0cmluZyo+KCZbKFdLTlNTdHJpbmcg
KikoX19icmlkZ2UgTlNTdHJpbmcgKilDRlJldGFpbihjZlN0cmluZykgX2FwaU9iamVjdF0pKTsK
ICNlbmRpZgogICAgIFN0cmluZyBzdHJpbmcoY2ZTdHJpbmcpOwotICAgIHJldHVybiB0b0NvcGll
ZEFQSShzdHJpbmcpOworICAgIHJldHVybiBXZWJLaXQ6OnRvQ29waWVkQVBJKHN0cmluZyk7CiB9
CiAKIENGU3RyaW5nUmVmIFdLU3RyaW5nQ29weUNGU3RyaW5nKENGQWxsb2NhdG9yUmVmIGFsbG9j
YXRvclJlZiwgV0tTdHJpbmdSZWYgc3RyaW5nUmVmKQogewotICAgIEFTU0VSVCghdG9JbXBsKHN0
cmluZ1JlZiktPnN0cmluZygpLmlzTnVsbCgpKTsKKyAgICBBU1NFUlQoIVdlYktpdDo6dG9JbXBs
KHN0cmluZ1JlZiktPnN0cmluZygpLmlzTnVsbCgpKTsKIAogICAgIC8vIE5PVEU6IFRoaXMgZG9l
cyBub3QgdXNlIFN0cmluZ0ltcGw6OmNyZWF0ZUNGU3RyaW5nKCkgc2luY2UgdGhhdCBmdW5jdGlv
bgogICAgIC8vIGV4cGVjdHMgdG8gYmUgY2FsbGVkIG9uIHRoZSB0aHJlYWQgcnVubmluZyBXZWJD
b3JlLgotICAgIGlmICh0b0ltcGwoc3RyaW5nUmVmKS0+c3RyaW5nKCkuaXM4Qml0KCkpCi0gICAg
ICAgIHJldHVybiBDRlN0cmluZ0NyZWF0ZVdpdGhCeXRlcyhhbGxvY2F0b3JSZWYsIHJlaW50ZXJw
cmV0X2Nhc3Q8Y29uc3QgVUludDgqPih0b0ltcGwoc3RyaW5nUmVmKS0+c3RyaW5nKCkuY2hhcmFj
dGVyczgoKSksIHRvSW1wbChzdHJpbmdSZWYpLT5zdHJpbmcoKS5sZW5ndGgoKSwga0NGU3RyaW5n
RW5jb2RpbmdJU09MYXRpbjEsIHRydWUpOwotICAgIHJldHVybiBDRlN0cmluZ0NyZWF0ZVdpdGhD
aGFyYWN0ZXJzKGFsbG9jYXRvclJlZiwgcmVpbnRlcnByZXRfY2FzdDxjb25zdCBVbmlDaGFyKj4o
dG9JbXBsKHN0cmluZ1JlZiktPnN0cmluZygpLmNoYXJhY3RlcnMxNigpKSwgdG9JbXBsKHN0cmlu
Z1JlZiktPnN0cmluZygpLmxlbmd0aCgpKTsKKyAgICBpZiAoV2ViS2l0Ojp0b0ltcGwoc3RyaW5n
UmVmKS0+c3RyaW5nKCkuaXM4Qml0KCkpCisgICAgICAgIHJldHVybiBDRlN0cmluZ0NyZWF0ZVdp
dGhCeXRlcyhhbGxvY2F0b3JSZWYsIHJlaW50ZXJwcmV0X2Nhc3Q8Y29uc3QgVUludDgqPihXZWJL
aXQ6OnRvSW1wbChzdHJpbmdSZWYpLT5zdHJpbmcoKS5jaGFyYWN0ZXJzOCgpKSwgV2ViS2l0Ojp0
b0ltcGwoc3RyaW5nUmVmKS0+c3RyaW5nKCkubGVuZ3RoKCksIGtDRlN0cmluZ0VuY29kaW5nSVNP
TGF0aW4xLCB0cnVlKTsKKyAgICByZXR1cm4gQ0ZTdHJpbmdDcmVhdGVXaXRoQ2hhcmFjdGVycyhh
bGxvY2F0b3JSZWYsIHJlaW50ZXJwcmV0X2Nhc3Q8Y29uc3QgVW5pQ2hhcio+KFdlYktpdDo6dG9J
bXBsKHN0cmluZ1JlZiktPnN0cmluZygpLmNoYXJhY3RlcnMxNigpKSwgV2ViS2l0Ojp0b0ltcGwo
c3RyaW5nUmVmKS0+c3RyaW5nKCkubGVuZ3RoKCkpOwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdC9TaGFyZWQvQVBJL2MvY2YvV0tVUkxDRi5tbSBiL1NvdXJjZS9XZWJLaXQvU2hhcmVkL0FQ
SS9jL2NmL1dLVVJMQ0YubW0KaW5kZXggN2ExYzNiN2JjNGQzODlmODIxODNjYjU4MGE1YWQ1ODE5
N2RhOTA5Mi4uZGYxOTgzYTYwMTUwZGQ3ZWFkYmFlODNkMzg4MjhhYmFhNzgwZTBhZSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdC9TaGFyZWQvQVBJL2MvY2YvV0tVUkxDRi5tbQorKysgYi9Tb3Vy
Y2UvV2ViS2l0L1NoYXJlZC9BUEkvYy9jZi9XS1VSTENGLm1tCkBAIC0zMiw5ICszMiw2IEBACiAj
aW1wb3J0IDxvYmpjL3J1bnRpbWUuaD4KICNpbXBvcnQgPHd0Zi90ZXh0L0NTdHJpbmcuaD4KIAot
dXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU7Ci11c2luZyBuYW1lc3BhY2UgV2ViS2l0OwotCiAjaWYg
V0tfQVBJX0VOQUJMRUQKIHN0YXRpYyBpbmxpbmUgQ2xhc3Mgd2tOU1VSTENsYXNzKCkKIHsKQEAg
LTU1LDIyICs1MiwyMiBAQCBXS1VSTFJlZiBXS1VSTENyZWF0ZVdpdGhDRlVSTChDRlVSTFJlZiBj
ZlVSTCkKICNpZiBXS19BUElfRU5BQkxFRAogICAgIC8vIFNpbmNlIFdLTlNVUkwgaXMgYW4gaW50
ZXJuYWwgY2xhc3Mgd2l0aCBubyBzdWJjbGFzc2VzLCB3ZSBjYW4gZG8gYSBzaW1wbGUgZXF1YWxp
dHkgY2hlY2suCiAgICAgaWYgKG9iamVjdF9nZXRDbGFzcygoX19icmlkZ2UgTlNVUkwgKiljZlVS
TCkgPT0gd2tOU1VSTENsYXNzKCkpCi0gICAgICAgIHJldHVybiB0b0FQSShzdGF0aWNfY2FzdDxB
UEk6OlVSTCo+KCZbKFdLTlNVUkwgKikoX19icmlkZ2UgTlNVUkwgKilDRlJldGFpbihjZlVSTCkg
X2FwaU9iamVjdF0pKTsKKyAgICAgICAgcmV0dXJuIFdlYktpdDo6dG9BUEkoc3RhdGljX2Nhc3Q8
QVBJOjpVUkwqPigmWyhXS05TVVJMICopKF9fYnJpZGdlIE5TVVJMICopQ0ZSZXRhaW4oY2ZVUkwp
IF9hcGlPYmplY3RdKSk7CiAjZW5kaWYKIAogICAgIENTdHJpbmcgdXJsQnl0ZXM7Ci0gICAgZ2V0
VVJMQnl0ZXMoY2ZVUkwsIHVybEJ5dGVzKTsKKyAgICBXZWJDb3JlOjpnZXRVUkxCeXRlcyhjZlVS
TCwgdXJsQnl0ZXMpOwogCi0gICAgcmV0dXJuIHRvQ29waWVkVVJMQVBJKHVybEJ5dGVzLmRhdGEo
KSk7CisgICAgcmV0dXJuIFdlYktpdDo6dG9Db3BpZWRVUkxBUEkodXJsQnl0ZXMuZGF0YSgpKTsK
IH0KIAogQ0ZVUkxSZWYgV0tVUkxDb3B5Q0ZVUkwoQ0ZBbGxvY2F0b3JSZWYgYWxsb2NhdG9yUmVm
LCBXS1VSTFJlZiBVUkxSZWYpCiB7Ci0gICAgQVNTRVJUKCF0b0ltcGwoVVJMUmVmKS0+c3RyaW5n
KCkuaXNOdWxsKCkpOworICAgIEFTU0VSVCghV2ViS2l0Ojp0b0ltcGwoVVJMUmVmKS0+c3RyaW5n
KCkuaXNOdWxsKCkpOwogCiAgICAgLy8gV2UgZmlyc3QgY3JlYXRlIGEgQ1N0cmluZyBhbmQgdGhl
biBjcmVhdGUgdGhlIENGVVJMIGZyb20gaXQuIFRoaXMgd2lsbCBlbnN1cmUgdGhhdCB0aGUgQ0ZV
UkwgaXMgc3RvcmVkIGluIAogICAgIC8vIFVURi04IHdoaWNoIHVzZXMgbGVzcyBtZW1vcnkgYW5k
IGlzIHdoYXQgV2ViS2l0IGNsaWVudHMgbWlnaHQgZXhwZWN0LgogCi0gICAgQ1N0cmluZyBidWZm
ZXIgPSB0b0ltcGwoVVJMUmVmKS0+c3RyaW5nKCkudXRmOCgpOwotICAgIHJldHVybiBjcmVhdGVD
RlVSTEZyb21CdWZmZXIoYnVmZmVyLmRhdGEoKSwgYnVmZmVyLmxlbmd0aCgpLCAwKS5sZWFrUmVm
KCk7CisgICAgQ1N0cmluZyBidWZmZXIgPSBXZWJLaXQ6OnRvSW1wbChVUkxSZWYpLT5zdHJpbmco
KS51dGY4KCk7CisgICAgcmV0dXJuIFdlYkNvcmU6OmNyZWF0ZUNGVVJMRnJvbUJ1ZmZlcihidWZm
ZXIuZGF0YSgpLCBidWZmZXIubGVuZ3RoKCksIDApLmxlYWtSZWYoKTsKIH0KZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQvU2hhcmVkL0FQSS9jL21hYy9XS0NlcnRpZmljYXRlSW5mb01hYy5tbSBi
L1NvdXJjZS9XZWJLaXQvU2hhcmVkL0FQSS9jL21hYy9XS0NlcnRpZmljYXRlSW5mb01hYy5tbQpp
bmRleCA5ZmZhY2FhNzhkYTRjZWNjYWU5ZTVkNDQwNzNkYzc4NTcxYjliZDdkLi40Zjg4NjVlNjYz
NTZkNmE1Mzk2Mjc2MzhhOGQwN2ZhOTg5OGI5NTU4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
L1NoYXJlZC9BUEkvYy9tYWMvV0tDZXJ0aWZpY2F0ZUluZm9NYWMubW0KKysrIGIvU291cmNlL1dl
YktpdC9TaGFyZWQvQVBJL2MvbWFjL1dLQ2VydGlmaWNhdGVJbmZvTWFjLm1tCkBAIC0yOSwxNCAr
MjksMTEgQEAKICNpbXBvcnQgIldLQVBJQ2FzdC5oIgogI2ltcG9ydCAiV2ViQ2VydGlmaWNhdGVJ
bmZvLmgiCiAKLXVzaW5nIG5hbWVzcGFjZSBXZWJDb3JlOwotdXNpbmcgbmFtZXNwYWNlIFdlYktp
dDsKLQogV0tDZXJ0aWZpY2F0ZUluZm9SZWYgV0tDZXJ0aWZpY2F0ZUluZm9DcmVhdGVXaXRoU2Vy
dmVyVHJ1c3QoU2VjVHJ1c3RSZWYgc2VydmVyVHJ1c3QpCiB7CiAjaWYgSEFWRShTRUNfVFJVU1Rf
U0VSSUFMSVpBVElPTikKLSAgICBSZWZQdHI8V2ViQ2VydGlmaWNhdGVJbmZvPiBjZXJ0aWZpY2F0
ZUluZm8gPSBXZWJDZXJ0aWZpY2F0ZUluZm86OmNyZWF0ZShDZXJ0aWZpY2F0ZUluZm8oc2VydmVy
VHJ1c3QpKTsKLSAgICByZXR1cm4gdG9BUEkoY2VydGlmaWNhdGVJbmZvLmxlYWtSZWYoKSk7Cisg
ICAgUmVmUHRyPFdlYktpdDo6V2ViQ2VydGlmaWNhdGVJbmZvPiBjZXJ0aWZpY2F0ZUluZm8gPSBX
ZWJLaXQ6OldlYkNlcnRpZmljYXRlSW5mbzo6Y3JlYXRlKFdlYkNvcmU6OkNlcnRpZmljYXRlSW5m
byhzZXJ2ZXJUcnVzdCkpOworICAgIHJldHVybiBXZWJLaXQ6OnRvQVBJKGNlcnRpZmljYXRlSW5m
by5sZWFrUmVmKCkpOwogI2Vsc2UKICAgICByZXR1cm4gbnVsbHB0cjsKICNlbmRpZgpAQCAtNDQs
MTkgKzQxLDE5IEBAIFdLQ2VydGlmaWNhdGVJbmZvUmVmIFdLQ2VydGlmaWNhdGVJbmZvQ3JlYXRl
V2l0aFNlcnZlclRydXN0KFNlY1RydXN0UmVmIHNlcnZlclRyCiAKIFdLQ2VydGlmaWNhdGVJbmZv
UmVmIFdLQ2VydGlmaWNhdGVJbmZvQ3JlYXRlV2l0aENlcnRmaWNhdGVDaGFpbihDRkFycmF5UmVm
IGNlcnRpZmljYXRlQ2hhaW4pCiB7Ci0gICAgUmVmUHRyPFdlYkNlcnRpZmljYXRlSW5mbz4gY2Vy
dGlmaWNhdGVJbmZvID0gV2ViQ2VydGlmaWNhdGVJbmZvOjpjcmVhdGUoQ2VydGlmaWNhdGVJbmZv
KGNlcnRpZmljYXRlQ2hhaW4pKTsKLSAgICByZXR1cm4gdG9BUEkoY2VydGlmaWNhdGVJbmZvLmxl
YWtSZWYoKSk7CisgICAgUmVmUHRyPFdlYktpdDo6V2ViQ2VydGlmaWNhdGVJbmZvPiBjZXJ0aWZp
Y2F0ZUluZm8gPSBXZWJLaXQ6OldlYkNlcnRpZmljYXRlSW5mbzo6Y3JlYXRlKFdlYkNvcmU6OkNl
cnRpZmljYXRlSW5mbyhjZXJ0aWZpY2F0ZUNoYWluKSk7CisgICAgcmV0dXJuIFdlYktpdDo6dG9B
UEkoY2VydGlmaWNhdGVJbmZvLmxlYWtSZWYoKSk7CiB9CiAKIENGQXJyYXlSZWYgV0tDZXJ0aWZp
Y2F0ZUluZm9HZXRDZXJ0aWZpY2F0ZUNoYWluKFdLQ2VydGlmaWNhdGVJbmZvUmVmIGNlcnRpZmlj
YXRlSW5mb1JlZikKIHsKLSAgICByZXR1cm4gdG9JbXBsKGNlcnRpZmljYXRlSW5mb1JlZiktPmNl
cnRpZmljYXRlSW5mbygpLmNlcnRpZmljYXRlQ2hhaW4oKTsKKyAgICByZXR1cm4gV2ViS2l0Ojp0
b0ltcGwoY2VydGlmaWNhdGVJbmZvUmVmKS0+Y2VydGlmaWNhdGVJbmZvKCkuY2VydGlmaWNhdGVD
aGFpbigpOwogfQogCiBTZWNUcnVzdFJlZiBXS0NlcnRpZmljYXRlSW5mb0dldFNlcnZlclRydXN0
KFdLQ2VydGlmaWNhdGVJbmZvUmVmIGNlcnRpZmljYXRlSW5mb1JlZikKIHsKICNpZiBIQVZFKFNF
Q19UUlVTVF9TRVJJQUxJWkFUSU9OKQotICAgIHJldHVybiB0b0ltcGwoY2VydGlmaWNhdGVJbmZv
UmVmKS0+Y2VydGlmaWNhdGVJbmZvKCkudHJ1c3QoKTsKKyAgICByZXR1cm4gV2ViS2l0Ojp0b0lt
cGwoY2VydGlmaWNhdGVJbmZvUmVmKS0+Y2VydGlmaWNhdGVJbmZvKCkudHJ1c3QoKTsKICNlbHNl
CiAgICAgcmV0dXJuIG51bGxwdHI7CiAjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQv
U2hhcmVkL0FQSS9jL21hYy9XS09iakNUeXBlV3JhcHBlclJlZi5tbSBiL1NvdXJjZS9XZWJLaXQv
U2hhcmVkL0FQSS9jL21hYy9XS09iakNUeXBlV3JhcHBlclJlZi5tbQppbmRleCBjZmNiOTAyZTE1
NWNkZjcxMWQ0ZWZjYWY0ZGYwODgwODA3NjMwMTUxLi5lM2M0M2FlZjNkYjFiMGExODg2ZWE2NWU2
NmQ0ZjM0OGFiMDAyMzEwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9BUEkvYy9t
YWMvV0tPYmpDVHlwZVdyYXBwZXJSZWYubW0KKysrIGIvU291cmNlL1dlYktpdC9TaGFyZWQvQVBJ
L2MvbWFjL1dLT2JqQ1R5cGVXcmFwcGVyUmVmLm1tCkBAIC0yOSwyMCArMjksMTggQEAKICNpbXBv
cnQgIk9iakNPYmplY3RHcmFwaC5oIgogI2ltcG9ydCAiV0tTaGFyZWRBUElDYXN0LmgiCiAKLXVz
aW5nIG5hbWVzcGFjZSBXZWJLaXQ7Ci0KIFdLVHlwZUlEIFdLT2JqQ1R5cGVXcmFwcGVyR2V0VHlw
ZUlEKCkKIHsKLSAgICByZXR1cm4gdG9BUEkoT2JqQ09iamVjdEdyYXBoOjpBUElUeXBlKTsKKyAg
ICByZXR1cm4gV2ViS2l0Ojp0b0FQSShXZWJLaXQ6Ok9iakNPYmplY3RHcmFwaDo6QVBJVHlwZSk7
CiB9CiAKIFdLT2JqQ1R5cGVXcmFwcGVyUmVmIFdLT2JqQ1R5cGVXcmFwcGVyQ3JlYXRlKGlkIG9i
amVjdCkKIHsKLSAgICBhdXRvIG9iamVjdFdyYXBwZXIgPSBPYmpDT2JqZWN0R3JhcGg6OmNyZWF0
ZShvYmplY3QpOwotICAgIHJldHVybiB0b0FQSSgmb2JqZWN0V3JhcHBlci5sZWFrUmVmKCkpOwor
ICAgIGF1dG8gb2JqZWN0V3JhcHBlciA9IFdlYktpdDo6T2JqQ09iamVjdEdyYXBoOjpjcmVhdGUo
b2JqZWN0KTsKKyAgICByZXR1cm4gV2ViS2l0Ojp0b0FQSSgmb2JqZWN0V3JhcHBlci5sZWFrUmVm
KCkpOwogfQogCiBpZCBXS09iakNUeXBlV3JhcHBlckdldE9iamVjdChXS09iakNUeXBlV3JhcHBl
clJlZiB3cmFwcGVyUmVmKQogewotICAgIHJldHVybiB0b0ltcGwod3JhcHBlclJlZiktPnJvb3RP
YmplY3QoKTsKKyAgICByZXR1cm4gV2ViS2l0Ojp0b0ltcGwod3JhcHBlclJlZiktPnJvb3RPYmpl
Y3QoKTsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL0FQSS9jL21hYy9XS1VS
TFJlcXVlc3ROUy5tbSBiL1NvdXJjZS9XZWJLaXQvU2hhcmVkL0FQSS9jL21hYy9XS1VSTFJlcXVl
c3ROUy5tbQppbmRleCBkYWYyNGNmNTVkMjAyM2IyYzEzOWU0MzM1YzllMDdjZTYzY2I2YmM1Li43
OTZhMmI4MWMwYTE0MTNmNDFkNTNjMGZlMGI3MjgzMTQwMWU4NmFkIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0L1NoYXJlZC9BUEkvYy9tYWMvV0tVUkxSZXF1ZXN0TlMubW0KKysrIGIvU291cmNl
L1dlYktpdC9TaGFyZWQvQVBJL2MvbWFjL1dLVVJMUmVxdWVzdE5TLm1tCkBAIC0yOSwxOCArMjks
MTUgQEAKICNpbXBvcnQgIkFQSVVSTFJlcXVlc3QuaCIKICNpbXBvcnQgIldLQVBJQ2FzdC5oIgog
Ci11c2luZyBuYW1lc3BhY2UgV2ViQ29yZTsKLXVzaW5nIG5hbWVzcGFjZSBXZWJLaXQ7Ci0KLVdL
VVJMUmVxdWVzdFJlZiBXS1VSTFJlcXVlc3RDcmVhdGVXaXRoTlNVUkxSZXF1ZXN0KE5TVVJMUmVx
dWVzdCogdXJsUmVxdWVzdCkKK1dLVVJMUmVxdWVzdFJlZiBXS1VSTFJlcXVlc3RDcmVhdGVXaXRo
TlNVUkxSZXF1ZXN0KE5TVVJMUmVxdWVzdCAqdXJsUmVxdWVzdCkKIHsKICAgICBpZiAoW3VybFJl
cXVlc3QgSFRUUEJvZHlTdHJlYW1dKQogICAgICAgICByZXR1cm4gbnVsbHB0cjsKICAgICBSZXRh
aW5QdHI8TlNVUkxSZXF1ZXN0PiBjb3BpZWRVUkxSZXF1ZXN0ID0gYWRvcHROUyhbdXJsUmVxdWVz
dCBjb3B5XSk7Ci0gICAgcmV0dXJuIHRvQVBJKCZBUEk6OlVSTFJlcXVlc3Q6OmNyZWF0ZShjb3Bp
ZWRVUkxSZXF1ZXN0LmdldCgpKS5sZWFrUmVmKCkpOworICAgIHJldHVybiBXZWJLaXQ6OnRvQVBJ
KCZBUEk6OlVSTFJlcXVlc3Q6OmNyZWF0ZShjb3BpZWRVUkxSZXF1ZXN0LmdldCgpKS5sZWFrUmVm
KCkpOwogfQogCi1OU1VSTFJlcXVlc3QqIFdLVVJMUmVxdWVzdENvcHlOU1VSTFJlcXVlc3QoV0tV
UkxSZXF1ZXN0UmVmIHVybFJlcXVlc3QpCitOU1VSTFJlcXVlc3QgKldLVVJMUmVxdWVzdENvcHlO
U1VSTFJlcXVlc3QoV0tVUkxSZXF1ZXN0UmVmIHVybFJlcXVlc3QpCiB7Ci0gICAgcmV0dXJuIFt0
b0ltcGwodXJsUmVxdWVzdCktPnJlc291cmNlUmVxdWVzdCgpLm5zVVJMUmVxdWVzdChIVFRQQm9k
eVVwZGF0ZVBvbGljeTo6RG9Ob3RVcGRhdGVIVFRQQm9keSkgY29weV07CisgICAgcmV0dXJuIFtX
ZWJLaXQ6OnRvSW1wbCh1cmxSZXF1ZXN0KS0+cmVzb3VyY2VSZXF1ZXN0KCkubnNVUkxSZXF1ZXN0
KFdlYkNvcmU6OkhUVFBCb2R5VXBkYXRlUG9saWN5OjpEb05vdFVwZGF0ZUhUVFBCb2R5KSBjb3B5
XTsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL0FQSS9jL21hYy9XS1VSTFJl
c3BvbnNlTlMubW0gYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9BUEkvYy9tYWMvV0tVUkxSZXNwb25z
ZU5TLm1tCmluZGV4IDg5MjE4NTk0MGY3YWRmMGNiYmNkYzFmOWJlZTlkMGNhZTBhYzQ0YTYuLmU2
ZGM0MGZiZTFkYjc2OGYzNzQxZTQ1ZGY0NmY2NjY2ZDNiYTFjZmEgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQvU2hhcmVkL0FQSS9jL21hYy9XS1VSTFJlc3BvbnNlTlMubW0KKysrIGIvU291cmNl
L1dlYktpdC9TaGFyZWQvQVBJL2MvbWFjL1dLVVJMUmVzcG9uc2VOUy5tbQpAQCAtMjksMTUgKzI5
LDEzIEBACiAjaW1wb3J0ICJBUElVUkxSZXNwb25zZS5oIgogI2ltcG9ydCAiV0tBUElDYXN0Lmgi
CiAKLXVzaW5nIG5hbWVzcGFjZSBXZWJLaXQ7Ci0KLVdLVVJMUmVzcG9uc2VSZWYgV0tVUkxSZXNw
b25zZUNyZWF0ZVdpdGhOU1VSTFJlc3BvbnNlKE5TVVJMUmVzcG9uc2UqIHVybFJlc3BvbnNlKQor
V0tVUkxSZXNwb25zZVJlZiBXS1VSTFJlc3BvbnNlQ3JlYXRlV2l0aE5TVVJMUmVzcG9uc2UoTlNV
UkxSZXNwb25zZSAqdXJsUmVzcG9uc2UpCiB7CiAgICAgUmV0YWluUHRyPE5TVVJMUmVzcG9uc2U+
IGNvcGllZFVSTFJlc3BvbnNlID0gYWRvcHROUyhbdXJsUmVzcG9uc2UgY29weV0pOwotICAgIHJl
dHVybiB0b0FQSSgmQVBJOjpVUkxSZXNwb25zZTo6Y3JlYXRlKGNvcGllZFVSTFJlc3BvbnNlLmdl
dCgpKS5sZWFrUmVmKCkpOworICAgIHJldHVybiBXZWJLaXQ6OnRvQVBJKCZBUEk6OlVSTFJlc3Bv
bnNlOjpjcmVhdGUoY29waWVkVVJMUmVzcG9uc2UuZ2V0KCkpLmxlYWtSZWYoKSk7CiB9CiAKLU5T
VVJMUmVzcG9uc2UqIFdLVVJMUmVzcG9uc2VDb3B5TlNVUkxSZXNwb25zZShXS1VSTFJlc3BvbnNl
UmVmIHVybFJlc3BvbnNlKQorTlNVUkxSZXNwb25zZSAqV0tVUkxSZXNwb25zZUNvcHlOU1VSTFJl
c3BvbnNlKFdLVVJMUmVzcG9uc2VSZWYgdXJsUmVzcG9uc2UpCiB7Ci0gICAgcmV0dXJuIFt0b0lt
cGwodXJsUmVzcG9uc2UpLT5yZXNvdXJjZVJlc3BvbnNlKCkubnNVUkxSZXNwb25zZSgpIGNvcHld
OworICAgIHJldHVybiBbV2ViS2l0Ojp0b0ltcGwodXJsUmVzcG9uc2UpLT5yZXNvdXJjZVJlc3Bv
bnNlKCkubnNVUkxSZXNwb25zZSgpIGNvcHldOwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dC9TaGFyZWQvQXV0aGVudGljYXRpb24vQXV0aGVudGljYXRpb25NYW5hZ2VyLmNwcCBiL1NvdXJj
ZS9XZWJLaXQvU2hhcmVkL0F1dGhlbnRpY2F0aW9uL0F1dGhlbnRpY2F0aW9uTWFuYWdlci5jcHAK
aW5kZXggYjI4ODFiMjllNTJiY2VhY2EyMTA4OTMxM2UwZWE0NGI3ZGU3ODcxZC4uOTcwNzJiMDNj
Y2JlMTY4ZTNmNDgxYzM5ODFlODFkZDEyZDFhY2FlMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dC9TaGFyZWQvQXV0aGVudGljYXRpb24vQXV0aGVudGljYXRpb25NYW5hZ2VyLmNwcAorKysgYi9T
b3VyY2UvV2ViS2l0L1NoYXJlZC9BdXRoZW50aWNhdGlvbi9BdXRoZW50aWNhdGlvbk1hbmFnZXIu
Y3BwCkBAIC0zOCw5ICszOCw4IEBACiAjaW5jbHVkZSAiV2ViUGFnZVByb3h5TWVzc2FnZXMuaCIK
ICNpbmNsdWRlIDxXZWJDb3JlL0F1dGhlbnRpY2F0aW9uQ2hhbGxlbmdlLmg+CiAKLXVzaW5nIG5h
bWVzcGFjZSBXZWJDb3JlOwotCiBuYW1lc3BhY2UgV2ViS2l0IHsKK3VzaW5nIG5hbWVzcGFjZSBX
ZWJDb3JlOwogCiBzdGF0aWMgdWludDY0X3QgZ2VuZXJhdGVBdXRoZW50aWNhdGlvbkNoYWxsZW5n
ZUlEKCkKIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL2NnL1NoYXJlYWJsZUJp
dG1hcENHLmNwcCBiL1NvdXJjZS9XZWJLaXQvU2hhcmVkL2NnL1NoYXJlYWJsZUJpdG1hcENHLmNw
cAppbmRleCA0MWIyZmVhMzJiMTUzZjNiZjRmZWY2NTkyZTI5ZTIzNTQyZTY1NDVmLi44NjI2MTU3
ZjQwNzU5ODc1NTZhZDUyNzk0NzNmNmNhZTBhMWU2ZTlhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0L1NoYXJlZC9jZy9TaGFyZWFibGVCaXRtYXBDRy5jcHAKKysrIGIvU291cmNlL1dlYktpdC9T
aGFyZWQvY2cvU2hhcmVhYmxlQml0bWFwQ0cuY3BwCkBAIC0zNCw5ICszNCw4IEBACiAjaW5jbHVk
ZSA8d3RmL1JldGFpblB0ci5oPgogI2luY2x1ZGUgIkNHVXRpbGl0aWVzLmgiCiAKLXVzaW5nIG5h
bWVzcGFjZSBXZWJDb3JlOwotCiBuYW1lc3BhY2UgV2ViS2l0IHsKK3VzaW5nIG5hbWVzcGFjZSBX
ZWJDb3JlOwogICAgIAogc3RhdGljIENHQ29sb3JTcGFjZVJlZiBjb2xvclNwYWNlKGNvbnN0IFNo
YXJlYWJsZUJpdG1hcDo6Q29uZmlndXJhdGlvbiYgY29uZmlndXJhdGlvbikKIHsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQvU291cmNlc0NvY29hLnR4dCBiL1NvdXJjZS9XZWJLaXQvU291cmNl
c0NvY29hLnR4dAppbmRleCA1OGI0Y2ExZmVkOWQ4MmU5MzMzNmMyN2JjMzNhODVhOTNmNGYxNWI4
Li4wMjZkYTUyZTllZDgzYzRhOGRiZDRhOGNlMjE3ZjM4OGQzMTI5OThiIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0L1NvdXJjZXNDb2NvYS50eHQKKysrIGIvU291cmNlL1dlYktpdC9Tb3VyY2Vz
Q29jb2EudHh0CkBAIC05NiwxNyArOTYsMTcgQEAgU2hhcmVkL0FQSS9jL21hYy9XS1VSTFJlc3Bv
bnNlTlMubW0KIFNoYXJlZC9BUEkvYy9tYWMvV0tXZWJBcmNoaXZlLmNwcAogU2hhcmVkL0FQSS9j
L21hYy9XS1dlYkFyY2hpdmVSZXNvdXJjZS5jcHAKIAotU2hhcmVkL0FQSS9Db2NvYS9fV0tGcmFt
ZUhhbmRsZS5tbSBAbm8tdW5pZnkKLVNoYXJlZC9BUEkvQ29jb2EvX1dLSGl0VGVzdFJlc3VsdC5t
bSBAbm8tdW5pZnkKLVNoYXJlZC9BUEkvQ29jb2EvX1dLTlNGaWxlTWFuYWdlckV4dHJhcy5tbSBA
bm8tdW5pZnkKLVNoYXJlZC9BUEkvQ29jb2EvX1dLTlNXaW5kb3dFeHRyYXMubW0gQG5vLXVuaWZ5
Ci1TaGFyZWQvQVBJL0NvY29hL19XS1JlbW90ZU9iamVjdEludGVyZmFjZS5tbSBAbm8tdW5pZnkK
LVNoYXJlZC9BUEkvQ29jb2EvX1dLUmVtb3RlT2JqZWN0UmVnaXN0cnkubW0gQG5vLXVuaWZ5Ci1T
aGFyZWQvQVBJL0NvY29hL1JlbW90ZU9iamVjdEludm9jYXRpb24ubW0gQG5vLXVuaWZ5Ci1TaGFy
ZWQvQVBJL0NvY29hL1JlbW90ZU9iamVjdFJlZ2lzdHJ5Lm1tIEBuby11bmlmeQotU2hhcmVkL0FQ
SS9Db2NvYS9XS0Jyb3dzaW5nQ29udGV4dEhhbmRsZS5tbSBAbm8tdW5pZnkKLVNoYXJlZC9BUEkv
Q29jb2EvV0tSZW1vdGVPYmplY3QubW0gQG5vLXVuaWZ5Ci1TaGFyZWQvQVBJL0NvY29hL1dLUmVt
b3RlT2JqZWN0Q29kZXIubW0gQG5vLXVuaWZ5CitTaGFyZWQvQVBJL0NvY29hL19XS0ZyYW1lSGFu
ZGxlLm1tCitTaGFyZWQvQVBJL0NvY29hL19XS0hpdFRlc3RSZXN1bHQubW0KK1NoYXJlZC9BUEkv
Q29jb2EvX1dLTlNGaWxlTWFuYWdlckV4dHJhcy5tbQorU2hhcmVkL0FQSS9Db2NvYS9fV0tOU1dp
bmRvd0V4dHJhcy5tbQorU2hhcmVkL0FQSS9Db2NvYS9fV0tSZW1vdGVPYmplY3RJbnRlcmZhY2Uu
bW0KK1NoYXJlZC9BUEkvQ29jb2EvX1dLUmVtb3RlT2JqZWN0UmVnaXN0cnkubW0KK1NoYXJlZC9B
UEkvQ29jb2EvUmVtb3RlT2JqZWN0SW52b2NhdGlvbi5tbQorU2hhcmVkL0FQSS9Db2NvYS9SZW1v
dGVPYmplY3RSZWdpc3RyeS5tbQorU2hhcmVkL0FQSS9Db2NvYS9XS0Jyb3dzaW5nQ29udGV4dEhh
bmRsZS5tbQorU2hhcmVkL0FQSS9Db2NvYS9XS1JlbW90ZU9iamVjdC5tbQorU2hhcmVkL0FQSS9D
b2NvYS9XS1JlbW90ZU9iamVjdENvZGVyLm1tCiAKIFNoYXJlZC9BUElXZWJBcmNoaXZlLm1tCiBT
aGFyZWQvQVBJV2ViQXJjaGl2ZVJlc291cmNlLm1tCkBAIC0yMjgsNzMgKzIyOCw3NSBAQCBVSVBy
b2Nlc3MvQVBJL0MvbWFjL1dLQ29udGV4dFByaXZhdGVNYWMubW0KIFVJUHJvY2Vzcy9BUEkvQy9t
YWMvV0tQYWdlUHJpdmF0ZU1hYy5tbQogVUlQcm9jZXNzL0FQSS9DL21hYy9XS1Byb3RlY3Rpb25T
cGFjZU5TLm1tCiAKLVVJUHJvY2Vzcy9BUEkvQ29jb2EvX1dLQWN0aXZhdGVkRWxlbWVudEluZm8u
bW0gQG5vLXVuaWZ5Ci1VSVByb2Nlc3MvQVBJL0NvY29hL19XS0FwcGxpY2F0aW9uTWFuaWZlc3Qu
bW0gQG5vLXVuaWZ5Ci1VSVByb2Nlc3MvQVBJL0NvY29hL19XS0F0dGFjaG1lbnQubW0gQG5vLXVu
aWZ5Ci1VSVByb2Nlc3MvQVBJL0NvY29hL19XS0F1dG9tYXRpb25TZXNzaW9uLm1tIEBuby11bmlm
eQotVUlQcm9jZXNzL0FQSS9Db2NvYS9fV0tBdXRvbWF0aW9uU2Vzc2lvbkNvbmZpZ3VyYXRpb24u
bW0gQG5vLXVuaWZ5Ci1VSVByb2Nlc3MvQVBJL0NvY29hL19XS0NvbnRleHRNZW51RWxlbWVudElu
Zm8ubW0gQG5vLXVuaWZ5Ci1VSVByb2Nlc3MvQVBJL0NvY29hL19XS0Rvd25sb2FkLm1tIEBuby11
bmlmeQotVUlQcm9jZXNzL0FQSS9Db2NvYS9fV0tFbGVtZW50QWN0aW9uLm1tIEBuby11bmlmeQot
VUlQcm9jZXNzL0FQSS9Db2NvYS9fV0tFcnJvclJlY292ZXJ5QXR0ZW1wdGluZy5tbSBAbm8tdW5p
ZnkKLVVJUHJvY2Vzcy9BUEkvQ29jb2EvX1dLRXhwZXJpbWVudGFsRmVhdHVyZS5tbSBAbm8tdW5p
ZnkKLVVJUHJvY2Vzcy9BUEkvQ29jb2EvX1dLR2VvbG9jYXRpb25Qb3NpdGlvbi5tbSBAbm8tdW5p
ZnkKLVVJUHJvY2Vzcy9BUEkvQ29jb2EvX1dLTGlua0ljb25QYXJhbWV0ZXJzLm1tIEBuby11bmlm
eQotVUlQcm9jZXNzL0FQSS9Db2NvYS9fV0tQcm9jZXNzUG9vbENvbmZpZ3VyYXRpb24ubW0gQG5v
LXVuaWZ5Ci1VSVByb2Nlc3MvQVBJL0NvY29hL19XS1JlbW90ZVdlYkluc3BlY3RvclZpZXdDb250
cm9sbGVyLm1tIEBuby11bmlmeQotVUlQcm9jZXNzL0FQSS9Db2NvYS9fV0tTZXNzaW9uU3RhdGUu
bW0gQG5vLXVuaWZ5Ci1VSVByb2Nlc3MvQVBJL0NvY29hL19XS1RodW1ibmFpbFZpZXcubW0gQG5v
LXVuaWZ5Ci1VSVByb2Nlc3MvQVBJL0NvY29hL19XS1VzZXJDb250ZW50RXh0ZW5zaW9uU3RvcmUu
bW0gQG5vLXVuaWZ5Ci1VSVByb2Nlc3MvQVBJL0NvY29hL19XS1VzZXJDb250ZW50RmlsdGVyLm1t
IEBuby11bmlmeQotVUlQcm9jZXNzL0FQSS9Db2NvYS9fV0tVc2VyQ29udGVudFdvcmxkLm1tIEBu
by11bmlmeQotVUlQcm9jZXNzL0FQSS9Db2NvYS9fV0tVc2VySW5pdGlhdGVkQWN0aW9uLm1tIEBu
by11bmlmeQotVUlQcm9jZXNzL0FQSS9Db2NvYS9fV0tVc2VyU3R5bGVTaGVldC5tbSBAbm8tdW5p
ZnkKLVVJUHJvY2Vzcy9BUEkvQ29jb2EvX1dLVmlzaXRlZExpbmtTdG9yZS5tbSBAbm8tdW5pZnkK
LVVJUHJvY2Vzcy9BUEkvQ29jb2EvX1dLV2Vic2l0ZURhdGFTaXplLm1tIEBuby11bmlmeQotVUlQ
cm9jZXNzL0FQSS9Db2NvYS9fV0tXZWJzaXRlRGF0YVN0b3JlLm1tIEBuby11bmlmeQotVUlQcm9j
ZXNzL0FQSS9Db2NvYS9fV0tXZWJzaXRlRGF0YVN0b3JlQ29uZmlndXJhdGlvbi5tbSBAbm8tdW5p
ZnkKLVVJUHJvY2Vzcy9BUEkvQ29jb2EvX1dLV2Vic2l0ZVBvbGljaWVzLm1tIEBuby11bmlmeQot
VUlQcm9jZXNzL0FQSS9Db2NvYS9BUElDb250ZW50UnVsZUxpc3RTdG9yZUNvY29hLm1tIEBuby11
bmlmeQotVUlQcm9jZXNzL0FQSS9Db2NvYS9BUElTZXJpYWxpemVkU2NyaXB0VmFsdWVDb2NvYS5t
bSBAbm8tdW5pZnkKLVVJUHJvY2Vzcy9BUEkvQ29jb2EvQVBJV2Vic2l0ZURhdGFTdG9yZUNvY29h
Lm1tIEBuby11bmlmeQotVUlQcm9jZXNzL0FQSS9Db2NvYS9MZWdhY3lCdW5kbGVGb3JDbGFzcy5t
bSBAbm8tdW5pZnkKLVVJUHJvY2Vzcy9BUEkvQ29jb2EvV0tCYWNrRm9yd2FyZExpc3QubW0gQG5v
LXVuaWZ5Ci1VSVByb2Nlc3MvQVBJL0NvY29hL1dLQmFja0ZvcndhcmRMaXN0SXRlbS5tbSBAbm8t
dW5pZnkKLVVJUHJvY2Vzcy9BUEkvQ29jb2EvV0tCcm93c2luZ0NvbnRleHRDb250cm9sbGVyLm1t
IEBuby11bmlmeQotVUlQcm9jZXNzL0FQSS9Db2NvYS9XS0Jyb3dzaW5nQ29udGV4dEdyb3VwLm1t
IEBuby11bmlmeQotVUlQcm9jZXNzL0FQSS9Db2NvYS9XS0Nvbm5lY3Rpb24ubW0gQG5vLXVuaWZ5
Ci1VSVByb2Nlc3MvQVBJL0NvY29hL1dLQ29udGVudFJ1bGVMaXN0Lm1tIEBuby11bmlmeQotVUlQ
cm9jZXNzL0FQSS9Db2NvYS9XS0NvbnRlbnRSdWxlTGlzdFN0b3JlLm1tIEBuby11bmlmeQotVUlQ
cm9jZXNzL0FQSS9Db2NvYS9XS0Vycm9yLm1tIEBuby11bmlmeQotVUlQcm9jZXNzL0FQSS9Db2Nv
YS9XS0ZyYW1lSW5mby5tbSBAbm8tdW5pZnkKLVVJUHJvY2Vzcy9BUEkvQ29jb2EvV0tIVFRQQ29v
a2llU3RvcmUubW0gQG5vLXVuaWZ5Ci1VSVByb2Nlc3MvQVBJL0NvY29hL1dLTWVudUl0ZW1JZGVu
dGlmaWVycy5tbSBAbm8tdW5pZnkKLVVJUHJvY2Vzcy9BUEkvQ29jb2EvV0tOYXZpZ2F0aW9uLm1t
IEBuby11bmlmeQotVUlQcm9jZXNzL0FQSS9Db2NvYS9XS05hdmlnYXRpb25BY3Rpb24ubW0gQG5v
LXVuaWZ5Ci1VSVByb2Nlc3MvQVBJL0NvY29hL1dLTmF2aWdhdGlvbkRhdGEubW0gQG5vLXVuaWZ5
Ci1VSVByb2Nlc3MvQVBJL0NvY29hL1dLTmF2aWdhdGlvblJlc3BvbnNlLm1tIEBuby11bmlmeQot
VUlQcm9jZXNzL0FQSS9Db2NvYS9XS05TVVJMQXV0aGVudGljYXRpb25DaGFsbGVuZ2UubW0gQG5v
LXVuaWZ5Ci1VSVByb2Nlc3MvQVBJL0NvY29hL1dLT3BlblBhbmVsUGFyYW1ldGVycy5tbSBAbm8t
dW5pZnkKLVVJUHJvY2Vzcy9BUEkvQ29jb2EvV0tQcmVmZXJlbmNlcy5tbSBAbm8tdW5pZnkKLVVJ
UHJvY2Vzcy9BUEkvQ29jb2EvV0tQcmV2aWV3QWN0aW9uSXRlbS5tbSBAbm8tdW5pZnkKLVVJUHJv
Y2Vzcy9BUEkvQ29jb2EvV0tQcmV2aWV3QWN0aW9uSXRlbUlkZW50aWZpZXJzLm1tIEBuby11bmlm
eQotVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1ByZXZpZXdFbGVtZW50SW5mby5tbSBAbm8tdW5pZnkK
LVVJUHJvY2Vzcy9BUEkvQ29jb2EvV0tQcm9jZXNzR3JvdXAubW0gQG5vLXVuaWZ5Ci1VSVByb2Nl
c3MvQVBJL0NvY29hL1dLUHJvY2Vzc1Bvb2wubW0gQG5vLXVuaWZ5Ci1VSVByb2Nlc3MvQVBJL0Nv
Y29hL1dLU2NyaXB0TWVzc2FnZS5tbSBAbm8tdW5pZnkKLVVJUHJvY2Vzcy9BUEkvQ29jb2EvV0tT
ZWN1cml0eU9yaWdpbi5tbSBAbm8tdW5pZnkKLVVJUHJvY2Vzcy9BUEkvQ29jb2EvV0tTbmFwc2hv
dENvbmZpZ3VyYXRpb24ubW0gQG5vLXVuaWZ5Ci1VSVByb2Nlc3MvQVBJL0NvY29hL1dLVHlwZVJl
ZldyYXBwZXIubW0gQG5vLXVuaWZ5Ci1VSVByb2Nlc3MvQVBJL0NvY29hL1dLVVJMU2NoZW1lVGFz
ay5tbSBAbm8tdW5pZnkKLVVJUHJvY2Vzcy9BUEkvQ29jb2EvV0tVc2VyQ29udGVudENvbnRyb2xs
ZXIubW0gQG5vLXVuaWZ5Ci1VSVByb2Nlc3MvQVBJL0NvY29hL1dLVXNlclNjcmlwdC5tbSBAbm8t
dW5pZnkKLVVJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJzaXRlRGF0YVJlY29yZC5tbSBAbm8tdW5p
ZnkKLVVJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJzaXRlRGF0YVN0b3JlLm1tIEBuby11bmlmeQot
VUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXcubW0gQG5vLXVuaWZ5Ci1VSVByb2Nlc3MvQVBJ
L0NvY29hL1dLV2ViVmlld0NvbmZpZ3VyYXRpb24ubW0gQG5vLXVuaWZ5Ci1VSVByb2Nlc3MvQVBJ
L0NvY29hL1dLV2luZG93RmVhdHVyZXMubW0gQG5vLXVuaWZ5Ci0KLVVJUHJvY2Vzcy9BUEkvbWFj
L1dLVmlldy5tbSBAbm8tdW5pZnkKK1VJUHJvY2Vzcy9BUEkvQ29jb2EvX1dLQWN0aXZhdGVkRWxl
bWVudEluZm8ubW0KK1VJUHJvY2Vzcy9BUEkvQ29jb2EvX1dLQXBwbGljYXRpb25NYW5pZmVzdC5t
bQorVUlQcm9jZXNzL0FQSS9Db2NvYS9fV0tBdHRhY2htZW50Lm1tCitVSVByb2Nlc3MvQVBJL0Nv
Y29hL19XS0F1dG9tYXRpb25TZXNzaW9uLm1tCitVSVByb2Nlc3MvQVBJL0NvY29hL19XS0F1dG9t
YXRpb25TZXNzaW9uQ29uZmlndXJhdGlvbi5tbQorVUlQcm9jZXNzL0FQSS9Db2NvYS9fV0tDb250
ZXh0TWVudUVsZW1lbnRJbmZvLm1tCitVSVByb2Nlc3MvQVBJL0NvY29hL19XS0Rvd25sb2FkLm1t
CitVSVByb2Nlc3MvQVBJL0NvY29hL19XS0VsZW1lbnRBY3Rpb24ubW0KK1VJUHJvY2Vzcy9BUEkv
Q29jb2EvX1dLRXJyb3JSZWNvdmVyeUF0dGVtcHRpbmcubW0KK1VJUHJvY2Vzcy9BUEkvQ29jb2Ev
X1dLRXhwZXJpbWVudGFsRmVhdHVyZS5tbQorVUlQcm9jZXNzL0FQSS9Db2NvYS9fV0tHZW9sb2Nh
dGlvblBvc2l0aW9uLm1tCitVSVByb2Nlc3MvQVBJL0NvY29hL19XS0luc3BlY3Rvci5tbQorVUlQ
cm9jZXNzL0FQSS9Db2NvYS9fV0tMaW5rSWNvblBhcmFtZXRlcnMubW0KK1VJUHJvY2Vzcy9BUEkv
Q29jb2EvX1dLUHJvY2Vzc1Bvb2xDb25maWd1cmF0aW9uLm1tCitVSVByb2Nlc3MvQVBJL0NvY29h
L19XS1JlbW90ZVdlYkluc3BlY3RvclZpZXdDb250cm9sbGVyLm1tCitVSVByb2Nlc3MvQVBJL0Nv
Y29hL19XS1Nlc3Npb25TdGF0ZS5tbQorVUlQcm9jZXNzL0FQSS9Db2NvYS9fV0tUaHVtYm5haWxW
aWV3Lm1tCitVSVByb2Nlc3MvQVBJL0NvY29hL19XS1VzZXJDb250ZW50RXh0ZW5zaW9uU3RvcmUu
bW0KK1VJUHJvY2Vzcy9BUEkvQ29jb2EvX1dLVXNlckNvbnRlbnRGaWx0ZXIubW0KK1VJUHJvY2Vz
cy9BUEkvQ29jb2EvX1dLVXNlckNvbnRlbnRXb3JsZC5tbQorVUlQcm9jZXNzL0FQSS9Db2NvYS9f
V0tVc2VySW5pdGlhdGVkQWN0aW9uLm1tCitVSVByb2Nlc3MvQVBJL0NvY29hL19XS1VzZXJTdHls
ZVNoZWV0Lm1tCitVSVByb2Nlc3MvQVBJL0NvY29hL19XS1Zpc2l0ZWRMaW5rU3RvcmUubW0KK1VJ
UHJvY2Vzcy9BUEkvQ29jb2EvX1dLV2Vic2l0ZURhdGFTaXplLm1tCitVSVByb2Nlc3MvQVBJL0Nv
Y29hL19XS1dlYnNpdGVEYXRhU3RvcmUubW0KK1VJUHJvY2Vzcy9BUEkvQ29jb2EvX1dLV2Vic2l0
ZURhdGFTdG9yZUNvbmZpZ3VyYXRpb24ubW0KK1VJUHJvY2Vzcy9BUEkvQ29jb2EvX1dLV2Vic2l0
ZVBvbGljaWVzLm1tCitVSVByb2Nlc3MvQVBJL0NvY29hL0FQSUF0dGFjaG1lbnRDb2NvYS5tbQor
VUlQcm9jZXNzL0FQSS9Db2NvYS9BUElDb250ZW50UnVsZUxpc3RTdG9yZUNvY29hLm1tCitVSVBy
b2Nlc3MvQVBJL0NvY29hL0FQSVNlcmlhbGl6ZWRTY3JpcHRWYWx1ZUNvY29hLm1tCitVSVByb2Nl
c3MvQVBJL0NvY29hL0FQSVdlYnNpdGVEYXRhU3RvcmVDb2NvYS5tbQorVUlQcm9jZXNzL0FQSS9D
b2NvYS9MZWdhY3lCdW5kbGVGb3JDbGFzcy5tbQorVUlQcm9jZXNzL0FQSS9Db2NvYS9XS0JhY2tG
b3J3YXJkTGlzdC5tbQorVUlQcm9jZXNzL0FQSS9Db2NvYS9XS0JhY2tGb3J3YXJkTGlzdEl0ZW0u
bW0KK1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tCcm93c2luZ0NvbnRleHRDb250cm9sbGVyLm1tCitV
SVByb2Nlc3MvQVBJL0NvY29hL1dLQnJvd3NpbmdDb250ZXh0R3JvdXAubW0KK1VJUHJvY2Vzcy9B
UEkvQ29jb2EvV0tDb25uZWN0aW9uLm1tCitVSVByb2Nlc3MvQVBJL0NvY29hL1dLQ29udGVudFJ1
bGVMaXN0Lm1tCitVSVByb2Nlc3MvQVBJL0NvY29hL1dLQ29udGVudFJ1bGVMaXN0U3RvcmUubW0K
K1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tFcnJvci5tbQorVUlQcm9jZXNzL0FQSS9Db2NvYS9XS0Zy
YW1lSW5mby5tbQorVUlQcm9jZXNzL0FQSS9Db2NvYS9XS0hUVFBDb29raWVTdG9yZS5tbQorVUlQ
cm9jZXNzL0FQSS9Db2NvYS9XS01lbnVJdGVtSWRlbnRpZmllcnMubW0KK1VJUHJvY2Vzcy9BUEkv
Q29jb2EvV0tOYXZpZ2F0aW9uLm1tCitVSVByb2Nlc3MvQVBJL0NvY29hL1dLTmF2aWdhdGlvbkFj
dGlvbi5tbQorVUlQcm9jZXNzL0FQSS9Db2NvYS9XS05hdmlnYXRpb25EYXRhLm1tCitVSVByb2Nl
c3MvQVBJL0NvY29hL1dLTmF2aWdhdGlvblJlc3BvbnNlLm1tCitVSVByb2Nlc3MvQVBJL0NvY29h
L1dLTlNVUkxBdXRoZW50aWNhdGlvbkNoYWxsZW5nZS5tbQorVUlQcm9jZXNzL0FQSS9Db2NvYS9X
S09wZW5QYW5lbFBhcmFtZXRlcnMubW0KK1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tQcmVmZXJlbmNl
cy5tbQorVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1ByZXZpZXdBY3Rpb25JdGVtLm1tCitVSVByb2Nl
c3MvQVBJL0NvY29hL1dLUHJldmlld0FjdGlvbkl0ZW1JZGVudGlmaWVycy5tbQorVUlQcm9jZXNz
L0FQSS9Db2NvYS9XS1ByZXZpZXdFbGVtZW50SW5mby5tbQorVUlQcm9jZXNzL0FQSS9Db2NvYS9X
S1Byb2Nlc3NHcm91cC5tbQorVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1Byb2Nlc3NQb29sLm1tCitV
SVByb2Nlc3MvQVBJL0NvY29hL1dLU2NyaXB0TWVzc2FnZS5tbQorVUlQcm9jZXNzL0FQSS9Db2Nv
YS9XS1NlY3VyaXR5T3JpZ2luLm1tCitVSVByb2Nlc3MvQVBJL0NvY29hL1dLU25hcHNob3RDb25m
aWd1cmF0aW9uLm1tCitVSVByb2Nlc3MvQVBJL0NvY29hL1dLVHlwZVJlZldyYXBwZXIubW0KK1VJ
UHJvY2Vzcy9BUEkvQ29jb2EvV0tVUkxTY2hlbWVUYXNrLm1tCitVSVByb2Nlc3MvQVBJL0NvY29h
L1dLVXNlckNvbnRlbnRDb250cm9sbGVyLm1tCitVSVByb2Nlc3MvQVBJL0NvY29hL1dLVXNlclNj
cmlwdC5tbQorVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYnNpdGVEYXRhUmVjb3JkLm1tCitVSVBy
b2Nlc3MvQVBJL0NvY29hL1dLV2Vic2l0ZURhdGFTdG9yZS5tbQorVUlQcm9jZXNzL0FQSS9Db2Nv
YS9XS1dlYlZpZXcubW0KK1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJWaWV3Q29uZmlndXJhdGlv
bi5tbQorVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dpbmRvd0ZlYXR1cmVzLm1tCisKK1VJUHJvY2Vz
cy9BUEkvbWFjL1dLVmlldy5tbQogCiBVSVByb2Nlc3MvQXBwbGVQYXkvY29jb2EvV2ViUGF5bWVu
dENvb3JkaW5hdG9yUHJveHlDb2NvYS5tbQogCkBAIC00NzcsMjMgKzQ3OSwyMyBAQCBXZWJQcm9j
ZXNzL0luamVjdGVkQnVuZGxlL0FQSS9jL1dLQnVuZGxlUGFnZUJhbm5lci5jcHAKIFdlYlByb2Nl
c3MvSW5qZWN0ZWRCdW5kbGUvQVBJL2MvbWFjL1dLQnVuZGxlTWFjLm1tCiBXZWJQcm9jZXNzL0lu
amVjdGVkQnVuZGxlL0FQSS9jL21hYy9XS0J1bmRsZVBhZ2VCYW5uZXJNYWMubW0KIAotV2ViUHJv
Y2Vzcy9JbmplY3RlZEJ1bmRsZS9BUEkvQ29jb2EvV0tXZWJQcm9jZXNzQnVuZGxlUGFyYW1ldGVy
cy5tbSBAbm8tdW5pZnkKLVdlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvQVBJL0NvY29hL1dLV2Vi
UHJvY2Vzc1BsdWdJbkZyYW1lLm1tIEBuby11bmlmeQotV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRs
ZS9BUEkvQ29jb2EvV0tXZWJQcm9jZXNzUGx1Z0luSGl0VGVzdFJlc3VsdC5tbSBAbm8tdW5pZnkK
LVdlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvQVBJL0NvY29hL1dLV2ViUHJvY2Vzc1BsdWdJbk5v
ZGVIYW5kbGUubW0gQG5vLXVuaWZ5Ci1XZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0FQSS9Db2Nv
YS9XS1dlYlByb2Nlc3NQbHVnSW5QYWdlR3JvdXAubW0gQG5vLXVuaWZ5Ci1XZWJQcm9jZXNzL0lu
amVjdGVkQnVuZGxlL0FQSS9Db2NvYS9XS1dlYlByb2Nlc3NQbHVnSW5SYW5nZUhhbmRsZS5tbSBA
bm8tdW5pZnkKLVdlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvQVBJL0NvY29hL1dLV2ViUHJvY2Vz
c1BsdWdJblNjcmlwdFdvcmxkLm1tIEBuby11bmlmeQotCi1XZWJQcm9jZXNzL0luamVjdGVkQnVu
ZGxlL0FQSS9tYWMvV0tET01Eb2N1bWVudC5tbSBAbm8tdW5pZnkKLVdlYlByb2Nlc3MvSW5qZWN0
ZWRCdW5kbGUvQVBJL21hYy9XS0RPTUVsZW1lbnQubW0gQG5vLXVuaWZ5Ci1XZWJQcm9jZXNzL0lu
amVjdGVkQnVuZGxlL0FQSS9tYWMvV0tET01JbnRlcm5hbHMubW0gQG5vLXVuaWZ5Ci1XZWJQcm9j
ZXNzL0luamVjdGVkQnVuZGxlL0FQSS9tYWMvV0tET01Ob2RlLm1tIEBuby11bmlmeQotV2ViUHJv
Y2Vzcy9JbmplY3RlZEJ1bmRsZS9BUEkvbWFjL1dLRE9NUmFuZ2UubW0gQG5vLXVuaWZ5Ci1XZWJQ
cm9jZXNzL0luamVjdGVkQnVuZGxlL0FQSS9tYWMvV0tET01UZXh0Lm1tIEBuby11bmlmeQotV2Vi
UHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9BUEkvbWFjL1dLRE9NVGV4dEl0ZXJhdG9yLm1tIEBuby11
bmlmeQotV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9BUEkvbWFjL1dLV2ViUHJvY2Vzc1BsdWdJ
bi5tbSBAbm8tdW5pZnkKLVdlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvQVBJL21hYy9XS1dlYlBy
b2Nlc3NQbHVnSW5Ccm93c2VyQ29udGV4dENvbnRyb2xsZXIubW0gQG5vLXVuaWZ5CitXZWJQcm9j
ZXNzL0luamVjdGVkQnVuZGxlL0FQSS9Db2NvYS9XS1dlYlByb2Nlc3NCdW5kbGVQYXJhbWV0ZXJz
Lm1tCitXZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0FQSS9Db2NvYS9XS1dlYlByb2Nlc3NQbHVn
SW5GcmFtZS5tbQorV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9BUEkvQ29jb2EvV0tXZWJQcm9j
ZXNzUGx1Z0luSGl0VGVzdFJlc3VsdC5tbQorV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9BUEkv
Q29jb2EvV0tXZWJQcm9jZXNzUGx1Z0luTm9kZUhhbmRsZS5tbQorV2ViUHJvY2Vzcy9JbmplY3Rl
ZEJ1bmRsZS9BUEkvQ29jb2EvV0tXZWJQcm9jZXNzUGx1Z0luUGFnZUdyb3VwLm1tCitXZWJQcm9j
ZXNzL0luamVjdGVkQnVuZGxlL0FQSS9Db2NvYS9XS1dlYlByb2Nlc3NQbHVnSW5SYW5nZUhhbmRs
ZS5tbQorV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9BUEkvQ29jb2EvV0tXZWJQcm9jZXNzUGx1
Z0luU2NyaXB0V29ybGQubW0KKworV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9BUEkvbWFjL1dL
RE9NRG9jdW1lbnQubW0KK1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvQVBJL21hYy9XS0RPTUVs
ZW1lbnQubW0KK1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvQVBJL21hYy9XS0RPTUludGVybmFs
cy5tbQorV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9BUEkvbWFjL1dLRE9NTm9kZS5tbQorV2Vi
UHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9BUEkvbWFjL1dLRE9NUmFuZ2UubW0KK1dlYlByb2Nlc3Mv
SW5qZWN0ZWRCdW5kbGUvQVBJL21hYy9XS0RPTVRleHQubW0KK1dlYlByb2Nlc3MvSW5qZWN0ZWRC
dW5kbGUvQVBJL21hYy9XS0RPTVRleHRJdGVyYXRvci5tbQorV2ViUHJvY2Vzcy9JbmplY3RlZEJ1
bmRsZS9BUEkvbWFjL1dLV2ViUHJvY2Vzc1BsdWdJbi5tbQorV2ViUHJvY2Vzcy9JbmplY3RlZEJ1
bmRsZS9BUEkvbWFjL1dLV2ViUHJvY2Vzc1BsdWdJbkJyb3dzZXJDb250ZXh0Q29udHJvbGxlci5t
bQogCiBXZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL21hYy9JbmplY3RlZEJ1bmRsZU1hYy5tbQog
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvQVBJQ29udGVu
dFJ1bGVMaXN0U3RvcmVDb2NvYS5tbSBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2Nv
YS9BUElDb250ZW50UnVsZUxpc3RTdG9yZUNvY29hLm1tCmluZGV4IGQ1MThmMDUzM2QyZTQwNjgx
ODZlMmQ5OWU4YmYxNWU2NjBmM2VmZWEuLjA2MjVmMjMyZDNkMDBhNTE1OTNmYzE1ODRmZDVlMGVk
ZWRmOTlkYzIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9B
UElDb250ZW50UnVsZUxpc3RTdG9yZUNvY29hLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9j
ZXNzL0FQSS9Db2NvYS9BUElDb250ZW50UnVsZUxpc3RTdG9yZUNvY29hLm1tCkBAIC0zMiw3ICsz
Miw3IEBACiAKIG5hbWVzcGFjZSBBUEkgewogCi1TdHJpbmcgQ29udGVudFJ1bGVMaXN0U3RvcmU6
OmRlZmF1bHRTdG9yZVBhdGgoYm9vbCBsZWdhY3lGaWxlbmFtZSkKK1dURjo6U3RyaW5nIENvbnRl
bnRSdWxlTGlzdFN0b3JlOjpkZWZhdWx0U3RvcmVQYXRoKGJvb2wgbGVnYWN5RmlsZW5hbWUpCiB7
CiAgICAgc3RhdGljIGRpc3BhdGNoX29uY2VfdCBvbmNlVG9rZW47CiAgICAgc3RhdGljIE5TVVJM
ICpjb250ZW50UnVsZUxpc3RTdG9yZVVSTDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQ
cm9jZXNzL0FQSS9Db2NvYS9XS0JhY2tGb3J3YXJkTGlzdC5tbSBiL1NvdXJjZS9XZWJLaXQvVUlQ
cm9jZXNzL0FQSS9Db2NvYS9XS0JhY2tGb3J3YXJkTGlzdC5tbQppbmRleCA3OWU1ZDIzOWI5Yjgw
Y2Y2NzQxN2U5M2Y4ODhjOTk5NjIwMDRkN2Y5Li5lNmNmNzBkYTNkMjY1YTllZWRjNDE5ODQzZGU3
MWI0YTJjZWU3NDA2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29j
b2EvV0tCYWNrRm9yd2FyZExpc3QubW0KKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJ
L0NvY29hL1dLQmFja0ZvcndhcmRMaXN0Lm1tCkBAIC0zMSwxMCArMzEsOCBAQAogI2ltcG9ydCAi
V0tCYWNrRm9yd2FyZExpc3RJdGVtSW50ZXJuYWwuaCIKICNpbXBvcnQgIldLTlNBcnJheS5oIgog
Ci11c2luZyBuYW1lc3BhY2UgV2ViS2l0OwotCiBAaW1wbGVtZW50YXRpb24gV0tCYWNrRm9yd2Fy
ZExpc3QgewotICAgIEFQSTo6T2JqZWN0U3RvcmFnZTxXZWJCYWNrRm9yd2FyZExpc3Q+IF9saXN0
OworICAgIEFQSTo6T2JqZWN0U3RvcmFnZTxXZWJLaXQ6OldlYkJhY2tGb3J3YXJkTGlzdD4gX2xp
c3Q7CiB9CiAKIC0gKHZvaWQpZGVhbGxvYwpAQCAtNDYsMzIgKzQ0LDMyIEBAIC0gKHZvaWQpZGVh
bGxvYwogCiAtIChXS0JhY2tGb3J3YXJkTGlzdEl0ZW0gKiljdXJyZW50SXRlbQogewotICAgIHJl
dHVybiB3cmFwcGVyKF9saXN0LT5jdXJyZW50SXRlbSgpKTsKKyAgICByZXR1cm4gV2ViS2l0Ojp3
cmFwcGVyKF9saXN0LT5jdXJyZW50SXRlbSgpKTsKIH0KIAogLSAoV0tCYWNrRm9yd2FyZExpc3RJ
dGVtICopYmFja0l0ZW0KIHsKLSAgICByZXR1cm4gd3JhcHBlcihfbGlzdC0+YmFja0l0ZW0oKSk7
CisgICAgcmV0dXJuIFdlYktpdDo6d3JhcHBlcihfbGlzdC0+YmFja0l0ZW0oKSk7CiB9CiAKIC0g
KFdLQmFja0ZvcndhcmRMaXN0SXRlbSAqKWZvcndhcmRJdGVtCiB7Ci0gICAgcmV0dXJuIHdyYXBw
ZXIoX2xpc3QtPmZvcndhcmRJdGVtKCkpOworICAgIHJldHVybiBXZWJLaXQ6OndyYXBwZXIoX2xp
c3QtPmZvcndhcmRJdGVtKCkpOwogfQogCiAtIChXS0JhY2tGb3J3YXJkTGlzdEl0ZW0gKilpdGVt
QXRJbmRleDooTlNJbnRlZ2VyKWluZGV4CiB7Ci0gICAgcmV0dXJuIHdyYXBwZXIoX2xpc3QtPml0
ZW1BdEluZGV4KGluZGV4KSk7CisgICAgcmV0dXJuIFdlYktpdDo6d3JhcHBlcihfbGlzdC0+aXRl
bUF0SW5kZXgoaW5kZXgpKTsKIH0KIAogLSAoTlNBcnJheSAqKWJhY2tMaXN0CiB7Ci0gICAgcmV0
dXJuIHdyYXBwZXIoX2xpc3QtPmJhY2tMaXN0KCkpOworICAgIHJldHVybiBXZWJLaXQ6OndyYXBw
ZXIoX2xpc3QtPmJhY2tMaXN0KCkpOwogfQogCiAtIChOU0FycmF5ICopZm9yd2FyZExpc3QKIHsK
LSAgICByZXR1cm4gd3JhcHBlcihfbGlzdC0+Zm9yd2FyZExpc3QoKSk7CisgICAgcmV0dXJuIFdl
YktpdDo6d3JhcHBlcihfbGlzdC0+Zm9yd2FyZExpc3QoKSk7CiB9CiAKICNwcmFnbWEgbWFyayBX
S09iamVjdCBwcm90b2NvbCBpbXBsZW1lbnRhdGlvbgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dC9VSVByb2Nlc3MvQVBJL0NvY29hL1dLQmFja0ZvcndhcmRMaXN0SXRlbS5tbSBiL1NvdXJjZS9X
ZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS0JhY2tGb3J3YXJkTGlzdEl0ZW0ubW0KaW5kZXgg
NjAxMzI4NzAxOWQ5MWRjM2JhZmViNDYxZmQwNmM2ZGM1MDUzZmZhZS4uY2Q4MThlZmQ1ZTZkMjlh
OTQyNmQxODhmNmVhOGUxMTc5MjU3ZDgyMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVBy
b2Nlc3MvQVBJL0NvY29hL1dLQmFja0ZvcndhcmRMaXN0SXRlbS5tbQorKysgYi9Tb3VyY2UvV2Vi
S2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tCYWNrRm9yd2FyZExpc3RJdGVtLm1tCkBAIC0zMCwx
MCArMzAsOCBAQAogCiAjaW1wb3J0ICJXS05TVVJMRXh0cmFzLmgiCiAKLXVzaW5nIG5hbWVzcGFj
ZSBXZWJLaXQ7Ci0KIEBpbXBsZW1lbnRhdGlvbiBXS0JhY2tGb3J3YXJkTGlzdEl0ZW0gewotICAg
IEFQSTo6T2JqZWN0U3RvcmFnZTxXZWJCYWNrRm9yd2FyZExpc3RJdGVtPiBfaXRlbTsKKyAgICBB
UEk6Ok9iamVjdFN0b3JhZ2U8V2ViS2l0OjpXZWJCYWNrRm9yd2FyZExpc3RJdGVtPiBfaXRlbTsK
IH0KIAogLSAodm9pZClkZWFsbG9jCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vz
cy9BUEkvQ29jb2EvV0tCcm93c2luZ0NvbnRleHRDb250cm9sbGVyLm1tIGIvU291cmNlL1dlYktp
dC9VSVByb2Nlc3MvQVBJL0NvY29hL1dLQnJvd3NpbmdDb250ZXh0Q29udHJvbGxlci5tbQppbmRl
eCBlZDQyODZlMTQ4ZWIzNjQxOGE0M2MwMDY5NzFiMDU4NzBmYzQ4ZWUzLi4zOTExMjdhMTlmOWI3
YTM0OWI3MjU1YThjMjMxOTA2ZDk4ZjJmZjg5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJ
UHJvY2Vzcy9BUEkvQ29jb2EvV0tCcm93c2luZ0NvbnRleHRDb250cm9sbGVyLm1tCisrKyBiL1Nv
dXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS0Jyb3dzaW5nQ29udGV4dENvbnRyb2xs
ZXIubW0KQEAgLTYxLDkgKzYxLDYgQEAKICNpbXBvcnQgPHd0Zi9OZXZlckRlc3Ryb3llZC5oPgog
I2ltcG9ydCA8d3RmL1dlYWtPYmpDUHRyLmg+CiAKLXVzaW5nIG5hbWVzcGFjZSBXZWJDb3JlOwot
dXNpbmcgbmFtZXNwYWNlIFdlYktpdDsKLQogTlNTdHJpbmcgKiBjb25zdCBXS0FjdGlvbklzTWFp
bkZyYW1lS2V5ID0gQCJXS0FjdGlvbklzTWFpbkZyYW1lS2V5IjsKIE5TU3RyaW5nICogY29uc3Qg
V0tBY3Rpb25OYXZpZ2F0aW9uVHlwZUtleSA9IEAiV0tBY3Rpb25OYXZpZ2F0aW9uVHlwZUtleSI7
CiBOU1N0cmluZyAqIGNvbnN0IFdLQWN0aW9uTW91c2VCdXR0b25LZXkgPSBAIldLQWN0aW9uTW91
c2VCdXR0b25LZXkiOwpAQCAtNzYsMTYgKzczLDE2IEBAIE5TU3RyaW5nICogY29uc3QgV0tBY3Rp
b25PcmlnaW5hdGluZ0ZyYW1lVVJMS2V5ID0gQCJXS0FjdGlvbk9yaWdpbmF0aW5nRnJhbWVVUkxL
CiBOU1N0cmluZyAqIGNvbnN0IFdLQWN0aW9uQ2FuU2hvd01JTUVUeXBlS2V5ID0gQCJXS0FjdGlv
bkNhblNob3dNSU1FVHlwZUtleSI7CiAKIEBpbXBsZW1lbnRhdGlvbiBXS0Jyb3dzaW5nQ29udGV4
dENvbnRyb2xsZXIgewotICAgIFJlZlB0cjxXZWJQYWdlUHJveHk+IF9wYWdlOwotICAgIHN0ZDo6
dW5pcXVlX3B0cjxQYWdlTG9hZFN0YXRlT2JzZXJ2ZXI+IF9wYWdlTG9hZFN0YXRlT2JzZXJ2ZXI7
CisgICAgUmVmUHRyPFdlYktpdDo6V2ViUGFnZVByb3h5PiBfcGFnZTsKKyAgICBzdGQ6OnVuaXF1
ZV9wdHI8V2ViS2l0OjpQYWdlTG9hZFN0YXRlT2JzZXJ2ZXI+IF9wYWdlTG9hZFN0YXRlT2JzZXJ2
ZXI7CiAKICAgICBXZWFrT2JqQ1B0cjxpZCA8V0tCcm93c2luZ0NvbnRleHRMb2FkRGVsZWdhdGU+
PiBfbG9hZERlbGVnYXRlOwogICAgIFdlYWtPYmpDUHRyPGlkIDxXS0Jyb3dzaW5nQ29udGV4dFBv
bGljeURlbGVnYXRlPj4gX3BvbGljeURlbGVnYXRlOwogfQogCi1zdGF0aWMgSGFzaE1hcDxXZWJQ
YWdlUHJveHkqLCBfX3Vuc2FmZV91bnJldGFpbmVkIFdLQnJvd3NpbmdDb250ZXh0Q29udHJvbGxl
ciAqPiYgYnJvd3NpbmdDb250ZXh0Q29udHJvbGxlck1hcCgpCitzdGF0aWMgSGFzaE1hcDxXZWJL
aXQ6OldlYlBhZ2VQcm94eSosIF9fdW5zYWZlX3VucmV0YWluZWQgV0tCcm93c2luZ0NvbnRleHRD
b250cm9sbGVyICo+JiBicm93c2luZ0NvbnRleHRDb250cm9sbGVyTWFwKCkKIHsKLSAgICBzdGF0
aWMgTmV2ZXJEZXN0cm95ZWQ8SGFzaE1hcDxXZWJQYWdlUHJveHkqLCBfX3Vuc2FmZV91bnJldGFp
bmVkIFdLQnJvd3NpbmdDb250ZXh0Q29udHJvbGxlciAqPj4gYnJvd3NpbmdDb250ZXh0Q29udHJv
bGxlck1hcDsKKyAgICBzdGF0aWMgTmV2ZXJEZXN0cm95ZWQ8SGFzaE1hcDxXZWJLaXQ6OldlYlBh
Z2VQcm94eSosIF9fdW5zYWZlX3VucmV0YWluZWQgV0tCcm93c2luZ0NvbnRleHRDb250cm9sbGVy
ICo+PiBicm93c2luZ0NvbnRleHRDb250cm9sbGVyTWFwOwogICAgIHJldHVybiBicm93c2luZ0Nv
bnRleHRDb250cm9sbGVyTWFwOwogfQogCkBAIC0xMDMsMTIgKzEwMCwxMiBAQCAtICh2b2lkKWRl
YWxsb2MKIAogKyAodm9pZClyZWdpc3RlclNjaGVtZUZvckN1c3RvbVByb3RvY29sOihOU1N0cmlu
ZyAqKXNjaGVtZQogewotICAgIFdlYlByb2Nlc3NQb29sOjpyZWdpc3Rlckdsb2JhbFVSTFNjaGVt
ZUFzSGF2aW5nQ3VzdG9tUHJvdG9jb2xIYW5kbGVycyhzY2hlbWUpOworICAgIFdlYktpdDo6V2Vi
UHJvY2Vzc1Bvb2w6OnJlZ2lzdGVyR2xvYmFsVVJMU2NoZW1lQXNIYXZpbmdDdXN0b21Qcm90b2Nv
bEhhbmRsZXJzKHNjaGVtZSk7CiB9CiAKICsgKHZvaWQpdW5yZWdpc3RlclNjaGVtZUZvckN1c3Rv
bVByb3RvY29sOihOU1N0cmluZyAqKXNjaGVtZQogewotICAgIFdlYlByb2Nlc3NQb29sOjp1bnJl
Z2lzdGVyR2xvYmFsVVJMU2NoZW1lQXNIYXZpbmdDdXN0b21Qcm90b2NvbEhhbmRsZXJzKHNjaGVt
ZSk7CisgICAgV2ViS2l0OjpXZWJQcm9jZXNzUG9vbDo6dW5yZWdpc3Rlckdsb2JhbFVSTFNjaGVt
ZUFzSGF2aW5nQ3VzdG9tUHJvdG9jb2xIYW5kbGVycyhzY2hlbWUpOwogfQogCiAtICh2b2lkKWxv
YWRSZXF1ZXN0OihOU1VSTFJlcXVlc3QgKilyZXF1ZXN0CkBAIC0xMTgsMTEgKzExNSwxMSBAQCAt
ICh2b2lkKWxvYWRSZXF1ZXN0OihOU1VSTFJlcXVlc3QgKilyZXF1ZXN0CiAKIC0gKHZvaWQpbG9h
ZFJlcXVlc3Q6KE5TVVJMUmVxdWVzdCAqKXJlcXVlc3QgdXNlckRhdGE6KGlkKXVzZXJEYXRhCiB7
Ci0gICAgUmVmUHRyPE9iakNPYmplY3RHcmFwaD4gd2tVc2VyRGF0YTsKKyAgICBSZWZQdHI8V2Vi
S2l0OjpPYmpDT2JqZWN0R3JhcGg+IHdrVXNlckRhdGE7CiAgICAgaWYgKHVzZXJEYXRhKQotICAg
ICAgICB3a1VzZXJEYXRhID0gT2JqQ09iamVjdEdyYXBoOjpjcmVhdGUodXNlckRhdGEpOworICAg
ICAgICB3a1VzZXJEYXRhID0gV2ViS2l0OjpPYmpDT2JqZWN0R3JhcGg6OmNyZWF0ZSh1c2VyRGF0
YSk7CiAKLSAgICBfcGFnZS0+bG9hZFJlcXVlc3QocmVxdWVzdCwgU2hvdWxkT3BlbkV4dGVybmFs
VVJMc1BvbGljeTo6U2hvdWxkTm90QWxsb3csIHdrVXNlckRhdGEuZ2V0KCkpOworICAgIF9wYWdl
LT5sb2FkUmVxdWVzdChyZXF1ZXN0LCBXZWJDb3JlOjpTaG91bGRPcGVuRXh0ZXJuYWxVUkxzUG9s
aWN5OjpTaG91bGROb3RBbGxvdywgd2tVc2VyRGF0YS5nZXQoKSk7CiB9CiAKIC0gKHZvaWQpbG9h
ZEZpbGVVUkw6KE5TVVJMICopVVJMIHJlc3RyaWN0VG9GaWxlc1dpdGhpbjooTlNVUkwgKilhbGxv
d2VkRGlyZWN0b3J5CkBAIC0xMzUsOSArMTMyLDkgQEAgLSAodm9pZClsb2FkRmlsZVVSTDooTlNV
UkwgKilVUkwgcmVzdHJpY3RUb0ZpbGVzV2l0aGluOihOU1VSTCAqKWFsbG93ZWREaXJlY3RvcnkK
ICAgICBpZiAoIVtVUkwgaXNGaWxlVVJMXSB8fCAoYWxsb3dlZERpcmVjdG9yeSAmJiAhW2FsbG93
ZWREaXJlY3RvcnkgaXNGaWxlVVJMXSkpCiAgICAgICAgIFtOU0V4Y2VwdGlvbiByYWlzZTpOU0lu
dmFsaWRBcmd1bWVudEV4Y2VwdGlvbiBmb3JtYXQ6QCJBdHRlbXB0ZWQgdG8gbG9hZCBhIG5vbi1m
aWxlIFVSTCJdOwogCi0gICAgUmVmUHRyPE9iakNPYmplY3RHcmFwaD4gd2tVc2VyRGF0YTsKKyAg
ICBSZWZQdHI8V2ViS2l0OjpPYmpDT2JqZWN0R3JhcGg+IHdrVXNlckRhdGE7CiAgICAgaWYgKHVz
ZXJEYXRhKQotICAgICAgICB3a1VzZXJEYXRhID0gT2JqQ09iamVjdEdyYXBoOjpjcmVhdGUodXNl
ckRhdGEpOworICAgICAgICB3a1VzZXJEYXRhID0gV2ViS2l0OjpPYmpDT2JqZWN0R3JhcGg6OmNy
ZWF0ZSh1c2VyRGF0YSk7CiAKICAgICBfcGFnZS0+bG9hZEZpbGUoW1VSTCBfd2ViX29yaWdpbmFs
RGF0YUFzV1RGU3RyaW5nXSwgW2FsbG93ZWREaXJlY3RvcnkgX3dlYl9vcmlnaW5hbERhdGFBc1dU
RlN0cmluZ10sIHdrVXNlckRhdGEuZ2V0KCkpOwogfQpAQCAtMTQ5LDkgKzE0Niw5IEBAIC0gKHZv
aWQpbG9hZEhUTUxTdHJpbmc6KE5TU3RyaW5nICopSFRNTFN0cmluZyBiYXNlVVJMOihOU1VSTCAq
KWJhc2VVUkwKIAogLSAodm9pZClsb2FkSFRNTFN0cmluZzooTlNTdHJpbmcgKilIVE1MU3RyaW5n
IGJhc2VVUkw6KE5TVVJMICopYmFzZVVSTCB1c2VyRGF0YTooaWQpdXNlckRhdGEKIHsKLSAgICBS
ZWZQdHI8T2JqQ09iamVjdEdyYXBoPiB3a1VzZXJEYXRhOworICAgIFJlZlB0cjxXZWJLaXQ6Ok9i
akNPYmplY3RHcmFwaD4gd2tVc2VyRGF0YTsKICAgICBpZiAodXNlckRhdGEpCi0gICAgICAgIHdr
VXNlckRhdGEgPSBPYmpDT2JqZWN0R3JhcGg6OmNyZWF0ZSh1c2VyRGF0YSk7CisgICAgICAgIHdr
VXNlckRhdGEgPSBXZWJLaXQ6Ok9iakNPYmplY3RHcmFwaDo6Y3JlYXRlKHVzZXJEYXRhKTsKIAog
ICAgIE5TRGF0YSAqZGF0YSA9IFtIVE1MU3RyaW5nIGRhdGFVc2luZ0VuY29kaW5nOk5TVVRGOFN0
cmluZ0VuY29kaW5nXTsKICAgICBfcGFnZS0+bG9hZERhdGEoeyBzdGF0aWNfY2FzdDxjb25zdCB1
aW50OF90Kj4oZGF0YS5ieXRlcyksIGRhdGEubGVuZ3RoIH0sICJ0ZXh0L2h0bWwiX3MsICJVVEYt
OCJfcywgW2Jhc2VVUkwgX3dlYl9vcmlnaW5hbERhdGFBc1dURlN0cmluZ10sIHdrVXNlckRhdGEu
Z2V0KCkpOwpAQCAtMTcwLDkgKzE2Nyw5IEBAIC0gKHZvaWQpbG9hZERhdGE6KE5TRGF0YSAqKWRh
dGEgTUlNRVR5cGU6KE5TU3RyaW5nICopTUlNRVR5cGUgdGV4dEVuY29kaW5nTmFtZTooCiAKIC0g
KHZvaWQpbG9hZERhdGE6KE5TRGF0YSAqKWRhdGEgTUlNRVR5cGU6KE5TU3RyaW5nICopTUlNRVR5
cGUgdGV4dEVuY29kaW5nTmFtZTooTlNTdHJpbmcgKillbmNvZGluZ05hbWUgYmFzZVVSTDooTlNV
UkwgKiliYXNlVVJMIHVzZXJEYXRhOihpZCl1c2VyRGF0YQogewotICAgIFJlZlB0cjxPYmpDT2Jq
ZWN0R3JhcGg+IHdrVXNlckRhdGE7CisgICAgUmVmUHRyPFdlYktpdDo6T2JqQ09iamVjdEdyYXBo
PiB3a1VzZXJEYXRhOwogICAgIGlmICh1c2VyRGF0YSkKLSAgICAgICAgd2tVc2VyRGF0YSA9IE9i
akNPYmplY3RHcmFwaDo6Y3JlYXRlKHVzZXJEYXRhKTsKKyAgICAgICAgd2tVc2VyRGF0YSA9IFdl
YktpdDo6T2JqQ09iamVjdEdyYXBoOjpjcmVhdGUodXNlckRhdGEpOwogCiAgICAgX3BhZ2UtPmxv
YWREYXRhKHsgc3RhdGljX2Nhc3Q8Y29uc3QgdWludDhfdCo+KGRhdGEuYnl0ZXMpLCBkYXRhLmxl
bmd0aCB9LCBNSU1FVHlwZSwgZW5jb2RpbmdOYW1lLCBbYmFzZVVSTCBfd2ViX29yaWdpbmFsRGF0
YUFzV1RGU3RyaW5nXSwgd2tVc2VyRGF0YS5nZXQoKSk7CiB9CkBAIC0yOTIsNyArMjg5LDcgQEAg
LSAoTlNTdHJpbmcgKil0aXRsZQogCiAtIChOU0FycmF5ICopY2VydGlmaWNhdGVDaGFpbgogewot
ICAgIGlmIChXZWJGcmFtZVByb3h5KiBtYWluRnJhbWUgPSBfcGFnZS0+bWFpbkZyYW1lKCkpCisg
ICAgaWYgKFdlYktpdDo6V2ViRnJhbWVQcm94eSogbWFpbkZyYW1lID0gX3BhZ2UtPm1haW5GcmFt
ZSgpKQogICAgICAgICByZXR1cm4gbWFpbkZyYW1lLT5jZXJ0aWZpY2F0ZUluZm8oKSA/IChfX2Jy
aWRnZSBOU0FycmF5ICopbWFpbkZyYW1lLT5jZXJ0aWZpY2F0ZUluZm8oKS0+Y2VydGlmaWNhdGVJ
bmZvKCkuY2VydGlmaWNhdGVDaGFpbigpIDogbmlsOwogCiAgICAgcmV0dXJuIG5pbDsKQEAgLTM0
NCw3ICszNDEsNyBAQCBzdGF0aWMgdm9pZCBkaWRGYWlsUHJvdmlzaW9uYWxOYXZpZ2F0aW9uKFdL
UGFnZVJlZiBwYWdlLCBXS05hdmlnYXRpb25SZWYsIFdLRXJybwogICAgIGF1dG8gbG9hZERlbGVn
YXRlID0gYnJvd3NpbmdDb250ZXh0LT5fbG9hZERlbGVnYXRlLmdldCgpOwogCiAgICAgaWYgKFts
b2FkRGVsZWdhdGUgcmVzcG9uZHNUb1NlbGVjdG9yOkBzZWxlY3Rvcihicm93c2luZ0NvbnRleHRD
b250cm9sbGVyOmRpZEZhaWxQcm92aXNpb25hbExvYWRXaXRoRXJyb3I6KV0pCi0gICAgICAgIFts
b2FkRGVsZWdhdGUgYnJvd3NpbmdDb250ZXh0Q29udHJvbGxlcjpicm93c2luZ0NvbnRleHQgZGlk
RmFpbFByb3Zpc2lvbmFsTG9hZFdpdGhFcnJvcjp3cmFwcGVyKCp0b0ltcGwoZXJyb3IpKV07Cisg
ICAgICAgIFtsb2FkRGVsZWdhdGUgYnJvd3NpbmdDb250ZXh0Q29udHJvbGxlcjpicm93c2luZ0Nv
bnRleHQgZGlkRmFpbFByb3Zpc2lvbmFsTG9hZFdpdGhFcnJvcjp3cmFwcGVyKCpXZWJLaXQ6OnRv
SW1wbChlcnJvcikpXTsKIH0KIAogc3RhdGljIHZvaWQgZGlkQ29tbWl0TmF2aWdhdGlvbihXS1Bh
Z2VSZWYgcGFnZSwgV0tOYXZpZ2F0aW9uUmVmLCBXS1R5cGVSZWYgdXNlckRhdGEsIGNvbnN0IHZv
aWQqIGNsaWVudEluZm8pCkBAIC0zNzEsNyArMzY4LDcgQEAgc3RhdGljIHZvaWQgZGlkRmFpbE5h
dmlnYXRpb24oV0tQYWdlUmVmIHBhZ2UsIFdLTmF2aWdhdGlvblJlZiwgV0tFcnJvclJlZiBlcnJv
ciwKICAgICBhdXRvIGxvYWREZWxlZ2F0ZSA9IGJyb3dzaW5nQ29udGV4dC0+X2xvYWREZWxlZ2F0
ZS5nZXQoKTsKIAogICAgIGlmIChbbG9hZERlbGVnYXRlIHJlc3BvbmRzVG9TZWxlY3RvcjpAc2Vs
ZWN0b3IoYnJvd3NpbmdDb250ZXh0Q29udHJvbGxlcjpkaWRGYWlsTG9hZFdpdGhFcnJvcjopXSkK
LSAgICAgICAgW2xvYWREZWxlZ2F0ZSBicm93c2luZ0NvbnRleHRDb250cm9sbGVyOmJyb3dzaW5n
Q29udGV4dCBkaWRGYWlsTG9hZFdpdGhFcnJvcjp3cmFwcGVyKCp0b0ltcGwoZXJyb3IpKV07Cisg
ICAgICAgIFtsb2FkRGVsZWdhdGUgYnJvd3NpbmdDb250ZXh0Q29udHJvbGxlcjpicm93c2luZ0Nv
bnRleHQgZGlkRmFpbExvYWRXaXRoRXJyb3I6d3JhcHBlcigqV2ViS2l0Ojp0b0ltcGwoZXJyb3Ip
KV07CiB9CiAKIHN0YXRpYyBib29sIGNhbkF1dGhlbnRpY2F0ZUFnYWluc3RQcm90ZWN0aW9uU3Bh
Y2UoV0tQYWdlUmVmIHBhZ2UsIFdLUHJvdGVjdGlvblNwYWNlUmVmIHByb3RlY3Rpb25TcGFjZSwg
Y29uc3Qgdm9pZCAqY2xpZW50SW5mbykKQEAgLTM4MCw3ICszNzcsNyBAQCBzdGF0aWMgYm9vbCBj
YW5BdXRoZW50aWNhdGVBZ2FpbnN0UHJvdGVjdGlvblNwYWNlKFdLUGFnZVJlZiBwYWdlLCBXS1By
b3RlY3Rpb25TcAogICAgIGF1dG8gbG9hZERlbGVnYXRlID0gYnJvd3NpbmdDb250ZXh0LT5fbG9h
ZERlbGVnYXRlLmdldCgpOwogCiAgICAgaWYgKFtsb2FkRGVsZWdhdGUgcmVzcG9uZHNUb1NlbGVj
dG9yOkBzZWxlY3Rvcihicm93c2luZ0NvbnRleHRDb250cm9sbGVyOmNhbkF1dGhlbnRpY2F0ZUFn
YWluc3RQcm90ZWN0aW9uU3BhY2U6KV0pCi0gICAgICAgIHJldHVybiBbKGlkIDxXS0Jyb3dzaW5n
Q29udGV4dExvYWREZWxlZ2F0ZVByaXZhdGU+KWxvYWREZWxlZ2F0ZSBicm93c2luZ0NvbnRleHRD
b250cm9sbGVyOmJyb3dzaW5nQ29udGV4dCBjYW5BdXRoZW50aWNhdGVBZ2FpbnN0UHJvdGVjdGlv
blNwYWNlOnRvSW1wbChwcm90ZWN0aW9uU3BhY2UpLT5wcm90ZWN0aW9uU3BhY2UoKS5uc1NwYWNl
KCldOworICAgICAgICByZXR1cm4gWyhpZCA8V0tCcm93c2luZ0NvbnRleHRMb2FkRGVsZWdhdGVQ
cml2YXRlPilsb2FkRGVsZWdhdGUgYnJvd3NpbmdDb250ZXh0Q29udHJvbGxlcjpicm93c2luZ0Nv
bnRleHQgY2FuQXV0aGVudGljYXRlQWdhaW5zdFByb3RlY3Rpb25TcGFjZTpXZWJLaXQ6OnRvSW1w
bChwcm90ZWN0aW9uU3BhY2UpLT5wcm90ZWN0aW9uU3BhY2UoKS5uc1NwYWNlKCldOwogCiAgICAg
cmV0dXJuIGZhbHNlOwogfQpAQCAtMzkxLDcgKzM4OCw3IEBAIHN0YXRpYyB2b2lkIGRpZFJlY2Vp
dmVBdXRoZW50aWNhdGlvbkNoYWxsZW5nZShXS1BhZ2VSZWYgcGFnZSwgV0tBdXRoZW50aWNhdGlv
bkNoCiAgICAgYXV0byBsb2FkRGVsZWdhdGUgPSBicm93c2luZ0NvbnRleHQtPl9sb2FkRGVsZWdh
dGUuZ2V0KCk7CiAKICAgICBpZiAoW2xvYWREZWxlZ2F0ZSByZXNwb25kc1RvU2VsZWN0b3I6QHNl
bGVjdG9yKGJyb3dzaW5nQ29udGV4dENvbnRyb2xsZXI6ZGlkUmVjZWl2ZUF1dGhlbnRpY2F0aW9u
Q2hhbGxlbmdlOildKQotICAgICAgICBbKGlkIDxXS0Jyb3dzaW5nQ29udGV4dExvYWREZWxlZ2F0
ZVByaXZhdGU+KWxvYWREZWxlZ2F0ZSBicm93c2luZ0NvbnRleHRDb250cm9sbGVyOmJyb3dzaW5n
Q29udGV4dCBkaWRSZWNlaXZlQXV0aGVudGljYXRpb25DaGFsbGVuZ2U6d3JhcHBlcigqdG9JbXBs
KGF1dGhlbnRpY2F0aW9uQ2hhbGxlbmdlKSldOworICAgICAgICBbKGlkIDxXS0Jyb3dzaW5nQ29u
dGV4dExvYWREZWxlZ2F0ZVByaXZhdGU+KWxvYWREZWxlZ2F0ZSBicm93c2luZ0NvbnRleHRDb250
cm9sbGVyOmJyb3dzaW5nQ29udGV4dCBkaWRSZWNlaXZlQXV0aGVudGljYXRpb25DaGFsbGVuZ2U6
d3JhcHBlcigqV2ViS2l0Ojp0b0ltcGwoYXV0aGVudGljYXRpb25DaGFsbGVuZ2UpKV07CiB9CiAK
IHN0YXRpYyB2b2lkIHByb2Nlc3NEaWRDcmFzaChXS1BhZ2VSZWYgcGFnZSwgY29uc3Qgdm9pZCog
Y2xpZW50SW5mbykKQEAgLTQwMyw3ICs0MDAsNyBAQCBzdGF0aWMgdm9pZCBwcm9jZXNzRGlkQ3Jh
c2goV0tQYWdlUmVmIHBhZ2UsIGNvbnN0IHZvaWQqIGNsaWVudEluZm8pCiAgICAgICAgIFsoaWQg
PFdLQnJvd3NpbmdDb250ZXh0TG9hZERlbGVnYXRlUHJpdmF0ZT4pbG9hZERlbGVnYXRlIGJyb3dz
aW5nQ29udGV4dENvbnRyb2xsZXJXZWJQcm9jZXNzRGlkQ3Jhc2g6YnJvd3NpbmdDb250ZXh0XTsK
IH0KIAotc3RhdGljIHZvaWQgc2V0VXBQYWdlTG9hZGVyQ2xpZW50KFdLQnJvd3NpbmdDb250ZXh0
Q29udHJvbGxlciAqYnJvd3NpbmdDb250ZXh0LCBXZWJQYWdlUHJveHkmIHBhZ2UpCitzdGF0aWMg
dm9pZCBzZXRVcFBhZ2VMb2FkZXJDbGllbnQoV0tCcm93c2luZ0NvbnRleHRDb250cm9sbGVyICpi
cm93c2luZ0NvbnRleHQsIFdlYktpdDo6V2ViUGFnZVByb3h5JiBwYWdlKQogewogICAgIFdLUGFn
ZU5hdmlnYXRpb25DbGllbnRWMCBsb2FkZXJDbGllbnQ7CiAgICAgbWVtc2V0KCZsb2FkZXJDbGll
bnQsIDAsIHNpemVvZihsb2FkZXJDbGllbnQpKTsKQEAgLTQ0Niw3ICs0NDMsNyBAQCBzdGF0aWMg
V0tQb2xpY3lEZWNpc2lvbkhhbmRsZXIgbWFrZVBvbGljeURlY2lzaW9uQmxvY2soV0tGcmFtZVBv
bGljeUxpc3RlbmVyUmVmCiAgICAgfSBjb3B5XSBhdXRvcmVsZWFzZV07CiB9CiAKLXN0YXRpYyB2
b2lkIHNldFVwUGFnZVBvbGljeUNsaWVudChXS0Jyb3dzaW5nQ29udGV4dENvbnRyb2xsZXIgKmJy
b3dzaW5nQ29udGV4dCwgV2ViUGFnZVByb3h5JiBwYWdlKQorc3RhdGljIHZvaWQgc2V0VXBQYWdl
UG9saWN5Q2xpZW50KFdLQnJvd3NpbmdDb250ZXh0Q29udHJvbGxlciAqYnJvd3NpbmdDb250ZXh0
LCBXZWJLaXQ6OldlYlBhZ2VQcm94eSYgcGFnZSkKIHsKICAgICBXS1BhZ2VQb2xpY3lDbGllbnRJ
bnRlcm5hbCBwb2xpY3lDbGllbnQ7CiAgICAgbWVtc2V0KCZwb2xpY3lDbGllbnQsIDAsIHNpemVv
Zihwb2xpY3lDbGllbnQpKTsKQEAgLTQ3MSw3ICs0NjgsNyBAQCBzdGF0aWMgdm9pZCBzZXRVcFBh
Z2VQb2xpY3lDbGllbnQoV0tCcm93c2luZ0NvbnRleHRDb250cm9sbGVyICpicm93c2luZ0NvbnRl
eHQsCiAKICAgICAgICAgICAgIGlmIChvcmlnaW5hdGluZ0ZyYW1lKSB7CiAgICAgICAgICAgICAg
ICAgYWN0aW9uRGljdGlvbmFyeSA9IFtbYWN0aW9uRGljdGlvbmFyeSBtdXRhYmxlQ29weV0gYXV0
b3JlbGVhc2VdOwotICAgICAgICAgICAgICAgIFsoTlNNdXRhYmxlRGljdGlvbmFyeSAqKWFjdGlv
bkRpY3Rpb25hcnkgc2V0T2JqZWN0OltOU1VSTCBfd2ViX1VSTFdpdGhXVEZTdHJpbmc6dG9JbXBs
KG9yaWdpbmF0aW5nRnJhbWUpLT51cmwoKV0gZm9yS2V5OldLQWN0aW9uT3JpZ2luYXRpbmdGcmFt
ZVVSTEtleV07CisgICAgICAgICAgICAgICAgWyhOU011dGFibGVEaWN0aW9uYXJ5ICopYWN0aW9u
RGljdGlvbmFyeSBzZXRPYmplY3Q6W05TVVJMIF93ZWJfVVJMV2l0aFdURlN0cmluZzpXZWJLaXQ6
OnRvSW1wbChvcmlnaW5hdGluZ0ZyYW1lKS0+dXJsKCldIGZvcktleTpXS0FjdGlvbk9yaWdpbmF0
aW5nRnJhbWVVUkxLZXldOwogICAgICAgICAgICAgfQogICAgICAgICAgICAgCiAgICAgICAgICAg
ICBbcG9saWN5RGVsZWdhdGUgYnJvd3NpbmdDb250ZXh0Q29udHJvbGxlcjpicm93c2luZ0NvbnRl
eHQgZGVjaWRlUG9saWN5Rm9yTmF2aWdhdGlvbkFjdGlvbjphY3Rpb25EaWN0aW9uYXJ5IGRlY2lz
aW9uSGFuZGxlcjptYWtlUG9saWN5RGVjaXNpb25CbG9jayhsaXN0ZW5lcildOwpAQCAtNDkxLDcg
KzQ4OCw3IEBAIHN0YXRpYyB2b2lkIHNldFVwUGFnZVBvbGljeUNsaWVudChXS0Jyb3dzaW5nQ29u
dGV4dENvbnRyb2xsZXIgKmJyb3dzaW5nQ29udGV4dCwKICAgICAgICAgICAgICAgICBXS0FjdGlv
bk1vZGlmaWVyRmxhZ3NLZXk6IEAobW9kaWZpZXJzKSwKICAgICAgICAgICAgICAgICBXS0FjdGlv
bk1vdXNlQnV0dG9uS2V5OiBAKG1vdXNlQnV0dG9uKSwKICAgICAgICAgICAgICAgICBXS0FjdGlv
blVSTFJlcXVlc3RLZXk6IGFkb3B0TlMoV0tVUkxSZXF1ZXN0Q29weU5TVVJMUmVxdWVzdChyZXF1
ZXN0KSkuZ2V0KCksCi0gICAgICAgICAgICAgICAgV0tBY3Rpb25GcmFtZU5hbWVLZXk6IHRvSW1w
bChmcmFtZU5hbWUpLT53cmFwcGVyKCkKKyAgICAgICAgICAgICAgICBXS0FjdGlvbkZyYW1lTmFt
ZUtleTogV2ViS2l0Ojp0b0ltcGwoZnJhbWVOYW1lKS0+d3JhcHBlcigpCiAgICAgICAgICAgICB9
OwogICAgICAgICAgICAgCiAgICAgICAgICAgICBbcG9saWN5RGVsZWdhdGUgYnJvd3NpbmdDb250
ZXh0Q29udHJvbGxlcjpicm93c2luZ0NvbnRleHQgZGVjaWRlUG9saWN5Rm9yTmV3V2luZG93QWN0
aW9uOmFjdGlvbkRpY3Rpb25hcnkgZGVjaXNpb25IYW5kbGVyOm1ha2VQb2xpY3lEZWNpc2lvbkJs
b2NrKGxpc3RlbmVyKV07CkBAIC01NzEsOSArNTY4LDkgQEAgLSAoaW5zdGFuY2V0eXBlKV9pbml0
V2l0aFBhZ2VSZWY6KFdLUGFnZVJlZilwYWdlUmVmCiAgICAgaWYgKCEoc2VsZiA9IFtzdXBlciBp
bml0XSkpCiAgICAgICAgIHJldHVybiBuaWw7CiAKLSAgICBfcGFnZSA9IHRvSW1wbChwYWdlUmVm
KTsKKyAgICBfcGFnZSA9IFdlYktpdDo6dG9JbXBsKHBhZ2VSZWYpOwogCi0gICAgX3BhZ2VMb2Fk
U3RhdGVPYnNlcnZlciA9IHN0ZDo6bWFrZV91bmlxdWU8UGFnZUxvYWRTdGF0ZU9ic2VydmVyPihz
ZWxmKTsKKyAgICBfcGFnZUxvYWRTdGF0ZU9ic2VydmVyID0gc3RkOjptYWtlX3VuaXF1ZTxXZWJL
aXQ6OlBhZ2VMb2FkU3RhdGVPYnNlcnZlcj4oc2VsZik7CiAgICAgX3BhZ2UtPnBhZ2VMb2FkU3Rh
dGUoKS5hZGRPYnNlcnZlcigqX3BhZ2VMb2FkU3RhdGVPYnNlcnZlcik7CiAKICAgICBBU1NFUlQo
IWJyb3dzaW5nQ29udGV4dENvbnRyb2xsZXJNYXAoKS5jb250YWlucyhfcGFnZS5nZXQoKSkpOwpA
QCAtNTg0LDcgKzU4MSw3IEBAIC0gKGluc3RhbmNldHlwZSlfaW5pdFdpdGhQYWdlUmVmOihXS1Bh
Z2VSZWYpcGFnZVJlZgogCiArIChXS0Jyb3dzaW5nQ29udGV4dENvbnRyb2xsZXIgKilfYnJvd3Np
bmdDb250ZXh0Q29udHJvbGxlckZvclBhZ2VSZWY6KFdLUGFnZVJlZilwYWdlUmVmCiB7Ci0gICAg
cmV0dXJuIGJyb3dzaW5nQ29udGV4dENvbnRyb2xsZXJNYXAoKS5nZXQodG9JbXBsKHBhZ2VSZWYp
KTsKKyAgICByZXR1cm4gYnJvd3NpbmdDb250ZXh0Q29udHJvbGxlck1hcCgpLmdldChXZWJLaXQ6
OnRvSW1wbChwYWdlUmVmKSk7CiB9CiAKIEBlbmQKQEAgLTU5MywyNyArNTkwLDI3IEBAIEBpbXBs
ZW1lbnRhdGlvbiBXS0Jyb3dzaW5nQ29udGV4dENvbnRyb2xsZXIgKFByaXZhdGUpCiAKIC0gKFdL
UGFnZVJlZilfcGFnZVJlZgogewotICAgIHJldHVybiB0b0FQSShfcGFnZS5nZXQoKSk7CisgICAg
cmV0dXJuIFdlYktpdDo6dG9BUEkoX3BhZ2UuZ2V0KCkpOwogfQogCiAtICh2b2lkKXNldFBhZ2lu
YXRpb25Nb2RlOihXS0Jyb3dzaW5nQ29udGV4dFBhZ2luYXRpb25Nb2RlKXBhZ2luYXRpb25Nb2Rl
CiB7Ci0gICAgUGFnaW5hdGlvbjo6TW9kZSBtb2RlOworICAgIFdlYkNvcmU6OlBhZ2luYXRpb246
Ok1vZGUgbW9kZTsKICAgICBzd2l0Y2ggKHBhZ2luYXRpb25Nb2RlKSB7CiAgICAgY2FzZSBXS1Bh
Z2luYXRpb25Nb2RlVW5wYWdpbmF0ZWQ6Ci0gICAgICAgIG1vZGUgPSBQYWdpbmF0aW9uOjpVbnBh
Z2luYXRlZDsKKyAgICAgICAgbW9kZSA9IFdlYkNvcmU6OlBhZ2luYXRpb246OlVucGFnaW5hdGVk
OwogICAgICAgICBicmVhazsKICAgICBjYXNlIFdLUGFnaW5hdGlvbk1vZGVMZWZ0VG9SaWdodDoK
LSAgICAgICAgbW9kZSA9IFBhZ2luYXRpb246OkxlZnRUb1JpZ2h0UGFnaW5hdGVkOworICAgICAg
ICBtb2RlID0gV2ViQ29yZTo6UGFnaW5hdGlvbjo6TGVmdFRvUmlnaHRQYWdpbmF0ZWQ7CiAgICAg
ICAgIGJyZWFrOwogICAgIGNhc2UgV0tQYWdpbmF0aW9uTW9kZVJpZ2h0VG9MZWZ0OgotICAgICAg
ICBtb2RlID0gUGFnaW5hdGlvbjo6UmlnaHRUb0xlZnRQYWdpbmF0ZWQ7CisgICAgICAgIG1vZGUg
PSBXZWJDb3JlOjpQYWdpbmF0aW9uOjpSaWdodFRvTGVmdFBhZ2luYXRlZDsKICAgICAgICAgYnJl
YWs7CiAgICAgY2FzZSBXS1BhZ2luYXRpb25Nb2RlVG9wVG9Cb3R0b206Ci0gICAgICAgIG1vZGUg
PSBQYWdpbmF0aW9uOjpUb3BUb0JvdHRvbVBhZ2luYXRlZDsKKyAgICAgICAgbW9kZSA9IFdlYkNv
cmU6OlBhZ2luYXRpb246OlRvcFRvQm90dG9tUGFnaW5hdGVkOwogICAgICAgICBicmVhazsKICAg
ICBjYXNlIFdLUGFnaW5hdGlvbk1vZGVCb3R0b21Ub1RvcDoKLSAgICAgICAgbW9kZSA9IFBhZ2lu
YXRpb246OkJvdHRvbVRvVG9wUGFnaW5hdGVkOworICAgICAgICBtb2RlID0gV2ViQ29yZTo6UGFn
aW5hdGlvbjo6Qm90dG9tVG9Ub3BQYWdpbmF0ZWQ7CiAgICAgICAgIGJyZWFrOwogICAgIGRlZmF1
bHQ6CiAgICAgICAgIHJldHVybjsKQEAgLTYyNSwxNSArNjIyLDE1IEBAIC0gKHZvaWQpc2V0UGFn
aW5hdGlvbk1vZGU6KFdLQnJvd3NpbmdDb250ZXh0UGFnaW5hdGlvbk1vZGUpcGFnaW5hdGlvbk1v
ZGUKIC0gKFdLQnJvd3NpbmdDb250ZXh0UGFnaW5hdGlvbk1vZGUpcGFnaW5hdGlvbk1vZGUKIHsK
ICAgICBzd2l0Y2ggKF9wYWdlLT5wYWdpbmF0aW9uTW9kZSgpKSB7Ci0gICAgY2FzZSBQYWdpbmF0
aW9uOjpVbnBhZ2luYXRlZDoKKyAgICBjYXNlIFdlYkNvcmU6OlBhZ2luYXRpb246OlVucGFnaW5h
dGVkOgogICAgICAgICByZXR1cm4gV0tQYWdpbmF0aW9uTW9kZVVucGFnaW5hdGVkOwotICAgIGNh
c2UgUGFnaW5hdGlvbjo6TGVmdFRvUmlnaHRQYWdpbmF0ZWQ6CisgICAgY2FzZSBXZWJDb3JlOjpQ
YWdpbmF0aW9uOjpMZWZ0VG9SaWdodFBhZ2luYXRlZDoKICAgICAgICAgcmV0dXJuIFdLUGFnaW5h
dGlvbk1vZGVMZWZ0VG9SaWdodDsKLSAgICBjYXNlIFBhZ2luYXRpb246OlJpZ2h0VG9MZWZ0UGFn
aW5hdGVkOgorICAgIGNhc2UgV2ViQ29yZTo6UGFnaW5hdGlvbjo6UmlnaHRUb0xlZnRQYWdpbmF0
ZWQ6CiAgICAgICAgIHJldHVybiBXS1BhZ2luYXRpb25Nb2RlUmlnaHRUb0xlZnQ7Ci0gICAgY2Fz
ZSBQYWdpbmF0aW9uOjpUb3BUb0JvdHRvbVBhZ2luYXRlZDoKKyAgICBjYXNlIFdlYkNvcmU6OlBh
Z2luYXRpb246OlRvcFRvQm90dG9tUGFnaW5hdGVkOgogICAgICAgICByZXR1cm4gV0tQYWdpbmF0
aW9uTW9kZVRvcFRvQm90dG9tOwotICAgIGNhc2UgUGFnaW5hdGlvbjo6Qm90dG9tVG9Ub3BQYWdp
bmF0ZWQ6CisgICAgY2FzZSBXZWJDb3JlOjpQYWdpbmF0aW9uOjpCb3R0b21Ub1RvcFBhZ2luYXRl
ZDoKICAgICAgICAgcmV0dXJuIFdLUGFnaW5hdGlvbk1vZGVCb3R0b21Ub1RvcDsKICAgICB9CiAK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS0Jyb3dzaW5n
Q29udGV4dEdyb3VwLm1tIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL1dLQnJv
d3NpbmdDb250ZXh0R3JvdXAubW0KaW5kZXggOTZkZjBkNmIxZGQzNzJkZGMyMWI1MzQyNjVkMGEz
Y2MzYzBmYTc1OS4uYTI4YTgxZTcwNTU3MDZhNjVhNmRmOTE1MWQ4MGZkOTQyZTU4NWYzMSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL1dLQnJvd3NpbmdDb250
ZXh0R3JvdXAubW0KKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL1dLQnJv
d3NpbmdDb250ZXh0R3JvdXAubW0KQEAgLTQyLDEwICs0Miw4IEBACiAjaW1wb3J0ICJXS1VSTENG
LmgiCiAjaW1wb3J0IDx3dGYvVmVjdG9yLmg+CiAKLXVzaW5nIG5hbWVzcGFjZSBXZWJLaXQ7Ci0K
IEBpbXBsZW1lbnRhdGlvbiBXS0Jyb3dzaW5nQ29udGV4dEdyb3VwIHsKLSAgICBBUEk6Ok9iamVj
dFN0b3JhZ2U8V2ViUGFnZUdyb3VwPiBfcGFnZUdyb3VwOworICAgIEFQSTo6T2JqZWN0U3RvcmFn
ZTxXZWJLaXQ6OldlYlBhZ2VHcm91cD4gX3BhZ2VHcm91cDsKIH0KIAogLSAodm9pZClkZWFsbG9j
CkBAIC02MSw1NSArNTksNTUgQEAgLSAoaWQpaW5pdFdpdGhJZGVudGlmaWVyOihOU1N0cmluZyAq
KWlkZW50aWZpZXIKICAgICBpZiAoIXNlbGYpCiAgICAgICAgIHJldHVybiBuaWw7CiAKLSAgICBB
UEk6Ok9iamVjdDo6Y29uc3RydWN0SW5XcmFwcGVyPFdlYlBhZ2VHcm91cD4oc2VsZiwgaWRlbnRp
Zmllcik7CisgICAgQVBJOjpPYmplY3Q6OmNvbnN0cnVjdEluV3JhcHBlcjxXZWJLaXQ6OldlYlBh
Z2VHcm91cD4oc2VsZiwgaWRlbnRpZmllcik7CiAKICAgICAvLyBHaXZlIHRoZSBXS0Jyb3dzaW5n
Q29udGV4dEdyb3VwIGEgaWRlbnRpZmllci1sZXNzIHByZWZlcmVuY2VzLCBzbyB0aGF0IHRoZXkK
ICAgICAvLyBkb24ndCBnZXQgYXV0b21hdGljYWxseSB3cml0dGVuIHRvIHRoZSBkaXNrLiBUaGUg
YXV0b21hdGljIHdyaXRpbmcgaGFzIHByb3ZlbgogICAgIC8vIGNvbmZ1c2luZyB0byB1c2VycyBv
ZiB0aGUgQVBJLgogICAgIFdLUmV0YWluUHRyPFdLUHJlZmVyZW5jZXNSZWY+IHByZWZlcmVuY2Vz
ID0gYWRvcHRXSyhXS1ByZWZlcmVuY2VzQ3JlYXRlKCkpOwotICAgIFdLUGFnZUdyb3VwU2V0UHJl
ZmVyZW5jZXModG9BUEkoX3BhZ2VHcm91cC5nZXQoKSksIHByZWZlcmVuY2VzLmdldCgpKTsKKyAg
ICBXS1BhZ2VHcm91cFNldFByZWZlcmVuY2VzKFdlYktpdDo6dG9BUEkoX3BhZ2VHcm91cC5nZXQo
KSksIHByZWZlcmVuY2VzLmdldCgpKTsKIAogICAgIHJldHVybiBzZWxmOwogfQogCiAtIChCT09M
KWFsbG93c0phdmFTY3JpcHQKIHsKLSAgICByZXR1cm4gV0tQcmVmZXJlbmNlc0dldEphdmFTY3Jp
cHRFbmFibGVkKFdLUGFnZUdyb3VwR2V0UHJlZmVyZW5jZXModG9BUEkoX3BhZ2VHcm91cC5nZXQo
KSkpKTsKKyAgICByZXR1cm4gV0tQcmVmZXJlbmNlc0dldEphdmFTY3JpcHRFbmFibGVkKFdLUGFn
ZUdyb3VwR2V0UHJlZmVyZW5jZXMoV2ViS2l0Ojp0b0FQSShfcGFnZUdyb3VwLmdldCgpKSkpOwog
fQogCiAtICh2b2lkKXNldEFsbG93c0phdmFTY3JpcHQ6KEJPT0wpYWxsb3dzSmF2YVNjcmlwdAog
ewotICAgIFdLUHJlZmVyZW5jZXNTZXRKYXZhU2NyaXB0RW5hYmxlZChXS1BhZ2VHcm91cEdldFBy
ZWZlcmVuY2VzKHRvQVBJKF9wYWdlR3JvdXAuZ2V0KCkpKSwgYWxsb3dzSmF2YVNjcmlwdCk7Cisg
ICAgV0tQcmVmZXJlbmNlc1NldEphdmFTY3JpcHRFbmFibGVkKFdLUGFnZUdyb3VwR2V0UHJlZmVy
ZW5jZXMoV2ViS2l0Ojp0b0FQSShfcGFnZUdyb3VwLmdldCgpKSksIGFsbG93c0phdmFTY3JpcHQp
OwogfQogCiAtIChCT09MKWFsbG93c0phdmFTY3JpcHRNYXJrdXAKIHsKLSAgICByZXR1cm4gV0tQ
cmVmZXJlbmNlc0dldEphdmFTY3JpcHRNYXJrdXBFbmFibGVkKFdLUGFnZUdyb3VwR2V0UHJlZmVy
ZW5jZXModG9BUEkoX3BhZ2VHcm91cC5nZXQoKSkpKTsKKyAgICByZXR1cm4gV0tQcmVmZXJlbmNl
c0dldEphdmFTY3JpcHRNYXJrdXBFbmFibGVkKFdLUGFnZUdyb3VwR2V0UHJlZmVyZW5jZXMoV2Vi
S2l0Ojp0b0FQSShfcGFnZUdyb3VwLmdldCgpKSkpOwogfQogCiAtICh2b2lkKXNldEFsbG93c0ph
dmFTY3JpcHRNYXJrdXA6KEJPT0wpYWxsb3dzSmF2YVNjcmlwdE1hcmt1cAogewotICAgIFdLUHJl
ZmVyZW5jZXNTZXRKYXZhU2NyaXB0TWFya3VwRW5hYmxlZChXS1BhZ2VHcm91cEdldFByZWZlcmVu
Y2VzKHRvQVBJKF9wYWdlR3JvdXAuZ2V0KCkpKSwgYWxsb3dzSmF2YVNjcmlwdE1hcmt1cCk7Cisg
ICAgV0tQcmVmZXJlbmNlc1NldEphdmFTY3JpcHRNYXJrdXBFbmFibGVkKFdLUGFnZUdyb3VwR2V0
UHJlZmVyZW5jZXMoV2ViS2l0Ojp0b0FQSShfcGFnZUdyb3VwLmdldCgpKSksIGFsbG93c0phdmFT
Y3JpcHRNYXJrdXApOwogfQogCiAtIChCT09MKWFsbG93c1BsdWdJbnMKIHsKLSAgICByZXR1cm4g
V0tQcmVmZXJlbmNlc0dldFBsdWdpbnNFbmFibGVkKFdLUGFnZUdyb3VwR2V0UHJlZmVyZW5jZXMo
dG9BUEkoX3BhZ2VHcm91cC5nZXQoKSkpKTsKKyAgICByZXR1cm4gV0tQcmVmZXJlbmNlc0dldFBs
dWdpbnNFbmFibGVkKFdLUGFnZUdyb3VwR2V0UHJlZmVyZW5jZXMoV2ViS2l0Ojp0b0FQSShfcGFn
ZUdyb3VwLmdldCgpKSkpOwogfQogCiAtICh2b2lkKXNldEFsbG93c1BsdWdJbnM6KEJPT0wpYWxs
b3dzUGx1Z0lucwogewotICAgIFdLUHJlZmVyZW5jZXNTZXRQbHVnaW5zRW5hYmxlZChXS1BhZ2VH
cm91cEdldFByZWZlcmVuY2VzKHRvQVBJKF9wYWdlR3JvdXAuZ2V0KCkpKSwgYWxsb3dzUGx1Z0lu
cyk7CisgICAgV0tQcmVmZXJlbmNlc1NldFBsdWdpbnNFbmFibGVkKFdLUGFnZUdyb3VwR2V0UHJl
ZmVyZW5jZXMoV2ViS2l0Ojp0b0FQSShfcGFnZUdyb3VwLmdldCgpKSksIGFsbG93c1BsdWdJbnMp
OwogfQogCiAtIChCT09MKXByaXZhdGVCcm93c2luZ0VuYWJsZWQKIHsKLSAgICByZXR1cm4gV0tQ
cmVmZXJlbmNlc0dldFByaXZhdGVCcm93c2luZ0VuYWJsZWQoV0tQYWdlR3JvdXBHZXRQcmVmZXJl
bmNlcyh0b0FQSShfcGFnZUdyb3VwLmdldCgpKSkpOworICAgIHJldHVybiBXS1ByZWZlcmVuY2Vz
R2V0UHJpdmF0ZUJyb3dzaW5nRW5hYmxlZChXS1BhZ2VHcm91cEdldFByZWZlcmVuY2VzKFdlYktp
dDo6dG9BUEkoX3BhZ2VHcm91cC5nZXQoKSkpKTsKIH0KIAogLSAodm9pZClzZXRQcml2YXRlQnJv
d3NpbmdFbmFibGVkOihCT09MKWVuYWJsZVByaXZhdGVCcm93c2luZwogewotICAgIFdLUHJlZmVy
ZW5jZXNTZXRQcml2YXRlQnJvd3NpbmdFbmFibGVkKFdLUGFnZUdyb3VwR2V0UHJlZmVyZW5jZXMo
dG9BUEkoX3BhZ2VHcm91cC5nZXQoKSkpLCBlbmFibGVQcml2YXRlQnJvd3NpbmcpOworICAgIFdL
UHJlZmVyZW5jZXNTZXRQcml2YXRlQnJvd3NpbmdFbmFibGVkKFdLUGFnZUdyb3VwR2V0UHJlZmVy
ZW5jZXMoV2ViS2l0Ojp0b0FQSShfcGFnZUdyb3VwLmdldCgpKSksIGVuYWJsZVByaXZhdGVCcm93
c2luZyk7CiB9CiAKIHN0YXRpYyBXS1JldGFpblB0cjxXS0FycmF5UmVmPiBjcmVhdGVXS0FycmF5
KE5TQXJyYXkgKmFycmF5KQpAQCAtMTI0LDEwICsxMjIsMTAgQEAgc3RhdGljIFdLUmV0YWluUHRy
PFdLQXJyYXlSZWY+IGNyZWF0ZVdLQXJyYXkoTlNBcnJheSAqYXJyYXkpCiAKICAgICBmb3IgKGlk
IGVudHJ5IGluIGFycmF5KSB7CiAgICAgICAgIGlmIChbZW50cnkgaXNLaW5kT2ZDbGFzczpbTlNT
dHJpbmcgY2xhc3NdXSkKLSAgICAgICAgICAgIHN0cmluZ3MudW5jaGVja2VkQXBwZW5kKGFkb3B0
UmVmKHRvSW1wbChXS1N0cmluZ0NyZWF0ZVdpdGhDRlN0cmluZygoX19icmlkZ2UgQ0ZTdHJpbmdS
ZWYpZW50cnkpKSkpOworICAgICAgICAgICAgc3RyaW5ncy51bmNoZWNrZWRBcHBlbmQoYWRvcHRS
ZWYoV2ViS2l0Ojp0b0ltcGwoV0tTdHJpbmdDcmVhdGVXaXRoQ0ZTdHJpbmcoKF9fYnJpZGdlIENG
U3RyaW5nUmVmKWVudHJ5KSkpKTsKICAgICB9CiAKLSAgICByZXR1cm4gdG9BUEkoJkFQSTo6QXJy
YXk6OmNyZWF0ZShXVEZNb3ZlKHN0cmluZ3MpKS5sZWFrUmVmKCkpOworICAgIHJldHVybiBXZWJL
aXQ6OnRvQVBJKCZBUEk6OkFycmF5OjpjcmVhdGUoV1RGTW92ZShzdHJpbmdzKSkubGVha1JlZigp
KTsKIH0KIAogLSh2b2lkKWFkZFVzZXJTdHlsZVNoZWV0OihOU1N0cmluZyAqKXNvdXJjZSBiYXNl
VVJMOihOU1VSTCAqKWJhc2VVUkwgd2hpdGVsaXN0ZWRVUkxQYXR0ZXJuczooTlNBcnJheSAqKXdo
aXRlbGlzdCBibGFja2xpc3RlZFVSTFBhdHRlcm5zOihOU0FycmF5ICopYmxhY2tsaXN0IG1haW5G
cmFtZU9ubHk6KEJPT0wpbWFpbkZyYW1lT25seQpAQCAtMTQxLDEyICsxMzksMTIgQEAgLSh2b2lk
KWFkZFVzZXJTdHlsZVNoZWV0OihOU1N0cmluZyAqKXNvdXJjZSBiYXNlVVJMOihOU1VSTCAqKWJh
c2VVUkwgd2hpdGVsaXN0ZWQKICAgICBhdXRvIHdrQmxhY2tsaXN0ID0gY3JlYXRlV0tBcnJheShi
bGFja2xpc3QpOwogICAgIFdLVXNlckNvbnRlbnRJbmplY3RlZEZyYW1lcyBpbmplY3RlZEZyYW1l
cyA9IG1haW5GcmFtZU9ubHkgPyBrV0tJbmplY3RJblRvcEZyYW1lT25seSA6IGtXS0luamVjdElu
QWxsRnJhbWVzOwogCi0gICAgV0tQYWdlR3JvdXBBZGRVc2VyU3R5bGVTaGVldCh0b0FQSShfcGFn
ZUdyb3VwLmdldCgpKSwgd2tTb3VyY2UuZ2V0KCksIHdrQmFzZVVSTC5nZXQoKSwgd2tXaGl0ZWxp
c3QuZ2V0KCksIHdrQmxhY2tsaXN0LmdldCgpLCBpbmplY3RlZEZyYW1lcyk7CisgICAgV0tQYWdl
R3JvdXBBZGRVc2VyU3R5bGVTaGVldChXZWJLaXQ6OnRvQVBJKF9wYWdlR3JvdXAuZ2V0KCkpLCB3
a1NvdXJjZS5nZXQoKSwgd2tCYXNlVVJMLmdldCgpLCB3a1doaXRlbGlzdC5nZXQoKSwgd2tCbGFj
a2xpc3QuZ2V0KCksIGluamVjdGVkRnJhbWVzKTsKIH0KIAogLSAodm9pZClyZW1vdmVBbGxVc2Vy
U3R5bGVTaGVldHMKIHsKLSAgICBXS1BhZ2VHcm91cFJlbW92ZUFsbFVzZXJTdHlsZVNoZWV0cyh0
b0FQSShfcGFnZUdyb3VwLmdldCgpKSk7CisgICAgV0tQYWdlR3JvdXBSZW1vdmVBbGxVc2VyU3R5
bGVTaGVldHMoV2ViS2l0Ojp0b0FQSShfcGFnZUdyb3VwLmdldCgpKSk7CiB9CiAKIC0gKHZvaWQp
YWRkVXNlclNjcmlwdDooTlNTdHJpbmcgKilzb3VyY2UgYmFzZVVSTDooTlNVUkwgKiliYXNlVVJM
IHdoaXRlbGlzdGVkVVJMUGF0dGVybnM6KE5TQXJyYXkgKil3aGl0ZWxpc3QgYmxhY2tsaXN0ZWRV
UkxQYXR0ZXJuczooTlNBcnJheSAqKWJsYWNrbGlzdCBpbmplY3Rpb25UaW1lOihfV0tVc2VyU2Ny
aXB0SW5qZWN0aW9uVGltZSlpbmplY3Rpb25UaW1lIG1haW5GcmFtZU9ubHk6KEJPT0wpbWFpbkZy
YW1lT25seQpAQCAtMTYwLDEyICsxNTgsMTIgQEAgLSAodm9pZClhZGRVc2VyU2NyaXB0OihOU1N0
cmluZyAqKXNvdXJjZSBiYXNlVVJMOihOU1VSTCAqKWJhc2VVUkwgd2hpdGVsaXN0ZWRVUkwKICAg
ICBhdXRvIHdrQmxhY2tsaXN0ID0gY3JlYXRlV0tBcnJheShibGFja2xpc3QpOwogICAgIFdLVXNl
ckNvbnRlbnRJbmplY3RlZEZyYW1lcyBpbmplY3RlZEZyYW1lcyA9IG1haW5GcmFtZU9ubHkgPyBr
V0tJbmplY3RJblRvcEZyYW1lT25seSA6IGtXS0luamVjdEluQWxsRnJhbWVzOwogCi0gICAgV0tQ
YWdlR3JvdXBBZGRVc2VyU2NyaXB0KHRvQVBJKF9wYWdlR3JvdXAuZ2V0KCkpLCB3a1NvdXJjZS5n
ZXQoKSwgd2tCYXNlVVJMLmdldCgpLCB3a1doaXRlbGlzdC5nZXQoKSwgd2tCbGFja2xpc3QuZ2V0
KCksIGluamVjdGVkRnJhbWVzLCBpbmplY3Rpb25UaW1lKTsKKyAgICBXS1BhZ2VHcm91cEFkZFVz
ZXJTY3JpcHQoV2ViS2l0Ojp0b0FQSShfcGFnZUdyb3VwLmdldCgpKSwgd2tTb3VyY2UuZ2V0KCks
IHdrQmFzZVVSTC5nZXQoKSwgd2tXaGl0ZWxpc3QuZ2V0KCksIHdrQmxhY2tsaXN0LmdldCgpLCBp
bmplY3RlZEZyYW1lcywgaW5qZWN0aW9uVGltZSk7CiB9CiAKIC0gKHZvaWQpcmVtb3ZlQWxsVXNl
clNjcmlwdHMKIHsKLSAgICBXS1BhZ2VHcm91cFJlbW92ZUFsbFVzZXJTY3JpcHRzKHRvQVBJKF9w
YWdlR3JvdXAuZ2V0KCkpKTsKKyAgICBXS1BhZ2VHcm91cFJlbW92ZUFsbFVzZXJTY3JpcHRzKFdl
YktpdDo6dG9BUEkoX3BhZ2VHcm91cC5nZXQoKSkpOwogfQogCiAjcHJhZ21hIG1hcmsgV0tPYmpl
Y3QgcHJvdG9jb2wgaW1wbGVtZW50YXRpb24KQEAgLTE4MSw3ICsxNzksNyBAQCBAaW1wbGVtZW50
YXRpb24gV0tCcm93c2luZ0NvbnRleHRHcm91cCAoUHJpdmF0ZSkKIAogLSAoV0tQYWdlR3JvdXBS
ZWYpX3BhZ2VHcm91cFJlZgogewotICAgIHJldHVybiB0b0FQSShfcGFnZUdyb3VwLmdldCgpKTsK
KyAgICByZXR1cm4gV2ViS2l0Ojp0b0FQSShfcGFnZUdyb3VwLmdldCgpKTsKIH0KIAogQGVuZApk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL1dLQ29ubmVjdGlv
bi5tbSBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS0Nvbm5lY3Rpb24ubW0K
aW5kZXggYWJlNDM0ODNjZTlmZWI2ZDFkYzNlYzIzZDEwNzUwMGMyNDYzMzdjNy4uM2Y3NWM4NWM1
MzdjMGFhNTQzNDFhYTBmNmQyNGEwZDYwNzk1ZTE4MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dC9VSVByb2Nlc3MvQVBJL0NvY29hL1dLQ29ubmVjdGlvbi5tbQorKysgYi9Tb3VyY2UvV2ViS2l0
L1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tDb25uZWN0aW9uLm1tCkBAIC0zNiw4ICszNiw2IEBACiAj
aW1wb3J0IDx3dGYvV2Vha09iakNQdHIuaD4KICNpbXBvcnQgPHd0Zi90ZXh0L1dURlN0cmluZy5o
PgogCi11c2luZyBuYW1lc3BhY2UgV2ViS2l0OwotCiBAaW1wbGVtZW50YXRpb24gV0tDb25uZWN0
aW9uIHsKICAgICBXZWFrT2JqQ1B0cjxpZCA8V0tDb25uZWN0aW9uRGVsZWdhdGU+PiBfZGVsZWdh
dGU7CiB9CkBAIC01Niw3ICs1NCw3IEBAIHN0YXRpYyB2b2lkIGRpZFJlY2VpdmVNZXNzYWdlKFdL
Q29ubmVjdGlvblJlZiwgV0tTdHJpbmdSZWYgbWVzc2FnZU5hbWUsIFdLVHlwZVJlCiAKICAgICBp
ZiAoW2RlbGVnYXRlIHJlc3BvbmRzVG9TZWxlY3RvcjpAc2VsZWN0b3IoY29ubmVjdGlvbjpkaWRS
ZWNlaXZlTWVzc2FnZVdpdGhOYW1lOmJvZHk6KV0pIHsKICAgICAgICAgUmV0YWluUHRyPENGU3Ry
aW5nUmVmPiBuc01lc3NhZ2VOYW1lID0gYWRvcHRDRihXS1N0cmluZ0NvcHlDRlN0cmluZyhrQ0ZB
bGxvY2F0b3JEZWZhdWx0LCBtZXNzYWdlTmFtZSkpOwotICAgICAgICBSZXRhaW5QdHI8aWQ+IG5z
TWVzc2FnZUJvZHkgPSBzdGF0aWNfY2FzdDxPYmpDT2JqZWN0R3JhcGgqPih0b0ltcGwobWVzc2Fn
ZUJvZHkpKS0+cm9vdE9iamVjdCgpOworICAgICAgICBSZXRhaW5QdHI8aWQ+IG5zTWVzc2FnZUJv
ZHkgPSBzdGF0aWNfY2FzdDxXZWJLaXQ6Ok9iakNPYmplY3RHcmFwaCo+KFdlYktpdDo6dG9JbXBs
KG1lc3NhZ2VCb2R5KSktPnJvb3RPYmplY3QoKTsKICAgICAgICAgW2RlbGVnYXRlIGNvbm5lY3Rp
b246Y29ubmVjdGlvbiBkaWRSZWNlaXZlTWVzc2FnZVdpdGhOYW1lOihfX2JyaWRnZSBOU1N0cmlu
ZyAqKW5zTWVzc2FnZU5hbWUuZ2V0KCkgYm9keTpuc01lc3NhZ2VCb2R5LmdldCgpXTsKICAgICB9
CiB9CkBAIC03MCw3ICs2OCw3IEBAIHN0YXRpYyB2b2lkIGRpZENsb3NlKFdLQ29ubmVjdGlvblJl
ZiwgY29uc3Qgdm9pZCogY2xpZW50SW5mbykKICAgICAgICAgW2RlbGVnYXRlIGNvbm5lY3Rpb25E
aWRDbG9zZTpjb25uZWN0aW9uXTsKIH0KIAotc3RhdGljIHZvaWQgc2V0VXBDbGllbnQoV0tDb25u
ZWN0aW9uICp3cmFwcGVyLCBXZWJDb25uZWN0aW9uJiBjb25uZWN0aW9uKQorc3RhdGljIHZvaWQg
c2V0VXBDbGllbnQoV0tDb25uZWN0aW9uICp3cmFwcGVyLCBXZWJLaXQ6OldlYkNvbm5lY3Rpb24m
IGNvbm5lY3Rpb24pCiB7CiAgICAgV0tDb25uZWN0aW9uQ2xpZW50VjAgY2xpZW50OwogICAgIG1l
bXNldCgmY2xpZW50LCAwLCBzaXplb2YoY2xpZW50KSk7CkBAIC05OSwxMyArOTcsMTMgQEAgLSAo
dm9pZClzZXREZWxlZ2F0ZTooaWQgPFdLQ29ubmVjdGlvbkRlbGVnYXRlPilkZWxlZ2F0ZQogCiAt
ICh2b2lkKXNlbmRNZXNzYWdlV2l0aE5hbWU6KE5TU3RyaW5nICopbWVzc2FnZU5hbWUgYm9keToo
aWQpbWVzc2FnZUJvZHkKIHsKLSAgICBSZWZQdHI8T2JqQ09iamVjdEdyYXBoPiB3a01lc3NhZ2VC
b2R5ID0gT2JqQ09iamVjdEdyYXBoOjpjcmVhdGUobWVzc2FnZUJvZHkpOworICAgIFJlZlB0cjxX
ZWJLaXQ6Ok9iakNPYmplY3RHcmFwaD4gd2tNZXNzYWdlQm9keSA9IFdlYktpdDo6T2JqQ09iamVj
dEdyYXBoOjpjcmVhdGUobWVzc2FnZUJvZHkpOwogICAgIHNlbGYuX2Nvbm5lY3Rpb24ucG9zdE1l
c3NhZ2UobWVzc2FnZU5hbWUsIHdrTWVzc2FnZUJvZHkuZ2V0KCkpOwogfQogCi0tIChXZWJDb25u
ZWN0aW9uJilfY29ubmVjdGlvbgorLSAoV2ViS2l0OjpXZWJDb25uZWN0aW9uJilfY29ubmVjdGlv
bgogewotICAgIHJldHVybiBzdGF0aWNfY2FzdDxXZWJDb25uZWN0aW9uJj4oQVBJOjpPYmplY3Q6
OmZyb21XS09iamVjdEV4dHJhU3BhY2Uoc2VsZikpOworICAgIHJldHVybiBzdGF0aWNfY2FzdDxX
ZWJLaXQ6OldlYkNvbm5lY3Rpb24mPihBUEk6Ok9iamVjdDo6ZnJvbVdLT2JqZWN0RXh0cmFTcGFj
ZShzZWxmKSk7CiB9CiAKICNwcmFnbWEgbWFyayBXS09iamVjdCBwcm90b2NvbCBpbXBsZW1lbnRh
dGlvbgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL1dLTlNV
UkxBdXRoZW50aWNhdGlvbkNoYWxsZW5nZS5tbSBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQ
SS9Db2NvYS9XS05TVVJMQXV0aGVudGljYXRpb25DaGFsbGVuZ2UubW0KaW5kZXggZTMzMWZlMjE1
NmUyNzk5MDZlMTRlODEyNDU1ZTQzYzM1NmU3ZWFiOS4uOGZkODQzMDRiNzEwNzMyMmMxZTdkYWZl
ZDY5MzJjYWRkOGIxNmYzMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJ
L0NvY29hL1dLTlNVUkxBdXRoZW50aWNhdGlvbkNoYWxsZW5nZS5tbQorKysgYi9Tb3VyY2UvV2Vi
S2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tOU1VSTEF1dGhlbnRpY2F0aW9uQ2hhbGxlbmdlLm1t
CkBAIC0zMyw5ICszMyw2IEBACiAjaW1wb3J0ICJXZWJDcmVkZW50aWFsLmgiCiAjaW1wb3J0IDxX
ZWJDb3JlL0F1dGhlbnRpY2F0aW9uTWFjLmg+CiAKLXVzaW5nIG5hbWVzcGFjZSBXZWJDb3JlOwot
dXNpbmcgbmFtZXNwYWNlIFdlYktpdDsKLQogQGludGVyZmFjZSBXS05TVVJMQXV0aGVudGljYXRp
b25DaGFsbGVuZ2VTZW5kZXIgOiBOU09iamVjdCA8TlNVUkxBdXRoZW50aWNhdGlvbkNoYWxsZW5n
ZVNlbmRlcj4KIEBlbmQKIApAQCAtNDMsNyArNDAsNyBAQCBAaW1wbGVtZW50YXRpb24gV0tOU1VS
TEF1dGhlbnRpY2F0aW9uQ2hhbGxlbmdlCiAKIC0gKE5TT2JqZWN0ICopX3dlYl9jcmVhdGVUYXJn
ZXQKIHsKLSAgICBBdXRoZW50aWNhdGlvbkNoYWxsZW5nZVByb3h5JiBjaGFsbGVuZ2UgPSAqcmVp
bnRlcnByZXRfY2FzdDxBdXRoZW50aWNhdGlvbkNoYWxsZW5nZVByb3h5Kj4oJnNlbGYuX2FwaU9i
amVjdCk7CisgICAgV2ViS2l0OjpBdXRoZW50aWNhdGlvbkNoYWxsZW5nZVByb3h5JiBjaGFsbGVu
Z2UgPSAqcmVpbnRlcnByZXRfY2FzdDxXZWJLaXQ6OkF1dGhlbnRpY2F0aW9uQ2hhbGxlbmdlUHJv
eHkqPigmc2VsZi5fYXBpT2JqZWN0KTsKIAogICAgIHN0YXRpYyBkaXNwYXRjaF9vbmNlX3QgdG9r
ZW47CiAgICAgc3RhdGljIFdLTlNVUkxBdXRoZW50aWNhdGlvbkNoYWxsZW5nZVNlbmRlciAqc2Vu
ZGVyOwpAQCAtNTQsOSArNTEsOSBAQCAtIChOU09iamVjdCAqKV93ZWJfY3JlYXRlVGFyZ2V0CiAg
ICAgcmV0dXJuIFtbTlNVUkxBdXRoZW50aWNhdGlvbkNoYWxsZW5nZSBhbGxvY10gaW5pdFdpdGhB
dXRoZW50aWNhdGlvbkNoYWxsZW5nZTptYWMoY2hhbGxlbmdlLmNvcmUoKSkgc2VuZGVyOnNlbmRl
cl07CiB9CiAKLS0gKEF1dGhlbnRpY2F0aW9uQ2hhbGxlbmdlUHJveHkmKV93ZWJfYXV0aGVudGlj
YXRpb25DaGFsbGVuZ2VQcm94eQorLSAoV2ViS2l0OjpBdXRoZW50aWNhdGlvbkNoYWxsZW5nZVBy
b3h5Jilfd2ViX2F1dGhlbnRpY2F0aW9uQ2hhbGxlbmdlUHJveHkKIHsKLSAgICByZXR1cm4gKnJl
aW50ZXJwcmV0X2Nhc3Q8QXV0aGVudGljYXRpb25DaGFsbGVuZ2VQcm94eSo+KCZzZWxmLl9hcGlP
YmplY3QpOworICAgIHJldHVybiAqcmVpbnRlcnByZXRfY2FzdDxXZWJLaXQ6OkF1dGhlbnRpY2F0
aW9uQ2hhbGxlbmdlUHJveHkqPigmc2VsZi5fYXBpT2JqZWN0KTsKIH0KIAogQGVuZApAQCAtNzIs
MzUgKzY5LDM1IEBAIHN0YXRpYyB2b2lkIGNoZWNrQ2hhbGxlbmdlKE5TVVJMQXV0aGVudGljYXRp
b25DaGFsbGVuZ2UgKmNoYWxsZW5nZSkKIC0gKHZvaWQpY2FuY2VsQXV0aGVudGljYXRpb25DaGFs
bGVuZ2U6KE5TVVJMQXV0aGVudGljYXRpb25DaGFsbGVuZ2UgKiljaGFsbGVuZ2UKIHsKICAgICBj
aGVja0NoYWxsZW5nZShjaGFsbGVuZ2UpOwotICAgIEF1dGhlbnRpY2F0aW9uQ2hhbGxlbmdlUHJv
eHkmIHdlYkNoYWxsZW5nZSA9ICgoV0tOU1VSTEF1dGhlbnRpY2F0aW9uQ2hhbGxlbmdlICopY2hh
bGxlbmdlKS5fd2ViX2F1dGhlbnRpY2F0aW9uQ2hhbGxlbmdlUHJveHk7CisgICAgV2ViS2l0OjpB
dXRoZW50aWNhdGlvbkNoYWxsZW5nZVByb3h5JiB3ZWJDaGFsbGVuZ2UgPSAoKFdLTlNVUkxBdXRo
ZW50aWNhdGlvbkNoYWxsZW5nZSAqKWNoYWxsZW5nZSkuX3dlYl9hdXRoZW50aWNhdGlvbkNoYWxs
ZW5nZVByb3h5OwogICAgIHdlYkNoYWxsZW5nZS5saXN0ZW5lcigpLT5jYW5jZWwoKTsKIH0KIAog
LSAodm9pZCljb250aW51ZVdpdGhvdXRDcmVkZW50aWFsRm9yQXV0aGVudGljYXRpb25DaGFsbGVu
Z2U6KE5TVVJMQXV0aGVudGljYXRpb25DaGFsbGVuZ2UgKiljaGFsbGVuZ2UKIHsKICAgICBjaGVj
a0NoYWxsZW5nZShjaGFsbGVuZ2UpOwotICAgIEF1dGhlbnRpY2F0aW9uQ2hhbGxlbmdlUHJveHkm
IHdlYkNoYWxsZW5nZSA9ICgoV0tOU1VSTEF1dGhlbnRpY2F0aW9uQ2hhbGxlbmdlICopY2hhbGxl
bmdlKS5fd2ViX2F1dGhlbnRpY2F0aW9uQ2hhbGxlbmdlUHJveHk7CisgICAgV2ViS2l0OjpBdXRo
ZW50aWNhdGlvbkNoYWxsZW5nZVByb3h5JiB3ZWJDaGFsbGVuZ2UgPSAoKFdLTlNVUkxBdXRoZW50
aWNhdGlvbkNoYWxsZW5nZSAqKWNoYWxsZW5nZSkuX3dlYl9hdXRoZW50aWNhdGlvbkNoYWxsZW5n
ZVByb3h5OwogICAgIHdlYkNoYWxsZW5nZS5saXN0ZW5lcigpLT51c2VDcmVkZW50aWFsKG51bGxw
dHIpOwogfQogCiAtICh2b2lkKXVzZUNyZWRlbnRpYWw6KE5TVVJMQ3JlZGVudGlhbCAqKWNyZWRl
bnRpYWwgZm9yQXV0aGVudGljYXRpb25DaGFsbGVuZ2U6KE5TVVJMQXV0aGVudGljYXRpb25DaGFs
bGVuZ2UgKiljaGFsbGVuZ2UKIHsKICAgICBjaGVja0NoYWxsZW5nZShjaGFsbGVuZ2UpOwotICAg
IEF1dGhlbnRpY2F0aW9uQ2hhbGxlbmdlUHJveHkmIHdlYkNoYWxsZW5nZSA9ICgoV0tOU1VSTEF1
dGhlbnRpY2F0aW9uQ2hhbGxlbmdlICopY2hhbGxlbmdlKS5fd2ViX2F1dGhlbnRpY2F0aW9uQ2hh
bGxlbmdlUHJveHk7Ci0gICAgd2ViQ2hhbGxlbmdlLmxpc3RlbmVyKCktPnVzZUNyZWRlbnRpYWwo
V2ViQ3JlZGVudGlhbDo6Y3JlYXRlKENyZWRlbnRpYWwoY3JlZGVudGlhbCkpLnB0cigpKTsKKyAg
ICBXZWJLaXQ6OkF1dGhlbnRpY2F0aW9uQ2hhbGxlbmdlUHJveHkmIHdlYkNoYWxsZW5nZSA9ICgo
V0tOU1VSTEF1dGhlbnRpY2F0aW9uQ2hhbGxlbmdlICopY2hhbGxlbmdlKS5fd2ViX2F1dGhlbnRp
Y2F0aW9uQ2hhbGxlbmdlUHJveHk7CisgICAgd2ViQ2hhbGxlbmdlLmxpc3RlbmVyKCktPnVzZUNy
ZWRlbnRpYWwoV2ViS2l0OjpXZWJDcmVkZW50aWFsOjpjcmVhdGUoV2ViQ29yZTo6Q3JlZGVudGlh
bChjcmVkZW50aWFsKSkucHRyKCkpOwogfQogCiAtICh2b2lkKXBlcmZvcm1EZWZhdWx0SGFuZGxp
bmdGb3JBdXRoZW50aWNhdGlvbkNoYWxsZW5nZTooTlNVUkxBdXRoZW50aWNhdGlvbkNoYWxsZW5n
ZSAqKWNoYWxsZW5nZQogewogICAgIGNoZWNrQ2hhbGxlbmdlKGNoYWxsZW5nZSk7Ci0gICAgQXV0
aGVudGljYXRpb25DaGFsbGVuZ2VQcm94eSYgd2ViQ2hhbGxlbmdlID0gKChXS05TVVJMQXV0aGVu
dGljYXRpb25DaGFsbGVuZ2UgKiljaGFsbGVuZ2UpLl93ZWJfYXV0aGVudGljYXRpb25DaGFsbGVu
Z2VQcm94eTsKKyAgICBXZWJLaXQ6OkF1dGhlbnRpY2F0aW9uQ2hhbGxlbmdlUHJveHkmIHdlYkNo
YWxsZW5nZSA9ICgoV0tOU1VSTEF1dGhlbnRpY2F0aW9uQ2hhbGxlbmdlICopY2hhbGxlbmdlKS5f
d2ViX2F1dGhlbnRpY2F0aW9uQ2hhbGxlbmdlUHJveHk7CiAgICAgd2ViQ2hhbGxlbmdlLmxpc3Rl
bmVyKCktPnBlcmZvcm1EZWZhdWx0SGFuZGxpbmcoKTsKIH0KIAogLSAodm9pZClyZWplY3RQcm90
ZWN0aW9uU3BhY2VBbmRDb250aW51ZVdpdGhDaGFsbGVuZ2U6KE5TVVJMQXV0aGVudGljYXRpb25D
aGFsbGVuZ2UgKiljaGFsbGVuZ2UKIHsKICAgICBjaGVja0NoYWxsZW5nZShjaGFsbGVuZ2UpOwot
ICAgIEF1dGhlbnRpY2F0aW9uQ2hhbGxlbmdlUHJveHkmIHdlYkNoYWxsZW5nZSA9ICgoV0tOU1VS
TEF1dGhlbnRpY2F0aW9uQ2hhbGxlbmdlICopY2hhbGxlbmdlKS5fd2ViX2F1dGhlbnRpY2F0aW9u
Q2hhbGxlbmdlUHJveHk7CisgICAgV2ViS2l0OjpBdXRoZW50aWNhdGlvbkNoYWxsZW5nZVByb3h5
JiB3ZWJDaGFsbGVuZ2UgPSAoKFdLTlNVUkxBdXRoZW50aWNhdGlvbkNoYWxsZW5nZSAqKWNoYWxs
ZW5nZSkuX3dlYl9hdXRoZW50aWNhdGlvbkNoYWxsZW5nZVByb3h5OwogICAgIHdlYkNoYWxsZW5n
ZS5saXN0ZW5lcigpLT5yZWplY3RQcm90ZWN0aW9uU3BhY2VBbmRDb250aW51ZSgpOwogfQogCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tOYXZpZ2F0aW9u
RGF0YS5tbSBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS05hdmlnYXRpb25E
YXRhLm1tCmluZGV4IDNkNGI1MThiZmM5MzQwMDFjNTJiMWQ2NTE0NDI0OGQ5MzJlNjAzNmMuLjBj
ZDUwZWJkZDFiOGI3NmIzMjEyNDNmOGJkNjNiMzY0OTExMzE1ZWIgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS05hdmlnYXRpb25EYXRhLm1tCisrKyBiL1Nv
dXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS05hdmlnYXRpb25EYXRhLm1tCkBAIC0z
Miw4ICszMiw2IEBACiAjaW1wb3J0IDxXZWJDb3JlL1Jlc291cmNlUmVxdWVzdC5oPgogI2ltcG9y
dCA8V2ViQ29yZS9SZXNvdXJjZVJlc3BvbnNlLmg+CiAKLXVzaW5nIG5hbWVzcGFjZSBXZWJLaXQ7
Ci0KIEBpbXBsZW1lbnRhdGlvbiBXS05hdmlnYXRpb25EYXRhIHsKICAgICBBUEk6Ok9iamVjdFN0
b3JhZ2U8QVBJOjpOYXZpZ2F0aW9uRGF0YT4gX2RhdGE7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tQcm9jZXNzR3JvdXAubW0gYi9Tb3VyY2UvV2Vi
S2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tQcm9jZXNzR3JvdXAubW0KaW5kZXggNGQ0MTdiNTQz
YzBlZDg2MjI5OTQyMjIyNmJhMGZhNTczMzFmNTlkZC4uODlmMmQ4ODRmYWU2M2JkN2MzYzRhMjlj
NzEyMzk4ZmRhNDE5ZjRkMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJ
L0NvY29hL1dLUHJvY2Vzc0dyb3VwLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQ
SS9Db2NvYS9XS1Byb2Nlc3NHcm91cC5tbQpAQCAtNTIsMTAgKzUyLDggQEAKICNpbXBvcnQgPFdl
YkNvcmUvV2ViQ29yZVRocmVhZFN5c3RlbUludGVyZmFjZS5oPgogI2VuZGlmCiAKLXVzaW5nIG5h
bWVzcGFjZSBXZWJLaXQ7Ci0KIEBpbXBsZW1lbnRhdGlvbiBXS1Byb2Nlc3NHcm91cCB7Ci0gICAg
UmVmUHRyPFdlYlByb2Nlc3NQb29sPiBfcHJvY2Vzc1Bvb2w7CisgICAgUmVmUHRyPFdlYktpdDo6
V2ViUHJvY2Vzc1Bvb2w+IF9wcm9jZXNzUG9vbDsKIAogICAgIFdlYWtPYmpDUHRyPGlkIDxXS1By
b2Nlc3NHcm91cERlbGVnYXRlPj4gX2RlbGVnYXRlOwogCkBAIC03MCw3ICs2OCw3IEBAIHN0YXRp
YyB2b2lkIGRpZENyZWF0ZUNvbm5lY3Rpb24oV0tDb250ZXh0UmVmLCBXS0Nvbm5lY3Rpb25SZWYg
Y29ubmVjdGlvblJlZiwgY29uCiAgICAgYXV0byBkZWxlZ2F0ZSA9IHByb2Nlc3NHcm91cC0+X2Rl
bGVnYXRlLmdldCgpOwogCiAgICAgaWYgKFtkZWxlZ2F0ZSByZXNwb25kc1RvU2VsZWN0b3I6QHNl
bGVjdG9yKHByb2Nlc3NHcm91cDpkaWRDcmVhdGVDb25uZWN0aW9uVG9XZWJQcm9jZXNzUGx1Z0lu
OildKQotICAgICAgICBbZGVsZWdhdGUgcHJvY2Vzc0dyb3VwOnByb2Nlc3NHcm91cCBkaWRDcmVh
dGVDb25uZWN0aW9uVG9XZWJQcm9jZXNzUGx1Z0luOndyYXBwZXIoKnRvSW1wbChjb25uZWN0aW9u
UmVmKSldOworICAgICAgICBbZGVsZWdhdGUgcHJvY2Vzc0dyb3VwOnByb2Nlc3NHcm91cCBkaWRD
cmVhdGVDb25uZWN0aW9uVG9XZWJQcm9jZXNzUGx1Z0luOndyYXBwZXIoKldlYktpdDo6dG9JbXBs
KGNvbm5lY3Rpb25SZWYpKV07CiB9CiAKIHN0YXRpYyB2b2lkIHNldFVwQ29ubmVjdGlvbkNsaWVu
dChXS1Byb2Nlc3NHcm91cCAqcHJvY2Vzc0dyb3VwLCBXS0NvbnRleHRSZWYgY29udGV4dFJlZikK
QEAgLTExMyw1MCArMTExLDUwIEBAIHN0YXRpYyB2b2lkIHNldFVwSW5qZWN0ZWRCdW5kbGVDbGll
bnQoV0tQcm9jZXNzR3JvdXAgKnByb2Nlc3NHcm91cCwgV0tDb250ZXh0UmVmCiAKIHN0YXRpYyB2
b2lkIGRpZE5hdmlnYXRlV2l0aE5hdmlnYXRpb25EYXRhKFdLQ29udGV4dFJlZiwgV0tQYWdlUmVm
IHBhZ2VSZWYsIFdLTmF2aWdhdGlvbkRhdGFSZWYgbmF2aWdhdGlvbkRhdGFSZWYsIFdLRnJhbWVS
ZWYgZnJhbWVSZWYsIGNvbnN0IHZvaWQqKQogewotICAgIGlmICghdG9JbXBsKGZyYW1lUmVmKS0+
aXNNYWluRnJhbWUoKSkKKyAgICBpZiAoIVdlYktpdDo6dG9JbXBsKGZyYW1lUmVmKS0+aXNNYWlu
RnJhbWUoKSkKICAgICAgICAgcmV0dXJuOwogCiAgICAgV0tCcm93c2luZ0NvbnRleHRDb250cm9s
bGVyICpjb250cm9sbGVyID0gW1dLQnJvd3NpbmdDb250ZXh0Q29udHJvbGxlciBfYnJvd3NpbmdD
b250ZXh0Q29udHJvbGxlckZvclBhZ2VSZWY6cGFnZVJlZl07CiAgICAgYXV0byBoaXN0b3J5RGVs
ZWdhdGUgPSBjb250cm9sbGVyLT5faGlzdG9yeURlbGVnYXRlLmdldCgpOwogCiAgICAgaWYgKFto
aXN0b3J5RGVsZWdhdGUgcmVzcG9uZHNUb1NlbGVjdG9yOkBzZWxlY3Rvcihicm93c2luZ0NvbnRl
eHRDb250cm9sbGVyOmRpZE5hdmlnYXRlV2l0aE5hdmlnYXRpb25EYXRhOildKQotICAgICAgICBb
aGlzdG9yeURlbGVnYXRlIGJyb3dzaW5nQ29udGV4dENvbnRyb2xsZXI6Y29udHJvbGxlciBkaWRO
YXZpZ2F0ZVdpdGhOYXZpZ2F0aW9uRGF0YTp3cmFwcGVyKCp0b0ltcGwobmF2aWdhdGlvbkRhdGFS
ZWYpKV07CisgICAgICAgIFtoaXN0b3J5RGVsZWdhdGUgYnJvd3NpbmdDb250ZXh0Q29udHJvbGxl
cjpjb250cm9sbGVyIGRpZE5hdmlnYXRlV2l0aE5hdmlnYXRpb25EYXRhOndyYXBwZXIoKldlYktp
dDo6dG9JbXBsKG5hdmlnYXRpb25EYXRhUmVmKSldOwogfQogCiBzdGF0aWMgdm9pZCBkaWRQZXJm
b3JtQ2xpZW50UmVkaXJlY3QoV0tDb250ZXh0UmVmLCBXS1BhZ2VSZWYgcGFnZVJlZiwgV0tVUkxS
ZWYgc291cmNlVVJMUmVmLCBXS1VSTFJlZiBkZXN0aW5hdGlvblVSTFJlZiwgV0tGcmFtZVJlZiBm
cmFtZVJlZiwgY29uc3Qgdm9pZCopCiB7Ci0gICAgaWYgKCF0b0ltcGwoZnJhbWVSZWYpLT5pc01h
aW5GcmFtZSgpKQorICAgIGlmICghV2ViS2l0Ojp0b0ltcGwoZnJhbWVSZWYpLT5pc01haW5GcmFt
ZSgpKQogICAgICAgICByZXR1cm47CiAKICAgICBXS0Jyb3dzaW5nQ29udGV4dENvbnRyb2xsZXIg
KmNvbnRyb2xsZXIgPSBbV0tCcm93c2luZ0NvbnRleHRDb250cm9sbGVyIF9icm93c2luZ0NvbnRl
eHRDb250cm9sbGVyRm9yUGFnZVJlZjpwYWdlUmVmXTsKICAgICBhdXRvIGhpc3RvcnlEZWxlZ2F0
ZSA9IGNvbnRyb2xsZXItPl9oaXN0b3J5RGVsZWdhdGUuZ2V0KCk7CiAKICAgICBpZiAoW2hpc3Rv
cnlEZWxlZ2F0ZSByZXNwb25kc1RvU2VsZWN0b3I6QHNlbGVjdG9yKGJyb3dzaW5nQ29udGV4dENv
bnRyb2xsZXI6ZGlkUGVyZm9ybUNsaWVudFJlZGlyZWN0RnJvbVVSTDp0b1VSTDopXSkKLSAgICAg
ICAgW2hpc3RvcnlEZWxlZ2F0ZSBicm93c2luZ0NvbnRleHRDb250cm9sbGVyOmNvbnRyb2xsZXIg
ZGlkUGVyZm9ybUNsaWVudFJlZGlyZWN0RnJvbVVSTDp3cmFwcGVyKCp0b0ltcGwoc291cmNlVVJM
UmVmKSkgdG9VUkw6d3JhcHBlcigqdG9JbXBsKGRlc3RpbmF0aW9uVVJMUmVmKSldOworICAgICAg
ICBbaGlzdG9yeURlbGVnYXRlIGJyb3dzaW5nQ29udGV4dENvbnRyb2xsZXI6Y29udHJvbGxlciBk
aWRQZXJmb3JtQ2xpZW50UmVkaXJlY3RGcm9tVVJMOndyYXBwZXIoKldlYktpdDo6dG9JbXBsKHNv
dXJjZVVSTFJlZikpIHRvVVJMOndyYXBwZXIoKldlYktpdDo6dG9JbXBsKGRlc3RpbmF0aW9uVVJM
UmVmKSldOwogfQogCiBzdGF0aWMgdm9pZCBkaWRQZXJmb3JtU2VydmVyUmVkaXJlY3QoV0tDb250
ZXh0UmVmLCBXS1BhZ2VSZWYgcGFnZVJlZiwgV0tVUkxSZWYgc291cmNlVVJMUmVmLCBXS1VSTFJl
ZiBkZXN0aW5hdGlvblVSTFJlZiwgV0tGcmFtZVJlZiBmcmFtZVJlZiwgY29uc3Qgdm9pZCopCiB7
Ci0gICAgaWYgKCF0b0ltcGwoZnJhbWVSZWYpLT5pc01haW5GcmFtZSgpKQorICAgIGlmICghV2Vi
S2l0Ojp0b0ltcGwoZnJhbWVSZWYpLT5pc01haW5GcmFtZSgpKQogICAgICAgICByZXR1cm47CiAK
ICAgICBXS0Jyb3dzaW5nQ29udGV4dENvbnRyb2xsZXIgKmNvbnRyb2xsZXIgPSBbV0tCcm93c2lu
Z0NvbnRleHRDb250cm9sbGVyIF9icm93c2luZ0NvbnRleHRDb250cm9sbGVyRm9yUGFnZVJlZjpw
YWdlUmVmXTsKICAgICBhdXRvIGhpc3RvcnlEZWxlZ2F0ZSA9IGNvbnRyb2xsZXItPl9oaXN0b3J5
RGVsZWdhdGUuZ2V0KCk7CiAKICAgICBpZiAoW2hpc3RvcnlEZWxlZ2F0ZSByZXNwb25kc1RvU2Vs
ZWN0b3I6QHNlbGVjdG9yKGJyb3dzaW5nQ29udGV4dENvbnRyb2xsZXI6ZGlkUGVyZm9ybVNlcnZl
clJlZGlyZWN0RnJvbVVSTDp0b1VSTDopXSkKLSAgICAgICAgW2hpc3RvcnlEZWxlZ2F0ZSBicm93
c2luZ0NvbnRleHRDb250cm9sbGVyOmNvbnRyb2xsZXIgZGlkUGVyZm9ybVNlcnZlclJlZGlyZWN0
RnJvbVVSTDp3cmFwcGVyKCp0b0ltcGwoc291cmNlVVJMUmVmKSkgdG9VUkw6d3JhcHBlcigqdG9J
bXBsKGRlc3RpbmF0aW9uVVJMUmVmKSldOworICAgICAgICBbaGlzdG9yeURlbGVnYXRlIGJyb3dz
aW5nQ29udGV4dENvbnRyb2xsZXI6Y29udHJvbGxlciBkaWRQZXJmb3JtU2VydmVyUmVkaXJlY3RG
cm9tVVJMOndyYXBwZXIoKldlYktpdDo6dG9JbXBsKHNvdXJjZVVSTFJlZikpIHRvVVJMOndyYXBw
ZXIoKldlYktpdDo6dG9JbXBsKGRlc3RpbmF0aW9uVVJMUmVmKSldOwogfQogCiBzdGF0aWMgdm9p
ZCBkaWRVcGRhdGVIaXN0b3J5VGl0bGUoV0tDb250ZXh0UmVmLCBXS1BhZ2VSZWYgcGFnZVJlZiwg
V0tTdHJpbmdSZWYgdGl0bGVSZWYsIFdLVVJMUmVmIHVybFJlZiwgV0tGcmFtZVJlZiBmcmFtZVJl
ZiwgY29uc3Qgdm9pZCopCiB7Ci0gICAgaWYgKCF0b0ltcGwoZnJhbWVSZWYpLT5pc01haW5GcmFt
ZSgpKQorICAgIGlmICghV2ViS2l0Ojp0b0ltcGwoZnJhbWVSZWYpLT5pc01haW5GcmFtZSgpKQog
ICAgICAgICByZXR1cm47CiAKICAgICBXS0Jyb3dzaW5nQ29udGV4dENvbnRyb2xsZXIgKmNvbnRy
b2xsZXIgPSBbV0tCcm93c2luZ0NvbnRleHRDb250cm9sbGVyIF9icm93c2luZ0NvbnRleHRDb250
cm9sbGVyRm9yUGFnZVJlZjpwYWdlUmVmXTsKICAgICBhdXRvIGhpc3RvcnlEZWxlZ2F0ZSA9IGNv
bnRyb2xsZXItPl9oaXN0b3J5RGVsZWdhdGUuZ2V0KCk7CiAKICAgICBpZiAoW2hpc3RvcnlEZWxl
Z2F0ZSByZXNwb25kc1RvU2VsZWN0b3I6QHNlbGVjdG9yKGJyb3dzaW5nQ29udGV4dENvbnRyb2xs
ZXI6ZGlkVXBkYXRlSGlzdG9yeVRpdGxlOmZvclVSTDopXSkKLSAgICAgICAgW2hpc3RvcnlEZWxl
Z2F0ZSBicm93c2luZ0NvbnRleHRDb250cm9sbGVyOmNvbnRyb2xsZXIgZGlkVXBkYXRlSGlzdG9y
eVRpdGxlOndyYXBwZXIoKnRvSW1wbCh0aXRsZVJlZikpIGZvclVSTDp3cmFwcGVyKCp0b0ltcGwo
dXJsUmVmKSldOworICAgICAgICBbaGlzdG9yeURlbGVnYXRlIGJyb3dzaW5nQ29udGV4dENvbnRy
b2xsZXI6Y29udHJvbGxlciBkaWRVcGRhdGVIaXN0b3J5VGl0bGU6d3JhcHBlcigqV2ViS2l0Ojp0
b0ltcGwodGl0bGVSZWYpKSBmb3JVUkw6d3JhcHBlcigqV2ViS2l0Ojp0b0ltcGwodXJsUmVmKSld
OwogfQogCiBzdGF0aWMgdm9pZCBzZXRVcEhpc3RvcnlDbGllbnQoV0tQcm9jZXNzR3JvdXAgKnBy
b2Nlc3NHcm91cCwgV0tDb250ZXh0UmVmIGNvbnRleHRSZWYpCkBAIC0xODgsNyArMTg2LDcgQEAg
LSAoaWQpaW5pdFdpdGhJbmplY3RlZEJ1bmRsZVVSTDooTlNVUkwgKilidW5kbGVVUkwKICAgICBh
dXRvIGNvbmZpZ3VyYXRpb24gPSBBUEk6OlByb2Nlc3NQb29sQ29uZmlndXJhdGlvbjo6Y3JlYXRl
V2l0aExlZ2FjeU9wdGlvbnMoKTsKICAgICBjb25maWd1cmF0aW9uLT5zZXRJbmplY3RlZEJ1bmRs
ZVBhdGgoYnVuZGxlVVJMID8gU3RyaW5nKGJ1bmRsZVVSTC5wYXRoKSA6IFN0cmluZygpKTsKIAot
ICAgIF9wcm9jZXNzUG9vbCA9IFdlYlByb2Nlc3NQb29sOjpjcmVhdGUoY29uZmlndXJhdGlvbik7
CisgICAgX3Byb2Nlc3NQb29sID0gV2ViS2l0OjpXZWJQcm9jZXNzUG9vbDo6Y3JlYXRlKGNvbmZp
Z3VyYXRpb24pOwogCiAgICAgc2V0VXBDb25uZWN0aW9uQ2xpZW50KHNlbGYsIHRvQVBJKF9wcm9j
ZXNzUG9vbC5nZXQoKSkpOwogICAgIHNldFVwSW5qZWN0ZWRCdW5kbGVDbGllbnQoc2VsZiwgdG9B
UEkoX3Byb2Nlc3NQb29sLmdldCgpKSk7CkBAIC0yMTgsNyArMjE2LDcgQEAgLSAoV0tDb250ZXh0
UmVmKV9jb250ZXh0UmVmCiAKIC0gKHZvaWQpX3NldEFsbG93c1NwZWNpZmljSFRUUFNDZXJ0aWZp
Y2F0ZTooTlNBcnJheSAqKWNlcnRpZmljYXRlQ2hhaW4gZm9ySG9zdDooTlNTdHJpbmcgKilob3N0
CiB7Ci0gICAgX3Byb2Nlc3NQb29sLT5hbGxvd1NwZWNpZmljSFRUUFNDZXJ0aWZpY2F0ZUZvckhv
c3QoV2ViQ2VydGlmaWNhdGVJbmZvOjpjcmVhdGUoV2ViQ29yZTo6Q2VydGlmaWNhdGVJbmZvKChf
X2JyaWRnZSBDRkFycmF5UmVmKWNlcnRpZmljYXRlQ2hhaW4pKS5wdHIoKSwgaG9zdCk7CisgICAg
X3Byb2Nlc3NQb29sLT5hbGxvd1NwZWNpZmljSFRUUFNDZXJ0aWZpY2F0ZUZvckhvc3QoV2ViS2l0
OjpXZWJDZXJ0aWZpY2F0ZUluZm86OmNyZWF0ZShXZWJDb3JlOjpDZXJ0aWZpY2F0ZUluZm8oKF9f
YnJpZGdlIENGQXJyYXlSZWYpY2VydGlmaWNhdGVDaGFpbikpLnB0cigpLCBob3N0KTsKIH0KIAog
I2lmIFBMQVRGT1JNKElPUykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQ
SS9Db2NvYS9XS1VSTFNjaGVtZVRhc2subW0gYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkv
Q29jb2EvV0tVUkxTY2hlbWVUYXNrLm1tCmluZGV4IGZhZDg4NzU0NjM4OTY2Y2E1YzFlMjQ1M2Rm
MWYzM2U2ZGMzMzg2OTUuLmM1OGMxM2M1YzBhNDZkMjY4Njc3NmY3Zjg4MDA5NDY5YzEyNDk4MDYg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1VSTFNjaGVt
ZVRhc2subW0KKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL1dLVVJMU2No
ZW1lVGFzay5tbQpAQCAtMzUsOCArMzUsNiBAQAogI2ltcG9ydCA8V2ViQ29yZS9TaGFyZWRCdWZm
ZXIuaD4KICNpbXBvcnQgPHd0Zi9CbG9ja1B0ci5oPgogCi11c2luZyBuYW1lc3BhY2UgV2ViQ29y
ZTsKLQogc3RhdGljIHZvaWQgcmFpc2VFeGNlcHRpb25JZk5lY2Vzc2FyeShXZWJLaXQ6OldlYlVS
TFNjaGVtZVRhc2s6OkV4Y2VwdGlvblR5cGUgZXhjZXB0aW9uVHlwZSkKIHsKICAgICBzd2l0Y2gg
KGV4Y2VwdGlvblR5cGUpIHsKQEAgLTcxLDcgKzY5LDcgQEAgLSAodm9pZClkZWFsbG9jCiAKIC0g
KE5TVVJMUmVxdWVzdCAqKXJlcXVlc3QKIHsKLSAgICByZXR1cm4gX3VybFNjaGVtZVRhc2stPnRh
c2soKS5yZXF1ZXN0KCkubnNVUkxSZXF1ZXN0KEhUVFBCb2R5VXBkYXRlUG9saWN5OjpVcGRhdGVI
VFRQQm9keSk7CisgICAgcmV0dXJuIF91cmxTY2hlbWVUYXNrLT50YXNrKCkucmVxdWVzdCgpLm5z
VVJMUmVxdWVzdChXZWJDb3JlOjpIVFRQQm9keVVwZGF0ZVBvbGljeTo6VXBkYXRlSFRUUEJvZHkp
OwogfQogCiAtICh2b2lkKWRpZFJlY2VpdmVSZXNwb25zZTooTlNVUkxSZXNwb25zZSAqKXJlc3Bv
bnNlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJW
aWV3Q29uZmlndXJhdGlvbi5tbSBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9X
S1dlYlZpZXdDb25maWd1cmF0aW9uLm1tCmluZGV4IDg0NzhkYjJjZTNjNjdlZTUwNzdlYzUwYjBl
NTA0MWJlOTRhZWY1OTIuLjJkODUzYzc2OWIyMDhkMzNkMmFjODJmM2MxYmJmMjA0OWNhYzBhNTIg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXdD
b25maWd1cmF0aW9uLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9X
S1dlYlZpZXdDb25maWd1cmF0aW9uLm1tCkBAIC01Myw4ICs1Myw2IEBACiAjaW1wb3J0IDxXZWJD
b3JlL0RldmljZS5oPgogI2VuZGlmCiAKLXVzaW5nIG5hbWVzcGFjZSBXZWJDb3JlOwotCiB0ZW1w
bGF0ZTx0eXBlbmFtZSBUPiBjbGFzcyBMYXp5SW5pdGlhbGl6ZWQgewogcHVibGljOgogICAgIHR5
cGVkZWYgdHlwZW5hbWUgV1RGOjpHZXRQdHJIZWxwZXI8VD46OlB0clR5cGUgUHRyVHlwZTsKQEAg
LTIzOCw3ICsyMzYsNyBAQCAtIChpbnN0YW5jZXR5cGUpaW5pdAogICAgIF9zeXN0ZW1QcmV2aWV3
RW5hYmxlZCA9IE5POwogI2VuZGlmIC8vIFBMQVRGT1JNKElPUykKIAotICAgIF9tZWRpYUNvbnRl
bnRUeXBlc1JlcXVpcmluZ0hhcmR3YXJlU3VwcG9ydCA9IFNldHRpbmdzOjpkZWZhdWx0TWVkaWFD
b250ZW50VHlwZXNSZXF1aXJpbmdIYXJkd2FyZVN1cHBvcnQoKTsKKyAgICBfbWVkaWFDb250ZW50
VHlwZXNSZXF1aXJpbmdIYXJkd2FyZVN1cHBvcnQgPSBXZWJDb3JlOjpTZXR0aW5nczo6ZGVmYXVs
dE1lZGlhQ29udGVudFR5cGVzUmVxdWlyaW5nSGFyZHdhcmVTdXBwb3J0KCk7CiAgICAgX2FsbG93
TWVkaWFDb250ZW50VHlwZXNSZXF1aXJpbmdIYXJkd2FyZVN1cHBvcnRBc0ZhbGxiYWNrID0gWUVT
OwogCiAgICAgX2NvbG9yRmlsdGVyRW5hYmxlZCA9IE5POwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL1dLV2Vic2l0ZURhdGFTdG9yZS5tbSBiL1NvdXJjZS9X
ZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYnNpdGVEYXRhU3RvcmUubW0KaW5kZXggZmQ4
NWVmNmZlZDlmMDBjNzQ0MjhkYmQ3NDk4ZmNkYjk5NWM2M2Q5MS4uYzY0OWZmNmNiY2VhNWExZGE0
NWYzNjBiZTUzOWM3ZGJjNDkyODMyNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nl
c3MvQVBJL0NvY29hL1dLV2Vic2l0ZURhdGFTdG9yZS5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L1VJ
UHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJzaXRlRGF0YVN0b3JlLm1tCkBAIC00Miw4ICs0Miw2IEBA
CiAjaW1wb3J0IDxXZWJLaXQvU2VydmljZVdvcmtlclByb2Nlc3NQcm94eS5oPgogI2ltcG9ydCA8
d3RmL0Jsb2NrUHRyLmg+CiAKLXVzaW5nIG5hbWVzcGFjZSBXZWJDb3JlOwotCiBAaW1wbGVtZW50
YXRpb24gV0tXZWJzaXRlRGF0YVN0b3JlCiAKICsgKFdLV2Vic2l0ZURhdGFTdG9yZSAqKWRlZmF1
bHREYXRhU3RvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2Nv
YS9fV0tBdHRhY2htZW50Lm1tIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL19X
S0F0dGFjaG1lbnQubW0KaW5kZXggODExMjQwZDI4NDJmNTBlN2I5MjRmZDg1MmEwZjJiNjgwZmQx
NTNjZS4uNjlhYTc4MDQwYjYzZDNhMjc3YmU0YjA3ODAyZWVhNThlYzI3OTc5MSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL19XS0F0dGFjaG1lbnQubW0KKysr
IGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL19XS0F0dGFjaG1lbnQubW0KQEAg
LTM5LDggKzM5LDYgQEAKICNpbXBvcnQgPE1vYmlsZUNvcmVTZXJ2aWNlcy9Nb2JpbGVDb3JlU2Vy
dmljZXMuaD4KICNlbmRpZgogCi11c2luZyBuYW1lc3BhY2UgV2ViS2l0OwotCiBzdGF0aWMgY29u
c3QgTlNJbnRlZ2VyIFVuc3BlY2lmaWVkQXR0YWNobWVudEVycm9yQ29kZSA9IDE7CiBzdGF0aWMg
Y29uc3QgTlNJbnRlZ2VyIEludmFsaWRBdHRhY2htZW50RXJyb3JDb2RlID0gMjsKIApAQCAtMTM5
LDcgKzEzNyw3IEBAIC0gKHZvaWQpc2V0RmlsZVdyYXBwZXI6KE5TRmlsZVdyYXBwZXIgKilmaWxl
V3JhcHBlciBjb250ZW50VHlwZTooTlNTdHJpbmcgKiljb250CiAgICAgICAgIGlmICghY2FwdHVy
ZWRCbG9jaykKICAgICAgICAgICAgIHJldHVybjsKIAotICAgICAgICBpZiAoZXJyb3IgPT0gQ2Fs
bGJhY2tCYXNlOjpFcnJvcjo6Tm9uZSkKKyAgICAgICAgaWYgKGVycm9yID09IFdlYktpdDo6Q2Fs
bGJhY2tCYXNlOjpFcnJvcjo6Tm9uZSkKICAgICAgICAgICAgIGNhcHR1cmVkQmxvY2sobmlsKTsK
ICAgICAgICAgZWxzZQogICAgICAgICAgICAgY2FwdHVyZWRCbG9jayhbTlNFcnJvciBlcnJvcldp
dGhEb21haW46V0tFcnJvckRvbWFpbiBjb2RlOlVuc3BlY2lmaWVkQXR0YWNobWVudEVycm9yQ29k
ZSB1c2VySW5mbzpuaWxdKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQ
SS9Db2NvYS9fV0tHZW9sb2NhdGlvblBvc2l0aW9uLm1tIGIvU291cmNlL1dlYktpdC9VSVByb2Nl
c3MvQVBJL0NvY29hL19XS0dlb2xvY2F0aW9uUG9zaXRpb24ubW0KaW5kZXggZTg0MjYwMjRjOGIx
NTM4OTk2OGUxZjkzNzU4YTkxZmE1ZTM0ZTFjNy4uZmU0ODc1MGM0OWI1ODQyZTIxMDk5ZWIwZDE4
NjIzN2I4MWY5YzA1MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0Nv
Y29hL19XS0dlb2xvY2F0aW9uUG9zaXRpb24ubW0KKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nl
c3MvQVBJL0NvY29hL19XS0dlb2xvY2F0aW9uUG9zaXRpb24ubW0KQEAgLTMwLDggKzMwLDYgQEAK
IAogI2ltcG9ydCA8Q29yZUxvY2F0aW9uL0NMTG9jYXRpb24uaD4KIAotdXNpbmcgbmFtZXNwYWNl
IFdlYktpdDsKLQogQGltcGxlbWVudGF0aW9uIF9XS0dlb2xvY2F0aW9uUG9zaXRpb24KIAogKyAo
aW5zdGFuY2V0eXBlKXBvc2l0aW9uV2l0aExvY2F0aW9uOihDTExvY2F0aW9uICopbG9jYXRpb24K
QEAgLTM5LDcgKzM3LDcgQEAgKyAoaW5zdGFuY2V0eXBlKXBvc2l0aW9uV2l0aExvY2F0aW9uOihD
TExvY2F0aW9uICopbG9jYXRpb24KICAgICBpZiAoIWxvY2F0aW9uKQogICAgICAgICByZXR1cm4g
bmlsOwogCi0gICAgcmV0dXJuIHdyYXBwZXIoV2ViR2VvbG9jYXRpb25Qb3NpdGlvbjo6Y3JlYXRl
KFdlYkNvcmU6Okdlb2xvY2F0aW9uUG9zaXRpb24geyBsb2NhdGlvbiB9KSk7CisgICAgcmV0dXJu
IHdyYXBwZXIoV2ViS2l0OjpXZWJHZW9sb2NhdGlvblBvc2l0aW9uOjpjcmVhdGUoV2ViQ29yZTo6
R2VvbG9jYXRpb25Qb3NpdGlvbiB7IGxvY2F0aW9uIH0pKTsKIH0KIAogLSAodm9pZClkZWFsbG9j
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvX1dLUmVtb3Rl
V2ViSW5zcGVjdG9yVmlld0NvbnRyb2xsZXIubW0gYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9B
UEkvQ29jb2EvX1dLUmVtb3RlV2ViSW5zcGVjdG9yVmlld0NvbnRyb2xsZXIubW0KaW5kZXggNjli
ZDM2ZDg0ZGJmOWQ0OTEwNjA5NzYyZjBkZjUxOTg3Y2FhZTExYS4uYjFlMTc1YTJmN2M3MTMxMmNk
NTUzMzNhZjU0MjQ1MTU3ZmUwOTI3MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nl
c3MvQVBJL0NvY29hL19XS1JlbW90ZVdlYkluc3BlY3RvclZpZXdDb250cm9sbGVyLm1tCisrKyBi
L1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9fV0tSZW1vdGVXZWJJbnNwZWN0b3JW
aWV3Q29udHJvbGxlci5tbQpAQCAtMzAsOCArMzAsNiBAQAogCiAjaW1wb3J0ICJSZW1vdGVXZWJJ
bnNwZWN0b3JQcm94eS5oIgogCi11c2luZyBuYW1lc3BhY2UgV2ViS2l0OwotCiBAaW50ZXJmYWNl
IF9XS1JlbW90ZVdlYkluc3BlY3RvclZpZXdDb250cm9sbGVyICgpCiAtICh2b2lkKXNlbmRNZXNz
YWdlVG9CYWNrZW5kOihOU1N0cmluZyAqKW1lc3NhZ2U7CiAtICh2b2lkKWNsb3NlRnJvbUZyb250
ZW5kOwpAQCAtNjcsOCArNjUsOCBAQCBwcml2YXRlOgogfSAvLyBuYW1lc3BhY2UgV2ViS2l0CiAK
IEBpbXBsZW1lbnRhdGlvbiBfV0tSZW1vdGVXZWJJbnNwZWN0b3JWaWV3Q29udHJvbGxlciB7Ci0g
ICAgUmVmUHRyPFJlbW90ZVdlYkluc3BlY3RvclByb3h5PiBtX3JlbW90ZUluc3BlY3RvclByb3h5
OwotICAgIHN0ZDo6dW5pcXVlX3B0cjxfV0tSZW1vdGVXZWJJbnNwZWN0b3JQcm94eUNsaWVudD4g
bV9yZW1vdGVJbnNwZWN0b3JDbGllbnQ7CisgICAgUmVmUHRyPFdlYktpdDo6UmVtb3RlV2ViSW5z
cGVjdG9yUHJveHk+IG1fcmVtb3RlSW5zcGVjdG9yUHJveHk7CisgICAgc3RkOjp1bmlxdWVfcHRy
PFdlYktpdDo6X1dLUmVtb3RlV2ViSW5zcGVjdG9yUHJveHlDbGllbnQ+IG1fcmVtb3RlSW5zcGVj
dG9yQ2xpZW50OwogfQogCiAtIChpbnN0YW5jZXR5cGUpaW5pdApAQCAtNzYsOCArNzQsOCBAQCAt
IChpbnN0YW5jZXR5cGUpaW5pdAogICAgIGlmICghKHNlbGYgPSBbc3VwZXIgaW5pdF0pKQogICAg
ICAgICByZXR1cm4gbmlsOwogCi0gICAgbV9yZW1vdGVJbnNwZWN0b3JQcm94eSA9IFJlbW90ZVdl
Ykluc3BlY3RvclByb3h5OjpjcmVhdGUoKTsKLSAgICBtX3JlbW90ZUluc3BlY3RvckNsaWVudCA9
IHN0ZDo6bWFrZV91bmlxdWU8X1dLUmVtb3RlV2ViSW5zcGVjdG9yUHJveHlDbGllbnQ+KHNlbGYp
OworICAgIG1fcmVtb3RlSW5zcGVjdG9yUHJveHkgPSBXZWJLaXQ6OlJlbW90ZVdlYkluc3BlY3Rv
clByb3h5OjpjcmVhdGUoKTsKKyAgICBtX3JlbW90ZUluc3BlY3RvckNsaWVudCA9IHN0ZDo6bWFr
ZV91bmlxdWU8V2ViS2l0OjpfV0tSZW1vdGVXZWJJbnNwZWN0b3JQcm94eUNsaWVudD4oc2VsZik7
CiAgICAgbV9yZW1vdGVJbnNwZWN0b3JQcm94eS0+c2V0Q2xpZW50KG1fcmVtb3RlSW5zcGVjdG9y
Q2xpZW50LmdldCgpKTsKIAogICAgIHJldHVybiBzZWxmOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL19XS1RodW1ibmFpbFZpZXcubW0gYi9Tb3VyY2UvV2Vi
S2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvX1dLVGh1bWJuYWlsVmlldy5tbQppbmRleCA1ZDc2NzIz
MjQzNWRiMWRhM2MzYTMzYTQ5YTUyOTNiZDZjMmQyMmQ4Li4zNGIxMGYwYjM1ZmNhY2M1NmZhNDhl
NTQzNDA0MTRiMzM2YTBlMzQ1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9B
UEkvQ29jb2EvX1dLVGh1bWJuYWlsVmlldy5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vz
cy9BUEkvQ29jb2EvX1dLVGh1bWJuYWlsVmlldy5tbQpAQCAtNDMsMTMgKzQzLDEwIEBACiAvLyBG
SVhNRTogV2Ugc2hvdWxkIHJlLXVzZSBleGlzdGluZyB0aWxlcyBmb3IgdW5wYXJlbnRlZCB2aWV3
cywgaWYgd2UgaGF2ZSB0aGVtICh3ZSBuZWVkIHRvIGtub3cgaWYgdGhleSd2ZSBiZWVuIHB1cmdl
ZDsgaWYgc28sIHJlcGFpbnQgYXQgc2NhbGVkLWRvd24gc2l6ZSkuCiAvLyBGSVhNRTogV2Ugc2hv
dWxkIHN3aXRjaCB0byB0aGUgbG93LXJlc29sdXRpb24gc2NhbGUgaWYgYSB2aWV3IHdlIGhhdmUg
aGlnaC1yZXNvbHV0aW9uIHRpbGVzIGZvciByZXBhaW50cy4KIAotdXNpbmcgbmFtZXNwYWNlIFdl
YkNvcmU7Ci11c2luZyBuYW1lc3BhY2UgV2ViS2l0OwotCiBAaW1wbGVtZW50YXRpb24gX1dLVGh1
bWJuYWlsVmlldyB7CiAgICAgUmV0YWluUHRyPFdLVmlldz4gX3drVmlldzsKICAgICBSZXRhaW5Q
dHI8V0tXZWJWaWV3PiBfd2tXZWJWaWV3OwotICAgIFdlYlBhZ2VQcm94eSogX3dlYlBhZ2VQcm94
eTsKKyAgICBXZWJLaXQ6OldlYlBhZ2VQcm94eSogX3dlYlBhZ2VQcm94eTsKIAogICAgIEJPT0wg
X29yaWdpbmFsTWF5U3RhcnRNZWRpYVdoZW5JbldpbmRvdzsKICAgICBCT09MIF9vcmlnaW5hbFNv
dXJjZVZpZXdJc0luV2luZG93OwpAQCAtODQsNyArODEsNyBAQCAtIChpbnN0YW5jZXR5cGUpaW5p
dFdpdGhGcmFtZTooTlNSZWN0KWZyYW1lIGZyb21XS1ZpZXc6KFdLVmlldyAqKXdrVmlldwogICAg
ICAgICByZXR1cm4gbmlsOwogCiAgICAgX3drVmlldyA9IHdrVmlldzsKLSAgICBfd2ViUGFnZVBy
b3h5ID0gdG9JbXBsKFtfd2tWaWV3IHBhZ2VSZWZdKTsKKyAgICBfd2ViUGFnZVByb3h5ID0gV2Vi
S2l0Ojp0b0ltcGwoW193a1ZpZXcgcGFnZVJlZl0pOwogICAgIF9vcmlnaW5hbE1heVN0YXJ0TWVk
aWFXaGVuSW5XaW5kb3cgPSBfd2ViUGFnZVByb3h5LT5tYXlTdGFydE1lZGlhV2hlbkluV2luZG93
KCk7CiAgICAgX29yaWdpbmFsU291cmNlVmlld0lzSW5XaW5kb3cgPSAhIVtfd2tWaWV3IHdpbmRv
d107CiAKQEAgLTEyNyw5ICsxMjQsOSBAQCAtICh2b2lkKXJlcXVlc3RTbmFwc2hvdAogICAgIF93
YWl0aW5nRm9yU25hcHNob3QgPSBZRVM7CiAKICAgICBSZXRhaW5QdHI8X1dLVGh1bWJuYWlsVmll
dz4gdGh1bWJuYWlsVmlldyA9IHNlbGY7Ci0gICAgSW50UmVjdCBzbmFwc2hvdFJlY3QoSW50UG9p
bnQoKSwgX3dlYlBhZ2VQcm94eS0+dmlld1NpemUoKSAtIEludFNpemUoMCwgX3dlYlBhZ2VQcm94
eS0+dG9wQ29udGVudEluc2V0KCkpKTsKLSAgICBTbmFwc2hvdE9wdGlvbnMgb3B0aW9ucyA9IFNu
YXBzaG90T3B0aW9uc0luVmlld0Nvb3JkaW5hdGVzIHwgU25hcHNob3RPcHRpb25zVXNlU2NyZWVu
Q29sb3JTcGFjZTsKLSAgICBJbnRTaXplIGJpdG1hcFNpemUgPSBzbmFwc2hvdFJlY3Quc2l6ZSgp
OworICAgIFdlYkNvcmU6OkludFJlY3Qgc25hcHNob3RSZWN0KFdlYkNvcmU6OkludFBvaW50KCks
IF93ZWJQYWdlUHJveHktPnZpZXdTaXplKCkgLSBXZWJDb3JlOjpJbnRTaXplKDAsIF93ZWJQYWdl
UHJveHktPnRvcENvbnRlbnRJbnNldCgpKSk7CisgICAgV2ViS2l0OjpTbmFwc2hvdE9wdGlvbnMg
b3B0aW9ucyA9IFdlYktpdDo6U25hcHNob3RPcHRpb25zSW5WaWV3Q29vcmRpbmF0ZXMgfCBXZWJL
aXQ6OlNuYXBzaG90T3B0aW9uc1VzZVNjcmVlbkNvbG9yU3BhY2U7CisgICAgV2ViQ29yZTo6SW50
U2l6ZSBiaXRtYXBTaXplID0gc25hcHNob3RSZWN0LnNpemUoKTsKICAgICBiaXRtYXBTaXplLnNj
YWxlKF9zY2FsZSAqIF93ZWJQYWdlUHJveHktPmRldmljZVNjYWxlRmFjdG9yKCkpOwogCiAgICAg
aWYgKCFDR1NpemVFcXVhbFRvU2l6ZShfbWF4aW11bVNuYXBzaG90U2l6ZSwgQ0dTaXplWmVybykp
IHsKQEAgLTEzOCwxMyArMTM1LDEzIEBAIC0gKHZvaWQpcmVxdWVzdFNuYXBzaG90CiAgICAgICAg
ICAgICBzaXplQ29uc3RyYWludFNjYWxlID0gQ0dGbG9hdE1pbihzaXplQ29uc3RyYWludFNjYWxl
LCBfbWF4aW11bVNuYXBzaG90U2l6ZS53aWR0aCAvIGJpdG1hcFNpemUud2lkdGgoKSk7CiAgICAg
ICAgIGlmIChfbWF4aW11bVNuYXBzaG90U2l6ZS5oZWlnaHQpCiAgICAgICAgICAgICBzaXplQ29u
c3RyYWludFNjYWxlID0gQ0dGbG9hdE1pbihzaXplQ29uc3RyYWludFNjYWxlLCBfbWF4aW11bVNu
YXBzaG90U2l6ZS5oZWlnaHQgLyBiaXRtYXBTaXplLmhlaWdodCgpKTsKLSAgICAgICAgYml0bWFw
U2l6ZSA9IEludFNpemUoQ0dDZWlsaW5nKGJpdG1hcFNpemUud2lkdGgoKSAqIHNpemVDb25zdHJh
aW50U2NhbGUpLCBDR0NlaWxpbmcoYml0bWFwU2l6ZS5oZWlnaHQoKSAqIHNpemVDb25zdHJhaW50
U2NhbGUpKTsKKyAgICAgICAgYml0bWFwU2l6ZSA9IFdlYkNvcmU6OkludFNpemUoQ0dDZWlsaW5n
KGJpdG1hcFNpemUud2lkdGgoKSAqIHNpemVDb25zdHJhaW50U2NhbGUpLCBDR0NlaWxpbmcoYml0
bWFwU2l6ZS5oZWlnaHQoKSAqIHNpemVDb25zdHJhaW50U2NhbGUpKTsKICAgICB9CiAKICAgICBf
bGFzdFNuYXBzaG90U2NhbGUgPSBfc2NhbGU7CiAgICAgX2xhc3RTbmFwc2hvdE1heGltdW1TaXpl
ID0gX21heGltdW1TbmFwc2hvdFNpemU7Ci0gICAgX3dlYlBhZ2VQcm94eS0+dGFrZVNuYXBzaG90
KHNuYXBzaG90UmVjdCwgYml0bWFwU2l6ZSwgb3B0aW9ucywgW3RodW1ibmFpbFZpZXddKGNvbnN0
IFNoYXJlYWJsZUJpdG1hcDo6SGFuZGxlJiBpbWFnZUhhbmRsZSwgV2ViS2l0OjpDYWxsYmFja0Jh
c2U6OkVycm9yKSB7Ci0gICAgICAgIFJlZlB0cjxTaGFyZWFibGVCaXRtYXA+IGJpdG1hcCA9IFNo
YXJlYWJsZUJpdG1hcDo6Y3JlYXRlKGltYWdlSGFuZGxlLCBTaGFyZWRNZW1vcnk6OlByb3RlY3Rp
b246OlJlYWRPbmx5KTsKKyAgICBfd2ViUGFnZVByb3h5LT50YWtlU25hcHNob3Qoc25hcHNob3RS
ZWN0LCBiaXRtYXBTaXplLCBvcHRpb25zLCBbdGh1bWJuYWlsVmlld10oY29uc3QgV2ViS2l0OjpT
aGFyZWFibGVCaXRtYXA6OkhhbmRsZSYgaW1hZ2VIYW5kbGUsIFdlYktpdDo6Q2FsbGJhY2tCYXNl
OjpFcnJvcikgeworICAgICAgICBhdXRvIGJpdG1hcCA9IFdlYktpdDo6U2hhcmVhYmxlQml0bWFw
OjpjcmVhdGUoaW1hZ2VIYW5kbGUsIFdlYktpdDo6U2hhcmVkTWVtb3J5OjpQcm90ZWN0aW9uOjpS
ZWFkT25seSk7CiAgICAgICAgIFJldGFpblB0cjxDR0ltYWdlUmVmPiBjZ0ltYWdlID0gYml0bWFw
ID8gYml0bWFwLT5tYWtlQ0dJbWFnZSgpIDogbnVsbHB0cjsKICAgICAgICAgW3RodW1ibmFpbFZp
ZXcgX2RpZFRha2VTbmFwc2hvdDpjZ0ltYWdlLmdldCgpXTsKICAgICB9KTsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9tYWMvV0tWaWV3Lm1tIGIvU291cmNlL1dlYktp
dC9VSVByb2Nlc3MvQVBJL21hYy9XS1ZpZXcubW0KaW5kZXggZmU5NzAxMDM3NTUwN2I3ZDcxMTE5
YTRkYWZiMGQ1MjhhNzJlNDk3Ni4uZmU4ZDljYTVmNGM1ZWFjNjFkM2MxMGQ2MGI5ZTk0ODY2YTJl
MGJmNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL21hYy9XS1ZpZXcu
bW0KKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL21hYy9XS1ZpZXcubW0KQEAgLTQ1
LDEyICs0NSw5IEBACiAjaW1wb3J0IDxwYWwvc3BpL2NvY29hL0FWS2l0U1BJLmg+CiAjaW1wb3J0
IDx3dGYvQmxvY2tQdHIuaD4KIAotdXNpbmcgbmFtZXNwYWNlIFdlYktpdDsKLXVzaW5nIG5hbWVz
cGFjZSBXZWJDb3JlOwotCiBAaW50ZXJmYWNlIFdLVmlld0RhdGEgOiBOU09iamVjdCB7CiBAcHVi
bGljCi0gICAgc3RkOjp1bmlxdWVfcHRyPFdlYlZpZXdJbXBsPiBfaW1wbDsKKyAgICBzdGQ6OnVu
aXF1ZV9wdHI8V2ViS2l0OjpXZWJWaWV3SW1wbD4gX2ltcGw7CiB9CiAKIEBlbmQKQEAgLTc1OSw3
ICs3NTYsNyBAQCAtIChCT09MKWlzT3BhcXVlCiAKIC0gKEJPT0wpbW91c2VEb3duQ2FuTW92ZVdp
bmRvdwogewotICAgIHJldHVybiBXZWJWaWV3SW1wbDo6bW91c2VEb3duQ2FuTW92ZVdpbmRvdygp
OworICAgIHJldHVybiBXZWJLaXQ6OldlYlZpZXdJbXBsOjptb3VzZURvd25DYW5Nb3ZlV2luZG93
KCk7CiB9CiAKIC0gKHZvaWQpdmlld0RpZEhpZGUKQEAgLTg5OCw3ICs4OTUsNyBAQCAtICh2b2lk
KW1heWJlSW5zdGFsbEljb25Mb2FkaW5nQ2xpZW50CiAgICAgICAgICAgICAgICAgQVNTRVJUKFJ1
bkxvb3A6OmlzTWFpbigpKTsKICAgICAgICAgICAgICAgICBpZiAobG9hZENvbXBsZXRpb25IYW5k
bGVyKSB7CiAgICAgICAgICAgICAgICAgICAgIGNvbXBsZXRpb25IYW5kbGVyKFtsb2FkQ29tcGxl
dGlvbkhhbmRsZXIgPSBCbG9ja1B0cjx2b2lkIChOU0RhdGEgKik+KGxvYWRDb21wbGV0aW9uSGFu
ZGxlcildKEFQSTo6RGF0YSogZGF0YSwgV2ViS2l0OjpDYWxsYmFja0Jhc2U6OkVycm9yIGVycm9y
KSB7Ci0gICAgICAgICAgICAgICAgICAgICAgICBpZiAoZXJyb3IgIT0gQ2FsbGJhY2tCYXNlOjpF
cnJvcjo6Tm9uZSB8fCAhZGF0YSkKKyAgICAgICAgICAgICAgICAgICAgICAgIGlmIChlcnJvciAh
PSBXZWJLaXQ6OkNhbGxiYWNrQmFzZTo6RXJyb3I6Ok5vbmUgfHwgIWRhdGEpCiAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgbG9hZENvbXBsZXRpb25IYW5kbGVyKG5pbCk7CiAgICAgICAgICAg
ICAgICAgICAgICAgICBlbHNlCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbG9hZENvbXBs
ZXRpb25IYW5kbGVyKHdyYXBwZXIoKmRhdGEpKTsKQEAgLTkxNiwxNiArOTEzLDE2IEBAIC0gKHZv
aWQpbWF5YmVJbnN0YWxsSWNvbkxvYWRpbmdDbGllbnQKICNlbmRpZiAvLyBXS19BUElfRU5BQkxF
RAogfQogCi0tIChpbnN0YW5jZXR5cGUpaW5pdFdpdGhGcmFtZTooTlNSZWN0KWZyYW1lIHByb2Nl
c3NQb29sOihXZWJQcm9jZXNzUG9vbCYpcHJvY2Vzc1Bvb2wgY29uZmlndXJhdGlvbjooUmVmPEFQ
STo6UGFnZUNvbmZpZ3VyYXRpb24+JiYpY29uZmlndXJhdGlvbgorLSAoaW5zdGFuY2V0eXBlKWlu
aXRXaXRoRnJhbWU6KE5TUmVjdClmcmFtZSBwcm9jZXNzUG9vbDooV2ViS2l0OjpXZWJQcm9jZXNz
UG9vbCYpcHJvY2Vzc1Bvb2wgY29uZmlndXJhdGlvbjooUmVmPEFQSTo6UGFnZUNvbmZpZ3VyYXRp
b24+JiYpY29uZmlndXJhdGlvbgogewogICAgIHNlbGYgPSBbc3VwZXIgaW5pdFdpdGhGcmFtZTpm
cmFtZV07CiAgICAgaWYgKCFzZWxmKQogICAgICAgICByZXR1cm4gbmlsOwogCi0gICAgSW5pdGlh
bGl6ZVdlYktpdDIoKTsKKyAgICBXZWJLaXQ6OkluaXRpYWxpemVXZWJLaXQyKCk7CiAKICAgICBf
ZGF0YSA9IFtbV0tWaWV3RGF0YSBhbGxvY10gaW5pdF07Ci0gICAgX2RhdGEtPl9pbXBsID0gc3Rk
OjptYWtlX3VuaXF1ZTxXZWJWaWV3SW1wbD4oc2VsZiwgbnVsbHB0ciwgcHJvY2Vzc1Bvb2wsIFdU
Rk1vdmUoY29uZmlndXJhdGlvbikpOworICAgIF9kYXRhLT5faW1wbCA9IHN0ZDo6bWFrZV91bmlx
dWU8V2ViS2l0OjpXZWJWaWV3SW1wbD4oc2VsZiwgbnVsbHB0ciwgcHJvY2Vzc1Bvb2wsIFdURk1v
dmUoY29uZmlndXJhdGlvbikpOwogCiAgICAgW3NlbGYgbWF5YmVJbnN0YWxsSWNvbkxvYWRpbmdD
bGllbnRdOwogCkBAIC0xMDA2LDcgKzEwMDMsNyBAQCAtIChOU1ZpZXcgKilfd2ViX3N1cGVySGl0
VGVzdDooTlNQb2ludClwb2ludAogCiAtIChpZClfd2ViX2ltbWVkaWF0ZUFjdGlvbkFuaW1hdGlv
bkNvbnRyb2xsZXJGb3JIaXRUZXN0UmVzdWx0SW50ZXJuYWw6KEFQSTo6SGl0VGVzdFJlc3VsdCop
aGl0VGVzdFJlc3VsdCB3aXRoVHlwZToodWludDMyX3QpdHlwZSB1c2VyRGF0YTooQVBJOjpPYmpl
Y3QqKXVzZXJEYXRhCiB7Ci0gICAgcmV0dXJuIFtzZWxmIF9pbW1lZGlhdGVBY3Rpb25BbmltYXRp
b25Db250cm9sbGVyRm9ySGl0VGVzdFJlc3VsdDp0b0FQSShoaXRUZXN0UmVzdWx0KSB3aXRoVHlw
ZTp0eXBlIHVzZXJEYXRhOnRvQVBJKHVzZXJEYXRhKV07CisgICAgcmV0dXJuIFtzZWxmIF9pbW1l
ZGlhdGVBY3Rpb25BbmltYXRpb25Db250cm9sbGVyRm9ySGl0VGVzdFJlc3VsdDpXZWJLaXQ6OnRv
QVBJKGhpdFRlc3RSZXN1bHQpIHdpdGhUeXBlOnR5cGUgdXNlckRhdGE6V2ViS2l0Ojp0b0FQSSh1
c2VyRGF0YSldOwogfQogCiAtICh2b2lkKV93ZWJfcHJlcGFyZUZvckltbWVkaWF0ZUFjdGlvbkFu
aW1hdGlvbgpAQCAtMTEzMSw3ICsxMTI4LDcgQEAgLSAodm9pZClzYXZlQmFja0ZvcndhcmRTbmFw
c2hvdEZvckN1cnJlbnRJdGVtCiAKIC0gKHZvaWQpc2F2ZUJhY2tGb3J3YXJkU25hcHNob3RGb3JJ
dGVtOihXS0JhY2tGb3J3YXJkTGlzdEl0ZW1SZWYpaXRlbQogewotICAgIF9kYXRhLT5faW1wbC0+
c2F2ZUJhY2tGb3J3YXJkU25hcHNob3RGb3JJdGVtKCp0b0ltcGwoaXRlbSkpOworICAgIF9kYXRh
LT5faW1wbC0+c2F2ZUJhY2tGb3J3YXJkU25hcHNob3RGb3JJdGVtKCpXZWJLaXQ6OnRvSW1wbChp
dGVtKSk7CiB9CiAKIC0gKGlkKWluaXRXaXRoRnJhbWU6KE5TUmVjdClmcmFtZSBjb250ZXh0UmVm
OihXS0NvbnRleHRSZWYpY29udGV4dFJlZiBwYWdlR3JvdXBSZWY6KFdLUGFnZUdyb3VwUmVmKXBh
Z2VHcm91cFJlZgpAQCAtMTE1NSwxOSArMTE1MiwxOSBAQCBzdGF0aWMgV2ViQ29yZTo6VXNlcklu
dGVyZmFjZUxheW91dERpcmVjdGlvbiB0b1VzZXJJbnRlcmZhY2VMYXlvdXREaXJlY3Rpb24oTlNV
cwogLSAoaWQpaW5pdFdpdGhGcmFtZTooTlNSZWN0KWZyYW1lIGNvbnRleHRSZWY6KFdLQ29udGV4
dFJlZiljb250ZXh0UmVmIHBhZ2VHcm91cFJlZjooV0tQYWdlR3JvdXBSZWYpcGFnZUdyb3VwUmVm
IHJlbGF0ZWRUb1BhZ2U6KFdLUGFnZVJlZilyZWxhdGVkUGFnZQogewogICAgIGF1dG8gY29uZmln
dXJhdGlvbiA9IEFQSTo6UGFnZUNvbmZpZ3VyYXRpb246OmNyZWF0ZSgpOwotICAgIGNvbmZpZ3Vy
YXRpb24tPnNldFByb2Nlc3NQb29sKHRvSW1wbChjb250ZXh0UmVmKSk7Ci0gICAgY29uZmlndXJh
dGlvbi0+c2V0UGFnZUdyb3VwKHRvSW1wbChwYWdlR3JvdXBSZWYpKTsKLSAgICBjb25maWd1cmF0
aW9uLT5zZXRSZWxhdGVkUGFnZSh0b0ltcGwocmVsYXRlZFBhZ2UpKTsKKyAgICBjb25maWd1cmF0
aW9uLT5zZXRQcm9jZXNzUG9vbChXZWJLaXQ6OnRvSW1wbChjb250ZXh0UmVmKSk7CisgICAgY29u
ZmlndXJhdGlvbi0+c2V0UGFnZUdyb3VwKFdlYktpdDo6dG9JbXBsKHBhZ2VHcm91cFJlZikpOwor
ICAgIGNvbmZpZ3VyYXRpb24tPnNldFJlbGF0ZWRQYWdlKFdlYktpdDo6dG9JbXBsKHJlbGF0ZWRQ
YWdlKSk7CiAjaWYgUExBVEZPUk0oTUFDKQogICAgIGNvbmZpZ3VyYXRpb24tPnByZWZlcmVuY2VW
YWx1ZXMoKS5zZXQoV2ViS2l0OjpXZWJQcmVmZXJlbmNlc0tleTo6c3lzdGVtTGF5b3V0RGlyZWN0
aW9uS2V5KCksIFdlYktpdDo6V2ViUHJlZmVyZW5jZXNTdG9yZTo6VmFsdWUoc3RhdGljX2Nhc3Q8
dWludDMyX3Q+KHRvVXNlckludGVyZmFjZUxheW91dERpcmVjdGlvbihzZWxmLnVzZXJJbnRlcmZh
Y2VMYXlvdXREaXJlY3Rpb24pKSkpOwogI2VuZGlmCiAKLSAgICByZXR1cm4gW3NlbGYgaW5pdFdp
dGhGcmFtZTpmcmFtZSBwcm9jZXNzUG9vbDoqdG9JbXBsKGNvbnRleHRSZWYpIGNvbmZpZ3VyYXRp
b246V1RGTW92ZShjb25maWd1cmF0aW9uKV07CisgICAgcmV0dXJuIFtzZWxmIGluaXRXaXRoRnJh
bWU6ZnJhbWUgcHJvY2Vzc1Bvb2w6KldlYktpdDo6dG9JbXBsKGNvbnRleHRSZWYpIGNvbmZpZ3Vy
YXRpb246V1RGTW92ZShjb25maWd1cmF0aW9uKV07CiB9CiAKIC0gKGlkKWluaXRXaXRoRnJhbWU6
KE5TUmVjdClmcmFtZSBjb25maWd1cmF0aW9uUmVmOihXS1BhZ2VDb25maWd1cmF0aW9uUmVmKWNv
bmZpZ3VyYXRpb25SZWYKIHsKLSAgICBSZWY8QVBJOjpQYWdlQ29uZmlndXJhdGlvbj4gY29uZmln
dXJhdGlvbiA9IHRvSW1wbChjb25maWd1cmF0aW9uUmVmKS0+Y29weSgpOworICAgIFJlZjxBUEk6
OlBhZ2VDb25maWd1cmF0aW9uPiBjb25maWd1cmF0aW9uID0gV2ViS2l0Ojp0b0ltcGwoY29uZmln
dXJhdGlvblJlZiktPmNvcHkoKTsKICAgICBhdXRvJiBwcm9jZXNzUG9vbCA9ICpjb25maWd1cmF0
aW9uLT5wcm9jZXNzUG9vbCgpOwogCiAgICAgcmV0dXJuIFtzZWxmIGluaXRXaXRoRnJhbWU6ZnJh
bWUgcHJvY2Vzc1Bvb2w6cHJvY2Vzc1Bvb2wgY29uZmlndXJhdGlvbjpXVEZNb3ZlKGNvbmZpZ3Vy
YXRpb24pXTsKQEAgLTExNzUsNyArMTE3Miw3IEBAIC0gKGlkKWluaXRXaXRoRnJhbWU6KE5TUmVj
dClmcmFtZSBjb25maWd1cmF0aW9uUmVmOihXS1BhZ2VDb25maWd1cmF0aW9uUmVmKWNvbmZpCiAK
IC0gKEJPT0wpd2FudHNVcGRhdGVMYXllcgogewotICAgIHJldHVybiBXZWJWaWV3SW1wbDo6d2Fu
dHNVcGRhdGVMYXllcigpOworICAgIHJldHVybiBXZWJLaXQ6OldlYlZpZXdJbXBsOjp3YW50c1Vw
ZGF0ZUxheWVyKCk7CiB9CiAKIC0gKHZvaWQpdXBkYXRlTGF5ZXIKQEAgLTExODUsMTcgKzExODIs
MTcgQEAgLSAodm9pZCl1cGRhdGVMYXllcgogCiAtIChXS1BhZ2VSZWYpcGFnZVJlZgogewotICAg
IHJldHVybiB0b0FQSSgmX2RhdGEtPl9pbXBsLT5wYWdlKCkpOworICAgIHJldHVybiBXZWJLaXQ6
OnRvQVBJKCZfZGF0YS0+X2ltcGwtPnBhZ2UoKSk7CiB9CiAKIC0gKEJPT0wpY2FuQ2hhbmdlRnJh
bWVMYXlvdXQ6KFdLRnJhbWVSZWYpZnJhbWVSZWYKIHsKLSAgICByZXR1cm4gX2RhdGEtPl9pbXBs
LT5jYW5DaGFuZ2VGcmFtZUxheW91dCgqdG9JbXBsKGZyYW1lUmVmKSk7CisgICAgcmV0dXJuIF9k
YXRhLT5faW1wbC0+Y2FuQ2hhbmdlRnJhbWVMYXlvdXQoKldlYktpdDo6dG9JbXBsKGZyYW1lUmVm
KSk7CiB9CiAKIC0gKE5TUHJpbnRPcGVyYXRpb24gKilwcmludE9wZXJhdGlvbldpdGhQcmludElu
Zm86KE5TUHJpbnRJbmZvICopcHJpbnRJbmZvIGZvckZyYW1lOihXS0ZyYW1lUmVmKWZyYW1lUmVm
CiB7Ci0gICAgcmV0dXJuIF9kYXRhLT5faW1wbC0+cHJpbnRPcGVyYXRpb25XaXRoUHJpbnRJbmZv
KHByaW50SW5mbywgKnRvSW1wbChmcmFtZVJlZikpOworICAgIHJldHVybiBfZGF0YS0+X2ltcGwt
PnByaW50T3BlcmF0aW9uV2l0aFByaW50SW5mbyhwcmludEluZm8sICpXZWJLaXQ6OnRvSW1wbChm
cmFtZVJlZikpOwogfQogCiAtICh2b2lkKXNldEZyYW1lOihOU1JlY3QpcmVjdCBhbmRTY3JvbGxC
eTooTlNTaXplKW9mZnNldApAQCAtMTIyMCw3ICsxMjE3LDcgQEAgLSAoQk9PTClmcmFtZVNpemVV
cGRhdGVzRGlzYWJsZWQKIAogKyAodm9pZCloaWRlV29yZERlZmluaXRpb25XaW5kb3cKIHsKLSAg
ICBXZWJWaWV3SW1wbDo6aGlkZVdvcmREZWZpbml0aW9uV2luZG93KCk7CisgICAgV2ViS2l0OjpX
ZWJWaWV3SW1wbDo6aGlkZVdvcmREZWZpbml0aW9uV2luZG93KCk7CiB9CiAKIC0gKE5TU2l6ZSlt
aW5pbXVtU2l6ZUZvckF1dG9MYXlvdXQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViS2l0
Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2ogYi9Tb3VyY2UvV2ViS2l0L1dlYktpdC54Y29kZXBy
b2ovcHJvamVjdC5wYnhwcm9qCmluZGV4IDQxYTU2OWRjYzkxMjY4YzUyM2I1YWIwNmFkN2FiYWMx
MWMxZjJmMWEuLjdiZGFjNjBmYzMyYjYwNzM3ZTZlZDExZjYxNzc5NDEwNTBmNzU3MGEgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViS2l0Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKKysr
IGIvU291cmNlL1dlYktpdC9XZWJLaXQueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagpAQCAtMTE3
LDcgKzExNyw2IEBACiAJCTE1NzM5QkJEMUI0MjA0MkQwMEQyNThDMSAvKiBXZWJVc2VyTWVkaWFD
bGllbnQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDRB
NDEwRjQ5MTlBRjdCODAwMDJFQkFCNSAvKiBXZWJVc2VyTWVkaWFDbGllbnQuaCAqLzsgfTsKIAkJ
MUEwMDJENDMxOTZCMzM3MDAwQjlBRDQ0IC8qIF9XS1Nlc3Npb25TdGF0ZUludGVybmFsLmggaW4g
SGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxQTAwMkQ0MjE5NkIz
MzcwMDBCOUFENDQgLyogX1dLU2Vzc2lvblN0YXRlSW50ZXJuYWwuaCAqLzsgfTsKIAkJMUEwMDJE
NDQxOTZCMzM4OTAwQjlBRDQ0IC8qIF9XS1Nlc3Npb25TdGF0ZS5oIGluIEhlYWRlcnMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMUEwMDJEM0YxOTZCMzI5NDAwQjlBRDQ0IC8q
IF9XS1Nlc3Npb25TdGF0ZS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUs
ICk7IH07IH07Ci0JCTFBMDAyRDQ1MTk2QjMzOEUwMEI5QUQ0NCAvKiBfV0tTZXNzaW9uU3RhdGUu
bW0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxQTAwMkQz
RTE5NkIzMjk0MDBCOUFENDQgLyogX1dLU2Vzc2lvblN0YXRlLm1tICovOyB9OwogCQkxQTAwMkQ0
OTE5NkIzNDVEMDBCOUFENDQgLyogU2Vzc2lvblN0YXRlQ29kaW5nLmggaW4gSGVhZGVycyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxQTAwMkQ0NzE5NkIzNDVEMDBCOUFENDQg
LyogU2Vzc2lvblN0YXRlQ29kaW5nLmggKi87IH07CiAJCTFBMDQzOTc2MTI0RDAzNDgwMEZGQkZC
NSAvKiBQbHVnaW5Qcm9jZXNzLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSAxQTA0Mzk3NDEyNEQwMzQ4MDBGRkJGQjUgLyogUGx1Z2luUHJvY2Vzcy5oICov
OyB9OwogCQkxQTA0Mzk3NzEyNEQwMzQ4MDBGRkJGQjUgLyogUGx1Z2luUHJvY2Vzcy5jcHAgaW4g
U291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxQTA0Mzk3NTEyNEQw
MzQ4MDBGRkJGQjUgLyogUGx1Z2luUHJvY2Vzcy5jcHAgKi87IH07CkBAIC0xNDAsMTEgKzEzOSw5
IEBACiAJCTFBMEVDOTBGMTI0QzBBRjUwMDdFRjRBNSAvKiBQbHVnaW5Qcm9jZXNzQ29ubmVjdGlv
bk1hbmFnZXIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IDFBMEVDOTBEMTI0QzBBRjUwMDdFRjRBNSAvKiBQbHVnaW5Qcm9jZXNzQ29ubmVjdGlvbk1hbmFn
ZXIuaCAqLzsgfTsKIAkJMUEwRjI5RTQxMjBCNDQ0MjAwNTNEMUI5IC8qIFZpc2l0ZWRMaW5rU3Rv
cmUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDFBMEYy
OUUyMTIwQjQ0NDIwMDUzRDFCOSAvKiBWaXNpdGVkTGlua1N0b3JlLmggKi87IH07CiAJCTFBMTRG
OEUyMUQ3NEM4MzQwMDZDQkVDNiAvKiBGcmFtZUluZm9EYXRhLmggaW4gSGVhZGVycyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxQTE0RjhFMDFENzRDODM0MDA2Q0JFQzYgLyog
RnJhbWVJbmZvRGF0YS5oICovOyB9OwotCQkxQTE1ODQxOTE4OTA0NEY1MDAxNzYxNkMgLyogV0tQ
cm9jZXNzUG9vbC5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IDFBMTU4NDE3MTg5MDQ0RjUwMDE3NjE2QyAvKiBXS1Byb2Nlc3NQb29sLm1tICovOyB9Owog
CQkxQTE1ODQxQTE4OTA0NEY1MDAxNzYxNkMgLyogV0tQcm9jZXNzUG9vbC5oIGluIEhlYWRlcnMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMUExNTg0MTgxODkwNDRGNTAwMTc2
MTZDIC8qIFdLUHJvY2Vzc1Bvb2wuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQdWJs
aWMsICk7IH07IH07CiAJCTFBMTc5NzdGMTM3RUU4MkMwMEY5N0Q0NSAvKiBQbHVnaW5DcmVhdGlv
blBhcmFtZXRlcnMuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gMUExNzk3N0QxMzdFRTgyQzAwRjk3RDQ1IC8qIFBsdWdpbkNyZWF0aW9uUGFyYW1ldGVy
cy5jcHAgKi87IH07CiAJCTFBMTc5NzgwMTM3RUU4MkMwMEY5N0Q0NSAvKiBQbHVnaW5DcmVhdGlv
blBhcmFtZXRlcnMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IDFBMTc5NzdFMTM3RUU4MkMwMEY5N0Q0NSAvKiBQbHVnaW5DcmVhdGlvblBhcmFtZXRlcnMu
aCAqLzsgfTsKLQkJMUExQjBFQjUxOEE0MjQ5NTAwMzg0ODFBIC8qIFdLTmF2aWdhdGlvblJlc3Bv
bnNlLm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMUEx
QjBFQjMxOEE0MjQ5NTAwMzg0ODFBIC8qIFdLTmF2aWdhdGlvblJlc3BvbnNlLm1tICovOyB9Owog
CQkxQTFCMEVCNjE4QTQyNDk1MDAzODQ4MUEgLyogV0tOYXZpZ2F0aW9uUmVzcG9uc2UuaCBpbiBI
ZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDFBMUIwRUI0MThBNDI0
OTUwMDM4NDgxQSAvKiBXS05hdmlnYXRpb25SZXNwb25zZS5oICovOyBzZXR0aW5ncyA9IHtBVFRS
SUJVVEVTID0gKFB1YmxpYywgKTsgfTsgfTsKIAkJMUExQjBFQjgxOEE0MjRDRDAwMzg0ODFBIC8q
IFdLTmF2aWdhdGlvblJlc3BvbnNlSW50ZXJuYWwuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDFBMUIwRUI3MThBNDI0Q0QwMDM4NDgxQSAvKiBXS05hdmln
YXRpb25SZXNwb25zZUludGVybmFsLmggKi87IH07CiAJCTFBMUQ4QkEyMTczMUEzNjMwMDE0MURB
NCAvKiBMb2NhbFN0b3JhZ2VEYXRhYmFzZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gMUExRDhCQTAxNzMxQTM2MzAwMTQxREE0IC8qIExvY2FsU3RvcmFn
ZURhdGFiYXNlLmggKi87IH07CkBAIC0xNTgsNyArMTU1LDYgQEAKIAkJMUEyNDY0RjMxODkxRTQ1
MTAwMjM0QzVCIC8qIEFQSUxvYWRlckNsaWVudC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gMUEyNDY0RjIxODkxRTQ1MTAwMjM0QzVCIC8qIEFQSUxvYWRl
ckNsaWVudC5oICovOyB9OwogCQkxQTI0QjVGMzExRjUzMUU4MDBDMzgyNjkgLyogTWFjaFV0aWxp
dGllcy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMUEy
NEI1RjExMUY1MzFFODAwQzM4MjY5IC8qIE1hY2hVdGlsaXRpZXMuaCAqLzsgfTsKIAkJMUEyNEJF
RDUxMjA4OTREMTAwRkJCMDU5IC8qIFNoYXJlZE1lbW9yeS5oIGluIEhlYWRlcnMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMUEyNEJFRDMxMjA4OTREMTAwRkJCMDU5IC8qIFNo
YXJlZE1lbW9yeS5oICovOyB9OwotCQkxQTI1NkUzNzE4QTFBNzg4MDA2RkI5MjIgLyogV0tOYXZp
Z2F0aW9uQWN0aW9uLm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gMUEyNTZFMzUxOEExQTc4ODAwNkZCOTIyIC8qIFdLTmF2aWdhdGlvbkFjdGlvbi5tbSAq
LzsgfTsKIAkJMUEyNTZFMzgxOEExQTc4ODAwNkZCOTIyIC8qIFdLTmF2aWdhdGlvbkFjdGlvbi5o
IGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMUEyNTZFMzYx
OEExQTc4ODAwNkZCOTIyIC8qIFdLTmF2aWdhdGlvbkFjdGlvbi5oICovOyBzZXR0aW5ncyA9IHtB
VFRSSUJVVEVTID0gKFB1YmxpYywgKTsgfTsgfTsKIAkJMUEyNTZFM0ExOEExQTdERjAwNkZCOTIy
IC8qIFdLTmF2aWdhdGlvbkFjdGlvbkludGVybmFsLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxQTI1NkUzOTE4QTFBN0RGMDA2RkI5MjIgLyogV0tOYXZp
Z2F0aW9uQWN0aW9uSW50ZXJuYWwuaCAqLzsgfTsKIAkJMUEyQkI2RDAxNDExN0I0RDAwMEYzNUQ0
IC8qIFBsdWdpblByb2Nlc3NDb25uZWN0aW9uTWVzc2FnZVJlY2VpdmVyLmNwcCBpbiBTb3VyY2Vz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDFBMkJCNkNFMTQxMTdCNEQwMDBG
MzVENCAvKiBQbHVnaW5Qcm9jZXNzQ29ubmVjdGlvbk1lc3NhZ2VSZWNlaXZlci5jcHAgKi87IH07
CkBAIC0xNzcsOSArMTczLDcgQEAKIAkJMUEzMzRERUQxNkRFOEY4ODAwNkE4RTM4IC8qIFN0b3Jh
Z2VBcmVhTWFwTWVzc2FnZVJlY2VpdmVyLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IDFBMzM0REVCMTZERThGODgwMDZBOEUzOCAvKiBTdG9yYWdlQXJl
YU1hcE1lc3NhZ2VSZWNlaXZlci5jcHAgKi87IH07CiAJCTFBMzM0REVFMTZERThGODgwMDZBOEUz
OCAvKiBTdG9yYWdlQXJlYU1hcE1lc3NhZ2VzLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSAxQTMzNERFQzE2REU4Rjg4MDA2QThFMzggLyogU3RvcmFnZUFy
ZWFNYXBNZXNzYWdlcy5oICovOyB9OwogCQkxQTM2MzVBQTFBMzE0NEEzMDBFRDYxOTcgLyogQVBJ
V2Vic2l0ZURhdGFTdG9yZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gMUEzNjM1QTgxQTMxNDRBMzAwRUQ2MTk3IC8qIEFQSVdlYnNpdGVEYXRhU3RvcmUu
aCAqLzsgfTsKLQkJMUEzNjM1QUQxQTMxNDVFNTAwRUQ2MTk3IC8qIEFQSVdlYnNpdGVEYXRhU3Rv
cmVDb2NvYS5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IDFBMzYzNUFCMUEzMTQ1RTUwMEVENjE5NyAvKiBBUElXZWJzaXRlRGF0YVN0b3JlQ29jb2EubW0g
Ki87IH07CiAJCTFBM0M4ODgwMThBNUFCQUUwMEM0Qzk2MiAvKiBXS1ByZWZlcmVuY2VzSW50ZXJu
YWwuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDFBM0M4
ODdGMThBNUFCQUUwMEM0Qzk2MiAvKiBXS1ByZWZlcmVuY2VzSW50ZXJuYWwuaCAqLzsgfTsKLQkJ
MUEzQ0MxNjYxODkwNkFDRjAwMUU2RUQ4IC8qIFdLV2ViVmlldy5tbSBpbiBTb3VyY2VzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDFBM0NDMTY0MTg5MDZBQ0YwMDFFNkVEOCAv
KiBXS1dlYlZpZXcubW0gKi87IH07CiAJCTFBM0NDMTY3MTg5MDZBQ0YwMDFFNkVEOCAvKiBXS1dl
YlZpZXcuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDFB
M0NDMTY1MTg5MDZBQ0YwMDFFNkVEOCAvKiBXS1dlYlZpZXcuaCAqLzsgc2V0dGluZ3MgPSB7QVRU
UklCVVRFUyA9IChQdWJsaWMsICk7IH07IH07CiAJCTFBM0NDMTY5MTg5MDdFQjAwMDFFNkVEOCAv
KiBXS1Byb2Nlc3NQb29sSW50ZXJuYWwuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IDFBM0NDMTY4MTg5MDdFQjAwMDFFNkVEOCAvKiBXS1Byb2Nlc3NQb29s
SW50ZXJuYWwuaCAqLzsgfTsKIAkJMUEzRDYxMDIxM0E3Q0MyQTAwRjk1RDRFIC8qIFBsdWdpbk1v
ZHVsZUluZm8uaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IDFBM0Q2MTAwMTNBN0NDMkEwMEY5NUQ0RSAvKiBQbHVnaW5Nb2R1bGVJbmZvLmggKi87IH07CkBA
IC0xODgsMTQgKzE4MiwxMiBAQAogCQkxQTNFRUQwRjE2MUE1MzU0MDBBRUI0RjUgLyogTWVzc2Fn
ZVJlY2VpdmVyTWFwLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSAxQTNFRUQwRDE2MUE1MzUzMDBBRUI0RjUgLyogTWVzc2FnZVJlY2VpdmVyTWFwLmggKi87
IH07CiAJCTFBM0VFRDEyMTYxQTUzRDYwMEFFQjRGNSAvKiBNZXNzYWdlUmVjZWl2ZXIuaCBpbiBI
ZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDFBM0VFRDExMTYxQTUz
RDYwMEFFQjRGNSAvKiBNZXNzYWdlUmVjZWl2ZXIuaCAqLzsgfTsKIAkJMUE0MjJGOEIxOEIyOUI1
NDAwRDhDRDk2IC8qIFdLSGlzdG9yeURlbGVnYXRlUHJpdmF0ZS5oIGluIEhlYWRlcnMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMUE0MjJGOEExOEIyOUI1NDAwRDhDRDk2IC8q
IFdLSGlzdG9yeURlbGVnYXRlUHJpdmF0ZS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0g
KFByaXZhdGUsICk7IH07IH07Ci0JCTFBNDNFODI5MTg4RjNDREMwMDlFNEQzMCAvKiBfV0tQcm9j
ZXNzUG9vbENvbmZpZ3VyYXRpb24ubW0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSAxQTQzRTgyNzE4OEYzQ0RDMDA5RTREMzAgLyogX1dLUHJvY2Vzc1Bvb2xD
b25maWd1cmF0aW9uLm1tICovOyB9OwogCQkxQTQzRTgyQTE4OEYzQ0RDMDA5RTREMzAgLyogX1dL
UHJvY2Vzc1Bvb2xDb25maWd1cmF0aW9uLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSAxQTQzRTgyODE4OEYzQ0RDMDA5RTREMzAgLyogX1dLUHJvY2Vzc1Bv
b2xDb25maWd1cmF0aW9uLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwg
KTsgfTsgfTsKIAkJMUE0NDVCOUYxODRENUZCNTAwNEIzNDE0IC8qIFdLQ29udGV4dEluamVjdGVk
QnVuZGxlQ2xpZW50LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSAxQTQ0NUI5RTE4NEQ1RkI1MDA0QjM0MTQgLyogV0tDb250ZXh0SW5qZWN0ZWRCdW5kbGVD
bGllbnQuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9Owog
CQkxQTQ0NUJBMTE4NEQ1RkMxMDA0QjM0MTQgLyogV0tDb250ZXh0SGlzdG9yeUNsaWVudC5oIGlu
IEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMUE0NDVCQTAxODRE
NUZDMTAwNEIzNDE0IC8qIFdLQ29udGV4dEhpc3RvcnlDbGllbnQuaCAqLzsgc2V0dGluZ3MgPSB7
QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQkxQTQ0NUJBMzE4NEQ1RkNGMDA0QjM0
MTQgLyogV0tDb250ZXh0RG93bmxvYWRDbGllbnQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDFBNDQ1QkEyMTg0RDVGQ0YwMDRCMzQxNCAvKiBXS0NvbnRl
eHREb3dubG9hZENsaWVudC5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUs
ICk7IH07IH07CiAJCTFBNDQ1QkE1MTg0RDVGREEwMDRCMzQxNCAvKiBXS0NvbnRleHRDb25uZWN0
aW9uQ2xpZW50LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSAxQTQ0NUJBNDE4NEQ1RkRBMDA0QjM0MTQgLyogV0tDb250ZXh0Q29ubmVjdGlvbkNsaWVudC5o
ICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTFBNDRC
OTVDMTZCNzNGOUYwMEI3QkJEOCAvKiBTdG9yYWdlTWFuYWdlci5oIGluIEhlYWRlcnMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMUE0NEI5NUExNkI3M0Y5RjAwQjdCQkQ4IC8q
IFN0b3JhZ2VNYW5hZ2VyLmggKi87IH07Ci0JCTFBNDgzMkNCMUE5QkM0NjUwMDhCNERGRSAvKiBX
S1dlYnNpdGVEYXRhUmVjb3JkLm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gMUE0ODMyQzkxQTlCQzQ2NTAwOEI0REZFIC8qIFdLV2Vic2l0ZURhdGFSZWNv
cmQubW0gKi87IH07CiAJCTFBNDgzMkNDMUE5QkM0NjUwMDhCNERGRSAvKiBXS1dlYnNpdGVEYXRh
UmVjb3JkLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAx
QTQ4MzJDQTFBOUJDNDY1MDA4QjRERkUgLyogV0tXZWJzaXRlRGF0YVJlY29yZC5oICovOyBzZXR0
aW5ncyA9IHtBVFRSSUJVVEVTID0gKFB1YmxpYywgKTsgfTsgfTsKIAkJMUE0ODMyQ0UxQTlCQzQ4
NDAwOEI0REZFIC8qIFdLV2Vic2l0ZURhdGFSZWNvcmRJbnRlcm5hbC5oIGluIEhlYWRlcnMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMUE0ODMyQ0QxQTlCQzQ4NDAwOEI0REZF
IC8qIFdLV2Vic2l0ZURhdGFSZWNvcmRJbnRlcm5hbC5oICovOyB9OwogCQkxQTQ4MzJEMTFBOUJE
QzJGMDA4QjRERkUgLyogV2Vic2l0ZURhdGFSZWNvcmQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDFBNDgzMkNGMUE5QkQ4MjEwMDhCNERGRSAvKiBXZWJz
aXRlRGF0YVJlY29yZC5oICovOyB9OwpAQCAtMjA0LDE3ICsxOTYsMTMgQEAKIAkJMUE0QTlDNTYx
MkI4MTZDRjAwOEZFOTg0IC8qIE5ldHNjYXBlUGx1Z2luTW9kdWxlLmggaW4gSGVhZGVycyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxQTRBOUM1NDEyQjgxNkNGMDA4RkU5ODQg
LyogTmV0c2NhcGVQbHVnaW5Nb2R1bGUuaCAqLzsgfTsKIAkJMUE0QTlGMzMxMkI4NDRFMjAwOEZF
OTg0IC8qIFBsdWdpblF1aXJrcy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gMUE0QTlGMzExMkI4NDRFMjAwOEZFOTg0IC8qIFBsdWdpblF1aXJrcy5oICov
OyB9OwogCQkxQTRENjY0ODE4QTJEOTFBMDBEODJFMjEgLyogQVBJVUlDbGllbnQuaCBpbiBIZWFk
ZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDFBNEQ2NjQ3MThBMkQ5MUEw
MEQ4MkUyMSAvKiBBUElVSUNsaWVudC5oICovOyB9OwotCQkxQTRENjY0QjE4QTMwMzBFMDBEODJF
MjEgLyogV0tGcmFtZUluZm8ubW0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSAxQTRENjY0OTE4QTMwMzBFMDBEODJFMjEgLyogV0tGcmFtZUluZm8ubW0gKi87
IH07CiAJCTFBNEQ2NjRDMThBMzAzMEUwMEQ4MkUyMSAvKiBXS0ZyYW1lSW5mby5oIGluIEhlYWRl
cnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMUE0RDY2NEExOEEzMDMwRTAw
RDgyRTIxIC8qIFdLRnJhbWVJbmZvLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHVi
bGljLCApOyB9OyB9OwogCQkxQTUyQzBGODFBMzhDREM3MDAxNjE2MEEgLyogV2ViU3RvcmFnZU5h
bWVzcGFjZVByb3ZpZGVyLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSAxQTUyQzBGNjFBMzhDREM3MDAxNjE2MEEgLyogV2ViU3RvcmFnZU5hbWVzcGFjZVBy
b3ZpZGVyLmggKi87IH07CiAJCTFBNTNDMkFBMUEzMjU3MzAwMDRFOEM3MCAvKiBXZWJzaXRlRGF0
YVN0b3JlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAx
QTUzQzJBNTFBMzI1NjlGMDA0RThDNzAgLyogV2Vic2l0ZURhdGFTdG9yZS5oICovOyB9OwotCQkx
QTU3MDRGNzFCRTAxRkY0MDA4NzRBRjEgLyogX1dLQ29udGV4dE1lbnVFbGVtZW50SW5mby5tbSBp
biBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDFBNTcwNEY1MUJF
MDFGRjQwMDg3NEFGMSAvKiBfV0tDb250ZXh0TWVudUVsZW1lbnRJbmZvLm1tICovOyB9OwogCQkx
QTU3MDRGODFCRTAxRkY0MDA4NzRBRjEgLyogX1dLQ29udGV4dE1lbnVFbGVtZW50SW5mby5oIGlu
IEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMUE1NzA0RjYxQkUw
MUZGNDAwODc0QUYxIC8qIF9XS0NvbnRleHRNZW51RWxlbWVudEluZm8uaCAqLzsgc2V0dGluZ3Mg
PSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwotCQkxQTU3MDRGQjFCRTE3NTExMDA4
NzRBRjEgLyogUmVtb3RlT2JqZWN0SW52b2NhdGlvbi5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDFBNTcwNEY5MUJFMTc1MTEwMDg3NEFGMSAvKiBSZW1v
dGVPYmplY3RJbnZvY2F0aW9uLm1tICovOyB9OwogCQkxQTU3MDRGQzFCRTE3NTExMDA4NzRBRjEg
LyogUmVtb3RlT2JqZWN0SW52b2NhdGlvbi5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gMUE1NzA0RkExQkUxNzUxMTAwODc0QUYxIC8qIFJlbW90ZU9iamVj
dEludm9jYXRpb24uaCAqLzsgfTsKIAkJMUE1NzA1MTExQkU0MTBFNjAwODc0QUYxIC8qIEJsb2Nr
U1BJLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxQTU3
MDUxMDFCRTQxMEU1MDA4NzRBRjEgLyogQmxvY2tTUEkuaCAqLzsgfTsKIAkJMUE1NzEwOUYxQUJB
MDAyNzAwMkZBQkJFIC8qIFdLV2Vic2l0ZURhdGFTdG9yZVJlZi5oIGluIEhlYWRlcnMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMUE1NzEwOUQxQUJBMDAyNzAwMkZBQkJFIC8q
IFdLV2Vic2l0ZURhdGFTdG9yZVJlZi5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFBy
aXZhdGUsICk7IH07IH07Ci0JCTFBNUIxQzUwMTg5ODYwNkYwMDRGQ0Y5QiAvKiBXS05hdmlnYXRp
b24ubW0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxQTVC
MUM0RTE4OTg2MDZGMDA0RkNGOUIgLyogV0tOYXZpZ2F0aW9uLm1tICovOyB9OwogCQkxQTVCMUM1
MTE4OTg2MDZGMDA0RkNGOUIgLyogV0tOYXZpZ2F0aW9uLmggaW4gSGVhZGVycyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxQTVCMUM0RjE4OTg2MDZGMDA0RkNGOUIgLyogV0tO
YXZpZ2F0aW9uLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHVibGljLCApOyB9OyB9
OwogCQkxQTVCMUM1NTE4OTg3RURGMDA0RkNGOUIgLyogV2ViRG9jdW1lbnRMb2FkZXIuaCBpbiBI
ZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDFBNUIxQzUzMTg5ODdF
REYwMDRGQ0Y5QiAvKiBXZWJEb2N1bWVudExvYWRlci5oICovOyB9OwogCQkxQTVFNERBNDEyRDNC
RDNEMDA5OUEyQkIgLyogVGV4dENoZWNrZXJTdGF0ZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMUE1RTREQTMxMkQzQkQzRDAwOTlBMkJCIC8qIFRleHRD
aGVja2VyU3RhdGUuaCAqLzsgfTsKQEAgLTI0Myw5ICsyMzEsNyBAQAogCQkxQTc4NjVCQTE2Q0FD
NzE1MDBBQ0U4M0EgLyogUGx1Z2luUHJvY2Vzc0Nvbm5lY3Rpb25NYW5hZ2VyTWVzc2FnZXMuaCBp
biBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDFBNzg2NUI4MTZD
QUM3MTUwMEFDRTgzQSAvKiBQbHVnaW5Qcm9jZXNzQ29ubmVjdGlvbk1hbmFnZXJNZXNzYWdlcy5o
ICovOyB9OwogCQkxQTdDMERGNzFCN0QxRjEwMDBBOUI4NDggLyogV0tXaW5kb3dGZWF0dXJlc1Jl
Zi5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMUE3QzBE
RjUxQjdEMUYxMDAwQTlCODQ4IC8qIFdLV2luZG93RmVhdHVyZXNSZWYuaCAqLzsgc2V0dGluZ3Mg
PSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQkxQTdFMzc3NTE4RTRBMzNBMDAz
RDBGRkYgLyogV0tTY3JpcHRNZXNzYWdlSGFuZGxlci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMUE3RTM3NzQxOEU0QTMzQTAwM0QwRkZGIC8qIFdLU2Ny
aXB0TWVzc2FnZUhhbmRsZXIuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQdWJsaWMs
ICk7IH07IH07Ci0JCTFBN0UzNzc4MThFNEE0RkUwMDNEMEZGRiAvKiBXS1NjcmlwdE1lc3NhZ2Uu
bW0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxQTdFMzc3
NjE4RTRBNEZFMDAzRDBGRkYgLyogV0tTY3JpcHRNZXNzYWdlLm1tICovOyB9OwogCQkxQTdFMzc3
OTE4RTRBNEZFMDAzRDBGRkYgLyogV0tTY3JpcHRNZXNzYWdlLmggaW4gSGVhZGVycyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxQTdFMzc3NzE4RTRBNEZFMDAzRDBGRkYgLyog
V0tTY3JpcHRNZXNzYWdlLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHVibGljLCAp
OyB9OyB9OwotCQkxQTgxQjM4MDE4QkQ2NkFEMDAwN0ZEQUMgLyogX1dLVmlzaXRlZExpbmtTdG9y
ZS5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDFBODFC
MzdFMThCRDY2QUQwMDA3RkRBQyAvKiBfV0tWaXNpdGVkTGlua1N0b3JlLm1tICovOyB9OwogCQkx
QTgxQjM4MTE4QkQ2NkFEMDAwN0ZEQUMgLyogX1dLVmlzaXRlZExpbmtTdG9yZS5oIGluIEhlYWRl
cnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMUE4MUIzN0YxOEJENjZBRDAw
MDdGREFDIC8qIF9XS1Zpc2l0ZWRMaW5rU3RvcmUuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRF
UyA9IChQcml2YXRlLCApOyB9OyB9OwogCQkxQTgxQjM4NTE4QkQ2NzNBMDAwN0ZEQUMgLyogX1dL
VmlzaXRlZExpbmtTdG9yZUludGVybmFsLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSAxQTgxQjM4NDE4QkQ2NzNBMDAwN0ZEQUMgLyogX1dLVmlzaXRlZExp
bmtTdG9yZUludGVybmFsLmggKi87IH07CiAJCTFBODVFNDcyMUUzMDNGMzcwMDkxNDU5OSAvKiBX
ZWJLaXQuYXBpbm90ZXMgaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSAxQTg1RTQ3MDFFMzAzRjI0MDA5MTQ1OTkgLyogV2ViS2l0LmFwaW5vdGVzICovOyBzZXR0
aW5ncyA9IHtBVFRSSUJVVEVTID0gKFB1YmxpYywgKTsgfTsgfTsKQEAgLTI2NCwxMiArMjUwLDgg
QEAKIAkJMUE5MEMxRjQxMjY0RkQ3MTAwM0U0NEQ0IC8qIEZpbmRDb250cm9sbGVyLmggaW4gSGVh
ZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxQTkwQzFGMjEyNjRGRDcx
MDAzRTQ0RDQgLyogRmluZENvbnRyb2xsZXIuaCAqLzsgfTsKIAkJMUE5MkRDMTExMkY4QkE0NjAw
MTdBRjY1IC8qIExheWVyVHJlZUNvbnRleHQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IDFBOTJEQzEwMTJGOEJBNDYwMDE3QUY2NSAvKiBMYXllclRyZWVD
b250ZXh0LmggKi87IH07CiAJCTFBOUUzMjg5MTgyMTYzNjkwMEY1RDA0QyAvKiBfV0tSZW1vdGVP
YmplY3RSZWdpc3RyeS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gMUE5RTMyODcxODIxNjM2OTAwRjVEMDRDIC8qIF9XS1JlbW90ZU9iamVjdFJlZ2lzdHJ5
LmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKLQkJMUE5
RTMyOEExODIxNjM2OTAwRjVEMDRDIC8qIF9XS1JlbW90ZU9iamVjdFJlZ2lzdHJ5Lm1tIGluIFNv
dXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMUE5RTMyODgxODIxNjM2
OTAwRjVEMDRDIC8qIF9XS1JlbW90ZU9iamVjdFJlZ2lzdHJ5Lm1tICovOyB9OwogCQkxQTlFMzI4
RDE4MjE2NUE5MDBGNUQwNEMgLyogX1dLUmVtb3RlT2JqZWN0SW50ZXJmYWNlLmggaW4gSGVhZGVy
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxQTlFMzI4QjE4MjE2NUE5MDBG
NUQwNEMgLyogX1dLUmVtb3RlT2JqZWN0SW50ZXJmYWNlLmggKi87IHNldHRpbmdzID0ge0FUVFJJ
QlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKLQkJMUE5RTMyOEUxODIxNjVBOTAwRjVEMDRDIC8q
IF9XS1JlbW90ZU9iamVjdEludGVyZmFjZS5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IDFBOUUzMjhDMTgyMTY1QTkwMEY1RDA0QyAvKiBfV0tSZW1vdGVP
YmplY3RJbnRlcmZhY2UubW0gKi87IH07Ci0JCTFBOUUzMjlBMTgyMkUxQ0MwMEY1RDA0QyAvKiBX
S1JlbW90ZU9iamVjdC5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IDFBOUUzMjk4MTgyMkUxQ0MwMEY1RDA0QyAvKiBXS1JlbW90ZU9iamVjdC5tbSAqLzsg
fTsKIAkJMUE5RTMyOUIxODIyRTFDQzAwRjVEMDRDIC8qIFdLUmVtb3RlT2JqZWN0LmggaW4gSGVh
ZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxQTlFMzI5OTE4MjJFMUND
MDBGNUQwNEMgLyogV0tSZW1vdGVPYmplY3QuaCAqLzsgfTsKLQkJMUE5RTMyOUUxODIyRkVERDAw
RjVEMDRDIC8qIFdLUmVtb3RlT2JqZWN0Q29kZXIubW0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxQTlFMzI5QzE4MjJGRUREMDBGNUQwNEMgLyogV0tSZW1v
dGVPYmplY3RDb2Rlci5tbSAqLzsgfTsKIAkJMUE5RTMyOUYxODIyRkVERDAwRjVEMDRDIC8qIFdL
UmVtb3RlT2JqZWN0Q29kZXIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IDFBOUUzMjlEMTgyMkZFREQwMEY1RDA0QyAvKiBXS1JlbW90ZU9iamVjdENvZGVy
LmggKi87IH07CiAJCTFBOUUzMkExMTgyMzAxODkwMEY1RDA0QyAvKiBfV0tSZW1vdGVPYmplY3RS
ZWdpc3RyeUludGVybmFsLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSAxQTlFMzJBMDE4MjMwMTg5MDBGNUQwNEMgLyogX1dLUmVtb3RlT2JqZWN0UmVnaXN0
cnlJbnRlcm5hbC5oICovOyB9OwogCQkxQTlGQkE4RDEzRkYwNEU2MDBERUVENjcgLyogUGx1Z2lu
Q29tcGxleFRleHRJbnB1dFN0YXRlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSAxQTlGQkE4QzEzRkYwNEU2MDBERUVENjcgLyogUGx1Z2luQ29tcGxleFRl
eHRJbnB1dFN0YXRlLmggKi87IH07CkBAIC0yOTAsNyArMjcyLDYgQEAKIAkJMUFBQjAzN0ExODVB
N0M2QTAwRURGNTAxIC8qIE1lc3NhZ2VTZW5kZXIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDFBQUIwMzc4MTg1QTdDNkEwMEVERjUwMSAvKiBNZXNzYWdl
U2VuZGVyLmggKi87IH07CiAJCTFBQUI0QThEMTI5NkYwQTIwMDIzOTUyRiAvKiBTYW5kYm94RXh0
ZW5zaW9uLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAx
QUFCNEE4QzEyOTZGMEEyMDAyMzk1MkYgLyogU2FuZGJveEV4dGVuc2lvbi5oICovOyB9OwogCQkx
QUFCRkUzQTE4MjlDMUVEMDA1QjA3MEUgLyogX1dLUmVtb3RlT2JqZWN0SW50ZXJmYWNlSW50ZXJu
YWwuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDFBQUJG
RTM5MTgyOUMxRUQwMDVCMDcwRSAvKiBfV0tSZW1vdGVPYmplY3RJbnRlcmZhY2VJbnRlcm5hbC5o
ICovOyB9OwotCQkxQUFGMDg5QTE5MjY3RUU1MDBCNjM5MEMgLyogV0tVc2VyU2NyaXB0Lm1tIGlu
IFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMUFBRjA4OTgxOTI2
N0VFNTAwQjYzOTBDIC8qIFdLVXNlclNjcmlwdC5tbSAqLzsgfTsKIAkJMUFBRjA4OUIxOTI2N0VF
NTAwQjYzOTBDIC8qIFdLVXNlclNjcmlwdC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gMUFBRjA4OTkxOTI2N0VFNTAwQjYzOTBDIC8qIFdLVXNlclNjcmlw
dC5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFB1YmxpYywgKTsgfTsgfTsKIAkJMUFB
RjA4OUQxOTI2N0ZDODAwQjYzOTBDIC8qIFdLVXNlclNjcmlwdEludGVybmFsLmggaW4gSGVhZGVy
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxQUFGMDg5QzE5MjY3RkM4MDBC
NjM5MEMgLyogV0tVc2VyU2NyaXB0SW50ZXJuYWwuaCAqLzsgfTsKIAkJMUFBRjA4QTIxOTI2ODFE
MTAwQjYzOTBDIC8qIFdlYlVzZXJDb250ZW50Q29udHJvbGxlclByb3h5LmggaW4gSGVhZGVycyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxQUFGMDhBMDE5MjY4MUQxMDBCNjM5
MEMgLyogV2ViVXNlckNvbnRlbnRDb250cm9sbGVyUHJveHkuaCAqLzsgfTsKQEAgLTMxMSw3ICsy
OTIsNiBAQAogCQkxQUIxRjc5OTFEMUIzNjEzMDA3QzlCRDEgLyogV2ViUGF5bWVudENvb3JkaW5h
dG9yUHJveHlNZXNzYWdlcy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gMUFCMUY3OTUxRDFCMzYxMzAwN0M5QkQxIC8qIFdlYlBheW1lbnRDb29yZGluYXRv
clByb3h5TWVzc2FnZXMuaCAqLzsgfTsKIAkJMUFCMzFBOTYxNkJDNjg4MTAwRjZEQkM5IC8qIFN0
b3JhZ2VNYW5hZ2VyTWVzc2FnZVJlY2VpdmVyLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDFBQjMxQTk0MTZCQzY4ODEwMEY2REJDOSAvKiBTdG9yYWdl
TWFuYWdlck1lc3NhZ2VSZWNlaXZlci5jcHAgKi87IH07CiAJCTFBQjMxQTk3MTZCQzY4ODEwMEY2
REJDOSAvKiBTdG9yYWdlTWFuYWdlck1lc3NhZ2VzLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxQUIzMUE5NTE2QkM2ODgxMDBGNkRCQzkgLyogU3RvcmFn
ZU1hbmFnZXJNZXNzYWdlcy5oICovOyB9OwotCQkxQUI0MEVFNTFCRjY3N0UzMDBCQTgxQkUgLyog
V0tNZW51SXRlbUlkZW50aWZpZXJzLm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gMUFCNDBFRTMxQkY2NzdFMzAwQkE4MUJFIC8qIFdLTWVudUl0ZW1JZGVu
dGlmaWVycy5tbSAqLzsgfTsKIAkJMUFCNDBFRTYxQkY2NzdFMzAwQkE4MUJFIC8qIFdLTWVudUl0
ZW1JZGVudGlmaWVyc1ByaXZhdGUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IDFBQjQwRUU0MUJGNjc3RTMwMEJBODFCRSAvKiBXS01lbnVJdGVtSWRlbnRp
ZmllcnNQcml2YXRlLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsg
fTsgfTsKIAkJMUFCNDc0RDgxODRENDNGRDAwNTFCNjIyIC8qIFdLQnVuZGxlUGFnZUxvYWRlckNs
aWVudC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMUFC
NDc0RDcxODRENDNGRDAwNTFCNjIyIC8qIFdLQnVuZGxlUGFnZUxvYWRlckNsaWVudC5oICovOyBz
ZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTFBQjQ3NERBMTg0
RDQ0MjUwMDUxQjYyMiAvKiBXS0J1bmRsZVBhZ2VSZXNvdXJjZUxvYWRDbGllbnQuaCBpbiBIZWFk
ZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDFBQjQ3NEQ5MTg0RDQ0MjUw
MDUxQjYyMiAvKiBXS0J1bmRsZVBhZ2VSZXNvdXJjZUxvYWRDbGllbnQuaCAqLzsgc2V0dGluZ3Mg
PSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwpAQCAtMzM4LDcgKzMxOCw2IEBACiAJ
CTFBQzEzMzY4MTg1NjVCNTcwMEYzRUMwNSAvKiBVc2VyRGF0YS5oIGluIEhlYWRlcnMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMUFDMTMzNjYxODU2NUI1NzAwRjNFQzA1IC8q
IFVzZXJEYXRhLmggKi87IH07CiAJCTFBQzEzMzZDMTg1NjVDN0EwMEYzRUMwNSAvKiBBUElQYWdl
SGFuZGxlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAx
QUMxMzM2QjE4NTY1QzdBMDBGM0VDMDUgLyogQVBJUGFnZUhhbmRsZS5oICovOyB9OwogCQkxQUMx
MzM3MjE4NTY2QzdDMDBGM0VDMDUgLyogQVBJRnJhbWVIYW5kbGUuaCBpbiBIZWFkZXJzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDFBQzEzMzcwMTg1NjZDN0MwMEYzRUMwNSAv
KiBBUElGcmFtZUhhbmRsZS5oICovOyB9OwotCQkxQUMxMzM3RjE4NTkwQUU0MDBGM0VDMDUgLyog
UmVtb3RlT2JqZWN0UmVnaXN0cnkubW0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSAxQUMxMzM3RDE4NTkwQUU0MDBGM0VDMDUgLyogUmVtb3RlT2JqZWN0UmVn
aXN0cnkubW0gKi87IH07CiAJCTFBQzEzMzgwMTg1OTBBRTQwMEYzRUMwNSAvKiBSZW1vdGVPYmpl
Y3RSZWdpc3RyeS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gMUFDMTMzN0UxODU5MEFFNDAwRjNFQzA1IC8qIFJlbW90ZU9iamVjdFJlZ2lzdHJ5LmggKi87
IH07CiAJCTFBQzEzMzg1MTg1OTBDNDYwMEYzRUMwNSAvKiBSZW1vdGVPYmplY3RSZWdpc3RyeU1l
c3NhZ2VSZWNlaXZlci5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSAxQUMxMzM4MzE4NTkwQzQ2MDBGM0VDMDUgLyogUmVtb3RlT2JqZWN0UmVnaXN0cnlN
ZXNzYWdlUmVjZWl2ZXIuY3BwICovOyB9OwogCQkxQUMxMzM4NjE4NTkwQzQ2MDBGM0VDMDUgLyog
UmVtb3RlT2JqZWN0UmVnaXN0cnlNZXNzYWdlcy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gMUFDMTMzODQxODU5MEM0NjAwRjNFQzA1IC8qIFJlbW90ZU9i
amVjdFJlZ2lzdHJ5TWVzc2FnZXMuaCAqLzsgfTsKQEAgLTM0OSwzMCArMzI4LDI0IEBACiAJCTFB
Qzc1MzdDMTgzQTlGREIwMDcyQ0IxNSAvKiBQYWdlTG9hZFN0YXRlLmggaW4gSGVhZGVycyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxQUM3NTM3QTE4M0E5RkRCMDA3MkNCMTUg
LyogUGFnZUxvYWRTdGF0ZS5oICovOyB9OwogCQkxQUM3NTM4MDE4M0JFNTBGMDA3MkNCMTUgLyog
RGF0YVJlZmVyZW5jZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gMUFDNzUzN0UxODNCRTUwRjAwNzJDQjE1IC8qIERhdGFSZWZlcmVuY2UuaCAqLzsgfTsK
IAkJMUFDNzVBMUIxQjMzNjgyNzAwNTY3NDVCIC8qIEhhbmdEZXRlY3Rpb25EaXNhYmxlci5oIGlu
IEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMUFDNzVBMUExQjMz
NjgyNzAwNTY3NDVCIC8qIEhhbmdEZXRlY3Rpb25EaXNhYmxlci5oICovOyB9OwotCQkxQUNDNTBG
MTFDQkMzODFEMDAzQzdEMDMgLyogV0tPcGVuUGFuZWxQYXJhbWV0ZXJzLm1tIGluIFNvdXJjZXMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMUFDQzUwRUYxQ0JDMzgxRDAwM0M3
RDAzIC8qIFdLT3BlblBhbmVsUGFyYW1ldGVycy5tbSAqLzsgfTsKIAkJMUFDQzUwRjIxQ0JDMzgx
RDAwM0M3RDAzIC8qIFdLT3BlblBhbmVsUGFyYW1ldGVycy5oIGluIEhlYWRlcnMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMUFDQzUwRjAxQ0JDMzgxRDAwM0M3RDAzIC8qIFdL
T3BlblBhbmVsUGFyYW1ldGVycy5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFB1Ymxp
YywgKTsgfTsgfTsKIAkJMUFDQzg3QkExOTgxQzM0MTAwM0QxQUY0IC8qIFdLTmF2aWdhdGlvblBy
aXZhdGUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDFB
Q0M4N0I5MTk4MUMzNDEwMDNEMUFGNCAvKiBXS05hdmlnYXRpb25Qcml2YXRlLmggKi87IHNldHRp
bmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJMUFDRUNEMjUxNzE2MkRC
MTAwMUZDOUVGIC8qIFN0b3JhZ2VBcmVhTWFwLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSAxQUNFQ0QyMzE3MTYyREIxMDAxRkM5RUYgLyogU3RvcmFnZUFy
ZWFNYXAuaCAqLzsgfTsKLQkJMUFEMDFCQzgxOTA1RDM3RTAwQzlDNDVGIC8qIF9XS0Vycm9yUmVj
b3ZlcnlBdHRlbXB0aW5nLm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gMUFEMDFCQzYxOTA1RDM3RTAwQzlDNDVGIC8qIF9XS0Vycm9yUmVjb3ZlcnlBdHRl
bXB0aW5nLm1tICovOyB9OwogCQkxQUQwMUJDOTE5MDVEMzdFMDBDOUM0NUYgLyogX1dLRXJyb3JS
ZWNvdmVyeUF0dGVtcHRpbmcuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IDFBRDAxQkM3MTkwNUQzN0UwMEM5QzQ1RiAvKiBfV0tFcnJvclJlY292ZXJ5QXR0
ZW1wdGluZy5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07
CiAJCTFBRDAxQkNEMTkwNUQ1NDkwMEM5QzQ1RiAvKiBXS1JlbG9hZEZyYW1lRXJyb3JSZWNvdmVy
eUF0dGVtcHRlci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gMUFEMDFCQ0IxOTA1RDU0OTAwQzlDNDVGIC8qIFdLUmVsb2FkRnJhbWVFcnJvclJlY292ZXJ5
QXR0ZW1wdGVyLmggKi87IH07CiAJCTFBRDI1RTk2MTY3QUIwODEwMEVBOUJDRCAvKiBEb3dubG9h
ZFByb3h5TWFwLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSAxQUQyNUU5NDE2N0FCMDgxMDBFQTlCQ0QgLyogRG93bmxvYWRQcm94eU1hcC5oICovOyB9Owog
CQkxQUQzMzA2RjE2QjFEOTkxMDA0RjYwRTcgLyogU3RvcmFnZUFyZWFJbXBsLmggaW4gSGVhZGVy
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxQUQzMzA2RDE2QjFEOTkxMDA0
RjYwRTcgLyogU3RvcmFnZUFyZWFJbXBsLmggKi87IH07CiAJCTFBRDRDMTkzMUIzOUYzMzIwMEFC
QzI4RSAvKiBBcHBsaWNhdGlvblN0YXRlVHJhY2tlci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMUFENEMxOTExQjM5RjMzMjAwQUJDMjhFIC8qIEFwcGxp
Y2F0aW9uU3RhdGVUcmFja2VyLmggKi87IH07Ci0JCTFBRDYwRjVEMThFMjBGNEMwMDIwQzAzNCAv
KiBXS1dpbmRvd0ZlYXR1cmVzLm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gMUFENjBGNUIxOEUyMEY0QzAwMjBDMDM0IC8qIFdLV2luZG93RmVhdHVyZXMu
bW0gKi87IH07CiAJCTFBRDYwRjVFMThFMjBGNEMwMDIwQzAzNCAvKiBXS1dpbmRvd0ZlYXR1cmVz
LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxQUQ2MEY1
QzE4RTIwRjRDMDAyMEMwMzQgLyogV0tXaW5kb3dGZWF0dXJlcy5oICovOyBzZXR0aW5ncyA9IHtB
VFRSSUJVVEVTID0gKFB1YmxpYywgKTsgfTsgfTsKIAkJMUFENjBGNjAxOEUyMEY3NDAwMjBDMDM0
IC8qIFdLV2luZG93RmVhdHVyZXNJbnRlcm5hbC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gMUFENjBGNUYxOEUyMEY3NDAwMjBDMDM0IC8qIFdLV2luZG93
RmVhdHVyZXNJbnRlcm5hbC5oICovOyB9OwogCQkxQUQ4NzkwQTE4QjZDMzhBMDA2Q0FGRDcgLyog
V0tVSURlbGVnYXRlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSAxQUQ4NzkwOTE4QjZDMzhBMDA2Q0FGRDcgLyogV0tVSURlbGVnYXRlLmggKi87IHNldHRp
bmdzID0ge0FUVFJJQlVURVMgPSAoUHVibGljLCApOyB9OyB9OwogCQkxQURDQjg2QjE4OTgzMUIz
MDAyMkVFNUEgLyogTmF2aWdhdGlvbkFjdGlvbkRhdGEuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDFBRENCODY5MTg5ODMxQjMwMDIyRUU1QSAvKiBOYXZp
Z2F0aW9uQWN0aW9uRGF0YS5oICovOyB9OwogCQkxQURFNDZCMzE5NTRFQzYxMDAwRjc5ODUgLyog
V0tTZXNzaW9uU3RhdGVSZWYuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IDFBREU0NkIxMTk1NEVDNjEwMDBGNzk4NSAvKiBXS1Nlc3Npb25TdGF0ZVJlZi5o
ICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07Ci0JCTFBREY1
OTFBMTg5MDUyOEUwMDQzQzE0NSAvKiBXS1dlYlZpZXdDb25maWd1cmF0aW9uLm1tIGluIFNvdXJj
ZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMUFERjU5MTgxODkwNTI4RTAw
NDNDMTQ1IC8qIFdLV2ViVmlld0NvbmZpZ3VyYXRpb24ubW0gKi87IH07CiAJCTFBREY1OTFCMTg5
MDUyOEUwMDQzQzE0NSAvKiBXS1dlYlZpZXdDb25maWd1cmF0aW9uLmggaW4gSGVhZGVycyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxQURGNTkxOTE4OTA1MjhFMDA0M0MxNDUg
LyogV0tXZWJWaWV3Q29uZmlndXJhdGlvbi5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0g
KFB1YmxpYywgKTsgfTsgfTsKLQkJMUFFMDBENEMxODJENkVCMDAwMDg3REQ3IC8qIFdLQnJvd3Np
bmdDb250ZXh0SGFuZGxlLm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gMUFFMDBENEExODJENkVCMDAwMDg3REQ3IC8qIFdLQnJvd3NpbmdDb250ZXh0SGFu
ZGxlLm1tICovOyB9OwogCQkxQUUwMEQ0RDE4MkQ2RUIwMDAwODdERDcgLyogV0tCcm93c2luZ0Nv
bnRleHRIYW5kbGUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IDFBRTAwRDRCMTgyRDZFQjAwMDA4N0RENyAvKiBXS0Jyb3dzaW5nQ29udGV4dEhhbmRsZS5o
ICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTFBRTAw
RDRGMTgyRDZGNTAwMDA4N0RENyAvKiBXS0Jyb3dzaW5nQ29udGV4dEhhbmRsZUludGVybmFsLmgg
aW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxQUUwMEQ0RTE4
MkQ2RjUwMDAwODdERDcgLyogV0tCcm93c2luZ0NvbnRleHRIYW5kbGVJbnRlcm5hbC5oICovOyB9
OwogCQkxQUUwMEQ2MTE4MzE3OTIxMDAwODdERDcgLyogRnJhbWVMb2FkU3RhdGUuaCBpbiBIZWFk
ZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDFBRTAwRDVGMTgzMTc5MjEw
MDA4N0RENyAvKiBGcmFtZUxvYWRTdGF0ZS5oICovOyB9OwogCQkxQUUwMEQ2QzE4MzI3QzEyMDAw
ODdERDcgLyogU3RyaW5nUmVmZXJlbmNlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSAxQUUwMEQ2QTE4MzI3QzEyMDAwODdERDcgLyogU3RyaW5nUmVmZXJl
bmNlLmggKi87IH07Ci0JCTFBRTI4Njc3MUM3RTc2NTEwMDY5QUM0RiAvKiBfV0tXZWJzaXRlRGF0
YVNpemUubW0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAx
QUUyODY3NTFDN0U3NjUxMDA2OUFDNEYgLyogX1dLV2Vic2l0ZURhdGFTaXplLm1tICovOyB9Owog
CQkxQUUyODY3ODFDN0U3NjUxMDA2OUFDNEYgLyogX1dLV2Vic2l0ZURhdGFTaXplLmggaW4gSGVh
ZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxQUUyODY3NjFDN0U3NjUx
MDA2OUFDNEYgLyogX1dLV2Vic2l0ZURhdGFTaXplLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVU
RVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJMUFFMjg2N0ExQzdGN0JBNjAwNjlBQzRGIC8qIFdL
V2Vic2l0ZURhdGFTdG9yZVByaXZhdGUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IDFBRTI4Njc5MUM3RjdCQTYwMDY5QUM0RiAvKiBXS1dlYnNpdGVEYXRh
U3RvcmVQcml2YXRlLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsg
fTsgfTsKIAkJMUFFMjg2ODAxQzdGOTJDMDAwNjlBQzRGIC8qIF9XS1dlYnNpdGVEYXRhU2l6ZUlu
dGVybmFsLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAx
QUUyODY3RjFDN0Y5MkJGMDA2OUFDNEYgLyogX1dLV2Vic2l0ZURhdGFTaXplSW50ZXJuYWwuaCAq
LzsgfTsKQEAgLTM4NywxOSArMzYwLDE0IEBACiAJCTFBRjA1RDg3MTQ2ODgzNDgwMDhCMUU4MSAv
KiBUaWxlZENvcmVBbmltYXRpb25EcmF3aW5nQXJlYVByb3h5LmggaW4gSGVhZGVycyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxQUYwNUQ4NTE0Njg4MzQ4MDA4QjFFODEgLyog
VGlsZWRDb3JlQW5pbWF0aW9uRHJhd2luZ0FyZWFQcm94eS5oICovOyB9OwogCQkxQUYxQUM2QzE2
NTE3NTlFMDBDMTdEN0YgLyogUmVtb3RlTGF5ZXJUcmVlVHJhbnNhY3Rpb24uaCBpbiBIZWFkZXJz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDFBRjFBQzZBMTY1MTc1OUUwMEMx
N0Q3RiAvKiBSZW1vdGVMYXllclRyZWVUcmFuc2FjdGlvbi5oICovOyB9OwogCQkxQUY0MTI5QjE4
QjQwRkNEMDA1NDZGREMgLyogV0tOYXZpZ2F0aW9uQWN0aW9uUHJpdmF0ZS5oIGluIEhlYWRlcnMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMUFGNDEyOUExOEI0MEZDRDAwNTQ2
RkRDIC8qIFdLTmF2aWdhdGlvbkFjdGlvblByaXZhdGUuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklC
VVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwotCQkxQUY0NTkyRTE5NDY0QjIwMDBGOUQ0QTIgLyog
V0tFcnJvci5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IDFBRjQ1OTJDMTk0NjRCMjAwMEY5RDRBMiAvKiBXS0Vycm9yLm1tICovOyB9OwogCQkxQUY0NTky
RjE5NDY0QjIwMDBGOUQ0QTIgLyogV0tFcnJvci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gMUFGNDU5MkQxOTQ2NEIyMDAwRjlENEEyIC8qIFdLRXJyb3Iu
aCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQdWJsaWMsICk7IH07IH07CiAJCTFBRjRD
RUYwMThCQzQ4MTgwMEJDMkQzNCAvKiBWaXNpdGVkTGlua1RhYmxlQ29udHJvbGxlci5oIGluIEhl
YWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMUFGNENFRUUxOEJDNDgx
ODAwQkMyRDM0IC8qIFZpc2l0ZWRMaW5rVGFibGVDb250cm9sbGVyLmggKi87IH07Ci0JCTFBRkEz
QUM4MThFNjFDNjEwMDNDQ0JBRSAvKiBXS1VzZXJDb250ZW50Q29udHJvbGxlci5tbSBpbiBTb3Vy
Y2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDFBRkEzQUM2MThFNjFDNjEw
MDNDQ0JBRSAvKiBXS1VzZXJDb250ZW50Q29udHJvbGxlci5tbSAqLzsgfTsKIAkJMUFGQTNBQzkx
OEU2MUM2MTAwM0NDQkFFIC8qIFdLVXNlckNvbnRlbnRDb250cm9sbGVyLmggaW4gSGVhZGVycyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxQUZBM0FDNzE4RTYxQzYxMDAzQ0NC
QUUgLyogV0tVc2VyQ29udGVudENvbnRyb2xsZXIuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRF
UyA9IChQdWJsaWMsICk7IH07IH07CiAJCTFBRkE0QjhDMUE2NUExRDAwMDZDNEFCNCAvKiBXZWJQ
cm9jZXNzTGlmZXRpbWVUcmFja2VyLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSAxQUZBNEI4QTFBNjVBMUQwMDA2QzRBQjQgLyogV2ViUHJvY2Vzc0xpZmV0
aW1lVHJhY2tlci5oICovOyB9OwogCQkxQUZBNEI5MDFBNjVBOUUyMDA2QzRBQjQgLyogV2ViUHJv
Y2Vzc0xpZmV0aW1lT2JzZXJ2ZXIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IDFBRkE0QjhFMUE2NUE5RTIwMDZDNEFCNCAvKiBXZWJQcm9jZXNzTGlmZXRp
bWVPYnNlcnZlci5oICovOyB9OwotCQkxQUZCNEM3MTFBREYxNTVEMDBCMzMzMzkgLyogX1dLV2Vi
c2l0ZURhdGFTdG9yZS5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IDFBRkI0QzZGMUFERjE1NUQwMEIzMzMzOSAvKiBfV0tXZWJzaXRlRGF0YVN0b3JlLm1t
ICovOyB9OwogCQkxQUZCNEM3MjFBREYxNTVEMDBCMzMzMzkgLyogX1dLV2Vic2l0ZURhdGFTdG9y
ZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMUFGQjRD
NzAxQURGMTU1RDAwQjMzMzM5IC8qIF9XS1dlYnNpdGVEYXRhU3RvcmUuaCAqLzsgc2V0dGluZ3Mg
PSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQkxQUZERDMxNTE4OTFCNTQwMDAx
NTM5NzAgLyogQVBJUG9saWN5Q2xpZW50LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSAxQUZERDMxNDE4OTFCNTQwMDAxNTM5NzAgLyogQVBJUG9saWN5Q2xp
ZW50LmggKi87IH07CiAJCTFBRkREMzE3MTg5MUM5NDcwMDE1Mzk3MCAvKiBXS1ByZWZlcmVuY2Vz
LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxQUZERDMx
NjE4OTFDOTQ3MDAxNTM5NzAgLyogV0tQcmVmZXJlbmNlcy5oICovOyBzZXR0aW5ncyA9IHtBVFRS
SUJVVEVTID0gKFB1YmxpYywgKTsgfTsgfTsKLQkJMUFGREQzMTkxODkxQ0ExMjAwMTUzOTcwIC8q
IFdLUHJlZmVyZW5jZXMubW0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSAxQUZERDMxODE4OTFDQTEyMDAxNTM5NzAgLyogV0tQcmVmZXJlbmNlcy5tbSAqLzsg
fTsKLQkJMUFGREU2NDUxOTUxMEI1NTAwQzQ4RkZBIC8qIExlZ2FjeUJ1bmRsZUZvckNsYXNzLm1t
IGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMUFGREU2NDMx
OTUxMEI1NTAwQzQ4RkZBIC8qIExlZ2FjeUJ1bmRsZUZvckNsYXNzLm1tICovOyB9OwogCQkxQUZE
RTY1QTE5NTRBNDJCMDBDNDhGRkEgLyogU2Vzc2lvblN0YXRlLmggaW4gSGVhZGVycyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxQUZERTY1ODE5NTRBNDJCMDBDNDhGRkEgLyog
U2Vzc2lvblN0YXRlLmggKi87IH07CiAJCTFBRkRFNjYyMTk1NEU5QjEwMEM0OEZGQSAvKiBBUElT
ZXNzaW9uU3RhdGUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IDFBRkRFNjYwMTk1NEU5QjEwMEM0OEZGQSAvKiBBUElTZXNzaW9uU3RhdGUuaCAqLzsgfTsK
IAkJMUFGRTQzNjYxOEI2QzA4MTAwOUM3QTQ4IC8qIFVJRGVsZWdhdGUuaCBpbiBIZWFkZXJzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDFBRkU0MzY0MThCNkMwODEwMDlDN0E0
OCAvKiBVSURlbGVnYXRlLmggKi87IH07CkBAIC02MzYsNyArNjA0LDYgQEAKIAkJMkQ1QzlEMDYx
OUM4MUQ4RjAwQjNDNUMxIC8qIFdlYlBhZ2VPdmVybGF5LmggaW4gSGVhZGVycyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAyRDVDOUQwNDE5QzgxRDhGMDBCM0M1QzEgLyogV2Vi
UGFnZU92ZXJsYXkuaCAqLzsgfTsKIAkJMkQ2QUI1NDExOTJCMUM0QTAwM0E5RkQxIC8qIFdLUERG
UGFnZU51bWJlckluZGljYXRvci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gMkQ2QUI1M0YxOTJCMUM0QTAwM0E5RkQxIC8qIFdLUERGUGFnZU51bWJlcklu
ZGljYXRvci5oICovOyB9OwogCQkyRDZCMzcxQjE4QTk2N0FEMDA0MkFFODAgLyogX1dLVGh1bWJu
YWlsVmlldy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
MkQ2QjM3MTkxOEE5NjdBRDAwNDJBRTgwIC8qIF9XS1RodW1ibmFpbFZpZXcuaCAqLzsgc2V0dGlu
Z3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwotCQkyRDZCMzcxQzE4QTk2N0FE
MDA0MkFFODAgLyogX1dLVGh1bWJuYWlsVmlldy5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDJENkIzNzFBMThBOTY3QUQwMDQyQUU4MCAvKiBfV0tUaHVt
Ym5haWxWaWV3Lm1tICovOyB9OwogCQkyRDZDRDExOTE4OTA1OEE1MDBFNUE0QTAgLyogVmlld1Nu
YXBzaG90U3RvcmUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IDJENkNEMTE3MTg5MDU4QTUwMEU1QTRBMCAvKiBWaWV3U25hcHNob3RTdG9yZS5oICovOyB9
OwogCQkyRDcyQTFGQTIxMkJGNDZFMDA1MTdBMjAgLyogUmVtb3RlTGF5ZXJUcmVlRHJhd2luZ0Fy
ZWEubW0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxQUIx
NkFEQjE2NDg1OTg0MDAyOTBENjIgLyogUmVtb3RlTGF5ZXJUcmVlRHJhd2luZ0FyZWEubW0gKi87
IH07CiAJCTJENzMwMzc5MUE3QzJCNzUwMEY4RjQ4NyAvKiBXS1BhZ2VOYXZpZ2F0aW9uQ2xpZW50
LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAyRDczMDM3
ODFBN0MyQjc1MDBGOEY0ODcgLyogV0tQYWdlTmF2aWdhdGlvbkNsaWVudC5oICovOyBzZXR0aW5n
cyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CkBAIC02NjgsMjYgKzYzNSw5IEBA
CiAJCTJEODUwOEQ4MjEyRTMzRUQwMDBFRjQ2QyAvKiBVbmlmaWVkU291cmNlOTguY3BwIGluIFNv
dXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMkQ4NTA4QzQyMTJFMzNF
QzAwMEVGNDZDIC8qIFVuaWZpZWRTb3VyY2U5OC5jcHAgKi87IH07CiAJCTJEODcxMDE3MTgyODQx
NUQwMDE4RkEwMSAvKiBQbGF0Zm9ybUNBTGF5ZXJSZW1vdGVDdXN0b20uaCBpbiBIZWFkZXJzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDJEODcxMDE1MTgyODQxNUQwMDE4RkEw
MSAvKiBQbGF0Zm9ybUNBTGF5ZXJSZW1vdGVDdXN0b20uaCAqLzsgfTsKIAkJMkQ4Nzg2MUQxQkRC
NTRCRjAwRDAyQUJCIC8qIF9XS1VzZXJTdHlsZVNoZWV0LmggaW4gSGVhZGVycyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAyRDg3ODYxQjFCREI1NEJGMDBEMDJBQkIgLyogX1dL
VXNlclN0eWxlU2hlZXQuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCAp
OyB9OyB9OwotCQkyRDg3ODYxRTFCREI1NEJGMDBEMDJBQkIgLyogX1dLVXNlclN0eWxlU2hlZXQu
bW0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAyRDg3ODYx
QzFCREI1NEJGMDBEMDJBQkIgLyogX1dLVXNlclN0eWxlU2hlZXQubW0gKi87IH07CiAJCTJEODc4
NjIwMUJEQjU3RjUwMEQwMkFCQiAvKiBfV0tVc2VyU3R5bGVTaGVldEludGVybmFsLmggaW4gSGVh
ZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAyRDg3ODYxRjFCREI1N0Y1
MDBEMDJBQkIgLyogX1dLVXNlclN0eWxlU2hlZXRJbnRlcm5hbC5oICovOyB9OwogCQkyRDg3ODYy
NDFCREI1OEZGMDBEMDJBQkIgLyogQVBJVXNlclN0eWxlU2hlZXQuaCBpbiBIZWFkZXJzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDJEODc4NjIyMUJEQjU4RkYwMEQwMkFCQiAv
KiBBUElVc2VyU3R5bGVTaGVldC5oICovOyB9OwogCQkyRDg5NDlGMTE4MjA0NEY2MDBFODk4QUEg
LyogUGxhdGZvcm1DQUxheWVyUmVtb3RlVGlsZWRCYWNraW5nLmggaW4gSGVhZGVycyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAyRDg5NDlFRjE4MjA0NEY2MDBFODk4QUEgLyog
UGxhdGZvcm1DQUxheWVyUmVtb3RlVGlsZWRCYWNraW5nLmggKi87IH07Ci0JCTJEOTEzNDI4MjEy
Qzg0RjUwMDEyOEFGRCAvKiBXS1dlYlByb2Nlc3NCdW5kbGVQYXJhbWV0ZXJzLm1tIGluIFNvdXJj
ZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMUFBMkU1NjQxOEQ3NzUwODAw
MzgxNEJEIC8qIFdLV2ViUHJvY2Vzc0J1bmRsZVBhcmFtZXRlcnMubW0gKi87IH07Ci0JCTJEOTEz
NDI5MjEyQzg0RjUwMDEyOEFGRCAvKiBXS1dlYlByb2Nlc3NQbHVnSW5GcmFtZS5tbSBpbiBTb3Vy
Y2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDFGMDE4MTZBMTg1OERDMTUw
MEY5Mjg4NCAvKiBXS1dlYlByb2Nlc3NQbHVnSW5GcmFtZS5tbSAqLzsgfTsKLQkJMkQ5MTM0MkEy
MTJDODRGNTAwMTI4QUZEIC8qIFdLV2ViUHJvY2Vzc1BsdWdJbkhpdFRlc3RSZXN1bHQubW0gaW4g
U291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxRjAxODE2RDE4NThE
QzE2MDBGOTI4ODQgLyogV0tXZWJQcm9jZXNzUGx1Z0luSGl0VGVzdFJlc3VsdC5tbSAqLzsgfTsK
LQkJMkQ5MTM0MkIyMTJDODRGNTAwMTI4QUZEIC8qIFdLV2ViUHJvY2Vzc1BsdWdJbk5vZGVIYW5k
bGUubW0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxRjAx
ODE3MDE4NThEQzE2MDBGOTI4ODQgLyogV0tXZWJQcm9jZXNzUGx1Z0luTm9kZUhhbmRsZS5tbSAq
LzsgfTsKLQkJMkQ5MTM0MkMyMTJDODRGNTAwMTI4QUZEIC8qIFdLV2ViUHJvY2Vzc1BsdWdJblBh
Z2VHcm91cC5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IDFGQjAwQUM1MTg1Rjc2NDYwMDE5MTQyRSAvKiBXS1dlYlByb2Nlc3NQbHVnSW5QYWdlR3JvdXAu
bW0gKi87IH07Ci0JCTJEOTEzNDJEMjEyQzg0RjUwMDEyOEFGRCAvKiBXS1dlYlByb2Nlc3NQbHVn
SW5SYW5nZUhhbmRsZS5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IDM3NDk0MjE4MURGMUY5RkYwMDMzQzE5RiAvKiBXS1dlYlByb2Nlc3NQbHVnSW5SYW5n
ZUhhbmRsZS5tbSAqLzsgfTsKLQkJMkQ5MTM0MkUyMTJDODRGNTAwMTI4QUZEIC8qIFdLV2ViUHJv
Y2Vzc1BsdWdJblNjcmlwdFdvcmxkLm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gMUYwMTgxNzMxODU4REMxNjAwRjkyODg0IC8qIFdLV2ViUHJvY2Vzc1Bs
dWdJblNjcmlwdFdvcmxkLm1tICovOyB9OwotCQkyRDkxMzQyRjIxMkM4NTAxMDAxMjhBRkQgLyog
V0tXZWJQcm9jZXNzUGx1Z0luLm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gQkM5ODlEN0YxNjFBN0U1QjAwMEQ0NkQzIC8qIFdLV2ViUHJvY2Vzc1BsdWdJ
bi5tbSAqLzsgfTsKLQkJMkQ5MTM0MzAyMTJDODUwMTAwMTI4QUZEIC8qIFdLV2ViUHJvY2Vzc1Bs
dWdJbkJyb3dzZXJDb250ZXh0Q29udHJvbGxlci5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEJDOEYyRjI4MTYyNzNBMkIwMDVGQUNCNSAvKiBXS1dlYlBy
b2Nlc3NQbHVnSW5Ccm93c2VyQ29udGV4dENvbnRyb2xsZXIubW0gKi87IH07Ci0JCTJEOTEzNDMx
MjEyQzg1M0QwMDEyOEFGRCAvKiBXS0RPTURvY3VtZW50Lm1tIGluIFNvdXJjZXMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQkMwMTdEMDAxNjI2MEZGNDAwNzA1NEY1IC8qIFdL
RE9NRG9jdW1lbnQubW0gKi87IH07Ci0JCTJEOTEzNDMyMjEyQzg1M0QwMDEyOEFGRCAvKiBXS0RP
TUVsZW1lbnQubW0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSBCQzAxN0QwMjE2MjYwRkY0MDA3MDU0RjUgLyogV0tET01FbGVtZW50Lm1tICovOyB9OwotCQky
RDkxMzQzMzIxMkM4NTNEMDAxMjhBRkQgLyogV0tET01JbnRlcm5hbHMubW0gaW4gU291cmNlcyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBCQzAxN0QwNDE2MjYwRkY0MDA3MDU0
RjUgLyogV0tET01JbnRlcm5hbHMubW0gKi87IH07Ci0JCTJEOTEzNDM0MjEyQzg1M0QwMDEyOEFG
RCAvKiBXS0RPTU5vZGUubW0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSBCQzAxN0QwNjE2MjYwRkY0MDA3MDU0RjUgLyogV0tET01Ob2RlLm1tICovOyB9Owot
CQkyRDkxMzQzNTIxMkM4NTNEMDAxMjhBRkQgLyogV0tET01SYW5nZS5tbSBpbiBTb3VyY2VzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEJDMzlDNDMzMTYyNjM2NkYwMDhCQzY4
OSAvKiBXS0RPTVJhbmdlLm1tICovOyB9OwotCQkyRDkxMzQzNjIxMkM4NTNEMDAxMjhBRkQgLyog
V0tET01UZXh0Lm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gMjkzRUJFQUExNjI3RDlDOTAwNUY4OUYxIC8qIFdLRE9NVGV4dC5tbSAqLzsgfTsKLQkJMkQ5
MTM0MzcyMTJDODUzRDAwMTI4QUZEIC8qIFdLRE9NVGV4dEl0ZXJhdG9yLm1tIGluIFNvdXJjZXMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQkMwMTdEMUUxNjI2MzMwODAwNzA1
NEY1IC8qIFdLRE9NVGV4dEl0ZXJhdG9yLm1tICovOyB9OwogCQkyRDkxMzQ0MTIxMkNGOUYwMDAx
MjhBRkQgLyogSlNOUE1ldGhvZC5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSAxQUU0OUE0ODExRkZBOENFMDA0OEI0NjQgLyogSlNOUE1ldGhvZC5jcHAg
Ki87IH07CiAJCTJEOTEzNDQyMjEyQ0Y5RjAwMDEyOEFGRCAvKiBKU05QT2JqZWN0LmNwcCBpbiBT
b3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDFBRTQ5ODc3MTFGRjdG
QUEwMDQ4QjQ2NCAvKiBKU05QT2JqZWN0LmNwcCAqLzsgfTsKIAkJMkQ5MTM0NDMyMTJDRjlGMDAw
MTI4QUZEIC8qIE5ldHNjYXBlQnJvd3NlckZ1bmNzLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDFBNkZCQTI5MTFFNjg2MjcwMERCMTM3MSAvKiBOZXRz
Y2FwZUJyb3dzZXJGdW5jcy5jcHAgKi87IH07CkBAIC03ODgsNyArNzM4LDYgQEAKIAkJMzE2QjhC
NjQyMDU0QjU1ODAwQkQ0QTYyIC8qIFdLU3lzdGVtUHJldmlld1ZpZXcuaCBpbiBIZWFkZXJzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDMxNkI4QjYyMjA1NEI1NTgwMEJENEE2
MiAvKiBXS1N5c3RlbVByZXZpZXdWaWV3LmggKi87IH07CiAJCTMxN0ZFN0M1MUM0ODdBNkMwMEEw
Q0E4OSAvKiBBUElFeHBlcmltZW50YWxGZWF0dXJlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAzMTdGRTdDMjFDNDg3QTY2MDBBMENBODkgLyogQVBJRXhw
ZXJpbWVudGFsRmVhdHVyZS5oICovOyB9OwogCQkzMTdGRTdDRDFDNDg3REFFMDBBMENBODkgLyog
X1dLRXhwZXJpbWVudGFsRmVhdHVyZUludGVybmFsLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAzMTdGRTdDOTFDNDg3RDlEMDBBMENBODkgLyogX1dLRXhw
ZXJpbWVudGFsRmVhdHVyZUludGVybmFsLmggKi87IH07Ci0JCTMxN0ZFN0NFMUM0ODdEQjgwMEEw
Q0E4OSAvKiBfV0tFeHBlcmltZW50YWxGZWF0dXJlLm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMzE3RkU3QzgxQzQ4N0Q5RDAwQTBDQTg5IC8qIF9XS0V4
cGVyaW1lbnRhbEZlYXR1cmUubW0gKi87IH07CiAJCTMxN0ZFN0NGMUM0ODdEQkQwMEEwQ0E4OSAv
KiBfV0tFeHBlcmltZW50YWxGZWF0dXJlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSAzMTdGRTdDNzFDNDg3RDlEMDBBMENBODkgLyogX1dLRXhwZXJpbWVu
dGFsRmVhdHVyZS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07
IH07CiAJCTMxOEJFMTcxMTQ3NDNEQjEwMEE4RkJCMiAvKiBXS05vdGlmaWNhdGlvbk1hbmFnZXIu
aCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDMxOEJFMTcw
MTQ3NDNEQjEwMEE4RkJCMiAvKiBXS05vdGlmaWNhdGlvbk1hbmFnZXIuaCAqLzsgc2V0dGluZ3Mg
PSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQkzMThCRTE3OTE0NzQzRTZGMDBB
OEZCQjIgLyogV0tOb3RpZmljYXRpb24uaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IDMxOEJFMTc4MTQ3NDNFNkEwMEE4RkJCMiAvKiBXS05vdGlmaWNhdGlv
bi5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CkBAIC04
MTMsNyArNzYyLDYgQEAKIAkJMzMwOTM0NUIxMzE1Qjk5ODAwOTdBN0JDIC8qIFdLQ29va2llTWFu
YWdlci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMzMw
OTM0NTkxMzE1Qjk5ODAwOTdBN0JDIC8qIFdLQ29va2llTWFuYWdlci5oICovOyBzZXR0aW5ncyA9
IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTMzMzY3NjNCMTMwQzk5REMwMDZD
OURFMiAvKiBXS1Jlc291cmNlQ2FjaGVNYW5hZ2VyLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAzMzM2NzYzOTEzMEM5OURDMDA2QzlERTIgLyogV0tSZXNv
dXJjZUNhY2hlTWFuYWdlci5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUs
ICk7IH07IH07CiAJCTMzQUExMDY3MTMxRjA2MDAwMEQ0QTU3NSAvKiBXZWJDb29raWVNYW5hZ2Vy
UHJveHlDbGllbnQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IDMzQUExMDY1MTMxRjA2MDAwMEQ0QTU3NSAvKiBXZWJDb29raWVNYW5hZ2VyUHJveHlDbGll
bnQuaCAqLzsgfTsKLQkJMzcwRjM0QTIxODI5QkUxRTAwOTAyN0M4IC8qIFdLTmF2aWdhdGlvbkRh
dGEubW0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAzNzBG
MzRBMDE4MjlCRTFFMDA5MDI3QzggLyogV0tOYXZpZ2F0aW9uRGF0YS5tbSAqLzsgfTsKIAkJMzcw
RjM0QTMxODI5QkUxRTAwOTAyN0M4IC8qIFdLTmF2aWdhdGlvbkRhdGEuaCBpbiBIZWFkZXJzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDM3MEYzNEExMTgyOUJFMUUwMDkwMjdD
OCAvKiBXS05hdmlnYXRpb25EYXRhLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJp
dmF0ZSwgKTsgfTsgfTsKIAkJMzcwRjM0QTUxODI5QkVBMzAwOTAyN0M4IC8qIFdLTmF2aWdhdGlv
bkRhdGFJbnRlcm5hbC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gMzcwRjM0QTQxODI5QkVBMzAwOTAyN0M4IC8qIFdLTmF2aWdhdGlvbkRhdGFJbnRlcm5h
bC5oICovOyB9OwogCQkzNzBGMzRBNzE4MjlDRkYzMDA5MDI3QzggLyogV0tCcm93c2luZ0NvbnRl
eHRIaXN0b3J5RGVsZWdhdGUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IDM3MEYzNEE2MTgyOUNGRjMwMDkwMjdDOCAvKiBXS0Jyb3dzaW5nQ29udGV4dEhp
c3RvcnlEZWxlZ2F0ZS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7
IH07IH07CkBAIC04MjksNyArNzc3LDYgQEAKIAkJMzcyRUJCNDEyMDE3RTY0MzAwMDg1MDY0IC8q
IFdlYkNvbnRlbnRQcm9jZXNzLnhpYiBpbiBSZXNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gRTFEMjZBNEMxNzU5NjM0RTAwOTVCRkQxIC8qIFdlYkNvbnRlbnRQcm9j
ZXNzLnhpYiAqLzsgfTsKIAkJMzczQ0VBRDYxODU0MTdBRTAwOEMzNjNEIC8qIFdLTlNEYXRhLmgg
aW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAzNzNDRUFENDE4
NTQxN0FFMDA4QzM2M0QgLyogV0tOU0RhdGEuaCAqLzsgfTsKIAkJMzczQ0VBRDgxODU5NTUzRjAw
OEMzNjNEIC8qIFdLUGFnZVBvbGljeUNsaWVudEludGVybmFsLmggaW4gSGVhZGVycyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAzNzNDRUFENzE4NTk1NTNGMDA4QzM2M0QgLyog
V0tQYWdlUG9saWN5Q2xpZW50SW50ZXJuYWwuaCAqLzsgfTsKLQkJMzczRDEyMjIxOEE0NzMwMTAw
NjZEOUNDIC8qIF9XS0ZyYW1lSGFuZGxlLm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gMzczRDEyMjAxOEE0NzMwMTAwNjZEOUNDIC8qIF9XS0ZyYW1lSGFu
ZGxlLm1tICovOyB9OwogCQkzNzNEMTIyMzE4QTQ3MzAxMDA2NkQ5Q0MgLyogX1dLRnJhbWVIYW5k
bGUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDM3M0Qx
MjIxMThBNDczMDEwMDY2RDlDQyAvKiBfV0tGcmFtZUhhbmRsZS5oICovOyBzZXR0aW5ncyA9IHtB
VFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTM3M0QxMjI3MThBNDczRjYwMDY2RDlD
QyAvKiBfV0tGcmFtZUhhbmRsZUludGVybmFsLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSAzNzNEMTIyNjE4QTQ3M0Y2MDA2NkQ5Q0MgLyogX1dLRnJhbWVI
YW5kbGVJbnRlcm5hbC5oICovOyB9OwogCQkzNzNEMTIyRDE4QTRCNkVCMDA2NkQ5Q0MgLyogV0tX
ZWJQcm9jZXNzUGx1Z0luRnJhbWVQcml2YXRlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSAzNzNEMTIyQzE4QTRCNkE4MDA2NkQ5Q0MgLyogV0tXZWJQcm9j
ZXNzUGx1Z0luRnJhbWVQcml2YXRlLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJp
dmF0ZSwgKTsgfTsgfTsKQEAgLTg2MiwxMCArODA5LDggQEAKIAkJMzc5NDg0MDkxNTBDNEI5NzAw
RTUyQ0U5IC8qIFdLUmVuZGVyTGF5ZXIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IDM3OTQ4NDA3MTUwQzRCOTYwMEU1MkNFOSAvKiBXS1JlbmRlckxheWVy
LmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJMzc5
NTc4OUMxOEFENEYxOTAwQjlFRDJFIC8qIFdLV2ViUHJvY2Vzc1BsdWdJbkZvcm1EZWxlZ2F0ZVBy
aXZhdGUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDM3
OTU3ODlCMThBRDRGMTEwMEI5RUQyRSAvKiBXS1dlYlByb2Nlc3NQbHVnSW5Gb3JtRGVsZWdhdGVQ
cml2YXRlLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsK
IAkJMzc5QTg3MzYxOEJCRkE0MzAwNTg4QUYyIC8qIF9XS0FjdGl2YXRlZEVsZW1lbnRJbmZvSW50
ZXJuYWwuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDM3
OUE4NzM1MThCQkZBNDMwMDU4OEFGMiAvKiBfV0tBY3RpdmF0ZWRFbGVtZW50SW5mb0ludGVybmFs
LmggKi87IH07Ci0JCTM3OUE4NzM5MThCQkZFMEYwMDU4OEFGMiAvKiBfV0tFbGVtZW50QWN0aW9u
Lm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMzc5QTg3
MzcxOEJCRkUwRjAwNTg4QUYyIC8qIF9XS0VsZW1lbnRBY3Rpb24ubW0gKi87IH07CiAJCTM3OUE4
NzNBMThCQkZFMEYwMDU4OEFGMiAvKiBfV0tFbGVtZW50QWN0aW9uLmggaW4gSGVhZGVycyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAzNzlBODczODE4QkJGRTBGMDA1ODhBRjIg
LyogX1dLRWxlbWVudEFjdGlvbi5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZh
dGUsICk7IH07IH07CiAJCTM3OUE4NzNDMThCQkZGMDcwMDU4OEFGMiAvKiBfV0tFbGVtZW50QWN0
aW9uSW50ZXJuYWwuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IDM3OUE4NzNCMThCQkZGMDcwMDU4OEFGMiAvKiBfV0tFbGVtZW50QWN0aW9uSW50ZXJuYWwu
aCAqLzsgfTsKLQkJMzdBNUUwMTMxOEJCRjkzNzAwMEEwODFFIC8qIF9XS0FjdGl2YXRlZEVsZW1l
bnRJbmZvLm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
MzdBNUUwMTExOEJCRjkzNzAwMEEwODFFIC8qIF9XS0FjdGl2YXRlZEVsZW1lbnRJbmZvLm1tICov
OyB9OwogCQkzN0E1RTAxNDE4QkJGOTNGMDAwQTA4MUUgLyogX1dLQWN0aXZhdGVkRWxlbWVudElu
Zm8uaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDM3QTVF
MDEyMThCQkY5MzcwMDBBMDgxRSAvKiBfV0tBY3RpdmF0ZWRFbGVtZW50SW5mby5oICovOyBzZXR0
aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTM3QTY0RTU1MThGMzhF
M0MwMEVCMzBGMSAvKiBfV0tJbnB1dERlbGVnYXRlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAzN0E2NEU1NDE4RjM4RTNDMDBFQjMwRjEgLyogX1dLSW5w
dXREZWxlZ2F0ZS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07
IH07CiAJCTM3QTY0RTU3MThGMzhGNDYwMEVCMzBGMSAvKiBfV0tGb3JtSW5wdXRTZXNzaW9uLmgg
aW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAzN0E2NEU1NjE4
RjM4RjQ2MDBFQjMwRjEgLyogX1dLRm9ybUlucHV0U2Vzc2lvbi5oICovOyBzZXR0aW5ncyA9IHtB
VFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CkBAIC04NzksMTAgKzgyNCw4IEBACiAJCTM3
QkVDNEUxMTk0OTE0ODYwMDhCNDI4NiAvKiBDb21wbGV0aW9uSGFuZGxlckNhbGxDaGVja2VyLmgg
aW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAzN0JFQzRERjE5
NDkxNDg2MDA4QjQyODYgLyogQ29tcGxldGlvbkhhbmRsZXJDYWxsQ2hlY2tlci5oICovOyB9Owog
CQkzN0JGMkYwNjE5NDdERUI0MDA3MjNDNDggLyogV0tOU1VSTFJlcXVlc3QuaCBpbiBIZWFkZXJz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDM3QkYyRjA0MTk0N0RFQjQwMDcy
M0M0OCAvKiBXS05TVVJMUmVxdWVzdC5oICovOyB9OwogCQkzN0MyMUNBRTFFOTk0QzBDMDAyOUQ1
RjkgLyogQ29yZVByZWRpY3Rpb25TUEkuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IDM3QzIxQ0FEMUU5OTRDMEMwMDI5RDVGOSAvKiBDb3JlUHJlZGljdGlv
blNQSS5oICovOyB9OwotCQkzN0M0QzA4NjE4MTQ5QzVCMDAzNjg4QjkgLyogV0tCYWNrRm9yd2Fy
ZExpc3RJdGVtLm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gMzdDNEMwODQxODE0OUM1QjAwMzY4OEI5IC8qIFdLQmFja0ZvcndhcmRMaXN0SXRlbS5tbSAq
LzsgfTsKIAkJMzdDNEMwODcxODE0OUM1QjAwMzY4OEI5IC8qIFdLQmFja0ZvcndhcmRMaXN0SXRl
bS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMzdDNEMw
ODUxODE0OUM1QjAwMzY4OEI5IC8qIFdLQmFja0ZvcndhcmRMaXN0SXRlbS5oICovOyBzZXR0aW5n
cyA9IHtBVFRSSUJVVEVTID0gKFB1YmxpYywgKTsgfTsgfTsKIAkJMzdDNEMwODkxODE0OUYyMzAw
MzY4OEI5IC8qIFdLQmFja0ZvcndhcmRMaXN0SXRlbUludGVybmFsLmggaW4gSGVhZGVycyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAzN0M0QzA4ODE4MTQ5RjIzMDAzNjg4Qjkg
LyogV0tCYWNrRm9yd2FyZExpc3RJdGVtSW50ZXJuYWwuaCAqLzsgfTsKLQkJMzdDNEMwOEMxODE0
QUM1QzAwMzY4OEI5IC8qIFdLQmFja0ZvcndhcmRMaXN0Lm1tIGluIFNvdXJjZXMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMzdDNEMwOEExODE0QUM1QzAwMzY4OEI5IC8qIFdL
QmFja0ZvcndhcmRMaXN0Lm1tICovOyB9OwogCQkzN0M0QzA4RDE4MTRBQzVDMDAzNjg4QjkgLyog
V0tCYWNrRm9yd2FyZExpc3QuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IDM3QzRDMDhCMTgxNEFDNUMwMDM2ODhCOSAvKiBXS0JhY2tGb3J3YXJkTGlzdC5o
ICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFB1YmxpYywgKTsgfTsgfTsKIAkJMzdDNEMw
OTQxODE0QjNBRjAwMzY4OEI5IC8qIFdLTlNBcnJheS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMzdDNEMwOTIxODE0QjNBRjAwMzY4OEI5IC8qIFdLTlNB
cnJheS5oICovOyB9OwogCQkzN0M0QzA5NTE4MTRCOUU2MDAzNjg4QjkgLyogV0tCYWNrRm9yd2Fy
ZExpc3RJbnRlcm5hbC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gMzdDNEMwOEUxODE0QUYzQTAwMzY4OEI5IC8qIFdLQmFja0ZvcndhcmRMaXN0SW50ZXJu
YWwuaCAqLzsgfTsKQEAgLTg5Miw3ICs4MzUsNiBAQAogCQkzN0Y2MjNCODEyQTU3QjYyMDBFM0ZE
RjYgLyogV0tGaW5kT3B0aW9ucy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gMzdGNjIzQjcxMkE1N0I2MjAwRTNGREY2IC8qIFdLRmluZE9wdGlvbnMuaCAq
Lzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQkzN0Y5MERF
MzEzNzY1NjBFMDA1MUNGNjggLyogSFRUUENvb2tpZUFjY2VwdFBvbGljeS5oIGluIEhlYWRlcnMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRjYzODk1NEYxMzNCRUYzODAwODk0
MUQ1IC8qIEhUVFBDb29raWVBY2NlcHRQb2xpY3kuaCAqLzsgfTsKIAkJMzdGQzE5NDcxODUwRkJG
MjAwOENGQTQ3IC8qIFdLQnJvd3NpbmdDb250ZXh0TG9hZERlbGVnYXRlUHJpdmF0ZS5oIGluIEhl
YWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMzdGQzE5NDYxODUwRkJG
MjAwOENGQTQ3IC8qIFdLQnJvd3NpbmdDb250ZXh0TG9hZERlbGVnYXRlUHJpdmF0ZS5oICovOyBz
ZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07Ci0JCTM3RkMxOTRBMTg1
MTBENkEwMDhDRkE0NyAvKiBXS05TVVJMQXV0aGVudGljYXRpb25DaGFsbGVuZ2UubW0gaW4gU291
cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAzN0ZDMTk0ODE4NTEwRDZB
MDA4Q0ZBNDcgLyogV0tOU1VSTEF1dGhlbnRpY2F0aW9uQ2hhbGxlbmdlLm1tICovOyB9OwogCQkz
N0ZDMTk0QjE4NTEwRDZBMDA4Q0ZBNDcgLyogV0tOU1VSTEF1dGhlbnRpY2F0aW9uQ2hhbGxlbmdl
LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAzN0ZDMTk0
OTE4NTEwRDZBMDA4Q0ZBNDcgLyogV0tOU1VSTEF1dGhlbnRpY2F0aW9uQ2hhbGxlbmdlLmggKi87
IH07CiAJCTNGNDE4RUY5MTg4N0JEOTcwMDI3OTVGRCAvKiBWaWRlb0Z1bGxzY3JlZW5NYW5hZ2Vy
TWVzc2FnZVJlY2VpdmVyLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IDNGNDE4RUY1MTg4N0JEOTcwMDI3OTVGRCAvKiBWaWRlb0Z1bGxzY3JlZW5NYW5h
Z2VyTWVzc2FnZVJlY2VpdmVyLmNwcCAqLzsgfTsKIAkJM0Y0MThFRkIxODg3QkQ5NzAwMjc5NUZE
IC8qIFZpZGVvRnVsbHNjcmVlbk1hbmFnZXJQcm94eU1lc3NhZ2VSZWNlaXZlci5jcHAgaW4gU291
cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAzRjQxOEVGNzE4ODdCRDk3
MDAyNzk1RkQgLyogVmlkZW9GdWxsc2NyZWVuTWFuYWdlclByb3h5TWVzc2FnZVJlY2VpdmVyLmNw
cCAqLzsgfTsKQEAgLTk1Miw3ICs4OTQsNiBAQAogCQk1MTBBRkZCQTE2NTQyMDQ4MDAxQkEwNUUg
LyogV2ViUmVzb3VyY2VMb2FkZXIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IDUxMEFGRkI4MTY1NDIwNDgwMDFCQTA1RSAvKiBXZWJSZXNvdXJjZUxvYWRl
ci5oICovOyB9OwogCQk1MTBGNTkxMDFEREUyOTY5MDA0MTJGRjUgLyogX1dLSWNvbkxvYWRpbmdE
ZWxlZ2F0ZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
NTE0M0IyNUUxRERDREZEMTAwMTRGQUM2IC8qIF9XS0ljb25Mb2FkaW5nRGVsZWdhdGUuaCAqLzsg
c2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQk1MTBGNTkxMTFE
REUyOTcwMDA0MTJGRjUgLyogX1dLTGlua0ljb25QYXJhbWV0ZXJzLmggaW4gSGVhZGVycyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1MUMwQzk3OTFEREQ3ODU0MDAzMkNBRDMg
LyogX1dLTGlua0ljb25QYXJhbWV0ZXJzLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAo
UHJpdmF0ZSwgKTsgfTsgfTsKLQkJNTEwRjU5MTIxRERFMjk3NzAwNDEyRkY1IC8qIF9XS0xpbmtJ
Y29uUGFyYW1ldGVycy5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IDUxQzBDOTdBMURERDc4NTQwMDMyQ0FEMyAvKiBfV0tMaW5rSWNvblBhcmFtZXRlcnMu
bW0gKi87IH07CiAJCTUxMEZCQjlCMTI4OEM5NUUwMEFGRkRGNCAvKiBXZWJDb250ZXh0TWVudUl0
ZW1EYXRhLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1
MTBGQkI5OTEyODhDOTVFMDBBRkZERjQgLyogV2ViQ29udGV4dE1lbnVJdGVtRGF0YS5oICovOyB9
OwogCQk1MTEwQUUwRDEzM0MxNkNCMDA3MjcxN0EgLyogV0tJY29uRGF0YWJhc2UuaCBpbiBIZWFk
ZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDUxMTBBRTBCMTMzQzE2Q0Iw
MDcyNzE3QSAvKiBXS0ljb25EYXRhYmFzZS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0g
KFByaXZhdGUsICk7IH07IH07CiAJCTUxMThFOTlDMUYyOTUyNjYwMDNFRjlGNSAvKiBXZWJUb1N0
b3JhZ2VQcm9jZXNzQ29ubmVjdGlvbi5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gNTExOEU5OUExRjI5NTI1OTAwM0VGOUY1IC8qIFdlYlRvU3RvcmFnZVBy
b2Nlc3NDb25uZWN0aW9uLmggKi87IH07CkBAIC05NjcsNyArOTA4LDYgQEAKIAkJNTExRjhBN0Ix
MzhCNDYwOTAwQTk1RjQ0IC8qIFNlY0l0ZW1TaGltTGlicmFyeS5oIGluIEhlYWRlcnMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNTExRjhBNzcxMzhCNDYwOTAwQTk1RjQ0IC8q
IFNlY0l0ZW1TaGltTGlicmFyeS5oICovOyB9OwogCQk1MTFGOEE4MTEzOEI0ODVEMDBBOTVGNDQg
LyogU2VjSXRlbVNoaW1MaWJyYXJ5Lm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gNTExRjhBNzgxMzhCNDYwOTAwQTk1RjQ0IC8qIFNlY0l0ZW1TaGltTGli
cmFyeS5tbSAqLzsgfTsKIAkJNTEyMEM4MzUxRTVCNzRCOTAwMjVCMjUwIC8qIF9XS1dlYnNpdGVE
YXRhU3RvcmVDb25maWd1cmF0aW9uLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSA1MTIwQzgzMzFFNUI3MTU3MDAyNUIyNTAgLyogX1dLV2Vic2l0ZURhdGFT
dG9yZUNvbmZpZ3VyYXRpb24uaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRl
LCApOyB9OyB9OwotCQk1MTIwQzgzNjFFNUI3NEJFMDAyNUIyNTAgLyogX1dLV2Vic2l0ZURhdGFT
dG9yZUNvbmZpZ3VyYXRpb24ubW0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSA1MTIwQzgzNDFFNUI3MTU3MDAyNUIyNTAgLyogX1dLV2Vic2l0ZURhdGFTdG9y
ZUNvbmZpZ3VyYXRpb24ubW0gKi87IH07CiAJCTUxMjEyN0M0MTkwODIzOUEwMERBRjM1QyAvKiBX
ZWJQYXN0ZWJvYXJkT3ZlcnJpZGVzLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSA1MTIxMjdDMjE5MDgyMzlBMDBEQUYzNUMgLyogV2ViUGFzdGVib2FyZE92
ZXJyaWRlcy5oICovOyB9OwogCQk1MTIxNzQ2MTE2NEMyMEUzMDAzN0E1QzEgLyogU2hhcmVhYmxl
UmVzb3VyY2UuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IDUxMjE3NDVGMTY0QzIwRTMwMDM3QTVDMSAvKiBTaGFyZWFibGVSZXNvdXJjZS5oICovOyB9Owog
CQk1MTIzQ0YxQzEzM0QyNjBBMDA1NkY4MDAgLyogV0tJY29uRGF0YWJhc2VDRy5oIGluIEhlYWRl
cnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNTEyM0NGMUExMzNEMjYwQTAw
NTZGODAwIC8qIFdLSWNvbkRhdGFiYXNlQ0cuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9
IChQcml2YXRlLCApOyB9OyB9OwpAQCAtMTAzOCwxMiArOTc4LDkgQEAKIAkJNTFDMEM5NzQxRERE
NzYwMDAwMzJDQUQzIC8qIEljb25Mb2FkaW5nRGVsZWdhdGUuaCBpbiBIZWFkZXJzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDUxQzBDOTcyMURERDc0RjAwMDMyQ0FEMyAvKiBJ
Y29uTG9hZGluZ0RlbGVnYXRlLmggKi87IH07CiAJCTUxQ0QxQzVFMUIzNDkzQjQwMDE0MkNBNSAv
KiBXS1NlY3VyaXR5T3JpZ2luUmVmLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSA1MUNEMUM1QTFCMzQ5M0E5MDAxNDJDQTUgLyogV0tTZWN1cml0eU9yaWdp
blJlZi5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJ
CTUxQ0QxQzY1MUIzNEI5RDQwMDE0MkNBNSAvKiBXS1NlY3VyaXR5T3JpZ2luLmggaW4gSGVhZGVy
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1MUNEMUM1RjFCMzRCOUM5MDAx
NDJDQTUgLyogV0tTZWN1cml0eU9yaWdpbi5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0g
KFB1YmxpYywgKTsgfTsgfTsKLQkJNTFDRDFDNjYxQjM0QjlEQzAwMTQyQ0E1IC8qIFdLU2VjdXJp
dHlPcmlnaW4ubW0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSA1MUNEMUM2MDFCMzRCOUM5MDAxNDJDQTUgLyogV0tTZWN1cml0eU9yaWdpbi5tbSAqLzsgfTsK
IAkJNTFDRDFDNjcxQjM0QjlERjAwMTQyQ0E1IC8qIFdLU2VjdXJpdHlPcmlnaW5JbnRlcm5hbC5o
IGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNTFDRDFDNjEx
QjM0QjlDOTAwMTQyQ0E1IC8qIFdLU2VjdXJpdHlPcmlnaW5JbnRlcm5hbC5oICovOyB9OwogCQk1
MUQxMjQzNDFFNkRGNjQzMDAyQjI4MjAgLyogV0tVUkxTY2hlbWVIYW5kbGVyLmggaW4gSGVhZGVy
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1MUQxMjQyRDFFNkREREQ3MDAy
QjI4MjAgLyogV0tVUkxTY2hlbWVIYW5kbGVyLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMg
PSAoUHVibGljLCApOyB9OyB9OwogCQk1MUQxMjQzNTFFNkRGNjUyMDAyQjI4MjAgLyogV0tVUkxT
Y2hlbWVUYXNrLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSA1MUQxMjQyRjFFNkREREQ3MDAyQjI4MjAgLyogV0tVUkxTY2hlbWVUYXNrLmggKi87IHNldHRp
bmdzID0ge0FUVFJJQlVURVMgPSAoUHVibGljLCApOyB9OyB9OwotCQk1MUQxMjQzNjFFNkRGQjM5
MDAyQjI4MjAgLyogV0tVUkxTY2hlbWVUYXNrLm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gNTFEMTI0MzAxRTZERERENzAwMkIyODIwIC8qIFdLVVJMU2No
ZW1lVGFzay5tbSAqLzsgfTsKLQkJNTFEMTI0OTIxRTc0QkY0ODAwMkIyODIwIC8qIFdLSFRUUENv
b2tpZVN0b3JlLm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gNTFEMTI0ODUxRTczNEFFMzAwMkIyODIwIC8qIFdLSFRUUENvb2tpZVN0b3JlLm1tICovOyB9
OwogCQk1MUQxMjQ5OTFFNzYzQzAxMDAyQjI4MjAgLyogV0tIVFRQQ29va2llU3RvcmUuaCBpbiBI
ZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDUxRDEyNDg0MUU3MzRB
RTMwMDJCMjgyMCAvKiBXS0hUVFBDb29raWVTdG9yZS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJV
VEVTID0gKFB1YmxpYywgKTsgfTsgfTsKIAkJNTFEMTMwNTQxMzgyRUFDMDAwMzUxRUREIC8qIFNl
Y0l0ZW1SZXF1ZXN0RGF0YS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gNTFEMTMwNTAxMzgyRUFDMDAwMzUxRUREIC8qIFNlY0l0ZW1SZXF1ZXN0RGF0YS5o
ICovOyB9OwogCQk1MUQxMzA1NjEzODJFQUMwMDAzNTFFREQgLyogU2VjSXRlbVJlc3BvbnNlRGF0
YS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNTFEMTMw
NTIxMzgyRUFDMDAwMzUxRUREIC8qIFNlY0l0ZW1SZXNwb25zZURhdGEuaCAqLzsgfTsKQEAgLTEx
MTUsMjggKzEwNTIsMjIgQEAKIAkJNUM5RTU2ODMxREY3RjFCMzAwQzlFRTMzIC8qIFdLV2Vic2l0
ZVBvbGljaWVzLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSA1QzlFNTY4MTFERjdGMDU1MDBDOUVFMzMgLyogV0tXZWJzaXRlUG9saWNpZXMuaCAqLzsgc2V0
dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQk1Q0E5ODU0QTIxMEJF
QjY0MDA1N0VCNkIgLyogU2FmZUJyb3dzaW5nUmVzdWx0LmggaW4gSGVhZGVycyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1Q0E5ODU0OTIxMEJFQjVBMDA1N0VCNkIgLyogU2Fm
ZUJyb3dzaW5nUmVzdWx0LmggKi87IH07CiAJCTVDQUZERTQ1MjEzMDg0NjMwMEIxRjdFMSAvKiBf
V0tJbnNwZWN0b3IuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IDVDQUZERTQyMjEzMDg0MzUwMEIxRjdFMSAvKiBfV0tJbnNwZWN0b3IuaCAqLzsgc2V0dGlu
Z3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwotCQk1Q0FGREU0NjIxMzA4NDY4
MDBCMUY3RTEgLyogX1dLSW5zcGVjdG9yLm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gNUNBRkRFNDMyMTMwODQzNjAwQjFGN0UxIC8qIF9XS0luc3BlY3Rv
ci5tbSAqLzsgfTsKIAkJNUNBRkRFNDcyMTMwODQ2QTAwQjFGN0UxIC8qIF9XS0luc3BlY3Rvcklu
dGVybmFsLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1
Q0FGREU0NDIxMzA4NDM2MDBCMUY3RTEgLyogX1dLSW5zcGVjdG9ySW50ZXJuYWwuaCAqLzsgfTsK
LQkJNUNCMjM3OEIxREYwREU1MzAwMTE3QUEzIC8qIF9XS1dlYnNpdGVQb2xpY2llcy5tbSBpbiBT
b3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDVDQjIzNzhBMURGMERE
NDMwMDExN0FBMyAvKiBfV0tXZWJzaXRlUG9saWNpZXMubW0gKi87IH07CiAJCTVDQjIzNzhDMURG
MERFNkUwMDExN0FBMyAvKiBfV0tXZWJzaXRlUG9saWNpZXMuaCBpbiBIZWFkZXJzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDVDQjIzNzg5MURGMERENDMwMDExN0FBMyAvKiBf
V0tXZWJzaXRlUG9saWNpZXMuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRl
LCApOyB9OyB9OwogCQk1Q0IyMzc4RTFERjBFMEQzMDAxMTdBQTMgLyogX1dLV2Vic2l0ZVBvbGlj
aWVzSW50ZXJuYWwuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IDVDQjIzNzhEMURGMEUwQzIwMDExN0FBMyAvKiBfV0tXZWJzaXRlUG9saWNpZXNJbnRlcm5h
bC5oICovOyB9OwogCQk1Q0JDOUI4RTFDNjUyQ0EwMDBBOEZEQ0YgLyogTmV0d29ya0RhdGFUYXNr
LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1Q0JDOUI4
OTFDNjUyNEE1MDBBOEZEQ0YgLyogTmV0d29ya0RhdGFUYXNrLmggKi87IH07CiAJCTVDRDI4NjUx
MUU3MjM1OTkwMDk0RkRDOCAvKiBXS0NvbnRlbnRSdWxlTGlzdFN0b3JlLmggaW4gSGVhZGVycyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1Q0QyODY0RDFFNzIyRjQ0MDA5NEZE
QzggLyogV0tDb250ZW50UnVsZUxpc3RTdG9yZS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVT
ID0gKFB1YmxpYywgKTsgfTsgfTsKLQkJNUNEMjg2NTIxRTcyMzVBNjAwOTRGREM4IC8qIFdLQ29u
dGVudFJ1bGVMaXN0Lm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gNUNEMjg2NEIxRTcyMkY0NDAwOTRGREM4IC8qIFdLQ29udGVudFJ1bGVMaXN0Lm1tICov
OyB9OwogCQk1Q0QyODY1MzFFNzIzNUFBMDA5NEZEQzggLyogX1dLVXNlckNvbnRlbnRGaWx0ZXJQ
cml2YXRlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1
Q0QyODY0OTFFNzIyRjQ0MDA5NEZEQzggLyogX1dLVXNlckNvbnRlbnRGaWx0ZXJQcml2YXRlLmgg
Ki87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJNUNEMjg2
NTQxRTcyMzVCMTAwOTRGREM4IC8qIFdLQ29udGVudFJ1bGVMaXN0LmggaW4gSGVhZGVycyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1Q0QyODY0QTFFNzIyRjQ0MDA5NEZEQzgg
LyogV0tDb250ZW50UnVsZUxpc3QuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQdWJs
aWMsICk7IH07IH07CiAJCTVDRDI4NjU1MUU3MjM1QjgwMDk0RkRDOCAvKiBXS0NvbnRlbnRSdWxl
TGlzdEludGVybmFsLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSA1Q0QyODY0QzFFNzIyRjQ0MDA5NEZEQzggLyogV0tDb250ZW50UnVsZUxpc3RJbnRlcm5h
bC5oICovOyB9OwotCQk1Q0QyODY1NjFFNzIzNUM2MDA5NEZEQzggLyogV0tDb250ZW50UnVsZUxp
c3RTdG9yZS5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IDVDRDI4NjRFMUU3MjJGNDQwMDk0RkRDOCAvKiBXS0NvbnRlbnRSdWxlTGlzdFN0b3JlLm1tICov
OyB9OwogCQk1Q0QyODY1NzFFNzIzNUM5MDA5NEZEQzggLyogV0tDb250ZW50UnVsZUxpc3RTdG9y
ZUludGVybmFsLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSA1Q0QyODY0RjFFNzIyRjQ0MDA5NEZEQzggLyogV0tDb250ZW50UnVsZUxpc3RTdG9yZUludGVy
bmFsLmggKi87IH07CiAJCTVDRDI4NjU4MUU3MjM1RDEwMDk0RkRDOCAvKiBXS0NvbnRlbnRSdWxl
TGlzdFN0b3JlUHJpdmF0ZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gNUNEMjg2NTAxRTcyMkY0NDAwOTRGREM4IC8qIFdLQ29udGVudFJ1bGVMaXN0U3Rv
cmVQcml2YXRlLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsg
fTsKIAkJNUNFODVCMjAxQzg4RTY0QjAwNzBCRkNFIC8qIFBpbmdMb2FkLmggaW4gSGVhZGVycyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1Q0U4NUIxRjFDODhFNjQzMDA3MEJG
Q0UgLyogUGluZ0xvYWQuaCAqLzsgfTsKIAkJNjE3QTUyRDgxRjQzQTlEQTAwRENEQzBBIC8qIFNl
cnZpY2VXb3JrZXJDbGllbnRGZXRjaE1lc3NhZ2VSZWNlaXZlci5jcHAgaW4gU291cmNlcyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA2MTdBNTJENzFGNDNBOUI2MDBEQ0RDMEEg
LyogU2VydmljZVdvcmtlckNsaWVudEZldGNoTWVzc2FnZVJlY2VpdmVyLmNwcCAqLzsgfTsKIAkJ
NjMxMDhGOTYxRjk2NzE5QzAwQTBEQjg0IC8qIF9XS0FwcGxpY2F0aW9uTWFuaWZlc3QuaCBpbiBI
ZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDYzMTA4Rjk0MUY5Njcx
OUMwMEEwREI4NCAvKiBfV0tBcHBsaWNhdGlvbk1hbmlmZXN0LmggKi87IHNldHRpbmdzID0ge0FU
VFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKLQkJNjMxMDhGOTcxRjk2NzE5QzAwQTBEQjg0
IC8qIF9XS0FwcGxpY2F0aW9uTWFuaWZlc3QubW0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSA2MzEwOEY5NTFGOTY3MTlDMDBBMERCODQgLyogX1dLQXBwbGlj
YXRpb25NYW5pZmVzdC5tbSAqLzsgfTsKIAkJNjMxMDhGOTkxRjk2NzFGNzAwQTBEQjg0IC8qIF9X
S0FwcGxpY2F0aW9uTWFuaWZlc3RJbnRlcm5hbC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gNjMxMDhGOTgxRjk2NzFGNzAwQTBEQjg0IC8qIF9XS0FwcGxp
Y2F0aW9uTWFuaWZlc3RJbnRlcm5hbC5oICovOyB9OwogCQk2MzQ4NDI1MTFGQjI2RTcxMDA5NDZF
M0MgLyogQVBJQXBwbGljYXRpb25NYW5pZmVzdC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gNjM0ODQyNEYxRkIyNkU3MTAwOTQ2RTNDIC8qIEFQSUFwcGxp
Y2F0aW9uTWFuaWZlc3QuaCAqLzsgfTsKIAkJNjM2MzUzQTUxRTk4NThERjAwMDlGOEFGIC8qIF9X
S0dlb2xvY2F0aW9uQ29yZUxvY2F0aW9uUHJvdmlkZXIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDYzRkFCRTE5MUU5NzBENjUwMDMwMTFENSAvKiBfV0tH
ZW9sb2NhdGlvbkNvcmVMb2NhdGlvblByb3ZpZGVyLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVU
RVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKLQkJNjNDMzJDMjUxRTk4MTBEOTAwNjk5QkQwIC8qIF9X
S0dlb2xvY2F0aW9uUG9zaXRpb24ubW0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSA2M0MzMkMyMzFFOTgxMEQ5MDA2OTlCRDAgLyogX1dLR2VvbG9jYXRpb25Q
b3NpdGlvbi5tbSAqLzsgfTsKIAkJNjNDMzJDMjYxRTk4MTBEOTAwNjk5QkQwIC8qIF9XS0dlb2xv
Y2F0aW9uUG9zaXRpb24uaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IDYzQzMyQzI0MUU5ODEwRDkwMDY5OUJEMCAvKiBfV0tHZW9sb2NhdGlvblBvc2l0aW9u
LmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJNjND
MzJDMjgxRTk4MTE5MDAwNjk5QkQwIC8qIF9XS0dlb2xvY2F0aW9uUG9zaXRpb25JbnRlcm5hbC5o
IGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNjNDMzJDMjcx
RTk4MTE5MDAwNjk5QkQwIC8qIF9XS0dlb2xvY2F0aW9uUG9zaXRpb25JbnRlcm5hbC5oICovOyB9
OwogCQk2NUI4NkYxRTEyRjExREUzMDBCN0REOEEgLyogV0tCdW5kbGVJbnNwZWN0b3IuaCBpbiBI
ZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDY1Qjg2RjE4MTJGMTFE
N0IwMEI3REQ4QSAvKiBXS0J1bmRsZUluc3BlY3Rvci5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJV
VEVTID0gKFByaXZhdGUsICk7IH07IH07CkBAIC0xMTQ5LDcgKzEwODAsNiBAQAogCQk3MjhFODZG
MTE3OTUxODhDMDA4Nzg3OUUgLyogV2ViQ29sb3JQaWNrZXJNYWMuaCBpbiBIZWFkZXJzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDcyOEU4NkVGMTc5NTE4OEMwMDg3ODc5RSAv
KiBXZWJDb2xvclBpY2tlck1hYy5oICovOyB9OwogCQk3NTNFM0UwRTE4ODczOTg5MDAxODg0OTYg
LyogU2Vzc2lvblRyYWNrZXIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IDc1M0UzRTA5MTg4NzM5NEIwMDE4ODQ5NiAvKiBTZXNzaW9uVHJhY2tlci5oICov
OyB9OwogCQk3NUE4RDJDODE4N0NDRkFCMDBDMzlDOUUgLyogV0tXZWJzaXRlRGF0YVN0b3JlLmgg
aW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA3NUE4RDJDNDE4
N0NDRjlGMDBDMzlDOUUgLyogV0tXZWJzaXRlRGF0YVN0b3JlLmggKi87IHNldHRpbmdzID0ge0FU
VFJJQlVURVMgPSAoUHVibGljLCApOyB9OyB9OwotCQk3NUE4RDJDOTE4N0NDRkFGMDBDMzlDOUUg
LyogV0tXZWJzaXRlRGF0YVN0b3JlLm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gNzVBOEQyQzUxODdDQ0Y5RjAwQzM5QzlFIC8qIFdLV2Vic2l0ZURhdGFT
dG9yZS5tbSAqLzsgfTsKIAkJNzVBOEQyRDYxODdEMUMwRTAwQzM5QzlFIC8qIFdLV2Vic2l0ZURh
dGFTdG9yZUludGVybmFsLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSA3NUE4RDJENDE4N0QxQzAxMDBDMzlDOUUgLyogV0tXZWJzaXRlRGF0YVN0b3JlSW50
ZXJuYWwuaCAqLzsgfTsKIAkJNzYyQjc0OEQxMjBCQzc1QzAwODE5MzM5IC8qIFdLUHJlZmVyZW5j
ZXNSZWZQcml2YXRlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSA3NjJCNzQ4NDEyMEJCQTJEMDA4MTkzMzkgLyogV0tQcmVmZXJlbmNlc1JlZlByaXZhdGUu
aCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQk3QTFF
MkE4NTFFRUZFODkyMDAzN0EwRTAgLyogQVBJTm90aWZpY2F0aW9uUHJvdmlkZXIuaCBpbiBIZWFk
ZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDdBMUUyQTg0MUVFRkU4OEEw
MDM3QTBFMCAvKiBBUElOb3RpZmljYXRpb25Qcm92aWRlci5oICovOyB9OwpAQCAtMTE2OCw3ICsx
MDk4LDYgQEAKIAkJN0MwNjVGMkMxQzhDRDk1RjAwQzJEOTUwIC8qIFdlYlVzZXJDb250ZW50Q29u
dHJvbGxlckRhdGFUeXBlcy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gN0MwNjVGMkExQzhDRDk1RjAwQzJEOTUwIC8qIFdlYlVzZXJDb250ZW50Q29udHJv
bGxlckRhdGFUeXBlcy5oICovOyB9OwogCQk3QzEzNUFBOTE3M0IwQkNBMDA1ODZBRTIgLyogV0tQ
bHVnaW5JbmZvcm1hdGlvbi5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gN0MxMzVBQTcxNzNCMEJDQTAwNTg2QUUyIC8qIFdLUGx1Z2luSW5mb3JtYXRpb24u
aCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQk3QzFC
QTMzRTFBNEEwRTYwMDA0M0UyNDkgLyogQVBJRGljdGlvbmFyeS5oIGluIEhlYWRlcnMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gN0MxQkEzM0MxQTRBMEU2MDAwNDNFMjQ5IC8q
IEFQSURpY3Rpb25hcnkuaCAqLzsgfTsKLQkJN0MyNDEzMDIxQUFDRkE3NTAwQTU4QzE1IC8qIF9X
S1VzZXJDb250ZW50RXh0ZW5zaW9uU3RvcmUubW0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSA3QzI0MTMwMDFBQUNGQTc1MDBBNThDMTUgLyogX1dLVXNlckNv
bnRlbnRFeHRlbnNpb25TdG9yZS5tbSAqLzsgfTsKIAkJN0MyNDEzMDMxQUFDRkE3NTAwQTU4QzE1
IC8qIF9XS1VzZXJDb250ZW50RXh0ZW5zaW9uU3RvcmUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDdDMjQxMzAxMUFBQ0ZBNzUwMEE1OEMxNSAvKiBfV0tV
c2VyQ29udGVudEV4dGVuc2lvblN0b3JlLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAo
UHJpdmF0ZSwgKTsgfTsgfTsKIAkJN0MyNDEzMDUxQUFDRkE5QzAwQTU4QzE1IC8qIF9XS1VzZXJD
b250ZW50RXh0ZW5zaW9uU3RvcmVJbnRlcm5hbC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gN0MyNDEzMDQxQUFDRkE5QzAwQTU4QzE1IC8qIF9XS1VzZXJD
b250ZW50RXh0ZW5zaW9uU3RvcmVJbnRlcm5hbC5oICovOyB9OwogCQk3QzI0MTMwOTFBQUNGQ0I0
MDBBNThDMTUgLyogV0tVc2VyQ29udGVudEV4dGVuc2lvblN0b3JlUmVmLmggaW4gSGVhZGVycyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA3QzI0MTMwNzFBQUNGQ0I0MDBBNThD
MTUgLyogV0tVc2VyQ29udGVudEV4dGVuc2lvblN0b3JlUmVmLmggKi87IHNldHRpbmdzID0ge0FU
VFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKQEAgLTExODMsNyArMTExMiw2IEBACiAJCTdD
NEFCRUQxMUFBOEU5RjAwMDg4QUEzNyAvKiBXZWJDb21waWxlZENvbnRlbnRSdWxlTGlzdC5oIGlu
IEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gN0M0QUJFQ0YxQUE4
RTlGMDAwODhBQTM3IC8qIFdlYkNvbXBpbGVkQ29udGVudFJ1bGVMaXN0LmggKi87IH07CiAJCTdD
NEFCRUQ1MUFBOEZDQjgwMDg4QUEzNyAvKiBXZWJDb21waWxlZENvbnRlbnRSdWxlTGlzdERhdGEu
aCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDdDNEFCRUQz
MUFBOEZDQjgwMDg4QUEzNyAvKiBXZWJDb21waWxlZENvbnRlbnRSdWxlTGlzdERhdGEuaCAqLzsg
fTsKIAkJN0M4ODJERjcxQzdFOTk2NTAwNkJGNzMxIC8qIF9XS1VzZXJDb250ZW50V29ybGQuaCBp
biBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDdDODgyREYzMUM3
RTk5NUUwMDZCRjczMSAvKiBfV0tVc2VyQ29udGVudFdvcmxkLmggKi87IHNldHRpbmdzID0ge0FU
VFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKLQkJN0M4ODJERjgxQzdFOTk2QzAwNkJGNzMx
IC8qIF9XS1VzZXJDb250ZW50V29ybGQubW0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSA3Qzg4MkRGNDFDN0U5OTVFMDA2QkY3MzEgLyogX1dLVXNlckNvbnRl
bnRXb3JsZC5tbSAqLzsgfTsKIAkJN0M4ODJERjkxQzdFOTk2RjAwNkJGNzMxIC8qIF9XS1VzZXJD
b250ZW50V29ybGRJbnRlcm5hbC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gN0M4ODJERjUxQzdFOTk1RTAwNkJGNzMxIC8qIF9XS1VzZXJDb250ZW50V29y
bGRJbnRlcm5hbC5oICovOyB9OwogCQk3Qzg4MkRGQTFDN0U5OTczMDA2QkY3MzEgLyogV0tVc2Vy
U2NyaXB0UHJpdmF0ZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gN0M4ODJERjYxQzdFOTk1RTAwNkJGNzMxIC8qIFdLVXNlclNjcmlwdFByaXZhdGUuaCAq
Lzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQk3Qzg4MkRG
RDFDN0U5OUE4MDA2QkY3MzEgLyogQVBJVXNlckNvbnRlbnRXb3JsZC5oIGluIEhlYWRlcnMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gN0M4ODJERkMxQzdFOTlBNjAwNkJGNzMx
IC8qIEFQSVVzZXJDb250ZW50V29ybGQuaCAqLzsgfTsKQEAgLTExOTQsNyArMTEyMiw2IEBACiAJ
CTdDODlEMkE0MUE2Nzg4NzUwMDNBNUZERSAvKiBXS1VzZXJTY3JpcHRSZWYuaCBpbiBIZWFkZXJz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDdDODlEMkEyMUE2Nzg4NzUwMDNB
NUZERSAvKiBXS1VzZXJTY3JpcHRSZWYuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQ
cml2YXRlLCApOyB9OyB9OwogCQk3Qzg5RDJCNDFBNkIwNjhDMDAzQTVGREUgLyogQVBJQ29udGVu
dFJ1bGVMaXN0LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSA3Qzg5RDJCMjFBNkIwNjhDMDAzQTVGREUgLyogQVBJQ29udGVudFJ1bGVMaXN0LmggKi87IH07
CiAJCTdDODlEMkI2MUE2QjBERDkwMDNBNUZERSAvKiBXS1VzZXJDb250ZW50Q29udHJvbGxlclBy
aXZhdGUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDdD
ODlEMkI1MUE2QjBERDkwMDNBNUZERSAvKiBXS1VzZXJDb250ZW50Q29udHJvbGxlclByaXZhdGUu
aCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwotCQk3Qzg5
RDJCOTFBNkIwRjJDMDAzQTVGREUgLyogX1dLVXNlckNvbnRlbnRGaWx0ZXIubW0gaW4gU291cmNl
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA3Qzg5RDJCNzFBNkIwRjJDMDAz
QTVGREUgLyogX1dLVXNlckNvbnRlbnRGaWx0ZXIubW0gKi87IH07CiAJCTdDODlEMkJBMUE2QjBG
MkMwMDNBNUZERSAvKiBfV0tVc2VyQ29udGVudEZpbHRlci5oIGluIEhlYWRlcnMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gN0M4OUQyQjgxQTZCMEYyQzAwM0E1RkRFIC8qIF9X
S1VzZXJDb250ZW50RmlsdGVyLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0
ZSwgKTsgfTsgfTsKIAkJN0M4OUQyQkMxQTZCMEY1QjAwM0E1RkRFIC8qIF9XS1VzZXJDb250ZW50
RmlsdGVySW50ZXJuYWwuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IDdDODlEMkJCMUE2QjBGNUIwMDNBNUZERSAvKiBfV0tVc2VyQ29udGVudEZpbHRlcklu
dGVybmFsLmggKi87IH07CiAJCTdDODlEMkQ3MUE2QzZCRTYwMDNBNUZERSAvKiBfV0tQcm9jZXNz
UG9vbENvbmZpZ3VyYXRpb25JbnRlcm5hbC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gN0M4OUQyRDYxQTZDNkJFNjAwM0E1RkRFIC8qIF9XS1Byb2Nlc3NQ
b29sQ29uZmlndXJhdGlvbkludGVybmFsLmggKi87IH07CkBAIC0xMjEyLDcgKzExMzksNiBAQAog
CQk3Q0IxNkZGMzE3MjRCQTJGMDA3QTBBOTUgLyogY29tLm1pY3Jvc29mdC5TaWx2ZXJsaWdodFBs
dWdpbi5zYiBpbiBDb3B5IFBsdWctaW4gU2FuZGJveCBQcm9maWxlcyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSA3Q0IxNkZFNjE3MjRCOUI1MDA3QTBBOTUgLyogY29tLm1pY3Jv
c29mdC5TaWx2ZXJsaWdodFBsdWdpbi5zYiAqLzsgfTsKIAkJN0NCMTZGRjQxNzI0QkEzMDAwN0Ew
QTk1IC8qIGNvbS5vcmFjbGUuamF2YS5KYXZhQXBwbGV0UGx1Z2luLnNiIGluIENvcHkgUGx1Zy1p
biBTYW5kYm94IFByb2ZpbGVzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDdD
QjE2RkU3MTcyNEI5QjUwMDdBMEE5NSAvKiBjb20ub3JhY2xlLmphdmEuSmF2YUFwcGxldFBsdWdp
bi5zYiAqLzsgfTsKIAkJN0NCMzY1QUExRDMxREI3MDAwNzE1OENBIC8qIF9XS1VzZXJJbml0aWF0
ZWRBY3Rpb24uaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IDdDQjM2NUE4MUQzMURCNzAwMDcxNThDQSAvKiBfV0tVc2VySW5pdGlhdGVkQWN0aW9uLmggKi87
IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKLQkJN0NCMzY1QUIx
RDMxREI3MDAwNzE1OENBIC8qIF9XS1VzZXJJbml0aWF0ZWRBY3Rpb24ubW0gaW4gU291cmNlcyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA3Q0IzNjVBOTFEMzFEQjcwMDA3MTU4
Q0EgLyogX1dLVXNlckluaXRpYXRlZEFjdGlvbi5tbSAqLzsgfTsKIAkJN0NCMzY1QUQxRDMxREMx
MDAwNzE1OENBIC8qIF9XS1VzZXJJbml0aWF0ZWRBY3Rpb25JbnRlcm5hbC5oIGluIEhlYWRlcnMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gN0NCMzY1QUMxRDMxREMxMDAwNzE1
OENBIC8qIF9XS1VzZXJJbml0aWF0ZWRBY3Rpb25JbnRlcm5hbC5oICovOyB9OwogCQk3Q0IzNjVC
MTFEMzFERDFFMDA3MTU4Q0EgLyogQVBJVXNlckluaXRpYXRlZEFjdGlvbi5oIGluIEhlYWRlcnMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gN0NCMzY1QUYxRDMxREQxRTAwNzE1
OENBIC8qIEFQSVVzZXJJbml0aWF0ZWRBY3Rpb24uaCAqLzsgfTsKIAkJN0NCQjgxMUQxQUEwRjhC
MTAwNkIxOTQyIC8qIEluamVjdGVkQnVuZGxlRmlsZUhhbmRsZS5oIGluIEhlYWRlcnMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gN0NCQjgxMUIxQUEwRjhCMTAwNkIxOTQyIC8q
IEluamVjdGVkQnVuZGxlRmlsZUhhbmRsZS5oICovOyB9OwpAQCAtMTIyMyw3ICsxMTQ5LDYgQEAK
IAkJN0NEM0E0ODMxQTVEMDJGQTAwOTYyM0I4IC8qIEFQSU5hdmlnYXRpb24uaCBpbiBIZWFkZXJz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDdDRDNBNDgxMUE1RDAyRkEwMDk2
MjNCOCAvKiBBUElOYXZpZ2F0aW9uLmggKi87IH07CiAJCTdDRDVFQkI5MTc0NkExNUIwMDBDMUM0
NSAvKiBXS09iakNUeXBlV3JhcHBlclJlZi5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gN0NENUVCQjcxNzQ2QTE1QjAwMEMxQzQ1IC8qIFdLT2JqQ1R5cGVX
cmFwcGVyUmVmLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsg
fTsKIAkJN0NENUVCQkIxNzQ2QTgzRTAwMEMxQzQ1IC8qIFdLQmFzZU1hYy5oIGluIEhlYWRlcnMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gN0NENUVCQkExNzQ2QTgzRTAwMEMx
QzQ1IC8qIFdLQmFzZU1hYy5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUs
ICk7IH07IH07Ci0JCTdDRDVFQkJFMTc0NkIwNEMwMDBDMUM0NSAvKiBXS1R5cGVSZWZXcmFwcGVy
Lm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gN0NENUVC
QkMxNzQ2QjA0QzAwMEMxQzQ1IC8qIFdLVHlwZVJlZldyYXBwZXIubW0gKi87IH07CiAJCTdDRDVF
QkJGMTc0NkIwNEMwMDBDMUM0NSAvKiBXS1R5cGVSZWZXcmFwcGVyLmggaW4gSGVhZGVycyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA3Q0Q1RUJCRDE3NDZCMDRDMDAwQzFDNDUg
LyogV0tUeXBlUmVmV3JhcHBlci5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZh
dGUsICk7IH07IH07CiAJCTdDRDYyMjc4MTczOUQ4NjMwMDVCRDdGRiAvKiBQbHVnaW5TYW5kYm94
UHJvZmlsZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
N0NENjIyNzYxNzM5RDg2MzAwNUJEN0ZGIC8qIFBsdWdpblNhbmRib3hQcm9maWxlLmggKi87IH07
CiAJCTdDRTREMjA3MUE0Njc3NjEwMEM3RjE1MiAvKiBBUElMZWdhY3lDb250ZXh0SGlzdG9yeUNs
aWVudC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gN0NF
NEQyMDYxQTQ2Nzc1NzAwQzdGMTUyIC8qIEFQSUxlZ2FjeUNvbnRleHRIaXN0b3J5Q2xpZW50Lmgg
Ki87IH07CkBAIC0xMjMzLDcgKzExNTgsNiBAQAogCQk3Q0U0RDIyODFBNDkxNkMyMDBDN0YxNTIg
LyogV2ViUHJvY2Vzc1Bvb2xNZXNzYWdlcy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gN0NFNEQyMjYxQTQ5MTZDMjAwQzdGMTUyIC8qIFdlYlByb2Nlc3NQ
b29sTWVzc2FnZXMuaCAqLzsgfTsKIAkJN0NFOUNFMTAxRkEwNzY3QTAwMDE3N0RFIC8qIFdlYlBh
Z2VVcGRhdGVQcmVmZXJlbmNlcy5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSA3Q0U5Q0UwRjFGQTA3NjREMDAwMTc3REUgLyogV2ViUGFnZVVwZGF0ZVBy
ZWZlcmVuY2VzLmNwcCAqLzsgfTsKIAkJN0NFQjAwREQxRkE2OUFCRTAwNjU0NzNCIC8qIFdlYlBy
ZWZlcmVuY2VzRXhwZXJpbWVudGFsRmVhdHVyZXMuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gN0NFQjAwREMxRkE2OUE4OTAwNjU0NzNCIC8qIFdlYlBy
ZWZlcmVuY2VzRXhwZXJpbWVudGFsRmVhdHVyZXMuY3BwICovOyB9OwotCQk3Q0VGQTk2MjFBQzA5
OTkzMDBCOTEwRkQgLyogQVBJQ29udGVudFJ1bGVMaXN0U3RvcmVDb2NvYS5tbSBpbiBTb3VyY2Vz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDdDRUZBOTYwMUFDMDk5OTMwMEI5
MTBGRCAvKiBBUElDb250ZW50UnVsZUxpc3RTdG9yZUNvY29hLm1tICovOyB9OwogCQk3Q0Y0N0ZG
NzE3Mjc1QjcxMDA4QUNCOTEgLyogV0tCdW5kbGVQYWdlQmFubmVyLmggaW4gSGVhZGVycyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA3Q0Y0N0ZGNTE3Mjc1QjcxMDA4QUNCOTEg
LyogV0tCdW5kbGVQYWdlQmFubmVyLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJp
dmF0ZSwgKTsgfTsgfTsKIAkJN0NGNDdGRkIxNzI3NUM1NzAwOEFDQjkxIC8qIFBhZ2VCYW5uZXIu
aCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDdDRjQ3RkY5
MTcyNzVDNTcwMDhBQ0I5MSAvKiBQYWdlQmFubmVyLmggKi87IH07CiAJCTdDRjQ3RkZGMTcyNzZB
RTMwMDhBQ0I5MSAvKiBXS0J1bmRsZVBhZ2VCYW5uZXJNYWMuaCBpbiBIZWFkZXJzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDdDRjQ3RkZEMTcyNzZBRTMwMDhBQ0I5MSAvKiBX
S0J1bmRsZVBhZ2VCYW5uZXJNYWMuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2
YXRlLCApOyB9OyB9OwpAQCAtMTI4MiwyNSArMTIwNiwxOSBAQAogCQk5MzkxMDc0RjFCRjZCQzY1
MDA4QzE3QUQgLyogV0tQcmV2aWV3RWxlbWVudEluZm9JbnRlcm5hbC5oIGluIEhlYWRlcnMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gOTM5MTA3NEUxQkY2QkM2NTAwOEMxN0FE
IC8qIFdLUHJldmlld0VsZW1lbnRJbmZvSW50ZXJuYWwuaCAqLzsgfTsKIAkJOTM5MUYyQ0IxMjFC
NjdBRDAwRUJGN0U4IC8qIFdlYkZyYW1lTmV0d29ya2luZ0NvbnRleHQuaCBpbiBIZWFkZXJzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDkzOTFGMjgzMTIxQjM4RjUwMEVCRjdF
OCAvKiBXZWJGcmFtZU5ldHdvcmtpbmdDb250ZXh0LmggKi87IH07CiAJCTkzOTVFNjhBMUJGMkMz
MzIwMEY0OUJDRSAvKiBXS1ByZXZpZXdFbGVtZW50SW5mby5oIGluIEhlYWRlcnMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gOTM5NUU2ODkxQkYyQzMzMjAwRjQ5QkNFIC8qIFdL
UHJldmlld0VsZW1lbnRJbmZvLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHVibGlj
LCApOyB9OyB9OwotCQk5Mzk1RTY4QzFCRjJDMzUyMDBGNDlCQ0UgLyogV0tQcmV2aWV3RWxlbWVu
dEluZm8ubW0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA5
Mzk1RTY4QjFCRjJDMzUyMDBGNDlCQ0UgLyogV0tQcmV2aWV3RWxlbWVudEluZm8ubW0gKi87IH07
CiAJCTkzOUY0MDFDMTlGQjBCQkMwMDJCMkI0MiAvKiBXS0FjdGlvbk1lbnVUeXBlcy5oIGluIEhl
YWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gOTM5RjQwMUIxOUZCMEJC
QzAwMkIyQjQyIC8qIFdLQWN0aW9uTWVudVR5cGVzLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVU
RVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJOTNBMjUzRUQxQzkyMkUxRTAwRjlGNjhEIC8qIFdL
UHJldmlld0FjdGlvbkl0ZW0uaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IDkzQTI1M0VDMUM5MjJFMUUwMEY5RjY4RCAvKiBXS1ByZXZpZXdBY3Rpb25JdGVt
LmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHVibGljLCApOyB9OyB9OwotCQk5M0Ey
NTNFRjFDOTIyRThFMDBGOUY2OEQgLyogV0tQcmV2aWV3QWN0aW9uSXRlbS5tbSBpbiBTb3VyY2Vz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDkzQTI1M0VFMUM5MjJFOEUwMEY5
RjY4RCAvKiBXS1ByZXZpZXdBY3Rpb25JdGVtLm1tICovOyB9OwogCQk5M0EyNTNGMzFDOTI0MTEy
MDBGOUY2OEQgLyogV0tQcmV2aWV3QWN0aW9uSXRlbUlkZW50aWZpZXJzLmggaW4gSGVhZGVycyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA5M0EyNTNGMjFDOTI0MTEyMDBGOUY2
OEQgLyogV0tQcmV2aWV3QWN0aW9uSXRlbUlkZW50aWZpZXJzLmggKi87IHNldHRpbmdzID0ge0FU
VFJJQlVURVMgPSAoUHVibGljLCApOyB9OyB9OwotCQk5M0EyNTNGNTFDOTI0MTMyMDBGOUY2OEQg
LyogV0tQcmV2aWV3QWN0aW9uSXRlbUlkZW50aWZpZXJzLm1tIGluIFNvdXJjZXMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gOTNBMjUzRjQxQzkyNDEzMjAwRjlGNjhEIC8qIFdL
UHJldmlld0FjdGlvbkl0ZW1JZGVudGlmaWVycy5tbSAqLzsgfTsKIAkJOTNBMkEzNDYxRDI0NjEy
NTAwMkI1OUQzIC8qIG1lZGlhSWNvbi5wZGYgaW4gUmVzb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IDkzQTJBMzQ1MUQyNDYxMjUwMDJCNTlEMyAvKiBtZWRpYUljb24u
cGRmICovOyB9OwogCQk5M0E4OEIzMzFCQzZFOUNEMDBBQkE1QzIgLyogV2ViSGl0VGVzdFJlc3Vs
dERhdGEuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDkz
QTg4QjMxMUJDNkU5QzAwMEFCQTVDMiAvKiBXZWJIaXRUZXN0UmVzdWx0RGF0YS5oICovOyB9Owot
CQk5M0E4OEIzOTFCQzcwRjNGMDBBQkE1QzIgLyogX1dLSGl0VGVzdFJlc3VsdC5tbSBpbiBTb3Vy
Y2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDkzQTg4QjM3MUJDNzBGMkUw
MEFCQTVDMiAvKiBfV0tIaXRUZXN0UmVzdWx0Lm1tICovOyB9OwogCQk5M0E4OEIzQjFCQzcxMEQ5
MDBBQkE1QzIgLyogX1dLSGl0VGVzdFJlc3VsdEludGVybmFsLmggaW4gSGVhZGVycyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA5M0E4OEIzQTFCQzcxMEQ5MDBBQkE1QzIgLyog
X1dLSGl0VGVzdFJlc3VsdEludGVybmFsLmggKi87IH07CiAJCTkzQTg4QjQ2MUJDODgyOTMwMEFC
QTVDMiAvKiBBUElIaXRUZXN0UmVzdWx0LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSA5M0E4OEI0MzFCQzg4MjhDMDBBQkE1QzIgLyogQVBJSGl0VGVzdFJl
c3VsdC5oICovOyB9OwogCQk5M0JERUIwMTE3MUREN0FGMDBCRkVFMUIgLyogV0tQYWdlTG9hZFR5
cGVzUHJpdmF0ZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gOTNCREVCMDAxNzFERDdBRjAwQkZFRTFCIC8qIFdLUGFnZUxvYWRUeXBlc1ByaXZhdGUuaCAq
Lzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQk5M0U2QTRF
RTFCQzVERDM5MDBGOEEwRTcgLyogX1dLSGl0VGVzdFJlc3VsdC5oIGluIEhlYWRlcnMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gOTNFNkE0RUQxQkM1REQzOTAwRjhBMEU3IC8q
IF9XS0hpdFRlc3RSZXN1bHQuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRl
LCApOyB9OyB9OwogCQk5M0Y1NDlCNDFFMzE3NEI3MDAwRTcyMzkgLyogV0tTbmFwc2hvdENvbmZp
Z3VyYXRpb24uaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IDkzRjU0OUIzMUUzMTc0QjcwMDBFNzIzOSAvKiBXS1NuYXBzaG90Q29uZmlndXJhdGlvbi5oICov
OyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFB1YmxpYywgKTsgfTsgfTsKLQkJOTNGNTQ5QjYx
RTMxNzREQTAwMEU3MjM5IC8qIFdLU25hcHNob3RDb25maWd1cmF0aW9uLm1tIGluIFNvdXJjZXMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gOTNGNTQ5QjUxRTMxNzREQTAwMEU3
MjM5IC8qIFdLU25hcHNob3RDb25maWd1cmF0aW9uLm1tICovOyB9OwogCQk5OTBEMjhBQjFDNjQy
MEM2MDA5ODY5NzcgLyogX1dLQXV0b21hdGlvblNlc3Npb24uaCBpbiBIZWFkZXJzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDk5MEQyOEE3MUM2NDA0QjAwMDk4Njk3NyAvKiBf
V0tBdXRvbWF0aW9uU2Vzc2lvbi5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZh
dGUsICk7IH07IH07CiAJCTk5MEQyOEFDMUM2NDIwQ0YwMDk4Njk3NyAvKiBfV0tBdXRvbWF0aW9u
U2Vzc2lvbkRlbGVnYXRlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSA5OTBEMjhBODFDNjQwNEIwMDA5ODY5NzcgLyogX1dLQXV0b21hdGlvblNlc3Npb25E
ZWxlZ2F0ZS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07
CiAJCTk5MEQyOEIxMUM2NTIwOEQwMDk4Njk3NyAvKiBfV0tBdXRvbWF0aW9uU2Vzc2lvbkludGVy
bmFsLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA5OTBE
MjhBRjFDNjUyMDM5MDA5ODY5NzcgLyogX1dLQXV0b21hdGlvblNlc3Npb25JbnRlcm5hbC5oICov
OyB9OwotCQk5OTBEMjhCMjFDNjUyMDk0MDA5ODY5NzcgLyogX1dLQXV0b21hdGlvblNlc3Npb24u
bW0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA5OTBEMjhB
RDFDNjUxOTA0MDA5ODY5NzcgLyogX1dLQXV0b21hdGlvblNlc3Npb24ubW0gKi87IH07CiAJCTk5
MEQyOEJCMUM2NTM5RDMwMDk4Njk3NyAvKiBBdXRvbWF0aW9uU2Vzc2lvbkNsaWVudC5oIGluIEhl
YWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gOTkwRDI4QjcxQzY1MzlB
MDAwOTg2OTc3IC8qIEF1dG9tYXRpb25TZXNzaW9uQ2xpZW50LmggKi87IH07CiAJCTk5MEQyOEMw
MUM2NTUzRjEwMDk4Njk3NyAvKiBBUElBdXRvbWF0aW9uU2Vzc2lvbkNsaWVudC5oIGluIEhlYWRl
cnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gOTkwRDI4QjMxQzY1MjZENDAw
OTg2OTc3IC8qIEFQSUF1dG9tYXRpb25TZXNzaW9uQ2xpZW50LmggKi87IH07CiAJCTk5MjQ5QUQ1
MUYxRjFFNTYwMEI2MkZCQiAvKiBBdXRvbWF0aW9uRnJvbnRlbmREaXNwYXRjaGVycy5jcHAgaW4g
U291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA5OTI0OUFEMzFGMUYx
RTMzMDBCNjJGQkIgLyogQXV0b21hdGlvbkZyb250ZW5kRGlzcGF0Y2hlcnMuY3BwICovOyB9OwpA
QCAtMTMxNCw3ICsxMjMyLDYgQEAKIAkJOTk1NUE2RjYxQzc5ODZFMzAwRUI2QTkzIC8qIEF1dG9t
YXRpb25Qcm90b2NvbE9iamVjdHMuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gOTk1NUE2RjIxQzc5ODY2NDAwRUI2QTkzIC8qIEF1dG9tYXRpb25Qcm90
b2NvbE9iamVjdHMuY3BwICovOyB9OwogCQk5OTU1QTZGNzFDNzk4NkU1MDBFQjZBOTMgLyogQXV0
b21hdGlvblByb3RvY29sT2JqZWN0cy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gOTk1NUE2RjMxQzc5ODY2NDAwRUI2QTkzIC8qIEF1dG9tYXRpb25Qcm90
b2NvbE9iamVjdHMuaCAqLzsgfTsKIAkJOTk3ODhBQ0IxRjQyMUREQTAwQzA4MDAwIC8qIF9XS0F1
dG9tYXRpb25TZXNzaW9uQ29uZmlndXJhdGlvbi5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gOTk3ODhBQzkxRjQyMURDQTAwQzA4MDAwIC8qIF9XS0F1dG9t
YXRpb25TZXNzaW9uQ29uZmlndXJhdGlvbi5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0g
KFByaXZhdGUsICk7IH07IH07Ci0JCTk5Nzg4QUNDMUY0MjFERTIwMEMwODAwMCAvKiBfV0tBdXRv
bWF0aW9uU2Vzc2lvbkNvbmZpZ3VyYXRpb24ubW0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSA5OTc4OEFDQTFGNDIxRENBMDBDMDgwMDAgLyogX1dLQXV0b21h
dGlvblNlc3Npb25Db25maWd1cmF0aW9uLm1tICovOyB9OwogCQk5OUMzQUUyRDFEQURBNkFEMDBB
RjVDMTYgLyogV2ViQXV0b21hdGlvblNlc3Npb25NYWNyb3MuaCBpbiBIZWFkZXJzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDk5QzNBRTJDMURBREE2QTcwMEFGNUMxNiAvKiBX
ZWJBdXRvbWF0aW9uU2Vzc2lvbk1hY3Jvcy5oICovOyB9OwogCQk5OUM4MUQ1QTFDMjBFN0UyMDA1
QzRDODIgLyogQXV0b21hdGlvbkNsaWVudC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gOTlDODFENTUxQzIwREZCRTAwNUM0QzgyIC8qIEF1dG9tYXRpb25D
bGllbnQuaCAqLzsgfTsKIAkJOTlDODFENUQxQzIxRjM4QjAwNUM0QzgyIC8qIEFQSUF1dG9tYXRp
b25DbGllbnQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IDk5QzgxRDVCMUMyMEU4MTcwMDVDNEM4MiAvKiBBUElBdXRvbWF0aW9uQ2xpZW50LmggKi87IH07
CkBAIC0xMzI3LDcgKzEyNDQsNiBAQAogCQlBMTE0NTVCMDIxMUZEMjUyMDBDQTkzNUIgLyogTmV0
d29ya1Byb3hpbWl0eU1hbmFnZXIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IEExMTQ1NUFFMjExRkQyNTIwMENBOTM1QiAvKiBOZXR3b3JrUHJveGltaXR5
TWFuYWdlci5oICovOyB9OwogCQlBMTE1REM3MjE5MUQ4MkRBMDBEQTgwNzIgLyogX1dLV2ViVmll
d1ByaW50Rm9ybWF0dGVyLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSBBMTE1REM2RTE5MUQ4MkFCMDBEQTgwNzIgLyogX1dLV2ViVmlld1ByaW50Rm9ybWF0
dGVyLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJ
QTExOEE5RUYxOTA3QUQ2RjAwRjdDOTJCIC8qIFF1aWNrTG9va0RvY3VtZW50RGF0YS5oIGluIEhl
YWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQTExOEE5RUQxOTA3QUQ2
RjAwRjdDOTJCIC8qIFF1aWNrTG9va0RvY3VtZW50RGF0YS5oICovOyB9OwotCQlBMTE4QTlGMjE5
MDhCOEVBMDBGN0M5MkIgLyogX1dLTlNGaWxlTWFuYWdlckV4dHJhcy5tbSBpbiBTb3VyY2VzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEExMThBOUYwMTkwOEI4RUEwMEY3Qzky
QiAvKiBfV0tOU0ZpbGVNYW5hZ2VyRXh0cmFzLm1tICovOyB9OwogCQlBMTE4QTlGMzE5MDhCOEVB
MDBGN0M5MkIgLyogX1dLTlNGaWxlTWFuYWdlckV4dHJhcy5oIGluIEhlYWRlcnMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQTExOEE5RjExOTA4QjhFQTAwRjdDOTJCIC8qIF9X
S05TRmlsZU1hbmFnZXJFeHRyYXMuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2
YXRlLCApOyB9OyB9OwogCQlBMTNCM0RBMjIwN0YzOURFMDA5MEM1OEQgLyogTW9iaWxlV2lGaVNQ
SS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQTEzQjNE
QTEyMDdGMzlERTAwOTBDNThEIC8qIE1vYmlsZVdpRmlTUEkuaCAqLzsgfTsKIAkJQTEzREM2ODIy
MDdBQTZCMjAwNjZFRjcyIC8qIFdLQXBwbGljYXRpb25TdGF0ZVRyYWNraW5nVmlldy5oIGluIEhl
YWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQTEzREM2ODAyMDdBQTZC
MjAwNjZFRjcyIC8qIFdLQXBwbGljYXRpb25TdGF0ZVRyYWNraW5nVmlldy5oICovOyB9OwpAQCAt
MTMzNSw3ICsxMjUxLDYgQEAKIAkJQTE4MkQ1QjUxQkU2QkQyNTAwODdBN0NDIC8qIEFjY2Vzc2li
aWxpdHlJT1MuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IEExODJENUIzMUJFNkJEMjUwMDg3QTdDQyAvKiBBY2Nlc3NpYmlsaXR5SU9TLmggKi87IH07CiAJ
CUExOUREM0MwMUQwN0QxNjgwMEFDODIzQiAvKiBfV0tXZWJWaWV3UHJpbnRGb3JtYXR0ZXJJbnRl
cm5hbC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQTE5
REQzQkYxRDA3RDE2ODAwQUM4MjNCIC8qIF9XS1dlYlZpZXdQcmludEZvcm1hdHRlckludGVybmFs
LmggKi87IH07CiAJCUExQTRGRTVBMThEQ0U5RkEwMEI1RUE4QSAvKiBfV0tEb3dubG9hZC5oIGlu
IEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQTFBNEZFNTcxOERD
RTlGQTAwQjVFQThBIC8qIF9XS0Rvd25sb2FkLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMg
PSAoUHJpdmF0ZSwgKTsgfTsgfTsKLQkJQTFBNEZFNUIxOERDRTlGQTAwQjVFQThBIC8qIF9XS0Rv
d25sb2FkLm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
QTFBNEZFNTgxOERDRTlGQTAwQjVFQThBIC8qIF9XS0Rvd25sb2FkLm1tICovOyB9OwogCQlBMUE0
RkU1QzE4RENFOUZBMDBCNUVBOEEgLyogX1dLRG93bmxvYWRJbnRlcm5hbC5oIGluIEhlYWRlcnMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQTFBNEZFNTkxOERDRTlGQTAwQjVF
QThBIC8qIF9XS0Rvd25sb2FkSW50ZXJuYWwuaCAqLzsgfTsKIAkJQTFBNEZFNjExOERENTRBNDAw
QjVFQThBIC8qIF9XS0Rvd25sb2FkRGVsZWdhdGUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEExQTRGRTYwMThERDU0QTQwMEI1RUE4QSAvKiBfV0tEb3du
bG9hZERlbGVnYXRlLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsg
fTsgfTsKIAkJQTFDNTEyQzkxOTA2NTZFNTAwNDQ4OTE0IC8qIFdlYlByZXZpZXdMb2FkZXJDbGll
bnQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEExQzUx
MkM3MTkwNjU2RTUwMDQ0ODkxNCAvKiBXZWJQcmV2aWV3TG9hZGVyQ2xpZW50LmggKi87IH07CkBA
IC0xMzQ4LDcgKzEyNjMsNiBAQAogCQlBNTE4QjVEMjFGRTFENTVCMDBGOUZBMjggLyogV0tJbnNw
ZWN0b3JXS1dlYlZpZXcuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IEE1MThCNUQwMUZFMUQ1NUIwMEY5RkEyOCAvKiBXS0luc3BlY3RvcldLV2ViVmlldy5o
ICovOyB9OwogCQlBNTQyOTNBNDE5NUE0M0RBMDAyNzgyQzcgLyogV0tJbnNwZWN0b3JOb2RlU2Vh
cmNoR2VzdHVyZVJlY29nbml6ZXIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IEE1NDI5M0EyMTk1QTQzQzYwMDI3ODJDNyAvKiBXS0luc3BlY3Rvck5vZGVT
ZWFyY2hHZXN0dXJlUmVjb2duaXplci5oICovOyB9OwogCQlBNTVCQTgxMDFCQTEzMTdFMDA3Q0Qz
M0QgLyogX1dLUmVtb3RlV2ViSW5zcGVjdG9yVmlld0NvbnRyb2xsZXIuaCBpbiBIZWFkZXJzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEE1NUJBODBDMUJBMTJCRTEwMDdDRDMz
RCAvKiBfV0tSZW1vdGVXZWJJbnNwZWN0b3JWaWV3Q29udHJvbGxlci5oICovOyBzZXR0aW5ncyA9
IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07Ci0JCUE1NUJBODExMUJBMTMxODEwMDdD
RDMzRCAvKiBfV0tSZW1vdGVXZWJJbnNwZWN0b3JWaWV3Q29udHJvbGxlci5tbSBpbiBTb3VyY2Vz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEE1NUJBODBEMUJBMTJCRTEwMDdD
RDMzRCAvKiBfV0tSZW1vdGVXZWJJbnNwZWN0b3JWaWV3Q29udHJvbGxlci5tbSAqLzsgfTsKIAkJ
QTU1QkE4MTcxQkEyM0UxMjAwN0NEMzNEIC8qIFJlbW90ZVdlYkluc3BlY3RvclVJLmggaW4gSGVh
ZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBNTVCQTgxMzFCQTIzRTA1
MDA3Q0QzM0QgLyogUmVtb3RlV2ViSW5zcGVjdG9yVUkuaCAqLzsgfTsKIAkJQTU1QkE4MUYxQkEy
NUIyNzAwN0NEMzNEIC8qIFJlbW90ZVdlYkluc3BlY3RvclByb3h5LmggaW4gSGVhZGVycyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBNTVCQTgxOTFCQTI1QjFFMDA3Q0QzM0Qg
LyogUmVtb3RlV2ViSW5zcGVjdG9yUHJveHkuaCAqLzsgfTsKIAkJQTU1QkE4MjUxQkEyNUNGQjAw
N0NEMzNEIC8qIFJlbW90ZVdlYkluc3BlY3RvclByb3h5TWVzc2FnZXMuaCBpbiBIZWFkZXJzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEE1NUJBODIyMUJBMjVCQjgwMDdDRDMz
RCAvKiBSZW1vdGVXZWJJbnNwZWN0b3JQcm94eU1lc3NhZ2VzLmggKi87IH07CkBAIC0xMzU3LDcg
KzEyNzEsNiBAQAogCQlBNTVCQTgzNTFCQTNFNzBBMDA3Q0QzM0QgLyogV2ViSW5zcGVjdG9yRnJv
bnRlbmRBUElEaXNwYXRjaGVyLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSBBNTVCQTgzMzFCQTNFNkZBMDA3Q0QzM0QgLyogV2ViSW5zcGVjdG9yRnJvbnRl
bmRBUElEaXNwYXRjaGVyLmggKi87IH07CiAJCUE1OEI2RjA4MThGQ0E3MzMwMDhDQkE1MyAvKiBX
S0ZpbGVVcGxvYWRQYW5lbC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gQTU4QjZGMDYxOEZDQTczMzAwOENCQTUzIC8qIFdLRmlsZVVwbG9hZFBhbmVsLmgg
Ki87IH07CiAJCUE1QzBGMEE3MjAwMDY1NEQwMDUzNjUzNiAvKiBfV0tOU1dpbmRvd0V4dHJhcy5o
IGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQTVDMEYwQTYy
MDAwNjU0NDAwNTM2NTM2IC8qIF9XS05TV2luZG93RXh0cmFzLmggKi87IHNldHRpbmdzID0ge0FU
VFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKLQkJQTVDMEYwQTgyMDAwNjU1MTAwNTM2NTM2
IC8qIF9XS05TV2luZG93RXh0cmFzLm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gQTVDMEYwQTUyMDAwNjU0NDAwNTM2NTM2IC8qIF9XS05TV2luZG93RXh0
cmFzLm1tICovOyB9OwogCQlBNUMwRjBBQjIwMDA2NTgyMDA1MzY1MzYgLyogV0tJbnNwZWN0b3JX
aW5kb3cuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEE1
QzBGMEFBMjAwMDY1NkUwMDUzNjUzNiAvKiBXS0luc3BlY3RvcldpbmRvdy5oICovOyB9OwogCQlB
NUVGRDM4QzE2QjBFODhDMDBCMkYwRTggLyogV0tQYWdlVmlzaWJpbGl0eVR5cGVzLmggaW4gSGVh
ZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBNUVGRDM4QjE2QjBFODhD
MDBCMkYwRTggLyogV0tQYWdlVmlzaWJpbGl0eVR5cGVzLmggKi87IHNldHRpbmdzID0ge0FUVFJJ
QlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJQTc4Q0NEREExOTNBQzlGNDAwNUVDQzI1IC8q
IGNvbS5hcHBsZS5XZWJLaXQuU3RvcmFnZS5zYiBpbiBDb3B5RmlsZXMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gQTc4Q0NERDcxOTNBQzlFMzAwNUVDQzI1IC8qIGNvbS5hcHBs
ZS5XZWJLaXQuU3RvcmFnZS5zYiAqLzsgfTsKQEAgLTE0OTIsNyArMTQwNSw2IEBACiAJCUJDODU3
RkI1MTJCODMwRTYwMEVERUIyRSAvKiBBUElPcGVuUGFuZWxQYXJhbWV0ZXJzLmggaW4gSGVhZGVy
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBCQzg1N0ZCMzEyQjgzMEU2MDBF
REVCMkUgLyogQVBJT3BlblBhbmVsUGFyYW1ldGVycy5oICovOyB9OwogCQlCQzg1N0ZFNjEyQjg0
M0Q4MDBFREVCMkUgLyogV0tPcGVuUGFuZWxQYXJhbWV0ZXJzUmVmLmggaW4gSGVhZGVycyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBCQzg1N0ZFNDEyQjg0M0Q4MDBFREVCMkUg
LyogV0tPcGVuUGFuZWxQYXJhbWV0ZXJzUmVmLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMg
PSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJQkM4Njk5QjUxMTZBQURBQTAwMkE5MjVCIC8qIFdLVmll
dy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQkM4Njk5
QjIxMTZBQURBQTAwMkE5MjVCIC8qIFdLVmlldy5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVT
ID0gKFByaXZhdGUsICk7IH07IH07Ci0JCUJDODY5OUI2MTE2QUFEQUEwMDJBOTI1QiAvKiBXS1Zp
ZXcubW0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBCQzg2
OTlCMzExNkFBREFBMDAyQTkyNUIgLyogV0tWaWV3Lm1tICovOyB9OwogCQlCQzg2OTlCNzExNkFB
REFBMDAyQTkyNUIgLyogV0tWaWV3SW50ZXJuYWwuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEJDODY5OUI0MTE2QUFEQUEwMDJBOTI1QiAvKiBXS1ZpZXdJ
bnRlcm5hbC5oICovOyB9OwogCQlCQzhBNTAxNTExNzY1RjU2MDA3NTc1NzMgLyogV0tSZXRhaW5Q
dHIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEJDOEE1
MDE0MTE3NjVGNTYwMDc1NzU3MyAvKiBXS1JldGFpblB0ci5oICovOyBzZXR0aW5ncyA9IHtBVFRS
SUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCUJDOEFDQTEzMTY2NzBEODkwMDRDMTk0MSAv
KiBPYmpDT2JqZWN0R3JhcGguaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IEJDOEFDQTBGMTY2NzBEN0EwMDRDMTk0MSAvKiBPYmpDT2JqZWN0R3JhcGguaCAq
LzsgfTsKQEAgLTE1MDcsNyArMTQxOSw2IEBACiAJCUJDOUZBNTIwMTYwRDNCNDMwMDU0REY5QSAv
KiBGb3VuZGF0aW9uLmZyYW1ld29yayBpbiBGcmFtZXdvcmtzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IEJDM0RFNDY4MTVBOTE3NjMwMDhEMjZGQyAvKiBGb3VuZGF0aW9uLmZy
YW1ld29yayAqLzsgfTsKIAkJQkNBMEVGN0YxMjMzMUU3ODAwN0QzQ0ZCIC8qIFdlYlVuZG9TdGVw
LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBCQ0EwRUY3
RDEyMzMxRTc4MDA3RDNDRkIgLyogV2ViVW5kb1N0ZXAuaCAqLzsgfTsKIAkJQkNBMEVGOUYxMjMz
MjY0MjAwN0QzQ0ZCIC8qIFdlYkVkaXRDb21tYW5kUHJveHkuaCBpbiBIZWFkZXJzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEJDQTBFRjlEMTIzMzI2NDIwMDdEM0NGQiAvKiBX
ZWJFZGl0Q29tbWFuZFByb3h5LmggKi87IH07Ci0JCUJDQTI4NEQ2MTQ5MkYyQzcwMDFGOTA0MiAv
KiBXS0Nvbm5lY3Rpb24ubW0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSBCQ0EyODRENDE0OTJGMkM3MDAxRjkwNDIgLyogV0tDb25uZWN0aW9uLm1tICovOyB9
OwogCQlCQ0EyODRENzE0OTJGMkM3MDAxRjkwNDIgLyogV0tDb25uZWN0aW9uLmggaW4gSGVhZGVy
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBCQ0EyODRENTE0OTJGMkM3MDAx
RjkwNDIgLyogV0tDb25uZWN0aW9uLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJp
dmF0ZSwgKTsgfTsgfTsKIAkJQkNBOEM2QTkxMUUzQkE1RjAwODEyRkI3IC8qIEluamVjdGVkQnVu
ZGxlUGFnZUxvYWRlckNsaWVudC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gQkNBOEM2QTcxMUUzQkE1RjAwODEyRkI3IC8qIEluamVjdGVkQnVuZGxlUGFn
ZUxvYWRlckNsaWVudC5oICovOyB9OwogCQlCQ0E4QzZCMDExRTNDMDg3MDA4MTJGQjcgLyogSW5q
ZWN0ZWRCdW5kbGVQYWdlVUlDbGllbnQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IEJDQThDNkFFMTFFM0MwODcwMDgxMkZCNyAvKiBJbmplY3RlZEJ1bmRs
ZVBhZ2VVSUNsaWVudC5oICovOyB9OwpAQCAtMTUxNywxNCArMTQyOCwxMSBAQAogCQlCQ0I5RTI0
QjExMjBFMTVDMDBBMTM3RTAgLyogV0tDb250ZXh0LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBCQ0I5RTI0OTExMjBFMTVDMDBBMTM3RTAgLyogV0tDb250
ZXh0LmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJ
QkNCOUY2QTAxMTIzQTg0QjAwQTEzN0UwIC8qIFdlYkZyYW1lUG9saWN5TGlzdGVuZXJQcm94eS5o
IGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQkNCOUY2OUUx
MTIzQTg0QjAwQTEzN0UwIC8qIFdlYkZyYW1lUG9saWN5TGlzdGVuZXJQcm94eS5oICovOyB9Owog
CQlCQ0I5RjZBNTExMjNERDBEMDBBMTM3RTAgLyogV0tGcmFtZVBvbGljeUxpc3RlbmVyLmggaW4g
SGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBCQ0I5RjZBMzExMjNE
RDBEMDBBMTM3RTAgLyogV0tGcmFtZVBvbGljeUxpc3RlbmVyLmggKi87IHNldHRpbmdzID0ge0FU
VFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKLQkJQkNCQUFDNzIxNDRFNjE5OTAwNTNGODJG
IC8qIFdLQnJvd3NpbmdDb250ZXh0Q29udHJvbGxlci5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEJDQkFBQzZEMTQ0RTYxOTIwMDUzRjgyRiAvKiBXS0Jy
b3dzaW5nQ29udGV4dENvbnRyb2xsZXIubW0gKi87IH07CiAJCUJDQkFBQzczMTQ0RTYxOUUwMDUz
RjgyRiAvKiBXS0Jyb3dzaW5nQ29udGV4dENvbnRyb2xsZXIuaCBpbiBIZWFkZXJzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEJDQkFBQzZDMTQ0RTYxOTEwMDUzRjgyRiAvKiBX
S0Jyb3dzaW5nQ29udGV4dENvbnRyb2xsZXIuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9
IChQcml2YXRlLCApOyB9OyB9OwogCQlCQ0JBQUM3NDE0NEU2MUE1MDA1M0Y4MkYgLyogV0tCcm93
c2luZ0NvbnRleHRDb250cm9sbGVySW50ZXJuYWwuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEJDQkFBQzZFMTQ0RTYxOTIwMDUzRjgyRiAvKiBXS0Jyb3dz
aW5nQ29udGV4dENvbnRyb2xsZXJJbnRlcm5hbC5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVT
ID0gKCk7IH07IH07CiAJCUJDQkFBQ0VCMTQ1MjI1RTMwMDUzRjgyRiAvKiBXS1Byb2Nlc3NHcm91
cC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQkNCQUFD
RTUxNDUyMjVDOTAwNTNGODJGIC8qIFdLUHJvY2Vzc0dyb3VwLmggKi87IHNldHRpbmdzID0ge0FU
VFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKLQkJQkNCQUFDRUMxNDUyMjVFMzAwNTNGODJG
IC8qIFdLUHJvY2Vzc0dyb3VwLm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gQkNCQUFDRTYxNDUyMjVDQTAwNTNGODJGIC8qIFdLUHJvY2Vzc0dyb3VwLm1t
ICovOyB9OwogCQlCQ0JBQUNFRDE0NTIyNUUzMDA1M0Y4MkYgLyogV0tQcm9jZXNzR3JvdXBQcml2
YXRlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBCQ0JB
QUNFNzE0NTIyNUNCMDA1M0Y4MkYgLyogV0tQcm9jZXNzR3JvdXBQcml2YXRlLmggKi87IHNldHRp
bmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJQkNCQUFDRjQxNDUyMzI0
RjAwNTNGODJGIC8qIFdLQnJvd3NpbmdDb250ZXh0R3JvdXAuaCBpbiBIZWFkZXJzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEJDQkFBQ0VFMTQ1MjMyNDMwMDUzRjgyRiAvKiBX
S0Jyb3dzaW5nQ29udGV4dEdyb3VwLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJp
dmF0ZSwgKTsgfTsgfTsKLQkJQkNCQUFDRjUxNDUyMzI0RjAwNTNGODJGIC8qIFdLQnJvd3NpbmdD
b250ZXh0R3JvdXAubW0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSBCQ0JBQUNFRjE0NTIzMjQ0MDA1M0Y4MkYgLyogV0tCcm93c2luZ0NvbnRleHRHcm91cC5t
bSAqLzsgfTsKIAkJQkNCQUFDRjYxNDUyMzI0RjAwNTNGODJGIC8qIFdLQnJvd3NpbmdDb250ZXh0
R3JvdXBQcml2YXRlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSBCQ0JBQUNGMDE0NTIzMjQ4MDA1M0Y4MkYgLyogV0tCcm93c2luZ0NvbnRleHRHcm91cFBy
aXZhdGUuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9Owog
CQlCQ0JBQUQwQjE0NTYwQTQzMDA1M0Y4MkYgLyogV0tCcm93c2luZ0NvbnRleHRMb2FkRGVsZWdh
dGUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEJDQkFB
RDBBMTQ1NjBBNDMwMDUzRjgyRiAvKiBXS0Jyb3dzaW5nQ29udGV4dExvYWREZWxlZ2F0ZS5oICov
OyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCUJDQkQzOTE0
MTI1QkIxQTgwMEQyQzI5RiAvKiBXZWJQYWdlUHJveHlNZXNzYWdlUmVjZWl2ZXIuY3BwIGluIFNv
dXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQkNCRDM5MTIxMjVCQjFB
ODAwRDJDMjlGIC8qIFdlYlBhZ2VQcm94eU1lc3NhZ2VSZWNlaXZlci5jcHAgKi87IH07CkBAIC0x
Njc3LDkgKzE1ODUsNyBAQAogCQlFQ0E2ODBEODFFNjkwRTI1MDA3MzFEMjAgLyogV2ViUHJvY2Vz
c0NvY29hLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBF
Q0E2ODBENzFFNjkwREY4MDA3MzFEMjAgLyogV2ViUHJvY2Vzc0NvY29hLmggKi87IHNldHRpbmdz
ID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJRUQ4MkE3RjIxMjhDNkZBRjAw
NDQ3N0IzIC8qIFdLQnVuZGxlUGFnZU92ZXJsYXkuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDFBMjJGMEZGMTI4OUZDRDkwMDg1RTc0RiAvKiBXS0J1bmRs
ZVBhZ2VPdmVybGF5LmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsg
fTsgfTsKIAkJRjQwOUJBMTgxRTZFNjRCQzAwOURBMjhFIC8qIFdLRHJhZ0Rlc3RpbmF0aW9uQWN0
aW9uLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBGNDA5
QkExNzFFNkU2NEIzMDA5REEyOEUgLyogV0tEcmFnRGVzdGluYXRpb25BY3Rpb24uaCAqLzsgc2V0
dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwotCQlGNDEwNTY2MzIxMzA2
OTlBMDA5MjI4MUQgLyogQVBJQXR0YWNobWVudENvY29hLm1tIGluIFNvdXJjZXMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRjQxMDU2NjEyMTMwNjk5QTAwOTIyODFEIC8qIEFQ
SUF0dGFjaG1lbnRDb2NvYS5tbSAqLzsgfTsKIAkJRjQ0MjkxOTIxRkE1OTFDOTAwMkNDOTNFIC8q
IF9XS0F0dGFjaG1lbnQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IEY0NDI5MTkxMUZBNTkxMDcwMDJDQzkzRSAvKiBfV0tBdHRhY2htZW50LmggKi87IHNl
dHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKLQkJRjQ0MjkxOTQxRkE1
OTMxMTAwMkNDOTNFIC8qIF9XS0F0dGFjaG1lbnQubW0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBGNDQyOTE5MzFGQTU5MzExMDAyQ0M5M0UgLyogX1dLQXR0
YWNobWVudC5tbSAqLzsgfTsKIAkJRjQ0MjkxOTYxRkE1OTQyQTAwMkNDOTNFIC8qIF9XS0F0dGFj
aG1lbnRJbnRlcm5hbC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gRjQ0MjkxOTUxRkE1OTQyQTAwMkNDOTNFIC8qIF9XS0F0dGFjaG1lbnRJbnRlcm5hbC5o
ICovOyB9OwogCQlGNDRERkVCMjFFOUU3NTJGMDAzOEQxOTYgLyogV2ViSWNvblV0aWxpdGllcy5o
IGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRjQ0REZFQjAx
RTlFNzUyRjAwMzhEMTk2IC8qIFdlYkljb25VdGlsaXRpZXMuaCAqLzsgfTsKIAkJRjQ5NkE0MzEx
RjU4QTI3MjAwNEMxNzU3IC8qIERyYWdEcm9wSW50ZXJhY3Rpb25TdGF0ZS5oIGluIEhlYWRlcnMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRjQ5NkE0MkYxRjU4QTI3MjAwNEMx
NzU3IC8qIERyYWdEcm9wSW50ZXJhY3Rpb25TdGF0ZS5oICovOyB9OwpAQCAtMTY4OCw3ICsxNTk0
LDYgQEAKIAkJRjYxMTNFMjUxMjZDRTE4MjAwNTdEMEE3IC8qIEFQSVVzZXJDb250ZW50VVJMUGF0
dGVybi5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRjYx
MTNFMjQxMjZDRTE4MjAwNTdEMEE3IC8qIEFQSVVzZXJDb250ZW50VVJMUGF0dGVybi5oICovOyB9
OwogCQlGNjExM0UyOTEyNkNFMTlCMDA1N0QwQTcgLyogV0tVc2VyQ29udGVudFVSTFBhdHRlcm4u
aCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEY2MTEzRTI3
MTI2Q0UxOUIwMDU3RDBBNyAvKiBXS1VzZXJDb250ZW50VVJMUGF0dGVybi5oICovOyBzZXR0aW5n
cyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCUY2MzQ0NDU2MTJBODg1Qzgw
MDA2MTJEOCAvKiBBUElTZWN1cml0eU9yaWdpbi5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gRjYzNDQ0NTUxMkE4ODVDODAwMDYxMkQ4IC8qIEFQSVNlY3Vy
aXR5T3JpZ2luLmggKi87IH07Ci0JCUZFRDNDMURDMUI0NDdFQUMwMEUwRUI3RiAvKiBBUElTZXJp
YWxpemVkU2NyaXB0VmFsdWVDb2NvYS5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IEZFRDNDMURBMUI0NDdBRTgwMEUwRUI3RiAvKiBBUElTZXJpYWxpemVk
U2NyaXB0VmFsdWVDb2NvYS5tbSAqLzsgfTsKIAkJRkVEQkRDRDYxRTY4RDIwMDAwQTU5RjhGIC8q
IFdlYkluc3BlY3RvckludGVycnVwdERpc3BhdGNoZXJNZXNzYWdlUmVjZWl2ZXIuY3BwIGluIFNv
dXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRkVEQkRDRDQxRTY4RDE5
QzAwQTU5RjhGIC8qIFdlYkluc3BlY3RvckludGVycnVwdERpc3BhdGNoZXJNZXNzYWdlUmVjZWl2
ZXIuY3BwICovOyB9OwogCQlGRURCRENENzFFNjhEMjA1MDBBNTlGOEYgLyogV2ViSW5zcGVjdG9y
SW50ZXJydXB0RGlzcGF0Y2hlck1lc3NhZ2VzLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSBGRURCRENENTFFNjhEMTlDMDBBNTlGOEYgLyogV2ViSW5zcGVj
dG9ySW50ZXJydXB0RGlzcGF0Y2hlck1lc3NhZ2VzLmggKi87IH07CiAJCUZFRTQzRkQzMUU2N0Iw
MTgwMDc3RDZEMSAvKiBXZWJJbnNwZWN0b3JJbnRlcnJ1cHREaXNwYXRjaGVyLmggaW4gSGVhZGVy
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBGRUU0M0ZEMTFFNjdBRkM2MDA3
N0Q2RDEgLyogV2ViSW5zcGVjdG9ySW50ZXJydXB0RGlzcGF0Y2hlci5oICovOyB9OwpAQCAtMTA3
MTEsNDQgKzEwNjE2LDcgQEAKIAkJCWlzYSA9IFBCWFNvdXJjZXNCdWlsZFBoYXNlOwogCQkJYnVp
bGRBY3Rpb25NYXNrID0gMjE0NzQ4MzY0NzsKIAkJCWZpbGVzID0gKAotCQkJCTM3QTVFMDEzMThC
QkY5MzcwMDBBMDgxRSAvKiBfV0tBY3RpdmF0ZWRFbGVtZW50SW5mby5tbSBpbiBTb3VyY2VzICov
LAotCQkJCTYzMTA4Rjk3MUY5NjcxOUMwMEEwREI4NCAvKiBfV0tBcHBsaWNhdGlvbk1hbmlmZXN0
Lm1tIGluIFNvdXJjZXMgKi8sCi0JCQkJRjQ0MjkxOTQxRkE1OTMxMTAwMkNDOTNFIC8qIF9XS0F0
dGFjaG1lbnQubW0gaW4gU291cmNlcyAqLywKLQkJCQk5OTBEMjhCMjFDNjUyMDk0MDA5ODY5Nzcg
LyogX1dLQXV0b21hdGlvblNlc3Npb24ubW0gaW4gU291cmNlcyAqLywKLQkJCQk5OTc4OEFDQzFG
NDIxREUyMDBDMDgwMDAgLyogX1dLQXV0b21hdGlvblNlc3Npb25Db25maWd1cmF0aW9uLm1tIGlu
IFNvdXJjZXMgKi8sCi0JCQkJMUE1NzA0RjcxQkUwMUZGNDAwODc0QUYxIC8qIF9XS0NvbnRleHRN
ZW51RWxlbWVudEluZm8ubW0gaW4gU291cmNlcyAqLywKLQkJCQlBMUE0RkU1QjE4RENFOUZBMDBC
NUVBOEEgLyogX1dLRG93bmxvYWQubW0gaW4gU291cmNlcyAqLywKLQkJCQkzNzlBODczOTE4QkJG
RTBGMDA1ODhBRjIgLyogX1dLRWxlbWVudEFjdGlvbi5tbSBpbiBTb3VyY2VzICovLAotCQkJCTFB
RDAxQkM4MTkwNUQzN0UwMEM5QzQ1RiAvKiBfV0tFcnJvclJlY292ZXJ5QXR0ZW1wdGluZy5tbSBp
biBTb3VyY2VzICovLAotCQkJCTMxN0ZFN0NFMUM0ODdEQjgwMEEwQ0E4OSAvKiBfV0tFeHBlcmlt
ZW50YWxGZWF0dXJlLm1tIGluIFNvdXJjZXMgKi8sCi0JCQkJMzczRDEyMjIxOEE0NzMwMTAwNjZE
OUNDIC8qIF9XS0ZyYW1lSGFuZGxlLm1tIGluIFNvdXJjZXMgKi8sCi0JCQkJNjNDMzJDMjUxRTk4
MTBEOTAwNjk5QkQwIC8qIF9XS0dlb2xvY2F0aW9uUG9zaXRpb24ubW0gaW4gU291cmNlcyAqLywK
LQkJCQk5M0E4OEIzOTFCQzcwRjNGMDBBQkE1QzIgLyogX1dLSGl0VGVzdFJlc3VsdC5tbSBpbiBT
b3VyY2VzICovLAotCQkJCTVDQUZERTQ2MjEzMDg0NjgwMEIxRjdFMSAvKiBfV0tJbnNwZWN0b3Iu
bW0gaW4gU291cmNlcyAqLywKLQkJCQk1MTBGNTkxMjFEREUyOTc3MDA0MTJGRjUgLyogX1dLTGlu
a0ljb25QYXJhbWV0ZXJzLm1tIGluIFNvdXJjZXMgKi8sCi0JCQkJQTExOEE5RjIxOTA4QjhFQTAw
RjdDOTJCIC8qIF9XS05TRmlsZU1hbmFnZXJFeHRyYXMubW0gaW4gU291cmNlcyAqLywKLQkJCQlB
NUMwRjBBODIwMDA2NTUxMDA1MzY1MzYgLyogX1dLTlNXaW5kb3dFeHRyYXMubW0gaW4gU291cmNl
cyAqLywKLQkJCQkxQTQzRTgyOTE4OEYzQ0RDMDA5RTREMzAgLyogX1dLUHJvY2Vzc1Bvb2xDb25m
aWd1cmF0aW9uLm1tIGluIFNvdXJjZXMgKi8sCi0JCQkJMUE5RTMyOEUxODIxNjVBOTAwRjVEMDRD
IC8qIF9XS1JlbW90ZU9iamVjdEludGVyZmFjZS5tbSBpbiBTb3VyY2VzICovLAotCQkJCTFBOUUz
MjhBMTgyMTYzNjkwMEY1RDA0QyAvKiBfV0tSZW1vdGVPYmplY3RSZWdpc3RyeS5tbSBpbiBTb3Vy
Y2VzICovLAotCQkJCUE1NUJBODExMUJBMTMxODEwMDdDRDMzRCAvKiBfV0tSZW1vdGVXZWJJbnNw
ZWN0b3JWaWV3Q29udHJvbGxlci5tbSBpbiBTb3VyY2VzICovLAotCQkJCTFBMDAyRDQ1MTk2QjMz
OEUwMEI5QUQ0NCAvKiBfV0tTZXNzaW9uU3RhdGUubW0gaW4gU291cmNlcyAqLywKLQkJCQkyRDZC
MzcxQzE4QTk2N0FEMDA0MkFFODAgLyogX1dLVGh1bWJuYWlsVmlldy5tbSBpbiBTb3VyY2VzICov
LAotCQkJCTdDMjQxMzAyMUFBQ0ZBNzUwMEE1OEMxNSAvKiBfV0tVc2VyQ29udGVudEV4dGVuc2lv
blN0b3JlLm1tIGluIFNvdXJjZXMgKi8sCi0JCQkJN0M4OUQyQjkxQTZCMEYyQzAwM0E1RkRFIC8q
IF9XS1VzZXJDb250ZW50RmlsdGVyLm1tIGluIFNvdXJjZXMgKi8sCi0JCQkJN0M4ODJERjgxQzdF
OTk2QzAwNkJGNzMxIC8qIF9XS1VzZXJDb250ZW50V29ybGQubW0gaW4gU291cmNlcyAqLywKLQkJ
CQk3Q0IzNjVBQjFEMzFEQjcwMDA3MTU4Q0EgLyogX1dLVXNlckluaXRpYXRlZEFjdGlvbi5tbSBp
biBTb3VyY2VzICovLAotCQkJCTJEODc4NjFFMUJEQjU0QkYwMEQwMkFCQiAvKiBfV0tVc2VyU3R5
bGVTaGVldC5tbSBpbiBTb3VyY2VzICovLAotCQkJCTFBODFCMzgwMThCRDY2QUQwMDA3RkRBQyAv
KiBfV0tWaXNpdGVkTGlua1N0b3JlLm1tIGluIFNvdXJjZXMgKi8sCi0JCQkJMUFFMjg2NzcxQzdF
NzY1MTAwNjlBQzRGIC8qIF9XS1dlYnNpdGVEYXRhU2l6ZS5tbSBpbiBTb3VyY2VzICovLAotCQkJ
CTFBRkI0QzcxMUFERjE1NUQwMEIzMzMzOSAvKiBfV0tXZWJzaXRlRGF0YVN0b3JlLm1tIGluIFNv
dXJjZXMgKi8sCi0JCQkJNTEyMEM4MzYxRTVCNzRCRTAwMjVCMjUwIC8qIF9XS1dlYnNpdGVEYXRh
U3RvcmVDb25maWd1cmF0aW9uLm1tIGluIFNvdXJjZXMgKi8sCi0JCQkJNUNCMjM3OEIxREYwREU1
MzAwMTE3QUEzIC8qIF9XS1dlYnNpdGVQb2xpY2llcy5tbSBpbiBTb3VyY2VzICovLAogCQkJCTJE
OTJBNzg0MjEyQjZBQjEwMEY0OTNGRCAvKiBBY3Rpdml0eUFzc2VydGlvbi5jcHAgaW4gU291cmNl
cyAqLywKLQkJCQlGNDEwNTY2MzIxMzA2OTlBMDA5MjI4MUQgLyogQVBJQXR0YWNobWVudENvY29h
Lm1tIGluIFNvdXJjZXMgKi8sCi0JCQkJN0NFRkE5NjIxQUMwOTk5MzAwQjkxMEZEIC8qIEFQSUNv
bnRlbnRSdWxlTGlzdFN0b3JlQ29jb2EubW0gaW4gU291cmNlcyAqLywKLQkJCQlGRUQzQzFEQzFC
NDQ3RUFDMDBFMEVCN0YgLyogQVBJU2VyaWFsaXplZFNjcmlwdFZhbHVlQ29jb2EubW0gaW4gU291
cmNlcyAqLywKLQkJCQkxQTM2MzVBRDFBMzE0NUU1MDBFRDYxOTcgLyogQVBJV2Vic2l0ZURhdGFT
dG9yZUNvY29hLm1tIGluIFNvdXJjZXMgKi8sCiAJCQkJMkQ5MkE3N0IyMTJCNkE3MTAwRjQ5M0ZE
IC8qIEFyZ3VtZW50Q29kZXJzLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTJERUIxRDJFMjEyNzQ3
MzYwMDkzMzkwNiAvKiBBcmd1bWVudENvZGVyc0NGLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTJE
OTJBNzdDMjEyQjZBNzEwMEY0OTNGRCAvKiBBdHRhY2htZW50LmNwcCBpbiBTb3VyY2VzICovLApA
QCAtMTA3NzAsNyArMTA2MzgsNiBAQAogCQkJCTFBQTU3NjAyMTQ5NkI5NzkwMEE0RUUwNiAvKiBF
dmVudERpc3BhdGNoZXJNZXNzYWdlUmVjZWl2ZXIuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMkQ5
MTM0NDEyMTJDRjlGMDAwMTI4QUZEIC8qIEpTTlBNZXRob2QuY3BwIGluIFNvdXJjZXMgKi8sCiAJ
CQkJMkQ5MTM0NDIyMTJDRjlGMDAwMTI4QUZEIC8qIEpTTlBPYmplY3QuY3BwIGluIFNvdXJjZXMg
Ki8sCi0JCQkJMUFGREU2NDUxOTUxMEI1NTAwQzQ4RkZBIC8qIExlZ2FjeUJ1bmRsZUZvckNsYXNz
Lm1tIGluIFNvdXJjZXMgKi8sCiAJCQkJMjk4NEY1ODgxNjRCQTA5NTAwNEJDMEM2IC8qIExlZ2Fj
eUN1c3RvbVByb3RvY29sTWFuYWdlck1lc3NhZ2VSZWNlaXZlci5jcHAgaW4gU291cmNlcyAqLywK
IAkJCQkyOTg0RjU3QzE2NEI5MTVGMDA0QkMwQzYgLyogTGVnYWN5Q3VzdG9tUHJvdG9jb2xNYW5h
Z2VyUHJveHlNZXNzYWdlUmVjZWl2ZXIuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMkQ5MkE3Nzky
MTJCNkE2MTAwRjQ5M0ZEIC8qIExvZ2dpbmcuY3BwIGluIFNvdXJjZXMgKi8sCkBAIC0xMDgyNSw4
ICsxMDY5Miw2IEBACiAJCQkJMkQ1NEMzMUIyMTJGNERBNjAwNDlDMTc0IC8qIFByb2Nlc3NMYXVu
Y2hlci5jcHAgaW4gU291cmNlcyAqLywKIAkJCQkyRDcyQTFGQTIxMkJGNDZFMDA1MTdBMjAgLyog
UmVtb3RlTGF5ZXJUcmVlRHJhd2luZ0FyZWEubW0gaW4gU291cmNlcyAqLywKIAkJCQkwRkYyNEEy
RDE4NzlFNEJDMDAzQUJGMEMgLyogUmVtb3RlTGF5ZXJUcmVlRHJhd2luZ0FyZWFQcm94eU1lc3Nh
Z2VSZWNlaXZlci5jcHAgaW4gU291cmNlcyAqLywKLQkJCQkxQTU3MDRGQjFCRTE3NTExMDA4NzRB
RjEgLyogUmVtb3RlT2JqZWN0SW52b2NhdGlvbi5tbSBpbiBTb3VyY2VzICovLAotCQkJCTFBQzEz
MzdGMTg1OTBBRTQwMEYzRUMwNSAvKiBSZW1vdGVPYmplY3RSZWdpc3RyeS5tbSBpbiBTb3VyY2Vz
ICovLAogCQkJCTFBQzEzMzg1MTg1OTBDNDYwMEYzRUMwNSAvKiBSZW1vdGVPYmplY3RSZWdpc3Ry
eU1lc3NhZ2VSZWNlaXZlci5jcHAgaW4gU291cmNlcyAqLywKIAkJCQkwRjU5NDdBNzE4N0I1MTc2
MDA0Mzc4NTcgLyogUmVtb3RlU2Nyb2xsaW5nQ29vcmRpbmF0b3JNZXNzYWdlUmVjZWl2ZXIuY3Bw
IGluIFNvdXJjZXMgKi8sCiAJCQkJQTU1QkE4MjYxQkEyNUNGRDAwN0NEMzNEIC8qIFJlbW90ZVdl
Ykluc3BlY3RvclByb3h5TWVzc2FnZVJlY2VpdmVyLmNwcCBpbiBTb3VyY2VzICovLApAQCAtMTEw
OTgsNjUgKzEwOTYzLDEwIEBACiAJCQkJMUFBRjA4QjcxOTI2OUU2RDAwQjYzOTBDIC8qIFdlYlVz
ZXJDb250ZW50Q29udHJvbGxlck1lc3NhZ2VSZWNlaXZlci5jcHAgaW4gU291cmNlcyAqLywKIAkJ
CQk3QzM2MUQ3ODE5MjgwM0JEMDAzNkE1OUQgLyogV2ViVXNlckNvbnRlbnRDb250cm9sbGVyUHJv
eHlNZXNzYWdlUmVjZWl2ZXIuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMkQ5MkE3OEYyMTJCNkFC
MTAwRjQ5M0ZEIC8qIFdlYldoZWVsRXZlbnQuY3BwIGluIFNvdXJjZXMgKi8sCi0JCQkJMzdDNEMw
OEMxODE0QUM1QzAwMzY4OEI5IC8qIFdLQmFja0ZvcndhcmRMaXN0Lm1tIGluIFNvdXJjZXMgKi8s
Ci0JCQkJMzdDNEMwODYxODE0OUM1QjAwMzY4OEI5IC8qIFdLQmFja0ZvcndhcmRMaXN0SXRlbS5t
bSBpbiBTb3VyY2VzICovLAotCQkJCUJDQkFBQzcyMTQ0RTYxOTkwMDUzRjgyRiAvKiBXS0Jyb3dz
aW5nQ29udGV4dENvbnRyb2xsZXIubW0gaW4gU291cmNlcyAqLywKLQkJCQlCQ0JBQUNGNTE0NTIz
MjRGMDA1M0Y4MkYgLyogV0tCcm93c2luZ0NvbnRleHRHcm91cC5tbSBpbiBTb3VyY2VzICovLAot
CQkJCTFBRTAwRDRDMTgyRDZFQjAwMDA4N0RENyAvKiBXS0Jyb3dzaW5nQ29udGV4dEhhbmRsZS5t
bSBpbiBTb3VyY2VzICovLAotCQkJCUJDQTI4NEQ2MTQ5MkYyQzcwMDFGOTA0MiAvKiBXS0Nvbm5l
Y3Rpb24ubW0gaW4gU291cmNlcyAqLywKLQkJCQk1Q0QyODY1MjFFNzIzNUE2MDA5NEZEQzggLyog
V0tDb250ZW50UnVsZUxpc3QubW0gaW4gU291cmNlcyAqLywKLQkJCQk1Q0QyODY1NjFFNzIzNUM2
MDA5NEZEQzggLyogV0tDb250ZW50UnVsZUxpc3RTdG9yZS5tbSBpbiBTb3VyY2VzICovLAogCQkJ
CTJEOTMxMTY5MjEyRjYxQjIwMDA0NEJGRSAvKiBXS0NvbnRlbnRWaWV3Lm1tIGluIFNvdXJjZXMg
Ki8sCiAJCQkJMkQ5MzExNkEyMTJGNjFCNTAwMDQ0QkZFIC8qIFdLQ29udGVudFZpZXdJbnRlcmFj
dGlvbi5tbSBpbiBTb3VyY2VzICovLAotCQkJCTJEOTEzNDMxMjEyQzg1M0QwMDEyOEFGRCAvKiBX
S0RPTURvY3VtZW50Lm1tIGluIFNvdXJjZXMgKi8sCi0JCQkJMkQ5MTM0MzIyMTJDODUzRDAwMTI4
QUZEIC8qIFdLRE9NRWxlbWVudC5tbSBpbiBTb3VyY2VzICovLAotCQkJCTJEOTEzNDMzMjEyQzg1
M0QwMDEyOEFGRCAvKiBXS0RPTUludGVybmFscy5tbSBpbiBTb3VyY2VzICovLAotCQkJCTJEOTEz
NDM0MjEyQzg1M0QwMDEyOEFGRCAvKiBXS0RPTU5vZGUubW0gaW4gU291cmNlcyAqLywKLQkJCQky
RDkxMzQzNTIxMkM4NTNEMDAxMjhBRkQgLyogV0tET01SYW5nZS5tbSBpbiBTb3VyY2VzICovLAot
CQkJCTJEOTEzNDM2MjEyQzg1M0QwMDEyOEFGRCAvKiBXS0RPTVRleHQubW0gaW4gU291cmNlcyAq
LywKLQkJCQkyRDkxMzQzNzIxMkM4NTNEMDAxMjhBRkQgLyogV0tET01UZXh0SXRlcmF0b3IubW0g
aW4gU291cmNlcyAqLywKLQkJCQkxQUY0NTkyRTE5NDY0QjIwMDBGOUQ0QTIgLyogV0tFcnJvci5t
bSBpbiBTb3VyY2VzICovLAotCQkJCTFBNEQ2NjRCMThBMzAzMEUwMEQ4MkUyMSAvKiBXS0ZyYW1l
SW5mby5tbSBpbiBTb3VyY2VzICovLAotCQkJCTUxRDEyNDkyMUU3NEJGNDgwMDJCMjgyMCAvKiBX
S0hUVFBDb29raWVTdG9yZS5tbSBpbiBTb3VyY2VzICovLAotCQkJCTFBQjQwRUU1MUJGNjc3RTMw
MEJBODFCRSAvKiBXS01lbnVJdGVtSWRlbnRpZmllcnMubW0gaW4gU291cmNlcyAqLywKLQkJCQkx
QTVCMUM1MDE4OTg2MDZGMDA0RkNGOUIgLyogV0tOYXZpZ2F0aW9uLm1tIGluIFNvdXJjZXMgKi8s
Ci0JCQkJMUEyNTZFMzcxOEExQTc4ODAwNkZCOTIyIC8qIFdLTmF2aWdhdGlvbkFjdGlvbi5tbSBp
biBTb3VyY2VzICovLAotCQkJCTM3MEYzNEEyMTgyOUJFMUUwMDkwMjdDOCAvKiBXS05hdmlnYXRp
b25EYXRhLm1tIGluIFNvdXJjZXMgKi8sCi0JCQkJMUExQjBFQjUxOEE0MjQ5NTAwMzg0ODFBIC8q
IFdLTmF2aWdhdGlvblJlc3BvbnNlLm1tIGluIFNvdXJjZXMgKi8sCi0JCQkJMzdGQzE5NEExODUx
MEQ2QTAwOENGQTQ3IC8qIFdLTlNVUkxBdXRoZW50aWNhdGlvbkNoYWxsZW5nZS5tbSBpbiBTb3Vy
Y2VzICovLAotCQkJCTFBQ0M1MEYxMUNCQzM4MUQwMDNDN0QwMyAvKiBXS09wZW5QYW5lbFBhcmFt
ZXRlcnMubW0gaW4gU291cmNlcyAqLywKLQkJCQkxQUZERDMxOTE4OTFDQTEyMDAxNTM5NzAgLyog
V0tQcmVmZXJlbmNlcy5tbSBpbiBTb3VyY2VzICovLAotCQkJCTkzQTI1M0VGMUM5MjJFOEUwMEY5
RjY4RCAvKiBXS1ByZXZpZXdBY3Rpb25JdGVtLm1tIGluIFNvdXJjZXMgKi8sCi0JCQkJOTNBMjUz
RjUxQzkyNDEzMjAwRjlGNjhEIC8qIFdLUHJldmlld0FjdGlvbkl0ZW1JZGVudGlmaWVycy5tbSBp
biBTb3VyY2VzICovLAotCQkJCTkzOTVFNjhDMUJGMkMzNTIwMEY0OUJDRSAvKiBXS1ByZXZpZXdF
bGVtZW50SW5mby5tbSBpbiBTb3VyY2VzICovLAotCQkJCUJDQkFBQ0VDMTQ1MjI1RTMwMDUzRjgy
RiAvKiBXS1Byb2Nlc3NHcm91cC5tbSBpbiBTb3VyY2VzICovLAotCQkJCTFBMTU4NDE5MTg5MDQ0
RjUwMDE3NjE2QyAvKiBXS1Byb2Nlc3NQb29sLm1tIGluIFNvdXJjZXMgKi8sCi0JCQkJMUE5RTMy
OUExODIyRTFDQzAwRjVEMDRDIC8qIFdLUmVtb3RlT2JqZWN0Lm1tIGluIFNvdXJjZXMgKi8sCi0J
CQkJMUE5RTMyOUUxODIyRkVERDAwRjVEMDRDIC8qIFdLUmVtb3RlT2JqZWN0Q29kZXIubW0gaW4g
U291cmNlcyAqLywKLQkJCQkxQTdFMzc3ODE4RTRBNEZFMDAzRDBGRkYgLyogV0tTY3JpcHRNZXNz
YWdlLm1tIGluIFNvdXJjZXMgKi8sCi0JCQkJNTFDRDFDNjYxQjM0QjlEQzAwMTQyQ0E1IC8qIFdL
U2VjdXJpdHlPcmlnaW4ubW0gaW4gU291cmNlcyAqLywKIAkJCQkxREIwMTk0NDIxMUNGMDA1MDA5
RkIzRTggLyogV0tTaGFyZVNoZWV0Lm1tIGluIFNvdXJjZXMgKi8sCi0JCQkJOTNGNTQ5QjYxRTMx
NzREQTAwMEU3MjM5IC8qIFdLU25hcHNob3RDb25maWd1cmF0aW9uLm1tIGluIFNvdXJjZXMgKi8s
CiAJCQkJMjZGMTBCRTkxOTE4N0UyRTAwMUQwRTY4IC8qIFdLU3ludGhldGljQ2xpY2tUYXBHZXN0
dXJlUmVjb2duaXplci5tIGluIFNvdXJjZXMgKi8sCi0JCQkJN0NENUVCQkUxNzQ2QjA0QzAwMEMx
QzQ1IC8qIFdLVHlwZVJlZldyYXBwZXIubW0gaW4gU291cmNlcyAqLywKLQkJCQk1MUQxMjQzNjFF
NkRGQjM5MDAyQjI4MjAgLyogV0tVUkxTY2hlbWVUYXNrLm1tIGluIFNvdXJjZXMgKi8sCi0JCQkJ
MUFGQTNBQzgxOEU2MUM2MTAwM0NDQkFFIC8qIFdLVXNlckNvbnRlbnRDb250cm9sbGVyLm1tIGlu
IFNvdXJjZXMgKi8sCi0JCQkJMUFBRjA4OUExOTI2N0VFNTAwQjYzOTBDIC8qIFdLVXNlclNjcmlw
dC5tbSBpbiBTb3VyY2VzICovLAotCQkJCUJDODY5OUI2MTE2QUFEQUEwMDJBOTI1QiAvKiBXS1Zp
ZXcubW0gaW4gU291cmNlcyAqLywKLQkJCQkyRDkxMzQyODIxMkM4NEY1MDAxMjhBRkQgLyogV0tX
ZWJQcm9jZXNzQnVuZGxlUGFyYW1ldGVycy5tbSBpbiBTb3VyY2VzICovLAotCQkJCTJEOTEzNDJG
MjEyQzg1MDEwMDEyOEFGRCAvKiBXS1dlYlByb2Nlc3NQbHVnSW4ubW0gaW4gU291cmNlcyAqLywK
LQkJCQkyRDkxMzQzMDIxMkM4NTAxMDAxMjhBRkQgLyogV0tXZWJQcm9jZXNzUGx1Z0luQnJvd3Nl
ckNvbnRleHRDb250cm9sbGVyLm1tIGluIFNvdXJjZXMgKi8sCi0JCQkJMkQ5MTM0MjkyMTJDODRG
NTAwMTI4QUZEIC8qIFdLV2ViUHJvY2Vzc1BsdWdJbkZyYW1lLm1tIGluIFNvdXJjZXMgKi8sCi0J
CQkJMkQ5MTM0MkEyMTJDODRGNTAwMTI4QUZEIC8qIFdLV2ViUHJvY2Vzc1BsdWdJbkhpdFRlc3RS
ZXN1bHQubW0gaW4gU291cmNlcyAqLywKLQkJCQkyRDkxMzQyQjIxMkM4NEY1MDAxMjhBRkQgLyog
V0tXZWJQcm9jZXNzUGx1Z0luTm9kZUhhbmRsZS5tbSBpbiBTb3VyY2VzICovLAotCQkJCTJEOTEz
NDJDMjEyQzg0RjUwMDEyOEFGRCAvKiBXS1dlYlByb2Nlc3NQbHVnSW5QYWdlR3JvdXAubW0gaW4g
U291cmNlcyAqLywKLQkJCQkyRDkxMzQyRDIxMkM4NEY1MDAxMjhBRkQgLyogV0tXZWJQcm9jZXNz
UGx1Z0luUmFuZ2VIYW5kbGUubW0gaW4gU291cmNlcyAqLywKLQkJCQkyRDkxMzQyRTIxMkM4NEY1
MDAxMjhBRkQgLyogV0tXZWJQcm9jZXNzUGx1Z0luU2NyaXB0V29ybGQubW0gaW4gU291cmNlcyAq
LywKLQkJCQkxQTQ4MzJDQjFBOUJDNDY1MDA4QjRERkUgLyogV0tXZWJzaXRlRGF0YVJlY29yZC5t
bSBpbiBTb3VyY2VzICovLAotCQkJCTc1QThEMkM5MTg3Q0NGQUYwMEMzOUM5RSAvKiBXS1dlYnNp
dGVEYXRhU3RvcmUubW0gaW4gU291cmNlcyAqLywKLQkJCQkxQTNDQzE2NjE4OTA2QUNGMDAxRTZF
RDggLyogV0tXZWJWaWV3Lm1tIGluIFNvdXJjZXMgKi8sCi0JCQkJMUFERjU5MUExODkwNTI4RTAw
NDNDMTQ1IC8qIFdLV2ViVmlld0NvbmZpZ3VyYXRpb24ubW0gaW4gU291cmNlcyAqLywKLQkJCQkx
QUQ2MEY1RDE4RTIwRjRDMDAyMEMwMzQgLyogV0tXaW5kb3dGZWF0dXJlcy5tbSBpbiBTb3VyY2Vz
ICovLAogCQkJKTsKIAkJCXJ1bk9ubHlGb3JEZXBsb3ltZW50UG9zdHByb2Nlc3NpbmcgPSAwOwog
CQl9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0luamVjdGVkQnVuZGxl
L0FQSS9Db2NvYS9XS1dlYlByb2Nlc3NQbHVnSW5GcmFtZS5tbSBiL1NvdXJjZS9XZWJLaXQvV2Vi
UHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9BUEkvQ29jb2EvV0tXZWJQcm9jZXNzUGx1Z0luRnJhbWUu
bW0KaW5kZXggOTZhZGFhOTQwOThmYTE2ZWVjNDljZjdkYmFmNDhlOGE2NzFkMWQ0Ni4uZGRkZTEy
MzZhYzliOGVmOGFmN2MzNGM1ZjUwOGYwMTY1OGU5YmQ5YSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdC9XZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0FQSS9Db2NvYS9XS1dlYlByb2Nlc3NQbHVn
SW5GcmFtZS5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUv
QVBJL0NvY29hL1dLV2ViUHJvY2Vzc1BsdWdJbkZyYW1lLm1tCkBAIC00NCwxNSArNDQsMTMgQEAK
ICNpbXBvcnQgPFdlYkNvcmUvTGlua0ljb25Db2xsZWN0b3IuaD4KICNpbXBvcnQgPFdlYkNvcmUv
TGlua0ljb25UeXBlLmg+CiAKLXVzaW5nIG5hbWVzcGFjZSBXZWJLaXQ7Ci0KIEBpbXBsZW1lbnRh
dGlvbiBXS1dlYlByb2Nlc3NQbHVnSW5GcmFtZSB7Ci0gICAgQVBJOjpPYmplY3RTdG9yYWdlPFdl
YkZyYW1lPiBfZnJhbWU7CisgICAgQVBJOjpPYmplY3RTdG9yYWdlPFdlYktpdDo6V2ViRnJhbWU+
IF9mcmFtZTsKIH0KIAogKyAoaW5zdGFuY2V0eXBlKWxvb2tVcEZyYW1lRnJvbUhhbmRsZTooX1dL
RnJhbWVIYW5kbGUgKiloYW5kbGUKIHsKLSAgICByZXR1cm4gd3JhcHBlcihXZWJQcm9jZXNzOjpz
aW5nbGV0b24oKS53ZWJGcmFtZShoYW5kbGUuX2ZyYW1lSUQpKTsKKyAgICByZXR1cm4gd3JhcHBl
cihXZWJLaXQ6OldlYlByb2Nlc3M6OnNpbmdsZXRvbigpLndlYkZyYW1lKGhhbmRsZS5fZnJhbWVJ
RCkpOwogfQogCiAtICh2b2lkKWRlYWxsb2MKQEAgLTg1LDcgKzgzLDcgQEAgLSAoSlNWYWx1ZSAq
KWpzUmFuZ2VGb3JSYW5nZUhhbmRsZTooV0tXZWJQcm9jZXNzUGx1Z0luUmFuZ2VIYW5kbGUgKily
YW5nZUhhbmRsZQogCiAtIChXS1dlYlByb2Nlc3NQbHVnSW5Ccm93c2VyQ29udGV4dENvbnRyb2xs
ZXIgKilfYnJvd3NlckNvbnRleHRDb250cm9sbGVyCiB7Ci0gICAgcmV0dXJuIHdyYXBwZXIoKl9m
cmFtZS0+cGFnZSgpKTsKKyAgICByZXR1cm4gV2ViS2l0Ojp3cmFwcGVyKCpfZnJhbWUtPnBhZ2Uo
KSk7CiB9CiAKIC0gKE5TVVJMICopVVJMCkBAIC05NSw3ICs5Myw3IEBAIC0gKE5TVVJMICopVVJM
CiAKIC0gKE5TQXJyYXkgKiljaGlsZEZyYW1lcwogewotICAgIHJldHVybiB3cmFwcGVyKF9mcmFt
ZS0+Y2hpbGRGcmFtZXMoKSk7CisgICAgcmV0dXJuIFdlYktpdDo6d3JhcHBlcihfZnJhbWUtPmNo
aWxkRnJhbWVzKCkpOwogfQogCiAtIChCT09MKWNvbnRhaW5zQW55Rm9ybUVsZW1lbnRzCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvQVBJL0NvY29h
L1dLV2ViUHJvY2Vzc1BsdWdJbkhpdFRlc3RSZXN1bHQubW0gYi9Tb3VyY2UvV2ViS2l0L1dlYlBy
b2Nlc3MvSW5qZWN0ZWRCdW5kbGUvQVBJL0NvY29hL1dLV2ViUHJvY2Vzc1BsdWdJbkhpdFRlc3RS
ZXN1bHQubW0KaW5kZXggMDIwOTQ3Y2ZiZDBiODBkMzdjOWFmN2M2MzQ2YTgwYzJjNzI1NGNmOC4u
ZGZmODRhMjU3ZGY5ZTM4ZjJlNDIxMjVjMGViMDM4YjUwOWI5NDNhMSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdC9XZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0FQSS9Db2NvYS9XS1dlYlByb2Nl
c3NQbHVnSW5IaXRUZXN0UmVzdWx0Lm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9J
bmplY3RlZEJ1bmRsZS9BUEkvQ29jb2EvV0tXZWJQcm9jZXNzUGx1Z0luSGl0VGVzdFJlc3VsdC5t
bQpAQCAtMzAsMTAgKzMwLDggQEAKIAogI2ltcG9ydCAiV0tXZWJQcm9jZXNzUGx1Z0luTm9kZUhh
bmRsZUludGVybmFsLmgiCiAKLXVzaW5nIG5hbWVzcGFjZSBXZWJLaXQ7Ci0KIEBpbXBsZW1lbnRh
dGlvbiBXS1dlYlByb2Nlc3NQbHVnSW5IaXRUZXN0UmVzdWx0IHsKLSAgICBBUEk6Ok9iamVjdFN0
b3JhZ2U8SW5qZWN0ZWRCdW5kbGVIaXRUZXN0UmVzdWx0PiBfaGl0VGVzdFJlc3VsdDsKKyAgICBB
UEk6Ok9iamVjdFN0b3JhZ2U8V2ViS2l0OjpJbmplY3RlZEJ1bmRsZUhpdFRlc3RSZXN1bHQ+IF9o
aXRUZXN0UmVzdWx0OwogfQogCiAtICh2b2lkKWRlYWxsb2MKQEAgLTQ0LDcgKzQyLDcgQEAgLSAo
dm9pZClkZWFsbG9jCiAKIC0gKFdLV2ViUHJvY2Vzc1BsdWdJbk5vZGVIYW5kbGUgKilub2RlSGFu
ZGxlCiB7Ci0gICAgcmV0dXJuIHdyYXBwZXIoX2hpdFRlc3RSZXN1bHQtPm5vZGVIYW5kbGUoKSk7
CisgICAgcmV0dXJuIFdlYktpdDo6d3JhcHBlcihfaGl0VGVzdFJlc3VsdC0+bm9kZUhhbmRsZSgp
KTsKIH0KIAogI3ByYWdtYSBtYXJrIFdLT2JqZWN0IHByb3RvY29sIGltcGxlbWVudGF0aW9uCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvQVBJL0Nv
Y29hL1dLV2ViUHJvY2Vzc1BsdWdJbk5vZGVIYW5kbGUubW0gYi9Tb3VyY2UvV2ViS2l0L1dlYlBy
b2Nlc3MvSW5qZWN0ZWRCdW5kbGUvQVBJL0NvY29hL1dLV2ViUHJvY2Vzc1BsdWdJbk5vZGVIYW5k
bGUubW0KaW5kZXggOTFjZDBjNDBlNGNlYmM1Y2JiNjdlMWE3ZjUzYWJkMDBiNTRhYTcyNC4uNTAy
MjkyMDBjNzNlMDhhNmY0ZWU4OTE5YmUyMDRjZTkyOGJlODIwZSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdC9XZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0FQSS9Db2NvYS9XS1dlYlByb2Nlc3NQ
bHVnSW5Ob2RlSGFuZGxlLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9JbmplY3Rl
ZEJ1bmRsZS9BUEkvQ29jb2EvV0tXZWJQcm9jZXNzUGx1Z0luTm9kZUhhbmRsZS5tbQpAQCAtMzQs
MTAgKzM0LDggQEAKIAogI2lmIFdLX0FQSV9FTkFCTEVECiAKLXVzaW5nIG5hbWVzcGFjZSBXZWJL
aXQ7Ci0KIEBpbXBsZW1lbnRhdGlvbiBXS1dlYlByb2Nlc3NQbHVnSW5Ob2RlSGFuZGxlIHsKLSAg
ICBBUEk6Ok9iamVjdFN0b3JhZ2U8SW5qZWN0ZWRCdW5kbGVOb2RlSGFuZGxlPiBfbm9kZUhhbmRs
ZTsKKyAgICBBUEk6Ok9iamVjdFN0b3JhZ2U8V2ViS2l0OjpJbmplY3RlZEJ1bmRsZU5vZGVIYW5k
bGU+IF9ub2RlSGFuZGxlOwogfQogCiAtICh2b2lkKWRlYWxsb2MKQEAgLTUwLDEyICs0OCwxMiBA
QCArIChXS1dlYlByb2Nlc3NQbHVnSW5Ob2RlSGFuZGxlICopbm9kZUhhbmRsZVdpdGhKU1ZhbHVl
OihKU1ZhbHVlICopdmFsdWUgaW5Db250ZQogewogICAgIEpTQ29udGV4dFJlZiBjb250ZXh0UmVm
ID0gW2NvbnRleHQgSlNHbG9iYWxDb250ZXh0UmVmXTsKICAgICBKU09iamVjdFJlZiBvYmplY3RS
ZWYgPSBKU1ZhbHVlVG9PYmplY3QoY29udGV4dFJlZiwgW3ZhbHVlIEpTVmFsdWVSZWZdLCBudWxs
cHRyKTsKLSAgICByZXR1cm4gd3JhcHBlcihJbmplY3RlZEJ1bmRsZU5vZGVIYW5kbGU6OmdldE9y
Q3JlYXRlKGNvbnRleHRSZWYsIG9iamVjdFJlZikpOworICAgIHJldHVybiBXZWJLaXQ6OndyYXBw
ZXIoV2ViS2l0OjpJbmplY3RlZEJ1bmRsZU5vZGVIYW5kbGU6OmdldE9yQ3JlYXRlKGNvbnRleHRS
ZWYsIG9iamVjdFJlZikpOwogfQogCiAtIChXS1dlYlByb2Nlc3NQbHVnSW5GcmFtZSAqKWh0bWxJ
RnJhbWVFbGVtZW50Q29udGVudEZyYW1lCiB7Ci0gICAgcmV0dXJuIHdyYXBwZXIoX25vZGVIYW5k
bGUtPmh0bWxJRnJhbWVFbGVtZW50Q29udGVudEZyYW1lKCkpOworICAgIHJldHVybiBXZWJLaXQ6
OndyYXBwZXIoX25vZGVIYW5kbGUtPmh0bWxJRnJhbWVFbGVtZW50Q29udGVudEZyYW1lKCkpOwog
fQogCiAjaWYgUExBVEZPUk0oSU9TKQpAQCAtNzAsNyArNjgsNyBAQCAtIChVSUltYWdlICopcmVu
ZGVyZWRJbWFnZVdpdGhPcHRpb25zOihXS1NuYXBzaG90T3B0aW9ucylvcHRpb25zIHdpZHRoOihO
U051bWJlcgogICAgIGlmICh3aWR0aCkKICAgICAgICAgb3B0aW9uYWxXaWR0aCA9IHdpZHRoLmZs
b2F0VmFsdWU7CiAKLSAgICBSZWZQdHI8V2ViSW1hZ2U+IGltYWdlID0gX25vZGVIYW5kbGUtPnJl
bmRlcmVkSW1hZ2UodG9TbmFwc2hvdE9wdGlvbnMob3B0aW9ucyksIG9wdGlvbnMgJiBrV0tTbmFw
c2hvdE9wdGlvbnNFeGNsdWRlT3ZlcmZsb3csIG9wdGlvbmFsV2lkdGgpOworICAgIFJlZlB0cjxX
ZWJLaXQ6OldlYkltYWdlPiBpbWFnZSA9IF9ub2RlSGFuZGxlLT5yZW5kZXJlZEltYWdlKFdlYktp
dDo6dG9TbmFwc2hvdE9wdGlvbnMob3B0aW9ucyksIG9wdGlvbnMgJiBrV0tTbmFwc2hvdE9wdGlv
bnNFeGNsdWRlT3ZlcmZsb3csIG9wdGlvbmFsV2lkdGgpOwogICAgIGlmICghaW1hZ2UpCiAgICAg
ICAgIHJldHVybiBuaWw7CiAKQEAgLTkwLDcgKzg4LDcgQEAgLSAoTlNJbWFnZSAqKXJlbmRlcmVk
SW1hZ2VXaXRoT3B0aW9uczooV0tTbmFwc2hvdE9wdGlvbnMpb3B0aW9ucyB3aWR0aDooTlNOdW1i
ZXIKICAgICBpZiAod2lkdGgpCiAgICAgICAgIG9wdGlvbmFsV2lkdGggPSB3aWR0aC5mbG9hdFZh
bHVlOwogCi0gICAgUmVmUHRyPFdlYkltYWdlPiBpbWFnZSA9IF9ub2RlSGFuZGxlLT5yZW5kZXJl
ZEltYWdlKHRvU25hcHNob3RPcHRpb25zKG9wdGlvbnMpLCBvcHRpb25zICYga1dLU25hcHNob3RP
cHRpb25zRXhjbHVkZU92ZXJmbG93LCBvcHRpb25hbFdpZHRoKTsKKyAgICBSZWZQdHI8V2ViS2l0
OjpXZWJJbWFnZT4gaW1hZ2UgPSBfbm9kZUhhbmRsZS0+cmVuZGVyZWRJbWFnZShXZWJLaXQ6OnRv
U25hcHNob3RPcHRpb25zKG9wdGlvbnMpLCBvcHRpb25zICYga1dLU25hcHNob3RPcHRpb25zRXhj
bHVkZU92ZXJmbG93LCBvcHRpb25hbFdpZHRoKTsKICAgICBpZiAoIWltYWdlKQogICAgICAgICBy
ZXR1cm4gbmlsOwogCkBAIC0xODMsMTUgKzE4MSwxNSBAQCAtIChCT09MKWlzVGV4dEZpZWxkCiAK
IC0gKFdLV2ViUHJvY2Vzc1BsdWdJbk5vZGVIYW5kbGUgKilIVE1MVGFibGVDZWxsRWxlbWVudENl
bGxBYm92ZQogewotICAgIHJldHVybiB3cmFwcGVyKF9ub2RlSGFuZGxlLT5odG1sVGFibGVDZWxs
RWxlbWVudENlbGxBYm92ZSgpKTsKKyAgICByZXR1cm4gV2ViS2l0Ojp3cmFwcGVyKF9ub2RlSGFu
ZGxlLT5odG1sVGFibGVDZWxsRWxlbWVudENlbGxBYm92ZSgpKTsKIH0KIAogLSAoV0tXZWJQcm9j
ZXNzUGx1Z0luRnJhbWUgKilmcmFtZQogewotICAgIHJldHVybiB3cmFwcGVyKF9ub2RlSGFuZGxl
LT5kb2N1bWVudCgpLT5kb2N1bWVudEZyYW1lKCkpOworICAgIHJldHVybiBXZWJLaXQ6OndyYXBw
ZXIoX25vZGVIYW5kbGUtPmRvY3VtZW50KCktPmRvY3VtZW50RnJhbWUoKSk7CiB9CiAKLS0gKElu
amVjdGVkQnVuZGxlTm9kZUhhbmRsZSYpX25vZGVIYW5kbGUKKy0gKFdlYktpdDo6SW5qZWN0ZWRC
dW5kbGVOb2RlSGFuZGxlJilfbm9kZUhhbmRsZQogewogICAgIHJldHVybiAqX25vZGVIYW5kbGU7
CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUv
QVBJL0NvY29hL1dLV2ViUHJvY2Vzc1BsdWdJblBhZ2VHcm91cC5tbSBiL1NvdXJjZS9XZWJLaXQv
V2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9BUEkvQ29jb2EvV0tXZWJQcm9jZXNzUGx1Z0luUGFn
ZUdyb3VwLm1tCmluZGV4IDYzY2FkODgzOGQzYzUxZTdkNTA3YWVjNzk2MWIzODQzZTdiMGEzZTAu
LjAyMzliNjE2MGNlOWJjNTEyYWRkYWZlYzQyODgxZmQzYjRkZWEyM2YgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9BUEkvQ29jb2EvV0tXZWJQcm9j
ZXNzUGx1Z0luUGFnZUdyb3VwLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9Jbmpl
Y3RlZEJ1bmRsZS9BUEkvQ29jb2EvV0tXZWJQcm9jZXNzUGx1Z0luUGFnZUdyb3VwLm1tCkBAIC0z
NCwxMCArMzQsOCBAQAogI2ltcG9ydCAiV0tSZXRhaW5QdHIuaCIKICNpbXBvcnQgIldlYlBhZ2VH
cm91cFByb3h5LmgiCiAKLXVzaW5nIG5hbWVzcGFjZSBXZWJLaXQ7Ci0KIEBpbXBsZW1lbnRhdGlv
biBXS1dlYlByb2Nlc3NQbHVnSW5QYWdlR3JvdXAgewotICAgIEFQSTo6T2JqZWN0U3RvcmFnZTxX
ZWJQYWdlR3JvdXBQcm94eT4gX2J1bmRsZVBhZ2VHcm91cDsKKyAgICBBUEk6Ok9iamVjdFN0b3Jh
Z2U8V2ViS2l0OjpXZWJQYWdlR3JvdXBQcm94eT4gX2J1bmRsZVBhZ2VHcm91cDsKIH0KIAogLSAo
TlNTdHJpbmcgKilpZGVudGlmaWVyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nl
c3MvSW5qZWN0ZWRCdW5kbGUvQVBJL0NvY29hL1dLV2ViUHJvY2Vzc1BsdWdJblJhbmdlSGFuZGxl
Lm1tIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0FQSS9Db2NvYS9X
S1dlYlByb2Nlc3NQbHVnSW5SYW5nZUhhbmRsZS5tbQppbmRleCA0YThkZDM0MzU5NTIzZDczOWRh
MWY3OWU0OWM0NmI2NWUyNTk2YzVkLi5lMjE1M2Q1ZDI1MjZhYzc3NTEzYTNiMDdjZGNlNWZlOTY0
N2Y5ZjMzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5k
bGUvQVBJL0NvY29hL1dLV2ViUHJvY2Vzc1BsdWdJblJhbmdlSGFuZGxlLm1tCisrKyBiL1NvdXJj
ZS9XZWJLaXQvV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9BUEkvQ29jb2EvV0tXZWJQcm9jZXNz
UGx1Z0luUmFuZ2VIYW5kbGUubW0KQEAgLTM3LDEwICszNyw4IEBACiAjaW1wb3J0ICJXS0RhdGFE
ZXRlY3RvclR5cGVzSW50ZXJuYWwuaCIKICNlbmRpZgogCi11c2luZyBuYW1lc3BhY2UgV2ViS2l0
OwotCiBAaW1wbGVtZW50YXRpb24gV0tXZWJQcm9jZXNzUGx1Z0luUmFuZ2VIYW5kbGUgewotICAg
IEFQSTo6T2JqZWN0U3RvcmFnZTxJbmplY3RlZEJ1bmRsZVJhbmdlSGFuZGxlPiBfcmFuZ2VIYW5k
bGU7CisgICAgQVBJOjpPYmplY3RTdG9yYWdlPFdlYktpdDo6SW5qZWN0ZWRCdW5kbGVSYW5nZUhh
bmRsZT4gX3JhbmdlSGFuZGxlOwogfQogCiAtICh2b2lkKWRlYWxsb2MKQEAgLTUzLDcgKzUxLDcg
QEAgKyAoV0tXZWJQcm9jZXNzUGx1Z0luUmFuZ2VIYW5kbGUgKilyYW5nZUhhbmRsZVdpdGhKU1Zh
bHVlOihKU1ZhbHVlICopdmFsdWUgaW5Db24KIHsKICAgICBKU0NvbnRleHRSZWYgY29udGV4dFJl
ZiA9IFtjb250ZXh0IEpTR2xvYmFsQ29udGV4dFJlZl07CiAgICAgSlNPYmplY3RSZWYgb2JqZWN0
UmVmID0gSlNWYWx1ZVRvT2JqZWN0KGNvbnRleHRSZWYsIFt2YWx1ZSBKU1ZhbHVlUmVmXSwgbnVs
bHB0cik7Ci0gICAgcmV0dXJuIHdyYXBwZXIoSW5qZWN0ZWRCdW5kbGVSYW5nZUhhbmRsZTo6Z2V0
T3JDcmVhdGUoY29udGV4dFJlZiwgb2JqZWN0UmVmKSk7CisgICAgcmV0dXJuIHdyYXBwZXIoV2Vi
S2l0OjpJbmplY3RlZEJ1bmRsZVJhbmdlSGFuZGxlOjpnZXRPckNyZWF0ZShjb250ZXh0UmVmLCBv
YmplY3RSZWYpKTsKIH0KIAogLSAoV0tXZWJQcm9jZXNzUGx1Z0luRnJhbWUgKilmcmFtZQpAQCAt
NzgsNyArNzYsNyBAQCAtIChOU0FycmF5ICopZGV0ZWN0RGF0YVdpdGhUeXBlczooV0tEYXRhRGV0
ZWN0b3JUeXBlcyl0eXBlcyBjb250ZXh0OihOU0RpY3Rpb25hcgogfQogI2VuZGlmCiAKLS0gKElu
amVjdGVkQnVuZGxlUmFuZ2VIYW5kbGUmKV9yYW5nZUhhbmRsZQorLSAoV2ViS2l0OjpJbmplY3Rl
ZEJ1bmRsZVJhbmdlSGFuZGxlJilfcmFuZ2VIYW5kbGUKIHsKICAgICByZXR1cm4gKl9yYW5nZUhh
bmRsZTsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9JbmplY3RlZEJ1
bmRsZS9BUEkvQ29jb2EvV0tXZWJQcm9jZXNzUGx1Z0luU2NyaXB0V29ybGQubW0gYi9Tb3VyY2Uv
V2ViS2l0L1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvQVBJL0NvY29hL1dLV2ViUHJvY2Vzc1Bs
dWdJblNjcmlwdFdvcmxkLm1tCmluZGV4IGFlOGQ5MDYxZjQ0MzBiMmFmYzk4YTBhNzVhMzE1MWM3
MDYyOWRkN2QuLmUwNDJkZmUyZTNmMDk2YjdlY2Q0YTE2YWRmOGVjOTJlMzRiNzI3YmUgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9BUEkvQ29jb2Ev
V0tXZWJQcm9jZXNzUGx1Z0luU2NyaXB0V29ybGQubW0KKysrIGIvU291cmNlL1dlYktpdC9XZWJQ
cm9jZXNzL0luamVjdGVkQnVuZGxlL0FQSS9Db2NvYS9XS1dlYlByb2Nlc3NQbHVnSW5TY3JpcHRX
b3JsZC5tbQpAQCAtMjgsMjAgKzI4LDE4IEBACiAKICNpZiBXS19BUElfRU5BQkxFRAogCi11c2lu
ZyBuYW1lc3BhY2UgV2ViS2l0OwotCiBAaW1wbGVtZW50YXRpb24gV0tXZWJQcm9jZXNzUGx1Z0lu
U2NyaXB0V29ybGQgewotICAgIEFQSTo6T2JqZWN0U3RvcmFnZTxJbmplY3RlZEJ1bmRsZVNjcmlw
dFdvcmxkPiBfd29ybGQ7CisgICAgQVBJOjpPYmplY3RTdG9yYWdlPFdlYktpdDo6SW5qZWN0ZWRC
dW5kbGVTY3JpcHRXb3JsZD4gX3dvcmxkOwogfQogCiArIChXS1dlYlByb2Nlc3NQbHVnSW5TY3Jp
cHRXb3JsZCAqKXdvcmxkCiB7Ci0gICAgcmV0dXJuIHdyYXBwZXIoSW5qZWN0ZWRCdW5kbGVTY3Jp
cHRXb3JsZDo6Y3JlYXRlKCkpOworICAgIHJldHVybiBXZWJLaXQ6OndyYXBwZXIoV2ViS2l0OjpJ
bmplY3RlZEJ1bmRsZVNjcmlwdFdvcmxkOjpjcmVhdGUoKSk7CiB9CiAKICsgKFdLV2ViUHJvY2Vz
c1BsdWdJblNjcmlwdFdvcmxkICopbm9ybWFsV29ybGQKIHsKLSAgICByZXR1cm4gd3JhcHBlcihJ
bmplY3RlZEJ1bmRsZVNjcmlwdFdvcmxkOjpub3JtYWxXb3JsZCgpKTsKKyAgICByZXR1cm4gV2Vi
S2l0Ojp3cmFwcGVyKFdlYktpdDo6SW5qZWN0ZWRCdW5kbGVTY3JpcHRXb3JsZDo6bm9ybWFsV29y
bGQoKSk7CiB9CiAKIC0gKHZvaWQpZGVhbGxvYwpAQCAtNzAsNyArNjgsNyBAQCAtIChOU1N0cmlu
ZyAqKW5hbWUKICAgICByZXR1cm4gX3dvcmxkLT5uYW1lKCk7CiB9CiAKLS0gKEluamVjdGVkQnVu
ZGxlU2NyaXB0V29ybGQmKV9zY3JpcHRXb3JsZAorLSAoV2ViS2l0OjpJbmplY3RlZEJ1bmRsZVNj
cmlwdFdvcmxkJilfc2NyaXB0V29ybGQKIHsKICAgICByZXR1cm4gKl93b3JsZDsKIH0KZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9BUEkvbWFjL1dL
V2ViUHJvY2Vzc1BsdWdJbi5tbSBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9JbmplY3RlZEJ1
bmRsZS9BUEkvbWFjL1dLV2ViUHJvY2Vzc1BsdWdJbi5tbQppbmRleCA0MDU3MzQ5YzM3YTBhNjAy
ODBmNTY1MDkwYmQ5ZTE5ZTdkMDRhZmFmLi45MWQ2Yjk2NWUxMDNkY2FhYWYzM2ZjZWU3ZDhhOTVi
NTM4NDViMTkyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvSW5qZWN0ZWRC
dW5kbGUvQVBJL21hYy9XS1dlYlByb2Nlc3NQbHVnSW4ubW0KKysrIGIvU291cmNlL1dlYktpdC9X
ZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0FQSS9tYWMvV0tXZWJQcm9jZXNzUGx1Z0luLm1tCkBA
IC0zNywxMCArMzcsOCBAQAogI2ltcG9ydCAiV0tXZWJQcm9jZXNzUGx1Z0luQnJvd3NlckNvbnRl
eHRDb250cm9sbGVySW50ZXJuYWwuaCIKICNpbXBvcnQgPHd0Zi9SZXRhaW5QdHIuaD4KIAotdXNp
bmcgbmFtZXNwYWNlIFdlYktpdDsKLQogQGludGVyZmFjZSBXS1dlYlByb2Nlc3NQbHVnSW5Db250
cm9sbGVyICgpIHsKLSAgICBBUEk6Ok9iamVjdFN0b3JhZ2U8SW5qZWN0ZWRCdW5kbGU+IF9idW5k
bGU7CisgICAgQVBJOjpPYmplY3RTdG9yYWdlPFdlYktpdDo6SW5qZWN0ZWRCdW5kbGU+IF9idW5k
bGU7CiAgICAgUmV0YWluUHRyPGlkIDxXS1dlYlByb2Nlc3NQbHVnSW4+PiBfcHJpbmNpcGFsQ2xh
c3NJbnN0YW5jZTsKIH0KIEBlbmQKQEAgLTYwLDcgKzU4LDcgQEAgc3RhdGljIHZvaWQgZGlkQ3Jl
YXRlUGFnZShXS0J1bmRsZVJlZiBidW5kbGUsIFdLQnVuZGxlUGFnZVJlZiBwYWdlLCBjb25zdCB2
b2lkKgogICAgIGlkIDxXS1dlYlByb2Nlc3NQbHVnSW4+IHByaW5jaXBhbENsYXNzSW5zdGFuY2Ug
PSBwbHVnSW5Db250cm9sbGVyLT5fcHJpbmNpcGFsQ2xhc3NJbnN0YW5jZS5nZXQoKTsKIAogICAg
IGlmIChbcHJpbmNpcGFsQ2xhc3NJbnN0YW5jZSByZXNwb25kc1RvU2VsZWN0b3I6QHNlbGVjdG9y
KHdlYlByb2Nlc3NQbHVnSW46ZGlkQ3JlYXRlQnJvd3NlckNvbnRleHRDb250cm9sbGVyOildKQot
ICAgICAgICBbcHJpbmNpcGFsQ2xhc3NJbnN0YW5jZSB3ZWJQcm9jZXNzUGx1Z0luOnBsdWdJbkNv
bnRyb2xsZXIgZGlkQ3JlYXRlQnJvd3NlckNvbnRleHRDb250cm9sbGVyOndyYXBwZXIoKnRvSW1w
bChwYWdlKSldOworICAgICAgICBbcHJpbmNpcGFsQ2xhc3NJbnN0YW5jZSB3ZWJQcm9jZXNzUGx1
Z0luOnBsdWdJbkNvbnRyb2xsZXIgZGlkQ3JlYXRlQnJvd3NlckNvbnRleHRDb250cm9sbGVyOndy
YXBwZXIoKldlYktpdDo6dG9JbXBsKHBhZ2UpKV07CiB9CiAKIHN0YXRpYyB2b2lkIHdpbGxEZXN0
cm95UGFnZShXS0J1bmRsZVJlZiBidW5kbGUsIFdLQnVuZGxlUGFnZVJlZiBwYWdlLCBjb25zdCB2
b2lkKiBjbGllbnRJbmZvKQpAQCAtNjksMTAgKzY3LDEwIEBAIHN0YXRpYyB2b2lkIHdpbGxEZXN0
cm95UGFnZShXS0J1bmRsZVJlZiBidW5kbGUsIFdLQnVuZGxlUGFnZVJlZiBwYWdlLCBjb25zdCB2
b2lkCiAgICAgaWQgPFdLV2ViUHJvY2Vzc1BsdWdJbj4gcHJpbmNpcGFsQ2xhc3NJbnN0YW5jZSA9
IHBsdWdJbkNvbnRyb2xsZXItPl9wcmluY2lwYWxDbGFzc0luc3RhbmNlLmdldCgpOwogCiAgICAg
aWYgKFtwcmluY2lwYWxDbGFzc0luc3RhbmNlIHJlc3BvbmRzVG9TZWxlY3RvcjpAc2VsZWN0b3Io
d2ViUHJvY2Vzc1BsdWdJbjp3aWxsRGVzdHJveUJyb3dzZXJDb250ZXh0Q29udHJvbGxlcjopXSkK
LSAgICAgICAgW3ByaW5jaXBhbENsYXNzSW5zdGFuY2Ugd2ViUHJvY2Vzc1BsdWdJbjpwbHVnSW5D
b250cm9sbGVyIHdpbGxEZXN0cm95QnJvd3NlckNvbnRleHRDb250cm9sbGVyOndyYXBwZXIoKnRv
SW1wbChwYWdlKSldOworICAgICAgICBbcHJpbmNpcGFsQ2xhc3NJbnN0YW5jZSB3ZWJQcm9jZXNz
UGx1Z0luOnBsdWdJbkNvbnRyb2xsZXIgd2lsbERlc3Ryb3lCcm93c2VyQ29udGV4dENvbnRyb2xs
ZXI6d3JhcHBlcigqV2ViS2l0Ojp0b0ltcGwocGFnZSkpXTsKIH0KIAotc3RhdGljIHZvaWQgc2V0
VXBCdW5kbGVDbGllbnQoV0tXZWJQcm9jZXNzUGx1Z0luQ29udHJvbGxlciAqcGx1Z0luQ29udHJv
bGxlciwgSW5qZWN0ZWRCdW5kbGUmIGJ1bmRsZSkKK3N0YXRpYyB2b2lkIHNldFVwQnVuZGxlQ2xp
ZW50KFdLV2ViUHJvY2Vzc1BsdWdJbkNvbnRyb2xsZXIgKnBsdWdJbkNvbnRyb2xsZXIsIFdlYktp
dDo6SW5qZWN0ZWRCdW5kbGUmIGJ1bmRsZSkKIHsKICAgICBXS0J1bmRsZUNsaWVudFYxIGJ1bmRs
ZUNsaWVudDsKICAgICBtZW1zZXQoJmJ1bmRsZUNsaWVudCwgMCwgc2l6ZW9mKGJ1bmRsZUNsaWVu
dCkpOwpAQCAtMTExLDcgKzEwOSw3IEBAIHN0YXRpYyBSZWY8QVBJOjpBcnJheT4gY3JlYXRlV0tB
cnJheShOU0FycmF5ICphcnJheSkKICAgICAKICAgICBmb3IgKGlkIGVudHJ5IGluIGFycmF5KSB7
CiAgICAgICAgIGlmIChbZW50cnkgaXNLaW5kT2ZDbGFzczpbTlNTdHJpbmcgY2xhc3NdXSkKLSAg
ICAgICAgICAgIHN0cmluZ3MudW5jaGVja2VkQXBwZW5kKGFkb3B0UmVmKHRvSW1wbChXS1N0cmlu
Z0NyZWF0ZVdpdGhDRlN0cmluZygoX19icmlkZ2UgQ0ZTdHJpbmdSZWYpZW50cnkpKSkpOworICAg
ICAgICAgICAgc3RyaW5ncy51bmNoZWNrZWRBcHBlbmQoYWRvcHRSZWYoV2ViS2l0Ojp0b0ltcGwo
V0tTdHJpbmdDcmVhdGVXaXRoQ0ZTdHJpbmcoKF9fYnJpZGdlIENGU3RyaW5nUmVmKWVudHJ5KSkp
KTsKICAgICB9CiAgICAgCiAgICAgcmV0dXJuIEFQSTo6QXJyYXk6OmNyZWF0ZShXVEZNb3ZlKHN0
cmluZ3MpKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9JbmplY3RlZEJ1
bmRsZS9BUEkvbWFjL1dLV2ViUHJvY2Vzc1BsdWdJbkJyb3dzZXJDb250ZXh0Q29udHJvbGxlci5t
bSBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9BUEkvbWFjL1dLV2Vi
UHJvY2Vzc1BsdWdJbkJyb3dzZXJDb250ZXh0Q29udHJvbGxlci5tbQppbmRleCAyOGRjMDY2OWRm
NWRkMjBlMGJjMWUwNjY3ZWNlOWY3ZTUzOTRjNDkyLi5iYzdhMjRhYzkxMTVkYjNiZGRlMTMxZmVl
NDM1N2NiNWYxMTBkMGY1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvSW5q
ZWN0ZWRCdW5kbGUvQVBJL21hYy9XS1dlYlByb2Nlc3NQbHVnSW5Ccm93c2VyQ29udGV4dENvbnRy
b2xsZXIubW0KKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0FQ
SS9tYWMvV0tXZWJQcm9jZXNzUGx1Z0luQnJvd3NlckNvbnRleHRDb250cm9sbGVyLm1tCkBAIC02
NiwxNSArNjYsMTIgQEAKICNpbXBvcnQgPHBhbC9zcGkvY29jb2EvTlNLZXllZEFyY2hpdmVyU1BJ
Lmg+CiAjaW1wb3J0IDx3dGYvV2Vha09iakNQdHIuaD4KIAotdXNpbmcgbmFtZXNwYWNlIFdlYkNv
cmU7Ci11c2luZyBuYW1lc3BhY2UgV2ViS2l0OwotCiBAaW50ZXJmYWNlIE5TT2JqZWN0IChXS0Rl
cHJlY2F0ZWREZWxlZ2F0ZU1ldGhvZHMpCiAtICh2b2lkKXdlYlByb2Nlc3NQbHVnSW5Ccm93c2Vy
Q29udGV4dENvbnRyb2xsZXI6KFdLV2ViUHJvY2Vzc1BsdWdJbkJyb3dzZXJDb250ZXh0Q29udHJv
bGxlciAqKWNvbnRyb2xsZXIgZGlkU2FtZURvY3VtZW50TmF2aWdhdGlvbkZvckZyYW1lOihXS1dl
YlByb2Nlc3NQbHVnSW5GcmFtZSAqKWZyYW1lOwogQGVuZAogCiBAaW1wbGVtZW50YXRpb24gV0tX
ZWJQcm9jZXNzUGx1Z0luQnJvd3NlckNvbnRleHRDb250cm9sbGVyIHsKLSAgICBBUEk6Ok9iamVj
dFN0b3JhZ2U8V2ViUGFnZT4gX3BhZ2U7CisgICAgQVBJOjpPYmplY3RTdG9yYWdlPFdlYktpdDo6
V2ViUGFnZT4gX3BhZ2U7CiAgICAgV2Vha09iakNQdHI8aWQgPFdLV2ViUHJvY2Vzc1BsdWdJbkxv
YWREZWxlZ2F0ZT4+IF9sb2FkRGVsZWdhdGU7CiAgICAgV2Vha09iakNQdHI8aWQgPFdLV2ViUHJv
Y2Vzc1BsdWdJbkZvcm1EZWxlZ2F0ZVByaXZhdGU+PiBfZm9ybURlbGVnYXRlOwogICAgIFdlYWtP
YmpDUHRyPGlkIDxXS1dlYlByb2Nlc3NQbHVnSW5FZGl0aW5nRGVsZWdhdGU+PiBfZWRpdGluZ0Rl
bGVnYXRlOwpAQCAtODgsNyArODUsNyBAQCBzdGF0aWMgdm9pZCBkaWRTdGFydFByb3Zpc2lvbmFs
TG9hZEZvckZyYW1lKFdLQnVuZGxlUGFnZVJlZiBwYWdlLCBXS0J1bmRsZUZyYW1lUgogICAgIGF1
dG8gbG9hZERlbGVnYXRlID0gcGx1Z2luQ29udGV4dENvbnRyb2xsZXItPl9sb2FkRGVsZWdhdGUu
Z2V0KCk7CiAKICAgICBpZiAoW2xvYWREZWxlZ2F0ZSByZXNwb25kc1RvU2VsZWN0b3I6QHNlbGVj
dG9yKHdlYlByb2Nlc3NQbHVnSW5Ccm93c2VyQ29udGV4dENvbnRyb2xsZXI6ZGlkU3RhcnRQcm92
aXNpb25hbExvYWRGb3JGcmFtZTopXSkKLSAgICAgICAgW2xvYWREZWxlZ2F0ZSB3ZWJQcm9jZXNz
UGx1Z0luQnJvd3NlckNvbnRleHRDb250cm9sbGVyOnBsdWdpbkNvbnRleHRDb250cm9sbGVyIGRp
ZFN0YXJ0UHJvdmlzaW9uYWxMb2FkRm9yRnJhbWU6d3JhcHBlcigqdG9JbXBsKGZyYW1lKSldOwor
ICAgICAgICBbbG9hZERlbGVnYXRlIHdlYlByb2Nlc3NQbHVnSW5Ccm93c2VyQ29udGV4dENvbnRy
b2xsZXI6cGx1Z2luQ29udGV4dENvbnRyb2xsZXIgZGlkU3RhcnRQcm92aXNpb25hbExvYWRGb3JG
cmFtZTp3cmFwcGVyKCpXZWJLaXQ6OnRvSW1wbChmcmFtZSkpXTsKIH0KIAogc3RhdGljIHZvaWQg
ZGlkUmVjZWl2ZVNlcnZlclJlZGlyZWN0Rm9yUHJvdmlzaW9uYWxMb2FkRm9yRnJhbWUoV0tCdW5k
bGVQYWdlUmVmIHBhZ2UsIFdLQnVuZGxlRnJhbWVSZWYgZnJhbWUsIFdLVHlwZVJlZiAqdXNlckRh
dGFSZWYsIGNvbnN0IHZvaWQgKmNsaWVudEluZm8pCkBAIC05Nyw3ICs5NCw3IEBAIHN0YXRpYyB2
b2lkIGRpZFJlY2VpdmVTZXJ2ZXJSZWRpcmVjdEZvclByb3Zpc2lvbmFsTG9hZEZvckZyYW1lKFdL
QnVuZGxlUGFnZVJlZiBwCiAgICAgYXV0byBsb2FkRGVsZWdhdGUgPSBwbHVnaW5Db250ZXh0Q29u
dHJvbGxlci0+X2xvYWREZWxlZ2F0ZS5nZXQoKTsKIAogICAgIGlmIChbbG9hZERlbGVnYXRlIHJl
c3BvbmRzVG9TZWxlY3RvcjpAc2VsZWN0b3Iod2ViUHJvY2Vzc1BsdWdJbkJyb3dzZXJDb250ZXh0
Q29udHJvbGxlcjpkaWRSZWNlaXZlU2VydmVyUmVkaXJlY3RGb3JQcm92aXNpb25hbExvYWRGb3JG
cmFtZTopXSkKLSAgICAgICAgW2xvYWREZWxlZ2F0ZSB3ZWJQcm9jZXNzUGx1Z0luQnJvd3NlckNv
bnRleHRDb250cm9sbGVyOnBsdWdpbkNvbnRleHRDb250cm9sbGVyIGRpZFJlY2VpdmVTZXJ2ZXJS
ZWRpcmVjdEZvclByb3Zpc2lvbmFsTG9hZEZvckZyYW1lOndyYXBwZXIoKnRvSW1wbChmcmFtZSkp
XTsKKyAgICAgICAgW2xvYWREZWxlZ2F0ZSB3ZWJQcm9jZXNzUGx1Z0luQnJvd3NlckNvbnRleHRD
b250cm9sbGVyOnBsdWdpbkNvbnRleHRDb250cm9sbGVyIGRpZFJlY2VpdmVTZXJ2ZXJSZWRpcmVj
dEZvclByb3Zpc2lvbmFsTG9hZEZvckZyYW1lOndyYXBwZXIoKldlYktpdDo6dG9JbXBsKGZyYW1l
KSldOwogfQogCiBzdGF0aWMgdm9pZCBkaWRGaW5pc2hMb2FkRm9yRnJhbWUoV0tCdW5kbGVQYWdl
UmVmIHBhZ2UsIFdLQnVuZGxlRnJhbWVSZWYgZnJhbWUsIFdLVHlwZVJlZiogdXNlckRhdGEsIGNv
bnN0IHZvaWQgKmNsaWVudEluZm8pCkBAIC0xMDYsNyArMTAzLDcgQEAgc3RhdGljIHZvaWQgZGlk
RmluaXNoTG9hZEZvckZyYW1lKFdLQnVuZGxlUGFnZVJlZiBwYWdlLCBXS0J1bmRsZUZyYW1lUmVm
IGZyYW1lLAogICAgIGF1dG8gbG9hZERlbGVnYXRlID0gcGx1Z2luQ29udGV4dENvbnRyb2xsZXIt
Pl9sb2FkRGVsZWdhdGUuZ2V0KCk7CiAKICAgICBpZiAoW2xvYWREZWxlZ2F0ZSByZXNwb25kc1Rv
U2VsZWN0b3I6QHNlbGVjdG9yKHdlYlByb2Nlc3NQbHVnSW5Ccm93c2VyQ29udGV4dENvbnRyb2xs
ZXI6ZGlkRmluaXNoTG9hZEZvckZyYW1lOildKQotICAgICAgICBbbG9hZERlbGVnYXRlIHdlYlBy
b2Nlc3NQbHVnSW5Ccm93c2VyQ29udGV4dENvbnRyb2xsZXI6cGx1Z2luQ29udGV4dENvbnRyb2xs
ZXIgZGlkRmluaXNoTG9hZEZvckZyYW1lOndyYXBwZXIoKnRvSW1wbChmcmFtZSkpXTsKKyAgICAg
ICAgW2xvYWREZWxlZ2F0ZSB3ZWJQcm9jZXNzUGx1Z0luQnJvd3NlckNvbnRleHRDb250cm9sbGVy
OnBsdWdpbkNvbnRleHRDb250cm9sbGVyIGRpZEZpbmlzaExvYWRGb3JGcmFtZTp3cmFwcGVyKCpX
ZWJLaXQ6OnRvSW1wbChmcmFtZSkpXTsKIH0KIAogc3RhdGljIHZvaWQgZ2xvYmFsT2JqZWN0SXNB
dmFpbGFibGVGb3JGcmFtZShXS0J1bmRsZVBhZ2VSZWYgcGFnZSwgV0tCdW5kbGVGcmFtZVJlZiBm
cmFtZSwgV0tCdW5kbGVTY3JpcHRXb3JsZFJlZiBzY3JpcHRXb3JsZCwgY29uc3Qgdm9pZCogY2xp
ZW50SW5mbykKQEAgLTExNSw3ICsxMTIsNyBAQCBzdGF0aWMgdm9pZCBnbG9iYWxPYmplY3RJc0F2
YWlsYWJsZUZvckZyYW1lKFdLQnVuZGxlUGFnZVJlZiBwYWdlLCBXS0J1bmRsZUZyYW1lUgogICAg
IGF1dG8gbG9hZERlbGVnYXRlID0gcGx1Z2luQ29udGV4dENvbnRyb2xsZXItPl9sb2FkRGVsZWdh
dGUuZ2V0KCk7CiAKICAgICBpZiAoW2xvYWREZWxlZ2F0ZSByZXNwb25kc1RvU2VsZWN0b3I6QHNl
bGVjdG9yKHdlYlByb2Nlc3NQbHVnSW5Ccm93c2VyQ29udGV4dENvbnRyb2xsZXI6Z2xvYmFsT2Jq
ZWN0SXNBdmFpbGFibGVGb3JGcmFtZTppblNjcmlwdFdvcmxkOildKQotICAgICAgICBbbG9hZERl
bGVnYXRlIHdlYlByb2Nlc3NQbHVnSW5Ccm93c2VyQ29udGV4dENvbnRyb2xsZXI6cGx1Z2luQ29u
dGV4dENvbnRyb2xsZXIgZ2xvYmFsT2JqZWN0SXNBdmFpbGFibGVGb3JGcmFtZTp3cmFwcGVyKCp0
b0ltcGwoZnJhbWUpKSBpblNjcmlwdFdvcmxkOndyYXBwZXIoKnRvSW1wbChzY3JpcHRXb3JsZCkp
XTsKKyAgICAgICAgW2xvYWREZWxlZ2F0ZSB3ZWJQcm9jZXNzUGx1Z0luQnJvd3NlckNvbnRleHRD
b250cm9sbGVyOnBsdWdpbkNvbnRleHRDb250cm9sbGVyIGdsb2JhbE9iamVjdElzQXZhaWxhYmxl
Rm9yRnJhbWU6d3JhcHBlcigqV2ViS2l0Ojp0b0ltcGwoZnJhbWUpKSBpblNjcmlwdFdvcmxkOndy
YXBwZXIoKldlYktpdDo6dG9JbXBsKHNjcmlwdFdvcmxkKSldOwogfQogCiBzdGF0aWMgdm9pZCBk
aWRSZW1vdmVGcmFtZUZyb21IaWVyYXJjaHkoV0tCdW5kbGVQYWdlUmVmIHBhZ2UsIFdLQnVuZGxl
RnJhbWVSZWYgZnJhbWUsIFdLVHlwZVJlZiogdXNlckRhdGEsIGNvbnN0IHZvaWQqIGNsaWVudElu
Zm8pCkBAIC0xMjQsNyArMTIxLDcgQEAgc3RhdGljIHZvaWQgZGlkUmVtb3ZlRnJhbWVGcm9tSGll
cmFyY2h5KFdLQnVuZGxlUGFnZVJlZiBwYWdlLCBXS0J1bmRsZUZyYW1lUmVmIGYKICAgICBhdXRv
IGxvYWREZWxlZ2F0ZSA9IHBsdWdpbkNvbnRleHRDb250cm9sbGVyLT5fbG9hZERlbGVnYXRlLmdl
dCgpOwogCiAgICAgaWYgKFtsb2FkRGVsZWdhdGUgcmVzcG9uZHNUb1NlbGVjdG9yOkBzZWxlY3Rv
cih3ZWJQcm9jZXNzUGx1Z0luQnJvd3NlckNvbnRleHRDb250cm9sbGVyOmRpZFJlbW92ZUZyYW1l
RnJvbUhpZXJhcmNoeTopXSkKLSAgICAgICAgW2xvYWREZWxlZ2F0ZSB3ZWJQcm9jZXNzUGx1Z0lu
QnJvd3NlckNvbnRleHRDb250cm9sbGVyOnBsdWdpbkNvbnRleHRDb250cm9sbGVyIGRpZFJlbW92
ZUZyYW1lRnJvbUhpZXJhcmNoeTp3cmFwcGVyKCp0b0ltcGwoZnJhbWUpKV07CisgICAgICAgIFts
b2FkRGVsZWdhdGUgd2ViUHJvY2Vzc1BsdWdJbkJyb3dzZXJDb250ZXh0Q29udHJvbGxlcjpwbHVn
aW5Db250ZXh0Q29udHJvbGxlciBkaWRSZW1vdmVGcmFtZUZyb21IaWVyYXJjaHk6d3JhcHBlcigq
V2ViS2l0Ojp0b0ltcGwoZnJhbWUpKV07CiB9CiAKIHN0YXRpYyB2b2lkIGRpZENvbW1pdExvYWRG
b3JGcmFtZShXS0J1bmRsZVBhZ2VSZWYgcGFnZSwgV0tCdW5kbGVGcmFtZVJlZiBmcmFtZSwgV0tU
eXBlUmVmKiB1c2VyRGF0YSwgY29uc3Qgdm9pZCAqY2xpZW50SW5mbykKQEAgLTEzMyw3ICsxMzAs
NyBAQCBzdGF0aWMgdm9pZCBkaWRDb21taXRMb2FkRm9yRnJhbWUoV0tCdW5kbGVQYWdlUmVmIHBh
Z2UsIFdLQnVuZGxlRnJhbWVSZWYgZnJhbWUsCiAgICAgYXV0byBsb2FkRGVsZWdhdGUgPSBwbHVn
aW5Db250ZXh0Q29udHJvbGxlci0+X2xvYWREZWxlZ2F0ZS5nZXQoKTsKIAogICAgIGlmIChbbG9h
ZERlbGVnYXRlIHJlc3BvbmRzVG9TZWxlY3RvcjpAc2VsZWN0b3Iod2ViUHJvY2Vzc1BsdWdJbkJy
b3dzZXJDb250ZXh0Q29udHJvbGxlcjpkaWRDb21taXRMb2FkRm9yRnJhbWU6KV0pCi0gICAgICAg
IFtsb2FkRGVsZWdhdGUgd2ViUHJvY2Vzc1BsdWdJbkJyb3dzZXJDb250ZXh0Q29udHJvbGxlcjpw
bHVnaW5Db250ZXh0Q29udHJvbGxlciBkaWRDb21taXRMb2FkRm9yRnJhbWU6d3JhcHBlcigqdG9J
bXBsKGZyYW1lKSldOworICAgICAgICBbbG9hZERlbGVnYXRlIHdlYlByb2Nlc3NQbHVnSW5Ccm93
c2VyQ29udGV4dENvbnRyb2xsZXI6cGx1Z2luQ29udGV4dENvbnRyb2xsZXIgZGlkQ29tbWl0TG9h
ZEZvckZyYW1lOndyYXBwZXIoKldlYktpdDo6dG9JbXBsKGZyYW1lKSldOwogfQogCiBzdGF0aWMg
dm9pZCBkaWRGaW5pc2hEb2N1bWVudExvYWRGb3JGcmFtZShXS0J1bmRsZVBhZ2VSZWYgcGFnZSwg
V0tCdW5kbGVGcmFtZVJlZiBmcmFtZSwgV0tUeXBlUmVmKiB1c2VyRGF0YSwgY29uc3Qgdm9pZCAq
Y2xpZW50SW5mbykKQEAgLTE0Miw3ICsxMzksNyBAQCBzdGF0aWMgdm9pZCBkaWRGaW5pc2hEb2N1
bWVudExvYWRGb3JGcmFtZShXS0J1bmRsZVBhZ2VSZWYgcGFnZSwgV0tCdW5kbGVGcmFtZVJlZgog
ICAgIGF1dG8gbG9hZERlbGVnYXRlID0gcGx1Z2luQ29udGV4dENvbnRyb2xsZXItPl9sb2FkRGVs
ZWdhdGUuZ2V0KCk7CiAKICAgICBpZiAoW2xvYWREZWxlZ2F0ZSByZXNwb25kc1RvU2VsZWN0b3I6
QHNlbGVjdG9yKHdlYlByb2Nlc3NQbHVnSW5Ccm93c2VyQ29udGV4dENvbnRyb2xsZXI6ZGlkRmlu
aXNoRG9jdW1lbnRMb2FkRm9yRnJhbWU6KV0pCi0gICAgICAgIFtsb2FkRGVsZWdhdGUgd2ViUHJv
Y2Vzc1BsdWdJbkJyb3dzZXJDb250ZXh0Q29udHJvbGxlcjpwbHVnaW5Db250ZXh0Q29udHJvbGxl
ciBkaWRGaW5pc2hEb2N1bWVudExvYWRGb3JGcmFtZTp3cmFwcGVyKCp0b0ltcGwoZnJhbWUpKV07
CisgICAgICAgIFtsb2FkRGVsZWdhdGUgd2ViUHJvY2Vzc1BsdWdJbkJyb3dzZXJDb250ZXh0Q29u
dHJvbGxlcjpwbHVnaW5Db250ZXh0Q29udHJvbGxlciBkaWRGaW5pc2hEb2N1bWVudExvYWRGb3JG
cmFtZTp3cmFwcGVyKCpXZWJLaXQ6OnRvSW1wbChmcmFtZSkpXTsKIH0KIAogc3RhdGljIHZvaWQg
ZGlkRmFpbFByb3Zpc2lvbmFsTG9hZFdpdGhFcnJvckZvckZyYW1lKFdLQnVuZGxlUGFnZVJlZiBw
YWdlLCBXS0J1bmRsZUZyYW1lUmVmIGZyYW1lLCBXS0Vycm9yUmVmIHdrRXJyb3IsIFdLVHlwZVJl
ZiogdXNlckRhdGEsIGNvbnN0IHZvaWQgKmNsaWVudEluZm8pCkBAIC0xNTEsNyArMTQ4LDcgQEAg
c3RhdGljIHZvaWQgZGlkRmFpbFByb3Zpc2lvbmFsTG9hZFdpdGhFcnJvckZvckZyYW1lKFdLQnVu
ZGxlUGFnZVJlZiBwYWdlLCBXS0J1bmQKICAgICBhdXRvIGxvYWREZWxlZ2F0ZSA9IHBsdWdpbkNv
bnRleHRDb250cm9sbGVyLT5fbG9hZERlbGVnYXRlLmdldCgpOwogCiAgICAgaWYgKFtsb2FkRGVs
ZWdhdGUgcmVzcG9uZHNUb1NlbGVjdG9yOkBzZWxlY3Rvcih3ZWJQcm9jZXNzUGx1Z0luQnJvd3Nl
ckNvbnRleHRDb250cm9sbGVyOmRpZEZhaWxQcm92aXNpb25hbExvYWRXaXRoRXJyb3JGb3JGcmFt
ZTplcnJvcjopXSkKLSAgICAgICAgW2xvYWREZWxlZ2F0ZSB3ZWJQcm9jZXNzUGx1Z0luQnJvd3Nl
ckNvbnRleHRDb250cm9sbGVyOnBsdWdpbkNvbnRleHRDb250cm9sbGVyIGRpZEZhaWxQcm92aXNp
b25hbExvYWRXaXRoRXJyb3JGb3JGcmFtZTp3cmFwcGVyKCp0b0ltcGwoZnJhbWUpKSBlcnJvcjp3
cmFwcGVyKCp0b0ltcGwod2tFcnJvcikpXTsKKyAgICAgICAgW2xvYWREZWxlZ2F0ZSB3ZWJQcm9j
ZXNzUGx1Z0luQnJvd3NlckNvbnRleHRDb250cm9sbGVyOnBsdWdpbkNvbnRleHRDb250cm9sbGVy
IGRpZEZhaWxQcm92aXNpb25hbExvYWRXaXRoRXJyb3JGb3JGcmFtZTp3cmFwcGVyKCpXZWJLaXQ6
OnRvSW1wbChmcmFtZSkpIGVycm9yOndyYXBwZXIoKldlYktpdDo6dG9JbXBsKHdrRXJyb3IpKV07
CiB9CiAKIHN0YXRpYyB2b2lkIGRpZEZhaWxMb2FkV2l0aEVycm9yRm9yRnJhbWUoV0tCdW5kbGVQ
YWdlUmVmIHBhZ2UsIFdLQnVuZGxlRnJhbWVSZWYgZnJhbWUsIFdLRXJyb3JSZWYgd2tFcnJvciwg
V0tUeXBlUmVmKiB1c2VyRGF0YSwgY29uc3Qgdm9pZCAqY2xpZW50SW5mbykKQEAgLTE2MCw3ICsx
NTcsNyBAQCBzdGF0aWMgdm9pZCBkaWRGYWlsTG9hZFdpdGhFcnJvckZvckZyYW1lKFdLQnVuZGxl
UGFnZVJlZiBwYWdlLCBXS0J1bmRsZUZyYW1lUmVmCiAgICAgYXV0byBsb2FkRGVsZWdhdGUgPSBw
bHVnaW5Db250ZXh0Q29udHJvbGxlci0+X2xvYWREZWxlZ2F0ZS5nZXQoKTsKIAogICAgIGlmIChb
bG9hZERlbGVnYXRlIHJlc3BvbmRzVG9TZWxlY3RvcjpAc2VsZWN0b3Iod2ViUHJvY2Vzc1BsdWdJ
bkJyb3dzZXJDb250ZXh0Q29udHJvbGxlcjpkaWRGYWlsTG9hZFdpdGhFcnJvckZvckZyYW1lOmVy
cm9yOildKQotICAgICAgICBbbG9hZERlbGVnYXRlIHdlYlByb2Nlc3NQbHVnSW5Ccm93c2VyQ29u
dGV4dENvbnRyb2xsZXI6cGx1Z2luQ29udGV4dENvbnRyb2xsZXIgZGlkRmFpbExvYWRXaXRoRXJy
b3JGb3JGcmFtZTp3cmFwcGVyKCp0b0ltcGwoZnJhbWUpKSBlcnJvcjp3cmFwcGVyKCp0b0ltcGwo
d2tFcnJvcikpXTsKKyAgICAgICAgW2xvYWREZWxlZ2F0ZSB3ZWJQcm9jZXNzUGx1Z0luQnJvd3Nl
ckNvbnRleHRDb250cm9sbGVyOnBsdWdpbkNvbnRleHRDb250cm9sbGVyIGRpZEZhaWxMb2FkV2l0
aEVycm9yRm9yRnJhbWU6d3JhcHBlcigqV2ViS2l0Ojp0b0ltcGwoZnJhbWUpKSBlcnJvcjp3cmFw
cGVyKCpXZWJLaXQ6OnRvSW1wbCh3a0Vycm9yKSldOwogfQogCiBzdGF0aWMgdm9pZCBkaWRTYW1l
RG9jdW1lbnROYXZpZ2F0aW9uRm9yRnJhbWUoV0tCdW5kbGVQYWdlUmVmIHBhZ2UsIFdLQnVuZGxl
RnJhbWVSZWYgZnJhbWUsIFdLU2FtZURvY3VtZW50TmF2aWdhdGlvblR5cGUgdHlwZSwgV0tUeXBl
UmVmKiB1c2VyRGF0YSwgY29uc3Qgdm9pZCAqY2xpZW50SW5mbykKQEAgLTE2OSwxMSArMTY2LDEx
IEBAIHN0YXRpYyB2b2lkIGRpZFNhbWVEb2N1bWVudE5hdmlnYXRpb25Gb3JGcmFtZShXS0J1bmRs
ZVBhZ2VSZWYgcGFnZSwgV0tCdW5kbGVGcmFtCiAgICAgYXV0byBsb2FkRGVsZWdhdGUgPSBwbHVn
aW5Db250ZXh0Q29udHJvbGxlci0+X2xvYWREZWxlZ2F0ZS5nZXQoKTsKIAogICAgIGlmIChbbG9h
ZERlbGVnYXRlIHJlc3BvbmRzVG9TZWxlY3RvcjpAc2VsZWN0b3Iod2ViUHJvY2Vzc1BsdWdJbkJy
b3dzZXJDb250ZXh0Q29udHJvbGxlcjpkaWRTYW1lRG9jdW1lbnROYXZpZ2F0aW9uOmZvckZyYW1l
OildKQotICAgICAgICBbbG9hZERlbGVnYXRlIHdlYlByb2Nlc3NQbHVnSW5Ccm93c2VyQ29udGV4
dENvbnRyb2xsZXI6cGx1Z2luQ29udGV4dENvbnRyb2xsZXIgZGlkU2FtZURvY3VtZW50TmF2aWdh
dGlvbjp0b1dLU2FtZURvY3VtZW50TmF2aWdhdGlvblR5cGUodG9TYW1lRG9jdW1lbnROYXZpZ2F0
aW9uVHlwZSh0eXBlKSkgZm9yRnJhbWU6d3JhcHBlcigqdG9JbXBsKGZyYW1lKSldOworICAgICAg
ICBbbG9hZERlbGVnYXRlIHdlYlByb2Nlc3NQbHVnSW5Ccm93c2VyQ29udGV4dENvbnRyb2xsZXI6
cGx1Z2luQ29udGV4dENvbnRyb2xsZXIgZGlkU2FtZURvY3VtZW50TmF2aWdhdGlvbjp0b1dLU2Ft
ZURvY3VtZW50TmF2aWdhdGlvblR5cGUoV2ViS2l0Ojp0b1NhbWVEb2N1bWVudE5hdmlnYXRpb25U
eXBlKHR5cGUpKSBmb3JGcmFtZTp3cmFwcGVyKCpXZWJLaXQ6OnRvSW1wbChmcmFtZSkpXTsKICAg
ICBlbHNlIHsKICAgICAgICAgLy8gRklYTUU6IFJlbW92ZSB0aGlzIG9uY2UgY2xpZW50cyBzd2l0
Y2ggdG8gaW1wbGVtZW50aW5nIHRoZSBhYm92ZSBkZWxlZ2F0ZSBtZXRob2QuCiAgICAgICAgIGlm
IChbbG9hZERlbGVnYXRlIHJlc3BvbmRzVG9TZWxlY3RvcjpAc2VsZWN0b3Iod2ViUHJvY2Vzc1Bs
dWdJbkJyb3dzZXJDb250ZXh0Q29udHJvbGxlcjpkaWRTYW1lRG9jdW1lbnROYXZpZ2F0aW9uRm9y
RnJhbWU6KV0pCi0gICAgICAgICAgICBbKE5TT2JqZWN0ICopbG9hZERlbGVnYXRlIHdlYlByb2Nl
c3NQbHVnSW5Ccm93c2VyQ29udGV4dENvbnRyb2xsZXI6cGx1Z2luQ29udGV4dENvbnRyb2xsZXIg
ZGlkU2FtZURvY3VtZW50TmF2aWdhdGlvbkZvckZyYW1lOndyYXBwZXIoKnRvSW1wbChmcmFtZSkp
XTsKKyAgICAgICAgICAgIFsoTlNPYmplY3QgKilsb2FkRGVsZWdhdGUgd2ViUHJvY2Vzc1BsdWdJ
bkJyb3dzZXJDb250ZXh0Q29udHJvbGxlcjpwbHVnaW5Db250ZXh0Q29udHJvbGxlciBkaWRTYW1l
RG9jdW1lbnROYXZpZ2F0aW9uRm9yRnJhbWU6d3JhcHBlcigqV2ViS2l0Ojp0b0ltcGwoZnJhbWUp
KV07CiAgICAgfQogfQogCkBAIC0xODMsNyArMTgwLDcgQEAgc3RhdGljIHZvaWQgZGlkTGF5b3V0
Rm9yRnJhbWUoV0tCdW5kbGVQYWdlUmVmIHBhZ2UsIFdLQnVuZGxlRnJhbWVSZWYgZnJhbWUsIGNv
bnMKICAgICBhdXRvIGxvYWREZWxlZ2F0ZSA9IHBsdWdpbkNvbnRleHRDb250cm9sbGVyLT5fbG9h
ZERlbGVnYXRlLmdldCgpOwogCiAgICAgaWYgKFtsb2FkRGVsZWdhdGUgcmVzcG9uZHNUb1NlbGVj
dG9yOkBzZWxlY3Rvcih3ZWJQcm9jZXNzUGx1Z0luQnJvd3NlckNvbnRleHRDb250cm9sbGVyOmRp
ZExheW91dEZvckZyYW1lOildKQotICAgICAgICBbbG9hZERlbGVnYXRlIHdlYlByb2Nlc3NQbHVn
SW5Ccm93c2VyQ29udGV4dENvbnRyb2xsZXI6cGx1Z2luQ29udGV4dENvbnRyb2xsZXIgZGlkTGF5
b3V0Rm9yRnJhbWU6d3JhcHBlcigqdG9JbXBsKGZyYW1lKSldOworICAgICAgICBbbG9hZERlbGVn
YXRlIHdlYlByb2Nlc3NQbHVnSW5Ccm93c2VyQ29udGV4dENvbnRyb2xsZXI6cGx1Z2luQ29udGV4
dENvbnRyb2xsZXIgZGlkTGF5b3V0Rm9yRnJhbWU6d3JhcHBlcigqV2ViS2l0Ojp0b0ltcGwoZnJh
bWUpKV07CiB9CiAKIHN0YXRpYyB2b2lkIGRpZFJlYWNoTGF5b3V0TWlsZXN0b25lKFdLQnVuZGxl
UGFnZVJlZiBwYWdlLCBXS0xheW91dE1pbGVzdG9uZXMgbWlsZXN0b25lcywgV0tUeXBlUmVmKiB1
c2VyRGF0YSwgY29uc3Qgdm9pZCAqY2xpZW50SW5mbykKQEAgLTE5Miw3ICsxODksNyBAQCBzdGF0
aWMgdm9pZCBkaWRSZWFjaExheW91dE1pbGVzdG9uZShXS0J1bmRsZVBhZ2VSZWYgcGFnZSwgV0tM
YXlvdXRNaWxlc3RvbmVzIG1pbAogICAgIGF1dG8gbG9hZERlbGVnYXRlID0gcGx1Z2luQ29udGV4
dENvbnRyb2xsZXItPl9sb2FkRGVsZWdhdGUuZ2V0KCk7CiAKICAgICBpZiAoW2xvYWREZWxlZ2F0
ZSByZXNwb25kc1RvU2VsZWN0b3I6QHNlbGVjdG9yKHdlYlByb2Nlc3NQbHVnSW5Ccm93c2VyQ29u
dGV4dENvbnRyb2xsZXI6cmVuZGVyaW5nUHJvZ3Jlc3NEaWRDaGFuZ2U6KV0pCi0gICAgICAgIFts
b2FkRGVsZWdhdGUgd2ViUHJvY2Vzc1BsdWdJbkJyb3dzZXJDb250ZXh0Q29udHJvbGxlcjpwbHVn
aW5Db250ZXh0Q29udHJvbGxlciByZW5kZXJpbmdQcm9ncmVzc0RpZENoYW5nZTpyZW5kZXJpbmdQ
cm9ncmVzc0V2ZW50cyh0b0xheW91dE1pbGVzdG9uZXMobWlsZXN0b25lcykpXTsKKyAgICAgICAg
W2xvYWREZWxlZ2F0ZSB3ZWJQcm9jZXNzUGx1Z0luQnJvd3NlckNvbnRleHRDb250cm9sbGVyOnBs
dWdpbkNvbnRleHRDb250cm9sbGVyIHJlbmRlcmluZ1Byb2dyZXNzRGlkQ2hhbmdlOnJlbmRlcmlu
Z1Byb2dyZXNzRXZlbnRzKFdlYktpdDo6dG9MYXlvdXRNaWxlc3RvbmVzKG1pbGVzdG9uZXMpKV07
CiB9CiAKIHN0YXRpYyB2b2lkIGRpZEZpcnN0VmlzdWFsbHlOb25FbXB0eUxheW91dEZvckZyYW1l
KFdLQnVuZGxlUGFnZVJlZiBwYWdlLCBXS0J1bmRsZUZyYW1lUmVmIGZyYW1lLCBXS1R5cGVSZWYq
IHVzZXJEYXRhLCBjb25zdCB2b2lkICpjbGllbnRJbmZvKQpAQCAtMjAxLDcgKzE5OCw3IEBAIHN0
YXRpYyB2b2lkIGRpZEZpcnN0VmlzdWFsbHlOb25FbXB0eUxheW91dEZvckZyYW1lKFdLQnVuZGxl
UGFnZVJlZiBwYWdlLCBXS0J1bmRsCiAgICAgYXV0byBsb2FkRGVsZWdhdGUgPSBwbHVnaW5Db250
ZXh0Q29udHJvbGxlci0+X2xvYWREZWxlZ2F0ZS5nZXQoKTsKIAogICAgIGlmIChbbG9hZERlbGVn
YXRlIHJlc3BvbmRzVG9TZWxlY3RvcjpAc2VsZWN0b3Iod2ViUHJvY2Vzc1BsdWdJbkJyb3dzZXJD
b250ZXh0Q29udHJvbGxlcjpkaWRGaXJzdFZpc3VhbGx5Tm9uRW1wdHlMYXlvdXRGb3JGcmFtZTop
XSkKLSAgICAgICAgW2xvYWREZWxlZ2F0ZSB3ZWJQcm9jZXNzUGx1Z0luQnJvd3NlckNvbnRleHRD
b250cm9sbGVyOnBsdWdpbkNvbnRleHRDb250cm9sbGVyIGRpZEZpcnN0VmlzdWFsbHlOb25FbXB0
eUxheW91dEZvckZyYW1lOndyYXBwZXIoKnRvSW1wbChmcmFtZSkpXTsKKyAgICAgICAgW2xvYWRE
ZWxlZ2F0ZSB3ZWJQcm9jZXNzUGx1Z0luQnJvd3NlckNvbnRleHRDb250cm9sbGVyOnBsdWdpbkNv
bnRleHRDb250cm9sbGVyIGRpZEZpcnN0VmlzdWFsbHlOb25FbXB0eUxheW91dEZvckZyYW1lOndy
YXBwZXIoKldlYktpdDo6dG9JbXBsKGZyYW1lKSldOwogfQogCiBzdGF0aWMgdm9pZCBkaWRIYW5k
bGVPbmxvYWRFdmVudHNGb3JGcmFtZShXS0J1bmRsZVBhZ2VSZWYgcGFnZSwgV0tCdW5kbGVGcmFt
ZVJlZiBmcmFtZSwgY29uc3Qgdm9pZCogY2xpZW50SW5mbykKQEAgLTIxMCw3ICsyMDcsNyBAQCBz
dGF0aWMgdm9pZCBkaWRIYW5kbGVPbmxvYWRFdmVudHNGb3JGcmFtZShXS0J1bmRsZVBhZ2VSZWYg
cGFnZSwgV0tCdW5kbGVGcmFtZVJlZgogICAgIGF1dG8gbG9hZERlbGVnYXRlID0gcGx1Z2luQ29u
dGV4dENvbnRyb2xsZXItPl9sb2FkRGVsZWdhdGUuZ2V0KCk7CiAKICAgICBpZiAoW2xvYWREZWxl
Z2F0ZSByZXNwb25kc1RvU2VsZWN0b3I6QHNlbGVjdG9yKHdlYlByb2Nlc3NQbHVnSW5Ccm93c2Vy
Q29udGV4dENvbnRyb2xsZXI6ZGlkSGFuZGxlT25sb2FkRXZlbnRzRm9yRnJhbWU6KV0pCi0gICAg
ICAgIFtsb2FkRGVsZWdhdGUgd2ViUHJvY2Vzc1BsdWdJbkJyb3dzZXJDb250ZXh0Q29udHJvbGxl
cjpwbHVnaW5Db250ZXh0Q29udHJvbGxlciBkaWRIYW5kbGVPbmxvYWRFdmVudHNGb3JGcmFtZTp3
cmFwcGVyKCp0b0ltcGwoZnJhbWUpKV07CisgICAgICAgIFtsb2FkRGVsZWdhdGUgd2ViUHJvY2Vz
c1BsdWdJbkJyb3dzZXJDb250ZXh0Q29udHJvbGxlcjpwbHVnaW5Db250ZXh0Q29udHJvbGxlciBk
aWRIYW5kbGVPbmxvYWRFdmVudHNGb3JGcmFtZTp3cmFwcGVyKCpXZWJLaXQ6OnRvSW1wbChmcmFt
ZSkpXTsKIH0KIAogc3RhdGljIFdLU3RyaW5nUmVmIHVzZXJBZ2VudEZvclVSTChXS0J1bmRsZUZy
YW1lUmVmIGZyYW1lLCBXS1VSTFJlZiB1cmwsIGNvbnN0IHZvaWQqIGNsaWVudEluZm8pCkBAIC0y
MTksOCArMjE2LDggQEAgc3RhdGljIFdLU3RyaW5nUmVmIHVzZXJBZ2VudEZvclVSTChXS0J1bmRs
ZUZyYW1lUmVmIGZyYW1lLCBXS1VSTFJlZiB1cmwsIGNvbnN0IHYKICAgICBhdXRvIGxvYWREZWxl
Z2F0ZSA9IHBsdWdpbkNvbnRleHRDb250cm9sbGVyLT5fbG9hZERlbGVnYXRlLmdldCgpOwogICAg
IAogICAgIGlmIChbbG9hZERlbGVnYXRlIHJlc3BvbmRzVG9TZWxlY3RvcjpAc2VsZWN0b3Iod2Vi
UHJvY2Vzc1BsdWdJbkJyb3dzZXJDb250ZXh0Q29udHJvbGxlcjpmcmFtZTp1c2VyQWdlbnRGb3JV
Ukw6KV0pIHsKLSAgICAgICAgV0tXZWJQcm9jZXNzUGx1Z0luRnJhbWUgKm5ld0ZyYW1lID0gd3Jh
cHBlcigqdG9JbXBsKGZyYW1lKSk7Ci0gICAgICAgIE5TU3RyaW5nICpzdHJpbmcgPSBbbG9hZERl
bGVnYXRlIHdlYlByb2Nlc3NQbHVnSW5Ccm93c2VyQ29udGV4dENvbnRyb2xsZXI6cGx1Z2luQ29u
dGV4dENvbnRyb2xsZXIgZnJhbWU6bmV3RnJhbWUgdXNlckFnZW50Rm9yVVJMOndyYXBwZXIoKnRv
SW1wbCh1cmwpKV07CisgICAgICAgIFdLV2ViUHJvY2Vzc1BsdWdJbkZyYW1lICpuZXdGcmFtZSA9
IHdyYXBwZXIoKldlYktpdDo6dG9JbXBsKGZyYW1lKSk7CisgICAgICAgIE5TU3RyaW5nICpzdHJp
bmcgPSBbbG9hZERlbGVnYXRlIHdlYlByb2Nlc3NQbHVnSW5Ccm93c2VyQ29udGV4dENvbnRyb2xs
ZXI6cGx1Z2luQ29udGV4dENvbnRyb2xsZXIgZnJhbWU6bmV3RnJhbWUgdXNlckFnZW50Rm9yVVJM
OndyYXBwZXIoKldlYktpdDo6dG9JbXBsKHVybCkpXTsKICAgICAgICAgaWYgKCFzdHJpbmcpCiAg
ICAgICAgICAgICByZXR1cm4gbnVsbHB0cjsKIApAQCAtMjMwLDcgKzIyNyw3IEBAIHN0YXRpYyBX
S1N0cmluZ1JlZiB1c2VyQWdlbnRGb3JVUkwoV0tCdW5kbGVGcmFtZVJlZiBmcmFtZSwgV0tVUkxS
ZWYgdXJsLCBjb25zdCB2CiAgICAgcmV0dXJuIG51bGxwdHI7CiB9CiAKLXN0YXRpYyB2b2lkIHNl
dFVwUGFnZUxvYWRlckNsaWVudChXS1dlYlByb2Nlc3NQbHVnSW5Ccm93c2VyQ29udGV4dENvbnRy
b2xsZXIgKmNvbnRleHRDb250cm9sbGVyLCBXZWJQYWdlJiBwYWdlKQorc3RhdGljIHZvaWQgc2V0
VXBQYWdlTG9hZGVyQ2xpZW50KFdLV2ViUHJvY2Vzc1BsdWdJbkJyb3dzZXJDb250ZXh0Q29udHJv
bGxlciAqY29udGV4dENvbnRyb2xsZXIsIFdlYktpdDo6V2ViUGFnZSYgcGFnZSkKIHsKICAgICBX
S0J1bmRsZVBhZ2VMb2FkZXJDbGllbnRWOSBjbGllbnQ7CiAgICAgbWVtc2V0KCZjbGllbnQsIDAs
IHNpemVvZihjbGllbnQpKTsKQEAgLTI2MywxNiArMjYwLDE2IEBAIHN0YXRpYyBXS1VSTFJlcXVl
c3RSZWYgd2lsbFNlbmRSZXF1ZXN0Rm9yRnJhbWUoV0tCdW5kbGVQYWdlUmVmLCBXS0J1bmRsZUZy
YW1lUmVmCiAgICAgYXV0byBsb2FkRGVsZWdhdGUgPSBwbHVnaW5Db250ZXh0Q29udHJvbGxlci0+
X2xvYWREZWxlZ2F0ZS5nZXQoKTsKIAogICAgIGlmIChbbG9hZERlbGVnYXRlIHJlc3BvbmRzVG9T
ZWxlY3RvcjpAc2VsZWN0b3Iod2ViUHJvY2Vzc1BsdWdJbkJyb3dzZXJDb250ZXh0Q29udHJvbGxl
cjpmcmFtZTp3aWxsU2VuZFJlcXVlc3RGb3JSZXNvdXJjZTpyZXF1ZXN0OnJlZGlyZWN0UmVzcG9u
c2U6KV0pIHsKLSAgICAgICAgTlNVUkxSZXF1ZXN0ICpvcmlnaW5hbFJlcXVlc3QgPSB3cmFwcGVy
KCp0b0ltcGwocmVxdWVzdCkpOwotICAgICAgICBSZXRhaW5QdHI8TlNVUkxSZXF1ZXN0PiBzdWJz
dGl0dXRlUmVxdWVzdCA9IFtsb2FkRGVsZWdhdGUgd2ViUHJvY2Vzc1BsdWdJbkJyb3dzZXJDb250
ZXh0Q29udHJvbGxlcjpwbHVnaW5Db250ZXh0Q29udHJvbGxlciBmcmFtZTp3cmFwcGVyKCp0b0lt
cGwoZnJhbWUpKSB3aWxsU2VuZFJlcXVlc3RGb3JSZXNvdXJjZTpyZXNvdXJjZUlkZW50aWZpZXIK
LSAgICAgICAgICAgIHJlcXVlc3Q6b3JpZ2luYWxSZXF1ZXN0IHJlZGlyZWN0UmVzcG9uc2U6dG9J
bXBsKHJlZGlyZWN0UmVzcG9uc2UpLT5yZXNvdXJjZVJlc3BvbnNlKCkubnNVUkxSZXNwb25zZSgp
XTsKKyAgICAgICAgTlNVUkxSZXF1ZXN0ICpvcmlnaW5hbFJlcXVlc3QgPSB3cmFwcGVyKCpXZWJL
aXQ6OnRvSW1wbChyZXF1ZXN0KSk7CisgICAgICAgIFJldGFpblB0cjxOU1VSTFJlcXVlc3Q+IHN1
YnN0aXR1dGVSZXF1ZXN0ID0gW2xvYWREZWxlZ2F0ZSB3ZWJQcm9jZXNzUGx1Z0luQnJvd3NlckNv
bnRleHRDb250cm9sbGVyOnBsdWdpbkNvbnRleHRDb250cm9sbGVyIGZyYW1lOndyYXBwZXIoKldl
YktpdDo6dG9JbXBsKGZyYW1lKSkgd2lsbFNlbmRSZXF1ZXN0Rm9yUmVzb3VyY2U6cmVzb3VyY2VJ
ZGVudGlmaWVyCisgICAgICAgICAgICByZXF1ZXN0Om9yaWdpbmFsUmVxdWVzdCByZWRpcmVjdFJl
c3BvbnNlOldlYktpdDo6dG9JbXBsKHJlZGlyZWN0UmVzcG9uc2UpLT5yZXNvdXJjZVJlc3BvbnNl
KCkubnNVUkxSZXNwb25zZSgpXTsKIAogICAgICAgICBpZiAoc3Vic3RpdHV0ZVJlcXVlc3QgIT0g
b3JpZ2luYWxSZXF1ZXN0KQogICAgICAgICAgICAgcmV0dXJuIHN1YnN0aXR1dGVSZXF1ZXN0ID8g
V0tVUkxSZXF1ZXN0Q3JlYXRlV2l0aE5TVVJMUmVxdWVzdChzdWJzdGl0dXRlUmVxdWVzdC5nZXQo
KSkgOiBudWxscHRyOwogICAgIH0gZWxzZSBpZiAoW2xvYWREZWxlZ2F0ZSByZXNwb25kc1RvU2Vs
ZWN0b3I6QHNlbGVjdG9yKHdlYlByb2Nlc3NQbHVnSW5Ccm93c2VyQ29udGV4dENvbnRyb2xsZXI6
ZnJhbWU6d2lsbFNlbmRSZXF1ZXN0OnJlZGlyZWN0UmVzcG9uc2U6KV0pIHsKLSAgICAgICAgTlNV
UkxSZXF1ZXN0ICpvcmlnaW5hbFJlcXVlc3QgPSB3cmFwcGVyKCp0b0ltcGwocmVxdWVzdCkpOwot
ICAgICAgICBSZXRhaW5QdHI8TlNVUkxSZXF1ZXN0PiBzdWJzdGl0dXRlUmVxdWVzdCA9IFtsb2Fk
RGVsZWdhdGUgd2ViUHJvY2Vzc1BsdWdJbkJyb3dzZXJDb250ZXh0Q29udHJvbGxlcjpwbHVnaW5D
b250ZXh0Q29udHJvbGxlciBmcmFtZTp3cmFwcGVyKCp0b0ltcGwoZnJhbWUpKSB3aWxsU2VuZFJl
cXVlc3Q6b3JpZ2luYWxSZXF1ZXN0Ci0gICAgICAgICAgICByZWRpcmVjdFJlc3BvbnNlOnRvSW1w
bChyZWRpcmVjdFJlc3BvbnNlKS0+cmVzb3VyY2VSZXNwb25zZSgpLm5zVVJMUmVzcG9uc2UoKV07
CisgICAgICAgIE5TVVJMUmVxdWVzdCAqb3JpZ2luYWxSZXF1ZXN0ID0gd3JhcHBlcigqV2ViS2l0
Ojp0b0ltcGwocmVxdWVzdCkpOworICAgICAgICBSZXRhaW5QdHI8TlNVUkxSZXF1ZXN0PiBzdWJz
dGl0dXRlUmVxdWVzdCA9IFtsb2FkRGVsZWdhdGUgd2ViUHJvY2Vzc1BsdWdJbkJyb3dzZXJDb250
ZXh0Q29udHJvbGxlcjpwbHVnaW5Db250ZXh0Q29udHJvbGxlciBmcmFtZTp3cmFwcGVyKCpXZWJL
aXQ6OnRvSW1wbChmcmFtZSkpIHdpbGxTZW5kUmVxdWVzdDpvcmlnaW5hbFJlcXVlc3QKKyAgICAg
ICAgICAgIHJlZGlyZWN0UmVzcG9uc2U6V2ViS2l0Ojp0b0ltcGwocmVkaXJlY3RSZXNwb25zZSkt
PnJlc291cmNlUmVzcG9uc2UoKS5uc1VSTFJlc3BvbnNlKCldOwogCiAgICAgICAgIGlmIChzdWJz
dGl0dXRlUmVxdWVzdCAhPSBvcmlnaW5hbFJlcXVlc3QpCiAgICAgICAgICAgICByZXR1cm4gc3Vi
c3RpdHV0ZVJlcXVlc3QgPyBXS1VSTFJlcXVlc3RDcmVhdGVXaXRoTlNVUkxSZXF1ZXN0KHN1YnN0
aXR1dGVSZXF1ZXN0LmdldCgpKSA6IG51bGxwdHI7CkBAIC0yODgsMTAgKzI4NSwxMCBAQCBzdGF0
aWMgdm9pZCBkaWRJbml0aWF0ZUxvYWRGb3JSZXNvdXJjZShXS0J1bmRsZVBhZ2VSZWYsIFdLQnVu
ZGxlRnJhbWVSZWYgZnJhbWUsCiAgICAgYXV0byBsb2FkRGVsZWdhdGUgPSBwbHVnaW5Db250ZXh0
Q29udHJvbGxlci0+X2xvYWREZWxlZ2F0ZS5nZXQoKTsKIAogICAgIGlmIChbbG9hZERlbGVnYXRl
IHJlc3BvbmRzVG9TZWxlY3RvcjpAc2VsZWN0b3Iod2ViUHJvY2Vzc1BsdWdJbkJyb3dzZXJDb250
ZXh0Q29udHJvbGxlcjpmcmFtZTpkaWRJbml0aWF0ZUxvYWRGb3JSZXNvdXJjZTpyZXF1ZXN0OnBh
Z2VJc1Byb3Zpc2lvbmFsbHlMb2FkaW5nOildKSB7Ci0gICAgICAgIFtsb2FkRGVsZWdhdGUgd2Vi
UHJvY2Vzc1BsdWdJbkJyb3dzZXJDb250ZXh0Q29udHJvbGxlcjpwbHVnaW5Db250ZXh0Q29udHJv
bGxlciBmcmFtZTp3cmFwcGVyKCp0b0ltcGwoZnJhbWUpKSBkaWRJbml0aWF0ZUxvYWRGb3JSZXNv
dXJjZTpyZXNvdXJjZUlkZW50aWZpZXIgcmVxdWVzdDp3cmFwcGVyKCp0b0ltcGwocmVxdWVzdCkp
CisgICAgICAgIFtsb2FkRGVsZWdhdGUgd2ViUHJvY2Vzc1BsdWdJbkJyb3dzZXJDb250ZXh0Q29u
dHJvbGxlcjpwbHVnaW5Db250ZXh0Q29udHJvbGxlciBmcmFtZTp3cmFwcGVyKCpXZWJLaXQ6OnRv
SW1wbChmcmFtZSkpIGRpZEluaXRpYXRlTG9hZEZvclJlc291cmNlOnJlc291cmNlSWRlbnRpZmll
ciByZXF1ZXN0OndyYXBwZXIoKldlYktpdDo6dG9JbXBsKHJlcXVlc3QpKQogICAgICAgICAgICAg
cGFnZUlzUHJvdmlzaW9uYWxseUxvYWRpbmc6cGFnZUlzUHJvdmlzaW9uYWxseUxvYWRpbmddOwog
ICAgIH0gZWxzZSBpZiAoW2xvYWREZWxlZ2F0ZSByZXNwb25kc1RvU2VsZWN0b3I6QHNlbGVjdG9y
KHdlYlByb2Nlc3NQbHVnSW5Ccm93c2VyQ29udGV4dENvbnRyb2xsZXI6ZnJhbWU6ZGlkSW5pdGlh
dGVMb2FkRm9yUmVzb3VyY2U6cmVxdWVzdDopXSkgewotICAgICAgICBbbG9hZERlbGVnYXRlIHdl
YlByb2Nlc3NQbHVnSW5Ccm93c2VyQ29udGV4dENvbnRyb2xsZXI6cGx1Z2luQ29udGV4dENvbnRy
b2xsZXIgZnJhbWU6d3JhcHBlcigqdG9JbXBsKGZyYW1lKSkgZGlkSW5pdGlhdGVMb2FkRm9yUmVz
b3VyY2U6cmVzb3VyY2VJZGVudGlmaWVyIHJlcXVlc3Q6d3JhcHBlcigqdG9JbXBsKHJlcXVlc3Qp
KV07CisgICAgICAgIFtsb2FkRGVsZWdhdGUgd2ViUHJvY2Vzc1BsdWdJbkJyb3dzZXJDb250ZXh0
Q29udHJvbGxlcjpwbHVnaW5Db250ZXh0Q29udHJvbGxlciBmcmFtZTp3cmFwcGVyKCpXZWJLaXQ6
OnRvSW1wbChmcmFtZSkpIGRpZEluaXRpYXRlTG9hZEZvclJlc291cmNlOnJlc291cmNlSWRlbnRp
ZmllciByZXF1ZXN0OndyYXBwZXIoKldlYktpdDo6dG9JbXBsKHJlcXVlc3QpKV07CiAgICAgfQog
fQogCkBAIC0zMDEsOSArMjk4LDcgQEAgc3RhdGljIHZvaWQgZGlkRmluaXNoTG9hZEZvclJlc291
cmNlKFdLQnVuZGxlUGFnZVJlZiwgV0tCdW5kbGVGcmFtZVJlZiBmcmFtZSwgdWkKICAgICBhdXRv
IGxvYWREZWxlZ2F0ZSA9IHBsdWdpbkNvbnRleHRDb250cm9sbGVyLT5fbG9hZERlbGVnYXRlLmdl
dCgpOwogCiAgICAgaWYgKFtsb2FkRGVsZWdhdGUgcmVzcG9uZHNUb1NlbGVjdG9yOkBzZWxlY3Rv
cih3ZWJQcm9jZXNzUGx1Z0luQnJvd3NlckNvbnRleHRDb250cm9sbGVyOmZyYW1lOmRpZEZpbmlz
aExvYWRGb3JSZXNvdXJjZTopXSkgewotICAgICAgICBbbG9hZERlbGVnYXRlIHdlYlByb2Nlc3NQ
bHVnSW5Ccm93c2VyQ29udGV4dENvbnRyb2xsZXI6cGx1Z2luQ29udGV4dENvbnRyb2xsZXIKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZy
YW1lOndyYXBwZXIoKnRvSW1wbChmcmFtZSkpCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGRpZEZpbmlzaExvYWRGb3JSZXNvdXJjZTpyZXNvdXJjZUlkZW50aWZpZXJdOwor
ICAgICAgICBbbG9hZERlbGVnYXRlIHdlYlByb2Nlc3NQbHVnSW5Ccm93c2VyQ29udGV4dENvbnRy
b2xsZXI6cGx1Z2luQ29udGV4dENvbnRyb2xsZXIgZnJhbWU6d3JhcHBlcigqV2ViS2l0Ojp0b0lt
cGwoZnJhbWUpKSBkaWRGaW5pc2hMb2FkRm9yUmVzb3VyY2U6cmVzb3VyY2VJZGVudGlmaWVyXTsK
ICAgICB9CiB9CiAKQEAgLTMxMywxNCArMzA4LDExIEBAIHN0YXRpYyB2b2lkIGRpZEZhaWxMb2Fk
Rm9yUmVzb3VyY2UoV0tCdW5kbGVQYWdlUmVmLCBXS0J1bmRsZUZyYW1lUmVmIGZyYW1lLCB1aW50
CiAgICAgYXV0byBsb2FkRGVsZWdhdGUgPSBwbHVnaW5Db250ZXh0Q29udHJvbGxlci0+X2xvYWRE
ZWxlZ2F0ZS5nZXQoKTsKIAogICAgIGlmIChbbG9hZERlbGVnYXRlIHJlc3BvbmRzVG9TZWxlY3Rv
cjpAc2VsZWN0b3Iod2ViUHJvY2Vzc1BsdWdJbkJyb3dzZXJDb250ZXh0Q29udHJvbGxlcjpmcmFt
ZTpkaWRGYWlsTG9hZEZvclJlc291cmNlOmVycm9yOildKSB7Ci0gICAgICAgIFtsb2FkRGVsZWdh
dGUgd2ViUHJvY2Vzc1BsdWdJbkJyb3dzZXJDb250ZXh0Q29udHJvbGxlcjpwbHVnaW5Db250ZXh0
Q29udHJvbGxlcgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgZnJhbWU6d3JhcHBlcigqdG9JbXBsKGZyYW1lKSkKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBkaWRGYWlsTG9hZEZvclJlc291cmNlOnJlc291cmNl
SWRlbnRpZmllcgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgZXJyb3I6d3JhcHBlcigqdG9JbXBsKGVycm9yKSldOworICAgICAgICBbbG9h
ZERlbGVnYXRlIHdlYlByb2Nlc3NQbHVnSW5Ccm93c2VyQ29udGV4dENvbnRyb2xsZXI6cGx1Z2lu
Q29udGV4dENvbnRyb2xsZXIgZnJhbWU6d3JhcHBlcigqV2ViS2l0Ojp0b0ltcGwoZnJhbWUpKSBk
aWRGYWlsTG9hZEZvclJlc291cmNlOnJlc291cmNlSWRlbnRpZmllciBlcnJvcjp3cmFwcGVyKCpX
ZWJLaXQ6OnRvSW1wbChlcnJvcikpXTsKICAgICB9CiB9CiAKLXN0YXRpYyB2b2lkIHNldFVwUmVz
b3VyY2VMb2FkQ2xpZW50KFdLV2ViUHJvY2Vzc1BsdWdJbkJyb3dzZXJDb250ZXh0Q29udHJvbGxl
ciAqY29udGV4dENvbnRyb2xsZXIsIFdlYlBhZ2UmIHBhZ2UpCitzdGF0aWMgdm9pZCBzZXRVcFJl
c291cmNlTG9hZENsaWVudChXS1dlYlByb2Nlc3NQbHVnSW5Ccm93c2VyQ29udGV4dENvbnRyb2xs
ZXIgKmNvbnRleHRDb250cm9sbGVyLCBXZWJLaXQ6OldlYlBhZ2UmIHBhZ2UpCiB7CiAgICAgV0tC
dW5kbGVQYWdlUmVzb3VyY2VMb2FkQ2xpZW50VjEgY2xpZW50OwogICAgIG1lbXNldCgmY2xpZW50
LCAwLCBzaXplb2YoY2xpZW50KSk7CkBAIC0zNTYsNyArMzQ4LDcgQEAgLSAodm9pZClzZXRMb2Fk
RGVsZWdhdGU6KGlkIDxXS1dlYlByb2Nlc3NQbHVnSW5Mb2FkRGVsZWdhdGU+KWxvYWREZWxlZ2F0
ZQogLSAodm9pZClkZWFsbG9jCiB7CiAgICAgaWYgKF9yZW1vdGVPYmplY3RSZWdpc3RyeSkgewot
ICAgICAgICBXZWJQcm9jZXNzOjpzaW5nbGV0b24oKS5yZW1vdmVNZXNzYWdlUmVjZWl2ZXIoTWVz
c2FnZXM6OlJlbW90ZU9iamVjdFJlZ2lzdHJ5OjptZXNzYWdlUmVjZWl2ZXJOYW1lKCksIF9wYWdl
LT5wYWdlSUQoKSk7CisgICAgICAgIFdlYktpdDo6V2ViUHJvY2Vzczo6c2luZ2xldG9uKCkucmVt
b3ZlTWVzc2FnZVJlY2VpdmVyKE1lc3NhZ2VzOjpSZW1vdGVPYmplY3RSZWdpc3RyeTo6bWVzc2Fn
ZVJlY2VpdmVyTmFtZSgpLCBfcGFnZS0+cGFnZUlEKCkpOwogICAgICAgICBbX3JlbW90ZU9iamVj
dFJlZ2lzdHJ5IF9pbnZhbGlkYXRlXTsKICAgICB9CiAKQEAgLTM2NywyMCArMzU5LDIwIEBAIC0g
KHZvaWQpZGVhbGxvYwogCiAtIChXS0RPTURvY3VtZW50ICopbWFpbkZyYW1lRG9jdW1lbnQKIHsK
LSAgICBGcmFtZSogd2ViQ29yZU1haW5GcmFtZSA9IF9wYWdlLT5tYWluRnJhbWUoKTsKKyAgICBX
ZWJDb3JlOjpGcmFtZSogd2ViQ29yZU1haW5GcmFtZSA9IF9wYWdlLT5tYWluRnJhbWUoKTsKICAg
ICBpZiAoIXdlYkNvcmVNYWluRnJhbWUpCiAgICAgICAgIHJldHVybiBuaWw7CiAKLSAgICByZXR1
cm4gdG9XS0RPTURvY3VtZW50KHdlYkNvcmVNYWluRnJhbWUtPmRvY3VtZW50KCkpOworICAgIHJl
dHVybiBXZWJLaXQ6OnRvV0tET01Eb2N1bWVudCh3ZWJDb3JlTWFpbkZyYW1lLT5kb2N1bWVudCgp
KTsKIH0KIAogLSAoV0tET01SYW5nZSAqKXNlbGVjdGVkUmFuZ2UKIHsKLSAgICBSZWZQdHI8UmFu
Z2U+IHJhbmdlID0gX3BhZ2UtPmN1cnJlbnRTZWxlY3Rpb25Bc1JhbmdlKCk7CisgICAgUmVmUHRy
PFdlYkNvcmU6OlJhbmdlPiByYW5nZSA9IF9wYWdlLT5jdXJyZW50U2VsZWN0aW9uQXNSYW5nZSgp
OwogICAgIGlmICghcmFuZ2UpCiAgICAgICAgIHJldHVybiBuaWw7CiAKLSAgICByZXR1cm4gdG9X
S0RPTVJhbmdlKHJhbmdlLmdldCgpKTsKKyAgICByZXR1cm4gV2ViS2l0Ojp0b1dLRE9NUmFuZ2Uo
cmFuZ2UuZ2V0KCkpOwogfQogCiAtIChXS1dlYlByb2Nlc3NQbHVnSW5GcmFtZSAqKW1haW5GcmFt
ZQpAQCAtNDE2LDE0ICs0MDgsMTQgQEAgLSAoV0tCcm93c2luZ0NvbnRleHRIYW5kbGUgKiloYW5k
bGUKIAogKyAoaW5zdGFuY2V0eXBlKWxvb2tVcEJyb3dzaW5nQ29udGV4dEZyb21IYW5kbGU6KFdL
QnJvd3NpbmdDb250ZXh0SGFuZGxlICopaGFuZGxlCiB7Ci0gICAgcmV0dXJuIHdyYXBwZXIoV2Vi
UHJvY2Vzczo6c2luZ2xldG9uKCkud2ViUGFnZShoYW5kbGUucGFnZUlEKSk7CisgICAgcmV0dXJu
IHdyYXBwZXIoV2ViS2l0OjpXZWJQcm9jZXNzOjpzaW5nbGV0b24oKS53ZWJQYWdlKGhhbmRsZS5w
YWdlSUQpKTsKIH0KIAogLSAoX1dLUmVtb3RlT2JqZWN0UmVnaXN0cnkgKilfcmVtb3RlT2JqZWN0
UmVnaXN0cnkKIHsKICAgICBpZiAoIV9yZW1vdGVPYmplY3RSZWdpc3RyeSkgewogICAgICAgICBf
cmVtb3RlT2JqZWN0UmVnaXN0cnkgPSBhZG9wdE5TKFtbX1dLUmVtb3RlT2JqZWN0UmVnaXN0cnkg
YWxsb2NdIF9pbml0V2l0aFdlYlBhZ2U6Kl9wYWdlXSk7Ci0gICAgICAgIFdlYlByb2Nlc3M6OnNp
bmdsZXRvbigpLmFkZE1lc3NhZ2VSZWNlaXZlcihNZXNzYWdlczo6UmVtb3RlT2JqZWN0UmVnaXN0
cnk6Om1lc3NhZ2VSZWNlaXZlck5hbWUoKSwgX3BhZ2UtPnBhZ2VJRCgpLCBbX3JlbW90ZU9iamVj
dFJlZ2lzdHJ5IHJlbW90ZU9iamVjdFJlZ2lzdHJ5XSk7CisgICAgICAgIFdlYktpdDo6V2ViUHJv
Y2Vzczo6c2luZ2xldG9uKCkuYWRkTWVzc2FnZVJlY2VpdmVyKE1lc3NhZ2VzOjpSZW1vdGVPYmpl
Y3RSZWdpc3RyeTo6bWVzc2FnZVJlY2VpdmVyTmFtZSgpLCBfcGFnZS0+cGFnZUlEKCksIFtfcmVt
b3RlT2JqZWN0UmVnaXN0cnkgcmVtb3RlT2JqZWN0UmVnaXN0cnldKTsKICAgICB9CiAKICAgICBy
ZXR1cm4gX3JlbW90ZU9iamVjdFJlZ2lzdHJ5LmdldCgpOwpAQCAtNDQ3LDE1ICs0MzksMTUgQEAg
LSAodm9pZClfc2V0Rm9ybURlbGVnYXRlOihpZCA8V0tXZWJQcm9jZXNzUGx1Z0luRm9ybURlbGVn
YXRlUHJpdmF0ZT4pZm9ybURlbGVnYXQKIAogICAgICAgICB2aXJ0dWFsIH5Gb3JtQ2xpZW50KCkg
eyB9CiAKLSAgICAgICAgdm9pZCBkaWRGb2N1c1RleHRGaWVsZChXZWJQYWdlKiwgSFRNTElucHV0
RWxlbWVudCogaW5wdXRFbGVtZW50LCBXZWJGcmFtZSogZnJhbWUpIG92ZXJyaWRlCisgICAgICAg
IHZvaWQgZGlkRm9jdXNUZXh0RmllbGQoV2ViS2l0OjpXZWJQYWdlKiwgV2ViQ29yZTo6SFRNTElu
cHV0RWxlbWVudCogaW5wdXRFbGVtZW50LCBXZWJLaXQ6OldlYkZyYW1lKiBmcmFtZSkgb3ZlcnJp
ZGUKICAgICAgICAgewogICAgICAgICAgICAgYXV0byBmb3JtRGVsZWdhdGUgPSBtX2NvbnRyb2xs
ZXItPl9mb3JtRGVsZWdhdGUuZ2V0KCk7CiAKICAgICAgICAgICAgIGlmIChbZm9ybURlbGVnYXRl
IHJlc3BvbmRzVG9TZWxlY3RvcjpAc2VsZWN0b3IoX3dlYlByb2Nlc3NQbHVnSW5Ccm93c2VyQ29u
dGV4dENvbnRyb2xsZXI6ZGlkRm9jdXNUZXh0RmllbGQ6aW5GcmFtZTopXSkKLSAgICAgICAgICAg
ICAgICBbZm9ybURlbGVnYXRlIF93ZWJQcm9jZXNzUGx1Z0luQnJvd3NlckNvbnRleHRDb250cm9s
bGVyOm1fY29udHJvbGxlciBkaWRGb2N1c1RleHRGaWVsZDp3cmFwcGVyKCpJbmplY3RlZEJ1bmRs
ZU5vZGVIYW5kbGU6OmdldE9yQ3JlYXRlKGlucHV0RWxlbWVudCkuZ2V0KCkpIGluRnJhbWU6d3Jh
cHBlcigqZnJhbWUpXTsKKyAgICAgICAgICAgICAgICBbZm9ybURlbGVnYXRlIF93ZWJQcm9jZXNz
UGx1Z0luQnJvd3NlckNvbnRleHRDb250cm9sbGVyOm1fY29udHJvbGxlciBkaWRGb2N1c1RleHRG
aWVsZDp3cmFwcGVyKCpXZWJLaXQ6OkluamVjdGVkQnVuZGxlTm9kZUhhbmRsZTo6Z2V0T3JDcmVh
dGUoaW5wdXRFbGVtZW50KS5nZXQoKSkgaW5GcmFtZTp3cmFwcGVyKCpmcmFtZSldOwogICAgICAg
ICB9CiAKLSAgICAgICAgdm9pZCB3aWxsU2VuZFN1Ym1pdEV2ZW50KFdlYlBhZ2UqLCBIVE1MRm9y
bUVsZW1lbnQqIGZvcm1FbGVtZW50LCBXZWJGcmFtZSogdGFyZ2V0RnJhbWUsIFdlYkZyYW1lKiBz
b3VyY2VGcmFtZSwgY29uc3QgVmVjdG9yPHN0ZDo6cGFpcjxTdHJpbmcsIFN0cmluZz4+JiB2YWx1
ZXMpIG92ZXJyaWRlCisgICAgICAgIHZvaWQgd2lsbFNlbmRTdWJtaXRFdmVudChXZWJLaXQ6Oldl
YlBhZ2UqLCBXZWJDb3JlOjpIVE1MRm9ybUVsZW1lbnQqIGZvcm1FbGVtZW50LCBXZWJLaXQ6Oldl
YkZyYW1lKiB0YXJnZXRGcmFtZSwgV2ViS2l0OjpXZWJGcmFtZSogc291cmNlRnJhbWUsIGNvbnN0
IFZlY3RvcjxzdGQ6OnBhaXI8U3RyaW5nLCBTdHJpbmc+PiYgdmFsdWVzKSBvdmVycmlkZQogICAg
ICAgICB7CiAgICAgICAgICAgICBhdXRvIGZvcm1EZWxlZ2F0ZSA9IG1fY29udHJvbGxlci0+X2Zv
cm1EZWxlZ2F0ZS5nZXQoKTsKIApAQCAtNDY0LDcgKzQ1Niw3IEBAIC0gKHZvaWQpX3NldEZvcm1E
ZWxlZ2F0ZTooaWQgPFdLV2ViUHJvY2Vzc1BsdWdJbkZvcm1EZWxlZ2F0ZVByaXZhdGU+KWZvcm1E
ZWxlZ2F0CiAgICAgICAgICAgICAgICAgZm9yIChjb25zdCBhdXRvJiBwYWlyIDogdmFsdWVzKQog
ICAgICAgICAgICAgICAgICAgICBbdmFsdWVNYXAgc2V0T2JqZWN0OnBhaXIuc2Vjb25kIGZvcktl
eTpwYWlyLmZpcnN0XTsKIAotICAgICAgICAgICAgICAgIFtmb3JtRGVsZWdhdGUgX3dlYlByb2Nl
c3NQbHVnSW5Ccm93c2VyQ29udGV4dENvbnRyb2xsZXI6bV9jb250cm9sbGVyIHdpbGxTZW5kU3Vi
bWl0RXZlbnRUb0Zvcm06d3JhcHBlcigqSW5qZWN0ZWRCdW5kbGVOb2RlSGFuZGxlOjpnZXRPckNy
ZWF0ZShmb3JtRWxlbWVudCkuZ2V0KCkpCisgICAgICAgICAgICAgICAgW2Zvcm1EZWxlZ2F0ZSBf
d2ViUHJvY2Vzc1BsdWdJbkJyb3dzZXJDb250ZXh0Q29udHJvbGxlcjptX2NvbnRyb2xsZXIgd2ls
bFNlbmRTdWJtaXRFdmVudFRvRm9ybTp3cmFwcGVyKCpXZWJLaXQ6OkluamVjdGVkQnVuZGxlTm9k
ZUhhbmRsZTo6Z2V0T3JDcmVhdGUoZm9ybUVsZW1lbnQpLmdldCgpKQogICAgICAgICAgICAgICAg
ICAgICBpbkZyYW1lOndyYXBwZXIoKnNvdXJjZUZyYW1lKSB0YXJnZXRGcmFtZTp3cmFwcGVyKCp0
YXJnZXRGcmFtZSkgdmFsdWVzOnZhbHVlTWFwLmdldCgpXTsKICAgICAgICAgICAgIH0KICAgICAg
ICAgfQpAQCAtNDg2LDcgKzQ3OCw3IEBAIC0gKHZvaWQpX3NldEZvcm1EZWxlZ2F0ZTooaWQgPFdL
V2ViUHJvY2Vzc1BsdWdJbkZvcm1EZWxlZ2F0ZVByaXZhdGU+KWZvcm1EZWxlZ2F0CiAgICAgICAg
ICAgICB1c2VyRGF0YSA9IEFQSTo6RGF0YTo6Y3JlYXRlV2l0aG91dENvcHlpbmcoYXJjaGl2ZXIu
Z2V0KCkuZW5jb2RlZERhdGEpOwogICAgICAgICB9CiAKLSAgICAgICAgdm9pZCB3aWxsU3VibWl0
Rm9ybShXZWJQYWdlKiwgSFRNTEZvcm1FbGVtZW50KiBmb3JtRWxlbWVudCwgV2ViRnJhbWUqIGZy
YW1lLCBXZWJGcmFtZSogc291cmNlRnJhbWUsIGNvbnN0IFZlY3RvcjxzdGQ6OnBhaXI8V1RGOjpT
dHJpbmcsIFdURjo6U3RyaW5nPj4mIHZhbHVlcywgUmVmUHRyPEFQSTo6T2JqZWN0PiYgdXNlckRh
dGEpIG92ZXJyaWRlCisgICAgICAgIHZvaWQgd2lsbFN1Ym1pdEZvcm0oV2ViS2l0OjpXZWJQYWdl
KiwgV2ViQ29yZTo6SFRNTEZvcm1FbGVtZW50KiBmb3JtRWxlbWVudCwgV2ViS2l0OjpXZWJGcmFt
ZSogZnJhbWUsIFdlYktpdDo6V2ViRnJhbWUqIHNvdXJjZUZyYW1lLCBjb25zdCBWZWN0b3I8c3Rk
OjpwYWlyPFdURjo6U3RyaW5nLCBXVEY6OlN0cmluZz4+JiB2YWx1ZXMsIFJlZlB0cjxBUEk6Ok9i
amVjdD4mIHVzZXJEYXRhKSBvdmVycmlkZQogICAgICAgICB7CiAgICAgICAgICAgICBhdXRvIGZv
cm1EZWxlZ2F0ZSA9IG1fY29udHJvbGxlci0+X2Zvcm1EZWxlZ2F0ZS5nZXQoKTsKIApAQCAtNDk1
LDEyICs0ODcsMTIgQEAgLSAodm9pZClfc2V0Rm9ybURlbGVnYXRlOihpZCA8V0tXZWJQcm9jZXNz
UGx1Z0luRm9ybURlbGVnYXRlUHJpdmF0ZT4pZm9ybURlbGVnYXQKICAgICAgICAgICAgICAgICBm
b3IgKGNvbnN0IGF1dG8mIHBhaXIgOiB2YWx1ZXMpCiAgICAgICAgICAgICAgICAgICAgIFt2YWx1
ZU1hcCBzZXRPYmplY3Q6cGFpci5zZWNvbmQgZm9yS2V5OnBhaXIuZmlyc3RdOwogCi0gICAgICAg
ICAgICAgICAgTlNPYmplY3QgPE5TU2VjdXJlQ29kaW5nPiAqdXNlck9iamVjdCA9IFtmb3JtRGVs
ZWdhdGUgX3dlYlByb2Nlc3NQbHVnSW5Ccm93c2VyQ29udGV4dENvbnRyb2xsZXI6bV9jb250cm9s
bGVyIHdpbGxTdWJtaXRGb3JtOndyYXBwZXIoKkluamVjdGVkQnVuZGxlTm9kZUhhbmRsZTo6Z2V0
T3JDcmVhdGUoZm9ybUVsZW1lbnQpLmdldCgpKSB0b0ZyYW1lOndyYXBwZXIoKmZyYW1lKSBmcm9t
RnJhbWU6d3JhcHBlcigqc291cmNlRnJhbWUpIHdpdGhWYWx1ZXM6dmFsdWVNYXAuZ2V0KCldOwor
ICAgICAgICAgICAgICAgIE5TT2JqZWN0IDxOU1NlY3VyZUNvZGluZz4gKnVzZXJPYmplY3QgPSBb
Zm9ybURlbGVnYXRlIF93ZWJQcm9jZXNzUGx1Z0luQnJvd3NlckNvbnRleHRDb250cm9sbGVyOm1f
Y29udHJvbGxlciB3aWxsU3VibWl0Rm9ybTp3cmFwcGVyKCpXZWJLaXQ6OkluamVjdGVkQnVuZGxl
Tm9kZUhhbmRsZTo6Z2V0T3JDcmVhdGUoZm9ybUVsZW1lbnQpLmdldCgpKSB0b0ZyYW1lOndyYXBw
ZXIoKmZyYW1lKSBmcm9tRnJhbWU6d3JhcHBlcigqc291cmNlRnJhbWUpIHdpdGhWYWx1ZXM6dmFs
dWVNYXAuZ2V0KCldOwogICAgICAgICAgICAgICAgIGVuY29kZVVzZXJPYmplY3QodXNlck9iamVj
dCwgdXNlckRhdGEpOwogICAgICAgICAgICAgfQogICAgICAgICB9CiAKLSAgICAgICAgdm9pZCB0
ZXh0RGlkQ2hhbmdlSW5UZXh0RmllbGQoV2ViUGFnZSosIEhUTUxJbnB1dEVsZW1lbnQqIGlucHV0
RWxlbWVudCwgV2ViRnJhbWUqIGZyYW1lLCBib29sIGluaXRpYXRlZEJ5VXNlclR5cGluZykgb3Zl
cnJpZGUKKyAgICAgICAgdm9pZCB0ZXh0RGlkQ2hhbmdlSW5UZXh0RmllbGQoV2ViS2l0OjpXZWJQ
YWdlKiwgV2ViQ29yZTo6SFRNTElucHV0RWxlbWVudCogaW5wdXRFbGVtZW50LCBXZWJLaXQ6Oldl
YkZyYW1lKiBmcmFtZSwgYm9vbCBpbml0aWF0ZWRCeVVzZXJUeXBpbmcpIG92ZXJyaWRlCiAgICAg
ICAgIHsKICAgICAgICAgICAgIGF1dG8gZm9ybURlbGVnYXRlID0gbV9jb250cm9sbGVyLT5fZm9y
bURlbGVnYXRlLmdldCgpOwogCkBAIC01MDgsNyArNTAwLDcgQEAgLSAodm9pZClfc2V0Rm9ybURl
bGVnYXRlOihpZCA8V0tXZWJQcm9jZXNzUGx1Z0luRm9ybURlbGVnYXRlUHJpdmF0ZT4pZm9ybURl
bGVnYXQKICAgICAgICAgICAgICAgICBbZm9ybURlbGVnYXRlIF93ZWJQcm9jZXNzUGx1Z0luQnJv
d3NlckNvbnRleHRDb250cm9sbGVyOm1fY29udHJvbGxlciB0ZXh0RGlkQ2hhbmdlSW5UZXh0Rmll
bGQ6d3JhcHBlcigqV2ViS2l0OjpJbmplY3RlZEJ1bmRsZU5vZGVIYW5kbGU6OmdldE9yQ3JlYXRl
KGlucHV0RWxlbWVudCkpIGluRnJhbWU6d3JhcHBlcigqZnJhbWUpIGluaXRpYXRlZEJ5VXNlclR5
cGluZzppbml0aWF0ZWRCeVVzZXJUeXBpbmddOwogICAgICAgICB9CiAKLSAgICAgICAgdm9pZCB3
aWxsQmVnaW5JbnB1dFNlc3Npb24oV2ViUGFnZSosIEVsZW1lbnQqIGVsZW1lbnQsIFdlYkZyYW1l
KiBmcmFtZSwgYm9vbCB1c2VySXNJbnRlcmFjdGluZywgUmVmUHRyPEFQSTo6T2JqZWN0PiYgdXNl
ckRhdGEpIG92ZXJyaWRlCisgICAgICAgIHZvaWQgd2lsbEJlZ2luSW5wdXRTZXNzaW9uKFdlYktp
dDo6V2ViUGFnZSosIFdlYkNvcmU6OkVsZW1lbnQqIGVsZW1lbnQsIFdlYktpdDo6V2ViRnJhbWUq
IGZyYW1lLCBib29sIHVzZXJJc0ludGVyYWN0aW5nLCBSZWZQdHI8QVBJOjpPYmplY3Q+JiB1c2Vy
RGF0YSkgb3ZlcnJpZGUKICAgICAgICAgewogICAgICAgICAgICAgYXV0byBmb3JtRGVsZWdhdGUg
PSBtX2NvbnRyb2xsZXItPl9mb3JtRGVsZWdhdGUuZ2V0KCk7CiAKQEAgLTU2MywxNCArNTU1LDE0
IEBAIC0gKGlkIDxXS1dlYlByb2Nlc3NQbHVnSW5FZGl0aW5nRGVsZWdhdGU+KV9lZGl0aW5nRGVs
ZWdhdGUKICAgICByZXR1cm4gX2VkaXRpbmdEZWxlZ2F0ZS5nZXRBdXRvcmVsZWFzZWQoKTsKIH0K
IAotc3RhdGljIGlubGluZSBXS0VkaXRvckluc2VydEFjdGlvbiB0b1dLKEVkaXRvckluc2VydEFj
dGlvbiBhY3Rpb24pCitzdGF0aWMgaW5saW5lIFdLRWRpdG9ySW5zZXJ0QWN0aW9uIHRvV0soV2Vi
Q29yZTo6RWRpdG9ySW5zZXJ0QWN0aW9uIGFjdGlvbikKIHsKICAgICBzd2l0Y2ggKGFjdGlvbikg
ewotICAgIGNhc2UgRWRpdG9ySW5zZXJ0QWN0aW9uOjpUeXBlZDoKKyAgICBjYXNlIFdlYkNvcmU6
OkVkaXRvckluc2VydEFjdGlvbjo6VHlwZWQ6CiAgICAgICAgIHJldHVybiBXS0VkaXRvckluc2Vy
dEFjdGlvblR5cGVkOwotICAgIGNhc2UgRWRpdG9ySW5zZXJ0QWN0aW9uOjpQYXN0ZWQ6CisgICAg
Y2FzZSBXZWJDb3JlOjpFZGl0b3JJbnNlcnRBY3Rpb246OlBhc3RlZDoKICAgICAgICAgcmV0dXJu
IFdLRWRpdG9ySW5zZXJ0QWN0aW9uUGFzdGVkOwotICAgIGNhc2UgRWRpdG9ySW5zZXJ0QWN0aW9u
OjpEcm9wcGVkOgorICAgIGNhc2UgV2ViQ29yZTo6RWRpdG9ySW5zZXJ0QWN0aW9uOjpEcm9wcGVk
OgogICAgICAgICByZXR1cm4gV0tFZGl0b3JJbnNlcnRBY3Rpb25Ecm9wcGVkOwogICAgIH0KIH0K
QEAgLTU4OCwxNSArNTgwLDE1IEBAIC0gKHZvaWQpX3NldEVkaXRpbmdEZWxlZ2F0ZTooaWQgPFdL
V2ViUHJvY2Vzc1BsdWdJbkVkaXRpbmdEZWxlZ2F0ZT4pZWRpdGluZ0RlbGVnCiAgICAgICAgIH0K
IAogICAgIHByaXZhdGU6Ci0gICAgICAgIGJvb2wgc2hvdWxkSW5zZXJ0VGV4dChXZWJQYWdlJiwg
U3RyaW5nSW1wbCogdGV4dCwgUmFuZ2UqIHJhbmdlVG9SZXBsYWNlLCBFZGl0b3JJbnNlcnRBY3Rp
b24gYWN0aW9uKSBmaW5hbAorICAgICAgICBib29sIHNob3VsZEluc2VydFRleHQoV2ViS2l0OjpX
ZWJQYWdlJiwgU3RyaW5nSW1wbCogdGV4dCwgV2ViQ29yZTo6UmFuZ2UqIHJhbmdlVG9SZXBsYWNl
LCBXZWJDb3JlOjpFZGl0b3JJbnNlcnRBY3Rpb24gYWN0aW9uKSBmaW5hbAogICAgICAgICB7CiAg
ICAgICAgICAgICBpZiAoIW1fZGVsZWdhdGVNZXRob2RzLnNob3VsZEluc2VydFRleHQpCiAgICAg
ICAgICAgICAgICAgcmV0dXJuIHRydWU7CiAKLSAgICAgICAgICAgIHJldHVybiBbbV9jb250cm9s
bGVyLT5fZWRpdGluZ0RlbGVnYXRlLmdldCgpIF93ZWJQcm9jZXNzUGx1Z0luQnJvd3NlckNvbnRl
eHRDb250cm9sbGVyOm1fY29udHJvbGxlciBzaG91bGRJbnNlcnRUZXh0OlN0cmluZyh0ZXh0KSBy
ZXBsYWNpbmdSYW5nZTp3cmFwcGVyKCpJbmplY3RlZEJ1bmRsZVJhbmdlSGFuZGxlOjpnZXRPckNy
ZWF0ZShyYW5nZVRvUmVwbGFjZSkpIGdpdmVuQWN0aW9uOnRvV0soYWN0aW9uKV07CisgICAgICAg
ICAgICByZXR1cm4gW21fY29udHJvbGxlci0+X2VkaXRpbmdEZWxlZ2F0ZS5nZXQoKSBfd2ViUHJv
Y2Vzc1BsdWdJbkJyb3dzZXJDb250ZXh0Q29udHJvbGxlcjptX2NvbnRyb2xsZXIgc2hvdWxkSW5z
ZXJ0VGV4dDpTdHJpbmcodGV4dCkgcmVwbGFjaW5nUmFuZ2U6d3JhcHBlcigqV2ViS2l0OjpJbmpl
Y3RlZEJ1bmRsZVJhbmdlSGFuZGxlOjpnZXRPckNyZWF0ZShyYW5nZVRvUmVwbGFjZSkpIGdpdmVu
QWN0aW9uOnRvV0soYWN0aW9uKV07CiAgICAgICAgIH0KIAotICAgICAgICBib29sIHNob3VsZENo
YW5nZVNlbGVjdGVkUmFuZ2UoV2ViUGFnZSYsIFJhbmdlKiBmcm9tUmFuZ2UsIFJhbmdlKiB0b1Jh
bmdlLCBFQWZmaW5pdHkgYWZmaW5pdHksIGJvb2wgc3RpbGxTZWxlY3RpbmcpIGZpbmFsCisgICAg
ICAgIGJvb2wgc2hvdWxkQ2hhbmdlU2VsZWN0ZWRSYW5nZShXZWJLaXQ6OldlYlBhZ2UmLCBXZWJD
b3JlOjpSYW5nZSogZnJvbVJhbmdlLCBXZWJDb3JlOjpSYW5nZSogdG9SYW5nZSwgV2ViQ29yZTo6
RUFmZmluaXR5IGFmZmluaXR5LCBib29sIHN0aWxsU2VsZWN0aW5nKSBmaW5hbAogICAgICAgICB7
CiAgICAgICAgICAgICBpZiAoIW1fZGVsZWdhdGVNZXRob2RzLnNob3VsZENoYW5nZVNlbGVjdGVk
UmFuZ2UpCiAgICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7CkBAIC02MDQsOSArNTk2LDkgQEAg
LSAodm9pZClfc2V0RWRpdGluZ0RlbGVnYXRlOihpZCA8V0tXZWJQcm9jZXNzUGx1Z0luRWRpdGlu
Z0RlbGVnYXRlPillZGl0aW5nRGVsZWcKICAgICAgICAgICAgIGF1dG8gYXBpRnJvbVJhbmdlID0g
ZnJvbVJhbmdlID8gYWRvcHROUyhbW1dLRE9NUmFuZ2UgYWxsb2NdIF9pbml0V2l0aEltcGw6ZnJv
bVJhbmdlXSkgOiBuaWw7CiAgICAgICAgICAgICBhdXRvIGFwaVRvUmFuZ2UgPSB0b1JhbmdlID8g
YWRvcHROUyhbW1dLRE9NUmFuZ2UgYWxsb2NdIF9pbml0V2l0aEltcGw6dG9SYW5nZV0pIDogbmls
OwogI2lmIFBMQVRGT1JNKElPUykKLSAgICAgICAgICAgIFVJVGV4dFN0b3JhZ2VEaXJlY3Rpb24g
YXBpQWZmaW5pdHkgPSBhZmZpbml0eSA9PSBVUFNUUkVBTSA/IFVJVGV4dFN0b3JhZ2VEaXJlY3Rp
b25CYWNrd2FyZCA6IFVJVGV4dFN0b3JhZ2VEaXJlY3Rpb25Gb3J3YXJkOworICAgICAgICAgICAg
VUlUZXh0U3RvcmFnZURpcmVjdGlvbiBhcGlBZmZpbml0eSA9IGFmZmluaXR5ID09IFdlYkNvcmU6
OlVQU1RSRUFNID8gVUlUZXh0U3RvcmFnZURpcmVjdGlvbkJhY2t3YXJkIDogVUlUZXh0U3RvcmFn
ZURpcmVjdGlvbkZvcndhcmQ7CiAjZWxzZQotICAgICAgICAgICAgTlNTZWxlY3Rpb25BZmZpbml0
eSBhcGlBZmZpbml0eSA9IGFmZmluaXR5ID09IFVQU1RSRUFNID8gTlNTZWxlY3Rpb25BZmZpbml0
eVVwc3RyZWFtIDogTlNTZWxlY3Rpb25BZmZpbml0eURvd25zdHJlYW07CisgICAgICAgICAgICBO
U1NlbGVjdGlvbkFmZmluaXR5IGFwaUFmZmluaXR5ID0gYWZmaW5pdHkgPT0gV2ViQ29yZTo6VVBT
VFJFQU0gPyBOU1NlbGVjdGlvbkFmZmluaXR5VXBzdHJlYW0gOiBOU1NlbGVjdGlvbkFmZmluaXR5
RG93bnN0cmVhbTsKICNlbmRpZgogCiAgICAgICAgICAgICByZXR1cm4gW21fY29udHJvbGxlci0+
X2VkaXRpbmdEZWxlZ2F0ZS5nZXQoKSBfd2ViUHJvY2Vzc1BsdWdJbkJyb3dzZXJDb250ZXh0Q29u
dHJvbGxlcjptX2NvbnRyb2xsZXIgc2hvdWxkQ2hhbmdlU2VsZWN0ZWRSYW5nZTphcGlGcm9tUmFu
Z2UuZ2V0KCkgdG9SYW5nZTphcGlUb1JhbmdlLmdldCgpIGFmZmluaXR5OmFwaUFmZmluaXR5IHN0
aWxsU2VsZWN0aW5nOnN0aWxsU2VsZWN0aW5nXTsKQEAgLTYyNSw3ICs2MTcsNyBAQCAtICh2b2lk
KV9zZXRFZGl0aW5nRGVsZWdhdGU6KGlkIDxXS1dlYlByb2Nlc3NQbHVnSW5FZGl0aW5nRGVsZWdh
dGU+KWVkaXRpbmdEZWxlZwogICAgICAgICAgICAgaWYgKCFtX2RlbGVnYXRlTWV0aG9kcy53aWxs
V3JpdGVUb1Bhc3RlYm9hcmQpCiAgICAgICAgICAgICAgICAgcmV0dXJuOwogCi0gICAgICAgICAg
ICBbbV9jb250cm9sbGVyLT5fZWRpdGluZ0RlbGVnYXRlLmdldCgpIF93ZWJQcm9jZXNzUGx1Z0lu
QnJvd3NlckNvbnRleHRDb250cm9sbGVyOm1fY29udHJvbGxlciB3aWxsV3JpdGVSYW5nZVRvUGFz
dGVib2FyZDp3cmFwcGVyKCpJbmplY3RlZEJ1bmRsZVJhbmdlSGFuZGxlOjpnZXRPckNyZWF0ZShy
YW5nZSkuZ2V0KCkpXTsKKyAgICAgICAgICAgIFttX2NvbnRyb2xsZXItPl9lZGl0aW5nRGVsZWdh
dGUuZ2V0KCkgX3dlYlByb2Nlc3NQbHVnSW5Ccm93c2VyQ29udGV4dENvbnRyb2xsZXI6bV9jb250
cm9sbGVyIHdpbGxXcml0ZVJhbmdlVG9QYXN0ZWJvYXJkOndyYXBwZXIoKldlYktpdDo6SW5qZWN0
ZWRCdW5kbGVSYW5nZUhhbmRsZTo6Z2V0T3JDcmVhdGUocmFuZ2UpLmdldCgpKV07CiAgICAgICAg
IH0KIAogICAgICAgICB2b2lkIGdldFBhc3RlYm9hcmREYXRhRm9yUmFuZ2UoV2ViS2l0OjpXZWJQ
YWdlJiwgV2ViQ29yZTo6UmFuZ2UqIHJhbmdlLCBWZWN0b3I8U3RyaW5nPiYgcGFzdGVib2FyZFR5
cGVzLCBWZWN0b3I8UmVmUHRyPFdlYkNvcmU6OlNoYXJlZEJ1ZmZlcj4+JiBwYXN0ZWJvYXJkRGF0
YSkgZmluYWwKQEAgLTYzMywxMCArNjI1LDEwIEBAIC0gKHZvaWQpX3NldEVkaXRpbmdEZWxlZ2F0
ZTooaWQgPFdLV2ViUHJvY2Vzc1BsdWdJbkVkaXRpbmdEZWxlZ2F0ZT4pZWRpdGluZ0RlbGVnCiAg
ICAgICAgICAgICBpZiAoIW1fZGVsZWdhdGVNZXRob2RzLmdldFBhc3RlYm9hcmREYXRhRm9yUmFu
Z2UpCiAgICAgICAgICAgICAgICAgcmV0dXJuOwogCi0gICAgICAgICAgICBhdXRvIGRhdGFCeVR5
cGUgPSBbbV9jb250cm9sbGVyLT5fZWRpdGluZ0RlbGVnYXRlLmdldCgpIF93ZWJQcm9jZXNzUGx1
Z0luQnJvd3NlckNvbnRleHRDb250cm9sbGVyOm1fY29udHJvbGxlciBwYXN0ZWJvYXJkRGF0YUZv
clJhbmdlOndyYXBwZXIoKkluamVjdGVkQnVuZGxlUmFuZ2VIYW5kbGU6OmdldE9yQ3JlYXRlKHJh
bmdlKS5nZXQoKSldOworICAgICAgICAgICAgYXV0byBkYXRhQnlUeXBlID0gW21fY29udHJvbGxl
ci0+X2VkaXRpbmdEZWxlZ2F0ZS5nZXQoKSBfd2ViUHJvY2Vzc1BsdWdJbkJyb3dzZXJDb250ZXh0
Q29udHJvbGxlcjptX2NvbnRyb2xsZXIgcGFzdGVib2FyZERhdGFGb3JSYW5nZTp3cmFwcGVyKCpX
ZWJLaXQ6OkluamVjdGVkQnVuZGxlUmFuZ2VIYW5kbGU6OmdldE9yQ3JlYXRlKHJhbmdlKS5nZXQo
KSldOwogICAgICAgICAgICAgZm9yIChOU1N0cmluZyAqdHlwZSBpbiBkYXRhQnlUeXBlKSB7CiAg
ICAgICAgICAgICAgICAgcGFzdGVib2FyZFR5cGVzLmFwcGVuZCh0eXBlKTsKLSAgICAgICAgICAg
ICAgICBwYXN0ZWJvYXJkRGF0YS5hcHBlbmQoU2hhcmVkQnVmZmVyOjpjcmVhdGUoZGF0YUJ5VHlw
ZVt0eXBlXSkpOworICAgICAgICAgICAgICAgIHBhc3RlYm9hcmREYXRhLmFwcGVuZChXZWJDb3Jl
OjpTaGFyZWRCdWZmZXI6OmNyZWF0ZShkYXRhQnlUeXBlW3R5cGVdKSk7CiAgICAgICAgICAgICB9
OwogICAgICAgICB9CiAKQEAgLTY1Myw4ICs2NDUsOCBAQCAtICh2b2lkKV9zZXRFZGl0aW5nRGVs
ZWdhdGU6KGlkIDxXS1dlYlByb2Nlc3NQbHVnSW5FZGl0aW5nRGVsZWdhdGU+KWVkaXRpbmdEZWxl
ZwogICAgICAgICAgICAgaWYgKCFtX2RlbGVnYXRlTWV0aG9kcy5wZXJmb3JtVHdvU3RlcERyb3Ap
CiAgICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogCi0gICAgICAgICAgICBhdXRvIHJhbmdl
SGFuZGxlID0gSW5qZWN0ZWRCdW5kbGVSYW5nZUhhbmRsZTo6Z2V0T3JDcmVhdGUoJnJhbmdlKTsK
LSAgICAgICAgICAgIGF1dG8gbm9kZUhhbmRsZSA9IEluamVjdGVkQnVuZGxlTm9kZUhhbmRsZTo6
Z2V0T3JDcmVhdGUoJmZyYWdtZW50KTsKKyAgICAgICAgICAgIGF1dG8gcmFuZ2VIYW5kbGUgPSBX
ZWJLaXQ6OkluamVjdGVkQnVuZGxlUmFuZ2VIYW5kbGU6OmdldE9yQ3JlYXRlKCZyYW5nZSk7Cisg
ICAgICAgICAgICBhdXRvIG5vZGVIYW5kbGUgPSBXZWJLaXQ6OkluamVjdGVkQnVuZGxlTm9kZUhh
bmRsZTo6Z2V0T3JDcmVhdGUoJmZyYWdtZW50KTsKICAgICAgICAgICAgIHJldHVybiBbbV9jb250
cm9sbGVyLT5fZWRpdGluZ0RlbGVnYXRlLmdldCgpIF93ZWJQcm9jZXNzUGx1Z0luQnJvd3NlckNv
bnRleHRDb250cm9sbGVyOm1fY29udHJvbGxlciBwZXJmb3JtVHdvU3RlcERyb3A6d3JhcHBlcigq
bm9kZUhhbmRsZSkgYXREZXN0aW5hdGlvbjp3cmFwcGVyKCpyYW5nZUhhbmRsZSkgaXNNb3ZlOmlz
TW92ZV07CiAgICAgICAgIH0KIAo=
</data>

          </attachment>
      

    </bug>

</bugzilla>