<?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>247263</bug_id>
          
          <creation_ts>2022-10-31 08:46:00 -0700</creation_ts>
          <short_desc>[MQ4] Simplify dynamic media feature handling with legacy evaluator</short_desc>
          <delta_ts>2022-10-31 13:47:26 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>CSS</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>
          
          <blocked>180234</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Antti Koivisto">koivisto</reporter>
          <assigned_to name="Antti Koivisto">koivisto</assigned_to>
          <cc>cdumez</cc>
    
    <cc>changseok</cc>
    
    <cc>eric.carlson</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>glenn</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>jer.noble</cc>
    
    <cc>macpherson</cc>
    
    <cc>menard</cc>
    
    <cc>philipj</cc>
    
    <cc>sergio</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>youssefdevelops</cc>
    
    <cc>y_soliman</cc>
    
    <cc>zalan</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1909307</commentid>
    <comment_count>0</comment_count>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2022-10-31 08:46:00 -0700</bug_when>
    <thetext>This will make it simpler to implement dynamic features in the new evaluator.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1909308</commentid>
    <comment_count>1</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2022-10-31 08:47:11 -0700</bug_when>
    <thetext>&lt;rdar://problem/101758954&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1909315</commentid>
    <comment_count>2</comment_count>
      <attachid>463323</attachid>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2022-10-31 09:04:30 -0700</bug_when>
    <thetext>Created attachment 463323
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1909412</commentid>
    <comment_count>3</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2022-10-31 13:47:22 -0700</bug_when>
    <thetext>Committed 256170@main (6848a1d81fc9): &lt;https://commits.webkit.org/256170@main&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 463323.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>463323</attachid>
            <date>2022-10-31 09:04:30 -0700</date>
            <delta_ts>2022-10-31 13:47:24 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-247263-20221031180429.patch</filename>
            <type>text/plain</type>
            <size>21141</size>
            <attacher name="Antti Koivisto">koivisto</attacher>
            
              <data encoding="base64">RnJvbSA4YjYwMzlhZThhYTQwYmVlNDBlNmY3ZWJlZGEyMGEyNWZiOWU0Y2JmIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBBbnR0aSBLb2l2aXN0byA8YW50dGlAYXBwbGUuY29tPgpEYXRl
OiBNb24sIDMxIE9jdCAyMDIyIDE3OjQ3OjAxICswMjAwClN1YmplY3Q6IFtQQVRDSF0gW01RNF0g
U2ltcGxpZnkgZHluYW1pYyBtZWRpYSBmZWF0dXJlIGhhbmRsaW5nIHdpdGggbGVnYWN5CiBldmFs
dWF0b3IgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTI0NzI2MwogPHJk
YXI6Ly9wcm9ibGVtLzEwMTc1ODk1ND4KClJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgoKVGhp
cyB3aWxsIG1ha2UgaXQgc2ltcGxlciB0byBpbXBsZW1lbnQgZHluYW1pYyBmZWF0dXJlcyBpbiB0
aGUgbmV3IGV2YWx1YXRvci4KCiogU291cmNlL1dlYkNvcmUvY3NzL0xlZ2FjeU1lZGlhUXVlcnlF
dmFsdWF0b3IuY3BwOgooV2ViQ29yZTo6TGVnYWN5TWVkaWFRdWVyeUV2YWx1YXRvcjo6ZXZhbHVh
dGUgY29uc3QpOgoKUmVtb3ZlIHRoZSBkeW5hbWljIGZlYXR1cmUgcmVsYXRlZCBwYXJhbWV0ZXJz
IGZyb20gZXZhbHVhdGUoKS4KCihXZWJDb3JlOjptZWRpYVF1ZXJ5RHluYW1pY0RlcGVuZGVuY2ll
cyk6CgpBZGQgYSBmdW5jdGlvbiB0byBmaW5kIGR5bmFtaWMgZGVwZW5kZW5jaWVzIHNlcGFyYXRl
bHkgZnJvbSBldmFsdWF0aW9uLgoKKFdlYkNvcmU6OkxlZ2FjeU1lZGlhUXVlcnlFdmFsdWF0b3I6
OmV2YWx1YXRlRm9yQ2hhbmdlcyBjb25zdCk6IERlbGV0ZWQuCiogU291cmNlL1dlYkNvcmUvY3Nz
L0xlZ2FjeU1lZGlhUXVlcnlFdmFsdWF0b3IuaDoKKFdlYkNvcmU6Ok1lZGlhUXVlcnlEeW5hbWlj
UmVzdWx0czo6YXBwZW5kKTogRGVsZXRlZC4KKFdlYkNvcmU6Ok1lZGlhUXVlcnlEeW5hbWljUmVz
dWx0czo6aXNFbXB0eSBjb25zdCk6IERlbGV0ZWQuCgpSZXBsYWNlIHdpdGggYSBzaW1wbGUgT3B0
aW9uU2V0LgoKKiBTb3VyY2UvV2ViQ29yZS9jc3MvcGFyc2VyL1NpemVzQXR0cmlidXRlUGFyc2Vy
LmNwcDoKKFdlYkNvcmU6OlNpemVzQXR0cmlidXRlUGFyc2VyOjpTaXplc0F0dHJpYnV0ZVBhcnNl
cik6CihXZWJDb3JlOjpTaXplc0F0dHJpYnV0ZVBhcnNlcjo6bWVkaWFDb25kaXRpb25NYXRjaGVz
KToKKFdlYkNvcmU6OlNpemVzQXR0cmlidXRlUGFyc2VyOjpwYXJzZSk6CgpDb2xsZWN0IHRoZSBk
eW5hbWljIHF1ZXJpZXMgYW5kIHRoZSByZXN1bHRzIHRvIGEgbWVtYmVyLgoKKiBTb3VyY2UvV2Vi
Q29yZS9jc3MvcGFyc2VyL1NpemVzQXR0cmlidXRlUGFyc2VyLmg6CihXZWJDb3JlOjpTaXplc0F0
dHJpYnV0ZVBhcnNlcjo6ZHluYW1pY01lZGlhQ29uZGl0aW9uUmVzdWx0cyBjb25zdCk6CiogU291
cmNlL1dlYkNvcmUvY3NzL3F1ZXJ5L01lZGlhUXVlcnkuaDoKKiBTb3VyY2UvV2ViQ29yZS9odG1s
L0hUTUxJbWFnZUVsZW1lbnQuY3BwOgooV2ViQ29yZTo6SFRNTEltYWdlRWxlbWVudDo6YmVzdEZp
dFNvdXJjZUZyb21QaWN0dXJlRWxlbWVudCk6CihXZWJDb3JlOjpIVE1MSW1hZ2VFbGVtZW50Ojpl
dmFsdWF0ZUR5bmFtaWNNZWRpYVF1ZXJ5RGVwZW5kZW5jaWVzKToKCkV2YWx1YXRlIHdob2xlIHF1
ZXJpZXMgaW5zdGVhZCBvZiBpbmRpdmlkdWFsIGV4cHJlc3Npb25zLgoKKFdlYkNvcmU6OkhUTUxJ
bWFnZUVsZW1lbnQ6OnNlbGVjdEltYWdlU291cmNlKToKKiBTb3VyY2UvV2ViQ29yZS9odG1sL0hU
TUxJbWFnZUVsZW1lbnQuaDoKKiBTb3VyY2UvV2ViQ29yZS9zdHlsZS9SdWxlU2V0QnVpbGRlci5j
cHA6CihXZWJDb3JlOjpTdHlsZTo6UnVsZVNldEJ1aWxkZXI6OnVwZGF0ZUR5bmFtaWNNZWRpYVF1
ZXJpZXMpOgooV2ViQ29yZTo6U3R5bGU6OlJ1bGVTZXRCdWlsZGVyOjpNZWRpYVF1ZXJ5Q29sbGVj
dG9yOjpwdXNoQW5kRXZhbHVhdGUpOgoqIFNvdXJjZS9XZWJDb3JlL3N0eWxlL1J1bGVTZXRCdWls
ZGVyLmg6CiogU291cmNlL1dlYkNvcmUvc3R5bGUvVXNlckFnZW50U3R5bGUuY3BwOgooV2ViQ29y
ZTo6U3R5bGU6OlVzZXJBZ2VudFN0eWxlOjphZGRUb0RlZmF1bHRTdHlsZSk6Ci0tLQogLi4uL1dl
YkNvcmUvY3NzL0xlZ2FjeU1lZGlhUXVlcnlFdmFsdWF0b3IuY3BwIHwgNjUgKysrKysrKystLS0t
LS0tLS0tLQogLi4uL1dlYkNvcmUvY3NzL0xlZ2FjeU1lZGlhUXVlcnlFdmFsdWF0b3IuaCAgIHwg
MjMgKystLS0tLQogLi4uL2Nzcy9wYXJzZXIvU2l6ZXNBdHRyaWJ1dGVQYXJzZXIuY3BwICAgICAg
IHwgMTQgKystLQogLi4uL1dlYkNvcmUvY3NzL3BhcnNlci9TaXplc0F0dHJpYnV0ZVBhcnNlci5o
IHwgMTIgKystLQogU291cmNlL1dlYkNvcmUvY3NzL3F1ZXJ5L01lZGlhUXVlcnkuaCAgICAgICAg
IHwgIDYgKysKIFNvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEltYWdlRWxlbWVudC5jcHAgICAgICB8
IDMwICsrKysrKystLQogU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MSW1hZ2VFbGVtZW50LmggICAg
ICAgIHwgIDIgKy0KIFNvdXJjZS9XZWJDb3JlL3N0eWxlL1J1bGVTZXRCdWlsZGVyLmNwcCAgICAg
ICB8IDE4ICsrKy0tCiBTb3VyY2UvV2ViQ29yZS9zdHlsZS9SdWxlU2V0QnVpbGRlci5oICAgICAg
ICAgfCAgMyArLQogU291cmNlL1dlYkNvcmUvc3R5bGUvVXNlckFnZW50U3R5bGUuY3BwICAgICAg
IHwgIDQgKy0KIDEwIGZpbGVzIGNoYW5nZWQsIDg5IGluc2VydGlvbnMoKyksIDg4IGRlbGV0aW9u
cygtKQoKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9MZWdhY3lNZWRpYVF1ZXJ5RXZh
bHVhdG9yLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9MZWdhY3lNZWRpYVF1ZXJ5RXZhbHVhdG9y
LmNwcAppbmRleCAyMjdiZWE1ZDQ5YmMuLjA2ZTViMGU3NGViNiAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvY3NzL0xlZ2FjeU1lZGlhUXVlcnlFdmFsdWF0b3IuY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL2Nzcy9MZWdhY3lNZWRpYVF1ZXJ5RXZhbHVhdG9yLmNwcApAQCAtMTQzLDcgKzE0Myw3
IEBAIHN0YXRpYyBib29sIGFwcGx5UmVzdHJpY3RvcihMZWdhY3lNZWRpYVF1ZXJ5OjpSZXN0cmlj
dG9yIHIsIGJvb2wgdmFsdWUpCiAgICAgcmV0dXJuIHIgPT0gTGVnYWN5TWVkaWFRdWVyeTo6Tm90
ID8gIXZhbHVlIDogdmFsdWU7CiB9CiAKLWJvb2wgTGVnYWN5TWVkaWFRdWVyeUV2YWx1YXRvcjo6
ZXZhbHVhdGUoY29uc3QgTWVkaWFRdWVyeVNldCYgcXVlcnlTZXQsIE1lZGlhUXVlcnlEeW5hbWlj
UmVzdWx0cyogZHluYW1pY1Jlc3VsdHMsIE1vZGUgbW9kZSkgY29uc3QKK2Jvb2wgTGVnYWN5TWVk
aWFRdWVyeUV2YWx1YXRvcjo6ZXZhbHVhdGUoY29uc3QgTWVkaWFRdWVyeVNldCYgcXVlcnlTZXQp
IGNvbnN0CiB7CiAgICAgTE9HX1dJVEhfU1RSRUFNKE1lZGlhUXVlcmllcywgc3RyZWFtIDw8ICJM
ZWdhY3lNZWRpYVF1ZXJ5RXZhbHVhdG9yOjpldmFsdWF0ZSBvbiAiIDw8IChtX2RvY3VtZW50ID8g
bV9kb2N1bWVudC0+dXJsKCkuc3RyaW5nKCkgOiBlbXB0eVN0cmluZygpKSk7CiAKQEAgLTE2Mywz
NyArMTYzLDE0IEBAIGJvb2wgTGVnYWN5TWVkaWFRdWVyeUV2YWx1YXRvcjo6ZXZhbHVhdGUoY29u
c3QgTWVkaWFRdWVyeVNldCYgcXVlcnlTZXQsIE1lZGlhUXVlCiAKICAgICAgICAgaWYgKG1lZGlh
VHlwZU1hdGNoKHF1ZXJ5Lm1lZGlhVHlwZSgpKSkgewogICAgICAgICAgICAgYXV0byYgZXhwcmVz
c2lvbnMgPSBxdWVyeS5leHByZXNzaW9ucygpOworCiAgICAgICAgICAgICAvLyBJdGVyYXRlIHRo
cm91Z2ggZXhwcmVzc2lvbnMsIHN0b3AgaWYgYW55IG9mIHRoZW0gZXZhbCB0byBmYWxzZSAoQU5E
IHNlbWFudGljcykuCi0gICAgICAgICAgICBib29sIGlzRHluYW1pYyA9IGZhbHNlOwogICAgICAg
ICAgICAgc2l6ZV90IGogPSAwOwogICAgICAgICAgICAgZm9yICg7IGogPCBleHByZXNzaW9ucy5z
aXplKCk7ICsraikgewogICAgICAgICAgICAgICAgIGJvb2wgZXhwcmVzc2lvblJlc3VsdCA9IGV2
YWx1YXRlKGV4cHJlc3Npb25zW2pdKTsKLSAgICAgICAgICAgICAgICBpZiAoZHluYW1pY1Jlc3Vs
dHMpIHsKLSAgICAgICAgICAgICAgICAgICAgaWYgKGV4cHJlc3Npb25zW2pdLmlzVmlld3BvcnRE
ZXBlbmRlbnQoKSkgewotICAgICAgICAgICAgICAgICAgICAgICAgaXNEeW5hbWljID0gdHJ1ZTsK
LSAgICAgICAgICAgICAgICAgICAgICAgIGR5bmFtaWNSZXN1bHRzLT52aWV3cG9ydC5hcHBlbmQo
eyBleHByZXNzaW9uc1tqXSwgZXhwcmVzc2lvblJlc3VsdCB9KTsKLSAgICAgICAgICAgICAgICAg
ICAgfQotICAgICAgICAgICAgICAgICAgICBpZiAoaXNBcHBlYXJhbmNlRGVwZW5kZW50KGV4cHJl
c3Npb25zW2pdLm1lZGlhRmVhdHVyZSgpKSkgewotICAgICAgICAgICAgICAgICAgICAgICAgaXNE
eW5hbWljID0gdHJ1ZTsKLSAgICAgICAgICAgICAgICAgICAgICAgIGR5bmFtaWNSZXN1bHRzLT5h
cHBlYXJhbmNlLmFwcGVuZCh7IGV4cHJlc3Npb25zW2pdLCBleHByZXNzaW9uUmVzdWx0IH0pOwot
ICAgICAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICAgICAgICAgIGlmIChpc0FjY2Vzc2li
aWxpdHlTZXR0aW5nc0RlcGVuZGVudChleHByZXNzaW9uc1tqXS5tZWRpYUZlYXR1cmUoKSkpIHsK
LSAgICAgICAgICAgICAgICAgICAgICAgIGlzRHluYW1pYyA9IHRydWU7Ci0gICAgICAgICAgICAg
ICAgICAgICAgICBkeW5hbWljUmVzdWx0cy0+YWNjZXNzaWJpbGl0eVNldHRpbmdzLmFwcGVuZCh7
IGV4cHJlc3Npb25zW2pdLCBleHByZXNzaW9uUmVzdWx0IH0pOwotICAgICAgICAgICAgICAgICAg
ICB9Ci0gICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgICAgIGlmIChtb2RlID09IE1vZGU6
OkFsd2F5c01hdGNoRHluYW1pYyAmJiBpc0R5bmFtaWMpCi0gICAgICAgICAgICAgICAgICAgIGNv
bnRpbnVlOwotCiAgICAgICAgICAgICAgICAgaWYgKCFleHByZXNzaW9uUmVzdWx0KQogICAgICAg
ICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgIH0KLQotICAgICAgICAgICAgaWYgKG1v
ZGUgPT0gTW9kZTo6QWx3YXlzTWF0Y2hEeW5hbWljICYmIGlzRHluYW1pYykgewotICAgICAgICAg
ICAgICAgIHJlc3VsdCA9IHRydWU7Ci0gICAgICAgICAgICAgICAgY29udGludWU7Ci0gICAgICAg
ICAgICB9Ci0KICAgICAgICAgICAgIC8vIEFzc3VtZSB0cnVlIGlmIHdlIGFyZSBhdCB0aGUgZW5k
IG9mIHRoZSBsaXN0LCBvdGhlcndpc2UgYXNzdW1lIGZhbHNlLgogICAgICAgICAgICAgcmVzdWx0
ID0gYXBwbHlSZXN0cmljdG9yKHF1ZXJ5LnJlc3RyaWN0b3IoKSwgZXhwcmVzc2lvbnMuc2l6ZSgp
ID09IGopOwogICAgICAgICB9IGVsc2UKQEAgLTIwNCwxOSArMTgxLDYgQEAgYm9vbCBMZWdhY3lN
ZWRpYVF1ZXJ5RXZhbHVhdG9yOjpldmFsdWF0ZShjb25zdCBNZWRpYVF1ZXJ5U2V0JiBxdWVyeVNl
dCwgTWVkaWFRdWUKICAgICByZXR1cm4gcmVzdWx0OwogfQogCi1ib29sIExlZ2FjeU1lZGlhUXVl
cnlFdmFsdWF0b3I6OmV2YWx1YXRlRm9yQ2hhbmdlcyhjb25zdCBNZWRpYVF1ZXJ5RHluYW1pY1Jl
c3VsdHMmIGR5bmFtaWNSZXN1bHRzKSBjb25zdAotewotICAgIGF1dG8gaGFzQ2hhbmdlcyA9IFsm
XShhdXRvJiBkeW5hbWljUmVzdWx0c1ZlY3RvcikgewotICAgICAgICBmb3IgKGF1dG8mIGR5bmFt
aWNSZXN1bHQgOiBkeW5hbWljUmVzdWx0c1ZlY3RvcikgewotICAgICAgICAgICAgaWYgKGV2YWx1
YXRlKGR5bmFtaWNSZXN1bHQuZXhwcmVzc2lvbikgIT0gZHluYW1pY1Jlc3VsdC5yZXN1bHQpCi0g
ICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7Ci0gICAgICAgIH0KLSAgICAgICAgcmV0dXJuIGZh
bHNlOwotICAgIH07Ci0KLSAgICByZXR1cm4gaGFzQ2hhbmdlcyhkeW5hbWljUmVzdWx0cy52aWV3
cG9ydCkgfHwgaGFzQ2hhbmdlcyhkeW5hbWljUmVzdWx0cy5hcHBlYXJhbmNlKSB8fCBoYXNDaGFu
Z2VzKGR5bmFtaWNSZXN1bHRzLmFjY2Vzc2liaWxpdHlTZXR0aW5ncyk7Ci19Ci0KIHRlbXBsYXRl
PHR5cGVuYW1lIFQsIHR5cGVuYW1lIFU+IGJvb2wgY29tcGFyZVZhbHVlKFQgYSwgVSBiLCBNZWRp
YUZlYXR1cmVQcmVmaXggb3ApCiB7CiAgICAgc3dpdGNoIChvcCkgewpAQCAtOTc0LDQgKzkzOCwy
OSBAQCBib29sIExlZ2FjeU1lZGlhUXVlcnlFdmFsdWF0b3I6Om1lZGlhQXR0cmlidXRlTWF0Y2hl
cyhEb2N1bWVudCYgZG9jdW1lbnQsIGNvbnN0CiAgICAgcmV0dXJuIExlZ2FjeU1lZGlhUXVlcnlF
dmFsdWF0b3IgeyAic2NyZWVuIl9zLCBkb2N1bWVudCwgJmRvY3VtZW50LnJlbmRlclZpZXcoKS0+
c3R5bGUoKSB9LmV2YWx1YXRlKG1lZGlhUXVlcmllcy5nZXQoKSk7CiB9CiAKKworT3B0aW9uU2V0
PE1ROjpNZWRpYVF1ZXJ5RHluYW1pY0RlcGVuZGVuY3k+IG1lZGlhUXVlcnlEeW5hbWljRGVwZW5k
ZW5jaWVzKGNvbnN0IE1lZGlhUXVlcnlTZXQmIHF1ZXJpZXMsIGNvbnN0IExlZ2FjeU1lZGlhUXVl
cnlFdmFsdWF0b3ImIGV2YWx1YXRvcikKK3sKKyAgICBPcHRpb25TZXQ8TVE6Ok1lZGlhUXVlcnlE
eW5hbWljRGVwZW5kZW5jeT4gcmVzdWx0OworCisgICAgZm9yIChhdXRvJiBxdWVyeSA6IHF1ZXJp
ZXMucXVlcnlWZWN0b3IoKSkgeworICAgICAgICBpZiAocXVlcnkuaWdub3JlZCgpIHx8ICghcXVl
cnkuZXhwcmVzc2lvbnMoKS5zaXplKCkgJiYgcXVlcnkubWVkaWFUeXBlKCkuaXNFbXB0eSgpKSkK
KyAgICAgICAgICAgIGNvbnRpbnVlOworCisgICAgICAgIGlmICghZXZhbHVhdG9yLm1lZGlhVHlw
ZU1hdGNoKHF1ZXJ5Lm1lZGlhVHlwZSgpKSkKKyAgICAgICAgICAgIGNvbnRpbnVlOworCisgICAg
ICAgIGZvciAoYXV0byYgZXhwcmVzc2lvbiA6IHF1ZXJ5LmV4cHJlc3Npb25zKCkpIHsKKyAgICAg
ICAgICAgIGlmIChleHByZXNzaW9uLmlzVmlld3BvcnREZXBlbmRlbnQoKSkKKyAgICAgICAgICAg
ICAgICByZXN1bHQuYWRkKE1ROjpNZWRpYVF1ZXJ5RHluYW1pY0RlcGVuZGVuY3k6OlZpZXdwb3J0
KTsKKyAgICAgICAgICAgIGlmIChpc0FwcGVhcmFuY2VEZXBlbmRlbnQoZXhwcmVzc2lvbi5tZWRp
YUZlYXR1cmUoKSkpCisgICAgICAgICAgICAgICAgcmVzdWx0LmFkZChNUTo6TWVkaWFRdWVyeUR5
bmFtaWNEZXBlbmRlbmN5OjpBcHBlYXJhbmNlKTsKKyAgICAgICAgICAgIGlmIChpc0FjY2Vzc2li
aWxpdHlTZXR0aW5nc0RlcGVuZGVudChleHByZXNzaW9uLm1lZGlhRmVhdHVyZSgpKSkKKyAgICAg
ICAgICAgICAgICByZXN1bHQuYWRkKE1ROjpNZWRpYVF1ZXJ5RHluYW1pY0RlcGVuZGVuY3k6OkFj
Y2Vzc2liaWxpdHkpOworICAgICAgICB9CisgICAgfQorCisgICAgcmV0dXJuIHJlc3VsdDsKK30K
KwogfSAvLyBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvTGVnYWN5TWVk
aWFRdWVyeUV2YWx1YXRvci5oIGIvU291cmNlL1dlYkNvcmUvY3NzL0xlZ2FjeU1lZGlhUXVlcnlF
dmFsdWF0b3IuaAppbmRleCA4MmY2MTZiN2E2MTkuLjdlMDc3ZjQ3NWMwMSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvY3NzL0xlZ2FjeU1lZGlhUXVlcnlFdmFsdWF0b3IuaAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9jc3MvTGVnYWN5TWVkaWFRdWVyeUV2YWx1YXRvci5oCkBAIC0yOCw2ICsyOCw3
IEBACiAjcHJhZ21hIG9uY2UKIAogI2luY2x1ZGUgIkludFNpemUuaCIKKyNpbmNsdWRlICJNZWRp
YVF1ZXJ5LmgiCiAjaW5jbHVkZSAiTWVkaWFRdWVyeUV4cHJlc3Npb24uaCIKICNpbmNsdWRlIDx3
dGYvV2Vha1B0ci5oPgogCkBAIC0zOSwyNCArNDAsMTAgQEAgY2xhc3MgTWVkaWFRdWVyeVNldDsK
IGNsYXNzIFJlbmRlclN0eWxlOwogCiBzdHJ1Y3QgTWVkaWFRdWVyeVJlc3VsdCB7Ci0gICAgTWVk
aWFRdWVyeUV4cHJlc3Npb24gZXhwcmVzc2lvbjsKKyAgICBSZWY8Y29uc3QgTWVkaWFRdWVyeVNl
dD4gcXVlcnk7CiAgICAgYm9vbCByZXN1bHQ7CiB9OwogCi1zdHJ1Y3QgTWVkaWFRdWVyeUR5bmFt
aWNSZXN1bHRzIHsKLSAgICBWZWN0b3I8TWVkaWFRdWVyeVJlc3VsdD4gdmlld3BvcnQ7Ci0gICAg
VmVjdG9yPE1lZGlhUXVlcnlSZXN1bHQ+IGFwcGVhcmFuY2U7Ci0gICAgVmVjdG9yPE1lZGlhUXVl
cnlSZXN1bHQ+IGFjY2Vzc2liaWxpdHlTZXR0aW5nczsKLQotICAgIHZvaWQgYXBwZW5kKGNvbnN0
IE1lZGlhUXVlcnlEeW5hbWljUmVzdWx0cyYgb3RoZXIpCi0gICAgewotICAgICAgICB2aWV3cG9y
dC5hcHBlbmRWZWN0b3Iob3RoZXIudmlld3BvcnQpOwotICAgICAgICBhcHBlYXJhbmNlLmFwcGVu
ZFZlY3RvcihvdGhlci5hcHBlYXJhbmNlKTsKLSAgICAgICAgYWNjZXNzaWJpbGl0eVNldHRpbmdz
LmFwcGVuZFZlY3RvcihvdGhlci5hY2Nlc3NpYmlsaXR5U2V0dGluZ3MpOwotICAgIH0KLSAgICBi
b29sIGlzRW1wdHkoKSBjb25zdCB7IHJldHVybiB2aWV3cG9ydC5pc0VtcHR5KCkgJiYgYXBwZWFy
YW5jZS5pc0VtcHR5KCkgJiYgYWNjZXNzaWJpbGl0eVNldHRpbmdzLmlzRW1wdHkoKTsgfQotfTsK
LQogdXNpbmcgTWVkaWFRdWVyeVZpZXdwb3J0U3RhdGUgPSBzdGQ6OnR1cGxlPEludFNpemUsIGZs
b2F0LCBib29sPjsKIAogTWVkaWFRdWVyeVZpZXdwb3J0U3RhdGUgbWVkaWFRdWVyeVZpZXdwb3J0
U3RhdGVGb3JEb2N1bWVudChjb25zdCBEb2N1bWVudCYpOwpAQCAtODIsMTAgKzY5LDggQEAgcHVi
bGljOgogCiAgICAgLy8gRXZhbHVhdGVzIG1lZGlhIHF1ZXJ5IHN1YmV4cHJlc3Npb24sIGllICJh
bmQgKG1lZGlhLWZlYXR1cmU6IHZhbHVlKSIgcGFydC4KICAgICBib29sIGV2YWx1YXRlKGNvbnN0
IE1lZGlhUXVlcnlFeHByZXNzaW9uJikgY29uc3Q7Ci0gICAgYm9vbCBldmFsdWF0ZUZvckNoYW5n
ZXMoY29uc3QgTWVkaWFRdWVyeUR5bmFtaWNSZXN1bHRzJikgY29uc3Q7CiAKLSAgICBlbnVtIGNs
YXNzIE1vZGUgeyBOb3JtYWwsIEFsd2F5c01hdGNoRHluYW1pYyB9OwotICAgIFdFQkNPUkVfRVhQ
T1JUIGJvb2wgZXZhbHVhdGUoY29uc3QgTWVkaWFRdWVyeVNldCYsIE1lZGlhUXVlcnlEeW5hbWlj
UmVzdWx0cyogPSBudWxscHRyLCBNb2RlID0gTW9kZTo6Tm9ybWFsKSBjb25zdDsKKyAgICBXRUJD
T1JFX0VYUE9SVCBib29sIGV2YWx1YXRlKGNvbnN0IE1lZGlhUXVlcnlTZXQmKSBjb25zdDsKIAog
ICAgIHN0YXRpYyBib29sIG1lZGlhQXR0cmlidXRlTWF0Y2hlcyhEb2N1bWVudCYsIGNvbnN0IFN0
cmluZyYgYXR0cmlidXRlVmFsdWUpOwogCkBAIC05Niw0ICs4MSw2IEBAIHByaXZhdGU6CiAgICAg
Ym9vbCBtX2ZhbGxiYWNrUmVzdWx0IHsgZmFsc2UgfTsKIH07CiAKK09wdGlvblNldDxNUTo6TWVk
aWFRdWVyeUR5bmFtaWNEZXBlbmRlbmN5PiBtZWRpYVF1ZXJ5RHluYW1pY0RlcGVuZGVuY2llcyhj
b25zdCBNZWRpYVF1ZXJ5U2V0JiwgY29uc3QgTGVnYWN5TWVkaWFRdWVyeUV2YWx1YXRvciYpOwor
CiB9IC8vIG5hbWVzcGFjZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL3BhcnNlci9T
aXplc0F0dHJpYnV0ZVBhcnNlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvcGFyc2VyL1NpemVz
QXR0cmlidXRlUGFyc2VyLmNwcAppbmRleCAyNWExOTk3OWE3ZTIuLmRiZDIwYjVmMmZhMyAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL3BhcnNlci9TaXplc0F0dHJpYnV0ZVBhcnNlci5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL3BhcnNlci9TaXplc0F0dHJpYnV0ZVBhcnNlci5j
cHAKQEAgLTY3LDkgKzY3LDggQEAgZmxvYXQgU2l6ZXNBdHRyaWJ1dGVQYXJzZXI6OmNvbXB1dGVM
ZW5ndGgoZG91YmxlIHZhbHVlLCBDU1NVbml0VHlwZSB0eXBlLCBjb25zdAogICAgIHJldHVybiBj
bGFtcFRvPGZsb2F0PihDU1NQcmltaXRpdmVWYWx1ZTo6Y29tcHV0ZU5vbkNhbGNMZW5ndGhEb3Vi
bGUoY29udmVyc2lvbkRhdGEsIHR5cGUsIHZhbHVlKSk7CiB9CiAgICAgCi1TaXplc0F0dHJpYnV0
ZVBhcnNlcjo6U2l6ZXNBdHRyaWJ1dGVQYXJzZXIoY29uc3QgU3RyaW5nJiBhdHRyaWJ1dGUsIGNv
bnN0IERvY3VtZW50JiBkb2N1bWVudCwgTWVkaWFRdWVyeUR5bmFtaWNSZXN1bHRzKiBtZWRpYVF1
ZXJ5RHluYW1pY1Jlc3VsdHMpCitTaXplc0F0dHJpYnV0ZVBhcnNlcjo6U2l6ZXNBdHRyaWJ1dGVQ
YXJzZXIoY29uc3QgU3RyaW5nJiBhdHRyaWJ1dGUsIGNvbnN0IERvY3VtZW50JiBkb2N1bWVudCkK
ICAgICA6IG1fZG9jdW1lbnQoZG9jdW1lbnQpCi0gICAgLCBtX21lZGlhUXVlcnlEeW5hbWljUmVz
dWx0cyhtZWRpYVF1ZXJ5RHluYW1pY1Jlc3VsdHMpCiB7CiAgICAgbV9pc1ZhbGlkID0gcGFyc2Uo
Q1NTVG9rZW5pemVyKGF0dHJpYnV0ZSkudG9rZW5SYW5nZSgpKTsKIH0KQEAgLTExMiw3ICsxMTEs
NyBAQCBib29sIFNpemVzQXR0cmlidXRlUGFyc2VyOjptZWRpYUNvbmRpdGlvbk1hdGNoZXMoY29u
c3QgTWVkaWFRdWVyeVNldCYgbWVkaWFDb25kaQogICAgIGlmICghcmVuZGVyZXIpCiAgICAgICAg
IHJldHVybiBmYWxzZTsKICAgICBhdXRvJiBzdHlsZSA9IHJlbmRlcmVyLT5zdHlsZSgpOwotICAg
IHJldHVybiBMZWdhY3lNZWRpYVF1ZXJ5RXZhbHVhdG9yIHsgInNjcmVlbiJfcywgbV9kb2N1bWVu
dCwgJnN0eWxlIH0uZXZhbHVhdGUobWVkaWFDb25kaXRpb24sIG1fbWVkaWFRdWVyeUR5bmFtaWNS
ZXN1bHRzKTsKKyAgICByZXR1cm4gTGVnYWN5TWVkaWFRdWVyeUV2YWx1YXRvciB7ICJzY3JlZW4i
X3MsIG1fZG9jdW1lbnQsICZzdHlsZSB9LmV2YWx1YXRlKG1lZGlhQ29uZGl0aW9uKTsKIH0KIAog
Ym9vbCBTaXplc0F0dHJpYnV0ZVBhcnNlcjo6cGFyc2UoQ1NTUGFyc2VyVG9rZW5SYW5nZSByYW5n
ZSkKQEAgLTEzNCw4ICsxMzMsMTMgQEAgYm9vbCBTaXplc0F0dHJpYnV0ZVBhcnNlcjo6cGFyc2Uo
Q1NTUGFyc2VyVG9rZW5SYW5nZSByYW5nZSkKICAgICAgICAgZmxvYXQgbGVuZ3RoOwogICAgICAg
ICBpZiAoIWNhbGN1bGF0ZUxlbmd0aEluUGl4ZWxzKHJhbmdlLm1ha2VTdWJSYW5nZShsZW5ndGhU
b2tlblN0YXJ0LCBsZW5ndGhUb2tlbkVuZCksIGxlbmd0aCkpCiAgICAgICAgICAgICBjb250aW51
ZTsKLSAgICAgICAgUmVmUHRyPE1lZGlhUXVlcnlTZXQ+IG1lZGlhQ29uZGl0aW9uID0gTGVnYWN5
TWVkaWFRdWVyeVBhcnNlcjo6cGFyc2VNZWRpYUNvbmRpdGlvbihyYW5nZS5tYWtlU3ViUmFuZ2Uo
bWVkaWFDb25kaXRpb25TdGFydCwgbGVuZ3RoVG9rZW5TdGFydCksIE1lZGlhUXVlcnlQYXJzZXJD
b250ZXh0KG1fZG9jdW1lbnQpKTsKLSAgICAgICAgaWYgKCFtZWRpYUNvbmRpdGlvbiB8fCAhbWVk
aWFDb25kaXRpb25NYXRjaGVzKCptZWRpYUNvbmRpdGlvbikpCisgICAgICAgIGF1dG8gbWVkaWFD
b25kaXRpb24gPSBMZWdhY3lNZWRpYVF1ZXJ5UGFyc2VyOjpwYXJzZU1lZGlhQ29uZGl0aW9uKHJh
bmdlLm1ha2VTdWJSYW5nZShtZWRpYUNvbmRpdGlvblN0YXJ0LCBsZW5ndGhUb2tlblN0YXJ0KSwg
TWVkaWFRdWVyeVBhcnNlckNvbnRleHQobV9kb2N1bWVudCkpOworICAgICAgICBpZiAoIW1lZGlh
Q29uZGl0aW9uKQorICAgICAgICAgICAgY29udGludWU7CisgICAgICAgIGJvb2wgbWF0Y2hlcyA9
IG1lZGlhQ29uZGl0aW9uTWF0Y2hlcygqbWVkaWFDb25kaXRpb24pOworICAgICAgICBpZiAoIW1l
ZGlhUXVlcnlEeW5hbWljRGVwZW5kZW5jaWVzKCptZWRpYUNvbmRpdGlvbiwgeyAic2NyZWVuIl9z
LCBmYWxzZSB9KS5pc0VtcHR5KCkpCisgICAgICAgICAgICBtX2R5bmFtaWNNZWRpYUNvbmRpdGlv
blJlc3VsdHMuYXBwZW5kKHsgKm1lZGlhQ29uZGl0aW9uLCBtYXRjaGVzIH0pOworICAgICAgICBp
ZiAoIW1hdGNoZXMpCiAgICAgICAgICAgICBjb250aW51ZTsKICAgICAgICAgbV9sZW5ndGggPSBs
ZW5ndGg7CiAgICAgICAgIG1fbGVuZ3RoV2FzU2V0ID0gdHJ1ZTsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2Nzcy9wYXJzZXIvU2l6ZXNBdHRyaWJ1dGVQYXJzZXIuaCBiL1NvdXJjZS9XZWJD
b3JlL2Nzcy9wYXJzZXIvU2l6ZXNBdHRyaWJ1dGVQYXJzZXIuaAppbmRleCAyN2RjYjYzY2YxMTAu
LjY4OTNkMjY1YWNmYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL3BhcnNlci9TaXpl
c0F0dHJpYnV0ZVBhcnNlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9wYXJzZXIvU2l6ZXNB
dHRyaWJ1dGVQYXJzZXIuaApAQCAtMzEsMjQgKzMxLDI1IEBACiAKICNpbmNsdWRlICJDU1NQYXJz
ZXJUb2tlblJhbmdlLmgiCiAjaW5jbHVkZSAiQ1NTUHJpbWl0aXZlVmFsdWUuaCIKKyNpbmNsdWRl
ICJMZWdhY3lNZWRpYVF1ZXJ5RXZhbHVhdG9yLmgiCiAjaW5jbHVkZSA8d3RmL3RleHQvV1RGU3Ry
aW5nLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogY2xhc3MgQ1NTVmFsdWU7CiBjbGFzcyBE
b2N1bWVudDsKLWNsYXNzIE1lZGlhUXVlcnlTZXQ7Ci1zdHJ1Y3QgTWVkaWFRdWVyeUR5bmFtaWNS
ZXN1bHRzOwotICAgIAorCiBjbGFzcyBTaXplc0F0dHJpYnV0ZVBhcnNlciB7CiBwdWJsaWM6Ci0g
ICAgU2l6ZXNBdHRyaWJ1dGVQYXJzZXIoY29uc3QgU3RyaW5nJiwgY29uc3QgRG9jdW1lbnQmLCBN
ZWRpYVF1ZXJ5RHluYW1pY1Jlc3VsdHMqID0gbnVsbHB0cik7CisgICAgU2l6ZXNBdHRyaWJ1dGVQ
YXJzZXIoY29uc3QgU3RyaW5nJiwgY29uc3QgRG9jdW1lbnQmKTsKIAogICAgIGZsb2F0IGxlbmd0
aCgpOwogCiAgICAgc3RhdGljIGZsb2F0IGRlZmF1bHRMZW5ndGgoY29uc3QgRG9jdW1lbnQmKTsK
ICAgICBzdGF0aWMgZmxvYXQgY29tcHV0ZUxlbmd0aChkb3VibGUgdmFsdWUsIENTU1VuaXRUeXBl
LCBjb25zdCBEb2N1bWVudCYpOwogCisgICAgYXV0byYgZHluYW1pY01lZGlhQ29uZGl0aW9uUmVz
dWx0cygpIGNvbnN0IHsgcmV0dXJuIG1fZHluYW1pY01lZGlhQ29uZGl0aW9uUmVzdWx0czsgfQor
CiBwcml2YXRlOgogICAgIGJvb2wgcGFyc2UoQ1NTUGFyc2VyVG9rZW5SYW5nZSk7CiAgICAgZmxv
YXQgZWZmZWN0aXZlU2l6ZSgpOwpAQCAtNTcsOCArNTgsNyBAQCBwcml2YXRlOgogICAgIHVuc2ln
bmVkIGVmZmVjdGl2ZVNpemVEZWZhdWx0VmFsdWUoKTsKIAogICAgIGNvbnN0IERvY3VtZW50JiBt
X2RvY3VtZW50OwotICAgIFJlZlB0cjxNZWRpYVF1ZXJ5U2V0PiBtX21lZGlhQ29uZGl0aW9uOwot
ICAgIE1lZGlhUXVlcnlEeW5hbWljUmVzdWx0cyogbV9tZWRpYVF1ZXJ5RHluYW1pY1Jlc3VsdHMg
eyBudWxscHRyIH07CisgICAgVmVjdG9yPE1lZGlhUXVlcnlSZXN1bHQ+IG1fZHluYW1pY01lZGlh
Q29uZGl0aW9uUmVzdWx0czsKICAgICBmbG9hdCBtX2xlbmd0aCB7IDAgfTsKICAgICBib29sIG1f
bGVuZ3RoV2FzU2V0IHsgZmFsc2UgfTsKICAgICBib29sIG1faXNWYWxpZCB7IGZhbHNlIH07CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvcXVlcnkvTWVkaWFRdWVyeS5oIGIvU291cmNl
L1dlYkNvcmUvY3NzL3F1ZXJ5L01lZGlhUXVlcnkuaAppbmRleCAzNmE5YjI2ODI1MDAuLmNiMzNh
N2JkMzJhOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL3F1ZXJ5L01lZGlhUXVlcnku
aAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvcXVlcnkvTWVkaWFRdWVyeS5oCkBAIC0zOSw1ICsz
OSwxMSBAQCBzdHJ1Y3QgTWVkaWFRdWVyeSB7CiAKIHVzaW5nIE1lZGlhUXVlcnlMaXN0ID0gVmVj
dG9yPE1lZGlhUXVlcnk+OwogCitlbnVtIGNsYXNzIE1lZGlhUXVlcnlEeW5hbWljRGVwZW5kZW5j
eSA6IHVpbnQ4X3QgIHsKKyAgICBWaWV3cG9ydCA9IDEgPDwgMCwKKyAgICBBcHBlYXJhbmNlID0g
MSA8PCAxLAorICAgIEFjY2Vzc2liaWxpdHkgPSAxIDw8IDIsCit9OworCiB9CiB9CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxJbWFnZUVsZW1lbnQuY3BwIGIvU291cmNlL1dl
YkNvcmUvaHRtbC9IVE1MSW1hZ2VFbGVtZW50LmNwcAppbmRleCA2MzhhN2U4OGFiNzMuLmM0ODhj
OGE1NjIzNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MSW1hZ2VFbGVtZW50
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxJbWFnZUVsZW1lbnQuY3BwCkBAIC0y
MjksMTEgKzIyOSwxOCBAQCBJbWFnZUNhbmRpZGF0ZSBIVE1MSW1hZ2VFbGVtZW50OjpiZXN0Rml0
U291cmNlRnJvbVBpY3R1cmVFbGVtZW50KCkKICAgICAgICAgYXV0byogcXVlcmllcyA9IHNvdXJj
ZS5wYXJzZWRNZWRpYUF0dHJpYnV0ZShkb2N1bWVudCgpKTsKICAgICAgICAgTE9HKE1lZGlhUXVl
cmllcywgIkhUTUxJbWFnZUVsZW1lbnQgJXAgYmVzdEZpdFNvdXJjZUZyb21QaWN0dXJlRWxlbWVu
dCBldmFsdWF0aW5nIG1lZGlhIHF1ZXJpZXMiLCB0aGlzKTsKIAotICAgICAgICBhdXRvIGV2YWx1
YXRpb24gPSAhcXVlcmllcyB8fCBldmFsdWF0b3IuZXZhbHVhdGUoKnF1ZXJpZXMsICZtX21lZGlh
UXVlcnlEeW5hbWljUmVzdWx0cyk7Ci0gICAgICAgIGlmICghZXZhbHVhdGlvbikKKyAgICAgICAg
YXV0byByZXN1bHQgPSAhcXVlcmllcyB8fCBldmFsdWF0b3IuZXZhbHVhdGUoKnF1ZXJpZXMpOwor
CisgICAgICAgIGlmIChxdWVyaWVzICYmICFtZWRpYVF1ZXJ5RHluYW1pY0RlcGVuZGVuY2llcygq
cXVlcmllcywgZXZhbHVhdG9yKS5pc0VtcHR5KCkpCisgICAgICAgICAgICBtX2R5bmFtaWNNZWRp
YVF1ZXJ5UmVzdWx0cy5hcHBlbmQoeyAqcXVlcmllcywgcmVzdWx0IH0pOworCisgICAgICAgIGlm
ICghcmVzdWx0KQogICAgICAgICAgICAgY29udGludWU7CiAKLSAgICAgICAgU2l6ZXNBdHRyaWJ1
dGVQYXJzZXIgc2l6ZXNQYXJzZXIoc291cmNlLmF0dHJpYnV0ZVdpdGhvdXRTeW5jaHJvbml6YXRp
b24oc2l6ZXNBdHRyKS5zdHJpbmcoKSwgZG9jdW1lbnQoKSwgJm1fbWVkaWFRdWVyeUR5bmFtaWNS
ZXN1bHRzKTsKKyAgICAgICAgU2l6ZXNBdHRyaWJ1dGVQYXJzZXIgc2l6ZXNQYXJzZXIoc291cmNl
LmF0dHJpYnV0ZVdpdGhvdXRTeW5jaHJvbml6YXRpb24oc2l6ZXNBdHRyKS5zdHJpbmcoKSwgZG9j
dW1lbnQoKSk7CisKKyAgICAgICAgbV9keW5hbWljTWVkaWFRdWVyeVJlc3VsdHMuYXBwZW5kVmVj
dG9yKHNpemVzUGFyc2VyLmR5bmFtaWNNZWRpYUNvbmRpdGlvblJlc3VsdHMoKSk7CisKICAgICAg
ICAgYXV0byBzb3VyY2VTaXplID0gc2l6ZXNQYXJzZXIubGVuZ3RoKCk7CiAKICAgICAgICAgY2Fu
ZGlkYXRlID0gYmVzdEZpdFNvdXJjZUZvckltYWdlQXR0cmlidXRlcyhkb2N1bWVudCgpLmRldmlj
ZVNjYWxlRmFjdG9yKCksIG51bGxBdG9tKCksIHNyY3NldCwgc291cmNlU2l6ZSk7CkBAIC0yNTEs
NyArMjU4LDE1IEBAIHZvaWQgSFRNTEltYWdlRWxlbWVudDo6ZXZhbHVhdGVEeW5hbWljTWVkaWFR
dWVyeURlcGVuZGVuY2llcygpCiAgICAgUmVmUHRyIGRvY3VtZW50RWxlbWVudCA9IGRvY3VtZW50
KCkuZG9jdW1lbnRFbGVtZW50KCk7CiAgICAgTGVnYWN5TWVkaWFRdWVyeUV2YWx1YXRvciBldmFs
dWF0b3IgeyBkb2N1bWVudCgpLnByaW50aW5nKCkgPyAicHJpbnQiX3MgOiAic2NyZWVuIl9zLCBk
b2N1bWVudCgpLCBkb2N1bWVudEVsZW1lbnQgPyBkb2N1bWVudEVsZW1lbnQtPmNvbXB1dGVkU3R5
bGUoKSA6IG51bGxwdHIgfTsKIAotICAgIGlmICghZXZhbHVhdG9yLmV2YWx1YXRlRm9yQ2hhbmdl
cyhtX21lZGlhUXVlcnlEeW5hbWljUmVzdWx0cykpCisgICAgYXV0byBoYXNDaGFuZ2VzID0gWyZd
IHsKKyAgICAgICAgZm9yIChhdXRvJiBjb25kaXRpb24gOiBtX2R5bmFtaWNNZWRpYVF1ZXJ5UmVz
dWx0cykgeworICAgICAgICAgICAgaWYgKGNvbmRpdGlvbi5yZXN1bHQgIT0gZXZhbHVhdG9yLmV2
YWx1YXRlKGNvbmRpdGlvbi5xdWVyeS5nZXQoKSkpCisgICAgICAgICAgICAgICAgcmV0dXJuIHRy
dWU7CisgICAgICAgIH0KKyAgICAgICAgcmV0dXJuIGZhbHNlOworICAgIH0oKTsKKworICAgIGlm
ICghaGFzQ2hhbmdlcykKICAgICAgICAgcmV0dXJuOwogCiAgICAgc2VsZWN0SW1hZ2VTb3VyY2Uo
UmVsZXZhbnRNdXRhdGlvbjo6Tm8pOwpAQCAtMjU5LDcgKzI3NCw3IEBAIHZvaWQgSFRNTEltYWdl
RWxlbWVudDo6ZXZhbHVhdGVEeW5hbWljTWVkaWFRdWVyeURlcGVuZGVuY2llcygpCiAKIHZvaWQg
SFRNTEltYWdlRWxlbWVudDo6c2VsZWN0SW1hZ2VTb3VyY2UoUmVsZXZhbnRNdXRhdGlvbiByZWxl
dmFudE11dGF0aW9uKQogewotICAgIG1fbWVkaWFRdWVyeUR5bmFtaWNSZXN1bHRzID0geyB9Owor
ICAgIG1fZHluYW1pY01lZGlhUXVlcnlSZXN1bHRzID0geyB9OwogICAgIGRvY3VtZW50KCkucmVt
b3ZlRHluYW1pY01lZGlhUXVlcnlEZXBlbmRlbnRJbWFnZSgqdGhpcyk7CiAKICAgICAvLyBGaXJz
dCBsb29rIGZvciB0aGUgYmVzdCBmaXQgc291cmNlIGZyb20gb3VyIDxwaWN0dXJlPiBwYXJlbnQg
aWYgd2UgaGF2ZSBvbmUuCkBAIC0yNjcsMTQgKzI4MiwxNSBAQCB2b2lkIEhUTUxJbWFnZUVsZW1l
bnQ6OnNlbGVjdEltYWdlU291cmNlKFJlbGV2YW50TXV0YXRpb24gcmVsZXZhbnRNdXRhdGlvbikK
ICAgICBpZiAoY2FuZGlkYXRlLmlzRW1wdHkoKSkgewogICAgICAgICBzZXRTb3VyY2VFbGVtZW50
KG51bGxwdHIpOwogICAgICAgICAvLyBJZiB3ZSBkb24ndCBoYXZlIGEgPHBpY3R1cmU+IG9yIGRp
ZG4ndCBmaW5kIGEgc291cmNlLCB0aGVuIHdlIHVzZSBvdXIgb3duIGF0dHJpYnV0ZXMuCi0gICAg
ICAgIFNpemVzQXR0cmlidXRlUGFyc2VyIHNpemVzUGFyc2VyKGF0dHJpYnV0ZVdpdGhvdXRTeW5j
aHJvbml6YXRpb24oc2l6ZXNBdHRyKS5zdHJpbmcoKSwgZG9jdW1lbnQoKSwgJm1fbWVkaWFRdWVy
eUR5bmFtaWNSZXN1bHRzKTsKKyAgICAgICAgU2l6ZXNBdHRyaWJ1dGVQYXJzZXIgc2l6ZXNQYXJz
ZXIoYXR0cmlidXRlV2l0aG91dFN5bmNocm9uaXphdGlvbihzaXplc0F0dHIpLnN0cmluZygpLCBk
b2N1bWVudCgpKTsKKyAgICAgICAgbV9keW5hbWljTWVkaWFRdWVyeVJlc3VsdHMuYXBwZW5kVmVj
dG9yKHNpemVzUGFyc2VyLmR5bmFtaWNNZWRpYUNvbmRpdGlvblJlc3VsdHMoKSk7CiAgICAgICAg
IGF1dG8gc291cmNlU2l6ZSA9IHNpemVzUGFyc2VyLmxlbmd0aCgpOwogICAgICAgICBjYW5kaWRh
dGUgPSBiZXN0Rml0U291cmNlRm9ySW1hZ2VBdHRyaWJ1dGVzKGRvY3VtZW50KCkuZGV2aWNlU2Nh
bGVGYWN0b3IoKSwgYXR0cmlidXRlV2l0aG91dFN5bmNocm9uaXphdGlvbihzcmNBdHRyKSwgYXR0
cmlidXRlV2l0aG91dFN5bmNocm9uaXphdGlvbihzcmNzZXRBdHRyKSwgc291cmNlU2l6ZSk7CiAg
ICAgfQogICAgIHNldEJlc3RGaXRVUkxBbmREUFJGcm9tSW1hZ2VDYW5kaWRhdGUoY2FuZGlkYXRl
KTsKICAgICBtX2ltYWdlTG9hZGVyLT51cGRhdGVGcm9tRWxlbWVudElnbm9yaW5nUHJldmlvdXNF
cnJvcihyZWxldmFudE11dGF0aW9uKTsKIAotICAgIGlmICghbV9tZWRpYVF1ZXJ5RHluYW1pY1Jl
c3VsdHMuaXNFbXB0eSgpKQorICAgIGlmICghbV9keW5hbWljTWVkaWFRdWVyeVJlc3VsdHMuaXNF
bXB0eSgpKQogICAgICAgICBkb2N1bWVudCgpLmFkZER5bmFtaWNNZWRpYVF1ZXJ5RGVwZW5kZW50
SW1hZ2UoKnRoaXMpOwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxJ
bWFnZUVsZW1lbnQuaCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEltYWdlRWxlbWVudC5oCmlu
ZGV4IDNmOTJmMTE0ZTU4Yi4uZGMyZmJhNDdiZWU4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9odG1sL0hUTUxJbWFnZUVsZW1lbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxJ
bWFnZUVsZW1lbnQuaApAQCAtMjM2LDcgKzIzNiw3IEBAIHByaXZhdGU6CiAgICAgV2Vha1B0cjxI
VE1MUGljdHVyZUVsZW1lbnQsIFdlYWtQdHJJbXBsV2l0aEV2ZW50VGFyZ2V0RGF0YT4gbV9waWN0
dXJlRWxlbWVudDsKICAgICAvLyBUaGUgc291cmNlIGVsZW1lbnQgdGhhdCB3YXMgc2VsZWN0ZWQg
dG8gcHJvdmlkZSB0aGUgc291cmNlIFVSTC4KICAgICBXZWFrUHRyPEhUTUxTb3VyY2VFbGVtZW50
LCBXZWFrUHRySW1wbFdpdGhFdmVudFRhcmdldERhdGE+IG1fc291cmNlRWxlbWVudDsKLSAgICBN
ZWRpYVF1ZXJ5RHluYW1pY1Jlc3VsdHMgbV9tZWRpYVF1ZXJ5RHluYW1pY1Jlc3VsdHM7CisgICAg
VmVjdG9yPE1lZGlhUXVlcnlSZXN1bHQ+IG1fZHluYW1pY01lZGlhUXVlcnlSZXN1bHRzOwogCiAj
aWYgRU5BQkxFKEFUVEFDSE1FTlRfRUxFTUVOVCkKICAgICBTdHJpbmcgbV9wZW5kaW5nQ2xvbmVk
QXR0YWNobWVudElEOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvc3R5bGUvUnVsZVNldEJ1
aWxkZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvc3R5bGUvUnVsZVNldEJ1aWxkZXIuY3BwCmluZGV4
IGI1NzdkNzAzOGExYS4uYzlmZjg3OWZhYjVjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9z
dHlsZS9SdWxlU2V0QnVpbGRlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvc3R5bGUvUnVsZVNl
dEJ1aWxkZXIuY3BwCkBAIC0zNDksNyArMzQ5LDcgQEAgdm9pZCBSdWxlU2V0QnVpbGRlcjo6YWRk
TXV0YXRpbmdSdWxlc1RvUmVzb2x2ZXIoKQogCiB2b2lkIFJ1bGVTZXRCdWlsZGVyOjp1cGRhdGVE
eW5hbWljTWVkaWFRdWVyaWVzKCkKIHsKLSAgICBpZiAobV9tZWRpYVF1ZXJ5Q29sbGVjdG9yLmhh
c1ZpZXdwb3J0RGVwZW5kZW50TWVkaWFRdWVyaWVzKQorICAgIGlmIChtX21lZGlhUXVlcnlDb2xs
ZWN0b3IuYWxsRHluYW1pY0RlcGVuZGVuY2llcy5jb250YWlucyhNUTo6TWVkaWFRdWVyeUR5bmFt
aWNEZXBlbmRlbmN5OjpWaWV3cG9ydCkpCiAgICAgICAgIG1fcnVsZVNldC0+bV9oYXNWaWV3cG9y
dERlcGVuZGVudE1lZGlhUXVlcmllcyA9IHRydWU7CiAKICAgICBpZiAoIW1fbWVkaWFRdWVyeUNv
bGxlY3Rvci5keW5hbWljTWVkaWFRdWVyeVJ1bGVzLmlzRW1wdHkoKSkgewpAQCAtMzY4LDE5ICsz
NjgsMTcgQEAgYm9vbCBSdWxlU2V0QnVpbGRlcjo6TWVkaWFRdWVyeUNvbGxlY3Rvcjo6cHVzaEFu
ZEV2YWx1YXRlKGNvbnN0IE1lZGlhUXVlcnlTZXQqIHMKICAgICBpZiAoIXNldCkKICAgICAgICAg
cmV0dXJuIHRydWU7CiAKLSAgICAvLyBPbmx5IGV2YWx1YXRlIHN0YXRpYyBleHByZXNzaW9ucyB0
aGF0IHJlcXVpcmUgc3R5bGUgcmVidWlsZC4KLSAgICBNZWRpYVF1ZXJ5RHluYW1pY1Jlc3VsdHMg
ZHluYW1pY1Jlc3VsdHM7Ci0gICAgYXV0byBtb2RlID0gY29sbGVjdER5bmFtaWMgPyBMZWdhY3lN
ZWRpYVF1ZXJ5RXZhbHVhdG9yOjpNb2RlOjpBbHdheXNNYXRjaER5bmFtaWMgOiBMZWdhY3lNZWRp
YVF1ZXJ5RXZhbHVhdG9yOjpNb2RlOjpOb3JtYWw7CisgICAgYXV0byBkeW5hbWljRGVwZW5kZW5j
aWVzID0gbWVkaWFRdWVyeUR5bmFtaWNEZXBlbmRlbmNpZXMoKnNldCwgZXZhbHVhdG9yKTsKIAot
ICAgIGJvb2wgcmVzdWx0ID0gZXZhbHVhdG9yLmV2YWx1YXRlKCpzZXQsICZkeW5hbWljUmVzdWx0
cywgbW9kZSk7CisgICAgYWxsRHluYW1pY0RlcGVuZGVuY2llcy5hZGQoZHluYW1pY0RlcGVuZGVu
Y2llcyk7CiAKLSAgICBpZiAoIWR5bmFtaWNSZXN1bHRzLnZpZXdwb3J0LmlzRW1wdHkoKSkKLSAg
ICAgICAgaGFzVmlld3BvcnREZXBlbmRlbnRNZWRpYVF1ZXJpZXMgPSB0cnVlOwotCi0gICAgaWYg
KCFkeW5hbWljUmVzdWx0cy5pc0VtcHR5KCkpCisgICAgaWYgKCFkeW5hbWljRGVwZW5kZW5jaWVz
LmlzRW1wdHkoKSkgewogICAgICAgICBkeW5hbWljQ29udGV4dFN0YWNrLmFwcGVuZCh7ICpzZXQg
fSk7CisgICAgICAgIGlmIChjb2xsZWN0RHluYW1pYykKKyAgICAgICAgICAgIHJldHVybiB0cnVl
OworICAgIH0KIAotICAgIHJldHVybiByZXN1bHQ7CisgICAgcmV0dXJuIGV2YWx1YXRvci5ldmFs
dWF0ZSgqc2V0KTsKIH0KIAogdm9pZCBSdWxlU2V0QnVpbGRlcjo6TWVkaWFRdWVyeUNvbGxlY3Rv
cjo6cG9wKGNvbnN0IE1lZGlhUXVlcnlTZXQqIHNldCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3N0eWxlL1J1bGVTZXRCdWlsZGVyLmggYi9Tb3VyY2UvV2ViQ29yZS9zdHlsZS9SdWxlU2V0
QnVpbGRlci5oCmluZGV4IDYyYTYwZTcxZWY0NS4uODg4MmQ3ZWMzMzU5IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9zdHlsZS9SdWxlU2V0QnVpbGRlci5oCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3N0eWxlL1J1bGVTZXRCdWlsZGVyLmgKQEAgLTIxLDYgKzIxLDcgQEAKIAogI3ByYWdtYSBvbmNl
CiAKKyNpbmNsdWRlICJNZWRpYVF1ZXJ5LmgiCiAjaW5jbHVkZSAiUnVsZVNldC5oIgogCiBuYW1l
c3BhY2UgV2ViQ29yZSB7CkBAIC02Myw3ICs2NCw3IEBAIHByaXZhdGU6CiAgICAgICAgIFZlY3Rv
cjxEeW5hbWljQ29udGV4dD4gZHluYW1pY0NvbnRleHRTdGFjayB7IH07CiAKICAgICAgICAgVmVj
dG9yPFJ1bGVTZXQ6OkR5bmFtaWNNZWRpYVF1ZXJ5UnVsZXM+IGR5bmFtaWNNZWRpYVF1ZXJ5UnVs
ZXMgeyB9OwotICAgICAgICBib29sIGhhc1ZpZXdwb3J0RGVwZW5kZW50TWVkaWFRdWVyaWVzIHsg
ZmFsc2UgfTsKKyAgICAgICAgT3B0aW9uU2V0PE1ROjpNZWRpYVF1ZXJ5RHluYW1pY0RlcGVuZGVu
Y3k+IGFsbER5bmFtaWNEZXBlbmRlbmNpZXMgeyB9OwogCiAgICAgICAgIGJvb2wgcHVzaEFuZEV2
YWx1YXRlKGNvbnN0IE1lZGlhUXVlcnlTZXQqKTsKICAgICAgICAgdm9pZCBwb3AoY29uc3QgTWVk
aWFRdWVyeVNldCopOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvc3R5bGUvVXNlckFnZW50
U3R5bGUuY3BwIGIvU291cmNlL1dlYkNvcmUvc3R5bGUvVXNlckFnZW50U3R5bGUuY3BwCmluZGV4
IGIxNzg4ODRlZDExMS4uMzM3OWI0MzcxMGEwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9z
dHlsZS9Vc2VyQWdlbnRTdHlsZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvc3R5bGUvVXNlckFn
ZW50U3R5bGUuY3BwCkBAIC0xMjksOSArMTI5LDkgQEAgdm9pZCBVc2VyQWdlbnRTdHlsZTo6YWRk
VG9EZWZhdWx0U3R5bGUoU3R5bGVTaGVldENvbnRlbnRzJiBzaGVldCkKICAgICAgICAgICAgIGNv
bnRpbnVlOwogICAgICAgICBhdXRvJiBtZWRpYVJ1bGUgPSBkb3duY2FzdDxTdHlsZVJ1bGVNZWRp
YT4oKnJ1bGUpOwogICAgICAgICBhdXRvJiBtZWRpYVF1ZXJ5ID0gbWVkaWFSdWxlLm1lZGlhUXVl
cmllcygpOwotICAgICAgICBpZiAoc2NyZWVuRXZhbCgpLmV2YWx1YXRlKG1lZGlhUXVlcnksIG51
bGxwdHIpKQorICAgICAgICBpZiAoc2NyZWVuRXZhbCgpLmV2YWx1YXRlKG1lZGlhUXVlcnkpKQog
ICAgICAgICAgICAgY29udGludWU7Ci0gICAgICAgIGlmIChwcmludEV2YWwoKS5ldmFsdWF0ZSht
ZWRpYVF1ZXJ5LCBudWxscHRyKSkKKyAgICAgICAgaWYgKHByaW50RXZhbCgpLmV2YWx1YXRlKG1l
ZGlhUXVlcnkpKQogICAgICAgICAgICAgY29udGludWU7CiAgICAgICAgIG1lZGlhUXVlcnlTdHls
ZVNoZWV0LT5wYXJzZXJBcHBlbmRSdWxlKG1lZGlhUnVsZS5jb3B5KCkpOwogICAgIH0K
</data>

          </attachment>
      

    </bug>

</bugzilla>