<?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>43452</bug_id>
          
          <creation_ts>2010-08-03 17:24:05 -0700</creation_ts>
          <short_desc>SVG animation beginElement() does not restart a stopped animation.</short_desc>
          <delta_ts>2011-06-10 06:47:50 -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>All</rep_platform>
          <op_sys>All</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>
          
          <blocked>41761</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="mg">griffin_m82</reporter>
          <assigned_to name="Felician Marton">felician</assigned_to>
          <cc>abecsi</cc>
    
    <cc>commit-queue</cc>
    
    <cc>felician</cc>
    
    <cc>krit</cc>
    
    <cc>rhodovan.u-szeged</cc>
    
    <cc>zimmermann</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>259763</commentid>
    <comment_count>0</comment_count>
    <who name="mg">griffin_m82</who>
    <bug_when>2010-08-03 17:24:05 -0700</bug_when>
    <thetext>The scenario is:

1) An animation is started on document load using &quot;animate&quot; or &quot;animateTransform&quot;. 

2) If the animation is running, &quot;beginElement()&quot; will restart the animation.

3) If the animation is running, &quot;endElement()&quot; will stop the animation.

4) If the animation is stopped, &quot;beginElement()&quot; will NOT restart the animation. This is the problem. 

5) As an additional problem, with &quot;animateTransform&quot; neither &quot;beginElement()&quot; nor &quot;endElement()&quot; seem to have any effect. This seems to be a closely related problem and so is included in this report.


This behaviour is consistent across all versions of Webkit browsers tested, including the following:

On Linux:
- Chromium 6.0.453.0 (51332) Built on Ubuntu 9.04, running on Ubuntu 10.04
- Epiphany Web Browser 2.30.2
- Midori 0.2.2 GTK+ 2.19.6, WebKitGTK+ 1.1.21

On MS windows:
- Google Chrome 5.0.375.125
- Safari 5.0.1 (7533.17.8)


This feature *does* work as expected (stopping and restarting) on the following browsers:
On Linux (64 bit Ubuntu 10.04):
- Firefox 4 beta (4.03b3pre)
- Opera 10.60 Build 6386

On MS Windows XP:
- Opera 10.60 Build 3445
- (Firefox was not tested on this platform). 


The application area for this is starting and stopping animations on demand. This would be required for any applications where the animations were used for any purpose other than page load decorations. Animations are specified as ordinary SVG XML in the web page rather than through DOM scripting to allow the easy creation of complex drawings using clip art via a drawing editor such as Inkscape. &quot;beginElement()&quot; and &quot;endElement()&quot; are the only practical means of re-starting and stopping animations in this situation. I have planned applications for these features now that all the modern browsers support animation (Firefox has just added animation in version 4). However, this is not a critical bug for me as I can tell users to either not use the new animation features, or else to use Firefox or Opera until the bug is fixed in Chrome and/or Safari. 


An SVG file with six test cases is provided. Each test case is labelled. The animations start on load and use Javascript to start or stop. Click on a green area to stop an animation. Click on a red area to re-start an animation. If you click on a running animation you will see that it will restart (some test cases are easier to see than others for this). The exception of course is the &quot;animateMotion&quot; test which will not stop or restart.

All tests work correctly in Opera or Firefox 4 (beta version). If you are using one of these browsers, a stopped animation will restart, and &quot;animateMotion&quot; behaves the same as &quot;animate&quot; and &quot;animateTransform&quot;.

This report does not appear to be directly related to Bug 34301 - &quot;Creating &lt;animateMotion&gt; elements via javascript do not execute&quot;. The test case provided in that report appears to run correctly when I tested it on Chromium 6.0.453.0 on Linux, whereas the test cases provided here do not run on the browsers listed above. (Bug 34301 is still marked as &quot;new&quot;, but the test case seems to work Ok for me on Chromium 6.0.453.0 (51332)).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>259766</commentid>
    <comment_count>1</comment_count>
      <attachid>63395</attachid>
    <who name="mg">griffin_m82</who>
    <bug_when>2010-08-03 17:27:37 -0700</bug_when>
    <thetext>Created attachment 63395
SVG file with 6 test cases.

The attachment didn&apos;t appear to go through on the first attempt for some reason.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>408809</commentid>
    <comment_count>2</comment_count>
      <attachid>94602</attachid>
    <who name="Felician Marton">felician</who>
    <bug_when>2011-05-24 06:30:42 -0700</bug_when>
    <thetext>Created attachment 94602
Bugfix for SVG animation restarting.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>410488</commentid>
    <comment_count>3</comment_count>
      <attachid>94602</attachid>
    <who name="Rob Buis">rwlbuis</who>
    <bug_when>2011-05-26 09:07:43 -0700</bug_when>
    <thetext>Comment on attachment 94602
Bugfix for SVG animation restarting.

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

Great that you are working on this! I am r- because of my suggestions and questions.

&gt; LayoutTests/ChangeLog:11
&gt; +        Added test for animation beginElement. It should restart the animation even if the animation is stopped by endElement() previously.

This line should move up to be below the 2 bugfix lines

&gt; LayoutTests/svg/animations/script-tests/animate-endElement-beginElement.js:56
&gt; +button.setAttribute(&quot;onclick&quot;, &quot;executeTest()&quot;);

Can you explain why button is needed? If not, can you remove it and put the onclick on the rect?

&gt; Source/WebCore/ChangeLog:11
&gt; +        (WebCore::SVGSMILElement::findInstanceTime): changed the return value when we search in the endTimes vector and there is no proper match.

s/changed/Changed</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>411421</commentid>
    <comment_count>4</comment_count>
      <attachid>95170</attachid>
    <who name="Felician Marton">felician</who>
    <bug_when>2011-05-27 07:22:44 -0700</bug_when>
    <thetext>Created attachment 95170
Bugfix for SVG animation restarting. Updated Patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>412520</commentid>
    <comment_count>5</comment_count>
      <attachid>95170</attachid>
    <who name="Nikolas Zimmermann">zimmermann</who>
    <bug_when>2011-05-31 02:42:58 -0700</bug_when>
    <thetext>Comment on attachment 95170
Bugfix for SVG animation restarting. Updated Patch.

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

Test is still flakey, needs another iteration: r-:

&gt; LayoutTests/ChangeLog:7
&gt; +        https://bugs.webkit.org/show_bug.cgi?id=43452
&gt; +        Added test for animation beginElement. It should restart the animation even if the animation is stopped by endElement() previously.

You should leave a blank line below the bug link.

&gt; LayoutTests/svg/animations/script-tests/animate-endElement-beginElement.js:10
&gt; +rect.setAttribute(&quot;fill&quot;, &quot;pink&quot;);

Please use green here not pink ;-)

&gt; LayoutTests/svg/animations/script-tests/animate-endElement-beginElement.js:43
&gt; +    //Timeout needed, because te SVG animation mechanism is fully time based.
&gt; +    //If animation actions performed in a very short time, the actions will not behave as expected.
&gt; +    setTimeout(&quot;animateX.beginElement()&quot;,30);
&gt; +    setTimeout(&quot;animateX.endElement()&quot;,60);
&gt; +    setTimeout(&quot;animateX.beginElement(), checkPosition()&quot;,90);

This hack is not acceptable, it makes the test timing dependant, and likely flakey. What you want to use is:

function beginAnimation() {
    animateX.beginElement();
    setTimeout(restartAnimation, 0);
}

function restartAnimation() {
    animateX.endElement();
    setTimeout(function() {
        animateX.beginElement();
        checkPosition();
    }, 0);
}

function executeTest() {
    setTimeout(beginElement, 0);
}

That looks cleaner, right?

&gt; Source/WebCore/ChangeLog:5
&gt; +        Bugfix: SVG animation beginElement() does not restart the animation after endElement().

This is not the real bug title, it should always match the bugzilla title, so remove the &quot;Bugfix: &quot;.

&gt; Source/WebCore/ChangeLog:9
&gt; +

You should describe here what actually changed. Sth like:
Calling beginElement() after calling endElement() does not restart the animation.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>412521</commentid>
    <comment_count>6</comment_count>
    <who name="Nikolas Zimmermann">zimmermann</who>
    <bug_when>2011-05-31 02:44:16 -0700</bug_when>
    <thetext>(In reply to comment #5)
&gt; This is not the real bug title, it should always match the bugzilla title, so remove the &quot;Bugfix: &quot;.
Please use &quot;SVG animation beginElement() does not restart a stopped animation&quot;, which is the original bug title.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>414039</commentid>
    <comment_count>7</comment_count>
      <attachid>95751</attachid>
    <who name="Felician Marton">felician</who>
    <bug_when>2011-06-02 05:12:44 -0700</bug_when>
    <thetext>Created attachment 95751
Bugfix for SVG animation restarting with test</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>414072</commentid>
    <comment_count>8</comment_count>
      <attachid>95751</attachid>
    <who name="Nikolas Zimmermann">zimmermann</who>
    <bug_when>2011-06-02 06:40:07 -0700</bug_when>
    <thetext>Comment on attachment 95751
Bugfix for SVG animation restarting with test

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

Hm, I leave the r? unchanged, as I have a question:

&gt; LayoutTests/svg/animations/script-tests/animate-endElement-beginElement.js:32
&gt; +    setTimeout(end,1);

s/,1/, 0/

&gt; LayoutTests/svg/animations/script-tests/animate-endElement-beginElement.js:37
&gt; +    setTimeout(begin2,1);

s/,1/, 0/

&gt; LayoutTests/svg/animations/script-tests/animate-endElement-beginElement.js:51
&gt; +    //BeginElement-endElement-beginElement musn&apos;t execute in zero time, because in the current
&gt; +    //implemetation of the svg animation will loose the commands order!

This is not true, we&apos;re clamping the setTimeout value anyway to a lower boundary, so if you pass 0 or 1, it doesn&apos;t matter.
See Source/WebCore/page/DOMWindow.cpp - grep for setTimeout, it uses DOMTimer::install, and in DOMTimer.cpp you&apos;ll find the constructor does:

DOMTimer::DOMTimer(ScriptExecutionContext* context, PassOwnPtr&lt;ScheduledAction&gt; action, int interval, bool singleShot)
...
    , m_originalInterval(interval)
...
{
    scriptExecutionContext()-&gt;addTimeout(m_timeoutId, this);

    double intervalMilliseconds = intervalClampedToMinimum(interval, context-&gt;minimumTimerInterval());
    if (singleShot)
        startOneShot(intervalMilliseconds);
    else
        startRepeating(intervalMilliseconds);
}

The clamping routine does:

static const double oneMillisecond = 0.001;
double DOMTimer::intervalClampedToMinimum(int timeout, double minimumTimerInterval) const
{
    double intervalMilliseconds = max(oneMillisecond, timeout * oneMillisecond);

    if (intervalMilliseconds &lt; minimumTimerInterval &amp;&amp; m_nestingLevel &gt;= maxTimerNestingLevel)
        intervalMilliseconds = minimumTimerInterval;
    return intervalMilliseconds;
}

So all timers are clamped to 1ms anyway. Can you explain what kind of trouble you ran into when using 0 as interval?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>414131</commentid>
    <comment_count>9</comment_count>
    <who name="Felician Marton">felician</who>
    <bug_when>2011-06-02 08:17:47 -0700</bug_when>
    <thetext>First of all I think you misunderstood my sentence:
&quot;BeginElement-endElement-beginElement musn&apos;t execute in zero time, because in the current implemetation of the svg animation will loose the commands order&quot;

I mean the case when I would write into the js the following code:

animateX.beginElement();
animateX.endElement();
animateX.beginElement();

And _this_ code could run in zero time (faster than one tick in the JS timer), not the timeout interval 0.
--

&gt; So all timers are clamped to 1ms anyway. Can you explain what kind of trouble you ran into when using 0 as interval?

Ok now is see setTimeout(foo,0) is absulately the same as setTimeot(foo,1) by syntax by syntax/working. But semantically not the same.
0 means I don&apos;t want to wait, but I _had to_ for some reason. 1 means I _want_!
So now that&apos;s why I still want to use 1.

Am I wrong?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>414164</commentid>
    <comment_count>10</comment_count>
    <who name="Nikolas Zimmermann">zimmermann</who>
    <bug_when>2011-06-02 08:51:15 -0700</bug_when>
    <thetext>(In reply to comment #9)
&gt; First of all I think you misunderstood my sentence:
&gt; &quot;BeginElement-endElement-beginElement musn&apos;t execute in zero time, because in the current implemetation of the svg animation will loose the commands order&quot;
&gt; 
&gt; I mean the case when I would write into the js the following code:
&gt; 
&gt; animateX.beginElement();
&gt; animateX.endElement();
&gt; animateX.beginElement();
&gt; 
&gt; And _this_ code could run in zero time (faster than one tick in the JS timer), not the timeout interval 0.
Aha, yeah I misunderstoof the sentence.

&gt; --
&gt; 
&gt; &gt; So all timers are clamped to 1ms anyway. Can you explain what kind of trouble you ran into when using 0 as interval?
&gt; 
&gt; Ok now is see setTimeout(foo,0) is absulately the same as setTimeot(foo,1) by syntax by syntax/working. But semantically not the same.
&gt; 0 means I don&apos;t want to wait, but I _had to_ for some reason. 1 means I _want_!
&gt; So now that&apos;s why I still want to use 1.
&gt; 
&gt; Am I wrong?
You are not wrong, though for consistency you should use 0.
When we usually do &quot;setTimeout(doIt, 0)&quot; we want to indicate: do _one_ cycle of layout/paint/style recalaculations on the document, before calling the &quot;doIt()&quot; function.
It&apos;s basically a way to guarantee the document eg. has repainted after you did any JS operation, that might affect rendering.

That&apos;s why setTimeout(foo, 0) doesn&quot;t mean &quot;&gt; 0 means I don&apos;t want to wait, but I _had to_ .. &quot; for me but rather, do the next function call after we&apos;re sure the page has been renderered completly.

Does that make sense for you?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>416449</commentid>
    <comment_count>11</comment_count>
      <attachid>96233</attachid>
    <who name="Felician Marton">felician</who>
    <bug_when>2011-06-07 05:54:12 -0700</bug_when>
    <thetext>Created attachment 96233
Bugfix for SVG animation restarting with test

You convinced me, now is use setTimeout(foo, 0).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>416453</commentid>
    <comment_count>12</comment_count>
      <attachid>96233</attachid>
    <who name="Nikolas Zimmermann">zimmermann</who>
    <bug_when>2011-06-07 06:07:29 -0700</bug_when>
    <thetext>Comment on attachment 96233
Bugfix for SVG animation restarting with test

Looks good, r=me.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>416460</commentid>
    <comment_count>13</comment_count>
      <attachid>96233</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2011-06-07 06:32:06 -0700</bug_when>
    <thetext>Comment on attachment 96233
Bugfix for SVG animation restarting with test

Clearing flags on attachment: 96233

Committed r88234: &lt;http://trac.webkit.org/changeset/88234&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>416461</commentid>
    <comment_count>14</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2011-06-07 06:32:12 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>63395</attachid>
            <date>2010-08-03 17:27:37 -0700</date>
            <delta_ts>2010-08-03 17:27:37 -0700</delta_ts>
            <desc>SVG file with 6 test cases.</desc>
            <filename>animatebugs.svg</filename>
            <type>image/svg+xml</type>
            <size>4871</size>
            <attacher name="mg">griffin_m82</attacher>
            
              <data encoding="base64">PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+Cjwh
LS0gQ3JlYXRlZCB3aXRoIElua3NjYXBlIChodHRwOi8vd3d3Lmlua3NjYXBlLm9yZy8pIC0tPgo8
c3ZnCiAgIHhtbG5zOnN2Zz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciCiAgIHhtbG5zPSJo
dHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIKICAgdmVyc2lvbj0iMS4wIgogICB3aWR0aD0iNzUw
IgogICBoZWlnaHQ9Ijc1MCI+CgoKPHRleHQgeD0iNTAiIHk9IjI1IiA+Q2xpY2sgb24gYSBncmVl
biByZWN0YW5nbGUgdG8gc3RvcCBhbiBhbmltYXRpb24uIENsaWNrIG9uIHJlZCByZWN0YW5nbGUg
dG8gcmVzdGFydCBpdC48L3RleHQ+Cgo8IS0tICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMg
LS0+CjwhLS0gYW5pbWF0ZSAtLT4KCjwhLS0gU2hvdy9oaWRlLiAtLT4KPGcgdHJhbnNmb3JtPSJ0
cmFuc2xhdGUoNTAsNTApIj4KCTwhLS0gdGhpcyBwcm92aWRlcyB0aGUgYmFja2dyb3VuZC4gLS0+
Cgk8cmVjdCBvbmNsaWNrPSJlbmR0ZXN0KCcxJyk7IiB4PSIwIiB5PSIwIiB3aWR0aD0iOTAiIGhl
aWdodD0iOTAiIGZpbGw9ImdyZWVuIiBzdHJva2U9ImJsYWNrIiBzdHJva2Utd2lkdGg9IjUiIHJ4
PSIxMCIgcnk9IjEwIiAvPgoKCTxnIG9uY2xpY2s9ImJlZ2ludGVzdCgnMScpOyI+CgkJPHJlY3Qg
eD0iMjAiIHk9IjIwIiB3aWR0aD0iNTAiIGhlaWdodD0iNTAiIGZpbGw9InJlZCIgc3Ryb2tlPSJi
bGFjayIgc3Ryb2tlLXdpZHRoPSI1IiByeD0iMTAiIHJ5PSIxMCIgPgoJCQk8YW5pbWF0ZSBpZD0i
dGVzdDEiIGF0dHJpYnV0ZVR5cGU9IkNTUyIgYXR0cmlidXRlTmFtZT0iZGlzcGxheSIgZnJvbT0i
YmxvY2siIHRvPSJub25lIiBkdXI9IjEuMHMiIAoJCQkJCQkJcmVwZWF0Q291bnQ9ImluZGVmaW5p
dGUiIC8+Cgk8L3JlY3Q+Cgk8L2c+Cgk8dGV4dCB4PSIwIiB5PSIxMTAiID5hbmltYXRlIC0gZGlz
cGxheTwvdGV4dD4KPC9nPgoKCjwhLS0gT3BhY2l0eS4gLS0+CjxnIHRyYW5zZm9ybT0idHJhbnNs
YXRlKDI1MCw1MCkiPgoJPCEtLSB0aGlzIHByb3ZpZGVzIHRoZSBiYWNrZ3JvdW5kLiAtLT4KCTxy
ZWN0IG9uY2xpY2s9ImVuZHRlc3QoJzInKTsiIHg9IjAiIHk9IjAiIHdpZHRoPSI5MCIgaGVpZ2h0
PSI5MCIgZmlsbD0iZ3JlZW4iIHN0cm9rZT0iYmxhY2siIHN0cm9rZS13aWR0aD0iNSIgcng9IjEw
IiByeT0iMTAiIC8+CgoJPGcgb25jbGljaz0iYmVnaW50ZXN0KCcyJyk7Ij4KCQk8cmVjdCB4PSIy
MCIgeT0iMjAiIHdpZHRoPSI1MCIgaGVpZ2h0PSI1MCIgZmlsbD0icmVkIiBzdHJva2U9ImJsYWNr
IiBzdHJva2Utd2lkdGg9IjUiIHJ4PSIxMCIgcnk9IjEwIiA+CgkJCTxhbmltYXRlIGlkPSJ0ZXN0
MiIgYXR0cmlidXRlVHlwZT0iQ1NTIiBhdHRyaWJ1dGVOYW1lPSJvcGFjaXR5IiBmcm9tPSIwLjAi
IHRvPSIxLjAiIGR1cj0iMS4wcyIgCgkJCQkJCQlyZXBlYXRDb3VudD0iaW5kZWZpbml0ZSIgLz4K
CTwvcmVjdD4KCTwvZz4KCTx0ZXh0IHg9IjAiIHk9IjExMCIgPmFuaW1hdGUgLSBvcGFjaXR5PC90
ZXh0Pgo8L2c+CgoKPCEtLSAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIC0tPgo8IS0tIGFu
aW1hdGVUcmFuc2Zvcm0gLS0+CgoKPCEtLSBSb3RhdGUuIC0tPgo8ZyB0cmFuc2Zvcm09InRyYW5z
bGF0ZSg1MCwyNTApIj4KCTwhLS0gdGhpcyBwcm92aWRlcyB0aGUgYmFja2dyb3VuZC4gLS0+Cgk8
cmVjdCBvbmNsaWNrPSJlbmR0ZXN0KCczJyk7IiB4PSIwIiB5PSIwIiB3aWR0aD0iOTAiIGhlaWdo
dD0iOTAiIGZpbGw9ImdyZWVuIiBzdHJva2U9ImJsYWNrIiBzdHJva2Utd2lkdGg9IjUiIHJ4PSIx
MCIgcnk9IjEwIiAvPgoKCTxnIG9uY2xpY2s9ImJlZ2ludGVzdCgnMycpOyIgdHJhbnNmb3JtPSJ0
cmFuc2xhdGUoNDUsNDUpIj4KCQk8cmVjdCB4PSItMjUiIHk9Ii0yNSIgd2lkdGg9IjUwIiBoZWln
aHQ9IjUwIiBmaWxsPSJyZWQiIHN0cm9rZT0iYmxhY2siIHN0cm9rZS13aWR0aD0iNSIgcng9IjEw
IiByeT0iMTAiID4KCgkJCTxhbmltYXRlVHJhbnNmb3JtIGlkPSJ0ZXN0MyIgYXR0cmlidXRlTmFt
ZT0idHJhbnNmb3JtIiBhdHRyaWJ1dGVUeXBlPSJYTUwiCgkJCQkJdHlwZT0icm90YXRlIiBmcm9t
PSIwIiB0bz0iMzYwIiBkdXI9IjVzIiByZXBlYXRDb3VudD0iaW5kZWZpbml0ZSIgCgkJCQkJYWRk
aXRpdmU9InN1bSIgZmlsbD0iZnJlZXplIiBhY2N1bXVsYXRlID0gInN1bSIvPgoJPC9yZWN0PgoJ
PC9nPgoJPHRleHQgeD0iMCIgeT0iMTEwIiA+YW5pbWF0ZVRyYW5zZm9ybTwvdGV4dD4KCTx0ZXh0
IHg9IjAiIHk9IjEyNSIgPi0gcm90YXRlPC90ZXh0Pgo8L2c+CgoKCjwhLS0gU2NhbGUuIC0tPgo8
ZyB0cmFuc2Zvcm09InRyYW5zbGF0ZSgyNTAsMjUwKSI+Cgk8IS0tIHRoaXMgcHJvdmlkZXMgdGhl
IGJhY2tncm91bmQuIC0tPgoJPHJlY3Qgb25jbGljaz0iZW5kdGVzdCgnNCcpOyIgeD0iMCIgeT0i
MCIgd2lkdGg9IjkwIiBoZWlnaHQ9IjkwIiBmaWxsPSJncmVlbiIgc3Ryb2tlPSJibGFjayIgc3Ry
b2tlLXdpZHRoPSI1IiByeD0iMTAiIHJ5PSIxMCIgLz4KCgk8ZyBvbmNsaWNrPSJiZWdpbnRlc3Qo
JzQnKTsiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDQ1LDQ1KSI+CgkJPHJlY3QgeD0iLTI1IiB5PSIt
MjUiIHdpZHRoPSI1MCIgaGVpZ2h0PSI1MCIgZmlsbD0icmVkIiBzdHJva2U9ImJsYWNrIiBzdHJv
a2Utd2lkdGg9IjUiIHJ4PSIxMCIgcnk9IjEwIiA+CgoJCTxhbmltYXRlVHJhbnNmb3JtIGlkPSJ0
ZXN0NCIgYXR0cmlidXRlTmFtZT0idHJhbnNmb3JtIiBhdHRyaWJ1dGVUeXBlPSJYTUwiCgkJCQl0
eXBlPSJzY2FsZSIgZnJvbT0iMCIgdG89IjEiIGR1cj0iMXMiIHJlcGVhdENvdW50PSJpbmRlZmlu
aXRlIgoJCQkJYWRkaXRpdmU9InJlcGxhY2UiIGZpbGw9ImZyZWV6ZSIvPgoJPC9yZWN0PgoJPC9n
PgoJPHRleHQgeD0iMCIgeT0iMTEwIiA+YW5pbWF0ZVRyYW5zZm9ybTwvdGV4dD4KCTx0ZXh0IHg9
IjAiIHk9IjEyNSIgPi0gc2NhbGU8L3RleHQ+CjwvZz4KCgoKPCEtLSBUcmFuc2xhdGUuIC0tPgo8
ZyB0cmFuc2Zvcm09InRyYW5zbGF0ZSg0NTAsMjUwKSI+Cgk8IS0tIHRoaXMgcHJvdmlkZXMgdGhl
IGJhY2tncm91bmQuIC0tPgoJPHJlY3Qgb25jbGljaz0iZW5kdGVzdCgnNScpOyIgIHg9IjAiIHk9
IjAiIHdpZHRoPSI5MCIgaGVpZ2h0PSI5MCIgZmlsbD0iZ3JlZW4iIHN0cm9rZT0iYmxhY2siIHN0
cm9rZS13aWR0aD0iNSIgcng9IjEwIiByeT0iMTAiIC8+CgoJPGcgb25jbGljaz0iYmVnaW50ZXN0
KCc1Jyk7IiB0cmFuc2Zvcm09InRyYW5zbGF0ZSg0NSw0NSkiPgoJCTxyZWN0IHg9Ii0yNSIgeT0i
LTI1IiB3aWR0aD0iNTAiIGhlaWdodD0iNTAiIGZpbGw9InJlZCIgc3Ryb2tlPSJibGFjayIgc3Ry
b2tlLXdpZHRoPSI1IiByeD0iMTAiIHJ5PSIxMCIgPgoKCQk8YW5pbWF0ZVRyYW5zZm9ybSBpZD0i
dGVzdDUiIGF0dHJpYnV0ZU5hbWU9InRyYW5zZm9ybSIgYXR0cmlidXRlVHlwZT0iWE1MIgoJCQkJ
dHlwZT0idHJhbnNsYXRlIiBmcm9tPSItMjUiIHRvPSIyNSIgZHVyPSI1cyIgcmVwZWF0Q291bnQ9
ImluZGVmaW5pdGUiCgkJCQlhZGRpdGl2ZT0ic3VtIiBmaWxsPSJmcmVlemUiLz4KCTwvcmVjdD4K
CTwvZz4KCTx0ZXh0IHg9IjAiIHk9IjExMCIgPmFuaW1hdGVUcmFuc2Zvcm08L3RleHQ+Cgk8dGV4
dCB4PSIwIiB5PSIxMjUiID4tIHRyYW5zbGF0ZTwvdGV4dD4KPC9nPgoKCjwhLS0gIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyAtLT4KPCEtLSBhbmltYXRlTW90aW9uIC0tPgoKPCEtLSBNb3Rp
b24uIC0tPgo8ZyB0cmFuc2Zvcm09InRyYW5zbGF0ZSg1MCw0NTApIj4KCTwhLS0gdGhpcyBwcm92
aWRlcyB0aGUgYmFja2dyb3VuZC4gLS0+Cgk8cmVjdCBvbmNsaWNrPSJlbmR0ZXN0KCc2Jyk7IiAg
eD0iMCIgeT0iMCIgd2lkdGg9IjkwIiBoZWlnaHQ9IjkwIiBmaWxsPSJncmVlbiIgc3Ryb2tlPSJi
bGFjayIgc3Ryb2tlLXdpZHRoPSI1IiByeD0iMTAiIHJ5PSIxMCIgLz4KCgk8ZyBvbmNsaWNrPSJi
ZWdpbnRlc3QoJzYnKTsiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDQ1LDQ1KSI+CgkJPHJlY3QgeD0i
LTI1IiB5PSItMjUiIHdpZHRoPSI1MCIgaGVpZ2h0PSI1MCIgZmlsbD0icmVkIiBzdHJva2U9ImJs
YWNrIiBzdHJva2Utd2lkdGg9IjUiIHJ4PSIxMCIgcnk9IjEwIiA+CgoJCTxhbmltYXRlTW90aW9u
IGlkPSJ0ZXN0NiIgcGF0aD0iTSAtMjAgMCBMIDIwIDAiIGR1cj0iNXMiIHJlcGVhdENvdW50PSJp
bmRlZmluaXRlIiBmaWxsPSJmcmVlemUiLz4KCgk8L3JlY3Q+Cgk8L2c+Cgk8dGV4dCB4PSIwIiB5
PSIxMTAiID5hbmltYXRlTW90aW9uPC90ZXh0Pgo8L2c+CgoKCgk8c2NyaXB0IHR5cGU9InRleHQv
amF2YXNjcmlwdCI+CiAgPCFbQ0RBVEFbCgoJLy8gU3RhcnQgdGhlIHNlbGVjdGVkIGFuaW1hdGlv
bi4gCglmdW5jdGlvbiBiZWdpbnRlc3QodGVzdG51bWJlcikgewoJCXZhciBjZWxscmVmID0gZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoInRlc3QiICsgdGVzdG51bWJlcik7CgkJY2VsbHJlZi5iZWdp
bkVsZW1lbnQoKTsKCX0KCgkvLyBTdG9wIHRoZSBzZWxlY3RlZCBhbmltYXRpb24uIAoJZnVuY3Rp
b24gZW5kdGVzdCh0ZXN0bnVtYmVyKSB7CgkJdmFyIGNlbGxyZWYgPSBkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgidGVzdCIgKyB0ZXN0bnVtYmVyKTsKCQljZWxscmVmLmVuZEVsZW1lbnQoKTsKCX0K
CgldXT4KCTwvc2NyaXB0PgoKPC9zdmc+Cgo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>94602</attachid>
            <date>2011-05-24 06:30:42 -0700</date>
            <delta_ts>2011-05-27 07:22:44 -0700</delta_ts>
            <desc>Bugfix for SVG animation restarting.</desc>
            <filename>animation-restart-bugfix.patch</filename>
            <type>text/plain</type>
            <size>6827</size>
            <attacher name="Felician Marton">felician</attacher>
            
              <data encoding="base64">RnJvbSBjODRhYzI0YjFmNzk2MjhhM2JiYWU4NmMyM2U1MTQ3YWEyNjFkNzI4IE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBGZWxpY2lhbiBNYXJ0b24gPG1hcnRvbi5mZWxpY2lhbi56b2x0
YW5Ac3R1ZC51LXN6ZWdlZC5odT4KRGF0ZTogVHVlLCAyNCBNYXkgMjAxMSAxNTowOToxMiArMDIw
MApTdWJqZWN0OiBbUEFUQ0hdIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD00MzQ1MgogU1ZHIGFuaW1hdGlvbiBiZWdpbkVsZW1lbnQoKSBkb2VzIG5vdCByZXN0YXJ0IGEg
c3RvcHBlZCBhbmltYXRpb24uCgotLS0KIExheW91dFRlc3RzL0NoYW5nZUxvZyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIHwgICAxMiArKysrCiAuLi4vYW5pbWF0ZS1lbmRFbGVtZW50LWJl
Z2luRWxlbWVudC1leHBlY3RlZC50eHQgICB8ICAgMTMgKysrKwogLi4uL2FuaW1hdGUtZW5kRWxl
bWVudC1iZWdpbkVsZW1lbnQuaHRtbCAgICAgICAgICAgfCAgIDE1ICsrKysrCiAuLi4vYW5pbWF0
ZS1lbmRFbGVtZW50LWJlZ2luRWxlbWVudC5qcyAgICAgICAgICAgICB8ICAgNTkgKysrKysrKysr
KysrKysrKysrKysKIFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyAgICAgICAgICAgICAgICAgICAg
ICAgICAgIHwgICAxMiArKysrCiBTb3VyY2UvV2ViQ29yZS9zdmcvYW5pbWF0aW9uL1NWR1NNSUxF
bGVtZW50LmNwcCAgICB8ICAgIDIgKy0KIDYgZmlsZXMgY2hhbmdlZCwgMTEyIGluc2VydGlvbnMo
KyksIDEgZGVsZXRpb25zKC0pCiBjcmVhdGUgbW9kZSAxMDA2NDQgTGF5b3V0VGVzdHMvc3ZnL2Fu
aW1hdGlvbnMvYW5pbWF0ZS1lbmRFbGVtZW50LWJlZ2luRWxlbWVudC1leHBlY3RlZC50eHQKIGNy
ZWF0ZSBtb2RlIDEwMDY0NCBMYXlvdXRUZXN0cy9zdmcvYW5pbWF0aW9ucy9hbmltYXRlLWVuZEVs
ZW1lbnQtYmVnaW5FbGVtZW50Lmh0bWwKIGNyZWF0ZSBtb2RlIDEwMDY0NCBMYXlvdXRUZXN0cy9z
dmcvYW5pbWF0aW9ucy9zY3JpcHQtdGVzdHMvYW5pbWF0ZS1lbmRFbGVtZW50LWJlZ2luRWxlbWVu
dC5qcwoKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0No
YW5nZUxvZwppbmRleCA2YTQ4ZmFiLi44NmYzMjAwIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9D
aGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTUgQEAKKzIw
MTEtMDUtMjQgIEZlbGljaWFuIE1hcnRvbiAgPG1hcnRvbi5mZWxpY2lhbi56b2x0YW5Ac3R1ZC51
LXN6ZWdlZC5odT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAg
ICAgICBCdWdmaXg6IFNWRyBhbmltYXRpb24gYmVnaW5FbGVtZW50KCkgZG9lcyBub3QgcmVzdGFy
dCB0aGUgYW5pbWF0aW9uIGFmdGVyIGVuZEVsZW1lbnQoKS4KKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTQzNDUyCisKKyAgICAgICAgKiBzdmcvYW5pbWF0
aW9ucy9hbmltYXRlLWVuZEVsZW1lbnQtYmVnaW5FbGVtZW50LWV4cGVjdGVkLnR4dDogQWRkZWQu
CisgICAgICAgICogc3ZnL2FuaW1hdGlvbnMvYW5pbWF0ZS1lbmRFbGVtZW50LWJlZ2luRWxlbWVu
dC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBzdmcvYW5pbWF0aW9ucy9zY3JpcHQtdGVzdHMvYW5p
bWF0ZS1lbmRFbGVtZW50LWJlZ2luRWxlbWVudC5qczogQWRkZWQuCisgICAgICAgIEFkZGVkIHRl
c3QgZm9yIGFuaW1hdGlvbiBiZWdpbkVsZW1lbnQuIEl0IHNob3VsZCByZXN0YXJ0IHRoZSBhbmlt
YXRpb24gZXZlbiBpZiB0aGUgYW5pbWF0aW9uIGlzIHN0b3BwZWQgYnkgZW5kRWxlbWVudCgpIHBy
ZXZpb3VzbHkuCisKIDIwMTEtMDUtMjQgIEdhYm9yIExva2kgIDxsb2tpQHdlYmtpdC5vcmc+CiAK
ICAgICAgICAgUnViYmVyLXN0YW1wZWQgYnkgQ3NhYmEgT3N6dHJvZ29uw6FjLgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvc3ZnL2FuaW1hdGlvbnMvYW5pbWF0ZS1lbmRFbGVtZW50LWJlZ2luRWxl
bWVudC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9zdmcvYW5pbWF0aW9ucy9hbmltYXRlLWVu
ZEVsZW1lbnQtYmVnaW5FbGVtZW50LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwLi43Yzk3YjA1Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvc3Zn
L2FuaW1hdGlvbnMvYW5pbWF0ZS1lbmRFbGVtZW50LWJlZ2luRWxlbWVudC1leHBlY3RlZC50eHQK
QEAgLTAsMCArMSwxMyBAQAorU1ZHIDEuMSBkeW5hbWljIGFuaW1hdGlvbiB0ZXN0cworCitUZXN0
cyBhbmltYXRpb24gZW5kRWxlbWVudCBjb21tYW5kJ3MgcmVzdGFydGluZyBjYXBhYmlsaXR5Lgor
CitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBm
b2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKKworUEFTUyByZWN0LnguYW5pbVZhbC52YWx1
ZSBpcyAwCitQQVNTIHJlY3QueC5hbmltVmFsLnZhbHVlIGlzIDUwCitQQVNTIHN1Y2Nlc3NmdWxs
eVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvc3ZnL2FuaW1hdGlvbnMvYW5pbWF0ZS1lbmRFbGVtZW50LWJlZ2luRWxlbWVudC5odG1sIGIv
TGF5b3V0VGVzdHMvc3ZnL2FuaW1hdGlvbnMvYW5pbWF0ZS1lbmRFbGVtZW50LWJlZ2luRWxlbWVu
dC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjE3MTAxZDEKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9zdmcvYW5pbWF0aW9ucy9hbmltYXRlLWVuZEVsZW1l
bnQtYmVnaW5FbGVtZW50Lmh0bWwKQEAgLTAsMCArMSwxNSBAQAorPCFET0NUWVBFIEhUTUwgUFVC
TElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxsaW5rIHJlbD0i
c3R5bGVzaGVldCIgaHJlZj0iLi4vLi4vZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1zdHlsZS5j
c3MiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpz
Ij48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi9keW5hbWljLXVwZGF0ZXMvcmVzb3VyY2VzL1NW
R1Rlc3RDYXNlLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSJyZXNvdXJjZXMvU1ZHQW5pbWF0
aW9uVGVzdENhc2UuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8aDE+U1ZHIDEuMSBk
eW5hbWljIGFuaW1hdGlvbiB0ZXN0czwvaDE+Cis8cCBpZD0iZGVzY3JpcHRpb24iPjwvcD4KKzxk
aXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdCBzcmM9InNjcmlwdC10ZXN0cy9hbmltYXRl
LWVuZEVsZW1lbnQtYmVnaW5FbGVtZW50LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N2Zy9hbmltYXRpb25zL3NjcmlwdC10ZXN0cy9hbmlt
YXRlLWVuZEVsZW1lbnQtYmVnaW5FbGVtZW50LmpzIGIvTGF5b3V0VGVzdHMvc3ZnL2FuaW1hdGlv
bnMvc2NyaXB0LXRlc3RzL2FuaW1hdGUtZW5kRWxlbWVudC1iZWdpbkVsZW1lbnQuanMKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uY2YwYTQyZQotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL3N2Zy9hbmltYXRpb25zL3NjcmlwdC10ZXN0cy9hbmltYXRlLWVuZEVsZW1l
bnQtYmVnaW5FbGVtZW50LmpzCkBAIC0wLDAgKzEsNTkgQEAKK2Rlc2NyaXB0aW9uKCJUZXN0cyBh
bmltYXRpb24gZW5kRWxlbWVudCBjb21tYW5kJ3MgcmVzdGFydGluZyBjYXBhYmlsaXR5LiIpOwor
Y3JlYXRlU1ZHVGVzdENhc2UoKTsKKworLy8gU2V0dXAgdGVzdCBkb2N1bWVudAordmFyIGJ1dHRv
biA9IGNyZWF0ZVNWR0VsZW1lbnQoInJlY3QiKTsKK2J1dHRvbi5zZXRBdHRyaWJ1dGUoImlkIiwg
ImJ1dHRvbiIpOworYnV0dG9uLnNldEF0dHJpYnV0ZSgid2lkdGgiLCAiNTBweCIpOworYnV0dG9u
LnNldEF0dHJpYnV0ZSgiaGVpZ2h0IiwgIjUwcHgiKTsKK2J1dHRvbi5zZXRBdHRyaWJ1dGUoImZp
bGwiLCAib3JhbmdlIik7CisKK3ZhciByZWN0ID0gY3JlYXRlU1ZHRWxlbWVudCgicmVjdCIpOwor
cmVjdC5zZXRBdHRyaWJ1dGUoImlkIiwgInJlY3QiKTsKK3JlY3Quc2V0QXR0cmlidXRlKCJ4Iiwg
IjAiKTsKK3JlY3Quc2V0QXR0cmlidXRlKCJ5IiwgIjYwIik7CityZWN0LnNldEF0dHJpYnV0ZSgi
d2lkdGgiLCAiNTBweCIpOworcmVjdC5zZXRBdHRyaWJ1dGUoImhlaWdodCIsICI1MHB4Iik7City
ZWN0LnNldEF0dHJpYnV0ZSgiZmlsbCIsICJwaW5rIik7CisKK3ZhciBhbmltYXRlWCA9IGNyZWF0
ZVNWR0VsZW1lbnQoImFuaW1hdGUiKTsKK2FuaW1hdGVYLnNldEF0dHJpYnV0ZSgiaWQiLCAiYW5p
bWF0ZVgiKTsKK2FuaW1hdGVYLnNldEF0dHJpYnV0ZSgiYXR0cmlidXRlTmFtZSIsICJ4Iik7Cith
bmltYXRlWC5zZXRBdHRyaWJ1dGUoImZyb20iLCAiMCIpOworYW5pbWF0ZVguc2V0QXR0cmlidXRl
KCJ0byIsICIxMDAiKTsKK2FuaW1hdGVYLnNldEF0dHJpYnV0ZSgiZHVyIiwgIjJzIik7Cithbmlt
YXRlWC5zZXRBdHRyaWJ1dGUoImJlZ2luIiwgImluZGVmaW5pdGUiKTsKK2FuaW1hdGVYLnNldEF0
dHJpYnV0ZSgiZmlsbCIsICJmcmVlemUiKTsKK3JlY3QuYXBwZW5kQ2hpbGQoYW5pbWF0ZVgpOwor
cm9vdFNWR0VsZW1lbnQuYXBwZW5kQ2hpbGQoYnV0dG9uKTsKK3Jvb3RTVkdFbGVtZW50LmFwcGVu
ZENoaWxkKHJlY3QpOworCisvLyBTZXR1cCBhbmltYXRpb24gdGVzdAorZnVuY3Rpb24gc2FtcGxl
MSgpIHsKKyAgICAvLyBDaGVjayBpbml0aWFsIGNvbmRpdGlvbnMKKyAgICBzaG91bGRCZSgicmVj
dC54LmFuaW1WYWwudmFsdWUiLCAiMCIpOworCit9CisKK2Z1bmN0aW9uIHNhbXBsZTIoKSB7Cisg
ICAgLy8gQ2hlY2sgaGFsZi10aW1lIGNvbmRpdGlvbnMKKyAgICBzaG91bGRCZSgicmVjdC54LmFu
aW1WYWwudmFsdWUiLCAiNTAiKTsKK30KKworZnVuY3Rpb24gZXhlY3V0ZVRlc3QoKSB7CisgICAg
YW5pbWF0ZVguYmVnaW5FbGVtZW50KCk7CisgICAgYW5pbWF0ZVguZW5kRWxlbWVudCgpOworICAg
IGFuaW1hdGVYLmJlZ2luRWxlbWVudCgpOworICAgIGNvbnN0IGV4cGVjdGVkVmFsdWVzID0gWwor
ICAgICAgICAvLyBbYW5pbWF0aW9uSWQsIHRpbWUsIGVsZW1lbnRJZCwgc2FtcGxlQ2FsbGJhY2td
CisgICAgICAgIFsiYW5pbWF0ZVgiLCAwLjAsICJyZWN0Iiwgc2FtcGxlMV0sCisgICAgICAgIFsi
YW5pbWF0ZVgiLCAxLjAsICJyZWN0Iiwgc2FtcGxlMl0KKyAgICBdOworICAgIHJ1bkFuaW1hdGlv
blRlc3QoZXhwZWN0ZWRWYWx1ZXMpOworfQorCisvLyBCZWdpbiB0ZXN0IGFzeW5jCitidXR0b24u
c2V0QXR0cmlidXRlKCJvbmNsaWNrIiwgImV4ZWN1dGVUZXN0KCkiKTsKK3dpbmRvdy5zZXRUaW1l
b3V0KCJ0cmlnZ2VyVXBkYXRlKDUwLCA1MCkiLCAwKTsKK3ZhciBzdWNjZXNzZnVsbHlQYXJzZWQg
PSB0cnVlOworCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2Uv
V2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNjg1MjczMC4uYTBkNGRiNyAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAt
MSwzICsxLDE1IEBACisyMDExLTA1LTI0ICBGZWxpY2lhbiBNYXJ0b24gIDxtYXJ0b24uZmVsaWNp
YW4uem9sdGFuQHN0dWQudS1zemVnZWQuaHU+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZ
IChPT1BTISkuCisKKyAgICAgICAgQnVnZml4OiBTVkcgYW5pbWF0aW9uIGJlZ2luRWxlbWVudCgp
IGRvZXMgbm90IHJlc3RhcnQgdGhlIGFuaW1hdGlvbiBhZnRlciBlbmRFbGVtZW50KCkuCisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD00MzQ1MgorCisgICAg
ICAgIFRlc3Q6IHN2Zy9hbmltYXRpb25zL2FuaW1hdGUtZW5kRWxlbWVudC1iZWdpbkVsZW1lbnQu
aHRtbAorCisgICAgICAgICogc3ZnL2FuaW1hdGlvbi9TVkdTTUlMRWxlbWVudC5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpTVkdTTUlMRWxlbWVudDo6ZmluZEluc3RhbmNlVGltZSk6IGNoYW5nZWQg
dGhlIHJldHVybiB2YWx1ZSB3aGVuIHdlIHNlYXJjaCBpbiB0aGUgZW5kVGltZXMgdmVjdG9yIGFu
ZCB0aGVyZSBpcyBubyBwcm9wZXIgbWF0Y2guCisKIDIwMTEtMDQtMTMgIFN0ZXZlIEJsb2NrICA8
c3RldmVibG9ja0Bnb29nbGUuY29tPgogCiAgICAgICAgIFJldmlld2VkIGJ5IEVyaWMgU2VpZGVs
LgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvc3ZnL2FuaW1hdGlvbi9TVkdTTUlMRWxlbWVu
dC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9zdmcvYW5pbWF0aW9uL1NWR1NNSUxFbGVtZW50LmNwcApp
bmRleCBkY2E1MDY0Li41YmYzYmE2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9zdmcvYW5p
bWF0aW9uL1NWR1NNSUxFbGVtZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9zdmcvYW5pbWF0
aW9uL1NWR1NNSUxFbGVtZW50LmNwcApAQCAtNjQwLDcgKzY0MCw3IEBAIFNNSUxUaW1lIFNWR1NN
SUxFbGVtZW50OjpmaW5kSW5zdGFuY2VUaW1lKEJlZ2luT3JFbmQgYmVnaW5PckVuZCwgU01JTFRp
bWUgbWluaW11CiAgICAgICAgIH0gZWxzZSBpZiAodGltZSA+IG1pbmltdW1UaW1lKQogICAgICAg
ICAgICAgcmV0dXJuIHRpbWU7CiAgICAgfQotICAgIHJldHVybiBTTUlMVGltZTo6dW5yZXNvbHZl
ZCgpOworICAgIHJldHVybiBiZWdpbk9yRW5kID09IEJlZ2luID8gU01JTFRpbWU6OnVucmVzb2x2
ZWQoKSA6IFNNSUxUaW1lOjppbmRlZmluaXRlKCk7CiB9CiAKIFNNSUxUaW1lIFNWR1NNSUxFbGVt
ZW50OjpyZXBlYXRpbmdEdXJhdGlvbigpIGNvbnN0Ci0tIAoxLjcuMC40Cgo=
</data>
<flag name="review"
          id="87921"
          type_id="1"
          status="-"
          setter="rwlbuis"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>95170</attachid>
            <date>2011-05-27 07:22:44 -0700</date>
            <delta_ts>2011-06-02 05:12:44 -0700</delta_ts>
            <desc>Bugfix for SVG animation restarting. Updated Patch.</desc>
            <filename>0001-SVG-animation-restart-bugfix.patch</filename>
            <type>text/plain</type>
            <size>6553</size>
            <attacher name="Felician Marton">felician</attacher>
            
              <data encoding="base64">RnJvbSAzMjgxN2RkMGE5YzU5OWMwMzYyMzg2ZWI1MWQ2NWU5MTJkYzVmNDU3IE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBGZWxpY2lhbiBNYXJ0b24gPG1hcnRvbi5mZWxpY2lhbi56b2x0
YW5Ac3R1ZC51LXN6ZWdlZC5odT4KRGF0ZTogRnJpLCAyNyBNYXkgMjAxMSAxNjoxNzowNiArMDIw
MApTdWJqZWN0OiBbUEFUQ0hdIFNWRyBhbmltYXRpb24gcmVzdGFydCBidWdmaXgKCi0tLQogTGF5
b3V0VGVzdHMvQ2hhbmdlTG9nICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgIDEyICsr
KysrCiAuLi4vYW5pbWF0ZS1lbmRFbGVtZW50LWJlZ2luRWxlbWVudC1leHBlY3RlZC50eHQgICB8
ICAgMTIgKysrKysKIC4uLi9hbmltYXRlLWVuZEVsZW1lbnQtYmVnaW5FbGVtZW50Lmh0bWwgICAg
ICAgICAgIHwgICAxNSArKysrKysKIC4uLi9hbmltYXRlLWVuZEVsZW1lbnQtYmVnaW5FbGVtZW50
LmpzICAgICAgICAgICAgIHwgICA1MCArKysrKysrKysrKysrKysrKysrKwogU291cmNlL1dlYkNv
cmUvQ2hhbmdlTG9nICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgIDEyICsrKysrCiBTb3Vy
Y2UvV2ViQ29yZS9zdmcvYW5pbWF0aW9uL1NWR1NNSUxFbGVtZW50LmNwcCAgICB8ICAgIDIgKy0K
IDYgZmlsZXMgY2hhbmdlZCwgMTAyIGluc2VydGlvbnMoKyksIDEgZGVsZXRpb25zKC0pCiBjcmVh
dGUgbW9kZSAxMDA2NDQgTGF5b3V0VGVzdHMvc3ZnL2FuaW1hdGlvbnMvYW5pbWF0ZS1lbmRFbGVt
ZW50LWJlZ2luRWxlbWVudC1leHBlY3RlZC50eHQKIGNyZWF0ZSBtb2RlIDEwMDY0NCBMYXlvdXRU
ZXN0cy9zdmcvYW5pbWF0aW9ucy9hbmltYXRlLWVuZEVsZW1lbnQtYmVnaW5FbGVtZW50Lmh0bWwK
IGNyZWF0ZSBtb2RlIDEwMDY0NCBMYXlvdXRUZXN0cy9zdmcvYW5pbWF0aW9ucy9zY3JpcHQtdGVz
dHMvYW5pbWF0ZS1lbmRFbGVtZW50LWJlZ2luRWxlbWVudC5qcwoKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCA2YTQ4ZmFiLi4x
ZTA2YjFhIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVz
dHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTUgQEAKKzIwMTEtMDUtMjQgIEZlbGljaWFuIE1hcnRv
biAgPG1hcnRvbi5mZWxpY2lhbi56b2x0YW5Ac3R1ZC51LXN6ZWdlZC5odT4KKworICAgICAgICBS
ZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBCdWdmaXg6IFNWRyBhbmltYXRp
b24gYmVnaW5FbGVtZW50KCkgZG9lcyBub3QgcmVzdGFydCB0aGUgYW5pbWF0aW9uIGFmdGVyIGVu
ZEVsZW1lbnQoKS4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTQzNDUyCisgICAgICAgIEFkZGVkIHRlc3QgZm9yIGFuaW1hdGlvbiBiZWdpbkVsZW1lbnQu
IEl0IHNob3VsZCByZXN0YXJ0IHRoZSBhbmltYXRpb24gZXZlbiBpZiB0aGUgYW5pbWF0aW9uIGlz
IHN0b3BwZWQgYnkgZW5kRWxlbWVudCgpIHByZXZpb3VzbHkuCisKKyAgICAgICAgKiBzdmcvYW5p
bWF0aW9ucy9hbmltYXRlLWVuZEVsZW1lbnQtYmVnaW5FbGVtZW50LWV4cGVjdGVkLnR4dDogQWRk
ZWQuCisgICAgICAgICogc3ZnL2FuaW1hdGlvbnMvYW5pbWF0ZS1lbmRFbGVtZW50LWJlZ2luRWxl
bWVudC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBzdmcvYW5pbWF0aW9ucy9zY3JpcHQtdGVzdHMv
YW5pbWF0ZS1lbmRFbGVtZW50LWJlZ2luRWxlbWVudC5qczogQWRkZWQuCisKIDIwMTEtMDUtMjQg
IEdhYm9yIExva2kgIDxsb2tpQHdlYmtpdC5vcmc+CiAKICAgICAgICAgUnViYmVyLXN0YW1wZWQg
YnkgQ3NhYmEgT3N6dHJvZ29uw6FjLgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3ZnL2FuaW1h
dGlvbnMvYW5pbWF0ZS1lbmRFbGVtZW50LWJlZ2luRWxlbWVudC1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9zdmcvYW5pbWF0aW9ucy9hbmltYXRlLWVuZEVsZW1lbnQtYmVnaW5FbGVtZW50LWV4
cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5hODFiYWQ1Ci0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvc3ZnL2FuaW1hdGlvbnMvYW5pbWF0ZS1lbmRF
bGVtZW50LWJlZ2luRWxlbWVudC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMiBAQAorU1ZHIDEu
MSBkeW5hbWljIGFuaW1hdGlvbiB0ZXN0cworCitUZXN0cyBhbmltYXRpb24gYmVnaW5FbGVtZW50
IGNvbW1hbmQncyByZXN0YXJ0aW5nIGNhcGFiaWxpdHkuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxs
IHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBM
RVRFIi4KKworCitQQVNTIHJlY3QueC5hbmltVmFsLnZhbHVlIGlzIDUwCitQQVNTIHN1Y2Nlc3Nm
dWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvc3ZnL2FuaW1hdGlvbnMvYW5pbWF0ZS1lbmRFbGVtZW50LWJlZ2luRWxlbWVudC5odG1s
IGIvTGF5b3V0VGVzdHMvc3ZnL2FuaW1hdGlvbnMvYW5pbWF0ZS1lbmRFbGVtZW50LWJlZ2luRWxl
bWVudC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjE3MTAxZDEKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9zdmcvYW5pbWF0aW9ucy9hbmltYXRlLWVuZEVs
ZW1lbnQtYmVnaW5FbGVtZW50Lmh0bWwKQEAgLTAsMCArMSwxNSBAQAorPCFET0NUWVBFIEhUTUwg
UFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxsaW5rIHJl
bD0ic3R5bGVzaGVldCIgaHJlZj0iLi4vLi4vZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1zdHls
ZS5jc3MiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRlc3QtcHJl
LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi9keW5hbWljLXVwZGF0ZXMvcmVzb3VyY2Vz
L1NWR1Rlc3RDYXNlLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSJyZXNvdXJjZXMvU1ZHQW5p
bWF0aW9uVGVzdENhc2UuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8aDE+U1ZHIDEu
MSBkeW5hbWljIGFuaW1hdGlvbiB0ZXN0czwvaDE+Cis8cCBpZD0iZGVzY3JpcHRpb24iPjwvcD4K
KzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdCBzcmM9InNjcmlwdC10ZXN0cy9hbmlt
YXRlLWVuZEVsZW1lbnQtYmVnaW5FbGVtZW50LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRt
bD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N2Zy9hbmltYXRpb25zL3NjcmlwdC10ZXN0cy9h
bmltYXRlLWVuZEVsZW1lbnQtYmVnaW5FbGVtZW50LmpzIGIvTGF5b3V0VGVzdHMvc3ZnL2FuaW1h
dGlvbnMvc2NyaXB0LXRlc3RzL2FuaW1hdGUtZW5kRWxlbWVudC1iZWdpbkVsZW1lbnQuanMKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZmQ2ZmM1NgotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL3N2Zy9hbmltYXRpb25zL3NjcmlwdC10ZXN0cy9hbmltYXRlLWVuZEVs
ZW1lbnQtYmVnaW5FbGVtZW50LmpzCkBAIC0wLDAgKzEsNTAgQEAKK2Rlc2NyaXB0aW9uKCJUZXN0
cyBhbmltYXRpb24gYmVnaW5FbGVtZW50IGNvbW1hbmQncyByZXN0YXJ0aW5nIGNhcGFiaWxpdHku
Iik7CitjcmVhdGVTVkdUZXN0Q2FzZSgpOworCisvLyBTZXR1cCB0ZXN0IGRvY3VtZW50CisKK3Zh
ciByZWN0ID0gY3JlYXRlU1ZHRWxlbWVudCgicmVjdCIpOworcmVjdC5zZXRBdHRyaWJ1dGUoImlk
IiwgInJlY3QiKTsKK3JlY3Quc2V0QXR0cmlidXRlKCJ3aWR0aCIsICI1MHB4Iik7CityZWN0LnNl
dEF0dHJpYnV0ZSgiaGVpZ2h0IiwgIjUwcHgiKTsKK3JlY3Quc2V0QXR0cmlidXRlKCJmaWxsIiwg
InBpbmsiKTsKKwordmFyIGFuaW1hdGVYID0gY3JlYXRlU1ZHRWxlbWVudCgiYW5pbWF0ZSIpOwor
YW5pbWF0ZVguc2V0QXR0cmlidXRlKCJpZCIsICJhbmltYXRlWCIpOworYW5pbWF0ZVguc2V0QXR0
cmlidXRlKCJhdHRyaWJ1dGVOYW1lIiwgIngiKTsKK2FuaW1hdGVYLnNldEF0dHJpYnV0ZSgiZnJv
bSIsICIwIik7CithbmltYXRlWC5zZXRBdHRyaWJ1dGUoInRvIiwgIjEwMCIpOworYW5pbWF0ZVgu
c2V0QXR0cmlidXRlKCJkdXIiLCAiMnMiKTsKK2FuaW1hdGVYLnNldEF0dHJpYnV0ZSgiYmVnaW4i
LCAiaW5kZWZpbml0ZSIpOworYW5pbWF0ZVguc2V0QXR0cmlidXRlKCJmaWxsIiwgImZyZWV6ZSIp
OworcmVjdC5hcHBlbmRDaGlsZChhbmltYXRlWCk7Cityb290U1ZHRWxlbWVudC5hcHBlbmRDaGls
ZChyZWN0KTsKKworLy8gU2V0dXAgYW5pbWF0aW9uIHRlc3QKKworZnVuY3Rpb24gc2FtcGxlMSgp
IHsKKyAgICAvLyBDaGVjayBoYWxmLXRpbWUgY29uZGl0aW9ucworICAgIHNob3VsZEJlKCJyZWN0
LnguYW5pbVZhbC52YWx1ZSIsICI1MCIpOworfQorCitmdW5jdGlvbiBjaGVja1Bvc2l0aW9uKCkg
eworICAgIGNvbnN0IGV4cGVjdGVkVmFsdWVzID0gWworICAgICAgICAvLyBbYW5pbWF0aW9uSWQs
IHRpbWUsIGVsZW1lbnRJZCwgc2FtcGxlQ2FsbGJhY2tdCisgICAgICAgIFsiYW5pbWF0ZVgiLCAx
LjAsICJyZWN0Iiwgc2FtcGxlMV0KKyAgICBdOworICAgIHJ1bkFuaW1hdGlvblRlc3QoZXhwZWN0
ZWRWYWx1ZXMpOworfQorCitmdW5jdGlvbiBleGVjdXRlVGVzdCgpIHsKKyAgICAvL1RpbWVvdXQg
bmVlZGVkLCBiZWNhdXNlIHRlIFNWRyBhbmltYXRpb24gbWVjaGFuaXNtIGlzIGZ1bGx5IHRpbWUg
YmFzZWQuCisgICAgLy9JZiBhbmltYXRpb24gYWN0aW9ucyBwZXJmb3JtZWQgaW4gYSB2ZXJ5IHNo
b3J0IHRpbWUsIHRoZSBhY3Rpb25zIHdpbGwgbm90IGJlaGF2ZSBhcyBleHBlY3RlZC4KKyAgICBz
ZXRUaW1lb3V0KCJhbmltYXRlWC5iZWdpbkVsZW1lbnQoKSIsMzApOworICAgIHNldFRpbWVvdXQo
ImFuaW1hdGVYLmVuZEVsZW1lbnQoKSIsNjApOworICAgIHNldFRpbWVvdXQoImFuaW1hdGVYLmJl
Z2luRWxlbWVudCgpLCBjaGVja1Bvc2l0aW9uKCkiLDkwKTsKK30KKworLy8gQmVnaW4gdGVzdCBh
c3luYworcmVjdC5zZXRBdHRyaWJ1dGUoIm9uY2xpY2siLCAiZXhlY3V0ZVRlc3QoKSIpOword2lu
ZG93LnNldFRpbWVvdXQoInRyaWdnZXJVcGRhdGUoNTAsIDUwKSIsIDApOwordmFyIHN1Y2Nlc3Nm
dWxseVBhcnNlZCA9IHRydWU7CisKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxv
ZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCA2ODUyNzMwLi4zYzIzZTMzIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMTUgQEAKKzIwMTEtMDUtMjQgIEZlbGljaWFuIE1hcnRvbiAgPG1h
cnRvbi5mZWxpY2lhbi56b2x0YW5Ac3R1ZC51LXN6ZWdlZC5odT4KKworICAgICAgICBSZXZpZXdl
ZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBCdWdmaXg6IFNWRyBhbmltYXRpb24gYmVn
aW5FbGVtZW50KCkgZG9lcyBub3QgcmVzdGFydCB0aGUgYW5pbWF0aW9uIGFmdGVyIGVuZEVsZW1l
bnQoKS4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTQz
NDUyCisKKyAgICAgICAgVGVzdDogc3ZnL2FuaW1hdGlvbnMvYW5pbWF0ZS1lbmRFbGVtZW50LWJl
Z2luRWxlbWVudC5odG1sCisKKyAgICAgICAgKiBzdmcvYW5pbWF0aW9uL1NWR1NNSUxFbGVtZW50
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNWR1NNSUxFbGVtZW50OjpmaW5kSW5zdGFuY2VUaW1l
KTogQ2hhbmdlZCB0aGUgcmV0dXJuIHZhbHVlIHdoZW4gd2Ugc2VhcmNoIGluIHRoZSBlbmRUaW1l
cyB2ZWN0b3IgYW5kIHRoZXJlIGlzIG5vIHByb3BlciBtYXRjaC4KKwogMjAxMS0wNC0xMyAgU3Rl
dmUgQmxvY2sgIDxzdGV2ZWJsb2NrQGdvb2dsZS5jb20+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkg
RXJpYyBTZWlkZWwuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9zdmcvYW5pbWF0aW9uL1NW
R1NNSUxFbGVtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9hbmltYXRpb24vU1ZHU01JTEVs
ZW1lbnQuY3BwCmluZGV4IGRjYTUwNjQuLjViZjNiYTYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3N2Zy9hbmltYXRpb24vU1ZHU01JTEVsZW1lbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3N2Zy9hbmltYXRpb24vU1ZHU01JTEVsZW1lbnQuY3BwCkBAIC02NDAsNyArNjQwLDcgQEAgU01J
TFRpbWUgU1ZHU01JTEVsZW1lbnQ6OmZpbmRJbnN0YW5jZVRpbWUoQmVnaW5PckVuZCBiZWdpbk9y
RW5kLCBTTUlMVGltZSBtaW5pbXUKICAgICAgICAgfSBlbHNlIGlmICh0aW1lID4gbWluaW11bVRp
bWUpCiAgICAgICAgICAgICByZXR1cm4gdGltZTsKICAgICB9Ci0gICAgcmV0dXJuIFNNSUxUaW1l
Ojp1bnJlc29sdmVkKCk7CisgICAgcmV0dXJuIGJlZ2luT3JFbmQgPT0gQmVnaW4gPyBTTUlMVGlt
ZTo6dW5yZXNvbHZlZCgpIDogU01JTFRpbWU6OmluZGVmaW5pdGUoKTsKIH0KIAogU01JTFRpbWUg
U1ZHU01JTEVsZW1lbnQ6OnJlcGVhdGluZ0R1cmF0aW9uKCkgY29uc3QKLS0gCjEuNy4wLjQKCg==
</data>
<flag name="review"
          id="88608"
          type_id="1"
          status="-"
          setter="zimmermann"
    />
    <flag name="commit-queue"
          id="88609"
          type_id="3"
          status="-"
          setter="zimmermann"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>95751</attachid>
            <date>2011-06-02 05:12:44 -0700</date>
            <delta_ts>2011-06-07 05:54:12 -0700</delta_ts>
            <desc>Bugfix for SVG animation restarting with test</desc>
            <filename>0002-SVG-animation-restart-bugfix.patch</filename>
            <type>text/plain</type>
            <size>6776</size>
            <attacher name="Felician Marton">felician</attacher>
            
              <data encoding="base64">RnJvbSA0NWYxY2U2NmEyMmJiMjZkMzQ3M2VlNTk4YmRkOGI5ZTU4YzM5ZjEyIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBGZWxpY2lhbiBNYXJ0b24gPG1hcnRvbi5mZWxpY2lhbi56b2x0
YW5Ac3R1ZC51LXN6ZWdlZC5odT4KRGF0ZTogVGh1LCAyIEp1biAyMDExIDE0OjA2OjQ2ICswMjAw
ClN1YmplY3Q6IFtQQVRDSF0gU1ZHIGFuaW1hdGlvbiBiZWdpbkVsZW1lbnQoKSBkb2VzIG5vdCBy
ZXN0YXJ0IGEgc3RvcHBlZCBhbmltYXRpb24uCgotLS0KIExheW91dFRlc3RzL0NoYW5nZUxvZyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgICAxMyArKysrCiAuLi4vYW5pbWF0ZS1lbmRF
bGVtZW50LWJlZ2luRWxlbWVudC1leHBlY3RlZC50eHQgICB8ICAgMTIgKysrKwogLi4uL2FuaW1h
dGUtZW5kRWxlbWVudC1iZWdpbkVsZW1lbnQuaHRtbCAgICAgICAgICAgfCAgIDE1ICsrKysrCiAu
Li4vYW5pbWF0ZS1lbmRFbGVtZW50LWJlZ2luRWxlbWVudC5qcyAgICAgICAgICAgICB8ICAgNTkg
KysrKysrKysrKysrKysrKysrKysKIFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyAgICAgICAgICAg
ICAgICAgICAgICAgICAgIHwgICAxNSArKysrKwogU291cmNlL1dlYkNvcmUvc3ZnL2FuaW1hdGlv
bi9TVkdTTUlMRWxlbWVudC5jcHAgICAgfCAgICAyICstCiA2IGZpbGVzIGNoYW5nZWQsIDExNSBp
bnNlcnRpb25zKCspLCAxIGRlbGV0aW9ucygtKQogY3JlYXRlIG1vZGUgMTAwNjQ0IExheW91dFRl
c3RzL3N2Zy9hbmltYXRpb25zL2FuaW1hdGUtZW5kRWxlbWVudC1iZWdpbkVsZW1lbnQtZXhwZWN0
ZWQudHh0CiBjcmVhdGUgbW9kZSAxMDA2NDQgTGF5b3V0VGVzdHMvc3ZnL2FuaW1hdGlvbnMvYW5p
bWF0ZS1lbmRFbGVtZW50LWJlZ2luRWxlbWVudC5odG1sCiBjcmVhdGUgbW9kZSAxMDA2NDQgTGF5
b3V0VGVzdHMvc3ZnL2FuaW1hdGlvbnMvc2NyaXB0LXRlc3RzL2FuaW1hdGUtZW5kRWxlbWVudC1i
ZWdpbkVsZW1lbnQuanMKCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlv
dXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggYTUzZmYyMC4uYTg0NDI2OSAxMDA2NDQKLS0tIGEvTGF5
b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsx
LDE2IEBACisyMDExLTA2LTAxICBGZWxpY2lhbiBNYXJ0b24gIDxtYXJ0b24uZmVsaWNpYW4uem9s
dGFuQHN0dWQudS1zemVnZWQuaHU+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BT
ISkuCisKKyAgICAgICAgU1ZHIGFuaW1hdGlvbiBiZWdpbkVsZW1lbnQoKSBkb2VzIG5vdCByZXN0
YXJ0IHRoZSBhbmltYXRpb24gYWZ0ZXIgZW5kRWxlbWVudCgpLgorICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NDM0NTIKKworICAgICAgICBBZGRlZCB0ZXN0
IGZvciBhbmltYXRpb24gYmVnaW5FbGVtZW50LiBJdCBzaG91bGQgcmVzdGFydCB0aGUgYW5pbWF0
aW9uIGV2ZW4gaWYgdGhlIGFuaW1hdGlvbiBpcyBzdG9wcGVkIGJ5IGVuZEVsZW1lbnQoKSBwcmV2
aW91c2x5LgorCisgICAgICAgICogc3ZnL2FuaW1hdGlvbnMvYW5pbWF0ZS1lbmRFbGVtZW50LWJl
Z2luRWxlbWVudC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHN2Zy9hbmltYXRpb25z
L2FuaW1hdGUtZW5kRWxlbWVudC1iZWdpbkVsZW1lbnQuaHRtbDogQWRkZWQuCisgICAgICAgICog
c3ZnL2FuaW1hdGlvbnMvc2NyaXB0LXRlc3RzL2FuaW1hdGUtZW5kRWxlbWVudC1iZWdpbkVsZW1l
bnQuanM6IEFkZGVkLgorCiAyMDExLTA1LTMwICBNaWtoYWlsIE5hZ2Fub3YgIDxtbmFnYW5vdkBj
aHJvbWl1bS5vcmc+CiAKICAgICAgICAgVW5yZXZpZXdlZC4KZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL3N2Zy9hbmltYXRpb25zL2FuaW1hdGUtZW5kRWxlbWVudC1iZWdpbkVsZW1lbnQtZXhwZWN0
ZWQudHh0IGIvTGF5b3V0VGVzdHMvc3ZnL2FuaW1hdGlvbnMvYW5pbWF0ZS1lbmRFbGVtZW50LWJl
Z2luRWxlbWVudC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MC4uOGFlMWMxNgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3N2Zy9hbmltYXRpb25z
L2FuaW1hdGUtZW5kRWxlbWVudC1iZWdpbkVsZW1lbnQtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEs
MTIgQEAKK1NWRyAxLjEgZHluYW1pYyBhbmltYXRpb24gdGVzdHMKKworVGVzdHMgYW5pbWF0aW9u
IGJlZ2luRWxlbWVudCBjb21tYW5kJ3MgcmVzdGFydGluZyBjYXBhYmlsaXR5IGFmdGVyIGVuZEVs
ZW1lbnQuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVz
c2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworCitQQVNTIHJlY3QueC5hbmlt
VmFsLnZhbHVlIGlzIDUwCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1Qg
Q09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3ZnL2FuaW1hdGlvbnMvYW5pbWF0
ZS1lbmRFbGVtZW50LWJlZ2luRWxlbWVudC5odG1sIGIvTGF5b3V0VGVzdHMvc3ZnL2FuaW1hdGlv
bnMvYW5pbWF0ZS1lbmRFbGVtZW50LWJlZ2luRWxlbWVudC5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAuLjE3MTAxZDEKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9zdmcvYW5pbWF0aW9ucy9hbmltYXRlLWVuZEVsZW1lbnQtYmVnaW5FbGVtZW50Lmh0bWwKQEAg
LTAsMCArMSwxNSBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8v
RU4iPgorPGh0bWw+Cis8aGVhZD4KKzxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iLi4vLi4v
ZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1zdHlsZS5jc3MiPgorPHNjcmlwdCBzcmM9Ii4uLy4u
L2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3Jj
PSIuLi9keW5hbWljLXVwZGF0ZXMvcmVzb3VyY2VzL1NWR1Rlc3RDYXNlLmpzIj48L3NjcmlwdD4K
KzxzY3JpcHQgc3JjPSJyZXNvdXJjZXMvU1ZHQW5pbWF0aW9uVGVzdENhc2UuanMiPjwvc2NyaXB0
PgorPC9oZWFkPgorPGJvZHk+Cis8aDE+U1ZHIDEuMSBkeW5hbWljIGFuaW1hdGlvbiB0ZXN0czwv
aDE+Cis8cCBpZD0iZGVzY3JpcHRpb24iPjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2Pgor
PHNjcmlwdCBzcmM9InNjcmlwdC10ZXN0cy9hbmltYXRlLWVuZEVsZW1lbnQtYmVnaW5FbGVtZW50
LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L3N2Zy9hbmltYXRpb25zL3NjcmlwdC10ZXN0cy9hbmltYXRlLWVuZEVsZW1lbnQtYmVnaW5FbGVt
ZW50LmpzIGIvTGF5b3V0VGVzdHMvc3ZnL2FuaW1hdGlvbnMvc2NyaXB0LXRlc3RzL2FuaW1hdGUt
ZW5kRWxlbWVudC1iZWdpbkVsZW1lbnQuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMC4uNTdmODA2NgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3N2Zy9hbmltYXRp
b25zL3NjcmlwdC10ZXN0cy9hbmltYXRlLWVuZEVsZW1lbnQtYmVnaW5FbGVtZW50LmpzCkBAIC0w
LDAgKzEsNTkgQEAKK2Rlc2NyaXB0aW9uKCJUZXN0cyBhbmltYXRpb24gYmVnaW5FbGVtZW50IGNv
bW1hbmQncyByZXN0YXJ0aW5nIGNhcGFiaWxpdHkgYWZ0ZXIgZW5kRWxlbWVudC4iKTsKK2NyZWF0
ZVNWR1Rlc3RDYXNlKCk7CisKKy8vIFNldHVwIHRlc3QgZG9jdW1lbnQKKwordmFyIHJlY3QgPSBj
cmVhdGVTVkdFbGVtZW50KCJyZWN0Iik7CityZWN0LnNldEF0dHJpYnV0ZSgiaWQiLCAicmVjdCIp
OworcmVjdC5zZXRBdHRyaWJ1dGUoIndpZHRoIiwgIjUwcHgiKTsKK3JlY3Quc2V0QXR0cmlidXRl
KCJoZWlnaHQiLCAiNTBweCIpOworcmVjdC5zZXRBdHRyaWJ1dGUoImZpbGwiLCAiZ3JlZW4iKTsK
KwordmFyIGFuaW1hdGVYID0gY3JlYXRlU1ZHRWxlbWVudCgiYW5pbWF0ZSIpOworYW5pbWF0ZVgu
c2V0QXR0cmlidXRlKCJpZCIsICJhbmltYXRlWCIpOworYW5pbWF0ZVguc2V0QXR0cmlidXRlKCJh
dHRyaWJ1dGVOYW1lIiwgIngiKTsKK2FuaW1hdGVYLnNldEF0dHJpYnV0ZSgiZnJvbSIsICIwIik7
CithbmltYXRlWC5zZXRBdHRyaWJ1dGUoInRvIiwgIjEwMCIpOworYW5pbWF0ZVguc2V0QXR0cmli
dXRlKCJkdXIiLCAiMnMiKTsKK2FuaW1hdGVYLnNldEF0dHJpYnV0ZSgiYmVnaW4iLCAiaW5kZWZp
bml0ZSIpOworYW5pbWF0ZVguc2V0QXR0cmlidXRlKCJmaWxsIiwgImZyZWV6ZSIpOworcmVjdC5h
cHBlbmRDaGlsZChhbmltYXRlWCk7Cityb290U1ZHRWxlbWVudC5hcHBlbmRDaGlsZChyZWN0KTsK
KworLy8gU2V0dXAgYW5pbWF0aW9uIHRlc3QKKworZnVuY3Rpb24gc2FtcGxlMSgpIHsKKyAgICAv
LyBDaGVjayBoYWxmLXRpbWUgY29uZGl0aW9ucworICAgIHNob3VsZEJlKCJyZWN0LnguYW5pbVZh
bC52YWx1ZSIsICI1MCIpOworfQorCitmdW5jdGlvbiBzdGFydFJlc3RhcnQoKSB7CisgICAgYW5p
bWF0ZVguYmVnaW5FbGVtZW50KCk7CisgICAgc2V0VGltZW91dChlbmQsMSk7Cit9CisKK2Z1bmN0
aW9uIGVuZCgpIHsKKyAgICBhbmltYXRlWC5lbmRFbGVtZW50KCk7CisgICAgc2V0VGltZW91dChi
ZWdpbjIsMSk7Cit9CisKK2Z1bmN0aW9uIGJlZ2luMigpIHsKKyAgICBhbmltYXRlWC5iZWdpbkVs
ZW1lbnQoKTsgICAgICAKKyAgICBjb25zdCBleHBlY3RlZFZhbHVlcyA9IFsKKyAgICAgICAgLy8g
W2FuaW1hdGlvbklkLCB0aW1lLCBlbGVtZW50SWQsIHNhbXBsZUNhbGxiYWNrXQorICAgICAgICBb
ImFuaW1hdGVYIiwgMS4wLCAicmVjdCIsIHNhbXBsZTFdCisgICAgXTsKKyAgICBydW5BbmltYXRp
b25UZXN0KGV4cGVjdGVkVmFsdWVzKTsKK30KKworZnVuY3Rpb24gZXhlY3V0ZVRlc3QoKSB7Cisg
ICAgLy9CZWdpbkVsZW1lbnQtZW5kRWxlbWVudC1iZWdpbkVsZW1lbnQgbXVzbid0IGV4ZWN1dGUg
aW4gemVybyB0aW1lLCBiZWNhdXNlIGluIHRoZSBjdXJyZW50CisgICAgLy9pbXBsZW1ldGF0aW9u
IG9mIHRoZSBzdmcgYW5pbWF0aW9uIHdpbGwgbG9vc2UgdGhlIGNvbW1hbmRzIG9yZGVyIQorICAg
IHN0YXJ0UmVzdGFydCgpOyAgICAgICAgCit9CisKKy8vIEJlZ2luIHRlc3QgYXN5bmMKK3JlY3Qu
c2V0QXR0cmlidXRlKCJvbmNsaWNrIiwgImV4ZWN1dGVUZXN0KCkiKTsKK3dpbmRvdy5zZXRUaW1l
b3V0KCJ0cmlnZ2VyVXBkYXRlKDUwLCA1MCkiLCAwKTsKK3ZhciBzdWNjZXNzZnVsbHlQYXJzZWQg
PSB0cnVlOworCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2Uv
V2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggY2I1OTI1YS4uYTlmYTM4ZiAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAt
MSwzICsxLDE4IEBACisyMDExLTA2LTAxICBGZWxpY2lhbiBNYXJ0b24gIDxtYXJ0b24uZmVsaWNp
YW4uem9sdGFuQHN0dWQudS1zemVnZWQuaHU+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZ
IChPT1BTISkuCisKKyAgICAgICAgU1ZHIGFuaW1hdGlvbiBiZWdpbkVsZW1lbnQoKSBkb2VzIG5v
dCByZXN0YXJ0IHRoZSBhbmltYXRpb24gYWZ0ZXIgZW5kRWxlbWVudCgpLgorICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NDM0NTIKKworICAgICAgICBUZXN0
OiBzdmcvYW5pbWF0aW9ucy9hbmltYXRlLWVuZEVsZW1lbnQtYmVnaW5FbGVtZW50Lmh0bWwKKwor
ICAgICAgICBDYWxsaW5nIGJlZ2luRWxlbWVudCgpIGFmdGVyIGNhbGxpbmcgZW5kRWxlbWVudCgp
IHByZXZpb3VzbHkgZG9lcyBub3QgcmVzdGFydGVkIHRoZSBhbmltYXRpb24gd2hlbiBhbmltYXRp
b24KKyAgICAgICAgZWxlbWVudCdzIGVuZCBhdHRyaWJ1dGUgZG9lc24ndCBjb250YWlucyBhIGJp
Z2dlciB2YWx1ZSB0aGFuIHRoZSBjdXJyZW50IGFuaW1hdGlvbiB0aW1lLgorCisgICAgICAgICog
c3ZnL2FuaW1hdGlvbi9TVkdTTUlMRWxlbWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTVkdT
TUlMRWxlbWVudDo6ZmluZEluc3RhbmNlVGltZSk6CisKIDIwMTEtMDUtMzAgIEFuZHJleSBLb3N5
YWtvdiAgPGNhc2VxQGNocm9taXVtLm9yZz4KIAogICAgICAgICBSZXZpZXdlZCBieSBQYXZlbCBG
ZWxkbWFuLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvc3ZnL2FuaW1hdGlvbi9TVkdTTUlM
RWxlbWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9zdmcvYW5pbWF0aW9uL1NWR1NNSUxFbGVtZW50
LmNwcAppbmRleCBiY2M4YmJiLi42YjdmNmI4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9z
dmcvYW5pbWF0aW9uL1NWR1NNSUxFbGVtZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9zdmcv
YW5pbWF0aW9uL1NWR1NNSUxFbGVtZW50LmNwcApAQCAtNjM0LDcgKzYzNCw3IEBAIFNNSUxUaW1l
IFNWR1NNSUxFbGVtZW50OjpmaW5kSW5zdGFuY2VUaW1lKEJlZ2luT3JFbmQgYmVnaW5PckVuZCwg
U01JTFRpbWUgbWluaW11CiAgICAgICAgIH0gZWxzZSBpZiAodGltZSA+IG1pbmltdW1UaW1lKQog
ICAgICAgICAgICAgcmV0dXJuIHRpbWU7CiAgICAgfQotICAgIHJldHVybiBTTUlMVGltZTo6dW5y
ZXNvbHZlZCgpOworICAgIHJldHVybiBiZWdpbk9yRW5kID09IEJlZ2luID8gU01JTFRpbWU6OnVu
cmVzb2x2ZWQoKSA6IFNNSUxUaW1lOjppbmRlZmluaXRlKCk7CiB9CiAKIFNNSUxUaW1lIFNWR1NN
SUxFbGVtZW50OjpyZXBlYXRpbmdEdXJhdGlvbigpIGNvbnN0Ci0tIAoxLjcuMC40Cgo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>96233</attachid>
            <date>2011-06-07 05:54:12 -0700</date>
            <delta_ts>2011-06-07 06:32:06 -0700</delta_ts>
            <desc>Bugfix for SVG animation restarting with test</desc>
            <filename>0001-SVG-animation-beginElement-does-not-restart-a-stoppe.patch</filename>
            <type>text/plain</type>
            <size>6774</size>
            <attacher name="Felician Marton">felician</attacher>
            
              <data encoding="base64">RnJvbSA1Zjk2Y2FkMTczOGI4Yzg5OTk3ZTZjNDhjYzlmNzAwYmFiNzRlNzQwIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBGZWxpY2lhbiBNYXJ0b24gPG1hcnRvbi5mZWxpY2lhbi56b2x0
YW5Ac3R1ZC51LXN6ZWdlZC5odT4KRGF0ZTogVHVlLCA3IEp1biAyMDExIDE0OjQyOjE5ICswMjAw
ClN1YmplY3Q6IFtQQVRDSF0gU1ZHIGFuaW1hdGlvbiBiZWdpbkVsZW1lbnQoKSBkb2VzIG5vdCBy
ZXN0YXJ0IGEgc3RvcHBlZCBhbmltYXRpb24uCgotLS0KIExheW91dFRlc3RzL0NoYW5nZUxvZyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgICAxMyArKysrCiAuLi4vYW5pbWF0ZS1lbmRF
bGVtZW50LWJlZ2luRWxlbWVudC1leHBlY3RlZC50eHQgICB8ICAgMTIgKysrKwogLi4uL2FuaW1h
dGUtZW5kRWxlbWVudC1iZWdpbkVsZW1lbnQuaHRtbCAgICAgICAgICAgfCAgIDE1ICsrKysrCiAu
Li4vYW5pbWF0ZS1lbmRFbGVtZW50LWJlZ2luRWxlbWVudC5qcyAgICAgICAgICAgICB8ICAgNTkg
KysrKysrKysrKysrKysrKysrKysKIFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyAgICAgICAgICAg
ICAgICAgICAgICAgICAgIHwgICAxNSArKysrKwogU291cmNlL1dlYkNvcmUvc3ZnL2FuaW1hdGlv
bi9TVkdTTUlMRWxlbWVudC5jcHAgICAgfCAgICAyICstCiA2IGZpbGVzIGNoYW5nZWQsIDExNSBp
bnNlcnRpb25zKCspLCAxIGRlbGV0aW9ucygtKQogY3JlYXRlIG1vZGUgMTAwNjQ0IExheW91dFRl
c3RzL3N2Zy9hbmltYXRpb25zL2FuaW1hdGUtZW5kRWxlbWVudC1iZWdpbkVsZW1lbnQtZXhwZWN0
ZWQudHh0CiBjcmVhdGUgbW9kZSAxMDA2NDQgTGF5b3V0VGVzdHMvc3ZnL2FuaW1hdGlvbnMvYW5p
bWF0ZS1lbmRFbGVtZW50LWJlZ2luRWxlbWVudC5odG1sCiBjcmVhdGUgbW9kZSAxMDA2NDQgTGF5
b3V0VGVzdHMvc3ZnL2FuaW1hdGlvbnMvc2NyaXB0LXRlc3RzL2FuaW1hdGUtZW5kRWxlbWVudC1i
ZWdpbkVsZW1lbnQuanMKCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlv
dXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggYTUzZmYyMC4uYTg0NDI2OSAxMDA2NDQKLS0tIGEvTGF5
b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsx
LDE2IEBACisyMDExLTA2LTAxICBGZWxpY2lhbiBNYXJ0b24gIDxtYXJ0b24uZmVsaWNpYW4uem9s
dGFuQHN0dWQudS1zemVnZWQuaHU+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BT
ISkuCisKKyAgICAgICAgU1ZHIGFuaW1hdGlvbiBiZWdpbkVsZW1lbnQoKSBkb2VzIG5vdCByZXN0
YXJ0IHRoZSBhbmltYXRpb24gYWZ0ZXIgZW5kRWxlbWVudCgpLgorICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NDM0NTIKKworICAgICAgICBBZGRlZCB0ZXN0
IGZvciBhbmltYXRpb24gYmVnaW5FbGVtZW50LiBJdCBzaG91bGQgcmVzdGFydCB0aGUgYW5pbWF0
aW9uIGV2ZW4gaWYgdGhlIGFuaW1hdGlvbiBpcyBzdG9wcGVkIGJ5IGVuZEVsZW1lbnQoKSBwcmV2
aW91c2x5LgorCisgICAgICAgICogc3ZnL2FuaW1hdGlvbnMvYW5pbWF0ZS1lbmRFbGVtZW50LWJl
Z2luRWxlbWVudC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHN2Zy9hbmltYXRpb25z
L2FuaW1hdGUtZW5kRWxlbWVudC1iZWdpbkVsZW1lbnQuaHRtbDogQWRkZWQuCisgICAgICAgICog
c3ZnL2FuaW1hdGlvbnMvc2NyaXB0LXRlc3RzL2FuaW1hdGUtZW5kRWxlbWVudC1iZWdpbkVsZW1l
bnQuanM6IEFkZGVkLgorCiAyMDExLTA1LTMwICBNaWtoYWlsIE5hZ2Fub3YgIDxtbmFnYW5vdkBj
aHJvbWl1bS5vcmc+CiAKICAgICAgICAgVW5yZXZpZXdlZC4KZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL3N2Zy9hbmltYXRpb25zL2FuaW1hdGUtZW5kRWxlbWVudC1iZWdpbkVsZW1lbnQtZXhwZWN0
ZWQudHh0IGIvTGF5b3V0VGVzdHMvc3ZnL2FuaW1hdGlvbnMvYW5pbWF0ZS1lbmRFbGVtZW50LWJl
Z2luRWxlbWVudC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MC4uOGFlMWMxNgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3N2Zy9hbmltYXRpb25z
L2FuaW1hdGUtZW5kRWxlbWVudC1iZWdpbkVsZW1lbnQtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEs
MTIgQEAKK1NWRyAxLjEgZHluYW1pYyBhbmltYXRpb24gdGVzdHMKKworVGVzdHMgYW5pbWF0aW9u
IGJlZ2luRWxlbWVudCBjb21tYW5kJ3MgcmVzdGFydGluZyBjYXBhYmlsaXR5IGFmdGVyIGVuZEVs
ZW1lbnQuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVz
c2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworCitQQVNTIHJlY3QueC5hbmlt
VmFsLnZhbHVlIGlzIDUwCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1Qg
Q09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3ZnL2FuaW1hdGlvbnMvYW5pbWF0
ZS1lbmRFbGVtZW50LWJlZ2luRWxlbWVudC5odG1sIGIvTGF5b3V0VGVzdHMvc3ZnL2FuaW1hdGlv
bnMvYW5pbWF0ZS1lbmRFbGVtZW50LWJlZ2luRWxlbWVudC5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAuLjE3MTAxZDEKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9zdmcvYW5pbWF0aW9ucy9hbmltYXRlLWVuZEVsZW1lbnQtYmVnaW5FbGVtZW50Lmh0bWwKQEAg
LTAsMCArMSwxNSBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8v
RU4iPgorPGh0bWw+Cis8aGVhZD4KKzxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iLi4vLi4v
ZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1zdHlsZS5jc3MiPgorPHNjcmlwdCBzcmM9Ii4uLy4u
L2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3Jj
PSIuLi9keW5hbWljLXVwZGF0ZXMvcmVzb3VyY2VzL1NWR1Rlc3RDYXNlLmpzIj48L3NjcmlwdD4K
KzxzY3JpcHQgc3JjPSJyZXNvdXJjZXMvU1ZHQW5pbWF0aW9uVGVzdENhc2UuanMiPjwvc2NyaXB0
PgorPC9oZWFkPgorPGJvZHk+Cis8aDE+U1ZHIDEuMSBkeW5hbWljIGFuaW1hdGlvbiB0ZXN0czwv
aDE+Cis8cCBpZD0iZGVzY3JpcHRpb24iPjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2Pgor
PHNjcmlwdCBzcmM9InNjcmlwdC10ZXN0cy9hbmltYXRlLWVuZEVsZW1lbnQtYmVnaW5FbGVtZW50
LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L3N2Zy9hbmltYXRpb25zL3NjcmlwdC10ZXN0cy9hbmltYXRlLWVuZEVsZW1lbnQtYmVnaW5FbGVt
ZW50LmpzIGIvTGF5b3V0VGVzdHMvc3ZnL2FuaW1hdGlvbnMvc2NyaXB0LXRlc3RzL2FuaW1hdGUt
ZW5kRWxlbWVudC1iZWdpbkVsZW1lbnQuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMC4uNGZhZDY0ZQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3N2Zy9hbmltYXRp
b25zL3NjcmlwdC10ZXN0cy9hbmltYXRlLWVuZEVsZW1lbnQtYmVnaW5FbGVtZW50LmpzCkBAIC0w
LDAgKzEsNTkgQEAKK2Rlc2NyaXB0aW9uKCJUZXN0cyBhbmltYXRpb24gYmVnaW5FbGVtZW50IGNv
bW1hbmQncyByZXN0YXJ0aW5nIGNhcGFiaWxpdHkgYWZ0ZXIgZW5kRWxlbWVudC4iKTsKK2NyZWF0
ZVNWR1Rlc3RDYXNlKCk7CisKKy8vIFNldHVwIHRlc3QgZG9jdW1lbnQKKwordmFyIHJlY3QgPSBj
cmVhdGVTVkdFbGVtZW50KCJyZWN0Iik7CityZWN0LnNldEF0dHJpYnV0ZSgiaWQiLCAicmVjdCIp
OworcmVjdC5zZXRBdHRyaWJ1dGUoIndpZHRoIiwgIjUwcHgiKTsKK3JlY3Quc2V0QXR0cmlidXRl
KCJoZWlnaHQiLCAiNTBweCIpOworcmVjdC5zZXRBdHRyaWJ1dGUoImZpbGwiLCAiZ3JlZW4iKTsK
KwordmFyIGFuaW1hdGVYID0gY3JlYXRlU1ZHRWxlbWVudCgiYW5pbWF0ZSIpOworYW5pbWF0ZVgu
c2V0QXR0cmlidXRlKCJpZCIsICJhbmltYXRlWCIpOworYW5pbWF0ZVguc2V0QXR0cmlidXRlKCJh
dHRyaWJ1dGVOYW1lIiwgIngiKTsKK2FuaW1hdGVYLnNldEF0dHJpYnV0ZSgiZnJvbSIsICIwIik7
CithbmltYXRlWC5zZXRBdHRyaWJ1dGUoInRvIiwgIjEwMCIpOworYW5pbWF0ZVguc2V0QXR0cmli
dXRlKCJkdXIiLCAiMnMiKTsKK2FuaW1hdGVYLnNldEF0dHJpYnV0ZSgiYmVnaW4iLCAiaW5kZWZp
bml0ZSIpOworYW5pbWF0ZVguc2V0QXR0cmlidXRlKCJmaWxsIiwgImZyZWV6ZSIpOworcmVjdC5h
cHBlbmRDaGlsZChhbmltYXRlWCk7Cityb290U1ZHRWxlbWVudC5hcHBlbmRDaGlsZChyZWN0KTsK
KworLy8gU2V0dXAgYW5pbWF0aW9uIHRlc3QKKworZnVuY3Rpb24gc2FtcGxlMSgpIHsKKyAgICAv
LyBDaGVjayBoYWxmLXRpbWUgY29uZGl0aW9ucworICAgIHNob3VsZEJlKCJyZWN0LnguYW5pbVZh
bC52YWx1ZSIsICI1MCIpOworfQorCitmdW5jdGlvbiBzdGFydFJlc3RhcnQoKSB7CisgICAgYW5p
bWF0ZVguYmVnaW5FbGVtZW50KCk7CisgICAgc2V0VGltZW91dChlbmQsMCk7Cit9CisKK2Z1bmN0
aW9uIGVuZCgpIHsKKyAgICBhbmltYXRlWC5lbmRFbGVtZW50KCk7CisgICAgc2V0VGltZW91dChi
ZWdpbiwwKTsKK30KKworZnVuY3Rpb24gYmVnaW4oKSB7CisgICAgYW5pbWF0ZVguYmVnaW5FbGVt
ZW50KCk7ICAgICAgCisgICAgY29uc3QgZXhwZWN0ZWRWYWx1ZXMgPSBbCisgICAgICAgIC8vIFth
bmltYXRpb25JZCwgdGltZSwgZWxlbWVudElkLCBzYW1wbGVDYWxsYmFja10KKyAgICAgICAgWyJh
bmltYXRlWCIsIDEuMCwgInJlY3QiLCBzYW1wbGUxXQorICAgIF07CisgICAgcnVuQW5pbWF0aW9u
VGVzdChleHBlY3RlZFZhbHVlcyk7Cit9CisKK2Z1bmN0aW9uIGV4ZWN1dGVUZXN0KCkgeworICAg
IC8vQmVnaW5FbGVtZW50LWVuZEVsZW1lbnQtYmVnaW5FbGVtZW50IG11c24ndCBleGVjdXRlIGlu
IHplcm8gdGltZSwgYmVjYXVzZSBpbiB0aGUgY3VycmVudAorICAgIC8vaW1wbGVtZXRhdGlvbiBv
ZiB0aGUgc3ZnIGFuaW1hdGlvbiB3aWxsIGxvb3NlIHRoZSBjb21tYW5kcyBvcmRlciEKKyAgICBz
dGFydFJlc3RhcnQoKTsgICAgICAgIAorfQorCisvLyBCZWdpbiB0ZXN0IGFzeW5jCityZWN0LnNl
dEF0dHJpYnV0ZSgib25jbGljayIsICJleGVjdXRlVGVzdCgpIik7Cit3aW5kb3cuc2V0VGltZW91
dCgidHJpZ2dlclVwZGF0ZSg1MCwgNTApIiwgMCk7Cit2YXIgc3VjY2Vzc2Z1bGx5UGFyc2VkID0g
dHJ1ZTsKKwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nIGIvU291cmNlL1dl
YkNvcmUvQ2hhbmdlTG9nCmluZGV4IGNiNTkyNWEuLmE5ZmEzOGYgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwxOCBAQAorMjAxMS0wNi0wMSAgRmVsaWNpYW4gTWFydG9uICA8bWFydG9uLmZlbGljaWFu
LnpvbHRhbkBzdHVkLnUtc3plZ2VkLmh1PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAo
T09QUyEpLgorCisgICAgICAgIFNWRyBhbmltYXRpb24gYmVnaW5FbGVtZW50KCkgZG9lcyBub3Qg
cmVzdGFydCB0aGUgYW5pbWF0aW9uIGFmdGVyIGVuZEVsZW1lbnQoKS4KKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTQzNDUyCisKKyAgICAgICAgVGVzdDog
c3ZnL2FuaW1hdGlvbnMvYW5pbWF0ZS1lbmRFbGVtZW50LWJlZ2luRWxlbWVudC5odG1sCisKKyAg
ICAgICAgQ2FsbGluZyBiZWdpbkVsZW1lbnQoKSBhZnRlciBjYWxsaW5nIGVuZEVsZW1lbnQoKSBw
cmV2aW91c2x5IGRvZXMgbm90IHJlc3RhcnRlZCB0aGUgYW5pbWF0aW9uIHdoZW4gYW5pbWF0aW9u
CisgICAgICAgIGVsZW1lbnQncyBlbmQgYXR0cmlidXRlIGRvZXNuJ3QgY29udGFpbnMgYSBiaWdn
ZXIgdmFsdWUgdGhhbiB0aGUgY3VycmVudCBhbmltYXRpb24gdGltZS4KKworICAgICAgICAqIHN2
Zy9hbmltYXRpb24vU1ZHU01JTEVsZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U1ZHU01J
TEVsZW1lbnQ6OmZpbmRJbnN0YW5jZVRpbWUpOgorCiAyMDExLTA1LTMwICBBbmRyZXkgS29zeWFr
b3YgIDxjYXNlcUBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgUGF2ZWwgRmVs
ZG1hbi4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9hbmltYXRpb24vU1ZHU01JTEVs
ZW1lbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvc3ZnL2FuaW1hdGlvbi9TVkdTTUlMRWxlbWVudC5j
cHAKaW5kZXggYmNjOGJiYi4uNmI3ZjZiOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvc3Zn
L2FuaW1hdGlvbi9TVkdTTUlMRWxlbWVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvc3ZnL2Fu
aW1hdGlvbi9TVkdTTUlMRWxlbWVudC5jcHAKQEAgLTYzNCw3ICs2MzQsNyBAQCBTTUlMVGltZSBT
VkdTTUlMRWxlbWVudDo6ZmluZEluc3RhbmNlVGltZShCZWdpbk9yRW5kIGJlZ2luT3JFbmQsIFNN
SUxUaW1lIG1pbmltdQogICAgICAgICB9IGVsc2UgaWYgKHRpbWUgPiBtaW5pbXVtVGltZSkKICAg
ICAgICAgICAgIHJldHVybiB0aW1lOwogICAgIH0KLSAgICByZXR1cm4gU01JTFRpbWU6OnVucmVz
b2x2ZWQoKTsKKyAgICByZXR1cm4gYmVnaW5PckVuZCA9PSBCZWdpbiA/IFNNSUxUaW1lOjp1bnJl
c29sdmVkKCkgOiBTTUlMVGltZTo6aW5kZWZpbml0ZSgpOwogfQogCiBTTUlMVGltZSBTVkdTTUlM
RWxlbWVudDo6cmVwZWF0aW5nRHVyYXRpb24oKSBjb25zdAotLSAKMS43LjAuNAoK
</data>

          </attachment>
      

    </bug>

</bugzilla>