<?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>236177</bug_id>
          
          <creation_ts>2022-02-05 06:27:35 -0800</creation_ts>
          <short_desc>[LFC][IFC] Add initial ideographic baseline support</short_desc>
          <delta_ts>2022-02-06 14:30:16 -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>1837740</commentid>
    <comment_count>0</comment_count>
    <who name="alan">zalan</who>
    <bug_when>2022-02-05 06:27:35 -0800</bug_when>
    <thetext>not enabled yet.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1837741</commentid>
    <comment_count>1</comment_count>
      <attachid>450983</attachid>
    <who name="alan">zalan</who>
    <bug_when>2022-02-05 06:35:21 -0800</bug_when>
    <thetext>Created attachment 450983
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1837742</commentid>
    <comment_count>2</comment_count>
      <attachid>450983</attachid>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2022-02-05 07:38:08 -0800</bug_when>
    <thetext>Comment on attachment 450983
Patch

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

&gt; Source/WebCore/layout/formattingContexts/inline/InlineLineBoxBuilder.cpp:207
&gt; +    InlineLayoutUnit ascent = fontMetrics.ascent(useIdeographicBaseline ? IdeographicBaseline : AlphabeticBaseline);
&gt; +    InlineLayoutUnit descent = fontMetrics.descent(useIdeographicBaseline ? IdeographicBaseline : AlphabeticBaseline);

Maybe this code could just use the existing FontBaseline enum everywhere (though it should be enum class)?

&gt; Source/WebCore/layout/formattingContexts/inline/InlineLineBoxBuilder.h:52
&gt; +    enum class UseIdeographicBaseline : uint8_t { No, Yes };

Replacing this too.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1837743</commentid>
    <comment_count>3</comment_count>
    <who name="alan">zalan</who>
    <bug_when>2022-02-05 07:57:52 -0800</bug_when>
    <thetext>good point</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1837794</commentid>
    <comment_count>4</comment_count>
      <attachid>451000</attachid>
    <who name="alan">zalan</who>
    <bug_when>2022-02-05 13:52:26 -0800</bug_when>
    <thetext>Created attachment 451000
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1837949</commentid>
    <comment_count>5</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2022-02-06 14:29:16 -0800</bug_when>
    <thetext>Committed r289183 (246875@main): &lt;https://commits.webkit.org/246875@main&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 451000.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1837950</commentid>
    <comment_count>6</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2022-02-06 14:30:16 -0800</bug_when>
    <thetext>&lt;rdar://problem/88548584&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>450983</attachid>
            <date>2022-02-05 06:35:21 -0800</date>
            <delta_ts>2022-02-05 13:52:24 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-236177-20220205063520.patch</filename>
            <type>text/plain</type>
            <size>10161</size>
            <attacher name="alan">zalan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg5MTM1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYzVmZDU2ZjQyMTJkNzY3
NWM2OWU3M2EyOWIwZTU0MDcyYmFmY2IzMy4uMmE0OGUwNTY2MmJiY2UwMDM5YzRkMWM3MTJmYzJl
Yjc5NTNkYWU4NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI2IEBACisyMDIyLTAyLTA1ICBBbGFu
IEJ1anRhcyAgPHphbGFuQGFwcGxlLmNvbT4KKworICAgICAgICBbTEZDXVtJRkNdIEFkZCBpbml0
aWFsIGlkZW9ncmFwaGljIGJhc2VsaW5lIHN1cHBvcnQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIzNjE3NworCisgICAgICAgIFJldmlld2VkIGJ5IE5P
Qk9EWSAoT09QUyEpLgorCisgICAgICAgIFRoaXMgcGF0Y2ggaXMgaW4gcHJlcGFyYXRpb24gZm9y
IHN1cHBvcnRpbmcgdmVydGljYWwgd3JpdGluZyBtb2RlLgorCisgICAgICAgIFdlIGRvbid0IGtu
b3cgaW4gYWR2YW5jZSBpZiB0aGUgc3R5bGUvY29udGVudCByZXF1aXJlcyBpZGVvZ3JhcGhpYyBv
ciBhbHBoYWJldGljIGJhc2VsaW5lLCBzbworICAgICAgICBlaXRoZXIgd2UgcHJlLWNvbXB1dGUg
aXQgYnkgZ29pbmcgdGhyb3VnaCBhbGwgdGhlIGluZGl2aWR1YWwgcnVucyBvciBwb3N0LWFkanVz
dCBpdAorICAgICAgICBieSBsb29waW5nIHRocm91Z2ggdGhlIG5ld2x5IGNvbnN0cnVjdGVkIGlu
bGluZSBib3hlcyAod2hpY2ggbW9zdCBvZiB0aGUgdGltZSBpcyB0aGUgcm9vdCBpbmxpbmUgYm94
IG9ubHkpLgorICAgICAgICBUaGlzIHBhdGNoIGltcGxlbWVudHMgdGhlIHBvc3QtYWRqdXN0IHZl
cnNpb24gd2hlcmUgYWZ0ZXIgY29uc3RydWN0SW5saW5lTGV2ZWxCb3hlcygpLCB3ZSBjYWxsCisg
ICAgICAgIGFkanVzdElkZW9ncmFwaGljQmFzZWxpbmVJZkFwcGxpY2FibGUgYW5kIHJlc2V0IHRo
ZSBhc2NlbnQvZGVzY2VudCB2YWx1ZXMgYWNjb3JkaW5nbHkuCisKKyAgICAgICAgKiBsYXlvdXQv
Zm9ybWF0dGluZ0NvbnRleHRzL2lubGluZS9JbmxpbmVMaW5lQm94QnVpbGRlci5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpMYXlvdXQ6OkxpbmVCb3hCdWlsZGVyOjpidWlsZCk6CisgICAgICAgIChX
ZWJDb3JlOjpMYXlvdXQ6OkxpbmVCb3hCdWlsZGVyOjphZGp1c3RJZGVvZ3JhcGhpY0Jhc2VsaW5l
SWZBcHBsaWNhYmxlKToKKyAgICAgICAgKFdlYkNvcmU6OkxheW91dDo6Y29tcHV0ZWRIZWlnaHRB
bmRMYXlvdXRCb3VuZHMpOgorICAgICAgICAoV2ViQ29yZTo6TGF5b3V0OjpMaW5lQm94QnVpbGRl
cjo6c2V0VmVydGljYWxHZW9tZXRyeUZvckxpbmVCcmVha0JveCBjb25zdCk6CisgICAgICAgIChX
ZWJDb3JlOjpMYXlvdXQ6OkxpbmVCb3hCdWlsZGVyOjpzZXRJbml0aWFsVmVydGljYWxHZW9tZXRy
eUZvcklubGluZUJveCBjb25zdCk6CisgICAgICAgICogbGF5b3V0L2Zvcm1hdHRpbmdDb250ZXh0
cy9pbmxpbmUvSW5saW5lTGluZUJveEJ1aWxkZXIuaDoKKwogMjAyMi0wMi0wNCAgQWxhbiBCdWp0
YXMgIDx6YWxhbkBhcHBsZS5jb20+CiAKICAgICAgICAgW0xGQ11bSUZDXSBNb3ZlIGFsbCB0aGUg
bGluZSBib3ggdmVydGljYWwgYWxpZ25tZW50IGxvZ2ljIHRvIExpbmVCb3hWZXJ0aWNhbEFsaWdu
ZXIKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xheW91dC9mb3JtYXR0aW5nQ29udGV4dHMv
aW5saW5lL0lubGluZUxpbmVCb3hCdWlsZGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2xheW91dC9m
b3JtYXR0aW5nQ29udGV4dHMvaW5saW5lL0lubGluZUxpbmVCb3hCdWlsZGVyLmNwcAppbmRleCAz
ZThhNjM4MDUxYWYxZmI1NDZiMmYzNGMyNTE3NTBmMGEzMTYwODMxLi5hZmYyMjg5N2RmOGQxMDgz
NjY2NmJjMDkwMzFiYzMwZGQxOTI4Zjc1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sYXlv
dXQvZm9ybWF0dGluZ0NvbnRleHRzL2lubGluZS9JbmxpbmVMaW5lQm94QnVpbGRlci5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvbGF5b3V0L2Zvcm1hdHRpbmdDb250ZXh0cy9pbmxpbmUvSW5saW5l
TGluZUJveEJ1aWxkZXIuY3BwCkBAIC0xMTAsMTAgKzExMCw1NyBAQCBMaW5lQm94QnVpbGRlcjo6
TGluZUJveEFuZEhlaWdodCBMaW5lQm94QnVpbGRlcjo6YnVpbGQoY29uc3QgTGluZUJ1aWxkZXI6
OkxpbmVDbwogICAgIC8vIEZJWE1FOiBUaGUgb3ZlcmZsb3dpbmcgaGFuZ2luZyBjb250ZW50IHNo
b3VsZCBiZSBwYXJ0IG9mIHRoZSBpbmsgb3ZlcmZsb3cuICAKICAgICBhdXRvIGxpbmVCb3ggPSBM
aW5lQm94IHsgcm9vdEJveCgpLCByb290SW5saW5lQm94QWxpZ25tZW50T2Zmc2V0LCBsaW5lQ29u
dGVudC5jb250ZW50TG9naWNhbFdpZHRoIC0gbGluZUNvbnRlbnQuaGFuZ2luZ0NvbnRlbnRXaWR0
aCwgbGluZUluZGV4LCBsaW5lQ29udGVudC5ub25TcGFubmluZ0lubGluZUxldmVsQm94Q291bnQg
fTsKICAgICBjb25zdHJ1Y3RJbmxpbmVMZXZlbEJveGVzKGxpbmVCb3gsIGxpbmVDb250ZW50LCBs
aW5lSW5kZXgpOworICAgIGFkanVzdElkZW9ncmFwaGljQmFzZWxpbmVJZkFwcGxpY2FibGUobGlu
ZUJveCwgbGluZUluZGV4KTsKICAgICBhdXRvIGxpbmVCb3hMb2dpY2FsSGVpZ2h0ID0gTGluZUJv
eFZlcnRpY2FsQWxpZ25lciB7IGZvcm1hdHRpbmdDb250ZXh0KCkgfS5jb21wdXRlTG9naWNhbEhl
aWdodEFuZEFsaWduKGxpbmVCb3gpOwogICAgIHJldHVybiB7IGxpbmVCb3gsIGxpbmVCb3hMb2dp
Y2FsSGVpZ2h0IH07CiB9CiAKK3ZvaWQgTGluZUJveEJ1aWxkZXI6OmFkanVzdElkZW9ncmFwaGlj
QmFzZWxpbmVJZkFwcGxpY2FibGUoTGluZUJveCYgbGluZUJveCwgc2l6ZV90IGxpbmVJbmRleCkK
K3sKKyAgICAvLyBSZS1jb21wdXRlIHRoZSBhc2NlbnQvZGVzY2VudCB2YWx1ZXMgZm9yIHRoZSBp
bmxpbmUgYm94ZXMgb24gdGhlIGxpbmUgKGluY2x1ZGluZyB0aGUgcm9vdCBpbmxpbmUgYm94KQor
ICAgIC8vIHdoZW4gdGhlIHN0eWxlL2NvbnRlbnQgbmVlZHMgaWRlb2dyYXBoaWMgYmFzZWxpbmUg
c2V0dXAgaW4gdmVydGljYWwgd3JpdGluZyBtb2RlLiAgCisgICAgYXV0byYgcm9vdElubGluZUJv
eCA9IGxpbmVCb3gucm9vdElubGluZUJveCgpOworCisgICAgYXV0byBsaW5lTmVlZHNJZGVvZ3Jh
cGhpY0Jhc2VsaW5lID0gWyZdIHsKKyAgICAgICAgYXV0byBzdHlsZVRvVXNlID0gWyZdIChhdXRv
JiBpbmxpbmVMZXZlbEJveCkgLT4gY29uc3QgUmVuZGVyU3R5bGUmIHsKKyAgICAgICAgICAgIHJl
dHVybiAhbGluZUluZGV4ID8gaW5saW5lTGV2ZWxCb3gubGF5b3V0Qm94KCkuZmlyc3RMaW5lU3R5
bGUoKSA6IGlubGluZUxldmVsQm94LmxheW91dEJveCgpLnN0eWxlKCk7CisgICAgICAgIH07Cisg
ICAgICAgIGF1dG8mIHJvb3RJbmxpbmVCb3hTdHlsZSA9IHN0eWxlVG9Vc2Uocm9vdElubGluZUJv
eCk7CisgICAgICAgIGlmIChyb290SW5saW5lQm94U3R5bGUuaXNIb3Jpem9udGFsV3JpdGluZ01v
ZGUoKSkKKyAgICAgICAgICAgIHJldHVybiBmYWxzZTsKKworICAgICAgICBhdXRvIHN0eWxlUmVx
dWlyZXNJZGVvZ3JhcGhpY0Jhc2VsaW5lID0gWyZdIChhdXRvJiBzdHlsZSkgeworICAgICAgICAg
ICAgcmV0dXJuIHN0eWxlLmZvbnREZXNjcmlwdGlvbigpLm9yaWVudGF0aW9uKCkgPT0gRm9udE9y
aWVudGF0aW9uOjpWZXJ0aWNhbCB8fCBzdHlsZS5mb250Q2FzY2FkZSgpLnByaW1hcnlGb250KCku
aGFzVmVydGljYWxHbHlwaHMoKTsKKyAgICAgICAgfTsKKworICAgICAgICBpZiAoc3R5bGVSZXF1
aXJlc0lkZW9ncmFwaGljQmFzZWxpbmUocm9vdElubGluZUJveFN0eWxlKSkKKyAgICAgICAgICAg
IHJldHVybiB0cnVlOworICAgICAgICBmb3IgKGF1dG8mIGlubGluZUxldmVsQm94IDogbGluZUJv
eC5ub25Sb290SW5saW5lTGV2ZWxCb3hlcygpKSB7CisgICAgICAgICAgICBpZiAoc3R5bGVSZXF1
aXJlc0lkZW9ncmFwaGljQmFzZWxpbmUoc3R5bGVUb1VzZShpbmxpbmVMZXZlbEJveCkpKQorICAg
ICAgICAgICAgICAgIHJldHVybiB0cnVlOworICAgICAgICB9CisKKyAgICAgICAgYXV0byBjb250
ZW50UmVxdWlyZXNJZGVvZ3JhcGhpY0Jhc2VsaW5lID0gWyZdIHsKKyAgICAgICAgICAgIC8vIEZJ
WE1FOiBBZGQgc3VwcG9ydCBmb3IgZmFsbGJhY2sgZm9udHMuCisgICAgICAgICAgICByZXR1cm4g
ZmFsc2U7CisgICAgICAgIH07CisgICAgICAgIHJldHVybiBjb250ZW50UmVxdWlyZXNJZGVvZ3Jh
cGhpY0Jhc2VsaW5lKCk7CisgICAgfTsKKworICAgIGlmICghbGluZU5lZWRzSWRlb2dyYXBoaWNC
YXNlbGluZSgpKQorICAgICAgICByZXR1cm47CisKKyAgICBzZXRJbml0aWFsVmVydGljYWxHZW9t
ZXRyeUZvcklubGluZUJveChyb290SW5saW5lQm94LCBVc2VJZGVvZ3JhcGhpY0Jhc2VsaW5lOjpZ
ZXMpOworICAgIGZvciAoYXV0byYgaW5saW5lTGV2ZWxCb3ggOiBsaW5lQm94Lm5vblJvb3RJbmxp
bmVMZXZlbEJveGVzKCkpIHsKKyAgICAgICAgaWYgKGlubGluZUxldmVsQm94LmlzSW5saW5lQm94
KCkpCisgICAgICAgICAgICBzZXRJbml0aWFsVmVydGljYWxHZW9tZXRyeUZvcklubGluZUJveChp
bmxpbmVMZXZlbEJveCwgVXNlSWRlb2dyYXBoaWNCYXNlbGluZTo6WWVzKTsKKyAgICAgICAgZWxz
ZSBpZiAoaW5saW5lTGV2ZWxCb3guaXNMaW5lQnJlYWtCb3goKSkgeworICAgICAgICAgICAgYXV0
byYgcGFyZW50SW5saW5lQm94ID0gbGluZUJveC5pbmxpbmVMZXZlbEJveEZvckxheW91dEJveChp
bmxpbmVMZXZlbEJveC5sYXlvdXRCb3goKS5wYXJlbnQoKSk7CisgICAgICAgICAgICBzZXRWZXJ0
aWNhbEdlb21ldHJ5Rm9yTGluZUJyZWFrQm94KGlubGluZUxldmVsQm94LCBwYXJlbnRJbmxpbmVC
b3gsIFVzZUlkZW9ncmFwaGljQmFzZWxpbmU6Olllcyk7CisgICAgICAgIH0KKyAgICB9Cit9CisK
IHZvaWQgTGluZUJveEJ1aWxkZXI6OmFkanVzdFZlcnRpY2FsR2VvbWV0cnlGb3JJbmxpbmVCb3hX
aXRoRmFsbGJhY2tGb250cyhJbmxpbmVMZXZlbEJveCYgaW5saW5lQm94LCBjb25zdCBUZXh0VXRp
bDo6RmFsbGJhY2tGb250TGlzdCYgZmFsbGJhY2tGb250c0ZvckNvbnRlbnQpIGNvbnN0CiB7CiAg
ICAgQVNTRVJUKCFmYWxsYmFja0ZvbnRzRm9yQ29udGVudC5pc0VtcHR5KCkpOwpAQCAtMTU0LDEw
ICsyMDEsMTAgQEAgc3RydWN0IEhlaWdodEFuZExheW91dEJvdW5kcyB7CiAgICAgSW5saW5lTGF5
b3V0VW5pdCBkZXNjZW50IHsgMCB9OwogICAgIElubGluZUxldmVsQm94OjpMYXlvdXRCb3VuZHMg
bGF5b3V0Qm91bmRzIHsgfTsKIH07Ci1zdGF0aWMgYXV0byBjb21wdXRlZEhlaWdodEFuZExheW91
dEJvdW5kcyhjb25zdCBGb250TWV0cmljcyYgZm9udE1ldHJpY3MsIHN0ZDo6b3B0aW9uYWw8SW5s
aW5lTGF5b3V0VW5pdD4gcHJlZmVycmVkTGluZUhlaWdodCkKK3N0YXRpYyBhdXRvIGNvbXB1dGVk
SGVpZ2h0QW5kTGF5b3V0Qm91bmRzKGNvbnN0IEZvbnRNZXRyaWNzJiBmb250TWV0cmljcywgYm9v
bCB1c2VJZGVvZ3JhcGhpY0Jhc2VsaW5lLCBzdGQ6Om9wdGlvbmFsPElubGluZUxheW91dFVuaXQ+
IHByZWZlcnJlZExpbmVIZWlnaHQpCiB7Ci0gICAgSW5saW5lTGF5b3V0VW5pdCBhc2NlbnQgPSBm
b250TWV0cmljcy5hc2NlbnQoKTsKLSAgICBJbmxpbmVMYXlvdXRVbml0IGRlc2NlbnQgPSBmb250
TWV0cmljcy5kZXNjZW50KCk7CisgICAgSW5saW5lTGF5b3V0VW5pdCBhc2NlbnQgPSBmb250TWV0
cmljcy5hc2NlbnQodXNlSWRlb2dyYXBoaWNCYXNlbGluZSA/IElkZW9ncmFwaGljQmFzZWxpbmUg
OiBBbHBoYWJldGljQmFzZWxpbmUpOworICAgIElubGluZUxheW91dFVuaXQgZGVzY2VudCA9IGZv
bnRNZXRyaWNzLmRlc2NlbnQodXNlSWRlb2dyYXBoaWNCYXNlbGluZSA/IElkZW9ncmFwaGljQmFz
ZWxpbmUgOiBBbHBoYWJldGljQmFzZWxpbmUpOwogICAgIGF1dG8gbG9naWNhbEhlaWdodCA9IGFz
Y2VudCArIGRlc2NlbnQ7CiAKICAgICBpZiAocHJlZmVycmVkTGluZUhlaWdodCkgewpAQCAtMTc0
LDcgKzIyMSw3IEBAIHN0YXRpYyBhdXRvIGNvbXB1dGVkSGVpZ2h0QW5kTGF5b3V0Qm91bmRzKGNv
bnN0IEZvbnRNZXRyaWNzJiBmb250TWV0cmljcywgc3RkOjpvCiAgICAgcmV0dXJuIEhlaWdodEFu
ZExheW91dEJvdW5kcyB7IGFzY2VudCwgZGVzY2VudCwgeyBhc2NlbnQgKyBoYWxmTGluZUdhcCwg
ZGVzY2VudCArIGhhbGZMaW5lR2FwIH0gfTsKIH0KIAotdm9pZCBMaW5lQm94QnVpbGRlcjo6c2V0
VmVydGljYWxHZW9tZXRyeUZvckxpbmVCcmVha0JveChJbmxpbmVMZXZlbEJveCYgbGluZUJyZWFr
Qm94LCBjb25zdCBJbmxpbmVMZXZlbEJveCYgcGFyZW50SW5saW5lQm94KSBjb25zdAordm9pZCBM
aW5lQm94QnVpbGRlcjo6c2V0VmVydGljYWxHZW9tZXRyeUZvckxpbmVCcmVha0JveChJbmxpbmVM
ZXZlbEJveCYgbGluZUJyZWFrQm94LCBjb25zdCBJbmxpbmVMZXZlbEJveCYgcGFyZW50SW5saW5l
Qm94LCBVc2VJZGVvZ3JhcGhpY0Jhc2VsaW5lIHVzZUlkZW9ncmFwaGljQmFzZWxpbmUpIGNvbnN0
CiB7CiAgICAgLy8gV2UgbmVlZCBmbG9vci9jZWlsIHRvIG1hdGNoIGxlZ2FjeSBsYXlvdXQgaW50
ZWdyYWwgcG9zaXRpb25pbmcuCiAgICAgQVNTRVJUKGxpbmVCcmVha0JveC5pc0xpbmVCcmVha0Jv
eCgpKTsKQEAgLTE4Miw3ICsyMjksNyBAQCB2b2lkIExpbmVCb3hCdWlsZGVyOjpzZXRWZXJ0aWNh
bEdlb21ldHJ5Rm9yTGluZUJyZWFrQm94KElubGluZUxldmVsQm94JiBsaW5lQnJlYQogCiAgICAg
YXV0byYgZm9udE1ldHJpY3MgPSBwYXJlbnRJbmxpbmVCb3gucHJpbWFyeW1ldHJpY3NPZlByaW1h
cnlGb250KCk7CiAgICAgYXV0byBwcmVmZXJyZWRMaW5lSGVpZ2h0ID0gcGFyZW50SW5saW5lQm94
LmlzUHJlZmVycmVkTGluZUhlaWdodEZvbnRNZXRyaWNzQmFzZWQoKSA/IHN0ZDo6bnVsbG9wdCA6
IHN0ZDo6bWFrZV9vcHRpb25hbChwYXJlbnRJbmxpbmVCb3gucHJlZmVycmVkTGluZUhlaWdodCgp
KTsKLSAgICBhdXRvIGhlaWdodEFuZExheW91dEJvdW5kcyA9IGNvbXB1dGVkSGVpZ2h0QW5kTGF5
b3V0Qm91bmRzKGZvbnRNZXRyaWNzLCBwcmVmZXJyZWRMaW5lSGVpZ2h0KTsKKyAgICBhdXRvIGhl
aWdodEFuZExheW91dEJvdW5kcyA9IGNvbXB1dGVkSGVpZ2h0QW5kTGF5b3V0Qm91bmRzKGZvbnRN
ZXRyaWNzLCB1c2VJZGVvZ3JhcGhpY0Jhc2VsaW5lID09IFVzZUlkZW9ncmFwaGljQmFzZWxpbmU6
OlllcywgcHJlZmVycmVkTGluZUhlaWdodCk7CiAKICAgICBsaW5lQnJlYWtCb3guc2V0QmFzZWxp
bmUoZmxvb3JmKGhlaWdodEFuZExheW91dEJvdW5kcy5hc2NlbnQpKTsKICAgICBsaW5lQnJlYWtC
b3guc2V0RGVzY2VudChjZWlsZihoZWlnaHRBbmRMYXlvdXRCb3VuZHMuZGVzY2VudCkpOwpAQCAt
MTkwLDE0ICsyMzcsMTQgQEAgdm9pZCBMaW5lQm94QnVpbGRlcjo6c2V0VmVydGljYWxHZW9tZXRy
eUZvckxpbmVCcmVha0JveChJbmxpbmVMZXZlbEJveCYgbGluZUJyZWEKICAgICBsaW5lQnJlYWtC
b3guc2V0TGF5b3V0Qm91bmRzKHsgZmxvb3JmKGhlaWdodEFuZExheW91dEJvdW5kcy5sYXlvdXRC
b3VuZHMuYXNjZW50KSwgY2VpbGYoaGVpZ2h0QW5kTGF5b3V0Qm91bmRzLmxheW91dEJvdW5kcy5k
ZXNjZW50KSB9KTsKIH0KIAotdm9pZCBMaW5lQm94QnVpbGRlcjo6c2V0SW5pdGlhbFZlcnRpY2Fs
R2VvbWV0cnlGb3JJbmxpbmVCb3goSW5saW5lTGV2ZWxCb3gmIGlubGluZUJveCkgY29uc3QKK3Zv
aWQgTGluZUJveEJ1aWxkZXI6OnNldEluaXRpYWxWZXJ0aWNhbEdlb21ldHJ5Rm9ySW5saW5lQm94
KElubGluZUxldmVsQm94JiBpbmxpbmVCb3gsIFVzZUlkZW9ncmFwaGljQmFzZWxpbmUgdXNlSWRl
b2dyYXBoaWNCYXNlbGluZSkgY29uc3QKIHsKICAgICAvLyBXZSBuZWVkIGZsb29yL2NlaWwgdG8g
bWF0Y2ggbGVnYWN5IGxheW91dCBpbnRlZ3JhbCBwb3NpdGlvbmluZy4KICAgICBBU1NFUlQoaW5s
aW5lQm94LmlzSW5saW5lQm94KCkpOwogCiAgICAgYXV0byYgZm9udE1ldHJpY3MgPSBpbmxpbmVC
b3gucHJpbWFyeW1ldHJpY3NPZlByaW1hcnlGb250KCk7CiAgICAgYXV0byBwcmVmZXJyZWRMaW5l
SGVpZ2h0ID0gaW5saW5lQm94LmlzUHJlZmVycmVkTGluZUhlaWdodEZvbnRNZXRyaWNzQmFzZWQo
KSA/IHN0ZDo6bnVsbG9wdCA6IHN0ZDo6bWFrZV9vcHRpb25hbChpbmxpbmVCb3gucHJlZmVycmVk
TGluZUhlaWdodCgpKTsKLSAgICBhdXRvIGhlaWdodEFuZExheW91dEJvdW5kcyA9IGNvbXB1dGVk
SGVpZ2h0QW5kTGF5b3V0Qm91bmRzKGZvbnRNZXRyaWNzLCBwcmVmZXJyZWRMaW5lSGVpZ2h0KTsK
KyAgICBhdXRvIGhlaWdodEFuZExheW91dEJvdW5kcyA9IGNvbXB1dGVkSGVpZ2h0QW5kTGF5b3V0
Qm91bmRzKGZvbnRNZXRyaWNzLCB1c2VJZGVvZ3JhcGhpY0Jhc2VsaW5lID09IFVzZUlkZW9ncmFw
aGljQmFzZWxpbmU6OlllcywgcHJlZmVycmVkTGluZUhlaWdodCk7CiAKICAgICBpbmxpbmVCb3gu
c2V0QmFzZWxpbmUoZmxvb3JmKGhlaWdodEFuZExheW91dEJvdW5kcy5hc2NlbnQpKTsKICAgICBp
bmxpbmVCb3guc2V0RGVzY2VudChjZWlsZihoZWlnaHRBbmRMYXlvdXRCb3VuZHMuZGVzY2VudCkp
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L2Zvcm1hdHRpbmdDb250ZXh0cy9p
bmxpbmUvSW5saW5lTGluZUJveEJ1aWxkZXIuaCBiL1NvdXJjZS9XZWJDb3JlL2xheW91dC9mb3Jt
YXR0aW5nQ29udGV4dHMvaW5saW5lL0lubGluZUxpbmVCb3hCdWlsZGVyLmgKaW5kZXggMTY2NmU4
NGYyZmJmYzFmMjcyMDEyYmVkMWQ2YTdmNzkzMDM5NjI2Yi4uMzA5NjU1MDc3Yjk3Yzc5MDk0OTcw
YTRmNWY3MWZlZDY5NTEwNTlkYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L2Zv
cm1hdHRpbmdDb250ZXh0cy9pbmxpbmUvSW5saW5lTGluZUJveEJ1aWxkZXIuaAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9sYXlvdXQvZm9ybWF0dGluZ0NvbnRleHRzL2lubGluZS9JbmxpbmVMaW5lQm94
QnVpbGRlci5oCkBAIC00OSwxMCArNDksMTIgQEAgcHVibGljOgogICAgIExpbmVCb3hBbmRIZWln
aHQgYnVpbGQoY29uc3QgTGluZUJ1aWxkZXI6OkxpbmVDb250ZW50Jiwgc2l6ZV90IGxpbmVJbmRl
eCk7CiAKIHByaXZhdGU6Ci0gICAgdm9pZCBzZXRJbml0aWFsVmVydGljYWxHZW9tZXRyeUZvcklu
bGluZUJveChJbmxpbmVMZXZlbEJveCYpIGNvbnN0OwotICAgIHZvaWQgc2V0VmVydGljYWxHZW9t
ZXRyeUZvckxpbmVCcmVha0JveChJbmxpbmVMZXZlbEJveCYgbGluZUJyZWFrQm94LCBjb25zdCBJ
bmxpbmVMZXZlbEJveCYgcGFyZW50SW5saW5lQm94KSBjb25zdDsKKyAgICBlbnVtIGNsYXNzIFVz
ZUlkZW9ncmFwaGljQmFzZWxpbmUgOiB1aW50OF90IHsgTm8sIFllcyB9OworICAgIHZvaWQgc2V0
SW5pdGlhbFZlcnRpY2FsR2VvbWV0cnlGb3JJbmxpbmVCb3goSW5saW5lTGV2ZWxCb3gmLCBVc2VJ
ZGVvZ3JhcGhpY0Jhc2VsaW5lID0gVXNlSWRlb2dyYXBoaWNCYXNlbGluZTo6Tm8pIGNvbnN0Owor
ICAgIHZvaWQgc2V0VmVydGljYWxHZW9tZXRyeUZvckxpbmVCcmVha0JveChJbmxpbmVMZXZlbEJv
eCYgbGluZUJyZWFrQm94LCBjb25zdCBJbmxpbmVMZXZlbEJveCYgcGFyZW50SW5saW5lQm94LCBV
c2VJZGVvZ3JhcGhpY0Jhc2VsaW5lID0gVXNlSWRlb2dyYXBoaWNCYXNlbGluZTo6Tm8pIGNvbnN0
OwogICAgIHZvaWQgYWRqdXN0VmVydGljYWxHZW9tZXRyeUZvcklubGluZUJveFdpdGhGYWxsYmFj
a0ZvbnRzKElubGluZUxldmVsQm94JiwgY29uc3QgVGV4dFV0aWw6OkZhbGxiYWNrRm9udExpc3Qm
KSBjb25zdDsKICAgICB2b2lkIGNvbnN0cnVjdElubGluZUxldmVsQm94ZXMoTGluZUJveCYsIGNv
bnN0IExpbmVCdWlsZGVyOjpMaW5lQ29udGVudCYsIHNpemVfdCBsaW5lSW5kZXgpOworICAgIHZv
aWQgYWRqdXN0SWRlb2dyYXBoaWNCYXNlbGluZUlmQXBwbGljYWJsZShMaW5lQm94Jiwgc2l6ZV90
IGxpbmVJbmRleCk7CiAKICAgICBjb25zdCBJbmxpbmVGb3JtYXR0aW5nQ29udGV4dCYgZm9ybWF0
dGluZ0NvbnRleHQoKSBjb25zdCB7IHJldHVybiBtX2lubGluZUZvcm1hdHRpbmdDb250ZXh0OyB9
CiAgICAgY29uc3QgQm94JiByb290Qm94KCkgY29uc3QgeyByZXR1cm4gZm9ybWF0dGluZ0NvbnRl
eHQoKS5yb290KCk7IH0K
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>451000</attachid>
            <date>2022-02-05 13:52:26 -0800</date>
            <delta_ts>2022-02-06 14:29:18 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-236177-20220205135225.patch</filename>
            <type>text/plain</type>
            <size>7088</size>
            <attacher name="alan">zalan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg5MTM1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOTlhZGNjMWQ0MTc5OGFj
MGIwOWIwZmZjMmUyMTNkOGVjMzk3N2ZjYy4uODc4YTJiODU5MTRkMjkyOGJiYmExZmFmYzVhMjg4
MDYyMTY5OGNlZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI1IEBACisyMDIyLTAyLTA1ICBBbGFu
IEJ1anRhcyAgPHphbGFuQGFwcGxlLmNvbT4KKworICAgICAgICBbTEZDXVtJRkNdIEFkZCBpbml0
aWFsIGlkZW9ncmFwaGljIGJhc2VsaW5lIHN1cHBvcnQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIzNjE3NworCisgICAgICAgIFJldmlld2VkIGJ5IE5P
Qk9EWSAoT09QUyEpLgorCisgICAgICAgIFRoaXMgcGF0Y2ggaXMgaW4gcHJlcGFyYXRpb24gZm9y
IHN1cHBvcnRpbmcgdmVydGljYWwgd3JpdGluZyBtb2RlLgorCisgICAgICAgIFdlIGRvbid0IGtu
b3cgaW4gYWR2YW5jZSBpZiB0aGUgc3R5bGUvY29udGVudCByZXF1aXJlcyBpZGVvZ3JhcGhpYyBv
ciBhbHBoYWJldGljIGJhc2VsaW5lLCBzbworICAgICAgICBlaXRoZXIgd2UgcHJlLWNvbXB1dGUg
aXQgYnkgZ29pbmcgdGhyb3VnaCBhbGwgdGhlIGluZGl2aWR1YWwgcnVucyBvciBwb3N0LWFkanVz
dCBpdAorICAgICAgICBieSBsb29waW5nIHRocm91Z2ggdGhlIG5ld2x5IGNvbnN0cnVjdGVkIGlu
bGluZSBib3hlcyAod2hpY2ggbW9zdCBvZiB0aGUgdGltZSBpcyB0aGUgcm9vdCBpbmxpbmUgYm94
IG9ubHkpLgorICAgICAgICBUaGlzIHBhdGNoIGltcGxlbWVudHMgdGhlIHBvc3QtYWRqdXN0IHZl
cnNpb24gd2hlcmUgYWZ0ZXIgY29uc3RydWN0SW5saW5lTGV2ZWxCb3hlcygpLCB3ZSBjYWxsCisg
ICAgICAgIGFkanVzdElkZW9ncmFwaGljQmFzZWxpbmVJZkFwcGxpY2FibGUgYW5kIHJlc2V0IHRo
ZSBhc2NlbnQvZGVzY2VudCB2YWx1ZXMgYWNjb3JkaW5nbHkuCisKKyAgICAgICAgKiBsYXlvdXQv
Zm9ybWF0dGluZ0NvbnRleHRzL2lubGluZS9JbmxpbmVMaW5lQm94QnVpbGRlci5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpMYXlvdXQ6OkxpbmVCb3hCdWlsZGVyOjpidWlsZCk6CisgICAgICAgIChX
ZWJDb3JlOjpMYXlvdXQ6OkxpbmVCb3hCdWlsZGVyOjphZGp1c3RJZGVvZ3JhcGhpY0Jhc2VsaW5l
SWZBcHBsaWNhYmxlKToKKyAgICAgICAgKFdlYkNvcmU6OkxheW91dDo6Y29tcHV0ZWRIZWlnaHRB
bmRMYXlvdXRCb3VuZHMpOgorICAgICAgICAoV2ViQ29yZTo6TGF5b3V0OjpMaW5lQm94QnVpbGRl
cjo6c2V0VmVydGljYWxHZW9tZXRyeUZvckxpbmVCcmVha0JveCBjb25zdCk6CisgICAgICAgIChX
ZWJDb3JlOjpMYXlvdXQ6OkxpbmVCb3hCdWlsZGVyOjpzZXRJbml0aWFsVmVydGljYWxHZW9tZXRy
eUZvcklubGluZUJveCBjb25zdCk6CisKIDIwMjItMDItMDUgIEFsYW4gQnVqdGFzICA8emFsYW5A
YXBwbGUuY29tPgogCiAgICAgICAgIFtMRkNdW0lGQ10gSW50cm9kdWNlIExpbmVCb3hCdWlsZGVy
OjpzZXRCYXNlbGluZUFuZExheW91dEJvdW5kcy9sYXlvdXRCb3VuZHNNZXRyaWNzRm9ySW5saW5l
Qm94CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvZm9ybWF0dGluZ0NvbnRleHRz
L2lubGluZS9JbmxpbmVMaW5lQm94QnVpbGRlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQv
Zm9ybWF0dGluZ0NvbnRleHRzL2lubGluZS9JbmxpbmVMaW5lQm94QnVpbGRlci5jcHAKaW5kZXgg
MGEzYTdmZTJmYTcxNjIyZjdmYjU0ODI1YjZhNzM0YzI0ZDE3NTE5Ny4uYTZlZDc0ZDM3NGE0MzRh
NGViM2Q0ZDQyY2IwYjM5MDI1ZGI4NmFiZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbGF5
b3V0L2Zvcm1hdHRpbmdDb250ZXh0cy9pbmxpbmUvSW5saW5lTGluZUJveEJ1aWxkZXIuY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL2xheW91dC9mb3JtYXR0aW5nQ29udGV4dHMvaW5saW5lL0lubGlu
ZUxpbmVCb3hCdWlsZGVyLmNwcApAQCAtMTEwLDYgKzExMCw3IEBAIExpbmVCb3hCdWlsZGVyOjpM
aW5lQm94QW5kSGVpZ2h0IExpbmVCb3hCdWlsZGVyOjpidWlsZChjb25zdCBMaW5lQnVpbGRlcjo6
TGluZUNvCiAgICAgLy8gRklYTUU6IFRoZSBvdmVyZmxvd2luZyBoYW5naW5nIGNvbnRlbnQgc2hv
dWxkIGJlIHBhcnQgb2YgdGhlIGluayBvdmVyZmxvdy4gIAogICAgIGF1dG8gbGluZUJveCA9IExp
bmVCb3ggeyByb290Qm94KCksIHJvb3RJbmxpbmVCb3hBbGlnbm1lbnRPZmZzZXQsIGxpbmVDb250
ZW50LmNvbnRlbnRMb2dpY2FsV2lkdGggLSBsaW5lQ29udGVudC5oYW5naW5nQ29udGVudFdpZHRo
LCBsaW5lSW5kZXgsIGxpbmVDb250ZW50Lm5vblNwYW5uaW5nSW5saW5lTGV2ZWxCb3hDb3VudCB9
OwogICAgIGNvbnN0cnVjdElubGluZUxldmVsQm94ZXMobGluZUJveCwgbGluZUNvbnRlbnQsIGxp
bmVJbmRleCk7CisgICAgYWRqdXN0SWRlb2dyYXBoaWNCYXNlbGluZUlmQXBwbGljYWJsZShsaW5l
Qm94LCBsaW5lSW5kZXgpOwogICAgIGF1dG8gbGluZUJveExvZ2ljYWxIZWlnaHQgPSBMaW5lQm94
VmVydGljYWxBbGlnbmVyIHsgZm9ybWF0dGluZ0NvbnRleHQoKSB9LmNvbXB1dGVMb2dpY2FsSGVp
Z2h0QW5kQWxpZ24obGluZUJveCk7CiAgICAgcmV0dXJuIHsgbGluZUJveCwgbGluZUJveExvZ2lj
YWxIZWlnaHQgfTsKIH0KQEAgLTE1NSwxMiArMTU2LDEyIEBAIHN0cnVjdCBMYXlvdXRCb3VuZHNN
ZXRyaWNzIHsKICAgICBJbmxpbmVMYXlvdXRVbml0IGxpbmVTcGFjaW5nIHsgMCB9OwogICAgIHN0
ZDo6b3B0aW9uYWw8SW5saW5lTGF5b3V0VW5pdD4gcHJlZmVycmVkTGluZUhlaWdodCB7IH07CiB9
Owotc3RhdGljIExheW91dEJvdW5kc01ldHJpY3MgbGF5b3V0Qm91bmRzTWV0cmljc0ZvcklubGlu
ZUJveChjb25zdCBJbmxpbmVMZXZlbEJveCYgaW5saW5lQm94KQorc3RhdGljIExheW91dEJvdW5k
c01ldHJpY3MgbGF5b3V0Qm91bmRzTWV0cmljc0ZvcklubGluZUJveChjb25zdCBJbmxpbmVMZXZl
bEJveCYgaW5saW5lQm94LCBGb250QmFzZWxpbmUgZm9udEJhc2VsaW5lID0gQWxwaGFiZXRpY0Jh
c2VsaW5lKQogewogICAgIEFTU0VSVChpbmxpbmVCb3guaXNJbmxpbmVCb3goKSk7CiAgICAgYXV0
byYgZm9udE1ldHJpY3MgPSBpbmxpbmVCb3gucHJpbWFyeW1ldHJpY3NPZlByaW1hcnlGb250KCk7
Ci0gICAgSW5saW5lTGF5b3V0VW5pdCBhc2NlbnQgPSBmb250TWV0cmljcy5hc2NlbnQoKTsKLSAg
ICBJbmxpbmVMYXlvdXRVbml0IGRlc2NlbnQgPSBmb250TWV0cmljcy5kZXNjZW50KCk7CisgICAg
SW5saW5lTGF5b3V0VW5pdCBhc2NlbnQgPSBmb250TWV0cmljcy5hc2NlbnQoZm9udEJhc2VsaW5l
KTsKKyAgICBJbmxpbmVMYXlvdXRVbml0IGRlc2NlbnQgPSBmb250TWV0cmljcy5kZXNjZW50KGZv
bnRCYXNlbGluZSk7CiAgICAgSW5saW5lTGF5b3V0VW5pdCBsaW5lU3BhY2luZyA9IGZvbnRNZXRy
aWNzLmxpbmVTcGFjaW5nKCk7CiAgICAgcmV0dXJuIHsgYXNjZW50LCBkZXNjZW50LCBsaW5lU3Bh
Y2luZywgaW5saW5lQm94LmlzUHJlZmVycmVkTGluZUhlaWdodEZvbnRNZXRyaWNzQmFzZWQoKSA/
IHN0ZDo6bnVsbG9wdCA6IHN0ZDo6bWFrZV9vcHRpb25hbChpbmxpbmVCb3gucHJlZmVycmVkTGlu
ZUhlaWdodCgpKSB9OwogfQpAQCAtMzIzLDYgKzMyNCw1MiBAQCB2b2lkIExpbmVCb3hCdWlsZGVy
Ojpjb25zdHJ1Y3RJbmxpbmVMZXZlbEJveGVzKExpbmVCb3gmIGxpbmVCb3gsIGNvbnN0IExpbmVC
dWlsZAogICAgIGxpbmVCb3guc2V0SGFzQ29udGVudChsaW5lSGFzQ29udGVudCk7CiB9CiAKK3Zv
aWQgTGluZUJveEJ1aWxkZXI6OmFkanVzdElkZW9ncmFwaGljQmFzZWxpbmVJZkFwcGxpY2FibGUo
TGluZUJveCYgbGluZUJveCwgc2l6ZV90IGxpbmVJbmRleCkKK3sKKyAgICAvLyBSZS1jb21wdXRl
IHRoZSBhc2NlbnQvZGVzY2VudCB2YWx1ZXMgZm9yIHRoZSBpbmxpbmUgYm94ZXMgb24gdGhlIGxp
bmUgKGluY2x1ZGluZyB0aGUgcm9vdCBpbmxpbmUgYm94KQorICAgIC8vIHdoZW4gdGhlIHN0eWxl
L2NvbnRlbnQgbmVlZHMgaWRlb2dyYXBoaWMgYmFzZWxpbmUgc2V0dXAgaW4gdmVydGljYWwgd3Jp
dGluZyBtb2RlLgorICAgIGF1dG8mIHJvb3RJbmxpbmVCb3ggPSBsaW5lQm94LnJvb3RJbmxpbmVC
b3goKTsKKworICAgIGF1dG8gbGluZU5lZWRzSWRlb2dyYXBoaWNCYXNlbGluZSA9IFsmXSB7Cisg
ICAgICAgIGF1dG8gc3R5bGVUb1VzZSA9IFsmXSAoYXV0byYgaW5saW5lTGV2ZWxCb3gpIC0+IGNv
bnN0IFJlbmRlclN0eWxlJiB7CisgICAgICAgICAgICByZXR1cm4gIWxpbmVJbmRleCA/IGlubGlu
ZUxldmVsQm94LmxheW91dEJveCgpLmZpcnN0TGluZVN0eWxlKCkgOiBpbmxpbmVMZXZlbEJveC5s
YXlvdXRCb3goKS5zdHlsZSgpOworICAgICAgICB9OworICAgICAgICBhdXRvJiByb290SW5saW5l
Qm94U3R5bGUgPSBzdHlsZVRvVXNlKHJvb3RJbmxpbmVCb3gpOworICAgICAgICBpZiAocm9vdElu
bGluZUJveFN0eWxlLmlzSG9yaXpvbnRhbFdyaXRpbmdNb2RlKCkpCisgICAgICAgICAgICByZXR1
cm4gZmFsc2U7CisKKyAgICAgICAgYXV0byBzdHlsZVJlcXVpcmVzSWRlb2dyYXBoaWNCYXNlbGlu
ZSA9IFsmXSAoYXV0byYgc3R5bGUpIHsKKyAgICAgICAgICAgIHJldHVybiBzdHlsZS5mb250RGVz
Y3JpcHRpb24oKS5vcmllbnRhdGlvbigpID09IEZvbnRPcmllbnRhdGlvbjo6VmVydGljYWwgfHwg
c3R5bGUuZm9udENhc2NhZGUoKS5wcmltYXJ5Rm9udCgpLmhhc1ZlcnRpY2FsR2x5cGhzKCk7Cisg
ICAgICAgIH07CisKKyAgICAgICAgaWYgKHN0eWxlUmVxdWlyZXNJZGVvZ3JhcGhpY0Jhc2VsaW5l
KHJvb3RJbmxpbmVCb3hTdHlsZSkpCisgICAgICAgICAgICByZXR1cm4gdHJ1ZTsKKyAgICAgICAg
Zm9yIChhdXRvJiBpbmxpbmVMZXZlbEJveCA6IGxpbmVCb3gubm9uUm9vdElubGluZUxldmVsQm94
ZXMoKSkgeworICAgICAgICAgICAgaWYgKHN0eWxlUmVxdWlyZXNJZGVvZ3JhcGhpY0Jhc2VsaW5l
KHN0eWxlVG9Vc2UoaW5saW5lTGV2ZWxCb3gpKSkKKyAgICAgICAgICAgICAgICByZXR1cm4gdHJ1
ZTsKKyAgICAgICAgfQorCisgICAgICAgIGF1dG8gY29udGVudFJlcXVpcmVzSWRlb2dyYXBoaWNC
YXNlbGluZSA9IFsmXSB7CisgICAgICAgICAgICAvLyBGSVhNRTogQWRkIHN1cHBvcnQgZm9yIGZh
bGxiYWNrIGZvbnRzLgorICAgICAgICAgICAgcmV0dXJuIGZhbHNlOworICAgICAgICB9OworICAg
ICAgICByZXR1cm4gY29udGVudFJlcXVpcmVzSWRlb2dyYXBoaWNCYXNlbGluZSgpOworICAgIH07
CisKKyAgICBpZiAoIWxpbmVOZWVkc0lkZW9ncmFwaGljQmFzZWxpbmUoKSkKKyAgICAgICAgcmV0
dXJuOworCisgICAgc2V0QmFzZWxpbmVBbmRMYXlvdXRCb3VuZHMocm9vdElubGluZUJveCwgbGF5
b3V0Qm91bmRzTWV0cmljc0ZvcklubGluZUJveChyb290SW5saW5lQm94LCBJZGVvZ3JhcGhpY0Jh
c2VsaW5lKSk7CisgICAgZm9yIChhdXRvJiBpbmxpbmVMZXZlbEJveCA6IGxpbmVCb3gubm9uUm9v
dElubGluZUxldmVsQm94ZXMoKSkgeworICAgICAgICBpZiAoaW5saW5lTGV2ZWxCb3guaXNJbmxp
bmVCb3goKSkKKyAgICAgICAgICAgIHNldEJhc2VsaW5lQW5kTGF5b3V0Qm91bmRzKGlubGluZUxl
dmVsQm94LCBsYXlvdXRCb3VuZHNNZXRyaWNzRm9ySW5saW5lQm94KGlubGluZUxldmVsQm94LCBJ
ZGVvZ3JhcGhpY0Jhc2VsaW5lKSk7CisgICAgICAgIGVsc2UgaWYgKGlubGluZUxldmVsQm94Lmlz
TGluZUJyZWFrQm94KCkpIHsKKyAgICAgICAgICAgIGF1dG8mIHBhcmVudElubGluZUJveCA9IGxp
bmVCb3guaW5saW5lTGV2ZWxCb3hGb3JMYXlvdXRCb3goaW5saW5lTGV2ZWxCb3gubGF5b3V0Qm94
KCkucGFyZW50KCkpOworICAgICAgICAgICAgc2V0QmFzZWxpbmVBbmRMYXlvdXRCb3VuZHMoaW5s
aW5lTGV2ZWxCb3gsIGxheW91dEJvdW5kc01ldHJpY3NGb3JJbmxpbmVCb3gocGFyZW50SW5saW5l
Qm94LCBJZGVvZ3JhcGhpY0Jhc2VsaW5lKSk7CisgICAgICAgIH0KKyAgICB9Cit9CisKIH0KIH0K
IApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L2Zvcm1hdHRpbmdDb250ZXh0cy9p
bmxpbmUvSW5saW5lTGluZUJveEJ1aWxkZXIuaCBiL1NvdXJjZS9XZWJDb3JlL2xheW91dC9mb3Jt
YXR0aW5nQ29udGV4dHMvaW5saW5lL0lubGluZUxpbmVCb3hCdWlsZGVyLmgKaW5kZXggMjNjOTY4
MzllZWI4ZGY4NGJkOGNmOWJjOTI3NzM3MjQyYjRjN2IyNy4uODQ1NzM3OWRkMWQzNmNjMzhkNTIw
M2E2NDMwODU4YjYyYjMyZTU5ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L2Zv
cm1hdHRpbmdDb250ZXh0cy9pbmxpbmUvSW5saW5lTGluZUJveEJ1aWxkZXIuaAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9sYXlvdXQvZm9ybWF0dGluZ0NvbnRleHRzL2lubGluZS9JbmxpbmVMaW5lQm94
QnVpbGRlci5oCkBAIC01Miw3ICs1Miw5IEBAIHB1YmxpYzoKIHByaXZhdGU6CiAgICAgdm9pZCBz
ZXRCYXNlbGluZUFuZExheW91dEJvdW5kcyhJbmxpbmVMZXZlbEJveCYsIGNvbnN0IExheW91dEJv
dW5kc01ldHJpY3MmKSBjb25zdDsKICAgICB2b2lkIGFkanVzdExheW91dEJvdW5kc1dpdGhGYWxs
YmFja0ZvbnRzKElubGluZUxldmVsQm94JiwgY29uc3QgVGV4dFV0aWw6OkZhbGxiYWNrRm9udExp
c3QmKSBjb25zdDsKKwogICAgIHZvaWQgY29uc3RydWN0SW5saW5lTGV2ZWxCb3hlcyhMaW5lQm94
JiwgY29uc3QgTGluZUJ1aWxkZXI6OkxpbmVDb250ZW50Jiwgc2l6ZV90IGxpbmVJbmRleCk7Cisg
ICAgdm9pZCBhZGp1c3RJZGVvZ3JhcGhpY0Jhc2VsaW5lSWZBcHBsaWNhYmxlKExpbmVCb3gmLCBz
aXplX3QgbGluZUluZGV4KTsKIAogICAgIGNvbnN0IElubGluZUZvcm1hdHRpbmdDb250ZXh0JiBm
b3JtYXR0aW5nQ29udGV4dCgpIGNvbnN0IHsgcmV0dXJuIG1faW5saW5lRm9ybWF0dGluZ0NvbnRl
eHQ7IH0KICAgICBjb25zdCBCb3gmIHJvb3RCb3goKSBjb25zdCB7IHJldHVybiBmb3JtYXR0aW5n
Q29udGV4dCgpLnJvb3QoKTsgfQo=
</data>

          </attachment>
      

    </bug>

</bugzilla>