<?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>16142</bug_id>
          
          <creation_ts>2007-11-26 03:47:58 -0800</creation_ts>
          <short_desc>Add --range option to run-sunspider</short_desc>
          <delta_ts>2022-11-11 16:19:53 -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>Tools / Tests</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Mac</rep_platform>
          <op_sys>OS X 10.4</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>WONTFIX</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="Eric Seidel (no email)">eric</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>ahmad.saleem792</cc>
    
    <cc>ap</cc>
    
    <cc>aroben</cc>
    
    <cc>mjs</cc>
    
    <cc>sam</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>62367</commentid>
    <comment_count>0</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2007-11-26 03:47:58 -0800</bug_when>
    <thetext>Add --range option to run-sunspider

I&apos;d like to have information on exactly how the sunspider results changed, when.  to do that, I&apos;ve added a --range option to sunspider which takes git/svn ranges and runs sunspider against all revisions in the provided range.

My current patch is incomplete, but I&apos;ll attach it anyway.  I&apos;m not sure when I&apos;ll next have time to hack, hopefully tomorrow.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>62368</commentid>
    <comment_count>1</comment_count>
      <attachid>17527</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2007-11-26 03:50:13 -0800</bug_when>
    <thetext>Created attachment 17527
partial fix

Next step is to add an HTML which actually knows how to use the output.  That will require sunspiderCompareResults() not *always* call printOutput, and instead return an object which can be told to print if needed.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>62370</commentid>
    <comment_count>2</comment_count>
      <attachid>17528</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2007-11-26 04:00:11 -0800</bug_when>
    <thetext>Created attachment 17528
partial fix (which actually runs)

The previous patch was missing a semicolon.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>62420</commentid>
    <comment_count>3</comment_count>
      <attachid>17528</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2007-11-26 18:13:25 -0800</bug_when>
    <thetext>Comment on attachment 17528
partial fix (which actually runs)

I think this is real enough for review.  I&apos;ll eventually come up with some sort of UI, but for now, just having a quick way to generate sunspider numbers per-build is incredibly useful.  Of course this half of the functionality (running something once for each build) really could be abstracted into a separate script.  But the later portion of building a custom UI to display all these will need to be in run-sunspider regardless.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>62552</commentid>
    <comment_count>4</comment_count>
      <attachid>17528</attachid>
    <who name="Adam Roben (:aroben)">aroben</who>
    <bug_when>2007-11-28 00:38:51 -0800</bug_when>
    <thetext>Comment on attachment 17528
partial fix (which actually runs)

 130 $resultsFile = $outputFilePath  if $outputFilePath;

Looks like you&apos;ve got an extra space in there.

 128     return gitBranch()  if isGit();

Ditto.

 151         return split(&apos;\n&apos;, $revisionsString);
 152     } elsif (isSVN()) {

 154             return [$1];
 155         } elsif ($range =~ /^r?([0-9]+):?r?([0-9]+|HEAD)$/i) {

No need to say &quot;else&quot; after a return.

 156             return [$1..$2];

What does the range operator do if $1 or $2 is &quot;HEAD&quot;?

 61   --range           Get samples across the provided git range of builds

You shouldn&apos;t say &quot;git&quot; here.

 122 # Takes 0 or 1 args
 123 sub runUsingCurrentCheckout

You can still use a prototype:

sub runUsingCurrentCheckout(;$)

 179         last  unless ($result == 0);

Extra space here as well.

It seems silly to do two chdirs for every test run (plus an extra one at the start of the revision range). Can&apos;t we do the chdirs ahead of time and just do them once?

&quot;--range&quot; makes me think of a range of times or ranges of error -- maybe there&apos;s some more specific name we can give to this option? Maybe --revision-range?

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>64251</commentid>
    <comment_count>5</comment_count>
      <attachid>17528</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2007-12-15 01:40:04 -0800</bug_when>
    <thetext>Comment on attachment 17528
partial fix (which actually runs)

Going to clear the review flag given mjs&apos;s concerns about the format.  The next person who needs this functionality, and fix the patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1911904</commentid>
    <comment_count>6</comment_count>
    <who name="Ahmad Saleem">ahmad.saleem792</who>
    <bug_when>2022-11-11 14:25:48 -0800</bug_when>
    <thetext>@ap - Do we have sun spider as reference benchmark these days and do we need this? Thanks!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1911924</commentid>
    <comment_count>7</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2022-11-11 16:19:53 -0800</bug_when>
    <thetext>SunSpider is deeply obsolete, no need for this patch.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>17527</attachid>
            <date>2007-11-26 03:50:13 -0800</date>
            <delta_ts>2007-11-26 04:00:11 -0800</delta_ts>
            <desc>partial fix</desc>
            <filename>range.patch</filename>
            <type>text/plain</type>
            <size>8656</size>
            <attacher name="Eric Seidel (no email)">eric</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1N1blNwaWRlci9zdW5zcGlkZXIgYi9TdW5TcGlkZXIvc3Vuc3BpZGVyCmlu
ZGV4IDM5YWY1YjkuLjVjZmJhYzcgMTAwNzU1Ci0tLSBhL1N1blNwaWRlci9zdW5zcGlkZXIKKysr
IGIvU3VuU3BpZGVyL3N1bnNwaWRlcgpAQCAtMzcsNiArMzcsNyBAQCBteSAkcnVuU2hhcmsyMCA9
IDA7CiBteSAkcnVuU2hhcmtDYWNoZSA9IDA7CiBteSAkanNTaGVsbFBhdGg7CiBteSAkc2V0QmFz
ZWxpbmUgPSAwOworbXkgJG91dHB1dEZpbGVQYXRoOwogbXkgJHRlc3RzUGF0dGVybjsKIG15ICR0
ZXN0UnVucyA9IDU7ICMgVGhpcyBudW1iZXIgbWF5IGJlIGRpZmZlcmVudCBmcm9tIHdoYXQgLi9z
dW5zcGlkZXIgZGVmYXVsdHMgdG8gKHRoYXQncyBPSykKIApAQCAtNDQsNiArNDUsNyBAQCBteSAk
cHJvZ3JhbU5hbWUgPSBiYXNlbmFtZSgkMCk7CiBteSAkdXNhZ2UgPSA8PEVPRjsKIFVzYWdlOiAk
cHJvZ3JhbU5hbWUgLS1zaGVsbD1bcGF0aF0gW29wdGlvbnNdCiAgIC0taGVscCAgICAgICAgICAg
IFNob3cgdGhpcyBoZWxwIG1lc3NhZ2UKKyAgLS1vdXRwdXQgICAgICAgICAgRHVtcCByZXN1bHRz
IHRvIHNwZWNpZmllZCBmaWxlIChkZWZhdWx0OiB0bXAvc3Vuc3BpZGVyLXJlc3VsdHMtW3RpbWVd
LmpzKQogICAtLXNldC1iYXNlbGluZSAgICBTZXQgYmFzZWxpbmUgZm9yIGZ1dHVyZSBjb21wYXJp
c29ucwogICAtLXNoZWxsICAgICAgICAgICBQYXRoIHRvIEphdmFTY3JpcHQgc2hlbGwKICAgLS1y
dW5zICAgICAgICAgICAgTnVtYmVyIG9mIHRpbWVzIHRvIHJ1biB0ZXN0cyAoZGVmYXVsdDogJHRl
c3RSdW5zKQpAQCAtNTUsNiArNTcsNyBAQCBFT0YKIAogR2V0T3B0aW9ucygncnVucz1pJyA9PiBc
JHRlc3RSdW5zLAogICAgICAgICAgICAnc2V0LWJhc2VsaW5lJyA9PiBcJHNldEJhc2VsaW5lLAor
ICAgICAgICAgICAnb3V0cHV0PXMnID0+IFwkb3V0cHV0RmlsZVBhdGgsCiAgICAgICAgICAgICdz
aGVsbD1zJyA9PiBcJGpzU2hlbGxQYXRoLAogICAgICAgICAgICAnc2hhcmsnID0+IFwkcnVuU2hh
cmssCiAgICAgICAgICAgICdzaGFyazIwJyA9PiBcJHJ1blNoYXJrMjAsCkBAIC0xMjQsNiArMTI3
LDcgQEAgc3ViIGxvYWRUZXN0c0xpc3QoKQogbXkgJHRpbWVTdHJpbmcgPSBzdHJmdGltZSAiJVkt
JW0tJWQtJUguJU0uJVMiLCBsb2NhbHRpbWUgJF5UOwogbXkgJHByZWZpeEZpbGUgPSAidG1wL3N1
bnNwaWRlci10ZXN0LXByZWZpeC5qcyI7CiBteSAkcmVzdWx0c0ZpbGUgPSAidG1wL3N1bnNwaWRl
ci1yZXN1bHRzLSR0aW1lU3RyaW5nLmpzIjsKKyRyZXN1bHRzRmlsZSA9ICRvdXRwdXRGaWxlUGF0
aCAgaWYgJG91dHB1dEZpbGVQYXRoOwogCiBzdWIgd3JpdGVQcmVmaXhGaWxlKCkKIHsKZGlmZiAt
LWdpdCBhL1dlYktpdFRvb2xzL1NjcmlwdHMvVkNTVXRpbHMucG0gYi9XZWJLaXRUb29scy9TY3Jp
cHRzL1ZDU1V0aWxzLnBtCmluZGV4IDI2NDAxZjQuLjQxOTZkNmEgMTAwNjQ0Ci0tLSBhL1dlYktp
dFRvb2xzL1NjcmlwdHMvVkNTVXRpbHMucG0KKysrIGIvV2ViS2l0VG9vbHMvU2NyaXB0cy9WQ1NV
dGlscy5wbQpAQCAtMTE4LDQgKzExOCw0NiBAQCBzdWIgbWFrZUZpbGVQYXRoUmVsYXRpdmUoJCkK
ICAgICByZXR1cm4gJHJlc3VsdDsKIH0KIAorc3ViIHVuc3VwcG9ydGVkVkNTKCkKK3sKKyAgICBk
aWUgIkN1cnJlbnQgZGlyZWN0b3J5IGlzIG5vdCBhIGdpdCBvciBzdm4gd29ya2luZyBkaXJlY3Rv
cnkuIjsKK30KKworc3ViIGN1cnJlbnRSZXZpc2lvbigpCit7CisgICAgcmV0dXJuIGdpdEJyYW5j
aCgpICBpZiBpc0dpdCgpOworICAgIGlmIChpc1NWTigpKSB7CisgICAgICAgIG15ICRzdm5JbmZv
ID0gYHN2biBpbmZvYDsKKyAgICAgICAgaWYgKCRzdm5JbmZvID1+IC9eUmV2aXNpb246IChcZCsp
JC8pIHsKKyAgICAgICAgICAgIHJldHVybiAkMTsKKyAgICAgICAgfQorICAgIH0KKyAgICB1bnN1
cHBvcnRlZFZDUygpOworfQorCitzdWIgY2hlY2tvdXRSZXZpc2lvbigkKQoreworICAgIG15ICRy
ZXZpc2lvbiA9IHNoaWZ0OworICAgIHJldHVybiBzeXN0ZW0oJ2dpdC1jaGVja291dCcsICRyZXZp
c2lvbikgPT0gMCAgaWYgaXNHaXQoKTsKKyAgICByZXR1cm4gc3lzdGVtKCdzdm4nLCAndXBkYXRl
JywgJy1yJywgJHJldmlzaW9uKSA9PSAwICBpZiBpc1NWTigpOworICAgIHVuc3VwcG9ydGVkVkNT
KCk7Cit9CisKK3N1YiByZXZpc2lvbnNGcm9tUmFuZ2UoJCkKK3sKKyAgICBteSAkcmFuZ2UgPSBz
aGlmdDsKKyAgICBpZiAoaXNHaXQoKSkgeworICAgICAgICBteSAkcmV2aXNpb25zU3RyaW5nID0g
YGdpdC1yZXYtbGlzdCAkcmFuZ2VgOworICAgICAgICByZXR1cm4gc3BsaXQoJ1xuJywgJHJldmlz
aW9uc1N0cmluZyk7CisgICAgfSBlbHNpZiAoaXNTVk4oKSkgeworICAgICAgICBpZiAoJHJhbmdl
ID1+IC9ecj8oWzAtOV0rfEhFQUQpOj8kL2kpIHsKKyAgICAgICAgICAgIHJldHVybiBbJDFdOwor
ICAgICAgICB9IGVsc2lmICgkcmFuZ2UgPX4gL15yPyhbMC05XSspOj9yPyhbMC05XSt8SEVBRCkk
L2kpIHsKKyAgICAgICAgICAgIHJldHVybiBbJDEuLiQyXTsKKyAgICAgICAgfQorICAgICAgICBk
aWUgIlVua25vd24gcmV2aXNpb24gJyRyYW5nZSc6ICBleHBlY3RlZCAnTScgb3IgJ006TiciOwor
ICAgIH0KKyAgICB1bnN1cHBvcnRlZFZDUygpOworfQorCiAxOwpkaWZmIC0tZ2l0IGEvV2ViS2l0
VG9vbHMvU2NyaXB0cy9ydW4tc3Vuc3BpZGVyIGIvV2ViS2l0VG9vbHMvU2NyaXB0cy9ydW4tc3Vu
c3BpZGVyCmluZGV4IDIzYzA0MzMuLjhjZjhmZDkgMTAwNzU1Ci0tLSBhL1dlYktpdFRvb2xzL1Nj
cmlwdHMvcnVuLXN1bnNwaWRlcgorKysgYi9XZWJLaXRUb29scy9TY3JpcHRzL3J1bi1zdW5zcGlk
ZXIKQEAgLTI3LDYgKzI3LDcgQEAKIHVzZSBzdHJpY3Q7CiB1c2UgRmluZEJpbjsKIHVzZSBHZXRv
cHQ6OkxvbmcgcXcoOmNvbmZpZyBwYXNzX3Rocm91Z2gpOwordXNlIEZpbGU6OlBhdGg7CiB1c2Ug
bGliICRGaW5kQmluOjpCaW47CiB1c2Ugd2Via2l0ZGlyczsKIHVzZSBQT1NJWDsKQEAgLTQ0LDYg
KzQ1LDcgQEAgbXkgJHJ1blNoYXJrQ2FjaGUgPSAwOwogbXkgJHNldEJhc2VsaW5lID0gMDsKIG15
ICRzaG93SGVscCA9IDA7CiBteSAkdGVzdHNQYXR0ZXJuOworbXkgJHJldmlzaW9uUmFuZ2U7CiAK
IG15ICRwcm9ncmFtTmFtZSA9IGJhc2VuYW1lKCQwKTsKIG15ICR1c2FnZSA9IDw8RU9GOwpAQCAt
NTYsNiArNTgsNyBAQCBVc2FnZTogJHByb2dyYW1OYW1lIFtvcHRpb25zXSBbb3B0aW9ucyB0byBw
YXNzIHRvIGJ1aWxkIHN5c3RlbV0KICAgLS1zaGFyayAgICAgICAgICAgU2FtcGxlIHdpdGggdGhl
IE1hYyBPUyBYICJTaGFyayIgcGVyZm9ybWFuY2UgdGVzdGluZyB0b29sIChpbXBsaWVzIC0tcnVu
cz0xKQogICAtLXNoYXJrMjAgICAgICAgICBMaWtlIC0tc2hhcmssIGJ1dCB3aXRoIGEgMjAgbWlj
cm9zZWNvbmQgc2FtcGxpbmcgaW50ZXJ2YWwKICAgLS1zaGFyay1jYWNoZSAgICAgTGlrZSAtLXNo
YXJrLCBidXQgcGVyZm9ybXMgYSBMMiBjYWNoZS1taXNzIHNhbXBsZSBpbnN0ZWFkIG9mIHRpbWUg
c2FtcGxlCisgIC0tcmFuZ2UgICAgICAgICAgIEdldCBzYW1wbGVzIGFjcm9zcyB0aGUgcHJvdmlk
ZWQgZ2l0IHJhbmdlIG9mIGJ1aWxkcwogRU9GCiAKIEdldE9wdGlvbnMoJ3Jvb3Q9cycgPT4gc3Vi
IHsgbXkgKCRhcmdOYW1lLCAkdmFsdWUpOyBzZXRDb25maWd1cmF0aW9uUHJvZHVjdERpcihDd2Q6
OmFic19wYXRoKCR2YWx1ZSkpOyB9LApAQCAtNjUsNiArNjgsNyBAQCBHZXRPcHRpb25zKCdyb290
PXMnID0+IHN1YiB7IG15ICgkYXJnTmFtZSwgJHZhbHVlKTsgc2V0Q29uZmlndXJhdGlvblByb2R1
Y3REaXIoQwogICAgICAgICAgICAnc2hhcmsyMCcgPT4gXCRydW5TaGFyazIwLAogICAgICAgICAg
ICAnc2hhcmstY2FjaGUnID0+IFwkcnVuU2hhcmtDYWNoZSwKICAgICAgICAgICAgJ3Rlc3RzPXMn
ID0+IFwkdGVzdHNQYXR0ZXJuLAorICAgICAgICAgICAncmFuZ2U9cycgPT4gXCRyZXZpc2lvblJh
bmdlLAogICAgICAgICAgICAnaGVscCcgPT4gXCRzaG93SGVscCk7CiAKIGlmICgkc2hvd0hlbHAp
IHsKQEAgLTc0LDExICs3OCw5IEBAIGlmICgkc2hvd0hlbHApIHsKIAogc3ViIGJ1aWxkVGVzdEtK
UwogewotICAgIGlmICghZGVmaW5lZCgkcm9vdCkpewotICAgICAgICBwdXNoKEBBUkdWLCAgIi0t
IiAuICRjb25maWd1cmF0aW9uKTsKLSAgICAgICAgCisgICAgaWYgKCFkZWZpbmVkKCRyb290KSkg
ewogICAgICAgICBjaGRpcldlYktpdCgpOwotICAgICAgICBteSAkYnVpbGRSZXN1bHQgPSBzeXN0
ZW0gIldlYktpdFRvb2xzL1NjcmlwdHMvYnVpbGQtdGVzdGtqcyIsIEBBUkdWOworICAgICAgICBt
eSAkYnVpbGRSZXN1bHQgPSBzeXN0ZW0gIldlYktpdFRvb2xzL1NjcmlwdHMvYnVpbGQtdGVzdGtq
cyIsIEBBUkdWLCAiLWNvbmZpZ3VyYXRpb24iLCAkY29uZmlndXJhdGlvbjsKICAgICAgICAgaWYg
KCRidWlsZFJlc3VsdCkgewogICAgICAgICAgICAgcHJpbnQgU1RERVJSICJDb21waWxpbmcgdGVz
dGtqcyBmYWlsZWQhXG4iOwogICAgICAgICAgICAgZXhpdCBleGl0U3RhdHVzKCRidWlsZFJlc3Vs
dCk7CkBAIC0xMDIsMjIgKzEwNCw5MCBAQCBzdWIgdGVzdEtKU1BhdGgoJCkKICAgICByZXR1cm4g
IiRwcm9kdWN0RGlyLyR0ZXN0a2pzTmFtZSI7CiB9CiAKLWJ1aWxkVGVzdEtKUygpOworIyBUaGlz
IGZ1bmN0aW9uIGNvdWxkIGJlIHJlbW92ZWQgaWYgd2UgY2hvc2UgdG8gcGFzcyBleHRyYSBhcmdz
IHRvIHN1bnNwaWRlciBpbnN0ZWFkIG9mIFhjb2RlCitzdWIgYXJnc0ZvclN1blNwaWRlcigkJCkK
K3sKKyAgICBteSAkcHJvZHVjdERpciA9IHNoaWZ0OworICAgIG15ICRjdXN0b21PdXRwdXRQYXRo
ID0gc2hpZnQ7CisgICAgbXkgQGFyZ3MgPSAoIi0tc2hlbGwiLCB0ZXN0S0pTUGF0aCgkcHJvZHVj
dERpciksICItLXJ1bnMiLCAkdGVzdFJ1bnMpOworICAgIHB1c2ggQGFyZ3MsICItLXNldC1iYXNl
bGluZSIgaWYgJHNldEJhc2VsaW5lOworICAgIHB1c2ggQGFyZ3MsICItLXNoYXJrIiBpZiAkcnVu
U2hhcms7CisgICAgcHVzaCBAYXJncywgIi0tc2hhcmsyMCIgaWYgJHJ1blNoYXJrMjA7CisgICAg
cHVzaCBAYXJncywgIi0tc2hhcmstY2FjaGUiIGlmICRydW5TaGFya0NhY2hlOworICAgIHB1c2gg
QGFyZ3MsICItLXRlc3RzIiwgJHRlc3RzUGF0dGVybiBpZiAkdGVzdHNQYXR0ZXJuOworICAgIHB1
c2ggQGFyZ3MsICItLW91dHB1dCIsICRjdXN0b21PdXRwdXRQYXRoICBpZiAkY3VzdG9tT3V0cHV0
UGF0aDsKKyAgICByZXR1cm4gQGFyZ3M7Cit9CisKKyMgVGFrZXMgMCBvciAxIGFyZ3MKK3N1YiBy
dW5Vc2luZ0N1cnJlbnRDaGVja291dAoreworICAgIG15ICRjdXN0b21PdXRwdXRQYXRoID0gc2hp
ZnQ7CisKKyAgICBidWlsZFRlc3RLSlMoKTsKKworICAgIGNoZGlyV2ViS2l0KCk7CisgICAgY2hk
aXIoIlN1blNwaWRlciIpOworCisgICAgbXkgJHByb2R1Y3REaXIgPSBwcm9kdWN0RGlyKCk7Cisg
ICAgIyBGSVhNRTogVGhpcyBoYWNrIHNob3VsZCBiZSBwdXNoZWQgZG93biBpbnRvIHByb2R1Y3RE
aXIoKQorICAgICRwcm9kdWN0RGlyIC49ICIvSmF2YVNjcmlwdENvcmUiIGlmIChpc1F0KCkgb3Ig
aXNHdGsoKSk7CiAKLWNoZGlyV2ViS2l0KCk7Ci1jaGRpcigiU3VuU3BpZGVyIik7CisgICAgc2V0
dXBFbnZpcm9ubWVudEZvckV4ZWN1dGlvbigkcHJvZHVjdERpcik7CisgICAgcmV0dXJuIHN5c3Rl
bSgiLi9zdW5zcGlkZXIiLCBhcmdzRm9yU3VuU3BpZGVyKCRwcm9kdWN0RGlyLCAkY3VzdG9tT3V0
cHV0UGF0aCkpOworfQorCitzdWIgZHVtcFRvRmlsZSgkJCkKK3sKKyAgICBteSAoJGNvbnRlbnRz
LCAkcGF0aCkgPSBAXzsKKyAgICBvcGVuIEZJTEUsICI+IiwgJHBhdGggb3IgZGllICJGYWlsZWQg
dG8gb3BlbiAkcGF0aCI7CisgICAgcHJpbnQgRklMRSAkY29udGVudHM7CisgICAgY2xvc2UgRklM
RTsKK30KKworc3ViIHJ1blVzaW5nUmV2aXNpb25SYW5nZSgkKQoreworICAgIG15ICRyZXZpc2lv
blJhbmdlID0gc2hpZnQ7CisgICAgbXkgQHJldmlzaW9uc1RvVGVzdCA9IHJldmlzaW9uc0Zyb21S
YW5nZSgkcmV2aXNpb25SYW5nZSk7CiAKLW15ICRwcm9kdWN0RGlyID0gcHJvZHVjdERpcigpOwot
IyBGSVhNRTogVGhpcyBoYWNrIHNob3VsZCBiZSBwdXNoZWQgZG93biBpbnRvIHByb2R1Y3REaXIo
KQotJHByb2R1Y3REaXIgLj0gIi9KYXZhU2NyaXB0Q29yZSIgaWYgKGlzUXQoKSBvciBpc0d0aygp
KTsKKyAgICBteSAkc2F2ZWRDdXJyZW50UmV2aXNpb24gPSBjdXJyZW50UmV2aXNpb24oKTsKIAot
c2V0dXBFbnZpcm9ubWVudEZvckV4ZWN1dGlvbigkcHJvZHVjdERpcik7Ci1teSBAYXJncyA9ICgi
LS1zaGVsbCIsIHRlc3RLSlNQYXRoKCRwcm9kdWN0RGlyKSwgIi0tcnVucyIsICR0ZXN0UnVucyk7
Ci0jIFRoaXMgY29kZSBjb3VsZCBiZSByZW1vdmVkIGlmIHdlIGNob3NlIHRvIHBhc3MgZXh0cmEg
YXJncyB0byBzdW5zcGlkZXIgaW5zdGVhZCBvZiBYY29kZQotcHVzaCBAYXJncywgIi0tc2V0LWJh
c2VsaW5lIiBpZiAkc2V0QmFzZWxpbmU7Ci1wdXNoIEBhcmdzLCAiLS1zaGFyayIgaWYgJHJ1blNo
YXJrOwotcHVzaCBAYXJncywgIi0tc2hhcmsyMCIgaWYgJHJ1blNoYXJrMjA7Ci1wdXNoIEBhcmdz
LCAiLS1zaGFyay1jYWNoZSIgaWYgJHJ1blNoYXJrQ2FjaGU7Ci1wdXNoIEBhcmdzLCAiLS10ZXN0
cyIsICR0ZXN0c1BhdHRlcm4gaWYgJHRlc3RzUGF0dGVybjsKKyAgICBteSAkcmV2aXNpb25zQ291
bnQgPSBzY2FsYXIoQHJldmlzaW9uc1RvVGVzdCk7CisgICAgcHJpbnQgU1RERVJSICJSdW5uaW5n
IFN1blNwaWRlciBhZ2FpbnN0ICIgLiAkcmV2aXNpb25zQ291bnQgLiAiIHJldmlzaW9ucyBpbiBy
YW5nZSAiIC4gJHJldmlzaW9uUmFuZ2UgLiAiXG4iOworCisgICAgY2hkaXJXZWJLaXQoKTsKKyAg
ICBjaGRpcigiU3VuU3BpZGVyIik7CisKKyAgICBteSAkdGltZVN0cmluZyA9IHN0cmZ0aW1lICIl
WS0lbS0lZC0lSC4lTS4lUyIsIGxvY2FsdGltZSAkXlQ7CisgICAgbXkgJHJlc3VsdHNEaXJlY3Rv
cnkgPSAidG1wL3JhbmdlLSR0aW1lU3RyaW5nIjsKKyAgICBta3BhdGggJHJlc3VsdHNEaXJlY3Rv
cnk7CisKKyAgICBteSAkcmV2aXNpb25zU3RyaW5nID0gInZhciByZXZpc2lvbnMgPSBbIiAuIGpv
aW4oIixcbiIsIEByZXZpc2lvbnNUb1Rlc3QpIC4gIiBdO1xuIjsKKyAgICBkdW1wVG9GaWxlKCRy
ZXZpc2lvbnNTdHJpbmcsICIkcmVzdWx0c0RpcmVjdG9yeS9yZXZpc2lvbnMuanMiKQorCisgICAg
bXkgJHJlc3VsdCA9IDA7CisgICAgZm9yIChteSAkeCA9IDA7ICR4IDwgJHJldmlzaW9uc0NvdW50
OyAkeCsrKSB7CisgICAgICAgIG15ICRyZXZpc2lvbiA9ICRyZXZpc2lvbnNUb1Rlc3RbJHhdOwor
CisgICAgICAgIHByaW50IFNUREVSUiAiUnVubmluZyAkcmV2aXNpb24gKCIgLiAoJHggKyAxKSAu
ICIgb2YgJHJldmlzaW9uc0NvdW50KVxuIjsKKworICAgICAgICAjIFNWTiB1c2VycyBtaWdodCB3
aXNoIHRvIGNoYW5nZSB0aGlzIHRvIHVzZSBuaWdodGxpZXMgaW5zdGVhZCB3aGVuIHBvc3NpYmxl
CisgICAgICAgIGNoZWNrb3V0UmV2aXNpb24oJHJldmlzaW9uKTsKKworICAgICAgICBteSAkb3V0
cHV0UGF0aCA9ICIkcmVzdWx0c0RpcmVjdG9yeS8kcmV2aXNpb24uanMiOworICAgICAgICAkcmVz
dWx0ID0gcnVuVXNpbmdDdXJyZW50Q2hlY2tvdXQoJG91dHB1dFBhdGgpOworICAgICAgICBsYXN0
ICB1bmxlc3MgKCRyZXN1bHQgPT0gMCk7CisgICAgfQorCisgICAgY2hlY2tvdXRSZXZpc2lvbigk
c2F2ZWRDdXJyZW50UmV2aXNpb24pOworICAgIHJldHVybiAkcmVzdWx0OworfQorCitteSAkcmVz
dWx0ID0gMDsKK2lmICgkcmV2aXNpb25SYW5nZSkgeworICAgICRyZXN1bHQgPSBydW5Vc2luZ1Jl
dmlzaW9uUmFuZ2UoJHJldmlzaW9uUmFuZ2UpOworfSBlbHNlIHsKKyAgICAkcmVzdWx0ID0gcnVu
VXNpbmdDdXJyZW50Q2hlY2tvdXQoKTsKK30KIAotZXhlYyAiLi9zdW5zcGlkZXIiLCBAYXJnczsK
K2V4aXQoJHJlc3VsdCk7CmRpZmYgLS1naXQgYS9XZWJLaXRUb29scy9TY3JpcHRzL3N1bnNwaWRl
ci1jb21wYXJlLXJlc3VsdHMgYi9XZWJLaXRUb29scy9TY3JpcHRzL3N1bnNwaWRlci1jb21wYXJl
LXJlc3VsdHMKaW5kZXggY2YxOGFhZS4uZGZiZWQ3MCAxMDA3NTUKLS0tIGEvV2ViS2l0VG9vbHMv
U2NyaXB0cy9zdW5zcGlkZXItY29tcGFyZS1yZXN1bHRzCisrKyBiL1dlYktpdFRvb2xzL1Njcmlw
dHMvc3Vuc3BpZGVyLWNvbXBhcmUtcmVzdWx0cwpAQCAtNjEsNyArNjEsNyBAQCBzdWIgYnVpbGRU
ZXN0S0pTCiB7CiAgICAgaWYgKCFkZWZpbmVkKCRyb290KSl7CiAgICAgICAgIGNoZGlyV2ViS2l0
KCk7Ci0gICAgICAgIG15ICRidWlsZFJlc3VsdCA9IHN5c3RlbSAiV2ViS2l0VG9vbHMvU2NyaXB0
cy9idWlsZC10ZXN0a2pzIiwgIi0tIiAuICRjb25maWd1cmF0aW9uOworICAgICAgICBteSAkYnVp
bGRSZXN1bHQgPSBzeXN0ZW0gIldlYktpdFRvb2xzL1NjcmlwdHMvYnVpbGQtdGVzdGtqcyIsICIt
Y29uZmlndXJhdGlvbiIsICRjb25maWd1cmF0aW9uOwogICAgICAgICBpZiAoJGJ1aWxkUmVzdWx0
KSB7CiAgICAgICAgICAgICBwcmludCBTVERFUlIgIkNvbXBpbGluZyB0ZXN0a2pzIGZhaWxlZCFc
biI7CiAgICAgICAgICAgICBleGl0IFdFWElUU1RBVFVTKCRidWlsZFJlc3VsdCk7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>17528</attachid>
            <date>2007-11-26 04:00:11 -0800</date>
            <delta_ts>2010-06-10 15:18:35 -0700</delta_ts>
            <desc>partial fix (which actually runs)</desc>
            <filename>range.patch</filename>
            <type>text/plain</type>
            <size>8666</size>
            <attacher name="Eric Seidel (no email)">eric</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1N1blNwaWRlci9zdW5zcGlkZXIgYi9TdW5TcGlkZXIvc3Vuc3BpZGVyCmlu
ZGV4IDM5YWY1YjkuLjVjZmJhYzcgMTAwNzU1Ci0tLSBhL1N1blNwaWRlci9zdW5zcGlkZXIKKysr
IGIvU3VuU3BpZGVyL3N1bnNwaWRlcgpAQCAtMzcsNiArMzcsNyBAQCBteSAkcnVuU2hhcmsyMCA9
IDA7CiBteSAkcnVuU2hhcmtDYWNoZSA9IDA7CiBteSAkanNTaGVsbFBhdGg7CiBteSAkc2V0QmFz
ZWxpbmUgPSAwOworbXkgJG91dHB1dEZpbGVQYXRoOwogbXkgJHRlc3RzUGF0dGVybjsKIG15ICR0
ZXN0UnVucyA9IDU7ICMgVGhpcyBudW1iZXIgbWF5IGJlIGRpZmZlcmVudCBmcm9tIHdoYXQgLi9z
dW5zcGlkZXIgZGVmYXVsdHMgdG8gKHRoYXQncyBPSykKIApAQCAtNDQsNiArNDUsNyBAQCBteSAk
cHJvZ3JhbU5hbWUgPSBiYXNlbmFtZSgkMCk7CiBteSAkdXNhZ2UgPSA8PEVPRjsKIFVzYWdlOiAk
cHJvZ3JhbU5hbWUgLS1zaGVsbD1bcGF0aF0gW29wdGlvbnNdCiAgIC0taGVscCAgICAgICAgICAg
IFNob3cgdGhpcyBoZWxwIG1lc3NhZ2UKKyAgLS1vdXRwdXQgICAgICAgICAgRHVtcCByZXN1bHRz
IHRvIHNwZWNpZmllZCBmaWxlIChkZWZhdWx0OiB0bXAvc3Vuc3BpZGVyLXJlc3VsdHMtW3RpbWVd
LmpzKQogICAtLXNldC1iYXNlbGluZSAgICBTZXQgYmFzZWxpbmUgZm9yIGZ1dHVyZSBjb21wYXJp
c29ucwogICAtLXNoZWxsICAgICAgICAgICBQYXRoIHRvIEphdmFTY3JpcHQgc2hlbGwKICAgLS1y
dW5zICAgICAgICAgICAgTnVtYmVyIG9mIHRpbWVzIHRvIHJ1biB0ZXN0cyAoZGVmYXVsdDogJHRl
c3RSdW5zKQpAQCAtNTUsNiArNTcsNyBAQCBFT0YKIAogR2V0T3B0aW9ucygncnVucz1pJyA9PiBc
JHRlc3RSdW5zLAogICAgICAgICAgICAnc2V0LWJhc2VsaW5lJyA9PiBcJHNldEJhc2VsaW5lLAor
ICAgICAgICAgICAnb3V0cHV0PXMnID0+IFwkb3V0cHV0RmlsZVBhdGgsCiAgICAgICAgICAgICdz
aGVsbD1zJyA9PiBcJGpzU2hlbGxQYXRoLAogICAgICAgICAgICAnc2hhcmsnID0+IFwkcnVuU2hh
cmssCiAgICAgICAgICAgICdzaGFyazIwJyA9PiBcJHJ1blNoYXJrMjAsCkBAIC0xMjQsNiArMTI3
LDcgQEAgc3ViIGxvYWRUZXN0c0xpc3QoKQogbXkgJHRpbWVTdHJpbmcgPSBzdHJmdGltZSAiJVkt
JW0tJWQtJUguJU0uJVMiLCBsb2NhbHRpbWUgJF5UOwogbXkgJHByZWZpeEZpbGUgPSAidG1wL3N1
bnNwaWRlci10ZXN0LXByZWZpeC5qcyI7CiBteSAkcmVzdWx0c0ZpbGUgPSAidG1wL3N1bnNwaWRl
ci1yZXN1bHRzLSR0aW1lU3RyaW5nLmpzIjsKKyRyZXN1bHRzRmlsZSA9ICRvdXRwdXRGaWxlUGF0
aCAgaWYgJG91dHB1dEZpbGVQYXRoOwogCiBzdWIgd3JpdGVQcmVmaXhGaWxlKCkKIHsKZGlmZiAt
LWdpdCBhL1dlYktpdFRvb2xzL1NjcmlwdHMvVkNTVXRpbHMucG0gYi9XZWJLaXRUb29scy9TY3Jp
cHRzL1ZDU1V0aWxzLnBtCmluZGV4IDI2NDAxZjQuLjQxOTZkNmEgMTAwNjQ0Ci0tLSBhL1dlYktp
dFRvb2xzL1NjcmlwdHMvVkNTVXRpbHMucG0KKysrIGIvV2ViS2l0VG9vbHMvU2NyaXB0cy9WQ1NV
dGlscy5wbQpAQCAtMTE4LDQgKzExOCw0NiBAQCBzdWIgbWFrZUZpbGVQYXRoUmVsYXRpdmUoJCkK
ICAgICByZXR1cm4gJHJlc3VsdDsKIH0KIAorc3ViIHVuc3VwcG9ydGVkVkNTKCkKK3sKKyAgICBk
aWUgIkN1cnJlbnQgZGlyZWN0b3J5IGlzIG5vdCBhIGdpdCBvciBzdm4gd29ya2luZyBkaXJlY3Rv
cnkuIjsKK30KKworc3ViIGN1cnJlbnRSZXZpc2lvbigpCit7CisgICAgcmV0dXJuIGdpdEJyYW5j
aCgpICBpZiBpc0dpdCgpOworICAgIGlmIChpc1NWTigpKSB7CisgICAgICAgIG15ICRzdm5JbmZv
ID0gYHN2biBpbmZvYDsKKyAgICAgICAgaWYgKCRzdm5JbmZvID1+IC9eUmV2aXNpb246IChcZCsp
JC8pIHsKKyAgICAgICAgICAgIHJldHVybiAkMTsKKyAgICAgICAgfQorICAgIH0KKyAgICB1bnN1
cHBvcnRlZFZDUygpOworfQorCitzdWIgY2hlY2tvdXRSZXZpc2lvbigkKQoreworICAgIG15ICRy
ZXZpc2lvbiA9IHNoaWZ0OworICAgIHJldHVybiBzeXN0ZW0oJ2dpdC1jaGVja291dCcsICRyZXZp
c2lvbikgPT0gMCAgaWYgaXNHaXQoKTsKKyAgICByZXR1cm4gc3lzdGVtKCdzdm4nLCAndXBkYXRl
JywgJy1yJywgJHJldmlzaW9uKSA9PSAwICBpZiBpc1NWTigpOworICAgIHVuc3VwcG9ydGVkVkNT
KCk7Cit9CisKK3N1YiByZXZpc2lvbnNGcm9tUmFuZ2UoJCkKK3sKKyAgICBteSAkcmFuZ2UgPSBz
aGlmdDsKKyAgICBpZiAoaXNHaXQoKSkgeworICAgICAgICBteSAkcmV2aXNpb25zU3RyaW5nID0g
YGdpdC1yZXYtbGlzdCAkcmFuZ2VgOworICAgICAgICByZXR1cm4gc3BsaXQoJ1xuJywgJHJldmlz
aW9uc1N0cmluZyk7CisgICAgfSBlbHNpZiAoaXNTVk4oKSkgeworICAgICAgICBpZiAoJHJhbmdl
ID1+IC9ecj8oWzAtOV0rfEhFQUQpOj8kL2kpIHsKKyAgICAgICAgICAgIHJldHVybiBbJDFdOwor
ICAgICAgICB9IGVsc2lmICgkcmFuZ2UgPX4gL15yPyhbMC05XSspOj9yPyhbMC05XSt8SEVBRCkk
L2kpIHsKKyAgICAgICAgICAgIHJldHVybiBbJDEuLiQyXTsKKyAgICAgICAgfQorICAgICAgICBk
aWUgIlVua25vd24gcmV2aXNpb24gJyRyYW5nZSc6ICBleHBlY3RlZCAnTScgb3IgJ006TiciOwor
ICAgIH0KKyAgICB1bnN1cHBvcnRlZFZDUygpOworfQorCiAxOwpkaWZmIC0tZ2l0IGEvV2ViS2l0
VG9vbHMvU2NyaXB0cy9ydW4tc3Vuc3BpZGVyIGIvV2ViS2l0VG9vbHMvU2NyaXB0cy9ydW4tc3Vu
c3BpZGVyCmluZGV4IDIzYzA0MzMuLmRjOGFmNDIgMTAwNzU1Ci0tLSBhL1dlYktpdFRvb2xzL1Nj
cmlwdHMvcnVuLXN1bnNwaWRlcgorKysgYi9XZWJLaXRUb29scy9TY3JpcHRzL3J1bi1zdW5zcGlk
ZXIKQEAgLTI3LDYgKzI3LDcgQEAKIHVzZSBzdHJpY3Q7CiB1c2UgRmluZEJpbjsKIHVzZSBHZXRv
cHQ6OkxvbmcgcXcoOmNvbmZpZyBwYXNzX3Rocm91Z2gpOwordXNlIEZpbGU6OlBhdGg7CiB1c2Ug
bGliICRGaW5kQmluOjpCaW47CiB1c2Ugd2Via2l0ZGlyczsKIHVzZSBQT1NJWDsKQEAgLTQ0LDYg
KzQ1LDcgQEAgbXkgJHJ1blNoYXJrQ2FjaGUgPSAwOwogbXkgJHNldEJhc2VsaW5lID0gMDsKIG15
ICRzaG93SGVscCA9IDA7CiBteSAkdGVzdHNQYXR0ZXJuOworbXkgJHJldmlzaW9uUmFuZ2U7CiAK
IG15ICRwcm9ncmFtTmFtZSA9IGJhc2VuYW1lKCQwKTsKIG15ICR1c2FnZSA9IDw8RU9GOwpAQCAt
NTYsNiArNTgsNyBAQCBVc2FnZTogJHByb2dyYW1OYW1lIFtvcHRpb25zXSBbb3B0aW9ucyB0byBw
YXNzIHRvIGJ1aWxkIHN5c3RlbV0KICAgLS1zaGFyayAgICAgICAgICAgU2FtcGxlIHdpdGggdGhl
IE1hYyBPUyBYICJTaGFyayIgcGVyZm9ybWFuY2UgdGVzdGluZyB0b29sIChpbXBsaWVzIC0tcnVu
cz0xKQogICAtLXNoYXJrMjAgICAgICAgICBMaWtlIC0tc2hhcmssIGJ1dCB3aXRoIGEgMjAgbWlj
cm9zZWNvbmQgc2FtcGxpbmcgaW50ZXJ2YWwKICAgLS1zaGFyay1jYWNoZSAgICAgTGlrZSAtLXNo
YXJrLCBidXQgcGVyZm9ybXMgYSBMMiBjYWNoZS1taXNzIHNhbXBsZSBpbnN0ZWFkIG9mIHRpbWUg
c2FtcGxlCisgIC0tcmFuZ2UgICAgICAgICAgIEdldCBzYW1wbGVzIGFjcm9zcyB0aGUgcHJvdmlk
ZWQgZ2l0IHJhbmdlIG9mIGJ1aWxkcwogRU9GCiAKIEdldE9wdGlvbnMoJ3Jvb3Q9cycgPT4gc3Vi
IHsgbXkgKCRhcmdOYW1lLCAkdmFsdWUpOyBzZXRDb25maWd1cmF0aW9uUHJvZHVjdERpcihDd2Q6
OmFic19wYXRoKCR2YWx1ZSkpOyB9LApAQCAtNjUsNiArNjgsNyBAQCBHZXRPcHRpb25zKCdyb290
PXMnID0+IHN1YiB7IG15ICgkYXJnTmFtZSwgJHZhbHVlKTsgc2V0Q29uZmlndXJhdGlvblByb2R1
Y3REaXIoQwogICAgICAgICAgICAnc2hhcmsyMCcgPT4gXCRydW5TaGFyazIwLAogICAgICAgICAg
ICAnc2hhcmstY2FjaGUnID0+IFwkcnVuU2hhcmtDYWNoZSwKICAgICAgICAgICAgJ3Rlc3RzPXMn
ID0+IFwkdGVzdHNQYXR0ZXJuLAorICAgICAgICAgICAncmFuZ2U9cycgPT4gXCRyZXZpc2lvblJh
bmdlLAogICAgICAgICAgICAnaGVscCcgPT4gXCRzaG93SGVscCk7CiAKIGlmICgkc2hvd0hlbHAp
IHsKQEAgLTc0LDExICs3OCw5IEBAIGlmICgkc2hvd0hlbHApIHsKIAogc3ViIGJ1aWxkVGVzdEtK
UwogewotICAgIGlmICghZGVmaW5lZCgkcm9vdCkpewotICAgICAgICBwdXNoKEBBUkdWLCAgIi0t
IiAuICRjb25maWd1cmF0aW9uKTsKLSAgICAgICAgCisgICAgaWYgKCFkZWZpbmVkKCRyb290KSkg
ewogICAgICAgICBjaGRpcldlYktpdCgpOwotICAgICAgICBteSAkYnVpbGRSZXN1bHQgPSBzeXN0
ZW0gIldlYktpdFRvb2xzL1NjcmlwdHMvYnVpbGQtdGVzdGtqcyIsIEBBUkdWOworICAgICAgICBt
eSAkYnVpbGRSZXN1bHQgPSBzeXN0ZW0gIldlYktpdFRvb2xzL1NjcmlwdHMvYnVpbGQtdGVzdGtq
cyIsIEBBUkdWLCAiLWNvbmZpZ3VyYXRpb24iLCAkY29uZmlndXJhdGlvbjsKICAgICAgICAgaWYg
KCRidWlsZFJlc3VsdCkgewogICAgICAgICAgICAgcHJpbnQgU1RERVJSICJDb21waWxpbmcgdGVz
dGtqcyBmYWlsZWQhXG4iOwogICAgICAgICAgICAgZXhpdCBleGl0U3RhdHVzKCRidWlsZFJlc3Vs
dCk7CkBAIC0xMDIsMjIgKzEwNCw5MCBAQCBzdWIgdGVzdEtKU1BhdGgoJCkKICAgICByZXR1cm4g
IiRwcm9kdWN0RGlyLyR0ZXN0a2pzTmFtZSI7CiB9CiAKLWJ1aWxkVGVzdEtKUygpOworIyBUaGlz
IGZ1bmN0aW9uIGNvdWxkIGJlIHJlbW92ZWQgaWYgd2UgY2hvc2UgdG8gcGFzcyBleHRyYSBhcmdz
IHRvIHN1bnNwaWRlciBpbnN0ZWFkIG9mIFhjb2RlCitzdWIgYXJnc0ZvclN1blNwaWRlcigkJCkK
K3sKKyAgICBteSAkcHJvZHVjdERpciA9IHNoaWZ0OworICAgIG15ICRjdXN0b21PdXRwdXRQYXRo
ID0gc2hpZnQ7CisgICAgbXkgQGFyZ3MgPSAoIi0tc2hlbGwiLCB0ZXN0S0pTUGF0aCgkcHJvZHVj
dERpciksICItLXJ1bnMiLCAkdGVzdFJ1bnMpOworICAgIHB1c2ggQGFyZ3MsICItLXNldC1iYXNl
bGluZSIgaWYgJHNldEJhc2VsaW5lOworICAgIHB1c2ggQGFyZ3MsICItLXNoYXJrIiBpZiAkcnVu
U2hhcms7CisgICAgcHVzaCBAYXJncywgIi0tc2hhcmsyMCIgaWYgJHJ1blNoYXJrMjA7CisgICAg
cHVzaCBAYXJncywgIi0tc2hhcmstY2FjaGUiIGlmICRydW5TaGFya0NhY2hlOworICAgIHB1c2gg
QGFyZ3MsICItLXRlc3RzIiwgJHRlc3RzUGF0dGVybiBpZiAkdGVzdHNQYXR0ZXJuOworICAgIHB1
c2ggQGFyZ3MsICItLW91dHB1dCIsICRjdXN0b21PdXRwdXRQYXRoICBpZiAkY3VzdG9tT3V0cHV0
UGF0aDsKKyAgICByZXR1cm4gQGFyZ3M7Cit9CisKKyMgVGFrZXMgMCBvciAxIGFyZ3MKK3N1YiBy
dW5Vc2luZ0N1cnJlbnRDaGVja291dAoreworICAgIG15ICRjdXN0b21PdXRwdXRQYXRoID0gc2hp
ZnQ7CisKKyAgICBidWlsZFRlc3RLSlMoKTsKKworICAgIGNoZGlyV2ViS2l0KCk7CisgICAgY2hk
aXIoIlN1blNwaWRlciIpOworCisgICAgbXkgJHByb2R1Y3REaXIgPSBwcm9kdWN0RGlyKCk7Cisg
ICAgIyBGSVhNRTogVGhpcyBoYWNrIHNob3VsZCBiZSBwdXNoZWQgZG93biBpbnRvIHByb2R1Y3RE
aXIoKQorICAgICRwcm9kdWN0RGlyIC49ICIvSmF2YVNjcmlwdENvcmUiIGlmIChpc1F0KCkgb3Ig
aXNHdGsoKSk7CiAKLWNoZGlyV2ViS2l0KCk7Ci1jaGRpcigiU3VuU3BpZGVyIik7CisgICAgc2V0
dXBFbnZpcm9ubWVudEZvckV4ZWN1dGlvbigkcHJvZHVjdERpcik7CisgICAgcmV0dXJuIHN5c3Rl
bSgiLi9zdW5zcGlkZXIiLCBhcmdzRm9yU3VuU3BpZGVyKCRwcm9kdWN0RGlyLCAkY3VzdG9tT3V0
cHV0UGF0aCkpOworfQorCitzdWIgZHVtcFRvRmlsZSgkJCkKK3sKKyAgICBteSAoJGNvbnRlbnRz
LCAkcGF0aCkgPSBAXzsKKyAgICBvcGVuIEZJTEUsICI+IiwgJHBhdGggb3IgZGllICJGYWlsZWQg
dG8gb3BlbiAkcGF0aCI7CisgICAgcHJpbnQgRklMRSAkY29udGVudHM7CisgICAgY2xvc2UgRklM
RTsKK30KKworc3ViIHJ1blVzaW5nUmV2aXNpb25SYW5nZSgkKQoreworICAgIG15ICRyZXZpc2lv
blJhbmdlID0gc2hpZnQ7CisgICAgbXkgQHJldmlzaW9uc1RvVGVzdCA9IHJldmlzaW9uc0Zyb21S
YW5nZSgkcmV2aXNpb25SYW5nZSk7CiAKLW15ICRwcm9kdWN0RGlyID0gcHJvZHVjdERpcigpOwot
IyBGSVhNRTogVGhpcyBoYWNrIHNob3VsZCBiZSBwdXNoZWQgZG93biBpbnRvIHByb2R1Y3REaXIo
KQotJHByb2R1Y3REaXIgLj0gIi9KYXZhU2NyaXB0Q29yZSIgaWYgKGlzUXQoKSBvciBpc0d0aygp
KTsKKyAgICBteSAkc2F2ZWRDdXJyZW50UmV2aXNpb24gPSBjdXJyZW50UmV2aXNpb24oKTsKIAot
c2V0dXBFbnZpcm9ubWVudEZvckV4ZWN1dGlvbigkcHJvZHVjdERpcik7Ci1teSBAYXJncyA9ICgi
LS1zaGVsbCIsIHRlc3RLSlNQYXRoKCRwcm9kdWN0RGlyKSwgIi0tcnVucyIsICR0ZXN0UnVucyk7
Ci0jIFRoaXMgY29kZSBjb3VsZCBiZSByZW1vdmVkIGlmIHdlIGNob3NlIHRvIHBhc3MgZXh0cmEg
YXJncyB0byBzdW5zcGlkZXIgaW5zdGVhZCBvZiBYY29kZQotcHVzaCBAYXJncywgIi0tc2V0LWJh
c2VsaW5lIiBpZiAkc2V0QmFzZWxpbmU7Ci1wdXNoIEBhcmdzLCAiLS1zaGFyayIgaWYgJHJ1blNo
YXJrOwotcHVzaCBAYXJncywgIi0tc2hhcmsyMCIgaWYgJHJ1blNoYXJrMjA7Ci1wdXNoIEBhcmdz
LCAiLS1zaGFyay1jYWNoZSIgaWYgJHJ1blNoYXJrQ2FjaGU7Ci1wdXNoIEBhcmdzLCAiLS10ZXN0
cyIsICR0ZXN0c1BhdHRlcm4gaWYgJHRlc3RzUGF0dGVybjsKKyAgICBteSAkcmV2aXNpb25zQ291
bnQgPSBzY2FsYXIoQHJldmlzaW9uc1RvVGVzdCk7CisgICAgcHJpbnQgU1RERVJSICJSdW5uaW5n
IFN1blNwaWRlciBhZ2FpbnN0ICIgLiAkcmV2aXNpb25zQ291bnQgLiAiIHJldmlzaW9ucyBpbiBy
YW5nZSAiIC4gJHJldmlzaW9uUmFuZ2UgLiAiXG4iOworCisgICAgY2hkaXJXZWJLaXQoKTsKKyAg
ICBjaGRpcigiU3VuU3BpZGVyIik7CisKKyAgICBteSAkdGltZVN0cmluZyA9IHN0cmZ0aW1lICIl
WS0lbS0lZC0lSC4lTS4lUyIsIGxvY2FsdGltZSAkXlQ7CisgICAgbXkgJHJlc3VsdHNEaXJlY3Rv
cnkgPSAidG1wL3JhbmdlLSR0aW1lU3RyaW5nIjsKKyAgICBta3BhdGggJHJlc3VsdHNEaXJlY3Rv
cnk7CisKKyAgICBteSAkcmV2aXNpb25zU3RyaW5nID0gInZhciByZXZpc2lvbnMgPSBbIFwiIiAu
IGpvaW4oIlwiLFxuXCIiLCBAcmV2aXNpb25zVG9UZXN0KSAuICJcIiBdO1xuIjsKKyAgICBkdW1w
VG9GaWxlKCRyZXZpc2lvbnNTdHJpbmcsICIkcmVzdWx0c0RpcmVjdG9yeS9yZXZpc2lvbnMuanMi
KTsKKworICAgIG15ICRyZXN1bHQgPSAwOworICAgIGZvciAobXkgJHggPSAwOyAkeCA8ICRyZXZp
c2lvbnNDb3VudDsgJHgrKykgeworICAgICAgICBteSAkcmV2aXNpb24gPSAkcmV2aXNpb25zVG9U
ZXN0WyR4XTsKKworICAgICAgICBwcmludCBTVERFUlIgIlJ1bm5pbmcgJHJldmlzaW9uICgiIC4g
KCR4ICsgMSkgLiAiIG9mICRyZXZpc2lvbnNDb3VudClcbiI7CisKKyAgICAgICAgIyBTVk4gdXNl
cnMgbWlnaHQgd2lzaCB0byBjaGFuZ2UgdGhpcyB0byB1c2UgbmlnaHRsaWVzIGluc3RlYWQgd2hl
biBwb3NzaWJsZQorICAgICAgICBjaGVja291dFJldmlzaW9uKCRyZXZpc2lvbik7CisKKyAgICAg
ICAgbXkgJG91dHB1dFBhdGggPSAiJHJlc3VsdHNEaXJlY3RvcnkvJHJldmlzaW9uLmpzIjsKKyAg
ICAgICAgJHJlc3VsdCA9IHJ1blVzaW5nQ3VycmVudENoZWNrb3V0KCRvdXRwdXRQYXRoKTsKKyAg
ICAgICAgbGFzdCAgdW5sZXNzICgkcmVzdWx0ID09IDApOworICAgIH0KKworICAgIGNoZWNrb3V0
UmV2aXNpb24oJHNhdmVkQ3VycmVudFJldmlzaW9uKTsKKyAgICByZXR1cm4gJHJlc3VsdDsKK30K
KworbXkgJHJlc3VsdCA9IDA7CitpZiAoJHJldmlzaW9uUmFuZ2UpIHsKKyAgICAkcmVzdWx0ID0g
cnVuVXNpbmdSZXZpc2lvblJhbmdlKCRyZXZpc2lvblJhbmdlKTsKK30gZWxzZSB7CisgICAgJHJl
c3VsdCA9IHJ1blVzaW5nQ3VycmVudENoZWNrb3V0KCk7Cit9CiAKLWV4ZWMgIi4vc3Vuc3BpZGVy
IiwgQGFyZ3M7CitleGl0KCRyZXN1bHQpOwpkaWZmIC0tZ2l0IGEvV2ViS2l0VG9vbHMvU2NyaXB0
cy9zdW5zcGlkZXItY29tcGFyZS1yZXN1bHRzIGIvV2ViS2l0VG9vbHMvU2NyaXB0cy9zdW5zcGlk
ZXItY29tcGFyZS1yZXN1bHRzCmluZGV4IGNmMThhYWUuLmRmYmVkNzAgMTAwNzU1Ci0tLSBhL1dl
YktpdFRvb2xzL1NjcmlwdHMvc3Vuc3BpZGVyLWNvbXBhcmUtcmVzdWx0cworKysgYi9XZWJLaXRU
b29scy9TY3JpcHRzL3N1bnNwaWRlci1jb21wYXJlLXJlc3VsdHMKQEAgLTYxLDcgKzYxLDcgQEAg
c3ViIGJ1aWxkVGVzdEtKUwogewogICAgIGlmICghZGVmaW5lZCgkcm9vdCkpewogICAgICAgICBj
aGRpcldlYktpdCgpOwotICAgICAgICBteSAkYnVpbGRSZXN1bHQgPSBzeXN0ZW0gIldlYktpdFRv
b2xzL1NjcmlwdHMvYnVpbGQtdGVzdGtqcyIsICItLSIgLiAkY29uZmlndXJhdGlvbjsKKyAgICAg
ICAgbXkgJGJ1aWxkUmVzdWx0ID0gc3lzdGVtICJXZWJLaXRUb29scy9TY3JpcHRzL2J1aWxkLXRl
c3RranMiLCAiLWNvbmZpZ3VyYXRpb24iLCAkY29uZmlndXJhdGlvbjsKICAgICAgICAgaWYgKCRi
dWlsZFJlc3VsdCkgewogICAgICAgICAgICAgcHJpbnQgU1RERVJSICJDb21waWxpbmcgdGVzdGtq
cyBmYWlsZWQhXG4iOwogICAgICAgICAgICAgZXhpdCBXRVhJVFNUQVRVUygkYnVpbGRSZXN1bHQp
Owo=
</data>

          </attachment>
      

    </bug>

</bugzilla>