<?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>204933</bug_id>
          
          <creation_ts>2019-12-05 17:59:30 -0800</creation_ts>
          <short_desc>REGRESSION: ASSERTION FAILED: FontCache::singleton().generation() == m_generation</short_desc>
          <delta_ts>2020-01-14 09:28:09 -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>New Bugs</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          <see_also>https://bugs.webkit.org/show_bug.cgi?id=206241</see_also>
          <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="Myles C. Maxfield">mmaxfield</reporter>
          <assigned_to name="Myles C. Maxfield">mmaxfield</assigned_to>
          <cc>cdumez</cc>
    
    <cc>commit-queue</cc>
    
    <cc>dbates</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>kangil.han</cc>
    
    <cc>koivisto</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>zalan</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1596140</commentid>
    <comment_count>0</comment_count>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2019-12-05 17:59:30 -0800</bug_when>
    <thetext>After a user installs a font, a webpage may still be unable to use it</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1596144</commentid>
    <comment_count>1</comment_count>
      <attachid>384983</attachid>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2019-12-05 18:05:30 -0800</bug_when>
    <thetext>Created attachment 384983
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1596145</commentid>
    <comment_count>2</comment_count>
      <attachid>384984</attachid>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2019-12-05 18:06:28 -0800</bug_when>
    <thetext>Created attachment 384984
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1596146</commentid>
    <comment_count>3</comment_count>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2019-12-05 18:07:20 -0800</bug_when>
    <thetext>&lt;rdar://problem/57458432&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1596191</commentid>
    <comment_count>4</comment_count>
      <attachid>384984</attachid>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2019-12-06 02:33:37 -0800</bug_when>
    <thetext>Comment on attachment 384984
Patch

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

&gt; Source/WebCore/platform/graphics/FontCascade.cpp:189
&gt; +    if (a.fontCacheGeneration != b.fontCacheGeneration)
&gt; +        return false;

The design is that the font cascade cache gets wiped via invalidateFontCascadeCache() when needed. This should be happening on font cache generation increment. Why isn&apos;t this mechanism sufficient? Has this regressed somehow?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1596192</commentid>
    <comment_count>5</comment_count>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2019-12-06 02:34:53 -0800</bug_when>
    <thetext>If invalidateFontCascadeCache is not happening there might be other caches we are failing to invalidate too.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1599384</commentid>
    <comment_count>6</comment_count>
      <attachid>385881</attachid>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2019-12-17 06:25:12 -0800</bug_when>
    <thetext>Created attachment 385881
patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1599469</commentid>
    <comment_count>7</comment_count>
      <attachid>385881</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2019-12-17 11:19:55 -0800</bug_when>
    <thetext>Comment on attachment 385881
patch

Clearing flags on attachment: 385881

Committed r253633: &lt;https://trac.webkit.org/changeset/253633&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1599470</commentid>
    <comment_count>8</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2019-12-17 11:19:57 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>384983</attachid>
            <date>2019-12-05 18:05:30 -0800</date>
            <delta_ts>2019-12-05 18:06:27 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-204933-20191205180530.patch</filename>
            <type>text/plain</type>
            <size>7706</size>
            <attacher name="Myles C. Maxfield">mmaxfield</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjUyNzU2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMWFmZmY0ZGM1ZjQyNzY1
MjllOTJlNjQ1NjJiYmQwOWNmOWQyMWFjNy4uOTdmNDcyNmI4ZTQwY2JmMzJlM2MyYzg1MzNhOTYw
YWM5OTBkZGQ1OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM5IEBACisyMDE5LTEyLTA1ICBNeWxl
cyBDLiBNYXhmaWVsZCAgPG1tYXhmaWVsZEBhcHBsZS5jb20+CisKKyAgICAgICAgQWZ0ZXIgYSB1
c2VyIGluc3RhbGxzIGEgZm9udCwgYSB3ZWJwYWdlIG1heSBzdGlsbCBiZSB1bmFibGUgdG8gdXNl
IGl0CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMDQ5
MzMKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBXaGVu
IHRoZSB1c2VyIGluc3RhbGxzIGEgZm9udCwgdGhlIGdlbmVyYXRpb24gb2YgdGhlIEZvbnRDYWNo
ZSBpcyBpbmNyZW1lbnRlZC4KKyAgICAgICAgSG93ZXZlciwgd2UgbWF5IHN0aWxsIHB1bGwgb3V0
IEZvbnRDYXNjYWRlRm9udHMgZnJvbSB0aGUgZm9udENhc2NhZGVDYWNoZSgpIHRoYXQKKyAgICAg
ICAgd2VyZSBpbml0aWFsaXplZCB3aXRoIHRoZSBvbGQgZ2VuZXJhdGlvbi4gSW5zdGVhZCwgd2Ug
c2hvdWxkIG1ha2UKKyAgICAgICAgZm9udENhc2NhZGVDYWNoZSgpIHNlbnNpdGl2ZSB0byB0aGUg
Zm9udCBjYWNoZSBnZW5lcmF0aW9uIHNvIHRoaXMgd291bGRuJ3QgaGFwcGVuLgorCisgICAgICAg
IFRoaXMgd2FzIGRpc2NvdmVyZWQgYnkgc29tZSB0ZXN0cyBzb21ldGltZXMgaGl0dGluZyB0aGUg
Zm9sbG93aW5nIEFTU0VSVCgpOgorICAgICAgICBGb250Q2FjaGU6OnNpbmdsZXRvbigpLmdlbmVy
YXRpb24oKSA9PSBtX2dlbmVyYXRpb24KKyAgICAgICAgVGhpcyBjYW4gaGFwcGVuIGluIGxheW91
dCB0ZXN0cyBpZiB3ZSBjYWxsIEZvbnRDYXNjYWRlOjp1cGRhdGUoKSB3aXRoIGEgbnVsbHB0cgor
ICAgICAgICBGb250U2VsZWN0b3IgKHdoaWNoIHdlIGRvIGluIHZhcmlvdXMgY2FzZXMpLiBUaGlz
IHBhdGNoIG1ha2VzIHRob3NlIHRlc3RzIHN0b3AKKyAgICAgICAgaGl0dGluZyB0aGUgYXNzZXJ0
aW9uLiBTbywgdGhpcyBwYXRjaCBpcyBjb3ZlcmVkIGJ5IHRoZXNlIHRlc3RzOgorICAgICAgICAt
IGZhc3QvaGlkcGkvdmlkZW8tY29udHJvbHMtaW4taGlkcGkuaHRtbAorICAgICAgICAtIG1lZGlh
L21lZGlhLWRvY3VtZW50LWF1ZGlvLXNpemUuaHRtbAorICAgICAgICAtIG1lZGlhL3ZpZGVvLWNv
bnRyb2xzLXdpdGgtbXV0YXRpb24tZXZlbnQtaGFuZGxlci5odG1sCisgICAgICAgIC0gKGFuZCBw
b3NzaWJseSBvdGhlcnMpCisKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9Gb250Q2FzY2Fk
ZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpGb250Q2FzY2FkZTo6b3BlcmF0b3I9PSBjb25zdCk6
CisgICAgICAgIChXZWJDb3JlOjprZXlzTWF0Y2gpOgorICAgICAgICAoV2ViQ29yZTo6bWFrZUZv
bnRDYXNjYWRlQ2FjaGVLZXkpOgorICAgICAgICAoV2ViQ29yZTo6Y29tcHV0ZUZvbnRDYXNjYWRl
Q2FjaGVIYXNoKToKKyAgICAgICAgKFdlYkNvcmU6OnJldHJpZXZlT3JBZGRDYWNoZWRGb250cyk6
CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvRm9udENhc2NhZGVGb250cy5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpGb250Q2FzY2FkZUZvbnRzOjpGb250Q2FzY2FkZUZvbnRzKToKKyAgICAg
ICAgKFdlYkNvcmU6OkZvbnRDYXNjYWRlRm9udHM6OnJlYWxpemVGYWxsYmFja1Jhbmdlc0F0KToK
KyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9Gb250Q2FzY2FkZUZvbnRzLmg6CisgICAgICAg
IChXZWJDb3JlOjpGb250Q2FzY2FkZUZvbnRzOjpmb250U2VsZWN0b3IpOgorICAgICAgICAoV2Vi
Q29yZTo6Rm9udENhc2NhZGVGb250czo6Zm9udENhY2hlR2VuZXJhdGlvbiBjb25zdCk6CisgICAg
ICAgIChXZWJDb3JlOjpGb250Q2FzY2FkZUZvbnRzOjpnZW5lcmF0aW9uIGNvbnN0KTogRGVsZXRl
ZC4KKwogMjAxOS0xMS0yMSAgUGVuZyBMaXUgIDxwZW5nLmxpdTZAYXBwbGUuY29tPgogCiAgICAg
ICAgIElnbm9yZSB0aGUgcmVxdWVzdHMgdG8gZW50ZXIvZXhpdCB2aWRlbyBmdWxsc2NyZWVuL3Bp
Y3R1cmUtaW4tcGljdHVyZSBpZiB0aGUgcmVxdWVzdGluZyBtb2RlIGlzIHRoZSBzYW1lIGFzIHRo
ZSBjdXJyZW50IG1vZGUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL0ZvbnRDYXNjYWRlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0Zv
bnRDYXNjYWRlLmNwcAppbmRleCA0MTI3NDdhY2Y4YzkxMThjYzhiNjZiYzExZjEwZTY0NjZmMzM1
NjcwLi45NGIzZDk0MWVmYTQxYjljNTUwNDBkYjUwNWE5ZjRhOGI1Y2EyYjg5IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Gb250Q2FzY2FkZS5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRm9udENhc2NhZGUuY3BwCkBAIC0xNDUs
NyArMTQ1LDcgQEAgYm9vbCBGb250Q2FzY2FkZTo6b3BlcmF0b3I9PShjb25zdCBGb250Q2FzY2Fk
ZSYgb3RoZXIpIGNvbnN0CiAgICAgLy8gQ2FuIHRoZXNlIGNhc2VzIGFjdHVhbGx5IHNvbWVob3cg
b2NjdXI/IEFsbCBmb250cyBzaG91bGQgZ2V0IHdpcGVkIG91dCBieSBmdWxsIHN0eWxlIHJlY2Fs
Yy4KICAgICBpZiAobV9mb250cy0+Zm9udFNlbGVjdG9yVmVyc2lvbigpICE9IG90aGVyLm1fZm9u
dHMtPmZvbnRTZWxlY3RvclZlcnNpb24oKSkKICAgICAgICAgcmV0dXJuIGZhbHNlOwotICAgIGlm
IChtX2ZvbnRzLT5nZW5lcmF0aW9uKCkgIT0gb3RoZXIubV9mb250cy0+Z2VuZXJhdGlvbigpKQor
ICAgIGlmIChtX2ZvbnRzLT5mb250Q2FjaGVHZW5lcmF0aW9uKCkgIT0gb3RoZXIubV9mb250cy0+
Zm9udENhY2hlR2VuZXJhdGlvbigpKQogICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgcmV0dXJu
IHRydWU7CiB9CkBAIC0xNTUsNiArMTU1LDcgQEAgc3RydWN0IEZvbnRDYXNjYWRlQ2FjaGVLZXkg
ewogICAgIFZlY3RvcjxBdG9tU3RyaW5nLCAzPiBmYW1pbGllczsKICAgICB1bnNpZ25lZCBmb250
U2VsZWN0b3JJZDsKICAgICB1bnNpZ25lZCBmb250U2VsZWN0b3JWZXJzaW9uOworICAgIHVuc2ln
bmVkIGZvbnRDYWNoZUdlbmVyYXRpb247CiB9OwogCiBzdHJ1Y3QgRm9udENhc2NhZGVDYWNoZUVu
dHJ5IHsKQEAgLTE4NCw2ICsxODUsOCBAQCBzdGF0aWMgYm9vbCBrZXlzTWF0Y2goY29uc3QgRm9u
dENhc2NhZGVDYWNoZUtleSYgYSwgY29uc3QgRm9udENhc2NhZGVDYWNoZUtleSYgYgogICAgICAg
ICBpZiAoIUZvbnRDYXNjYWRlRGVzY3JpcHRpb246OmZhbWlseU5hbWVzQXJlRXF1YWwoYS5mYW1p
bGllc1tpXSwgYi5mYW1pbGllc1tpXSkpCiAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAg
fQorICAgIGlmIChhLmZvbnRDYWNoZUdlbmVyYXRpb24gIT0gYi5mb250Q2FjaGVHZW5lcmF0aW9u
KQorICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgcmV0dXJuIHRydWU7CiB9CiAKQEAgLTIxNCw2
ICsyMTcsNyBAQCBzdGF0aWMgRm9udENhc2NhZGVDYWNoZUtleSBtYWtlRm9udENhc2NhZGVDYWNo
ZUtleShjb25zdCBGb250Q2FzY2FkZURlc2NyaXB0aW9uJgogICAgICAgICBrZXkuZmFtaWxpZXMu
dW5jaGVja2VkQXBwZW5kKGRlc2NyaXB0aW9uLmZhbWlseUF0KGkpKTsKICAgICBrZXkuZm9udFNl
bGVjdG9ySWQgPSBmb250U2VsZWN0b3IgPyBmb250U2VsZWN0b3ItPnVuaXF1ZUlkKCkgOiAwOwog
ICAgIGtleS5mb250U2VsZWN0b3JWZXJzaW9uID0gZm9udFNlbGVjdG9yID8gZm9udFNlbGVjdG9y
LT52ZXJzaW9uKCkgOiAwOworICAgIGtleS5mb250Q2FjaGVHZW5lcmF0aW9uID0gRm9udENhY2hl
OjpzaW5nbGV0b24oKS5nZW5lcmF0aW9uKCk7CiAgICAgcmV0dXJuIGtleTsKIH0KIApAQCAtMjI0
LDYgKzIyOCw3IEBAIHN0YXRpYyB1bnNpZ25lZCBjb21wdXRlRm9udENhc2NhZGVDYWNoZUhhc2go
Y29uc3QgRm9udENhc2NhZGVDYWNoZUtleSYga2V5KQogICAgIGhhc2hlci5hZGQoa2V5LmZvbnRE
ZXNjcmlwdGlvbktleS5jb21wdXRlSGFzaCgpKTsKICAgICBoYXNoZXIuYWRkKGtleS5mb250U2Vs
ZWN0b3JJZCk7CiAgICAgaGFzaGVyLmFkZChrZXkuZm9udFNlbGVjdG9yVmVyc2lvbik7CisgICAg
aGFzaGVyLmFkZChrZXkuZm9udENhY2hlR2VuZXJhdGlvbik7CiAgICAgZm9yICh1bnNpZ25lZCBp
ID0gMDsgaSA8IGtleS5mYW1pbGllcy5zaXplKCk7ICsraSkgewogICAgICAgICBhdXRvJiBmYW1p
bHkgPSBrZXkuZmFtaWxpZXNbaV07CiAgICAgICAgIGhhc2hlci5hZGQoZmFtaWx5LmlzTnVsbCgp
ID8gMCA6IEZvbnRDYXNjYWRlRGVzY3JpcHRpb246OmZhbWlseU5hbWVIYXNoKGZhbWlseSkpOwpA
QCAtMjU1LDYgKzI2MCw3IEBAIHN0YXRpYyBSZWY8Rm9udENhc2NhZGVGb250cz4gcmV0cmlldmVP
ckFkZENhY2hlZEZvbnRzKGNvbnN0IEZvbnRDYXNjYWRlRGVzY3JpcHRpCiAKICAgICBhdXRvJiBu
ZXdFbnRyeSA9IGFkZFJlc3VsdC5pdGVyYXRvci0+dmFsdWU7CiAgICAgbmV3RW50cnkgPSBtYWtl
VW5pcXVlPEZvbnRDYXNjYWRlQ2FjaGVFbnRyeT4oV1RGTW92ZShrZXkpLCBGb250Q2FzY2FkZUZv
bnRzOjpjcmVhdGUoV1RGTW92ZShmb250U2VsZWN0b3IpKSk7CisgICAgQVNTRVJUKG5ld0VudHJ5
LT5rZXkuZm9udENhY2hlR2VuZXJhdGlvbiA9PSBuZXdFbnRyeS0+Zm9udHMtPmZvbnRDYWNoZUdl
bmVyYXRpb24oKSk7CiAgICAgUmVmPEZvbnRDYXNjYWRlRm9udHM+IGdseXBocyA9IG5ld0VudHJ5
LT5mb250cy5nZXQoKTsKIAogICAgIHN0YXRpYyBjb25zdCB1bnNpZ25lZCB1bnJlZmVyZW5jZWRQ
cnVuZUludGVydmFsID0gNTA7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9Gb250Q2FzY2FkZUZvbnRzLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL0ZvbnRDYXNjYWRlRm9udHMuY3BwCmluZGV4IDEyYWM4MzdmY2QyNDY1ZjlmODFkZWIw
Njg3YWE3NzZkNWVhMDY0NTMuLmVkMzE5MGQ0YzZiZWUxZTY3ZWY4M2FjZTgxYTRiMTAyMDc1ZTM4
MjQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ZvbnRDYXNj
YWRlRm9udHMuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ZvbnRD
YXNjYWRlRm9udHMuY3BwCkBAIC0xMDAsMTQgKzEwMCwxNCBAQCBGb250Q2FzY2FkZUZvbnRzOjpG
b250Q2FzY2FkZUZvbnRzKFJlZlB0cjxGb250U2VsZWN0b3I+JiYgZm9udFNlbGVjdG9yKQogICAg
IDogbV9jYWNoZWRQcmltYXJ5Rm9udChudWxscHRyKQogICAgICwgbV9mb250U2VsZWN0b3IoZm9u
dFNlbGVjdG9yKQogICAgICwgbV9mb250U2VsZWN0b3JWZXJzaW9uKG1fZm9udFNlbGVjdG9yID8g
bV9mb250U2VsZWN0b3ItPnZlcnNpb24oKSA6IDApCi0gICAgLCBtX2dlbmVyYXRpb24oRm9udENh
Y2hlOjpzaW5nbGV0b24oKS5nZW5lcmF0aW9uKCkpCisgICAgLCBtX2ZvbnRDYWNoZUdlbmVyYXRp
b24oRm9udENhY2hlOjpzaW5nbGV0b24oKS5nZW5lcmF0aW9uKCkpCiB7CiB9CiAKIEZvbnRDYXNj
YWRlRm9udHM6OkZvbnRDYXNjYWRlRm9udHMoY29uc3QgRm9udFBsYXRmb3JtRGF0YSYgcGxhdGZv
cm1EYXRhKQogICAgIDogbV9jYWNoZWRQcmltYXJ5Rm9udChudWxscHRyKQogICAgICwgbV9mb250
U2VsZWN0b3JWZXJzaW9uKDApCi0gICAgLCBtX2dlbmVyYXRpb24oRm9udENhY2hlOjpzaW5nbGV0
b24oKS5nZW5lcmF0aW9uKCkpCisgICAgLCBtX2ZvbnRDYWNoZUdlbmVyYXRpb24oRm9udENhY2hl
OjpzaW5nbGV0b24oKS5nZW5lcmF0aW9uKCkpCiAgICAgLCBtX2lzRm9yUGxhdGZvcm1Gb250KHRy
dWUpCiB7CiAgICAgbV9yZWFsaXplZEZhbGxiYWNrUmFuZ2VzLmFwcGVuZChGb250UmFuZ2VzKEZv
bnRDYWNoZTo6c2luZ2xldG9uKCkuZm9udEZvclBsYXRmb3JtRGF0YShwbGF0Zm9ybURhdGEpKSk7
CkBAIC0xNzUsNyArMTc1LDcgQEAgY29uc3QgRm9udFJhbmdlcyYgRm9udENhc2NhZGVGb250czo6
cmVhbGl6ZUZhbGxiYWNrUmFuZ2VzQXQoY29uc3QgRm9udENhc2NhZGVEZXMKICAgICAgICAgcmV0
dXJuIG1fcmVhbGl6ZWRGYWxsYmFja1Jhbmdlc1tpbmRleF07CiAKICAgICBBU1NFUlQoaW5kZXgg
PT0gbV9yZWFsaXplZEZhbGxiYWNrUmFuZ2VzLnNpemUoKSk7Ci0gICAgQVNTRVJUKEZvbnRDYWNo
ZTo6c2luZ2xldG9uKCkuZ2VuZXJhdGlvbigpID09IG1fZ2VuZXJhdGlvbik7CisgICAgQVNTRVJU
KEZvbnRDYWNoZTo6c2luZ2xldG9uKCkuZ2VuZXJhdGlvbigpID09IG1fZm9udENhY2hlR2VuZXJh
dGlvbik7CiAKICAgICBtX3JlYWxpemVkRmFsbGJhY2tSYW5nZXMuYXBwZW5kKEZvbnRSYW5nZXMo
KSk7CiAgICAgYXV0byYgZm9udFJhbmdlcyA9IG1fcmVhbGl6ZWRGYWxsYmFja1Jhbmdlcy5sYXN0
KCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Gb250Q2Fz
Y2FkZUZvbnRzLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Gb250Q2FzY2Fk
ZUZvbnRzLmgKaW5kZXggMjA2YzQ4ZTM0YTM5OGI0ZDcxN2Y3ZGFiZDBhZTk5N2Q2MzQ3OGZjNC4u
OGViODJjZWQ4YmI4YmI3NzI0OTg2ODhkNzZhYjljMTA5Mzk1OTg0MSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRm9udENhc2NhZGVGb250cy5oCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ZvbnRDYXNjYWRlRm9udHMuaApAQCAtNjAs
OSArNjAsOCBAQCBwdWJsaWM6CiAgICAgYm9vbCBpc0xvYWRpbmdDdXN0b21Gb250cygpIGNvbnN0
OwogCiAgICAgRm9udFNlbGVjdG9yKiBmb250U2VsZWN0b3IoKSB7IHJldHVybiBtX2ZvbnRTZWxl
Y3Rvci5nZXQoKTsgfQotICAgIC8vIEZJWE1FOiBJdCBzaG91bGQgYmUgcG9zc2libGUgdG8gY29t
YmluZSBmb250U2VsZWN0b3JWZXJzaW9uIGFuZCBnZW5lcmF0aW9uLgogICAgIHVuc2lnbmVkIGZv
bnRTZWxlY3RvclZlcnNpb24oKSBjb25zdCB7IHJldHVybiBtX2ZvbnRTZWxlY3RvclZlcnNpb247
IH0KLSAgICB1bnNpZ25lZCBnZW5lcmF0aW9uKCkgY29uc3QgeyByZXR1cm4gbV9nZW5lcmF0aW9u
OyB9CisgICAgdW5zaWduZWQgZm9udENhY2hlR2VuZXJhdGlvbigpIGNvbnN0IHsgcmV0dXJuIG1f
Zm9udENhY2hlR2VuZXJhdGlvbjsgfQogCiAgICAgV2lkdGhDYWNoZSYgd2lkdGhDYWNoZSgpIHsg
cmV0dXJuIG1fd2lkdGhDYWNoZTsgfQogICAgIGNvbnN0IFdpZHRoQ2FjaGUmIHdpZHRoQ2FjaGUo
KSBjb25zdCB7IHJldHVybiBtX3dpZHRoQ2FjaGU7IH0KQEAgLTEwOSw3ICsxMDgsNyBAQCBwcml2
YXRlOgogICAgIFdpZHRoQ2FjaGUgbV93aWR0aENhY2hlOwogCiAgICAgdW5zaWduZWQgbV9mb250
U2VsZWN0b3JWZXJzaW9uOwotICAgIHVuc2lnbmVkIHNob3J0IG1fZ2VuZXJhdGlvbjsKKyAgICBj
b25zdCB1bnNpZ25lZCBzaG9ydCBtX2ZvbnRDYWNoZUdlbmVyYXRpb247CiAgICAgUGl0Y2ggbV9w
aXRjaCB7IFVua25vd25QaXRjaCB9OwogICAgIGJvb2wgbV9pc0ZvclBsYXRmb3JtRm9udCB7IGZh
bHNlIH07CiB9Owo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>384984</attachid>
            <date>2019-12-05 18:06:28 -0800</date>
            <delta_ts>2019-12-17 06:25:12 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-204933-20191205180627.patch</filename>
            <type>text/plain</type>
            <size>7741</size>
            <attacher name="Myles C. Maxfield">mmaxfield</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjUyNzU2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMWFmZmY0ZGM1ZjQyNzY1
MjllOTJlNjQ1NjJiYmQwOWNmOWQyMWFjNy4uN2UyZmU0MzhiNDE0MjlmN2Q4ZDViYTQwY2VmMmM1
YWQ0OTc2OGNhMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQwIEBACisyMDE5LTEyLTA1ICBNeWxl
cyBDLiBNYXhmaWVsZCAgPG1tYXhmaWVsZEBhcHBsZS5jb20+CisKKyAgICAgICAgQWZ0ZXIgYSB1
c2VyIGluc3RhbGxzIGEgZm9udCwgYSB3ZWJwYWdlIG1heSBzdGlsbCBiZSB1bmFibGUgdG8gdXNl
IGl0CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMDQ5
MzMKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzU3NDU4NDMyPgorCisgICAgICAgIFJldmlld2Vk
IGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFdoZW4gdGhlIHVzZXIgaW5zdGFsbHMgYSBm
b250LCB0aGUgZ2VuZXJhdGlvbiBvZiB0aGUgRm9udENhY2hlIGlzIGluY3JlbWVudGVkLgorICAg
ICAgICBIb3dldmVyLCB3ZSBtYXkgc3RpbGwgcHVsbCBvdXQgRm9udENhc2NhZGVGb250cyBmcm9t
IHRoZSBmb250Q2FzY2FkZUNhY2hlKCkgdGhhdAorICAgICAgICB3ZXJlIGluaXRpYWxpemVkIHdp
dGggdGhlIG9sZCBnZW5lcmF0aW9uLiBJbnN0ZWFkLCB3ZSBzaG91bGQgbWFrZQorICAgICAgICBm
b250Q2FzY2FkZUNhY2hlKCkgc2Vuc2l0aXZlIHRvIHRoZSBmb250IGNhY2hlIGdlbmVyYXRpb24g
c28gdGhpcyB3b3VsZG4ndCBoYXBwZW4uCisKKyAgICAgICAgVGhpcyB3YXMgZGlzY292ZXJlZCBi
eSBzb21lIHRlc3RzIHNvbWV0aW1lcyBoaXR0aW5nIHRoZSBmb2xsb3dpbmcgQVNTRVJUKCk6Cisg
ICAgICAgIEZvbnRDYWNoZTo6c2luZ2xldG9uKCkuZ2VuZXJhdGlvbigpID09IG1fZ2VuZXJhdGlv
bgorICAgICAgICBUaGlzIGNhbiBoYXBwZW4gaW4gbGF5b3V0IHRlc3RzIGlmIHdlIGNhbGwgRm9u
dENhc2NhZGU6OnVwZGF0ZSgpIHdpdGggYSBudWxscHRyCisgICAgICAgIEZvbnRTZWxlY3RvciAo
d2hpY2ggd2UgZG8gaW4gdmFyaW91cyBjYXNlcykuIFRoaXMgcGF0Y2ggbWFrZXMgdGhvc2UgdGVz
dHMgc3RvcAorICAgICAgICBoaXR0aW5nIHRoZSBhc3NlcnRpb24uIFNvLCB0aGlzIHBhdGNoIGlz
IGNvdmVyZWQgYnkgdGhlc2UgdGVzdHM6CisgICAgICAgIC0gZmFzdC9oaWRwaS92aWRlby1jb250
cm9scy1pbi1oaWRwaS5odG1sCisgICAgICAgIC0gbWVkaWEvbWVkaWEtZG9jdW1lbnQtYXVkaW8t
c2l6ZS5odG1sCisgICAgICAgIC0gbWVkaWEvdmlkZW8tY29udHJvbHMtd2l0aC1tdXRhdGlvbi1l
dmVudC1oYW5kbGVyLmh0bWwKKyAgICAgICAgLSAoYW5kIHBvc3NpYmx5IG90aGVycykKKworICAg
ICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL0ZvbnRDYXNjYWRlLmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OkZvbnRDYXNjYWRlOjpvcGVyYXRvcj09IGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6Omtl
eXNNYXRjaCk6CisgICAgICAgIChXZWJDb3JlOjptYWtlRm9udENhc2NhZGVDYWNoZUtleSk6Cisg
ICAgICAgIChXZWJDb3JlOjpjb21wdXRlRm9udENhc2NhZGVDYWNoZUhhc2gpOgorICAgICAgICAo
V2ViQ29yZTo6cmV0cmlldmVPckFkZENhY2hlZEZvbnRzKToKKyAgICAgICAgKiBwbGF0Zm9ybS9n
cmFwaGljcy9Gb250Q2FzY2FkZUZvbnRzLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkZvbnRDYXNj
YWRlRm9udHM6OkZvbnRDYXNjYWRlRm9udHMpOgorICAgICAgICAoV2ViQ29yZTo6Rm9udENhc2Nh
ZGVGb250czo6cmVhbGl6ZUZhbGxiYWNrUmFuZ2VzQXQpOgorICAgICAgICAqIHBsYXRmb3JtL2dy
YXBoaWNzL0ZvbnRDYXNjYWRlRm9udHMuaDoKKyAgICAgICAgKFdlYkNvcmU6OkZvbnRDYXNjYWRl
Rm9udHM6OmZvbnRTZWxlY3Rvcik6CisgICAgICAgIChXZWJDb3JlOjpGb250Q2FzY2FkZUZvbnRz
Ojpmb250Q2FjaGVHZW5lcmF0aW9uIGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OkZvbnRDYXNj
YWRlRm9udHM6OmdlbmVyYXRpb24gY29uc3QpOiBEZWxldGVkLgorCiAyMDE5LTExLTIxICBQZW5n
IExpdSAgPHBlbmcubGl1NkBhcHBsZS5jb20+CiAKICAgICAgICAgSWdub3JlIHRoZSByZXF1ZXN0
cyB0byBlbnRlci9leGl0IHZpZGVvIGZ1bGxzY3JlZW4vcGljdHVyZS1pbi1waWN0dXJlIGlmIHRo
ZSByZXF1ZXN0aW5nIG1vZGUgaXMgdGhlIHNhbWUgYXMgdGhlIGN1cnJlbnQgbW9kZQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRm9udENhc2NhZGUuY3BwIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRm9udENhc2NhZGUuY3BwCmluZGV4IDQx
Mjc0N2FjZjhjOTExOGNjOGI2NmJjMTFmMTBlNjQ2NmYzMzU2NzAuLjk0YjNkOTQxZWZhNDFiOWM1
NTA0MGRiNTA1YTlmNGE4YjVjYTJiODkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL0ZvbnRDYXNjYWRlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9Gb250Q2FzY2FkZS5jcHAKQEAgLTE0NSw3ICsxNDUsNyBAQCBib29sIEZvbnRD
YXNjYWRlOjpvcGVyYXRvcj09KGNvbnN0IEZvbnRDYXNjYWRlJiBvdGhlcikgY29uc3QKICAgICAv
LyBDYW4gdGhlc2UgY2FzZXMgYWN0dWFsbHkgc29tZWhvdyBvY2N1cj8gQWxsIGZvbnRzIHNob3Vs
ZCBnZXQgd2lwZWQgb3V0IGJ5IGZ1bGwgc3R5bGUgcmVjYWxjLgogICAgIGlmIChtX2ZvbnRzLT5m
b250U2VsZWN0b3JWZXJzaW9uKCkgIT0gb3RoZXIubV9mb250cy0+Zm9udFNlbGVjdG9yVmVyc2lv
bigpKQogICAgICAgICByZXR1cm4gZmFsc2U7Ci0gICAgaWYgKG1fZm9udHMtPmdlbmVyYXRpb24o
KSAhPSBvdGhlci5tX2ZvbnRzLT5nZW5lcmF0aW9uKCkpCisgICAgaWYgKG1fZm9udHMtPmZvbnRD
YWNoZUdlbmVyYXRpb24oKSAhPSBvdGhlci5tX2ZvbnRzLT5mb250Q2FjaGVHZW5lcmF0aW9uKCkp
CiAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICByZXR1cm4gdHJ1ZTsKIH0KQEAgLTE1NSw2ICsx
NTUsNyBAQCBzdHJ1Y3QgRm9udENhc2NhZGVDYWNoZUtleSB7CiAgICAgVmVjdG9yPEF0b21TdHJp
bmcsIDM+IGZhbWlsaWVzOwogICAgIHVuc2lnbmVkIGZvbnRTZWxlY3RvcklkOwogICAgIHVuc2ln
bmVkIGZvbnRTZWxlY3RvclZlcnNpb247CisgICAgdW5zaWduZWQgZm9udENhY2hlR2VuZXJhdGlv
bjsKIH07CiAKIHN0cnVjdCBGb250Q2FzY2FkZUNhY2hlRW50cnkgewpAQCAtMTg0LDYgKzE4NSw4
IEBAIHN0YXRpYyBib29sIGtleXNNYXRjaChjb25zdCBGb250Q2FzY2FkZUNhY2hlS2V5JiBhLCBj
b25zdCBGb250Q2FzY2FkZUNhY2hlS2V5JiBiCiAgICAgICAgIGlmICghRm9udENhc2NhZGVEZXNj
cmlwdGlvbjo6ZmFtaWx5TmFtZXNBcmVFcXVhbChhLmZhbWlsaWVzW2ldLCBiLmZhbWlsaWVzW2ld
KSkKICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICB9CisgICAgaWYgKGEuZm9udENhY2hl
R2VuZXJhdGlvbiAhPSBiLmZvbnRDYWNoZUdlbmVyYXRpb24pCisgICAgICAgIHJldHVybiBmYWxz
ZTsKICAgICByZXR1cm4gdHJ1ZTsKIH0KIApAQCAtMjE0LDYgKzIxNyw3IEBAIHN0YXRpYyBGb250
Q2FzY2FkZUNhY2hlS2V5IG1ha2VGb250Q2FzY2FkZUNhY2hlS2V5KGNvbnN0IEZvbnRDYXNjYWRl
RGVzY3JpcHRpb24mCiAgICAgICAgIGtleS5mYW1pbGllcy51bmNoZWNrZWRBcHBlbmQoZGVzY3Jp
cHRpb24uZmFtaWx5QXQoaSkpOwogICAgIGtleS5mb250U2VsZWN0b3JJZCA9IGZvbnRTZWxlY3Rv
ciA/IGZvbnRTZWxlY3Rvci0+dW5pcXVlSWQoKSA6IDA7CiAgICAga2V5LmZvbnRTZWxlY3RvclZl
cnNpb24gPSBmb250U2VsZWN0b3IgPyBmb250U2VsZWN0b3ItPnZlcnNpb24oKSA6IDA7CisgICAg
a2V5LmZvbnRDYWNoZUdlbmVyYXRpb24gPSBGb250Q2FjaGU6OnNpbmdsZXRvbigpLmdlbmVyYXRp
b24oKTsKICAgICByZXR1cm4ga2V5OwogfQogCkBAIC0yMjQsNiArMjI4LDcgQEAgc3RhdGljIHVu
c2lnbmVkIGNvbXB1dGVGb250Q2FzY2FkZUNhY2hlSGFzaChjb25zdCBGb250Q2FzY2FkZUNhY2hl
S2V5JiBrZXkpCiAgICAgaGFzaGVyLmFkZChrZXkuZm9udERlc2NyaXB0aW9uS2V5LmNvbXB1dGVI
YXNoKCkpOwogICAgIGhhc2hlci5hZGQoa2V5LmZvbnRTZWxlY3RvcklkKTsKICAgICBoYXNoZXIu
YWRkKGtleS5mb250U2VsZWN0b3JWZXJzaW9uKTsKKyAgICBoYXNoZXIuYWRkKGtleS5mb250Q2Fj
aGVHZW5lcmF0aW9uKTsKICAgICBmb3IgKHVuc2lnbmVkIGkgPSAwOyBpIDwga2V5LmZhbWlsaWVz
LnNpemUoKTsgKytpKSB7CiAgICAgICAgIGF1dG8mIGZhbWlseSA9IGtleS5mYW1pbGllc1tpXTsK
ICAgICAgICAgaGFzaGVyLmFkZChmYW1pbHkuaXNOdWxsKCkgPyAwIDogRm9udENhc2NhZGVEZXNj
cmlwdGlvbjo6ZmFtaWx5TmFtZUhhc2goZmFtaWx5KSk7CkBAIC0yNTUsNiArMjYwLDcgQEAgc3Rh
dGljIFJlZjxGb250Q2FzY2FkZUZvbnRzPiByZXRyaWV2ZU9yQWRkQ2FjaGVkRm9udHMoY29uc3Qg
Rm9udENhc2NhZGVEZXNjcmlwdGkKIAogICAgIGF1dG8mIG5ld0VudHJ5ID0gYWRkUmVzdWx0Lml0
ZXJhdG9yLT52YWx1ZTsKICAgICBuZXdFbnRyeSA9IG1ha2VVbmlxdWU8Rm9udENhc2NhZGVDYWNo
ZUVudHJ5PihXVEZNb3ZlKGtleSksIEZvbnRDYXNjYWRlRm9udHM6OmNyZWF0ZShXVEZNb3ZlKGZv
bnRTZWxlY3RvcikpKTsKKyAgICBBU1NFUlQobmV3RW50cnktPmtleS5mb250Q2FjaGVHZW5lcmF0
aW9uID09IG5ld0VudHJ5LT5mb250cy0+Zm9udENhY2hlR2VuZXJhdGlvbigpKTsKICAgICBSZWY8
Rm9udENhc2NhZGVGb250cz4gZ2x5cGhzID0gbmV3RW50cnktPmZvbnRzLmdldCgpOwogCiAgICAg
c3RhdGljIGNvbnN0IHVuc2lnbmVkIHVucmVmZXJlbmNlZFBydW5lSW50ZXJ2YWwgPSA1MDsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ZvbnRDYXNjYWRlRm9u
dHMuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRm9udENhc2NhZGVGb250
cy5jcHAKaW5kZXggMTJhYzgzN2ZjZDI0NjVmOWY4MWRlYjA2ODdhYTc3NmQ1ZWEwNjQ1My4uZWQz
MTkwZDRjNmJlZTFlNjdlZjgzYWNlODFhNGIxMDIwNzVlMzgyNCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRm9udENhc2NhZGVGb250cy5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRm9udENhc2NhZGVGb250cy5jcHAKQEAgLTEw
MCwxNCArMTAwLDE0IEBAIEZvbnRDYXNjYWRlRm9udHM6OkZvbnRDYXNjYWRlRm9udHMoUmVmUHRy
PEZvbnRTZWxlY3Rvcj4mJiBmb250U2VsZWN0b3IpCiAgICAgOiBtX2NhY2hlZFByaW1hcnlGb250
KG51bGxwdHIpCiAgICAgLCBtX2ZvbnRTZWxlY3Rvcihmb250U2VsZWN0b3IpCiAgICAgLCBtX2Zv
bnRTZWxlY3RvclZlcnNpb24obV9mb250U2VsZWN0b3IgPyBtX2ZvbnRTZWxlY3Rvci0+dmVyc2lv
bigpIDogMCkKLSAgICAsIG1fZ2VuZXJhdGlvbihGb250Q2FjaGU6OnNpbmdsZXRvbigpLmdlbmVy
YXRpb24oKSkKKyAgICAsIG1fZm9udENhY2hlR2VuZXJhdGlvbihGb250Q2FjaGU6OnNpbmdsZXRv
bigpLmdlbmVyYXRpb24oKSkKIHsKIH0KIAogRm9udENhc2NhZGVGb250czo6Rm9udENhc2NhZGVG
b250cyhjb25zdCBGb250UGxhdGZvcm1EYXRhJiBwbGF0Zm9ybURhdGEpCiAgICAgOiBtX2NhY2hl
ZFByaW1hcnlGb250KG51bGxwdHIpCiAgICAgLCBtX2ZvbnRTZWxlY3RvclZlcnNpb24oMCkKLSAg
ICAsIG1fZ2VuZXJhdGlvbihGb250Q2FjaGU6OnNpbmdsZXRvbigpLmdlbmVyYXRpb24oKSkKKyAg
ICAsIG1fZm9udENhY2hlR2VuZXJhdGlvbihGb250Q2FjaGU6OnNpbmdsZXRvbigpLmdlbmVyYXRp
b24oKSkKICAgICAsIG1faXNGb3JQbGF0Zm9ybUZvbnQodHJ1ZSkKIHsKICAgICBtX3JlYWxpemVk
RmFsbGJhY2tSYW5nZXMuYXBwZW5kKEZvbnRSYW5nZXMoRm9udENhY2hlOjpzaW5nbGV0b24oKS5m
b250Rm9yUGxhdGZvcm1EYXRhKHBsYXRmb3JtRGF0YSkpKTsKQEAgLTE3NSw3ICsxNzUsNyBAQCBj
b25zdCBGb250UmFuZ2VzJiBGb250Q2FzY2FkZUZvbnRzOjpyZWFsaXplRmFsbGJhY2tSYW5nZXNB
dChjb25zdCBGb250Q2FzY2FkZURlcwogICAgICAgICByZXR1cm4gbV9yZWFsaXplZEZhbGxiYWNr
UmFuZ2VzW2luZGV4XTsKIAogICAgIEFTU0VSVChpbmRleCA9PSBtX3JlYWxpemVkRmFsbGJhY2tS
YW5nZXMuc2l6ZSgpKTsKLSAgICBBU1NFUlQoRm9udENhY2hlOjpzaW5nbGV0b24oKS5nZW5lcmF0
aW9uKCkgPT0gbV9nZW5lcmF0aW9uKTsKKyAgICBBU1NFUlQoRm9udENhY2hlOjpzaW5nbGV0b24o
KS5nZW5lcmF0aW9uKCkgPT0gbV9mb250Q2FjaGVHZW5lcmF0aW9uKTsKIAogICAgIG1fcmVhbGl6
ZWRGYWxsYmFja1Jhbmdlcy5hcHBlbmQoRm9udFJhbmdlcygpKTsKICAgICBhdXRvJiBmb250UmFu
Z2VzID0gbV9yZWFsaXplZEZhbGxiYWNrUmFuZ2VzLmxhc3QoKTsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ZvbnRDYXNjYWRlRm9udHMuaCBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ZvbnRDYXNjYWRlRm9udHMuaAppbmRleCAyMDZjNDhl
MzRhMzk4YjRkNzE3ZjdkYWJkMGFlOTk3ZDYzNDc4ZmM0Li44ZWI4MmNlZDhiYjhiYjc3MjQ5ODY4
OGQ3NmFiOWMxMDkzOTU5ODQxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9Gb250Q2FzY2FkZUZvbnRzLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvRm9udENhc2NhZGVGb250cy5oCkBAIC02MCw5ICs2MCw4IEBAIHB1YmxpYzoKICAg
ICBib29sIGlzTG9hZGluZ0N1c3RvbUZvbnRzKCkgY29uc3Q7CiAKICAgICBGb250U2VsZWN0b3Iq
IGZvbnRTZWxlY3RvcigpIHsgcmV0dXJuIG1fZm9udFNlbGVjdG9yLmdldCgpOyB9Ci0gICAgLy8g
RklYTUU6IEl0IHNob3VsZCBiZSBwb3NzaWJsZSB0byBjb21iaW5lIGZvbnRTZWxlY3RvclZlcnNp
b24gYW5kIGdlbmVyYXRpb24uCiAgICAgdW5zaWduZWQgZm9udFNlbGVjdG9yVmVyc2lvbigpIGNv
bnN0IHsgcmV0dXJuIG1fZm9udFNlbGVjdG9yVmVyc2lvbjsgfQotICAgIHVuc2lnbmVkIGdlbmVy
YXRpb24oKSBjb25zdCB7IHJldHVybiBtX2dlbmVyYXRpb247IH0KKyAgICB1bnNpZ25lZCBmb250
Q2FjaGVHZW5lcmF0aW9uKCkgY29uc3QgeyByZXR1cm4gbV9mb250Q2FjaGVHZW5lcmF0aW9uOyB9
CiAKICAgICBXaWR0aENhY2hlJiB3aWR0aENhY2hlKCkgeyByZXR1cm4gbV93aWR0aENhY2hlOyB9
CiAgICAgY29uc3QgV2lkdGhDYWNoZSYgd2lkdGhDYWNoZSgpIGNvbnN0IHsgcmV0dXJuIG1fd2lk
dGhDYWNoZTsgfQpAQCAtMTA5LDcgKzEwOCw3IEBAIHByaXZhdGU6CiAgICAgV2lkdGhDYWNoZSBt
X3dpZHRoQ2FjaGU7CiAKICAgICB1bnNpZ25lZCBtX2ZvbnRTZWxlY3RvclZlcnNpb247Ci0gICAg
dW5zaWduZWQgc2hvcnQgbV9nZW5lcmF0aW9uOworICAgIGNvbnN0IHVuc2lnbmVkIHNob3J0IG1f
Zm9udENhY2hlR2VuZXJhdGlvbjsKICAgICBQaXRjaCBtX3BpdGNoIHsgVW5rbm93blBpdGNoIH07
CiAgICAgYm9vbCBtX2lzRm9yUGxhdGZvcm1Gb250IHsgZmFsc2UgfTsKIH07Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>385881</attachid>
            <date>2019-12-17 06:25:12 -0800</date>
            <delta_ts>2019-12-17 11:19:55 -0800</delta_ts>
            <desc>patch</desc>
            <filename>shadow-tree-matched-declarations-cache-invalidation.patch</filename>
            <type>text/plain</type>
            <size>4880</size>
            <attacher name="Antti Koivisto">koivisto</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCBkYzBlOTlhMzk5Ni4uODIwODEwZmY3MzcgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3Rz
L0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNCBAQAor
MjAxOS0xMi0xNyAgQW50dGkgS29pdmlzdG8gIDxhbnR0aUBhcHBsZS5jb20+CisKKyAgICAgICAg
UkVHUkVTU0lPTjogQVNTRVJUSU9OIEZBSUxFRDogRm9udENhY2hlOjpzaW5nbGV0b24oKS5nZW5l
cmF0aW9uKCkgPT0gbV9nZW5lcmF0aW9uCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD0yMDQ5MzMKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzU3NDU4NDMy
PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogZmFz
dC9zaGFkb3ctZG9tL2ZvbnQtY2FjaGUtaW52YWxpZGF0aW9uLWV4cGVjdGVkLnR4dDogQWRkZWQu
CisgICAgICAgICogZmFzdC9zaGFkb3ctZG9tL2ZvbnQtY2FjaGUtaW52YWxpZGF0aW9uLmh0bWw6
IEFkZGVkLgorCiAyMDE5LTEyLTE3ICBBbnR0aSBLb2l2aXN0byAgPGFudHRpQGFwcGxlLmNvbT4K
IAogICAgICAgICBSZXNvbHZlIGR5bmFtaWMgbWVkaWEgcXVlcmllcyB3aXRob3V0IHJlY29uc3Ry
dWN0aW5nIFJ1bGVTZXRzCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L3NoYWRvdy1kb20v
Zm9udC1jYWNoZS1pbnZhbGlkYXRpb24tZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9z
aGFkb3ctZG9tL2ZvbnQtY2FjaGUtaW52YWxpZGF0aW9uLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMC4uZjllMTFkNzdlMmUKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9mYXN0L3NoYWRvdy1kb20vZm9udC1jYWNoZS1pbnZhbGlkYXRpb24t
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEgQEAKK1RoaXMgdGVzdCBwYXNzZXMgaWYgaXQgZG9lc24n
dCBoaXQgYXNzZXJ0LiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3Qvc2hhZG93LWRvbS9m
b250LWNhY2hlLWludmFsaWRhdGlvbi5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9zaGFkb3ctZG9t
L2ZvbnQtY2FjaGUtaW52YWxpZGF0aW9uLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAuLjllZjA4Y2MzNTE3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZmFzdC9zaGFkb3ctZG9tL2ZvbnQtY2FjaGUtaW52YWxpZGF0aW9uLmh0bWwKQEAgLTAsMCArMSwy
NSBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdD4KK2lmICh3aW5k
b3cudGVzdFJ1bm5lcikKKyAgICB0ZXN0UnVubmVyLmR1bXBBc1RleHQoKTsKKzwvc2NyaXB0Pgor
PC9oZWFkPgorPGJvZHk+CitUaGlzIHRlc3QgcGFzc2VzIGlmIGl0IGRvZXNuJ3QgaGl0IGFzc2Vy
dC4KKzxpbnB1dCB0eXBlPSJjb2xvciIgaWQ9Y29sb3JpbnB1dD4KKzxzY3JpcHQ+Citjb2xvcmlu
cHV0Lm9mZnNldFdpZHRoOworPC9zY3JpcHQ+Cis8c3R5bGU+CisjY29sb3JpbnB1dCB7IHdpZHRo
OiAyMDBweDsgfQorPC9zdHlsZT4KKzxzY3JpcHQ+CitpZiAod2luZG93LmludGVybmFscykKKyAg
ICBpbnRlcm5hbHMuaW52YWxpZGF0ZUZvbnRDYWNoZSgpOworCitjb2xvcmlucHV0Lm9mZnNldFdp
ZHRoOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNmM1N2VlNmRi
MGEuLjE0YjZmZjVhYWY2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysr
IGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjUgQEAKKzIwMTktMTItMTcg
IEFudHRpIEtvaXZpc3RvICA8YW50dGlAYXBwbGUuY29tPgorCisgICAgICAgIFJFR1JFU1NJT046
IEFTU0VSVElPTiBGQUlMRUQ6IEZvbnRDYWNoZTo6c2luZ2xldG9uKCkuZ2VuZXJhdGlvbigpID09
IG1fZ2VuZXJhdGlvbgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9MjA0OTMzCisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS81NzQ1ODQzMj4KKworICAgICAg
ICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBUZXN0OiBmYXN0L3NoYWRv
dy1kb20vZm9udC1jYWNoZS1pbnZhbGlkYXRpb24uaHRtbAorCisgICAgICAgIFdoZW4gZm9udCBj
YWNoZSB2ZXJzaW9uIG51bWJlciBpcyBidW1wZWQgd2UgbmVlZCB0byBpbnZhbGlkYXRlIG1hdGNo
ZXMgZGVjbGFyYXRpb25zIGNhY2hlcyBiZWNhdXNlCisgICAgICAgIHRoZXkgbWF5IG5vdyBjb250
YWluIHN0YWxlIGZvbnQgcmVmZXJlbmNlcy4gVGhlIGNvZGUgdG8gZG8gdGhpcyBmYWlsZWQgdG8g
bG9vayBpbnRvIHNoYWRvdyB0cmVlcy4KKworICAgICAgICAqIGRvbS9Eb2N1bWVudC5jcHA6Cisg
ICAgICAgIChXZWJDb3JlOjpEb2N1bWVudDo6aW52YWxpZGF0ZU1hdGNoZWRQcm9wZXJ0aWVzQ2Fj
aGVBbmRGb3JjZVN0eWxlUmVjYWxjKToKKyAgICAgICAgKiBzdHlsZS9TdHlsZVNjb3BlLmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6OlN0eWxlOjpTY29wZTo6aW52YWxpZGF0ZU1hdGNoZWREZWNsYXJh
dGlvbnNDYWNoZSk6CisKKyAgICAgICAgQWxzbyBpbnZhbGlkYXRlIHRoZSBzaGFkb3cgdHJlZXMu
CisKKyAgICAgICAgKiBzdHlsZS9TdHlsZVNjb3BlLmg6CisKIDIwMTktMTItMTcgIEFudHRpIEtv
aXZpc3RvICA8YW50dGlAYXBwbGUuY29tPgogCiAgICAgICAgIFJlc29sdmUgZHluYW1pYyBtZWRp
YSBxdWVyaWVzIHdpdGhvdXQgcmVjb25zdHJ1Y3RpbmcgUnVsZVNldHMKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1l
bnQuY3BwCmluZGV4IDY2OTE0NWI0MGNkLi4zM2ZhOTBjOWEwNSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvZG9tL0RvY3VtZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1l
bnQuY3BwCkBAIC0yMzA5LDggKzIzMDksOCBAQCB2b2lkIERvY3VtZW50Ojpmb250c05lZWRVcGRh
dGUoRm9udFNlbGVjdG9yJikKIAogdm9pZCBEb2N1bWVudDo6aW52YWxpZGF0ZU1hdGNoZWRQcm9w
ZXJ0aWVzQ2FjaGVBbmRGb3JjZVN0eWxlUmVjYWxjKCkKIHsKLSAgICBpZiAoYXV0byogcmVzb2x2
ZXIgPSBzdHlsZVNjb3BlKCkucmVzb2x2ZXJJZkV4aXN0cygpKQotICAgICAgICByZXNvbHZlci0+
aW52YWxpZGF0ZU1hdGNoZWREZWNsYXJhdGlvbnNDYWNoZSgpOworICAgIHN0eWxlU2NvcGUoKS5p
bnZhbGlkYXRlTWF0Y2hlZERlY2xhcmF0aW9uc0NhY2hlKCk7CisKICAgICBpZiAoYmFja0Zvcndh
cmRDYWNoZVN0YXRlKCkgIT0gTm90SW5CYWNrRm9yd2FyZENhY2hlIHx8ICFyZW5kZXJWaWV3KCkp
CiAgICAgICAgIHJldHVybjsKICAgICBzY2hlZHVsZUZ1bGxTdHlsZVJlYnVpbGQoKTsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N0eWxlL1N0eWxlU2NvcGUuY3BwIGIvU291cmNlL1dlYkNv
cmUvc3R5bGUvU3R5bGVTY29wZS5jcHAKaW5kZXggYTkzNDgxMTgwNmUuLjkwYjYzZDJkZTQ4IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9zdHlsZS9TdHlsZVNjb3BlLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9zdHlsZS9TdHlsZVNjb3BlLmNwcApAQCAtNjkxLDYgKzY5MSwxOCBAQCB2b2lk
IFNjb3BlOjpkaWRDaGFuZ2VTdHlsZVNoZWV0RW52aXJvbm1lbnQoKQogICAgIHNjaGVkdWxlVXBk
YXRlKFVwZGF0ZVR5cGU6OkNvbnRlbnRzT3JJbnRlcnByZXRhdGlvbik7CiB9CiAKK3ZvaWQgU2Nv
cGU6OmludmFsaWRhdGVNYXRjaGVkRGVjbGFyYXRpb25zQ2FjaGUoKQoreworICAgIGlmICghbV9z
aGFkb3dSb290KSB7CisgICAgICAgIGZvciAoYXV0byogZGVzY2VuZGFudFNoYWRvd1Jvb3QgOiBt
X2RvY3VtZW50LmluRG9jdW1lbnRTaGFkb3dSb290cygpKQorICAgICAgICAgICAgZGVzY2VuZGFu
dFNoYWRvd1Jvb3QtPnN0eWxlU2NvcGUoKS5pbnZhbGlkYXRlTWF0Y2hlZERlY2xhcmF0aW9uc0Nh
Y2hlKCk7CisgICAgfQorCisgICAgaWYgKGF1dG8qIHJlc29sdmVyID0gcmVzb2x2ZXJJZkV4aXN0
cygpKQorICAgICAgICByZXNvbHZlci0+aW52YWxpZGF0ZU1hdGNoZWREZWNsYXJhdGlvbnNDYWNo
ZSgpOworfQorCisKIHZvaWQgU2NvcGU6OnBlbmRpbmdVcGRhdGVUaW1lckZpcmVkKCkKIHsKICAg
ICBmbHVzaFBlbmRpbmdVcGRhdGUoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N0eWxl
L1N0eWxlU2NvcGUuaCBiL1NvdXJjZS9XZWJDb3JlL3N0eWxlL1N0eWxlU2NvcGUuaAppbmRleCAw
MmE4YmI0NmVkMS4uM2IzM2FhOWRhYWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3N0eWxl
L1N0eWxlU2NvcGUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9zdHlsZS9TdHlsZVNjb3BlLmgKQEAg
LTEwOCw2ICsxMDgsOCBAQCBwdWJsaWM6CiAgICAgLy8gVGhlIGNoYW5nZSBpcyBhc3N1bWVkIHRv
IHBvdGVudGlhbGx5IGFmZmVjdCBhbGwgYXV0aG9yIGFuZCB1c2VyIHN0eWxlc2hlZXRzIGluY2x1
ZGluZyBzaGFkb3cgcm9vdHMuCiAgICAgV0VCQ09SRV9FWFBPUlQgdm9pZCBkaWRDaGFuZ2VTdHls
ZVNoZWV0RW52aXJvbm1lbnQoKTsKIAorICAgIHZvaWQgaW52YWxpZGF0ZU1hdGNoZWREZWNsYXJh
dGlvbnNDYWNoZSgpOworCiAgICAgYm9vbCBoYXNQZW5kaW5nVXBkYXRlKCkgY29uc3QgeyByZXR1
cm4gbV9wZW5kaW5nVXBkYXRlIHx8IG1faGFzRGVzY2VuZGFudFdpdGhQZW5kaW5nVXBkYXRlOyB9
CiAgICAgdm9pZCBmbHVzaFBlbmRpbmdVcGRhdGUoKTsKIAo=
</data>

          </attachment>
      

    </bug>

</bugzilla>