<?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>4571</bug_id>
          
          <creation_ts>2005-08-21 17:39:50 -0700</creation_ts>
          <short_desc>rows in footer must be last in rows HTMLCollection regardless of doc. order</short_desc>
          <delta_ts>2008-02-20 12:32:11 -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>DOM</component>
          <version>420+</version>
          <rep_platform>Mac</rep_platform>
          <op_sys>OS X 10.4</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>4565</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Darin Adler">darin</reporter>
          <assigned_to name="Anders Carlsson">andersca</assigned_to>
          <cc>andersca</cc>
    
    <cc>browserbugs2</cc>
    
    <cc>ian</cc>
    
    <cc>magic</cc>
    
    <cc>maksim</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>17071</commentid>
    <comment_count>0</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2005-08-21 17:39:50 -0700</bug_when>
    <thetext>The rows collection currently returns the rows of a table in document order. But this is incorrect. As with 
the rowIndex function (which has a working implementation that does this correctly), any rows in a table 
footer have to come after all the rows in the table body.

Two of the W3C DOM Level 2 HTML test suite tests are failing because of this issue:

    HTMLCollection07
    HTMLCollection08</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>17079</commentid>
    <comment_count>1</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2005-08-21 18:27:49 -0700</bug_when>
    <thetext>Turns out there was a third test affected:

    HTMLTableElement39</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>17081</commentid>
    <comment_count>2</comment_count>
    <who name="Maks Orlovich">maksim</who>
    <bug_when>2005-08-21 19:09:36 -0700</bug_when>
    <thetext>Actually, rowIndex seems broken wrt to putting &lt;thead&gt; first from looking at 
the code (it only puts tfoot last). Do you (Darin) want a separate BR + 
testcase for that? 
 
 </thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>17125</commentid>
    <comment_count>3</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2005-08-22 08:49:13 -0700</bug_when>
    <thetext>Yes, lets use a separate bug report for that.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>17728</commentid>
    <comment_count>4</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2005-08-26 19:56:02 -0700</bug_when>
    <thetext>Looks like Maks has a great fix for this in the KDE KHTML tree. We should get that.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>18814</commentid>
    <comment_count>5</comment_count>
    <who name="Maks Orlovich">maksim</who>
    <bug_when>2005-09-06 10:02:32 -0700</bug_when>
    <thetext>I haven&apos;t committed it yet, but it&apos;s at 
http://www.cs.cornell.edu/~maksim/patches/table_rows_order.diff (the diff also 
includes a fix to rowIndex). The patch is only sane because we cache more stuff 
than you do, though.  
 </thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>19353</commentid>
    <comment_count>6</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2005-09-11 10:08:38 -0700</bug_when>
    <thetext>Anders is looking into this.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>19549</commentid>
    <comment_count>7</comment_count>
    <who name="Vicki Murley">vicki</who>
    <bug_when>2005-09-12 20:57:25 -0700</bug_when>
    <thetext>Please don&apos;t forget to update the DOM catalog after fixing this (or remind me to).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>21499</commentid>
    <comment_count>8</comment_count>
    <who name="Vicki Murley">vicki</who>
    <bug_when>2005-10-05 15:49:47 -0700</bug_when>
    <thetext>&lt;rdar://problem/4288297&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>98</commentid>
    <comment_count>9</comment_count>
      <attachid>16362</attachid>
    <who name="Vincent Ricard">magic</who>
    <bug_when>2007-09-23 12:46:58 -0700</bug_when>
    <thetext>Created attachment 16362
fix HTMLCollection07 and HTMLCollection08

This patch fixes the test cases HTMLCollection07 and HTMLCollection08, and also the bug #8133 (maybe it could be marked as duplicated?).

I extended HTMLCollection and overrided traverseNextItem() (rather than modifiy HTMLCollection::traverseNextItem(), i think is more readable and more maintenable like this.

I copy/pasted the header for the both new files, i guess the copyright are wrong; is there a header sample on the wiki or elsewhere?

I ran the tests, and i didnt see new regression.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>57392</commentid>
    <comment_count>10</comment_count>
      <attachid>16362</attachid>
    <who name="Maciej Stachowiak">mjs</who>
    <bug_when>2007-09-29 19:13:41 -0700</bug_when>
    <thetext>Comment on attachment 16362
fix HTMLCollection07 and HTMLCollection08

The general concept looks good. However, there are a few issues.

1) I see a lot of code using braces around single-line if or while bodies like the below. In WebKit coding style, we do not use braces in such cases.

+        if (table-&gt;firstTBody()) {
+            current = table-&gt;firstTBody()-&gt;rows()-&gt;firstItem();
+        }

2) In general, the logic seems more complicated than necessary. I think just by adding a flag that says whether you haven&apos;t started, are currently doing the thead, are currently doing bodies, or are currently doing the tfoot, you could make the logic much simpler. You could do the thead as the first phase, then in phase two do the normal traversal (which will find trs that sit directly in the table, which can happen in XHTML) but refusing to enter thead or tfoot elements, then finally do the tfoot if there is one.

3) It looks like if there is a tfoot, your code will miss tr elements that sit directly in the table or are otherwise misnested (which can happen with XHTML or via direct DOM operations). However, if there isn&apos;t a tfoot but there is a tbody, your code will find them.

The general approach is good and it&apos;s great that you are doing this fix, but please fix up the coding style issue and consider the correctness issue in #3. It might help to add additional test cases to cover weird edge cases like that.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>57393</commentid>
    <comment_count>11</comment_count>
      <attachid>16362</attachid>
    <who name="Maciej Stachowiak">mjs</who>
    <bug_when>2007-09-29 19:17:24 -0700</bug_when>
    <thetext>Comment on attachment 16362
fix HTMLCollection07 and HTMLCollection08

r- for above comments. Please address.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>57395</commentid>
    <comment_count>12</comment_count>
    <who name="Maciej Stachowiak">mjs</who>
    <bug_when>2007-09-29 19:18:55 -0700</bug_when>
    <thetext>*** Bug 8133 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>66421</commentid>
    <comment_count>13</comment_count>
    <who name="Ian &apos;Hixie&apos; Hickson">ian</who>
    <bug_when>2008-01-06 17:24:28 -0800</bug_when>
    <thetext>HTML5 makes this explicit, fwiw.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>71271</commentid>
    <comment_count>14</comment_count>
    <who name="Vincent Ricard">magic</who>
    <bug_when>2008-02-20 12:04:10 -0800</bug_when>
    <thetext>According to the log of r29101, HTMLCollection07 and HTMLCollection pass. So the bug is still valid?
(r29101 | darin@apple.com | 2008-01-03)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>71278</commentid>
    <comment_count>15</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2008-02-20 12:32:11 -0800</bug_when>
    <thetext>Fixed in r29101.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>16362</attachid>
            <date>2007-09-23 12:46:58 -0700</date>
            <delta_ts>2007-09-29 19:17:24 -0700</delta_ts>
            <desc>fix HTMLCollection07 and HTMLCollection08</desc>
            <filename>4571.diff</filename>
            <type>text/plain</type>
            <size>9788</size>
            <attacher name="Vincent Ricard">magic</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiAyNTcwNCkKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMjIgQEAKKzIwMDctMDktMjMgIFZpbmNlbnQgUmljYXJkICA8bWFnaWNAbWFnaWNu
aW5qYS5vcmc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAg
ICAgaHR0cDovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NDU3MQorICAgICAgICBo
dHRwOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD04MTMzCisgICAgICAgIFRoZSBy
b3dzIG9mIGEgdGFibGUgYXJlIG5vdyByZXR1cm5lZCBpbiB0aGUgbG9naWNhbCBvcmRlci4KKyAg
ICAgICAgVGhpcyBmaXhlcyB0aGUgdGVzdCBjYXNlcyBIVE1MQ29sbGVjdGlvbjA3IGFuZCBIVE1M
Q29sbGVjdGlvbjA4LgorCisgICAgICAgICogV2ViQ29yZS5wcm86CisgICAgICAgICogaHRtbC9I
VE1MVGFibGVFbGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxUYWJsZUVsZW1lbnQ6
OnJvd3MpOgorICAgICAgICAqIGh0bWwvSFRNTFRhYmxlUm93Q29sbGVjdGlvbi5jcHA6IEFkZGVk
LgorICAgICAgICAoV2ViQ29yZTo6SFRNTFRhYmxlUm93Q29sbGVjdGlvbjo6SFRNTFRhYmxlUm93
Q29sbGVjdGlvbik6CisgICAgICAgIChXZWJDb3JlOjpIVE1MVGFibGVSb3dDb2xsZWN0aW9uOjp0
cmF2ZXJzZU5leHRJdGVtKToKKyAgICAgICAgKiBodG1sL0hUTUxUYWJsZVJvd0NvbGxlY3Rpb24u
aDogQWRkZWQuCisgICAgICAgICogaHRtbC9IVE1MVGFibGVTZWN0aW9uRWxlbWVudC5jcHA6Cisg
ICAgICAgIChXZWJDb3JlOjpIVE1MVGFibGVTZWN0aW9uRWxlbWVudDo6cm93cyk6CisKIDIwMDct
MDktMjAgIEhvbGdlciBIYW5zIFBldGVyIEZyZXl0aGVyICA8emVja2VAc2VsZmlzaC5vcmc+CiAK
ICAgICAgICAgUnViYmVyIHN0YW1wZWQgYnkgQWRhbS4KSW5kZXg6IFdlYkNvcmUvV2ViQ29yZS5w
cm8KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9XZWJDb3JlLnBybwkocmV2aXNpb24gMjU3MDMpCisr
KyBXZWJDb3JlL1dlYkNvcmUucHJvCSh3b3JraW5nIGNvcHkpCkBAIC01NTYsNiArNTU2LDcgQEAg
U09VUkNFUyArPSBcCiAgICAgaHRtbC9IVE1MVGFibGVDb2xFbGVtZW50LmNwcCBcCiAgICAgaHRt
bC9IVE1MVGFibGVFbGVtZW50LmNwcCBcCiAgICAgaHRtbC9IVE1MVGFibGVQYXJ0RWxlbWVudC5j
cHAgXAorICAgIGh0bWwvSFRNTFRhYmxlUm93Q29sbGVjdGlvbi5jcHAgXAogICAgIGh0bWwvSFRN
TFRhYmxlUm93RWxlbWVudC5jcHAgXAogICAgIGh0bWwvSFRNTFRhYmxlU2VjdGlvbkVsZW1lbnQu
Y3BwIFwKICAgICBodG1sL0hUTUxUZXh0QXJlYUVsZW1lbnQuY3BwIFwKSW5kZXg6IFdlYkNvcmUv
aHRtbC9IVE1MQ29sbGVjdGlvbi5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9odG1sL0hUTUxD
b2xsZWN0aW9uLmNwcAkocmV2aXNpb24gMjU3MDMpCisrKyBXZWJDb3JlL2h0bWwvSFRNTENvbGxl
Y3Rpb24uY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xNjcsNyArMTY3LDYgQEAgTm9kZSAqSFRNTENv
bGxlY3Rpb246OnRyYXZlcnNlTmV4dEl0ZW0oTgogICAgICAgICAgICAgICAgIGVsc2UgaWYgKGUt
Pmhhc0xvY2FsTmFtZSh0YWJsZVRhZykpCiAgICAgICAgICAgICAgICAgICAgIGRlZXAgPSBmYWxz
ZTsKICAgICAgICAgICAgICAgICBicmVhazsKLSAgICAgICAgICAgIGNhc2UgVGFibGVSb3dzOgog
ICAgICAgICAgICAgY2FzZSBUU2VjdGlvblJvd3M6CiAgICAgICAgICAgICAgICAgaWYgKGUtPmhh
c0xvY2FsTmFtZSh0clRhZykpCiAgICAgICAgICAgICAgICAgICAgIGZvdW5kID0gdHJ1ZTsKSW5k
ZXg6IFdlYkNvcmUvaHRtbC9IVE1MVGFibGVFbGVtZW50LmNwcAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJD
b3JlL2h0bWwvSFRNTFRhYmxlRWxlbWVudC5jcHAJKHJldmlzaW9uIDI1NzAzKQorKysgV2ViQ29y
ZS9odG1sL0hUTUxUYWJsZUVsZW1lbnQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0zNSw2ICszNSw3
IEBACiAjaW5jbHVkZSAiSFRNTENvbGxlY3Rpb24uaCIKICNpbmNsdWRlICJIVE1MTmFtZXMuaCIK
ICNpbmNsdWRlICJIVE1MVGFibGVDYXB0aW9uRWxlbWVudC5oIgorI2luY2x1ZGUgIkhUTUxUYWJs
ZVJvd0NvbGxlY3Rpb24uaCIKICNpbmNsdWRlICJIVE1MVGFibGVTZWN0aW9uRWxlbWVudC5oIgog
I2luY2x1ZGUgIlJlbmRlclRhYmxlLmgiCiAjaW5jbHVkZSAiVGV4dC5oIgpAQCAtNjUyLDcgKzY1
Myw3IEBAIGJvb2wgSFRNTFRhYmxlRWxlbWVudDo6aXNVUkxBdHRyaWJ1dGUoQXQKIAogUGFzc1Jl
ZlB0cjxIVE1MQ29sbGVjdGlvbj4gSFRNTFRhYmxlRWxlbWVudDo6cm93cygpCiB7Ci0gICAgcmV0
dXJuIG5ldyBIVE1MQ29sbGVjdGlvbih0aGlzLCBIVE1MQ29sbGVjdGlvbjo6VGFibGVSb3dzKTsK
KyAgICByZXR1cm4gbmV3IEhUTUxUYWJsZVJvd0NvbGxlY3Rpb24odGhpcyk7CiB9CiAKIFBhc3NS
ZWZQdHI8SFRNTENvbGxlY3Rpb24+IEhUTUxUYWJsZUVsZW1lbnQ6OnRCb2RpZXMoKQpJbmRleDog
V2ViQ29yZS9odG1sL0hUTUxUYWJsZVJvd0NvbGxlY3Rpb24uY3BwCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdl
YkNvcmUvaHRtbC9IVE1MVGFibGVSb3dDb2xsZWN0aW9uLmNwcAkocmV2aXNpb24gMCkKKysrIFdl
YkNvcmUvaHRtbC9IVE1MVGFibGVSb3dDb2xsZWN0aW9uLmNwcAkocmV2aXNpb24gMCkKQEAgLTAs
MCArMSwxMzIgQEAKKy8qKgorICogVGhpcyBmaWxlIGlzIHBhcnQgb2YgdGhlIERPTSBpbXBsZW1l
bnRhdGlvbiBmb3IgS0RFLgorICoKKyAqIENvcHlyaWdodCAoQykgMTk5OSBMYXJzIEtub2xsIChr
bm9sbEBrZGUub3JnKQorICogICAgICAgICAgIChDKSAxOTk5IEFudHRpIEtvaXZpc3RvIChrb2l2
aXN0b0BrZGUub3JnKQorICogQ29weXJpZ2h0IChDKSAyMDAzLCAyMDA0LCAyMDA1LCAyMDA2IEFw
cGxlIENvbXB1dGVyLCBJbmMuCisgKgorICogVGhpcyBsaWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7
IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgorICogbW9kaWZ5IGl0IHVuZGVyIHRoZSB0
ZXJtcyBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMKKyAqIExpY2Vuc2UgYXMgcHVi
bGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlcgorICogdmVyc2lv
biAyIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9u
LgorICoKKyAqIFRoaXMgbGlicmFyeSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0
IHdpbGwgYmUgdXNlZnVsLAorICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2
ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKyAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNT
IEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUgR05VCisgKiBMaWJyYXJ5IEdlbmVy
YWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKyAqCisgKiBZb3Ugc2hvdWxkIGhh
dmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNl
bnNlCisgKiBhbG9uZyB3aXRoIHRoaXMgbGlicmFyeTsgc2VlIHRoZSBmaWxlIENPUFlJTkcuTElC
LiAgSWYgbm90LCB3cml0ZSB0bworICogdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5j
LiwgNTkgVGVtcGxlIFBsYWNlIC0gU3VpdGUgMzMwLAorICogQm9zdG9uLCBNQSAwMjExMS0xMzA3
LCBVU0EuCisgKgorICovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKyNpbmNsdWRlICJIVE1MVGFi
bGVSb3dDb2xsZWN0aW9uLmgiCisKKyNpbmNsdWRlICJFbGVtZW50LmgiCisjaW5jbHVkZSAiSFRN
TE5hbWVzLmgiCisjaW5jbHVkZSAiSFRNTFRhYmxlRWxlbWVudC5oIgorI2luY2x1ZGUgIkhUTUxU
YWJsZVNlY3Rpb25FbGVtZW50LmgiCisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKwordXNpbmcgbmFt
ZXNwYWNlIEhUTUxOYW1lczsKKworSFRNTFRhYmxlUm93Q29sbGVjdGlvbjo6SFRNTFRhYmxlUm93
Q29sbGVjdGlvbihIVE1MVGFibGVFbGVtZW50KiBiYXNlKQorICAgIDogSFRNTENvbGxlY3Rpb24o
YmFzZSwgVGFibGVSb3dzKQoreworfQorCitOb2RlKiBIVE1MVGFibGVSb3dDb2xsZWN0aW9uOjp0
cmF2ZXJzZU5leHRJdGVtKE5vZGUqIGN1cnJlbnQpIGNvbnN0Cit7CisgICAgQVNTRVJUKGN1cnJl
bnQpOworCisgICAgSFRNTFRhYmxlRWxlbWVudCogdGFibGUgPSBzdGF0aWNfY2FzdDxIVE1MVGFi
bGVFbGVtZW50Kj4obV9iYXNlLmdldCgpKTsKKyAgICBIVE1MVGFibGVTZWN0aW9uRWxlbWVudCog
dEhlYWQgPSB0YWJsZS0+dEhlYWQoKTsKKyAgICBIVE1MVGFibGVTZWN0aW9uRWxlbWVudCogdEZv
b3QgPSB0YWJsZS0+dEZvb3QoKTsKKworICAgIC8vIEZpcnN0IHdlIGRlYWwgd2l0aCB0aGUgY29y
bmVyIGNhc2VzLi4uCisgICAgaWYgKGN1cnJlbnQgPT0gdGFibGUgJiYgKCF0SGVhZCB8fCAhdEhl
YWQtPnJvd3MoKS0+bGVuZ3RoKCkpKSB7CisgICAgICAgIC8vIElmIHRoaXMgaXMgdGhlIGZpcnN0
IGNhbGwsIGFuZCB0aGVyZSBpcyBubyB0SGVhZCAob3IgYSB0SGVhZCB3aXRoIG5vIHRyKSwKKyAg
ICAgICAgLy8gdGhlbiB3ZSByZXR1cm4gdGhlIGZpcnN0IHJvdyBvZiB0aGUgZmlyc3QgdEJvZHkv
dEZvb3QKKyAgICAgICAgY3VycmVudCA9IDA7CisgICAgICAgIGlmICh0YWJsZS0+Zmlyc3RUQm9k
eSgpKSB7CisgICAgICAgICAgICBjdXJyZW50ID0gdGFibGUtPmZpcnN0VEJvZHkoKS0+cm93cygp
LT5maXJzdEl0ZW0oKTsKKyAgICAgICAgfQorICAgICAgICBpZiAoIWN1cnJlbnQgJiYgdEZvb3Qp
IHsKKyAgICAgICAgICAgIGN1cnJlbnQgPSB0Rm9vdC0+cm93cygpLT5maXJzdEl0ZW0oKTsKKyAg
ICAgICAgfQorICAgICAgICByZXR1cm4gY3VycmVudDsKKyAgICB9IGVsc2UgaWYgKHRIZWFkICYm
IGN1cnJlbnQtPnBhcmVudE5vZGUoKSA9PSB0SGVhZCkgeworICAgICAgICAvLyBJZiB0aGUgY3Vy
cmVudCBub2RlIGlzIHRoZSBsYXN0IG9mIHRoZSB0SGVhZCwKKyAgICAgICAgLy8gdGhlbiB3ZSBy
ZXR1cm4gdGhlIGZpcnN0IHJvdyBvZiB0aGUgZmlyc3QgdEJvZHkvdEZvb3QKKyAgICAgICAgTm9k
ZSogbGFzdCA9IHRIZWFkLT5sYXN0Q2hpbGQoKTsKKyAgICAgICAgd2hpbGUgKGxhc3QgJiYgIWxh
c3QtPmlzRWxlbWVudE5vZGUoKSkgeworICAgICAgICAgICAgbGFzdCA9IGxhc3QtPnByZXZpb3Vz
U2libGluZygpOworICAgICAgICB9CisgICAgICAgIGlmIChjdXJyZW50ID09IGxhc3QpIHsKKyAg
ICAgICAgICAgIGN1cnJlbnQgPSAwOworICAgICAgICAgICAgaWYgKHRhYmxlLT5maXJzdFRCb2R5
KCkpIHsKKyAgICAgICAgICAgICAgICBjdXJyZW50ID0gdGFibGUtPmZpcnN0VEJvZHkoKS0+cm93
cygpLT5maXJzdEl0ZW0oKTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgICAgIGlmICghY3VycmVu
dCAmJiB0Rm9vdCkgeworICAgICAgICAgICAgICAgIGN1cnJlbnQgPSB0Rm9vdC0+cm93cygpLT5m
aXJzdEl0ZW0oKTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgICAgIHJldHVybiBjdXJyZW50Owor
ICAgICAgICB9CisgICAgfSBlbHNlIGlmICh0Rm9vdCkgeworICAgICAgICBpZiAoY3VycmVudC0+
cGFyZW50Tm9kZSgpID09IHRGb290KSB7CisgICAgICAgICAgICAvLyBJZiB0aGUgY3VycmVudCBu
b2RlIGlzIHRoZSBsYXN0IG9mIHRoZSB0Rm9vdCwKKyAgICAgICAgICAgIC8vIHRoZW4gd2UgcmV0
dXJuIDAgKHdlIGhhdmUgZmluaXNoZWQgdHJhdmVyc2luZyB0aGUgVFJzKQorICAgICAgICAgICAg
Tm9kZSogbGFzdCA9IHRGb290LT5sYXN0Q2hpbGQoKTsKKyAgICAgICAgICAgIHdoaWxlIChsYXN0
ICYmICFsYXN0LT5pc0VsZW1lbnROb2RlKCkpIHsKKyAgICAgICAgICAgICAgICBsYXN0ID0gbGFz
dC0+cHJldmlvdXNTaWJsaW5nKCk7CisgICAgICAgICAgICB9CisgICAgICAgICAgICBpZiAoY3Vy
cmVudCA9PSBsYXN0KSB7CisgICAgICAgICAgICAgICAgcmV0dXJuIDA7CisgICAgICAgICAgICB9
CisgICAgICAgIH0gZWxzZSB7CisgICAgICAgICAgICAvLyBJZiB0aGUgY3VycmVudCBub2RlIGlz
IHRoZSBsYXN0IG9mIHRoZSBsYXN0IHRCb2R5LAorICAgICAgICAgICAgLy8gdGhlbiB3ZSByZXR1
cm4gdGhlIGZpcnN0IHJvdyBvZiB0aGUgdEZvb3QKKyAgICAgICAgICAgIFJlZlB0cjxIVE1MQ29s
bGVjdGlvbj4gdEJvZGllcyA9IHRhYmxlLT50Qm9kaWVzKCk7CisgICAgICAgICAgICBpZiAodEJv
ZGllcy0+bGVuZ3RoKCkpIHsKKyAgICAgICAgICAgICAgICBOb2RlKiBsYXN0ID0gdEJvZGllcy0+
aXRlbSh0Qm9kaWVzLT5sZW5ndGgoKSAtIDEpLT5sYXN0Q2hpbGQoKTsKKyAgICAgICAgICAgICAg
ICB3aGlsZSAobGFzdCAmJiAhbGFzdC0+aXNFbGVtZW50Tm9kZSgpKSB7CisgICAgICAgICAgICAg
ICAgICAgIGxhc3QgPSBsYXN0LT5wcmV2aW91c1NpYmxpbmcoKTsKKyAgICAgICAgICAgICAgICB9
CisgICAgICAgICAgICAgICAgaWYgKGN1cnJlbnQgPT0gbGFzdCkgeworICAgICAgICAgICAgICAg
ICAgICByZXR1cm4gdEZvb3QtPnJvd3MoKS0+Zmlyc3RJdGVtKCk7CisgICAgICAgICAgICAgICAg
fQorICAgICAgICAgICAgfQorICAgICAgICB9CisgICAgfQorCisgICAgLy8gT3RoZXJ3aXNlLCB3
ZSBkbyBhcyB1c3VhbC4uLgorICAgIGN1cnJlbnQgPSBjdXJyZW50LT50cmF2ZXJzZU5leHROb2Rl
KG1fYmFzZS5nZXQoKSk7CisKKyAgICB3aGlsZSAoY3VycmVudCkgeworICAgICAgICBpZiAoY3Vy
cmVudC0+aXNFbGVtZW50Tm9kZSgpKSB7CisgICAgICAgICAgICBib29sIGZvdW5kID0gZmFsc2U7
CisgICAgICAgICAgICBib29sIGRlZXAgPSB0cnVlOworICAgICAgICAgICAgRWxlbWVudCogZSA9
IHN0YXRpY19jYXN0PEVsZW1lbnQqPihjdXJyZW50KTsKKyAgICAgICAgICAgIGlmIChlLT5oYXNU
YWdOYW1lKHRyVGFnKSkKKyAgICAgICAgICAgICAgICBmb3VuZCA9IHRydWU7CisgICAgICAgICAg
ICBlbHNlIGlmIChlLT5oYXNUYWdOYW1lKHRhYmxlVGFnKSkKKyAgICAgICAgICAgICAgICBkZWVw
ID0gZmFsc2U7CisKKyAgICAgICAgICAgIGlmIChmb3VuZCkKKyAgICAgICAgICAgICAgICByZXR1
cm4gY3VycmVudDsKKyAgICAgICAgICAgIGlmIChkZWVwKSB7CisgICAgICAgICAgICAgICAgY3Vy
cmVudCA9IGN1cnJlbnQtPnRyYXZlcnNlTmV4dE5vZGUobV9iYXNlLmdldCgpKTsKKyAgICAgICAg
ICAgICAgICBjb250aW51ZTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgfQorICAgICAgICBjdXJy
ZW50ID0gY3VycmVudC0+dHJhdmVyc2VOZXh0U2libGluZyhtX2Jhc2UuZ2V0KCkpOworICAgIH0K
KworICAgIHJldHVybiAwOworfQorCit9CkluZGV4OiBXZWJDb3JlL2h0bWwvSFRNTFRhYmxlUm93
Q29sbGVjdGlvbi5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvaHRtbC9IVE1MVGFibGVSb3dDb2xs
ZWN0aW9uLmgJKHJldmlzaW9uIDApCisrKyBXZWJDb3JlL2h0bWwvSFRNTFRhYmxlUm93Q29sbGVj
dGlvbi5oCShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDQ1IEBACisvKgorICogVGhpcyBmaWxlIGlz
IHBhcnQgb2YgdGhlIERPTSBpbXBsZW1lbnRhdGlvbiBmb3IgS0RFLgorICoKKyAqIENvcHlyaWdo
dCAoQykgMTk5OSBMYXJzIEtub2xsIChrbm9sbEBrZGUub3JnKQorICogICAgICAgICAgIChDKSAx
OTk5IEFudHRpIEtvaXZpc3RvIChrb2l2aXN0b0BrZGUub3JnKQorICogQ29weXJpZ2h0IChDKSAy
MDAzLCAyMDA0LCAyMDA1LCAyMDA2IEFwcGxlIENvbXB1dGVyLCBJbmMuCisgKgorICogVGhpcyBs
aWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgor
ICogbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQ
dWJsaWMKKyAqIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5k
YXRpb247IGVpdGhlcgorICogdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBv
cHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorICoKKyAqIFRoaXMgbGlicmFyeSBpcyBkaXN0cmli
dXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorICogYnV0IFdJVEhPVVQg
QU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKyAqIE1F
UkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0
aGUgR05VCisgKiBMaWJyYXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWls
cy4KKyAqCisgKiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgTGli
cmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCisgKiBhbG9uZyB3aXRoIHRoaXMgbGlicmFyeTsg
c2VlIHRoZSBmaWxlIENPUFlJTkcuTElCLiAgSWYgbm90LCB3cml0ZSB0bworICogdGhlIEZyZWUg
U29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlIC0gU3VpdGUgMzMwLAor
ICogQm9zdG9uLCBNQSAwMjExMS0xMzA3LCBVU0EuCisgKgorICovCisKKyNpZm5kZWYgSFRNTFRh
YmxlUm93Q29sbGVjdGlvbl9oCisjZGVmaW5lIEhUTUxUYWJsZVJvd0NvbGxlY3Rpb25faAorCisj
aW5jbHVkZSAiSFRNTENvbGxlY3Rpb24uaCIKKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitjbGFz
cyBIVE1MVGFibGVFbGVtZW50OworY2xhc3MgTm9kZTsKKworY2xhc3MgSFRNTFRhYmxlUm93Q29s
bGVjdGlvbiA6IHB1YmxpYyBIVE1MQ29sbGVjdGlvbgoreworcHVibGljOgorICAgIEhUTUxUYWJs
ZVJvd0NvbGxlY3Rpb24oSFRNTFRhYmxlRWxlbWVudCopOworCisgICAgdmlydHVhbCBOb2RlKiB0
cmF2ZXJzZU5leHRJdGVtKE5vZGUqKSBjb25zdDsKK307CisKK30KKworI2VuZGlmCkluZGV4OiBX
ZWJDb3JlL2h0bWwvSFRNTFRhYmxlU2VjdGlvbkVsZW1lbnQuY3BwCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdl
YkNvcmUvaHRtbC9IVE1MVGFibGVTZWN0aW9uRWxlbWVudC5jcHAJKHJldmlzaW9uIDI1NzAzKQor
KysgV2ViQ29yZS9odG1sL0hUTUxUYWJsZVNlY3Rpb25FbGVtZW50LmNwcAkod29ya2luZyBjb3B5
KQpAQCAtMTY4LDcgKzE2OCw3IEBAIHZvaWQgSFRNTFRhYmxlU2VjdGlvbkVsZW1lbnQ6OnNldFZB
bGlnbigKIAogUGFzc1JlZlB0cjxIVE1MQ29sbGVjdGlvbj4gSFRNTFRhYmxlU2VjdGlvbkVsZW1l
bnQ6OnJvd3MoKQogewotICAgIHJldHVybiBuZXcgSFRNTENvbGxlY3Rpb24odGhpcywgSFRNTENv
bGxlY3Rpb246OlRhYmxlUm93cyk7CisgICAgcmV0dXJuIG5ldyBIVE1MQ29sbGVjdGlvbih0aGlz
LCBIVE1MQ29sbGVjdGlvbjo6VFNlY3Rpb25Sb3dzKTsKIH0KIAogfQo=
</data>
<flag name="review"
          id="6891"
          type_id="1"
          status="-"
          setter="mjs"
    />
          </attachment>
      

    </bug>

</bugzilla>