<?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>144180</bug_id>
          
          <creation_ts>2015-04-24 19:14:58 -0700</creation_ts>
          <short_desc>Implement parsing support for font-synthesis CSS property</short_desc>
          <delta_ts>2015-04-24 20:30:33 -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>New Bugs</component>
          <version>528+ (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="Myles C. Maxfield">mmaxfield</reporter>
          <assigned_to name="Myles C. Maxfield">mmaxfield</assigned_to>
          <cc>thorton</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1088450</commentid>
    <comment_count>0</comment_count>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2015-04-24 19:14:58 -0700</bug_when>
    <thetext>Implement parsing support for font-synthesis CSS property</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1088451</commentid>
    <comment_count>1</comment_count>
      <attachid>251603</attachid>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2015-04-24 19:16:12 -0700</bug_when>
    <thetext>Created attachment 251603
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1088452</commentid>
    <comment_count>2</comment_count>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2015-04-24 19:16:37 -0700</bug_when>
    <thetext>&lt;rdar://problem/20692791&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1088453</commentid>
    <comment_count>3</comment_count>
      <attachid>251603</attachid>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2015-04-24 19:18:02 -0700</bug_when>
    <thetext>Comment on attachment 251603
Patch

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

&gt; LayoutTests/fast/css3-text/font-synthesis-parse.html:93
&gt; +    stylesheet.insertRule(&quot;#p { font-synthesis: weight style }&quot;, 0);

Add a test for duplicate valid values</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1088454</commentid>
    <comment_count>4</comment_count>
      <attachid>251603</attachid>
    <who name="Tim Horton">thorton</who>
    <bug_when>2015-04-24 19:27:51 -0700</bug_when>
    <thetext>Comment on attachment 251603
Patch

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

&gt; Source/WebCore/ChangeLog:4
&gt; +        https://bugs.webkit.org/show_bug.cgi?id=144180

please put the radar here

&gt; Source/WebCore/ChangeLog:15
&gt; +        * css/CSSComputedStyleDeclaration.cpp:

more comments!

&gt; Source/WebCore/css/StyleBuilderCustom.h:1386
&gt; +    bool encounteredStyle = false;

Flags would make this look less silly too

&gt; Source/WebCore/rendering/style/RenderStyleConstants.h:423
&gt; +    FontSynthesisWeight = 0x1,
&gt; +    FontSynthesisStyle = 0x2,
&gt; +    FontSynthesisWeightAndStyle = 0x3

This looks ripe for bitflagging, no? Like TextDecoration, below.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1088459</commentid>
    <comment_count>5</comment_count>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2015-04-24 20:30:33 -0700</bug_when>
    <thetext>Committed r183304: &lt;http://trac.webkit.org/changeset/183304&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>251603</attachid>
            <date>2015-04-24 19:16:12 -0700</date>
            <delta_ts>2015-04-24 19:27:51 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-144180-20150424191506.patch</filename>
            <type>text/plain</type>
            <size>21087</size>
            <attacher name="Myles C. Maxfield">mmaxfield</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTgzMjg3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNWE1ODVmMDY0NDUzYjNl
MjMzYjdkODBlZWI1MGNjODZhNzllZTkyYi4uZGFhNDFjNThkYzkxY2Q2NjNlMDRhNmNmMzNmMGVk
MTJkNWFkYTI5NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMyIEBACisyMDE1LTA0LTI0ICBNeWxl
cyBDLiBNYXhmaWVsZCAgPG1tYXhmaWVsZEBhcHBsZS5jb20+CisKKyAgICAgICAgSW1wbGVtZW50
IHBhcnNpbmcgc3VwcG9ydCBmb3IgZm9udC1zeW50aGVzaXMgQ1NTIHByb3BlcnR5CisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNDQxODAKKworICAgICAg
ICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBTZWUgaHR0cDovL3d3dy53
My5vcmcvVFIvY3NzLWZvbnRzLTMvI2ZvbnQtc3ludGhlc2lzLXByb3AKKworICAgICAgICBUaGlz
IHByb3BlcnR5IGFsbG93cyB3ZWIgYXV0aG9ycyB0byBvcHQgb3V0IG9mIGZvbnQgc3ludGhlc2lz
LiBUaGlzIHBhdGNoIG9ubHkKKyAgICAgICAgaW1wbGVtZW50cyBwYXJzaW5nIHN1cHBvcnQgZm9y
IHRoZSBwcm9wZXJ0eS4KKworICAgICAgICBUZXN0OiBmYXN0L2NzczMtdGV4dC9mb250LXN5bnRo
ZXNpcy1wYXJzZS5odG1sCisKKyAgICAgICAgKiBjc3MvQ1NTQ29tcHV0ZWRTdHlsZURlY2xhcmF0
aW9uLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OmZvbnRTeW50aGVzaXNGcm9tU3R5bGUpOgorICAg
ICAgICAoV2ViQ29yZTo6Q29tcHV0ZWRTdHlsZUV4dHJhY3Rvcjo6cHJvcGVydHlWYWx1ZSk6Cisg
ICAgICAgICogY3NzL0NTU1BhcnNlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpDU1NQYXJzZXI6
OnBhcnNlVmFsdWUpOgorICAgICAgICAoV2ViQ29yZTo6Q1NTUGFyc2VyOjpwYXJzZUZvbnRTeW50
aGVzaXMpOgorICAgICAgICAqIGNzcy9DU1NQYXJzZXIuaDoKKyAgICAgICAgKiBjc3MvQ1NTUHJv
cGVydHlOYW1lcy5pbjoKKyAgICAgICAgKiBjc3MvQ1NTVmFsdWVLZXl3b3Jkcy5pbjoKKyAgICAg
ICAgKiBjc3MvU3R5bGVCdWlsZGVyQ3VzdG9tLmg6CisgICAgICAgIChXZWJDb3JlOjpTdHlsZUJ1
aWxkZXJDdXN0b206OmFwcGx5VmFsdWVGb250U3ludGhlc2lzKToKKyAgICAgICAgKiByZW5kZXJp
bmcvc3R5bGUvUmVuZGVyU3R5bGUuaDoKKyAgICAgICAgKiByZW5kZXJpbmcvc3R5bGUvUmVuZGVy
U3R5bGVDb25zdGFudHMuaDoKKyAgICAgICAgKiByZW5kZXJpbmcvc3R5bGUvU3R5bGVSYXJlSW5o
ZXJpdGVkRGF0YS5oOgorCiAyMDE1LTA0LTI0ICBFbnJpY2EgQ2FzdWNjaSAgPGVucmljYUBhcHBs
ZS5jb20+CiAKICAgICAgICAgTWFrZSByYW5nZUV4cGFuZGVkQXJvdW5kUG9zaXRpb25CeUNoYXJh
Y3RlcnMgdG8gYWxsIHBsYXRmb3Jtcy4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9D
U1NDb21wdXRlZFN0eWxlRGVjbGFyYXRpb24uY3BwIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU0Nv
bXB1dGVkU3R5bGVEZWNsYXJhdGlvbi5jcHAKaW5kZXggMDI4YTM5OTVmMzc3MDQ1NjI4NWNhNzQ3
OGE2YjQxMTYzOTBlMmViOC4uY2UwNWYwMzYzZDI3YjkzOThkZTI2NWJmMjFlNzY3ZDM4M2UyMGEx
NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU0NvbXB1dGVkU3R5bGVEZWNsYXJh
dGlvbi5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU0NvbXB1dGVkU3R5bGVEZWNsYXJh
dGlvbi5jcHAKQEAgLTE2MTEsNiArMTYxMSwzMCBAQCBzdGF0aWMgUmVmPENTU1ByaW1pdGl2ZVZh
bHVlPiBmb250V2VpZ2h0RnJvbVN0eWxlKFJlbmRlclN0eWxlKiBzdHlsZSkKICAgICByZXR1cm4g
Y3NzVmFsdWVQb29sKCkuY3JlYXRlSWRlbnRpZmllclZhbHVlKENTU1ZhbHVlTm9ybWFsKTsKIH0K
IAorc3RhdGljIFJlZjxDU1NWYWx1ZT4gZm9udFN5bnRoZXNpc0Zyb21TdHlsZShSZW5kZXJTdHls
ZSYgc3R5bGUpCit7CisgICAgaWYgKHN0eWxlLmZvbnRTeW50aGVzaXMoKSA9PSBGb250U3ludGhl
c2lzTm9uZSkKKyAgICAgICAgcmV0dXJuIGNzc1ZhbHVlUG9vbCgpLmNyZWF0ZUlkZW50aWZpZXJW
YWx1ZShDU1NWYWx1ZU5vbmUpOworCisgICAgYXV0byBsaXN0ID0gQ1NTVmFsdWVMaXN0OjpjcmVh
dGVTcGFjZVNlcGFyYXRlZCgpOworICAgIHN3aXRjaCAoc3R5bGUuZm9udFN5bnRoZXNpcygpKSB7
CisgICAgY2FzZSBGb250U3ludGhlc2lzTm9uZToKKyAgICAgICAgQVNTRVJUX05PVF9SRUFDSEVE
KCk7CisgICAgICAgIGJyZWFrOworICAgIGNhc2UgRm9udFN5bnRoZXNpc1N0eWxlOgorICAgICAg
ICBsaXN0LmdldCgpLmFwcGVuZChjc3NWYWx1ZVBvb2woKS5jcmVhdGVJZGVudGlmaWVyVmFsdWUo
Q1NTVmFsdWVTdHlsZSkpOworICAgICAgICBicmVhazsKKyAgICBjYXNlIEZvbnRTeW50aGVzaXNX
ZWlnaHQ6CisgICAgICAgIGxpc3QuZ2V0KCkuYXBwZW5kKGNzc1ZhbHVlUG9vbCgpLmNyZWF0ZUlk
ZW50aWZpZXJWYWx1ZShDU1NWYWx1ZVdlaWdodCkpOworICAgICAgICBicmVhazsKKyAgICBjYXNl
IEZvbnRTeW50aGVzaXNXZWlnaHRBbmRTdHlsZToKKyAgICAgICAgbGlzdC5nZXQoKS5hcHBlbmQo
Y3NzVmFsdWVQb29sKCkuY3JlYXRlSWRlbnRpZmllclZhbHVlKENTU1ZhbHVlV2VpZ2h0KSk7Cisg
ICAgICAgIGxpc3QuZ2V0KCkuYXBwZW5kKGNzc1ZhbHVlUG9vbCgpLmNyZWF0ZUlkZW50aWZpZXJW
YWx1ZShDU1NWYWx1ZVN0eWxlKSk7CisgICAgICAgIGJyZWFrOworICAgIH0KKyAgICByZXR1cm4g
UmVmPENTU1ZhbHVlPihsaXN0LmdldCgpKTsKK30KKwogdHlwZWRlZiBjb25zdCBMZW5ndGgmIChS
ZW5kZXJTdHlsZTo6KlJlbmRlclN0eWxlTGVuZ3RoR2V0dGVyKSgpIGNvbnN0OwogdHlwZWRlZiBM
YXlvdXRVbml0IChSZW5kZXJCb3hNb2RlbE9iamVjdDo6KlJlbmRlckJveENvbXB1dGVkQ1NTVmFs
dWVHZXR0ZXIpKCkgY29uc3Q7CiAKQEAgLTIyMzQsNiArMjI1OCw4IEBAIFBhc3NSZWZQdHI8Q1NT
VmFsdWU+IENvbXB1dGVkU3R5bGVFeHRyYWN0b3I6OnByb3BlcnR5VmFsdWUoQ1NTUHJvcGVydHlJ
RCBwcm9wZXJ0CiAgICAgICAgICAgICByZXR1cm4gZm9udFZhcmlhbnRGcm9tU3R5bGUoc3R5bGUu
Z2V0KCkpOwogICAgICAgICBjYXNlIENTU1Byb3BlcnR5Rm9udFdlaWdodDoKICAgICAgICAgICAg
IHJldHVybiBmb250V2VpZ2h0RnJvbVN0eWxlKHN0eWxlLmdldCgpKTsKKyAgICAgICAgY2FzZSBD
U1NQcm9wZXJ0eUZvbnRTeW50aGVzaXM6CisgICAgICAgICAgICByZXR1cm4gZm9udFN5bnRoZXNp
c0Zyb21TdHlsZSgqc3R5bGUuZ2V0KCkpOwogICAgICAgICBjYXNlIENTU1Byb3BlcnR5V2Via2l0
Rm9udEZlYXR1cmVTZXR0aW5nczogewogICAgICAgICAgICAgY29uc3QgRm9udEZlYXR1cmVTZXR0
aW5ncyogZmVhdHVyZVNldHRpbmdzID0gc3R5bGUtPmZvbnREZXNjcmlwdGlvbigpLmZlYXR1cmVT
ZXR0aW5ncygpOwogICAgICAgICAgICAgaWYgKCFmZWF0dXJlU2V0dGluZ3MgfHwgIWZlYXR1cmVT
ZXR0aW5ncy0+c2l6ZSgpKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1BhcnNl
ci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUGFyc2VyLmNwcAppbmRleCA3NGJhYmQzY2Qx
ZmRjM2E5NTA1NzkyZDlhYzE0MTYzYzJkMTJhZGJlLi4zMjM1MDgyNGVmNTI0ZjAwZDMxZDdmM2Yw
NzhlMzEzMTgyMDE3OTlkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUGFyc2Vy
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUGFyc2VyLmNwcApAQCAtMTk4Miw2ICsx
OTgyLDEwIEBAIGJvb2wgQ1NTUGFyc2VyOjpwYXJzZVZhbHVlKENTU1Byb3BlcnR5SUQgcHJvcElk
LCBib29sIGltcG9ydGFudCkKICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICAgICAgcmV0
dXJuIHBhcnNlRm9udFdlaWdodChpbXBvcnRhbnQpOwogICAgIH0KKworICAgIGNhc2UgQ1NTUHJv
cGVydHlGb250U3ludGhlc2lzOiAvLyBub25lIHwgWyB3ZWlnaHQgfHwgc3R5bGUgXQorICAgICAg
ICByZXR1cm4gcGFyc2VGb250U3ludGhlc2lzKGltcG9ydGFudCk7CisKICAgICBjYXNlIENTU1By
b3BlcnR5Qm9yZGVyU3BhY2luZzogewogICAgICAgICBpZiAobnVtID09IDEpIHsKICAgICAgICAg
ICAgIFNob3J0aGFuZFNjb3BlIHNjb3BlKHRoaXMsIENTU1Byb3BlcnR5Qm9yZGVyU3BhY2luZyk7
CkBAIC02NzY5LDYgKzY3NzMsNDAgQEAgYm9vbCBDU1NQYXJzZXI6OnBhcnNlRm9udFdlaWdodChi
b29sIGltcG9ydGFudCkKICAgICByZXR1cm4gZmFsc2U7CiB9CiAKK2Jvb2wgQ1NTUGFyc2VyOjpw
YXJzZUZvbnRTeW50aGVzaXMoYm9vbCBpbXBvcnRhbnQpCit7CisgICAgLy8gbm9uZSB8IFsgd2Vp
Z2h0IHx8IHN0eWxlIF0KKyAgICBDU1NQYXJzZXJWYWx1ZSogdmFsdWUgPSBtX3ZhbHVlTGlzdC0+
Y3VycmVudCgpOworICAgIGlmICh2YWx1ZSAmJiB2YWx1ZS0+aWQgPT0gQ1NTVmFsdWVOb25lKSB7
CisgICAgICAgIGFkZFByb3BlcnR5KENTU1Byb3BlcnR5Rm9udFN5bnRoZXNpcywgY3NzVmFsdWVQ
b29sKCkuY3JlYXRlSWRlbnRpZmllclZhbHVlKENTU1ZhbHVlTm9uZSksIGltcG9ydGFudCk7Cisg
ICAgICAgIG1fdmFsdWVMaXN0LT5uZXh0KCk7CisgICAgICAgIHJldHVybiB0cnVlOworICAgIH0K
KworICAgIFJlZlB0cjxDU1NWYWx1ZUxpc3Q+IGxpc3QgPSBDU1NWYWx1ZUxpc3Q6OmNyZWF0ZVNw
YWNlU2VwYXJhdGVkKCk7CisgICAgYm9vbCBpc1ZhbGlkID0gdHJ1ZTsKKyAgICB3aGlsZSAoaXNW
YWxpZCAmJiB2YWx1ZSkgeworICAgICAgICBzd2l0Y2ggKHZhbHVlLT5pZCkgeworICAgICAgICBj
YXNlIENTU1ZhbHVlV2VpZ2h0OgorICAgICAgICBjYXNlIENTU1ZhbHVlU3R5bGU6CisgICAgICAg
ICAgICBsaXN0LT5hcHBlbmQoY3NzVmFsdWVQb29sKCkuY3JlYXRlSWRlbnRpZmllclZhbHVlKHZh
bHVlLT5pZCkpOworICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIGRlZmF1bHQ6CisgICAgICAg
ICAgICBpc1ZhbGlkID0gZmFsc2U7CisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgfQorICAg
ICAgICBpZiAoaXNWYWxpZCkKKyAgICAgICAgICAgIHZhbHVlID0gbV92YWx1ZUxpc3QtPm5leHQo
KTsKKyAgICB9CisKKyAgICBpZiAobGlzdC0+bGVuZ3RoKCkgJiYgaXNWYWxpZCkgeworICAgICAg
ICBhZGRQcm9wZXJ0eShDU1NQcm9wZXJ0eUZvbnRTeW50aGVzaXMsIGxpc3QucmVsZWFzZSgpLCBp
bXBvcnRhbnQpOworICAgICAgICByZXR1cm4gdHJ1ZTsKKyAgICB9CisKKyAgICByZXR1cm4gZmFs
c2U7Cit9CisKIGJvb2wgQ1NTUGFyc2VyOjpwYXJzZUZvbnRGYWNlU3JjVVJJKENTU1ZhbHVlTGlz
dCYgdmFsdWVMaXN0KQogewogICAgIFJlZlB0cjxDU1NGb250RmFjZVNyY1ZhbHVlPiB1cmlWYWx1
ZShDU1NGb250RmFjZVNyY1ZhbHVlOjpjcmVhdGUoY29tcGxldGVVUkwobV92YWx1ZUxpc3QtPmN1
cnJlbnQoKS0+c3RyaW5nKSkpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1Bh
cnNlci5oIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU1BhcnNlci5oCmluZGV4IDA3ZTM2OTlkYzc5
Mzk1NDg0MGU0MDRhMjljYjkwNWJjOGFlZmQwNWYuLjgzMjM3MDc4NjcxNTZiOTA1ZWU1NTlhNGY2
ZWE5NWJlMjdkOTdjYTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQYXJzZXIu
aAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUGFyc2VyLmgKQEAgLTI2Myw2ICsyNjMsNyBA
QCBwdWJsaWM6CiAgICAgYm9vbCBwYXJzZUZvbnRTaXplKGJvb2wgaW1wb3J0YW50KTsKICAgICBi
b29sIHBhcnNlRm9udFZhcmlhbnQoYm9vbCBpbXBvcnRhbnQpOwogICAgIGJvb2wgcGFyc2VGb250
V2VpZ2h0KGJvb2wgaW1wb3J0YW50KTsKKyAgICBib29sIHBhcnNlRm9udFN5bnRoZXNpcyhib29s
IGltcG9ydGFudCk7CiAgICAgYm9vbCBwYXJzZUZvbnRGYWNlU3JjKCk7CiAgICAgYm9vbCBwYXJz
ZUZvbnRGYWNlVW5pY29kZVJhbmdlKCk7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nz
cy9DU1NQcm9wZXJ0eU5hbWVzLmluIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU1Byb3BlcnR5TmFt
ZXMuaW4KaW5kZXggYmRhMTkyODc4MTI3YzI1Y2NiMmVkOTFmNjUyMDkxN2E4MWRjOGI2MC4uMDc0
MmZkYzkyMzg3Mjk2MGRiYTM3ZWQ1ZTVkMTU0NTNhNzRlYWM4MSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvY3NzL0NTU1Byb3BlcnR5TmFtZXMuaW4KKysrIGIvU291cmNlL1dlYkNvcmUvY3Nz
L0NTU1Byb3BlcnR5TmFtZXMuaW4KQEAgLTIyMyw2ICsyMjMsNyBAQCBmbG9vZC1jb2xvciBbU1ZH
LCBDb252ZXJ0ZXI9U1ZHQ29sb3JdCiBmbG9vZC1vcGFjaXR5IFtTVkcsIENvbnZlcnRlcj1PcGFj
aXR5XQogZm9udCBbSW5oZXJpdGVkLCBMb25naGFuZHM9Zm9udC1mYW1pbHl8Zm9udC1zaXplfGZv
bnQtc3R5bGV8Zm9udC12YXJpYW50fGZvbnQtd2VpZ2h0fGxpbmUtaGVpZ2h0XQogZm9udC1zdHJl
dGNoIFtTa2lwQnVpbGRlcl0KK2ZvbnQtc3ludGhlc2lzIFtJbmhlcml0ZWQsIEN1c3RvbT1WYWx1
ZV0KIGdseXBoLW9yaWVudGF0aW9uLWhvcml6b250YWwgW0luaGVyaXRlZCwgU1ZHLCBDb252ZXJ0
ZXI9R2x5cGhPcmllbnRhdGlvbl0KIGdseXBoLW9yaWVudGF0aW9uLXZlcnRpY2FsIFtJbmhlcml0
ZWQsIFNWRywgQ29udmVydGVyPUdseXBoT3JpZW50YXRpb25PckF1dG9dCiBoZWlnaHQgW0luaXRp
YWw9aW5pdGlhbFNpemUsIENvbnZlcnRlcj1MZW5ndGhTaXppbmddCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9jc3MvQ1NTVmFsdWVLZXl3b3Jkcy5pbiBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9D
U1NWYWx1ZUtleXdvcmRzLmluCmluZGV4IDUzMmU1MWVjMzZjOTg0MDA2ZjhmYWM5MjFlMDJlNDhj
Nzc5OTNkMDYuLjM0M2MxYTViNDM2NzMxMTJmZDFjMTNjNTk4NzE2NDkyMzIwYWUxMTUgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NWYWx1ZUtleXdvcmRzLmluCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2Nzcy9DU1NWYWx1ZUtleXdvcmRzLmluCkBAIC0xMTExLDMgKzExMTEsNyBAQCBm
cm9tLWludHJpbnNpYwogLy8gLWFwcGxlLXRyYWlsaW5nLXdvcmQKIC13ZWJraXQtcGFydGlhbGx5
LWJhbGFuY2VkCiAjZW5kaWYKKworLy8gZm9udC1zeW50aGVzaXMKK3dlaWdodAorc3R5bGUKXCBO
byBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3Mv
U3R5bGVCdWlsZGVyQ3VzdG9tLmggYi9Tb3VyY2UvV2ViQ29yZS9jc3MvU3R5bGVCdWlsZGVyQ3Vz
dG9tLmgKaW5kZXggNGJjZjZjNTU3Zjg1ZTk1MGU4ZmNkNjljYTY1OTY3YzI4NDk3NmJhMy4uN2Jk
YzI2NTkwODMzM2ZmYjU2NWMwNTUwN2U2ZjkzNDY3ODU0OWYyMSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvY3NzL1N0eWxlQnVpbGRlckN1c3RvbS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nz
cy9TdHlsZUJ1aWxkZXJDdXN0b20uaApAQCAtNzYsNiArNzYsNyBAQCBwdWJsaWM6CiAgICAgREVD
TEFSRV9QUk9QRVJUWV9DVVNUT01fSEFORExFUlMoRm9udEZhbWlseSk7CiAgICAgREVDTEFSRV9Q
Uk9QRVJUWV9DVVNUT01fSEFORExFUlMoRm9udFNpemUpOwogICAgIERFQ0xBUkVfUFJPUEVSVFlf
Q1VTVE9NX0hBTkRMRVJTKEZvbnRXZWlnaHQpOworICAgIERFQ0xBUkVfUFJPUEVSVFlfQ1VTVE9N
X0hBTkRMRVJTKEZvbnRTeW50aGVzaXMpOwogI2lmIEVOQUJMRShDU1NfSU1BR0VfUkVTT0xVVElP
TikKICAgICBERUNMQVJFX1BST1BFUlRZX0NVU1RPTV9IQU5ETEVSUyhJbWFnZVJlc29sdXRpb24p
OwogI2VuZGlmCkBAIC0xMzc1LDYgKzEzNzYsNDAgQEAgaW5saW5lIHZvaWQgU3R5bGVCdWlsZGVy
Q3VzdG9tOjphcHBseVZhbHVlRm9udFdlaWdodChTdHlsZVJlc29sdmVyJiBzdHlsZVJlc29sdmUK
ICAgICBzdHlsZVJlc29sdmVyLnNldEZvbnREZXNjcmlwdGlvbihmb250RGVzY3JpcHRpb24pOwog
fQogCitpbmxpbmUgdm9pZCBTdHlsZUJ1aWxkZXJDdXN0b206OmFwcGx5VmFsdWVGb250U3ludGhl
c2lzKFN0eWxlUmVzb2x2ZXImIHN0eWxlUmVzb2x2ZXIsIENTU1ZhbHVlJiB2YWx1ZSkKK3sKKyAg
ICBpZiAoaXM8Q1NTUHJpbWl0aXZlVmFsdWU+KHZhbHVlKSkgeworICAgICAgICBBU1NFUlQoZG93
bmNhc3Q8Q1NTUHJpbWl0aXZlVmFsdWU+KHZhbHVlKS5nZXRWYWx1ZUlEKCkgPT0gQ1NTVmFsdWVO
b25lKTsKKyAgICAgICAgc3R5bGVSZXNvbHZlci5zdHlsZSgpLT5zZXRGb250U3ludGhlc2lzKEZv
bnRTeW50aGVzaXNOb25lKTsKKyAgICB9CisKKyAgICBib29sIGVuY291bnRlcmVkU3R5bGUgPSBm
YWxzZTsKKyAgICBib29sIGVuY291bnRlcmVkV2VpZ2h0ID0gZmFsc2U7CisgICAgQVNTRVJUKGlz
PENTU1ZhbHVlTGlzdD4odmFsdWUpKTsKKyAgICBmb3IgKENTU1ZhbHVlJiBpIDogZG93bmNhc3Q8
Q1NTVmFsdWVMaXN0Pih2YWx1ZSkpIHsKKyAgICAgICAgc3dpdGNoIChkb3duY2FzdDxDU1NQcmlt
aXRpdmVWYWx1ZT4oaSkuZ2V0VmFsdWVJRCgpKSB7CisgICAgICAgIGNhc2UgQ1NTVmFsdWVXZWln
aHQ6CisgICAgICAgICAgICBlbmNvdW50ZXJlZFdlaWdodCA9IHRydWU7CisgICAgICAgICAgICBi
cmVhazsKKyAgICAgICAgY2FzZSBDU1NWYWx1ZVN0eWxlOgorICAgICAgICAgICAgZW5jb3VudGVy
ZWRTdHlsZSA9IHRydWU7CisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgZGVmYXVsdDoKKyAg
ICAgICAgICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOworICAgICAgICAgICAgYnJlYWs7CisgICAg
ICAgIH0KKyAgICB9CisKKyAgICBpZiAoZW5jb3VudGVyZWRTdHlsZSAmJiBlbmNvdW50ZXJlZFdl
aWdodCkKKyAgICAgICAgc3R5bGVSZXNvbHZlci5zdHlsZSgpLT5zZXRGb250U3ludGhlc2lzKEZv
bnRTeW50aGVzaXNXZWlnaHRBbmRTdHlsZSk7CisgICAgZWxzZSBpZiAoZW5jb3VudGVyZWRTdHls
ZSkKKyAgICAgICAgc3R5bGVSZXNvbHZlci5zdHlsZSgpLT5zZXRGb250U3ludGhlc2lzKEZvbnRT
eW50aGVzaXNTdHlsZSk7CisgICAgZWxzZSB7CisgICAgICAgIEFTU0VSVChlbmNvdW50ZXJlZFdl
aWdodCk7CisgICAgICAgIHN0eWxlUmVzb2x2ZXIuc3R5bGUoKS0+c2V0Rm9udFN5bnRoZXNpcyhG
b250U3ludGhlc2lzV2VpZ2h0KTsKKyAgICB9Cit9CisKIGlubGluZSB2b2lkIFN0eWxlQnVpbGRl
ckN1c3RvbTo6YXBwbHlJbml0aWFsQ29sdW1uR2FwKFN0eWxlUmVzb2x2ZXImIHN0eWxlUmVzb2x2
ZXIpCiB7CiAgICAgc3R5bGVSZXNvbHZlci5zdHlsZSgpLT5zZXRIYXNOb3JtYWxDb2x1bW5HYXAo
KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9SZW5kZXJTdHls
ZS5oIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1JlbmRlclN0eWxlLmgKaW5kZXgg
ZjkxM2RlNjJjZjJiMTI1MjgwZTFiZGQ0Zjk0YjEyODM2Y2NlMDFiMC4uY2IwYjA5NTY4Yzg4MzVm
ZDRlYmJlNWJiMWY0OWZiNmNjMzAwODFhNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL3N0eWxlL1JlbmRlclN0eWxlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5n
L3N0eWxlL1JlbmRlclN0eWxlLmgKQEAgLTEwMjQsNiArMTAyNCw4IEBAIHB1YmxpYzoKIAogICAg
IFRleHRPcmllbnRhdGlvbiB0ZXh0T3JpZW50YXRpb24oKSBjb25zdCB7IHJldHVybiBzdGF0aWNf
Y2FzdDxUZXh0T3JpZW50YXRpb24+KHJhcmVJbmhlcml0ZWREYXRhLT5tX3RleHRPcmllbnRhdGlv
bik7IH0KIAorICAgIEZvbnRTeW50aGVzaXMgZm9udFN5bnRoZXNpcygpIGNvbnN0IHsgcmV0dXJu
IHN0YXRpY19jYXN0PEZvbnRTeW50aGVzaXM+KHJhcmVJbmhlcml0ZWREYXRhLT5mb250U3ludGhl
c2lzKTsgfQorCiAgICAgT2JqZWN0Rml0IG9iamVjdEZpdCgpIGNvbnN0IHsgcmV0dXJuIHN0YXRp
Y19jYXN0PE9iamVjdEZpdD4ocmFyZU5vbkluaGVyaXRlZERhdGEtPm1fb2JqZWN0Rml0KTsgfQog
ICAgIAogICAgIC8vIFJldHVybiB0cnVlIGlmIGFueSB0cmFuc2Zvcm0gcmVsYXRlZCBwcm9wZXJ0
eSAoY3VycmVudGx5IHRyYW5zZm9ybSwgdHJhbnNmb3JtU3R5bGUzRCBvciBwZXJzcGVjdGl2ZSkg
CkBAIC0xNTMzLDYgKzE1MzUsNyBAQCBwdWJsaWM6CiAgICAgdm9pZCBzZXRNYXJnaW5BZnRlckNv
bGxhcHNlKEVNYXJnaW5Db2xsYXBzZSBjKSB7IFNFVF9WQVIocmFyZU5vbkluaGVyaXRlZERhdGEs
IG1hcmdpbkFmdGVyQ29sbGFwc2UsIGMpOyB9CiAgICAgdm9pZCBzZXRXb3JkQnJlYWsoRVdvcmRC
cmVhayBiKSB7IFNFVF9WQVIocmFyZUluaGVyaXRlZERhdGEsIHdvcmRCcmVhaywgYik7IH0KICAg
ICB2b2lkIHNldE92ZXJmbG93V3JhcChFT3ZlcmZsb3dXcmFwIGIpIHsgU0VUX1ZBUihyYXJlSW5o
ZXJpdGVkRGF0YSwgb3ZlcmZsb3dXcmFwLCBiKTsgfQorICAgIHZvaWQgc2V0Rm9udFN5bnRoZXNp
cyhGb250U3ludGhlc2lzIHN5bnRoZXNpcykgeyBTRVRfVkFSKHJhcmVJbmhlcml0ZWREYXRhLCBm
b250U3ludGhlc2lzLCBzeW50aGVzaXMpOyB9CiAgICAgdm9pZCBzZXROQlNQTW9kZShFTkJTUE1v
ZGUgYikgeyBTRVRfVkFSKHJhcmVJbmhlcml0ZWREYXRhLCBuYnNwTW9kZSwgYik7IH0KICAgICB2
b2lkIHNldExpbmVCcmVhayhMaW5lQnJlYWsgYikgeyBTRVRfVkFSKHJhcmVJbmhlcml0ZWREYXRh
LCBsaW5lQnJlYWssIGIpOyB9CiAgICAgdm9pZCBzZXRIeXBoZW5zKEh5cGhlbnMgaCkgeyBTRVRf
VkFSKHJhcmVJbmhlcml0ZWREYXRhLCBoeXBoZW5zLCBoKTsgfQpAQCAtMjA2MSw2ICsyMDY0LDcg
QEAgcHVibGljOgogICAgIHN0YXRpYyBCbGVuZE1vZGUgaW5pdGlhbEJsZW5kTW9kZSgpIHsgcmV0
dXJuIEJsZW5kTW9kZU5vcm1hbDsgfQogICAgIHN0YXRpYyBJc29sYXRpb24gaW5pdGlhbElzb2xh
dGlvbigpIHsgcmV0dXJuIElzb2xhdGlvbkF1dG87IH0KICNlbmRpZgorICAgIHN0YXRpYyBGb250
U3ludGhlc2lzIGluaXRpYWxGb250U3ludGhlc2lzKCkgeyByZXR1cm4gRm9udFN5bnRoZXNpc05v
bmU7IH0KIAogICAgIHN0YXRpYyBwdHJkaWZmX3Qgbm9uaW5oZXJpdGVkRmxhZ3NNZW1vcnlPZmZz
ZXQoKSB7IHJldHVybiBPQkpFQ1RfT0ZGU0VUT0YoUmVuZGVyU3R5bGUsIG5vbmluaGVyaXRlZF9m
bGFncyk7IH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1Jl
bmRlclN0eWxlQ29uc3RhbnRzLmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvUmVu
ZGVyU3R5bGVDb25zdGFudHMuaAppbmRleCA0NzEyMDE4YTc0OGE3YWNkNDNmOTIwMTE5NzFmMWVm
MzZhMWQzYzA2Li44Zjg3YTJkNWRkM2E4NDUzZTA0ZjU2ZDk5MzQzZjIzZmM1ZTU4ZTJjIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvUmVuZGVyU3R5bGVDb25zdGFu
dHMuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvUmVuZGVyU3R5bGVDb25z
dGFudHMuaApAQCAtNDE2LDYgKzQxNiwxMyBAQCBlbnVtIEVUZXh0VHJhbnNmb3JtIHsKICAgICBD
QVBJVEFMSVpFLCBVUFBFUkNBU0UsIExPV0VSQ0FTRSwgVFROT05FCiB9OwogCitlbnVtIEZvbnRT
eW50aGVzaXMgeworICAgIEZvbnRTeW50aGVzaXNOb25lID0gMHgwLAorICAgIEZvbnRTeW50aGVz
aXNXZWlnaHQgPSAweDEsCisgICAgRm9udFN5bnRoZXNpc1N0eWxlID0gMHgyLAorICAgIEZvbnRT
eW50aGVzaXNXZWlnaHRBbmRTdHlsZSA9IDB4MworfTsKKwogI2lmIEVOQUJMRShMRVRURVJQUkVT
UykKIHN0YXRpYyBjb25zdCBzaXplX3QgVGV4dERlY29yYXRpb25CaXRzID0gNTsKICNlbHNlCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvU3R5bGVSYXJlSW5oZXJp
dGVkRGF0YS5oIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1N0eWxlUmFyZUluaGVy
aXRlZERhdGEuaAppbmRleCBhODkyZDY5ODY3YmEwZTg0ZDliZTYxM2Q0YzNjMzg5OGViY2JiMTUw
Li5iOGQyMzI5ZTYyNmM3YzE4NjM4ZjAwZTZlYTQ2YzY0MGQyNjgzMmQxIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvU3R5bGVSYXJlSW5oZXJpdGVkRGF0YS5oCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9TdHlsZVJhcmVJbmhlcml0ZWREYXRh
LmgKQEAgLTEzMyw2ICsxMzMsOCBAQCBwdWJsaWM6CiAgICAgdW5zaWduZWQgdHJhaWxpbmdXb3Jk
IDogMTsKICNlbmRpZgogCisgICAgdW5zaWduZWQgZm9udFN5bnRoZXNpcyA6IDI7CisKICAgICBB
dG9taWNTdHJpbmcgaHlwaGVuYXRpb25TdHJpbmc7CiAgICAgc2hvcnQgaHlwaGVuYXRpb25MaW1p
dEJlZm9yZTsKICAgICBzaG9ydCBoeXBoZW5hdGlvbkxpbWl0QWZ0ZXI7CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggMjgyMTI5
OGZlZGQzMDM5NTE3ZmEwMjJlMjFmODNhM2E0NjQ2YTA2NC4uZmU0NDY4Mjc1NTVhODM0M2YzYWQ4
YzlkNDE5NTg5OGIzNWRmOGNhYyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisr
KyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDEzIEBACisyMDE1LTA0LTI0ICBN
eWxlcyBDLiBNYXhmaWVsZCAgPG1tYXhmaWVsZEBhcHBsZS5jb20+CisKKyAgICAgICAgSW1wbGVt
ZW50IHBhcnNpbmcgc3VwcG9ydCBmb3IgZm9udC1zeW50aGVzaXMgQ1NTIHByb3BlcnR5CisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNDQxODAKKworICAg
ICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIGZhc3QvY3NzMy10
ZXh0L2ZvbnQtc3ludGhlc2lzLXBhcnNlLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICog
ZmFzdC9jc3MzLXRleHQvZm9udC1zeW50aGVzaXMtcGFyc2UuaHRtbDogQWRkZWQuCisKIDIwMTUt
MDQtMjQgIEFsZXhleSBQcm9za3VyeWFrb3YgIDxhcEBhcHBsZS5jb20+CiAKICAgICAgICAgZmFz
dC9mcmFtZXMvZmxhdHRlbmluZy9pZnJhbWUtZmxhdHRlbmluZy1yZXNpemUtZXZlbnQtY291bnQu
aHRtbCB0aW1lcyBvdXQgb24gWW9zZW1pdGUgV0syCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9m
YXN0L2NzczMtdGV4dC9mb250LXN5bnRoZXNpcy1wYXJzZS1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9mYXN0L2NzczMtdGV4dC9mb250LXN5bnRoZXNpcy1wYXJzZS1leHBlY3RlZC50eHQKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uYmI5NmMwNzUyMTJjOTk3YWMwNzJmMzQwZWQ4YzY3ZDg5MmIwNzZjZQotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvY3NzMy10ZXh0L2ZvbnQtc3ludGhlc2lzLXBh
cnNlLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDQ4IEBACitQQVNTIGNzc1J1bGUudHlwZSBpcyBj
c3NSdWxlLlNUWUxFX1JVTEUKK1BBU1MgZGVjbGFyYXRpb24ubGVuZ3RoIGlzIDAKK1BBU1MgZGVj
bGFyYXRpb24uZ2V0UHJvcGVydHlWYWx1ZSgnZm9udC1zeW50aGVzaXMnKSBpcyBudWxsCitQQVNT
IGNvbXB1dGVkU3R5bGUuZ2V0UHJvcGVydHlDU1NWYWx1ZSgnZm9udC1zeW50aGVzaXMnKS5jc3NU
ZXh0IGlzICJub25lIgorUEFTUyBjc3NSdWxlLnR5cGUgaXMgY3NzUnVsZS5TVFlMRV9SVUxFCitQ
QVNTIGRlY2xhcmF0aW9uLmxlbmd0aCBpcyAxCitQQVNTIGRlY2xhcmF0aW9uLmdldFByb3BlcnR5
VmFsdWUoJ2ZvbnQtc3ludGhlc2lzJykgaXMgImluaXRpYWwiCitQQVNTIGNvbXB1dGVkU3R5bGUu
Z2V0UHJvcGVydHlDU1NWYWx1ZSgnZm9udC1zeW50aGVzaXMnKS5jc3NUZXh0IGlzICJub25lIgor
UEFTUyBjc3NSdWxlLnR5cGUgaXMgY3NzUnVsZS5TVFlMRV9SVUxFCitQQVNTIGRlY2xhcmF0aW9u
Lmxlbmd0aCBpcyAxCitQQVNTIGRlY2xhcmF0aW9uLmdldFByb3BlcnR5VmFsdWUoJ2ZvbnQtc3lu
dGhlc2lzJykgaXMgIndlaWdodCIKK1BBU1MgY29tcHV0ZWRTdHlsZS5nZXRQcm9wZXJ0eUNTU1Zh
bHVlKCdmb250LXN5bnRoZXNpcycpLmNzc1RleHQgaXMgIndlaWdodCIKK1BBU1MgY3NzUnVsZS50
eXBlIGlzIGNzc1J1bGUuU1RZTEVfUlVMRQorUEFTUyBkZWNsYXJhdGlvbi5sZW5ndGggaXMgMQor
UEFTUyBkZWNsYXJhdGlvbi5nZXRQcm9wZXJ0eVZhbHVlKCdmb250LXN5bnRoZXNpcycpIGlzICJz
dHlsZSIKK1BBU1MgY29tcHV0ZWRTdHlsZS5nZXRQcm9wZXJ0eUNTU1ZhbHVlKCdmb250LXN5bnRo
ZXNpcycpLmNzc1RleHQgaXMgInN0eWxlIgorUEFTUyBjc3NSdWxlLnR5cGUgaXMgY3NzUnVsZS5T
VFlMRV9SVUxFCitQQVNTIGRlY2xhcmF0aW9uLmxlbmd0aCBpcyAxCitQQVNTIGRlY2xhcmF0aW9u
LmdldFByb3BlcnR5VmFsdWUoJ2ZvbnQtc3ludGhlc2lzJykgaXMgIndlaWdodCBzdHlsZSIKK1BB
U1MgY29tcHV0ZWRTdHlsZS5nZXRQcm9wZXJ0eUNTU1ZhbHVlKCdmb250LXN5bnRoZXNpcycpLmNz
c1RleHQgaXMgIndlaWdodCBzdHlsZSIKK1BBU1MgY3NzUnVsZS50eXBlIGlzIGNzc1J1bGUuU1RZ
TEVfUlVMRQorUEFTUyBkZWNsYXJhdGlvbi5sZW5ndGggaXMgMQorUEFTUyBkZWNsYXJhdGlvbi5n
ZXRQcm9wZXJ0eVZhbHVlKCdmb250LXN5bnRoZXNpcycpIGlzICJzdHlsZSB3ZWlnaHQiCitQQVNT
IGNvbXB1dGVkU3R5bGUuZ2V0UHJvcGVydHlDU1NWYWx1ZSgnZm9udC1zeW50aGVzaXMnKS5jc3NU
ZXh0IGlzICJ3ZWlnaHQgc3R5bGUiCitQQVNTIGNzc1J1bGUudHlwZSBpcyBjc3NSdWxlLlNUWUxF
X1JVTEUKK1BBU1MgZGVjbGFyYXRpb24ubGVuZ3RoIGlzIDAKK1BBU1MgZGVjbGFyYXRpb24uZ2V0
UHJvcGVydHlWYWx1ZSgnZm9udC1zeW50aGVzaXMnKSBpcyBudWxsCitQQVNTIGNvbXB1dGVkU3R5
bGUuZ2V0UHJvcGVydHlDU1NWYWx1ZSgnZm9udC1zeW50aGVzaXMnKS5jc3NUZXh0IGlzICJub25l
IgorUEFTUyBjc3NSdWxlLnR5cGUgaXMgY3NzUnVsZS5TVFlMRV9SVUxFCitQQVNTIGRlY2xhcmF0
aW9uLmxlbmd0aCBpcyAwCitQQVNTIGRlY2xhcmF0aW9uLmdldFByb3BlcnR5VmFsdWUoJ2ZvbnQt
c3ludGhlc2lzJykgaXMgbnVsbAorUEFTUyBjb21wdXRlZFN0eWxlLmdldFByb3BlcnR5Q1NTVmFs
dWUoJ2ZvbnQtc3ludGhlc2lzJykuY3NzVGV4dCBpcyAibm9uZSIKK1BBU1MgY3NzUnVsZS50eXBl
IGlzIGNzc1J1bGUuU1RZTEVfUlVMRQorUEFTUyBkZWNsYXJhdGlvbi5sZW5ndGggaXMgMAorUEFT
UyBkZWNsYXJhdGlvbi5nZXRQcm9wZXJ0eVZhbHVlKCdmb250LXN5bnRoZXNpcycpIGlzIG51bGwK
K1BBU1MgY29tcHV0ZWRTdHlsZS5nZXRQcm9wZXJ0eUNTU1ZhbHVlKCdmb250LXN5bnRoZXNpcycp
LmNzc1RleHQgaXMgIm5vbmUiCitQQVNTIGNzc1J1bGUudHlwZSBpcyBjc3NSdWxlLlNUWUxFX1JV
TEUKK1BBU1MgZGVjbGFyYXRpb24ubGVuZ3RoIGlzIDAKK1BBU1MgZGVjbGFyYXRpb24uZ2V0UHJv
cGVydHlWYWx1ZSgnZm9udC1zeW50aGVzaXMnKSBpcyBudWxsCitQQVNTIGNvbXB1dGVkU3R5bGUu
Z2V0UHJvcGVydHlDU1NWYWx1ZSgnZm9udC1zeW50aGVzaXMnKS5jc3NUZXh0IGlzICJub25lIgor
UEFTUyBjc3NSdWxlLnR5cGUgaXMgY3NzUnVsZS5TVFlMRV9SVUxFCitQQVNTIGRlY2xhcmF0aW9u
Lmxlbmd0aCBpcyAwCitQQVNTIGRlY2xhcmF0aW9uLmdldFByb3BlcnR5VmFsdWUoJ2ZvbnQtc3lu
dGhlc2lzJykgaXMgbnVsbAorUEFTUyBjb21wdXRlZFN0eWxlLmdldFByb3BlcnR5Q1NTVmFsdWUo
J2ZvbnQtc3ludGhlc2lzJykuY3NzVGV4dCBpcyAibm9uZSIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFy
c2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9m
YXN0L2NzczMtdGV4dC9mb250LXN5bnRoZXNpcy1wYXJzZS5odG1sIGIvTGF5b3V0VGVzdHMvZmFz
dC9jc3MzLXRleHQvZm9udC1zeW50aGVzaXMtcGFyc2UuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41MjQ5ZTMy
OTllNmY4MjhlM2M0NWM0YmU2ZDU2NjQ4MDZkNGI2OWVkCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZmFzdC9jc3MzLXRleHQvZm9udC1zeW50aGVzaXMtcGFyc2UuaHRtbApAQCAtMCww
ICsxLDExNyBAQAorPCFET0NUWVBFIEhUTUw+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9k
eT4KKyAgPGRpdiBpZD0icCI+PC9kaXY+CisgIDxkaXYgaWQ9InEiPjxkaXYgaWQ9InIiPjwvZGl2
PjwvZGl2PgorICA8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+CisgICAgZnVuY3Rpb24g
dGVzdEVtcHR5SXNOb25lKHN0eWxlc2hlZXQsIHRhcmdldCkgeworICAgICAgY3NzUnVsZSA9IHN0
eWxlc2hlZXQuY3NzUnVsZXMuaXRlbSgwKTsKKyAgICAgIHNob3VsZEJlKCJjc3NSdWxlLnR5cGUi
LCAiY3NzUnVsZS5TVFlMRV9SVUxFIik7CisgICAgICBkZWNsYXJhdGlvbiA9IGNzc1J1bGUuc3R5
bGU7CisgICAgICBzaG91bGRCZSgiZGVjbGFyYXRpb24ubGVuZ3RoIiwgIjAiKTsKKyAgICAgIHNo
b3VsZEJlKCJkZWNsYXJhdGlvbi5nZXRQcm9wZXJ0eVZhbHVlKCdmb250LXN5bnRoZXNpcycpIiwg
Im51bGwiKTsKKyAgICAgIGNvbXB1dGVkU3R5bGUgPSB3aW5kb3cuZ2V0Q29tcHV0ZWRTdHlsZSh0
YXJnZXQsIG51bGwpOworICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJjb21wdXRlZFN0eWxl
LmdldFByb3BlcnR5Q1NTVmFsdWUoJ2ZvbnQtc3ludGhlc2lzJykuY3NzVGV4dCIsICJub25lIik7
CisgICAgICBzdHlsZXNoZWV0LmRlbGV0ZVJ1bGUoMCk7CisgICAgfQorCisgICAgZnVuY3Rpb24g
dGVzdEluaXRpYWxJc05vbmUoc3R5bGVzaGVldCwgdGFyZ2V0KSB7CisgICAgICBjc3NSdWxlID0g
c3R5bGVzaGVldC5jc3NSdWxlcy5pdGVtKDApOworICAgICAgc2hvdWxkQmUoImNzc1J1bGUudHlw
ZSIsICJjc3NSdWxlLlNUWUxFX1JVTEUiKTsKKyAgICAgIGRlY2xhcmF0aW9uID0gY3NzUnVsZS5z
dHlsZTsKKyAgICAgIHNob3VsZEJlKCJkZWNsYXJhdGlvbi5sZW5ndGgiLCAiMSIpOworICAgICAg
c2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkZWNsYXJhdGlvbi5nZXRQcm9wZXJ0eVZhbHVlKCdmb250
LXN5bnRoZXNpcycpIiwgImluaXRpYWwiKTsKKyAgICAgIGNvbXB1dGVkU3R5bGUgPSB3aW5kb3cu
Z2V0Q29tcHV0ZWRTdHlsZSh0YXJnZXQsIG51bGwpOworICAgICAgc2hvdWxkQmVFcXVhbFRvU3Ry
aW5nKCJjb21wdXRlZFN0eWxlLmdldFByb3BlcnR5Q1NTVmFsdWUoJ2ZvbnQtc3ludGhlc2lzJyku
Y3NzVGV4dCIsICJub25lIik7CisgICAgICBzdHlsZXNoZWV0LmRlbGV0ZVJ1bGUoMCk7CisgICAg
fQorCisgICAgZnVuY3Rpb24gdGVzdFdlaWdodChzdHlsZXNoZWV0LCB0YXJnZXQpIHsKKyAgICAg
IGNzc1J1bGUgPSBzdHlsZXNoZWV0LmNzc1J1bGVzLml0ZW0oMCk7CisgICAgICBzaG91bGRCZSgi
Y3NzUnVsZS50eXBlIiwgImNzc1J1bGUuU1RZTEVfUlVMRSIpOworICAgICAgZGVjbGFyYXRpb24g
PSBjc3NSdWxlLnN0eWxlOworICAgICAgc2hvdWxkQmUoImRlY2xhcmF0aW9uLmxlbmd0aCIsICIx
Iik7CisgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRlY2xhcmF0aW9uLmdldFByb3BlcnR5
VmFsdWUoJ2ZvbnQtc3ludGhlc2lzJykiLCAid2VpZ2h0Iik7CisgICAgICBjb21wdXRlZFN0eWxl
ID0gd2luZG93LmdldENvbXB1dGVkU3R5bGUodGFyZ2V0LCBudWxsKTsKKyAgICAgIHNob3VsZEJl
RXF1YWxUb1N0cmluZygiY29tcHV0ZWRTdHlsZS5nZXRQcm9wZXJ0eUNTU1ZhbHVlKCdmb250LXN5
bnRoZXNpcycpLmNzc1RleHQiLCAid2VpZ2h0Iik7CisgICAgICBzdHlsZXNoZWV0LmRlbGV0ZVJ1
bGUoMCk7CisgICAgfQorCisgICAgZnVuY3Rpb24gdGVzdFN0eWxlKHN0eWxlc2hlZXQsIHRhcmdl
dCkgeworICAgICAgY3NzUnVsZSA9IHN0eWxlc2hlZXQuY3NzUnVsZXMuaXRlbSgwKTsKKyAgICAg
IHNob3VsZEJlKCJjc3NSdWxlLnR5cGUiLCAiY3NzUnVsZS5TVFlMRV9SVUxFIik7CisgICAgICBk
ZWNsYXJhdGlvbiA9IGNzc1J1bGUuc3R5bGU7CisgICAgICBzaG91bGRCZSgiZGVjbGFyYXRpb24u
bGVuZ3RoIiwgIjEiKTsKKyAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZGVjbGFyYXRpb24u
Z2V0UHJvcGVydHlWYWx1ZSgnZm9udC1zeW50aGVzaXMnKSIsICJzdHlsZSIpOworICAgICAgY29t
cHV0ZWRTdHlsZSA9IHdpbmRvdy5nZXRDb21wdXRlZFN0eWxlKHRhcmdldCwgbnVsbCk7CisgICAg
ICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImNvbXB1dGVkU3R5bGUuZ2V0UHJvcGVydHlDU1NWYWx1
ZSgnZm9udC1zeW50aGVzaXMnKS5jc3NUZXh0IiwgInN0eWxlIik7CisgICAgICBzdHlsZXNoZWV0
LmRlbGV0ZVJ1bGUoMCk7CisgICAgfQorCisgICAgZnVuY3Rpb24gdGVzdFdlaWdodEFuZFN0eWxl
KHN0eWxlc2hlZXQsIHRhcmdldCkgeworICAgICAgY3NzUnVsZSA9IHN0eWxlc2hlZXQuY3NzUnVs
ZXMuaXRlbSgwKTsKKyAgICAgIHNob3VsZEJlKCJjc3NSdWxlLnR5cGUiLCAiY3NzUnVsZS5TVFlM
RV9SVUxFIik7CisgICAgICBkZWNsYXJhdGlvbiA9IGNzc1J1bGUuc3R5bGU7CisgICAgICBzaG91
bGRCZSgiZGVjbGFyYXRpb24ubGVuZ3RoIiwgIjEiKTsKKyAgICAgIHNob3VsZEJlRXF1YWxUb1N0
cmluZygiZGVjbGFyYXRpb24uZ2V0UHJvcGVydHlWYWx1ZSgnZm9udC1zeW50aGVzaXMnKSIsICJ3
ZWlnaHQgc3R5bGUiKTsKKyAgICAgIGNvbXB1dGVkU3R5bGUgPSB3aW5kb3cuZ2V0Q29tcHV0ZWRT
dHlsZSh0YXJnZXQsIG51bGwpOworICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJjb21wdXRl
ZFN0eWxlLmdldFByb3BlcnR5Q1NTVmFsdWUoJ2ZvbnQtc3ludGhlc2lzJykuY3NzVGV4dCIsICJ3
ZWlnaHQgc3R5bGUiKTsKKyAgICAgIHN0eWxlc2hlZXQuZGVsZXRlUnVsZSgwKTsKKyAgICB9CisK
KyAgICBmdW5jdGlvbiB0ZXN0U3R5bGVBbmRXZWlnaHQoc3R5bGVzaGVldCwgdGFyZ2V0KSB7Cisg
ICAgICBjc3NSdWxlID0gc3R5bGVzaGVldC5jc3NSdWxlcy5pdGVtKDApOworICAgICAgc2hvdWxk
QmUoImNzc1J1bGUudHlwZSIsICJjc3NSdWxlLlNUWUxFX1JVTEUiKTsKKyAgICAgIGRlY2xhcmF0
aW9uID0gY3NzUnVsZS5zdHlsZTsKKyAgICAgIHNob3VsZEJlKCJkZWNsYXJhdGlvbi5sZW5ndGgi
LCAiMSIpOworICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkZWNsYXJhdGlvbi5nZXRQcm9w
ZXJ0eVZhbHVlKCdmb250LXN5bnRoZXNpcycpIiwgInN0eWxlIHdlaWdodCIpOworICAgICAgY29t
cHV0ZWRTdHlsZSA9IHdpbmRvdy5nZXRDb21wdXRlZFN0eWxlKHRhcmdldCwgbnVsbCk7CisgICAg
ICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImNvbXB1dGVkU3R5bGUuZ2V0UHJvcGVydHlDU1NWYWx1
ZSgnZm9udC1zeW50aGVzaXMnKS5jc3NUZXh0IiwgIndlaWdodCBzdHlsZSIpOworICAgICAgc3R5
bGVzaGVldC5kZWxldGVSdWxlKDApOworICAgIH0KKworICAgIHZhciBzdHlsZUVsZW1lbnQgPSBk
b2N1bWVudC5jcmVhdGVFbGVtZW50KCJzdHlsZSIpOworICAgIGRvY3VtZW50LmhlYWQuYXBwZW5k
Q2hpbGQoc3R5bGVFbGVtZW50KTsKKyAgICBzdHlsZXNoZWV0ID0gc3R5bGVFbGVtZW50LnNoZWV0
OworICAgIHZhciB0YXJnZXQgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicCIpOworCisgICAg
c3R5bGVzaGVldC5pbnNlcnRSdWxlKCIjcCB7IH0iLCAwKTsKKyAgICB0ZXN0RW1wdHlJc05vbmUo
c3R5bGVzaGVldCwgdGFyZ2V0KTsKKworICAgIHN0eWxlc2hlZXQuaW5zZXJ0UnVsZSgiI3AgeyBm
b250LXN5bnRoZXNpczogaW5pdGlhbDsgfSIsIDApOworICAgIHRlc3RJbml0aWFsSXNOb25lKHN0
eWxlc2hlZXQsIHRhcmdldCk7CisKKyAgICBzdHlsZXNoZWV0Lmluc2VydFJ1bGUoIiNwIHsgZm9u
dC1zeW50aGVzaXM6IHdlaWdodCB9IiwgMCk7CisgICAgdGVzdFdlaWdodChzdHlsZXNoZWV0LCB0
YXJnZXQpOworCisgICAgc3R5bGVzaGVldC5pbnNlcnRSdWxlKCIjcCB7IGZvbnQtc3ludGhlc2lz
OiBzdHlsZSB9IiwgMCk7CisgICAgdGVzdFN0eWxlKHN0eWxlc2hlZXQsIHRhcmdldCk7CisKKyAg
ICBzdHlsZXNoZWV0Lmluc2VydFJ1bGUoIiNwIHsgZm9udC1zeW50aGVzaXM6IHdlaWdodCBzdHls
ZSB9IiwgMCk7CisgICAgdGVzdFdlaWdodEFuZFN0eWxlKHN0eWxlc2hlZXQsIHRhcmdldCk7CisK
KyAgICBzdHlsZXNoZWV0Lmluc2VydFJ1bGUoIiNwIHsgZm9udC1zeW50aGVzaXM6IHN0eWxlIHdl
aWdodCB9IiwgMCk7CisgICAgdGVzdFN0eWxlQW5kV2VpZ2h0KHN0eWxlc2hlZXQsIHRhcmdldCk7
CisKKyAgICBzdHlsZXNoZWV0Lmluc2VydFJ1bGUoIiNwIHsgZm9udC1zeW50aGVzaXM6IGdhcmJh
Z2Ugc3R5bGUgfSIsIDApOworICAgIHRlc3RFbXB0eUlzTm9uZShzdHlsZXNoZWV0LCB0YXJnZXQp
OworCisgICAgc3R5bGVzaGVldC5pbnNlcnRSdWxlKCIjcCB7IGZvbnQtc3ludGhlc2lzOiBzdHls
ZSBnYXJiYWdlIH0iLCAwKTsKKyAgICB0ZXN0RW1wdHlJc05vbmUoc3R5bGVzaGVldCwgdGFyZ2V0
KTsKKworICAgIHN0eWxlc2hlZXQuaW5zZXJ0UnVsZSgiI3AgeyBmb250LXN5bnRoZXNpczogZ2Fy
YmFnZSBzdHlsZSBnYXJiYWdlIH0iLCAwKTsKKyAgICB0ZXN0RW1wdHlJc05vbmUoc3R5bGVzaGVl
dCwgdGFyZ2V0KTsKKworICAgIHN0eWxlc2hlZXQuaW5zZXJ0UnVsZSgiI3AgeyBmb250LXN5bnRo
ZXNpczogc3R5bGUgZ2FyYmFnZSBzdHlsZSB9IiwgMCk7CisgICAgdGVzdEVtcHR5SXNOb25lKHN0
eWxlc2hlZXQsIHRhcmdldCk7CisKKyAgICBzdHlsZXNoZWV0Lmluc2VydFJ1bGUoIiNwIHsgZm9u
dC1zeW50aGVzaXM6IHdlaWdodCBnYXJiYWdlIH0iLCAwKTsKKyAgICB0ZXN0RW1wdHlJc05vbmUo
c3R5bGVzaGVldCwgdGFyZ2V0KTsKKworICA8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4K
</data>
<flag name="review"
          id="276384"
          type_id="1"
          status="+"
          setter="thorton"
    />
          </attachment>
      

    </bug>

</bugzilla>