<?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>37748</bug_id>
          
          <creation_ts>2010-04-16 23:04:15 -0700</creation_ts>
          <short_desc>Make Sheriffbot more inspirational</short_desc>
          <delta_ts>2010-04-20 20:55:17 -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>Tools / Tests</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>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Daniel Bates">dbates</reporter>
          <assigned_to name="Daniel Bates">dbates</assigned_to>
          <cc>abarth</cc>
    
    <cc>cjerdonek</cc>
    
    <cc>eric</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>213583</commentid>
    <comment_count>0</comment_count>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2010-04-16 23:04:15 -0700</bug_when>
    <thetext>Teach Sheriffbot some new quotes.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>214461</commentid>
    <comment_count>1</comment_count>
      <attachid>53767</attachid>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2010-04-19 19:53:50 -0700</bug_when>
    <thetext>Created attachment 53767
Patch with test cases</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>214471</commentid>
    <comment_count>2</comment_count>
      <attachid>53767</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2010-04-19 21:27:00 -0700</bug_when>
    <thetext>Comment on attachment 53767
Patch with test cases

Awesome!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>214472</commentid>
    <comment_count>3</comment_count>
      <attachid>53767</attachid>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2010-04-19 21:34:35 -0700</bug_when>
    <thetext>Comment on attachment 53767
Patch with test cases

Clearing flags on attachment: 53767

Committed r57868: &lt;http://trac.webkit.org/changeset/57868&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>214473</commentid>
    <comment_count>4</comment_count>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2010-04-19 21:34:41 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>214478</commentid>
    <comment_count>5</comment_count>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2010-04-19 22:13:13 -0700</bug_when>
    <thetext>Sheriffbot sat silently when you said hi after &lt;http://trac.webkit.org/changeset/57868&gt; :-(. Rolled out in &lt;http://trac.webkit.org/changeset/57869&gt; so that I can further test/debug the patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>214520</commentid>
    <comment_count>6</comment_count>
      <attachid>53780</attachid>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2010-04-20 00:54:08 -0700</bug_when>
    <thetext>Created attachment 53780
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>214521</commentid>
    <comment_count>7</comment_count>
      <attachid>53780</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2010-04-20 01:06:01 -0700</bug_when>
    <thetext>Comment on attachment 53780
Patch

Please add unicode to your test case.

Seems fetch_ should just call parse_ internally, no?  Then parse could be _parse?

I&apos;m surprised the convertEntities bit is needed.  I wonder where else we might need that?

BeatufifulSoup is a subclass of BeautifulStoneSoup, no need to import BeautifulStoneSoup just for HTML_ENTITIES.

regexp strings shoudl start with r&quot;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>214528</commentid>
    <comment_count>8</comment_count>
      <attachid>53782</attachid>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2010-04-20 01:43:45 -0700</bug_when>
    <thetext>Created attachment 53782
Patch with test cases

Updated patch based on Eric&apos;s comments.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>214529</commentid>
    <comment_count>9</comment_count>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2010-04-20 01:44:49 -0700</bug_when>
    <thetext>(In reply to comment #7)
&gt; (From update of attachment 53780 [details])
&gt; [...]
&gt; I&apos;m surprised the convertEntities bit is needed.  I wonder where else we might
&gt; need that?

I&apos;ll look into this further.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>214531</commentid>
    <comment_count>10</comment_count>
      <attachid>53782</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2010-04-20 01:46:57 -0700</bug_when>
    <thetext>Comment on attachment 53782
Patch with test cases

LGTM.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>215126</commentid>
    <comment_count>11</comment_count>
      <attachid>53782</attachid>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2010-04-20 20:55:10 -0700</bug_when>
    <thetext>Comment on attachment 53782
Patch with test cases

Clearing flags on attachment: 53782

Committed r57948: &lt;http://trac.webkit.org/changeset/57948&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>215127</commentid>
    <comment_count>12</comment_count>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2010-04-20 20:55:17 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>53767</attachid>
            <date>2010-04-19 19:53:50 -0700</date>
            <delta_ts>2010-04-20 00:54:03 -0700</delta_ts>
            <desc>Patch with test cases</desc>
            <filename>Bug37748.patch</filename>
            <type>text/plain</type>
            <size>6965</size>
            <attacher name="Daniel Bates">dbates</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYktpdFRvb2xzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJLaXRUb29scy9D
aGFuZ2VMb2cJKHJldmlzaW9uIDU3Nzc1KQorKysgV2ViS2l0VG9vbHMvQ2hhbmdlTG9nCSh3b3Jr
aW5nIGNvcHkpCkBAIC0xLDMgKzEsMTcgQEAKKzIwMTAtMDQtMTYgIERhbmllbCBCYXRlcyAgPGRi
YXRlc0ByaW0uY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0zNzc0OAorCisg
ICAgICAgIE1ha2UgU2hlcmlmZmJvdCBtb3JlIGluc3BpcmF0aW9uYWwuCisKKyAgICAgICAgKiBT
Y3JpcHRzL3dlYmtpdHB5L2NvbW1vbi9uZXQvYnVnemlsbGEucHk6CisgICAgICAgICogU2NyaXB0
cy93ZWJraXRweS9jb21tb24vbmV0L2J1Z3ppbGxhX3VuaXR0ZXN0LnB5OgorICAgICAgICAqIFNj
cmlwdHMvd2Via2l0cHkvdG9vbC9ib3QvaXJjX2NvbW1hbmQucHk6CisgICAgICAgICogU2NyaXB0
cy93ZWJraXRweS90b29sL2JvdC9zaGVyaWZmaXJjYm90X3VuaXR0ZXN0LnB5OgorICAgICAgICAq
IFNjcmlwdHMvd2Via2l0cHkvdG9vbC9tb2NrdG9vbC5weToKKwogMjAxMC0wNC0xNyAgU2FtIFdl
aW5pZyAgPHdlaW5pZ0BhcHBsZS5jb20+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgQWRhbSBSb2Jl
bi4KSW5kZXg6IFdlYktpdFRvb2xzL1NjcmlwdHMvd2Via2l0cHkvY29tbW9uL25ldC9idWd6aWxs
YS5weQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBXZWJLaXRUb29scy9TY3JpcHRzL3dlYmtpdHB5L2NvbW1vbi9u
ZXQvYnVnemlsbGEucHkJKHJldmlzaW9uIDU3NzEzKQorKysgV2ViS2l0VG9vbHMvU2NyaXB0cy93
ZWJraXRweS9jb21tb24vbmV0L2J1Z3ppbGxhLnB5CSh3b3JraW5nIGNvcHkpCkBAIC00Miw3ICs0
Miw3IEBAIGZyb20gd2Via2l0cHkuY29tbW9uLm5ldC5jcmVkZW50aWFscyBpbXAKIGZyb20gd2Vi
a2l0cHkuY29tbW9uLnN5c3RlbS5vc3BhdGggaW1wb3J0IHJlbHBhdGgKIGZyb20gd2Via2l0cHku
Y29tbW9uLnN5c3RlbS51c2VyIGltcG9ydCBVc2VyCiBmcm9tIHdlYmtpdHB5LnRoaXJkcGFydHku
YXV0b2luc3RhbGxlZC5tZWNoYW5pemUgaW1wb3J0IEJyb3dzZXIKLWZyb20gd2Via2l0cHkudGhp
cmRwYXJ0eS5CZWF1dGlmdWxTb3VwIGltcG9ydCBCZWF1dGlmdWxTb3VwLCBTb3VwU3RyYWluZXIK
K2Zyb20gd2Via2l0cHkudGhpcmRwYXJ0eS5CZWF1dGlmdWxTb3VwIGltcG9ydCBCZWF1dGlmdWxT
b3VwLCBCZWF1dGlmdWxTdG9uZVNvdXAsIFNvdXBTdHJhaW5lcgogCiAKIGRlZiBwYXJzZV9idWdf
aWQobWVzc2FnZSk6CkBAIC0yNjYsNiArMjY2LDE0IEBAIGNsYXNzIEJ1Z3ppbGxhUXVlcmllcyhv
YmplY3QpOgogICAgICAgICByZXZpZXdfcXVldWVfdXJsID0gInJlcXVlc3QuY2dpP2FjdGlvbj1x
dWV1ZSZ0eXBlPXJldmlldyZncm91cD10eXBlIgogICAgICAgICByZXR1cm4gc2VsZi5fZmV0Y2hf
YXR0YWNobWVudF9pZHNfcmVxdWVzdF9xdWVyeShyZXZpZXdfcXVldWVfdXJsKQogCisgICAgZGVm
IGZldGNoX3F1aXBzKHNlbGYpOgorICAgICAgICByZXR1cm4gc2VsZi5fbG9hZF9xdWVyeSgiL3F1
aXBzLmNnaT9hY3Rpb249c2hvdyIpCisKKyAgICBkZWYgcGFyc2VfcXVpcHMoc2VsZiwgcGFnZSwg
bGltaXQ9Tm9uZSk6CisgICAgICAgIHNvdXAgPSBCZWF1dGlmdWxTb3VwKHBhZ2UsIGNvbnZlcnRF
bnRpdGllcz1CZWF1dGlmdWxTdG9uZVNvdXAuSFRNTF9FTlRJVElFUykKKyAgICAgICAgcXVpcHMg
PSBzb3VwLmZpbmQodGV4dD1yZS5jb21waWxlKCJFeGlzdGluZyBxdWlwczoiKSkuZmluZE5leHQo
InVsIikuZmluZEFsbCgibGkiKVs6bGltaXRdCisgICAgICAgIHJldHVybiBbc3RyKHF1aXBfZW50
cnkuc3RyaW5nKSBmb3IgcXVpcF9lbnRyeSBpbiBxdWlwc10KKwogCiBjbGFzcyBDb21taXR0ZXJW
YWxpZGF0b3Iob2JqZWN0KToKIApAQCAtMzY0LDYgKzM3Miw3IEBAIGNsYXNzIEJ1Z3ppbGxhKG9i
amVjdCk6CiAgICAgICAgIHNlbGYuYXV0aGVudGljYXRlZCA9IEZhbHNlCiAgICAgICAgIHNlbGYu
cXVlcmllcyA9IEJ1Z3ppbGxhUXVlcmllcyhzZWxmKQogICAgICAgICBzZWxmLmNvbW1pdHRlcnMg
PSBjb21taXR0ZXJzCisgICAgICAgIHNlbGYuY2FjaGVkX3F1aXBzID0gW10KIAogICAgICAgICAj
IEZJWE1FOiBXZSBzaG91bGQgdXNlIHNvbWUgc29ydCBvZiBCcm93c2VyIG1vY2sgb2JqZWN0IHdo
ZW4gaW4gZHJ5cnVuCiAgICAgICAgICMgbW9kZSAodG8gcHJldmVudCBhbnkgbWlzdGFrZXMpLgpA
QCAtMzc3LDYgKzM4NiwxMyBAQCBjbGFzcyBCdWd6aWxsYShvYmplY3QpOgogICAgIGJ1Z19zZXJ2
ZXJfcmVnZXggPSAiaHR0cHM/Oi8vJXMvIiAlIHJlLnN1YignXC4nLCAnXFwuJywgYnVnX3NlcnZl
cl9ob3N0KQogICAgIGJ1Z19zZXJ2ZXJfdXJsID0gImh0dHBzOi8vJXMvIiAlIGJ1Z19zZXJ2ZXJf
aG9zdAogCisgICAgZGVmIHF1aXBzKHNlbGYpOgorICAgICAgICAjIFdlIG9ubHkgZmV0Y2ggYW5k
IHBhcnNlIHRoZSBsaXN0IG9mIHF1aXBzIG9uY2UgcGVyIGluc3RhbnRpYXRpb24KKyAgICAgICAg
IyBzbyB0aGF0IHdlIGRvIG5vdCBidXJkZW4gYnVncy53ZWJraXQub3JnLgorICAgICAgICBpZiBu
b3Qgc2VsZi5jYWNoZWRfcXVpcHM6CisgICAgICAgICAgICBzZWxmLmNhY2hlZF9xdWlwcyA9IHNl
bGYucXVlcmllcy5wYXJzZV9xdWlwcyhzZWxmLnF1ZXJpZXMuZmV0Y2hfcXVpcHMoKSkKKyAgICAg
ICAgcmV0dXJuIHNlbGYuY2FjaGVkX3F1aXBzCisKICAgICBkZWYgYnVnX3VybF9mb3JfYnVnX2lk
KHNlbGYsIGJ1Z19pZCwgeG1sPUZhbHNlKToKICAgICAgICAgaWYgbm90IGJ1Z19pZDoKICAgICAg
ICAgICAgIHJldHVybiBOb25lCkluZGV4OiBXZWJLaXRUb29scy9TY3JpcHRzL3dlYmtpdHB5L2Nv
bW1vbi9uZXQvYnVnemlsbGFfdW5pdHRlc3QucHkKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViS2l0VG9vbHMv
U2NyaXB0cy93ZWJraXRweS9jb21tb24vbmV0L2J1Z3ppbGxhX3VuaXR0ZXN0LnB5CShyZXZpc2lv
biA1NzcxMykKKysrIFdlYktpdFRvb2xzL1NjcmlwdHMvd2Via2l0cHkvY29tbW9uL25ldC9idWd6
aWxsYV91bml0dGVzdC5weQkod29ya2luZyBjb3B5KQpAQCAtMzA3LDExICszMDcsMzYgQEAgY2xh
c3MgQnVnemlsbGFRdWVyaWVzVGVzdCh1bml0dGVzdC5UZXN0QwogPC9ib2R5PgogPC9odG1sPgog
IiIiCisgICAgX3NhbXBsZV9xdWlwX3BhZ2UgPSAiIiIKKzwhRE9DVFlQRSBodG1sIFBVQkxJQyAi
LS8vVzNDLy9EVEQgSFRNTCA0LjAxIFRyYW5zaXRpb25hbC8vRU4iCisgICAgICAgICAgICAgICAg
ICAgICAgImh0dHA6Ly93d3cudzMub3JnL1RSL2h0bWw0L2xvb3NlLmR0ZCI+Cis8aHRtbD4KKyAg
PGhlYWQ+CisgICAgPHRpdGxlPkJ1Z3ppbGxhIFF1aXAgU3lzdGVtPC90aXRsZT4KKyAgPC9oZWFk
PgorICA8Ym9keT4KKyAgICA8aDI+CisKKyAgICAgIEV4aXN0aW5nIHF1aXBzOgorICAgIDwvaDI+
CisgICAgPHVsPgorICAgICAgICA8bGk+RXZlcnl0aGluZyBzaG91bGQgYmUgbWFkZSBhcyBzaW1w
bGUgYXMgcG9zc2libGUsIGJ1dCBub3Qgc2ltcGxlci4gLSBBbGJlcnQgRWluc3RlaW48L2xpPgor
ICAgICAgICA8bGk+R29vZCBhcnRpc3RzIGNvcHkuIEdyZWF0IGFydGlzdHMgc3RlYWwuIC0gUGFi
bG8gUGljYXNzbzwvbGk+CisKKyAgICA8L3VsPgorICA8L2JvZHk+Cis8L2h0bWw+CisiIiIKIAog
ICAgIGRlZiB0ZXN0X3JlcXVlc3RfcGFnZV9wYXJzaW5nKHNlbGYpOgogICAgICAgICBxdWVyaWVz
ID0gQnVnemlsbGFRdWVyaWVzKE5vbmUpCiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWxzKFs0MDUx
MSwgNDA3MjIsIDQwNzIzXSwgcXVlcmllcy5fcGFyc2VfYXR0YWNobWVudF9pZHNfcmVxdWVzdF9x
dWVyeShzZWxmLl9zYW1wbGVfcmVxdWVzdF9wYWdlKSkKIAorICAgIGRlZiB0ZXN0X3F1aXBfcGFn
ZV9wYXJzaW5nKHNlbGYpOgorICAgICAgICBxdWVyaWVzID0gQnVnemlsbGFRdWVyaWVzKE5vbmUp
CisgICAgICAgIGV4cGVjdGVkX3F1aXBzID0gWyJFdmVyeXRoaW5nIHNob3VsZCBiZSBtYWRlIGFz
IHNpbXBsZSBhcyBwb3NzaWJsZSwgYnV0IG5vdCBzaW1wbGVyLiAtIEFsYmVydCBFaW5zdGVpbiIs
ICJHb29kIGFydGlzdHMgY29weS4gR3JlYXQgYXJ0aXN0cyBzdGVhbC4gLSBQYWJsbyBQaWNhc3Nv
Il0KKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbHMoZXhwZWN0ZWRfcXVpcHMsIHF1ZXJpZXMucGFy
c2VfcXVpcHMoc2VsZi5fc2FtcGxlX3F1aXBfcGFnZSkpCisKICAgICBkZWYgdGVzdF9sb2FkX3F1
ZXJ5KHNlbGYpOgogICAgICAgICBxdWVyaWVzID0gQnVnemlsbGFRdWVyaWVzKE1vY2soKSkKICAg
ICAgICAgcXVlcmllcy5fbG9hZF9xdWVyeSgicmVxdWVzdC5jZ2k/YWN0aW9uPXF1ZXVlJnR5cGU9
cmV2aWV3Jmdyb3VwPXR5cGUiKQpJbmRleDogV2ViS2l0VG9vbHMvU2NyaXB0cy93ZWJraXRweS90
b29sL21vY2t0b29sLnB5Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYktpdFRvb2xzL1NjcmlwdHMvd2Via2l0
cHkvdG9vbC9tb2NrdG9vbC5weQkocmV2aXNpb24gNTc3MTMpCisrKyBXZWJLaXRUb29scy9TY3Jp
cHRzL3dlYmtpdHB5L3Rvb2wvbW9ja3Rvb2wucHkJKHdvcmtpbmcgY29weSkKQEAgLTI3MCw2ICsy
NzAsOSBAQCBjbGFzcyBNb2NrQnVnemlsbGEoTW9jayk6CiAgICAgICAgIGxvZygiYnVnX3RpdGxl
OiAlcyIgJSBidWdfdGl0bGUpCiAgICAgICAgIGxvZygiYnVnX2Rlc2NyaXB0aW9uOiAlcyIgJSBi
dWdfZGVzY3JpcHRpb24pCiAKKyAgICBkZWYgcXVpcHMoc2VsZik6CisgICAgICAgIHJldHVybiBb
Ikdvb2QgYXJ0aXN0cyBjb3B5LiBHcmVhdCBhcnRpc3RzIHN0ZWFsLiAtIFBhYmxvIFBpY2Fzc28i
XQorCiAgICAgZGVmIGZldGNoX2J1ZyhzZWxmLCBidWdfaWQpOgogICAgICAgICByZXR1cm4gQnVn
KHNlbGYuYnVnX2NhY2hlLmdldChidWdfaWQpLCBzZWxmKQogCkluZGV4OiBXZWJLaXRUb29scy9T
Y3JpcHRzL3dlYmtpdHB5L3Rvb2wvYm90L2lyY19jb21tYW5kLnB5Cj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdl
YktpdFRvb2xzL1NjcmlwdHMvd2Via2l0cHkvdG9vbC9ib3QvaXJjX2NvbW1hbmQucHkJKHJldmlz
aW9uIDU3NzEzKQorKysgV2ViS2l0VG9vbHMvU2NyaXB0cy93ZWJraXRweS90b29sL2JvdC9pcmNf
Y29tbWFuZC5weQkod29ya2luZyBjb3B5KQpAQCAtMjYsNiArMjYsNyBAQAogIyAoSU5DTFVESU5H
IE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBV
U0UKICMgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElU
WSBPRiBTVUNIIERBTUFHRS4KIAoraW1wb3J0IHJhbmRvbQogaW1wb3J0IHdlYmtpdHB5LmNvbW1v
bi5jb25maWcuaXJjIGFzIGNvbmZpZ19pcmMKIAogZnJvbSB3ZWJraXRweS5jb21tb24uY2hlY2tv
dXQuY2hhbmdlbG9nIGltcG9ydCB2aWV3X3NvdXJjZV91cmwKQEAgLTc2LDQgKzc3LDYgQEAgY2xh
c3MgUm9sbG91dChJUkNDb21tYW5kKToKIAogY2xhc3MgSGkoSVJDQ29tbWFuZCk6CiAgICAgZGVm
IGV4ZWN1dGUoc2VsZiwgbmljaywgYXJncywgdG9vbCwgc2hlcmlmZik6Ci0gICAgICAgIHJldHVy
biAnIk9ubHkgeW91IGNhbiBwcmV2ZW50IGZvcmVzdCBmaXJlcy4iIC0tIFNtb2tleSB0aGUgQmVh
cicKKyAgICAgICAgcXVpcHMgPSB0b29sLmJ1Z3MucXVpcHMoKQorICAgICAgICBxdWlwcy5hcHBl
bmQoJyJPbmx5IHlvdSBjYW4gcHJldmVudCBmb3Jlc3QgZmlyZXMuIiAtLSBTbW9rZXkgdGhlIEJl
YXInKQorICAgICAgICByZXR1cm4gcmFuZG9tLmNob2ljZShxdWlwcykKSW5kZXg6IFdlYktpdFRv
b2xzL1NjcmlwdHMvd2Via2l0cHkvdG9vbC9ib3Qvc2hlcmlmZmlyY2JvdF91bml0dGVzdC5weQo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBXZWJLaXRUb29scy9TY3JpcHRzL3dlYmtpdHB5L3Rvb2wvYm90L3NoZXJp
ZmZpcmNib3RfdW5pdHRlc3QucHkJKHJldmlzaW9uIDU3NzEzKQorKysgV2ViS2l0VG9vbHMvU2Ny
aXB0cy93ZWJraXRweS90b29sL2JvdC9zaGVyaWZmaXJjYm90X3VuaXR0ZXN0LnB5CSh3b3JraW5n
IGNvcHkpCkBAIC0yNyw2ICsyNyw3IEBACiAjIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURW
SVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCiAKIGltcG9ydCB1bml0dGVz
dAoraW1wb3J0IHJhbmRvbQogCiBmcm9tIHdlYmtpdHB5LmNvbW1vbi5zeXN0ZW0ub3V0cHV0Y2Fw
dHVyZSBpbXBvcnQgT3V0cHV0Q2FwdHVyZQogZnJvbSB3ZWJraXRweS50b29sLmJvdC5zaGVyaWZm
IGltcG9ydCBTaGVyaWZmCkBAIC00NSw2ICs0Niw3IEBAIGRlZiBydW4obWVzc2FnZSk6CiAKIGNs
YXNzIFNoZXJpZmZJUkNCb3RUZXN0KHVuaXR0ZXN0LlRlc3RDYXNlKToKICAgICBkZWYgdGVzdF9o
aShzZWxmKToKKyAgICAgICAgcmFuZG9tLnNlZWQoMjMzMjQpCiAgICAgICAgIGV4cGVjdGVkX3N0
ZGVyciA9ICdNT0NLOiBpcmMucG9zdDogIk9ubHkgeW91IGNhbiBwcmV2ZW50IGZvcmVzdCBmaXJl
cy4iIC0tIFNtb2tleSB0aGUgQmVhclxuJwogICAgICAgICBPdXRwdXRDYXB0dXJlKCkuYXNzZXJ0
X291dHB1dHMoc2VsZiwgcnVuLCBhcmdzPVsiaGkiXSwgZXhwZWN0ZWRfc3RkZXJyPWV4cGVjdGVk
X3N0ZGVycikKIAo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>53780</attachid>
            <date>2010-04-20 00:54:08 -0700</date>
            <delta_ts>2010-04-20 01:43:45 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-37748-20100420005406.patch</filename>
            <type>text/plain</type>
            <size>6975</size>
            <attacher name="Daniel Bates">dbates</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYktpdFRvb2xzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJLaXRUb29scy9D
aGFuZ2VMb2cJKHJldmlzaW9uIDU3ODY5KQorKysgV2ViS2l0VG9vbHMvQ2hhbmdlTG9nCSh3b3Jr
aW5nIGNvcHkpCkBAIC0xLDMgKzEsMTcgQEAKKzIwMTAtMDQtMjAgIERhbmllbCBCYXRlcyAgPGRi
YXRlc0ByaW0uY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0zNzc0OAorCisg
ICAgICAgIE1ha2UgU2hlcmlmZmJvdCBtb3JlIGluc3BpcmF0aW9uYWwuCisKKyAgICAgICAgKiBT
Y3JpcHRzL3dlYmtpdHB5L2NvbW1vbi9uZXQvYnVnemlsbGEucHk6CisgICAgICAgICogU2NyaXB0
cy93ZWJraXRweS9jb21tb24vbmV0L2J1Z3ppbGxhX3VuaXR0ZXN0LnB5OgorICAgICAgICAqIFNj
cmlwdHMvd2Via2l0cHkvdG9vbC9ib3QvaXJjX2NvbW1hbmQucHk6CisgICAgICAgICogU2NyaXB0
cy93ZWJraXRweS90b29sL2JvdC9zaGVyaWZmaXJjYm90X3VuaXR0ZXN0LnB5OgorICAgICAgICAq
IFNjcmlwdHMvd2Via2l0cHkvdG9vbC9tb2NrdG9vbC5weToKKwogMjAxMC0wNC0xOSAgRGFuaWVs
IEJhdGVzICA8ZGJhdGVzQHJpbS5jb20+CiAKICAgICAgICAgTm8gcmV2aWV3LCByb2xsaW5nIG91
dCA1Nzg2OC4KSW5kZXg6IFdlYktpdFRvb2xzL1NjcmlwdHMvd2Via2l0cHkvY29tbW9uL25ldC9i
dWd6aWxsYS5weQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJLaXRUb29scy9TY3JpcHRzL3dlYmtpdHB5L2Nv
bW1vbi9uZXQvYnVnemlsbGEucHkJKHJldmlzaW9uIDU3ODY5KQorKysgV2ViS2l0VG9vbHMvU2Ny
aXB0cy93ZWJraXRweS9jb21tb24vbmV0L2J1Z3ppbGxhLnB5CSh3b3JraW5nIGNvcHkpCkBAIC00
Miw3ICs0Miw3IEBAIGZyb20gd2Via2l0cHkuY29tbW9uLm5ldC5jcmVkZW50aWFscyBpbXAKIGZy
b20gd2Via2l0cHkuY29tbW9uLnN5c3RlbS5vc3BhdGggaW1wb3J0IHJlbHBhdGgKIGZyb20gd2Vi
a2l0cHkuY29tbW9uLnN5c3RlbS51c2VyIGltcG9ydCBVc2VyCiBmcm9tIHdlYmtpdHB5LnRoaXJk
cGFydHkuYXV0b2luc3RhbGxlZC5tZWNoYW5pemUgaW1wb3J0IEJyb3dzZXIKLWZyb20gd2Via2l0
cHkudGhpcmRwYXJ0eS5CZWF1dGlmdWxTb3VwIGltcG9ydCBCZWF1dGlmdWxTb3VwLCBTb3VwU3Ry
YWluZXIKK2Zyb20gd2Via2l0cHkudGhpcmRwYXJ0eS5CZWF1dGlmdWxTb3VwIGltcG9ydCBCZWF1
dGlmdWxTb3VwLCBCZWF1dGlmdWxTdG9uZVNvdXAsIFNvdXBTdHJhaW5lcgogCiAKIGRlZiBwYXJz
ZV9idWdfaWQobWVzc2FnZSk6CkBAIC0yNjYsNiArMjY2LDE0IEBAIGNsYXNzIEJ1Z3ppbGxhUXVl
cmllcyhvYmplY3QpOgogICAgICAgICByZXZpZXdfcXVldWVfdXJsID0gInJlcXVlc3QuY2dpP2Fj
dGlvbj1xdWV1ZSZ0eXBlPXJldmlldyZncm91cD10eXBlIgogICAgICAgICByZXR1cm4gc2VsZi5f
ZmV0Y2hfYXR0YWNobWVudF9pZHNfcmVxdWVzdF9xdWVyeShyZXZpZXdfcXVldWVfdXJsKQogCisg
ICAgZGVmIGZldGNoX3F1aXBzKHNlbGYpOgorICAgICAgICByZXR1cm4gc2VsZi5fbG9hZF9xdWVy
eSgiL3F1aXBzLmNnaT9hY3Rpb249c2hvdyIpCisKKyAgICBkZWYgcGFyc2VfcXVpcHMoc2VsZiwg
cGFnZSwgbGltaXQ9Tm9uZSk6CisgICAgICAgIHNvdXAgPSBCZWF1dGlmdWxTb3VwKHBhZ2UsIGNv
bnZlcnRFbnRpdGllcz1CZWF1dGlmdWxTdG9uZVNvdXAuSFRNTF9FTlRJVElFUykKKyAgICAgICAg
cXVpcHMgPSBzb3VwLmZpbmQodGV4dD1yZS5jb21waWxlKCJFeGlzdGluZyBxdWlwczoiKSkuZmlu
ZE5leHQoInVsIikuZmluZEFsbCgibGkiKVs6bGltaXRdCisgICAgICAgIHJldHVybiBbdW5pY29k
ZShxdWlwX2VudHJ5LnN0cmluZykgZm9yIHF1aXBfZW50cnkgaW4gcXVpcHNdCisKIAogY2xhc3Mg
Q29tbWl0dGVyVmFsaWRhdG9yKG9iamVjdCk6CiAKQEAgLTM2NCw2ICszNzIsNyBAQCBjbGFzcyBC
dWd6aWxsYShvYmplY3QpOgogICAgICAgICBzZWxmLmF1dGhlbnRpY2F0ZWQgPSBGYWxzZQogICAg
ICAgICBzZWxmLnF1ZXJpZXMgPSBCdWd6aWxsYVF1ZXJpZXMoc2VsZikKICAgICAgICAgc2VsZi5j
b21taXR0ZXJzID0gY29tbWl0dGVycworICAgICAgICBzZWxmLmNhY2hlZF9xdWlwcyA9IFtdCiAK
ICAgICAgICAgIyBGSVhNRTogV2Ugc2hvdWxkIHVzZSBzb21lIHNvcnQgb2YgQnJvd3NlciBtb2Nr
IG9iamVjdCB3aGVuIGluIGRyeXJ1bgogICAgICAgICAjIG1vZGUgKHRvIHByZXZlbnQgYW55IG1p
c3Rha2VzKS4KQEAgLTM3Nyw2ICszODYsMTMgQEAgY2xhc3MgQnVnemlsbGEob2JqZWN0KToKICAg
ICBidWdfc2VydmVyX3JlZ2V4ID0gImh0dHBzPzovLyVzLyIgJSByZS5zdWIoJ1wuJywgJ1xcLics
IGJ1Z19zZXJ2ZXJfaG9zdCkKICAgICBidWdfc2VydmVyX3VybCA9ICJodHRwczovLyVzLyIgJSBi
dWdfc2VydmVyX2hvc3QKIAorICAgIGRlZiBxdWlwcyhzZWxmKToKKyAgICAgICAgIyBXZSBvbmx5
IGZldGNoIGFuZCBwYXJzZSB0aGUgbGlzdCBvZiBxdWlwcyBvbmNlIHBlciBpbnN0YW50aWF0aW9u
CisgICAgICAgICMgc28gdGhhdCB3ZSBkbyBub3QgYnVyZGVuIGJ1Z3Mud2Via2l0Lm9yZy4KKyAg
ICAgICAgaWYgbm90IHNlbGYuY2FjaGVkX3F1aXBzOgorICAgICAgICAgICAgc2VsZi5jYWNoZWRf
cXVpcHMgPSBzZWxmLnF1ZXJpZXMucGFyc2VfcXVpcHMoc2VsZi5xdWVyaWVzLmZldGNoX3F1aXBz
KCkpCisgICAgICAgIHJldHVybiBzZWxmLmNhY2hlZF9xdWlwcworCiAgICAgZGVmIGJ1Z191cmxf
Zm9yX2J1Z19pZChzZWxmLCBidWdfaWQsIHhtbD1GYWxzZSk6CiAgICAgICAgIGlmIG5vdCBidWdf
aWQ6CiAgICAgICAgICAgICByZXR1cm4gTm9uZQpJbmRleDogV2ViS2l0VG9vbHMvU2NyaXB0cy93
ZWJraXRweS9jb21tb24vbmV0L2J1Z3ppbGxhX3VuaXR0ZXN0LnB5Cj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdl
YktpdFRvb2xzL1NjcmlwdHMvd2Via2l0cHkvY29tbW9uL25ldC9idWd6aWxsYV91bml0dGVzdC5w
eQkocmV2aXNpb24gNTc4NjkpCisrKyBXZWJLaXRUb29scy9TY3JpcHRzL3dlYmtpdHB5L2NvbW1v
bi9uZXQvYnVnemlsbGFfdW5pdHRlc3QucHkJKHdvcmtpbmcgY29weSkKQEAgLTMwNywxMSArMzA3
LDM2IEBAIGNsYXNzIEJ1Z3ppbGxhUXVlcmllc1Rlc3QodW5pdHRlc3QuVGVzdEMKIDwvYm9keT4K
IDwvaHRtbD4KICIiIgorICAgIF9zYW1wbGVfcXVpcF9wYWdlID0gIiIiCis8IURPQ1RZUEUgaHRt
bCBQVUJMSUMgIi0vL1czQy8vRFREIEhUTUwgNC4wMSBUcmFuc2l0aW9uYWwvL0VOIgorICAgICAg
ICAgICAgICAgICAgICAgICJodHRwOi8vd3d3LnczLm9yZy9UUi9odG1sNC9sb29zZS5kdGQiPgor
PGh0bWw+CisgIDxoZWFkPgorICAgIDx0aXRsZT5CdWd6aWxsYSBRdWlwIFN5c3RlbTwvdGl0bGU+
CisgIDwvaGVhZD4KKyAgPGJvZHk+CisgICAgPGgyPgorCisgICAgICBFeGlzdGluZyBxdWlwczoK
KyAgICA8L2gyPgorICAgIDx1bD4KKyAgICAgICAgPGxpPkV2ZXJ5dGhpbmcgc2hvdWxkIGJlIG1h
ZGUgYXMgc2ltcGxlIGFzIHBvc3NpYmxlLCBidXQgbm90IHNpbXBsZXIuIC0gQWxiZXJ0IEVpbnN0
ZWluPC9saT4KKyAgICAgICAgPGxpPkdvb2QgYXJ0aXN0cyBjb3B5LiBHcmVhdCBhcnRpc3RzIHN0
ZWFsLiAtIFBhYmxvIFBpY2Fzc288L2xpPgorCisgICAgPC91bD4KKyAgPC9ib2R5PgorPC9odG1s
PgorIiIiCiAKICAgICBkZWYgdGVzdF9yZXF1ZXN0X3BhZ2VfcGFyc2luZyhzZWxmKToKICAgICAg
ICAgcXVlcmllcyA9IEJ1Z3ppbGxhUXVlcmllcyhOb25lKQogICAgICAgICBzZWxmLmFzc2VydEVx
dWFscyhbNDA1MTEsIDQwNzIyLCA0MDcyM10sIHF1ZXJpZXMuX3BhcnNlX2F0dGFjaG1lbnRfaWRz
X3JlcXVlc3RfcXVlcnkoc2VsZi5fc2FtcGxlX3JlcXVlc3RfcGFnZSkpCiAKKyAgICBkZWYgdGVz
dF9xdWlwX3BhZ2VfcGFyc2luZyhzZWxmKToKKyAgICAgICAgcXVlcmllcyA9IEJ1Z3ppbGxhUXVl
cmllcyhOb25lKQorICAgICAgICBleHBlY3RlZF9xdWlwcyA9IFsiRXZlcnl0aGluZyBzaG91bGQg
YmUgbWFkZSBhcyBzaW1wbGUgYXMgcG9zc2libGUsIGJ1dCBub3Qgc2ltcGxlci4gLSBBbGJlcnQg
RWluc3RlaW4iLCAiR29vZCBhcnRpc3RzIGNvcHkuIEdyZWF0IGFydGlzdHMgc3RlYWwuIC0gUGFi
bG8gUGljYXNzbyJdCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWxzKGV4cGVjdGVkX3F1aXBzLCBx
dWVyaWVzLnBhcnNlX3F1aXBzKHNlbGYuX3NhbXBsZV9xdWlwX3BhZ2UpKQorCiAgICAgZGVmIHRl
c3RfbG9hZF9xdWVyeShzZWxmKToKICAgICAgICAgcXVlcmllcyA9IEJ1Z3ppbGxhUXVlcmllcyhN
b2NrKCkpCiAgICAgICAgIHF1ZXJpZXMuX2xvYWRfcXVlcnkoInJlcXVlc3QuY2dpP2FjdGlvbj1x
dWV1ZSZ0eXBlPXJldmlldyZncm91cD10eXBlIikKSW5kZXg6IFdlYktpdFRvb2xzL1NjcmlwdHMv
d2Via2l0cHkvdG9vbC9tb2NrdG9vbC5weQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJLaXRUb29scy9TY3Jp
cHRzL3dlYmtpdHB5L3Rvb2wvbW9ja3Rvb2wucHkJKHJldmlzaW9uIDU3ODY5KQorKysgV2ViS2l0
VG9vbHMvU2NyaXB0cy93ZWJraXRweS90b29sL21vY2t0b29sLnB5CSh3b3JraW5nIGNvcHkpCkBA
IC0yNzAsNiArMjcwLDkgQEAgY2xhc3MgTW9ja0J1Z3ppbGxhKE1vY2spOgogICAgICAgICBsb2co
ImJ1Z190aXRsZTogJXMiICUgYnVnX3RpdGxlKQogICAgICAgICBsb2coImJ1Z19kZXNjcmlwdGlv
bjogJXMiICUgYnVnX2Rlc2NyaXB0aW9uKQogCisgICAgZGVmIHF1aXBzKHNlbGYpOgorICAgICAg
ICByZXR1cm4gWyJHb29kIGFydGlzdHMgY29weS4gR3JlYXQgYXJ0aXN0cyBzdGVhbC4gLSBQYWJs
byBQaWNhc3NvIl0KKwogICAgIGRlZiBmZXRjaF9idWcoc2VsZiwgYnVnX2lkKToKICAgICAgICAg
cmV0dXJuIEJ1ZyhzZWxmLmJ1Z19jYWNoZS5nZXQoYnVnX2lkKSwgc2VsZikKIApJbmRleDogV2Vi
S2l0VG9vbHMvU2NyaXB0cy93ZWJraXRweS90b29sL2JvdC9pcmNfY29tbWFuZC5weQo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBXZWJLaXRUb29scy9TY3JpcHRzL3dlYmtpdHB5L3Rvb2wvYm90L2lyY19jb21tYW5k
LnB5CShyZXZpc2lvbiA1Nzg2OSkKKysrIFdlYktpdFRvb2xzL1NjcmlwdHMvd2Via2l0cHkvdG9v
bC9ib3QvaXJjX2NvbW1hbmQucHkJKHdvcmtpbmcgY29weSkKQEAgLTI2LDYgKzI2LDcgQEAKICMg
KElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9V
VCBPRiBUSEUgVVNFCiAjIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUg
UE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCiAKK2ltcG9ydCByYW5kb20KIGltcG9ydCB3ZWJr
aXRweS5jb21tb24uY29uZmlnLmlyYyBhcyBjb25maWdfaXJjCiAKIGZyb20gd2Via2l0cHkuY29t
bW9uLmNoZWNrb3V0LmNoYW5nZWxvZyBpbXBvcnQgdmlld19zb3VyY2VfdXJsCkBAIC03Niw0ICs3
Nyw2IEBAIGNsYXNzIFJvbGxvdXQoSVJDQ29tbWFuZCk6CiAKIGNsYXNzIEhpKElSQ0NvbW1hbmQp
OgogICAgIGRlZiBleGVjdXRlKHNlbGYsIG5pY2ssIGFyZ3MsIHRvb2wsIHNoZXJpZmYpOgotICAg
ICAgICByZXR1cm4gJyJPbmx5IHlvdSBjYW4gcHJldmVudCBmb3Jlc3QgZmlyZXMuIiAtLSBTbW9r
ZXkgdGhlIEJlYXInCisgICAgICAgIHF1aXBzID0gdG9vbC5idWdzLnF1aXBzKCkKKyAgICAgICAg
cXVpcHMuYXBwZW5kKCciT25seSB5b3UgY2FuIHByZXZlbnQgZm9yZXN0IGZpcmVzLiIgLS0gU21v
a2V5IHRoZSBCZWFyJykKKyAgICAgICAgcmV0dXJuIHJhbmRvbS5jaG9pY2UocXVpcHMpCkluZGV4
OiBXZWJLaXRUb29scy9TY3JpcHRzL3dlYmtpdHB5L3Rvb2wvYm90L3NoZXJpZmZpcmNib3RfdW5p
dHRlc3QucHkKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gV2ViS2l0VG9vbHMvU2NyaXB0cy93ZWJraXRweS90b29s
L2JvdC9zaGVyaWZmaXJjYm90X3VuaXR0ZXN0LnB5CShyZXZpc2lvbiA1Nzg2OSkKKysrIFdlYktp
dFRvb2xzL1NjcmlwdHMvd2Via2l0cHkvdG9vbC9ib3Qvc2hlcmlmZmlyY2JvdF91bml0dGVzdC5w
eQkod29ya2luZyBjb3B5KQpAQCAtMjcsNiArMjcsNyBAQAogIyBPRiBUSElTIFNPRlRXQVJFLCBF
VkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgogCiBpbXBv
cnQgdW5pdHRlc3QKK2ltcG9ydCByYW5kb20KIAogZnJvbSB3ZWJraXRweS5jb21tb24uc3lzdGVt
Lm91dHB1dGNhcHR1cmUgaW1wb3J0IE91dHB1dENhcHR1cmUKIGZyb20gd2Via2l0cHkudG9vbC5i
b3Quc2hlcmlmZiBpbXBvcnQgU2hlcmlmZgpAQCAtNDUsNiArNDYsNyBAQCBkZWYgcnVuKG1lc3Nh
Z2UpOgogCiBjbGFzcyBTaGVyaWZmSVJDQm90VGVzdCh1bml0dGVzdC5UZXN0Q2FzZSk6CiAgICAg
ZGVmIHRlc3RfaGkoc2VsZik6CisgICAgICAgIHJhbmRvbS5zZWVkKDIzMzI0KQogICAgICAgICBl
eHBlY3RlZF9zdGRlcnIgPSAnTU9DSzogaXJjLnBvc3Q6ICJPbmx5IHlvdSBjYW4gcHJldmVudCBm
b3Jlc3QgZmlyZXMuIiAtLSBTbW9rZXkgdGhlIEJlYXJcbicKICAgICAgICAgT3V0cHV0Q2FwdHVy
ZSgpLmFzc2VydF9vdXRwdXRzKHNlbGYsIHJ1biwgYXJncz1bImhpIl0sIGV4cGVjdGVkX3N0ZGVy
cj1leHBlY3RlZF9zdGRlcnIpCiAK
</data>
<flag name="review"
          id="37574"
          type_id="1"
          status="-"
          setter="eric"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>53782</attachid>
            <date>2010-04-20 01:43:45 -0700</date>
            <delta_ts>2010-04-20 20:55:10 -0700</delta_ts>
            <desc>Patch with test cases</desc>
            <filename>Bug37748_1.patch</filename>
            <type>text/plain</type>
            <size>6932</size>
            <attacher name="Daniel Bates">dbates</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYktpdFRvb2xzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJLaXRUb29scy9D
aGFuZ2VMb2cJKHJldmlzaW9uIDU3ODY5KQorKysgV2ViS2l0VG9vbHMvQ2hhbmdlTG9nCSh3b3Jr
aW5nIGNvcHkpCkBAIC0xLDMgKzEsMTcgQEAKKzIwMTAtMDQtMjAgIERhbmllbCBCYXRlcyAgPGRi
YXRlc0ByaW0uY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0zNzc0OAorCisg
ICAgICAgIE1ha2UgU2hlcmlmZmJvdCBtb3JlIGluc3BpcmF0aW9uYWwuCisKKyAgICAgICAgKiBT
Y3JpcHRzL3dlYmtpdHB5L2NvbW1vbi9uZXQvYnVnemlsbGEucHk6CisgICAgICAgICogU2NyaXB0
cy93ZWJraXRweS9jb21tb24vbmV0L2J1Z3ppbGxhX3VuaXR0ZXN0LnB5OgorICAgICAgICAqIFNj
cmlwdHMvd2Via2l0cHkvdG9vbC9ib3QvaXJjX2NvbW1hbmQucHk6CisgICAgICAgICogU2NyaXB0
cy93ZWJraXRweS90b29sL2JvdC9zaGVyaWZmaXJjYm90X3VuaXR0ZXN0LnB5OgorICAgICAgICAq
IFNjcmlwdHMvd2Via2l0cHkvdG9vbC9tb2NrdG9vbC5weToKKwogMjAxMC0wNC0xOSAgRGFuaWVs
IEJhdGVzICA8ZGJhdGVzQHJpbS5jb20+CiAKICAgICAgICAgTm8gcmV2aWV3LCByb2xsaW5nIG91
dCA1Nzg2OC4KSW5kZXg6IFdlYktpdFRvb2xzL1NjcmlwdHMvd2Via2l0cHkvY29tbW9uL25ldC9i
dWd6aWxsYS5weQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJLaXRUb29scy9TY3JpcHRzL3dlYmtpdHB5L2Nv
bW1vbi9uZXQvYnVnemlsbGEucHkJKHJldmlzaW9uIDU3ODY5KQorKysgV2ViS2l0VG9vbHMvU2Ny
aXB0cy93ZWJraXRweS9jb21tb24vbmV0L2J1Z3ppbGxhLnB5CSh3b3JraW5nIGNvcHkpCkBAIC0y
MzAsNiArMjMwLDE0IEBAIGNsYXNzIEJ1Z3ppbGxhUXVlcmllcyhvYmplY3QpOgogICAgIGRlZiBf
ZmV0Y2hfYXR0YWNobWVudF9pZHNfcmVxdWVzdF9xdWVyeShzZWxmLCBxdWVyeSk6CiAgICAgICAg
IHJldHVybiBzZWxmLl9wYXJzZV9hdHRhY2htZW50X2lkc19yZXF1ZXN0X3F1ZXJ5KHNlbGYuX2xv
YWRfcXVlcnkocXVlcnkpKQogCisgICAgZGVmIF9wYXJzZV9xdWlwcyhzZWxmLCBwYWdlKToKKyAg
ICAgICAgc291cCA9IEJlYXV0aWZ1bFNvdXAocGFnZSwgY29udmVydEVudGl0aWVzPUJlYXV0aWZ1
bFNvdXAuSFRNTF9FTlRJVElFUykKKyAgICAgICAgcXVpcHMgPSBzb3VwLmZpbmQodGV4dD1yZS5j
b21waWxlKHIiRXhpc3RpbmcgcXVpcHM6IikpLmZpbmROZXh0KCJ1bCIpLmZpbmRBbGwoImxpIikK
KyAgICAgICAgcmV0dXJuIFt1bmljb2RlKHF1aXBfZW50cnkuc3RyaW5nKSBmb3IgcXVpcF9lbnRy
eSBpbiBxdWlwc10KKworICAgIGRlZiBmZXRjaF9xdWlwcyhzZWxmKToKKyAgICAgICAgcmV0dXJu
IHNlbGYuX3BhcnNlX3F1aXBzKHNlbGYuX2xvYWRfcXVlcnkoIi9xdWlwcy5jZ2k/YWN0aW9uPXNo
b3ciKSkKKwogICAgICMgTGlzdCBvZiBhbGwgcisnZCBidWdzLgogICAgIGRlZiBmZXRjaF9idWdf
aWRzX2Zyb21fcGVuZGluZ19jb21taXRfbGlzdChzZWxmKToKICAgICAgICAgbmVlZHNfY29tbWl0
X3F1ZXJ5X3VybCA9ICJidWdsaXN0LmNnaT9xdWVyeV9mb3JtYXQ9YWR2YW5jZWQmYnVnX3N0YXR1
cz1VTkNPTkZJUk1FRCZidWdfc3RhdHVzPU5FVyZidWdfc3RhdHVzPUFTU0lHTkVEJmJ1Z19zdGF0
dXM9UkVPUEVORUQmZmllbGQwLTAtMD1mbGFndHlwZXMubmFtZSZ0eXBlMC0wLTA9ZXF1YWxzJnZh
bHVlMC0wLTA9cmV2aWV3JTJCIgpAQCAtMzY0LDYgKzM3Miw3IEBAIGNsYXNzIEJ1Z3ppbGxhKG9i
amVjdCk6CiAgICAgICAgIHNlbGYuYXV0aGVudGljYXRlZCA9IEZhbHNlCiAgICAgICAgIHNlbGYu
cXVlcmllcyA9IEJ1Z3ppbGxhUXVlcmllcyhzZWxmKQogICAgICAgICBzZWxmLmNvbW1pdHRlcnMg
PSBjb21taXR0ZXJzCisgICAgICAgIHNlbGYuY2FjaGVkX3F1aXBzID0gW10KIAogICAgICAgICAj
IEZJWE1FOiBXZSBzaG91bGQgdXNlIHNvbWUgc29ydCBvZiBCcm93c2VyIG1vY2sgb2JqZWN0IHdo
ZW4gaW4gZHJ5cnVuCiAgICAgICAgICMgbW9kZSAodG8gcHJldmVudCBhbnkgbWlzdGFrZXMpLgpA
QCAtMzc3LDYgKzM4NiwxMyBAQCBjbGFzcyBCdWd6aWxsYShvYmplY3QpOgogICAgIGJ1Z19zZXJ2
ZXJfcmVnZXggPSAiaHR0cHM/Oi8vJXMvIiAlIHJlLnN1YignXC4nLCAnXFwuJywgYnVnX3NlcnZl
cl9ob3N0KQogICAgIGJ1Z19zZXJ2ZXJfdXJsID0gImh0dHBzOi8vJXMvIiAlIGJ1Z19zZXJ2ZXJf
aG9zdAogCisgICAgZGVmIHF1aXBzKHNlbGYpOgorICAgICAgICAjIFdlIG9ubHkgZmV0Y2ggYW5k
IHBhcnNlIHRoZSBsaXN0IG9mIHF1aXBzIG9uY2UgcGVyIGluc3RhbnRpYXRpb24KKyAgICAgICAg
IyBzbyB0aGF0IHdlIGRvIG5vdCBidXJkZW4gYnVncy53ZWJraXQub3JnLgorICAgICAgICBpZiBu
b3Qgc2VsZi5jYWNoZWRfcXVpcHMgYW5kIG5vdCBzZWxmLmRyeXJ1bjoKKyAgICAgICAgICAgIHNl
bGYuY2FjaGVkX3F1aXBzID0gc2VsZi5xdWVyaWVzLmZldGNoX3F1aXBzKCkKKyAgICAgICAgcmV0
dXJuIHNlbGYuY2FjaGVkX3F1aXBzCisKICAgICBkZWYgYnVnX3VybF9mb3JfYnVnX2lkKHNlbGYs
IGJ1Z19pZCwgeG1sPUZhbHNlKToKICAgICAgICAgaWYgbm90IGJ1Z19pZDoKICAgICAgICAgICAg
IHJldHVybiBOb25lCkluZGV4OiBXZWJLaXRUb29scy9TY3JpcHRzL3dlYmtpdHB5L2NvbW1vbi9u
ZXQvYnVnemlsbGFfdW5pdHRlc3QucHkKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViS2l0VG9vbHMvU2NyaXB0
cy93ZWJraXRweS9jb21tb24vbmV0L2J1Z3ppbGxhX3VuaXR0ZXN0LnB5CShyZXZpc2lvbiA1Nzg2
OSkKKysrIFdlYktpdFRvb2xzL1NjcmlwdHMvd2Via2l0cHkvY29tbW9uL25ldC9idWd6aWxsYV91
bml0dGVzdC5weQkod29ya2luZyBjb3B5KQpAQCAtMzA3LDExICszMDcsMzcgQEAgY2xhc3MgQnVn
emlsbGFRdWVyaWVzVGVzdCh1bml0dGVzdC5UZXN0QwogPC9ib2R5PgogPC9odG1sPgogIiIiCisg
ICAgX3NhbXBsZV9xdWlwX3BhZ2UgPSB1IiIiCis8IURPQ1RZUEUgaHRtbCBQVUJMSUMgIi0vL1cz
Qy8vRFREIEhUTUwgNC4wMSBUcmFuc2l0aW9uYWwvL0VOIgorICAgICAgICAgICAgICAgICAgICAg
ICJodHRwOi8vd3d3LnczLm9yZy9UUi9odG1sNC9sb29zZS5kdGQiPgorPGh0bWw+CisgIDxoZWFk
PgorICAgIDx0aXRsZT5CdWd6aWxsYSBRdWlwIFN5c3RlbTwvdGl0bGU+CisgIDwvaGVhZD4KKyAg
PGJvZHk+CisgICAgPGgyPgorCisgICAgICBFeGlzdGluZyBxdWlwczoKKyAgICA8L2gyPgorICAg
IDx1bD4KKyAgICAgICAgPGxpPkV2ZXJ5dGhpbmcgc2hvdWxkIGJlIG1hZGUgYXMgc2ltcGxlIGFz
IHBvc3NpYmxlLCBidXQgbm90IHNpbXBsZXIuIC0gQWxiZXJ0IEVpbnN0ZWluPC9saT4KKyAgICAg
ICAgPGxpPkdvb2QgYXJ0aXN0cyBjb3B5LiBHcmVhdCBhcnRpc3RzIHN0ZWFsLiAtIFBhYmxvIFBp
Y2Fzc288L2xpPgorICAgICAgICA8bGk+XHUwMGU3Z3VhIG1vbGUgZW0gcGVkcmEgZHVyYSwgdGFu
dG8gYmF0ZSBhdFx1MDA4ZSBxdWUgZnVyYS48L2xpPgorCisgICAgPC91bD4KKyAgPC9ib2R5Pgor
PC9odG1sPgorIiIiCiAKICAgICBkZWYgdGVzdF9yZXF1ZXN0X3BhZ2VfcGFyc2luZyhzZWxmKToK
ICAgICAgICAgcXVlcmllcyA9IEJ1Z3ppbGxhUXVlcmllcyhOb25lKQogICAgICAgICBzZWxmLmFz
c2VydEVxdWFscyhbNDA1MTEsIDQwNzIyLCA0MDcyM10sIHF1ZXJpZXMuX3BhcnNlX2F0dGFjaG1l
bnRfaWRzX3JlcXVlc3RfcXVlcnkoc2VsZi5fc2FtcGxlX3JlcXVlc3RfcGFnZSkpCiAKKyAgICBk
ZWYgdGVzdF9xdWlwX3BhZ2VfcGFyc2luZyhzZWxmKToKKyAgICAgICAgcXVlcmllcyA9IEJ1Z3pp
bGxhUXVlcmllcyhOb25lKQorICAgICAgICBleHBlY3RlZF9xdWlwcyA9IFsiRXZlcnl0aGluZyBz
aG91bGQgYmUgbWFkZSBhcyBzaW1wbGUgYXMgcG9zc2libGUsIGJ1dCBub3Qgc2ltcGxlci4gLSBB
bGJlcnQgRWluc3RlaW4iLCAiR29vZCBhcnRpc3RzIGNvcHkuIEdyZWF0IGFydGlzdHMgc3RlYWwu
IC0gUGFibG8gUGljYXNzbyIsIHUiXHUwMGU3Z3VhIG1vbGUgZW0gcGVkcmEgZHVyYSwgdGFudG8g
YmF0ZSBhdFx1MDA4ZSBxdWUgZnVyYS4iXQorICAgICAgICBzZWxmLmFzc2VydEVxdWFscyhleHBl
Y3RlZF9xdWlwcywgcXVlcmllcy5fcGFyc2VfcXVpcHMoc2VsZi5fc2FtcGxlX3F1aXBfcGFnZSkp
CisKICAgICBkZWYgdGVzdF9sb2FkX3F1ZXJ5KHNlbGYpOgogICAgICAgICBxdWVyaWVzID0gQnVn
emlsbGFRdWVyaWVzKE1vY2soKSkKICAgICAgICAgcXVlcmllcy5fbG9hZF9xdWVyeSgicmVxdWVz
dC5jZ2k/YWN0aW9uPXF1ZXVlJnR5cGU9cmV2aWV3Jmdyb3VwPXR5cGUiKQpJbmRleDogV2ViS2l0
VG9vbHMvU2NyaXB0cy93ZWJraXRweS90b29sL21vY2t0b29sLnB5Cj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdl
YktpdFRvb2xzL1NjcmlwdHMvd2Via2l0cHkvdG9vbC9tb2NrdG9vbC5weQkocmV2aXNpb24gNTc4
NjkpCisrKyBXZWJLaXRUb29scy9TY3JpcHRzL3dlYmtpdHB5L3Rvb2wvbW9ja3Rvb2wucHkJKHdv
cmtpbmcgY29weSkKQEAgLTI3MCw2ICsyNzAsOSBAQCBjbGFzcyBNb2NrQnVnemlsbGEoTW9jayk6
CiAgICAgICAgIGxvZygiYnVnX3RpdGxlOiAlcyIgJSBidWdfdGl0bGUpCiAgICAgICAgIGxvZygi
YnVnX2Rlc2NyaXB0aW9uOiAlcyIgJSBidWdfZGVzY3JpcHRpb24pCiAKKyAgICBkZWYgcXVpcHMo
c2VsZik6CisgICAgICAgIHJldHVybiBbIkdvb2QgYXJ0aXN0cyBjb3B5LiBHcmVhdCBhcnRpc3Rz
IHN0ZWFsLiAtIFBhYmxvIFBpY2Fzc28iXQorCiAgICAgZGVmIGZldGNoX2J1ZyhzZWxmLCBidWdf
aWQpOgogICAgICAgICByZXR1cm4gQnVnKHNlbGYuYnVnX2NhY2hlLmdldChidWdfaWQpLCBzZWxm
KQogCkluZGV4OiBXZWJLaXRUb29scy9TY3JpcHRzL3dlYmtpdHB5L3Rvb2wvYm90L2lyY19jb21t
YW5kLnB5Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFdlYktpdFRvb2xzL1NjcmlwdHMvd2Via2l0cHkvdG9vbC9i
b3QvaXJjX2NvbW1hbmQucHkJKHJldmlzaW9uIDU3ODY5KQorKysgV2ViS2l0VG9vbHMvU2NyaXB0
cy93ZWJraXRweS90b29sL2JvdC9pcmNfY29tbWFuZC5weQkod29ya2luZyBjb3B5KQpAQCAtMjYs
NiArMjYsNyBAQAogIyAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5H
IElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKICMgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBB
RFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KIAoraW1wb3J0IHJhbmRv
bQogaW1wb3J0IHdlYmtpdHB5LmNvbW1vbi5jb25maWcuaXJjIGFzIGNvbmZpZ19pcmMKIAogZnJv
bSB3ZWJraXRweS5jb21tb24uY2hlY2tvdXQuY2hhbmdlbG9nIGltcG9ydCB2aWV3X3NvdXJjZV91
cmwKQEAgLTc2LDQgKzc3LDYgQEAgY2xhc3MgUm9sbG91dChJUkNDb21tYW5kKToKIAogY2xhc3Mg
SGkoSVJDQ29tbWFuZCk6CiAgICAgZGVmIGV4ZWN1dGUoc2VsZiwgbmljaywgYXJncywgdG9vbCwg
c2hlcmlmZik6Ci0gICAgICAgIHJldHVybiAnIk9ubHkgeW91IGNhbiBwcmV2ZW50IGZvcmVzdCBm
aXJlcy4iIC0tIFNtb2tleSB0aGUgQmVhcicKKyAgICAgICAgcXVpcHMgPSB0b29sLmJ1Z3MucXVp
cHMoKQorICAgICAgICBxdWlwcy5hcHBlbmQoJyJPbmx5IHlvdSBjYW4gcHJldmVudCBmb3Jlc3Qg
ZmlyZXMuIiAtLSBTbW9rZXkgdGhlIEJlYXInKQorICAgICAgICByZXR1cm4gcmFuZG9tLmNob2lj
ZShxdWlwcykKSW5kZXg6IFdlYktpdFRvb2xzL1NjcmlwdHMvd2Via2l0cHkvdG9vbC9ib3Qvc2hl
cmlmZmlyY2JvdF91bml0dGVzdC5weQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJLaXRUb29scy9TY3JpcHRz
L3dlYmtpdHB5L3Rvb2wvYm90L3NoZXJpZmZpcmNib3RfdW5pdHRlc3QucHkJKHJldmlzaW9uIDU3
ODY5KQorKysgV2ViS2l0VG9vbHMvU2NyaXB0cy93ZWJraXRweS90b29sL2JvdC9zaGVyaWZmaXJj
Ym90X3VuaXR0ZXN0LnB5CSh3b3JraW5nIGNvcHkpCkBAIC0yNyw2ICsyNyw3IEBACiAjIE9GIFRI
SVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBE
QU1BR0UuCiAKIGltcG9ydCB1bml0dGVzdAoraW1wb3J0IHJhbmRvbQogCiBmcm9tIHdlYmtpdHB5
LmNvbW1vbi5zeXN0ZW0ub3V0cHV0Y2FwdHVyZSBpbXBvcnQgT3V0cHV0Q2FwdHVyZQogZnJvbSB3
ZWJraXRweS50b29sLmJvdC5zaGVyaWZmIGltcG9ydCBTaGVyaWZmCkBAIC00NSw2ICs0Niw3IEBA
IGRlZiBydW4obWVzc2FnZSk6CiAKIGNsYXNzIFNoZXJpZmZJUkNCb3RUZXN0KHVuaXR0ZXN0LlRl
c3RDYXNlKToKICAgICBkZWYgdGVzdF9oaShzZWxmKToKKyAgICAgICAgcmFuZG9tLnNlZWQoMjMz
MjQpCiAgICAgICAgIGV4cGVjdGVkX3N0ZGVyciA9ICdNT0NLOiBpcmMucG9zdDogIk9ubHkgeW91
IGNhbiBwcmV2ZW50IGZvcmVzdCBmaXJlcy4iIC0tIFNtb2tleSB0aGUgQmVhclxuJwogICAgICAg
ICBPdXRwdXRDYXB0dXJlKCkuYXNzZXJ0X291dHB1dHMoc2VsZiwgcnVuLCBhcmdzPVsiaGkiXSwg
ZXhwZWN0ZWRfc3RkZXJyPWV4cGVjdGVkX3N0ZGVycikKIAo=
</data>

          </attachment>
      

    </bug>

</bugzilla>