<?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>86217</bug_id>
          
          <creation_ts>2012-05-11 07:35:47 -0700</creation_ts>
          <short_desc>Add helper function for node()-&gt;rootEditableElement() == node()</short_desc>
          <delta_ts>2012-05-11 15:37:57 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>HTML Editing</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>85385</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Shezan Baig">shezbaig.wk</reporter>
          <assigned_to name="Shezan Baig">shezbaig.wk</assigned_to>
          <cc>cshu</cc>
    
    <cc>darin</cc>
    
    <cc>enrica</cc>
    
    <cc>eric</cc>
    
    <cc>rniwa</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>621639</commentid>
    <comment_count>0</comment_count>
    <who name="Shezan Baig">shezbaig.wk</who>
    <bug_when>2012-05-11 07:35:47 -0700</bug_when>
    <thetext>Per bug 85385, comment 5, this statement can be optimized as:

node()-&gt;rendererIsEditable() &amp;&amp; (!node()-&gt;parentNode() || !node()-&gt;parentNode()-&gt;rendererIsEditable() || node()-&gt;hasTagName(bodyTag))</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>621690</commentid>
    <comment_count>1</comment_count>
      <attachid>141429</attachid>
    <who name="Shezan Baig">shezbaig.wk</who>
    <bug_when>2012-05-11 09:22:26 -0700</bug_when>
    <thetext>Created attachment 141429
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>621701</commentid>
    <comment_count>2</comment_count>
    <who name="Shezan Baig">shezbaig.wk</who>
    <bug_when>2012-05-11 09:34:12 -0700</bug_when>
    <thetext>I also see a bunch of places where rootEditableElement() is used to determine whether the element is editable, for example editing/FrameSelection.cpp@1788:

    if (!rootEditableElement())
        return;

Couldn&apos;t these statements also be replaced with a simple rendererIsEditable()?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>621740</commentid>
    <comment_count>3</comment_count>
      <attachid>141429</attachid>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2012-05-11 10:03:56 -0700</bug_when>
    <thetext>Comment on attachment 141429
Patch

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

The change looks reasonable.

&gt; Source/WebCore/dom/Node.cpp:1572
&gt; +    return rendererIsEditable() &amp;&amp; (!parentNode() || !parentNode()-&gt;rendererIsEditable() || hasTagName(bodyTag));

Actually, you can remove hasTagName(bodyTag) here. I wasn&apos;t thinking straight about this.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>621757</commentid>
    <comment_count>4</comment_count>
    <who name="Shezan Baig">shezbaig.wk</who>
    <bug_when>2012-05-11 10:17:42 -0700</bug_when>
    <thetext>Hmm, so presumably the body tag check can also be removed from Node::rootEditableElement?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>621783</commentid>
    <comment_count>5</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2012-05-11 10:36:52 -0700</bug_when>
    <thetext>(In reply to comment #4)
&gt; Hmm, so presumably the body tag check can also be removed from Node::rootEditableElement?

Oh oops, I didn&apos;t see that. Okay, I was right. We do need this bodyTag check.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>621834</commentid>
    <comment_count>6</comment_count>
      <attachid>141459</attachid>
    <who name="Shezan Baig">shezbaig.wk</who>
    <bug_when>2012-05-11 11:33:00 -0700</bug_when>
    <thetext>Created attachment 141459
Patch (added isElementNode to the condition)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>621836</commentid>
    <comment_count>7</comment_count>
      <attachid>141459</attachid>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2012-05-11 11:38:52 -0700</bug_when>
    <thetext>Comment on attachment 141459
Patch (added isElementNode to the condition)

Thank you for the refactoring! I&apos;ve always wanted to do this :)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>621845</commentid>
    <comment_count>8</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2012-05-11 11:50:09 -0700</bug_when>
    <thetext>(In reply to comment #2)
&gt; I also see a bunch of places where rootEditableElement() is used to determine whether the element is editable, for example editing/FrameSelection.cpp@1788:
&gt; 
&gt;     if (!rootEditableElement())
&gt;         return;
&gt; 
&gt; Couldn&apos;t these statements also be replaced with a simple rendererIsEditable()?

There is a possibility that we&apos;re also checking that there is an element somewhere up in the ancestor chain (as supposed to a document) but I bet most of those places can just be calling rendererIsEditable.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>621915</commentid>
    <comment_count>9</comment_count>
      <attachid>141459</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-05-11 13:08:27 -0700</bug_when>
    <thetext>Comment on attachment 141459
Patch (added isElementNode to the condition)

Clearing flags on attachment: 141459

Committed r116798: &lt;http://trac.webkit.org/changeset/116798&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>621916</commentid>
    <comment_count>10</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-05-11 13:08:36 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>622043</commentid>
    <comment_count>11</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2012-05-11 15:37:57 -0700</bug_when>
    <thetext>Fixed a regression in http://trac.webkit.org/changeset/116814.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>141429</attachid>
            <date>2012-05-11 09:22:26 -0700</date>
            <delta_ts>2012-05-11 11:32:04 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-86217-20120511122318.patch</filename>
            <type>text/plain</type>
            <size>9758</size>
            <attacher name="Shezan Baig">shezbaig.wk</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTE2NzYyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNDQ1ZmJhYWMxZGVlNjY0
ZmEwNDhjOTU4MTIzMDI1YzFiZmRhZWQwMS4uY2JmMWUzMDhiZjdjM2FiNTBkODEzMTI4OTFjMDI4
ODY1NzQ0ZDkzMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQxIEBACisyMDEyLTA1LTExICBTaGV6
YW4gQmFpZyAgPHNoZXpiYWlnLndrQGdtYWlsLmNvbT4KKworICAgICAgICBBZGQgaGVscGVyIGZ1
bmN0aW9uIGZvciBub2RlKCktPnJvb3RFZGl0YWJsZUVsZW1lbnQoKSA9PSBub2RlKCkKKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTg2MjE3CisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkZWQgTm9kZTo6aXNS
b290RWRpdGFibGVFbGVtZW50IGFuZCB1cGRhdGVkIGV4aXN0aW5nIGNvZGUgdGhhdCBkaWQKKyAg
ICAgICAgKG5vZGUtPnJvb3RFZGl0YWJsZUVsZW1lbnQoKSA9PSBub2RlKSB0byB1c2UgaXNSb290
RWRpdGFibGVFbGVtZW50CisgICAgICAgIGluc3RlYWQuCisKKyAgICAgICAgTm8gbmV3IHRlc3Rz
LiBObyBjaGFuZ2UgaW4gYmVoYXZpb3IuCisKKyAgICAgICAgKiBkb20vTm9kZS5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpOb2RlOjppc1Jvb3RFZGl0YWJsZUVsZW1lbnQpOgorICAgICAgICAoV2Vi
Q29yZSk6CisgICAgICAgICogZG9tL05vZGUuaDoKKyAgICAgICAgKE5vZGUpOgorICAgICAgICBB
ZGRlZCBuZXcgaGVscGVyIGZ1bmN0aW9uLgorCisgICAgICAgICogZG9tL0RvY3VtZW50LmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6OkRvY3VtZW50OjpzZXRGb2N1c2VkTm9kZSk6CisgICAgICAgICog
ZG9tL0VsZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RWxlbWVudDo6dXBkYXRlRm9jdXNB
cHBlYXJhbmNlKToKKyAgICAgICAgKiBlZGl0aW5nL0NvbXBvc2l0ZUVkaXRDb21tYW5kLmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6OkNvbXBvc2l0ZUVkaXRDb21tYW5kOjpjbG9uZVBhcmFncmFwaFVu
ZGVyTmV3RWxlbWVudCk6CisgICAgICAgICogZWRpdGluZy9EZWxldGVTZWxlY3Rpb25Db21tYW5k
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkRlbGV0ZVNlbGVjdGlvbkNvbW1hbmQ6OnJlbW92ZU5v
ZGUpOgorICAgICAgICAqIGVkaXRpbmcvSW5zZXJ0UGFyYWdyYXBoU2VwYXJhdG9yQ29tbWFuZC5j
cHA6CisgICAgICAgIChXZWJDb3JlOjpJbnNlcnRQYXJhZ3JhcGhTZXBhcmF0b3JDb21tYW5kOjpk
b0FwcGx5KToKKyAgICAgICAgKiBwYWdlL0ZvY3VzQ29udHJvbGxlci5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpGb2N1c0NvbnRyb2xsZXI6OnNldEZvY3VzZWROb2RlKToKKyAgICAgICAgKiByZW5k
ZXJpbmcvUmVuZGVyQmxvY2suY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyQmxvY2s6Omhh
c0xpbmVJZkVtcHR5KToKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyQmxvY2tMaW5lTGF5b3V0
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckJsb2NrOjphZGRPdmVyZmxvd0Zyb21Jbmxp
bmVDaGlsZHJlbik6CisgICAgICAgIFVwZGF0ZXMgdG8gZXhpc3RpbmcgY29kZSB0byB1c2UgdGhl
IG5ldyBoZWxwZXIgZnVuY3Rpb24uCisKIDIwMTItMDUtMTEgIEFsZXhhbmRlciBQYXZsb3YgIDxh
cGF2bG92QGNocm9taXVtLm9yZz4KIAogICAgICAgICBXZWIgSW5zcGVjdG9yOiBDYW4ndCB0eXBl
IHNwYWNlcyBpbiAiT3ZlcnJpZGUgVXNlciBBZ2VudCIgZmllbGQKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQu
Y3BwCmluZGV4IDA3ZDI2NmJhODlmYWY4NGY5OGQ3YmFiN2U1YzE3MWNiOWVlMWQ5MzQuLjQyM2Zj
OWYwOTNiYjE2NTFmNWQ3MDhmNzdkNmRjOWMyMDNjOTNiYzAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50
LmNwcApAQCAtMzY4OSw3ICszNjg5LDcgQEAgYm9vbCBEb2N1bWVudDo6c2V0Rm9jdXNlZE5vZGUo
UGFzc1JlZlB0cjxOb2RlPiBwcnBOZXdGb2N1c2VkTm9kZSkKICAgICAgICAgaWYgKG9sZEZvY3Vz
ZWROb2RlID09IHRoaXMgJiYgb2xkRm9jdXNlZE5vZGUtPmhhc09uZVJlZigpKQogICAgICAgICAg
ICAgcmV0dXJuIHRydWU7CiAgICAgICAgICAgICAKLSAgICAgICAgaWYgKG9sZEZvY3VzZWROb2Rl
ID09IG9sZEZvY3VzZWROb2RlLT5yb290RWRpdGFibGVFbGVtZW50KCkpCisgICAgICAgIGlmIChv
bGRGb2N1c2VkTm9kZS0+aXNSb290RWRpdGFibGVFbGVtZW50KCkpCiAgICAgICAgICAgICBmcmFt
ZSgpLT5lZGl0b3IoKS0+ZGlkRW5kRWRpdGluZygpOwogCiAgICAgICAgIGlmICh2aWV3KCkpIHsK
QEAgLTM3MDIsNyArMzcwMiw3IEBAIGJvb2wgRG9jdW1lbnQ6OnNldEZvY3VzZWROb2RlKFBhc3NS
ZWZQdHI8Tm9kZT4gcHJwTmV3Rm9jdXNlZE5vZGUpCiAgICAgfQogCiAgICAgaWYgKG5ld0ZvY3Vz
ZWROb2RlKSB7Ci0gICAgICAgIGlmIChuZXdGb2N1c2VkTm9kZSA9PSBuZXdGb2N1c2VkTm9kZS0+
cm9vdEVkaXRhYmxlRWxlbWVudCgpICYmICFhY2NlcHRzRWRpdGluZ0ZvY3VzKG5ld0ZvY3VzZWRO
b2RlLmdldCgpKSkgeworICAgICAgICBpZiAobmV3Rm9jdXNlZE5vZGUtPmlzUm9vdEVkaXRhYmxl
RWxlbWVudCgpICYmICFhY2NlcHRzRWRpdGluZ0ZvY3VzKG5ld0ZvY3VzZWROb2RlLmdldCgpKSkg
ewogICAgICAgICAgICAgLy8gZGVsZWdhdGUgYmxvY2tzIGZvY3VzIGNoYW5nZQogICAgICAgICAg
ICAgZm9jdXNDaGFuZ2VCbG9ja2VkID0gdHJ1ZTsKICAgICAgICAgICAgIGdvdG8gU2V0Rm9jdXNl
ZE5vZGVEb25lOwpAQCAtMzczOCw3ICszNzM4LDcgQEAgYm9vbCBEb2N1bWVudDo6c2V0Rm9jdXNl
ZE5vZGUoUGFzc1JlZlB0cjxOb2RlPiBwcnBOZXdGb2N1c2VkTm9kZSkKICAgICAgICAgfQogICAg
ICAgICBtX2ZvY3VzZWROb2RlLT5zZXRGb2N1cyh0cnVlKTsKIAotICAgICAgICBpZiAobV9mb2N1
c2VkTm9kZSA9PSBtX2ZvY3VzZWROb2RlLT5yb290RWRpdGFibGVFbGVtZW50KCkpCisgICAgICAg
IGlmIChtX2ZvY3VzZWROb2RlLT5pc1Jvb3RFZGl0YWJsZUVsZW1lbnQoKSkKICAgICAgICAgICAg
IGZyYW1lKCktPmVkaXRvcigpLT5kaWRCZWdpbkVkaXRpbmcoKTsKIAogICAgICAgICAvLyBld3cs
IEkgc3Vjay4gc2V0IHRoZSBxdCBmb2N1cyBjb3JyZWN0bHkKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL2RvbS9FbGVtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9FbGVtZW50LmNwcApp
bmRleCBjYzQ5MzkzZDhjNjdiNzg3NjMzNDc3ODY3OWI5NWI4YzJmMDBkNDc2Li4zY2I0MmM5ZGE0
ZjBjNWI3OGQ3ZmI5Zjk3NjM1YThkNTExM2RlYzczIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9kb20vRWxlbWVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL0VsZW1lbnQuY3BwCkBA
IC0xNTg4LDcgKzE1ODgsNyBAQCB2b2lkIEVsZW1lbnQ6OmZvY3VzKGJvb2wgcmVzdG9yZVByZXZp
b3VzU2VsZWN0aW9uKQogCiB2b2lkIEVsZW1lbnQ6OnVwZGF0ZUZvY3VzQXBwZWFyYW5jZShib29s
IC8qcmVzdG9yZVByZXZpb3VzU2VsZWN0aW9uKi8pCiB7Ci0gICAgaWYgKHRoaXMgPT0gcm9vdEVk
aXRhYmxlRWxlbWVudCgpKSB7IAorICAgIGlmIChpc1Jvb3RFZGl0YWJsZUVsZW1lbnQoKSkgewog
ICAgICAgICBGcmFtZSogZnJhbWUgPSBkb2N1bWVudCgpLT5mcmFtZSgpOwogICAgICAgICBpZiAo
IWZyYW1lKQogICAgICAgICAgICAgcmV0dXJuOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
ZG9tL05vZGUuY3BwIGIvU291cmNlL1dlYkNvcmUvZG9tL05vZGUuY3BwCmluZGV4IDM0NDVmZjVm
OWJmNTY5N2I1N2Q1NDg3NmU2Y2MzNzJmMmI2MDA3YmMuLjRlMTNlNjc3ZmIxY2M5OGM1MzI4MDJm
YmJmZTgzNTdjMzg3MmIyZDkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Ob2RlLmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vTm9kZS5jcHAKQEAgLTE1NjcsNiArMTU2NywxMSBA
QCBFbGVtZW50ICpOb2RlOjplbmNsb3NpbmdCbG9ja0Zsb3dFbGVtZW50KCkgY29uc3QKICAgICBy
ZXR1cm4gMDsKIH0KIAorYm9vbCBOb2RlOjppc1Jvb3RFZGl0YWJsZUVsZW1lbnQoKSBjb25zdAor
eworICAgIHJldHVybiByZW5kZXJlcklzRWRpdGFibGUoKSAmJiAoIXBhcmVudE5vZGUoKSB8fCAh
cGFyZW50Tm9kZSgpLT5yZW5kZXJlcklzRWRpdGFibGUoKSB8fCBoYXNUYWdOYW1lKGJvZHlUYWcp
KTsKK30KKwogRWxlbWVudCogTm9kZTo6cm9vdEVkaXRhYmxlRWxlbWVudChFZGl0YWJsZVR5cGUg
ZWRpdGFibGVUeXBlKSBjb25zdAogewogICAgIGlmIChlZGl0YWJsZVR5cGUgPT0gSGFzRWRpdGFi
bGVBWFJvbGUpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vTm9kZS5oIGIvU291cmNl
L1dlYkNvcmUvZG9tL05vZGUuaAppbmRleCAzMjhjMDI5YjA5ODFhZmQ0ZjZmN2RmY2IwMTcwY2E4
MzRiYWM5ZGM3Li4wNTQyNWQwZDBmMTAyYzRiMzZlZjVhMDg0NTkxZTg1NTg0YTY2MGIzIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vTm9kZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Rv
bS9Ob2RlLmgKQEAgLTI3MSw3ICsyNzEsOCBAQCBwdWJsaWM6CiAKICAgICAvLyBlbmNsb3NpbmdC
bG9ja0Zsb3dFbGVtZW50KCkgaXMgZGVwcmVjYXRlZC4gVXNlIGVuY2xvc2luZ0Jsb2NrIGluc3Rl
YWQuCiAgICAgRWxlbWVudCogZW5jbG9zaW5nQmxvY2tGbG93RWxlbWVudCgpIGNvbnN0OwotICAg
IAorCisgICAgYm9vbCBpc1Jvb3RFZGl0YWJsZUVsZW1lbnQoKSBjb25zdDsKICAgICBFbGVtZW50
KiByb290RWRpdGFibGVFbGVtZW50KCkgY29uc3Q7CiAgICAgRWxlbWVudCogcm9vdEVkaXRhYmxl
RWxlbWVudChFZGl0YWJsZVR5cGUpIGNvbnN0OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9lZGl0aW5nL0NvbXBvc2l0ZUVkaXRDb21tYW5kLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2VkaXRp
bmcvQ29tcG9zaXRlRWRpdENvbW1hbmQuY3BwCmluZGV4IDE3NDM3MTNiZjQxMzM5YzE2NmY2Yjk1
OGZmZWJlOTI5M2I4ZjNmZDMuLjVhOGE0NGU2ZjAyMTlmMWRmYjcwOWVjZTcxMWM3NzM4ODJjOTM4
ZWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvQ29tcG9zaXRlRWRpdENvbW1h
bmQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvQ29tcG9zaXRlRWRpdENvbW1hbmQu
Y3BwCkBAIC05NzEsNyArOTcxLDcgQEAgdm9pZCBDb21wb3NpdGVFZGl0Q29tbWFuZDo6Y2xvbmVQ
YXJhZ3JhcGhVbmRlck5ld0VsZW1lbnQoUG9zaXRpb24mIHN0YXJ0LCBQb3NpdGkKICAgICBSZWZQ
dHI8Tm9kZT4gbGFzdE5vZGU7CiAgICAgUmVmUHRyPE5vZGU+IG91dGVyTm9kZSA9IHBhc3NlZE91
dGVyTm9kZTsKIAotICAgIGlmIChvdXRlck5vZGUgPT0gb3V0ZXJOb2RlLT5yb290RWRpdGFibGVF
bGVtZW50KCkpIHsKKyAgICBpZiAob3V0ZXJOb2RlLT5pc1Jvb3RFZGl0YWJsZUVsZW1lbnQoKSkg
ewogICAgICAgICB0b3BOb2RlID0gYmxvY2tFbGVtZW50OwogICAgICAgICBsYXN0Tm9kZSA9IGJs
b2NrRWxlbWVudDsKICAgICB9IGVsc2UgewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZWRp
dGluZy9EZWxldGVTZWxlY3Rpb25Db21tYW5kLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcv
RGVsZXRlU2VsZWN0aW9uQ29tbWFuZC5jcHAKaW5kZXggNGIwNzM2M2Q2ZDA2YTliZWEwMGJmZTI5
Y2I5N2E0NjA4MTA4ZTljNC4uYTU5ZWQ2MTgyY2QyOTIwYWJhMjRlYmNjY2RhYTg3M2RlMTZiNTA5
ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZWRpdGluZy9EZWxldGVTZWxlY3Rpb25Db21t
YW5kLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL0RlbGV0ZVNlbGVjdGlvbkNvbW1h
bmQuY3BwCkBAIC0zNTIsNyArMzUyLDcgQEAgdm9pZCBEZWxldGVTZWxlY3Rpb25Db21tYW5kOjpy
ZW1vdmVOb2RlKFBhc3NSZWZQdHI8Tm9kZT4gbm9kZSkKICAgICAgICAgfQogICAgIH0KICAgICAK
LSAgICBpZiAoaXNUYWJsZVN0cnVjdHVyZU5vZGUobm9kZS5nZXQoKSkgfHwgbm9kZSA9PSBub2Rl
LT5yb290RWRpdGFibGVFbGVtZW50KCkpIHsKKyAgICBpZiAoaXNUYWJsZVN0cnVjdHVyZU5vZGUo
bm9kZS5nZXQoKSkgfHwgbm9kZS0+aXNSb290RWRpdGFibGVFbGVtZW50KCkpIHsKICAgICAgICAg
Ly8gRG8gbm90IHJlbW92ZSBhbiBlbGVtZW50IG9mIHRhYmxlIHN0cnVjdHVyZTsgcmVtb3ZlIGl0
cyBjb250ZW50cy4KICAgICAgICAgLy8gTGlrZXdpc2UgZm9yIHRoZSByb290IGVkaXRhYmxlIGVs
ZW1lbnQuCiAgICAgICAgIE5vZGUqIGNoaWxkID0gbm9kZS0+Zmlyc3RDaGlsZCgpOwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvZWRpdGluZy9JbnNlcnRQYXJhZ3JhcGhTZXBhcmF0b3JDb21t
YW5kLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvSW5zZXJ0UGFyYWdyYXBoU2VwYXJhdG9y
Q29tbWFuZC5jcHAKaW5kZXggNjUzMWJmMzY3YjNlZjIwNTE5ZmM1ODJhYTNlNzc2NGE1NDg5Mjc5
Mi4uMmQ2Mjg4NzNlMDNjYmQ2OTdiMTk1NjQ1NTIyNDFiMDlmNjk0YmYyMiAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvZWRpdGluZy9JbnNlcnRQYXJhZ3JhcGhTZXBhcmF0b3JDb21tYW5kLmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL0luc2VydFBhcmFncmFwaFNlcGFyYXRvckNv
bW1hbmQuY3BwCkBAIC0yMDEsNyArMjAxLDcgQEAgdm9pZCBJbnNlcnRQYXJhZ3JhcGhTZXBhcmF0
b3JDb21tYW5kOjpkb0FwcGx5KCkKIAogICAgIC8vIENyZWF0ZSBibG9jayB0byBiZSBpbnNlcnRl
ZC4KICAgICBSZWZQdHI8RWxlbWVudD4gYmxvY2tUb0luc2VydDsKLSAgICBpZiAoc3RhcnRCbG9j
ayA9PSBzdGFydEJsb2NrLT5yb290RWRpdGFibGVFbGVtZW50KCkpIHsKKyAgICBpZiAoc3RhcnRC
bG9jay0+aXNSb290RWRpdGFibGVFbGVtZW50KCkpIHsKICAgICAgICAgYmxvY2tUb0luc2VydCA9
IGNyZWF0ZURlZmF1bHRQYXJhZ3JhcGhFbGVtZW50KGRvY3VtZW50KCkpOwogICAgICAgICBuZXN0
TmV3QmxvY2sgPSB0cnVlOwogICAgIH0gZWxzZSBpZiAoc2hvdWxkVXNlRGVmYXVsdFBhcmFncmFw
aEVsZW1lbnQoc3RhcnRCbG9jay5nZXQoKSkpIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
cGFnZS9Gb2N1c0NvbnRyb2xsZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvcGFnZS9Gb2N1c0NvbnRy
b2xsZXIuY3BwCmluZGV4IDQxZjk3OTUyMzk2MDhjYTNkNTUwOGI0MGRlYzNlNjM1MGRhOWIzNjIu
LjM3ZTk3ZGY2ZGViOTVkYzZlMzlkMDc4MTc1ZTIwMjQxNTUyODdiNGIgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3BhZ2UvRm9jdXNDb250cm9sbGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9wYWdlL0ZvY3VzQ29udHJvbGxlci5jcHAKQEAgLTYxMSw3ICs2MTEsNyBAQCBib29sIEZvY3Vz
Q29udHJvbGxlcjo6c2V0Rm9jdXNlZE5vZGUoTm9kZSogbm9kZSwgUGFzc1JlZlB0cjxGcmFtZT4g
bmV3Rm9jdXNlZEZyYQogICAgICAgICByZXR1cm4gdHJ1ZTsKIAogICAgIC8vIEZJWE1FOiBNaWdo
dCB3YW50IHRvIGRpc2FibGUgdGhpcyBjaGVjayBmb3IgY2FyZXRCcm93c2luZwotICAgIGlmIChv
bGRGb2N1c2VkTm9kZSAmJiBvbGRGb2N1c2VkTm9kZS0+cm9vdEVkaXRhYmxlRWxlbWVudCgpID09
IG9sZEZvY3VzZWROb2RlICYmICFyZWxpbnF1aXNoZXNFZGl0aW5nRm9jdXMob2xkRm9jdXNlZE5v
ZGUpKQorICAgIGlmIChvbGRGb2N1c2VkTm9kZSAmJiBvbGRGb2N1c2VkTm9kZS0+aXNSb290RWRp
dGFibGVFbGVtZW50KCkgJiYgIXJlbGlucXVpc2hlc0VkaXRpbmdGb2N1cyhvbGRGb2N1c2VkTm9k
ZSkpCiAgICAgICAgIHJldHVybiBmYWxzZTsKIAogICAgIG1fcGFnZS0+ZWRpdG9yQ2xpZW50KCkt
PndpbGxTZXRJbnB1dE1ldGhvZFN0YXRlKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvUmVuZGVyQmxvY2suY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRl
ckJsb2NrLmNwcAppbmRleCA0YzI4OTllMGY2NzliMzQyZTEzZjBjYTc3ZTBiNzgzNjdmYTM5YjU3
Li40ZTg4NjQ4ODdkZDk0YjNjYTY5MTExY2QxZTQ2NzhjZTVkYWZkYjhjIDEwMDc1NQotLS0gYS9T
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQmxvY2suY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9SZW5kZXJCbG9jay5jcHAKQEAgLTU3MDEsNyArNTcwMSw3IEBAIGJvb2wg
UmVuZGVyQmxvY2s6Omhhc0xpbmVJZkVtcHR5KCkgY29uc3QKICAgICBpZiAoIW5vZGUoKSkKICAg
ICAgICAgcmV0dXJuIGZhbHNlOwogICAgIAotICAgIGlmIChub2RlKCktPnJlbmRlcmVySXNFZGl0
YWJsZSgpICYmIG5vZGUoKS0+cm9vdEVkaXRhYmxlRWxlbWVudCgpID09IG5vZGUoKSkKKyAgICBp
ZiAobm9kZSgpLT5pc1Jvb3RFZGl0YWJsZUVsZW1lbnQoKSkKICAgICAgICAgcmV0dXJuIHRydWU7
CiAgICAgCiAgICAgaWYgKG5vZGUoKS0+aXNTaGFkb3dSb290KCkgJiYgKG5vZGUoKS0+c2hhZG93
SG9zdCgpLT5oYXNUYWdOYW1lKGlucHV0VGFnKSkpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvUmVuZGVyQmxvY2tMaW5lTGF5b3V0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9SZW5kZXJCbG9ja0xpbmVMYXlvdXQuY3BwCmluZGV4IDM2MmQzMWZjNzMyY2NlODlm
MTE5ZWNhMzM4YjZlMWI0MmEwZjUzNjIuLjkyMmU3MmZhNWYyYTgwN2YzYWM2MDA1ZDdkYWIzNWRl
ZDQ3ZmRkMzkgMTAwNzU1Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCbG9j
a0xpbmVMYXlvdXQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCbG9j
a0xpbmVMYXlvdXQuY3BwCkBAIC0yNjY4LDcgKzI2NjgsNyBAQCB2b2lkIFJlbmRlckJsb2NrOjph
ZGRPdmVyZmxvd0Zyb21JbmxpbmVDaGlsZHJlbigpCiB7CiAgICAgTGF5b3V0VW5pdCBlbmRQYWRk
aW5nID0gaGFzT3ZlcmZsb3dDbGlwKCkgPyBwYWRkaW5nRW5kKCkgOiBaRVJPX0xBWU9VVF9VTklU
OwogICAgIC8vIEZJWE1FOiBOZWVkIHRvIGZpbmQgYW5vdGhlciB3YXkgdG8gZG8gdGhpcywgc2lu
Y2Ugc2Nyb2xsYmFycyBjb3VsZCBzaG93IHdoZW4gd2UgZG9uJ3Qgd2FudCB0aGVtIHRvLgotICAg
IGlmIChoYXNPdmVyZmxvd0NsaXAoKSAmJiAhZW5kUGFkZGluZyAmJiBub2RlKCkgJiYgbm9kZSgp
LT5yZW5kZXJlcklzRWRpdGFibGUoKSAmJiBub2RlKCkgPT0gbm9kZSgpLT5yb290RWRpdGFibGVF
bGVtZW50KCkgJiYgc3R5bGUoKS0+aXNMZWZ0VG9SaWdodERpcmVjdGlvbigpKQorICAgIGlmICho
YXNPdmVyZmxvd0NsaXAoKSAmJiAhZW5kUGFkZGluZyAmJiBub2RlKCkgJiYgbm9kZSgpLT5pc1Jv
b3RFZGl0YWJsZUVsZW1lbnQoKSAmJiBzdHlsZSgpLT5pc0xlZnRUb1JpZ2h0RGlyZWN0aW9uKCkp
CiAgICAgICAgIGVuZFBhZGRpbmcgPSAxOwogICAgIGZvciAoUm9vdElubGluZUJveCogY3VyciA9
IGZpcnN0Um9vdEJveCgpOyBjdXJyOyBjdXJyID0gY3Vyci0+bmV4dFJvb3RCb3goKSkgewogICAg
ICAgICBhZGRMYXlvdXRPdmVyZmxvdyhjdXJyLT5wYWRkZWRMYXlvdXRPdmVyZmxvd1JlY3QoZW5k
UGFkZGluZykpOwo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>141459</attachid>
            <date>2012-05-11 11:33:00 -0700</date>
            <delta_ts>2012-05-11 13:08:27 -0700</delta_ts>
            <desc>Patch (added isElementNode to the condition)</desc>
            <filename>bug-86217-20120511143354.patch</filename>
            <type>text/plain</type>
            <size>9777</size>
            <attacher name="Shezan Baig">shezbaig.wk</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTE2NzYyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNDQ1ZmJhYWMxZGVlNjY0
ZmEwNDhjOTU4MTIzMDI1YzFiZmRhZWQwMS4uY2JmMWUzMDhiZjdjM2FiNTBkODEzMTI4OTFjMDI4
ODY1NzQ0ZDkzMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQxIEBACisyMDEyLTA1LTExICBTaGV6
YW4gQmFpZyAgPHNoZXpiYWlnLndrQGdtYWlsLmNvbT4KKworICAgICAgICBBZGQgaGVscGVyIGZ1
bmN0aW9uIGZvciBub2RlKCktPnJvb3RFZGl0YWJsZUVsZW1lbnQoKSA9PSBub2RlKCkKKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTg2MjE3CisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkZWQgTm9kZTo6aXNS
b290RWRpdGFibGVFbGVtZW50IGFuZCB1cGRhdGVkIGV4aXN0aW5nIGNvZGUgdGhhdCBkaWQKKyAg
ICAgICAgKG5vZGUtPnJvb3RFZGl0YWJsZUVsZW1lbnQoKSA9PSBub2RlKSB0byB1c2UgaXNSb290
RWRpdGFibGVFbGVtZW50CisgICAgICAgIGluc3RlYWQuCisKKyAgICAgICAgTm8gbmV3IHRlc3Rz
LiBObyBjaGFuZ2UgaW4gYmVoYXZpb3IuCisKKyAgICAgICAgKiBkb20vTm9kZS5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpOb2RlOjppc1Jvb3RFZGl0YWJsZUVsZW1lbnQpOgorICAgICAgICAoV2Vi
Q29yZSk6CisgICAgICAgICogZG9tL05vZGUuaDoKKyAgICAgICAgKE5vZGUpOgorICAgICAgICBB
ZGRlZCBuZXcgaGVscGVyIGZ1bmN0aW9uLgorCisgICAgICAgICogZG9tL0RvY3VtZW50LmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6OkRvY3VtZW50OjpzZXRGb2N1c2VkTm9kZSk6CisgICAgICAgICog
ZG9tL0VsZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RWxlbWVudDo6dXBkYXRlRm9jdXNB
cHBlYXJhbmNlKToKKyAgICAgICAgKiBlZGl0aW5nL0NvbXBvc2l0ZUVkaXRDb21tYW5kLmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6OkNvbXBvc2l0ZUVkaXRDb21tYW5kOjpjbG9uZVBhcmFncmFwaFVu
ZGVyTmV3RWxlbWVudCk6CisgICAgICAgICogZWRpdGluZy9EZWxldGVTZWxlY3Rpb25Db21tYW5k
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkRlbGV0ZVNlbGVjdGlvbkNvbW1hbmQ6OnJlbW92ZU5v
ZGUpOgorICAgICAgICAqIGVkaXRpbmcvSW5zZXJ0UGFyYWdyYXBoU2VwYXJhdG9yQ29tbWFuZC5j
cHA6CisgICAgICAgIChXZWJDb3JlOjpJbnNlcnRQYXJhZ3JhcGhTZXBhcmF0b3JDb21tYW5kOjpk
b0FwcGx5KToKKyAgICAgICAgKiBwYWdlL0ZvY3VzQ29udHJvbGxlci5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpGb2N1c0NvbnRyb2xsZXI6OnNldEZvY3VzZWROb2RlKToKKyAgICAgICAgKiByZW5k
ZXJpbmcvUmVuZGVyQmxvY2suY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyQmxvY2s6Omhh
c0xpbmVJZkVtcHR5KToKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyQmxvY2tMaW5lTGF5b3V0
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckJsb2NrOjphZGRPdmVyZmxvd0Zyb21Jbmxp
bmVDaGlsZHJlbik6CisgICAgICAgIFVwZGF0ZXMgdG8gZXhpc3RpbmcgY29kZSB0byB1c2UgdGhl
IG5ldyBoZWxwZXIgZnVuY3Rpb24uCisKIDIwMTItMDUtMTEgIEFsZXhhbmRlciBQYXZsb3YgIDxh
cGF2bG92QGNocm9taXVtLm9yZz4KIAogICAgICAgICBXZWIgSW5zcGVjdG9yOiBDYW4ndCB0eXBl
IHNwYWNlcyBpbiAiT3ZlcnJpZGUgVXNlciBBZ2VudCIgZmllbGQKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQu
Y3BwCmluZGV4IDA3ZDI2NmJhODlmYWY4NGY5OGQ3YmFiN2U1YzE3MWNiOWVlMWQ5MzQuLjQyM2Zj
OWYwOTNiYjE2NTFmNWQ3MDhmNzdkNmRjOWMyMDNjOTNiYzAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50
LmNwcApAQCAtMzY4OSw3ICszNjg5LDcgQEAgYm9vbCBEb2N1bWVudDo6c2V0Rm9jdXNlZE5vZGUo
UGFzc1JlZlB0cjxOb2RlPiBwcnBOZXdGb2N1c2VkTm9kZSkKICAgICAgICAgaWYgKG9sZEZvY3Vz
ZWROb2RlID09IHRoaXMgJiYgb2xkRm9jdXNlZE5vZGUtPmhhc09uZVJlZigpKQogICAgICAgICAg
ICAgcmV0dXJuIHRydWU7CiAgICAgICAgICAgICAKLSAgICAgICAgaWYgKG9sZEZvY3VzZWROb2Rl
ID09IG9sZEZvY3VzZWROb2RlLT5yb290RWRpdGFibGVFbGVtZW50KCkpCisgICAgICAgIGlmIChv
bGRGb2N1c2VkTm9kZS0+aXNSb290RWRpdGFibGVFbGVtZW50KCkpCiAgICAgICAgICAgICBmcmFt
ZSgpLT5lZGl0b3IoKS0+ZGlkRW5kRWRpdGluZygpOwogCiAgICAgICAgIGlmICh2aWV3KCkpIHsK
QEAgLTM3MDIsNyArMzcwMiw3IEBAIGJvb2wgRG9jdW1lbnQ6OnNldEZvY3VzZWROb2RlKFBhc3NS
ZWZQdHI8Tm9kZT4gcHJwTmV3Rm9jdXNlZE5vZGUpCiAgICAgfQogCiAgICAgaWYgKG5ld0ZvY3Vz
ZWROb2RlKSB7Ci0gICAgICAgIGlmIChuZXdGb2N1c2VkTm9kZSA9PSBuZXdGb2N1c2VkTm9kZS0+
cm9vdEVkaXRhYmxlRWxlbWVudCgpICYmICFhY2NlcHRzRWRpdGluZ0ZvY3VzKG5ld0ZvY3VzZWRO
b2RlLmdldCgpKSkgeworICAgICAgICBpZiAobmV3Rm9jdXNlZE5vZGUtPmlzUm9vdEVkaXRhYmxl
RWxlbWVudCgpICYmICFhY2NlcHRzRWRpdGluZ0ZvY3VzKG5ld0ZvY3VzZWROb2RlLmdldCgpKSkg
ewogICAgICAgICAgICAgLy8gZGVsZWdhdGUgYmxvY2tzIGZvY3VzIGNoYW5nZQogICAgICAgICAg
ICAgZm9jdXNDaGFuZ2VCbG9ja2VkID0gdHJ1ZTsKICAgICAgICAgICAgIGdvdG8gU2V0Rm9jdXNl
ZE5vZGVEb25lOwpAQCAtMzczOCw3ICszNzM4LDcgQEAgYm9vbCBEb2N1bWVudDo6c2V0Rm9jdXNl
ZE5vZGUoUGFzc1JlZlB0cjxOb2RlPiBwcnBOZXdGb2N1c2VkTm9kZSkKICAgICAgICAgfQogICAg
ICAgICBtX2ZvY3VzZWROb2RlLT5zZXRGb2N1cyh0cnVlKTsKIAotICAgICAgICBpZiAobV9mb2N1
c2VkTm9kZSA9PSBtX2ZvY3VzZWROb2RlLT5yb290RWRpdGFibGVFbGVtZW50KCkpCisgICAgICAg
IGlmIChtX2ZvY3VzZWROb2RlLT5pc1Jvb3RFZGl0YWJsZUVsZW1lbnQoKSkKICAgICAgICAgICAg
IGZyYW1lKCktPmVkaXRvcigpLT5kaWRCZWdpbkVkaXRpbmcoKTsKIAogICAgICAgICAvLyBld3cs
IEkgc3Vjay4gc2V0IHRoZSBxdCBmb2N1cyBjb3JyZWN0bHkKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL2RvbS9FbGVtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9FbGVtZW50LmNwcApp
bmRleCBjYzQ5MzkzZDhjNjdiNzg3NjMzNDc3ODY3OWI5NWI4YzJmMDBkNDc2Li4zY2I0MmM5ZGE0
ZjBjNWI3OGQ3ZmI5Zjk3NjM1YThkNTExM2RlYzczIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9kb20vRWxlbWVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL0VsZW1lbnQuY3BwCkBA
IC0xNTg4LDcgKzE1ODgsNyBAQCB2b2lkIEVsZW1lbnQ6OmZvY3VzKGJvb2wgcmVzdG9yZVByZXZp
b3VzU2VsZWN0aW9uKQogCiB2b2lkIEVsZW1lbnQ6OnVwZGF0ZUZvY3VzQXBwZWFyYW5jZShib29s
IC8qcmVzdG9yZVByZXZpb3VzU2VsZWN0aW9uKi8pCiB7Ci0gICAgaWYgKHRoaXMgPT0gcm9vdEVk
aXRhYmxlRWxlbWVudCgpKSB7IAorICAgIGlmIChpc1Jvb3RFZGl0YWJsZUVsZW1lbnQoKSkgewog
ICAgICAgICBGcmFtZSogZnJhbWUgPSBkb2N1bWVudCgpLT5mcmFtZSgpOwogICAgICAgICBpZiAo
IWZyYW1lKQogICAgICAgICAgICAgcmV0dXJuOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
ZG9tL05vZGUuY3BwIGIvU291cmNlL1dlYkNvcmUvZG9tL05vZGUuY3BwCmluZGV4IDM0NDVmZjVm
OWJmNTY5N2I1N2Q1NDg3NmU2Y2MzNzJmMmI2MDA3YmMuLjVlZmQ2ZjM3YWZiMDdhNzM0M2QyZjAx
MjRlZWZkNDc4ZDU1ZmFkMGUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Ob2RlLmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vTm9kZS5jcHAKQEAgLTE1NjcsNiArMTU2NywxMSBA
QCBFbGVtZW50ICpOb2RlOjplbmNsb3NpbmdCbG9ja0Zsb3dFbGVtZW50KCkgY29uc3QKICAgICBy
ZXR1cm4gMDsKIH0KIAorYm9vbCBOb2RlOjppc1Jvb3RFZGl0YWJsZUVsZW1lbnQoKSBjb25zdAor
eworICAgIHJldHVybiByZW5kZXJlcklzRWRpdGFibGUoKSAmJiBpc0VsZW1lbnROb2RlKCkgJiYg
KCFwYXJlbnROb2RlKCkgfHwgIXBhcmVudE5vZGUoKS0+cmVuZGVyZXJJc0VkaXRhYmxlKCkgfHwg
aGFzVGFnTmFtZShib2R5VGFnKSk7Cit9CisKIEVsZW1lbnQqIE5vZGU6OnJvb3RFZGl0YWJsZUVs
ZW1lbnQoRWRpdGFibGVUeXBlIGVkaXRhYmxlVHlwZSkgY29uc3QKIHsKICAgICBpZiAoZWRpdGFi
bGVUeXBlID09IEhhc0VkaXRhYmxlQVhSb2xlKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
ZG9tL05vZGUuaCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Ob2RlLmgKaW5kZXggMzI4YzAyOWIwOTgx
YWZkNGY2ZjdkZmNiMDE3MGNhODM0YmFjOWRjNy4uMDU0MjVkMGQwZjEwMmM0YjM2ZWY1YTA4NDU5
MWU4NTU4NGE2NjBiMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL05vZGUuaAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9kb20vTm9kZS5oCkBAIC0yNzEsNyArMjcxLDggQEAgcHVibGljOgog
CiAgICAgLy8gZW5jbG9zaW5nQmxvY2tGbG93RWxlbWVudCgpIGlzIGRlcHJlY2F0ZWQuIFVzZSBl
bmNsb3NpbmdCbG9jayBpbnN0ZWFkLgogICAgIEVsZW1lbnQqIGVuY2xvc2luZ0Jsb2NrRmxvd0Vs
ZW1lbnQoKSBjb25zdDsKLSAgICAKKworICAgIGJvb2wgaXNSb290RWRpdGFibGVFbGVtZW50KCkg
Y29uc3Q7CiAgICAgRWxlbWVudCogcm9vdEVkaXRhYmxlRWxlbWVudCgpIGNvbnN0OwogICAgIEVs
ZW1lbnQqIHJvb3RFZGl0YWJsZUVsZW1lbnQoRWRpdGFibGVUeXBlKSBjb25zdDsKIApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvZWRpdGluZy9Db21wb3NpdGVFZGl0Q29tbWFuZC5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9lZGl0aW5nL0NvbXBvc2l0ZUVkaXRDb21tYW5kLmNwcAppbmRleCAxNzQz
NzEzYmY0MTMzOWMxNjZmNmI5NThmZmViZTkyOTNiOGYzZmQzLi41YThhNDRlNmYwMjE5ZjFkZmI3
MDllY2U3MTFjNzczODgyYzkzOGVmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5n
L0NvbXBvc2l0ZUVkaXRDb21tYW5kLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL0Nv
bXBvc2l0ZUVkaXRDb21tYW5kLmNwcApAQCAtOTcxLDcgKzk3MSw3IEBAIHZvaWQgQ29tcG9zaXRl
RWRpdENvbW1hbmQ6OmNsb25lUGFyYWdyYXBoVW5kZXJOZXdFbGVtZW50KFBvc2l0aW9uJiBzdGFy
dCwgUG9zaXRpCiAgICAgUmVmUHRyPE5vZGU+IGxhc3ROb2RlOwogICAgIFJlZlB0cjxOb2RlPiBv
dXRlck5vZGUgPSBwYXNzZWRPdXRlck5vZGU7CiAKLSAgICBpZiAob3V0ZXJOb2RlID09IG91dGVy
Tm9kZS0+cm9vdEVkaXRhYmxlRWxlbWVudCgpKSB7CisgICAgaWYgKG91dGVyTm9kZS0+aXNSb290
RWRpdGFibGVFbGVtZW50KCkpIHsKICAgICAgICAgdG9wTm9kZSA9IGJsb2NrRWxlbWVudDsKICAg
ICAgICAgbGFzdE5vZGUgPSBibG9ja0VsZW1lbnQ7CiAgICAgfSBlbHNlIHsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvRGVsZXRlU2VsZWN0aW9uQ29tbWFuZC5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9lZGl0aW5nL0RlbGV0ZVNlbGVjdGlvbkNvbW1hbmQuY3BwCmluZGV4IDRiMDcz
NjNkNmQwNmE5YmVhMDBiZmUyOWNiOTdhNDYwODEwOGU5YzQuLmE1OWVkNjE4MmNkMjkyMGFiYTI0
ZWJjY2NkYWE4NzNkZTE2YjUwOWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcv
RGVsZXRlU2VsZWN0aW9uQ29tbWFuZC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvZWRpdGluZy9E
ZWxldGVTZWxlY3Rpb25Db21tYW5kLmNwcApAQCAtMzUyLDcgKzM1Miw3IEBAIHZvaWQgRGVsZXRl
U2VsZWN0aW9uQ29tbWFuZDo6cmVtb3ZlTm9kZShQYXNzUmVmUHRyPE5vZGU+IG5vZGUpCiAgICAg
ICAgIH0KICAgICB9CiAgICAgCi0gICAgaWYgKGlzVGFibGVTdHJ1Y3R1cmVOb2RlKG5vZGUuZ2V0
KCkpIHx8IG5vZGUgPT0gbm9kZS0+cm9vdEVkaXRhYmxlRWxlbWVudCgpKSB7CisgICAgaWYgKGlz
VGFibGVTdHJ1Y3R1cmVOb2RlKG5vZGUuZ2V0KCkpIHx8IG5vZGUtPmlzUm9vdEVkaXRhYmxlRWxl
bWVudCgpKSB7CiAgICAgICAgIC8vIERvIG5vdCByZW1vdmUgYW4gZWxlbWVudCBvZiB0YWJsZSBz
dHJ1Y3R1cmU7IHJlbW92ZSBpdHMgY29udGVudHMuCiAgICAgICAgIC8vIExpa2V3aXNlIGZvciB0
aGUgcm9vdCBlZGl0YWJsZSBlbGVtZW50LgogICAgICAgICBOb2RlKiBjaGlsZCA9IG5vZGUtPmZp
cnN0Q2hpbGQoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvSW5zZXJ0UGFy
YWdyYXBoU2VwYXJhdG9yQ29tbWFuZC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL0luc2Vy
dFBhcmFncmFwaFNlcGFyYXRvckNvbW1hbmQuY3BwCmluZGV4IDY1MzFiZjM2N2IzZWYyMDUxOWZj
NTgyYWEzZTc3NjRhNTQ4OTI3OTIuLjJkNjI4ODczZTAzY2JkNjk3YjE5NTY0NTUyMjQxYjA5ZjY5
NGJmMjIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvSW5zZXJ0UGFyYWdyYXBo
U2VwYXJhdG9yQ29tbWFuZC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvZWRpdGluZy9JbnNlcnRQ
YXJhZ3JhcGhTZXBhcmF0b3JDb21tYW5kLmNwcApAQCAtMjAxLDcgKzIwMSw3IEBAIHZvaWQgSW5z
ZXJ0UGFyYWdyYXBoU2VwYXJhdG9yQ29tbWFuZDo6ZG9BcHBseSgpCiAKICAgICAvLyBDcmVhdGUg
YmxvY2sgdG8gYmUgaW5zZXJ0ZWQuCiAgICAgUmVmUHRyPEVsZW1lbnQ+IGJsb2NrVG9JbnNlcnQ7
Ci0gICAgaWYgKHN0YXJ0QmxvY2sgPT0gc3RhcnRCbG9jay0+cm9vdEVkaXRhYmxlRWxlbWVudCgp
KSB7CisgICAgaWYgKHN0YXJ0QmxvY2stPmlzUm9vdEVkaXRhYmxlRWxlbWVudCgpKSB7CiAgICAg
ICAgIGJsb2NrVG9JbnNlcnQgPSBjcmVhdGVEZWZhdWx0UGFyYWdyYXBoRWxlbWVudChkb2N1bWVu
dCgpKTsKICAgICAgICAgbmVzdE5ld0Jsb2NrID0gdHJ1ZTsKICAgICB9IGVsc2UgaWYgKHNob3Vs
ZFVzZURlZmF1bHRQYXJhZ3JhcGhFbGVtZW50KHN0YXJ0QmxvY2suZ2V0KCkpKSAKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRm9jdXNDb250cm9sbGVyLmNwcCBiL1NvdXJjZS9XZWJD
b3JlL3BhZ2UvRm9jdXNDb250cm9sbGVyLmNwcAppbmRleCA0MWY5Nzk1MjM5NjA4Y2EzZDU1MDhi
NDBkZWMzZTYzNTBkYTliMzYyLi4zN2U5N2RmNmRlYjk1ZGM2ZTM5ZDA3ODE3NWUyMDI0MTU1Mjg3
YjRiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0ZvY3VzQ29udHJvbGxlci5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9Gb2N1c0NvbnRyb2xsZXIuY3BwCkBAIC02MTEsNyAr
NjExLDcgQEAgYm9vbCBGb2N1c0NvbnRyb2xsZXI6OnNldEZvY3VzZWROb2RlKE5vZGUqIG5vZGUs
IFBhc3NSZWZQdHI8RnJhbWU+IG5ld0ZvY3VzZWRGcmEKICAgICAgICAgcmV0dXJuIHRydWU7CiAK
ICAgICAvLyBGSVhNRTogTWlnaHQgd2FudCB0byBkaXNhYmxlIHRoaXMgY2hlY2sgZm9yIGNhcmV0
QnJvd3NpbmcKLSAgICBpZiAob2xkRm9jdXNlZE5vZGUgJiYgb2xkRm9jdXNlZE5vZGUtPnJvb3RF
ZGl0YWJsZUVsZW1lbnQoKSA9PSBvbGRGb2N1c2VkTm9kZSAmJiAhcmVsaW5xdWlzaGVzRWRpdGlu
Z0ZvY3VzKG9sZEZvY3VzZWROb2RlKSkKKyAgICBpZiAob2xkRm9jdXNlZE5vZGUgJiYgb2xkRm9j
dXNlZE5vZGUtPmlzUm9vdEVkaXRhYmxlRWxlbWVudCgpICYmICFyZWxpbnF1aXNoZXNFZGl0aW5n
Rm9jdXMob2xkRm9jdXNlZE5vZGUpKQogICAgICAgICByZXR1cm4gZmFsc2U7CiAKICAgICBtX3Bh
Z2UtPmVkaXRvckNsaWVudCgpLT53aWxsU2V0SW5wdXRNZXRob2RTdGF0ZSgpOwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJsb2NrLmNwcCBiL1NvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9SZW5kZXJCbG9jay5jcHAKaW5kZXggNGMyODk5ZTBmNjc5YjM0MmUxM2Yw
Y2E3N2UwYjc4MzY3ZmEzOWI1Ny4uNGU4ODY0ODg3ZGQ5NGIzY2E2OTExMWNkMWU0Njc4Y2U1ZGFm
ZGI4YyAxMDA3NTUKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJsb2NrLmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQmxvY2suY3BwCkBAIC01NzAx
LDcgKzU3MDEsNyBAQCBib29sIFJlbmRlckJsb2NrOjpoYXNMaW5lSWZFbXB0eSgpIGNvbnN0CiAg
ICAgaWYgKCFub2RlKCkpCiAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICAKLSAgICBpZiAobm9k
ZSgpLT5yZW5kZXJlcklzRWRpdGFibGUoKSAmJiBub2RlKCktPnJvb3RFZGl0YWJsZUVsZW1lbnQo
KSA9PSBub2RlKCkpCisgICAgaWYgKG5vZGUoKS0+aXNSb290RWRpdGFibGVFbGVtZW50KCkpCiAg
ICAgICAgIHJldHVybiB0cnVlOwogICAgIAogICAgIGlmIChub2RlKCktPmlzU2hhZG93Um9vdCgp
ICYmIChub2RlKCktPnNoYWRvd0hvc3QoKS0+aGFzVGFnTmFtZShpbnB1dFRhZykpKQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJsb2NrTGluZUxheW91dC5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQmxvY2tMaW5lTGF5b3V0LmNwcAppbmRl
eCAzNjJkMzFmYzczMmNjZTg5ZjExOWVjYTMzOGI2ZTFiNDJhMGY1MzYyLi45MjJlNzJmYTVmMmE4
MDdmM2FjNjAwNWQ3ZGFiMzVkZWQ0N2ZkZDM5IDEwMDc1NQotLS0gYS9Tb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvUmVuZGVyQmxvY2tMaW5lTGF5b3V0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvUmVuZGVyQmxvY2tMaW5lTGF5b3V0LmNwcApAQCAtMjY2OCw3ICsyNjY4LDcgQEAg
dm9pZCBSZW5kZXJCbG9jazo6YWRkT3ZlcmZsb3dGcm9tSW5saW5lQ2hpbGRyZW4oKQogewogICAg
IExheW91dFVuaXQgZW5kUGFkZGluZyA9IGhhc092ZXJmbG93Q2xpcCgpID8gcGFkZGluZ0VuZCgp
IDogWkVST19MQVlPVVRfVU5JVDsKICAgICAvLyBGSVhNRTogTmVlZCB0byBmaW5kIGFub3RoZXIg
d2F5IHRvIGRvIHRoaXMsIHNpbmNlIHNjcm9sbGJhcnMgY291bGQgc2hvdyB3aGVuIHdlIGRvbid0
IHdhbnQgdGhlbSB0by4KLSAgICBpZiAoaGFzT3ZlcmZsb3dDbGlwKCkgJiYgIWVuZFBhZGRpbmcg
JiYgbm9kZSgpICYmIG5vZGUoKS0+cmVuZGVyZXJJc0VkaXRhYmxlKCkgJiYgbm9kZSgpID09IG5v
ZGUoKS0+cm9vdEVkaXRhYmxlRWxlbWVudCgpICYmIHN0eWxlKCktPmlzTGVmdFRvUmlnaHREaXJl
Y3Rpb24oKSkKKyAgICBpZiAoaGFzT3ZlcmZsb3dDbGlwKCkgJiYgIWVuZFBhZGRpbmcgJiYgbm9k
ZSgpICYmIG5vZGUoKS0+aXNSb290RWRpdGFibGVFbGVtZW50KCkgJiYgc3R5bGUoKS0+aXNMZWZ0
VG9SaWdodERpcmVjdGlvbigpKQogICAgICAgICBlbmRQYWRkaW5nID0gMTsKICAgICBmb3IgKFJv
b3RJbmxpbmVCb3gqIGN1cnIgPSBmaXJzdFJvb3RCb3goKTsgY3VycjsgY3VyciA9IGN1cnItPm5l
eHRSb290Qm94KCkpIHsKICAgICAgICAgYWRkTGF5b3V0T3ZlcmZsb3coY3Vyci0+cGFkZGVkTGF5
b3V0T3ZlcmZsb3dSZWN0KGVuZFBhZGRpbmcpKTsK
</data>

          </attachment>
      

    </bug>

</bugzilla>