<?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>235403</bug_id>
          
          <creation_ts>2022-01-20 08:19:42 -0800</creation_ts>
          <short_desc>[LFC][IFC] LineBuilder::layoutInlineContent should take PreviousLine</short_desc>
          <delta_ts>2022-01-20 13:20:20 -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>Layout and Rendering</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="alan">zalan</reporter>
          <assigned_to name="alan">zalan</assigned_to>
          <cc>bfulgham</cc>
    
    <cc>koivisto</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>zalan</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1832422</commentid>
    <comment_count>0</comment_count>
    <who name="alan">zalan</who>
    <bug_when>2022-01-20 08:19:42 -0800</bug_when>
    <thetext>we need to know about the previous line&apos;s state</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1832425</commentid>
    <comment_count>1</comment_count>
      <attachid>449576</attachid>
    <who name="alan">zalan</who>
    <bug_when>2022-01-20 08:24:24 -0800</bug_when>
    <thetext>Created attachment 449576
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1832437</commentid>
    <comment_count>2</comment_count>
      <attachid>449576</attachid>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2022-01-20 08:38:17 -0800</bug_when>
    <thetext>Comment on attachment 449576
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=449576&amp;action=review

&gt; Source/WebCore/layout/formattingContexts/inline/InlineLineBuilder.cpp:308
&gt; +LineBuilder::LineContent LineBuilder::layoutInlineContent(const InlineItemRange&amp; needsLayoutRange, const InlineRect&amp; lineLogicalRect, std::optional&lt;PreviousLine&gt; previousLine)

maybe the previousLine could be a const&amp;? It is smallish but not tiny.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1832505</commentid>
    <comment_count>3</comment_count>
      <attachid>449596</attachid>
    <who name="alan">zalan</who>
    <bug_when>2022-01-20 11:17:13 -0800</bug_when>
    <thetext>Created attachment 449596
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1832548</commentid>
    <comment_count>4</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2022-01-20 13:19:30 -0800</bug_when>
    <thetext>Committed r288317 (246233@main): &lt;https://commits.webkit.org/246233@main&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 449596.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1832549</commentid>
    <comment_count>5</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2022-01-20 13:20:20 -0800</bug_when>
    <thetext>&lt;rdar://problem/87846330&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>449576</attachid>
            <date>2022-01-20 08:24:24 -0800</date>
            <delta_ts>2022-01-20 11:17:10 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-235403-20220120082423.patch</filename>
            <type>text/plain</type>
            <size>14555</size>
            <attacher name="alan">zalan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg4Mjg0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYzhhNjM2YmMwMzAzZTJj
ODQ0ODIxY2RlYzQ0ZWRiZTFiMDE3MGRlZi4uOTg2MmVkYTZiNGEwNjI1OGRjM2Q4YjUwNTlhMTIz
MTk0MzMwNjRlYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIyIEBACisyMDIyLTAxLTIwICBBbGFu
IEJ1anRhcyAgPHphbGFuQGFwcGxlLmNvbT4KKworICAgICAgICBbTEZDXVtJRkNdIExpbmVCdWls
ZGVyOjpsYXlvdXRJbmxpbmVDb250ZW50IHNob3VsZCB0YWtlIFByZXZpb3VzTGluZQorICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjM1NDAzCisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgTGV0J3MgcGFzcyBpbiBh
IFByZXZpb3VzTGluZSBzdHJ1Y3QgdG8gTGluZUJ1aWxkZXI6OmxheW91dElubGluZUNvbnRlbnQg
aW5zdGVhZCBvZiBpbmRpdmlkdWFsIHZhcmlhYmxlcyBhYm91dCB0aGUgcHJldmlvdXMgbGluZS4K
KyAgICAgICAgVGhpcyBpcyBpbiBwcmVwYXJhdGlvbiBmb3Igc3VwcG9ydGluZyB1bmljb2RlLWJp
ZGk6IHBsYWludGV4dCB3aGVyZSB3ZSBuZWVkIHRvIGtub3cgaWYgdGhlIHByZXZpb3VzIGxpbmUg
ZW5kcyBpbiBhIGxpbmUgYnJlYWsgb3Igbm90LgorCisgICAgICAgICogbGF5b3V0L2Zvcm1hdHRp
bmdDb250ZXh0cy9pbmxpbmUvSW5saW5lRm9ybWF0dGluZ0NvbnRleHQuY3BwOgorICAgICAgICAo
V2ViQ29yZTo6TGF5b3V0OjpJbmxpbmVGb3JtYXR0aW5nQ29udGV4dDo6bGluZUxheW91dCk6Cisg
ICAgICAgIChXZWJDb3JlOjpMYXlvdXQ6OklubGluZUZvcm1hdHRpbmdDb250ZXh0Ojpjb21wdXRl
ZEludHJpbnNpY1dpZHRoRm9yQ29uc3RyYWludCBjb25zdCk6CisgICAgICAgICogbGF5b3V0L2Zv
cm1hdHRpbmdDb250ZXh0cy9pbmxpbmUvSW5saW5lTGluZUJ1aWxkZXIuY3BwOgorICAgICAgICAo
V2ViQ29yZTo6TGF5b3V0OjpMaW5lQnVpbGRlcjo6bGF5b3V0SW5saW5lQ29udGVudCk6CisgICAg
ICAgIChXZWJDb3JlOjpMYXlvdXQ6OkxpbmVCdWlsZGVyOjpjb21wdXRlZEludHJpbnNpY1dpZHRo
KToKKyAgICAgICAgKFdlYkNvcmU6OkxheW91dDo6TGluZUJ1aWxkZXI6OmluaXRpYWxpemUpOgor
ICAgICAgICAqIGxheW91dC9mb3JtYXR0aW5nQ29udGV4dHMvaW5saW5lL0lubGluZUxpbmVCdWls
ZGVyLmg6CisKIDIwMjItMDEtMjAgIFlvdWVubiBGYWJsZXQgIDx5b3Vlbm5AYXBwbGUuY29tPgog
CiAgICAgICAgIEFWQXVkaW9TZXNzaW9uQ2FwdHVyZURldmljZU1hbmFnZXIgaXMgbm90IGFsd2F5
cyBjb21wdXRpbmcgdGhlIHJpZ2h0IGRlZmF1bHQgaW5wdXQgZGV2aWNlCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9sYXlvdXQvZm9ybWF0dGluZ0NvbnRleHRzL2lubGluZS9JbmxpbmVGb3Jt
YXR0aW5nQ29udGV4dC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvZm9ybWF0dGluZ0NvbnRl
eHRzL2lubGluZS9JbmxpbmVGb3JtYXR0aW5nQ29udGV4dC5jcHAKaW5kZXggMWQ0OGNiNWJlODJh
ZDcxZDNlMWNlM2JhYjE2MTAyZWFhZmU2MWUyOS4uNjg4OGU4YzkwNTQ2Zjk3Y2E2NWFhYmRlNTg2
OTM0NjNkOWVkYWE4YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L2Zvcm1hdHRp
bmdDb250ZXh0cy9pbmxpbmUvSW5saW5lRm9ybWF0dGluZ0NvbnRleHQuY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2xheW91dC9mb3JtYXR0aW5nQ29udGV4dHMvaW5saW5lL0lubGluZUZvcm1hdHRp
bmdDb250ZXh0LmNwcApAQCAtMjAzLDM1ICsyMDMsMjQgQEAgdm9pZCBJbmxpbmVGb3JtYXR0aW5n
Q29udGV4dDo6bGluZUxheW91dChJbmxpbmVJdGVtcyYgaW5saW5lSXRlbXMsIExpbmVCdWlsZGVy
OjoKICAgICBhdXRvJiBmb3JtYXR0aW5nU3RhdGUgPSB0aGlzLT5mb3JtYXR0aW5nU3RhdGUoKTsK
ICAgICBmb3JtYXR0aW5nU3RhdGUuYm94ZXMoKS5yZXNlcnZlSW5pdGlhbENhcGFjaXR5KGZvcm1h
dHRpbmdTdGF0ZS5pbmxpbmVJdGVtcygpLnNpemUoKSk7CiAgICAgSW5saW5lTGF5b3V0VW5pdCBs
aW5lTG9naWNhbFRvcCA9IGNvbnN0cmFpbnRzLmxvZ2ljYWxUb3AoKTsKLSAgICBzdHJ1Y3QgUHJl
dmlvdXNMaW5lIHsKLSAgICAgICAgTGluZUJ1aWxkZXI6OklubGluZUl0ZW1SYW5nZSByYW5nZTsK
LSAgICAgICAgc2l6ZV90IG92ZXJmbG93Q29udGVudExlbmd0aCB7IDAgfTsKLSAgICAgICAgc3Rk
OjpvcHRpb25hbDxJbmxpbmVMYXlvdXRVbml0PiBvdmVyZmxvd0xvZ2ljYWxXaWR0aDsKLSAgICB9
OwotICAgIHN0ZDo6b3B0aW9uYWw8UHJldmlvdXNMaW5lPiBwcmV2aW91c0xpbmU7CisgICAgYXV0
byBwcmV2aW91c0xpbmUgPSBzdGQ6Om9wdGlvbmFsPExpbmVCdWlsZGVyOjpQcmV2aW91c0xpbmU+
IHsgfTsKICAgICBhdXRvJiBmbG9hdGluZ1N0YXRlID0gZm9ybWF0dGluZ1N0YXRlLmZsb2F0aW5n
U3RhdGUoKTsKICAgICBhdXRvIGZsb2F0aW5nQ29udGV4dCA9IEZsb2F0aW5nQ29udGV4dCB7ICp0
aGlzLCBmbG9hdGluZ1N0YXRlIH07Ci0gICAgYXV0byBpc0ZpcnN0TGluZSA9IGZvcm1hdHRpbmdT
dGF0ZS5saW5lcygpLmlzRW1wdHkoKTsKIAogICAgIGF1dG8gbGluZUJ1aWxkZXIgPSBMaW5lQnVp
bGRlciB7ICp0aGlzLCBmbG9hdGluZ1N0YXRlLCBjb25zdHJhaW50cy5ob3Jpem9udGFsKCksIGlu
bGluZUl0ZW1zIH07CiAgICAgd2hpbGUgKCFuZWVkc0xheW91dFJhbmdlLmlzRW1wdHkoKSkgewot
ICAgICAgICAvLyBUdXJuIHByZXZpb3VzIGxpbmUncyBvdmVyZmxvdyBjb250ZW50IGxlbmd0aCBp
bnRvIHRoZSBuZXh0IGxpbmUncyBsZWFkaW5nIGNvbnRlbnQgcGFydGlhbCBsZW5ndGguCi0gICAg
ICAgIC8vICJzcFs8LWxpbmUgYnJlYWstPl1saXRfY29udGVudCIgLT4gb3ZlcmZsb3cgbGVuZ3Ro
OiAxMSAtPiBsZWFkaW5nIHBhcnRpYWwgY29udGVudCBsZW5ndGg6IDExLgotICAgICAgICBhdXRv
IHBhcnRpYWxMZWFkaW5nQ29udGVudExlbmd0aCA9IHByZXZpb3VzTGluZSA/IHByZXZpb3VzTGlu
ZS0+b3ZlcmZsb3dDb250ZW50TGVuZ3RoIDogMDsKLSAgICAgICAgYXV0byBsZWFkaW5nTG9naWNh
bFdpZHRoID0gcHJldmlvdXNMaW5lID8gcHJldmlvdXNMaW5lLT5vdmVyZmxvd0xvZ2ljYWxXaWR0
aCA6IHN0ZDo6bnVsbG9wdDsKICAgICAgICAgYXV0byBpbml0aWFsTGluZUhlaWdodCA9IFsmXSgp
IC0+IElubGluZUxheW91dFVuaXQgewogICAgICAgICAgICAgaWYgKGxheW91dFN0YXRlKCkuaW5T
dGFuZGFyZHNNb2RlKCkpCiAgICAgICAgICAgICAgICAgcmV0dXJuIHJvb3QoKS5zdHlsZSgpLmNv
bXB1dGVkTGluZUhlaWdodCgpOwogICAgICAgICAgICAgcmV0dXJuIGZvcm1hdHRpbmdRdWlya3Mo
KS5pbml0aWFsTGluZUhlaWdodCgpOwogICAgICAgICB9KCk7CiAgICAgICAgIGF1dG8gaW5pdGlh
bExpbmVDb25zdHJhaW50cyA9IElubGluZVJlY3QgeyBsaW5lTG9naWNhbFRvcCwgY29uc3RyYWlu
dHMuaG9yaXpvbnRhbCgpLmxvZ2ljYWxMZWZ0LCBjb25zdHJhaW50cy5ob3Jpem9udGFsKCkubG9n
aWNhbFdpZHRoLCBpbml0aWFsTGluZUhlaWdodCB9OwotICAgICAgICBhdXRvIGxpbmVDb250ZW50
ID0gbGluZUJ1aWxkZXIubGF5b3V0SW5saW5lQ29udGVudChuZWVkc0xheW91dFJhbmdlLCBwYXJ0
aWFsTGVhZGluZ0NvbnRlbnRMZW5ndGgsIGxlYWRpbmdMb2dpY2FsV2lkdGgsIGluaXRpYWxMaW5l
Q29uc3RyYWludHMsIGlzRmlyc3RMaW5lKTsKKyAgICAgICAgYXV0byBsaW5lQ29udGVudCA9IGxp
bmVCdWlsZGVyLmxheW91dElubGluZUNvbnRlbnQobmVlZHNMYXlvdXRSYW5nZSwgaW5pdGlhbExp
bmVDb25zdHJhaW50cywgcHJldmlvdXNMaW5lKTsKICAgICAgICAgYXV0byBsaW5lTG9naWNhbFJl
Y3QgPSBjb21wdXRlR2VvbWV0cnlGb3JMaW5lQ29udGVudChsaW5lQ29udGVudCk7CiAKICAgICAg
ICAgYXV0byBsaW5lQ29udGVudFJhbmdlID0gbGluZUNvbnRlbnQuaW5saW5lSXRlbVJhbmdlOwog
ICAgICAgICBpZiAoIWxpbmVDb250ZW50UmFuZ2UuaXNFbXB0eSgpKSB7CiAgICAgICAgICAgICBB
U1NFUlQobmVlZHNMYXlvdXRSYW5nZS5zdGFydCA8IGxpbmVDb250ZW50UmFuZ2UuZW5kKTsKLSAg
ICAgICAgICAgIGlzRmlyc3RMaW5lID0gZmFsc2U7CiAgICAgICAgICAgICBsaW5lTG9naWNhbFRv
cCA9IGZvcm1hdHRpbmdHZW9tZXRyeSgpLmxvZ2ljYWxUb3BGb3JOZXh0TGluZShsaW5lQ29udGVu
dCwgbGluZUxvZ2ljYWxSZWN0LmJvdHRvbSgpLCBmbG9hdGluZ0NvbnRleHQpOwogICAgICAgICAg
ICAgaWYgKGxpbmVDb250ZW50LmlzTGFzdExpbmVXaXRoSW5saW5lQ29udGVudCkgewogICAgICAg
ICAgICAgICAgIC8vIFRoZSBmaW5hbCBjb250ZW50IGhlaWdodCBvZiB0aGlzIGlubGluZSBmb3Jt
YXR0aW5nIGNvbnRleHQgc2hvdWxkIGluY2x1ZGUgdGhlIGNsZWFyZWQgZmxvYXRzIGFzIHdlbGwu
CkBAIC0yNDIsNyArMjMxLDcgQEAgdm9pZCBJbmxpbmVGb3JtYXR0aW5nQ29udGV4dDo6bGluZUxh
eW91dChJbmxpbmVJdGVtcyYgaW5saW5lSXRlbXMsIExpbmVCdWlsZGVyOjoKICAgICAgICAgICAg
IGlmIChsYXN0SW5saW5lSXRlbU5lZWRzUGFydGlhbExheW91dCkgewogICAgICAgICAgICAgICAg
IGF1dG8gbGluZUxheW91dEhhc0FkdmFuY2VkID0gIXByZXZpb3VzTGluZQogICAgICAgICAgICAg
ICAgICAgICB8fCBsaW5lQ29udGVudFJhbmdlLmVuZCA+IHByZXZpb3VzTGluZS0+cmFuZ2UuZW5k
Ci0gICAgICAgICAgICAgICAgICAgIHx8IChwcmV2aW91c0xpbmUtPm92ZXJmbG93Q29udGVudExl
bmd0aCAmJiBwcmV2aW91c0xpbmUtPm92ZXJmbG93Q29udGVudExlbmd0aCA+IGxpbmVDb250ZW50
LnBhcnRpYWxUcmFpbGluZ0NvbnRlbnRMZW5ndGgpOworICAgICAgICAgICAgICAgICAgICB8fCAo
cHJldmlvdXNMaW5lLT5vdmVyZmxvd0NvbnRlbnQgJiYgcHJldmlvdXNMaW5lLT5vdmVyZmxvd0Nv
bnRlbnQtPnBhcnRpYWxDb250ZW50TGVuZ3RoID4gbGluZUNvbnRlbnQucGFydGlhbFRyYWlsaW5n
Q29udGVudExlbmd0aCk7CiAgICAgICAgICAgICAgICAgaWYgKCFsaW5lTGF5b3V0SGFzQWR2YW5j
ZWQpIHsKICAgICAgICAgICAgICAgICAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CiAgICAgICAg
ICAgICAgICAgICAgIC8vIE1vdmUgb3ZlciB0byB0aGUgbmV4dCBydW4gaWYgd2UgYXJlIHN0dWNr
IG9uIHRoaXMgcGFydGlhbCBjb250ZW50ICh3aGVuIHRoZSBvdmVyZmxvdyBjb250ZW50IGxlbmd0
aCByZW1haW5zIHRoZSBzYW1lKS4KQEAgLTI1MSw3ICsyNDAsMTIgQEAgdm9pZCBJbmxpbmVGb3Jt
YXR0aW5nQ29udGV4dDo6bGluZUxheW91dChJbmxpbmVJdGVtcyYgaW5saW5lSXRlbXMsIExpbmVC
dWlsZGVyOjoKICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICB9CiAgICAgICAgICAgICBu
ZWVkc0xheW91dFJhbmdlLnN0YXJ0ID0gbGFzdElubGluZUl0ZW1OZWVkc1BhcnRpYWxMYXlvdXQg
PyBsaW5lQ29udGVudFJhbmdlLmVuZCAtIDEgOiBsaW5lQ29udGVudFJhbmdlLmVuZDsKLSAgICAg
ICAgICAgIHByZXZpb3VzTGluZSA9IFByZXZpb3VzTGluZSB7IGxpbmVDb250ZW50UmFuZ2UsIGxp
bmVDb250ZW50LnBhcnRpYWxUcmFpbGluZ0NvbnRlbnRMZW5ndGgsIGxpbmVDb250ZW50Lm92ZXJm
bG93TG9naWNhbFdpZHRoIH07CisgICAgICAgICAgICBhdXRvIG92ZXJmbG93Q29udGVudCA9IHN0
ZDo6b3B0aW9uYWw8TGluZUJ1aWxkZXI6OlByZXZpb3VzTGluZTo6T3ZlcmZsb3dDb250ZW50PiB7
IH07CisgICAgICAgICAgICBpZiAobGluZUNvbnRlbnQucGFydGlhbFRyYWlsaW5nQ29udGVudExl
bmd0aCkKKyAgICAgICAgICAgICAgICBvdmVyZmxvd0NvbnRlbnQgPSB7IGxpbmVDb250ZW50LnBh
cnRpYWxUcmFpbGluZ0NvbnRlbnRMZW5ndGgsICpsaW5lQ29udGVudC5vdmVyZmxvd0xvZ2ljYWxX
aWR0aCB9OworICAgICAgICAgICAgZWxzZSBpZiAobGluZUNvbnRlbnQub3ZlcmZsb3dMb2dpY2Fs
V2lkdGgpCisgICAgICAgICAgICAgICAgb3ZlcmZsb3dDb250ZW50ID0geyB7IH0sICpsaW5lQ29u
dGVudC5vdmVyZmxvd0xvZ2ljYWxXaWR0aCB9OworICAgICAgICAgICAgcHJldmlvdXNMaW5lID0g
TGluZUJ1aWxkZXI6OlByZXZpb3VzTGluZSB7IGxpbmVDb250ZW50UmFuZ2UsIG92ZXJmbG93Q29u
dGVudCB9OwogICAgICAgICAgICAgY29udGludWU7CiAgICAgICAgIH0KICAgICAgICAgLy8gRmxv
YXRzIHByZXZlbnRlZCB1cyBwbGFjaW5nIGFueSBjb250ZW50IG9uIHRoZSBsaW5lLgpAQCAtNDQw
LDEyICs0MzQsMTIgQEAgSW5saW5lTGF5b3V0VW5pdCBJbmxpbmVGb3JtYXR0aW5nQ29udGV4dDo6
Y29tcHV0ZWRJbnRyaW5zaWNXaWR0aEZvckNvbnN0cmFpbnQoSW4KICAgICBhdXRvIGxheW91dFJh
bmdlID0gTGluZUJ1aWxkZXI6OklubGluZUl0ZW1SYW5nZSB7IDAgLCBpbmxpbmVJdGVtcy5zaXpl
KCkgfTsKICAgICBhdXRvIG1heGltdW1MaW5lV2lkdGggPSBJbmxpbmVMYXlvdXRVbml0IHsgfTsK
ICAgICBhdXRvIG1heGltdW1GbG9hdFdpZHRoID0gTGF5b3V0VW5pdCB7IH07Ci0gICAgYXV0byBp
c0ZpcnN0TGluZSA9IHRydWU7CisgICAgYXV0byBwcmV2aW91c0xpbmUgPSBzdGQ6Om9wdGlvbmFs
PExpbmVCdWlsZGVyOjpQcmV2aW91c0xpbmU+IHsgfTsKICAgICB3aGlsZSAoIWxheW91dFJhbmdl
LmlzRW1wdHkoKSkgewotICAgICAgICBhdXRvIGludHJpbnNpY0NvbnRlbnQgPSBsaW5lQnVpbGRl
ci5jb21wdXRlZEludHJpbnNpY1dpZHRoKGxheW91dFJhbmdlLCBpc0ZpcnN0TGluZSk7CisgICAg
ICAgIGF1dG8gaW50cmluc2ljQ29udGVudCA9IGxpbmVCdWlsZGVyLmNvbXB1dGVkSW50cmluc2lj
V2lkdGgobGF5b3V0UmFuZ2UsIHByZXZpb3VzTGluZSk7CiAgICAgICAgIGxheW91dFJhbmdlLnN0
YXJ0ID0gaW50cmluc2ljQ29udGVudC5pbmxpbmVJdGVtUmFuZ2UuZW5kOwogICAgICAgICBtYXhp
bXVtTGluZVdpZHRoID0gc3RkOjptYXgobWF4aW11bUxpbmVXaWR0aCwgaW50cmluc2ljQ29udGVu
dC5sb2dpY2FsV2lkdGgpOwotICAgICAgICBpc0ZpcnN0TGluZSA9IGZhbHNlOworICAgICAgICBw
cmV2aW91c0xpbmUgPSBMaW5lQnVpbGRlcjo6UHJldmlvdXNMaW5lIHsgfTsKICAgICAgICAgLy8g
RklYTUU6IEFkZCBzdXBwb3J0IGZvciBjbGVhci4KICAgICAgICAgZm9yIChhdXRvKiBmbG9hdEJv
eCA6IGludHJpbnNpY0NvbnRlbnQuZmxvYXRzKQogICAgICAgICAgICAgbWF4aW11bUZsb2F0V2lk
dGggKz0gZ2VvbWV0cnlGb3JCb3goKmZsb2F0Qm94KS5tYXJnaW5Cb3hXaWR0aCgpOwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L2Zvcm1hdHRpbmdDb250ZXh0cy9pbmxpbmUvSW5s
aW5lTGluZUJ1aWxkZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0L2Zvcm1hdHRpbmdDb250
ZXh0cy9pbmxpbmUvSW5saW5lTGluZUJ1aWxkZXIuY3BwCmluZGV4IDVjNjlmMDc0MzdmZWM2ZjI2
ZTk2NDM1N2ZiNmEyNmZkZmYwNDU2YzMuLjE0MzBmMzE0ZTk4YzM5MGI3MDEwOWEyM2FiOGFkOWE1
ODAyYzAzNjggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xheW91dC9mb3JtYXR0aW5nQ29u
dGV4dHMvaW5saW5lL0lubGluZUxpbmVCdWlsZGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9s
YXlvdXQvZm9ybWF0dGluZ0NvbnRleHRzL2lubGluZS9JbmxpbmVMaW5lQnVpbGRlci5jcHAKQEAg
LTMwNSw5ICszMDUsOSBAQCBzdHJ1Y3QgVXNlZENvbnN0cmFpbnRzIHsKICAgICBJbmxpbmVMYXlv
dXRVbml0IG1hcmdpblN0YXJ0IHsgMCB9OwogICAgIGJvb2wgaXNDb25zdHJhaW5lZEJ5RmxvYXQg
eyBmYWxzZSB9OwogfTsKLUxpbmVCdWlsZGVyOjpMaW5lQ29udGVudCBMaW5lQnVpbGRlcjo6bGF5
b3V0SW5saW5lQ29udGVudChjb25zdCBJbmxpbmVJdGVtUmFuZ2UmIG5lZWRzTGF5b3V0UmFuZ2Us
IHNpemVfdCBwYXJ0aWFsTGVhZGluZ0NvbnRlbnRMZW5ndGgsIHN0ZDo6b3B0aW9uYWw8SW5saW5l
TGF5b3V0VW5pdD4gb3ZlcmZsb3dpbmdMb2dpY2FsV2lkdGgsIGNvbnN0IElubGluZVJlY3QmIGlu
aXRpYWxMaW5lTG9naWNhbFJlY3QsIGJvb2wgaXNGaXJzdExpbmUpCitMaW5lQnVpbGRlcjo6TGlu
ZUNvbnRlbnQgTGluZUJ1aWxkZXI6OmxheW91dElubGluZUNvbnRlbnQoY29uc3QgSW5saW5lSXRl
bVJhbmdlJiBuZWVkc0xheW91dFJhbmdlLCBjb25zdCBJbmxpbmVSZWN0JiBsaW5lTG9naWNhbFJl
Y3QsIHN0ZDo6b3B0aW9uYWw8UHJldmlvdXNMaW5lPiBwcmV2aW91c0xpbmUpCiB7Ci0gICAgaW5p
dGlhbGl6ZShpbml0aWFsQ29uc3RyYWludHNGb3JMaW5lKGluaXRpYWxMaW5lTG9naWNhbFJlY3Qs
IGlzRmlyc3RMaW5lKSwgaXNGaXJzdExpbmUsIG5lZWRzTGF5b3V0UmFuZ2Uuc3RhcnQsIHBhcnRp
YWxMZWFkaW5nQ29udGVudExlbmd0aCwgb3ZlcmZsb3dpbmdMb2dpY2FsV2lkdGgpOworICAgIGlu
aXRpYWxpemUoaW5pdGlhbENvbnN0cmFpbnRzRm9yTGluZShsaW5lTG9naWNhbFJlY3QsICFwcmV2
aW91c0xpbmUpLCBuZWVkc0xheW91dFJhbmdlLnN0YXJ0LCBwcmV2aW91c0xpbmUpOwogCiAgICAg
YXV0byBjb21taXR0ZWRDb250ZW50ID0gcGxhY2VJbmxpbmVDb250ZW50KG5lZWRzTGF5b3V0UmFu
Z2UpOwogICAgIGF1dG8gY29tbWl0dGVkUmFuZ2UgPSBjbG9zZShuZWVkc0xheW91dFJhbmdlLCBj
b21taXR0ZWRDb250ZW50KTsKQEAgLTM2MSwxMiArMzYxLDEyIEBAIExpbmVCdWlsZGVyOjpMaW5l
Q29udGVudCBMaW5lQnVpbGRlcjo6bGF5b3V0SW5saW5lQ29udGVudChjb25zdCBJbmxpbmVJdGVt
UmFuZ2UmCiAgICAgICAgICwgbGluZVJ1bnMgfTsKIH0KIAotTGluZUJ1aWxkZXI6OkludHJpbnNp
Y0NvbnRlbnQgTGluZUJ1aWxkZXI6OmNvbXB1dGVkSW50cmluc2ljV2lkdGgoY29uc3QgSW5saW5l
SXRlbVJhbmdlJiBuZWVkc0xheW91dFJhbmdlLCBib29sIGlzRmlyc3RMaW5lKQorTGluZUJ1aWxk
ZXI6OkludHJpbnNpY0NvbnRlbnQgTGluZUJ1aWxkZXI6OmNvbXB1dGVkSW50cmluc2ljV2lkdGgo
Y29uc3QgSW5saW5lSXRlbVJhbmdlJiBuZWVkc0xheW91dFJhbmdlLCBzdGQ6Om9wdGlvbmFsPFBy
ZXZpb3VzTGluZT4gcHJldmlvdXNMaW5lKQogewogICAgIEFTU0VSVChpc0luSW50cmluc2ljV2lk
dGhNb2RlKCkpOwogICAgIGF1dG8gbGluZUxvZ2ljYWxXaWR0aCA9ICppbnRyaW5zaWNXaWR0aE1v
ZGUoKSA9PSBJbnRyaW5zaWNXaWR0aE1vZGU6Ok1heGltdW0gPyBtYXhJbmxpbmVMYXlvdXRVbml0
KCkgOiAwLmY7Ci0gICAgYXV0byBsaW5lQ29uc3RyYWludHMgPSBpbml0aWFsQ29uc3RyYWludHNG
b3JMaW5lKHsgMCwgMCwgbGluZUxvZ2ljYWxXaWR0aCwgMCB9LCBpc0ZpcnN0TGluZSk7Ci0gICAg
aW5pdGlhbGl6ZShsaW5lQ29uc3RyYWludHMsIGlzRmlyc3RMaW5lLCBuZWVkc0xheW91dFJhbmdl
LnN0YXJ0LCB7IH0sIHsgfSk7CisgICAgYXV0byBsaW5lQ29uc3RyYWludHMgPSBpbml0aWFsQ29u
c3RyYWludHNGb3JMaW5lKHsgMCwgMCwgbGluZUxvZ2ljYWxXaWR0aCwgMCB9LCAhcHJldmlvdXNM
aW5lKTsKKyAgICBpbml0aWFsaXplKGxpbmVDb25zdHJhaW50cywgbmVlZHNMYXlvdXRSYW5nZS5z
dGFydCwgcHJldmlvdXNMaW5lKTsKIAogICAgIGF1dG8gY29tbWl0dGVkQ29udGVudCA9IHBsYWNl
SW5saW5lQ29udGVudChuZWVkc0xheW91dFJhbmdlKTsKICAgICBhdXRvIGNvbW1pdHRlZFJhbmdl
ID0gY2xvc2UobmVlZHNMYXlvdXRSYW5nZSwgY29tbWl0dGVkQ29udGVudCk7CkBAIC0zNzQsOSAr
Mzc0LDkgQEAgTGluZUJ1aWxkZXI6OkludHJpbnNpY0NvbnRlbnQgTGluZUJ1aWxkZXI6OmNvbXB1
dGVkSW50cmluc2ljV2lkdGgoY29uc3QgSW5saW5lSXQKICAgICByZXR1cm4geyBjb21taXR0ZWRS
YW5nZSwgbGluZVdpZHRoLCBtX2Zsb2F0cyB9OwogfQogCi12b2lkIExpbmVCdWlsZGVyOjppbml0
aWFsaXplKGNvbnN0IFVzZWRDb25zdHJhaW50cyYgbGluZUNvbnN0cmFpbnRzLCBib29sIGlzRmly
c3RMaW5lLCBzaXplX3QgbGVhZGluZ0lubGluZUl0ZW1JbmRleCwgc2l6ZV90IHBhcnRpYWxMZWFk
aW5nQ29udGVudExlbmd0aCwgc3RkOjpvcHRpb25hbDxJbmxpbmVMYXlvdXRVbml0PiBvdmVyZmxv
d2luZ0xvZ2ljYWxXaWR0aCkKK3ZvaWQgTGluZUJ1aWxkZXI6OmluaXRpYWxpemUoY29uc3QgVXNl
ZENvbnN0cmFpbnRzJiBsaW5lQ29uc3RyYWludHMsIHNpemVfdCBsZWFkaW5nSW5saW5lSXRlbUlu
ZGV4LCBzdGQ6Om9wdGlvbmFsPFByZXZpb3VzTGluZT4gcHJldmlvdXNMaW5lKQogewotICAgIG1f
aXNGaXJzdExpbmUgPSBpc0ZpcnN0TGluZTsKKyAgICBtX2lzRmlyc3RMaW5lID0gIXByZXZpb3Vz
TGluZTsKICAgICBtX2Zsb2F0cy5jbGVhcigpOwogICAgIG1fbGluZVNwYW5uaW5nSW5saW5lQm94
ZXMuY2xlYXIoKTsKICAgICBtX3dyYXBPcHBvcnR1bml0eUxpc3QuY2xlYXIoKTsKQEAgLTQyMiwx
MyArNDIyLDE2IEBAIHZvaWQgTGluZUJ1aWxkZXI6OmluaXRpYWxpemUoY29uc3QgVXNlZENvbnN0
cmFpbnRzJiBsaW5lQ29uc3RyYWludHMsIGJvb2wgaXNGaXJzCiAgICAgbV9saW5lTG9naWNhbFJl
Y3QuZXhwYW5kSG9yaXpvbnRhbGx5KC1tX2xpbmVNYXJnaW5TdGFydCk7CiAgICAgbV9jb250ZW50
SXNDb25zdHJhaW5lZEJ5RmxvYXQgPSBsaW5lQ29uc3RyYWludHMuaXNDb25zdHJhaW5lZEJ5Rmxv
YXQ7CiAKLSAgICBpZiAocGFydGlhbExlYWRpbmdDb250ZW50TGVuZ3RoKSB7Ci0gICAgICAgIEFT
U0VSVCghaXNGaXJzdExpbmUpOwotICAgICAgICBtX3BhcnRpYWxMZWFkaW5nVGV4dEl0ZW0gPSBk
b3duY2FzdDxJbmxpbmVUZXh0SXRlbT4obV9pbmxpbmVJdGVtc1tsZWFkaW5nSW5saW5lSXRlbUlu
ZGV4XSkucmlnaHQocGFydGlhbExlYWRpbmdDb250ZW50TGVuZ3RoLCBvdmVyZmxvd2luZ0xvZ2lj
YWxXaWR0aCk7Ci0gICAgICAgIG1fb3ZlcmZsb3dpbmdMb2dpY2FsV2lkdGggPSB7IH07Ci0gICAg
fSBlbHNlIHsKLSAgICAgICAgbV9wYXJ0aWFsTGVhZGluZ1RleHRJdGVtID0geyB9OwotICAgICAg
ICBtX292ZXJmbG93aW5nTG9naWNhbFdpZHRoID0gb3ZlcmZsb3dpbmdMb2dpY2FsV2lkdGg7Cisg
ICAgaWYgKHByZXZpb3VzTGluZSAmJiBwcmV2aW91c0xpbmUtPm92ZXJmbG93Q29udGVudCkgewor
ICAgICAgICBpZiAocHJldmlvdXNMaW5lLT5vdmVyZmxvd0NvbnRlbnQtPnBhcnRpYWxDb250ZW50
TGVuZ3RoKSB7CisgICAgICAgICAgICAvLyBUdXJuIHByZXZpb3VzIGxpbmUncyBvdmVyZmxvdyBj
b250ZW50IGxlbmd0aCBpbnRvIHRoZSBuZXh0IGxpbmUncyBsZWFkaW5nIGNvbnRlbnQgcGFydGlh
bCBsZW5ndGguCisgICAgICAgICAgICAvLyAic3BbPC1saW5lIGJyZWFrLT5dbGl0X2NvbnRlbnQi
IC0+IG92ZXJmbG93IGxlbmd0aDogMTEgLT4gbGVhZGluZyBwYXJ0aWFsIGNvbnRlbnQgbGVuZ3Ro
OiAxMS4KKyAgICAgICAgICAgIG1fcGFydGlhbExlYWRpbmdUZXh0SXRlbSA9IGRvd25jYXN0PElu
bGluZVRleHRJdGVtPihtX2lubGluZUl0ZW1zW2xlYWRpbmdJbmxpbmVJdGVtSW5kZXhdKS5yaWdo
dChwcmV2aW91c0xpbmUtPm92ZXJmbG93Q29udGVudC0+cGFydGlhbENvbnRlbnRMZW5ndGgsIHBy
ZXZpb3VzTGluZS0+b3ZlcmZsb3dDb250ZW50LT53aWR0aCk7CisgICAgICAgICAgICBtX292ZXJm
bG93aW5nTG9naWNhbFdpZHRoID0geyB9OworICAgICAgICB9IGVsc2UgeworICAgICAgICAgICAg
bV9wYXJ0aWFsTGVhZGluZ1RleHRJdGVtID0geyB9OworICAgICAgICAgICAgbV9vdmVyZmxvd2lu
Z0xvZ2ljYWxXaWR0aCA9IHByZXZpb3VzTGluZS0+b3ZlcmZsb3dDb250ZW50LT53aWR0aDsKKyAg
ICAgICAgfQogICAgIH0KIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L2Zv
cm1hdHRpbmdDb250ZXh0cy9pbmxpbmUvSW5saW5lTGluZUJ1aWxkZXIuaCBiL1NvdXJjZS9XZWJD
b3JlL2xheW91dC9mb3JtYXR0aW5nQ29udGV4dHMvaW5saW5lL0lubGluZUxpbmVCdWlsZGVyLmgK
aW5kZXggMjE5NjFkY2VkZmIwM2M3Y2ZjMDNlZGE0MjQxZTkzM2FlMmVlOTdlNi4uZmNmMmMzN2Zm
NGY2MTA1ZGQxNzY5Zjc0MmU2ZTExYWUzNDA1Nzg2NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvbGF5b3V0L2Zvcm1hdHRpbmdDb250ZXh0cy9pbmxpbmUvSW5saW5lTGluZUJ1aWxkZXIuaAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvZm9ybWF0dGluZ0NvbnRleHRzL2lubGluZS9Jbmxp
bmVMaW5lQnVpbGRlci5oCkBAIC01MCw2ICs1MCwxNCBAQCBwdWJsaWM6CiAgICAgICAgIHNpemVf
dCBzdGFydCB7IDAgfTsKICAgICAgICAgc2l6ZV90IGVuZCB7IDAgfTsKICAgICB9OworICAgIHN0
cnVjdCBQcmV2aW91c0xpbmUgeworICAgICAgICBJbmxpbmVJdGVtUmFuZ2UgcmFuZ2U7CisgICAg
ICAgIHN0cnVjdCBPdmVyZmxvd0NvbnRlbnQgeworICAgICAgICAgICAgc2l6ZV90IHBhcnRpYWxD
b250ZW50TGVuZ3RoIHsgMCB9OworICAgICAgICAgICAgSW5saW5lTGF5b3V0VW5pdCB3aWR0aCB7
IDAgfTsKKyAgICAgICAgfTsKKyAgICAgICAgc3RkOjpvcHRpb25hbDxPdmVyZmxvd0NvbnRlbnQ+
IG92ZXJmbG93Q29udGVudCB7IH07CisgICAgfTsKICAgICB1c2luZyBGbG9hdExpc3QgPSBWZWN0
b3I8Y29uc3QgQm94Kj47CiAgICAgc3RydWN0IExpbmVDb250ZW50IHsKICAgICAgICAgSW5saW5l
SXRlbVJhbmdlIGlubGluZUl0ZW1SYW5nZTsKQEAgLTY4LDE0ICs3NiwxNCBAQCBwdWJsaWM6CiAg
ICAgICAgIFZlY3RvcjxpbnQzMl90PiB2aXN1YWxPcmRlckxpc3Q7CiAgICAgICAgIGNvbnN0IExp
bmU6OlJ1bkxpc3QmIHJ1bnM7CiAgICAgfTsKLSAgICBMaW5lQ29udGVudCBsYXlvdXRJbmxpbmVD
b250ZW50KGNvbnN0IElubGluZUl0ZW1SYW5nZSYsIHNpemVfdCBwYXJ0aWFsTGVhZGluZ0NvbnRl
bnRMZW5ndGgsIHN0ZDo6b3B0aW9uYWw8SW5saW5lTGF5b3V0VW5pdD4gb3ZlcmZsb3dpbmdMb2dp
Y2FsV2lkdGgsIGNvbnN0IElubGluZVJlY3QmIGluaXRpYWxMaW5lTG9naWNhbFJlY3QsIGJvb2wg
aXNGaXJzdExpbmUpOworICAgIExpbmVDb250ZW50IGxheW91dElubGluZUNvbnRlbnQoY29uc3Qg
SW5saW5lSXRlbVJhbmdlJiwgY29uc3QgSW5saW5lUmVjdCYgbGluZUxvZ2ljYWxSZWN0LCBzdGQ6
Om9wdGlvbmFsPFByZXZpb3VzTGluZT4pOwogCiAgICAgc3RydWN0IEludHJpbnNpY0NvbnRlbnQg
ewogICAgICAgICBJbmxpbmVJdGVtUmFuZ2UgaW5saW5lSXRlbVJhbmdlOwogICAgICAgICBJbmxp
bmVMYXlvdXRVbml0IGxvZ2ljYWxXaWR0aCB7IDAgfTsKICAgICAgICAgY29uc3QgRmxvYXRMaXN0
JiBmbG9hdHM7CiAgICAgfTsKLSAgICBJbnRyaW5zaWNDb250ZW50IGNvbXB1dGVkSW50cmluc2lj
V2lkdGgoY29uc3QgSW5saW5lSXRlbVJhbmdlJiwgYm9vbCBpc0ZpcnN0TGluZSk7CisgICAgSW50
cmluc2ljQ29udGVudCBjb21wdXRlZEludHJpbnNpY1dpZHRoKGNvbnN0IElubGluZUl0ZW1SYW5n
ZSYsIHN0ZDo6b3B0aW9uYWw8UHJldmlvdXNMaW5lPik7CiAKIHByaXZhdGU6CiAgICAgdm9pZCBj
YW5kaWRhdGVDb250ZW50Rm9yTGluZShMaW5lQ2FuZGlkYXRlJiwgc2l6ZV90IGlubGluZUl0ZW1J
bmRleCwgY29uc3QgSW5saW5lSXRlbVJhbmdlJiBuZWVkc0xheW91dFJhbmdlLCBJbmxpbmVMYXlv
dXRVbml0IGN1cnJlbnRMb2dpY2FsUmlnaHQpOwpAQCAtOTksNyArMTA3LDcgQEAgcHJpdmF0ZToK
ICAgICBzaXplX3QgcmVidWlsZExpbmUoY29uc3QgSW5saW5lSXRlbVJhbmdlJiBuZWVkc0xheW91
dFJhbmdlLCBjb25zdCBJbmxpbmVJdGVtJiBsYXN0SW5saW5lSXRlbVRvQWRkKTsKICAgICBzaXpl
X3QgcmVidWlsZExpbmVGb3JUcmFpbGluZ1NvZnRIeXBoZW4oY29uc3QgSW5saW5lSXRlbVJhbmdl
JiBsYXlvdXRSYW5nZSk7CiAgICAgdm9pZCBjb21taXRQYXJ0aWFsQ29udGVudChjb25zdCBJbmxp
bmVDb250ZW50QnJlYWtlcjo6Q29udGludW91c0NvbnRlbnQ6OlJ1bkxpc3QmLCBjb25zdCBJbmxp
bmVDb250ZW50QnJlYWtlcjo6UmVzdWx0OjpQYXJ0aWFsVHJhaWxpbmdDb250ZW50Jik7Ci0gICAg
dm9pZCBpbml0aWFsaXplKGNvbnN0IFVzZWRDb25zdHJhaW50cyYsIGJvb2wgaXNGaXJzdExpbmUs
IHNpemVfdCBsZWFkaW5nSW5saW5lVGV4dEl0ZW1JbmRleCwgc2l6ZV90IHBhcnRpYWxMZWFkaW5n
Q29udGVudExlbmd0aCwgc3RkOjpvcHRpb25hbDxJbmxpbmVMYXlvdXRVbml0PiBvdmVyZmxvd2lu
Z0xvZ2ljYWxXaWR0aCk7CisgICAgdm9pZCBpbml0aWFsaXplKGNvbnN0IFVzZWRDb25zdHJhaW50
cyYsIHNpemVfdCBsZWFkaW5nSW5saW5lVGV4dEl0ZW1JbmRleCwgc3RkOjpvcHRpb25hbDxQcmV2
aW91c0xpbmU+KTsKICAgICBzdHJ1Y3QgQ29tbWl0dGVkQ29udGVudCB7CiAgICAgICAgIHNpemVf
dCBpbmxpbmVJdGVtQ291bnQgeyAwIH07CiAgICAgICAgIHNpemVfdCBwYXJ0aWFsVHJhaWxpbmdD
b250ZW50TGVuZ3RoIHsgMCB9Owo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>449596</attachid>
            <date>2022-01-20 11:17:13 -0800</date>
            <delta_ts>2022-01-20 13:19:32 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-235403-20220120111712.patch</filename>
            <type>text/plain</type>
            <size>14690</size>
            <attacher name="alan">zalan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg4Mjg0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYzhhNjM2YmMwMzAzZTJj
ODQ0ODIxY2RlYzQ0ZWRiZTFiMDE3MGRlZi4uNzAyYzdhOWUxY2NmNDEwMDIxZGNjMTIxODE4MTMz
NzM0MTBjOGUxYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIyIEBACisyMDIyLTAxLTIwICBBbGFu
IEJ1anRhcyAgPHphbGFuQGFwcGxlLmNvbT4KKworICAgICAgICBbTEZDXVtJRkNdIExpbmVCdWls
ZGVyOjpsYXlvdXRJbmxpbmVDb250ZW50IHNob3VsZCB0YWtlIFByZXZpb3VzTGluZQorICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjM1NDAzCisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgQW50dGkgS29pdmlzdG8uCisKKyAgICAgICAgTGV0J3MgcGFzcyBpbiBh
IFByZXZpb3VzTGluZSBzdHJ1Y3QgdG8gTGluZUJ1aWxkZXI6OmxheW91dElubGluZUNvbnRlbnQg
aW5zdGVhZCBvZiBpbmRpdmlkdWFsIHZhcmlhYmxlcyBhYm91dCB0aGUgcHJldmlvdXMgbGluZS4K
KyAgICAgICAgVGhpcyBpcyBpbiBwcmVwYXJhdGlvbiBmb3Igc3VwcG9ydGluZyB1bmljb2RlLWJp
ZGk6IHBsYWludGV4dCB3aGVyZSB3ZSBuZWVkIHRvIGtub3cgaWYgdGhlIHByZXZpb3VzIGxpbmUg
ZW5kcyBpbiBhIGxpbmUgYnJlYWsgb3Igbm90LgorCisgICAgICAgICogbGF5b3V0L2Zvcm1hdHRp
bmdDb250ZXh0cy9pbmxpbmUvSW5saW5lRm9ybWF0dGluZ0NvbnRleHQuY3BwOgorICAgICAgICAo
V2ViQ29yZTo6TGF5b3V0OjpJbmxpbmVGb3JtYXR0aW5nQ29udGV4dDo6bGluZUxheW91dCk6Cisg
ICAgICAgIChXZWJDb3JlOjpMYXlvdXQ6OklubGluZUZvcm1hdHRpbmdDb250ZXh0Ojpjb21wdXRl
ZEludHJpbnNpY1dpZHRoRm9yQ29uc3RyYWludCBjb25zdCk6CisgICAgICAgICogbGF5b3V0L2Zv
cm1hdHRpbmdDb250ZXh0cy9pbmxpbmUvSW5saW5lTGluZUJ1aWxkZXIuY3BwOgorICAgICAgICAo
V2ViQ29yZTo6TGF5b3V0OjpMaW5lQnVpbGRlcjo6bGF5b3V0SW5saW5lQ29udGVudCk6CisgICAg
ICAgIChXZWJDb3JlOjpMYXlvdXQ6OkxpbmVCdWlsZGVyOjpjb21wdXRlZEludHJpbnNpY1dpZHRo
KToKKyAgICAgICAgKFdlYkNvcmU6OkxheW91dDo6TGluZUJ1aWxkZXI6OmluaXRpYWxpemUpOgor
ICAgICAgICAqIGxheW91dC9mb3JtYXR0aW5nQ29udGV4dHMvaW5saW5lL0lubGluZUxpbmVCdWls
ZGVyLmg6CisKIDIwMjItMDEtMjAgIFlvdWVubiBGYWJsZXQgIDx5b3Vlbm5AYXBwbGUuY29tPgog
CiAgICAgICAgIEFWQXVkaW9TZXNzaW9uQ2FwdHVyZURldmljZU1hbmFnZXIgaXMgbm90IGFsd2F5
cyBjb21wdXRpbmcgdGhlIHJpZ2h0IGRlZmF1bHQgaW5wdXQgZGV2aWNlCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9sYXlvdXQvZm9ybWF0dGluZ0NvbnRleHRzL2lubGluZS9JbmxpbmVGb3Jt
YXR0aW5nQ29udGV4dC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvZm9ybWF0dGluZ0NvbnRl
eHRzL2lubGluZS9JbmxpbmVGb3JtYXR0aW5nQ29udGV4dC5jcHAKaW5kZXggMWQ0OGNiNWJlODJh
ZDcxZDNlMWNlM2JhYjE2MTAyZWFhZmU2MWUyOS4uNTEyMDBlMWFlYzNiODhiZDcxOTk2MGE0ZjY2
MTIyMmVlYzIzNzk5ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L2Zvcm1hdHRp
bmdDb250ZXh0cy9pbmxpbmUvSW5saW5lRm9ybWF0dGluZ0NvbnRleHQuY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2xheW91dC9mb3JtYXR0aW5nQ29udGV4dHMvaW5saW5lL0lubGluZUZvcm1hdHRp
bmdDb250ZXh0LmNwcApAQCAtMjAzLDM1ICsyMDMsMjQgQEAgdm9pZCBJbmxpbmVGb3JtYXR0aW5n
Q29udGV4dDo6bGluZUxheW91dChJbmxpbmVJdGVtcyYgaW5saW5lSXRlbXMsIExpbmVCdWlsZGVy
OjoKICAgICBhdXRvJiBmb3JtYXR0aW5nU3RhdGUgPSB0aGlzLT5mb3JtYXR0aW5nU3RhdGUoKTsK
ICAgICBmb3JtYXR0aW5nU3RhdGUuYm94ZXMoKS5yZXNlcnZlSW5pdGlhbENhcGFjaXR5KGZvcm1h
dHRpbmdTdGF0ZS5pbmxpbmVJdGVtcygpLnNpemUoKSk7CiAgICAgSW5saW5lTGF5b3V0VW5pdCBs
aW5lTG9naWNhbFRvcCA9IGNvbnN0cmFpbnRzLmxvZ2ljYWxUb3AoKTsKLSAgICBzdHJ1Y3QgUHJl
dmlvdXNMaW5lIHsKLSAgICAgICAgTGluZUJ1aWxkZXI6OklubGluZUl0ZW1SYW5nZSByYW5nZTsK
LSAgICAgICAgc2l6ZV90IG92ZXJmbG93Q29udGVudExlbmd0aCB7IDAgfTsKLSAgICAgICAgc3Rk
OjpvcHRpb25hbDxJbmxpbmVMYXlvdXRVbml0PiBvdmVyZmxvd0xvZ2ljYWxXaWR0aDsKLSAgICB9
OwotICAgIHN0ZDo6b3B0aW9uYWw8UHJldmlvdXNMaW5lPiBwcmV2aW91c0xpbmU7CisgICAgYXV0
byBwcmV2aW91c0xpbmUgPSBzdGQ6Om9wdGlvbmFsPExpbmVCdWlsZGVyOjpQcmV2aW91c0xpbmU+
IHsgfTsKICAgICBhdXRvJiBmbG9hdGluZ1N0YXRlID0gZm9ybWF0dGluZ1N0YXRlLmZsb2F0aW5n
U3RhdGUoKTsKICAgICBhdXRvIGZsb2F0aW5nQ29udGV4dCA9IEZsb2F0aW5nQ29udGV4dCB7ICp0
aGlzLCBmbG9hdGluZ1N0YXRlIH07Ci0gICAgYXV0byBpc0ZpcnN0TGluZSA9IGZvcm1hdHRpbmdT
dGF0ZS5saW5lcygpLmlzRW1wdHkoKTsKIAogICAgIGF1dG8gbGluZUJ1aWxkZXIgPSBMaW5lQnVp
bGRlciB7ICp0aGlzLCBmbG9hdGluZ1N0YXRlLCBjb25zdHJhaW50cy5ob3Jpem9udGFsKCksIGlu
bGluZUl0ZW1zIH07CiAgICAgd2hpbGUgKCFuZWVkc0xheW91dFJhbmdlLmlzRW1wdHkoKSkgewot
ICAgICAgICAvLyBUdXJuIHByZXZpb3VzIGxpbmUncyBvdmVyZmxvdyBjb250ZW50IGxlbmd0aCBp
bnRvIHRoZSBuZXh0IGxpbmUncyBsZWFkaW5nIGNvbnRlbnQgcGFydGlhbCBsZW5ndGguCi0gICAg
ICAgIC8vICJzcFs8LWxpbmUgYnJlYWstPl1saXRfY29udGVudCIgLT4gb3ZlcmZsb3cgbGVuZ3Ro
OiAxMSAtPiBsZWFkaW5nIHBhcnRpYWwgY29udGVudCBsZW5ndGg6IDExLgotICAgICAgICBhdXRv
IHBhcnRpYWxMZWFkaW5nQ29udGVudExlbmd0aCA9IHByZXZpb3VzTGluZSA/IHByZXZpb3VzTGlu
ZS0+b3ZlcmZsb3dDb250ZW50TGVuZ3RoIDogMDsKLSAgICAgICAgYXV0byBsZWFkaW5nTG9naWNh
bFdpZHRoID0gcHJldmlvdXNMaW5lID8gcHJldmlvdXNMaW5lLT5vdmVyZmxvd0xvZ2ljYWxXaWR0
aCA6IHN0ZDo6bnVsbG9wdDsKICAgICAgICAgYXV0byBpbml0aWFsTGluZUhlaWdodCA9IFsmXSgp
IC0+IElubGluZUxheW91dFVuaXQgewogICAgICAgICAgICAgaWYgKGxheW91dFN0YXRlKCkuaW5T
dGFuZGFyZHNNb2RlKCkpCiAgICAgICAgICAgICAgICAgcmV0dXJuIHJvb3QoKS5zdHlsZSgpLmNv
bXB1dGVkTGluZUhlaWdodCgpOwogICAgICAgICAgICAgcmV0dXJuIGZvcm1hdHRpbmdRdWlya3Mo
KS5pbml0aWFsTGluZUhlaWdodCgpOwogICAgICAgICB9KCk7CiAgICAgICAgIGF1dG8gaW5pdGlh
bExpbmVDb25zdHJhaW50cyA9IElubGluZVJlY3QgeyBsaW5lTG9naWNhbFRvcCwgY29uc3RyYWlu
dHMuaG9yaXpvbnRhbCgpLmxvZ2ljYWxMZWZ0LCBjb25zdHJhaW50cy5ob3Jpem9udGFsKCkubG9n
aWNhbFdpZHRoLCBpbml0aWFsTGluZUhlaWdodCB9OwotICAgICAgICBhdXRvIGxpbmVDb250ZW50
ID0gbGluZUJ1aWxkZXIubGF5b3V0SW5saW5lQ29udGVudChuZWVkc0xheW91dFJhbmdlLCBwYXJ0
aWFsTGVhZGluZ0NvbnRlbnRMZW5ndGgsIGxlYWRpbmdMb2dpY2FsV2lkdGgsIGluaXRpYWxMaW5l
Q29uc3RyYWludHMsIGlzRmlyc3RMaW5lKTsKKyAgICAgICAgYXV0byBsaW5lQ29udGVudCA9IGxp
bmVCdWlsZGVyLmxheW91dElubGluZUNvbnRlbnQobmVlZHNMYXlvdXRSYW5nZSwgaW5pdGlhbExp
bmVDb25zdHJhaW50cywgcHJldmlvdXNMaW5lKTsKICAgICAgICAgYXV0byBsaW5lTG9naWNhbFJl
Y3QgPSBjb21wdXRlR2VvbWV0cnlGb3JMaW5lQ29udGVudChsaW5lQ29udGVudCk7CiAKICAgICAg
ICAgYXV0byBsaW5lQ29udGVudFJhbmdlID0gbGluZUNvbnRlbnQuaW5saW5lSXRlbVJhbmdlOwog
ICAgICAgICBpZiAoIWxpbmVDb250ZW50UmFuZ2UuaXNFbXB0eSgpKSB7CiAgICAgICAgICAgICBB
U1NFUlQobmVlZHNMYXlvdXRSYW5nZS5zdGFydCA8IGxpbmVDb250ZW50UmFuZ2UuZW5kKTsKLSAg
ICAgICAgICAgIGlzRmlyc3RMaW5lID0gZmFsc2U7CiAgICAgICAgICAgICBsaW5lTG9naWNhbFRv
cCA9IGZvcm1hdHRpbmdHZW9tZXRyeSgpLmxvZ2ljYWxUb3BGb3JOZXh0TGluZShsaW5lQ29udGVu
dCwgbGluZUxvZ2ljYWxSZWN0LmJvdHRvbSgpLCBmbG9hdGluZ0NvbnRleHQpOwogICAgICAgICAg
ICAgaWYgKGxpbmVDb250ZW50LmlzTGFzdExpbmVXaXRoSW5saW5lQ29udGVudCkgewogICAgICAg
ICAgICAgICAgIC8vIFRoZSBmaW5hbCBjb250ZW50IGhlaWdodCBvZiB0aGlzIGlubGluZSBmb3Jt
YXR0aW5nIGNvbnRleHQgc2hvdWxkIGluY2x1ZGUgdGhlIGNsZWFyZWQgZmxvYXRzIGFzIHdlbGwu
CkBAIC0yNDIsNyArMjMxLDcgQEAgdm9pZCBJbmxpbmVGb3JtYXR0aW5nQ29udGV4dDo6bGluZUxh
eW91dChJbmxpbmVJdGVtcyYgaW5saW5lSXRlbXMsIExpbmVCdWlsZGVyOjoKICAgICAgICAgICAg
IGlmIChsYXN0SW5saW5lSXRlbU5lZWRzUGFydGlhbExheW91dCkgewogICAgICAgICAgICAgICAg
IGF1dG8gbGluZUxheW91dEhhc0FkdmFuY2VkID0gIXByZXZpb3VzTGluZQogICAgICAgICAgICAg
ICAgICAgICB8fCBsaW5lQ29udGVudFJhbmdlLmVuZCA+IHByZXZpb3VzTGluZS0+cmFuZ2UuZW5k
Ci0gICAgICAgICAgICAgICAgICAgIHx8IChwcmV2aW91c0xpbmUtPm92ZXJmbG93Q29udGVudExl
bmd0aCAmJiBwcmV2aW91c0xpbmUtPm92ZXJmbG93Q29udGVudExlbmd0aCA+IGxpbmVDb250ZW50
LnBhcnRpYWxUcmFpbGluZ0NvbnRlbnRMZW5ndGgpOworICAgICAgICAgICAgICAgICAgICB8fCAo
cHJldmlvdXNMaW5lLT5vdmVyZmxvd0NvbnRlbnQgJiYgcHJldmlvdXNMaW5lLT5vdmVyZmxvd0Nv
bnRlbnQtPnBhcnRpYWxDb250ZW50TGVuZ3RoID4gbGluZUNvbnRlbnQucGFydGlhbFRyYWlsaW5n
Q29udGVudExlbmd0aCk7CiAgICAgICAgICAgICAgICAgaWYgKCFsaW5lTGF5b3V0SGFzQWR2YW5j
ZWQpIHsKICAgICAgICAgICAgICAgICAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CiAgICAgICAg
ICAgICAgICAgICAgIC8vIE1vdmUgb3ZlciB0byB0aGUgbmV4dCBydW4gaWYgd2UgYXJlIHN0dWNr
IG9uIHRoaXMgcGFydGlhbCBjb250ZW50ICh3aGVuIHRoZSBvdmVyZmxvdyBjb250ZW50IGxlbmd0
aCByZW1haW5zIHRoZSBzYW1lKS4KQEAgLTI1MSw3ICsyNDAsMTIgQEAgdm9pZCBJbmxpbmVGb3Jt
YXR0aW5nQ29udGV4dDo6bGluZUxheW91dChJbmxpbmVJdGVtcyYgaW5saW5lSXRlbXMsIExpbmVC
dWlsZGVyOjoKICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICB9CiAgICAgICAgICAgICBu
ZWVkc0xheW91dFJhbmdlLnN0YXJ0ID0gbGFzdElubGluZUl0ZW1OZWVkc1BhcnRpYWxMYXlvdXQg
PyBsaW5lQ29udGVudFJhbmdlLmVuZCAtIDEgOiBsaW5lQ29udGVudFJhbmdlLmVuZDsKLSAgICAg
ICAgICAgIHByZXZpb3VzTGluZSA9IFByZXZpb3VzTGluZSB7IGxpbmVDb250ZW50UmFuZ2UsIGxp
bmVDb250ZW50LnBhcnRpYWxUcmFpbGluZ0NvbnRlbnRMZW5ndGgsIGxpbmVDb250ZW50Lm92ZXJm
bG93TG9naWNhbFdpZHRoIH07CisgICAgICAgICAgICBhdXRvIG92ZXJmbG93Q29udGVudCA9IHN0
ZDo6b3B0aW9uYWw8TGluZUJ1aWxkZXI6OlByZXZpb3VzTGluZTo6T3ZlcmZsb3dDb250ZW50PiB7
IH07CisgICAgICAgICAgICBpZiAobGluZUNvbnRlbnQucGFydGlhbFRyYWlsaW5nQ29udGVudExl
bmd0aCkKKyAgICAgICAgICAgICAgICBvdmVyZmxvd0NvbnRlbnQgPSB7IGxpbmVDb250ZW50LnBh
cnRpYWxUcmFpbGluZ0NvbnRlbnRMZW5ndGgsIGxpbmVDb250ZW50Lm92ZXJmbG93TG9naWNhbFdp
ZHRoIH07CisgICAgICAgICAgICBlbHNlIGlmIChsaW5lQ29udGVudC5vdmVyZmxvd0xvZ2ljYWxX
aWR0aCkKKyAgICAgICAgICAgICAgICBvdmVyZmxvd0NvbnRlbnQgPSB7IHsgfSwgKmxpbmVDb250
ZW50Lm92ZXJmbG93TG9naWNhbFdpZHRoIH07CisgICAgICAgICAgICBwcmV2aW91c0xpbmUgPSBM
aW5lQnVpbGRlcjo6UHJldmlvdXNMaW5lIHsgbGluZUNvbnRlbnRSYW5nZSwgb3ZlcmZsb3dDb250
ZW50IH07CiAgICAgICAgICAgICBjb250aW51ZTsKICAgICAgICAgfQogICAgICAgICAvLyBGbG9h
dHMgcHJldmVudGVkIHVzIHBsYWNpbmcgYW55IGNvbnRlbnQgb24gdGhlIGxpbmUuCkBAIC00NDAs
MTIgKzQzNCwxMiBAQCBJbmxpbmVMYXlvdXRVbml0IElubGluZUZvcm1hdHRpbmdDb250ZXh0Ojpj
b21wdXRlZEludHJpbnNpY1dpZHRoRm9yQ29uc3RyYWludChJbgogICAgIGF1dG8gbGF5b3V0UmFu
Z2UgPSBMaW5lQnVpbGRlcjo6SW5saW5lSXRlbVJhbmdlIHsgMCAsIGlubGluZUl0ZW1zLnNpemUo
KSB9OwogICAgIGF1dG8gbWF4aW11bUxpbmVXaWR0aCA9IElubGluZUxheW91dFVuaXQgeyB9Owog
ICAgIGF1dG8gbWF4aW11bUZsb2F0V2lkdGggPSBMYXlvdXRVbml0IHsgfTsKLSAgICBhdXRvIGlz
Rmlyc3RMaW5lID0gdHJ1ZTsKKyAgICBhdXRvIHByZXZpb3VzTGluZSA9IHN0ZDo6b3B0aW9uYWw8
TGluZUJ1aWxkZXI6OlByZXZpb3VzTGluZT4geyB9OwogICAgIHdoaWxlICghbGF5b3V0UmFuZ2Uu
aXNFbXB0eSgpKSB7Ci0gICAgICAgIGF1dG8gaW50cmluc2ljQ29udGVudCA9IGxpbmVCdWlsZGVy
LmNvbXB1dGVkSW50cmluc2ljV2lkdGgobGF5b3V0UmFuZ2UsIGlzRmlyc3RMaW5lKTsKKyAgICAg
ICAgYXV0byBpbnRyaW5zaWNDb250ZW50ID0gbGluZUJ1aWxkZXIuY29tcHV0ZWRJbnRyaW5zaWNX
aWR0aChsYXlvdXRSYW5nZSwgcHJldmlvdXNMaW5lKTsKICAgICAgICAgbGF5b3V0UmFuZ2Uuc3Rh
cnQgPSBpbnRyaW5zaWNDb250ZW50LmlubGluZUl0ZW1SYW5nZS5lbmQ7CiAgICAgICAgIG1heGlt
dW1MaW5lV2lkdGggPSBzdGQ6Om1heChtYXhpbXVtTGluZVdpZHRoLCBpbnRyaW5zaWNDb250ZW50
LmxvZ2ljYWxXaWR0aCk7Ci0gICAgICAgIGlzRmlyc3RMaW5lID0gZmFsc2U7CisgICAgICAgIHBy
ZXZpb3VzTGluZSA9IExpbmVCdWlsZGVyOjpQcmV2aW91c0xpbmUgeyB9OwogICAgICAgICAvLyBG
SVhNRTogQWRkIHN1cHBvcnQgZm9yIGNsZWFyLgogICAgICAgICBmb3IgKGF1dG8qIGZsb2F0Qm94
IDogaW50cmluc2ljQ29udGVudC5mbG9hdHMpCiAgICAgICAgICAgICBtYXhpbXVtRmxvYXRXaWR0
aCArPSBnZW9tZXRyeUZvckJveCgqZmxvYXRCb3gpLm1hcmdpbkJveFdpZHRoKCk7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvZm9ybWF0dGluZ0NvbnRleHRzL2lubGluZS9Jbmxp
bmVMaW5lQnVpbGRlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvZm9ybWF0dGluZ0NvbnRl
eHRzL2lubGluZS9JbmxpbmVMaW5lQnVpbGRlci5jcHAKaW5kZXggNWM2OWYwNzQzN2ZlYzZmMjZl
OTY0MzU3ZmI2YTI2ZmRmZjA0NTZjMy4uMjFkN2RlN2IwOTkwZWM2M2U2NzM0NzM4NDZiMTRlYzFm
YzgzYWQ4MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L2Zvcm1hdHRpbmdDb250
ZXh0cy9pbmxpbmUvSW5saW5lTGluZUJ1aWxkZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xh
eW91dC9mb3JtYXR0aW5nQ29udGV4dHMvaW5saW5lL0lubGluZUxpbmVCdWlsZGVyLmNwcApAQCAt
MzA1LDkgKzMwNSw5IEBAIHN0cnVjdCBVc2VkQ29uc3RyYWludHMgewogICAgIElubGluZUxheW91
dFVuaXQgbWFyZ2luU3RhcnQgeyAwIH07CiAgICAgYm9vbCBpc0NvbnN0cmFpbmVkQnlGbG9hdCB7
IGZhbHNlIH07CiB9OwotTGluZUJ1aWxkZXI6OkxpbmVDb250ZW50IExpbmVCdWlsZGVyOjpsYXlv
dXRJbmxpbmVDb250ZW50KGNvbnN0IElubGluZUl0ZW1SYW5nZSYgbmVlZHNMYXlvdXRSYW5nZSwg
c2l6ZV90IHBhcnRpYWxMZWFkaW5nQ29udGVudExlbmd0aCwgc3RkOjpvcHRpb25hbDxJbmxpbmVM
YXlvdXRVbml0PiBvdmVyZmxvd2luZ0xvZ2ljYWxXaWR0aCwgY29uc3QgSW5saW5lUmVjdCYgaW5p
dGlhbExpbmVMb2dpY2FsUmVjdCwgYm9vbCBpc0ZpcnN0TGluZSkKK0xpbmVCdWlsZGVyOjpMaW5l
Q29udGVudCBMaW5lQnVpbGRlcjo6bGF5b3V0SW5saW5lQ29udGVudChjb25zdCBJbmxpbmVJdGVt
UmFuZ2UmIG5lZWRzTGF5b3V0UmFuZ2UsIGNvbnN0IElubGluZVJlY3QmIGxpbmVMb2dpY2FsUmVj
dCwgY29uc3Qgc3RkOjpvcHRpb25hbDxQcmV2aW91c0xpbmU+JiBwcmV2aW91c0xpbmUpCiB7Ci0g
ICAgaW5pdGlhbGl6ZShpbml0aWFsQ29uc3RyYWludHNGb3JMaW5lKGluaXRpYWxMaW5lTG9naWNh
bFJlY3QsIGlzRmlyc3RMaW5lKSwgaXNGaXJzdExpbmUsIG5lZWRzTGF5b3V0UmFuZ2Uuc3RhcnQs
IHBhcnRpYWxMZWFkaW5nQ29udGVudExlbmd0aCwgb3ZlcmZsb3dpbmdMb2dpY2FsV2lkdGgpOwor
ICAgIGluaXRpYWxpemUoaW5pdGlhbENvbnN0cmFpbnRzRm9yTGluZShsaW5lTG9naWNhbFJlY3Qs
ICFwcmV2aW91c0xpbmUpLCBuZWVkc0xheW91dFJhbmdlLnN0YXJ0LCBwcmV2aW91c0xpbmUpOwog
CiAgICAgYXV0byBjb21taXR0ZWRDb250ZW50ID0gcGxhY2VJbmxpbmVDb250ZW50KG5lZWRzTGF5
b3V0UmFuZ2UpOwogICAgIGF1dG8gY29tbWl0dGVkUmFuZ2UgPSBjbG9zZShuZWVkc0xheW91dFJh
bmdlLCBjb21taXR0ZWRDb250ZW50KTsKQEAgLTM2MSwxMiArMzYxLDEyIEBAIExpbmVCdWlsZGVy
OjpMaW5lQ29udGVudCBMaW5lQnVpbGRlcjo6bGF5b3V0SW5saW5lQ29udGVudChjb25zdCBJbmxp
bmVJdGVtUmFuZ2UmCiAgICAgICAgICwgbGluZVJ1bnMgfTsKIH0KIAotTGluZUJ1aWxkZXI6Oklu
dHJpbnNpY0NvbnRlbnQgTGluZUJ1aWxkZXI6OmNvbXB1dGVkSW50cmluc2ljV2lkdGgoY29uc3Qg
SW5saW5lSXRlbVJhbmdlJiBuZWVkc0xheW91dFJhbmdlLCBib29sIGlzRmlyc3RMaW5lKQorTGlu
ZUJ1aWxkZXI6OkludHJpbnNpY0NvbnRlbnQgTGluZUJ1aWxkZXI6OmNvbXB1dGVkSW50cmluc2lj
V2lkdGgoY29uc3QgSW5saW5lSXRlbVJhbmdlJiBuZWVkc0xheW91dFJhbmdlLCBjb25zdCBzdGQ6
Om9wdGlvbmFsPFByZXZpb3VzTGluZT4mIHByZXZpb3VzTGluZSkKIHsKICAgICBBU1NFUlQoaXNJ
bkludHJpbnNpY1dpZHRoTW9kZSgpKTsKICAgICBhdXRvIGxpbmVMb2dpY2FsV2lkdGggPSAqaW50
cmluc2ljV2lkdGhNb2RlKCkgPT0gSW50cmluc2ljV2lkdGhNb2RlOjpNYXhpbXVtID8gbWF4SW5s
aW5lTGF5b3V0VW5pdCgpIDogMC5mOwotICAgIGF1dG8gbGluZUNvbnN0cmFpbnRzID0gaW5pdGlh
bENvbnN0cmFpbnRzRm9yTGluZSh7IDAsIDAsIGxpbmVMb2dpY2FsV2lkdGgsIDAgfSwgaXNGaXJz
dExpbmUpOwotICAgIGluaXRpYWxpemUobGluZUNvbnN0cmFpbnRzLCBpc0ZpcnN0TGluZSwgbmVl
ZHNMYXlvdXRSYW5nZS5zdGFydCwgeyB9LCB7IH0pOworICAgIGF1dG8gbGluZUNvbnN0cmFpbnRz
ID0gaW5pdGlhbENvbnN0cmFpbnRzRm9yTGluZSh7IDAsIDAsIGxpbmVMb2dpY2FsV2lkdGgsIDAg
fSwgIXByZXZpb3VzTGluZSk7CisgICAgaW5pdGlhbGl6ZShsaW5lQ29uc3RyYWludHMsIG5lZWRz
TGF5b3V0UmFuZ2Uuc3RhcnQsIHByZXZpb3VzTGluZSk7CiAKICAgICBhdXRvIGNvbW1pdHRlZENv
bnRlbnQgPSBwbGFjZUlubGluZUNvbnRlbnQobmVlZHNMYXlvdXRSYW5nZSk7CiAgICAgYXV0byBj
b21taXR0ZWRSYW5nZSA9IGNsb3NlKG5lZWRzTGF5b3V0UmFuZ2UsIGNvbW1pdHRlZENvbnRlbnQp
OwpAQCAtMzc0LDEyICszNzQsMTQgQEAgTGluZUJ1aWxkZXI6OkludHJpbnNpY0NvbnRlbnQgTGlu
ZUJ1aWxkZXI6OmNvbXB1dGVkSW50cmluc2ljV2lkdGgoY29uc3QgSW5saW5lSXQKICAgICByZXR1
cm4geyBjb21taXR0ZWRSYW5nZSwgbGluZVdpZHRoLCBtX2Zsb2F0cyB9OwogfQogCi12b2lkIExp
bmVCdWlsZGVyOjppbml0aWFsaXplKGNvbnN0IFVzZWRDb25zdHJhaW50cyYgbGluZUNvbnN0cmFp
bnRzLCBib29sIGlzRmlyc3RMaW5lLCBzaXplX3QgbGVhZGluZ0lubGluZUl0ZW1JbmRleCwgc2l6
ZV90IHBhcnRpYWxMZWFkaW5nQ29udGVudExlbmd0aCwgc3RkOjpvcHRpb25hbDxJbmxpbmVMYXlv
dXRVbml0PiBvdmVyZmxvd2luZ0xvZ2ljYWxXaWR0aCkKK3ZvaWQgTGluZUJ1aWxkZXI6OmluaXRp
YWxpemUoY29uc3QgVXNlZENvbnN0cmFpbnRzJiBsaW5lQ29uc3RyYWludHMsIHNpemVfdCBsZWFk
aW5nSW5saW5lSXRlbUluZGV4LCBjb25zdCBzdGQ6Om9wdGlvbmFsPFByZXZpb3VzTGluZT4mIHBy
ZXZpb3VzTGluZSkKIHsKLSAgICBtX2lzRmlyc3RMaW5lID0gaXNGaXJzdExpbmU7CisgICAgbV9p
c0ZpcnN0TGluZSA9ICFwcmV2aW91c0xpbmU7CiAgICAgbV9mbG9hdHMuY2xlYXIoKTsKICAgICBt
X2xpbmVTcGFubmluZ0lubGluZUJveGVzLmNsZWFyKCk7CiAgICAgbV93cmFwT3Bwb3J0dW5pdHlM
aXN0LmNsZWFyKCk7CisgICAgbV9vdmVyZmxvd2luZ0xvZ2ljYWxXaWR0aCA9IHsgfTsKKyAgICBt
X3BhcnRpYWxMZWFkaW5nVGV4dEl0ZW0gPSB7IH07CiAKICAgICBhdXRvIGNyZWF0ZUxpbmVTcGFu
bmluZ0lubGluZUJveGVzID0gWyZdIHsKICAgICAgICAgYXV0byBpc1Jvb3RMYXlvdXRCb3ggPSBb
Jl0oYXV0byYgY29udGFpbmVyQm94KSB7CkBAIC00MjIsMTMgKzQyNCwxMyBAQCB2b2lkIExpbmVC
dWlsZGVyOjppbml0aWFsaXplKGNvbnN0IFVzZWRDb25zdHJhaW50cyYgbGluZUNvbnN0cmFpbnRz
LCBib29sIGlzRmlycwogICAgIG1fbGluZUxvZ2ljYWxSZWN0LmV4cGFuZEhvcml6b250YWxseSgt
bV9saW5lTWFyZ2luU3RhcnQpOwogICAgIG1fY29udGVudElzQ29uc3RyYWluZWRCeUZsb2F0ID0g
bGluZUNvbnN0cmFpbnRzLmlzQ29uc3RyYWluZWRCeUZsb2F0OwogCi0gICAgaWYgKHBhcnRpYWxM
ZWFkaW5nQ29udGVudExlbmd0aCkgewotICAgICAgICBBU1NFUlQoIWlzRmlyc3RMaW5lKTsKLSAg
ICAgICAgbV9wYXJ0aWFsTGVhZGluZ1RleHRJdGVtID0gZG93bmNhc3Q8SW5saW5lVGV4dEl0ZW0+
KG1faW5saW5lSXRlbXNbbGVhZGluZ0lubGluZUl0ZW1JbmRleF0pLnJpZ2h0KHBhcnRpYWxMZWFk
aW5nQ29udGVudExlbmd0aCwgb3ZlcmZsb3dpbmdMb2dpY2FsV2lkdGgpOwotICAgICAgICBtX292
ZXJmbG93aW5nTG9naWNhbFdpZHRoID0geyB9OwotICAgIH0gZWxzZSB7Ci0gICAgICAgIG1fcGFy
dGlhbExlYWRpbmdUZXh0SXRlbSA9IHsgfTsKLSAgICAgICAgbV9vdmVyZmxvd2luZ0xvZ2ljYWxX
aWR0aCA9IG92ZXJmbG93aW5nTG9naWNhbFdpZHRoOworICAgIGlmIChwcmV2aW91c0xpbmUgJiYg
cHJldmlvdXNMaW5lLT5vdmVyZmxvd0NvbnRlbnQpIHsKKyAgICAgICAgaWYgKHByZXZpb3VzTGlu
ZS0+b3ZlcmZsb3dDb250ZW50LT5wYXJ0aWFsQ29udGVudExlbmd0aCkgeworICAgICAgICAgICAg
Ly8gVHVybiBwcmV2aW91cyBsaW5lJ3Mgb3ZlcmZsb3cgY29udGVudCBsZW5ndGggaW50byB0aGUg
bmV4dCBsaW5lJ3MgbGVhZGluZyBjb250ZW50IHBhcnRpYWwgbGVuZ3RoLgorICAgICAgICAgICAg
Ly8gInNwWzwtbGluZSBicmVhay0+XWxpdF9jb250ZW50IiAtPiBvdmVyZmxvdyBsZW5ndGg6IDEx
IC0+IGxlYWRpbmcgcGFydGlhbCBjb250ZW50IGxlbmd0aDogMTEuCisgICAgICAgICAgICBtX3Bh
cnRpYWxMZWFkaW5nVGV4dEl0ZW0gPSBkb3duY2FzdDxJbmxpbmVUZXh0SXRlbT4obV9pbmxpbmVJ
dGVtc1tsZWFkaW5nSW5saW5lSXRlbUluZGV4XSkucmlnaHQocHJldmlvdXNMaW5lLT5vdmVyZmxv
d0NvbnRlbnQtPnBhcnRpYWxDb250ZW50TGVuZ3RoLCBwcmV2aW91c0xpbmUtPm92ZXJmbG93Q29u
dGVudC0+d2lkdGgpOworICAgICAgICB9IGVsc2UKKyAgICAgICAgICAgIG1fb3ZlcmZsb3dpbmdM
b2dpY2FsV2lkdGggPSBwcmV2aW91c0xpbmUtPm92ZXJmbG93Q29udGVudC0+d2lkdGg7CiAgICAg
fQogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvZm9ybWF0dGluZ0NvbnRl
eHRzL2lubGluZS9JbmxpbmVMaW5lQnVpbGRlci5oIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0L2Zv
cm1hdHRpbmdDb250ZXh0cy9pbmxpbmUvSW5saW5lTGluZUJ1aWxkZXIuaAppbmRleCAyMTk2MWRj
ZWRmYjAzYzdjZmMwM2VkYTQyNDFlOTMzYWUyZWU5N2U2Li45NTRlZDM4N2MxNWIwMTk1NjkzOWE2
ZmQwNjM0Zjc0ZjRkMTQwMGUxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvZm9y
bWF0dGluZ0NvbnRleHRzL2lubGluZS9JbmxpbmVMaW5lQnVpbGRlci5oCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL2xheW91dC9mb3JtYXR0aW5nQ29udGV4dHMvaW5saW5lL0lubGluZUxpbmVCdWlsZGVy
LmgKQEAgLTUwLDYgKzUwLDE0IEBAIHB1YmxpYzoKICAgICAgICAgc2l6ZV90IHN0YXJ0IHsgMCB9
OwogICAgICAgICBzaXplX3QgZW5kIHsgMCB9OwogICAgIH07CisgICAgc3RydWN0IFByZXZpb3Vz
TGluZSB7CisgICAgICAgIElubGluZUl0ZW1SYW5nZSByYW5nZTsKKyAgICAgICAgc3RydWN0IE92
ZXJmbG93Q29udGVudCB7CisgICAgICAgICAgICBzaXplX3QgcGFydGlhbENvbnRlbnRMZW5ndGgg
eyAwIH07CisgICAgICAgICAgICBzdGQ6Om9wdGlvbmFsPElubGluZUxheW91dFVuaXQ+IHdpZHRo
IHsgfTsKKyAgICAgICAgfTsKKyAgICAgICAgc3RkOjpvcHRpb25hbDxPdmVyZmxvd0NvbnRlbnQ+
IG92ZXJmbG93Q29udGVudCB7IH07CisgICAgfTsKICAgICB1c2luZyBGbG9hdExpc3QgPSBWZWN0
b3I8Y29uc3QgQm94Kj47CiAgICAgc3RydWN0IExpbmVDb250ZW50IHsKICAgICAgICAgSW5saW5l
SXRlbVJhbmdlIGlubGluZUl0ZW1SYW5nZTsKQEAgLTY4LDE0ICs3NiwxNCBAQCBwdWJsaWM6CiAg
ICAgICAgIFZlY3RvcjxpbnQzMl90PiB2aXN1YWxPcmRlckxpc3Q7CiAgICAgICAgIGNvbnN0IExp
bmU6OlJ1bkxpc3QmIHJ1bnM7CiAgICAgfTsKLSAgICBMaW5lQ29udGVudCBsYXlvdXRJbmxpbmVD
b250ZW50KGNvbnN0IElubGluZUl0ZW1SYW5nZSYsIHNpemVfdCBwYXJ0aWFsTGVhZGluZ0NvbnRl
bnRMZW5ndGgsIHN0ZDo6b3B0aW9uYWw8SW5saW5lTGF5b3V0VW5pdD4gb3ZlcmZsb3dpbmdMb2dp
Y2FsV2lkdGgsIGNvbnN0IElubGluZVJlY3QmIGluaXRpYWxMaW5lTG9naWNhbFJlY3QsIGJvb2wg
aXNGaXJzdExpbmUpOworICAgIExpbmVDb250ZW50IGxheW91dElubGluZUNvbnRlbnQoY29uc3Qg
SW5saW5lSXRlbVJhbmdlJiwgY29uc3QgSW5saW5lUmVjdCYgbGluZUxvZ2ljYWxSZWN0LCBjb25z
dCBzdGQ6Om9wdGlvbmFsPFByZXZpb3VzTGluZT4mKTsKIAogICAgIHN0cnVjdCBJbnRyaW5zaWND
b250ZW50IHsKICAgICAgICAgSW5saW5lSXRlbVJhbmdlIGlubGluZUl0ZW1SYW5nZTsKICAgICAg
ICAgSW5saW5lTGF5b3V0VW5pdCBsb2dpY2FsV2lkdGggeyAwIH07CiAgICAgICAgIGNvbnN0IEZs
b2F0TGlzdCYgZmxvYXRzOwogICAgIH07Ci0gICAgSW50cmluc2ljQ29udGVudCBjb21wdXRlZElu
dHJpbnNpY1dpZHRoKGNvbnN0IElubGluZUl0ZW1SYW5nZSYsIGJvb2wgaXNGaXJzdExpbmUpOwor
ICAgIEludHJpbnNpY0NvbnRlbnQgY29tcHV0ZWRJbnRyaW5zaWNXaWR0aChjb25zdCBJbmxpbmVJ
dGVtUmFuZ2UmLCBjb25zdCBzdGQ6Om9wdGlvbmFsPFByZXZpb3VzTGluZT4mKTsKIAogcHJpdmF0
ZToKICAgICB2b2lkIGNhbmRpZGF0ZUNvbnRlbnRGb3JMaW5lKExpbmVDYW5kaWRhdGUmLCBzaXpl
X3QgaW5saW5lSXRlbUluZGV4LCBjb25zdCBJbmxpbmVJdGVtUmFuZ2UmIG5lZWRzTGF5b3V0UmFu
Z2UsIElubGluZUxheW91dFVuaXQgY3VycmVudExvZ2ljYWxSaWdodCk7CkBAIC05OSw3ICsxMDcs
NyBAQCBwcml2YXRlOgogICAgIHNpemVfdCByZWJ1aWxkTGluZShjb25zdCBJbmxpbmVJdGVtUmFu
Z2UmIG5lZWRzTGF5b3V0UmFuZ2UsIGNvbnN0IElubGluZUl0ZW0mIGxhc3RJbmxpbmVJdGVtVG9B
ZGQpOwogICAgIHNpemVfdCByZWJ1aWxkTGluZUZvclRyYWlsaW5nU29mdEh5cGhlbihjb25zdCBJ
bmxpbmVJdGVtUmFuZ2UmIGxheW91dFJhbmdlKTsKICAgICB2b2lkIGNvbW1pdFBhcnRpYWxDb250
ZW50KGNvbnN0IElubGluZUNvbnRlbnRCcmVha2VyOjpDb250aW51b3VzQ29udGVudDo6UnVuTGlz
dCYsIGNvbnN0IElubGluZUNvbnRlbnRCcmVha2VyOjpSZXN1bHQ6OlBhcnRpYWxUcmFpbGluZ0Nv
bnRlbnQmKTsKLSAgICB2b2lkIGluaXRpYWxpemUoY29uc3QgVXNlZENvbnN0cmFpbnRzJiwgYm9v
bCBpc0ZpcnN0TGluZSwgc2l6ZV90IGxlYWRpbmdJbmxpbmVUZXh0SXRlbUluZGV4LCBzaXplX3Qg
cGFydGlhbExlYWRpbmdDb250ZW50TGVuZ3RoLCBzdGQ6Om9wdGlvbmFsPElubGluZUxheW91dFVu
aXQ+IG92ZXJmbG93aW5nTG9naWNhbFdpZHRoKTsKKyAgICB2b2lkIGluaXRpYWxpemUoY29uc3Qg
VXNlZENvbnN0cmFpbnRzJiwgc2l6ZV90IGxlYWRpbmdJbmxpbmVUZXh0SXRlbUluZGV4LCBjb25z
dCBzdGQ6Om9wdGlvbmFsPFByZXZpb3VzTGluZT4mKTsKICAgICBzdHJ1Y3QgQ29tbWl0dGVkQ29u
dGVudCB7CiAgICAgICAgIHNpemVfdCBpbmxpbmVJdGVtQ291bnQgeyAwIH07CiAgICAgICAgIHNp
emVfdCBwYXJ0aWFsVHJhaWxpbmdDb250ZW50TGVuZ3RoIHsgMCB9Owo=
</data>

          </attachment>
      

    </bug>

</bugzilla>