<?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>222759</bug_id>
          
          <creation_ts>2021-03-04 13:05:09 -0800</creation_ts>
          <short_desc>[GPU Process] Remote control command should only go to the current NowPlaying session</short_desc>
          <delta_ts>2021-03-05 07:50:32 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Media</component>
          <version>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="Eric Carlson">eric.carlson</reporter>
          <assigned_to name="Eric Carlson">eric.carlson</assigned_to>
          <cc>calvaris</cc>
    
    <cc>cdumez</cc>
    
    <cc>changseok</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>glenn</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>jean-yves.avenard</cc>
    
    <cc>jer.noble</cc>
    
    <cc>philipj</cc>
    
    <cc>sergio</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1735987</commentid>
    <comment_count>0</comment_count>
    <who name="Eric Carlson">eric.carlson</who>
    <bug_when>2021-03-04 13:05:09 -0800</bug_when>
    <thetext>Remote control command should only go to the current NowPlaying session</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1735989</commentid>
    <comment_count>1</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2021-03-04 13:05:27 -0800</bug_when>
    <thetext>&lt;rdar://problem/75053393&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1736092</commentid>
    <comment_count>2</comment_count>
      <attachid>422308</attachid>
    <who name="Eric Carlson">eric.carlson</who>
    <bug_when>2021-03-04 16:21:47 -0800</bug_when>
    <thetext>Created attachment 422308
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1736106</commentid>
    <comment_count>3</comment_count>
    <who name="Jean-Yves Avenard [:jya]">jean-yves.avenard</who>
    <bug_when>2021-03-04 16:43:08 -0800</bug_when>
    <thetext>*** Bug 222534 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1736108</commentid>
    <comment_count>4</comment_count>
      <attachid>422312</attachid>
    <who name="Eric Carlson">eric.carlson</who>
    <bug_when>2021-03-04 16:49:09 -0800</bug_when>
    <thetext>Created attachment 422312
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1736332</commentid>
    <comment_count>5</comment_count>
      <attachid>422312</attachid>
    <who name="Eric Carlson">eric.carlson</who>
    <bug_when>2021-03-05 07:41:23 -0800</bug_when>
    <thetext>Comment on attachment 422312
Patch

The failed filereader test is unrelated</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1736337</commentid>
    <comment_count>6</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2021-03-05 07:50:29 -0800</bug_when>
    <thetext>Committed r273967: &lt;https://commits.webkit.org/r273967&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 422312.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>422308</attachid>
            <date>2021-03-04 16:21:47 -0800</date>
            <delta_ts>2021-03-04 16:54:13 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-222759-20210304162147.patch</filename>
            <type>text/plain</type>
            <size>36176</size>
            <attacher name="Eric Carlson">eric.carlson</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjczOTE5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMThkNWZhM2EwODFkZDQx
MzYwNTI2ZmRkODkwOTA3NTE3ZDk3MGRkZi4uODE1MTkxMzA2OGMwYWYyMmY4NTVkYWE2NzJiYzJj
MjY1ZTUyMWE4MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQ1IEBACisyMDIxLTAzLTA0ICBFcmlj
IENhcmxzb24gIDxlcmljLmNhcmxzb25AYXBwbGUuY29tPgorCisgICAgICAgIFtHUFUgUHJvY2Vz
c10gUmVtb3RlIGNvbnRyb2wgY29tbWFuZCBzaG91bGQgb25seSBnbyB0byB0aGUgY3VycmVudCBO
b3dQbGF5aW5nIHNlc3Npb24KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTIyMjc1OQorICAgICAgICA8cmRhcjovL3Byb2JsZW0vNzUwNTMzOTM+CisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgRG9uJ3QgcmVnaXN0
ZXIgYSByZW1vdGUgY29tbWFuZCBsaXN0ZW5lciBmb3IgZXZlcnkgd2ViIHByb2Nlc3MsIG9yIGV2
ZXJ5IHJlbW90ZSBjb250cm9sCisgICAgICAgIGNvbW1hbmRzIHdpbGwgZ28gdG8gZXZlcnkgd2Vi
IHByb2Nlc3MuIEluc3RlYWQsIHJlZ2lzdGVyIGEgc2luZ2xlIGxpc3RlbmVyIGZvciB0aGUKKyAg
ICAgICAgR1BVIHByb2Nlc3MgYW5kIHJvdXRlIGNvbW1hbmRzIHRvIG9ubHkgdGhlIGN1cnJlbnQg
Tm93UGxheWluZyBwcm9jZXNzLgorCisgICAgICAgIFRlc3RlZCBtYW51YWxseS4KKworICAgICAg
ICAqIGh0bWwvSFRNTE1lZGlhRWxlbWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpIVE1MTWVk
aWFFbGVtZW50OjpkaWRSZWNlaXZlUmVtb3RlQ29udHJvbENvbW1hbmQpOgorICAgICAgICAqIHBs
YXRmb3JtL05vd1BsYXlpbmdNYW5hZ2VyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Ok5vd1BsYXlp
bmdNYW5hZ2VyOjpzZXRTdXBwb3J0ZWRSZW1vdGVDb21tYW5kcyk6CisgICAgICAgICogcGxhdGZv
cm0vTm93UGxheWluZ01hbmFnZXIuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9SZW1vdGVDb21tYW5k
TGlzdGVuZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVtb3RlQ29tbWFuZExpc3RlbmVyOjph
ZGRTdXBwb3J0ZWRDb21tYW5kKToKKyAgICAgICAgKFdlYkNvcmU6OlJlbW90ZUNvbW1hbmRMaXN0
ZW5lcjo6cmVtb3ZlU3VwcG9ydGVkQ29tbWFuZCk6CisgICAgICAgIChXZWJDb3JlOjpSZW1vdGVD
b21tYW5kTGlzdGVuZXI6OnNldFN1cHBvcnRlZENvbW1hbmRzKToKKyAgICAgICAgKFdlYkNvcmU6
OlJlbW90ZUNvbW1hbmRMaXN0ZW5lcjo6dXBkYXRlU3VwcG9ydGVkQ29tbWFuZHMpOgorICAgICAg
ICAqIHBsYXRmb3JtL1JlbW90ZUNvbW1hbmRMaXN0ZW5lci5oOgorICAgICAgICAqIHBsYXRmb3Jt
L2F1ZGlvL05vd1BsYXlpbmdJbmZvLmg6CisgICAgICAgIChXZWJDb3JlOjpOb3dQbGF5aW5nSW5m
bzo6b3BlcmF0b3I9PSBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpOb3dQbGF5aW5nSW5mbzo6
b3BlcmF0b3IhPSBjb25zdCk6CisgICAgICAgICogcGxhdGZvcm0vYXVkaW8vY29jb2EvTWVkaWFT
ZXNzaW9uTWFuYWdlckNvY29hLmg6CisgICAgICAgICogcGxhdGZvcm0vYXVkaW8vY29jb2EvTWVk
aWFTZXNzaW9uTWFuYWdlckNvY29hLm1tOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFTZXNzaW9u
TWFuYWdlckNvY29hOjpzZXROb3dQbGF5aW5nSW5mbyk6CisgICAgICAgIChXZWJDb3JlOjpNZWRp
YVNlc3Npb25NYW5hZ2VyQ29jb2E6OnVwZGF0ZU5vd1BsYXlpbmdJbmZvKToKKyAgICAgICAgKiBw
bGF0Zm9ybS9pb3MvUmVtb3RlQ29tbWFuZExpc3RlbmVySU9TLm1tOgorICAgICAgICAoV2ViQ29y
ZTo6UmVtb3RlQ29tbWFuZExpc3RlbmVySU9TOjpSZW1vdGVDb21tYW5kTGlzdGVuZXJJT1MpOgor
ICAgICAgICAoV2ViQ29yZTo6UmVtb3RlQ29tbWFuZExpc3RlbmVySU9TOjp1cGRhdGVTdXBwb3J0
ZWRDb21tYW5kcyk6CisgICAgICAgICogcGxhdGZvcm0vbWFjL01lZGlhUmVtb3RlU29mdExpbmsu
aDoKKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMvTWVkaWFSZW1vdGVTb2Z0TGluay5tbToKKyAgICAg
ICAgKiBwbGF0Zm9ybS9tYWMvUmVtb3RlQ29tbWFuZExpc3RlbmVyTWFjLmg6CisgICAgICAgICog
cGxhdGZvcm0vbWFjL1JlbW90ZUNvbW1hbmRMaXN0ZW5lck1hYy5tbToKKyAgICAgICAgKFdlYkNv
cmU6OlJlbW90ZUNvbW1hbmRMaXN0ZW5lck1hYzo6dXBkYXRlU3VwcG9ydGVkQ29tbWFuZHMpOgor
ICAgICAgICAoV2ViQ29yZTo6UmVtb3RlQ29tbWFuZExpc3RlbmVyTWFjOjpSZW1vdGVDb21tYW5k
TGlzdGVuZXJNYWMpOgorCiAyMDIxLTAzLTA0ICBaYWxhbiBCdWp0YXMgIDx6YWxhbkBhcHBsZS5j
b20+CiAKICAgICAgICAgW0xGQ11bSUZDXSBMaW5lU3RhdHVzOjphdmFpbGFibGVXaWR0aCBzaG91
bGQgYWx3YXlzIGJlIGEgdmFsaWQgbnVtYmVyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IGMyY2I3MDRmZGM1MTMzOTkx
NDdhNzgzMzVmYzYzMzA2NTc4ZDM0OTAuLjI0OTYxNmFlYjI2YWM5YWU4ZDI4ZDdhZDQ5NTEwMDFi
NTZjZjY0MTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzYgQEAKKzIwMjEtMDMtMDQgIEVyaWMgQ2Fy
bHNvbiAgPGVyaWMuY2FybHNvbkBhcHBsZS5jb20+CisKKyAgICAgICAgW0dQVSBQcm9jZXNzXSBS
ZW1vdGUgY29udHJvbCBjb21tYW5kIHNob3VsZCBvbmx5IGdvIHRvIHRoZSBjdXJyZW50IE5vd1Bs
YXlpbmcgc2Vzc2lvbgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9MjIyNzU5CisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS83NTA1MzM5Mz4KKworICAgICAg
ICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIEdQVVByb2Nlc3MvR1BV
Q29ubmVjdGlvblRvV2ViUHJvY2Vzcy5jcHA6CisgICAgICAgIChXZWJLaXQ6OkdQVUNvbm5lY3Rp
b25Ub1dlYlByb2Nlc3M6OmNsZWFyTm93UGxheWluZ0luZm8pOgorICAgICAgICAoV2ViS2l0OjpH
UFVDb25uZWN0aW9uVG9XZWJQcm9jZXNzOjpzZXROb3dQbGF5aW5nSW5mbyk6CisgICAgICAgIChX
ZWJLaXQ6OkdQVUNvbm5lY3Rpb25Ub1dlYlByb2Nlc3M6OnVwZGF0ZVN1cHBvcnRlZFJlbW90ZUNv
bW1hbmRzKToKKyAgICAgICAgKFdlYktpdDo6R1BVQ29ubmVjdGlvblRvV2ViUHJvY2Vzczo6Y3Jl
YXRlUmVtb3RlQ29tbWFuZExpc3RlbmVyKToKKyAgICAgICAgKFdlYktpdDo6R1BVQ29ubmVjdGlv
blRvV2ViUHJvY2Vzczo6cmVsZWFzZVJlbW90ZUNvbW1hbmRMaXN0ZW5lcik6CisgICAgICAgIChX
ZWJLaXQ6OkdQVUNvbm5lY3Rpb25Ub1dlYlByb2Nlc3M6OmRpc3BhdGNoTWVzc2FnZSk6CisgICAg
ICAgICogR1BVUHJvY2Vzcy9HUFVDb25uZWN0aW9uVG9XZWJQcm9jZXNzLmg6CisgICAgICAgICog
R1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVSZW1vdGVDb21tYW5kTGlzdGVuZXJQcm94eS5jcHA6Cisg
ICAgICAgIChXZWJLaXQ6OlJlbW90ZVJlbW90ZUNvbW1hbmRMaXN0ZW5lclByb3h5OjpSZW1vdGVS
ZW1vdGVDb21tYW5kTGlzdGVuZXJQcm94eSk6CisgICAgICAgIChXZWJLaXQ6OlJlbW90ZVJlbW90
ZUNvbW1hbmRMaXN0ZW5lclByb3h5Ojp1cGRhdGVTdXBwb3J0ZWRDb21tYW5kcyk6CisgICAgICAg
IChXZWJLaXQ6OlJlbW90ZVJlbW90ZUNvbW1hbmRMaXN0ZW5lclByb3h5OjpkaWRSZWNlaXZlUmVt
b3RlQ29udHJvbENvbW1hbmQpOiBEZWxldGVkLgorICAgICAgICAqIEdQVVByb2Nlc3MvbWVkaWEv
UmVtb3RlUmVtb3RlQ29tbWFuZExpc3RlbmVyUHJveHkuaDoKKyAgICAgICAgKFdlYktpdDo6UmVt
b3RlUmVtb3RlQ29tbWFuZExpc3RlbmVyUHJveHk6OmNyZWF0ZSk6CisgICAgICAgIChXZWJLaXQ6
OlJlbW90ZVJlbW90ZUNvbW1hbmRMaXN0ZW5lclByb3h5OjpzdXBwb3J0c1NlZWtpbmcgY29uc3Qp
OgorICAgICAgICAoV2ViS2l0OjpSZW1vdGVSZW1vdGVDb21tYW5kTGlzdGVuZXJQcm94eTo6c3Vw
cG9ydGVkQ29tbWFuZHMgY29uc3QpOgorICAgICAgICAoV2ViS2l0OjpSZW1vdGVSZW1vdGVDb21t
YW5kTGlzdGVuZXJQcm94eTo6aWRlbnRpZmllciBjb25zdCk6CisgICAgICAgICogR1BVUHJvY2Vz
cy9tZWRpYS9SZW1vdGVSZW1vdGVDb21tYW5kTGlzdGVuZXJQcm94eS5tZXNzYWdlcy5pbjoKKyAg
ICAgICAgKiBXZWJQcm9jZXNzL0dQVS9tZWRpYS9SZW1vdGVSZW1vdGVDb21tYW5kTGlzdGVuZXIu
Y3BwOgorICAgICAgICAoV2ViS2l0OjpSZW1vdGVSZW1vdGVDb21tYW5kTGlzdGVuZXI6OlJlbW90
ZVJlbW90ZUNvbW1hbmRMaXN0ZW5lcik6CisgICAgICAgIChXZWJLaXQ6OlJlbW90ZVJlbW90ZUNv
bW1hbmRMaXN0ZW5lcjo6flJlbW90ZVJlbW90ZUNvbW1hbmRMaXN0ZW5lcik6CisgICAgICAgIChX
ZWJLaXQ6OlJlbW90ZVJlbW90ZUNvbW1hbmRMaXN0ZW5lcjo6ZGlkUmVjZWl2ZVJlbW90ZUNvbnRy
b2xDb21tYW5kKToKKyAgICAgICAgKFdlYktpdDo6UmVtb3RlUmVtb3RlQ29tbWFuZExpc3RlbmVy
Ojp1cGRhdGVTdXBwb3J0ZWRDb21tYW5kcyk6CisgICAgICAgICogV2ViUHJvY2Vzcy9HUFUvbWVk
aWEvUmVtb3RlUmVtb3RlQ29tbWFuZExpc3RlbmVyLmg6CisKIDIwMjEtMDMtMDQgIEFsZXggQ2hy
aXN0ZW5zZW4gIDxhY2hyaXN0ZW5zZW5Ad2Via2l0Lm9yZz4KIAogICAgICAgICBSZW1vdmUgdGhl
IEhUVFBTVXBncmFkZUVuYWJsZWQgZXhwZXJpbWVudGFsIGZlYXR1cmUKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL2h0bWwvSFRNTE1lZGlhRWxlbWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9o
dG1sL0hUTUxNZWRpYUVsZW1lbnQuY3BwCmluZGV4IGUxZDkwMzMzMWIwNzEzZTY2ODJhZjRkMzc3
MjMzNjI3Y2RhNTZjMzAuLjk0YmIwYWU0NWRmZDkzMWZjZjg1ZjgyNDU5MmExMTk3ZjZjYTUzZDkg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE1lZGlhRWxlbWVudC5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTWVkaWFFbGVtZW50LmNwcApAQCAtNzUzOSwxMiAr
NzUzOSwxNiBAQCB2b2lkIEhUTUxNZWRpYUVsZW1lbnQ6OmRpZFJlY2VpdmVSZW1vdGVDb250cm9s
Q29tbWFuZChQbGF0Zm9ybU1lZGlhU2Vzc2lvbjo6UmVtbwogICAgIGNhc2UgUGxhdGZvcm1NZWRp
YVNlc3Npb246OkVuZFNlZWtpbmdGb3J3YXJkQ29tbWFuZDoKICAgICAgICAgZW5kU2Nhbm5pbmco
KTsKICAgICAgICAgYnJlYWs7Ci0gICAgY2FzZSBQbGF0Zm9ybU1lZGlhU2Vzc2lvbjo6U2tpcEZv
cndhcmRDb21tYW5kOgotICAgICAgICBoYW5kbGVTZWVrVG9QbGF5YmFja1Bvc2l0aW9uKGFyZ3Vt
ZW50LnRpbWUgPyBhcmd1bWVudC50aW1lLnZhbHVlKCkgOiBkZWZhdWx0U2tpcEFtb3VudCk7Cisg
ICAgY2FzZSBQbGF0Zm9ybU1lZGlhU2Vzc2lvbjo6U2tpcEZvcndhcmRDb21tYW5kOiB7CisgICAg
ICAgIGF1dG8gZGVsdGEgPSBhcmd1bWVudC50aW1lID8gYXJndW1lbnQudGltZS52YWx1ZSgpIDog
ZGVmYXVsdFNraXBBbW91bnQ7CisgICAgICAgIGhhbmRsZVNlZWtUb1BsYXliYWNrUG9zaXRpb24o
c3RkOjptaW4oY3VycmVudFRpbWUoKSArIGRlbHRhLCBkdXJhdGlvbigpKSk7CiAgICAgICAgIGJy
ZWFrOwotICAgIGNhc2UgUGxhdGZvcm1NZWRpYVNlc3Npb246OlNraXBCYWNrd2FyZENvbW1hbmQ6
Ci0gICAgICAgIGhhbmRsZVNlZWtUb1BsYXliYWNrUG9zaXRpb24oMCAtIChhcmd1bWVudC50aW1l
ID8gYXJndW1lbnQudGltZS52YWx1ZSgpIDogZGVmYXVsdFNraXBBbW91bnQpKTsKKyAgICB9Cisg
ICAgY2FzZSBQbGF0Zm9ybU1lZGlhU2Vzc2lvbjo6U2tpcEJhY2t3YXJkQ29tbWFuZDogeworICAg
ICAgICBhdXRvIGRlbHRhID0gYXJndW1lbnQudGltZSA/IGFyZ3VtZW50LnRpbWUudmFsdWUoKSA6
IGRlZmF1bHRTa2lwQW1vdW50OworICAgICAgICBoYW5kbGVTZWVrVG9QbGF5YmFja1Bvc2l0aW9u
KHN0ZDo6bWF4KGN1cnJlbnRUaW1lKCkgLSBkZWx0YSwgMC4pKTsKICAgICAgICAgYnJlYWs7Cisg
ICAgfQogICAgIGNhc2UgUGxhdGZvcm1NZWRpYVNlc3Npb246OlNlZWtUb1BsYXliYWNrUG9zaXRp
b25Db21tYW5kOgogICAgICAgICBBU1NFUlQoYXJndW1lbnQudGltZSk7CiAgICAgICAgIGlmIChh
cmd1bWVudC50aW1lKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vTm93UGxh
eWluZ01hbmFnZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vTm93UGxheWluZ01hbmFn
ZXIuY3BwCmluZGV4IDA4ZWIxNTFiYzc4Y2RlYzQ2NzJhOGIxNDcxNmUzNzlmOTc0NzkxZWIuLmUz
YjAyYWU5YjRkNGE3Y2Q5MGZiMjdmMWU1ODdjNjI3NzNhOTg1MzkgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL05vd1BsYXlpbmdNYW5hZ2VyLmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9Ob3dQbGF5aW5nTWFuYWdlci5jcHAKQEAgLTc0LDQgKzc0LDEzIEBAIHZv
aWQgTm93UGxheWluZ01hbmFnZXI6OnNldE5vd1BsYXlpbmdJbmZvKENsaWVudCYgY2xpZW50LCBO
b3dQbGF5aW5nSW5mbyYmIG5vd1BsCiAjZW5kaWYKIH0KIAordm9pZCBOb3dQbGF5aW5nTWFuYWdl
cjo6c2V0U3VwcG9ydGVkUmVtb3RlQ29tbWFuZHMoY29uc3QgUmVtb3RlQ29tbWFuZExpc3RlbmVy
OjpSZW1vdGVDb21tYW5kc1NldCYgY29tbWFuZHMsIGJvb2wgc3VwcG9ydHNTZWVraW5nKQorewor
ICAgIGlmICghbV9yZW1vdGVDb21tYW5kTGlzdGVuZXIpCisgICAgICAgIHJldHVybjsKKworICAg
IG1fcmVtb3RlQ29tbWFuZExpc3RlbmVyLT5zZXRTdXBwb3J0c1NlZWtpbmcoc3VwcG9ydHNTZWVr
aW5nKTsKKyAgICBtX3JlbW90ZUNvbW1hbmRMaXN0ZW5lci0+c2V0U3VwcG9ydGVkQ29tbWFuZHMo
Y29tbWFuZHMpOworfQorCiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9O
b3dQbGF5aW5nTWFuYWdlci5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vTm93UGxheWluZ01h
bmFnZXIuaAppbmRleCBmYTE2NjQyODI0NTJmMGVkMDljNmM4Nzc1ZjZhODY1MjQ5ZGJhZDMzLi43
ZmEyOWQ2YTg4OWVkYWE0ZTY4OGYxNDA1ZjFkYWQwZDBkZjMzMWMxIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9Ob3dQbGF5aW5nTWFuYWdlci5oCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL05vd1BsYXlpbmdNYW5hZ2VyLmgKQEAgLTUwLDYgKzUwLDcgQEAgcHVibGlj
OgogCiAgICAgdm9pZCBjbGVhck5vd1BsYXlpbmdJbmZvQ2xpZW50KENsaWVudCYpOwogICAgIHZv
aWQgc2V0Tm93UGxheWluZ0luZm8oQ2xpZW50JiwgTm93UGxheWluZ0luZm8mJik7CisgICAgdm9p
ZCBzZXRTdXBwb3J0ZWRSZW1vdGVDb21tYW5kcyhjb25zdCBSZW1vdGVDb21tYW5kTGlzdGVuZXI6
OlJlbW90ZUNvbW1hbmRzU2V0JiwgYm9vbCk7CiAKIHByaXZhdGU6CiAgICAgc3RkOjp1bmlxdWVf
cHRyPFJlbW90ZUNvbW1hbmRMaXN0ZW5lcj4gbV9yZW1vdGVDb21tYW5kTGlzdGVuZXI7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9SZW1vdGVDb21tYW5kTGlzdGVuZXIuY3Bw
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vUmVtb3RlQ29tbWFuZExpc3RlbmVyLmNwcAppbmRl
eCBkMzhiZmNjMGJiZDEzOWNhOGVlMmIyYzIzMWVjZWNhOTY0ZDQ3Mjk5Li41M2M3Zjg4NzhhZWQ0
NmRhMDk3M2Q4NzMzZmM4YTgzMWYzYWY0YTdlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9SZW1vdGVDb21tYW5kTGlzdGVuZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL1JlbW90ZUNvbW1hbmRMaXN0ZW5lci5jcHAKQEAgLTg5LDE0ICs4OSwyNSBAQCB2b2lk
IFJlbW90ZUNvbW1hbmRMaXN0ZW5lcjo6c2V0U3VwcG9ydHNTZWVraW5nKGJvb2wgc3VwcG9ydHMp
CiAKIHZvaWQgUmVtb3RlQ29tbWFuZExpc3RlbmVyOjphZGRTdXBwb3J0ZWRDb21tYW5kKFBsYXRm
b3JtTWVkaWFTZXNzaW9uOjpSZW1vdGVDb250cm9sQ29tbWFuZFR5cGUgY29tbWFuZCkKIHsKLSAg
ICBtX3JlZ2lzdGVyZWRDb21tYW5kcy5hZGQoY29tbWFuZCk7CisgICAgbV9zdXBwb3J0ZWRDb21t
YW5kcy5hZGQoY29tbWFuZCk7CiAgICAgc2NoZWR1bGVTdXBwb3J0ZWRDb21tYW5kc1VwZGF0ZSgp
OwogfQogCiB2b2lkIFJlbW90ZUNvbW1hbmRMaXN0ZW5lcjo6cmVtb3ZlU3VwcG9ydGVkQ29tbWFu
ZChQbGF0Zm9ybU1lZGlhU2Vzc2lvbjo6UmVtb3RlQ29udHJvbENvbW1hbmRUeXBlIGNvbW1hbmQp
CiB7Ci0gICAgbV9yZWdpc3RlcmVkQ29tbWFuZHMucmVtb3ZlKGNvbW1hbmQpOworICAgIG1fc3Vw
cG9ydGVkQ29tbWFuZHMucmVtb3ZlKGNvbW1hbmQpOwogICAgIHNjaGVkdWxlU3VwcG9ydGVkQ29t
bWFuZHNVcGRhdGUoKTsKIH0KIAordm9pZCBSZW1vdGVDb21tYW5kTGlzdGVuZXI6OnNldFN1cHBv
cnRlZENvbW1hbmRzKGNvbnN0IFJlbW90ZUNvbW1hbmRzU2V0JiBjb21tYW5kcykKK3sKKyAgICBt
X3N1cHBvcnRlZENvbW1hbmRzID0gY29tbWFuZHM7CisgICAgc2NoZWR1bGVTdXBwb3J0ZWRDb21t
YW5kc1VwZGF0ZSgpOworfQorCit2b2lkIFJlbW90ZUNvbW1hbmRMaXN0ZW5lcjo6dXBkYXRlU3Vw
cG9ydGVkQ29tbWFuZHMoKQoreworICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOworfQorCiB9CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9SZW1vdGVDb21tYW5kTGlzdGVuZXIu
aCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1JlbW90ZUNvbW1hbmRMaXN0ZW5lci5oCmluZGV4
IDhhZjY1YWQyMjc1Y2I3MWQzOTQ5NjJhYmY3M2JlODYyNDhiZjk5NDguLjMzMWRhOTU3N2FkOTY1
MGE0N2I3YzQ3ZGY4OTcwMWVkYjE2OTk4MzggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL1JlbW90ZUNvbW1hbmRMaXN0ZW5lci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL1JlbW90ZUNvbW1hbmRMaXN0ZW5lci5oCkBAIC01MSwyMiArNTEsMzYgQEAgcHVibGljOgog
CiAgICAgdm9pZCBhZGRTdXBwb3J0ZWRDb21tYW5kKFBsYXRmb3JtTWVkaWFTZXNzaW9uOjpSZW1v
dGVDb250cm9sQ29tbWFuZFR5cGUpOwogICAgIHZvaWQgcmVtb3ZlU3VwcG9ydGVkQ29tbWFuZChQ
bGF0Zm9ybU1lZGlhU2Vzc2lvbjo6UmVtb3RlQ29udHJvbENvbW1hbmRUeXBlKTsKLSAgICB2aXJ0
dWFsIHZvaWQgdXBkYXRlU3VwcG9ydGVkQ29tbWFuZHMoKSB7IH0KKworICAgIHVzaW5nIFJlbW90
ZUNvbW1hbmRzU2V0ID0gSGFzaFNldDxQbGF0Zm9ybU1lZGlhU2Vzc2lvbjo6UmVtb3RlQ29udHJv
bENvbW1hbmRUeXBlLCBXVEY6OkludEhhc2g8UGxhdGZvcm1NZWRpYVNlc3Npb246OlJlbW90ZUNv
bnRyb2xDb21tYW5kVHlwZT4sIFdURjo6U3Ryb25nRW51bUhhc2hUcmFpdHM8UGxhdGZvcm1NZWRp
YVNlc3Npb246OlJlbW90ZUNvbnRyb2xDb21tYW5kVHlwZT4+OworICAgIHZvaWQgc2V0U3VwcG9y
dGVkQ29tbWFuZHMoY29uc3QgUmVtb3RlQ29tbWFuZHNTZXQmKTsKKyAgICBjb25zdCBSZW1vdGVD
b21tYW5kc1NldCYgc3VwcG9ydGVkQ29tbWFuZHMoKSBjb25zdDsKKworICAgIHZpcnR1YWwgdm9p
ZCB1cGRhdGVTdXBwb3J0ZWRDb21tYW5kcygpOwogICAgIHZvaWQgc2NoZWR1bGVTdXBwb3J0ZWRD
b21tYW5kc1VwZGF0ZSgpOworCiAgICAgdm9pZCBzZXRTdXBwb3J0c1NlZWtpbmcoYm9vbCk7Cisg
ICAgYm9vbCBzdXBwb3J0c1NlZWtpbmcoKSBjb25zdDsKIAogICAgIFJlbW90ZUNvbW1hbmRMaXN0
ZW5lckNsaWVudCYgY2xpZW50KCkgY29uc3QgeyByZXR1cm4gbV9jbGllbnQ7IH0KIAotcHJvdGVj
dGVkOgorcHJpdmF0ZToKICAgICBSZW1vdGVDb21tYW5kTGlzdGVuZXJDbGllbnQmIG1fY2xpZW50
OwotCi0gICAgdXNpbmcgUmVtb3RlQ29tbWFuZHNTZXQgPSBIYXNoU2V0PFBsYXRmb3JtTWVkaWFT
ZXNzaW9uOjpSZW1vdGVDb250cm9sQ29tbWFuZFR5cGUsIFdURjo6SW50SGFzaDxQbGF0Zm9ybU1l
ZGlhU2Vzc2lvbjo6UmVtb3RlQ29udHJvbENvbW1hbmRUeXBlPiwgV1RGOjpTdHJvbmdFbnVtSGFz
aFRyYWl0czxQbGF0Zm9ybU1lZGlhU2Vzc2lvbjo6UmVtb3RlQ29udHJvbENvbW1hbmRUeXBlPj47
Ci0gICAgUmVtb3RlQ29tbWFuZHNTZXQgbV9yZWdpc3RlcmVkQ29tbWFuZHM7Ci0gICAgYm9vbCBt
X3N1cHBvcnRzU2Vla2luZyB7IGZhbHNlIH07Ci0KKyAgICBSZW1vdGVDb21tYW5kc1NldCBtX3N1
cHBvcnRlZENvbW1hbmRzOwogICAgIERlZmVycmFibGVUYXNrPFRpbWVyPiBtX3VwZGF0ZUNvbW1h
bmRzVGFzazsKKyAgICBib29sIG1fc3VwcG9ydHNTZWVraW5nIHsgZmFsc2UgfTsKIH07CiAKK2Nv
bnN0IFJlbW90ZUNvbW1hbmRMaXN0ZW5lcjo6UmVtb3RlQ29tbWFuZHNTZXQmIFJlbW90ZUNvbW1h
bmRMaXN0ZW5lcjo6c3VwcG9ydGVkQ29tbWFuZHMoKSBjb25zdAoreworICAgIHJldHVybiBtX3N1
cHBvcnRlZENvbW1hbmRzOworfQorCitib29sIFJlbW90ZUNvbW1hbmRMaXN0ZW5lcjo6c3VwcG9y
dHNTZWVraW5nKCkgY29uc3QKK3sKKyAgICByZXR1cm4gbV9zdXBwb3J0c1NlZWtpbmc7Cit9CisK
IH0KIAogI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9O
b3dQbGF5aW5nSW5mby5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vTm93UGxheWlu
Z0luZm8uaAppbmRleCBlZWUzODgwNjgxYmE4OWM4YTY2YzRjZThmOWNmY2ZiNTRhMTg3MjNlLi5i
YzcxNWVlODQ1ZWNhYjAyZmQ5MTNiZjRjMWE3YWE5OWExODBjZGNiIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9Ob3dQbGF5aW5nSW5mby5oCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL05vd1BsYXlpbmdJbmZvLmgKQEAgLTQyLDYgKzQyLDI1IEBA
IHN0cnVjdCBOb3dQbGF5aW5nSW5mbyB7CiAgICAgYm9vbCBpc1BsYXlpbmcgeyBmYWxzZSB9Owog
ICAgIGJvb2wgYWxsb3dzTm93UGxheWluZ0NvbnRyb2xzVmlzaWJpbGl0eSB7IGZhbHNlIH07CiAK
KyAgICBib29sIG9wZXJhdG9yPT0oY29uc3QgTm93UGxheWluZ0luZm8mIG90aGVyKSBjb25zdAor
ICAgIHsKKyAgICAgICAgcmV0dXJuIHRpdGxlID09IG90aGVyLnRpdGxlCisgICAgICAgICAgICAm
JiBhcnRpc3QgPT0gb3RoZXIuYXJ0aXN0CisgICAgICAgICAgICAmJiBhbGJ1bSA9PSBvdGhlci5h
bGJ1bQorICAgICAgICAgICAgJiYgc291cmNlQXBwbGljYXRpb25JZGVudGlmaWVyID09IG90aGVy
LnNvdXJjZUFwcGxpY2F0aW9uSWRlbnRpZmllcgorICAgICAgICAgICAgJiYgZHVyYXRpb24gPT0g
b3RoZXIuZHVyYXRpb24KKyAgICAgICAgICAgICYmIGN1cnJlbnRUaW1lID09IG90aGVyLmN1cnJl
bnRUaW1lCisgICAgICAgICAgICAmJiBzdXBwb3J0c1NlZWtpbmcgPT0gb3RoZXIuc3VwcG9ydHNT
ZWVraW5nCisgICAgICAgICAgICAmJiB1bmlxdWVJZGVudGlmaWVyID09IG90aGVyLnVuaXF1ZUlk
ZW50aWZpZXIKKyAgICAgICAgICAgICYmIGlzUGxheWluZyA9PSBvdGhlci5pc1BsYXlpbmcKKyAg
ICAgICAgICAgICYmIGFsbG93c05vd1BsYXlpbmdDb250cm9sc1Zpc2liaWxpdHkgPT0gb3RoZXIu
YWxsb3dzTm93UGxheWluZ0NvbnRyb2xzVmlzaWJpbGl0eTsKKyAgICB9CisKKyAgICBib29sIG9w
ZXJhdG9yIT0oY29uc3QgTm93UGxheWluZ0luZm8gb3RoZXIpIGNvbnN0CisgICAgeworICAgICAg
ICByZXR1cm4gISgqdGhpcyA9PSBvdGhlcik7CisgICAgfQorCiAgICAgdGVtcGxhdGU8Y2xhc3Mg
RW5jb2Rlcj4gdm9pZCBlbmNvZGUoRW5jb2RlciYpIGNvbnN0OwogICAgIHRlbXBsYXRlPGNsYXNz
IERlY29kZXI+IHN0YXRpYyBPcHRpb25hbDxOb3dQbGF5aW5nSW5mbz4gZGVjb2RlKERlY29kZXIm
KTsKIH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9jb2NvYS9N
ZWRpYVNlc3Npb25NYW5hZ2VyQ29jb2EuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlv
L2NvY29hL01lZGlhU2Vzc2lvbk1hbmFnZXJDb2NvYS5oCmluZGV4IGM5OGY4YmI2Mzg4MWEzMjQy
NDk2YTNmOWQyOGMxZDY2NjllMmNiYzAuLmQ4ZTM1ZDJlMWRkMzFlMDVlMzAwNjU3MGQ3YjQ5ODlh
ZDkyNmYwNTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL2NvY29h
L01lZGlhU2Vzc2lvbk1hbmFnZXJDb2NvYS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2F1ZGlvL2NvY29hL01lZGlhU2Vzc2lvbk1hbmFnZXJDb2NvYS5oCkBAIC0yOSw2ICsyOSw3IEBA
CiAKICNpbmNsdWRlICJBdWRpb0hhcmR3YXJlTGlzdGVuZXIuaCIKICNpbmNsdWRlICJHZW5lcmlj
VGFza1F1ZXVlLmgiCisjaW5jbHVkZSAiTm93UGxheWluZ0luZm8uaCIKICNpbmNsdWRlICJQbGF0
Zm9ybU1lZGlhU2Vzc2lvbk1hbmFnZXIuaCIKICNpbmNsdWRlICJSZW1vdGVDb21tYW5kTGlzdGVu
ZXIuaCIKIApAQCAtOTgsNiArOTksNyBAQCBwcml2YXRlOgogICAgIHZvaWQgYXVkaW9IYXJkd2Fy
ZURpZEJlY29tZUluYWN0aXZlKCkgZmluYWwgeyB9CiAgICAgdm9pZCBhdWRpb091dHB1dERldmlj
ZUNoYW5nZWQoKSBmaW5hbDsKIAorICAgIE9wdGlvbmFsPE5vd1BsYXlpbmdJbmZvPiBtX25vd1Bs
YXlpbmdJbmZvOwogICAgIGJvb2wgbV9ub3dQbGF5aW5nQWN0aXZlIHsgZmFsc2UgfTsKICAgICBi
b29sIG1fcmVnaXN0ZXJlZEFzTm93UGxheWluZ0FwcGxpY2F0aW9uIHsgZmFsc2UgfTsKICAgICBi
b29sIG1faGF2ZUV2ZXJSZWdpc3RlcmVkQXNOb3dQbGF5aW5nQXBwbGljYXRpb24geyBmYWxzZSB9
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vY29jb2EvTWVkaWFT
ZXNzaW9uTWFuYWdlckNvY29hLm1tIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vY29j
b2EvTWVkaWFTZXNzaW9uTWFuYWdlckNvY29hLm1tCmluZGV4IDNhMzFiNzRhN2U3OWE4MTBlOTAw
YzY5ODVjZGNiYjcyNDYzMDFjMDcuLmM3NjUyNTllYzMxZjQ0ZGMxZDBiYWRhZjJjZGRlYjQxN2Vj
Nzk5YzcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL2NvY29hL01l
ZGlhU2Vzc2lvbk1hbmFnZXJDb2NvYS5tbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9h
dWRpby9jb2NvYS9NZWRpYVNlc3Npb25NYW5hZ2VyQ29jb2EubW0KQEAgLTI4NiwxNCArMjg2LDkg
QEAgdm9pZCBNZWRpYVNlc3Npb25NYW5hZ2VyQ29jb2E6OnNldE5vd1BsYXlpbmdJbmZvKGJvb2wg
c2V0QXNOb3dQbGF5aW5nQXBwbGljYXRpb24KIAogICAgIGF1dG8gaW5mbyA9IGFkb3B0Q0YoQ0ZE
aWN0aW9uYXJ5Q3JlYXRlTXV0YWJsZShrQ0ZBbGxvY2F0b3JEZWZhdWx0LCA0LCAma0NGVHlwZURp
Y3Rpb25hcnlLZXlDYWxsQmFja3MsICZrQ0ZUeXBlRGljdGlvbmFyeVZhbHVlQ2FsbEJhY2tzKSk7
CiAKLSAgICBpZiAoIW5vd1BsYXlpbmdJbmZvLmFydGlzdC5pc0VtcHR5KCkpCi0gICAgICAgIENG
RGljdGlvbmFyeVNldFZhbHVlKGluZm8uZ2V0KCksIGtNUk1lZGlhUmVtb3RlTm93UGxheWluZ0lu
Zm9BcnRpc3QsIG5vd1BsYXlpbmdJbmZvLmFydGlzdC5jcmVhdGVDRlN0cmluZygpLmdldCgpKTsK
LQotICAgIGlmICghbm93UGxheWluZ0luZm8uYWxidW0uaXNFbXB0eSgpKQotICAgICAgICBDRkRp
Y3Rpb25hcnlTZXRWYWx1ZShpbmZvLmdldCgpLCBrTVJNZWRpYVJlbW90ZU5vd1BsYXlpbmdJbmZv
QWxidW0sIG5vd1BsYXlpbmdJbmZvLmFsYnVtLmNyZWF0ZUNGU3RyaW5nKCkuZ2V0KCkpOwotCi0g
ICAgaWYgKCFub3dQbGF5aW5nSW5mby50aXRsZS5pc0VtcHR5KCkpCi0gICAgICAgIENGRGljdGlv
bmFyeVNldFZhbHVlKGluZm8uZ2V0KCksIGtNUk1lZGlhUmVtb3RlTm93UGxheWluZ0luZm9UaXRs
ZSwgbm93UGxheWluZ0luZm8udGl0bGUuY3JlYXRlQ0ZTdHJpbmcoKS5nZXQoKSk7CisgICAgQ0ZE
aWN0aW9uYXJ5U2V0VmFsdWUoaW5mby5nZXQoKSwga01STWVkaWFSZW1vdGVOb3dQbGF5aW5nSW5m
b0FydGlzdCwgbm93UGxheWluZ0luZm8uYXJ0aXN0LmNyZWF0ZUNGU3RyaW5nKCkuZ2V0KCkpOwor
ICAgIENGRGljdGlvbmFyeVNldFZhbHVlKGluZm8uZ2V0KCksIGtNUk1lZGlhUmVtb3RlTm93UGxh
eWluZ0luZm9BbGJ1bSwgbm93UGxheWluZ0luZm8uYWxidW0uY3JlYXRlQ0ZTdHJpbmcoKS5nZXQo
KSk7CisgICAgQ0ZEaWN0aW9uYXJ5U2V0VmFsdWUoaW5mby5nZXQoKSwga01STWVkaWFSZW1vdGVO
b3dQbGF5aW5nSW5mb1RpdGxlLCBub3dQbGF5aW5nSW5mby50aXRsZS5jcmVhdGVDRlN0cmluZygp
LmdldCgpKTsKIAogICAgIGlmIChzdGQ6OmlzZmluaXRlKG5vd1BsYXlpbmdJbmZvLmR1cmF0aW9u
KSAmJiBub3dQbGF5aW5nSW5mby5kdXJhdGlvbiAhPSBNZWRpYVBsYXllcjo6aW52YWxpZFRpbWUo
KSkgewogICAgICAgICBhdXRvIGNmRHVyYXRpb24gPSBhZG9wdENGKENGTnVtYmVyQ3JlYXRlKGtD
RkFsbG9jYXRvckRlZmF1bHQsIGtDRk51bWJlckRvdWJsZVR5cGUsICZub3dQbGF5aW5nSW5mby5k
dXJhdGlvbikpOwpAQCAtMzY2LDIwICszNjEsMjQgQEAgdm9pZCBNZWRpYVNlc3Npb25NYW5hZ2Vy
Q29jb2E6OnVwZGF0ZU5vd1BsYXlpbmdJbmZvKCkKICAgICAgICAgbV9sYXN0VXBkYXRlZE5vd1Bs
YXlpbmdEdXJhdGlvbiA9IE5BTjsKICAgICAgICAgbV9sYXN0VXBkYXRlZE5vd1BsYXlpbmdFbGFw
c2VkVGltZSA9IE5BTjsKICAgICAgICAgbV9sYXN0VXBkYXRlZE5vd1BsYXlpbmdJbmZvVW5pcXVl
SWRlbnRpZmllciA9IHsgfTsKKyAgICAgICAgbV9ub3dQbGF5aW5nSW5mbyA9IHsgfTsKIAogICAg
ICAgICByZXR1cm47CiAgICAgfQogCiAgICAgbV9oYXZlRXZlclJlZ2lzdGVyZWRBc05vd1BsYXlp
bmdBcHBsaWNhdGlvbiA9IHRydWU7Ci0gICAgcGxhdGZvcm1TdHJhdGVnaWVzKCktPm1lZGlhU3Ry
YXRlZ3koKS5zZXROb3dQbGF5aW5nSW5mbyghbV9yZWdpc3RlcmVkQXNOb3dQbGF5aW5nQXBwbGlj
YXRpb24sICpub3dQbGF5aW5nSW5mbyk7CisKKyAgICBpZiAobV9ub3dQbGF5aW5nSW5mbyAhPSBu
b3dQbGF5aW5nSW5mbykgeworICAgICAgICBtX25vd1BsYXlpbmdJbmZvID0gbm93UGxheWluZ0lu
Zm87CisgICAgICAgIHBsYXRmb3JtU3RyYXRlZ2llcygpLT5tZWRpYVN0cmF0ZWd5KCkuc2V0Tm93
UGxheWluZ0luZm8oIW1fcmVnaXN0ZXJlZEFzTm93UGxheWluZ0FwcGxpY2F0aW9uLCAqbm93UGxh
eWluZ0luZm8pOworICAgICAgICBBTFdBWVNfTE9HKExPR0lERU5USUZJRVIsICJ0aXRsZSA9IFwi
Iiwgbm93UGxheWluZ0luZm8tPnRpdGxlLCAiXCIsIGlzUGxheWluZyA9ICIsIG5vd1BsYXlpbmdJ
bmZvLT5pc1BsYXlpbmcsICIsIGR1cmF0aW9uID0gIiwgbm93UGxheWluZ0luZm8tPmR1cmF0aW9u
LCAiLCBub3cgPSAiLCBub3dQbGF5aW5nSW5mby0+Y3VycmVudFRpbWUsICIsIGlkID0gIiwgbm93
UGxheWluZ0luZm8tPnVuaXF1ZUlkZW50aWZpZXIudG9VSW50NjQoKSwgIiwgcmVnaXN0ZXJlZCA9
ICIsIG1fcmVnaXN0ZXJlZEFzTm93UGxheWluZ0FwcGxpY2F0aW9uKTsKKyAgICB9CiAKICAgICBp
ZiAoIW1fcmVnaXN0ZXJlZEFzTm93UGxheWluZ0FwcGxpY2F0aW9uKSB7CiAgICAgICAgIG1fcmVn
aXN0ZXJlZEFzTm93UGxheWluZ0FwcGxpY2F0aW9uID0gdHJ1ZTsKICAgICAgICAgcHJvdmlkZVBy
ZXNlbnRpbmdBcHBsaWNhdGlvblBJRElmTmVjZXNzYXJ5KCk7CiAgICAgfQogCi0gICAgQUxXQVlT
X0xPRyhMT0dJREVOVElGSUVSLCAidGl0bGUgPSBcIiIsIG5vd1BsYXlpbmdJbmZvLT50aXRsZSwg
IlwiLCBpc1BsYXlpbmcgPSAiLCBub3dQbGF5aW5nSW5mby0+aXNQbGF5aW5nLCAiLCBkdXJhdGlv
biA9ICIsIG5vd1BsYXlpbmdJbmZvLT5kdXJhdGlvbiwgIiwgbm93ID0gIiwgbm93UGxheWluZ0lu
Zm8tPmN1cnJlbnRUaW1lLCAiLCBpZCA9ICIsIG5vd1BsYXlpbmdJbmZvLT51bmlxdWVJZGVudGlm
aWVyLnRvVUludDY0KCksICIsIHJlZ2lzdGVyZWQgPSAiLCBtX3JlZ2lzdGVyZWRBc05vd1BsYXlp
bmdBcHBsaWNhdGlvbik7Ci0KICAgICBpZiAoIW5vd1BsYXlpbmdJbmZvLT50aXRsZS5pc0VtcHR5
KCkpCiAgICAgICAgIG1fbGFzdFVwZGF0ZWROb3dQbGF5aW5nVGl0bGUgPSBub3dQbGF5aW5nSW5m
by0+dGl0bGU7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2NvY29hL1Jl
bW90ZUNvbW1hbmRMaXN0ZW5lckNvY29hLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9jb2Nv
YS9SZW1vdGVDb21tYW5kTGlzdGVuZXJDb2NvYS5oCmluZGV4IDE3YjI0YzkyNDVhZGJkZjQ2MzYw
MGJlMjFhMzYyNjJiNGI4YWNlMjkuLmZiMGNmYjk3M2ZiMTE4YTM4YmI0YThiNWI2ODgwN2FhNDE5
YjM5MGYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2NvY29hL1JlbW90ZUNv
bW1hbmRMaXN0ZW5lckNvY29hLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vY29jb2Ev
UmVtb3RlQ29tbWFuZExpc3RlbmVyQ29jb2EuaApAQCAtNDYsNyArNDYsNiBAQCBwcml2YXRlOgog
CiAgICAgY29uc3QgUmVtb3RlQ29tbWFuZHNTZXQmIGRlZmF1bHRDb21tYW5kcygpOwogICAgIFJl
bW90ZUNvbW1hbmRzU2V0IG1fY3VycmVudENvbW1hbmRzOwotICAgIGJvb2wgbV9zdXBwb3J0c1Nl
ZWtpbmcgeyBmYWxzZSB9OwogfTsKICAgICAKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2NvY29hL1JlbW90ZUNvbW1hbmRMaXN0ZW5lckNvY29hLm1tIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vY29jb2EvUmVtb3RlQ29tbWFuZExpc3RlbmVyQ29jb2EubW0KaW5kZXgg
OGU3OTY0YWMzNzZkMzBlMTMzMTgzNGNiOThjODQwZTU2MmJhYTM4Yy4uMDdlMGU5NzA2ZDRmZDZm
ZTRmY2M5MzkyZDkzMWE2OWI3MjExNjA5NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vY29jb2EvUmVtb3RlQ29tbWFuZExpc3RlbmVyQ29jb2EubW0KKysrIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vY29jb2EvUmVtb3RlQ29tbWFuZExpc3RlbmVyQ29jb2EubW0KQEAgLTEw
MSwxMyArMTAxLDEzIEBAIHZvaWQgUmVtb3RlQ29tbWFuZExpc3RlbmVyQ29jb2E6OnVwZGF0ZVN1
cHBvcnRlZENvbW1hbmRzKCkKICAgICBpZiAoIWlzTWVkaWFSZW1vdGVGcmFtZXdvcmtBdmFpbGFi
bGUoKSkKICAgICAgICAgcmV0dXJuOwogCi0gICAgYXV0byYgc3VwcG9ydGVkQ29tbWFuZHMgPSAh
bV9yZWdpc3RlcmVkQ29tbWFuZHMuaXNFbXB0eSgpID8gbV9yZWdpc3RlcmVkQ29tbWFuZHMgOiBk
ZWZhdWx0Q29tbWFuZHMoKTsKLSAgICBpZiAobV9jdXJyZW50Q29tbWFuZHMgPT0gc3VwcG9ydGVk
Q29tbWFuZHMpCisgICAgYXV0byYgY3VycmVudENvbW1hbmRzID0gIXN1cHBvcnRlZENvbW1hbmRz
KCkuaXNFbXB0eSgpID8gc3VwcG9ydGVkQ29tbWFuZHMoKSA6IGRlZmF1bHRDb21tYW5kcygpOwor
ICAgIGlmIChtX2N1cnJlbnRDb21tYW5kcyA9PSBjdXJyZW50Q29tbWFuZHMpCiAgICAgICAgIHJl
dHVybjsKIAotICAgIGF1dG8gY29tbWFuZEluZm9BcnJheSA9IGFkb3B0Q0YoQ0ZBcnJheUNyZWF0
ZU11dGFibGUoa0NGQWxsb2NhdG9yRGVmYXVsdCwgc3VwcG9ydGVkQ29tbWFuZHMuc2l6ZSgpLCAm
a0NGVHlwZUFycmF5Q2FsbEJhY2tzKSk7Ci0gICAgZm9yIChhdXRvIHBsYXRmb3JtQ29tbWFuZCA6
IHN1cHBvcnRlZENvbW1hbmRzKSB7Ci0gICAgICAgIGlmIChpc1NlZWtDb21tYW5kKHBsYXRmb3Jt
Q29tbWFuZCkgJiYgIW1fc3VwcG9ydHNTZWVraW5nKQorICAgIGF1dG8gY29tbWFuZEluZm9BcnJh
eSA9IGFkb3B0Q0YoQ0ZBcnJheUNyZWF0ZU11dGFibGUoa0NGQWxsb2NhdG9yRGVmYXVsdCwgY3Vy
cmVudENvbW1hbmRzLnNpemUoKSwgJmtDRlR5cGVBcnJheUNhbGxCYWNrcykpOworICAgIGZvciAo
YXV0byBwbGF0Zm9ybUNvbW1hbmQgOiBjdXJyZW50Q29tbWFuZHMpIHsKKyAgICAgICAgaWYgKGlz
U2Vla0NvbW1hbmQocGxhdGZvcm1Db21tYW5kKSAmJiAhc3VwcG9ydHNTZWVraW5nKCkpCiAgICAg
ICAgICAgICBjb250aW51ZTsKIAogICAgICAgICBhdXRvIGNvbW1hbmQgPSBtZWRpYVJlbW90ZUNv
bW1hbmRGb3JQbGF0Zm9ybUNvbW1hbmQocGxhdGZvcm1Db21tYW5kKTsKQEAgLTExOCwxMSArMTE4
LDEzIEBAIHZvaWQgUmVtb3RlQ29tbWFuZExpc3RlbmVyQ29jb2E6OnVwZGF0ZVN1cHBvcnRlZENv
bW1hbmRzKCkKICAgICAgICAgYXV0byBjb21tYW5kSW5mbyA9IGFkb3B0Q0YoTVJNZWRpYVJlbW90
ZUNvbW1hbmRJbmZvQ3JlYXRlKGtDRkFsbG9jYXRvckRlZmF1bHQpKTsKICAgICAgICAgTVJNZWRp
YVJlbW90ZUNvbW1hbmRJbmZvU2V0Q29tbWFuZChjb21tYW5kSW5mby5nZXQoKSwgY29tbWFuZC52
YWx1ZSgpKTsKICAgICAgICAgTVJNZWRpYVJlbW90ZUNvbW1hbmRJbmZvU2V0RW5hYmxlZChjb21t
YW5kSW5mby5nZXQoKSwgdHJ1ZSk7CisgICAgICAgIGlmIChwbGF0Zm9ybUNvbW1hbmQgPT0gUGxh
dGZvcm1NZWRpYVNlc3Npb246OlNraXBGb3J3YXJkQ29tbWFuZCB8fCBwbGF0Zm9ybUNvbW1hbmQg
PT0gUGxhdGZvcm1NZWRpYVNlc3Npb246OlNraXBCYWNrd2FyZENvbW1hbmQpCisgICAgICAgICAg
ICBNUk1lZGlhUmVtb3RlQ29tbWFuZEluZm9TZXRPcHRpb25zKGNvbW1hbmRJbmZvLmdldCgpLCAo
X19icmlkZ2UgQ0ZEaWN0aW9uYXJ5UmVmKShAeyhfX2JyaWRnZSBOU1N0cmluZyAqKWtNUk1lZGlh
UmVtb3RlQ29tbWFuZEluZm9QcmVmZXJyZWRJbnRlcnZhbHNLZXkgOiBAW0AoMTUuMCldfSkpOwog
ICAgICAgICBDRkFycmF5QXBwZW5kVmFsdWUoY29tbWFuZEluZm9BcnJheS5nZXQoKSwgY29tbWFu
ZEluZm8uZ2V0KCkpOwogICAgIH0KIAogICAgIE1STWVkaWFSZW1vdGVTZXRTdXBwb3J0ZWRDb21t
YW5kcyhjb21tYW5kSW5mb0FycmF5LmdldCgpLCBNUk1lZGlhUmVtb3RlR2V0TG9jYWxPcmlnaW4o
KSwgbnVsbHB0ciwgbnVsbHB0cik7Ci0gICAgbV9jdXJyZW50Q29tbWFuZHMgPSBzdXBwb3J0ZWRD
b21tYW5kczsKKyAgICBtX2N1cnJlbnRDb21tYW5kcyA9IGN1cnJlbnRDb21tYW5kczsKIH0KIAog
UmVtb3RlQ29tbWFuZExpc3RlbmVyQ29jb2E6OlJlbW90ZUNvbW1hbmRMaXN0ZW5lckNvY29hKFJl
bW90ZUNvbW1hbmRMaXN0ZW5lckNsaWVudCYgY2xpZW50KQpAQCAtMTY4LDcgKzE3MCw3IEBAIFJl
bW90ZUNvbW1hbmRMaXN0ZW5lckNvY29hOjpSZW1vdGVDb21tYW5kTGlzdGVuZXJDb2NvYShSZW1v
dGVDb21tYW5kTGlzdGVuZXJDbGllCiAgICAgICAgICAgICBwbGF0Zm9ybUNvbW1hbmQgPSBQbGF0
Zm9ybU1lZGlhU2Vzc2lvbjo6RW5kU2Vla2luZ0JhY2t3YXJkQ29tbWFuZDsKICAgICAgICAgICAg
IGJyZWFrOwogICAgICAgICBjYXNlIE1STWVkaWFSZW1vdGVDb21tYW5kU2Vla1RvUGxheWJhY2tQ
b3NpdGlvbjogewotICAgICAgICAgICAgaWYgKCFtX3N1cHBvcnRzU2Vla2luZykgeworICAgICAg
ICAgICAgaWYgKCFzdXBwb3J0c1NlZWtpbmcoKSkgewogICAgICAgICAgICAgICAgIHN0YXR1cyA9
IE1STWVkaWFSZW1vdGVDb21tYW5kSGFuZGxlclN0YXR1c0NvbW1hbmRGYWlsZWQ7CiAgICAgICAg
ICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgICB9CkBAIC0xODcsNyArMTg5LDcgQEAgUmVtb3Rl
Q29tbWFuZExpc3RlbmVyQ29jb2E6OlJlbW90ZUNvbW1hbmRMaXN0ZW5lckNvY29hKFJlbW90ZUNv
bW1hbmRMaXN0ZW5lckNsaWUKICAgICAgICAgfQogICAgICAgICBjYXNlIE1STWVkaWFSZW1vdGVD
b21tYW5kU2tpcEZvcndhcmQ6CiAgICAgICAgIGNhc2UgTVJNZWRpYVJlbW90ZUNvbW1hbmRTa2lw
QmFja3dhcmQ6Ci0gICAgICAgICAgICBpZiAoIW1fc3VwcG9ydHNTZWVraW5nKSB7CisgICAgICAg
ICAgICBpZiAoIXN1cHBvcnRzU2Vla2luZygpKSB7CiAgICAgICAgICAgICAgICAgc3RhdHVzID0g
TVJNZWRpYVJlbW90ZUNvbW1hbmRIYW5kbGVyU3RhdHVzQ29tbWFuZEZhaWxlZDsKICAgICAgICAg
ICAgICAgICBicmVhazsKICAgICAgICAgICAgIH0KQEAgLTIxMiw3ICsyMTQsNyBAQCBSZW1vdGVD
b21tYW5kTGlzdGVuZXJDb2NvYTo6UmVtb3RlQ29tbWFuZExpc3RlbmVyQ29jb2EoUmVtb3RlQ29t
bWFuZExpc3RlbmVyQ2xpZQogICAgICAgICB9OwogCiAgICAgICAgIGlmICh3ZWFrVGhpcyAmJiBz
dGF0dXMgIT0gTVJNZWRpYVJlbW90ZUNvbW1hbmRIYW5kbGVyU3RhdHVzQ29tbWFuZEZhaWxlZCkK
LSAgICAgICAgICAgIHdlYWtUaGlzLT5tX2NsaWVudC5kaWRSZWNlaXZlUmVtb3RlQ29udHJvbENv
bW1hbmQocGxhdGZvcm1Db21tYW5kLCBhcmd1bWVudCk7CisgICAgICAgICAgICB3ZWFrVGhpcy0+
Y2xpZW50KCkuZGlkUmVjZWl2ZVJlbW90ZUNvbnRyb2xDb21tYW5kKHBsYXRmb3JtQ29tbWFuZCwg
YXJndW1lbnQpOwogCiAgICAgICAgIGNvbXBsZXRpb24oKF9fYnJpZGdlIENGQXJyYXlSZWYpQFtA
KHN0YXR1cyldKTsKICAgICB9KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L21hYy9NZWRpYVJlbW90ZVNvZnRMaW5rLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tYWMv
TWVkaWFSZW1vdGVTb2Z0TGluay5oCmluZGV4IDBhZTgzZGQwMjI5OWEyZjk2YjIxNzc0ODJiM2M3
NzJiYjY5MGQwNjkuLmYxMGUwOTI2NzM4NzZhZGYxNWY3ZTNiYTYwODg2MmZjODIxZmY3YTAgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21hYy9NZWRpYVJlbW90ZVNvZnRMaW5r
LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWFjL01lZGlhUmVtb3RlU29mdExpbmsu
aApAQCAtNzgsNiArNzgsOCBAQCBTT0ZUX0xJTktfQ09OU1RBTlRfRk9SX0hFQURFUihXZWJDb3Jl
LCBNZWRpYVJlbW90ZSwga01STWVkaWFSZW1vdGVOb3dQbGF5aW5nSW5mbwogI2RlZmluZSBrTVJN
ZWRpYVJlbW90ZU5vd1BsYXlpbmdJbmZvVW5pcXVlSWRlbnRpZmllciBnZXRfTWVkaWFSZW1vdGVf
a01STWVkaWFSZW1vdGVOb3dQbGF5aW5nSW5mb1VuaXF1ZUlkZW50aWZpZXIoKQogU09GVF9MSU5L
X0NPTlNUQU5UX0ZPUl9IRUFERVIoV2ViQ29yZSwgTWVkaWFSZW1vdGUsIGtNUk1lZGlhUmVtb3Rl
T3B0aW9uU2tpcEludGVydmFsLCBDRlN0cmluZ1JlZik7CiAjZGVmaW5lIGtNUk1lZGlhUmVtb3Rl
T3B0aW9uU2tpcEludGVydmFsIGdldF9NZWRpYVJlbW90ZV9rTVJNZWRpYVJlbW90ZU9wdGlvblNr
aXBJbnRlcnZhbCgpCitTT0ZUX0xJTktfQ09OU1RBTlRfRk9SX0hFQURFUihXZWJDb3JlLCBNZWRp
YVJlbW90ZSwga01STWVkaWFSZW1vdGVDb21tYW5kSW5mb1ByZWZlcnJlZEludGVydmFsc0tleSwg
Q0ZTdHJpbmdSZWYpOworI2RlZmluZSBrTVJNZWRpYVJlbW90ZUNvbW1hbmRJbmZvUHJlZmVycmVk
SW50ZXJ2YWxzS2V5IGdldF9NZWRpYVJlbW90ZV9rTVJNZWRpYVJlbW90ZU9wdGlvblNraXBJbnRl
cnZhbCgpCiAKICNpZiBQTEFURk9STShJT1NfRkFNSUxZKQogU09GVF9MSU5LX0ZVTkNUSU9OX0ZP
Ul9IRUFERVIoV2ViQ29yZSwgTWVkaWFSZW1vdGUsIE1STWVkaWFSZW1vdGVDb3B5UGlja2FibGVS
b3V0ZXMsIENGQXJyYXlSZWYsICgpLCAoKSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL21hYy9NZWRpYVJlbW90ZVNvZnRMaW5rLm1tIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vbWFjL01lZGlhUmVtb3RlU29mdExpbmsubW0KaW5kZXggNzNlN2IyMGQ5YmY1NTI3MDQ3YWMz
ODExNTIwMDZmM2U4NTIxNWUzMS4uMzYxNWVmMmNmOTY0NTJlNTE3YjE4MzQ3ODAzMzc0MjU3YjFj
ZTk4MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWFjL01lZGlhUmVtb3Rl
U29mdExpbmsubW0KKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWFjL01lZGlhUmVtb3Rl
U29mdExpbmsubW0KQEAgLTU0LDYgKzU0LDcgQEAgU09GVF9MSU5LX0NPTlNUQU5UX0ZPUl9TT1VS
Q0UoV2ViQ29yZSwgTWVkaWFSZW1vdGUsIGtNUk1lZGlhUmVtb3RlTm93UGxheWluZ0luZm8KIFNP
RlRfTElOS19DT05TVEFOVF9GT1JfU09VUkNFKFdlYkNvcmUsIE1lZGlhUmVtb3RlLCBrTVJNZWRp
YVJlbW90ZU9wdGlvblBsYXliYWNrUG9zaXRpb24sIENGU3RyaW5nUmVmKTsKIFNPRlRfTElOS19D
T05TVEFOVF9GT1JfU09VUkNFKFdlYkNvcmUsIE1lZGlhUmVtb3RlLCBrTVJNZWRpYVJlbW90ZU5v
d1BsYXlpbmdJbmZvVW5pcXVlSWRlbnRpZmllciwgQ0ZTdHJpbmdSZWYpOwogU09GVF9MSU5LX0NP
TlNUQU5UX0ZPUl9TT1VSQ0UoV2ViQ29yZSwgTWVkaWFSZW1vdGUsIGtNUk1lZGlhUmVtb3RlT3B0
aW9uU2tpcEludGVydmFsLCBDRlN0cmluZ1JlZik7CitTT0ZUX0xJTktfQ09OU1RBTlRfRk9SX1NP
VVJDRShXZWJDb3JlLCBNZWRpYVJlbW90ZSwga01STWVkaWFSZW1vdGVDb21tYW5kSW5mb1ByZWZl
cnJlZEludGVydmFsc0tleSwgQ0ZTdHJpbmdSZWYpOwogCiAjaWYgUExBVEZPUk0oSU9TX0ZBTUlM
WSkKIFNPRlRfTElOS19GVU5DVElPTl9GT1JfU09VUkNFKFdlYkNvcmUsIE1lZGlhUmVtb3RlLCBN
Uk1lZGlhUmVtb3RlQ29weVBpY2thYmxlUm91dGVzLCBDRkFycmF5UmVmLCAoKSwgKCkpOwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL0dQVUNvbm5lY3Rpb25Ub1dlYlByb2Nl
c3MuY3BwIGIvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL0dQVUNvbm5lY3Rpb25Ub1dlYlByb2Nl
c3MuY3BwCmluZGV4IGMzOTlkNmJmYzJjZjg0M2IwYzRlZDMzN2U0NzUxMGY4OWFjOGJjYzQuLjc1
ZDAxOTdhN2U2YmQ1OGE4OWY0MzdmOWUxZmE4MzYxNTE3ZTA1MTcgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQvR1BVUHJvY2Vzcy9HUFVDb25uZWN0aW9uVG9XZWJQcm9jZXNzLmNwcAorKysgYi9T
b3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvR1BVQ29ubmVjdGlvblRvV2ViUHJvY2Vzcy5jcHAKQEAg
LTUxLDYgKzUxLDcgQEAKICNpbmNsdWRlICJSZW1vdGVNZWRpYVJlc291cmNlTWFuYWdlci5oIgog
I2luY2x1ZGUgIlJlbW90ZU1lZGlhUmVzb3VyY2VNYW5hZ2VyTWVzc2FnZXMuaCIKICNpbmNsdWRl
ICJSZW1vdGVSZW1vdGVDb21tYW5kTGlzdGVuZXJQcm94eS5oIgorI2luY2x1ZGUgIlJlbW90ZVJl
bW90ZUNvbW1hbmRMaXN0ZW5lclByb3h5TWVzc2FnZXMuaCIKICNpbmNsdWRlICJSZW1vdGVSZW5k
ZXJpbmdCYWNrZW5kLmgiCiAjaW5jbHVkZSAiUmVtb3RlU2FtcGxlQnVmZmVyRGlzcGxheUxheWVy
TWFuYWdlci5oIgogI2luY2x1ZGUgIlJlbW90ZVNhbXBsZUJ1ZmZlckRpc3BsYXlMYXllck1hbmFn
ZXJNZXNzYWdlcy5oIgpAQCAtMzY2LDEyICszNjcsMjQgQEAgdm9pZCBHUFVDb25uZWN0aW9uVG9X
ZWJQcm9jZXNzOjpyZWxlYXNlR3JhcGhpY3NDb250ZXh0R0woR3JhcGhpY3NDb250ZXh0R0xJZGVu
dGkKICNlbmRpZgogdm9pZCBHUFVDb25uZWN0aW9uVG9XZWJQcm9jZXNzOjpjbGVhck5vd1BsYXlp
bmdJbmZvKCkKIHsKKyAgICBtX2lzQWN0aXZlTm93UGxheWluZ1Byb2Nlc3MgPSBmYWxzZTsKICAg
ICBncHVQcm9jZXNzKCkubm93UGxheWluZ01hbmFnZXIoKS5jbGVhck5vd1BsYXlpbmdJbmZvQ2xp
ZW50KCp0aGlzKTsKIH0KIAogdm9pZCBHUFVDb25uZWN0aW9uVG9XZWJQcm9jZXNzOjpzZXROb3dQ
bGF5aW5nSW5mbyhib29sIHNldEFzTm93UGxheWluZ0FwcGxpY2F0aW9uLCBOb3dQbGF5aW5nSW5m
byYmIG5vd1BsYXlpbmdJbmZvKQogeworICAgIG1faXNBY3RpdmVOb3dQbGF5aW5nUHJvY2VzcyA9
IHRydWU7CiAgICAgZ3B1UHJvY2VzcygpLm5vd1BsYXlpbmdNYW5hZ2VyKCkuc2V0Tm93UGxheWlu
Z0luZm8oKnRoaXMsIFdURk1vdmUobm93UGxheWluZ0luZm8pKTsKKyAgICB1cGRhdGVTdXBwb3J0
ZWRSZW1vdGVDb21tYW5kcygpOworfQorCit2b2lkIEdQVUNvbm5lY3Rpb25Ub1dlYlByb2Nlc3M6
OnVwZGF0ZVN1cHBvcnRlZFJlbW90ZUNvbW1hbmRzKCkKK3sKKyAgICBpZiAoIW1faXNBY3RpdmVO
b3dQbGF5aW5nUHJvY2VzcyB8fCAhbV9yZW1vdGVSZW1vdGVDb21tYW5kTGlzdGVuZXIpCisgICAg
ICAgIHJldHVybjsKKworICAgIGdwdVByb2Nlc3MoKS5ub3dQbGF5aW5nTWFuYWdlcigpLnNldFN1
cHBvcnRlZFJlbW90ZUNvbW1hbmRzKG1fcmVtb3RlUmVtb3RlQ29tbWFuZExpc3RlbmVyLT5zdXBw
b3J0ZWRDb21tYW5kcygpLCBtX3JlbW90ZVJlbW90ZUNvbW1hbmRMaXN0ZW5lci0+c3VwcG9ydHNT
ZWVraW5nKCkpOworCiB9CiAKIHZvaWQgR1BVQ29ubmVjdGlvblRvV2ViUHJvY2Vzczo6ZGlkUmVj
ZWl2ZVJlbW90ZUNvbnRyb2xDb21tYW5kKFBsYXRmb3JtTWVkaWFTZXNzaW9uOjpSZW1vdGVDb250
cm9sQ29tbWFuZFR5cGUgdHlwZSwgY29uc3QgUGxhdGZvcm1NZWRpYVNlc3Npb246OlJlbW90ZUNv
bW1hbmRBcmd1bWVudCYgYXJndW1lbnQpCkBAIC00MzUsMTYgKzQ0OCwxMyBAQCB2b2lkIEdQVUNv
bm5lY3Rpb25Ub1dlYlByb2Nlc3M6OnJlbGVhc2VBdWRpb0hhcmR3YXJlTGlzdGVuZXIoUmVtb3Rl
QXVkaW9IYXJkd2FyZQogCiB2b2lkIEdQVUNvbm5lY3Rpb25Ub1dlYlByb2Nlc3M6OmNyZWF0ZVJl
bW90ZUNvbW1hbmRMaXN0ZW5lcihSZW1vdGVSZW1vdGVDb21tYW5kTGlzdGVuZXJJZGVudGlmaWVy
IGlkZW50aWZpZXIpCiB7Ci0gICAgYXV0byBhZGRSZXN1bHQgPSBtX3JlbW90ZVJlbW90ZUNvbW1h
bmRMaXN0ZW5lck1hcC5lbnN1cmUoaWRlbnRpZmllciwgWyZdKCkgewotICAgICAgICByZXR1cm4g
bWFrZVVuaXF1ZTxSZW1vdGVSZW1vdGVDb21tYW5kTGlzdGVuZXJQcm94eT4oKnRoaXMsIFdURk1v
dmUoaWRlbnRpZmllcikpOwotICAgIH0pOwotICAgIEFTU0VSVF9VTlVTRUQoYWRkUmVzdWx0LCBh
ZGRSZXN1bHQuaXNOZXdFbnRyeSk7CisgICAgbV9yZW1vdGVSZW1vdGVDb21tYW5kTGlzdGVuZXIg
PSBSZW1vdGVSZW1vdGVDb21tYW5kTGlzdGVuZXJQcm94eTo6Y3JlYXRlKCp0aGlzLCBXVEZNb3Zl
KGlkZW50aWZpZXIpKTsKIH0KIAogdm9pZCBHUFVDb25uZWN0aW9uVG9XZWJQcm9jZXNzOjpyZWxl
YXNlUmVtb3RlQ29tbWFuZExpc3RlbmVyKFJlbW90ZVJlbW90ZUNvbW1hbmRMaXN0ZW5lcklkZW50
aWZpZXIgaWRlbnRpZmllcikKIHsKLSAgICBib29sIGZvdW5kID0gbV9yZW1vdGVSZW1vdGVDb21t
YW5kTGlzdGVuZXJNYXAucmVtb3ZlKGlkZW50aWZpZXIpOwotICAgIEFTU0VSVF9VTlVTRUQoZm91
bmQsIGZvdW5kKTsKKyAgICBpZiAobV9yZW1vdGVSZW1vdGVDb21tYW5kTGlzdGVuZXIgJiYgbV9y
ZW1vdGVSZW1vdGVDb21tYW5kTGlzdGVuZXItPmlkZW50aWZpZXIoKSA9PSBpZGVudGlmaWVyKQor
ICAgICAgICBtX3JlbW90ZVJlbW90ZUNvbW1hbmRMaXN0ZW5lciA9IG51bGxwdHI7CiB9CiAKIHZv
aWQgR1BVQ29ubmVjdGlvblRvV2ViUHJvY2Vzczo6c2V0TWVkaWFPdmVycmlkZXNGb3JUZXN0aW5n
KE1lZGlhT3ZlcnJpZGVzRm9yVGVzdGluZyBvdmVycmlkZXMpCkBAIC01NDYsNiArNTU2LDExIEBA
IGJvb2wgR1BVQ29ubmVjdGlvblRvV2ViUHJvY2Vzczo6ZGlzcGF0Y2hNZXNzYWdlKElQQzo6Q29u
bmVjdGlvbiYgY29ubmVjdGlvbiwgSVBDCiAgICAgfQogI2VuZGlmCiAKKyAgICBpZiAobV9yZW1v
dGVSZW1vdGVDb21tYW5kTGlzdGVuZXIgJiYgZGVjb2Rlci5tZXNzYWdlUmVjZWl2ZXJOYW1lKCkg
PT0gTWVzc2FnZXM6OlJlbW90ZVJlbW90ZUNvbW1hbmRMaXN0ZW5lclByb3h5OjptZXNzYWdlUmVj
ZWl2ZXJOYW1lKCkpIHsKKyAgICAgICAgbV9yZW1vdGVSZW1vdGVDb21tYW5kTGlzdGVuZXItPmRp
ZFJlY2VpdmVNZXNzYWdlKGNvbm5lY3Rpb24sIGRlY29kZXIpOworICAgICAgICByZXR1cm4gdHJ1
ZTsKKyAgICB9CisKICAgICByZXR1cm4gbWVzc2FnZVJlY2VpdmVyTWFwKCkuZGlzcGF0Y2hNZXNz
YWdlKGNvbm5lY3Rpb24sIGRlY29kZXIpOwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
L0dQVVByb2Nlc3MvR1BVQ29ubmVjdGlvblRvV2ViUHJvY2Vzcy5oIGIvU291cmNlL1dlYktpdC9H
UFVQcm9jZXNzL0dQVUNvbm5lY3Rpb25Ub1dlYlByb2Nlc3MuaAppbmRleCAyYWZiZWFhNGRiYjgz
MmIwNjJiMzQ0OGY2ZGU0OTlmOGVjMWZhMzFlLi5jMmQwNzg2OWQzYzA1NWUwYjJhYzM4MTIwYzI3
ZGU1YzgxNzk4YWYyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvR1BVQ29u
bmVjdGlvblRvV2ViUHJvY2Vzcy5oCisrKyBiL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9HUFVD
b25uZWN0aW9uVG9XZWJQcm9jZXNzLmgKQEAgLTEyNyw2ICsxMjcsOCBAQCBwdWJsaWM6CiAgICAg
UmVtb3RlSW1hZ2VEZWNvZGVyQVZGUHJveHkmIGltYWdlRGVjb2RlckFWRlByb3h5KCk7CiAjZW5k
aWYKIAorICAgIHZvaWQgdXBkYXRlU3VwcG9ydGVkUmVtb3RlQ29tbWFuZHMoKTsKKwogICAgIHZv
aWQgdGVybWluYXRlV2ViUHJvY2VzcygpOwogCiBwcml2YXRlOgpAQCAtMjQ0LDggKzI0Niw5IEBA
IHByaXZhdGU6CiAKICAgICB1c2luZyBSZW1vdGVBdWRpb0hhcmR3YXJlTGlzdGVuZXJNYXAgPSBI
YXNoTWFwPFJlbW90ZUF1ZGlvSGFyZHdhcmVMaXN0ZW5lcklkZW50aWZpZXIsIHN0ZDo6dW5pcXVl
X3B0cjxSZW1vdGVBdWRpb0hhcmR3YXJlTGlzdGVuZXJQcm94eT4+OwogICAgIFJlbW90ZUF1ZGlv
SGFyZHdhcmVMaXN0ZW5lck1hcCBtX3JlbW90ZUF1ZGlvSGFyZHdhcmVMaXN0ZW5lck1hcDsKLSAg
ICB1c2luZyBSZW1vdGVSZW1vdGVDb21tYW5kTGlzdGVuZXJNYXAgPSBIYXNoTWFwPFJlbW90ZVJl
bW90ZUNvbW1hbmRMaXN0ZW5lcklkZW50aWZpZXIsIHN0ZDo6dW5pcXVlX3B0cjxSZW1vdGVSZW1v
dGVDb21tYW5kTGlzdGVuZXJQcm94eT4+OwotICAgIFJlbW90ZVJlbW90ZUNvbW1hbmRMaXN0ZW5l
ck1hcCBtX3JlbW90ZVJlbW90ZUNvbW1hbmRMaXN0ZW5lck1hcDsKKworICAgIFJlZlB0cjxSZW1v
dGVSZW1vdGVDb21tYW5kTGlzdGVuZXJQcm94eT4gbV9yZW1vdGVSZW1vdGVDb21tYW5kTGlzdGVu
ZXI7CisgICAgYm9vbCBtX2lzQWN0aXZlTm93UGxheWluZ1Byb2Nlc3MgeyBmYWxzZSB9OwogfTsK
IAogfSAvLyBuYW1lc3BhY2UgV2ViS2l0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0dQVVBy
b2Nlc3MvbWVkaWEvUmVtb3RlUmVtb3RlQ29tbWFuZExpc3RlbmVyUHJveHkuY3BwIGIvU291cmNl
L1dlYktpdC9HUFVQcm9jZXNzL21lZGlhL1JlbW90ZVJlbW90ZUNvbW1hbmRMaXN0ZW5lclByb3h5
LmNwcAppbmRleCAyZWM3OWE2NDJjY2EzZmZiMjdjNGM5MDdiMDE4YWNiYmQ0NzI2NWI5Li44M2Q4
N2EwYWYwZTAxYWYzNGM5M2Q4YTgxYmJjMzRlMWUyYjdiNzM1IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0L0dQVVByb2Nlc3MvbWVkaWEvUmVtb3RlUmVtb3RlQ29tbWFuZExpc3RlbmVyUHJveHku
Y3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVSZW1vdGVDb21t
YW5kTGlzdGVuZXJQcm94eS5jcHAKQEAgLTI5LDYgKzI5LDcgQEAKICNpZiBFTkFCTEUoR1BVX1BS
T0NFU1MpCiAKICNpbmNsdWRlICJHUFVDb25uZWN0aW9uVG9XZWJQcm9jZXNzLmgiCisjaW5jbHVk
ZSAiR1BVUHJvY2Vzcy5oIgogI2luY2x1ZGUgIlJlbW90ZVJlbW90ZUNvbW1hbmRMaXN0ZW5lck1l
c3NhZ2VzLmgiCiAKIG5hbWVzcGFjZSBXZWJLaXQgewpAQCAtMzgsMjQgKzM5LDE5IEBAIHVzaW5n
IG5hbWVzcGFjZSBXZWJDb3JlOwogUmVtb3RlUmVtb3RlQ29tbWFuZExpc3RlbmVyUHJveHk6OlJl
bW90ZVJlbW90ZUNvbW1hbmRMaXN0ZW5lclByb3h5KEdQVUNvbm5lY3Rpb25Ub1dlYlByb2Nlc3Mm
IGdwdUNvbm5lY3Rpb24sIFJlbW90ZVJlbW90ZUNvbW1hbmRMaXN0ZW5lcklkZW50aWZpZXImJiBp
ZGVudGlmaWVyKQogICAgIDogbV9ncHVDb25uZWN0aW9uKG1ha2VXZWFrUHRyKGdwdUNvbm5lY3Rp
b24pKQogICAgICwgbV9pZGVudGlmaWVyKFdURk1vdmUoaWRlbnRpZmllcikpCi0gICAgLCBtX2xp
c3RlbmVyKFdlYkNvcmU6OlJlbW90ZUNvbW1hbmRMaXN0ZW5lcjo6Y3JlYXRlKCp0aGlzKSkKIHsK
IH0KIAogUmVtb3RlUmVtb3RlQ29tbWFuZExpc3RlbmVyUHJveHk6On5SZW1vdGVSZW1vdGVDb21t
YW5kTGlzdGVuZXJQcm94eSgpID0gZGVmYXVsdDsKIAotdm9pZCBSZW1vdGVSZW1vdGVDb21tYW5k
TGlzdGVuZXJQcm94eTo6ZGlkUmVjZWl2ZVJlbW90ZUNvbnRyb2xDb21tYW5kKFBsYXRmb3JtTWVk
aWFTZXNzaW9uOjpSZW1vdGVDb250cm9sQ29tbWFuZFR5cGUgY29tbWFuZCwgY29uc3QgUGxhdGZv
cm1NZWRpYVNlc3Npb246OlJlbW90ZUNvbW1hbmRBcmd1bWVudCYgYXJndW1lbnQpCit2b2lkIFJl
bW90ZVJlbW90ZUNvbW1hbmRMaXN0ZW5lclByb3h5Ojp1cGRhdGVTdXBwb3J0ZWRDb21tYW5kcyhW
ZWN0b3I8V2ViQ29yZTo6UGxhdGZvcm1NZWRpYVNlc3Npb246OlJlbW90ZUNvbnRyb2xDb21tYW5k
VHlwZT4mJiByZWdpc3RlcmVkQ29tbWFuZHMsIGJvb2wgc3VwcG9ydHNTZWVraW5nKQogewotICAg
IGlmICghbV9ncHVDb25uZWN0aW9uKQotICAgICAgICByZXR1cm47CisgICAgbV9zdXBwb3J0ZWRD
b21tYW5kcy5jbGVhcigpOworICAgIG1fc3VwcG9ydGVkQ29tbWFuZHMuYWRkKHJlZ2lzdGVyZWRD
b21tYW5kcy5iZWdpbigpLCByZWdpc3RlcmVkQ29tbWFuZHMuZW5kKCkpOworICAgIG1fc3VwcG9y
dHNTZWVraW5nID0gc3VwcG9ydHNTZWVraW5nOwogCi0gICAgbV9ncHVDb25uZWN0aW9uLT5jb25u
ZWN0aW9uKCkuc2VuZChNZXNzYWdlczo6UmVtb3RlUmVtb3RlQ29tbWFuZExpc3RlbmVyOjpEaWRS
ZWNlaXZlUmVtb3RlQ29udHJvbENvbW1hbmQoY29tbWFuZCwgYXJndW1lbnQpLCBtX2lkZW50aWZp
ZXIpOwotfQotCi12b2lkIFJlbW90ZVJlbW90ZUNvbW1hbmRMaXN0ZW5lclByb3h5Ojp1cGRhdGVT
dXBwb3J0ZWRDb21tYW5kcyhib29sIHN1cHBvcnRzU2Vla2luZykKLXsKLSAgICBtX2xpc3RlbmVy
LT5zZXRTdXBwb3J0c1NlZWtpbmcoc3VwcG9ydHNTZWVraW5nKTsKLSAgICBtX2xpc3RlbmVyLT51
cGRhdGVTdXBwb3J0ZWRDb21tYW5kcygpOworICAgIGlmIChtX2dwdUNvbm5lY3Rpb24pCisgICAg
ICAgIG1fZ3B1Q29ubmVjdGlvbi0+dXBkYXRlU3VwcG9ydGVkUmVtb3RlQ29tbWFuZHMoKTsKIH0K
IAogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL21lZGlhL1JlbW90ZVJl
bW90ZUNvbW1hbmRMaXN0ZW5lclByb3h5LmggYi9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvbWVk
aWEvUmVtb3RlUmVtb3RlQ29tbWFuZExpc3RlbmVyUHJveHkuaAppbmRleCA5ZWE3ZGVhOTEyYzQ4
MDU2ZTU0NGFjMGM3MzhhYTA1ZWYxMGM1NzBhLi4zMjg2YjAxOThjOTBhMjJiYzUyYjFhYWVhYTAz
Nzg3OGY4YjA0ODYzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvbWVkaWEv
UmVtb3RlUmVtb3RlQ29tbWFuZExpc3RlbmVyUHJveHkuaAorKysgYi9Tb3VyY2UvV2ViS2l0L0dQ
VVByb2Nlc3MvbWVkaWEvUmVtb3RlUmVtb3RlQ29tbWFuZExpc3RlbmVyUHJveHkuaApAQCAtMzAs
NiArMzAsNyBAQAogI2luY2x1ZGUgIk1lc3NhZ2VSZWNlaXZlci5oIgogI2luY2x1ZGUgIlJlbW90
ZVJlbW90ZUNvbW1hbmRMaXN0ZW5lcklkZW50aWZpZXIuaCIKICNpbmNsdWRlIDxXZWJDb3JlL1Jl
bW90ZUNvbW1hbmRMaXN0ZW5lci5oPgorI2luY2x1ZGUgPHd0Zi9SZXRhaW5QdHIuaD4KICNpbmNs
dWRlIDx3dGYvVW5pcXVlUmVmLmg+CiAjaW5jbHVkZSA8d3RmL1dlYWtQdHIuaD4KIApAQCAtNDEs
MjcgKzQyLDM0IEBAIG5hbWVzcGFjZSBXZWJLaXQgewogCiBjbGFzcyBHUFVDb25uZWN0aW9uVG9X
ZWJQcm9jZXNzOwogCi1jbGFzcyBSZW1vdGVSZW1vdGVDb21tYW5kTGlzdGVuZXJQcm94eQotICAg
IDogcHJpdmF0ZSBXZWJDb3JlOjpSZW1vdGVDb21tYW5kTGlzdGVuZXJDbGllbnQKLSAgICAsIHBy
aXZhdGUgSVBDOjpNZXNzYWdlUmVjZWl2ZXIgeworY2xhc3MgUmVtb3RlUmVtb3RlQ29tbWFuZExp
c3RlbmVyUHJveHkgOiBwdWJsaWMgUmVmQ291bnRlZDxSZW1vdGVSZW1vdGVDb21tYW5kTGlzdGVu
ZXJQcm94eT4sIHByaXZhdGUgSVBDOjpNZXNzYWdlUmVjZWl2ZXIgewogICAgIFdURl9NQUtFX0ZB
U1RfQUxMT0NBVEVEOwogcHVibGljOgotICAgIFJlbW90ZVJlbW90ZUNvbW1hbmRMaXN0ZW5lclBy
b3h5KEdQVUNvbm5lY3Rpb25Ub1dlYlByb2Nlc3MmLCBSZW1vdGVSZW1vdGVDb21tYW5kTGlzdGVu
ZXJJZGVudGlmaWVyJiYpOworICAgIHN0YXRpYyBSZWY8UmVtb3RlUmVtb3RlQ29tbWFuZExpc3Rl
bmVyUHJveHk+IGNyZWF0ZShHUFVDb25uZWN0aW9uVG9XZWJQcm9jZXNzJiBwcm9jZXNzLCBSZW1v
dGVSZW1vdGVDb21tYW5kTGlzdGVuZXJJZGVudGlmaWVyJiYgaWRlbnRpZmllcikKKyAgICB7Cisg
ICAgICAgIHJldHVybiBhZG9wdFJlZigqbmV3IFJlbW90ZVJlbW90ZUNvbW1hbmRMaXN0ZW5lclBy
b3h5KHByb2Nlc3MsIFdURk1vdmUoaWRlbnRpZmllcikpKTsKKyAgICB9CisKICAgICB2aXJ0dWFs
IH5SZW1vdGVSZW1vdGVDb21tYW5kTGlzdGVuZXJQcm94eSgpOwogCi1wcml2YXRlOgorICAgIGJv
b2wgc3VwcG9ydHNTZWVraW5nKCkgY29uc3QgeyByZXR1cm4gbV9zdXBwb3J0c1NlZWtpbmc7IH0K
KyAgICBjb25zdCBXZWJDb3JlOjpSZW1vdGVDb21tYW5kTGlzdGVuZXI6OlJlbW90ZUNvbW1hbmRz
U2V0JiBzdXBwb3J0ZWRDb21tYW5kcygpIGNvbnN0IHsgcmV0dXJuIG1fc3VwcG9ydGVkQ29tbWFu
ZHM7IH0KKworICAgIFJlbW90ZVJlbW90ZUNvbW1hbmRMaXN0ZW5lcklkZW50aWZpZXIgaWRlbnRp
ZmllcigpIGNvbnN0IHsgcmV0dXJuIG1faWRlbnRpZmllcjsgfQorCiAgICAgLy8gSVBDOjpNZXNz
YWdlUmVjZWl2ZXIKICAgICB2b2lkIGRpZFJlY2VpdmVNZXNzYWdlKElQQzo6Q29ubmVjdGlvbiYs
IElQQzo6RGVjb2RlciYpIGZpbmFsOwogCi0gICAgLy8gUmVtb3RlQ29tbWFuZExpc3RlbmVyQ2xp
ZW50Ci0gICAgdm9pZCBkaWRSZWNlaXZlUmVtb3RlQ29udHJvbENvbW1hbmQoV2ViQ29yZTo6UGxh
dGZvcm1NZWRpYVNlc3Npb246OlJlbW90ZUNvbnRyb2xDb21tYW5kVHlwZSwgY29uc3QgV2ViQ29y
ZTo6UGxhdGZvcm1NZWRpYVNlc3Npb246OlJlbW90ZUNvbW1hbmRBcmd1bWVudCYpIGZpbmFsOwor
cHJpdmF0ZToKKyAgICBSZW1vdGVSZW1vdGVDb21tYW5kTGlzdGVuZXJQcm94eShHUFVDb25uZWN0
aW9uVG9XZWJQcm9jZXNzJiwgUmVtb3RlUmVtb3RlQ29tbWFuZExpc3RlbmVySWRlbnRpZmllciYm
KTsKIAogICAgIC8vIE1lc3NhZ2VzCi0gICAgdm9pZCB1cGRhdGVTdXBwb3J0ZWRDb21tYW5kcyhi
b29sIHN1cHBvcnRzU2Vla2luZyk7CisgICAgdm9pZCB1cGRhdGVTdXBwb3J0ZWRDb21tYW5kcyhW
ZWN0b3I8V2ViQ29yZTo6UGxhdGZvcm1NZWRpYVNlc3Npb246OlJlbW90ZUNvbnRyb2xDb21tYW5k
VHlwZT4mJiBjb21tYW5kcywgYm9vbCBzdXBwb3J0c1NlZWtpbmcpOwogCiAgICAgV2Vha1B0cjxH
UFVDb25uZWN0aW9uVG9XZWJQcm9jZXNzPiBtX2dwdUNvbm5lY3Rpb247CiAgICAgUmVtb3RlUmVt
b3RlQ29tbWFuZExpc3RlbmVySWRlbnRpZmllciBtX2lkZW50aWZpZXI7Ci0gICAgc3RkOjp1bmlx
dWVfcHRyPFdlYkNvcmU6OlJlbW90ZUNvbW1hbmRMaXN0ZW5lcj4gbV9saXN0ZW5lcjsKKyAgICBX
ZWJDb3JlOjpSZW1vdGVDb21tYW5kTGlzdGVuZXI6OlJlbW90ZUNvbW1hbmRzU2V0IG1fc3VwcG9y
dGVkQ29tbWFuZHM7CisgICAgYm9vbCBtX3N1cHBvcnRzU2Vla2luZyB7IGZhbHNlIH07CiB9Owog
CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvbWVkaWEvUmVtb3RlUmVt
b3RlQ29tbWFuZExpc3RlbmVyUHJveHkubWVzc2FnZXMuaW4gYi9Tb3VyY2UvV2ViS2l0L0dQVVBy
b2Nlc3MvbWVkaWEvUmVtb3RlUmVtb3RlQ29tbWFuZExpc3RlbmVyUHJveHkubWVzc2FnZXMuaW4K
aW5kZXggMzQwOTM0YzI0ZDE3MjBhN2FlOGNlZDY3Zjk4ZDMwNGUzYjQyYWNiYi4uYjEyMjRmNDEx
ZDQ1MjI1ZmJkMDkzMjc5MGUyMWVmYzM4N2E0OWQzMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dC9HUFVQcm9jZXNzL21lZGlhL1JlbW90ZVJlbW90ZUNvbW1hbmRMaXN0ZW5lclByb3h5Lm1lc3Nh
Z2VzLmluCisrKyBiL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVSZW1vdGVD
b21tYW5kTGlzdGVuZXJQcm94eS5tZXNzYWdlcy5pbgpAQCAtMjYsNyArMjYsNyBAQAogI2lmIEVO
QUJMRShHUFVfUFJPQ0VTUykKIAogbWVzc2FnZXMgLT4gUmVtb3RlUmVtb3RlQ29tbWFuZExpc3Rl
bmVyUHJveHkgTm90UmVmQ291bnRlZCB7Ci0gICAgVXBkYXRlU3VwcG9ydGVkQ29tbWFuZHMoYm9v
bCBzdXBwb3J0c1NlZWtpbmcpCisgICAgVXBkYXRlU3VwcG9ydGVkQ29tbWFuZHMoVmVjdG9yPFdl
YkNvcmU6OlBsYXRmb3JtTWVkaWFTZXNzaW9uOjpSZW1vdGVDb250cm9sQ29tbWFuZFR5cGU+IGNv
bW1hbmRzLCBib29sIHN1cHBvcnRzU2Vla2luZykKIH0KIAogI2VuZGlmCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BVL21lZGlhL1JlbW90ZVJlbW90ZUNvbW1hbmRMaXN0
ZW5lci5jcHAgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BVL21lZGlhL1JlbW90ZVJlbW90
ZUNvbW1hbmRMaXN0ZW5lci5jcHAKaW5kZXggNjRhODM4ZjQwNzc5MWFlZDUxNGFjNDIwNmUzN2Nj
NWZkYTEwODliNy4uNWNhMzg4MjlkY2RhYzc0ZDQ2YmE4OWIxMTE1ODU5ZDk4NjIzMmNhZCAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQVS9tZWRpYS9SZW1vdGVSZW1vdGVD
b21tYW5kTGlzdGVuZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUvbWVk
aWEvUmVtb3RlUmVtb3RlQ29tbWFuZExpc3RlbmVyLmNwcApAQCAtMzEsNiArMzEsNyBAQAogI2lu
Y2x1ZGUgIkdQVUNvbm5lY3Rpb25Ub1dlYlByb2Nlc3NNZXNzYWdlcy5oIgogI2luY2x1ZGUgIkdQ
VVByb2Nlc3NQcm94eS5oIgogI2luY2x1ZGUgIlJlbW90ZVJlbW90ZUNvbW1hbmRMaXN0ZW5lck1l
c3NhZ2VzLmgiCisjaW5jbHVkZSAiUmVtb3RlUmVtb3RlQ29tbWFuZExpc3RlbmVyUHJveHlNZXNz
YWdlcy5oIgogI2luY2x1ZGUgIldlYlByb2Nlc3MuaCIKIAogbmFtZXNwYWNlIFdlYktpdCB7CkBA
IC00Nyw3ICs0OCw3IEBAIFJlbW90ZVJlbW90ZUNvbW1hbmRMaXN0ZW5lcjo6UmVtb3RlUmVtb3Rl
Q29tbWFuZExpc3RlbmVyKFJlbW90ZUNvbW1hbmRMaXN0ZW5lckNsCiAgICAgLCBtX3Byb2Nlc3Mo
d2ViUHJvY2VzcykKICAgICAsIG1faWRlbnRpZmllcihSZW1vdGVSZW1vdGVDb21tYW5kTGlzdGVu
ZXJJZGVudGlmaWVyOjpnZW5lcmF0ZSgpKQogewotICAgIGF1dG8mIGNvbm5lY3Rpb24gPSBXZWJQ
cm9jZXNzOjpzaW5nbGV0b24oKS5lbnN1cmVHUFVQcm9jZXNzQ29ubmVjdGlvbigpOworICAgIGF1
dG8mIGNvbm5lY3Rpb24gPSBtX3Byb2Nlc3MuZW5zdXJlR1BVUHJvY2Vzc0Nvbm5lY3Rpb24oKTsK
ICAgICBjb25uZWN0aW9uLmFkZENsaWVudCgqdGhpcyk7CiAgICAgY29ubmVjdGlvbi5tZXNzYWdl
UmVjZWl2ZXJNYXAoKS5hZGRNZXNzYWdlUmVjZWl2ZXIoTWVzc2FnZXM6OlJlbW90ZVJlbW90ZUNv
bW1hbmRMaXN0ZW5lcjo6bWVzc2FnZVJlY2VpdmVyTmFtZSgpLCBtX2lkZW50aWZpZXIudG9VSW50
NjQoKSwgKnRoaXMpOwogICAgIGNvbm5lY3Rpb24uY29ubmVjdGlvbigpLnNlbmQoTWVzc2FnZXM6
OkdQVUNvbm5lY3Rpb25Ub1dlYlByb2Nlc3M6OkNyZWF0ZVJlbW90ZUNvbW1hbmRMaXN0ZW5lciht
X2lkZW50aWZpZXIpLCB7IH0pOwpAQCAtNTUsNyArNTYsNyBAQCBSZW1vdGVSZW1vdGVDb21tYW5k
TGlzdGVuZXI6OlJlbW90ZVJlbW90ZUNvbW1hbmRMaXN0ZW5lcihSZW1vdGVDb21tYW5kTGlzdGVu
ZXJDbAogCiBSZW1vdGVSZW1vdGVDb21tYW5kTGlzdGVuZXI6On5SZW1vdGVSZW1vdGVDb21tYW5k
TGlzdGVuZXIoKQogewotICAgIGF1dG8mIGNvbm5lY3Rpb24gPSBXZWJQcm9jZXNzOjpzaW5nbGV0
b24oKS5lbnN1cmVHUFVQcm9jZXNzQ29ubmVjdGlvbigpOworICAgIGF1dG8mIGNvbm5lY3Rpb24g
PSBtX3Byb2Nlc3MuZW5zdXJlR1BVUHJvY2Vzc0Nvbm5lY3Rpb24oKTsKICAgICBjb25uZWN0aW9u
Lm1lc3NhZ2VSZWNlaXZlck1hcCgpLnJlbW92ZU1lc3NhZ2VSZWNlaXZlcigqdGhpcyk7CiAgICAg
Y29ubmVjdGlvbi5jb25uZWN0aW9uKCkuc2VuZChNZXNzYWdlczo6R1BVQ29ubmVjdGlvblRvV2Vi
UHJvY2Vzczo6UmVsZWFzZVJlbW90ZUNvbW1hbmRMaXN0ZW5lcihtX2lkZW50aWZpZXIpLCAwKTsK
IH0KQEAgLTY2LDcgKzY3LDI0IEBAIHZvaWQgUmVtb3RlUmVtb3RlQ29tbWFuZExpc3RlbmVyOjpn
cHVQcm9jZXNzQ29ubmVjdGlvbkRpZENsb3NlKEdQVVByb2Nlc3NDb25uZWN0CiAKIHZvaWQgUmVt
b3RlUmVtb3RlQ29tbWFuZExpc3RlbmVyOjpkaWRSZWNlaXZlUmVtb3RlQ29udHJvbENvbW1hbmQo
V2ViQ29yZTo6UGxhdGZvcm1NZWRpYVNlc3Npb246OlJlbW90ZUNvbnRyb2xDb21tYW5kVHlwZSB0
eXBlLCBjb25zdCBQbGF0Zm9ybU1lZGlhU2Vzc2lvbjo6UmVtb3RlQ29tbWFuZEFyZ3VtZW50JiBh
cmd1bWVudCkKIHsKLSAgICBtX2NsaWVudC5kaWRSZWNlaXZlUmVtb3RlQ29udHJvbENvbW1hbmQo
dHlwZSwgYXJndW1lbnQpOworICAgIGNsaWVudCgpLmRpZFJlY2VpdmVSZW1vdGVDb250cm9sQ29t
bWFuZCh0eXBlLCBhcmd1bWVudCk7Cit9CisKK3ZvaWQgUmVtb3RlUmVtb3RlQ29tbWFuZExpc3Rl
bmVyOjp1cGRhdGVTdXBwb3J0ZWRDb21tYW5kcygpCit7CisgICAgYXV0byYgc3VwcG9ydGVkQ29t
bWFuZHMgPSB0aGlzLT5zdXBwb3J0ZWRDb21tYW5kcygpOworICAgIGlmIChtX2N1cnJlbnRDb21t
YW5kcyA9PSBzdXBwb3J0ZWRDb21tYW5kcyAmJiBtX2N1cnJlbnRTdXBwb3J0U2Vla2luZyA9PSBz
dXBwb3J0c1NlZWtpbmcoKSkKKyAgICAgICAgcmV0dXJuOworCisgICAgbV9jdXJyZW50Q29tbWFu
ZHMgPSBzdXBwb3J0ZWRDb21tYW5kczsKKyAgICBtX2N1cnJlbnRTdXBwb3J0U2Vla2luZyA9IHN1
cHBvcnRzU2Vla2luZygpOworCisgICAgVmVjdG9yPFBsYXRmb3JtTWVkaWFTZXNzaW9uOjpSZW1v
dGVDb250cm9sQ29tbWFuZFR5cGU+IGNvbW1hbmRzOworICAgIGNvbW1hbmRzLnJlc2VydmVJbml0
aWFsQ2FwYWNpdHkoc3VwcG9ydGVkQ29tbWFuZHMuc2l6ZSgpKTsKKyAgICBmb3IgKGF1dG8gY29t
bWFuZCA6IHN1cHBvcnRlZENvbW1hbmRzKQorICAgICAgICBjb21tYW5kcy51bmNoZWNrZWRBcHBl
bmQoY29tbWFuZCk7CisKKyAgICBtX3Byb2Nlc3MuZW5zdXJlR1BVUHJvY2Vzc0Nvbm5lY3Rpb24o
KS5jb25uZWN0aW9uKCkuc2VuZChNZXNzYWdlczo6UmVtb3RlUmVtb3RlQ29tbWFuZExpc3RlbmVy
UHJveHk6OlVwZGF0ZVN1cHBvcnRlZENvbW1hbmRzIHsgV1RGTW92ZShjb21tYW5kcyksIG1fY3Vy
cmVudFN1cHBvcnRTZWVraW5nIH0sIG1faWRlbnRpZmllcik7CiB9CiAKIH0KZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUvbWVkaWEvUmVtb3RlUmVtb3RlQ29tbWFuZExp
c3RlbmVyLmggYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BVL21lZGlhL1JlbW90ZVJlbW90
ZUNvbW1hbmRMaXN0ZW5lci5oCmluZGV4IGY5YTRmY2VmN2M2ZTA0YmJmNWVlMTU3ZGE1NWE2M2Fi
MGNmZGJkN2EuLmU0YjEzMGYzN2NiZjA5NTAzYjBjNjkyNTk1N2EwOWZkNWMyODVmMTUgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUvbWVkaWEvUmVtb3RlUmVtb3RlQ29t
bWFuZExpc3RlbmVyLmgKKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQVS9tZWRpYS9S
ZW1vdGVSZW1vdGVDb21tYW5kTGlzdGVuZXIuaApAQCAtNjEsOCArNjEsMTIgQEAgcHJpdmF0ZToK
ICAgICAvLyBNZXNzYWdlcwogICAgIHZvaWQgZGlkUmVjZWl2ZVJlbW90ZUNvbnRyb2xDb21tYW5k
KFdlYkNvcmU6OlBsYXRmb3JtTWVkaWFTZXNzaW9uOjpSZW1vdGVDb250cm9sQ29tbWFuZFR5cGUs
IGNvbnN0IFdlYkNvcmU6OlBsYXRmb3JtTWVkaWFTZXNzaW9uOjpSZW1vdGVDb21tYW5kQXJndW1l
bnQmKTsKIAorICAgIHZvaWQgdXBkYXRlU3VwcG9ydGVkQ29tbWFuZHMoKSBmaW5hbDsKKwogICAg
IFdlYlByb2Nlc3MmIG1fcHJvY2VzczsKICAgICBSZW1vdGVSZW1vdGVDb21tYW5kTGlzdGVuZXJJ
ZGVudGlmaWVyIG1faWRlbnRpZmllcjsKKyAgICBXZWJDb3JlOjpSZW1vdGVDb21tYW5kTGlzdGVu
ZXI6OlJlbW90ZUNvbW1hbmRzU2V0IG1fY3VycmVudENvbW1hbmRzOworICAgIGJvb2wgbV9jdXJy
ZW50U3VwcG9ydFNlZWtpbmcgeyBmYWxzZSB9OwogfTsKIAogfQo=
</data>
<flag name="commit-queue"
          id="441372"
          type_id="3"
          status="-"
          setter="ews-feeder"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>422312</attachid>
            <date>2021-03-04 16:49:09 -0800</date>
            <delta_ts>2021-03-05 07:50:31 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-222759-20210304164909.patch</filename>
            <type>text/plain</type>
            <size>36796</size>
            <attacher name="Eric Carlson">eric.carlson</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjczOTE5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMThkNWZhM2EwODFkZDQx
MzYwNTI2ZmRkODkwOTA3NTE3ZDk3MGRkZi4uYmE5ZmIyZjE0NjZjYTZkMmMwNzFhNzY3MzBlNDNi
MjcxYTM4M2E4YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQ5IEBACisyMDIxLTAzLTA0ICBFcmlj
IENhcmxzb24gIDxlcmljLmNhcmxzb25AYXBwbGUuY29tPgorCisgICAgICAgIFtHUFUgUHJvY2Vz
c10gUmVtb3RlIGNvbnRyb2wgY29tbWFuZCBzaG91bGQgb25seSBnbyB0byB0aGUgY3VycmVudCBO
b3dQbGF5aW5nIHNlc3Npb24KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTIyMjc1OQorICAgICAgICA8cmRhcjovL3Byb2JsZW0vNzUwNTMzOTM+CisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgRG9uJ3QgcmVnaXN0
ZXIgYSByZW1vdGUgY29tbWFuZCBsaXN0ZW5lciBmb3IgZXZlcnkgd2ViIHByb2Nlc3MsIG9yIGV2
ZXJ5IHJlbW90ZSBjb250cm9sCisgICAgICAgIGNvbW1hbmRzIHdpbGwgZ28gdG8gZXZlcnkgd2Vi
IHByb2Nlc3MuIEluc3RlYWQsIHJlZ2lzdGVyIGEgc2luZ2xlIGxpc3RlbmVyIGZvciB0aGUKKyAg
ICAgICAgR1BVIHByb2Nlc3MgYW5kIHJvdXRlIGNvbW1hbmRzIHRvIG9ubHkgdGhlIGN1cnJlbnQg
Tm93UGxheWluZyBwcm9jZXNzLgorCisgICAgICAgIFRlc3RlZCBtYW51YWxseS4KKworICAgICAg
ICAqIGh0bWwvSFRNTE1lZGlhRWxlbWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpIVE1MTWVk
aWFFbGVtZW50OjpkaWRSZWNlaXZlUmVtb3RlQ29udHJvbENvbW1hbmQpOiBEcml2ZS1ieTogU2tp
cEZvcndhcmQKKyAgICAgICAgYW5kIFNraXBCYWNrd2FyZHMgc2hvdWxkIHNlZWsgcmVsYXRpdmUg
dG8gY3VycmVudCB0aW1lLgorCisgICAgICAgICogcGxhdGZvcm0vTm93UGxheWluZ01hbmFnZXIu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6Tm93UGxheWluZ01hbmFnZXI6OnNldFN1cHBvcnRlZFJl
bW90ZUNvbW1hbmRzKTogTmV3LCBwYXNzIHRocm91Z2ggdG8gdGhlCisgICAgICAgIGNvbW1hbmQg
bGlzdGVuZXIuCisgICAgICAgICogcGxhdGZvcm0vTm93UGxheWluZ01hbmFnZXIuaDoKKworICAg
ICAgICAqIHBsYXRmb3JtL1JlbW90ZUNvbW1hbmRMaXN0ZW5lci5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpSZW1vdGVDb21tYW5kTGlzdGVuZXI6OmFkZFN1cHBvcnRlZENvbW1hbmQpOiBtX3JlZ2lz
dGVyZWRDb21tYW5kcyAtPiBtX3N1cHBvcnRlZENvbW1hbmRzLgorICAgICAgICAoV2ViQ29yZTo6
UmVtb3RlQ29tbWFuZExpc3RlbmVyOjpyZW1vdmVTdXBwb3J0ZWRDb21tYW5kKTogRGl0dG8uCisg
ICAgICAgIChXZWJDb3JlOjpSZW1vdGVDb21tYW5kTGlzdGVuZXI6OnNldFN1cHBvcnRlZENvbW1h
bmRzKTogRGl0dG8uIFNjaGVkdWxlIHVwZGF0ZS4KKyAgICAgICAgKFdlYkNvcmU6OlJlbW90ZUNv
bW1hbmRMaXN0ZW5lcjo6dXBkYXRlU3VwcG9ydGVkQ29tbWFuZHMpOgorICAgICAgICAqIHBsYXRm
b3JtL1JlbW90ZUNvbW1hbmRMaXN0ZW5lci5oOgorCisgICAgICAgICogcGxhdGZvcm0vYXVkaW8v
Tm93UGxheWluZ0luZm8uaDoKKyAgICAgICAgKFdlYkNvcmU6Ok5vd1BsYXlpbmdJbmZvOjpvcGVy
YXRvcj09IGNvbnN0KTogQWRkIG9wZXJhdG9yIHNvIHdlIGNhbiBhdm9pZCB1cGRhdGluZworICAg
ICAgICB3aGVuIG5vdGhpbmcgaGFzIGNoYW5nZWQuCisgICAgICAgIChXZWJDb3JlOjpOb3dQbGF5
aW5nSW5mbzo6b3BlcmF0b3IhPSBjb25zdCk6CisKKyAgICAgICAgKiBwbGF0Zm9ybS9hdWRpby9j
b2NvYS9NZWRpYVNlc3Npb25NYW5hZ2VyQ29jb2EuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9hdWRp
by9jb2NvYS9NZWRpYVNlc3Npb25NYW5hZ2VyQ29jb2EubW06CisgICAgICAgIChXZWJDb3JlOjpN
ZWRpYVNlc3Npb25NYW5hZ2VyQ29jb2E6OnNldE5vd1BsYXlpbmdJbmZvKTogQWx3YXlzIHNldCBz
dHJpbmcgcHJvcGVydGllcworICAgICAgICBzbyB3ZSBkb24ndCBzaG93IHN0YWxlIGluZm9ybWF0
aW9uIGFmdGVyIHN3aXRjaGluZyB0byBhIHNlc3Npb24gdGhhdCBkb2Vzbid0IHByb3ZpZGUKKyAg
ICAgICAgYWxsIG9mIHRoZSBzYW1lIHByb3BlcnRpZXMuCisgICAgICAgIChXZWJDb3JlOjpNZWRp
YVNlc3Npb25NYW5hZ2VyQ29jb2E6OnVwZGF0ZU5vd1BsYXlpbmdJbmZvKTogT25seSB1cGRhdGUg
d2hlbiB3ZSBoYXZlCisgICAgICAgIG5ldyBzdGF0ZS4KKworICAgICAgICAqIHBsYXRmb3JtL21h
Yy9NZWRpYVJlbW90ZVNvZnRMaW5rLmg6CisgICAgICAgICogcGxhdGZvcm0vbWFjL01lZGlhUmVt
b3RlU29mdExpbmsubW06IFNvZnQgbGluayBrTVJNZWRpYVJlbW90ZUNvbW1hbmRJbmZvUHJlZmVy
cmVkSW50ZXJ2YWxzS2V5LgorCiAyMDIxLTAzLTA0ICBaYWxhbiBCdWp0YXMgIDx6YWxhbkBhcHBs
ZS5jb20+CiAKICAgICAgICAgW0xGQ11bSUZDXSBMaW5lU3RhdHVzOjphdmFpbGFibGVXaWR0aCBz
aG91bGQgYWx3YXlzIGJlIGEgdmFsaWQgbnVtYmVyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
L0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IGMyY2I3MDRmZGM1MTMz
OTkxNDdhNzgzMzVmYzYzMzA2NTc4ZDM0OTAuLjVkNDc0ZWY0ODQ0MTVmZWE5OWIyYjI3MzBkM2Uw
N2ZmNTVjZjhjZjQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNDYgQEAKKzIwMjEtMDMtMDQgIEVyaWMg
Q2FybHNvbiAgPGVyaWMuY2FybHNvbkBhcHBsZS5jb20+CisKKyAgICAgICAgW0dQVSBQcm9jZXNz
XSBSZW1vdGUgY29udHJvbCBjb21tYW5kIHNob3VsZCBvbmx5IGdvIHRvIHRoZSBjdXJyZW50IE5v
d1BsYXlpbmcgc2Vzc2lvbgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9MjIyNzU5CisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS83NTA1MzM5Mz4KKworICAg
ICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIEdQVVByb2Nlc3Mv
R1BVQ29ubmVjdGlvblRvV2ViUHJvY2Vzcy5jcHA6CisgICAgICAgIChXZWJLaXQ6OkdQVUNvbm5l
Y3Rpb25Ub1dlYlByb2Nlc3M6OmNsZWFyTm93UGxheWluZ0luZm8pOiBUcmFjayBiZWluZyB0aGUg
YWN0aXZlCisgICAgICAgIE5vd1BsYXlpbmcgcHJvY2Vzcy4KKyAgICAgICAgKFdlYktpdDo6R1BV
Q29ubmVjdGlvblRvV2ViUHJvY2Vzczo6c2V0Tm93UGxheWluZ0luZm8pOiBEaXR0by4KKyAgICAg
ICAgKFdlYktpdDo6R1BVQ29ubmVjdGlvblRvV2ViUHJvY2Vzczo6dXBkYXRlU3VwcG9ydGVkUmVt
b3RlQ29tbWFuZHMpOiBQYXNzIHN1cHBvcnRlZAorICAgICAgICBjb21tYW5kcyBhbmQgc2Vla2lu
ZyB0byBOb3dQbGF5aW5nTWFuYWdlciBzbyBpdCBjYW4gcGFzcyB0aGVtIHRvIHRoZSByZW1vdGUg
Y29tbWFuZAorICAgICAgICBsaXN0ZW5lci4KKyAgICAgICAgKFdlYktpdDo6R1BVQ29ubmVjdGlv
blRvV2ViUHJvY2Vzczo6Y3JlYXRlUmVtb3RlQ29tbWFuZExpc3RlbmVyKTogV2Ugb25seSBldmVy
IG5lZWQKKyAgICAgICAgb25lIGxpc3RlbmVyLgorICAgICAgICAoV2ViS2l0OjpHUFVDb25uZWN0
aW9uVG9XZWJQcm9jZXNzOjpyZWxlYXNlUmVtb3RlQ29tbWFuZExpc3RlbmVyKTogRGl0dG8uCisg
ICAgICAgIChXZWJLaXQ6OkdQVUNvbm5lY3Rpb25Ub1dlYlByb2Nlc3M6OmRpc3BhdGNoTWVzc2Fn
ZSk6IERpc3BhdGNoIFJlbW90ZVJlbW90ZUNvbW1hbmRMaXN0ZW5lclByb3h5CisgICAgICAgIG1l
c3NhZ2VzLgorICAgICAgICAqIEdQVVByb2Nlc3MvR1BVQ29ubmVjdGlvblRvV2ViUHJvY2Vzcy5o
OgorCisgICAgICAgICogR1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVSZW1vdGVDb21tYW5kTGlzdGVu
ZXJQcm94eS5jcHA6CisgICAgICAgIChXZWJLaXQ6OlJlbW90ZVJlbW90ZUNvbW1hbmRMaXN0ZW5l
clByb3h5OjpSZW1vdGVSZW1vdGVDb21tYW5kTGlzdGVuZXJQcm94eSk6IERvbid0CisgICAgICAg
IGNyZWF0ZSBhIHJlbW90ZSBjb21tYW5kIGxpc3RlbmVyLCB3ZSBvbmx5IG5lZWQgb25lIGZvciB0
aGUgR1BVIHByb2Nlc3MuCisgICAgICAgIChXZWJLaXQ6OlJlbW90ZVJlbW90ZUNvbW1hbmRMaXN0
ZW5lclByb3h5Ojp1cGRhdGVTdXBwb3J0ZWRDb21tYW5kcyk6IE5ldy4KKyAgICAgICAgKFdlYktp
dDo6UmVtb3RlUmVtb3RlQ29tbWFuZExpc3RlbmVyUHJveHk6OmRpZFJlY2VpdmVSZW1vdGVDb250
cm9sQ29tbWFuZCk6IERlbGV0ZWQuCisgICAgICAgICogR1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVS
ZW1vdGVDb21tYW5kTGlzdGVuZXJQcm94eS5oOgorICAgICAgICAoV2ViS2l0OjpSZW1vdGVSZW1v
dGVDb21tYW5kTGlzdGVuZXJQcm94eTo6Y3JlYXRlKToKKyAgICAgICAgKFdlYktpdDo6UmVtb3Rl
UmVtb3RlQ29tbWFuZExpc3RlbmVyUHJveHk6OnN1cHBvcnRzU2Vla2luZyBjb25zdCk6CisgICAg
ICAgIChXZWJLaXQ6OlJlbW90ZVJlbW90ZUNvbW1hbmRMaXN0ZW5lclByb3h5OjpzdXBwb3J0ZWRD
b21tYW5kcyBjb25zdCk6CisgICAgICAgIChXZWJLaXQ6OlJlbW90ZVJlbW90ZUNvbW1hbmRMaXN0
ZW5lclByb3h5OjppZGVudGlmaWVyIGNvbnN0KToKKyAgICAgICAgKiBHUFVQcm9jZXNzL21lZGlh
L1JlbW90ZVJlbW90ZUNvbW1hbmRMaXN0ZW5lclByb3h5Lm1lc3NhZ2VzLmluOgorCisgICAgICAg
ICogV2ViUHJvY2Vzcy9HUFUvbWVkaWEvUmVtb3RlUmVtb3RlQ29tbWFuZExpc3RlbmVyLmNwcDoK
KyAgICAgICAgKFdlYktpdDo6UmVtb3RlUmVtb3RlQ29tbWFuZExpc3RlbmVyOjpSZW1vdGVSZW1v
dGVDb21tYW5kTGlzdGVuZXIpOiBVc2UgbV9wcm9jZXNzCisgICAgICAgIGluc3RlYWQgb2YgY2Fs
bGluZyBXZWJQcm9jZXNzOjpzaW5nbGV0b24oKS4KKyAgICAgICAgKFdlYktpdDo6UmVtb3RlUmVt
b3RlQ29tbWFuZExpc3RlbmVyOjp+UmVtb3RlUmVtb3RlQ29tbWFuZExpc3RlbmVyKTogRGl0dG8u
CisgICAgICAgIChXZWJLaXQ6OlJlbW90ZVJlbW90ZUNvbW1hbmRMaXN0ZW5lcjo6ZGlkUmVjZWl2
ZVJlbW90ZUNvbnRyb2xDb21tYW5kKTogVXNlIGNsaWVudCgpLAorICAgICAgICBtX2NsaWVudCBp
cyBub3cgcHJpdmF0ZS4KKyAgICAgICAgKFdlYktpdDo6UmVtb3RlUmVtb3RlQ29tbWFuZExpc3Rl
bmVyOjp1cGRhdGVTdXBwb3J0ZWRDb21tYW5kcyk6CisgICAgICAgICogV2ViUHJvY2Vzcy9HUFUv
bWVkaWEvUmVtb3RlUmVtb3RlQ29tbWFuZExpc3RlbmVyLmg6CisKIDIwMjEtMDMtMDQgIEFsZXgg
Q2hyaXN0ZW5zZW4gIDxhY2hyaXN0ZW5zZW5Ad2Via2l0Lm9yZz4KIAogICAgICAgICBSZW1vdmUg
dGhlIEhUVFBTVXBncmFkZUVuYWJsZWQgZXhwZXJpbWVudGFsIGZlYXR1cmUKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE1lZGlhRWxlbWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9odG1sL0hUTUxNZWRpYUVsZW1lbnQuY3BwCmluZGV4IGUxZDkwMzMzMWIwNzEzZTY2ODJhZjRk
Mzc3MjMzNjI3Y2RhNTZjMzAuLjk0YmIwYWU0NWRmZDkzMWZjZjg1ZjgyNDU5MmExMTk3ZjZjYTUz
ZDkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE1lZGlhRWxlbWVudC5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTWVkaWFFbGVtZW50LmNwcApAQCAtNzUzOSwx
MiArNzUzOSwxNiBAQCB2b2lkIEhUTUxNZWRpYUVsZW1lbnQ6OmRpZFJlY2VpdmVSZW1vdGVDb250
cm9sQ29tbWFuZChQbGF0Zm9ybU1lZGlhU2Vzc2lvbjo6UmVtbwogICAgIGNhc2UgUGxhdGZvcm1N
ZWRpYVNlc3Npb246OkVuZFNlZWtpbmdGb3J3YXJkQ29tbWFuZDoKICAgICAgICAgZW5kU2Nhbm5p
bmcoKTsKICAgICAgICAgYnJlYWs7Ci0gICAgY2FzZSBQbGF0Zm9ybU1lZGlhU2Vzc2lvbjo6U2tp
cEZvcndhcmRDb21tYW5kOgotICAgICAgICBoYW5kbGVTZWVrVG9QbGF5YmFja1Bvc2l0aW9uKGFy
Z3VtZW50LnRpbWUgPyBhcmd1bWVudC50aW1lLnZhbHVlKCkgOiBkZWZhdWx0U2tpcEFtb3VudCk7
CisgICAgY2FzZSBQbGF0Zm9ybU1lZGlhU2Vzc2lvbjo6U2tpcEZvcndhcmRDb21tYW5kOiB7Cisg
ICAgICAgIGF1dG8gZGVsdGEgPSBhcmd1bWVudC50aW1lID8gYXJndW1lbnQudGltZS52YWx1ZSgp
IDogZGVmYXVsdFNraXBBbW91bnQ7CisgICAgICAgIGhhbmRsZVNlZWtUb1BsYXliYWNrUG9zaXRp
b24oc3RkOjptaW4oY3VycmVudFRpbWUoKSArIGRlbHRhLCBkdXJhdGlvbigpKSk7CiAgICAgICAg
IGJyZWFrOwotICAgIGNhc2UgUGxhdGZvcm1NZWRpYVNlc3Npb246OlNraXBCYWNrd2FyZENvbW1h
bmQ6Ci0gICAgICAgIGhhbmRsZVNlZWtUb1BsYXliYWNrUG9zaXRpb24oMCAtIChhcmd1bWVudC50
aW1lID8gYXJndW1lbnQudGltZS52YWx1ZSgpIDogZGVmYXVsdFNraXBBbW91bnQpKTsKKyAgICB9
CisgICAgY2FzZSBQbGF0Zm9ybU1lZGlhU2Vzc2lvbjo6U2tpcEJhY2t3YXJkQ29tbWFuZDogewor
ICAgICAgICBhdXRvIGRlbHRhID0gYXJndW1lbnQudGltZSA/IGFyZ3VtZW50LnRpbWUudmFsdWUo
KSA6IGRlZmF1bHRTa2lwQW1vdW50OworICAgICAgICBoYW5kbGVTZWVrVG9QbGF5YmFja1Bvc2l0
aW9uKHN0ZDo6bWF4KGN1cnJlbnRUaW1lKCkgLSBkZWx0YSwgMC4pKTsKICAgICAgICAgYnJlYWs7
CisgICAgfQogICAgIGNhc2UgUGxhdGZvcm1NZWRpYVNlc3Npb246OlNlZWtUb1BsYXliYWNrUG9z
aXRpb25Db21tYW5kOgogICAgICAgICBBU1NFUlQoYXJndW1lbnQudGltZSk7CiAgICAgICAgIGlm
IChhcmd1bWVudC50aW1lKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vTm93
UGxheWluZ01hbmFnZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vTm93UGxheWluZ01h
bmFnZXIuY3BwCmluZGV4IDA4ZWIxNTFiYzc4Y2RlYzQ2NzJhOGIxNDcxNmUzNzlmOTc0NzkxZWIu
LmUzYjAyYWU5YjRkNGE3Y2Q5MGZiMjdmMWU1ODdjNjI3NzNhOTg1MzkgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL05vd1BsYXlpbmdNYW5hZ2VyLmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9Ob3dQbGF5aW5nTWFuYWdlci5jcHAKQEAgLTc0LDQgKzc0LDEzIEBA
IHZvaWQgTm93UGxheWluZ01hbmFnZXI6OnNldE5vd1BsYXlpbmdJbmZvKENsaWVudCYgY2xpZW50
LCBOb3dQbGF5aW5nSW5mbyYmIG5vd1BsCiAjZW5kaWYKIH0KIAordm9pZCBOb3dQbGF5aW5nTWFu
YWdlcjo6c2V0U3VwcG9ydGVkUmVtb3RlQ29tbWFuZHMoY29uc3QgUmVtb3RlQ29tbWFuZExpc3Rl
bmVyOjpSZW1vdGVDb21tYW5kc1NldCYgY29tbWFuZHMsIGJvb2wgc3VwcG9ydHNTZWVraW5nKQor
eworICAgIGlmICghbV9yZW1vdGVDb21tYW5kTGlzdGVuZXIpCisgICAgICAgIHJldHVybjsKKwor
ICAgIG1fcmVtb3RlQ29tbWFuZExpc3RlbmVyLT5zZXRTdXBwb3J0c1NlZWtpbmcoc3VwcG9ydHNT
ZWVraW5nKTsKKyAgICBtX3JlbW90ZUNvbW1hbmRMaXN0ZW5lci0+c2V0U3VwcG9ydGVkQ29tbWFu
ZHMoY29tbWFuZHMpOworfQorCiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9Ob3dQbGF5aW5nTWFuYWdlci5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vTm93UGxheWlu
Z01hbmFnZXIuaAppbmRleCBmYTE2NjQyODI0NTJmMGVkMDljNmM4Nzc1ZjZhODY1MjQ5ZGJhZDMz
Li43ZmEyOWQ2YTg4OWVkYWE0ZTY4OGYxNDA1ZjFkYWQwZDBkZjMzMWMxIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9Ob3dQbGF5aW5nTWFuYWdlci5oCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL05vd1BsYXlpbmdNYW5hZ2VyLmgKQEAgLTUwLDYgKzUwLDcgQEAgcHVi
bGljOgogCiAgICAgdm9pZCBjbGVhck5vd1BsYXlpbmdJbmZvQ2xpZW50KENsaWVudCYpOwogICAg
IHZvaWQgc2V0Tm93UGxheWluZ0luZm8oQ2xpZW50JiwgTm93UGxheWluZ0luZm8mJik7CisgICAg
dm9pZCBzZXRTdXBwb3J0ZWRSZW1vdGVDb21tYW5kcyhjb25zdCBSZW1vdGVDb21tYW5kTGlzdGVu
ZXI6OlJlbW90ZUNvbW1hbmRzU2V0JiwgYm9vbCk7CiAKIHByaXZhdGU6CiAgICAgc3RkOjp1bmlx
dWVfcHRyPFJlbW90ZUNvbW1hbmRMaXN0ZW5lcj4gbV9yZW1vdGVDb21tYW5kTGlzdGVuZXI7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9SZW1vdGVDb21tYW5kTGlzdGVuZXIu
Y3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vUmVtb3RlQ29tbWFuZExpc3RlbmVyLmNwcApp
bmRleCBkMzhiZmNjMGJiZDEzOWNhOGVlMmIyYzIzMWVjZWNhOTY0ZDQ3Mjk5Li4wYzQxYzRjMjAx
NzU4ODk4MzQ4ZDg0YzdhNDI4Y2U2OWNjNjFhOGE5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9SZW1vdGVDb21tYW5kTGlzdGVuZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL1JlbW90ZUNvbW1hbmRMaXN0ZW5lci5jcHAKQEAgLTg5LDE0ICs4OSwzNSBAQCB2
b2lkIFJlbW90ZUNvbW1hbmRMaXN0ZW5lcjo6c2V0U3VwcG9ydHNTZWVraW5nKGJvb2wgc3VwcG9y
dHMpCiAKIHZvaWQgUmVtb3RlQ29tbWFuZExpc3RlbmVyOjphZGRTdXBwb3J0ZWRDb21tYW5kKFBs
YXRmb3JtTWVkaWFTZXNzaW9uOjpSZW1vdGVDb250cm9sQ29tbWFuZFR5cGUgY29tbWFuZCkKIHsK
LSAgICBtX3JlZ2lzdGVyZWRDb21tYW5kcy5hZGQoY29tbWFuZCk7CisgICAgbV9zdXBwb3J0ZWRD
b21tYW5kcy5hZGQoY29tbWFuZCk7CiAgICAgc2NoZWR1bGVTdXBwb3J0ZWRDb21tYW5kc1VwZGF0
ZSgpOwogfQogCiB2b2lkIFJlbW90ZUNvbW1hbmRMaXN0ZW5lcjo6cmVtb3ZlU3VwcG9ydGVkQ29t
bWFuZChQbGF0Zm9ybU1lZGlhU2Vzc2lvbjo6UmVtb3RlQ29udHJvbENvbW1hbmRUeXBlIGNvbW1h
bmQpCiB7Ci0gICAgbV9yZWdpc3RlcmVkQ29tbWFuZHMucmVtb3ZlKGNvbW1hbmQpOworICAgIG1f
c3VwcG9ydGVkQ29tbWFuZHMucmVtb3ZlKGNvbW1hbmQpOwogICAgIHNjaGVkdWxlU3VwcG9ydGVk
Q29tbWFuZHNVcGRhdGUoKTsKIH0KIAordm9pZCBSZW1vdGVDb21tYW5kTGlzdGVuZXI6OnNldFN1
cHBvcnRlZENvbW1hbmRzKGNvbnN0IFJlbW90ZUNvbW1hbmRzU2V0JiBjb21tYW5kcykKK3sKKyAg
ICBtX3N1cHBvcnRlZENvbW1hbmRzID0gY29tbWFuZHM7CisgICAgc2NoZWR1bGVTdXBwb3J0ZWRD
b21tYW5kc1VwZGF0ZSgpOworfQorCit2b2lkIFJlbW90ZUNvbW1hbmRMaXN0ZW5lcjo6dXBkYXRl
U3VwcG9ydGVkQ29tbWFuZHMoKQoreworICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOworfQorCitj
b25zdCBSZW1vdGVDb21tYW5kTGlzdGVuZXI6OlJlbW90ZUNvbW1hbmRzU2V0JiBSZW1vdGVDb21t
YW5kTGlzdGVuZXI6OnN1cHBvcnRlZENvbW1hbmRzKCkgY29uc3QKK3sKKyAgICByZXR1cm4gbV9z
dXBwb3J0ZWRDb21tYW5kczsKK30KKworYm9vbCBSZW1vdGVDb21tYW5kTGlzdGVuZXI6OnN1cHBv
cnRzU2Vla2luZygpIGNvbnN0Cit7CisgICAgcmV0dXJuIG1fc3VwcG9ydHNTZWVraW5nOworfQor
CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9SZW1vdGVDb21tYW5kTGlz
dGVuZXIuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1JlbW90ZUNvbW1hbmRMaXN0ZW5lci5o
CmluZGV4IDhhZjY1YWQyMjc1Y2I3MWQzOTQ5NjJhYmY3M2JlODYyNDhiZjk5NDguLmMzMDY4YzFl
M2RkNzQzZWIwZTc0OTBiNmRiYmM1Yjc3N2MwNzg3YmQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL1JlbW90ZUNvbW1hbmRMaXN0ZW5lci5oCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL1JlbW90ZUNvbW1hbmRMaXN0ZW5lci5oCkBAIC01MSwyMCArNTEsMjQgQEAgcHVi
bGljOgogCiAgICAgdm9pZCBhZGRTdXBwb3J0ZWRDb21tYW5kKFBsYXRmb3JtTWVkaWFTZXNzaW9u
OjpSZW1vdGVDb250cm9sQ29tbWFuZFR5cGUpOwogICAgIHZvaWQgcmVtb3ZlU3VwcG9ydGVkQ29t
bWFuZChQbGF0Zm9ybU1lZGlhU2Vzc2lvbjo6UmVtb3RlQ29udHJvbENvbW1hbmRUeXBlKTsKLSAg
ICB2aXJ0dWFsIHZvaWQgdXBkYXRlU3VwcG9ydGVkQ29tbWFuZHMoKSB7IH0KKworICAgIHVzaW5n
IFJlbW90ZUNvbW1hbmRzU2V0ID0gSGFzaFNldDxQbGF0Zm9ybU1lZGlhU2Vzc2lvbjo6UmVtb3Rl
Q29udHJvbENvbW1hbmRUeXBlLCBXVEY6OkludEhhc2g8UGxhdGZvcm1NZWRpYVNlc3Npb246OlJl
bW90ZUNvbnRyb2xDb21tYW5kVHlwZT4sIFdURjo6U3Ryb25nRW51bUhhc2hUcmFpdHM8UGxhdGZv
cm1NZWRpYVNlc3Npb246OlJlbW90ZUNvbnRyb2xDb21tYW5kVHlwZT4+OworICAgIHZvaWQgc2V0
U3VwcG9ydGVkQ29tbWFuZHMoY29uc3QgUmVtb3RlQ29tbWFuZHNTZXQmKTsKKyAgICBjb25zdCBS
ZW1vdGVDb21tYW5kc1NldCYgc3VwcG9ydGVkQ29tbWFuZHMoKSBjb25zdDsKKworICAgIHZpcnR1
YWwgdm9pZCB1cGRhdGVTdXBwb3J0ZWRDb21tYW5kcygpOwogICAgIHZvaWQgc2NoZWR1bGVTdXBw
b3J0ZWRDb21tYW5kc1VwZGF0ZSgpOworCiAgICAgdm9pZCBzZXRTdXBwb3J0c1NlZWtpbmcoYm9v
bCk7CisgICAgYm9vbCBzdXBwb3J0c1NlZWtpbmcoKSBjb25zdDsKIAogICAgIFJlbW90ZUNvbW1h
bmRMaXN0ZW5lckNsaWVudCYgY2xpZW50KCkgY29uc3QgeyByZXR1cm4gbV9jbGllbnQ7IH0KIAot
cHJvdGVjdGVkOgorcHJpdmF0ZToKICAgICBSZW1vdGVDb21tYW5kTGlzdGVuZXJDbGllbnQmIG1f
Y2xpZW50OwotCi0gICAgdXNpbmcgUmVtb3RlQ29tbWFuZHNTZXQgPSBIYXNoU2V0PFBsYXRmb3Jt
TWVkaWFTZXNzaW9uOjpSZW1vdGVDb250cm9sQ29tbWFuZFR5cGUsIFdURjo6SW50SGFzaDxQbGF0
Zm9ybU1lZGlhU2Vzc2lvbjo6UmVtb3RlQ29udHJvbENvbW1hbmRUeXBlPiwgV1RGOjpTdHJvbmdF
bnVtSGFzaFRyYWl0czxQbGF0Zm9ybU1lZGlhU2Vzc2lvbjo6UmVtb3RlQ29udHJvbENvbW1hbmRU
eXBlPj47Ci0gICAgUmVtb3RlQ29tbWFuZHNTZXQgbV9yZWdpc3RlcmVkQ29tbWFuZHM7Ci0gICAg
Ym9vbCBtX3N1cHBvcnRzU2Vla2luZyB7IGZhbHNlIH07Ci0KKyAgICBSZW1vdGVDb21tYW5kc1Nl
dCBtX3N1cHBvcnRlZENvbW1hbmRzOwogICAgIERlZmVycmFibGVUYXNrPFRpbWVyPiBtX3VwZGF0
ZUNvbW1hbmRzVGFzazsKKyAgICBib29sIG1fc3VwcG9ydHNTZWVraW5nIHsgZmFsc2UgfTsKIH07
CiAKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL05vd1BsYXlp
bmdJbmZvLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9Ob3dQbGF5aW5nSW5mby5o
CmluZGV4IGVlZTM4ODA2ODFiYTg5YzhhNjZjNGNlOGY5Y2ZjZmI1NGExODcyM2UuLmJjNzE1ZWU4
NDVlY2FiMDJmZDkxM2JmNGMxYTdhYTk5YTE4MGNkY2IgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2F1ZGlvL05vd1BsYXlpbmdJbmZvLmgKKysrIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vYXVkaW8vTm93UGxheWluZ0luZm8uaApAQCAtNDIsNiArNDIsMjUgQEAgc3RydWN0
IE5vd1BsYXlpbmdJbmZvIHsKICAgICBib29sIGlzUGxheWluZyB7IGZhbHNlIH07CiAgICAgYm9v
bCBhbGxvd3NOb3dQbGF5aW5nQ29udHJvbHNWaXNpYmlsaXR5IHsgZmFsc2UgfTsKIAorICAgIGJv
b2wgb3BlcmF0b3I9PShjb25zdCBOb3dQbGF5aW5nSW5mbyYgb3RoZXIpIGNvbnN0CisgICAgewor
ICAgICAgICByZXR1cm4gdGl0bGUgPT0gb3RoZXIudGl0bGUKKyAgICAgICAgICAgICYmIGFydGlz
dCA9PSBvdGhlci5hcnRpc3QKKyAgICAgICAgICAgICYmIGFsYnVtID09IG90aGVyLmFsYnVtCisg
ICAgICAgICAgICAmJiBzb3VyY2VBcHBsaWNhdGlvbklkZW50aWZpZXIgPT0gb3RoZXIuc291cmNl
QXBwbGljYXRpb25JZGVudGlmaWVyCisgICAgICAgICAgICAmJiBkdXJhdGlvbiA9PSBvdGhlci5k
dXJhdGlvbgorICAgICAgICAgICAgJiYgY3VycmVudFRpbWUgPT0gb3RoZXIuY3VycmVudFRpbWUK
KyAgICAgICAgICAgICYmIHN1cHBvcnRzU2Vla2luZyA9PSBvdGhlci5zdXBwb3J0c1NlZWtpbmcK
KyAgICAgICAgICAgICYmIHVuaXF1ZUlkZW50aWZpZXIgPT0gb3RoZXIudW5pcXVlSWRlbnRpZmll
cgorICAgICAgICAgICAgJiYgaXNQbGF5aW5nID09IG90aGVyLmlzUGxheWluZworICAgICAgICAg
ICAgJiYgYWxsb3dzTm93UGxheWluZ0NvbnRyb2xzVmlzaWJpbGl0eSA9PSBvdGhlci5hbGxvd3NO
b3dQbGF5aW5nQ29udHJvbHNWaXNpYmlsaXR5OworICAgIH0KKworICAgIGJvb2wgb3BlcmF0b3Ih
PShjb25zdCBOb3dQbGF5aW5nSW5mbyBvdGhlcikgY29uc3QKKyAgICB7CisgICAgICAgIHJldHVy
biAhKCp0aGlzID09IG90aGVyKTsKKyAgICB9CisKICAgICB0ZW1wbGF0ZTxjbGFzcyBFbmNvZGVy
PiB2b2lkIGVuY29kZShFbmNvZGVyJikgY29uc3Q7CiAgICAgdGVtcGxhdGU8Y2xhc3MgRGVjb2Rl
cj4gc3RhdGljIE9wdGlvbmFsPE5vd1BsYXlpbmdJbmZvPiBkZWNvZGUoRGVjb2RlciYpOwogfTsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL2NvY29hL01lZGlhU2Vz
c2lvbk1hbmFnZXJDb2NvYS5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vY29jb2Ev
TWVkaWFTZXNzaW9uTWFuYWdlckNvY29hLmgKaW5kZXggYzk4ZjhiYjYzODgxYTMyNDI0OTZhM2Y5
ZDI4YzFkNjY2OWUyY2JjMC4uZDhlMzVkMmUxZGQzMWUwNWUzMDA2NTcwZDdiNDk4OWFkOTI2ZjA1
MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vY29jb2EvTWVkaWFT
ZXNzaW9uTWFuYWdlckNvY29hLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8v
Y29jb2EvTWVkaWFTZXNzaW9uTWFuYWdlckNvY29hLmgKQEAgLTI5LDYgKzI5LDcgQEAKIAogI2lu
Y2x1ZGUgIkF1ZGlvSGFyZHdhcmVMaXN0ZW5lci5oIgogI2luY2x1ZGUgIkdlbmVyaWNUYXNrUXVl
dWUuaCIKKyNpbmNsdWRlICJOb3dQbGF5aW5nSW5mby5oIgogI2luY2x1ZGUgIlBsYXRmb3JtTWVk
aWFTZXNzaW9uTWFuYWdlci5oIgogI2luY2x1ZGUgIlJlbW90ZUNvbW1hbmRMaXN0ZW5lci5oIgog
CkBAIC05OCw2ICs5OSw3IEBAIHByaXZhdGU6CiAgICAgdm9pZCBhdWRpb0hhcmR3YXJlRGlkQmVj
b21lSW5hY3RpdmUoKSBmaW5hbCB7IH0KICAgICB2b2lkIGF1ZGlvT3V0cHV0RGV2aWNlQ2hhbmdl
ZCgpIGZpbmFsOwogCisgICAgT3B0aW9uYWw8Tm93UGxheWluZ0luZm8+IG1fbm93UGxheWluZ0lu
Zm87CiAgICAgYm9vbCBtX25vd1BsYXlpbmdBY3RpdmUgeyBmYWxzZSB9OwogICAgIGJvb2wgbV9y
ZWdpc3RlcmVkQXNOb3dQbGF5aW5nQXBwbGljYXRpb24geyBmYWxzZSB9OwogICAgIGJvb2wgbV9o
YXZlRXZlclJlZ2lzdGVyZWRBc05vd1BsYXlpbmdBcHBsaWNhdGlvbiB7IGZhbHNlIH07CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9jb2NvYS9NZWRpYVNlc3Npb25N
YW5hZ2VyQ29jb2EubW0gYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9jb2NvYS9NZWRp
YVNlc3Npb25NYW5hZ2VyQ29jb2EubW0KaW5kZXggM2EzMWI3NGE3ZTc5YTgxMGU5MDBjNjk4NWNk
Y2JiNzI0NjMwMWMwNy4uYzc2NTI1OWVjMzFmNDRkYzFkMGJhZGFmMmNkZGViNDE3ZWM3OTljNyAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vY29jb2EvTWVkaWFTZXNz
aW9uTWFuYWdlckNvY29hLm1tCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL2Nv
Y29hL01lZGlhU2Vzc2lvbk1hbmFnZXJDb2NvYS5tbQpAQCAtMjg2LDE0ICsyODYsOSBAQCB2b2lk
IE1lZGlhU2Vzc2lvbk1hbmFnZXJDb2NvYTo6c2V0Tm93UGxheWluZ0luZm8oYm9vbCBzZXRBc05v
d1BsYXlpbmdBcHBsaWNhdGlvbgogCiAgICAgYXV0byBpbmZvID0gYWRvcHRDRihDRkRpY3Rpb25h
cnlDcmVhdGVNdXRhYmxlKGtDRkFsbG9jYXRvckRlZmF1bHQsIDQsICZrQ0ZUeXBlRGljdGlvbmFy
eUtleUNhbGxCYWNrcywgJmtDRlR5cGVEaWN0aW9uYXJ5VmFsdWVDYWxsQmFja3MpKTsKIAotICAg
IGlmICghbm93UGxheWluZ0luZm8uYXJ0aXN0LmlzRW1wdHkoKSkKLSAgICAgICAgQ0ZEaWN0aW9u
YXJ5U2V0VmFsdWUoaW5mby5nZXQoKSwga01STWVkaWFSZW1vdGVOb3dQbGF5aW5nSW5mb0FydGlz
dCwgbm93UGxheWluZ0luZm8uYXJ0aXN0LmNyZWF0ZUNGU3RyaW5nKCkuZ2V0KCkpOwotCi0gICAg
aWYgKCFub3dQbGF5aW5nSW5mby5hbGJ1bS5pc0VtcHR5KCkpCi0gICAgICAgIENGRGljdGlvbmFy
eVNldFZhbHVlKGluZm8uZ2V0KCksIGtNUk1lZGlhUmVtb3RlTm93UGxheWluZ0luZm9BbGJ1bSwg
bm93UGxheWluZ0luZm8uYWxidW0uY3JlYXRlQ0ZTdHJpbmcoKS5nZXQoKSk7Ci0KLSAgICBpZiAo
IW5vd1BsYXlpbmdJbmZvLnRpdGxlLmlzRW1wdHkoKSkKLSAgICAgICAgQ0ZEaWN0aW9uYXJ5U2V0
VmFsdWUoaW5mby5nZXQoKSwga01STWVkaWFSZW1vdGVOb3dQbGF5aW5nSW5mb1RpdGxlLCBub3dQ
bGF5aW5nSW5mby50aXRsZS5jcmVhdGVDRlN0cmluZygpLmdldCgpKTsKKyAgICBDRkRpY3Rpb25h
cnlTZXRWYWx1ZShpbmZvLmdldCgpLCBrTVJNZWRpYVJlbW90ZU5vd1BsYXlpbmdJbmZvQXJ0aXN0
LCBub3dQbGF5aW5nSW5mby5hcnRpc3QuY3JlYXRlQ0ZTdHJpbmcoKS5nZXQoKSk7CisgICAgQ0ZE
aWN0aW9uYXJ5U2V0VmFsdWUoaW5mby5nZXQoKSwga01STWVkaWFSZW1vdGVOb3dQbGF5aW5nSW5m
b0FsYnVtLCBub3dQbGF5aW5nSW5mby5hbGJ1bS5jcmVhdGVDRlN0cmluZygpLmdldCgpKTsKKyAg
ICBDRkRpY3Rpb25hcnlTZXRWYWx1ZShpbmZvLmdldCgpLCBrTVJNZWRpYVJlbW90ZU5vd1BsYXlp
bmdJbmZvVGl0bGUsIG5vd1BsYXlpbmdJbmZvLnRpdGxlLmNyZWF0ZUNGU3RyaW5nKCkuZ2V0KCkp
OwogCiAgICAgaWYgKHN0ZDo6aXNmaW5pdGUobm93UGxheWluZ0luZm8uZHVyYXRpb24pICYmIG5v
d1BsYXlpbmdJbmZvLmR1cmF0aW9uICE9IE1lZGlhUGxheWVyOjppbnZhbGlkVGltZSgpKSB7CiAg
ICAgICAgIGF1dG8gY2ZEdXJhdGlvbiA9IGFkb3B0Q0YoQ0ZOdW1iZXJDcmVhdGUoa0NGQWxsb2Nh
dG9yRGVmYXVsdCwga0NGTnVtYmVyRG91YmxlVHlwZSwgJm5vd1BsYXlpbmdJbmZvLmR1cmF0aW9u
KSk7CkBAIC0zNjYsMjAgKzM2MSwyNCBAQCB2b2lkIE1lZGlhU2Vzc2lvbk1hbmFnZXJDb2NvYTo6
dXBkYXRlTm93UGxheWluZ0luZm8oKQogICAgICAgICBtX2xhc3RVcGRhdGVkTm93UGxheWluZ0R1
cmF0aW9uID0gTkFOOwogICAgICAgICBtX2xhc3RVcGRhdGVkTm93UGxheWluZ0VsYXBzZWRUaW1l
ID0gTkFOOwogICAgICAgICBtX2xhc3RVcGRhdGVkTm93UGxheWluZ0luZm9VbmlxdWVJZGVudGlm
aWVyID0geyB9OworICAgICAgICBtX25vd1BsYXlpbmdJbmZvID0geyB9OwogCiAgICAgICAgIHJl
dHVybjsKICAgICB9CiAKICAgICBtX2hhdmVFdmVyUmVnaXN0ZXJlZEFzTm93UGxheWluZ0FwcGxp
Y2F0aW9uID0gdHJ1ZTsKLSAgICBwbGF0Zm9ybVN0cmF0ZWdpZXMoKS0+bWVkaWFTdHJhdGVneSgp
LnNldE5vd1BsYXlpbmdJbmZvKCFtX3JlZ2lzdGVyZWRBc05vd1BsYXlpbmdBcHBsaWNhdGlvbiwg
Km5vd1BsYXlpbmdJbmZvKTsKKworICAgIGlmIChtX25vd1BsYXlpbmdJbmZvICE9IG5vd1BsYXlp
bmdJbmZvKSB7CisgICAgICAgIG1fbm93UGxheWluZ0luZm8gPSBub3dQbGF5aW5nSW5mbzsKKyAg
ICAgICAgcGxhdGZvcm1TdHJhdGVnaWVzKCktPm1lZGlhU3RyYXRlZ3koKS5zZXROb3dQbGF5aW5n
SW5mbyghbV9yZWdpc3RlcmVkQXNOb3dQbGF5aW5nQXBwbGljYXRpb24sICpub3dQbGF5aW5nSW5m
byk7CisgICAgICAgIEFMV0FZU19MT0coTE9HSURFTlRJRklFUiwgInRpdGxlID0gXCIiLCBub3dQ
bGF5aW5nSW5mby0+dGl0bGUsICJcIiwgaXNQbGF5aW5nID0gIiwgbm93UGxheWluZ0luZm8tPmlz
UGxheWluZywgIiwgZHVyYXRpb24gPSAiLCBub3dQbGF5aW5nSW5mby0+ZHVyYXRpb24sICIsIG5v
dyA9ICIsIG5vd1BsYXlpbmdJbmZvLT5jdXJyZW50VGltZSwgIiwgaWQgPSAiLCBub3dQbGF5aW5n
SW5mby0+dW5pcXVlSWRlbnRpZmllci50b1VJbnQ2NCgpLCAiLCByZWdpc3RlcmVkID0gIiwgbV9y
ZWdpc3RlcmVkQXNOb3dQbGF5aW5nQXBwbGljYXRpb24pOworICAgIH0KIAogICAgIGlmICghbV9y
ZWdpc3RlcmVkQXNOb3dQbGF5aW5nQXBwbGljYXRpb24pIHsKICAgICAgICAgbV9yZWdpc3RlcmVk
QXNOb3dQbGF5aW5nQXBwbGljYXRpb24gPSB0cnVlOwogICAgICAgICBwcm92aWRlUHJlc2VudGlu
Z0FwcGxpY2F0aW9uUElESWZOZWNlc3NhcnkoKTsKICAgICB9CiAKLSAgICBBTFdBWVNfTE9HKExP
R0lERU5USUZJRVIsICJ0aXRsZSA9IFwiIiwgbm93UGxheWluZ0luZm8tPnRpdGxlLCAiXCIsIGlz
UGxheWluZyA9ICIsIG5vd1BsYXlpbmdJbmZvLT5pc1BsYXlpbmcsICIsIGR1cmF0aW9uID0gIiwg
bm93UGxheWluZ0luZm8tPmR1cmF0aW9uLCAiLCBub3cgPSAiLCBub3dQbGF5aW5nSW5mby0+Y3Vy
cmVudFRpbWUsICIsIGlkID0gIiwgbm93UGxheWluZ0luZm8tPnVuaXF1ZUlkZW50aWZpZXIudG9V
SW50NjQoKSwgIiwgcmVnaXN0ZXJlZCA9ICIsIG1fcmVnaXN0ZXJlZEFzTm93UGxheWluZ0FwcGxp
Y2F0aW9uKTsKLQogICAgIGlmICghbm93UGxheWluZ0luZm8tPnRpdGxlLmlzRW1wdHkoKSkKICAg
ICAgICAgbV9sYXN0VXBkYXRlZE5vd1BsYXlpbmdUaXRsZSA9IG5vd1BsYXlpbmdJbmZvLT50aXRs
ZTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vY29jb2EvUmVtb3RlQ29t
bWFuZExpc3RlbmVyQ29jb2EuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2NvY29hL1JlbW90
ZUNvbW1hbmRMaXN0ZW5lckNvY29hLmgKaW5kZXggMTdiMjRjOTI0NWFkYmRmNDYzNjAwYmUyMWEz
NjI2MmI0YjhhY2UyOS4uZmIwY2ZiOTczZmIxMThhMzhiYjRhOGI1YjY4ODA3YWE0MTliMzkwZiAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vY29jb2EvUmVtb3RlQ29tbWFuZExp
c3RlbmVyQ29jb2EuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9jb2NvYS9SZW1vdGVD
b21tYW5kTGlzdGVuZXJDb2NvYS5oCkBAIC00Niw3ICs0Niw2IEBAIHByaXZhdGU6CiAKICAgICBj
b25zdCBSZW1vdGVDb21tYW5kc1NldCYgZGVmYXVsdENvbW1hbmRzKCk7CiAgICAgUmVtb3RlQ29t
bWFuZHNTZXQgbV9jdXJyZW50Q29tbWFuZHM7Ci0gICAgYm9vbCBtX3N1cHBvcnRzU2Vla2luZyB7
IGZhbHNlIH07CiB9OwogICAgIAogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vY29jb2EvUmVtb3RlQ29tbWFuZExpc3RlbmVyQ29jb2EubW0gYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9jb2NvYS9SZW1vdGVDb21tYW5kTGlzdGVuZXJDb2NvYS5tbQppbmRleCA4ZTc5NjRh
YzM3NmQzMGUxMzMxODM0Y2I5OGM4NDBlNTYyYmFhMzhjLi4wN2UwZTk3MDZkNGZkNmZlNGZjYzkz
OTJkOTMxYTY5YjcyMTE2MDk2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9j
b2NvYS9SZW1vdGVDb21tYW5kTGlzdGVuZXJDb2NvYS5tbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9jb2NvYS9SZW1vdGVDb21tYW5kTGlzdGVuZXJDb2NvYS5tbQpAQCAtMTAxLDEzICsx
MDEsMTMgQEAgdm9pZCBSZW1vdGVDb21tYW5kTGlzdGVuZXJDb2NvYTo6dXBkYXRlU3VwcG9ydGVk
Q29tbWFuZHMoKQogICAgIGlmICghaXNNZWRpYVJlbW90ZUZyYW1ld29ya0F2YWlsYWJsZSgpKQog
ICAgICAgICByZXR1cm47CiAKLSAgICBhdXRvJiBzdXBwb3J0ZWRDb21tYW5kcyA9ICFtX3JlZ2lz
dGVyZWRDb21tYW5kcy5pc0VtcHR5KCkgPyBtX3JlZ2lzdGVyZWRDb21tYW5kcyA6IGRlZmF1bHRD
b21tYW5kcygpOwotICAgIGlmIChtX2N1cnJlbnRDb21tYW5kcyA9PSBzdXBwb3J0ZWRDb21tYW5k
cykKKyAgICBhdXRvJiBjdXJyZW50Q29tbWFuZHMgPSAhc3VwcG9ydGVkQ29tbWFuZHMoKS5pc0Vt
cHR5KCkgPyBzdXBwb3J0ZWRDb21tYW5kcygpIDogZGVmYXVsdENvbW1hbmRzKCk7CisgICAgaWYg
KG1fY3VycmVudENvbW1hbmRzID09IGN1cnJlbnRDb21tYW5kcykKICAgICAgICAgcmV0dXJuOwog
Ci0gICAgYXV0byBjb21tYW5kSW5mb0FycmF5ID0gYWRvcHRDRihDRkFycmF5Q3JlYXRlTXV0YWJs
ZShrQ0ZBbGxvY2F0b3JEZWZhdWx0LCBzdXBwb3J0ZWRDb21tYW5kcy5zaXplKCksICZrQ0ZUeXBl
QXJyYXlDYWxsQmFja3MpKTsKLSAgICBmb3IgKGF1dG8gcGxhdGZvcm1Db21tYW5kIDogc3VwcG9y
dGVkQ29tbWFuZHMpIHsKLSAgICAgICAgaWYgKGlzU2Vla0NvbW1hbmQocGxhdGZvcm1Db21tYW5k
KSAmJiAhbV9zdXBwb3J0c1NlZWtpbmcpCisgICAgYXV0byBjb21tYW5kSW5mb0FycmF5ID0gYWRv
cHRDRihDRkFycmF5Q3JlYXRlTXV0YWJsZShrQ0ZBbGxvY2F0b3JEZWZhdWx0LCBjdXJyZW50Q29t
bWFuZHMuc2l6ZSgpLCAma0NGVHlwZUFycmF5Q2FsbEJhY2tzKSk7CisgICAgZm9yIChhdXRvIHBs
YXRmb3JtQ29tbWFuZCA6IGN1cnJlbnRDb21tYW5kcykgeworICAgICAgICBpZiAoaXNTZWVrQ29t
bWFuZChwbGF0Zm9ybUNvbW1hbmQpICYmICFzdXBwb3J0c1NlZWtpbmcoKSkKICAgICAgICAgICAg
IGNvbnRpbnVlOwogCiAgICAgICAgIGF1dG8gY29tbWFuZCA9IG1lZGlhUmVtb3RlQ29tbWFuZEZv
clBsYXRmb3JtQ29tbWFuZChwbGF0Zm9ybUNvbW1hbmQpOwpAQCAtMTE4LDExICsxMTgsMTMgQEAg
dm9pZCBSZW1vdGVDb21tYW5kTGlzdGVuZXJDb2NvYTo6dXBkYXRlU3VwcG9ydGVkQ29tbWFuZHMo
KQogICAgICAgICBhdXRvIGNvbW1hbmRJbmZvID0gYWRvcHRDRihNUk1lZGlhUmVtb3RlQ29tbWFu
ZEluZm9DcmVhdGUoa0NGQWxsb2NhdG9yRGVmYXVsdCkpOwogICAgICAgICBNUk1lZGlhUmVtb3Rl
Q29tbWFuZEluZm9TZXRDb21tYW5kKGNvbW1hbmRJbmZvLmdldCgpLCBjb21tYW5kLnZhbHVlKCkp
OwogICAgICAgICBNUk1lZGlhUmVtb3RlQ29tbWFuZEluZm9TZXRFbmFibGVkKGNvbW1hbmRJbmZv
LmdldCgpLCB0cnVlKTsKKyAgICAgICAgaWYgKHBsYXRmb3JtQ29tbWFuZCA9PSBQbGF0Zm9ybU1l
ZGlhU2Vzc2lvbjo6U2tpcEZvcndhcmRDb21tYW5kIHx8IHBsYXRmb3JtQ29tbWFuZCA9PSBQbGF0
Zm9ybU1lZGlhU2Vzc2lvbjo6U2tpcEJhY2t3YXJkQ29tbWFuZCkKKyAgICAgICAgICAgIE1STWVk
aWFSZW1vdGVDb21tYW5kSW5mb1NldE9wdGlvbnMoY29tbWFuZEluZm8uZ2V0KCksIChfX2JyaWRn
ZSBDRkRpY3Rpb25hcnlSZWYpKEB7KF9fYnJpZGdlIE5TU3RyaW5nICopa01STWVkaWFSZW1vdGVD
b21tYW5kSW5mb1ByZWZlcnJlZEludGVydmFsc0tleSA6IEBbQCgxNS4wKV19KSk7CiAgICAgICAg
IENGQXJyYXlBcHBlbmRWYWx1ZShjb21tYW5kSW5mb0FycmF5LmdldCgpLCBjb21tYW5kSW5mby5n
ZXQoKSk7CiAgICAgfQogCiAgICAgTVJNZWRpYVJlbW90ZVNldFN1cHBvcnRlZENvbW1hbmRzKGNv
bW1hbmRJbmZvQXJyYXkuZ2V0KCksIE1STWVkaWFSZW1vdGVHZXRMb2NhbE9yaWdpbigpLCBudWxs
cHRyLCBudWxscHRyKTsKLSAgICBtX2N1cnJlbnRDb21tYW5kcyA9IHN1cHBvcnRlZENvbW1hbmRz
OworICAgIG1fY3VycmVudENvbW1hbmRzID0gY3VycmVudENvbW1hbmRzOwogfQogCiBSZW1vdGVD
b21tYW5kTGlzdGVuZXJDb2NvYTo6UmVtb3RlQ29tbWFuZExpc3RlbmVyQ29jb2EoUmVtb3RlQ29t
bWFuZExpc3RlbmVyQ2xpZW50JiBjbGllbnQpCkBAIC0xNjgsNyArMTcwLDcgQEAgUmVtb3RlQ29t
bWFuZExpc3RlbmVyQ29jb2E6OlJlbW90ZUNvbW1hbmRMaXN0ZW5lckNvY29hKFJlbW90ZUNvbW1h
bmRMaXN0ZW5lckNsaWUKICAgICAgICAgICAgIHBsYXRmb3JtQ29tbWFuZCA9IFBsYXRmb3JtTWVk
aWFTZXNzaW9uOjpFbmRTZWVraW5nQmFja3dhcmRDb21tYW5kOwogICAgICAgICAgICAgYnJlYWs7
CiAgICAgICAgIGNhc2UgTVJNZWRpYVJlbW90ZUNvbW1hbmRTZWVrVG9QbGF5YmFja1Bvc2l0aW9u
OiB7Ci0gICAgICAgICAgICBpZiAoIW1fc3VwcG9ydHNTZWVraW5nKSB7CisgICAgICAgICAgICBp
ZiAoIXN1cHBvcnRzU2Vla2luZygpKSB7CiAgICAgICAgICAgICAgICAgc3RhdHVzID0gTVJNZWRp
YVJlbW90ZUNvbW1hbmRIYW5kbGVyU3RhdHVzQ29tbWFuZEZhaWxlZDsKICAgICAgICAgICAgICAg
ICBicmVhazsKICAgICAgICAgICAgIH0KQEAgLTE4Nyw3ICsxODksNyBAQCBSZW1vdGVDb21tYW5k
TGlzdGVuZXJDb2NvYTo6UmVtb3RlQ29tbWFuZExpc3RlbmVyQ29jb2EoUmVtb3RlQ29tbWFuZExp
c3RlbmVyQ2xpZQogICAgICAgICB9CiAgICAgICAgIGNhc2UgTVJNZWRpYVJlbW90ZUNvbW1hbmRT
a2lwRm9yd2FyZDoKICAgICAgICAgY2FzZSBNUk1lZGlhUmVtb3RlQ29tbWFuZFNraXBCYWNrd2Fy
ZDoKLSAgICAgICAgICAgIGlmICghbV9zdXBwb3J0c1NlZWtpbmcpIHsKKyAgICAgICAgICAgIGlm
ICghc3VwcG9ydHNTZWVraW5nKCkpIHsKICAgICAgICAgICAgICAgICBzdGF0dXMgPSBNUk1lZGlh
UmVtb3RlQ29tbWFuZEhhbmRsZXJTdGF0dXNDb21tYW5kRmFpbGVkOwogICAgICAgICAgICAgICAg
IGJyZWFrOwogICAgICAgICAgICAgfQpAQCAtMjEyLDcgKzIxNCw3IEBAIFJlbW90ZUNvbW1hbmRM
aXN0ZW5lckNvY29hOjpSZW1vdGVDb21tYW5kTGlzdGVuZXJDb2NvYShSZW1vdGVDb21tYW5kTGlz
dGVuZXJDbGllCiAgICAgICAgIH07CiAKICAgICAgICAgaWYgKHdlYWtUaGlzICYmIHN0YXR1cyAh
PSBNUk1lZGlhUmVtb3RlQ29tbWFuZEhhbmRsZXJTdGF0dXNDb21tYW5kRmFpbGVkKQotICAgICAg
ICAgICAgd2Vha1RoaXMtPm1fY2xpZW50LmRpZFJlY2VpdmVSZW1vdGVDb250cm9sQ29tbWFuZChw
bGF0Zm9ybUNvbW1hbmQsIGFyZ3VtZW50KTsKKyAgICAgICAgICAgIHdlYWtUaGlzLT5jbGllbnQo
KS5kaWRSZWNlaXZlUmVtb3RlQ29udHJvbENvbW1hbmQocGxhdGZvcm1Db21tYW5kLCBhcmd1bWVu
dCk7CiAKICAgICAgICAgY29tcGxldGlvbigoX19icmlkZ2UgQ0ZBcnJheVJlZilAW0Aoc3RhdHVz
KV0pOwogICAgIH0pOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWFjL01l
ZGlhUmVtb3RlU29mdExpbmsuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21hYy9NZWRpYVJl
bW90ZVNvZnRMaW5rLmgKaW5kZXggMGFlODNkZDAyMjk5YTJmOTZiMjE3NzQ4MmIzYzc3MmJiNjkw
ZDA2OS4uZjEwZTA5MjY3Mzg3NmFkZjE1ZjdlM2JhNjA4ODYyZmM4MjFmZjdhMCAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWFjL01lZGlhUmVtb3RlU29mdExpbmsuaAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tYWMvTWVkaWFSZW1vdGVTb2Z0TGluay5oCkBAIC03
OCw2ICs3OCw4IEBAIFNPRlRfTElOS19DT05TVEFOVF9GT1JfSEVBREVSKFdlYkNvcmUsIE1lZGlh
UmVtb3RlLCBrTVJNZWRpYVJlbW90ZU5vd1BsYXlpbmdJbmZvCiAjZGVmaW5lIGtNUk1lZGlhUmVt
b3RlTm93UGxheWluZ0luZm9VbmlxdWVJZGVudGlmaWVyIGdldF9NZWRpYVJlbW90ZV9rTVJNZWRp
YVJlbW90ZU5vd1BsYXlpbmdJbmZvVW5pcXVlSWRlbnRpZmllcigpCiBTT0ZUX0xJTktfQ09OU1RB
TlRfRk9SX0hFQURFUihXZWJDb3JlLCBNZWRpYVJlbW90ZSwga01STWVkaWFSZW1vdGVPcHRpb25T
a2lwSW50ZXJ2YWwsIENGU3RyaW5nUmVmKTsKICNkZWZpbmUga01STWVkaWFSZW1vdGVPcHRpb25T
a2lwSW50ZXJ2YWwgZ2V0X01lZGlhUmVtb3RlX2tNUk1lZGlhUmVtb3RlT3B0aW9uU2tpcEludGVy
dmFsKCkKK1NPRlRfTElOS19DT05TVEFOVF9GT1JfSEVBREVSKFdlYkNvcmUsIE1lZGlhUmVtb3Rl
LCBrTVJNZWRpYVJlbW90ZUNvbW1hbmRJbmZvUHJlZmVycmVkSW50ZXJ2YWxzS2V5LCBDRlN0cmlu
Z1JlZik7CisjZGVmaW5lIGtNUk1lZGlhUmVtb3RlQ29tbWFuZEluZm9QcmVmZXJyZWRJbnRlcnZh
bHNLZXkgZ2V0X01lZGlhUmVtb3RlX2tNUk1lZGlhUmVtb3RlT3B0aW9uU2tpcEludGVydmFsKCkK
IAogI2lmIFBMQVRGT1JNKElPU19GQU1JTFkpCiBTT0ZUX0xJTktfRlVOQ1RJT05fRk9SX0hFQURF
UihXZWJDb3JlLCBNZWRpYVJlbW90ZSwgTVJNZWRpYVJlbW90ZUNvcHlQaWNrYWJsZVJvdXRlcywg
Q0ZBcnJheVJlZiwgKCksICgpKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
bWFjL01lZGlhUmVtb3RlU29mdExpbmsubW0gYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tYWMv
TWVkaWFSZW1vdGVTb2Z0TGluay5tbQppbmRleCA3M2U3YjIwZDliZjU1MjcwNDdhYzM4MTE1MjAw
NmYzZTg1MjE1ZTMxLi4zNjE1ZWYyY2Y5NjQ1MmU1MTdiMTgzNDc4MDMzNzQyNTdiMWNlOTgyIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tYWMvTWVkaWFSZW1vdGVTb2Z0TGlu
ay5tbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tYWMvTWVkaWFSZW1vdGVTb2Z0TGlu
ay5tbQpAQCAtNTQsNiArNTQsNyBAQCBTT0ZUX0xJTktfQ09OU1RBTlRfRk9SX1NPVVJDRShXZWJD
b3JlLCBNZWRpYVJlbW90ZSwga01STWVkaWFSZW1vdGVOb3dQbGF5aW5nSW5mbwogU09GVF9MSU5L
X0NPTlNUQU5UX0ZPUl9TT1VSQ0UoV2ViQ29yZSwgTWVkaWFSZW1vdGUsIGtNUk1lZGlhUmVtb3Rl
T3B0aW9uUGxheWJhY2tQb3NpdGlvbiwgQ0ZTdHJpbmdSZWYpOwogU09GVF9MSU5LX0NPTlNUQU5U
X0ZPUl9TT1VSQ0UoV2ViQ29yZSwgTWVkaWFSZW1vdGUsIGtNUk1lZGlhUmVtb3RlTm93UGxheWlu
Z0luZm9VbmlxdWVJZGVudGlmaWVyLCBDRlN0cmluZ1JlZik7CiBTT0ZUX0xJTktfQ09OU1RBTlRf
Rk9SX1NPVVJDRShXZWJDb3JlLCBNZWRpYVJlbW90ZSwga01STWVkaWFSZW1vdGVPcHRpb25Ta2lw
SW50ZXJ2YWwsIENGU3RyaW5nUmVmKTsKK1NPRlRfTElOS19DT05TVEFOVF9GT1JfU09VUkNFKFdl
YkNvcmUsIE1lZGlhUmVtb3RlLCBrTVJNZWRpYVJlbW90ZUNvbW1hbmRJbmZvUHJlZmVycmVkSW50
ZXJ2YWxzS2V5LCBDRlN0cmluZ1JlZik7CiAKICNpZiBQTEFURk9STShJT1NfRkFNSUxZKQogU09G
VF9MSU5LX0ZVTkNUSU9OX0ZPUl9TT1VSQ0UoV2ViQ29yZSwgTWVkaWFSZW1vdGUsIE1STWVkaWFS
ZW1vdGVDb3B5UGlja2FibGVSb3V0ZXMsIENGQXJyYXlSZWYsICgpLCAoKSk7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvR1BVQ29ubmVjdGlvblRvV2ViUHJvY2Vzcy5jcHAg
Yi9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvR1BVQ29ubmVjdGlvblRvV2ViUHJvY2Vzcy5jcHAK
aW5kZXggYzM5OWQ2YmZjMmNmODQzYjBjNGVkMzM3ZTQ3NTEwZjg5YWM4YmNjNC4uNzVkMDE5N2E3
ZTZiZDU4YTg5ZjQzN2Y5ZTFmYTgzNjE1MTdlMDUxNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dC9HUFVQcm9jZXNzL0dQVUNvbm5lY3Rpb25Ub1dlYlByb2Nlc3MuY3BwCisrKyBiL1NvdXJjZS9X
ZWJLaXQvR1BVUHJvY2Vzcy9HUFVDb25uZWN0aW9uVG9XZWJQcm9jZXNzLmNwcApAQCAtNTEsNiAr
NTEsNyBAQAogI2luY2x1ZGUgIlJlbW90ZU1lZGlhUmVzb3VyY2VNYW5hZ2VyLmgiCiAjaW5jbHVk
ZSAiUmVtb3RlTWVkaWFSZXNvdXJjZU1hbmFnZXJNZXNzYWdlcy5oIgogI2luY2x1ZGUgIlJlbW90
ZVJlbW90ZUNvbW1hbmRMaXN0ZW5lclByb3h5LmgiCisjaW5jbHVkZSAiUmVtb3RlUmVtb3RlQ29t
bWFuZExpc3RlbmVyUHJveHlNZXNzYWdlcy5oIgogI2luY2x1ZGUgIlJlbW90ZVJlbmRlcmluZ0Jh
Y2tlbmQuaCIKICNpbmNsdWRlICJSZW1vdGVTYW1wbGVCdWZmZXJEaXNwbGF5TGF5ZXJNYW5hZ2Vy
LmgiCiAjaW5jbHVkZSAiUmVtb3RlU2FtcGxlQnVmZmVyRGlzcGxheUxheWVyTWFuYWdlck1lc3Nh
Z2VzLmgiCkBAIC0zNjYsMTIgKzM2NywyNCBAQCB2b2lkIEdQVUNvbm5lY3Rpb25Ub1dlYlByb2Nl
c3M6OnJlbGVhc2VHcmFwaGljc0NvbnRleHRHTChHcmFwaGljc0NvbnRleHRHTElkZW50aQogI2Vu
ZGlmCiB2b2lkIEdQVUNvbm5lY3Rpb25Ub1dlYlByb2Nlc3M6OmNsZWFyTm93UGxheWluZ0luZm8o
KQogeworICAgIG1faXNBY3RpdmVOb3dQbGF5aW5nUHJvY2VzcyA9IGZhbHNlOwogICAgIGdwdVBy
b2Nlc3MoKS5ub3dQbGF5aW5nTWFuYWdlcigpLmNsZWFyTm93UGxheWluZ0luZm9DbGllbnQoKnRo
aXMpOwogfQogCiB2b2lkIEdQVUNvbm5lY3Rpb25Ub1dlYlByb2Nlc3M6OnNldE5vd1BsYXlpbmdJ
bmZvKGJvb2wgc2V0QXNOb3dQbGF5aW5nQXBwbGljYXRpb24sIE5vd1BsYXlpbmdJbmZvJiYgbm93
UGxheWluZ0luZm8pCiB7CisgICAgbV9pc0FjdGl2ZU5vd1BsYXlpbmdQcm9jZXNzID0gdHJ1ZTsK
ICAgICBncHVQcm9jZXNzKCkubm93UGxheWluZ01hbmFnZXIoKS5zZXROb3dQbGF5aW5nSW5mbygq
dGhpcywgV1RGTW92ZShub3dQbGF5aW5nSW5mbykpOworICAgIHVwZGF0ZVN1cHBvcnRlZFJlbW90
ZUNvbW1hbmRzKCk7Cit9CisKK3ZvaWQgR1BVQ29ubmVjdGlvblRvV2ViUHJvY2Vzczo6dXBkYXRl
U3VwcG9ydGVkUmVtb3RlQ29tbWFuZHMoKQoreworICAgIGlmICghbV9pc0FjdGl2ZU5vd1BsYXlp
bmdQcm9jZXNzIHx8ICFtX3JlbW90ZVJlbW90ZUNvbW1hbmRMaXN0ZW5lcikKKyAgICAgICAgcmV0
dXJuOworCisgICAgZ3B1UHJvY2VzcygpLm5vd1BsYXlpbmdNYW5hZ2VyKCkuc2V0U3VwcG9ydGVk
UmVtb3RlQ29tbWFuZHMobV9yZW1vdGVSZW1vdGVDb21tYW5kTGlzdGVuZXItPnN1cHBvcnRlZENv
bW1hbmRzKCksIG1fcmVtb3RlUmVtb3RlQ29tbWFuZExpc3RlbmVyLT5zdXBwb3J0c1NlZWtpbmco
KSk7CisKIH0KIAogdm9pZCBHUFVDb25uZWN0aW9uVG9XZWJQcm9jZXNzOjpkaWRSZWNlaXZlUmVt
b3RlQ29udHJvbENvbW1hbmQoUGxhdGZvcm1NZWRpYVNlc3Npb246OlJlbW90ZUNvbnRyb2xDb21t
YW5kVHlwZSB0eXBlLCBjb25zdCBQbGF0Zm9ybU1lZGlhU2Vzc2lvbjo6UmVtb3RlQ29tbWFuZEFy
Z3VtZW50JiBhcmd1bWVudCkKQEAgLTQzNSwxNiArNDQ4LDEzIEBAIHZvaWQgR1BVQ29ubmVjdGlv
blRvV2ViUHJvY2Vzczo6cmVsZWFzZUF1ZGlvSGFyZHdhcmVMaXN0ZW5lcihSZW1vdGVBdWRpb0hh
cmR3YXJlCiAKIHZvaWQgR1BVQ29ubmVjdGlvblRvV2ViUHJvY2Vzczo6Y3JlYXRlUmVtb3RlQ29t
bWFuZExpc3RlbmVyKFJlbW90ZVJlbW90ZUNvbW1hbmRMaXN0ZW5lcklkZW50aWZpZXIgaWRlbnRp
ZmllcikKIHsKLSAgICBhdXRvIGFkZFJlc3VsdCA9IG1fcmVtb3RlUmVtb3RlQ29tbWFuZExpc3Rl
bmVyTWFwLmVuc3VyZShpZGVudGlmaWVyLCBbJl0oKSB7Ci0gICAgICAgIHJldHVybiBtYWtlVW5p
cXVlPFJlbW90ZVJlbW90ZUNvbW1hbmRMaXN0ZW5lclByb3h5PigqdGhpcywgV1RGTW92ZShpZGVu
dGlmaWVyKSk7Ci0gICAgfSk7Ci0gICAgQVNTRVJUX1VOVVNFRChhZGRSZXN1bHQsIGFkZFJlc3Vs
dC5pc05ld0VudHJ5KTsKKyAgICBtX3JlbW90ZVJlbW90ZUNvbW1hbmRMaXN0ZW5lciA9IFJlbW90
ZVJlbW90ZUNvbW1hbmRMaXN0ZW5lclByb3h5OjpjcmVhdGUoKnRoaXMsIFdURk1vdmUoaWRlbnRp
ZmllcikpOwogfQogCiB2b2lkIEdQVUNvbm5lY3Rpb25Ub1dlYlByb2Nlc3M6OnJlbGVhc2VSZW1v
dGVDb21tYW5kTGlzdGVuZXIoUmVtb3RlUmVtb3RlQ29tbWFuZExpc3RlbmVySWRlbnRpZmllciBp
ZGVudGlmaWVyKQogewotICAgIGJvb2wgZm91bmQgPSBtX3JlbW90ZVJlbW90ZUNvbW1hbmRMaXN0
ZW5lck1hcC5yZW1vdmUoaWRlbnRpZmllcik7Ci0gICAgQVNTRVJUX1VOVVNFRChmb3VuZCwgZm91
bmQpOworICAgIGlmIChtX3JlbW90ZVJlbW90ZUNvbW1hbmRMaXN0ZW5lciAmJiBtX3JlbW90ZVJl
bW90ZUNvbW1hbmRMaXN0ZW5lci0+aWRlbnRpZmllcigpID09IGlkZW50aWZpZXIpCisgICAgICAg
IG1fcmVtb3RlUmVtb3RlQ29tbWFuZExpc3RlbmVyID0gbnVsbHB0cjsKIH0KIAogdm9pZCBHUFVD
b25uZWN0aW9uVG9XZWJQcm9jZXNzOjpzZXRNZWRpYU92ZXJyaWRlc0ZvclRlc3RpbmcoTWVkaWFP
dmVycmlkZXNGb3JUZXN0aW5nIG92ZXJyaWRlcykKQEAgLTU0Niw2ICs1NTYsMTEgQEAgYm9vbCBH
UFVDb25uZWN0aW9uVG9XZWJQcm9jZXNzOjpkaXNwYXRjaE1lc3NhZ2UoSVBDOjpDb25uZWN0aW9u
JiBjb25uZWN0aW9uLCBJUEMKICAgICB9CiAjZW5kaWYKIAorICAgIGlmIChtX3JlbW90ZVJlbW90
ZUNvbW1hbmRMaXN0ZW5lciAmJiBkZWNvZGVyLm1lc3NhZ2VSZWNlaXZlck5hbWUoKSA9PSBNZXNz
YWdlczo6UmVtb3RlUmVtb3RlQ29tbWFuZExpc3RlbmVyUHJveHk6Om1lc3NhZ2VSZWNlaXZlck5h
bWUoKSkgeworICAgICAgICBtX3JlbW90ZVJlbW90ZUNvbW1hbmRMaXN0ZW5lci0+ZGlkUmVjZWl2
ZU1lc3NhZ2UoY29ubmVjdGlvbiwgZGVjb2Rlcik7CisgICAgICAgIHJldHVybiB0cnVlOworICAg
IH0KKwogICAgIHJldHVybiBtZXNzYWdlUmVjZWl2ZXJNYXAoKS5kaXNwYXRjaE1lc3NhZ2UoY29u
bmVjdGlvbiwgZGVjb2Rlcik7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvR1BVUHJv
Y2Vzcy9HUFVDb25uZWN0aW9uVG9XZWJQcm9jZXNzLmggYi9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nl
c3MvR1BVQ29ubmVjdGlvblRvV2ViUHJvY2Vzcy5oCmluZGV4IDJhZmJlYWE0ZGJiODMyYjA2MmIz
NDQ4ZjZkZTQ5OWY4ZWMxZmEzMWUuLmMyZDA3ODY5ZDNjMDU1ZTBiMmFjMzgxMjBjMjdkZTVjODE3
OThhZjIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9HUFVDb25uZWN0aW9u
VG9XZWJQcm9jZXNzLmgKKysrIGIvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL0dQVUNvbm5lY3Rp
b25Ub1dlYlByb2Nlc3MuaApAQCAtMTI3LDYgKzEyNyw4IEBAIHB1YmxpYzoKICAgICBSZW1vdGVJ
bWFnZURlY29kZXJBVkZQcm94eSYgaW1hZ2VEZWNvZGVyQVZGUHJveHkoKTsKICNlbmRpZgogCisg
ICAgdm9pZCB1cGRhdGVTdXBwb3J0ZWRSZW1vdGVDb21tYW5kcygpOworCiAgICAgdm9pZCB0ZXJt
aW5hdGVXZWJQcm9jZXNzKCk7CiAKIHByaXZhdGU6CkBAIC0yNDQsOCArMjQ2LDkgQEAgcHJpdmF0
ZToKIAogICAgIHVzaW5nIFJlbW90ZUF1ZGlvSGFyZHdhcmVMaXN0ZW5lck1hcCA9IEhhc2hNYXA8
UmVtb3RlQXVkaW9IYXJkd2FyZUxpc3RlbmVySWRlbnRpZmllciwgc3RkOjp1bmlxdWVfcHRyPFJl
bW90ZUF1ZGlvSGFyZHdhcmVMaXN0ZW5lclByb3h5Pj47CiAgICAgUmVtb3RlQXVkaW9IYXJkd2Fy
ZUxpc3RlbmVyTWFwIG1fcmVtb3RlQXVkaW9IYXJkd2FyZUxpc3RlbmVyTWFwOwotICAgIHVzaW5n
IFJlbW90ZVJlbW90ZUNvbW1hbmRMaXN0ZW5lck1hcCA9IEhhc2hNYXA8UmVtb3RlUmVtb3RlQ29t
bWFuZExpc3RlbmVySWRlbnRpZmllciwgc3RkOjp1bmlxdWVfcHRyPFJlbW90ZVJlbW90ZUNvbW1h
bmRMaXN0ZW5lclByb3h5Pj47Ci0gICAgUmVtb3RlUmVtb3RlQ29tbWFuZExpc3RlbmVyTWFwIG1f
cmVtb3RlUmVtb3RlQ29tbWFuZExpc3RlbmVyTWFwOworCisgICAgUmVmUHRyPFJlbW90ZVJlbW90
ZUNvbW1hbmRMaXN0ZW5lclByb3h5PiBtX3JlbW90ZVJlbW90ZUNvbW1hbmRMaXN0ZW5lcjsKKyAg
ICBib29sIG1faXNBY3RpdmVOb3dQbGF5aW5nUHJvY2VzcyB7IGZhbHNlIH07CiB9OwogCiB9IC8v
IG5hbWVzcGFjZSBXZWJLaXQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9t
ZWRpYS9SZW1vdGVSZW1vdGVDb21tYW5kTGlzdGVuZXJQcm94eS5jcHAgYi9Tb3VyY2UvV2ViS2l0
L0dQVVByb2Nlc3MvbWVkaWEvUmVtb3RlUmVtb3RlQ29tbWFuZExpc3RlbmVyUHJveHkuY3BwCmlu
ZGV4IDJlYzc5YTY0MmNjYTNmZmIyN2M0YzkwN2IwMThhY2JiZDQ3MjY1YjkuLjgzZDg3YTBhZjBl
MDFhZjM0YzkzZDhhODFiYmMzNGUxZTJiN2I3MzUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQv
R1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVSZW1vdGVDb21tYW5kTGlzdGVuZXJQcm94eS5jcHAKKysr
IGIvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL21lZGlhL1JlbW90ZVJlbW90ZUNvbW1hbmRMaXN0
ZW5lclByb3h5LmNwcApAQCAtMjksNiArMjksNyBAQAogI2lmIEVOQUJMRShHUFVfUFJPQ0VTUykK
IAogI2luY2x1ZGUgIkdQVUNvbm5lY3Rpb25Ub1dlYlByb2Nlc3MuaCIKKyNpbmNsdWRlICJHUFVQ
cm9jZXNzLmgiCiAjaW5jbHVkZSAiUmVtb3RlUmVtb3RlQ29tbWFuZExpc3RlbmVyTWVzc2FnZXMu
aCIKIAogbmFtZXNwYWNlIFdlYktpdCB7CkBAIC0zOCwyNCArMzksMTkgQEAgdXNpbmcgbmFtZXNw
YWNlIFdlYkNvcmU7CiBSZW1vdGVSZW1vdGVDb21tYW5kTGlzdGVuZXJQcm94eTo6UmVtb3RlUmVt
b3RlQ29tbWFuZExpc3RlbmVyUHJveHkoR1BVQ29ubmVjdGlvblRvV2ViUHJvY2VzcyYgZ3B1Q29u
bmVjdGlvbiwgUmVtb3RlUmVtb3RlQ29tbWFuZExpc3RlbmVySWRlbnRpZmllciYmIGlkZW50aWZp
ZXIpCiAgICAgOiBtX2dwdUNvbm5lY3Rpb24obWFrZVdlYWtQdHIoZ3B1Q29ubmVjdGlvbikpCiAg
ICAgLCBtX2lkZW50aWZpZXIoV1RGTW92ZShpZGVudGlmaWVyKSkKLSAgICAsIG1fbGlzdGVuZXIo
V2ViQ29yZTo6UmVtb3RlQ29tbWFuZExpc3RlbmVyOjpjcmVhdGUoKnRoaXMpKQogewogfQogCiBS
ZW1vdGVSZW1vdGVDb21tYW5kTGlzdGVuZXJQcm94eTo6flJlbW90ZVJlbW90ZUNvbW1hbmRMaXN0
ZW5lclByb3h5KCkgPSBkZWZhdWx0OwogCi12b2lkIFJlbW90ZVJlbW90ZUNvbW1hbmRMaXN0ZW5l
clByb3h5OjpkaWRSZWNlaXZlUmVtb3RlQ29udHJvbENvbW1hbmQoUGxhdGZvcm1NZWRpYVNlc3Np
b246OlJlbW90ZUNvbnRyb2xDb21tYW5kVHlwZSBjb21tYW5kLCBjb25zdCBQbGF0Zm9ybU1lZGlh
U2Vzc2lvbjo6UmVtb3RlQ29tbWFuZEFyZ3VtZW50JiBhcmd1bWVudCkKK3ZvaWQgUmVtb3RlUmVt
b3RlQ29tbWFuZExpc3RlbmVyUHJveHk6OnVwZGF0ZVN1cHBvcnRlZENvbW1hbmRzKFZlY3RvcjxX
ZWJDb3JlOjpQbGF0Zm9ybU1lZGlhU2Vzc2lvbjo6UmVtb3RlQ29udHJvbENvbW1hbmRUeXBlPiYm
IHJlZ2lzdGVyZWRDb21tYW5kcywgYm9vbCBzdXBwb3J0c1NlZWtpbmcpCiB7Ci0gICAgaWYgKCFt
X2dwdUNvbm5lY3Rpb24pCi0gICAgICAgIHJldHVybjsKKyAgICBtX3N1cHBvcnRlZENvbW1hbmRz
LmNsZWFyKCk7CisgICAgbV9zdXBwb3J0ZWRDb21tYW5kcy5hZGQocmVnaXN0ZXJlZENvbW1hbmRz
LmJlZ2luKCksIHJlZ2lzdGVyZWRDb21tYW5kcy5lbmQoKSk7CisgICAgbV9zdXBwb3J0c1NlZWtp
bmcgPSBzdXBwb3J0c1NlZWtpbmc7CiAKLSAgICBtX2dwdUNvbm5lY3Rpb24tPmNvbm5lY3Rpb24o
KS5zZW5kKE1lc3NhZ2VzOjpSZW1vdGVSZW1vdGVDb21tYW5kTGlzdGVuZXI6OkRpZFJlY2VpdmVS
ZW1vdGVDb250cm9sQ29tbWFuZChjb21tYW5kLCBhcmd1bWVudCksIG1faWRlbnRpZmllcik7Ci19
Ci0KLXZvaWQgUmVtb3RlUmVtb3RlQ29tbWFuZExpc3RlbmVyUHJveHk6OnVwZGF0ZVN1cHBvcnRl
ZENvbW1hbmRzKGJvb2wgc3VwcG9ydHNTZWVraW5nKQotewotICAgIG1fbGlzdGVuZXItPnNldFN1
cHBvcnRzU2Vla2luZyhzdXBwb3J0c1NlZWtpbmcpOwotICAgIG1fbGlzdGVuZXItPnVwZGF0ZVN1
cHBvcnRlZENvbW1hbmRzKCk7CisgICAgaWYgKG1fZ3B1Q29ubmVjdGlvbikKKyAgICAgICAgbV9n
cHVDb25uZWN0aW9uLT51cGRhdGVTdXBwb3J0ZWRSZW1vdGVDb21tYW5kcygpOwogfQogCiB9CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvbWVkaWEvUmVtb3RlUmVtb3RlQ29t
bWFuZExpc3RlbmVyUHJveHkuaCBiL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9tZWRpYS9SZW1v
dGVSZW1vdGVDb21tYW5kTGlzdGVuZXJQcm94eS5oCmluZGV4IDllYTdkZWE5MTJjNDgwNTZlNTQ0
YWMwYzczOGFhMDVlZjEwYzU3MGEuLjMyODZiMDE5OGM5MGEyMmJjNTJiMWFhZWFhMDM3ODc4Zjhi
MDQ4NjMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVS
ZW1vdGVDb21tYW5kTGlzdGVuZXJQcm94eS5oCisrKyBiL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vz
cy9tZWRpYS9SZW1vdGVSZW1vdGVDb21tYW5kTGlzdGVuZXJQcm94eS5oCkBAIC0zMCw2ICszMCw3
IEBACiAjaW5jbHVkZSAiTWVzc2FnZVJlY2VpdmVyLmgiCiAjaW5jbHVkZSAiUmVtb3RlUmVtb3Rl
Q29tbWFuZExpc3RlbmVySWRlbnRpZmllci5oIgogI2luY2x1ZGUgPFdlYkNvcmUvUmVtb3RlQ29t
bWFuZExpc3RlbmVyLmg+CisjaW5jbHVkZSA8d3RmL1JldGFpblB0ci5oPgogI2luY2x1ZGUgPHd0
Zi9VbmlxdWVSZWYuaD4KICNpbmNsdWRlIDx3dGYvV2Vha1B0ci5oPgogCkBAIC00MSwyNyArNDIs
MzQgQEAgbmFtZXNwYWNlIFdlYktpdCB7CiAKIGNsYXNzIEdQVUNvbm5lY3Rpb25Ub1dlYlByb2Nl
c3M7CiAKLWNsYXNzIFJlbW90ZVJlbW90ZUNvbW1hbmRMaXN0ZW5lclByb3h5Ci0gICAgOiBwcml2
YXRlIFdlYkNvcmU6OlJlbW90ZUNvbW1hbmRMaXN0ZW5lckNsaWVudAotICAgICwgcHJpdmF0ZSBJ
UEM6Ok1lc3NhZ2VSZWNlaXZlciB7CitjbGFzcyBSZW1vdGVSZW1vdGVDb21tYW5kTGlzdGVuZXJQ
cm94eSA6IHB1YmxpYyBSZWZDb3VudGVkPFJlbW90ZVJlbW90ZUNvbW1hbmRMaXN0ZW5lclByb3h5
PiwgcHJpdmF0ZSBJUEM6Ok1lc3NhZ2VSZWNlaXZlciB7CiAgICAgV1RGX01BS0VfRkFTVF9BTExP
Q0FURUQ7CiBwdWJsaWM6Ci0gICAgUmVtb3RlUmVtb3RlQ29tbWFuZExpc3RlbmVyUHJveHkoR1BV
Q29ubmVjdGlvblRvV2ViUHJvY2VzcyYsIFJlbW90ZVJlbW90ZUNvbW1hbmRMaXN0ZW5lcklkZW50
aWZpZXImJik7CisgICAgc3RhdGljIFJlZjxSZW1vdGVSZW1vdGVDb21tYW5kTGlzdGVuZXJQcm94
eT4gY3JlYXRlKEdQVUNvbm5lY3Rpb25Ub1dlYlByb2Nlc3MmIHByb2Nlc3MsIFJlbW90ZVJlbW90
ZUNvbW1hbmRMaXN0ZW5lcklkZW50aWZpZXImJiBpZGVudGlmaWVyKQorICAgIHsKKyAgICAgICAg
cmV0dXJuIGFkb3B0UmVmKCpuZXcgUmVtb3RlUmVtb3RlQ29tbWFuZExpc3RlbmVyUHJveHkocHJv
Y2VzcywgV1RGTW92ZShpZGVudGlmaWVyKSkpOworICAgIH0KKwogICAgIHZpcnR1YWwgflJlbW90
ZVJlbW90ZUNvbW1hbmRMaXN0ZW5lclByb3h5KCk7CiAKLXByaXZhdGU6CisgICAgYm9vbCBzdXBw
b3J0c1NlZWtpbmcoKSBjb25zdCB7IHJldHVybiBtX3N1cHBvcnRzU2Vla2luZzsgfQorICAgIGNv
bnN0IFdlYkNvcmU6OlJlbW90ZUNvbW1hbmRMaXN0ZW5lcjo6UmVtb3RlQ29tbWFuZHNTZXQmIHN1
cHBvcnRlZENvbW1hbmRzKCkgY29uc3QgeyByZXR1cm4gbV9zdXBwb3J0ZWRDb21tYW5kczsgfQor
CisgICAgUmVtb3RlUmVtb3RlQ29tbWFuZExpc3RlbmVySWRlbnRpZmllciBpZGVudGlmaWVyKCkg
Y29uc3QgeyByZXR1cm4gbV9pZGVudGlmaWVyOyB9CisKICAgICAvLyBJUEM6Ok1lc3NhZ2VSZWNl
aXZlcgogICAgIHZvaWQgZGlkUmVjZWl2ZU1lc3NhZ2UoSVBDOjpDb25uZWN0aW9uJiwgSVBDOjpE
ZWNvZGVyJikgZmluYWw7CiAKLSAgICAvLyBSZW1vdGVDb21tYW5kTGlzdGVuZXJDbGllbnQKLSAg
ICB2b2lkIGRpZFJlY2VpdmVSZW1vdGVDb250cm9sQ29tbWFuZChXZWJDb3JlOjpQbGF0Zm9ybU1l
ZGlhU2Vzc2lvbjo6UmVtb3RlQ29udHJvbENvbW1hbmRUeXBlLCBjb25zdCBXZWJDb3JlOjpQbGF0
Zm9ybU1lZGlhU2Vzc2lvbjo6UmVtb3RlQ29tbWFuZEFyZ3VtZW50JikgZmluYWw7Citwcml2YXRl
OgorICAgIFJlbW90ZVJlbW90ZUNvbW1hbmRMaXN0ZW5lclByb3h5KEdQVUNvbm5lY3Rpb25Ub1dl
YlByb2Nlc3MmLCBSZW1vdGVSZW1vdGVDb21tYW5kTGlzdGVuZXJJZGVudGlmaWVyJiYpOwogCiAg
ICAgLy8gTWVzc2FnZXMKLSAgICB2b2lkIHVwZGF0ZVN1cHBvcnRlZENvbW1hbmRzKGJvb2wgc3Vw
cG9ydHNTZWVraW5nKTsKKyAgICB2b2lkIHVwZGF0ZVN1cHBvcnRlZENvbW1hbmRzKFZlY3RvcjxX
ZWJDb3JlOjpQbGF0Zm9ybU1lZGlhU2Vzc2lvbjo6UmVtb3RlQ29udHJvbENvbW1hbmRUeXBlPiYm
IGNvbW1hbmRzLCBib29sIHN1cHBvcnRzU2Vla2luZyk7CiAKICAgICBXZWFrUHRyPEdQVUNvbm5l
Y3Rpb25Ub1dlYlByb2Nlc3M+IG1fZ3B1Q29ubmVjdGlvbjsKICAgICBSZW1vdGVSZW1vdGVDb21t
YW5kTGlzdGVuZXJJZGVudGlmaWVyIG1faWRlbnRpZmllcjsKLSAgICBzdGQ6OnVuaXF1ZV9wdHI8
V2ViQ29yZTo6UmVtb3RlQ29tbWFuZExpc3RlbmVyPiBtX2xpc3RlbmVyOworICAgIFdlYkNvcmU6
OlJlbW90ZUNvbW1hbmRMaXN0ZW5lcjo6UmVtb3RlQ29tbWFuZHNTZXQgbV9zdXBwb3J0ZWRDb21t
YW5kczsKKyAgICBib29sIG1fc3VwcG9ydHNTZWVraW5nIHsgZmFsc2UgfTsKIH07CiAKIH0KZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVSZW1vdGVDb21t
YW5kTGlzdGVuZXJQcm94eS5tZXNzYWdlcy5pbiBiL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9t
ZWRpYS9SZW1vdGVSZW1vdGVDb21tYW5kTGlzdGVuZXJQcm94eS5tZXNzYWdlcy5pbgppbmRleCAz
NDA5MzRjMjRkMTcyMGE3YWU4Y2VkNjdmOThkMzA0ZTNiNDJhY2JiLi5iMTIyNGY0MTFkNDUyMjVm
YmQwOTMyNzkwZTIxZWZjMzg3YTQ5ZDMxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0dQVVBy
b2Nlc3MvbWVkaWEvUmVtb3RlUmVtb3RlQ29tbWFuZExpc3RlbmVyUHJveHkubWVzc2FnZXMuaW4K
KysrIGIvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL21lZGlhL1JlbW90ZVJlbW90ZUNvbW1hbmRM
aXN0ZW5lclByb3h5Lm1lc3NhZ2VzLmluCkBAIC0yNiw3ICsyNiw3IEBACiAjaWYgRU5BQkxFKEdQ
VV9QUk9DRVNTKQogCiBtZXNzYWdlcyAtPiBSZW1vdGVSZW1vdGVDb21tYW5kTGlzdGVuZXJQcm94
eSBOb3RSZWZDb3VudGVkIHsKLSAgICBVcGRhdGVTdXBwb3J0ZWRDb21tYW5kcyhib29sIHN1cHBv
cnRzU2Vla2luZykKKyAgICBVcGRhdGVTdXBwb3J0ZWRDb21tYW5kcyhWZWN0b3I8V2ViQ29yZTo6
UGxhdGZvcm1NZWRpYVNlc3Npb246OlJlbW90ZUNvbnRyb2xDb21tYW5kVHlwZT4gY29tbWFuZHMs
IGJvb2wgc3VwcG9ydHNTZWVraW5nKQogfQogCiAjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQvV2ViUHJvY2Vzcy9HUFUvbWVkaWEvUmVtb3RlUmVtb3RlQ29tbWFuZExpc3RlbmVyLmNw
cCBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUvbWVkaWEvUmVtb3RlUmVtb3RlQ29tbWFu
ZExpc3RlbmVyLmNwcAppbmRleCA2NGE4MzhmNDA3NzkxYWVkNTE0YWM0MjA2ZTM3Y2M1ZmRhMTA4
OWI3Li41Y2EzODgyOWRjZGFjNzRkNDZiYTg5YjExMTU4NTlkOTg2MjMyY2FkIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BVL21lZGlhL1JlbW90ZVJlbW90ZUNvbW1hbmRM
aXN0ZW5lci5jcHAKKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQVS9tZWRpYS9SZW1v
dGVSZW1vdGVDb21tYW5kTGlzdGVuZXIuY3BwCkBAIC0zMSw2ICszMSw3IEBACiAjaW5jbHVkZSAi
R1BVQ29ubmVjdGlvblRvV2ViUHJvY2Vzc01lc3NhZ2VzLmgiCiAjaW5jbHVkZSAiR1BVUHJvY2Vz
c1Byb3h5LmgiCiAjaW5jbHVkZSAiUmVtb3RlUmVtb3RlQ29tbWFuZExpc3RlbmVyTWVzc2FnZXMu
aCIKKyNpbmNsdWRlICJSZW1vdGVSZW1vdGVDb21tYW5kTGlzdGVuZXJQcm94eU1lc3NhZ2VzLmgi
CiAjaW5jbHVkZSAiV2ViUHJvY2Vzcy5oIgogCiBuYW1lc3BhY2UgV2ViS2l0IHsKQEAgLTQ3LDcg
KzQ4LDcgQEAgUmVtb3RlUmVtb3RlQ29tbWFuZExpc3RlbmVyOjpSZW1vdGVSZW1vdGVDb21tYW5k
TGlzdGVuZXIoUmVtb3RlQ29tbWFuZExpc3RlbmVyQ2wKICAgICAsIG1fcHJvY2Vzcyh3ZWJQcm9j
ZXNzKQogICAgICwgbV9pZGVudGlmaWVyKFJlbW90ZVJlbW90ZUNvbW1hbmRMaXN0ZW5lcklkZW50
aWZpZXI6OmdlbmVyYXRlKCkpCiB7Ci0gICAgYXV0byYgY29ubmVjdGlvbiA9IFdlYlByb2Nlc3M6
OnNpbmdsZXRvbigpLmVuc3VyZUdQVVByb2Nlc3NDb25uZWN0aW9uKCk7CisgICAgYXV0byYgY29u
bmVjdGlvbiA9IG1fcHJvY2Vzcy5lbnN1cmVHUFVQcm9jZXNzQ29ubmVjdGlvbigpOwogICAgIGNv
bm5lY3Rpb24uYWRkQ2xpZW50KCp0aGlzKTsKICAgICBjb25uZWN0aW9uLm1lc3NhZ2VSZWNlaXZl
ck1hcCgpLmFkZE1lc3NhZ2VSZWNlaXZlcihNZXNzYWdlczo6UmVtb3RlUmVtb3RlQ29tbWFuZExp
c3RlbmVyOjptZXNzYWdlUmVjZWl2ZXJOYW1lKCksIG1faWRlbnRpZmllci50b1VJbnQ2NCgpLCAq
dGhpcyk7CiAgICAgY29ubmVjdGlvbi5jb25uZWN0aW9uKCkuc2VuZChNZXNzYWdlczo6R1BVQ29u
bmVjdGlvblRvV2ViUHJvY2Vzczo6Q3JlYXRlUmVtb3RlQ29tbWFuZExpc3RlbmVyKG1faWRlbnRp
ZmllciksIHsgfSk7CkBAIC01NSw3ICs1Niw3IEBAIFJlbW90ZVJlbW90ZUNvbW1hbmRMaXN0ZW5l
cjo6UmVtb3RlUmVtb3RlQ29tbWFuZExpc3RlbmVyKFJlbW90ZUNvbW1hbmRMaXN0ZW5lckNsCiAK
IFJlbW90ZVJlbW90ZUNvbW1hbmRMaXN0ZW5lcjo6flJlbW90ZVJlbW90ZUNvbW1hbmRMaXN0ZW5l
cigpCiB7Ci0gICAgYXV0byYgY29ubmVjdGlvbiA9IFdlYlByb2Nlc3M6OnNpbmdsZXRvbigpLmVu
c3VyZUdQVVByb2Nlc3NDb25uZWN0aW9uKCk7CisgICAgYXV0byYgY29ubmVjdGlvbiA9IG1fcHJv
Y2Vzcy5lbnN1cmVHUFVQcm9jZXNzQ29ubmVjdGlvbigpOwogICAgIGNvbm5lY3Rpb24ubWVzc2Fn
ZVJlY2VpdmVyTWFwKCkucmVtb3ZlTWVzc2FnZVJlY2VpdmVyKCp0aGlzKTsKICAgICBjb25uZWN0
aW9uLmNvbm5lY3Rpb24oKS5zZW5kKE1lc3NhZ2VzOjpHUFVDb25uZWN0aW9uVG9XZWJQcm9jZXNz
OjpSZWxlYXNlUmVtb3RlQ29tbWFuZExpc3RlbmVyKG1faWRlbnRpZmllciksIDApOwogfQpAQCAt
NjYsNyArNjcsMjQgQEAgdm9pZCBSZW1vdGVSZW1vdGVDb21tYW5kTGlzdGVuZXI6OmdwdVByb2Nl
c3NDb25uZWN0aW9uRGlkQ2xvc2UoR1BVUHJvY2Vzc0Nvbm5lY3QKIAogdm9pZCBSZW1vdGVSZW1v
dGVDb21tYW5kTGlzdGVuZXI6OmRpZFJlY2VpdmVSZW1vdGVDb250cm9sQ29tbWFuZChXZWJDb3Jl
OjpQbGF0Zm9ybU1lZGlhU2Vzc2lvbjo6UmVtb3RlQ29udHJvbENvbW1hbmRUeXBlIHR5cGUsIGNv
bnN0IFBsYXRmb3JtTWVkaWFTZXNzaW9uOjpSZW1vdGVDb21tYW5kQXJndW1lbnQmIGFyZ3VtZW50
KQogewotICAgIG1fY2xpZW50LmRpZFJlY2VpdmVSZW1vdGVDb250cm9sQ29tbWFuZCh0eXBlLCBh
cmd1bWVudCk7CisgICAgY2xpZW50KCkuZGlkUmVjZWl2ZVJlbW90ZUNvbnRyb2xDb21tYW5kKHR5
cGUsIGFyZ3VtZW50KTsKK30KKwordm9pZCBSZW1vdGVSZW1vdGVDb21tYW5kTGlzdGVuZXI6OnVw
ZGF0ZVN1cHBvcnRlZENvbW1hbmRzKCkKK3sKKyAgICBhdXRvJiBzdXBwb3J0ZWRDb21tYW5kcyA9
IHRoaXMtPnN1cHBvcnRlZENvbW1hbmRzKCk7CisgICAgaWYgKG1fY3VycmVudENvbW1hbmRzID09
IHN1cHBvcnRlZENvbW1hbmRzICYmIG1fY3VycmVudFN1cHBvcnRTZWVraW5nID09IHN1cHBvcnRz
U2Vla2luZygpKQorICAgICAgICByZXR1cm47CisKKyAgICBtX2N1cnJlbnRDb21tYW5kcyA9IHN1
cHBvcnRlZENvbW1hbmRzOworICAgIG1fY3VycmVudFN1cHBvcnRTZWVraW5nID0gc3VwcG9ydHNT
ZWVraW5nKCk7CisKKyAgICBWZWN0b3I8UGxhdGZvcm1NZWRpYVNlc3Npb246OlJlbW90ZUNvbnRy
b2xDb21tYW5kVHlwZT4gY29tbWFuZHM7CisgICAgY29tbWFuZHMucmVzZXJ2ZUluaXRpYWxDYXBh
Y2l0eShzdXBwb3J0ZWRDb21tYW5kcy5zaXplKCkpOworICAgIGZvciAoYXV0byBjb21tYW5kIDog
c3VwcG9ydGVkQ29tbWFuZHMpCisgICAgICAgIGNvbW1hbmRzLnVuY2hlY2tlZEFwcGVuZChjb21t
YW5kKTsKKworICAgIG1fcHJvY2Vzcy5lbnN1cmVHUFVQcm9jZXNzQ29ubmVjdGlvbigpLmNvbm5l
Y3Rpb24oKS5zZW5kKE1lc3NhZ2VzOjpSZW1vdGVSZW1vdGVDb21tYW5kTGlzdGVuZXJQcm94eTo6
VXBkYXRlU3VwcG9ydGVkQ29tbWFuZHMgeyBXVEZNb3ZlKGNvbW1hbmRzKSwgbV9jdXJyZW50U3Vw
cG9ydFNlZWtpbmcgfSwgbV9pZGVudGlmaWVyKTsKIH0KIAogfQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdC9XZWJQcm9jZXNzL0dQVS9tZWRpYS9SZW1vdGVSZW1vdGVDb21tYW5kTGlzdGVuZXIu
aCBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUvbWVkaWEvUmVtb3RlUmVtb3RlQ29tbWFu
ZExpc3RlbmVyLmgKaW5kZXggZjlhNGZjZWY3YzZlMDRiYmY1ZWUxNTdkYTU1YTYzYWIwY2ZkYmQ3
YS4uZTRiMTMwZjM3Y2JmMDk1MDNiMGM2OTI1OTU3YTA5ZmQ1YzI4NWYxNSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQVS9tZWRpYS9SZW1vdGVSZW1vdGVDb21tYW5kTGlz
dGVuZXIuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BVL21lZGlhL1JlbW90ZVJl
bW90ZUNvbW1hbmRMaXN0ZW5lci5oCkBAIC02MSw4ICs2MSwxMiBAQCBwcml2YXRlOgogICAgIC8v
IE1lc3NhZ2VzCiAgICAgdm9pZCBkaWRSZWNlaXZlUmVtb3RlQ29udHJvbENvbW1hbmQoV2ViQ29y
ZTo6UGxhdGZvcm1NZWRpYVNlc3Npb246OlJlbW90ZUNvbnRyb2xDb21tYW5kVHlwZSwgY29uc3Qg
V2ViQ29yZTo6UGxhdGZvcm1NZWRpYVNlc3Npb246OlJlbW90ZUNvbW1hbmRBcmd1bWVudCYpOwog
CisgICAgdm9pZCB1cGRhdGVTdXBwb3J0ZWRDb21tYW5kcygpIGZpbmFsOworCiAgICAgV2ViUHJv
Y2VzcyYgbV9wcm9jZXNzOwogICAgIFJlbW90ZVJlbW90ZUNvbW1hbmRMaXN0ZW5lcklkZW50aWZp
ZXIgbV9pZGVudGlmaWVyOworICAgIFdlYkNvcmU6OlJlbW90ZUNvbW1hbmRMaXN0ZW5lcjo6UmVt
b3RlQ29tbWFuZHNTZXQgbV9jdXJyZW50Q29tbWFuZHM7CisgICAgYm9vbCBtX2N1cnJlbnRTdXBw
b3J0U2Vla2luZyB7IGZhbHNlIH07CiB9OwogCiB9Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>