<?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>225452</bug_id>
          
          <creation_ts>2021-05-06 05:04:11 -0700</creation_ts>
          <short_desc>Use IPC::Semaphore instead of sending an IPC message for every captured audio sample</short_desc>
          <delta_ts>2021-05-10 00:11:16 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>WebRTC</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="youenn fablet">youennf</reporter>
          <assigned_to name="youenn fablet">youennf</assigned_to>
          <cc>cdumez</cc>
    
    <cc>eric.carlson</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>glenn</cc>
    
    <cc>jer.noble</cc>
    
    <cc>philipj</cc>
    
    <cc>sergio</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>youennf</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1757355</commentid>
    <comment_count>0</comment_count>
    <who name="youenn fablet">youennf</who>
    <bug_when>2021-05-06 05:04:11 -0700</bug_when>
    <thetext>Use IPC::Semaphore instead of sending an IPC message for every captured audio sample</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1757358</commentid>
    <comment_count>1</comment_count>
      <attachid>427873</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2021-05-06 05:07:38 -0700</bug_when>
    <thetext>Created attachment 427873
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1757369</commentid>
    <comment_count>2</comment_count>
    <who name="youenn fablet">youennf</who>
    <bug_when>2021-05-06 05:47:58 -0700</bug_when>
    <thetext>I reused the web audio model but this might not be an optimal approach given we use chunks of 128 samples, while the AudioUnit may use larger chunks.
Another approach would be to keep using fixed sample size, say 5 or 10 ms, something like std::max(128, sampleRate / 100).
Thoughts?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1757381</commentid>
    <comment_count>3</comment_count>
      <attachid>427879</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2021-05-06 06:27:41 -0700</bug_when>
    <thetext>Created attachment 427879
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1757384</commentid>
    <comment_count>4</comment_count>
      <attachid>427880</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2021-05-06 06:28:46 -0700</bug_when>
    <thetext>Created attachment 427880
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1757412</commentid>
    <comment_count>5</comment_count>
      <attachid>427887</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2021-05-06 08:21:34 -0700</bug_when>
    <thetext>Created attachment 427887
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1757876</commentid>
    <comment_count>6</comment_count>
      <attachid>428000</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2021-05-07 08:45:07 -0700</bug_when>
    <thetext>Created attachment 428000
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1757897</commentid>
    <comment_count>7</comment_count>
      <attachid>428004</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2021-05-07 09:45:32 -0700</bug_when>
    <thetext>Created attachment 428004
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1758436</commentid>
    <comment_count>8</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2021-05-10 00:10:38 -0700</bug_when>
    <thetext>Committed r277256 (237525@main): &lt;https://commits.webkit.org/237525@main&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 428004.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1758437</commentid>
    <comment_count>9</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2021-05-10 00:11:16 -0700</bug_when>
    <thetext>&lt;rdar://problem/77731343&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>427873</attachid>
            <date>2021-05-06 05:07:38 -0700</date>
            <delta_ts>2021-05-06 06:27:36 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-225452-20210506140736.patch</filename>
            <type>text/plain</type>
            <size>15059</size>
            <attacher name="youenn fablet">youennf</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjc2NTkyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IGE2ODA3NGUyMDM3M2ZlYWNl
ODZkMjBjMjA5NzYxYmEyMjZhYmNmZWUuLjVjNTc3YmY4MWM3ZTRkYmVhYjY4NTI4ZjI4Y2FjYWVh
MzljNmJhYjYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzAgQEAKKzIwMjEtMDUtMDYgIFlvdWVubiBG
YWJsZXQgIDx5b3Vlbm5AYXBwbGUuY29tPgorCisgICAgICAgIFVzZSBJUEM6OlNlbWFwaG9yZSBp
bnN0ZWFkIG9mIHNlbmRpbmcgYW4gSVBDIG1lc3NhZ2UgZm9yIGV2ZXJ5IGNhcHR1cmVkIGF1ZGlv
IHNhbXBsZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
MjI1NDUyCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAg
UHJldmlvdXNseSwgd2Ugd2VyZSBzZW5kaW5nIGFuIElQQyBtZXNzYWdlIGZyb20gVUlQcm9jZXNz
IG9yIEdQVVByb2Nlc3MgdG8gV2ViUHJvY2VzcyBmb3IgZXZlcnkgbWljcm9waG9uZSBhdWRpbyBz
YW1wbGUgY2h1bmsuCisgICAgICAgIFdlIGFyZSBub3cgdXNpbmcgSVBDOjpTZW1hcGhvcmUgdG8g
c2lnbmFsIHRoYXQgYSBuZXcgY2h1bmsgaXMgdG8gYmUgcHJvY2Vzc2VkLgorICAgICAgICBXZSBu
byBsb25nZXIgc2VuZCB0aGUgY2h1bmsgdGltZXN0YW1wLiBJbnN0ZWFkLCB3ZSByZWNvbnN0cnVj
dCBpdCBmcm9tIHRoZSBudW1iZXIgb2YgcHJldmlvdXNseSBwcm9jZXNzZWQgc2FtcGxlcy4KKyAg
ICAgICAgV2UgcHJvY2VzcyBmaXhlZC1zaXplIGNodW5rcywgY3VycmVudGx5IDEyOCBzYW1wbGVz
IGxpa2UgV2ViQXVkaW8uCisKKyAgICAgICAgQ292ZXJlZCBieSBleGlzdGluZyB0ZXN0cyBhbmQg
bWFudWFsbHkgdGVzdGVkLgorCisgICAgICAgICogVUlQcm9jZXNzL0NvY29hL1VzZXJNZWRpYUNh
cHR1cmVNYW5hZ2VyUHJveHkuY3BwOgorICAgICAgICAoV2ViS2l0OjpVc2VyTWVkaWFDYXB0dXJl
TWFuYWdlclByb3h5OjpTb3VyY2VQcm94eTo6c3RhcnQpOgorICAgICAgICAoV2ViS2l0OjpVc2Vy
TWVkaWFDYXB0dXJlTWFuYWdlclByb3h5OjpTb3VyY2VQcm94eTo6c3RvcmFnZUNoYW5nZWQpOgor
ICAgICAgICAqIFdlYlByb2Nlc3MvY29jb2EvUmVtb3RlQ2FwdHVyZVNhbXBsZU1hbmFnZXIuY3Bw
OgorICAgICAgICAoV2ViS2l0OjpSZW1vdGVDYXB0dXJlU2FtcGxlTWFuYWdlcjo6YXVkaW9TdG9y
YWdlQ2hhbmdlZCk6CisgICAgICAgIChXZWJLaXQ6OlJlbW90ZUNhcHR1cmVTYW1wbGVNYW5hZ2Vy
OjpSZW1vdGVBdWRpbzo6UmVtb3RlQXVkaW8pOgorICAgICAgICAoV2ViS2l0OjpSZW1vdGVDYXB0
dXJlU2FtcGxlTWFuYWdlcjo6UmVtb3RlQXVkaW86On5SZW1vdGVBdWRpbyk6CisgICAgICAgIChX
ZWJLaXQ6OlJlbW90ZUNhcHR1cmVTYW1wbGVNYW5hZ2VyOjpSZW1vdGVBdWRpbzo6c3RvcFRocmVh
ZCk6CisgICAgICAgIChXZWJLaXQ6OlJlbW90ZUNhcHR1cmVTYW1wbGVNYW5hZ2VyOjpSZW1vdGVB
dWRpbzo6c3RhcnRUaHJlYWQpOgorICAgICAgICAoV2ViS2l0OjpSZW1vdGVDYXB0dXJlU2FtcGxl
TWFuYWdlcjo6UmVtb3RlQXVkaW86OnNldFN0b3JhZ2UpOgorICAgICAgICAqIFdlYlByb2Nlc3Mv
Y29jb2EvUmVtb3RlQ2FwdHVyZVNhbXBsZU1hbmFnZXIuaDoKKyAgICAgICAgKiBXZWJQcm9jZXNz
L2NvY29hL1JlbW90ZUNhcHR1cmVTYW1wbGVNYW5hZ2VyLm1lc3NhZ2VzLmluOgorCiAyMDIxLTA1
LTA1ICBZb3Vlbm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KIAogICAgICAgICBSRUdSRVNT
SU9OIChyMjc2NjMzKTogQVNTRVJUSU9OIEZBSUxFRDogIWZvcmJpZE1hbGxvY1VzZVNjb3BlQ291
bnQgfHwgZGlzYWJsZU1hbGxvY1Jlc3RyaWN0aW9uU2NvcGVDb3VudApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvVXNlck1lZGlhQ2FwdHVyZU1hbmFnZXJQcm94eS5j
cHAgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9Vc2VyTWVkaWFDYXB0dXJlTWFuYWdl
clByb3h5LmNwcAppbmRleCA4YzgyM2ZlNDM3ODZjYjNkY2UyZmVjZTkwZmI4OGU0ODBiMzgxY2Y3
Li5hMjY4MjEyOThmNWJjZjg0YWRlYjVlMTQ3MmY2YTNhNDQzNWQ5NDliIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9Vc2VyTWVkaWFDYXB0dXJlTWFuYWdlclByb3h5
LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9Vc2VyTWVkaWFDYXB0dXJl
TWFuYWdlclByb3h5LmNwcApAQCAtMzYsNiArMzYsNyBAQAogI2luY2x1ZGUgIldlYkNvcmVBcmd1
bWVudENvZGVycy5oIgogI2luY2x1ZGUgIldlYlByb2Nlc3NQcm94eS5oIgogI2luY2x1ZGUgPFdl
YkNvcmUvQXVkaW9TZXNzaW9uLmg+CisjaW5jbHVkZSA8V2ViQ29yZS9BdWRpb1V0aWxpdGllcy5o
PgogI2luY2x1ZGUgPFdlYkNvcmUvQ0FSaW5nQnVmZmVyLmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9J
bWFnZVJvdGF0aW9uU2Vzc2lvblZULmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9NZWRpYUNvbnN0cmFp
bnRzLmg+CkBAIC0xMDgsNiArMTA5LDggQEAgcHVibGljOgogCiAgICAgdm9pZCBzdGFydCgpCiAg
ICAgeworICAgICAgICBtX2ZyYW1lQ291bnQgPSAwOworICAgICAgICBtX3JlbWFpbmluZ0ZyYW1l
Q291bnQgPSAwOwogICAgICAgICBtX2lzRW5kZWQgPSBmYWxzZTsKICAgICAgICAgbV9zb3VyY2Ut
PnN0YXJ0KCk7CiAgICAgfQpAQCAtMTQ1LDkgKzE0OCwxMiBAQCBwcml2YXRlOgogCiAgICAgLy8g
TWF5IGdldCBjYWxsZWQgb24gYSBiYWNrZ3JvdW5kIHRocmVhZC4KICAgICB2b2lkIGF1ZGlvU2Ft
cGxlc0F2YWlsYWJsZShjb25zdCBNZWRpYVRpbWUmIHRpbWUsIGNvbnN0IFBsYXRmb3JtQXVkaW9E
YXRhJiBhdWRpb0RhdGEsIGNvbnN0IEF1ZGlvU3RyZWFtRGVzY3JpcHRpb24mIGRlc2NyaXB0aW9u
LCBzaXplX3QgbnVtYmVyT2ZGcmFtZXMpIGZpbmFsIHsKLSAgICAgICAgRGlzYWJsZU1hbGxvY1Jl
c3RyaWN0aW9uc0ZvckN1cnJlbnRUaHJlYWRTY29wZSBzY29wZTsKLQogICAgICAgICBpZiAobV9k
ZXNjcmlwdGlvbiAhPSBkZXNjcmlwdGlvbikgeworICAgICAgICAgICAgRGlzYWJsZU1hbGxvY1Jl
c3RyaWN0aW9uc0ZvckN1cnJlbnRUaHJlYWRTY29wZSBzY29wZTsKKworICAgICAgICAgICAgbV9m
cmFtZUNvdW50ID0gMDsKKyAgICAgICAgICAgIG1fcmVtYWluaW5nRnJhbWVDb3VudCA9IDA7Cisg
ICAgICAgICAgICBtX2NhcHR1cmVTZW1hcGhvcmUgPSBtYWtlVW5pcXVlPElQQzo6U2VtYXBob3Jl
PigpOwogICAgICAgICAgICAgQVNTRVJUKGRlc2NyaXB0aW9uLnBsYXRmb3JtRGVzY3JpcHRpb24o
KS50eXBlID09IFBsYXRmb3JtRGVzY3JpcHRpb246OkNBQXVkaW9TdHJlYW1CYXNpY1R5cGUpOwog
ICAgICAgICAgICAgbV9kZXNjcmlwdGlvbiA9ICpXVEY6OmdldDxjb25zdCBBdWRpb1N0cmVhbUJh
c2ljRGVzY3JpcHRpb24qPihkZXNjcmlwdGlvbi5wbGF0Zm9ybURlc2NyaXB0aW9uKCkuZGVzY3Jp
cHRpb24pOwogCkBAIC0xNTcsOCArMTYzLDE2IEBAIHByaXZhdGU6CiAgICAgICAgIH0KIAogICAg
ICAgICBBU1NFUlQoaXM8V2ViQXVkaW9CdWZmZXJMaXN0PihhdWRpb0RhdGEpKTsKLSAgICAgICAg
bV9yaW5nQnVmZmVyLnN0b3JlKGRvd25jYXN0PFdlYkF1ZGlvQnVmZmVyTGlzdD4oYXVkaW9EYXRh
KS5saXN0KCksIG51bWJlck9mRnJhbWVzLCB0aW1lLnRpbWVWYWx1ZSgpKTsKLSAgICAgICAgbV9j
b25uZWN0aW9uLT5zZW5kKE1lc3NhZ2VzOjpSZW1vdGVDYXB0dXJlU2FtcGxlTWFuYWdlcjo6QXVk
aW9TYW1wbGVzQXZhaWxhYmxlKG1faWQsIHRpbWUsIG51bWJlck9mRnJhbWVzKSwgMCk7CisgICAg
ICAgIG1fcmluZ0J1ZmZlci5zdG9yZShkb3duY2FzdDxXZWJBdWRpb0J1ZmZlckxpc3Q+KGF1ZGlv
RGF0YSkubGlzdCgpLCBudW1iZXJPZkZyYW1lcywgbV9mcmFtZUNvdW50KTsKKyAgICAgICAgbV9m
cmFtZUNvdW50ICs9IG51bWJlck9mRnJhbWVzOworCisgICAgICAgIHNpemVfdCBmcmFtZXNUb1Nl
bmQgPSBudW1iZXJPZkZyYW1lcyArIG1fcmVtYWluaW5nRnJhbWVDb3VudDsKKyAgICAgICAgc2l6
ZV90IHNpZ25hbENvdW50ID0gZnJhbWVzVG9TZW5kIC8gV2ViQ29yZTo6QXVkaW9VdGlsaXRpZXM6
OnJlbmRlclF1YW50dW1TaXplOworICAgICAgICBtX3JlbWFpbmluZ0ZyYW1lQ291bnQgPSBmcmFt
ZXNUb1NlbmQgLSAoc2lnbmFsQ291bnQgKiBXZWJDb3JlOjpBdWRpb1V0aWxpdGllczo6cmVuZGVy
UXVhbnR1bVNpemUpOworICAgICAgICBmb3IgKHVuc2lnbmVkIGkgPSAwOyBpIDwgc2lnbmFsQ291
bnQ7ICsraSkgeworICAgICAgICAgICAgLy8gQXNrIHRoZSBhdWRpbyB0aHJlYWQgaW4gdGhlIFdl
YkNvbnRlbnQgcHJvY2VzcyB0byByZW5kZXIgYSBxdWFudHVtLgorICAgICAgICAgICAgbV9jYXB0
dXJlU2VtYXBob3JlLT5zaWduYWwoKTsKKyAgICAgICAgfQogICAgIH0KIAogICAgIHZvaWQgdmlk
ZW9TYW1wbGVBdmFpbGFibGUoTWVkaWFTYW1wbGUmIHNhbXBsZSkgZmluYWwKQEAgLTE5OSw3ICsy
MTMsNiBAQCBwcml2YXRlOgogCiAgICAgdm9pZCBzdG9yYWdlQ2hhbmdlZChTaGFyZWRNZW1vcnkq
IHN0b3JhZ2UsIGNvbnN0IFdlYkNvcmU6OkNBQXVkaW9TdHJlYW1EZXNjcmlwdGlvbiYgZm9ybWF0
LCBzaXplX3QgZnJhbWVDb3VudCkKICAgICB7Ci0gICAgICAgIERpc2FibGVNYWxsb2NSZXN0cmlj
dGlvbnNGb3JDdXJyZW50VGhyZWFkU2NvcGUgc2NvcGU7CiAgICAgICAgIFNoYXJlZE1lbW9yeTo6
SGFuZGxlIGhhbmRsZTsKICAgICAgICAgaWYgKHN0b3JhZ2UpCiAgICAgICAgICAgICBzdG9yYWdl
LT5jcmVhdGVIYW5kbGUoaGFuZGxlLCBTaGFyZWRNZW1vcnk6OlByb3RlY3Rpb246OlJlYWRPbmx5
KTsKQEAgLTIxMCw3ICsyMjMsNyBAQCBwcml2YXRlOgogI2Vsc2UKICAgICAgICAgdWludDY0X3Qg
ZGF0YVNpemUgPSAwOwogI2VuZGlmCi0gICAgICAgIG1fY29ubmVjdGlvbi0+c2VuZChNZXNzYWdl
czo6UmVtb3RlQ2FwdHVyZVNhbXBsZU1hbmFnZXI6OkF1ZGlvU3RvcmFnZUNoYW5nZWQobV9pZCwg
U2hhcmVkTWVtb3J5OjpJUENIYW5kbGUgeyBXVEZNb3ZlKGhhbmRsZSksICBkYXRhU2l6ZSB9LCBm
b3JtYXQsIGZyYW1lQ291bnQpLCAwKTsKKyAgICAgICAgbV9jb25uZWN0aW9uLT5zZW5kKE1lc3Nh
Z2VzOjpSZW1vdGVDYXB0dXJlU2FtcGxlTWFuYWdlcjo6QXVkaW9TdG9yYWdlQ2hhbmdlZChtX2lk
LCBTaGFyZWRNZW1vcnk6OklQQ0hhbmRsZSB7IFdURk1vdmUoaGFuZGxlKSwgIGRhdGFTaXplIH0s
IGZvcm1hdCwgZnJhbWVDb3VudCwgKm1fY2FwdHVyZVNlbWFwaG9yZSksIDApOwogICAgIH0KIAog
ICAgIGJvb2wgcHJldmVudFNvdXJjZUZyb21TdG9wcGluZygpCkBAIC0yMjksNiArMjQyLDkgQEAg
cHJpdmF0ZToKICAgICBib29sIG1faXNFbmRlZCB7IGZhbHNlIH07CiAgICAgc3RkOjp1bmlxdWVf
cHRyPEltYWdlUm90YXRpb25TZXNzaW9uVlQ+IG1fcm90YXRpb25TZXNzaW9uOwogICAgIGJvb2wg
bV9zaG91bGRBcHBseVJvdGF0aW9uIHsgZmFsc2UgfTsKKyAgICBzdGQ6OnVuaXF1ZV9wdHI8SVBD
OjpTZW1hcGhvcmU+IG1fY2FwdHVyZVNlbWFwaG9yZTsKKyAgICBpbnQ2NF90IG1fZnJhbWVDb3Vu
dCB7IDAgfTsKKyAgICBpbnQ2NF90IG1fcmVtYWluaW5nRnJhbWVDb3VudCB7IDAgfTsKIH07CiAK
IFVzZXJNZWRpYUNhcHR1cmVNYW5hZ2VyUHJveHk6OlVzZXJNZWRpYUNhcHR1cmVNYW5hZ2VyUHJv
eHkoVW5pcXVlUmVmPENvbm5lY3Rpb25Qcm94eT4mJiBjb25uZWN0aW9uUHJveHkpCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvY29jb2EvUmVtb3RlQ2FwdHVyZVNhbXBsZU1h
bmFnZXIuY3BwIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL2NvY29hL1JlbW90ZUNhcHR1cmVT
YW1wbGVNYW5hZ2VyLmNwcAppbmRleCA3NGQzZWRmYjcyOTMyYzIxZmZkNTkxMGE2OGYxMTJhY2Y4
MTc5OGI5Li5hYmQ3ZDE3NTRjMDM0YTFiOTk2MDhhZWM2OGZjZDBhMjA5YThmZjhhIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvY29jb2EvUmVtb3RlQ2FwdHVyZVNhbXBsZU1h
bmFnZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9jb2NvYS9SZW1vdGVDYXB0
dXJlU2FtcGxlTWFuYWdlci5jcHAKQEAgLTMwLDYgKzMwLDcgQEAKICNpbmNsdWRlICJSZW1vdGVD
YXB0dXJlU2FtcGxlTWFuYWdlck1lc3NhZ2VzLmgiCiAjaW5jbHVkZSAiU2hhcmVkUmluZ0J1ZmZl
clN0b3JhZ2UuaCIKICNpbmNsdWRlICJXZWJQcm9jZXNzLmgiCisjaW5jbHVkZSA8V2ViQ29yZS9B
dWRpb1V0aWxpdGllcy5oPgogI2luY2x1ZGUgPFdlYkNvcmUvSW1hZ2VUcmFuc2ZlclNlc3Npb25W
VC5oPgogI2luY2x1ZGUgPFdlYkNvcmUvUmVtb3RlVmlkZW9TYW1wbGUuaD4KICNpbmNsdWRlIDxX
ZWJDb3JlL1dlYkF1ZGlvQnVmZmVyTGlzdC5oPgpAQCAtMTI1LDcgKzEyNiw3IEBAIHZvaWQgUmVt
b3RlQ2FwdHVyZVNhbXBsZU1hbmFnZXI6OmRpc3BhdGNoVG9UaHJlYWQoRnVuY3Rpb248dm9pZCgp
PiYmIGNhbGxiYWNrKQogICAgIG1fcXVldWUtPmRpc3BhdGNoKFdURk1vdmUoY2FsbGJhY2spKTsK
IH0KIAotdm9pZCBSZW1vdGVDYXB0dXJlU2FtcGxlTWFuYWdlcjo6YXVkaW9TdG9yYWdlQ2hhbmdl
ZChXZWJDb3JlOjpSZWFsdGltZU1lZGlhU291cmNlSWRlbnRpZmllciBpZGVudGlmaWVyLCBjb25z
dCBTaGFyZWRNZW1vcnk6OklQQ0hhbmRsZSYgaXBjSGFuZGxlLCBjb25zdCBXZWJDb3JlOjpDQUF1
ZGlvU3RyZWFtRGVzY3JpcHRpb24mIGRlc2NyaXB0aW9uLCB1aW50NjRfdCBudW1iZXJPZkZyYW1l
cykKK3ZvaWQgUmVtb3RlQ2FwdHVyZVNhbXBsZU1hbmFnZXI6OmF1ZGlvU3RvcmFnZUNoYW5nZWQo
V2ViQ29yZTo6UmVhbHRpbWVNZWRpYVNvdXJjZUlkZW50aWZpZXIgaWRlbnRpZmllciwgY29uc3Qg
U2hhcmVkTWVtb3J5OjpJUENIYW5kbGUmIGlwY0hhbmRsZSwgY29uc3QgV2ViQ29yZTo6Q0FBdWRp
b1N0cmVhbURlc2NyaXB0aW9uJiBkZXNjcmlwdGlvbiwgdWludDY0X3QgbnVtYmVyT2ZGcmFtZXMs
IElQQzo6U2VtYXBob3JlJiYgc2VtYXBob3JlKQogewogICAgIEFTU0VSVCghV1RGOjppc01haW5S
dW5Mb29wKCkpOwogCkBAIC0xMzQsMTkgKzEzNSw3IEBAIHZvaWQgUmVtb3RlQ2FwdHVyZVNhbXBs
ZU1hbmFnZXI6OmF1ZGlvU3RvcmFnZUNoYW5nZWQoV2ViQ29yZTo6UmVhbHRpbWVNZWRpYVNvdXJj
CiAgICAgICAgIFJFTEVBU0VfTE9HX0VSUk9SKFdlYlJUQywgIlVuYWJsZSB0byBmaW5kIHNvdXJj
ZSAlbGx1IGZvciBzdG9yYWdlQ2hhbmdlZCIsIGlkZW50aWZpZXIudG9VSW50NjQoKSk7CiAgICAg
ICAgIHJldHVybjsKICAgICB9Ci0gICAgaXRlcmF0b3ItPnZhbHVlLT5zZXRTdG9yYWdlKGlwY0hh
bmRsZS5oYW5kbGUsIGRlc2NyaXB0aW9uLCBudW1iZXJPZkZyYW1lcyk7Ci19Ci0KLXZvaWQgUmVt
b3RlQ2FwdHVyZVNhbXBsZU1hbmFnZXI6OmF1ZGlvU2FtcGxlc0F2YWlsYWJsZShXZWJDb3JlOjpS
ZWFsdGltZU1lZGlhU291cmNlSWRlbnRpZmllciBpZGVudGlmaWVyLCBNZWRpYVRpbWUgdGltZSwg
dWludDY0X3QgbnVtYmVyT2ZGcmFtZXMpCi17Ci0gICAgQVNTRVJUKCFXVEY6OmlzTWFpblJ1bkxv
b3AoKSk7Ci0KLSAgICBhdXRvIGl0ZXJhdG9yID0gbV9hdWRpb1NvdXJjZXMuZmluZChpZGVudGlm
aWVyKTsKLSAgICBpZiAoaXRlcmF0b3IgPT0gbV9hdWRpb1NvdXJjZXMuZW5kKCkpIHsKLSAgICAg
ICAgUkVMRUFTRV9MT0dfRVJST1IoV2ViUlRDLCAiVW5hYmxlIHRvIGZpbmQgc291cmNlICVsbHUg
Zm9yIGF1ZGlvU2FtcGxlc0F2YWlsYWJsZSIsIGlkZW50aWZpZXIudG9VSW50NjQoKSk7Ci0gICAg
ICAgIHJldHVybjsKLSAgICB9Ci0gICAgaXRlcmF0b3ItPnZhbHVlLT5hdWRpb1NhbXBsZXNBdmFp
bGFibGUodGltZSwgbnVtYmVyT2ZGcmFtZXMpOworICAgIGl0ZXJhdG9yLT52YWx1ZS0+c2V0U3Rv
cmFnZShpcGNIYW5kbGUuaGFuZGxlLCBkZXNjcmlwdGlvbiwgbnVtYmVyT2ZGcmFtZXMsIFdURk1v
dmUoc2VtYXBob3JlKSk7CiB9CiAKIHZvaWQgUmVtb3RlQ2FwdHVyZVNhbXBsZU1hbmFnZXI6OnZp
ZGVvU2FtcGxlQXZhaWxhYmxlKFJlYWx0aW1lTWVkaWFTb3VyY2VJZGVudGlmaWVyIGlkZW50aWZp
ZXIsIFJlbW90ZVZpZGVvU2FtcGxlJiYgc2FtcGxlKQpAQCAtMTYzLDM0ICsxNTIsNTcgQEAgdm9p
ZCBSZW1vdGVDYXB0dXJlU2FtcGxlTWFuYWdlcjo6dmlkZW9TYW1wbGVBdmFpbGFibGUoUmVhbHRp
bWVNZWRpYVNvdXJjZUlkZW50aWYKIAogUmVtb3RlQ2FwdHVyZVNhbXBsZU1hbmFnZXI6OlJlbW90
ZUF1ZGlvOjpSZW1vdGVBdWRpbyhSZWY8UmVtb3RlUmVhbHRpbWVBdWRpb1NvdXJjZT4mJiBzb3Vy
Y2UpCiAgICAgOiBtX3NvdXJjZShXVEZNb3ZlKHNvdXJjZSkpCi0gICAgLCBtX3JpbmdCdWZmZXIo
bWFrZVVuaXF1ZTxDQVJpbmdCdWZmZXI+KCkpCiB7CiB9CiAKLXZvaWQgUmVtb3RlQ2FwdHVyZVNh
bXBsZU1hbmFnZXI6OlJlbW90ZUF1ZGlvOjpzZXRTdG9yYWdlKGNvbnN0IFNoYXJlZE1lbW9yeTo6
SGFuZGxlJiBoYW5kbGUsIGNvbnN0IFdlYkNvcmU6OkNBQXVkaW9TdHJlYW1EZXNjcmlwdGlvbiYg
ZGVzY3JpcHRpb24sIHVpbnQ2NF90IG51bWJlck9mRnJhbWVzKQorUmVtb3RlQ2FwdHVyZVNhbXBs
ZU1hbmFnZXI6OlJlbW90ZUF1ZGlvOjp+UmVtb3RlQXVkaW8oKQogewotICAgIG1fZGVzY3JpcHRp
b24gPSBkZXNjcmlwdGlvbjsKLSAgICBtX3JpbmdCdWZmZXIgPSBtYWtlVW5pcXVlPENBUmluZ0J1
ZmZlcj4obWFrZVVuaXF1ZVJlZjxSZWFkT25seVNoYXJlZFJpbmdCdWZmZXJTdG9yYWdlPihoYW5k
bGUpLCBkZXNjcmlwdGlvbiwgbnVtYmVyT2ZGcmFtZXMpOwotICAgIG1fYnVmZmVyID0gbWFrZVVu
aXF1ZTxXZWJBdWRpb0J1ZmZlckxpc3Q+KGRlc2NyaXB0aW9uLCBudW1iZXJPZkZyYW1lcyk7Cisg
ICAgc3RvcFRocmVhZCgpOwogfQogCi12b2lkIFJlbW90ZUNhcHR1cmVTYW1wbGVNYW5hZ2VyOjpS
ZW1vdGVBdWRpbzo6YXVkaW9TYW1wbGVzQXZhaWxhYmxlKE1lZGlhVGltZSB0aW1lLCB1aW50NjRf
dCBudW1iZXJPZkZyYW1lcykKK3ZvaWQgUmVtb3RlQ2FwdHVyZVNhbXBsZU1hbmFnZXI6OlJlbW90
ZUF1ZGlvOjpzdG9wVGhyZWFkKCkKIHsKLSAgICBpZiAoIW1fYnVmZmVyKSB7Ci0gICAgICAgIFJF
TEVBU0VfTE9HX0VSUk9SKFdlYlJUQywgImJ1ZmZlciBmb3IgYXVkaW8gc291cmNlICVsbHUgaXMg
bnVsbCIsIG1fc291cmNlLT5pZGVudGlmaWVyKCkudG9VSW50NjQoKSk7CisgICAgaWYgKCFtX3Ro
cmVhZCkKICAgICAgICAgcmV0dXJuOwotICAgIH0KIAotICAgIGlmICghV2ViQXVkaW9CdWZmZXJM
aXN0Ojppc1N1cHBvcnRlZERlc2NyaXB0aW9uKG1fZGVzY3JpcHRpb24sIG51bWJlck9mRnJhbWVz
KSkgewotICAgICAgICBSRUxFQVNFX0xPR19FUlJPUihXZWJSVEMsICJVbmFibGUgdG8gc3VwcG9y
dCBkZXNjcmlwdGlvbiB3aXRoIGdpdmVuIG51bWJlciBvZiBmcmFtZXMgZm9yIGF1ZGlvIHNvdXJj
ZSAlbGx1IiwgbV9zb3VyY2UtPmlkZW50aWZpZXIoKS50b1VJbnQ2NCgpKTsKLSAgICAgICAgcmV0
dXJuOwotICAgIH0KKyAgICBtX3Nob3VsZFN0b3BUaHJlYWQgPSB0cnVlOworICAgIG1fc2VtYXBo
b3JlLnNpZ25hbCgpOworICAgIG1fdGhyZWFkLT53YWl0Rm9yQ29tcGxldGlvbigpOworICAgIG1f
dGhyZWFkID0gbnVsbHB0cjsKK30KIAotICAgIG1fYnVmZmVyLT5zZXRTYW1wbGVDb3VudChudW1i
ZXJPZkZyYW1lcyk7Cit2b2lkIFJlbW90ZUNhcHR1cmVTYW1wbGVNYW5hZ2VyOjpSZW1vdGVBdWRp
bzo6c3RhcnRUaHJlYWQoKQoreworICAgIEFTU0VSVCghbV90aHJlYWQpOworICAgIG1fc2hvdWxk
U3RvcFRocmVhZCA9IGZhbHNlOworICAgIGF1dG8gdGhyZWFkTG9vcCA9IFt0aGlzXSgpIG11dGFi
bGUgeworICAgICAgICBtX2ZyYW1lQ291bnQgPSAwOworICAgICAgICBkbyB7CisgICAgICAgICAg
ICBtX3NlbWFwaG9yZS53YWl0KCk7CisgICAgICAgICAgICBpZiAobV9zaG91bGRTdG9wVGhyZWFk
KQorICAgICAgICAgICAgICAgIGJyZWFrOwogCi0gICAgbV9yaW5nQnVmZmVyLT5mZXRjaChtX2J1
ZmZlci0+bGlzdCgpLCBudW1iZXJPZkZyYW1lcywgdGltZS50aW1lVmFsdWUoKSk7CisgICAgICAg
ICAgICBtX3JpbmdCdWZmZXItPmZldGNoKG1fYnVmZmVyLT5saXN0KCksIFdlYkNvcmU6OkF1ZGlv
VXRpbGl0aWVzOjpyZW5kZXJRdWFudHVtU2l6ZSwgbV9mcmFtZUNvdW50KTsKKworICAgICAgICAg
ICAgbV9zb3VyY2UtPnJlbW90ZUF1ZGlvU2FtcGxlc0F2YWlsYWJsZShNZWRpYVRpbWUgeyBtX2Zy
YW1lQ291bnQsIHN0YXRpY19jYXN0PHVpbnQzMl90PihtX2Rlc2NyaXB0aW9uLnNhbXBsZVJhdGUo
KSkgfSwgKm1fYnVmZmVyLCBtX2Rlc2NyaXB0aW9uLCBXZWJDb3JlOjpBdWRpb1V0aWxpdGllczo6
cmVuZGVyUXVhbnR1bVNpemUpOworCisgICAgICAgICAgICBtX2ZyYW1lQ291bnQgKz0gV2ViQ29y
ZTo6QXVkaW9VdGlsaXRpZXM6OnJlbmRlclF1YW50dW1TaXplOworICAgICAgICB9IHdoaWxlICgh
bV9zaG91bGRTdG9wVGhyZWFkKTsKKyAgICB9OworICAgIG1fdGhyZWFkID0gVGhyZWFkOjpjcmVh
dGUoIlJlbW90ZUF1ZGlvU291cmNlUHJvdmlkZXJNYW5hZ2VyOjpSZW1vdGVBdWRpbyB0aHJlYWQi
LCBXVEZNb3ZlKHRocmVhZExvb3ApLCBUaHJlYWRUeXBlOjpBdWRpbywgVGhyZWFkOjpRT1M6OlVz
ZXJJbnRlcmFjdGl2ZSk7Cit9CisKK3ZvaWQgUmVtb3RlQ2FwdHVyZVNhbXBsZU1hbmFnZXI6OlJl
bW90ZUF1ZGlvOjpzZXRTdG9yYWdlKGNvbnN0IFNoYXJlZE1lbW9yeTo6SGFuZGxlJiBoYW5kbGUs
IGNvbnN0IFdlYkNvcmU6OkNBQXVkaW9TdHJlYW1EZXNjcmlwdGlvbiYgZGVzY3JpcHRpb24sIHVp
bnQ2NF90IG51bWJlck9mRnJhbWVzLCBJUEM6OlNlbWFwaG9yZSYmIHNlbWFwaG9yZSkKK3sKKyAg
ICBzdG9wVGhyZWFkKCk7CisKKyAgICBtX3NlbWFwaG9yZSA9IFdURk1vdmUoc2VtYXBob3JlKTsK
KyAgICBtX2Rlc2NyaXB0aW9uID0gZGVzY3JpcHRpb247CisgICAgbV9yaW5nQnVmZmVyID0gbWFr
ZVVuaXF1ZTxDQVJpbmdCdWZmZXI+KG1ha2VVbmlxdWVSZWY8UmVhZE9ubHlTaGFyZWRSaW5nQnVm
ZmVyU3RvcmFnZT4oaGFuZGxlKSwgZGVzY3JpcHRpb24sIG51bWJlck9mRnJhbWVzKTsKKyAgICBt
X2J1ZmZlciA9IG1ha2VVbmlxdWU8V2ViQXVkaW9CdWZmZXJMaXN0PihkZXNjcmlwdGlvbiwgbnVt
YmVyT2ZGcmFtZXMpOworICAgIG1fYnVmZmVyLT5zZXRTYW1wbGVDb3VudChXZWJDb3JlOjpBdWRp
b1V0aWxpdGllczo6cmVuZGVyUXVhbnR1bVNpemUpOwogCi0gICAgbV9zb3VyY2UtPnJlbW90ZUF1
ZGlvU2FtcGxlc0F2YWlsYWJsZSh0aW1lLCAqbV9idWZmZXIsIG1fZGVzY3JpcHRpb24sIG51bWJl
ck9mRnJhbWVzKTsKKyAgICBzdGFydFRocmVhZCgpOwogfQogCiBSZW1vdGVDYXB0dXJlU2FtcGxl
TWFuYWdlcjo6UmVtb3RlVmlkZW86OlJlbW90ZVZpZGVvKFJlZjxSZW1vdGVSZWFsdGltZVZpZGVv
U291cmNlPiYmIHNvdXJjZSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9j
b2NvYS9SZW1vdGVDYXB0dXJlU2FtcGxlTWFuYWdlci5oIGIvU291cmNlL1dlYktpdC9XZWJQcm9j
ZXNzL2NvY29hL1JlbW90ZUNhcHR1cmVTYW1wbGVNYW5hZ2VyLmgKaW5kZXggMGEyNzVlOTgzNjMy
ZmI5MzdhNmUwYWQ5MDhjZjcwODkyMDI3NDhiNS4uMTAxMzllMjgzYWFlNDNjYTFkNWQ3MDRmNzgw
MmM1MzJmODc0MmUwNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL2NvY29h
L1JlbW90ZUNhcHR1cmVTYW1wbGVNYW5hZ2VyLmgKKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9j
ZXNzL2NvY29hL1JlbW90ZUNhcHR1cmVTYW1wbGVNYW5hZ2VyLmgKQEAgLTI4LDYgKzI4LDcgQEAK
ICNpZiBQTEFURk9STShDT0NPQSkgJiYgRU5BQkxFKE1FRElBX1NUUkVBTSkKIAogI2luY2x1ZGUg
IkNvbm5lY3Rpb24uaCIKKyNpbmNsdWRlICJJUENTZW1hcGhvcmUuaCIKICNpbmNsdWRlICJNZXNz
YWdlUmVjZWl2ZXIuaCIKICNpbmNsdWRlICJSZW1vdGVSZWFsdGltZUF1ZGlvU291cmNlLmgiCiAj
aW5jbHVkZSAiUmVtb3RlUmVhbHRpbWVWaWRlb1NvdXJjZS5oIgpAQCAtNjUsNyArNjYsNyBAQCBw
cml2YXRlOgogICAgIHZvaWQgZGlzcGF0Y2hUb1RocmVhZChGdW5jdGlvbjx2b2lkKCk+JiYpIGZp
bmFsOwogCiAgICAgLy8gTWVzc2FnZXMKLSAgICB2b2lkIGF1ZGlvU3RvcmFnZUNoYW5nZWQoV2Vi
Q29yZTo6UmVhbHRpbWVNZWRpYVNvdXJjZUlkZW50aWZpZXIsIGNvbnN0IFNoYXJlZE1lbW9yeTo6
SVBDSGFuZGxlJiwgY29uc3QgV2ViQ29yZTo6Q0FBdWRpb1N0cmVhbURlc2NyaXB0aW9uJiwgdWlu
dDY0X3QgbnVtYmVyT2ZGcmFtZXMpOworICAgIHZvaWQgYXVkaW9TdG9yYWdlQ2hhbmdlZChXZWJD
b3JlOjpSZWFsdGltZU1lZGlhU291cmNlSWRlbnRpZmllciwgY29uc3QgU2hhcmVkTWVtb3J5OjpJ
UENIYW5kbGUmLCBjb25zdCBXZWJDb3JlOjpDQUF1ZGlvU3RyZWFtRGVzY3JpcHRpb24mLCB1aW50
NjRfdCBudW1iZXJPZkZyYW1lcywgSVBDOjpTZW1hcGhvcmUmJik7CiAgICAgdm9pZCBhdWRpb1Nh
bXBsZXNBdmFpbGFibGUoV2ViQ29yZTo6UmVhbHRpbWVNZWRpYVNvdXJjZUlkZW50aWZpZXIsIE1l
ZGlhVGltZSwgdWludDY0X3QgbnVtYmVyT2ZGcmFtZXMpOwogICAgIHZvaWQgdmlkZW9TYW1wbGVB
dmFpbGFibGUoV2ViQ29yZTo6UmVhbHRpbWVNZWRpYVNvdXJjZUlkZW50aWZpZXIsIFdlYkNvcmU6
OlJlbW90ZVZpZGVvU2FtcGxlJiYpOwogCkBAIC03NSwxNSArNzYsMjMgQEAgcHJpdmF0ZToKICAg
ICAgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiAgICAgcHVibGljOgogICAgICAgICBleHBs
aWNpdCBSZW1vdGVBdWRpbyhSZWY8UmVtb3RlUmVhbHRpbWVBdWRpb1NvdXJjZT4mJik7CisgICAg
ICAgIH5SZW1vdGVBdWRpbygpOwogCi0gICAgICAgIHZvaWQgc2V0U3RvcmFnZShjb25zdCBTaGFy
ZWRNZW1vcnk6OkhhbmRsZSYsIGNvbnN0IFdlYkNvcmU6OkNBQXVkaW9TdHJlYW1EZXNjcmlwdGlv
biYsIHVpbnQ2NF90IG51bWJlck9mRnJhbWVzKTsKLSAgICAgICAgdm9pZCBhdWRpb1NhbXBsZXNB
dmFpbGFibGUoTWVkaWFUaW1lLCB1aW50NjRfdCBudW1iZXJPZkZyYW1lcyk7CisgICAgICAgIHZv
aWQgc2V0U3RvcmFnZShjb25zdCBTaGFyZWRNZW1vcnk6OkhhbmRsZSYsIGNvbnN0IFdlYkNvcmU6
OkNBQXVkaW9TdHJlYW1EZXNjcmlwdGlvbiYsIHVpbnQ2NF90IG51bWJlck9mRnJhbWVzLCBJUEM6
OlNlbWFwaG9yZSYmKTsKIAogICAgIHByaXZhdGU6CisgICAgICAgIHZvaWQgc3RvcFRocmVhZCgp
OworICAgICAgICB2b2lkIHN0YXJ0VGhyZWFkKCk7CisKICAgICAgICAgUmVmPFJlbW90ZVJlYWx0
aW1lQXVkaW9Tb3VyY2U+IG1fc291cmNlOwogICAgICAgICBXZWJDb3JlOjpDQUF1ZGlvU3RyZWFt
RGVzY3JpcHRpb24gbV9kZXNjcmlwdGlvbjsKLSAgICAgICAgc3RkOjp1bmlxdWVfcHRyPFdlYkNv
cmU6OkNBUmluZ0J1ZmZlcj4gbV9yaW5nQnVmZmVyOwogICAgICAgICBzdGQ6OnVuaXF1ZV9wdHI8
V2ViQ29yZTo6V2ViQXVkaW9CdWZmZXJMaXN0PiBtX2J1ZmZlcjsKKyAgICAgICAgc3RkOjp1bmlx
dWVfcHRyPFdlYkNvcmU6OkNBUmluZ0J1ZmZlcj4gbV9yaW5nQnVmZmVyOworICAgICAgICBpbnQ2
NF90IG1fZnJhbWVDb3VudCB7IDAgfTsKKworICAgICAgICBJUEM6OlNlbWFwaG9yZSBtX3NlbWFw
aG9yZTsKKyAgICAgICAgUmVmUHRyPFRocmVhZD4gbV90aHJlYWQ7CisgICAgICAgIHN0ZDo6YXRv
bWljPGJvb2w+IG1fc2hvdWxkU3RvcFRocmVhZCB7IGZhbHNlIH07CiAgICAgfTsKIAogICAgIGNs
YXNzIFJlbW90ZVZpZGVvIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9j
b2NvYS9SZW1vdGVDYXB0dXJlU2FtcGxlTWFuYWdlci5tZXNzYWdlcy5pbiBiL1NvdXJjZS9XZWJL
aXQvV2ViUHJvY2Vzcy9jb2NvYS9SZW1vdGVDYXB0dXJlU2FtcGxlTWFuYWdlci5tZXNzYWdlcy5p
bgppbmRleCBjNjQ1NjQ1MDBiNGJiNzRjZjM5OTljNDQ2NzIzNDI1M2RiMGIzM2NjLi4zYjhiOWIx
ZDFjZTdmMjg0OWU0YWU3ZDA0MWU3YzQ0NTQ4MTJlN2UwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0L1dlYlByb2Nlc3MvY29jb2EvUmVtb3RlQ2FwdHVyZVNhbXBsZU1hbmFnZXIubWVzc2FnZXMu
aW4KKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL2NvY29hL1JlbW90ZUNhcHR1cmVTYW1w
bGVNYW5hZ2VyLm1lc3NhZ2VzLmluCkBAIC0yNCw4ICsyNCw3IEBACiAjaWYgRU5BQkxFKE1FRElB
X1NUUkVBTSkKIAogbWVzc2FnZXMgLT4gUmVtb3RlQ2FwdHVyZVNhbXBsZU1hbmFnZXIgTm90UmVm
Q291bnRlZCB7Ci0gICAgQXVkaW9TdG9yYWdlQ2hhbmdlZChXZWJDb3JlOjpSZWFsdGltZU1lZGlh
U291cmNlSWRlbnRpZmllciBpZCwgV2ViS2l0OjpTaGFyZWRNZW1vcnk6OklQQ0hhbmRsZSBzdG9y
YWdlSGFuZGxlLCBXZWJDb3JlOjpDQUF1ZGlvU3RyZWFtRGVzY3JpcHRpb24gZGVzY3JpcHRpb24s
IHVpbnQ2NF90IG51bWJlck9mRnJhbWVzKQotICAgIEF1ZGlvU2FtcGxlc0F2YWlsYWJsZShXZWJD
b3JlOjpSZWFsdGltZU1lZGlhU291cmNlSWRlbnRpZmllciBpZCwgTWVkaWFUaW1lIHRpbWUsIHVp
bnQ2NF90IG51bWJlck9mRnJhbWVzKQorICAgIEF1ZGlvU3RvcmFnZUNoYW5nZWQoV2ViQ29yZTo6
UmVhbHRpbWVNZWRpYVNvdXJjZUlkZW50aWZpZXIgaWQsIFdlYktpdDo6U2hhcmVkTWVtb3J5OjpJ
UENIYW5kbGUgc3RvcmFnZUhhbmRsZSwgV2ViQ29yZTo6Q0FBdWRpb1N0cmVhbURlc2NyaXB0aW9u
IGRlc2NyaXB0aW9uLCB1aW50NjRfdCBudW1iZXJPZkZyYW1lcywgSVBDOjpTZW1hcGhvcmUgY2Fw
dHVyZVNlbWFwaG9yZSk7CiAgICAgVmlkZW9TYW1wbGVBdmFpbGFibGUoV2ViQ29yZTo6UmVhbHRp
bWVNZWRpYVNvdXJjZUlkZW50aWZpZXIgaWQsIFdlYkNvcmU6OlJlbW90ZVZpZGVvU2FtcGxlIHNh
bXBsZSkKIH0KIAo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>427879</attachid>
            <date>2021-05-06 06:27:41 -0700</date>
            <delta_ts>2021-05-06 06:28:41 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-225452-20210506152739.patch</filename>
            <type>text/plain</type>
            <size>17240</size>
            <attacher name="youenn fablet">youennf</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjc2NTkyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IGE2ODA3NGUyMDM3M2ZlYWNl
ODZkMjBjMjA5NzYxYmEyMjZhYmNmZWUuLjg5YTQ0NDY5YzZlMzJlMzg0MThiMzY1ZGI1ZDBiMDdi
OWMxYjQzMDcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzggQEAKKzIwMjEtMDUtMDYgIFlvdWVubiBG
YWJsZXQgIDx5b3Vlbm5AYXBwbGUuY29tPgorCisgICAgICAgIFVzZSBJUEM6OlNlbWFwaG9yZSBp
bnN0ZWFkIG9mIHNlbmRpbmcgYW4gSVBDIG1lc3NhZ2UgZm9yIGV2ZXJ5IGNhcHR1cmVkIGF1ZGlv
IHNhbXBsZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
MjI1NDUyCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAg
UHJldmlvdXNseSwgd2Ugd2VyZSBzZW5kaW5nIGFuIElQQyBtZXNzYWdlIGZyb20gVUlQcm9jZXNz
IG9yIEdQVVByb2Nlc3MgdG8gV2ViUHJvY2VzcyBmb3IgZXZlcnkgbWljcm9waG9uZSBhdWRpbyBz
YW1wbGUgY2h1bmsuCisgICAgICAgIFdlIGFyZSBub3cgdXNpbmcgSVBDOjpTZW1hcGhvcmUgdG8g
c2lnbmFsIHRoYXQgYSBuZXcgY2h1bmsgaXMgdG8gYmUgcHJvY2Vzc2VkLgorCisgICAgICAgIFdl
IG5vIGxvbmdlciBzZW5kIHRoZSBjaHVuayB0aW1lc3RhbXAuIEluc3RlYWQsIHdlIHJlY29uc3Ry
dWN0IGl0IGZyb20gdGhlIG51bWJlciBvZiBwcmV2aW91c2x5IHByb2Nlc3NlZCBzYW1wbGVzLgor
ICAgICAgICBBdCBhdWRpbyBzdG9yYWdlIGNoYW5nZSwgd2Ugc2VuZCB0aGUgc3RhcnQgdGltZSBh
bmQgd2UgYXNzdW1lIHRoYXQgdGhlcmUgaXMgY29udGludW91cyB0aW1pbmcgYmFzZWQgb24gc2Ft
cGxlIGNvdW50cy4KKyAgICAgICAgV2UgcHJvY2VzcyBmaXhlZC1zaXplIGNodW5rcywgY3VycmVu
dGx5IDEyOCBzYW1wbGVzIGxpa2UgV2ViQXVkaW8uCisKKyAgICAgICAgVXBkYXRlIElQQ1NlbWFw
aG9yZURhcndpbiBkZWJ1ZyBhc3NlcnRpb25zIHRvIGNvcGUgd2l0aCBzZW1hcGhvcmUgZGVzdHJ1
Y3Rpb24gY2FzZS4KKworICAgICAgICBDb3ZlcmVkIGJ5IGV4aXN0aW5nIHRlc3RzIGFuZCBtYW51
YWxseSB0ZXN0ZWQuCisKKyAgICAgICAgKiBQbGF0Zm9ybS9JUEMvZGFyd2luL0lQQ1NlbWFwaG9y
ZURhcndpbi5jcHA6CisgICAgICAgIChJUEM6OlNlbWFwaG9yZTo6c2lnbmFsKToKKyAgICAgICAg
KElQQzo6U2VtYXBob3JlOjp3YWl0KToKKyAgICAgICAgKElQQzo6U2VtYXBob3JlOjp3YWl0Rm9y
KToKKyAgICAgICAgKiBVSVByb2Nlc3MvQ29jb2EvVXNlck1lZGlhQ2FwdHVyZU1hbmFnZXJQcm94
eS5jcHA6CisgICAgICAgIChXZWJLaXQ6OlVzZXJNZWRpYUNhcHR1cmVNYW5hZ2VyUHJveHk6OlNv
dXJjZVByb3h5OjpzdGFydCk6CisgICAgICAgIChXZWJLaXQ6OlVzZXJNZWRpYUNhcHR1cmVNYW5h
Z2VyUHJveHk6OlNvdXJjZVByb3h5OjpzdG9yYWdlQ2hhbmdlZCk6CisgICAgICAgICogV2ViUHJv
Y2Vzcy9jb2NvYS9SZW1vdGVDYXB0dXJlU2FtcGxlTWFuYWdlci5jcHA6CisgICAgICAgIChXZWJL
aXQ6OlJlbW90ZUNhcHR1cmVTYW1wbGVNYW5hZ2VyOjphdWRpb1N0b3JhZ2VDaGFuZ2VkKToKKyAg
ICAgICAgKFdlYktpdDo6UmVtb3RlQ2FwdHVyZVNhbXBsZU1hbmFnZXI6OlJlbW90ZUF1ZGlvOjpS
ZW1vdGVBdWRpbyk6CisgICAgICAgIChXZWJLaXQ6OlJlbW90ZUNhcHR1cmVTYW1wbGVNYW5hZ2Vy
OjpSZW1vdGVBdWRpbzo6flJlbW90ZUF1ZGlvKToKKyAgICAgICAgKFdlYktpdDo6UmVtb3RlQ2Fw
dHVyZVNhbXBsZU1hbmFnZXI6OlJlbW90ZUF1ZGlvOjpzdG9wVGhyZWFkKToKKyAgICAgICAgKFdl
YktpdDo6UmVtb3RlQ2FwdHVyZVNhbXBsZU1hbmFnZXI6OlJlbW90ZUF1ZGlvOjpzdGFydFRocmVh
ZCk6CisgICAgICAgIChXZWJLaXQ6OlJlbW90ZUNhcHR1cmVTYW1wbGVNYW5hZ2VyOjpSZW1vdGVB
dWRpbzo6c2V0U3RvcmFnZSk6CisgICAgICAgICogV2ViUHJvY2Vzcy9jb2NvYS9SZW1vdGVDYXB0
dXJlU2FtcGxlTWFuYWdlci5oOgorICAgICAgICAqIFdlYlByb2Nlc3MvY29jb2EvUmVtb3RlQ2Fw
dHVyZVNhbXBsZU1hbmFnZXIubWVzc2FnZXMuaW46CisKIDIwMjEtMDUtMDUgIFlvdWVubiBGYWJs
ZXQgIDx5b3Vlbm5AYXBwbGUuY29tPgogCiAgICAgICAgIFJFR1JFU1NJT04gKHIyNzY2MzMpOiBB
U1NFUlRJT04gRkFJTEVEOiAhZm9yYmlkTWFsbG9jVXNlU2NvcGVDb3VudCB8fCBkaXNhYmxlTWFs
bG9jUmVzdHJpY3Rpb25TY29wZUNvdW50CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1BsYXRm
b3JtL0lQQy9kYXJ3aW4vSVBDU2VtYXBob3JlRGFyd2luLmNwcCBiL1NvdXJjZS9XZWJLaXQvUGxh
dGZvcm0vSVBDL2Rhcndpbi9JUENTZW1hcGhvcmVEYXJ3aW4uY3BwCmluZGV4IGI4NjllMGMzMDk4
MTczMmEyOGJkMWU1MjkzODA2NzViNjQ5ZGJlMjcuLjQ2OTc5NWJiOTg2ODMwMzQ1ODMzNTI2YzFl
MDkzMGRjMDUyN2UyYmEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvUGxhdGZvcm0vSVBDL2Rh
cndpbi9JUENTZW1hcGhvcmVEYXJ3aW4uY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvUGxhdGZvcm0v
SVBDL2Rhcndpbi9JUENTZW1hcGhvcmVEYXJ3aW4uY3BwCkBAIC02OSwxMyArNjksMTMgQEAgU2Vt
YXBob3JlJiBTZW1hcGhvcmU6Om9wZXJhdG9yPShTZW1hcGhvcmUmJiBvdGhlcikKIHZvaWQgU2Vt
YXBob3JlOjpzaWduYWwoKQogewogICAgIGF1dG8gcmV0ID0gc2VtYXBob3JlX3NpZ25hbChtX3Nl
bWFwaG9yZSk7Ci0gICAgQVNTRVJUX1VOVVNFRChyZXQsIHJldCA9PSBLRVJOX1NVQ0NFU1MpOwor
ICAgIEFTU0VSVF9VTlVTRUQocmV0LCByZXQgPT0gS0VSTl9TVUNDRVNTIHx8IHJldCA9PSBLRVJO
X1RFUk1JTkFURUQpOwogfQogCiB2b2lkIFNlbWFwaG9yZTo6d2FpdCgpCiB7CiAgICAgYXV0byBy
ZXQgPSBzZW1hcGhvcmVfd2FpdChtX3NlbWFwaG9yZSk7Ci0gICAgQVNTRVJUX1VOVVNFRChyZXQs
IHJldCA9PSBLRVJOX1NVQ0NFU1MpOworICAgIEFTU0VSVF9VTlVTRUQocmV0LCByZXQgPT0gS0VS
Tl9TVUNDRVNTIHx8IHJldCA9PSBLRVJOX1RFUk1JTkFURUQpOwogfQogCiBib29sIFNlbWFwaG9y
ZTo6d2FpdEZvcihUaW1lb3V0IHRpbWVvdXQpCkBAIC04Myw3ICs4Myw3IEBAIGJvb2wgU2VtYXBo
b3JlOjp3YWl0Rm9yKFRpbWVvdXQgdGltZW91dCkKICAgICBTZWNvbmRzIHdhaXRUaW1lID0gdGlt
ZW91dC5zZWNvbmRzVW50aWxEZWFkbGluZSgpOwogICAgIGF1dG8gc2Vjb25kcyA9IHdhaXRUaW1l
LnNlY29uZHNBczx1bnNpZ25lZD4oKTsKICAgICBhdXRvIHJldCA9IHNlbWFwaG9yZV90aW1lZHdh
aXQobV9zZW1hcGhvcmUsIHsgc2Vjb25kcywgc3RhdGljX2Nhc3Q8Y2xvY2tfcmVzX3Q+KHdhaXRU
aW1lLm5hbm9zZWNvbmRzQXM8dWludDY0X3Q+KCkgLSBzZWNvbmRzICogTlNFQ19QRVJfU0VDKSB9
KTsKLSAgICBBU1NFUlQocmV0ID09IEtFUk5fU1VDQ0VTUyB8fCByZXQgPT0gS0VSTl9PUEVSQVRJ
T05fVElNRURfT1VUKTsKKyAgICBBU1NFUlQocmV0ID09IEtFUk5fU1VDQ0VTUyB8fCByZXQgPT0g
S0VSTl9PUEVSQVRJT05fVElNRURfT1VUIHx8IHJldCA9PSBLRVJOX1RFUk1JTkFURUQpOwogICAg
IHJldHVybiByZXQgPT0gS0VSTl9TVUNDRVNTOwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0L1VJUHJvY2Vzcy9Db2NvYS9Vc2VyTWVkaWFDYXB0dXJlTWFuYWdlclByb3h5LmNwcCBiL1Nv
dXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL1VzZXJNZWRpYUNhcHR1cmVNYW5hZ2VyUHJveHku
Y3BwCmluZGV4IDhjODIzZmU0Mzc4NmNiM2RjZTJmZWNlOTBmYjg4ZTQ4MGIzODFjZjcuLmVkYWUz
ZjM5YjljYzg1M2EwY2E5YjE1NDhiYjk2OTI1ZjhiMWU2ZjUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQvVUlQcm9jZXNzL0NvY29hL1VzZXJNZWRpYUNhcHR1cmVNYW5hZ2VyUHJveHkuY3BwCisr
KyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL1VzZXJNZWRpYUNhcHR1cmVNYW5hZ2Vy
UHJveHkuY3BwCkBAIC0zNiw2ICszNiw3IEBACiAjaW5jbHVkZSAiV2ViQ29yZUFyZ3VtZW50Q29k
ZXJzLmgiCiAjaW5jbHVkZSAiV2ViUHJvY2Vzc1Byb3h5LmgiCiAjaW5jbHVkZSA8V2ViQ29yZS9B
dWRpb1Nlc3Npb24uaD4KKyNpbmNsdWRlIDxXZWJDb3JlL0F1ZGlvVXRpbGl0aWVzLmg+CiAjaW5j
bHVkZSA8V2ViQ29yZS9DQVJpbmdCdWZmZXIuaD4KICNpbmNsdWRlIDxXZWJDb3JlL0ltYWdlUm90
YXRpb25TZXNzaW9uVlQuaD4KICNpbmNsdWRlIDxXZWJDb3JlL01lZGlhQ29uc3RyYWludHMuaD4K
QEAgLTEwOCw2ICsxMDksNyBAQCBwdWJsaWM6CiAKICAgICB2b2lkIHN0YXJ0KCkKICAgICB7Cisg
ICAgICAgIG1fc2hvdWxkUmVzZXQgPSB0cnVlOwogICAgICAgICBtX2lzRW5kZWQgPSBmYWxzZTsK
ICAgICAgICAgbV9zb3VyY2UtPnN0YXJ0KCk7CiAgICAgfQpAQCAtMTQ1LDkgKzE0NywxNCBAQCBw
cml2YXRlOgogCiAgICAgLy8gTWF5IGdldCBjYWxsZWQgb24gYSBiYWNrZ3JvdW5kIHRocmVhZC4K
ICAgICB2b2lkIGF1ZGlvU2FtcGxlc0F2YWlsYWJsZShjb25zdCBNZWRpYVRpbWUmIHRpbWUsIGNv
bnN0IFBsYXRmb3JtQXVkaW9EYXRhJiBhdWRpb0RhdGEsIGNvbnN0IEF1ZGlvU3RyZWFtRGVzY3Jp
cHRpb24mIGRlc2NyaXB0aW9uLCBzaXplX3QgbnVtYmVyT2ZGcmFtZXMpIGZpbmFsIHsKLSAgICAg
ICAgRGlzYWJsZU1hbGxvY1Jlc3RyaWN0aW9uc0ZvckN1cnJlbnRUaHJlYWRTY29wZSBzY29wZTsK
LQotICAgICAgICBpZiAobV9kZXNjcmlwdGlvbiAhPSBkZXNjcmlwdGlvbikgeworICAgICAgICBp
ZiAobV9kZXNjcmlwdGlvbiAhPSBkZXNjcmlwdGlvbiB8fCBtX3Nob3VsZFJlc2V0KSB7CisgICAg
ICAgICAgICBEaXNhYmxlTWFsbG9jUmVzdHJpY3Rpb25zRm9yQ3VycmVudFRocmVhZFNjb3BlIHNj
b3BlOworCisgICAgICAgICAgICBtX3Nob3VsZFJlc2V0ID0gZmFsc2U7CisgICAgICAgICAgICBt
X2ZyYW1lQ291bnQgPSAwOworICAgICAgICAgICAgbV9yZW1haW5pbmdGcmFtZUNvdW50ID0gMDsK
KyAgICAgICAgICAgIG1fc3RhcnRUaW1lID0gdGltZTsKKyAgICAgICAgICAgIG1fY2FwdHVyZVNl
bWFwaG9yZSA9IG1ha2VVbmlxdWU8SVBDOjpTZW1hcGhvcmU+KCk7CiAgICAgICAgICAgICBBU1NF
UlQoZGVzY3JpcHRpb24ucGxhdGZvcm1EZXNjcmlwdGlvbigpLnR5cGUgPT0gUGxhdGZvcm1EZXNj
cmlwdGlvbjo6Q0FBdWRpb1N0cmVhbUJhc2ljVHlwZSk7CiAgICAgICAgICAgICBtX2Rlc2NyaXB0
aW9uID0gKldURjo6Z2V0PGNvbnN0IEF1ZGlvU3RyZWFtQmFzaWNEZXNjcmlwdGlvbio+KGRlc2Ny
aXB0aW9uLnBsYXRmb3JtRGVzY3JpcHRpb24oKS5kZXNjcmlwdGlvbik7CiAKQEAgLTE1Nyw4ICsx
NjQsMTYgQEAgcHJpdmF0ZToKICAgICAgICAgfQogCiAgICAgICAgIEFTU0VSVChpczxXZWJBdWRp
b0J1ZmZlckxpc3Q+KGF1ZGlvRGF0YSkpOwotICAgICAgICBtX3JpbmdCdWZmZXIuc3RvcmUoZG93
bmNhc3Q8V2ViQXVkaW9CdWZmZXJMaXN0PihhdWRpb0RhdGEpLmxpc3QoKSwgbnVtYmVyT2ZGcmFt
ZXMsIHRpbWUudGltZVZhbHVlKCkpOwotICAgICAgICBtX2Nvbm5lY3Rpb24tPnNlbmQoTWVzc2Fn
ZXM6OlJlbW90ZUNhcHR1cmVTYW1wbGVNYW5hZ2VyOjpBdWRpb1NhbXBsZXNBdmFpbGFibGUobV9p
ZCwgdGltZSwgbnVtYmVyT2ZGcmFtZXMpLCAwKTsKKyAgICAgICAgbV9yaW5nQnVmZmVyLnN0b3Jl
KGRvd25jYXN0PFdlYkF1ZGlvQnVmZmVyTGlzdD4oYXVkaW9EYXRhKS5saXN0KCksIG51bWJlck9m
RnJhbWVzLCBtX2ZyYW1lQ291bnQpOworICAgICAgICBtX2ZyYW1lQ291bnQgKz0gbnVtYmVyT2ZG
cmFtZXM7CisKKyAgICAgICAgc2l6ZV90IGZyYW1lc1RvU2VuZCA9IG51bWJlck9mRnJhbWVzICsg
bV9yZW1haW5pbmdGcmFtZUNvdW50OworICAgICAgICBzaXplX3Qgc2lnbmFsQ291bnQgPSBmcmFt
ZXNUb1NlbmQgLyBXZWJDb3JlOjpBdWRpb1V0aWxpdGllczo6cmVuZGVyUXVhbnR1bVNpemU7Cisg
ICAgICAgIG1fcmVtYWluaW5nRnJhbWVDb3VudCA9IGZyYW1lc1RvU2VuZCAtIChzaWduYWxDb3Vu
dCAqIFdlYkNvcmU6OkF1ZGlvVXRpbGl0aWVzOjpyZW5kZXJRdWFudHVtU2l6ZSk7CisgICAgICAg
IGZvciAodW5zaWduZWQgaSA9IDA7IGkgPCBzaWduYWxDb3VudDsgKytpKSB7CisgICAgICAgICAg
ICAvLyBBc2sgdGhlIGF1ZGlvIHRocmVhZCBpbiB0aGUgV2ViQ29udGVudCBwcm9jZXNzIHRvIHJl
bmRlciBhIHF1YW50dW0uCisgICAgICAgICAgICBtX2NhcHR1cmVTZW1hcGhvcmUtPnNpZ25hbCgp
OworICAgICAgICB9CiAgICAgfQogCiAgICAgdm9pZCB2aWRlb1NhbXBsZUF2YWlsYWJsZShNZWRp
YVNhbXBsZSYgc2FtcGxlKSBmaW5hbApAQCAtMTk5LDcgKzIxNCw2IEBAIHByaXZhdGU6CiAKICAg
ICB2b2lkIHN0b3JhZ2VDaGFuZ2VkKFNoYXJlZE1lbW9yeSogc3RvcmFnZSwgY29uc3QgV2ViQ29y
ZTo6Q0FBdWRpb1N0cmVhbURlc2NyaXB0aW9uJiBmb3JtYXQsIHNpemVfdCBmcmFtZUNvdW50KQog
ICAgIHsKLSAgICAgICAgRGlzYWJsZU1hbGxvY1Jlc3RyaWN0aW9uc0ZvckN1cnJlbnRUaHJlYWRT
Y29wZSBzY29wZTsKICAgICAgICAgU2hhcmVkTWVtb3J5OjpIYW5kbGUgaGFuZGxlOwogICAgICAg
ICBpZiAoc3RvcmFnZSkKICAgICAgICAgICAgIHN0b3JhZ2UtPmNyZWF0ZUhhbmRsZShoYW5kbGUs
IFNoYXJlZE1lbW9yeTo6UHJvdGVjdGlvbjo6UmVhZE9ubHkpOwpAQCAtMjEwLDcgKzIyNCw3IEBA
IHByaXZhdGU6CiAjZWxzZQogICAgICAgICB1aW50NjRfdCBkYXRhU2l6ZSA9IDA7CiAjZW5kaWYK
LSAgICAgICAgbV9jb25uZWN0aW9uLT5zZW5kKE1lc3NhZ2VzOjpSZW1vdGVDYXB0dXJlU2FtcGxl
TWFuYWdlcjo6QXVkaW9TdG9yYWdlQ2hhbmdlZChtX2lkLCBTaGFyZWRNZW1vcnk6OklQQ0hhbmRs
ZSB7IFdURk1vdmUoaGFuZGxlKSwgIGRhdGFTaXplIH0sIGZvcm1hdCwgZnJhbWVDb3VudCksIDAp
OworICAgICAgICBtX2Nvbm5lY3Rpb24tPnNlbmQoTWVzc2FnZXM6OlJlbW90ZUNhcHR1cmVTYW1w
bGVNYW5hZ2VyOjpBdWRpb1N0b3JhZ2VDaGFuZ2VkKG1faWQsIFNoYXJlZE1lbW9yeTo6SVBDSGFu
ZGxlIHsgV1RGTW92ZShoYW5kbGUpLCAgZGF0YVNpemUgfSwgZm9ybWF0LCBmcmFtZUNvdW50LCAq
bV9jYXB0dXJlU2VtYXBob3JlLCBtX3N0YXJ0VGltZSksIDApOwogICAgIH0KIAogICAgIGJvb2wg
cHJldmVudFNvdXJjZUZyb21TdG9wcGluZygpCkBAIC0yMjksNiArMjQzLDExIEBAIHByaXZhdGU6
CiAgICAgYm9vbCBtX2lzRW5kZWQgeyBmYWxzZSB9OwogICAgIHN0ZDo6dW5pcXVlX3B0cjxJbWFn
ZVJvdGF0aW9uU2Vzc2lvblZUPiBtX3JvdGF0aW9uU2Vzc2lvbjsKICAgICBib29sIG1fc2hvdWxk
QXBwbHlSb3RhdGlvbiB7IGZhbHNlIH07CisgICAgc3RkOjp1bmlxdWVfcHRyPElQQzo6U2VtYXBo
b3JlPiBtX2NhcHR1cmVTZW1hcGhvcmU7CisgICAgaW50NjRfdCBtX2ZyYW1lQ291bnQgeyAwIH07
CisgICAgaW50NjRfdCBtX3JlbWFpbmluZ0ZyYW1lQ291bnQgeyAwIH07CisgICAgTWVkaWFUaW1l
IG1fc3RhcnRUaW1lOworICAgIGJvb2wgbV9zaG91bGRSZXNldCB7IGZhbHNlIH07CiB9OwogCiBV
c2VyTWVkaWFDYXB0dXJlTWFuYWdlclByb3h5OjpVc2VyTWVkaWFDYXB0dXJlTWFuYWdlclByb3h5
KFVuaXF1ZVJlZjxDb25uZWN0aW9uUHJveHk+JiYgY29ubmVjdGlvblByb3h5KQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL2NvY29hL1JlbW90ZUNhcHR1cmVTYW1wbGVNYW5h
Z2VyLmNwcCBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9jb2NvYS9SZW1vdGVDYXB0dXJlU2Ft
cGxlTWFuYWdlci5jcHAKaW5kZXggNzRkM2VkZmI3MjkzMmMyMWZmZDU5MTBhNjhmMTEyYWNmODE3
OThiOS4uNWNlMzA5M2QzNGRkNmQxZjM5MDUyZGExNjg2NTI4YzM5MTZkMmM0MiAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL2NvY29hL1JlbW90ZUNhcHR1cmVTYW1wbGVNYW5h
Z2VyLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvY29jb2EvUmVtb3RlQ2FwdHVy
ZVNhbXBsZU1hbmFnZXIuY3BwCkBAIC0zMCw2ICszMCw3IEBACiAjaW5jbHVkZSAiUmVtb3RlQ2Fw
dHVyZVNhbXBsZU1hbmFnZXJNZXNzYWdlcy5oIgogI2luY2x1ZGUgIlNoYXJlZFJpbmdCdWZmZXJT
dG9yYWdlLmgiCiAjaW5jbHVkZSAiV2ViUHJvY2Vzcy5oIgorI2luY2x1ZGUgPFdlYkNvcmUvQXVk
aW9VdGlsaXRpZXMuaD4KICNpbmNsdWRlIDxXZWJDb3JlL0ltYWdlVHJhbnNmZXJTZXNzaW9uVlQu
aD4KICNpbmNsdWRlIDxXZWJDb3JlL1JlbW90ZVZpZGVvU2FtcGxlLmg+CiAjaW5jbHVkZSA8V2Vi
Q29yZS9XZWJBdWRpb0J1ZmZlckxpc3QuaD4KQEAgLTEyNSw3ICsxMjYsNyBAQCB2b2lkIFJlbW90
ZUNhcHR1cmVTYW1wbGVNYW5hZ2VyOjpkaXNwYXRjaFRvVGhyZWFkKEZ1bmN0aW9uPHZvaWQoKT4m
JiBjYWxsYmFjaykKICAgICBtX3F1ZXVlLT5kaXNwYXRjaChXVEZNb3ZlKGNhbGxiYWNrKSk7CiB9
CiAKLXZvaWQgUmVtb3RlQ2FwdHVyZVNhbXBsZU1hbmFnZXI6OmF1ZGlvU3RvcmFnZUNoYW5nZWQo
V2ViQ29yZTo6UmVhbHRpbWVNZWRpYVNvdXJjZUlkZW50aWZpZXIgaWRlbnRpZmllciwgY29uc3Qg
U2hhcmVkTWVtb3J5OjpJUENIYW5kbGUmIGlwY0hhbmRsZSwgY29uc3QgV2ViQ29yZTo6Q0FBdWRp
b1N0cmVhbURlc2NyaXB0aW9uJiBkZXNjcmlwdGlvbiwgdWludDY0X3QgbnVtYmVyT2ZGcmFtZXMp
Cit2b2lkIFJlbW90ZUNhcHR1cmVTYW1wbGVNYW5hZ2VyOjphdWRpb1N0b3JhZ2VDaGFuZ2VkKFdl
YkNvcmU6OlJlYWx0aW1lTWVkaWFTb3VyY2VJZGVudGlmaWVyIGlkZW50aWZpZXIsIGNvbnN0IFNo
YXJlZE1lbW9yeTo6SVBDSGFuZGxlJiBpcGNIYW5kbGUsIGNvbnN0IFdlYkNvcmU6OkNBQXVkaW9T
dHJlYW1EZXNjcmlwdGlvbiYgZGVzY3JpcHRpb24sIHVpbnQ2NF90IG51bWJlck9mRnJhbWVzLCBJ
UEM6OlNlbWFwaG9yZSYmIHNlbWFwaG9yZSwgY29uc3QgTWVkaWFUaW1lJiBtZWRpYVRpbWUpCiB7
CiAgICAgQVNTRVJUKCFXVEY6OmlzTWFpblJ1bkxvb3AoKSk7CiAKQEAgLTEzNCwxOSArMTM1LDcg
QEAgdm9pZCBSZW1vdGVDYXB0dXJlU2FtcGxlTWFuYWdlcjo6YXVkaW9TdG9yYWdlQ2hhbmdlZChX
ZWJDb3JlOjpSZWFsdGltZU1lZGlhU291cmMKICAgICAgICAgUkVMRUFTRV9MT0dfRVJST1IoV2Vi
UlRDLCAiVW5hYmxlIHRvIGZpbmQgc291cmNlICVsbHUgZm9yIHN0b3JhZ2VDaGFuZ2VkIiwgaWRl
bnRpZmllci50b1VJbnQ2NCgpKTsKICAgICAgICAgcmV0dXJuOwogICAgIH0KLSAgICBpdGVyYXRv
ci0+dmFsdWUtPnNldFN0b3JhZ2UoaXBjSGFuZGxlLmhhbmRsZSwgZGVzY3JpcHRpb24sIG51bWJl
ck9mRnJhbWVzKTsKLX0KLQotdm9pZCBSZW1vdGVDYXB0dXJlU2FtcGxlTWFuYWdlcjo6YXVkaW9T
YW1wbGVzQXZhaWxhYmxlKFdlYkNvcmU6OlJlYWx0aW1lTWVkaWFTb3VyY2VJZGVudGlmaWVyIGlk
ZW50aWZpZXIsIE1lZGlhVGltZSB0aW1lLCB1aW50NjRfdCBudW1iZXJPZkZyYW1lcykKLXsKLSAg
ICBBU1NFUlQoIVdURjo6aXNNYWluUnVuTG9vcCgpKTsKLQotICAgIGF1dG8gaXRlcmF0b3IgPSBt
X2F1ZGlvU291cmNlcy5maW5kKGlkZW50aWZpZXIpOwotICAgIGlmIChpdGVyYXRvciA9PSBtX2F1
ZGlvU291cmNlcy5lbmQoKSkgewotICAgICAgICBSRUxFQVNFX0xPR19FUlJPUihXZWJSVEMsICJV
bmFibGUgdG8gZmluZCBzb3VyY2UgJWxsdSBmb3IgYXVkaW9TYW1wbGVzQXZhaWxhYmxlIiwgaWRl
bnRpZmllci50b1VJbnQ2NCgpKTsKLSAgICAgICAgcmV0dXJuOwotICAgIH0KLSAgICBpdGVyYXRv
ci0+dmFsdWUtPmF1ZGlvU2FtcGxlc0F2YWlsYWJsZSh0aW1lLCBudW1iZXJPZkZyYW1lcyk7Cisg
ICAgaXRlcmF0b3ItPnZhbHVlLT5zZXRTdG9yYWdlKGlwY0hhbmRsZS5oYW5kbGUsIGRlc2NyaXB0
aW9uLCBudW1iZXJPZkZyYW1lcywgV1RGTW92ZShzZW1hcGhvcmUpLCBtZWRpYVRpbWUpOwogfQog
CiB2b2lkIFJlbW90ZUNhcHR1cmVTYW1wbGVNYW5hZ2VyOjp2aWRlb1NhbXBsZUF2YWlsYWJsZShS
ZWFsdGltZU1lZGlhU291cmNlSWRlbnRpZmllciBpZGVudGlmaWVyLCBSZW1vdGVWaWRlb1NhbXBs
ZSYmIHNhbXBsZSkKQEAgLTE2MywzNCArMTUyLDU5IEBAIHZvaWQgUmVtb3RlQ2FwdHVyZVNhbXBs
ZU1hbmFnZXI6OnZpZGVvU2FtcGxlQXZhaWxhYmxlKFJlYWx0aW1lTWVkaWFTb3VyY2VJZGVudGlm
CiAKIFJlbW90ZUNhcHR1cmVTYW1wbGVNYW5hZ2VyOjpSZW1vdGVBdWRpbzo6UmVtb3RlQXVkaW8o
UmVmPFJlbW90ZVJlYWx0aW1lQXVkaW9Tb3VyY2U+JiYgc291cmNlKQogICAgIDogbV9zb3VyY2Uo
V1RGTW92ZShzb3VyY2UpKQotICAgICwgbV9yaW5nQnVmZmVyKG1ha2VVbmlxdWU8Q0FSaW5nQnVm
ZmVyPigpKQogewogfQogCi12b2lkIFJlbW90ZUNhcHR1cmVTYW1wbGVNYW5hZ2VyOjpSZW1vdGVB
dWRpbzo6c2V0U3RvcmFnZShjb25zdCBTaGFyZWRNZW1vcnk6OkhhbmRsZSYgaGFuZGxlLCBjb25z
dCBXZWJDb3JlOjpDQUF1ZGlvU3RyZWFtRGVzY3JpcHRpb24mIGRlc2NyaXB0aW9uLCB1aW50NjRf
dCBudW1iZXJPZkZyYW1lcykKK1JlbW90ZUNhcHR1cmVTYW1wbGVNYW5hZ2VyOjpSZW1vdGVBdWRp
bzo6flJlbW90ZUF1ZGlvKCkKIHsKLSAgICBtX2Rlc2NyaXB0aW9uID0gZGVzY3JpcHRpb247Ci0g
ICAgbV9yaW5nQnVmZmVyID0gbWFrZVVuaXF1ZTxDQVJpbmdCdWZmZXI+KG1ha2VVbmlxdWVSZWY8
UmVhZE9ubHlTaGFyZWRSaW5nQnVmZmVyU3RvcmFnZT4oaGFuZGxlKSwgZGVzY3JpcHRpb24sIG51
bWJlck9mRnJhbWVzKTsKLSAgICBtX2J1ZmZlciA9IG1ha2VVbmlxdWU8V2ViQXVkaW9CdWZmZXJM
aXN0PihkZXNjcmlwdGlvbiwgbnVtYmVyT2ZGcmFtZXMpOworICAgIHN0b3BUaHJlYWQoKTsKIH0K
IAotdm9pZCBSZW1vdGVDYXB0dXJlU2FtcGxlTWFuYWdlcjo6UmVtb3RlQXVkaW86OmF1ZGlvU2Ft
cGxlc0F2YWlsYWJsZShNZWRpYVRpbWUgdGltZSwgdWludDY0X3QgbnVtYmVyT2ZGcmFtZXMpCit2
b2lkIFJlbW90ZUNhcHR1cmVTYW1wbGVNYW5hZ2VyOjpSZW1vdGVBdWRpbzo6c3RvcFRocmVhZCgp
CiB7Ci0gICAgaWYgKCFtX2J1ZmZlcikgewotICAgICAgICBSRUxFQVNFX0xPR19FUlJPUihXZWJS
VEMsICJidWZmZXIgZm9yIGF1ZGlvIHNvdXJjZSAlbGx1IGlzIG51bGwiLCBtX3NvdXJjZS0+aWRl
bnRpZmllcigpLnRvVUludDY0KCkpOworICAgIGlmICghbV90aHJlYWQpCiAgICAgICAgIHJldHVy
bjsKLSAgICB9CiAKLSAgICBpZiAoIVdlYkF1ZGlvQnVmZmVyTGlzdDo6aXNTdXBwb3J0ZWREZXNj
cmlwdGlvbihtX2Rlc2NyaXB0aW9uLCBudW1iZXJPZkZyYW1lcykpIHsKLSAgICAgICAgUkVMRUFT
RV9MT0dfRVJST1IoV2ViUlRDLCAiVW5hYmxlIHRvIHN1cHBvcnQgZGVzY3JpcHRpb24gd2l0aCBn
aXZlbiBudW1iZXIgb2YgZnJhbWVzIGZvciBhdWRpbyBzb3VyY2UgJWxsdSIsIG1fc291cmNlLT5p
ZGVudGlmaWVyKCkudG9VSW50NjQoKSk7Ci0gICAgICAgIHJldHVybjsKLSAgICB9CisgICAgbV9z
aG91bGRTdG9wVGhyZWFkID0gdHJ1ZTsKKyAgICBtX3NlbWFwaG9yZS5zaWduYWwoKTsKKyAgICBt
X3RocmVhZC0+d2FpdEZvckNvbXBsZXRpb24oKTsKKyAgICBtX3RocmVhZCA9IG51bGxwdHI7Cit9
CiAKLSAgICBtX2J1ZmZlci0+c2V0U2FtcGxlQ291bnQobnVtYmVyT2ZGcmFtZXMpOwordm9pZCBS
ZW1vdGVDYXB0dXJlU2FtcGxlTWFuYWdlcjo6UmVtb3RlQXVkaW86OnN0YXJ0VGhyZWFkKCkKK3sK
KyAgICBBU1NFUlQoIW1fdGhyZWFkKTsKKyAgICBtX3Nob3VsZFN0b3BUaHJlYWQgPSBmYWxzZTsK
KyAgICBhdXRvIHRocmVhZExvb3AgPSBbdGhpc10oKSBtdXRhYmxlIHsKKyAgICAgICAgbV9mcmFt
ZUNvdW50ID0gMDsKKyAgICAgICAgZG8geworICAgICAgICAgICAgbV9zZW1hcGhvcmUud2FpdCgp
OworICAgICAgICAgICAgaWYgKG1fc2hvdWxkU3RvcFRocmVhZCkKKyAgICAgICAgICAgICAgICBi
cmVhazsKIAotICAgIG1fcmluZ0J1ZmZlci0+ZmV0Y2gobV9idWZmZXItPmxpc3QoKSwgbnVtYmVy
T2ZGcmFtZXMsIHRpbWUudGltZVZhbHVlKCkpOworICAgICAgICAgICAgbV9yaW5nQnVmZmVyLT5m
ZXRjaChtX2J1ZmZlci0+bGlzdCgpLCBXZWJDb3JlOjpBdWRpb1V0aWxpdGllczo6cmVuZGVyUXVh
bnR1bVNpemUsIG1fZnJhbWVDb3VudCk7CisKKyAgICAgICAgICAgIGF1dG8gY3VycmVudFRpbWUg
PSBtX3N0YXJ0VGltZSArIE1lZGlhVGltZSB7IG1fZnJhbWVDb3VudCwgc3RhdGljX2Nhc3Q8dWlu
dDMyX3Q+KG1fZGVzY3JpcHRpb24uc2FtcGxlUmF0ZSgpKSB9OworICAgICAgICAgICAgbV9zb3Vy
Y2UtPnJlbW90ZUF1ZGlvU2FtcGxlc0F2YWlsYWJsZShjdXJyZW50VGltZSwgKm1fYnVmZmVyLCBt
X2Rlc2NyaXB0aW9uLCBXZWJDb3JlOjpBdWRpb1V0aWxpdGllczo6cmVuZGVyUXVhbnR1bVNpemUp
OworCisgICAgICAgICAgICBtX2ZyYW1lQ291bnQgKz0gV2ViQ29yZTo6QXVkaW9VdGlsaXRpZXM6
OnJlbmRlclF1YW50dW1TaXplOworICAgICAgICB9IHdoaWxlICghbV9zaG91bGRTdG9wVGhyZWFk
KTsKKyAgICB9OworICAgIG1fdGhyZWFkID0gVGhyZWFkOjpjcmVhdGUoIlJlbW90ZUF1ZGlvU291
cmNlUHJvdmlkZXJNYW5hZ2VyOjpSZW1vdGVBdWRpbyB0aHJlYWQiLCBXVEZNb3ZlKHRocmVhZExv
b3ApLCBUaHJlYWRUeXBlOjpBdWRpbywgVGhyZWFkOjpRT1M6OlVzZXJJbnRlcmFjdGl2ZSk7Cit9
CisKK3ZvaWQgUmVtb3RlQ2FwdHVyZVNhbXBsZU1hbmFnZXI6OlJlbW90ZUF1ZGlvOjpzZXRTdG9y
YWdlKGNvbnN0IFNoYXJlZE1lbW9yeTo6SGFuZGxlJiBoYW5kbGUsIGNvbnN0IFdlYkNvcmU6OkNB
QXVkaW9TdHJlYW1EZXNjcmlwdGlvbiYgZGVzY3JpcHRpb24sIHVpbnQ2NF90IG51bWJlck9mRnJh
bWVzLCBJUEM6OlNlbWFwaG9yZSYmIHNlbWFwaG9yZSwgY29uc3QgTWVkaWFUaW1lJiBtZWRpYVRp
bWUpCit7CisgICAgc3RvcFRocmVhZCgpOworCisgICAgbV9zZW1hcGhvcmUgPSBXVEZNb3ZlKHNl
bWFwaG9yZSk7CisgICAgbV9kZXNjcmlwdGlvbiA9IGRlc2NyaXB0aW9uOworICAgIG1fcmluZ0J1
ZmZlciA9IG1ha2VVbmlxdWU8Q0FSaW5nQnVmZmVyPihtYWtlVW5pcXVlUmVmPFJlYWRPbmx5U2hh
cmVkUmluZ0J1ZmZlclN0b3JhZ2U+KGhhbmRsZSksIGRlc2NyaXB0aW9uLCBudW1iZXJPZkZyYW1l
cyk7CisgICAgbV9idWZmZXIgPSBtYWtlVW5pcXVlPFdlYkF1ZGlvQnVmZmVyTGlzdD4oZGVzY3Jp
cHRpb24sIG51bWJlck9mRnJhbWVzKTsKKyAgICBtX2J1ZmZlci0+c2V0U2FtcGxlQ291bnQoV2Vi
Q29yZTo6QXVkaW9VdGlsaXRpZXM6OnJlbmRlclF1YW50dW1TaXplKTsKKyAgICBtX3N0YXJ0VGlt
ZSA9IG1lZGlhVGltZTsKIAotICAgIG1fc291cmNlLT5yZW1vdGVBdWRpb1NhbXBsZXNBdmFpbGFi
bGUodGltZSwgKm1fYnVmZmVyLCBtX2Rlc2NyaXB0aW9uLCBudW1iZXJPZkZyYW1lcyk7CisgICAg
c3RhcnRUaHJlYWQoKTsKIH0KIAogUmVtb3RlQ2FwdHVyZVNhbXBsZU1hbmFnZXI6OlJlbW90ZVZp
ZGVvOjpSZW1vdGVWaWRlbyhSZWY8UmVtb3RlUmVhbHRpbWVWaWRlb1NvdXJjZT4mJiBzb3VyY2Up
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvY29jb2EvUmVtb3RlQ2FwdHVy
ZVNhbXBsZU1hbmFnZXIuaCBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9jb2NvYS9SZW1vdGVD
YXB0dXJlU2FtcGxlTWFuYWdlci5oCmluZGV4IDBhMjc1ZTk4MzYzMmZiOTM3YTZlMGFkOTA4Y2Y3
MDg5MjAyNzQ4YjUuLjI3MzJlZTI5OGMwNDJjMWI4MzMyOTkzOTQ3NTNlY2NkYmE1YmYyMjYgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9jb2NvYS9SZW1vdGVDYXB0dXJlU2Ft
cGxlTWFuYWdlci5oCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9jb2NvYS9SZW1vdGVD
YXB0dXJlU2FtcGxlTWFuYWdlci5oCkBAIC0yOCw2ICsyOCw3IEBACiAjaWYgUExBVEZPUk0oQ09D
T0EpICYmIEVOQUJMRShNRURJQV9TVFJFQU0pCiAKICNpbmNsdWRlICJDb25uZWN0aW9uLmgiCisj
aW5jbHVkZSAiSVBDU2VtYXBob3JlLmgiCiAjaW5jbHVkZSAiTWVzc2FnZVJlY2VpdmVyLmgiCiAj
aW5jbHVkZSAiUmVtb3RlUmVhbHRpbWVBdWRpb1NvdXJjZS5oIgogI2luY2x1ZGUgIlJlbW90ZVJl
YWx0aW1lVmlkZW9Tb3VyY2UuaCIKQEAgLTY1LDcgKzY2LDcgQEAgcHJpdmF0ZToKICAgICB2b2lk
IGRpc3BhdGNoVG9UaHJlYWQoRnVuY3Rpb248dm9pZCgpPiYmKSBmaW5hbDsKIAogICAgIC8vIE1l
c3NhZ2VzCi0gICAgdm9pZCBhdWRpb1N0b3JhZ2VDaGFuZ2VkKFdlYkNvcmU6OlJlYWx0aW1lTWVk
aWFTb3VyY2VJZGVudGlmaWVyLCBjb25zdCBTaGFyZWRNZW1vcnk6OklQQ0hhbmRsZSYsIGNvbnN0
IFdlYkNvcmU6OkNBQXVkaW9TdHJlYW1EZXNjcmlwdGlvbiYsIHVpbnQ2NF90IG51bWJlck9mRnJh
bWVzKTsKKyAgICB2b2lkIGF1ZGlvU3RvcmFnZUNoYW5nZWQoV2ViQ29yZTo6UmVhbHRpbWVNZWRp
YVNvdXJjZUlkZW50aWZpZXIsIGNvbnN0IFNoYXJlZE1lbW9yeTo6SVBDSGFuZGxlJiwgY29uc3Qg
V2ViQ29yZTo6Q0FBdWRpb1N0cmVhbURlc2NyaXB0aW9uJiwgdWludDY0X3QgbnVtYmVyT2ZGcmFt
ZXMsIElQQzo6U2VtYXBob3JlJiYsIGNvbnN0IE1lZGlhVGltZSYpOwogICAgIHZvaWQgYXVkaW9T
YW1wbGVzQXZhaWxhYmxlKFdlYkNvcmU6OlJlYWx0aW1lTWVkaWFTb3VyY2VJZGVudGlmaWVyLCBN
ZWRpYVRpbWUsIHVpbnQ2NF90IG51bWJlck9mRnJhbWVzKTsKICAgICB2b2lkIHZpZGVvU2FtcGxl
QXZhaWxhYmxlKFdlYkNvcmU6OlJlYWx0aW1lTWVkaWFTb3VyY2VJZGVudGlmaWVyLCBXZWJDb3Jl
OjpSZW1vdGVWaWRlb1NhbXBsZSYmKTsKIApAQCAtNzUsMTUgKzc2LDI0IEBAIHByaXZhdGU6CiAg
ICAgICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogICAgIHB1YmxpYzoKICAgICAgICAgZXhw
bGljaXQgUmVtb3RlQXVkaW8oUmVmPFJlbW90ZVJlYWx0aW1lQXVkaW9Tb3VyY2U+JiYpOworICAg
ICAgICB+UmVtb3RlQXVkaW8oKTsKIAotICAgICAgICB2b2lkIHNldFN0b3JhZ2UoY29uc3QgU2hh
cmVkTWVtb3J5OjpIYW5kbGUmLCBjb25zdCBXZWJDb3JlOjpDQUF1ZGlvU3RyZWFtRGVzY3JpcHRp
b24mLCB1aW50NjRfdCBudW1iZXJPZkZyYW1lcyk7Ci0gICAgICAgIHZvaWQgYXVkaW9TYW1wbGVz
QXZhaWxhYmxlKE1lZGlhVGltZSwgdWludDY0X3QgbnVtYmVyT2ZGcmFtZXMpOworICAgICAgICB2
b2lkIHNldFN0b3JhZ2UoY29uc3QgU2hhcmVkTWVtb3J5OjpIYW5kbGUmLCBjb25zdCBXZWJDb3Jl
OjpDQUF1ZGlvU3RyZWFtRGVzY3JpcHRpb24mLCB1aW50NjRfdCBudW1iZXJPZkZyYW1lcywgSVBD
OjpTZW1hcGhvcmUmJiwgY29uc3QgTWVkaWFUaW1lJik7CiAKICAgICBwcml2YXRlOgorICAgICAg
ICB2b2lkIHN0b3BUaHJlYWQoKTsKKyAgICAgICAgdm9pZCBzdGFydFRocmVhZCgpOworCiAgICAg
ICAgIFJlZjxSZW1vdGVSZWFsdGltZUF1ZGlvU291cmNlPiBtX3NvdXJjZTsKICAgICAgICAgV2Vi
Q29yZTo6Q0FBdWRpb1N0cmVhbURlc2NyaXB0aW9uIG1fZGVzY3JpcHRpb247Ci0gICAgICAgIHN0
ZDo6dW5pcXVlX3B0cjxXZWJDb3JlOjpDQVJpbmdCdWZmZXI+IG1fcmluZ0J1ZmZlcjsKICAgICAg
ICAgc3RkOjp1bmlxdWVfcHRyPFdlYkNvcmU6OldlYkF1ZGlvQnVmZmVyTGlzdD4gbV9idWZmZXI7
CisgICAgICAgIHN0ZDo6dW5pcXVlX3B0cjxXZWJDb3JlOjpDQVJpbmdCdWZmZXI+IG1fcmluZ0J1
ZmZlcjsKKyAgICAgICAgaW50NjRfdCBtX2ZyYW1lQ291bnQgeyAwIH07CisgICAgICAgIE1lZGlh
VGltZSBtX3N0YXJ0VGltZTsKKworICAgICAgICBJUEM6OlNlbWFwaG9yZSBtX3NlbWFwaG9yZTsK
KyAgICAgICAgUmVmUHRyPFRocmVhZD4gbV90aHJlYWQ7CisgICAgICAgIHN0ZDo6YXRvbWljPGJv
b2w+IG1fc2hvdWxkU3RvcFRocmVhZCB7IGZhbHNlIH07CiAgICAgfTsKIAogICAgIGNsYXNzIFJl
bW90ZVZpZGVvIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9jb2NvYS9S
ZW1vdGVDYXB0dXJlU2FtcGxlTWFuYWdlci5tZXNzYWdlcy5pbiBiL1NvdXJjZS9XZWJLaXQvV2Vi
UHJvY2Vzcy9jb2NvYS9SZW1vdGVDYXB0dXJlU2FtcGxlTWFuYWdlci5tZXNzYWdlcy5pbgppbmRl
eCBjNjQ1NjQ1MDBiNGJiNzRjZjM5OTljNDQ2NzIzNDI1M2RiMGIzM2NjLi5hNWJhMThiOWQ0OWUy
ODk1Yzg2ODU3NjhlZDQ5NDQ2MzQ4MWU1MTY3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dl
YlByb2Nlc3MvY29jb2EvUmVtb3RlQ2FwdHVyZVNhbXBsZU1hbmFnZXIubWVzc2FnZXMuaW4KKysr
IGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL2NvY29hL1JlbW90ZUNhcHR1cmVTYW1wbGVNYW5h
Z2VyLm1lc3NhZ2VzLmluCkBAIC0yNCw4ICsyNCw3IEBACiAjaWYgRU5BQkxFKE1FRElBX1NUUkVB
TSkKIAogbWVzc2FnZXMgLT4gUmVtb3RlQ2FwdHVyZVNhbXBsZU1hbmFnZXIgTm90UmVmQ291bnRl
ZCB7Ci0gICAgQXVkaW9TdG9yYWdlQ2hhbmdlZChXZWJDb3JlOjpSZWFsdGltZU1lZGlhU291cmNl
SWRlbnRpZmllciBpZCwgV2ViS2l0OjpTaGFyZWRNZW1vcnk6OklQQ0hhbmRsZSBzdG9yYWdlSGFu
ZGxlLCBXZWJDb3JlOjpDQUF1ZGlvU3RyZWFtRGVzY3JpcHRpb24gZGVzY3JpcHRpb24sIHVpbnQ2
NF90IG51bWJlck9mRnJhbWVzKQotICAgIEF1ZGlvU2FtcGxlc0F2YWlsYWJsZShXZWJDb3JlOjpS
ZWFsdGltZU1lZGlhU291cmNlSWRlbnRpZmllciBpZCwgTWVkaWFUaW1lIHRpbWUsIHVpbnQ2NF90
IG51bWJlck9mRnJhbWVzKQorICAgIEF1ZGlvU3RvcmFnZUNoYW5nZWQoV2ViQ29yZTo6UmVhbHRp
bWVNZWRpYVNvdXJjZUlkZW50aWZpZXIgaWQsIFdlYktpdDo6U2hhcmVkTWVtb3J5OjpJUENIYW5k
bGUgc3RvcmFnZUhhbmRsZSwgV2ViQ29yZTo6Q0FBdWRpb1N0cmVhbURlc2NyaXB0aW9uIGRlc2Ny
aXB0aW9uLCB1aW50NjRfdCBudW1iZXJPZkZyYW1lcywgSVBDOjpTZW1hcGhvcmUgY2FwdHVyZVNl
bWFwaG9yZSwgTWVkaWFUaW1lIG1lZGlhVGltZSk7CiAgICAgVmlkZW9TYW1wbGVBdmFpbGFibGUo
V2ViQ29yZTo6UmVhbHRpbWVNZWRpYVNvdXJjZUlkZW50aWZpZXIgaWQsIFdlYkNvcmU6OlJlbW90
ZVZpZGVvU2FtcGxlIHNhbXBsZSkKIH0KIAo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>427880</attachid>
            <date>2021-05-06 06:28:46 -0700</date>
            <delta_ts>2021-05-06 08:21:29 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-225452-20210506152844.patch</filename>
            <type>text/plain</type>
            <size>17143</size>
            <attacher name="youenn fablet">youennf</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjc2NTkyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IGE2ODA3NGUyMDM3M2ZlYWNl
ODZkMjBjMjA5NzYxYmEyMjZhYmNmZWUuLjg5YTQ0NDY5YzZlMzJlMzg0MThiMzY1ZGI1ZDBiMDdi
OWMxYjQzMDcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzggQEAKKzIwMjEtMDUtMDYgIFlvdWVubiBG
YWJsZXQgIDx5b3Vlbm5AYXBwbGUuY29tPgorCisgICAgICAgIFVzZSBJUEM6OlNlbWFwaG9yZSBp
bnN0ZWFkIG9mIHNlbmRpbmcgYW4gSVBDIG1lc3NhZ2UgZm9yIGV2ZXJ5IGNhcHR1cmVkIGF1ZGlv
IHNhbXBsZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
MjI1NDUyCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAg
UHJldmlvdXNseSwgd2Ugd2VyZSBzZW5kaW5nIGFuIElQQyBtZXNzYWdlIGZyb20gVUlQcm9jZXNz
IG9yIEdQVVByb2Nlc3MgdG8gV2ViUHJvY2VzcyBmb3IgZXZlcnkgbWljcm9waG9uZSBhdWRpbyBz
YW1wbGUgY2h1bmsuCisgICAgICAgIFdlIGFyZSBub3cgdXNpbmcgSVBDOjpTZW1hcGhvcmUgdG8g
c2lnbmFsIHRoYXQgYSBuZXcgY2h1bmsgaXMgdG8gYmUgcHJvY2Vzc2VkLgorCisgICAgICAgIFdl
IG5vIGxvbmdlciBzZW5kIHRoZSBjaHVuayB0aW1lc3RhbXAuIEluc3RlYWQsIHdlIHJlY29uc3Ry
dWN0IGl0IGZyb20gdGhlIG51bWJlciBvZiBwcmV2aW91c2x5IHByb2Nlc3NlZCBzYW1wbGVzLgor
ICAgICAgICBBdCBhdWRpbyBzdG9yYWdlIGNoYW5nZSwgd2Ugc2VuZCB0aGUgc3RhcnQgdGltZSBh
bmQgd2UgYXNzdW1lIHRoYXQgdGhlcmUgaXMgY29udGludW91cyB0aW1pbmcgYmFzZWQgb24gc2Ft
cGxlIGNvdW50cy4KKyAgICAgICAgV2UgcHJvY2VzcyBmaXhlZC1zaXplIGNodW5rcywgY3VycmVu
dGx5IDEyOCBzYW1wbGVzIGxpa2UgV2ViQXVkaW8uCisKKyAgICAgICAgVXBkYXRlIElQQ1NlbWFw
aG9yZURhcndpbiBkZWJ1ZyBhc3NlcnRpb25zIHRvIGNvcGUgd2l0aCBzZW1hcGhvcmUgZGVzdHJ1
Y3Rpb24gY2FzZS4KKworICAgICAgICBDb3ZlcmVkIGJ5IGV4aXN0aW5nIHRlc3RzIGFuZCBtYW51
YWxseSB0ZXN0ZWQuCisKKyAgICAgICAgKiBQbGF0Zm9ybS9JUEMvZGFyd2luL0lQQ1NlbWFwaG9y
ZURhcndpbi5jcHA6CisgICAgICAgIChJUEM6OlNlbWFwaG9yZTo6c2lnbmFsKToKKyAgICAgICAg
KElQQzo6U2VtYXBob3JlOjp3YWl0KToKKyAgICAgICAgKElQQzo6U2VtYXBob3JlOjp3YWl0Rm9y
KToKKyAgICAgICAgKiBVSVByb2Nlc3MvQ29jb2EvVXNlck1lZGlhQ2FwdHVyZU1hbmFnZXJQcm94
eS5jcHA6CisgICAgICAgIChXZWJLaXQ6OlVzZXJNZWRpYUNhcHR1cmVNYW5hZ2VyUHJveHk6OlNv
dXJjZVByb3h5OjpzdGFydCk6CisgICAgICAgIChXZWJLaXQ6OlVzZXJNZWRpYUNhcHR1cmVNYW5h
Z2VyUHJveHk6OlNvdXJjZVByb3h5OjpzdG9yYWdlQ2hhbmdlZCk6CisgICAgICAgICogV2ViUHJv
Y2Vzcy9jb2NvYS9SZW1vdGVDYXB0dXJlU2FtcGxlTWFuYWdlci5jcHA6CisgICAgICAgIChXZWJL
aXQ6OlJlbW90ZUNhcHR1cmVTYW1wbGVNYW5hZ2VyOjphdWRpb1N0b3JhZ2VDaGFuZ2VkKToKKyAg
ICAgICAgKFdlYktpdDo6UmVtb3RlQ2FwdHVyZVNhbXBsZU1hbmFnZXI6OlJlbW90ZUF1ZGlvOjpS
ZW1vdGVBdWRpbyk6CisgICAgICAgIChXZWJLaXQ6OlJlbW90ZUNhcHR1cmVTYW1wbGVNYW5hZ2Vy
OjpSZW1vdGVBdWRpbzo6flJlbW90ZUF1ZGlvKToKKyAgICAgICAgKFdlYktpdDo6UmVtb3RlQ2Fw
dHVyZVNhbXBsZU1hbmFnZXI6OlJlbW90ZUF1ZGlvOjpzdG9wVGhyZWFkKToKKyAgICAgICAgKFdl
YktpdDo6UmVtb3RlQ2FwdHVyZVNhbXBsZU1hbmFnZXI6OlJlbW90ZUF1ZGlvOjpzdGFydFRocmVh
ZCk6CisgICAgICAgIChXZWJLaXQ6OlJlbW90ZUNhcHR1cmVTYW1wbGVNYW5hZ2VyOjpSZW1vdGVB
dWRpbzo6c2V0U3RvcmFnZSk6CisgICAgICAgICogV2ViUHJvY2Vzcy9jb2NvYS9SZW1vdGVDYXB0
dXJlU2FtcGxlTWFuYWdlci5oOgorICAgICAgICAqIFdlYlByb2Nlc3MvY29jb2EvUmVtb3RlQ2Fw
dHVyZVNhbXBsZU1hbmFnZXIubWVzc2FnZXMuaW46CisKIDIwMjEtMDUtMDUgIFlvdWVubiBGYWJs
ZXQgIDx5b3Vlbm5AYXBwbGUuY29tPgogCiAgICAgICAgIFJFR1JFU1NJT04gKHIyNzY2MzMpOiBB
U1NFUlRJT04gRkFJTEVEOiAhZm9yYmlkTWFsbG9jVXNlU2NvcGVDb3VudCB8fCBkaXNhYmxlTWFs
bG9jUmVzdHJpY3Rpb25TY29wZUNvdW50CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1BsYXRm
b3JtL0lQQy9kYXJ3aW4vSVBDU2VtYXBob3JlRGFyd2luLmNwcCBiL1NvdXJjZS9XZWJLaXQvUGxh
dGZvcm0vSVBDL2Rhcndpbi9JUENTZW1hcGhvcmVEYXJ3aW4uY3BwCmluZGV4IGI4NjllMGMzMDk4
MTczMmEyOGJkMWU1MjkzODA2NzViNjQ5ZGJlMjcuLjQ2OTc5NWJiOTg2ODMwMzQ1ODMzNTI2YzFl
MDkzMGRjMDUyN2UyYmEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvUGxhdGZvcm0vSVBDL2Rh
cndpbi9JUENTZW1hcGhvcmVEYXJ3aW4uY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvUGxhdGZvcm0v
SVBDL2Rhcndpbi9JUENTZW1hcGhvcmVEYXJ3aW4uY3BwCkBAIC02OSwxMyArNjksMTMgQEAgU2Vt
YXBob3JlJiBTZW1hcGhvcmU6Om9wZXJhdG9yPShTZW1hcGhvcmUmJiBvdGhlcikKIHZvaWQgU2Vt
YXBob3JlOjpzaWduYWwoKQogewogICAgIGF1dG8gcmV0ID0gc2VtYXBob3JlX3NpZ25hbChtX3Nl
bWFwaG9yZSk7Ci0gICAgQVNTRVJUX1VOVVNFRChyZXQsIHJldCA9PSBLRVJOX1NVQ0NFU1MpOwor
ICAgIEFTU0VSVF9VTlVTRUQocmV0LCByZXQgPT0gS0VSTl9TVUNDRVNTIHx8IHJldCA9PSBLRVJO
X1RFUk1JTkFURUQpOwogfQogCiB2b2lkIFNlbWFwaG9yZTo6d2FpdCgpCiB7CiAgICAgYXV0byBy
ZXQgPSBzZW1hcGhvcmVfd2FpdChtX3NlbWFwaG9yZSk7Ci0gICAgQVNTRVJUX1VOVVNFRChyZXQs
IHJldCA9PSBLRVJOX1NVQ0NFU1MpOworICAgIEFTU0VSVF9VTlVTRUQocmV0LCByZXQgPT0gS0VS
Tl9TVUNDRVNTIHx8IHJldCA9PSBLRVJOX1RFUk1JTkFURUQpOwogfQogCiBib29sIFNlbWFwaG9y
ZTo6d2FpdEZvcihUaW1lb3V0IHRpbWVvdXQpCkBAIC04Myw3ICs4Myw3IEBAIGJvb2wgU2VtYXBo
b3JlOjp3YWl0Rm9yKFRpbWVvdXQgdGltZW91dCkKICAgICBTZWNvbmRzIHdhaXRUaW1lID0gdGlt
ZW91dC5zZWNvbmRzVW50aWxEZWFkbGluZSgpOwogICAgIGF1dG8gc2Vjb25kcyA9IHdhaXRUaW1l
LnNlY29uZHNBczx1bnNpZ25lZD4oKTsKICAgICBhdXRvIHJldCA9IHNlbWFwaG9yZV90aW1lZHdh
aXQobV9zZW1hcGhvcmUsIHsgc2Vjb25kcywgc3RhdGljX2Nhc3Q8Y2xvY2tfcmVzX3Q+KHdhaXRU
aW1lLm5hbm9zZWNvbmRzQXM8dWludDY0X3Q+KCkgLSBzZWNvbmRzICogTlNFQ19QRVJfU0VDKSB9
KTsKLSAgICBBU1NFUlQocmV0ID09IEtFUk5fU1VDQ0VTUyB8fCByZXQgPT0gS0VSTl9PUEVSQVRJ
T05fVElNRURfT1VUKTsKKyAgICBBU1NFUlQocmV0ID09IEtFUk5fU1VDQ0VTUyB8fCByZXQgPT0g
S0VSTl9PUEVSQVRJT05fVElNRURfT1VUIHx8IHJldCA9PSBLRVJOX1RFUk1JTkFURUQpOwogICAg
IHJldHVybiByZXQgPT0gS0VSTl9TVUNDRVNTOwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0L1VJUHJvY2Vzcy9Db2NvYS9Vc2VyTWVkaWFDYXB0dXJlTWFuYWdlclByb3h5LmNwcCBiL1Nv
dXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL1VzZXJNZWRpYUNhcHR1cmVNYW5hZ2VyUHJveHku
Y3BwCmluZGV4IDhjODIzZmU0Mzc4NmNiM2RjZTJmZWNlOTBmYjg4ZTQ4MGIzODFjZjcuLjRjOGNj
MWEyMjA3YmQ1YTg4NDNmMDM0NmRjNWUyOGI4ZGEyNzVjOTYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQvVUlQcm9jZXNzL0NvY29hL1VzZXJNZWRpYUNhcHR1cmVNYW5hZ2VyUHJveHkuY3BwCisr
KyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL1VzZXJNZWRpYUNhcHR1cmVNYW5hZ2Vy
UHJveHkuY3BwCkBAIC0zNiw2ICszNiw3IEBACiAjaW5jbHVkZSAiV2ViQ29yZUFyZ3VtZW50Q29k
ZXJzLmgiCiAjaW5jbHVkZSAiV2ViUHJvY2Vzc1Byb3h5LmgiCiAjaW5jbHVkZSA8V2ViQ29yZS9B
dWRpb1Nlc3Npb24uaD4KKyNpbmNsdWRlIDxXZWJDb3JlL0F1ZGlvVXRpbGl0aWVzLmg+CiAjaW5j
bHVkZSA8V2ViQ29yZS9DQVJpbmdCdWZmZXIuaD4KICNpbmNsdWRlIDxXZWJDb3JlL0ltYWdlUm90
YXRpb25TZXNzaW9uVlQuaD4KICNpbmNsdWRlIDxXZWJDb3JlL01lZGlhQ29uc3RyYWludHMuaD4K
QEAgLTEwOCw2ICsxMDksNyBAQCBwdWJsaWM6CiAKICAgICB2b2lkIHN0YXJ0KCkKICAgICB7Cisg
ICAgICAgIG1fc2hvdWxkUmVzZXQgPSB0cnVlOwogICAgICAgICBtX2lzRW5kZWQgPSBmYWxzZTsK
ICAgICAgICAgbV9zb3VyY2UtPnN0YXJ0KCk7CiAgICAgfQpAQCAtMTQ1LDkgKzE0NywxNCBAQCBw
cml2YXRlOgogCiAgICAgLy8gTWF5IGdldCBjYWxsZWQgb24gYSBiYWNrZ3JvdW5kIHRocmVhZC4K
ICAgICB2b2lkIGF1ZGlvU2FtcGxlc0F2YWlsYWJsZShjb25zdCBNZWRpYVRpbWUmIHRpbWUsIGNv
bnN0IFBsYXRmb3JtQXVkaW9EYXRhJiBhdWRpb0RhdGEsIGNvbnN0IEF1ZGlvU3RyZWFtRGVzY3Jp
cHRpb24mIGRlc2NyaXB0aW9uLCBzaXplX3QgbnVtYmVyT2ZGcmFtZXMpIGZpbmFsIHsKLSAgICAg
ICAgRGlzYWJsZU1hbGxvY1Jlc3RyaWN0aW9uc0ZvckN1cnJlbnRUaHJlYWRTY29wZSBzY29wZTsK
LQotICAgICAgICBpZiAobV9kZXNjcmlwdGlvbiAhPSBkZXNjcmlwdGlvbikgeworICAgICAgICBp
ZiAobV9kZXNjcmlwdGlvbiAhPSBkZXNjcmlwdGlvbiB8fCBtX3Nob3VsZFJlc2V0KSB7CisgICAg
ICAgICAgICBEaXNhYmxlTWFsbG9jUmVzdHJpY3Rpb25zRm9yQ3VycmVudFRocmVhZFNjb3BlIHNj
b3BlOworCisgICAgICAgICAgICBtX3Nob3VsZFJlc2V0ID0gZmFsc2U7CisgICAgICAgICAgICBt
X2ZyYW1lQ291bnQgPSAwOworICAgICAgICAgICAgbV9yZW1haW5pbmdGcmFtZUNvdW50ID0gMDsK
KyAgICAgICAgICAgIG1fc3RhcnRUaW1lID0gdGltZTsKKyAgICAgICAgICAgIG1fY2FwdHVyZVNl
bWFwaG9yZSA9IG1ha2VVbmlxdWU8SVBDOjpTZW1hcGhvcmU+KCk7CiAgICAgICAgICAgICBBU1NF
UlQoZGVzY3JpcHRpb24ucGxhdGZvcm1EZXNjcmlwdGlvbigpLnR5cGUgPT0gUGxhdGZvcm1EZXNj
cmlwdGlvbjo6Q0FBdWRpb1N0cmVhbUJhc2ljVHlwZSk7CiAgICAgICAgICAgICBtX2Rlc2NyaXB0
aW9uID0gKldURjo6Z2V0PGNvbnN0IEF1ZGlvU3RyZWFtQmFzaWNEZXNjcmlwdGlvbio+KGRlc2Ny
aXB0aW9uLnBsYXRmb3JtRGVzY3JpcHRpb24oKS5kZXNjcmlwdGlvbik7CiAKQEAgLTE1Nyw4ICsx
NjQsMTQgQEAgcHJpdmF0ZToKICAgICAgICAgfQogCiAgICAgICAgIEFTU0VSVChpczxXZWJBdWRp
b0J1ZmZlckxpc3Q+KGF1ZGlvRGF0YSkpOwotICAgICAgICBtX3JpbmdCdWZmZXIuc3RvcmUoZG93
bmNhc3Q8V2ViQXVkaW9CdWZmZXJMaXN0PihhdWRpb0RhdGEpLmxpc3QoKSwgbnVtYmVyT2ZGcmFt
ZXMsIHRpbWUudGltZVZhbHVlKCkpOwotICAgICAgICBtX2Nvbm5lY3Rpb24tPnNlbmQoTWVzc2Fn
ZXM6OlJlbW90ZUNhcHR1cmVTYW1wbGVNYW5hZ2VyOjpBdWRpb1NhbXBsZXNBdmFpbGFibGUobV9p
ZCwgdGltZSwgbnVtYmVyT2ZGcmFtZXMpLCAwKTsKKyAgICAgICAgbV9yaW5nQnVmZmVyLnN0b3Jl
KGRvd25jYXN0PFdlYkF1ZGlvQnVmZmVyTGlzdD4oYXVkaW9EYXRhKS5saXN0KCksIG51bWJlck9m
RnJhbWVzLCBtX2ZyYW1lQ291bnQpOworICAgICAgICBtX2ZyYW1lQ291bnQgKz0gbnVtYmVyT2ZG
cmFtZXM7CisKKyAgICAgICAgc2l6ZV90IGZyYW1lc1RvU2VuZCA9IG51bWJlck9mRnJhbWVzICsg
bV9yZW1haW5pbmdGcmFtZUNvdW50OworICAgICAgICBzaXplX3Qgc2lnbmFsQ291bnQgPSBmcmFt
ZXNUb1NlbmQgLyBXZWJDb3JlOjpBdWRpb1V0aWxpdGllczo6cmVuZGVyUXVhbnR1bVNpemU7Cisg
ICAgICAgIG1fcmVtYWluaW5nRnJhbWVDb3VudCA9IGZyYW1lc1RvU2VuZCAtIChzaWduYWxDb3Vu
dCAqIFdlYkNvcmU6OkF1ZGlvVXRpbGl0aWVzOjpyZW5kZXJRdWFudHVtU2l6ZSk7CisgICAgICAg
IGZvciAodW5zaWduZWQgaSA9IDA7IGkgPCBzaWduYWxDb3VudDsgKytpKQorICAgICAgICAgICAg
bV9jYXB0dXJlU2VtYXBob3JlLT5zaWduYWwoKTsKICAgICB9CiAKICAgICB2b2lkIHZpZGVvU2Ft
cGxlQXZhaWxhYmxlKE1lZGlhU2FtcGxlJiBzYW1wbGUpIGZpbmFsCkBAIC0xOTksNyArMjEyLDYg
QEAgcHJpdmF0ZToKIAogICAgIHZvaWQgc3RvcmFnZUNoYW5nZWQoU2hhcmVkTWVtb3J5KiBzdG9y
YWdlLCBjb25zdCBXZWJDb3JlOjpDQUF1ZGlvU3RyZWFtRGVzY3JpcHRpb24mIGZvcm1hdCwgc2l6
ZV90IGZyYW1lQ291bnQpCiAgICAgewotICAgICAgICBEaXNhYmxlTWFsbG9jUmVzdHJpY3Rpb25z
Rm9yQ3VycmVudFRocmVhZFNjb3BlIHNjb3BlOwogICAgICAgICBTaGFyZWRNZW1vcnk6OkhhbmRs
ZSBoYW5kbGU7CiAgICAgICAgIGlmIChzdG9yYWdlKQogICAgICAgICAgICAgc3RvcmFnZS0+Y3Jl
YXRlSGFuZGxlKGhhbmRsZSwgU2hhcmVkTWVtb3J5OjpQcm90ZWN0aW9uOjpSZWFkT25seSk7CkBA
IC0yMTAsNyArMjIyLDcgQEAgcHJpdmF0ZToKICNlbHNlCiAgICAgICAgIHVpbnQ2NF90IGRhdGFT
aXplID0gMDsKICNlbmRpZgotICAgICAgICBtX2Nvbm5lY3Rpb24tPnNlbmQoTWVzc2FnZXM6OlJl
bW90ZUNhcHR1cmVTYW1wbGVNYW5hZ2VyOjpBdWRpb1N0b3JhZ2VDaGFuZ2VkKG1faWQsIFNoYXJl
ZE1lbW9yeTo6SVBDSGFuZGxlIHsgV1RGTW92ZShoYW5kbGUpLCAgZGF0YVNpemUgfSwgZm9ybWF0
LCBmcmFtZUNvdW50KSwgMCk7CisgICAgICAgIG1fY29ubmVjdGlvbi0+c2VuZChNZXNzYWdlczo6
UmVtb3RlQ2FwdHVyZVNhbXBsZU1hbmFnZXI6OkF1ZGlvU3RvcmFnZUNoYW5nZWQobV9pZCwgU2hh
cmVkTWVtb3J5OjpJUENIYW5kbGUgeyBXVEZNb3ZlKGhhbmRsZSksICBkYXRhU2l6ZSB9LCBmb3Jt
YXQsIGZyYW1lQ291bnQsICptX2NhcHR1cmVTZW1hcGhvcmUsIG1fc3RhcnRUaW1lKSwgMCk7CiAg
ICAgfQogCiAgICAgYm9vbCBwcmV2ZW50U291cmNlRnJvbVN0b3BwaW5nKCkKQEAgLTIyOSw2ICsy
NDEsMTEgQEAgcHJpdmF0ZToKICAgICBib29sIG1faXNFbmRlZCB7IGZhbHNlIH07CiAgICAgc3Rk
Ojp1bmlxdWVfcHRyPEltYWdlUm90YXRpb25TZXNzaW9uVlQ+IG1fcm90YXRpb25TZXNzaW9uOwog
ICAgIGJvb2wgbV9zaG91bGRBcHBseVJvdGF0aW9uIHsgZmFsc2UgfTsKKyAgICBzdGQ6OnVuaXF1
ZV9wdHI8SVBDOjpTZW1hcGhvcmU+IG1fY2FwdHVyZVNlbWFwaG9yZTsKKyAgICBpbnQ2NF90IG1f
ZnJhbWVDb3VudCB7IDAgfTsKKyAgICBpbnQ2NF90IG1fcmVtYWluaW5nRnJhbWVDb3VudCB7IDAg
fTsKKyAgICBNZWRpYVRpbWUgbV9zdGFydFRpbWU7CisgICAgYm9vbCBtX3Nob3VsZFJlc2V0IHsg
ZmFsc2UgfTsKIH07CiAKIFVzZXJNZWRpYUNhcHR1cmVNYW5hZ2VyUHJveHk6OlVzZXJNZWRpYUNh
cHR1cmVNYW5hZ2VyUHJveHkoVW5pcXVlUmVmPENvbm5lY3Rpb25Qcm94eT4mJiBjb25uZWN0aW9u
UHJveHkpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvY29jb2EvUmVtb3Rl
Q2FwdHVyZVNhbXBsZU1hbmFnZXIuY3BwIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL2NvY29h
L1JlbW90ZUNhcHR1cmVTYW1wbGVNYW5hZ2VyLmNwcAppbmRleCA3NGQzZWRmYjcyOTMyYzIxZmZk
NTkxMGE2OGYxMTJhY2Y4MTc5OGI5Li41Y2UzMDkzZDM0ZGQ2ZDFmMzkwNTJkYTE2ODY1MjhjMzkx
NmQyYzQyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvY29jb2EvUmVtb3Rl
Q2FwdHVyZVNhbXBsZU1hbmFnZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9j
b2NvYS9SZW1vdGVDYXB0dXJlU2FtcGxlTWFuYWdlci5jcHAKQEAgLTMwLDYgKzMwLDcgQEAKICNp
bmNsdWRlICJSZW1vdGVDYXB0dXJlU2FtcGxlTWFuYWdlck1lc3NhZ2VzLmgiCiAjaW5jbHVkZSAi
U2hhcmVkUmluZ0J1ZmZlclN0b3JhZ2UuaCIKICNpbmNsdWRlICJXZWJQcm9jZXNzLmgiCisjaW5j
bHVkZSA8V2ViQ29yZS9BdWRpb1V0aWxpdGllcy5oPgogI2luY2x1ZGUgPFdlYkNvcmUvSW1hZ2VU
cmFuc2ZlclNlc3Npb25WVC5oPgogI2luY2x1ZGUgPFdlYkNvcmUvUmVtb3RlVmlkZW9TYW1wbGUu
aD4KICNpbmNsdWRlIDxXZWJDb3JlL1dlYkF1ZGlvQnVmZmVyTGlzdC5oPgpAQCAtMTI1LDcgKzEy
Niw3IEBAIHZvaWQgUmVtb3RlQ2FwdHVyZVNhbXBsZU1hbmFnZXI6OmRpc3BhdGNoVG9UaHJlYWQo
RnVuY3Rpb248dm9pZCgpPiYmIGNhbGxiYWNrKQogICAgIG1fcXVldWUtPmRpc3BhdGNoKFdURk1v
dmUoY2FsbGJhY2spKTsKIH0KIAotdm9pZCBSZW1vdGVDYXB0dXJlU2FtcGxlTWFuYWdlcjo6YXVk
aW9TdG9yYWdlQ2hhbmdlZChXZWJDb3JlOjpSZWFsdGltZU1lZGlhU291cmNlSWRlbnRpZmllciBp
ZGVudGlmaWVyLCBjb25zdCBTaGFyZWRNZW1vcnk6OklQQ0hhbmRsZSYgaXBjSGFuZGxlLCBjb25z
dCBXZWJDb3JlOjpDQUF1ZGlvU3RyZWFtRGVzY3JpcHRpb24mIGRlc2NyaXB0aW9uLCB1aW50NjRf
dCBudW1iZXJPZkZyYW1lcykKK3ZvaWQgUmVtb3RlQ2FwdHVyZVNhbXBsZU1hbmFnZXI6OmF1ZGlv
U3RvcmFnZUNoYW5nZWQoV2ViQ29yZTo6UmVhbHRpbWVNZWRpYVNvdXJjZUlkZW50aWZpZXIgaWRl
bnRpZmllciwgY29uc3QgU2hhcmVkTWVtb3J5OjpJUENIYW5kbGUmIGlwY0hhbmRsZSwgY29uc3Qg
V2ViQ29yZTo6Q0FBdWRpb1N0cmVhbURlc2NyaXB0aW9uJiBkZXNjcmlwdGlvbiwgdWludDY0X3Qg
bnVtYmVyT2ZGcmFtZXMsIElQQzo6U2VtYXBob3JlJiYgc2VtYXBob3JlLCBjb25zdCBNZWRpYVRp
bWUmIG1lZGlhVGltZSkKIHsKICAgICBBU1NFUlQoIVdURjo6aXNNYWluUnVuTG9vcCgpKTsKIApA
QCAtMTM0LDE5ICsxMzUsNyBAQCB2b2lkIFJlbW90ZUNhcHR1cmVTYW1wbGVNYW5hZ2VyOjphdWRp
b1N0b3JhZ2VDaGFuZ2VkKFdlYkNvcmU6OlJlYWx0aW1lTWVkaWFTb3VyYwogICAgICAgICBSRUxF
QVNFX0xPR19FUlJPUihXZWJSVEMsICJVbmFibGUgdG8gZmluZCBzb3VyY2UgJWxsdSBmb3Igc3Rv
cmFnZUNoYW5nZWQiLCBpZGVudGlmaWVyLnRvVUludDY0KCkpOwogICAgICAgICByZXR1cm47CiAg
ICAgfQotICAgIGl0ZXJhdG9yLT52YWx1ZS0+c2V0U3RvcmFnZShpcGNIYW5kbGUuaGFuZGxlLCBk
ZXNjcmlwdGlvbiwgbnVtYmVyT2ZGcmFtZXMpOwotfQotCi12b2lkIFJlbW90ZUNhcHR1cmVTYW1w
bGVNYW5hZ2VyOjphdWRpb1NhbXBsZXNBdmFpbGFibGUoV2ViQ29yZTo6UmVhbHRpbWVNZWRpYVNv
dXJjZUlkZW50aWZpZXIgaWRlbnRpZmllciwgTWVkaWFUaW1lIHRpbWUsIHVpbnQ2NF90IG51bWJl
ck9mRnJhbWVzKQotewotICAgIEFTU0VSVCghV1RGOjppc01haW5SdW5Mb29wKCkpOwotCi0gICAg
YXV0byBpdGVyYXRvciA9IG1fYXVkaW9Tb3VyY2VzLmZpbmQoaWRlbnRpZmllcik7Ci0gICAgaWYg
KGl0ZXJhdG9yID09IG1fYXVkaW9Tb3VyY2VzLmVuZCgpKSB7Ci0gICAgICAgIFJFTEVBU0VfTE9H
X0VSUk9SKFdlYlJUQywgIlVuYWJsZSB0byBmaW5kIHNvdXJjZSAlbGx1IGZvciBhdWRpb1NhbXBs
ZXNBdmFpbGFibGUiLCBpZGVudGlmaWVyLnRvVUludDY0KCkpOwotICAgICAgICByZXR1cm47Ci0g
ICAgfQotICAgIGl0ZXJhdG9yLT52YWx1ZS0+YXVkaW9TYW1wbGVzQXZhaWxhYmxlKHRpbWUsIG51
bWJlck9mRnJhbWVzKTsKKyAgICBpdGVyYXRvci0+dmFsdWUtPnNldFN0b3JhZ2UoaXBjSGFuZGxl
LmhhbmRsZSwgZGVzY3JpcHRpb24sIG51bWJlck9mRnJhbWVzLCBXVEZNb3ZlKHNlbWFwaG9yZSks
IG1lZGlhVGltZSk7CiB9CiAKIHZvaWQgUmVtb3RlQ2FwdHVyZVNhbXBsZU1hbmFnZXI6OnZpZGVv
U2FtcGxlQXZhaWxhYmxlKFJlYWx0aW1lTWVkaWFTb3VyY2VJZGVudGlmaWVyIGlkZW50aWZpZXIs
IFJlbW90ZVZpZGVvU2FtcGxlJiYgc2FtcGxlKQpAQCAtMTYzLDM0ICsxNTIsNTkgQEAgdm9pZCBS
ZW1vdGVDYXB0dXJlU2FtcGxlTWFuYWdlcjo6dmlkZW9TYW1wbGVBdmFpbGFibGUoUmVhbHRpbWVN
ZWRpYVNvdXJjZUlkZW50aWYKIAogUmVtb3RlQ2FwdHVyZVNhbXBsZU1hbmFnZXI6OlJlbW90ZUF1
ZGlvOjpSZW1vdGVBdWRpbyhSZWY8UmVtb3RlUmVhbHRpbWVBdWRpb1NvdXJjZT4mJiBzb3VyY2Up
CiAgICAgOiBtX3NvdXJjZShXVEZNb3ZlKHNvdXJjZSkpCi0gICAgLCBtX3JpbmdCdWZmZXIobWFr
ZVVuaXF1ZTxDQVJpbmdCdWZmZXI+KCkpCiB7CiB9CiAKLXZvaWQgUmVtb3RlQ2FwdHVyZVNhbXBs
ZU1hbmFnZXI6OlJlbW90ZUF1ZGlvOjpzZXRTdG9yYWdlKGNvbnN0IFNoYXJlZE1lbW9yeTo6SGFu
ZGxlJiBoYW5kbGUsIGNvbnN0IFdlYkNvcmU6OkNBQXVkaW9TdHJlYW1EZXNjcmlwdGlvbiYgZGVz
Y3JpcHRpb24sIHVpbnQ2NF90IG51bWJlck9mRnJhbWVzKQorUmVtb3RlQ2FwdHVyZVNhbXBsZU1h
bmFnZXI6OlJlbW90ZUF1ZGlvOjp+UmVtb3RlQXVkaW8oKQogewotICAgIG1fZGVzY3JpcHRpb24g
PSBkZXNjcmlwdGlvbjsKLSAgICBtX3JpbmdCdWZmZXIgPSBtYWtlVW5pcXVlPENBUmluZ0J1ZmZl
cj4obWFrZVVuaXF1ZVJlZjxSZWFkT25seVNoYXJlZFJpbmdCdWZmZXJTdG9yYWdlPihoYW5kbGUp
LCBkZXNjcmlwdGlvbiwgbnVtYmVyT2ZGcmFtZXMpOwotICAgIG1fYnVmZmVyID0gbWFrZVVuaXF1
ZTxXZWJBdWRpb0J1ZmZlckxpc3Q+KGRlc2NyaXB0aW9uLCBudW1iZXJPZkZyYW1lcyk7CisgICAg
c3RvcFRocmVhZCgpOwogfQogCi12b2lkIFJlbW90ZUNhcHR1cmVTYW1wbGVNYW5hZ2VyOjpSZW1v
dGVBdWRpbzo6YXVkaW9TYW1wbGVzQXZhaWxhYmxlKE1lZGlhVGltZSB0aW1lLCB1aW50NjRfdCBu
dW1iZXJPZkZyYW1lcykKK3ZvaWQgUmVtb3RlQ2FwdHVyZVNhbXBsZU1hbmFnZXI6OlJlbW90ZUF1
ZGlvOjpzdG9wVGhyZWFkKCkKIHsKLSAgICBpZiAoIW1fYnVmZmVyKSB7Ci0gICAgICAgIFJFTEVB
U0VfTE9HX0VSUk9SKFdlYlJUQywgImJ1ZmZlciBmb3IgYXVkaW8gc291cmNlICVsbHUgaXMgbnVs
bCIsIG1fc291cmNlLT5pZGVudGlmaWVyKCkudG9VSW50NjQoKSk7CisgICAgaWYgKCFtX3RocmVh
ZCkKICAgICAgICAgcmV0dXJuOwotICAgIH0KIAotICAgIGlmICghV2ViQXVkaW9CdWZmZXJMaXN0
Ojppc1N1cHBvcnRlZERlc2NyaXB0aW9uKG1fZGVzY3JpcHRpb24sIG51bWJlck9mRnJhbWVzKSkg
ewotICAgICAgICBSRUxFQVNFX0xPR19FUlJPUihXZWJSVEMsICJVbmFibGUgdG8gc3VwcG9ydCBk
ZXNjcmlwdGlvbiB3aXRoIGdpdmVuIG51bWJlciBvZiBmcmFtZXMgZm9yIGF1ZGlvIHNvdXJjZSAl
bGx1IiwgbV9zb3VyY2UtPmlkZW50aWZpZXIoKS50b1VJbnQ2NCgpKTsKLSAgICAgICAgcmV0dXJu
OwotICAgIH0KKyAgICBtX3Nob3VsZFN0b3BUaHJlYWQgPSB0cnVlOworICAgIG1fc2VtYXBob3Jl
LnNpZ25hbCgpOworICAgIG1fdGhyZWFkLT53YWl0Rm9yQ29tcGxldGlvbigpOworICAgIG1fdGhy
ZWFkID0gbnVsbHB0cjsKK30KIAotICAgIG1fYnVmZmVyLT5zZXRTYW1wbGVDb3VudChudW1iZXJP
ZkZyYW1lcyk7Cit2b2lkIFJlbW90ZUNhcHR1cmVTYW1wbGVNYW5hZ2VyOjpSZW1vdGVBdWRpbzo6
c3RhcnRUaHJlYWQoKQoreworICAgIEFTU0VSVCghbV90aHJlYWQpOworICAgIG1fc2hvdWxkU3Rv
cFRocmVhZCA9IGZhbHNlOworICAgIGF1dG8gdGhyZWFkTG9vcCA9IFt0aGlzXSgpIG11dGFibGUg
eworICAgICAgICBtX2ZyYW1lQ291bnQgPSAwOworICAgICAgICBkbyB7CisgICAgICAgICAgICBt
X3NlbWFwaG9yZS53YWl0KCk7CisgICAgICAgICAgICBpZiAobV9zaG91bGRTdG9wVGhyZWFkKQor
ICAgICAgICAgICAgICAgIGJyZWFrOwogCi0gICAgbV9yaW5nQnVmZmVyLT5mZXRjaChtX2J1ZmZl
ci0+bGlzdCgpLCBudW1iZXJPZkZyYW1lcywgdGltZS50aW1lVmFsdWUoKSk7CisgICAgICAgICAg
ICBtX3JpbmdCdWZmZXItPmZldGNoKG1fYnVmZmVyLT5saXN0KCksIFdlYkNvcmU6OkF1ZGlvVXRp
bGl0aWVzOjpyZW5kZXJRdWFudHVtU2l6ZSwgbV9mcmFtZUNvdW50KTsKKworICAgICAgICAgICAg
YXV0byBjdXJyZW50VGltZSA9IG1fc3RhcnRUaW1lICsgTWVkaWFUaW1lIHsgbV9mcmFtZUNvdW50
LCBzdGF0aWNfY2FzdDx1aW50MzJfdD4obV9kZXNjcmlwdGlvbi5zYW1wbGVSYXRlKCkpIH07Cisg
ICAgICAgICAgICBtX3NvdXJjZS0+cmVtb3RlQXVkaW9TYW1wbGVzQXZhaWxhYmxlKGN1cnJlbnRU
aW1lLCAqbV9idWZmZXIsIG1fZGVzY3JpcHRpb24sIFdlYkNvcmU6OkF1ZGlvVXRpbGl0aWVzOjpy
ZW5kZXJRdWFudHVtU2l6ZSk7CisKKyAgICAgICAgICAgIG1fZnJhbWVDb3VudCArPSBXZWJDb3Jl
OjpBdWRpb1V0aWxpdGllczo6cmVuZGVyUXVhbnR1bVNpemU7CisgICAgICAgIH0gd2hpbGUgKCFt
X3Nob3VsZFN0b3BUaHJlYWQpOworICAgIH07CisgICAgbV90aHJlYWQgPSBUaHJlYWQ6OmNyZWF0
ZSgiUmVtb3RlQXVkaW9Tb3VyY2VQcm92aWRlck1hbmFnZXI6OlJlbW90ZUF1ZGlvIHRocmVhZCIs
IFdURk1vdmUodGhyZWFkTG9vcCksIFRocmVhZFR5cGU6OkF1ZGlvLCBUaHJlYWQ6OlFPUzo6VXNl
ckludGVyYWN0aXZlKTsKK30KKwordm9pZCBSZW1vdGVDYXB0dXJlU2FtcGxlTWFuYWdlcjo6UmVt
b3RlQXVkaW86OnNldFN0b3JhZ2UoY29uc3QgU2hhcmVkTWVtb3J5OjpIYW5kbGUmIGhhbmRsZSwg
Y29uc3QgV2ViQ29yZTo6Q0FBdWRpb1N0cmVhbURlc2NyaXB0aW9uJiBkZXNjcmlwdGlvbiwgdWlu
dDY0X3QgbnVtYmVyT2ZGcmFtZXMsIElQQzo6U2VtYXBob3JlJiYgc2VtYXBob3JlLCBjb25zdCBN
ZWRpYVRpbWUmIG1lZGlhVGltZSkKK3sKKyAgICBzdG9wVGhyZWFkKCk7CisKKyAgICBtX3NlbWFw
aG9yZSA9IFdURk1vdmUoc2VtYXBob3JlKTsKKyAgICBtX2Rlc2NyaXB0aW9uID0gZGVzY3JpcHRp
b247CisgICAgbV9yaW5nQnVmZmVyID0gbWFrZVVuaXF1ZTxDQVJpbmdCdWZmZXI+KG1ha2VVbmlx
dWVSZWY8UmVhZE9ubHlTaGFyZWRSaW5nQnVmZmVyU3RvcmFnZT4oaGFuZGxlKSwgZGVzY3JpcHRp
b24sIG51bWJlck9mRnJhbWVzKTsKKyAgICBtX2J1ZmZlciA9IG1ha2VVbmlxdWU8V2ViQXVkaW9C
dWZmZXJMaXN0PihkZXNjcmlwdGlvbiwgbnVtYmVyT2ZGcmFtZXMpOworICAgIG1fYnVmZmVyLT5z
ZXRTYW1wbGVDb3VudChXZWJDb3JlOjpBdWRpb1V0aWxpdGllczo6cmVuZGVyUXVhbnR1bVNpemUp
OworICAgIG1fc3RhcnRUaW1lID0gbWVkaWFUaW1lOwogCi0gICAgbV9zb3VyY2UtPnJlbW90ZUF1
ZGlvU2FtcGxlc0F2YWlsYWJsZSh0aW1lLCAqbV9idWZmZXIsIG1fZGVzY3JpcHRpb24sIG51bWJl
ck9mRnJhbWVzKTsKKyAgICBzdGFydFRocmVhZCgpOwogfQogCiBSZW1vdGVDYXB0dXJlU2FtcGxl
TWFuYWdlcjo6UmVtb3RlVmlkZW86OlJlbW90ZVZpZGVvKFJlZjxSZW1vdGVSZWFsdGltZVZpZGVv
U291cmNlPiYmIHNvdXJjZSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9j
b2NvYS9SZW1vdGVDYXB0dXJlU2FtcGxlTWFuYWdlci5oIGIvU291cmNlL1dlYktpdC9XZWJQcm9j
ZXNzL2NvY29hL1JlbW90ZUNhcHR1cmVTYW1wbGVNYW5hZ2VyLmgKaW5kZXggMGEyNzVlOTgzNjMy
ZmI5MzdhNmUwYWQ5MDhjZjcwODkyMDI3NDhiNS4uMjczMmVlMjk4YzA0MmMxYjgzMzI5OTM5NDc1
M2VjY2RiYTViZjIyNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL2NvY29h
L1JlbW90ZUNhcHR1cmVTYW1wbGVNYW5hZ2VyLmgKKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9j
ZXNzL2NvY29hL1JlbW90ZUNhcHR1cmVTYW1wbGVNYW5hZ2VyLmgKQEAgLTI4LDYgKzI4LDcgQEAK
ICNpZiBQTEFURk9STShDT0NPQSkgJiYgRU5BQkxFKE1FRElBX1NUUkVBTSkKIAogI2luY2x1ZGUg
IkNvbm5lY3Rpb24uaCIKKyNpbmNsdWRlICJJUENTZW1hcGhvcmUuaCIKICNpbmNsdWRlICJNZXNz
YWdlUmVjZWl2ZXIuaCIKICNpbmNsdWRlICJSZW1vdGVSZWFsdGltZUF1ZGlvU291cmNlLmgiCiAj
aW5jbHVkZSAiUmVtb3RlUmVhbHRpbWVWaWRlb1NvdXJjZS5oIgpAQCAtNjUsNyArNjYsNyBAQCBw
cml2YXRlOgogICAgIHZvaWQgZGlzcGF0Y2hUb1RocmVhZChGdW5jdGlvbjx2b2lkKCk+JiYpIGZp
bmFsOwogCiAgICAgLy8gTWVzc2FnZXMKLSAgICB2b2lkIGF1ZGlvU3RvcmFnZUNoYW5nZWQoV2Vi
Q29yZTo6UmVhbHRpbWVNZWRpYVNvdXJjZUlkZW50aWZpZXIsIGNvbnN0IFNoYXJlZE1lbW9yeTo6
SVBDSGFuZGxlJiwgY29uc3QgV2ViQ29yZTo6Q0FBdWRpb1N0cmVhbURlc2NyaXB0aW9uJiwgdWlu
dDY0X3QgbnVtYmVyT2ZGcmFtZXMpOworICAgIHZvaWQgYXVkaW9TdG9yYWdlQ2hhbmdlZChXZWJD
b3JlOjpSZWFsdGltZU1lZGlhU291cmNlSWRlbnRpZmllciwgY29uc3QgU2hhcmVkTWVtb3J5OjpJ
UENIYW5kbGUmLCBjb25zdCBXZWJDb3JlOjpDQUF1ZGlvU3RyZWFtRGVzY3JpcHRpb24mLCB1aW50
NjRfdCBudW1iZXJPZkZyYW1lcywgSVBDOjpTZW1hcGhvcmUmJiwgY29uc3QgTWVkaWFUaW1lJik7
CiAgICAgdm9pZCBhdWRpb1NhbXBsZXNBdmFpbGFibGUoV2ViQ29yZTo6UmVhbHRpbWVNZWRpYVNv
dXJjZUlkZW50aWZpZXIsIE1lZGlhVGltZSwgdWludDY0X3QgbnVtYmVyT2ZGcmFtZXMpOwogICAg
IHZvaWQgdmlkZW9TYW1wbGVBdmFpbGFibGUoV2ViQ29yZTo6UmVhbHRpbWVNZWRpYVNvdXJjZUlk
ZW50aWZpZXIsIFdlYkNvcmU6OlJlbW90ZVZpZGVvU2FtcGxlJiYpOwogCkBAIC03NSwxNSArNzYs
MjQgQEAgcHJpdmF0ZToKICAgICAgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiAgICAgcHVi
bGljOgogICAgICAgICBleHBsaWNpdCBSZW1vdGVBdWRpbyhSZWY8UmVtb3RlUmVhbHRpbWVBdWRp
b1NvdXJjZT4mJik7CisgICAgICAgIH5SZW1vdGVBdWRpbygpOwogCi0gICAgICAgIHZvaWQgc2V0
U3RvcmFnZShjb25zdCBTaGFyZWRNZW1vcnk6OkhhbmRsZSYsIGNvbnN0IFdlYkNvcmU6OkNBQXVk
aW9TdHJlYW1EZXNjcmlwdGlvbiYsIHVpbnQ2NF90IG51bWJlck9mRnJhbWVzKTsKLSAgICAgICAg
dm9pZCBhdWRpb1NhbXBsZXNBdmFpbGFibGUoTWVkaWFUaW1lLCB1aW50NjRfdCBudW1iZXJPZkZy
YW1lcyk7CisgICAgICAgIHZvaWQgc2V0U3RvcmFnZShjb25zdCBTaGFyZWRNZW1vcnk6OkhhbmRs
ZSYsIGNvbnN0IFdlYkNvcmU6OkNBQXVkaW9TdHJlYW1EZXNjcmlwdGlvbiYsIHVpbnQ2NF90IG51
bWJlck9mRnJhbWVzLCBJUEM6OlNlbWFwaG9yZSYmLCBjb25zdCBNZWRpYVRpbWUmKTsKIAogICAg
IHByaXZhdGU6CisgICAgICAgIHZvaWQgc3RvcFRocmVhZCgpOworICAgICAgICB2b2lkIHN0YXJ0
VGhyZWFkKCk7CisKICAgICAgICAgUmVmPFJlbW90ZVJlYWx0aW1lQXVkaW9Tb3VyY2U+IG1fc291
cmNlOwogICAgICAgICBXZWJDb3JlOjpDQUF1ZGlvU3RyZWFtRGVzY3JpcHRpb24gbV9kZXNjcmlw
dGlvbjsKLSAgICAgICAgc3RkOjp1bmlxdWVfcHRyPFdlYkNvcmU6OkNBUmluZ0J1ZmZlcj4gbV9y
aW5nQnVmZmVyOwogICAgICAgICBzdGQ6OnVuaXF1ZV9wdHI8V2ViQ29yZTo6V2ViQXVkaW9CdWZm
ZXJMaXN0PiBtX2J1ZmZlcjsKKyAgICAgICAgc3RkOjp1bmlxdWVfcHRyPFdlYkNvcmU6OkNBUmlu
Z0J1ZmZlcj4gbV9yaW5nQnVmZmVyOworICAgICAgICBpbnQ2NF90IG1fZnJhbWVDb3VudCB7IDAg
fTsKKyAgICAgICAgTWVkaWFUaW1lIG1fc3RhcnRUaW1lOworCisgICAgICAgIElQQzo6U2VtYXBo
b3JlIG1fc2VtYXBob3JlOworICAgICAgICBSZWZQdHI8VGhyZWFkPiBtX3RocmVhZDsKKyAgICAg
ICAgc3RkOjphdG9taWM8Ym9vbD4gbV9zaG91bGRTdG9wVGhyZWFkIHsgZmFsc2UgfTsKICAgICB9
OwogCiAgICAgY2xhc3MgUmVtb3RlVmlkZW8gewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9X
ZWJQcm9jZXNzL2NvY29hL1JlbW90ZUNhcHR1cmVTYW1wbGVNYW5hZ2VyLm1lc3NhZ2VzLmluIGIv
U291cmNlL1dlYktpdC9XZWJQcm9jZXNzL2NvY29hL1JlbW90ZUNhcHR1cmVTYW1wbGVNYW5hZ2Vy
Lm1lc3NhZ2VzLmluCmluZGV4IGM2NDU2NDUwMGI0YmI3NGNmMzk5OWM0NDY3MjM0MjUzZGIwYjMz
Y2MuLmE1YmExOGI5ZDQ5ZTI4OTVjODY4NTc2OGVkNDk0NDYzNDgxZTUxNjcgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9jb2NvYS9SZW1vdGVDYXB0dXJlU2FtcGxlTWFuYWdl
ci5tZXNzYWdlcy5pbgorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvY29jb2EvUmVtb3Rl
Q2FwdHVyZVNhbXBsZU1hbmFnZXIubWVzc2FnZXMuaW4KQEAgLTI0LDggKzI0LDcgQEAKICNpZiBF
TkFCTEUoTUVESUFfU1RSRUFNKQogCiBtZXNzYWdlcyAtPiBSZW1vdGVDYXB0dXJlU2FtcGxlTWFu
YWdlciBOb3RSZWZDb3VudGVkIHsKLSAgICBBdWRpb1N0b3JhZ2VDaGFuZ2VkKFdlYkNvcmU6OlJl
YWx0aW1lTWVkaWFTb3VyY2VJZGVudGlmaWVyIGlkLCBXZWJLaXQ6OlNoYXJlZE1lbW9yeTo6SVBD
SGFuZGxlIHN0b3JhZ2VIYW5kbGUsIFdlYkNvcmU6OkNBQXVkaW9TdHJlYW1EZXNjcmlwdGlvbiBk
ZXNjcmlwdGlvbiwgdWludDY0X3QgbnVtYmVyT2ZGcmFtZXMpCi0gICAgQXVkaW9TYW1wbGVzQXZh
aWxhYmxlKFdlYkNvcmU6OlJlYWx0aW1lTWVkaWFTb3VyY2VJZGVudGlmaWVyIGlkLCBNZWRpYVRp
bWUgdGltZSwgdWludDY0X3QgbnVtYmVyT2ZGcmFtZXMpCisgICAgQXVkaW9TdG9yYWdlQ2hhbmdl
ZChXZWJDb3JlOjpSZWFsdGltZU1lZGlhU291cmNlSWRlbnRpZmllciBpZCwgV2ViS2l0OjpTaGFy
ZWRNZW1vcnk6OklQQ0hhbmRsZSBzdG9yYWdlSGFuZGxlLCBXZWJDb3JlOjpDQUF1ZGlvU3RyZWFt
RGVzY3JpcHRpb24gZGVzY3JpcHRpb24sIHVpbnQ2NF90IG51bWJlck9mRnJhbWVzLCBJUEM6OlNl
bWFwaG9yZSBjYXB0dXJlU2VtYXBob3JlLCBNZWRpYVRpbWUgbWVkaWFUaW1lKTsKICAgICBWaWRl
b1NhbXBsZUF2YWlsYWJsZShXZWJDb3JlOjpSZWFsdGltZU1lZGlhU291cmNlSWRlbnRpZmllciBp
ZCwgV2ViQ29yZTo6UmVtb3RlVmlkZW9TYW1wbGUgc2FtcGxlKQogfQogCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>427887</attachid>
            <date>2021-05-06 08:21:34 -0700</date>
            <delta_ts>2021-05-07 08:30:42 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-225452-20210506172132.patch</filename>
            <type>text/plain</type>
            <size>15512</size>
            <attacher name="youenn fablet">youennf</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjc2NTkyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IGE2ODA3NGUyMDM3M2ZlYWNl
ODZkMjBjMjA5NzYxYmEyMjZhYmNmZWUuLjFmMGVkMzVmNWE0MzMyNzhhZjU5MGJmNTNhNWRhNDRj
ZDViNTk2MDEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzIgQEAKKzIwMjEtMDUtMDYgIFlvdWVubiBG
YWJsZXQgIDx5b3Vlbm5AYXBwbGUuY29tPgorCisgICAgICAgIFVzZSBJUEM6OlNlbWFwaG9yZSBp
bnN0ZWFkIG9mIHNlbmRpbmcgYW4gSVBDIG1lc3NhZ2UgZm9yIGV2ZXJ5IGNhcHR1cmVkIGF1ZGlv
IHNhbXBsZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
MjI1NDUyCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAg
UHJldmlvdXNseSwgd2Ugd2VyZSBzZW5kaW5nIGFuIElQQyBtZXNzYWdlIGZyb20gVUlQcm9jZXNz
IG9yIEdQVVByb2Nlc3MgdG8gV2ViUHJvY2VzcyBmb3IgZXZlcnkgbWljcm9waG9uZSBhdWRpbyBz
YW1wbGUgY2h1bmsuCisgICAgICAgIFdlIGFyZSBub3cgdXNpbmcgSVBDOjpTZW1hcGhvcmUgdG8g
c2lnbmFsIHRoYXQgYSBuZXcgY2h1bmsgaXMgdG8gYmUgcHJvY2Vzc2VkLgorCisgICAgICAgIFdl
IG5vIGxvbmdlciBzZW5kIHRoZSBjaHVuayB0aW1lc3RhbXAuIEluc3RlYWQsIHdlIHJlY29uc3Ry
dWN0IGl0IGZyb20gdGhlIG51bWJlciBvZiBwcmV2aW91c2x5IHByb2Nlc3NlZCBzYW1wbGVzLgor
ICAgICAgICBBdCBhdWRpbyBzdG9yYWdlIGNoYW5nZSwgd2Ugc2VuZCB0aGUgc3RhcnQgdGltZSBh
bmQgd2UgYXNzdW1lIHRoYXQgdGhlcmUgaXMgY29udGludW91cyB0aW1pbmcgYmFzZWQgb24gc2Ft
cGxlIGNvdW50cy4KKyAgICAgICAgV2UgcHJvY2VzcyBmaXhlZC1zaXplIGNodW5rcywgY3VycmVu
dGx5IDEyOCBzYW1wbGVzIGxpa2UgV2ViQXVkaW8uCisKKyAgICAgICAgQ292ZXJlZCBieSBleGlz
dGluZyB0ZXN0cyBhbmQgbWFudWFsbHkgdGVzdGVkLgorCisgICAgICAgICogVUlQcm9jZXNzL0Nv
Y29hL1VzZXJNZWRpYUNhcHR1cmVNYW5hZ2VyUHJveHkuY3BwOgorICAgICAgICAoV2ViS2l0OjpV
c2VyTWVkaWFDYXB0dXJlTWFuYWdlclByb3h5OjpTb3VyY2VQcm94eTo6c3RhcnQpOgorICAgICAg
ICAoV2ViS2l0OjpVc2VyTWVkaWFDYXB0dXJlTWFuYWdlclByb3h5OjpTb3VyY2VQcm94eTo6c3Rv
cmFnZUNoYW5nZWQpOgorICAgICAgICAqIFdlYlByb2Nlc3MvY29jb2EvUmVtb3RlQ2FwdHVyZVNh
bXBsZU1hbmFnZXIuY3BwOgorICAgICAgICAoV2ViS2l0OjpSZW1vdGVDYXB0dXJlU2FtcGxlTWFu
YWdlcjo6YXVkaW9TdG9yYWdlQ2hhbmdlZCk6CisgICAgICAgIChXZWJLaXQ6OlJlbW90ZUNhcHR1
cmVTYW1wbGVNYW5hZ2VyOjpSZW1vdGVBdWRpbzo6UmVtb3RlQXVkaW8pOgorICAgICAgICAoV2Vi
S2l0OjpSZW1vdGVDYXB0dXJlU2FtcGxlTWFuYWdlcjo6UmVtb3RlQXVkaW86On5SZW1vdGVBdWRp
byk6CisgICAgICAgIChXZWJLaXQ6OlJlbW90ZUNhcHR1cmVTYW1wbGVNYW5hZ2VyOjpSZW1vdGVB
dWRpbzo6c3RvcFRocmVhZCk6CisgICAgICAgIChXZWJLaXQ6OlJlbW90ZUNhcHR1cmVTYW1wbGVN
YW5hZ2VyOjpSZW1vdGVBdWRpbzo6c3RhcnRUaHJlYWQpOgorICAgICAgICAoV2ViS2l0OjpSZW1v
dGVDYXB0dXJlU2FtcGxlTWFuYWdlcjo6UmVtb3RlQXVkaW86OnNldFN0b3JhZ2UpOgorICAgICAg
ICAqIFdlYlByb2Nlc3MvY29jb2EvUmVtb3RlQ2FwdHVyZVNhbXBsZU1hbmFnZXIuaDoKKyAgICAg
ICAgKiBXZWJQcm9jZXNzL2NvY29hL1JlbW90ZUNhcHR1cmVTYW1wbGVNYW5hZ2VyLm1lc3NhZ2Vz
LmluOgorCiAyMDIxLTA1LTA1ICBZb3Vlbm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KIAog
ICAgICAgICBSRUdSRVNTSU9OIChyMjc2NjMzKTogQVNTRVJUSU9OIEZBSUxFRDogIWZvcmJpZE1h
bGxvY1VzZVNjb3BlQ291bnQgfHwgZGlzYWJsZU1hbGxvY1Jlc3RyaWN0aW9uU2NvcGVDb3VudApk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvVXNlck1lZGlhQ2FwdHVy
ZU1hbmFnZXJQcm94eS5jcHAgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9Vc2VyTWVk
aWFDYXB0dXJlTWFuYWdlclByb3h5LmNwcAppbmRleCA4YzgyM2ZlNDM3ODZjYjNkY2UyZmVjZTkw
ZmI4OGU0ODBiMzgxY2Y3Li40YzhjYzFhMjIwN2JkNWE4ODQzZjAzNDZkYzVlMjhiOGRhMjc1Yzk2
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9Vc2VyTWVkaWFDYXB0
dXJlTWFuYWdlclByb3h5LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9V
c2VyTWVkaWFDYXB0dXJlTWFuYWdlclByb3h5LmNwcApAQCAtMzYsNiArMzYsNyBAQAogI2luY2x1
ZGUgIldlYkNvcmVBcmd1bWVudENvZGVycy5oIgogI2luY2x1ZGUgIldlYlByb2Nlc3NQcm94eS5o
IgogI2luY2x1ZGUgPFdlYkNvcmUvQXVkaW9TZXNzaW9uLmg+CisjaW5jbHVkZSA8V2ViQ29yZS9B
dWRpb1V0aWxpdGllcy5oPgogI2luY2x1ZGUgPFdlYkNvcmUvQ0FSaW5nQnVmZmVyLmg+CiAjaW5j
bHVkZSA8V2ViQ29yZS9JbWFnZVJvdGF0aW9uU2Vzc2lvblZULmg+CiAjaW5jbHVkZSA8V2ViQ29y
ZS9NZWRpYUNvbnN0cmFpbnRzLmg+CkBAIC0xMDgsNiArMTA5LDcgQEAgcHVibGljOgogCiAgICAg
dm9pZCBzdGFydCgpCiAgICAgeworICAgICAgICBtX3Nob3VsZFJlc2V0ID0gdHJ1ZTsKICAgICAg
ICAgbV9pc0VuZGVkID0gZmFsc2U7CiAgICAgICAgIG1fc291cmNlLT5zdGFydCgpOwogICAgIH0K
QEAgLTE0NSw5ICsxNDcsMTQgQEAgcHJpdmF0ZToKIAogICAgIC8vIE1heSBnZXQgY2FsbGVkIG9u
IGEgYmFja2dyb3VuZCB0aHJlYWQuCiAgICAgdm9pZCBhdWRpb1NhbXBsZXNBdmFpbGFibGUoY29u
c3QgTWVkaWFUaW1lJiB0aW1lLCBjb25zdCBQbGF0Zm9ybUF1ZGlvRGF0YSYgYXVkaW9EYXRhLCBj
b25zdCBBdWRpb1N0cmVhbURlc2NyaXB0aW9uJiBkZXNjcmlwdGlvbiwgc2l6ZV90IG51bWJlck9m
RnJhbWVzKSBmaW5hbCB7Ci0gICAgICAgIERpc2FibGVNYWxsb2NSZXN0cmljdGlvbnNGb3JDdXJy
ZW50VGhyZWFkU2NvcGUgc2NvcGU7Ci0KLSAgICAgICAgaWYgKG1fZGVzY3JpcHRpb24gIT0gZGVz
Y3JpcHRpb24pIHsKKyAgICAgICAgaWYgKG1fZGVzY3JpcHRpb24gIT0gZGVzY3JpcHRpb24gfHwg
bV9zaG91bGRSZXNldCkgeworICAgICAgICAgICAgRGlzYWJsZU1hbGxvY1Jlc3RyaWN0aW9uc0Zv
ckN1cnJlbnRUaHJlYWRTY29wZSBzY29wZTsKKworICAgICAgICAgICAgbV9zaG91bGRSZXNldCA9
IGZhbHNlOworICAgICAgICAgICAgbV9mcmFtZUNvdW50ID0gMDsKKyAgICAgICAgICAgIG1fcmVt
YWluaW5nRnJhbWVDb3VudCA9IDA7CisgICAgICAgICAgICBtX3N0YXJ0VGltZSA9IHRpbWU7Cisg
ICAgICAgICAgICBtX2NhcHR1cmVTZW1hcGhvcmUgPSBtYWtlVW5pcXVlPElQQzo6U2VtYXBob3Jl
PigpOwogICAgICAgICAgICAgQVNTRVJUKGRlc2NyaXB0aW9uLnBsYXRmb3JtRGVzY3JpcHRpb24o
KS50eXBlID09IFBsYXRmb3JtRGVzY3JpcHRpb246OkNBQXVkaW9TdHJlYW1CYXNpY1R5cGUpOwog
ICAgICAgICAgICAgbV9kZXNjcmlwdGlvbiA9ICpXVEY6OmdldDxjb25zdCBBdWRpb1N0cmVhbUJh
c2ljRGVzY3JpcHRpb24qPihkZXNjcmlwdGlvbi5wbGF0Zm9ybURlc2NyaXB0aW9uKCkuZGVzY3Jp
cHRpb24pOwogCkBAIC0xNTcsOCArMTY0LDE0IEBAIHByaXZhdGU6CiAgICAgICAgIH0KIAogICAg
ICAgICBBU1NFUlQoaXM8V2ViQXVkaW9CdWZmZXJMaXN0PihhdWRpb0RhdGEpKTsKLSAgICAgICAg
bV9yaW5nQnVmZmVyLnN0b3JlKGRvd25jYXN0PFdlYkF1ZGlvQnVmZmVyTGlzdD4oYXVkaW9EYXRh
KS5saXN0KCksIG51bWJlck9mRnJhbWVzLCB0aW1lLnRpbWVWYWx1ZSgpKTsKLSAgICAgICAgbV9j
b25uZWN0aW9uLT5zZW5kKE1lc3NhZ2VzOjpSZW1vdGVDYXB0dXJlU2FtcGxlTWFuYWdlcjo6QXVk
aW9TYW1wbGVzQXZhaWxhYmxlKG1faWQsIHRpbWUsIG51bWJlck9mRnJhbWVzKSwgMCk7CisgICAg
ICAgIG1fcmluZ0J1ZmZlci5zdG9yZShkb3duY2FzdDxXZWJBdWRpb0J1ZmZlckxpc3Q+KGF1ZGlv
RGF0YSkubGlzdCgpLCBudW1iZXJPZkZyYW1lcywgbV9mcmFtZUNvdW50KTsKKyAgICAgICAgbV9m
cmFtZUNvdW50ICs9IG51bWJlck9mRnJhbWVzOworCisgICAgICAgIHNpemVfdCBmcmFtZXNUb1Nl
bmQgPSBudW1iZXJPZkZyYW1lcyArIG1fcmVtYWluaW5nRnJhbWVDb3VudDsKKyAgICAgICAgc2l6
ZV90IHNpZ25hbENvdW50ID0gZnJhbWVzVG9TZW5kIC8gV2ViQ29yZTo6QXVkaW9VdGlsaXRpZXM6
OnJlbmRlclF1YW50dW1TaXplOworICAgICAgICBtX3JlbWFpbmluZ0ZyYW1lQ291bnQgPSBmcmFt
ZXNUb1NlbmQgLSAoc2lnbmFsQ291bnQgKiBXZWJDb3JlOjpBdWRpb1V0aWxpdGllczo6cmVuZGVy
UXVhbnR1bVNpemUpOworICAgICAgICBmb3IgKHVuc2lnbmVkIGkgPSAwOyBpIDwgc2lnbmFsQ291
bnQ7ICsraSkKKyAgICAgICAgICAgIG1fY2FwdHVyZVNlbWFwaG9yZS0+c2lnbmFsKCk7CiAgICAg
fQogCiAgICAgdm9pZCB2aWRlb1NhbXBsZUF2YWlsYWJsZShNZWRpYVNhbXBsZSYgc2FtcGxlKSBm
aW5hbApAQCAtMTk5LDcgKzIxMiw2IEBAIHByaXZhdGU6CiAKICAgICB2b2lkIHN0b3JhZ2VDaGFu
Z2VkKFNoYXJlZE1lbW9yeSogc3RvcmFnZSwgY29uc3QgV2ViQ29yZTo6Q0FBdWRpb1N0cmVhbURl
c2NyaXB0aW9uJiBmb3JtYXQsIHNpemVfdCBmcmFtZUNvdW50KQogICAgIHsKLSAgICAgICAgRGlz
YWJsZU1hbGxvY1Jlc3RyaWN0aW9uc0ZvckN1cnJlbnRUaHJlYWRTY29wZSBzY29wZTsKICAgICAg
ICAgU2hhcmVkTWVtb3J5OjpIYW5kbGUgaGFuZGxlOwogICAgICAgICBpZiAoc3RvcmFnZSkKICAg
ICAgICAgICAgIHN0b3JhZ2UtPmNyZWF0ZUhhbmRsZShoYW5kbGUsIFNoYXJlZE1lbW9yeTo6UHJv
dGVjdGlvbjo6UmVhZE9ubHkpOwpAQCAtMjEwLDcgKzIyMiw3IEBAIHByaXZhdGU6CiAjZWxzZQog
ICAgICAgICB1aW50NjRfdCBkYXRhU2l6ZSA9IDA7CiAjZW5kaWYKLSAgICAgICAgbV9jb25uZWN0
aW9uLT5zZW5kKE1lc3NhZ2VzOjpSZW1vdGVDYXB0dXJlU2FtcGxlTWFuYWdlcjo6QXVkaW9TdG9y
YWdlQ2hhbmdlZChtX2lkLCBTaGFyZWRNZW1vcnk6OklQQ0hhbmRsZSB7IFdURk1vdmUoaGFuZGxl
KSwgIGRhdGFTaXplIH0sIGZvcm1hdCwgZnJhbWVDb3VudCksIDApOworICAgICAgICBtX2Nvbm5l
Y3Rpb24tPnNlbmQoTWVzc2FnZXM6OlJlbW90ZUNhcHR1cmVTYW1wbGVNYW5hZ2VyOjpBdWRpb1N0
b3JhZ2VDaGFuZ2VkKG1faWQsIFNoYXJlZE1lbW9yeTo6SVBDSGFuZGxlIHsgV1RGTW92ZShoYW5k
bGUpLCAgZGF0YVNpemUgfSwgZm9ybWF0LCBmcmFtZUNvdW50LCAqbV9jYXB0dXJlU2VtYXBob3Jl
LCBtX3N0YXJ0VGltZSksIDApOwogICAgIH0KIAogICAgIGJvb2wgcHJldmVudFNvdXJjZUZyb21T
dG9wcGluZygpCkBAIC0yMjksNiArMjQxLDExIEBAIHByaXZhdGU6CiAgICAgYm9vbCBtX2lzRW5k
ZWQgeyBmYWxzZSB9OwogICAgIHN0ZDo6dW5pcXVlX3B0cjxJbWFnZVJvdGF0aW9uU2Vzc2lvblZU
PiBtX3JvdGF0aW9uU2Vzc2lvbjsKICAgICBib29sIG1fc2hvdWxkQXBwbHlSb3RhdGlvbiB7IGZh
bHNlIH07CisgICAgc3RkOjp1bmlxdWVfcHRyPElQQzo6U2VtYXBob3JlPiBtX2NhcHR1cmVTZW1h
cGhvcmU7CisgICAgaW50NjRfdCBtX2ZyYW1lQ291bnQgeyAwIH07CisgICAgaW50NjRfdCBtX3Jl
bWFpbmluZ0ZyYW1lQ291bnQgeyAwIH07CisgICAgTWVkaWFUaW1lIG1fc3RhcnRUaW1lOworICAg
IGJvb2wgbV9zaG91bGRSZXNldCB7IGZhbHNlIH07CiB9OwogCiBVc2VyTWVkaWFDYXB0dXJlTWFu
YWdlclByb3h5OjpVc2VyTWVkaWFDYXB0dXJlTWFuYWdlclByb3h5KFVuaXF1ZVJlZjxDb25uZWN0
aW9uUHJveHk+JiYgY29ubmVjdGlvblByb3h5KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9X
ZWJQcm9jZXNzL2NvY29hL1JlbW90ZUNhcHR1cmVTYW1wbGVNYW5hZ2VyLmNwcCBiL1NvdXJjZS9X
ZWJLaXQvV2ViUHJvY2Vzcy9jb2NvYS9SZW1vdGVDYXB0dXJlU2FtcGxlTWFuYWdlci5jcHAKaW5k
ZXggNzRkM2VkZmI3MjkzMmMyMWZmZDU5MTBhNjhmMTEyYWNmODE3OThiOS4uNWNlMzA5M2QzNGRk
NmQxZjM5MDUyZGExNjg2NTI4YzM5MTZkMmM0MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9X
ZWJQcm9jZXNzL2NvY29hL1JlbW90ZUNhcHR1cmVTYW1wbGVNYW5hZ2VyLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViS2l0L1dlYlByb2Nlc3MvY29jb2EvUmVtb3RlQ2FwdHVyZVNhbXBsZU1hbmFnZXIuY3Bw
CkBAIC0zMCw2ICszMCw3IEBACiAjaW5jbHVkZSAiUmVtb3RlQ2FwdHVyZVNhbXBsZU1hbmFnZXJN
ZXNzYWdlcy5oIgogI2luY2x1ZGUgIlNoYXJlZFJpbmdCdWZmZXJTdG9yYWdlLmgiCiAjaW5jbHVk
ZSAiV2ViUHJvY2Vzcy5oIgorI2luY2x1ZGUgPFdlYkNvcmUvQXVkaW9VdGlsaXRpZXMuaD4KICNp
bmNsdWRlIDxXZWJDb3JlL0ltYWdlVHJhbnNmZXJTZXNzaW9uVlQuaD4KICNpbmNsdWRlIDxXZWJD
b3JlL1JlbW90ZVZpZGVvU2FtcGxlLmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9XZWJBdWRpb0J1ZmZl
ckxpc3QuaD4KQEAgLTEyNSw3ICsxMjYsNyBAQCB2b2lkIFJlbW90ZUNhcHR1cmVTYW1wbGVNYW5h
Z2VyOjpkaXNwYXRjaFRvVGhyZWFkKEZ1bmN0aW9uPHZvaWQoKT4mJiBjYWxsYmFjaykKICAgICBt
X3F1ZXVlLT5kaXNwYXRjaChXVEZNb3ZlKGNhbGxiYWNrKSk7CiB9CiAKLXZvaWQgUmVtb3RlQ2Fw
dHVyZVNhbXBsZU1hbmFnZXI6OmF1ZGlvU3RvcmFnZUNoYW5nZWQoV2ViQ29yZTo6UmVhbHRpbWVN
ZWRpYVNvdXJjZUlkZW50aWZpZXIgaWRlbnRpZmllciwgY29uc3QgU2hhcmVkTWVtb3J5OjpJUENI
YW5kbGUmIGlwY0hhbmRsZSwgY29uc3QgV2ViQ29yZTo6Q0FBdWRpb1N0cmVhbURlc2NyaXB0aW9u
JiBkZXNjcmlwdGlvbiwgdWludDY0X3QgbnVtYmVyT2ZGcmFtZXMpCit2b2lkIFJlbW90ZUNhcHR1
cmVTYW1wbGVNYW5hZ2VyOjphdWRpb1N0b3JhZ2VDaGFuZ2VkKFdlYkNvcmU6OlJlYWx0aW1lTWVk
aWFTb3VyY2VJZGVudGlmaWVyIGlkZW50aWZpZXIsIGNvbnN0IFNoYXJlZE1lbW9yeTo6SVBDSGFu
ZGxlJiBpcGNIYW5kbGUsIGNvbnN0IFdlYkNvcmU6OkNBQXVkaW9TdHJlYW1EZXNjcmlwdGlvbiYg
ZGVzY3JpcHRpb24sIHVpbnQ2NF90IG51bWJlck9mRnJhbWVzLCBJUEM6OlNlbWFwaG9yZSYmIHNl
bWFwaG9yZSwgY29uc3QgTWVkaWFUaW1lJiBtZWRpYVRpbWUpCiB7CiAgICAgQVNTRVJUKCFXVEY6
OmlzTWFpblJ1bkxvb3AoKSk7CiAKQEAgLTEzNCwxOSArMTM1LDcgQEAgdm9pZCBSZW1vdGVDYXB0
dXJlU2FtcGxlTWFuYWdlcjo6YXVkaW9TdG9yYWdlQ2hhbmdlZChXZWJDb3JlOjpSZWFsdGltZU1l
ZGlhU291cmMKICAgICAgICAgUkVMRUFTRV9MT0dfRVJST1IoV2ViUlRDLCAiVW5hYmxlIHRvIGZp
bmQgc291cmNlICVsbHUgZm9yIHN0b3JhZ2VDaGFuZ2VkIiwgaWRlbnRpZmllci50b1VJbnQ2NCgp
KTsKICAgICAgICAgcmV0dXJuOwogICAgIH0KLSAgICBpdGVyYXRvci0+dmFsdWUtPnNldFN0b3Jh
Z2UoaXBjSGFuZGxlLmhhbmRsZSwgZGVzY3JpcHRpb24sIG51bWJlck9mRnJhbWVzKTsKLX0KLQot
dm9pZCBSZW1vdGVDYXB0dXJlU2FtcGxlTWFuYWdlcjo6YXVkaW9TYW1wbGVzQXZhaWxhYmxlKFdl
YkNvcmU6OlJlYWx0aW1lTWVkaWFTb3VyY2VJZGVudGlmaWVyIGlkZW50aWZpZXIsIE1lZGlhVGlt
ZSB0aW1lLCB1aW50NjRfdCBudW1iZXJPZkZyYW1lcykKLXsKLSAgICBBU1NFUlQoIVdURjo6aXNN
YWluUnVuTG9vcCgpKTsKLQotICAgIGF1dG8gaXRlcmF0b3IgPSBtX2F1ZGlvU291cmNlcy5maW5k
KGlkZW50aWZpZXIpOwotICAgIGlmIChpdGVyYXRvciA9PSBtX2F1ZGlvU291cmNlcy5lbmQoKSkg
ewotICAgICAgICBSRUxFQVNFX0xPR19FUlJPUihXZWJSVEMsICJVbmFibGUgdG8gZmluZCBzb3Vy
Y2UgJWxsdSBmb3IgYXVkaW9TYW1wbGVzQXZhaWxhYmxlIiwgaWRlbnRpZmllci50b1VJbnQ2NCgp
KTsKLSAgICAgICAgcmV0dXJuOwotICAgIH0KLSAgICBpdGVyYXRvci0+dmFsdWUtPmF1ZGlvU2Ft
cGxlc0F2YWlsYWJsZSh0aW1lLCBudW1iZXJPZkZyYW1lcyk7CisgICAgaXRlcmF0b3ItPnZhbHVl
LT5zZXRTdG9yYWdlKGlwY0hhbmRsZS5oYW5kbGUsIGRlc2NyaXB0aW9uLCBudW1iZXJPZkZyYW1l
cywgV1RGTW92ZShzZW1hcGhvcmUpLCBtZWRpYVRpbWUpOwogfQogCiB2b2lkIFJlbW90ZUNhcHR1
cmVTYW1wbGVNYW5hZ2VyOjp2aWRlb1NhbXBsZUF2YWlsYWJsZShSZWFsdGltZU1lZGlhU291cmNl
SWRlbnRpZmllciBpZGVudGlmaWVyLCBSZW1vdGVWaWRlb1NhbXBsZSYmIHNhbXBsZSkKQEAgLTE2
MywzNCArMTUyLDU5IEBAIHZvaWQgUmVtb3RlQ2FwdHVyZVNhbXBsZU1hbmFnZXI6OnZpZGVvU2Ft
cGxlQXZhaWxhYmxlKFJlYWx0aW1lTWVkaWFTb3VyY2VJZGVudGlmCiAKIFJlbW90ZUNhcHR1cmVT
YW1wbGVNYW5hZ2VyOjpSZW1vdGVBdWRpbzo6UmVtb3RlQXVkaW8oUmVmPFJlbW90ZVJlYWx0aW1l
QXVkaW9Tb3VyY2U+JiYgc291cmNlKQogICAgIDogbV9zb3VyY2UoV1RGTW92ZShzb3VyY2UpKQot
ICAgICwgbV9yaW5nQnVmZmVyKG1ha2VVbmlxdWU8Q0FSaW5nQnVmZmVyPigpKQogewogfQogCi12
b2lkIFJlbW90ZUNhcHR1cmVTYW1wbGVNYW5hZ2VyOjpSZW1vdGVBdWRpbzo6c2V0U3RvcmFnZShj
b25zdCBTaGFyZWRNZW1vcnk6OkhhbmRsZSYgaGFuZGxlLCBjb25zdCBXZWJDb3JlOjpDQUF1ZGlv
U3RyZWFtRGVzY3JpcHRpb24mIGRlc2NyaXB0aW9uLCB1aW50NjRfdCBudW1iZXJPZkZyYW1lcykK
K1JlbW90ZUNhcHR1cmVTYW1wbGVNYW5hZ2VyOjpSZW1vdGVBdWRpbzo6flJlbW90ZUF1ZGlvKCkK
IHsKLSAgICBtX2Rlc2NyaXB0aW9uID0gZGVzY3JpcHRpb247Ci0gICAgbV9yaW5nQnVmZmVyID0g
bWFrZVVuaXF1ZTxDQVJpbmdCdWZmZXI+KG1ha2VVbmlxdWVSZWY8UmVhZE9ubHlTaGFyZWRSaW5n
QnVmZmVyU3RvcmFnZT4oaGFuZGxlKSwgZGVzY3JpcHRpb24sIG51bWJlck9mRnJhbWVzKTsKLSAg
ICBtX2J1ZmZlciA9IG1ha2VVbmlxdWU8V2ViQXVkaW9CdWZmZXJMaXN0PihkZXNjcmlwdGlvbiwg
bnVtYmVyT2ZGcmFtZXMpOworICAgIHN0b3BUaHJlYWQoKTsKIH0KIAotdm9pZCBSZW1vdGVDYXB0
dXJlU2FtcGxlTWFuYWdlcjo6UmVtb3RlQXVkaW86OmF1ZGlvU2FtcGxlc0F2YWlsYWJsZShNZWRp
YVRpbWUgdGltZSwgdWludDY0X3QgbnVtYmVyT2ZGcmFtZXMpCit2b2lkIFJlbW90ZUNhcHR1cmVT
YW1wbGVNYW5hZ2VyOjpSZW1vdGVBdWRpbzo6c3RvcFRocmVhZCgpCiB7Ci0gICAgaWYgKCFtX2J1
ZmZlcikgewotICAgICAgICBSRUxFQVNFX0xPR19FUlJPUihXZWJSVEMsICJidWZmZXIgZm9yIGF1
ZGlvIHNvdXJjZSAlbGx1IGlzIG51bGwiLCBtX3NvdXJjZS0+aWRlbnRpZmllcigpLnRvVUludDY0
KCkpOworICAgIGlmICghbV90aHJlYWQpCiAgICAgICAgIHJldHVybjsKLSAgICB9CiAKLSAgICBp
ZiAoIVdlYkF1ZGlvQnVmZmVyTGlzdDo6aXNTdXBwb3J0ZWREZXNjcmlwdGlvbihtX2Rlc2NyaXB0
aW9uLCBudW1iZXJPZkZyYW1lcykpIHsKLSAgICAgICAgUkVMRUFTRV9MT0dfRVJST1IoV2ViUlRD
LCAiVW5hYmxlIHRvIHN1cHBvcnQgZGVzY3JpcHRpb24gd2l0aCBnaXZlbiBudW1iZXIgb2YgZnJh
bWVzIGZvciBhdWRpbyBzb3VyY2UgJWxsdSIsIG1fc291cmNlLT5pZGVudGlmaWVyKCkudG9VSW50
NjQoKSk7Ci0gICAgICAgIHJldHVybjsKLSAgICB9CisgICAgbV9zaG91bGRTdG9wVGhyZWFkID0g
dHJ1ZTsKKyAgICBtX3NlbWFwaG9yZS5zaWduYWwoKTsKKyAgICBtX3RocmVhZC0+d2FpdEZvckNv
bXBsZXRpb24oKTsKKyAgICBtX3RocmVhZCA9IG51bGxwdHI7Cit9CiAKLSAgICBtX2J1ZmZlci0+
c2V0U2FtcGxlQ291bnQobnVtYmVyT2ZGcmFtZXMpOwordm9pZCBSZW1vdGVDYXB0dXJlU2FtcGxl
TWFuYWdlcjo6UmVtb3RlQXVkaW86OnN0YXJ0VGhyZWFkKCkKK3sKKyAgICBBU1NFUlQoIW1fdGhy
ZWFkKTsKKyAgICBtX3Nob3VsZFN0b3BUaHJlYWQgPSBmYWxzZTsKKyAgICBhdXRvIHRocmVhZExv
b3AgPSBbdGhpc10oKSBtdXRhYmxlIHsKKyAgICAgICAgbV9mcmFtZUNvdW50ID0gMDsKKyAgICAg
ICAgZG8geworICAgICAgICAgICAgbV9zZW1hcGhvcmUud2FpdCgpOworICAgICAgICAgICAgaWYg
KG1fc2hvdWxkU3RvcFRocmVhZCkKKyAgICAgICAgICAgICAgICBicmVhazsKIAotICAgIG1fcmlu
Z0J1ZmZlci0+ZmV0Y2gobV9idWZmZXItPmxpc3QoKSwgbnVtYmVyT2ZGcmFtZXMsIHRpbWUudGlt
ZVZhbHVlKCkpOworICAgICAgICAgICAgbV9yaW5nQnVmZmVyLT5mZXRjaChtX2J1ZmZlci0+bGlz
dCgpLCBXZWJDb3JlOjpBdWRpb1V0aWxpdGllczo6cmVuZGVyUXVhbnR1bVNpemUsIG1fZnJhbWVD
b3VudCk7CisKKyAgICAgICAgICAgIGF1dG8gY3VycmVudFRpbWUgPSBtX3N0YXJ0VGltZSArIE1l
ZGlhVGltZSB7IG1fZnJhbWVDb3VudCwgc3RhdGljX2Nhc3Q8dWludDMyX3Q+KG1fZGVzY3JpcHRp
b24uc2FtcGxlUmF0ZSgpKSB9OworICAgICAgICAgICAgbV9zb3VyY2UtPnJlbW90ZUF1ZGlvU2Ft
cGxlc0F2YWlsYWJsZShjdXJyZW50VGltZSwgKm1fYnVmZmVyLCBtX2Rlc2NyaXB0aW9uLCBXZWJD
b3JlOjpBdWRpb1V0aWxpdGllczo6cmVuZGVyUXVhbnR1bVNpemUpOworCisgICAgICAgICAgICBt
X2ZyYW1lQ291bnQgKz0gV2ViQ29yZTo6QXVkaW9VdGlsaXRpZXM6OnJlbmRlclF1YW50dW1TaXpl
OworICAgICAgICB9IHdoaWxlICghbV9zaG91bGRTdG9wVGhyZWFkKTsKKyAgICB9OworICAgIG1f
dGhyZWFkID0gVGhyZWFkOjpjcmVhdGUoIlJlbW90ZUF1ZGlvU291cmNlUHJvdmlkZXJNYW5hZ2Vy
OjpSZW1vdGVBdWRpbyB0aHJlYWQiLCBXVEZNb3ZlKHRocmVhZExvb3ApLCBUaHJlYWRUeXBlOjpB
dWRpbywgVGhyZWFkOjpRT1M6OlVzZXJJbnRlcmFjdGl2ZSk7Cit9CisKK3ZvaWQgUmVtb3RlQ2Fw
dHVyZVNhbXBsZU1hbmFnZXI6OlJlbW90ZUF1ZGlvOjpzZXRTdG9yYWdlKGNvbnN0IFNoYXJlZE1l
bW9yeTo6SGFuZGxlJiBoYW5kbGUsIGNvbnN0IFdlYkNvcmU6OkNBQXVkaW9TdHJlYW1EZXNjcmlw
dGlvbiYgZGVzY3JpcHRpb24sIHVpbnQ2NF90IG51bWJlck9mRnJhbWVzLCBJUEM6OlNlbWFwaG9y
ZSYmIHNlbWFwaG9yZSwgY29uc3QgTWVkaWFUaW1lJiBtZWRpYVRpbWUpCit7CisgICAgc3RvcFRo
cmVhZCgpOworCisgICAgbV9zZW1hcGhvcmUgPSBXVEZNb3ZlKHNlbWFwaG9yZSk7CisgICAgbV9k
ZXNjcmlwdGlvbiA9IGRlc2NyaXB0aW9uOworICAgIG1fcmluZ0J1ZmZlciA9IG1ha2VVbmlxdWU8
Q0FSaW5nQnVmZmVyPihtYWtlVW5pcXVlUmVmPFJlYWRPbmx5U2hhcmVkUmluZ0J1ZmZlclN0b3Jh
Z2U+KGhhbmRsZSksIGRlc2NyaXB0aW9uLCBudW1iZXJPZkZyYW1lcyk7CisgICAgbV9idWZmZXIg
PSBtYWtlVW5pcXVlPFdlYkF1ZGlvQnVmZmVyTGlzdD4oZGVzY3JpcHRpb24sIG51bWJlck9mRnJh
bWVzKTsKKyAgICBtX2J1ZmZlci0+c2V0U2FtcGxlQ291bnQoV2ViQ29yZTo6QXVkaW9VdGlsaXRp
ZXM6OnJlbmRlclF1YW50dW1TaXplKTsKKyAgICBtX3N0YXJ0VGltZSA9IG1lZGlhVGltZTsKIAot
ICAgIG1fc291cmNlLT5yZW1vdGVBdWRpb1NhbXBsZXNBdmFpbGFibGUodGltZSwgKm1fYnVmZmVy
LCBtX2Rlc2NyaXB0aW9uLCBudW1iZXJPZkZyYW1lcyk7CisgICAgc3RhcnRUaHJlYWQoKTsKIH0K
IAogUmVtb3RlQ2FwdHVyZVNhbXBsZU1hbmFnZXI6OlJlbW90ZVZpZGVvOjpSZW1vdGVWaWRlbyhS
ZWY8UmVtb3RlUmVhbHRpbWVWaWRlb1NvdXJjZT4mJiBzb3VyY2UpCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0L1dlYlByb2Nlc3MvY29jb2EvUmVtb3RlQ2FwdHVyZVNhbXBsZU1hbmFnZXIuaCBi
L1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9jb2NvYS9SZW1vdGVDYXB0dXJlU2FtcGxlTWFuYWdl
ci5oCmluZGV4IDBhMjc1ZTk4MzYzMmZiOTM3YTZlMGFkOTA4Y2Y3MDg5MjAyNzQ4YjUuLjI3MzJl
ZTI5OGMwNDJjMWI4MzMyOTkzOTQ3NTNlY2NkYmE1YmYyMjYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQvV2ViUHJvY2Vzcy9jb2NvYS9SZW1vdGVDYXB0dXJlU2FtcGxlTWFuYWdlci5oCisrKyBi
L1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9jb2NvYS9SZW1vdGVDYXB0dXJlU2FtcGxlTWFuYWdl
ci5oCkBAIC0yOCw2ICsyOCw3IEBACiAjaWYgUExBVEZPUk0oQ09DT0EpICYmIEVOQUJMRShNRURJ
QV9TVFJFQU0pCiAKICNpbmNsdWRlICJDb25uZWN0aW9uLmgiCisjaW5jbHVkZSAiSVBDU2VtYXBo
b3JlLmgiCiAjaW5jbHVkZSAiTWVzc2FnZVJlY2VpdmVyLmgiCiAjaW5jbHVkZSAiUmVtb3RlUmVh
bHRpbWVBdWRpb1NvdXJjZS5oIgogI2luY2x1ZGUgIlJlbW90ZVJlYWx0aW1lVmlkZW9Tb3VyY2Uu
aCIKQEAgLTY1LDcgKzY2LDcgQEAgcHJpdmF0ZToKICAgICB2b2lkIGRpc3BhdGNoVG9UaHJlYWQo
RnVuY3Rpb248dm9pZCgpPiYmKSBmaW5hbDsKIAogICAgIC8vIE1lc3NhZ2VzCi0gICAgdm9pZCBh
dWRpb1N0b3JhZ2VDaGFuZ2VkKFdlYkNvcmU6OlJlYWx0aW1lTWVkaWFTb3VyY2VJZGVudGlmaWVy
LCBjb25zdCBTaGFyZWRNZW1vcnk6OklQQ0hhbmRsZSYsIGNvbnN0IFdlYkNvcmU6OkNBQXVkaW9T
dHJlYW1EZXNjcmlwdGlvbiYsIHVpbnQ2NF90IG51bWJlck9mRnJhbWVzKTsKKyAgICB2b2lkIGF1
ZGlvU3RvcmFnZUNoYW5nZWQoV2ViQ29yZTo6UmVhbHRpbWVNZWRpYVNvdXJjZUlkZW50aWZpZXIs
IGNvbnN0IFNoYXJlZE1lbW9yeTo6SVBDSGFuZGxlJiwgY29uc3QgV2ViQ29yZTo6Q0FBdWRpb1N0
cmVhbURlc2NyaXB0aW9uJiwgdWludDY0X3QgbnVtYmVyT2ZGcmFtZXMsIElQQzo6U2VtYXBob3Jl
JiYsIGNvbnN0IE1lZGlhVGltZSYpOwogICAgIHZvaWQgYXVkaW9TYW1wbGVzQXZhaWxhYmxlKFdl
YkNvcmU6OlJlYWx0aW1lTWVkaWFTb3VyY2VJZGVudGlmaWVyLCBNZWRpYVRpbWUsIHVpbnQ2NF90
IG51bWJlck9mRnJhbWVzKTsKICAgICB2b2lkIHZpZGVvU2FtcGxlQXZhaWxhYmxlKFdlYkNvcmU6
OlJlYWx0aW1lTWVkaWFTb3VyY2VJZGVudGlmaWVyLCBXZWJDb3JlOjpSZW1vdGVWaWRlb1NhbXBs
ZSYmKTsKIApAQCAtNzUsMTUgKzc2LDI0IEBAIHByaXZhdGU6CiAgICAgICAgIFdURl9NQUtFX0ZB
U1RfQUxMT0NBVEVEOwogICAgIHB1YmxpYzoKICAgICAgICAgZXhwbGljaXQgUmVtb3RlQXVkaW8o
UmVmPFJlbW90ZVJlYWx0aW1lQXVkaW9Tb3VyY2U+JiYpOworICAgICAgICB+UmVtb3RlQXVkaW8o
KTsKIAotICAgICAgICB2b2lkIHNldFN0b3JhZ2UoY29uc3QgU2hhcmVkTWVtb3J5OjpIYW5kbGUm
LCBjb25zdCBXZWJDb3JlOjpDQUF1ZGlvU3RyZWFtRGVzY3JpcHRpb24mLCB1aW50NjRfdCBudW1i
ZXJPZkZyYW1lcyk7Ci0gICAgICAgIHZvaWQgYXVkaW9TYW1wbGVzQXZhaWxhYmxlKE1lZGlhVGlt
ZSwgdWludDY0X3QgbnVtYmVyT2ZGcmFtZXMpOworICAgICAgICB2b2lkIHNldFN0b3JhZ2UoY29u
c3QgU2hhcmVkTWVtb3J5OjpIYW5kbGUmLCBjb25zdCBXZWJDb3JlOjpDQUF1ZGlvU3RyZWFtRGVz
Y3JpcHRpb24mLCB1aW50NjRfdCBudW1iZXJPZkZyYW1lcywgSVBDOjpTZW1hcGhvcmUmJiwgY29u
c3QgTWVkaWFUaW1lJik7CiAKICAgICBwcml2YXRlOgorICAgICAgICB2b2lkIHN0b3BUaHJlYWQo
KTsKKyAgICAgICAgdm9pZCBzdGFydFRocmVhZCgpOworCiAgICAgICAgIFJlZjxSZW1vdGVSZWFs
dGltZUF1ZGlvU291cmNlPiBtX3NvdXJjZTsKICAgICAgICAgV2ViQ29yZTo6Q0FBdWRpb1N0cmVh
bURlc2NyaXB0aW9uIG1fZGVzY3JpcHRpb247Ci0gICAgICAgIHN0ZDo6dW5pcXVlX3B0cjxXZWJD
b3JlOjpDQVJpbmdCdWZmZXI+IG1fcmluZ0J1ZmZlcjsKICAgICAgICAgc3RkOjp1bmlxdWVfcHRy
PFdlYkNvcmU6OldlYkF1ZGlvQnVmZmVyTGlzdD4gbV9idWZmZXI7CisgICAgICAgIHN0ZDo6dW5p
cXVlX3B0cjxXZWJDb3JlOjpDQVJpbmdCdWZmZXI+IG1fcmluZ0J1ZmZlcjsKKyAgICAgICAgaW50
NjRfdCBtX2ZyYW1lQ291bnQgeyAwIH07CisgICAgICAgIE1lZGlhVGltZSBtX3N0YXJ0VGltZTsK
KworICAgICAgICBJUEM6OlNlbWFwaG9yZSBtX3NlbWFwaG9yZTsKKyAgICAgICAgUmVmUHRyPFRo
cmVhZD4gbV90aHJlYWQ7CisgICAgICAgIHN0ZDo6YXRvbWljPGJvb2w+IG1fc2hvdWxkU3RvcFRo
cmVhZCB7IGZhbHNlIH07CiAgICAgfTsKIAogICAgIGNsYXNzIFJlbW90ZVZpZGVvIHsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9jb2NvYS9SZW1vdGVDYXB0dXJlU2FtcGxl
TWFuYWdlci5tZXNzYWdlcy5pbiBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9jb2NvYS9SZW1v
dGVDYXB0dXJlU2FtcGxlTWFuYWdlci5tZXNzYWdlcy5pbgppbmRleCBjNjQ1NjQ1MDBiNGJiNzRj
ZjM5OTljNDQ2NzIzNDI1M2RiMGIzM2NjLi5hNWJhMThiOWQ0OWUyODk1Yzg2ODU3NjhlZDQ5NDQ2
MzQ4MWU1MTY3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvY29jb2EvUmVt
b3RlQ2FwdHVyZVNhbXBsZU1hbmFnZXIubWVzc2FnZXMuaW4KKysrIGIvU291cmNlL1dlYktpdC9X
ZWJQcm9jZXNzL2NvY29hL1JlbW90ZUNhcHR1cmVTYW1wbGVNYW5hZ2VyLm1lc3NhZ2VzLmluCkBA
IC0yNCw4ICsyNCw3IEBACiAjaWYgRU5BQkxFKE1FRElBX1NUUkVBTSkKIAogbWVzc2FnZXMgLT4g
UmVtb3RlQ2FwdHVyZVNhbXBsZU1hbmFnZXIgTm90UmVmQ291bnRlZCB7Ci0gICAgQXVkaW9TdG9y
YWdlQ2hhbmdlZChXZWJDb3JlOjpSZWFsdGltZU1lZGlhU291cmNlSWRlbnRpZmllciBpZCwgV2Vi
S2l0OjpTaGFyZWRNZW1vcnk6OklQQ0hhbmRsZSBzdG9yYWdlSGFuZGxlLCBXZWJDb3JlOjpDQUF1
ZGlvU3RyZWFtRGVzY3JpcHRpb24gZGVzY3JpcHRpb24sIHVpbnQ2NF90IG51bWJlck9mRnJhbWVz
KQotICAgIEF1ZGlvU2FtcGxlc0F2YWlsYWJsZShXZWJDb3JlOjpSZWFsdGltZU1lZGlhU291cmNl
SWRlbnRpZmllciBpZCwgTWVkaWFUaW1lIHRpbWUsIHVpbnQ2NF90IG51bWJlck9mRnJhbWVzKQor
ICAgIEF1ZGlvU3RvcmFnZUNoYW5nZWQoV2ViQ29yZTo6UmVhbHRpbWVNZWRpYVNvdXJjZUlkZW50
aWZpZXIgaWQsIFdlYktpdDo6U2hhcmVkTWVtb3J5OjpJUENIYW5kbGUgc3RvcmFnZUhhbmRsZSwg
V2ViQ29yZTo6Q0FBdWRpb1N0cmVhbURlc2NyaXB0aW9uIGRlc2NyaXB0aW9uLCB1aW50NjRfdCBu
dW1iZXJPZkZyYW1lcywgSVBDOjpTZW1hcGhvcmUgY2FwdHVyZVNlbWFwaG9yZSwgTWVkaWFUaW1l
IG1lZGlhVGltZSk7CiAgICAgVmlkZW9TYW1wbGVBdmFpbGFibGUoV2ViQ29yZTo6UmVhbHRpbWVN
ZWRpYVNvdXJjZUlkZW50aWZpZXIgaWQsIFdlYkNvcmU6OlJlbW90ZVZpZGVvU2FtcGxlIHNhbXBs
ZSkKIH0KIAo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>428000</attachid>
            <date>2021-05-07 08:45:07 -0700</date>
            <delta_ts>2021-05-07 09:45:25 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-225452-20210507174505.patch</filename>
            <type>text/plain</type>
            <size>18135</size>
            <attacher name="youenn fablet">youennf</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjc2NTkyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IGE2ODA3NGUyMDM3M2ZlYWNl
ODZkMjBjMjA5NzYxYmEyMjZhYmNmZWUuLmI5YWQ0MzRmYjQ1M2Y4YmExNjIzZjNmMmI1ZWU0NGVh
ZjIzMWQ0ZWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzYgQEAKKzIwMjEtMDUtMDYgIFlvdWVubiBG
YWJsZXQgIDx5b3Vlbm5AYXBwbGUuY29tPgorCisgICAgICAgIFVzZSBJUEM6OlNlbWFwaG9yZSBp
bnN0ZWFkIG9mIHNlbmRpbmcgYW4gSVBDIG1lc3NhZ2UgZm9yIGV2ZXJ5IGNhcHR1cmVkIGF1ZGlv
IHNhbXBsZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
MjI1NDUyCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAg
UHJldmlvdXNseSwgd2Ugd2VyZSBzZW5kaW5nIGFuIElQQyBtZXNzYWdlIGZyb20gVUlQcm9jZXNz
IG9yIEdQVVByb2Nlc3MgdG8gV2ViUHJvY2VzcyBmb3IgZXZlcnkgbWljcm9waG9uZSBhdWRpbyBz
YW1wbGUgY2h1bmsuCisgICAgICAgIFdlIGFyZSBub3cgdXNpbmcgSVBDOjpTZW1hcGhvcmUgdG8g
c2lnbmFsIHRoYXQgYSBuZXcgY2h1bmsgaXMgdG8gYmUgcHJvY2Vzc2VkLgorCisgICAgICAgIFdl
IG5vIGxvbmdlciBzZW5kIHRoZSBjaHVuayB0aW1lc3RhbXAuIEluc3RlYWQsIHdlIHJlY29uc3Ry
dWN0IGl0IGZyb20gdGhlIG51bWJlciBvZiBwcmV2aW91c2x5IHByb2Nlc3NlZCBzYW1wbGVzLgor
ICAgICAgICBBdCBhdWRpbyBzdG9yYWdlIGNoYW5nZSwgd2Ugc2VuZCB0aGUgc3RhcnQgdGltZSBh
bmQgd2UgYXNzdW1lIHRoYXQgdGhlcmUgaXMgY29udGludW91cyB0aW1pbmcgYmFzZWQgb24gc2Ft
cGxlIGNvdW50cyBhZnRlciB0aGF0LgorICAgICAgICBUaGF0IGlzIHdoeSB3ZSByZWNyZWF0ZSBh
IG5ldyBhdWRpbyBzdG9yYWdlIGNoYW5nZSBhbnl0aW1lIHdlIG5lZWQgdG8gcmVzZXQgb3IgdGhl
IGNvbmZpZ3VyYXRpb24gY2hhbmdlcywgd2hpY2ggc2hvdWxkIG5vdCBoYXBwZW4gb2Z0ZW4gaW4g
cHJhY3RpY2UuCisKKyAgICAgICAgV2UgcHJvY2VzcyBmaXhlZC1zaXplIGNodW5rcyBvbiBXZWJQ
cm9jZXNzIHNpZGUgYW5kIHNpZ25hbCBpdCBvbiBHUFVQcm9jZXNzL1VJUHJvY2VzcyBzaWRlLgor
ICAgICAgICBUaGlzIHNpemUgaXMgc2VudCB0aHJvdWdoIElQQyBhdCBhdWRpbyBzdG9yYWdlIGNo
YW5nZSB0aW1lIGFuZCBpcyB0aGUgbWF4IG9mIDEyOCBzYW1wbGVzIChXZWJBdWRpbyBxdWFudHVt
KSBhbmQgQXVkaW9TZXNzaW9uIHByZWZlcnJlZCBzaXplLgorICAgICAgICBJbiBjYXNlIFdlYkF1
ZGlvIGlzIHVzZWQsIGl0IHNob3VsZCBiZSAxMjggc2FtcGxlcy4gSW4gY2FzZSBXZWJBdWRpbyBp
cyBub3QgdXNlZCwgaXQgc2hvdWxkIGJlIDIwIG1zIG9mIGF1ZGlvIGRhdGEuCisKKyAgICAgICAg
Q292ZXJlZCBieSBleGlzdGluZyB0ZXN0cyBhbmQgbWFudWFsbHkgdGVzdGVkLgorCisgICAgICAg
ICogVUlQcm9jZXNzL0NvY29hL1VzZXJNZWRpYUNhcHR1cmVNYW5hZ2VyUHJveHkuY3BwOgorICAg
ICAgICAoV2ViS2l0OjpVc2VyTWVkaWFDYXB0dXJlTWFuYWdlclByb3h5OjpTb3VyY2VQcm94eTo6
c3RhcnQpOgorICAgICAgICAoV2ViS2l0OjpVc2VyTWVkaWFDYXB0dXJlTWFuYWdlclByb3h5OjpT
b3VyY2VQcm94eTo6c3RvcmFnZUNoYW5nZWQpOgorICAgICAgICAqIFdlYlByb2Nlc3MvY29jb2Ev
UmVtb3RlQ2FwdHVyZVNhbXBsZU1hbmFnZXIuY3BwOgorICAgICAgICAoV2ViS2l0OjpSZW1vdGVD
YXB0dXJlU2FtcGxlTWFuYWdlcjo6YXVkaW9TdG9yYWdlQ2hhbmdlZCk6CisgICAgICAgIChXZWJL
aXQ6OlJlbW90ZUNhcHR1cmVTYW1wbGVNYW5hZ2VyOjpSZW1vdGVBdWRpbzo6UmVtb3RlQXVkaW8p
OgorICAgICAgICAoV2ViS2l0OjpSZW1vdGVDYXB0dXJlU2FtcGxlTWFuYWdlcjo6UmVtb3RlQXVk
aW86On5SZW1vdGVBdWRpbyk6CisgICAgICAgIChXZWJLaXQ6OlJlbW90ZUNhcHR1cmVTYW1wbGVN
YW5hZ2VyOjpSZW1vdGVBdWRpbzo6c3RvcFRocmVhZCk6CisgICAgICAgIChXZWJLaXQ6OlJlbW90
ZUNhcHR1cmVTYW1wbGVNYW5hZ2VyOjpSZW1vdGVBdWRpbzo6c3RhcnRUaHJlYWQpOgorICAgICAg
ICAoV2ViS2l0OjpSZW1vdGVDYXB0dXJlU2FtcGxlTWFuYWdlcjo6UmVtb3RlQXVkaW86OnNldFN0
b3JhZ2UpOgorICAgICAgICAqIFdlYlByb2Nlc3MvY29jb2EvUmVtb3RlQ2FwdHVyZVNhbXBsZU1h
bmFnZXIuaDoKKyAgICAgICAgKiBXZWJQcm9jZXNzL2NvY29hL1JlbW90ZUNhcHR1cmVTYW1wbGVN
YW5hZ2VyLm1lc3NhZ2VzLmluOgorCiAyMDIxLTA1LTA1ICBZb3Vlbm4gRmFibGV0ICA8eW91ZW5u
QGFwcGxlLmNvbT4KIAogICAgICAgICBSRUdSRVNTSU9OIChyMjc2NjMzKTogQVNTRVJUSU9OIEZB
SUxFRDogIWZvcmJpZE1hbGxvY1VzZVNjb3BlQ291bnQgfHwgZGlzYWJsZU1hbGxvY1Jlc3RyaWN0
aW9uU2NvcGVDb3VudApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2Ev
VXNlck1lZGlhQ2FwdHVyZU1hbmFnZXJQcm94eS5jcHAgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vz
cy9Db2NvYS9Vc2VyTWVkaWFDYXB0dXJlTWFuYWdlclByb3h5LmNwcAppbmRleCA4YzgyM2ZlNDM3
ODZjYjNkY2UyZmVjZTkwZmI4OGU0ODBiMzgxY2Y3Li45ZDRiOTY3NzY4NmIzOTA4MWE4MTg3NzBi
MmEzNzQ3OGRiMTZmZDQ2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2Nv
YS9Vc2VyTWVkaWFDYXB0dXJlTWFuYWdlclByb3h5LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJ
UHJvY2Vzcy9Db2NvYS9Vc2VyTWVkaWFDYXB0dXJlTWFuYWdlclByb3h5LmNwcApAQCAtMzYsNiAr
MzYsNyBAQAogI2luY2x1ZGUgIldlYkNvcmVBcmd1bWVudENvZGVycy5oIgogI2luY2x1ZGUgIldl
YlByb2Nlc3NQcm94eS5oIgogI2luY2x1ZGUgPFdlYkNvcmUvQXVkaW9TZXNzaW9uLmg+CisjaW5j
bHVkZSA8V2ViQ29yZS9BdWRpb1V0aWxpdGllcy5oPgogI2luY2x1ZGUgPFdlYkNvcmUvQ0FSaW5n
QnVmZmVyLmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9JbWFnZVJvdGF0aW9uU2Vzc2lvblZULmg+CiAj
aW5jbHVkZSA8V2ViQ29yZS9NZWRpYUNvbnN0cmFpbnRzLmg+CkBAIC02MCw3ICs2MSw2IEBAIHB1
YmxpYzoKICAgICAgICAgOiBtX2lkKGlkKQogICAgICAgICAsIG1fY29ubmVjdGlvbihXVEZNb3Zl
KGNvbm5lY3Rpb24pKQogICAgICAgICAsIG1fc291cmNlKFdURk1vdmUoc291cmNlKSkKLSAgICAg
ICAgLCBtX3JpbmdCdWZmZXIobWFrZVVuaXF1ZVJlZjxTaGFyZWRSaW5nQnVmZmVyU3RvcmFnZT4o
c3RkOjpiaW5kKCZTb3VyY2VQcm94eTo6c3RvcmFnZUNoYW5nZWQsIHRoaXMsIHN0ZDo6cGxhY2Vo
b2xkZXJzOjpfMSwgc3RkOjpwbGFjZWhvbGRlcnM6Ol8yLCBzdGQ6OnBsYWNlaG9sZGVyczo6XzMp
KSkKICAgICB7CiAgICAgICAgIG1fc291cmNlLT5hZGRPYnNlcnZlcigqdGhpcyk7CiAgICAgICAg
IHN3aXRjaCAobV9zb3VyY2UtPnR5cGUoKSkgewpAQCAtNzcsNyArNzcsOCBAQCBwdWJsaWM6CiAK
ICAgICB+U291cmNlUHJveHkoKQogICAgIHsKLSAgICAgICAgc3RvcmFnZSgpLmludmFsaWRhdGUo
KTsKKyAgICAgICAgaWYgKG1fcmluZ0J1ZmZlcikKKyAgICAgICAgICAgIHN0YXRpY19jYXN0PFNo
YXJlZFJpbmdCdWZmZXJTdG9yYWdlJj4obV9yaW5nQnVmZmVyLT5zdG9yYWdlKCkpLmludmFsaWRh
dGUoKTsKIAogICAgICAgICBzd2l0Y2ggKG1fc291cmNlLT50eXBlKCkpIHsKICAgICAgICAgY2Fz
ZSBSZWFsdGltZU1lZGlhU291cmNlOjpUeXBlOjpBdWRpbzoKQEAgLTkzLDcgKzk0LDYgQEAgcHVi
bGljOgogICAgIH0KIAogICAgIFJlYWx0aW1lTWVkaWFTb3VyY2UmIHNvdXJjZSgpIHsgcmV0dXJu
IG1fc291cmNlOyB9Ci0gICAgU2hhcmVkUmluZ0J1ZmZlclN0b3JhZ2UmIHN0b3JhZ2UoKSB7IHJl
dHVybiBzdGF0aWNfY2FzdDxTaGFyZWRSaW5nQnVmZmVyU3RvcmFnZSY+KG1fcmluZ0J1ZmZlci5z
dG9yYWdlKCkpOyB9CiAgICAgQ0FBdWRpb1N0cmVhbURlc2NyaXB0aW9uJiBkZXNjcmlwdGlvbigp
IHsgcmV0dXJuIG1fZGVzY3JpcHRpb247IH0KICAgICBpbnQ2NF90IG51bWJlck9mRnJhbWVzKCkg
eyByZXR1cm4gbV9udW1iZXJPZkZyYW1lczsgfQogCkBAIC0xMDgsNiArMTA4LDcgQEAgcHVibGlj
OgogCiAgICAgdm9pZCBzdGFydCgpCiAgICAgeworICAgICAgICBtX3Nob3VsZFJlc2V0ID0gdHJ1
ZTsKICAgICAgICAgbV9pc0VuZGVkID0gZmFsc2U7CiAgICAgICAgIG1fc291cmNlLT5zdGFydCgp
OwogICAgIH0KQEAgLTE0NSwyMCArMTQ2LDM1IEBAIHByaXZhdGU6CiAKICAgICAvLyBNYXkgZ2V0
IGNhbGxlZCBvbiBhIGJhY2tncm91bmQgdGhyZWFkLgogICAgIHZvaWQgYXVkaW9TYW1wbGVzQXZh
aWxhYmxlKGNvbnN0IE1lZGlhVGltZSYgdGltZSwgY29uc3QgUGxhdGZvcm1BdWRpb0RhdGEmIGF1
ZGlvRGF0YSwgY29uc3QgQXVkaW9TdHJlYW1EZXNjcmlwdGlvbiYgZGVzY3JpcHRpb24sIHNpemVf
dCBudW1iZXJPZkZyYW1lcykgZmluYWwgewotICAgICAgICBEaXNhYmxlTWFsbG9jUmVzdHJpY3Rp
b25zRm9yQ3VycmVudFRocmVhZFNjb3BlIHNjb3BlOwotCi0gICAgICAgIGlmIChtX2Rlc2NyaXB0
aW9uICE9IGRlc2NyaXB0aW9uKSB7CisgICAgICAgIGlmIChtX2Rlc2NyaXB0aW9uICE9IGRlc2Ny
aXB0aW9uIHx8IG1fc2hvdWxkUmVzZXQpIHsKKyAgICAgICAgICAgIERpc2FibGVNYWxsb2NSZXN0
cmljdGlvbnNGb3JDdXJyZW50VGhyZWFkU2NvcGUgc2NvcGU7CisKKyAgICAgICAgICAgIG1fc2hv
dWxkUmVzZXQgPSBmYWxzZTsKKyAgICAgICAgICAgIG1fZnJhbWVDb3VudCA9IDA7CisgICAgICAg
ICAgICBtX3JlbWFpbmluZ0ZyYW1lQ291bnQgPSAwOworICAgICAgICAgICAgbV9zdGFydFRpbWUg
PSB0aW1lOworICAgICAgICAgICAgbV9jYXB0dXJlU2VtYXBob3JlID0gbWFrZVVuaXF1ZTxJUEM6
OlNlbWFwaG9yZT4oKTsKICAgICAgICAgICAgIEFTU0VSVChkZXNjcmlwdGlvbi5wbGF0Zm9ybURl
c2NyaXB0aW9uKCkudHlwZSA9PSBQbGF0Zm9ybURlc2NyaXB0aW9uOjpDQUF1ZGlvU3RyZWFtQmFz
aWNUeXBlKTsKICAgICAgICAgICAgIG1fZGVzY3JpcHRpb24gPSAqV1RGOjpnZXQ8Y29uc3QgQXVk
aW9TdHJlYW1CYXNpY0Rlc2NyaXB0aW9uKj4oZGVzY3JpcHRpb24ucGxhdGZvcm1EZXNjcmlwdGlv
bigpLmRlc2NyaXB0aW9uKTsKIAorICAgICAgICAgICAgbV9mcmFtZUNodW5rU2l6ZSA9IHN0ZDo6
bWF4KFdlYkNvcmU6OkF1ZGlvVXRpbGl0aWVzOjpyZW5kZXJRdWFudHVtU2l6ZSwgQXVkaW9TZXNz
aW9uOjpzaGFyZWRTZXNzaW9uKCkucHJlZmVycmVkQnVmZmVyU2l6ZSgpKTsKKwogICAgICAgICAg
ICAgLy8gQWxsb2NhdGUgYSByaW5nIGJ1ZmZlciBsYXJnZSBlbm91Z2ggdG8gY29udGFpbiAyIHNl
Y29uZHMgb2YgYXVkaW8uCisgICAgICAgICAgICBtX3JpbmdCdWZmZXIucmVzZXQoKTsKICAgICAg
ICAgICAgIG1fbnVtYmVyT2ZGcmFtZXMgPSBtX2Rlc2NyaXB0aW9uLnNhbXBsZVJhdGUoKSAqIDI7
Ci0gICAgICAgICAgICBtX3JpbmdCdWZmZXIuYWxsb2NhdGUobV9kZXNjcmlwdGlvbi5zdHJlYW1E
ZXNjcmlwdGlvbigpLCBtX251bWJlck9mRnJhbWVzKTsKKyAgICAgICAgICAgIGF1dG8gc3RvcmFn
ZSA9IG1ha2VVbmlxdWVSZWY8U2hhcmVkUmluZ0J1ZmZlclN0b3JhZ2U+KHN0ZDo6YmluZCgmU291
cmNlUHJveHk6OnN0b3JhZ2VDaGFuZ2VkLCB0aGlzLCBzdGQ6OnBsYWNlaG9sZGVyczo6XzEsIHN0
ZDo6cGxhY2Vob2xkZXJzOjpfMiwgc3RkOjpwbGFjZWhvbGRlcnM6Ol8zKSk7CisgICAgICAgICAg
ICBtX3JpbmdCdWZmZXIgPSBtYWtlVW5pcXVlPENBUmluZ0J1ZmZlcj4oV1RGTW92ZShzdG9yYWdl
KSwgbV9kZXNjcmlwdGlvbi5zdHJlYW1EZXNjcmlwdGlvbigpLCBtX251bWJlck9mRnJhbWVzKTsK
ICAgICAgICAgfQogCiAgICAgICAgIEFTU0VSVChpczxXZWJBdWRpb0J1ZmZlckxpc3Q+KGF1ZGlv
RGF0YSkpOwotICAgICAgICBtX3JpbmdCdWZmZXIuc3RvcmUoZG93bmNhc3Q8V2ViQXVkaW9CdWZm
ZXJMaXN0PihhdWRpb0RhdGEpLmxpc3QoKSwgbnVtYmVyT2ZGcmFtZXMsIHRpbWUudGltZVZhbHVl
KCkpOwotICAgICAgICBtX2Nvbm5lY3Rpb24tPnNlbmQoTWVzc2FnZXM6OlJlbW90ZUNhcHR1cmVT
YW1wbGVNYW5hZ2VyOjpBdWRpb1NhbXBsZXNBdmFpbGFibGUobV9pZCwgdGltZSwgbnVtYmVyT2ZG
cmFtZXMpLCAwKTsKKyAgICAgICAgbV9yaW5nQnVmZmVyLT5zdG9yZShkb3duY2FzdDxXZWJBdWRp
b0J1ZmZlckxpc3Q+KGF1ZGlvRGF0YSkubGlzdCgpLCBudW1iZXJPZkZyYW1lcywgbV9mcmFtZUNv
dW50KTsKKyAgICAgICAgbV9mcmFtZUNvdW50ICs9IG51bWJlck9mRnJhbWVzOworCisgICAgICAg
IHNpemVfdCBmcmFtZXNUb1NlbmQgPSBudW1iZXJPZkZyYW1lcyArIG1fcmVtYWluaW5nRnJhbWVD
b3VudDsKKyAgICAgICAgc2l6ZV90IHNpZ25hbENvdW50ID0gZnJhbWVzVG9TZW5kIC8gbV9mcmFt
ZUNodW5rU2l6ZTsKKyAgICAgICAgbV9yZW1haW5pbmdGcmFtZUNvdW50ID0gZnJhbWVzVG9TZW5k
IC0gKHNpZ25hbENvdW50ICogbV9mcmFtZUNodW5rU2l6ZSk7CisgICAgICAgIGZvciAodW5zaWdu
ZWQgaSA9IDA7IGkgPCBzaWduYWxDb3VudDsgKytpKQorICAgICAgICAgICAgbV9jYXB0dXJlU2Vt
YXBob3JlLT5zaWduYWwoKTsKICAgICB9CiAKICAgICB2b2lkIHZpZGVvU2FtcGxlQXZhaWxhYmxl
KE1lZGlhU2FtcGxlJiBzYW1wbGUpIGZpbmFsCkBAIC0xOTksNyArMjE1LDYgQEAgcHJpdmF0ZToK
IAogICAgIHZvaWQgc3RvcmFnZUNoYW5nZWQoU2hhcmVkTWVtb3J5KiBzdG9yYWdlLCBjb25zdCBX
ZWJDb3JlOjpDQUF1ZGlvU3RyZWFtRGVzY3JpcHRpb24mIGZvcm1hdCwgc2l6ZV90IGZyYW1lQ291
bnQpCiAgICAgewotICAgICAgICBEaXNhYmxlTWFsbG9jUmVzdHJpY3Rpb25zRm9yQ3VycmVudFRo
cmVhZFNjb3BlIHNjb3BlOwogICAgICAgICBTaGFyZWRNZW1vcnk6OkhhbmRsZSBoYW5kbGU7CiAg
ICAgICAgIGlmIChzdG9yYWdlKQogICAgICAgICAgICAgc3RvcmFnZS0+Y3JlYXRlSGFuZGxlKGhh
bmRsZSwgU2hhcmVkTWVtb3J5OjpQcm90ZWN0aW9uOjpSZWFkT25seSk7CkBAIC0yMTAsNyArMjI1
LDcgQEAgcHJpdmF0ZToKICNlbHNlCiAgICAgICAgIHVpbnQ2NF90IGRhdGFTaXplID0gMDsKICNl
bmRpZgotICAgICAgICBtX2Nvbm5lY3Rpb24tPnNlbmQoTWVzc2FnZXM6OlJlbW90ZUNhcHR1cmVT
YW1wbGVNYW5hZ2VyOjpBdWRpb1N0b3JhZ2VDaGFuZ2VkKG1faWQsIFNoYXJlZE1lbW9yeTo6SVBD
SGFuZGxlIHsgV1RGTW92ZShoYW5kbGUpLCAgZGF0YVNpemUgfSwgZm9ybWF0LCBmcmFtZUNvdW50
KSwgMCk7CisgICAgICAgIG1fY29ubmVjdGlvbi0+c2VuZChNZXNzYWdlczo6UmVtb3RlQ2FwdHVy
ZVNhbXBsZU1hbmFnZXI6OkF1ZGlvU3RvcmFnZUNoYW5nZWQobV9pZCwgU2hhcmVkTWVtb3J5OjpJ
UENIYW5kbGUgeyBXVEZNb3ZlKGhhbmRsZSksICBkYXRhU2l6ZSB9LCBmb3JtYXQsIGZyYW1lQ291
bnQsICptX2NhcHR1cmVTZW1hcGhvcmUsIG1fc3RhcnRUaW1lLCBtX2ZyYW1lQ2h1bmtTaXplKSwg
MCk7CiAgICAgfQogCiAgICAgYm9vbCBwcmV2ZW50U291cmNlRnJvbVN0b3BwaW5nKCkKQEAgLTIy
MywxMiArMjM4LDE4IEBAIHByaXZhdGU6CiAgICAgV2Vha1B0cjxQbGF0Zm9ybU1lZGlhU2Vzc2lv
bk1hbmFnZXI+IG1fc2Vzc2lvbk1hbmFnZXI7CiAgICAgUmVmPElQQzo6Q29ubmVjdGlvbj4gbV9j
b25uZWN0aW9uOwogICAgIFJlZjxSZWFsdGltZU1lZGlhU291cmNlPiBtX3NvdXJjZTsKLSAgICBD
QVJpbmdCdWZmZXIgbV9yaW5nQnVmZmVyOworICAgIHN0ZDo6dW5pcXVlX3B0cjxDQVJpbmdCdWZm
ZXI+IG1fcmluZ0J1ZmZlcjsKICAgICBDQUF1ZGlvU3RyZWFtRGVzY3JpcHRpb24gbV9kZXNjcmlw
dGlvbiB7IH07CiAgICAgaW50NjRfdCBtX251bWJlck9mRnJhbWVzIHsgMCB9OwogICAgIGJvb2wg
bV9pc0VuZGVkIHsgZmFsc2UgfTsKICAgICBzdGQ6OnVuaXF1ZV9wdHI8SW1hZ2VSb3RhdGlvblNl
c3Npb25WVD4gbV9yb3RhdGlvblNlc3Npb247CiAgICAgYm9vbCBtX3Nob3VsZEFwcGx5Um90YXRp
b24geyBmYWxzZSB9OworICAgIHN0ZDo6dW5pcXVlX3B0cjxJUEM6OlNlbWFwaG9yZT4gbV9jYXB0
dXJlU2VtYXBob3JlOworICAgIGludDY0X3QgbV9mcmFtZUNvdW50IHsgMCB9OworICAgIGludDY0
X3QgbV9yZW1haW5pbmdGcmFtZUNvdW50IHsgMCB9OworICAgIHNpemVfdCBtX2ZyYW1lQ2h1bmtT
aXplIHsgMCB9OworICAgIE1lZGlhVGltZSBtX3N0YXJ0VGltZTsKKyAgICBib29sIG1fc2hvdWxk
UmVzZXQgeyBmYWxzZSB9OwogfTsKIAogVXNlck1lZGlhQ2FwdHVyZU1hbmFnZXJQcm94eTo6VXNl
ck1lZGlhQ2FwdHVyZU1hbmFnZXJQcm94eShVbmlxdWVSZWY8Q29ubmVjdGlvblByb3h5PiYmIGNv
bm5lY3Rpb25Qcm94eSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9jb2Nv
YS9SZW1vdGVDYXB0dXJlU2FtcGxlTWFuYWdlci5jcHAgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nl
c3MvY29jb2EvUmVtb3RlQ2FwdHVyZVNhbXBsZU1hbmFnZXIuY3BwCmluZGV4IDc0ZDNlZGZiNzI5
MzJjMjFmZmQ1OTEwYTY4ZjExMmFjZjgxNzk4YjkuLmI2OTgwZWNiNjFlZjFmM2ZkOWNiNTRmNjg4
ODdmNzMxYjg2OGM2NjMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9jb2Nv
YS9SZW1vdGVDYXB0dXJlU2FtcGxlTWFuYWdlci5jcHAKKysrIGIvU291cmNlL1dlYktpdC9XZWJQ
cm9jZXNzL2NvY29hL1JlbW90ZUNhcHR1cmVTYW1wbGVNYW5hZ2VyLmNwcApAQCAtMTI1LDcgKzEy
NSw3IEBAIHZvaWQgUmVtb3RlQ2FwdHVyZVNhbXBsZU1hbmFnZXI6OmRpc3BhdGNoVG9UaHJlYWQo
RnVuY3Rpb248dm9pZCgpPiYmIGNhbGxiYWNrKQogICAgIG1fcXVldWUtPmRpc3BhdGNoKFdURk1v
dmUoY2FsbGJhY2spKTsKIH0KIAotdm9pZCBSZW1vdGVDYXB0dXJlU2FtcGxlTWFuYWdlcjo6YXVk
aW9TdG9yYWdlQ2hhbmdlZChXZWJDb3JlOjpSZWFsdGltZU1lZGlhU291cmNlSWRlbnRpZmllciBp
ZGVudGlmaWVyLCBjb25zdCBTaGFyZWRNZW1vcnk6OklQQ0hhbmRsZSYgaXBjSGFuZGxlLCBjb25z
dCBXZWJDb3JlOjpDQUF1ZGlvU3RyZWFtRGVzY3JpcHRpb24mIGRlc2NyaXB0aW9uLCB1aW50NjRf
dCBudW1iZXJPZkZyYW1lcykKK3ZvaWQgUmVtb3RlQ2FwdHVyZVNhbXBsZU1hbmFnZXI6OmF1ZGlv
U3RvcmFnZUNoYW5nZWQoV2ViQ29yZTo6UmVhbHRpbWVNZWRpYVNvdXJjZUlkZW50aWZpZXIgaWRl
bnRpZmllciwgY29uc3QgU2hhcmVkTWVtb3J5OjpJUENIYW5kbGUmIGlwY0hhbmRsZSwgY29uc3Qg
V2ViQ29yZTo6Q0FBdWRpb1N0cmVhbURlc2NyaXB0aW9uJiBkZXNjcmlwdGlvbiwgdWludDY0X3Qg
bnVtYmVyT2ZGcmFtZXMsIElQQzo6U2VtYXBob3JlJiYgc2VtYXBob3JlLCBjb25zdCBNZWRpYVRp
bWUmIG1lZGlhVGltZSwgc2l6ZV90IGZyYW1lQ2h1bmtTaXplKQogewogICAgIEFTU0VSVCghV1RG
Ojppc01haW5SdW5Mb29wKCkpOwogCkBAIC0xMzQsMTkgKzEzNCw3IEBAIHZvaWQgUmVtb3RlQ2Fw
dHVyZVNhbXBsZU1hbmFnZXI6OmF1ZGlvU3RvcmFnZUNoYW5nZWQoV2ViQ29yZTo6UmVhbHRpbWVN
ZWRpYVNvdXJjCiAgICAgICAgIFJFTEVBU0VfTE9HX0VSUk9SKFdlYlJUQywgIlVuYWJsZSB0byBm
aW5kIHNvdXJjZSAlbGx1IGZvciBzdG9yYWdlQ2hhbmdlZCIsIGlkZW50aWZpZXIudG9VSW50NjQo
KSk7CiAgICAgICAgIHJldHVybjsKICAgICB9Ci0gICAgaXRlcmF0b3ItPnZhbHVlLT5zZXRTdG9y
YWdlKGlwY0hhbmRsZS5oYW5kbGUsIGRlc2NyaXB0aW9uLCBudW1iZXJPZkZyYW1lcyk7Ci19Ci0K
LXZvaWQgUmVtb3RlQ2FwdHVyZVNhbXBsZU1hbmFnZXI6OmF1ZGlvU2FtcGxlc0F2YWlsYWJsZShX
ZWJDb3JlOjpSZWFsdGltZU1lZGlhU291cmNlSWRlbnRpZmllciBpZGVudGlmaWVyLCBNZWRpYVRp
bWUgdGltZSwgdWludDY0X3QgbnVtYmVyT2ZGcmFtZXMpCi17Ci0gICAgQVNTRVJUKCFXVEY6Omlz
TWFpblJ1bkxvb3AoKSk7Ci0KLSAgICBhdXRvIGl0ZXJhdG9yID0gbV9hdWRpb1NvdXJjZXMuZmlu
ZChpZGVudGlmaWVyKTsKLSAgICBpZiAoaXRlcmF0b3IgPT0gbV9hdWRpb1NvdXJjZXMuZW5kKCkp
IHsKLSAgICAgICAgUkVMRUFTRV9MT0dfRVJST1IoV2ViUlRDLCAiVW5hYmxlIHRvIGZpbmQgc291
cmNlICVsbHUgZm9yIGF1ZGlvU2FtcGxlc0F2YWlsYWJsZSIsIGlkZW50aWZpZXIudG9VSW50NjQo
KSk7Ci0gICAgICAgIHJldHVybjsKLSAgICB9Ci0gICAgaXRlcmF0b3ItPnZhbHVlLT5hdWRpb1Nh
bXBsZXNBdmFpbGFibGUodGltZSwgbnVtYmVyT2ZGcmFtZXMpOworICAgIGl0ZXJhdG9yLT52YWx1
ZS0+c2V0U3RvcmFnZShpcGNIYW5kbGUuaGFuZGxlLCBkZXNjcmlwdGlvbiwgbnVtYmVyT2ZGcmFt
ZXMsIFdURk1vdmUoc2VtYXBob3JlKSwgbWVkaWFUaW1lLCBmcmFtZUNodW5rU2l6ZSk7CiB9CiAK
IHZvaWQgUmVtb3RlQ2FwdHVyZVNhbXBsZU1hbmFnZXI6OnZpZGVvU2FtcGxlQXZhaWxhYmxlKFJl
YWx0aW1lTWVkaWFTb3VyY2VJZGVudGlmaWVyIGlkZW50aWZpZXIsIFJlbW90ZVZpZGVvU2FtcGxl
JiYgc2FtcGxlKQpAQCAtMTYzLDM0ICsxNTEsNjYgQEAgdm9pZCBSZW1vdGVDYXB0dXJlU2FtcGxl
TWFuYWdlcjo6dmlkZW9TYW1wbGVBdmFpbGFibGUoUmVhbHRpbWVNZWRpYVNvdXJjZUlkZW50aWYK
IAogUmVtb3RlQ2FwdHVyZVNhbXBsZU1hbmFnZXI6OlJlbW90ZUF1ZGlvOjpSZW1vdGVBdWRpbyhS
ZWY8UmVtb3RlUmVhbHRpbWVBdWRpb1NvdXJjZT4mJiBzb3VyY2UpCiAgICAgOiBtX3NvdXJjZShX
VEZNb3ZlKHNvdXJjZSkpCi0gICAgLCBtX3JpbmdCdWZmZXIobWFrZVVuaXF1ZTxDQVJpbmdCdWZm
ZXI+KCkpCiB7CiB9CiAKLXZvaWQgUmVtb3RlQ2FwdHVyZVNhbXBsZU1hbmFnZXI6OlJlbW90ZUF1
ZGlvOjpzZXRTdG9yYWdlKGNvbnN0IFNoYXJlZE1lbW9yeTo6SGFuZGxlJiBoYW5kbGUsIGNvbnN0
IFdlYkNvcmU6OkNBQXVkaW9TdHJlYW1EZXNjcmlwdGlvbiYgZGVzY3JpcHRpb24sIHVpbnQ2NF90
IG51bWJlck9mRnJhbWVzKQorUmVtb3RlQ2FwdHVyZVNhbXBsZU1hbmFnZXI6OlJlbW90ZUF1ZGlv
Ojp+UmVtb3RlQXVkaW8oKQogewotICAgIG1fZGVzY3JpcHRpb24gPSBkZXNjcmlwdGlvbjsKLSAg
ICBtX3JpbmdCdWZmZXIgPSBtYWtlVW5pcXVlPENBUmluZ0J1ZmZlcj4obWFrZVVuaXF1ZVJlZjxS
ZWFkT25seVNoYXJlZFJpbmdCdWZmZXJTdG9yYWdlPihoYW5kbGUpLCBkZXNjcmlwdGlvbiwgbnVt
YmVyT2ZGcmFtZXMpOwotICAgIG1fYnVmZmVyID0gbWFrZVVuaXF1ZTxXZWJBdWRpb0J1ZmZlckxp
c3Q+KGRlc2NyaXB0aW9uLCBudW1iZXJPZkZyYW1lcyk7CisgICAgc3RvcFRocmVhZCgpOwogfQog
Ci12b2lkIFJlbW90ZUNhcHR1cmVTYW1wbGVNYW5hZ2VyOjpSZW1vdGVBdWRpbzo6YXVkaW9TYW1w
bGVzQXZhaWxhYmxlKE1lZGlhVGltZSB0aW1lLCB1aW50NjRfdCBudW1iZXJPZkZyYW1lcykKK3Zv
aWQgUmVtb3RlQ2FwdHVyZVNhbXBsZU1hbmFnZXI6OlJlbW90ZUF1ZGlvOjpzdG9wVGhyZWFkKCkK
IHsKLSAgICBpZiAoIW1fYnVmZmVyKSB7Ci0gICAgICAgIFJFTEVBU0VfTE9HX0VSUk9SKFdlYlJU
QywgImJ1ZmZlciBmb3IgYXVkaW8gc291cmNlICVsbHUgaXMgbnVsbCIsIG1fc291cmNlLT5pZGVu
dGlmaWVyKCkudG9VSW50NjQoKSk7CisgICAgaWYgKCFtX3RocmVhZCkKICAgICAgICAgcmV0dXJu
OwotICAgIH0KIAotICAgIGlmICghV2ViQXVkaW9CdWZmZXJMaXN0Ojppc1N1cHBvcnRlZERlc2Ny
aXB0aW9uKG1fZGVzY3JpcHRpb24sIG51bWJlck9mRnJhbWVzKSkgewotICAgICAgICBSRUxFQVNF
X0xPR19FUlJPUihXZWJSVEMsICJVbmFibGUgdG8gc3VwcG9ydCBkZXNjcmlwdGlvbiB3aXRoIGdp
dmVuIG51bWJlciBvZiBmcmFtZXMgZm9yIGF1ZGlvIHNvdXJjZSAlbGx1IiwgbV9zb3VyY2UtPmlk
ZW50aWZpZXIoKS50b1VJbnQ2NCgpKTsKLSAgICAgICAgcmV0dXJuOwotICAgIH0KKyAgICBtX3No
b3VsZFN0b3BUaHJlYWQgPSB0cnVlOworICAgIG1fc2VtYXBob3JlLnNpZ25hbCgpOworICAgIG1f
dGhyZWFkLT53YWl0Rm9yQ29tcGxldGlvbigpOworICAgIG1fdGhyZWFkID0gbnVsbHB0cjsKK30K
Kwordm9pZCBSZW1vdGVDYXB0dXJlU2FtcGxlTWFuYWdlcjo6UmVtb3RlQXVkaW86OnN0YXJ0VGhy
ZWFkKCkKK3sKKyAgICBBU1NFUlQoIW1fdGhyZWFkKTsKKyAgICBtX3Nob3VsZFN0b3BUaHJlYWQg
PSBmYWxzZTsKKyAgICBhdXRvIHRocmVhZExvb3AgPSBbdGhpc10oKSBtdXRhYmxlIHsKKyAgICAg
ICAgbV9mcmFtZUNvdW50ID0gMDsKKyAgICAgICAgZG8geworICAgICAgICAgICAgLy8gSWYgd2Fp
dEZvciBmYWlscywgdGhlIHNlbWFwaG9yZSBvbiB0aGUgb3RoZXIgc2lkZSB3YXMgcHJvYmFibHkg
ZGVzdHJveWVkIGFuZCB3ZSBzaG91bGQganVzdCBleGl0IGhlcmUgYW5kIHdhaXQgdG8gbGF1bmNo
IGEgbmV3IHRocmVhZC4KKyAgICAgICAgICAgIGlmICghbV9zZW1hcGhvcmUud2FpdEZvcihTZWNv
bmRzOjppbmZpbml0eSgpKSkKKyAgICAgICAgICAgICAgICBicmVhazsKKyAgICAgICAgICAgIGlm
IChtX3Nob3VsZFN0b3BUaHJlYWQpCisgICAgICAgICAgICAgICAgYnJlYWs7CiAKLSAgICBtX2J1
ZmZlci0+c2V0U2FtcGxlQ291bnQobnVtYmVyT2ZGcmFtZXMpOworICAgICAgICAgICAgYXV0byBj
dXJyZW50VGltZSA9IG1fc3RhcnRUaW1lICsgTWVkaWFUaW1lIHsgbV9mcmFtZUNvdW50LCBzdGF0
aWNfY2FzdDx1aW50MzJfdD4obV9kZXNjcmlwdGlvbi5zYW1wbGVSYXRlKCkpIH07CisgICAgICAg
ICAgICBtX3JpbmdCdWZmZXItPmZldGNoKG1fYnVmZmVyLT5saXN0KCksIG1fZnJhbWVDaHVua1Np
emUsIG1fZnJhbWVDb3VudCk7CisgICAgICAgICAgICBtX2ZyYW1lQ291bnQgKz0gbV9mcmFtZUNo
dW5rU2l6ZTsKIAotICAgIG1fcmluZ0J1ZmZlci0+ZmV0Y2gobV9idWZmZXItPmxpc3QoKSwgbnVt
YmVyT2ZGcmFtZXMsIHRpbWUudGltZVZhbHVlKCkpOworICAgICAgICAgICAgbV9zb3VyY2UtPnJl
bW90ZUF1ZGlvU2FtcGxlc0F2YWlsYWJsZShjdXJyZW50VGltZSwgKm1fYnVmZmVyLCBtX2Rlc2Ny
aXB0aW9uLCBtX2ZyYW1lQ2h1bmtTaXplKTsKKyAgICAgICAgfSB3aGlsZSAoIW1fc2hvdWxkU3Rv
cFRocmVhZCk7CisgICAgfTsKKyAgICBtX3RocmVhZCA9IFRocmVhZDo6Y3JlYXRlKCJSZW1vdGVB
dWRpb1NvdXJjZVByb3ZpZGVyTWFuYWdlcjo6UmVtb3RlQXVkaW8gdGhyZWFkIiwgV1RGTW92ZSh0
aHJlYWRMb29wKSwgVGhyZWFkVHlwZTo6QXVkaW8sIFRocmVhZDo6UU9TOjpVc2VySW50ZXJhY3Rp
dmUpOworfQorCit2b2lkIFJlbW90ZUNhcHR1cmVTYW1wbGVNYW5hZ2VyOjpSZW1vdGVBdWRpbzo6
c2V0U3RvcmFnZShjb25zdCBTaGFyZWRNZW1vcnk6OkhhbmRsZSYgaGFuZGxlLCBjb25zdCBXZWJD
b3JlOjpDQUF1ZGlvU3RyZWFtRGVzY3JpcHRpb24mIGRlc2NyaXB0aW9uLCB1aW50NjRfdCBudW1i
ZXJPZkZyYW1lcywgSVBDOjpTZW1hcGhvcmUmJiBzZW1hcGhvcmUsIGNvbnN0IE1lZGlhVGltZSYg
bWVkaWFUaW1lLCBzaXplX3QgZnJhbWVDaHVua1NpemUpCit7CisgICAgc3RvcFRocmVhZCgpOwog
Ci0gICAgbV9zb3VyY2UtPnJlbW90ZUF1ZGlvU2FtcGxlc0F2YWlsYWJsZSh0aW1lLCAqbV9idWZm
ZXIsIG1fZGVzY3JpcHRpb24sIG51bWJlck9mRnJhbWVzKTsKKyAgICBpZiAoIW51bWJlck9mRnJh
bWVzKSB7CisgICAgICAgIG1fcmluZ0J1ZmZlciA9IG51bGxwdHI7CisgICAgICAgIG1fYnVmZmVy
ID0gbnVsbHB0cjsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKworICAgIG1fc2VtYXBob3JlID0g
V1RGTW92ZShzZW1hcGhvcmUpOworICAgIG1fZGVzY3JpcHRpb24gPSBkZXNjcmlwdGlvbjsKKyAg
ICBtX3N0YXJ0VGltZSA9IG1lZGlhVGltZTsKKyAgICBtX2ZyYW1lQ2h1bmtTaXplID0gZnJhbWVD
aHVua1NpemU7CisgICAgbV9yaW5nQnVmZmVyID0gbWFrZVVuaXF1ZTxDQVJpbmdCdWZmZXI+KG1h
a2VVbmlxdWVSZWY8UmVhZE9ubHlTaGFyZWRSaW5nQnVmZmVyU3RvcmFnZT4oaGFuZGxlKSwgZGVz
Y3JpcHRpb24sIG51bWJlck9mRnJhbWVzKTsKKyAgICBtX2J1ZmZlciA9IG1ha2VVbmlxdWU8V2Vi
QXVkaW9CdWZmZXJMaXN0PihkZXNjcmlwdGlvbiwgbnVtYmVyT2ZGcmFtZXMpOworICAgIG1fYnVm
ZmVyLT5zZXRTYW1wbGVDb3VudChtX2ZyYW1lQ2h1bmtTaXplKTsKKyAgICBzdGFydFRocmVhZCgp
OwogfQogCiBSZW1vdGVDYXB0dXJlU2FtcGxlTWFuYWdlcjo6UmVtb3RlVmlkZW86OlJlbW90ZVZp
ZGVvKFJlZjxSZW1vdGVSZWFsdGltZVZpZGVvU291cmNlPiYmIHNvdXJjZSkKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9jb2NvYS9SZW1vdGVDYXB0dXJlU2FtcGxlTWFuYWdl
ci5oIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL2NvY29hL1JlbW90ZUNhcHR1cmVTYW1wbGVN
YW5hZ2VyLmgKaW5kZXggMGEyNzVlOTgzNjMyZmI5MzdhNmUwYWQ5MDhjZjcwODkyMDI3NDhiNS4u
ZmY5NWIzYWI3NTQ1MzU4NDA2YTdhNGY3YWE4ZjZiOTUyMjY1OGZkOCAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdC9XZWJQcm9jZXNzL2NvY29hL1JlbW90ZUNhcHR1cmVTYW1wbGVNYW5hZ2VyLmgK
KysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL2NvY29hL1JlbW90ZUNhcHR1cmVTYW1wbGVN
YW5hZ2VyLmgKQEAgLTI4LDYgKzI4LDcgQEAKICNpZiBQTEFURk9STShDT0NPQSkgJiYgRU5BQkxF
KE1FRElBX1NUUkVBTSkKIAogI2luY2x1ZGUgIkNvbm5lY3Rpb24uaCIKKyNpbmNsdWRlICJJUENT
ZW1hcGhvcmUuaCIKICNpbmNsdWRlICJNZXNzYWdlUmVjZWl2ZXIuaCIKICNpbmNsdWRlICJSZW1v
dGVSZWFsdGltZUF1ZGlvU291cmNlLmgiCiAjaW5jbHVkZSAiUmVtb3RlUmVhbHRpbWVWaWRlb1Nv
dXJjZS5oIgpAQCAtNjUsNyArNjYsNyBAQCBwcml2YXRlOgogICAgIHZvaWQgZGlzcGF0Y2hUb1Ro
cmVhZChGdW5jdGlvbjx2b2lkKCk+JiYpIGZpbmFsOwogCiAgICAgLy8gTWVzc2FnZXMKLSAgICB2
b2lkIGF1ZGlvU3RvcmFnZUNoYW5nZWQoV2ViQ29yZTo6UmVhbHRpbWVNZWRpYVNvdXJjZUlkZW50
aWZpZXIsIGNvbnN0IFNoYXJlZE1lbW9yeTo6SVBDSGFuZGxlJiwgY29uc3QgV2ViQ29yZTo6Q0FB
dWRpb1N0cmVhbURlc2NyaXB0aW9uJiwgdWludDY0X3QgbnVtYmVyT2ZGcmFtZXMpOworICAgIHZv
aWQgYXVkaW9TdG9yYWdlQ2hhbmdlZChXZWJDb3JlOjpSZWFsdGltZU1lZGlhU291cmNlSWRlbnRp
ZmllciwgY29uc3QgU2hhcmVkTWVtb3J5OjpJUENIYW5kbGUmLCBjb25zdCBXZWJDb3JlOjpDQUF1
ZGlvU3RyZWFtRGVzY3JpcHRpb24mLCB1aW50NjRfdCBudW1iZXJPZkZyYW1lcywgSVBDOjpTZW1h
cGhvcmUmJiwgY29uc3QgTWVkaWFUaW1lJiwgc2l6ZV90IGZyYW1lU2FtcGxlU2l6ZSk7CiAgICAg
dm9pZCBhdWRpb1NhbXBsZXNBdmFpbGFibGUoV2ViQ29yZTo6UmVhbHRpbWVNZWRpYVNvdXJjZUlk
ZW50aWZpZXIsIE1lZGlhVGltZSwgdWludDY0X3QgbnVtYmVyT2ZGcmFtZXMpOwogICAgIHZvaWQg
dmlkZW9TYW1wbGVBdmFpbGFibGUoV2ViQ29yZTo6UmVhbHRpbWVNZWRpYVNvdXJjZUlkZW50aWZp
ZXIsIFdlYkNvcmU6OlJlbW90ZVZpZGVvU2FtcGxlJiYpOwogCkBAIC03NSwxNSArNzYsMjUgQEAg
cHJpdmF0ZToKICAgICAgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiAgICAgcHVibGljOgog
ICAgICAgICBleHBsaWNpdCBSZW1vdGVBdWRpbyhSZWY8UmVtb3RlUmVhbHRpbWVBdWRpb1NvdXJj
ZT4mJik7CisgICAgICAgIH5SZW1vdGVBdWRpbygpOwogCi0gICAgICAgIHZvaWQgc2V0U3RvcmFn
ZShjb25zdCBTaGFyZWRNZW1vcnk6OkhhbmRsZSYsIGNvbnN0IFdlYkNvcmU6OkNBQXVkaW9TdHJl
YW1EZXNjcmlwdGlvbiYsIHVpbnQ2NF90IG51bWJlck9mRnJhbWVzKTsKLSAgICAgICAgdm9pZCBh
dWRpb1NhbXBsZXNBdmFpbGFibGUoTWVkaWFUaW1lLCB1aW50NjRfdCBudW1iZXJPZkZyYW1lcyk7
CisgICAgICAgIHZvaWQgc2V0U3RvcmFnZShjb25zdCBTaGFyZWRNZW1vcnk6OkhhbmRsZSYsIGNv
bnN0IFdlYkNvcmU6OkNBQXVkaW9TdHJlYW1EZXNjcmlwdGlvbiYsIHVpbnQ2NF90IG51bWJlck9m
RnJhbWVzLCBJUEM6OlNlbWFwaG9yZSYmLCBjb25zdCBNZWRpYVRpbWUmLCBzaXplX3QgZnJhbWVD
aHVua1NpemUpOwogCiAgICAgcHJpdmF0ZToKKyAgICAgICAgdm9pZCBzdG9wVGhyZWFkKCk7Cisg
ICAgICAgIHZvaWQgc3RhcnRUaHJlYWQoKTsKKwogICAgICAgICBSZWY8UmVtb3RlUmVhbHRpbWVB
dWRpb1NvdXJjZT4gbV9zb3VyY2U7CiAgICAgICAgIFdlYkNvcmU6OkNBQXVkaW9TdHJlYW1EZXNj
cmlwdGlvbiBtX2Rlc2NyaXB0aW9uOwotICAgICAgICBzdGQ6OnVuaXF1ZV9wdHI8V2ViQ29yZTo6
Q0FSaW5nQnVmZmVyPiBtX3JpbmdCdWZmZXI7CiAgICAgICAgIHN0ZDo6dW5pcXVlX3B0cjxXZWJD
b3JlOjpXZWJBdWRpb0J1ZmZlckxpc3Q+IG1fYnVmZmVyOworICAgICAgICBzdGQ6OnVuaXF1ZV9w
dHI8V2ViQ29yZTo6Q0FSaW5nQnVmZmVyPiBtX3JpbmdCdWZmZXI7CisgICAgICAgIGludDY0X3Qg
bV9mcmFtZUNvdW50IHsgMCB9OworICAgICAgICBNZWRpYVRpbWUgbV9zdGFydFRpbWU7CisgICAg
ICAgIHNpemVfdCBtX2ZyYW1lQ2h1bmtTaXplIHsgMCB9OworCisgICAgICAgIElQQzo6U2VtYXBo
b3JlIG1fc2VtYXBob3JlOworICAgICAgICBSZWZQdHI8VGhyZWFkPiBtX3RocmVhZDsKKyAgICAg
ICAgc3RkOjphdG9taWM8Ym9vbD4gbV9zaG91bGRTdG9wVGhyZWFkIHsgZmFsc2UgfTsKICAgICB9
OwogCiAgICAgY2xhc3MgUmVtb3RlVmlkZW8gewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9X
ZWJQcm9jZXNzL2NvY29hL1JlbW90ZUNhcHR1cmVTYW1wbGVNYW5hZ2VyLm1lc3NhZ2VzLmluIGIv
U291cmNlL1dlYktpdC9XZWJQcm9jZXNzL2NvY29hL1JlbW90ZUNhcHR1cmVTYW1wbGVNYW5hZ2Vy
Lm1lc3NhZ2VzLmluCmluZGV4IGM2NDU2NDUwMGI0YmI3NGNmMzk5OWM0NDY3MjM0MjUzZGIwYjMz
Y2MuLjY2ZTY5N2Q0NzEwMDdlZTc1NzY2NjU0YzM1ZDIzY2JjODU5NjkxMjkgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9jb2NvYS9SZW1vdGVDYXB0dXJlU2FtcGxlTWFuYWdl
ci5tZXNzYWdlcy5pbgorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvY29jb2EvUmVtb3Rl
Q2FwdHVyZVNhbXBsZU1hbmFnZXIubWVzc2FnZXMuaW4KQEAgLTI0LDggKzI0LDcgQEAKICNpZiBF
TkFCTEUoTUVESUFfU1RSRUFNKQogCiBtZXNzYWdlcyAtPiBSZW1vdGVDYXB0dXJlU2FtcGxlTWFu
YWdlciBOb3RSZWZDb3VudGVkIHsKLSAgICBBdWRpb1N0b3JhZ2VDaGFuZ2VkKFdlYkNvcmU6OlJl
YWx0aW1lTWVkaWFTb3VyY2VJZGVudGlmaWVyIGlkLCBXZWJLaXQ6OlNoYXJlZE1lbW9yeTo6SVBD
SGFuZGxlIHN0b3JhZ2VIYW5kbGUsIFdlYkNvcmU6OkNBQXVkaW9TdHJlYW1EZXNjcmlwdGlvbiBk
ZXNjcmlwdGlvbiwgdWludDY0X3QgbnVtYmVyT2ZGcmFtZXMpCi0gICAgQXVkaW9TYW1wbGVzQXZh
aWxhYmxlKFdlYkNvcmU6OlJlYWx0aW1lTWVkaWFTb3VyY2VJZGVudGlmaWVyIGlkLCBNZWRpYVRp
bWUgdGltZSwgdWludDY0X3QgbnVtYmVyT2ZGcmFtZXMpCisgICAgQXVkaW9TdG9yYWdlQ2hhbmdl
ZChXZWJDb3JlOjpSZWFsdGltZU1lZGlhU291cmNlSWRlbnRpZmllciBpZCwgV2ViS2l0OjpTaGFy
ZWRNZW1vcnk6OklQQ0hhbmRsZSBzdG9yYWdlSGFuZGxlLCBXZWJDb3JlOjpDQUF1ZGlvU3RyZWFt
RGVzY3JpcHRpb24gZGVzY3JpcHRpb24sIHVpbnQ2NF90IG51bWJlck9mRnJhbWVzLCBJUEM6OlNl
bWFwaG9yZSBjYXB0dXJlU2VtYXBob3JlLCBNZWRpYVRpbWUgbWVkaWFUaW1lLCBzaXplX3QgZnJh
bWVDaHVua1NpemUpOwogICAgIFZpZGVvU2FtcGxlQXZhaWxhYmxlKFdlYkNvcmU6OlJlYWx0aW1l
TWVkaWFTb3VyY2VJZGVudGlmaWVyIGlkLCBXZWJDb3JlOjpSZW1vdGVWaWRlb1NhbXBsZSBzYW1w
bGUpCiB9CiAK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>428004</attachid>
            <date>2021-05-07 09:45:32 -0700</date>
            <delta_ts>2021-05-10 00:10:39 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-225452-20210507184530.patch</filename>
            <type>text/plain</type>
            <size>18119</size>
            <attacher name="youenn fablet">youennf</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjc2NTkyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IGE2ODA3NGUyMDM3M2ZlYWNl
ODZkMjBjMjA5NzYxYmEyMjZhYmNmZWUuLmI5YWQ0MzRmYjQ1M2Y4YmExNjIzZjNmMmI1ZWU0NGVh
ZjIzMWQ0ZWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzYgQEAKKzIwMjEtMDUtMDYgIFlvdWVubiBG
YWJsZXQgIDx5b3Vlbm5AYXBwbGUuY29tPgorCisgICAgICAgIFVzZSBJUEM6OlNlbWFwaG9yZSBp
bnN0ZWFkIG9mIHNlbmRpbmcgYW4gSVBDIG1lc3NhZ2UgZm9yIGV2ZXJ5IGNhcHR1cmVkIGF1ZGlv
IHNhbXBsZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
MjI1NDUyCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAg
UHJldmlvdXNseSwgd2Ugd2VyZSBzZW5kaW5nIGFuIElQQyBtZXNzYWdlIGZyb20gVUlQcm9jZXNz
IG9yIEdQVVByb2Nlc3MgdG8gV2ViUHJvY2VzcyBmb3IgZXZlcnkgbWljcm9waG9uZSBhdWRpbyBz
YW1wbGUgY2h1bmsuCisgICAgICAgIFdlIGFyZSBub3cgdXNpbmcgSVBDOjpTZW1hcGhvcmUgdG8g
c2lnbmFsIHRoYXQgYSBuZXcgY2h1bmsgaXMgdG8gYmUgcHJvY2Vzc2VkLgorCisgICAgICAgIFdl
IG5vIGxvbmdlciBzZW5kIHRoZSBjaHVuayB0aW1lc3RhbXAuIEluc3RlYWQsIHdlIHJlY29uc3Ry
dWN0IGl0IGZyb20gdGhlIG51bWJlciBvZiBwcmV2aW91c2x5IHByb2Nlc3NlZCBzYW1wbGVzLgor
ICAgICAgICBBdCBhdWRpbyBzdG9yYWdlIGNoYW5nZSwgd2Ugc2VuZCB0aGUgc3RhcnQgdGltZSBh
bmQgd2UgYXNzdW1lIHRoYXQgdGhlcmUgaXMgY29udGludW91cyB0aW1pbmcgYmFzZWQgb24gc2Ft
cGxlIGNvdW50cyBhZnRlciB0aGF0LgorICAgICAgICBUaGF0IGlzIHdoeSB3ZSByZWNyZWF0ZSBh
IG5ldyBhdWRpbyBzdG9yYWdlIGNoYW5nZSBhbnl0aW1lIHdlIG5lZWQgdG8gcmVzZXQgb3IgdGhl
IGNvbmZpZ3VyYXRpb24gY2hhbmdlcywgd2hpY2ggc2hvdWxkIG5vdCBoYXBwZW4gb2Z0ZW4gaW4g
cHJhY3RpY2UuCisKKyAgICAgICAgV2UgcHJvY2VzcyBmaXhlZC1zaXplIGNodW5rcyBvbiBXZWJQ
cm9jZXNzIHNpZGUgYW5kIHNpZ25hbCBpdCBvbiBHUFVQcm9jZXNzL1VJUHJvY2VzcyBzaWRlLgor
ICAgICAgICBUaGlzIHNpemUgaXMgc2VudCB0aHJvdWdoIElQQyBhdCBhdWRpbyBzdG9yYWdlIGNo
YW5nZSB0aW1lIGFuZCBpcyB0aGUgbWF4IG9mIDEyOCBzYW1wbGVzIChXZWJBdWRpbyBxdWFudHVt
KSBhbmQgQXVkaW9TZXNzaW9uIHByZWZlcnJlZCBzaXplLgorICAgICAgICBJbiBjYXNlIFdlYkF1
ZGlvIGlzIHVzZWQsIGl0IHNob3VsZCBiZSAxMjggc2FtcGxlcy4gSW4gY2FzZSBXZWJBdWRpbyBp
cyBub3QgdXNlZCwgaXQgc2hvdWxkIGJlIDIwIG1zIG9mIGF1ZGlvIGRhdGEuCisKKyAgICAgICAg
Q292ZXJlZCBieSBleGlzdGluZyB0ZXN0cyBhbmQgbWFudWFsbHkgdGVzdGVkLgorCisgICAgICAg
ICogVUlQcm9jZXNzL0NvY29hL1VzZXJNZWRpYUNhcHR1cmVNYW5hZ2VyUHJveHkuY3BwOgorICAg
ICAgICAoV2ViS2l0OjpVc2VyTWVkaWFDYXB0dXJlTWFuYWdlclByb3h5OjpTb3VyY2VQcm94eTo6
c3RhcnQpOgorICAgICAgICAoV2ViS2l0OjpVc2VyTWVkaWFDYXB0dXJlTWFuYWdlclByb3h5OjpT
b3VyY2VQcm94eTo6c3RvcmFnZUNoYW5nZWQpOgorICAgICAgICAqIFdlYlByb2Nlc3MvY29jb2Ev
UmVtb3RlQ2FwdHVyZVNhbXBsZU1hbmFnZXIuY3BwOgorICAgICAgICAoV2ViS2l0OjpSZW1vdGVD
YXB0dXJlU2FtcGxlTWFuYWdlcjo6YXVkaW9TdG9yYWdlQ2hhbmdlZCk6CisgICAgICAgIChXZWJL
aXQ6OlJlbW90ZUNhcHR1cmVTYW1wbGVNYW5hZ2VyOjpSZW1vdGVBdWRpbzo6UmVtb3RlQXVkaW8p
OgorICAgICAgICAoV2ViS2l0OjpSZW1vdGVDYXB0dXJlU2FtcGxlTWFuYWdlcjo6UmVtb3RlQXVk
aW86On5SZW1vdGVBdWRpbyk6CisgICAgICAgIChXZWJLaXQ6OlJlbW90ZUNhcHR1cmVTYW1wbGVN
YW5hZ2VyOjpSZW1vdGVBdWRpbzo6c3RvcFRocmVhZCk6CisgICAgICAgIChXZWJLaXQ6OlJlbW90
ZUNhcHR1cmVTYW1wbGVNYW5hZ2VyOjpSZW1vdGVBdWRpbzo6c3RhcnRUaHJlYWQpOgorICAgICAg
ICAoV2ViS2l0OjpSZW1vdGVDYXB0dXJlU2FtcGxlTWFuYWdlcjo6UmVtb3RlQXVkaW86OnNldFN0
b3JhZ2UpOgorICAgICAgICAqIFdlYlByb2Nlc3MvY29jb2EvUmVtb3RlQ2FwdHVyZVNhbXBsZU1h
bmFnZXIuaDoKKyAgICAgICAgKiBXZWJQcm9jZXNzL2NvY29hL1JlbW90ZUNhcHR1cmVTYW1wbGVN
YW5hZ2VyLm1lc3NhZ2VzLmluOgorCiAyMDIxLTA1LTA1ICBZb3Vlbm4gRmFibGV0ICA8eW91ZW5u
QGFwcGxlLmNvbT4KIAogICAgICAgICBSRUdSRVNTSU9OIChyMjc2NjMzKTogQVNTRVJUSU9OIEZB
SUxFRDogIWZvcmJpZE1hbGxvY1VzZVNjb3BlQ291bnQgfHwgZGlzYWJsZU1hbGxvY1Jlc3RyaWN0
aW9uU2NvcGVDb3VudApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2Ev
VXNlck1lZGlhQ2FwdHVyZU1hbmFnZXJQcm94eS5jcHAgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vz
cy9Db2NvYS9Vc2VyTWVkaWFDYXB0dXJlTWFuYWdlclByb3h5LmNwcAppbmRleCA4YzgyM2ZlNDM3
ODZjYjNkY2UyZmVjZTkwZmI4OGU0ODBiMzgxY2Y3Li4zN2VhNjkzYTZjY2E4N2IwYzkyZWI0MDA3
NmUzOWI5Mjc4ODg2MTBhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2Nv
YS9Vc2VyTWVkaWFDYXB0dXJlTWFuYWdlclByb3h5LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJ
UHJvY2Vzcy9Db2NvYS9Vc2VyTWVkaWFDYXB0dXJlTWFuYWdlclByb3h5LmNwcApAQCAtMzYsNiAr
MzYsNyBAQAogI2luY2x1ZGUgIldlYkNvcmVBcmd1bWVudENvZGVycy5oIgogI2luY2x1ZGUgIldl
YlByb2Nlc3NQcm94eS5oIgogI2luY2x1ZGUgPFdlYkNvcmUvQXVkaW9TZXNzaW9uLmg+CisjaW5j
bHVkZSA8V2ViQ29yZS9BdWRpb1V0aWxpdGllcy5oPgogI2luY2x1ZGUgPFdlYkNvcmUvQ0FSaW5n
QnVmZmVyLmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9JbWFnZVJvdGF0aW9uU2Vzc2lvblZULmg+CiAj
aW5jbHVkZSA8V2ViQ29yZS9NZWRpYUNvbnN0cmFpbnRzLmg+CkBAIC02MCw3ICs2MSw2IEBAIHB1
YmxpYzoKICAgICAgICAgOiBtX2lkKGlkKQogICAgICAgICAsIG1fY29ubmVjdGlvbihXVEZNb3Zl
KGNvbm5lY3Rpb24pKQogICAgICAgICAsIG1fc291cmNlKFdURk1vdmUoc291cmNlKSkKLSAgICAg
ICAgLCBtX3JpbmdCdWZmZXIobWFrZVVuaXF1ZVJlZjxTaGFyZWRSaW5nQnVmZmVyU3RvcmFnZT4o
c3RkOjpiaW5kKCZTb3VyY2VQcm94eTo6c3RvcmFnZUNoYW5nZWQsIHRoaXMsIHN0ZDo6cGxhY2Vo
b2xkZXJzOjpfMSwgc3RkOjpwbGFjZWhvbGRlcnM6Ol8yLCBzdGQ6OnBsYWNlaG9sZGVyczo6XzMp
KSkKICAgICB7CiAgICAgICAgIG1fc291cmNlLT5hZGRPYnNlcnZlcigqdGhpcyk7CiAgICAgICAg
IHN3aXRjaCAobV9zb3VyY2UtPnR5cGUoKSkgewpAQCAtNzcsNyArNzcsOCBAQCBwdWJsaWM6CiAK
ICAgICB+U291cmNlUHJveHkoKQogICAgIHsKLSAgICAgICAgc3RvcmFnZSgpLmludmFsaWRhdGUo
KTsKKyAgICAgICAgaWYgKG1fcmluZ0J1ZmZlcikKKyAgICAgICAgICAgIHN0YXRpY19jYXN0PFNo
YXJlZFJpbmdCdWZmZXJTdG9yYWdlJj4obV9yaW5nQnVmZmVyLT5zdG9yYWdlKCkpLmludmFsaWRh
dGUoKTsKIAogICAgICAgICBzd2l0Y2ggKG1fc291cmNlLT50eXBlKCkpIHsKICAgICAgICAgY2Fz
ZSBSZWFsdGltZU1lZGlhU291cmNlOjpUeXBlOjpBdWRpbzoKQEAgLTkzLDcgKzk0LDYgQEAgcHVi
bGljOgogICAgIH0KIAogICAgIFJlYWx0aW1lTWVkaWFTb3VyY2UmIHNvdXJjZSgpIHsgcmV0dXJu
IG1fc291cmNlOyB9Ci0gICAgU2hhcmVkUmluZ0J1ZmZlclN0b3JhZ2UmIHN0b3JhZ2UoKSB7IHJl
dHVybiBzdGF0aWNfY2FzdDxTaGFyZWRSaW5nQnVmZmVyU3RvcmFnZSY+KG1fcmluZ0J1ZmZlci5z
dG9yYWdlKCkpOyB9CiAgICAgQ0FBdWRpb1N0cmVhbURlc2NyaXB0aW9uJiBkZXNjcmlwdGlvbigp
IHsgcmV0dXJuIG1fZGVzY3JpcHRpb247IH0KICAgICBpbnQ2NF90IG51bWJlck9mRnJhbWVzKCkg
eyByZXR1cm4gbV9udW1iZXJPZkZyYW1lczsgfQogCkBAIC0xMDgsNiArMTA4LDcgQEAgcHVibGlj
OgogCiAgICAgdm9pZCBzdGFydCgpCiAgICAgeworICAgICAgICBtX3Nob3VsZFJlc2V0ID0gdHJ1
ZTsKICAgICAgICAgbV9pc0VuZGVkID0gZmFsc2U7CiAgICAgICAgIG1fc291cmNlLT5zdGFydCgp
OwogICAgIH0KQEAgLTE0NSwyMCArMTQ2LDM1IEBAIHByaXZhdGU6CiAKICAgICAvLyBNYXkgZ2V0
IGNhbGxlZCBvbiBhIGJhY2tncm91bmQgdGhyZWFkLgogICAgIHZvaWQgYXVkaW9TYW1wbGVzQXZh
aWxhYmxlKGNvbnN0IE1lZGlhVGltZSYgdGltZSwgY29uc3QgUGxhdGZvcm1BdWRpb0RhdGEmIGF1
ZGlvRGF0YSwgY29uc3QgQXVkaW9TdHJlYW1EZXNjcmlwdGlvbiYgZGVzY3JpcHRpb24sIHNpemVf
dCBudW1iZXJPZkZyYW1lcykgZmluYWwgewotICAgICAgICBEaXNhYmxlTWFsbG9jUmVzdHJpY3Rp
b25zRm9yQ3VycmVudFRocmVhZFNjb3BlIHNjb3BlOwotCi0gICAgICAgIGlmIChtX2Rlc2NyaXB0
aW9uICE9IGRlc2NyaXB0aW9uKSB7CisgICAgICAgIGlmIChtX2Rlc2NyaXB0aW9uICE9IGRlc2Ny
aXB0aW9uIHx8IG1fc2hvdWxkUmVzZXQpIHsKKyAgICAgICAgICAgIERpc2FibGVNYWxsb2NSZXN0
cmljdGlvbnNGb3JDdXJyZW50VGhyZWFkU2NvcGUgc2NvcGU7CisKKyAgICAgICAgICAgIG1fc2hv
dWxkUmVzZXQgPSBmYWxzZTsKKyAgICAgICAgICAgIG1fd3JpdGVPZmZzZXQgPSAwOworICAgICAg
ICAgICAgbV9yZW1haW5pbmdGcmFtZUNvdW50ID0gMDsKKyAgICAgICAgICAgIG1fc3RhcnRUaW1l
ID0gdGltZTsKKyAgICAgICAgICAgIG1fY2FwdHVyZVNlbWFwaG9yZSA9IG1ha2VVbmlxdWU8SVBD
OjpTZW1hcGhvcmU+KCk7CiAgICAgICAgICAgICBBU1NFUlQoZGVzY3JpcHRpb24ucGxhdGZvcm1E
ZXNjcmlwdGlvbigpLnR5cGUgPT0gUGxhdGZvcm1EZXNjcmlwdGlvbjo6Q0FBdWRpb1N0cmVhbUJh
c2ljVHlwZSk7CiAgICAgICAgICAgICBtX2Rlc2NyaXB0aW9uID0gKldURjo6Z2V0PGNvbnN0IEF1
ZGlvU3RyZWFtQmFzaWNEZXNjcmlwdGlvbio+KGRlc2NyaXB0aW9uLnBsYXRmb3JtRGVzY3JpcHRp
b24oKS5kZXNjcmlwdGlvbik7CiAKKyAgICAgICAgICAgIG1fZnJhbWVDaHVua1NpemUgPSBzdGQ6
Om1heChXZWJDb3JlOjpBdWRpb1V0aWxpdGllczo6cmVuZGVyUXVhbnR1bVNpemUsIEF1ZGlvU2Vz
c2lvbjo6c2hhcmVkU2Vzc2lvbigpLnByZWZlcnJlZEJ1ZmZlclNpemUoKSk7CisKICAgICAgICAg
ICAgIC8vIEFsbG9jYXRlIGEgcmluZyBidWZmZXIgbGFyZ2UgZW5vdWdoIHRvIGNvbnRhaW4gMiBz
ZWNvbmRzIG9mIGF1ZGlvLgogICAgICAgICAgICAgbV9udW1iZXJPZkZyYW1lcyA9IG1fZGVzY3Jp
cHRpb24uc2FtcGxlUmF0ZSgpICogMjsKLSAgICAgICAgICAgIG1fcmluZ0J1ZmZlci5hbGxvY2F0
ZShtX2Rlc2NyaXB0aW9uLnN0cmVhbURlc2NyaXB0aW9uKCksIG1fbnVtYmVyT2ZGcmFtZXMpOwor
ICAgICAgICAgICAgbV9yaW5nQnVmZmVyLnJlc2V0KCk7CisgICAgICAgICAgICBhdXRvIHN0b3Jh
Z2UgPSBtYWtlVW5pcXVlUmVmPFNoYXJlZFJpbmdCdWZmZXJTdG9yYWdlPihzdGQ6OmJpbmQoJlNv
dXJjZVByb3h5OjpzdG9yYWdlQ2hhbmdlZCwgdGhpcywgc3RkOjpwbGFjZWhvbGRlcnM6Ol8xLCBz
dGQ6OnBsYWNlaG9sZGVyczo6XzIsIHN0ZDo6cGxhY2Vob2xkZXJzOjpfMykpOworICAgICAgICAg
ICAgbV9yaW5nQnVmZmVyID0gbWFrZVVuaXF1ZTxDQVJpbmdCdWZmZXI+KFdURk1vdmUoc3RvcmFn
ZSksIG1fZGVzY3JpcHRpb24uc3RyZWFtRGVzY3JpcHRpb24oKSwgbV9udW1iZXJPZkZyYW1lcyk7
CiAgICAgICAgIH0KIAogICAgICAgICBBU1NFUlQoaXM8V2ViQXVkaW9CdWZmZXJMaXN0PihhdWRp
b0RhdGEpKTsKLSAgICAgICAgbV9yaW5nQnVmZmVyLnN0b3JlKGRvd25jYXN0PFdlYkF1ZGlvQnVm
ZmVyTGlzdD4oYXVkaW9EYXRhKS5saXN0KCksIG51bWJlck9mRnJhbWVzLCB0aW1lLnRpbWVWYWx1
ZSgpKTsKLSAgICAgICAgbV9jb25uZWN0aW9uLT5zZW5kKE1lc3NhZ2VzOjpSZW1vdGVDYXB0dXJl
U2FtcGxlTWFuYWdlcjo6QXVkaW9TYW1wbGVzQXZhaWxhYmxlKG1faWQsIHRpbWUsIG51bWJlck9m
RnJhbWVzKSwgMCk7CisgICAgICAgIG1fcmluZ0J1ZmZlci0+c3RvcmUoZG93bmNhc3Q8V2ViQXVk
aW9CdWZmZXJMaXN0PihhdWRpb0RhdGEpLmxpc3QoKSwgbnVtYmVyT2ZGcmFtZXMsIG1fd3JpdGVP
ZmZzZXQpOworICAgICAgICBtX3dyaXRlT2Zmc2V0ICs9IG51bWJlck9mRnJhbWVzOworCisgICAg
ICAgIHNpemVfdCBmcmFtZXNUb1NlbmQgPSBudW1iZXJPZkZyYW1lcyArIG1fcmVtYWluaW5nRnJh
bWVDb3VudDsKKyAgICAgICAgc2l6ZV90IHNpZ25hbENvdW50ID0gZnJhbWVzVG9TZW5kIC8gbV9m
cmFtZUNodW5rU2l6ZTsKKyAgICAgICAgbV9yZW1haW5pbmdGcmFtZUNvdW50ID0gZnJhbWVzVG9T
ZW5kIC0gKHNpZ25hbENvdW50ICogbV9mcmFtZUNodW5rU2l6ZSk7CisgICAgICAgIGZvciAodW5z
aWduZWQgaSA9IDA7IGkgPCBzaWduYWxDb3VudDsgKytpKQorICAgICAgICAgICAgbV9jYXB0dXJl
U2VtYXBob3JlLT5zaWduYWwoKTsKICAgICB9CiAKICAgICB2b2lkIHZpZGVvU2FtcGxlQXZhaWxh
YmxlKE1lZGlhU2FtcGxlJiBzYW1wbGUpIGZpbmFsCkBAIC0xOTksNyArMjE1LDYgQEAgcHJpdmF0
ZToKIAogICAgIHZvaWQgc3RvcmFnZUNoYW5nZWQoU2hhcmVkTWVtb3J5KiBzdG9yYWdlLCBjb25z
dCBXZWJDb3JlOjpDQUF1ZGlvU3RyZWFtRGVzY3JpcHRpb24mIGZvcm1hdCwgc2l6ZV90IGZyYW1l
Q291bnQpCiAgICAgewotICAgICAgICBEaXNhYmxlTWFsbG9jUmVzdHJpY3Rpb25zRm9yQ3VycmVu
dFRocmVhZFNjb3BlIHNjb3BlOwogICAgICAgICBTaGFyZWRNZW1vcnk6OkhhbmRsZSBoYW5kbGU7
CiAgICAgICAgIGlmIChzdG9yYWdlKQogICAgICAgICAgICAgc3RvcmFnZS0+Y3JlYXRlSGFuZGxl
KGhhbmRsZSwgU2hhcmVkTWVtb3J5OjpQcm90ZWN0aW9uOjpSZWFkT25seSk7CkBAIC0yMTAsNyAr
MjI1LDcgQEAgcHJpdmF0ZToKICNlbHNlCiAgICAgICAgIHVpbnQ2NF90IGRhdGFTaXplID0gMDsK
ICNlbmRpZgotICAgICAgICBtX2Nvbm5lY3Rpb24tPnNlbmQoTWVzc2FnZXM6OlJlbW90ZUNhcHR1
cmVTYW1wbGVNYW5hZ2VyOjpBdWRpb1N0b3JhZ2VDaGFuZ2VkKG1faWQsIFNoYXJlZE1lbW9yeTo6
SVBDSGFuZGxlIHsgV1RGTW92ZShoYW5kbGUpLCAgZGF0YVNpemUgfSwgZm9ybWF0LCBmcmFtZUNv
dW50KSwgMCk7CisgICAgICAgIG1fY29ubmVjdGlvbi0+c2VuZChNZXNzYWdlczo6UmVtb3RlQ2Fw
dHVyZVNhbXBsZU1hbmFnZXI6OkF1ZGlvU3RvcmFnZUNoYW5nZWQobV9pZCwgU2hhcmVkTWVtb3J5
OjpJUENIYW5kbGUgeyBXVEZNb3ZlKGhhbmRsZSksICBkYXRhU2l6ZSB9LCBmb3JtYXQsIGZyYW1l
Q291bnQsICptX2NhcHR1cmVTZW1hcGhvcmUsIG1fc3RhcnRUaW1lLCBtX2ZyYW1lQ2h1bmtTaXpl
KSwgMCk7CiAgICAgfQogCiAgICAgYm9vbCBwcmV2ZW50U291cmNlRnJvbVN0b3BwaW5nKCkKQEAg
LTIyMywxMiArMjM4LDE4IEBAIHByaXZhdGU6CiAgICAgV2Vha1B0cjxQbGF0Zm9ybU1lZGlhU2Vz
c2lvbk1hbmFnZXI+IG1fc2Vzc2lvbk1hbmFnZXI7CiAgICAgUmVmPElQQzo6Q29ubmVjdGlvbj4g
bV9jb25uZWN0aW9uOwogICAgIFJlZjxSZWFsdGltZU1lZGlhU291cmNlPiBtX3NvdXJjZTsKLSAg
ICBDQVJpbmdCdWZmZXIgbV9yaW5nQnVmZmVyOworICAgIHN0ZDo6dW5pcXVlX3B0cjxDQVJpbmdC
dWZmZXI+IG1fcmluZ0J1ZmZlcjsKICAgICBDQUF1ZGlvU3RyZWFtRGVzY3JpcHRpb24gbV9kZXNj
cmlwdGlvbiB7IH07CiAgICAgaW50NjRfdCBtX251bWJlck9mRnJhbWVzIHsgMCB9OwogICAgIGJv
b2wgbV9pc0VuZGVkIHsgZmFsc2UgfTsKICAgICBzdGQ6OnVuaXF1ZV9wdHI8SW1hZ2VSb3RhdGlv
blNlc3Npb25WVD4gbV9yb3RhdGlvblNlc3Npb247CiAgICAgYm9vbCBtX3Nob3VsZEFwcGx5Um90
YXRpb24geyBmYWxzZSB9OworICAgIHN0ZDo6dW5pcXVlX3B0cjxJUEM6OlNlbWFwaG9yZT4gbV9j
YXB0dXJlU2VtYXBob3JlOworICAgIGludDY0X3QgbV93cml0ZU9mZnNldCB7IDAgfTsKKyAgICBp
bnQ2NF90IG1fcmVtYWluaW5nRnJhbWVDb3VudCB7IDAgfTsKKyAgICBzaXplX3QgbV9mcmFtZUNo
dW5rU2l6ZSB7IDAgfTsKKyAgICBNZWRpYVRpbWUgbV9zdGFydFRpbWU7CisgICAgYm9vbCBtX3No
b3VsZFJlc2V0IHsgZmFsc2UgfTsKIH07CiAKIFVzZXJNZWRpYUNhcHR1cmVNYW5hZ2VyUHJveHk6
OlVzZXJNZWRpYUNhcHR1cmVNYW5hZ2VyUHJveHkoVW5pcXVlUmVmPENvbm5lY3Rpb25Qcm94eT4m
JiBjb25uZWN0aW9uUHJveHkpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3Mv
Y29jb2EvUmVtb3RlQ2FwdHVyZVNhbXBsZU1hbmFnZXIuY3BwIGIvU291cmNlL1dlYktpdC9XZWJQ
cm9jZXNzL2NvY29hL1JlbW90ZUNhcHR1cmVTYW1wbGVNYW5hZ2VyLmNwcAppbmRleCA3NGQzZWRm
YjcyOTMyYzIxZmZkNTkxMGE2OGYxMTJhY2Y4MTc5OGI5Li4zNDBkY2ExYjQ2ZDNlMWY5ZDBiYTYy
YTM5YjVjMWI3NThiMWY0NmI0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3Mv
Y29jb2EvUmVtb3RlQ2FwdHVyZVNhbXBsZU1hbmFnZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQv
V2ViUHJvY2Vzcy9jb2NvYS9SZW1vdGVDYXB0dXJlU2FtcGxlTWFuYWdlci5jcHAKQEAgLTEyNSw3
ICsxMjUsNyBAQCB2b2lkIFJlbW90ZUNhcHR1cmVTYW1wbGVNYW5hZ2VyOjpkaXNwYXRjaFRvVGhy
ZWFkKEZ1bmN0aW9uPHZvaWQoKT4mJiBjYWxsYmFjaykKICAgICBtX3F1ZXVlLT5kaXNwYXRjaChX
VEZNb3ZlKGNhbGxiYWNrKSk7CiB9CiAKLXZvaWQgUmVtb3RlQ2FwdHVyZVNhbXBsZU1hbmFnZXI6
OmF1ZGlvU3RvcmFnZUNoYW5nZWQoV2ViQ29yZTo6UmVhbHRpbWVNZWRpYVNvdXJjZUlkZW50aWZp
ZXIgaWRlbnRpZmllciwgY29uc3QgU2hhcmVkTWVtb3J5OjpJUENIYW5kbGUmIGlwY0hhbmRsZSwg
Y29uc3QgV2ViQ29yZTo6Q0FBdWRpb1N0cmVhbURlc2NyaXB0aW9uJiBkZXNjcmlwdGlvbiwgdWlu
dDY0X3QgbnVtYmVyT2ZGcmFtZXMpCit2b2lkIFJlbW90ZUNhcHR1cmVTYW1wbGVNYW5hZ2VyOjph
dWRpb1N0b3JhZ2VDaGFuZ2VkKFdlYkNvcmU6OlJlYWx0aW1lTWVkaWFTb3VyY2VJZGVudGlmaWVy
IGlkZW50aWZpZXIsIGNvbnN0IFNoYXJlZE1lbW9yeTo6SVBDSGFuZGxlJiBpcGNIYW5kbGUsIGNv
bnN0IFdlYkNvcmU6OkNBQXVkaW9TdHJlYW1EZXNjcmlwdGlvbiYgZGVzY3JpcHRpb24sIHVpbnQ2
NF90IG51bWJlck9mRnJhbWVzLCBJUEM6OlNlbWFwaG9yZSYmIHNlbWFwaG9yZSwgY29uc3QgTWVk
aWFUaW1lJiBtZWRpYVRpbWUsIHNpemVfdCBmcmFtZUNodW5rU2l6ZSkKIHsKICAgICBBU1NFUlQo
IVdURjo6aXNNYWluUnVuTG9vcCgpKTsKIApAQCAtMTM0LDE5ICsxMzQsNyBAQCB2b2lkIFJlbW90
ZUNhcHR1cmVTYW1wbGVNYW5hZ2VyOjphdWRpb1N0b3JhZ2VDaGFuZ2VkKFdlYkNvcmU6OlJlYWx0
aW1lTWVkaWFTb3VyYwogICAgICAgICBSRUxFQVNFX0xPR19FUlJPUihXZWJSVEMsICJVbmFibGUg
dG8gZmluZCBzb3VyY2UgJWxsdSBmb3Igc3RvcmFnZUNoYW5nZWQiLCBpZGVudGlmaWVyLnRvVUlu
dDY0KCkpOwogICAgICAgICByZXR1cm47CiAgICAgfQotICAgIGl0ZXJhdG9yLT52YWx1ZS0+c2V0
U3RvcmFnZShpcGNIYW5kbGUuaGFuZGxlLCBkZXNjcmlwdGlvbiwgbnVtYmVyT2ZGcmFtZXMpOwot
fQotCi12b2lkIFJlbW90ZUNhcHR1cmVTYW1wbGVNYW5hZ2VyOjphdWRpb1NhbXBsZXNBdmFpbGFi
bGUoV2ViQ29yZTo6UmVhbHRpbWVNZWRpYVNvdXJjZUlkZW50aWZpZXIgaWRlbnRpZmllciwgTWVk
aWFUaW1lIHRpbWUsIHVpbnQ2NF90IG51bWJlck9mRnJhbWVzKQotewotICAgIEFTU0VSVCghV1RG
Ojppc01haW5SdW5Mb29wKCkpOwotCi0gICAgYXV0byBpdGVyYXRvciA9IG1fYXVkaW9Tb3VyY2Vz
LmZpbmQoaWRlbnRpZmllcik7Ci0gICAgaWYgKGl0ZXJhdG9yID09IG1fYXVkaW9Tb3VyY2VzLmVu
ZCgpKSB7Ci0gICAgICAgIFJFTEVBU0VfTE9HX0VSUk9SKFdlYlJUQywgIlVuYWJsZSB0byBmaW5k
IHNvdXJjZSAlbGx1IGZvciBhdWRpb1NhbXBsZXNBdmFpbGFibGUiLCBpZGVudGlmaWVyLnRvVUlu
dDY0KCkpOwotICAgICAgICByZXR1cm47Ci0gICAgfQotICAgIGl0ZXJhdG9yLT52YWx1ZS0+YXVk
aW9TYW1wbGVzQXZhaWxhYmxlKHRpbWUsIG51bWJlck9mRnJhbWVzKTsKKyAgICBpdGVyYXRvci0+
dmFsdWUtPnNldFN0b3JhZ2UoaXBjSGFuZGxlLmhhbmRsZSwgZGVzY3JpcHRpb24sIG51bWJlck9m
RnJhbWVzLCBXVEZNb3ZlKHNlbWFwaG9yZSksIG1lZGlhVGltZSwgZnJhbWVDaHVua1NpemUpOwog
fQogCiB2b2lkIFJlbW90ZUNhcHR1cmVTYW1wbGVNYW5hZ2VyOjp2aWRlb1NhbXBsZUF2YWlsYWJs
ZShSZWFsdGltZU1lZGlhU291cmNlSWRlbnRpZmllciBpZGVudGlmaWVyLCBSZW1vdGVWaWRlb1Nh
bXBsZSYmIHNhbXBsZSkKQEAgLTE2MywzNCArMTUxLDY4IEBAIHZvaWQgUmVtb3RlQ2FwdHVyZVNh
bXBsZU1hbmFnZXI6OnZpZGVvU2FtcGxlQXZhaWxhYmxlKFJlYWx0aW1lTWVkaWFTb3VyY2VJZGVu
dGlmCiAKIFJlbW90ZUNhcHR1cmVTYW1wbGVNYW5hZ2VyOjpSZW1vdGVBdWRpbzo6UmVtb3RlQXVk
aW8oUmVmPFJlbW90ZVJlYWx0aW1lQXVkaW9Tb3VyY2U+JiYgc291cmNlKQogICAgIDogbV9zb3Vy
Y2UoV1RGTW92ZShzb3VyY2UpKQotICAgICwgbV9yaW5nQnVmZmVyKG1ha2VVbmlxdWU8Q0FSaW5n
QnVmZmVyPigpKQogewogfQogCi12b2lkIFJlbW90ZUNhcHR1cmVTYW1wbGVNYW5hZ2VyOjpSZW1v
dGVBdWRpbzo6c2V0U3RvcmFnZShjb25zdCBTaGFyZWRNZW1vcnk6OkhhbmRsZSYgaGFuZGxlLCBj
b25zdCBXZWJDb3JlOjpDQUF1ZGlvU3RyZWFtRGVzY3JpcHRpb24mIGRlc2NyaXB0aW9uLCB1aW50
NjRfdCBudW1iZXJPZkZyYW1lcykKK1JlbW90ZUNhcHR1cmVTYW1wbGVNYW5hZ2VyOjpSZW1vdGVB
dWRpbzo6flJlbW90ZUF1ZGlvKCkKIHsKLSAgICBtX2Rlc2NyaXB0aW9uID0gZGVzY3JpcHRpb247
Ci0gICAgbV9yaW5nQnVmZmVyID0gbWFrZVVuaXF1ZTxDQVJpbmdCdWZmZXI+KG1ha2VVbmlxdWVS
ZWY8UmVhZE9ubHlTaGFyZWRSaW5nQnVmZmVyU3RvcmFnZT4oaGFuZGxlKSwgZGVzY3JpcHRpb24s
IG51bWJlck9mRnJhbWVzKTsKLSAgICBtX2J1ZmZlciA9IG1ha2VVbmlxdWU8V2ViQXVkaW9CdWZm
ZXJMaXN0PihkZXNjcmlwdGlvbiwgbnVtYmVyT2ZGcmFtZXMpOworICAgIHN0b3BUaHJlYWQoKTsK
IH0KIAotdm9pZCBSZW1vdGVDYXB0dXJlU2FtcGxlTWFuYWdlcjo6UmVtb3RlQXVkaW86OmF1ZGlv
U2FtcGxlc0F2YWlsYWJsZShNZWRpYVRpbWUgdGltZSwgdWludDY0X3QgbnVtYmVyT2ZGcmFtZXMp
Cit2b2lkIFJlbW90ZUNhcHR1cmVTYW1wbGVNYW5hZ2VyOjpSZW1vdGVBdWRpbzo6c3RvcFRocmVh
ZCgpCiB7Ci0gICAgaWYgKCFtX2J1ZmZlcikgewotICAgICAgICBSRUxFQVNFX0xPR19FUlJPUihX
ZWJSVEMsICJidWZmZXIgZm9yIGF1ZGlvIHNvdXJjZSAlbGx1IGlzIG51bGwiLCBtX3NvdXJjZS0+
aWRlbnRpZmllcigpLnRvVUludDY0KCkpOworICAgIGlmICghbV90aHJlYWQpCiAgICAgICAgIHJl
dHVybjsKLSAgICB9CiAKLSAgICBpZiAoIVdlYkF1ZGlvQnVmZmVyTGlzdDo6aXNTdXBwb3J0ZWRE
ZXNjcmlwdGlvbihtX2Rlc2NyaXB0aW9uLCBudW1iZXJPZkZyYW1lcykpIHsKLSAgICAgICAgUkVM
RUFTRV9MT0dfRVJST1IoV2ViUlRDLCAiVW5hYmxlIHRvIHN1cHBvcnQgZGVzY3JpcHRpb24gd2l0
aCBnaXZlbiBudW1iZXIgb2YgZnJhbWVzIGZvciBhdWRpbyBzb3VyY2UgJWxsdSIsIG1fc291cmNl
LT5pZGVudGlmaWVyKCkudG9VSW50NjQoKSk7CisgICAgbV9zaG91bGRTdG9wVGhyZWFkID0gdHJ1
ZTsKKyAgICBtX3NlbWFwaG9yZS5zaWduYWwoKTsKKyAgICBtX3RocmVhZC0+d2FpdEZvckNvbXBs
ZXRpb24oKTsKKyAgICBtX3RocmVhZCA9IG51bGxwdHI7Cit9CisKK3ZvaWQgUmVtb3RlQ2FwdHVy
ZVNhbXBsZU1hbmFnZXI6OlJlbW90ZUF1ZGlvOjpzdGFydFRocmVhZCgpCit7CisgICAgQVNTRVJU
KCFtX3RocmVhZCk7CisgICAgbV9zaG91bGRTdG9wVGhyZWFkID0gZmFsc2U7CisgICAgYXV0byB0
aHJlYWRMb29wID0gW3RoaXNdKCkgbXV0YWJsZSB7CisgICAgICAgIG1fcmVhZE9mZnNldCA9IDA7
CisgICAgICAgIGRvIHsKKyAgICAgICAgICAgIC8vIElmIHdhaXRGb3IgZmFpbHMsIHRoZSBzZW1h
cGhvcmUgb24gdGhlIG90aGVyIHNpZGUgd2FzIHByb2JhYmx5IGRlc3Ryb3llZCBhbmQgd2Ugc2hv
dWxkIGp1c3QgZXhpdCBoZXJlIGFuZCB3YWl0IHRvIGxhdW5jaCBhIG5ldyB0aHJlYWQuCisgICAg
ICAgICAgICBpZiAoIW1fc2VtYXBob3JlLndhaXRGb3IoU2Vjb25kczo6aW5maW5pdHkoKSkpCisg
ICAgICAgICAgICAgICAgYnJlYWs7CisgICAgICAgICAgICBpZiAobV9zaG91bGRTdG9wVGhyZWFk
KQorICAgICAgICAgICAgICAgIGJyZWFrOworCisgICAgICAgICAgICBhdXRvIGN1cnJlbnRUaW1l
ID0gbV9zdGFydFRpbWUgKyBNZWRpYVRpbWUgeyBtX3JlYWRPZmZzZXQsIHN0YXRpY19jYXN0PHVp
bnQzMl90PihtX2Rlc2NyaXB0aW9uLnNhbXBsZVJhdGUoKSkgfTsKKyAgICAgICAgICAgIG1fcmlu
Z0J1ZmZlci0+ZmV0Y2gobV9idWZmZXItPmxpc3QoKSwgbV9mcmFtZUNodW5rU2l6ZSwgbV9yZWFk
T2Zmc2V0KTsKKyAgICAgICAgICAgIG1fcmVhZE9mZnNldCArPSBtX2ZyYW1lQ2h1bmtTaXplOwor
CisgICAgICAgICAgICBtX3NvdXJjZS0+cmVtb3RlQXVkaW9TYW1wbGVzQXZhaWxhYmxlKGN1cnJl
bnRUaW1lLCAqbV9idWZmZXIsIG1fZGVzY3JpcHRpb24sIG1fZnJhbWVDaHVua1NpemUpOworICAg
ICAgICB9IHdoaWxlICghbV9zaG91bGRTdG9wVGhyZWFkKTsKKyAgICB9OworICAgIG1fdGhyZWFk
ID0gVGhyZWFkOjpjcmVhdGUoIlJlbW90ZUF1ZGlvU291cmNlUHJvdmlkZXJNYW5hZ2VyOjpSZW1v
dGVBdWRpbyB0aHJlYWQiLCBXVEZNb3ZlKHRocmVhZExvb3ApLCBUaHJlYWRUeXBlOjpBdWRpbywg
VGhyZWFkOjpRT1M6OlVzZXJJbnRlcmFjdGl2ZSk7Cit9CisKK3ZvaWQgUmVtb3RlQ2FwdHVyZVNh
bXBsZU1hbmFnZXI6OlJlbW90ZUF1ZGlvOjpzZXRTdG9yYWdlKGNvbnN0IFNoYXJlZE1lbW9yeTo6
SGFuZGxlJiBoYW5kbGUsIGNvbnN0IFdlYkNvcmU6OkNBQXVkaW9TdHJlYW1EZXNjcmlwdGlvbiYg
ZGVzY3JpcHRpb24sIHVpbnQ2NF90IG51bWJlck9mRnJhbWVzLCBJUEM6OlNlbWFwaG9yZSYmIHNl
bWFwaG9yZSwgY29uc3QgTWVkaWFUaW1lJiBtZWRpYVRpbWUsIHNpemVfdCBmcmFtZUNodW5rU2l6
ZSkKK3sKKyAgICBzdG9wVGhyZWFkKCk7CisKKyAgICBpZiAoIW51bWJlck9mRnJhbWVzKSB7Cisg
ICAgICAgIG1fcmluZ0J1ZmZlciA9IG51bGxwdHI7CisgICAgICAgIG1fYnVmZmVyID0gbnVsbHB0
cjsKICAgICAgICAgcmV0dXJuOwogICAgIH0KIAotICAgIG1fYnVmZmVyLT5zZXRTYW1wbGVDb3Vu
dChudW1iZXJPZkZyYW1lcyk7CisgICAgbV9zZW1hcGhvcmUgPSBXVEZNb3ZlKHNlbWFwaG9yZSk7
CisgICAgbV9kZXNjcmlwdGlvbiA9IGRlc2NyaXB0aW9uOworICAgIG1fc3RhcnRUaW1lID0gbWVk
aWFUaW1lOworICAgIG1fZnJhbWVDaHVua1NpemUgPSBmcmFtZUNodW5rU2l6ZTsKIAotICAgIG1f
cmluZ0J1ZmZlci0+ZmV0Y2gobV9idWZmZXItPmxpc3QoKSwgbnVtYmVyT2ZGcmFtZXMsIHRpbWUu
dGltZVZhbHVlKCkpOworICAgIG1fcmluZ0J1ZmZlciA9IG1ha2VVbmlxdWU8Q0FSaW5nQnVmZmVy
PihtYWtlVW5pcXVlUmVmPFJlYWRPbmx5U2hhcmVkUmluZ0J1ZmZlclN0b3JhZ2U+KGhhbmRsZSks
IGRlc2NyaXB0aW9uLCBudW1iZXJPZkZyYW1lcyk7CisgICAgbV9idWZmZXIgPSBtYWtlVW5pcXVl
PFdlYkF1ZGlvQnVmZmVyTGlzdD4oZGVzY3JpcHRpb24sIG51bWJlck9mRnJhbWVzKTsKKyAgICBt
X2J1ZmZlci0+c2V0U2FtcGxlQ291bnQobV9mcmFtZUNodW5rU2l6ZSk7CiAKLSAgICBtX3NvdXJj
ZS0+cmVtb3RlQXVkaW9TYW1wbGVzQXZhaWxhYmxlKHRpbWUsICptX2J1ZmZlciwgbV9kZXNjcmlw
dGlvbiwgbnVtYmVyT2ZGcmFtZXMpOworICAgIHN0YXJ0VGhyZWFkKCk7CiB9CiAKIFJlbW90ZUNh
cHR1cmVTYW1wbGVNYW5hZ2VyOjpSZW1vdGVWaWRlbzo6UmVtb3RlVmlkZW8oUmVmPFJlbW90ZVJl
YWx0aW1lVmlkZW9Tb3VyY2U+JiYgc291cmNlKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9X
ZWJQcm9jZXNzL2NvY29hL1JlbW90ZUNhcHR1cmVTYW1wbGVNYW5hZ2VyLmggYi9Tb3VyY2UvV2Vi
S2l0L1dlYlByb2Nlc3MvY29jb2EvUmVtb3RlQ2FwdHVyZVNhbXBsZU1hbmFnZXIuaAppbmRleCAw
YTI3NWU5ODM2MzJmYjkzN2E2ZTBhZDkwOGNmNzA4OTIwMjc0OGI1Li4yYzM3ZjE1ZTc2MTU0ZWE5
Y2RjMjdiYjZjYTk3MjdmODZjNDBkMWU2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlBy
b2Nlc3MvY29jb2EvUmVtb3RlQ2FwdHVyZVNhbXBsZU1hbmFnZXIuaAorKysgYi9Tb3VyY2UvV2Vi
S2l0L1dlYlByb2Nlc3MvY29jb2EvUmVtb3RlQ2FwdHVyZVNhbXBsZU1hbmFnZXIuaApAQCAtMjgs
NiArMjgsNyBAQAogI2lmIFBMQVRGT1JNKENPQ09BKSAmJiBFTkFCTEUoTUVESUFfU1RSRUFNKQog
CiAjaW5jbHVkZSAiQ29ubmVjdGlvbi5oIgorI2luY2x1ZGUgIklQQ1NlbWFwaG9yZS5oIgogI2lu
Y2x1ZGUgIk1lc3NhZ2VSZWNlaXZlci5oIgogI2luY2x1ZGUgIlJlbW90ZVJlYWx0aW1lQXVkaW9T
b3VyY2UuaCIKICNpbmNsdWRlICJSZW1vdGVSZWFsdGltZVZpZGVvU291cmNlLmgiCkBAIC02NSw3
ICs2Niw3IEBAIHByaXZhdGU6CiAgICAgdm9pZCBkaXNwYXRjaFRvVGhyZWFkKEZ1bmN0aW9uPHZv
aWQoKT4mJikgZmluYWw7CiAKICAgICAvLyBNZXNzYWdlcwotICAgIHZvaWQgYXVkaW9TdG9yYWdl
Q2hhbmdlZChXZWJDb3JlOjpSZWFsdGltZU1lZGlhU291cmNlSWRlbnRpZmllciwgY29uc3QgU2hh
cmVkTWVtb3J5OjpJUENIYW5kbGUmLCBjb25zdCBXZWJDb3JlOjpDQUF1ZGlvU3RyZWFtRGVzY3Jp
cHRpb24mLCB1aW50NjRfdCBudW1iZXJPZkZyYW1lcyk7CisgICAgdm9pZCBhdWRpb1N0b3JhZ2VD
aGFuZ2VkKFdlYkNvcmU6OlJlYWx0aW1lTWVkaWFTb3VyY2VJZGVudGlmaWVyLCBjb25zdCBTaGFy
ZWRNZW1vcnk6OklQQ0hhbmRsZSYsIGNvbnN0IFdlYkNvcmU6OkNBQXVkaW9TdHJlYW1EZXNjcmlw
dGlvbiYsIHVpbnQ2NF90IG51bWJlck9mRnJhbWVzLCBJUEM6OlNlbWFwaG9yZSYmLCBjb25zdCBN
ZWRpYVRpbWUmLCBzaXplX3QgZnJhbWVTYW1wbGVTaXplKTsKICAgICB2b2lkIGF1ZGlvU2FtcGxl
c0F2YWlsYWJsZShXZWJDb3JlOjpSZWFsdGltZU1lZGlhU291cmNlSWRlbnRpZmllciwgTWVkaWFU
aW1lLCB1aW50NjRfdCBudW1iZXJPZkZyYW1lcyk7CiAgICAgdm9pZCB2aWRlb1NhbXBsZUF2YWls
YWJsZShXZWJDb3JlOjpSZWFsdGltZU1lZGlhU291cmNlSWRlbnRpZmllciwgV2ViQ29yZTo6UmVt
b3RlVmlkZW9TYW1wbGUmJik7CiAKQEAgLTc1LDE1ICs3NiwyNSBAQCBwcml2YXRlOgogICAgICAg
ICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKICAgICBwdWJsaWM6CiAgICAgICAgIGV4cGxpY2l0
IFJlbW90ZUF1ZGlvKFJlZjxSZW1vdGVSZWFsdGltZUF1ZGlvU291cmNlPiYmKTsKKyAgICAgICAg
flJlbW90ZUF1ZGlvKCk7CiAKLSAgICAgICAgdm9pZCBzZXRTdG9yYWdlKGNvbnN0IFNoYXJlZE1l
bW9yeTo6SGFuZGxlJiwgY29uc3QgV2ViQ29yZTo6Q0FBdWRpb1N0cmVhbURlc2NyaXB0aW9uJiwg
dWludDY0X3QgbnVtYmVyT2ZGcmFtZXMpOwotICAgICAgICB2b2lkIGF1ZGlvU2FtcGxlc0F2YWls
YWJsZShNZWRpYVRpbWUsIHVpbnQ2NF90IG51bWJlck9mRnJhbWVzKTsKKyAgICAgICAgdm9pZCBz
ZXRTdG9yYWdlKGNvbnN0IFNoYXJlZE1lbW9yeTo6SGFuZGxlJiwgY29uc3QgV2ViQ29yZTo6Q0FB
dWRpb1N0cmVhbURlc2NyaXB0aW9uJiwgdWludDY0X3QgbnVtYmVyT2ZGcmFtZXMsIElQQzo6U2Vt
YXBob3JlJiYsIGNvbnN0IE1lZGlhVGltZSYsIHNpemVfdCBmcmFtZUNodW5rU2l6ZSk7CiAKICAg
ICBwcml2YXRlOgorICAgICAgICB2b2lkIHN0b3BUaHJlYWQoKTsKKyAgICAgICAgdm9pZCBzdGFy
dFRocmVhZCgpOworCiAgICAgICAgIFJlZjxSZW1vdGVSZWFsdGltZUF1ZGlvU291cmNlPiBtX3Nv
dXJjZTsKICAgICAgICAgV2ViQ29yZTo6Q0FBdWRpb1N0cmVhbURlc2NyaXB0aW9uIG1fZGVzY3Jp
cHRpb247Ci0gICAgICAgIHN0ZDo6dW5pcXVlX3B0cjxXZWJDb3JlOjpDQVJpbmdCdWZmZXI+IG1f
cmluZ0J1ZmZlcjsKICAgICAgICAgc3RkOjp1bmlxdWVfcHRyPFdlYkNvcmU6OldlYkF1ZGlvQnVm
ZmVyTGlzdD4gbV9idWZmZXI7CisgICAgICAgIHN0ZDo6dW5pcXVlX3B0cjxXZWJDb3JlOjpDQVJp
bmdCdWZmZXI+IG1fcmluZ0J1ZmZlcjsKKyAgICAgICAgaW50NjRfdCBtX3JlYWRPZmZzZXQgeyAw
IH07CisgICAgICAgIE1lZGlhVGltZSBtX3N0YXJ0VGltZTsKKyAgICAgICAgc2l6ZV90IG1fZnJh
bWVDaHVua1NpemUgeyAwIH07CisKKyAgICAgICAgSVBDOjpTZW1hcGhvcmUgbV9zZW1hcGhvcmU7
CisgICAgICAgIFJlZlB0cjxUaHJlYWQ+IG1fdGhyZWFkOworICAgICAgICBzdGQ6OmF0b21pYzxi
b29sPiBtX3Nob3VsZFN0b3BUaHJlYWQgeyBmYWxzZSB9OwogICAgIH07CiAKICAgICBjbGFzcyBS
ZW1vdGVWaWRlbyB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvY29jb2Ev
UmVtb3RlQ2FwdHVyZVNhbXBsZU1hbmFnZXIubWVzc2FnZXMuaW4gYi9Tb3VyY2UvV2ViS2l0L1dl
YlByb2Nlc3MvY29jb2EvUmVtb3RlQ2FwdHVyZVNhbXBsZU1hbmFnZXIubWVzc2FnZXMuaW4KaW5k
ZXggYzY0NTY0NTAwYjRiYjc0Y2YzOTk5YzQ0NjcyMzQyNTNkYjBiMzNjYy4uNjZlNjk3ZDQ3MTAw
N2VlNzU3NjY2NTRjMzVkMjNjYmM4NTk2OTEyOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9X
ZWJQcm9jZXNzL2NvY29hL1JlbW90ZUNhcHR1cmVTYW1wbGVNYW5hZ2VyLm1lc3NhZ2VzLmluCisr
KyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9jb2NvYS9SZW1vdGVDYXB0dXJlU2FtcGxlTWFu
YWdlci5tZXNzYWdlcy5pbgpAQCAtMjQsOCArMjQsNyBAQAogI2lmIEVOQUJMRShNRURJQV9TVFJF
QU0pCiAKIG1lc3NhZ2VzIC0+IFJlbW90ZUNhcHR1cmVTYW1wbGVNYW5hZ2VyIE5vdFJlZkNvdW50
ZWQgewotICAgIEF1ZGlvU3RvcmFnZUNoYW5nZWQoV2ViQ29yZTo6UmVhbHRpbWVNZWRpYVNvdXJj
ZUlkZW50aWZpZXIgaWQsIFdlYktpdDo6U2hhcmVkTWVtb3J5OjpJUENIYW5kbGUgc3RvcmFnZUhh
bmRsZSwgV2ViQ29yZTo6Q0FBdWRpb1N0cmVhbURlc2NyaXB0aW9uIGRlc2NyaXB0aW9uLCB1aW50
NjRfdCBudW1iZXJPZkZyYW1lcykKLSAgICBBdWRpb1NhbXBsZXNBdmFpbGFibGUoV2ViQ29yZTo6
UmVhbHRpbWVNZWRpYVNvdXJjZUlkZW50aWZpZXIgaWQsIE1lZGlhVGltZSB0aW1lLCB1aW50NjRf
dCBudW1iZXJPZkZyYW1lcykKKyAgICBBdWRpb1N0b3JhZ2VDaGFuZ2VkKFdlYkNvcmU6OlJlYWx0
aW1lTWVkaWFTb3VyY2VJZGVudGlmaWVyIGlkLCBXZWJLaXQ6OlNoYXJlZE1lbW9yeTo6SVBDSGFu
ZGxlIHN0b3JhZ2VIYW5kbGUsIFdlYkNvcmU6OkNBQXVkaW9TdHJlYW1EZXNjcmlwdGlvbiBkZXNj
cmlwdGlvbiwgdWludDY0X3QgbnVtYmVyT2ZGcmFtZXMsIElQQzo6U2VtYXBob3JlIGNhcHR1cmVT
ZW1hcGhvcmUsIE1lZGlhVGltZSBtZWRpYVRpbWUsIHNpemVfdCBmcmFtZUNodW5rU2l6ZSk7CiAg
ICAgVmlkZW9TYW1wbGVBdmFpbGFibGUoV2ViQ29yZTo6UmVhbHRpbWVNZWRpYVNvdXJjZUlkZW50
aWZpZXIgaWQsIFdlYkNvcmU6OlJlbW90ZVZpZGVvU2FtcGxlIHNhbXBsZSkKIH0KIAo=
</data>

          </attachment>
      

    </bug>

</bugzilla>