<?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>128526</bug_id>
          
          <creation_ts>2014-02-10 04:28:53 -0800</creation_ts>
          <short_desc>Use asynchronous spellchecking in spelling-hasspellingmarker.js</short_desc>
          <delta_ts>2014-02-14 04:22:36 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>HTML Editing</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>
          
          <blocked>125689</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Grzegorz Czajkowski">g.czajkowski</reporter>
          <assigned_to name="Grzegorz Czajkowski">g.czajkowski</assigned_to>
          <cc>rniwa</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>978821</commentid>
    <comment_count>0</comment_count>
    <who name="Grzegorz Czajkowski">g.czajkowski</who>
    <bug_when>2014-02-10 04:28:53 -0800</bug_when>
    <thetext>Refactoring spelling-hasspellingmarker.js to use asynchronous spellchecking.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>978823</commentid>
    <comment_count>1</comment_count>
      <attachid>223695</attachid>
    <who name="Grzegorz Czajkowski">g.czajkowski</who>
    <bug_when>2014-02-10 04:31:10 -0800</bug_when>
    <thetext>Created attachment 223695
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>979168</commentid>
    <comment_count>2</comment_count>
      <attachid>223695</attachid>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2014-02-10 17:39:26 -0800</bug_when>
    <thetext>Comment on attachment 223695
Patch

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

&gt; LayoutTests/editing/spelling/script-tests/spelling-hasspellingmarker.js:40
&gt; +    if (window.internals)
&gt; +        shouldBecomeEqual(&quot;internals.hasSpellingMarker(0, 2)&quot;, isMisspelled ? &quot;true&quot; : &quot;false&quot;, done);
&gt; +    else
&gt; +        done();

Why are we calling done in the case window.internals is not defined?

&gt; LayoutTests/editing/spelling/script-tests/spelling-hasspellingmarker.js:47
&gt; +var tests = [ function() { verifySpellingMarkers(&quot;&lt;textarea&gt;&lt;/textarea&gt;&quot;, true); },
&gt; +              function() { verifySpellingMarkers(&quot;&lt;input type=&apos;text&apos;&gt;&lt;/input&gt;&quot;, true); },
&gt; +              function() { verifySpellingMarkers(&quot;&lt;div contenteditable=&apos;true&apos;&gt;&lt;/div&gt;&quot;, true); },
&gt; +              function() { verifySpellingMarkers(&quot;&lt;div contentEditable=&apos;true&apos; spellcheck=&apos;false&apos;&gt;&lt;/div&gt;&quot;, false); }
&gt; +            ];

Wrong indentations. The subsequent line should be indented by exactly 4 spaces.
It also seems that these could be simply markup &amp; boolean objects as in:
{containerMarkup: &quot;&lt;textarea&gt;&lt;/textarea&gt;&quot;, isMisspelled: true}

&gt; LayoutTests/editing/spelling/script-tests/spelling-hasspellingmarker.js:53
&gt; +        return window.setTimeout(next, 0);

We don&apos;t need &quot;window.&quot;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>979303</commentid>
    <comment_count>3</comment_count>
    <who name="Grzegorz Czajkowski">g.czajkowski</who>
    <bug_when>2014-02-10 23:29:50 -0800</bug_when>
    <thetext>(In reply to comment #2)
&gt; (From update of attachment 223695 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=223695&amp;action=review
&gt; 
&gt; &gt; LayoutTests/editing/spelling/script-tests/spelling-hasspellingmarker.js:40
&gt; &gt; +    if (window.internals)
&gt; &gt; +        shouldBecomeEqual(&quot;internals.hasSpellingMarker(0, 2)&quot;, isMisspelled ? &quot;true&quot; : &quot;false&quot;, done);
&gt; &gt; +    else
&gt; &gt; +        done();
&gt; 
&gt; Why are we calling done in the case window.internals is not defined?

I added it here to just satisfy non-DumpRenderTree users as done() invokes next test case that is defined in &apos;var tests = [ function(), function() ... ]&apos;. Without it, Browser wouldn&apos;t create desired element for given markup. Maybe it could be better to first create such elements and then call verifySpellingMarkers() with early return when internals are not available?

&gt; 
&gt; &gt; LayoutTests/editing/spelling/script-tests/spelling-hasspellingmarker.js:47
&gt; &gt; +var tests = [ function() { verifySpellingMarkers(&quot;&lt;textarea&gt;&lt;/textarea&gt;&quot;, true); },
&gt; &gt; +              function() { verifySpellingMarkers(&quot;&lt;input type=&apos;text&apos;&gt;&lt;/input&gt;&quot;, true); },
&gt; &gt; +              function() { verifySpellingMarkers(&quot;&lt;div contenteditable=&apos;true&apos;&gt;&lt;/div&gt;&quot;, true); },
&gt; &gt; +              function() { verifySpellingMarkers(&quot;&lt;div contentEditable=&apos;true&apos; spellcheck=&apos;false&apos;&gt;&lt;/div&gt;&quot;, false); }
&gt; &gt; +            ];
&gt; 
&gt; Wrong indentations. The subsequent line should be indented by exactly 4 spaces.

Right. I&apos;ll fix them.

&gt; It also seems that these could be simply markup &amp; boolean objects as in:
&gt; {containerMarkup: &quot;&lt;textarea&gt;&lt;/textarea&gt;&quot;, isMisspelled: true}
&gt; 
&gt; &gt; LayoutTests/editing/spelling/script-tests/spelling-hasspellingmarker.js:53
&gt; &gt; +        return window.setTimeout(next, 0);
&gt; 
&gt; We don&apos;t need &quot;window.&quot;

Ok.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>979368</commentid>
    <comment_count>4</comment_count>
      <attachid>223842</attachid>
    <who name="Grzegorz Czajkowski">g.czajkowski</who>
    <bug_when>2014-02-11 04:35:28 -0800</bug_when>
    <thetext>Created attachment 223842
took into account Ryosuke&apos;s comments</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>980748</commentid>
    <comment_count>5</comment_count>
    <who name="Grzegorz Czajkowski">g.czajkowski</who>
    <bug_when>2014-02-14 04:22:36 -0800</bug_when>
    <thetext>Committed r164100: &lt;http://trac.webkit.org/changeset/164100&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>223695</attachid>
            <date>2014-02-10 04:31:10 -0800</date>
            <delta_ts>2014-02-11 04:35:23 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-128526-20140210133108.patch</filename>
            <type>text/plain</type>
            <size>6474</size>
            <attacher name="Grzegorz Czajkowski">g.czajkowski</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTYzNjE1CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFu
Z2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggZGM4NTg3MzczM2ViYjE2NTE1NGE3
NjAxNzNiZWIxN2JhZDgzNjI3OS4uMDliNWVkYTAxMDA5ODE0Yzg0OWI2YWJlYjkxOWExZTYyY2Qz
YmVlOCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3Rz
L0NoYW5nZUxvZwpAQCAtMSwzICsxLDI2IEBACisyMDE0LTAyLTEwICBHcnplZ29yeiBDemFqa293
c2tpICA8Zy5jemFqa293c2tpQHNhbXN1bmcuY29tPgorCisgICAgICAgIFVzZSBhc3luY2hyb25v
dXMgc3BlbGxjaGVja2luZyBpbiBzcGVsbGluZy1oYXNzcGVsbGluZ21hcmtlci5qcworICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTI4NTI2CisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgUmVmYWN0b3Jpbmcgc3Bl
bGxpbmctaGFzc3BlbGxpbmdtYXJrZXIuanMgdG8gdXNlIGFzeW5jaHJvbm91cyBzcGVsbGNoZWNr
aW5nLgorICAgICAgICBJbiBhZGRpdGlvbiwgYWRkcyBzb21lIGJpdHMgZm9yIG5vbi1EdW1wUmVu
ZGVyVHJlZSB1c2Vycy4KKworICAgICAgICAqIGVkaXRpbmcvc3BlbGxpbmcvc2NyaXB0LXRlc3Rz
L3NwZWxsaW5nLWhhc3NwZWxsaW5nbWFya2VyLmpzOgorICAgICAgICAoYWRkQ29udGFpbmVyKTog
Y3JlYXRlcyBhIG5ldyBkaXYgZWxlbWVudCBiYXNlZCBvbiBnaXZlbiBtYXJrdXAuCisgICAgICAg
ICh0eXBlTWlzc3BlbGxpbmcpOiB0eXBlcyAnenonIHRvIHRoZSBlbGVtZW50LgorICAgICAgICAo
dmVyaWZ5U3BlbGxpbmdNYXJrZXJzKTogY2FsbHMgc2hvdWxkQmVjb21lRXF1YWwgdG8gdmVyaWZ5
IHNwZWxsaW5nIG1hcmtlcnMuCisgICAgICAgICh0ZXN0cyk6IGNvbnRhaW5zIHRlc3QgY2FzZXMu
CisgICAgICAgIChkb25lKTogaW52b2tlcyBuZXh0IHRlc3QgY2FzZXMgaWYgYW55LCBvdGhlcndp
c2UgY2FsbHMgZmluaXNoSlNUZXN0KCkuCisKKyAgICAgICAgKiBlZGl0aW5nL3NwZWxsaW5nL3Nw
ZWxsaW5nLWhhc3NwZWxsaW5nbWFya2VyLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgVXBkYXRlIGJh
c2VsaW5lLgorCisgICAgICAgICogZWRpdGluZy9zcGVsbGluZy9zcGVsbGluZy1oYXNzcGVsbGlu
Z21hcmtlci5odG1sOgorICAgICAgICBJbmNsdWRlIGVkaXRpbmcuanMgZHVlIHRvIHRoZSB0ZXN0
IHN0YXJ0ZWQgdXNpbmcgdHlwZUNoYXJhY3RlckNvbW1hbmQoKS4KKwogMjAxNC0wMi0wNyAgR3J6
ZWdvcnogQ3phamtvd3NraSAgPGcuY3phamtvd3NraUBzYW1zdW5nLmNvbT4KIAogICAgICAgICBW
ZXJpZnkgbWlzc3BlbGxpbmdzIGFmdGVyIGxpbmVzIG1lcmdlL3NwbGl0IGFzeW5jaHJvbm91c2x5
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NwZWxsaW5nL3NjcmlwdC10ZXN0cy9z
cGVsbGluZy1oYXNzcGVsbGluZ21hcmtlci5qcyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc3BlbGxp
bmcvc2NyaXB0LXRlc3RzL3NwZWxsaW5nLWhhc3NwZWxsaW5nbWFya2VyLmpzCmluZGV4IGZiYWZh
NmUyYjU0NmQ2MjgzNTFiZDA3MzBhMjI5Njc2YmNhZDJiN2UuLmE5OWY5ODc5NWQzMmQ5YTFhN2Iz
YWY0NGE4NTZiYjBmZmU5NWViMjMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2VkaXRpbmcvc3Bl
bGxpbmcvc2NyaXB0LXRlc3RzL3NwZWxsaW5nLWhhc3NwZWxsaW5nbWFya2VyLmpzCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvc3BlbGxpbmcvc2NyaXB0LXRlc3RzL3NwZWxsaW5nLWhhc3NwZWxs
aW5nbWFya2VyLmpzCkBAIC0xLDIzICsxLDYyIEBACi1kZXNjcmlwdGlvbignVGhpcyB0ZXN0cyBp
bnRlcm5hbHMuaGFzU3BlbGxpbmdNYXJrZXIgd29ya3MgZm9yIGRpZmZlcm50IHR5cGUgb2YgZWxl
bWVudHMuJyk7CitkZXNjcmlwdGlvbignVGhpcyB0ZXN0cyBpZiBpbnRlcm5hbHMuaGFzU3BlbGxp
bmdNYXJrZXIgd29ya3MgZm9yIGRpZmZlcm50IHR5cGUgb2YgZWxlbWVudHMuICcKKyAgICArICdU
aGlzIHRlc3Qgc3VjY2VkcyB3aGVuIHRoZXJlIGFyZSBmb3VyIGVsZW1lbnRzIGhhdmluZyAienog
Ii4gJworICAgICsgJ0hvd2V2ZXIsIG9ubHkgdGhlIGxhc3Qgb25lIHNob3VsZCBub3QgY29udGF0
aW4gc3BlbGxpbmcgbWFya2VyLicpOwogCi12YXIgcGFyZW50ID0gZG9jdW1lbnQuY3JlYXRlRWxl
bWVudCgiZGl2Iik7Ci1kb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHBhcmVudCk7Citqc1Rlc3RJ
c0FzeW5jID0gdHJ1ZTsKIAotZnVuY3Rpb24gaGFzTWFya2VkKG1hcmt1cCkKK2lmICh3aW5kb3cu
aW50ZXJuYWxzKSB7CisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldFVuaWZpZWRUZXh0Q2hlY2tl
ckVuYWJsZWQodHJ1ZSk7CisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEFzeW5jaHJvbm91c1Nw
ZWxsQ2hlY2tpbmdFbmFibGVkKHRydWUpOworfQorCit2YXIgdGVzdFJvb3QgPSBkb2N1bWVudC5j
cmVhdGVFbGVtZW50KCJkaXYiKTsKK2RvY3VtZW50LmJvZHkuaW5zZXJ0QmVmb3JlKHRlc3RSb290
LCBkb2N1bWVudC5ib2R5LmZpcnN0Q2hpbGQpOworCitmdW5jdGlvbiBhZGRDb250YWluZXIobWFy
a3VwKQogewotICAgIHBhcmVudC5pbm5lckhUTUwgPSBtYXJrdXA7Ci0gICAgZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoJ3Rlc3QnKS5mb2N1cygpOwotICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJJ
bnNlcnRUZXh0IiwgZmFsc2UsICd6Jyk7Ci0gICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIkluc2Vy
dFRleHQiLCBmYWxzZSwgJ3onKTsKLSAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiSW5zZXJ0VGV4
dCIsIGZhbHNlLCAnICcpOworICAgIHZhciBjb250YXRpbmVyID0gZG9jdW1lbnQuY3JlYXRlRWxl
bWVudCgiZGl2Iik7CisgICAgY29udGF0aW5lci5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgdGVz
dFJvb3QuYXBwZW5kQ2hpbGQoY29udGF0aW5lcik7CisKKyAgICByZXR1cm4gY29udGF0aW5lcjsK
K30KIAotICAgIHJldHVybiBpbnRlcm5hbHMuaGFzU3BlbGxpbmdNYXJrZXIoMCwgMik7CitmdW5j
dGlvbiB0eXBlTWlzc3BlbGxpbmcoY29udGF0aW5lcikKK3sKKyAgICBjb250YXRpbmVyLmZpcnN0
Q2hpbGQuZm9jdXMoKTsKKyAgICB0eXBlQ2hhcmFjdGVyQ29tbWFuZCgneicpOworICAgIHR5cGVD
aGFyYWN0ZXJDb21tYW5kKCd6Jyk7CisgICAgdHlwZUNoYXJhY3RlckNvbW1hbmQoJyAnKTsKIH0K
IAotc2hvdWxkQmVUcnVlKCJoYXNNYXJrZWQoXCI8dGV4dGFyZWEgaWQ9J3Rlc3QnIGNvbHM9Jzgw
JyByb3dzPScxMCc+PC90ZXh0YXJlYT5cIik7Iik7Ci1zaG91bGRCZVRydWUoImhhc01hcmtlZChc
IjxpbnB1dCBpZD0ndGVzdCcgdHlwZT0ndGV4dCc+XCIpOyIpOwotc2hvdWxkQmVUcnVlKCJoYXNN
YXJrZWQoXCI8ZGl2IGlkPSd0ZXN0JyBjb250ZW50ZWRpdGFibGU9J3RydWUnPjwvZGl2PlwiKTsi
KTsKLXNob3VsZEJlRmFsc2UoImhhc01hcmtlZChcIjxkaXYgaWQ9J3Rlc3QnIGNvbnRlbnRFZGl0
YWJsZT0ndHJ1ZScgc3BlbGxjaGVjaz0nZmFsc2UnPjwvZGl2PlwiKTsiKTsKLXBhcmVudC5pbm5l
ckhUTUwgPSAiIjsKK2Z1bmN0aW9uIHZlcmlmeVNwZWxsaW5nTWFya2VycyhtYXJrdXAsIGlzTWlz
c3BlbGxlZCkKK3sKKyAgICB2YXIgZGl2ID0gYWRkQ29udGFpbmVyKG1hcmt1cCk7CisgICAgdHlw
ZU1pc3NwZWxsaW5nKGRpdik7CisKKyAgICBpZiAod2luZG93LmludGVybmFscykKKyAgICAgICAg
c2hvdWxkQmVjb21lRXF1YWwoImludGVybmFscy5oYXNTcGVsbGluZ01hcmtlcigwLCAyKSIsIGlz
TWlzc3BlbGxlZCA/ICJ0cnVlIiA6ICJmYWxzZSIsIGRvbmUpOworICAgIGVsc2UKKyAgICAgICAg
ZG9uZSgpOworfQorCit2YXIgdGVzdHMgPSBbIGZ1bmN0aW9uKCkgeyB2ZXJpZnlTcGVsbGluZ01h
cmtlcnMoIjx0ZXh0YXJlYT48L3RleHRhcmVhPiIsIHRydWUpOyB9LAorICAgICAgICAgICAgICBm
dW5jdGlvbigpIHsgdmVyaWZ5U3BlbGxpbmdNYXJrZXJzKCI8aW5wdXQgdHlwZT0ndGV4dCc+PC9p
bnB1dD4iLCB0cnVlKTsgfSwKKyAgICAgICAgICAgICAgZnVuY3Rpb24oKSB7IHZlcmlmeVNwZWxs
aW5nTWFya2VycygiPGRpdiBjb250ZW50ZWRpdGFibGU9J3RydWUnPjwvZGl2PiIsIHRydWUpOyB9
LAorICAgICAgICAgICAgICBmdW5jdGlvbigpIHsgdmVyaWZ5U3BlbGxpbmdNYXJrZXJzKCI8ZGl2
IGNvbnRlbnRFZGl0YWJsZT0ndHJ1ZScgc3BlbGxjaGVjaz0nZmFsc2UnPjwvZGl2PiIsIGZhbHNl
KTsgfQorICAgICAgICAgICAgXTsKKworZnVuY3Rpb24gZG9uZSgpCit7CisgICAgdmFyIG5leHQg
PSB0ZXN0cy5zaGlmdCgpOworICAgIGlmIChuZXh0KQorICAgICAgICByZXR1cm4gd2luZG93LnNl
dFRpbWVvdXQobmV4dCwgMCk7CisKKyAgICBpZiAod2luZG93LmludGVybmFscykKKyAgICAgICAg
dGVzdFJvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworICAgIGZpbmlzaEpTVGVzdCgpOwor
fQorZG9uZSgpOwogCiB2YXIgc3VjY2Vzc2Z1bGx5UGFyc2VkID0gdHJ1ZTsKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvc3BlbGxpbmcvc3BlbGxpbmctaGFzc3BlbGxpbmdtYXJrZXIt
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zcGVsbGluZy9zcGVsbGluZy1oYXNz
cGVsbGluZ21hcmtlci1leHBlY3RlZC50eHQKaW5kZXggN2FhNTdiNWY3NGFkMmM1MjFkYzIyMzFm
YzQyOTEwMzU0N2E3ZjM4Ny4uNjM1ZDFkZTVkYzJjZGFhZTg4YzBiMTk2MzVlOTU2Yjk4MTQ0NTg4
MyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zcGVsbGluZy9zcGVsbGluZy1oYXNz
cGVsbGluZ21hcmtlci1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zcGVs
bGluZy9zcGVsbGluZy1oYXNzcGVsbGluZ21hcmtlci1leHBlY3RlZC50eHQKQEAgLTEsMTIgKzEs
MTIgQEAKLVRoaXMgdGVzdHMgaW50ZXJuYWxzLmhhc1NwZWxsaW5nTWFya2VyIHdvcmtzIGZvciBk
aWZmZXJudCB0eXBlIG9mIGVsZW1lbnRzLgorVGhpcyB0ZXN0cyBpZiBpbnRlcm5hbHMuaGFzU3Bl
bGxpbmdNYXJrZXIgd29ya3MgZm9yIGRpZmZlcm50IHR5cGUgb2YgZWxlbWVudHMuIFRoaXMgdGVz
dCBzdWNjZWRzIHdoZW4gdGhlcmUgYXJlIGZvdXIgZWxlbWVudHMgaGF2aW5nICJ6eiAiLiBIb3dl
dmVyLCBvbmx5IHRoZSBsYXN0IG9uZSBzaG91bGQgbm90IGNvbnRhdGluIHNwZWxsaW5nIG1hcmtl
ci4KIAogT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdl
cywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgogCiAKLVBBU1MgaGFzTWFya2VkKCI8dGV4
dGFyZWEgaWQ9J3Rlc3QnIGNvbHM9JzgwJyByb3dzPScxMCc+PC90ZXh0YXJlYT4iKTsgaXMgdHJ1
ZQotUEFTUyBoYXNNYXJrZWQoIjxpbnB1dCBpZD0ndGVzdCcgdHlwZT0ndGV4dCc+Iik7IGlzIHRy
dWUKLVBBU1MgaGFzTWFya2VkKCI8ZGl2IGlkPSd0ZXN0JyBjb250ZW50ZWRpdGFibGU9J3RydWUn
PjwvZGl2PiIpOyBpcyB0cnVlCi1QQVNTIGhhc01hcmtlZCgiPGRpdiBpZD0ndGVzdCcgY29udGVu
dEVkaXRhYmxlPSd0cnVlJyBzcGVsbGNoZWNrPSdmYWxzZSc+PC9kaXY+Iik7IGlzIGZhbHNlCitQ
QVNTIGludGVybmFscy5oYXNTcGVsbGluZ01hcmtlcigwLCAyKSBiZWNhbWUgdHJ1ZQorUEFTUyBp
bnRlcm5hbHMuaGFzU3BlbGxpbmdNYXJrZXIoMCwgMikgYmVjYW1lIHRydWUKK1BBU1MgaW50ZXJu
YWxzLmhhc1NwZWxsaW5nTWFya2VyKDAsIDIpIGJlY2FtZSB0cnVlCitQQVNTIGludGVybmFscy5o
YXNTcGVsbGluZ01hcmtlcigwLCAyKSBiZWNhbWUgZmFsc2UKIFBBU1Mgc3VjY2Vzc2Z1bGx5UGFy
c2VkIGlzIHRydWUKIAogVEVTVCBDT01QTEVURQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9zcGVsbGluZy9zcGVsbGluZy1oYXNzcGVsbGluZ21hcmtlci5odG1sIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zcGVsbGluZy9zcGVsbGluZy1oYXNzcGVsbGluZ21hcmtlci5odG1sCmluZGV4
IGY2MzEyNWU2ZGNhMTYyNTVkNjhlYTRkMWE1MjU4NDE5OTY5ZTUxNmEuLjQ4Y2ZjMDA5MDhhMDUy
ZjQ2NGU3YjUwODQwODIzMWE3YjgyOTQ1MTUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2VkaXRp
bmcvc3BlbGxpbmcvc3BlbGxpbmctaGFzc3BlbGxpbmdtYXJrZXIuaHRtbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NwZWxsaW5nL3NwZWxsaW5nLWhhc3NwZWxsaW5nbWFya2VyLmh0bWwKQEAg
LTIsNiArMiw3IEBACiA8aHRtbD4KIDxoZWFkPgogPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vZWRpdGluZy5qcyI+
PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0icmVzb3VyY2VzL2pzLXRlc3Qtc2VsZWN0aW9uLXNoYXJl
ZC5qcyI+PC9zY3JpcHQ+CiA8L2hlYWQ+CiA8Ym9keT4K
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>223842</attachid>
            <date>2014-02-11 04:35:28 -0800</date>
            <delta_ts>2014-02-13 23:36:41 -0800</delta_ts>
            <desc>took into account Ryosuke&apos;s comments</desc>
            <filename>bug-128526-20140211133526.patch</filename>
            <type>text/plain</type>
            <size>6549</size>
            <attacher name="Grzegorz Czajkowski">g.czajkowski</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTYzODcyCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFu
Z2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggYWYyNWMzODllODE5MGFmYTI3ZGNl
ZjBiZjQwZmJmZTczNTc3MGEyNS4uYWE2MWJkNmRmMzYyMTQ0OWQzOTIzNjI2MjZiM2IzZTVhNWEw
NmE3MCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3Rz
L0NoYW5nZUxvZwpAQCAtMSwzICsxLDI2IEBACisyMDE0LTAyLTExICBHcnplZ29yeiBDemFqa293
c2tpICA8Zy5jemFqa293c2tpQHNhbXN1bmcuY29tPgorCisgICAgICAgIFVzZSBhc3luY2hyb25v
dXMgc3BlbGxjaGVja2luZyBpbiBzcGVsbGluZy1oYXNzcGVsbGluZ21hcmtlci5qcworICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTI4NTI2CisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgUmVmYWN0b3Jpbmcgc3Bl
bGxpbmctaGFzc3BlbGxpbmdtYXJrZXIuanMgdG8gdXNlIGFzeW5jaHJvbm91cyBzcGVsbGNoZWNr
aW5nLgorICAgICAgICBJbiBhZGRpdGlvbiwgYWRkcyBzb21lIGJpdHMgZm9yIG5vbi1EdW1wUmVu
ZGVyVHJlZSB1c2Vycy4KKworICAgICAgICAqIGVkaXRpbmcvc3BlbGxpbmcvc2NyaXB0LXRlc3Rz
L3NwZWxsaW5nLWhhc3NwZWxsaW5nbWFya2VyLmpzOgorICAgICAgICAoYWRkQ29udGFpbmVyKTog
Y3JlYXRlcyBhIG5ldyBkaXYgZWxlbWVudCBiYXNlZCBvbiBnaXZlbiBtYXJrdXAuCisgICAgICAg
ICh0eXBlTWlzc3BlbGxpbmcpOiB0eXBlcyAnenonIHRvIHRoZSBlbGVtZW50LgorICAgICAgICAo
dmVyaWZ5U3BlbGxpbmdNYXJrZXJzKTogY2FsbHMgc2hvdWxkQmVjb21lRXF1YWwgdG8gdmVyaWZ5
IHNwZWxsaW5nIG1hcmtlcnMuCisgICAgICAgICh0ZXN0cyk6IGNvbnRhaW5zIHRlc3QgY2FzZXMu
CisgICAgICAgIChkb25lKTogaW52b2tlcyBuZXh0IHRlc3QgY2FzZXMgaWYgYW55LCBvdGhlcndp
c2UgY2FsbHMgZmluaXNoSlNUZXN0KCkuCisKKyAgICAgICAgKiBlZGl0aW5nL3NwZWxsaW5nL3Nw
ZWxsaW5nLWhhc3NwZWxsaW5nbWFya2VyLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgVXBkYXRlIGJh
c2VsaW5lLgorCisgICAgICAgICogZWRpdGluZy9zcGVsbGluZy9zcGVsbGluZy1oYXNzcGVsbGlu
Z21hcmtlci5odG1sOgorICAgICAgICBJbmNsdWRlIGVkaXRpbmcuanMgZHVlIHRvIHRoZSB0ZXN0
IHN0YXJ0ZWQgdXNpbmcgdHlwZUNoYXJhY3RlckNvbW1hbmQoKS4KKwogMjAxNC0wMi0xMSAgUGlv
dHIgR3JhZCAgPHAuZ3JhZEBzYW1zdW5nLmNvbT4KIAogICAgICAgICBbR1N0cmVhbWVyXSBIaWdo
IHBsYXliYWNrIHJhdGUgY2F1c2VzIGNyYXNoCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NwZWxsaW5nL3NjcmlwdC10ZXN0cy9zcGVsbGluZy1oYXNzcGVsbGluZ21hcmtlci5qcyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc3BlbGxpbmcvc2NyaXB0LXRlc3RzL3NwZWxsaW5nLWhhc3Nw
ZWxsaW5nbWFya2VyLmpzCmluZGV4IGZiYWZhNmUyYjU0NmQ2MjgzNTFiZDA3MzBhMjI5Njc2YmNh
ZDJiN2UuLmVhOTA2NmQwYjFiMDcwNGNiOTc0YjgyOTI5ZWNiOTY1YWU2MDRkOWIgMTAwNjQ0Ci0t
LSBhL0xheW91dFRlc3RzL2VkaXRpbmcvc3BlbGxpbmcvc2NyaXB0LXRlc3RzL3NwZWxsaW5nLWhh
c3NwZWxsaW5nbWFya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc3BlbGxpbmcvc2Ny
aXB0LXRlc3RzL3NwZWxsaW5nLWhhc3NwZWxsaW5nbWFya2VyLmpzCkBAIC0xLDIzICsxLDYzIEBA
Ci1kZXNjcmlwdGlvbignVGhpcyB0ZXN0cyBpbnRlcm5hbHMuaGFzU3BlbGxpbmdNYXJrZXIgd29y
a3MgZm9yIGRpZmZlcm50IHR5cGUgb2YgZWxlbWVudHMuJyk7CitkZXNjcmlwdGlvbignVGhpcyB0
ZXN0cyBpZiBpbnRlcm5hbHMuaGFzU3BlbGxpbmdNYXJrZXIgd29ya3MgZm9yIGRpZmZlcm50IHR5
cGUgb2YgZWxlbWVudHMuICcKKyAgICArICdUaGlzIHRlc3Qgc3VjY2VkcyB3aGVuIHRoZXJlIGFy
ZSBmb3VyIGVsZW1lbnRzIGhhdmluZyAienogIi4gJworICAgICsgJ0hvd2V2ZXIsIG9ubHkgdGhl
IGxhc3Qgb25lIHNob3VsZCBub3QgY29udGF0aW4gc3BlbGxpbmcgbWFya2VyLicpOwogCi12YXIg
cGFyZW50ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2Iik7Ci1kb2N1bWVudC5ib2R5LmFw
cGVuZENoaWxkKHBhcmVudCk7Citqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKIAotZnVuY3Rpb24gaGFz
TWFya2VkKG1hcmt1cCkKK2lmICh3aW5kb3cuaW50ZXJuYWxzKSB7CisgICAgaW50ZXJuYWxzLnNl
dHRpbmdzLnNldFVuaWZpZWRUZXh0Q2hlY2tlckVuYWJsZWQodHJ1ZSk7CisgICAgaW50ZXJuYWxz
LnNldHRpbmdzLnNldEFzeW5jaHJvbm91c1NwZWxsQ2hlY2tpbmdFbmFibGVkKHRydWUpOworfQor
Cit2YXIgdGVzdFJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKTsKK2RvY3VtZW50
LmJvZHkuaW5zZXJ0QmVmb3JlKHRlc3RSb290LCBkb2N1bWVudC5ib2R5LmZpcnN0Q2hpbGQpOwor
CitmdW5jdGlvbiBhZGRDb250YWluZXIobWFya3VwKQogewotICAgIHBhcmVudC5pbm5lckhUTUwg
PSBtYXJrdXA7Ci0gICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3Rlc3QnKS5mb2N1cygpOwot
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJJbnNlcnRUZXh0IiwgZmFsc2UsICd6Jyk7Ci0gICAg
ZG9jdW1lbnQuZXhlY0NvbW1hbmQoIkluc2VydFRleHQiLCBmYWxzZSwgJ3onKTsKLSAgICBkb2N1
bWVudC5leGVjQ29tbWFuZCgiSW5zZXJ0VGV4dCIsIGZhbHNlLCAnICcpOworICAgIHZhciBjb250
YXRpbmVyID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2Iik7CisgICAgY29udGF0aW5lci5p
bm5lckhUTUwgPSBtYXJrdXA7CisgICAgdGVzdFJvb3QuYXBwZW5kQ2hpbGQoY29udGF0aW5lcik7
CisKKyAgICByZXR1cm4gY29udGF0aW5lcjsKK30KIAotICAgIHJldHVybiBpbnRlcm5hbHMuaGFz
U3BlbGxpbmdNYXJrZXIoMCwgMik7CitmdW5jdGlvbiB0eXBlTWlzc3BlbGxpbmcoY29udGF0aW5l
cikKK3sKKyAgICBjb250YXRpbmVyLmZpcnN0Q2hpbGQuZm9jdXMoKTsKKyAgICB0eXBlQ2hhcmFj
dGVyQ29tbWFuZCgneicpOworICAgIHR5cGVDaGFyYWN0ZXJDb21tYW5kKCd6Jyk7CisgICAgdHlw
ZUNoYXJhY3RlckNvbW1hbmQoJyAnKTsKIH0KIAotc2hvdWxkQmVUcnVlKCJoYXNNYXJrZWQoXCI8
dGV4dGFyZWEgaWQ9J3Rlc3QnIGNvbHM9JzgwJyByb3dzPScxMCc+PC90ZXh0YXJlYT5cIik7Iik7
Ci1zaG91bGRCZVRydWUoImhhc01hcmtlZChcIjxpbnB1dCBpZD0ndGVzdCcgdHlwZT0ndGV4dCc+
XCIpOyIpOwotc2hvdWxkQmVUcnVlKCJoYXNNYXJrZWQoXCI8ZGl2IGlkPSd0ZXN0JyBjb250ZW50
ZWRpdGFibGU9J3RydWUnPjwvZGl2PlwiKTsiKTsKLXNob3VsZEJlRmFsc2UoImhhc01hcmtlZChc
IjxkaXYgaWQ9J3Rlc3QnIGNvbnRlbnRFZGl0YWJsZT0ndHJ1ZScgc3BlbGxjaGVjaz0nZmFsc2Un
PjwvZGl2PlwiKTsiKTsKLXBhcmVudC5pbm5lckhUTUwgPSAiIjsKK2Z1bmN0aW9uIHZlcmlmeVNw
ZWxsaW5nTWFya2VycyhlbGVtZW50KQoreworICAgIHZhciBkaXYgPSBhZGRDb250YWluZXIoZWxl
bWVudC5jb250YWluZXJNYXJrdXApOworICAgIHR5cGVNaXNzcGVsbGluZyhkaXYpOworCisgICAg
aWYgKHdpbmRvdy5pbnRlcm5hbHMpCisgICAgICAgIHNob3VsZEJlY29tZUVxdWFsKCJpbnRlcm5h
bHMuaGFzU3BlbGxpbmdNYXJrZXIoMCwgMikiLCBlbGVtZW50LmlzTWlzc3BlbGxlZCA/ICJ0cnVl
IiA6ICJmYWxzZSIsIGRvbmUpOworICAgIGVsc2UKKyAgICAgICAgZG9uZSgpOworfQorCit2YXIg
dGVzdHMgPSBbCisgICAgZnVuY3Rpb24oKSB7IHZlcmlmeVNwZWxsaW5nTWFya2Vycyh7IGNvbnRh
aW5lck1hcmt1cDogIjx0ZXh0YXJlYT48L3RleHRhcmVhPiIsIGlzTWlzc3BlbGxlZDogdHJ1ZSB9
KTsgfSwKKyAgICBmdW5jdGlvbigpIHsgdmVyaWZ5U3BlbGxpbmdNYXJrZXJzKHsgY29udGFpbmVy
TWFya3VwOiAiPGlucHV0IHR5cGU9J3RleHQnPjwvaW5wdXQ+IiwgaXNNaXNzcGVsbGVkOiB0cnVl
fSk7IH0sCisgICAgZnVuY3Rpb24oKSB7IHZlcmlmeVNwZWxsaW5nTWFya2Vycyh7IGNvbnRhaW5l
ck1hcmt1cDogIjxkaXYgY29udGVudGVkaXRhYmxlPSd0cnVlJz48L2Rpdj4iLCBpc01pc3NwZWxs
ZWQ6IHRydWV9KTsgfSwKKyAgICBmdW5jdGlvbigpIHsgdmVyaWZ5U3BlbGxpbmdNYXJrZXJzKHsg
Y29udGFpbmVyTWFya3VwOiAiPGRpdiBjb250ZW50RWRpdGFibGU9J3RydWUnIHNwZWxsY2hlY2s9
J2ZhbHNlJz48L2Rpdj4iLCBpc01pc3NwZWxsZWQ6IGZhbHNlfSk7IH0KK107CisKK2Z1bmN0aW9u
IGRvbmUoKQoreworICAgIHZhciBuZXh0ID0gdGVzdHMuc2hpZnQoKTsKKyAgICBpZiAobmV4dCkK
KyAgICAgICAgcmV0dXJuIHNldFRpbWVvdXQobmV4dCwgMCk7CisKKyAgICBpZiAod2luZG93Lmlu
dGVybmFscykKKyAgICAgICAgdGVzdFJvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworICAg
IGZpbmlzaEpTVGVzdCgpOworfQorZG9uZSgpOwogCiB2YXIgc3VjY2Vzc2Z1bGx5UGFyc2VkID0g
dHJ1ZTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc3BlbGxpbmcvc3BlbGxpbmct
aGFzc3BlbGxpbmdtYXJrZXItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zcGVs
bGluZy9zcGVsbGluZy1oYXNzcGVsbGluZ21hcmtlci1leHBlY3RlZC50eHQKaW5kZXggN2FhNTdi
NWY3NGFkMmM1MjFkYzIyMzFmYzQyOTEwMzU0N2E3ZjM4Ny4uNjM1ZDFkZTVkYzJjZGFhZTg4YzBi
MTk2MzVlOTU2Yjk4MTQ0NTg4MyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zcGVs
bGluZy9zcGVsbGluZy1oYXNzcGVsbGluZ21hcmtlci1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zcGVsbGluZy9zcGVsbGluZy1oYXNzcGVsbGluZ21hcmtlci1leHBlY3Rl
ZC50eHQKQEAgLTEsMTIgKzEsMTIgQEAKLVRoaXMgdGVzdHMgaW50ZXJuYWxzLmhhc1NwZWxsaW5n
TWFya2VyIHdvcmtzIGZvciBkaWZmZXJudCB0eXBlIG9mIGVsZW1lbnRzLgorVGhpcyB0ZXN0cyBp
ZiBpbnRlcm5hbHMuaGFzU3BlbGxpbmdNYXJrZXIgd29ya3MgZm9yIGRpZmZlcm50IHR5cGUgb2Yg
ZWxlbWVudHMuIFRoaXMgdGVzdCBzdWNjZWRzIHdoZW4gdGhlcmUgYXJlIGZvdXIgZWxlbWVudHMg
aGF2aW5nICJ6eiAiLiBIb3dldmVyLCBvbmx5IHRoZSBsYXN0IG9uZSBzaG91bGQgbm90IGNvbnRh
dGluIHNwZWxsaW5nIG1hcmtlci4KIAogT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVz
IG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgogCiAKLVBB
U1MgaGFzTWFya2VkKCI8dGV4dGFyZWEgaWQ9J3Rlc3QnIGNvbHM9JzgwJyByb3dzPScxMCc+PC90
ZXh0YXJlYT4iKTsgaXMgdHJ1ZQotUEFTUyBoYXNNYXJrZWQoIjxpbnB1dCBpZD0ndGVzdCcgdHlw
ZT0ndGV4dCc+Iik7IGlzIHRydWUKLVBBU1MgaGFzTWFya2VkKCI8ZGl2IGlkPSd0ZXN0JyBjb250
ZW50ZWRpdGFibGU9J3RydWUnPjwvZGl2PiIpOyBpcyB0cnVlCi1QQVNTIGhhc01hcmtlZCgiPGRp
diBpZD0ndGVzdCcgY29udGVudEVkaXRhYmxlPSd0cnVlJyBzcGVsbGNoZWNrPSdmYWxzZSc+PC9k
aXY+Iik7IGlzIGZhbHNlCitQQVNTIGludGVybmFscy5oYXNTcGVsbGluZ01hcmtlcigwLCAyKSBi
ZWNhbWUgdHJ1ZQorUEFTUyBpbnRlcm5hbHMuaGFzU3BlbGxpbmdNYXJrZXIoMCwgMikgYmVjYW1l
IHRydWUKK1BBU1MgaW50ZXJuYWxzLmhhc1NwZWxsaW5nTWFya2VyKDAsIDIpIGJlY2FtZSB0cnVl
CitQQVNTIGludGVybmFscy5oYXNTcGVsbGluZ01hcmtlcigwLCAyKSBiZWNhbWUgZmFsc2UKIFBB
U1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKIAogVEVTVCBDT01QTEVURQpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zcGVsbGluZy9zcGVsbGluZy1oYXNzcGVsbGluZ21hcmtl
ci5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zcGVsbGluZy9zcGVsbGluZy1oYXNzcGVsbGlu
Z21hcmtlci5odG1sCmluZGV4IGY2MzEyNWU2ZGNhMTYyNTVkNjhlYTRkMWE1MjU4NDE5OTY5ZTUx
NmEuLjQ4Y2ZjMDA5MDhhMDUyZjQ2NGU3YjUwODQwODIzMWE3YjgyOTQ1MTUgMTAwNjQ0Ci0tLSBh
L0xheW91dFRlc3RzL2VkaXRpbmcvc3BlbGxpbmcvc3BlbGxpbmctaGFzc3BlbGxpbmdtYXJrZXIu
aHRtbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NwZWxsaW5nL3NwZWxsaW5nLWhhc3NwZWxs
aW5nbWFya2VyLmh0bWwKQEAgLTIsNiArMiw3IEBACiA8aHRtbD4KIDxoZWFkPgogPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iLi4vZWRpdGluZy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0icmVzb3VyY2VzL2pzLXRl
c3Qtc2VsZWN0aW9uLXNoYXJlZC5qcyI+PC9zY3JpcHQ+CiA8L2hlYWQ+CiA8Ym9keT4K
</data>
<flag name="review"
          id="247904"
          type_id="1"
          status="+"
          setter="rniwa"
    />
          </attachment>
      

    </bug>

</bugzilla>