<?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>229285</bug_id>
          
          <creation_ts>2021-08-19 01:04:02 -0700</creation_ts>
          <short_desc>Add support for RTCIceTransport</short_desc>
          <delta_ts>2021-09-02 06:01:39 -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>WebRTC</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="youenn fablet">youennf</reporter>
          <assigned_to name="youenn fablet">youennf</assigned_to>
          <cc>cdumez</cc>
    
    <cc>eric.carlson</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>glenn</cc>
    
    <cc>hta</cc>
    
    <cc>jer.noble</cc>
    
    <cc>kangil.han</cc>
    
    <cc>kondapallykalyan</cc>
    
    <cc>philipj</cc>
    
    <cc>sergio</cc>
    
    <cc>tommyw</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>youennf</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1785401</commentid>
    <comment_count>0</comment_count>
    <who name="youenn fablet">youennf</who>
    <bug_when>2021-08-19 01:04:02 -0700</bug_when>
    <thetext>Add support for RTCIceTransport</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1785505</commentid>
    <comment_count>1</comment_count>
      <attachid>435878</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2021-08-19 10:09:26 -0700</bug_when>
    <thetext>Created attachment 435878
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1787502</commentid>
    <comment_count>2</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2021-08-26 01:04:17 -0700</bug_when>
    <thetext>&lt;rdar://problem/82378705&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1787533</commentid>
    <comment_count>3</comment_count>
      <attachid>436492</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2021-08-26 03:59:43 -0700</bug_when>
    <thetext>Created attachment 436492
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1787534</commentid>
    <comment_count>4</comment_count>
      <attachid>436493</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2021-08-26 04:06:19 -0700</bug_when>
    <thetext>Created attachment 436493
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1788823</commentid>
    <comment_count>5</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2021-08-31 02:07:14 -0700</bug_when>
    <thetext>Committed r281796 (241133@main): &lt;https://commits.webkit.org/241133@main&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 436493.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1788859</commentid>
    <comment_count>6</comment_count>
    <who name="youenn fablet">youennf</who>
    <bug_when>2021-08-31 03:48:41 -0700</bug_when>
    <thetext>Reopening to attach new patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1788860</commentid>
    <comment_count>7</comment_count>
      <attachid>436872</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2021-08-31 03:48:45 -0700</bug_when>
    <thetext>Created attachment 436872
Patch</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>435878</attachid>
            <date>2021-08-19 10:09:26 -0700</date>
            <delta_ts>2021-08-26 03:59:39 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-229285-20210819190925.patch</filename>
            <type>text/plain</type>
            <size>51800</size>
            <attacher name="youenn fablet">youennf</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjgxMjMzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZDdlNzI4NTI2ZDUxNDBj
YTk2ZjQ0MjkzMzBjNzAzNzdmNWJiMGU2Yi4uNDQ3MTkyZThjNWIzYmZkOTMwMjU0OTBmMDgyM2Fk
Y2FjZDhkZWY1ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDY2IEBACisyMDIxLTA4LTE5ICBZb3Vl
bm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KKworICAgICAgICBBZGQgc3VwcG9ydCBmb3Ig
UlRDSWNlVHJhbnNwb3J0CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD0yMjkyODUKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKwor
ICAgICAgICBJbnRyb2R1Y2UgUlRDSWNlVHJhbnNwb3J0IGFzIHBlciBzcGVjLgorICAgICAgICBS
ZXVzZSB0aGUgc2FtZSBtb2RlbCBhcyBSVENEdGxzVHJhbnNwb3J0IHdpdGggYSBiYWNrZW5kIGFu
ZCBSVENQZWVyQ29ubmVjdGlvbiBiZSByZXNwb25zaWJsZSB0byByZXVzZSBvciBjcmVhdGUgdHJh
bnNwb3J0cyBhcyBuZWVkZWQuCisKKyAgICAgICAgQ292ZXJlZCBieSB1cGRhdGVkIHRlc3RzLgor
CisgICAgICAgICogTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENEdGxzVHJhbnNwb3J0LmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OlJUQ0R0bHNUcmFuc3BvcnQ6OlJUQ0R0bHNUcmFuc3BvcnQpOgorICAg
ICAgICAqIE1vZHVsZXMvbWVkaWFzdHJlYW0vUlRDRHRsc1RyYW5zcG9ydC5oOgorICAgICAgICAq
IE1vZHVsZXMvbWVkaWFzdHJlYW0vUlRDRHRsc1RyYW5zcG9ydC5pZGw6CisgICAgICAgICogTW9k
dWxlcy9tZWRpYXN0cmVhbS9SVENEdGxzVHJhbnNwb3J0QmFja2VuZC5oOgorICAgICAgICAqIE1v
ZHVsZXMvbWVkaWFzdHJlYW0vUlRDSWNlVHJhbnNwb3J0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OlJUQ0ljZVRyYW5zcG9ydDo6UlRDSWNlVHJhbnNwb3J0KToKKyAgICAgICAgKFdlYkNvcmU6OlJU
Q0ljZVRyYW5zcG9ydDo6flJUQ0ljZVRyYW5zcG9ydCk6CisgICAgICAgIChXZWJDb3JlOjpSVENJ
Y2VUcmFuc3BvcnQ6OnN0b3ApOgorICAgICAgICAoV2ViQ29yZTo6UlRDSWNlVHJhbnNwb3J0Ojp2
aXJ0dWFsSGFzUGVuZGluZ0FjdGl2aXR5IGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OlJUQ0lj
ZVRyYW5zcG9ydDo6b25TdGF0ZUNoYW5nZWQpOgorICAgICAgICAoV2ViQ29yZTo6UlRDSWNlVHJh
bnNwb3J0OjpvbkdhdGhlcmluZ1N0YXRlQ2hhbmdlZCk6CisgICAgICAgICogTW9kdWxlcy9tZWRp
YXN0cmVhbS9SVENJY2VUcmFuc3BvcnQuaDoKKyAgICAgICAgKFdlYkNvcmU6OlJUQ0ljZVRyYW5z
cG9ydDo6Y3JlYXRlKToKKyAgICAgICAgKFdlYkNvcmU6OlJUQ0ljZVRyYW5zcG9ydDo6c3RhdGUg
Y29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6UlRDSWNlVHJhbnNwb3J0OjpiYWNrZW5kIGNvbnN0
KToKKyAgICAgICAgKiBNb2R1bGVzL21lZGlhc3RyZWFtL1JUQ0ljZVRyYW5zcG9ydC5pZGw6Cisg
ICAgICAgICogTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENJY2VUcmFuc3BvcnRCYWNrZW5kLmg6IEFk
ZGVkLgorICAgICAgICAoV2ViQ29yZTo6b3BlcmF0b3I9PSk6CisgICAgICAgICogTW9kdWxlcy9t
ZWRpYXN0cmVhbS9SVENQZWVyQ29ubmVjdGlvbi5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSVENQ
ZWVyQ29ubmVjdGlvbjo6Y29tcHV0ZUNvbm5lY3Rpb25TdGF0ZSk6CisgICAgICAgIChXZWJDb3Jl
OjpSVENQZWVyQ29ubmVjdGlvbjo6dXBkYXRlQ29ubmVjdGlvblN0YXRlKToKKyAgICAgICAgKFdl
YkNvcmU6OmlzSWNlVHJhbnNwb3J0VXNlZEJ5VHJhbnNjZWl2ZXIpOgorICAgICAgICAoV2ViQ29y
ZTo6UlRDUGVlckNvbm5lY3Rpb246OmNvbXB1dGVJY2VDb25uZWN0aW9uU3RhdGVGcm9tSWNlVHJh
bnNwb3J0cyk6CisgICAgICAgIChXZWJDb3JlOjpSVENQZWVyQ29ubmVjdGlvbjo6cHJvY2Vzc0lj
ZVRyYW5zcG9ydFN0YXRlQ2hhbmdlKToKKyAgICAgICAgKFdlYkNvcmU6OlJUQ1BlZXJDb25uZWN0
aW9uOjpnZXRPckNyZWF0ZUljZVRyYW5zcG9ydCk6CisgICAgICAgIChXZWJDb3JlOjpSVENQZWVy
Q29ubmVjdGlvbjo6Z2V0T3JDcmVhdGVEdGxzVHJhbnNwb3J0KToKKyAgICAgICAgKiBNb2R1bGVz
L21lZGlhc3RyZWFtL1JUQ1BlZXJDb25uZWN0aW9uLmg6CisgICAgICAgICogTW9kdWxlcy9tZWRp
YXN0cmVhbS9saWJ3ZWJydGMvTGliV2ViUlRDRHRsc1RyYW5zcG9ydEJhY2tlbmQuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6TGliV2ViUlRDRHRsc1RyYW5zcG9ydEJhY2tlbmQ6OmljZVRyYW5zcG9y
dEJhY2tlbmQpOgorICAgICAgICAqIE1vZHVsZXMvbWVkaWFzdHJlYW0vbGlid2VicnRjL0xpYldl
YlJUQ0R0bHNUcmFuc3BvcnRCYWNrZW5kLmg6CisgICAgICAgICogTW9kdWxlcy9tZWRpYXN0cmVh
bS9saWJ3ZWJydGMvTGliV2ViUlRDSWNlVHJhbnNwb3J0QmFja2VuZC5jcHA6IEFkZGVkLgorICAg
ICAgICAoV2ViQ29yZTo6dG9SVENJY2VUcmFuc3BvcnRTdGF0ZSk6CisgICAgICAgIChXZWJDb3Jl
Ojp0b1JUQ0ljZUdhdGhlcmluZ1N0YXRlKToKKyAgICAgICAgKFdlYkNvcmU6OkxpYldlYlJUQ0lj
ZVRyYW5zcG9ydEJhY2tlbmRPYnNlcnZlcjo6TGliV2ViUlRDSWNlVHJhbnNwb3J0QmFja2VuZE9i
c2VydmVyKToKKyAgICAgICAgKFdlYkNvcmU6OkxpYldlYlJUQ0ljZVRyYW5zcG9ydEJhY2tlbmRP
YnNlcnZlcjo6c3RhcnQpOgorICAgICAgICAoV2ViQ29yZTo6TGliV2ViUlRDSWNlVHJhbnNwb3J0
QmFja2VuZE9ic2VydmVyOjpzdG9wKToKKyAgICAgICAgKFdlYkNvcmU6OkxpYldlYlJUQ0ljZVRy
YW5zcG9ydEJhY2tlbmRPYnNlcnZlcjo6b25JY2VUcmFuc3BvcnRTdGF0ZUNoYW5nZWQpOgorICAg
ICAgICAoV2ViQ29yZTo6TGliV2ViUlRDSWNlVHJhbnNwb3J0QmFja2VuZE9ic2VydmVyOjpvbkdh
dGhlcmluZ1N0YXRlQ2hhbmdlZCk6CisgICAgICAgIChXZWJDb3JlOjpMaWJXZWJSVENJY2VUcmFu
c3BvcnRCYWNrZW5kOjpMaWJXZWJSVENJY2VUcmFuc3BvcnRCYWNrZW5kKToKKyAgICAgICAgKFdl
YkNvcmU6OkxpYldlYlJUQ0ljZVRyYW5zcG9ydEJhY2tlbmQ6On5MaWJXZWJSVENJY2VUcmFuc3Bv
cnRCYWNrZW5kKToKKyAgICAgICAgKFdlYkNvcmU6OkxpYldlYlJUQ0ljZVRyYW5zcG9ydEJhY2tl
bmQ6OnJlZ2lzdGVyQ2xpZW50KToKKyAgICAgICAgKFdlYkNvcmU6OkxpYldlYlJUQ0ljZVRyYW5z
cG9ydEJhY2tlbmQ6OnVucmVnaXN0ZXJDbGllbnQpOgorICAgICAgICAqIE1vZHVsZXMvbWVkaWFz
dHJlYW0vbGlid2VicnRjL0xpYldlYlJUQ0ljZVRyYW5zcG9ydEJhY2tlbmQuaDogQWRkZWQuCisg
ICAgICAgICogTW9kdWxlcy9tZWRpYXN0cmVhbS9saWJ3ZWJydGMvTGliV2ViUlRDTWVkaWFFbmRw
b2ludC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpMaWJXZWJSVENNZWRpYUVuZHBvaW50OjpPbklj
ZUNvbm5lY3Rpb25DaGFuZ2UpOgorICAgICAgICAqIFNvdXJjZXMudHh0OgorICAgICAgICAqIFdl
YkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajoKKyAgICAgICAgKiBkb20vRXZlbnROYW1l
cy5oOgorICAgICAgICAqIGRvbS9FdmVudFRhcmdldEZhY3RvcnkuaW46CisKIDIwMjEtMDgtMTkg
IFlvdWVubiBGYWJsZXQgIDx5b3Vlbm5AYXBwbGUuY29tPgogCiAgICAgICAgIFNpZ25hbGluZyBz
dGF0ZSBjaGVjayB3aGVuIGFwcGx5aW5nIGEgbG9jYWwgb3IgcmVtb3RlIGRlc2NyaXB0aW9uIGlz
IG5vIGxvbmdlciBhbGlnbmVkIHdpdGggdGhlIFdlYlJUQyBzcGVjCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1JUQ0R0bHNUcmFuc3BvcnQuY3BwIGIvU291
cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENEdGxzVHJhbnNwb3J0LmNwcAppbmRl
eCAzYTRiNWVmNjBiMWY0NDk4NDM3YmRhMDIyZTAxZjNiOTgwMGJlMmJlLi4xNThlNWY2OGU5ZThm
MDI1YWVmMDUwZjNiZTRiZDk1ODBhYzg4YzY3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL21lZGlhc3RyZWFtL1JUQ0R0bHNUcmFuc3BvcnQuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vUlRDRHRsc1RyYW5zcG9ydC5jcHAKQEAgLTMzLDYgKzMz
LDcgQEAKICNpbmNsdWRlICJMb2dnaW5nLmgiCiAjaW5jbHVkZSAiTm90SW1wbGVtZW50ZWQuaCIK
ICNpbmNsdWRlICJSVENEdGxzVHJhbnNwb3J0QmFja2VuZC5oIgorI2luY2x1ZGUgIlJUQ0ljZVRy
YW5zcG9ydC5oIgogI2luY2x1ZGUgIlNjcmlwdEV4ZWN1dGlvbkNvbnRleHQuaCIKICNpbmNsdWRl
IDx3dGYvSXNvTWFsbG9jSW5saW5lcy5oPgogCkBAIC00MCw5ICs0MSwxMCBAQCBuYW1lc3BhY2Ug
V2ViQ29yZSB7CiAKIFdURl9NQUtFX0lTT19BTExPQ0FURURfSU1QTChSVENEdGxzVHJhbnNwb3J0
KTsKIAotUlRDRHRsc1RyYW5zcG9ydDo6UlRDRHRsc1RyYW5zcG9ydChTY3JpcHRFeGVjdXRpb25D
b250ZXh0JiBjb250ZXh0LCBVbmlxdWVSZWY8UlRDRHRsc1RyYW5zcG9ydEJhY2tlbmQ+JiYgYmFj
a2VuZCkKK1JUQ0R0bHNUcmFuc3BvcnQ6OlJUQ0R0bHNUcmFuc3BvcnQoU2NyaXB0RXhlY3V0aW9u
Q29udGV4dCYgY29udGV4dCwgVW5pcXVlUmVmPFJUQ0R0bHNUcmFuc3BvcnRCYWNrZW5kPiYmIGJh
Y2tlbmQsIFJlZjxSVENJY2VUcmFuc3BvcnQ+JiYgaWNlVHJhbnNwb3J0KQogICAgIDogQWN0aXZl
RE9NT2JqZWN0KCZjb250ZXh0KQogICAgICwgbV9iYWNrZW5kKFdURk1vdmUoYmFja2VuZCkpCisg
ICAgLCBtX2ljZVRyYW5zcG9ydChXVEZNb3ZlKGljZVRyYW5zcG9ydCkpCiB7CiAgICAgc3VzcGVu
ZElmTmVlZGVkKCk7CiAgICAgbV9iYWNrZW5kLT5yZWdpc3RlckNsaWVudCgqdGhpcyk7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1JUQ0R0bHNUcmFuc3Bv
cnQuaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vUlRDRHRsc1RyYW5zcG9y
dC5oCmluZGV4IDlhNDljYzAyNWRkMDllMWI2ZDczN2Q0YjFlZjIyYTgwN2RjZjZjNjguLmU4NzA3
ZjBiZTliZmQ2ZTFjYjhiZDUyZWFmM2I1OWEzODgzY2UxMGUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vUlRDRHRsc1RyYW5zcG9ydC5oCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vUlRDRHRsc1RyYW5zcG9ydC5oCkBAIC0zNSwy
NSArMzUsMjcgQEAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogY2xhc3MgUGVlckNvbm5lY3Rpb25C
YWNrZW5kOworY2xhc3MgUlRDSWNlVHJhbnNwb3J0OwogY2xhc3MgUlRDUGVlckNvbm5lY3Rpb247
CiBjbGFzcyBTY3JpcHRFeGVjdXRpb25Db250ZXh0OwogCiBjbGFzcyBSVENEdGxzVHJhbnNwb3J0
IGZpbmFsIDogcHVibGljIFJlZkNvdW50ZWQ8UlRDRHRsc1RyYW5zcG9ydD4sIHB1YmxpYyBBY3Rp
dmVET01PYmplY3QsIHB1YmxpYyBFdmVudFRhcmdldFdpdGhJbmxpbmVEYXRhLCBwdWJsaWMgUlRD
RHRsc1RyYW5zcG9ydEJhY2tlbmQ6OkNsaWVudCB7CiAgICAgV1RGX01BS0VfSVNPX0FMTE9DQVRF
RChSVENEdGxzVHJhbnNwb3J0KTsKIHB1YmxpYzoKLSAgICBzdGF0aWMgUmVmPFJUQ0R0bHNUcmFu
c3BvcnQ+IGNyZWF0ZShTY3JpcHRFeGVjdXRpb25Db250ZXh0JiBjb250ZXh0LCBVbmlxdWVSZWY8
UlRDRHRsc1RyYW5zcG9ydEJhY2tlbmQ+JiYgYmFja2VuZCkgeyByZXR1cm4gYWRvcHRSZWYoKm5l
dyBSVENEdGxzVHJhbnNwb3J0KGNvbnRleHQsIFdURk1vdmUoYmFja2VuZCkpKTsgfQorICAgIHN0
YXRpYyBSZWY8UlRDRHRsc1RyYW5zcG9ydD4gY3JlYXRlKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQm
IGNvbnRleHQsIFVuaXF1ZVJlZjxSVENEdGxzVHJhbnNwb3J0QmFja2VuZD4mJiBiYWNrZW5kLCBS
ZWY8UlRDSWNlVHJhbnNwb3J0PiYmIGljZVRyYW5zcG9ydCkgeyByZXR1cm4gYWRvcHRSZWYoKm5l
dyBSVENEdGxzVHJhbnNwb3J0KGNvbnRleHQsIFdURk1vdmUoYmFja2VuZCksIFdURk1vdmUoaWNl
VHJhbnNwb3J0KSkpOyB9CiAgICAgflJUQ0R0bHNUcmFuc3BvcnQoKTsKIAogICAgIHVzaW5nIFJl
ZkNvdW50ZWQ8UlRDRHRsc1RyYW5zcG9ydD46OnJlZjsKICAgICB1c2luZyBSZWZDb3VudGVkPFJU
Q0R0bHNUcmFuc3BvcnQ+OjpkZXJlZjsKIAorICAgIFJUQ0ljZVRyYW5zcG9ydCYgaWNlVHJhbnNw
b3J0KCkgeyByZXR1cm4gbV9pY2VUcmFuc3BvcnQuZ2V0KCk7IH0KICAgICBSVENEdGxzVHJhbnNw
b3J0U3RhdGUgc3RhdGUoKSB7IHJldHVybiBtX3N0YXRlOyB9CiAgICAgVmVjdG9yPFJlZjxKU0M6
OkFycmF5QnVmZmVyPj4gZ2V0UmVtb3RlQ2VydGlmaWNhdGVzKCk7CiAKICAgICBjb25zdCBSVENE
dGxzVHJhbnNwb3J0QmFja2VuZCYgYmFja2VuZCgpIGNvbnN0IHsgcmV0dXJuIG1fYmFja2VuZC5n
ZXQoKTsgfQogCiBwcml2YXRlOgotICAgIFJUQ0R0bHNUcmFuc3BvcnQoU2NyaXB0RXhlY3V0aW9u
Q29udGV4dCYsIFVuaXF1ZVJlZjxSVENEdGxzVHJhbnNwb3J0QmFja2VuZD4mJik7CisgICAgUlRD
RHRsc1RyYW5zcG9ydChTY3JpcHRFeGVjdXRpb25Db250ZXh0JiwgVW5pcXVlUmVmPFJUQ0R0bHNU
cmFuc3BvcnRCYWNrZW5kPiYmLCBSZWY8UlRDSWNlVHJhbnNwb3J0PiYmKTsKIAogICAgIC8vIEV2
ZW50VGFyZ2V0V2l0aElubGluZURhdGEKICAgICBFdmVudFRhcmdldEludGVyZmFjZSBldmVudFRh
cmdldEludGVyZmFjZSgpIGNvbnN0IGZpbmFsIHsgcmV0dXJuIFJUQ0R0bHNUcmFuc3BvcnRFdmVu
dFRhcmdldEludGVyZmFjZVR5cGU7IH0KQEAgLTcxLDYgKzczLDcgQEAgcHJpdmF0ZToKICAgICB2
b2lkIG9uRXJyb3IoKSBmaW5hbDsKIAogICAgIFVuaXF1ZVJlZjxSVENEdGxzVHJhbnNwb3J0QmFj
a2VuZD4gbV9iYWNrZW5kOworICAgIFJlZjxSVENJY2VUcmFuc3BvcnQ+IG1faWNlVHJhbnNwb3J0
OwogICAgIFJUQ0R0bHNUcmFuc3BvcnRTdGF0ZSBtX3N0YXRlIHsgUlRDRHRsc1RyYW5zcG9ydFN0
YXRlOjpOZXcgfTsKICAgICBWZWN0b3I8UmVmPEpTQzo6QXJyYXlCdWZmZXI+PiBtX3JlbW90ZUNl
cnRpZmljYXRlczsKIH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlh
c3RyZWFtL1JUQ0R0bHNUcmFuc3BvcnQuaWRsIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRp
YXN0cmVhbS9SVENEdGxzVHJhbnNwb3J0LmlkbAppbmRleCBjN2U1YzIzY2VlNTExZGE1YmY4Nzk0
MzdiODkyNmU0NjU4YWJmOWJjLi45NmYyNzE5YWI1YjY3MTQ0YjZkYTQwNTZhNGYxYjY3NGYxNzdk
OGExIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1JUQ0R0
bHNUcmFuc3BvcnQuaWRsCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0v
UlRDRHRsc1RyYW5zcG9ydC5pZGwKQEAgLTI4LDcgKzI4LDcgQEAKICAgICBFbmFibGVkQnlTZXR0
aW5nPVBlZXJDb25uZWN0aW9uLAogICAgIEV4cG9zZWQ9KFdpbmRvdyksCiBdIGludGVyZmFjZSBS
VENEdGxzVHJhbnNwb3J0IDogRXZlbnRUYXJnZXQgewotICAvLyBbU2FtZU9iamVjdF0gcmVhZG9u
bHkgYXR0cmlidXRlIFJUQ0ljZVRyYW5zcG9ydCBpY2VUcmFuc3BvcnQ7CisgIFtTYW1lT2JqZWN0
XSByZWFkb25seSBhdHRyaWJ1dGUgUlRDSWNlVHJhbnNwb3J0IGljZVRyYW5zcG9ydDsKICAgcmVh
ZG9ubHkgYXR0cmlidXRlIFJUQ0R0bHNUcmFuc3BvcnRTdGF0ZSBzdGF0ZTsKICAgc2VxdWVuY2U8
QXJyYXlCdWZmZXI+IGdldFJlbW90ZUNlcnRpZmljYXRlcygpOwogICBhdHRyaWJ1dGUgRXZlbnRI
YW5kbGVyIG9uc3RhdGVjaGFuZ2U7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L21lZGlhc3RyZWFtL1JUQ0R0bHNUcmFuc3BvcnRCYWNrZW5kLmggYi9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL21lZGlhc3RyZWFtL1JUQ0R0bHNUcmFuc3BvcnRCYWNrZW5kLmgKaW5kZXggNDYxZWVl
N2ZjOTcxYTMzOGU0MTE1MmVhZjhjYzBmOWJlMzQzMjhiMC4uNjYyNDA3ZDVhN2JlMjc5NjUzZGNj
ZmMzMTM1ZWFmMmNmZDc4YTBlYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9t
ZWRpYXN0cmVhbS9SVENEdGxzVHJhbnNwb3J0QmFja2VuZC5oCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvbWVkaWFzdHJlYW0vUlRDRHRsc1RyYW5zcG9ydEJhY2tlbmQuaApAQCAtMzUsMTIg
KzM1LDE1IEBAIGNsYXNzIEFycmF5QnVmZmVyOwogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKK2Ns
YXNzIFJUQ0ljZVRyYW5zcG9ydEJhY2tlbmQ7CisKIGNsYXNzIFJUQ0R0bHNUcmFuc3BvcnRCYWNr
ZW5kIHsKIHB1YmxpYzoKICAgICB2aXJ0dWFsIH5SVENEdGxzVHJhbnNwb3J0QmFja2VuZCgpID0g
ZGVmYXVsdDsKIAogICAgIHZpcnR1YWwgY29uc3Qgdm9pZCogYmFja2VuZCgpIGNvbnN0ID0gMDsK
LSAgICAKKyAgICB2aXJ0dWFsIFVuaXF1ZVJlZjxSVENJY2VUcmFuc3BvcnRCYWNrZW5kPiBpY2VU
cmFuc3BvcnRCYWNrZW5kKCkgPSAwOworCiAgICAgY2xhc3MgQ2xpZW50IDogcHVibGljIENhbk1h
a2VXZWFrUHRyPENsaWVudD4gewogICAgIHB1YmxpYzoKICAgICAgICAgdmlydHVhbCB+Q2xpZW50
KCkgPSBkZWZhdWx0OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0
cmVhbS9SVENJY2VUcmFuc3BvcnQuY3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0
cmVhbS9SVENJY2VUcmFuc3BvcnQuY3BwCmluZGV4IGM5MWZjN2E0MjNhMTM5ZTUyYTY5NTgyZDlj
NWFlYWQ5Njk0OGUzNGYuLmRmOGM0MWU4NTQxNGI5NDNiZmViMjc2M2IxODZlOTQ3M2UyOTE4ZWEg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vUlRDSWNlVHJh
bnNwb3J0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1JUQ0lj
ZVRyYW5zcG9ydC5jcHAKQEAgLTI4LDE0ICsyOCw2NyBAQAogCiAjaWYgRU5BQkxFKFdFQl9SVEMp
CiAKKyNpbmNsdWRlICJFdmVudC5oIgorI2luY2x1ZGUgIkV2ZW50TmFtZXMuaCIKKyNpbmNsdWRl
ICJSVENQZWVyQ29ubmVjdGlvbi5oIgogI2luY2x1ZGUgPHd0Zi9Jc29NYWxsb2NJbmxpbmVzLmg+
CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogV1RGX01BS0VfSVNPX0FMTE9DQVRFRF9JTVBMKFJU
Q0ljZVRyYW5zcG9ydCk7CiAKK1JUQ0ljZVRyYW5zcG9ydDo6UlRDSWNlVHJhbnNwb3J0KFNjcmlw
dEV4ZWN1dGlvbkNvbnRleHQmIGNvbnRleHQsIFVuaXF1ZVJlZjxSVENJY2VUcmFuc3BvcnRCYWNr
ZW5kPiYmIGJhY2tlbmQsIFJUQ1BlZXJDb25uZWN0aW9uJiBjb25uZWN0aW9uKQorICAgIDogQWN0
aXZlRE9NT2JqZWN0KCZjb250ZXh0KQorICAgICwgbV9iYWNrZW5kKFdURk1vdmUoYmFja2VuZCkp
CisgICAgLCBtX2Nvbm5lY3Rpb24obWFrZVdlYWtQdHIoY29ubmVjdGlvbikpCit7CisgICAgc3Vz
cGVuZElmTmVlZGVkKCk7CisgICAgbV9iYWNrZW5kLT5yZWdpc3RlckNsaWVudCgqdGhpcyk7Cit9
CisKIFJUQ0ljZVRyYW5zcG9ydDo6flJUQ0ljZVRyYW5zcG9ydCgpCiB7CisgICAgbV9iYWNrZW5k
LT51bnJlZ2lzdGVyQ2xpZW50KCk7Cit9CisKK3ZvaWQgUlRDSWNlVHJhbnNwb3J0OjpzdG9wKCkK
K3sKKyAgICBtX2lzU3RvcHBlZCA9IHRydWU7CisgICAgbV90cmFuc3BvcnRTdGF0ZSA9IFJUQ0lj
ZVRyYW5zcG9ydFN0YXRlOjpDbG9zZWQ7Cit9CisKK2Jvb2wgUlRDSWNlVHJhbnNwb3J0Ojp2aXJ0
dWFsSGFzUGVuZGluZ0FjdGl2aXR5KCkgY29uc3QKK3sKKyAgICByZXR1cm4gbV90cmFuc3BvcnRT
dGF0ZSAhPSBSVENJY2VUcmFuc3BvcnRTdGF0ZTo6Q2xvc2VkICYmIGhhc0V2ZW50TGlzdGVuZXJz
KCk7Cit9CisKK3ZvaWQgUlRDSWNlVHJhbnNwb3J0OjpvblN0YXRlQ2hhbmdlZChSVENJY2VUcmFu
c3BvcnRTdGF0ZSBzdGF0ZSkKK3sKKyAgICBxdWV1ZVRhc2tLZWVwaW5nT2JqZWN0QWxpdmUoKnRo
aXMsIFRhc2tTb3VyY2U6Ok5ldHdvcmtpbmcsIFt0aGlzLCBzdGF0ZV0oKSBtdXRhYmxlIHsKKyAg
ICAgICAgaWYgKG1faXNTdG9wcGVkKQorICAgICAgICAgICAgcmV0dXJuOworCisgICAgICAgIGlm
IChtX3RyYW5zcG9ydFN0YXRlID09IHN0YXRlKQorICAgICAgICAgICAgcmV0dXJuOworCisgICAg
ICAgIG1fdHJhbnNwb3J0U3RhdGUgPSBzdGF0ZTsKKyAgICAgICAgaWYgKG1fY29ubmVjdGlvbikK
KyAgICAgICAgICAgIG1fY29ubmVjdGlvbi0+cHJvY2Vzc0ljZVRyYW5zcG9ydFN0YXRlQ2hhbmdl
KCp0aGlzKTsKKyAgICB9KTsKK30KKwordm9pZCBSVENJY2VUcmFuc3BvcnQ6Om9uR2F0aGVyaW5n
U3RhdGVDaGFuZ2VkKFJUQ0ljZUdhdGhlcmluZ1N0YXRlIHN0YXRlKQoreworICAgIHF1ZXVlVGFz
a0tlZXBpbmdPYmplY3RBbGl2ZSgqdGhpcywgVGFza1NvdXJjZTo6TmV0d29ya2luZywgW3RoaXMs
IHN0YXRlXSgpIG11dGFibGUgeworICAgICAgICBpZiAobV9pc1N0b3BwZWQpCisgICAgICAgICAg
ICByZXR1cm47CisKKyAgICAgICAgaWYgKG1fZ2F0aGVyaW5nU3RhdGUgPT0gc3RhdGUpCisgICAg
ICAgICAgICByZXR1cm47CisKKyAgICAgICAgbV9nYXRoZXJpbmdTdGF0ZSA9IHN0YXRlOworICAg
ICAgICBkaXNwYXRjaEV2ZW50KEV2ZW50OjpjcmVhdGUoZXZlbnROYW1lcygpLmdhdGhlcmluZ3N0
YXRlY2hhbmdlRXZlbnQsIEV2ZW50OjpDYW5CdWJibGU6OlllcywgRXZlbnQ6OklzQ2FuY2VsYWJs
ZTo6Tm8pKTsKKyAgICB9KTsKIH0KIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENJY2VUcmFuc3BvcnQuaCBi
L1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vUlRDSWNlVHJhbnNwb3J0LmgKaW5k
ZXggNDNiZjM5N2RhMDA0ZTJmOWFlYWZmZTg0NTBhNjU1YTZlOGMwNDIwMC4uZWQzNTg2NmVjOWZk
N2NkMzM5MDNkMDlhYzM4NTBkOTlmNmJmOGQ0NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
TW9kdWxlcy9tZWRpYXN0cmVhbS9SVENJY2VUcmFuc3BvcnQuaAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1JUQ0ljZVRyYW5zcG9ydC5oCkBAIC0zMywzMiArMzMsNTYg
QEAKIAogI2lmIEVOQUJMRShXRUJfUlRDKQogCisjaW5jbHVkZSAiQWN0aXZlRE9NT2JqZWN0Lmgi
CisjaW5jbHVkZSAiRXZlbnRUYXJnZXQuaCIKICNpbmNsdWRlICJSVENJY2VHYXRoZXJpbmdTdGF0
ZS5oIgorI2luY2x1ZGUgIlJUQ0ljZVRyYW5zcG9ydEJhY2tlbmQuaCIKICNpbmNsdWRlICJSVENJ
Y2VUcmFuc3BvcnRTdGF0ZS5oIgotI2luY2x1ZGUgIlNjcmlwdFdyYXBwYWJsZS5oIgogI2luY2x1
ZGUgPHd0Zi9SZWZDb3VudGVkLmg+CiAjaW5jbHVkZSA8d3RmL1JlZlB0ci5oPgogCiBuYW1lc3Bh
Y2UgV2ViQ29yZSB7CiAKLWNsYXNzIFJUQ0ljZVRyYW5zcG9ydCA6IHB1YmxpYyBSZWZDb3VudGVk
PFJUQ0ljZVRyYW5zcG9ydD4sIHB1YmxpYyBTY3JpcHRXcmFwcGFibGUgeworY2xhc3MgUlRDUGVl
ckNvbm5lY3Rpb247CisKK2NsYXNzIFJUQ0ljZVRyYW5zcG9ydCA6IHB1YmxpYyBSZWZDb3VudGVk
PFJUQ0ljZVRyYW5zcG9ydD4sIHB1YmxpYyBBY3RpdmVET01PYmplY3QsIHB1YmxpYyBFdmVudFRh
cmdldFdpdGhJbmxpbmVEYXRhLCBwdWJsaWMgUlRDSWNlVHJhbnNwb3J0QmFja2VuZDo6Q2xpZW50
IHsKICAgICBXVEZfTUFLRV9JU09fQUxMT0NBVEVEKFJUQ0ljZVRyYW5zcG9ydCk7CiBwdWJsaWM6
Ci0gICAgc3RhdGljIFJlZjxSVENJY2VUcmFuc3BvcnQ+IGNyZWF0ZSgpCisgICAgc3RhdGljIFJl
ZjxSVENJY2VUcmFuc3BvcnQ+IGNyZWF0ZShTY3JpcHRFeGVjdXRpb25Db250ZXh0JiBjb250ZXh0
LCBVbmlxdWVSZWY8UlRDSWNlVHJhbnNwb3J0QmFja2VuZD4mJiBiYWNrZW5kLCBSVENQZWVyQ29u
bmVjdGlvbiYgY29ubmVjdGlvbikKICAgICB7Ci0gICAgICAgIHJldHVybiBhZG9wdFJlZigqbmV3
IFJUQ0ljZVRyYW5zcG9ydCgpKTsKKyAgICAgICAgcmV0dXJuIGFkb3B0UmVmKCpuZXcgUlRDSWNl
VHJhbnNwb3J0KGNvbnRleHQsIFdURk1vdmUoYmFja2VuZCksIGNvbm5lY3Rpb24pKTsKICAgICB9
CiAgICAgflJUQ0ljZVRyYW5zcG9ydCgpOwogCiAgICAgUlRDSWNlVHJhbnNwb3J0U3RhdGUgc3Rh
dGUoKSBjb25zdCB7IHJldHVybiBtX3RyYW5zcG9ydFN0YXRlOyB9Ci0gICAgdm9pZCBzZXRTdGF0
ZShSVENJY2VUcmFuc3BvcnRTdGF0ZSBzdGF0ZSkgeyBtX3RyYW5zcG9ydFN0YXRlID0gc3RhdGU7
IH0KLQogICAgIFJUQ0ljZUdhdGhlcmluZ1N0YXRlIGdhdGhlcmluZ1N0YXRlKCkgY29uc3QgeyBy
ZXR1cm4gbV9nYXRoZXJpbmdTdGF0ZTsgfQotICAgIHZvaWQgc2V0R2F0aGVyaW5nU3RhdGUoUlRD
SWNlR2F0aGVyaW5nU3RhdGUgc3RhdGUpIHsgbV9nYXRoZXJpbmdTdGF0ZSA9IHN0YXRlOyB9CisK
KyAgICBjb25zdCBSVENJY2VUcmFuc3BvcnRCYWNrZW5kJiBiYWNrZW5kKCkgY29uc3QgeyByZXR1
cm4gbV9iYWNrZW5kLmdldCgpOyB9CisKKyAgICB1c2luZyBSZWZDb3VudGVkPFJUQ0ljZVRyYW5z
cG9ydD46OnJlZjsKKyAgICB1c2luZyBSZWZDb3VudGVkPFJUQ0ljZVRyYW5zcG9ydD46OmRlcmVm
OwogCiBwcml2YXRlOgotICAgIFJUQ0ljZVRyYW5zcG9ydCgpIHsgfTsKKyAgICBSVENJY2VUcmFu
c3BvcnQoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYsIFVuaXF1ZVJlZjxSVENJY2VUcmFuc3BvcnRC
YWNrZW5kPiYmLCBSVENQZWVyQ29ubmVjdGlvbiYpOworCisgICAgLy8gRXZlbnRUYXJnZXRXaXRo
SW5saW5lRGF0YQorICAgIEV2ZW50VGFyZ2V0SW50ZXJmYWNlIGV2ZW50VGFyZ2V0SW50ZXJmYWNl
KCkgY29uc3QgZmluYWwgeyByZXR1cm4gUlRDSWNlVHJhbnNwb3J0RXZlbnRUYXJnZXRJbnRlcmZh
Y2VUeXBlOyB9CisgICAgU2NyaXB0RXhlY3V0aW9uQ29udGV4dCogc2NyaXB0RXhlY3V0aW9uQ29u
dGV4dCgpIGNvbnN0IGZpbmFsIHsgcmV0dXJuIG1fc2NyaXB0RXhlY3V0aW9uQ29udGV4dDsgfQor
ICAgIHZvaWQgcmVmRXZlbnRUYXJnZXQoKSBmaW5hbCB7IHJlZigpOyB9CisgICAgdm9pZCBkZXJl
ZkV2ZW50VGFyZ2V0KCkgZmluYWwgeyBkZXJlZigpOyB9CisKKyAgICAvLyBBY3RpdmVET01PYmpl
Y3QKKyAgICB2b2lkIHN0b3AoKSBmaW5hbDsKKyAgICBjb25zdCBjaGFyKiBhY3RpdmVET01PYmpl
Y3ROYW1lKCkgY29uc3QgZmluYWwgeyByZXR1cm4gIlJUQ0ljZVRyYW5zcG9ydCI7IH0KKyAgICBi
b29sIHZpcnR1YWxIYXNQZW5kaW5nQWN0aXZpdHkoKSBjb25zdCBmaW5hbDsKKworICAgIC8vIFJU
Q0ljZVRyYW5zcG9ydEJhY2tlbmQ6OkNsaWVudAorICAgIHZvaWQgb25TdGF0ZUNoYW5nZWQoUlRD
SWNlVHJhbnNwb3J0U3RhdGUpIGZpbmFsOworICAgIHZvaWQgb25HYXRoZXJpbmdTdGF0ZUNoYW5n
ZWQoUlRDSWNlR2F0aGVyaW5nU3RhdGUpIGZpbmFsOwogCisgICAgYm9vbCBtX2lzU3RvcHBlZCB7
IGZhbHNlIH07CisgICAgVW5pcXVlUmVmPFJUQ0ljZVRyYW5zcG9ydEJhY2tlbmQ+IG1fYmFja2Vu
ZDsKKyAgICBXZWFrUHRyPFJUQ1BlZXJDb25uZWN0aW9uPiBtX2Nvbm5lY3Rpb247CiAgICAgUlRD
SWNlVHJhbnNwb3J0U3RhdGUgbV90cmFuc3BvcnRTdGF0ZSB7IFJUQ0ljZVRyYW5zcG9ydFN0YXRl
OjpOZXcgfTsKICAgICBSVENJY2VHYXRoZXJpbmdTdGF0ZSBtX2dhdGhlcmluZ1N0YXRlIHsgUlRD
SWNlR2F0aGVyaW5nU3RhdGU6Ok5ldyB9OwogfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvbWVkaWFzdHJlYW0vUlRDSWNlVHJhbnNwb3J0LmlkbCBiL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvbWVkaWFzdHJlYW0vUlRDSWNlVHJhbnNwb3J0LmlkbAppbmRleCAwYTljMjZmYmUz
MzFlNjI3MDY3NzcwZTEyMWJjYTc5YjAxYWVjOGQ4Li4xMzVlOTNhNjU2ZjljOThiYmU4MDgwMzIx
N2RjODg5Zjg5NDAxZDM0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlh
c3RyZWFtL1JUQ0ljZVRyYW5zcG9ydC5pZGwKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9t
ZWRpYXN0cmVhbS9SVENJY2VUcmFuc3BvcnQuaWRsCkBAIC0yNywyMiArMjcsMjIgQEAgdHlwZWRl
ZiBSVENJY2VUcmFuc3BvcnRTdGF0ZSBJY2VUcmFuc3BvcnRTdGF0ZTsKIHR5cGVkZWYgUlRDSWNl
R2F0aGVyaW5nU3RhdGUgSWNlR2F0aGVyaW5nU3RhdGU7CiAKIFsKKyAgICBBY3RpdmVET01PYmpl
Y3QsCiAgICAgQ29uZGl0aW9uYWw9V0VCX1JUQywKICAgICBFbmFibGVkQnlTZXR0aW5nPVBlZXJD
b25uZWN0aW9uLAogICAgIEV4cG9zZWQ9V2luZG93LAogICAgIFNraXBWVGFibGVWYWxpZGF0aW9u
Ci1dIGludGVyZmFjZSBSVENJY2VUcmFuc3BvcnQgeworXSBpbnRlcmZhY2UgUlRDSWNlVHJhbnNw
b3J0IDogRXZlbnRUYXJnZXQgewogICAgIC8vIEZJWE1FIDE2OTY2MjogbWlzc2luZyByZWFkb25s
eSBhdHRyaWJ1dGUgUlRDSWNlUm9sZSByb2xlOwogICAgIC8vIEZJWE1FIDE2OTY2MjogbWlzc2lu
ZyByZWFkb25seSBhdHRyaWJ1dGUgUlRDSWNlQ29tcG9uZW50IGNvbXBvbmVudDsKICAgICByZWFk
b25seSBhdHRyaWJ1dGUgSWNlVHJhbnNwb3J0U3RhdGUgc3RhdGU7Ci0gICAgLy8gRklYTUUgMTY5
NjYyOiBJY2VHYXRoZXJlclN0YXRlIGluc3RlYWQgb2YgSWNlR2F0aGVyaW5nU3RhdGU/CiAgICAg
cmVhZG9ubHkgYXR0cmlidXRlIEljZUdhdGhlcmluZ1N0YXRlIGdhdGhlcmluZ1N0YXRlOwogICAg
IC8vIEZJWE1FIDE2OTY2MjogbWlzc2luZyBzZXF1ZW5jZTxSVENJY2VDYW5kaWRhdGU+IGdldExv
Y2FsQ2FuZGlkYXRlcygpOwogICAgIC8vIEZJWE1FIDE2OTY2MjogbWlzc2luZyBzZXF1ZW5jZTxS
VENJY2VDYW5kaWRhdGU+IGdldFJlbW90ZUNhbmRpZGF0ZXMoKTsKICAgICAvLyBGSVhNRSAxNjk2
NjI6IG1pc3NpbmcgUlRDSWNlQ2FuZGlkYXRlUGFpcj8gZ2V0U2VsZWN0ZWRDYW5kaWRhdGVQYWly
KCk7CiAgICAgLy8gRklYTUUgMTY5NjYyOiBtaXNzaW5nIFJUQ0ljZVBhcmFtZXRlcnM/IGdldExv
Y2FsUGFyYW1ldGVycygpOwogICAgIC8vIEZJWE1FIDE2OTY2MjogbWlzc2luZyBSVENJY2VQYXJh
bWV0ZXJzPyBnZXRSZW1vdGVQYXJhbWV0ZXJzKCk7Ci0gICAgLy8gRklYTUUgMTY5NjYyOiBtaXNz
aW5nIGF0dHJpYnV0ZSBFdmVudEhhbmRsZXIgb25zdGF0ZWNoYW5nZTsKLSAgICAvLyBGSVhNRSAx
Njk2NjI6IG1pc3NpbmcgYXR0cmlidXRlIEV2ZW50SGFuZGxlciBvbmdhdGhlcmluZ3N0YXRlY2hh
bmdlOworICAgIGF0dHJpYnV0ZSBFdmVudEhhbmRsZXIgb25zdGF0ZWNoYW5nZTsKKyAgICBhdHRy
aWJ1dGUgRXZlbnRIYW5kbGVyIG9uZ2F0aGVyaW5nc3RhdGVjaGFuZ2U7CiAgICAgLy8gRklYTUUg
MTY5NjYyOiBtaXNzaW5nIGF0dHJpYnV0ZSBFdmVudEhhbmRsZXIgb25zZWxlY3RlZGNhbmRpZGF0
ZXBhaXJjaGFuZ2U7CiB9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRp
YXN0cmVhbS9SVENJY2VUcmFuc3BvcnRCYWNrZW5kLmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L21lZGlhc3RyZWFtL1JUQ0ljZVRyYW5zcG9ydEJhY2tlbmQuaApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5iNjBhYTA2
MmZkMmViYjMxM2Y4YmU2ZjM1YjU4YmY5OTgwOTk1NDQxCi0tLSAvZGV2L251bGwKKysrIGIvU291
cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENJY2VUcmFuc3BvcnRCYWNrZW5kLmgK
QEAgLTAsMCArMSw1NiBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAyMSBBcHBsZSBJbmMuCisg
KgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywg
d2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQg
dGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiAgUmVkaXN0
cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQK
KyAqICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5n
IGRpc2NsYWltZXIuCisgKiAyLiAgUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3Qg
cmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgICBub3RpY2UsIHRoaXMgbGlzdCBv
ZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICAg
ZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRp
c3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElO
Qy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnIEFORCBBTlkKKyAqIEVYUFJFU1MgT1Ig
SU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElN
UExJRUQKKyAqIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBB
IFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUKKyAqIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxM
IEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWQorICogRElS
RUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFV
RU5USUFMIERBTUFHRVMKKyAqIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VS
RU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsKKyAqIExPU1MgT0YgVVNFLCBE
QVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VE
IEFORCBPTgorICogQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1Qs
IFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBP
VEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTCisgKiBT
T0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFH
RS4KKyAqLworCisjcHJhZ21hIG9uY2UKKworI2lmIEVOQUJMRShXRUJfUlRDKQorCisjaW5jbHVk
ZSAiUlRDSWNlR2F0aGVyaW5nU3RhdGUuaCIKKyNpbmNsdWRlICJSVENJY2VUcmFuc3BvcnRTdGF0
ZS5oIgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK2NsYXNzIFJUQ0ljZVRyYW5zcG9ydEJhY2tl
bmQgeworcHVibGljOgorICAgIHZpcnR1YWwgflJUQ0ljZVRyYW5zcG9ydEJhY2tlbmQoKSA9IGRl
ZmF1bHQ7CisgICAgdmlydHVhbCBjb25zdCB2b2lkKiBiYWNrZW5kKCkgY29uc3QgPSAwOworCisg
ICAgY2xhc3MgQ2xpZW50IDogcHVibGljIENhbk1ha2VXZWFrUHRyPENsaWVudD4geworICAgIHB1
YmxpYzoKKyAgICAgICAgdmlydHVhbCB+Q2xpZW50KCkgPSBkZWZhdWx0OworICAgICAgICB2aXJ0
dWFsIHZvaWQgb25TdGF0ZUNoYW5nZWQoUlRDSWNlVHJhbnNwb3J0U3RhdGUpID0gMDsKKyAgICAg
ICAgdmlydHVhbCB2b2lkIG9uR2F0aGVyaW5nU3RhdGVDaGFuZ2VkKFJUQ0ljZUdhdGhlcmluZ1N0
YXRlKSA9IDA7CisgICAgfTsKKyAgICB2aXJ0dWFsIHZvaWQgcmVnaXN0ZXJDbGllbnQoQ2xpZW50
JikgPSAwOworICAgIHZpcnR1YWwgdm9pZCB1bnJlZ2lzdGVyQ2xpZW50KCkgPSAwOworfTsKKwor
aW5saW5lIGJvb2wgb3BlcmF0b3I9PShjb25zdCBSVENJY2VUcmFuc3BvcnRCYWNrZW5kJiBhLCBj
b25zdCBSVENJY2VUcmFuc3BvcnRCYWNrZW5kJiBiKQoreworICAgIHJldHVybiBhLmJhY2tlbmQo
KSA9PSBiLmJhY2tlbmQoKTsKK30KKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQorCisjZW5kaWYg
Ly8gRU5BQkxFKFdFQl9SVEMpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21l
ZGlhc3RyZWFtL1JUQ1BlZXJDb25uZWN0aW9uLmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMv
bWVkaWFzdHJlYW0vUlRDUGVlckNvbm5lY3Rpb24uY3BwCmluZGV4IGE5ODc0ZjQxYzM2ZjdiODg1
OTgxNDYyMDMyMzVjYmE4MWNjMmJlYjUuLjczYWQ5NmZjMTY5NTk3OGY4NTQ4YzA0ZGYxODliZjYz
ODE1MTQ5OTYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0v
UlRDUGVlckNvbm5lY3Rpb24uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFz
dHJlYW0vUlRDUGVlckNvbm5lY3Rpb24uY3BwCkBAIC02NTQsMjQgKzY1NCwyNiBAQCB2b2lkIFJU
Q1BlZXJDb25uZWN0aW9uOjp1cGRhdGVJY2VDb25uZWN0aW9uU3RhdGUoUlRDSWNlQ29ubmVjdGlv
blN0YXRlIG5ld1N0YXRlKQogICAgIH0pOwogfQogCi12b2lkIFJUQ1BlZXJDb25uZWN0aW9uOjp1
cGRhdGVDb25uZWN0aW9uU3RhdGUoKQorUlRDUGVlckNvbm5lY3Rpb25TdGF0ZSBSVENQZWVyQ29u
bmVjdGlvbjo6Y29tcHV0ZUNvbm5lY3Rpb25TdGF0ZSgpCiB7Ci0gICAgUlRDUGVlckNvbm5lY3Rp
b25TdGF0ZSBzdGF0ZTsKLQogICAgIGlmIChtX2ljZUNvbm5lY3Rpb25TdGF0ZSA9PSBSVENJY2VD
b25uZWN0aW9uU3RhdGU6OkNsb3NlZCkKLSAgICAgICAgc3RhdGUgPSBSVENQZWVyQ29ubmVjdGlv
blN0YXRlOjpDbG9zZWQ7Ci0gICAgZWxzZSBpZiAobV9pY2VDb25uZWN0aW9uU3RhdGUgPT0gUlRD
SWNlQ29ubmVjdGlvblN0YXRlOjpEaXNjb25uZWN0ZWQpCi0gICAgICAgIHN0YXRlID0gUlRDUGVl
ckNvbm5lY3Rpb25TdGF0ZTo6RGlzY29ubmVjdGVkOwotICAgIGVsc2UgaWYgKG1faWNlQ29ubmVj
dGlvblN0YXRlID09IFJUQ0ljZUNvbm5lY3Rpb25TdGF0ZTo6RmFpbGVkKQotICAgICAgICBzdGF0
ZSA9IFJUQ1BlZXJDb25uZWN0aW9uU3RhdGU6OkZhaWxlZDsKLSAgICBlbHNlIGlmIChtX2ljZUNv
bm5lY3Rpb25TdGF0ZSA9PSBSVENJY2VDb25uZWN0aW9uU3RhdGU6Ok5ldyAmJiBtX2ljZUdhdGhl
cmluZ1N0YXRlID09IFJUQ0ljZUdhdGhlcmluZ1N0YXRlOjpOZXcpCi0gICAgICAgIHN0YXRlID0g
UlRDUGVlckNvbm5lY3Rpb25TdGF0ZTo6TmV3OwotICAgIGVsc2UgaWYgKG1faWNlQ29ubmVjdGlv
blN0YXRlID09IFJUQ0ljZUNvbm5lY3Rpb25TdGF0ZTo6Q2hlY2tpbmcgfHwgbV9pY2VHYXRoZXJp
bmdTdGF0ZSA9PSBSVENJY2VHYXRoZXJpbmdTdGF0ZTo6R2F0aGVyaW5nKQotICAgICAgICBzdGF0
ZSA9IFJUQ1BlZXJDb25uZWN0aW9uU3RhdGU6OkNvbm5lY3Rpbmc7Ci0gICAgZWxzZSBpZiAoKG1f
aWNlQ29ubmVjdGlvblN0YXRlID09IFJUQ0ljZUNvbm5lY3Rpb25TdGF0ZTo6Q29tcGxldGVkIHx8
IG1faWNlQ29ubmVjdGlvblN0YXRlID09IFJUQ0ljZUNvbm5lY3Rpb25TdGF0ZTo6Q29ubmVjdGVk
KSAmJiBtX2ljZUdhdGhlcmluZ1N0YXRlID09IFJUQ0ljZUdhdGhlcmluZ1N0YXRlOjpDb21wbGV0
ZSkKLSAgICAgICAgc3RhdGUgPSBSVENQZWVyQ29ubmVjdGlvblN0YXRlOjpDb25uZWN0ZWQ7Ci0g
ICAgZWxzZQotICAgICAgICByZXR1cm47CisgICAgICAgIHJldHVybiBSVENQZWVyQ29ubmVjdGlv
blN0YXRlOjpDbG9zZWQ7CisgICAgaWYgKG1faWNlQ29ubmVjdGlvblN0YXRlID09IFJUQ0ljZUNv
bm5lY3Rpb25TdGF0ZTo6RGlzY29ubmVjdGVkKQorICAgICAgICByZXR1cm4gUlRDUGVlckNvbm5l
Y3Rpb25TdGF0ZTo6RGlzY29ubmVjdGVkOworICAgIGlmIChtX2ljZUNvbm5lY3Rpb25TdGF0ZSA9
PSBSVENJY2VDb25uZWN0aW9uU3RhdGU6OkZhaWxlZCkKKyAgICAgICAgcmV0dXJuIFJUQ1BlZXJD
b25uZWN0aW9uU3RhdGU6OkZhaWxlZDsKKyAgICBpZiAobV9pY2VDb25uZWN0aW9uU3RhdGUgPT0g
UlRDSWNlQ29ubmVjdGlvblN0YXRlOjpOZXcgJiYgbV9pY2VHYXRoZXJpbmdTdGF0ZSA9PSBSVENJ
Y2VHYXRoZXJpbmdTdGF0ZTo6TmV3KQorICAgICAgICByZXR1cm4gUlRDUGVlckNvbm5lY3Rpb25T
dGF0ZTo6TmV3OworICAgIGlmIChtX2ljZUNvbm5lY3Rpb25TdGF0ZSA9PSBSVENJY2VDb25uZWN0
aW9uU3RhdGU6OkNoZWNraW5nIHx8IG1faWNlR2F0aGVyaW5nU3RhdGUgPT0gUlRDSWNlR2F0aGVy
aW5nU3RhdGU6OkdhdGhlcmluZykKKyAgICAgICAgcmV0dXJuIFJUQ1BlZXJDb25uZWN0aW9uU3Rh
dGU6OkNvbm5lY3Rpbmc7CisgICAgaWYgKChtX2ljZUNvbm5lY3Rpb25TdGF0ZSA9PSBSVENJY2VD
b25uZWN0aW9uU3RhdGU6OkNvbXBsZXRlZCB8fCBtX2ljZUNvbm5lY3Rpb25TdGF0ZSA9PSBSVENJ
Y2VDb25uZWN0aW9uU3RhdGU6OkNvbm5lY3RlZCkgJiYgbV9pY2VHYXRoZXJpbmdTdGF0ZSA9PSBS
VENJY2VHYXRoZXJpbmdTdGF0ZTo6Q29tcGxldGUpCisgICAgICAgIHJldHVybiBSVENQZWVyQ29u
bmVjdGlvblN0YXRlOjpDb25uZWN0ZWQ7CisgICAgcmV0dXJuIG1fY29ubmVjdGlvblN0YXRlOwor
fQorCit2b2lkIFJUQ1BlZXJDb25uZWN0aW9uOjp1cGRhdGVDb25uZWN0aW9uU3RhdGUoKQorewor
ICAgIGF1dG8gc3RhdGUgPSBjb21wdXRlQ29ubmVjdGlvblN0YXRlKCk7CiAKICAgICBpZiAoc3Rh
dGUgPT0gbV9jb25uZWN0aW9uU3RhdGUpCiAgICAgICAgIHJldHVybjsKQEAgLTY4Miw2ICs2ODQs
NTggQEAgdm9pZCBSVENQZWVyQ29ubmVjdGlvbjo6dXBkYXRlQ29ubmVjdGlvblN0YXRlKCkKICAg
ICBkaXNwYXRjaEV2ZW50V2hlbkZlYXNpYmxlKEV2ZW50OjpjcmVhdGUoZXZlbnROYW1lcygpLmNv
bm5lY3Rpb25zdGF0ZWNoYW5nZUV2ZW50LCBFdmVudDo6Q2FuQnViYmxlOjpObywgRXZlbnQ6Oklz
Q2FuY2VsYWJsZTo6Tm8pKTsKIH0KIAorc3RhdGljIGJvb2wgaXNJY2VUcmFuc3BvcnRVc2VkQnlU
cmFuc2NlaXZlcihjb25zdCBSVENJY2VUcmFuc3BvcnQmIGljZVRyYW5zcG9ydCwgUlRDUnRwVHJh
bnNjZWl2ZXImIHRyYW5zY2VpdmVyKQoreworICAgIGF1dG8qIGR0bHNUcmFuc3BvcnQgPSB0cmFu
c2NlaXZlci5zZW5kZXIoKS50cmFuc3BvcnQoKTsKKyAgICByZXR1cm4gZHRsc1RyYW5zcG9ydCAm
JiAmZHRsc1RyYW5zcG9ydC0+aWNlVHJhbnNwb3J0KCkgPT0gJmljZVRyYW5zcG9ydDsKK30KKwor
Ly8gaHR0cHM6Ly93M2MuZ2l0aHViLmlvL3dlYnJ0Yy1wYy8jZG9tLXJ0Y2ljZWNvbm5lY3Rpb25z
dGF0ZQorUlRDSWNlQ29ubmVjdGlvblN0YXRlIFJUQ1BlZXJDb25uZWN0aW9uOjpjb21wdXRlSWNl
Q29ubmVjdGlvblN0YXRlRnJvbUljZVRyYW5zcG9ydHMoKQoreworICAgIGlmIChpc0Nsb3NlZCgp
KQorICAgICAgICByZXR1cm4gUlRDSWNlQ29ubmVjdGlvblN0YXRlOjpDbG9zZWQ7CisKKyAgICBh
dXRvIGljZVRyYW5zcG9ydHMgPSBtX2ljZVRyYW5zcG9ydHM7CisgICAgaWNlVHJhbnNwb3J0cy5y
ZW1vdmVBbGxNYXRjaGluZyhbJl0oYXV0byYgaWNlVHJhbnNwb3J0KSB7CisgICAgICAgIGJvb2wg
dGVzdCA9IGFsbE9mKG1fdHJhbnNjZWl2ZXJTZXQubGlzdCgpLCBbJmljZVRyYW5zcG9ydF0oYXV0
byYgdHJhbnNjZWl2ZXIpIHsKKyAgICAgICAgICAgIHJldHVybiAhaXNJY2VUcmFuc3BvcnRVc2Vk
QnlUcmFuc2NlaXZlcihpY2VUcmFuc3BvcnQuZ2V0KCksICp0cmFuc2NlaXZlcik7CisgICAgICAg
IH0pOworICAgICAgICByZXR1cm4gdGVzdDsKKyAgICB9KTsKKworICAgIGlmIChhbnlPZihpY2VU
cmFuc3BvcnRzLCBbXShhdXRvJiB0cmFuc3BvcnQpIHsgcmV0dXJuIHRyYW5zcG9ydC0+c3RhdGUo
KSA9PSBSVENJY2VUcmFuc3BvcnRTdGF0ZTo6RmFpbGVkOyB9KSkKKyAgICAgICAgcmV0dXJuIFJU
Q0ljZUNvbm5lY3Rpb25TdGF0ZTo6RmFpbGVkOworICAgIGlmIChhbnlPZihpY2VUcmFuc3BvcnRz
LCBbXShhdXRvJiB0cmFuc3BvcnQpIHsgcmV0dXJuIHRyYW5zcG9ydC0+c3RhdGUoKSA9PSBSVENJ
Y2VUcmFuc3BvcnRTdGF0ZTo6RGlzY29ubmVjdGVkOyB9KSkKKyAgICAgICAgcmV0dXJuIFJUQ0lj
ZUNvbm5lY3Rpb25TdGF0ZTo6RGlzY29ubmVjdGVkOworICAgIGlmIChhbGxPZihpY2VUcmFuc3Bv
cnRzLCBbXShhdXRvJiB0cmFuc3BvcnQpIHsgcmV0dXJuIHRyYW5zcG9ydC0+c3RhdGUoKSA9PSBS
VENJY2VUcmFuc3BvcnRTdGF0ZTo6TmV3IHx8IHRyYW5zcG9ydC0+c3RhdGUoKSA9PSBSVENJY2VU
cmFuc3BvcnRTdGF0ZTo6Q2xvc2VkOyB9KSkKKyAgICAgICAgcmV0dXJuIFJUQ0ljZUNvbm5lY3Rp
b25TdGF0ZTo6TmV3OworICAgIGlmIChhbnlPZihpY2VUcmFuc3BvcnRzLCBbXShhdXRvJiB0cmFu
c3BvcnQpIHsgcmV0dXJuIHRyYW5zcG9ydC0+c3RhdGUoKSA9PSBSVENJY2VUcmFuc3BvcnRTdGF0
ZTo6TmV3IHx8IHRyYW5zcG9ydC0+c3RhdGUoKSA9PSBSVENJY2VUcmFuc3BvcnRTdGF0ZTo6Q2hl
Y2tpbmc7IH0pKQorICAgICAgICByZXR1cm4gUlRDSWNlQ29ubmVjdGlvblN0YXRlOjpDaGVja2lu
ZzsKKyAgICBpZiAoYWxsT2YoaWNlVHJhbnNwb3J0cywgW10oYXV0byYgdHJhbnNwb3J0KSB7IHJl
dHVybiB0cmFuc3BvcnQtPnN0YXRlKCkgPT0gUlRDSWNlVHJhbnNwb3J0U3RhdGU6OkNvbXBsZXRl
ZCB8fCB0cmFuc3BvcnQtPnN0YXRlKCkgPT0gUlRDSWNlVHJhbnNwb3J0U3RhdGU6OkNsb3NlZDsg
fSkpCisgICAgICAgIHJldHVybiBSVENJY2VDb25uZWN0aW9uU3RhdGU6OkNvbXBsZXRlZDsKKyAg
ICBBU1NFUlQoYWxsT2YoaWNlVHJhbnNwb3J0cywgW10oYXV0byYgdHJhbnNwb3J0KSB7IHJldHVy
biB0cmFuc3BvcnQtPnN0YXRlKCkgPT0gUlRDSWNlVHJhbnNwb3J0U3RhdGU6OkNvbm5lY3RlZCB8
fCB0cmFuc3BvcnQtPnN0YXRlKCkgPT0gUlRDSWNlVHJhbnNwb3J0U3RhdGU6OkNvbXBsZXRlZCB8
fCB0cmFuc3BvcnQtPnN0YXRlKCkgPT0gUlRDSWNlVHJhbnNwb3J0U3RhdGU6OkNsb3NlZDsgfSkp
OworICAgIHJldHVybiBSVENJY2VDb25uZWN0aW9uU3RhdGU6OkNvbm5lY3RlZDsKK30KKworLy8g
aHR0cHM6Ly93M2MuZ2l0aHViLmlvL3dlYnJ0Yy1wYy8jcnRjaWNldHJhbnNwb3J0LCBhbGdvcml0
aG0gdG8gaGFuZGxlIGEgY2hhbmdlIG9mIFJUQ0ljZVRyYW5zcG9ydCBzdGF0ZS4KK3ZvaWQgUlRD
UGVlckNvbm5lY3Rpb246OnByb2Nlc3NJY2VUcmFuc3BvcnRTdGF0ZUNoYW5nZShSVENJY2VUcmFu
c3BvcnQmIGljZVRyYW5zcG9ydCkKK3sKKyAgICBhdXRvIG5ld0ljZUNvbm5lY3Rpb25TdGF0ZSA9
IGNvbXB1dGVJY2VDb25uZWN0aW9uU3RhdGVGcm9tSWNlVHJhbnNwb3J0cygpOworICAgIGJvb2wg
aWNlQ29ubmVjdGlvblN0YXRlQ2hhbmdlZCA9IG1faWNlQ29ubmVjdGlvblN0YXRlICE9IG5ld0lj
ZUNvbm5lY3Rpb25TdGF0ZTsKKyAgICBtX2ljZUNvbm5lY3Rpb25TdGF0ZSA9IG5ld0ljZUNvbm5l
Y3Rpb25TdGF0ZTsKKworICAgIGF1dG8gbmV3Q29ubmVjdGlvblN0YXRlID0gY29tcHV0ZUNvbm5l
Y3Rpb25TdGF0ZSgpOworICAgIGJvb2wgY29ubmVjdGlvblN0YXRlQ2hhbmdlZCA9IG1fY29ubmVj
dGlvblN0YXRlICE9IG5ld0Nvbm5lY3Rpb25TdGF0ZTsKKyAgICBtX2Nvbm5lY3Rpb25TdGF0ZSA9
IG5ld0Nvbm5lY3Rpb25TdGF0ZTsKKworICAgIGljZVRyYW5zcG9ydC5kaXNwYXRjaEV2ZW50KEV2
ZW50OjpjcmVhdGUoZXZlbnROYW1lcygpLnN0YXRlY2hhbmdlRXZlbnQsIEV2ZW50OjpDYW5CdWJi
bGU6OlllcywgRXZlbnQ6OklzQ2FuY2VsYWJsZTo6Tm8pKTsKKyAgICBpZiAoaWNlQ29ubmVjdGlv
blN0YXRlQ2hhbmdlZCkKKyAgICAgICAgZGlzcGF0Y2hFdmVudFdoZW5GZWFzaWJsZShFdmVudDo6
Y3JlYXRlKGV2ZW50TmFtZXMoKS5pY2Vjb25uZWN0aW9uc3RhdGVjaGFuZ2VFdmVudCwgRXZlbnQ6
OkNhbkJ1YmJsZTo6Tm8sIEV2ZW50OjpJc0NhbmNlbGFibGU6Ok5vKSk7CisgICAgaWYgKGNvbm5l
Y3Rpb25TdGF0ZUNoYW5nZWQpCisgICAgICAgIGRpc3BhdGNoRXZlbnRXaGVuRmVhc2libGUoRXZl
bnQ6OmNyZWF0ZShldmVudE5hbWVzKCkuY29ubmVjdGlvbnN0YXRlY2hhbmdlRXZlbnQsIEV2ZW50
OjpDYW5CdWJibGU6Ok5vLCBFdmVudDo6SXNDYW5jZWxhYmxlOjpObykpOworfQorCiB2b2lkIFJU
Q1BlZXJDb25uZWN0aW9uOjpzY2hlZHVsZU5lZ290aWF0aW9uTmVlZGVkRXZlbnQoKQogewogICAg
IGlmIChtX2hhc1BlbmRpbmdPcGVyYXRpb24pIHsKQEAgLTg0Miw2ICs4OTYsMTggQEAgRG9jdW1l
bnQqIFJUQ1BlZXJDb25uZWN0aW9uOjpkb2N1bWVudCgpCiAgICAgcmV0dXJuIGRvd25jYXN0PERv
Y3VtZW50PihzY3JpcHRFeGVjdXRpb25Db250ZXh0KCkpOwogfQogCitSZWY8UlRDSWNlVHJhbnNw
b3J0PiBSVENQZWVyQ29ubmVjdGlvbjo6Z2V0T3JDcmVhdGVJY2VUcmFuc3BvcnQoVW5pcXVlUmVm
PFJUQ0ljZVRyYW5zcG9ydEJhY2tlbmQ+JiYgYmFja2VuZCkKK3sKKyAgICBhdXRvIGluZGV4ID0g
bV9pY2VUcmFuc3BvcnRzLmZpbmRNYXRjaGluZyhbJmJhY2tlbmRdKGF1dG8mIHRyYW5zcG9ydCkg
eyByZXR1cm4gYmFja2VuZC5nZXQoKSA9PSB0cmFuc3BvcnQtPmJhY2tlbmQoKTsgfSk7CisgICAg
aWYgKGluZGV4ID09IG5vdEZvdW5kKSB7CisgICAgICAgIGluZGV4ID0gbV9pY2VUcmFuc3BvcnRz
LnNpemUoKTsKKyAgICAgICAgbV9pY2VUcmFuc3BvcnRzLmFwcGVuZChSVENJY2VUcmFuc3BvcnQ6
OmNyZWF0ZSgqc2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpLCBXVEZNb3ZlKGJhY2tlbmQpLCAqdGhp
cykpOworICAgIH0KKworICAgIHJldHVybiBtX2ljZVRyYW5zcG9ydHNbaW5kZXhdLmNvcHlSZWYo
KTsKK30KKworCiBSZWZQdHI8UlRDRHRsc1RyYW5zcG9ydD4gUlRDUGVlckNvbm5lY3Rpb246Omdl
dE9yQ3JlYXRlRHRsc1RyYW5zcG9ydChzdGQ6OnVuaXF1ZV9wdHI8UlRDRHRsc1RyYW5zcG9ydEJh
Y2tlbmQ+JiYgYmFja2VuZCkKIHsKICAgICBpZiAoIWJhY2tlbmQpCkBAIC04NTEsMTMgKzkxNywx
NCBAQCBSZWZQdHI8UlRDRHRsc1RyYW5zcG9ydD4gUlRDUGVlckNvbm5lY3Rpb246OmdldE9yQ3Jl
YXRlRHRsc1RyYW5zcG9ydChzdGQ6OnVuaXF1ZQogICAgIGlmICghY29udGV4dCkKICAgICAgICAg
cmV0dXJuIG51bGxwdHI7CiAKLSAgICBhdXRvIGluZGV4ID0gbV90cmFuc3BvcnRzLmZpbmRNYXRj
aGluZyhbJmJhY2tlbmRdKGF1dG8mIHRyYW5zcG9ydCkgeyByZXR1cm4gKmJhY2tlbmQgPT0gdHJh
bnNwb3J0LT5iYWNrZW5kKCk7IH0pOworICAgIGF1dG8gaW5kZXggPSBtX2R0bHNUcmFuc3BvcnRz
LmZpbmRNYXRjaGluZyhbJmJhY2tlbmRdKGF1dG8mIHRyYW5zcG9ydCkgeyByZXR1cm4gKmJhY2tl
bmQgPT0gdHJhbnNwb3J0LT5iYWNrZW5kKCk7IH0pOwogICAgIGlmIChpbmRleCA9PSBub3RGb3Vu
ZCkgewotICAgICAgICBpbmRleCA9IG1fdHJhbnNwb3J0cy5zaXplKCk7Ci0gICAgICAgIG1fdHJh
bnNwb3J0cy5hcHBlbmQoUlRDRHRsc1RyYW5zcG9ydDo6Y3JlYXRlKCpjb250ZXh0LCBtYWtlVW5p
cXVlUmVmRnJvbU5vbk51bGxVbmlxdWVQdHIoV1RGTW92ZShiYWNrZW5kKSkpKTsKKyAgICAgICAg
aW5kZXggPSBtX2R0bHNUcmFuc3BvcnRzLnNpemUoKTsKKyAgICAgICAgYXV0byBpY2VUcmFuc3Bv
cnRCYWNrZW5kID0gYmFja2VuZC0+aWNlVHJhbnNwb3J0QmFja2VuZCgpOworICAgICAgICBtX2R0
bHNUcmFuc3BvcnRzLmFwcGVuZChSVENEdGxzVHJhbnNwb3J0OjpjcmVhdGUoKmNvbnRleHQsIG1h
a2VVbmlxdWVSZWZGcm9tTm9uTnVsbFVuaXF1ZVB0cihXVEZNb3ZlKGJhY2tlbmQpKSwgZ2V0T3JD
cmVhdGVJY2VUcmFuc3BvcnQoV1RGTW92ZShpY2VUcmFuc3BvcnRCYWNrZW5kKSkpKTsKICAgICB9
CiAKLSAgICByZXR1cm4gbV90cmFuc3BvcnRzW2luZGV4XS5jb3B5UmVmKCk7CisgICAgcmV0dXJu
IG1fZHRsc1RyYW5zcG9ydHNbaW5kZXhdLmNvcHlSZWYoKTsKIH0KIAogdm9pZCBSVENQZWVyQ29u
bmVjdGlvbjo6dXBkYXRlVHJhbnNjZWl2ZXJUcmFuc3BvcnRzKCkKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vUlRDUGVlckNvbm5lY3Rpb24uaCBiL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vUlRDUGVlckNvbm5lY3Rpb24uaAppbmRleCBj
NjkwNzZkZDA2ZTU0NWU4MTU3MDkwY2I4MmY3OTRjYWRjOWZhNzA2Li41ZmIzOWI0OGUyZDVkMDgz
NjQyYjU3M2FhZjEyZWFkMzg2NmUxZmIyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL21lZGlhc3RyZWFtL1JUQ1BlZXJDb25uZWN0aW9uLmgKKysrIGIvU291cmNlL1dlYkNvcmUv
TW9kdWxlcy9tZWRpYXN0cmVhbS9SVENQZWVyQ29ubmVjdGlvbi5oCkBAIC02MSw2ICs2MSw3IEBA
IGNsYXNzIFJUQ0NvbnRyb2xsZXI7CiBjbGFzcyBSVENEdGxzVHJhbnNwb3J0OwogY2xhc3MgUlRD
RHRsc1RyYW5zcG9ydEJhY2tlbmQ7CiBjbGFzcyBSVENJY2VDYW5kaWRhdGU7CitjbGFzcyBSVENJ
Y2VUcmFuc3BvcnRCYWNrZW5kOwogY2xhc3MgUlRDUGVlckNvbm5lY3Rpb25FcnJvckNhbGxiYWNr
OwogY2xhc3MgUlRDU2Vzc2lvbkRlc2NyaXB0aW9uOwogY2xhc3MgUlRDU3RhdHNDYWxsYmFjazsK
QEAgLTE4OCw2ICsxODksOCBAQCBwdWJsaWM6CiAgICAgdm9pZCB1cGRhdGVUcmFuc2NlaXZlcnNB
ZnRlclN1Y2Nlc3NmdWxMb2NhbERlc2NyaXB0aW9uKCk7CiAgICAgdm9pZCB1cGRhdGVUcmFuc2Nl
aXZlcnNBZnRlclN1Y2Nlc3NmdWxSZW1vdGVEZXNjcmlwdGlvbigpOwogCisgICAgdm9pZCBwcm9j
ZXNzSWNlVHJhbnNwb3J0U3RhdGVDaGFuZ2UoUlRDSWNlVHJhbnNwb3J0Jik7CisKICNpZiAhUkVM
RUFTRV9MT0dfRElTQUJMRUQKICAgICBjb25zdCBMb2dnZXImIGxvZ2dlcigpIGNvbnN0IGZpbmFs
IHsgcmV0dXJuIG1fbG9nZ2VyLmdldCgpOyB9CiAgICAgY29uc3Qgdm9pZCogbG9nSWRlbnRpZmll
cigpIGNvbnN0IGZpbmFsIHsgcmV0dXJuIG1fbG9nSWRlbnRpZmllcjsgfQpAQCAtMjE5LDYgKzIy
MiwxMCBAQCBwcml2YXRlOgogICAgIGJvb2wgdmlydHVhbEhhc1BlbmRpbmdBY3Rpdml0eSgpIGNv
bnN0IGZpbmFsOwogCiAgICAgdm9pZCB1cGRhdGVDb25uZWN0aW9uU3RhdGUoKTsKKyAgICBib29s
IHVwZGF0ZUljZUNvbm5lY3Rpb25TdGF0ZUZyb21JY2VUcmFuc3BvcnRzKCk7CisgICAgUlRDSWNl
Q29ubmVjdGlvblN0YXRlIGNvbXB1dGVJY2VDb25uZWN0aW9uU3RhdGVGcm9tSWNlVHJhbnNwb3J0
cygpOworICAgIFJUQ1BlZXJDb25uZWN0aW9uU3RhdGUgY29tcHV0ZUNvbm5lY3Rpb25TdGF0ZSgp
OworCiAgICAgYm9vbCBkb0Nsb3NlKCk7CiAgICAgdm9pZCBkb1N0b3AoKTsKIApAQCAtMjMwLDYg
KzIzNyw3IEBAIHByaXZhdGU6CiAKICAgICBFeGNlcHRpb25PcjxWZWN0b3I8TWVkaWFFbmRwb2lu
dENvbmZpZ3VyYXRpb246OkljZVNlcnZlckluZm8+PiBpY2VTZXJ2ZXJzRnJvbUNvbmZpZ3VyYXRp
b24oUlRDQ29uZmlndXJhdGlvbiYgbmV3Q29uZmlndXJhdGlvbiwgY29uc3QgUlRDQ29uZmlndXJh
dGlvbiogZXhpc3RpbmdDb25maWd1cmF0aW9uLCBib29sIGlzTG9jYWxEZXNjcmlwdGlvblNldCk7
CiAKKyAgICBSZWY8UlRDSWNlVHJhbnNwb3J0PiBnZXRPckNyZWF0ZUljZVRyYW5zcG9ydChVbmlx
dWVSZWY8UlRDSWNlVHJhbnNwb3J0QmFja2VuZD4mJik7CiAgICAgUmVmUHRyPFJUQ0R0bHNUcmFu
c3BvcnQ+IGdldE9yQ3JlYXRlRHRsc1RyYW5zcG9ydChzdGQ6OnVuaXF1ZV9wdHI8UlRDRHRsc1Ry
YW5zcG9ydEJhY2tlbmQ+JiYpOwogICAgIHZvaWQgdXBkYXRlVHJhbnNjZWl2ZXJUcmFuc3BvcnRz
KCk7CiAKQEAgLTI1Niw3ICsyNjQsOCBAQCBwcml2YXRlOgogICAgIERlcXVlPHN0ZDo6cGFpcjxS
ZWY8RGVmZXJyZWRQcm9taXNlPiwgRnVuY3Rpb248dm9pZChSZWY8RGVmZXJyZWRQcm9taXNlPiYm
KT4+PiBtX29wZXJhdGlvbnM7CiAgICAgYm9vbCBtX2hhc1BlbmRpbmdPcGVyYXRpb24geyBmYWxz
ZSB9OwogICAgIGJvb2wgbV9zaG91bGRGaXJlTmVnb3RpYXRpb25OZWVkZWRPbmNlT3BlcmF0aW9u
Q2hhaW5Jc0VtcHR5IHsgZmFsc2UgfTsKLSAgICBWZWN0b3I8UmVmPFJUQ0R0bHNUcmFuc3BvcnQ+
PiBtX3RyYW5zcG9ydHM7CisgICAgVmVjdG9yPFJlZjxSVENEdGxzVHJhbnNwb3J0Pj4gbV9kdGxz
VHJhbnNwb3J0czsKKyAgICBWZWN0b3I8UmVmPFJUQ0ljZVRyYW5zcG9ydD4+IG1faWNlVHJhbnNw
b3J0czsKIH07CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vbGlid2VicnRjL0xpYldlYlJUQ0R0bHNUcmFuc3Bv
cnRCYWNrZW5kLmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vbGlid2Vi
cnRjL0xpYldlYlJUQ0R0bHNUcmFuc3BvcnRCYWNrZW5kLmNwcAppbmRleCBjODI4ZGNkYmE5ZWEz
OTNiMDA3YThjM2E0N2NmNjkwYTViMTI3MGY0Li4xYmIzOTU2OTkzZDA4MWZjYzQ1NzlmNzhjNTZj
ZGY3NTk1ZTdlYTk0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3Ry
ZWFtL2xpYndlYnJ0Yy9MaWJXZWJSVENEdGxzVHJhbnNwb3J0QmFja2VuZC5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9saWJ3ZWJydGMvTGliV2ViUlRDRHRsc1Ry
YW5zcG9ydEJhY2tlbmQuY3BwCkBAIC0yNyw2ICsyNyw3IEBACiAKICNpZiBFTkFCTEUoV0VCX1JU
QykgJiYgVVNFKExJQldFQlJUQykKIAorI2luY2x1ZGUgIkxpYldlYlJUQ0ljZVRyYW5zcG9ydEJh
Y2tlbmQuaCIKICNpbmNsdWRlIDx3ZWJydGMvYXBpL2R0bHNfdHJhbnNwb3J0X2ludGVyZmFjZS5o
PgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CkBAIC0xMjksNyArMTMwLDYgQEAgdm9pZCBMaWJXZWJS
VENEdGxzVHJhbnNwb3J0QmFja2VuZE9ic2VydmVyOjpPbkVycm9yKHdlYnJ0Yzo6UlRDRXJyb3Ip
CiAgICAgfSk7CiB9CiAKLQogTGliV2ViUlRDRHRsc1RyYW5zcG9ydEJhY2tlbmQ6OkxpYldlYlJU
Q0R0bHNUcmFuc3BvcnRCYWNrZW5kKHJ0Yzo6c2NvcGVkX3JlZnB0cjx3ZWJydGM6OkR0bHNUcmFu
c3BvcnRJbnRlcmZhY2U+JiYgYmFja2VuZCkKICAgICA6IG1fYmFja2VuZChXVEZNb3ZlKGJhY2tl
bmQpKQogewpAQCAtMTQyLDYgKzE0MiwxMSBAQCBMaWJXZWJSVENEdGxzVHJhbnNwb3J0QmFja2Vu
ZDo6fkxpYldlYlJUQ0R0bHNUcmFuc3BvcnRCYWNrZW5kKCkKICAgICAgICAgbV9vYnNlcnZlci0+
c3RvcCgpOwogfQogCitVbmlxdWVSZWY8UlRDSWNlVHJhbnNwb3J0QmFja2VuZD4gTGliV2ViUlRD
RHRsc1RyYW5zcG9ydEJhY2tlbmQ6OmljZVRyYW5zcG9ydEJhY2tlbmQoKQoreworICAgIHJldHVy
biBtYWtlVW5pcXVlUmVmPExpYldlYlJUQ0ljZVRyYW5zcG9ydEJhY2tlbmQ+KG1fYmFja2VuZC0+
aWNlX3RyYW5zcG9ydCgpKTsKK30KKwogdm9pZCBMaWJXZWJSVENEdGxzVHJhbnNwb3J0QmFja2Vu
ZDo6cmVnaXN0ZXJDbGllbnQoQ2xpZW50JiBjbGllbnQpCiB7CiAgICAgQVNTRVJUKCFtX29ic2Vy
dmVyKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vbGli
d2VicnRjL0xpYldlYlJUQ0R0bHNUcmFuc3BvcnRCYWNrZW5kLmggYi9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL21lZGlhc3RyZWFtL2xpYndlYnJ0Yy9MaWJXZWJSVENEdGxzVHJhbnNwb3J0QmFja2Vu
ZC5oCmluZGV4IDZiYTEwNzM5ZTIzZmIzOWZkMDUxY2Q1NTI4MGZlZDNkZjljNDVmNDUuLjNlNjdi
NDkwYWU3MWE1YTMxNjllMGQ4YzBiY2NlZGNlZWU0YzI1MTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vbGlid2VicnRjL0xpYldlYlJUQ0R0bHNUcmFuc3Bv
cnRCYWNrZW5kLmgKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9saWJ3
ZWJydGMvTGliV2ViUlRDRHRsc1RyYW5zcG9ydEJhY2tlbmQuaApAQCAtNTEsNiArNTEsNyBAQCBw
dWJsaWM6CiBwcml2YXRlOgogICAgIC8vIFJUQ0R0bHNUcmFuc3BvcnRCYWNrZW5kCiAgICAgY29u
c3Qgdm9pZCogYmFja2VuZCgpIGNvbnN0IGZpbmFsIHsgcmV0dXJuIG1fYmFja2VuZC5nZXQoKTsg
fQorICAgIFVuaXF1ZVJlZjxSVENJY2VUcmFuc3BvcnRCYWNrZW5kPiBpY2VUcmFuc3BvcnRCYWNr
ZW5kKCkgZmluYWw7CiAgICAgdm9pZCByZWdpc3RlckNsaWVudChDbGllbnQmKSBmaW5hbDsKICAg
ICB2b2lkIHVucmVnaXN0ZXJDbGllbnQoKSBmaW5hbDsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9saWJ3ZWJydGMvTGliV2ViUlRDSWNlVHJhbnNwb3J0
QmFja2VuZC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL2xpYndlYnJ0
Yy9MaWJXZWJSVENJY2VUcmFuc3BvcnRCYWNrZW5kLmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mZWUzMTA4NjNm
NDRkNmViMjlhYzQ5NGZiYzBkMTYwMjI4ODMyMjgwCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNl
L1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9saWJ3ZWJydGMvTGliV2ViUlRDSWNlVHJhbnNw
b3J0QmFja2VuZC5jcHAKQEAgLTAsMCArMSwxNjMgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIw
MTggQXBwbGUgSW5jLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFu
ZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVy
bWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0
OgorICogMS4gIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUg
YWJvdmUgY29weXJpZ2h0CisgKiAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gIFJlZGlzdHJpYnV0aW9ucyBpbiBi
aW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICAgbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
IGluIHRoZQorICogICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92
aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9W
SURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJyBBTkQgQU5Z
CisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJ
TUlURUQgVE8sIFRIRSBJTVBMSUVECisgKiBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBB
TkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFCisgKiBESVNDTEFJTUVELiBJ
TiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMgQkUgTElBQkxF
IEZPUiBBTlkKKyAqIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1Q
TEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTCisgKiAoSU5DTFVESU5HLCBCVVQgTk9UIExJ
TUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7Cisg
KiBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9O
KSBIT1dFVkVSIENBVVNFRCBBTkQgT04KKyAqIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVU
SEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5H
IE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBV
U0UgT0YgVEhJUworICogU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJ
VFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgorI2luY2x1ZGUg
IkxpYldlYlJUQ0ljZVRyYW5zcG9ydEJhY2tlbmQuaCIKKworI2lmIEVOQUJMRShXRUJfUlRDKSAm
JiBVU0UoTElCV0VCUlRDKQorCitBTExPV19VTlVTRURfUEFSQU1FVEVSU19CRUdJTgorCisjaW5j
bHVkZSA8d2VicnRjL2FwaS9pY2VfdHJhbnNwb3J0X2ludGVyZmFjZS5oPgorI2luY2x1ZGUgPHdl
YnJ0Yy9wMnAvYmFzZS9pY2VfdHJhbnNwb3J0X2ludGVybmFsLmg+CisKK0FMTE9XX1VOVVNFRF9Q
QVJBTUVURVJTX0VORAorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK3N0YXRpYyBpbmxpbmUgUlRD
SWNlVHJhbnNwb3J0U3RhdGUgdG9SVENJY2VUcmFuc3BvcnRTdGF0ZSh3ZWJydGM6OkljZVRyYW5z
cG9ydFN0YXRlIHN0YXRlKQoreworICAgIHN3aXRjaCAoc3RhdGUpIHsKKyAgICBjYXNlIHdlYnJ0
Yzo6SWNlVHJhbnNwb3J0U3RhdGU6OmtOZXc6CisgICAgICAgIHJldHVybiBSVENJY2VUcmFuc3Bv
cnRTdGF0ZTo6TmV3OworICAgIGNhc2Ugd2VicnRjOjpJY2VUcmFuc3BvcnRTdGF0ZTo6a0NoZWNr
aW5nOgorICAgICAgICByZXR1cm4gUlRDSWNlVHJhbnNwb3J0U3RhdGU6OkNoZWNraW5nOworICAg
IGNhc2Ugd2VicnRjOjpJY2VUcmFuc3BvcnRTdGF0ZTo6a0Nvbm5lY3RlZDoKKyAgICAgICAgcmV0
dXJuIFJUQ0ljZVRyYW5zcG9ydFN0YXRlOjpDb25uZWN0ZWQ7CisgICAgY2FzZSB3ZWJydGM6Oklj
ZVRyYW5zcG9ydFN0YXRlOjprRmFpbGVkOgorICAgICAgICByZXR1cm4gUlRDSWNlVHJhbnNwb3J0
U3RhdGU6OkZhaWxlZDsKKyAgICBjYXNlIHdlYnJ0Yzo6SWNlVHJhbnNwb3J0U3RhdGU6OmtDb21w
bGV0ZWQ6CisgICAgICAgIHJldHVybiBSVENJY2VUcmFuc3BvcnRTdGF0ZTo6Q29tcGxldGVkOwor
ICAgIGNhc2Ugd2VicnRjOjpJY2VUcmFuc3BvcnRTdGF0ZTo6a0Rpc2Nvbm5lY3RlZDoKKyAgICAg
ICAgcmV0dXJuIFJUQ0ljZVRyYW5zcG9ydFN0YXRlOjpEaXNjb25uZWN0ZWQ7CisgICAgY2FzZSB3
ZWJydGM6OkljZVRyYW5zcG9ydFN0YXRlOjprQ2xvc2VkOgorICAgICAgICByZXR1cm4gUlRDSWNl
VHJhbnNwb3J0U3RhdGU6OkNsb3NlZDsKKyAgICB9CisKKyAgICBSRUxFQVNFX0FTU0VSVF9OT1Rf
UkVBQ0hFRCgpOworfQorCitzdGF0aWMgaW5saW5lIFJUQ0ljZUdhdGhlcmluZ1N0YXRlIHRvUlRD
SWNlR2F0aGVyaW5nU3RhdGUoY3JpY2tldDo6SWNlR2F0aGVyaW5nU3RhdGUgc3RhdGUpCit7Cisg
ICAgc3dpdGNoIChzdGF0ZSkgeworICAgIGNhc2UgY3JpY2tldDo6SWNlR2F0aGVyaW5nU3RhdGU6
OmtJY2VHYXRoZXJpbmdOZXc6CisgICAgICAgIHJldHVybiBSVENJY2VHYXRoZXJpbmdTdGF0ZTo6
TmV3OworICAgIGNhc2UgY3JpY2tldDo6SWNlR2F0aGVyaW5nU3RhdGU6OmtJY2VHYXRoZXJpbmdH
YXRoZXJpbmc6CisgICAgICAgIHJldHVybiBSVENJY2VHYXRoZXJpbmdTdGF0ZTo6R2F0aGVyaW5n
OworICAgIGNhc2UgY3JpY2tldDo6SWNlR2F0aGVyaW5nU3RhdGU6OmtJY2VHYXRoZXJpbmdDb21w
bGV0ZToKKyAgICAgICAgcmV0dXJuIFJUQ0ljZUdhdGhlcmluZ1N0YXRlOjpDb21wbGV0ZTsKKyAg
ICB9CisKKyAgICBSRUxFQVNFX0FTU0VSVF9OT1RfUkVBQ0hFRCgpOworfQorCitjbGFzcyBMaWJX
ZWJSVENJY2VUcmFuc3BvcnRCYWNrZW5kT2JzZXJ2ZXIgZmluYWwgOiBwdWJsaWMgVGhyZWFkU2Fm
ZVJlZkNvdW50ZWQ8TGliV2ViUlRDSWNlVHJhbnNwb3J0QmFja2VuZE9ic2VydmVyPiwgcHVibGlj
IHNpZ3Nsb3Q6Omhhc19zbG90czw+IHsKK3B1YmxpYzoKKyAgICBzdGF0aWMgUmVmPExpYldlYlJU
Q0ljZVRyYW5zcG9ydEJhY2tlbmRPYnNlcnZlcj4gY3JlYXRlKFJUQ0ljZVRyYW5zcG9ydEJhY2tl
bmQ6OkNsaWVudCYgY2xpZW50LCBydGM6OnNjb3BlZF9yZWZwdHI8d2VicnRjOjpJY2VUcmFuc3Bv
cnRJbnRlcmZhY2U+JiBiYWNrZW5kKSB7IHJldHVybiBhZG9wdFJlZigqbmV3IExpYldlYlJUQ0lj
ZVRyYW5zcG9ydEJhY2tlbmRPYnNlcnZlcihjbGllbnQsIGJhY2tlbmQpKTsgfQorCisgICAgdm9p
ZCBzdGFydCgpOworICAgIHZvaWQgc3RvcCgpOworCitwcml2YXRlOgorICAgIExpYldlYlJUQ0lj
ZVRyYW5zcG9ydEJhY2tlbmRPYnNlcnZlcihSVENJY2VUcmFuc3BvcnRCYWNrZW5kOjpDbGllbnQm
LCBydGM6OnNjb3BlZF9yZWZwdHI8d2VicnRjOjpJY2VUcmFuc3BvcnRJbnRlcmZhY2U+Jik7CisK
KyAgICB2b2lkIG9uSWNlVHJhbnNwb3J0U3RhdGVDaGFuZ2VkKGNyaWNrZXQ6OkljZVRyYW5zcG9y
dEludGVybmFsKik7CisgICAgdm9pZCBvbkdhdGhlcmluZ1N0YXRlQ2hhbmdlZChjcmlja2V0OjpJ
Y2VUcmFuc3BvcnRJbnRlcm5hbCopOworCisgICAgcnRjOjpzY29wZWRfcmVmcHRyPHdlYnJ0Yzo6
SWNlVHJhbnNwb3J0SW50ZXJmYWNlPiBtX2JhY2tlbmQ7CisgICAgV2Vha1B0cjxSVENJY2VUcmFu
c3BvcnRCYWNrZW5kOjpDbGllbnQ+IG1fY2xpZW50OworfTsKKworTGliV2ViUlRDSWNlVHJhbnNw
b3J0QmFja2VuZE9ic2VydmVyOjpMaWJXZWJSVENJY2VUcmFuc3BvcnRCYWNrZW5kT2JzZXJ2ZXIo
UlRDSWNlVHJhbnNwb3J0QmFja2VuZDo6Q2xpZW50JiBjbGllbnQsIHJ0Yzo6c2NvcGVkX3JlZnB0
cjx3ZWJydGM6OkljZVRyYW5zcG9ydEludGVyZmFjZT4mIGJhY2tlbmQpCisgICAgOiBtX2JhY2tl
bmQoYmFja2VuZCkKKyAgICAsIG1fY2xpZW50KG1ha2VXZWFrUHRyKGNsaWVudCkpCit7CisgICAg
QVNTRVJUKG1fYmFja2VuZCk7Cit9CisKK3ZvaWQgTGliV2ViUlRDSWNlVHJhbnNwb3J0QmFja2Vu
ZE9ic2VydmVyOjpzdGFydCgpCit7CisgICAgTGliV2ViUlRDUHJvdmlkZXI6OmNhbGxPbldlYlJU
Q05ldHdvcmtUaHJlYWQoW3RoaXMsIHByb3RlY3RlZFRoaXMgPSBtYWtlUmVmKCp0aGlzKV0oKSBt
dXRhYmxlIHsKKyAgICAgICAgYXV0byogaW50ZXJuYWwgPSBtX2JhY2tlbmQtPmludGVybmFsKCk7
CisgICAgICAgIGlmICghaW50ZXJuYWwpCisgICAgICAgICAgICByZXR1cm47CisgICAgICAgIGlu
dGVybmFsLT5TaWduYWxJY2VUcmFuc3BvcnRTdGF0ZUNoYW5nZWQuY29ubmVjdCh0aGlzLCAmTGli
V2ViUlRDSWNlVHJhbnNwb3J0QmFja2VuZE9ic2VydmVyOjpvbkljZVRyYW5zcG9ydFN0YXRlQ2hh
bmdlZCk7CisgICAgICAgIGludGVybmFsLT5TaWduYWxHYXRoZXJpbmdTdGF0ZS5jb25uZWN0KHRo
aXMsICZMaWJXZWJSVENJY2VUcmFuc3BvcnRCYWNrZW5kT2JzZXJ2ZXI6Om9uR2F0aGVyaW5nU3Rh
dGVDaGFuZ2VkKTsKKyAgICB9KTsKK30KKwordm9pZCBMaWJXZWJSVENJY2VUcmFuc3BvcnRCYWNr
ZW5kT2JzZXJ2ZXI6OnN0b3AoKQoreworICAgIG1fY2xpZW50ID0gbnVsbHB0cjsKKyAgICBMaWJX
ZWJSVENQcm92aWRlcjo6Y2FsbE9uV2ViUlRDTmV0d29ya1RocmVhZChbdGhpcywgcHJvdGVjdGVk
VGhpcyA9IG1ha2VSZWYoKnRoaXMpXSB7CisgICAgICAgIGF1dG8qIGludGVybmFsID0gbV9iYWNr
ZW5kLT5pbnRlcm5hbCgpOworICAgICAgICBpZiAoIWludGVybmFsKQorICAgICAgICAgICAgcmV0
dXJuOworICAgICAgICBpbnRlcm5hbC0+U2lnbmFsSWNlVHJhbnNwb3J0U3RhdGVDaGFuZ2VkLmRp
c2Nvbm5lY3QodGhpcyk7CisgICAgICAgIGludGVybmFsLT5TaWduYWxHYXRoZXJpbmdTdGF0ZS5k
aXNjb25uZWN0KHRoaXMpOworICAgIH0pOworfQorCit2b2lkIExpYldlYlJUQ0ljZVRyYW5zcG9y
dEJhY2tlbmRPYnNlcnZlcjo6b25JY2VUcmFuc3BvcnRTdGF0ZUNoYW5nZWQoY3JpY2tldDo6SWNl
VHJhbnNwb3J0SW50ZXJuYWwqIGludGVybmFsKQoreworICAgIGNhbGxPbk1haW5UaHJlYWQoW3By
b3RlY3RlZFRoaXMgPSBtYWtlUmVmKCp0aGlzKSwgc3RhdGUgPSBpbnRlcm5hbC0+R2V0SWNlVHJh
bnNwb3J0U3RhdGUoKV0geworICAgICAgICBpZiAocHJvdGVjdGVkVGhpcy0+bV9jbGllbnQpCisg
ICAgICAgICAgICBwcm90ZWN0ZWRUaGlzLT5tX2NsaWVudC0+b25TdGF0ZUNoYW5nZWQodG9SVENJ
Y2VUcmFuc3BvcnRTdGF0ZShzdGF0ZSkpOworICAgIH0pOworfQorCit2b2lkIExpYldlYlJUQ0lj
ZVRyYW5zcG9ydEJhY2tlbmRPYnNlcnZlcjo6b25HYXRoZXJpbmdTdGF0ZUNoYW5nZWQoY3JpY2tl
dDo6SWNlVHJhbnNwb3J0SW50ZXJuYWwqIGludGVybmFsKQoreworICAgIGNhbGxPbk1haW5UaHJl
YWQoW3Byb3RlY3RlZFRoaXMgPSBtYWtlUmVmKCp0aGlzKSwgc3RhdGUgPSBpbnRlcm5hbC0+Z2F0
aGVyaW5nX3N0YXRlKCldIHsKKyAgICAgICAgaWYgKHByb3RlY3RlZFRoaXMtPm1fY2xpZW50KQor
ICAgICAgICAgICAgcHJvdGVjdGVkVGhpcy0+bV9jbGllbnQtPm9uR2F0aGVyaW5nU3RhdGVDaGFu
Z2VkKHRvUlRDSWNlR2F0aGVyaW5nU3RhdGUoc3RhdGUpKTsKKyAgICB9KTsKK30KKworTGliV2Vi
UlRDSWNlVHJhbnNwb3J0QmFja2VuZDo6TGliV2ViUlRDSWNlVHJhbnNwb3J0QmFja2VuZChydGM6
OnNjb3BlZF9yZWZwdHI8d2VicnRjOjpJY2VUcmFuc3BvcnRJbnRlcmZhY2U+JiYgYmFja2VuZCkK
KyAgICA6IG1fYmFja2VuZChXVEZNb3ZlKGJhY2tlbmQpKQoreworICAgIEFTU0VSVChtX2JhY2tl
bmQpOworfQorCitMaWJXZWJSVENJY2VUcmFuc3BvcnRCYWNrZW5kOjp+TGliV2ViUlRDSWNlVHJh
bnNwb3J0QmFja2VuZCgpCit7Cit9CisKK3ZvaWQgTGliV2ViUlRDSWNlVHJhbnNwb3J0QmFja2Vu
ZDo6cmVnaXN0ZXJDbGllbnQoQ2xpZW50JiBjbGllbnQpCit7CisgICAgQVNTRVJUKCFtX29ic2Vy
dmVyKTsKKyAgICBtX29ic2VydmVyID0gTGliV2ViUlRDSWNlVHJhbnNwb3J0QmFja2VuZE9ic2Vy
dmVyOjpjcmVhdGUoY2xpZW50LCBtX2JhY2tlbmQpOworICAgIG1fb2JzZXJ2ZXItPnN0YXJ0KCk7
Cit9CisKK3ZvaWQgTGliV2ViUlRDSWNlVHJhbnNwb3J0QmFja2VuZDo6dW5yZWdpc3RlckNsaWVu
dCgpCit7CisgICAgQVNTRVJUKG1fb2JzZXJ2ZXIpOworICAgIG1fb2JzZXJ2ZXItPnN0b3AoKTsK
K30KKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQorCisjZW5kaWYgLy8gRU5BQkxFKFdFQl9SVEMp
ICYmIFVTRShMSUJXRUJSVEMpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21l
ZGlhc3RyZWFtL2xpYndlYnJ0Yy9MaWJXZWJSVENJY2VUcmFuc3BvcnRCYWNrZW5kLmggYi9Tb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL2xpYndlYnJ0Yy9MaWJXZWJSVENJY2VUcmFu
c3BvcnRCYWNrZW5kLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYzc1ZTgxMDY4YjM4YmM5NDcwYzY5YTBlYjY1MDg2
M2QwZGY3ZGY1NQotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVk
aWFzdHJlYW0vbGlid2VicnRjL0xpYldlYlJUQ0ljZVRyYW5zcG9ydEJhY2tlbmQuaApAQCAtMCww
ICsxLDY0IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE4IEFwcGxlIEluYy4KKyAqCisgKiBS
ZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9y
IHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRo
ZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuICBSZWRpc3RyaWJ1dGlv
bnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAg
IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xh
aW1lci4KKyAqIDIuICBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1
Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRp
dGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgICBkb2N1bWVu
dGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0
aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQg
SVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVE
IFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRAor
ICogV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElD
VUxBUiBQVVJQT1NFIEFSRQorICogRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUg
SU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZCisgKiBESVJFQ1QsIElO
RElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwg
REFNQUdFUworICogKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBP
RiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOworICogTE9TUyBPRiBVU0UsIERBVEEsIE9S
IFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9O
CisgKiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNU
IExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lT
RSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMKKyAqIFNPRlRXQVJF
LCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICov
CisKKyNwcmFnbWEgb25jZQorCisjaWYgRU5BQkxFKFdFQl9SVEMpCisKKyNpbmNsdWRlICJMaWJX
ZWJSVENNYWNyb3MuaCIKKyNpbmNsdWRlICJSVENJY2VUcmFuc3BvcnRCYWNrZW5kLmgiCisKK0FM
TE9XX1VOVVNFRF9QQVJBTUVURVJTX0JFR0lOCisKKyNpbmNsdWRlIDx3ZWJydGMvYXBpL3Njb3Bl
ZF9yZWZwdHIuaD4KKworQUxMT1dfVU5VU0VEX1BBUkFNRVRFUlNfRU5ECisKK25hbWVzcGFjZSB3
ZWJydGMgeworY2xhc3MgSWNlVHJhbnNwb3J0SW50ZXJmYWNlOworfQorCituYW1lc3BhY2UgV2Vi
Q29yZSB7CisKK2NsYXNzIExpYldlYlJUQ0ljZVRyYW5zcG9ydEJhY2tlbmRPYnNlcnZlcjsKKwor
Y2xhc3MgTGliV2ViUlRDSWNlVHJhbnNwb3J0QmFja2VuZCBmaW5hbCA6IHB1YmxpYyBSVENJY2VU
cmFuc3BvcnRCYWNrZW5kIHsKKyAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKK3B1YmxpYzoK
KyAgICBleHBsaWNpdCBMaWJXZWJSVENJY2VUcmFuc3BvcnRCYWNrZW5kKHJ0Yzo6c2NvcGVkX3Jl
ZnB0cjx3ZWJydGM6OkljZVRyYW5zcG9ydEludGVyZmFjZT4mJik7CisgICAgfkxpYldlYlJUQ0lj
ZVRyYW5zcG9ydEJhY2tlbmQoKTsKKworcHJpdmF0ZToKKyAgICAvLyBSVENJY2VUcmFuc3BvcnRC
YWNrZW5kCisgICAgY29uc3Qgdm9pZCogYmFja2VuZCgpIGNvbnN0IGZpbmFsIHsgcmV0dXJuIG1f
YmFja2VuZC5nZXQoKTsgfQorICAgIHZvaWQgcmVnaXN0ZXJDbGllbnQoQ2xpZW50JikgZmluYWw7
CisgICAgdm9pZCB1bnJlZ2lzdGVyQ2xpZW50KCkgZmluYWw7CisKKyAgICBydGM6OnNjb3BlZF9y
ZWZwdHI8d2VicnRjOjpJY2VUcmFuc3BvcnRJbnRlcmZhY2U+IG1fYmFja2VuZDsKKyAgICBSZWZQ
dHI8TGliV2ViUlRDSWNlVHJhbnNwb3J0QmFja2VuZE9ic2VydmVyPiBtX29ic2VydmVyOworfTsK
KworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQorCisjZW5kaWYgLy8gRU5BQkxFKFdFQl9SVEMpCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL2xpYndlYnJ0Yy9M
aWJXZWJSVENNZWRpYUVuZHBvaW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFz
dHJlYW0vbGlid2VicnRjL0xpYldlYlJUQ01lZGlhRW5kcG9pbnQuY3BwCmluZGV4IDRhMDViMWRl
YmJiZWVjZTRmZWRkYTI0Yzg1ODUzZTY5MzFiNWM3NzUuLmEzMWJjN2FlYWZlZDFiMDg5OTZjY2I5
ZGVhOGU0MmIyM2Y5ODM2ZTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVk
aWFzdHJlYW0vbGlid2VicnRjL0xpYldlYlJUQ01lZGlhRW5kcG9pbnQuY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vbGlid2VicnRjL0xpYldlYlJUQ01lZGlhRW5k
cG9pbnQuY3BwCkBAIC01OTgsOCArNTk4LDcgQEAgdm9pZCBMaWJXZWJSVENNZWRpYUVuZHBvaW50
OjpPbkljZUNvbm5lY3Rpb25DaGFuZ2Uod2VicnRjOjpQZWVyQ29ubmVjdGlvbkludGVyZmEKICAg
ICBjYWxsT25NYWluVGhyZWFkKFtwcm90ZWN0ZWRUaGlzID0gbWFrZVJlZigqdGhpcyksIGNvbm5l
Y3Rpb25TdGF0ZV0gewogICAgICAgICBpZiAocHJvdGVjdGVkVGhpcy0+aXNTdG9wcGVkKCkpCiAg
ICAgICAgICAgICByZXR1cm47Ci0gICAgICAgIGlmIChwcm90ZWN0ZWRUaGlzLT5tX3BlZXJDb25u
ZWN0aW9uQmFja2VuZC5jb25uZWN0aW9uKCkuaWNlQ29ubmVjdGlvblN0YXRlKCkgIT0gY29ubmVj
dGlvblN0YXRlKQotICAgICAgICAgICAgcHJvdGVjdGVkVGhpcy0+bV9wZWVyQ29ubmVjdGlvbkJh
Y2tlbmQuY29ubmVjdGlvbigpLnVwZGF0ZUljZUNvbm5lY3Rpb25TdGF0ZShjb25uZWN0aW9uU3Rh
dGUpOworICAgICAgICBwcm90ZWN0ZWRUaGlzLT5tX3BlZXJDb25uZWN0aW9uQmFja2VuZC5jb25u
ZWN0aW9uKCkudXBkYXRlSWNlQ29ubmVjdGlvblN0YXRlKGNvbm5lY3Rpb25TdGF0ZSk7CiAgICAg
fSk7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1NvdXJjZXMudHh0IGIvU291cmNl
L1dlYkNvcmUvU291cmNlcy50eHQKaW5kZXggOGQ4MTllYzdkZWQ5M2FkYTFhZTk4MTMyYTkzZmNk
Y2FmMTg2YzFhYi4uYTUwMjkzMGM4M2ZiMGVlOTg1N2FhYTc5N2Y4ZjBiN2ExZWM3ZWMzNSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvU291cmNlcy50eHQKKysrIGIvU291cmNlL1dlYkNvcmUv
U291cmNlcy50eHQKQEAgLTE4OCw2ICsxODgsNyBAQCBNb2R1bGVzL21lZGlhc3RyZWFtL1VzZXJN
ZWRpYUNvbnRyb2xsZXIuY3BwCiBNb2R1bGVzL21lZGlhc3RyZWFtL1VzZXJNZWRpYVJlcXVlc3Qu
Y3BwCiBNb2R1bGVzL21lZGlhc3RyZWFtL2xpYndlYnJ0Yy9MaWJXZWJSVENDZXJ0aWZpY2F0ZUdl
bmVyYXRvci5jcHAKIE1vZHVsZXMvbWVkaWFzdHJlYW0vbGlid2VicnRjL0xpYldlYlJUQ0R0bHNU
cmFuc3BvcnRCYWNrZW5kLmNwcAorTW9kdWxlcy9tZWRpYXN0cmVhbS9saWJ3ZWJydGMvTGliV2Vi
UlRDSWNlVHJhbnNwb3J0QmFja2VuZC5jcHAKIE1vZHVsZXMvbWVkaWFzdHJlYW0vbGlid2VicnRj
L0xpYldlYlJUQ1J0cFJlY2VpdmVyVHJhbnNmb3JtQmFja2VuZC5jcHAKIE1vZHVsZXMvbWVkaWFz
dHJlYW0vbGlid2VicnRjL0xpYldlYlJUQ1J0cFNlbmRlclRyYW5zZm9ybUJhY2tlbmQuY3BwCiBN
b2R1bGVzL21lZGlhc3RyZWFtL2xpYndlYnJ0Yy9MaWJXZWJSVENSdHBUcmFuc2Zvcm1CYWNrZW5k
LmNwcApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVj
dC5wYnhwcm9qIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhw
cm9qCmluZGV4IGY2NDhiODRlMTBjNjRmOTNhMTY5ZjlkOTMxMzYxNWYwYzEyMGJiOTguLmNkZmVh
YTM0ZjAwMThmYTg3MmM2ZjVkOGFjOGJmYzdhYTBhMWU4YjEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKQEAgLTc3ODksNiArNzc4OSw5
IEBACiAJCTQxNDE4QTA1MjU2NjYwQUYwMDM2MzQxNyAvKiBSVENFbmNvZGVkRnJhbWUuY3BwICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gUlRDRW5jb2RlZEZyYW1lLmNwcDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNDE0MThBMDYyNTY2NjBCMDAwMzYzNDE3IC8q
IFJUQ0VuY29kZWRGcmFtZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBSVENF
bmNvZGVkRnJhbWUuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNDE0NDYwQTAyNDEy
OTk0MTAwODE0QkU3IC8qIE1lZGlhU2Vzc2lvbklkZW50aWZpZXIuaCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuYy5oOyBwYXRoID0gTWVkaWFTZXNzaW9uSWRlbnRpZmllci5oOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OworCQk0MTQ1MTZERDI2Q0MwNDBEMDBBQUFCRTAgLyogTGliV2ViUlRDSWNl
VHJhbnNwb3J0QmFja2VuZC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IG5hbWUgPSBMaWJXZWJSVENJY2VUcmFuc3BvcnRC
YWNrZW5kLmg7IHBhdGggPSBsaWJ3ZWJydGMvTGliV2ViUlRDSWNlVHJhbnNwb3J0QmFja2VuZC5o
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk0MTQ1MTZERjI2Q0MwNDBEMDBBQUFCRTAg
LyogTGliV2ViUlRDSWNlVHJhbnNwb3J0QmFja2VuZC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IG5hbWUgPSBM
aWJXZWJSVENJY2VUcmFuc3BvcnRCYWNrZW5kLmNwcDsgcGF0aCA9IGxpYndlYnJ0Yy9MaWJXZWJS
VENJY2VUcmFuc3BvcnRCYWNrZW5kLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJ
NDE0NTE2RTAyNkNDMDQyMTAwQUFBQkUwIC8qIFJUQ0ljZVRyYW5zcG9ydEJhY2tlbmQuaCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Yy5oOyBwYXRoID0gUlRDSWNlVHJhbnNwb3J0QmFja2VuZC5oOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OwogCQk0MTQ1OThCRTIzQzhBQUI4MDAyQjlDQzggLyogU2FtcGxlQnVmZmVyRGlzcGxh
eUxheWVyLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFNhbXBsZUJ1ZmZlckRp
c3BsYXlMYXllci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk0MTQ1OThDMDIzQzhB
RDc4MDAyQjlDQzggLyogTG9jYWxTYW1wbGVCdWZmZXJEaXNwbGF5TGF5ZXIuaCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gTG9jYWxTYW1wbGVCdWZmZXJEaXNwbGF5TGF5ZXIuaDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNDE0NTk4QzEyM0M4QUQ3OTAwMkI5Q0M4IC8q
IExvY2FsU2FtcGxlQnVmZmVyRGlzcGxheUxheWVyLm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
cHAub2JqY3BwOyBwYXRoID0gTG9jYWxTYW1wbGVCdWZmZXJEaXNwbGF5TGF5ZXIubW07IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0xNzE5OCw2ICsxNzIwMSw3IEBACiAJCQkJMzE2RENC
ODgxRTdBNjk5NjAwMUI1Rjg3IC8qIFJUQ0ljZVRyYW5zcG9ydC5jcHAgKi8sCiAJCQkJNUU2NjUz
MDkxREE0MzdCRjAwRkREODRDIC8qIFJUQ0ljZVRyYW5zcG9ydC5oICovLAogCQkJCTMxNkRDQjg5
MUU3QTY5OTYwMDFCNUY4NyAvKiBSVENJY2VUcmFuc3BvcnQuaWRsICovLAorCQkJCTQxNDUxNkUw
MjZDQzA0MjEwMEFBQUJFMCAvKiBSVENJY2VUcmFuc3BvcnRCYWNrZW5kLmggKi8sCiAJCQkJMzE2
RENCOEUxRTdBNkM3OTAwMUI1Rjg3IC8qIFJUQ0ljZVRyYW5zcG9ydFN0YXRlLmlkbCAqLywKIAkJ
CQkwNzM3OTREQzE5RUUyQzUyMDBFNUEwNDUgLyogUlRDT2ZmZXJBbnN3ZXJPcHRpb25zLmggKi8s
CiAJCQkJMzE2RENCMTIxRTc4QkU0MzAwMUI1Rjg3IC8qIFJUQ09mZmVyQW5zd2VyT3B0aW9ucy5p
ZGwgKi8sCkBAIC0xOTMwNiw2ICsxOTMxMCw4IEBACiAJCQkJNUNERDgzNDAxRTQzMjUzRDAwNjIx
RTkyIC8qIExpYldlYlJUQ0RhdGFDaGFubmVsSGFuZGxlci5oICovLAogCQkJCTQxODhENTY0MjZD
NTUzMEIwMDQ4NThDOCAvKiBMaWJXZWJSVENEdGxzVHJhbnNwb3J0QmFja2VuZC5jcHAgKi8sCiAJ
CQkJNDE4OEQ1NjUyNkM1NTMwQjAwNDg1OEM4IC8qIExpYldlYlJUQ0R0bHNUcmFuc3BvcnRCYWNr
ZW5kLmggKi8sCisJCQkJNDE0NTE2REYyNkNDMDQwRDAwQUFBQkUwIC8qIExpYldlYlJUQ0ljZVRy
YW5zcG9ydEJhY2tlbmQuY3BwICovLAorCQkJCTQxNDUxNkREMjZDQzA0MEQwMEFBQUJFMCAvKiBM
aWJXZWJSVENJY2VUcmFuc3BvcnRCYWNrZW5kLmggKi8sCiAJCQkJNDE3NjEyQUIxRTNBOTkzQjAw
QzNEODFEIC8qIExpYldlYlJUQ01lZGlhRW5kcG9pbnQuY3BwICovLAogCQkJCTQxNzYxMkFDMUUz
QTk5M0IwMEMzRDgxRCAvKiBMaWJXZWJSVENNZWRpYUVuZHBvaW50LmggKi8sCiAJCQkJNDE1QTNC
NzMyMTM4RTI2NDAwMUI0QkFBIC8qIExpYldlYlJUQ09ic2VydmVycy5oICovLApkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvZG9tL0V2ZW50TmFtZXMuaCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9F
dmVudE5hbWVzLmgKaW5kZXggNGYwOWM4MmU1YjJmZjA0ZGExZWZkYTI5MmJjOTAyNzc0YzdjYjI5
My4uNGFiZmQ1ZDdjMzBjYTM2YTNlNmZhNzMzYmMwYjdhNWRhOWJhYzRhMiAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvZG9tL0V2ZW50TmFtZXMuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20v
RXZlbnROYW1lcy5oCkBAIC0xMzcsNiArMTM3LDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAg
IG1hY3JvKGZvcm1kYXRhKSBcCiAgICAgbWFjcm8oZ2FtZXBhZGNvbm5lY3RlZCkgXAogICAgIG1h
Y3JvKGdhbWVwYWRkaXNjb25uZWN0ZWQpIFwKKyAgICBtYWNybyhnYXRoZXJpbmdzdGF0ZWNoYW5n
ZSkgXAogICAgIG1hY3JvKGdlc3R1cmVjaGFuZ2UpIFwKICAgICBtYWNybyhnZXN0dXJlZW5kKSBc
CiAgICAgbWFjcm8oZ2VzdHVyZXNjcm9sbGVuZCkgXApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvZG9tL0V2ZW50VGFyZ2V0RmFjdG9yeS5pbiBiL1NvdXJjZS9XZWJDb3JlL2RvbS9FdmVudFRh
cmdldEZhY3RvcnkuaW4KaW5kZXggNWU1OGYxMTE2NjdlZjYyMTBkNTMxMTBkN2I1NGE4MDJjODQz
OTVkOC4uM2Q4MDNhZDU1OWMxNWZhMGNjZDBkMDJjYTg4MjY1ZDg1Y2ViNmFhZiAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvZG9tL0V2ZW50VGFyZ2V0RmFjdG9yeS5pbgorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9kb20vRXZlbnRUYXJnZXRGYWN0b3J5LmluCkBAIC00MCw2ICs0MCw3IEBAIFJlbW90
ZVBsYXliYWNrIGNvbmRpdGlvbmFsPVdJUkVMRVNTX1BMQVlCQUNLX1RBUkdFVAogUlRDRGF0YUNo
YW5uZWwgY29uZGl0aW9uYWw9V0VCX1JUQwogUlRDRHRsc1RyYW5zcG9ydCBjb25kaXRpb25hbD1X
RUJfUlRDCiBSVENEVE1GU2VuZGVyIGNvbmRpdGlvbmFsPVdFQl9SVEMKK1JUQ0ljZVRyYW5zcG9y
dCBjb25kaXRpb25hbD1XRUJfUlRDCiBSVENQZWVyQ29ubmVjdGlvbiBjb25kaXRpb25hbD1XRUJf
UlRDCiBSVENSdHBTRnJhbWVUcmFuc2Zvcm0gY29uZGl0aW9uYWw9V0VCX1JUQwogUlRDUnRwU2Ny
aXB0VHJhbnNmb3JtIGNvbmRpdGlvbmFsPVdFQl9SVEMKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdl
TG9nCmluZGV4IGRjY2Y5MDQyMGE1MDdhNWI2Njc2MjM0YzE5YzI2MmFhZTMxODIwZWIuLmFhMDYw
M2JmMTQ3ZThhZmQzM2VkYzM4MmU3ZDZhMDQ5NGY5M2IyNWUgMTAwNjQ0Ci0tLSBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L0NoYW5nZUxvZwpAQCAtMSwzICsxLDEzIEBACisyMDIxLTA4LTE5ICBZb3Vlbm4gRmFibGV0ICA8
eW91ZW5uQGFwcGxlLmNvbT4KKworICAgICAgICBBZGQgc3VwcG9ydCBmb3IgUlRDSWNlVHJhbnNw
b3J0CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMjky
ODUKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIHdl
Yi1wbGF0Zm9ybS10ZXN0cy93ZWJydGMvaWRsaGFybmVzcy5odHRwcy53aW5kb3ctZXhwZWN0ZWQu
dHh0OgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy93ZWJydGMvcHJvdG9jb2wvYnVuZGxl
Lmh0dHBzLWV4cGVjdGVkLnR4dDoKKwogMjAyMS0wOC0xOSAgWW91ZW5uIEZhYmxldCAgPHlvdWVu
bkBhcHBsZS5jb20+CiAKICAgICAgICAgU2lnbmFsaW5nIHN0YXRlIGNoZWNrIHdoZW4gYXBwbHlp
bmcgYSBsb2NhbCBvciByZW1vdGUgZGVzY3JpcHRpb24gaXMgbm8gbG9uZ2VyIGFsaWduZWQgd2l0
aCB0aGUgV2ViUlRDIHNwZWMKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvd2VicnRjL2lkbGhhcm5lc3MuaHR0cHMud2luZG93LWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd2VicnRj
L2lkbGhhcm5lc3MuaHR0cHMud2luZG93LWV4cGVjdGVkLnR4dAppbmRleCA5OTgwZjRlYTEyM2Yx
YThiNzBjYjU5NzgxYjkyMDM5YmMyYmFhNWZjLi4wMTQ2MmQwN2E2ZWE3MGM1NTZkNDBmNzc0MjMy
ZjcxODU3OWJmNzJhIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3dlYnJ0Yy9pZGxoYXJuZXNzLmh0dHBzLndpbmRvdy1leHBlY3RlZC50eHQK
KysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93ZWJydGMv
aWRsaGFybmVzcy5odHRwcy53aW5kb3ctZXhwZWN0ZWQudHh0CkBAIC0zMDcsNyArMzA3LDcgQEAg
UEFTUyBSVENEdGxzVHJhbnNwb3J0IGludGVyZmFjZSBvYmplY3QgbmFtZQogUEFTUyBSVENEdGxz
VHJhbnNwb3J0IGludGVyZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVzIG9mIGludGVyZmFj
ZSBwcm90b3R5cGUgb2JqZWN0CiBQQVNTIFJUQ0R0bHNUcmFuc3BvcnQgaW50ZXJmYWNlOiBleGlz
dGVuY2UgYW5kIHByb3BlcnRpZXMgb2YgaW50ZXJmYWNlIHByb3RvdHlwZSBvYmplY3QncyAiY29u
c3RydWN0b3IiIHByb3BlcnR5CiBQQVNTIFJUQ0R0bHNUcmFuc3BvcnQgaW50ZXJmYWNlOiBleGlz
dGVuY2UgYW5kIHByb3BlcnRpZXMgb2YgaW50ZXJmYWNlIHByb3RvdHlwZSBvYmplY3QncyBAQHVu
c2NvcGFibGVzIHByb3BlcnR5Ci1GQUlMIFJUQ0R0bHNUcmFuc3BvcnQgaW50ZXJmYWNlOiBhdHRy
aWJ1dGUgaWNlVHJhbnNwb3J0IGFzc2VydF90cnVlOiBUaGUgcHJvdG90eXBlIG9iamVjdCBtdXN0
IGhhdmUgYSBwcm9wZXJ0eSAiaWNlVHJhbnNwb3J0IiBleHBlY3RlZCB0cnVlIGdvdCBmYWxzZQor
UEFTUyBSVENEdGxzVHJhbnNwb3J0IGludGVyZmFjZTogYXR0cmlidXRlIGljZVRyYW5zcG9ydAog
UEFTUyBSVENEdGxzVHJhbnNwb3J0IGludGVyZmFjZTogYXR0cmlidXRlIHN0YXRlCiBQQVNTIFJU
Q0R0bHNUcmFuc3BvcnQgaW50ZXJmYWNlOiBvcGVyYXRpb24gZ2V0UmVtb3RlQ2VydGlmaWNhdGVz
KCkKIFBBU1MgUlRDRHRsc1RyYW5zcG9ydCBpbnRlcmZhY2U6IGF0dHJpYnV0ZSBvbnN0YXRlY2hh
bmdlCkBAIC0zMTksMTQgKzMxOSwxMCBAQCBGQUlMIFJUQ0R0bHNUcmFuc3BvcnQgaW50ZXJmYWNl
OiBpZGxUZXN0T2JqZWN0cy5kdGxzVHJhbnNwb3J0IG11c3QgaW5oZXJpdCBwcm9wZQogRkFJTCBS
VENEdGxzVHJhbnNwb3J0IGludGVyZmFjZTogaWRsVGVzdE9iamVjdHMuZHRsc1RyYW5zcG9ydCBt
dXN0IGluaGVyaXQgcHJvcGVydHkgImdldFJlbW90ZUNlcnRpZmljYXRlcygpIiB3aXRoIHRoZSBw
cm9wZXIgdHlwZSBhc3NlcnRfZXF1YWxzOiB3cm9uZyB0eXBlb2Ygb2JqZWN0IGV4cGVjdGVkICJv
YmplY3QiIGJ1dCBnb3QgInVuZGVmaW5lZCIKIEZBSUwgUlRDRHRsc1RyYW5zcG9ydCBpbnRlcmZh
Y2U6IGlkbFRlc3RPYmplY3RzLmR0bHNUcmFuc3BvcnQgbXVzdCBpbmhlcml0IHByb3BlcnR5ICJv
bnN0YXRlY2hhbmdlIiB3aXRoIHRoZSBwcm9wZXIgdHlwZSBhc3NlcnRfZXF1YWxzOiB3cm9uZyB0
eXBlb2Ygb2JqZWN0IGV4cGVjdGVkICJvYmplY3QiIGJ1dCBnb3QgInVuZGVmaW5lZCIKIEZBSUwg
UlRDRHRsc1RyYW5zcG9ydCBpbnRlcmZhY2U6IGlkbFRlc3RPYmplY3RzLmR0bHNUcmFuc3BvcnQg
bXVzdCBpbmhlcml0IHByb3BlcnR5ICJvbmVycm9yIiB3aXRoIHRoZSBwcm9wZXIgdHlwZSBhc3Nl
cnRfZXF1YWxzOiB3cm9uZyB0eXBlb2Ygb2JqZWN0IGV4cGVjdGVkICJvYmplY3QiIGJ1dCBnb3Qg
InVuZGVmaW5lZCIKLUZBSUwgUlRDSWNlVHJhbnNwb3J0IGludGVyZmFjZTogZXhpc3RlbmNlIGFu
ZCBwcm9wZXJ0aWVzIG9mIGludGVyZmFjZSBvYmplY3QgYXNzZXJ0X2VxdWFsczogcHJvdG90eXBl
IG9mIFJUQ0ljZVRyYW5zcG9ydCBpcyBub3QgRXZlbnRUYXJnZXQgZXhwZWN0ZWQgZnVuY3Rpb24g
ImZ1bmN0aW9uIEV2ZW50VGFyZ2V0KCkgewotICAgIFtuYXRpdmUgY29kZV0KLX0iIGJ1dCBnb3Qg
ZnVuY3Rpb24gImZ1bmN0aW9uICgpIHsKLSAgICBbbmF0aXZlIGNvZGVdCi19IgorUEFTUyBSVENJ
Y2VUcmFuc3BvcnQgaW50ZXJmYWNlOiBleGlzdGVuY2UgYW5kIHByb3BlcnRpZXMgb2YgaW50ZXJm
YWNlIG9iamVjdAogUEFTUyBSVENJY2VUcmFuc3BvcnQgaW50ZXJmYWNlIG9iamVjdCBsZW5ndGgK
IFBBU1MgUlRDSWNlVHJhbnNwb3J0IGludGVyZmFjZSBvYmplY3QgbmFtZQotRkFJTCBSVENJY2VU
cmFuc3BvcnQgaW50ZXJmYWNlOiBleGlzdGVuY2UgYW5kIHByb3BlcnRpZXMgb2YgaW50ZXJmYWNl
IHByb3RvdHlwZSBvYmplY3QgYXNzZXJ0X2VxdWFsczogcHJvdG90eXBlIG9mIFJUQ0ljZVRyYW5z
cG9ydC5wcm90b3R5cGUgaXMgbm90IEV2ZW50VGFyZ2V0LnByb3RvdHlwZSBleHBlY3RlZCBvYmpl
Y3QgIltvYmplY3QgRXZlbnRUYXJnZXRdIiBidXQgZ290IG9iamVjdCAiW29iamVjdCBPYmplY3Rd
IgorUEFTUyBSVENJY2VUcmFuc3BvcnQgaW50ZXJmYWNlOiBleGlzdGVuY2UgYW5kIHByb3BlcnRp
ZXMgb2YgaW50ZXJmYWNlIHByb3RvdHlwZSBvYmplY3QKIFBBU1MgUlRDSWNlVHJhbnNwb3J0IGlu
dGVyZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVzIG9mIGludGVyZmFjZSBwcm90b3R5cGUg
b2JqZWN0J3MgImNvbnN0cnVjdG9yIiBwcm9wZXJ0eQogUEFTUyBSVENJY2VUcmFuc3BvcnQgaW50
ZXJmYWNlOiBleGlzdGVuY2UgYW5kIHByb3BlcnRpZXMgb2YgaW50ZXJmYWNlIHByb3RvdHlwZSBv
YmplY3QncyBAQHVuc2NvcGFibGVzIHByb3BlcnR5CiBGQUlMIFJUQ0ljZVRyYW5zcG9ydCBpbnRl
cmZhY2U6IGF0dHJpYnV0ZSByb2xlIGFzc2VydF90cnVlOiBUaGUgcHJvdG90eXBlIG9iamVjdCBt
dXN0IGhhdmUgYSBwcm9wZXJ0eSAicm9sZSIgZXhwZWN0ZWQgdHJ1ZSBnb3QgZmFsc2UKQEAgLTMz
OCw4ICszMzQsOCBAQCBGQUlMIFJUQ0ljZVRyYW5zcG9ydCBpbnRlcmZhY2U6IG9wZXJhdGlvbiBn
ZXRSZW1vdGVDYW5kaWRhdGVzKCkgYXNzZXJ0X293bl9wcm9wZQogRkFJTCBSVENJY2VUcmFuc3Bv
cnQgaW50ZXJmYWNlOiBvcGVyYXRpb24gZ2V0U2VsZWN0ZWRDYW5kaWRhdGVQYWlyKCkgYXNzZXJ0
X293bl9wcm9wZXJ0eTogaW50ZXJmYWNlIHByb3RvdHlwZSBvYmplY3QgbWlzc2luZyBub24tc3Rh
dGljIG9wZXJhdGlvbiBleHBlY3RlZCBwcm9wZXJ0eSAiZ2V0U2VsZWN0ZWRDYW5kaWRhdGVQYWly
IiBtaXNzaW5nCiBGQUlMIFJUQ0ljZVRyYW5zcG9ydCBpbnRlcmZhY2U6IG9wZXJhdGlvbiBnZXRM
b2NhbFBhcmFtZXRlcnMoKSBhc3NlcnRfb3duX3Byb3BlcnR5OiBpbnRlcmZhY2UgcHJvdG90eXBl
IG9iamVjdCBtaXNzaW5nIG5vbi1zdGF0aWMgb3BlcmF0aW9uIGV4cGVjdGVkIHByb3BlcnR5ICJn
ZXRMb2NhbFBhcmFtZXRlcnMiIG1pc3NpbmcKIEZBSUwgUlRDSWNlVHJhbnNwb3J0IGludGVyZmFj
ZTogb3BlcmF0aW9uIGdldFJlbW90ZVBhcmFtZXRlcnMoKSBhc3NlcnRfb3duX3Byb3BlcnR5OiBp
bnRlcmZhY2UgcHJvdG90eXBlIG9iamVjdCBtaXNzaW5nIG5vbi1zdGF0aWMgb3BlcmF0aW9uIGV4
cGVjdGVkIHByb3BlcnR5ICJnZXRSZW1vdGVQYXJhbWV0ZXJzIiBtaXNzaW5nCi1GQUlMIFJUQ0lj
ZVRyYW5zcG9ydCBpbnRlcmZhY2U6IGF0dHJpYnV0ZSBvbnN0YXRlY2hhbmdlIGFzc2VydF90cnVl
OiBUaGUgcHJvdG90eXBlIG9iamVjdCBtdXN0IGhhdmUgYSBwcm9wZXJ0eSAib25zdGF0ZWNoYW5n
ZSIgZXhwZWN0ZWQgdHJ1ZSBnb3QgZmFsc2UKLUZBSUwgUlRDSWNlVHJhbnNwb3J0IGludGVyZmFj
ZTogYXR0cmlidXRlIG9uZ2F0aGVyaW5nc3RhdGVjaGFuZ2UgYXNzZXJ0X3RydWU6IFRoZSBwcm90
b3R5cGUgb2JqZWN0IG11c3QgaGF2ZSBhIHByb3BlcnR5ICJvbmdhdGhlcmluZ3N0YXRlY2hhbmdl
IiBleHBlY3RlZCB0cnVlIGdvdCBmYWxzZQorUEFTUyBSVENJY2VUcmFuc3BvcnQgaW50ZXJmYWNl
OiBhdHRyaWJ1dGUgb25zdGF0ZWNoYW5nZQorUEFTUyBSVENJY2VUcmFuc3BvcnQgaW50ZXJmYWNl
OiBhdHRyaWJ1dGUgb25nYXRoZXJpbmdzdGF0ZWNoYW5nZQogRkFJTCBSVENJY2VUcmFuc3BvcnQg
aW50ZXJmYWNlOiBhdHRyaWJ1dGUgb25zZWxlY3RlZGNhbmRpZGF0ZXBhaXJjaGFuZ2UgYXNzZXJ0
X3RydWU6IFRoZSBwcm90b3R5cGUgb2JqZWN0IG11c3QgaGF2ZSBhIHByb3BlcnR5ICJvbnNlbGVj
dGVkY2FuZGlkYXRlcGFpcmNoYW5nZSIgZXhwZWN0ZWQgdHJ1ZSBnb3QgZmFsc2UKIEZBSUwgUlRD
SWNlVHJhbnNwb3J0IG11c3QgYmUgcHJpbWFyeSBpbnRlcmZhY2Ugb2YgaWRsVGVzdE9iamVjdHMu
aWNlVHJhbnNwb3J0IGFzc2VydF9lcXVhbHM6IHdyb25nIHR5cGVvZiBvYmplY3QgZXhwZWN0ZWQg
Im9iamVjdCIgYnV0IGdvdCAidW5kZWZpbmVkIgogRkFJTCBTdHJpbmdpZmljYXRpb24gb2YgaWRs
VGVzdE9iamVjdHMuaWNlVHJhbnNwb3J0IGFzc2VydF9lcXVhbHM6IHdyb25nIHR5cGVvZiBvYmpl
Y3QgZXhwZWN0ZWQgIm9iamVjdCIgYnV0IGdvdCAidW5kZWZpbmVkIgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93ZWJydGMvcHJvdG9jb2wv
YnVuZGxlLmh0dHBzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvd2VicnRjL3Byb3RvY29sL2J1bmRsZS5odHRwcy1leHBlY3RlZC50eHQK
aW5kZXggMzZlNjM4MWIxNGQ3YjQ5ZDM1MjZlYjM2ZWQ2MzBlNzZjYzE3NzRmMy4uODNlZjU2YTBk
OGI4MzI1NzI3ODM5Mjc2ZWZkYmUzZjcyYzg0MjcyMSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93ZWJydGMvcHJvdG9jb2wvYnVuZGxlLmh0
dHBzLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3dlYnJ0Yy9wcm90b2NvbC9idW5kbGUuaHR0cHMtZXhwZWN0ZWQudHh0CkBAIC0x
LDQgKzEsNCBAQAogCi1GQUlMIG5vdCBuZWdvdGlhdGluZyBCVU5ETEUgY3JlYXRlcyB0d28gc2Vw
YXJhdGUgaWNlIGFuZCBkdGxzIHRyYW5zcG9ydHMgYXNzZXJ0X25vdF9lcXVhbHM6IGdvdCBkaXNh
bGxvd2VkIHZhbHVlIHVuZGVmaW5lZAorUEFTUyBub3QgbmVnb3RpYXRpbmcgQlVORExFIGNyZWF0
ZXMgdHdvIHNlcGFyYXRlIGljZSBhbmQgZHRscyB0cmFuc3BvcnRzCiBQQVNTIGJ1bmRsZXMgb24g
dGhlIGZpcnN0IHRyYW5zcG9ydCBhbmQgY2xvc2VzIHRoZSBzZWNvbmQKIAo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>436492</attachid>
            <date>2021-08-26 03:59:43 -0700</date>
            <delta_ts>2021-08-26 04:06:14 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-229285-20210826125942.patch</filename>
            <type>text/plain</type>
            <size>51850</size>
            <attacher name="youenn fablet">youennf</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjgxNTc2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOGM3ZTM1YTMyMzg1NTYy
MzgyZTNmNjk0OTQzNDI5ZWZmN2Q3ODA3OS4uYzM4OTcxZWIwY2M3NDQ0ZGRkOGM0MDgxOTQ2MDE5
NDFkYTZkMTQ5OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDY2IEBACisyMDIxLTA4LTI2ICBZb3Vl
bm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KKworICAgICAgICBBZGQgc3VwcG9ydCBmb3Ig
UlRDSWNlVHJhbnNwb3J0CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD0yMjkyODUKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKwor
ICAgICAgICBJbnRyb2R1Y2UgUlRDSWNlVHJhbnNwb3J0IGFzIHBlciBzcGVjLgorICAgICAgICBS
ZXVzZSB0aGUgc2FtZSBtb2RlbCBhcyBSVENEdGxzVHJhbnNwb3J0IHdpdGggYSBiYWNrZW5kIGFu
ZCBSVENQZWVyQ29ubmVjdGlvbiBiZSByZXNwb25zaWJsZSB0byByZXVzZSBvciBjcmVhdGUgdHJh
bnNwb3J0cyBhcyBuZWVkZWQuCisKKyAgICAgICAgQ292ZXJlZCBieSB1cGRhdGVkIHRlc3RzLgor
CisgICAgICAgICogTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENEdGxzVHJhbnNwb3J0LmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OlJUQ0R0bHNUcmFuc3BvcnQ6OlJUQ0R0bHNUcmFuc3BvcnQpOgorICAg
ICAgICAqIE1vZHVsZXMvbWVkaWFzdHJlYW0vUlRDRHRsc1RyYW5zcG9ydC5oOgorICAgICAgICAq
IE1vZHVsZXMvbWVkaWFzdHJlYW0vUlRDRHRsc1RyYW5zcG9ydC5pZGw6CisgICAgICAgICogTW9k
dWxlcy9tZWRpYXN0cmVhbS9SVENEdGxzVHJhbnNwb3J0QmFja2VuZC5oOgorICAgICAgICAqIE1v
ZHVsZXMvbWVkaWFzdHJlYW0vUlRDSWNlVHJhbnNwb3J0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OlJUQ0ljZVRyYW5zcG9ydDo6UlRDSWNlVHJhbnNwb3J0KToKKyAgICAgICAgKFdlYkNvcmU6OlJU
Q0ljZVRyYW5zcG9ydDo6flJUQ0ljZVRyYW5zcG9ydCk6CisgICAgICAgIChXZWJDb3JlOjpSVENJ
Y2VUcmFuc3BvcnQ6OnN0b3ApOgorICAgICAgICAoV2ViQ29yZTo6UlRDSWNlVHJhbnNwb3J0Ojp2
aXJ0dWFsSGFzUGVuZGluZ0FjdGl2aXR5IGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OlJUQ0lj
ZVRyYW5zcG9ydDo6b25TdGF0ZUNoYW5nZWQpOgorICAgICAgICAoV2ViQ29yZTo6UlRDSWNlVHJh
bnNwb3J0OjpvbkdhdGhlcmluZ1N0YXRlQ2hhbmdlZCk6CisgICAgICAgICogTW9kdWxlcy9tZWRp
YXN0cmVhbS9SVENJY2VUcmFuc3BvcnQuaDoKKyAgICAgICAgKFdlYkNvcmU6OlJUQ0ljZVRyYW5z
cG9ydDo6Y3JlYXRlKToKKyAgICAgICAgKFdlYkNvcmU6OlJUQ0ljZVRyYW5zcG9ydDo6c3RhdGUg
Y29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6UlRDSWNlVHJhbnNwb3J0OjpiYWNrZW5kIGNvbnN0
KToKKyAgICAgICAgKiBNb2R1bGVzL21lZGlhc3RyZWFtL1JUQ0ljZVRyYW5zcG9ydC5pZGw6Cisg
ICAgICAgICogTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENJY2VUcmFuc3BvcnRCYWNrZW5kLmg6IEFk
ZGVkLgorICAgICAgICAoV2ViQ29yZTo6b3BlcmF0b3I9PSk6CisgICAgICAgICogTW9kdWxlcy9t
ZWRpYXN0cmVhbS9SVENQZWVyQ29ubmVjdGlvbi5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSVENQ
ZWVyQ29ubmVjdGlvbjo6Y29tcHV0ZUNvbm5lY3Rpb25TdGF0ZSk6CisgICAgICAgIChXZWJDb3Jl
OjpSVENQZWVyQ29ubmVjdGlvbjo6dXBkYXRlQ29ubmVjdGlvblN0YXRlKToKKyAgICAgICAgKFdl
YkNvcmU6OmlzSWNlVHJhbnNwb3J0VXNlZEJ5VHJhbnNjZWl2ZXIpOgorICAgICAgICAoV2ViQ29y
ZTo6UlRDUGVlckNvbm5lY3Rpb246OmNvbXB1dGVJY2VDb25uZWN0aW9uU3RhdGVGcm9tSWNlVHJh
bnNwb3J0cyk6CisgICAgICAgIChXZWJDb3JlOjpSVENQZWVyQ29ubmVjdGlvbjo6cHJvY2Vzc0lj
ZVRyYW5zcG9ydFN0YXRlQ2hhbmdlKToKKyAgICAgICAgKFdlYkNvcmU6OlJUQ1BlZXJDb25uZWN0
aW9uOjpnZXRPckNyZWF0ZUljZVRyYW5zcG9ydCk6CisgICAgICAgIChXZWJDb3JlOjpSVENQZWVy
Q29ubmVjdGlvbjo6Z2V0T3JDcmVhdGVEdGxzVHJhbnNwb3J0KToKKyAgICAgICAgKiBNb2R1bGVz
L21lZGlhc3RyZWFtL1JUQ1BlZXJDb25uZWN0aW9uLmg6CisgICAgICAgICogTW9kdWxlcy9tZWRp
YXN0cmVhbS9saWJ3ZWJydGMvTGliV2ViUlRDRHRsc1RyYW5zcG9ydEJhY2tlbmQuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6TGliV2ViUlRDRHRsc1RyYW5zcG9ydEJhY2tlbmQ6OmljZVRyYW5zcG9y
dEJhY2tlbmQpOgorICAgICAgICAqIE1vZHVsZXMvbWVkaWFzdHJlYW0vbGlid2VicnRjL0xpYldl
YlJUQ0R0bHNUcmFuc3BvcnRCYWNrZW5kLmg6CisgICAgICAgICogTW9kdWxlcy9tZWRpYXN0cmVh
bS9saWJ3ZWJydGMvTGliV2ViUlRDSWNlVHJhbnNwb3J0QmFja2VuZC5jcHA6IEFkZGVkLgorICAg
ICAgICAoV2ViQ29yZTo6dG9SVENJY2VUcmFuc3BvcnRTdGF0ZSk6CisgICAgICAgIChXZWJDb3Jl
Ojp0b1JUQ0ljZUdhdGhlcmluZ1N0YXRlKToKKyAgICAgICAgKFdlYkNvcmU6OkxpYldlYlJUQ0lj
ZVRyYW5zcG9ydEJhY2tlbmRPYnNlcnZlcjo6TGliV2ViUlRDSWNlVHJhbnNwb3J0QmFja2VuZE9i
c2VydmVyKToKKyAgICAgICAgKFdlYkNvcmU6OkxpYldlYlJUQ0ljZVRyYW5zcG9ydEJhY2tlbmRP
YnNlcnZlcjo6c3RhcnQpOgorICAgICAgICAoV2ViQ29yZTo6TGliV2ViUlRDSWNlVHJhbnNwb3J0
QmFja2VuZE9ic2VydmVyOjpzdG9wKToKKyAgICAgICAgKFdlYkNvcmU6OkxpYldlYlJUQ0ljZVRy
YW5zcG9ydEJhY2tlbmRPYnNlcnZlcjo6b25JY2VUcmFuc3BvcnRTdGF0ZUNoYW5nZWQpOgorICAg
ICAgICAoV2ViQ29yZTo6TGliV2ViUlRDSWNlVHJhbnNwb3J0QmFja2VuZE9ic2VydmVyOjpvbkdh
dGhlcmluZ1N0YXRlQ2hhbmdlZCk6CisgICAgICAgIChXZWJDb3JlOjpMaWJXZWJSVENJY2VUcmFu
c3BvcnRCYWNrZW5kOjpMaWJXZWJSVENJY2VUcmFuc3BvcnRCYWNrZW5kKToKKyAgICAgICAgKFdl
YkNvcmU6OkxpYldlYlJUQ0ljZVRyYW5zcG9ydEJhY2tlbmQ6On5MaWJXZWJSVENJY2VUcmFuc3Bv
cnRCYWNrZW5kKToKKyAgICAgICAgKFdlYkNvcmU6OkxpYldlYlJUQ0ljZVRyYW5zcG9ydEJhY2tl
bmQ6OnJlZ2lzdGVyQ2xpZW50KToKKyAgICAgICAgKFdlYkNvcmU6OkxpYldlYlJUQ0ljZVRyYW5z
cG9ydEJhY2tlbmQ6OnVucmVnaXN0ZXJDbGllbnQpOgorICAgICAgICAqIE1vZHVsZXMvbWVkaWFz
dHJlYW0vbGlid2VicnRjL0xpYldlYlJUQ0ljZVRyYW5zcG9ydEJhY2tlbmQuaDogQWRkZWQuCisg
ICAgICAgICogTW9kdWxlcy9tZWRpYXN0cmVhbS9saWJ3ZWJydGMvTGliV2ViUlRDTWVkaWFFbmRw
b2ludC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpMaWJXZWJSVENNZWRpYUVuZHBvaW50OjpPbklj
ZUNvbm5lY3Rpb25DaGFuZ2UpOgorICAgICAgICAqIFNvdXJjZXMudHh0OgorICAgICAgICAqIFdl
YkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajoKKyAgICAgICAgKiBkb20vRXZlbnROYW1l
cy5oOgorICAgICAgICAqIGRvbS9FdmVudFRhcmdldEZhY3RvcnkuaW46CisKIDIwMjEtMDgtMjYg
IFlvdWVubiBGYWJsZXQgIDx5b3Vlbm5AYXBwbGUuY29tPgogCiAgICAgICAgIFNpZ25hbGluZyBz
dGF0ZSBjaGVjayB3aGVuIGFwcGx5aW5nIGEgbG9jYWwgb3IgcmVtb3RlIGRlc2NyaXB0aW9uIGlz
IG5vIGxvbmdlciBhbGlnbmVkIHdpdGggdGhlIFdlYlJUQyBzcGVjCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1JUQ0R0bHNUcmFuc3BvcnQuY3BwIGIvU291
cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENEdGxzVHJhbnNwb3J0LmNwcAppbmRl
eCAzYTRiNWVmNjBiMWY0NDk4NDM3YmRhMDIyZTAxZjNiOTgwMGJlMmJlLi4xNThlNWY2OGU5ZThm
MDI1YWVmMDUwZjNiZTRiZDk1ODBhYzg4YzY3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL21lZGlhc3RyZWFtL1JUQ0R0bHNUcmFuc3BvcnQuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vUlRDRHRsc1RyYW5zcG9ydC5jcHAKQEAgLTMzLDYgKzMz
LDcgQEAKICNpbmNsdWRlICJMb2dnaW5nLmgiCiAjaW5jbHVkZSAiTm90SW1wbGVtZW50ZWQuaCIK
ICNpbmNsdWRlICJSVENEdGxzVHJhbnNwb3J0QmFja2VuZC5oIgorI2luY2x1ZGUgIlJUQ0ljZVRy
YW5zcG9ydC5oIgogI2luY2x1ZGUgIlNjcmlwdEV4ZWN1dGlvbkNvbnRleHQuaCIKICNpbmNsdWRl
IDx3dGYvSXNvTWFsbG9jSW5saW5lcy5oPgogCkBAIC00MCw5ICs0MSwxMCBAQCBuYW1lc3BhY2Ug
V2ViQ29yZSB7CiAKIFdURl9NQUtFX0lTT19BTExPQ0FURURfSU1QTChSVENEdGxzVHJhbnNwb3J0
KTsKIAotUlRDRHRsc1RyYW5zcG9ydDo6UlRDRHRsc1RyYW5zcG9ydChTY3JpcHRFeGVjdXRpb25D
b250ZXh0JiBjb250ZXh0LCBVbmlxdWVSZWY8UlRDRHRsc1RyYW5zcG9ydEJhY2tlbmQ+JiYgYmFj
a2VuZCkKK1JUQ0R0bHNUcmFuc3BvcnQ6OlJUQ0R0bHNUcmFuc3BvcnQoU2NyaXB0RXhlY3V0aW9u
Q29udGV4dCYgY29udGV4dCwgVW5pcXVlUmVmPFJUQ0R0bHNUcmFuc3BvcnRCYWNrZW5kPiYmIGJh
Y2tlbmQsIFJlZjxSVENJY2VUcmFuc3BvcnQ+JiYgaWNlVHJhbnNwb3J0KQogICAgIDogQWN0aXZl
RE9NT2JqZWN0KCZjb250ZXh0KQogICAgICwgbV9iYWNrZW5kKFdURk1vdmUoYmFja2VuZCkpCisg
ICAgLCBtX2ljZVRyYW5zcG9ydChXVEZNb3ZlKGljZVRyYW5zcG9ydCkpCiB7CiAgICAgc3VzcGVu
ZElmTmVlZGVkKCk7CiAgICAgbV9iYWNrZW5kLT5yZWdpc3RlckNsaWVudCgqdGhpcyk7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1JUQ0R0bHNUcmFuc3Bv
cnQuaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vUlRDRHRsc1RyYW5zcG9y
dC5oCmluZGV4IDlhNDljYzAyNWRkMDllMWI2ZDczN2Q0YjFlZjIyYTgwN2RjZjZjNjguLmU4NzA3
ZjBiZTliZmQ2ZTFjYjhiZDUyZWFmM2I1OWEzODgzY2UxMGUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vUlRDRHRsc1RyYW5zcG9ydC5oCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vUlRDRHRsc1RyYW5zcG9ydC5oCkBAIC0zNSwy
NSArMzUsMjcgQEAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogY2xhc3MgUGVlckNvbm5lY3Rpb25C
YWNrZW5kOworY2xhc3MgUlRDSWNlVHJhbnNwb3J0OwogY2xhc3MgUlRDUGVlckNvbm5lY3Rpb247
CiBjbGFzcyBTY3JpcHRFeGVjdXRpb25Db250ZXh0OwogCiBjbGFzcyBSVENEdGxzVHJhbnNwb3J0
IGZpbmFsIDogcHVibGljIFJlZkNvdW50ZWQ8UlRDRHRsc1RyYW5zcG9ydD4sIHB1YmxpYyBBY3Rp
dmVET01PYmplY3QsIHB1YmxpYyBFdmVudFRhcmdldFdpdGhJbmxpbmVEYXRhLCBwdWJsaWMgUlRD
RHRsc1RyYW5zcG9ydEJhY2tlbmQ6OkNsaWVudCB7CiAgICAgV1RGX01BS0VfSVNPX0FMTE9DQVRF
RChSVENEdGxzVHJhbnNwb3J0KTsKIHB1YmxpYzoKLSAgICBzdGF0aWMgUmVmPFJUQ0R0bHNUcmFu
c3BvcnQ+IGNyZWF0ZShTY3JpcHRFeGVjdXRpb25Db250ZXh0JiBjb250ZXh0LCBVbmlxdWVSZWY8
UlRDRHRsc1RyYW5zcG9ydEJhY2tlbmQ+JiYgYmFja2VuZCkgeyByZXR1cm4gYWRvcHRSZWYoKm5l
dyBSVENEdGxzVHJhbnNwb3J0KGNvbnRleHQsIFdURk1vdmUoYmFja2VuZCkpKTsgfQorICAgIHN0
YXRpYyBSZWY8UlRDRHRsc1RyYW5zcG9ydD4gY3JlYXRlKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQm
IGNvbnRleHQsIFVuaXF1ZVJlZjxSVENEdGxzVHJhbnNwb3J0QmFja2VuZD4mJiBiYWNrZW5kLCBS
ZWY8UlRDSWNlVHJhbnNwb3J0PiYmIGljZVRyYW5zcG9ydCkgeyByZXR1cm4gYWRvcHRSZWYoKm5l
dyBSVENEdGxzVHJhbnNwb3J0KGNvbnRleHQsIFdURk1vdmUoYmFja2VuZCksIFdURk1vdmUoaWNl
VHJhbnNwb3J0KSkpOyB9CiAgICAgflJUQ0R0bHNUcmFuc3BvcnQoKTsKIAogICAgIHVzaW5nIFJl
ZkNvdW50ZWQ8UlRDRHRsc1RyYW5zcG9ydD46OnJlZjsKICAgICB1c2luZyBSZWZDb3VudGVkPFJU
Q0R0bHNUcmFuc3BvcnQ+OjpkZXJlZjsKIAorICAgIFJUQ0ljZVRyYW5zcG9ydCYgaWNlVHJhbnNw
b3J0KCkgeyByZXR1cm4gbV9pY2VUcmFuc3BvcnQuZ2V0KCk7IH0KICAgICBSVENEdGxzVHJhbnNw
b3J0U3RhdGUgc3RhdGUoKSB7IHJldHVybiBtX3N0YXRlOyB9CiAgICAgVmVjdG9yPFJlZjxKU0M6
OkFycmF5QnVmZmVyPj4gZ2V0UmVtb3RlQ2VydGlmaWNhdGVzKCk7CiAKICAgICBjb25zdCBSVENE
dGxzVHJhbnNwb3J0QmFja2VuZCYgYmFja2VuZCgpIGNvbnN0IHsgcmV0dXJuIG1fYmFja2VuZC5n
ZXQoKTsgfQogCiBwcml2YXRlOgotICAgIFJUQ0R0bHNUcmFuc3BvcnQoU2NyaXB0RXhlY3V0aW9u
Q29udGV4dCYsIFVuaXF1ZVJlZjxSVENEdGxzVHJhbnNwb3J0QmFja2VuZD4mJik7CisgICAgUlRD
RHRsc1RyYW5zcG9ydChTY3JpcHRFeGVjdXRpb25Db250ZXh0JiwgVW5pcXVlUmVmPFJUQ0R0bHNU
cmFuc3BvcnRCYWNrZW5kPiYmLCBSZWY8UlRDSWNlVHJhbnNwb3J0PiYmKTsKIAogICAgIC8vIEV2
ZW50VGFyZ2V0V2l0aElubGluZURhdGEKICAgICBFdmVudFRhcmdldEludGVyZmFjZSBldmVudFRh
cmdldEludGVyZmFjZSgpIGNvbnN0IGZpbmFsIHsgcmV0dXJuIFJUQ0R0bHNUcmFuc3BvcnRFdmVu
dFRhcmdldEludGVyZmFjZVR5cGU7IH0KQEAgLTcxLDYgKzczLDcgQEAgcHJpdmF0ZToKICAgICB2
b2lkIG9uRXJyb3IoKSBmaW5hbDsKIAogICAgIFVuaXF1ZVJlZjxSVENEdGxzVHJhbnNwb3J0QmFj
a2VuZD4gbV9iYWNrZW5kOworICAgIFJlZjxSVENJY2VUcmFuc3BvcnQ+IG1faWNlVHJhbnNwb3J0
OwogICAgIFJUQ0R0bHNUcmFuc3BvcnRTdGF0ZSBtX3N0YXRlIHsgUlRDRHRsc1RyYW5zcG9ydFN0
YXRlOjpOZXcgfTsKICAgICBWZWN0b3I8UmVmPEpTQzo6QXJyYXlCdWZmZXI+PiBtX3JlbW90ZUNl
cnRpZmljYXRlczsKIH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlh
c3RyZWFtL1JUQ0R0bHNUcmFuc3BvcnQuaWRsIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRp
YXN0cmVhbS9SVENEdGxzVHJhbnNwb3J0LmlkbAppbmRleCBjN2U1YzIzY2VlNTExZGE1YmY4Nzk0
MzdiODkyNmU0NjU4YWJmOWJjLi45NmYyNzE5YWI1YjY3MTQ0YjZkYTQwNTZhNGYxYjY3NGYxNzdk
OGExIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1JUQ0R0
bHNUcmFuc3BvcnQuaWRsCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0v
UlRDRHRsc1RyYW5zcG9ydC5pZGwKQEAgLTI4LDcgKzI4LDcgQEAKICAgICBFbmFibGVkQnlTZXR0
aW5nPVBlZXJDb25uZWN0aW9uLAogICAgIEV4cG9zZWQ9KFdpbmRvdyksCiBdIGludGVyZmFjZSBS
VENEdGxzVHJhbnNwb3J0IDogRXZlbnRUYXJnZXQgewotICAvLyBbU2FtZU9iamVjdF0gcmVhZG9u
bHkgYXR0cmlidXRlIFJUQ0ljZVRyYW5zcG9ydCBpY2VUcmFuc3BvcnQ7CisgIFtTYW1lT2JqZWN0
XSByZWFkb25seSBhdHRyaWJ1dGUgUlRDSWNlVHJhbnNwb3J0IGljZVRyYW5zcG9ydDsKICAgcmVh
ZG9ubHkgYXR0cmlidXRlIFJUQ0R0bHNUcmFuc3BvcnRTdGF0ZSBzdGF0ZTsKICAgc2VxdWVuY2U8
QXJyYXlCdWZmZXI+IGdldFJlbW90ZUNlcnRpZmljYXRlcygpOwogICBhdHRyaWJ1dGUgRXZlbnRI
YW5kbGVyIG9uc3RhdGVjaGFuZ2U7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L21lZGlhc3RyZWFtL1JUQ0R0bHNUcmFuc3BvcnRCYWNrZW5kLmggYi9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL21lZGlhc3RyZWFtL1JUQ0R0bHNUcmFuc3BvcnRCYWNrZW5kLmgKaW5kZXggNDYxZWVl
N2ZjOTcxYTMzOGU0MTE1MmVhZjhjYzBmOWJlMzQzMjhiMC4uNjYyNDA3ZDVhN2JlMjc5NjUzZGNj
ZmMzMTM1ZWFmMmNmZDc4YTBlYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9t
ZWRpYXN0cmVhbS9SVENEdGxzVHJhbnNwb3J0QmFja2VuZC5oCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvbWVkaWFzdHJlYW0vUlRDRHRsc1RyYW5zcG9ydEJhY2tlbmQuaApAQCAtMzUsMTIg
KzM1LDE1IEBAIGNsYXNzIEFycmF5QnVmZmVyOwogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKK2Ns
YXNzIFJUQ0ljZVRyYW5zcG9ydEJhY2tlbmQ7CisKIGNsYXNzIFJUQ0R0bHNUcmFuc3BvcnRCYWNr
ZW5kIHsKIHB1YmxpYzoKICAgICB2aXJ0dWFsIH5SVENEdGxzVHJhbnNwb3J0QmFja2VuZCgpID0g
ZGVmYXVsdDsKIAogICAgIHZpcnR1YWwgY29uc3Qgdm9pZCogYmFja2VuZCgpIGNvbnN0ID0gMDsK
LSAgICAKKyAgICB2aXJ0dWFsIFVuaXF1ZVJlZjxSVENJY2VUcmFuc3BvcnRCYWNrZW5kPiBpY2VU
cmFuc3BvcnRCYWNrZW5kKCkgPSAwOworCiAgICAgY2xhc3MgQ2xpZW50IDogcHVibGljIENhbk1h
a2VXZWFrUHRyPENsaWVudD4gewogICAgIHB1YmxpYzoKICAgICAgICAgdmlydHVhbCB+Q2xpZW50
KCkgPSBkZWZhdWx0OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0
cmVhbS9SVENJY2VUcmFuc3BvcnQuY3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0
cmVhbS9SVENJY2VUcmFuc3BvcnQuY3BwCmluZGV4IGM5MWZjN2E0MjNhMTM5ZTUyYTY5NTgyZDlj
NWFlYWQ5Njk0OGUzNGYuLmRmOGM0MWU4NTQxNGI5NDNiZmViMjc2M2IxODZlOTQ3M2UyOTE4ZWEg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vUlRDSWNlVHJh
bnNwb3J0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1JUQ0lj
ZVRyYW5zcG9ydC5jcHAKQEAgLTI4LDE0ICsyOCw2NyBAQAogCiAjaWYgRU5BQkxFKFdFQl9SVEMp
CiAKKyNpbmNsdWRlICJFdmVudC5oIgorI2luY2x1ZGUgIkV2ZW50TmFtZXMuaCIKKyNpbmNsdWRl
ICJSVENQZWVyQ29ubmVjdGlvbi5oIgogI2luY2x1ZGUgPHd0Zi9Jc29NYWxsb2NJbmxpbmVzLmg+
CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogV1RGX01BS0VfSVNPX0FMTE9DQVRFRF9JTVBMKFJU
Q0ljZVRyYW5zcG9ydCk7CiAKK1JUQ0ljZVRyYW5zcG9ydDo6UlRDSWNlVHJhbnNwb3J0KFNjcmlw
dEV4ZWN1dGlvbkNvbnRleHQmIGNvbnRleHQsIFVuaXF1ZVJlZjxSVENJY2VUcmFuc3BvcnRCYWNr
ZW5kPiYmIGJhY2tlbmQsIFJUQ1BlZXJDb25uZWN0aW9uJiBjb25uZWN0aW9uKQorICAgIDogQWN0
aXZlRE9NT2JqZWN0KCZjb250ZXh0KQorICAgICwgbV9iYWNrZW5kKFdURk1vdmUoYmFja2VuZCkp
CisgICAgLCBtX2Nvbm5lY3Rpb24obWFrZVdlYWtQdHIoY29ubmVjdGlvbikpCit7CisgICAgc3Vz
cGVuZElmTmVlZGVkKCk7CisgICAgbV9iYWNrZW5kLT5yZWdpc3RlckNsaWVudCgqdGhpcyk7Cit9
CisKIFJUQ0ljZVRyYW5zcG9ydDo6flJUQ0ljZVRyYW5zcG9ydCgpCiB7CisgICAgbV9iYWNrZW5k
LT51bnJlZ2lzdGVyQ2xpZW50KCk7Cit9CisKK3ZvaWQgUlRDSWNlVHJhbnNwb3J0OjpzdG9wKCkK
K3sKKyAgICBtX2lzU3RvcHBlZCA9IHRydWU7CisgICAgbV90cmFuc3BvcnRTdGF0ZSA9IFJUQ0lj
ZVRyYW5zcG9ydFN0YXRlOjpDbG9zZWQ7Cit9CisKK2Jvb2wgUlRDSWNlVHJhbnNwb3J0Ojp2aXJ0
dWFsSGFzUGVuZGluZ0FjdGl2aXR5KCkgY29uc3QKK3sKKyAgICByZXR1cm4gbV90cmFuc3BvcnRT
dGF0ZSAhPSBSVENJY2VUcmFuc3BvcnRTdGF0ZTo6Q2xvc2VkICYmIGhhc0V2ZW50TGlzdGVuZXJz
KCk7Cit9CisKK3ZvaWQgUlRDSWNlVHJhbnNwb3J0OjpvblN0YXRlQ2hhbmdlZChSVENJY2VUcmFu
c3BvcnRTdGF0ZSBzdGF0ZSkKK3sKKyAgICBxdWV1ZVRhc2tLZWVwaW5nT2JqZWN0QWxpdmUoKnRo
aXMsIFRhc2tTb3VyY2U6Ok5ldHdvcmtpbmcsIFt0aGlzLCBzdGF0ZV0oKSBtdXRhYmxlIHsKKyAg
ICAgICAgaWYgKG1faXNTdG9wcGVkKQorICAgICAgICAgICAgcmV0dXJuOworCisgICAgICAgIGlm
IChtX3RyYW5zcG9ydFN0YXRlID09IHN0YXRlKQorICAgICAgICAgICAgcmV0dXJuOworCisgICAg
ICAgIG1fdHJhbnNwb3J0U3RhdGUgPSBzdGF0ZTsKKyAgICAgICAgaWYgKG1fY29ubmVjdGlvbikK
KyAgICAgICAgICAgIG1fY29ubmVjdGlvbi0+cHJvY2Vzc0ljZVRyYW5zcG9ydFN0YXRlQ2hhbmdl
KCp0aGlzKTsKKyAgICB9KTsKK30KKwordm9pZCBSVENJY2VUcmFuc3BvcnQ6Om9uR2F0aGVyaW5n
U3RhdGVDaGFuZ2VkKFJUQ0ljZUdhdGhlcmluZ1N0YXRlIHN0YXRlKQoreworICAgIHF1ZXVlVGFz
a0tlZXBpbmdPYmplY3RBbGl2ZSgqdGhpcywgVGFza1NvdXJjZTo6TmV0d29ya2luZywgW3RoaXMs
IHN0YXRlXSgpIG11dGFibGUgeworICAgICAgICBpZiAobV9pc1N0b3BwZWQpCisgICAgICAgICAg
ICByZXR1cm47CisKKyAgICAgICAgaWYgKG1fZ2F0aGVyaW5nU3RhdGUgPT0gc3RhdGUpCisgICAg
ICAgICAgICByZXR1cm47CisKKyAgICAgICAgbV9nYXRoZXJpbmdTdGF0ZSA9IHN0YXRlOworICAg
ICAgICBkaXNwYXRjaEV2ZW50KEV2ZW50OjpjcmVhdGUoZXZlbnROYW1lcygpLmdhdGhlcmluZ3N0
YXRlY2hhbmdlRXZlbnQsIEV2ZW50OjpDYW5CdWJibGU6OlllcywgRXZlbnQ6OklzQ2FuY2VsYWJs
ZTo6Tm8pKTsKKyAgICB9KTsKIH0KIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENJY2VUcmFuc3BvcnQuaCBi
L1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vUlRDSWNlVHJhbnNwb3J0LmgKaW5k
ZXggNDNiZjM5N2RhMDA0ZTJmOWFlYWZmZTg0NTBhNjU1YTZlOGMwNDIwMC4uZWQzNTg2NmVjOWZk
N2NkMzM5MDNkMDlhYzM4NTBkOTlmNmJmOGQ0NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
TW9kdWxlcy9tZWRpYXN0cmVhbS9SVENJY2VUcmFuc3BvcnQuaAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1JUQ0ljZVRyYW5zcG9ydC5oCkBAIC0zMywzMiArMzMsNTYg
QEAKIAogI2lmIEVOQUJMRShXRUJfUlRDKQogCisjaW5jbHVkZSAiQWN0aXZlRE9NT2JqZWN0Lmgi
CisjaW5jbHVkZSAiRXZlbnRUYXJnZXQuaCIKICNpbmNsdWRlICJSVENJY2VHYXRoZXJpbmdTdGF0
ZS5oIgorI2luY2x1ZGUgIlJUQ0ljZVRyYW5zcG9ydEJhY2tlbmQuaCIKICNpbmNsdWRlICJSVENJ
Y2VUcmFuc3BvcnRTdGF0ZS5oIgotI2luY2x1ZGUgIlNjcmlwdFdyYXBwYWJsZS5oIgogI2luY2x1
ZGUgPHd0Zi9SZWZDb3VudGVkLmg+CiAjaW5jbHVkZSA8d3RmL1JlZlB0ci5oPgogCiBuYW1lc3Bh
Y2UgV2ViQ29yZSB7CiAKLWNsYXNzIFJUQ0ljZVRyYW5zcG9ydCA6IHB1YmxpYyBSZWZDb3VudGVk
PFJUQ0ljZVRyYW5zcG9ydD4sIHB1YmxpYyBTY3JpcHRXcmFwcGFibGUgeworY2xhc3MgUlRDUGVl
ckNvbm5lY3Rpb247CisKK2NsYXNzIFJUQ0ljZVRyYW5zcG9ydCA6IHB1YmxpYyBSZWZDb3VudGVk
PFJUQ0ljZVRyYW5zcG9ydD4sIHB1YmxpYyBBY3RpdmVET01PYmplY3QsIHB1YmxpYyBFdmVudFRh
cmdldFdpdGhJbmxpbmVEYXRhLCBwdWJsaWMgUlRDSWNlVHJhbnNwb3J0QmFja2VuZDo6Q2xpZW50
IHsKICAgICBXVEZfTUFLRV9JU09fQUxMT0NBVEVEKFJUQ0ljZVRyYW5zcG9ydCk7CiBwdWJsaWM6
Ci0gICAgc3RhdGljIFJlZjxSVENJY2VUcmFuc3BvcnQ+IGNyZWF0ZSgpCisgICAgc3RhdGljIFJl
ZjxSVENJY2VUcmFuc3BvcnQ+IGNyZWF0ZShTY3JpcHRFeGVjdXRpb25Db250ZXh0JiBjb250ZXh0
LCBVbmlxdWVSZWY8UlRDSWNlVHJhbnNwb3J0QmFja2VuZD4mJiBiYWNrZW5kLCBSVENQZWVyQ29u
bmVjdGlvbiYgY29ubmVjdGlvbikKICAgICB7Ci0gICAgICAgIHJldHVybiBhZG9wdFJlZigqbmV3
IFJUQ0ljZVRyYW5zcG9ydCgpKTsKKyAgICAgICAgcmV0dXJuIGFkb3B0UmVmKCpuZXcgUlRDSWNl
VHJhbnNwb3J0KGNvbnRleHQsIFdURk1vdmUoYmFja2VuZCksIGNvbm5lY3Rpb24pKTsKICAgICB9
CiAgICAgflJUQ0ljZVRyYW5zcG9ydCgpOwogCiAgICAgUlRDSWNlVHJhbnNwb3J0U3RhdGUgc3Rh
dGUoKSBjb25zdCB7IHJldHVybiBtX3RyYW5zcG9ydFN0YXRlOyB9Ci0gICAgdm9pZCBzZXRTdGF0
ZShSVENJY2VUcmFuc3BvcnRTdGF0ZSBzdGF0ZSkgeyBtX3RyYW5zcG9ydFN0YXRlID0gc3RhdGU7
IH0KLQogICAgIFJUQ0ljZUdhdGhlcmluZ1N0YXRlIGdhdGhlcmluZ1N0YXRlKCkgY29uc3QgeyBy
ZXR1cm4gbV9nYXRoZXJpbmdTdGF0ZTsgfQotICAgIHZvaWQgc2V0R2F0aGVyaW5nU3RhdGUoUlRD
SWNlR2F0aGVyaW5nU3RhdGUgc3RhdGUpIHsgbV9nYXRoZXJpbmdTdGF0ZSA9IHN0YXRlOyB9CisK
KyAgICBjb25zdCBSVENJY2VUcmFuc3BvcnRCYWNrZW5kJiBiYWNrZW5kKCkgY29uc3QgeyByZXR1
cm4gbV9iYWNrZW5kLmdldCgpOyB9CisKKyAgICB1c2luZyBSZWZDb3VudGVkPFJUQ0ljZVRyYW5z
cG9ydD46OnJlZjsKKyAgICB1c2luZyBSZWZDb3VudGVkPFJUQ0ljZVRyYW5zcG9ydD46OmRlcmVm
OwogCiBwcml2YXRlOgotICAgIFJUQ0ljZVRyYW5zcG9ydCgpIHsgfTsKKyAgICBSVENJY2VUcmFu
c3BvcnQoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYsIFVuaXF1ZVJlZjxSVENJY2VUcmFuc3BvcnRC
YWNrZW5kPiYmLCBSVENQZWVyQ29ubmVjdGlvbiYpOworCisgICAgLy8gRXZlbnRUYXJnZXRXaXRo
SW5saW5lRGF0YQorICAgIEV2ZW50VGFyZ2V0SW50ZXJmYWNlIGV2ZW50VGFyZ2V0SW50ZXJmYWNl
KCkgY29uc3QgZmluYWwgeyByZXR1cm4gUlRDSWNlVHJhbnNwb3J0RXZlbnRUYXJnZXRJbnRlcmZh
Y2VUeXBlOyB9CisgICAgU2NyaXB0RXhlY3V0aW9uQ29udGV4dCogc2NyaXB0RXhlY3V0aW9uQ29u
dGV4dCgpIGNvbnN0IGZpbmFsIHsgcmV0dXJuIG1fc2NyaXB0RXhlY3V0aW9uQ29udGV4dDsgfQor
ICAgIHZvaWQgcmVmRXZlbnRUYXJnZXQoKSBmaW5hbCB7IHJlZigpOyB9CisgICAgdm9pZCBkZXJl
ZkV2ZW50VGFyZ2V0KCkgZmluYWwgeyBkZXJlZigpOyB9CisKKyAgICAvLyBBY3RpdmVET01PYmpl
Y3QKKyAgICB2b2lkIHN0b3AoKSBmaW5hbDsKKyAgICBjb25zdCBjaGFyKiBhY3RpdmVET01PYmpl
Y3ROYW1lKCkgY29uc3QgZmluYWwgeyByZXR1cm4gIlJUQ0ljZVRyYW5zcG9ydCI7IH0KKyAgICBi
b29sIHZpcnR1YWxIYXNQZW5kaW5nQWN0aXZpdHkoKSBjb25zdCBmaW5hbDsKKworICAgIC8vIFJU
Q0ljZVRyYW5zcG9ydEJhY2tlbmQ6OkNsaWVudAorICAgIHZvaWQgb25TdGF0ZUNoYW5nZWQoUlRD
SWNlVHJhbnNwb3J0U3RhdGUpIGZpbmFsOworICAgIHZvaWQgb25HYXRoZXJpbmdTdGF0ZUNoYW5n
ZWQoUlRDSWNlR2F0aGVyaW5nU3RhdGUpIGZpbmFsOwogCisgICAgYm9vbCBtX2lzU3RvcHBlZCB7
IGZhbHNlIH07CisgICAgVW5pcXVlUmVmPFJUQ0ljZVRyYW5zcG9ydEJhY2tlbmQ+IG1fYmFja2Vu
ZDsKKyAgICBXZWFrUHRyPFJUQ1BlZXJDb25uZWN0aW9uPiBtX2Nvbm5lY3Rpb247CiAgICAgUlRD
SWNlVHJhbnNwb3J0U3RhdGUgbV90cmFuc3BvcnRTdGF0ZSB7IFJUQ0ljZVRyYW5zcG9ydFN0YXRl
OjpOZXcgfTsKICAgICBSVENJY2VHYXRoZXJpbmdTdGF0ZSBtX2dhdGhlcmluZ1N0YXRlIHsgUlRD
SWNlR2F0aGVyaW5nU3RhdGU6Ok5ldyB9OwogfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvbWVkaWFzdHJlYW0vUlRDSWNlVHJhbnNwb3J0LmlkbCBiL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvbWVkaWFzdHJlYW0vUlRDSWNlVHJhbnNwb3J0LmlkbAppbmRleCAwYTljMjZmYmUz
MzFlNjI3MDY3NzcwZTEyMWJjYTc5YjAxYWVjOGQ4Li4xMzVlOTNhNjU2ZjljOThiYmU4MDgwMzIx
N2RjODg5Zjg5NDAxZDM0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlh
c3RyZWFtL1JUQ0ljZVRyYW5zcG9ydC5pZGwKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9t
ZWRpYXN0cmVhbS9SVENJY2VUcmFuc3BvcnQuaWRsCkBAIC0yNywyMiArMjcsMjIgQEAgdHlwZWRl
ZiBSVENJY2VUcmFuc3BvcnRTdGF0ZSBJY2VUcmFuc3BvcnRTdGF0ZTsKIHR5cGVkZWYgUlRDSWNl
R2F0aGVyaW5nU3RhdGUgSWNlR2F0aGVyaW5nU3RhdGU7CiAKIFsKKyAgICBBY3RpdmVET01PYmpl
Y3QsCiAgICAgQ29uZGl0aW9uYWw9V0VCX1JUQywKICAgICBFbmFibGVkQnlTZXR0aW5nPVBlZXJD
b25uZWN0aW9uLAogICAgIEV4cG9zZWQ9V2luZG93LAogICAgIFNraXBWVGFibGVWYWxpZGF0aW9u
Ci1dIGludGVyZmFjZSBSVENJY2VUcmFuc3BvcnQgeworXSBpbnRlcmZhY2UgUlRDSWNlVHJhbnNw
b3J0IDogRXZlbnRUYXJnZXQgewogICAgIC8vIEZJWE1FIDE2OTY2MjogbWlzc2luZyByZWFkb25s
eSBhdHRyaWJ1dGUgUlRDSWNlUm9sZSByb2xlOwogICAgIC8vIEZJWE1FIDE2OTY2MjogbWlzc2lu
ZyByZWFkb25seSBhdHRyaWJ1dGUgUlRDSWNlQ29tcG9uZW50IGNvbXBvbmVudDsKICAgICByZWFk
b25seSBhdHRyaWJ1dGUgSWNlVHJhbnNwb3J0U3RhdGUgc3RhdGU7Ci0gICAgLy8gRklYTUUgMTY5
NjYyOiBJY2VHYXRoZXJlclN0YXRlIGluc3RlYWQgb2YgSWNlR2F0aGVyaW5nU3RhdGU/CiAgICAg
cmVhZG9ubHkgYXR0cmlidXRlIEljZUdhdGhlcmluZ1N0YXRlIGdhdGhlcmluZ1N0YXRlOwogICAg
IC8vIEZJWE1FIDE2OTY2MjogbWlzc2luZyBzZXF1ZW5jZTxSVENJY2VDYW5kaWRhdGU+IGdldExv
Y2FsQ2FuZGlkYXRlcygpOwogICAgIC8vIEZJWE1FIDE2OTY2MjogbWlzc2luZyBzZXF1ZW5jZTxS
VENJY2VDYW5kaWRhdGU+IGdldFJlbW90ZUNhbmRpZGF0ZXMoKTsKICAgICAvLyBGSVhNRSAxNjk2
NjI6IG1pc3NpbmcgUlRDSWNlQ2FuZGlkYXRlUGFpcj8gZ2V0U2VsZWN0ZWRDYW5kaWRhdGVQYWly
KCk7CiAgICAgLy8gRklYTUUgMTY5NjYyOiBtaXNzaW5nIFJUQ0ljZVBhcmFtZXRlcnM/IGdldExv
Y2FsUGFyYW1ldGVycygpOwogICAgIC8vIEZJWE1FIDE2OTY2MjogbWlzc2luZyBSVENJY2VQYXJh
bWV0ZXJzPyBnZXRSZW1vdGVQYXJhbWV0ZXJzKCk7Ci0gICAgLy8gRklYTUUgMTY5NjYyOiBtaXNz
aW5nIGF0dHJpYnV0ZSBFdmVudEhhbmRsZXIgb25zdGF0ZWNoYW5nZTsKLSAgICAvLyBGSVhNRSAx
Njk2NjI6IG1pc3NpbmcgYXR0cmlidXRlIEV2ZW50SGFuZGxlciBvbmdhdGhlcmluZ3N0YXRlY2hh
bmdlOworICAgIGF0dHJpYnV0ZSBFdmVudEhhbmRsZXIgb25zdGF0ZWNoYW5nZTsKKyAgICBhdHRy
aWJ1dGUgRXZlbnRIYW5kbGVyIG9uZ2F0aGVyaW5nc3RhdGVjaGFuZ2U7CiAgICAgLy8gRklYTUUg
MTY5NjYyOiBtaXNzaW5nIGF0dHJpYnV0ZSBFdmVudEhhbmRsZXIgb25zZWxlY3RlZGNhbmRpZGF0
ZXBhaXJjaGFuZ2U7CiB9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRp
YXN0cmVhbS9SVENJY2VUcmFuc3BvcnRCYWNrZW5kLmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L21lZGlhc3RyZWFtL1JUQ0ljZVRyYW5zcG9ydEJhY2tlbmQuaApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5iNjBhYTA2
MmZkMmViYjMxM2Y4YmU2ZjM1YjU4YmY5OTgwOTk1NDQxCi0tLSAvZGV2L251bGwKKysrIGIvU291
cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENJY2VUcmFuc3BvcnRCYWNrZW5kLmgK
QEAgLTAsMCArMSw1NiBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAyMSBBcHBsZSBJbmMuCisg
KgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywg
d2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQg
dGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiAgUmVkaXN0
cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQK
KyAqICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5n
IGRpc2NsYWltZXIuCisgKiAyLiAgUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3Qg
cmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgICBub3RpY2UsIHRoaXMgbGlzdCBv
ZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICAg
ZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRp
c3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElO
Qy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnIEFORCBBTlkKKyAqIEVYUFJFU1MgT1Ig
SU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElN
UExJRUQKKyAqIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBB
IFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUKKyAqIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxM
IEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWQorICogRElS
RUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFV
RU5USUFMIERBTUFHRVMKKyAqIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VS
RU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsKKyAqIExPU1MgT0YgVVNFLCBE
QVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VE
IEFORCBPTgorICogQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1Qs
IFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBP
VEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTCisgKiBT
T0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFH
RS4KKyAqLworCisjcHJhZ21hIG9uY2UKKworI2lmIEVOQUJMRShXRUJfUlRDKQorCisjaW5jbHVk
ZSAiUlRDSWNlR2F0aGVyaW5nU3RhdGUuaCIKKyNpbmNsdWRlICJSVENJY2VUcmFuc3BvcnRTdGF0
ZS5oIgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK2NsYXNzIFJUQ0ljZVRyYW5zcG9ydEJhY2tl
bmQgeworcHVibGljOgorICAgIHZpcnR1YWwgflJUQ0ljZVRyYW5zcG9ydEJhY2tlbmQoKSA9IGRl
ZmF1bHQ7CisgICAgdmlydHVhbCBjb25zdCB2b2lkKiBiYWNrZW5kKCkgY29uc3QgPSAwOworCisg
ICAgY2xhc3MgQ2xpZW50IDogcHVibGljIENhbk1ha2VXZWFrUHRyPENsaWVudD4geworICAgIHB1
YmxpYzoKKyAgICAgICAgdmlydHVhbCB+Q2xpZW50KCkgPSBkZWZhdWx0OworICAgICAgICB2aXJ0
dWFsIHZvaWQgb25TdGF0ZUNoYW5nZWQoUlRDSWNlVHJhbnNwb3J0U3RhdGUpID0gMDsKKyAgICAg
ICAgdmlydHVhbCB2b2lkIG9uR2F0aGVyaW5nU3RhdGVDaGFuZ2VkKFJUQ0ljZUdhdGhlcmluZ1N0
YXRlKSA9IDA7CisgICAgfTsKKyAgICB2aXJ0dWFsIHZvaWQgcmVnaXN0ZXJDbGllbnQoQ2xpZW50
JikgPSAwOworICAgIHZpcnR1YWwgdm9pZCB1bnJlZ2lzdGVyQ2xpZW50KCkgPSAwOworfTsKKwor
aW5saW5lIGJvb2wgb3BlcmF0b3I9PShjb25zdCBSVENJY2VUcmFuc3BvcnRCYWNrZW5kJiBhLCBj
b25zdCBSVENJY2VUcmFuc3BvcnRCYWNrZW5kJiBiKQoreworICAgIHJldHVybiBhLmJhY2tlbmQo
KSA9PSBiLmJhY2tlbmQoKTsKK30KKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQorCisjZW5kaWYg
Ly8gRU5BQkxFKFdFQl9SVEMpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21l
ZGlhc3RyZWFtL1JUQ1BlZXJDb25uZWN0aW9uLmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMv
bWVkaWFzdHJlYW0vUlRDUGVlckNvbm5lY3Rpb24uY3BwCmluZGV4IGE5ODc0ZjQxYzM2ZjdiODg1
OTgxNDYyMDMyMzVjYmE4MWNjMmJlYjUuLjczYWQ5NmZjMTY5NTk3OGY4NTQ4YzA0ZGYxODliZjYz
ODE1MTQ5OTYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0v
UlRDUGVlckNvbm5lY3Rpb24uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFz
dHJlYW0vUlRDUGVlckNvbm5lY3Rpb24uY3BwCkBAIC02NTQsMjQgKzY1NCwyNiBAQCB2b2lkIFJU
Q1BlZXJDb25uZWN0aW9uOjp1cGRhdGVJY2VDb25uZWN0aW9uU3RhdGUoUlRDSWNlQ29ubmVjdGlv
blN0YXRlIG5ld1N0YXRlKQogICAgIH0pOwogfQogCi12b2lkIFJUQ1BlZXJDb25uZWN0aW9uOjp1
cGRhdGVDb25uZWN0aW9uU3RhdGUoKQorUlRDUGVlckNvbm5lY3Rpb25TdGF0ZSBSVENQZWVyQ29u
bmVjdGlvbjo6Y29tcHV0ZUNvbm5lY3Rpb25TdGF0ZSgpCiB7Ci0gICAgUlRDUGVlckNvbm5lY3Rp
b25TdGF0ZSBzdGF0ZTsKLQogICAgIGlmIChtX2ljZUNvbm5lY3Rpb25TdGF0ZSA9PSBSVENJY2VD
b25uZWN0aW9uU3RhdGU6OkNsb3NlZCkKLSAgICAgICAgc3RhdGUgPSBSVENQZWVyQ29ubmVjdGlv
blN0YXRlOjpDbG9zZWQ7Ci0gICAgZWxzZSBpZiAobV9pY2VDb25uZWN0aW9uU3RhdGUgPT0gUlRD
SWNlQ29ubmVjdGlvblN0YXRlOjpEaXNjb25uZWN0ZWQpCi0gICAgICAgIHN0YXRlID0gUlRDUGVl
ckNvbm5lY3Rpb25TdGF0ZTo6RGlzY29ubmVjdGVkOwotICAgIGVsc2UgaWYgKG1faWNlQ29ubmVj
dGlvblN0YXRlID09IFJUQ0ljZUNvbm5lY3Rpb25TdGF0ZTo6RmFpbGVkKQotICAgICAgICBzdGF0
ZSA9IFJUQ1BlZXJDb25uZWN0aW9uU3RhdGU6OkZhaWxlZDsKLSAgICBlbHNlIGlmIChtX2ljZUNv
bm5lY3Rpb25TdGF0ZSA9PSBSVENJY2VDb25uZWN0aW9uU3RhdGU6Ok5ldyAmJiBtX2ljZUdhdGhl
cmluZ1N0YXRlID09IFJUQ0ljZUdhdGhlcmluZ1N0YXRlOjpOZXcpCi0gICAgICAgIHN0YXRlID0g
UlRDUGVlckNvbm5lY3Rpb25TdGF0ZTo6TmV3OwotICAgIGVsc2UgaWYgKG1faWNlQ29ubmVjdGlv
blN0YXRlID09IFJUQ0ljZUNvbm5lY3Rpb25TdGF0ZTo6Q2hlY2tpbmcgfHwgbV9pY2VHYXRoZXJp
bmdTdGF0ZSA9PSBSVENJY2VHYXRoZXJpbmdTdGF0ZTo6R2F0aGVyaW5nKQotICAgICAgICBzdGF0
ZSA9IFJUQ1BlZXJDb25uZWN0aW9uU3RhdGU6OkNvbm5lY3Rpbmc7Ci0gICAgZWxzZSBpZiAoKG1f
aWNlQ29ubmVjdGlvblN0YXRlID09IFJUQ0ljZUNvbm5lY3Rpb25TdGF0ZTo6Q29tcGxldGVkIHx8
IG1faWNlQ29ubmVjdGlvblN0YXRlID09IFJUQ0ljZUNvbm5lY3Rpb25TdGF0ZTo6Q29ubmVjdGVk
KSAmJiBtX2ljZUdhdGhlcmluZ1N0YXRlID09IFJUQ0ljZUdhdGhlcmluZ1N0YXRlOjpDb21wbGV0
ZSkKLSAgICAgICAgc3RhdGUgPSBSVENQZWVyQ29ubmVjdGlvblN0YXRlOjpDb25uZWN0ZWQ7Ci0g
ICAgZWxzZQotICAgICAgICByZXR1cm47CisgICAgICAgIHJldHVybiBSVENQZWVyQ29ubmVjdGlv
blN0YXRlOjpDbG9zZWQ7CisgICAgaWYgKG1faWNlQ29ubmVjdGlvblN0YXRlID09IFJUQ0ljZUNv
bm5lY3Rpb25TdGF0ZTo6RGlzY29ubmVjdGVkKQorICAgICAgICByZXR1cm4gUlRDUGVlckNvbm5l
Y3Rpb25TdGF0ZTo6RGlzY29ubmVjdGVkOworICAgIGlmIChtX2ljZUNvbm5lY3Rpb25TdGF0ZSA9
PSBSVENJY2VDb25uZWN0aW9uU3RhdGU6OkZhaWxlZCkKKyAgICAgICAgcmV0dXJuIFJUQ1BlZXJD
b25uZWN0aW9uU3RhdGU6OkZhaWxlZDsKKyAgICBpZiAobV9pY2VDb25uZWN0aW9uU3RhdGUgPT0g
UlRDSWNlQ29ubmVjdGlvblN0YXRlOjpOZXcgJiYgbV9pY2VHYXRoZXJpbmdTdGF0ZSA9PSBSVENJ
Y2VHYXRoZXJpbmdTdGF0ZTo6TmV3KQorICAgICAgICByZXR1cm4gUlRDUGVlckNvbm5lY3Rpb25T
dGF0ZTo6TmV3OworICAgIGlmIChtX2ljZUNvbm5lY3Rpb25TdGF0ZSA9PSBSVENJY2VDb25uZWN0
aW9uU3RhdGU6OkNoZWNraW5nIHx8IG1faWNlR2F0aGVyaW5nU3RhdGUgPT0gUlRDSWNlR2F0aGVy
aW5nU3RhdGU6OkdhdGhlcmluZykKKyAgICAgICAgcmV0dXJuIFJUQ1BlZXJDb25uZWN0aW9uU3Rh
dGU6OkNvbm5lY3Rpbmc7CisgICAgaWYgKChtX2ljZUNvbm5lY3Rpb25TdGF0ZSA9PSBSVENJY2VD
b25uZWN0aW9uU3RhdGU6OkNvbXBsZXRlZCB8fCBtX2ljZUNvbm5lY3Rpb25TdGF0ZSA9PSBSVENJ
Y2VDb25uZWN0aW9uU3RhdGU6OkNvbm5lY3RlZCkgJiYgbV9pY2VHYXRoZXJpbmdTdGF0ZSA9PSBS
VENJY2VHYXRoZXJpbmdTdGF0ZTo6Q29tcGxldGUpCisgICAgICAgIHJldHVybiBSVENQZWVyQ29u
bmVjdGlvblN0YXRlOjpDb25uZWN0ZWQ7CisgICAgcmV0dXJuIG1fY29ubmVjdGlvblN0YXRlOwor
fQorCit2b2lkIFJUQ1BlZXJDb25uZWN0aW9uOjp1cGRhdGVDb25uZWN0aW9uU3RhdGUoKQorewor
ICAgIGF1dG8gc3RhdGUgPSBjb21wdXRlQ29ubmVjdGlvblN0YXRlKCk7CiAKICAgICBpZiAoc3Rh
dGUgPT0gbV9jb25uZWN0aW9uU3RhdGUpCiAgICAgICAgIHJldHVybjsKQEAgLTY4Miw2ICs2ODQs
NTggQEAgdm9pZCBSVENQZWVyQ29ubmVjdGlvbjo6dXBkYXRlQ29ubmVjdGlvblN0YXRlKCkKICAg
ICBkaXNwYXRjaEV2ZW50V2hlbkZlYXNpYmxlKEV2ZW50OjpjcmVhdGUoZXZlbnROYW1lcygpLmNv
bm5lY3Rpb25zdGF0ZWNoYW5nZUV2ZW50LCBFdmVudDo6Q2FuQnViYmxlOjpObywgRXZlbnQ6Oklz
Q2FuY2VsYWJsZTo6Tm8pKTsKIH0KIAorc3RhdGljIGJvb2wgaXNJY2VUcmFuc3BvcnRVc2VkQnlU
cmFuc2NlaXZlcihjb25zdCBSVENJY2VUcmFuc3BvcnQmIGljZVRyYW5zcG9ydCwgUlRDUnRwVHJh
bnNjZWl2ZXImIHRyYW5zY2VpdmVyKQoreworICAgIGF1dG8qIGR0bHNUcmFuc3BvcnQgPSB0cmFu
c2NlaXZlci5zZW5kZXIoKS50cmFuc3BvcnQoKTsKKyAgICByZXR1cm4gZHRsc1RyYW5zcG9ydCAm
JiAmZHRsc1RyYW5zcG9ydC0+aWNlVHJhbnNwb3J0KCkgPT0gJmljZVRyYW5zcG9ydDsKK30KKwor
Ly8gaHR0cHM6Ly93M2MuZ2l0aHViLmlvL3dlYnJ0Yy1wYy8jZG9tLXJ0Y2ljZWNvbm5lY3Rpb25z
dGF0ZQorUlRDSWNlQ29ubmVjdGlvblN0YXRlIFJUQ1BlZXJDb25uZWN0aW9uOjpjb21wdXRlSWNl
Q29ubmVjdGlvblN0YXRlRnJvbUljZVRyYW5zcG9ydHMoKQoreworICAgIGlmIChpc0Nsb3NlZCgp
KQorICAgICAgICByZXR1cm4gUlRDSWNlQ29ubmVjdGlvblN0YXRlOjpDbG9zZWQ7CisKKyAgICBh
dXRvIGljZVRyYW5zcG9ydHMgPSBtX2ljZVRyYW5zcG9ydHM7CisgICAgaWNlVHJhbnNwb3J0cy5y
ZW1vdmVBbGxNYXRjaGluZyhbJl0oYXV0byYgaWNlVHJhbnNwb3J0KSB7CisgICAgICAgIGJvb2wg
dGVzdCA9IGFsbE9mKG1fdHJhbnNjZWl2ZXJTZXQubGlzdCgpLCBbJmljZVRyYW5zcG9ydF0oYXV0
byYgdHJhbnNjZWl2ZXIpIHsKKyAgICAgICAgICAgIHJldHVybiAhaXNJY2VUcmFuc3BvcnRVc2Vk
QnlUcmFuc2NlaXZlcihpY2VUcmFuc3BvcnQuZ2V0KCksICp0cmFuc2NlaXZlcik7CisgICAgICAg
IH0pOworICAgICAgICByZXR1cm4gdGVzdDsKKyAgICB9KTsKKworICAgIGlmIChhbnlPZihpY2VU
cmFuc3BvcnRzLCBbXShhdXRvJiB0cmFuc3BvcnQpIHsgcmV0dXJuIHRyYW5zcG9ydC0+c3RhdGUo
KSA9PSBSVENJY2VUcmFuc3BvcnRTdGF0ZTo6RmFpbGVkOyB9KSkKKyAgICAgICAgcmV0dXJuIFJU
Q0ljZUNvbm5lY3Rpb25TdGF0ZTo6RmFpbGVkOworICAgIGlmIChhbnlPZihpY2VUcmFuc3BvcnRz
LCBbXShhdXRvJiB0cmFuc3BvcnQpIHsgcmV0dXJuIHRyYW5zcG9ydC0+c3RhdGUoKSA9PSBSVENJ
Y2VUcmFuc3BvcnRTdGF0ZTo6RGlzY29ubmVjdGVkOyB9KSkKKyAgICAgICAgcmV0dXJuIFJUQ0lj
ZUNvbm5lY3Rpb25TdGF0ZTo6RGlzY29ubmVjdGVkOworICAgIGlmIChhbGxPZihpY2VUcmFuc3Bv
cnRzLCBbXShhdXRvJiB0cmFuc3BvcnQpIHsgcmV0dXJuIHRyYW5zcG9ydC0+c3RhdGUoKSA9PSBS
VENJY2VUcmFuc3BvcnRTdGF0ZTo6TmV3IHx8IHRyYW5zcG9ydC0+c3RhdGUoKSA9PSBSVENJY2VU
cmFuc3BvcnRTdGF0ZTo6Q2xvc2VkOyB9KSkKKyAgICAgICAgcmV0dXJuIFJUQ0ljZUNvbm5lY3Rp
b25TdGF0ZTo6TmV3OworICAgIGlmIChhbnlPZihpY2VUcmFuc3BvcnRzLCBbXShhdXRvJiB0cmFu
c3BvcnQpIHsgcmV0dXJuIHRyYW5zcG9ydC0+c3RhdGUoKSA9PSBSVENJY2VUcmFuc3BvcnRTdGF0
ZTo6TmV3IHx8IHRyYW5zcG9ydC0+c3RhdGUoKSA9PSBSVENJY2VUcmFuc3BvcnRTdGF0ZTo6Q2hl
Y2tpbmc7IH0pKQorICAgICAgICByZXR1cm4gUlRDSWNlQ29ubmVjdGlvblN0YXRlOjpDaGVja2lu
ZzsKKyAgICBpZiAoYWxsT2YoaWNlVHJhbnNwb3J0cywgW10oYXV0byYgdHJhbnNwb3J0KSB7IHJl
dHVybiB0cmFuc3BvcnQtPnN0YXRlKCkgPT0gUlRDSWNlVHJhbnNwb3J0U3RhdGU6OkNvbXBsZXRl
ZCB8fCB0cmFuc3BvcnQtPnN0YXRlKCkgPT0gUlRDSWNlVHJhbnNwb3J0U3RhdGU6OkNsb3NlZDsg
fSkpCisgICAgICAgIHJldHVybiBSVENJY2VDb25uZWN0aW9uU3RhdGU6OkNvbXBsZXRlZDsKKyAg
ICBBU1NFUlQoYWxsT2YoaWNlVHJhbnNwb3J0cywgW10oYXV0byYgdHJhbnNwb3J0KSB7IHJldHVy
biB0cmFuc3BvcnQtPnN0YXRlKCkgPT0gUlRDSWNlVHJhbnNwb3J0U3RhdGU6OkNvbm5lY3RlZCB8
fCB0cmFuc3BvcnQtPnN0YXRlKCkgPT0gUlRDSWNlVHJhbnNwb3J0U3RhdGU6OkNvbXBsZXRlZCB8
fCB0cmFuc3BvcnQtPnN0YXRlKCkgPT0gUlRDSWNlVHJhbnNwb3J0U3RhdGU6OkNsb3NlZDsgfSkp
OworICAgIHJldHVybiBSVENJY2VDb25uZWN0aW9uU3RhdGU6OkNvbm5lY3RlZDsKK30KKworLy8g
aHR0cHM6Ly93M2MuZ2l0aHViLmlvL3dlYnJ0Yy1wYy8jcnRjaWNldHJhbnNwb3J0LCBhbGdvcml0
aG0gdG8gaGFuZGxlIGEgY2hhbmdlIG9mIFJUQ0ljZVRyYW5zcG9ydCBzdGF0ZS4KK3ZvaWQgUlRD
UGVlckNvbm5lY3Rpb246OnByb2Nlc3NJY2VUcmFuc3BvcnRTdGF0ZUNoYW5nZShSVENJY2VUcmFu
c3BvcnQmIGljZVRyYW5zcG9ydCkKK3sKKyAgICBhdXRvIG5ld0ljZUNvbm5lY3Rpb25TdGF0ZSA9
IGNvbXB1dGVJY2VDb25uZWN0aW9uU3RhdGVGcm9tSWNlVHJhbnNwb3J0cygpOworICAgIGJvb2wg
aWNlQ29ubmVjdGlvblN0YXRlQ2hhbmdlZCA9IG1faWNlQ29ubmVjdGlvblN0YXRlICE9IG5ld0lj
ZUNvbm5lY3Rpb25TdGF0ZTsKKyAgICBtX2ljZUNvbm5lY3Rpb25TdGF0ZSA9IG5ld0ljZUNvbm5l
Y3Rpb25TdGF0ZTsKKworICAgIGF1dG8gbmV3Q29ubmVjdGlvblN0YXRlID0gY29tcHV0ZUNvbm5l
Y3Rpb25TdGF0ZSgpOworICAgIGJvb2wgY29ubmVjdGlvblN0YXRlQ2hhbmdlZCA9IG1fY29ubmVj
dGlvblN0YXRlICE9IG5ld0Nvbm5lY3Rpb25TdGF0ZTsKKyAgICBtX2Nvbm5lY3Rpb25TdGF0ZSA9
IG5ld0Nvbm5lY3Rpb25TdGF0ZTsKKworICAgIGljZVRyYW5zcG9ydC5kaXNwYXRjaEV2ZW50KEV2
ZW50OjpjcmVhdGUoZXZlbnROYW1lcygpLnN0YXRlY2hhbmdlRXZlbnQsIEV2ZW50OjpDYW5CdWJi
bGU6OlllcywgRXZlbnQ6OklzQ2FuY2VsYWJsZTo6Tm8pKTsKKyAgICBpZiAoaWNlQ29ubmVjdGlv
blN0YXRlQ2hhbmdlZCkKKyAgICAgICAgZGlzcGF0Y2hFdmVudFdoZW5GZWFzaWJsZShFdmVudDo6
Y3JlYXRlKGV2ZW50TmFtZXMoKS5pY2Vjb25uZWN0aW9uc3RhdGVjaGFuZ2VFdmVudCwgRXZlbnQ6
OkNhbkJ1YmJsZTo6Tm8sIEV2ZW50OjpJc0NhbmNlbGFibGU6Ok5vKSk7CisgICAgaWYgKGNvbm5l
Y3Rpb25TdGF0ZUNoYW5nZWQpCisgICAgICAgIGRpc3BhdGNoRXZlbnRXaGVuRmVhc2libGUoRXZl
bnQ6OmNyZWF0ZShldmVudE5hbWVzKCkuY29ubmVjdGlvbnN0YXRlY2hhbmdlRXZlbnQsIEV2ZW50
OjpDYW5CdWJibGU6Ok5vLCBFdmVudDo6SXNDYW5jZWxhYmxlOjpObykpOworfQorCiB2b2lkIFJU
Q1BlZXJDb25uZWN0aW9uOjpzY2hlZHVsZU5lZ290aWF0aW9uTmVlZGVkRXZlbnQoKQogewogICAg
IGlmIChtX2hhc1BlbmRpbmdPcGVyYXRpb24pIHsKQEAgLTg0Miw2ICs4OTYsMTggQEAgRG9jdW1l
bnQqIFJUQ1BlZXJDb25uZWN0aW9uOjpkb2N1bWVudCgpCiAgICAgcmV0dXJuIGRvd25jYXN0PERv
Y3VtZW50PihzY3JpcHRFeGVjdXRpb25Db250ZXh0KCkpOwogfQogCitSZWY8UlRDSWNlVHJhbnNw
b3J0PiBSVENQZWVyQ29ubmVjdGlvbjo6Z2V0T3JDcmVhdGVJY2VUcmFuc3BvcnQoVW5pcXVlUmVm
PFJUQ0ljZVRyYW5zcG9ydEJhY2tlbmQ+JiYgYmFja2VuZCkKK3sKKyAgICBhdXRvIGluZGV4ID0g
bV9pY2VUcmFuc3BvcnRzLmZpbmRNYXRjaGluZyhbJmJhY2tlbmRdKGF1dG8mIHRyYW5zcG9ydCkg
eyByZXR1cm4gYmFja2VuZC5nZXQoKSA9PSB0cmFuc3BvcnQtPmJhY2tlbmQoKTsgfSk7CisgICAg
aWYgKGluZGV4ID09IG5vdEZvdW5kKSB7CisgICAgICAgIGluZGV4ID0gbV9pY2VUcmFuc3BvcnRz
LnNpemUoKTsKKyAgICAgICAgbV9pY2VUcmFuc3BvcnRzLmFwcGVuZChSVENJY2VUcmFuc3BvcnQ6
OmNyZWF0ZSgqc2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpLCBXVEZNb3ZlKGJhY2tlbmQpLCAqdGhp
cykpOworICAgIH0KKworICAgIHJldHVybiBtX2ljZVRyYW5zcG9ydHNbaW5kZXhdLmNvcHlSZWYo
KTsKK30KKworCiBSZWZQdHI8UlRDRHRsc1RyYW5zcG9ydD4gUlRDUGVlckNvbm5lY3Rpb246Omdl
dE9yQ3JlYXRlRHRsc1RyYW5zcG9ydChzdGQ6OnVuaXF1ZV9wdHI8UlRDRHRsc1RyYW5zcG9ydEJh
Y2tlbmQ+JiYgYmFja2VuZCkKIHsKICAgICBpZiAoIWJhY2tlbmQpCkBAIC04NTEsMTMgKzkxNywx
NCBAQCBSZWZQdHI8UlRDRHRsc1RyYW5zcG9ydD4gUlRDUGVlckNvbm5lY3Rpb246OmdldE9yQ3Jl
YXRlRHRsc1RyYW5zcG9ydChzdGQ6OnVuaXF1ZQogICAgIGlmICghY29udGV4dCkKICAgICAgICAg
cmV0dXJuIG51bGxwdHI7CiAKLSAgICBhdXRvIGluZGV4ID0gbV90cmFuc3BvcnRzLmZpbmRNYXRj
aGluZyhbJmJhY2tlbmRdKGF1dG8mIHRyYW5zcG9ydCkgeyByZXR1cm4gKmJhY2tlbmQgPT0gdHJh
bnNwb3J0LT5iYWNrZW5kKCk7IH0pOworICAgIGF1dG8gaW5kZXggPSBtX2R0bHNUcmFuc3BvcnRz
LmZpbmRNYXRjaGluZyhbJmJhY2tlbmRdKGF1dG8mIHRyYW5zcG9ydCkgeyByZXR1cm4gKmJhY2tl
bmQgPT0gdHJhbnNwb3J0LT5iYWNrZW5kKCk7IH0pOwogICAgIGlmIChpbmRleCA9PSBub3RGb3Vu
ZCkgewotICAgICAgICBpbmRleCA9IG1fdHJhbnNwb3J0cy5zaXplKCk7Ci0gICAgICAgIG1fdHJh
bnNwb3J0cy5hcHBlbmQoUlRDRHRsc1RyYW5zcG9ydDo6Y3JlYXRlKCpjb250ZXh0LCBtYWtlVW5p
cXVlUmVmRnJvbU5vbk51bGxVbmlxdWVQdHIoV1RGTW92ZShiYWNrZW5kKSkpKTsKKyAgICAgICAg
aW5kZXggPSBtX2R0bHNUcmFuc3BvcnRzLnNpemUoKTsKKyAgICAgICAgYXV0byBpY2VUcmFuc3Bv
cnRCYWNrZW5kID0gYmFja2VuZC0+aWNlVHJhbnNwb3J0QmFja2VuZCgpOworICAgICAgICBtX2R0
bHNUcmFuc3BvcnRzLmFwcGVuZChSVENEdGxzVHJhbnNwb3J0OjpjcmVhdGUoKmNvbnRleHQsIG1h
a2VVbmlxdWVSZWZGcm9tTm9uTnVsbFVuaXF1ZVB0cihXVEZNb3ZlKGJhY2tlbmQpKSwgZ2V0T3JD
cmVhdGVJY2VUcmFuc3BvcnQoV1RGTW92ZShpY2VUcmFuc3BvcnRCYWNrZW5kKSkpKTsKICAgICB9
CiAKLSAgICByZXR1cm4gbV90cmFuc3BvcnRzW2luZGV4XS5jb3B5UmVmKCk7CisgICAgcmV0dXJu
IG1fZHRsc1RyYW5zcG9ydHNbaW5kZXhdLmNvcHlSZWYoKTsKIH0KIAogdm9pZCBSVENQZWVyQ29u
bmVjdGlvbjo6dXBkYXRlVHJhbnNjZWl2ZXJUcmFuc3BvcnRzKCkKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vUlRDUGVlckNvbm5lY3Rpb24uaCBiL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vUlRDUGVlckNvbm5lY3Rpb24uaAppbmRleCBj
NjkwNzZkZDA2ZTU0NWU4MTU3MDkwY2I4MmY3OTRjYWRjOWZhNzA2Li41ZmIzOWI0OGUyZDVkMDgz
NjQyYjU3M2FhZjEyZWFkMzg2NmUxZmIyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL21lZGlhc3RyZWFtL1JUQ1BlZXJDb25uZWN0aW9uLmgKKysrIGIvU291cmNlL1dlYkNvcmUv
TW9kdWxlcy9tZWRpYXN0cmVhbS9SVENQZWVyQ29ubmVjdGlvbi5oCkBAIC02MSw2ICs2MSw3IEBA
IGNsYXNzIFJUQ0NvbnRyb2xsZXI7CiBjbGFzcyBSVENEdGxzVHJhbnNwb3J0OwogY2xhc3MgUlRD
RHRsc1RyYW5zcG9ydEJhY2tlbmQ7CiBjbGFzcyBSVENJY2VDYW5kaWRhdGU7CitjbGFzcyBSVENJ
Y2VUcmFuc3BvcnRCYWNrZW5kOwogY2xhc3MgUlRDUGVlckNvbm5lY3Rpb25FcnJvckNhbGxiYWNr
OwogY2xhc3MgUlRDU2Vzc2lvbkRlc2NyaXB0aW9uOwogY2xhc3MgUlRDU3RhdHNDYWxsYmFjazsK
QEAgLTE4OCw2ICsxODksOCBAQCBwdWJsaWM6CiAgICAgdm9pZCB1cGRhdGVUcmFuc2NlaXZlcnNB
ZnRlclN1Y2Nlc3NmdWxMb2NhbERlc2NyaXB0aW9uKCk7CiAgICAgdm9pZCB1cGRhdGVUcmFuc2Nl
aXZlcnNBZnRlclN1Y2Nlc3NmdWxSZW1vdGVEZXNjcmlwdGlvbigpOwogCisgICAgdm9pZCBwcm9j
ZXNzSWNlVHJhbnNwb3J0U3RhdGVDaGFuZ2UoUlRDSWNlVHJhbnNwb3J0Jik7CisKICNpZiAhUkVM
RUFTRV9MT0dfRElTQUJMRUQKICAgICBjb25zdCBMb2dnZXImIGxvZ2dlcigpIGNvbnN0IGZpbmFs
IHsgcmV0dXJuIG1fbG9nZ2VyLmdldCgpOyB9CiAgICAgY29uc3Qgdm9pZCogbG9nSWRlbnRpZmll
cigpIGNvbnN0IGZpbmFsIHsgcmV0dXJuIG1fbG9nSWRlbnRpZmllcjsgfQpAQCAtMjE5LDYgKzIy
MiwxMCBAQCBwcml2YXRlOgogICAgIGJvb2wgdmlydHVhbEhhc1BlbmRpbmdBY3Rpdml0eSgpIGNv
bnN0IGZpbmFsOwogCiAgICAgdm9pZCB1cGRhdGVDb25uZWN0aW9uU3RhdGUoKTsKKyAgICBib29s
IHVwZGF0ZUljZUNvbm5lY3Rpb25TdGF0ZUZyb21JY2VUcmFuc3BvcnRzKCk7CisgICAgUlRDSWNl
Q29ubmVjdGlvblN0YXRlIGNvbXB1dGVJY2VDb25uZWN0aW9uU3RhdGVGcm9tSWNlVHJhbnNwb3J0
cygpOworICAgIFJUQ1BlZXJDb25uZWN0aW9uU3RhdGUgY29tcHV0ZUNvbm5lY3Rpb25TdGF0ZSgp
OworCiAgICAgYm9vbCBkb0Nsb3NlKCk7CiAgICAgdm9pZCBkb1N0b3AoKTsKIApAQCAtMjMwLDYg
KzIzNyw3IEBAIHByaXZhdGU6CiAKICAgICBFeGNlcHRpb25PcjxWZWN0b3I8TWVkaWFFbmRwb2lu
dENvbmZpZ3VyYXRpb246OkljZVNlcnZlckluZm8+PiBpY2VTZXJ2ZXJzRnJvbUNvbmZpZ3VyYXRp
b24oUlRDQ29uZmlndXJhdGlvbiYgbmV3Q29uZmlndXJhdGlvbiwgY29uc3QgUlRDQ29uZmlndXJh
dGlvbiogZXhpc3RpbmdDb25maWd1cmF0aW9uLCBib29sIGlzTG9jYWxEZXNjcmlwdGlvblNldCk7
CiAKKyAgICBSZWY8UlRDSWNlVHJhbnNwb3J0PiBnZXRPckNyZWF0ZUljZVRyYW5zcG9ydChVbmlx
dWVSZWY8UlRDSWNlVHJhbnNwb3J0QmFja2VuZD4mJik7CiAgICAgUmVmUHRyPFJUQ0R0bHNUcmFu
c3BvcnQ+IGdldE9yQ3JlYXRlRHRsc1RyYW5zcG9ydChzdGQ6OnVuaXF1ZV9wdHI8UlRDRHRsc1Ry
YW5zcG9ydEJhY2tlbmQ+JiYpOwogICAgIHZvaWQgdXBkYXRlVHJhbnNjZWl2ZXJUcmFuc3BvcnRz
KCk7CiAKQEAgLTI1Niw3ICsyNjQsOCBAQCBwcml2YXRlOgogICAgIERlcXVlPHN0ZDo6cGFpcjxS
ZWY8RGVmZXJyZWRQcm9taXNlPiwgRnVuY3Rpb248dm9pZChSZWY8RGVmZXJyZWRQcm9taXNlPiYm
KT4+PiBtX29wZXJhdGlvbnM7CiAgICAgYm9vbCBtX2hhc1BlbmRpbmdPcGVyYXRpb24geyBmYWxz
ZSB9OwogICAgIGJvb2wgbV9zaG91bGRGaXJlTmVnb3RpYXRpb25OZWVkZWRPbmNlT3BlcmF0aW9u
Q2hhaW5Jc0VtcHR5IHsgZmFsc2UgfTsKLSAgICBWZWN0b3I8UmVmPFJUQ0R0bHNUcmFuc3BvcnQ+
PiBtX3RyYW5zcG9ydHM7CisgICAgVmVjdG9yPFJlZjxSVENEdGxzVHJhbnNwb3J0Pj4gbV9kdGxz
VHJhbnNwb3J0czsKKyAgICBWZWN0b3I8UmVmPFJUQ0ljZVRyYW5zcG9ydD4+IG1faWNlVHJhbnNw
b3J0czsKIH07CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vbGlid2VicnRjL0xpYldlYlJUQ0R0bHNUcmFuc3Bv
cnRCYWNrZW5kLmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vbGlid2Vi
cnRjL0xpYldlYlJUQ0R0bHNUcmFuc3BvcnRCYWNrZW5kLmNwcAppbmRleCA2YjBmNTBlYjg1ODgw
MDhkOWI2N2RjM2QzYzJjNWIwYzYyYjEzMzZlLi4wN2FhMTE2ODkzNDIxNzllOTNlZWQ4MTVjMTdh
MDdkMzhjMDExNDMwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3Ry
ZWFtL2xpYndlYnJ0Yy9MaWJXZWJSVENEdGxzVHJhbnNwb3J0QmFja2VuZC5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9saWJ3ZWJydGMvTGliV2ViUlRDRHRsc1Ry
YW5zcG9ydEJhY2tlbmQuY3BwCkBAIC0yNyw2ICsyNyw3IEBACiAKICNpZiBFTkFCTEUoV0VCX1JU
QykgJiYgVVNFKExJQldFQlJUQykKIAorI2luY2x1ZGUgIkxpYldlYlJUQ0ljZVRyYW5zcG9ydEJh
Y2tlbmQuaCIKICNpbmNsdWRlICJMaWJXZWJSVENQcm92aWRlci5oIgogI2luY2x1ZGUgPEphdmFT
Y3JpcHRDb3JlL0FycmF5QnVmZmVyLmg+CiAjaW5jbHVkZSA8d2VicnRjL2FwaS9kdGxzX3RyYW5z
cG9ydF9pbnRlcmZhY2UuaD4KQEAgLTEzMSw3ICsxMzIsNiBAQCB2b2lkIExpYldlYlJUQ0R0bHNU
cmFuc3BvcnRCYWNrZW5kT2JzZXJ2ZXI6Ok9uRXJyb3Iod2VicnRjOjpSVENFcnJvcikKICAgICB9
KTsKIH0KIAotCiBMaWJXZWJSVENEdGxzVHJhbnNwb3J0QmFja2VuZDo6TGliV2ViUlRDRHRsc1Ry
YW5zcG9ydEJhY2tlbmQocnRjOjpzY29wZWRfcmVmcHRyPHdlYnJ0Yzo6RHRsc1RyYW5zcG9ydElu
dGVyZmFjZT4mJiBiYWNrZW5kKQogICAgIDogbV9iYWNrZW5kKFdURk1vdmUoYmFja2VuZCkpCiB7
CkBAIC0xNDQsNiArMTQ0LDExIEBAIExpYldlYlJUQ0R0bHNUcmFuc3BvcnRCYWNrZW5kOjp+TGli
V2ViUlRDRHRsc1RyYW5zcG9ydEJhY2tlbmQoKQogICAgICAgICBtX29ic2VydmVyLT5zdG9wKCk7
CiB9CiAKK1VuaXF1ZVJlZjxSVENJY2VUcmFuc3BvcnRCYWNrZW5kPiBMaWJXZWJSVENEdGxzVHJh
bnNwb3J0QmFja2VuZDo6aWNlVHJhbnNwb3J0QmFja2VuZCgpCit7CisgICAgcmV0dXJuIG1ha2VV
bmlxdWVSZWY8TGliV2ViUlRDSWNlVHJhbnNwb3J0QmFja2VuZD4obV9iYWNrZW5kLT5pY2VfdHJh
bnNwb3J0KCkpOworfQorCiB2b2lkIExpYldlYlJUQ0R0bHNUcmFuc3BvcnRCYWNrZW5kOjpyZWdp
c3RlckNsaWVudChDbGllbnQmIGNsaWVudCkKIHsKICAgICBBU1NFUlQoIW1fb2JzZXJ2ZXIpOwpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9saWJ3ZWJydGMv
TGliV2ViUlRDRHRsc1RyYW5zcG9ydEJhY2tlbmQuaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMv
bWVkaWFzdHJlYW0vbGlid2VicnRjL0xpYldlYlJUQ0R0bHNUcmFuc3BvcnRCYWNrZW5kLmgKaW5k
ZXggNmJhMTA3MzllMjNmYjM5ZmQwNTFjZDU1MjgwZmVkM2RmOWM0NWY0NS4uM2U2N2I0OTBhZTcx
YTVhMzE2OWUwZDhjMGJjY2VkY2VlZTRjMjUxNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
TW9kdWxlcy9tZWRpYXN0cmVhbS9saWJ3ZWJydGMvTGliV2ViUlRDRHRsc1RyYW5zcG9ydEJhY2tl
bmQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL2xpYndlYnJ0Yy9M
aWJXZWJSVENEdGxzVHJhbnNwb3J0QmFja2VuZC5oCkBAIC01MSw2ICs1MSw3IEBAIHB1YmxpYzoK
IHByaXZhdGU6CiAgICAgLy8gUlRDRHRsc1RyYW5zcG9ydEJhY2tlbmQKICAgICBjb25zdCB2b2lk
KiBiYWNrZW5kKCkgY29uc3QgZmluYWwgeyByZXR1cm4gbV9iYWNrZW5kLmdldCgpOyB9CisgICAg
VW5pcXVlUmVmPFJUQ0ljZVRyYW5zcG9ydEJhY2tlbmQ+IGljZVRyYW5zcG9ydEJhY2tlbmQoKSBm
aW5hbDsKICAgICB2b2lkIHJlZ2lzdGVyQ2xpZW50KENsaWVudCYpIGZpbmFsOwogICAgIHZvaWQg
dW5yZWdpc3RlckNsaWVudCgpIGZpbmFsOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL21lZGlhc3RyZWFtL2xpYndlYnJ0Yy9MaWJXZWJSVENJY2VUcmFuc3BvcnRCYWNrZW5k
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vbGlid2VicnRjL0xpYldl
YlJUQ0ljZVRyYW5zcG9ydEJhY2tlbmQuY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmZlZTMxMDg2M2Y0NGQ2ZWIy
OWFjNDk0ZmJjMGQxNjAyMjg4MzIyODAKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL21lZGlhc3RyZWFtL2xpYndlYnJ0Yy9MaWJXZWJSVENJY2VUcmFuc3BvcnRCYWNr
ZW5kLmNwcApAQCAtMCwwICsxLDE2MyBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxOCBBcHBs
ZSBJbmMuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFy
eSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQg
cHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAx
LiAgUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBj
b3B5cmlnaHQKKyAqICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUg
Zm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiAgUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBm
b3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgICBub3RpY2UsIHRo
aXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhl
CisgKiAgICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdp
dGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZ
IEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnIEFORCBBTlkKKyAqIEVY
UFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBU
TywgVEhFIElNUExJRUQKKyAqIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRO
RVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUKKyAqIERJU0NMQUlNRUQuIElOIE5PIEVW
RU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFO
WQorICogRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBP
UiBDT05TRVFVRU5USUFMIERBTUFHRVMKKyAqIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBU
TywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsKKyAqIExPU1Mg
T0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VW
RVIgQ0FVU0VEIEFORCBPTgorICogQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4g
Q09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElH
RU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBU
SElTCisgKiBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBT
VUNIIERBTUFHRS4KKyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgiCisjaW5jbHVkZSAiTGliV2Vi
UlRDSWNlVHJhbnNwb3J0QmFja2VuZC5oIgorCisjaWYgRU5BQkxFKFdFQl9SVEMpICYmIFVTRShM
SUJXRUJSVEMpCisKK0FMTE9XX1VOVVNFRF9QQVJBTUVURVJTX0JFR0lOCisKKyNpbmNsdWRlIDx3
ZWJydGMvYXBpL2ljZV90cmFuc3BvcnRfaW50ZXJmYWNlLmg+CisjaW5jbHVkZSA8d2VicnRjL3Ay
cC9iYXNlL2ljZV90cmFuc3BvcnRfaW50ZXJuYWwuaD4KKworQUxMT1dfVU5VU0VEX1BBUkFNRVRF
UlNfRU5ECisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworc3RhdGljIGlubGluZSBSVENJY2VUcmFu
c3BvcnRTdGF0ZSB0b1JUQ0ljZVRyYW5zcG9ydFN0YXRlKHdlYnJ0Yzo6SWNlVHJhbnNwb3J0U3Rh
dGUgc3RhdGUpCit7CisgICAgc3dpdGNoIChzdGF0ZSkgeworICAgIGNhc2Ugd2VicnRjOjpJY2VU
cmFuc3BvcnRTdGF0ZTo6a05ldzoKKyAgICAgICAgcmV0dXJuIFJUQ0ljZVRyYW5zcG9ydFN0YXRl
OjpOZXc7CisgICAgY2FzZSB3ZWJydGM6OkljZVRyYW5zcG9ydFN0YXRlOjprQ2hlY2tpbmc6Cisg
ICAgICAgIHJldHVybiBSVENJY2VUcmFuc3BvcnRTdGF0ZTo6Q2hlY2tpbmc7CisgICAgY2FzZSB3
ZWJydGM6OkljZVRyYW5zcG9ydFN0YXRlOjprQ29ubmVjdGVkOgorICAgICAgICByZXR1cm4gUlRD
SWNlVHJhbnNwb3J0U3RhdGU6OkNvbm5lY3RlZDsKKyAgICBjYXNlIHdlYnJ0Yzo6SWNlVHJhbnNw
b3J0U3RhdGU6OmtGYWlsZWQ6CisgICAgICAgIHJldHVybiBSVENJY2VUcmFuc3BvcnRTdGF0ZTo6
RmFpbGVkOworICAgIGNhc2Ugd2VicnRjOjpJY2VUcmFuc3BvcnRTdGF0ZTo6a0NvbXBsZXRlZDoK
KyAgICAgICAgcmV0dXJuIFJUQ0ljZVRyYW5zcG9ydFN0YXRlOjpDb21wbGV0ZWQ7CisgICAgY2Fz
ZSB3ZWJydGM6OkljZVRyYW5zcG9ydFN0YXRlOjprRGlzY29ubmVjdGVkOgorICAgICAgICByZXR1
cm4gUlRDSWNlVHJhbnNwb3J0U3RhdGU6OkRpc2Nvbm5lY3RlZDsKKyAgICBjYXNlIHdlYnJ0Yzo6
SWNlVHJhbnNwb3J0U3RhdGU6OmtDbG9zZWQ6CisgICAgICAgIHJldHVybiBSVENJY2VUcmFuc3Bv
cnRTdGF0ZTo6Q2xvc2VkOworICAgIH0KKworICAgIFJFTEVBU0VfQVNTRVJUX05PVF9SRUFDSEVE
KCk7Cit9CisKK3N0YXRpYyBpbmxpbmUgUlRDSWNlR2F0aGVyaW5nU3RhdGUgdG9SVENJY2VHYXRo
ZXJpbmdTdGF0ZShjcmlja2V0OjpJY2VHYXRoZXJpbmdTdGF0ZSBzdGF0ZSkKK3sKKyAgICBzd2l0
Y2ggKHN0YXRlKSB7CisgICAgY2FzZSBjcmlja2V0OjpJY2VHYXRoZXJpbmdTdGF0ZTo6a0ljZUdh
dGhlcmluZ05ldzoKKyAgICAgICAgcmV0dXJuIFJUQ0ljZUdhdGhlcmluZ1N0YXRlOjpOZXc7Cisg
ICAgY2FzZSBjcmlja2V0OjpJY2VHYXRoZXJpbmdTdGF0ZTo6a0ljZUdhdGhlcmluZ0dhdGhlcmlu
ZzoKKyAgICAgICAgcmV0dXJuIFJUQ0ljZUdhdGhlcmluZ1N0YXRlOjpHYXRoZXJpbmc7CisgICAg
Y2FzZSBjcmlja2V0OjpJY2VHYXRoZXJpbmdTdGF0ZTo6a0ljZUdhdGhlcmluZ0NvbXBsZXRlOgor
ICAgICAgICByZXR1cm4gUlRDSWNlR2F0aGVyaW5nU3RhdGU6OkNvbXBsZXRlOworICAgIH0KKwor
ICAgIFJFTEVBU0VfQVNTRVJUX05PVF9SRUFDSEVEKCk7Cit9CisKK2NsYXNzIExpYldlYlJUQ0lj
ZVRyYW5zcG9ydEJhY2tlbmRPYnNlcnZlciBmaW5hbCA6IHB1YmxpYyBUaHJlYWRTYWZlUmVmQ291
bnRlZDxMaWJXZWJSVENJY2VUcmFuc3BvcnRCYWNrZW5kT2JzZXJ2ZXI+LCBwdWJsaWMgc2lnc2xv
dDo6aGFzX3Nsb3RzPD4geworcHVibGljOgorICAgIHN0YXRpYyBSZWY8TGliV2ViUlRDSWNlVHJh
bnNwb3J0QmFja2VuZE9ic2VydmVyPiBjcmVhdGUoUlRDSWNlVHJhbnNwb3J0QmFja2VuZDo6Q2xp
ZW50JiBjbGllbnQsIHJ0Yzo6c2NvcGVkX3JlZnB0cjx3ZWJydGM6OkljZVRyYW5zcG9ydEludGVy
ZmFjZT4mIGJhY2tlbmQpIHsgcmV0dXJuIGFkb3B0UmVmKCpuZXcgTGliV2ViUlRDSWNlVHJhbnNw
b3J0QmFja2VuZE9ic2VydmVyKGNsaWVudCwgYmFja2VuZCkpOyB9CisKKyAgICB2b2lkIHN0YXJ0
KCk7CisgICAgdm9pZCBzdG9wKCk7CisKK3ByaXZhdGU6CisgICAgTGliV2ViUlRDSWNlVHJhbnNw
b3J0QmFja2VuZE9ic2VydmVyKFJUQ0ljZVRyYW5zcG9ydEJhY2tlbmQ6OkNsaWVudCYsIHJ0Yzo6
c2NvcGVkX3JlZnB0cjx3ZWJydGM6OkljZVRyYW5zcG9ydEludGVyZmFjZT4mKTsKKworICAgIHZv
aWQgb25JY2VUcmFuc3BvcnRTdGF0ZUNoYW5nZWQoY3JpY2tldDo6SWNlVHJhbnNwb3J0SW50ZXJu
YWwqKTsKKyAgICB2b2lkIG9uR2F0aGVyaW5nU3RhdGVDaGFuZ2VkKGNyaWNrZXQ6OkljZVRyYW5z
cG9ydEludGVybmFsKik7CisKKyAgICBydGM6OnNjb3BlZF9yZWZwdHI8d2VicnRjOjpJY2VUcmFu
c3BvcnRJbnRlcmZhY2U+IG1fYmFja2VuZDsKKyAgICBXZWFrUHRyPFJUQ0ljZVRyYW5zcG9ydEJh
Y2tlbmQ6OkNsaWVudD4gbV9jbGllbnQ7Cit9OworCitMaWJXZWJSVENJY2VUcmFuc3BvcnRCYWNr
ZW5kT2JzZXJ2ZXI6OkxpYldlYlJUQ0ljZVRyYW5zcG9ydEJhY2tlbmRPYnNlcnZlcihSVENJY2VU
cmFuc3BvcnRCYWNrZW5kOjpDbGllbnQmIGNsaWVudCwgcnRjOjpzY29wZWRfcmVmcHRyPHdlYnJ0
Yzo6SWNlVHJhbnNwb3J0SW50ZXJmYWNlPiYgYmFja2VuZCkKKyAgICA6IG1fYmFja2VuZChiYWNr
ZW5kKQorICAgICwgbV9jbGllbnQobWFrZVdlYWtQdHIoY2xpZW50KSkKK3sKKyAgICBBU1NFUlQo
bV9iYWNrZW5kKTsKK30KKwordm9pZCBMaWJXZWJSVENJY2VUcmFuc3BvcnRCYWNrZW5kT2JzZXJ2
ZXI6OnN0YXJ0KCkKK3sKKyAgICBMaWJXZWJSVENQcm92aWRlcjo6Y2FsbE9uV2ViUlRDTmV0d29y
a1RocmVhZChbdGhpcywgcHJvdGVjdGVkVGhpcyA9IG1ha2VSZWYoKnRoaXMpXSgpIG11dGFibGUg
eworICAgICAgICBhdXRvKiBpbnRlcm5hbCA9IG1fYmFja2VuZC0+aW50ZXJuYWwoKTsKKyAgICAg
ICAgaWYgKCFpbnRlcm5hbCkKKyAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAgaW50ZXJuYWwt
PlNpZ25hbEljZVRyYW5zcG9ydFN0YXRlQ2hhbmdlZC5jb25uZWN0KHRoaXMsICZMaWJXZWJSVENJ
Y2VUcmFuc3BvcnRCYWNrZW5kT2JzZXJ2ZXI6Om9uSWNlVHJhbnNwb3J0U3RhdGVDaGFuZ2VkKTsK
KyAgICAgICAgaW50ZXJuYWwtPlNpZ25hbEdhdGhlcmluZ1N0YXRlLmNvbm5lY3QodGhpcywgJkxp
YldlYlJUQ0ljZVRyYW5zcG9ydEJhY2tlbmRPYnNlcnZlcjo6b25HYXRoZXJpbmdTdGF0ZUNoYW5n
ZWQpOworICAgIH0pOworfQorCit2b2lkIExpYldlYlJUQ0ljZVRyYW5zcG9ydEJhY2tlbmRPYnNl
cnZlcjo6c3RvcCgpCit7CisgICAgbV9jbGllbnQgPSBudWxscHRyOworICAgIExpYldlYlJUQ1By
b3ZpZGVyOjpjYWxsT25XZWJSVENOZXR3b3JrVGhyZWFkKFt0aGlzLCBwcm90ZWN0ZWRUaGlzID0g
bWFrZVJlZigqdGhpcyldIHsKKyAgICAgICAgYXV0byogaW50ZXJuYWwgPSBtX2JhY2tlbmQtPmlu
dGVybmFsKCk7CisgICAgICAgIGlmICghaW50ZXJuYWwpCisgICAgICAgICAgICByZXR1cm47Cisg
ICAgICAgIGludGVybmFsLT5TaWduYWxJY2VUcmFuc3BvcnRTdGF0ZUNoYW5nZWQuZGlzY29ubmVj
dCh0aGlzKTsKKyAgICAgICAgaW50ZXJuYWwtPlNpZ25hbEdhdGhlcmluZ1N0YXRlLmRpc2Nvbm5l
Y3QodGhpcyk7CisgICAgfSk7Cit9CisKK3ZvaWQgTGliV2ViUlRDSWNlVHJhbnNwb3J0QmFja2Vu
ZE9ic2VydmVyOjpvbkljZVRyYW5zcG9ydFN0YXRlQ2hhbmdlZChjcmlja2V0OjpJY2VUcmFuc3Bv
cnRJbnRlcm5hbCogaW50ZXJuYWwpCit7CisgICAgY2FsbE9uTWFpblRocmVhZChbcHJvdGVjdGVk
VGhpcyA9IG1ha2VSZWYoKnRoaXMpLCBzdGF0ZSA9IGludGVybmFsLT5HZXRJY2VUcmFuc3BvcnRT
dGF0ZSgpXSB7CisgICAgICAgIGlmIChwcm90ZWN0ZWRUaGlzLT5tX2NsaWVudCkKKyAgICAgICAg
ICAgIHByb3RlY3RlZFRoaXMtPm1fY2xpZW50LT5vblN0YXRlQ2hhbmdlZCh0b1JUQ0ljZVRyYW5z
cG9ydFN0YXRlKHN0YXRlKSk7CisgICAgfSk7Cit9CisKK3ZvaWQgTGliV2ViUlRDSWNlVHJhbnNw
b3J0QmFja2VuZE9ic2VydmVyOjpvbkdhdGhlcmluZ1N0YXRlQ2hhbmdlZChjcmlja2V0OjpJY2VU
cmFuc3BvcnRJbnRlcm5hbCogaW50ZXJuYWwpCit7CisgICAgY2FsbE9uTWFpblRocmVhZChbcHJv
dGVjdGVkVGhpcyA9IG1ha2VSZWYoKnRoaXMpLCBzdGF0ZSA9IGludGVybmFsLT5nYXRoZXJpbmdf
c3RhdGUoKV0geworICAgICAgICBpZiAocHJvdGVjdGVkVGhpcy0+bV9jbGllbnQpCisgICAgICAg
ICAgICBwcm90ZWN0ZWRUaGlzLT5tX2NsaWVudC0+b25HYXRoZXJpbmdTdGF0ZUNoYW5nZWQodG9S
VENJY2VHYXRoZXJpbmdTdGF0ZShzdGF0ZSkpOworICAgIH0pOworfQorCitMaWJXZWJSVENJY2VU
cmFuc3BvcnRCYWNrZW5kOjpMaWJXZWJSVENJY2VUcmFuc3BvcnRCYWNrZW5kKHJ0Yzo6c2NvcGVk
X3JlZnB0cjx3ZWJydGM6OkljZVRyYW5zcG9ydEludGVyZmFjZT4mJiBiYWNrZW5kKQorICAgIDog
bV9iYWNrZW5kKFdURk1vdmUoYmFja2VuZCkpCit7CisgICAgQVNTRVJUKG1fYmFja2VuZCk7Cit9
CisKK0xpYldlYlJUQ0ljZVRyYW5zcG9ydEJhY2tlbmQ6On5MaWJXZWJSVENJY2VUcmFuc3BvcnRC
YWNrZW5kKCkKK3sKK30KKwordm9pZCBMaWJXZWJSVENJY2VUcmFuc3BvcnRCYWNrZW5kOjpyZWdp
c3RlckNsaWVudChDbGllbnQmIGNsaWVudCkKK3sKKyAgICBBU1NFUlQoIW1fb2JzZXJ2ZXIpOwor
ICAgIG1fb2JzZXJ2ZXIgPSBMaWJXZWJSVENJY2VUcmFuc3BvcnRCYWNrZW5kT2JzZXJ2ZXI6OmNy
ZWF0ZShjbGllbnQsIG1fYmFja2VuZCk7CisgICAgbV9vYnNlcnZlci0+c3RhcnQoKTsKK30KKwor
dm9pZCBMaWJXZWJSVENJY2VUcmFuc3BvcnRCYWNrZW5kOjp1bnJlZ2lzdGVyQ2xpZW50KCkKK3sK
KyAgICBBU1NFUlQobV9vYnNlcnZlcik7CisgICAgbV9vYnNlcnZlci0+c3RvcCgpOworfQorCit9
IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisKKyNlbmRpZiAvLyBFTkFCTEUoV0VCX1JUQykgJiYgVVNF
KExJQldFQlJUQykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJl
YW0vbGlid2VicnRjL0xpYldlYlJUQ0ljZVRyYW5zcG9ydEJhY2tlbmQuaCBiL1NvdXJjZS9XZWJD
b3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vbGlid2VicnRjL0xpYldlYlJUQ0ljZVRyYW5zcG9ydEJh
Y2tlbmQuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi5jNzVlODEwNjhiMzhiYzk0NzBjNjlhMGViNjUwODYzZDBkZjdk
ZjU1Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVh
bS9saWJ3ZWJydGMvTGliV2ViUlRDSWNlVHJhbnNwb3J0QmFja2VuZC5oCkBAIC0wLDAgKzEsNjQg
QEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTggQXBwbGUgSW5jLgorICoKKyAqIFJlZGlzdHJp
YnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91
dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxv
d2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gIFJlZGlzdHJpYnV0aW9ucyBvZiBz
b3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICAgbm90aWNl
LCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgor
ICogMi4gIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUg
YWJvdmUgY29weXJpZ2h0CisgKiAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgIGRvY3VtZW50YXRpb24g
YW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisg
KgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09O
VFJJQlVUT1JTIGBgQVMgSVMnJyBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFO
VElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVECisgKiBXQVJS
QU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBV
UlBPU0UgQVJFCisgKiBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9S
IElUUyBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkKKyAqIERJUkVDVCwgSU5ESVJFQ1Qs
IElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VT
CisgKiAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNU
SVRVVEUgR09PRFMgT1IgU0VSVklDRVM7CisgKiBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklU
UzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04KKyAqIEFO
WSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklM
SVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklT
SU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUworICogU09GVFdBUkUsIEVWRU4g
SUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI3By
YWdtYSBvbmNlCisKKyNpZiBFTkFCTEUoV0VCX1JUQykKKworI2luY2x1ZGUgIkxpYldlYlJUQ01h
Y3Jvcy5oIgorI2luY2x1ZGUgIlJUQ0ljZVRyYW5zcG9ydEJhY2tlbmQuaCIKKworQUxMT1dfVU5V
U0VEX1BBUkFNRVRFUlNfQkVHSU4KKworI2luY2x1ZGUgPHdlYnJ0Yy9hcGkvc2NvcGVkX3JlZnB0
ci5oPgorCitBTExPV19VTlVTRURfUEFSQU1FVEVSU19FTkQKKworbmFtZXNwYWNlIHdlYnJ0YyB7
CitjbGFzcyBJY2VUcmFuc3BvcnRJbnRlcmZhY2U7Cit9CisKK25hbWVzcGFjZSBXZWJDb3JlIHsK
KworY2xhc3MgTGliV2ViUlRDSWNlVHJhbnNwb3J0QmFja2VuZE9ic2VydmVyOworCitjbGFzcyBM
aWJXZWJSVENJY2VUcmFuc3BvcnRCYWNrZW5kIGZpbmFsIDogcHVibGljIFJUQ0ljZVRyYW5zcG9y
dEJhY2tlbmQgeworICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOworcHVibGljOgorICAgIGV4
cGxpY2l0IExpYldlYlJUQ0ljZVRyYW5zcG9ydEJhY2tlbmQocnRjOjpzY29wZWRfcmVmcHRyPHdl
YnJ0Yzo6SWNlVHJhbnNwb3J0SW50ZXJmYWNlPiYmKTsKKyAgICB+TGliV2ViUlRDSWNlVHJhbnNw
b3J0QmFja2VuZCgpOworCitwcml2YXRlOgorICAgIC8vIFJUQ0ljZVRyYW5zcG9ydEJhY2tlbmQK
KyAgICBjb25zdCB2b2lkKiBiYWNrZW5kKCkgY29uc3QgZmluYWwgeyByZXR1cm4gbV9iYWNrZW5k
LmdldCgpOyB9CisgICAgdm9pZCByZWdpc3RlckNsaWVudChDbGllbnQmKSBmaW5hbDsKKyAgICB2
b2lkIHVucmVnaXN0ZXJDbGllbnQoKSBmaW5hbDsKKworICAgIHJ0Yzo6c2NvcGVkX3JlZnB0cjx3
ZWJydGM6OkljZVRyYW5zcG9ydEludGVyZmFjZT4gbV9iYWNrZW5kOworICAgIFJlZlB0cjxMaWJX
ZWJSVENJY2VUcmFuc3BvcnRCYWNrZW5kT2JzZXJ2ZXI+IG1fb2JzZXJ2ZXI7Cit9OworCit9IC8v
IG5hbWVzcGFjZSBXZWJDb3JlCisKKyNlbmRpZiAvLyBFTkFCTEUoV0VCX1JUQykKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vbGlid2VicnRjL0xpYldlYlJU
Q01lZGlhRW5kcG9pbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9s
aWJ3ZWJydGMvTGliV2ViUlRDTWVkaWFFbmRwb2ludC5jcHAKaW5kZXggNGEwNWIxZGViYmJlZWNl
NGZlZGRhMjRjODU4NTNlNjkzMWI1Yzc3NS4uYTMxYmM3YWVhZmVkMWIwODk5NmNjYjlkZWE4ZTQy
YjIzZjk4MzZlMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVh
bS9saWJ3ZWJydGMvTGliV2ViUlRDTWVkaWFFbmRwb2ludC5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9saWJ3ZWJydGMvTGliV2ViUlRDTWVkaWFFbmRwb2ludC5j
cHAKQEAgLTU5OCw4ICs1OTgsNyBAQCB2b2lkIExpYldlYlJUQ01lZGlhRW5kcG9pbnQ6Ok9uSWNl
Q29ubmVjdGlvbkNoYW5nZSh3ZWJydGM6OlBlZXJDb25uZWN0aW9uSW50ZXJmYQogICAgIGNhbGxP
bk1haW5UaHJlYWQoW3Byb3RlY3RlZFRoaXMgPSBtYWtlUmVmKCp0aGlzKSwgY29ubmVjdGlvblN0
YXRlXSB7CiAgICAgICAgIGlmIChwcm90ZWN0ZWRUaGlzLT5pc1N0b3BwZWQoKSkKICAgICAgICAg
ICAgIHJldHVybjsKLSAgICAgICAgaWYgKHByb3RlY3RlZFRoaXMtPm1fcGVlckNvbm5lY3Rpb25C
YWNrZW5kLmNvbm5lY3Rpb24oKS5pY2VDb25uZWN0aW9uU3RhdGUoKSAhPSBjb25uZWN0aW9uU3Rh
dGUpCi0gICAgICAgICAgICBwcm90ZWN0ZWRUaGlzLT5tX3BlZXJDb25uZWN0aW9uQmFja2VuZC5j
b25uZWN0aW9uKCkudXBkYXRlSWNlQ29ubmVjdGlvblN0YXRlKGNvbm5lY3Rpb25TdGF0ZSk7Cisg
ICAgICAgIHByb3RlY3RlZFRoaXMtPm1fcGVlckNvbm5lY3Rpb25CYWNrZW5kLmNvbm5lY3Rpb24o
KS51cGRhdGVJY2VDb25uZWN0aW9uU3RhdGUoY29ubmVjdGlvblN0YXRlKTsKICAgICB9KTsKIH0K
IApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvU291cmNlcy50eHQgYi9Tb3VyY2UvV2ViQ29y
ZS9Tb3VyY2VzLnR4dAppbmRleCA2ZDU5ZGMzZmQ4Nzg0YWMzNTc2MGFkZGY1ZDkyMDU4ZDI1ODRk
MDdiLi5mYmJlZDgzYTRkZDgxOTUyMDAxMDJmNzI4MTk1MzJlZWY5ODdjOWM1IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9Tb3VyY2VzLnR4dAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Tb3VyY2Vz
LnR4dApAQCAtMTg4LDYgKzE4OCw3IEBAIE1vZHVsZXMvbWVkaWFzdHJlYW0vVXNlck1lZGlhQ29u
dHJvbGxlci5jcHAKIE1vZHVsZXMvbWVkaWFzdHJlYW0vVXNlck1lZGlhUmVxdWVzdC5jcHAKIE1v
ZHVsZXMvbWVkaWFzdHJlYW0vbGlid2VicnRjL0xpYldlYlJUQ0NlcnRpZmljYXRlR2VuZXJhdG9y
LmNwcAogTW9kdWxlcy9tZWRpYXN0cmVhbS9saWJ3ZWJydGMvTGliV2ViUlRDRHRsc1RyYW5zcG9y
dEJhY2tlbmQuY3BwCitNb2R1bGVzL21lZGlhc3RyZWFtL2xpYndlYnJ0Yy9MaWJXZWJSVENJY2VU
cmFuc3BvcnRCYWNrZW5kLmNwcAogTW9kdWxlcy9tZWRpYXN0cmVhbS9saWJ3ZWJydGMvTGliV2Vi
UlRDUnRwUmVjZWl2ZXJUcmFuc2Zvcm1CYWNrZW5kLmNwcAogTW9kdWxlcy9tZWRpYXN0cmVhbS9s
aWJ3ZWJydGMvTGliV2ViUlRDUnRwU2VuZGVyVHJhbnNmb3JtQmFja2VuZC5jcHAKIE1vZHVsZXMv
bWVkaWFzdHJlYW0vbGlid2VicnRjL0xpYldlYlJUQ1J0cFRyYW5zZm9ybUJhY2tlbmQuY3BwCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHBy
b2ogYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKaW5k
ZXggZDBhYTBlOGQyYjliOTEwNzNiOTgzYTY4Y2Y1OWY3ZTY2YTJhNTM3NS4uYjQwMzExYjVmZTU5
MmMyYzNjZGUxNjg5N2E0N2IxYTAwNTM0NTY4OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
V2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCisrKyBiL1NvdXJjZS9XZWJDb3JlL1dl
YkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagpAQCAtNzc5Niw2ICs3Nzk2LDkgQEAKIAkJ
NDE0MThBMDUyNTY2NjBBRjAwMzYzNDE3IC8qIFJUQ0VuY29kZWRGcmFtZS5jcHAgKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBSVENFbmNvZGVkRnJhbWUuY3BwOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OwogCQk0MTQxOEEwNjI1NjY2MEIwMDAzNjM0MTcgLyogUlRDRW5j
b2RlZEZyYW1lLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFJUQ0VuY29kZWRG
cmFtZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk0MTQ0NjBBMDI0MTI5OTQxMDA4
MTRCRTcgLyogTWVkaWFTZXNzaW9uSWRlbnRpZmllci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
Lmg7IHBhdGggPSBNZWRpYVNlc3Npb25JZGVudGlmaWVyLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CisJCTQxNDUxNkREMjZDQzA0MEQwMEFBQUJFMCAvKiBMaWJXZWJSVENJY2VUcmFuc3Bv
cnRCYWNrZW5kLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmMuaDsgbmFtZSA9IExpYldlYlJUQ0ljZVRyYW5zcG9ydEJhY2tlbmQu
aDsgcGF0aCA9IGxpYndlYnJ0Yy9MaWJXZWJSVENJY2VUcmFuc3BvcnRCYWNrZW5kLmg7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTQxNDUxNkRGMjZDQzA0MEQwMEFBQUJFMCAvKiBMaWJX
ZWJSVENJY2VUcmFuc3BvcnRCYWNrZW5kLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgbmFtZSA9IExpYldlYlJU
Q0ljZVRyYW5zcG9ydEJhY2tlbmQuY3BwOyBwYXRoID0gbGlid2VicnRjL0xpYldlYlJUQ0ljZVRy
YW5zcG9ydEJhY2tlbmQuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk0MTQ1MTZF
MDI2Q0MwNDIxMDBBQUFCRTAgLyogUlRDSWNlVHJhbnNwb3J0QmFja2VuZC5oICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBh
dGggPSBSVENJY2VUcmFuc3BvcnRCYWNrZW5kLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CiAJCTQxNDU5OEJFMjNDOEFBQjgwMDJCOUNDOCAvKiBTYW1wbGVCdWZmZXJEaXNwbGF5TGF5ZXIu
aCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gU2FtcGxlQnVmZmVyRGlzcGxheUxh
eWVyLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTQxNDU5OEMwMjNDOEFENzgwMDJC
OUNDOCAvKiBMb2NhbFNhbXBsZUJ1ZmZlckRpc3BsYXlMYXllci5oICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jLmg7IHBhdGggPSBMb2NhbFNhbXBsZUJ1ZmZlckRpc3BsYXlMYXllci5oOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OwogCQk0MTQ1OThDMTIzQzhBRDc5MDAyQjlDQzggLyogTG9jYWxT
YW1wbGVCdWZmZXJEaXNwbGF5TGF5ZXIubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpj
cHA7IHBhdGggPSBMb2NhbFNhbXBsZUJ1ZmZlckRpc3BsYXlMYXllci5tbTsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKQEAgLTE3MjA3LDYgKzE3MjEwLDcgQEAKIAkJCQkzMTZEQ0I4ODFFN0E2
OTk2MDAxQjVGODcgLyogUlRDSWNlVHJhbnNwb3J0LmNwcCAqLywKIAkJCQk1RTY2NTMwOTFEQTQz
N0JGMDBGREQ4NEMgLyogUlRDSWNlVHJhbnNwb3J0LmggKi8sCiAJCQkJMzE2RENCODkxRTdBNjk5
NjAwMUI1Rjg3IC8qIFJUQ0ljZVRyYW5zcG9ydC5pZGwgKi8sCisJCQkJNDE0NTE2RTAyNkNDMDQy
MTAwQUFBQkUwIC8qIFJUQ0ljZVRyYW5zcG9ydEJhY2tlbmQuaCAqLywKIAkJCQkzMTZEQ0I4RTFF
N0E2Qzc5MDAxQjVGODcgLyogUlRDSWNlVHJhbnNwb3J0U3RhdGUuaWRsICovLAogCQkJCTA3Mzc5
NERDMTlFRTJDNTIwMEU1QTA0NSAvKiBSVENPZmZlckFuc3dlck9wdGlvbnMuaCAqLywKIAkJCQkz
MTZEQ0IxMjFFNzhCRTQzMDAxQjVGODcgLyogUlRDT2ZmZXJBbnN3ZXJPcHRpb25zLmlkbCAqLywK
QEAgLTE5MzE3LDYgKzE5MzIxLDggQEAKIAkJCQk1Q0REODM0MDFFNDMyNTNEMDA2MjFFOTIgLyog
TGliV2ViUlRDRGF0YUNoYW5uZWxIYW5kbGVyLmggKi8sCiAJCQkJNDE4OEQ1NjQyNkM1NTMwQjAw
NDg1OEM4IC8qIExpYldlYlJUQ0R0bHNUcmFuc3BvcnRCYWNrZW5kLmNwcCAqLywKIAkJCQk0MTg4
RDU2NTI2QzU1MzBCMDA0ODU4QzggLyogTGliV2ViUlRDRHRsc1RyYW5zcG9ydEJhY2tlbmQuaCAq
LywKKwkJCQk0MTQ1MTZERjI2Q0MwNDBEMDBBQUFCRTAgLyogTGliV2ViUlRDSWNlVHJhbnNwb3J0
QmFja2VuZC5jcHAgKi8sCisJCQkJNDE0NTE2REQyNkNDMDQwRDAwQUFBQkUwIC8qIExpYldlYlJU
Q0ljZVRyYW5zcG9ydEJhY2tlbmQuaCAqLywKIAkJCQk0MTc2MTJBQjFFM0E5OTNCMDBDM0Q4MUQg
LyogTGliV2ViUlRDTWVkaWFFbmRwb2ludC5jcHAgKi8sCiAJCQkJNDE3NjEyQUMxRTNBOTkzQjAw
QzNEODFEIC8qIExpYldlYlJUQ01lZGlhRW5kcG9pbnQuaCAqLywKIAkJCQk0MTVBM0I3MzIxMzhF
MjY0MDAxQjRCQUEgLyogTGliV2ViUlRDT2JzZXJ2ZXJzLmggKi8sCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9kb20vRXZlbnROYW1lcy5oIGIvU291cmNlL1dlYkNvcmUvZG9tL0V2ZW50TmFt
ZXMuaAppbmRleCA0ZjA5YzgyZTViMmZmMDRkYTFlZmRhMjkyYmM5MDI3NzRjN2NiMjkzLi40YWJm
ZDVkN2MzMGNhMzZhM2U2ZmE3MzNiYzBiN2E1ZGE5YmFjNGEyIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9kb20vRXZlbnROYW1lcy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9FdmVudE5h
bWVzLmgKQEAgLTEzNyw2ICsxMzcsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgbWFjcm8o
Zm9ybWRhdGEpIFwKICAgICBtYWNybyhnYW1lcGFkY29ubmVjdGVkKSBcCiAgICAgbWFjcm8oZ2Ft
ZXBhZGRpc2Nvbm5lY3RlZCkgXAorICAgIG1hY3JvKGdhdGhlcmluZ3N0YXRlY2hhbmdlKSBcCiAg
ICAgbWFjcm8oZ2VzdHVyZWNoYW5nZSkgXAogICAgIG1hY3JvKGdlc3R1cmVlbmQpIFwKICAgICBt
YWNybyhnZXN0dXJlc2Nyb2xsZW5kKSBcCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20v
RXZlbnRUYXJnZXRGYWN0b3J5LmluIGIvU291cmNlL1dlYkNvcmUvZG9tL0V2ZW50VGFyZ2V0RmFj
dG9yeS5pbgppbmRleCA1ZTU4ZjExMTY2N2VmNjIxMGQ1MzExMGQ3YjU0YTgwMmM4NDM5NWQ4Li4z
ZDgwM2FkNTU5YzE1ZmEwY2NkMGQwMmNhODgyNjVkODVjZWI2YWFmIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9kb20vRXZlbnRUYXJnZXRGYWN0b3J5LmluCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L2RvbS9FdmVudFRhcmdldEZhY3RvcnkuaW4KQEAgLTQwLDYgKzQwLDcgQEAgUmVtb3RlUGxheWJh
Y2sgY29uZGl0aW9uYWw9V0lSRUxFU1NfUExBWUJBQ0tfVEFSR0VUCiBSVENEYXRhQ2hhbm5lbCBj
b25kaXRpb25hbD1XRUJfUlRDCiBSVENEdGxzVHJhbnNwb3J0IGNvbmRpdGlvbmFsPVdFQl9SVEMK
IFJUQ0RUTUZTZW5kZXIgY29uZGl0aW9uYWw9V0VCX1JUQworUlRDSWNlVHJhbnNwb3J0IGNvbmRp
dGlvbmFsPVdFQl9SVEMKIFJUQ1BlZXJDb25uZWN0aW9uIGNvbmRpdGlvbmFsPVdFQl9SVEMKIFJU
Q1J0cFNGcmFtZVRyYW5zZm9ybSBjb25kaXRpb25hbD1XRUJfUlRDCiBSVENSdHBTY3JpcHRUcmFu
c2Zvcm0gY29uZGl0aW9uYWw9V0VCX1JUQwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cKaW5k
ZXggODFjMzhmZjczNjc0NGM2NDE2NmVkYzc5ZWFiMDAxZDk1MjAxZmE3OC4uNDQ2NDcyNDgwMGFm
NmY5MjJlN2U5YzZmOGVkZTM5MWJhNWI3YWVjMyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdl
TG9nCkBAIC0xLDMgKzEsMTMgQEAKKzIwMjEtMDgtMjYgIFlvdWVubiBGYWJsZXQgIDx5b3Vlbm5A
YXBwbGUuY29tPgorCisgICAgICAgIEFkZCBzdXBwb3J0IGZvciBSVENJY2VUcmFuc3BvcnQKKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIyOTI4NQorCisg
ICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogd2ViLXBsYXRm
b3JtLXRlc3RzL3dlYnJ0Yy9pZGxoYXJuZXNzLmh0dHBzLndpbmRvdy1leHBlY3RlZC50eHQ6Cisg
ICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3dlYnJ0Yy9wcm90b2NvbC9idW5kbGUuaHR0cHMt
ZXhwZWN0ZWQudHh0OgorCiAyMDIxLTA4LTI2ICBZb3Vlbm4gRmFibGV0ICA8eW91ZW5uQGFwcGxl
LmNvbT4KIAogICAgICAgICBTaWduYWxpbmcgc3RhdGUgY2hlY2sgd2hlbiBhcHBseWluZyBhIGxv
Y2FsIG9yIHJlbW90ZSBkZXNjcmlwdGlvbiBpcyBubyBsb25nZXIgYWxpZ25lZCB3aXRoIHRoZSBX
ZWJSVEMgc3BlYwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy93ZWJydGMvaWRsaGFybmVzcy5odHRwcy53aW5kb3ctZXhwZWN0ZWQudHh0IGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93ZWJydGMvaWRsaGFy
bmVzcy5odHRwcy53aW5kb3ctZXhwZWN0ZWQudHh0CmluZGV4IDk5ODBmNGVhMTIzZjFhOGI3MGNi
NTk3ODFiOTIwMzliYzJiYWE1ZmMuLjAxNDYyZDA3YTZlYTcwYzU1NmQ0MGY3NzQyMzJmNzE4NTc5
YmY3MmEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvd2VicnRjL2lkbGhhcm5lc3MuaHR0cHMud2luZG93LWV4cGVjdGVkLnR4dAorKysgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dlYnJ0Yy9pZGxoYXJu
ZXNzLmh0dHBzLndpbmRvdy1leHBlY3RlZC50eHQKQEAgLTMwNyw3ICszMDcsNyBAQCBQQVNTIFJU
Q0R0bHNUcmFuc3BvcnQgaW50ZXJmYWNlIG9iamVjdCBuYW1lCiBQQVNTIFJUQ0R0bHNUcmFuc3Bv
cnQgaW50ZXJmYWNlOiBleGlzdGVuY2UgYW5kIHByb3BlcnRpZXMgb2YgaW50ZXJmYWNlIHByb3Rv
dHlwZSBvYmplY3QKIFBBU1MgUlRDRHRsc1RyYW5zcG9ydCBpbnRlcmZhY2U6IGV4aXN0ZW5jZSBh
bmQgcHJvcGVydGllcyBvZiBpbnRlcmZhY2UgcHJvdG90eXBlIG9iamVjdCdzICJjb25zdHJ1Y3Rv
ciIgcHJvcGVydHkKIFBBU1MgUlRDRHRsc1RyYW5zcG9ydCBpbnRlcmZhY2U6IGV4aXN0ZW5jZSBh
bmQgcHJvcGVydGllcyBvZiBpbnRlcmZhY2UgcHJvdG90eXBlIG9iamVjdCdzIEBAdW5zY29wYWJs
ZXMgcHJvcGVydHkKLUZBSUwgUlRDRHRsc1RyYW5zcG9ydCBpbnRlcmZhY2U6IGF0dHJpYnV0ZSBp
Y2VUcmFuc3BvcnQgYXNzZXJ0X3RydWU6IFRoZSBwcm90b3R5cGUgb2JqZWN0IG11c3QgaGF2ZSBh
IHByb3BlcnR5ICJpY2VUcmFuc3BvcnQiIGV4cGVjdGVkIHRydWUgZ290IGZhbHNlCitQQVNTIFJU
Q0R0bHNUcmFuc3BvcnQgaW50ZXJmYWNlOiBhdHRyaWJ1dGUgaWNlVHJhbnNwb3J0CiBQQVNTIFJU
Q0R0bHNUcmFuc3BvcnQgaW50ZXJmYWNlOiBhdHRyaWJ1dGUgc3RhdGUKIFBBU1MgUlRDRHRsc1Ry
YW5zcG9ydCBpbnRlcmZhY2U6IG9wZXJhdGlvbiBnZXRSZW1vdGVDZXJ0aWZpY2F0ZXMoKQogUEFT
UyBSVENEdGxzVHJhbnNwb3J0IGludGVyZmFjZTogYXR0cmlidXRlIG9uc3RhdGVjaGFuZ2UKQEAg
LTMxOSwxNCArMzE5LDEwIEBAIEZBSUwgUlRDRHRsc1RyYW5zcG9ydCBpbnRlcmZhY2U6IGlkbFRl
c3RPYmplY3RzLmR0bHNUcmFuc3BvcnQgbXVzdCBpbmhlcml0IHByb3BlCiBGQUlMIFJUQ0R0bHNU
cmFuc3BvcnQgaW50ZXJmYWNlOiBpZGxUZXN0T2JqZWN0cy5kdGxzVHJhbnNwb3J0IG11c3QgaW5o
ZXJpdCBwcm9wZXJ0eSAiZ2V0UmVtb3RlQ2VydGlmaWNhdGVzKCkiIHdpdGggdGhlIHByb3BlciB0
eXBlIGFzc2VydF9lcXVhbHM6IHdyb25nIHR5cGVvZiBvYmplY3QgZXhwZWN0ZWQgIm9iamVjdCIg
YnV0IGdvdCAidW5kZWZpbmVkIgogRkFJTCBSVENEdGxzVHJhbnNwb3J0IGludGVyZmFjZTogaWRs
VGVzdE9iamVjdHMuZHRsc1RyYW5zcG9ydCBtdXN0IGluaGVyaXQgcHJvcGVydHkgIm9uc3RhdGVj
aGFuZ2UiIHdpdGggdGhlIHByb3BlciB0eXBlIGFzc2VydF9lcXVhbHM6IHdyb25nIHR5cGVvZiBv
YmplY3QgZXhwZWN0ZWQgIm9iamVjdCIgYnV0IGdvdCAidW5kZWZpbmVkIgogRkFJTCBSVENEdGxz
VHJhbnNwb3J0IGludGVyZmFjZTogaWRsVGVzdE9iamVjdHMuZHRsc1RyYW5zcG9ydCBtdXN0IGlu
aGVyaXQgcHJvcGVydHkgIm9uZXJyb3IiIHdpdGggdGhlIHByb3BlciB0eXBlIGFzc2VydF9lcXVh
bHM6IHdyb25nIHR5cGVvZiBvYmplY3QgZXhwZWN0ZWQgIm9iamVjdCIgYnV0IGdvdCAidW5kZWZp
bmVkIgotRkFJTCBSVENJY2VUcmFuc3BvcnQgaW50ZXJmYWNlOiBleGlzdGVuY2UgYW5kIHByb3Bl
cnRpZXMgb2YgaW50ZXJmYWNlIG9iamVjdCBhc3NlcnRfZXF1YWxzOiBwcm90b3R5cGUgb2YgUlRD
SWNlVHJhbnNwb3J0IGlzIG5vdCBFdmVudFRhcmdldCBleHBlY3RlZCBmdW5jdGlvbiAiZnVuY3Rp
b24gRXZlbnRUYXJnZXQoKSB7Ci0gICAgW25hdGl2ZSBjb2RlXQotfSIgYnV0IGdvdCBmdW5jdGlv
biAiZnVuY3Rpb24gKCkgewotICAgIFtuYXRpdmUgY29kZV0KLX0iCitQQVNTIFJUQ0ljZVRyYW5z
cG9ydCBpbnRlcmZhY2U6IGV4aXN0ZW5jZSBhbmQgcHJvcGVydGllcyBvZiBpbnRlcmZhY2Ugb2Jq
ZWN0CiBQQVNTIFJUQ0ljZVRyYW5zcG9ydCBpbnRlcmZhY2Ugb2JqZWN0IGxlbmd0aAogUEFTUyBS
VENJY2VUcmFuc3BvcnQgaW50ZXJmYWNlIG9iamVjdCBuYW1lCi1GQUlMIFJUQ0ljZVRyYW5zcG9y
dCBpbnRlcmZhY2U6IGV4aXN0ZW5jZSBhbmQgcHJvcGVydGllcyBvZiBpbnRlcmZhY2UgcHJvdG90
eXBlIG9iamVjdCBhc3NlcnRfZXF1YWxzOiBwcm90b3R5cGUgb2YgUlRDSWNlVHJhbnNwb3J0LnBy
b3RvdHlwZSBpcyBub3QgRXZlbnRUYXJnZXQucHJvdG90eXBlIGV4cGVjdGVkIG9iamVjdCAiW29i
amVjdCBFdmVudFRhcmdldF0iIGJ1dCBnb3Qgb2JqZWN0ICJbb2JqZWN0IE9iamVjdF0iCitQQVNT
IFJUQ0ljZVRyYW5zcG9ydCBpbnRlcmZhY2U6IGV4aXN0ZW5jZSBhbmQgcHJvcGVydGllcyBvZiBp
bnRlcmZhY2UgcHJvdG90eXBlIG9iamVjdAogUEFTUyBSVENJY2VUcmFuc3BvcnQgaW50ZXJmYWNl
OiBleGlzdGVuY2UgYW5kIHByb3BlcnRpZXMgb2YgaW50ZXJmYWNlIHByb3RvdHlwZSBvYmplY3Qn
cyAiY29uc3RydWN0b3IiIHByb3BlcnR5CiBQQVNTIFJUQ0ljZVRyYW5zcG9ydCBpbnRlcmZhY2U6
IGV4aXN0ZW5jZSBhbmQgcHJvcGVydGllcyBvZiBpbnRlcmZhY2UgcHJvdG90eXBlIG9iamVjdCdz
IEBAdW5zY29wYWJsZXMgcHJvcGVydHkKIEZBSUwgUlRDSWNlVHJhbnNwb3J0IGludGVyZmFjZTog
YXR0cmlidXRlIHJvbGUgYXNzZXJ0X3RydWU6IFRoZSBwcm90b3R5cGUgb2JqZWN0IG11c3QgaGF2
ZSBhIHByb3BlcnR5ICJyb2xlIiBleHBlY3RlZCB0cnVlIGdvdCBmYWxzZQpAQCAtMzM4LDggKzMz
NCw4IEBAIEZBSUwgUlRDSWNlVHJhbnNwb3J0IGludGVyZmFjZTogb3BlcmF0aW9uIGdldFJlbW90
ZUNhbmRpZGF0ZXMoKSBhc3NlcnRfb3duX3Byb3BlCiBGQUlMIFJUQ0ljZVRyYW5zcG9ydCBpbnRl
cmZhY2U6IG9wZXJhdGlvbiBnZXRTZWxlY3RlZENhbmRpZGF0ZVBhaXIoKSBhc3NlcnRfb3duX3By
b3BlcnR5OiBpbnRlcmZhY2UgcHJvdG90eXBlIG9iamVjdCBtaXNzaW5nIG5vbi1zdGF0aWMgb3Bl
cmF0aW9uIGV4cGVjdGVkIHByb3BlcnR5ICJnZXRTZWxlY3RlZENhbmRpZGF0ZVBhaXIiIG1pc3Np
bmcKIEZBSUwgUlRDSWNlVHJhbnNwb3J0IGludGVyZmFjZTogb3BlcmF0aW9uIGdldExvY2FsUGFy
YW1ldGVycygpIGFzc2VydF9vd25fcHJvcGVydHk6IGludGVyZmFjZSBwcm90b3R5cGUgb2JqZWN0
IG1pc3Npbmcgbm9uLXN0YXRpYyBvcGVyYXRpb24gZXhwZWN0ZWQgcHJvcGVydHkgImdldExvY2Fs
UGFyYW1ldGVycyIgbWlzc2luZwogRkFJTCBSVENJY2VUcmFuc3BvcnQgaW50ZXJmYWNlOiBvcGVy
YXRpb24gZ2V0UmVtb3RlUGFyYW1ldGVycygpIGFzc2VydF9vd25fcHJvcGVydHk6IGludGVyZmFj
ZSBwcm90b3R5cGUgb2JqZWN0IG1pc3Npbmcgbm9uLXN0YXRpYyBvcGVyYXRpb24gZXhwZWN0ZWQg
cHJvcGVydHkgImdldFJlbW90ZVBhcmFtZXRlcnMiIG1pc3NpbmcKLUZBSUwgUlRDSWNlVHJhbnNw
b3J0IGludGVyZmFjZTogYXR0cmlidXRlIG9uc3RhdGVjaGFuZ2UgYXNzZXJ0X3RydWU6IFRoZSBw
cm90b3R5cGUgb2JqZWN0IG11c3QgaGF2ZSBhIHByb3BlcnR5ICJvbnN0YXRlY2hhbmdlIiBleHBl
Y3RlZCB0cnVlIGdvdCBmYWxzZQotRkFJTCBSVENJY2VUcmFuc3BvcnQgaW50ZXJmYWNlOiBhdHRy
aWJ1dGUgb25nYXRoZXJpbmdzdGF0ZWNoYW5nZSBhc3NlcnRfdHJ1ZTogVGhlIHByb3RvdHlwZSBv
YmplY3QgbXVzdCBoYXZlIGEgcHJvcGVydHkgIm9uZ2F0aGVyaW5nc3RhdGVjaGFuZ2UiIGV4cGVj
dGVkIHRydWUgZ290IGZhbHNlCitQQVNTIFJUQ0ljZVRyYW5zcG9ydCBpbnRlcmZhY2U6IGF0dHJp
YnV0ZSBvbnN0YXRlY2hhbmdlCitQQVNTIFJUQ0ljZVRyYW5zcG9ydCBpbnRlcmZhY2U6IGF0dHJp
YnV0ZSBvbmdhdGhlcmluZ3N0YXRlY2hhbmdlCiBGQUlMIFJUQ0ljZVRyYW5zcG9ydCBpbnRlcmZh
Y2U6IGF0dHJpYnV0ZSBvbnNlbGVjdGVkY2FuZGlkYXRlcGFpcmNoYW5nZSBhc3NlcnRfdHJ1ZTog
VGhlIHByb3RvdHlwZSBvYmplY3QgbXVzdCBoYXZlIGEgcHJvcGVydHkgIm9uc2VsZWN0ZWRjYW5k
aWRhdGVwYWlyY2hhbmdlIiBleHBlY3RlZCB0cnVlIGdvdCBmYWxzZQogRkFJTCBSVENJY2VUcmFu
c3BvcnQgbXVzdCBiZSBwcmltYXJ5IGludGVyZmFjZSBvZiBpZGxUZXN0T2JqZWN0cy5pY2VUcmFu
c3BvcnQgYXNzZXJ0X2VxdWFsczogd3JvbmcgdHlwZW9mIG9iamVjdCBleHBlY3RlZCAib2JqZWN0
IiBidXQgZ290ICJ1bmRlZmluZWQiCiBGQUlMIFN0cmluZ2lmaWNhdGlvbiBvZiBpZGxUZXN0T2Jq
ZWN0cy5pY2VUcmFuc3BvcnQgYXNzZXJ0X2VxdWFsczogd3JvbmcgdHlwZW9mIG9iamVjdCBleHBl
Y3RlZCAib2JqZWN0IiBidXQgZ290ICJ1bmRlZmluZWQiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dlYnJ0Yy9wcm90b2NvbC9idW5kbGUu
aHR0cHMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy93ZWJydGMvcHJvdG9jb2wvYnVuZGxlLmh0dHBzLWV4cGVjdGVkLnR4dAppbmRleCAz
NmU2MzgxYjE0ZDdiNDlkMzUyNmViMzZlZDYzMGU3NmNjMTc3NGYzLi44M2VmNTZhMGQ4YjgzMjU3
Mjc4MzkyNzZlZmRiZTNmNzJjODQyNzIxIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dlYnJ0Yy9wcm90b2NvbC9idW5kbGUuaHR0cHMtZXhw
ZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvd2VicnRjL3Byb3RvY29sL2J1bmRsZS5odHRwcy1leHBlY3RlZC50eHQKQEAgLTEsNCArMSw0
IEBACiAKLUZBSUwgbm90IG5lZ290aWF0aW5nIEJVTkRMRSBjcmVhdGVzIHR3byBzZXBhcmF0ZSBp
Y2UgYW5kIGR0bHMgdHJhbnNwb3J0cyBhc3NlcnRfbm90X2VxdWFsczogZ290IGRpc2FsbG93ZWQg
dmFsdWUgdW5kZWZpbmVkCitQQVNTIG5vdCBuZWdvdGlhdGluZyBCVU5ETEUgY3JlYXRlcyB0d28g
c2VwYXJhdGUgaWNlIGFuZCBkdGxzIHRyYW5zcG9ydHMKIFBBU1MgYnVuZGxlcyBvbiB0aGUgZmly
c3QgdHJhbnNwb3J0IGFuZCBjbG9zZXMgdGhlIHNlY29uZAogCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>436493</attachid>
            <date>2021-08-26 04:06:19 -0700</date>
            <delta_ts>2021-08-31 04:52:35 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-229285-20210826130617.patch</filename>
            <type>text/plain</type>
            <size>51869</size>
            <attacher name="youenn fablet">youennf</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjgxNTc2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOGM3ZTM1YTMyMzg1NTYy
MzgyZTNmNjk0OTQzNDI5ZWZmN2Q3ODA3OS4uYzM4OTcxZWIwY2M3NDQ0ZGRkOGM0MDgxOTQ2MDE5
NDFkYTZkMTQ5OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDY2IEBACisyMDIxLTA4LTI2ICBZb3Vl
bm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KKworICAgICAgICBBZGQgc3VwcG9ydCBmb3Ig
UlRDSWNlVHJhbnNwb3J0CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD0yMjkyODUKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKwor
ICAgICAgICBJbnRyb2R1Y2UgUlRDSWNlVHJhbnNwb3J0IGFzIHBlciBzcGVjLgorICAgICAgICBS
ZXVzZSB0aGUgc2FtZSBtb2RlbCBhcyBSVENEdGxzVHJhbnNwb3J0IHdpdGggYSBiYWNrZW5kIGFu
ZCBSVENQZWVyQ29ubmVjdGlvbiBiZSByZXNwb25zaWJsZSB0byByZXVzZSBvciBjcmVhdGUgdHJh
bnNwb3J0cyBhcyBuZWVkZWQuCisKKyAgICAgICAgQ292ZXJlZCBieSB1cGRhdGVkIHRlc3RzLgor
CisgICAgICAgICogTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENEdGxzVHJhbnNwb3J0LmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OlJUQ0R0bHNUcmFuc3BvcnQ6OlJUQ0R0bHNUcmFuc3BvcnQpOgorICAg
ICAgICAqIE1vZHVsZXMvbWVkaWFzdHJlYW0vUlRDRHRsc1RyYW5zcG9ydC5oOgorICAgICAgICAq
IE1vZHVsZXMvbWVkaWFzdHJlYW0vUlRDRHRsc1RyYW5zcG9ydC5pZGw6CisgICAgICAgICogTW9k
dWxlcy9tZWRpYXN0cmVhbS9SVENEdGxzVHJhbnNwb3J0QmFja2VuZC5oOgorICAgICAgICAqIE1v
ZHVsZXMvbWVkaWFzdHJlYW0vUlRDSWNlVHJhbnNwb3J0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OlJUQ0ljZVRyYW5zcG9ydDo6UlRDSWNlVHJhbnNwb3J0KToKKyAgICAgICAgKFdlYkNvcmU6OlJU
Q0ljZVRyYW5zcG9ydDo6flJUQ0ljZVRyYW5zcG9ydCk6CisgICAgICAgIChXZWJDb3JlOjpSVENJ
Y2VUcmFuc3BvcnQ6OnN0b3ApOgorICAgICAgICAoV2ViQ29yZTo6UlRDSWNlVHJhbnNwb3J0Ojp2
aXJ0dWFsSGFzUGVuZGluZ0FjdGl2aXR5IGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OlJUQ0lj
ZVRyYW5zcG9ydDo6b25TdGF0ZUNoYW5nZWQpOgorICAgICAgICAoV2ViQ29yZTo6UlRDSWNlVHJh
bnNwb3J0OjpvbkdhdGhlcmluZ1N0YXRlQ2hhbmdlZCk6CisgICAgICAgICogTW9kdWxlcy9tZWRp
YXN0cmVhbS9SVENJY2VUcmFuc3BvcnQuaDoKKyAgICAgICAgKFdlYkNvcmU6OlJUQ0ljZVRyYW5z
cG9ydDo6Y3JlYXRlKToKKyAgICAgICAgKFdlYkNvcmU6OlJUQ0ljZVRyYW5zcG9ydDo6c3RhdGUg
Y29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6UlRDSWNlVHJhbnNwb3J0OjpiYWNrZW5kIGNvbnN0
KToKKyAgICAgICAgKiBNb2R1bGVzL21lZGlhc3RyZWFtL1JUQ0ljZVRyYW5zcG9ydC5pZGw6Cisg
ICAgICAgICogTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENJY2VUcmFuc3BvcnRCYWNrZW5kLmg6IEFk
ZGVkLgorICAgICAgICAoV2ViQ29yZTo6b3BlcmF0b3I9PSk6CisgICAgICAgICogTW9kdWxlcy9t
ZWRpYXN0cmVhbS9SVENQZWVyQ29ubmVjdGlvbi5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSVENQ
ZWVyQ29ubmVjdGlvbjo6Y29tcHV0ZUNvbm5lY3Rpb25TdGF0ZSk6CisgICAgICAgIChXZWJDb3Jl
OjpSVENQZWVyQ29ubmVjdGlvbjo6dXBkYXRlQ29ubmVjdGlvblN0YXRlKToKKyAgICAgICAgKFdl
YkNvcmU6OmlzSWNlVHJhbnNwb3J0VXNlZEJ5VHJhbnNjZWl2ZXIpOgorICAgICAgICAoV2ViQ29y
ZTo6UlRDUGVlckNvbm5lY3Rpb246OmNvbXB1dGVJY2VDb25uZWN0aW9uU3RhdGVGcm9tSWNlVHJh
bnNwb3J0cyk6CisgICAgICAgIChXZWJDb3JlOjpSVENQZWVyQ29ubmVjdGlvbjo6cHJvY2Vzc0lj
ZVRyYW5zcG9ydFN0YXRlQ2hhbmdlKToKKyAgICAgICAgKFdlYkNvcmU6OlJUQ1BlZXJDb25uZWN0
aW9uOjpnZXRPckNyZWF0ZUljZVRyYW5zcG9ydCk6CisgICAgICAgIChXZWJDb3JlOjpSVENQZWVy
Q29ubmVjdGlvbjo6Z2V0T3JDcmVhdGVEdGxzVHJhbnNwb3J0KToKKyAgICAgICAgKiBNb2R1bGVz
L21lZGlhc3RyZWFtL1JUQ1BlZXJDb25uZWN0aW9uLmg6CisgICAgICAgICogTW9kdWxlcy9tZWRp
YXN0cmVhbS9saWJ3ZWJydGMvTGliV2ViUlRDRHRsc1RyYW5zcG9ydEJhY2tlbmQuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6TGliV2ViUlRDRHRsc1RyYW5zcG9ydEJhY2tlbmQ6OmljZVRyYW5zcG9y
dEJhY2tlbmQpOgorICAgICAgICAqIE1vZHVsZXMvbWVkaWFzdHJlYW0vbGlid2VicnRjL0xpYldl
YlJUQ0R0bHNUcmFuc3BvcnRCYWNrZW5kLmg6CisgICAgICAgICogTW9kdWxlcy9tZWRpYXN0cmVh
bS9saWJ3ZWJydGMvTGliV2ViUlRDSWNlVHJhbnNwb3J0QmFja2VuZC5jcHA6IEFkZGVkLgorICAg
ICAgICAoV2ViQ29yZTo6dG9SVENJY2VUcmFuc3BvcnRTdGF0ZSk6CisgICAgICAgIChXZWJDb3Jl
Ojp0b1JUQ0ljZUdhdGhlcmluZ1N0YXRlKToKKyAgICAgICAgKFdlYkNvcmU6OkxpYldlYlJUQ0lj
ZVRyYW5zcG9ydEJhY2tlbmRPYnNlcnZlcjo6TGliV2ViUlRDSWNlVHJhbnNwb3J0QmFja2VuZE9i
c2VydmVyKToKKyAgICAgICAgKFdlYkNvcmU6OkxpYldlYlJUQ0ljZVRyYW5zcG9ydEJhY2tlbmRP
YnNlcnZlcjo6c3RhcnQpOgorICAgICAgICAoV2ViQ29yZTo6TGliV2ViUlRDSWNlVHJhbnNwb3J0
QmFja2VuZE9ic2VydmVyOjpzdG9wKToKKyAgICAgICAgKFdlYkNvcmU6OkxpYldlYlJUQ0ljZVRy
YW5zcG9ydEJhY2tlbmRPYnNlcnZlcjo6b25JY2VUcmFuc3BvcnRTdGF0ZUNoYW5nZWQpOgorICAg
ICAgICAoV2ViQ29yZTo6TGliV2ViUlRDSWNlVHJhbnNwb3J0QmFja2VuZE9ic2VydmVyOjpvbkdh
dGhlcmluZ1N0YXRlQ2hhbmdlZCk6CisgICAgICAgIChXZWJDb3JlOjpMaWJXZWJSVENJY2VUcmFu
c3BvcnRCYWNrZW5kOjpMaWJXZWJSVENJY2VUcmFuc3BvcnRCYWNrZW5kKToKKyAgICAgICAgKFdl
YkNvcmU6OkxpYldlYlJUQ0ljZVRyYW5zcG9ydEJhY2tlbmQ6On5MaWJXZWJSVENJY2VUcmFuc3Bv
cnRCYWNrZW5kKToKKyAgICAgICAgKFdlYkNvcmU6OkxpYldlYlJUQ0ljZVRyYW5zcG9ydEJhY2tl
bmQ6OnJlZ2lzdGVyQ2xpZW50KToKKyAgICAgICAgKFdlYkNvcmU6OkxpYldlYlJUQ0ljZVRyYW5z
cG9ydEJhY2tlbmQ6OnVucmVnaXN0ZXJDbGllbnQpOgorICAgICAgICAqIE1vZHVsZXMvbWVkaWFz
dHJlYW0vbGlid2VicnRjL0xpYldlYlJUQ0ljZVRyYW5zcG9ydEJhY2tlbmQuaDogQWRkZWQuCisg
ICAgICAgICogTW9kdWxlcy9tZWRpYXN0cmVhbS9saWJ3ZWJydGMvTGliV2ViUlRDTWVkaWFFbmRw
b2ludC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpMaWJXZWJSVENNZWRpYUVuZHBvaW50OjpPbklj
ZUNvbm5lY3Rpb25DaGFuZ2UpOgorICAgICAgICAqIFNvdXJjZXMudHh0OgorICAgICAgICAqIFdl
YkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajoKKyAgICAgICAgKiBkb20vRXZlbnROYW1l
cy5oOgorICAgICAgICAqIGRvbS9FdmVudFRhcmdldEZhY3RvcnkuaW46CisKIDIwMjEtMDgtMjYg
IFlvdWVubiBGYWJsZXQgIDx5b3Vlbm5AYXBwbGUuY29tPgogCiAgICAgICAgIFNpZ25hbGluZyBz
dGF0ZSBjaGVjayB3aGVuIGFwcGx5aW5nIGEgbG9jYWwgb3IgcmVtb3RlIGRlc2NyaXB0aW9uIGlz
IG5vIGxvbmdlciBhbGlnbmVkIHdpdGggdGhlIFdlYlJUQyBzcGVjCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1JUQ0R0bHNUcmFuc3BvcnQuY3BwIGIvU291
cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENEdGxzVHJhbnNwb3J0LmNwcAppbmRl
eCAzYTRiNWVmNjBiMWY0NDk4NDM3YmRhMDIyZTAxZjNiOTgwMGJlMmJlLi4xNThlNWY2OGU5ZThm
MDI1YWVmMDUwZjNiZTRiZDk1ODBhYzg4YzY3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL21lZGlhc3RyZWFtL1JUQ0R0bHNUcmFuc3BvcnQuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vUlRDRHRsc1RyYW5zcG9ydC5jcHAKQEAgLTMzLDYgKzMz
LDcgQEAKICNpbmNsdWRlICJMb2dnaW5nLmgiCiAjaW5jbHVkZSAiTm90SW1wbGVtZW50ZWQuaCIK
ICNpbmNsdWRlICJSVENEdGxzVHJhbnNwb3J0QmFja2VuZC5oIgorI2luY2x1ZGUgIlJUQ0ljZVRy
YW5zcG9ydC5oIgogI2luY2x1ZGUgIlNjcmlwdEV4ZWN1dGlvbkNvbnRleHQuaCIKICNpbmNsdWRl
IDx3dGYvSXNvTWFsbG9jSW5saW5lcy5oPgogCkBAIC00MCw5ICs0MSwxMCBAQCBuYW1lc3BhY2Ug
V2ViQ29yZSB7CiAKIFdURl9NQUtFX0lTT19BTExPQ0FURURfSU1QTChSVENEdGxzVHJhbnNwb3J0
KTsKIAotUlRDRHRsc1RyYW5zcG9ydDo6UlRDRHRsc1RyYW5zcG9ydChTY3JpcHRFeGVjdXRpb25D
b250ZXh0JiBjb250ZXh0LCBVbmlxdWVSZWY8UlRDRHRsc1RyYW5zcG9ydEJhY2tlbmQ+JiYgYmFj
a2VuZCkKK1JUQ0R0bHNUcmFuc3BvcnQ6OlJUQ0R0bHNUcmFuc3BvcnQoU2NyaXB0RXhlY3V0aW9u
Q29udGV4dCYgY29udGV4dCwgVW5pcXVlUmVmPFJUQ0R0bHNUcmFuc3BvcnRCYWNrZW5kPiYmIGJh
Y2tlbmQsIFJlZjxSVENJY2VUcmFuc3BvcnQ+JiYgaWNlVHJhbnNwb3J0KQogICAgIDogQWN0aXZl
RE9NT2JqZWN0KCZjb250ZXh0KQogICAgICwgbV9iYWNrZW5kKFdURk1vdmUoYmFja2VuZCkpCisg
ICAgLCBtX2ljZVRyYW5zcG9ydChXVEZNb3ZlKGljZVRyYW5zcG9ydCkpCiB7CiAgICAgc3VzcGVu
ZElmTmVlZGVkKCk7CiAgICAgbV9iYWNrZW5kLT5yZWdpc3RlckNsaWVudCgqdGhpcyk7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1JUQ0R0bHNUcmFuc3Bv
cnQuaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vUlRDRHRsc1RyYW5zcG9y
dC5oCmluZGV4IDlhNDljYzAyNWRkMDllMWI2ZDczN2Q0YjFlZjIyYTgwN2RjZjZjNjguLmU4NzA3
ZjBiZTliZmQ2ZTFjYjhiZDUyZWFmM2I1OWEzODgzY2UxMGUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vUlRDRHRsc1RyYW5zcG9ydC5oCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vUlRDRHRsc1RyYW5zcG9ydC5oCkBAIC0zNSwy
NSArMzUsMjcgQEAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogY2xhc3MgUGVlckNvbm5lY3Rpb25C
YWNrZW5kOworY2xhc3MgUlRDSWNlVHJhbnNwb3J0OwogY2xhc3MgUlRDUGVlckNvbm5lY3Rpb247
CiBjbGFzcyBTY3JpcHRFeGVjdXRpb25Db250ZXh0OwogCiBjbGFzcyBSVENEdGxzVHJhbnNwb3J0
IGZpbmFsIDogcHVibGljIFJlZkNvdW50ZWQ8UlRDRHRsc1RyYW5zcG9ydD4sIHB1YmxpYyBBY3Rp
dmVET01PYmplY3QsIHB1YmxpYyBFdmVudFRhcmdldFdpdGhJbmxpbmVEYXRhLCBwdWJsaWMgUlRD
RHRsc1RyYW5zcG9ydEJhY2tlbmQ6OkNsaWVudCB7CiAgICAgV1RGX01BS0VfSVNPX0FMTE9DQVRF
RChSVENEdGxzVHJhbnNwb3J0KTsKIHB1YmxpYzoKLSAgICBzdGF0aWMgUmVmPFJUQ0R0bHNUcmFu
c3BvcnQ+IGNyZWF0ZShTY3JpcHRFeGVjdXRpb25Db250ZXh0JiBjb250ZXh0LCBVbmlxdWVSZWY8
UlRDRHRsc1RyYW5zcG9ydEJhY2tlbmQ+JiYgYmFja2VuZCkgeyByZXR1cm4gYWRvcHRSZWYoKm5l
dyBSVENEdGxzVHJhbnNwb3J0KGNvbnRleHQsIFdURk1vdmUoYmFja2VuZCkpKTsgfQorICAgIHN0
YXRpYyBSZWY8UlRDRHRsc1RyYW5zcG9ydD4gY3JlYXRlKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQm
IGNvbnRleHQsIFVuaXF1ZVJlZjxSVENEdGxzVHJhbnNwb3J0QmFja2VuZD4mJiBiYWNrZW5kLCBS
ZWY8UlRDSWNlVHJhbnNwb3J0PiYmIGljZVRyYW5zcG9ydCkgeyByZXR1cm4gYWRvcHRSZWYoKm5l
dyBSVENEdGxzVHJhbnNwb3J0KGNvbnRleHQsIFdURk1vdmUoYmFja2VuZCksIFdURk1vdmUoaWNl
VHJhbnNwb3J0KSkpOyB9CiAgICAgflJUQ0R0bHNUcmFuc3BvcnQoKTsKIAogICAgIHVzaW5nIFJl
ZkNvdW50ZWQ8UlRDRHRsc1RyYW5zcG9ydD46OnJlZjsKICAgICB1c2luZyBSZWZDb3VudGVkPFJU
Q0R0bHNUcmFuc3BvcnQ+OjpkZXJlZjsKIAorICAgIFJUQ0ljZVRyYW5zcG9ydCYgaWNlVHJhbnNw
b3J0KCkgeyByZXR1cm4gbV9pY2VUcmFuc3BvcnQuZ2V0KCk7IH0KICAgICBSVENEdGxzVHJhbnNw
b3J0U3RhdGUgc3RhdGUoKSB7IHJldHVybiBtX3N0YXRlOyB9CiAgICAgVmVjdG9yPFJlZjxKU0M6
OkFycmF5QnVmZmVyPj4gZ2V0UmVtb3RlQ2VydGlmaWNhdGVzKCk7CiAKICAgICBjb25zdCBSVENE
dGxzVHJhbnNwb3J0QmFja2VuZCYgYmFja2VuZCgpIGNvbnN0IHsgcmV0dXJuIG1fYmFja2VuZC5n
ZXQoKTsgfQogCiBwcml2YXRlOgotICAgIFJUQ0R0bHNUcmFuc3BvcnQoU2NyaXB0RXhlY3V0aW9u
Q29udGV4dCYsIFVuaXF1ZVJlZjxSVENEdGxzVHJhbnNwb3J0QmFja2VuZD4mJik7CisgICAgUlRD
RHRsc1RyYW5zcG9ydChTY3JpcHRFeGVjdXRpb25Db250ZXh0JiwgVW5pcXVlUmVmPFJUQ0R0bHNU
cmFuc3BvcnRCYWNrZW5kPiYmLCBSZWY8UlRDSWNlVHJhbnNwb3J0PiYmKTsKIAogICAgIC8vIEV2
ZW50VGFyZ2V0V2l0aElubGluZURhdGEKICAgICBFdmVudFRhcmdldEludGVyZmFjZSBldmVudFRh
cmdldEludGVyZmFjZSgpIGNvbnN0IGZpbmFsIHsgcmV0dXJuIFJUQ0R0bHNUcmFuc3BvcnRFdmVu
dFRhcmdldEludGVyZmFjZVR5cGU7IH0KQEAgLTcxLDYgKzczLDcgQEAgcHJpdmF0ZToKICAgICB2
b2lkIG9uRXJyb3IoKSBmaW5hbDsKIAogICAgIFVuaXF1ZVJlZjxSVENEdGxzVHJhbnNwb3J0QmFj
a2VuZD4gbV9iYWNrZW5kOworICAgIFJlZjxSVENJY2VUcmFuc3BvcnQ+IG1faWNlVHJhbnNwb3J0
OwogICAgIFJUQ0R0bHNUcmFuc3BvcnRTdGF0ZSBtX3N0YXRlIHsgUlRDRHRsc1RyYW5zcG9ydFN0
YXRlOjpOZXcgfTsKICAgICBWZWN0b3I8UmVmPEpTQzo6QXJyYXlCdWZmZXI+PiBtX3JlbW90ZUNl
cnRpZmljYXRlczsKIH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlh
c3RyZWFtL1JUQ0R0bHNUcmFuc3BvcnQuaWRsIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRp
YXN0cmVhbS9SVENEdGxzVHJhbnNwb3J0LmlkbAppbmRleCBjN2U1YzIzY2VlNTExZGE1YmY4Nzk0
MzdiODkyNmU0NjU4YWJmOWJjLi45NmYyNzE5YWI1YjY3MTQ0YjZkYTQwNTZhNGYxYjY3NGYxNzdk
OGExIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1JUQ0R0
bHNUcmFuc3BvcnQuaWRsCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0v
UlRDRHRsc1RyYW5zcG9ydC5pZGwKQEAgLTI4LDcgKzI4LDcgQEAKICAgICBFbmFibGVkQnlTZXR0
aW5nPVBlZXJDb25uZWN0aW9uLAogICAgIEV4cG9zZWQ9KFdpbmRvdyksCiBdIGludGVyZmFjZSBS
VENEdGxzVHJhbnNwb3J0IDogRXZlbnRUYXJnZXQgewotICAvLyBbU2FtZU9iamVjdF0gcmVhZG9u
bHkgYXR0cmlidXRlIFJUQ0ljZVRyYW5zcG9ydCBpY2VUcmFuc3BvcnQ7CisgIFtTYW1lT2JqZWN0
XSByZWFkb25seSBhdHRyaWJ1dGUgUlRDSWNlVHJhbnNwb3J0IGljZVRyYW5zcG9ydDsKICAgcmVh
ZG9ubHkgYXR0cmlidXRlIFJUQ0R0bHNUcmFuc3BvcnRTdGF0ZSBzdGF0ZTsKICAgc2VxdWVuY2U8
QXJyYXlCdWZmZXI+IGdldFJlbW90ZUNlcnRpZmljYXRlcygpOwogICBhdHRyaWJ1dGUgRXZlbnRI
YW5kbGVyIG9uc3RhdGVjaGFuZ2U7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L21lZGlhc3RyZWFtL1JUQ0R0bHNUcmFuc3BvcnRCYWNrZW5kLmggYi9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL21lZGlhc3RyZWFtL1JUQ0R0bHNUcmFuc3BvcnRCYWNrZW5kLmgKaW5kZXggNDYxZWVl
N2ZjOTcxYTMzOGU0MTE1MmVhZjhjYzBmOWJlMzQzMjhiMC4uNjYyNDA3ZDVhN2JlMjc5NjUzZGNj
ZmMzMTM1ZWFmMmNmZDc4YTBlYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9t
ZWRpYXN0cmVhbS9SVENEdGxzVHJhbnNwb3J0QmFja2VuZC5oCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvbWVkaWFzdHJlYW0vUlRDRHRsc1RyYW5zcG9ydEJhY2tlbmQuaApAQCAtMzUsMTIg
KzM1LDE1IEBAIGNsYXNzIEFycmF5QnVmZmVyOwogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKK2Ns
YXNzIFJUQ0ljZVRyYW5zcG9ydEJhY2tlbmQ7CisKIGNsYXNzIFJUQ0R0bHNUcmFuc3BvcnRCYWNr
ZW5kIHsKIHB1YmxpYzoKICAgICB2aXJ0dWFsIH5SVENEdGxzVHJhbnNwb3J0QmFja2VuZCgpID0g
ZGVmYXVsdDsKIAogICAgIHZpcnR1YWwgY29uc3Qgdm9pZCogYmFja2VuZCgpIGNvbnN0ID0gMDsK
LSAgICAKKyAgICB2aXJ0dWFsIFVuaXF1ZVJlZjxSVENJY2VUcmFuc3BvcnRCYWNrZW5kPiBpY2VU
cmFuc3BvcnRCYWNrZW5kKCkgPSAwOworCiAgICAgY2xhc3MgQ2xpZW50IDogcHVibGljIENhbk1h
a2VXZWFrUHRyPENsaWVudD4gewogICAgIHB1YmxpYzoKICAgICAgICAgdmlydHVhbCB+Q2xpZW50
KCkgPSBkZWZhdWx0OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0
cmVhbS9SVENJY2VUcmFuc3BvcnQuY3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0
cmVhbS9SVENJY2VUcmFuc3BvcnQuY3BwCmluZGV4IGM5MWZjN2E0MjNhMTM5ZTUyYTY5NTgyZDlj
NWFlYWQ5Njk0OGUzNGYuLmRmOGM0MWU4NTQxNGI5NDNiZmViMjc2M2IxODZlOTQ3M2UyOTE4ZWEg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vUlRDSWNlVHJh
bnNwb3J0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1JUQ0lj
ZVRyYW5zcG9ydC5jcHAKQEAgLTI4LDE0ICsyOCw2NyBAQAogCiAjaWYgRU5BQkxFKFdFQl9SVEMp
CiAKKyNpbmNsdWRlICJFdmVudC5oIgorI2luY2x1ZGUgIkV2ZW50TmFtZXMuaCIKKyNpbmNsdWRl
ICJSVENQZWVyQ29ubmVjdGlvbi5oIgogI2luY2x1ZGUgPHd0Zi9Jc29NYWxsb2NJbmxpbmVzLmg+
CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogV1RGX01BS0VfSVNPX0FMTE9DQVRFRF9JTVBMKFJU
Q0ljZVRyYW5zcG9ydCk7CiAKK1JUQ0ljZVRyYW5zcG9ydDo6UlRDSWNlVHJhbnNwb3J0KFNjcmlw
dEV4ZWN1dGlvbkNvbnRleHQmIGNvbnRleHQsIFVuaXF1ZVJlZjxSVENJY2VUcmFuc3BvcnRCYWNr
ZW5kPiYmIGJhY2tlbmQsIFJUQ1BlZXJDb25uZWN0aW9uJiBjb25uZWN0aW9uKQorICAgIDogQWN0
aXZlRE9NT2JqZWN0KCZjb250ZXh0KQorICAgICwgbV9iYWNrZW5kKFdURk1vdmUoYmFja2VuZCkp
CisgICAgLCBtX2Nvbm5lY3Rpb24obWFrZVdlYWtQdHIoY29ubmVjdGlvbikpCit7CisgICAgc3Vz
cGVuZElmTmVlZGVkKCk7CisgICAgbV9iYWNrZW5kLT5yZWdpc3RlckNsaWVudCgqdGhpcyk7Cit9
CisKIFJUQ0ljZVRyYW5zcG9ydDo6flJUQ0ljZVRyYW5zcG9ydCgpCiB7CisgICAgbV9iYWNrZW5k
LT51bnJlZ2lzdGVyQ2xpZW50KCk7Cit9CisKK3ZvaWQgUlRDSWNlVHJhbnNwb3J0OjpzdG9wKCkK
K3sKKyAgICBtX2lzU3RvcHBlZCA9IHRydWU7CisgICAgbV90cmFuc3BvcnRTdGF0ZSA9IFJUQ0lj
ZVRyYW5zcG9ydFN0YXRlOjpDbG9zZWQ7Cit9CisKK2Jvb2wgUlRDSWNlVHJhbnNwb3J0Ojp2aXJ0
dWFsSGFzUGVuZGluZ0FjdGl2aXR5KCkgY29uc3QKK3sKKyAgICByZXR1cm4gbV90cmFuc3BvcnRT
dGF0ZSAhPSBSVENJY2VUcmFuc3BvcnRTdGF0ZTo6Q2xvc2VkICYmIGhhc0V2ZW50TGlzdGVuZXJz
KCk7Cit9CisKK3ZvaWQgUlRDSWNlVHJhbnNwb3J0OjpvblN0YXRlQ2hhbmdlZChSVENJY2VUcmFu
c3BvcnRTdGF0ZSBzdGF0ZSkKK3sKKyAgICBxdWV1ZVRhc2tLZWVwaW5nT2JqZWN0QWxpdmUoKnRo
aXMsIFRhc2tTb3VyY2U6Ok5ldHdvcmtpbmcsIFt0aGlzLCBzdGF0ZV0oKSBtdXRhYmxlIHsKKyAg
ICAgICAgaWYgKG1faXNTdG9wcGVkKQorICAgICAgICAgICAgcmV0dXJuOworCisgICAgICAgIGlm
IChtX3RyYW5zcG9ydFN0YXRlID09IHN0YXRlKQorICAgICAgICAgICAgcmV0dXJuOworCisgICAg
ICAgIG1fdHJhbnNwb3J0U3RhdGUgPSBzdGF0ZTsKKyAgICAgICAgaWYgKG1fY29ubmVjdGlvbikK
KyAgICAgICAgICAgIG1fY29ubmVjdGlvbi0+cHJvY2Vzc0ljZVRyYW5zcG9ydFN0YXRlQ2hhbmdl
KCp0aGlzKTsKKyAgICB9KTsKK30KKwordm9pZCBSVENJY2VUcmFuc3BvcnQ6Om9uR2F0aGVyaW5n
U3RhdGVDaGFuZ2VkKFJUQ0ljZUdhdGhlcmluZ1N0YXRlIHN0YXRlKQoreworICAgIHF1ZXVlVGFz
a0tlZXBpbmdPYmplY3RBbGl2ZSgqdGhpcywgVGFza1NvdXJjZTo6TmV0d29ya2luZywgW3RoaXMs
IHN0YXRlXSgpIG11dGFibGUgeworICAgICAgICBpZiAobV9pc1N0b3BwZWQpCisgICAgICAgICAg
ICByZXR1cm47CisKKyAgICAgICAgaWYgKG1fZ2F0aGVyaW5nU3RhdGUgPT0gc3RhdGUpCisgICAg
ICAgICAgICByZXR1cm47CisKKyAgICAgICAgbV9nYXRoZXJpbmdTdGF0ZSA9IHN0YXRlOworICAg
ICAgICBkaXNwYXRjaEV2ZW50KEV2ZW50OjpjcmVhdGUoZXZlbnROYW1lcygpLmdhdGhlcmluZ3N0
YXRlY2hhbmdlRXZlbnQsIEV2ZW50OjpDYW5CdWJibGU6OlllcywgRXZlbnQ6OklzQ2FuY2VsYWJs
ZTo6Tm8pKTsKKyAgICB9KTsKIH0KIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENJY2VUcmFuc3BvcnQuaCBi
L1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vUlRDSWNlVHJhbnNwb3J0LmgKaW5k
ZXggNDNiZjM5N2RhMDA0ZTJmOWFlYWZmZTg0NTBhNjU1YTZlOGMwNDIwMC4uZWQzNTg2NmVjOWZk
N2NkMzM5MDNkMDlhYzM4NTBkOTlmNmJmOGQ0NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
TW9kdWxlcy9tZWRpYXN0cmVhbS9SVENJY2VUcmFuc3BvcnQuaAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1JUQ0ljZVRyYW5zcG9ydC5oCkBAIC0zMywzMiArMzMsNTYg
QEAKIAogI2lmIEVOQUJMRShXRUJfUlRDKQogCisjaW5jbHVkZSAiQWN0aXZlRE9NT2JqZWN0Lmgi
CisjaW5jbHVkZSAiRXZlbnRUYXJnZXQuaCIKICNpbmNsdWRlICJSVENJY2VHYXRoZXJpbmdTdGF0
ZS5oIgorI2luY2x1ZGUgIlJUQ0ljZVRyYW5zcG9ydEJhY2tlbmQuaCIKICNpbmNsdWRlICJSVENJ
Y2VUcmFuc3BvcnRTdGF0ZS5oIgotI2luY2x1ZGUgIlNjcmlwdFdyYXBwYWJsZS5oIgogI2luY2x1
ZGUgPHd0Zi9SZWZDb3VudGVkLmg+CiAjaW5jbHVkZSA8d3RmL1JlZlB0ci5oPgogCiBuYW1lc3Bh
Y2UgV2ViQ29yZSB7CiAKLWNsYXNzIFJUQ0ljZVRyYW5zcG9ydCA6IHB1YmxpYyBSZWZDb3VudGVk
PFJUQ0ljZVRyYW5zcG9ydD4sIHB1YmxpYyBTY3JpcHRXcmFwcGFibGUgeworY2xhc3MgUlRDUGVl
ckNvbm5lY3Rpb247CisKK2NsYXNzIFJUQ0ljZVRyYW5zcG9ydCA6IHB1YmxpYyBSZWZDb3VudGVk
PFJUQ0ljZVRyYW5zcG9ydD4sIHB1YmxpYyBBY3RpdmVET01PYmplY3QsIHB1YmxpYyBFdmVudFRh
cmdldFdpdGhJbmxpbmVEYXRhLCBwdWJsaWMgUlRDSWNlVHJhbnNwb3J0QmFja2VuZDo6Q2xpZW50
IHsKICAgICBXVEZfTUFLRV9JU09fQUxMT0NBVEVEKFJUQ0ljZVRyYW5zcG9ydCk7CiBwdWJsaWM6
Ci0gICAgc3RhdGljIFJlZjxSVENJY2VUcmFuc3BvcnQ+IGNyZWF0ZSgpCisgICAgc3RhdGljIFJl
ZjxSVENJY2VUcmFuc3BvcnQ+IGNyZWF0ZShTY3JpcHRFeGVjdXRpb25Db250ZXh0JiBjb250ZXh0
LCBVbmlxdWVSZWY8UlRDSWNlVHJhbnNwb3J0QmFja2VuZD4mJiBiYWNrZW5kLCBSVENQZWVyQ29u
bmVjdGlvbiYgY29ubmVjdGlvbikKICAgICB7Ci0gICAgICAgIHJldHVybiBhZG9wdFJlZigqbmV3
IFJUQ0ljZVRyYW5zcG9ydCgpKTsKKyAgICAgICAgcmV0dXJuIGFkb3B0UmVmKCpuZXcgUlRDSWNl
VHJhbnNwb3J0KGNvbnRleHQsIFdURk1vdmUoYmFja2VuZCksIGNvbm5lY3Rpb24pKTsKICAgICB9
CiAgICAgflJUQ0ljZVRyYW5zcG9ydCgpOwogCiAgICAgUlRDSWNlVHJhbnNwb3J0U3RhdGUgc3Rh
dGUoKSBjb25zdCB7IHJldHVybiBtX3RyYW5zcG9ydFN0YXRlOyB9Ci0gICAgdm9pZCBzZXRTdGF0
ZShSVENJY2VUcmFuc3BvcnRTdGF0ZSBzdGF0ZSkgeyBtX3RyYW5zcG9ydFN0YXRlID0gc3RhdGU7
IH0KLQogICAgIFJUQ0ljZUdhdGhlcmluZ1N0YXRlIGdhdGhlcmluZ1N0YXRlKCkgY29uc3QgeyBy
ZXR1cm4gbV9nYXRoZXJpbmdTdGF0ZTsgfQotICAgIHZvaWQgc2V0R2F0aGVyaW5nU3RhdGUoUlRD
SWNlR2F0aGVyaW5nU3RhdGUgc3RhdGUpIHsgbV9nYXRoZXJpbmdTdGF0ZSA9IHN0YXRlOyB9CisK
KyAgICBjb25zdCBSVENJY2VUcmFuc3BvcnRCYWNrZW5kJiBiYWNrZW5kKCkgY29uc3QgeyByZXR1
cm4gbV9iYWNrZW5kLmdldCgpOyB9CisKKyAgICB1c2luZyBSZWZDb3VudGVkPFJUQ0ljZVRyYW5z
cG9ydD46OnJlZjsKKyAgICB1c2luZyBSZWZDb3VudGVkPFJUQ0ljZVRyYW5zcG9ydD46OmRlcmVm
OwogCiBwcml2YXRlOgotICAgIFJUQ0ljZVRyYW5zcG9ydCgpIHsgfTsKKyAgICBSVENJY2VUcmFu
c3BvcnQoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYsIFVuaXF1ZVJlZjxSVENJY2VUcmFuc3BvcnRC
YWNrZW5kPiYmLCBSVENQZWVyQ29ubmVjdGlvbiYpOworCisgICAgLy8gRXZlbnRUYXJnZXRXaXRo
SW5saW5lRGF0YQorICAgIEV2ZW50VGFyZ2V0SW50ZXJmYWNlIGV2ZW50VGFyZ2V0SW50ZXJmYWNl
KCkgY29uc3QgZmluYWwgeyByZXR1cm4gUlRDSWNlVHJhbnNwb3J0RXZlbnRUYXJnZXRJbnRlcmZh
Y2VUeXBlOyB9CisgICAgU2NyaXB0RXhlY3V0aW9uQ29udGV4dCogc2NyaXB0RXhlY3V0aW9uQ29u
dGV4dCgpIGNvbnN0IGZpbmFsIHsgcmV0dXJuIG1fc2NyaXB0RXhlY3V0aW9uQ29udGV4dDsgfQor
ICAgIHZvaWQgcmVmRXZlbnRUYXJnZXQoKSBmaW5hbCB7IHJlZigpOyB9CisgICAgdm9pZCBkZXJl
ZkV2ZW50VGFyZ2V0KCkgZmluYWwgeyBkZXJlZigpOyB9CisKKyAgICAvLyBBY3RpdmVET01PYmpl
Y3QKKyAgICB2b2lkIHN0b3AoKSBmaW5hbDsKKyAgICBjb25zdCBjaGFyKiBhY3RpdmVET01PYmpl
Y3ROYW1lKCkgY29uc3QgZmluYWwgeyByZXR1cm4gIlJUQ0ljZVRyYW5zcG9ydCI7IH0KKyAgICBi
b29sIHZpcnR1YWxIYXNQZW5kaW5nQWN0aXZpdHkoKSBjb25zdCBmaW5hbDsKKworICAgIC8vIFJU
Q0ljZVRyYW5zcG9ydEJhY2tlbmQ6OkNsaWVudAorICAgIHZvaWQgb25TdGF0ZUNoYW5nZWQoUlRD
SWNlVHJhbnNwb3J0U3RhdGUpIGZpbmFsOworICAgIHZvaWQgb25HYXRoZXJpbmdTdGF0ZUNoYW5n
ZWQoUlRDSWNlR2F0aGVyaW5nU3RhdGUpIGZpbmFsOwogCisgICAgYm9vbCBtX2lzU3RvcHBlZCB7
IGZhbHNlIH07CisgICAgVW5pcXVlUmVmPFJUQ0ljZVRyYW5zcG9ydEJhY2tlbmQ+IG1fYmFja2Vu
ZDsKKyAgICBXZWFrUHRyPFJUQ1BlZXJDb25uZWN0aW9uPiBtX2Nvbm5lY3Rpb247CiAgICAgUlRD
SWNlVHJhbnNwb3J0U3RhdGUgbV90cmFuc3BvcnRTdGF0ZSB7IFJUQ0ljZVRyYW5zcG9ydFN0YXRl
OjpOZXcgfTsKICAgICBSVENJY2VHYXRoZXJpbmdTdGF0ZSBtX2dhdGhlcmluZ1N0YXRlIHsgUlRD
SWNlR2F0aGVyaW5nU3RhdGU6Ok5ldyB9OwogfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvbWVkaWFzdHJlYW0vUlRDSWNlVHJhbnNwb3J0LmlkbCBiL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvbWVkaWFzdHJlYW0vUlRDSWNlVHJhbnNwb3J0LmlkbAppbmRleCAwYTljMjZmYmUz
MzFlNjI3MDY3NzcwZTEyMWJjYTc5YjAxYWVjOGQ4Li4xMzVlOTNhNjU2ZjljOThiYmU4MDgwMzIx
N2RjODg5Zjg5NDAxZDM0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlh
c3RyZWFtL1JUQ0ljZVRyYW5zcG9ydC5pZGwKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9t
ZWRpYXN0cmVhbS9SVENJY2VUcmFuc3BvcnQuaWRsCkBAIC0yNywyMiArMjcsMjIgQEAgdHlwZWRl
ZiBSVENJY2VUcmFuc3BvcnRTdGF0ZSBJY2VUcmFuc3BvcnRTdGF0ZTsKIHR5cGVkZWYgUlRDSWNl
R2F0aGVyaW5nU3RhdGUgSWNlR2F0aGVyaW5nU3RhdGU7CiAKIFsKKyAgICBBY3RpdmVET01PYmpl
Y3QsCiAgICAgQ29uZGl0aW9uYWw9V0VCX1JUQywKICAgICBFbmFibGVkQnlTZXR0aW5nPVBlZXJD
b25uZWN0aW9uLAogICAgIEV4cG9zZWQ9V2luZG93LAogICAgIFNraXBWVGFibGVWYWxpZGF0aW9u
Ci1dIGludGVyZmFjZSBSVENJY2VUcmFuc3BvcnQgeworXSBpbnRlcmZhY2UgUlRDSWNlVHJhbnNw
b3J0IDogRXZlbnRUYXJnZXQgewogICAgIC8vIEZJWE1FIDE2OTY2MjogbWlzc2luZyByZWFkb25s
eSBhdHRyaWJ1dGUgUlRDSWNlUm9sZSByb2xlOwogICAgIC8vIEZJWE1FIDE2OTY2MjogbWlzc2lu
ZyByZWFkb25seSBhdHRyaWJ1dGUgUlRDSWNlQ29tcG9uZW50IGNvbXBvbmVudDsKICAgICByZWFk
b25seSBhdHRyaWJ1dGUgSWNlVHJhbnNwb3J0U3RhdGUgc3RhdGU7Ci0gICAgLy8gRklYTUUgMTY5
NjYyOiBJY2VHYXRoZXJlclN0YXRlIGluc3RlYWQgb2YgSWNlR2F0aGVyaW5nU3RhdGU/CiAgICAg
cmVhZG9ubHkgYXR0cmlidXRlIEljZUdhdGhlcmluZ1N0YXRlIGdhdGhlcmluZ1N0YXRlOwogICAg
IC8vIEZJWE1FIDE2OTY2MjogbWlzc2luZyBzZXF1ZW5jZTxSVENJY2VDYW5kaWRhdGU+IGdldExv
Y2FsQ2FuZGlkYXRlcygpOwogICAgIC8vIEZJWE1FIDE2OTY2MjogbWlzc2luZyBzZXF1ZW5jZTxS
VENJY2VDYW5kaWRhdGU+IGdldFJlbW90ZUNhbmRpZGF0ZXMoKTsKICAgICAvLyBGSVhNRSAxNjk2
NjI6IG1pc3NpbmcgUlRDSWNlQ2FuZGlkYXRlUGFpcj8gZ2V0U2VsZWN0ZWRDYW5kaWRhdGVQYWly
KCk7CiAgICAgLy8gRklYTUUgMTY5NjYyOiBtaXNzaW5nIFJUQ0ljZVBhcmFtZXRlcnM/IGdldExv
Y2FsUGFyYW1ldGVycygpOwogICAgIC8vIEZJWE1FIDE2OTY2MjogbWlzc2luZyBSVENJY2VQYXJh
bWV0ZXJzPyBnZXRSZW1vdGVQYXJhbWV0ZXJzKCk7Ci0gICAgLy8gRklYTUUgMTY5NjYyOiBtaXNz
aW5nIGF0dHJpYnV0ZSBFdmVudEhhbmRsZXIgb25zdGF0ZWNoYW5nZTsKLSAgICAvLyBGSVhNRSAx
Njk2NjI6IG1pc3NpbmcgYXR0cmlidXRlIEV2ZW50SGFuZGxlciBvbmdhdGhlcmluZ3N0YXRlY2hh
bmdlOworICAgIGF0dHJpYnV0ZSBFdmVudEhhbmRsZXIgb25zdGF0ZWNoYW5nZTsKKyAgICBhdHRy
aWJ1dGUgRXZlbnRIYW5kbGVyIG9uZ2F0aGVyaW5nc3RhdGVjaGFuZ2U7CiAgICAgLy8gRklYTUUg
MTY5NjYyOiBtaXNzaW5nIGF0dHJpYnV0ZSBFdmVudEhhbmRsZXIgb25zZWxlY3RlZGNhbmRpZGF0
ZXBhaXJjaGFuZ2U7CiB9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRp
YXN0cmVhbS9SVENJY2VUcmFuc3BvcnRCYWNrZW5kLmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L21lZGlhc3RyZWFtL1JUQ0ljZVRyYW5zcG9ydEJhY2tlbmQuaApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5iNjBhYTA2
MmZkMmViYjMxM2Y4YmU2ZjM1YjU4YmY5OTgwOTk1NDQxCi0tLSAvZGV2L251bGwKKysrIGIvU291
cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENJY2VUcmFuc3BvcnRCYWNrZW5kLmgK
QEAgLTAsMCArMSw1NiBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAyMSBBcHBsZSBJbmMuCisg
KgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywg
d2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQg
dGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiAgUmVkaXN0
cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQK
KyAqICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5n
IGRpc2NsYWltZXIuCisgKiAyLiAgUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3Qg
cmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgICBub3RpY2UsIHRoaXMgbGlzdCBv
ZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICAg
ZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRp
c3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElO
Qy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnIEFORCBBTlkKKyAqIEVYUFJFU1MgT1Ig
SU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElN
UExJRUQKKyAqIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBB
IFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUKKyAqIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxM
IEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWQorICogRElS
RUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFV
RU5USUFMIERBTUFHRVMKKyAqIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VS
RU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsKKyAqIExPU1MgT0YgVVNFLCBE
QVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VE
IEFORCBPTgorICogQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1Qs
IFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBP
VEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTCisgKiBT
T0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFH
RS4KKyAqLworCisjcHJhZ21hIG9uY2UKKworI2lmIEVOQUJMRShXRUJfUlRDKQorCisjaW5jbHVk
ZSAiUlRDSWNlR2F0aGVyaW5nU3RhdGUuaCIKKyNpbmNsdWRlICJSVENJY2VUcmFuc3BvcnRTdGF0
ZS5oIgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK2NsYXNzIFJUQ0ljZVRyYW5zcG9ydEJhY2tl
bmQgeworcHVibGljOgorICAgIHZpcnR1YWwgflJUQ0ljZVRyYW5zcG9ydEJhY2tlbmQoKSA9IGRl
ZmF1bHQ7CisgICAgdmlydHVhbCBjb25zdCB2b2lkKiBiYWNrZW5kKCkgY29uc3QgPSAwOworCisg
ICAgY2xhc3MgQ2xpZW50IDogcHVibGljIENhbk1ha2VXZWFrUHRyPENsaWVudD4geworICAgIHB1
YmxpYzoKKyAgICAgICAgdmlydHVhbCB+Q2xpZW50KCkgPSBkZWZhdWx0OworICAgICAgICB2aXJ0
dWFsIHZvaWQgb25TdGF0ZUNoYW5nZWQoUlRDSWNlVHJhbnNwb3J0U3RhdGUpID0gMDsKKyAgICAg
ICAgdmlydHVhbCB2b2lkIG9uR2F0aGVyaW5nU3RhdGVDaGFuZ2VkKFJUQ0ljZUdhdGhlcmluZ1N0
YXRlKSA9IDA7CisgICAgfTsKKyAgICB2aXJ0dWFsIHZvaWQgcmVnaXN0ZXJDbGllbnQoQ2xpZW50
JikgPSAwOworICAgIHZpcnR1YWwgdm9pZCB1bnJlZ2lzdGVyQ2xpZW50KCkgPSAwOworfTsKKwor
aW5saW5lIGJvb2wgb3BlcmF0b3I9PShjb25zdCBSVENJY2VUcmFuc3BvcnRCYWNrZW5kJiBhLCBj
b25zdCBSVENJY2VUcmFuc3BvcnRCYWNrZW5kJiBiKQoreworICAgIHJldHVybiBhLmJhY2tlbmQo
KSA9PSBiLmJhY2tlbmQoKTsKK30KKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQorCisjZW5kaWYg
Ly8gRU5BQkxFKFdFQl9SVEMpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21l
ZGlhc3RyZWFtL1JUQ1BlZXJDb25uZWN0aW9uLmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMv
bWVkaWFzdHJlYW0vUlRDUGVlckNvbm5lY3Rpb24uY3BwCmluZGV4IGE5ODc0ZjQxYzM2ZjdiODg1
OTgxNDYyMDMyMzVjYmE4MWNjMmJlYjUuLjczYWQ5NmZjMTY5NTk3OGY4NTQ4YzA0ZGYxODliZjYz
ODE1MTQ5OTYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0v
UlRDUGVlckNvbm5lY3Rpb24uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFz
dHJlYW0vUlRDUGVlckNvbm5lY3Rpb24uY3BwCkBAIC02NTQsMjQgKzY1NCwyNiBAQCB2b2lkIFJU
Q1BlZXJDb25uZWN0aW9uOjp1cGRhdGVJY2VDb25uZWN0aW9uU3RhdGUoUlRDSWNlQ29ubmVjdGlv
blN0YXRlIG5ld1N0YXRlKQogICAgIH0pOwogfQogCi12b2lkIFJUQ1BlZXJDb25uZWN0aW9uOjp1
cGRhdGVDb25uZWN0aW9uU3RhdGUoKQorUlRDUGVlckNvbm5lY3Rpb25TdGF0ZSBSVENQZWVyQ29u
bmVjdGlvbjo6Y29tcHV0ZUNvbm5lY3Rpb25TdGF0ZSgpCiB7Ci0gICAgUlRDUGVlckNvbm5lY3Rp
b25TdGF0ZSBzdGF0ZTsKLQogICAgIGlmIChtX2ljZUNvbm5lY3Rpb25TdGF0ZSA9PSBSVENJY2VD
b25uZWN0aW9uU3RhdGU6OkNsb3NlZCkKLSAgICAgICAgc3RhdGUgPSBSVENQZWVyQ29ubmVjdGlv
blN0YXRlOjpDbG9zZWQ7Ci0gICAgZWxzZSBpZiAobV9pY2VDb25uZWN0aW9uU3RhdGUgPT0gUlRD
SWNlQ29ubmVjdGlvblN0YXRlOjpEaXNjb25uZWN0ZWQpCi0gICAgICAgIHN0YXRlID0gUlRDUGVl
ckNvbm5lY3Rpb25TdGF0ZTo6RGlzY29ubmVjdGVkOwotICAgIGVsc2UgaWYgKG1faWNlQ29ubmVj
dGlvblN0YXRlID09IFJUQ0ljZUNvbm5lY3Rpb25TdGF0ZTo6RmFpbGVkKQotICAgICAgICBzdGF0
ZSA9IFJUQ1BlZXJDb25uZWN0aW9uU3RhdGU6OkZhaWxlZDsKLSAgICBlbHNlIGlmIChtX2ljZUNv
bm5lY3Rpb25TdGF0ZSA9PSBSVENJY2VDb25uZWN0aW9uU3RhdGU6Ok5ldyAmJiBtX2ljZUdhdGhl
cmluZ1N0YXRlID09IFJUQ0ljZUdhdGhlcmluZ1N0YXRlOjpOZXcpCi0gICAgICAgIHN0YXRlID0g
UlRDUGVlckNvbm5lY3Rpb25TdGF0ZTo6TmV3OwotICAgIGVsc2UgaWYgKG1faWNlQ29ubmVjdGlv
blN0YXRlID09IFJUQ0ljZUNvbm5lY3Rpb25TdGF0ZTo6Q2hlY2tpbmcgfHwgbV9pY2VHYXRoZXJp
bmdTdGF0ZSA9PSBSVENJY2VHYXRoZXJpbmdTdGF0ZTo6R2F0aGVyaW5nKQotICAgICAgICBzdGF0
ZSA9IFJUQ1BlZXJDb25uZWN0aW9uU3RhdGU6OkNvbm5lY3Rpbmc7Ci0gICAgZWxzZSBpZiAoKG1f
aWNlQ29ubmVjdGlvblN0YXRlID09IFJUQ0ljZUNvbm5lY3Rpb25TdGF0ZTo6Q29tcGxldGVkIHx8
IG1faWNlQ29ubmVjdGlvblN0YXRlID09IFJUQ0ljZUNvbm5lY3Rpb25TdGF0ZTo6Q29ubmVjdGVk
KSAmJiBtX2ljZUdhdGhlcmluZ1N0YXRlID09IFJUQ0ljZUdhdGhlcmluZ1N0YXRlOjpDb21wbGV0
ZSkKLSAgICAgICAgc3RhdGUgPSBSVENQZWVyQ29ubmVjdGlvblN0YXRlOjpDb25uZWN0ZWQ7Ci0g
ICAgZWxzZQotICAgICAgICByZXR1cm47CisgICAgICAgIHJldHVybiBSVENQZWVyQ29ubmVjdGlv
blN0YXRlOjpDbG9zZWQ7CisgICAgaWYgKG1faWNlQ29ubmVjdGlvblN0YXRlID09IFJUQ0ljZUNv
bm5lY3Rpb25TdGF0ZTo6RGlzY29ubmVjdGVkKQorICAgICAgICByZXR1cm4gUlRDUGVlckNvbm5l
Y3Rpb25TdGF0ZTo6RGlzY29ubmVjdGVkOworICAgIGlmIChtX2ljZUNvbm5lY3Rpb25TdGF0ZSA9
PSBSVENJY2VDb25uZWN0aW9uU3RhdGU6OkZhaWxlZCkKKyAgICAgICAgcmV0dXJuIFJUQ1BlZXJD
b25uZWN0aW9uU3RhdGU6OkZhaWxlZDsKKyAgICBpZiAobV9pY2VDb25uZWN0aW9uU3RhdGUgPT0g
UlRDSWNlQ29ubmVjdGlvblN0YXRlOjpOZXcgJiYgbV9pY2VHYXRoZXJpbmdTdGF0ZSA9PSBSVENJ
Y2VHYXRoZXJpbmdTdGF0ZTo6TmV3KQorICAgICAgICByZXR1cm4gUlRDUGVlckNvbm5lY3Rpb25T
dGF0ZTo6TmV3OworICAgIGlmIChtX2ljZUNvbm5lY3Rpb25TdGF0ZSA9PSBSVENJY2VDb25uZWN0
aW9uU3RhdGU6OkNoZWNraW5nIHx8IG1faWNlR2F0aGVyaW5nU3RhdGUgPT0gUlRDSWNlR2F0aGVy
aW5nU3RhdGU6OkdhdGhlcmluZykKKyAgICAgICAgcmV0dXJuIFJUQ1BlZXJDb25uZWN0aW9uU3Rh
dGU6OkNvbm5lY3Rpbmc7CisgICAgaWYgKChtX2ljZUNvbm5lY3Rpb25TdGF0ZSA9PSBSVENJY2VD
b25uZWN0aW9uU3RhdGU6OkNvbXBsZXRlZCB8fCBtX2ljZUNvbm5lY3Rpb25TdGF0ZSA9PSBSVENJ
Y2VDb25uZWN0aW9uU3RhdGU6OkNvbm5lY3RlZCkgJiYgbV9pY2VHYXRoZXJpbmdTdGF0ZSA9PSBS
VENJY2VHYXRoZXJpbmdTdGF0ZTo6Q29tcGxldGUpCisgICAgICAgIHJldHVybiBSVENQZWVyQ29u
bmVjdGlvblN0YXRlOjpDb25uZWN0ZWQ7CisgICAgcmV0dXJuIG1fY29ubmVjdGlvblN0YXRlOwor
fQorCit2b2lkIFJUQ1BlZXJDb25uZWN0aW9uOjp1cGRhdGVDb25uZWN0aW9uU3RhdGUoKQorewor
ICAgIGF1dG8gc3RhdGUgPSBjb21wdXRlQ29ubmVjdGlvblN0YXRlKCk7CiAKICAgICBpZiAoc3Rh
dGUgPT0gbV9jb25uZWN0aW9uU3RhdGUpCiAgICAgICAgIHJldHVybjsKQEAgLTY4Miw2ICs2ODQs
NTggQEAgdm9pZCBSVENQZWVyQ29ubmVjdGlvbjo6dXBkYXRlQ29ubmVjdGlvblN0YXRlKCkKICAg
ICBkaXNwYXRjaEV2ZW50V2hlbkZlYXNpYmxlKEV2ZW50OjpjcmVhdGUoZXZlbnROYW1lcygpLmNv
bm5lY3Rpb25zdGF0ZWNoYW5nZUV2ZW50LCBFdmVudDo6Q2FuQnViYmxlOjpObywgRXZlbnQ6Oklz
Q2FuY2VsYWJsZTo6Tm8pKTsKIH0KIAorc3RhdGljIGJvb2wgaXNJY2VUcmFuc3BvcnRVc2VkQnlU
cmFuc2NlaXZlcihjb25zdCBSVENJY2VUcmFuc3BvcnQmIGljZVRyYW5zcG9ydCwgUlRDUnRwVHJh
bnNjZWl2ZXImIHRyYW5zY2VpdmVyKQoreworICAgIGF1dG8qIGR0bHNUcmFuc3BvcnQgPSB0cmFu
c2NlaXZlci5zZW5kZXIoKS50cmFuc3BvcnQoKTsKKyAgICByZXR1cm4gZHRsc1RyYW5zcG9ydCAm
JiAmZHRsc1RyYW5zcG9ydC0+aWNlVHJhbnNwb3J0KCkgPT0gJmljZVRyYW5zcG9ydDsKK30KKwor
Ly8gaHR0cHM6Ly93M2MuZ2l0aHViLmlvL3dlYnJ0Yy1wYy8jZG9tLXJ0Y2ljZWNvbm5lY3Rpb25z
dGF0ZQorUlRDSWNlQ29ubmVjdGlvblN0YXRlIFJUQ1BlZXJDb25uZWN0aW9uOjpjb21wdXRlSWNl
Q29ubmVjdGlvblN0YXRlRnJvbUljZVRyYW5zcG9ydHMoKQoreworICAgIGlmIChpc0Nsb3NlZCgp
KQorICAgICAgICByZXR1cm4gUlRDSWNlQ29ubmVjdGlvblN0YXRlOjpDbG9zZWQ7CisKKyAgICBh
dXRvIGljZVRyYW5zcG9ydHMgPSBtX2ljZVRyYW5zcG9ydHM7CisgICAgaWNlVHJhbnNwb3J0cy5y
ZW1vdmVBbGxNYXRjaGluZyhbJl0oYXV0byYgaWNlVHJhbnNwb3J0KSB7CisgICAgICAgIGJvb2wg
dGVzdCA9IGFsbE9mKG1fdHJhbnNjZWl2ZXJTZXQubGlzdCgpLCBbJmljZVRyYW5zcG9ydF0oYXV0
byYgdHJhbnNjZWl2ZXIpIHsKKyAgICAgICAgICAgIHJldHVybiAhaXNJY2VUcmFuc3BvcnRVc2Vk
QnlUcmFuc2NlaXZlcihpY2VUcmFuc3BvcnQuZ2V0KCksICp0cmFuc2NlaXZlcik7CisgICAgICAg
IH0pOworICAgICAgICByZXR1cm4gdGVzdDsKKyAgICB9KTsKKworICAgIGlmIChhbnlPZihpY2VU
cmFuc3BvcnRzLCBbXShhdXRvJiB0cmFuc3BvcnQpIHsgcmV0dXJuIHRyYW5zcG9ydC0+c3RhdGUo
KSA9PSBSVENJY2VUcmFuc3BvcnRTdGF0ZTo6RmFpbGVkOyB9KSkKKyAgICAgICAgcmV0dXJuIFJU
Q0ljZUNvbm5lY3Rpb25TdGF0ZTo6RmFpbGVkOworICAgIGlmIChhbnlPZihpY2VUcmFuc3BvcnRz
LCBbXShhdXRvJiB0cmFuc3BvcnQpIHsgcmV0dXJuIHRyYW5zcG9ydC0+c3RhdGUoKSA9PSBSVENJ
Y2VUcmFuc3BvcnRTdGF0ZTo6RGlzY29ubmVjdGVkOyB9KSkKKyAgICAgICAgcmV0dXJuIFJUQ0lj
ZUNvbm5lY3Rpb25TdGF0ZTo6RGlzY29ubmVjdGVkOworICAgIGlmIChhbGxPZihpY2VUcmFuc3Bv
cnRzLCBbXShhdXRvJiB0cmFuc3BvcnQpIHsgcmV0dXJuIHRyYW5zcG9ydC0+c3RhdGUoKSA9PSBS
VENJY2VUcmFuc3BvcnRTdGF0ZTo6TmV3IHx8IHRyYW5zcG9ydC0+c3RhdGUoKSA9PSBSVENJY2VU
cmFuc3BvcnRTdGF0ZTo6Q2xvc2VkOyB9KSkKKyAgICAgICAgcmV0dXJuIFJUQ0ljZUNvbm5lY3Rp
b25TdGF0ZTo6TmV3OworICAgIGlmIChhbnlPZihpY2VUcmFuc3BvcnRzLCBbXShhdXRvJiB0cmFu
c3BvcnQpIHsgcmV0dXJuIHRyYW5zcG9ydC0+c3RhdGUoKSA9PSBSVENJY2VUcmFuc3BvcnRTdGF0
ZTo6TmV3IHx8IHRyYW5zcG9ydC0+c3RhdGUoKSA9PSBSVENJY2VUcmFuc3BvcnRTdGF0ZTo6Q2hl
Y2tpbmc7IH0pKQorICAgICAgICByZXR1cm4gUlRDSWNlQ29ubmVjdGlvblN0YXRlOjpDaGVja2lu
ZzsKKyAgICBpZiAoYWxsT2YoaWNlVHJhbnNwb3J0cywgW10oYXV0byYgdHJhbnNwb3J0KSB7IHJl
dHVybiB0cmFuc3BvcnQtPnN0YXRlKCkgPT0gUlRDSWNlVHJhbnNwb3J0U3RhdGU6OkNvbXBsZXRl
ZCB8fCB0cmFuc3BvcnQtPnN0YXRlKCkgPT0gUlRDSWNlVHJhbnNwb3J0U3RhdGU6OkNsb3NlZDsg
fSkpCisgICAgICAgIHJldHVybiBSVENJY2VDb25uZWN0aW9uU3RhdGU6OkNvbXBsZXRlZDsKKyAg
ICBBU1NFUlQoYWxsT2YoaWNlVHJhbnNwb3J0cywgW10oYXV0byYgdHJhbnNwb3J0KSB7IHJldHVy
biB0cmFuc3BvcnQtPnN0YXRlKCkgPT0gUlRDSWNlVHJhbnNwb3J0U3RhdGU6OkNvbm5lY3RlZCB8
fCB0cmFuc3BvcnQtPnN0YXRlKCkgPT0gUlRDSWNlVHJhbnNwb3J0U3RhdGU6OkNvbXBsZXRlZCB8
fCB0cmFuc3BvcnQtPnN0YXRlKCkgPT0gUlRDSWNlVHJhbnNwb3J0U3RhdGU6OkNsb3NlZDsgfSkp
OworICAgIHJldHVybiBSVENJY2VDb25uZWN0aW9uU3RhdGU6OkNvbm5lY3RlZDsKK30KKworLy8g
aHR0cHM6Ly93M2MuZ2l0aHViLmlvL3dlYnJ0Yy1wYy8jcnRjaWNldHJhbnNwb3J0LCBhbGdvcml0
aG0gdG8gaGFuZGxlIGEgY2hhbmdlIG9mIFJUQ0ljZVRyYW5zcG9ydCBzdGF0ZS4KK3ZvaWQgUlRD
UGVlckNvbm5lY3Rpb246OnByb2Nlc3NJY2VUcmFuc3BvcnRTdGF0ZUNoYW5nZShSVENJY2VUcmFu
c3BvcnQmIGljZVRyYW5zcG9ydCkKK3sKKyAgICBhdXRvIG5ld0ljZUNvbm5lY3Rpb25TdGF0ZSA9
IGNvbXB1dGVJY2VDb25uZWN0aW9uU3RhdGVGcm9tSWNlVHJhbnNwb3J0cygpOworICAgIGJvb2wg
aWNlQ29ubmVjdGlvblN0YXRlQ2hhbmdlZCA9IG1faWNlQ29ubmVjdGlvblN0YXRlICE9IG5ld0lj
ZUNvbm5lY3Rpb25TdGF0ZTsKKyAgICBtX2ljZUNvbm5lY3Rpb25TdGF0ZSA9IG5ld0ljZUNvbm5l
Y3Rpb25TdGF0ZTsKKworICAgIGF1dG8gbmV3Q29ubmVjdGlvblN0YXRlID0gY29tcHV0ZUNvbm5l
Y3Rpb25TdGF0ZSgpOworICAgIGJvb2wgY29ubmVjdGlvblN0YXRlQ2hhbmdlZCA9IG1fY29ubmVj
dGlvblN0YXRlICE9IG5ld0Nvbm5lY3Rpb25TdGF0ZTsKKyAgICBtX2Nvbm5lY3Rpb25TdGF0ZSA9
IG5ld0Nvbm5lY3Rpb25TdGF0ZTsKKworICAgIGljZVRyYW5zcG9ydC5kaXNwYXRjaEV2ZW50KEV2
ZW50OjpjcmVhdGUoZXZlbnROYW1lcygpLnN0YXRlY2hhbmdlRXZlbnQsIEV2ZW50OjpDYW5CdWJi
bGU6OlllcywgRXZlbnQ6OklzQ2FuY2VsYWJsZTo6Tm8pKTsKKyAgICBpZiAoaWNlQ29ubmVjdGlv
blN0YXRlQ2hhbmdlZCkKKyAgICAgICAgZGlzcGF0Y2hFdmVudFdoZW5GZWFzaWJsZShFdmVudDo6
Y3JlYXRlKGV2ZW50TmFtZXMoKS5pY2Vjb25uZWN0aW9uc3RhdGVjaGFuZ2VFdmVudCwgRXZlbnQ6
OkNhbkJ1YmJsZTo6Tm8sIEV2ZW50OjpJc0NhbmNlbGFibGU6Ok5vKSk7CisgICAgaWYgKGNvbm5l
Y3Rpb25TdGF0ZUNoYW5nZWQpCisgICAgICAgIGRpc3BhdGNoRXZlbnRXaGVuRmVhc2libGUoRXZl
bnQ6OmNyZWF0ZShldmVudE5hbWVzKCkuY29ubmVjdGlvbnN0YXRlY2hhbmdlRXZlbnQsIEV2ZW50
OjpDYW5CdWJibGU6Ok5vLCBFdmVudDo6SXNDYW5jZWxhYmxlOjpObykpOworfQorCiB2b2lkIFJU
Q1BlZXJDb25uZWN0aW9uOjpzY2hlZHVsZU5lZ290aWF0aW9uTmVlZGVkRXZlbnQoKQogewogICAg
IGlmIChtX2hhc1BlbmRpbmdPcGVyYXRpb24pIHsKQEAgLTg0Miw2ICs4OTYsMTggQEAgRG9jdW1l
bnQqIFJUQ1BlZXJDb25uZWN0aW9uOjpkb2N1bWVudCgpCiAgICAgcmV0dXJuIGRvd25jYXN0PERv
Y3VtZW50PihzY3JpcHRFeGVjdXRpb25Db250ZXh0KCkpOwogfQogCitSZWY8UlRDSWNlVHJhbnNw
b3J0PiBSVENQZWVyQ29ubmVjdGlvbjo6Z2V0T3JDcmVhdGVJY2VUcmFuc3BvcnQoVW5pcXVlUmVm
PFJUQ0ljZVRyYW5zcG9ydEJhY2tlbmQ+JiYgYmFja2VuZCkKK3sKKyAgICBhdXRvIGluZGV4ID0g
bV9pY2VUcmFuc3BvcnRzLmZpbmRNYXRjaGluZyhbJmJhY2tlbmRdKGF1dG8mIHRyYW5zcG9ydCkg
eyByZXR1cm4gYmFja2VuZC5nZXQoKSA9PSB0cmFuc3BvcnQtPmJhY2tlbmQoKTsgfSk7CisgICAg
aWYgKGluZGV4ID09IG5vdEZvdW5kKSB7CisgICAgICAgIGluZGV4ID0gbV9pY2VUcmFuc3BvcnRz
LnNpemUoKTsKKyAgICAgICAgbV9pY2VUcmFuc3BvcnRzLmFwcGVuZChSVENJY2VUcmFuc3BvcnQ6
OmNyZWF0ZSgqc2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpLCBXVEZNb3ZlKGJhY2tlbmQpLCAqdGhp
cykpOworICAgIH0KKworICAgIHJldHVybiBtX2ljZVRyYW5zcG9ydHNbaW5kZXhdLmNvcHlSZWYo
KTsKK30KKworCiBSZWZQdHI8UlRDRHRsc1RyYW5zcG9ydD4gUlRDUGVlckNvbm5lY3Rpb246Omdl
dE9yQ3JlYXRlRHRsc1RyYW5zcG9ydChzdGQ6OnVuaXF1ZV9wdHI8UlRDRHRsc1RyYW5zcG9ydEJh
Y2tlbmQ+JiYgYmFja2VuZCkKIHsKICAgICBpZiAoIWJhY2tlbmQpCkBAIC04NTEsMTMgKzkxNywx
NCBAQCBSZWZQdHI8UlRDRHRsc1RyYW5zcG9ydD4gUlRDUGVlckNvbm5lY3Rpb246OmdldE9yQ3Jl
YXRlRHRsc1RyYW5zcG9ydChzdGQ6OnVuaXF1ZQogICAgIGlmICghY29udGV4dCkKICAgICAgICAg
cmV0dXJuIG51bGxwdHI7CiAKLSAgICBhdXRvIGluZGV4ID0gbV90cmFuc3BvcnRzLmZpbmRNYXRj
aGluZyhbJmJhY2tlbmRdKGF1dG8mIHRyYW5zcG9ydCkgeyByZXR1cm4gKmJhY2tlbmQgPT0gdHJh
bnNwb3J0LT5iYWNrZW5kKCk7IH0pOworICAgIGF1dG8gaW5kZXggPSBtX2R0bHNUcmFuc3BvcnRz
LmZpbmRNYXRjaGluZyhbJmJhY2tlbmRdKGF1dG8mIHRyYW5zcG9ydCkgeyByZXR1cm4gKmJhY2tl
bmQgPT0gdHJhbnNwb3J0LT5iYWNrZW5kKCk7IH0pOwogICAgIGlmIChpbmRleCA9PSBub3RGb3Vu
ZCkgewotICAgICAgICBpbmRleCA9IG1fdHJhbnNwb3J0cy5zaXplKCk7Ci0gICAgICAgIG1fdHJh
bnNwb3J0cy5hcHBlbmQoUlRDRHRsc1RyYW5zcG9ydDo6Y3JlYXRlKCpjb250ZXh0LCBtYWtlVW5p
cXVlUmVmRnJvbU5vbk51bGxVbmlxdWVQdHIoV1RGTW92ZShiYWNrZW5kKSkpKTsKKyAgICAgICAg
aW5kZXggPSBtX2R0bHNUcmFuc3BvcnRzLnNpemUoKTsKKyAgICAgICAgYXV0byBpY2VUcmFuc3Bv
cnRCYWNrZW5kID0gYmFja2VuZC0+aWNlVHJhbnNwb3J0QmFja2VuZCgpOworICAgICAgICBtX2R0
bHNUcmFuc3BvcnRzLmFwcGVuZChSVENEdGxzVHJhbnNwb3J0OjpjcmVhdGUoKmNvbnRleHQsIG1h
a2VVbmlxdWVSZWZGcm9tTm9uTnVsbFVuaXF1ZVB0cihXVEZNb3ZlKGJhY2tlbmQpKSwgZ2V0T3JD
cmVhdGVJY2VUcmFuc3BvcnQoV1RGTW92ZShpY2VUcmFuc3BvcnRCYWNrZW5kKSkpKTsKICAgICB9
CiAKLSAgICByZXR1cm4gbV90cmFuc3BvcnRzW2luZGV4XS5jb3B5UmVmKCk7CisgICAgcmV0dXJu
IG1fZHRsc1RyYW5zcG9ydHNbaW5kZXhdLmNvcHlSZWYoKTsKIH0KIAogdm9pZCBSVENQZWVyQ29u
bmVjdGlvbjo6dXBkYXRlVHJhbnNjZWl2ZXJUcmFuc3BvcnRzKCkKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vUlRDUGVlckNvbm5lY3Rpb24uaCBiL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vUlRDUGVlckNvbm5lY3Rpb24uaAppbmRleCBj
NjkwNzZkZDA2ZTU0NWU4MTU3MDkwY2I4MmY3OTRjYWRjOWZhNzA2Li41ZmIzOWI0OGUyZDVkMDgz
NjQyYjU3M2FhZjEyZWFkMzg2NmUxZmIyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL21lZGlhc3RyZWFtL1JUQ1BlZXJDb25uZWN0aW9uLmgKKysrIGIvU291cmNlL1dlYkNvcmUv
TW9kdWxlcy9tZWRpYXN0cmVhbS9SVENQZWVyQ29ubmVjdGlvbi5oCkBAIC02MSw2ICs2MSw3IEBA
IGNsYXNzIFJUQ0NvbnRyb2xsZXI7CiBjbGFzcyBSVENEdGxzVHJhbnNwb3J0OwogY2xhc3MgUlRD
RHRsc1RyYW5zcG9ydEJhY2tlbmQ7CiBjbGFzcyBSVENJY2VDYW5kaWRhdGU7CitjbGFzcyBSVENJ
Y2VUcmFuc3BvcnRCYWNrZW5kOwogY2xhc3MgUlRDUGVlckNvbm5lY3Rpb25FcnJvckNhbGxiYWNr
OwogY2xhc3MgUlRDU2Vzc2lvbkRlc2NyaXB0aW9uOwogY2xhc3MgUlRDU3RhdHNDYWxsYmFjazsK
QEAgLTE4OCw2ICsxODksOCBAQCBwdWJsaWM6CiAgICAgdm9pZCB1cGRhdGVUcmFuc2NlaXZlcnNB
ZnRlclN1Y2Nlc3NmdWxMb2NhbERlc2NyaXB0aW9uKCk7CiAgICAgdm9pZCB1cGRhdGVUcmFuc2Nl
aXZlcnNBZnRlclN1Y2Nlc3NmdWxSZW1vdGVEZXNjcmlwdGlvbigpOwogCisgICAgdm9pZCBwcm9j
ZXNzSWNlVHJhbnNwb3J0U3RhdGVDaGFuZ2UoUlRDSWNlVHJhbnNwb3J0Jik7CisKICNpZiAhUkVM
RUFTRV9MT0dfRElTQUJMRUQKICAgICBjb25zdCBMb2dnZXImIGxvZ2dlcigpIGNvbnN0IGZpbmFs
IHsgcmV0dXJuIG1fbG9nZ2VyLmdldCgpOyB9CiAgICAgY29uc3Qgdm9pZCogbG9nSWRlbnRpZmll
cigpIGNvbnN0IGZpbmFsIHsgcmV0dXJuIG1fbG9nSWRlbnRpZmllcjsgfQpAQCAtMjE5LDYgKzIy
MiwxMCBAQCBwcml2YXRlOgogICAgIGJvb2wgdmlydHVhbEhhc1BlbmRpbmdBY3Rpdml0eSgpIGNv
bnN0IGZpbmFsOwogCiAgICAgdm9pZCB1cGRhdGVDb25uZWN0aW9uU3RhdGUoKTsKKyAgICBib29s
IHVwZGF0ZUljZUNvbm5lY3Rpb25TdGF0ZUZyb21JY2VUcmFuc3BvcnRzKCk7CisgICAgUlRDSWNl
Q29ubmVjdGlvblN0YXRlIGNvbXB1dGVJY2VDb25uZWN0aW9uU3RhdGVGcm9tSWNlVHJhbnNwb3J0
cygpOworICAgIFJUQ1BlZXJDb25uZWN0aW9uU3RhdGUgY29tcHV0ZUNvbm5lY3Rpb25TdGF0ZSgp
OworCiAgICAgYm9vbCBkb0Nsb3NlKCk7CiAgICAgdm9pZCBkb1N0b3AoKTsKIApAQCAtMjMwLDYg
KzIzNyw3IEBAIHByaXZhdGU6CiAKICAgICBFeGNlcHRpb25PcjxWZWN0b3I8TWVkaWFFbmRwb2lu
dENvbmZpZ3VyYXRpb246OkljZVNlcnZlckluZm8+PiBpY2VTZXJ2ZXJzRnJvbUNvbmZpZ3VyYXRp
b24oUlRDQ29uZmlndXJhdGlvbiYgbmV3Q29uZmlndXJhdGlvbiwgY29uc3QgUlRDQ29uZmlndXJh
dGlvbiogZXhpc3RpbmdDb25maWd1cmF0aW9uLCBib29sIGlzTG9jYWxEZXNjcmlwdGlvblNldCk7
CiAKKyAgICBSZWY8UlRDSWNlVHJhbnNwb3J0PiBnZXRPckNyZWF0ZUljZVRyYW5zcG9ydChVbmlx
dWVSZWY8UlRDSWNlVHJhbnNwb3J0QmFja2VuZD4mJik7CiAgICAgUmVmUHRyPFJUQ0R0bHNUcmFu
c3BvcnQ+IGdldE9yQ3JlYXRlRHRsc1RyYW5zcG9ydChzdGQ6OnVuaXF1ZV9wdHI8UlRDRHRsc1Ry
YW5zcG9ydEJhY2tlbmQ+JiYpOwogICAgIHZvaWQgdXBkYXRlVHJhbnNjZWl2ZXJUcmFuc3BvcnRz
KCk7CiAKQEAgLTI1Niw3ICsyNjQsOCBAQCBwcml2YXRlOgogICAgIERlcXVlPHN0ZDo6cGFpcjxS
ZWY8RGVmZXJyZWRQcm9taXNlPiwgRnVuY3Rpb248dm9pZChSZWY8RGVmZXJyZWRQcm9taXNlPiYm
KT4+PiBtX29wZXJhdGlvbnM7CiAgICAgYm9vbCBtX2hhc1BlbmRpbmdPcGVyYXRpb24geyBmYWxz
ZSB9OwogICAgIGJvb2wgbV9zaG91bGRGaXJlTmVnb3RpYXRpb25OZWVkZWRPbmNlT3BlcmF0aW9u
Q2hhaW5Jc0VtcHR5IHsgZmFsc2UgfTsKLSAgICBWZWN0b3I8UmVmPFJUQ0R0bHNUcmFuc3BvcnQ+
PiBtX3RyYW5zcG9ydHM7CisgICAgVmVjdG9yPFJlZjxSVENEdGxzVHJhbnNwb3J0Pj4gbV9kdGxz
VHJhbnNwb3J0czsKKyAgICBWZWN0b3I8UmVmPFJUQ0ljZVRyYW5zcG9ydD4+IG1faWNlVHJhbnNw
b3J0czsKIH07CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vbGlid2VicnRjL0xpYldlYlJUQ0R0bHNUcmFuc3Bv
cnRCYWNrZW5kLmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vbGlid2Vi
cnRjL0xpYldlYlJUQ0R0bHNUcmFuc3BvcnRCYWNrZW5kLmNwcAppbmRleCA2YjBmNTBlYjg1ODgw
MDhkOWI2N2RjM2QzYzJjNWIwYzYyYjEzMzZlLi4wN2FhMTE2ODkzNDIxNzllOTNlZWQ4MTVjMTdh
MDdkMzhjMDExNDMwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3Ry
ZWFtL2xpYndlYnJ0Yy9MaWJXZWJSVENEdGxzVHJhbnNwb3J0QmFja2VuZC5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9saWJ3ZWJydGMvTGliV2ViUlRDRHRsc1Ry
YW5zcG9ydEJhY2tlbmQuY3BwCkBAIC0yNyw2ICsyNyw3IEBACiAKICNpZiBFTkFCTEUoV0VCX1JU
QykgJiYgVVNFKExJQldFQlJUQykKIAorI2luY2x1ZGUgIkxpYldlYlJUQ0ljZVRyYW5zcG9ydEJh
Y2tlbmQuaCIKICNpbmNsdWRlICJMaWJXZWJSVENQcm92aWRlci5oIgogI2luY2x1ZGUgPEphdmFT
Y3JpcHRDb3JlL0FycmF5QnVmZmVyLmg+CiAjaW5jbHVkZSA8d2VicnRjL2FwaS9kdGxzX3RyYW5z
cG9ydF9pbnRlcmZhY2UuaD4KQEAgLTEzMSw3ICsxMzIsNiBAQCB2b2lkIExpYldlYlJUQ0R0bHNU
cmFuc3BvcnRCYWNrZW5kT2JzZXJ2ZXI6Ok9uRXJyb3Iod2VicnRjOjpSVENFcnJvcikKICAgICB9
KTsKIH0KIAotCiBMaWJXZWJSVENEdGxzVHJhbnNwb3J0QmFja2VuZDo6TGliV2ViUlRDRHRsc1Ry
YW5zcG9ydEJhY2tlbmQocnRjOjpzY29wZWRfcmVmcHRyPHdlYnJ0Yzo6RHRsc1RyYW5zcG9ydElu
dGVyZmFjZT4mJiBiYWNrZW5kKQogICAgIDogbV9iYWNrZW5kKFdURk1vdmUoYmFja2VuZCkpCiB7
CkBAIC0xNDQsNiArMTQ0LDExIEBAIExpYldlYlJUQ0R0bHNUcmFuc3BvcnRCYWNrZW5kOjp+TGli
V2ViUlRDRHRsc1RyYW5zcG9ydEJhY2tlbmQoKQogICAgICAgICBtX29ic2VydmVyLT5zdG9wKCk7
CiB9CiAKK1VuaXF1ZVJlZjxSVENJY2VUcmFuc3BvcnRCYWNrZW5kPiBMaWJXZWJSVENEdGxzVHJh
bnNwb3J0QmFja2VuZDo6aWNlVHJhbnNwb3J0QmFja2VuZCgpCit7CisgICAgcmV0dXJuIG1ha2VV
bmlxdWVSZWY8TGliV2ViUlRDSWNlVHJhbnNwb3J0QmFja2VuZD4obV9iYWNrZW5kLT5pY2VfdHJh
bnNwb3J0KCkpOworfQorCiB2b2lkIExpYldlYlJUQ0R0bHNUcmFuc3BvcnRCYWNrZW5kOjpyZWdp
c3RlckNsaWVudChDbGllbnQmIGNsaWVudCkKIHsKICAgICBBU1NFUlQoIW1fb2JzZXJ2ZXIpOwpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9saWJ3ZWJydGMv
TGliV2ViUlRDRHRsc1RyYW5zcG9ydEJhY2tlbmQuaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMv
bWVkaWFzdHJlYW0vbGlid2VicnRjL0xpYldlYlJUQ0R0bHNUcmFuc3BvcnRCYWNrZW5kLmgKaW5k
ZXggNmJhMTA3MzllMjNmYjM5ZmQwNTFjZDU1MjgwZmVkM2RmOWM0NWY0NS4uM2U2N2I0OTBhZTcx
YTVhMzE2OWUwZDhjMGJjY2VkY2VlZTRjMjUxNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
TW9kdWxlcy9tZWRpYXN0cmVhbS9saWJ3ZWJydGMvTGliV2ViUlRDRHRsc1RyYW5zcG9ydEJhY2tl
bmQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL2xpYndlYnJ0Yy9M
aWJXZWJSVENEdGxzVHJhbnNwb3J0QmFja2VuZC5oCkBAIC01MSw2ICs1MSw3IEBAIHB1YmxpYzoK
IHByaXZhdGU6CiAgICAgLy8gUlRDRHRsc1RyYW5zcG9ydEJhY2tlbmQKICAgICBjb25zdCB2b2lk
KiBiYWNrZW5kKCkgY29uc3QgZmluYWwgeyByZXR1cm4gbV9iYWNrZW5kLmdldCgpOyB9CisgICAg
VW5pcXVlUmVmPFJUQ0ljZVRyYW5zcG9ydEJhY2tlbmQ+IGljZVRyYW5zcG9ydEJhY2tlbmQoKSBm
aW5hbDsKICAgICB2b2lkIHJlZ2lzdGVyQ2xpZW50KENsaWVudCYpIGZpbmFsOwogICAgIHZvaWQg
dW5yZWdpc3RlckNsaWVudCgpIGZpbmFsOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL21lZGlhc3RyZWFtL2xpYndlYnJ0Yy9MaWJXZWJSVENJY2VUcmFuc3BvcnRCYWNrZW5k
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vbGlid2VicnRjL0xpYldl
YlJUQ0ljZVRyYW5zcG9ydEJhY2tlbmQuY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjU0OGE5Zjg0ZjExYjA5ZTI2
MTdhMTcwZGU2ZTY3ZjZhYzQ2MjUxOTgKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL21lZGlhc3RyZWFtL2xpYndlYnJ0Yy9MaWJXZWJSVENJY2VUcmFuc3BvcnRCYWNr
ZW5kLmNwcApAQCAtMCwwICsxLDE2MyBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAyMSBBcHBs
ZSBJbmMuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFy
eSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQg
cHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAx
LiAgUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBj
b3B5cmlnaHQKKyAqICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUg
Zm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiAgUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBm
b3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgICBub3RpY2UsIHRo
aXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhl
CisgKiAgICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdp
dGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZ
IEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnIEFORCBBTlkKKyAqIEVY
UFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBU
TywgVEhFIElNUExJRUQKKyAqIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRO
RVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUKKyAqIERJU0NMQUlNRUQuIElOIE5PIEVW
RU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFO
WQorICogRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBP
UiBDT05TRVFVRU5USUFMIERBTUFHRVMKKyAqIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBU
TywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsKKyAqIExPU1Mg
T0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VW
RVIgQ0FVU0VEIEFORCBPTgorICogQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4g
Q09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElH
RU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBU
SElTCisgKiBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBT
VUNIIERBTUFHRS4KKyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgiCisjaW5jbHVkZSAiTGliV2Vi
UlRDSWNlVHJhbnNwb3J0QmFja2VuZC5oIgorCisjaWYgRU5BQkxFKFdFQl9SVEMpICYmIFVTRShM
SUJXRUJSVEMpCisKK0FMTE9XX1VOVVNFRF9QQVJBTUVURVJTX0JFR0lOCisKKyNpbmNsdWRlIDx3
ZWJydGMvYXBpL2ljZV90cmFuc3BvcnRfaW50ZXJmYWNlLmg+CisjaW5jbHVkZSA8d2VicnRjL3Ay
cC9iYXNlL2ljZV90cmFuc3BvcnRfaW50ZXJuYWwuaD4KKworQUxMT1dfVU5VU0VEX1BBUkFNRVRF
UlNfRU5ECisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworc3RhdGljIGlubGluZSBSVENJY2VUcmFu
c3BvcnRTdGF0ZSB0b1JUQ0ljZVRyYW5zcG9ydFN0YXRlKHdlYnJ0Yzo6SWNlVHJhbnNwb3J0U3Rh
dGUgc3RhdGUpCit7CisgICAgc3dpdGNoIChzdGF0ZSkgeworICAgIGNhc2Ugd2VicnRjOjpJY2VU
cmFuc3BvcnRTdGF0ZTo6a05ldzoKKyAgICAgICAgcmV0dXJuIFJUQ0ljZVRyYW5zcG9ydFN0YXRl
OjpOZXc7CisgICAgY2FzZSB3ZWJydGM6OkljZVRyYW5zcG9ydFN0YXRlOjprQ2hlY2tpbmc6Cisg
ICAgICAgIHJldHVybiBSVENJY2VUcmFuc3BvcnRTdGF0ZTo6Q2hlY2tpbmc7CisgICAgY2FzZSB3
ZWJydGM6OkljZVRyYW5zcG9ydFN0YXRlOjprQ29ubmVjdGVkOgorICAgICAgICByZXR1cm4gUlRD
SWNlVHJhbnNwb3J0U3RhdGU6OkNvbm5lY3RlZDsKKyAgICBjYXNlIHdlYnJ0Yzo6SWNlVHJhbnNw
b3J0U3RhdGU6OmtGYWlsZWQ6CisgICAgICAgIHJldHVybiBSVENJY2VUcmFuc3BvcnRTdGF0ZTo6
RmFpbGVkOworICAgIGNhc2Ugd2VicnRjOjpJY2VUcmFuc3BvcnRTdGF0ZTo6a0NvbXBsZXRlZDoK
KyAgICAgICAgcmV0dXJuIFJUQ0ljZVRyYW5zcG9ydFN0YXRlOjpDb21wbGV0ZWQ7CisgICAgY2Fz
ZSB3ZWJydGM6OkljZVRyYW5zcG9ydFN0YXRlOjprRGlzY29ubmVjdGVkOgorICAgICAgICByZXR1
cm4gUlRDSWNlVHJhbnNwb3J0U3RhdGU6OkRpc2Nvbm5lY3RlZDsKKyAgICBjYXNlIHdlYnJ0Yzo6
SWNlVHJhbnNwb3J0U3RhdGU6OmtDbG9zZWQ6CisgICAgICAgIHJldHVybiBSVENJY2VUcmFuc3Bv
cnRTdGF0ZTo6Q2xvc2VkOworICAgIH0KKworICAgIFJFTEVBU0VfQVNTRVJUX05PVF9SRUFDSEVE
KCk7Cit9CisKK3N0YXRpYyBpbmxpbmUgUlRDSWNlR2F0aGVyaW5nU3RhdGUgdG9SVENJY2VHYXRo
ZXJpbmdTdGF0ZShjcmlja2V0OjpJY2VHYXRoZXJpbmdTdGF0ZSBzdGF0ZSkKK3sKKyAgICBzd2l0
Y2ggKHN0YXRlKSB7CisgICAgY2FzZSBjcmlja2V0OjpJY2VHYXRoZXJpbmdTdGF0ZTo6a0ljZUdh
dGhlcmluZ05ldzoKKyAgICAgICAgcmV0dXJuIFJUQ0ljZUdhdGhlcmluZ1N0YXRlOjpOZXc7Cisg
ICAgY2FzZSBjcmlja2V0OjpJY2VHYXRoZXJpbmdTdGF0ZTo6a0ljZUdhdGhlcmluZ0dhdGhlcmlu
ZzoKKyAgICAgICAgcmV0dXJuIFJUQ0ljZUdhdGhlcmluZ1N0YXRlOjpHYXRoZXJpbmc7CisgICAg
Y2FzZSBjcmlja2V0OjpJY2VHYXRoZXJpbmdTdGF0ZTo6a0ljZUdhdGhlcmluZ0NvbXBsZXRlOgor
ICAgICAgICByZXR1cm4gUlRDSWNlR2F0aGVyaW5nU3RhdGU6OkNvbXBsZXRlOworICAgIH0KKwor
ICAgIFJFTEVBU0VfQVNTRVJUX05PVF9SRUFDSEVEKCk7Cit9CisKK2NsYXNzIExpYldlYlJUQ0lj
ZVRyYW5zcG9ydEJhY2tlbmRPYnNlcnZlciBmaW5hbCA6IHB1YmxpYyBUaHJlYWRTYWZlUmVmQ291
bnRlZDxMaWJXZWJSVENJY2VUcmFuc3BvcnRCYWNrZW5kT2JzZXJ2ZXI+LCBwdWJsaWMgc2lnc2xv
dDo6aGFzX3Nsb3RzPD4geworcHVibGljOgorICAgIHN0YXRpYyBSZWY8TGliV2ViUlRDSWNlVHJh
bnNwb3J0QmFja2VuZE9ic2VydmVyPiBjcmVhdGUoUlRDSWNlVHJhbnNwb3J0QmFja2VuZDo6Q2xp
ZW50JiBjbGllbnQsIHJ0Yzo6c2NvcGVkX3JlZnB0cjx3ZWJydGM6OkljZVRyYW5zcG9ydEludGVy
ZmFjZT4gYmFja2VuZCkgeyByZXR1cm4gYWRvcHRSZWYoKm5ldyBMaWJXZWJSVENJY2VUcmFuc3Bv
cnRCYWNrZW5kT2JzZXJ2ZXIoY2xpZW50LCBXVEZNb3ZlKGJhY2tlbmQpKSk7IH0KKworICAgIHZv
aWQgc3RhcnQoKTsKKyAgICB2b2lkIHN0b3AoKTsKKworcHJpdmF0ZToKKyAgICBMaWJXZWJSVENJ
Y2VUcmFuc3BvcnRCYWNrZW5kT2JzZXJ2ZXIoUlRDSWNlVHJhbnNwb3J0QmFja2VuZDo6Q2xpZW50
JiwgcnRjOjpzY29wZWRfcmVmcHRyPHdlYnJ0Yzo6SWNlVHJhbnNwb3J0SW50ZXJmYWNlPiYmKTsK
KworICAgIHZvaWQgb25JY2VUcmFuc3BvcnRTdGF0ZUNoYW5nZWQoY3JpY2tldDo6SWNlVHJhbnNw
b3J0SW50ZXJuYWwqKTsKKyAgICB2b2lkIG9uR2F0aGVyaW5nU3RhdGVDaGFuZ2VkKGNyaWNrZXQ6
OkljZVRyYW5zcG9ydEludGVybmFsKik7CisKKyAgICBydGM6OnNjb3BlZF9yZWZwdHI8d2VicnRj
OjpJY2VUcmFuc3BvcnRJbnRlcmZhY2U+IG1fYmFja2VuZDsKKyAgICBXZWFrUHRyPFJUQ0ljZVRy
YW5zcG9ydEJhY2tlbmQ6OkNsaWVudD4gbV9jbGllbnQ7Cit9OworCitMaWJXZWJSVENJY2VUcmFu
c3BvcnRCYWNrZW5kT2JzZXJ2ZXI6OkxpYldlYlJUQ0ljZVRyYW5zcG9ydEJhY2tlbmRPYnNlcnZl
cihSVENJY2VUcmFuc3BvcnRCYWNrZW5kOjpDbGllbnQmIGNsaWVudCwgcnRjOjpzY29wZWRfcmVm
cHRyPHdlYnJ0Yzo6SWNlVHJhbnNwb3J0SW50ZXJmYWNlPiYmIGJhY2tlbmQpCisgICAgOiBtX2Jh
Y2tlbmQoV1RGTW92ZShiYWNrZW5kKSkKKyAgICAsIG1fY2xpZW50KG1ha2VXZWFrUHRyKGNsaWVu
dCkpCit7CisgICAgQVNTRVJUKG1fYmFja2VuZCk7Cit9CisKK3ZvaWQgTGliV2ViUlRDSWNlVHJh
bnNwb3J0QmFja2VuZE9ic2VydmVyOjpzdGFydCgpCit7CisgICAgTGliV2ViUlRDUHJvdmlkZXI6
OmNhbGxPbldlYlJUQ05ldHdvcmtUaHJlYWQoW3RoaXMsIHByb3RlY3RlZFRoaXMgPSBtYWtlUmVm
KCp0aGlzKV0oKSBtdXRhYmxlIHsKKyAgICAgICAgYXV0byogaW50ZXJuYWwgPSBtX2JhY2tlbmQt
PmludGVybmFsKCk7CisgICAgICAgIGlmICghaW50ZXJuYWwpCisgICAgICAgICAgICByZXR1cm47
CisgICAgICAgIGludGVybmFsLT5TaWduYWxJY2VUcmFuc3BvcnRTdGF0ZUNoYW5nZWQuY29ubmVj
dCh0aGlzLCAmTGliV2ViUlRDSWNlVHJhbnNwb3J0QmFja2VuZE9ic2VydmVyOjpvbkljZVRyYW5z
cG9ydFN0YXRlQ2hhbmdlZCk7CisgICAgICAgIGludGVybmFsLT5TaWduYWxHYXRoZXJpbmdTdGF0
ZS5jb25uZWN0KHRoaXMsICZMaWJXZWJSVENJY2VUcmFuc3BvcnRCYWNrZW5kT2JzZXJ2ZXI6Om9u
R2F0aGVyaW5nU3RhdGVDaGFuZ2VkKTsKKyAgICB9KTsKK30KKwordm9pZCBMaWJXZWJSVENJY2VU
cmFuc3BvcnRCYWNrZW5kT2JzZXJ2ZXI6OnN0b3AoKQoreworICAgIG1fY2xpZW50ID0gbnVsbHB0
cjsKKyAgICBMaWJXZWJSVENQcm92aWRlcjo6Y2FsbE9uV2ViUlRDTmV0d29ya1RocmVhZChbdGhp
cywgcHJvdGVjdGVkVGhpcyA9IG1ha2VSZWYoKnRoaXMpXSB7CisgICAgICAgIGF1dG8qIGludGVy
bmFsID0gbV9iYWNrZW5kLT5pbnRlcm5hbCgpOworICAgICAgICBpZiAoIWludGVybmFsKQorICAg
ICAgICAgICAgcmV0dXJuOworICAgICAgICBpbnRlcm5hbC0+U2lnbmFsSWNlVHJhbnNwb3J0U3Rh
dGVDaGFuZ2VkLmRpc2Nvbm5lY3QodGhpcyk7CisgICAgICAgIGludGVybmFsLT5TaWduYWxHYXRo
ZXJpbmdTdGF0ZS5kaXNjb25uZWN0KHRoaXMpOworICAgIH0pOworfQorCit2b2lkIExpYldlYlJU
Q0ljZVRyYW5zcG9ydEJhY2tlbmRPYnNlcnZlcjo6b25JY2VUcmFuc3BvcnRTdGF0ZUNoYW5nZWQo
Y3JpY2tldDo6SWNlVHJhbnNwb3J0SW50ZXJuYWwqIGludGVybmFsKQoreworICAgIGNhbGxPbk1h
aW5UaHJlYWQoW3Byb3RlY3RlZFRoaXMgPSBtYWtlUmVmKCp0aGlzKSwgc3RhdGUgPSBpbnRlcm5h
bC0+R2V0SWNlVHJhbnNwb3J0U3RhdGUoKV0geworICAgICAgICBpZiAocHJvdGVjdGVkVGhpcy0+
bV9jbGllbnQpCisgICAgICAgICAgICBwcm90ZWN0ZWRUaGlzLT5tX2NsaWVudC0+b25TdGF0ZUNo
YW5nZWQodG9SVENJY2VUcmFuc3BvcnRTdGF0ZShzdGF0ZSkpOworICAgIH0pOworfQorCit2b2lk
IExpYldlYlJUQ0ljZVRyYW5zcG9ydEJhY2tlbmRPYnNlcnZlcjo6b25HYXRoZXJpbmdTdGF0ZUNo
YW5nZWQoY3JpY2tldDo6SWNlVHJhbnNwb3J0SW50ZXJuYWwqIGludGVybmFsKQoreworICAgIGNh
bGxPbk1haW5UaHJlYWQoW3Byb3RlY3RlZFRoaXMgPSBtYWtlUmVmKCp0aGlzKSwgc3RhdGUgPSBp
bnRlcm5hbC0+Z2F0aGVyaW5nX3N0YXRlKCldIHsKKyAgICAgICAgaWYgKHByb3RlY3RlZFRoaXMt
Pm1fY2xpZW50KQorICAgICAgICAgICAgcHJvdGVjdGVkVGhpcy0+bV9jbGllbnQtPm9uR2F0aGVy
aW5nU3RhdGVDaGFuZ2VkKHRvUlRDSWNlR2F0aGVyaW5nU3RhdGUoc3RhdGUpKTsKKyAgICB9KTsK
K30KKworTGliV2ViUlRDSWNlVHJhbnNwb3J0QmFja2VuZDo6TGliV2ViUlRDSWNlVHJhbnNwb3J0
QmFja2VuZChydGM6OnNjb3BlZF9yZWZwdHI8d2VicnRjOjpJY2VUcmFuc3BvcnRJbnRlcmZhY2U+
JiYgYmFja2VuZCkKKyAgICA6IG1fYmFja2VuZChXVEZNb3ZlKGJhY2tlbmQpKQoreworICAgIEFT
U0VSVChtX2JhY2tlbmQpOworfQorCitMaWJXZWJSVENJY2VUcmFuc3BvcnRCYWNrZW5kOjp+TGli
V2ViUlRDSWNlVHJhbnNwb3J0QmFja2VuZCgpCit7Cit9CisKK3ZvaWQgTGliV2ViUlRDSWNlVHJh
bnNwb3J0QmFja2VuZDo6cmVnaXN0ZXJDbGllbnQoQ2xpZW50JiBjbGllbnQpCit7CisgICAgQVNT
RVJUKCFtX29ic2VydmVyKTsKKyAgICBtX29ic2VydmVyID0gTGliV2ViUlRDSWNlVHJhbnNwb3J0
QmFja2VuZE9ic2VydmVyOjpjcmVhdGUoY2xpZW50LCBtX2JhY2tlbmQpOworICAgIG1fb2JzZXJ2
ZXItPnN0YXJ0KCk7Cit9CisKK3ZvaWQgTGliV2ViUlRDSWNlVHJhbnNwb3J0QmFja2VuZDo6dW5y
ZWdpc3RlckNsaWVudCgpCit7CisgICAgQVNTRVJUKG1fb2JzZXJ2ZXIpOworICAgIG1fb2JzZXJ2
ZXItPnN0b3AoKTsKK30KKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQorCisjZW5kaWYgLy8gRU5B
QkxFKFdFQl9SVEMpICYmIFVTRShMSUJXRUJSVEMpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL21lZGlhc3RyZWFtL2xpYndlYnJ0Yy9MaWJXZWJSVENJY2VUcmFuc3BvcnRCYWNr
ZW5kLmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL2xpYndlYnJ0Yy9MaWJX
ZWJSVENJY2VUcmFuc3BvcnRCYWNrZW5kLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZWJiNmZmNmIyZDdmNjE2MTgw
MmFhMDg4ZTc0MDdmZTFiODk2OGU0ZAotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvbWVkaWFzdHJlYW0vbGlid2VicnRjL0xpYldlYlJUQ0ljZVRyYW5zcG9ydEJhY2tl
bmQuaApAQCAtMCwwICsxLDY0IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDIxIEFwcGxlIElu
Yy4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZv
cm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92
aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuICBS
ZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHly
aWdodAorICogICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xs
b3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuICBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0g
bXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgIG5vdGljZSwgdGhpcyBs
aXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAq
ICAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0
aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQ
TEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycgQU5EIEFOWQorICogRVhQUkVT
UyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBU
SEUgSU1QTElFRAorICogV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1Mg
Rk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRQorICogRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQg
U0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZCisg
KiBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENP
TlNFUVVFTlRJQUwgREFNQUdFUworICogKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQ
Uk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOworICogTE9TUyBPRiBV
U0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBD
QVVTRUQgQU5EIE9OCisgKiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05U
UkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNF
IE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMK
KyAqIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0gg
REFNQUdFLgorICovCisKKyNwcmFnbWEgb25jZQorCisjaWYgRU5BQkxFKFdFQl9SVEMpCisKKyNp
bmNsdWRlICJMaWJXZWJSVENNYWNyb3MuaCIKKyNpbmNsdWRlICJSVENJY2VUcmFuc3BvcnRCYWNr
ZW5kLmgiCisKK0FMTE9XX1VOVVNFRF9QQVJBTUVURVJTX0JFR0lOCisKKyNpbmNsdWRlIDx3ZWJy
dGMvYXBpL3Njb3BlZF9yZWZwdHIuaD4KKworQUxMT1dfVU5VU0VEX1BBUkFNRVRFUlNfRU5ECisK
K25hbWVzcGFjZSB3ZWJydGMgeworY2xhc3MgSWNlVHJhbnNwb3J0SW50ZXJmYWNlOworfQorCitu
YW1lc3BhY2UgV2ViQ29yZSB7CisKK2NsYXNzIExpYldlYlJUQ0ljZVRyYW5zcG9ydEJhY2tlbmRP
YnNlcnZlcjsKKworY2xhc3MgTGliV2ViUlRDSWNlVHJhbnNwb3J0QmFja2VuZCBmaW5hbCA6IHB1
YmxpYyBSVENJY2VUcmFuc3BvcnRCYWNrZW5kIHsKKyAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRF
RDsKK3B1YmxpYzoKKyAgICBleHBsaWNpdCBMaWJXZWJSVENJY2VUcmFuc3BvcnRCYWNrZW5kKHJ0
Yzo6c2NvcGVkX3JlZnB0cjx3ZWJydGM6OkljZVRyYW5zcG9ydEludGVyZmFjZT4mJik7CisgICAg
fkxpYldlYlJUQ0ljZVRyYW5zcG9ydEJhY2tlbmQoKTsKKworcHJpdmF0ZToKKyAgICAvLyBSVENJ
Y2VUcmFuc3BvcnRCYWNrZW5kCisgICAgY29uc3Qgdm9pZCogYmFja2VuZCgpIGNvbnN0IGZpbmFs
IHsgcmV0dXJuIG1fYmFja2VuZC5nZXQoKTsgfQorICAgIHZvaWQgcmVnaXN0ZXJDbGllbnQoQ2xp
ZW50JikgZmluYWw7CisgICAgdm9pZCB1bnJlZ2lzdGVyQ2xpZW50KCkgZmluYWw7CisKKyAgICBy
dGM6OnNjb3BlZF9yZWZwdHI8d2VicnRjOjpJY2VUcmFuc3BvcnRJbnRlcmZhY2U+IG1fYmFja2Vu
ZDsKKyAgICBSZWZQdHI8TGliV2ViUlRDSWNlVHJhbnNwb3J0QmFja2VuZE9ic2VydmVyPiBtX29i
c2VydmVyOworfTsKKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQorCisjZW5kaWYgLy8gRU5BQkxF
KFdFQl9SVEMpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFt
L2xpYndlYnJ0Yy9MaWJXZWJSVENNZWRpYUVuZHBvaW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvbWVkaWFzdHJlYW0vbGlid2VicnRjL0xpYldlYlJUQ01lZGlhRW5kcG9pbnQuY3BwCmlu
ZGV4IDRhMDViMWRlYmJiZWVjZTRmZWRkYTI0Yzg1ODUzZTY5MzFiNWM3NzUuLmEzMWJjN2FlYWZl
ZDFiMDg5OTZjY2I5ZGVhOGU0MmIyM2Y5ODM2ZTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvbWVkaWFzdHJlYW0vbGlid2VicnRjL0xpYldlYlJUQ01lZGlhRW5kcG9pbnQuY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vbGlid2VicnRjL0xpYldl
YlJUQ01lZGlhRW5kcG9pbnQuY3BwCkBAIC01OTgsOCArNTk4LDcgQEAgdm9pZCBMaWJXZWJSVENN
ZWRpYUVuZHBvaW50OjpPbkljZUNvbm5lY3Rpb25DaGFuZ2Uod2VicnRjOjpQZWVyQ29ubmVjdGlv
bkludGVyZmEKICAgICBjYWxsT25NYWluVGhyZWFkKFtwcm90ZWN0ZWRUaGlzID0gbWFrZVJlZigq
dGhpcyksIGNvbm5lY3Rpb25TdGF0ZV0gewogICAgICAgICBpZiAocHJvdGVjdGVkVGhpcy0+aXNT
dG9wcGVkKCkpCiAgICAgICAgICAgICByZXR1cm47Ci0gICAgICAgIGlmIChwcm90ZWN0ZWRUaGlz
LT5tX3BlZXJDb25uZWN0aW9uQmFja2VuZC5jb25uZWN0aW9uKCkuaWNlQ29ubmVjdGlvblN0YXRl
KCkgIT0gY29ubmVjdGlvblN0YXRlKQotICAgICAgICAgICAgcHJvdGVjdGVkVGhpcy0+bV9wZWVy
Q29ubmVjdGlvbkJhY2tlbmQuY29ubmVjdGlvbigpLnVwZGF0ZUljZUNvbm5lY3Rpb25TdGF0ZShj
b25uZWN0aW9uU3RhdGUpOworICAgICAgICBwcm90ZWN0ZWRUaGlzLT5tX3BlZXJDb25uZWN0aW9u
QmFja2VuZC5jb25uZWN0aW9uKCkudXBkYXRlSWNlQ29ubmVjdGlvblN0YXRlKGNvbm5lY3Rpb25T
dGF0ZSk7CiAgICAgfSk7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1NvdXJjZXMu
dHh0IGIvU291cmNlL1dlYkNvcmUvU291cmNlcy50eHQKaW5kZXggNmQ1OWRjM2ZkODc4NGFjMzU3
NjBhZGRmNWQ5MjA1OGQyNTg0ZDA3Yi4uZmJiZWQ4M2E0ZGQ4MTk1MjAwMTAyZjcyODE5NTMyZWVm
OTg3YzljNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvU291cmNlcy50eHQKKysrIGIvU291
cmNlL1dlYkNvcmUvU291cmNlcy50eHQKQEAgLTE4OCw2ICsxODgsNyBAQCBNb2R1bGVzL21lZGlh
c3RyZWFtL1VzZXJNZWRpYUNvbnRyb2xsZXIuY3BwCiBNb2R1bGVzL21lZGlhc3RyZWFtL1VzZXJN
ZWRpYVJlcXVlc3QuY3BwCiBNb2R1bGVzL21lZGlhc3RyZWFtL2xpYndlYnJ0Yy9MaWJXZWJSVEND
ZXJ0aWZpY2F0ZUdlbmVyYXRvci5jcHAKIE1vZHVsZXMvbWVkaWFzdHJlYW0vbGlid2VicnRjL0xp
YldlYlJUQ0R0bHNUcmFuc3BvcnRCYWNrZW5kLmNwcAorTW9kdWxlcy9tZWRpYXN0cmVhbS9saWJ3
ZWJydGMvTGliV2ViUlRDSWNlVHJhbnNwb3J0QmFja2VuZC5jcHAKIE1vZHVsZXMvbWVkaWFzdHJl
YW0vbGlid2VicnRjL0xpYldlYlJUQ1J0cFJlY2VpdmVyVHJhbnNmb3JtQmFja2VuZC5jcHAKIE1v
ZHVsZXMvbWVkaWFzdHJlYW0vbGlid2VicnRjL0xpYldlYlJUQ1J0cFNlbmRlclRyYW5zZm9ybUJh
Y2tlbmQuY3BwCiBNb2R1bGVzL21lZGlhc3RyZWFtL2xpYndlYnJ0Yy9MaWJXZWJSVENSdHBUcmFu
c2Zvcm1CYWNrZW5kLmNwcApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29k
ZXByb2ovcHJvamVjdC5wYnhwcm9qIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ov
cHJvamVjdC5wYnhwcm9qCmluZGV4IGQwYWEwZThkMmI5YjkxMDczYjk4M2E2OGNmNTlmN2U2NmEy
YTUzNzUuLmI0MDMxMWI1ZmU1OTJjMmMzY2RlMTY4OTdhNDdiMWEwMDUzNDU2ODggMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKQEAgLTc3
OTYsNiArNzc5Niw5IEBACiAJCTQxNDE4QTA1MjU2NjYwQUYwMDM2MzQxNyAvKiBSVENFbmNvZGVk
RnJhbWUuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gUlRDRW5jb2Rl
ZEZyYW1lLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNDE0MThBMDYyNTY2NjBC
MDAwMzYzNDE3IC8qIFJUQ0VuY29kZWRGcmFtZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7
IHBhdGggPSBSVENFbmNvZGVkRnJhbWUuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJ
NDE0NDYwQTAyNDEyOTk0MTAwODE0QkU3IC8qIE1lZGlhU2Vzc2lvbklkZW50aWZpZXIuaCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gTWVkaWFTZXNzaW9uSWRlbnRpZmllci5oOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk0MTQ1MTZERDI2Q0MwNDBEMDBBQUFCRTAgLyog
TGliV2ViUlRDSWNlVHJhbnNwb3J0QmFja2VuZC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IG5hbWUgPSBMaWJXZWJSVENJ
Y2VUcmFuc3BvcnRCYWNrZW5kLmg7IHBhdGggPSBsaWJ3ZWJydGMvTGliV2ViUlRDSWNlVHJhbnNw
b3J0QmFja2VuZC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk0MTQ1MTZERjI2Q0Mw
NDBEMDBBQUFCRTAgLyogTGliV2ViUlRDSWNlVHJhbnNwb3J0QmFja2VuZC5jcHAgKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5j
cHA7IG5hbWUgPSBMaWJXZWJSVENJY2VUcmFuc3BvcnRCYWNrZW5kLmNwcDsgcGF0aCA9IGxpYndl
YnJ0Yy9MaWJXZWJSVENJY2VUcmFuc3BvcnRCYWNrZW5kLmNwcDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKKwkJNDE0NTE2RTAyNkNDMDQyMTAwQUFBQkUwIC8qIFJUQ0ljZVRyYW5zcG9ydEJh
Y2tlbmQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gUlRDSWNlVHJhbnNwb3J0QmFja2VuZC5oOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OwogCQk0MTQ1OThCRTIzQzhBQUI4MDAyQjlDQzggLyogU2FtcGxl
QnVmZmVyRGlzcGxheUxheWVyLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFNh
bXBsZUJ1ZmZlckRpc3BsYXlMYXllci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk0
MTQ1OThDMDIzQzhBRDc4MDAyQjlDQzggLyogTG9jYWxTYW1wbGVCdWZmZXJEaXNwbGF5TGF5ZXIu
aCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gTG9jYWxTYW1wbGVCdWZmZXJEaXNw
bGF5TGF5ZXIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNDE0NTk4QzEyM0M4QUQ3
OTAwMkI5Q0M4IC8qIExvY2FsU2FtcGxlQnVmZmVyRGlzcGxheUxheWVyLm1tICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jcHAub2JqY3BwOyBwYXRoID0gTG9jYWxTYW1wbGVCdWZmZXJEaXNwbGF5TGF5
ZXIubW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0xNzIwNyw2ICsxNzIxMCw3IEBA
CiAJCQkJMzE2RENCODgxRTdBNjk5NjAwMUI1Rjg3IC8qIFJUQ0ljZVRyYW5zcG9ydC5jcHAgKi8s
CiAJCQkJNUU2NjUzMDkxREE0MzdCRjAwRkREODRDIC8qIFJUQ0ljZVRyYW5zcG9ydC5oICovLAog
CQkJCTMxNkRDQjg5MUU3QTY5OTYwMDFCNUY4NyAvKiBSVENJY2VUcmFuc3BvcnQuaWRsICovLAor
CQkJCTQxNDUxNkUwMjZDQzA0MjEwMEFBQUJFMCAvKiBSVENJY2VUcmFuc3BvcnRCYWNrZW5kLmgg
Ki8sCiAJCQkJMzE2RENCOEUxRTdBNkM3OTAwMUI1Rjg3IC8qIFJUQ0ljZVRyYW5zcG9ydFN0YXRl
LmlkbCAqLywKIAkJCQkwNzM3OTREQzE5RUUyQzUyMDBFNUEwNDUgLyogUlRDT2ZmZXJBbnN3ZXJP
cHRpb25zLmggKi8sCiAJCQkJMzE2RENCMTIxRTc4QkU0MzAwMUI1Rjg3IC8qIFJUQ09mZmVyQW5z
d2VyT3B0aW9ucy5pZGwgKi8sCkBAIC0xOTMxNyw2ICsxOTMyMSw4IEBACiAJCQkJNUNERDgzNDAx
RTQzMjUzRDAwNjIxRTkyIC8qIExpYldlYlJUQ0RhdGFDaGFubmVsSGFuZGxlci5oICovLAogCQkJ
CTQxODhENTY0MjZDNTUzMEIwMDQ4NThDOCAvKiBMaWJXZWJSVENEdGxzVHJhbnNwb3J0QmFja2Vu
ZC5jcHAgKi8sCiAJCQkJNDE4OEQ1NjUyNkM1NTMwQjAwNDg1OEM4IC8qIExpYldlYlJUQ0R0bHNU
cmFuc3BvcnRCYWNrZW5kLmggKi8sCisJCQkJNDE0NTE2REYyNkNDMDQwRDAwQUFBQkUwIC8qIExp
YldlYlJUQ0ljZVRyYW5zcG9ydEJhY2tlbmQuY3BwICovLAorCQkJCTQxNDUxNkREMjZDQzA0MEQw
MEFBQUJFMCAvKiBMaWJXZWJSVENJY2VUcmFuc3BvcnRCYWNrZW5kLmggKi8sCiAJCQkJNDE3NjEy
QUIxRTNBOTkzQjAwQzNEODFEIC8qIExpYldlYlJUQ01lZGlhRW5kcG9pbnQuY3BwICovLAogCQkJ
CTQxNzYxMkFDMUUzQTk5M0IwMEMzRDgxRCAvKiBMaWJXZWJSVENNZWRpYUVuZHBvaW50LmggKi8s
CiAJCQkJNDE1QTNCNzMyMTM4RTI2NDAwMUI0QkFBIC8qIExpYldlYlJUQ09ic2VydmVycy5oICov
LApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL0V2ZW50TmFtZXMuaCBiL1NvdXJjZS9X
ZWJDb3JlL2RvbS9FdmVudE5hbWVzLmgKaW5kZXggNGYwOWM4MmU1YjJmZjA0ZGExZWZkYTI5MmJj
OTAyNzc0YzdjYjI5My4uNGFiZmQ1ZDdjMzBjYTM2YTNlNmZhNzMzYmMwYjdhNWRhOWJhYzRhMiAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL0V2ZW50TmFtZXMuaAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9kb20vRXZlbnROYW1lcy5oCkBAIC0xMzcsNiArMTM3LDcgQEAgbmFtZXNwYWNlIFdl
YkNvcmUgewogICAgIG1hY3JvKGZvcm1kYXRhKSBcCiAgICAgbWFjcm8oZ2FtZXBhZGNvbm5lY3Rl
ZCkgXAogICAgIG1hY3JvKGdhbWVwYWRkaXNjb25uZWN0ZWQpIFwKKyAgICBtYWNybyhnYXRoZXJp
bmdzdGF0ZWNoYW5nZSkgXAogICAgIG1hY3JvKGdlc3R1cmVjaGFuZ2UpIFwKICAgICBtYWNybyhn
ZXN0dXJlZW5kKSBcCiAgICAgbWFjcm8oZ2VzdHVyZXNjcm9sbGVuZCkgXApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvZG9tL0V2ZW50VGFyZ2V0RmFjdG9yeS5pbiBiL1NvdXJjZS9XZWJDb3Jl
L2RvbS9FdmVudFRhcmdldEZhY3RvcnkuaW4KaW5kZXggNWU1OGYxMTE2NjdlZjYyMTBkNTMxMTBk
N2I1NGE4MDJjODQzOTVkOC4uM2Q4MDNhZDU1OWMxNWZhMGNjZDBkMDJjYTg4MjY1ZDg1Y2ViNmFh
ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL0V2ZW50VGFyZ2V0RmFjdG9yeS5pbgor
KysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRXZlbnRUYXJnZXRGYWN0b3J5LmluCkBAIC00MCw2ICs0
MCw3IEBAIFJlbW90ZVBsYXliYWNrIGNvbmRpdGlvbmFsPVdJUkVMRVNTX1BMQVlCQUNLX1RBUkdF
VAogUlRDRGF0YUNoYW5uZWwgY29uZGl0aW9uYWw9V0VCX1JUQwogUlRDRHRsc1RyYW5zcG9ydCBj
b25kaXRpb25hbD1XRUJfUlRDCiBSVENEVE1GU2VuZGVyIGNvbmRpdGlvbmFsPVdFQl9SVEMKK1JU
Q0ljZVRyYW5zcG9ydCBjb25kaXRpb25hbD1XRUJfUlRDCiBSVENQZWVyQ29ubmVjdGlvbiBjb25k
aXRpb25hbD1XRUJfUlRDCiBSVENSdHBTRnJhbWVUcmFuc2Zvcm0gY29uZGl0aW9uYWw9V0VCX1JU
QwogUlRDUnRwU2NyaXB0VHJhbnNmb3JtIGNvbmRpdGlvbmFsPVdFQl9SVEMKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2MvQ2hhbmdlTG9nCmluZGV4IDgxYzM4ZmY3MzY3NDRjNjQxNjZlZGM3OWVhYjAwMWQ5NTIw
MWZhNzguLjQ0NjQ3MjQ4MDBhZjZmOTIyZTdlOWM2ZjhlZGUzOTFiYTViN2FlYzMgMTAwNjQ0Ci0t
LSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL0NoYW5nZUxvZwpAQCAtMSwzICsxLDEzIEBACisyMDIxLTA4LTI2ICBZb3Vl
bm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KKworICAgICAgICBBZGQgc3VwcG9ydCBmb3Ig
UlRDSWNlVHJhbnNwb3J0CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD0yMjkyODUKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKwor
ICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy93ZWJydGMvaWRsaGFybmVzcy5odHRwcy53aW5k
b3ctZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy93ZWJydGMvcHJv
dG9jb2wvYnVuZGxlLmh0dHBzLWV4cGVjdGVkLnR4dDoKKwogMjAyMS0wOC0yNiAgWW91ZW5uIEZh
YmxldCAgPHlvdWVubkBhcHBsZS5jb20+CiAKICAgICAgICAgU2lnbmFsaW5nIHN0YXRlIGNoZWNr
IHdoZW4gYXBwbHlpbmcgYSBsb2NhbCBvciByZW1vdGUgZGVzY3JpcHRpb24gaXMgbm8gbG9uZ2Vy
IGFsaWduZWQgd2l0aCB0aGUgV2ViUlRDIHNwZWMKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd2VicnRjL2lkbGhhcm5lc3MuaHR0cHMud2lu
ZG93LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvd2VicnRjL2lkbGhhcm5lc3MuaHR0cHMud2luZG93LWV4cGVjdGVkLnR4dAppbmRleCA5
OTgwZjRlYTEyM2YxYThiNzBjYjU5NzgxYjkyMDM5YmMyYmFhNWZjLi4wMTQ2MmQwN2E2ZWE3MGM1
NTZkNDBmNzc0MjMyZjcxODU3OWJmNzJhIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dlYnJ0Yy9pZGxoYXJuZXNzLmh0dHBzLndpbmRvdy1l
eHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy93ZWJydGMvaWRsaGFybmVzcy5odHRwcy53aW5kb3ctZXhwZWN0ZWQudHh0CkBAIC0zMDcs
NyArMzA3LDcgQEAgUEFTUyBSVENEdGxzVHJhbnNwb3J0IGludGVyZmFjZSBvYmplY3QgbmFtZQog
UEFTUyBSVENEdGxzVHJhbnNwb3J0IGludGVyZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVz
IG9mIGludGVyZmFjZSBwcm90b3R5cGUgb2JqZWN0CiBQQVNTIFJUQ0R0bHNUcmFuc3BvcnQgaW50
ZXJmYWNlOiBleGlzdGVuY2UgYW5kIHByb3BlcnRpZXMgb2YgaW50ZXJmYWNlIHByb3RvdHlwZSBv
YmplY3QncyAiY29uc3RydWN0b3IiIHByb3BlcnR5CiBQQVNTIFJUQ0R0bHNUcmFuc3BvcnQgaW50
ZXJmYWNlOiBleGlzdGVuY2UgYW5kIHByb3BlcnRpZXMgb2YgaW50ZXJmYWNlIHByb3RvdHlwZSBv
YmplY3QncyBAQHVuc2NvcGFibGVzIHByb3BlcnR5Ci1GQUlMIFJUQ0R0bHNUcmFuc3BvcnQgaW50
ZXJmYWNlOiBhdHRyaWJ1dGUgaWNlVHJhbnNwb3J0IGFzc2VydF90cnVlOiBUaGUgcHJvdG90eXBl
IG9iamVjdCBtdXN0IGhhdmUgYSBwcm9wZXJ0eSAiaWNlVHJhbnNwb3J0IiBleHBlY3RlZCB0cnVl
IGdvdCBmYWxzZQorUEFTUyBSVENEdGxzVHJhbnNwb3J0IGludGVyZmFjZTogYXR0cmlidXRlIGlj
ZVRyYW5zcG9ydAogUEFTUyBSVENEdGxzVHJhbnNwb3J0IGludGVyZmFjZTogYXR0cmlidXRlIHN0
YXRlCiBQQVNTIFJUQ0R0bHNUcmFuc3BvcnQgaW50ZXJmYWNlOiBvcGVyYXRpb24gZ2V0UmVtb3Rl
Q2VydGlmaWNhdGVzKCkKIFBBU1MgUlRDRHRsc1RyYW5zcG9ydCBpbnRlcmZhY2U6IGF0dHJpYnV0
ZSBvbnN0YXRlY2hhbmdlCkBAIC0zMTksMTQgKzMxOSwxMCBAQCBGQUlMIFJUQ0R0bHNUcmFuc3Bv
cnQgaW50ZXJmYWNlOiBpZGxUZXN0T2JqZWN0cy5kdGxzVHJhbnNwb3J0IG11c3QgaW5oZXJpdCBw
cm9wZQogRkFJTCBSVENEdGxzVHJhbnNwb3J0IGludGVyZmFjZTogaWRsVGVzdE9iamVjdHMuZHRs
c1RyYW5zcG9ydCBtdXN0IGluaGVyaXQgcHJvcGVydHkgImdldFJlbW90ZUNlcnRpZmljYXRlcygp
IiB3aXRoIHRoZSBwcm9wZXIgdHlwZSBhc3NlcnRfZXF1YWxzOiB3cm9uZyB0eXBlb2Ygb2JqZWN0
IGV4cGVjdGVkICJvYmplY3QiIGJ1dCBnb3QgInVuZGVmaW5lZCIKIEZBSUwgUlRDRHRsc1RyYW5z
cG9ydCBpbnRlcmZhY2U6IGlkbFRlc3RPYmplY3RzLmR0bHNUcmFuc3BvcnQgbXVzdCBpbmhlcml0
IHByb3BlcnR5ICJvbnN0YXRlY2hhbmdlIiB3aXRoIHRoZSBwcm9wZXIgdHlwZSBhc3NlcnRfZXF1
YWxzOiB3cm9uZyB0eXBlb2Ygb2JqZWN0IGV4cGVjdGVkICJvYmplY3QiIGJ1dCBnb3QgInVuZGVm
aW5lZCIKIEZBSUwgUlRDRHRsc1RyYW5zcG9ydCBpbnRlcmZhY2U6IGlkbFRlc3RPYmplY3RzLmR0
bHNUcmFuc3BvcnQgbXVzdCBpbmhlcml0IHByb3BlcnR5ICJvbmVycm9yIiB3aXRoIHRoZSBwcm9w
ZXIgdHlwZSBhc3NlcnRfZXF1YWxzOiB3cm9uZyB0eXBlb2Ygb2JqZWN0IGV4cGVjdGVkICJvYmpl
Y3QiIGJ1dCBnb3QgInVuZGVmaW5lZCIKLUZBSUwgUlRDSWNlVHJhbnNwb3J0IGludGVyZmFjZTog
ZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVzIG9mIGludGVyZmFjZSBvYmplY3QgYXNzZXJ0X2VxdWFs
czogcHJvdG90eXBlIG9mIFJUQ0ljZVRyYW5zcG9ydCBpcyBub3QgRXZlbnRUYXJnZXQgZXhwZWN0
ZWQgZnVuY3Rpb24gImZ1bmN0aW9uIEV2ZW50VGFyZ2V0KCkgewotICAgIFtuYXRpdmUgY29kZV0K
LX0iIGJ1dCBnb3QgZnVuY3Rpb24gImZ1bmN0aW9uICgpIHsKLSAgICBbbmF0aXZlIGNvZGVdCi19
IgorUEFTUyBSVENJY2VUcmFuc3BvcnQgaW50ZXJmYWNlOiBleGlzdGVuY2UgYW5kIHByb3BlcnRp
ZXMgb2YgaW50ZXJmYWNlIG9iamVjdAogUEFTUyBSVENJY2VUcmFuc3BvcnQgaW50ZXJmYWNlIG9i
amVjdCBsZW5ndGgKIFBBU1MgUlRDSWNlVHJhbnNwb3J0IGludGVyZmFjZSBvYmplY3QgbmFtZQot
RkFJTCBSVENJY2VUcmFuc3BvcnQgaW50ZXJmYWNlOiBleGlzdGVuY2UgYW5kIHByb3BlcnRpZXMg
b2YgaW50ZXJmYWNlIHByb3RvdHlwZSBvYmplY3QgYXNzZXJ0X2VxdWFsczogcHJvdG90eXBlIG9m
IFJUQ0ljZVRyYW5zcG9ydC5wcm90b3R5cGUgaXMgbm90IEV2ZW50VGFyZ2V0LnByb3RvdHlwZSBl
eHBlY3RlZCBvYmplY3QgIltvYmplY3QgRXZlbnRUYXJnZXRdIiBidXQgZ290IG9iamVjdCAiW29i
amVjdCBPYmplY3RdIgorUEFTUyBSVENJY2VUcmFuc3BvcnQgaW50ZXJmYWNlOiBleGlzdGVuY2Ug
YW5kIHByb3BlcnRpZXMgb2YgaW50ZXJmYWNlIHByb3RvdHlwZSBvYmplY3QKIFBBU1MgUlRDSWNl
VHJhbnNwb3J0IGludGVyZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVzIG9mIGludGVyZmFj
ZSBwcm90b3R5cGUgb2JqZWN0J3MgImNvbnN0cnVjdG9yIiBwcm9wZXJ0eQogUEFTUyBSVENJY2VU
cmFuc3BvcnQgaW50ZXJmYWNlOiBleGlzdGVuY2UgYW5kIHByb3BlcnRpZXMgb2YgaW50ZXJmYWNl
IHByb3RvdHlwZSBvYmplY3QncyBAQHVuc2NvcGFibGVzIHByb3BlcnR5CiBGQUlMIFJUQ0ljZVRy
YW5zcG9ydCBpbnRlcmZhY2U6IGF0dHJpYnV0ZSByb2xlIGFzc2VydF90cnVlOiBUaGUgcHJvdG90
eXBlIG9iamVjdCBtdXN0IGhhdmUgYSBwcm9wZXJ0eSAicm9sZSIgZXhwZWN0ZWQgdHJ1ZSBnb3Qg
ZmFsc2UKQEAgLTMzOCw4ICszMzQsOCBAQCBGQUlMIFJUQ0ljZVRyYW5zcG9ydCBpbnRlcmZhY2U6
IG9wZXJhdGlvbiBnZXRSZW1vdGVDYW5kaWRhdGVzKCkgYXNzZXJ0X293bl9wcm9wZQogRkFJTCBS
VENJY2VUcmFuc3BvcnQgaW50ZXJmYWNlOiBvcGVyYXRpb24gZ2V0U2VsZWN0ZWRDYW5kaWRhdGVQ
YWlyKCkgYXNzZXJ0X293bl9wcm9wZXJ0eTogaW50ZXJmYWNlIHByb3RvdHlwZSBvYmplY3QgbWlz
c2luZyBub24tc3RhdGljIG9wZXJhdGlvbiBleHBlY3RlZCBwcm9wZXJ0eSAiZ2V0U2VsZWN0ZWRD
YW5kaWRhdGVQYWlyIiBtaXNzaW5nCiBGQUlMIFJUQ0ljZVRyYW5zcG9ydCBpbnRlcmZhY2U6IG9w
ZXJhdGlvbiBnZXRMb2NhbFBhcmFtZXRlcnMoKSBhc3NlcnRfb3duX3Byb3BlcnR5OiBpbnRlcmZh
Y2UgcHJvdG90eXBlIG9iamVjdCBtaXNzaW5nIG5vbi1zdGF0aWMgb3BlcmF0aW9uIGV4cGVjdGVk
IHByb3BlcnR5ICJnZXRMb2NhbFBhcmFtZXRlcnMiIG1pc3NpbmcKIEZBSUwgUlRDSWNlVHJhbnNw
b3J0IGludGVyZmFjZTogb3BlcmF0aW9uIGdldFJlbW90ZVBhcmFtZXRlcnMoKSBhc3NlcnRfb3du
X3Byb3BlcnR5OiBpbnRlcmZhY2UgcHJvdG90eXBlIG9iamVjdCBtaXNzaW5nIG5vbi1zdGF0aWMg
b3BlcmF0aW9uIGV4cGVjdGVkIHByb3BlcnR5ICJnZXRSZW1vdGVQYXJhbWV0ZXJzIiBtaXNzaW5n
Ci1GQUlMIFJUQ0ljZVRyYW5zcG9ydCBpbnRlcmZhY2U6IGF0dHJpYnV0ZSBvbnN0YXRlY2hhbmdl
IGFzc2VydF90cnVlOiBUaGUgcHJvdG90eXBlIG9iamVjdCBtdXN0IGhhdmUgYSBwcm9wZXJ0eSAi
b25zdGF0ZWNoYW5nZSIgZXhwZWN0ZWQgdHJ1ZSBnb3QgZmFsc2UKLUZBSUwgUlRDSWNlVHJhbnNw
b3J0IGludGVyZmFjZTogYXR0cmlidXRlIG9uZ2F0aGVyaW5nc3RhdGVjaGFuZ2UgYXNzZXJ0X3Ry
dWU6IFRoZSBwcm90b3R5cGUgb2JqZWN0IG11c3QgaGF2ZSBhIHByb3BlcnR5ICJvbmdhdGhlcmlu
Z3N0YXRlY2hhbmdlIiBleHBlY3RlZCB0cnVlIGdvdCBmYWxzZQorUEFTUyBSVENJY2VUcmFuc3Bv
cnQgaW50ZXJmYWNlOiBhdHRyaWJ1dGUgb25zdGF0ZWNoYW5nZQorUEFTUyBSVENJY2VUcmFuc3Bv
cnQgaW50ZXJmYWNlOiBhdHRyaWJ1dGUgb25nYXRoZXJpbmdzdGF0ZWNoYW5nZQogRkFJTCBSVENJ
Y2VUcmFuc3BvcnQgaW50ZXJmYWNlOiBhdHRyaWJ1dGUgb25zZWxlY3RlZGNhbmRpZGF0ZXBhaXJj
aGFuZ2UgYXNzZXJ0X3RydWU6IFRoZSBwcm90b3R5cGUgb2JqZWN0IG11c3QgaGF2ZSBhIHByb3Bl
cnR5ICJvbnNlbGVjdGVkY2FuZGlkYXRlcGFpcmNoYW5nZSIgZXhwZWN0ZWQgdHJ1ZSBnb3QgZmFs
c2UKIEZBSUwgUlRDSWNlVHJhbnNwb3J0IG11c3QgYmUgcHJpbWFyeSBpbnRlcmZhY2Ugb2YgaWRs
VGVzdE9iamVjdHMuaWNlVHJhbnNwb3J0IGFzc2VydF9lcXVhbHM6IHdyb25nIHR5cGVvZiBvYmpl
Y3QgZXhwZWN0ZWQgIm9iamVjdCIgYnV0IGdvdCAidW5kZWZpbmVkIgogRkFJTCBTdHJpbmdpZmlj
YXRpb24gb2YgaWRsVGVzdE9iamVjdHMuaWNlVHJhbnNwb3J0IGFzc2VydF9lcXVhbHM6IHdyb25n
IHR5cGVvZiBvYmplY3QgZXhwZWN0ZWQgIm9iamVjdCIgYnV0IGdvdCAidW5kZWZpbmVkIgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93ZWJy
dGMvcHJvdG9jb2wvYnVuZGxlLmh0dHBzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd2VicnRjL3Byb3RvY29sL2J1bmRsZS5odHRwcy1l
eHBlY3RlZC50eHQKaW5kZXggMzZlNjM4MWIxNGQ3YjQ5ZDM1MjZlYjM2ZWQ2MzBlNzZjYzE3NzRm
My4uODNlZjU2YTBkOGI4MzI1NzI3ODM5Mjc2ZWZkYmUzZjcyYzg0MjcyMSAxMDA2NDQKLS0tIGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93ZWJydGMvcHJvdG9j
b2wvYnVuZGxlLmh0dHBzLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dlYnJ0Yy9wcm90b2NvbC9idW5kbGUuaHR0cHMtZXhwZWN0
ZWQudHh0CkBAIC0xLDQgKzEsNCBAQAogCi1GQUlMIG5vdCBuZWdvdGlhdGluZyBCVU5ETEUgY3Jl
YXRlcyB0d28gc2VwYXJhdGUgaWNlIGFuZCBkdGxzIHRyYW5zcG9ydHMgYXNzZXJ0X25vdF9lcXVh
bHM6IGdvdCBkaXNhbGxvd2VkIHZhbHVlIHVuZGVmaW5lZAorUEFTUyBub3QgbmVnb3RpYXRpbmcg
QlVORExFIGNyZWF0ZXMgdHdvIHNlcGFyYXRlIGljZSBhbmQgZHRscyB0cmFuc3BvcnRzCiBQQVNT
IGJ1bmRsZXMgb24gdGhlIGZpcnN0IHRyYW5zcG9ydCBhbmQgY2xvc2VzIHRoZSBzZWNvbmQKIAo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>436872</attachid>
            <date>2021-08-31 03:48:45 -0700</date>
            <delta_ts>2021-08-31 04:52:40 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-229285-20210831124843.patch</filename>
            <type>text/plain</type>
            <size>30507</size>
            <attacher name="youenn fablet">youennf</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjgxNzkxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNDgyMjkwN2FmY2M5ODIx
NjU3ZjIyYjdlNzZjYWY3Y2ZkYTIzNTkxZC4uN2QwYjAzZDIzYjFmMGQ4NzVjYTBlMzc0OWJkOTYz
ODFlMmE4ODVmMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMyIEBACisyMDIxLTA4LTMxICBZb3Vl
bm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KKworICAgICAgICBNaWdyYXRlIHRvIGxhdGVz
dCBsaWJ3ZWJydGMgQWRkSWNlQ2FuZGlkYXRlCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD0yMjk3MDAKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkg
KE9PUFMhKS4KKworICAgICAgICBBZGRJY2VDYW5kaWRhdGUgY2FuIG5vdyB0YWtlIGEgY2FsbGJh
Y2sgdG8gcmV0dXJuIGEgUlRDRXJyb3Igd2hpY2ggcHJvdmlkZXMgbmVjZXNzYXJ5IGluZm9ybWF0
aW9uIHRvIHJlamVjdCB0aGUgcHJvbWlzZSBhcyBuZWVkZWQuCisgICAgICAgIFVwZGF0ZSBiaW5k
aW5nIGNvZGUgYWNjb3JkaW5nbHkuCisgICAgICAgIFRoaXMgYWxsb3dzIHRvIHVzZSBhIGxhbWJk
YSB0aGF0IHRha2VzIHRoZSBwcm9taXNlIGluc3RlYWQgb2YgaGF2aW5nIHRoZSBwcm9taXNlIGFz
IGEgbWVtYmVyIG9mIFBlZXJDb25uZWN0aW9uQmFja2VuZC4KKyAgICAgICAgQ292ZXJlZCBieSB1
cGRhdGVkIGFuZCByZWJhc2VkIHRlc3RzLgorCisgICAgICAgICogTW9kdWxlcy9tZWRpYXN0cmVh
bS9QZWVyQ29ubmVjdGlvbkJhY2tlbmQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UGVlckNvbm5l
Y3Rpb25CYWNrZW5kOjphZGRJY2VDYW5kaWRhdGUpOgorICAgICAgICAoV2ViQ29yZTo6UGVlckNv
bm5lY3Rpb25CYWNrZW5kOjpzdG9wKToKKyAgICAgICAgKFdlYkNvcmU6OlBlZXJDb25uZWN0aW9u
QmFja2VuZDo6YWRkSWNlQ2FuZGlkYXRlU3VjY2VlZGVkKTogRGVsZXRlZC4KKyAgICAgICAgKFdl
YkNvcmU6OlBlZXJDb25uZWN0aW9uQmFja2VuZDo6YWRkSWNlQ2FuZGlkYXRlRmFpbGVkKTogRGVs
ZXRlZC4KKyAgICAgICAgKiBNb2R1bGVzL21lZGlhc3RyZWFtL1BlZXJDb25uZWN0aW9uQmFja2Vu
ZC5oOgorICAgICAgICAqIE1vZHVsZXMvbWVkaWFzdHJlYW0vbGlid2VicnRjL0xpYldlYlJUQ01l
ZGlhRW5kcG9pbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6TGliV2ViUlRDTWVkaWFFbmRwb2lu
dDo6YWRkSWNlQ2FuZGlkYXRlKToKKyAgICAgICAgKiBNb2R1bGVzL21lZGlhc3RyZWFtL2xpYndl
YnJ0Yy9MaWJXZWJSVENNZWRpYUVuZHBvaW50Lmg6CisgICAgICAgIChXZWJDb3JlOjpMaWJXZWJS
VENNZWRpYUVuZHBvaW50OjphZGRJY2VDYW5kaWRhdGUpOiBEZWxldGVkLgorICAgICAgICAqIE1v
ZHVsZXMvbWVkaWFzdHJlYW0vbGlid2VicnRjL0xpYldlYlJUQ1BlZXJDb25uZWN0aW9uQmFja2Vu
ZC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpMaWJXZWJSVENQZWVyQ29ubmVjdGlvbkJhY2tlbmQ6
OmRvU2V0TG9jYWxEZXNjcmlwdGlvbik6CisgICAgICAgIChXZWJDb3JlOjpMaWJXZWJSVENQZWVy
Q29ubmVjdGlvbkJhY2tlbmQ6OmRvU2V0UmVtb3RlRGVzY3JpcHRpb24pOgorICAgICAgICAoV2Vi
Q29yZTo6TGliV2ViUlRDUGVlckNvbm5lY3Rpb25CYWNrZW5kOjpkb0FkZEljZUNhbmRpZGF0ZSk6
CisgICAgICAgICogTW9kdWxlcy9tZWRpYXN0cmVhbS9saWJ3ZWJydGMvTGliV2ViUlRDUGVlckNv
bm5lY3Rpb25CYWNrZW5kLmg6CisgICAgICAgICogdGVzdGluZy9Nb2NrTGliV2ViUlRDUGVlckNv
bm5lY3Rpb24uaDoKKwogMjAyMS0wOC0yNiAgRGFyaW4gQWRsZXIgIDxkYXJpbkBhcHBsZS5jb20+
CiAKICAgICAgICAgQ3V0IGRvd24gb24gdXNlIG9mIENGR2V0VHlwZUlELCB1c2luZyBkeW5hbWlj
X2NmX2Nhc3QgaW5zdGVhZDsgcmVsYXRlZCBzdHJlYW1saW5pbmcKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vUGVlckNvbm5lY3Rpb25CYWNrZW5kLmNwcCBi
L1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vUGVlckNvbm5lY3Rpb25CYWNrZW5k
LmNwcAppbmRleCA2OWUyYjEzYTRhMGQwNjQyNjZjMjcxNTE5N2U3NjA4NmEwNWMyNTJhLi41YzNl
NjVmODI1YjQ5Nzg3Y2U3MmQwNDU3NjcwMjkwZjFmNmRjNTRlIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1BlZXJDb25uZWN0aW9uQmFja2VuZC5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9QZWVyQ29ubmVjdGlvbkJhY2tl
bmQuY3BwCkBAIC0zNDgsMzUgKzM0OCwxMiBAQCB2b2lkIFBlZXJDb25uZWN0aW9uQmFja2VuZDo6
YWRkSWNlQ2FuZGlkYXRlKFJUQ0ljZUNhbmRpZGF0ZSogaWNlQ2FuZGlkYXRlLCBET01QcgogICAg
ICAgICByZXR1cm47CiAgICAgfQogCi0gICAgbV9hZGRJY2VDYW5kaWRhdGVQcm9taXNlID0gV1RG
OjptYWtlVW5pcXVlPERPTVByb21pc2VEZWZlcnJlZDx2b2lkPj4oV1RGTW92ZShwcm9taXNlKSk7
Ci0gICAgZG9BZGRJY2VDYW5kaWRhdGUoKmljZUNhbmRpZGF0ZSk7Ci19Ci0KLXZvaWQgUGVlckNv
bm5lY3Rpb25CYWNrZW5kOjphZGRJY2VDYW5kaWRhdGVTdWNjZWVkZWQoKQotewotICAgIEFTU0VS
VChpc01haW5UaHJlYWQoKSk7Ci0gICAgQUxXQVlTX0xPRyhMT0dJREVOVElGSUVSLCAiQWRkaW5n
IGljZSBjYW5kaWRhdGUgc3VjY2VlZGVkIik7Ci0KLSAgICBBU1NFUlQobV9hZGRJY2VDYW5kaWRh
dGVQcm9taXNlKTsKLSAgICBtX3BlZXJDb25uZWN0aW9uLmRvVGFzayhbdGhpcywgcHJvbWlzZSA9
IFdURk1vdmUobV9hZGRJY2VDYW5kaWRhdGVQcm9taXNlKV0oKSBtdXRhYmxlIHsKLSAgICAgICAg
aWYgKG1fcGVlckNvbm5lY3Rpb24uaXNDbG9zZWQoKSkKLSAgICAgICAgICAgIHJldHVybjsKLQot
ICAgICAgICBwcm9taXNlLT5yZXNvbHZlKCk7Ci0gICAgfSk7Ci19Ci0KLXZvaWQgUGVlckNvbm5l
Y3Rpb25CYWNrZW5kOjphZGRJY2VDYW5kaWRhdGVGYWlsZWQoRXhjZXB0aW9uJiYgZXhjZXB0aW9u
KQotewotICAgIEFTU0VSVChpc01haW5UaHJlYWQoKSk7Ci0gICAgQUxXQVlTX0xPRyhMT0dJREVO
VElGSUVSLCAiQWRkaW5nIGljZSBjYW5kaWRhdGUgZmFpbGVkOiIsIGV4Y2VwdGlvbi5tZXNzYWdl
KCkpOwotCi0gICAgQVNTRVJUKG1fYWRkSWNlQ2FuZGlkYXRlUHJvbWlzZSk7Ci0gICAgbV9wZWVy
Q29ubmVjdGlvbi5kb1Rhc2soW3RoaXMsIHByb21pc2UgPSBXVEZNb3ZlKG1fYWRkSWNlQ2FuZGlk
YXRlUHJvbWlzZSksIGV4Y2VwdGlvbiA9IFdURk1vdmUoZXhjZXB0aW9uKV0oKSBtdXRhYmxlIHsK
LSAgICAgICAgaWYgKG1fcGVlckNvbm5lY3Rpb24uaXNDbG9zZWQoKSkKKyAgICBkb0FkZEljZUNh
bmRpZGF0ZSgqaWNlQ2FuZGlkYXRlLCBbd2Vha1RoaXMgPSBtYWtlV2Vha1B0cih0aGlzKSwgcHJv
bWlzZSA9IFdURk1vdmUocHJvbWlzZSldKGF1dG8mJiByZXN1bHQpIG11dGFibGUgeworICAgICAg
ICBBU1NFUlQoaXNNYWluVGhyZWFkKCkpOworICAgICAgICBpZiAoIXdlYWtUaGlzKQogICAgICAg
ICAgICAgcmV0dXJuOwotCi0gICAgICAgIHByb21pc2UtPnJlamVjdChXVEZNb3ZlKGV4Y2VwdGlv
bikpOworICAgICAgICBSRUxFQVNFX0xPR19FUlJPUihXZWJSVEMsICJBZGRpbmcgaWNlIGNhbmRp
ZGF0ZSBmaW5pc2hlZCwgc3VjY2Vzcz0lZCIsIHJlc3VsdC5oYXNFeGNlcHRpb24oKSk7CisgICAg
ICAgIHByb21pc2Uuc2V0dGxlKFdURk1vdmUocmVzdWx0KSk7CiAgICAgfSk7CiB9CiAKQEAgLTU3
MCw3ICs1NDcsNiBAQCB2b2lkIFBlZXJDb25uZWN0aW9uQmFja2VuZDo6c3RvcCgpCiB7CiAgICAg
bV9vZmZlckFuc3dlclByb21pc2UgPSBudWxscHRyOwogICAgIG1fc2V0RGVzY3JpcHRpb25Qcm9t
aXNlID0gbnVsbHB0cjsKLSAgICBtX2FkZEljZUNhbmRpZGF0ZVByb21pc2UgPSBudWxscHRyOwog
CiAgICAgbV9wZW5kaW5nVHJhY2tFdmVudHMuY2xlYXIoKTsKIApkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9QZWVyQ29ubmVjdGlvbkJhY2tlbmQuaCBiL1Nv
dXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vUGVlckNvbm5lY3Rpb25CYWNrZW5kLmgK
aW5kZXggYzQ5YjFiNTljNmYyNjAzYzU0NTczYjc1ZDZiMTVhZGVhN2QzODA0NS4uNDRlYjNiZTE2
MTE3Y2JmNmFmMTYzYjRiOWQ0ZTI3YWJjYWUyYWQ2YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9QZWVyQ29ubmVjdGlvbkJhY2tlbmQuaAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1BlZXJDb25uZWN0aW9uQmFja2VuZC5oCkBA
IC0yMjMsNyArMjIzLDcgQEAgcHJpdmF0ZToKICAgICB2aXJ0dWFsIHZvaWQgZG9DcmVhdGVBbnN3
ZXIoUlRDQW5zd2VyT3B0aW9ucyYmKSA9IDA7CiAgICAgdmlydHVhbCB2b2lkIGRvU2V0TG9jYWxE
ZXNjcmlwdGlvbihjb25zdCBSVENTZXNzaW9uRGVzY3JpcHRpb24qKSA9IDA7CiAgICAgdmlydHVh
bCB2b2lkIGRvU2V0UmVtb3RlRGVzY3JpcHRpb24oY29uc3QgUlRDU2Vzc2lvbkRlc2NyaXB0aW9u
JikgPSAwOwotICAgIHZpcnR1YWwgdm9pZCBkb0FkZEljZUNhbmRpZGF0ZShSVENJY2VDYW5kaWRh
dGUmKSA9IDA7CisgICAgdmlydHVhbCB2b2lkIGRvQWRkSWNlQ2FuZGlkYXRlKFJUQ0ljZUNhbmRp
ZGF0ZSYsIEZ1bmN0aW9uPHZvaWQoRXhjZXB0aW9uT3I8dm9pZD4mJik+JiYpID0gMDsKICAgICB2
aXJ0dWFsIHZvaWQgZW5kT2ZJY2VDYW5kaWRhdGVzKERPTVByb21pc2VEZWZlcnJlZDx2b2lkPiYm
KTsKICAgICB2aXJ0dWFsIHZvaWQgZG9TdG9wKCkgPSAwOwogCkBAIC0yMzUsNyArMjM1LDYgQEAg
cHJvdGVjdGVkOgogcHJpdmF0ZToKICAgICBzdGQ6OnVuaXF1ZV9wdHI8UGVlckNvbm5lY3Rpb246
OlNlc3Npb25EZXNjcmlwdGlvblByb21pc2U+IG1fb2ZmZXJBbnN3ZXJQcm9taXNlOwogICAgIHN0
ZDo6dW5pcXVlX3B0cjxET01Qcm9taXNlRGVmZXJyZWQ8dm9pZD4+IG1fc2V0RGVzY3JpcHRpb25Q
cm9taXNlOwotICAgIHN0ZDo6dW5pcXVlX3B0cjxET01Qcm9taXNlRGVmZXJyZWQ8dm9pZD4+IG1f
YWRkSWNlQ2FuZGlkYXRlUHJvbWlzZTsKIAogICAgIGJvb2wgbV9zaG91bGRGaWx0ZXJJQ0VDYW5k
aWRhdGVzIHsgdHJ1ZSB9OwogICAgIHN0cnVjdCBQZW5kaW5nSUNFQ2FuZGlkYXRlIHsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vbGlid2VicnRjL0xpYldl
YlJUQ01lZGlhRW5kcG9pbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVh
bS9saWJ3ZWJydGMvTGliV2ViUlRDTWVkaWFFbmRwb2ludC5jcHAKaW5kZXggNGEwNWIxZGViYmJl
ZWNlNGZlZGRhMjRjODU4NTNlNjkzMWI1Yzc3NS4uMmQ5YWRlMmMzZmE3NzBhNTBkMjY2OTJjYWU5
YmM2OTAwYzhlYzU3YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0
cmVhbS9saWJ3ZWJydGMvTGliV2ViUlRDTWVkaWFFbmRwb2ludC5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9saWJ3ZWJydGMvTGliV2ViUlRDTWVkaWFFbmRwb2lu
dC5jcHAKQEAgLTYxNSw2ICs2MTUsMTEgQEAgdm9pZCBMaWJXZWJSVENNZWRpYUVuZHBvaW50OjpP
bkljZUdhdGhlcmluZ0NoYW5nZSh3ZWJydGM6OlBlZXJDb25uZWN0aW9uSW50ZXJmYWMKICAgICB9
KTsKIH0KIAordm9pZCBMaWJXZWJSVENNZWRpYUVuZHBvaW50OjphZGRJY2VDYW5kaWRhdGUoc3Rk
Ojp1bmlxdWVfcHRyPHdlYnJ0Yzo6SWNlQ2FuZGlkYXRlSW50ZXJmYWNlPiYmIGNhbmRpZGF0ZSwg
c3RkOjpmdW5jdGlvbjx2b2lkKHdlYnJ0Yzo6UlRDRXJyb3IpPiYmIGNhbGxiYWNrKQoreworICAg
IG1fYmFja2VuZC0+QWRkSWNlQ2FuZGlkYXRlKFdURk1vdmUoY2FuZGlkYXRlKSwgV1RGTW92ZShj
YWxsYmFjaykpOworfQorCiB2b2lkIExpYldlYlJUQ01lZGlhRW5kcG9pbnQ6Ok9uSWNlQ2FuZGlk
YXRlKGNvbnN0IHdlYnJ0Yzo6SWNlQ2FuZGlkYXRlSW50ZXJmYWNlICpydGNDYW5kaWRhdGUpCiB7
CiAgICAgQVNTRVJUKHJ0Y0NhbmRpZGF0ZSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL21lZGlhc3RyZWFtL2xpYndlYnJ0Yy9MaWJXZWJSVENNZWRpYUVuZHBvaW50LmggYi9T
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL2xpYndlYnJ0Yy9MaWJXZWJSVENNZWRp
YUVuZHBvaW50LmgKaW5kZXggZWE4ODFmNjZiOGIwMmM2M2NlMzk4MWI5N2QzMTkzMDdhNzhhOGYy
ZS4uZTcyMGViOTE5YjAxMTA4ODQ1MTU4ZjM4YWVlMTJkYmZiN2Y1Zjc2YiAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9saWJ3ZWJydGMvTGliV2ViUlRDTWVk
aWFFbmRwb2ludC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vbGli
d2VicnRjL0xpYldlYlJUQ01lZGlhRW5kcG9pbnQuaApAQCAtODksNyArODksNyBAQCBwdWJsaWM6
CiAgICAgdm9pZCBnZXRTdGF0cyh3ZWJydGM6OlJ0cFJlY2VpdmVySW50ZXJmYWNlJiwgUmVmPERl
ZmVycmVkUHJvbWlzZT4mJik7CiAgICAgdm9pZCBnZXRTdGF0cyh3ZWJydGM6OlJ0cFNlbmRlcklu
dGVyZmFjZSYsIFJlZjxEZWZlcnJlZFByb21pc2U+JiYpOwogICAgIHN0ZDo6dW5pcXVlX3B0cjxS
VENEYXRhQ2hhbm5lbEhhbmRsZXI+IGNyZWF0ZURhdGFDaGFubmVsKGNvbnN0IFN0cmluZyYsIGNv
bnN0IFJUQ0RhdGFDaGFubmVsSW5pdCYpOwotICAgIGJvb2wgYWRkSWNlQ2FuZGlkYXRlKHdlYnJ0
Yzo6SWNlQ2FuZGlkYXRlSW50ZXJmYWNlJiBjYW5kaWRhdGUpIHsgcmV0dXJuIG1fYmFja2VuZC0+
QWRkSWNlQ2FuZGlkYXRlKCZjYW5kaWRhdGUpOyB9CisgICAgdm9pZCBhZGRJY2VDYW5kaWRhdGUo
c3RkOjp1bmlxdWVfcHRyPHdlYnJ0Yzo6SWNlQ2FuZGlkYXRlSW50ZXJmYWNlPiYmLCBzdGQ6OmZ1
bmN0aW9uPHZvaWQod2VicnRjOjpSVENFcnJvcik+JiYpOwogCiAgICAgdm9pZCBjbG9zZSgpOwog
ICAgIHZvaWQgc3RvcCgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRp
YXN0cmVhbS9saWJ3ZWJydGMvTGliV2ViUlRDUGVlckNvbm5lY3Rpb25CYWNrZW5kLmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vbGlid2VicnRjL0xpYldlYlJUQ1BlZXJD
b25uZWN0aW9uQmFja2VuZC5jcHAKaW5kZXggNzRhMTlmZDZhMWRmZDhlZTZmZjcyOTE0OTZkMjg3
MWM3NWUxOWYzMS4uNTk2MDJiMDlhZWM5ZTBhYmIzZDIyN2MzMGY5Mjg5NGQ0YmE2ZDYyNCAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9saWJ3ZWJydGMvTGli
V2ViUlRDUGVlckNvbm5lY3Rpb25CYWNrZW5kLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL21lZGlhc3RyZWFtL2xpYndlYnJ0Yy9MaWJXZWJSVENQZWVyQ29ubmVjdGlvbkJhY2tlbmQu
Y3BwCkBAIC00Nyw2ICs0Nyw3IEBACiAjaW5jbHVkZSAiUmVhbHRpbWVPdXRnb2luZ0F1ZGlvU291
cmNlLmgiCiAjaW5jbHVkZSAiUmVhbHRpbWVPdXRnb2luZ1ZpZGVvU291cmNlLmgiCiAjaW5jbHVk
ZSAiU2V0dGluZ3MuaCIKKyNpbmNsdWRlIDx3dGYvU2hhcmVkVGFzay5oPgogCiBuYW1lc3BhY2Ug
V2ViQ29yZSB7CiAKQEAgLTIzMCwyNiArMjMxLDEzIEBAIHZvaWQgTGliV2ViUlRDUGVlckNvbm5l
Y3Rpb25CYWNrZW5kOjpnZXRTdGF0cyhSVENSdHBSZWNlaXZlciYgcmVjZWl2ZXIsIFJlZjxEZWZl
CiB2b2lkIExpYldlYlJUQ1BlZXJDb25uZWN0aW9uQmFja2VuZDo6ZG9TZXRMb2NhbERlc2NyaXB0
aW9uKGNvbnN0IFJUQ1Nlc3Npb25EZXNjcmlwdGlvbiogZGVzY3JpcHRpb24pCiB7CiAgICAgbV9l
bmRwb2ludC0+ZG9TZXRMb2NhbERlc2NyaXB0aW9uKGRlc2NyaXB0aW9uKTsKLSAgICBpZiAoIW1f
aXNMb2NhbERlc2NyaXB0aW9uU2V0KSB7Ci0gICAgICAgIGlmIChtX2lzUmVtb3RlRGVzY3JpcHRp
b25TZXQpIHsKLSAgICAgICAgICAgIGZvciAoYXV0byYgY2FuZGlkYXRlIDogbV9wZW5kaW5nQ2Fu
ZGlkYXRlcykKLSAgICAgICAgICAgICAgICBtX2VuZHBvaW50LT5hZGRJY2VDYW5kaWRhdGUoKmNh
bmRpZGF0ZSk7Ci0gICAgICAgICAgICBtX3BlbmRpbmdDYW5kaWRhdGVzLmNsZWFyKCk7Ci0gICAg
ICAgIH0KLSAgICAgICAgbV9pc0xvY2FsRGVzY3JpcHRpb25TZXQgPSB0cnVlOwotICAgIH0KKyAg
ICBtX2lzTG9jYWxEZXNjcmlwdGlvblNldCA9IHRydWU7CiB9CiAKIHZvaWQgTGliV2ViUlRDUGVl
ckNvbm5lY3Rpb25CYWNrZW5kOjpkb1NldFJlbW90ZURlc2NyaXB0aW9uKGNvbnN0IFJUQ1Nlc3Np
b25EZXNjcmlwdGlvbiYgZGVzY3JpcHRpb24pCiB7CiAgICAgbV9lbmRwb2ludC0+ZG9TZXRSZW1v
dGVEZXNjcmlwdGlvbihkZXNjcmlwdGlvbik7Ci0gICAgaWYgKCFtX2lzUmVtb3RlRGVzY3JpcHRp
b25TZXQpIHsKLSAgICAgICAgaWYgKG1faXNMb2NhbERlc2NyaXB0aW9uU2V0KSB7Ci0gICAgICAg
ICAgICBmb3IgKGF1dG8mIGNhbmRpZGF0ZSA6IG1fcGVuZGluZ0NhbmRpZGF0ZXMpCi0gICAgICAg
ICAgICAgICAgbV9lbmRwb2ludC0+YWRkSWNlQ2FuZGlkYXRlKCpjYW5kaWRhdGUpOwotICAgICAg
ICB9Ci0gICAgICAgIG1faXNSZW1vdGVEZXNjcmlwdGlvblNldCA9IHRydWU7Ci0gICAgfQorICAg
IG1faXNSZW1vdGVEZXNjcmlwdGlvblNldCA9IHRydWU7CiB9CiAKIHZvaWQgTGliV2ViUlRDUGVl
ckNvbm5lY3Rpb25CYWNrZW5kOjpkb0NyZWF0ZU9mZmVyKFJUQ09mZmVyT3B0aW9ucyYmIG9wdGlv
bnMpCkBAIC0yNzcsMjYgKzI2NSwyNiBAQCB2b2lkIExpYldlYlJUQ1BlZXJDb25uZWN0aW9uQmFj
a2VuZDo6ZG9TdG9wKCkKICAgICBtX3BlbmRpbmdSZWNlaXZlcnMuY2xlYXIoKTsKIH0KIAotdm9p
ZCBMaWJXZWJSVENQZWVyQ29ubmVjdGlvbkJhY2tlbmQ6OmRvQWRkSWNlQ2FuZGlkYXRlKFJUQ0lj
ZUNhbmRpZGF0ZSYgY2FuZGlkYXRlKQordm9pZCBMaWJXZWJSVENQZWVyQ29ubmVjdGlvbkJhY2tl
bmQ6OmRvQWRkSWNlQ2FuZGlkYXRlKFJUQ0ljZUNhbmRpZGF0ZSYgY2FuZGlkYXRlLCBGdW5jdGlv
bjx2b2lkKEV4Y2VwdGlvbk9yPHZvaWQ+JiYpPiYmIGNhbGxiYWNrKQogewogICAgIHdlYnJ0Yzo6
U2RwUGFyc2VFcnJvciBlcnJvcjsKICAgICBpbnQgc2RwTUxpbmVJbmRleCA9IGNhbmRpZGF0ZS5z
ZHBNTGluZUluZGV4KCkgPyBjYW5kaWRhdGUuc2RwTUxpbmVJbmRleCgpLnZhbHVlKCkgOiAwOwog
ICAgIHN0ZDo6dW5pcXVlX3B0cjx3ZWJydGM6OkljZUNhbmRpZGF0ZUludGVyZmFjZT4gcnRjQ2Fu
ZGlkYXRlKHdlYnJ0Yzo6Q3JlYXRlSWNlQ2FuZGlkYXRlKGNhbmRpZGF0ZS5zZHBNaWQoKS51dGY4
KCkuZGF0YSgpLCBzZHBNTGluZUluZGV4LCBjYW5kaWRhdGUuY2FuZGlkYXRlKCkudXRmOCgpLmRh
dGEoKSwgJmVycm9yKSk7CiAKICAgICBpZiAoIXJ0Y0NhbmRpZGF0ZSkgewotICAgICAgICBhZGRJ
Y2VDYW5kaWRhdGVGYWlsZWQoRXhjZXB0aW9uIHsgT3BlcmF0aW9uRXJyb3IsIFN0cmluZzo6ZnJv
bVVURjgoZXJyb3IuZGVzY3JpcHRpb24uZGF0YSgpLCBlcnJvci5kZXNjcmlwdGlvbi5sZW5ndGgo
KSkgfSk7CisgICAgICAgIGNhbGxiYWNrKEV4Y2VwdGlvbiB7IE9wZXJhdGlvbkVycm9yLCBTdHJp
bmc6OmZyb21VVEY4KGVycm9yLmRlc2NyaXB0aW9uLmRhdGEoKSwgZXJyb3IuZGVzY3JpcHRpb24u
bGVuZ3RoKCkpIH0pOwogICAgICAgICByZXR1cm47CiAgICAgfQogCi0gICAgLy8gbGlid2VicnRj
IGRvZXMgbm90IGxpa2UgdGhhdCBpY2UgY2FuZGlkYXRlcyBhcmUgc2V0IGJlZm9yZSB0aGUgZGVz
Y3JpcHRpb24uCi0gICAgaWYgKCFtX2lzTG9jYWxEZXNjcmlwdGlvblNldCB8fCAhbV9pc1JlbW90
ZURlc2NyaXB0aW9uU2V0KQotICAgICAgICBtX3BlbmRpbmdDYW5kaWRhdGVzLmFwcGVuZChXVEZN
b3ZlKHJ0Y0NhbmRpZGF0ZSkpOwotICAgIGVsc2UgaWYgKCFtX2VuZHBvaW50LT5hZGRJY2VDYW5k
aWRhdGUoKnJ0Y0NhbmRpZGF0ZS5nZXQoKSkpIHsKLSAgICAgICAgQVNTRVJUX05PVF9SRUFDSEVE
KCk7Ci0gICAgICAgIGFkZEljZUNhbmRpZGF0ZUZhaWxlZChFeGNlcHRpb24geyBPcGVyYXRpb25F
cnJvciwgIkZhaWxlZCB0byBhcHBseSB0aGUgcmVjZWl2ZWQgY2FuZGlkYXRlIl9zIH0pOwotICAg
ICAgICByZXR1cm47Ci0gICAgfQotICAgIGFkZEljZUNhbmRpZGF0ZVN1Y2NlZWRlZCgpOworICAg
IG1fZW5kcG9pbnQtPmFkZEljZUNhbmRpZGF0ZShXVEZNb3ZlKHJ0Y0NhbmRpZGF0ZSksIFt0YXNr
ID0gY3JlYXRlU2hhcmVkVGFzazx2b2lkKEV4Y2VwdGlvbk9yPHZvaWQ+JiYpPihXVEZNb3ZlKGNh
bGxiYWNrKSldKGF1dG8mJiBlcnJvcikgbXV0YWJsZSB7CisgICAgICAgIGNhbGxPbk1haW5UaHJl
YWQoW3Rhc2sgPSBXVEZNb3ZlKHRhc2spLCBlcnJvciA9IFdURk1vdmUoZXJyb3IpXSB7CisgICAg
ICAgICAgICBpZiAoIWVycm9yLm9rKCkpIHsKKyAgICAgICAgICAgICAgICB0YXNrLT5ydW4odG9F
eGNlcHRpb24oZXJyb3IpKTsKKyAgICAgICAgICAgICAgICByZXR1cm47CisgICAgICAgICAgICB9
CisgICAgICAgICAgICB0YXNrLT5ydW4oeyB9KTsKKyAgICAgICAgfSk7CisgICAgfSk7CiB9CiAK
IFJlZjxSVENSdHBSZWNlaXZlcj4gTGliV2ViUlRDUGVlckNvbm5lY3Rpb25CYWNrZW5kOjpjcmVh
dGVSZWNlaXZlcihzdGQ6OnVuaXF1ZV9wdHI8TGliV2ViUlRDUnRwUmVjZWl2ZXJCYWNrZW5kPiYm
IGJhY2tlbmQpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFt
L2xpYndlYnJ0Yy9MaWJXZWJSVENQZWVyQ29ubmVjdGlvbkJhY2tlbmQuaCBiL1NvdXJjZS9XZWJD
b3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vbGlid2VicnRjL0xpYldlYlJUQ1BlZXJDb25uZWN0aW9u
QmFja2VuZC5oCmluZGV4IDA5YTQ0YmMzMDg0NGNlNzU3MzczMGI5NjEzOWI3YTBjOTU3Zjc2ZTgu
LjBhOGQzOWY3MjEwMzdmOWI5ZmVkMDYzYzM3M2Q3OTEyZWYxN2VmYTAgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vbGlid2VicnRjL0xpYldlYlJUQ1BlZXJD
b25uZWN0aW9uQmFja2VuZC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJl
YW0vbGlid2VicnRjL0xpYldlYlJUQ1BlZXJDb25uZWN0aW9uQmFja2VuZC5oCkBAIC02Miw3ICs2
Miw3IEBAIHByaXZhdGU6CiAgICAgdm9pZCBkb0NyZWF0ZUFuc3dlcihSVENBbnN3ZXJPcHRpb25z
JiYpIGZpbmFsOwogICAgIHZvaWQgZG9TZXRMb2NhbERlc2NyaXB0aW9uKGNvbnN0IFJUQ1Nlc3Np
b25EZXNjcmlwdGlvbiopIGZpbmFsOwogICAgIHZvaWQgZG9TZXRSZW1vdGVEZXNjcmlwdGlvbihj
b25zdCBSVENTZXNzaW9uRGVzY3JpcHRpb24mKSBmaW5hbDsKLSAgICB2b2lkIGRvQWRkSWNlQ2Fu
ZGlkYXRlKFJUQ0ljZUNhbmRpZGF0ZSYpIGZpbmFsOworICAgIHZvaWQgZG9BZGRJY2VDYW5kaWRh
dGUoUlRDSWNlQ2FuZGlkYXRlJiwgRnVuY3Rpb248dm9pZChFeGNlcHRpb25Pcjx2b2lkPiYmKT4m
JikgZmluYWw7CiAgICAgdm9pZCBkb1N0b3AoKSBmaW5hbDsKICAgICBzdGQ6OnVuaXF1ZV9wdHI8
UlRDRGF0YUNoYW5uZWxIYW5kbGVyPiBjcmVhdGVEYXRhQ2hhbm5lbEhhbmRsZXIoY29uc3QgU3Ry
aW5nJiwgY29uc3QgUlRDRGF0YUNoYW5uZWxJbml0JikgZmluYWw7CiAgICAgdm9pZCByZXN0YXJ0
SWNlKCkgZmluYWw7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL01vY2tMaWJX
ZWJSVENQZWVyQ29ubmVjdGlvbi5oIGIvU291cmNlL1dlYkNvcmUvdGVzdGluZy9Nb2NrTGliV2Vi
UlRDUGVlckNvbm5lY3Rpb24uaAppbmRleCBmNzQyY2JkOGE0OGM3OWI3OTRlZjFjYjk4ZjNhYjU4
YTUwMjI5MjNlLi41ZWI1MjQyNTk0MzdhYWFmMGRhZTU1ODQ1MzI4ODg0OWE1MTg5NzY0IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL01vY2tMaWJXZWJSVENQZWVyQ29ubmVjdGlv
bi5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvTW9ja0xpYldlYlJUQ1BlZXJDb25uZWN0
aW9uLmgKQEAgLTI4NSw2ICsyODUsNyBAQCBwcml2YXRlOgogICAgIGNvbnN0IHdlYnJ0Yzo6U2Vz
c2lvbkRlc2NyaXB0aW9uSW50ZXJmYWNlKiBsb2NhbF9kZXNjcmlwdGlvbigpIGNvbnN0IG92ZXJy
aWRlIHsgcmV0dXJuIG51bGxwdHI7IH0KICAgICBjb25zdCB3ZWJydGM6OlNlc3Npb25EZXNjcmlw
dGlvbkludGVyZmFjZSogcmVtb3RlX2Rlc2NyaXB0aW9uKCkgY29uc3Qgb3ZlcnJpZGUgeyByZXR1
cm4gbnVsbHB0cjsgfQogICAgIGJvb2wgQWRkSWNlQ2FuZGlkYXRlKGNvbnN0IHdlYnJ0Yzo6SWNl
Q2FuZGlkYXRlSW50ZXJmYWNlKikgb3ZlcnJpZGUgeyByZXR1cm4gdHJ1ZTsgfQorICAgIHZvaWQg
QWRkSWNlQ2FuZGlkYXRlKHN0ZDo6dW5pcXVlX3B0cjx3ZWJydGM6OkljZUNhbmRpZGF0ZUludGVy
ZmFjZT4sIHN0ZDo6ZnVuY3Rpb248dm9pZCh3ZWJydGM6OlJUQ0Vycm9yKT4gY2FsbGJhY2spIG92
ZXJyaWRlIHsgY2FsbGJhY2soeyB9KTsgfQogICAgIFNpZ25hbGluZ1N0YXRlIHNpZ25hbGluZ19z
dGF0ZSgpIG92ZXJyaWRlIHsgcmV0dXJuIGtTdGFibGU7IH0KICAgICBJY2VDb25uZWN0aW9uU3Rh
dGUgaWNlX2Nvbm5lY3Rpb25fc3RhdGUoKSBvdmVycmlkZSB7IHJldHVybiBrSWNlQ29ubmVjdGlv
bk5ldzsgfQogICAgIEljZUdhdGhlcmluZ1N0YXRlIGljZV9nYXRoZXJpbmdfc3RhdGUoKSBvdmVy
cmlkZSB7IHJldHVybiBrSWNlR2F0aGVyaW5nTmV3OyB9CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggZGVlZGI0ZGUwZTU3ZWI2
YzgwYjcwNWU1ZDZjMDJkNmQ0YzFlMTUyOC4uOGQ5YjRhNWNjNWU2MmQ2OGEwM2JiOTRjYjYxNzEw
NmEyMzBmMTFlZiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91
dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE1IEBACisyMDIxLTA4LTMxICBZb3Vlbm4gRmFi
bGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KKworICAgICAgICBNaWdyYXRlIHRvIGxhdGVzdCBsaWJ3
ZWJydGMgQWRkSWNlQ2FuZGlkYXRlCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD0yMjk3MDAKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKworICAgICAgICAqIFRlc3RFeHBlY3RhdGlvbnM6IG1hcmsgZmFpbGluZyB0ZXN0IGFzIGZs
YWt5IGFzIGFuIGV4Y2VwdGlvbiBzb21ldGltZXMgaGFwcGVuLgorICAgICAgICAqIGZhc3QvbWVk
aWFzdHJlYW0vUlRDUGVlckNvbm5lY3Rpb24tYWRkSWNlQ2FuZGlkYXRlLWV4cGVjdGVkLnR4dDoK
KyAgICAgICAgKiBmYXN0L21lZGlhc3RyZWFtL1JUQ1BlZXJDb25uZWN0aW9uLWFkZEljZUNhbmRp
ZGF0ZS5odG1sOgorICAgICAgICBVcGRhdGUgdGhlIHRlc3QgdG8gbWF0Y2ggaW1wbGVtZW50YXRp
b24sIHdoaWNoIG1ha2VzIGl0IGNvbnNpc3RlbnQgd2l0aCBvdGhlciBicm93c2Vycy4KKwogMjAy
MS0wOC0zMCAgTWVnYW4gR2FyZG5lciAgPG1lZ2FuX2dhcmRuZXJAYXBwbGUuY29tPgogCiAgICAg
ICAgIFVwZGF0ZSBmYXN0L2V2ZW50cy90b3VjaC9pb3MvbG9uZy1wcmVzcy10by1zZWxlY3QtdGV4
dC5odG1sIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZyBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cKaW5kZXggNjBjMWFiZWU1ODk4NzQ3
MmVlNmM3MzBjNTA0NzhjODc5N2IxMGFhYy4uNTk1NzNmODUxMmJlODc2ODJlMzE0YWRmZTFhOTZm
MjVmZmU0NjRkNCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxv
ZworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTUg
QEAKKzIwMjEtMDgtMzEgIFlvdWVubiBGYWJsZXQgIDx5b3Vlbm5AYXBwbGUuY29tPgorCisgICAg
ICAgIE1pZ3JhdGUgdG8gbGF0ZXN0IGxpYndlYnJ0YyBBZGRJY2VDYW5kaWRhdGUKKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIyOTcwMAorCisgICAgICAg
IFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRl
c3RzL3dlYnJ0Yy9SVENQZWVyQ29ubmVjdGlvbi1hZGRJY2VDYW5kaWRhdGUtZXhwZWN0ZWQudHh0
OgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy93ZWJydGMvUlRDUGVlckNvbm5lY3Rpb24t
b3BlcmF0aW9ucy5odHRwcy1leHBlY3RlZC50eHQ6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRl
c3RzL3dlYnJ0Yy9SVENQZWVyQ29ubmVjdGlvbi1wZXJmZWN0LW5lZ290aWF0aW9uLXN0cmVzcy1n
bGFyZS1saW5lYXIuaHR0cHMtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10
ZXN0cy93ZWJydGMvUlRDUGVlckNvbm5lY3Rpb24tcGVyZmVjdC1uZWdvdGlhdGlvbi1zdHJlc3Mt
Z2xhcmUuaHR0cHMtZXhwZWN0ZWQudHh0OgorCiAyMDIxLTA4LTMwICBKb2huc29uIFpob3UgIDxx
aWFvc29uZ196aG91QGFwcGxlLmNvbT4KIAogICAgICAgICBSZWJhc2VsaW5lIGZvciBDU1MgVHlw
ZWQgT00sIENTU1VucGFyc2VkVmFsdWUgcGFydGlhbGx5IGltcGxlbWVudGVkLgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvVGVzdEV4cGVjdGF0aW9ucyBiL0xheW91dFRlc3RzL1Rlc3RFeHBlY3Rh
dGlvbnMKaW5kZXggMjhjODEwZjkzMjRjODAxMWI2OWQ4MjNiN2M1Nzc1MzQyMGRkYWQyZS4uNTUz
NmE5ZmM2NGNkZmU3ODYwYjE2Y2U3NjI5NGRkYTllZjIwMDllZiAxMDA2NDQKLS0tIGEvTGF5b3V0
VGVzdHMvVGVzdEV4cGVjdGF0aW9ucworKysgYi9MYXlvdXRUZXN0cy9UZXN0RXhwZWN0YXRpb25z
CkBAIC0yMTg0LDYgKzIxODQsOCBAQCBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dl
YnJ0Yy9SVENQZWVyQ29ubmVjdGlvbi1hZGRJY2VDYW5kaWRhdGUtdGltaW5nLgogaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93ZWJydGMvcHJvdG9jb2wvc3BsaXQuaHR0cHMuaHRtbCBb
IFBhc3MgRmFpbHVyZSBdCiBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dlYnJ0Yy9S
VENQZWVyQ29ubmVjdGlvbi1yZXN0YXJ0SWNlLW9ubmVnb3RpYXRpb25uZWVkZWQuaHR0cHMuaHRt
bCBbIFBhc3MgRmFpbHVyZSBdCiBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dlYnJ0
Yy9SVENQZWVyQ29ubmVjdGlvbi1jYW5kaWRhdGUtaW4tc2RwLmh0dHBzLmh0bWwgWyBQYXNzIEZh
aWx1cmUgXQoraW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93ZWJydGMvUlRDUGVlckNv
bm5lY3Rpb24tcGVyZmVjdC1uZWdvdGlhdGlvbi1zdHJlc3MtZ2xhcmUuaHR0cHMuaHRtbCBbIFBh
c3MgRmFpbHVyZSBdCitpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dlYnJ0Yy9SVENQ
ZWVyQ29ubmVjdGlvbi1wZXJmZWN0LW5lZ290aWF0aW9uLXN0cmVzcy1nbGFyZS1saW5lYXIuaHR0
cHMuaHRtbCBbIFBhc3MgRmFpbHVyZSBdCiAKICMgU2tpcCB0aW1pbmcgb3V0IHRlc3QKIGltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd2VicnRjL1JUQ1BlZXJDb25uZWN0aW9uLXNldFJl
bW90ZURlc2NyaXB0aW9uLXRyYWNrcy5odHRwcy5odG1sIFsgU2tpcCBdCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9mYXN0L21lZGlhc3RyZWFtL1JUQ1BlZXJDb25uZWN0aW9uLWFkZEljZUNhbmRp
ZGF0ZS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0L21lZGlhc3RyZWFtL1JUQ1BlZXJD
b25uZWN0aW9uLWFkZEljZUNhbmRpZGF0ZS1leHBlY3RlZC50eHQKaW5kZXggODdhMzAzMDg5YzYz
ZjBiYTY1Yzk4ODM0MjRmMzViZmRhZDAzOTAyMy4uYjgyNjA5MTMyZDZlYmVhMjhiYmI3NTgxYjc5
MTU1MzNlNjcxYjMxZiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9tZWRpYXN0cmVhbS9S
VENQZWVyQ29ubmVjdGlvbi1hZGRJY2VDYW5kaWRhdGUtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91
dFRlc3RzL2Zhc3QvbWVkaWFzdHJlYW0vUlRDUGVlckNvbm5lY3Rpb24tYWRkSWNlQ2FuZGlkYXRl
LWV4cGVjdGVkLnR4dApAQCAtMTMsMTAgKzEzLDEwIEBAIFBBU1MgUmVtb3RlIGRlc2NyaXB0aW9u
IHNldAogUEFTUyBzZHBNTGluZUluZGV4IGlzIG5vdCBiYWRTZHBNTGluZUluZGV4CiBQQVNTIHNk
cE1pZCBpcyBub3QgbnVsbAogUEFTUyBzZHBNaWQgaXMgbm90IGJhZFNkcE1pZAotRkFJTCBwcm9t
aXNlIHBjLmFkZEljZUNhbmRpZGF0ZShuZXcgUlRDSWNlQ2FuZGlkYXRlKHtjYW5kaWRhdGU6IHZh
bGlkQ2FuZGlkYXRlLCBzZHBNaWQ6IGJhZFNkcE1pZH0pKSBmdWxmaWxsZWQgdW5leHBlY3RlZGx5
LgotRkFJTCBwcm9taXNlIHBjLmFkZEljZUNhbmRpZGF0ZShuZXcgUlRDSWNlQ2FuZGlkYXRlKHtj
YW5kaWRhdGU6IHZhbGlkQ2FuZGlkYXRlLCBzZHBNTGluZUluZGV4OiBiYWRTZHBNTGluZUluZGV4
fSkpIGZ1bGZpbGxlZCB1bmV4cGVjdGVkbHkuCitQQVNTIHByb21pc2UgcGMuYWRkSWNlQ2FuZGlk
YXRlKG5ldyBSVENJY2VDYW5kaWRhdGUoe2NhbmRpZGF0ZTogdmFsaWRDYW5kaWRhdGUsIHNkcE1p
ZDogYmFkU2RwTWlkfSkpIHJlamVjdGVkIHdpdGggT3BlcmF0aW9uRXJyb3I6IEVycm9yIHByb2Nl
c3NpbmcgSUNFIGNhbmRpZGF0ZQorUEFTUyBwcm9taXNlIHBjLmFkZEljZUNhbmRpZGF0ZShuZXcg
UlRDSWNlQ2FuZGlkYXRlKHtjYW5kaWRhdGU6IHZhbGlkQ2FuZGlkYXRlLCBzZHBNTGluZUluZGV4
OiBiYWRTZHBNTGluZUluZGV4fSkpIHJlamVjdGVkIHdpdGggT3BlcmF0aW9uRXJyb3I6IEVycm9y
IHByb2Nlc3NpbmcgSUNFIGNhbmRpZGF0ZQogKioqIEEgKGJhZCkgc2RwTWlkIHRha2VzIHByZWNl
ZGVzY2Ugb3ZlciB2YWxpZCBzZHBNTGluZUluZGV4Ci1GQUlMIHByb21pc2UgcGMuYWRkSWNlQ2Fu
ZGlkYXRlKG5ldyBSVENJY2VDYW5kaWRhdGUoe2NhbmRpZGF0ZTogdmFsaWRDYW5kaWRhdGUsIHNk
cE1pZDogYmFkU2RwTWlkLCBzZHBNTGluZUluZGV4OiBzZHBNTGluZUluZGV4fSkpIGZ1bGZpbGxl
ZCB1bmV4cGVjdGVkbHkuCitQQVNTIHByb21pc2UgcGMuYWRkSWNlQ2FuZGlkYXRlKG5ldyBSVENJ
Y2VDYW5kaWRhdGUoe2NhbmRpZGF0ZTogdmFsaWRDYW5kaWRhdGUsIHNkcE1pZDogYmFkU2RwTWlk
LCBzZHBNTGluZUluZGV4OiBzZHBNTGluZUluZGV4fSkpIHJlamVjdGVkIHdpdGggT3BlcmF0aW9u
RXJyb3I6IEVycm9yIHByb2Nlc3NpbmcgSUNFIGNhbmRpZGF0ZQogKioqIFRlc3QgYmFkIGNhbmRp
ZGF0ZSBjb250ZW50IHdpdGggdmFsaWQgc2RwTWlkCiBQQVNTIHByb21pc2UgcGMuYWRkSWNlQ2Fu
ZGlkYXRlKG5ldyBSVENJY2VDYW5kaWRhdGUoe2NhbmRpZGF0ZTogJ2JhZCBjb250ZW50Jywgc2Rw
TWlkOiBzZHBNaWR9KSkgcmVqZWN0ZWQgd2l0aCBPcGVyYXRpb25FcnJvcjogRXhwZWN0IGxpbmU6
IGNhbmRpZGF0ZTo8Y2FuZGlkYXRlLXN0cj4KICoqKiBUZXN0IGJhZCBjYW5kaWRhdGUgY29udGVu
dCB3aXRoIHZhbGlkIHNkcE1MaW5lSW5kZXgKQEAgLTI1LDEzICsyNSwxMiBAQCBQQVNTIHByb21p
c2UgcGMuYWRkSWNlQ2FuZGlkYXRlKG5ldyBSVENJY2VDYW5kaWRhdGUoe2NhbmRpZGF0ZTogJ2Jh
ZCBjb250ZW50JywgcwogUEFTUyBwcm9taXNlIHBjLmFkZEljZUNhbmRpZGF0ZSh7Y2FuZGlkYXRl
OiB2YWxpZENhbmRpZGF0ZX0pIHJlamVjdGVkIHdpdGggVHlwZUVycm9yOiBDYW5kaWRhdGUgbXVz
dCBub3QgaGF2ZSBib3RoIG51bGwgc2RwTWlkIGFuZCBzZHBNTGluZUluZGV4CiAKICoqKiBUZXN0
IHNvbWUgT0sgaW5wdXQKLVBBU1MgcHJvbWlzZSBwYy5hZGRJY2VDYW5kaWRhdGUoe2NhbmRpZGF0
ZTogdmFsaWRDYW5kaWRhdGUsIHNkcE1pZDogc2RwTWlkfSkgZnVsZmlsbGVkIHdpdGggdW5kZWZp
bmVkCitQQVNTIHByb21pc2UgcGMuYWRkSWNlQ2FuZGlkYXRlKHtjYW5kaWRhdGU6IHZhbGlkQ2Fu
ZGlkYXRlLCBzZHBNaWQ6IHNkcE1pZH0pIHJlamVjdGVkIHdpdGggT3BlcmF0aW9uRXJyb3I6IEVy
cm9yIHByb2Nlc3NpbmcgSUNFIGNhbmRpZGF0ZQogUEFTUyBwcm9taXNlIHBjLmFkZEljZUNhbmRp
ZGF0ZSh7Y2FuZGlkYXRlOiB2YWxpZENhbmRpZGF0ZSwgc2RwTUxpbmVJbmRleDogc2RwTUxpbmVJ
bmRleH0pIGZ1bGZpbGxlZCB3aXRoIHVuZGVmaW5lZAogUEFTUyBwcm9taXNlIHBjLmFkZEljZUNh
bmRpZGF0ZSh1bmRlZmluZWQpIGZ1bGZpbGxlZCB3aXRoIHVuZGVmaW5lZAogUEFTUyBwcm9taXNl
IHBjLmFkZEljZUNhbmRpZGF0ZShudWxsKSBmdWxmaWxsZWQgd2l0aCB1bmRlZmluZWQKIFBBU1Mg
cHJvbWlzZSBwYy5hZGRJY2VDYW5kaWRhdGUobmV3IFJUQ0ljZUNhbmRpZGF0ZSh7Y2FuZGlkYXRl
OiB2YWxpZENhbmRpZGF0ZSwgc2RwTUxpbmVJbmRleDogc2RwTUxpbmVJbmRleH0pKSBmdWxmaWxs
ZWQgd2l0aCB1bmRlZmluZWQKLSoqKiBBIHZhbGlkIHNkcE1pZCB0YWtlcyBwcmVjZWRlc2NlIG92
ZXIgYSBiYWQgc2RwTUxpbmVJbmRleAotUEFTUyBwcm9taXNlIHBjLmFkZEljZUNhbmRpZGF0ZShu
ZXcgUlRDSWNlQ2FuZGlkYXRlKHtjYW5kaWRhdGU6IHZhbGlkQ2FuZGlkYXRlLCBzZHBNaWQ6IHNk
cE1pZCwgc2RwTUxpbmVJbmRleDogYmFkU2RwTUxpbmVJbmRleH0pKSBmdWxmaWxsZWQgd2l0aCB1
bmRlZmluZWQKK1BBU1MgcHJvbWlzZSBwYy5hZGRJY2VDYW5kaWRhdGUobmV3IFJUQ0ljZUNhbmRp
ZGF0ZSh7Y2FuZGlkYXRlOiB2YWxpZENhbmRpZGF0ZSwgc2RwTWlkOiBzZHBNaWQsIHNkcE1MaW5l
SW5kZXg6IGJhZFNkcE1MaW5lSW5kZXh9KSkgcmVqZWN0ZWQgd2l0aCBPcGVyYXRpb25FcnJvcjog
RXJyb3IgcHJvY2Vzc2luZyBJQ0UgY2FuZGlkYXRlCiBQQVNTIEVuZCBvZiB0ZXN0IHByb21pc2Ug
Y2hhaW4KIFBBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKIApkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZmFzdC9tZWRpYXN0cmVhbS9SVENQZWVyQ29ubmVjdGlvbi1hZGRJY2VDYW5kaWRh
dGUuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvbWVkaWFzdHJlYW0vUlRDUGVlckNvbm5lY3Rpb24t
YWRkSWNlQ2FuZGlkYXRlLmh0bWwKaW5kZXggMzg4NzljZjNmYTBjZjljZmJkOThmMzM5ODJhZjky
Mzk1NTNmZjA1NS4uZWExMTQ0OTRhNjVjN2M3ZGQxMmI1ZGY1YTA2MjliOTRkNjViNTc0ZSAxMDA2
NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9tZWRpYXN0cmVhbS9SVENQZWVyQ29ubmVjdGlvbi1h
ZGRJY2VDYW5kaWRhdGUuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L21lZGlhc3RyZWFtL1JU
Q1BlZXJDb25uZWN0aW9uLWFkZEljZUNhbmRpZGF0ZS5odG1sCkBAIC04MSw3ICs4MSw3IEBACiAg
ICAgICAgICAgICAudGhlbihmdW5jdGlvbiAoKSB7CiAgICAgICAgICAgICAgICAgZGVidWcoIjxi
cj4qKiogVGVzdCBzb21lIE9LIGlucHV0Iik7CiAgICAgICAgICAgICAgICAgLy8gVGVzdGluZyBw
YXNzaW5nIGEgUlRDSWNlQ2FuZGlkYXRlSW5pdAotICAgICAgICAgICAgICAgIHJldHVybiBwcm9t
aXNlU2hvdWxkUmVzb2x2ZSgicGMuYWRkSWNlQ2FuZGlkYXRlKHtjYW5kaWRhdGU6IHZhbGlkQ2Fu
ZGlkYXRlLCBzZHBNaWQ6IHNkcE1pZH0pIik7CisgICAgICAgICAgICAgICAgcmV0dXJuIHByb21p
c2VTaG91bGRSZWplY3QoInBjLmFkZEljZUNhbmRpZGF0ZSh7Y2FuZGlkYXRlOiB2YWxpZENhbmRp
ZGF0ZSwgc2RwTWlkOiBzZHBNaWR9KSIpOwogICAgICAgICAgICAgfSkKICAgICAgICAgICAgIC50
aGVuKGZ1bmN0aW9uICgpIHsKICAgICAgICAgICAgICAgICByZXR1cm4gcHJvbWlzZVNob3VsZFJl
c29sdmUoInBjLmFkZEljZUNhbmRpZGF0ZSh7Y2FuZGlkYXRlOiB2YWxpZENhbmRpZGF0ZSwgc2Rw
TUxpbmVJbmRleDogc2RwTUxpbmVJbmRleH0pIik7CkBAIC05Nyw4ICs5Nyw3IEBACiAgICAgICAg
ICAgICAgICAgcmV0dXJuIHByb21pc2VTaG91bGRSZXNvbHZlKCJwYy5hZGRJY2VDYW5kaWRhdGUo
bmV3IFJUQ0ljZUNhbmRpZGF0ZSh7Y2FuZGlkYXRlOiB2YWxpZENhbmRpZGF0ZSwgc2RwTUxpbmVJ
bmRleDogc2RwTUxpbmVJbmRleH0pKSIpOwogICAgICAgICAgICAgfSkKICAgICAgICAgICAgIC50
aGVuKGZ1bmN0aW9uICgpIHsKLSAgICAgICAgICAgICAgICBkZWJ1ZygiKioqIEEgdmFsaWQgc2Rw
TWlkIHRha2VzIHByZWNlZGVzY2Ugb3ZlciBhIGJhZCBzZHBNTGluZUluZGV4Iik7Ci0gICAgICAg
ICAgICAgICAgcmV0dXJuIHByb21pc2VTaG91bGRSZXNvbHZlKCJwYy5hZGRJY2VDYW5kaWRhdGUo
bmV3IFJUQ0ljZUNhbmRpZGF0ZSh7Y2FuZGlkYXRlOiB2YWxpZENhbmRpZGF0ZSwgc2RwTWlkOiBz
ZHBNaWQsIHNkcE1MaW5lSW5kZXg6IGJhZFNkcE1MaW5lSW5kZXh9KSkiKTsKKyAgICAgICAgICAg
ICAgICByZXR1cm4gcHJvbWlzZVNob3VsZFJlamVjdCgicGMuYWRkSWNlQ2FuZGlkYXRlKG5ldyBS
VENJY2VDYW5kaWRhdGUoe2NhbmRpZGF0ZTogdmFsaWRDYW5kaWRhdGUsIHNkcE1pZDogc2RwTWlk
LCBzZHBNTGluZUluZGV4OiBiYWRTZHBNTGluZUluZGV4fSkpIik7CiAgICAgICAgICAgICB9KQog
ICAgICAgICAgICAgLnRoZW4oZnVuY3Rpb24gKCkgewogICAgICAgICAgICAgICAgIHRlc3RQYXNz
ZWQoIkVuZCBvZiB0ZXN0IHByb21pc2UgY2hhaW4iKTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd2VicnRjL1JUQ1BlZXJDb25uZWN0aW9u
LWFkZEljZUNhbmRpZGF0ZS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3dlYnJ0Yy9SVENQZWVyQ29ubmVjdGlvbi1hZGRJY2VDYW5kaWRh
dGUtZXhwZWN0ZWQudHh0CmluZGV4IDY2YzAwYWM1NWFiYmVkNjIwZTZjMzIwYWM2MDg5YmI2Nzky
YjExYWYuLjIzMGNhN2I5Yzg1Y2IyODg2Y2YxOTYxOTRkMmE2YTk2NTZmZjAyZTEgMTAwNjQ0Ci0t
LSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd2VicnRjL1JU
Q1BlZXJDb25uZWN0aW9uLWFkZEljZUNhbmRpZGF0ZS1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93ZWJydGMvUlRDUGVlckNvbm5l
Y3Rpb24tYWRkSWNlQ2FuZGlkYXRlLWV4cGVjdGVkLnR4dApAQCAtMSw1ICsxLDUgQEAKIAotRkFJ
TCBBZGQgSUNFIGNhbmRpZGF0ZSBiZWZvcmUgc2V0dGluZyByZW1vdGUgZGVzY3JpcHRpb24gc2hv
dWxkIHJlamVjdCB3aXRoIEludmFsaWRTdGF0ZUVycm9yIGFzc2VydF91bnJlYWNoZWQ6IFNob3Vs
ZCBoYXZlIHJlamVjdGVkOiB1bmRlZmluZWQgUmVhY2hlZCB1bnJlYWNoYWJsZSBjb2RlCitGQUlM
IEFkZCBJQ0UgY2FuZGlkYXRlIGJlZm9yZSBzZXR0aW5nIHJlbW90ZSBkZXNjcmlwdGlvbiBzaG91
bGQgcmVqZWN0IHdpdGggSW52YWxpZFN0YXRlRXJyb3IgcHJvbWlzZV9yZWplY3RzX2RvbTogZnVu
Y3Rpb24gImZ1bmN0aW9uICgpIHsgdGhyb3cgZSB9IiB0aHJldyBvYmplY3QgIk9wZXJhdGlvbkVy
cm9yOiBFcnJvciBwcm9jZXNzaW5nIElDRSBjYW5kaWRhdGUiIHRoYXQgaXMgbm90IGEgRE9NRXhj
ZXB0aW9uIEludmFsaWRTdGF0ZUVycm9yOiBwcm9wZXJ0eSAiY29kZSIgaXMgZXF1YWwgdG8gMCwg
ZXhwZWN0ZWQgMTEKIEZBSUwgYWRkSWNlQ2FuZGlkYXRlKHsiY2FuZGlkYXRlIjoiIiwic2RwTWlk
IjpudWxsLCJzZHBNTGluZUluZGV4IjpudWxsfSkgc2hvdWxkIHdvcmssIGFuZCBhZGQgYT1lbmQt
b2YtY2FuZGlkYXRlcyB0byBib3RoIG0tc2VjdGlvbnMgYXNzZXJ0X3RydWU6IEV4cGVjdCBjYW5k
aWRhdGUgbGluZSB0byBiZSBmb3VuZCBiZXR3ZWVuIG1lZGlhIGxpbmVzIG09YXVkaW8gYW5kIG09
dmlkZW8gZXhwZWN0ZWQgdHJ1ZSBnb3QgZmFsc2UKIEZBSUwgYWRkSWNlQ2FuZGlkYXRlKHVuZGVm
aW5lZCkgc2hvdWxkIHdvcmssIGFuZCBhZGQgYT1lbmQtb2YtY2FuZGlkYXRlcyB0byBib3RoIG0t
c2VjdGlvbnMgYXNzZXJ0X3RydWU6IEV4cGVjdCBjYW5kaWRhdGUgbGluZSB0byBiZSBmb3VuZCBi
ZXR3ZWVuIG1lZGlhIGxpbmVzIG09YXVkaW8gYW5kIG09dmlkZW8gZXhwZWN0ZWQgdHJ1ZSBnb3Qg
ZmFsc2UKIEZBSUwgYWRkSWNlQ2FuZGlkYXRlKG51bGwpIHNob3VsZCB3b3JrLCBhbmQgYWRkIGE9
ZW5kLW9mLWNhbmRpZGF0ZXMgdG8gYm90aCBtLXNlY3Rpb25zIGFzc2VydF90cnVlOiBFeHBlY3Qg
Y2FuZGlkYXRlIGxpbmUgdG8gYmUgZm91bmQgYmV0d2VlbiBtZWRpYSBsaW5lcyBtPWF1ZGlvIGFu
ZCBtPXZpZGVvIGV4cGVjdGVkIHRydWUgZ290IGZhbHNlCkBAIC04LDIzICs4LDIzIEBAIEZBSUwg
YWRkSWNlQ2FuZGlkYXRlKHt9KSBpbiBzdGFibGUgc2hvdWxkIHdvcmssIGFuZCBhZGQgYT1lbmQt
b2YtY2FuZGlkYXRlcyB0byBiCiBGQUlMIGFkZEljZUNhbmRpZGF0ZSh7dXNlcm5hbWVGcmFnbWVu
dDogdXNlcm5hbWVGcmFnbWVudDEsIHNkcE1pZDogc2RwTWlkMX0pIHNob3VsZCB3b3JrLCBhbmQg
YWRkIGE9ZW5kLW9mLWNhbmRpZGF0ZXMgdG8gdGhlIGZpcnN0IG0tc2VjdGlvbiBhc3NlcnRfdHJ1
ZTogRXhwZWN0IGNhbmRpZGF0ZSBsaW5lIHRvIGJlIGZvdW5kIGJldHdlZW4gbWVkaWEgbGluZXMg
bT1hdWRpbyBhbmQgbT12aWRlbyBleHBlY3RlZCB0cnVlIGdvdCBmYWxzZQogRkFJTCBhZGRJY2VD
YW5kaWRhdGUoe3VzZXJuYW1lRnJhZ21lbnQ6IHVzZXJuYW1lRnJhZ21lbnQyLCBzZHBNTGluZUlu
ZGV4OiAxfSkgc2hvdWxkIHdvcmssIGFuZCBhZGQgYT1lbmQtb2YtY2FuZGlkYXRlcyB0byB0aGUg
Zmlyc3QgbS1zZWN0aW9uIGFzc2VydF90cnVlOiBleHBlY3RlZCB0cnVlIGdvdCBmYWxzZQogRkFJ
TCBhZGRJY2VDYW5kaWRhdGUoe3VzZXJuYW1lRnJhZ21lbnQ6ICJubyBzdWNoIHVmcmFnIn0pIHNo
b3VsZCBub3Qgd29yayBhc3NlcnRfdW5yZWFjaGVkOiBTaG91bGQgaGF2ZSByZWplY3RlZDogdW5k
ZWZpbmVkIFJlYWNoZWQgdW5yZWFjaGFibGUgY29kZQotRkFJTCBBZGQgSUNFIGNhbmRpZGF0ZSBh
ZnRlciBzZXR0aW5nIHJlbW90ZSBkZXNjcmlwdGlvbiBzaG91bGQgc3VjY2VlZCBhc3NlcnRfdHJ1
ZTogRXhwZWN0IGNhbmRpZGF0ZSBsaW5lIHRvIGJlIGZvdW5kIGFmdGVyIG1lZGlhIGxpbmUgbT1h
dWRpbyBleHBlY3RlZCB0cnVlIGdvdCBmYWxzZQorUEFTUyBBZGQgSUNFIGNhbmRpZGF0ZSBhZnRl
ciBzZXR0aW5nIHJlbW90ZSBkZXNjcmlwdGlvbiBzaG91bGQgc3VjY2VlZAogUEFTUyBBZGQgSUNF
IGNhbmRpZGF0ZSB3aXRoIFJUQ0ljZUNhbmRpZGF0ZSBzaG91bGQgc3VjY2VlZAogUEFTUyBBZGQg
Y2FuZGlkYXRlIHdpdGggb25seSB2YWxpZCBzZHBNaWQgc2hvdWxkIHN1Y2NlZWQKIFBBU1MgQWRk
IGNhbmRpZGF0ZSB3aXRoIG9ubHkgdmFsaWQgc2RwTWlkIGFuZCBSVENJY2VDYW5kaWRhdGUgc2hv
dWxkIHN1Y2NlZWQKIFBBU1MgQWRkIGNhbmRpZGF0ZSB3aXRoIG9ubHkgdmFsaWQgc2RwTUxpbmVJ
bmRleCBzaG91bGQgc3VjY2VlZAotRkFJTCBhZGRJY2VDYW5kaWRhdGUgd2l0aCBmaXJzdCBzZHBN
aWQgYW5kIHNkcE1MaW5lSW5kZXggYWRkIGNhbmRpZGF0ZSB0byBmaXJzdCBtZWRpYSBzdHJlYW0g
YXNzZXJ0X3RydWU6IEV4cGVjdCBjYW5kaWRhdGUgbGluZSB0byBiZSBmb3VuZCBiZXR3ZWVuIG1l
ZGlhIGxpbmVzIG09YXVkaW8gYW5kIG09dmlkZW8gZXhwZWN0ZWQgdHJ1ZSBnb3QgZmFsc2UKLUZB
SUwgYWRkSWNlQ2FuZGlkYXRlIHdpdGggc2Vjb25kIHNkcE1pZCBhbmQgc2RwTUxpbmVJbmRleCBz
aG91bGQgYWRkIGNhbmRpZGF0ZSB0byBzZWNvbmQgbWVkaWEgc3RyZWFtIGFzc2VydF90cnVlOiBF
eHBlY3QgY2FuZGlkYXRlIGxpbmUgdG8gYmUgZm91bmQgYWZ0ZXIgbWVkaWEgbGluZSBtPXZpZGVv
IGV4cGVjdGVkIHRydWUgZ290IGZhbHNlCi1GQUlMIEFkZCBjYW5kaWRhdGUgZm9yIGZpcnN0IG1l
ZGlhIHN0cmVhbSB3aXRoIG51bGwgdXNlcm5hbWVGcmFnbWVudCBzaG91bGQgYWRkIGNhbmRpZGF0
ZSB0byBmaXJzdCBtZWRpYSBzdHJlYW0gYXNzZXJ0X3RydWU6IEV4cGVjdCBjYW5kaWRhdGUgbGlu
ZSB0byBiZSBmb3VuZCBiZXR3ZWVuIG1lZGlhIGxpbmVzIG09YXVkaW8gYW5kIG09dmlkZW8gZXhw
ZWN0ZWQgdHJ1ZSBnb3QgZmFsc2UKLUZBSUwgQWRkaW5nIG11bHRpcGxlIGNhbmRpZGF0ZXMgc2hv
dWxkIGFkZCBjYW5kaWRhdGVzIHRvIHRoZWlyIGNvcnJlc3BvbmRpbmcgbWVkaWEgc3RyZWFtIGFz
c2VydF90cnVlOiBFeHBlY3QgY2FuZGlkYXRlIGxpbmUgdG8gYmUgZm91bmQgYmV0d2VlbiBtZWRp
YSBsaW5lcyBtPWF1ZGlvIGFuZCBtPXZpZGVvIGV4cGVjdGVkIHRydWUgZ290IGZhbHNlCitQQVNT
IGFkZEljZUNhbmRpZGF0ZSB3aXRoIGZpcnN0IHNkcE1pZCBhbmQgc2RwTUxpbmVJbmRleCBhZGQg
Y2FuZGlkYXRlIHRvIGZpcnN0IG1lZGlhIHN0cmVhbQorUEFTUyBhZGRJY2VDYW5kaWRhdGUgd2l0
aCBzZWNvbmQgc2RwTWlkIGFuZCBzZHBNTGluZUluZGV4IHNob3VsZCBhZGQgY2FuZGlkYXRlIHRv
IHNlY29uZCBtZWRpYSBzdHJlYW0KK1BBU1MgQWRkIGNhbmRpZGF0ZSBmb3IgZmlyc3QgbWVkaWEg
c3RyZWFtIHdpdGggbnVsbCB1c2VybmFtZUZyYWdtZW50IHNob3VsZCBhZGQgY2FuZGlkYXRlIHRv
IGZpcnN0IG1lZGlhIHN0cmVhbQorUEFTUyBBZGRpbmcgbXVsdGlwbGUgY2FuZGlkYXRlcyBzaG91
bGQgYWRkIGNhbmRpZGF0ZXMgdG8gdGhlaXIgY29ycmVzcG9uZGluZyBtZWRpYSBzdHJlYW0KIEZB
SUwgQWRkIHdpdGggZW1wdHkgY2FuZGlkYXRlIHN0cmluZyAoZW5kIG9mIGNhbmRpZGF0ZSkgc2hv
dWxkIHN1Y2NlZWQgYXNzZXJ0X3RydWU6IEV4cGVjdCBjYW5kaWRhdGUgbGluZSB0byBiZSBmb3Vu
ZCBiZXR3ZWVuIG1lZGlhIGxpbmVzIG09YXVkaW8gYW5kIG09dmlkZW8gZXhwZWN0ZWQgdHJ1ZSBn
b3QgZmFsc2UKIFBBU1MgQWRkIGNhbmRpZGF0ZSB3aXRoIGJvdGggc2RwTWlkIGFuZCBzZHBNTGlu
ZUluZGV4IG1hbnVhbGx5IHNldCB0byBudWxsIHNob3VsZCByZWplY3Qgd2l0aCBUeXBlRXJyb3IK
IFBBU1MgQWRkIGNhbmRpZGF0ZSB3aXRoIG9ubHkgdmFsaWQgY2FuZGlkYXRlIHN0cmluZyBzaG91
bGQgcmVqZWN0IHdpdGggVHlwZUVycm9yCiBQQVNTIEFkZCBjYW5kaWRhdGUgd2l0aCBpbnZhbGlk
IGNhbmRpZGF0ZSBzdHJpbmcgYW5kIGJvdGggc2RwTWlkIGFuZCBzZHBNTGluZUluZGV4IG51bGwg
c2hvdWxkIHJlamVjdCB3aXRoIFR5cGVFcnJvcgotRkFJTCBBZGQgY2FuZGlkYXRlIHdpdGggaW52
YWxpZCBzZHBNaWQgc2hvdWxkIHJlamVjdCB3aXRoIE9wZXJhdGlvbkVycm9yIGFzc2VydF91bnJl
YWNoZWQ6IFNob3VsZCBoYXZlIHJlamVjdGVkOiB1bmRlZmluZWQgUmVhY2hlZCB1bnJlYWNoYWJs
ZSBjb2RlCi1GQUlMIEFkZCBjYW5kaWRhdGUgd2l0aCBpbnZhbGlkIHNkcE1MaW5lSW5kZXggc2hv
dWxkIHJlamVjdCB3aXRoIE9wZXJhdGlvbkVycm9yIGFzc2VydF91bnJlYWNoZWQ6IFNob3VsZCBo
YXZlIHJlamVjdGVkOiB1bmRlZmluZWQgUmVhY2hlZCB1bnJlYWNoYWJsZSBjb2RlCitQQVNTIEFk
ZCBjYW5kaWRhdGUgd2l0aCBpbnZhbGlkIHNkcE1pZCBzaG91bGQgcmVqZWN0IHdpdGggT3BlcmF0
aW9uRXJyb3IKK1BBU1MgQWRkIGNhbmRpZGF0ZSB3aXRoIGludmFsaWQgc2RwTUxpbmVJbmRleCBz
aG91bGQgcmVqZWN0IHdpdGggT3BlcmF0aW9uRXJyb3IKIFBBU1MgSW52YWxpZCBzZHBNTGluZUlu
ZGV4IHNob3VsZCBiZSBpZ25vcmVkIGlmIHZhbGlkIHNkcE1pZCBpcyBwcm92aWRlZAotRkFJTCBB
ZGQgY2FuZGlkYXRlIGZvciBtZWRpYSBzdHJlYW0gMiB3aXRoIG51bGwgdXNlcm5hbWVGcmFnbWVu
dCBzaG91bGQgc3VjY2VlZCBhc3NlcnRfdHJ1ZTogRXhwZWN0IGNhbmRpZGF0ZSBsaW5lIHRvIGJl
IGZvdW5kIGFmdGVyIG1lZGlhIGxpbmUgbT12aWRlbyBleHBlY3RlZCB0cnVlIGdvdCBmYWxzZQor
UEFTUyBBZGQgY2FuZGlkYXRlIGZvciBtZWRpYSBzdHJlYW0gMiB3aXRoIG51bGwgdXNlcm5hbWVG
cmFnbWVudCBzaG91bGQgc3VjY2VlZAogRkFJTCBBZGQgY2FuZGlkYXRlIHdpdGggaW52YWxpZCB1
c2VybmFtZUZyYWdtZW50IHNob3VsZCByZWplY3Qgd2l0aCBPcGVyYXRpb25FcnJvciBhc3NlcnRf
dW5yZWFjaGVkOiBTaG91bGQgaGF2ZSByZWplY3RlZDogdW5kZWZpbmVkIFJlYWNoZWQgdW5yZWFj
aGFibGUgY29kZQogUEFTUyBBZGQgY2FuZGlkYXRlIHdpdGggaW52YWxpZCBjYW5kaWRhdGUgc3Ry
aW5nIHNob3VsZCByZWplY3Qgd2l0aCBPcGVyYXRpb25FcnJvcgogRkFJTCBBZGQgY2FuZGlkYXRl
IHdpdGggc2RwTWlkIGJlbG9uZ2luZyB0byBkaWZmZXJlbnQgdXNlcm5hbWVGcmFnbWVudCBzaG91
bGQgcmVqZWN0IHdpdGggT3BlcmF0aW9uRXJyb3IgYXNzZXJ0X3VucmVhY2hlZDogU2hvdWxkIGhh
dmUgcmVqZWN0ZWQ6IHVuZGVmaW5lZCBSZWFjaGVkIHVucmVhY2hhYmxlIGNvZGUKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd2VicnRjL1JU
Q1BlZXJDb25uZWN0aW9uLW9wZXJhdGlvbnMuaHR0cHMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93ZWJydGMvUlRDUGVlckNvbm5lY3Rp
b24tb3BlcmF0aW9ucy5odHRwcy1leHBlY3RlZC50eHQKaW5kZXggMWM3NTFhNGY5NWZjY2VjZjc3
YTBkNjhhYzQwMmFmZTkzMWExZDEwYi4uMGFlNWRlNWNjZmM2NjY0YmIwZThjYzg3YzcyYWNkZWY0
NGJkYTVjMiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy93ZWJydGMvUlRDUGVlckNvbm5lY3Rpb24tb3BlcmF0aW9ucy5odHRwcy1leHBlY3Rl
ZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93
ZWJydGMvUlRDUGVlckNvbm5lY3Rpb24tb3BlcmF0aW9ucy5odHRwcy1leHBlY3RlZC50eHQKQEAg
LTI1LDcgKzI1LDcgQEAgRkFJTCBzZXRQYXJhbWV0ZXJzIGRvZXMgTk9UIHVzZSB0aGUgb3BlcmF0
aW9ucyBjaGFpbiBhc3NlcnRfZXF1YWxzOiBNZXRob2QgaXMgYXMKIFBBU1MgcGMuZ2V0U3RhdHMg
ZG9lcyBOT1QgdXNlIHRoZSBvcGVyYXRpb25zIGNoYWluCiBQQVNTIHNlbmRlci5nZXRTdGF0cyBk
b2VzIE5PVCB1c2UgdGhlIG9wZXJhdGlvbnMgY2hhaW4KIFBBU1MgcmVjZWl2ZXIuZ2V0U3RhdHMg
ZG9lcyBOT1QgdXNlIHRoZSBvcGVyYXRpb25zIGNoYWluCi1GQUlMIGFkZEljZUNhbmRpZGF0ZSBj
aGFpbnMgb250byBTUkQsIGZhaWxzIGJlZm9yZSBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAiSW52
YWxpZFN0YXRlRXJyb3IiIGJ1dCBnb3QgIkVycm9yIgorRkFJTCBhZGRJY2VDYW5kaWRhdGUgY2hh
aW5zIG9udG8gU1JELCBmYWlscyBiZWZvcmUgYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgIkludmFs
aWRTdGF0ZUVycm9yIiBidXQgZ290ICJPcGVyYXRpb25FcnJvciIKIEZBSUwgT3BlcmF0aW9ucyBx
dWV1ZSBub3QgdnVsbmVyYWJsZSB0byByZWN1cnNpb24gYnkgY2hhaW5lZCBuZWdvdGlhdGlvbm5l
ZWRlZCBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0
ICJJbnZhbGlkU3RhdGVFcnJvcjogUmVtb3RlIGRlc2NyaXB0aW9uIHR5cGUgMCBpcyBpbmNvbXBh
dGlibGUgd2l0aCBjdXJyZW50IHNpZ25hbGluZyBzdGF0ZSAxIgogRkFJTCBQYWNrIG9wZXJhdGlv
bnMgcXVldWUgd2l0aCBpbXBsaWNpdCBvZmZlciBhbmQgYW5zd2VyIHByb21pc2VfdGVzdDogVW5o
YW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIk9wZXJhdGlvbkVycm9yOiBFeHBl
Y3QgbGluZTogdj0iCiBUSU1FT1VUIE5lZ290aWF0ZSBzb2xlbHkgYnkgb3BlcmF0aW9ucyBxdWV1
ZSBhbmQgc2lnbmFsaW5nIHN0YXRlIFRlc3QgdGltZWQgb3V0CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dlYnJ0Yy9SVENQZWVyQ29ubmVj
dGlvbi1wZXJmZWN0LW5lZ290aWF0aW9uLXN0cmVzcy1nbGFyZS1saW5lYXIuaHR0cHMtZXhwZWN0
ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93ZWJy
dGMvUlRDUGVlckNvbm5lY3Rpb24tcGVyZmVjdC1uZWdvdGlhdGlvbi1zdHJlc3MtZ2xhcmUtbGlu
ZWFyLmh0dHBzLWV4cGVjdGVkLnR4dAppbmRleCAyZGIwNmJjN2E4OGI5OWZjODMwZjY4YTY2YjIw
ZmE2MWM0NGY5OTRhLi4zMzhjZDA4NGQ0MDc4ZTE5NTMwNTVjNTFmMzcxYWQzMTM0NGM2OTMzIDEw
MDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dl
YnJ0Yy9SVENQZWVyQ29ubmVjdGlvbi1wZXJmZWN0LW5lZ290aWF0aW9uLXN0cmVzcy1nbGFyZS1s
aW5lYXIuaHR0cHMtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvd2VicnRjL1JUQ1BlZXJDb25uZWN0aW9uLXBlcmZlY3QtbmVnb3Rp
YXRpb24tc3RyZXNzLWdsYXJlLWxpbmVhci5odHRwcy1leHBlY3RlZC50eHQKQEAgLTEsNCArMSw2
IEBACiAKLUZBSUwgUGVyZmVjdCBuZWdvdGlhdGlvbiBzdHJlc3MgZ2xhcmUgbGluZWFyIFJlbW90
ZSBkZXNjcmlwdGlvbiB0eXBlIDAgaXMgaW5jb21wYXRpYmxlIHdpdGggY3VycmVudCBzaWduYWxp
bmcgc3RhdGUgMQotRkFJTCBQZXJmZWN0IG5lZ290aWF0aW9uIHN0cmVzcyBnbGFyZSBsaW5lYXIg
d2l0aCByb2xlcyByZXZlcnNlZCBhc3NlcnRfdW5yZWFjaGVkOiBFcnJvciBpbiBpZnJhbWU6IElu
dmFsaWRTdGF0ZUVycm9yOiBSZW1vdGUgZGVzY3JpcHRpb24gdHlwZSAwIGlzIGluY29tcGF0aWJs
ZSB3aXRoIGN1cnJlbnQgc2lnbmFsaW5nIHN0YXRlIDEgUmVhY2hlZCB1bnJlYWNoYWJsZSBjb2Rl
CitIYXJuZXNzIEVycm9yIChGQUlMKSwgbWVzc2FnZSA9IFVuaGFuZGxlZCByZWplY3Rpb246IG51
bGwgaXMgbm90IGFuIG9iamVjdCAoZXZhbHVhdGluZyAndGFyZ2V0LnBvc3RNZXNzYWdlJykKKwor
RkFJTCBQZXJmZWN0IG5lZ290aWF0aW9uIHN0cmVzcyBnbGFyZSBsaW5lYXIgRXJyb3IgcHJvY2Vz
c2luZyBJQ0UgY2FuZGlkYXRlCitGQUlMIFBlcmZlY3QgbmVnb3RpYXRpb24gc3RyZXNzIGdsYXJl
IGxpbmVhciB3aXRoIHJvbGVzIHJldmVyc2VkIGFzc2VydF91bnJlYWNoZWQ6IEVycm9yIGluIGlm
cmFtZTogT3BlcmF0aW9uRXJyb3I6IEVycm9yIHByb2Nlc3NpbmcgSUNFIGNhbmRpZGF0ZSBSZWFj
aGVkIHVucmVhY2hhYmxlIGNvZGUKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93ZWJydGMvUlRDUGVlckNvbm5lY3Rpb24tcGVyZmVjdC1u
ZWdvdGlhdGlvbi1zdHJlc3MtZ2xhcmUuaHR0cHMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93ZWJydGMvUlRDUGVlckNvbm5lY3Rpb24t
cGVyZmVjdC1uZWdvdGlhdGlvbi1zdHJlc3MtZ2xhcmUuaHR0cHMtZXhwZWN0ZWQudHh0CmluZGV4
IDMyMWEzZmFjZDU4OGY0MjIxZjY5ZDQ1YTYwMmNkYmY0OTg4ZDg1NDkuLjM1MGQ1YTY2NGE1MGNh
OWNlMjc5NmE2M2JlZjhkMzc3YTNlNjk2ODcgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd2VicnRjL1JUQ1BlZXJDb25uZWN0aW9uLXBlcmZl
Y3QtbmVnb3RpYXRpb24tc3RyZXNzLWdsYXJlLmh0dHBzLWV4cGVjdGVkLnR4dAorKysgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dlYnJ0Yy9SVENQZWVyQ29u
bmVjdGlvbi1wZXJmZWN0LW5lZ290aWF0aW9uLXN0cmVzcy1nbGFyZS5odHRwcy1leHBlY3RlZC50
eHQKQEAgLTEsNCArMSw0IEBACiAKLUZBSUwgUGVyZmVjdCBuZWdvdGlhdGlvbiBzdHJlc3MgZ2xh
cmUgUmVtb3RlIGRlc2NyaXB0aW9uIHR5cGUgMCBpcyBpbmNvbXBhdGlibGUgd2l0aCBjdXJyZW50
IHNpZ25hbGluZyBzdGF0ZSAxCi1GQUlMIFBlcmZlY3QgbmVnb3RpYXRpb24gc3RyZXNzIGdsYXJl
IHdpdGggcm9sZXMgcmV2ZXJzZWQgYXNzZXJ0X3VucmVhY2hlZDogRXJyb3IgaW4gaWZyYW1lOiBJ
bnZhbGlkU3RhdGVFcnJvcjogUmVtb3RlIGRlc2NyaXB0aW9uIHR5cGUgMCBpcyBpbmNvbXBhdGli
bGUgd2l0aCBjdXJyZW50IHNpZ25hbGluZyBzdGF0ZSAxIFJlYWNoZWQgdW5yZWFjaGFibGUgY29k
ZQorRkFJTCBQZXJmZWN0IG5lZ290aWF0aW9uIHN0cmVzcyBnbGFyZSBFcnJvciBwcm9jZXNzaW5n
IElDRSBjYW5kaWRhdGUKK0ZBSUwgUGVyZmVjdCBuZWdvdGlhdGlvbiBzdHJlc3MgZ2xhcmUgd2l0
aCByb2xlcyByZXZlcnNlZCBhc3NlcnRfdW5yZWFjaGVkOiBFcnJvciBpbiBpZnJhbWU6IE9wZXJh
dGlvbkVycm9yOiBFcnJvciBwcm9jZXNzaW5nIElDRSBjYW5kaWRhdGUgUmVhY2hlZCB1bnJlYWNo
YWJsZSBjb2RlCiAK
</data>

          </attachment>
      

    </bug>

</bugzilla>