<?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>221293</bug_id>
          
          <creation_ts>2021-02-02 13:30:31 -0800</creation_ts>
          <short_desc>[GPUP][MSE] MediaSource::buffered and MediaSource::activeSourceBuffers do not update in the same run loop as MediaSource::endOfStream()</short_desc>
          <delta_ts>2021-03-13 11:08:29 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Media</component>
          <version>Other</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          <see_also>https://bugs.webkit.org/show_bug.cgi?id=221965</see_also>
    
    <see_also>https://bugs.webkit.org/show_bug.cgi?id=221686</see_also>
          <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="Peng Liu">peng.liu6</reporter>
          <assigned_to name="Peng Liu">peng.liu6</assigned_to>
          <cc>calvaris</cc>
    
    <cc>eric.carlson</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>glenn</cc>
    
    <cc>jer.noble</cc>
    
    <cc>philipj</cc>
    
    <cc>sergio</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1724868</commentid>
    <comment_count>0</comment_count>
    <who name="Peng Liu">peng.liu6</who>
    <bug_when>2021-02-02 13:30:31 -0800</bug_when>
    <thetext>This leads to two failures in LayoutTests/imported/w3c/web-platform-tests/media-source/mediasource-buffered.html.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1724870</commentid>
    <comment_count>1</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2021-02-02 13:31:00 -0800</bug_when>
    <thetext>&lt;rdar://problem/73895840&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1724954</commentid>
    <comment_count>2</comment_count>
      <attachid>419079</attachid>
    <who name="Peng Liu">peng.liu6</who>
    <bug_when>2021-02-02 16:23:29 -0800</bug_when>
    <thetext>Created attachment 419079
WIP Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1739046</commentid>
    <comment_count>3</comment_count>
      <attachid>423087</attachid>
    <who name="Peng Liu">peng.liu6</who>
    <bug_when>2021-03-12 15:28:48 -0800</bug_when>
    <thetext>Created attachment 423087
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1739096</commentid>
    <comment_count>4</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2021-03-12 19:31:56 -0800</bug_when>
    <thetext>commit-queue failed to commit attachment 423087 to WebKit repository. To retry, please set cq+ flag again.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1739099</commentid>
    <comment_count>5</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2021-03-12 20:33:02 -0800</bug_when>
    <thetext>commit-queue failed to commit attachment 423087 to WebKit repository. To retry, please set cq+ flag again.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1739101</commentid>
    <comment_count>6</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2021-03-12 20:51:14 -0800</bug_when>
    <thetext>commit-queue failed to commit attachment 423087 to WebKit repository. To retry, please set cq+ flag again.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1739107</commentid>
    <comment_count>7</comment_count>
      <attachid>423096</attachid>
    <who name="Peng Liu">peng.liu6</who>
    <bug_when>2021-03-12 21:25:33 -0800</bug_when>
    <thetext>Created attachment 423096
Rebase the patch before landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1739163</commentid>
    <comment_count>8</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2021-03-13 11:08:27 -0800</bug_when>
    <thetext>Committed r274390: &lt;https://commits.webkit.org/r274390&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 423096.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>419079</attachid>
            <date>2021-02-02 16:23:29 -0800</date>
            <delta_ts>2021-03-12 15:28:47 -0800</delta_ts>
            <desc>WIP Patch</desc>
            <filename>bug-221293-20210202162328.patch</filename>
            <type>text/plain</type>
            <size>23315</size>
            <attacher name="Peng Liu">peng.liu6</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjcyMTQ0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZTBiZjgzYzEyYmM4NDQ2
ODMxNjk4MjIwNzczZjVjNzNmNjYzZDlmYi4uZjQ1YTU1NGNjY2FjMDZjMDU4ZDkyZTc2OTUyY2Yx
N2E1NWM3YjdmZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM0IEBACisyMDIxLTAyLTAyICBQZW5n
IExpdSAgPHBlbmcubGl1NkBhcHBsZS5jb20+CisKKyAgICAgICAgW0dQVVBdW01TRV0gTWVkaWFT
b3VyY2U6OmJ1ZmZlcmVkIGFuZCBNZWRpYVNvdXJjZTo6YWN0aXZlU291cmNlQnVmZmVycyBkbyBu
b3QgdXBkYXRlIGluIHRoZSBzYW1lIHJ1biBsb29wIGFzIE1lZGlhU291cmNlOjplbmRPZlN0cmVh
bSgpCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMjEy
OTMKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBObyBu
ZXcgdGVzdHMgKE9PUFMhKS4KKworICAgICAgICAqIE1vZHVsZXMvbWVkaWFzb3VyY2UvU291cmNl
QnVmZmVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNvdXJjZUJ1ZmZlcjo6cmVhZHlTdGF0ZUNo
YW5nZWQpOgorICAgICAgICAoV2ViQ29yZTo6U291cmNlQnVmZmVyOjp1cGRhdGVCdWZmZXJlZEZy
b21UcmFja0J1ZmZlcnMpOgorICAgICAgICAoV2ViQ29yZTo6U291cmNlQnVmZmVyOjpzb3VyY2VC
dWZmZXJQcml2YXRlQXBwZW5kQ29tcGxldGUpOgorICAgICAgICAoV2ViQ29yZTo6U291cmNlQnVm
ZmVyOjpyZW1vdmVUaW1lckZpcmVkKToKKyAgICAgICAgKFdlYkNvcmU6OlNvdXJjZUJ1ZmZlcjo6
c291cmNlQnVmZmVyUHJpdmF0ZURpZFBhcnNlU2FtcGxlKToKKyAgICAgICAgKFdlYkNvcmU6OlNv
dXJjZUJ1ZmZlcjo6c291cmNlQnVmZmVyUHJpdmF0ZUJ1ZmZlcmVkUmFuZ2VzRXJhc2VkKToKKyAg
ICAgICAgKiBNb2R1bGVzL21lZGlhc291cmNlL1NvdXJjZUJ1ZmZlci5oOgorICAgICAgICAqIHBs
YXRmb3JtL2dyYXBoaWNzL1NvdXJjZUJ1ZmZlclByaXZhdGUuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6U291cmNlQnVmZmVyUHJpdmF0ZTo6YXBwZW5kQ29tcGxldGVkKToKKyAgICAgICAgKFdlYkNv
cmU6OlNvdXJjZUJ1ZmZlclByaXZhdGU6OnJlbW92ZUNvZGVkRnJhbWVzKToKKyAgICAgICAgKFdl
YkNvcmU6OlNvdXJjZUJ1ZmZlclByaXZhdGU6OmV2aWN0Q29kZWRGcmFtZXMpOgorICAgICAgICAo
V2ViQ29yZTo6U291cmNlQnVmZmVyUHJpdmF0ZTo6ZGlkUmVjZWl2ZVNhbXBsZSk6CisgICAgICAg
IChXZWJDb3JlOjpTb3VyY2VCdWZmZXJQcml2YXRlOjpzZXRCdWZmZXJlZERpcnR5KTogRGVsZXRl
ZC4KKyAgICAgICAgKFdlYkNvcmU6OlNvdXJjZUJ1ZmZlclByaXZhdGU6OnNldEJ1ZmZlcmVkUmFu
Z2VzKTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6OlNvdXJjZUJ1ZmZlclByaXZhdGU6OnVw
ZGF0ZUJ1ZmZlcmVkRnJvbVRyYWNrQnVmZmVycyk6IERlbGV0ZWQuCisgICAgICAgICogcGxhdGZv
cm0vZ3JhcGhpY3MvU291cmNlQnVmZmVyUHJpdmF0ZS5oOgorICAgICAgICAoV2ViQ29yZTo6U291
cmNlQnVmZmVyUHJpdmF0ZTo6c2V0U2hvdWxkR2VuZXJhdGVUaW1lc3RhbXBzKToKKyAgICAgICAg
KiBwbGF0Zm9ybS9ncmFwaGljcy9Tb3VyY2VCdWZmZXJQcml2YXRlQ2xpZW50Lmg6CisgICAgICAg
ICogcGxhdGZvcm0vbW9jay9tZWRpYXNvdXJjZS9Nb2NrU291cmNlQnVmZmVyUHJpdmF0ZS5jcHA6
CisgICAgICAgIChXZWJDb3JlOjpNb2NrU291cmNlQnVmZmVyUHJpdmF0ZTo6YXBwZW5kKToKKwog
MjAyMS0wMi0wMSAgQW50dGkgS29pdmlzdG8gIDxhbnR0aUBhcHBsZS5jb20+CiAKICAgICAgICAg
W0xGQ11bSW50ZWdyYXRpb25dIEZpeCBlZGl0aW5nL2V4ZWNDb21tYW5kL3ByaW1pdGl2ZS12YWx1
ZS5odG1sCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc291cmNlL1Nv
dXJjZUJ1ZmZlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc291cmNlL1NvdXJj
ZUJ1ZmZlci5jcHAKaW5kZXggNTM4ZWI5ZjEyYmE5NWY2YTEwOTAwYjVmZmRmMTEwZmFjMzdjMzhk
My4uZjQ0NmMzMzk3N2UxZGMzNGVjOWM4YWYzZmVlODBkZDYxMmM4MDU2NCAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXNvdXJjZS9Tb3VyY2VCdWZmZXIuY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzb3VyY2UvU291cmNlQnVmZmVyLmNwcApAQCAt
NDE2LDggKzQxNiw1MSBAQCBNZWRpYVRpbWUgU291cmNlQnVmZmVyOjpoaWdoZXN0UHJlc2VudGF0
aW9uVGltZXN0YW1wKCkgY29uc3QKIAogdm9pZCBTb3VyY2VCdWZmZXI6OnJlYWR5U3RhdGVDaGFu
Z2VkKCkKIHsKLSAgICBpZiAoIWlzUmVtb3ZlZCgpKQotICAgICAgICBtX3ByaXZhdGUtPnVwZGF0
ZUJ1ZmZlcmVkRnJvbVRyYWNrQnVmZmVycyhtX3NvdXJjZS0+aXNFbmRlZCgpKTsKKyAgICB1cGRh
dGVCdWZmZXJlZEZyb21UcmFja0J1ZmZlcnMobV9zb3VyY2UtPmlzRW5kZWQoKSk7Cit9CisKK3Zv
aWQgU291cmNlQnVmZmVyOjp1cGRhdGVCdWZmZXJlZEZyb21UcmFja0J1ZmZlcnMoYm9vbCBzb3Vy
Y2VJc0VuZGVkKQoreworICAgIC8vIDMuMSBBdHRyaWJ1dGVzLCBidWZmZXJlZAorICAgIC8vIGh0
dHBzOi8vcmF3Z2l0LmNvbS93M2MvbWVkaWEtc291cmNlLzQ1NjI3NjQ2MzQ0ZWVhMDE3MGRkMWNi
YzVhM2Q1MDhjYTc1MWFiYjgvbWVkaWEtc291cmNlLXJlc3BlYy5odG1sI2RvbS1zb3VyY2VidWZm
ZXItYnVmZmVyZWQKKworICAgIC8vIDIuIExldCBoaWdoZXN0IGVuZCB0aW1lIGJlIHRoZSBsYXJn
ZXN0IHRyYWNrIGJ1ZmZlciByYW5nZXMgZW5kIHRpbWUgYWNyb3NzIGFsbCB0aGUgdHJhY2sgYnVm
ZmVycyBtYW5hZ2VkIGJ5IHRoaXMgU291cmNlQnVmZmVyIG9iamVjdC4KKyAgICBNZWRpYVRpbWUg
aGlnaGVzdEVuZFRpbWUgPSBNZWRpYVRpbWU6Om5lZ2F0aXZlSW5maW5pdGVUaW1lKCk7CisgICAg
Zm9yIChhdXRvJiB0cmFja0J1ZmZlcmVkIDogbV90cmFja0J1ZmZlcmVkTWFwLnZhbHVlcygpKSB7
CisgICAgICAgIGlmICghdHJhY2tCdWZmZXJlZC5sZW5ndGgoKSkKKyAgICAgICAgICAgIGNvbnRp
bnVlOworICAgICAgICBoaWdoZXN0RW5kVGltZSA9IHN0ZDo6bWF4KGhpZ2hlc3RFbmRUaW1lLCB0
cmFja0J1ZmZlcmVkLm1heGltdW1CdWZmZXJlZFRpbWUoKSk7CisgICAgfQorCisgICAgLy8gTk9U
RTogU2hvcnQgY2lyY3VpdCB0aGUgZm9sbG93aW5nIGlmIG5vbmUgb2YgdGhlIFRyYWNrQnVmZmVy
cyBoYXZlIGJ1ZmZlcmVkIHJhbmdlcyB0byBhdm9pZCBnZW5lcmF0aW5nCisgICAgLy8gYSBzaW5n
bGUgcmFuZ2Ugb2YgezAsIDB9LgorICAgIGlmIChoaWdoZXN0RW5kVGltZS5pc05lZ2F0aXZlSW5m
aW5pdGUoKSkgeworICAgICAgICBzZXRCdWZmZXJlZFJhbmdlcyhQbGF0Zm9ybVRpbWVSYW5nZXMo
KSk7CisgICAgICAgIHJldHVybjsKKyAgICB9CisKKyAgICAvLyAzLiBMZXQgaW50ZXJzZWN0aW9u
IHJhbmdlcyBlcXVhbCBhIFRpbWVSYW5nZSBvYmplY3QgY29udGFpbmluZyBhIHNpbmdsZSByYW5n
ZSBmcm9tIDAgdG8gaGlnaGVzdCBlbmQgdGltZS4KKyAgICBQbGF0Zm9ybVRpbWVSYW5nZXMgaW50
ZXJzZWN0aW9uUmFuZ2VzIHsgTWVkaWFUaW1lOjp6ZXJvVGltZSgpLCBoaWdoZXN0RW5kVGltZSB9
OworCisgICAgLy8gNC4gRm9yIGVhY2ggYXVkaW8gYW5kIHZpZGVvIHRyYWNrIGJ1ZmZlciBtYW5h
Z2VkIGJ5IHRoaXMgU291cmNlQnVmZmVyLCBydW4gdGhlIGZvbGxvd2luZyBzdGVwczoKKyAgICBm
b3IgKGF1dG8mIHRyYWNrQnVmZmVyZWQgOiBtX3RyYWNrQnVmZmVyZWRNYXAudmFsdWVzKCkpIHsK
KyAgICAgICAgLy8gNC4xIExldCB0cmFjayByYW5nZXMgZXF1YWwgdGhlIHRyYWNrIGJ1ZmZlciBy
YW5nZXMgZm9yIHRoZSBjdXJyZW50IHRyYWNrIGJ1ZmZlci4KKyAgICAgICAgaWYgKCF0cmFja0J1
ZmZlcmVkLmxlbmd0aCgpKQorICAgICAgICAgICAgY29udGludWU7CisKKyAgICAgICAgLy8gNC4y
IElmIHJlYWR5U3RhdGUgaXMgImVuZGVkIiwgdGhlbiBzZXQgdGhlIGVuZCB0aW1lIG9uIHRoZSBs
YXN0IHJhbmdlIGluIHRyYWNrIHJhbmdlcyB0byBoaWdoZXN0IGVuZCB0aW1lLgorICAgICAgICBp
ZiAoc291cmNlSXNFbmRlZCkKKyAgICAgICAgICAgIHRyYWNrQnVmZmVyZWQuYWRkKHRyYWNrQnVm
ZmVyZWQubWF4aW11bUJ1ZmZlcmVkVGltZSgpLCBoaWdoZXN0RW5kVGltZSk7CisKKyAgICAgICAg
Ly8gNC4zIExldCBuZXcgaW50ZXJzZWN0aW9uIHJhbmdlcyBlcXVhbCB0aGUgaW50ZXJzZWN0aW9u
IGJldHdlZW4gdGhlIGludGVyc2VjdGlvbiByYW5nZXMgYW5kIHRoZSB0cmFjayByYW5nZXMuCisg
ICAgICAgIC8vIDQuNCBSZXBsYWNlIHRoZSByYW5nZXMgaW4gaW50ZXJzZWN0aW9uIHJhbmdlcyB3
aXRoIHRoZSBuZXcgaW50ZXJzZWN0aW9uIHJhbmdlcy4KKyAgICAgICAgaW50ZXJzZWN0aW9uUmFu
Z2VzLmludGVyc2VjdFdpdGgodHJhY2tCdWZmZXJlZCk7CisgICAgfQorCisgICAgLy8gNS4gSWYg
aW50ZXJzZWN0aW9uIHJhbmdlcyBkb2VzIG5vdCBjb250YWluIHRoZSBleGFjdCBzYW1lIHJhbmdl
IGluZm9ybWF0aW9uIGFzIHRoZSBjdXJyZW50IHZhbHVlIG9mIHRoaXMgYXR0cmlidXRlLAorICAg
IC8vICAgIHRoZW4gdXBkYXRlIHRoZSBjdXJyZW50IHZhbHVlIG9mIHRoaXMgYXR0cmlidXRlIHRv
IGludGVyc2VjdGlvbiByYW5nZXMuCisgICAgbV9idWZmZXJlZC0+cmFuZ2VzKCkgPSBpbnRlcnNl
Y3Rpb25SYW5nZXM7CisgICAgbV9idWZmZXJlZERpcnR5ID0gdHJ1ZTsKIH0KIAogdm9pZCBTb3Vy
Y2VCdWZmZXI6OnJlbW92ZWRGcm9tTWVkaWFTb3VyY2UoKQpAQCAtNTUxLDYgKzU5NCwxMCBAQCB2
b2lkIFNvdXJjZUJ1ZmZlcjo6c291cmNlQnVmZmVyUHJpdmF0ZUFwcGVuZENvbXBsZXRlKEFwcGVu
ZFJlc3VsdCByZXN1bHQpCiAgICAgaWYgKGlzUmVtb3ZlZCgpKQogICAgICAgICByZXR1cm47CiAK
KyAgICAvLyBSZXNvbHZlIHRoZSBjaGFuZ2VzIGluIFRyYWNrQnVmZmVycycgYnVmZmVyZWQgcmFu
Z2VzCisgICAgLy8gaW50byB0aGUgU291cmNlQnVmZmVyJ3MgYnVmZmVyZWQgcmFuZ2VzCisgICAg
dXBkYXRlQnVmZmVyZWRGcm9tVHJhY2tCdWZmZXJzKG1fc291cmNlLT5pc0VuZGVkKCkpOworCiAg
ICAgLy8gU2VjdGlvbiAzLjUuNSBCdWZmZXIgQXBwZW5kIEFsZ29yaXRobSwgY3RkLgogICAgIC8v
IGh0dHBzOi8vZHZjcy53My5vcmcvaGcvaHRtbC1tZWRpYS9yYXctZmlsZS9kZWZhdWx0L21lZGlh
LXNvdXJjZS9tZWRpYS1zb3VyY2UuaHRtbCNzb3VyY2VidWZmZXItYnVmZmVyLWFwcGVuZAogCkBA
IC02MTQsNiArNjYxLDkgQEAgdm9pZCBTb3VyY2VCdWZmZXI6OnJlbW92ZVRpbWVyRmlyZWQoKQog
ICAgIC8vIDYuIFJ1biB0aGUgY29kZWQgZnJhbWUgcmVtb3ZhbCBhbGdvcml0aG0gd2l0aCBzdGFy
dCBhbmQgZW5kIGFzIHRoZSBzdGFydCBhbmQgZW5kIG9mIHRoZSByZW1vdmFsIHJhbmdlLgogCiAg
ICAgbV9wcml2YXRlLT5yZW1vdmVDb2RlZEZyYW1lcyhtX3BlbmRpbmdSZW1vdmVTdGFydCwgbV9w
ZW5kaW5nUmVtb3ZlRW5kLCBtX3NvdXJjZS0+Y3VycmVudFRpbWUoKSwgbV9zb3VyY2UtPmlzRW5k
ZWQoKSwgW3RoaXMsIHByb3RlY3RlZFRoaXMgPSBtYWtlUmVmKCp0aGlzKV0geworCisgICAgICAg
IExPRyhNZWRpYSwgIlNvdXJjZUJ1ZmZlcjo6cmVtb3ZlQ29kZWRGcmFtZXMoJXApIC0gYnVmZmVy
ZWQgPSAlcyIsIHRoaXMsIHRvU3RyaW5nKG1fYnVmZmVyZWQtPnJhbmdlcygpKS51dGY4KCkuZGF0
YSgpKTsKKwogICAgICAgICAvLyA3LiBTZXQgdGhlIHVwZGF0aW5nIGF0dHJpYnV0ZSB0byBmYWxz
ZS4KICAgICAgICAgbV91cGRhdGluZyA9IGZhbHNlOwogICAgICAgICBtX3BlbmRpbmdSZW1vdmVT
dGFydCA9IE1lZGlhVGltZTo6aW52YWxpZFRpbWUoKTsKQEAgLTExMjUsOSArMTE3NSwxMyBAQCB2
b2lkIFNvdXJjZUJ1ZmZlcjo6dGV4dFRyYWNrS2luZENoYW5nZWQoVGV4dFRyYWNrJiB0cmFjaykK
ICAgICAgICAgbV9zb3VyY2UtPm1lZGlhRWxlbWVudCgpLT50ZXh0VHJhY2tLaW5kQ2hhbmdlZCh0
cmFjayk7CiB9CiAKLXZvaWQgU291cmNlQnVmZmVyOjpzb3VyY2VCdWZmZXJQcml2YXRlRGlkUGFy
c2VTYW1wbGUoZG91YmxlIGZyYW1lRHVyYXRpb24pCit2b2lkIFNvdXJjZUJ1ZmZlcjo6c291cmNl
QnVmZmVyUHJpdmF0ZURpZFBhcnNlU2FtcGxlKEF0b21TdHJpbmcgdHJhY2tJZCwgY29uc3QgTWVk
aWFUaW1lJiBwcmVzZW50YXRpb25UaW1lc3RhbXAsIGNvbnN0IE1lZGlhVGltZSYgcHJlc2VudGF0
aW9uRW5kVGltZSwgZG91YmxlIHNhbXBsZUR1cmF0aW9uKQogewotICAgIG1fYnVmZmVyZWRTaW5j
ZUxhc3RNb25pdG9yICs9IGZyYW1lRHVyYXRpb247CisgICAgQVNTRVJUKG1fdHJhY2tCdWZmZXJl
ZE1hcC5jb250YWlucyh0cmFja0lkKSk7CisKKyAgICBtX2J1ZmZlcmVkU2luY2VMYXN0TW9uaXRv
ciArPSBzYW1wbGVEdXJhdGlvbjsKKyAgICBtX3RyYWNrQnVmZmVyZWRNYXAuZ2V0KHRyYWNrSWQp
LmFkZChwcmVzZW50YXRpb25UaW1lc3RhbXAsIHByZXNlbnRhdGlvbkVuZFRpbWUpOworICAgIG1f
YnVmZmVyZWREaXJ0eSA9IHRydWU7CiB9CiAKIHZvaWQgU291cmNlQnVmZmVyOjpzb3VyY2VCdWZm
ZXJQcml2YXRlRHVyYXRpb25DaGFuZ2VkKGNvbnN0IE1lZGlhVGltZSYgZHVyYXRpb24pCkBAIC0x
Mjg5LDYgKzEzNDMsMTYgQEAgdm9pZCBTb3VyY2VCdWZmZXI6OnNldFNob3VsZEdlbmVyYXRlVGlt
ZXN0YW1wcyhib29sIGZsYWcpCiAgICAgbV9wcml2YXRlLT5zZXRTaG91bGRHZW5lcmF0ZVRpbWVz
dGFtcHMoZmxhZyk7CiB9CiAKK3ZvaWQgU291cmNlQnVmZmVyOjpzb3VyY2VCdWZmZXJQcml2YXRl
QnVmZmVyZWRSYW5nZXNFcmFzZWQoY29uc3QgQXRvbVN0cmluZyYgdHJhY2tJZCwgY29uc3QgUGxh
dGZvcm1UaW1lUmFuZ2VzJiBlcmFzZWRSYW5nZXMpCit7CisgICAgQVNTRVJUKG1fdHJhY2tCdWZm
ZXJlZE1hcC5jb250YWlucyh0cmFja0lkKSk7CisKKyAgICBhdXRvIHJhbmdlcyA9IGVyYXNlZFJh
bmdlczsKKyAgICByYW5nZXMuaW52ZXJ0KCk7CisgICAgbV90cmFja0J1ZmZlcmVkTWFwLmdldCh0
cmFja0lkKS5pbnRlcnNlY3RXaXRoKHJhbmdlcyk7CisgICAgbV9idWZmZXJlZERpcnR5ID0gdHJ1
ZTsKK30KKwogdm9pZCBTb3VyY2VCdWZmZXI6OnNvdXJjZUJ1ZmZlclByaXZhdGVCdWZmZXJlZERp
cnR5Q2hhbmdlZChib29sIGZsYWcpCiB7CiAgICAgbV9idWZmZXJlZERpcnR5ID0gZmxhZzsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzb3VyY2UvU291cmNlQnVmZmVy
LmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc291cmNlL1NvdXJjZUJ1ZmZlci5oCmlu
ZGV4IGE5NDdiNzNjZTNmZTM3NTVkYjZiN2Y1MjRmNWJlNmUxN2ZkNGIwY2EuLjJiMjNkMDYwYWEz
MjdkN2Y0NDA5MTE5YTQ3YjQ2N2VkMzFkNGRkODIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvbWVkaWFzb3VyY2UvU291cmNlQnVmZmVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUv
TW9kdWxlcy9tZWRpYXNvdXJjZS9Tb3VyY2VCdWZmZXIuaApAQCAtMTU0LDEwICsxNTQsOSBAQCBw
cml2YXRlOgogICAgIHZvaWQgc291cmNlQnVmZmVyUHJpdmF0ZUFwcGVuZENvbXBsZXRlKEFwcGVu
ZFJlc3VsdCkgZmluYWw7CiAgICAgdm9pZCBzb3VyY2VCdWZmZXJQcml2YXRlSGlnaGVzdFByZXNl
bnRhdGlvblRpbWVzdGFtcENoYW5nZWQoY29uc3QgTWVkaWFUaW1lJikgZmluYWw7CiAgICAgdm9p
ZCBzb3VyY2VCdWZmZXJQcml2YXRlRHVyYXRpb25DaGFuZ2VkKGNvbnN0IE1lZGlhVGltZSYgZHVy
YXRpb24pIGZpbmFsOwotICAgIHZvaWQgc291cmNlQnVmZmVyUHJpdmF0ZURpZFBhcnNlU2FtcGxl
KGRvdWJsZSBzYW1wbGVEdXJhdGlvbikgZmluYWw7CisgICAgdm9pZCBzb3VyY2VCdWZmZXJQcml2
YXRlRGlkUGFyc2VTYW1wbGUoY29uc3QgQXRvbVN0cmluZyYgdHJhY2tJZCwgY29uc3QgTWVkaWFU
aW1lJiBwcmVzZW50YXRpb25UaW1lc3RhbXAsIGNvbnN0IE1lZGlhVGltZSYgcHJlc2VudGF0aW9u
RW5kVGltZSwgZG91YmxlIHNhbXBsZUR1cmF0aW9uKSBmaW5hbDsKICAgICB2b2lkIHNvdXJjZUJ1
ZmZlclByaXZhdGVEaWREcm9wU2FtcGxlKCkgZmluYWw7Ci0gICAgdm9pZCBzb3VyY2VCdWZmZXJQ
cml2YXRlQnVmZmVyZWREaXJ0eUNoYW5nZWQoYm9vbCkgZmluYWw7Ci0gICAgdm9pZCBzb3VyY2VC
dWZmZXJQcml2YXRlQnVmZmVyZWRSYW5nZXNDaGFuZ2VkKGNvbnN0IFBsYXRmb3JtVGltZVJhbmdl
cyYpIGZpbmFsOworICAgIHZvaWQgc291cmNlQnVmZmVyUHJpdmF0ZUJ1ZmZlcmVkUmFuZ2VzRXJh
c2VkKGNvbnN0IEF0b21TdHJpbmcmIHRyYWNrSWQsIGNvbnN0IFBsYXRmb3JtVGltZVJhbmdlcyYp
IGZpbmFsOwogICAgIHZvaWQgc291cmNlQnVmZmVyUHJpdmF0ZURpZFJlY2VpdmVSZW5kZXJpbmdF
cnJvcihpbnQ2NF90IGVycm9yQ29kZSkgZmluYWw7CiAgICAgdm9pZCBzb3VyY2VCdWZmZXJQcml2
YXRlUmVwb3J0RXh0cmFNZW1vcnlDb3N0KHVpbnQ2NF90KSBmaW5hbDsKIApAQCAtMjAxLDYgKzIw
MCw4IEBAIHByaXZhdGU6CiAKICAgICB2b2lkIHJhbmdlUmVtb3ZhbChjb25zdCBNZWRpYVRpbWUm
LCBjb25zdCBNZWRpYVRpbWUmKTsKIAorICAgIHZvaWQgdXBkYXRlQnVmZmVyZWRGcm9tVHJhY2tC
dWZmZXJzKGJvb2wgc291cmNlSXNFbmRlZCk7CisKICAgICBmcmllbmQgY2xhc3MgSW50ZXJuYWxz
OwogICAgIFdFQkNPUkVfRVhQT1JUIHZvaWQgYnVmZmVyZWRTYW1wbGVzRm9yVHJhY2tJZChjb25z
dCBBdG9tU3RyaW5nJiwgQ29tcGxldGlvbkhhbmRsZXI8dm9pZChWZWN0b3I8U3RyaW5nPiYmKT4m
Jik7CiAgICAgV0VCQ09SRV9FWFBPUlQgVmVjdG9yPFN0cmluZz4gZW5xdWV1ZWRTYW1wbGVzRm9y
VHJhY2tJRChjb25zdCBBdG9tU3RyaW5nJik7CkBAIC0yMzUsNiArMjM2LDcgQEAgcHJpdmF0ZToK
ICAgICBkb3VibGUgbV9hdmVyYWdlQnVmZmVyUmF0ZSB7IDAgfTsKICAgICBib29sIG1fYnVmZmVy
ZWREaXJ0eSB7IHRydWUgfTsKICAgICBSZWZQdHI8VGltZVJhbmdlcz4gbV9idWZmZXJlZDsKKyAg
ICBIYXNoTWFwPEF0b21TdHJpbmcsIFBsYXRmb3JtVGltZVJhbmdlcz4gbV90cmFja0J1ZmZlcmVk
TWFwOwogCiAgICAgdWludDY0X3QgbV9yZXBvcnRlZEV4dHJhTWVtb3J5Q29zdCB7IDAgfTsKIApk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvU291cmNlQnVmZmVy
UHJpdmF0ZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Tb3VyY2VCdWZm
ZXJQcml2YXRlLmNwcAppbmRleCBhMzEzNTRmMjVlMzQ3NzBhYzE0MmE2MjdlZjRmYjA2NzMyZTE1
ODIwLi4yYzNlMTAxZjUxZmJlMzk4M2NmMDg1N2JkNmM1NDg0ZDUzOTUyMzhiIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Tb3VyY2VCdWZmZXJQcml2YXRlLmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Tb3VyY2VCdWZmZXJQcml2
YXRlLmNwcApAQCAtNzUsMTIgKzc1LDYgQEAgdm9pZCBTb3VyY2VCdWZmZXJQcml2YXRlOjpyZXNl
dFRpbWVzdGFtcE9mZnNldEluVHJhY2tCdWZmZXJzKCkKICAgICB9CiB9CiAKLXZvaWQgU291cmNl
QnVmZmVyUHJpdmF0ZTo6c2V0QnVmZmVyZWREaXJ0eShib29sIGZsYWcpCi17Ci0gICAgaWYgKG1f
Y2xpZW50KQotICAgICAgICBtX2NsaWVudC0+c291cmNlQnVmZmVyUHJpdmF0ZUJ1ZmZlcmVkRGly
dHlDaGFuZ2VkKGZsYWcpOwotfQotCiB2b2lkIFNvdXJjZUJ1ZmZlclByaXZhdGU6OnJlc2V0VHJh
Y2tCdWZmZXJzKCkKIHsKICAgICBmb3IgKGF1dG8mIHRyYWNrQnVmZmVyUGFpciA6IG1fdHJhY2tC
dWZmZXJNYXAudmFsdWVzKCkpIHsKQEAgLTExMCw2OCArMTA0LDEzIEBAIHZvaWQgU291cmNlQnVm
ZmVyUHJpdmF0ZTo6dXBkYXRlSGlnaGVzdFByZXNlbnRhdGlvblRpbWVzdGFtcCgpCiAgICAgICAg
IG1fY2xpZW50LT5zb3VyY2VCdWZmZXJQcml2YXRlSGlnaGVzdFByZXNlbnRhdGlvblRpbWVzdGFt
cENoYW5nZWQobV9oaWdoZXN0UHJlc2VudGF0aW9uVGltZXN0YW1wKTsKIH0KIAotdm9pZCBTb3Vy
Y2VCdWZmZXJQcml2YXRlOjpzZXRCdWZmZXJlZFJhbmdlcyhjb25zdCBQbGF0Zm9ybVRpbWVSYW5n
ZXMmIHRpbWVSYW5nZXMpCi17Ci0gICAgbV9idWZmZXJlZC0+cmFuZ2VzKCkgPSB0aW1lUmFuZ2Vz
OwotICAgIGlmIChtX2NsaWVudCkKLSAgICAgICAgbV9jbGllbnQtPnNvdXJjZUJ1ZmZlclByaXZh
dGVCdWZmZXJlZFJhbmdlc0NoYW5nZWQobV9idWZmZXJlZC0+cmFuZ2VzKCkpOwotfQotCi12b2lk
IFNvdXJjZUJ1ZmZlclByaXZhdGU6OnVwZGF0ZUJ1ZmZlcmVkRnJvbVRyYWNrQnVmZmVycyhib29s
IHNvdXJjZUlzRW5kZWQpCi17Ci0gICAgLy8gMy4xIEF0dHJpYnV0ZXMsIGJ1ZmZlcmVkCi0gICAg
Ly8gaHR0cHM6Ly9yYXdnaXQuY29tL3czYy9tZWRpYS1zb3VyY2UvNDU2Mjc2NDYzNDRlZWEwMTcw
ZGQxY2JjNWEzZDUwOGNhNzUxYWJiOC9tZWRpYS1zb3VyY2UtcmVzcGVjLmh0bWwjZG9tLXNvdXJj
ZWJ1ZmZlci1idWZmZXJlZAotCi0gICAgLy8gMi4gTGV0IGhpZ2hlc3QgZW5kIHRpbWUgYmUgdGhl
IGxhcmdlc3QgdHJhY2sgYnVmZmVyIHJhbmdlcyBlbmQgdGltZSBhY3Jvc3MgYWxsIHRoZSB0cmFj
ayBidWZmZXJzIG1hbmFnZWQgYnkgdGhpcyBTb3VyY2VCdWZmZXIgb2JqZWN0LgotICAgIE1lZGlh
VGltZSBoaWdoZXN0RW5kVGltZSA9IE1lZGlhVGltZTo6bmVnYXRpdmVJbmZpbml0ZVRpbWUoKTsK
LSAgICBmb3IgKGF1dG8mIHRyYWNrQnVmZmVyIDogbV90cmFja0J1ZmZlck1hcC52YWx1ZXMoKSkg
ewotICAgICAgICBpZiAoIXRyYWNrQnVmZmVyLmJ1ZmZlcmVkLmxlbmd0aCgpKQotICAgICAgICAg
ICAgY29udGludWU7Ci0gICAgICAgIGhpZ2hlc3RFbmRUaW1lID0gc3RkOjptYXgoaGlnaGVzdEVu
ZFRpbWUsIHRyYWNrQnVmZmVyLmJ1ZmZlcmVkLm1heGltdW1CdWZmZXJlZFRpbWUoKSk7Ci0gICAg
fQotCi0gICAgLy8gTk9URTogU2hvcnQgY2lyY3VpdCB0aGUgZm9sbG93aW5nIGlmIG5vbmUgb2Yg
dGhlIFRyYWNrQnVmZmVycyBoYXZlIGJ1ZmZlcmVkIHJhbmdlcyB0byBhdm9pZCBnZW5lcmF0aW5n
Ci0gICAgLy8gYSBzaW5nbGUgcmFuZ2Ugb2YgezAsIDB9LgotICAgIGlmIChoaWdoZXN0RW5kVGlt
ZS5pc05lZ2F0aXZlSW5maW5pdGUoKSkgewotICAgICAgICBzZXRCdWZmZXJlZFJhbmdlcyhQbGF0
Zm9ybVRpbWVSYW5nZXMoKSk7Ci0gICAgICAgIHJldHVybjsKLSAgICB9Ci0KLSAgICAvLyAzLiBM
ZXQgaW50ZXJzZWN0aW9uIHJhbmdlcyBlcXVhbCBhIFRpbWVSYW5nZSBvYmplY3QgY29udGFpbmlu
ZyBhIHNpbmdsZSByYW5nZSBmcm9tIDAgdG8gaGlnaGVzdCBlbmQgdGltZS4KLSAgICBQbGF0Zm9y
bVRpbWVSYW5nZXMgaW50ZXJzZWN0aW9uUmFuZ2VzIHsgTWVkaWFUaW1lOjp6ZXJvVGltZSgpLCBo
aWdoZXN0RW5kVGltZSB9OwotCi0gICAgLy8gNC4gRm9yIGVhY2ggYXVkaW8gYW5kIHZpZGVvIHRy
YWNrIGJ1ZmZlciBtYW5hZ2VkIGJ5IHRoaXMgU291cmNlQnVmZmVyLCBydW4gdGhlIGZvbGxvd2lu
ZyBzdGVwczoKLSAgICBmb3IgKGF1dG8mIHRyYWNrQnVmZmVyIDogbV90cmFja0J1ZmZlck1hcC52
YWx1ZXMoKSkgewotICAgICAgICAvLyA0LjEgTGV0IHRyYWNrIHJhbmdlcyBlcXVhbCB0aGUgdHJh
Y2sgYnVmZmVyIHJhbmdlcyBmb3IgdGhlIGN1cnJlbnQgdHJhY2sgYnVmZmVyLgotICAgICAgICBQ
bGF0Zm9ybVRpbWVSYW5nZXMgdHJhY2tSYW5nZXMgPSB0cmFja0J1ZmZlci5idWZmZXJlZDsKLSAg
ICAgICAgaWYgKCF0cmFja1Jhbmdlcy5sZW5ndGgoKSkKLSAgICAgICAgICAgIGNvbnRpbnVlOwot
Ci0gICAgICAgIC8vIDQuMiBJZiByZWFkeVN0YXRlIGlzICJlbmRlZCIsIHRoZW4gc2V0IHRoZSBl
bmQgdGltZSBvbiB0aGUgbGFzdCByYW5nZSBpbiB0cmFjayByYW5nZXMgdG8gaGlnaGVzdCBlbmQg
dGltZS4KLSAgICAgICAgaWYgKHNvdXJjZUlzRW5kZWQpCi0gICAgICAgICAgICB0cmFja1Jhbmdl
cy5hZGQodHJhY2tSYW5nZXMubWF4aW11bUJ1ZmZlcmVkVGltZSgpLCBoaWdoZXN0RW5kVGltZSk7
Ci0KLSAgICAgICAgLy8gNC4zIExldCBuZXcgaW50ZXJzZWN0aW9uIHJhbmdlcyBlcXVhbCB0aGUg
aW50ZXJzZWN0aW9uIGJldHdlZW4gdGhlIGludGVyc2VjdGlvbiByYW5nZXMgYW5kIHRoZSB0cmFj
ayByYW5nZXMuCi0gICAgICAgIC8vIDQuNCBSZXBsYWNlIHRoZSByYW5nZXMgaW4gaW50ZXJzZWN0
aW9uIHJhbmdlcyB3aXRoIHRoZSBuZXcgaW50ZXJzZWN0aW9uIHJhbmdlcy4KLSAgICAgICAgaW50
ZXJzZWN0aW9uUmFuZ2VzLmludGVyc2VjdFdpdGgodHJhY2tSYW5nZXMpOwotICAgIH0KLQotICAg
IC8vIDUuIElmIGludGVyc2VjdGlvbiByYW5nZXMgZG9lcyBub3QgY29udGFpbiB0aGUgZXhhY3Qg
c2FtZSByYW5nZSBpbmZvcm1hdGlvbiBhcyB0aGUgY3VycmVudCB2YWx1ZSBvZiB0aGlzIGF0dHJp
YnV0ZSwKLSAgICAvLyAgICB0aGVuIHVwZGF0ZSB0aGUgY3VycmVudCB2YWx1ZSBvZiB0aGlzIGF0
dHJpYnV0ZSB0byBpbnRlcnNlY3Rpb24gcmFuZ2VzLgotICAgIHNldEJ1ZmZlcmVkUmFuZ2VzKGlu
dGVyc2VjdGlvblJhbmdlcyk7Ci0gICAgc2V0QnVmZmVyZWREaXJ0eSh0cnVlKTsKLX0KLQogdm9p
ZCBTb3VyY2VCdWZmZXJQcml2YXRlOjphcHBlbmRDb21wbGV0ZWQoYm9vbCBwYXJzaW5nU3VjY2Vl
ZGVkLCBib29sIGlzRW5kZWQpCiB7Ci0gICAgLy8gUmVzb2x2ZSB0aGUgY2hhbmdlcyBpbiBUcmFj
a0J1ZmZlcnMnIGJ1ZmZlcmVkIHJhbmdlcwotICAgIC8vIGludG8gdGhlIFNvdXJjZUJ1ZmZlcidz
IGJ1ZmZlcmVkIHJhbmdlcwotICAgIHVwZGF0ZUJ1ZmZlcmVkRnJvbVRyYWNrQnVmZmVycyhpc0Vu
ZGVkKTsKKyAgICBpZiAoIW1fY2xpZW50KQorICAgICAgICByZXR1cm47CiAKLSAgICBpZiAobV9j
bGllbnQpIHsKLSAgICAgICAgbV9jbGllbnQtPnNvdXJjZUJ1ZmZlclByaXZhdGVBcHBlbmRDb21w
bGV0ZShwYXJzaW5nU3VjY2VlZGVkID8gU291cmNlQnVmZmVyUHJpdmF0ZUNsaWVudDo6QXBwZW5k
UmVzdWx0OjpBcHBlbmRTdWNjZWVkZWQgOiBTb3VyY2VCdWZmZXJQcml2YXRlQ2xpZW50OjpBcHBl
bmRSZXN1bHQ6OlBhcnNpbmdGYWlsZWQpOwotICAgICAgICBtX2NsaWVudC0+c291cmNlQnVmZmVy
UHJpdmF0ZVJlcG9ydEV4dHJhTWVtb3J5Q29zdCh0b3RhbFRyYWNrQnVmZmVyU2l6ZUluQnl0ZXMo
KSk7Ci0gICAgfQorICAgIG1fY2xpZW50LT5zb3VyY2VCdWZmZXJQcml2YXRlQXBwZW5kQ29tcGxl
dGUocGFyc2luZ1N1Y2NlZWRlZCA/IFNvdXJjZUJ1ZmZlclByaXZhdGVDbGllbnQ6OkFwcGVuZFJl
c3VsdDo6QXBwZW5kU3VjY2VlZGVkIDogU291cmNlQnVmZmVyUHJpdmF0ZUNsaWVudDo6QXBwZW5k
UmVzdWx0OjpQYXJzaW5nRmFpbGVkKTsKKyAgICBtX2NsaWVudC0+c291cmNlQnVmZmVyUHJpdmF0
ZVJlcG9ydEV4dHJhTWVtb3J5Q29zdCh0b3RhbFRyYWNrQnVmZmVyU2l6ZUluQnl0ZXMoKSk7CiB9
CiAKIHZvaWQgU291cmNlQnVmZmVyUHJpdmF0ZTo6cmVlbnF1ZVNhbXBsZXMoY29uc3QgQXRvbVN0
cmluZyYgdHJhY2tJRCkKQEAgLTYwMyw5ICs1NDIsNyBAQCB2b2lkIFNvdXJjZUJ1ZmZlclByaXZh
dGU6OnJlbW92ZUNvZGVkRnJhbWVzKGNvbnN0IE1lZGlhVGltZSYgc3RhcnQsIGNvbnN0IE1lZGlh
VAogICAgICAgICAgICAgfQogICAgICAgICB9CiAKLSAgICAgICAgZXJhc2VkUmFuZ2VzLmludmVy
dCgpOwotICAgICAgICB0cmFja0J1ZmZlci5idWZmZXJlZC5pbnRlcnNlY3RXaXRoKGVyYXNlZFJh
bmdlcyk7Ci0gICAgICAgIHNldEJ1ZmZlcmVkRGlydHkodHJ1ZSk7CisgICAgICAgIG1fY2xpZW50
LT5zb3VyY2VCdWZmZXJQcml2YXRlQnVmZmVyZWRSYW5nZXNFcmFzZWQodHJhY2tJRCwgZXJhc2Vk
UmFuZ2VzKTsKIAogICAgICAgICAvLyAzLjQgSWYgdGhpcyBvYmplY3QgaXMgaW4gYWN0aXZlU291
cmNlQnVmZmVycywgdGhlIGN1cnJlbnQgcGxheWJhY2sgcG9zaXRpb24gaXMgZ3JlYXRlciB0aGFu
IG9yIGVxdWFsIHRvIHN0YXJ0CiAgICAgICAgIC8vIGFuZCBsZXNzIHRoYW4gdGhlIHJlbW92ZSBl
bmQgdGltZXN0YW1wLCBhbmQgSFRNTE1lZGlhRWxlbWVudC5yZWFkeVN0YXRlIGlzIGdyZWF0ZXIg
dGhhbiBIQVZFX01FVEFEQVRBLCB0aGVuIHNldApAQCAtNjE0LDE1ICs1NTEsMTEgQEAgdm9pZCBT
b3VyY2VCdWZmZXJQcml2YXRlOjpyZW1vdmVDb2RlZEZyYW1lcyhjb25zdCBNZWRpYVRpbWUmIHN0
YXJ0LCBjb25zdCBNZWRpYVQKICAgICAgICAgICAgIHNldFJlYWR5U3RhdGUoTWVkaWFQbGF5ZXI6
OlJlYWR5U3RhdGU6OkhhdmVNZXRhZGF0YSk7CiAgICAgfQogCi0gICAgdXBkYXRlQnVmZmVyZWRG
cm9tVHJhY2tCdWZmZXJzKGlzRW5kZWQpOwotCiAgICAgLy8gNC4gSWYgYnVmZmVyIGZ1bGwgZmxh
ZyBlcXVhbHMgdHJ1ZSBhbmQgdGhpcyBvYmplY3QgaXMgcmVhZHkgdG8gYWNjZXB0IG1vcmUgYnl0
ZXMsIHRoZW4gc2V0IHRoZSBidWZmZXIgZnVsbCBmbGFnIHRvIGZhbHNlLgogICAgIC8vIE5vLW9w
CiAKICAgICB1cGRhdGVIaWdoZXN0UHJlc2VudGF0aW9uVGltZXN0YW1wKCk7CiAKLSAgICBMT0co
TWVkaWEsICJTb3VyY2VCdWZmZXI6OnJlbW92ZUNvZGVkRnJhbWVzKCVwKSAtIGJ1ZmZlcmVkID0g
JXMiLCB0aGlzLCB0b1N0cmluZyhtX2J1ZmZlcmVkLT5yYW5nZXMoKSkudXRmOCgpLmRhdGEoKSk7
Ci0KICAgICBjb21wbGV0aW9uSGFuZGxlcigpOwogfQogCkBAIC02NzgsNiArNjExLDkgQEAgdm9p
ZCBTb3VyY2VCdWZmZXJQcml2YXRlOjpldmljdENvZGVkRnJhbWVzKHVpbnQ2NF90IG5ld0RhdGFT
aXplLCB1aW50NjRfdCBwZW5kaW4KICAgICAvLyBJZiB0aGVyZSBzdGlsbCBpc24ndCBlbm91Z2gg
ZnJlZSBzcGFjZSBhbmQgdGhlcmUgYnVmZmVycyBpbiB0aW1lIHJhbmdlcyBhZnRlciB0aGUgY3Vy
cmVudCByYW5nZSAoaWUuIHRoZXJlIGlzIGEgZ2FwIGFmdGVyCiAgICAgLy8gdGhlIGN1cnJlbnQg
YnVmZmVyZWQgcmFuZ2UpLCBkZWxldGUgMzAgc2Vjb25kcyBhdCBhIHRpbWUgZnJvbSBkdXJhdGlv
biBiYWNrIHRvIHRoZSBjdXJyZW50IHRpbWUgcmFuZ2Ugb3IgMzAgc2Vjb25kcyBhZnRlcgogICAg
IC8vIGN1cnJlblRpbWUgd2hpY2hldmVyIHdlIGhpdCBmaXJzdC4KKyAgICAKKyAgICAvLyBUT0RP
OiB3ZSBtYXkgbmVlZCB0byBhdm9pZCB1c2luZyBtX2J1ZmZlcmVkIGluIFNvdXJjZUJ1ZmZlclBy
aXZhdGUKKwogICAgIGF1dG8gYnVmZmVyZWQgPSBtX2J1ZmZlcmVkLT5yYW5nZXMoKTsKICAgICB1
aW50NjRfdCBjdXJyZW50VGltZVJhbmdlID0gYnVmZmVyZWQuZmluZChjdXJyZW50VGltZSk7CiAg
ICAgaWYgKGN1cnJlbnRUaW1lUmFuZ2UgPT0gYnVmZmVyZWQubGVuZ3RoKCkgLSAxKSB7CkBAIC0x
MTcwLDkgKzExMDYsNyBAQCB2b2lkIFNvdXJjZUJ1ZmZlclByaXZhdGU6OmRpZFJlY2VpdmVTYW1w
bGUoTWVkaWFTYW1wbGUmIHNhbXBsZSkKICAgICAgICAgICAgICAgICAgICAgdHJhY2tCdWZmZXIu
bmVlZHNSZWVucXVldWVpbmcgPSB0cnVlOwogICAgICAgICAgICAgfQogCi0gICAgICAgICAgICBl
cmFzZWRSYW5nZXMuaW52ZXJ0KCk7Ci0gICAgICAgICAgICB0cmFja0J1ZmZlci5idWZmZXJlZC5p
bnRlcnNlY3RXaXRoKGVyYXNlZFJhbmdlcyk7Ci0gICAgICAgICAgICBzZXRCdWZmZXJlZERpcnR5
KHRydWUpOworICAgICAgICAgICAgbV9jbGllbnQtPnNvdXJjZUJ1ZmZlclByaXZhdGVCdWZmZXJl
ZFJhbmdlc0VyYXNlZCh0cmFja0lELCBlcmFzZWRSYW5nZXMpOwogICAgICAgICB9CiAKICAgICAg
ICAgLy8gMS4xNiBJZiBzcGxpY2VkIGF1ZGlvIGZyYW1lIGlzIHNldDoKQEAgLTEyNDgsOSArMTE4
Miw3IEBAIHZvaWQgU291cmNlQnVmZmVyUHJpdmF0ZTo6ZGlkUmVjZWl2ZVNhbXBsZShNZWRpYVNh
bXBsZSYgc2FtcGxlKQogICAgICAgICBpZiAobmVhcmVzdFRvUHJlc2VudGF0aW9uRW5kVGltZS5p
c1ZhbGlkKCkgJiYgKG5lYXJlc3RUb1ByZXNlbnRhdGlvbkVuZFRpbWUgLSBwcmVzZW50YXRpb25F
bmRUaW1lKS5pc0JldHdlZW4oTWVkaWFUaW1lOjp6ZXJvVGltZSgpLCB0aW1lRnVkZ2VGYWN0b3Io
KSkpCiAgICAgICAgICAgICBwcmVzZW50YXRpb25FbmRUaW1lID0gbmVhcmVzdFRvUHJlc2VudGF0
aW9uRW5kVGltZTsKIAotICAgICAgICB0cmFja0J1ZmZlci5idWZmZXJlZC5hZGQocHJlc2VudGF0
aW9uVGltZXN0YW1wLCBwcmVzZW50YXRpb25FbmRUaW1lKTsKLSAgICAgICAgbV9jbGllbnQtPnNv
dXJjZUJ1ZmZlclByaXZhdGVEaWRQYXJzZVNhbXBsZShmcmFtZUR1cmF0aW9uLnRvRG91YmxlKCkp
OwotICAgICAgICBzZXRCdWZmZXJlZERpcnR5KHRydWUpOworICAgICAgICBtX2NsaWVudC0+c291
cmNlQnVmZmVyUHJpdmF0ZURpZFBhcnNlU2FtcGxlKHRyYWNrSUQsIHByZXNlbnRhdGlvblRpbWVz
dGFtcCwgcHJlc2VudGF0aW9uRW5kVGltZSwgZnJhbWVEdXJhdGlvbi50b0RvdWJsZSgpKTsKIAog
ICAgICAgICBicmVhazsKICAgICB9IHdoaWxlICh0cnVlKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL1NvdXJjZUJ1ZmZlclByaXZhdGUuaCBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL1NvdXJjZUJ1ZmZlclByaXZhdGUuaAppbmRleCA3YTVh
ZjJiN2Y3Zjk2YjM4ZDc3YTVhYzEzMzhlMDM5NDc2ZWZmY2FlLi5kNWE1ZWE4MGIxZjUwNGQzYTkx
NWI0YTc2ZGQ3MDdlZjdlN2VhNmEwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9Tb3VyY2VCdWZmZXJQcml2YXRlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvU291cmNlQnVmZmVyUHJpdmF0ZS5oCkBAIC04NSw3ICs4NSw2IEBAIHB1
YmxpYzoKICAgICB2aXJ0dWFsIHZvaWQgc2V0R3JvdXBTdGFydFRpbWVzdGFtcChjb25zdCBNZWRp
YVRpbWUmIG1lZGlhVGltZSkgeyBtX2dyb3VwU3RhcnRUaW1lc3RhbXAgPSBtZWRpYVRpbWU7IH0K
ICAgICB2aXJ0dWFsIHZvaWQgc2V0R3JvdXBTdGFydFRpbWVzdGFtcFRvRW5kVGltZXN0YW1wKCkg
eyBtX2dyb3VwU3RhcnRUaW1lc3RhbXAgPSBtX2dyb3VwRW5kVGltZXN0YW1wOyB9CiAgICAgdmly
dHVhbCB2b2lkIHNldFNob3VsZEdlbmVyYXRlVGltZXN0YW1wcyhib29sIGZsYWcpIHsgbV9zaG91
bGRHZW5lcmF0ZVRpbWVzdGFtcHMgPSBmbGFnOyB9Ci0gICAgV0VCQ09SRV9FWFBPUlQgdmlydHVh
bCB2b2lkIHVwZGF0ZUJ1ZmZlcmVkRnJvbVRyYWNrQnVmZmVycyhib29sIHNvdXJjZUlzRW5kZWQp
OwogICAgIHZpcnR1YWwgdm9pZCByZW1vdmVDb2RlZEZyYW1lcyhjb25zdCBNZWRpYVRpbWUmIHN0
YXJ0LCBjb25zdCBNZWRpYVRpbWUmIGVuZCwgY29uc3QgTWVkaWFUaW1lJiBjdXJyZW50TWVkaWFU
aW1lLCBib29sIGlzRW5kZWQsIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoKT4mJiA9IFtdIHsgfSk7
CiAgICAgV0VCQ09SRV9FWFBPUlQgdmlydHVhbCB2b2lkIGV2aWN0Q29kZWRGcmFtZXModWludDY0
X3QgbmV3RGF0YVNpemUsIHVpbnQ2NF90IHBlbmRpbmdBcHBlbmREYXRhQ2FwYWNpdHksIHVpbnQ2
NF90IG1heGltdW1CdWZmZXJTaXplLCBjb25zdCBNZWRpYVRpbWUmIGN1cnJlbnRUaW1lLCBjb25z
dCBNZWRpYVRpbWUmIGR1cmF0aW9uLCBib29sIGlzRW5kZWQpOwogICAgIHZpcnR1YWwgdm9pZCBy
ZXNldFRpbWVzdGFtcE9mZnNldEluVHJhY2tCdWZmZXJzKCk7CkBAIC0xNzMsOCArMTcyLDcgQEAg
cHJpdmF0ZToKICAgICB2b2lkIHJlZW5xdWV1ZU1lZGlhRm9yVGltZShUcmFja0J1ZmZlciYsIGNv
bnN0IEF0b21TdHJpbmcmIHRyYWNrSUQsIGNvbnN0IE1lZGlhVGltZSYpOwogICAgIGJvb2wgdmFs
aWRhdGVJbml0aWFsaXphdGlvblNlZ21lbnQoY29uc3QgU291cmNlQnVmZmVyUHJpdmF0ZUNsaWVu
dDo6SW5pdGlhbGl6YXRpb25TZWdtZW50Jik7CiAgICAgdm9pZCBwcm92aWRlTWVkaWFEYXRhKFRy
YWNrQnVmZmVyJiwgY29uc3QgQXRvbVN0cmluZyYgdHJhY2tJRCk7Ci0gICAgdm9pZCBzZXRCdWZm
ZXJlZFJhbmdlcyhjb25zdCBQbGF0Zm9ybVRpbWVSYW5nZXMmKTsKLSAgICB2b2lkIHNldEJ1ZmZl
cmVkRGlydHkoYm9vbCk7CisgICAgY29uc3QgVGltZVJhbmdlcyYgYnVmZmVyZWQoKSBjb25zdDsK
ICAgICB2b2lkIHRyeVNpZ25hbEFsbFNhbXBsZXNJblRyYWNrRW5xdWV1ZWQoVHJhY2tCdWZmZXIm
LCBjb25zdCBBdG9tU3RyaW5nJiB0cmFja0lEKTsKIAogICAgIGJvb2wgbV9pc0F0dGFjaGVkIHsg
ZmFsc2UgfTsKQEAgLTE5OSw3ICsxOTcsNiBAQCBwcml2YXRlOgogCiAgICAgYm9vbCBtX2J1ZmZl
ckZ1bGwgeyBmYWxzZSB9OwogICAgIGJvb2wgbV9pc01lZGlhU291cmNlRW5kZWQgeyBmYWxzZSB9
OwotICAgIFJlZlB0cjxUaW1lUmFuZ2VzPiBtX2J1ZmZlcmVkOwogfTsKIAogfSAvLyBuYW1lc3Bh
Y2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
U291cmNlQnVmZmVyUHJpdmF0ZUNsaWVudC5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvU291cmNlQnVmZmVyUHJpdmF0ZUNsaWVudC5oCmluZGV4IGE3YWQxYTZlOGI5ZDg1NTI2
ODRlM2JkYWZkZmU5YjllYWVjMDc3NTYuLjQ5MjFlYzBjMWFiZjZkMzhhN2RjOTlkZGY2Y2ZkMzk5
NDQzYTIzNGIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL1Nv
dXJjZUJ1ZmZlclByaXZhdGVDbGllbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9Tb3VyY2VCdWZmZXJQcml2YXRlQ2xpZW50LmgKQEAgLTc1LDEwICs3NSw5IEBAIHB1
YmxpYzoKICAgICB2aXJ0dWFsIHZvaWQgc291cmNlQnVmZmVyUHJpdmF0ZUFwcGVuZENvbXBsZXRl
KEFwcGVuZFJlc3VsdCkgPSAwOwogICAgIHZpcnR1YWwgdm9pZCBzb3VyY2VCdWZmZXJQcml2YXRl
RHVyYXRpb25DaGFuZ2VkKGNvbnN0IE1lZGlhVGltZSYpID0gMDsKICAgICB2aXJ0dWFsIHZvaWQg
c291cmNlQnVmZmVyUHJpdmF0ZUhpZ2hlc3RQcmVzZW50YXRpb25UaW1lc3RhbXBDaGFuZ2VkKGNv
bnN0IE1lZGlhVGltZSYpID0gMDsKLSAgICB2aXJ0dWFsIHZvaWQgc291cmNlQnVmZmVyUHJpdmF0
ZURpZFBhcnNlU2FtcGxlKGRvdWJsZSBmcmFtZUR1cmF0aW9uKSA9IDA7CisgICAgdmlydHVhbCB2
b2lkIHNvdXJjZUJ1ZmZlclByaXZhdGVEaWRQYXJzZVNhbXBsZShjb25zdCBBdG9tU3RyaW5nJiB0
cmFja0lkLCBjb25zdCBNZWRpYVRpbWUmIHByZXNlbnRhdGlvblRpbWVzdGFtcCwgY29uc3QgTWVk
aWFUaW1lJiBwcmVzZW50YXRpb25FbmRUaW1lLCBkb3VibGUgc2FtcGxlRHVyYXRpb24pID0gMDsK
ICAgICB2aXJ0dWFsIHZvaWQgc291cmNlQnVmZmVyUHJpdmF0ZURpZERyb3BTYW1wbGUoKSA9IDA7
Ci0gICAgdmlydHVhbCB2b2lkIHNvdXJjZUJ1ZmZlclByaXZhdGVCdWZmZXJlZERpcnR5Q2hhbmdl
ZChib29sKSA9IDA7Ci0gICAgdmlydHVhbCB2b2lkIHNvdXJjZUJ1ZmZlclByaXZhdGVCdWZmZXJl
ZFJhbmdlc0NoYW5nZWQoY29uc3QgUGxhdGZvcm1UaW1lUmFuZ2VzJikgPSAwOworICAgIHZpcnR1
YWwgdm9pZCBzb3VyY2VCdWZmZXJQcml2YXRlQnVmZmVyZWRSYW5nZXNFcmFzZWQoY29uc3QgQXRv
bVN0cmluZyYgdHJhY2tJZCwgY29uc3QgUGxhdGZvcm1UaW1lUmFuZ2VzJikgPSAwOwogICAgIHZp
cnR1YWwgdm9pZCBzb3VyY2VCdWZmZXJQcml2YXRlRGlkUmVjZWl2ZVJlbmRlcmluZ0Vycm9yKGlu
dDY0X3QgZXJyb3JDb2RlKSA9IDA7CiAgICAgdmlydHVhbCB2b2lkIHNvdXJjZUJ1ZmZlclByaXZh
dGVSZXBvcnRFeHRyYU1lbW9yeUNvc3QodWludDY0X3QpID0gMDsKIH07CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tb2NrL21lZGlhc291cmNlL01vY2tTb3VyY2VCdWZmZXJQ
cml2YXRlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21vY2svbWVkaWFzb3VyY2UvTW9j
a1NvdXJjZUJ1ZmZlclByaXZhdGUuY3BwCmluZGV4IDIyMTE1YjZmYTJlMTlkMDk3OGZiNDQyZDMz
N2JlMzA5MzNlYmFlNzYuLmQ3MTU0ZTg4YjgyOGE2MTlmOWJlYzc0MTBhYWJiYWM3OTZjM2JhYjcg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21vY2svbWVkaWFzb3VyY2UvTW9j
a1NvdXJjZUJ1ZmZlclByaXZhdGUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21v
Y2svbWVkaWFzb3VyY2UvTW9ja1NvdXJjZUJ1ZmZlclByaXZhdGUuY3BwCkBAIC0xNjAsMTAgKzE2
MCw2IEBAIHZvaWQgTW9ja1NvdXJjZUJ1ZmZlclByaXZhdGU6OmFwcGVuZChWZWN0b3I8dW5zaWdu
ZWQgY2hhcj4mJiBkYXRhKQogICAgICAgICBtX2lucHV0QnVmZmVyLnJlbW92ZSgwLCBib3hMZW5n
dGgpOwogICAgIH0KIAotICAgIC8vIFJlc29sdmUgdGhlIGNoYW5nZXMgaW4gVHJhY2tCdWZmZXJz
JyBidWZmZXJlZCByYW5nZXMKLSAgICAvLyBpbnRvIHRoZSBTb3VyY2VCdWZmZXIncyBidWZmZXJl
ZCByYW5nZXMKLSAgICB1cGRhdGVCdWZmZXJlZEZyb21UcmFja0J1ZmZlcnMobV9tZWRpYVNvdXJj
ZS0+aXNFbmRlZCgpKTsKLQogICAgIGlmIChtX2NsaWVudCkKICAgICAgICAgbV9jbGllbnQtPnNv
dXJjZUJ1ZmZlclByaXZhdGVBcHBlbmRDb21wbGV0ZShyZXN1bHQpOwogfQpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IDAyY2Yz
ZTk4YWRhY2JiOTNjOTUzYWUyMDBjYmMwM2JiZmZjYjA0ODguLmZmMzYxMjQ1OWExOGM1YzhhMjNi
Zjc1NTdkMDVkMzM0ZDE4MjRlNWEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZwor
KysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxMiBAQAorMjAyMS0wMi0wMiAg
UGVuZyBMaXUgIDxwZW5nLmxpdTZAYXBwbGUuY29tPgorCisgICAgICAgIFtHUFVQXVtNU0VdIE1l
ZGlhU291cmNlOjpidWZmZXJlZCBhbmQgTWVkaWFTb3VyY2U6OmFjdGl2ZVNvdXJjZUJ1ZmZlcnMg
ZG8gbm90IHVwZGF0ZSBpbiB0aGUgc2FtZSBydW4gbG9vcCBhcyBNZWRpYVNvdXJjZTo6ZW5kT2ZT
dHJlYW0oKQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
MjIxMjkzCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAg
KiBncHUtcHJvY2Vzcy9UZXN0RXhwZWN0YXRpb25zOgorCiAyMDIxLTAyLTAxICBZdXN1a2UgU3V6
dWtpICA8eXN1enVraUBhcHBsZS5jb20+CiAKICAgICAgICAgW0pTQ10gQWRkIEAgaW4gRXJyb3Iu
c3RhY2sgaWYgVVJMIGV4aXN0cwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZ3B1LXByb2Nlc3Mv
VGVzdEV4cGVjdGF0aW9ucyBiL0xheW91dFRlc3RzL2dwdS1wcm9jZXNzL1Rlc3RFeHBlY3RhdGlv
bnMKaW5kZXggYTA0MTNmZGM1Njk5MjM3NzU1YzA0MzhlOGViMWQ0ZDkxNjI0YjA0Zi4uOTg0N2U3
YzAzOTIxNDMyOTUxMTUxMDdlOWZhNzFlMzMxM2IzM2FkZCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVz
dHMvZ3B1LXByb2Nlc3MvVGVzdEV4cGVjdGF0aW9ucworKysgYi9MYXlvdXRUZXN0cy9ncHUtcHJv
Y2Vzcy9UZXN0RXhwZWN0YXRpb25zCkBAIC0yOTIsNyArMjkyLDYgQEAgaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9odG1sL3NlbWFudGljcy9lbWJlZGRlZC1jb250ZW50L21lZGlhLWVs
ZW1lbnRzL2kKIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9zZW1hbnRpY3Mv
ZW1iZWRkZWQtY29udGVudC9tZWRpYS1lbGVtZW50cy9yZWFkeVN0YXRlX2R1cmluZ19wbGF5aW5n
Lmh0bWwgWyBTa2lwIF0KIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9zZW1h
bnRpY3MvZW1iZWRkZWQtY29udGVudC90aGUtaW1nLWVsZW1lbnQvZGVjb2RlL2ltYWdlLWRlY29k
ZS1wYXRoLWNoYW5nZXMtc3ZnLnRlbnRhdGl2ZS5odG1sIFsgU2tpcCBdCiBpbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvc2VtYW50aWNzL2VtYmVkZGVkLWNvbnRlbnQvdGhlLWNh
bnZhcy1lbGVtZW50IFsgU2tpcCBdCi1pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL21l
ZGlhLXNvdXJjZS9tZWRpYXNvdXJjZS1zZWVrYWJsZS5odG1sIFsgRmFpbHVyZSBdCiBpbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL21pbWVzbmlmZi9taW1lLXR5cGVzL2NoYXJzZXQtcGFy
YW1ldGVyLndpbmRvdy5odG1sIFsgRmFpbHVyZSBdCiBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3Jlc291cmNlLXRpbWluZy9pZGxoYXJuZXNzLmFueS5odG1sIFsgU2tpcCBdCiBpbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9pZGxoYXJuZXNzLmFu
eS53b3JrZXIuaHRtbCBbIFNraXAgXQpAQCAtNTQwLDcgKzUzOSw3IEBAIGltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvbWVkaWEtc291cmNlL21lZGlhc291cmNlLWJ1ZmZlcmVkLmh0bWwg
WyBGYWlsdXJlCiBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL21lZGlhLXNvdXJjZS9t
ZWRpYXNvdXJjZS1jaGFuZ2V0eXBlLmh0bWwgWyBGYWlsdXJlIF0KIGltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvbWVkaWEtc291cmNlL21lZGlhc291cmNlLWR1cmF0aW9uLWJvdW5kYXJ5
Y29uZGl0aW9ucy5odG1sIFsgRmFpbHVyZSBdCiBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL21lZGlhLXNvdXJjZS9tZWRpYXNvdXJjZS1yZW1vdmUuaHRtbCBbIEZhaWx1cmUgXQotaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9tZWRpYS1zb3VyY2UvU291cmNlQnVmZmVyLWFi
b3J0LXVwZGF0aW5nLmh0bWwgWyBGYWlsdXJlIF0KKyMgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9tZWRpYS1zb3VyY2UvbWVkaWFzb3VyY2Utc2Vlay1kdXJpbmctcGVuZGluZy1zZWVr
Lmh0bWwgWyBGYWlsdXJlIF0gIyBmbGFreSB0aW1lb3V0CiBpbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL21zdC1jb250ZW50LWhpbnQvaWRsaGFybmVzcy53aW5kb3cuaHRtbCBbIFNraXAg
XQogaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9tc3QtY29udGVudC1oaW50L01lZGlh
U3RyZWFtVHJhY2stY29udGVudEhpbnQuaHRtbCBbIFNraXAgXQogaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9waWN0dXJlLWluLXBpY3R1cmUvbWVkaWFzdHJlYW0uaHRtbCBbIFNraXAg
XQo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>423087</attachid>
            <date>2021-03-12 15:28:48 -0800</date>
            <delta_ts>2021-03-12 20:51:15 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-221293-20210312152848.patch</filename>
            <type>text/plain</type>
            <size>25667</size>
            <attacher name="Peng Liu">peng.liu6</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjc0MjgxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYWZiNDYyNTI4N2RjZGRh
YjlmNjFiNjc4ODJiYjlkNjA0ZDMwMjgxMi4uMjVjOTI2YjQ1OTQxNjgzM2FjMzgzNjJhZTc2NmQ5
Y2Q1YjE3MDMzNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM3IEBACisyMDIxLTAzLTEyICBQZW5n
IExpdSAgPHBlbmcubGl1NkBhcHBsZS5jb20+CisKKyAgICAgICAgW0dQVVBdW01TRV0gTWVkaWFT
b3VyY2U6OmJ1ZmZlcmVkIGFuZCBNZWRpYVNvdXJjZTo6YWN0aXZlU291cmNlQnVmZmVycyBkbyBu
b3QgdXBkYXRlIGluIHRoZSBzYW1lIHJ1biBsb29wIGFzIE1lZGlhU291cmNlOjplbmRPZlN0cmVh
bSgpCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMjEy
OTMKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBDdXJy
ZW50bHksIGJvdGggYFNvdXJjZUJ1ZmZlcmAgYW5kIGBTb3VyY2VCdWZmZXJQcml2YXRlYCBvd24g
YW4gYG1fYnVmZmVyZWRgCisgICAgICAgIGFuZCB3ZSBuZWVkIHRvIHN5bmNocm9uaXplIHRoZW0g
d2l0aCBhIGNhbGxiYWNrLiBXaGVuIHdlIHJ1biBgU291cmNlQnVmZmVyUHJpdmF0ZWAKKyAgICAg
ICAgaW4gdGhlIEdQVSBwcm9jZXNzLCB0aGUgc3luY2hyb25pemF0aW9uIG1pZ2h0IGJlIGRlbGF5
ZWQsIGUuZy4sIGZ1bmN0aW9uCisgICAgICAgIGBTb3VyY2VCdWZmZXI6OnJlYWR5U3RhdGVDaGFu
Z2VkKClgIHdpbGwgdHJpZ2dlciBhbiB1cGRhdGUgdG8gYG1fYnVmZmVyZWRgCisgICAgICAgIGJ1
dCBpdHMgbmV3IHZhbHVlIHdvbid0IGJlIGF2YWlsYWJsZSBmb3IgdGhlIFdlYiBwcm9jZXNzIGlu
IHRoZSBzYW1lCisgICAgICAgIHJ1biBsb29wLgorCisgICAgICAgIFRvIGZpeCB0aGlzIGlzc3Vl
LCB0aGlzIHBhdGNoIHJlbW92ZXMgYFNvdXJjZUJ1ZmZlcjo6bV9idWZmZXJlZGAgYXMgd2VsbAor
ICAgICAgICB0aGUgY2FsbGJhY2sgdG8gc3luY2hyb25pemUgaXQuIFdoZW4gd2UgcnVuIGBTb3Vy
Y2VCdWZmZXJQcml2YXRlYCBpbiB0aGUgR1BVCisgICAgICAgIHByb2Nlc3MsIGBTb3VyY2VCdWZm
ZXJQcml2YXRlUmVtb3RlYCBzeW5jaHJvbml6ZXMgaXRzIGBtX2J1ZmZlcmVkYCB3aXRoCisgICAg
ICAgIGBTb3VyY2VCdWZmZXJQcml2YXRlYCB0aHJvdWdoIGEgc3luY2hyb25vdXMgSVBDIG1lc3Nh
Z2UuCisKKyAgICAgICAgTm8gbmV3IHRlc3RzLiBGaXggYSB0ZXN0IGZhaWx1cmU6CisgICAgICAg
IC0gaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9tZWRpYS1zb3VyY2UvbWVkaWFzb3Vy
Y2UtYnVmZmVyZWQuaHRtbAorCisgICAgICAgICogTW9kdWxlcy9tZWRpYXNvdXJjZS9Tb3VyY2VC
dWZmZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U291cmNlQnVmZmVyOjpTb3VyY2VCdWZmZXIp
OgorICAgICAgICAoV2ViQ29yZTo6U291cmNlQnVmZmVyOjpidWZmZXJlZCBjb25zdCk6CisgICAg
ICAgIChXZWJDb3JlOjpTb3VyY2VCdWZmZXI6OnNvdXJjZUJ1ZmZlclByaXZhdGVCdWZmZXJlZFJh
bmdlc0NoYW5nZWQpOiBEZWxldGVkLgorICAgICAgICAqIE1vZHVsZXMvbWVkaWFzb3VyY2UvU291
cmNlQnVmZmVyLmg6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvU291cmNlQnVmZmVyUHJp
dmF0ZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTb3VyY2VCdWZmZXJQcml2YXRlOjpzZXRCdWZm
ZXJlZFJhbmdlcyk6CisgICAgICAgIChXZWJDb3JlOjpTb3VyY2VCdWZmZXJQcml2YXRlOjp1cGRh
dGVCdWZmZXJlZEZyb21UcmFja0J1ZmZlcnMpOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNz
L1NvdXJjZUJ1ZmZlclByaXZhdGUuaDoKKyAgICAgICAgKFdlYkNvcmU6OlNvdXJjZUJ1ZmZlclBy
aXZhdGU6OmJ1ZmZlcmVkIGNvbnN0KToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9Tb3Vy
Y2VCdWZmZXJQcml2YXRlQ2xpZW50Lmg6CisKIDIwMjEtMDMtMTEgIFphbGFuIEJ1anRhcyAgPHph
bGFuQGFwcGxlLmNvbT4KIAogICAgICAgICBDbGVhbnVwIHJlZmVyZW5jZXMgdG8gZmxvYXQgYW5k
IG91dC1vZi1mbG93IHJlbmRlcmVycyBiZWZvcmUgZGVzdHJveWluZyB0aGVtLgpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwppbmRl
eCA4N2FiMDAzZTA3MmU3NjNiNjc2YmY0YmQyYzM3ZGM1MjA1MzRiYjkwLi44MTFhOTY2NjlkN2Uz
NDVhMjdiYTk4ZWJjMjcyZGFkNjcwYzhjNWNjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwpAQCAtMSwzICsxLDM0IEBACisy
MDIxLTAzLTEyICBQZW5nIExpdSAgPHBlbmcubGl1NkBhcHBsZS5jb20+CisKKyAgICAgICAgW0dQ
VVBdW01TRV0gTWVkaWFTb3VyY2U6OmJ1ZmZlcmVkIGFuZCBNZWRpYVNvdXJjZTo6YWN0aXZlU291
cmNlQnVmZmVycyBkbyBub3QgdXBkYXRlIGluIHRoZSBzYW1lIHJ1biBsb29wIGFzIE1lZGlhU291
cmNlOjplbmRPZlN0cmVhbSgpCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD0yMjEyOTMKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4K
KworICAgICAgICBXaGVuIGEgV2ViIHByb2Nlc3MgbmVlZHMgdG8gInB1bGwiIHRoZSBsYXRlc3Qg
dmFsdWUgb2YgYG1fYnVmZmVyZWRgIGZyb20gdGhlCisgICAgICAgIEdQVSBwcm9jZXNzIChgdXBk
YXRlQnVmZmVyZWRGcm9tVHJhY2tCdWZmZXJzYCksIHdlIG5lZWQgdG8gdXNlIGEgc3luY2hyb25v
dXMKKyAgICAgICAgSVBDIG1lc3NhZ2UuCisKKyAgICAgICAgV2hlbiB0aGUgR1BVIHByb2Nlc3Mg
bmVlZHMgdG8gInB1c2giIHRoZSBsYXRlc3QgdmFsdWUgb2YgYG1fYnVmZmVyZWRgIHRvCisgICAg
ICAgIGEgV2ViIHByb2Nlc3MsIHdlIGNhbiB1c2UgYW4gYXN5bmNocm9ub3VzIG1lc3NhZ2UsIGUu
ZywgYFJlbW92ZUNvZGVkRnJhbWVzYAorICAgICAgICBhbmQgYFNvdXJjZUJ1ZmZlclByaXZhdGVB
cHBlbmRDb21wbGV0ZWAuCisKKyAgICAgICAgKiBHUFVQcm9jZXNzL21lZGlhL1JlbW90ZVNvdXJj
ZUJ1ZmZlclByb3h5LmNwcDoKKyAgICAgICAgKFdlYktpdDo6UmVtb3RlU291cmNlQnVmZmVyUHJv
eHk6OnNvdXJjZUJ1ZmZlclByaXZhdGVBcHBlbmRDb21wbGV0ZSk6CisgICAgICAgIChXZWJLaXQ6
OlJlbW90ZVNvdXJjZUJ1ZmZlclByb3h5Ojp1cGRhdGVCdWZmZXJlZEZyb21UcmFja0J1ZmZlcnMp
OgorICAgICAgICAoV2ViS2l0OjpSZW1vdGVTb3VyY2VCdWZmZXJQcm94eTo6cmVtb3ZlQ29kZWRG
cmFtZXMpOgorICAgICAgICAoV2ViS2l0OjpSZW1vdGVTb3VyY2VCdWZmZXJQcm94eTo6c291cmNl
QnVmZmVyUHJpdmF0ZUJ1ZmZlcmVkUmFuZ2VzQ2hhbmdlZCk6IERlbGV0ZWQuCisgICAgICAgICog
R1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVTb3VyY2VCdWZmZXJQcm94eS5oOgorICAgICAgICAqIEdQ
VVByb2Nlc3MvbWVkaWEvUmVtb3RlU291cmNlQnVmZmVyUHJveHkubWVzc2FnZXMuaW46CisKKyAg
ICAgICAgKiBXZWJQcm9jZXNzL0dQVS9tZWRpYS9Tb3VyY2VCdWZmZXJQcml2YXRlUmVtb3RlLmNw
cDoKKyAgICAgICAgKFdlYktpdDo6U291cmNlQnVmZmVyUHJpdmF0ZVJlbW90ZTo6dXBkYXRlQnVm
ZmVyZWRGcm9tVHJhY2tCdWZmZXJzKToKKyAgICAgICAgKFdlYktpdDo6U291cmNlQnVmZmVyUHJp
dmF0ZVJlbW90ZTo6cmVtb3ZlQ29kZWRGcmFtZXMpOgorICAgICAgICAoV2ViS2l0OjpTb3VyY2VC
dWZmZXJQcml2YXRlUmVtb3RlOjpzb3VyY2VCdWZmZXJQcml2YXRlQXBwZW5kQ29tcGxldGUpOgor
ICAgICAgICAoV2ViS2l0OjpTb3VyY2VCdWZmZXJQcml2YXRlUmVtb3RlOjpzb3VyY2VCdWZmZXJQ
cml2YXRlQnVmZmVyZWRSYW5nZXNDaGFuZ2VkKTogRGVsZXRlZC4KKyAgICAgICAgKiBXZWJQcm9j
ZXNzL0dQVS9tZWRpYS9Tb3VyY2VCdWZmZXJQcml2YXRlUmVtb3RlLmg6CisgICAgICAgICogV2Vi
UHJvY2Vzcy9HUFUvbWVkaWEvU291cmNlQnVmZmVyUHJpdmF0ZVJlbW90ZS5tZXNzYWdlcy5pbjoK
KwogMjAyMS0wMy0xMSAgWW91ZW5uIEZhYmxldCAgPHlvdWVubkBhcHBsZS5jb20+CiAKICAgICAg
ICAgQWRkIGNhbWVyYS1yZWxhdGVkIHNhbmRib3ggZXh0ZW5zaW9ucyB0byBHUFVQcm9jZXNzCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc291cmNlL1NvdXJjZUJ1ZmZl
ci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc291cmNlL1NvdXJjZUJ1ZmZlci5j
cHAKaW5kZXggNTM4ZWI5ZjEyYmE5NWY2YTEwOTAwYjVmZmRmMTEwZmFjMzdjMzhkMy4uOTEwMzZi
YWZkMTM2NzU5YjZkYTNhNDE4MDY2M2I1Mjg0OThlMmY4MCAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvTW9kdWxlcy9tZWRpYXNvdXJjZS9Tb3VyY2VCdWZmZXIuY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvbWVkaWFzb3VyY2UvU291cmNlQnVmZmVyLmNwcApAQCAtODEsNyArODEs
NiBAQCBTb3VyY2VCdWZmZXI6OlNvdXJjZUJ1ZmZlcihSZWY8U291cmNlQnVmZmVyUHJpdmF0ZT4m
JiBzb3VyY2VCdWZmZXJQcml2YXRlLCBNZWRpYQogICAgICwgbV9hcHBlbmRXaW5kb3dFbmQoTWVk
aWFUaW1lOjpwb3NpdGl2ZUluZmluaXRlVGltZSgpKQogICAgICwgbV9hcHBlbmRTdGF0ZShXYWl0
aW5nRm9yU2VnbWVudCkKICAgICAsIG1fdGltZU9mQnVmZmVyaW5nTW9uaXRvcihNb25vdG9uaWNU
aW1lOjpub3coKSkKLSAgICAsIG1fYnVmZmVyZWQoVGltZVJhbmdlczo6Y3JlYXRlKCkpCiAgICAg
LCBtX3BlbmRpbmdSZW1vdmVTdGFydChNZWRpYVRpbWU6OmludmFsaWRUaW1lKCkpCiAgICAgLCBt
X3BlbmRpbmdSZW1vdmVFbmQoTWVkaWFUaW1lOjppbnZhbGlkVGltZSgpKQogICAgICwgbV9yZW1v
dmVUaW1lcigqdGhpcywgJlNvdXJjZUJ1ZmZlcjo6cmVtb3ZlVGltZXJGaXJlZCkKQEAgLTExNiw3
ICsxMTUsNyBAQCBFeGNlcHRpb25PcjxSZWY8VGltZVJhbmdlcz4+IFNvdXJjZUJ1ZmZlcjo6YnVm
ZmVyZWQoKSBjb25zdAogICAgICAgICByZXR1cm4gRXhjZXB0aW9uIHsgSW52YWxpZFN0YXRlRXJy
b3IgfTsKIAogICAgIC8vIDIuIFJldHVybiBhIG5ldyBzdGF0aWMgbm9ybWFsaXplZCBUaW1lUmFu
Z2VzIG9iamVjdCBmb3IgdGhlIG1lZGlhIHNlZ21lbnRzIGJ1ZmZlcmVkLgotICAgIHJldHVybiBt
X2J1ZmZlcmVkLT5jb3B5KCk7CisgICAgcmV0dXJuIG1fcHJpdmF0ZS0+YnVmZmVyZWQoKS0+Y29w
eSgpOwogfQogCiBkb3VibGUgU291cmNlQnVmZmVyOjp0aW1lc3RhbXBPZmZzZXQoKSBjb25zdApA
QCAtMTI5NCwxMSArMTI5Myw2IEBAIHZvaWQgU291cmNlQnVmZmVyOjpzb3VyY2VCdWZmZXJQcml2
YXRlQnVmZmVyZWREaXJ0eUNoYW5nZWQoYm9vbCBmbGFnKQogICAgIG1fYnVmZmVyZWREaXJ0eSA9
IGZsYWc7CiB9CiAKLXZvaWQgU291cmNlQnVmZmVyOjpzb3VyY2VCdWZmZXJQcml2YXRlQnVmZmVy
ZWRSYW5nZXNDaGFuZ2VkKGNvbnN0IFBsYXRmb3JtVGltZVJhbmdlcyYgdGltZVJhbmdlcykKLXsK
LSAgICBtX2J1ZmZlcmVkLT5yYW5nZXMoKSA9IHRpbWVSYW5nZXM7Ci19Ci0KIGJvb2wgU291cmNl
QnVmZmVyOjppc0J1ZmZlcmVkRGlydHkoKSBjb25zdAogewogICAgIHJldHVybiBtX2J1ZmZlcmVk
RGlydHk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc291cmNlL1Nv
dXJjZUJ1ZmZlci5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXNvdXJjZS9Tb3VyY2VC
dWZmZXIuaAppbmRleCBhOTQ3YjczY2UzZmUzNzU1ZGI2YjdmNTI0ZjViZTZlMTdmZDRiMGNhLi40
YTFmNDJjMDk1YWNmOGY0NDBkODY5OTc4NzU5OWM0OTQ1YzFiODA1IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc291cmNlL1NvdXJjZUJ1ZmZlci5oCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzb3VyY2UvU291cmNlQnVmZmVyLmgKQEAgLTk2LDcgKzk2
LDcgQEAgcHVibGljOgogICAgIEV4Y2VwdGlvbk9yPHZvaWQ+IHJlbW92ZShjb25zdCBNZWRpYVRp
bWUmLCBjb25zdCBNZWRpYVRpbWUmKTsKICAgICBFeGNlcHRpb25Pcjx2b2lkPiBjaGFuZ2VUeXBl
KGNvbnN0IFN0cmluZyYpOwogCi0gICAgY29uc3QgVGltZVJhbmdlcyYgYnVmZmVyZWRJbnRlcm5h
bCgpIGNvbnN0IHsgQVNTRVJUKG1fYnVmZmVyZWQpOyByZXR1cm4gKm1fYnVmZmVyZWQ7IH0KKyAg
ICBjb25zdCBUaW1lUmFuZ2VzJiBidWZmZXJlZEludGVybmFsKCkgY29uc3QgeyBBU1NFUlQobV9w
cml2YXRlLT5idWZmZXJlZCgpKTsgcmV0dXJuICptX3ByaXZhdGUtPmJ1ZmZlcmVkKCk7IH0KIAog
ICAgIHZvaWQgYWJvcnRJZlVwZGF0aW5nKCk7CiAgICAgdm9pZCByZW1vdmVkRnJvbU1lZGlhU291
cmNlKCk7CkBAIC0xNTcsNyArMTU3LDYgQEAgcHJpdmF0ZToKICAgICB2b2lkIHNvdXJjZUJ1ZmZl
clByaXZhdGVEaWRQYXJzZVNhbXBsZShkb3VibGUgc2FtcGxlRHVyYXRpb24pIGZpbmFsOwogICAg
IHZvaWQgc291cmNlQnVmZmVyUHJpdmF0ZURpZERyb3BTYW1wbGUoKSBmaW5hbDsKICAgICB2b2lk
IHNvdXJjZUJ1ZmZlclByaXZhdGVCdWZmZXJlZERpcnR5Q2hhbmdlZChib29sKSBmaW5hbDsKLSAg
ICB2b2lkIHNvdXJjZUJ1ZmZlclByaXZhdGVCdWZmZXJlZFJhbmdlc0NoYW5nZWQoY29uc3QgUGxh
dGZvcm1UaW1lUmFuZ2VzJikgZmluYWw7CiAgICAgdm9pZCBzb3VyY2VCdWZmZXJQcml2YXRlRGlk
UmVjZWl2ZVJlbmRlcmluZ0Vycm9yKGludDY0X3QgZXJyb3JDb2RlKSBmaW5hbDsKICAgICB2b2lk
IHNvdXJjZUJ1ZmZlclByaXZhdGVSZXBvcnRFeHRyYU1lbW9yeUNvc3QodWludDY0X3QpIGZpbmFs
OwogCkBAIC0yMzQsNyArMjMzLDYgQEAgcHJpdmF0ZToKICAgICBkb3VibGUgbV9idWZmZXJlZFNp
bmNlTGFzdE1vbml0b3IgeyAwIH07CiAgICAgZG91YmxlIG1fYXZlcmFnZUJ1ZmZlclJhdGUgeyAw
IH07CiAgICAgYm9vbCBtX2J1ZmZlcmVkRGlydHkgeyB0cnVlIH07Ci0gICAgUmVmUHRyPFRpbWVS
YW5nZXM+IG1fYnVmZmVyZWQ7CiAKICAgICB1aW50NjRfdCBtX3JlcG9ydGVkRXh0cmFNZW1vcnlD
b3N0IHsgMCB9OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9Tb3VyY2VCdWZmZXJQcml2YXRlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL1NvdXJjZUJ1ZmZlclByaXZhdGUuY3BwCmluZGV4IGFhNjM5MWEyZmE4MTBlMzRmMzA1MGRh
MjkwYmQ1ZjFiZTU4NTk1NjAuLjRiMDUzMzgzMTNmNTEyNGI3ZWZkZDM1NDM3YzMzZWUxZjY4MzY5
OWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL1NvdXJjZUJ1
ZmZlclByaXZhdGUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL1Nv
dXJjZUJ1ZmZlclByaXZhdGUuY3BwCkBAIC0xMTMsOCArMTEzLDcgQEAgdm9pZCBTb3VyY2VCdWZm
ZXJQcml2YXRlOjp1cGRhdGVIaWdoZXN0UHJlc2VudGF0aW9uVGltZXN0YW1wKCkKIHZvaWQgU291
cmNlQnVmZmVyUHJpdmF0ZTo6c2V0QnVmZmVyZWRSYW5nZXMoY29uc3QgUGxhdGZvcm1UaW1lUmFu
Z2VzJiB0aW1lUmFuZ2VzKQogewogICAgIG1fYnVmZmVyZWQtPnJhbmdlcygpID0gdGltZVJhbmdl
czsKLSAgICBpZiAobV9jbGllbnQpCi0gICAgICAgIG1fY2xpZW50LT5zb3VyY2VCdWZmZXJQcml2
YXRlQnVmZmVyZWRSYW5nZXNDaGFuZ2VkKG1fYnVmZmVyZWQtPnJhbmdlcygpKTsKKyAgICBzZXRC
dWZmZXJlZERpcnR5KHRydWUpOwogfQogCiB2b2lkIFNvdXJjZUJ1ZmZlclByaXZhdGU6OnVwZGF0
ZUJ1ZmZlcmVkRnJvbVRyYWNrQnVmZmVycyhib29sIHNvdXJjZUlzRW5kZWQpCkBAIC0xNTksNyAr
MTU4LDYgQEAgdm9pZCBTb3VyY2VCdWZmZXJQcml2YXRlOjp1cGRhdGVCdWZmZXJlZEZyb21UcmFj
a0J1ZmZlcnMoYm9vbCBzb3VyY2VJc0VuZGVkKQogICAgIC8vIDUuIElmIGludGVyc2VjdGlvbiBy
YW5nZXMgZG9lcyBub3QgY29udGFpbiB0aGUgZXhhY3Qgc2FtZSByYW5nZSBpbmZvcm1hdGlvbiBh
cyB0aGUgY3VycmVudCB2YWx1ZSBvZiB0aGlzIGF0dHJpYnV0ZSwKICAgICAvLyAgICB0aGVuIHVw
ZGF0ZSB0aGUgY3VycmVudCB2YWx1ZSBvZiB0aGlzIGF0dHJpYnV0ZSB0byBpbnRlcnNlY3Rpb24g
cmFuZ2VzLgogICAgIHNldEJ1ZmZlcmVkUmFuZ2VzKGludGVyc2VjdGlvblJhbmdlcyk7Ci0gICAg
c2V0QnVmZmVyZWREaXJ0eSh0cnVlKTsKIH0KIAogdm9pZCBTb3VyY2VCdWZmZXJQcml2YXRlOjph
cHBlbmRDb21wbGV0ZWQoYm9vbCBwYXJzaW5nU3VjY2VlZGVkLCBib29sIGlzRW5kZWQpCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Tb3VyY2VCdWZmZXJQcml2
YXRlLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Tb3VyY2VCdWZmZXJQcml2
YXRlLmgKaW5kZXggNTM5NTQwYjNkYjYzNTJiMmVhZDk4YzdjNzViNTU0NDlmYzQ5M2MyNy4uNjk3
OGFmMmZmYjM0NTc1NGU0OTA4Nzg2MzQ4ODY0MmY0ZmU0ZDA4NiAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvU291cmNlQnVmZmVyUHJpdmF0ZS5oCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL1NvdXJjZUJ1ZmZlclByaXZhdGUuaApAQCAt
OTksNiArOTksOCBAQCBwdWJsaWM6CiAgICAgdm9pZCBzZXRDbGllbnQoU291cmNlQnVmZmVyUHJp
dmF0ZUNsaWVudCogY2xpZW50KSB7IG1fY2xpZW50ID0gY2xpZW50OyB9CiAgICAgdm9pZCBzZXRJ
c0F0dGFjaGVkKGJvb2wgZmxhZykgeyBtX2lzQXR0YWNoZWQgPSBmbGFnOyB9CiAKKyAgICBjb25z
dCBUaW1lUmFuZ2VzKiBidWZmZXJlZCgpIGNvbnN0IHsgcmV0dXJuIG1fYnVmZmVyZWQuZ2V0KCk7
IH0KKwogICAgIGJvb2wgYnVmZmVyRnVsbCgpIGNvbnN0IHsgcmV0dXJuIG1fYnVmZmVyRnVsbDsg
fQogCiAgICAgLy8gTWV0aG9kcyB1c2VkIGJ5IE1lZGlhU291cmNlUHJpdmF0ZQpAQCAtMTYyLDYg
KzE2NCw3IEBAIHByb3RlY3RlZDoKICAgICB2b2lkIHJlZW5xdWVTYW1wbGVzKGNvbnN0IEF0b21T
dHJpbmcmIHRyYWNrSUQpOwogICAgIFdFQkNPUkVfRVhQT1JUIHZvaWQgZGlkUmVjZWl2ZUluaXRp
YWxpemF0aW9uU2VnbWVudChTb3VyY2VCdWZmZXJQcml2YXRlQ2xpZW50OjpJbml0aWFsaXphdGlv
blNlZ21lbnQmJiwgQ29tcGxldGlvbkhhbmRsZXI8dm9pZCgpPiYmKTsKICAgICBXRUJDT1JFX0VY
UE9SVCB2b2lkIGRpZFJlY2VpdmVTYW1wbGUoUmVmPE1lZGlhU2FtcGxlPiYmKTsKKyAgICBXRUJD
T1JFX0VYUE9SVCB2b2lkIHNldEJ1ZmZlcmVkUmFuZ2VzKGNvbnN0IFBsYXRmb3JtVGltZVJhbmdl
cyYpOwogICAgIHZvaWQgcHJvdmlkZU1lZGlhRGF0YShjb25zdCBBdG9tU3RyaW5nJiB0cmFja0lE
KTsKICAgICB1aW50NjRfdCB0b3RhbFRyYWNrQnVmZmVyU2l6ZUluQnl0ZXMoKSBjb25zdDsKIApA
QCAtMTczLDcgKzE3Niw2IEBAIHByaXZhdGU6CiAgICAgdm9pZCByZWVucXVldWVNZWRpYUZvclRp
bWUoVHJhY2tCdWZmZXImLCBjb25zdCBBdG9tU3RyaW5nJiB0cmFja0lELCBjb25zdCBNZWRpYVRp
bWUmKTsKICAgICBib29sIHZhbGlkYXRlSW5pdGlhbGl6YXRpb25TZWdtZW50KGNvbnN0IFNvdXJj
ZUJ1ZmZlclByaXZhdGVDbGllbnQ6OkluaXRpYWxpemF0aW9uU2VnbWVudCYpOwogICAgIHZvaWQg
cHJvdmlkZU1lZGlhRGF0YShUcmFja0J1ZmZlciYsIGNvbnN0IEF0b21TdHJpbmcmIHRyYWNrSUQp
OwotICAgIHZvaWQgc2V0QnVmZmVyZWRSYW5nZXMoY29uc3QgUGxhdGZvcm1UaW1lUmFuZ2VzJik7
CiAgICAgdm9pZCBzZXRCdWZmZXJlZERpcnR5KGJvb2wpOwogICAgIHZvaWQgdHJ5U2lnbmFsQWxs
U2FtcGxlc0luVHJhY2tFbnF1ZXVlZChUcmFja0J1ZmZlciYsIGNvbnN0IEF0b21TdHJpbmcmIHRy
YWNrSUQpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9T
b3VyY2VCdWZmZXJQcml2YXRlQ2xpZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9Tb3VyY2VCdWZmZXJQcml2YXRlQ2xpZW50LmgKaW5kZXggYTdhZDFhNmU4YjlkODU1MjY4
NGUzYmRhZmRmZTliOWVhZWMwNzc1Ni4uMmE2MzYyZGUzZTE5NGEwOTc3ZGIyYjgxNTU2ZGNlZTYy
MjQzNmQ3YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvU291
cmNlQnVmZmVyUHJpdmF0ZUNsaWVudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL1NvdXJjZUJ1ZmZlclByaXZhdGVDbGllbnQuaApAQCAtNzgsNyArNzgsNiBAQCBwdWJs
aWM6CiAgICAgdmlydHVhbCB2b2lkIHNvdXJjZUJ1ZmZlclByaXZhdGVEaWRQYXJzZVNhbXBsZShk
b3VibGUgZnJhbWVEdXJhdGlvbikgPSAwOwogICAgIHZpcnR1YWwgdm9pZCBzb3VyY2VCdWZmZXJQ
cml2YXRlRGlkRHJvcFNhbXBsZSgpID0gMDsKICAgICB2aXJ0dWFsIHZvaWQgc291cmNlQnVmZmVy
UHJpdmF0ZUJ1ZmZlcmVkRGlydHlDaGFuZ2VkKGJvb2wpID0gMDsKLSAgICB2aXJ0dWFsIHZvaWQg
c291cmNlQnVmZmVyUHJpdmF0ZUJ1ZmZlcmVkUmFuZ2VzQ2hhbmdlZChjb25zdCBQbGF0Zm9ybVRp
bWVSYW5nZXMmKSA9IDA7CiAgICAgdmlydHVhbCB2b2lkIHNvdXJjZUJ1ZmZlclByaXZhdGVEaWRS
ZWNlaXZlUmVuZGVyaW5nRXJyb3IoaW50NjRfdCBlcnJvckNvZGUpID0gMDsKICAgICB2aXJ0dWFs
IHZvaWQgc291cmNlQnVmZmVyUHJpdmF0ZVJlcG9ydEV4dHJhTWVtb3J5Q29zdCh1aW50NjRfdCkg
PSAwOwogfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9tZWRpYS9SZW1v
dGVTb3VyY2VCdWZmZXJQcm94eS5jcHAgYi9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvbWVkaWEv
UmVtb3RlU291cmNlQnVmZmVyUHJveHkuY3BwCmluZGV4IGU0MGI5YzhlODM1ZmEzNGNiMzI5ZWJi
OTA0YjU5ODQ0ZDAwZGIxZDYuLjVjYTU5NDZjNjE2MDRjN2ZjMWE0NzRkYjM1NDliODVhZmRlMjlm
NmUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVTb3Vy
Y2VCdWZmZXJQcm94eS5jcHAKKysrIGIvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL21lZGlhL1Jl
bW90ZVNvdXJjZUJ1ZmZlclByb3h5LmNwcApAQCAtMTYzLDcgKzE2Myw4IEBAIHZvaWQgUmVtb3Rl
U291cmNlQnVmZmVyUHJveHk6OnNvdXJjZUJ1ZmZlclByaXZhdGVBcHBlbmRDb21wbGV0ZShTb3Vy
Y2VCdWZmZXJQcml2CiAgICAgaWYgKCFtX2Nvbm5lY3Rpb25Ub1dlYlByb2Nlc3MpCiAgICAgICAg
IHJldHVybjsKIAotICAgIG1fY29ubmVjdGlvblRvV2ViUHJvY2Vzcy0+Y29ubmVjdGlvbigpLnNl
bmQoTWVzc2FnZXM6OlNvdXJjZUJ1ZmZlclByaXZhdGVSZW1vdGU6OlNvdXJjZUJ1ZmZlclByaXZh
dGVBcHBlbmRDb21wbGV0ZShhcHBlbmRSZXN1bHQpLCBtX2lkZW50aWZpZXIpOworICAgIGF1dG8g
YnVmZmVyZWQgPSBtX3NvdXJjZUJ1ZmZlclByaXZhdGUtPmJ1ZmZlcmVkKCktPnJhbmdlcygpOwor
ICAgIG1fY29ubmVjdGlvblRvV2ViUHJvY2Vzcy0+Y29ubmVjdGlvbigpLnNlbmQoTWVzc2FnZXM6
OlNvdXJjZUJ1ZmZlclByaXZhdGVSZW1vdGU6OlNvdXJjZUJ1ZmZlclByaXZhdGVBcHBlbmRDb21w
bGV0ZShhcHBlbmRSZXN1bHQsIFdURk1vdmUoYnVmZmVyZWQpKSwgbV9pZGVudGlmaWVyKTsKIH0K
IAogdm9pZCBSZW1vdGVTb3VyY2VCdWZmZXJQcm94eTo6c291cmNlQnVmZmVyUHJpdmF0ZURpZFJl
Y2VpdmVSZW5kZXJpbmdFcnJvcihpbnQ2NF90IGVycm9yQ29kZSkKQEAgLTE5MCwxNCArMTkxLDYg
QEAgdm9pZCBSZW1vdGVTb3VyY2VCdWZmZXJQcm94eTo6c291cmNlQnVmZmVyUHJpdmF0ZUJ1ZmZl
cmVkRGlydHlDaGFuZ2VkKGJvb2wgZmxhZykKICAgICBtX2Nvbm5lY3Rpb25Ub1dlYlByb2Nlc3Mt
PmNvbm5lY3Rpb24oKS5zZW5kKE1lc3NhZ2VzOjpTb3VyY2VCdWZmZXJQcml2YXRlUmVtb3RlOjpT
b3VyY2VCdWZmZXJQcml2YXRlQnVmZmVyZWREaXJ0eUNoYW5nZWQoZmxhZyksIG1faWRlbnRpZmll
cik7CiB9CiAKLXZvaWQgUmVtb3RlU291cmNlQnVmZmVyUHJveHk6OnNvdXJjZUJ1ZmZlclByaXZh
dGVCdWZmZXJlZFJhbmdlc0NoYW5nZWQoY29uc3QgUGxhdGZvcm1UaW1lUmFuZ2VzJiB0aW1lUmFu
Z2VzKQotewotICAgIGlmICghbV9jb25uZWN0aW9uVG9XZWJQcm9jZXNzKQotICAgICAgICByZXR1
cm47Ci0KLSAgICBtX2Nvbm5lY3Rpb25Ub1dlYlByb2Nlc3MtPmNvbm5lY3Rpb24oKS5zZW5kKE1l
c3NhZ2VzOjpTb3VyY2VCdWZmZXJQcml2YXRlUmVtb3RlOjpTb3VyY2VCdWZmZXJQcml2YXRlQnVm
ZmVyZWRSYW5nZXNDaGFuZ2VkKHRpbWVSYW5nZXMpLCBtX2lkZW50aWZpZXIpOwotfQotCiB2b2lk
IFJlbW90ZVNvdXJjZUJ1ZmZlclByb3h5OjphcHBlbmQoY29uc3QgSVBDOjpEYXRhUmVmZXJlbmNl
JiBkYXRhKQogewogICAgIG1fc291cmNlQnVmZmVyUHJpdmF0ZS0+YXBwZW5kKGRhdGEudmVjdG9y
KCkpOwpAQCAtMjQzLDE0ICsyMzYsMTkgQEAgdm9pZCBSZW1vdGVTb3VyY2VCdWZmZXJQcm94eTo6
c3RhcnRDaGFuZ2luZ1R5cGUoKQogICAgIG1fc291cmNlQnVmZmVyUHJpdmF0ZS0+c3RhcnRDaGFu
Z2luZ1R5cGUoKTsKIH0KIAotdm9pZCBSZW1vdGVTb3VyY2VCdWZmZXJQcm94eTo6dXBkYXRlQnVm
ZmVyZWRGcm9tVHJhY2tCdWZmZXJzKGJvb2wgc291cmNlSXNFbmRlZCkKK3ZvaWQgUmVtb3RlU291
cmNlQnVmZmVyUHJveHk6OnVwZGF0ZUJ1ZmZlcmVkRnJvbVRyYWNrQnVmZmVycyhib29sIHNvdXJj
ZUlzRW5kZWQsIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoV2ViQ29yZTo6UGxhdGZvcm1UaW1lUmFu
Z2VzJiYpPiYmIGNvbXBsZXRpb25IYW5kbGVyKQogewogICAgIG1fc291cmNlQnVmZmVyUHJpdmF0
ZS0+dXBkYXRlQnVmZmVyZWRGcm9tVHJhY2tCdWZmZXJzKHNvdXJjZUlzRW5kZWQpOworICAgIGF1
dG8gYnVmZmVyZWQgPSBtX3NvdXJjZUJ1ZmZlclByaXZhdGUtPmJ1ZmZlcmVkKCktPnJhbmdlcygp
OworICAgIGNvbXBsZXRpb25IYW5kbGVyKFdURk1vdmUoYnVmZmVyZWQpKTsKIH0KIAotdm9pZCBS
ZW1vdGVTb3VyY2VCdWZmZXJQcm94eTo6cmVtb3ZlQ29kZWRGcmFtZXMoY29uc3QgTWVkaWFUaW1l
JiBzdGFydCwgY29uc3QgTWVkaWFUaW1lJiBlbmQsIGNvbnN0IE1lZGlhVGltZSYgY3VycmVudFRp
bWUsIGJvb2wgaXNFbmRlZCwgQ29tcGxldGlvbkhhbmRsZXI8dm9pZCgpPiYmIGNvbXBsZXRpb25I
YW5kbGVyKQordm9pZCBSZW1vdGVTb3VyY2VCdWZmZXJQcm94eTo6cmVtb3ZlQ29kZWRGcmFtZXMo
Y29uc3QgTWVkaWFUaW1lJiBzdGFydCwgY29uc3QgTWVkaWFUaW1lJiBlbmQsIGNvbnN0IE1lZGlh
VGltZSYgY3VycmVudFRpbWUsIGJvb2wgaXNFbmRlZCwgQ29tcGxldGlvbkhhbmRsZXI8dm9pZChQ
bGF0Zm9ybVRpbWVSYW5nZXMmJik+JiYgY29tcGxldGlvbkhhbmRsZXIpCiB7Ci0gICAgbV9zb3Vy
Y2VCdWZmZXJQcml2YXRlLT5yZW1vdmVDb2RlZEZyYW1lcyhzdGFydCwgZW5kLCBjdXJyZW50VGlt
ZSwgaXNFbmRlZCwgV1RGTW92ZShjb21wbGV0aW9uSGFuZGxlcikpOworICAgIG1fc291cmNlQnVm
ZmVyUHJpdmF0ZS0+cmVtb3ZlQ29kZWRGcmFtZXMoc3RhcnQsIGVuZCwgY3VycmVudFRpbWUsIGlz
RW5kZWQsIFt0aGlzLCBwcm90ZWN0ZWRUaGlzID0gbWFrZVJlZigqdGhpcyksIGNvbXBsZXRpb25I
YW5kbGVyID0gV1RGTW92ZShjb21wbGV0aW9uSGFuZGxlcildKCkgbXV0YWJsZSB7CisgICAgICAg
IGF1dG8gYnVmZmVyZWQgPSBtX3NvdXJjZUJ1ZmZlclByaXZhdGUtPmJ1ZmZlcmVkKCktPnJhbmdl
cygpOworICAgICAgICBjb21wbGV0aW9uSGFuZGxlcihXVEZNb3ZlKGJ1ZmZlcmVkKSk7CisgICAg
fSk7CiB9CiAKIHZvaWQgUmVtb3RlU291cmNlQnVmZmVyUHJveHk6OmV2aWN0Q29kZWRGcmFtZXMo
dWludDY0X3QgbmV3RGF0YVNpemUsIHVpbnQ2NF90IHBlbmRpbmdBcHBlbmREYXRhQ2FwYWNpdHks
IHVpbnQ2NF90IG1heGltdW1CdWZmZXJTaXplLCBjb25zdCBNZWRpYVRpbWUmIGN1cnJlbnRUaW1l
LCBjb25zdCBNZWRpYVRpbWUmIGR1cmF0aW9uLCBib29sIGlzRW5kZWQpCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvbWVkaWEvUmVtb3RlU291cmNlQnVmZmVyUHJveHkuaCBi
L1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVTb3VyY2VCdWZmZXJQcm94eS5o
CmluZGV4IGMwZThkYmNiMDY2NzYxNTM3ZDAyZWJjZGI2MTFlNzIyYzI3YzJjYTguLjU4NmFlMWZk
NjY1MmEyZTEzNjY2ZGUzYTQ4YjBlOGI0NmI1OTA1MzkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQvR1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVTb3VyY2VCdWZmZXJQcm94eS5oCisrKyBiL1NvdXJj
ZS9XZWJLaXQvR1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVTb3VyY2VCdWZmZXJQcm94eS5oCkBAIC03
NSwxMyArNzUsMTIgQEAgcHJpdmF0ZToKICAgICB2b2lkIHNvdXJjZUJ1ZmZlclByaXZhdGVEaWRQ
YXJzZVNhbXBsZShkb3VibGUgc2FtcGxlRHVyYXRpb24pIGZpbmFsOwogICAgIHZvaWQgc291cmNl
QnVmZmVyUHJpdmF0ZURpZERyb3BTYW1wbGUoKSBmaW5hbDsKICAgICB2b2lkIHNvdXJjZUJ1ZmZl
clByaXZhdGVCdWZmZXJlZERpcnR5Q2hhbmdlZChib29sKSBmaW5hbDsKLSAgICB2b2lkIHNvdXJj
ZUJ1ZmZlclByaXZhdGVCdWZmZXJlZFJhbmdlc0NoYW5nZWQoY29uc3QgV2ViQ29yZTo6UGxhdGZv
cm1UaW1lUmFuZ2VzJikgZmluYWw7CiAgICAgdm9pZCBzb3VyY2VCdWZmZXJQcml2YXRlRGlkUmVj
ZWl2ZVJlbmRlcmluZ0Vycm9yKGludDY0X3QgZXJyb3JDb2RlKSBmaW5hbDsKICAgICB2b2lkIHNv
dXJjZUJ1ZmZlclByaXZhdGVSZXBvcnRFeHRyYU1lbW9yeUNvc3QodWludDY0X3QgZXh0cmFNZW1v
cnkpIGZpbmFsOwogCiAgICAgLy8gSVBDOjpNZXNzYWdlUmVjZWl2ZXIKICAgICB2b2lkIGRpZFJl
Y2VpdmVNZXNzYWdlKElQQzo6Q29ubmVjdGlvbiYsIElQQzo6RGVjb2RlciYpIGZpbmFsOwotICAg
IC8vIGJvb2wgZGlkUmVjZWl2ZVN5bmNNZXNzYWdlKElQQzo6Q29ubmVjdGlvbiYsIElQQzo6RGVj
b2RlciYsIFVuaXF1ZVJlZjxJUEM6OkVuY29kZXI+JikgZmluYWw7CisgICAgYm9vbCBkaWRSZWNl
aXZlU3luY01lc3NhZ2UoSVBDOjpDb25uZWN0aW9uJiwgSVBDOjpEZWNvZGVyJiwgVW5pcXVlUmVm
PElQQzo6RW5jb2Rlcj4mKSBmaW5hbDsKIAogICAgIHZvaWQgc2V0QWN0aXZlKGJvb2wpOwogICAg
IHZvaWQgc2V0TW9kZShXZWJDb3JlOjpTb3VyY2VCdWZmZXJBcHBlbmRNb2RlKTsKQEAgLTkyLDgg
KzkxLDggQEAgcHJpdmF0ZToKICAgICB2b2lkIHNldE1lZGlhU291cmNlRW5kZWQoYm9vbCk7CiAg
ICAgdm9pZCBzZXRSZWFkeVN0YXRlKFdlYkNvcmU6Ok1lZGlhUGxheWVyOjpSZWFkeVN0YXRlKTsK
ICAgICB2b2lkIHN0YXJ0Q2hhbmdpbmdUeXBlKCk7Ci0gICAgdm9pZCB1cGRhdGVCdWZmZXJlZEZy
b21UcmFja0J1ZmZlcnMoYm9vbCBzb3VyY2VJc0VuZGVkKTsKLSAgICB2b2lkIHJlbW92ZUNvZGVk
RnJhbWVzKGNvbnN0IE1lZGlhVGltZSYgc3RhcnQsIGNvbnN0IE1lZGlhVGltZSYgZW5kLCBjb25z
dCBNZWRpYVRpbWUmIGN1cnJlbnRUaW1lLCBib29sIGlzRW5kZWQsIENvbXBsZXRpb25IYW5kbGVy
PHZvaWQoKT4mJik7CisgICAgdm9pZCB1cGRhdGVCdWZmZXJlZEZyb21UcmFja0J1ZmZlcnMoYm9v
bCBzb3VyY2VJc0VuZGVkLCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKFdlYkNvcmU6OlBsYXRmb3Jt
VGltZVJhbmdlcyYmKT4mJik7CisgICAgdm9pZCByZW1vdmVDb2RlZEZyYW1lcyhjb25zdCBNZWRp
YVRpbWUmIHN0YXJ0LCBjb25zdCBNZWRpYVRpbWUmIGVuZCwgY29uc3QgTWVkaWFUaW1lJiBjdXJy
ZW50VGltZSwgYm9vbCBpc0VuZGVkLCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKFdlYkNvcmU6OlBs
YXRmb3JtVGltZVJhbmdlcyYmKT4mJik7CiAgICAgdm9pZCBldmljdENvZGVkRnJhbWVzKHVpbnQ2
NF90IG5ld0RhdGFTaXplLCB1aW50NjRfdCBwZW5kaW5nQXBwZW5kRGF0YUNhcGFjaXR5LCB1aW50
NjRfdCBtYXhpbXVtQnVmZmVyU2l6ZSwgY29uc3QgTWVkaWFUaW1lJiBjdXJyZW50VGltZSwgY29u
c3QgTWVkaWFUaW1lJiBkdXJhdGlvbiwgYm9vbCBpc0VuZGVkKTsKICAgICB2b2lkIGFkZFRyYWNr
QnVmZmVyKFRyYWNrUHJpdmF0ZVJlbW90ZUlkZW50aWZpZXIpOwogICAgIHZvaWQgcmVzZXRUcmFj
a0J1ZmZlcnMoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9tZWRpYS9S
ZW1vdGVTb3VyY2VCdWZmZXJQcm94eS5tZXNzYWdlcy5pbiBiL1NvdXJjZS9XZWJLaXQvR1BVUHJv
Y2Vzcy9tZWRpYS9SZW1vdGVTb3VyY2VCdWZmZXJQcm94eS5tZXNzYWdlcy5pbgppbmRleCBmMDlk
MGUzNGU4OTE4NWRkZTJjNjE3N2Y2YWE1YWIwYjc0YzcyYjY0Li42OGMxODZiYTY1NTBkMTMzODBm
ODQ0MjUyYzk5NzhkZGZkYjdkMjEyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nl
c3MvbWVkaWEvUmVtb3RlU291cmNlQnVmZmVyUHJveHkubWVzc2FnZXMuaW4KKysrIGIvU291cmNl
L1dlYktpdC9HUFVQcm9jZXNzL21lZGlhL1JlbW90ZVNvdXJjZUJ1ZmZlclByb3h5Lm1lc3NhZ2Vz
LmluCkBAIC0zNSwxMiArMzUsMTIgQEAgbWVzc2FnZXMgLT4gUmVtb3RlU291cmNlQnVmZmVyUHJv
eHkgTm90UmVmQ291bnRlZCB7CiAgICAgU2V0TWVkaWFTb3VyY2VFbmRlZChib29sIGlzRW5kZWQp
CiAgICAgU2V0UmVhZHlTdGF0ZShXZWJDb3JlOjpNZWRpYVBsYXllcjo6UmVhZHlTdGF0ZSBzdGF0
ZSkKICAgICBTdGFydENoYW5naW5nVHlwZSgpCi0gICAgVXBkYXRlQnVmZmVyZWRGcm9tVHJhY2tC
dWZmZXJzKGJvb2wgc291cmNlSXNFbmRlZCkKKyAgICBVcGRhdGVCdWZmZXJlZEZyb21UcmFja0J1
ZmZlcnMoYm9vbCBzb3VyY2VJc0VuZGVkKSAtPiAoV2ViQ29yZTo6UGxhdGZvcm1UaW1lUmFuZ2Vz
IGJ1ZmZlcmVkKSBTeW5jaHJvbm91cwogICAgIEFkZFRyYWNrQnVmZmVyKFdlYktpdDo6VHJhY2tQ
cml2YXRlUmVtb3RlSWRlbnRpZmllciByZW1vdGVJZGVudGlmaWVyKQogICAgIFJlc2V0VHJhY2tC
dWZmZXJzKCkKICAgICBDbGVhclRyYWNrQnVmZmVycygpCiAgICAgU2V0QWxsVHJhY2tCdWZmZXJz
TmVlZFJhbmRvbUFjY2VzcygpCi0gICAgUmVtb3ZlQ29kZWRGcmFtZXMoTWVkaWFUaW1lIHN0YXJ0
LCBNZWRpYVRpbWUgZW5kLCBNZWRpYVRpbWUgY3VycmVudFRpbWUsIGJvb2wgaXNFbmRlZCkgLT4g
KCkgQXN5bmMKKyAgICBSZW1vdmVDb2RlZEZyYW1lcyhNZWRpYVRpbWUgc3RhcnQsIE1lZGlhVGlt
ZSBlbmQsIE1lZGlhVGltZSBjdXJyZW50VGltZSwgYm9vbCBpc0VuZGVkKSAtPiAoV2ViQ29yZTo6
UGxhdGZvcm1UaW1lUmFuZ2VzIGJ1ZmZlcmVkKSBBc3luYwogICAgIEV2aWN0Q29kZWRGcmFtZXMo
dWludDY0X3QgbmV3RGF0YVNpemUsIHVpbnQ2NF90IHBlbmRpbmdBcHBlbmREYXRhQ2FwYWNpdHks
IHVpbnQ2NF90IG1heGltdW1CdWZmZXJTaXplLCBNZWRpYVRpbWUgY3VycmVudFRpbWUsIE1lZGlh
VGltZSBkdXJhdGlvbiwgYm9vbCBpc0VuZGVkKQogICAgIFJlZW5xdWV1ZU1lZGlhSWZOZWVkZWQo
TWVkaWFUaW1lIGN1cnJlbnRNZWRpYVRpbWUsIHVpbnQ2NF90IHBlbmRpbmdBcHBlbmREYXRhQ2Fw
YWNpdHksIHVpbnQ2NF90IG1heGltdW1CdWZmZXJTaXplKQogICAgIFNldEdyb3VwU3RhcnRUaW1l
c3RhbXAoTWVkaWFUaW1lIHRpbWVzdGFtcCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2Vi
UHJvY2Vzcy9HUFUvbWVkaWEvU291cmNlQnVmZmVyUHJpdmF0ZVJlbW90ZS5jcHAgYi9Tb3VyY2Uv
V2ViS2l0L1dlYlByb2Nlc3MvR1BVL21lZGlhL1NvdXJjZUJ1ZmZlclByaXZhdGVSZW1vdGUuY3Bw
CmluZGV4IGM1ZWE2Mjg2ZWRmMDQ5ZmYwOTgxNTQxYjA0ODk2YWRlZjcwZmE2MTUuLjNjYzRiOTM2
ZWZhZTI0MDQ1ZGU1NjI4Mjc5ZDQ2YWIzN2FiYjgwZDMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQvV2ViUHJvY2Vzcy9HUFUvbWVkaWEvU291cmNlQnVmZmVyUHJpdmF0ZVJlbW90ZS5jcHAKKysr
IGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQVS9tZWRpYS9Tb3VyY2VCdWZmZXJQcml2YXRl
UmVtb3RlLmNwcApAQCAtMTY5LDcgKzE2OSwxMSBAQCB2b2lkIFNvdXJjZUJ1ZmZlclByaXZhdGVS
ZW1vdGU6OnVwZGF0ZUJ1ZmZlcmVkRnJvbVRyYWNrQnVmZmVycyhib29sIHNvdXJjZUlzRW5kZQog
ICAgIGlmICghbV9ncHVQcm9jZXNzQ29ubmVjdGlvbikKICAgICAgICAgcmV0dXJuOwogCi0gICAg
bV9ncHVQcm9jZXNzQ29ubmVjdGlvbi0+Y29ubmVjdGlvbigpLnNlbmQoTWVzc2FnZXM6OlJlbW90
ZVNvdXJjZUJ1ZmZlclByb3h5OjpVcGRhdGVCdWZmZXJlZEZyb21UcmFja0J1ZmZlcnMoc291cmNl
SXNFbmRlZCksIG1fcmVtb3RlU291cmNlQnVmZmVySWRlbnRpZmllcik7CisgICAgUGxhdGZvcm1U
aW1lUmFuZ2VzIGJ1ZmZlcmVkOworICAgIGlmICghbV9ncHVQcm9jZXNzQ29ubmVjdGlvbi0+Y29u
bmVjdGlvbigpLnNlbmRTeW5jKE1lc3NhZ2VzOjpSZW1vdGVTb3VyY2VCdWZmZXJQcm94eTo6VXBk
YXRlQnVmZmVyZWRGcm9tVHJhY2tCdWZmZXJzKHNvdXJjZUlzRW5kZWQpLCBNZXNzYWdlczo6UmVt
b3RlU291cmNlQnVmZmVyUHJveHk6OlVwZGF0ZUJ1ZmZlcmVkRnJvbVRyYWNrQnVmZmVyczo6UmVw
bHkoYnVmZmVyZWQpLCBtX3JlbW90ZVNvdXJjZUJ1ZmZlcklkZW50aWZpZXIpKQorICAgICAgICBy
ZXR1cm47CisKKyAgICBzZXRCdWZmZXJlZFJhbmdlcyhidWZmZXJlZCk7CiB9CiAKIHZvaWQgU291
cmNlQnVmZmVyUHJpdmF0ZVJlbW90ZTo6cmVtb3ZlQ29kZWRGcmFtZXMoY29uc3QgTWVkaWFUaW1l
JiBzdGFydCwgY29uc3QgTWVkaWFUaW1lJiBlbmQsIGNvbnN0IE1lZGlhVGltZSYgY3VycmVudE1l
ZGlhVGltZSwgYm9vbCBpc0VuZGVkLCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKCk+JiYgY29tcGxl
dGlvbkhhbmRsZXIpCkBAIC0xNzcsNyArMTgxLDEwIEBAIHZvaWQgU291cmNlQnVmZmVyUHJpdmF0
ZVJlbW90ZTo6cmVtb3ZlQ29kZWRGcmFtZXMoY29uc3QgTWVkaWFUaW1lJiBzdGFydCwgY29uc3QK
ICAgICBpZiAoIW1fZ3B1UHJvY2Vzc0Nvbm5lY3Rpb24pCiAgICAgICAgIHJldHVybjsKIAotICAg
IG1fZ3B1UHJvY2Vzc0Nvbm5lY3Rpb24tPmNvbm5lY3Rpb24oKS5zZW5kV2l0aEFzeW5jUmVwbHko
TWVzc2FnZXM6OlJlbW90ZVNvdXJjZUJ1ZmZlclByb3h5OjpSZW1vdmVDb2RlZEZyYW1lcyhzdGFy
dCwgZW5kLCBjdXJyZW50TWVkaWFUaW1lLCBpc0VuZGVkKSwgV1RGTW92ZShjb21wbGV0aW9uSGFu
ZGxlciksIG1fcmVtb3RlU291cmNlQnVmZmVySWRlbnRpZmllcik7CisgICAgbV9ncHVQcm9jZXNz
Q29ubmVjdGlvbi0+Y29ubmVjdGlvbigpLnNlbmRXaXRoQXN5bmNSZXBseShNZXNzYWdlczo6UmVt
b3RlU291cmNlQnVmZmVyUHJveHk6OlJlbW92ZUNvZGVkRnJhbWVzKHN0YXJ0LCBlbmQsIGN1cnJl
bnRNZWRpYVRpbWUsIGlzRW5kZWQpLCBbdGhpcywgcHJvdGVjdGVkVGhpcyA9IG1ha2VSZWYoKnRo
aXMpLCBjb21wbGV0aW9uSGFuZGxlciA9IFdURk1vdmUoY29tcGxldGlvbkhhbmRsZXIpXShhdXRv
JiYgYnVmZmVyZWQpIG11dGFibGUgeworICAgICAgICBzZXRCdWZmZXJlZFJhbmdlcyhidWZmZXJl
ZCk7CisgICAgICAgIGNvbXBsZXRpb25IYW5kbGVyKCk7CisgICAgfSwgbV9yZW1vdGVTb3VyY2VC
dWZmZXJJZGVudGlmaWVyKTsKIH0KIAogdm9pZCBTb3VyY2VCdWZmZXJQcml2YXRlUmVtb3RlOjpl
dmljdENvZGVkRnJhbWVzKHVpbnQ2NF90IG5ld0RhdGFTaXplLCB1aW50NjRfdCBwZW5kaW5nQXBw
ZW5kRGF0YUNhcGFjaXR5LCB1aW50NjRfdCBtYXhpbXVtQnVmZmVyU2l6ZSwgY29uc3QgTWVkaWFU
aW1lJiBjdXJyZW50VGltZSwgY29uc3QgTWVkaWFUaW1lJiBkdXJhdGlvbiwgYm9vbCBpc0VuZGVk
KQpAQCAtMzgwLDggKzM4Nyw5IEBAIHZvaWQgU291cmNlQnVmZmVyUHJpdmF0ZVJlbW90ZTo6c291
cmNlQnVmZmVyUHJpdmF0ZUFwcGVuZEVycm9yKGJvb2wgZGVjb2RlRXJyb3IpCiAgICAgICAgIG1f
Y2xpZW50LT5zb3VyY2VCdWZmZXJQcml2YXRlQXBwZW5kRXJyb3IoZGVjb2RlRXJyb3IpOwogfQog
Ci12b2lkIFNvdXJjZUJ1ZmZlclByaXZhdGVSZW1vdGU6OnNvdXJjZUJ1ZmZlclByaXZhdGVBcHBl
bmRDb21wbGV0ZShTb3VyY2VCdWZmZXJQcml2YXRlQ2xpZW50OjpBcHBlbmRSZXN1bHQgYXBwZW5k
UmVzdWx0KQordm9pZCBTb3VyY2VCdWZmZXJQcml2YXRlUmVtb3RlOjpzb3VyY2VCdWZmZXJQcml2
YXRlQXBwZW5kQ29tcGxldGUoU291cmNlQnVmZmVyUHJpdmF0ZUNsaWVudDo6QXBwZW5kUmVzdWx0
IGFwcGVuZFJlc3VsdCwgY29uc3QgUGxhdGZvcm1UaW1lUmFuZ2VzJiBidWZmZXJlZCkKIHsKKyAg
ICBzZXRCdWZmZXJlZFJhbmdlcyhidWZmZXJlZCk7CiAgICAgaWYgKG1fY2xpZW50KQogICAgICAg
ICBtX2NsaWVudC0+c291cmNlQnVmZmVyUHJpdmF0ZUFwcGVuZENvbXBsZXRlKGFwcGVuZFJlc3Vs
dCk7CiB9CkBAIC00MTYsMTIgKzQyNCw2IEBAIHZvaWQgU291cmNlQnVmZmVyUHJpdmF0ZVJlbW90
ZTo6c291cmNlQnVmZmVyUHJpdmF0ZUJ1ZmZlcmVkRGlydHlDaGFuZ2VkKGJvb2wgZGlyCiAgICAg
ICAgIG1fY2xpZW50LT5zb3VyY2VCdWZmZXJQcml2YXRlQnVmZmVyZWREaXJ0eUNoYW5nZWQoZGly
dHkpOwogfQogCi12b2lkIFNvdXJjZUJ1ZmZlclByaXZhdGVSZW1vdGU6OnNvdXJjZUJ1ZmZlclBy
aXZhdGVCdWZmZXJlZFJhbmdlc0NoYW5nZWQoY29uc3QgV2ViQ29yZTo6UGxhdGZvcm1UaW1lUmFu
Z2VzJiB0aW1lUmFuZ2VzKQotewotICAgIGlmIChtX2NsaWVudCkKLSAgICAgICAgbV9jbGllbnQt
PnNvdXJjZUJ1ZmZlclByaXZhdGVCdWZmZXJlZFJhbmdlc0NoYW5nZWQodGltZVJhbmdlcyk7Ci19
Ci0KIHZvaWQgU291cmNlQnVmZmVyUHJpdmF0ZVJlbW90ZTo6c291cmNlQnVmZmVyUHJpdmF0ZURp
ZFJlY2VpdmVSZW5kZXJpbmdFcnJvcihpbnQ2NF90IGVycm9yQ29kZSkKIHsKICAgICBpZiAobV9j
bGllbnQpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BVL21lZGlhL1Nv
dXJjZUJ1ZmZlclByaXZhdGVSZW1vdGUuaCBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUv
bWVkaWEvU291cmNlQnVmZmVyUHJpdmF0ZVJlbW90ZS5oCmluZGV4IGJiZThjMmEzMDhkYTM2ZTAz
YWJjYTAwYzAzZjA2MzRhMjM3ZWE3YWEuLjVlYjhjZmQ3MjgwZjYyYzQ3ZDc0YmMyNGQyZWM1OTY3
YWFmMjZlMzUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUvbWVkaWEv
U291cmNlQnVmZmVyUHJpdmF0ZVJlbW90ZS5oCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vz
cy9HUFUvbWVkaWEvU291cmNlQnVmZmVyUHJpdmF0ZVJlbW90ZS5oCkBAIC0xMDksMTQgKzEwOSwx
MyBAQCBwcml2YXRlOgogICAgIHZvaWQgc291cmNlQnVmZmVyUHJpdmF0ZURpZFJlY2VpdmVJbml0
aWFsaXphdGlvblNlZ21lbnQoSW5pdGlhbGl6YXRpb25TZWdtZW50SW5mbyYmLCBDb21wbGV0aW9u
SGFuZGxlcjx2b2lkKCk+JiYpOwogICAgIHZvaWQgc291cmNlQnVmZmVyUHJpdmF0ZVN0cmVhbUVu
ZGVkV2l0aERlY29kZUVycm9yKCk7CiAgICAgdm9pZCBzb3VyY2VCdWZmZXJQcml2YXRlQXBwZW5k
RXJyb3IoYm9vbCBkZWNvZGVFcnJvcik7Ci0gICAgdm9pZCBzb3VyY2VCdWZmZXJQcml2YXRlQXBw
ZW5kQ29tcGxldGUoV2ViQ29yZTo6U291cmNlQnVmZmVyUHJpdmF0ZUNsaWVudDo6QXBwZW5kUmVz
dWx0KTsKKyAgICB2b2lkIHNvdXJjZUJ1ZmZlclByaXZhdGVBcHBlbmRDb21wbGV0ZShXZWJDb3Jl
OjpTb3VyY2VCdWZmZXJQcml2YXRlQ2xpZW50OjpBcHBlbmRSZXN1bHQsIGNvbnN0IFdlYkNvcmU6
OlBsYXRmb3JtVGltZVJhbmdlcyYgYnVmZmVyZWQpOwogICAgIHZvaWQgc291cmNlQnVmZmVyUHJp
dmF0ZUhpZ2hlc3RQcmVzZW50YXRpb25UaW1lc3RhbXBDaGFuZ2VkKGNvbnN0IE1lZGlhVGltZSYp
OwogICAgIHZvaWQgc291cmNlQnVmZmVyUHJpdmF0ZUR1cmF0aW9uQ2hhbmdlZChjb25zdCBNZWRp
YVRpbWUmKTsKICAgICB2b2lkIHNvdXJjZUJ1ZmZlclByaXZhdGVEaWRQYXJzZVNhbXBsZShkb3Vi
bGUgc2FtcGxlRHVyYXRpb24pOwogICAgIHZvaWQgc291cmNlQnVmZmVyUHJpdmF0ZURpZERyb3BT
YW1wbGUoKTsKICAgICB2b2lkIHNvdXJjZUJ1ZmZlclByaXZhdGVEaWRSZWNlaXZlUmVuZGVyaW5n
RXJyb3IoaW50NjRfdCBlcnJvckNvZGUpOwogICAgIHZvaWQgc291cmNlQnVmZmVyUHJpdmF0ZUJ1
ZmZlcmVkRGlydHlDaGFuZ2VkKGJvb2wgZGlydHkpOwotICAgIHZvaWQgc291cmNlQnVmZmVyUHJp
dmF0ZUJ1ZmZlcmVkUmFuZ2VzQ2hhbmdlZChjb25zdCBXZWJDb3JlOjpQbGF0Zm9ybVRpbWVSYW5n
ZXMmKTsKICAgICB2b2lkIHNvdXJjZUJ1ZmZlclByaXZhdGVSZXBvcnRFeHRyYU1lbW9yeUNvc3Qo
dWludDY0X3QgZXh0cmFNZW1vcnkpOwogCiAgICAgV2Vha1B0cjxHUFVQcm9jZXNzQ29ubmVjdGlv
bj4gbV9ncHVQcm9jZXNzQ29ubmVjdGlvbjsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2Vi
UHJvY2Vzcy9HUFUvbWVkaWEvU291cmNlQnVmZmVyUHJpdmF0ZVJlbW90ZS5tZXNzYWdlcy5pbiBi
L1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUvbWVkaWEvU291cmNlQnVmZmVyUHJpdmF0ZVJl
bW90ZS5tZXNzYWdlcy5pbgppbmRleCA2MzY0YTY4Y2U3ODM2YTRmZjc3MTQzMzQ4MGFkN2FhZTZl
OWY4MzZlLi5hZWMwMzdkYjI3N2M0M2ExMGFmY2I4OTljNDVjOGQ4M2QyNmY2NzQxIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BVL21lZGlhL1NvdXJjZUJ1ZmZlclByaXZh
dGVSZW1vdGUubWVzc2FnZXMuaW4KKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQVS9t
ZWRpYS9Tb3VyY2VCdWZmZXJQcml2YXRlUmVtb3RlLm1lc3NhZ2VzLmluCkBAIC0yOSwxMyArMjks
MTIgQEAgbWVzc2FnZXMgLT4gU291cmNlQnVmZmVyUHJpdmF0ZVJlbW90ZSBOb3RSZWZDb3VudGVk
IHsKICAgICBTb3VyY2VCdWZmZXJQcml2YXRlRGlkUmVjZWl2ZUluaXRpYWxpemF0aW9uU2VnbWVu
dChzdHJ1Y3QgV2ViS2l0OjpJbml0aWFsaXphdGlvblNlZ21lbnRJbmZvIHNlZ21lbnRDb25maWd1
cmF0aW9uKSAtPiAoKSBBc3luYwogICAgIFNvdXJjZUJ1ZmZlclByaXZhdGVTdHJlYW1FbmRlZFdp
dGhEZWNvZGVFcnJvcigpCiAgICAgU291cmNlQnVmZmVyUHJpdmF0ZUFwcGVuZEVycm9yKGJvb2wg
ZGVjb2RlRXJyb3IpCi0gICAgU291cmNlQnVmZmVyUHJpdmF0ZUFwcGVuZENvbXBsZXRlKFdlYkNv
cmU6OlNvdXJjZUJ1ZmZlclByaXZhdGVDbGllbnQ6OkFwcGVuZFJlc3VsdCBhcHBlbmRSZXN1bHQp
CisgICAgU291cmNlQnVmZmVyUHJpdmF0ZUFwcGVuZENvbXBsZXRlKFdlYkNvcmU6OlNvdXJjZUJ1
ZmZlclByaXZhdGVDbGllbnQ6OkFwcGVuZFJlc3VsdCBhcHBlbmRSZXN1bHQsIFdlYkNvcmU6OlBs
YXRmb3JtVGltZVJhbmdlcyBidWZmZXJlZCkKICAgICBTb3VyY2VCdWZmZXJQcml2YXRlSGlnaGVz
dFByZXNlbnRhdGlvblRpbWVzdGFtcENoYW5nZWQoTWVkaWFUaW1lIHRpbWVzdGFtcCkKICAgICBT
b3VyY2VCdWZmZXJQcml2YXRlRHVyYXRpb25DaGFuZ2VkKE1lZGlhVGltZSBkdXJhdGlvbikKICAg
ICBTb3VyY2VCdWZmZXJQcml2YXRlRGlkUGFyc2VTYW1wbGUoZG91YmxlIHNhbXBsZUR1cmF0aW9u
KQogICAgIFNvdXJjZUJ1ZmZlclByaXZhdGVEaWREcm9wU2FtcGxlKCkKICAgICBTb3VyY2VCdWZm
ZXJQcml2YXRlQnVmZmVyZWREaXJ0eUNoYW5nZWQoYm9vbCBkaXJ0eSkKLSAgICBTb3VyY2VCdWZm
ZXJQcml2YXRlQnVmZmVyZWRSYW5nZXNDaGFuZ2VkKFdlYkNvcmU6OlBsYXRmb3JtVGltZVJhbmdl
cyB0aW1lUmFuZ2VzKQogICAgIFNvdXJjZUJ1ZmZlclByaXZhdGVEaWRSZWNlaXZlUmVuZGVyaW5n
RXJyb3IoaW50NjRfdCBlcnJvckNvZGUpCiAgICAgU291cmNlQnVmZmVyUHJpdmF0ZVJlcG9ydEV4
dHJhTWVtb3J5Q29zdCh1aW50NjRfdCBleHRyYU1lbW9yeSkKIH0KZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCA4YTA1ZjYwNTIz
NGE1OTFlMzE0YTUxNTE0NWIxMmQ2M2VjNGNkNzNhLi45MjdmMmYyODZlZDc3YTNhYjFhMGUwNmNh
YjA4MzI4NGY4MDE0NDExIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIv
TGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTIgQEAKKzIwMjEtMDMtMTIgIFBlbmcg
TGl1ICA8cGVuZy5saXU2QGFwcGxlLmNvbT4KKworICAgICAgICBbR1BVUF1bTVNFXSBNZWRpYVNv
dXJjZTo6YnVmZmVyZWQgYW5kIE1lZGlhU291cmNlOjphY3RpdmVTb3VyY2VCdWZmZXJzIGRvIG5v
dCB1cGRhdGUgaW4gdGhlIHNhbWUgcnVuIGxvb3AgYXMgTWVkaWFTb3VyY2U6OmVuZE9mU3RyZWFt
KCkKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIyMTI5
MworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogcGxh
dGZvcm0vbWFjL1Rlc3RFeHBlY3RhdGlvbnM6CisKIDIwMjEtMDMtMTEgIFBlbmcgTGl1ICA8cGVu
Zy5saXU2QGFwcGxlLmNvbT4KIAogICAgICAgICBbR1BVUF0gU29tZSBtb2Rlcm4tbWVkaWEtY29u
dHJvbHMgdGVzdHMgYXJlIGZsYWt5IHdoZW4gbWVkaWEgaW4gR1BVIFByb2Nlc3MgaXMgZW5hYmxl
ZApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL1Rlc3RFeHBlY3RhdGlvbnMg
Yi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvVGVzdEV4cGVjdGF0aW9ucwppbmRleCA1YmFmOWYx
YTRlMjVhZjQxNDc3OTM1NTQ5ZWJjOGJiZGJmZGE3ZDBjLi43YTFmZjcyNzc2ODNlZTk0Mzg3MWQ1
NzM2MjkxMzZmYzM1ODI1YmVmIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMv
VGVzdEV4cGVjdGF0aW9ucworKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvVGVzdEV4cGVj
dGF0aW9ucwpAQCAtODY1LDcgKzg2NSw2IEBAIHdlYmtpdC5vcmcvYi8xNjE3MjUgaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9tZWRpYS1zb3VyY2UvbWVkaWFzb3VyY2Utc291CiB3ZWJr
aXQub3JnL2IvMjE0MTY2IGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvbWVkaWEtc291
cmNlL2lkbGhhcm5lc3Mud2luZG93Lmh0bWwgWyBTa2lwIF0KIAogIyB3ZWJraXQub3JnL2IvMjIx
Njg2Ci1pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL21lZGlhLXNvdXJjZS9tZWRpYXNv
dXJjZS1idWZmZXJlZC5odG1sIFsgRmFpbHVyZSBdCiBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL21lZGlhLXNvdXJjZS9tZWRpYXNvdXJjZS1jaGFuZ2V0eXBlLmh0bWwgWyBGYWlsdXJl
IF0KIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvbWVkaWEtc291cmNlL21lZGlhc291
cmNlLWR1cmF0aW9uLWJvdW5kYXJ5Y29uZGl0aW9ucy5odG1sIFsgRmFpbHVyZSBdCiBpbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL21lZGlhLXNvdXJjZS9tZWRpYXNvdXJjZS1yZW1vdmUu
aHRtbCBbIEZhaWx1cmUgXQo=
</data>
<flag name="review"
          id="442365"
          type_id="1"
          status="+"
          setter="jer.noble"
    />
    <flag name="commit-queue"
          id="442375"
          type_id="3"
          status="-"
          setter="ews-feeder"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>423096</attachid>
            <date>2021-03-12 21:25:33 -0800</date>
            <delta_ts>2021-03-13 11:08:28 -0800</delta_ts>
            <desc>Rebase the patch before landing</desc>
            <filename>bug-221293-20210312212532.patch</filename>
            <type>text/plain</type>
            <size>25636</size>
            <attacher name="Peng Liu">peng.liu6</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjc0Mzc4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggY2Q2OWVkZDYyOTFjNzJh
ZmIwNjZiZGFhZmVlY2IwY2YyNTc2NzQ3YS4uOTFkYzNmZWJmNjEzOGRhNDlhM2ZiZTQ3YTk1Yjc2
ZmJiYjI5NDIyMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM3IEBACisyMDIxLTAzLTEyICBQZW5n
IExpdSAgPHBlbmcubGl1NkBhcHBsZS5jb20+CisKKyAgICAgICAgW0dQVVBdW01TRV0gTWVkaWFT
b3VyY2U6OmJ1ZmZlcmVkIGFuZCBNZWRpYVNvdXJjZTo6YWN0aXZlU291cmNlQnVmZmVycyBkbyBu
b3QgdXBkYXRlIGluIHRoZSBzYW1lIHJ1biBsb29wIGFzIE1lZGlhU291cmNlOjplbmRPZlN0cmVh
bSgpCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMjEy
OTMKKworICAgICAgICBSZXZpZXdlZCBieSBKZXIgTm9ibGUuCisKKyAgICAgICAgQ3VycmVudGx5
LCBib3RoIGBTb3VyY2VCdWZmZXJgIGFuZCBgU291cmNlQnVmZmVyUHJpdmF0ZWAgb3duIGFuIGBt
X2J1ZmZlcmVkYAorICAgICAgICBhbmQgd2UgbmVlZCB0byBzeW5jaHJvbml6ZSB0aGVtIHdpdGgg
YSBjYWxsYmFjay4gV2hlbiB3ZSBydW4gYFNvdXJjZUJ1ZmZlclByaXZhdGVgCisgICAgICAgIGlu
IHRoZSBHUFUgcHJvY2VzcywgdGhlIHN5bmNocm9uaXphdGlvbiBtaWdodCBiZSBkZWxheWVkLCBl
LmcuLCBmdW5jdGlvbgorICAgICAgICBgU291cmNlQnVmZmVyOjpyZWFkeVN0YXRlQ2hhbmdlZCgp
YCB3aWxsIHRyaWdnZXIgYW4gdXBkYXRlIHRvIGBtX2J1ZmZlcmVkYAorICAgICAgICBidXQgaXRz
IG5ldyB2YWx1ZSB3b24ndCBiZSBhdmFpbGFibGUgZm9yIHRoZSBXZWIgcHJvY2VzcyBpbiB0aGUg
c2FtZQorICAgICAgICBydW4gbG9vcC4KKworICAgICAgICBUbyBmaXggdGhpcyBpc3N1ZSwgdGhp
cyBwYXRjaCByZW1vdmVzIGBTb3VyY2VCdWZmZXI6Om1fYnVmZmVyZWRgIGFzIHdlbGwKKyAgICAg
ICAgdGhlIGNhbGxiYWNrIHRvIHN5bmNocm9uaXplIGl0LiBXaGVuIHdlIHJ1biBgU291cmNlQnVm
ZmVyUHJpdmF0ZWAgaW4gdGhlIEdQVQorICAgICAgICBwcm9jZXNzLCBgU291cmNlQnVmZmVyUHJp
dmF0ZVJlbW90ZWAgc3luY2hyb25pemVzIGl0cyBgbV9idWZmZXJlZGAgd2l0aAorICAgICAgICBg
U291cmNlQnVmZmVyUHJpdmF0ZWAgdGhyb3VnaCBhIHN5bmNocm9ub3VzIElQQyBtZXNzYWdlLgor
CisgICAgICAgIE5vIG5ldyB0ZXN0cy4gRml4IGEgdGVzdCBmYWlsdXJlOgorICAgICAgICAtIGlt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvbWVkaWEtc291cmNlL21lZGlhc291cmNlLWJ1
ZmZlcmVkLmh0bWwKKworICAgICAgICAqIE1vZHVsZXMvbWVkaWFzb3VyY2UvU291cmNlQnVmZmVy
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNvdXJjZUJ1ZmZlcjo6U291cmNlQnVmZmVyKToKKyAg
ICAgICAgKFdlYkNvcmU6OlNvdXJjZUJ1ZmZlcjo6YnVmZmVyZWQgY29uc3QpOgorICAgICAgICAo
V2ViQ29yZTo6U291cmNlQnVmZmVyOjpzb3VyY2VCdWZmZXJQcml2YXRlQnVmZmVyZWRSYW5nZXND
aGFuZ2VkKTogRGVsZXRlZC4KKyAgICAgICAgKiBNb2R1bGVzL21lZGlhc291cmNlL1NvdXJjZUJ1
ZmZlci5oOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL1NvdXJjZUJ1ZmZlclByaXZhdGUu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6U291cmNlQnVmZmVyUHJpdmF0ZTo6c2V0QnVmZmVyZWRS
YW5nZXMpOgorICAgICAgICAoV2ViQ29yZTo6U291cmNlQnVmZmVyUHJpdmF0ZTo6dXBkYXRlQnVm
ZmVyZWRGcm9tVHJhY2tCdWZmZXJzKToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9Tb3Vy
Y2VCdWZmZXJQcml2YXRlLmg6CisgICAgICAgIChXZWJDb3JlOjpTb3VyY2VCdWZmZXJQcml2YXRl
OjpidWZmZXJlZCBjb25zdCk6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvU291cmNlQnVm
ZmVyUHJpdmF0ZUNsaWVudC5oOgorCiAyMDIxLTAzLTEyICBFcmljIENhcmxzb24gIDxlcmljLmNh
cmxzb25AYXBwbGUuY29tPgogCiAgICAgICAgIEFkZCBtb3JlIE1lZGlhU3RyZWFtIGxvZ2dpbmcK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9DaGFu
Z2VMb2cKaW5kZXggZWZiYmFmOTk0NzQ1ODRmYzc1MmU3NjE5N2QxNWVjYTYyNWM1M2QxNy4uMzIy
YWYxN2Y3NGIwOWZjNDdhZTM0YTVmMTY0YmU1ODkyMjczNjYzOSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdC9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKQEAgLTEsMyAr
MSwzNCBAQAorMjAyMS0wMy0xMiAgUGVuZyBMaXUgIDxwZW5nLmxpdTZAYXBwbGUuY29tPgorCisg
ICAgICAgIFtHUFVQXVtNU0VdIE1lZGlhU291cmNlOjpidWZmZXJlZCBhbmQgTWVkaWFTb3VyY2U6
OmFjdGl2ZVNvdXJjZUJ1ZmZlcnMgZG8gbm90IHVwZGF0ZSBpbiB0aGUgc2FtZSBydW4gbG9vcCBh
cyBNZWRpYVNvdXJjZTo6ZW5kT2ZTdHJlYW0oKQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjIxMjkzCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgSmVyIE5v
YmxlLgorCisgICAgICAgIFdoZW4gYSBXZWIgcHJvY2VzcyBuZWVkcyB0byAicHVsbCIgdGhlIGxh
dGVzdCB2YWx1ZSBvZiBgbV9idWZmZXJlZGAgZnJvbSB0aGUKKyAgICAgICAgR1BVIHByb2Nlc3Mg
KGB1cGRhdGVCdWZmZXJlZEZyb21UcmFja0J1ZmZlcnNgKSwgd2UgbmVlZCB0byB1c2UgYSBzeW5j
aHJvbm91cworICAgICAgICBJUEMgbWVzc2FnZS4KKworICAgICAgICBXaGVuIHRoZSBHUFUgcHJv
Y2VzcyBuZWVkcyB0byAicHVzaCIgdGhlIGxhdGVzdCB2YWx1ZSBvZiBgbV9idWZmZXJlZGAgdG8K
KyAgICAgICAgYSBXZWIgcHJvY2Vzcywgd2UgY2FuIHVzZSBhbiBhc3luY2hyb25vdXMgbWVzc2Fn
ZSwgZS5nLCBgUmVtb3ZlQ29kZWRGcmFtZXNgCisgICAgICAgIGFuZCBgU291cmNlQnVmZmVyUHJp
dmF0ZUFwcGVuZENvbXBsZXRlYC4KKworICAgICAgICAqIEdQVVByb2Nlc3MvbWVkaWEvUmVtb3Rl
U291cmNlQnVmZmVyUHJveHkuY3BwOgorICAgICAgICAoV2ViS2l0OjpSZW1vdGVTb3VyY2VCdWZm
ZXJQcm94eTo6c291cmNlQnVmZmVyUHJpdmF0ZUFwcGVuZENvbXBsZXRlKToKKyAgICAgICAgKFdl
YktpdDo6UmVtb3RlU291cmNlQnVmZmVyUHJveHk6OnVwZGF0ZUJ1ZmZlcmVkRnJvbVRyYWNrQnVm
ZmVycyk6CisgICAgICAgIChXZWJLaXQ6OlJlbW90ZVNvdXJjZUJ1ZmZlclByb3h5OjpyZW1vdmVD
b2RlZEZyYW1lcyk6CisgICAgICAgIChXZWJLaXQ6OlJlbW90ZVNvdXJjZUJ1ZmZlclByb3h5Ojpz
b3VyY2VCdWZmZXJQcml2YXRlQnVmZmVyZWRSYW5nZXNDaGFuZ2VkKTogRGVsZXRlZC4KKyAgICAg
ICAgKiBHUFVQcm9jZXNzL21lZGlhL1JlbW90ZVNvdXJjZUJ1ZmZlclByb3h5Lmg6CisgICAgICAg
ICogR1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVTb3VyY2VCdWZmZXJQcm94eS5tZXNzYWdlcy5pbjoK
KworICAgICAgICAqIFdlYlByb2Nlc3MvR1BVL21lZGlhL1NvdXJjZUJ1ZmZlclByaXZhdGVSZW1v
dGUuY3BwOgorICAgICAgICAoV2ViS2l0OjpTb3VyY2VCdWZmZXJQcml2YXRlUmVtb3RlOjp1cGRh
dGVCdWZmZXJlZEZyb21UcmFja0J1ZmZlcnMpOgorICAgICAgICAoV2ViS2l0OjpTb3VyY2VCdWZm
ZXJQcml2YXRlUmVtb3RlOjpyZW1vdmVDb2RlZEZyYW1lcyk6CisgICAgICAgIChXZWJLaXQ6OlNv
dXJjZUJ1ZmZlclByaXZhdGVSZW1vdGU6OnNvdXJjZUJ1ZmZlclByaXZhdGVBcHBlbmRDb21wbGV0
ZSk6CisgICAgICAgIChXZWJLaXQ6OlNvdXJjZUJ1ZmZlclByaXZhdGVSZW1vdGU6OnNvdXJjZUJ1
ZmZlclByaXZhdGVCdWZmZXJlZFJhbmdlc0NoYW5nZWQpOiBEZWxldGVkLgorICAgICAgICAqIFdl
YlByb2Nlc3MvR1BVL21lZGlhL1NvdXJjZUJ1ZmZlclByaXZhdGVSZW1vdGUuaDoKKyAgICAgICAg
KiBXZWJQcm9jZXNzL0dQVS9tZWRpYS9Tb3VyY2VCdWZmZXJQcml2YXRlUmVtb3RlLm1lc3NhZ2Vz
LmluOgorCiAyMDIxLTAzLTEyICBKZXIgTm9ibGUgIDxqZXIubm9ibGVAYXBwbGUuY29tPgogCiAg
ICAgICAgIFtDb2NvYV1bV2ViTV0gSGFuZyB3aGVuIHJlbG9hZGluZyBwYWdlIGJlZm9yZSBXZWJN
IGNvbnRlbnQgaXMgbG9hZGVkCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21l
ZGlhc291cmNlL1NvdXJjZUJ1ZmZlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlh
c291cmNlL1NvdXJjZUJ1ZmZlci5jcHAKaW5kZXggNTM4ZWI5ZjEyYmE5NWY2YTEwOTAwYjVmZmRm
MTEwZmFjMzdjMzhkMy4uOTEwMzZiYWZkMTM2NzU5YjZkYTNhNDE4MDY2M2I1Mjg0OThlMmY4MCAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXNvdXJjZS9Tb3VyY2VCdWZm
ZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzb3VyY2UvU291cmNlQnVm
ZmVyLmNwcApAQCAtODEsNyArODEsNiBAQCBTb3VyY2VCdWZmZXI6OlNvdXJjZUJ1ZmZlcihSZWY8
U291cmNlQnVmZmVyUHJpdmF0ZT4mJiBzb3VyY2VCdWZmZXJQcml2YXRlLCBNZWRpYQogICAgICwg
bV9hcHBlbmRXaW5kb3dFbmQoTWVkaWFUaW1lOjpwb3NpdGl2ZUluZmluaXRlVGltZSgpKQogICAg
ICwgbV9hcHBlbmRTdGF0ZShXYWl0aW5nRm9yU2VnbWVudCkKICAgICAsIG1fdGltZU9mQnVmZmVy
aW5nTW9uaXRvcihNb25vdG9uaWNUaW1lOjpub3coKSkKLSAgICAsIG1fYnVmZmVyZWQoVGltZVJh
bmdlczo6Y3JlYXRlKCkpCiAgICAgLCBtX3BlbmRpbmdSZW1vdmVTdGFydChNZWRpYVRpbWU6Omlu
dmFsaWRUaW1lKCkpCiAgICAgLCBtX3BlbmRpbmdSZW1vdmVFbmQoTWVkaWFUaW1lOjppbnZhbGlk
VGltZSgpKQogICAgICwgbV9yZW1vdmVUaW1lcigqdGhpcywgJlNvdXJjZUJ1ZmZlcjo6cmVtb3Zl
VGltZXJGaXJlZCkKQEAgLTExNiw3ICsxMTUsNyBAQCBFeGNlcHRpb25PcjxSZWY8VGltZVJhbmdl
cz4+IFNvdXJjZUJ1ZmZlcjo6YnVmZmVyZWQoKSBjb25zdAogICAgICAgICByZXR1cm4gRXhjZXB0
aW9uIHsgSW52YWxpZFN0YXRlRXJyb3IgfTsKIAogICAgIC8vIDIuIFJldHVybiBhIG5ldyBzdGF0
aWMgbm9ybWFsaXplZCBUaW1lUmFuZ2VzIG9iamVjdCBmb3IgdGhlIG1lZGlhIHNlZ21lbnRzIGJ1
ZmZlcmVkLgotICAgIHJldHVybiBtX2J1ZmZlcmVkLT5jb3B5KCk7CisgICAgcmV0dXJuIG1fcHJp
dmF0ZS0+YnVmZmVyZWQoKS0+Y29weSgpOwogfQogCiBkb3VibGUgU291cmNlQnVmZmVyOjp0aW1l
c3RhbXBPZmZzZXQoKSBjb25zdApAQCAtMTI5NCwxMSArMTI5Myw2IEBAIHZvaWQgU291cmNlQnVm
ZmVyOjpzb3VyY2VCdWZmZXJQcml2YXRlQnVmZmVyZWREaXJ0eUNoYW5nZWQoYm9vbCBmbGFnKQog
ICAgIG1fYnVmZmVyZWREaXJ0eSA9IGZsYWc7CiB9CiAKLXZvaWQgU291cmNlQnVmZmVyOjpzb3Vy
Y2VCdWZmZXJQcml2YXRlQnVmZmVyZWRSYW5nZXNDaGFuZ2VkKGNvbnN0IFBsYXRmb3JtVGltZVJh
bmdlcyYgdGltZVJhbmdlcykKLXsKLSAgICBtX2J1ZmZlcmVkLT5yYW5nZXMoKSA9IHRpbWVSYW5n
ZXM7Ci19Ci0KIGJvb2wgU291cmNlQnVmZmVyOjppc0J1ZmZlcmVkRGlydHkoKSBjb25zdAogewog
ICAgIHJldHVybiBtX2J1ZmZlcmVkRGlydHk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL21lZGlhc291cmNlL1NvdXJjZUJ1ZmZlci5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxl
cy9tZWRpYXNvdXJjZS9Tb3VyY2VCdWZmZXIuaAppbmRleCBhOTQ3YjczY2UzZmUzNzU1ZGI2Yjdm
NTI0ZjViZTZlMTdmZDRiMGNhLi40YTFmNDJjMDk1YWNmOGY0NDBkODY5OTc4NzU5OWM0OTQ1YzFi
ODA1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc291cmNlL1NvdXJj
ZUJ1ZmZlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzb3VyY2UvU291cmNl
QnVmZmVyLmgKQEAgLTk2LDcgKzk2LDcgQEAgcHVibGljOgogICAgIEV4Y2VwdGlvbk9yPHZvaWQ+
IHJlbW92ZShjb25zdCBNZWRpYVRpbWUmLCBjb25zdCBNZWRpYVRpbWUmKTsKICAgICBFeGNlcHRp
b25Pcjx2b2lkPiBjaGFuZ2VUeXBlKGNvbnN0IFN0cmluZyYpOwogCi0gICAgY29uc3QgVGltZVJh
bmdlcyYgYnVmZmVyZWRJbnRlcm5hbCgpIGNvbnN0IHsgQVNTRVJUKG1fYnVmZmVyZWQpOyByZXR1
cm4gKm1fYnVmZmVyZWQ7IH0KKyAgICBjb25zdCBUaW1lUmFuZ2VzJiBidWZmZXJlZEludGVybmFs
KCkgY29uc3QgeyBBU1NFUlQobV9wcml2YXRlLT5idWZmZXJlZCgpKTsgcmV0dXJuICptX3ByaXZh
dGUtPmJ1ZmZlcmVkKCk7IH0KIAogICAgIHZvaWQgYWJvcnRJZlVwZGF0aW5nKCk7CiAgICAgdm9p
ZCByZW1vdmVkRnJvbU1lZGlhU291cmNlKCk7CkBAIC0xNTcsNyArMTU3LDYgQEAgcHJpdmF0ZToK
ICAgICB2b2lkIHNvdXJjZUJ1ZmZlclByaXZhdGVEaWRQYXJzZVNhbXBsZShkb3VibGUgc2FtcGxl
RHVyYXRpb24pIGZpbmFsOwogICAgIHZvaWQgc291cmNlQnVmZmVyUHJpdmF0ZURpZERyb3BTYW1w
bGUoKSBmaW5hbDsKICAgICB2b2lkIHNvdXJjZUJ1ZmZlclByaXZhdGVCdWZmZXJlZERpcnR5Q2hh
bmdlZChib29sKSBmaW5hbDsKLSAgICB2b2lkIHNvdXJjZUJ1ZmZlclByaXZhdGVCdWZmZXJlZFJh
bmdlc0NoYW5nZWQoY29uc3QgUGxhdGZvcm1UaW1lUmFuZ2VzJikgZmluYWw7CiAgICAgdm9pZCBz
b3VyY2VCdWZmZXJQcml2YXRlRGlkUmVjZWl2ZVJlbmRlcmluZ0Vycm9yKGludDY0X3QgZXJyb3JD
b2RlKSBmaW5hbDsKICAgICB2b2lkIHNvdXJjZUJ1ZmZlclByaXZhdGVSZXBvcnRFeHRyYU1lbW9y
eUNvc3QodWludDY0X3QpIGZpbmFsOwogCkBAIC0yMzQsNyArMjMzLDYgQEAgcHJpdmF0ZToKICAg
ICBkb3VibGUgbV9idWZmZXJlZFNpbmNlTGFzdE1vbml0b3IgeyAwIH07CiAgICAgZG91YmxlIG1f
YXZlcmFnZUJ1ZmZlclJhdGUgeyAwIH07CiAgICAgYm9vbCBtX2J1ZmZlcmVkRGlydHkgeyB0cnVl
IH07Ci0gICAgUmVmUHRyPFRpbWVSYW5nZXM+IG1fYnVmZmVyZWQ7CiAKICAgICB1aW50NjRfdCBt
X3JlcG9ydGVkRXh0cmFNZW1vcnlDb3N0IHsgMCB9OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Tb3VyY2VCdWZmZXJQcml2YXRlLmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL1NvdXJjZUJ1ZmZlclByaXZhdGUuY3BwCmluZGV4IGFh
NjM5MWEyZmE4MTBlMzRmMzA1MGRhMjkwYmQ1ZjFiZTU4NTk1NjAuLjRiMDUzMzgzMTNmNTEyNGI3
ZWZkZDM1NDM3YzMzZWUxZjY4MzY5OWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL1NvdXJjZUJ1ZmZlclByaXZhdGUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL1NvdXJjZUJ1ZmZlclByaXZhdGUuY3BwCkBAIC0xMTMsOCArMTEz
LDcgQEAgdm9pZCBTb3VyY2VCdWZmZXJQcml2YXRlOjp1cGRhdGVIaWdoZXN0UHJlc2VudGF0aW9u
VGltZXN0YW1wKCkKIHZvaWQgU291cmNlQnVmZmVyUHJpdmF0ZTo6c2V0QnVmZmVyZWRSYW5nZXMo
Y29uc3QgUGxhdGZvcm1UaW1lUmFuZ2VzJiB0aW1lUmFuZ2VzKQogewogICAgIG1fYnVmZmVyZWQt
PnJhbmdlcygpID0gdGltZVJhbmdlczsKLSAgICBpZiAobV9jbGllbnQpCi0gICAgICAgIG1fY2xp
ZW50LT5zb3VyY2VCdWZmZXJQcml2YXRlQnVmZmVyZWRSYW5nZXNDaGFuZ2VkKG1fYnVmZmVyZWQt
PnJhbmdlcygpKTsKKyAgICBzZXRCdWZmZXJlZERpcnR5KHRydWUpOwogfQogCiB2b2lkIFNvdXJj
ZUJ1ZmZlclByaXZhdGU6OnVwZGF0ZUJ1ZmZlcmVkRnJvbVRyYWNrQnVmZmVycyhib29sIHNvdXJj
ZUlzRW5kZWQpCkBAIC0xNTksNyArMTU4LDYgQEAgdm9pZCBTb3VyY2VCdWZmZXJQcml2YXRlOjp1
cGRhdGVCdWZmZXJlZEZyb21UcmFja0J1ZmZlcnMoYm9vbCBzb3VyY2VJc0VuZGVkKQogICAgIC8v
IDUuIElmIGludGVyc2VjdGlvbiByYW5nZXMgZG9lcyBub3QgY29udGFpbiB0aGUgZXhhY3Qgc2Ft
ZSByYW5nZSBpbmZvcm1hdGlvbiBhcyB0aGUgY3VycmVudCB2YWx1ZSBvZiB0aGlzIGF0dHJpYnV0
ZSwKICAgICAvLyAgICB0aGVuIHVwZGF0ZSB0aGUgY3VycmVudCB2YWx1ZSBvZiB0aGlzIGF0dHJp
YnV0ZSB0byBpbnRlcnNlY3Rpb24gcmFuZ2VzLgogICAgIHNldEJ1ZmZlcmVkUmFuZ2VzKGludGVy
c2VjdGlvblJhbmdlcyk7Ci0gICAgc2V0QnVmZmVyZWREaXJ0eSh0cnVlKTsKIH0KIAogdm9pZCBT
b3VyY2VCdWZmZXJQcml2YXRlOjphcHBlbmRDb21wbGV0ZWQoYm9vbCBwYXJzaW5nU3VjY2VlZGVk
LCBib29sIGlzRW5kZWQpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9Tb3VyY2VCdWZmZXJQcml2YXRlLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9Tb3VyY2VCdWZmZXJQcml2YXRlLmgKaW5kZXggNTM5NTQwYjNkYjYzNTJiMmVhZDk4Yzdj
NzViNTU0NDlmYzQ5M2MyNy4uNjk3OGFmMmZmYjM0NTc1NGU0OTA4Nzg2MzQ4ODY0MmY0ZmU0ZDA4
NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvU291cmNlQnVm
ZmVyUHJpdmF0ZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL1NvdXJj
ZUJ1ZmZlclByaXZhdGUuaApAQCAtOTksNiArOTksOCBAQCBwdWJsaWM6CiAgICAgdm9pZCBzZXRD
bGllbnQoU291cmNlQnVmZmVyUHJpdmF0ZUNsaWVudCogY2xpZW50KSB7IG1fY2xpZW50ID0gY2xp
ZW50OyB9CiAgICAgdm9pZCBzZXRJc0F0dGFjaGVkKGJvb2wgZmxhZykgeyBtX2lzQXR0YWNoZWQg
PSBmbGFnOyB9CiAKKyAgICBjb25zdCBUaW1lUmFuZ2VzKiBidWZmZXJlZCgpIGNvbnN0IHsgcmV0
dXJuIG1fYnVmZmVyZWQuZ2V0KCk7IH0KKwogICAgIGJvb2wgYnVmZmVyRnVsbCgpIGNvbnN0IHsg
cmV0dXJuIG1fYnVmZmVyRnVsbDsgfQogCiAgICAgLy8gTWV0aG9kcyB1c2VkIGJ5IE1lZGlhU291
cmNlUHJpdmF0ZQpAQCAtMTYyLDYgKzE2NCw3IEBAIHByb3RlY3RlZDoKICAgICB2b2lkIHJlZW5x
dWVTYW1wbGVzKGNvbnN0IEF0b21TdHJpbmcmIHRyYWNrSUQpOwogICAgIFdFQkNPUkVfRVhQT1JU
IHZvaWQgZGlkUmVjZWl2ZUluaXRpYWxpemF0aW9uU2VnbWVudChTb3VyY2VCdWZmZXJQcml2YXRl
Q2xpZW50OjpJbml0aWFsaXphdGlvblNlZ21lbnQmJiwgQ29tcGxldGlvbkhhbmRsZXI8dm9pZCgp
PiYmKTsKICAgICBXRUJDT1JFX0VYUE9SVCB2b2lkIGRpZFJlY2VpdmVTYW1wbGUoUmVmPE1lZGlh
U2FtcGxlPiYmKTsKKyAgICBXRUJDT1JFX0VYUE9SVCB2b2lkIHNldEJ1ZmZlcmVkUmFuZ2VzKGNv
bnN0IFBsYXRmb3JtVGltZVJhbmdlcyYpOwogICAgIHZvaWQgcHJvdmlkZU1lZGlhRGF0YShjb25z
dCBBdG9tU3RyaW5nJiB0cmFja0lEKTsKICAgICB1aW50NjRfdCB0b3RhbFRyYWNrQnVmZmVyU2l6
ZUluQnl0ZXMoKSBjb25zdDsKIApAQCAtMTczLDcgKzE3Niw2IEBAIHByaXZhdGU6CiAgICAgdm9p
ZCByZWVucXVldWVNZWRpYUZvclRpbWUoVHJhY2tCdWZmZXImLCBjb25zdCBBdG9tU3RyaW5nJiB0
cmFja0lELCBjb25zdCBNZWRpYVRpbWUmKTsKICAgICBib29sIHZhbGlkYXRlSW5pdGlhbGl6YXRp
b25TZWdtZW50KGNvbnN0IFNvdXJjZUJ1ZmZlclByaXZhdGVDbGllbnQ6OkluaXRpYWxpemF0aW9u
U2VnbWVudCYpOwogICAgIHZvaWQgcHJvdmlkZU1lZGlhRGF0YShUcmFja0J1ZmZlciYsIGNvbnN0
IEF0b21TdHJpbmcmIHRyYWNrSUQpOwotICAgIHZvaWQgc2V0QnVmZmVyZWRSYW5nZXMoY29uc3Qg
UGxhdGZvcm1UaW1lUmFuZ2VzJik7CiAgICAgdm9pZCBzZXRCdWZmZXJlZERpcnR5KGJvb2wpOwog
ICAgIHZvaWQgdHJ5U2lnbmFsQWxsU2FtcGxlc0luVHJhY2tFbnF1ZXVlZChUcmFja0J1ZmZlciYs
IGNvbnN0IEF0b21TdHJpbmcmIHRyYWNrSUQpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9Tb3VyY2VCdWZmZXJQcml2YXRlQ2xpZW50LmggYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Tb3VyY2VCdWZmZXJQcml2YXRlQ2xpZW50LmgKaW5k
ZXggYTdhZDFhNmU4YjlkODU1MjY4NGUzYmRhZmRmZTliOWVhZWMwNzc1Ni4uMmE2MzYyZGUzZTE5
NGEwOTc3ZGIyYjgxNTU2ZGNlZTYyMjQzNmQ3YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvU291cmNlQnVmZmVyUHJpdmF0ZUNsaWVudC5oCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL1NvdXJjZUJ1ZmZlclByaXZhdGVDbGllbnQuaApA
QCAtNzgsNyArNzgsNiBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCB2b2lkIHNvdXJjZUJ1ZmZlclBy
aXZhdGVEaWRQYXJzZVNhbXBsZShkb3VibGUgZnJhbWVEdXJhdGlvbikgPSAwOwogICAgIHZpcnR1
YWwgdm9pZCBzb3VyY2VCdWZmZXJQcml2YXRlRGlkRHJvcFNhbXBsZSgpID0gMDsKICAgICB2aXJ0
dWFsIHZvaWQgc291cmNlQnVmZmVyUHJpdmF0ZUJ1ZmZlcmVkRGlydHlDaGFuZ2VkKGJvb2wpID0g
MDsKLSAgICB2aXJ0dWFsIHZvaWQgc291cmNlQnVmZmVyUHJpdmF0ZUJ1ZmZlcmVkUmFuZ2VzQ2hh
bmdlZChjb25zdCBQbGF0Zm9ybVRpbWVSYW5nZXMmKSA9IDA7CiAgICAgdmlydHVhbCB2b2lkIHNv
dXJjZUJ1ZmZlclByaXZhdGVEaWRSZWNlaXZlUmVuZGVyaW5nRXJyb3IoaW50NjRfdCBlcnJvckNv
ZGUpID0gMDsKICAgICB2aXJ0dWFsIHZvaWQgc291cmNlQnVmZmVyUHJpdmF0ZVJlcG9ydEV4dHJh
TWVtb3J5Q29zdCh1aW50NjRfdCkgPSAwOwogfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQv
R1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVTb3VyY2VCdWZmZXJQcm94eS5jcHAgYi9Tb3VyY2UvV2Vi
S2l0L0dQVVByb2Nlc3MvbWVkaWEvUmVtb3RlU291cmNlQnVmZmVyUHJveHkuY3BwCmluZGV4IGU0
MGI5YzhlODM1ZmEzNGNiMzI5ZWJiOTA0YjU5ODQ0ZDAwZGIxZDYuLjVjYTU5NDZjNjE2MDRjN2Zj
MWE0NzRkYjM1NDliODVhZmRlMjlmNmUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvR1BVUHJv
Y2Vzcy9tZWRpYS9SZW1vdGVTb3VyY2VCdWZmZXJQcm94eS5jcHAKKysrIGIvU291cmNlL1dlYktp
dC9HUFVQcm9jZXNzL21lZGlhL1JlbW90ZVNvdXJjZUJ1ZmZlclByb3h5LmNwcApAQCAtMTYzLDcg
KzE2Myw4IEBAIHZvaWQgUmVtb3RlU291cmNlQnVmZmVyUHJveHk6OnNvdXJjZUJ1ZmZlclByaXZh
dGVBcHBlbmRDb21wbGV0ZShTb3VyY2VCdWZmZXJQcml2CiAgICAgaWYgKCFtX2Nvbm5lY3Rpb25U
b1dlYlByb2Nlc3MpCiAgICAgICAgIHJldHVybjsKIAotICAgIG1fY29ubmVjdGlvblRvV2ViUHJv
Y2Vzcy0+Y29ubmVjdGlvbigpLnNlbmQoTWVzc2FnZXM6OlNvdXJjZUJ1ZmZlclByaXZhdGVSZW1v
dGU6OlNvdXJjZUJ1ZmZlclByaXZhdGVBcHBlbmRDb21wbGV0ZShhcHBlbmRSZXN1bHQpLCBtX2lk
ZW50aWZpZXIpOworICAgIGF1dG8gYnVmZmVyZWQgPSBtX3NvdXJjZUJ1ZmZlclByaXZhdGUtPmJ1
ZmZlcmVkKCktPnJhbmdlcygpOworICAgIG1fY29ubmVjdGlvblRvV2ViUHJvY2Vzcy0+Y29ubmVj
dGlvbigpLnNlbmQoTWVzc2FnZXM6OlNvdXJjZUJ1ZmZlclByaXZhdGVSZW1vdGU6OlNvdXJjZUJ1
ZmZlclByaXZhdGVBcHBlbmRDb21wbGV0ZShhcHBlbmRSZXN1bHQsIFdURk1vdmUoYnVmZmVyZWQp
KSwgbV9pZGVudGlmaWVyKTsKIH0KIAogdm9pZCBSZW1vdGVTb3VyY2VCdWZmZXJQcm94eTo6c291
cmNlQnVmZmVyUHJpdmF0ZURpZFJlY2VpdmVSZW5kZXJpbmdFcnJvcihpbnQ2NF90IGVycm9yQ29k
ZSkKQEAgLTE5MCwxNCArMTkxLDYgQEAgdm9pZCBSZW1vdGVTb3VyY2VCdWZmZXJQcm94eTo6c291
cmNlQnVmZmVyUHJpdmF0ZUJ1ZmZlcmVkRGlydHlDaGFuZ2VkKGJvb2wgZmxhZykKICAgICBtX2Nv
bm5lY3Rpb25Ub1dlYlByb2Nlc3MtPmNvbm5lY3Rpb24oKS5zZW5kKE1lc3NhZ2VzOjpTb3VyY2VC
dWZmZXJQcml2YXRlUmVtb3RlOjpTb3VyY2VCdWZmZXJQcml2YXRlQnVmZmVyZWREaXJ0eUNoYW5n
ZWQoZmxhZyksIG1faWRlbnRpZmllcik7CiB9CiAKLXZvaWQgUmVtb3RlU291cmNlQnVmZmVyUHJv
eHk6OnNvdXJjZUJ1ZmZlclByaXZhdGVCdWZmZXJlZFJhbmdlc0NoYW5nZWQoY29uc3QgUGxhdGZv
cm1UaW1lUmFuZ2VzJiB0aW1lUmFuZ2VzKQotewotICAgIGlmICghbV9jb25uZWN0aW9uVG9XZWJQ
cm9jZXNzKQotICAgICAgICByZXR1cm47Ci0KLSAgICBtX2Nvbm5lY3Rpb25Ub1dlYlByb2Nlc3Mt
PmNvbm5lY3Rpb24oKS5zZW5kKE1lc3NhZ2VzOjpTb3VyY2VCdWZmZXJQcml2YXRlUmVtb3RlOjpT
b3VyY2VCdWZmZXJQcml2YXRlQnVmZmVyZWRSYW5nZXNDaGFuZ2VkKHRpbWVSYW5nZXMpLCBtX2lk
ZW50aWZpZXIpOwotfQotCiB2b2lkIFJlbW90ZVNvdXJjZUJ1ZmZlclByb3h5OjphcHBlbmQoY29u
c3QgSVBDOjpEYXRhUmVmZXJlbmNlJiBkYXRhKQogewogICAgIG1fc291cmNlQnVmZmVyUHJpdmF0
ZS0+YXBwZW5kKGRhdGEudmVjdG9yKCkpOwpAQCAtMjQzLDE0ICsyMzYsMTkgQEAgdm9pZCBSZW1v
dGVTb3VyY2VCdWZmZXJQcm94eTo6c3RhcnRDaGFuZ2luZ1R5cGUoKQogICAgIG1fc291cmNlQnVm
ZmVyUHJpdmF0ZS0+c3RhcnRDaGFuZ2luZ1R5cGUoKTsKIH0KIAotdm9pZCBSZW1vdGVTb3VyY2VC
dWZmZXJQcm94eTo6dXBkYXRlQnVmZmVyZWRGcm9tVHJhY2tCdWZmZXJzKGJvb2wgc291cmNlSXNF
bmRlZCkKK3ZvaWQgUmVtb3RlU291cmNlQnVmZmVyUHJveHk6OnVwZGF0ZUJ1ZmZlcmVkRnJvbVRy
YWNrQnVmZmVycyhib29sIHNvdXJjZUlzRW5kZWQsIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoV2Vi
Q29yZTo6UGxhdGZvcm1UaW1lUmFuZ2VzJiYpPiYmIGNvbXBsZXRpb25IYW5kbGVyKQogewogICAg
IG1fc291cmNlQnVmZmVyUHJpdmF0ZS0+dXBkYXRlQnVmZmVyZWRGcm9tVHJhY2tCdWZmZXJzKHNv
dXJjZUlzRW5kZWQpOworICAgIGF1dG8gYnVmZmVyZWQgPSBtX3NvdXJjZUJ1ZmZlclByaXZhdGUt
PmJ1ZmZlcmVkKCktPnJhbmdlcygpOworICAgIGNvbXBsZXRpb25IYW5kbGVyKFdURk1vdmUoYnVm
ZmVyZWQpKTsKIH0KIAotdm9pZCBSZW1vdGVTb3VyY2VCdWZmZXJQcm94eTo6cmVtb3ZlQ29kZWRG
cmFtZXMoY29uc3QgTWVkaWFUaW1lJiBzdGFydCwgY29uc3QgTWVkaWFUaW1lJiBlbmQsIGNvbnN0
IE1lZGlhVGltZSYgY3VycmVudFRpbWUsIGJvb2wgaXNFbmRlZCwgQ29tcGxldGlvbkhhbmRsZXI8
dm9pZCgpPiYmIGNvbXBsZXRpb25IYW5kbGVyKQordm9pZCBSZW1vdGVTb3VyY2VCdWZmZXJQcm94
eTo6cmVtb3ZlQ29kZWRGcmFtZXMoY29uc3QgTWVkaWFUaW1lJiBzdGFydCwgY29uc3QgTWVkaWFU
aW1lJiBlbmQsIGNvbnN0IE1lZGlhVGltZSYgY3VycmVudFRpbWUsIGJvb2wgaXNFbmRlZCwgQ29t
cGxldGlvbkhhbmRsZXI8dm9pZChQbGF0Zm9ybVRpbWVSYW5nZXMmJik+JiYgY29tcGxldGlvbkhh
bmRsZXIpCiB7Ci0gICAgbV9zb3VyY2VCdWZmZXJQcml2YXRlLT5yZW1vdmVDb2RlZEZyYW1lcyhz
dGFydCwgZW5kLCBjdXJyZW50VGltZSwgaXNFbmRlZCwgV1RGTW92ZShjb21wbGV0aW9uSGFuZGxl
cikpOworICAgIG1fc291cmNlQnVmZmVyUHJpdmF0ZS0+cmVtb3ZlQ29kZWRGcmFtZXMoc3RhcnQs
IGVuZCwgY3VycmVudFRpbWUsIGlzRW5kZWQsIFt0aGlzLCBwcm90ZWN0ZWRUaGlzID0gbWFrZVJl
ZigqdGhpcyksIGNvbXBsZXRpb25IYW5kbGVyID0gV1RGTW92ZShjb21wbGV0aW9uSGFuZGxlcild
KCkgbXV0YWJsZSB7CisgICAgICAgIGF1dG8gYnVmZmVyZWQgPSBtX3NvdXJjZUJ1ZmZlclByaXZh
dGUtPmJ1ZmZlcmVkKCktPnJhbmdlcygpOworICAgICAgICBjb21wbGV0aW9uSGFuZGxlcihXVEZN
b3ZlKGJ1ZmZlcmVkKSk7CisgICAgfSk7CiB9CiAKIHZvaWQgUmVtb3RlU291cmNlQnVmZmVyUHJv
eHk6OmV2aWN0Q29kZWRGcmFtZXModWludDY0X3QgbmV3RGF0YVNpemUsIHVpbnQ2NF90IHBlbmRp
bmdBcHBlbmREYXRhQ2FwYWNpdHksIHVpbnQ2NF90IG1heGltdW1CdWZmZXJTaXplLCBjb25zdCBN
ZWRpYVRpbWUmIGN1cnJlbnRUaW1lLCBjb25zdCBNZWRpYVRpbWUmIGR1cmF0aW9uLCBib29sIGlz
RW5kZWQpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvbWVkaWEvUmVtb3Rl
U291cmNlQnVmZmVyUHJveHkuaCBiL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9tZWRpYS9SZW1v
dGVTb3VyY2VCdWZmZXJQcm94eS5oCmluZGV4IGMwZThkYmNiMDY2NzYxNTM3ZDAyZWJjZGI2MTFl
NzIyYzI3YzJjYTguLjU4NmFlMWZkNjY1MmEyZTEzNjY2ZGUzYTQ4YjBlOGI0NmI1OTA1MzkgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVTb3VyY2VCdWZm
ZXJQcm94eS5oCisrKyBiL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVTb3Vy
Y2VCdWZmZXJQcm94eS5oCkBAIC03NSwxMyArNzUsMTIgQEAgcHJpdmF0ZToKICAgICB2b2lkIHNv
dXJjZUJ1ZmZlclByaXZhdGVEaWRQYXJzZVNhbXBsZShkb3VibGUgc2FtcGxlRHVyYXRpb24pIGZp
bmFsOwogICAgIHZvaWQgc291cmNlQnVmZmVyUHJpdmF0ZURpZERyb3BTYW1wbGUoKSBmaW5hbDsK
ICAgICB2b2lkIHNvdXJjZUJ1ZmZlclByaXZhdGVCdWZmZXJlZERpcnR5Q2hhbmdlZChib29sKSBm
aW5hbDsKLSAgICB2b2lkIHNvdXJjZUJ1ZmZlclByaXZhdGVCdWZmZXJlZFJhbmdlc0NoYW5nZWQo
Y29uc3QgV2ViQ29yZTo6UGxhdGZvcm1UaW1lUmFuZ2VzJikgZmluYWw7CiAgICAgdm9pZCBzb3Vy
Y2VCdWZmZXJQcml2YXRlRGlkUmVjZWl2ZVJlbmRlcmluZ0Vycm9yKGludDY0X3QgZXJyb3JDb2Rl
KSBmaW5hbDsKICAgICB2b2lkIHNvdXJjZUJ1ZmZlclByaXZhdGVSZXBvcnRFeHRyYU1lbW9yeUNv
c3QodWludDY0X3QgZXh0cmFNZW1vcnkpIGZpbmFsOwogCiAgICAgLy8gSVBDOjpNZXNzYWdlUmVj
ZWl2ZXIKICAgICB2b2lkIGRpZFJlY2VpdmVNZXNzYWdlKElQQzo6Q29ubmVjdGlvbiYsIElQQzo6
RGVjb2RlciYpIGZpbmFsOwotICAgIC8vIGJvb2wgZGlkUmVjZWl2ZVN5bmNNZXNzYWdlKElQQzo6
Q29ubmVjdGlvbiYsIElQQzo6RGVjb2RlciYsIFVuaXF1ZVJlZjxJUEM6OkVuY29kZXI+JikgZmlu
YWw7CisgICAgYm9vbCBkaWRSZWNlaXZlU3luY01lc3NhZ2UoSVBDOjpDb25uZWN0aW9uJiwgSVBD
OjpEZWNvZGVyJiwgVW5pcXVlUmVmPElQQzo6RW5jb2Rlcj4mKSBmaW5hbDsKIAogICAgIHZvaWQg
c2V0QWN0aXZlKGJvb2wpOwogICAgIHZvaWQgc2V0TW9kZShXZWJDb3JlOjpTb3VyY2VCdWZmZXJB
cHBlbmRNb2RlKTsKQEAgLTkyLDggKzkxLDggQEAgcHJpdmF0ZToKICAgICB2b2lkIHNldE1lZGlh
U291cmNlRW5kZWQoYm9vbCk7CiAgICAgdm9pZCBzZXRSZWFkeVN0YXRlKFdlYkNvcmU6Ok1lZGlh
UGxheWVyOjpSZWFkeVN0YXRlKTsKICAgICB2b2lkIHN0YXJ0Q2hhbmdpbmdUeXBlKCk7Ci0gICAg
dm9pZCB1cGRhdGVCdWZmZXJlZEZyb21UcmFja0J1ZmZlcnMoYm9vbCBzb3VyY2VJc0VuZGVkKTsK
LSAgICB2b2lkIHJlbW92ZUNvZGVkRnJhbWVzKGNvbnN0IE1lZGlhVGltZSYgc3RhcnQsIGNvbnN0
IE1lZGlhVGltZSYgZW5kLCBjb25zdCBNZWRpYVRpbWUmIGN1cnJlbnRUaW1lLCBib29sIGlzRW5k
ZWQsIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoKT4mJik7CisgICAgdm9pZCB1cGRhdGVCdWZmZXJl
ZEZyb21UcmFja0J1ZmZlcnMoYm9vbCBzb3VyY2VJc0VuZGVkLCBDb21wbGV0aW9uSGFuZGxlcjx2
b2lkKFdlYkNvcmU6OlBsYXRmb3JtVGltZVJhbmdlcyYmKT4mJik7CisgICAgdm9pZCByZW1vdmVD
b2RlZEZyYW1lcyhjb25zdCBNZWRpYVRpbWUmIHN0YXJ0LCBjb25zdCBNZWRpYVRpbWUmIGVuZCwg
Y29uc3QgTWVkaWFUaW1lJiBjdXJyZW50VGltZSwgYm9vbCBpc0VuZGVkLCBDb21wbGV0aW9uSGFu
ZGxlcjx2b2lkKFdlYkNvcmU6OlBsYXRmb3JtVGltZVJhbmdlcyYmKT4mJik7CiAgICAgdm9pZCBl
dmljdENvZGVkRnJhbWVzKHVpbnQ2NF90IG5ld0RhdGFTaXplLCB1aW50NjRfdCBwZW5kaW5nQXBw
ZW5kRGF0YUNhcGFjaXR5LCB1aW50NjRfdCBtYXhpbXVtQnVmZmVyU2l6ZSwgY29uc3QgTWVkaWFU
aW1lJiBjdXJyZW50VGltZSwgY29uc3QgTWVkaWFUaW1lJiBkdXJhdGlvbiwgYm9vbCBpc0VuZGVk
KTsKICAgICB2b2lkIGFkZFRyYWNrQnVmZmVyKFRyYWNrUHJpdmF0ZVJlbW90ZUlkZW50aWZpZXIp
OwogICAgIHZvaWQgcmVzZXRUcmFja0J1ZmZlcnMoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQvR1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVTb3VyY2VCdWZmZXJQcm94eS5tZXNzYWdlcy5pbiBi
L1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVTb3VyY2VCdWZmZXJQcm94eS5t
ZXNzYWdlcy5pbgppbmRleCBmMDlkMGUzNGU4OTE4NWRkZTJjNjE3N2Y2YWE1YWIwYjc0YzcyYjY0
Li42OGMxODZiYTY1NTBkMTMzODBmODQ0MjUyYzk5NzhkZGZkYjdkMjEyIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvbWVkaWEvUmVtb3RlU291cmNlQnVmZmVyUHJveHkubWVz
c2FnZXMuaW4KKysrIGIvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL21lZGlhL1JlbW90ZVNvdXJj
ZUJ1ZmZlclByb3h5Lm1lc3NhZ2VzLmluCkBAIC0zNSwxMiArMzUsMTIgQEAgbWVzc2FnZXMgLT4g
UmVtb3RlU291cmNlQnVmZmVyUHJveHkgTm90UmVmQ291bnRlZCB7CiAgICAgU2V0TWVkaWFTb3Vy
Y2VFbmRlZChib29sIGlzRW5kZWQpCiAgICAgU2V0UmVhZHlTdGF0ZShXZWJDb3JlOjpNZWRpYVBs
YXllcjo6UmVhZHlTdGF0ZSBzdGF0ZSkKICAgICBTdGFydENoYW5naW5nVHlwZSgpCi0gICAgVXBk
YXRlQnVmZmVyZWRGcm9tVHJhY2tCdWZmZXJzKGJvb2wgc291cmNlSXNFbmRlZCkKKyAgICBVcGRh
dGVCdWZmZXJlZEZyb21UcmFja0J1ZmZlcnMoYm9vbCBzb3VyY2VJc0VuZGVkKSAtPiAoV2ViQ29y
ZTo6UGxhdGZvcm1UaW1lUmFuZ2VzIGJ1ZmZlcmVkKSBTeW5jaHJvbm91cwogICAgIEFkZFRyYWNr
QnVmZmVyKFdlYktpdDo6VHJhY2tQcml2YXRlUmVtb3RlSWRlbnRpZmllciByZW1vdGVJZGVudGlm
aWVyKQogICAgIFJlc2V0VHJhY2tCdWZmZXJzKCkKICAgICBDbGVhclRyYWNrQnVmZmVycygpCiAg
ICAgU2V0QWxsVHJhY2tCdWZmZXJzTmVlZFJhbmRvbUFjY2VzcygpCi0gICAgUmVtb3ZlQ29kZWRG
cmFtZXMoTWVkaWFUaW1lIHN0YXJ0LCBNZWRpYVRpbWUgZW5kLCBNZWRpYVRpbWUgY3VycmVudFRp
bWUsIGJvb2wgaXNFbmRlZCkgLT4gKCkgQXN5bmMKKyAgICBSZW1vdmVDb2RlZEZyYW1lcyhNZWRp
YVRpbWUgc3RhcnQsIE1lZGlhVGltZSBlbmQsIE1lZGlhVGltZSBjdXJyZW50VGltZSwgYm9vbCBp
c0VuZGVkKSAtPiAoV2ViQ29yZTo6UGxhdGZvcm1UaW1lUmFuZ2VzIGJ1ZmZlcmVkKSBBc3luYwog
ICAgIEV2aWN0Q29kZWRGcmFtZXModWludDY0X3QgbmV3RGF0YVNpemUsIHVpbnQ2NF90IHBlbmRp
bmdBcHBlbmREYXRhQ2FwYWNpdHksIHVpbnQ2NF90IG1heGltdW1CdWZmZXJTaXplLCBNZWRpYVRp
bWUgY3VycmVudFRpbWUsIE1lZGlhVGltZSBkdXJhdGlvbiwgYm9vbCBpc0VuZGVkKQogICAgIFJl
ZW5xdWV1ZU1lZGlhSWZOZWVkZWQoTWVkaWFUaW1lIGN1cnJlbnRNZWRpYVRpbWUsIHVpbnQ2NF90
IHBlbmRpbmdBcHBlbmREYXRhQ2FwYWNpdHksIHVpbnQ2NF90IG1heGltdW1CdWZmZXJTaXplKQog
ICAgIFNldEdyb3VwU3RhcnRUaW1lc3RhbXAoTWVkaWFUaW1lIHRpbWVzdGFtcCkKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUvbWVkaWEvU291cmNlQnVmZmVyUHJpdmF0
ZVJlbW90ZS5jcHAgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BVL21lZGlhL1NvdXJjZUJ1
ZmZlclByaXZhdGVSZW1vdGUuY3BwCmluZGV4IGM1ZWE2Mjg2ZWRmMDQ5ZmYwOTgxNTQxYjA0ODk2
YWRlZjcwZmE2MTUuLjNjYzRiOTM2ZWZhZTI0MDQ1ZGU1NjI4Mjc5ZDQ2YWIzN2FiYjgwZDMgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUvbWVkaWEvU291cmNlQnVmZmVy
UHJpdmF0ZVJlbW90ZS5jcHAKKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQVS9tZWRp
YS9Tb3VyY2VCdWZmZXJQcml2YXRlUmVtb3RlLmNwcApAQCAtMTY5LDcgKzE2OSwxMSBAQCB2b2lk
IFNvdXJjZUJ1ZmZlclByaXZhdGVSZW1vdGU6OnVwZGF0ZUJ1ZmZlcmVkRnJvbVRyYWNrQnVmZmVy
cyhib29sIHNvdXJjZUlzRW5kZQogICAgIGlmICghbV9ncHVQcm9jZXNzQ29ubmVjdGlvbikKICAg
ICAgICAgcmV0dXJuOwogCi0gICAgbV9ncHVQcm9jZXNzQ29ubmVjdGlvbi0+Y29ubmVjdGlvbigp
LnNlbmQoTWVzc2FnZXM6OlJlbW90ZVNvdXJjZUJ1ZmZlclByb3h5OjpVcGRhdGVCdWZmZXJlZEZy
b21UcmFja0J1ZmZlcnMoc291cmNlSXNFbmRlZCksIG1fcmVtb3RlU291cmNlQnVmZmVySWRlbnRp
Zmllcik7CisgICAgUGxhdGZvcm1UaW1lUmFuZ2VzIGJ1ZmZlcmVkOworICAgIGlmICghbV9ncHVQ
cm9jZXNzQ29ubmVjdGlvbi0+Y29ubmVjdGlvbigpLnNlbmRTeW5jKE1lc3NhZ2VzOjpSZW1vdGVT
b3VyY2VCdWZmZXJQcm94eTo6VXBkYXRlQnVmZmVyZWRGcm9tVHJhY2tCdWZmZXJzKHNvdXJjZUlz
RW5kZWQpLCBNZXNzYWdlczo6UmVtb3RlU291cmNlQnVmZmVyUHJveHk6OlVwZGF0ZUJ1ZmZlcmVk
RnJvbVRyYWNrQnVmZmVyczo6UmVwbHkoYnVmZmVyZWQpLCBtX3JlbW90ZVNvdXJjZUJ1ZmZlcklk
ZW50aWZpZXIpKQorICAgICAgICByZXR1cm47CisKKyAgICBzZXRCdWZmZXJlZFJhbmdlcyhidWZm
ZXJlZCk7CiB9CiAKIHZvaWQgU291cmNlQnVmZmVyUHJpdmF0ZVJlbW90ZTo6cmVtb3ZlQ29kZWRG
cmFtZXMoY29uc3QgTWVkaWFUaW1lJiBzdGFydCwgY29uc3QgTWVkaWFUaW1lJiBlbmQsIGNvbnN0
IE1lZGlhVGltZSYgY3VycmVudE1lZGlhVGltZSwgYm9vbCBpc0VuZGVkLCBDb21wbGV0aW9uSGFu
ZGxlcjx2b2lkKCk+JiYgY29tcGxldGlvbkhhbmRsZXIpCkBAIC0xNzcsNyArMTgxLDEwIEBAIHZv
aWQgU291cmNlQnVmZmVyUHJpdmF0ZVJlbW90ZTo6cmVtb3ZlQ29kZWRGcmFtZXMoY29uc3QgTWVk
aWFUaW1lJiBzdGFydCwgY29uc3QKICAgICBpZiAoIW1fZ3B1UHJvY2Vzc0Nvbm5lY3Rpb24pCiAg
ICAgICAgIHJldHVybjsKIAotICAgIG1fZ3B1UHJvY2Vzc0Nvbm5lY3Rpb24tPmNvbm5lY3Rpb24o
KS5zZW5kV2l0aEFzeW5jUmVwbHkoTWVzc2FnZXM6OlJlbW90ZVNvdXJjZUJ1ZmZlclByb3h5OjpS
ZW1vdmVDb2RlZEZyYW1lcyhzdGFydCwgZW5kLCBjdXJyZW50TWVkaWFUaW1lLCBpc0VuZGVkKSwg
V1RGTW92ZShjb21wbGV0aW9uSGFuZGxlciksIG1fcmVtb3RlU291cmNlQnVmZmVySWRlbnRpZmll
cik7CisgICAgbV9ncHVQcm9jZXNzQ29ubmVjdGlvbi0+Y29ubmVjdGlvbigpLnNlbmRXaXRoQXN5
bmNSZXBseShNZXNzYWdlczo6UmVtb3RlU291cmNlQnVmZmVyUHJveHk6OlJlbW92ZUNvZGVkRnJh
bWVzKHN0YXJ0LCBlbmQsIGN1cnJlbnRNZWRpYVRpbWUsIGlzRW5kZWQpLCBbdGhpcywgcHJvdGVj
dGVkVGhpcyA9IG1ha2VSZWYoKnRoaXMpLCBjb21wbGV0aW9uSGFuZGxlciA9IFdURk1vdmUoY29t
cGxldGlvbkhhbmRsZXIpXShhdXRvJiYgYnVmZmVyZWQpIG11dGFibGUgeworICAgICAgICBzZXRC
dWZmZXJlZFJhbmdlcyhidWZmZXJlZCk7CisgICAgICAgIGNvbXBsZXRpb25IYW5kbGVyKCk7Cisg
ICAgfSwgbV9yZW1vdGVTb3VyY2VCdWZmZXJJZGVudGlmaWVyKTsKIH0KIAogdm9pZCBTb3VyY2VC
dWZmZXJQcml2YXRlUmVtb3RlOjpldmljdENvZGVkRnJhbWVzKHVpbnQ2NF90IG5ld0RhdGFTaXpl
LCB1aW50NjRfdCBwZW5kaW5nQXBwZW5kRGF0YUNhcGFjaXR5LCB1aW50NjRfdCBtYXhpbXVtQnVm
ZmVyU2l6ZSwgY29uc3QgTWVkaWFUaW1lJiBjdXJyZW50VGltZSwgY29uc3QgTWVkaWFUaW1lJiBk
dXJhdGlvbiwgYm9vbCBpc0VuZGVkKQpAQCAtMzgwLDggKzM4Nyw5IEBAIHZvaWQgU291cmNlQnVm
ZmVyUHJpdmF0ZVJlbW90ZTo6c291cmNlQnVmZmVyUHJpdmF0ZUFwcGVuZEVycm9yKGJvb2wgZGVj
b2RlRXJyb3IpCiAgICAgICAgIG1fY2xpZW50LT5zb3VyY2VCdWZmZXJQcml2YXRlQXBwZW5kRXJy
b3IoZGVjb2RlRXJyb3IpOwogfQogCi12b2lkIFNvdXJjZUJ1ZmZlclByaXZhdGVSZW1vdGU6OnNv
dXJjZUJ1ZmZlclByaXZhdGVBcHBlbmRDb21wbGV0ZShTb3VyY2VCdWZmZXJQcml2YXRlQ2xpZW50
OjpBcHBlbmRSZXN1bHQgYXBwZW5kUmVzdWx0KQordm9pZCBTb3VyY2VCdWZmZXJQcml2YXRlUmVt
b3RlOjpzb3VyY2VCdWZmZXJQcml2YXRlQXBwZW5kQ29tcGxldGUoU291cmNlQnVmZmVyUHJpdmF0
ZUNsaWVudDo6QXBwZW5kUmVzdWx0IGFwcGVuZFJlc3VsdCwgY29uc3QgUGxhdGZvcm1UaW1lUmFu
Z2VzJiBidWZmZXJlZCkKIHsKKyAgICBzZXRCdWZmZXJlZFJhbmdlcyhidWZmZXJlZCk7CiAgICAg
aWYgKG1fY2xpZW50KQogICAgICAgICBtX2NsaWVudC0+c291cmNlQnVmZmVyUHJpdmF0ZUFwcGVu
ZENvbXBsZXRlKGFwcGVuZFJlc3VsdCk7CiB9CkBAIC00MTYsMTIgKzQyNCw2IEBAIHZvaWQgU291
cmNlQnVmZmVyUHJpdmF0ZVJlbW90ZTo6c291cmNlQnVmZmVyUHJpdmF0ZUJ1ZmZlcmVkRGlydHlD
aGFuZ2VkKGJvb2wgZGlyCiAgICAgICAgIG1fY2xpZW50LT5zb3VyY2VCdWZmZXJQcml2YXRlQnVm
ZmVyZWREaXJ0eUNoYW5nZWQoZGlydHkpOwogfQogCi12b2lkIFNvdXJjZUJ1ZmZlclByaXZhdGVS
ZW1vdGU6OnNvdXJjZUJ1ZmZlclByaXZhdGVCdWZmZXJlZFJhbmdlc0NoYW5nZWQoY29uc3QgV2Vi
Q29yZTo6UGxhdGZvcm1UaW1lUmFuZ2VzJiB0aW1lUmFuZ2VzKQotewotICAgIGlmIChtX2NsaWVu
dCkKLSAgICAgICAgbV9jbGllbnQtPnNvdXJjZUJ1ZmZlclByaXZhdGVCdWZmZXJlZFJhbmdlc0No
YW5nZWQodGltZVJhbmdlcyk7Ci19Ci0KIHZvaWQgU291cmNlQnVmZmVyUHJpdmF0ZVJlbW90ZTo6
c291cmNlQnVmZmVyUHJpdmF0ZURpZFJlY2VpdmVSZW5kZXJpbmdFcnJvcihpbnQ2NF90IGVycm9y
Q29kZSkKIHsKICAgICBpZiAobV9jbGllbnQpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dl
YlByb2Nlc3MvR1BVL21lZGlhL1NvdXJjZUJ1ZmZlclByaXZhdGVSZW1vdGUuaCBiL1NvdXJjZS9X
ZWJLaXQvV2ViUHJvY2Vzcy9HUFUvbWVkaWEvU291cmNlQnVmZmVyUHJpdmF0ZVJlbW90ZS5oCmlu
ZGV4IGJiZThjMmEzMDhkYTM2ZTAzYWJjYTAwYzAzZjA2MzRhMjM3ZWE3YWEuLjVlYjhjZmQ3Mjgw
ZjYyYzQ3ZDc0YmMyNGQyZWM1OTY3YWFmMjZlMzUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQv
V2ViUHJvY2Vzcy9HUFUvbWVkaWEvU291cmNlQnVmZmVyUHJpdmF0ZVJlbW90ZS5oCisrKyBiL1Nv
dXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUvbWVkaWEvU291cmNlQnVmZmVyUHJpdmF0ZVJlbW90
ZS5oCkBAIC0xMDksMTQgKzEwOSwxMyBAQCBwcml2YXRlOgogICAgIHZvaWQgc291cmNlQnVmZmVy
UHJpdmF0ZURpZFJlY2VpdmVJbml0aWFsaXphdGlvblNlZ21lbnQoSW5pdGlhbGl6YXRpb25TZWdt
ZW50SW5mbyYmLCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKCk+JiYpOwogICAgIHZvaWQgc291cmNl
QnVmZmVyUHJpdmF0ZVN0cmVhbUVuZGVkV2l0aERlY29kZUVycm9yKCk7CiAgICAgdm9pZCBzb3Vy
Y2VCdWZmZXJQcml2YXRlQXBwZW5kRXJyb3IoYm9vbCBkZWNvZGVFcnJvcik7Ci0gICAgdm9pZCBz
b3VyY2VCdWZmZXJQcml2YXRlQXBwZW5kQ29tcGxldGUoV2ViQ29yZTo6U291cmNlQnVmZmVyUHJp
dmF0ZUNsaWVudDo6QXBwZW5kUmVzdWx0KTsKKyAgICB2b2lkIHNvdXJjZUJ1ZmZlclByaXZhdGVB
cHBlbmRDb21wbGV0ZShXZWJDb3JlOjpTb3VyY2VCdWZmZXJQcml2YXRlQ2xpZW50OjpBcHBlbmRS
ZXN1bHQsIGNvbnN0IFdlYkNvcmU6OlBsYXRmb3JtVGltZVJhbmdlcyYgYnVmZmVyZWQpOwogICAg
IHZvaWQgc291cmNlQnVmZmVyUHJpdmF0ZUhpZ2hlc3RQcmVzZW50YXRpb25UaW1lc3RhbXBDaGFu
Z2VkKGNvbnN0IE1lZGlhVGltZSYpOwogICAgIHZvaWQgc291cmNlQnVmZmVyUHJpdmF0ZUR1cmF0
aW9uQ2hhbmdlZChjb25zdCBNZWRpYVRpbWUmKTsKICAgICB2b2lkIHNvdXJjZUJ1ZmZlclByaXZh
dGVEaWRQYXJzZVNhbXBsZShkb3VibGUgc2FtcGxlRHVyYXRpb24pOwogICAgIHZvaWQgc291cmNl
QnVmZmVyUHJpdmF0ZURpZERyb3BTYW1wbGUoKTsKICAgICB2b2lkIHNvdXJjZUJ1ZmZlclByaXZh
dGVEaWRSZWNlaXZlUmVuZGVyaW5nRXJyb3IoaW50NjRfdCBlcnJvckNvZGUpOwogICAgIHZvaWQg
c291cmNlQnVmZmVyUHJpdmF0ZUJ1ZmZlcmVkRGlydHlDaGFuZ2VkKGJvb2wgZGlydHkpOwotICAg
IHZvaWQgc291cmNlQnVmZmVyUHJpdmF0ZUJ1ZmZlcmVkUmFuZ2VzQ2hhbmdlZChjb25zdCBXZWJD
b3JlOjpQbGF0Zm9ybVRpbWVSYW5nZXMmKTsKICAgICB2b2lkIHNvdXJjZUJ1ZmZlclByaXZhdGVS
ZXBvcnRFeHRyYU1lbW9yeUNvc3QodWludDY0X3QgZXh0cmFNZW1vcnkpOwogCiAgICAgV2Vha1B0
cjxHUFVQcm9jZXNzQ29ubmVjdGlvbj4gbV9ncHVQcm9jZXNzQ29ubmVjdGlvbjsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUvbWVkaWEvU291cmNlQnVmZmVyUHJpdmF0
ZVJlbW90ZS5tZXNzYWdlcy5pbiBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUvbWVkaWEv
U291cmNlQnVmZmVyUHJpdmF0ZVJlbW90ZS5tZXNzYWdlcy5pbgppbmRleCA2MzY0YTY4Y2U3ODM2
YTRmZjc3MTQzMzQ4MGFkN2FhZTZlOWY4MzZlLi5hZWMwMzdkYjI3N2M0M2ExMGFmY2I4OTljNDVj
OGQ4M2QyNmY2NzQxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BVL21l
ZGlhL1NvdXJjZUJ1ZmZlclByaXZhdGVSZW1vdGUubWVzc2FnZXMuaW4KKysrIGIvU291cmNlL1dl
YktpdC9XZWJQcm9jZXNzL0dQVS9tZWRpYS9Tb3VyY2VCdWZmZXJQcml2YXRlUmVtb3RlLm1lc3Nh
Z2VzLmluCkBAIC0yOSwxMyArMjksMTIgQEAgbWVzc2FnZXMgLT4gU291cmNlQnVmZmVyUHJpdmF0
ZVJlbW90ZSBOb3RSZWZDb3VudGVkIHsKICAgICBTb3VyY2VCdWZmZXJQcml2YXRlRGlkUmVjZWl2
ZUluaXRpYWxpemF0aW9uU2VnbWVudChzdHJ1Y3QgV2ViS2l0OjpJbml0aWFsaXphdGlvblNlZ21l
bnRJbmZvIHNlZ21lbnRDb25maWd1cmF0aW9uKSAtPiAoKSBBc3luYwogICAgIFNvdXJjZUJ1ZmZl
clByaXZhdGVTdHJlYW1FbmRlZFdpdGhEZWNvZGVFcnJvcigpCiAgICAgU291cmNlQnVmZmVyUHJp
dmF0ZUFwcGVuZEVycm9yKGJvb2wgZGVjb2RlRXJyb3IpCi0gICAgU291cmNlQnVmZmVyUHJpdmF0
ZUFwcGVuZENvbXBsZXRlKFdlYkNvcmU6OlNvdXJjZUJ1ZmZlclByaXZhdGVDbGllbnQ6OkFwcGVu
ZFJlc3VsdCBhcHBlbmRSZXN1bHQpCisgICAgU291cmNlQnVmZmVyUHJpdmF0ZUFwcGVuZENvbXBs
ZXRlKFdlYkNvcmU6OlNvdXJjZUJ1ZmZlclByaXZhdGVDbGllbnQ6OkFwcGVuZFJlc3VsdCBhcHBl
bmRSZXN1bHQsIFdlYkNvcmU6OlBsYXRmb3JtVGltZVJhbmdlcyBidWZmZXJlZCkKICAgICBTb3Vy
Y2VCdWZmZXJQcml2YXRlSGlnaGVzdFByZXNlbnRhdGlvblRpbWVzdGFtcENoYW5nZWQoTWVkaWFU
aW1lIHRpbWVzdGFtcCkKICAgICBTb3VyY2VCdWZmZXJQcml2YXRlRHVyYXRpb25DaGFuZ2VkKE1l
ZGlhVGltZSBkdXJhdGlvbikKICAgICBTb3VyY2VCdWZmZXJQcml2YXRlRGlkUGFyc2VTYW1wbGUo
ZG91YmxlIHNhbXBsZUR1cmF0aW9uKQogICAgIFNvdXJjZUJ1ZmZlclByaXZhdGVEaWREcm9wU2Ft
cGxlKCkKICAgICBTb3VyY2VCdWZmZXJQcml2YXRlQnVmZmVyZWREaXJ0eUNoYW5nZWQoYm9vbCBk
aXJ0eSkKLSAgICBTb3VyY2VCdWZmZXJQcml2YXRlQnVmZmVyZWRSYW5nZXNDaGFuZ2VkKFdlYkNv
cmU6OlBsYXRmb3JtVGltZVJhbmdlcyB0aW1lUmFuZ2VzKQogICAgIFNvdXJjZUJ1ZmZlclByaXZh
dGVEaWRSZWNlaXZlUmVuZGVyaW5nRXJyb3IoaW50NjRfdCBlcnJvckNvZGUpCiAgICAgU291cmNl
QnVmZmVyUHJpdmF0ZVJlcG9ydEV4dHJhTWVtb3J5Q29zdCh1aW50NjRfdCBleHRyYU1lbW9yeSkK
IH0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5n
ZUxvZwppbmRleCA4ZmJlMDBjOGYwNWVmYmRhZjZmZDU0OTAzNWZmMmMzNTU5MjMyMDIwLi5lNGM2
MjE5ZjViZTMzODhlOWUwNDdjNWZmY2ViODVkMjg4MDM3OGFjIDEwMDY0NAotLS0gYS9MYXlvdXRU
ZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTIg
QEAKKzIwMjEtMDMtMTIgIFBlbmcgTGl1ICA8cGVuZy5saXU2QGFwcGxlLmNvbT4KKworICAgICAg
ICBbR1BVUF1bTVNFXSBNZWRpYVNvdXJjZTo6YnVmZmVyZWQgYW5kIE1lZGlhU291cmNlOjphY3Rp
dmVTb3VyY2VCdWZmZXJzIGRvIG5vdCB1cGRhdGUgaW4gdGhlIHNhbWUgcnVuIGxvb3AgYXMgTWVk
aWFTb3VyY2U6OmVuZE9mU3RyZWFtKCkKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTIyMTI5MworCisgICAgICAgIFJldmlld2VkIGJ5IEplciBOb2JsZS4K
KworICAgICAgICAqIHBsYXRmb3JtL21hYy9UZXN0RXhwZWN0YXRpb25zOgorCiAyMDIxLTAzLTEy
ICBTYWlkIEFib3UtSGFsbGF3YSAgPHNhaWRAYXBwbGUuY29tPgogCiAgICAgICAgIFtHUFUgUHJv
Y2Vzc10gaW5zcGVjdG9yL2NhbnZhcy9tZW1vcnkuaHRtbCBmYWlscyB3aGVuIEdQVSByZW5kZXJp
bmcgaXMgZW5hYmxlZCBmb3IgMkQgQ2FudmFzCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0
Zm9ybS9tYWMvVGVzdEV4cGVjdGF0aW9ucyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy9UZXN0
RXhwZWN0YXRpb25zCmluZGV4IGFjOTY1MGQ3MDdmZDFmNThiYjZlZGEzYTAyZjhiMGYyNjMxYWRi
OWEuLmIwZTAxOWQ2ZGNjZGZkMTY2NjIwYmUyN2Y3NDNiNzY5NDAzOWFmNjggMTAwNjQ0Ci0tLSBh
L0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy9UZXN0RXhwZWN0YXRpb25zCisrKyBiL0xheW91dFRl
c3RzL3BsYXRmb3JtL21hYy9UZXN0RXhwZWN0YXRpb25zCkBAIC04NjUsNyArODY1LDYgQEAgd2Vi
a2l0Lm9yZy9iLzE2MTcyNSBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL21lZGlhLXNv
dXJjZS9tZWRpYXNvdXJjZS1zb3UKIHdlYmtpdC5vcmcvYi8yMTQxNjYgaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9tZWRpYS1zb3VyY2UvaWRsaGFybmVzcy53aW5kb3cuaHRtbCBbIFNr
aXAgXQogCiAjIHdlYmtpdC5vcmcvYi8yMjE2ODYKLWltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvbWVkaWEtc291cmNlL21lZGlhc291cmNlLWJ1ZmZlcmVkLmh0bWwgWyBGYWlsdXJlIF0K
IGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvbWVkaWEtc291cmNlL21lZGlhc291cmNl
LWNoYW5nZXR5cGUuaHRtbCBbIEZhaWx1cmUgXQogaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9tZWRpYS1zb3VyY2UvbWVkaWFzb3VyY2UtZHVyYXRpb24tYm91bmRhcnljb25kaXRpb25z
Lmh0bWwgWyBGYWlsdXJlIF0KIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvbWVkaWEt
c291cmNlL21lZGlhc291cmNlLXJlbW92ZS5odG1sIFsgRmFpbHVyZSBdCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>