<?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>51446</bug_id>
          
          <creation_ts>2010-12-21 21:22:12 -0800</creation_ts>
          <short_desc>ContextShadow uses inaccurate kernel size computation</short_desc>
          <delta_ts>2014-05-12 05:54:35 -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>Platform</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>PC</rep_platform>
          <op_sys>OS X 10.5</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>INVALID</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>
          
          <blocked>68469</blocked>
    
    <blocked>26389</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Simon Fraser (smfr)">simon.fraser</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>alex</cc>
    
    <cc>ariya.hidayat</cc>
    
    <cc>helder</cc>
    
    <cc>ian</cc>
    
    <cc>krit</cc>
    
    <cc>mrobinson</cc>
    
    <cc>simon.fraser</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>325373</commentid>
    <comment_count>0</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2010-12-21 21:22:12 -0800</bug_when>
    <thetext>The SVG spec, and FEGaussianBlur, compute the kernel size by multiplying the blur radius by
  gGaussianKernelFactor = 3 / 4.f * sqrtf(2 * piFloat)

which becomes, in blurLayerImage,
-    int d = max(2, static_cast&lt;int&gt;(floorf((2 / 3.f) * m_blurDistance)));
+    int d = max(2, static_cast&lt;int&gt;(floorf(m_blurDistance / 2 * GaussianKernelFactor + 0.5f)));

This gives a more accurate radius for small shadows. It&apos;s noticeable on a 5px shadow.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>325397</commentid>
    <comment_count>1</comment_count>
    <who name="Helder Correia">helder</who>
    <bug_when>2010-12-21 22:59:01 -0800</bug_when>
    <thetext>(In reply to comment #0)
&gt; This gives a more accurate radius for small shadows. It&apos;s noticeable on a 5px shadow.

This might need changing a few tests. I&apos;ll take care of it.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>325422</commentid>
    <comment_count>2</comment_count>
      <attachid>77197</attachid>
    <who name="Helder Correia">helder</who>
    <bug_when>2010-12-22 01:56:34 -0800</bug_when>
    <thetext>Created attachment 77197
Untested with Cairo</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>325423</commentid>
    <comment_count>3</comment_count>
    <who name="Alejandro G. Castro">alex</who>
    <bug_when>2010-12-22 02:08:40 -0800</bug_when>
    <thetext>(In reply to comment #0)
&gt; The SVG spec, and FEGaussianBlur, compute the kernel size by multiplying the blur radius by
&gt;   gGaussianKernelFactor = 3 / 4.f * sqrtf(2 * piFloat)
&gt; 
&gt; which becomes, in blurLayerImage,
&gt; -    int d = max(2, static_cast&lt;int&gt;(floorf((2 / 3.f) * m_blurDistance)));
&gt; +    int d = max(2, static_cast&lt;int&gt;(floorf(m_blurDistance / 2 * GaussianKernelFactor + 0.5f)));
&gt; 
&gt; This gives a more accurate radius for small shadows. It&apos;s noticeable on a 5px shadow.

I&apos;m not sure if this is correct, in case of the gaussian blur we use that factor because we have the standard deviation, but in case of the canvas we have the blur distance.

Basically 2/3 is way to say that we are doing a box blur that increases d/2 pixels each time we do a box blur, and we do 3 box blurs. Therefore to get a distance of m_blurDistance we multiply by 2/3. We could modify the calculation and create a heuristic for the small distances because the rounding could cause problems though.

Actually I pointed hixie about the problems of having different APIs for the same operation in specs that are going to be implemented in the browser because it causes this kind of confusions.

 http://www.w3.org/Bugs/Public/show_bug.cgi?id=9942#c2

Hope it helps.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>325503</commentid>
    <comment_count>4</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2010-12-22 08:30:32 -0800</bug_when>
    <thetext>ContextShadow is used for both CSS shadows and Canvas shadows. I have a patch that will pass this information down to GraphicsContext (a follow-on from bug 51448). Once we have that information, ContextShadow can support both behaviors.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>332213</commentid>
    <comment_count>5</comment_count>
    <who name="Alejandro G. Castro">alex</who>
    <bug_when>2011-01-11 03:03:47 -0800</bug_when>
    <thetext>(In reply to comment #4)
&gt; ContextShadow is used for both CSS shadows and Canvas shadows. I have a patch that will pass this information down to GraphicsContext (a follow-on from bug 51448). Once we have that information, ContextShadow can support both behaviors.

That&apos;s nice but still SVG will be using standard deviation and CSS/canvas blur radius in the API for the same operation, which in my opinion could cause confusion. I&apos;m completely clueless if this have any solution changing something in the standards at this point, did not think about it either, just pointed it out because we have found it confusing when implementing it more than once.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>348078</commentid>
    <comment_count>6</comment_count>
      <attachid>77197</attachid>
    <who name="Dirk Schulze">krit</who>
    <bug_when>2011-02-09 02:06:00 -0800</bug_when>
    <thetext>Comment on attachment 77197
Untested with Cairo

The change seems to be in ShadowBlur.cpp. The other platforms should move to this code. I&apos;d like to mark this bug as invalid. Any comments?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>348235</commentid>
    <comment_count>7</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2011-02-09 07:48:17 -0800</bug_when>
    <thetext>Fine, I don&apos;t care about ContextShadow any more :)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>648299</commentid>
    <comment_count>8</comment_count>
    <who name="Martin Robinson">mrobinson</who>
    <bug_when>2012-06-13 11:40:52 -0700</bug_when>
    <thetext>ContextShadow is long gone now. :)</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>77197</attachid>
            <date>2010-12-22 01:56:34 -0800</date>
            <delta_ts>2011-02-09 02:06:00 -0800</delta_ts>
            <desc>Untested with Cairo</desc>
            <filename>bug-51446-20101222015633.patch</filename>
            <type>text/plain</type>
            <size>7569</size>
            <attacher name="Helder Correia">helder</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCA3MGI5ODYwZTQ0ZWFlZDA4NjE3MGI3NGEzN2U0OTIxZmUyMTMxNmMyLi42MDVmZmVm
OWU5NzBiNzU4OGVmYWZmNzRjYjI2NTM1ODk4ZWU2ZTFjIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjMgQEAK
KzIwMTAtMTItMjIgIEhlbGRlciBDb3JyZWlhICA8aGVsZGVyQHNlbmNoYS5jb20+CisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQ29udGV4dFNoYWRvdyB1
c2VzIGluYWNjdXJhdGUga2VybmVsIHNpemUgY29tcHV0YXRpb24KKyAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTUxNDQ2CisKKyAgICAgICAgVGhlIFNWRyBz
cGVjLCBhbmQgRkVHYXVzc2lhbkJsdXIsIGNvbXB1dGUgdGhlIGtlcm5lbCBzaXplIGJ5CisgICAg
ICAgIG11bHRpcGx5aW5nIHRoZSBibHVyIHJhZGl1cyBieToKKyAgICAgICAgZ2F1c3NpYW5LZXJu
ZWxGYWN0b3IgPSAzIC8gNC5mICogc3FydGYoMiAqIHBpRmxvYXQpCisgICAgICAgIFRoaXMgZ2l2
ZXMgYSBtb3JlIGFjY3VyYXRlIHJhZGl1cyBmb3Igc21hbGwgc2hhZG93cy4KKworICAgICAgICBS
ZWxldmFudCBzcGVjIHNlY3Rpb246CisgICAgICAgIGh0dHA6Ly93d3cudzMub3JnL1RSL1NWRy9m
aWx0ZXJzLmh0bWwjZmVHYXVzc2lhbkJsdXJFbGVtZW50CisKKyAgICAgICAgKiBmYXN0L2NhbnZh
cy9jYW52YXMtc2NhbGUtc3Ryb2tlUGF0aC1zaGFkb3ctZXhwZWN0ZWQudHh0OgorICAgICAgICAq
IGZhc3QvY2FudmFzL3NjcmlwdC10ZXN0cy9jYW52YXMtc2NhbGUtc2hhZG93Qmx1ci5qczoKKyAg
ICAgICAgKiBmYXN0L2NhbnZhcy9zY3JpcHQtdGVzdHMvY2FudmFzLXNjYWxlLXN0cm9rZVBhdGgt
c2hhZG93LmpzOiBBbHRlcgorICAgICAgICAgIHRlc3RzIGFjY29yZGluZ2x5IHRvIGFjY29tb2Rh
dGUgdGhlIG5ldyBrZXJuZWwgc2l6ZSBjb21wdXRhdGlvbi4KKwogMjAxMC0xMi0yMSAgWmhlbnlh
byBNbyAgPHptb0Bnb29nbGUuY29tPgogCiAgICAgICAgIFJldmlld2VkIGJ5IEtlbm5ldGggUnVz
c2VsbC4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvY2FudmFzL2NhbnZhcy1zY2FsZS1z
dHJva2VQYXRoLXNoYWRvdy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0L2NhbnZhcy9j
YW52YXMtc2NhbGUtc3Ryb2tlUGF0aC1zaGFkb3ctZXhwZWN0ZWQudHh0CmluZGV4IGFlYjgzNjM3
MGM0ZGY4MzI0MWI5OWRkMTQ4ZmViMTQxN2JmMDUwYmUuLmI2NTZmMDJkNjJmODE2NGU0NDQ0YTlj
MDU5MmMyZjAxYjYxYjlmMDQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvY2FudmFzL2Nh
bnZhcy1zY2FsZS1zdHJva2VQYXRoLXNoYWRvdy1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVz
dHMvZmFzdC9jYW52YXMvY2FudmFzLXNjYWxlLXN0cm9rZVBhdGgtc2hhZG93LWV4cGVjdGVkLnR4
dApAQCAtMzAsMTUgKzMwLDE1IEBAIFBBU1MgZFszXSBpcyBhcm91bmQgNzYKIFBBU1MgZFswXSBp
cyAyNTUKIFBBU1MgZFsxXSBpcyAwCiBQQVNTIGRbMl0gaXMgMAotUEFTUyBkWzNdIGlzIGFyb3Vu
ZCAyMDAKK1BBU1MgZFszXSBpcyBhcm91bmQgMTcxCiBQQVNTIGRbMF0gaXMgMjU1CiBQQVNTIGRb
MV0gaXMgMAogUEFTUyBkWzJdIGlzIDAKLVBBU1MgZFszXSBpcyBhcm91bmQgNDkKK1BBU1MgZFsz
XSBpcyBhcm91bmQgMTQzCiBQQVNTIGRbMF0gaXMgMjU1CiBQQVNTIGRbMV0gaXMgMAogUEFTUyBk
WzJdIGlzIDAKLVBBU1MgZFszXSBpcyBhcm91bmQgMTk5CitQQVNTIGRbM10gaXMgYXJvdW5kIDQ4
CiBQQVNTIGRbMF0gaXMgMjU1CiBQQVNTIGRbMV0gaXMgMAogUEFTUyBkWzJdIGlzIDAKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvY2FudmFzL3NjcmlwdC10ZXN0cy9jYW52YXMtc2NhbGUt
c2hhZG93Qmx1ci5qcyBiL0xheW91dFRlc3RzL2Zhc3QvY2FudmFzL3NjcmlwdC10ZXN0cy9jYW52
YXMtc2NhbGUtc2hhZG93Qmx1ci5qcwppbmRleCA3YzA0Y2Y4ODkyMzgxM2I4YWY3N2I1MDljNmE3
NzQ0NDRhYjFkNzE4Li5kMjU1NjkwZjYxYjY3ZGQwNjNlM2RmNDM4M2Y0MWFkYzFiNTQyOTQ3IDEw
MDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2NhbnZhcy9zY3JpcHQtdGVzdHMvY2FudmFzLXNj
YWxlLXNoYWRvd0JsdXIuanMKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9jYW52YXMvc2NyaXB0LXRl
c3RzL2NhbnZhcy1zY2FsZS1zaGFkb3dCbHVyLmpzCkBAIC05OCw3ICs5OCw3IEBAIHNob3VsZEJl
KCdkWzFdJywgJzAnKTsKIHNob3VsZEJlKCdkWzJdJywgJzAnKTsKIHNob3VsZEJlQXJvdW5kKCdk
WzNdJywgJzEyNicpOwogCi1kID0gY3R4LmdldEltYWdlRGF0YSgyNTAsIDM3NSwgMSwgMSkuZGF0
YTsKK2QgPSBjdHguZ2V0SW1hZ2VEYXRhKDI1MCwgMzUwLCAxLCAxKS5kYXRhOwogc2hvdWxkQmUo
J2RbMF0nLCAnMCcpOwogc2hvdWxkQmUoJ2RbMV0nLCAnMCcpOwogc2hvdWxkQmUoJ2RbMl0nLCAn
MCcpOwpAQCAtMTEwLDcgKzExMCw3IEBAIHNob3VsZEJlKCdkWzFdJywgJzAnKTsKIHNob3VsZEJl
KCdkWzJdJywgJzAnKTsKIHNob3VsZEJlKCdkWzNdJywgJzAnKTsKIAotZCA9IGN0eC5nZXRJbWFn
ZURhdGEoMTc1LCA0NTAsIDEsIDEpLmRhdGE7CitkID0gY3R4LmdldEltYWdlRGF0YSgxNTAsIDQ1
MCwgMSwgMSkuZGF0YTsKIHNob3VsZEJlKCdkWzBdJywgJzAnKTsKIHNob3VsZEJlKCdkWzFdJywg
JzAnKTsKIHNob3VsZEJlKCdkWzJdJywgJzAnKTsKQEAgLTEzNSwyNSArMTM1LDI1IEBAIHNob3Vs
ZEJlKCdkWzFdJywgJzAnKTsKIHNob3VsZEJlKCdkWzJdJywgJzAnKTsKIHNob3VsZEJlQXJvdW5k
KCdkWzNdJywgJzI1NScpOwogCi1kID0gY3R4LmdldEltYWdlRGF0YSg0NTAsIDE3NSwgMSwgMSku
ZGF0YTsKK2QgPSBjdHguZ2V0SW1hZ2VEYXRhKDQ1MCwgMTUwLCAxLCAxKS5kYXRhOwogc2hvdWxk
QmUoJ2RbMF0nLCAnMCcpOwogc2hvdWxkQmUoJ2RbMV0nLCAnMCcpOwogc2hvdWxkQmUoJ2RbMl0n
LCAnMCcpOwogc2hvdWxkQmUoJ2RbM10nLCAnMCcpOwogCi1kID0gY3R4LmdldEltYWdlRGF0YSg0
NTAsIDMyNSwgMSwgMSkuZGF0YTsKK2QgPSBjdHguZ2V0SW1hZ2VEYXRhKDQ1MCwgMzUwLCAxLCAx
KS5kYXRhOwogc2hvdWxkQmUoJ2RbMF0nLCAnMCcpOwogc2hvdWxkQmUoJ2RbMV0nLCAnMCcpOwog
c2hvdWxkQmUoJ2RbMl0nLCAnMCcpOwogc2hvdWxkQmUoJ2RbM10nLCAnMCcpOwogCi1kID0gY3R4
LmdldEltYWdlRGF0YSgzNzUsIDI1MCwgMSwgMSkuZGF0YTsKK2QgPSBjdHguZ2V0SW1hZ2VEYXRh
KDM1MCwgMjUwLCAxLCAxKS5kYXRhOwogc2hvdWxkQmUoJ2RbMF0nLCAnMCcpOwogc2hvdWxkQmUo
J2RbMV0nLCAnMCcpOwogc2hvdWxkQmUoJ2RbMl0nLCAnMCcpOwogc2hvdWxkQmUoJ2RbM10nLCAn
MCcpOwogCi1kID0gY3R4LmdldEltYWdlRGF0YSg1MjUsIDI1MCwgMSwgMSkuZGF0YTsKK2QgPSBj
dHguZ2V0SW1hZ2VEYXRhKDU1MCwgMjUwLCAxLCAxKS5kYXRhOwogc2hvdWxkQmUoJ2RbMF0nLCAn
MCcpOwogc2hvdWxkQmUoJ2RbMV0nLCAnMCcpOwogc2hvdWxkQmUoJ2RbMl0nLCAnMCcpOwpAQCAt
MTY2LDI1ICsxNjYsMjUgQEAgc2hvdWxkQmUoJ2RbMV0nLCAnMCcpOwogc2hvdWxkQmUoJ2RbMl0n
LCAnMCcpOwogc2hvdWxkQmVBcm91bmQoJ2RbM10nLCAnMTI2Jyk7CiAKLWQgPSBjdHguZ2V0SW1h
Z2VEYXRhKDQ1MCwgMzc1LCAxLCAxKS5kYXRhOworZCA9IGN0eC5nZXRJbWFnZURhdGEoNDUwLCAz
NTAsIDEsIDEpLmRhdGE7CiBzaG91bGRCZSgnZFswXScsICcwJyk7CiBzaG91bGRCZSgnZFsxXScs
ICcwJyk7CiBzaG91bGRCZSgnZFsyXScsICcwJyk7CiBzaG91bGRCZSgnZFszXScsICcwJyk7CiAK
LWQgPSBjdHguZ2V0SW1hZ2VEYXRhKDQ1MCwgNTI1LCAxLCAxKS5kYXRhOworZCA9IGN0eC5nZXRJ
bWFnZURhdGEoNDUwLCA1NTAsIDEsIDEpLmRhdGE7CiBzaG91bGRCZSgnZFswXScsICcwJyk7CiBz
aG91bGRCZSgnZFsxXScsICcwJyk7CiBzaG91bGRCZSgnZFsyXScsICcwJyk7CiBzaG91bGRCZSgn
ZFszXScsICcwJyk7CiAKLWQgPSBjdHguZ2V0SW1hZ2VEYXRhKDM3NSwgNDUwLCAxLCAxKS5kYXRh
OworZCA9IGN0eC5nZXRJbWFnZURhdGEoMzUwLCA0NTAsIDEsIDEpLmRhdGE7CiBzaG91bGRCZSgn
ZFswXScsICcwJyk7CiBzaG91bGRCZSgnZFsxXScsICcwJyk7CiBzaG91bGRCZSgnZFsyXScsICcw
Jyk7CiBzaG91bGRCZSgnZFszXScsICcwJyk7CiAKLWQgPSBjdHguZ2V0SW1hZ2VEYXRhKDUyNSwg
NDUwLCAxLCAxKS5kYXRhOworZCA9IGN0eC5nZXRJbWFnZURhdGEoNTUwLCA0NTAsIDEsIDEpLmRh
dGE7CiBzaG91bGRCZSgnZFswXScsICcwJyk7CiBzaG91bGRCZSgnZFsxXScsICcwJyk7CiBzaG91
bGRCZSgnZFsyXScsICcwJyk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2NhbnZhcy9z
Y3JpcHQtdGVzdHMvY2FudmFzLXNjYWxlLXN0cm9rZVBhdGgtc2hhZG93LmpzIGIvTGF5b3V0VGVz
dHMvZmFzdC9jYW52YXMvc2NyaXB0LXRlc3RzL2NhbnZhcy1zY2FsZS1zdHJva2VQYXRoLXNoYWRv
dy5qcwppbmRleCA1ZTVjOGYzY2Y4ZmZkYmEzYTc0MGY4MzRhMzk3ZWU5OWM2MDRkYzA4Li45NWNl
MzQ2MDJmYmRhYmJkYTU5M2M5MzZlMTQ3YWM0NTYzMWVlYzIzIDEwMDY0NAotLS0gYS9MYXlvdXRU
ZXN0cy9mYXN0L2NhbnZhcy9zY3JpcHQtdGVzdHMvY2FudmFzLXNjYWxlLXN0cm9rZVBhdGgtc2hh
ZG93LmpzCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvY2FudmFzL3NjcmlwdC10ZXN0cy9jYW52YXMt
c2NhbGUtc3Ryb2tlUGF0aC1zaGFkb3cuanMKQEAgLTExNSwyMyArMTE1LDIzIEBAIHNob3VsZEJl
KCdkWzJdJywgJzAnKTsKIHNob3VsZEJlQXJvdW5kKCdkWzNdJywgJzc2Jyk7CiAKIC8vIFZlcmlm
eSBibHVycnkgc2hhZG93LgotZCA9IGN0eC5nZXRJbWFnZURhdGEoMzk4LCAyMTAsIDEsIDEpLmRh
dGE7CitkID0gY3R4LmdldEltYWdlRGF0YSg0MDMsIDIxMCwgMSwgMSkuZGF0YTsKIHNob3VsZEJl
KCdkWzBdJywgJzI1NScpOwogc2hvdWxkQmUoJ2RbMV0nLCAnMCcpOwogc2hvdWxkQmUoJ2RbMl0n
LCAnMCcpOwotc2hvdWxkQmVBcm91bmQoJ2RbM10nLCAnMjAwJyk7CitzaG91bGRCZUFyb3VuZCgn
ZFszXScsICcxNzEnKTsKIAotZCA9IGN0eC5nZXRJbWFnZURhdGEoNTA4LCAyNTAsIDEsIDEpLmRh
dGE7CitkID0gY3R4LmdldEltYWdlRGF0YSg1MDQsIDI1MCwgMSwgMSkuZGF0YTsKIHNob3VsZEJl
KCdkWzBdJywgJzI1NScpOwogc2hvdWxkQmUoJ2RbMV0nLCAnMCcpOwogc2hvdWxkQmUoJ2RbMl0n
LCAnMCcpOwotc2hvdWxkQmVBcm91bmQoJ2RbM10nLCAnNDknKTsKK3Nob3VsZEJlQXJvdW5kKCdk
WzNdJywgJzE0MycpOwogCi1kID0gY3R4LmdldEltYWdlRGF0YSg0NTAsIDE5OCwgMSwgMSkuZGF0
YTsKK2QgPSBjdHguZ2V0SW1hZ2VEYXRhKDQ1MCwgMTkxLCAxLCAxKS5kYXRhOwogc2hvdWxkQmUo
J2RbMF0nLCAnMjU1Jyk7CiBzaG91bGRCZSgnZFsxXScsICcwJyk7CiBzaG91bGRCZSgnZFsyXScs
ICcwJyk7Ci1zaG91bGRCZUFyb3VuZCgnZFszXScsICcxOTknKTsKK3Nob3VsZEJlQXJvdW5kKCdk
WzNdJywgJzQ4Jyk7CiAKIC8vIFZlcmlmeSBibHVycnkgYWxwaGEgc2hhZG93LgogZCA9IGN0eC5n
ZXRJbWFnZURhdGEoNTA1LCA0NTAsIDEsIDEpLmRhdGE7CmRpZmYgLS1naXQgYS9XZWJDb3JlL0No
YW5nZUxvZyBiL1dlYkNvcmUvQ2hhbmdlTG9nCmluZGV4IDc3MDZmYzE1NzhiNzA5MTFiOTkyMTNh
YThjMmMwYzBkN2MwMDI4ODUuLjYyOGI3YzVlZjZlNGViNjQ1NzZiOWQwNWVjMjdjYWExZjJhNjdi
ZTAgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1dlYkNvcmUvQ2hhbmdlTG9n
CkBAIC0xLDMgKzEsMjMgQEAKKzIwMTAtMTItMjIgIEhlbGRlciBDb3JyZWlhICA8aGVsZGVyQHNl
bmNoYS5jb20+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAg
ICAgQ29udGV4dFNoYWRvdyB1c2VzIGluYWNjdXJhdGUga2VybmVsIHNpemUgY29tcHV0YXRpb24K
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTUxNDQ2CisK
KyAgICAgICAgVGhlIFNWRyBzcGVjLCBhbmQgRkVHYXVzc2lhbkJsdXIsIGNvbXB1dGUgdGhlIGtl
cm5lbCBzaXplIGJ5CisgICAgICAgIG11bHRpcGx5aW5nIHRoZSBibHVyIHJhZGl1cyBieToKKyAg
ICAgICAgZ2F1c3NpYW5LZXJuZWxGYWN0b3IgPSAzIC8gNC5mICogc3FydGYoMiAqIHBpRmxvYXQp
CisgICAgICAgIFRoaXMgZ2l2ZXMgYSBtb3JlIGFjY3VyYXRlIHJhZGl1cyBmb3Igc21hbGwgc2hh
ZG93cy4KKworICAgICAgICBSZWxldmFudCBzcGVjIHNlY3Rpb246CisgICAgICAgIGh0dHA6Ly93
d3cudzMub3JnL1RSL1NWRy9maWx0ZXJzLmh0bWwjZmVHYXVzc2lhbkJsdXJFbGVtZW50CisKKyAg
ICAgICAgVGVzdHM6IGZhc3QvY2FudmFzL2NhbnZhcypzaGFkb3cqaHRtbAorCisgICAgICAgICog
cGxhdGZvcm0vZ3JhcGhpY3MvQ29udGV4dFNoYWRvdy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpD
b250ZXh0U2hhZG93OjpibHVyTGF5ZXJJbWFnZSk6CisKIDIwMTAtMTItMjEgIFNoZXJpZmYgQm90
ICA8d2Via2l0LnJldmlldy5ib3RAZ21haWwuY29tPgogCiAgICAgICAgIFVucmV2aWV3ZWQsIHJv
bGxpbmcgb3V0IHI3NDQyMC4KZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
Q29udGV4dFNoYWRvdy5jcHAgYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0NvbnRleHRTaGFk
b3cuY3BwCmluZGV4IGIzNGU1NDY2MTIyYWJjZDY5NDUxYzA0OTk3MmYzMmQ3N2JlNDk5NTguLmE0
NDhjNzU1NWI5NTI4NTZmYTA4MzkwMzY2MmEzNDNlY2E1MGI2NDEgMTAwNjQ0Ci0tLSBhL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvQ29udGV4dFNoYWRvdy5jcHAKKysrIGIvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9Db250ZXh0U2hhZG93LmNwcApAQCAtMTA4LDcgKzEwOCw4IEBAIHN0YXRp
YyBjb25zdCBpbnQgQmx1clN1bVNoaWZ0ID0gMTU7CiB2b2lkIENvbnRleHRTaGFkb3c6OmJsdXJM
YXllckltYWdlKHVuc2lnbmVkIGNoYXIqIGltYWdlRGF0YSwgY29uc3QgSW50U2l6ZSYgc2l6ZSwg
aW50IHJvd1N0cmlkZSkKIHsKICAgICBpbnQgY2hhbm5lbHNbNF0gPSB7IDMsIDAsIDEsIDMgfTsK
LSAgICBpbnQgZCA9IG1heCgyLCBzdGF0aWNfY2FzdDxpbnQ+KGZsb29yZigoMiAvIDMuZikgKiBt
X2JsdXJEaXN0YW5jZSkpKTsKKyAgICBzdGF0aWMgY29uc3QgZmxvYXQgZ2F1c3NpYW5LZXJuZWxG
YWN0b3IgPSAzIC8gNC5mICogc3FydGYoMiAqIHBpRmxvYXQpOworICAgIGludCBkID0gbWF4KDIs
IHN0YXRpY19jYXN0PGludD4oZmxvb3JmKG1fYmx1ckRpc3RhbmNlIC8gMi5mICogZ2F1c3NpYW5L
ZXJuZWxGYWN0b3IgKyAwLjVmKSkpOwogICAgIGludCBkbWF4ID0gZCA+PiAxOwogICAgIGludCBk
bWluID0gZG1heCAtIDEgKyAoZCAmIDEpOwogICAgIGlmIChkbWluIDwgMCkK
</data>
<flag name="review"
          id="68254"
          type_id="1"
          status="-"
          setter="krit"
    />
          </attachment>
      

    </bug>

</bugzilla>