<?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>112827</bug_id>
          
          <creation_ts>2013-03-20 12:30:10 -0700</creation_ts>
          <short_desc>[SVG] Remove explicit LightSource dispatchers</short_desc>
          <delta_ts>2013-03-21 13:05:12 -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>SVG</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></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Florin Malita">fmalita</reporter>
          <assigned_to name="Florin Malita">fmalita</assigned_to>
          <cc>dino</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>krit</cc>
    
    <cc>pdr</cc>
    
    <cc>rakuco</cc>
    
    <cc>schenney</cc>
    
    <cc>webkit.review.bot</cc>
    
    <cc>zimmermann</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>859614</commentid>
    <comment_count>0</comment_count>
    <who name="Florin Malita">fmalita</who>
    <bug_when>2013-03-20 12:30:10 -0700</bug_when>
    <thetext>Currently, LightSource implements a series of methods whose sole purpose is dispatching to sub-classes based on a type field.

By using virtual dispatchers, we could:

* eliminate all the static casts
* remove LightSource.cpp altogether</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>859617</commentid>
    <comment_count>1</comment_count>
      <attachid>194096</attachid>
    <who name="Florin Malita">fmalita</who>
    <bug_when>2013-03-20 12:37:31 -0700</bug_when>
    <thetext>Created attachment 194096
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>860564</commentid>
    <comment_count>2</comment_count>
      <attachid>194096</attachid>
    <who name="Stephen Chenney">schenney</who>
    <bug_when>2013-03-21 12:26:34 -0700</bug_when>
    <thetext>Comment on attachment 194096
Patch

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

Good find. Security will be happy.

&gt; Source/WebCore/WebCore.vcxproj/WebCore.vcxproj:13644
&gt; +&lt;/Project&gt;

We probably shouldn&apos;t reorder these lines.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>860591</commentid>
    <comment_count>3</comment_count>
    <who name="Florin Malita">fmalita</who>
    <bug_when>2013-03-21 12:53:26 -0700</bug_when>
    <thetext>Thanks Stephen.

(In reply to comment #2)
&gt; &gt; Source/WebCore/WebCore.vcxproj/WebCore.vcxproj:13644
&gt; &gt; +&lt;/Project&gt;
&gt; 
&gt; We probably shouldn&apos;t reorder these lines.

I think that&apos;s just git diff getting confused - there&apos;s no &quot;\ No newline at end of file&quot; line in that file...</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>860603</commentid>
    <comment_count>4</comment_count>
      <attachid>194096</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2013-03-21 13:05:07 -0700</bug_when>
    <thetext>Comment on attachment 194096
Patch

Clearing flags on attachment: 194096

Committed r146503: &lt;http://trac.webkit.org/changeset/146503&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>860604</commentid>
    <comment_count>5</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2013-03-21 13:05:12 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>194096</attachid>
            <date>2013-03-20 12:37:31 -0700</date>
            <delta_ts>2013-03-21 13:05:07 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-112827-20130320153320.patch</filename>
            <type>text/plain</type>
            <size>19010</size>
            <attacher name="Florin Malita">fmalita</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTQ2MzM1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZmQwMzZiYTgzNzc4YWZl
ZTkwNDhkNzcyMWY1MTk5ZDUyZjQ2MmI2Ni4uZmU1YWVjYzFlMGFkMzI4OTViMmUzZDJiM2JjM2E3
MDQ4NTU1OTQwZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQyIEBACisyMDEzLTAzLTIwICBGbG9y
aW4gTWFsaXRhICA8Zm1hbGl0YUBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgW1NWR10gUmVtb3Zl
IGV4cGxpY2l0IExpZ2h0U291cmNlIGRpc3BhdGNoZXJzCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMTI4MjcKKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKworICAgICAgICBDb252ZXJ0IExpZ2h0U291cmNlIHNldHRlcnMgdG8g
ZHluYW1pYyBkaXNwYXRjaC4gVGhpcyBhbGxvd3MgdXMgdG8gcmVtb3ZlIExpZ2h0U291cmNlLmNw
cAorICAgICAgICBhbHRvZ2V0aGVyLgorCisgICAgICAgIE5vIG5ldyB0ZXN0czogcmVmYWN0b3Jp
bmcgb25seS4KKworICAgICAgICAqIENNYWtlTGlzdHMudHh0OgorICAgICAgICAqIEdOVW1ha2Vm
aWxlLmxpc3QuYW06CisgICAgICAgICogVGFyZ2V0LnByaToKKyAgICAgICAgKiBXZWJDb3JlLmd5
cGk6CisgICAgICAgICogV2ViQ29yZS52Y3Byb2ovV2ViQ29yZS52Y3Byb2o6CisgICAgICAgICog
V2ViQ29yZS52Y3hwcm9qL1dlYkNvcmUudmN4cHJvajoKKyAgICAgICAgKiBXZWJDb3JlLnZjeHBy
b2ovV2ViQ29yZS52Y3hwcm9qLmZpbHRlcnM6CisgICAgICAgICogV2ViQ29yZS54Y29kZXByb2ov
cHJvamVjdC5wYnhwcm9qOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2ZpbHRlcnMvRGlz
dGFudExpZ2h0U291cmNlLmg6CisgICAgICAgIChEaXN0YW50TGlnaHRTb3VyY2UpOgorICAgICAg
ICAqIHBsYXRmb3JtL2dyYXBoaWNzL2ZpbHRlcnMvTGlnaHRTb3VyY2UuY3BwOiBSZW1vdmVkLgor
ICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2ZpbHRlcnMvTGlnaHRTb3VyY2UuaDoKKyAgICAg
ICAgKFdlYkNvcmU6OkxpZ2h0U291cmNlOjpzZXRBemltdXRoKToKKyAgICAgICAgKFdlYkNvcmU6
OkxpZ2h0U291cmNlOjpzZXRFbGV2YXRpb24pOgorICAgICAgICAoV2ViQ29yZTo6TGlnaHRTb3Vy
Y2U6OnNldFgpOgorICAgICAgICAoV2ViQ29yZTo6TGlnaHRTb3VyY2U6OnNldFkpOgorICAgICAg
ICAoV2ViQ29yZTo6TGlnaHRTb3VyY2U6OnNldFopOgorICAgICAgICAoV2ViQ29yZTo6TGlnaHRT
b3VyY2U6OnNldFBvaW50c0F0WCk6CisgICAgICAgIChXZWJDb3JlOjpMaWdodFNvdXJjZTo6c2V0
UG9pbnRzQXRZKToKKyAgICAgICAgKFdlYkNvcmU6OkxpZ2h0U291cmNlOjpzZXRQb2ludHNBdFop
OgorICAgICAgICAoV2ViQ29yZTo6TGlnaHRTb3VyY2U6OnNldFNwZWN1bGFyRXhwb25lbnQpOgor
ICAgICAgICAoV2ViQ29yZTo6TGlnaHRTb3VyY2U6OnNldExpbWl0aW5nQ29uZUFuZ2xlKToKKyAg
ICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9maWx0ZXJzL1BvaW50TGlnaHRTb3VyY2UuaDoKKyAg
ICAgICAgKFBvaW50TGlnaHRTb3VyY2UpOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2Zp
bHRlcnMvU3BvdExpZ2h0U291cmNlLmg6CisgICAgICAgIChTcG90TGlnaHRTb3VyY2UpOgorCiAy
MDEzLTAzLTIwICBTaGVyaWZmIEJvdCAgPHdlYmtpdC5yZXZpZXcuYm90QGdtYWlsLmNvbT4KIAog
ICAgICAgICBVbnJldmlld2VkLCByb2xsaW5nIG91dCByMTQ2MzMxLgpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQgYi9Tb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4
dAppbmRleCAwYTQ0ZjU4ZGU3MTI1YTNiYjk2ZmE0NTZkOTY2ODBjMWRhNGFjMTAwLi4wNzdlZmUw
MDYyMWNhYTg0NmE5MDNlODkxNTE1YzgzMDM3MzcwNzkwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9DTWFrZUxpc3RzLnR4dAorKysgYi9Tb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dApA
QCAtMTk5Nyw3ICsxOTk3LDYgQEAgc2V0KFdlYkNvcmVfU09VUkNFUwogICAgIHBsYXRmb3JtL2dy
YXBoaWNzL2ZpbHRlcnMvRmlsdGVyRWZmZWN0LmNwcAogICAgIHBsYXRmb3JtL2dyYXBoaWNzL2Zp
bHRlcnMvRmlsdGVyT3BlcmF0aW9uLmNwcAogICAgIHBsYXRmb3JtL2dyYXBoaWNzL2ZpbHRlcnMv
RmlsdGVyT3BlcmF0aW9ucy5jcHAKLSAgICBwbGF0Zm9ybS9ncmFwaGljcy9maWx0ZXJzL0xpZ2h0
U291cmNlLmNwcAogICAgIHBsYXRmb3JtL2dyYXBoaWNzL2ZpbHRlcnMvUG9pbnRMaWdodFNvdXJj
ZS5jcHAKICAgICBwbGF0Zm9ybS9ncmFwaGljcy9maWx0ZXJzL1NvdXJjZUFscGhhLmNwcAogICAg
IHBsYXRmb3JtL2dyYXBoaWNzL2ZpbHRlcnMvU291cmNlR3JhcGhpYy5jcHAKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL0dOVW1ha2VmaWxlLmxpc3QuYW0gYi9Tb3VyY2UvV2ViQ29yZS9HTlVt
YWtlZmlsZS5saXN0LmFtCmluZGV4IDRjZDFmYzM5YzI1MzAyZmQyZWQ4YTA4NzBjN2ExZDU2Y2M4
MDVjMTYuLmQ4YWU1ZjkxYmQyZDUxMDIwOWNiYzk0MWU5ZmEyMDE4MWE5OTNkNGIgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL0dOVW1ha2VmaWxlLmxpc3QuYW0KKysrIGIvU291cmNlL1dlYkNv
cmUvR05VbWFrZWZpbGUubGlzdC5hbQpAQCAtNTYwNiw3ICs1NjA2LDYgQEAgd2ViY29yZV9wbGF0
Zm9ybV9zb3VyY2VzICs9IFwKIAlTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9maWx0
ZXJzL0ZpbHRlck9wZXJhdGlvbi5jcHAgXAogCVNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL2ZpbHRlcnMvRmlsdGVyT3BlcmF0aW9ucy5jcHAgXAogCVNvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL2ZpbHRlcnMvRmlsdGVyT3BlcmF0aW9ucy5oIFwKLQlTb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9maWx0ZXJzL0xpZ2h0U291cmNlLmNwcCBcCiAJU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZmlsdGVycy9MaWdodFNvdXJjZS5oIFwKIAlTb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9maWx0ZXJzL1BvaW50TGlnaHRTb3VyY2UuY3BwIFwK
IAlTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9maWx0ZXJzL1BvaW50TGlnaHRTb3Vy
Y2UuaCBcCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9UYXJnZXQucHJpIGIvU291cmNlL1dl
YkNvcmUvVGFyZ2V0LnByaQppbmRleCA5NjcyOWFmYzhlNzY0NzgwY2ZlMTc1MGUzNjAxZjAxMWE4
Y2RhYTM3Li5lZTVhZGU5N2RjMDIyMjVlMjE5OTkwN2M0MzFmZjEwMWZhYTNhNzk1IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9UYXJnZXQucHJpCisrKyBiL1NvdXJjZS9XZWJDb3JlL1Rhcmdl
dC5wcmkKQEAgLTM2ODgsNyArMzY4OCw2IEBAIGVuYWJsZT8oRklMVEVSUykgewogICAgICAgICBw
bGF0Zm9ybS9ncmFwaGljcy9maWx0ZXJzL0ZpbHRlck9wZXJhdGlvbnMuY3BwIFwKICAgICAgICAg
cGxhdGZvcm0vZ3JhcGhpY3MvZmlsdGVycy9GaWx0ZXJPcGVyYXRpb24uY3BwIFwKICAgICAgICAg
cGxhdGZvcm0vZ3JhcGhpY3MvZmlsdGVycy9GaWx0ZXJFZmZlY3QuY3BwIFwKLSAgICAgICAgcGxh
dGZvcm0vZ3JhcGhpY3MvZmlsdGVycy9MaWdodFNvdXJjZS5jcHAgXAogICAgICAgICBwbGF0Zm9y
bS9ncmFwaGljcy9maWx0ZXJzL1BvaW50TGlnaHRTb3VyY2UuY3BwIFwKICAgICAgICAgcGxhdGZv
cm0vZ3JhcGhpY3MvZmlsdGVycy9TcG90TGlnaHRTb3VyY2UuY3BwIFwKICAgICAgICAgcGxhdGZv
cm0vZ3JhcGhpY3MvZmlsdGVycy9Tb3VyY2VBbHBoYS5jcHAgXApkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvV2ViQ29yZS5neXBpIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5neXBpCmluZGV4
IDRlZjVkYTcwOWVhZDkyYTZjZGZmNWM5NWI3Zjk4ODcwYTYyOWY1YWYuLjQzNmMxYmRkNGQ5YzY3
NmI5ZmRkMGI2MGIzNGZhYWY0ZWFiNWM5YWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dl
YkNvcmUuZ3lwaQorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmd5cGkKQEAgLTQxNTYsNyAr
NDE1Niw2IEBACiAgICAgICAgICAgICAncGxhdGZvcm0vZ3JhcGhpY3MvZmlsdGVycy9GaWx0ZXJP
cGVyYXRpb24uaCcsCiAgICAgICAgICAgICAncGxhdGZvcm0vZ3JhcGhpY3MvZmlsdGVycy9GaWx0
ZXJPcGVyYXRpb25zLmNwcCcsCiAgICAgICAgICAgICAncGxhdGZvcm0vZ3JhcGhpY3MvZmlsdGVy
cy9GaWx0ZXJPcGVyYXRpb25zLmgnLAotICAgICAgICAgICAgJ3BsYXRmb3JtL2dyYXBoaWNzL2Zp
bHRlcnMvTGlnaHRTb3VyY2UuY3BwJywKICAgICAgICAgICAgICdwbGF0Zm9ybS9ncmFwaGljcy9m
aWx0ZXJzL0xpZ2h0U291cmNlLmgnLAogICAgICAgICAgICAgJ3BsYXRmb3JtL2dyYXBoaWNzL2Zp
bHRlcnMvUG9pbnRMaWdodFNvdXJjZS5jcHAnLAogICAgICAgICAgICAgJ3BsYXRmb3JtL2dyYXBo
aWNzL2ZpbHRlcnMvUG9pbnRMaWdodFNvdXJjZS5oJywKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL1dlYkNvcmUudmNwcm9qL1dlYkNvcmUudmNwcm9qIGIvU291cmNlL1dlYkNvcmUvV2ViQ29y
ZS52Y3Byb2ovV2ViQ29yZS52Y3Byb2oKaW5kZXggYjgyNjVkOTM1NWZiNDUxYWNlMGViZTdmYWUx
OGNlYjYxMDUwMzI2NC4uNDA4NTFjYzY4YzE3MWJlZDAwYjIzNzlkMTA3MDljODg5ODk2ZmRmNCAx
MDA3NTUKLS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3Byb2ovV2ViQ29yZS52Y3Byb2oK
KysrIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3Byb2ovV2ViQ29yZS52Y3Byb2oKQEAgLTMy
NzQ1LDEwICszMjc0NSw2IEBACiAJCQkJCQk+CiAJCQkJCTwvRmlsZT4KIAkJCQkJPEZpbGUKLQkJ
CQkJCVJlbGF0aXZlUGF0aD0iLi5ccGxhdGZvcm1cZ3JhcGhpY3NcZmlsdGVyc1xMaWdodFNvdXJj
ZS5jcHAiCi0JCQkJCQk+Ci0JCQkJCTwvRmlsZT4KLQkJCQkJPEZpbGUKIAkJCQkJCVJlbGF0aXZl
UGF0aD0iLi5ccGxhdGZvcm1cZ3JhcGhpY3NcZmlsdGVyc1xMaWdodFNvdXJjZS5oIgogCQkJCQkJ
PgogCQkJCQk8L0ZpbGU+CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZjeHBy
b2ovV2ViQ29yZS52Y3hwcm9qIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3hwcm9qL1dlYkNv
cmUudmN4cHJvagppbmRleCBiZTZkZTI1OGMxMzM5NzhlZTBlMzVhMWM3OGM3OTkxMGUzZWI1YTVh
Li4yNmU1NDdmNmRhZGJlNzBlMzA4NDNhZTAxODBjZjc3YTdhYmJjYWRmIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZjeHByb2ovV2ViQ29yZS52Y3hwcm9qCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL1dlYkNvcmUudmN4cHJvai9XZWJDb3JlLnZjeHByb2oKQEAgLTQ2MDQsNyArNDYw
NCw2IEBACiAgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlxwbGF0Zm9ybVxncmFwaGljc1xmaWx0
ZXJzXEZpbHRlckVmZmVjdC5jcHAiIC8+CiAgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlxwbGF0
Zm9ybVxncmFwaGljc1xmaWx0ZXJzXEZpbHRlck9wZXJhdGlvbi5jcHAiIC8+CiAgICAgPENsQ29t
cGlsZSBJbmNsdWRlPSIuLlxwbGF0Zm9ybVxncmFwaGljc1xmaWx0ZXJzXEZpbHRlck9wZXJhdGlv
bnMuY3BwIiAvPgotICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5ccGxhdGZvcm1cZ3JhcGhpY3Nc
ZmlsdGVyc1xMaWdodFNvdXJjZS5jcHAiIC8+CiAgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlxw
bGF0Zm9ybVxncmFwaGljc1xmaWx0ZXJzXFBvaW50TGlnaHRTb3VyY2UuY3BwIiAvPgogICAgIDxD
bENvbXBpbGUgSW5jbHVkZT0iLi5ccGxhdGZvcm1cZ3JhcGhpY3NcZmlsdGVyc1xTb3VyY2VBbHBo
YS5jcHAiIC8+CiAgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlxwbGF0Zm9ybVxncmFwaGljc1xm
aWx0ZXJzXFNvdXJjZUdyYXBoaWMuY3BwIiAvPgpAQCAtMTM2NDEsNCArMTM2NDAsNCBAQAogICA8
SW1wb3J0IFByb2plY3Q9IiQoVkNUYXJnZXRzUGF0aClcTWljcm9zb2Z0LkNwcC50YXJnZXRzIiAv
PgogICA8SW1wb3J0R3JvdXAgTGFiZWw9IkV4dGVuc2lvblRhcmdldHMiPgogICA8L0ltcG9ydEdy
b3VwPgotPC9Qcm9qZWN0PgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKKzwvUHJvamVjdD4K
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUudmN4cHJvai9XZWJDb3JlLnZjeHBy
b2ouZmlsdGVycyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUudmN4cHJvai9XZWJDb3JlLnZjeHBy
b2ouZmlsdGVycwppbmRleCA3ODRjNmU1NzVlNDRlZmUyNzNhNzExMjJjNDdjYjllOWRkOTk1OTA3
Li5hNDY1NjQwNWNmOTNkYjBkMjYxMWQ2MzY2NGQ2MWM1MTc5OGUxZTVkIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZjeHByb2ovV2ViQ29yZS52Y3hwcm9qLmZpbHRlcnMKKysr
IGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3hwcm9qL1dlYkNvcmUudmN4cHJvai5maWx0ZXJz
CkBAIC0zMTkyLDkgKzMxOTIsNiBAQAogICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5ccGxhdGZv
cm1cZ3JhcGhpY3NcZmlsdGVyc1xGaWx0ZXJPcGVyYXRpb25zLmNwcCI+CiAgICAgICA8RmlsdGVy
PnBsYXRmb3JtXGdyYXBoaWNzXGZpbHRlcnM8L0ZpbHRlcj4KICAgICA8L0NsQ29tcGlsZT4KLSAg
ICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXHBsYXRmb3JtXGdyYXBoaWNzXGZpbHRlcnNcTGlnaHRT
b3VyY2UuY3BwIj4KLSAgICAgIDxGaWx0ZXI+cGxhdGZvcm1cZ3JhcGhpY3NcZmlsdGVyczwvRmls
dGVyPgotICAgIDwvQ2xDb21waWxlPgogICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5ccGxhdGZv
cm1cZ3JhcGhpY3NcZmlsdGVyc1xQb2ludExpZ2h0U291cmNlLmNwcCI+CiAgICAgICA8RmlsdGVy
PnBsYXRmb3JtXGdyYXBoaWNzXGZpbHRlcnM8L0ZpbHRlcj4KICAgICA8L0NsQ29tcGlsZT4KZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJv
aiBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagppbmRl
eCBkMDVkYzU1ZmYzZjcxNDgxMTYyNTE4N2Y5YmUyNTM4NWNiNjUzMDY3Li44YmY4ODA5ZmNhZGIw
MmY5ZGY1OTdjNzE1ZjM1ZGUzZTBhYmFjOTM2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9X
ZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKKysrIGIvU291cmNlL1dlYkNvcmUvV2Vi
Q29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCkBAIC0yMTU3LDcgKzIxNTcsNiBAQAogCQk4
NDczMEQ4QjEyNDhGMEIzMDBEM0E5QzkgLyogRkVUaWxlLmggaW4gSGVhZGVycyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA4NDczMEQ2RTEyNDhGMEIzMDBEM0E5QzkgLyogRkVU
aWxlLmggKi87IH07CiAJCTg0NzMwRDhDMTI0OEYwQjMwMEQzQTlDOSAvKiBGRVR1cmJ1bGVuY2Uu
Y3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gODQ3MzBE
NkYxMjQ4RjBCMzAwRDNBOUM5IC8qIEZFVHVyYnVsZW5jZS5jcHAgKi87IH07CiAJCTg0NzMwRDhE
MTI0OEYwQjMwMEQzQTlDOSAvKiBGRVR1cmJ1bGVuY2UuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDg0NzMwRDcwMTI0OEYwQjMwMEQzQTlDOSAvKiBGRVR1
cmJ1bGVuY2UuaCAqLzsgfTsKLQkJODQ3MzBEOTAxMjQ4RjBCMzAwRDNBOUM5IC8qIExpZ2h0U291
cmNlLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDg0
NzMwRDczMTI0OEYwQjMwMEQzQTlDOSAvKiBMaWdodFNvdXJjZS5jcHAgKi87IH07CiAJCTg0NzMw
RDkxMTI0OEYwQjMwMEQzQTlDOSAvKiBMaWdodFNvdXJjZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gODQ3MzBENzQxMjQ4RjBCMzAwRDNBOUM5IC8qIExp
Z2h0U291cmNlLmggKi87IH07CiAJCTg0NzMwRDkyMTI0OEYwQjMwMEQzQTlDOSAvKiBQb2ludExp
Z2h0U291cmNlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSA4NDczMEQ3NTEyNDhGMEIzMDBEM0E5QzkgLyogUG9pbnRMaWdodFNvdXJjZS5oICovOyB9Owog
CQk4NDczMEQ5MzEyNDhGMEIzMDBEM0E5QzkgLyogU3BvdExpZ2h0U291cmNlLmggaW4gSGVhZGVy
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA4NDczMEQ3NjEyNDhGMEIzMDBE
M0E5QzkgLyogU3BvdExpZ2h0U291cmNlLmggKi87IH07CkBAIC05NjgyLDcgKzk2ODEsNiBAQAog
CQk4NDczMEQ2RTEyNDhGMEIzMDBEM0E5QzkgLyogRkVUaWxlLmggKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmMuaDsgbmFtZSA9IEZFVGlsZS5oOyBwYXRoID0gZmlsdGVycy9GRVRpbGUuaDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJODQ3MzBENkYxMjQ4RjBCMzAwRDNBOUM5IC8qIEZFVHVy
YnVsZW5jZS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IG5hbWUgPSBGRVR1cmJ1
bGVuY2UuY3BwOyBwYXRoID0gZmlsdGVycy9GRVR1cmJ1bGVuY2UuY3BwOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OwogCQk4NDczMEQ3MDEyNDhGMEIzMDBEM0E5QzkgLyogRkVUdXJidWxlbmNl
LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgbmFtZSA9IEZFVHVyYnVsZW5jZS5oOyBwYXRo
ID0gZmlsdGVycy9GRVR1cmJ1bGVuY2UuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKLQkJ
ODQ3MzBENzMxMjQ4RjBCMzAwRDNBOUM5IC8qIExpZ2h0U291cmNlLmNwcCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuY3BwLmNwcDsgbmFtZSA9IExpZ2h0U291cmNlLmNwcDsgcGF0aCA9IGZpbHRlcnMv
TGlnaHRTb3VyY2UuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk4NDczMEQ3NDEy
NDhGMEIzMDBEM0E5QzkgLyogTGlnaHRTb3VyY2UuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5o
OyBuYW1lID0gTGlnaHRTb3VyY2UuaDsgcGF0aCA9IGZpbHRlcnMvTGlnaHRTb3VyY2UuaDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJODQ3MzBENzUxMjQ4RjBCMzAwRDNBOUM5IC8qIFBv
aW50TGlnaHRTb3VyY2UuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBuYW1lID0gUG9pbnRM
aWdodFNvdXJjZS5oOyBwYXRoID0gZmlsdGVycy9Qb2ludExpZ2h0U291cmNlLmg7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CiAJCTg0NzMwRDc2MTI0OEYwQjMwMEQzQTlDOSAvKiBTcG90TGln
aHRTb3VyY2UuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBuYW1lID0gU3BvdExpZ2h0U291
cmNlLmg7IHBhdGggPSBmaWx0ZXJzL1Nwb3RMaWdodFNvdXJjZS5oOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OwpAQCAtMTkwNTMsNyArMTkwNTEsNiBAQAogCQkJCTQ5RUNFQjY0MTQ5OTc5MEQw
MENERDNBNCAvKiBGaWx0ZXJPcGVyYXRpb24uaCAqLywKIAkJCQk0OUVDRUI2NTE0OTk3OTBEMDBD
REQzQTQgLyogRmlsdGVyT3BlcmF0aW9ucy5jcHAgKi8sCiAJCQkJNDlFQ0VCNjYxNDk5NzkwRDAw
Q0REM0E0IC8qIEZpbHRlck9wZXJhdGlvbnMuaCAqLywKLQkJCQk4NDczMEQ3MzEyNDhGMEIzMDBE
M0E5QzkgLyogTGlnaHRTb3VyY2UuY3BwICovLAogCQkJCTg0NzMwRDc0MTI0OEYwQjMwMEQzQTlD
OSAvKiBMaWdodFNvdXJjZS5oICovLAogCQkJCUExRTExNTQ1MTMwMTVDNEUwMDU0QUM4QyAvKiBQ
b2ludExpZ2h0U291cmNlLmNwcCAqLywKIAkJCQk4NDczMEQ3NTEyNDhGMEIzMDBEM0E5QzkgLyog
UG9pbnRMaWdodFNvdXJjZS5oICovLApAQCAtMjg5NjgsNyArMjg5NjUsNiBAQAogCQkJCThDQURG
MkFBMTM1QzdCMzYwMDlFRjQzRiAvKiBMZXZlbERCRGF0YWJhc2UuY3BwIGluIFNvdXJjZXMgKi8s
CiAJCQkJOEMwRTMzNEMxMzhBOTJDNzAwOERBOTRGIC8qIExldmVsREJUcmFuc2FjdGlvbi5jcHAg
aW4gU291cmNlcyAqLywKIAkJCQk4QzBFMzM0RTEzOEE5MkM3MDA4REE5NEYgLyogTGV2ZWxEQldy
aXRlQmF0Y2guY3BwIGluIFNvdXJjZXMgKi8sCi0JCQkJODQ3MzBEOTAxMjQ4RjBCMzAwRDNBOUM5
IC8qIExpZ2h0U291cmNlLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTg5QjVFQUExMTFFODAwM0Qw
MEYyMzY3RSAvKiBMaW5lRW5kaW5nLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUE3QUQyRjg3MEVD
ODlEMDcwMDhBQjAwMiAvKiBMaW5rSGFzaC5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk5OENFNDMy
NjEyOUUwMEJEMDA1ODIxREMgLyogTGlua0xvYWRlci5jcHAgaW4gU291cmNlcyAqLywKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2ZpbHRlcnMvRGlzdGFudExp
Z2h0U291cmNlLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9maWx0ZXJzL0Rp
c3RhbnRMaWdodFNvdXJjZS5oCmluZGV4IDFlMTljNjJiZDEwYTdhNjRjYjFiMGIyYzY0ZWE1Nzhk
MGYyZDgzMTguLmIyYmE5MzcwYzViODA1ZWYyN2FmY2YyNzM1ZjYwNjEyZmE4OGFjMGUgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2ZpbHRlcnMvRGlzdGFudExp
Z2h0U291cmNlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZmlsdGVy
cy9EaXN0YW50TGlnaHRTb3VyY2UuaApAQCAtMzYsOSArMzYsMTAgQEAgcHVibGljOgogICAgIH0K
IAogICAgIGZsb2F0IGF6aW11dGgoKSBjb25zdCB7IHJldHVybiBtX2F6aW11dGg7IH0KLSAgICBi
b29sIHNldEF6aW11dGgoZmxvYXQpOwogICAgIGZsb2F0IGVsZXZhdGlvbigpIGNvbnN0IHsgcmV0
dXJuIG1fZWxldmF0aW9uOyB9Ci0gICAgYm9vbCBzZXRFbGV2YXRpb24oZmxvYXQpOworCisgICAg
dmlydHVhbCBib29sIHNldEF6aW11dGgoZmxvYXQpIE9WRVJSSURFOworICAgIHZpcnR1YWwgYm9v
bCBzZXRFbGV2YXRpb24oZmxvYXQpIE9WRVJSSURFOwogCiAgICAgdmlydHVhbCB2b2lkIGluaXRQ
YWludGluZ0RhdGEoUGFpbnRpbmdEYXRhJik7CiAgICAgdmlydHVhbCB2b2lkIHVwZGF0ZVBhaW50
aW5nRGF0YShQYWludGluZ0RhdGEmLCBpbnQgeCwgaW50IHksIGZsb2F0IHopOwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZmlsdGVycy9MaWdodFNvdXJjZS5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9maWx0ZXJzL0xpZ2h0U291cmNl
LmNwcApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggY2YyNjJlODUyMDU1OWUwMjI3MGY4
YjZhNDQ0YjgzZDlhY2Y5YmY0Ny4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9maWx0ZXJzL0xpZ2h0
U291cmNlLmNwcAorKysgL2Rldi9udWxsCkBAIC0xLDExNSArMCwwIEBACi0vKgotICogQ29weXJp
Z2h0IChDKSAyMDA0LCAyMDA1LCAyMDA2LCAyMDA3IE5pa29sYXMgWmltbWVybWFubiA8emltbWVy
bWFubkBrZGUub3JnPgotICogQ29weXJpZ2h0IChDKSAyMDA0LCAyMDA1IFJvYiBCdWlzIDxidWlz
QGtkZS5vcmc+Ci0gKiBDb3B5cmlnaHQgKEMpIDIwMDUgRXJpYyBTZWlkZWwgPGVyaWNAd2Via2l0
Lm9yZz4KLSAqIENvcHlyaWdodCAoQykgMjAxMCBab2x0YW4gSGVyY3plZyA8emhlcmN6ZWdAd2Vi
a2l0Lm9yZz4KLSAqIENvcHlyaWdodCAoQykgMjAxMSBSZW5hdGEgSG9kb3ZhbiA8cmVuaUB3ZWJr
aXQub3JnPiwgVW5pdmVyc2l0eSBvZiBTemVnZWQuCi0gKgotICogVGhpcyBsaWJyYXJ5IGlzIGZy
ZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgotICogbW9kaWZ5IGl0
IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMKLSAqIExp
Y2Vuc2UgYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhl
cgotICogdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBs
YXRlciB2ZXJzaW9uLgotICoKLSAqIFRoaXMgbGlicmFyeSBpcyBkaXN0cmlidXRlZCBpbiB0aGUg
aG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAotICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZ
OyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKLSAqIE1FUkNIQU5UQUJJTElU
WSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUgR05VCi0gKiBM
aWJyYXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KLSAqCi0gKiBZ
b3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFs
IFB1YmxpYyBMaWNlbnNlCi0gKiBhbG9uZyB3aXRoIHRoaXMgbGlicmFyeTsgc2VlIHRoZSBmaWxl
IENPUFlJTkcuTElCLiAgSWYgbm90LCB3cml0ZSB0bwotICogdGhlIEZyZWUgU29mdHdhcmUgRm91
bmRhdGlvbiwgSW5jLiwgNTEgRnJhbmtsaW4gU3RyZWV0LCBGaWZ0aCBGbG9vciwKLSAqIEJvc3Rv
biwgTUEgMDIxMTAtMTMwMSwgVVNBLgotICovCi0KLSNpbmNsdWRlICJjb25maWcuaCIKLQotI2lm
IEVOQUJMRShGSUxURVJTKQotI2luY2x1ZGUgIkxpZ2h0U291cmNlLmgiCi0KLSNpbmNsdWRlICJE
aXN0YW50TGlnaHRTb3VyY2UuaCIKLSNpbmNsdWRlICJQb2ludExpZ2h0U291cmNlLmgiCi0jaW5j
bHVkZSAiUmVuZGVyVHJlZUFzVGV4dC5oIgotI2luY2x1ZGUgIlNwb3RMaWdodFNvdXJjZS5oIgot
I2luY2x1ZGUgPHd0Zi9NYXRoRXh0cmFzLmg+Ci0KLW5hbWVzcGFjZSBXZWJDb3JlIHsKLQotYm9v
bCBMaWdodFNvdXJjZTo6c2V0QXppbXV0aChmbG9hdCBhemltdXRoKQotewotICAgIGlmIChtX3R5
cGUgPT0gTFNfRElTVEFOVCkKLSAgICAgICAgcmV0dXJuIHN0YXRpY19jYXN0PERpc3RhbnRMaWdo
dFNvdXJjZSo+KHRoaXMpLT5zZXRBemltdXRoKGF6aW11dGgpOwotICAgIHJldHVybiBmYWxzZTsK
LX0KLQotYm9vbCBMaWdodFNvdXJjZTo6c2V0RWxldmF0aW9uKGZsb2F0IGVsZXZhdGlvbikKLXsK
LSAgICBpZiAobV90eXBlID09IExTX0RJU1RBTlQpCi0gICAgICAgIHJldHVybiBzdGF0aWNfY2Fz
dDxEaXN0YW50TGlnaHRTb3VyY2UqPih0aGlzKS0+c2V0RWxldmF0aW9uKGVsZXZhdGlvbik7Ci0g
ICAgcmV0dXJuIGZhbHNlOwotfQotCi1ib29sIExpZ2h0U291cmNlOjpzZXRYKGZsb2F0IHgpCi17
Ci0gICAgaWYgKG1fdHlwZSA9PSBMU19TUE9UKQotICAgICAgICByZXR1cm4gc3RhdGljX2Nhc3Q8
U3BvdExpZ2h0U291cmNlKj4odGhpcyktPnNldFgoeCk7Ci0gICAgaWYgKG1fdHlwZSA9PSBMU19Q
T0lOVCkKLSAgICAgICAgcmV0dXJuIHN0YXRpY19jYXN0PFBvaW50TGlnaHRTb3VyY2UqPih0aGlz
KS0+c2V0WCh4KTsKLSAgICByZXR1cm4gZmFsc2U7Ci19Ci0KLWJvb2wgTGlnaHRTb3VyY2U6OnNl
dFkoZmxvYXQgeSkKLXsKLSAgICBpZiAobV90eXBlID09IExTX1NQT1QpCi0gICAgICAgIHJldHVy
biBzdGF0aWNfY2FzdDxTcG90TGlnaHRTb3VyY2UqPih0aGlzKS0+c2V0WSh5KTsKLSAgICBpZiAo
bV90eXBlID09IExTX1BPSU5UKQotICAgICAgICByZXR1cm4gc3RhdGljX2Nhc3Q8UG9pbnRMaWdo
dFNvdXJjZSo+KHRoaXMpLT5zZXRZKHkpOwotICAgIHJldHVybiBmYWxzZTsKLX0KLQotYm9vbCBM
aWdodFNvdXJjZTo6c2V0WihmbG9hdCB6KQotewotICAgIGlmIChtX3R5cGUgPT0gTFNfU1BPVCkK
LSAgICAgICAgcmV0dXJuIHN0YXRpY19jYXN0PFNwb3RMaWdodFNvdXJjZSo+KHRoaXMpLT5zZXRa
KHopOwotICAgIGlmIChtX3R5cGUgPT0gTFNfUE9JTlQpCi0gICAgICAgIHJldHVybiBzdGF0aWNf
Y2FzdDxQb2ludExpZ2h0U291cmNlKj4odGhpcyktPnNldFooeik7Ci0gICAgcmV0dXJuIGZhbHNl
OwotfQotCi1ib29sIExpZ2h0U291cmNlOjpzZXRQb2ludHNBdFgoZmxvYXQgcG9pbnRzQXRYKQot
ewotICAgIGlmIChtX3R5cGUgPT0gTFNfU1BPVCkKLSAgICAgICAgcmV0dXJuIHN0YXRpY19jYXN0
PFNwb3RMaWdodFNvdXJjZSo+KHRoaXMpLT5zZXRQb2ludHNBdFgocG9pbnRzQXRYKTsKLSAgICBy
ZXR1cm4gZmFsc2U7Ci19Ci0KLWJvb2wgTGlnaHRTb3VyY2U6OnNldFBvaW50c0F0WShmbG9hdCBw
b2ludHNBdFkpCi17Ci0gICAgaWYgKG1fdHlwZSA9PSBMU19TUE9UKQotICAgICAgICByZXR1cm4g
c3RhdGljX2Nhc3Q8U3BvdExpZ2h0U291cmNlKj4odGhpcyktPnNldFBvaW50c0F0WShwb2ludHNB
dFkpOwotICAgIHJldHVybiBmYWxzZTsKLX0KLQotYm9vbCBMaWdodFNvdXJjZTo6c2V0UG9pbnRz
QXRaKGZsb2F0IHBvaW50c0F0WikKLXsKLSAgICBpZiAobV90eXBlID09IExTX1NQT1QpCi0gICAg
ICAgIHJldHVybiBzdGF0aWNfY2FzdDxTcG90TGlnaHRTb3VyY2UqPih0aGlzKS0+c2V0UG9pbnRz
QXRaKHBvaW50c0F0Wik7Ci0gICAgcmV0dXJuIGZhbHNlOwotfQotCi1ib29sIExpZ2h0U291cmNl
OjpzZXRTcGVjdWxhckV4cG9uZW50KGZsb2F0IHNwZWN1bGFyRXhwb25lbnQpCi17Ci0gICAgaWYg
KG1fdHlwZSA9PSBMU19TUE9UKQotICAgICAgICByZXR1cm4gc3RhdGljX2Nhc3Q8U3BvdExpZ2h0
U291cmNlKj4odGhpcyktPnNldFNwZWN1bGFyRXhwb25lbnQoc3BlY3VsYXJFeHBvbmVudCk7Ci0g
ICAgcmV0dXJuIGZhbHNlOwotfQotCi1ib29sIExpZ2h0U291cmNlOjpzZXRMaW1pdGluZ0NvbmVB
bmdsZShmbG9hdCBsaW1pdGluZ0NvbmVBbmdsZSkKLXsKLSAgICBpZiAobV90eXBlID09IExTX1NQ
T1QpCi0gICAgICAgIHJldHVybiBzdGF0aWNfY2FzdDxTcG90TGlnaHRTb3VyY2UqPih0aGlzKS0+
c2V0TGltaXRpbmdDb25lQW5nbGUobGltaXRpbmdDb25lQW5nbGUpOwotICAgIHJldHVybiBmYWxz
ZTsKLX0KLQotfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQotCi0jZW5kaWYgLy8gRU5BQkxFKEZJTFRF
UlMpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9maWx0ZXJz
L0xpZ2h0U291cmNlLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9maWx0ZXJz
L0xpZ2h0U291cmNlLmgKaW5kZXggMjRjMzE5YTYxMmE2NGY3ZmZiZDA3OGM2Y2E5Njg1ZTYwYWRm
YWZkNy4uN2FhMjcwZTVmMzI3NDAxNzk2OTU3MDUwYmQ1OGVkNDY5OWIxNjFlNyAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZmlsdGVycy9MaWdodFNvdXJjZS5o
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2ZpbHRlcnMvTGlnaHRTb3Vy
Y2UuaApAQCAtNzQsMTYgKzc0LDE2IEBAIHB1YmxpYzoKICAgICAvLyBzcGVjaWZpZWQgInN1cmZh
Y2VTY2FsZSIgY29uc3RhbnQsIHdoaWNoIHR5cGUgaXMgPG51bWJlcj4gaW4gdGhlIFNWRyBzdGFu
ZGFyZAogICAgIHZpcnR1YWwgdm9pZCB1cGRhdGVQYWludGluZ0RhdGEoUGFpbnRpbmdEYXRhJiwg
aW50IHgsIGludCB5LCBmbG9hdCB6KSA9IDA7CiAKLSAgICBib29sIHNldEF6aW11dGgoZmxvYXQp
OwotICAgIGJvb2wgc2V0RWxldmF0aW9uKGZsb2F0KTsKLSAgICBib29sIHNldFgoZmxvYXQpOwot
ICAgIGJvb2wgc2V0WShmbG9hdCk7Ci0gICAgYm9vbCBzZXRaKGZsb2F0KTsKLSAgICBib29sIHNl
dFBvaW50c0F0WChmbG9hdCk7Ci0gICAgYm9vbCBzZXRQb2ludHNBdFkoZmxvYXQpOwotICAgIGJv
b2wgc2V0UG9pbnRzQXRaKGZsb2F0KTsKLSAgICBib29sIHNldFNwZWN1bGFyRXhwb25lbnQoZmxv
YXQpOwotICAgIGJvb2wgc2V0TGltaXRpbmdDb25lQW5nbGUoZmxvYXQpOworICAgIHZpcnR1YWwg
Ym9vbCBzZXRBemltdXRoKGZsb2F0KSB7IHJldHVybiBmYWxzZTsgfQorICAgIHZpcnR1YWwgYm9v
bCBzZXRFbGV2YXRpb24oZmxvYXQpIHsgcmV0dXJuIGZhbHNlOyB9CisgICAgdmlydHVhbCBib29s
IHNldFgoZmxvYXQpIHsgcmV0dXJuIGZhbHNlOyB9CisgICAgdmlydHVhbCBib29sIHNldFkoZmxv
YXQpIHsgcmV0dXJuIGZhbHNlOyB9CisgICAgdmlydHVhbCBib29sIHNldFooZmxvYXQpIHsgcmV0
dXJuIGZhbHNlOyB9CisgICAgdmlydHVhbCBib29sIHNldFBvaW50c0F0WChmbG9hdCkgeyByZXR1
cm4gZmFsc2U7IH0KKyAgICB2aXJ0dWFsIGJvb2wgc2V0UG9pbnRzQXRZKGZsb2F0KSB7IHJldHVy
biBmYWxzZTsgfQorICAgIHZpcnR1YWwgYm9vbCBzZXRQb2ludHNBdFooZmxvYXQpIHsgcmV0dXJu
IGZhbHNlOyB9CisgICAgdmlydHVhbCBib29sIHNldFNwZWN1bGFyRXhwb25lbnQoZmxvYXQpIHsg
cmV0dXJuIGZhbHNlOyB9CisgICAgdmlydHVhbCBib29sIHNldExpbWl0aW5nQ29uZUFuZ2xlKGZs
b2F0KSB7IHJldHVybiBmYWxzZTsgfQogCiBwcml2YXRlOgogICAgIExpZ2h0VHlwZSBtX3R5cGU7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9maWx0ZXJzL1Bv
aW50TGlnaHRTb3VyY2UuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2ZpbHRl
cnMvUG9pbnRMaWdodFNvdXJjZS5oCmluZGV4IGE5M2JmMmNmNzQ4NDBlNjkwYjNkZDQ5YjM1YTUx
YzY2MDZlMmMwMTkuLjgwZWVmMTBmY2Q1YWYzNjYzNmRhYTgzZWMyYzNhYjNkMDY0MWM0YTUgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2ZpbHRlcnMvUG9pbnRM
aWdodFNvdXJjZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2ZpbHRl
cnMvUG9pbnRMaWdodFNvdXJjZS5oCkBAIC0zNiw5ICszNiw5IEBAIHB1YmxpYzoKICAgICB9CiAK
ICAgICBjb25zdCBGbG9hdFBvaW50M0QmIHBvc2l0aW9uKCkgY29uc3QgeyByZXR1cm4gbV9wb3Np
dGlvbjsgfQotICAgIGJvb2wgc2V0WChmbG9hdCk7Ci0gICAgYm9vbCBzZXRZKGZsb2F0KTsKLSAg
ICBib29sIHNldFooZmxvYXQpOworICAgIHZpcnR1YWwgYm9vbCBzZXRYKGZsb2F0KSBPVkVSUklE
RTsKKyAgICB2aXJ0dWFsIGJvb2wgc2V0WShmbG9hdCkgT1ZFUlJJREU7CisgICAgdmlydHVhbCBi
b29sIHNldFooZmxvYXQpIE9WRVJSSURFOwogCiAgICAgdmlydHVhbCB2b2lkIGluaXRQYWludGlu
Z0RhdGEoUGFpbnRpbmdEYXRhJik7CiAgICAgdmlydHVhbCB2b2lkIHVwZGF0ZVBhaW50aW5nRGF0
YShQYWludGluZ0RhdGEmLCBpbnQgeCwgaW50IHksIGZsb2F0IHopOwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZmlsdGVycy9TcG90TGlnaHRTb3VyY2UuaCBi
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2ZpbHRlcnMvU3BvdExpZ2h0U291cmNl
LmgKaW5kZXggYjRmMWI2MTgyNzhjZjcxNTY2MGFkMGY0YTY2ZGVjZmNjZTA4MjcyMi4uYTU0ZGRj
MDhlZmFlZGUxOTNmYTEwYzlhMzIzOTBlMjcxNWJmZDI4MiAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZmlsdGVycy9TcG90TGlnaHRTb3VyY2UuaAorKysgYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9maWx0ZXJzL1Nwb3RMaWdodFNvdXJjZS5o
CkBAIC0zNywxOCArMzcsMTkgQEAgcHVibGljOgogICAgIH0KIAogICAgIGNvbnN0IEZsb2F0UG9p
bnQzRCYgcG9zaXRpb24oKSBjb25zdCB7IHJldHVybiBtX3Bvc2l0aW9uOyB9Ci0gICAgYm9vbCBz
ZXRYKGZsb2F0KTsKLSAgICBib29sIHNldFkoZmxvYXQpOwotICAgIGJvb2wgc2V0WihmbG9hdCk7
CiAgICAgY29uc3QgRmxvYXRQb2ludDNEJiBkaXJlY3Rpb24oKSBjb25zdCB7IHJldHVybiBtX2Rp
cmVjdGlvbjsgfQotICAgIGJvb2wgc2V0UG9pbnRzQXRYKGZsb2F0KTsKLSAgICBib29sIHNldFBv
aW50c0F0WShmbG9hdCk7Ci0gICAgYm9vbCBzZXRQb2ludHNBdFooZmxvYXQpOwotCiAgICAgZmxv
YXQgc3BlY3VsYXJFeHBvbmVudCgpIGNvbnN0IHsgcmV0dXJuIG1fc3BlY3VsYXJFeHBvbmVudDsg
fQotICAgIGJvb2wgc2V0U3BlY3VsYXJFeHBvbmVudChmbG9hdCk7CiAgICAgZmxvYXQgbGltaXRp
bmdDb25lQW5nbGUoKSBjb25zdCB7IHJldHVybiBtX2xpbWl0aW5nQ29uZUFuZ2xlOyB9Ci0gICAg
Ym9vbCBzZXRMaW1pdGluZ0NvbmVBbmdsZShmbG9hdCk7CisKKyAgICB2aXJ0dWFsIGJvb2wgc2V0
WChmbG9hdCkgT1ZFUlJJREU7CisgICAgdmlydHVhbCBib29sIHNldFkoZmxvYXQpIE9WRVJSSURF
OworICAgIHZpcnR1YWwgYm9vbCBzZXRaKGZsb2F0KSBPVkVSUklERTsKKyAgICB2aXJ0dWFsIGJv
b2wgc2V0UG9pbnRzQXRYKGZsb2F0KSBPVkVSUklERTsKKyAgICB2aXJ0dWFsIGJvb2wgc2V0UG9p
bnRzQXRZKGZsb2F0KSBPVkVSUklERTsKKyAgICB2aXJ0dWFsIGJvb2wgc2V0UG9pbnRzQXRaKGZs
b2F0KSBPVkVSUklERTsKKworICAgIHZpcnR1YWwgYm9vbCBzZXRTcGVjdWxhckV4cG9uZW50KGZs
b2F0KSBPVkVSUklERTsKKyAgICB2aXJ0dWFsIGJvb2wgc2V0TGltaXRpbmdDb25lQW5nbGUoZmxv
YXQpIE9WRVJSSURFOwogCiAgICAgdmlydHVhbCB2b2lkIGluaXRQYWludGluZ0RhdGEoUGFpbnRp
bmdEYXRhJik7CiAgICAgdmlydHVhbCB2b2lkIHVwZGF0ZVBhaW50aW5nRGF0YShQYWludGluZ0Rh
dGEmLCBpbnQgeCwgaW50IHksIGZsb2F0IHopOwo=
</data>

          </attachment>
      

    </bug>

</bugzilla>