<?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>127427</bug_id>
          
          <creation_ts>2014-01-22 07:37:00 -0800</creation_ts>
          <short_desc>[EFL] Spelling unit tests should use ecore_main_loop_iterate()</short_desc>
          <delta_ts>2014-02-10 05:00:05 -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>WebKit EFL</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Lukasz Bialek">l.bialek</reporter>
          <assigned_to name="Lukasz Bialek">l.bialek</assigned_to>
          <cc>bunhere</cc>
    
    <cc>cdumez</cc>
    
    <cc>commit-queue</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>lucas.de.marchi</cc>
    
    <cc>sergio</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>970688</commentid>
    <comment_count>0</comment_count>
    <who name="Lukasz Bialek">l.bialek</who>
    <bug_when>2014-01-22 07:37:00 -0800</bug_when>
    <thetext>Spelling unit tests used timers for waiting for function results as a result of implementation of spelling languages loading. After refactoring of this code, timers in unit tests were replaced with ecore_main_loop_iterate().</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>971593</commentid>
    <comment_count>1</comment_count>
      <attachid>222105</attachid>
    <who name="Lukasz Bialek">l.bialek</who>
    <bug_when>2014-01-24 06:23:06 -0800</bug_when>
    <thetext>Created attachment 222105
Proposed patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>971596</commentid>
    <comment_count>2</comment_count>
      <attachid>222105</attachid>
    <who name="Sergio Correia (qrwteyrutiyoup)">sergio</who>
    <bug_when>2014-01-24 06:53:50 -0800</bug_when>
    <thetext>Comment on attachment 222105
Proposed patch

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

&gt; Source/WebKit2/UIProcess/API/efl/tests/UnitTestUtils/EWK2UnitTestBase.cpp:243
&gt; +    Eina_List* loadedLanguages = 0;
&gt; +    void* actual = 0;

nullptr instead of 0.

&gt; Source/WebKit2/UIProcess/API/efl/tests/UnitTestUtils/EWK2UnitTestBase.cpp:249
&gt; +            actual = 0;

nullptr again.

&gt; Source/WebKit2/UIProcess/API/efl/tests/UnitTestUtils/EWK2UnitTestBase.cpp:255
&gt; +        ecore_main_loop_iterate();

The documentation seems to suggest this function to be avoided:
http://docs.enlightenment.org/auto/ecore/group__Ecore__Main__Loop__Group.html#ga7f5463c1d4f3f020968ed06d6e5816cb

Do you really need to use it here?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>971597</commentid>
    <comment_count>3</comment_count>
      <attachid>222105</attachid>
    <who name="Grzegorz Czajkowski">g.czajkowski</who>
    <bug_when>2014-01-24 06:57:33 -0800</bug_when>
    <thetext>Comment on attachment 222105
Proposed patch

You&apos;re right. EFL&apos;s spelchecking has stopped using idlers since r148670. Definitely +1 from my side. Thanks.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>971598</commentid>
    <comment_count>4</comment_count>
    <who name="Lukasz Bialek">l.bialek</who>
    <bug_when>2014-01-24 07:13:22 -0800</bug_when>
    <thetext>&gt; &gt; Source/WebKit2/UIProcess/API/efl/tests/UnitTestUtils/EWK2UnitTestBase.cpp:255
&gt; &gt; +        ecore_main_loop_iterate();
&gt; 
&gt; The documentation seems to suggest this function to be avoided:
&gt; http://docs.enlightenment.org/auto/ecore/group__Ecore__Main__Loop__Group.html#ga7f5463c1d4f3f020968ed06d6e5816cb
&gt; 
&gt; Do you really need to use it here?

This function is commonly used in spell-checking unit tests. It has been decided to use it here, just like in other places. That is why I think this specific usage of this function is valid.

It is quite important to mention, that previous solution was based on waiting specific time (always the same). New concept allows to quit waiting as soon as all need data is collected.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>972857</commentid>
    <comment_count>5</comment_count>
    <who name="Sergio Correia (qrwteyrutiyoup)">sergio</who>
    <bug_when>2014-01-28 02:33:32 -0800</bug_when>
    <thetext>(In reply to comment #4)
&gt; &gt; &gt; Source/WebKit2/UIProcess/API/efl/tests/UnitTestUtils/EWK2UnitTestBase.cpp:255
&gt; &gt; &gt; +        ecore_main_loop_iterate();
&gt; &gt; 
&gt; &gt; The documentation seems to suggest this function to be avoided:
&gt; &gt; http://docs.enlightenment.org/auto/ecore/group__Ecore__Main__Loop__Group.html#ga7f5463c1d4f3f020968ed06d6e5816cb
&gt; &gt; 
&gt; &gt; Do you really need to use it here?
&gt; 
&gt; This function is commonly used in spell-checking unit tests. It has been decided to use it here, just like in other places. That is why I think this specific usage of this function is valid.
&gt; 
&gt; It is quite important to mention, that previous solution was based on waiting specific time (always the same). New concept allows to quit waiting as soon as all need data is collected.

Go ahead, then :)
It&apos;s just the documentation kinda tells one to avoid it, but if it fits well the design here, no problem, I guess.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>977805</commentid>
    <comment_count>6</comment_count>
      <attachid>222105</attachid>
    <who name="Gyuyoung Kim">gyuyoung.kim</who>
    <bug_when>2014-02-07 03:48:42 -0800</bug_when>
    <thetext>Comment on attachment 222105
Proposed patch

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

rs=me

&gt;&gt; Source/WebKit2/UIProcess/API/efl/tests/UnitTestUtils/EWK2UnitTestBase.cpp:243
&gt;&gt; +    void* actual = 0;
&gt; 
&gt; nullptr instead of 0.

Please fix this one before landing.

&gt;&gt; Source/WebKit2/UIProcess/API/efl/tests/UnitTestUtils/EWK2UnitTestBase.cpp:249
&gt;&gt; +            actual = 0;
&gt; 
&gt; nullptr again.

ditto.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>978810</commentid>
    <comment_count>7</comment_count>
      <attachid>223689</attachid>
    <who name="Lukasz Bialek">l.bialek</who>
    <bug_when>2014-02-10 03:37:40 -0800</bug_when>
    <thetext>Created attachment 223689
Patch

Switched &quot; = 0&quot;  for &quot; = nullptr&quot;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>978812</commentid>
    <comment_count>8</comment_count>
      <attachid>223689</attachid>
    <who name="Gyuyoung Kim">gyuyoung.kim</who>
    <bug_when>2014-02-10 03:39:27 -0800</bug_when>
    <thetext>Comment on attachment 223689
Patch

Reviewer only can set r+. In this case, you need to request cq? only.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>978834</commentid>
    <comment_count>9</comment_count>
      <attachid>223689</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2014-02-10 05:00:01 -0800</bug_when>
    <thetext>Comment on attachment 223689
Patch

Clearing flags on attachment: 223689

Committed r163779: &lt;http://trac.webkit.org/changeset/163779&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>978835</commentid>
    <comment_count>10</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2014-02-10 05:00:05 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>222105</attachid>
            <date>2014-01-24 06:23:06 -0800</date>
            <delta_ts>2014-02-10 03:37:40 -0800</delta_ts>
            <desc>Proposed patch</desc>
            <filename>spellingUnitTestsPatch</filename>
            <type>text/plain</type>
            <size>8330</size>
            <attacher name="Lukasz Bialek">l.bialek</attacher>
            
              <data encoding="base64">Y29tbWl0IDViNGVkNjMzNTYyYjIxZWJiNzhhNDY0ODI4ZjJhZjgxNjZiMWRkNjMKQXV0aG9yOiBM
dWthc3ogQmlhbGVrIDxsLmJpYWxla0BzYW1zdW5nLmNvbT4KRGF0ZTogICBGcmkgSmFuIDI0IDEy
OjU4OjQ3IDIwMTQgKzAxMDAKCiAgICBbRUZMXSBTcGVsbGluZyB1bml0IHRlc3RzIHNob3VsZCB1
c2UgZWNvcmVfbWFpbl9sb29wX2l0ZXJhdGUoKQogICAgCiAgICBDaGFuZ2UtSWQ6IEk5NGFhMWI4
YzNlNDJjZGM0MWMyOTkyZjZkYmI5ZjY1MzMxYTFkY2VhCgpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdDIvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCmluZGV4IDc1YmM1Y2Uu
Ljc2NDQ5NDIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZworKysgYi9Tb3Vy
Y2UvV2ViS2l0Mi9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyNCBAQAorMjAxNC0wMS0yNCAgTHVrYXN6
IEJpYWxlayAgPGwuYmlhbGVrQHNhbXN1bmcuY29tPgorCisgICAgICAgIFtFRkxdIFNwZWxsaW5n
IHVuaXQgdGVzdHMgc2hvdWxkIHVzZSBlY29yZV9tYWluX2xvb3BfaXRlcmF0ZSgpCisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMjc0MjcKKworICAgICAg
ICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICByMTQ4NjcwIGdldHMgcmlk
IG9mIEVGTCdzIGlkbGVycyBpbiBhIGZhdm9yIG9mIHRpbWVycyB0byBsb2FkIGxhbmd1YWdlcy4K
KyAgICAgICAgZWNvcmVfbWFpbl9sb29wX2l0ZXJhdGUoKSBjYW4gYmUgdXNlZCBub3cuCisKKyAg
ICAgICAgQWRkIGZ1bmN0aW9uIHRoYXQgbG9hZHMgc3BlbGxjaGVja2luZyBsYW5ndWFnZXMgYW5k
IHdhaXRzIGZvciBsb2FkaW5nCisgICAgICAgIHRvIGJlIGZpbmlzaGVkOgorICAgICAgICAqIFVJ
UHJvY2Vzcy9BUEkvZWZsL3Rlc3RzL1VuaXRUZXN0VXRpbHMvRVdLMlVuaXRUZXN0QmFzZS5jcHA6
CisgICAgICAgIChFV0syVW5pdFRlc3Q6OkVXSzJVbml0VGVzdEJhc2U6OndhaXRGb3JMYW5ndWFn
ZUxvYWRpbmcpOgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvZWZsL3Rlc3RzL1VuaXRUZXN0VXRp
bHMvRVdLMlVuaXRUZXN0QmFzZS5oOgorCisgICAgICAgIEFwcGx5IGFkZGVkIGZ1bmN0aW9uIHRv
IHRlc3RzIHRoYXQgc2hvdWxkIHdhaXQgZm9yIGxhbmd1YWdlcyB0byBiZSBsb2FkZWQ6CisgICAg
ICAgICogVUlQcm9jZXNzL0FQSS9lZmwvdGVzdHMvdGVzdF9ld2syX3RleHRfY2hlY2tlci5jcHA6
CisgICAgICAgIChFV0syVGV4dENoZWNrZXJUZXN0OjpyZXNldENhbGxiYWNrc0V4ZWN1dGlvblN0
YXRzKToKKyAgICAgICAgKFRFU1RfRik6CisKIDIwMTQtMDEtMjQgIENzYWJhIE9zenRyb2dvbsOh
YyAgPG9zc3lAd2Via2l0Lm9yZz4KIAogICAgICAgICBbRUZMXVtXSzJdIERlYnVnIGJ1aWxkZml4
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC90ZXN0cy9Vbml0
VGVzdFV0aWxzL0VXSzJVbml0VGVzdEJhc2UuY3BwIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNz
L0FQSS9lZmwvdGVzdHMvVW5pdFRlc3RVdGlscy9FV0syVW5pdFRlc3RCYXNlLmNwcAppbmRleCBj
NjcxY2I3Li4zMzRhM2IwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJ
L2VmbC90ZXN0cy9Vbml0VGVzdFV0aWxzL0VXSzJVbml0VGVzdEJhc2UuY3BwCisrKyBiL1NvdXJj
ZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZsL3Rlc3RzL1VuaXRUZXN0VXRpbHMvRVdLMlVuaXRU
ZXN0QmFzZS5jcHAKQEAgLTIzNSw2ICsyMzUsMjkgQEAgYm9vbCBFV0syVW5pdFRlc3RCYXNlOjp3
YWl0VW50aWxUcnVlKGJvb2wgJmZsYWcsIGRvdWJsZSB0aW1lb3V0U2Vjb25kcykKICAgICByZXR1
cm4gIWRhdGEuZGlkVGltZU91dCgpOwogfQogCitFaW5hX0xpc3QqIEVXSzJVbml0VGVzdEJhc2U6
OndhaXRVbnRpbFNwZWxsaW5nTGFuZ3VhZ2VzTG9hZGVkKHVuc2lnbmVkIGV4cGVjdGVkTGFuZ3Vh
Z2VDb3VudCwgZG91YmxlIHRpbWVvdXRWYWx1ZSkKK3sKKyAgICAvLyBLZWVwIHdhaXRpbmcgdW50
aWwgYWxsIGxhbmd1YWdlcyBoYXMgYmVlbiBsb2FkZWQgb3IgbGVhdmUgYWZ0ZXIgdGltZW91dC4K
KyAgICAvLyBMYW5ndWFnZXMgYXJlIGJlaW5nIGxvYWRlZCBpbiB0aGUgdGltZXIsIHdlIGhhdmUg
dG8gd2FpdCBmb3IgdGhlbS4KKyAgICBFaW5hX0xpc3QqIGxvYWRlZExhbmd1YWdlcyA9IDA7Cisg
ICAgdm9pZCogYWN0dWFsID0gMDsKKworICAgIENhbGxiYWNrRGF0YUV4cGVjdGVkVmFsdWU8Ym9v
bD4gZGF0YSh0cnVlLCB0aW1lb3V0VmFsdWUpOworICAgIHdoaWxlICgoZWluYV9saXN0X2NvdW50
KGxvYWRlZExhbmd1YWdlcykgIT0gZXhwZWN0ZWRMYW5ndWFnZUNvdW50KSAmJiAhZGF0YS5pc0Rv
bmUoKSkgeworICAgICAgICBpZiAobG9hZGVkTGFuZ3VhZ2VzKSB7CisgICAgICAgICAgICAvLyBM
aXN0IGhhcyB0byBiZSBmcmVlZCBiZWZvcmUgYWNxdWlyaW5nIG5ldyBvbmUuCisgICAgICAgICAg
ICBhY3R1YWwgPSAwOworICAgICAgICAgICAgRUlOQV9MSVNUX0ZSRUUobG9hZGVkTGFuZ3VhZ2Vz
LCBhY3R1YWwpCisgICAgICAgICAgICAgICAgZWluYV9zdHJpbmdzaGFyZV9kZWwoc3RhdGljX2Nh
c3Q8Y29uc3QgY2hhcio+KGFjdHVhbCkpOworICAgICAgICB9CisKKyAgICAgICAgbG9hZGVkTGFu
Z3VhZ2VzID0gZXdrX3RleHRfY2hlY2tlcl9zcGVsbF9jaGVja2luZ19sYW5ndWFnZXNfZ2V0KCk7
CisgICAgICAgIGVjb3JlX21haW5fbG9vcF9pdGVyYXRlKCk7CisgICAgfQorCisgICAgcmV0dXJu
IGxvYWRlZExhbmd1YWdlczsKK30KKwogdm9pZCBFV0syVW5pdFRlc3RCYXNlOjptb3VzZUNsaWNr
KGludCB4LCBpbnQgeSwgaW50IGJ1dHRvbikKIHsKICAgICBFdmFzKiBldmFzID0gZXZhc19vYmpl
Y3RfZXZhc19nZXQobV93ZWJWaWV3KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJv
Y2Vzcy9BUEkvZWZsL3Rlc3RzL1VuaXRUZXN0VXRpbHMvRVdLMlVuaXRUZXN0QmFzZS5oIGIvU291
cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9lZmwvdGVzdHMvVW5pdFRlc3RVdGlscy9FV0syVW5p
dFRlc3RCYXNlLmgKaW5kZXggMTIwNDdkYS4uNjNjNDlmMCAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdDIvVUlQcm9jZXNzL0FQSS9lZmwvdGVzdHMvVW5pdFRlc3RVdGlscy9FV0syVW5pdFRlc3RC
YXNlLmgKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9lZmwvdGVzdHMvVW5pdFRl
c3RVdGlscy9FV0syVW5pdFRlc3RCYXNlLmgKQEAgLTUxLDYgKzUxLDcgQEAgcHJvdGVjdGVkOgog
ICAgIGJvb2wgd2FpdFVudGlsVGl0bGVDaGFuZ2VkVG8oY29uc3QgY2hhciogZXhwZWN0ZWRUaXRs
ZSwgZG91YmxlIHRpbWVvdXRTZWNvbmRzID0gZGVmYXVsdFRpbWVvdXRTZWNvbmRzKTsKICAgICBi
b29sIHdhaXRVbnRpbFVSTENoYW5nZWRUbyhjb25zdCBjaGFyKiBleHBlY3RlZFVSTCwgZG91Ymxl
IHRpbWVvdXRTZWNvbmRzID0gZGVmYXVsdFRpbWVvdXRTZWNvbmRzKTsKICAgICBib29sIHdhaXRV
bnRpbFRydWUoYm9vbCAmZmxhZywgZG91YmxlIHRpbWVvdXRTZWNvbmRzID0gZGVmYXVsdFRpbWVv
dXRTZWNvbmRzKTsKKyAgICBFaW5hX0xpc3QqIHdhaXRVbnRpbFNwZWxsaW5nTGFuZ3VhZ2VzTG9h
ZGVkKHVuc2lnbmVkIGV4cGVjdGVkTGFuZ3VhZ2VDb3VudCwgZG91YmxlIHRpbWVvdXRWYWx1ZSA9
IGRlZmF1bHRUaW1lb3V0U2Vjb25kcyk7CiAKICAgICB2b2lkIG1vdXNlQ2xpY2soaW50IHgsIGlu
dCB5LCBpbnQgYnV0dG9uID0gMSAvKkxlZnQqLyk7CiAgICAgdm9pZCBtb3VzZURvdWJsZUNsaWNr
KGludCB4LCBpbnQgeSwgaW50IGJ1dHRvbiA9IDEgLypMZWZ0Ki8pOwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9lZmwvdGVzdHMvdGVzdF9ld2syX3RleHRfY2hlY2tl
ci5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC90ZXN0cy90ZXN0X2V3azJf
dGV4dF9jaGVja2VyLmNwcAppbmRleCA3NWE2OTVjLi42YjJhMDIyIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC90ZXN0cy90ZXN0X2V3azJfdGV4dF9jaGVja2Vy
LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC90ZXN0cy90ZXN0X2V3
azJfdGV4dF9jaGVja2VyLmNwcApAQCAtNDIsNyArNDIsNiBAQCBzdGF0aWMgY29uc3QgdWludDY0
X3QgZGVmYXVsdERvY3VtZW50VGFnID0gMTIzOwogc3RhdGljIGNvbnN0IGNoYXIgZXhwZWN0ZWRN
aXNzcGVsbGVkV29yZFtdID0gImFhIjsKIHN0YXRpYyBjb25zdCBFdmFzX09iamVjdCogZGVmYXVs
dFZpZXcgPSAwOwogc3RhdGljIGJvb2wgaXNTZXR0aW5nRW5hYmxlZCA9IGZhbHNlOwotc3RhdGlj
IEVjb3JlX1RpbWVyKiB0aW1lb3V0VGltZXIgPSAwOwogc3RhdGljIGRvdWJsZSBkZWZhdWx0VGlt
ZW91dEluU2Vjb25kcyA9IDAuNTsKIAogc3RhdGljIGJvb2wgd2FzQ29udGV4dE1lbnVTaG93biA9
IGZhbHNlOwpAQCAtNzksMTkgKzc4LDYgQEAgcHVibGljOgogICAgIH0KIAogICAgIC8qKgotICAg
ICAqIEhhbmRsZSB0aGUgdGltZW91dCwgaXQgbWF5IGhhcHBlbiBmb3IgdGhlIGFzeW5jaHJvbm91
cyB0ZXN0cy4KLSAgICAgKgotICAgICAqIEBpbnRlcm5hbAotICAgICAqCi0gICAgICogQHJldHVy
biB0aGUgRUNPUkVfQ0FMTEJBQ0tfQ0FOQ0VMIGZsYWcgdG8gZGVsZXRlIHRoZSB0aW1lciBhdXRv
bWF0aWNhbGx5Ci0gICAgICovCi0gICAgc3RhdGljIEVpbmFfQm9vbCBvblRpbWVvdXQodm9pZCop
Ci0gICAgewotICAgICAgICBlY29yZV9tYWluX2xvb3BfcXVpdCgpOwotICAgICAgICByZXR1cm4g
RUNPUkVfQ0FMTEJBQ0tfQ0FOQ0VMOwotICAgIH0KLQotICAgIC8qKgogICAgICAqIFRoaXMgY2Fs
bGJhY2sgdGVzdHMgd2hldGhlciB0aGUgY2xpZW50J3MgY2FsbGJhY2sgaXMgY2FsbGVkIHdoZW4g
dGhlIHNwZWxsIGNoZWNraW5nIHNldHRpbmcgd2FzIGNoYW5nZWQuCiAgICAgICoKICAgICAgKiBA
aW50ZXJuYWwKQEAgLTUwNSwxMSArNDkxLDggQEAgVEVTVF9GKEVXSzJUZXh0Q2hlY2tlclRlc3Qs
IHNwZWxsaW5nX3N1Z2dlc3Rpb25fZm9yX2RvdWJsZV9jbGlja2VkX3dvcmQpCiBURVNUX0YoRVdL
MlRleHRDaGVja2VyVGVzdCwgZXdrX3RleHRfY2hlY2tlcl9zcGVsbF9jaGVja2luZ19sYW5ndWFn
ZXNfZ2V0KQogewogICAgIGV3a190ZXh0X2NoZWNrZXJfY29udGludW91c19zcGVsbF9jaGVja2lu
Z19lbmFibGVkX3NldChmYWxzZSk7Ci0gICAgLy8gVGhlIGxhbmd1YWdlIGlzIGJlaW5nIGxvYWRl
ZCBvbiB0aGUgaWRsZXIsIHdhaXQgZm9yIGl0LgotICAgIHRpbWVvdXRUaW1lciA9IGVjb3JlX3Rp
bWVyX2FkZChkZWZhdWx0VGltZW91dEluU2Vjb25kcywgb25UaW1lb3V0LCAwKTsKLSAgICBlY29y
ZV9tYWluX2xvb3BfYmVnaW4oKTsKIAotICAgIEVpbmFfTGlzdCogbG9hZGVkTGFuZ3VhZ2VzID0g
ZXdrX3RleHRfY2hlY2tlcl9zcGVsbF9jaGVja2luZ19sYW5ndWFnZXNfZ2V0KCk7CisgICAgRWlu
YV9MaXN0KiBsb2FkZWRMYW5ndWFnZXMgPSB3YWl0VW50aWxTcGVsbGluZ0xhbmd1YWdlc0xvYWRl
ZCgxLCBkZWZhdWx0VGltZW91dEluU2Vjb25kcyk7CiAgICAgLy8gTm8gZGljdGlvbmFyeSBpcyBh
dmFpbGFibGUvaW5zdGFsbGVkLgogICAgIGlmICghbG9hZGVkTGFuZ3VhZ2VzKQogICAgICAgICBy
ZXR1cm47CkBAIC01MjIsMTAgKzUwNSw4IEBAIFRFU1RfRihFV0syVGV4dENoZWNrZXJUZXN0LCBl
d2tfdGV4dF9jaGVja2VyX3NwZWxsX2NoZWNraW5nX2xhbmd1YWdlc19nZXQpCiAKICAgICAvLyBS
ZXBlYXQgdGhlIGNoZWNraW5nIHdoZW4gY29udGludW91cyBzcGVsbCBjaGVja2luZyBzZXR0aW5n
IGlzIG9uLgogICAgIGV3a190ZXh0X2NoZWNrZXJfY29udGludW91c19zcGVsbF9jaGVja2luZ19l
bmFibGVkX3NldCh0cnVlKTsKLSAgICB0aW1lb3V0VGltZXIgPSBlY29yZV90aW1lcl9hZGQoZGVm
YXVsdFRpbWVvdXRJblNlY29uZHMsIG9uVGltZW91dCwgMCk7Ci0gICAgZWNvcmVfbWFpbl9sb29w
X2JlZ2luKCk7CiAKLSAgICBsb2FkZWRMYW5ndWFnZXMgPSBld2tfdGV4dF9jaGVja2VyX3NwZWxs
X2NoZWNraW5nX2xhbmd1YWdlc19nZXQoKTsKKyAgICBsb2FkZWRMYW5ndWFnZXMgPSB3YWl0VW50
aWxTcGVsbGluZ0xhbmd1YWdlc0xvYWRlZCgxLCBkZWZhdWx0VGltZW91dEluU2Vjb25kcyk7CiAg
ICAgaWYgKCFsb2FkZWRMYW5ndWFnZXMpCiAgICAgICAgIHJldHVybjsKIApAQCAtNjY0LDEyICs2
NDUsOCBAQCBURVNUX0YoRVdLMlRleHRDaGVja2VyVGVzdCwgZXdrX3RleHRfY2hlY2tlcl9zcGVs
bF9jaGVja2luZ19hdmFpbGFibGVfbGFuZ3VhZ2VzXwogICAgIC8vIFNldCBhbGwgYXZhaWxhYmxl
IGxhbmd1YWdlcy4KICAgICBld2tfdGV4dF9jaGVja2VyX3NwZWxsX2NoZWNraW5nX2xhbmd1YWdl
c19zZXQobGFuZ3VhZ2VzLnRvU3RyaW5nKCkudXRmOCgpLmRhdGEoKSk7CiAKLSAgICAvLyBMYW5n
dWFnZXMgYXJlIGJlaW5nIGxvYWRlZCBvbiB0aGUgaWRsZXIsIHdhaXQgZm9yIHRoZW0uCi0gICAg
dGltZW91dFRpbWVyID0gZWNvcmVfdGltZXJfYWRkKGRlZmF1bHRUaW1lb3V0SW5TZWNvbmRzLCBv
blRpbWVvdXQsIDApOwotICAgIGVjb3JlX21haW5fbG9vcF9iZWdpbigpOwotCiAgICAgLy8gR2V0
IHRoZSBsYW5ndWFnZXMgaW4gdXNlLgotICAgIEVpbmFfTGlzdCogbG9hZGVkTGFuZ3VhZ2VzID0g
ZXdrX3RleHRfY2hlY2tlcl9zcGVsbF9jaGVja2luZ19sYW5ndWFnZXNfZ2V0KCk7CisgICAgRWlu
YV9MaXN0KiBsb2FkZWRMYW5ndWFnZXMgPSB3YWl0VW50aWxTcGVsbGluZ0xhbmd1YWdlc0xvYWRl
ZChlaW5hX2xpc3RfY291bnQoYXZhaWxhYmxlTGFuZ3VhZ2VzKSwgZGVmYXVsdFRpbWVvdXRJblNl
Y29uZHMpOwogICAgIEFTU0VSVF9FUShlaW5hX2xpc3RfY291bnQobG9hZGVkTGFuZ3VhZ2VzKSwg
ZWluYV9saXN0X2NvdW50KGF2YWlsYWJsZUxhbmd1YWdlcykpOwogCiAgICAgaSA9IDA7CkBAIC02
OTgsMTEgKzY3NSw3IEBAIFRFU1RfRihFV0syVGV4dENoZWNrZXJUZXN0LCBld2tfdGV4dF9jaGVj
a2VyX3NwZWxsX2NoZWNraW5nX2xhbmd1YWdlcykKICAgICAvLyBTZXQgdGhlIGRlZmF1bHQgbGFu
Z3VhZ2UuCiAgICAgZXdrX3RleHRfY2hlY2tlcl9zcGVsbF9jaGVja2luZ19sYW5ndWFnZXNfc2V0
KDApOwogCi0gICAgLy8gTGFuZ3VhZ2VzIGFyZSBiZWluZyBsb2FkZWQgb24gdGhlIGlkbGVyLCB3
YWl0IGZvciB0aGVtLgotICAgIHRpbWVvdXRUaW1lciA9IGVjb3JlX3RpbWVyX2FkZChkZWZhdWx0
VGltZW91dEluU2Vjb25kcywgb25UaW1lb3V0LCAwKTsKLSAgICBlY29yZV9tYWluX2xvb3BfYmVn
aW4oKTsKLQotICAgIEVpbmFfTGlzdCogbG9hZGVkTGFuZ3VhZ2VzID0gZXdrX3RleHRfY2hlY2tl
cl9zcGVsbF9jaGVja2luZ19sYW5ndWFnZXNfZ2V0KCk7CisgICAgRWluYV9MaXN0KiBsb2FkZWRM
YW5ndWFnZXMgPSB3YWl0VW50aWxTcGVsbGluZ0xhbmd1YWdlc0xvYWRlZCgxLCBkZWZhdWx0VGlt
ZW91dEluU2Vjb25kcyk7CiAgICAgLy8gTm8gZGljdGlvbmFyeSBpcyBhdmFpbGFibGUvaW5zdGFs
bGVkIG9yIHRoZSBTUEVMTENIRUNLIG1hY3JvIGlzIGRpc2FibGVkLgogICAgIGlmICghbG9hZGVk
TGFuZ3VhZ2VzKQogICAgICAgICByZXR1cm47CkBAIC03MzQsMTAgKzcwNyw3IEBAIFRFU1RfRihF
V0syVGV4dENoZWNrZXJUZXN0LCBld2tfdGV4dF9jaGVja2VyX3NwZWxsX2NoZWNraW5nX2xhbmd1
YWdlcykKICAgICAvLyBTZXQgYm90aCBsYW5ndWFnZXMgKHRoZSBmaXJzdCBhbmQgdGhlIGxhc3Qp
IGZyb20gdGhlIGxpc3QuCiAgICAgZXdrX3RleHRfY2hlY2tlcl9zcGVsbF9jaGVja2luZ19sYW5n
dWFnZXNfc2V0KGxhbmd1YWdlcy50b1N0cmluZygpLnV0ZjgoKS5kYXRhKCkpOwogCi0gICAgdGlt
ZW91dFRpbWVyID0gZWNvcmVfdGltZXJfYWRkKGRlZmF1bHRUaW1lb3V0SW5TZWNvbmRzLCBvblRp
bWVvdXQsIDApOwotICAgIGVjb3JlX21haW5fbG9vcF9iZWdpbigpOwotCi0gICAgbG9hZGVkTGFu
Z3VhZ2VzID0gZXdrX3RleHRfY2hlY2tlcl9zcGVsbF9jaGVja2luZ19sYW5ndWFnZXNfZ2V0KCk7
CisgICAgbG9hZGVkTGFuZ3VhZ2VzID0gd2FpdFVudGlsU3BlbGxpbmdMYW5ndWFnZXNMb2FkZWQo
MiwgZGVmYXVsdFRpbWVvdXRJblNlY29uZHMpOwogICAgIEFTU0VSVF9FUSgyLCBlaW5hX2xpc3Rf
Y291bnQobG9hZGVkTGFuZ3VhZ2VzKSk7CiAKICAgICBFWFBFQ1RfU1RSRVEoZmlyc3RFeHBlY3Rl
ZCwgc3RhdGljX2Nhc3Q8Y29uc3QgY2hhcio+KGVpbmFfbGlzdF9udGgobG9hZGVkTGFuZ3VhZ2Vz
LCAwKSkpOwo=
</data>
<flag name="review"
          id="246073"
          type_id="1"
          status="+"
          setter="gyuyoung.kim"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>223689</attachid>
            <date>2014-02-10 03:37:40 -0800</date>
            <delta_ts>2014-02-10 05:00:01 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>spellingUnitTestsPatch.patch</filename>
            <type>text/plain</type>
            <size>8346</size>
            <attacher name="Lukasz Bialek">l.bialek</attacher>
            
              <data encoding="base64">Y29tbWl0IDViNGVkNjMzNTYyYjIxZWJiNzhhNDY0ODI4ZjJhZjgxNjZiMWRkNjMKQXV0aG9yOiBM
dWthc3ogQmlhbGVrIDxsLmJpYWxla0BzYW1zdW5nLmNvbT4KRGF0ZTogICBNb24gRmViIDEwIDEy
OjMzOjQ3IDIwMTQgKzAxMDAKCiAgICBbRUZMXSBTcGVsbGluZyB1bml0IHRlc3RzIHNob3VsZCB1
c2UgZWNvcmVfbWFpbl9sb29wX2l0ZXJhdGUoKQogICAgCiAgICBDaGFuZ2UtSWQ6IEk5NGFhMWI4
YzNlNDJjZGM0MWMyOTkyZjZkYmI5ZjY1MzMxYTFkY2VhCgpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdDIvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCmluZGV4IDc1YmM1Y2Uu
Ljc2NDQ5NDIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZworKysgYi9Tb3Vy
Y2UvV2ViS2l0Mi9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyNCBAQAorMjAxNC0wMi0xMCAgTHVrYXN6
IEJpYWxlayAgPGwuYmlhbGVrQHNhbXN1bmcuY29tPgorCisgICAgICAgIFtFRkxdIFNwZWxsaW5n
IHVuaXQgdGVzdHMgc2hvdWxkIHVzZSBlY29yZV9tYWluX2xvb3BfaXRlcmF0ZSgpCisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMjc0MjcKKworICAgICAg
ICBSZXZpZXdlZCBieSBHeXV5b3VuZyBLaW0uCisKKyAgICAgICAgcjE0ODY3MCBnZXRzIHJpZCBv
ZiBFRkwncyBpZGxlcnMgaW4gYSBmYXZvciBvZiB0aW1lcnMgdG8gbG9hZCBsYW5ndWFnZXMuCisg
ICAgICAgIGVjb3JlX21haW5fbG9vcF9pdGVyYXRlKCkgY2FuIGJlIHVzZWQgbm93LgorCisgICAg
ICAgIEFkZCBmdW5jdGlvbiB0aGF0IGxvYWRzIHNwZWxsY2hlY2tpbmcgbGFuZ3VhZ2VzIGFuZCB3
YWl0cyBmb3IgbG9hZGluZworICAgICAgICB0byBiZSBmaW5pc2hlZDoKKyAgICAgICAgKiBVSVBy
b2Nlc3MvQVBJL2VmbC90ZXN0cy9Vbml0VGVzdFV0aWxzL0VXSzJVbml0VGVzdEJhc2UuY3BwOgor
ICAgICAgICAoRVdLMlVuaXRUZXN0OjpFV0syVW5pdFRlc3RCYXNlOjp3YWl0Rm9yTGFuZ3VhZ2VM
b2FkaW5nKToKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL2VmbC90ZXN0cy9Vbml0VGVzdFV0aWxz
L0VXSzJVbml0VGVzdEJhc2UuaDoKKworICAgICAgICBBcHBseSBhZGRlZCBmdW5jdGlvbiB0byB0
ZXN0cyB0aGF0IHNob3VsZCB3YWl0IGZvciBsYW5ndWFnZXMgdG8gYmUgbG9hZGVkOgorICAgICAg
ICAqIFVJUHJvY2Vzcy9BUEkvZWZsL3Rlc3RzL3Rlc3RfZXdrMl90ZXh0X2NoZWNrZXIuY3BwOgor
ICAgICAgICAoRVdLMlRleHRDaGVja2VyVGVzdDo6cmVzZXRDYWxsYmFja3NFeGVjdXRpb25TdGF0
cyk6CisgICAgICAgIChURVNUX0YpOgorCiAyMDE0LTAyLTA5ICBDYXJsb3MgR2FybmFjaG8gIDxj
YXJsb3NnQGdub21lLm9yZz4KIAogICAgICAgICBbRUZMXVtXSzJdIERlYnVnIGJ1aWxkZml4CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC90ZXN0cy9Vbml0VGVz
dFV0aWxzL0VXSzJVbml0VGVzdEJhc2UuY3BwIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQ
SS9lZmwvdGVzdHMvVW5pdFRlc3RVdGlscy9FV0syVW5pdFRlc3RCYXNlLmNwcAppbmRleCBjNjcx
Y2I3Li4zMzRhM2IwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2Vm
bC90ZXN0cy9Vbml0VGVzdFV0aWxzL0VXSzJVbml0VGVzdEJhc2UuY3BwCisrKyBiL1NvdXJjZS9X
ZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZsL3Rlc3RzL1VuaXRUZXN0VXRpbHMvRVdLMlVuaXRUZXN0
QmFzZS5jcHAKQEAgLTIzNSw2ICsyMzUsMjkgQEAgYm9vbCBFV0syVW5pdFRlc3RCYXNlOjp3YWl0
VW50aWxUcnVlKGJvb2wgJmZsYWcsIGRvdWJsZSB0aW1lb3V0U2Vjb25kcykKICAgICByZXR1cm4g
IWRhdGEuZGlkVGltZU91dCgpOwogfQogCitFaW5hX0xpc3QqIEVXSzJVbml0VGVzdEJhc2U6Ondh
aXRVbnRpbFNwZWxsaW5nTGFuZ3VhZ2VzTG9hZGVkKHVuc2lnbmVkIGV4cGVjdGVkTGFuZ3VhZ2VD
b3VudCwgZG91YmxlIHRpbWVvdXRWYWx1ZSkKK3sKKyAgICAvLyBLZWVwIHdhaXRpbmcgdW50aWwg
YWxsIGxhbmd1YWdlcyBoYXMgYmVlbiBsb2FkZWQgb3IgbGVhdmUgYWZxdGVyIHRpbWVvdXQuCisg
ICAgLy8gTGFuZ3VhZ2VzIGFyZSBiZWluZyBsb2FkZWQgaW4gdGhlIHRpbWVyLCB3ZSBoYXZlIHRv
IHdhaXQgZm9yIHRoZW0uCisgICAgRWluYV9MaXN0KiBsb2FkZWRMYW5ndWFnZXMgPSBudWxscHRy
OworICAgIHZvaWQqIGFjdHVhbCA9IG51bGxwdHI7CisKKyAgICBDYWxsYmFja0RhdGFFeHBlY3Rl
ZFZhbHVlPGJvb2w+IGRhdGEodHJ1ZSwgdGltZW91dFZhbHVlKTsKKyAgICB3aGlsZSAoKGVpbmFf
bGlzdF9jb3VudChsb2FkZWRMYW5ndWFnZXMpICE9IGV4cGVjdGVkTGFuZ3VhZ2VDb3VudCkgJiYg
IWRhdGEuaXNEb25lKCkpIHsKKyAgICAgICAgaWYgKGxvYWRlZExhbmd1YWdlcykgeworICAgICAg
ICAgICAgLy8gTGlzdCBoYXMgdG8gYmUgZnJlZWQgYmVmb3JlIGFjcXVpcmluZyBuZXcgb25lLgor
ICAgICAgICAgICAgYWN0dWFsID0gbnVsbHB0cjsKKyAgICAgICAgICAgIEVJTkFfTElTVF9GUkVF
KGxvYWRlZExhbmd1YWdlcywgYWN0dWFsKQorICAgICAgICAgICAgICAgIGVpbmFfc3RyaW5nc2hh
cmVfZGVsKHN0YXRpY19jYXN0PGNvbnN0IGNoYXIqPihhY3R1YWwpKTsKKyAgICAgICAgfQorCisg
ICAgICAgIGxvYWRlZExhbmd1YWdlcyA9IGV3a190ZXh0X2NoZWNrZXJfc3BlbGxfY2hlY2tpbmdf
bGFuZ3VhZ2VzX2dldCgpOworICAgICAgICBlY29yZV9tYWluX2xvb3BfaXRlcmF0ZSgpOworICAg
IH0KKworICAgIHJldHVybiBsb2FkZWRMYW5ndWFnZXM7Cit9CisKIHZvaWQgRVdLMlVuaXRUZXN0
QmFzZTo6bW91c2VDbGljayhpbnQgeCwgaW50IHksIGludCBidXR0b24pCiB7CiAgICAgRXZhcyog
ZXZhcyA9IGV2YXNfb2JqZWN0X2V2YXNfZ2V0KG1fd2ViVmlldyk7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC90ZXN0cy9Vbml0VGVzdFV0aWxzL0VXSzJVbml0
VGVzdEJhc2UuaCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZsL3Rlc3RzL1VuaXRU
ZXN0VXRpbHMvRVdLMlVuaXRUZXN0QmFzZS5oCmluZGV4IDEyMDQ3ZGEuLjYzYzQ5ZjAgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZsL3Rlc3RzL1VuaXRUZXN0VXRp
bHMvRVdLMlVuaXRUZXN0QmFzZS5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkv
ZWZsL3Rlc3RzL1VuaXRUZXN0VXRpbHMvRVdLMlVuaXRUZXN0QmFzZS5oCkBAIC01MSw2ICs1MSw3
IEBAIHByb3RlY3RlZDoKICAgICBib29sIHdhaXRVbnRpbFRpdGxlQ2hhbmdlZFRvKGNvbnN0IGNo
YXIqIGV4cGVjdGVkVGl0bGUsIGRvdWJsZSB0aW1lb3V0U2Vjb25kcyA9IGRlZmF1bHRUaW1lb3V0
U2Vjb25kcyk7CiAgICAgYm9vbCB3YWl0VW50aWxVUkxDaGFuZ2VkVG8oY29uc3QgY2hhciogZXhw
ZWN0ZWRVUkwsIGRvdWJsZSB0aW1lb3V0U2Vjb25kcyA9IGRlZmF1bHRUaW1lb3V0U2Vjb25kcyk7
CiAgICAgYm9vbCB3YWl0VW50aWxUcnVlKGJvb2wgJmZsYWcsIGRvdWJsZSB0aW1lb3V0U2Vjb25k
cyA9IGRlZmF1bHRUaW1lb3V0U2Vjb25kcyk7CisgICAgRWluYV9MaXN0KiB3YWl0VW50aWxTcGVs
bGluZ0xhbmd1YWdlc0xvYWRlZCh1bnNpZ25lZCBleHBlY3RlZExhbmd1YWdlQ291bnQsIGRvdWJs
ZSB0aW1lb3V0VmFsdWUgPSBkZWZhdWx0VGltZW91dFNlY29uZHMpOwogCiAgICAgdm9pZCBtb3Vz
ZUNsaWNrKGludCB4LCBpbnQgeSwgaW50IGJ1dHRvbiA9IDEgLypMZWZ0Ki8pOwogICAgIHZvaWQg
bW91c2VEb3VibGVDbGljayhpbnQgeCwgaW50IHksIGludCBidXR0b24gPSAxIC8qTGVmdCovKTsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZsL3Rlc3RzL3Rlc3Rf
ZXdrMl90ZXh0X2NoZWNrZXIuY3BwIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9lZmwv
dGVzdHMvdGVzdF9ld2syX3RleHRfY2hlY2tlci5jcHAKaW5kZXggNzVhNjk1Yy4uNmIyYTAyMiAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9lZmwvdGVzdHMvdGVzdF9l
d2syX3RleHRfY2hlY2tlci5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9l
ZmwvdGVzdHMvdGVzdF9ld2syX3RleHRfY2hlY2tlci5jcHAKQEAgLTQyLDcgKzQyLDYgQEAgc3Rh
dGljIGNvbnN0IHVpbnQ2NF90IGRlZmF1bHREb2N1bWVudFRhZyA9IDEyMzsKIHN0YXRpYyBjb25z
dCBjaGFyIGV4cGVjdGVkTWlzc3BlbGxlZFdvcmRbXSA9ICJhYSI7CiBzdGF0aWMgY29uc3QgRXZh
c19PYmplY3QqIGRlZmF1bHRWaWV3ID0gMDsKIHN0YXRpYyBib29sIGlzU2V0dGluZ0VuYWJsZWQg
PSBmYWxzZTsKLXN0YXRpYyBFY29yZV9UaW1lciogdGltZW91dFRpbWVyID0gMDsKIHN0YXRpYyBk
b3VibGUgZGVmYXVsdFRpbWVvdXRJblNlY29uZHMgPSAwLjU7CiAKIHN0YXRpYyBib29sIHdhc0Nv
bnRleHRNZW51U2hvd24gPSBmYWxzZTsKQEAgLTc5LDE5ICs3OCw2IEBAIHB1YmxpYzoKICAgICB9
CiAKICAgICAvKioKLSAgICAgKiBIYW5kbGUgdGhlIHRpbWVvdXQsIGl0IG1heSBoYXBwZW4gZm9y
IHRoZSBhc3luY2hyb25vdXMgdGVzdHMuCi0gICAgICoKLSAgICAgKiBAaW50ZXJuYWwKLSAgICAg
KgotICAgICAqIEByZXR1cm4gdGhlIEVDT1JFX0NBTExCQUNLX0NBTkNFTCBmbGFnIHRvIGRlbGV0
ZSB0aGUgdGltZXIgYXV0b21hdGljYWxseQotICAgICAqLwotICAgIHN0YXRpYyBFaW5hX0Jvb2wg
b25UaW1lb3V0KHZvaWQqKQotICAgIHsKLSAgICAgICAgZWNvcmVfbWFpbl9sb29wX3F1aXQoKTsK
LSAgICAgICAgcmV0dXJuIEVDT1JFX0NBTExCQUNLX0NBTkNFTDsKLSAgICB9Ci0KLSAgICAvKioK
ICAgICAgKiBUaGlzIGNhbGxiYWNrIHRlc3RzIHdoZXRoZXIgdGhlIGNsaWVudCdzIGNhbGxiYWNr
IGlzIGNhbGxlZCB3aGVuIHRoZSBzcGVsbCBjaGVja2luZyBzZXR0aW5nIHdhcyBjaGFuZ2VkLgog
ICAgICAqCiAgICAgICogQGludGVybmFsCkBAIC01MDUsMTEgKzQ5MSw4IEBAIFRFU1RfRihFV0sy
VGV4dENoZWNrZXJUZXN0LCBzcGVsbGluZ19zdWdnZXN0aW9uX2Zvcl9kb3VibGVfY2xpY2tlZF93
b3JkKQogVEVTVF9GKEVXSzJUZXh0Q2hlY2tlclRlc3QsIGV3a190ZXh0X2NoZWNrZXJfc3BlbGxf
Y2hlY2tpbmdfbGFuZ3VhZ2VzX2dldCkKIHsKICAgICBld2tfdGV4dF9jaGVja2VyX2NvbnRpbnVv
dXNfc3BlbGxfY2hlY2tpbmdfZW5hYmxlZF9zZXQoZmFsc2UpOwotICAgIC8vIFRoZSBsYW5ndWFn
ZSBpcyBiZWluZyBsb2FkZWQgb24gdGhlIGlkbGVyLCB3YWl0IGZvciBpdC4KLSAgICB0aW1lb3V0
VGltZXIgPSBlY29yZV90aW1lcl9hZGQoZGVmYXVsdFRpbWVvdXRJblNlY29uZHMsIG9uVGltZW91
dCwgMCk7Ci0gICAgZWNvcmVfbWFpbl9sb29wX2JlZ2luKCk7CiAKLSAgICBFaW5hX0xpc3QqIGxv
YWRlZExhbmd1YWdlcyA9IGV3a190ZXh0X2NoZWNrZXJfc3BlbGxfY2hlY2tpbmdfbGFuZ3VhZ2Vz
X2dldCgpOworICAgIEVpbmFfTGlzdCogbG9hZGVkTGFuZ3VhZ2VzID0gd2FpdFVudGlsU3BlbGxp
bmdMYW5ndWFnZXNMb2FkZWQoMSwgZGVmYXVsdFRpbWVvdXRJblNlY29uZHMpOwogICAgIC8vIE5v
IGRpY3Rpb25hcnkgaXMgYXZhaWxhYmxlL2luc3RhbGxlZC4KICAgICBpZiAoIWxvYWRlZExhbmd1
YWdlcykKICAgICAgICAgcmV0dXJuOwpAQCAtNTIyLDEwICs1MDUsOCBAQCBURVNUX0YoRVdLMlRl
eHRDaGVja2VyVGVzdCwgZXdrX3RleHRfY2hlY2tlcl9zcGVsbF9jaGVja2luZ19sYW5ndWFnZXNf
Z2V0KQogCiAgICAgLy8gUmVwZWF0IHRoZSBjaGVja2luZyB3aGVuIGNvbnRpbnVvdXMgc3BlbGwg
Y2hlY2tpbmcgc2V0dGluZyBpcyBvbi4KICAgICBld2tfdGV4dF9jaGVja2VyX2NvbnRpbnVvdXNf
c3BlbGxfY2hlY2tpbmdfZW5hYmxlZF9zZXQodHJ1ZSk7Ci0gICAgdGltZW91dFRpbWVyID0gZWNv
cmVfdGltZXJfYWRkKGRlZmF1bHRUaW1lb3V0SW5TZWNvbmRzLCBvblRpbWVvdXQsIDApOwotICAg
IGVjb3JlX21haW5fbG9vcF9iZWdpbigpOwogCi0gICAgbG9hZGVkTGFuZ3VhZ2VzID0gZXdrX3Rl
eHRfY2hlY2tlcl9zcGVsbF9jaGVja2luZ19sYW5ndWFnZXNfZ2V0KCk7CisgICAgbG9hZGVkTGFu
Z3VhZ2VzID0gd2FpdFVudGlsU3BlbGxpbmdMYW5ndWFnZXNMb2FkZWQoMSwgZGVmYXVsdFRpbWVv
dXRJblNlY29uZHMpOwogICAgIGlmICghbG9hZGVkTGFuZ3VhZ2VzKQogICAgICAgICByZXR1cm47
CiAKQEAgLTY2NCwxMiArNjQ1LDggQEAgVEVTVF9GKEVXSzJUZXh0Q2hlY2tlclRlc3QsIGV3a190
ZXh0X2NoZWNrZXJfc3BlbGxfY2hlY2tpbmdfYXZhaWxhYmxlX2xhbmd1YWdlc18KICAgICAvLyBT
ZXQgYWxsIGF2YWlsYWJsZSBsYW5ndWFnZXMuCiAgICAgZXdrX3RleHRfY2hlY2tlcl9zcGVsbF9j
aGVja2luZ19sYW5ndWFnZXNfc2V0KGxhbmd1YWdlcy50b1N0cmluZygpLnV0ZjgoKS5kYXRhKCkp
OwogCi0gICAgLy8gTGFuZ3VhZ2VzIGFyZSBiZWluZyBsb2FkZWQgb24gdGhlIGlkbGVyLCB3YWl0
IGZvciB0aGVtLgotICAgIHRpbWVvdXRUaW1lciA9IGVjb3JlX3RpbWVyX2FkZChkZWZhdWx0VGlt
ZW91dEluU2Vjb25kcywgb25UaW1lb3V0LCAwKTsKLSAgICBlY29yZV9tYWluX2xvb3BfYmVnaW4o
KTsKLQogICAgIC8vIEdldCB0aGUgbGFuZ3VhZ2VzIGluIHVzZS4KLSAgICBFaW5hX0xpc3QqIGxv
YWRlZExhbmd1YWdlcyA9IGV3a190ZXh0X2NoZWNrZXJfc3BlbGxfY2hlY2tpbmdfbGFuZ3VhZ2Vz
X2dldCgpOworICAgIEVpbmFfTGlzdCogbG9hZGVkTGFuZ3VhZ2VzID0gd2FpdFVudGlsU3BlbGxp
bmdMYW5ndWFnZXNMb2FkZWQoZWluYV9saXN0X2NvdW50KGF2YWlsYWJsZUxhbmd1YWdlcyksIGRl
ZmF1bHRUaW1lb3V0SW5TZWNvbmRzKTsKICAgICBBU1NFUlRfRVEoZWluYV9saXN0X2NvdW50KGxv
YWRlZExhbmd1YWdlcyksIGVpbmFfbGlzdF9jb3VudChhdmFpbGFibGVMYW5ndWFnZXMpKTsKIAog
ICAgIGkgPSAwOwpAQCAtNjk4LDExICs2NzUsNyBAQCBURVNUX0YoRVdLMlRleHRDaGVja2VyVGVz
dCwgZXdrX3RleHRfY2hlY2tlcl9zcGVsbF9jaGVja2luZ19sYW5ndWFnZXMpCiAgICAgLy8gU2V0
IHRoZSBkZWZhdWx0IGxhbmd1YWdlLgogICAgIGV3a190ZXh0X2NoZWNrZXJfc3BlbGxfY2hlY2tp
bmdfbGFuZ3VhZ2VzX3NldCgwKTsKIAotICAgIC8vIExhbmd1YWdlcyBhcmUgYmVpbmcgbG9hZGVk
IG9uIHRoZSBpZGxlciwgd2FpdCBmb3IgdGhlbS4KLSAgICB0aW1lb3V0VGltZXIgPSBlY29yZV90
aW1lcl9hZGQoZGVmYXVsdFRpbWVvdXRJblNlY29uZHMsIG9uVGltZW91dCwgMCk7Ci0gICAgZWNv
cmVfbWFpbl9sb29wX2JlZ2luKCk7Ci0KLSAgICBFaW5hX0xpc3QqIGxvYWRlZExhbmd1YWdlcyA9
IGV3a190ZXh0X2NoZWNrZXJfc3BlbGxfY2hlY2tpbmdfbGFuZ3VhZ2VzX2dldCgpOworICAgIEVp
bmFfTGlzdCogbG9hZGVkTGFuZ3VhZ2VzID0gd2FpdFVudGlsU3BlbGxpbmdMYW5ndWFnZXNMb2Fk
ZWQoMSwgZGVmYXVsdFRpbWVvdXRJblNlY29uZHMpOwogICAgIC8vIE5vIGRpY3Rpb25hcnkgaXMg
YXZhaWxhYmxlL2luc3RhbGxlZCBvciB0aGUgU1BFTExDSEVDSyBtYWNybyBpcyBkaXNhYmxlZC4K
ICAgICBpZiAoIWxvYWRlZExhbmd1YWdlcykKICAgICAgICAgcmV0dXJuOwpAQCAtNzM0LDEwICs3
MDcsNyBAQCBURVNUX0YoRVdLMlRleHRDaGVja2VyVGVzdCwgZXdrX3RleHRfY2hlY2tlcl9zcGVs
bF9jaGVja2luZ19sYW5ndWFnZXMpCiAgICAgLy8gU2V0IGJvdGggbGFuZ3VhZ2VzICh0aGUgZmly
c3QgYW5kIHRoZSBsYXN0KSBmcm9tIHRoZSBsaXN0LgogICAgIGV3a190ZXh0X2NoZWNrZXJfc3Bl
bGxfY2hlY2tpbmdfbGFuZ3VhZ2VzX3NldChsYW5ndWFnZXMudG9TdHJpbmcoKS51dGY4KCkuZGF0
YSgpKTsKIAotICAgIHRpbWVvdXRUaW1lciA9IGVjb3JlX3RpbWVyX2FkZChkZWZhdWx0VGltZW91
dEluU2Vjb25kcywgb25UaW1lb3V0LCAwKTsKLSAgICBlY29yZV9tYWluX2xvb3BfYmVnaW4oKTsK
LQotICAgIGxvYWRlZExhbmd1YWdlcyA9IGV3a190ZXh0X2NoZWNrZXJfc3BlbGxfY2hlY2tpbmdf
bGFuZ3VhZ2VzX2dldCgpOworICAgIGxvYWRlZExhbmd1YWdlcyA9IHdhaXRVbnRpbFNwZWxsaW5n
TGFuZ3VhZ2VzTG9hZGVkKDIsIGRlZmF1bHRUaW1lb3V0SW5TZWNvbmRzKTsKICAgICBBU1NFUlRf
RVEoMiwgZWluYV9saXN0X2NvdW50KGxvYWRlZExhbmd1YWdlcykpOwogCiAgICAgRVhQRUNUX1NU
UkVRKGZpcnN0RXhwZWN0ZWQsIHN0YXRpY19jYXN0PGNvbnN0IGNoYXIqPihlaW5hX2xpc3RfbnRo
KGxvYWRlZExhbmd1YWdlcywgMCkpKTsK
</data>

          </attachment>
      

    </bug>

</bugzilla>