<?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>237441</bug_id>
          
          <creation_ts>2022-03-03 12:03:21 -0800</creation_ts>
          <short_desc>Fix broken SuspendExceptionScope and remove redundant VM::DeferExceptionScope.</short_desc>
          <delta_ts>2022-03-05 10:56: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>JavaScriptCore</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="Mark Lam">mark.lam</reporter>
          <assigned_to name="Mark Lam">mark.lam</assigned_to>
          <cc>ews-watchlist</cc>
    
    <cc>hi</cc>
    
    <cc>joepeck</cc>
    
    <cc>keith_miller</cc>
    
    <cc>msaboff</cc>
    
    <cc>pangle</cc>
    
    <cc>saam</cc>
    
    <cc>tzagallo</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>ysuzuki</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1848024</commentid>
    <comment_count>0</comment_count>
    <who name="Mark Lam">mark.lam</who>
    <bug_when>2022-03-03 12:03:21 -0800</bug_when>
    <thetext>SuspendExceptionScope was meant to do exactly the same things that VM::DeferExceptionScope does, except that SuspendExceptionScope hasn&apos;t been updated to handle exception handling via VMtraps bits.  This patch will fix SuspendExceptionScope to work like VM::DeferExceptionScope, and remove the now redundant VM::DeferExceptionScope.  SuspendExceptionScope is the better name here because the scope actually suspends any pending exception.  This is different from other Defer scopes where we prevent some new event from arising and defer the event to a later time.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1848025</commentid>
    <comment_count>1</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2022-03-03 12:03:58 -0800</bug_when>
    <thetext>&lt;rdar://problem/89769627&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1848028</commentid>
    <comment_count>2</comment_count>
      <attachid>453775</attachid>
    <who name="Mark Lam">mark.lam</who>
    <bug_when>2022-03-03 12:10:24 -0800</bug_when>
    <thetext>Created attachment 453775
proposed patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1848031</commentid>
    <comment_count>3</comment_count>
      <attachid>453777</attachid>
    <who name="Mark Lam">mark.lam</who>
    <bug_when>2022-03-03 12:13:55 -0800</bug_when>
    <thetext>Created attachment 453777
proposed patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1848033</commentid>
    <comment_count>4</comment_count>
      <attachid>453778</attachid>
    <who name="Mark Lam">mark.lam</who>
    <bug_when>2022-03-03 12:15:29 -0800</bug_when>
    <thetext>Created attachment 453778
proposed patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1848044</commentid>
    <comment_count>5</comment_count>
      <attachid>453778</attachid>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2022-03-03 13:09:57 -0800</bug_when>
    <thetext>Comment on attachment 453778
proposed patch.

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1848537</commentid>
    <comment_count>6</comment_count>
      <attachid>453778</attachid>
    <who name="Mark Lam">mark.lam</who>
    <bug_when>2022-03-05 10:19:31 -0800</bug_when>
    <thetext>Comment on attachment 453778
proposed patch.

Thanks for the review.  Landing now.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1848539</commentid>
    <comment_count>7</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2022-03-05 10:56:28 -0800</bug_when>
    <thetext>Committed r290869 (248100@main): &lt;https://commits.webkit.org/248100@main&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 453778.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>453775</attachid>
            <date>2022-03-03 12:10:24 -0800</date>
            <delta_ts>2022-03-03 12:13:34 -0800</delta_ts>
            <desc>proposed patch.</desc>
            <filename>bug-237441.patch</filename>
            <type>text/plain</type>
            <size>10931</size>
            <attacher name="Mark Lam">mark.lam</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gMjkwNzg3KQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDMzIEBA
CisyMDIyLTAzLTAzICBNYXJrIExhbSAgPG1hcmsubGFtQGFwcGxlLmNvbT4KKworICAgICAgICBG
aXggYnJva2VuIFN1c3BlbmRFeGNlcHRpb25TY29wZSBhbmQgcmVtb3ZlIHJlZHVuZGFudCBWTTo6
RGVmZXJFeGNlcHRpb25TY29wZS4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTIzNzQ0MQorICAgICAgICA8cmRhcjovL3Byb2JsZW0vODk3Njk2Mjc+CisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgU3VzcGVuZEV4
Y2VwdGlvblNjb3BlIHdhcyBtZWFudCB0byBkbyBleGFjdGx5IHRoZSBzYW1lIHRoaW5nIHRoYXQg
Vk06OkRlZmVyRXhjZXB0aW9uU2NvcGUKKyAgICAgICAgZG9lcywgZXhjZXB0IHRoYXQgU3VzcGVu
ZEV4Y2VwdGlvblNjb3BlIGhhc24ndCBiZWVuIHVwZGF0ZWQgdG8gaGFuZGxlIGV4Y2VwdGlvbgor
ICAgICAgICBoYW5kbGluZyB2aWEgVk10cmFwcyBiaXRzLgorCisgICAgICAgIFRoaXMgcGF0Y2gg
d2lsbCBmaXggU3VzcGVuZEV4Y2VwdGlvblNjb3BlIHRvIHdvcmsgbGlrZSBWTTo6RGVmZXJFeGNl
cHRpb25TY29wZSwKKyAgICAgICAgYW5kIHJlbW92ZSB0aGUgbm93IHJlZHVuZGFudCBWTTo6RGVm
ZXJFeGNlcHRpb25TY29wZS4gIFN1c3BlbmRFeGNlcHRpb25TY29wZSBpcworICAgICAgICB0aGUg
YmV0dGVyIG5hbWUgaGVyZSBiZWNhdXNlIHRoZSBzY29wZSBhY3R1YWxseSBzdXNwZW5kcyBhbnkg
cGVuZGluZyBleGNlcHRpb24uCisgICAgICAgIFRoaXMgaXMgZGlmZmVyZW50IGZyb20gb3RoZXIg
RGVmZXIgc2NvcGVzIHdoZXJlIHdlIHByZXZlbnQgc29tZSBuZXcgZXZlbnQgZnJvbQorICAgICAg
ICBhcmlzaW5nIGFuZCBkZWZlciB0aGUgZXZlbnQgdG8gYSBsYXRlciB0aW1lLgorCisgICAgICAg
ICogaW50ZXJwcmV0ZXIvRnJhbWVUcmFjZXJzLmg6CisgICAgICAgIChKU0M6OlN1c3BlbmRFeGNl
cHRpb25TY29wZTo6U3VzcGVuZEV4Y2VwdGlvblNjb3BlKToKKyAgICAgICAgKEpTQzo6U3VzcGVu
ZEV4Y2VwdGlvblNjb3BlOjp+U3VzcGVuZEV4Y2VwdGlvblNjb3BlKToKKyAgICAgICAgKiBpbnRl
cnByZXRlci9JbnRlcnByZXRlci5jcHA6CisgICAgICAgIChKU0M6OlVud2luZEZ1bmN0b3I6Om5v
dGlmeURlYnVnZ2VyT2ZVbndpbmRpbmcpOgorICAgICAgICAqIHJ1bnRpbWUvVHlwZVByb2ZpbGVy
TG9nLmNwcDoKKyAgICAgICAgKEpTQzo6VHlwZVByb2ZpbGVyTG9nOjpwcm9jZXNzTG9nRW50cmll
cyk6CisgICAgICAgICogcnVudGltZS9WTS5oOgorICAgICAgICAoSlNDOjpWTTo6cmVzdG9yZVBy
ZXZpb3VzRXhjZXB0aW9uKTogRGVsZXRlZC4KKyAgICAgICAgKEpTQzo6Vk06OkRlZmVyRXhjZXB0
aW9uU2NvcGU6OkRlZmVyRXhjZXB0aW9uU2NvcGUpOiBEZWxldGVkLgorICAgICAgICAoSlNDOjpW
TTo6RGVmZXJFeGNlcHRpb25TY29wZTo6fkRlZmVyRXhjZXB0aW9uU2NvcGUpOiBEZWxldGVkLgor
CiAyMDIyLTAzLTAzICBBZHJpYW4gUGVyZXogZGUgQ2FzdHJvICA8YXBlcmV6QGlnYWxpYS5jb20+
CiAKICAgICAgICAgTm9uLXVuaWZpZWQgYnVpbGQgZml4ZXMsIGVhcmx5IE1hcmNoIDIwMjIgZWRp
dGlvbgpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2ludGVycHJldGVyL0ZyYW1lVHJhY2Vy
cy5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnRlcnByZXRlci9GcmFt
ZVRyYWNlcnMuaAkocmV2aXNpb24gMjkwNzg1KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2lu
dGVycHJldGVyL0ZyYW1lVHJhY2Vycy5oCSh3b3JraW5nIGNvcHkpCkBAIC0xLDUgKzEsNSBAQAog
LyoKLSAqIENvcHlyaWdodCAoQykgMjAxNi0yMDE5IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNl
cnZlZC4KKyAqIENvcHlyaWdodCAoQykgMjAxNi0yMDIyIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyBy
ZXNlcnZlZC4KICAqCiAgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmlu
YXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKICAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRl
ZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwpAQCAtMzUsMjAgKzM1LDI1
IEBAIHN0cnVjdCBFbnRyeUZyYW1lOwogCiBjbGFzcyBTdXNwZW5kRXhjZXB0aW9uU2NvcGUgewog
cHVibGljOgotICAgIFN1c3BlbmRFeGNlcHRpb25TY29wZShWTSogdm0pCisgICAgU3VzcGVuZEV4
Y2VwdGlvblNjb3BlKFZNJiB2bSkKICAgICAgICAgOiBtX3ZtKHZtKQorICAgICAgICAsIG1fZXhj
ZXB0aW9uV2FzU2V0KHZtLm1fZXhjZXB0aW9uKQorICAgICAgICAsIG1fc2F2ZWRFeGNlcHRpb24o
dm0ubV9leGNlcHRpb24sIG51bGxwdHIpCisgICAgICAgICwgbV9zYXZlZExhc3RFeGNlcHRpb24o
dm0ubV9sYXN0RXhjZXB0aW9uLCBudWxscHRyKQogICAgIHsKLSAgICAgICAgYXV0byBzY29wZSA9
IERFQ0xBUkVfQ0FUQ0hfU0NPUEUoKnZtKTsKLSAgICAgICAgb2xkRXhjZXB0aW9uID0gc2NvcGUu
ZXhjZXB0aW9uKCk7Ci0gICAgICAgIHNjb3BlLmNsZWFyRXhjZXB0aW9uKCk7CisgICAgICAgIGlm
IChtX2V4Y2VwdGlvbldhc1NldCkKKyAgICAgICAgICAgIG1fdm0udHJhcHMoKS5jbGVhclRyYXBC
aXQoVk1UcmFwczo6TmVlZEV4Y2VwdGlvbkhhbmRsaW5nKTsKICAgICB9CiAgICAgflN1c3BlbmRF
eGNlcHRpb25TY29wZSgpCiAgICAgewotICAgICAgICBtX3ZtLT5yZXN0b3JlUHJldmlvdXNFeGNl
cHRpb24ob2xkRXhjZXB0aW9uKTsKKyAgICAgICAgaWYgKG1fZXhjZXB0aW9uV2FzU2V0KQorICAg
ICAgICAgICAgbV92bS50cmFwcygpLnNldFRyYXBCaXQoVk1UcmFwczo6TmVlZEV4Y2VwdGlvbkhh
bmRsaW5nKTsKICAgICB9CiBwcml2YXRlOgotICAgIEV4Y2VwdGlvbiogb2xkRXhjZXB0aW9uOwot
ICAgIFZNKiBtX3ZtOworICAgIFZNJiBtX3ZtOworICAgIGJvb2wgbV9leGNlcHRpb25XYXNTZXQ7
CisgICAgU2V0Rm9yU2NvcGU8RXhjZXB0aW9uKj4gbV9zYXZlZEV4Y2VwdGlvbjsKKyAgICBTZXRG
b3JTY29wZTxFeGNlcHRpb24qPiBtX3NhdmVkTGFzdEV4Y2VwdGlvbjsKIH07CiAKIGNsYXNzIFRv
cENhbGxGcmFtZVNldHRlciB7CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvaW50ZXJwcmV0
ZXIvSW50ZXJwcmV0ZXIuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9p
bnRlcnByZXRlci9JbnRlcnByZXRlci5jcHAJKHJldmlzaW9uIDI5MDc4NSkKKysrIFNvdXJjZS9K
YXZhU2NyaXB0Q29yZS9pbnRlcnByZXRlci9JbnRlcnByZXRlci5jcHAJKHdvcmtpbmcgY29weSkK
QEAgLTY1MCw3ICs2NTAsNyBAQCBwcml2YXRlOgogICAgICAgICBEZWZlclRlcm1pbmF0aW9uIGRl
ZmVyU2NvcGUodm0pOwogICAgICAgICBhdXRvIGNhdGNoU2NvcGUgPSBERUNMQVJFX0NBVENIX1ND
T1BFKHZtKTsKIAotICAgICAgICBTdXNwZW5kRXhjZXB0aW9uU2NvcGUgc2NvcGUoJnZtKTsKKyAg
ICAgICAgU3VzcGVuZEV4Y2VwdGlvblNjb3BlIHNjb3BlKHZtKTsKICAgICAgICAgaWYgKGNhbGxG
cmFtZS0+aXNBbnlXYXNtQ2FsbGVlKCkKICAgICAgICAgICAgIHx8IChjYWxsRnJhbWUtPmNhbGxl
ZSgpLmlzQ2VsbCgpICYmIGNhbGxGcmFtZS0+Y2FsbGVlKCkuYXNDZWxsKCktPmluaGVyaXRzPEpT
RnVuY3Rpb24+KHZtKSkpCiAgICAgICAgICAgICBkZWJ1Z2dlci0+dW53aW5kRXZlbnQoY2FsbEZy
YW1lKTsKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1R5cGVQcm9maWxlckxv
Zy5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvVHlwZVBy
b2ZpbGVyTG9nLmNwcAkocmV2aXNpb24gMjkwNzg1KQorKysgU291cmNlL0phdmFTY3JpcHRDb3Jl
L3J1bnRpbWUvVHlwZVByb2ZpbGVyTG9nLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMSw1ICsxLDUg
QEAKIC8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTQtMjAyMSBBcHBsZSBJbmMuIEFsbCByaWdodHMg
cmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIwMTQtMjAyMiBBcHBsZSBJbmMuIEFsbCByaWdo
dHMgcmVzZXJ2ZWQuCiAgKgogICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5k
IGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CiAgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJt
aXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKQEAgLTI5LDYgKzI5
LDcgQEAKICNpbmNsdWRlICJjb25maWcuaCIKICNpbmNsdWRlICJUeXBlUHJvZmlsZXJMb2cuaCIK
IAorI2luY2x1ZGUgIkZyYW1lVHJhY2Vycy5oIgogI2luY2x1ZGUgIkpTQ0pTVmFsdWVJbmxpbmVz
LmgiCiAjaW5jbHVkZSAiVHlwZUxvY2F0aW9uLmgiCiAKQEAgLTU4LDkgKzU5LDkgQEAgdm9pZCBU
eXBlUHJvZmlsZXJMb2c6OnByb2Nlc3NMb2dFbnRyaWVzKAogICAgIC8vIFdlIG5lZWQgdG8gZG8g
dGhpcyBiZWNhdXNlIHRoaXMgY29kZSB3aWxsIGNhbGwgaW50byBjYWxjdWxhdGVkRGlzcGxheU5h
bWUuCiAgICAgLy8gY2FsY3VsYXRlZERpc3BsYXlOYW1lIHdpbGwgY2xlYXIgYW55IGV4Y2VwdGlv
biBpdCBzZWVzIChiZWNhdXNlIGl0IHRoaW5rcwogICAgIC8vIGl0J3MgYSBzdGFjayBvdmVyZmxv
dykuIFdlIG1heSBiZSBjYWxsZWQgd2hlbiBhbiBleGNlcHRpb24gd2FzIGFscmVhZHkKLSAgICAv
LyB0aHJvd24sIHNvIHdlIGRvbid0IHdhbnQgY2FsY3VhbHRlZERpc3BsYXlOYW1lIHRvIGNsZWFy
IHRoYXQgZXhjZXB0aW9uIHRoYXQKKyAgICAvLyB0aHJvd24sIHNvIHdlIGRvbid0IHdhbnQgY2Fs
Y3VsYXRlZERpc3BsYXlOYW1lIHRvIGNsZWFyIHRoYXQgZXhjZXB0aW9uIHRoYXQKICAgICAvLyB3
YXMgdGhyb3duIGJlZm9yZSB3ZSBldmVuIGdvdCBoZXJlLgotICAgIFZNOjpEZWZlckV4Y2VwdGlv
blNjb3BlIGRlZmVyRXhjZXB0aW9uU2NvcGUodm0pOworICAgIFN1c3BlbmRFeGNlcHRpb25TY29w
ZSBzdXNwZW5kRXhjZXB0aW9uU2NvcGUodm0pOwogCiAgICAgTW9ub3RvbmljVGltZSBiZWZvcmUg
eyB9OwogICAgIGlmIChUeXBlUHJvZmlsZXJMb2dJbnRlcm5hbDo6dmVyYm9zZSkgewpJbmRleDog
U291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvVk0uaAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2Uv
SmF2YVNjcmlwdENvcmUvcnVudGltZS9WTS5oCShyZXZpc2lvbiAyOTA3ODUpCisrKyBTb3VyY2Uv
SmF2YVNjcmlwdENvcmUvcnVudGltZS9WTS5oCSh3b3JraW5nIGNvcHkpCkBAIC02MTIsOCArNjEy
LDYgQEAgcHVibGljOgogICAgICAgICByZXR1cm4gT0JKRUNUX09GRlNFVE9GKFZNLCBoZWFwKSAr
IE9CSkVDVF9PRkZTRVRPRihIZWFwLCBtX211dGF0b3JTaG91bGRCZUZlbmNlZCk7CiAgICAgfQog
Ci0gICAgdm9pZCByZXN0b3JlUHJldmlvdXNFeGNlcHRpb24oRXhjZXB0aW9uKiBleGNlcHRpb24p
IHsgc2V0RXhjZXB0aW9uKGV4Y2VwdGlvbik7IH0KLQogICAgIHZvaWQgY2xlYXJMYXN0RXhjZXB0
aW9uKCkgeyBtX2xhc3RFeGNlcHRpb24gPSBudWxscHRyOyB9CiAKICAgICBDYWxsRnJhbWUqKiBh
ZGRyZXNzT2ZDYWxsRnJhbWVGb3JDYXRjaCgpIHsgcmV0dXJuICZjYWxsRnJhbWVGb3JDYXRjaDsg
fQpAQCAtODM4LDMxICs4MzYsNiBAQCBwdWJsaWM6CiAKICAgICBzdGF0aWMgdm9pZCBzZXRDcmFz
aE9uVk1DcmVhdGlvbihib29sKTsKIAotICAgIGNsYXNzIERlZmVyRXhjZXB0aW9uU2NvcGUgewot
ICAgIHB1YmxpYzoKLSAgICAgICAgRGVmZXJFeGNlcHRpb25TY29wZShWTSYgdm0pCi0gICAgICAg
ICAgICA6IG1fdm0odm0pCi0gICAgICAgICAgICAsIG1fZXhjZXB0aW9uV2FzU2V0KHZtLm1fZXhj
ZXB0aW9uKQotICAgICAgICAgICAgLCBtX3NhdmVkRXhjZXB0aW9uKHZtLm1fZXhjZXB0aW9uLCBu
dWxscHRyKQotICAgICAgICAgICAgLCBtX3NhdmVkTGFzdEV4Y2VwdGlvbih2bS5tX2xhc3RFeGNl
cHRpb24sIG51bGxwdHIpCi0gICAgICAgIHsKLSAgICAgICAgICAgIGlmIChtX2V4Y2VwdGlvbldh
c1NldCkKLSAgICAgICAgICAgICAgICBtX3ZtLnRyYXBzKCkuY2xlYXJUcmFwQml0KFZNVHJhcHM6
Ok5lZWRFeGNlcHRpb25IYW5kbGluZyk7Ci0gICAgICAgIH0KLQotICAgICAgICB+RGVmZXJFeGNl
cHRpb25TY29wZSgpCi0gICAgICAgIHsKLSAgICAgICAgICAgIGlmIChtX2V4Y2VwdGlvbldhc1Nl
dCkKLSAgICAgICAgICAgICAgICBtX3ZtLnRyYXBzKCkuc2V0VHJhcEJpdChWTVRyYXBzOjpOZWVk
RXhjZXB0aW9uSGFuZGxpbmcpOwotICAgICAgICB9Ci0KLSAgICBwcml2YXRlOgotICAgICAgICBW
TSYgbV92bTsKLSAgICAgICAgYm9vbCBtX2V4Y2VwdGlvbldhc1NldDsKLSAgICAgICAgU2V0Rm9y
U2NvcGU8RXhjZXB0aW9uKj4gbV9zYXZlZEV4Y2VwdGlvbjsKLSAgICAgICAgU2V0Rm9yU2NvcGU8
RXhjZXB0aW9uKj4gbV9zYXZlZExhc3RFeGNlcHRpb247Ci0gICAgfTsKLQogICAgIHZvaWQgYWRk
TG9vcEhpbnRFeGVjdXRpb25Db3VudGVyKGNvbnN0IEpTSW5zdHJ1Y3Rpb24qKTsKICAgICB1aW50
cHRyX3QqIGdldExvb3BIaW50RXhlY3V0aW9uQ291bnRlcihjb25zdCBKU0luc3RydWN0aW9uKik7
CiAgICAgdm9pZCByZW1vdmVMb29wSGludEV4ZWN1dGlvbkNvdW50ZXIoY29uc3QgSlNJbnN0cnVj
dGlvbiopOwpAQCAtODg3LDggKzg2MCw2IEBAIHB1YmxpYzoKICNlbmRpZgogCiBwcml2YXRlOgot
ICAgIGZyaWVuZCBjbGFzcyBMTEludE9mZnNldHNFeHRyYWN0b3I7Ci0KICAgICBWTShWTVR5cGUs
IEhlYXBUeXBlLCBXVEY6OlJ1bkxvb3AqID0gbnVsbHB0ciwgYm9vbCogc3VjY2VzcyA9IG51bGxw
dHIpOwogICAgIHN0YXRpYyBWTSomIHNoYXJlZEluc3RhbmNlSW50ZXJuYWwoKTsKICAgICB2b2lk
IGNyZWF0ZU5hdGl2ZVRodW5rKCk7CkBAIC0xMDE3LDEyICs5ODgsMTMgQEAgcHJpdmF0ZToKICAg
ICBWTSogbV9wcmV2OyAvLyBSZXF1aXJlZCBieSBEb3VibHlMaW5rZWRMaXN0Tm9kZS4KICAgICBW
TSogbV9uZXh0OyAvLyBSZXF1aXJlZCBieSBEb3VibHlMaW5rZWRMaXN0Tm9kZS4KIAotICAgIC8v
IEZyaWVuZHMgZm9yIGV4Y2VwdGlvbiBjaGVja2luZyBwdXJwb3NlIG9ubHkuCiAgICAgZnJpZW5k
IGNsYXNzIEhlYXA7Ci0gICAgZnJpZW5kIGNsYXNzIENhdGNoU2NvcGU7Ci0gICAgZnJpZW5kIGNs
YXNzIEV4Y2VwdGlvblNjb3BlOworICAgIGZyaWVuZCBjbGFzcyBDYXRjaFNjb3BlOyAvLyBGcmll
bmQgZm9yIGV4Y2VwdGlvbiBjaGVja2luZyBwdXJwb3NlIG9ubHkuCisgICAgZnJpZW5kIGNsYXNz
IEV4Y2VwdGlvblNjb3BlOyAvLyBGcmllbmQgZm9yIGV4Y2VwdGlvbiBjaGVja2luZyBwdXJwb3Nl
IG9ubHkuCiAgICAgZnJpZW5kIGNsYXNzIEpTRG9sbGFyVk1IZWxwZXI7Ci0gICAgZnJpZW5kIGNs
YXNzIFRocm93U2NvcGU7CisgICAgZnJpZW5kIGNsYXNzIExMSW50T2Zmc2V0c0V4dHJhY3RvcjsK
KyAgICBmcmllbmQgY2xhc3MgU3VzcGVuZEV4Y2VwdGlvblNjb3BlOworICAgIGZyaWVuZCBjbGFz
cyBUaHJvd1Njb3BlOyAvLyBGcmllbmQgZm9yIGV4Y2VwdGlvbiBjaGVja2luZyBwdXJwb3NlIG9u
bHkuCiAgICAgZnJpZW5kIGNsYXNzIFZNVHJhcHM7CiAgICAgZnJpZW5kIGNsYXNzIFdURjo6RG91
Ymx5TGlua2VkTGlzdE5vZGU8Vk0+OwogfTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxv
Zwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDI5MDc4
NSkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsx
LDE2IEBACisyMDIyLTAzLTAzICBNYXJrIExhbSAgPG1hcmsubGFtQGFwcGxlLmNvbT4KKworICAg
ICAgICBGaXggYnJva2VuIFN1c3BlbmRFeGNlcHRpb25TY29wZSBhbmQgcmVtb3ZlIHJlZHVuZGFu
dCBWTTo6RGVmZXJFeGNlcHRpb25TY29wZS4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTIzNzQ0MQorICAgICAgICA8cmRhcjovL3Byb2JsZW0vODk3Njk2
Mjc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBp
bnNwZWN0b3IvSW5zcGVjdG9yRnJvbnRlbmRBUElEaXNwYXRjaGVyLmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6Okluc3BlY3RvckZyb250ZW5kQVBJRGlzcGF0Y2hlcjo6ZXZhbHVhdGVFeHByZXNzaW9u
KToKKyAgICAgICAgKiBpbnNwZWN0b3IvSW5zcGVjdG9yRnJvbnRlbmRIb3N0LmNwcDoKKyAgICAg
ICAgKFdlYkNvcmU6Okluc3BlY3RvckZyb250ZW5kSG9zdDo6ZXZhbHVhdGVTY3JpcHRJbkV4dGVu
c2lvblRhYik6CisKIDIwMjItMDMtMDMgIFNpbW9uIEZyYXNlciAgPHNpbW9uLmZyYXNlckBhcHBs
ZS5jb20+CiAKICAgICAgICAgbmFzYS5nb3YgcGFnZSB3aXRoIGZpeGVkIGJhY2tncm91bmRzIHBh
aW50cyBpbmNvcnJlY3RseSBvbiBzY3JvbGwKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2luc3BlY3Rv
ci9JbnNwZWN0b3JGcm9udGVuZEFQSURpc3BhdGNoZXIuY3BwCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJj
ZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JGcm9udGVuZEFQSURpc3BhdGNoZXIuY3BwCShy
ZXZpc2lvbiAyOTA3ODUpCisrKyBTb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yRnJv
bnRlbmRBUElEaXNwYXRjaGVyLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMSw1ICsxLDUgQEAKIC8q
Ci0gKiBDb3B5cmlnaHQgKEMpIDIwMTQtMjAyMSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2
ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIwMTQtMjAyMiBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVz
ZXJ2ZWQuCiAgKgogICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFy
eSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CiAgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQg
cHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKQEAgLTI1OSw3ICsyNTksNyBA
QCBWYWx1ZU9yRXhjZXB0aW9uIEluc3BlY3RvckZyb250ZW5kQVBJRGlzCiAgICAgQVNTRVJUKCFt
X3N1c3BlbmRlZCk7CiAgICAgQVNTRVJUKG1fcXVldWVkRXZhbHVhdGlvbnMuaXNFbXB0eSgpKTsK
IAotICAgIEpTQzo6U3VzcGVuZEV4Y2VwdGlvblNjb3BlIHNjb3BlKCZtX2Zyb250ZW5kUGFnZS0+
aW5zcGVjdG9yQ29udHJvbGxlcigpLnZtKCkpOworICAgIEpTQzo6U3VzcGVuZEV4Y2VwdGlvblNj
b3BlIHNjb3BlKG1fZnJvbnRlbmRQYWdlLT5pbnNwZWN0b3JDb250cm9sbGVyKCkudm0oKSk7CiAg
ICAgcmV0dXJuIG1fZnJvbnRlbmRQYWdlLT5tYWluRnJhbWUoKS5zY3JpcHQoKS5ldmFsdWF0ZUlu
V29ybGQoU2NyaXB0U291cmNlQ29kZShleHByZXNzaW9uKSwgbWFpblRocmVhZE5vcm1hbFdvcmxk
KCkpOwogfQogCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yRnJvbnRl
bmRIb3N0LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVj
dG9yRnJvbnRlbmRIb3N0LmNwcAkocmV2aXNpb24gMjkwNzg1KQorKysgU291cmNlL1dlYkNvcmUv
aW5zcGVjdG9yL0luc3BlY3RvckZyb250ZW5kSG9zdC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTEs
NSArMSw1IEBACiAvKgotICogQ29weXJpZ2h0IChDKSAyMDA3LTIwMjEgQXBwbGUgSW5jLiBBbGwg
cmlnaHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0IChDKSAyMDA3LTIwMjIgQXBwbGUgSW5jLiBB
bGwgcmlnaHRzIHJlc2VydmVkLgogICogQ29weXJpZ2h0IChDKSAyMDA4IE1hdHQgTGlsZWsgPHdl
YmtpdEBtYXR0bGlsZWsuY29tPgogICoKICAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291
cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dApAQCAtNzQwLDcgKzc0MCw3IEBA
IEV4Y2VwdGlvbk9yPEpTQzo6SlNWYWx1ZT4gSW5zcGVjdG9yRnJvbnQKICAgICBpZiAoIWZyYW1l
R2xvYmFsT2JqZWN0KQogICAgICAgICByZXR1cm4gRXhjZXB0aW9uIHsgSW52YWxpZFN0YXRlRXJy
b3IsICJVbmFibGUgdG8gZmluZCBnbG9iYWwgb2JqZWN0IGZvciA8aWZyYW1lPiJfcyB9OwogCi0g
ICAgSlNDOjpTdXNwZW5kRXhjZXB0aW9uU2NvcGUgc2NvcGUoJmZyYW1lR2xvYmFsT2JqZWN0LT52
bSgpKTsKKyAgICBKU0M6OlN1c3BlbmRFeGNlcHRpb25TY29wZSBzY29wZShmcmFtZUdsb2JhbE9i
amVjdC0+dm0oKSk7CiAgICAgVmFsdWVPckV4Y2VwdGlvbiByZXN1bHQgPSBmcmFtZS0+c2NyaXB0
KCkuZXZhbHVhdGVJbldvcmxkKFNjcmlwdFNvdXJjZUNvZGUoc2NyaXB0U291cmNlKSwgbWFpblRo
cmVhZE5vcm1hbFdvcmxkKCkpOwogICAgIAogICAgIGlmICghcmVzdWx0KQo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>453777</attachid>
            <date>2022-03-03 12:13:55 -0800</date>
            <delta_ts>2022-03-03 12:14:22 -0800</delta_ts>
            <desc>proposed patch.</desc>
            <filename>bug-237441.patch</filename>
            <type>text/plain</type>
            <size>10931</size>
            <attacher name="Mark Lam">mark.lam</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gMjkwNzg3KQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDMzIEBA
CisyMDIyLTAzLTAzICBNYXJrIExhbSAgPG1hcmsubGFtQGFwcGxlLmNvbT4KKworICAgICAgICBG
aXggYnJva2VuIFN1c3BlbmRFeGNlcHRpb25TY29wZSBhbmQgcmVtb3ZlIHJlZHVuZGFudCBWTTo6
RGVmZXJFeGNlcHRpb25TY29wZS4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTIzNzQ0MQorICAgICAgICA8cmRhcjovL3Byb2JsZW0vODk3Njk2Mjc+CisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgU3VzcGVuZEV4
Y2VwdGlvblNjb3BlIHdhcyBtZWFudCB0byBkbyBleGFjdGx5IHRoZSBzYW1lIHRoaW5nIHRoYXQg
Vk06OkRlZmVyRXhjZXB0aW9uU2NvcGUKKyAgICAgICAgZG9lcywgZXhjZXB0IHRoYXQgU3VzcGVu
ZEV4Y2VwdGlvblNjb3BlIGhhc24ndCBiZWVuIHVwZGF0ZWQgdG8gaGFuZGxlIGV4Y2VwdGlvbgor
ICAgICAgICBoYW5kbGluZyB2aWEgVk1UcmFwcyBiaXRzLgorCisgICAgICAgIFRoaXMgcGF0Y2gg
d2lsbCBmaXggU3VzcGVuZEV4Y2VwdGlvblNjb3BlIHRvIHdvcmsgbGlrZSBWTTo6RGVmZXJFeGNl
cHRpb25TY29wZSwKKyAgICAgICAgYW5kIHJlbW92ZSB0aGUgbm93IHJlZHVuZGFudCBWTTo6RGVm
ZXJFeGNlcHRpb25TY29wZS4gIFN1c3BlbmRFeGNlcHRpb25TY29wZSBpcworICAgICAgICB0aGUg
YmV0dGVyIG5hbWUgaGVyZSBiZWNhdXNlIHRoZSBzY29wZSBhY3R1YWxseSBzdXNwZW5kcyBhbnkg
cGVuZGluZyBleGNlcHRpb24uCisgICAgICAgIFRoaXMgaXMgZGlmZmVyZW50IGZyb20gb3RoZXIg
RGVmZXIgc2NvcGVzIHdoZXJlIHdlIHByZXZlbnQgc29tZSBuZXcgZXZlbnQgZnJvbQorICAgICAg
ICBhcmlzaW5nIGFuZCBkZWZlciB0aGUgZXZlbnQgdG8gYSBsYXRlciB0aW1lLgorCisgICAgICAg
ICogaW50ZXJwcmV0ZXIvRnJhbWVUcmFjZXJzLmg6CisgICAgICAgIChKU0M6OlN1c3BlbmRFeGNl
cHRpb25TY29wZTo6U3VzcGVuZEV4Y2VwdGlvblNjb3BlKToKKyAgICAgICAgKEpTQzo6U3VzcGVu
ZEV4Y2VwdGlvblNjb3BlOjp+U3VzcGVuZEV4Y2VwdGlvblNjb3BlKToKKyAgICAgICAgKiBpbnRl
cnByZXRlci9JbnRlcnByZXRlci5jcHA6CisgICAgICAgIChKU0M6OlVud2luZEZ1bmN0b3I6Om5v
dGlmeURlYnVnZ2VyT2ZVbndpbmRpbmcpOgorICAgICAgICAqIHJ1bnRpbWUvVHlwZVByb2ZpbGVy
TG9nLmNwcDoKKyAgICAgICAgKEpTQzo6VHlwZVByb2ZpbGVyTG9nOjpwcm9jZXNzTG9nRW50cmll
cyk6CisgICAgICAgICogcnVudGltZS9WTS5oOgorICAgICAgICAoSlNDOjpWTTo6cmVzdG9yZVBy
ZXZpb3VzRXhjZXB0aW9uKTogRGVsZXRlZC4KKyAgICAgICAgKEpTQzo6Vk06OkRlZmVyRXhjZXB0
aW9uU2NvcGU6OkRlZmVyRXhjZXB0aW9uU2NvcGUpOiBEZWxldGVkLgorICAgICAgICAoSlNDOjpW
TTo6RGVmZXJFeGNlcHRpb25TY29wZTo6fkRlZmVyRXhjZXB0aW9uU2NvcGUpOiBEZWxldGVkLgor
CiAyMDIyLTAzLTAzICBBZHJpYW4gUGVyZXogZGUgQ2FzdHJvICA8YXBlcmV6QGlnYWxpYS5jb20+
CiAKICAgICAgICAgTm9uLXVuaWZpZWQgYnVpbGQgZml4ZXMsIGVhcmx5IE1hcmNoIDIwMjIgZWRp
dGlvbgpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2ludGVycHJldGVyL0ZyYW1lVHJhY2Vy
cy5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnRlcnByZXRlci9GcmFt
ZVRyYWNlcnMuaAkocmV2aXNpb24gMjkwNzg1KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2lu
dGVycHJldGVyL0ZyYW1lVHJhY2Vycy5oCSh3b3JraW5nIGNvcHkpCkBAIC0xLDUgKzEsNSBAQAog
LyoKLSAqIENvcHlyaWdodCAoQykgMjAxNi0yMDE5IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNl
cnZlZC4KKyAqIENvcHlyaWdodCAoQykgMjAxNi0yMDIyIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyBy
ZXNlcnZlZC4KICAqCiAgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmlu
YXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKICAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRl
ZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwpAQCAtMzUsMjAgKzM1LDI1
IEBAIHN0cnVjdCBFbnRyeUZyYW1lOwogCiBjbGFzcyBTdXNwZW5kRXhjZXB0aW9uU2NvcGUgewog
cHVibGljOgotICAgIFN1c3BlbmRFeGNlcHRpb25TY29wZShWTSogdm0pCisgICAgU3VzcGVuZEV4
Y2VwdGlvblNjb3BlKFZNJiB2bSkKICAgICAgICAgOiBtX3ZtKHZtKQorICAgICAgICAsIG1fZXhj
ZXB0aW9uV2FzU2V0KHZtLm1fZXhjZXB0aW9uKQorICAgICAgICAsIG1fc2F2ZWRFeGNlcHRpb24o
dm0ubV9leGNlcHRpb24sIG51bGxwdHIpCisgICAgICAgICwgbV9zYXZlZExhc3RFeGNlcHRpb24o
dm0ubV9sYXN0RXhjZXB0aW9uLCBudWxscHRyKQogICAgIHsKLSAgICAgICAgYXV0byBzY29wZSA9
IERFQ0xBUkVfQ0FUQ0hfU0NPUEUoKnZtKTsKLSAgICAgICAgb2xkRXhjZXB0aW9uID0gc2NvcGUu
ZXhjZXB0aW9uKCk7Ci0gICAgICAgIHNjb3BlLmNsZWFyRXhjZXB0aW9uKCk7CisgICAgICAgIGlm
IChtX2V4Y2VwdGlvbldhc1NldCkKKyAgICAgICAgICAgIG1fdm0udHJhcHMoKS5jbGVhclRyYXBC
aXQoVk1UcmFwczo6TmVlZEV4Y2VwdGlvbkhhbmRsaW5nKTsKICAgICB9CiAgICAgflN1c3BlbmRF
eGNlcHRpb25TY29wZSgpCiAgICAgewotICAgICAgICBtX3ZtLT5yZXN0b3JlUHJldmlvdXNFeGNl
cHRpb24ob2xkRXhjZXB0aW9uKTsKKyAgICAgICAgaWYgKG1fZXhjZXB0aW9uV2FzU2V0KQorICAg
ICAgICAgICAgbV92bS50cmFwcygpLnNldFRyYXBCaXQoVk1UcmFwczo6TmVlZEV4Y2VwdGlvbkhh
bmRsaW5nKTsKICAgICB9CiBwcml2YXRlOgotICAgIEV4Y2VwdGlvbiogb2xkRXhjZXB0aW9uOwot
ICAgIFZNKiBtX3ZtOworICAgIFZNJiBtX3ZtOworICAgIGJvb2wgbV9leGNlcHRpb25XYXNTZXQ7
CisgICAgU2V0Rm9yU2NvcGU8RXhjZXB0aW9uKj4gbV9zYXZlZEV4Y2VwdGlvbjsKKyAgICBTZXRG
b3JTY29wZTxFeGNlcHRpb24qPiBtX3NhdmVkTGFzdEV4Y2VwdGlvbjsKIH07CiAKIGNsYXNzIFRv
cENhbGxGcmFtZVNldHRlciB7CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvaW50ZXJwcmV0
ZXIvSW50ZXJwcmV0ZXIuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9p
bnRlcnByZXRlci9JbnRlcnByZXRlci5jcHAJKHJldmlzaW9uIDI5MDc4NSkKKysrIFNvdXJjZS9K
YXZhU2NyaXB0Q29yZS9pbnRlcnByZXRlci9JbnRlcnByZXRlci5jcHAJKHdvcmtpbmcgY29weSkK
QEAgLTY1MCw3ICs2NTAsNyBAQCBwcml2YXRlOgogICAgICAgICBEZWZlclRlcm1pbmF0aW9uIGRl
ZmVyU2NvcGUodm0pOwogICAgICAgICBhdXRvIGNhdGNoU2NvcGUgPSBERUNMQVJFX0NBVENIX1ND
T1BFKHZtKTsKIAotICAgICAgICBTdXNwZW5kRXhjZXB0aW9uU2NvcGUgc2NvcGUoJnZtKTsKKyAg
ICAgICAgU3VzcGVuZEV4Y2VwdGlvblNjb3BlIHNjb3BlKHZtKTsKICAgICAgICAgaWYgKGNhbGxG
cmFtZS0+aXNBbnlXYXNtQ2FsbGVlKCkKICAgICAgICAgICAgIHx8IChjYWxsRnJhbWUtPmNhbGxl
ZSgpLmlzQ2VsbCgpICYmIGNhbGxGcmFtZS0+Y2FsbGVlKCkuYXNDZWxsKCktPmluaGVyaXRzPEpT
RnVuY3Rpb24+KHZtKSkpCiAgICAgICAgICAgICBkZWJ1Z2dlci0+dW53aW5kRXZlbnQoY2FsbEZy
YW1lKTsKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1R5cGVQcm9maWxlckxv
Zy5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvVHlwZVBy
b2ZpbGVyTG9nLmNwcAkocmV2aXNpb24gMjkwNzg1KQorKysgU291cmNlL0phdmFTY3JpcHRDb3Jl
L3J1bnRpbWUvVHlwZVByb2ZpbGVyTG9nLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMSw1ICsxLDUg
QEAKIC8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTQtMjAyMSBBcHBsZSBJbmMuIEFsbCByaWdodHMg
cmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIwMTQtMjAyMiBBcHBsZSBJbmMuIEFsbCByaWdo
dHMgcmVzZXJ2ZWQuCiAgKgogICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5k
IGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CiAgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJt
aXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKQEAgLTI5LDYgKzI5
LDcgQEAKICNpbmNsdWRlICJjb25maWcuaCIKICNpbmNsdWRlICJUeXBlUHJvZmlsZXJMb2cuaCIK
IAorI2luY2x1ZGUgIkZyYW1lVHJhY2Vycy5oIgogI2luY2x1ZGUgIkpTQ0pTVmFsdWVJbmxpbmVz
LmgiCiAjaW5jbHVkZSAiVHlwZUxvY2F0aW9uLmgiCiAKQEAgLTU4LDkgKzU5LDkgQEAgdm9pZCBU
eXBlUHJvZmlsZXJMb2c6OnByb2Nlc3NMb2dFbnRyaWVzKAogICAgIC8vIFdlIG5lZWQgdG8gZG8g
dGhpcyBiZWNhdXNlIHRoaXMgY29kZSB3aWxsIGNhbGwgaW50byBjYWxjdWxhdGVkRGlzcGxheU5h
bWUuCiAgICAgLy8gY2FsY3VsYXRlZERpc3BsYXlOYW1lIHdpbGwgY2xlYXIgYW55IGV4Y2VwdGlv
biBpdCBzZWVzIChiZWNhdXNlIGl0IHRoaW5rcwogICAgIC8vIGl0J3MgYSBzdGFjayBvdmVyZmxv
dykuIFdlIG1heSBiZSBjYWxsZWQgd2hlbiBhbiBleGNlcHRpb24gd2FzIGFscmVhZHkKLSAgICAv
LyB0aHJvd24sIHNvIHdlIGRvbid0IHdhbnQgY2FsY3VhbHRlZERpc3BsYXlOYW1lIHRvIGNsZWFy
IHRoYXQgZXhjZXB0aW9uIHRoYXQKKyAgICAvLyB0aHJvd24sIHNvIHdlIGRvbid0IHdhbnQgY2Fs
Y3VsYXRlZERpc3BsYXlOYW1lIHRvIGNsZWFyIHRoYXQgZXhjZXB0aW9uIHRoYXQKICAgICAvLyB3
YXMgdGhyb3duIGJlZm9yZSB3ZSBldmVuIGdvdCBoZXJlLgotICAgIFZNOjpEZWZlckV4Y2VwdGlv
blNjb3BlIGRlZmVyRXhjZXB0aW9uU2NvcGUodm0pOworICAgIFN1c3BlbmRFeGNlcHRpb25TY29w
ZSBzdXNwZW5kRXhjZXB0aW9uU2NvcGUodm0pOwogCiAgICAgTW9ub3RvbmljVGltZSBiZWZvcmUg
eyB9OwogICAgIGlmIChUeXBlUHJvZmlsZXJMb2dJbnRlcm5hbDo6dmVyYm9zZSkgewpJbmRleDog
U291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvVk0uaAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2Uv
SmF2YVNjcmlwdENvcmUvcnVudGltZS9WTS5oCShyZXZpc2lvbiAyOTA3ODUpCisrKyBTb3VyY2Uv
SmF2YVNjcmlwdENvcmUvcnVudGltZS9WTS5oCSh3b3JraW5nIGNvcHkpCkBAIC02MTIsOCArNjEy
LDYgQEAgcHVibGljOgogICAgICAgICByZXR1cm4gT0JKRUNUX09GRlNFVE9GKFZNLCBoZWFwKSAr
IE9CSkVDVF9PRkZTRVRPRihIZWFwLCBtX211dGF0b3JTaG91bGRCZUZlbmNlZCk7CiAgICAgfQog
Ci0gICAgdm9pZCByZXN0b3JlUHJldmlvdXNFeGNlcHRpb24oRXhjZXB0aW9uKiBleGNlcHRpb24p
IHsgc2V0RXhjZXB0aW9uKGV4Y2VwdGlvbik7IH0KLQogICAgIHZvaWQgY2xlYXJMYXN0RXhjZXB0
aW9uKCkgeyBtX2xhc3RFeGNlcHRpb24gPSBudWxscHRyOyB9CiAKICAgICBDYWxsRnJhbWUqKiBh
ZGRyZXNzT2ZDYWxsRnJhbWVGb3JDYXRjaCgpIHsgcmV0dXJuICZjYWxsRnJhbWVGb3JDYXRjaDsg
fQpAQCAtODM4LDMxICs4MzYsNiBAQCBwdWJsaWM6CiAKICAgICBzdGF0aWMgdm9pZCBzZXRDcmFz
aE9uVk1DcmVhdGlvbihib29sKTsKIAotICAgIGNsYXNzIERlZmVyRXhjZXB0aW9uU2NvcGUgewot
ICAgIHB1YmxpYzoKLSAgICAgICAgRGVmZXJFeGNlcHRpb25TY29wZShWTSYgdm0pCi0gICAgICAg
ICAgICA6IG1fdm0odm0pCi0gICAgICAgICAgICAsIG1fZXhjZXB0aW9uV2FzU2V0KHZtLm1fZXhj
ZXB0aW9uKQotICAgICAgICAgICAgLCBtX3NhdmVkRXhjZXB0aW9uKHZtLm1fZXhjZXB0aW9uLCBu
dWxscHRyKQotICAgICAgICAgICAgLCBtX3NhdmVkTGFzdEV4Y2VwdGlvbih2bS5tX2xhc3RFeGNl
cHRpb24sIG51bGxwdHIpCi0gICAgICAgIHsKLSAgICAgICAgICAgIGlmIChtX2V4Y2VwdGlvbldh
c1NldCkKLSAgICAgICAgICAgICAgICBtX3ZtLnRyYXBzKCkuY2xlYXJUcmFwQml0KFZNVHJhcHM6
Ok5lZWRFeGNlcHRpb25IYW5kbGluZyk7Ci0gICAgICAgIH0KLQotICAgICAgICB+RGVmZXJFeGNl
cHRpb25TY29wZSgpCi0gICAgICAgIHsKLSAgICAgICAgICAgIGlmIChtX2V4Y2VwdGlvbldhc1Nl
dCkKLSAgICAgICAgICAgICAgICBtX3ZtLnRyYXBzKCkuc2V0VHJhcEJpdChWTVRyYXBzOjpOZWVk
RXhjZXB0aW9uSGFuZGxpbmcpOwotICAgICAgICB9Ci0KLSAgICBwcml2YXRlOgotICAgICAgICBW
TSYgbV92bTsKLSAgICAgICAgYm9vbCBtX2V4Y2VwdGlvbldhc1NldDsKLSAgICAgICAgU2V0Rm9y
U2NvcGU8RXhjZXB0aW9uKj4gbV9zYXZlZEV4Y2VwdGlvbjsKLSAgICAgICAgU2V0Rm9yU2NvcGU8
RXhjZXB0aW9uKj4gbV9zYXZlZExhc3RFeGNlcHRpb247Ci0gICAgfTsKLQogICAgIHZvaWQgYWRk
TG9vcEhpbnRFeGVjdXRpb25Db3VudGVyKGNvbnN0IEpTSW5zdHJ1Y3Rpb24qKTsKICAgICB1aW50
cHRyX3QqIGdldExvb3BIaW50RXhlY3V0aW9uQ291bnRlcihjb25zdCBKU0luc3RydWN0aW9uKik7
CiAgICAgdm9pZCByZW1vdmVMb29wSGludEV4ZWN1dGlvbkNvdW50ZXIoY29uc3QgSlNJbnN0cnVj
dGlvbiopOwpAQCAtODg3LDggKzg2MCw2IEBAIHB1YmxpYzoKICNlbmRpZgogCiBwcml2YXRlOgot
ICAgIGZyaWVuZCBjbGFzcyBMTEludE9mZnNldHNFeHRyYWN0b3I7Ci0KICAgICBWTShWTVR5cGUs
IEhlYXBUeXBlLCBXVEY6OlJ1bkxvb3AqID0gbnVsbHB0ciwgYm9vbCogc3VjY2VzcyA9IG51bGxw
dHIpOwogICAgIHN0YXRpYyBWTSomIHNoYXJlZEluc3RhbmNlSW50ZXJuYWwoKTsKICAgICB2b2lk
IGNyZWF0ZU5hdGl2ZVRodW5rKCk7CkBAIC0xMDE3LDEyICs5ODgsMTMgQEAgcHJpdmF0ZToKICAg
ICBWTSogbV9wcmV2OyAvLyBSZXF1aXJlZCBieSBEb3VibHlMaW5rZWRMaXN0Tm9kZS4KICAgICBW
TSogbV9uZXh0OyAvLyBSZXF1aXJlZCBieSBEb3VibHlMaW5rZWRMaXN0Tm9kZS4KIAotICAgIC8v
IEZyaWVuZHMgZm9yIGV4Y2VwdGlvbiBjaGVja2luZyBwdXJwb3NlIG9ubHkuCiAgICAgZnJpZW5k
IGNsYXNzIEhlYXA7Ci0gICAgZnJpZW5kIGNsYXNzIENhdGNoU2NvcGU7Ci0gICAgZnJpZW5kIGNs
YXNzIEV4Y2VwdGlvblNjb3BlOworICAgIGZyaWVuZCBjbGFzcyBDYXRjaFNjb3BlOyAvLyBGcmll
bmQgZm9yIGV4Y2VwdGlvbiBjaGVja2luZyBwdXJwb3NlIG9ubHkuCisgICAgZnJpZW5kIGNsYXNz
IEV4Y2VwdGlvblNjb3BlOyAvLyBGcmllbmQgZm9yIGV4Y2VwdGlvbiBjaGVja2luZyBwdXJwb3Nl
IG9ubHkuCiAgICAgZnJpZW5kIGNsYXNzIEpTRG9sbGFyVk1IZWxwZXI7Ci0gICAgZnJpZW5kIGNs
YXNzIFRocm93U2NvcGU7CisgICAgZnJpZW5kIGNsYXNzIExMSW50T2Zmc2V0c0V4dHJhY3RvcjsK
KyAgICBmcmllbmQgY2xhc3MgU3VzcGVuZEV4Y2VwdGlvblNjb3BlOworICAgIGZyaWVuZCBjbGFz
cyBUaHJvd1Njb3BlOyAvLyBGcmllbmQgZm9yIGV4Y2VwdGlvbiBjaGVja2luZyBwdXJwb3NlIG9u
bHkuCiAgICAgZnJpZW5kIGNsYXNzIFZNVHJhcHM7CiAgICAgZnJpZW5kIGNsYXNzIFdURjo6RG91
Ymx5TGlua2VkTGlzdE5vZGU8Vk0+OwogfTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxv
Zwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDI5MDc4
NSkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsx
LDE2IEBACisyMDIyLTAzLTAzICBNYXJrIExhbSAgPG1hcmsubGFtQGFwcGxlLmNvbT4KKworICAg
ICAgICBGaXggYnJva2VuIFN1c3BlbmRFeGNlcHRpb25TY29wZSBhbmQgcmVtb3ZlIHJlZHVuZGFu
dCBWTTo6RGVmZXJFeGNlcHRpb25TY29wZS4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTIzNzQ0MQorICAgICAgICA8cmRhcjovL3Byb2JsZW0vODk3Njk2
Mjc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBp
bnNwZWN0b3IvSW5zcGVjdG9yRnJvbnRlbmRBUElEaXNwYXRjaGVyLmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6Okluc3BlY3RvckZyb250ZW5kQVBJRGlzcGF0Y2hlcjo6ZXZhbHVhdGVFeHByZXNzaW9u
KToKKyAgICAgICAgKiBpbnNwZWN0b3IvSW5zcGVjdG9yRnJvbnRlbmRIb3N0LmNwcDoKKyAgICAg
ICAgKFdlYkNvcmU6Okluc3BlY3RvckZyb250ZW5kSG9zdDo6ZXZhbHVhdGVTY3JpcHRJbkV4dGVu
c2lvblRhYik6CisKIDIwMjItMDMtMDMgIFNpbW9uIEZyYXNlciAgPHNpbW9uLmZyYXNlckBhcHBs
ZS5jb20+CiAKICAgICAgICAgbmFzYS5nb3YgcGFnZSB3aXRoIGZpeGVkIGJhY2tncm91bmRzIHBh
aW50cyBpbmNvcnJlY3RseSBvbiBzY3JvbGwKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2luc3BlY3Rv
ci9JbnNwZWN0b3JGcm9udGVuZEFQSURpc3BhdGNoZXIuY3BwCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJj
ZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JGcm9udGVuZEFQSURpc3BhdGNoZXIuY3BwCShy
ZXZpc2lvbiAyOTA3ODUpCisrKyBTb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yRnJv
bnRlbmRBUElEaXNwYXRjaGVyLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMSw1ICsxLDUgQEAKIC8q
Ci0gKiBDb3B5cmlnaHQgKEMpIDIwMTQtMjAyMSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2
ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIwMTQtMjAyMiBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVz
ZXJ2ZWQuCiAgKgogICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFy
eSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CiAgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQg
cHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKQEAgLTI1OSw3ICsyNTksNyBA
QCBWYWx1ZU9yRXhjZXB0aW9uIEluc3BlY3RvckZyb250ZW5kQVBJRGlzCiAgICAgQVNTRVJUKCFt
X3N1c3BlbmRlZCk7CiAgICAgQVNTRVJUKG1fcXVldWVkRXZhbHVhdGlvbnMuaXNFbXB0eSgpKTsK
IAotICAgIEpTQzo6U3VzcGVuZEV4Y2VwdGlvblNjb3BlIHNjb3BlKCZtX2Zyb250ZW5kUGFnZS0+
aW5zcGVjdG9yQ29udHJvbGxlcigpLnZtKCkpOworICAgIEpTQzo6U3VzcGVuZEV4Y2VwdGlvblNj
b3BlIHNjb3BlKG1fZnJvbnRlbmRQYWdlLT5pbnNwZWN0b3JDb250cm9sbGVyKCkudm0oKSk7CiAg
ICAgcmV0dXJuIG1fZnJvbnRlbmRQYWdlLT5tYWluRnJhbWUoKS5zY3JpcHQoKS5ldmFsdWF0ZUlu
V29ybGQoU2NyaXB0U291cmNlQ29kZShleHByZXNzaW9uKSwgbWFpblRocmVhZE5vcm1hbFdvcmxk
KCkpOwogfQogCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yRnJvbnRl
bmRIb3N0LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVj
dG9yRnJvbnRlbmRIb3N0LmNwcAkocmV2aXNpb24gMjkwNzg1KQorKysgU291cmNlL1dlYkNvcmUv
aW5zcGVjdG9yL0luc3BlY3RvckZyb250ZW5kSG9zdC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTEs
NSArMSw1IEBACiAvKgotICogQ29weXJpZ2h0IChDKSAyMDA3LTIwMjEgQXBwbGUgSW5jLiBBbGwg
cmlnaHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0IChDKSAyMDA3LTIwMjIgQXBwbGUgSW5jLiBB
bGwgcmlnaHRzIHJlc2VydmVkLgogICogQ29weXJpZ2h0IChDKSAyMDA4IE1hdHQgTGlsZWsgPHdl
YmtpdEBtYXR0bGlsZWsuY29tPgogICoKICAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291
cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dApAQCAtNzQwLDcgKzc0MCw3IEBA
IEV4Y2VwdGlvbk9yPEpTQzo6SlNWYWx1ZT4gSW5zcGVjdG9yRnJvbnQKICAgICBpZiAoIWZyYW1l
R2xvYmFsT2JqZWN0KQogICAgICAgICByZXR1cm4gRXhjZXB0aW9uIHsgSW52YWxpZFN0YXRlRXJy
b3IsICJVbmFibGUgdG8gZmluZCBnbG9iYWwgb2JqZWN0IGZvciA8aWZyYW1lPiJfcyB9OwogCi0g
ICAgSlNDOjpTdXNwZW5kRXhjZXB0aW9uU2NvcGUgc2NvcGUoJmZyYW1lR2xvYmFsT2JqZWN0LT52
bSgpKTsKKyAgICBKU0M6OlN1c3BlbmRFeGNlcHRpb25TY29wZSBzY29wZShmcmFtZUdsb2JhbE9i
amVjdC0+dm0oKSk7CiAgICAgVmFsdWVPckV4Y2VwdGlvbiByZXN1bHQgPSBmcmFtZS0+c2NyaXB0
KCkuZXZhbHVhdGVJbldvcmxkKFNjcmlwdFNvdXJjZUNvZGUoc2NyaXB0U291cmNlKSwgbWFpblRo
cmVhZE5vcm1hbFdvcmxkKCkpOwogICAgIAogICAgIGlmICghcmVzdWx0KQo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>453778</attachid>
            <date>2022-03-03 12:15:29 -0800</date>
            <delta_ts>2022-03-05 10:56:30 -0800</delta_ts>
            <desc>proposed patch.</desc>
            <filename>bug-237441.patch</filename>
            <type>text/plain</type>
            <size>10931</size>
            <attacher name="Mark Lam">mark.lam</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gMjkwNzg3KQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDMzIEBA
CisyMDIyLTAzLTAzICBNYXJrIExhbSAgPG1hcmsubGFtQGFwcGxlLmNvbT4KKworICAgICAgICBG
aXggYnJva2VuIFN1c3BlbmRFeGNlcHRpb25TY29wZSBhbmQgcmVtb3ZlIHJlZHVuZGFudCBWTTo6
RGVmZXJFeGNlcHRpb25TY29wZS4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTIzNzQ0MQorICAgICAgICA8cmRhcjovL3Byb2JsZW0vODk3Njk2Mjc+CisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgU3VzcGVuZEV4
Y2VwdGlvblNjb3BlIHdhcyBtZWFudCB0byBkbyBleGFjdGx5IHRoZSBzYW1lIHRoaW5nIHRoYXQg
Vk06OkRlZmVyRXhjZXB0aW9uU2NvcGUKKyAgICAgICAgZG9lcywgZXhjZXB0IHRoYXQgU3VzcGVu
ZEV4Y2VwdGlvblNjb3BlIGhhc24ndCBiZWVuIHVwZGF0ZWQgdG8gaGFuZGxlIGV4Y2VwdGlvbgor
ICAgICAgICBoYW5kbGluZyB2aWEgVk1UcmFwcyBiaXRzLgorCisgICAgICAgIFRoaXMgcGF0Y2gg
d2lsbCBmaXggU3VzcGVuZEV4Y2VwdGlvblNjb3BlIHRvIHdvcmsgbGlrZSBWTTo6RGVmZXJFeGNl
cHRpb25TY29wZSwKKyAgICAgICAgYW5kIHJlbW92ZSB0aGUgbm93IHJlZHVuZGFudCBWTTo6RGVm
ZXJFeGNlcHRpb25TY29wZS4gIFN1c3BlbmRFeGNlcHRpb25TY29wZSBpcworICAgICAgICB0aGUg
YmV0dGVyIG5hbWUgaGVyZSBiZWNhdXNlIHRoZSBzY29wZSBhY3R1YWxseSBzdXNwZW5kcyBhbnkg
cGVuZGluZyBleGNlcHRpb24uCisgICAgICAgIFRoaXMgaXMgZGlmZmVyZW50IGZyb20gb3RoZXIg
RGVmZXIgc2NvcGVzIHdoZXJlIHdlIHByZXZlbnQgc29tZSBuZXcgZXZlbnQgZnJvbQorICAgICAg
ICBhcmlzaW5nIGFuZCBkZWZlciB0aGUgZXZlbnQgdG8gYSBsYXRlciB0aW1lLgorCisgICAgICAg
ICogaW50ZXJwcmV0ZXIvRnJhbWVUcmFjZXJzLmg6CisgICAgICAgIChKU0M6OlN1c3BlbmRFeGNl
cHRpb25TY29wZTo6U3VzcGVuZEV4Y2VwdGlvblNjb3BlKToKKyAgICAgICAgKEpTQzo6U3VzcGVu
ZEV4Y2VwdGlvblNjb3BlOjp+U3VzcGVuZEV4Y2VwdGlvblNjb3BlKToKKyAgICAgICAgKiBpbnRl
cnByZXRlci9JbnRlcnByZXRlci5jcHA6CisgICAgICAgIChKU0M6OlVud2luZEZ1bmN0b3I6Om5v
dGlmeURlYnVnZ2VyT2ZVbndpbmRpbmcpOgorICAgICAgICAqIHJ1bnRpbWUvVHlwZVByb2ZpbGVy
TG9nLmNwcDoKKyAgICAgICAgKEpTQzo6VHlwZVByb2ZpbGVyTG9nOjpwcm9jZXNzTG9nRW50cmll
cyk6CisgICAgICAgICogcnVudGltZS9WTS5oOgorICAgICAgICAoSlNDOjpWTTo6cmVzdG9yZVBy
ZXZpb3VzRXhjZXB0aW9uKTogRGVsZXRlZC4KKyAgICAgICAgKEpTQzo6Vk06OkRlZmVyRXhjZXB0
aW9uU2NvcGU6OkRlZmVyRXhjZXB0aW9uU2NvcGUpOiBEZWxldGVkLgorICAgICAgICAoSlNDOjpW
TTo6RGVmZXJFeGNlcHRpb25TY29wZTo6fkRlZmVyRXhjZXB0aW9uU2NvcGUpOiBEZWxldGVkLgor
CiAyMDIyLTAzLTAzICBBZHJpYW4gUGVyZXogZGUgQ2FzdHJvICA8YXBlcmV6QGlnYWxpYS5jb20+
CiAKICAgICAgICAgTm9uLXVuaWZpZWQgYnVpbGQgZml4ZXMsIGVhcmx5IE1hcmNoIDIwMjIgZWRp
dGlvbgpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2ludGVycHJldGVyL0ZyYW1lVHJhY2Vy
cy5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnRlcnByZXRlci9GcmFt
ZVRyYWNlcnMuaAkocmV2aXNpb24gMjkwNzg1KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2lu
dGVycHJldGVyL0ZyYW1lVHJhY2Vycy5oCSh3b3JraW5nIGNvcHkpCkBAIC0xLDUgKzEsNSBAQAog
LyoKLSAqIENvcHlyaWdodCAoQykgMjAxNi0yMDE5IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNl
cnZlZC4KKyAqIENvcHlyaWdodCAoQykgMjAxNi0yMDIyIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyBy
ZXNlcnZlZC4KICAqCiAgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmlu
YXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKICAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRl
ZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwpAQCAtMzUsMjAgKzM1LDI1
IEBAIHN0cnVjdCBFbnRyeUZyYW1lOwogCiBjbGFzcyBTdXNwZW5kRXhjZXB0aW9uU2NvcGUgewog
cHVibGljOgotICAgIFN1c3BlbmRFeGNlcHRpb25TY29wZShWTSogdm0pCisgICAgU3VzcGVuZEV4
Y2VwdGlvblNjb3BlKFZNJiB2bSkKICAgICAgICAgOiBtX3ZtKHZtKQorICAgICAgICAsIG1fZXhj
ZXB0aW9uV2FzU2V0KHZtLm1fZXhjZXB0aW9uKQorICAgICAgICAsIG1fc2F2ZWRFeGNlcHRpb24o
dm0ubV9leGNlcHRpb24sIG51bGxwdHIpCisgICAgICAgICwgbV9zYXZlZExhc3RFeGNlcHRpb24o
dm0ubV9sYXN0RXhjZXB0aW9uLCBudWxscHRyKQogICAgIHsKLSAgICAgICAgYXV0byBzY29wZSA9
IERFQ0xBUkVfQ0FUQ0hfU0NPUEUoKnZtKTsKLSAgICAgICAgb2xkRXhjZXB0aW9uID0gc2NvcGUu
ZXhjZXB0aW9uKCk7Ci0gICAgICAgIHNjb3BlLmNsZWFyRXhjZXB0aW9uKCk7CisgICAgICAgIGlm
IChtX2V4Y2VwdGlvbldhc1NldCkKKyAgICAgICAgICAgIG1fdm0udHJhcHMoKS5jbGVhclRyYXBC
aXQoVk1UcmFwczo6TmVlZEV4Y2VwdGlvbkhhbmRsaW5nKTsKICAgICB9CiAgICAgflN1c3BlbmRF
eGNlcHRpb25TY29wZSgpCiAgICAgewotICAgICAgICBtX3ZtLT5yZXN0b3JlUHJldmlvdXNFeGNl
cHRpb24ob2xkRXhjZXB0aW9uKTsKKyAgICAgICAgaWYgKG1fZXhjZXB0aW9uV2FzU2V0KQorICAg
ICAgICAgICAgbV92bS50cmFwcygpLnNldFRyYXBCaXQoVk1UcmFwczo6TmVlZEV4Y2VwdGlvbkhh
bmRsaW5nKTsKICAgICB9CiBwcml2YXRlOgotICAgIEV4Y2VwdGlvbiogb2xkRXhjZXB0aW9uOwot
ICAgIFZNKiBtX3ZtOworICAgIFZNJiBtX3ZtOworICAgIGJvb2wgbV9leGNlcHRpb25XYXNTZXQ7
CisgICAgU2V0Rm9yU2NvcGU8RXhjZXB0aW9uKj4gbV9zYXZlZEV4Y2VwdGlvbjsKKyAgICBTZXRG
b3JTY29wZTxFeGNlcHRpb24qPiBtX3NhdmVkTGFzdEV4Y2VwdGlvbjsKIH07CiAKIGNsYXNzIFRv
cENhbGxGcmFtZVNldHRlciB7CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvaW50ZXJwcmV0
ZXIvSW50ZXJwcmV0ZXIuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9p
bnRlcnByZXRlci9JbnRlcnByZXRlci5jcHAJKHJldmlzaW9uIDI5MDc4NSkKKysrIFNvdXJjZS9K
YXZhU2NyaXB0Q29yZS9pbnRlcnByZXRlci9JbnRlcnByZXRlci5jcHAJKHdvcmtpbmcgY29weSkK
QEAgLTY1MCw3ICs2NTAsNyBAQCBwcml2YXRlOgogICAgICAgICBEZWZlclRlcm1pbmF0aW9uIGRl
ZmVyU2NvcGUodm0pOwogICAgICAgICBhdXRvIGNhdGNoU2NvcGUgPSBERUNMQVJFX0NBVENIX1ND
T1BFKHZtKTsKIAotICAgICAgICBTdXNwZW5kRXhjZXB0aW9uU2NvcGUgc2NvcGUoJnZtKTsKKyAg
ICAgICAgU3VzcGVuZEV4Y2VwdGlvblNjb3BlIHNjb3BlKHZtKTsKICAgICAgICAgaWYgKGNhbGxG
cmFtZS0+aXNBbnlXYXNtQ2FsbGVlKCkKICAgICAgICAgICAgIHx8IChjYWxsRnJhbWUtPmNhbGxl
ZSgpLmlzQ2VsbCgpICYmIGNhbGxGcmFtZS0+Y2FsbGVlKCkuYXNDZWxsKCktPmluaGVyaXRzPEpT
RnVuY3Rpb24+KHZtKSkpCiAgICAgICAgICAgICBkZWJ1Z2dlci0+dW53aW5kRXZlbnQoY2FsbEZy
YW1lKTsKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1R5cGVQcm9maWxlckxv
Zy5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvVHlwZVBy
b2ZpbGVyTG9nLmNwcAkocmV2aXNpb24gMjkwNzg1KQorKysgU291cmNlL0phdmFTY3JpcHRDb3Jl
L3J1bnRpbWUvVHlwZVByb2ZpbGVyTG9nLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMSw1ICsxLDUg
QEAKIC8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTQtMjAyMSBBcHBsZSBJbmMuIEFsbCByaWdodHMg
cmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIwMTQtMjAyMiBBcHBsZSBJbmMuIEFsbCByaWdo
dHMgcmVzZXJ2ZWQuCiAgKgogICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5k
IGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CiAgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJt
aXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKQEAgLTI5LDYgKzI5
LDcgQEAKICNpbmNsdWRlICJjb25maWcuaCIKICNpbmNsdWRlICJUeXBlUHJvZmlsZXJMb2cuaCIK
IAorI2luY2x1ZGUgIkZyYW1lVHJhY2Vycy5oIgogI2luY2x1ZGUgIkpTQ0pTVmFsdWVJbmxpbmVz
LmgiCiAjaW5jbHVkZSAiVHlwZUxvY2F0aW9uLmgiCiAKQEAgLTU4LDkgKzU5LDkgQEAgdm9pZCBU
eXBlUHJvZmlsZXJMb2c6OnByb2Nlc3NMb2dFbnRyaWVzKAogICAgIC8vIFdlIG5lZWQgdG8gZG8g
dGhpcyBiZWNhdXNlIHRoaXMgY29kZSB3aWxsIGNhbGwgaW50byBjYWxjdWxhdGVkRGlzcGxheU5h
bWUuCiAgICAgLy8gY2FsY3VsYXRlZERpc3BsYXlOYW1lIHdpbGwgY2xlYXIgYW55IGV4Y2VwdGlv
biBpdCBzZWVzIChiZWNhdXNlIGl0IHRoaW5rcwogICAgIC8vIGl0J3MgYSBzdGFjayBvdmVyZmxv
dykuIFdlIG1heSBiZSBjYWxsZWQgd2hlbiBhbiBleGNlcHRpb24gd2FzIGFscmVhZHkKLSAgICAv
LyB0aHJvd24sIHNvIHdlIGRvbid0IHdhbnQgY2FsY3VhbHRlZERpc3BsYXlOYW1lIHRvIGNsZWFy
IHRoYXQgZXhjZXB0aW9uIHRoYXQKKyAgICAvLyB0aHJvd24sIHNvIHdlIGRvbid0IHdhbnQgY2Fs
Y3VsYXRlZERpc3BsYXlOYW1lIHRvIGNsZWFyIHRoYXQgZXhjZXB0aW9uIHRoYXQKICAgICAvLyB3
YXMgdGhyb3duIGJlZm9yZSB3ZSBldmVuIGdvdCBoZXJlLgotICAgIFZNOjpEZWZlckV4Y2VwdGlv
blNjb3BlIGRlZmVyRXhjZXB0aW9uU2NvcGUodm0pOworICAgIFN1c3BlbmRFeGNlcHRpb25TY29w
ZSBzdXNwZW5kRXhjZXB0aW9uU2NvcGUodm0pOwogCiAgICAgTW9ub3RvbmljVGltZSBiZWZvcmUg
eyB9OwogICAgIGlmIChUeXBlUHJvZmlsZXJMb2dJbnRlcm5hbDo6dmVyYm9zZSkgewpJbmRleDog
U291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvVk0uaAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2Uv
SmF2YVNjcmlwdENvcmUvcnVudGltZS9WTS5oCShyZXZpc2lvbiAyOTA3ODUpCisrKyBTb3VyY2Uv
SmF2YVNjcmlwdENvcmUvcnVudGltZS9WTS5oCSh3b3JraW5nIGNvcHkpCkBAIC02MTIsOCArNjEy
LDYgQEAgcHVibGljOgogICAgICAgICByZXR1cm4gT0JKRUNUX09GRlNFVE9GKFZNLCBoZWFwKSAr
IE9CSkVDVF9PRkZTRVRPRihIZWFwLCBtX211dGF0b3JTaG91bGRCZUZlbmNlZCk7CiAgICAgfQog
Ci0gICAgdm9pZCByZXN0b3JlUHJldmlvdXNFeGNlcHRpb24oRXhjZXB0aW9uKiBleGNlcHRpb24p
IHsgc2V0RXhjZXB0aW9uKGV4Y2VwdGlvbik7IH0KLQogICAgIHZvaWQgY2xlYXJMYXN0RXhjZXB0
aW9uKCkgeyBtX2xhc3RFeGNlcHRpb24gPSBudWxscHRyOyB9CiAKICAgICBDYWxsRnJhbWUqKiBh
ZGRyZXNzT2ZDYWxsRnJhbWVGb3JDYXRjaCgpIHsgcmV0dXJuICZjYWxsRnJhbWVGb3JDYXRjaDsg
fQpAQCAtODM4LDMxICs4MzYsNiBAQCBwdWJsaWM6CiAKICAgICBzdGF0aWMgdm9pZCBzZXRDcmFz
aE9uVk1DcmVhdGlvbihib29sKTsKIAotICAgIGNsYXNzIERlZmVyRXhjZXB0aW9uU2NvcGUgewot
ICAgIHB1YmxpYzoKLSAgICAgICAgRGVmZXJFeGNlcHRpb25TY29wZShWTSYgdm0pCi0gICAgICAg
ICAgICA6IG1fdm0odm0pCi0gICAgICAgICAgICAsIG1fZXhjZXB0aW9uV2FzU2V0KHZtLm1fZXhj
ZXB0aW9uKQotICAgICAgICAgICAgLCBtX3NhdmVkRXhjZXB0aW9uKHZtLm1fZXhjZXB0aW9uLCBu
dWxscHRyKQotICAgICAgICAgICAgLCBtX3NhdmVkTGFzdEV4Y2VwdGlvbih2bS5tX2xhc3RFeGNl
cHRpb24sIG51bGxwdHIpCi0gICAgICAgIHsKLSAgICAgICAgICAgIGlmIChtX2V4Y2VwdGlvbldh
c1NldCkKLSAgICAgICAgICAgICAgICBtX3ZtLnRyYXBzKCkuY2xlYXJUcmFwQml0KFZNVHJhcHM6
Ok5lZWRFeGNlcHRpb25IYW5kbGluZyk7Ci0gICAgICAgIH0KLQotICAgICAgICB+RGVmZXJFeGNl
cHRpb25TY29wZSgpCi0gICAgICAgIHsKLSAgICAgICAgICAgIGlmIChtX2V4Y2VwdGlvbldhc1Nl
dCkKLSAgICAgICAgICAgICAgICBtX3ZtLnRyYXBzKCkuc2V0VHJhcEJpdChWTVRyYXBzOjpOZWVk
RXhjZXB0aW9uSGFuZGxpbmcpOwotICAgICAgICB9Ci0KLSAgICBwcml2YXRlOgotICAgICAgICBW
TSYgbV92bTsKLSAgICAgICAgYm9vbCBtX2V4Y2VwdGlvbldhc1NldDsKLSAgICAgICAgU2V0Rm9y
U2NvcGU8RXhjZXB0aW9uKj4gbV9zYXZlZEV4Y2VwdGlvbjsKLSAgICAgICAgU2V0Rm9yU2NvcGU8
RXhjZXB0aW9uKj4gbV9zYXZlZExhc3RFeGNlcHRpb247Ci0gICAgfTsKLQogICAgIHZvaWQgYWRk
TG9vcEhpbnRFeGVjdXRpb25Db3VudGVyKGNvbnN0IEpTSW5zdHJ1Y3Rpb24qKTsKICAgICB1aW50
cHRyX3QqIGdldExvb3BIaW50RXhlY3V0aW9uQ291bnRlcihjb25zdCBKU0luc3RydWN0aW9uKik7
CiAgICAgdm9pZCByZW1vdmVMb29wSGludEV4ZWN1dGlvbkNvdW50ZXIoY29uc3QgSlNJbnN0cnVj
dGlvbiopOwpAQCAtODg3LDggKzg2MCw2IEBAIHB1YmxpYzoKICNlbmRpZgogCiBwcml2YXRlOgot
ICAgIGZyaWVuZCBjbGFzcyBMTEludE9mZnNldHNFeHRyYWN0b3I7Ci0KICAgICBWTShWTVR5cGUs
IEhlYXBUeXBlLCBXVEY6OlJ1bkxvb3AqID0gbnVsbHB0ciwgYm9vbCogc3VjY2VzcyA9IG51bGxw
dHIpOwogICAgIHN0YXRpYyBWTSomIHNoYXJlZEluc3RhbmNlSW50ZXJuYWwoKTsKICAgICB2b2lk
IGNyZWF0ZU5hdGl2ZVRodW5rKCk7CkBAIC0xMDE3LDEyICs5ODgsMTMgQEAgcHJpdmF0ZToKICAg
ICBWTSogbV9wcmV2OyAvLyBSZXF1aXJlZCBieSBEb3VibHlMaW5rZWRMaXN0Tm9kZS4KICAgICBW
TSogbV9uZXh0OyAvLyBSZXF1aXJlZCBieSBEb3VibHlMaW5rZWRMaXN0Tm9kZS4KIAotICAgIC8v
IEZyaWVuZHMgZm9yIGV4Y2VwdGlvbiBjaGVja2luZyBwdXJwb3NlIG9ubHkuCiAgICAgZnJpZW5k
IGNsYXNzIEhlYXA7Ci0gICAgZnJpZW5kIGNsYXNzIENhdGNoU2NvcGU7Ci0gICAgZnJpZW5kIGNs
YXNzIEV4Y2VwdGlvblNjb3BlOworICAgIGZyaWVuZCBjbGFzcyBDYXRjaFNjb3BlOyAvLyBGcmll
bmQgZm9yIGV4Y2VwdGlvbiBjaGVja2luZyBwdXJwb3NlIG9ubHkuCisgICAgZnJpZW5kIGNsYXNz
IEV4Y2VwdGlvblNjb3BlOyAvLyBGcmllbmQgZm9yIGV4Y2VwdGlvbiBjaGVja2luZyBwdXJwb3Nl
IG9ubHkuCiAgICAgZnJpZW5kIGNsYXNzIEpTRG9sbGFyVk1IZWxwZXI7Ci0gICAgZnJpZW5kIGNs
YXNzIFRocm93U2NvcGU7CisgICAgZnJpZW5kIGNsYXNzIExMSW50T2Zmc2V0c0V4dHJhY3RvcjsK
KyAgICBmcmllbmQgY2xhc3MgU3VzcGVuZEV4Y2VwdGlvblNjb3BlOworICAgIGZyaWVuZCBjbGFz
cyBUaHJvd1Njb3BlOyAvLyBGcmllbmQgZm9yIGV4Y2VwdGlvbiBjaGVja2luZyBwdXJwb3NlIG9u
bHkuCiAgICAgZnJpZW5kIGNsYXNzIFZNVHJhcHM7CiAgICAgZnJpZW5kIGNsYXNzIFdURjo6RG91
Ymx5TGlua2VkTGlzdE5vZGU8Vk0+OwogfTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxv
Zwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDI5MDc4
NSkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsx
LDE2IEBACisyMDIyLTAzLTAzICBNYXJrIExhbSAgPG1hcmsubGFtQGFwcGxlLmNvbT4KKworICAg
ICAgICBGaXggYnJva2VuIFN1c3BlbmRFeGNlcHRpb25TY29wZSBhbmQgcmVtb3ZlIHJlZHVuZGFu
dCBWTTo6RGVmZXJFeGNlcHRpb25TY29wZS4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTIzNzQ0MQorICAgICAgICA8cmRhcjovL3Byb2JsZW0vODk3Njk2
Mjc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBp
bnNwZWN0b3IvSW5zcGVjdG9yRnJvbnRlbmRBUElEaXNwYXRjaGVyLmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6Okluc3BlY3RvckZyb250ZW5kQVBJRGlzcGF0Y2hlcjo6ZXZhbHVhdGVFeHByZXNzaW9u
KToKKyAgICAgICAgKiBpbnNwZWN0b3IvSW5zcGVjdG9yRnJvbnRlbmRIb3N0LmNwcDoKKyAgICAg
ICAgKFdlYkNvcmU6Okluc3BlY3RvckZyb250ZW5kSG9zdDo6ZXZhbHVhdGVTY3JpcHRJbkV4dGVu
c2lvblRhYik6CisKIDIwMjItMDMtMDMgIFNpbW9uIEZyYXNlciAgPHNpbW9uLmZyYXNlckBhcHBs
ZS5jb20+CiAKICAgICAgICAgbmFzYS5nb3YgcGFnZSB3aXRoIGZpeGVkIGJhY2tncm91bmRzIHBh
aW50cyBpbmNvcnJlY3RseSBvbiBzY3JvbGwKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2luc3BlY3Rv
ci9JbnNwZWN0b3JGcm9udGVuZEFQSURpc3BhdGNoZXIuY3BwCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJj
ZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JGcm9udGVuZEFQSURpc3BhdGNoZXIuY3BwCShy
ZXZpc2lvbiAyOTA3ODUpCisrKyBTb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yRnJv
bnRlbmRBUElEaXNwYXRjaGVyLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMSw1ICsxLDUgQEAKIC8q
Ci0gKiBDb3B5cmlnaHQgKEMpIDIwMTQtMjAyMSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2
ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIwMTQtMjAyMiBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVz
ZXJ2ZWQuCiAgKgogICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFy
eSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CiAgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQg
cHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKQEAgLTI1OSw3ICsyNTksNyBA
QCBWYWx1ZU9yRXhjZXB0aW9uIEluc3BlY3RvckZyb250ZW5kQVBJRGlzCiAgICAgQVNTRVJUKCFt
X3N1c3BlbmRlZCk7CiAgICAgQVNTRVJUKG1fcXVldWVkRXZhbHVhdGlvbnMuaXNFbXB0eSgpKTsK
IAotICAgIEpTQzo6U3VzcGVuZEV4Y2VwdGlvblNjb3BlIHNjb3BlKCZtX2Zyb250ZW5kUGFnZS0+
aW5zcGVjdG9yQ29udHJvbGxlcigpLnZtKCkpOworICAgIEpTQzo6U3VzcGVuZEV4Y2VwdGlvblNj
b3BlIHNjb3BlKG1fZnJvbnRlbmRQYWdlLT5pbnNwZWN0b3JDb250cm9sbGVyKCkudm0oKSk7CiAg
ICAgcmV0dXJuIG1fZnJvbnRlbmRQYWdlLT5tYWluRnJhbWUoKS5zY3JpcHQoKS5ldmFsdWF0ZUlu
V29ybGQoU2NyaXB0U291cmNlQ29kZShleHByZXNzaW9uKSwgbWFpblRocmVhZE5vcm1hbFdvcmxk
KCkpOwogfQogCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yRnJvbnRl
bmRIb3N0LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVj
dG9yRnJvbnRlbmRIb3N0LmNwcAkocmV2aXNpb24gMjkwNzg1KQorKysgU291cmNlL1dlYkNvcmUv
aW5zcGVjdG9yL0luc3BlY3RvckZyb250ZW5kSG9zdC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTEs
NSArMSw1IEBACiAvKgotICogQ29weXJpZ2h0IChDKSAyMDA3LTIwMjEgQXBwbGUgSW5jLiBBbGwg
cmlnaHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0IChDKSAyMDA3LTIwMjIgQXBwbGUgSW5jLiBB
bGwgcmlnaHRzIHJlc2VydmVkLgogICogQ29weXJpZ2h0IChDKSAyMDA4IE1hdHQgTGlsZWsgPHdl
YmtpdEBtYXR0bGlsZWsuY29tPgogICoKICAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291
cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dApAQCAtNzQwLDcgKzc0MCw3IEBA
IEV4Y2VwdGlvbk9yPEpTQzo6SlNWYWx1ZT4gSW5zcGVjdG9yRnJvbnQKICAgICBpZiAoIWZyYW1l
R2xvYmFsT2JqZWN0KQogICAgICAgICByZXR1cm4gRXhjZXB0aW9uIHsgSW52YWxpZFN0YXRlRXJy
b3IsICJVbmFibGUgdG8gZmluZCBnbG9iYWwgb2JqZWN0IGZvciA8aWZyYW1lPiJfcyB9OwogCi0g
ICAgSlNDOjpTdXNwZW5kRXhjZXB0aW9uU2NvcGUgc2NvcGUoJmZyYW1lR2xvYmFsT2JqZWN0LT52
bSgpKTsKKyAgICBKU0M6OlN1c3BlbmRFeGNlcHRpb25TY29wZSBzY29wZShmcmFtZUdsb2JhbE9i
amVjdC0+dm0oKSk7CiAgICAgVmFsdWVPckV4Y2VwdGlvbiByZXN1bHQgPSBmcmFtZS0+c2NyaXB0
KCkuZXZhbHVhdGVJbldvcmxkKFNjcmlwdFNvdXJjZUNvZGUoc2NyaXB0U291cmNlKSwgbWFpblRo
cmVhZE5vcm1hbFdvcmxkKCkpOwogICAgIAogICAgIGlmICghcmVzdWx0KQo=
</data>

          </attachment>
      

    </bug>

</bugzilla>