<?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>232091</bug_id>
          
          <creation_ts>2021-10-21 09:29:56 -0700</creation_ts>
          <short_desc>[LFC][IFC] Add support for checking leading collapsible whitespace in InlineContentBreaker::processOverflowingContent</short_desc>
          <delta_ts>2021-10-22 06:45:15 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>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>1807210</commentid>
    <comment_count>0</comment_count>
    <who name="alan">zalan</who>
    <bug_when>2021-10-21 09:29:56 -0700</bug_when>
    <thetext>ssia</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1807214</commentid>
    <comment_count>1</comment_count>
      <attachid>442043</attachid>
    <who name="alan">zalan</who>
    <bug_when>2021-10-21 09:39:20 -0700</bug_when>
    <thetext>Created attachment 442043
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1807415</commentid>
    <comment_count>2</comment_count>
      <attachid>442079</attachid>
    <who name="alan">zalan</who>
    <bug_when>2021-10-21 16:05:56 -0700</bug_when>
    <thetext>Created attachment 442079
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1807646</commentid>
    <comment_count>3</comment_count>
      <attachid>442079</attachid>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2021-10-22 06:02:43 -0700</bug_when>
    <thetext>Comment on attachment 442079
Patch

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

&gt; Source/WebCore/ChangeLog:12
&gt; +
&gt; +        This patch ensures that the leading collapsible whitespace on the continuous run is taken
&gt; +        into account when checking if the otherwise overflowing content may fit the line.
&gt; +        e.g.
&gt; +        &lt;span style=&quot;white-space: nowrap&quot;&gt;no_wrap &lt;/span&gt;&lt;span&gt; yes_wrap&lt;/span&gt;
&gt; +        The &quot; yes_wrap&quot; content has a collapsible leading whitespace here. 

This could mention that the tests are part of the upcoming patches.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1807648</commentid>
    <comment_count>4</comment_count>
      <attachid>442156</attachid>
    <who name="alan">zalan</who>
    <bug_when>2021-10-22 06:08:45 -0700</bug_when>
    <thetext>Created attachment 442156
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1807655</commentid>
    <comment_count>5</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2021-10-22 06:44:08 -0700</bug_when>
    <thetext>Committed r284678 (243398@main): &lt;https://commits.webkit.org/243398@main&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 442156.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1807656</commentid>
    <comment_count>6</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2021-10-22 06:45:15 -0700</bug_when>
    <thetext>&lt;rdar://problem/84547740&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>442043</attachid>
            <date>2021-10-21 09:39:20 -0700</date>
            <delta_ts>2021-10-21 16:05:54 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-232091-20211021093919.patch</filename>
            <type>text/plain</type>
            <size>10004</size>
            <attacher name="alan">zalan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg0NTg4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNThmMmU0NjhkM2UxN2Uw
NDNkNWU3M2NkMTcyMzZmNTAyNTcxNWVkMC4uYWQ4YWE1ZjFhYjMxNDg1NzEzNzJjNjI5ZTQ4Yjc2
M2JlOGM2NTUxYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMwIEBACisyMDIxLTEwLTIxICBBbGFu
IEJ1anRhcyAgPHphbGFuQGFwcGxlLmNvbT4KKworICAgICAgICBbTEZDXVtJRkNdIEFkZCBzdXBw
b3J0IGZvciBjaGVja2luZyBsZWFkaW5nIGNvbGxhcHNpYmxlIHdoaXRlc3BhY2UgaW4gSW5saW5l
Q29udGVudEJyZWFrZXI6OnByb2Nlc3NPdmVyZmxvd2luZ0NvbnRlbnQKKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIzMjA5MQorCisgICAgICAgIFJldmll
d2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFRoaXMgcGF0Y2ggZW5zdXJlcyB0aGF0
IHRoZSBsZWFkaW5nIGNvbGxhcHNpYmxlIHdoaXRlc3BhY2Ugb24gdGhlIGNvbnRpbnVvdXMgcnVu
IGlzIHRha2VuCisgICAgICAgIGludG8gYWNjb3VudCB3aGVuIGNoZWNraW5nIGlmIHRoZSBvdGhl
cndpc2Ugb3ZlcmZsb3dpbmcgY29udGVudCBtYXkgZml0IHRoZSBsaW5lLgorICAgICAgICBlLmcu
CisgICAgICAgIDxzcGFuIHN0eWxlPSJ3aGl0ZS1zcGFjZTogbm93cmFwIj5ub193cmFwIDwvc3Bh
bj48c3Bhbj4geWVzX3dyYXA8L3NwYW4+CisgICAgICAgIFRoZSAiIHllc193cmFwIiBjb250ZW50
IGhhcyBhIGNvbGxhcHNpYmxlIGxlYWRpbmcgd2hpdGVzcGFjZSBoZXJlLiAKKworICAgICAgICAq
IGxheW91dC9mb3JtYXR0aW5nQ29udGV4dHMvaW5saW5lL0lubGluZUNvbnRlbnRCcmVha2VyLmNw
cDoKKyAgICAgICAgKFdlYkNvcmU6OkxheW91dDo6aXNWaXN1YWxseUVtcHR5V2hpdGVzcGFjZUNv
bnRlbnQpOgorICAgICAgICAoV2ViQ29yZTo6TGF5b3V0OjpJbmxpbmVDb250ZW50QnJlYWtlcjo6
cHJvY2Vzc092ZXJmbG93aW5nQ29udGVudCBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpMYXlv
dXQ6OklubGluZUNvbnRlbnRCcmVha2VyOjpDb250aW51b3VzQ29udGVudDo6YXBwZW5kKToKKyAg
ICAgICAgKFdlYkNvcmU6OkxheW91dDo6SW5saW5lQ29udGVudEJyZWFrZXI6OkNvbnRpbnVvdXND
b250ZW50OjpyZXNldCk6CisgICAgICAgICogbGF5b3V0L2Zvcm1hdHRpbmdDb250ZXh0cy9pbmxp
bmUvSW5saW5lQ29udGVudEJyZWFrZXIuaDoKKyAgICAgICAgKFdlYkNvcmU6OkxheW91dDo6SW5s
aW5lQ29udGVudEJyZWFrZXI6OkNvbnRpbnVvdXNDb250ZW50OjpsZWFkaW5nQ29sbGFwc2libGVX
aWR0aCBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpMYXlvdXQ6OklubGluZUNvbnRlbnRCcmVh
a2VyOjpDb250aW51b3VzQ29udGVudDo6dHJhaWxpbmdDb2xsYXBzaWJsZVdpZHRoIGNvbnN0KToK
KyAgICAgICAgKFdlYkNvcmU6OkxheW91dDo6SW5saW5lQ29udGVudEJyZWFrZXI6OkNvbnRpbnVv
dXNDb250ZW50OjpoYXNDb2xsYXBzaWJsZUNvbnRlbnQgY29uc3QpOgorICAgICAgICAoV2ViQ29y
ZTo6TGF5b3V0OjpJbmxpbmVDb250ZW50QnJlYWtlcjo6Q29udGludW91c0NvbnRlbnQ6OmlzRnVs
bHlDb2xsYXBzaWJsZSBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpMYXlvdXQ6OklubGluZUNv
bnRlbnRCcmVha2VyOjpDb250aW51b3VzQ29udGVudDo6Y29sbGFwc2libGVMb2dpY2FsV2lkdGgg
Y29uc3QpOiBEZWxldGVkLgorICAgICAgICAoV2ViQ29yZTo6TGF5b3V0OjpJbmxpbmVDb250ZW50
QnJlYWtlcjo6Q29udGludW91c0NvbnRlbnQ6Om5vbkNvbGxhcHNpYmxlTG9naWNhbFdpZHRoIGNv
bnN0KTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6OkxheW91dDo6SW5saW5lQ29udGVudEJy
ZWFrZXI6OkNvbnRpbnVvdXNDb250ZW50OjpoYXNUcmFpbGluZ0NvbGxhcHNpYmxlQ29udGVudCBj
b25zdCk6IERlbGV0ZWQuCisKIDIwMjEtMTAtMjAgIEJldGggRGFraW4gIDxiZGFraW5AYXBwbGUu
Y29tPiBhbmQgRGFuYSBFc3RyYSA8ZGVzdHJhQGFwcGxlLmNvbT4KIAogICAgICAgICBtYWNPUyBr
ZXktZHJpdmVuIHNtb290aCBzY3JvbGxpbmcgZG9lcyBub3Qgc3RvcCB3aGVuIGZvY3VzIGNoYW5n
ZXMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xheW91dC9mb3JtYXR0aW5nQ29udGV4dHMv
aW5saW5lL0lubGluZUNvbnRlbnRCcmVha2VyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2xheW91dC9m
b3JtYXR0aW5nQ29udGV4dHMvaW5saW5lL0lubGluZUNvbnRlbnRCcmVha2VyLmNwcAppbmRleCA3
NjNjYWQwYTM1ZDE0OTlkZWM0YThhY2E3MjkyOGMxNjkzNGIyMTEwLi5iMjU1NGMwYmY3NzZhZmIz
MjQ4NGYwYTAyNTA3ZjUyMzZkMDg3YWRhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sYXlv
dXQvZm9ybWF0dGluZ0NvbnRleHRzL2lubGluZS9JbmxpbmVDb250ZW50QnJlYWtlci5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvbGF5b3V0L2Zvcm1hdHRpbmdDb250ZXh0cy9pbmxpbmUvSW5saW5l
Q29udGVudEJyZWFrZXIuY3BwCkBAIC05NywxNSArOTcsMTYgQEAgc3RhdGljIGlubGluZSBib29s
IGlzVmlzdWFsbHlFbXB0eVdoaXRlc3BhY2VDb250ZW50KGNvbnN0IElubGluZUNvbnRlbnRCcmVh
a2VyOjoKIHsKICAgICAvLyBbPHNwYW4+PC9zcGFuPiBdIFs8c3Bhbj4gPC9zcGFuPl0gWyA8c3Bh
biBzdHlsZT0icGFkZGluZzogMHB4OyI+PC9zcGFuPl0gYXJlIGFsbCBjb25zaWRlcmVkIHZpc3Vh
bGx5IGVtcHR5IHdoaXRlc3BhY2UgY29udGVudC4KICAgICAvLyBbPHNwYW4gc3R5bGU9ImJvcmRl
cjogMXB4IHNvbGlkIHJlZCI+PC9zcGFuPiBdIHdoaWxlIHRoaXMgaXMgd2hpdGVzcGFjZSBjb250
ZW50IG9ubHksIGl0IGlzIG5vdCBjb25zaWRlcmVkIHZpc3VhbGx5IGVtcHR5LgotICAgIC8vIER1
ZSB0byBjb21taXQgYm91bmRhcnkgcnVsZXMsIHdlIGp1c3QgbmVlZCB0byBjaGVjayB0aGUgZmly
c3Qgbm9uLXR5cGVsZXNzIGlubGluZSBpdGVtIChjYW4ndCBoYXZlIGJvdGggW2ltZ10gYW5kIFt0
ZXh0XSkKKyAgICBBU1NFUlQoIWNvbnRpbnVvdXNDb250ZW50LnJ1bnMoKS5pc0VtcHR5KCkpOwog
ICAgIGZvciAoYXV0byYgcnVuIDogY29udGludW91c0NvbnRlbnQucnVucygpKSB7CiAgICAgICAg
IGF1dG8mIGlubGluZUl0ZW0gPSBydW4uaW5saW5lSXRlbTsKLSAgICAgICAgLy8gRklYTUU6IGNo
ZWNrIGZvciBwYWRkaW5nIGJvcmRlciBldGMuCisgICAgICAgIC8vIEZJWE1FOiBjaGVjayBpZiB2
aXN1YWwgZGVjb3JhdGlvbiBtYWtlcyBhIGRpZmZlcmVuY2UgaGVyZSBlLmcuIHBhZGRpbmcgYm9y
ZGVyLgogICAgICAgICBpZiAoaW5saW5lSXRlbS5pc0lubGluZUJveFN0YXJ0KCkgfHwgaW5saW5l
SXRlbS5pc0lubGluZUJveEVuZCgpKQogICAgICAgICAgICAgY29udGludWU7Ci0gICAgICAgIHJl
dHVybiBpbmxpbmVJdGVtLmlzVGV4dCgpICYmIGRvd25jYXN0PElubGluZVRleHRJdGVtPihpbmxp
bmVJdGVtKS5pc1doaXRlc3BhY2UoKTsKKyAgICAgICAgaWYgKCFpbmxpbmVJdGVtLmlzVGV4dCgp
IHx8IChpbmxpbmVJdGVtLmlzVGV4dCgpICYmICFkb3duY2FzdDxJbmxpbmVUZXh0SXRlbT4oaW5s
aW5lSXRlbSkuaXNXaGl0ZXNwYWNlKCkpKQorICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAg
IH0KLSAgICByZXR1cm4gZmFsc2U7CisgICAgcmV0dXJuIHRydWU7CiB9CiAKIHN0YXRpYyBpbmxp
bmUgYm9vbCBpc05vbkNvbnRlbnRSdW5zT25seShjb25zdCBJbmxpbmVDb250ZW50QnJlYWtlcjo6
Q29udGludW91c0NvbnRlbnQmIGNvbnRpbnVvdXNDb250ZW50KQpAQCAtMTczLDE2ICsxNzQsMTcg
QEAgSW5saW5lQ29udGVudEJyZWFrZXI6OlJlc3VsdCBJbmxpbmVDb250ZW50QnJlYWtlcjo6cHJv
Y2Vzc092ZXJmbG93aW5nQ29udGVudChjb24KICAgICBBU1NFUlQoIWNvbnRpbnVvdXNDb250ZW50
LnJ1bnMoKS5pc0VtcHR5KCkpOwogCiAgICAgQVNTRVJUKGNvbnRpbnVvdXNDb250ZW50LmxvZ2lj
YWxXaWR0aCgpID4gbGluZVN0YXR1cy5hdmFpbGFibGVXaWR0aCk7Ci0gICAgaWYgKGNvbnRpbnVv
dXNDb250ZW50Lmhhc1RyYWlsaW5nQ29sbGFwc2libGVDb250ZW50KCkpIHsKLSAgICAgICAgQVNT
RVJUKGhhc1RyYWlsaW5nVGV4dENvbnRlbnQob3ZlcmZsb3dDb250ZW50KSk7Ci0gICAgICAgIC8v
IEZpcnN0IGNoZWNrIGlmIHRoZSBjb250ZW50IGZpdHMgd2l0aG91dCB0aGUgdHJhaWxpbmcgY29s
bGFwc2libGUgcGFydC4KLSAgICAgICAgaWYgKGNvbnRpbnVvdXNDb250ZW50Lm5vbkNvbGxhcHNp
YmxlTG9naWNhbFdpZHRoKCkgPD0gbGluZVN0YXR1cy5hdmFpbGFibGVXaWR0aCkKLSAgICAgICAg
ICAgIHJldHVybiB7IFJlc3VsdDo6QWN0aW9uOjpLZWVwLCBJc0VuZE9mTGluZTo6Tm8gfTsKLSAg
ICAgICAgLy8gTm93IGNoZWNrIGlmIHdlIGNhbiB0cmltIHRoZSBsaW5lIHRvby4KLSAgICAgICAg
aWYgKGxpbmVTdGF0dXMuaGFzRnVsbHlDb2xsYXBzaWJsZVRyYWlsaW5nUnVuICYmIGNvbnRpbnVv
dXNDb250ZW50LmlzRnVsbHlDb2xsYXBzaWJsZSgpKSB7CisgICAgaWYgKGNvbnRpbnVvdXNDb250
ZW50Lmhhc0NvbGxhcHNpYmxlQ29udGVudCgpKSB7CisgICAgICAgIGlmIChsaW5lU3RhdHVzLmhh
c0Z1bGx5Q29sbGFwc2libGVUcmFpbGluZ0NvbnRlbnQgJiYgY29udGludW91c0NvbnRlbnQuaXNG
dWxseUNvbGxhcHNpYmxlKCkpIHsKICAgICAgICAgICAgIC8vIElmIHRoaXMgbmV3IGNvbnRlbnQg
aXMgZnVsbHkgY29sbGFwc2libGUsIGl0IHNob3VsZCBzdXJlbHkgZml0LgogICAgICAgICAgICAg
cmV0dXJuIHsgUmVzdWx0OjpBY3Rpb246OktlZXAsIElzRW5kT2ZMaW5lOjpObyB9OwogICAgICAg
ICB9CisgICAgICAgIC8vIENoZWNrIGlmIHRoZSBjb250ZW50IGZpdHMgaWYgd2UgY29sbGFwc2Vk
IGl0LgorICAgICAgICBhdXRvIHNwYWNlUmVxdWlyZWQgPSBjb250aW51b3VzQ29udGVudC5sb2dp
Y2FsV2lkdGgoKSAtIGNvbnRpbnVvdXNDb250ZW50LnRyYWlsaW5nQ29sbGFwc2libGVXaWR0aCgp
OworICAgICAgICBpZiAobGluZVN0YXR1cy5oYXNGdWxseUNvbGxhcHNpYmxlVHJhaWxpbmdDb250
ZW50KQorICAgICAgICAgICAgc3BhY2VSZXF1aXJlZCAtPSBjb250aW51b3VzQ29udGVudC5sZWFk
aW5nQ29sbGFwc2libGVXaWR0aCgpOworICAgICAgICBpZiAoc3BhY2VSZXF1aXJlZCA8PSBsaW5l
U3RhdHVzLmF2YWlsYWJsZVdpZHRoKQorICAgICAgICAgICAgcmV0dXJuIHsgUmVzdWx0OjpBY3Rp
b246OktlZXAsIElzRW5kT2ZMaW5lOjpObyB9OwogICAgIH0gZWxzZSBpZiAobGluZVN0YXR1cy5j
b2xsYXBzaWJsZVdpZHRoICYmIGlzTm9uQ29udGVudFJ1bnNPbmx5KGNvbnRpbnVvdXNDb250ZW50
KSkgewogICAgICAgICAvLyBMZXQncyBzZWUgaWYgdGhlIG5vbi1jb250ZW50IHJ1bnMgZml0IHdo
ZW4gdGhlIGxpbmUgaGFzIHRyYWlsaW5nIGNvbGxhcHNpYmxlIGNvbnRlbnQuCiAgICAgICAgIC8v
ICJ0ZXh0IGNvbnRlbnQgPHNwYW4gc3R5bGU9InBhZGRpbmc6IDFweCI+PC9zcGFuPiIgPC0gdGhl
IDxzcGFuPjwvc3Bhbj4gcnVucyBjb3VsZCBmaXQgYWZ0ZXIgY29sbGFwc2luZyB0aGUgdHJhaWxp
bmcgd2hpdGVzcGFjZS4KQEAgLTY0OSwyOSArNjUxLDMwIEBAIE9wdGlvblNldDxJbmxpbmVDb250
ZW50QnJlYWtlcjo6V29yZEJyZWFrUnVsZT4gSW5saW5lQ29udGVudEJyZWFrZXI6OndvcmRCcmVh
a0JlCiB2b2lkIElubGluZUNvbnRlbnRCcmVha2VyOjpDb250aW51b3VzQ29udGVudDo6YXBwZW5k
KGNvbnN0IElubGluZUl0ZW0mIGlubGluZUl0ZW0sIGNvbnN0IFJlbmRlclN0eWxlJiBzdHlsZSwg
SW5saW5lTGF5b3V0VW5pdCBsb2dpY2FsV2lkdGgsIHN0ZDo6b3B0aW9uYWw8SW5saW5lTGF5b3V0
VW5pdD4gY29sbGFwc2libGVXaWR0aCkKIHsKICAgICBBU1NFUlQoaW5saW5lSXRlbS5pc1RleHQo
KSB8fCBpbmxpbmVJdGVtLmlzQm94KCkgfHwgaW5saW5lSXRlbS5pc0lubGluZUJveFN0YXJ0KCkg
fHwgaW5saW5lSXRlbS5pc0lubGluZUJveEVuZCgpKTsKKyAgICBhdXRvIGlzTGVhZGluZ0NvbGxh
cHNpYmxlID0gY29sbGFwc2libGVXaWR0aCAmJiAobV9ydW5zLmlzRW1wdHkoKSB8fCBpc0Z1bGx5
Q29sbGFwc2libGUoKSk7CiAgICAgbV9ydW5zLmFwcGVuZCh7IGlubGluZUl0ZW0sIHN0eWxlLCBs
b2dpY2FsV2lkdGggfSk7CiAgICAgbV9sb2dpY2FsV2lkdGggPSBjbGFtcFRvPElubGluZUxheW91
dFVuaXQ+KG1fbG9naWNhbFdpZHRoICsgbG9naWNhbFdpZHRoKTsKICAgICBpZiAoIWNvbGxhcHNp
YmxlV2lkdGgpIHsKICAgICAgICAgaWYgKGlubGluZUl0ZW0uaXNUZXh0KCkgfHwgaW5saW5lSXRl
bS5pc0JveCgpKSB7CiAgICAgICAgICAgICAvLyBJbmxpbmUgYm94ZXMgZG8gbm90IHByZXZlbnQg
dGhlIHRyYWlsaW5nIGNvbnRlbnQgZnJvbSBnZXR0aW5nIGNvbGxhcHNlZC4KLSAgICAgICAgICAg
IG1fY29sbGFwc2libGVMb2dpY2FsV2lkdGggPSB7IH07CisgICAgICAgICAgICBtX3RyYWlsaW5n
Q29sbGFwc2libGVXaWR0aCA9IHsgfTsKICAgICAgICAgfQogICAgICAgICByZXR1cm47CiAgICAg
fQogICAgIEFTU0VSVCgqY29sbGFwc2libGVXaWR0aCA8PSBsb2dpY2FsV2lkdGgpOwotICAgIGlm
ICgqY29sbGFwc2libGVXaWR0aCA9PSBsb2dpY2FsV2lkdGgpIHsKLSAgICAgICAgLy8gRnVsbHkg
Y29sbGFwc2libGUgcnVuLgotICAgICAgICBtX2NvbGxhcHNpYmxlTG9naWNhbFdpZHRoICs9IGxv
Z2ljYWxXaWR0aDsKKyAgICBpZiAoaXNMZWFkaW5nQ29sbGFwc2libGUpIHsKKyAgICAgICAgQVNT
RVJUKCFtX3RyYWlsaW5nQ29sbGFwc2libGVXaWR0aCk7CisgICAgICAgIG1fbGVhZGluZ0NvbGxh
cHNpYmxlV2lkdGggKz0gKmNvbGxhcHNpYmxlV2lkdGg7CiAgICAgICAgIHJldHVybjsKICAgICB9
Ci0gICAgLy8gUGFydGlhbGx5IGNvbGxhcHNpYmxlIHJ1bi4KLSAgICBtX2NvbGxhcHNpYmxlTG9n
aWNhbFdpZHRoID0gKmNvbGxhcHNpYmxlV2lkdGg7CisgICAgbV90cmFpbGluZ0NvbGxhcHNpYmxl
V2lkdGggPSAqY29sbGFwc2libGVXaWR0aCA9PSBsb2dpY2FsV2lkdGggPyBtX3RyYWlsaW5nQ29s
bGFwc2libGVXaWR0aCArIGxvZ2ljYWxXaWR0aCA6ICpjb2xsYXBzaWJsZVdpZHRoOwogfQogCiB2
b2lkIElubGluZUNvbnRlbnRCcmVha2VyOjpDb250aW51b3VzQ29udGVudDo6cmVzZXQoKQogewog
ICAgIG1fbG9naWNhbFdpZHRoID0geyB9OwotICAgIG1fY29sbGFwc2libGVMb2dpY2FsV2lkdGgg
PSB7IH07CisgICAgbV9sZWFkaW5nQ29sbGFwc2libGVXaWR0aCA9IHsgfTsKKyAgICBtX3RyYWls
aW5nQ29sbGFwc2libGVXaWR0aCA9IHsgfTsKICAgICBtX3J1bnMuY2xlYXIoKTsKIH0KIH0KZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xheW91dC9mb3JtYXR0aW5nQ29udGV4dHMvaW5saW5l
L0lubGluZUNvbnRlbnRCcmVha2VyLmggYi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvZm9ybWF0dGlu
Z0NvbnRleHRzL2lubGluZS9JbmxpbmVDb250ZW50QnJlYWtlci5oCmluZGV4IDU3M2JhNGQ5MDBh
M2Q0ZjNkNDI4MjdjMDk4YjcwM2NhNjE5YjgwZTcuLjA5YWFlOGFmZTJlZTY4YjY1NWVmMzc3MzYx
MzdhYWNhNTAyYjhjNjggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xheW91dC9mb3JtYXR0
aW5nQ29udGV4dHMvaW5saW5lL0lubGluZUNvbnRlbnRCcmVha2VyLmgKKysrIGIvU291cmNlL1dl
YkNvcmUvbGF5b3V0L2Zvcm1hdHRpbmdDb250ZXh0cy9pbmxpbmUvSW5saW5lQ29udGVudEJyZWFr
ZXIuaApAQCAtNzcsMTIgKzc3LDEyIEBAIHB1YmxpYzoKICAgICAvLyBzZWUgaHR0cHM6Ly9kcmFm
dHMuY3Nzd2cub3JnL2Nzcy10ZXh0LTMvI2xpbmUtYnJlYWstZGV0YWlscwogICAgIHN0cnVjdCBD
b250aW51b3VzQ29udGVudCB7CiAgICAgICAgIElubGluZUxheW91dFVuaXQgbG9naWNhbFdpZHRo
KCkgY29uc3QgeyByZXR1cm4gbV9sb2dpY2FsV2lkdGg7IH0KLSAgICAgICAgSW5saW5lTGF5b3V0
VW5pdCBjb2xsYXBzaWJsZUxvZ2ljYWxXaWR0aCgpIGNvbnN0IHsgcmV0dXJuIG1fY29sbGFwc2li
bGVMb2dpY2FsV2lkdGg7IH0KLSAgICAgICAgSW5saW5lTGF5b3V0VW5pdCBub25Db2xsYXBzaWJs
ZUxvZ2ljYWxXaWR0aCgpIGNvbnN0IHsgcmV0dXJuIGxvZ2ljYWxXaWR0aCgpIC0gY29sbGFwc2li
bGVMb2dpY2FsV2lkdGgoKTsgfQotICAgICAgICBib29sIGhhc1RyYWlsaW5nQ29sbGFwc2libGVD
b250ZW50KCkgY29uc3QgeyByZXR1cm4gISFjb2xsYXBzaWJsZUxvZ2ljYWxXaWR0aCgpOyB9Ci0g
ICAgICAgIGJvb2wgaXNGdWxseUNvbGxhcHNpYmxlKCkgY29uc3QgeyByZXR1cm4gbG9naWNhbFdp
ZHRoKCkgPT0gY29sbGFwc2libGVMb2dpY2FsV2lkdGgoKTsgfQorICAgICAgICBJbmxpbmVMYXlv
dXRVbml0IGxlYWRpbmdDb2xsYXBzaWJsZVdpZHRoKCkgY29uc3QgeyByZXR1cm4gbV9sZWFkaW5n
Q29sbGFwc2libGVXaWR0aDsgfQorICAgICAgICBJbmxpbmVMYXlvdXRVbml0IHRyYWlsaW5nQ29s
bGFwc2libGVXaWR0aCgpIGNvbnN0IHsgcmV0dXJuIG1fdHJhaWxpbmdDb2xsYXBzaWJsZVdpZHRo
OyB9CisgICAgICAgIGJvb2wgaGFzQ29sbGFwc2libGVDb250ZW50KCkgY29uc3QgeyByZXR1cm4g
dHJhaWxpbmdDb2xsYXBzaWJsZVdpZHRoKCkgPiAwIHx8IGxlYWRpbmdDb2xsYXBzaWJsZVdpZHRo
KCkgPiAwOyB9CisgICAgICAgIGJvb2wgaXNGdWxseUNvbGxhcHNpYmxlKCkgY29uc3QgeyByZXR1
cm4gbG9naWNhbFdpZHRoKCkgPT0gdHJhaWxpbmdDb2xsYXBzaWJsZVdpZHRoKCkgKyBsZWFkaW5n
Q29sbGFwc2libGVXaWR0aCgpOyB9CiAKLSAgICAgICAgdm9pZCBhcHBlbmQoY29uc3QgSW5saW5l
SXRlbSYsIGNvbnN0IFJlbmRlclN0eWxlJiwgSW5saW5lTGF5b3V0VW5pdCBsb2dpY2FsV2lkdGgs
IHN0ZDo6b3B0aW9uYWw8SW5saW5lTGF5b3V0VW5pdD4gY29sbGFwc2libGVXaWR0aCk7CisgICAg
ICAgIHZvaWQgYXBwZW5kKGNvbnN0IElubGluZUl0ZW0mLCBjb25zdCBSZW5kZXJTdHlsZSYsIElu
bGluZUxheW91dFVuaXQgbG9naWNhbFdpZHRoLCBzdGQ6Om9wdGlvbmFsPElubGluZUxheW91dFVu
aXQ+IGNvbGxhcHNpYmxlV2lkdGggPSBzdGQ6Om51bGxvcHQpOwogICAgICAgICB2b2lkIHJlc2V0
KCk7CiAKICAgICAgICAgc3RydWN0IFJ1biB7CkBAIC0xMDAsNyArMTAwLDggQEAgcHVibGljOgog
ICAgIHByaXZhdGU6CiAgICAgICAgIFJ1bkxpc3QgbV9ydW5zOwogICAgICAgICBJbmxpbmVMYXlv
dXRVbml0IG1fbG9naWNhbFdpZHRoIHsgMCB9OwotICAgICAgICBJbmxpbmVMYXlvdXRVbml0IG1f
Y29sbGFwc2libGVMb2dpY2FsV2lkdGggeyAwIH07CisgICAgICAgIElubGluZUxheW91dFVuaXQg
bV9sZWFkaW5nQ29sbGFwc2libGVXaWR0aCB7IDAgfTsKKyAgICAgICAgSW5saW5lTGF5b3V0VW5p
dCBtX3RyYWlsaW5nQ29sbGFwc2libGVXaWR0aCB7IDAgfTsKICAgICB9OwogCiAgICAgc3RydWN0
IExpbmVTdGF0dXMgewpAQCAtMTA4LDcgKzEwOSw3IEBAIHB1YmxpYzoKICAgICAgICAgSW5saW5l
TGF5b3V0VW5pdCBhdmFpbGFibGVXaWR0aCB7IDAgfTsKICAgICAgICAgSW5saW5lTGF5b3V0VW5p
dCBjb2xsYXBzaWJsZVdpZHRoIHsgMCB9OwogICAgICAgICBzdGQ6Om9wdGlvbmFsPElubGluZUxh
eW91dFVuaXQ+IHRyYWlsaW5nU29mdEh5cGhlbldpZHRoOwotICAgICAgICBib29sIGhhc0Z1bGx5
Q29sbGFwc2libGVUcmFpbGluZ1J1biB7IGZhbHNlIH07CisgICAgICAgIGJvb2wgaGFzRnVsbHlD
b2xsYXBzaWJsZVRyYWlsaW5nQ29udGVudCB7IGZhbHNlIH07CiAgICAgICAgIGJvb2wgaGFzQ29u
dGVudCB7IGZhbHNlIH07CiAgICAgICAgIGJvb2wgaGFzV3JhcE9wcG9ydHVuaXR5QXRQcmV2aW91
c1Bvc2l0aW9uIHsgZmFsc2UgfTsKICAgICB9Owo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>442079</attachid>
            <date>2021-10-21 16:05:56 -0700</date>
            <delta_ts>2021-10-22 06:08:43 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-232091-20211021160555.patch</filename>
            <type>text/plain</type>
            <size>10101</size>
            <attacher name="alan">zalan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg0NjE4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZTM1N2I3MTc2MDEyMTkz
MjM5ZmYxMjdhYmJlMmNjMzU4ZGYwY2FlNS4uOGM1NDNhZjk1MDgyNDBmM2ViNTI0ZjQ2ZTI4MTBm
NTFlYjY5ZGRmMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMwIEBACisyMDIxLTEwLTIxICBBbGFu
IEJ1anRhcyAgPHphbGFuQGFwcGxlLmNvbT4KKworICAgICAgICBbTEZDXVtJRkNdIEFkZCBzdXBw
b3J0IGZvciBjaGVja2luZyBsZWFkaW5nIGNvbGxhcHNpYmxlIHdoaXRlc3BhY2UgaW4gSW5saW5l
Q29udGVudEJyZWFrZXI6OnByb2Nlc3NPdmVyZmxvd2luZ0NvbnRlbnQKKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIzMjA5MQorCisgICAgICAgIFJldmll
d2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFRoaXMgcGF0Y2ggZW5zdXJlcyB0aGF0
IHRoZSBsZWFkaW5nIGNvbGxhcHNpYmxlIHdoaXRlc3BhY2Ugb24gdGhlIGNvbnRpbnVvdXMgcnVu
IGlzIHRha2VuCisgICAgICAgIGludG8gYWNjb3VudCB3aGVuIGNoZWNraW5nIGlmIHRoZSBvdGhl
cndpc2Ugb3ZlcmZsb3dpbmcgY29udGVudCBtYXkgZml0IHRoZSBsaW5lLgorICAgICAgICBlLmcu
CisgICAgICAgIDxzcGFuIHN0eWxlPSJ3aGl0ZS1zcGFjZTogbm93cmFwIj5ub193cmFwIDwvc3Bh
bj48c3Bhbj4geWVzX3dyYXA8L3NwYW4+CisgICAgICAgIFRoZSAiIHllc193cmFwIiBjb250ZW50
IGhhcyBhIGNvbGxhcHNpYmxlIGxlYWRpbmcgd2hpdGVzcGFjZSBoZXJlLiAKKworICAgICAgICAq
IGxheW91dC9mb3JtYXR0aW5nQ29udGV4dHMvaW5saW5lL0lubGluZUNvbnRlbnRCcmVha2VyLmNw
cDoKKyAgICAgICAgKFdlYkNvcmU6OkxheW91dDo6aXNWaXN1YWxseUVtcHR5V2hpdGVzcGFjZUNv
bnRlbnQpOgorICAgICAgICAoV2ViQ29yZTo6TGF5b3V0OjpJbmxpbmVDb250ZW50QnJlYWtlcjo6
cHJvY2Vzc092ZXJmbG93aW5nQ29udGVudCBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpMYXlv
dXQ6OklubGluZUNvbnRlbnRCcmVha2VyOjpDb250aW51b3VzQ29udGVudDo6YXBwZW5kKToKKyAg
ICAgICAgKFdlYkNvcmU6OkxheW91dDo6SW5saW5lQ29udGVudEJyZWFrZXI6OkNvbnRpbnVvdXND
b250ZW50OjpyZXNldCk6CisgICAgICAgICogbGF5b3V0L2Zvcm1hdHRpbmdDb250ZXh0cy9pbmxp
bmUvSW5saW5lQ29udGVudEJyZWFrZXIuaDoKKyAgICAgICAgKFdlYkNvcmU6OkxheW91dDo6SW5s
aW5lQ29udGVudEJyZWFrZXI6OkNvbnRpbnVvdXNDb250ZW50OjpsZWFkaW5nQ29sbGFwc2libGVX
aWR0aCBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpMYXlvdXQ6OklubGluZUNvbnRlbnRCcmVh
a2VyOjpDb250aW51b3VzQ29udGVudDo6dHJhaWxpbmdDb2xsYXBzaWJsZVdpZHRoIGNvbnN0KToK
KyAgICAgICAgKFdlYkNvcmU6OkxheW91dDo6SW5saW5lQ29udGVudEJyZWFrZXI6OkNvbnRpbnVv
dXNDb250ZW50OjpoYXNDb2xsYXBzaWJsZUNvbnRlbnQgY29uc3QpOgorICAgICAgICAoV2ViQ29y
ZTo6TGF5b3V0OjpJbmxpbmVDb250ZW50QnJlYWtlcjo6Q29udGludW91c0NvbnRlbnQ6OmlzRnVs
bHlDb2xsYXBzaWJsZSBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpMYXlvdXQ6OklubGluZUNv
bnRlbnRCcmVha2VyOjpDb250aW51b3VzQ29udGVudDo6Y29sbGFwc2libGVMb2dpY2FsV2lkdGgg
Y29uc3QpOiBEZWxldGVkLgorICAgICAgICAoV2ViQ29yZTo6TGF5b3V0OjpJbmxpbmVDb250ZW50
QnJlYWtlcjo6Q29udGludW91c0NvbnRlbnQ6Om5vbkNvbGxhcHNpYmxlTG9naWNhbFdpZHRoIGNv
bnN0KTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6OkxheW91dDo6SW5saW5lQ29udGVudEJy
ZWFrZXI6OkNvbnRpbnVvdXNDb250ZW50OjpoYXNUcmFpbGluZ0NvbGxhcHNpYmxlQ29udGVudCBj
b25zdCk6IERlbGV0ZWQuCisKIDIwMjEtMTAtMjEgIFR5bGVyIFdpbGNvY2sgIDx0eWxlcl93QGFw
cGxlLmNvbT4KIAogICAgICAgICBBWDogUmVtb3ZlIHJlZHVuZGFudCBpbnNlcnQgb2YgYXV0b2Zp
bGwgYnV0dG9uIGNoaWxkIGluIEFjY2Vzc2liaWxpdHlSZW5kZXJPYmplY3Q6OmFkZFRleHRGaWVs
ZENoaWxkcmVuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvZm9ybWF0dGluZ0Nv
bnRleHRzL2lubGluZS9JbmxpbmVDb250ZW50QnJlYWtlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9s
YXlvdXQvZm9ybWF0dGluZ0NvbnRleHRzL2lubGluZS9JbmxpbmVDb250ZW50QnJlYWtlci5jcHAK
aW5kZXggNzYzY2FkMGEzNWQxNDk5ZGVjNGE4YWNhNzI5MjhjMTY5MzRiMjExMC4uMTFkNDdmZWY1
Y2EzNzRhNjhhNjMyMGE1Mjk0MzFjMDg0Nzc3ZjI3NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvbGF5b3V0L2Zvcm1hdHRpbmdDb250ZXh0cy9pbmxpbmUvSW5saW5lQ29udGVudEJyZWFrZXIu
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xheW91dC9mb3JtYXR0aW5nQ29udGV4dHMvaW5saW5l
L0lubGluZUNvbnRlbnRCcmVha2VyLmNwcApAQCAtOTcsMTUgKzk3LDE5IEBAIHN0YXRpYyBpbmxp
bmUgYm9vbCBpc1Zpc3VhbGx5RW1wdHlXaGl0ZXNwYWNlQ29udGVudChjb25zdCBJbmxpbmVDb250
ZW50QnJlYWtlcjo6CiB7CiAgICAgLy8gWzxzcGFuPjwvc3Bhbj4gXSBbPHNwYW4+IDwvc3Bhbj5d
IFsgPHNwYW4gc3R5bGU9InBhZGRpbmc6IDBweDsiPjwvc3Bhbj5dIGFyZSBhbGwgY29uc2lkZXJl
ZCB2aXN1YWxseSBlbXB0eSB3aGl0ZXNwYWNlIGNvbnRlbnQuCiAgICAgLy8gWzxzcGFuIHN0eWxl
PSJib3JkZXI6IDFweCBzb2xpZCByZWQiPjwvc3Bhbj4gXSB3aGlsZSB0aGlzIGlzIHdoaXRlc3Bh
Y2UgY29udGVudCBvbmx5LCBpdCBpcyBub3QgY29uc2lkZXJlZCB2aXN1YWxseSBlbXB0eS4KLSAg
ICAvLyBEdWUgdG8gY29tbWl0IGJvdW5kYXJ5IHJ1bGVzLCB3ZSBqdXN0IG5lZWQgdG8gY2hlY2sg
dGhlIGZpcnN0IG5vbi10eXBlbGVzcyBpbmxpbmUgaXRlbSAoY2FuJ3QgaGF2ZSBib3RoIFtpbWdd
IGFuZCBbdGV4dF0pCisgICAgQVNTRVJUKCFjb250aW51b3VzQ29udGVudC5ydW5zKCkuaXNFbXB0
eSgpKTsKKyAgICBhdXRvIGhhc1doaXRlc3BhY2UgPSBmYWxzZTsKICAgICBmb3IgKGF1dG8mIHJ1
biA6IGNvbnRpbnVvdXNDb250ZW50LnJ1bnMoKSkgewogICAgICAgICBhdXRvJiBpbmxpbmVJdGVt
ID0gcnVuLmlubGluZUl0ZW07Ci0gICAgICAgIC8vIEZJWE1FOiBjaGVjayBmb3IgcGFkZGluZyBi
b3JkZXIgZXRjLgorICAgICAgICAvLyBGSVhNRTogY2hlY2sgaWYgdmlzdWFsIGRlY29yYXRpb24g
bWFrZXMgYSBkaWZmZXJlbmNlIGhlcmUgZS5nLiBwYWRkaW5nIGJvcmRlci4KICAgICAgICAgaWYg
KGlubGluZUl0ZW0uaXNJbmxpbmVCb3hTdGFydCgpIHx8IGlubGluZUl0ZW0uaXNJbmxpbmVCb3hF
bmQoKSkKICAgICAgICAgICAgIGNvbnRpbnVlOwotICAgICAgICByZXR1cm4gaW5saW5lSXRlbS5p
c1RleHQoKSAmJiBkb3duY2FzdDxJbmxpbmVUZXh0SXRlbT4oaW5saW5lSXRlbSkuaXNXaGl0ZXNw
YWNlKCk7CisgICAgICAgIGF1dG8gaXNXaGl0ZXNwYWNlID0gaW5saW5lSXRlbS5pc1RleHQoKSAm
JiBkb3duY2FzdDxJbmxpbmVUZXh0SXRlbT4oaW5saW5lSXRlbSkuaXNXaGl0ZXNwYWNlKCk7Cisg
ICAgICAgIGlmICghaXNXaGl0ZXNwYWNlKQorICAgICAgICAgICAgcmV0dXJuIGZhbHNlOworICAg
ICAgICBoYXNXaGl0ZXNwYWNlID0gdHJ1ZTsKICAgICB9Ci0gICAgcmV0dXJuIGZhbHNlOworICAg
IHJldHVybiBoYXNXaGl0ZXNwYWNlOwogfQogCiBzdGF0aWMgaW5saW5lIGJvb2wgaXNOb25Db250
ZW50UnVuc09ubHkoY29uc3QgSW5saW5lQ29udGVudEJyZWFrZXI6OkNvbnRpbnVvdXNDb250ZW50
JiBjb250aW51b3VzQ29udGVudCkKQEAgLTE3MywxNiArMTc3LDE3IEBAIElubGluZUNvbnRlbnRC
cmVha2VyOjpSZXN1bHQgSW5saW5lQ29udGVudEJyZWFrZXI6OnByb2Nlc3NPdmVyZmxvd2luZ0Nv
bnRlbnQoY29uCiAgICAgQVNTRVJUKCFjb250aW51b3VzQ29udGVudC5ydW5zKCkuaXNFbXB0eSgp
KTsKIAogICAgIEFTU0VSVChjb250aW51b3VzQ29udGVudC5sb2dpY2FsV2lkdGgoKSA+IGxpbmVT
dGF0dXMuYXZhaWxhYmxlV2lkdGgpOwotICAgIGlmIChjb250aW51b3VzQ29udGVudC5oYXNUcmFp
bGluZ0NvbGxhcHNpYmxlQ29udGVudCgpKSB7Ci0gICAgICAgIEFTU0VSVChoYXNUcmFpbGluZ1Rl
eHRDb250ZW50KG92ZXJmbG93Q29udGVudCkpOwotICAgICAgICAvLyBGaXJzdCBjaGVjayBpZiB0
aGUgY29udGVudCBmaXRzIHdpdGhvdXQgdGhlIHRyYWlsaW5nIGNvbGxhcHNpYmxlIHBhcnQuCi0g
ICAgICAgIGlmIChjb250aW51b3VzQ29udGVudC5ub25Db2xsYXBzaWJsZUxvZ2ljYWxXaWR0aCgp
IDw9IGxpbmVTdGF0dXMuYXZhaWxhYmxlV2lkdGgpCi0gICAgICAgICAgICByZXR1cm4geyBSZXN1
bHQ6OkFjdGlvbjo6S2VlcCwgSXNFbmRPZkxpbmU6Ok5vIH07Ci0gICAgICAgIC8vIE5vdyBjaGVj
ayBpZiB3ZSBjYW4gdHJpbSB0aGUgbGluZSB0b28uCi0gICAgICAgIGlmIChsaW5lU3RhdHVzLmhh
c0Z1bGx5Q29sbGFwc2libGVUcmFpbGluZ1J1biAmJiBjb250aW51b3VzQ29udGVudC5pc0Z1bGx5
Q29sbGFwc2libGUoKSkgeworICAgIGlmIChjb250aW51b3VzQ29udGVudC5oYXNDb2xsYXBzaWJs
ZUNvbnRlbnQoKSkgeworICAgICAgICBpZiAobGluZVN0YXR1cy5oYXNGdWxseUNvbGxhcHNpYmxl
VHJhaWxpbmdDb250ZW50ICYmIGNvbnRpbnVvdXNDb250ZW50LmlzRnVsbHlDb2xsYXBzaWJsZSgp
KSB7CiAgICAgICAgICAgICAvLyBJZiB0aGlzIG5ldyBjb250ZW50IGlzIGZ1bGx5IGNvbGxhcHNp
YmxlLCBpdCBzaG91bGQgc3VyZWx5IGZpdC4KICAgICAgICAgICAgIHJldHVybiB7IFJlc3VsdDo6
QWN0aW9uOjpLZWVwLCBJc0VuZE9mTGluZTo6Tm8gfTsKICAgICAgICAgfQorICAgICAgICAvLyBD
aGVjayBpZiB0aGUgY29udGVudCBmaXRzIGlmIHdlIGNvbGxhcHNlZCBpdC4KKyAgICAgICAgYXV0
byBzcGFjZVJlcXVpcmVkID0gY29udGludW91c0NvbnRlbnQubG9naWNhbFdpZHRoKCkgLSBjb250
aW51b3VzQ29udGVudC50cmFpbGluZ0NvbGxhcHNpYmxlV2lkdGgoKTsKKyAgICAgICAgaWYgKGxp
bmVTdGF0dXMuaGFzRnVsbHlDb2xsYXBzaWJsZVRyYWlsaW5nQ29udGVudCkKKyAgICAgICAgICAg
IHNwYWNlUmVxdWlyZWQgLT0gY29udGludW91c0NvbnRlbnQubGVhZGluZ0NvbGxhcHNpYmxlV2lk
dGgoKTsKKyAgICAgICAgaWYgKHNwYWNlUmVxdWlyZWQgPD0gbGluZVN0YXR1cy5hdmFpbGFibGVX
aWR0aCkKKyAgICAgICAgICAgIHJldHVybiB7IFJlc3VsdDo6QWN0aW9uOjpLZWVwLCBJc0VuZE9m
TGluZTo6Tm8gfTsKICAgICB9IGVsc2UgaWYgKGxpbmVTdGF0dXMuY29sbGFwc2libGVXaWR0aCAm
JiBpc05vbkNvbnRlbnRSdW5zT25seShjb250aW51b3VzQ29udGVudCkpIHsKICAgICAgICAgLy8g
TGV0J3Mgc2VlIGlmIHRoZSBub24tY29udGVudCBydW5zIGZpdCB3aGVuIHRoZSBsaW5lIGhhcyB0
cmFpbGluZyBjb2xsYXBzaWJsZSBjb250ZW50LgogICAgICAgICAvLyAidGV4dCBjb250ZW50IDxz
cGFuIHN0eWxlPSJwYWRkaW5nOiAxcHgiPjwvc3Bhbj4iIDwtIHRoZSA8c3Bhbj48L3NwYW4+IHJ1
bnMgY291bGQgZml0IGFmdGVyIGNvbGxhcHNpbmcgdGhlIHRyYWlsaW5nIHdoaXRlc3BhY2UuCkBA
IC02NDksMjkgKzY1NCwzMCBAQCBPcHRpb25TZXQ8SW5saW5lQ29udGVudEJyZWFrZXI6OldvcmRC
cmVha1J1bGU+IElubGluZUNvbnRlbnRCcmVha2VyOjp3b3JkQnJlYWtCZQogdm9pZCBJbmxpbmVD
b250ZW50QnJlYWtlcjo6Q29udGludW91c0NvbnRlbnQ6OmFwcGVuZChjb25zdCBJbmxpbmVJdGVt
JiBpbmxpbmVJdGVtLCBjb25zdCBSZW5kZXJTdHlsZSYgc3R5bGUsIElubGluZUxheW91dFVuaXQg
bG9naWNhbFdpZHRoLCBzdGQ6Om9wdGlvbmFsPElubGluZUxheW91dFVuaXQ+IGNvbGxhcHNpYmxl
V2lkdGgpCiB7CiAgICAgQVNTRVJUKGlubGluZUl0ZW0uaXNUZXh0KCkgfHwgaW5saW5lSXRlbS5p
c0JveCgpIHx8IGlubGluZUl0ZW0uaXNJbmxpbmVCb3hTdGFydCgpIHx8IGlubGluZUl0ZW0uaXNJ
bmxpbmVCb3hFbmQoKSk7CisgICAgYXV0byBpc0xlYWRpbmdDb2xsYXBzaWJsZSA9IGNvbGxhcHNp
YmxlV2lkdGggJiYgKG1fcnVucy5pc0VtcHR5KCkgfHwgaXNGdWxseUNvbGxhcHNpYmxlKCkpOwog
ICAgIG1fcnVucy5hcHBlbmQoeyBpbmxpbmVJdGVtLCBzdHlsZSwgbG9naWNhbFdpZHRoIH0pOwog
ICAgIG1fbG9naWNhbFdpZHRoID0gY2xhbXBUbzxJbmxpbmVMYXlvdXRVbml0PihtX2xvZ2ljYWxX
aWR0aCArIGxvZ2ljYWxXaWR0aCk7CiAgICAgaWYgKCFjb2xsYXBzaWJsZVdpZHRoKSB7CiAgICAg
ICAgIGlmIChpbmxpbmVJdGVtLmlzVGV4dCgpIHx8IGlubGluZUl0ZW0uaXNCb3goKSkgewogICAg
ICAgICAgICAgLy8gSW5saW5lIGJveGVzIGRvIG5vdCBwcmV2ZW50IHRoZSB0cmFpbGluZyBjb250
ZW50IGZyb20gZ2V0dGluZyBjb2xsYXBzZWQuCi0gICAgICAgICAgICBtX2NvbGxhcHNpYmxlTG9n
aWNhbFdpZHRoID0geyB9OworICAgICAgICAgICAgbV90cmFpbGluZ0NvbGxhcHNpYmxlV2lkdGgg
PSB7IH07CiAgICAgICAgIH0KICAgICAgICAgcmV0dXJuOwogICAgIH0KICAgICBBU1NFUlQoKmNv
bGxhcHNpYmxlV2lkdGggPD0gbG9naWNhbFdpZHRoKTsKLSAgICBpZiAoKmNvbGxhcHNpYmxlV2lk
dGggPT0gbG9naWNhbFdpZHRoKSB7Ci0gICAgICAgIC8vIEZ1bGx5IGNvbGxhcHNpYmxlIHJ1bi4K
LSAgICAgICAgbV9jb2xsYXBzaWJsZUxvZ2ljYWxXaWR0aCArPSBsb2dpY2FsV2lkdGg7CisgICAg
aWYgKGlzTGVhZGluZ0NvbGxhcHNpYmxlKSB7CisgICAgICAgIEFTU0VSVCghbV90cmFpbGluZ0Nv
bGxhcHNpYmxlV2lkdGgpOworICAgICAgICBtX2xlYWRpbmdDb2xsYXBzaWJsZVdpZHRoICs9ICpj
b2xsYXBzaWJsZVdpZHRoOwogICAgICAgICByZXR1cm47CiAgICAgfQotICAgIC8vIFBhcnRpYWxs
eSBjb2xsYXBzaWJsZSBydW4uCi0gICAgbV9jb2xsYXBzaWJsZUxvZ2ljYWxXaWR0aCA9ICpjb2xs
YXBzaWJsZVdpZHRoOworICAgIG1fdHJhaWxpbmdDb2xsYXBzaWJsZVdpZHRoID0gKmNvbGxhcHNp
YmxlV2lkdGggPT0gbG9naWNhbFdpZHRoID8gbV90cmFpbGluZ0NvbGxhcHNpYmxlV2lkdGggKyBs
b2dpY2FsV2lkdGggOiAqY29sbGFwc2libGVXaWR0aDsKIH0KIAogdm9pZCBJbmxpbmVDb250ZW50
QnJlYWtlcjo6Q29udGludW91c0NvbnRlbnQ6OnJlc2V0KCkKIHsKICAgICBtX2xvZ2ljYWxXaWR0
aCA9IHsgfTsKLSAgICBtX2NvbGxhcHNpYmxlTG9naWNhbFdpZHRoID0geyB9OworICAgIG1fbGVh
ZGluZ0NvbGxhcHNpYmxlV2lkdGggPSB7IH07CisgICAgbV90cmFpbGluZ0NvbGxhcHNpYmxlV2lk
dGggPSB7IH07CiAgICAgbV9ydW5zLmNsZWFyKCk7CiB9CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9sYXlvdXQvZm9ybWF0dGluZ0NvbnRleHRzL2lubGluZS9JbmxpbmVDb250ZW50QnJl
YWtlci5oIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0L2Zvcm1hdHRpbmdDb250ZXh0cy9pbmxpbmUv
SW5saW5lQ29udGVudEJyZWFrZXIuaAppbmRleCA1NzNiYTRkOTAwYTNkNGYzZDQyODI3YzA5OGI3
MDNjYTYxOWI4MGU3Li4wOWFhZThhZmUyZWU2OGI2NTVlZjM3NzM2MTM3YWFjYTUwMmI4YzY4IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvZm9ybWF0dGluZ0NvbnRleHRzL2lubGlu
ZS9JbmxpbmVDb250ZW50QnJlYWtlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xheW91dC9mb3Jt
YXR0aW5nQ29udGV4dHMvaW5saW5lL0lubGluZUNvbnRlbnRCcmVha2VyLmgKQEAgLTc3LDEyICs3
NywxMiBAQCBwdWJsaWM6CiAgICAgLy8gc2VlIGh0dHBzOi8vZHJhZnRzLmNzc3dnLm9yZy9jc3Mt
dGV4dC0zLyNsaW5lLWJyZWFrLWRldGFpbHMKICAgICBzdHJ1Y3QgQ29udGludW91c0NvbnRlbnQg
ewogICAgICAgICBJbmxpbmVMYXlvdXRVbml0IGxvZ2ljYWxXaWR0aCgpIGNvbnN0IHsgcmV0dXJu
IG1fbG9naWNhbFdpZHRoOyB9Ci0gICAgICAgIElubGluZUxheW91dFVuaXQgY29sbGFwc2libGVM
b2dpY2FsV2lkdGgoKSBjb25zdCB7IHJldHVybiBtX2NvbGxhcHNpYmxlTG9naWNhbFdpZHRoOyB9
Ci0gICAgICAgIElubGluZUxheW91dFVuaXQgbm9uQ29sbGFwc2libGVMb2dpY2FsV2lkdGgoKSBj
b25zdCB7IHJldHVybiBsb2dpY2FsV2lkdGgoKSAtIGNvbGxhcHNpYmxlTG9naWNhbFdpZHRoKCk7
IH0KLSAgICAgICAgYm9vbCBoYXNUcmFpbGluZ0NvbGxhcHNpYmxlQ29udGVudCgpIGNvbnN0IHsg
cmV0dXJuICEhY29sbGFwc2libGVMb2dpY2FsV2lkdGgoKTsgfQotICAgICAgICBib29sIGlzRnVs
bHlDb2xsYXBzaWJsZSgpIGNvbnN0IHsgcmV0dXJuIGxvZ2ljYWxXaWR0aCgpID09IGNvbGxhcHNp
YmxlTG9naWNhbFdpZHRoKCk7IH0KKyAgICAgICAgSW5saW5lTGF5b3V0VW5pdCBsZWFkaW5nQ29s
bGFwc2libGVXaWR0aCgpIGNvbnN0IHsgcmV0dXJuIG1fbGVhZGluZ0NvbGxhcHNpYmxlV2lkdGg7
IH0KKyAgICAgICAgSW5saW5lTGF5b3V0VW5pdCB0cmFpbGluZ0NvbGxhcHNpYmxlV2lkdGgoKSBj
b25zdCB7IHJldHVybiBtX3RyYWlsaW5nQ29sbGFwc2libGVXaWR0aDsgfQorICAgICAgICBib29s
IGhhc0NvbGxhcHNpYmxlQ29udGVudCgpIGNvbnN0IHsgcmV0dXJuIHRyYWlsaW5nQ29sbGFwc2li
bGVXaWR0aCgpID4gMCB8fCBsZWFkaW5nQ29sbGFwc2libGVXaWR0aCgpID4gMDsgfQorICAgICAg
ICBib29sIGlzRnVsbHlDb2xsYXBzaWJsZSgpIGNvbnN0IHsgcmV0dXJuIGxvZ2ljYWxXaWR0aCgp
ID09IHRyYWlsaW5nQ29sbGFwc2libGVXaWR0aCgpICsgbGVhZGluZ0NvbGxhcHNpYmxlV2lkdGgo
KTsgfQogCi0gICAgICAgIHZvaWQgYXBwZW5kKGNvbnN0IElubGluZUl0ZW0mLCBjb25zdCBSZW5k
ZXJTdHlsZSYsIElubGluZUxheW91dFVuaXQgbG9naWNhbFdpZHRoLCBzdGQ6Om9wdGlvbmFsPElu
bGluZUxheW91dFVuaXQ+IGNvbGxhcHNpYmxlV2lkdGgpOworICAgICAgICB2b2lkIGFwcGVuZChj
b25zdCBJbmxpbmVJdGVtJiwgY29uc3QgUmVuZGVyU3R5bGUmLCBJbmxpbmVMYXlvdXRVbml0IGxv
Z2ljYWxXaWR0aCwgc3RkOjpvcHRpb25hbDxJbmxpbmVMYXlvdXRVbml0PiBjb2xsYXBzaWJsZVdp
ZHRoID0gc3RkOjpudWxsb3B0KTsKICAgICAgICAgdm9pZCByZXNldCgpOwogCiAgICAgICAgIHN0
cnVjdCBSdW4gewpAQCAtMTAwLDcgKzEwMCw4IEBAIHB1YmxpYzoKICAgICBwcml2YXRlOgogICAg
ICAgICBSdW5MaXN0IG1fcnVuczsKICAgICAgICAgSW5saW5lTGF5b3V0VW5pdCBtX2xvZ2ljYWxX
aWR0aCB7IDAgfTsKLSAgICAgICAgSW5saW5lTGF5b3V0VW5pdCBtX2NvbGxhcHNpYmxlTG9naWNh
bFdpZHRoIHsgMCB9OworICAgICAgICBJbmxpbmVMYXlvdXRVbml0IG1fbGVhZGluZ0NvbGxhcHNp
YmxlV2lkdGggeyAwIH07CisgICAgICAgIElubGluZUxheW91dFVuaXQgbV90cmFpbGluZ0NvbGxh
cHNpYmxlV2lkdGggeyAwIH07CiAgICAgfTsKIAogICAgIHN0cnVjdCBMaW5lU3RhdHVzIHsKQEAg
LTEwOCw3ICsxMDksNyBAQCBwdWJsaWM6CiAgICAgICAgIElubGluZUxheW91dFVuaXQgYXZhaWxh
YmxlV2lkdGggeyAwIH07CiAgICAgICAgIElubGluZUxheW91dFVuaXQgY29sbGFwc2libGVXaWR0
aCB7IDAgfTsKICAgICAgICAgc3RkOjpvcHRpb25hbDxJbmxpbmVMYXlvdXRVbml0PiB0cmFpbGlu
Z1NvZnRIeXBoZW5XaWR0aDsKLSAgICAgICAgYm9vbCBoYXNGdWxseUNvbGxhcHNpYmxlVHJhaWxp
bmdSdW4geyBmYWxzZSB9OworICAgICAgICBib29sIGhhc0Z1bGx5Q29sbGFwc2libGVUcmFpbGlu
Z0NvbnRlbnQgeyBmYWxzZSB9OwogICAgICAgICBib29sIGhhc0NvbnRlbnQgeyBmYWxzZSB9Owog
ICAgICAgICBib29sIGhhc1dyYXBPcHBvcnR1bml0eUF0UHJldmlvdXNQb3NpdGlvbiB7IGZhbHNl
IH07CiAgICAgfTsK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>442156</attachid>
            <date>2021-10-22 06:08:45 -0700</date>
            <delta_ts>2021-10-22 06:44:09 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-232091-20211022060844.patch</filename>
            <type>text/plain</type>
            <size>10171</size>
            <attacher name="alan">zalan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg0NTg4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNThmMmU0NjhkM2UxN2Uw
NDNkNWU3M2NkMTcyMzZmNTAyNTcxNWVkMC4uZjBkNWMyNjU0NjE0ZjkxYzZlMTAxYWIzN2M3ODg1
MjE3ZGRjM2M1MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMxIEBACisyMDIxLTEwLTIyICBBbGFu
IEJ1anRhcyAgPHphbGFuQGFwcGxlLmNvbT4KKworICAgICAgICBbTEZDXVtJRkNdIEFkZCBzdXBw
b3J0IGZvciBjaGVja2luZyBsZWFkaW5nIGNvbGxhcHNpYmxlIHdoaXRlc3BhY2UgaW4gSW5saW5l
Q29udGVudEJyZWFrZXI6OnByb2Nlc3NPdmVyZmxvd2luZ0NvbnRlbnQKKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIzMjA5MQorCisgICAgICAgIFJldmll
d2VkIGJ5IEFudHRpIEtvaXZpc3RvLgorCisgICAgICAgIFRoaXMgcGF0Y2ggZW5zdXJlcyB0aGF0
IHRoZSBsZWFkaW5nIGNvbGxhcHNpYmxlIHdoaXRlc3BhY2Ugb24gdGhlIGNvbnRpbnVvdXMgcnVu
IGlzIHRha2VuCisgICAgICAgIGludG8gYWNjb3VudCB3aGVuIGNoZWNraW5nIGlmIHRoZSBvdGhl
cndpc2Ugb3ZlcmZsb3dpbmcgY29udGVudCBtYXkgZml0IHRoZSBsaW5lLgorICAgICAgICBlLmcu
CisgICAgICAgIDxzcGFuIHN0eWxlPSJ3aGl0ZS1zcGFjZTogbm93cmFwIj5ub193cmFwIDwvc3Bh
bj48c3Bhbj4geWVzX3dyYXA8L3NwYW4+CisgICAgICAgIFRoZSAiIHllc193cmFwIiBjb250ZW50
IGhhcyBhIGNvbGxhcHNpYmxlIGxlYWRpbmcgd2hpdGVzcGFjZSBoZXJlLgorICAgICAgICAoVGhp
cyBpcyBhbHNvIGEgcHJlcGFyYXRpb24gZm9yIGZpeGluZyBhIHJlZ3Jlc3Npb24gYW5kIGEgV1BU
IHRlc3QuKQorCisgICAgICAgICogbGF5b3V0L2Zvcm1hdHRpbmdDb250ZXh0cy9pbmxpbmUvSW5s
aW5lQ29udGVudEJyZWFrZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6TGF5b3V0Ojppc1Zpc3Vh
bGx5RW1wdHlXaGl0ZXNwYWNlQ29udGVudCk6CisgICAgICAgIChXZWJDb3JlOjpMYXlvdXQ6Oklu
bGluZUNvbnRlbnRCcmVha2VyOjpwcm9jZXNzT3ZlcmZsb3dpbmdDb250ZW50IGNvbnN0KToKKyAg
ICAgICAgKFdlYkNvcmU6OkxheW91dDo6SW5saW5lQ29udGVudEJyZWFrZXI6OkNvbnRpbnVvdXND
b250ZW50OjphcHBlbmQpOgorICAgICAgICAoV2ViQ29yZTo6TGF5b3V0OjpJbmxpbmVDb250ZW50
QnJlYWtlcjo6Q29udGludW91c0NvbnRlbnQ6OnJlc2V0KToKKyAgICAgICAgKiBsYXlvdXQvZm9y
bWF0dGluZ0NvbnRleHRzL2lubGluZS9JbmxpbmVDb250ZW50QnJlYWtlci5oOgorICAgICAgICAo
V2ViQ29yZTo6TGF5b3V0OjpJbmxpbmVDb250ZW50QnJlYWtlcjo6Q29udGludW91c0NvbnRlbnQ6
OmxlYWRpbmdDb2xsYXBzaWJsZVdpZHRoIGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OkxheW91
dDo6SW5saW5lQ29udGVudEJyZWFrZXI6OkNvbnRpbnVvdXNDb250ZW50Ojp0cmFpbGluZ0NvbGxh
cHNpYmxlV2lkdGggY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6TGF5b3V0OjpJbmxpbmVDb250
ZW50QnJlYWtlcjo6Q29udGludW91c0NvbnRlbnQ6Omhhc0NvbGxhcHNpYmxlQ29udGVudCBjb25z
dCk6CisgICAgICAgIChXZWJDb3JlOjpMYXlvdXQ6OklubGluZUNvbnRlbnRCcmVha2VyOjpDb250
aW51b3VzQ29udGVudDo6aXNGdWxseUNvbGxhcHNpYmxlIGNvbnN0KToKKyAgICAgICAgKFdlYkNv
cmU6OkxheW91dDo6SW5saW5lQ29udGVudEJyZWFrZXI6OkNvbnRpbnVvdXNDb250ZW50Ojpjb2xs
YXBzaWJsZUxvZ2ljYWxXaWR0aCBjb25zdCk6IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjpM
YXlvdXQ6OklubGluZUNvbnRlbnRCcmVha2VyOjpDb250aW51b3VzQ29udGVudDo6bm9uQ29sbGFw
c2libGVMb2dpY2FsV2lkdGggY29uc3QpOiBEZWxldGVkLgorICAgICAgICAoV2ViQ29yZTo6TGF5
b3V0OjpJbmxpbmVDb250ZW50QnJlYWtlcjo6Q29udGludW91c0NvbnRlbnQ6Omhhc1RyYWlsaW5n
Q29sbGFwc2libGVDb250ZW50IGNvbnN0KTogRGVsZXRlZC4KKwogMjAyMS0xMC0yMCAgQmV0aCBE
YWtpbiAgPGJkYWtpbkBhcHBsZS5jb20+IGFuZCBEYW5hIEVzdHJhIDxkZXN0cmFAYXBwbGUuY29t
PgogCiAgICAgICAgIG1hY09TIGtleS1kcml2ZW4gc21vb3RoIHNjcm9sbGluZyBkb2VzIG5vdCBz
dG9wIHdoZW4gZm9jdXMgY2hhbmdlcwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbGF5b3V0
L2Zvcm1hdHRpbmdDb250ZXh0cy9pbmxpbmUvSW5saW5lQ29udGVudEJyZWFrZXIuY3BwIGIvU291
cmNlL1dlYkNvcmUvbGF5b3V0L2Zvcm1hdHRpbmdDb250ZXh0cy9pbmxpbmUvSW5saW5lQ29udGVu
dEJyZWFrZXIuY3BwCmluZGV4IDc2M2NhZDBhMzVkMTQ5OWRlYzRhOGFjYTcyOTI4YzE2OTM0YjIx
MTAuLjExZDQ3ZmVmNWNhMzc0YTY4YTYzMjBhNTI5NDMxYzA4NDc3N2YyNzQgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL2xheW91dC9mb3JtYXR0aW5nQ29udGV4dHMvaW5saW5lL0lubGluZUNv
bnRlbnRCcmVha2VyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvZm9ybWF0dGluZ0Nv
bnRleHRzL2lubGluZS9JbmxpbmVDb250ZW50QnJlYWtlci5jcHAKQEAgLTk3LDE1ICs5NywxOSBA
QCBzdGF0aWMgaW5saW5lIGJvb2wgaXNWaXN1YWxseUVtcHR5V2hpdGVzcGFjZUNvbnRlbnQoY29u
c3QgSW5saW5lQ29udGVudEJyZWFrZXI6OgogewogICAgIC8vIFs8c3Bhbj48L3NwYW4+IF0gWzxz
cGFuPiA8L3NwYW4+XSBbIDxzcGFuIHN0eWxlPSJwYWRkaW5nOiAwcHg7Ij48L3NwYW4+XSBhcmUg
YWxsIGNvbnNpZGVyZWQgdmlzdWFsbHkgZW1wdHkgd2hpdGVzcGFjZSBjb250ZW50LgogICAgIC8v
IFs8c3BhbiBzdHlsZT0iYm9yZGVyOiAxcHggc29saWQgcmVkIj48L3NwYW4+IF0gd2hpbGUgdGhp
cyBpcyB3aGl0ZXNwYWNlIGNvbnRlbnQgb25seSwgaXQgaXMgbm90IGNvbnNpZGVyZWQgdmlzdWFs
bHkgZW1wdHkuCi0gICAgLy8gRHVlIHRvIGNvbW1pdCBib3VuZGFyeSBydWxlcywgd2UganVzdCBu
ZWVkIHRvIGNoZWNrIHRoZSBmaXJzdCBub24tdHlwZWxlc3MgaW5saW5lIGl0ZW0gKGNhbid0IGhh
dmUgYm90aCBbaW1nXSBhbmQgW3RleHRdKQorICAgIEFTU0VSVCghY29udGludW91c0NvbnRlbnQu
cnVucygpLmlzRW1wdHkoKSk7CisgICAgYXV0byBoYXNXaGl0ZXNwYWNlID0gZmFsc2U7CiAgICAg
Zm9yIChhdXRvJiBydW4gOiBjb250aW51b3VzQ29udGVudC5ydW5zKCkpIHsKICAgICAgICAgYXV0
byYgaW5saW5lSXRlbSA9IHJ1bi5pbmxpbmVJdGVtOwotICAgICAgICAvLyBGSVhNRTogY2hlY2sg
Zm9yIHBhZGRpbmcgYm9yZGVyIGV0Yy4KKyAgICAgICAgLy8gRklYTUU6IGNoZWNrIGlmIHZpc3Vh
bCBkZWNvcmF0aW9uIG1ha2VzIGEgZGlmZmVyZW5jZSBoZXJlIGUuZy4gcGFkZGluZyBib3JkZXIu
CiAgICAgICAgIGlmIChpbmxpbmVJdGVtLmlzSW5saW5lQm94U3RhcnQoKSB8fCBpbmxpbmVJdGVt
LmlzSW5saW5lQm94RW5kKCkpCiAgICAgICAgICAgICBjb250aW51ZTsKLSAgICAgICAgcmV0dXJu
IGlubGluZUl0ZW0uaXNUZXh0KCkgJiYgZG93bmNhc3Q8SW5saW5lVGV4dEl0ZW0+KGlubGluZUl0
ZW0pLmlzV2hpdGVzcGFjZSgpOworICAgICAgICBhdXRvIGlzV2hpdGVzcGFjZSA9IGlubGluZUl0
ZW0uaXNUZXh0KCkgJiYgZG93bmNhc3Q8SW5saW5lVGV4dEl0ZW0+KGlubGluZUl0ZW0pLmlzV2hp
dGVzcGFjZSgpOworICAgICAgICBpZiAoIWlzV2hpdGVzcGFjZSkKKyAgICAgICAgICAgIHJldHVy
biBmYWxzZTsKKyAgICAgICAgaGFzV2hpdGVzcGFjZSA9IHRydWU7CiAgICAgfQotICAgIHJldHVy
biBmYWxzZTsKKyAgICByZXR1cm4gaGFzV2hpdGVzcGFjZTsKIH0KIAogc3RhdGljIGlubGluZSBi
b29sIGlzTm9uQ29udGVudFJ1bnNPbmx5KGNvbnN0IElubGluZUNvbnRlbnRCcmVha2VyOjpDb250
aW51b3VzQ29udGVudCYgY29udGludW91c0NvbnRlbnQpCkBAIC0xNzMsMTYgKzE3NywxNyBAQCBJ
bmxpbmVDb250ZW50QnJlYWtlcjo6UmVzdWx0IElubGluZUNvbnRlbnRCcmVha2VyOjpwcm9jZXNz
T3ZlcmZsb3dpbmdDb250ZW50KGNvbgogICAgIEFTU0VSVCghY29udGludW91c0NvbnRlbnQucnVu
cygpLmlzRW1wdHkoKSk7CiAKICAgICBBU1NFUlQoY29udGludW91c0NvbnRlbnQubG9naWNhbFdp
ZHRoKCkgPiBsaW5lU3RhdHVzLmF2YWlsYWJsZVdpZHRoKTsKLSAgICBpZiAoY29udGludW91c0Nv
bnRlbnQuaGFzVHJhaWxpbmdDb2xsYXBzaWJsZUNvbnRlbnQoKSkgewotICAgICAgICBBU1NFUlQo
aGFzVHJhaWxpbmdUZXh0Q29udGVudChvdmVyZmxvd0NvbnRlbnQpKTsKLSAgICAgICAgLy8gRmly
c3QgY2hlY2sgaWYgdGhlIGNvbnRlbnQgZml0cyB3aXRob3V0IHRoZSB0cmFpbGluZyBjb2xsYXBz
aWJsZSBwYXJ0LgotICAgICAgICBpZiAoY29udGludW91c0NvbnRlbnQubm9uQ29sbGFwc2libGVM
b2dpY2FsV2lkdGgoKSA8PSBsaW5lU3RhdHVzLmF2YWlsYWJsZVdpZHRoKQotICAgICAgICAgICAg
cmV0dXJuIHsgUmVzdWx0OjpBY3Rpb246OktlZXAsIElzRW5kT2ZMaW5lOjpObyB9OwotICAgICAg
ICAvLyBOb3cgY2hlY2sgaWYgd2UgY2FuIHRyaW0gdGhlIGxpbmUgdG9vLgotICAgICAgICBpZiAo
bGluZVN0YXR1cy5oYXNGdWxseUNvbGxhcHNpYmxlVHJhaWxpbmdSdW4gJiYgY29udGludW91c0Nv
bnRlbnQuaXNGdWxseUNvbGxhcHNpYmxlKCkpIHsKKyAgICBpZiAoY29udGludW91c0NvbnRlbnQu
aGFzQ29sbGFwc2libGVDb250ZW50KCkpIHsKKyAgICAgICAgaWYgKGxpbmVTdGF0dXMuaGFzRnVs
bHlDb2xsYXBzaWJsZVRyYWlsaW5nQ29udGVudCAmJiBjb250aW51b3VzQ29udGVudC5pc0Z1bGx5
Q29sbGFwc2libGUoKSkgewogICAgICAgICAgICAgLy8gSWYgdGhpcyBuZXcgY29udGVudCBpcyBm
dWxseSBjb2xsYXBzaWJsZSwgaXQgc2hvdWxkIHN1cmVseSBmaXQuCiAgICAgICAgICAgICByZXR1
cm4geyBSZXN1bHQ6OkFjdGlvbjo6S2VlcCwgSXNFbmRPZkxpbmU6Ok5vIH07CiAgICAgICAgIH0K
KyAgICAgICAgLy8gQ2hlY2sgaWYgdGhlIGNvbnRlbnQgZml0cyBpZiB3ZSBjb2xsYXBzZWQgaXQu
CisgICAgICAgIGF1dG8gc3BhY2VSZXF1aXJlZCA9IGNvbnRpbnVvdXNDb250ZW50LmxvZ2ljYWxX
aWR0aCgpIC0gY29udGludW91c0NvbnRlbnQudHJhaWxpbmdDb2xsYXBzaWJsZVdpZHRoKCk7Cisg
ICAgICAgIGlmIChsaW5lU3RhdHVzLmhhc0Z1bGx5Q29sbGFwc2libGVUcmFpbGluZ0NvbnRlbnQp
CisgICAgICAgICAgICBzcGFjZVJlcXVpcmVkIC09IGNvbnRpbnVvdXNDb250ZW50LmxlYWRpbmdD
b2xsYXBzaWJsZVdpZHRoKCk7CisgICAgICAgIGlmIChzcGFjZVJlcXVpcmVkIDw9IGxpbmVTdGF0
dXMuYXZhaWxhYmxlV2lkdGgpCisgICAgICAgICAgICByZXR1cm4geyBSZXN1bHQ6OkFjdGlvbjo6
S2VlcCwgSXNFbmRPZkxpbmU6Ok5vIH07CiAgICAgfSBlbHNlIGlmIChsaW5lU3RhdHVzLmNvbGxh
cHNpYmxlV2lkdGggJiYgaXNOb25Db250ZW50UnVuc09ubHkoY29udGludW91c0NvbnRlbnQpKSB7
CiAgICAgICAgIC8vIExldCdzIHNlZSBpZiB0aGUgbm9uLWNvbnRlbnQgcnVucyBmaXQgd2hlbiB0
aGUgbGluZSBoYXMgdHJhaWxpbmcgY29sbGFwc2libGUgY29udGVudC4KICAgICAgICAgLy8gInRl
eHQgY29udGVudCA8c3BhbiBzdHlsZT0icGFkZGluZzogMXB4Ij48L3NwYW4+IiA8LSB0aGUgPHNw
YW4+PC9zcGFuPiBydW5zIGNvdWxkIGZpdCBhZnRlciBjb2xsYXBzaW5nIHRoZSB0cmFpbGluZyB3
aGl0ZXNwYWNlLgpAQCAtNjQ5LDI5ICs2NTQsMzAgQEAgT3B0aW9uU2V0PElubGluZUNvbnRlbnRC
cmVha2VyOjpXb3JkQnJlYWtSdWxlPiBJbmxpbmVDb250ZW50QnJlYWtlcjo6d29yZEJyZWFrQmUK
IHZvaWQgSW5saW5lQ29udGVudEJyZWFrZXI6OkNvbnRpbnVvdXNDb250ZW50OjphcHBlbmQoY29u
c3QgSW5saW5lSXRlbSYgaW5saW5lSXRlbSwgY29uc3QgUmVuZGVyU3R5bGUmIHN0eWxlLCBJbmxp
bmVMYXlvdXRVbml0IGxvZ2ljYWxXaWR0aCwgc3RkOjpvcHRpb25hbDxJbmxpbmVMYXlvdXRVbml0
PiBjb2xsYXBzaWJsZVdpZHRoKQogewogICAgIEFTU0VSVChpbmxpbmVJdGVtLmlzVGV4dCgpIHx8
IGlubGluZUl0ZW0uaXNCb3goKSB8fCBpbmxpbmVJdGVtLmlzSW5saW5lQm94U3RhcnQoKSB8fCBp
bmxpbmVJdGVtLmlzSW5saW5lQm94RW5kKCkpOworICAgIGF1dG8gaXNMZWFkaW5nQ29sbGFwc2li
bGUgPSBjb2xsYXBzaWJsZVdpZHRoICYmIChtX3J1bnMuaXNFbXB0eSgpIHx8IGlzRnVsbHlDb2xs
YXBzaWJsZSgpKTsKICAgICBtX3J1bnMuYXBwZW5kKHsgaW5saW5lSXRlbSwgc3R5bGUsIGxvZ2lj
YWxXaWR0aCB9KTsKICAgICBtX2xvZ2ljYWxXaWR0aCA9IGNsYW1wVG88SW5saW5lTGF5b3V0VW5p
dD4obV9sb2dpY2FsV2lkdGggKyBsb2dpY2FsV2lkdGgpOwogICAgIGlmICghY29sbGFwc2libGVX
aWR0aCkgewogICAgICAgICBpZiAoaW5saW5lSXRlbS5pc1RleHQoKSB8fCBpbmxpbmVJdGVtLmlz
Qm94KCkpIHsKICAgICAgICAgICAgIC8vIElubGluZSBib3hlcyBkbyBub3QgcHJldmVudCB0aGUg
dHJhaWxpbmcgY29udGVudCBmcm9tIGdldHRpbmcgY29sbGFwc2VkLgotICAgICAgICAgICAgbV9j
b2xsYXBzaWJsZUxvZ2ljYWxXaWR0aCA9IHsgfTsKKyAgICAgICAgICAgIG1fdHJhaWxpbmdDb2xs
YXBzaWJsZVdpZHRoID0geyB9OwogICAgICAgICB9CiAgICAgICAgIHJldHVybjsKICAgICB9CiAg
ICAgQVNTRVJUKCpjb2xsYXBzaWJsZVdpZHRoIDw9IGxvZ2ljYWxXaWR0aCk7Ci0gICAgaWYgKCpj
b2xsYXBzaWJsZVdpZHRoID09IGxvZ2ljYWxXaWR0aCkgewotICAgICAgICAvLyBGdWxseSBjb2xs
YXBzaWJsZSBydW4uCi0gICAgICAgIG1fY29sbGFwc2libGVMb2dpY2FsV2lkdGggKz0gbG9naWNh
bFdpZHRoOworICAgIGlmIChpc0xlYWRpbmdDb2xsYXBzaWJsZSkgeworICAgICAgICBBU1NFUlQo
IW1fdHJhaWxpbmdDb2xsYXBzaWJsZVdpZHRoKTsKKyAgICAgICAgbV9sZWFkaW5nQ29sbGFwc2li
bGVXaWR0aCArPSAqY29sbGFwc2libGVXaWR0aDsKICAgICAgICAgcmV0dXJuOwogICAgIH0KLSAg
ICAvLyBQYXJ0aWFsbHkgY29sbGFwc2libGUgcnVuLgotICAgIG1fY29sbGFwc2libGVMb2dpY2Fs
V2lkdGggPSAqY29sbGFwc2libGVXaWR0aDsKKyAgICBtX3RyYWlsaW5nQ29sbGFwc2libGVXaWR0
aCA9ICpjb2xsYXBzaWJsZVdpZHRoID09IGxvZ2ljYWxXaWR0aCA/IG1fdHJhaWxpbmdDb2xsYXBz
aWJsZVdpZHRoICsgbG9naWNhbFdpZHRoIDogKmNvbGxhcHNpYmxlV2lkdGg7CiB9CiAKIHZvaWQg
SW5saW5lQ29udGVudEJyZWFrZXI6OkNvbnRpbnVvdXNDb250ZW50OjpyZXNldCgpCiB7CiAgICAg
bV9sb2dpY2FsV2lkdGggPSB7IH07Ci0gICAgbV9jb2xsYXBzaWJsZUxvZ2ljYWxXaWR0aCA9IHsg
fTsKKyAgICBtX2xlYWRpbmdDb2xsYXBzaWJsZVdpZHRoID0geyB9OworICAgIG1fdHJhaWxpbmdD
b2xsYXBzaWJsZVdpZHRoID0geyB9OwogICAgIG1fcnVucy5jbGVhcigpOwogfQogfQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L2Zvcm1hdHRpbmdDb250ZXh0cy9pbmxpbmUvSW5s
aW5lQ29udGVudEJyZWFrZXIuaCBiL1NvdXJjZS9XZWJDb3JlL2xheW91dC9mb3JtYXR0aW5nQ29u
dGV4dHMvaW5saW5lL0lubGluZUNvbnRlbnRCcmVha2VyLmgKaW5kZXggNTczYmE0ZDkwMGEzZDRm
M2Q0MjgyN2MwOThiNzAzY2E2MTliODBlNy4uMDlhYWU4YWZlMmVlNjhiNjU1ZWYzNzczNjEzN2Fh
Y2E1MDJiOGM2OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L2Zvcm1hdHRpbmdD
b250ZXh0cy9pbmxpbmUvSW5saW5lQ29udGVudEJyZWFrZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9sYXlvdXQvZm9ybWF0dGluZ0NvbnRleHRzL2lubGluZS9JbmxpbmVDb250ZW50QnJlYWtlci5o
CkBAIC03NywxMiArNzcsMTIgQEAgcHVibGljOgogICAgIC8vIHNlZSBodHRwczovL2RyYWZ0cy5j
c3N3Zy5vcmcvY3NzLXRleHQtMy8jbGluZS1icmVhay1kZXRhaWxzCiAgICAgc3RydWN0IENvbnRp
bnVvdXNDb250ZW50IHsKICAgICAgICAgSW5saW5lTGF5b3V0VW5pdCBsb2dpY2FsV2lkdGgoKSBj
b25zdCB7IHJldHVybiBtX2xvZ2ljYWxXaWR0aDsgfQotICAgICAgICBJbmxpbmVMYXlvdXRVbml0
IGNvbGxhcHNpYmxlTG9naWNhbFdpZHRoKCkgY29uc3QgeyByZXR1cm4gbV9jb2xsYXBzaWJsZUxv
Z2ljYWxXaWR0aDsgfQotICAgICAgICBJbmxpbmVMYXlvdXRVbml0IG5vbkNvbGxhcHNpYmxlTG9n
aWNhbFdpZHRoKCkgY29uc3QgeyByZXR1cm4gbG9naWNhbFdpZHRoKCkgLSBjb2xsYXBzaWJsZUxv
Z2ljYWxXaWR0aCgpOyB9Ci0gICAgICAgIGJvb2wgaGFzVHJhaWxpbmdDb2xsYXBzaWJsZUNvbnRl
bnQoKSBjb25zdCB7IHJldHVybiAhIWNvbGxhcHNpYmxlTG9naWNhbFdpZHRoKCk7IH0KLSAgICAg
ICAgYm9vbCBpc0Z1bGx5Q29sbGFwc2libGUoKSBjb25zdCB7IHJldHVybiBsb2dpY2FsV2lkdGgo
KSA9PSBjb2xsYXBzaWJsZUxvZ2ljYWxXaWR0aCgpOyB9CisgICAgICAgIElubGluZUxheW91dFVu
aXQgbGVhZGluZ0NvbGxhcHNpYmxlV2lkdGgoKSBjb25zdCB7IHJldHVybiBtX2xlYWRpbmdDb2xs
YXBzaWJsZVdpZHRoOyB9CisgICAgICAgIElubGluZUxheW91dFVuaXQgdHJhaWxpbmdDb2xsYXBz
aWJsZVdpZHRoKCkgY29uc3QgeyByZXR1cm4gbV90cmFpbGluZ0NvbGxhcHNpYmxlV2lkdGg7IH0K
KyAgICAgICAgYm9vbCBoYXNDb2xsYXBzaWJsZUNvbnRlbnQoKSBjb25zdCB7IHJldHVybiB0cmFp
bGluZ0NvbGxhcHNpYmxlV2lkdGgoKSA+IDAgfHwgbGVhZGluZ0NvbGxhcHNpYmxlV2lkdGgoKSA+
IDA7IH0KKyAgICAgICAgYm9vbCBpc0Z1bGx5Q29sbGFwc2libGUoKSBjb25zdCB7IHJldHVybiBs
b2dpY2FsV2lkdGgoKSA9PSB0cmFpbGluZ0NvbGxhcHNpYmxlV2lkdGgoKSArIGxlYWRpbmdDb2xs
YXBzaWJsZVdpZHRoKCk7IH0KIAotICAgICAgICB2b2lkIGFwcGVuZChjb25zdCBJbmxpbmVJdGVt
JiwgY29uc3QgUmVuZGVyU3R5bGUmLCBJbmxpbmVMYXlvdXRVbml0IGxvZ2ljYWxXaWR0aCwgc3Rk
OjpvcHRpb25hbDxJbmxpbmVMYXlvdXRVbml0PiBjb2xsYXBzaWJsZVdpZHRoKTsKKyAgICAgICAg
dm9pZCBhcHBlbmQoY29uc3QgSW5saW5lSXRlbSYsIGNvbnN0IFJlbmRlclN0eWxlJiwgSW5saW5l
TGF5b3V0VW5pdCBsb2dpY2FsV2lkdGgsIHN0ZDo6b3B0aW9uYWw8SW5saW5lTGF5b3V0VW5pdD4g
Y29sbGFwc2libGVXaWR0aCA9IHN0ZDo6bnVsbG9wdCk7CiAgICAgICAgIHZvaWQgcmVzZXQoKTsK
IAogICAgICAgICBzdHJ1Y3QgUnVuIHsKQEAgLTEwMCw3ICsxMDAsOCBAQCBwdWJsaWM6CiAgICAg
cHJpdmF0ZToKICAgICAgICAgUnVuTGlzdCBtX3J1bnM7CiAgICAgICAgIElubGluZUxheW91dFVu
aXQgbV9sb2dpY2FsV2lkdGggeyAwIH07Ci0gICAgICAgIElubGluZUxheW91dFVuaXQgbV9jb2xs
YXBzaWJsZUxvZ2ljYWxXaWR0aCB7IDAgfTsKKyAgICAgICAgSW5saW5lTGF5b3V0VW5pdCBtX2xl
YWRpbmdDb2xsYXBzaWJsZVdpZHRoIHsgMCB9OworICAgICAgICBJbmxpbmVMYXlvdXRVbml0IG1f
dHJhaWxpbmdDb2xsYXBzaWJsZVdpZHRoIHsgMCB9OwogICAgIH07CiAKICAgICBzdHJ1Y3QgTGlu
ZVN0YXR1cyB7CkBAIC0xMDgsNyArMTA5LDcgQEAgcHVibGljOgogICAgICAgICBJbmxpbmVMYXlv
dXRVbml0IGF2YWlsYWJsZVdpZHRoIHsgMCB9OwogICAgICAgICBJbmxpbmVMYXlvdXRVbml0IGNv
bGxhcHNpYmxlV2lkdGggeyAwIH07CiAgICAgICAgIHN0ZDo6b3B0aW9uYWw8SW5saW5lTGF5b3V0
VW5pdD4gdHJhaWxpbmdTb2Z0SHlwaGVuV2lkdGg7Ci0gICAgICAgIGJvb2wgaGFzRnVsbHlDb2xs
YXBzaWJsZVRyYWlsaW5nUnVuIHsgZmFsc2UgfTsKKyAgICAgICAgYm9vbCBoYXNGdWxseUNvbGxh
cHNpYmxlVHJhaWxpbmdDb250ZW50IHsgZmFsc2UgfTsKICAgICAgICAgYm9vbCBoYXNDb250ZW50
IHsgZmFsc2UgfTsKICAgICAgICAgYm9vbCBoYXNXcmFwT3Bwb3J0dW5pdHlBdFByZXZpb3VzUG9z
aXRpb24geyBmYWxzZSB9OwogICAgIH07Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>