<?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>80883</bug_id>
          
          <creation_ts>2012-03-12 13:59:27 -0700</creation_ts>
          <short_desc>REGRESSION: Spell check tests hit assertions on Mac</short_desc>
          <delta_ts>2012-03-13 01:38:59 -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>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>P1</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Ryosuke Niwa">rniwa</reporter>
          <assigned_to name="Shinya Kawanaka">shinyak</assigned_to>
          <cc>ap</cc>
    
    <cc>enrica</cc>
    
    <cc>jiapu.mail</cc>
    
    <cc>morrita</cc>
    
    <cc>shinyak</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>576488</commentid>
    <comment_count>0</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2012-03-12 13:59:27 -0700</bug_when>
    <thetext>The following tests hit assertions on Mac:
editing/spelling/spellcheck-queue.html
editing/spelling/spellcheck-async-mutation.html
editing/spelling/spellcheck-paste.html
editing/spelling/grammar-paste.html
editing/spelling/spellcheck-sequencenum.html
editing/spelling/spellcheck-async.html

ASSERTION FAILED: m_processingRequest-&gt;sequence() == sequence
/Volumes/Data/webkit4/Source/WebCore/editing/SpellChecker.cpp(170) : void WebCore::SpellChecker::didCheck(int, const WTF::Vector&lt;WebCore::TextCheckingResult, 0ul&gt;&amp;)
1   0x1016aac44 WebCore::SpellChecker::didCheck(int, WTF::Vector&lt;WebCore::TextCheckingResult, 0ul&gt; const&amp;)
2   0x100e79863 -[WebEditorSpellCheckResponder perform]
3   0x7fff81172351 __NSFirePerformWithOrder
4   0x7fff836b0b07 __CFRunLoopDoObservers
5   0x7fff8368c434 __CFRunLoopRun
6   0x7fff8368bd8f CFRunLoopRunSpecific
7   0x7fff81181b74 -[NSRunLoop(NSRunLoop) runMode:beforeDate:]
8   0x100014535 runTest(std::string const&amp;)
9   0x100014a56 runTestingServerLoop()
10  0x100014c56 dumpRenderTree(int, char const**)
11  0x100014e64 main
12  0x10000177c start</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>576938</commentid>
    <comment_count>1</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2012-03-12 19:46:14 -0700</bug_when>
    <thetext>Also these 5 tests are timing out on bots:
http://build.webkit.org/results/SnowLeopard%20Intel%20Release%20(Tests)/r110496%20(37999)/results.html</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>577075</commentid>
    <comment_count>2</comment_count>
      <attachid>131554</attachid>
    <who name="Shinya Kawanaka">shinyak</who>
    <bug_when>2012-03-12 23:09:37 -0700</bug_when>
    <thetext>Created attachment 131554
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>577081</commentid>
    <comment_count>3</comment_count>
      <attachid>131554</attachid>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2012-03-12 23:19:47 -0700</bug_when>
    <thetext>Comment on attachment 131554
Patch

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

&gt; Source/WebKit/mac/ChangeLog:9
&gt; +        Since WebEditorClient::requestCheckingOfString touches TextCheckingObject in a block statement,
&gt; +        however it won&apos;t be correctly managed in Objective-C.

I don&apos;t really understand this description. Could you clarify?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>577089</commentid>
    <comment_count>4</comment_count>
    <who name="Shinya Kawanaka">shinyak</who>
    <bug_when>2012-03-12 23:32:14 -0700</bug_when>
    <thetext>(In reply to comment #3)
&gt; (From update of attachment 131554 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=131554&amp;action=review
&gt; 
&gt; &gt; Source/WebKit/mac/ChangeLog:9
&gt; &gt; +        Since WebEditorClient::requestCheckingOfString touches TextCheckingObject in a block statement,
&gt; &gt; +        however it won&apos;t be correctly managed in Objective-C.
&gt; 
&gt; I don&apos;t really understand this description. Could you clarify?

I&apos;m not sure I can describe it well, but let me try.

WebEditorClient::requestCheckingOfString uses a closure (for completionHandler), and it uses |request| object in it. |request| will be destroyed when exiting from requestCheckingOfString.

However, WebCore::TextCheckingRequest is not an NSObject (or a primitive value), it won&apos;t be copied correctly when creating a closure (maybe). So we should not touch |request| in a closure.

So I copied necessary fields to stack.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>577097</commentid>
    <comment_count>5</comment_count>
      <attachid>131554</attachid>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2012-03-12 23:45:15 -0700</bug_when>
    <thetext>Comment on attachment 131554
Patch

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

&gt;&gt;&gt; Source/WebKit/mac/ChangeLog:9
&gt;&gt;&gt; +        however it won&apos;t be correctly managed in Objective-C.
&gt;&gt; 
&gt;&gt; I don&apos;t really understand this description. Could you clarify?
&gt; 
&gt; I&apos;m not sure I can describe it well, but let me try.
&gt; 
&gt; WebEditorClient::requestCheckingOfString uses a closure (for completionHandler), and it uses |request| object in it. |request| will be destroyed when exiting from requestCheckingOfString.
&gt; 
&gt; However, WebCore::TextCheckingRequest is not an NSObject (or a primitive value), it won&apos;t be copied correctly when creating a closure (maybe). So we should not touch |request| in a closure.
&gt; 
&gt; So I copied necessary fields to stack.

Ah I see. I think I get what you mean. I&apos;ll paraphrase it like something along the line of:

The bug was caused by the closure object created in requestCheckingOfString accessing test checking request&apos;s member variables even though the request object is not an NSObject and allocated in stack. This resulted in the closure not being able to access those variables when invoked. Fixed the bug by making local copies of those member variables.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>577098</commentid>
    <comment_count>6</comment_count>
      <attachid>131554</attachid>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2012-03-12 23:45:59 -0700</bug_when>
    <thetext>Comment on attachment 131554
Patch

r=me provided the description in the change log is revised.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>577099</commentid>
    <comment_count>7</comment_count>
    <who name="Shinya Kawanaka">shinyak</who>
    <bug_when>2012-03-12 23:49:06 -0700</bug_when>
    <thetext>(In reply to comment #6)
&gt; (From update of attachment 131554 [details])
&gt; r=me provided the description in the change log is revised.

Thanks, I&apos;ll update the ChangeLog.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>577105</commentid>
    <comment_count>8</comment_count>
      <attachid>131558</attachid>
    <who name="Shinya Kawanaka">shinyak</who>
    <bug_when>2012-03-12 23:54:15 -0700</bug_when>
    <thetext>Created attachment 131558
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>577164</commentid>
    <comment_count>9</comment_count>
      <attachid>131558</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-03-13 01:38:54 -0700</bug_when>
    <thetext>Comment on attachment 131558
Patch for landing

Clearing flags on attachment: 131558

Committed r110546: &lt;http://trac.webkit.org/changeset/110546&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>577165</commentid>
    <comment_count>10</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-03-13 01:38:59 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>131554</attachid>
            <date>2012-03-12 23:09:37 -0700</date>
            <delta_ts>2012-03-12 23:54:08 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-80883-20120313150936.patch</filename>
            <type>text/plain</type>
            <size>7436</size>
            <attacher name="Shinya Kawanaka">shinyak</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTEwNTMzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L21h
Yy9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L21hYy9DaGFuZ2VMb2cKaW5kZXggY2RlZjhmOTAz
YzJlNzE1ZmZhZGMxNDgxM2M5ZmQ3MjExYWEzMDY0YS4uNzAzOGUwYTg3ZmZjYzIwNmU1MTNmMDFj
MDFiNDQ5NThlNGFhZDE3ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9tYWMvQ2hhbmdlTG9n
CisrKyBiL1NvdXJjZS9XZWJLaXQvbWFjL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE4IEBACisyMDEy
LTAzLTEyICBTaGlueWEgS2F3YW5ha2EgIDxzaGlueWFrQGNocm9taXVtLm9yZz4KKworICAgICAg
ICBSRUdSRVNTSU9OOiBTcGVsbGNoZWNrIHRlc3RzIGhpdCBhc3NlcnRpb25zIG9uIE1hYy4KKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTgwODgzCisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgU2luY2UgV2ViRWRp
dG9yQ2xpZW50OjpyZXF1ZXN0Q2hlY2tpbmdPZlN0cmluZyB0b3VjaGVzIFRleHRDaGVja2luZ09i
amVjdCBpbiBhIGJsb2NrIHN0YXRlbWVudCwKKyAgICAgICAgaG93ZXZlciBpdCB3b24ndCBiZSBj
b3JyZWN0bHkgbWFuYWdlZCBpbiBPYmplY3RpdmUtQy4KKworICAgICAgICBUaGlzIHBhdGNoIGV4
dHJhY3RzIG5lY2Vzc2FyeSBmaWVsZHMgZnJvbSB0aGUgVGV4dENoZWNraW5nT2JqZWN0IGFuZCBj
b3B5IHRoZW0gb24gYSBzdGFjay4KKworICAgICAgICAqIFdlYkNvcmVTdXBwb3J0L1dlYkVkaXRv
ckNsaWVudC5tbToKKyAgICAgICAgKFdlYkVkaXRvckNsaWVudDo6cmVxdWVzdENoZWNraW5nT2ZT
dHJpbmcpOgorCiAyMDEyLTAzLTExICBUaW1vdGh5IEhhdGNoZXIgIDx0aW1vdGh5QGFwcGxlLmNv
bT4KIAogICAgICAgICBVcGRhdGUgaG93IHRoZSBXZWIgSW5zcGVjdG9yIHJlc291cmNlcyBhcmUg
bG9hZGVkLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9tYWMvV2ViQ29yZVN1cHBvcnQvV2Vi
RWRpdG9yQ2xpZW50Lm1tIGIvU291cmNlL1dlYktpdC9tYWMvV2ViQ29yZVN1cHBvcnQvV2ViRWRp
dG9yQ2xpZW50Lm1tCmluZGV4IDRmZmVmMzE1ZDczNTRmY2I5ODYxZmE4OTFhNjA3MTU3YzRhMmMw
OTguLmY2NjY1MGQxY2I4MmIxMGVmNjYyMDFkN2Q4OWExNGRmMWQ0YTIyNzEgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQvbWFjL1dlYkNvcmVTdXBwb3J0L1dlYkVkaXRvckNsaWVudC5tbQorKysg
Yi9Tb3VyY2UvV2ViS2l0L21hYy9XZWJDb3JlU3VwcG9ydC9XZWJFZGl0b3JDbGllbnQubW0KQEAg
LTk3NywxMCArOTc3LDEyIEBAIHZvaWQgV2ViRWRpdG9yQ2xpZW50OjpyZXF1ZXN0Q2hlY2tpbmdP
ZlN0cmluZyhXZWJDb3JlOjpTcGVsbENoZWNrZXIqIHNlbmRlciwgY29uCiAjaWZuZGVmIEJVSUxE
SU5HX09OX0xFT1BBUkQKICAgICBOU1JhbmdlIHJhbmdlID0gTlNNYWtlUmFuZ2UoMCwgcmVxdWVz
dC50ZXh0KCkubGVuZ3RoKCkpOwogICAgIE5TUnVuTG9vcCogY3VycmVudExvb3AgPSBbTlNSdW5M
b29wIGN1cnJlbnRSdW5Mb29wXTsKKyAgICBpbnQgc2VxdWVuY2UgPSByZXF1ZXN0LnNlcXVlbmNl
KCk7CisgICAgVGV4dENoZWNraW5nVHlwZU1hc2sgdHlwZXMgPSByZXF1ZXN0Lm1hc2soKTsKICAg
ICBbW05TU3BlbGxDaGVja2VyIHNoYXJlZFNwZWxsQ2hlY2tlcl0gcmVxdWVzdENoZWNraW5nT2ZT
dHJpbmc6cmVxdWVzdC50ZXh0KCkgcmFuZ2U6cmFuZ2UgdHlwZXM6TlNUZXh0Q2hlY2tpbmdBbGxT
eXN0ZW1UeXBlcyBvcHRpb25zOjAgaW5TcGVsbERvY3VtZW50V2l0aFRhZzowCiAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbXBsZXRpb25IYW5kbGVyOl4oTlNJbnRl
Z2VyLCBOU0FycmF5KiByZXN1bHRzLCBOU09ydGhvZ3JhcGh5KiwgTlNJbnRlZ2VyKSB7CiAgICAg
ICAgICAgICBbY3VycmVudExvb3AgcGVyZm9ybVNlbGVjdG9yOkBzZWxlY3RvcihwZXJmb3JtKSAK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0YXJnZXQ6W1tbV2ViRWRpdG9yU3Bl
bGxDaGVja1Jlc3BvbmRlciBhbGxvY10gaW5pdFdpdGhTZW5kZXI6c2VuZGVyIHNlcXVlbmNlOnJl
cXVlc3Quc2VxdWVuY2UoKSB0eXBlczpyZXF1ZXN0Lm1hc2soKSByZXN1bHRzOnJlc3VsdHNdIGF1
dG9yZWxlYXNlXQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRhcmdldDpbW1tX
ZWJFZGl0b3JTcGVsbENoZWNrUmVzcG9uZGVyIGFsbG9jXSBpbml0V2l0aFNlbmRlcjpzZW5kZXIg
c2VxdWVuY2U6c2VxdWVuY2UgdHlwZXM6dHlwZXMgcmVzdWx0czpyZXN1bHRzXSBhdXRvcmVsZWFz
ZV0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXJndW1lbnQ6bmlsIG9yZGVyOjAg
bW9kZXM6W05TQXJyYXkgYXJyYXlXaXRoT2JqZWN0Ok5TRGVmYXVsdFJ1bkxvb3BNb2RlXV07CiAg
ICAgICAgIH1dOwogI2VuZGlmCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9M
YXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggZTMyYjhkMWZiODcyMGMyOTVlOTU3ODIwMzlhNjUz
OTA4YzNiZWFhZS4uZjg1OWEyY2Q5ODlkYjUyNzg5ZWY0YTk3ZjEyYjBlMGRkNDY3ODFmMyAxMDA2
NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwpAQCAtMSwzICsxLDE5IEBACisyMDEyLTAzLTEyICBTaGlueWEgS2F3YW5ha2EgIDxzaGlueWFr
QGNocm9taXVtLm9yZz4KKworICAgICAgICBSRUdSRVNTSU9OOiBTcGVsbGNoZWNrIHRlc3RzIGhp
dCBhc3NlcnRpb25zIG9uIE1hYy4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTgwODgzCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISku
CisKKyAgICAgICAgU29tZSB3b3JkcyB1c2VkIGluIHNwZWxsY2hlY2stcGFzdGUuanMgYXJlIGNv
bnNpZGVyZWQgYXMgY29ycmVjdCBzcGVsbGluZ3MgaW4gTWFjJ3Mgc3BlbGxjaGVja2VyLgorICAg
ICAgICBUaGlzIHBhdGNoIGNoYW5nZXMgdGhlbSBpbnRvICd6eicgc28gdGhhdCBNYWMncyBzcGVs
bGNoZWNrZXIgY2FuIG1ha2UgdGhlbSBhcyBtaXNzcGVsbGluZy4KKworICAgICAgICAqIGVkaXRp
bmcvc3BlbGxpbmcvc2NyaXB0LXRlc3RzL3NwZWxsY2hlY2stcGFzdGUuanM6CisgICAgICAgIChw
YXN0ZUFuZFZlcmlmeS50cmlhbCk6CisgICAgICAgIChwYXN0ZUFuZFZlcmlmeSk6CisgICAgICAg
ICh0ZXN0cyk6CisgICAgICAgICogZWRpdGluZy9zcGVsbGluZy9zcGVsbGNoZWNrLXBhc3RlLWV4
cGVjdGVkLnR4dDoKKwogMjAxMi0wMy0xMiAgSGFucyBNdWxsZXIgIDxobXVsbGVyQGFkb2JlLmNv
bT4KIAogICAgICAgICBTVkcgc2hvdWxkIHN1cHBvcnQgdHJhbnNmb3JtLW9yaWdpbiBhbmQgcmVs
YXRpdmUgdmFsdWVzCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NwZWxsaW5nL3Nj
cmlwdC10ZXN0cy9zcGVsbGNoZWNrLXBhc3RlLmpzIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zcGVs
bGluZy9zY3JpcHQtdGVzdHMvc3BlbGxjaGVjay1wYXN0ZS5qcwppbmRleCBjMTMyYTE1MDk2ZTIz
NmExNjI5Y2FlMzE5OWI3YTlmYmIwY2Q5NzhjLi42YWIwYWZkOThmZDZjZGEyYzRiZjc2MjY3Zjlm
N2FhODZmMTcxNjgxIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NwZWxsaW5nL3Nj
cmlwdC10ZXN0cy9zcGVsbGNoZWNrLXBhc3RlLmpzCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c3BlbGxpbmcvc2NyaXB0LXRlc3RzL3NwZWxsY2hlY2stcGFzdGUuanMKQEAgLTE4LDExICsxOCwx
MSBAQCB0ZXN0RWRpdGFibGUuc2V0QXR0cmlidXRlKCJjb250ZW50RWRpdGFibGUiLCAidHJ1ZSIp
OwogdGVzdFJvb3QuYXBwZW5kQ2hpbGQodGVzdEVkaXRhYmxlKTsKIAogdmFyIHRlc3RTb3VyY2VQ
bGFpbiA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpOwotdGVzdFNvdXJjZVBsYWluLmlu
bmVySFRNTCA9ICJmb28gYmFyIjsKK3Rlc3RTb3VyY2VQbGFpbi5pbm5lckhUTUwgPSAienogYXBw
bGUiOwogdGVzdFJvb3QuYXBwZW5kQ2hpbGQodGVzdFNvdXJjZVBsYWluKTsKIAogdmFyIHRlc3RT
b3VyY2VEZWNvcmF0ZWQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKTsKLXRlc3RTb3Vy
Y2VEZWNvcmF0ZWQuaW5uZXJIVE1MID0gImZvPGI+byBiYTwvYj5yIjsKK3Rlc3RTb3VyY2VEZWNv
cmF0ZWQuaW5uZXJIVE1MID0gIno8Yj56IGFwcGw8L2I+ZSI7CiB0ZXN0Um9vdC5hcHBlbmRDaGls
ZCh0ZXN0U291cmNlRGVjb3JhdGVkKTsKIAogdmFyIHRlc3RTb3VyY2VNdWx0aSA9IGRvY3VtZW50
LmNyZWF0ZUVsZW1lbnQoImRpdiIpOwpAQCAtODMsNyArODMsNyBAQCBmdW5jdGlvbiBwYXN0ZUFu
ZFZlcmlmeShzb3VyY2UsIGRlc3QsIGV4cGVjdGVkTWFya2VkKQogCiAgICAgICAgIG5yZXRyeS0t
OwogICAgICAgICBpZiAoMCA9PSBucmV0cnkpIHsKLSAgICAgICAgICAgIHRlc3RGYWlsZWQoZGVz
dC50YWdOYW1lICsgIiBzaG91bGQgaGF2ZSBhIG1hcmtlciBvbiBmb3IgJyIgKyBzb3VyY2UuaW5u
ZXJIVE1MICsgIiciKTsKKyAgICAgICAgICAgIHRlc3RGYWlsZWQoZGVzdC50YWdOYW1lICsgIiBz
aG91bGQgaGF2ZSBhIG1hcmtlciBvbiAnIiArIHNvdXJjZS5pbm5lckhUTUwgKyAiJyIpOwogICAg
ICAgICAgICAgZG9uZSgpOwogICAgICAgICAgICAgcmV0dXJuOwogICAgICAgICB9CkBAIC05Nywx
NCArOTcsMTYgQEAgZnVuY3Rpb24gcGFzdGVBbmRWZXJpZnkoc291cmNlLCBkZXN0LCBleHBlY3Rl
ZE1hcmtlZCkKIGlmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpCiAgICAgbGF5b3V0VGVz
dENvbnRyb2xsZXIuc2V0QXN5bmNocm9ub3VzU3BlbGxDaGVja2luZ0VuYWJsZWQodHJ1ZSk7CiAK
LXRlc3RzLnB1c2goZnVuY3Rpb24oKSB7IHBhc3RlQW5kVmVyaWZ5KHRlc3RTb3VyY2VQbGFpbiwg
dGVzdElucHV0LCBbWzAsIDNdXSk7IH0pOwotdGVzdHMucHVzaChmdW5jdGlvbigpIHsgcGFzdGVB
bmRWZXJpZnkodGVzdFNvdXJjZURlY29yYXRlZCwgdGVzdElucHV0LCBbWzAsIDNdXSk7IH0pOwor
dGVzdHMucHVzaChmdW5jdGlvbigpIHsgcGFzdGVBbmRWZXJpZnkodGVzdFNvdXJjZVBsYWluLCB0
ZXN0SW5wdXQsIFtbMCwgMl1dKTsgfSk7Cit0ZXN0cy5wdXNoKGZ1bmN0aW9uKCkgeyBwYXN0ZUFu
ZFZlcmlmeSh0ZXN0U291cmNlRGVjb3JhdGVkLCB0ZXN0SW5wdXQsIFtbMCwgMl1dKTsgfSk7CiB0
ZXN0cy5wdXNoKGZ1bmN0aW9uKCkgeyBwYXN0ZUFuZFZlcmlmeSh0ZXN0U291cmNlTXVsdGksIHRl
c3RJbnB1dCwgW1swLCAyXSwgWzMsIDJdXSk7IH0pOwotdGVzdHMucHVzaChmdW5jdGlvbigpIHsg
cGFzdGVBbmRWZXJpZnkodGVzdFNvdXJjZVBsYWluLCB0ZXN0VGV4dEFyZWEsIFtbMCwgM11dKTsg
fSk7Ci10ZXN0cy5wdXNoKGZ1bmN0aW9uKCkgeyBwYXN0ZUFuZFZlcmlmeSh0ZXN0U291cmNlRGVj
b3JhdGVkLCB0ZXN0VGV4dEFyZWEsIFtbMCwgM11dKTsgfSk7CisKK3Rlc3RzLnB1c2goZnVuY3Rp
b24oKSB7IHBhc3RlQW5kVmVyaWZ5KHRlc3RTb3VyY2VQbGFpbiwgdGVzdFRleHRBcmVhLCBbWzAs
IDJdXSk7IH0pOwordGVzdHMucHVzaChmdW5jdGlvbigpIHsgcGFzdGVBbmRWZXJpZnkodGVzdFNv
dXJjZURlY29yYXRlZCwgdGVzdFRleHRBcmVhLCBbWzAsIDJdXSk7IH0pOwogdGVzdHMucHVzaChm
dW5jdGlvbigpIHsgcGFzdGVBbmRWZXJpZnkodGVzdFNvdXJjZU11bHRpLCB0ZXN0VGV4dEFyZWEs
IFtbMCwgMl0sIFszLCAyXV0pOyB9KTsKLXRlc3RzLnB1c2goZnVuY3Rpb24oKSB7IHBhc3RlQW5k
VmVyaWZ5KHRlc3RTb3VyY2VQbGFpbiwgdGVzdEVkaXRhYmxlLCBbWzAsIDNdXSk7IH0pOwotdGVz
dHMucHVzaChmdW5jdGlvbigpIHsgcGFzdGVBbmRWZXJpZnkodGVzdFNvdXJjZURlY29yYXRlZCwg
dGVzdEVkaXRhYmxlLCBbWzAsIDJdXSk7IH0pOyAvLyBUbyBjaGVjayAiZm8iIHBhcnQgb2YgZm9v
LgorCit0ZXN0cy5wdXNoKGZ1bmN0aW9uKCkgeyBwYXN0ZUFuZFZlcmlmeSh0ZXN0U291cmNlUGxh
aW4sIHRlc3RFZGl0YWJsZSwgW1swLCAyXV0pOyB9KTsKK3Rlc3RzLnB1c2goZnVuY3Rpb24oKSB7
IHBhc3RlQW5kVmVyaWZ5KHRlc3RTb3VyY2VEZWNvcmF0ZWQsIHRlc3RFZGl0YWJsZSwgW1swLCAx
XV0pOyB9KTsgLy8gVG8gY2hlY2sgImZvIiBwYXJ0IG9mIGZvby4KIHRlc3RzLnB1c2goZnVuY3Rp
b24oKSB7IHBhc3RlQW5kVmVyaWZ5KHRlc3RTb3VyY2VNdWx0aSwgdGVzdEVkaXRhYmxlLCBbWzAs
IDJdLCBbMywgMl1dKTsgfSk7CiBkb25lKCk7CiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvc3BlbGxpbmcvc3BlbGxjaGVjay1wYXN0ZS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NwZWxsaW5nL3NwZWxsY2hlY2stcGFzdGUtZXhwZWN0ZWQudHh0CmluZGV4IDU5
MWYwOTIxN2IwODVmOGVhODU4YTVhZGMwOTUyZjc2M2IzODk3YmIuLjg3YWEzMzYyYTFhOGQ3MGJm
NTA3ZTJmYTc3MmQ3NzY4NDg5NzI0M2EgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2VkaXRpbmcv
c3BlbGxpbmcvc3BlbGxjaGVjay1wYXN0ZS1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zcGVsbGluZy9zcGVsbGNoZWNrLXBhc3RlLWV4cGVjdGVkLnR4dApAQCAtNiwxMyAr
NiwxMyBAQCBPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3Nh
Z2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURQogUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQg
aXMgdHJ1ZQogCiBURVNUIENPTVBMRVRFCi1QQVNTIElOUFVUIGhhcyBhIG1hcmtlciBvbiAnZm9v
IGJhcicKLVBBU1MgSU5QVVQgaGFzIGEgbWFya2VyIG9uICdmbzxiPm8gYmE8L2I+cicKK1BBU1Mg
SU5QVVQgaGFzIGEgbWFya2VyIG9uICd6eiBhcHBsZScKK1BBU1MgSU5QVVQgaGFzIGEgbWFya2Vy
IG9uICd6PGI+eiBhcHBsPC9iPmUnCiBQQVNTIElOUFVUIGhhcyBhIG1hcmtlciBvbiAnenogenog
enonCi1QQVNTIFRFWFRBUkVBIGhhcyBhIG1hcmtlciBvbiAnZm9vIGJhcicKLVBBU1MgVEVYVEFS
RUEgaGFzIGEgbWFya2VyIG9uICdmbzxiPm8gYmE8L2I+cicKK1BBU1MgVEVYVEFSRUEgaGFzIGEg
bWFya2VyIG9uICd6eiBhcHBsZScKK1BBU1MgVEVYVEFSRUEgaGFzIGEgbWFya2VyIG9uICd6PGI+
eiBhcHBsPC9iPmUnCiBQQVNTIFRFWFRBUkVBIGhhcyBhIG1hcmtlciBvbiAnenogenogenonCi1Q
QVNTIERJViBoYXMgYSBtYXJrZXIgb24gJ2ZvbyBiYXInCi1QQVNTIERJViBoYXMgYSBtYXJrZXIg
b24gJ2ZvPGI+byBiYTwvYj5yJworUEFTUyBESVYgaGFzIGEgbWFya2VyIG9uICd6eiBhcHBsZScK
K1BBU1MgRElWIGhhcyBhIG1hcmtlciBvbiAnejxiPnogYXBwbDwvYj5lJwogUEFTUyBESVYgaGFz
IGEgbWFya2VyIG9uICd6eiB6eiB6eicKIAo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>131558</attachid>
            <date>2012-03-12 23:54:15 -0700</date>
            <delta_ts>2012-03-13 01:38:54 -0700</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-80883-20120313155414.patch</filename>
            <type>text/plain</type>
            <size>7534</size>
            <attacher name="Shinya Kawanaka">shinyak</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTEwNTMzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L21h
Yy9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L21hYy9DaGFuZ2VMb2cKaW5kZXggY2RlZjhmOTAz
YzJlNzE1ZmZhZGMxNDgxM2M5ZmQ3MjExYWEzMDY0YS4uZWU3MGE0NGQwZjgwZGQ3MDU3MWZiMjcz
NjM0NWZhM2Q5YTZkM2EyOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9tYWMvQ2hhbmdlTG9n
CisrKyBiL1NvdXJjZS9XZWJLaXQvbWFjL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE5IEBACisyMDEy
LTAzLTEyICBTaGlueWEgS2F3YW5ha2EgIDxzaGlueWFrQGNocm9taXVtLm9yZz4KKworICAgICAg
ICBSRUdSRVNTSU9OOiBTcGVsbGNoZWNrIHRlc3RzIGhpdCBhc3NlcnRpb25zIG9uIE1hYy4KKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTgwODgzCisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgUnlvc3VrZSBOaXdhLgorCisgICAgICAgIFRoZSBidWcgd2FzIGNh
dXNlZCBieSB0aGUgY2xvc3VyZSBvYmplY3QgY3JlYXRlZCBpbiByZXF1ZXN0Q2hlY2tpbmdPZlN0
cmluZyBhY2Nlc3NpbmcKKyAgICAgICAgcmVxdWVzdCdzIG1lbWJlciB2YXJpYWJsZXMgZXZlbiB0
aG91Z2ggdGhlIHJlcXVlc3Qgb2JqZWN0IGlzIG5vdCBhbiBOU09iamVjdCBvciBhbGxvY2F0ZWQK
KyAgICAgICAgaW4gc3RhY2suIFRoaXMgcmVzdWx0ZWQgaW4gdGhlIGNsb3N1cmUgbm90IGJlaW5n
IGFibGUgdG8gYWNjZXNzIHRob3NlIHZhcmlhYmxlcyB3aGVuIGludm9rZWQuCisKKyAgICAgICAg
Rml4ZWQgdGhlIGJ1ZyBieSBtYWtpbmcgbG9jYWwgY29waWVzIG9mIHRob3NlIG1lbWJlciB2YXJp
YWJsZXMuCisKKyAgICAgICAgKiBXZWJDb3JlU3VwcG9ydC9XZWJFZGl0b3JDbGllbnQubW06Cisg
ICAgICAgIChXZWJFZGl0b3JDbGllbnQ6OnJlcXVlc3RDaGVja2luZ09mU3RyaW5nKToKKwogMjAx
Mi0wMy0xMSAgVGltb3RoeSBIYXRjaGVyICA8dGltb3RoeUBhcHBsZS5jb20+CiAKICAgICAgICAg
VXBkYXRlIGhvdyB0aGUgV2ViIEluc3BlY3RvciByZXNvdXJjZXMgYXJlIGxvYWRlZC4KZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQvbWFjL1dlYkNvcmVTdXBwb3J0L1dlYkVkaXRvckNsaWVudC5t
bSBiL1NvdXJjZS9XZWJLaXQvbWFjL1dlYkNvcmVTdXBwb3J0L1dlYkVkaXRvckNsaWVudC5tbQpp
bmRleCA0ZmZlZjMxNWQ3MzU0ZmNiOTg2MWZhODkxYTYwNzE1N2M0YTJjMDk4Li5mNjY2NTBkMWNi
ODJiMTBlZjY2MjAxZDdkODlhMTRkZjFkNGEyMjcxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
L21hYy9XZWJDb3JlU3VwcG9ydC9XZWJFZGl0b3JDbGllbnQubW0KKysrIGIvU291cmNlL1dlYktp
dC9tYWMvV2ViQ29yZVN1cHBvcnQvV2ViRWRpdG9yQ2xpZW50Lm1tCkBAIC05NzcsMTAgKzk3Nywx
MiBAQCB2b2lkIFdlYkVkaXRvckNsaWVudDo6cmVxdWVzdENoZWNraW5nT2ZTdHJpbmcoV2ViQ29y
ZTo6U3BlbGxDaGVja2VyKiBzZW5kZXIsIGNvbgogI2lmbmRlZiBCVUlMRElOR19PTl9MRU9QQVJE
CiAgICAgTlNSYW5nZSByYW5nZSA9IE5TTWFrZVJhbmdlKDAsIHJlcXVlc3QudGV4dCgpLmxlbmd0
aCgpKTsKICAgICBOU1J1bkxvb3AqIGN1cnJlbnRMb29wID0gW05TUnVuTG9vcCBjdXJyZW50UnVu
TG9vcF07CisgICAgaW50IHNlcXVlbmNlID0gcmVxdWVzdC5zZXF1ZW5jZSgpOworICAgIFRleHRD
aGVja2luZ1R5cGVNYXNrIHR5cGVzID0gcmVxdWVzdC5tYXNrKCk7CiAgICAgW1tOU1NwZWxsQ2hl
Y2tlciBzaGFyZWRTcGVsbENoZWNrZXJdIHJlcXVlc3RDaGVja2luZ09mU3RyaW5nOnJlcXVlc3Qu
dGV4dCgpIHJhbmdlOnJhbmdlIHR5cGVzOk5TVGV4dENoZWNraW5nQWxsU3lzdGVtVHlwZXMgb3B0
aW9uczowIGluU3BlbGxEb2N1bWVudFdpdGhUYWc6MAogICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBjb21wbGV0aW9uSGFuZGxlcjpeKE5TSW50ZWdlciwgTlNBcnJheSog
cmVzdWx0cywgTlNPcnRob2dyYXBoeSosIE5TSW50ZWdlcikgewogICAgICAgICAgICAgW2N1cnJl
bnRMb29wIHBlcmZvcm1TZWxlY3RvcjpAc2VsZWN0b3IocGVyZm9ybSkgCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgdGFyZ2V0OltbW1dlYkVkaXRvclNwZWxsQ2hlY2tSZXNwb25k
ZXIgYWxsb2NdIGluaXRXaXRoU2VuZGVyOnNlbmRlciBzZXF1ZW5jZTpyZXF1ZXN0LnNlcXVlbmNl
KCkgdHlwZXM6cmVxdWVzdC5tYXNrKCkgcmVzdWx0czpyZXN1bHRzXSBhdXRvcmVsZWFzZV0KKyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0YXJnZXQ6W1tbV2ViRWRpdG9yU3BlbGxD
aGVja1Jlc3BvbmRlciBhbGxvY10gaW5pdFdpdGhTZW5kZXI6c2VuZGVyIHNlcXVlbmNlOnNlcXVl
bmNlIHR5cGVzOnR5cGVzIHJlc3VsdHM6cmVzdWx0c10gYXV0b3JlbGVhc2VdCiAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGFyZ3VtZW50Om5pbCBvcmRlcjowIG1vZGVzOltOU0FycmF5
IGFycmF5V2l0aE9iamVjdDpOU0RlZmF1bHRSdW5Mb29wTW9kZV1dOwogICAgICAgICB9XTsKICNl
bmRpZgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hh
bmdlTG9nCmluZGV4IGUzMmI4ZDFmYjg3MjBjMjk1ZTk1NzgyMDM5YTY1MzkwOGMzYmVhYWUuLjkw
YTk3NDcxYjkyNzM2NDM1NmNhMzUxODdkZTYzZDA1NDI2ZTgyYzAgMTAwNjQ0Ci0tLSBhL0xheW91
dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwx
OSBAQAorMjAxMi0wMy0xMiAgU2hpbnlhIEthd2FuYWthICA8c2hpbnlha0BjaHJvbWl1bS5vcmc+
CisKKyAgICAgICAgUkVHUkVTU0lPTjogU3BlbGxjaGVjayB0ZXN0cyBoaXQgYXNzZXJ0aW9ucyBv
biBNYWMuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD04
MDg4MworCisgICAgICAgIFJldmlld2VkIGJ5IFJ5b3N1a2UgTml3YS4KKworICAgICAgICBTb21l
IHdvcmRzIHVzZWQgaW4gc3BlbGxjaGVjay1wYXN0ZS5qcyBhcmUgY29uc2lkZXJlZCBhcyBjb3Jy
ZWN0IHNwZWxsaW5ncyBpbiBNYWMncyBzcGVsbGNoZWNrZXIuCisgICAgICAgIFRoaXMgcGF0Y2gg
Y2hhbmdlcyB0aGVtIGludG8gJ3p6JyBzbyB0aGF0IE1hYydzIHNwZWxsY2hlY2tlciBjYW4gbWFr
ZSB0aGVtIGFzIG1pc3NwZWxsaW5nLgorCisgICAgICAgICogZWRpdGluZy9zcGVsbGluZy9zY3Jp
cHQtdGVzdHMvc3BlbGxjaGVjay1wYXN0ZS5qczoKKyAgICAgICAgKHBhc3RlQW5kVmVyaWZ5LnRy
aWFsKToKKyAgICAgICAgKHBhc3RlQW5kVmVyaWZ5KToKKyAgICAgICAgKHRlc3RzKToKKyAgICAg
ICAgKiBlZGl0aW5nL3NwZWxsaW5nL3NwZWxsY2hlY2stcGFzdGUtZXhwZWN0ZWQudHh0OgorCiAy
MDEyLTAzLTEyICBIYW5zIE11bGxlciAgPGhtdWxsZXJAYWRvYmUuY29tPgogCiAgICAgICAgIFNW
RyBzaG91bGQgc3VwcG9ydCB0cmFuc2Zvcm0tb3JpZ2luIGFuZCByZWxhdGl2ZSB2YWx1ZXMKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc3BlbGxpbmcvc2NyaXB0LXRlc3RzL3NwZWxs
Y2hlY2stcGFzdGUuanMgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NwZWxsaW5nL3NjcmlwdC10ZXN0
cy9zcGVsbGNoZWNrLXBhc3RlLmpzCmluZGV4IGMxMzJhMTUwOTZlMjM2YTE2MjljYWUzMTk5Yjdh
OWZiYjBjZDk3OGMuLjZhYjBhZmQ5OGZkNmNkYTJjNGJmNzYyNjdmOWY3YWE4NmYxNzE2ODEgMTAw
NjQ0Ci0tLSBhL0xheW91dFRlc3RzL2VkaXRpbmcvc3BlbGxpbmcvc2NyaXB0LXRlc3RzL3NwZWxs
Y2hlY2stcGFzdGUuanMKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zcGVsbGluZy9zY3JpcHQt
dGVzdHMvc3BlbGxjaGVjay1wYXN0ZS5qcwpAQCAtMTgsMTEgKzE4LDExIEBAIHRlc3RFZGl0YWJs
ZS5zZXRBdHRyaWJ1dGUoImNvbnRlbnRFZGl0YWJsZSIsICJ0cnVlIik7CiB0ZXN0Um9vdC5hcHBl
bmRDaGlsZCh0ZXN0RWRpdGFibGUpOwogCiB2YXIgdGVzdFNvdXJjZVBsYWluID0gZG9jdW1lbnQu
Y3JlYXRlRWxlbWVudCgiZGl2Iik7Ci10ZXN0U291cmNlUGxhaW4uaW5uZXJIVE1MID0gImZvbyBi
YXIiOwordGVzdFNvdXJjZVBsYWluLmlubmVySFRNTCA9ICJ6eiBhcHBsZSI7CiB0ZXN0Um9vdC5h
cHBlbmRDaGlsZCh0ZXN0U291cmNlUGxhaW4pOwogCiB2YXIgdGVzdFNvdXJjZURlY29yYXRlZCA9
IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpOwotdGVzdFNvdXJjZURlY29yYXRlZC5pbm5l
ckhUTUwgPSAiZm88Yj5vIGJhPC9iPnIiOwordGVzdFNvdXJjZURlY29yYXRlZC5pbm5lckhUTUwg
PSAiejxiPnogYXBwbDwvYj5lIjsKIHRlc3RSb290LmFwcGVuZENoaWxkKHRlc3RTb3VyY2VEZWNv
cmF0ZWQpOwogCiB2YXIgdGVzdFNvdXJjZU11bHRpID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgi
ZGl2Iik7CkBAIC04Myw3ICs4Myw3IEBAIGZ1bmN0aW9uIHBhc3RlQW5kVmVyaWZ5KHNvdXJjZSwg
ZGVzdCwgZXhwZWN0ZWRNYXJrZWQpCiAKICAgICAgICAgbnJldHJ5LS07CiAgICAgICAgIGlmICgw
ID09IG5yZXRyeSkgewotICAgICAgICAgICAgdGVzdEZhaWxlZChkZXN0LnRhZ05hbWUgKyAiIHNo
b3VsZCBoYXZlIGEgbWFya2VyIG9uIGZvciAnIiArIHNvdXJjZS5pbm5lckhUTUwgKyAiJyIpOwor
ICAgICAgICAgICAgdGVzdEZhaWxlZChkZXN0LnRhZ05hbWUgKyAiIHNob3VsZCBoYXZlIGEgbWFy
a2VyIG9uICciICsgc291cmNlLmlubmVySFRNTCArICInIik7CiAgICAgICAgICAgICBkb25lKCk7
CiAgICAgICAgICAgICByZXR1cm47CiAgICAgICAgIH0KQEAgLTk3LDE0ICs5NywxNiBAQCBmdW5j
dGlvbiBwYXN0ZUFuZFZlcmlmeShzb3VyY2UsIGRlc3QsIGV4cGVjdGVkTWFya2VkKQogaWYgKHdp
bmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikKICAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5zZXRB
c3luY2hyb25vdXNTcGVsbENoZWNraW5nRW5hYmxlZCh0cnVlKTsKIAotdGVzdHMucHVzaChmdW5j
dGlvbigpIHsgcGFzdGVBbmRWZXJpZnkodGVzdFNvdXJjZVBsYWluLCB0ZXN0SW5wdXQsIFtbMCwg
M11dKTsgfSk7Ci10ZXN0cy5wdXNoKGZ1bmN0aW9uKCkgeyBwYXN0ZUFuZFZlcmlmeSh0ZXN0U291
cmNlRGVjb3JhdGVkLCB0ZXN0SW5wdXQsIFtbMCwgM11dKTsgfSk7Cit0ZXN0cy5wdXNoKGZ1bmN0
aW9uKCkgeyBwYXN0ZUFuZFZlcmlmeSh0ZXN0U291cmNlUGxhaW4sIHRlc3RJbnB1dCwgW1swLCAy
XV0pOyB9KTsKK3Rlc3RzLnB1c2goZnVuY3Rpb24oKSB7IHBhc3RlQW5kVmVyaWZ5KHRlc3RTb3Vy
Y2VEZWNvcmF0ZWQsIHRlc3RJbnB1dCwgW1swLCAyXV0pOyB9KTsKIHRlc3RzLnB1c2goZnVuY3Rp
b24oKSB7IHBhc3RlQW5kVmVyaWZ5KHRlc3RTb3VyY2VNdWx0aSwgdGVzdElucHV0LCBbWzAsIDJd
LCBbMywgMl1dKTsgfSk7Ci10ZXN0cy5wdXNoKGZ1bmN0aW9uKCkgeyBwYXN0ZUFuZFZlcmlmeSh0
ZXN0U291cmNlUGxhaW4sIHRlc3RUZXh0QXJlYSwgW1swLCAzXV0pOyB9KTsKLXRlc3RzLnB1c2go
ZnVuY3Rpb24oKSB7IHBhc3RlQW5kVmVyaWZ5KHRlc3RTb3VyY2VEZWNvcmF0ZWQsIHRlc3RUZXh0
QXJlYSwgW1swLCAzXV0pOyB9KTsKKwordGVzdHMucHVzaChmdW5jdGlvbigpIHsgcGFzdGVBbmRW
ZXJpZnkodGVzdFNvdXJjZVBsYWluLCB0ZXN0VGV4dEFyZWEsIFtbMCwgMl1dKTsgfSk7Cit0ZXN0
cy5wdXNoKGZ1bmN0aW9uKCkgeyBwYXN0ZUFuZFZlcmlmeSh0ZXN0U291cmNlRGVjb3JhdGVkLCB0
ZXN0VGV4dEFyZWEsIFtbMCwgMl1dKTsgfSk7CiB0ZXN0cy5wdXNoKGZ1bmN0aW9uKCkgeyBwYXN0
ZUFuZFZlcmlmeSh0ZXN0U291cmNlTXVsdGksIHRlc3RUZXh0QXJlYSwgW1swLCAyXSwgWzMsIDJd
XSk7IH0pOwotdGVzdHMucHVzaChmdW5jdGlvbigpIHsgcGFzdGVBbmRWZXJpZnkodGVzdFNvdXJj
ZVBsYWluLCB0ZXN0RWRpdGFibGUsIFtbMCwgM11dKTsgfSk7Ci10ZXN0cy5wdXNoKGZ1bmN0aW9u
KCkgeyBwYXN0ZUFuZFZlcmlmeSh0ZXN0U291cmNlRGVjb3JhdGVkLCB0ZXN0RWRpdGFibGUsIFtb
MCwgMl1dKTsgfSk7IC8vIFRvIGNoZWNrICJmbyIgcGFydCBvZiBmb28uCisKK3Rlc3RzLnB1c2go
ZnVuY3Rpb24oKSB7IHBhc3RlQW5kVmVyaWZ5KHRlc3RTb3VyY2VQbGFpbiwgdGVzdEVkaXRhYmxl
LCBbWzAsIDJdXSk7IH0pOwordGVzdHMucHVzaChmdW5jdGlvbigpIHsgcGFzdGVBbmRWZXJpZnko
dGVzdFNvdXJjZURlY29yYXRlZCwgdGVzdEVkaXRhYmxlLCBbWzAsIDFdXSk7IH0pOyAvLyBUbyBj
aGVjayAiZm8iIHBhcnQgb2YgZm9vLgogdGVzdHMucHVzaChmdW5jdGlvbigpIHsgcGFzdGVBbmRW
ZXJpZnkodGVzdFNvdXJjZU11bHRpLCB0ZXN0RWRpdGFibGUsIFtbMCwgMl0sIFszLCAyXV0pOyB9
KTsKIGRvbmUoKTsKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zcGVsbGluZy9z
cGVsbGNoZWNrLXBhc3RlLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc3BlbGxp
bmcvc3BlbGxjaGVjay1wYXN0ZS1leHBlY3RlZC50eHQKaW5kZXggNTkxZjA5MjE3YjA4NWY4ZWE4
NThhNWFkYzA5NTJmNzYzYjM4OTdiYi4uODdhYTMzNjJhMWE4ZDcwYmY1MDdlMmZhNzcyZDc3Njg0
ODk3MjQzYSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zcGVsbGluZy9zcGVsbGNo
ZWNrLXBhc3RlLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NwZWxsaW5n
L3NwZWxsY2hlY2stcGFzdGUtZXhwZWN0ZWQudHh0CkBAIC02LDEzICs2LDEzIEBAIE9uIHN1Y2Nl
c3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5
ICJURVNUIENPTVBMRVRFCiBQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCiAKIFRFU1Qg
Q09NUExFVEUKLVBBU1MgSU5QVVQgaGFzIGEgbWFya2VyIG9uICdmb28gYmFyJwotUEFTUyBJTlBV
VCBoYXMgYSBtYXJrZXIgb24gJ2ZvPGI+byBiYTwvYj5yJworUEFTUyBJTlBVVCBoYXMgYSBtYXJr
ZXIgb24gJ3p6IGFwcGxlJworUEFTUyBJTlBVVCBoYXMgYSBtYXJrZXIgb24gJ3o8Yj56IGFwcGw8
L2I+ZScKIFBBU1MgSU5QVVQgaGFzIGEgbWFya2VyIG9uICd6eiB6eiB6eicKLVBBU1MgVEVYVEFS
RUEgaGFzIGEgbWFya2VyIG9uICdmb28gYmFyJwotUEFTUyBURVhUQVJFQSBoYXMgYSBtYXJrZXIg
b24gJ2ZvPGI+byBiYTwvYj5yJworUEFTUyBURVhUQVJFQSBoYXMgYSBtYXJrZXIgb24gJ3p6IGFw
cGxlJworUEFTUyBURVhUQVJFQSBoYXMgYSBtYXJrZXIgb24gJ3o8Yj56IGFwcGw8L2I+ZScKIFBB
U1MgVEVYVEFSRUEgaGFzIGEgbWFya2VyIG9uICd6eiB6eiB6eicKLVBBU1MgRElWIGhhcyBhIG1h
cmtlciBvbiAnZm9vIGJhcicKLVBBU1MgRElWIGhhcyBhIG1hcmtlciBvbiAnZm88Yj5vIGJhPC9i
PnInCitQQVNTIERJViBoYXMgYSBtYXJrZXIgb24gJ3p6IGFwcGxlJworUEFTUyBESVYgaGFzIGEg
bWFya2VyIG9uICd6PGI+eiBhcHBsPC9iPmUnCiBQQVNTIERJViBoYXMgYSBtYXJrZXIgb24gJ3p6
IHp6IHp6JwogCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>