<?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>15989</bug_id>
          
          <creation_ts>2007-11-14 12:41:07 -0800</creation_ts>
          <short_desc>XPath queries with predicates incorrectly retains the current node across unions</short_desc>
          <delta_ts>2007-11-15 22:04:59 -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>XML</component>
          <version>523.x (Safari 3)</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></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Khoo Yit Phang">khooyp</reporter>
          <assigned_to name="Alexey Proskuryakov">ap</assigned_to>
          <cc>ap</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>61229</commentid>
    <comment_count>0</comment_count>
    <who name="Khoo Yit Phang">khooyp</who>
    <bug_when>2007-11-14 12:41:07 -0800</bug_when>
    <thetext>In the nightlies as well as Safari 3.0.3 on Tiger, XPath queries which contain unions of queries with predicates (e.g. &quot;ancestor::xhtml:*[local-name()=&apos;span&apos;]|.&quot;) doesn&apos;t quite work right. It seems that the context-node gets overwritten by each union operand predicate, so every subsequent operand is applied to the wrong context node.

E.g.:

&lt;div&gt;
    &lt;span id=&quot;A&quot;&gt;
        &lt;span id=&quot;B&quot;/&gt;
    &lt;/span&gt;
&lt;/div&gt;

The query &quot;ancestor::xhtml:*[local-name()=&apos;span&apos;]|.&quot; from span#B will not return [span#A, span#B] since the context-node for both operands are span#B. It will instead return [span#A, div], as if the context-node for the second operand had been the top-most ancestor.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>61230</commentid>
    <comment_count>1</comment_count>
      <attachid>17276</attachid>
    <who name="Khoo Yit Phang">khooyp</who>
    <bug_when>2007-11-14 12:42:19 -0800</bug_when>
    <thetext>Created attachment 17276
Test case in XHTML and inline Javascript.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>61321</commentid>
    <comment_count>2</comment_count>
      <attachid>17300</attachid>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2007-11-15 12:28:09 -0800</bug_when>
    <thetext>Created attachment 17300
proposed fix

This makes me think that we might need to import another large XPath test suite. Unfortunately, the only ones I know are XSLT-based, and would require a lot of work to adapt.

I&apos;ve tried to think of other places where we need to restore the context, but I don&apos;t see any.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>61331</commentid>
    <comment_count>3</comment_count>
      <attachid>17300</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2007-11-15 13:29:41 -0800</bug_when>
    <thetext>Comment on attachment 17300
proposed fix

r=me

\ No newline at end of file

Can we fix that?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>61377</commentid>
    <comment_count>4</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2007-11-15 22:04:59 -0800</bug_when>
    <thetext>Committed revision 27837.
</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>17276</attachid>
            <date>2007-11-14 12:42:19 -0800</date>
            <delta_ts>2007-11-14 12:42:19 -0800</delta_ts>
            <desc>Test case in XHTML and inline Javascript.</desc>
            <filename>xpath-predicates-and-unions.xhtml</filename>
            <type>application/xhtml+xml</type>
            <size>2595</size>
            <attacher name="Khoo Yit Phang">khooyp</attacher>
            
              <data encoding="base64">PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KPCFET0NUWVBFIGh0bWw+Cjxo
dG1sIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hodG1sIiBsYW5nPSJlbiIgeG1sOmxh
bmc9ImVuIj4KPGhlYWQ+Cjx0aXRsZT5YUGF0aCBxdWVyaWVzIHdpdGggcHJlZGljYXRlcyBpbmNv
cnJlY3RseSByZXRhaW5zIHRoZSBjdXJyZW50IG5vZGUgYWNyb3NzIHVuaW9uczwvdGl0bGU+Cjxz
dHlsZT5kaXYjbXNnIHsgd2hpdGUtc3BhY2U6IHByZTsgfTwvc3R5bGU+CjxzY3JpcHQ+CndpbmRv
dy5hZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgZnVuY3Rpb24oKSB7CiAgICB2YXIgbXNnID0gZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoIm1zZyIpOwogICAgZnVuY3Rpb24gcHJpbnQocykgeyBtc2cu
dGV4dENvbnRlbnQgKz0gczsgfQogICAgZnVuY3Rpb24gaWQoZWwpIHsgcmV0dXJuIGVsLnRhZ05h
bWUgKyAoZWwuaWQgPyAiIyIgKyBlbC5pZCA6ICIiKTsgfQogICAgZnVuY3Rpb24gcXVlcnkoZWws
IHhwYXRoLCBleHBlY3RlZCkgewogICAgICAgIHByaW50KCJRdWVyeSBcIiIgKyB4cGF0aCArICJc
IiBmcm9tICIgKyBpZChlbCkgKyAiXG4iKTsKICAgICAgICB2YXIgcmVzID0gZG9jdW1lbnQuZXZh
bHVhdGUoeHBhdGgsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVsLAogICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmdW5jdGlvbigpIHsgcmV0dXJuICJodHRw
Oi8vd3d3LnczLm9yZy8xOTk5L3hodG1sIjsgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgWFBhdGhSZXN1bHQuT1JERVJFRF9OT0RFX1NOQVBTSE9UX1RZUEUsCiAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIG51bGwpOwoKICAgICAgICB2YXIgcmVzc3RyID0g
IiI7CiAgICAgICAgZm9yICh2YXIgaSA9IDA7IGkgJmx0OyByZXMuc25hcHNob3RMZW5ndGg7IGkr
KykgewogICAgICAgICAgICB2YXIgZWwgPSByZXMuc25hcHNob3RJdGVtKGkpOwogICAgICAgICAg
ICByZXNzdHIgKz0gIiAiICsgaWQoZWwpOwogICAgICAgIH0KICAgICAgICBwcmludCgiUmVzdWx0
OiIgKyByZXNzdHIgKyAiXG4iKTsKICAgICAgICBwcmludCgiRXhwZWN0ZWQ6ICIgKyBleHBlY3Rl
ZCArICJcbiIpOwogICAgICAgIGlmIChyZXNzdHIgIT0gKCIgIiArIGV4cGVjdGVkKSkgewogICAg
ICAgICAgICBwcmludCgiRkFJTFxuIik7CiAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgcHJp
bnQoIlNVQ0NFU1NcbiIpOwogICAgICAgIH0KICAgICAgICBwcmludCgiXG4iKTsKICAgIH0KICAg
IAogICAgcHJpbnQoIlF1ZXJ5aW5nIGluIHRoZSBmb2xsb3dpbmcuLi5cblxuIik7CiAgICBwcmlu
dChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgidGVzdCIpLm91dGVySFRNTCArICJcblxuIik7CiAg
ICAKICAgIHF1ZXJ5KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJCIiksICJhbmNlc3Rvcjo6eGh0
bWw6c3BhbiIsICJzcGFuI0EiKTsKICAgIHF1ZXJ5KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJC
IiksICIufGFuY2VzdG9yOjp4aHRtbDpzcGFuIiwgInNwYW4jQSBzcGFuI0IiKTsKICAgIHF1ZXJ5
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJCIiksICJhbmNlc3Rvcjo6eGh0bWw6c3BhbnwuIiwg
InNwYW4jQSBzcGFuI0IiKTsKCiAgICBxdWVyeShkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiQiIp
LCAiYW5jZXN0b3I6OnhodG1sOipbbG9jYWwtbmFtZSgpPSdzcGFuJ10iLCAic3BhbiNBIik7CiAg
ICBxdWVyeShkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiQiIpLCAiLnxhbmNlc3Rvcjo6eGh0bWw6
Kltsb2NhbC1uYW1lKCk9J3NwYW4nXSIsICJzcGFuI0Egc3BhbiNCIik7CiAgICBxdWVyeShkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiQiIpLCAiYW5jZXN0b3I6OnhodG1sOipbbG9jYWwtbmFtZSgp
PSdzcGFuJ118LiIsICJzcGFuI0Egc3BhbiNCIik7CiAgICBxdWVyeShkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiQiIpLCAiKGFuY2VzdG9yOjp4aHRtbDoqW2xvY2FsLW5hbWUoKT0nc3BhbiddKXwu
IiwgInNwYW4jQSBzcGFuI0IiKTsKICAgIAogICAgcXVlcnkoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoIkIiKSwgImZvbGxvd2luZzo6eGh0bWw6Kltsb2NhbC1uYW1lKCk9J3NwYW4nXSIsICJzcGFu
I0Mgc3BhbiNEIik7CiAgICBxdWVyeShkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiQiIpLCAiLnxm
b2xsb3dpbmc6OnhodG1sOipbbG9jYWwtbmFtZSgpPSdzcGFuJ10iLCAic3BhbiNCIHNwYW4jQyBz
cGFuI0QiKTsKICAgIHF1ZXJ5KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJCIiksICJmb2xsb3dp
bmc6OnhodG1sOipbbG9jYWwtbmFtZSgpPSdzcGFuJ118LiIsICJzcGFuI0Igc3BhbiNDIHNwYW4j
RCIpOwp9LCBmYWxzZSk7Cjwvc2NyaXB0Pgo8L2hlYWQ+Cjxib2R5Pgo8ZGl2IGlkPSJ0ZXN0Ij4K
ICAgIDxzcGFuIGlkPSJBIj4KICAgICAgICA8c3BhbiBpZD0iQiIvPgogICAgPC9zcGFuPgogICAg
PHNwYW4gaWQ9IkMiPgogICAgICAgIDxzcGFuIGlkPSJEIi8+CiAgICA8L3NwYW4+CjwvZGl2Pgo8
ZGl2IGlkPSJtc2ciLz4KPC9ib2R5Pgo8L2h0bWw+
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>17300</attachid>
            <date>2007-11-15 12:28:09 -0800</date>
            <delta_ts>2007-11-15 13:29:41 -0800</delta_ts>
            <desc>proposed fix</desc>
            <filename>15989r1_patch.txt</filename>
            <type>text/plain</type>
            <size>8453</size>
            <attacher name="Alexey Proskuryakov">ap</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiAyNzgxNCkKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMTcgQEAKKzIwMDctMTEtMTUgIEFsZXhleSBQcm9za3VyeWFrb3YgIDxhcEB3ZWJr
aXQub3JnPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAg
IGh0dHA6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE1OTg5CisgICAgICAgIFhQ
YXRoIHF1ZXJpZXMgd2l0aCBwcmVkaWNhdGVzIGluY29ycmVjdGx5IHJldGFpbnMgdGhlIGN1cnJl
bnQgbm9kZSBhY3Jvc3MgdW5pb25zCisKKyAgICAgICAgVGVzdDogZmFzdC94cGF0aC91bmlvbi1j
b250ZXh0LW5vZGUueGh0bWwKKworICAgICAgICAqIHhtbC9YUGF0aFBhdGguY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6WFBhdGg6OkxvY2F0aW9uUGF0aDo6ZXZhbHVhdGUpOiBSZXN0b3JlIGNvbnRl
eHQgYWZ0ZXIgZXZhbHVhdGlvbi4KKyAgICAgICAgKiB4bWwvWFBhdGhTdGVwLmNwcDoKKyAgICAg
ICAgKFdlYkNvcmU6OlhQYXRoOjpTdGVwOjpldmFsdWF0ZSk6IERvIG5vdCBiYWNrdXAgY29udGV4
dCwgYXMgd2UgY2FuIGVhc2lseSByZS1jcmVhdGUgaXQuCisKIDIwMDctMTEtMTUgIEFuZGVycyBD
YXJsc3NvbiAgPGFuZGVyc2NhQGFwcGxlLmNvbT4KIAogICAgICAgICBSZXZpZXdlZCBieSBCcmFk
eS4KSW5kZXg6IFdlYkNvcmUveG1sL1hQYXRoUGF0aC5jcHAKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29y
ZS94bWwvWFBhdGhQYXRoLmNwcAkocmV2aXNpb24gMjc4MDcpCisrKyBXZWJDb3JlL3htbC9YUGF0
aFBhdGguY3BwCSh3b3JraW5nIGNvcHkpCkBAIC05MiwxMCArOTIsMTIgQEAgTG9jYXRpb25QYXRo
Ojp+TG9jYXRpb25QYXRoKCkKIAogVmFsdWUgTG9jYXRpb25QYXRoOjpldmFsdWF0ZSgpIGNvbnN0
CiB7CisgICAgRXZhbHVhdGlvbkNvbnRleHQmIGV2YWx1YXRpb25Db250ZXh0ID0gRXhwcmVzc2lv
bjo6ZXZhbHVhdGlvbkNvbnRleHQoKTsKKyAgICBFdmFsdWF0aW9uQ29udGV4dCBiYWNrdXBDb250
ZXh0ID0gZXZhbHVhdGlvbkNvbnRleHQ7CiAgICAgLyogRm9yIGFic29sdXRlIGxvY2F0aW9uIHBh
dGhzLCB0aGUgY29udGV4dCBub2RlIGlzIGlnbm9yZWQgLSB0aGUKICAgICAgKiBkb2N1bWVudCdz
IHJvb3Qgbm9kZSBpcyB1c2VkIGluc3RlYWQuCiAgICAgICovCi0gICAgTm9kZSogY29udGV4dCA9
IEV4cHJlc3Npb246OmV2YWx1YXRpb25Db250ZXh0KCkubm9kZS5nZXQoKTsKKyAgICBOb2RlKiBj
b250ZXh0ID0gZXZhbHVhdGlvbkNvbnRleHQubm9kZS5nZXQoKTsKICAgICBpZiAobV9hYnNvbHV0
ZSAmJiBjb250ZXh0LT5ub2RlVHlwZSgpICE9IE5vZGU6OkRPQ1VNRU5UX05PREUpIAogICAgICAg
ICBjb250ZXh0ID0gY29udGV4dC0+b3duZXJEb2N1bWVudCgpOwogCkBAIC0xMDMsNiArMTA1LDcg
QEAgVmFsdWUgTG9jYXRpb25QYXRoOjpldmFsdWF0ZSgpIGNvbnN0CiAgICAgbm9kZXMuYXBwZW5k
KGNvbnRleHQpOwogICAgIGV2YWx1YXRlKG5vZGVzKTsKICAgICAKKyAgICBldmFsdWF0aW9uQ29u
dGV4dCA9IGJhY2t1cENvbnRleHQ7CiAgICAgcmV0dXJuIFZhbHVlKG5vZGVzLCBWYWx1ZTo6YWRv
cHQpOwogfQogCkluZGV4OiBXZWJDb3JlL3htbC9YUGF0aFN0ZXAuY3BwCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFdlYkNvcmUveG1sL1hQYXRoU3RlcC5jcHAJKHJldmlzaW9uIDI3ODA3KQorKysgV2ViQ29yZS94
bWwvWFBhdGhTdGVwLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNjUsMTggKzY1LDE0IEBAIHZvaWQg
U3RlcDo6ZXZhbHVhdGUoTm9kZSogY29udGV4dCwgTm9kZVMKICAgICAgICAgaWYgKCFub2Rlcy5p
c1NvcnRlZCgpKQogICAgICAgICAgICAgbmV3Tm9kZXMubWFya1NvcnRlZChmYWxzZSk7CiAKLSAg
ICAgICAgZXZhbHVhdGlvbkNvbnRleHQuc2l6ZSA9IG5vZGVzLnNpemUoKTsKLSAgICAgICAgZXZh
bHVhdGlvbkNvbnRleHQucG9zaXRpb24gPSAxOwogICAgICAgICBmb3IgKHVuc2lnbmVkIGogPSAw
OyBqIDwgbm9kZXMuc2l6ZSgpOyBqKyspIHsKICAgICAgICAgICAgIE5vZGUqIG5vZGUgPSBub2Rl
c1tqXTsKIAogICAgICAgICAgICAgRXhwcmVzc2lvbjo6ZXZhbHVhdGlvbkNvbnRleHQoKS5ub2Rl
ID0gbm9kZTsKLSAgICAgICAgICAgIEV2YWx1YXRpb25Db250ZXh0IGJhY2t1cEN0eCA9IGV2YWx1
YXRpb25Db250ZXh0OworICAgICAgICAgICAgZXZhbHVhdGlvbkNvbnRleHQuc2l6ZSA9IG5vZGVz
LnNpemUoKTsKKyAgICAgICAgICAgIGV2YWx1YXRpb25Db250ZXh0LnBvc2l0aW9uID0gaiArIDE7
CiAgICAgICAgICAgICBpZiAocHJlZGljYXRlLT5ldmFsdWF0ZSgpKQogICAgICAgICAgICAgICAg
IG5ld05vZGVzLmFwcGVuZChub2RlKTsKLQotICAgICAgICAgICAgZXZhbHVhdGlvbkNvbnRleHQg
PSBiYWNrdXBDdHg7Ci0gICAgICAgICAgICArK2V2YWx1YXRpb25Db250ZXh0LnBvc2l0aW9uOwog
ICAgICAgICB9CiAKICAgICAgICAgbm9kZXMuc3dhcChuZXdOb2Rlcyk7CkluZGV4OiBMYXlvdXRU
ZXN0cy9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCShyZXZp
c2lvbiAyNzgxNCkKKysrIExheW91dFRlc3RzL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAt
MSwzICsxLDEzIEBACisyMDA3LTExLTE1ICBLaG9vIFlpdCBQaGFuZyAgPGtob295cEBjcy51bWQu
ZWR1PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIGh0
dHA6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE1OTg5CisgICAgICAgIFhQYXRo
IHF1ZXJpZXMgd2l0aCBwcmVkaWNhdGVzIGluY29ycmVjdGx5IHJldGFpbnMgdGhlIGN1cnJlbnQg
bm9kZSBhY3Jvc3MgdW5pb25zCisKKyAgICAgICAgKiBmYXN0L3hwYXRoL3VuaW9uLWNvbnRleHQt
bm9kZS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGZhc3QveHBhdGgvdW5pb24tY29u
dGV4dC1ub2RlLnhodG1sOiBBZGRlZC4KKwogMjAwNy0xMS0xNCAgQWxleGV5IFByb3NrdXJ5YWtv
diAgPGFwQHdlYmtpdC5vcmc+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgSnVzdGluIEdhcmNpYS4K
SW5kZXg6IExheW91dFRlc3RzL2Zhc3QveHBhdGgvdW5pb24tY29udGV4dC1ub2RlLWV4cGVjdGVk
LnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9mYXN0L3hwYXRoL3VuaW9uLWNvbnRleHQt
bm9kZS1leHBlY3RlZC50eHQJKHJldmlzaW9uIDApCisrKyBMYXlvdXRUZXN0cy9mYXN0L3hwYXRo
L3VuaW9uLWNvbnRleHQtbm9kZS1leHBlY3RlZC50eHQJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEs
NjIgQEAKKyBRdWVyeWluZyBpbiB0aGUgZm9sbG93aW5nLi4uCisKKzxkaXYgeG1sbnM9Imh0dHA6
Ly93d3cudzMub3JnLzE5OTkveGh0bWwiIGlkPSJ0ZXN0Ij4KKyAgICA8c3BhbiBpZD0iQSI+Cisg
ICAgICAgIDxzcGFuIGlkPSJCIj48L3NwYW4+CisgICAgPC9zcGFuPgorICAgIDxzcGFuIGlkPSJD
Ij4KKyAgICAgICAgPHNwYW4gaWQ9IkQiPjwvc3Bhbj4KKyAgICA8L3NwYW4+Cis8L2Rpdj4KKwor
UXVlcnkgImFuY2VzdG9yOjp4aHRtbDpzcGFuIiBmcm9tIHNwYW4jQgorUmVzdWx0OiBzcGFuI0EK
K0V4cGVjdGVkOiBzcGFuI0EKK1NVQ0NFU1MKKworUXVlcnkgIi58YW5jZXN0b3I6OnhodG1sOnNw
YW4iIGZyb20gc3BhbiNCCitSZXN1bHQ6IHNwYW4jQSBzcGFuI0IKK0V4cGVjdGVkOiBzcGFuI0Eg
c3BhbiNCCitTVUNDRVNTCisKK1F1ZXJ5ICJhbmNlc3Rvcjo6eGh0bWw6c3BhbnwuIiBmcm9tIHNw
YW4jQgorUmVzdWx0OiBzcGFuI0Egc3BhbiNCCitFeHBlY3RlZDogc3BhbiNBIHNwYW4jQgorU1VD
Q0VTUworCitRdWVyeSAiYW5jZXN0b3I6OnhodG1sOipbbG9jYWwtbmFtZSgpPSdzcGFuJ10iIGZy
b20gc3BhbiNCCitSZXN1bHQ6IHNwYW4jQQorRXhwZWN0ZWQ6IHNwYW4jQQorU1VDQ0VTUworCitR
dWVyeSAiLnxhbmNlc3Rvcjo6eGh0bWw6Kltsb2NhbC1uYW1lKCk9J3NwYW4nXSIgZnJvbSBzcGFu
I0IKK1Jlc3VsdDogc3BhbiNBIHNwYW4jQgorRXhwZWN0ZWQ6IHNwYW4jQSBzcGFuI0IKK1NVQ0NF
U1MKKworUXVlcnkgImFuY2VzdG9yOjp4aHRtbDoqW2xvY2FsLW5hbWUoKT0nc3BhbiddfC4iIGZy
b20gc3BhbiNCCitSZXN1bHQ6IHNwYW4jQSBzcGFuI0IKK0V4cGVjdGVkOiBzcGFuI0Egc3BhbiNC
CitTVUNDRVNTCisKK1F1ZXJ5ICIoYW5jZXN0b3I6OnhodG1sOipbbG9jYWwtbmFtZSgpPSdzcGFu
J10pfC4iIGZyb20gc3BhbiNCCitSZXN1bHQ6IHNwYW4jQSBzcGFuI0IKK0V4cGVjdGVkOiBzcGFu
I0Egc3BhbiNCCitTVUNDRVNTCisKK1F1ZXJ5ICJmb2xsb3dpbmc6OnhodG1sOipbbG9jYWwtbmFt
ZSgpPSdzcGFuJ10iIGZyb20gc3BhbiNCCitSZXN1bHQ6IHNwYW4jQyBzcGFuI0QKK0V4cGVjdGVk
OiBzcGFuI0Mgc3BhbiNECitTVUNDRVNTCisKK1F1ZXJ5ICIufGZvbGxvd2luZzo6eGh0bWw6Klts
b2NhbC1uYW1lKCk9J3NwYW4nXSIgZnJvbSBzcGFuI0IKK1Jlc3VsdDogc3BhbiNCIHNwYW4jQyBz
cGFuI0QKK0V4cGVjdGVkOiBzcGFuI0Igc3BhbiNDIHNwYW4jRAorU1VDQ0VTUworCitRdWVyeSAi
Zm9sbG93aW5nOjp4aHRtbDoqW2xvY2FsLW5hbWUoKT0nc3BhbiddfC4iIGZyb20gc3BhbiNCCitS
ZXN1bHQ6IHNwYW4jQiBzcGFuI0Mgc3BhbiNECitFeHBlY3RlZDogc3BhbiNCIHNwYW4jQyBzcGFu
I0QKK1NVQ0NFU1MKKworCgpQcm9wZXJ0eSBjaGFuZ2VzIG9uOiBMYXlvdXRUZXN0cy9mYXN0L3hw
YXRoL3VuaW9uLWNvbnRleHQtbm9kZS1leHBlY3RlZC50eHQKX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpOYW1lOiBzdm46
bWltZS10eXBlCiAgICsgdGV4dC9wbGFpbgpOYW1lOiBzdm46ZW9sLXN0eWxlCiAgICsgbmF0aXZl
CgpJbmRleDogTGF5b3V0VGVzdHMvZmFzdC94cGF0aC91bmlvbi1jb250ZXh0LW5vZGUueGh0bWwK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZmFzdC94cGF0aC91bmlvbi1jb250ZXh0LW5vZGUu
eGh0bWwJKHJldmlzaW9uIDApCisrKyBMYXlvdXRUZXN0cy9mYXN0L3hwYXRoL3VuaW9uLWNvbnRl
eHQtbm9kZS54aHRtbAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSw2NyBAQAorPD94bWwgdmVyc2lv
bj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KKzwhRE9DVFlQRSBodG1sPgorPGh0bWwgeG1sbnM9
Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGh0bWwiIGxhbmc9ImVuIiB4bWw6bGFuZz0iZW4iPgor
PGhlYWQ+Cis8dGl0bGU+WFBhdGggcXVlcmllcyB3aXRoIHByZWRpY2F0ZXMgaW5jb3JyZWN0bHkg
cmV0YWlucyB0aGUgY3VycmVudCBub2RlIGFjcm9zcyB1bmlvbnM8L3RpdGxlPgorPHN0eWxlPmRp
diNtc2cgeyB3aGl0ZS1zcGFjZTogcHJlOyB9PC9zdHlsZT4KKzxzY3JpcHQ+CitpZiAod2luZG93
LmxheW91dFRlc3RDb250cm9sbGVyKQorICAgIGxheW91dFRlc3RDb250cm9sbGVyLmR1bXBBc1Rl
eHQoKTsKKword2luZG93LmFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBmdW5jdGlvbigpIHsKKyAg
ICB2YXIgbXNnID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoIm1zZyIpOworICAgIGZ1bmN0aW9u
IHByaW50KHMpIHsgbXNnLnRleHRDb250ZW50ICs9IHM7IH0KKyAgICBmdW5jdGlvbiBpZChlbCkg
eyByZXR1cm4gZWwudGFnTmFtZSArIChlbC5pZCA/ICIjIiArIGVsLmlkIDogIiIpOyB9CisgICAg
ZnVuY3Rpb24gcXVlcnkoZWwsIHhwYXRoLCBleHBlY3RlZCkgeworICAgICAgICBwcmludCgiUXVl
cnkgXCIiICsgeHBhdGggKyAiXCIgZnJvbSAiICsgaWQoZWwpICsgIlxuIik7CisgICAgICAgIHZh
ciByZXMgPSBkb2N1bWVudC5ldmFsdWF0ZSh4cGF0aCwKKyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGVsLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZnVu
Y3Rpb24oKSB7IHJldHVybiAiaHR0cDovL3d3dy53My5vcmcvMTk5OS94aHRtbCI7IH0sCisgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBYUGF0aFJlc3VsdC5PUkRFUkVEX05PREVf
U05BUFNIT1RfVFlQRSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG51bGwp
OworCisgICAgICAgIHZhciByZXNzdHIgPSAiIjsKKyAgICAgICAgZm9yICh2YXIgaSA9IDA7IGkg
Jmx0OyByZXMuc25hcHNob3RMZW5ndGg7IGkrKykgeworICAgICAgICAgICAgdmFyIGVsID0gcmVz
LnNuYXBzaG90SXRlbShpKTsKKyAgICAgICAgICAgIHJlc3N0ciArPSAiICIgKyBpZChlbCk7Cisg
ICAgICAgIH0KKyAgICAgICAgcHJpbnQoIlJlc3VsdDoiICsgcmVzc3RyICsgIlxuIik7CisgICAg
ICAgIHByaW50KCJFeHBlY3RlZDogIiArIGV4cGVjdGVkICsgIlxuIik7CisgICAgICAgIGlmIChy
ZXNzdHIgIT0gKCIgIiArIGV4cGVjdGVkKSkgeworICAgICAgICAgICAgcHJpbnQoIkZBSUxcbiIp
OworICAgICAgICB9IGVsc2UgeworICAgICAgICAgICAgcHJpbnQoIlNVQ0NFU1NcbiIpOworICAg
ICAgICB9CisgICAgICAgIHByaW50KCJcbiIpOworICAgIH0KKyAgICAKKyAgICBwcmludCgiUXVl
cnlpbmcgaW4gdGhlIGZvbGxvd2luZy4uLlxuXG4iKTsKKyAgICBwcmludChkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgidGVzdCIpLm91dGVySFRNTCArICJcblxuIik7CisgICAgCisgICAgcXVlcnko
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoIkIiKSwgImFuY2VzdG9yOjp4aHRtbDpzcGFuIiwgInNw
YW4jQSIpOworICAgIHF1ZXJ5KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJCIiksICIufGFuY2Vz
dG9yOjp4aHRtbDpzcGFuIiwgInNwYW4jQSBzcGFuI0IiKTsKKyAgICBxdWVyeShkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiQiIpLCAiYW5jZXN0b3I6OnhodG1sOnNwYW58LiIsICJzcGFuI0Egc3Bh
biNCIik7CisKKyAgICBxdWVyeShkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiQiIpLCAiYW5jZXN0
b3I6OnhodG1sOipbbG9jYWwtbmFtZSgpPSdzcGFuJ10iLCAic3BhbiNBIik7CisgICAgcXVlcnko
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoIkIiKSwgIi58YW5jZXN0b3I6OnhodG1sOipbbG9jYWwt
bmFtZSgpPSdzcGFuJ10iLCAic3BhbiNBIHNwYW4jQiIpOworICAgIHF1ZXJ5KGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJCIiksICJhbmNlc3Rvcjo6eGh0bWw6Kltsb2NhbC1uYW1lKCk9J3NwYW4n
XXwuIiwgInNwYW4jQSBzcGFuI0IiKTsKKyAgICBxdWVyeShkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiQiIpLCAiKGFuY2VzdG9yOjp4aHRtbDoqW2xvY2FsLW5hbWUoKT0nc3BhbiddKXwuIiwgInNw
YW4jQSBzcGFuI0IiKTsKKyAgICAKKyAgICBxdWVyeShkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
QiIpLCAiZm9sbG93aW5nOjp4aHRtbDoqW2xvY2FsLW5hbWUoKT0nc3BhbiddIiwgInNwYW4jQyBz
cGFuI0QiKTsKKyAgICBxdWVyeShkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiQiIpLCAiLnxmb2xs
b3dpbmc6OnhodG1sOipbbG9jYWwtbmFtZSgpPSdzcGFuJ10iLCAic3BhbiNCIHNwYW4jQyBzcGFu
I0QiKTsKKyAgICBxdWVyeShkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiQiIpLCAiZm9sbG93aW5n
Ojp4aHRtbDoqW2xvY2FsLW5hbWUoKT0nc3BhbiddfC4iLCAic3BhbiNCIHNwYW4jQyBzcGFuI0Qi
KTsKK30sIGZhbHNlKTsKKzwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2IGlkPSJ0ZXN0
Ij4KKyAgICA8c3BhbiBpZD0iQSI+CisgICAgICAgIDxzcGFuIGlkPSJCIi8+CisgICAgPC9zcGFu
PgorICAgIDxzcGFuIGlkPSJDIj4KKyAgICAgICAgPHNwYW4gaWQ9IkQiLz4KKyAgICA8L3NwYW4+
Cis8L2Rpdj4KKzxkaXYgaWQ9Im1zZyIvPgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUg
YXQgZW5kIG9mIGZpbGUKClByb3BlcnR5IGNoYW5nZXMgb246IExheW91dFRlc3RzL2Zhc3QveHBh
dGgvdW5pb24tY29udGV4dC1ub2RlLnhodG1sCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KTmFtZTogc3ZuOm1pbWUtdHlw
ZQogICArIHRleHQveG1sCgo=
</data>
<flag name="review"
          id="7378"
          type_id="1"
          status="+"
          setter="darin"
    />
          </attachment>
      

    </bug>

</bugzilla>